示例#1
0
文件: Plugin.cs 项目: ts295983632/vrs
        /// <summary>
        /// See interface docs.
        /// </summary>
        /// <param name="parameters"></param>
        public void Startup(PluginStartupParameters parameters)
        {
            Singleton = this;
            var options = OptionsStorage.Load(this);

            _HtmlLocaliser = Factory.Resolve <IHtmlLocaliser>();
            _HtmlLocaliser.Initialise();
            _HtmlLocaliser.AddResourceStrings(typeof(FeedFilterStrings));

            _WebSiteExtender                  = Factory.Resolve <IWebSiteExtender>();
            _WebSiteExtender.Enabled          = false;
            _WebSiteExtender.WebRootSubFolder = "Web";
            _WebSiteExtender.PageHandlers.Add(String.Format("/{0}/FetchFilterConfiguration.json", ProtectedFolder), FetchFilterConfiguration);
            _WebSiteExtender.PageHandlers.Add(String.Format("/{0}/SaveFilterConfiguration.json", ProtectedFolder), SaveFilterConfiguration);
            _WebSiteExtender.Initialise(parameters);

            var redirection = Factory.ResolveSingleton <IRedirectionConfiguration>();

            redirection.AddRedirection("/FeedFilter", "/FeedFilter/index.html", RedirectionContext.Any);
            redirection.AddRedirection("/FeedFilter/", "/FeedFilter/index.html", RedirectionContext.Any);

            parameters.WebSite.HtmlLoadedFromFile += WebSite_HtmlLoadedFromFile;

            ApplyOptions(options);
        }
示例#2
0
文件: Plugin.cs 项目: ts295983632/vrs
        /// <summary>
        /// See interface docs.
        /// </summary>
        public void ShowWinFormsOptionsUI()
        {
            using (var dialog = new WinForms.OptionsView()) {
                dialog.Options           = OptionsStorage.Load(this);
                dialog.FilterSettingsUrl = FilterSettingsUrl;

                if (dialog.ShowDialog() == DialogResult.OK)
                {
                    OptionsStorage.Save(this, dialog.Options);
                    ApplyOptions(dialog.Options);
                }
            }
        }
示例#3
0
文件: Plugin.cs 项目: nevrrmind/vrs
        /// <summary>
        /// See interface docs.
        /// </summary>
        public void ShowWinFormsOptionsUI()
        {
            using(var dialog = new WinForms.OptionsView()) {
                var webServer = Factory.ResolveSingleton<IAutoConfigWebServer>().WebServer;

                dialog.Options = OptionsStorage.Load(this);
                dialog.FilterSettingsUrl = String.Format("{0}/FeedFilter/index.html", webServer.LocalAddress);

                if(dialog.ShowDialog() == DialogResult.OK) {
                    OptionsStorage.Save(this, dialog.Options);
                    ApplyOptions(dialog.Options);
                }
            }
        }
示例#4
0
        /// <summary>
        /// Initialises the object.
        /// </summary>
        public static void Initialise(Plugin plugin)
        {
            if (!_Initialised)
            {
                _Initialised = true;

                var options = OptionsStorage.Load(plugin);
                _ParsedConfiguration.ApplyOptionsChange(options);

                var filterConfiguration = FilterConfigurationStorage.Load();
                _ParsedConfiguration.ApplyFilterConfigurationChange(filterConfiguration);

                OptionsStorage.OptionsChanged += OptionsStorage_OptionsChanged;
                FilterConfigurationStorage.FilterConfigurationChanged += FilterConfigurationStorage_FilterConfigurationChanged;
            }
        }