コード例 #1
0
        /// <summary>
        ///		Lanza el evento <see cref="SelectedPathChangedEvent"/>
        /// </summary>
        private void RaiseSelectedPathEvent()
        {
            FileNodeViewModel file = ViewModelData.GetSelectedFile();

            if (file?.IsFolder ?? false)
            {
                SelectedPath = file.File;
                RaiseEvent(new RoutedEventArgs(SelectedPathChangedEvent));
            }
        }
コード例 #2
0
        private void txtPage_Drop(object sender, DragEventArgs e)
        {
            FileNodeViewModel fileNode = dragDropController.GetDragDropFileNode(e.Data) as FileNodeViewModel;

            // Asigna el vínculo
            if (fileNode != null)
            {
                txtPage.Text = fileNode.File.GetRelativeFileNameToProject();                         // , fileNode.File.Title);
            }
        }
コード例 #3
0
        private void txtPage_Drop(object sender, DragEventArgs e)
        {
            FileNodeViewModel fileNode = _dragDropController.GetDragDropFileNode(e.Data) as FileNodeViewModel;

            // Asigna el vínculo
            if (fileNode != null)
            {
                txtPage.Text = fileNode.File.IDFileName;
            }
        }
コード例 #4
0
 private void OnGraphFileSelected(object sender, MouseButtonEventArgs e)
 {
     if (graphView.HasHover)
     {
         FileNodeViewModel view = viewModel.RootNode.FindView(graphView.Hover, true);
         tree.FocusNode(view);
         tree.SelectedItem = view;
         //tree.Focus();
         //Keyboard.Focus(tree);
     }
 }
コード例 #5
0
 private string GetManualColumnStringValue(FileNodeViewModel node)
 {
     if (node is FolderViewModel)
     {
         return(((FolderViewModel)node).Status);
     }
     else
     {
         return(node.Manual);
     }
 }
コード例 #6
0
        protected override void OnSuccesAction(MegaSDK api, MRequest request)
        {
            App.LinkInformation.ActiveLink = request.getLink();
            MNode publicNode = App.LinkInformation.PublicNode = request.getPublicMegaNode();

            if (publicNode != null)
            {
                // Save the handle of the last public node accessed (Task #10800)
                SettingsService.SaveLastPublicNodeHandle(publicNode.getHandle());

                #if WINDOWS_PHONE_80
                // Detect if is an image to allow directly download to camera albums
                bool isImage = false;
                if (publicNode.isFile())
                {
                    FileNodeViewModel node = new FileNodeViewModel(api, null, publicNode, ContainerType.PublicLink);
                    isImage = node.IsImage;
                }
                #endif

                Deployment.Current.Dispatcher.BeginInvoke(() =>
                {
                    try
                    {
                        #if WINDOWS_PHONE_80
                        DialogService.ShowOpenLink(publicNode, _folderViewModel, isImage);
                        #elif WINDOWS_PHONE_81
                        DialogService.ShowOpenLink(publicNode, _folderViewModel);
                        #endif
                    }
                    catch (Exception e)
                    {
                        new CustomMessageDialog(
                            ErrorMessageTitle,
                            String.Format(ErrorMessage, e.Message),
                            App.AppInformation,
                            MessageDialogButtons.Ok).ShowDialog();
                    }
                });
            }
            else
            {
                Deployment.Current.Dispatcher.BeginInvoke(() =>
                {
                    new CustomMessageDialog(
                        ErrorMessageTitle,
                        AppMessages.AM_ImportFileFailedNoErrorCode,
                        App.AppInformation,
                        MessageDialogButtons.Ok).ShowDialog();
                });
            }
        }
コード例 #7
0
        private void txtEditor_Drop(object sender, DragEventArgs e)
        {
            FileNodeViewModel fileNode = dragDropController.GetDragDropFileNode(e.Data) as FileNodeViewModel;

            // Inserta el vínculo
            if (fileNode != null)
            {
                InsertLink(fileNode.File.IDFileName, fileNode.File.Title);
            }
            // Selecciona este control
            this.Focus();
            txtEditor.Focus();
        }
