Exemplo n.º 1
0
        private void OnDefaultsFileSaveEncodingChanged(object o, EventArgs args)
        {
            int active = fileSaveEncoding.ActiveSelection;
            ConfigFileSaveEncodingOption activeOption = (ConfigFileSaveEncodingOption)Enum.ToObject(typeof(ConfigFileSaveEncodingOption), active);

            if (((int)activeOption) > ((int)ConfigFileSaveEncodingOption.Specific))     //Positions higher than specific are always specific too
            {
                activeOption = ConfigFileSaveEncodingOption.Specific;
            }

            Base.Config.FileSaveEncodingOption = activeOption;
            /* If encoding is specific, encodingOption=Specific and encoding holds the encoding name */
            if (activeOption == ConfigFileSaveEncodingOption.Specific)
            {
                EncodingDescription chosenEncoding = fileSaveEncoding.ChosenEncoding;
                if (!chosenEncoding.Equals(EncodingDescription.Empty))
                {
                    Base.Config.FileSaveEncodingFixed = chosenEncoding.Name;
                }
            }
            else
            {
                /* If encoding option is current locale, encoding holds current locale too, otherwise it just holds keep existing */
                ConfigFileSaveEncoding encodingToStore = ConfigFileSaveEncoding.KeepExisting;
                if (activeOption == ConfigFileSaveEncodingOption.CurrentLocale)
                {
                    encodingToStore = ConfigFileSaveEncoding.CurrentLocale;
                }
                Base.Config.FileSaveEncoding = encodingToStore;
            }
        }
Exemplo n.º 2
0
        protected override bool ProcessResponse(ResponseType response)
        {
            if (response == ResponseType.Ok)
            {
                chosenFilename = (Dialog as FileChooserDialog).Filename;
                chosenEncoding = encodingComboBox.ChosenEncoding;

                if (Base.Config.FileOpenEncodingOption == ConfigFileOpenEncodingOption.RememberLastUsed)
                {
                    int activeAction = encodingComboBox.ActiveSelection;
                    ConfigFileOpenEncoding activeOption = (ConfigFileOpenEncoding)Enum.ToObject(typeof(ConfigFileOpenEncoding), activeAction);
                    if (((int)activeOption) >= ((int)ConfigFileOpenEncoding.Fixed))
                    {
                        Base.Config.FileOpenEncodingFixed = chosenEncoding.Code;
                    }
                    else
                    {
                        Base.Config.FileOpenEncoding = activeOption;
                    }
                }

                if ((videoComboBox != null) && (videoComboBox.Active > 0))
                {
                    int videoFileIndex = videoComboBox.Active - 2;
                    chosenVideoUri = new Uri("file://" + videoFiles[videoFileIndex] as string);
                }
                SetReturnValue(true);
            }
            return(false);
        }
Exemplo n.º 3
0
        private void LoadEncodings()
        {
            bool      toAddFixedEncoding = (fixedEncoding != -1);
            ArrayList encodings          = new ArrayList();

            foreach (string name in configShownEncodings)
            {
                EncodingDescription description = EncodingDescription.Empty;
                if (Encodings.Find(name, ref description))
                {
                    encodings.Add(description);
                    if (toAddFixedEncoding && (description.CodePage == fixedEncoding))
                    {
                        toAddFixedEncoding = false;
                    }
                }
            }

            if (toAddFixedEncoding)
            {
                EncodingDescription description = EncodingDescription.Empty;
                if (Encodings.Find(fixedEncoding, ref description))
                {
                    encodings.Add(description);
                }
            }

            encodings.Sort();
            encodings.Insert(0, Encodings.SystemDefault);

            this.encodings = encodings;
        }
Exemplo n.º 4
0
 private void AddToShownEncodings(EncodingDescription desc)
 {
     if (!IsAlreadyShown(desc.Name))
     {
         GetListStore(shownTreeView).AppendValues(desc.Description, desc.Name);
         UpdateShownEncodingsPrefs();
     }
 }
