예제 #1
0
        public void Load()
        {
            var settings = OpenWithSettings.Read();

            LoadUserDefinedFileViewers(settings);

            LoadDefaultDisplayBindingMappings(settings);
        }
 public static void Save(
     Dictionary <DisplayBindingMappingKey, string> mappings,
     Dictionary <DisplayBindingMappingKey, List <UserDefinedOpenWithFileViewer> > userDefinedFileViewers)
 {
     try {
         var settings = new OpenWithSettings(mappings, userDefinedFileViewers);
         settings.Save();
     } catch (Exception ex) {
         LoggingService.LogError("Unable to save Open With configuration.", ex);
     }
 }
        public static OpenWithSettings Read()
        {
            var settings = new OpenWithSettings();

            try {
                settings.ReadSettings();
            } catch (Exception ex) {
                LoggingService.LogError("Unable to read Open With configuration.", ex);
            }

            return(settings);
        }
예제 #4
0
        void LoadDefaultDisplayBindingMappings(OpenWithSettings settings)
        {
            foreach (var keyValuePair in settings.Mappings)
            {
                var dummyFileName = new FilePath("a.txt")
                                    .ChangeExtension(keyValuePair.Key.FileExtension);

                OpenWithFileViewer openFileViewer = FindMappedFileViewer(dummyFileName, keyValuePair);
                if (openFileViewer != null)
                {
                    SetAsDefault(dummyFileName, keyValuePair.Key.MimeType, openFileViewer);
                }
                else
                {
                    LoggingService.LogWarning(
                        "Unable to find display binding for mapping. {0} Extension={1}, MimeType={2}",
                        keyValuePair.Value,
                        keyValuePair.Key.FileExtension,
                        keyValuePair.Key.MimeType);
                }
            }
        }
예제 #5
0
        void LoadUserDefinedFileViewers(OpenWithSettings settings)
        {
            foreach (var keyValuePair in settings.UserDefinedFileViewers)
            {
                var dummyFileName = new FilePath("a.txt")
                                    .ChangeExtension(keyValuePair.Key.FileExtension);
                foreach (var userDefinedFileViewer in keyValuePair.Value)
                {
                    AddUserDefinedViewer(
                        dummyFileName,
                        keyValuePair.Key.MimeType,
                        userDefinedFileViewer);

                    if (userDefinedFileViewer.IsDefault)
                    {
                        SetAsDefault(
                            dummyFileName,
                            keyValuePair.Key.MimeType,
                            userDefinedFileViewer);
                    }
                }
            }
        }
예제 #6
0
 public void Save()
 {
     OpenWithSettings.Save(mappings, userDefinedFileViewers);
 }