예제 #1
0
 void SetData_TV_LV(ExplorerListItem load)
 {
     if (load.addToTV && load.TV_data != null && load.TV_node != null)//add folder to tree view
     {
         ((TreeViewDataModel)load.TV_data).Childrens.Clear();
         foreach (ExplorerNode n in load.node.Child)
         {
             if (n.Info.Size > 0)
             {
                 continue;
             }
             TreeViewDataModel child = new TreeViewDataModel((TreeViewDataModel)load.TV_data)
             {
                 DisplayData = new TreeviewDataItem(n)
             };
             ((TreeViewDataModel)load.TV_data).Childrens.Add(child);
         }
         if (load.explandTV)
         {
             ((TreeViewItem)load.TV_node).ExpandSubtree();
         }
     }
     ((tabControl.Items[load.indexLV_tab] as TabItem).Content as UC_Lv_item).ShowDataToLV(load.node);
     ((ComboBoxHeader)(tabControl.Items[load.indexLV_tab] as TabItem).Header).Node = load.node;
 }
예제 #2
0
        private void StackPanel_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
        {
            TreeViewItem      item         = Get_TreeViewItem(sender as StackPanel);
            TreeViewDataModel tv_datamodel = Get_TVDataMoldel(item);

            ((UC_Lv_item)((TabItem)tabControl.Items[tabControl.SelectedIndex]).Content).managerexplorernodes.Root = tv_datamodel.DisplayData.Node.GetRoot;
            ((UC_Lv_item)((TabItem)tabControl.Items[tabControl.SelectedIndex]).Content).managerexplorernodes.Next(tv_datamodel.DisplayData.Node);
            ((UC_Lv_item)((TabItem)tabControl.Items[tabControl.SelectedIndex]).Content).ExplorerCurrentNode(false, true, tv_datamodel, item);
        }
예제 #3
0
        private void Paste()
        {
            if (!AppClipboard.Clipboard)
            {
                return;
            }
            TreeViewDataModel model = treeView.SelectedItem as TreeViewDataModel;

            Setting_UI.reflection_eventtocore.ExplorerAndManagerFile.TransferItems(AppClipboard.Items, AppClipboard.directory, model.DisplayData.Node, AppClipboard.AreCut);
        }
예제 #4
0
        private void CutCopy(bool AreCut)
        {
            AppClipboard.Clear();
            AppClipboard.AreCut = AreCut;
            TreeViewDataModel model = treeView.SelectedItem as TreeViewDataModel;

            AppClipboard.directory = model.DisplayData.Node.Parent;
            AppClipboard.Add(model.DisplayData.Node);
            AppClipboard.Clipboard = true;
        }
예제 #5
0
        private void Delete()
        {
            TreeViewDataModel model = treeView.SelectedItem as TreeViewDataModel;
            MessageBoxResult  result;

            switch (model.DisplayData.Type)
            {
            case CloudType.LocalDisk: return;

            case CloudType.Folder:
                result = System.Windows.MessageBox.Show(this,
                                                        "Are you want to remove " + model.DisplayData.Node.Info.Name,
                                                        "Confirm",
                                                        MessageBoxButton.YesNo, MessageBoxImage.Question);
                if (result != MessageBoxResult.Yes)
                {
                    return;
                }
                Setting_UI.reflection_eventtocore.ExplorerAndManagerFile.DeletePath(new DeleteItems(model.DisplayData.Node)
                {
                    PernamentDelete = false
                });
                break;

            default:
                result = System.Windows.MessageBox.Show(this,
                                                        "Are you want to remove " + model.DisplayData.Type.ToString() + ":" + model.DisplayData.Node.NodeType.Email,
                                                        "Confirm",
                                                        MessageBoxButton.YesNo, MessageBoxImage.Question);
                if (result != MessageBoxResult.Yes)
                {
                    return;
                }
                if (Setting_UI.reflection_eventtocore.AccountsAndCloud.DeleteAccountCloud(model.DisplayData.Node.NodeType.Email, model.DisplayData.Type))
                {
                    TreeObservableCollection.Remove(model);
                }
                else
                {
                    System.Windows.MessageBox.Show(this,
                                                   "Remove cloud " + model.DisplayData.Type.ToString() + ":" + model.DisplayData.Node.Info.Name + " failed.",
                                                   "Error"
                                                   , MessageBoxButton.OK, MessageBoxImage.Error);
                }
                break;
            }
        }
예제 #6
0
        private void treeView_ContextMenuOpening(object sender, ContextMenuEventArgs e)
        {
            TreeViewDataModel item_data      = treeView.SelectedItem as TreeViewDataModel;
            TreeViewDataModel item_data_root = item_data;

            while (item_data_root.Parent != null)
            {
                item_data_root = item_data_root.Parent;
            }
            if (item_data_root.DisplayData.Type == CloudType.Folder)
            {
                throw new Exception("Folder can't be root.");
            }
            bool isroot = item_data_root == item_data;

            foreach (ContextMenuDataModel item in menuitems_source)
            {
                if (item == null)
                {
                    continue;
                }
                switch (item.Key)
                {
                case LanguageKey.TSMI_cut: if (isroot)
                    {
                        item.IsEnabled = false;
                    }
                    else
                    {
                        item.IsEnabled = true;
                    } break;

                case LanguageKey.TSMI_paste: if (AppClipboard.Clipboard)
                    {
                        item.IsEnabled = true;
                    }
                    else
                    {
                        item.IsEnabled = false;
                    } break;

                case LanguageKey.TSMI_downloadsellected: if (item_data_root.DisplayData.Type == CloudType.LocalDisk)
                    {
                        item.IsEnabled = false;
                    }
                    else
                    {
                        item.IsEnabled = true;
                    } break;

                case LanguageKey.TSMI_uploadfile: if (item_data_root.DisplayData.Type == CloudType.LocalDisk)
                    {
                        item.IsEnabled = false;
                    }
                    else
                    {
                        item.IsEnabled = true;
                    } break;

                case LanguageKey.TSMI_uploadfolder: if (item_data_root.DisplayData.Type == CloudType.LocalDisk)
                    {
                        item.IsEnabled = false;
                    }
                    else
                    {
                        item.IsEnabled = true;
                    } break;

                default: continue;
                }
            }
            treeView.ContextMenu.ItemsSource = menuitems_source;
        }
예제 #7
0
        public void ExplorerCurrentNode(bool explandTV = false, bool addToTV = false, TreeViewDataModel DataItem = null, TreeViewItem TV_item = null)
        {
            ExplorerListItem load = new ExplorerListItem();

            load.node      = managerexplorernodes.NodeWorking();
            load.explandTV = explandTV;
            load.addToTV   = addToTV;
            if (TV_item != null)
            {
                load.TV_node = TV_item;
            }
            if (DataItem != null)
            {
                load.TV_data = DataItem;
            }
            EventListViewFolderDoubleClickCallBack(load);
        }