コード例 #8
0
        private void trvExplorer_Drop(object sender, DragEventArgs e)
        {
            FileNodeViewModel nodeSource = _dragDropController.GetDragDropFileNode(e.Data) as FileNodeViewModel;

            if (nodeSource != null)
            {
                TreeViewItem trvNode = new Libraries.BauMvvm.Views.Tools.ToolsWpf().FindAncestor <TreeViewItem>((DependencyObject)e.OriginalSource);

                if (trvNode != null)
                {
                    FileNodeViewModel nodeTarget = trvNode.Header as FileNodeViewModel;

                    if (nodeSource != null && nodeTarget != null)
                    {
                        ViewModelData.Copy(nodeSource, nodeTarget,
                                           (e.KeyStates & DragDropKeyStates.ControlKey) == DragDropKeyStates.ControlKey);
                    }
                }
            }
        }
コード例 #9
0
            private bool ShouldAcceptProposedIndex(IEnumerable <FileNodeViewModel> draggedItems, FileNodeViewModel proposedParent, int proposedIndex)
            {
                bool shouldAcceptProposedIndex = (draggedItems != null) && draggedItems.Any();

                if (shouldAcceptProposedIndex)
                {
                    var firstDraggedItem = draggedItems.First();
                    if (draggedItems.Count() == 1)
                    {
                        // prevent dropping an item on itself
                        FileNodeViewModel dropTargetItem = null;
                        if (proposedParent.Items.Count > 0)
                        {
                            dropTargetItem            = (proposedIndex < proposedParent.Items.Count) ? proposedParent.Items[proposedIndex] : proposedParent.Items.LastOrDefault();
                            shouldAcceptProposedIndex = dropTargetItem != firstDraggedItem;
                        }
                    }
                }
                return(shouldAcceptProposedIndex);
            }
コード例 #10
0
        private void HandleSelectionChanged(object sender, System.EventArgs e)
        {
            var selection           = sender as Gtk.TreeSelection;
            var menuLayoutViewModel = selection.TreeView.GetValue(IFakeDependencyObjectHelpers.DataContextPropertyName) as MenuLayoutViewModel;
            FileNodeViewModel currentSelectedItem = null;
            var viewModelSelection = menuLayoutViewModel.SelectedItems;
            var selectedItems      = new List <FileNodeViewModel>();
            var selectedItemPaths  = selection.GetSelectedRows();

            foreach (var path in selectedItemPaths)
            {
                Gtk.TreeIter iter;
                if (selection.TreeView.Model.GetIter(out iter, path))
                {
                    var item = selection.TreeView.Model.GetValue(iter, 0) as FileNodeViewModel;
                    currentSelectedItem = currentSelectedItem ?? item;
                    selectedItems.Add(item);
                }
            }
            var itemsToRemove = viewModelSelection.Except(selectedItems).ToList();

            foreach (var itemToRemove in itemsToRemove)
            {
                viewModelSelection.Remove(itemToRemove);
            }
            foreach (var selectedItem in selectedItems.Except(viewModelSelection).ToList())
            {
                viewModelSelection.Add(selectedItem);
            }
            menuLayoutViewModel.CurrentSelection = currentSelectedItem;
            var activeColor = -1;

            if (currentSelectedItem != null)
            {
                activeColor = menuLayoutViewModel.AvailableColors.IndexOf(currentSelectedItem.Color);
            }
            _colorChooser.Active = activeColor;
        }
コード例 #11
0
        private static ItemsControl FindVisualContainerForViewModel(ItemsControl menuLayoutTree, FolderViewModel root, FileNodeViewModel item)
        {
            var container = menuLayoutTree;
            var path      = new List <IFileContainer>();
            var parent    = item.Parent;

            while (parent != root.Model)
            {
                path.Add(parent);
                parent = parent.Parent;
            }
            path.Reverse();
            FolderViewModel containerViewModel = root;

            foreach (var element in path)
            {
                containerViewModel = containerViewModel.FindViewModelForModel(element);
                container          = container.ItemContainerGenerator.ContainerFromItem(containerViewModel) as ItemsControl;
            }
            return(container);
        }