Exemplo n.º 1
0
        public ProgramSettings(IFileStorage fileStorage)
        {
            this._buferDefaultBackgroundColorSetting = new SettingItem <int>(
                Color.Silver.ToArgb(),
                User.Default.BuferDefaultBackgroundColor,
                (value) => { User.Default.BuferDefaultBackgroundColor = value; });

            this._showUserModeNotificationSetting = new SettingItem <bool>(
                false,
                User.Default.ShowUserModeNotification,
                (value) => { User.Default.ShowUserModeNotification = value; });

            this._restorePreviousSession = new SettingItem <bool>(
                true,
                User.Default.RestorePreviousSession,
                (value) => { User.Default.RestorePreviousSession = value; });

            this._pinnedBuferBackgroundColorSetting = new SettingItem <int>(
                Color.LightSlateGray.ToArgb(),
                User.Default.PinnedBuferBackgroundColor,
                (value) => { User.Default.PinnedBuferBackgroundColor = value; });

            this._currentBuferBackgroundColorSetting = new SettingItem <int>(
                Color.Silver.ToArgb(), // TODO (m) Consider new color: Color.LightGreen
                User.Default.CurrentBuferBackgroundColor,
                (value) => { User.Default.CurrentBuferBackgroundColor = value; });

            this._focusTooltipDurationSetting = new SettingItem <int>(
                2500,
                User.Default.FocusTooltipDuration,
                (value) => { User.Default.FocusTooltipDuration = value; });

            this._showFocusTooltipSetting = new SettingItem <bool>(
                true,
                User.Default.ShowFocusTooltip,
                (value) => { User.Default.ShowFocusTooltip = value; });

            this._settingItems = new List <ISettingItem>
            {
                this._buferDefaultBackgroundColorSetting,
                this._showUserModeNotificationSetting,
                this._restorePreviousSession,
                this._showFocusTooltipSetting,
                this._focusTooltipDurationSetting,
                this._pinnedBuferBackgroundColorSetting,
                this._currentBuferBackgroundColorSetting
            };

            this._defaultBufersFilePath = fileStorage.CombinePaths(
                fileStorage.DataDirectory,
                this.DefaultBufersFileName);

            if (!fileStorage.FileExists(this._defaultBufersFilePath))
            {
                fileStorage.CreateFile(this._defaultBufersFilePath);
            }
        }
Exemplo n.º 2
0
        public CacheStorage(IFileStorage storage)
        {
            __Storage = storage;

            var s = !__Storage.FileExists(MAP_FILE)
                ? __Storage.CreateFile(MAP_FILE)
                : __Storage.OpenFile(MAP_FILE, FileMode.Open);

            var serializer = new JsonSerializer {
                Formatting = Formatting.Indented
            };

            using (var file = new JsonTextReader(new StreamReader(s)))
            {
                __AudioDict = serializer.Deserialize <Dictionary <long, JsonAudioModel> >(file) ??
                              new Dictionary <long, JsonAudioModel>();
            }

            foreach (var jsonAudioModel in __AudioDict)
            {
                if (!__AudioIdList.ContainsKey(jsonAudioModel.Value.UserId))
                {
                    __AudioIdList.Add(jsonAudioModel.Value.UserId, new SortedList <int, long>());
                }
                __AudioIdList[jsonAudioModel.Value.UserId].Add(jsonAudioModel.Value.Index, jsonAudioModel.Key);
            }

            if (__Storage.FileExists(USERID_FILE))
            {
                try
                {
                    using (var file = new StreamReader(__Storage.OpenFile(USERID_FILE, FileMode.Open)))
                    {
                        __UserId = file.ReadToEnd();
                    }
                }
                catch
                {
                    //Ќичего не делать, последнего сохраненного алиаса не будет.
                }
            }

            if (__Storage.FileExists(AILASTOID_FILE))
            {
                try
                {
                    using (var file = new JsonTextReader(new StreamReader(__Storage.OpenFile(AILASTOID_FILE, FileMode.Open))))
                    {
                        __AliasMap = serializer.Deserialize <Dictionary <string, JsonUserModel> >(file);
                    }
                }
                catch
                {
                    //Ќичего не делать, карты алиасов не будет.
                }
            }
        }
Exemplo n.º 3
0
        public CacheStorage(IFileStorage storage)
        {
            __Storage = storage;

            var s = !__Storage.FileExists(MAP_FILE)
                ? __Storage.CreateFile(MAP_FILE)
                : __Storage.OpenFile(MAP_FILE, FileMode.Open);

            var serializer = new JsonSerializer { Formatting = Formatting.Indented };
            using (var file = new JsonTextReader(new StreamReader(s)))
            {
                __AudioDict = serializer.Deserialize<Dictionary<long, JsonAudioModel>>(file) ??
                              new Dictionary<long, JsonAudioModel>();
            }

            foreach (var jsonAudioModel in __AudioDict)
            {
                if (!__AudioIdList.ContainsKey(jsonAudioModel.Value.UserId))
                    __AudioIdList.Add(jsonAudioModel.Value.UserId, new SortedList<int, long>());
                __AudioIdList[jsonAudioModel.Value.UserId].Add(jsonAudioModel.Value.Index, jsonAudioModel.Key);
            }

            if (__Storage.FileExists(USERID_FILE))
            {
                try
                {
                    using (var file = new StreamReader(__Storage.OpenFile(USERID_FILE, FileMode.Open)))
                    {
                        __UserId = file.ReadToEnd();
                    }
                }
                catch
                {
                    //Ќичего не делать, последнего сохраненного алиаса не будет.
                }
            }

            if (__Storage.FileExists(AILASTOID_FILE))
            {
                try
                {
                    using (var file = new JsonTextReader(new StreamReader(__Storage.OpenFile(AILASTOID_FILE, FileMode.Open))))
                    {
                        __AliasMap = serializer.Deserialize<Dictionary<string, JsonUserModel>>(file);
                    }
                }
                catch
                {
                    //Ќичего не делать, карты алиасов не будет.
                }
            }
        }
Exemplo n.º 4
0
        private ICacheStream CreateCacheStream(IAudio audio)
        {
            var audioModel = new JsonAudioModel()
            {
                Artist   = audio.Artist,
                AudioId  = audio.AudioId,
                Duration = audio.Duration,
                Title    = audio.Title,
                UserId   = audio.UserId,
                Index    = audio.Index
            };

            __AudioDict.Add(audioModel.AudioId, audioModel);

            if (!__AudioIdList.ContainsKey(audio.UserId))
            {
                __AudioIdList.Add(audio.UserId, new SortedList <int, long>());
            }

            __AudioIdList[audioModel.UserId].Add(audioModel.Index, audioModel.AudioId);
            ICacheStream s = new CacheStream(__Storage.CreateFile(MakeFileName(audioModel)), audioModel);

            return(s);
        }