Exemple #1
0
        public void Show(ListerView view)
        {
            currentView = view;
            var gridView = view.View.View as GridView;

            UIElement target = null;
            double nameColumnPosition = 0;

            if (gridView != null)
            {
                var nameColumnFound = false;
                foreach(var col in gridView.Columns)
                {
                    if ("Name" == col.Header as string)
                    {
                        nameColumnFound = true;
                        break;
                    }
                    nameColumnPosition += col.ActualWidth;
                }
                if (!nameColumnFound)
                {
                    var firstColumn = gridView.Columns.FirstOrDefault();
                    nameColumnPosition = gridView.Columns.First().Width;
                }
            }
            else
            {
                nameColumnPosition = 31;
            }
            target = view.View.ItemContainerGenerator.ContainerFromItem(view.View.SelectedItem) as UIElement;
            renamePopup.PlacementTarget = target;
            renamePopup.Placement = PlacementMode.Relative;
            renamePopup.HorizontalOffset = nameColumnPosition + 3;
            renamePopup.VerticalOffset = -1;

            renameTextBox.Text = ((IItem)view.View.SelectedItem).Name;
            var typeFace = new Typeface(Options.FontFamily.ToString());
            var ft = new FormattedText(renameTextBox.Text, CultureInfo.CurrentCulture, FlowDirection.LeftToRight, typeFace, Options.FontSize, Brushes.Black);
            renameTextBox.Height = ft.Height + 6;
            renameTextBox.Width = ft.Width + 20;
            originalSize = ft.Width + 20;

            renamePopup.IsOpen = true;

            renameTextBox.Focus();
            var endIndex = renameTextBox.Text.LastIndexOf('.');

            var item = view.View.SelectedItem as FileItem;
            var isDirectory = false;
            if (item != null)
            {
                isDirectory = item.ItemType == ItemType.Container;
            }

            if (endIndex == -1 || isDirectory)
                endIndex = renameTextBox.Text.Length;
            renameTextBox.SelectionStart = 0;
            renameTextBox.SelectionLength = endIndex;
        }
Exemple #2
0
 public void CycleListers(int direction)
 {
     var ind = _views.IndexOf(CurrentView);
     ind += direction;
     if (ind < 0)
     {
         ind = _views.Count -1;
     }
     else if (ind > _views.Count - 1)
     {
         ind = 0;
     }
     CurrentView = _views[ind];
     if (CurrentView == null) return;
     FocusView();
 }
        public void OpenLister(string container, ILister lister)
        {
            lister.CurrentDirectory = container;
            var listerView = new ListerView { Lister = lister, DataContext = lister };
            lister.ListView = listerView.View;
            var newTab = new TabItem();
            newTab.Header = container;
            newTab.Content = listerView;
            _tabControl.Items.Add(newTab);

            CurrentListerView = listerView;

            if (lister.XamlView == null)
                setGridViewColumns(listerView.View, lister);
            else
                SetView(lister.XamlView);

            listerView.GotFocus += ListerViewGotFocus;
            listerView.View.Loaded += SetFocus;
            listerView.Lister.PropertyChanged += ListerPropertyChanged;
            _tabControl.SelectedItem = newTab;
        }
Exemple #4
0
 public ViewHandler(ListerView listerView)
 {
     _listerView = listerView;
 }