コード例 #1
0
        public void LoadDirectories()
        {
            Directories = new ObservableCollection <DirectoryViewModel>();
            var dict = SerializationHelper.Current.Data.GetValueOrDefault(SerializationKey) as Dictionary <string, object>;

            if (dict != null)
            {
                var paths = (string[])dict["Paths"];
                var views = (DirectoryViewType[])dict["Views"];
                System.Diagnostics.Debug.Assert(paths.Length == views.Length);
                for (int i = 0; i < paths.Length; i++)
                {
                    var view = Instances.Get <DirectoryViewModel>();
                    view.ViewType = views[i];
                    if (Directory.Exists(paths[i]))
                    {
                        view.LoadDirectory(paths[i]);
                    }
                    else
                    {
                        view.LoadDirectory(IOHelper.GetDefaultPath());
                    }
                    Directories.Add(view);
                }
            }
            else
            {
                var view = Instances.Get <DirectoryViewModel>();
                view.LoadDirectory(IOHelper.GetDefaultPath());
                Directories.Add(view);
            }

            Directories.Add(DirectoryViewModel.CreateAddTabViewModel());
        }
コード例 #2
0
 private void ExecuteCloseTab(DirectoryViewModel parameter)
 {
     if (parameter == ActiveView)
     {
         var closingIndex  = Directories.IndexOf(parameter);
         var newActiveView = closingIndex == 0 ? Directories[1] : Directories[closingIndex - 1];
         ActiveView = newActiveView;
     }
     Directories.Remove(parameter);
 }
コード例 #3
0
ファイル: RenameCommand.cs プロジェクト: kkalinowski/nex
 private void RenameSingleItem(DirectoryViewModel active)
 {
     var renameDialog = Instances.Get<RenameDialog>();
     renameDialog.ToRename = active.SelectedItem.FullName;
     if (renameDialog.ShowModalDialog())
     {
         //active.UnselectAll();//need because rename operation works strange when selecting new item after finishing operation
         var renameOp = new RenameOperation(active.SelectedItem, renameDialog.NewName, active.FileSystem);
         OperationManager.ExecuteOperation(renameOp);
     }
 }
コード例 #4
0
ファイル: RenameCommand.cs プロジェクト: kkalinowski/nex
        private void RenameMultiItems(DirectoryViewModel active)
        {
            bool dirChange = ((IDirectoryViewItem)active.SelectedItems[0]).IsDirectory;
            if (!active.SelectedItems.Cast<IDirectoryViewItem>().All(x => x.IsDirectory == dirChange))
                MessageService.ShowError("Naraz można zmienić nazwy tylko jednego typu obiektów - plików lub katalogów");

            var dialog = new MultiRenameDialog(active.SelectedItems);
            if (dialog.ShowModalDialog())
            {
                var operation = new MultiRenameOperation(dialog.Items, MainViewModel.GetSelectedItems(), active.FileSystem);
                OperationManager.ExecuteOperation(operation);
            }
        }
コード例 #5
0
 private bool CanExecuteCloseTab(DirectoryViewModel parameter)
 {
     return(Directories.Count > 2);
 }
コード例 #6
0
 private void ExecuteCloseTab(DirectoryViewModel parameter)
 {
     if (parameter == ActiveView)
     {
         var closingIndex = Directories.IndexOf(parameter);
         var newActiveView = closingIndex == 0 ? Directories[1] : Directories[closingIndex - 1];
         ActiveView = newActiveView;
     }
     Directories.Remove(parameter);
 }
コード例 #7
0
 private bool CanExecuteCloseTab(DirectoryViewModel parameter)
 {
     return Directories.Count > 2;
 }