示例#1
0
        /* Private members */

        private FileChooserDialog BuildDialog(bool showVideo, string title)
        {
            FileChooserDialog dialog = new FileChooserDialog(title, Base.Ui.Window, FileChooserAction.Open,
                                                             Util.GetStockLabel("gtk-cancel"), ResponseType.Cancel, Util.GetStockLabel("gtk-open"), ResponseType.Ok);

            dialog.DefaultResponse = ResponseType.Ok;

            //Build content area

            Box box = new Box(Orientation.Horizontal, WidgetStyles.BoxSpacingMedium);

            box.BorderWidth = WidgetStyles.BorderWidthMedium;

            if (showVideo)
            {
                videoLabel = new Label(Catalog.GetString("Video to Open:"));
                box.Add(videoLabel);

                videoComboBox         = new ComboBoxText();
                videoComboBox.Hexpand = true;

                CellRendererText videoComboBoxRenderer = (videoComboBox.Cells[0] as CellRendererText);
                videoComboBoxRenderer.WidthChars = 20;
                videoComboBoxRenderer.Ellipsize  = Pango.EllipsizeMode.End;
                videoComboBox.RowSeparatorFunc   = ComboBoxUtil.SeparatorFunc;
                box.Add(videoComboBox);

                autoChooseVideoFile = Base.Config.VideoAutoChooseFile;
            }

            box.Add(new Label(Catalog.GetString("Character Encoding:")));

            encodingComboBox = BuildEncodingComboBox();
            encodingComboBox.Widget.Hexpand = !showVideo;
            box.Add(encodingComboBox.Widget);

            dialog.ContentArea.Add(box);
            dialog.ContentArea.ShowAll();

            //Other stuff

            SetFilters(dialog);
            dialog.SetCurrentFolder(GetStartFolder());

            if (showVideo)
            {
                dialog.CurrentFolderChanged += OnCurrentFolderChanged;
                dialog.SelectionChanged     += OnSelectionChanged;
            }

            return(dialog);
        }
示例#2
0
        private void RoyalSamplerForm_Load(object sender, EventArgs e)
        {
            DisableProgBar();

            SubsamplingModeComboBox.Items.Add("Split File into Chunks");
            SubsamplingModeComboBox.Items.Add("Sample by Range");
            SubsamplingModeComboBox.Items.Add("Randomized Subsampling");

            SubsamplingModeComboBox.SelectedItem = "Split File into Chunks";

            foreach (var encoding in Encoding.GetEncodings())
            {
                EncodingComboBox.Items.Add(encoding.Name);
            }

            try
            {
                Encoding selectedEncoding = Encoding.GetEncoding("utf-8");
                EncodingComboBox.SelectedIndex = EncodingComboBox.FindStringExact(selectedEncoding.BodyName);
            }
            catch
            {
                EncodingComboBox.SelectedIndex = EncodingComboBox.FindStringExact(Encoding.Default.BodyName);
            }

            this.Text = "Royal Sampler v" + System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString() + ", by Ryan L. Boyd";

            DelimiterTextBox.Text                   = ",";
            QuoteTextBox.Text                       = "\"";
            ContainsHeaderCheckbox.Checked          = true;
            NumberOfFilesToCreateTextBox.Text       = "5";
            NumberOfFilesToCreateTextBox.MaxLength  = 10;
            NumberOfSamplesPerFileTextBox.Text      = "";
            NumberOfSamplesPerFileTextBox.MaxLength = 10;
            InputFileTextbox.Select();

            InputFileTextbox.Enabled          = false;
            MainProgressBar.Minimum           = 0;
            MainProgressBar.Maximum           = 100;
            MainProgressBar.Value             = 0;
            MainProgressBar.Step              = 1;
            MainProgressBar.Enabled           = false;
            AllowReplacementsCheckbox.Checked = true;

            ChangeCancelToStartButton();

            theDealer = new BackgroundWorker();
            hoju      = new Homer();
        }
        private EncodingComboBox BuildFileOpenFallbackEncodingComboBox()
        {
            int fixedEncoding = -1;
            ConfigFileOpenFallbackEncoding fileOpenFallbackEncodingConfig = Base.Config.FileOpenFallbackEncoding;

            if (fileOpenFallbackEncodingConfig == ConfigFileOpenFallbackEncoding.Fixed)
            {
                string encodingName = Base.Config.FileOpenFallbackEncodingFixed;
                EncodingDescription encodingDescription = EncodingDescription.Empty;
                Encodings.Find(encodingName, ref encodingDescription);
                fixedEncoding = encodingDescription.CodePage;
            }

            EncodingComboBox comboBox = new EncodingComboBox(false, null, fixedEncoding);

            comboBox.SelectionChanged += OnDefaultsFileOpenFallbackEncodingChanged;
            return(comboBox);
        }
