示例#1
0
        private void clearRecentFilesButton_Click(object sender, EventArgs e)
        {
            Form1 form = (Form1)Owner;

            FileListManager.ClearRecentFiles(form);
            Focus();
        }
示例#2
0
        private void okButton_Click(object sender, EventArgs e)
        {
            if (String.IsNullOrEmpty(textToSearchTextBox.Text))
            {
                WindowManager.ShowAlertBox(this, LanguageUtil.GetCurrentLanguageString("TextToSearchEmpty", Name));
                return;
            }
            if (String.IsNullOrEmpty(searchFolderComboBox.Text) || !Directory.Exists(searchFolderComboBox.Text))
            {
                WindowManager.ShowAlertBox(this, LanguageUtil.GetCurrentLanguageString("FolderNotExists", Name));
                return;
            }
            if (String.IsNullOrEmpty(filenamePatternTextBox.Text))
            {
                filenamePatternTextBox.Text = "*.*";
                Refresh();
            }

            FileListManager.SetNewRecentSearchInFilesDirs(this, searchFolderComboBox.Text);

            StartExecution();

            searchClosed = false;
            newThread    = new Thread(SearchTextInFiles);
            newThread.Start();
        }
示例#3
0
        internal void InitializeForm()
        {
            InitializeComponent();
            SetLanguage();
            ControlUtil.SetContextMenuStrip(this, new[] { textToSearchTextBox, filenamePatternTextBox, exclusionPatternTextBox, (Control)searchFolderComboBox });

            FileListManager.LoadRecentSearchInFilesDirs(this);
        }
示例#4
0
        private void searchButton_Click(object sender, EventArgs e)
        {
            Form1 form = (Form1)Owner;

            if (RegularExpressionValidator.Validate(form, regularExpressionTextBox.Text, denyRegexCheckBox.Checked))
            {
                FileListManager.SetNewRecentPattern(this, regularExpressionTextBox.Text);
            }
        }
示例#5
0
        internal void InitializeForm()
        {
            InitializeComponent();
            SetLanguage();
            ControlUtil.SetContextMenuStrip(this, regularExpressionTextBox);

            FileListManager.LoadRecentPatterns(this);
            regularExpressionTextBox.Focus();
        }
示例#6
0
        internal void InitializeForm(bool reload)
        {
            if (!reload)
            {
                InitializeComponent();
                SetLanguage();
            }

            FileListManager.LoadFavouriteWindowFiles(this);
        }
示例#7
0
        private IEnumerator FindManager()
        {
            while (manager == null)
            {
                manager = FindObjectOfType <FileListManager>();
                yield return(null);
            }

            manager.SongClicked        += SongSelectected;
            manager.NavigationHappened += NavigationHappened;
        }
示例#8
0
        private void okButton_Click(object sender, EventArgs e)
        {
            Form1 form = (Form1)Owner;

            if (!ToolManager.SaveToolsIntoFile(this, toolObjectList))
            {
                return;
            }

            FileListManager.LoadTools(form);
            WindowManager.CloseForm(this);
        }
示例#9
0
        internal void InitializeForm(bool addFavourite)
        {
            InitializeComponent();
            SetLanguage();
            ControlUtil.SetContextMenuStrip(this, urlAddressComboBox);

            FileListManager.LoadRecentURLs(this);
            favouriteMode = addFavourite;

            if (favouriteMode)
            {
                HelpButton = false;
                Text       = LanguageUtil.GetCurrentLanguageString("Title_FavouriteMode", Name);
            }
        }
示例#10
0
        public OpenFileListVM(bool syntaxHighlight, FileListManager fileListManager, Func <string, string> askUser)
        {
            this.syntaxHighlight           = syntaxHighlight;
            this.fileListManager           = fileListManager;
            this.askUser                   = askUser;
            this.fileListColl              = new ObservableCollection <FileListVM>();
            this.collectionView            = (ListCollectionView)CollectionViewSource.GetDefaultView(fileListColl);
            this.collectionView.CustomSort = new FileListVM_Comparer();
            this.selectedItems             = new FileListVM[0];
            this.removedFileLists          = new HashSet <FileListVM>();
            this.addedFileLists            = new List <FileListVM>();
            this.cancellationTokenSource   = new CancellationTokenSource();
            this.searchingForDefaultLists  = true;

            var hash = new HashSet <string>(StringComparer.OrdinalIgnoreCase);

            foreach (var fileList in fileListManager.FileLists)
            {
                hash.Add(fileList.Name);
                fileListColl.Add(new FileListVM(this, fileList, true, true));
            }
            Refilter();

            Task.Factory.StartNew(() => {
                AppCulture.InitializeCulture();
                return(new DefaultFileListFinder(cancellationTokenSource.Token).Find());
            }, cancellationTokenSource.Token)
            .ContinueWith(t => {
                var ex = t.Exception;
                SearchingForDefaultLists = false;
                if (!t.IsCanceled && !t.IsFaulted)
                {
                    foreach (var defaultList in t.Result)
                    {
                        if (hash.Contains(defaultList.Name))
                        {
                            continue;
                        }
                        var fileList = new FileList(defaultList);
                        fileListColl.Add(new FileListVM(this, fileList, false, false));
                    }
                    Refilter();
                }
            }, CancellationToken.None, TaskContinuationOptions.None, TaskScheduler.FromCurrentSynchronizationContext());
        }
