コード例 #1
0
 public async Task Handle(Login request)
 {
     await
     _tokenRefresher.HandleLogin(request.Info, await SettingsContext.GetSettings().ConfigureAwait(false))
     .Void()
     .ConfigureAwait(false);
 }
コード例 #2
0
        private void ExportSettingsButtonClick(object sender, EventArgs e)
        {
            this.telemetry.WriteEvent("ExportSettings");
            String filename = GetSaveAsFilename(XML_FILTER);

            if (String.IsNullOrEmpty(filename))
            {
                return;
            }

            try {
                var exporter = SettingsContext.GetService <ISettingsExport>();
                exporter.Export(SettingsContext.GetSettings());
                exporter.Export(SettingsContext.GetService <IRainbowSettings>());
                exporter.Export(SettingsContext.GetService <IXmlSettings>());

                var languageFactory = SettingsContext.GetService <ILanguageFactory>();
                foreach (var lang in languageFactory.GetAllLanguages())
                {
                    exporter.Export(lang.Settings);
                }
                exporter.Save(filename);
                MessageBox.Show(this, "Settings exported successfully.", "Viasfora", MessageBoxButtons.OK, MessageBoxIcon.Information);
            } catch (Exception ex) {
                this.telemetry.WriteException("Failed to export settings", ex);
                MessageBox.Show(this, "Could not export settings: " + ex.Message, "Viasfora", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
コード例 #3
0
        public override void LoadSettingsFromStorage()
        {
            var settings = SettingsContext.GetSettings();

            CurrentLineHighlightEnabled   = settings.CurrentLineHighlightEnabled;
            CurrentColumnHighlightEnabled = settings.CurrentColumnHighlightEnabled;
            CurrentColumnHighlightStyle   = settings.CurrentColumnHighlightStyle;
            this.highlightLineWidth       = settings.HighlightLineWidth;
            KeywordClassifierEnabled      = settings.KeywordClassifierEnabled;
            FlowControlKeywordsEnabled    = settings.FlowControlKeywordsEnabled;
            VisibilityKeywordsEnabled     = settings.VisibilityKeywordsEnabled;
            QueryKeywordsEnabled          = settings.QueryKeywordsEnabled;
            FlowControlUseItalics         = settings.FlowControlUseItalics;
            EscapeSeqHighlightEnabled     = settings.EscapeSequencesEnabled;
            DevMarginEnabled     = settings.DeveloperMarginEnabled;
            AutoExpandRegions    = settings.AutoExpandRegions;
            BoldAsItalicsEnabled = settings.BoldAsItalicsEnabled;
            ModelinesEnabled     = settings.ModelinesEnabled;
            ModelinesNumLines    = (uint)settings.ModelinesNumLines;
            TelemetryEnabled     = settings.TelemetryEnabled;

            this.colors = new ClassificationList(new ColorStorage(this.Site));
            this.colors.Load(
                Constants.LINE_HIGHLIGHT,
                Constants.COLUMN_HIGHLIGHT,
                Constants.FLOW_CONTROL_CLASSIF_NAME,
                Constants.LINQ_CLASSIF_NAME,
                Constants.VISIBILITY_CLASSIF_NAME,
                Constants.STRING_ESCAPE_CLASSIF_NAME,
                Constants.FORMAT_SPECIFIER_NAME
                );
        }
コード例 #4
0
 public async Task Handle(SetLogin request)
 {
     (await SettingsContext.GetSettings().ConfigureAwait(false)).Secure.Login.Authentication.AccessToken =
         request.ApiKey;
     // TODO: Now handle the AccountInfo + PremiumToken
     // TODO: Refresh token when webbrowser refreshes...
 }
コード例 #5
0
 public PresentationModeFontChanger(IPresentationModeState state)
 {
     this.packageState   = state;
     this.enabled        = false;
     this.settings       = SettingsContext.GetSettings();
     this.categories     = GetCategories();
     this.fontsAndColors = state.GetService <IVsFontAndColorStorage>();
 }
コード例 #6
0
        public override void LoadSettingsFromStorage()
        {
            base.LoadSettingsFromStorage();
            var settings = SettingsContext.GetSettings();

            TextCompletionEnabled = settings.TextCompletionEnabled;
            CompleteDuringTyping  = settings.TCCompleteDuringTyping;
            HandleCompleteWord    = settings.TCHandleCompleteWord;
        }
コード例 #7
0
        public override void SaveSettingsToStorage()
        {
            base.SaveSettingsToStorage();
            language.ControlFlow = ControlFlowKeywords.ToArray();
            language.Enabled     = Enabled;
            var settings = SettingsContext.GetSettings();

            settings.Save();
        }
コード例 #8
0
        public override void LoadSettingsFromStorage()
        {
            base.LoadSettingsFromStorage();
            var settings = SettingsContext.GetSettings();

            dialog.PMEnabled               = settings.PresentationModeEnabled;
            dialog.DefaultZoom             = settings.PresentationModeDefaultZoom;
            dialog.EnabledZoom             = settings.PresentationModeEnabledZoom;
            dialog.IncludeEnvironmentFonts = settings.PresentationModeIncludeEnvFonts;
        }
コード例 #9
0
        public override void SaveSettingsToStorage()
        {
            base.SaveSettingsToStorage();
            var settings = SettingsContext.GetSettings();

            settings.TextCompletionEnabled  = TextCompletionEnabled;
            settings.TCCompleteDuringTyping = CompleteDuringTyping;
            settings.TCHandleCompleteWord   = HandleCompleteWord;
            settings.Save();
        }
コード例 #10
0
        //public async Task Handle(ApiActionFinished notification) {
        //  Notify("Action", "action finished");
        //}

        //public async Task Handle(ApiException notification) {
        //  Notify("Error", notification.Exception.Message);
        //}

        /*
         * public void Handle(InstallActionCompleted notification) {
         *  var info = GetInfo(notification);
         *  if (notification.Action.HideLaunchAction)
         *      return;
         *  TrayNotify(new ShowTrayNotification("content installed",
         *      info.Text,
         *      actions: CreateActions(notification, info), expirationTime: defaultExpirationTime));
         * }
         *
         * static TrayAction[] CreateActions(InstallActionCompleted notification, ActionInfo info) => info.Actions.Select(
         *  x => new TrayAction {
         *      DisplayName = x.ToString(),
         *      Command = CreateCommand(notification, x)
         *  }).ToArray();
         *
         * static ActionInfo GetInfo(InstallActionCompleted notification) {
         *  // TODO: Consider more elegant approach to getting the info for the type of content..
         *  if (notification.Action.Content.Count != 1)
         *      return DefaultAction(notification);
         *  var c = notification.Action.Content.First().Content as NetworkCollection;
         *  // TODO: Consider double action,
         *  // then need to allow specify the action to execute on a collection,
         *  // as play currently auto joins if has server etc ;-)
         *  if (c != null && c.Servers.Any()) {
         *      return new ActionInfo {
         *          Actions = new[] {PlayAction.Join, PlayAction.Launch},
         *          Text = "do you wish to join the server of " + notification.Action.Name + "?"
         *      };
         *  }
         *  return DefaultAction(notification);
         * }
         *
         * static ActionInfo DefaultAction(InstallActionCompleted notification) => new ActionInfo {
         *  Actions = new[] {PlayAction.Launch},
         *  Text = "do you want to play " + notification.Action.Name + "?"
         * };
         *
         * void TrayNotify(ShowTrayNotification showTrayNotification) {
         *  if (!SettingsContext.Settings.Local.ShowDesktopNotifications)
         *      return;
         *  showTrayNotification.PublishToMessageBus();
         * }
         */

        async Task Notify(string subject, string text, params TrayAction[] actions)
        {
            if (!(await SettingsContext.GetSettings()).Local.ShowDesktopNotifications)
            {
                return;
            }
            foreach (var n in _notifiers)
            {
                var t = n.Notify(subject, text, actions: actions); // hmm
            }
        }
コード例 #11
0
        public override void SaveSettingsToStorage()
        {
            base.SaveSettingsToStorage();
            var settings = SettingsContext.GetSettings();

            settings.PresentationModeEnabled         = dialog.PMEnabled;
            settings.PresentationModeDefaultZoom     = dialog.DefaultZoom;
            settings.PresentationModeEnabledZoom     = dialog.EnabledZoom;
            settings.PresentationModeIncludeEnvFonts = dialog.IncludeEnvironmentFonts;
            settings.Save();
        }
コード例 #12
0
        public override void LoadSettingsFromStorage()
        {
            base.LoadSettingsFromStorage();
            var settings = SettingsContext.GetSettings();

            this.dialog.Entries.Clear();
            var entries = settings.TextObfuscationRegexes.ListFromJson <RegexEntry>();

            foreach (var entry in entries)
            {
                this.dialog.Entries.Add(entry);
            }
        }
コード例 #13
0
        public override void SaveSettingsToStorage()
        {
            base.SaveSettingsToStorage();

            // This call is necessary so that if the grid has the focus
            // it loses it so that changes to the data context are
            // propagated properly!
            MoveFocusToNext();

            var settings = SettingsContext.GetSettings();

            settings.TextObfuscationRegexes = dialog.Entries.ListToJson();
            settings.Save();
        }
コード例 #14
0
        public override void LoadSettingsFromStorage()
        {
            base.LoadSettingsFromStorage();
            var settings = SettingsContext.GetSettings();

            CurrentLineHighlightEnabled   = settings.CurrentLineHighlightEnabled;
            CurrentColumnHighlightEnabled = settings.CurrentColumnHighlightEnabled;
            highlightLineWidth            = settings.HighlightLineWidth;
            KeywordClassifierEnabled      = settings.KeywordClassifierEnabled;
            FlowControlUseItalics         = settings.FlowControlUseItalics;
            EscapeSeqHighlightEnabled     = settings.EscapeSequencesEnabled;
            DevMarginEnabled     = settings.DeveloperMarginEnabled;
            AutoExpandRegions    = settings.AutoExpandRegions;
            BoldAsItalicsEnabled = settings.BoldAsItalicsEnabled;
            ModelinesEnabled     = settings.ModelinesEnabled;
            ModelinesNumLines    = (uint)settings.ModelinesNumLines;
            TelemetryEnabled     = settings.TelemetryEnabled;
        }
コード例 #15
0
        public override void SaveSettingsToStorage()
        {
            base.SaveSettingsToStorage();
            var settings        = SettingsContext.GetSettings();
            var rainbowSettings = SettingsContext.GetSpecificSettings <IRainbowSettings>();

            settings.CurrentLineHighlightEnabled   = CurrentLineHighlightEnabled;
            settings.CurrentColumnHighlightEnabled = CurrentColumnHighlightEnabled;
            settings.HighlightLineWidth            = this.HighlightLineWidth;
            settings.KeywordClassifierEnabled      = KeywordClassifierEnabled;
            settings.FlowControlUseItalics         = FlowControlUseItalics;
            settings.EscapeSequencesEnabled        = EscapeSeqHighlightEnabled;
            settings.DeveloperMarginEnabled        = DevMarginEnabled;
            settings.AutoExpandRegions             = AutoExpandRegions;
            settings.BoldAsItalicsEnabled          = BoldAsItalicsEnabled;
            settings.ModelinesEnabled  = ModelinesEnabled;
            settings.ModelinesNumLines = (int)ModelinesNumLines;
            settings.TelemetryEnabled  = TelemetryEnabled;
            settings.Save();
        }
コード例 #16
0
        public override void SaveSettingsToStorage()
        {
            var settings = SettingsContext.GetSettings();

            settings.CurrentLineHighlightEnabled   = CurrentLineHighlightEnabled;
            settings.CurrentColumnHighlightEnabled = CurrentColumnHighlightEnabled;
            settings.CurrentColumnHighlightStyle   = CurrentColumnHighlightStyle;
            settings.HighlightLineWidth            = HighlightLineWidth;
            settings.KeywordClassifierEnabled      = KeywordClassifierEnabled;
            settings.FlowControlKeywordsEnabled    = FlowControlKeywordsEnabled;
            settings.VisibilityKeywordsEnabled     = VisibilityKeywordsEnabled;
            settings.QueryKeywordsEnabled          = QueryKeywordsEnabled;
            settings.FlowControlUseItalics         = FlowControlUseItalics;
            settings.EscapeSequencesEnabled        = EscapeSeqHighlightEnabled;
            settings.DeveloperMarginEnabled        = DevMarginEnabled;
            settings.AutoExpandRegions             = AutoExpandRegions;
            settings.BoldAsItalicsEnabled          = BoldAsItalicsEnabled;
            settings.ModelinesEnabled  = ModelinesEnabled;
            settings.ModelinesNumLines = (int)ModelinesNumLines;
            settings.TelemetryEnabled  = TelemetryEnabled;
            settings.Save();

            this.colors.Save();
        }
コード例 #17
0
ファイル: GetMiniMain.cs プロジェクト: dkv01/withSIX.Desktop
 public async Task <IMiniMainWindowViewModel> Handle(GetMiniMain request)
 =>
 new MiniMainWindowViewModel(new StatusViewModel(_stateHandler.StatusObservable),
                             new TrayMainWindowMenu((await SettingsContext.GetSettings().ConfigureAwait(false)).Secure.Login ??
                                                    LoginInfo.Default));
コード例 #18
0
 public async Task <GeneralSettings> Handle(GetGeneralSettings request)
 => (await SettingsContext.GetSettings().ConfigureAwait(false)).MapTo <GeneralSettings>();
コード例 #19
0
 public async Task Handle(SaveGeneralSettings request)
 {
     request.Settings.MapTo(await SettingsContext.GetSettings().ConfigureAwait(false));
 }