示例#4
0
        private void BuildEncodingComboBox()
        {
            int fixedEncoding = GetFixedEncoding();
            ConfigFileSaveEncoding encodingConfig = Base.Config.FileSaveEncoding;

            if (encodingConfig == ConfigFileSaveEncoding.Fixed)
            {
                string encodingCode = Base.Config.FileSaveEncodingFixed;
                EncodingDescription encodingDescription = EncodingDescription.Empty;
                Encodings.Find(encodingCode, ref encodingDescription);
                fixedEncoding = encodingDescription.CodePage;
            }

            encodingComboBox = new EncodingComboBox(false, null, fixedEncoding);

            /* Only need to handle the case of currentLocale, as Fixed and Keep Existent is handled before */
            if (encodingConfig == ConfigFileSaveEncoding.CurrentLocale)
            {
                encodingComboBox.ActiveSelection = (int)encodingConfig;
            }
        }
示例#5
0
        private EncodingComboBox BuildEncodingComboBox()
        {
            int fixedEncoding = -1;
            ConfigFileOpenEncoding encodingConfig = Base.Config.FileOpenEncoding;

            if (encodingConfig == ConfigFileOpenEncoding.Fixed)
            {
                string encodingCode = Base.Config.FileOpenEncodingFixed;
                EncodingDescription encodingDescription = EncodingDescription.Empty;
                Encodings.Find(encodingCode, ref encodingDescription);
                fixedEncoding = encodingDescription.CodePage;
            }

            EncodingComboBox comboBox = new EncodingComboBox(true, null, fixedEncoding);

            /* Only need to handle the case of currentLocale, as Fixed is handled before and AutoDetect is the default behaviour */
            if (encodingConfig == ConfigFileOpenEncoding.CurrentLocale)
            {
                comboBox.ActiveSelection = (int)encodingConfig;
            }

            return(comboBox);
        }
        private EncodingComboBox BuildFileSaveEncodingComboBox()
        {
            string[] additionalActions = { Catalog.GetString("Keep the encoding used on file open"), Catalog.GetString("Remember the last used encoding") };
            int      fixedEncoding     = -1;
            ConfigFileSaveEncodingOption fileSaveEncodingOption = Base.Config.FileSaveEncodingOption;

            if (fileSaveEncodingOption == ConfigFileSaveEncodingOption.Specific)
            {
                string encodingName = Base.Config.FileSaveEncodingFixed;
                EncodingDescription encodingDescription = EncodingDescription.Empty;
                Encodings.Find(encodingName, ref encodingDescription);
                fixedEncoding = encodingDescription.CodePage;
            }

            EncodingComboBox comboBox = new EncodingComboBox(false, additionalActions, fixedEncoding);

            if (fileSaveEncodingOption != ConfigFileSaveEncodingOption.Specific)
            {
                comboBox.ActiveSelection = (int)fileSaveEncodingOption;
            }
            comboBox.SelectionChanged += OnDefaultsFileSaveEncodingChanged;
            return(comboBox);
        }
        private Widget BuildFilesPage()
        {
            Box box = new Box(Orientation.Vertical, WidgetStyles.BoxSpacingLarge);

            box.BorderWidth = WidgetStyles.BorderWidthLarge;

            //Translation File Saving

            CheckButton translationFileSaving = new CheckButton(Catalog.GetString("When saving subtitle files, automatically save their _translation"));

            translationFileSaving.Active   = Base.Config.FileTranslationSaveAll;
            translationFileSaving.Toggled += OnTranslationSaveAllToggled;
            box.Add(Util.CreateFrameWithContent(Catalog.GetString("Translation File Saving"), translationFileSaving));


            //File Open Dialog

            Grid fileOpenDialogGrid = new Grid();

            fileOpenDialogGrid.RowSpacing    = WidgetStyles.RowSpacingMedium;
            fileOpenDialogGrid.ColumnSpacing = WidgetStyles.ColumnSpacingMedium;

            fileOpenDialogGrid.Attach(Util.CreateLabel(Catalog.GetString("Character c_oding to use:"), 0, 0.5f), 0, 0, 1, 1);
            fileOpenEncoding = BuildFileOpenEncodingComboBox();
            fileOpenDialogGrid.Attach(fileOpenEncoding.Widget, 1, 0, 1, 1);

            fileOpenDialogGrid.Attach(Util.CreateLabel(Catalog.GetString("If auto detection _fails, use:"), 0, 0.5f), 0, 1, 1, 1);
            fileOpenFallbackEncoding = BuildFileOpenFallbackEncodingComboBox();
            fileOpenDialogGrid.Attach(fileOpenFallbackEncoding.Widget, 1, 1, 1, 1);

            CheckButton videoAutoChoose = new CheckButton(Catalog.GetString("Automatically choose the _video file to open"));

            videoAutoChoose.Active   = Base.Config.VideoAutoChooseFile;
            videoAutoChoose.Toggled += OnVideoAutoChooseFileToggled;
            fileOpenDialogGrid.Attach(videoAutoChoose, 0, 2, 2, 1);

            box.Add(Util.CreateFrameWithContent(Catalog.GetString("File Open Dialog"), fileOpenDialogGrid));


            //File Save As Dialog

            Grid fileSaveAsDialogGrid = new Grid();

            fileSaveAsDialogGrid.RowSpacing    = WidgetStyles.RowSpacingMedium;
            fileSaveAsDialogGrid.ColumnSpacing = WidgetStyles.ColumnSpacingMedium;

            fileSaveAsDialogGrid.Attach(Util.CreateLabel(Catalog.GetString("_Subtitle format to use:"), 0, 0.5f), 0, 0, 1, 1);
            fileSaveFormat = BuildFileSaveFormatComboBox();
            fileSaveAsDialogGrid.Attach(fileSaveFormat.Widget, 1, 0, 1, 1);

            fileSaveAsDialogGrid.Attach(Util.CreateLabel(Catalog.GetString("Ch_aracter coding to use:"), 0, 0.5f), 0, 1, 1, 1);
            fileSaveEncoding = BuildFileSaveEncodingComboBox();
            fileSaveAsDialogGrid.Attach(fileSaveEncoding.Widget, 1, 1, 1, 1);

            fileSaveAsDialogGrid.Attach(Util.CreateLabel(Catalog.GetString("_Newline type to use:"), 0, 0.5f), 0, 2, 1, 1);
            fileSaveNewline = BuildFileSaveNewlineComboBox();
            fileSaveAsDialogGrid.Attach(fileSaveNewline.Widget, 1, 2, 1, 1);

            box.Add(Util.CreateFrameWithContent(Catalog.GetString("File Save As Dialog"), fileSaveAsDialogGrid));


            //Backup

            Box  backupBox         = new Box(Orientation.Horizontal, 3);
            bool autoBackupEnabled = Base.Config.BackupAuto;

            CheckButton backupCheckButton = new CheckButton(Catalog.GetString("Create a _backup copy of files every"));

            backupCheckButton.Active   = autoBackupEnabled;
            backupCheckButton.Toggled += OnAutoBackupToggled;
            backupBox.Add(backupCheckButton);

            autoBackupSpinButton            = new SpinButton(1, 90, 1);
            autoBackupSpinButton.Numeric    = true;
            autoBackupSpinButton.WidthChars = 2;
            autoBackupSpinButton.Sensitive  = autoBackupEnabled;
            autoBackupSpinButton.Value      = Base.Config.BackupTime / 60; //Minutes
            autoBackupSpinButton.Changed   += OnAutoBackupTimeSpinButtonValueChanged;
            backupBox.Add(autoBackupSpinButton);

            backupBox.Add(new Label(Catalog.GetString("minutes")));

            box.Add(Util.CreateFrameWithContent(Catalog.GetString("Backup"), backupBox));

            return(box);
        }