mirror of
https://github.com/2dust/v2rayN.git
synced 2026-01-19 09:09:43 +05:00
Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a45a1dc982 | ||
|
|
fe183798b6 | ||
|
|
947c84cf10 |
@@ -214,9 +214,10 @@ public class ActionPrecheckManager
|
||||
return errors;
|
||||
}
|
||||
|
||||
var childIds = Utils.String2List(group.ChildItems) ?? [];
|
||||
var childIds = new List<string>();
|
||||
var subItems = await ProfileGroupItemManager.GetSubChildProfileItems(group);
|
||||
childIds.AddRange(subItems.Select(p => p.IndexId));
|
||||
childIds.AddRange(Utils.String2List(group.ChildItems));
|
||||
|
||||
foreach (var child in childIds)
|
||||
{
|
||||
|
||||
@@ -230,9 +230,10 @@ public class ProfileGroupItemManager
|
||||
{
|
||||
return (new List<ProfileItem>(), profileGroupItem);
|
||||
}
|
||||
var items = await GetChildProfileItems(profileGroupItem);
|
||||
var subItems = await GetSubChildProfileItems(profileGroupItem);
|
||||
items.AddRange(subItems);
|
||||
|
||||
var items = new List<ProfileItem>();
|
||||
items.AddRange(await GetSubChildProfileItems(profileGroupItem));
|
||||
items.AddRange(await GetChildProfileItems(profileGroupItem));
|
||||
|
||||
return (items, profileGroupItem);
|
||||
}
|
||||
|
||||
@@ -43,9 +43,12 @@ public sealed class WebDavManager
|
||||
_webDir = _config.WebDavItem.DirName.TrimEx();
|
||||
}
|
||||
|
||||
// Ensure BaseAddress URL ends with a trailing slash
|
||||
var baseUrl = _config.WebDavItem.Url.Trim().TrimEnd('/') + "/";
|
||||
|
||||
var clientParams = new WebDavClientParams
|
||||
{
|
||||
BaseAddress = new Uri(_config.WebDavItem.Url),
|
||||
BaseAddress = new Uri(baseUrl),
|
||||
Credentials = new NetworkCredential(_config.WebDavItem.UserName, _config.WebDavItem.Password)
|
||||
};
|
||||
_client = new WebDavClient(clientParams);
|
||||
|
||||
@@ -56,7 +56,8 @@ public class ProfilesViewModel : MyReactiveObject
|
||||
|
||||
public ReactiveCommand<Unit, Unit> MoveUpCmd { get; }
|
||||
public ReactiveCommand<Unit, Unit> MoveDownCmd { get; }
|
||||
public ReactiveCommand<Unit, Unit> MoveBottomCmd { get; }
|
||||
public ReactiveCommand<Unit, Unit> MoveBottomCmd { get; }
|
||||
public ReactiveCommand<SubItem, Unit> MoveToGroupCmd { get; }
|
||||
|
||||
//servers ping
|
||||
public ReactiveCommand<Unit, Unit> MixedTestServerCmd { get; }
|
||||
@@ -179,6 +180,10 @@ public class ProfilesViewModel : MyReactiveObject
|
||||
{
|
||||
await MoveServer(EMove.Bottom);
|
||||
}, canEditRemove);
|
||||
MoveToGroupCmd = ReactiveCommand.CreateFromTask<SubItem>(async sub =>
|
||||
{
|
||||
SelectedMoveToGroup = sub;
|
||||
});
|
||||
|
||||
//servers ping
|
||||
FastRealPingCmd = ReactiveCommand.CreateFromTask(async () =>
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:resx="clr-namespace:ServiceLib.Resx;assembly=ServiceLib"
|
||||
xmlns:vms="clr-namespace:ServiceLib.ViewModels;assembly=ServiceLib"
|
||||
x:Name="Root"
|
||||
d:DesignHeight="450"
|
||||
d:DesignWidth="800"
|
||||
x:DataType="vms:ProfilesViewModel"
|
||||
@@ -141,19 +142,18 @@
|
||||
InputGesture="Ctrl+T" />
|
||||
<MenuItem x:Name="menuSortServerResult" Header="{x:Static resx:ResUI.menuSortServerResult}" />
|
||||
<Separator />
|
||||
<MenuItem x:Name="menuMoveToGroup" Header="{x:Static resx:ResUI.menuMoveToGroup}">
|
||||
<MenuItem>
|
||||
<MenuItem.Header>
|
||||
<DockPanel>
|
||||
<ComboBox
|
||||
x:Name="cmbMoveToGroup"
|
||||
Width="200"
|
||||
DisplayMemberBinding="{Binding Remarks}"
|
||||
ItemsSource="{Binding SubItems}"
|
||||
ToolTip.Tip="{x:Static resx:ResUI.menuSubscription}" />
|
||||
</DockPanel>
|
||||
</MenuItem.Header>
|
||||
</MenuItem>
|
||||
<MenuItem
|
||||
x:Name="menuMoveToGroup"
|
||||
Header="{x:Static resx:ResUI.menuMoveToGroup}"
|
||||
ItemsSource="{Binding DataContext.SubItems, ElementName=Root}">
|
||||
<MenuItem.ItemTemplate>
|
||||
<DataTemplate>
|
||||
<MenuItem
|
||||
Command="{Binding DataContext.MoveToGroupCmd, ElementName=Root}"
|
||||
CommandParameter="{Binding}"
|
||||
Header="{Binding Remarks}" />
|
||||
</DataTemplate>
|
||||
</MenuItem.ItemTemplate>
|
||||
</MenuItem>
|
||||
<MenuItem Header="{x:Static resx:ResUI.menuMoveTo}">
|
||||
<MenuItem
|
||||
|
||||
@@ -69,7 +69,7 @@ public partial class ProfilesView : ReactiveUserControl<ProfilesViewModel>
|
||||
|
||||
//servers move
|
||||
//this.OneWayBind(ViewModel, vm => vm.SubItems, v => v.cmbMoveToGroup.ItemsSource).DisposeWith(disposables);
|
||||
this.Bind(ViewModel, vm => vm.SelectedMoveToGroup, v => v.cmbMoveToGroup.SelectedItem).DisposeWith(disposables);
|
||||
//this.Bind(ViewModel, vm => vm.SelectedMoveToGroup, v => v.cmbMoveToGroup.SelectedItem).DisposeWith(disposables);
|
||||
|
||||
this.BindCommand(ViewModel, vm => vm.MoveTopCmd, v => v.menuMoveTop).DisposeWith(disposables);
|
||||
this.BindCommand(ViewModel, vm => vm.MoveUpCmd, v => v.menuMoveUp).DisposeWith(disposables);
|
||||
|
||||
Reference in New Issue
Block a user