示例#1
0
        private async void ButtonNewFolder_Click(object sender, RoutedEventArgs e)
        {
            TreeSmartItem sItem = TreeViewFolders.SelectedItem as TreeSmartItem;

            if ((sItem == null) || sItem.HasError)
            {
                return;
            }

            NewFolderWindow NFW = new NewFolderWindow(this, false);

            if (!(bool)NFW.ShowDialog() || NFW.newFolder.NullEmpty())
            {
                return;
            }

            //item.Expanded = true;
            TreeSmartItem item;

            if (sItem.Parent != null)
            {
                item = sItem.Parent;
            }
            else
            {
                item = sItem;
            }

            if (item.HasDummy)
            {
                item.Items.Clear();
                item.HasDummy = false;
            }

            string path = item.FullName;

            PathHelper.AddEndningSlash(ref path);
            TreeSmartItem folder = new TreeSmartItem(NFW.newFolder, path);

            item.Items.Add(folder);

            folder.OptColor  = SolidColors.DarkGreen;
            folder.Operation = AppLanguage.Get("LangOperationCreating");

            if (await ClientHelper.NewFolder(NFW.newFolder, path))
            {
                folder.Selected  = true;
                folder.OptColor  = SolidColors.SolidBlue;
                folder.Operation = AppLanguage.Get("LangOperationCreated");
            }
            else
            {
                folder.Items.Clear();
                folder.HasError  = true;
                folder.OptColor  = SolidColors.DarkRed;
                folder.Operation = AppLanguage.Get("LangOperationCreateError");
                folder.Items.Add(new TreeSmartItem(AppLanguage.Get("LangTextNoFoldersInside"), dummyIcon));
            }
        }
示例#2
0
        private async void Window_Loaded(object sender, RoutedEventArgs e)
        {
            TreeSmartItem item = new TreeSmartItem(ClientHelper.Home, string.Empty);

            item.Selected = true;
            item.Expanded = true;

            await addFolders(item, item.FullName);

            TreeViewFolders.Items.Add(item);
        }
示例#3
0
        private async void TreeViewItemFolder_Expanded(object sender, RoutedEventArgs e)
        {
            TreeViewItem treeItem = e.OriginalSource as TreeViewItem;

            if (treeItem == null)
            {
                return;
            }

            TreeSmartItem item = treeItem.Header as TreeSmartItem;

            if ((item == null) || item.HasError)
            {
                return;
            }

            await addFolders(item, item.FullName);
        }
示例#4
0
        private void TreeViewItemFolder_Collapsed(object sender, RoutedEventArgs e)
        {
            TreeViewItem treeItem = e.OriginalSource as TreeViewItem;

            if (treeItem == null)
            {
                return;
            }

            TreeSmartItem item = treeItem.Header as TreeSmartItem;

            if ((item == null) || item.HasError)
            {
                return;
            }

            item.Items.Clear();
            item.Items.Add(new TreeSmartItem(AppLanguage.Get("LangTextLoading"), dummyIcon));
        }
示例#5
0
        private void ButtonSelect_Click(object sender, RoutedEventArgs e)
        {
            TreeSmartItem sItem = TreeViewFolders.SelectedItem as TreeSmartItem;

            if ((sItem == null) || sItem.HasError)
            {
                return;
            }

            TreeSmartItem item;

            if (sItem.Parent != null)
            {
                item = sItem.Parent;
            }
            else
            {
                item = sItem;
            }

            string toPath = item.FullName;

            PathHelper.AddEndningSlash(ref toPath);

            if (MessageWindow.Show(this,
                                   AppLanguage.Get("LangMBMove").FormatC(System.Environment.NewLine + toPath),
                                   AppLanguage.Get("LangMBMoveTitle"),
                                   MessageBoxButton.YesNo,
                                   MessageBoxImage.Question,
                                   MessageBoxResult.Yes) != MessageBoxResult.Yes)
            {
                return;
            }

            ClientHelper.MoveAsync(selectedItems, toPath);

            this.Close();
        }
示例#6
0
        private async Task addFolders(TreeSmartItem pItem, string path)
        {
            TreeViewFolders.IsEnabled = false;

            SmartItem[] folders = await ClientHelper.Client.GetServerFoldersAsync(path);

            pItem.Items.Clear();

            if (folders == null)
            {
                TreeSmartItem item = new TreeSmartItem(AppLanguage.Get("LangTextError"), dummyIcon);
                item.Parent = pItem;
                pItem.Items.Add(item);
                pItem.HasDummy = true;
            }
            else if (folders.Length > 0)
            {
                TreeSmartItem[] items = new TreeSmartItem[folders.Length];

                for (int i = 0; i < folders.Length; i++)
                {
                    items[i] = new TreeSmartItem(folders[i].ItemName, folders[i].ItemFolder);
                }

                pItem.Items = new ObservableCollection <TreeSmartItem>(items);
            }
            else
            {
                TreeSmartItem item = new TreeSmartItem(AppLanguage.Get("LangTextNoFoldersInside"), dummyIcon);
                item.Parent = pItem;
                pItem.Items.Add(item);
                pItem.HasDummy = true;
            }

            TreeViewFolders.IsEnabled = true;
        }