Exemplo n.º 5
0
        private void AddSelectedAvailableEncoding()
        {
            TreePath path = GetSelectedPath(availableTreeView);

            if (path == null)
            {
                return;
            }

            int encodingNumber       = Core.Util.PathToInt(path);
            EncodingDescription desc = Encodings.All[encodingNumber];

            AddToShownEncodings(desc);
        }
Exemplo n.º 6
0
        private int GetFileOpenCodePageFromConfig()
        {
            switch (Base.Config.FileOpenEncoding)
            {
            case ConfigFileOpenEncoding.CurrentLocale: return(Encodings.SystemDefault.CodePage);

            case ConfigFileOpenEncoding.Fixed:
                string encodingCode = Base.Config.FileOpenEncodingFixed;
                EncodingDescription encodingDescription = EncodingDescription.Empty;
                Encodings.Find(encodingCode, ref encodingDescription);
                return(encodingDescription.CodePage);

            default: return(-1);            //Also accounts for Auto Detect
            }
        }
Exemplo n.º 7
0
 private void OnDefaultsFileOpenFallbackEncodingChanged(object o, EventArgs args)
 {
     if (fileOpenFallbackEncoding.IsChosenCurrentLocale)
     {
         Base.Config.FileOpenFallbackEncoding = ConfigFileOpenFallbackEncoding.CurrentLocale;
     }
     else
     {
         EncodingDescription chosenEncoding = fileOpenFallbackEncoding.ChosenEncoding;
         if (!chosenEncoding.Equals(EncodingDescription.Empty))
         {
             Base.Config.FileOpenFallbackEncodingFixed = chosenEncoding.Name;
         }
     }
 }
Exemplo n.º 8
0
        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);
        }
Exemplo n.º 9
0
        private void FillShownEncodings()
        {
            SetColumns(shownTreeView);

            chosenNames = Base.Config.FileEncodingsShownInMenu;

            ListStore store = new ListStore(typeof(string), typeof(string));

            foreach (string shownEncoding in chosenNames)
            {
                EncodingDescription desc = EncodingDescription.Empty;
                if (Encodings.Find(shownEncoding, ref desc))
                {
                    store.AppendValues(desc.Description, desc.Name);
                }
            }

            SetModel(shownTreeView, store);
        }
Exemplo n.º 10
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;
            }
        }
Exemplo n.º 11
0
        /* Event members */

        protected override bool ProcessResponse(ResponseType response)
        {
            if (response == ResponseType.Ok)
            {
                /* Check chosen encoding */
                chosenEncoding = encodingComboBox.ChosenEncoding;
                if (Base.Config.FileSaveEncodingOption == ConfigFileSaveEncodingOption.RememberLastUsed)
                {
                    int activeAction = encodingComboBox.ActiveSelection;
                    ConfigFileSaveEncoding activeOption = (ConfigFileSaveEncoding)Enum.ToObject(typeof(ConfigFileSaveEncoding), activeAction);
                    if (((int)activeOption) >= ((int)ConfigFileSaveEncoding.Fixed))
                    {
                        Base.Config.FileSaveEncodingFixed = chosenEncoding.Code;
                    }
                    else
                    {
                        Base.Config.FileSaveEncoding = activeOption;
                    }
                }

                /* Check chosen subtitle format */
                chosenSubtitleType = formatComboBox.ChosenSubtitleType;
                if (Base.Config.FileSaveFormatOption == ConfigFileSaveFormatOption.RememberLastUsed)
                {
                    Base.Config.FileSaveFormatFixed = chosenSubtitleType;
                }

                /* Check chosen newline type */
                chosenNewlineType = newlineComboBox.ChosenNewlineType;
                if (Base.Config.FileSaveNewlineOption == ConfigFileSaveNewlineOption.RememberLastUsed)
                {
                    Base.Config.FileSaveNewline = chosenNewlineType;
                }

                chosenFilename = (Dialog as FileChooserDialog).Filename;
                SetReturnValue(true);
            }
            return(false);
        }
Exemplo n.º 12
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);
        }
Exemplo n.º 13
0
        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);
        }