Exemple #1
0
        protected virtual void ChangeCurrentBrowserViewModel(ViewerBaseVM newCurrentBrowserViewModel)
        {
            //if (_CurrentBrowserViewModel != null)
            //    _CurrentBrowserViewModel.Dispose();
            //Unload previous handler
            if (CurrentBrowserViewModel != null)
            {
                CurrentBrowserViewModel.PropertyChanged  -= propertyChangeHandler;
                CurrentBrowserViewModel.DirectoryChanged -= dirChangedHandler;

                CurrentBrowserViewModel.OnUnload();
            }

            bool showPreview = CurrentBrowserViewModel != null ? CurrentBrowserViewModel.IsPreviewerVisible : false;

            newCurrentBrowserViewModel.IsPreviewerVisible = showPreview;

            _currentBrowserViewModel = newCurrentBrowserViewModel;
            if (CurrentBrowserViewModel != null)
            {
                CurrentBrowserViewModel.PropertyChanged  += propertyChangeHandler;
                CurrentBrowserViewModel.DirectoryChanged += dirChangedHandler;
            }

            IsDirectoryTreeVisible = CurrentBrowserViewModel.IsDirectoryTreeEnabled;

            UpdateOtherViewModels(newCurrentBrowserViewModel);

            NotifyPropertyChanged("CurrentBrowserViewModel");

            NotifyPropertyChanged("CurrentEntryViewModel");
            NotifyPropertyChanged("CurrentEntryModel");
            NotifyPropertyChanged("CurrentEntry");
        }
        private void AddNavigationHistory(ViewerBaseVM item)
        {
            if (NavigationPosition != -1)
            {
                for (int i = 0; i < NavigationPosition; i++)
                {
                    NavigationHistory.RemoveAt(0);
                }
            }
            while (NavigationHistory.Count > 10)
            {
                NavigationHistory.RemoveAt(NavigationHistory.Count - 1);
            }

            if (NavigationHistory.IndexOf(item) != -1)
            {
                NavigationHistory.Remove(item);
            }
            NavigationHistory.Insert(0, item);
            NavigationPosition = 0;

            //if (jpList != null)
            //{
            //    jpList.AddToRecent(item.EmbeddedDirectoryModel.EmbeddedDirectoryEntry.ParseName);
            //    jpList.Refresh();
            //}
        }
        internal void ChangeNavigationPosition(ViewerBaseVM item)
        {
            int pos = NavigationHistory.IndexOf(item);

            if (pos != -1)
            {
                ChangeNavigationPosition(pos);
            }
        }
        protected void ChangeCurrentBrowserViewModel(ViewerBaseVM viewModel, bool updateHistory)
        {
            ViewerBaseVM currentBrowserViewModel = CurrentBrowserViewModel;

            base.ChangeCurrentBrowserViewModel(viewModel);

            if (updateHistory && !viewModel.Equals(currentBrowserViewModel))
            {
                AddNavigationHistory(viewModel);
            }
        }
Exemple #5
0
        /// <summary>
        /// Called when CurrentBrowserViewModel updated, used to update other UI VMs.
        /// </summary>
        /// <param name="newViewModel"></param>
        protected virtual void UpdateOtherViewModels(ViewerBaseVM newViewModel)
        {
            _breadcrumbViewModel.IsBreadcrumbEnabled = newViewModel.IsBreadcrumbVisible;

            if (newViewModel is BaseW3ViewerViewModel)
            {
                BaseW3ViewerViewModel w3VM = newViewModel as BaseW3ViewerViewModel;
                _searchViewModel.ConfirmedParseName = w3VM.WebAddress.AbsoluteUri;
                return;
            }

            if (newViewModel is BaseDirectoryViewerViewModel <FI, DI, FSI> )
            {
                BaseDirectoryViewerViewModel <FI, DI, FSI> directoryViewerVM = newViewModel as BaseDirectoryViewerViewModel <FI, DI, FSI>;
                DirectoryModel <FI, DI, FSI> directoryModel = directoryViewerVM.EmbeddedDirectoryViewModel.EmbeddedDirectoryModel;

                _navigationViewModel.SelectedModel = directoryModel;
                _breadcrumbViewModel.SelectedModel = directoryModel;
                _searchViewModel.SelectedModel     = directoryModel;


                return;
            }

            if (newViewModel is MediaViewerViewModel <FI, DI, FSI> )
            {
                MediaViewerViewModel <FI, DI, FSI> fileViewerVM = newViewModel as MediaViewerViewModel <FI, DI, FSI>;
                EntryModel <FI, DI, FSI>           fileModel    = fileViewerVM.EmbeddedEntryViewModel.EmbeddedModel;
                DirectoryModel <FI, DI, FSI>       parentModel  = _profile.ConstructDirectoryModel(fileModel.Parent);

                _navigationViewModel.SelectedModel = parentModel;
                _breadcrumbViewModel.SelectedModel = fileModel;
                _searchViewModel.SelectedModel     = fileModel;

                return;
            }



#if DEBUG
            throw new NotImplementedException();
#endif
        }
Exemple #6
0
        protected virtual void setupCommands()
        {
            ContextMenuCommand = new SimpleCommand()
            {
                CanExecuteDelegate = (x) =>
                {
                    ViewerBaseVM vm = (x as ViewerBaseVM);
                    return(vm.IsContextMenuEnabled);
                },
                ExecuteDelegate = (x) =>
                {
                    ViewerBaseVM vm = (x as ViewerBaseVM);
                    if (vm.IsContextMenuEnabled)
                    {
                        Point pt = UITools.GetScreenMousePosition();
                        switch (vm.ContextMenu(pt))
                        {
                        case "open": if (ExpandCommand != null)
                            {
                                ExpandCommand.Execute(vm);
                            }
                            break;

                        case "rename": if (RenameCommand != null)
                            {
                                RenameCommand.Execute(vm);
                            }
                            break;

                        case "refresh": if (RefreshCommand != null)
                            {
                                RefreshCommand.Execute(vm);
                            }
                            break;
                        }
                    }
                }
            };

            RefreshCommand = new SimpleCommand()
            {
                ExecuteDelegate = (x) =>
                {
                    Refresh();
                }
            };

            //ExpandCommand = new SimpleCommand()
            //{
            //    CanExecuteDelegate =
            //        (x) =>
            //        {
            //            ViewerBaseViewModel<FI, DI, FSI> vm = (x as ViewerBaseViewModel<FI, DI, FSI>);
            //            return vm == null ? false : vm.CanExpand;
            //        },
            //    ExecuteDelegate =
            //       (x) =>
            //       {
            //           ViewerBaseViewModel<FI, DI, FSI> vm = (x as ViewerBaseViewModel<FI, DI, FSI>);
            //           vm.Expand();
            //       }
            //};
        }
 protected override void ChangeCurrentBrowserViewModel(ViewerBaseVM viewModel)
 {
     ChangeCurrentBrowserViewModel(viewModel, true);
 }