示例#11
0
        internal static void Main(string[] args)
        {
            if (args.Length < 2)
            {
                Logger.Error(null, "Usage: Dragapult.Experiment.exe path_to_romfs path_to_export_directory");
                return;
            }

            var root     = args.First();
            var dest     = args.ElementAt(1);
            var fileList = new FileListManager(args.ElementAtOrDefault(2));
            var catalog  = new ManagedPokemonCatalog(Paths.GetPokemonCatalogPath(root));

            foreach (var catalogEntry in catalog.Entries)
            {
                var archive     = new GFPAK(Path.Combine(root, catalogEntry.PackagePath));
                var unknownDest = Path.GetDirectoryName(catalogEntry.ConfigurationPath);
                for (var index = 0; index < archive.Files.Count; index++)
                {
                    var file = archive.Files[index];
                    var hash = archive.AbsoluteFilePathHashes[index];
                    var(folder, files) = archive.Folders.FirstOrDefault(x => x.files.Any(y => y.Index == index));
                    var folderFile = files?.FirstOrDefault(x => x.Index == index);
                    if (!fileList.AbsoluteHashes.TryGetValue(hash, out var outPath))
                    {
                        if (!fileList.NameHashes.TryGetValue(folderFile.GetValueOrDefault().Hash, out var fileName))
                        {
                            fileName = $"{hash:X16}_{folderFile.GetValueOrDefault().Hash:X16}";
                        }
                        outPath = fileList.DirectoryHashes.TryGetValue(folder.Hash, out var folderPath) ? Path.Combine(folderPath, fileName) : Path.Combine(unknownDest, folder.Hash.ToString("X16"), fileName);
                    }

                    outPath = Path.Combine(dest, outPath);
                    var dir = Path.GetDirectoryName(outPath);
                    if (!Directory.Exists(dir))
                    {
                        Directory.CreateDirectory(dir);
                    }
                    File.WriteAllBytes(outPath, file.ToArray());
                    Logger.Log24Bit(ConsoleSwatch.XTermColor.White, true, Console.Out, null, $"Saved {outPath}");
                }
            }
        }
示例#12
0
        private void okButton_Click(object sender, EventArgs e)
        {
            if (!urlAddressComboBox.Text.StartsWith("http://"))
            {
                urlAddressComboBox.Text = String.Format("http://{0}", urlAddressComboBox.Text);
            }

            if (favouriteMode)
            {
                Favourites form  = (Favourites)Owner;
                Form1      form1 = (Form1)form.Owner;

                ListBox favouritesListBox = form.favouritesListBox;
                FileListManager.SetNewFavouriteFile(form1, ConstantUtil.urlPrefix + urlAddressComboBox.Text);

                favouritesListBox.Items.Clear();
                form.InitializeForm(true);
                favouritesListBox.SelectedIndex = favouritesListBox.Items.Count - 1;

                WindowManager.CloseForm(this);
            }
            else
            {
                Form1 form = (Form1)Owner;

                okButton.Enabled     = false;
                cancelButton.Enabled = false;
                Refresh();

                if (InternetManager.OpenUrlSource(form, urlAddressComboBox.Text))
                {
                    FileListManager.SetNewRecentURL(this, urlAddressComboBox.Text);
                    WindowManager.CloseForm(this);
                }
                else
                {
                    okButton.Enabled     = true;
                    cancelButton.Enabled = true;
                }
            }
        }
示例#13
0
        public OpenFileListVM(bool syntaxHighlight, FileListManager fileListManager, Func<string, string> askUser)
        {
            this.syntaxHighlight = syntaxHighlight;
            this.fileListManager = fileListManager;
            this.askUser = askUser;
            this.fileListColl = new ObservableCollection<FileListVM>();
            this.collectionView = (ListCollectionView)CollectionViewSource.GetDefaultView(fileListColl);
            this.collectionView.CustomSort = new FileListVM_Comparer();
            this.selectedItems = new FileListVM[0];
            this.removedFileLists = new HashSet<FileListVM>();
            this.addedFileLists = new List<FileListVM>();
            this.cancellationTokenSource = new CancellationTokenSource();
            this.searchingForDefaultLists = true;

            var hash = new HashSet<string>(StringComparer.OrdinalIgnoreCase);
            foreach (var fileList in fileListManager.FileLists) {
                hash.Add(fileList.Name);
                fileListColl.Add(new FileListVM(this, fileList, true, true));
            }
            Refilter();

            Task.Factory.StartNew(() => {
                AppCulture.InitializeCulture();
                return new DefaultFileListFinder(cancellationTokenSource.Token).Find();
            }, cancellationTokenSource.Token)
            .ContinueWith(t => {
                var ex = t.Exception;
                SearchingForDefaultLists = false;
                if (!t.IsCanceled && !t.IsFaulted) {
                    foreach (var defaultList in t.Result) {
                        if (hash.Contains(defaultList.Name))
                            continue;
                        var fileList = new FileList(defaultList);
                        fileListColl.Add(new FileListVM(this, fileList, false, false));
                    }
                    Refilter();
                }
            }, CancellationToken.None, TaskContinuationOptions.None, TaskScheduler.FromCurrentSynchronizationContext());
        }
示例#14
0
        private void clearHistoryToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Form1 form = (Form1)ParentForm;

            FileListManager.ClearSearchHistory(form);
        }
示例#15
0
 private void clearHistoryButton_Click(object sender, EventArgs e)
 {
     FileListManager.ClearRecentPatterns(this);
 }