Esempio n. 1
0
        void DuplicateTab()
        {
            if (!tabControlManager.CanExcectute())
            {
                return;
            }

            var CurrentTab = tabControlManager.CurrentTab;
            var Filepath   = CurrentTab.Path;

            if (string.IsNullOrEmpty(Filepath))
            {
                var fileDialog = new OpenFileDialog
                {
                    Multiselect  = true,
                    AddExtension = true,
                    Filter       = FileFormats.FilterString
                };
                fileDialog.ShowDialog();
                Filepath = fileDialog.FileName;
            }

            if (!FilesManager.ValidFile(Filepath))
            {
                return;
            }

            var duplicate_tab     = tabControlManager.CurrentTab;
            var currentTabControl = tabControlManager.CurrentTabControl;

            if (currentTabControl.SelectedIndex != -1)
            {
                TabablzControl.AddItem(TabControlManager.GetTab(Filepath), duplicate_tab, AddLocationHint.After);
                currentTabControl.SelectedIndex = currentTabControl.Items.Count - 1;
            }
            else
            {
                var addedTab = tabControlManager.AddTab(Filepath);
                addedTab.ImageSettings.PropertyChanged += ImageSettings_PropertyChanged;
            }

            duplicate_tab = tabControlManager.CurrentTab;
            duplicate_tab.InitialImagePath         = Filepath;
            duplicate_tab.Footer.Visibility        = footerVisibility;
            duplicate_tab.ImageSettings.SortMethod = CurrentTab.ImageSettings.SortMethod;
            duplicate_tab.ImageSettings.SortMode   = CurrentTab.ImageSettings.SortMode;

            filesManager.SupportedFiles(Path.GetDirectoryName(Filepath));

            var FilenameIndex =
                duplicate_tab.Paths.FindIndex(x => Path.GetFileName(x) == Path.GetFileName(Filepath));

            duplicate_tab.Index = FilenameIndex == -1 ? 0 : (uint)FilenameIndex;

            DisplayImage();
            SetupDirectoryWatcher();
        }
Esempio n. 2
0
        public MainWindow()
        {
            AutoUpdater.ShowSkipButton = false;

            InitializeComponent();

            tabControlManager = new TabControlManager(ImageTabControl);
            sortingManager    = new SortingManager(tabControlManager);
            filesManager      = new FilesManager(sortingManager, tabControlManager);

            CheckForUpdates();
            SetupSlideshow();

            commands = new Dictionary <CommandKeys, ICommand>
            {
                {
                    new CommandKeys(Key.A),
                    new ToggleDisplayChannelCommand(ToggleDisplayChannel, Channels.Alpha, tabControlManager.CanExcectute)
                },
                {
                    new CommandKeys(Key.R),
                    new ToggleDisplayChannelCommand(ToggleDisplayChannel, Channels.Red, tabControlManager.CanExcectute)
                },
                {
                    new CommandKeys(Key.G),
                    new ToggleDisplayChannelCommand(ToggleDisplayChannel, Channels.Green, tabControlManager.CanExcectute)
                },
                {
                    new CommandKeys(Key.B),
                    new ToggleDisplayChannelCommand(ToggleDisplayChannel, Channels.Blue, tabControlManager.CanExcectute)
                },
                { new CommandKeys(Key.F), new Command(ResetView, tabControlManager.CanExcectute) },
                { new CommandKeys(Key.T), new Command(TileImage, tabControlManager.CanExcectute) },
                { new CommandKeys(Key.Space), new Command(NextImage, tabControlManager.CanExcectute) },
                { new CommandKeys(Key.Delete), new Command(DeleteImage, tabControlManager.CanExcectute) },
                { new CommandKeys(Key.D, Key.LeftCtrl), new Command(DuplicateTab, tabControlManager.CanExcectute) },
                {
                    new CommandKeys(Key.W, Key.LeftCtrl),
                    new Command(tabControlManager.CloseSelectedTab, tabControlManager.CanExcectute)
                },
                { new CommandKeys(Key.S, Key.LeftCtrl), new Command(ChannelsMontage, tabControlManager.CanExcectute) },
                { new CommandKeys(Key.S), new Command(ToggleSlideshow, tabControlManager.CanExcectute) },
                { new CommandKeys(Key.Right, Key.LeftCtrl), new Command(NextTab, tabControlManager.CanExcectute) },
                { new CommandKeys(Key.Left, Key.LeftCtrl), new Command(PreviousTab, tabControlManager.CanExcectute) },
                { new CommandKeys(Key.Right), new Command(NextImage, tabControlManager.CanExcectute) },
                { new CommandKeys(Key.Left), new Command(PreviousImage, tabControlManager.CanExcectute) },
                { new CommandKeys(Key.Add), new Command(LowerMip, tabControlManager.CanExcectute) },
                { new CommandKeys(Key.Subtract), new Command(HigherMip, tabControlManager.CanExcectute) },
                { new CommandKeys(Key.Space, Key.LeftCtrl), new Command(ToggleBars, tabControlManager.CanExcectute) },
                { new CommandKeys(Key.V, Key.LeftCtrl), new Command(Paste) },
                { new CommandKeys(Key.C, Key.LeftCtrl), new Command(Copy, tabControlManager.CanExcectute) },
                { new CommandKeys(Key.Escape), new Command(Close) },
                { new CommandKeys(Key.N, Key.LeftCtrl), new Command(AddNewTab) },
            };
        }
Esempio n. 3
0
        public void AddNewTab(string filepath)
        {
            if (string.IsNullOrEmpty(filepath))
            {
                var fileDialog = new OpenFileDialog
                {
                    Multiselect  = true,
                    AddExtension = true,
                    Filter       = FileFormats.FilterString
                };
                fileDialog.ShowDialog();
                filepath = fileDialog.FileName;
            }

            if (!FilesManager.ValidFile(filepath))
            {
                return;
            }

            var CurrentTab        = tabControlManager.CurrentTab;
            var CurrentTabControl = tabControlManager.CurrentTabControl;

            if (CurrentTabControl.SelectedIndex != -1)
            {
                TabablzControl.AddItem(TabControlManager.GetTab(filepath), CurrentTab, AddLocationHint.After);
                CurrentTabControl.SelectedIndex = CurrentTabControl.Items.Count - 1;
            }
            else
            {
                var AddedTab = tabControlManager.AddTab(filepath);
                AddedTab.ImageSettings.PropertyChanged += ImageSettings_PropertyChanged;
            }

            CurrentTab = tabControlManager.CurrentTab;

            filesManager.SupportedFiles(Path.GetDirectoryName(filepath));

            var FilenameIndex =
                CurrentTab.Paths.FindIndex(x => Path.GetFileName(x) == Path.GetFileName(filepath));

            CurrentTab.Index = FilenameIndex == -1 ? 0 : (uint)FilenameIndex;

            CurrentTab.Footer.Visibility = footerVisibility;

            SetupDirectoryWatcher();
        }
Esempio n. 4
0
 public FilesManager(SortingManager sortingManager, TabControlManager tabControlManager)
 {
     Manager           = sortingManager;
     TabControlManager = tabControlManager;
 }
Esempio n. 5
0
 public SortingManager(TabControlManager tabControlManager)
 {
     TabControlManager = tabControlManager;
 }