示例#1
0
        FormMain()
        {
            setting = Service.Setting.Instance;
            core    = Service.Core.Instance;

            InitializeComponent();

            formMainCtrl = new Controller.FormMainCtrl();

            ListViewSupportRightClickMenu();

            UpdateUI();

            this.FormClosed += (s, a) =>
            {
                setting.OnSettingChange -= SettingChangeHandler;
                core.OnCoreStatChange   -= SettingChangeHandler;
            };

            Lib.UI.SetFormLocation <FormMain>(this, Model.Data.Enum.FormLocations.TopLeft);

            this.Text = string.Format(
                "{0} v{1}",
                Properties.Resources.AppName,
                Properties.Resources.Version);

            this.Show();
            setting.OnSettingChange += SettingChangeHandler;
            core.OnCoreStatChange   += SettingChangeHandler;
        }
示例#2
0
        private void FormMain_Shown(object sender, EventArgs e)
        {
            setting.RestoreFormRect(this);

            // https://alexpkent.wordpress.com/2011/05/11/25/
            ToolStripManager.LoadSettings(this);

            this.FormClosed += (s, a) =>
            {
                setting.SaveFormRect(this);
                ToolStripManager.SaveSettings(this);
                setting.OnSysProxyChanged -= OnSysProxyChangedHandler;
                formMainCtrl.Cleanup();
                servers.LazyGC();
            };

            this.Text = string.Format(
                "{0} v{1}",
                Properties.Resources.AppName,
                Properties.Resources.Version);

            formMainCtrl = InitFormMainCtrl();

            BindToolStripButtonToMenuItem();

            toolMenuItemCurrentSysProxy.Text = GetCurrentSysProxySetting();
            setting.OnSysProxyChanged       += OnSysProxyChangedHandler;
        }
示例#3
0
        private Controller.FormMainCtrl InitFormMainCtrl()
        {
            var ctrl = new Controller.FormMainCtrl();

            ctrl.Plug(new Controller.FormMainComponent.FlyServer(
                          flyServerListContainer,
                          cboxMarkFilter,
                          tboxFlySearcher));

            ctrl.Plug(new Controller.FormMainComponent.MenuItemsBasic(
                          toolMenuItemSimAddVmessServer,
                          toolMenuItemImportLinkFromClipboard,
                          toolMenuItemExportAllServerToFile,
                          toolMenuItemImportFromFile,
                          toolMenuItemCheckUpdate,
                          toolMenuItemAbout,
                          toolMenuItemHelp,
                          toolMenuItemConfigEditor,
                          toolMenuItemQRCode,
                          toolMenuItemLog,
                          toolMenuItemOptions,
                          toolStripMenuItemDownLoadV2rayCore,
                          toolStripMenuItemRemoveV2rayCore));

            ctrl.Plug(new Controller.FormMainComponent.MenuItemsSelect(
                          selectAllToolStripMenuItem,
                          selectNoneToolStripMenuItem,
                          selectInvertToolStripMenuItem,
                          selectAutorunToolStripMenuItem,
                          selectRunningToolStripMenuItem,
                          selectTimeoutToolStripMenuItem,
                          selectNoSpeedTestToolStripMenuItem));

            ctrl.Plug(new Controller.FormMainComponent.MenuItemsServer(
                          toolStripMenuItemStopSelected,
                          toolStripMenuItemRestartSelected,
                          toolMenuItemClearSysProxy,
                          toolMenuItemRefreshSummary,
                          toolStripMenuItemSpeedTestOnSelected,
                          toolStripMenuItemDeleteSelectedServers,
                          toolStripMenuItemCopyAsV2rayLink,
                          toolStripMenuItemCopyAsVmessLink,
                          toolStripMenuItemCopyAsSubscription,
                          toolStripMenuItemDeleteAllServer,
                          toolStripMenuItemModifySettings,
                          toolStripMenuItemPackSelectedServers,
                          toolStripMenuItemMoveToTop,
                          toolStripMenuItemMoveToBottom,
                          toolStripMenuItemCollapsePanel,
                          toolStripMenuItemExpansePanel,
                          toolStripMenuItemSortBySpeedTest,
                          toolStripMenuItemSortBySummary));

            return(ctrl);
        }
示例#4
0
        private Controller.FormMainCtrl InitFormMainCtrl()
        {
            var ctrl = new Controller.FormMainCtrl();

            ctrl.Plug(new Controller.FormMainComponent.FlyServer(
                          flyServerListContainer));

            ctrl.Plug(new Controller.FormMainComponent.MenuItems(
                          toolMenuItemSimAddVmessServer,
                          toolMenuItemImportLinkFromClipboard,
                          toolMenuItemExportAllServerToFile,
                          toolMenuItemImportFromFile,
                          toolMenuItemCheckUpdate,
                          toolMenuItemAbout,
                          toolMenuItemHelp,
                          toolMenuItemConfigEditor,
                          toolMenuItemQRCode,
                          toolMenuItemLog,
                          toolMenuItemOptions,
                          toolStripMenuItemDownLoadV2rayCore,
                          toolStripMenuItemRemoveV2rayCore));

            ctrl.Plug(new Controller.FormMainComponent.ServerMenuItems(
                          toolStripMenuItemStopSelected,
                          toolStripMenuItemRestartSelected,
                          toolMenuItemClearSysProxy,
                          toolMenuItemRefreshSummary,
                          toolMenuItemSelectAutorunServers,
                          toolStripMenuItemSelectAll,
                          toolStripMenuItemSelectNone,
                          toolStripMenuItemSelectInvert,
                          toolStripMenuItemSpeedTestOnSelected,
                          toolStripMenuItemDeleteSelectedServers,
                          toolStripMenuItemCopyAsV2rayLink,
                          toolStripMenuItemCopyAsVmessLink,
                          toolStripMenuItemCopyAsSubscription,
                          toolStripMenuItemDeleteAllServer));

            return(ctrl);
        }
示例#5
0
        private void FormMain_Shown(object sender, EventArgs e)
        {
            setting.RestoreFormRect(this);

            this.FormClosed += (s, a) =>
            {
                setting.SaveFormRect(this);
                setting.OnSysProxyChanged -= OnSysProxyChangedHandler;
                formMainCtrl.Cleanup();
                servers.LazyGC();
            };

            this.Text = string.Format(
                "{0} v{1}",
                Properties.Resources.AppName,
                Properties.Resources.Version);

            formMainCtrl = InitFormMainCtrl();

            toolMenuItemCurrentSysProxy.Text = GetCurrentSysProxySetting();
            setting.OnSysProxyChanged       += OnSysProxyChangedHandler;
        }
示例#6
0
        public void FormMain_Shown(object sender, EventArgs e)
        {
            UpdateFormTitle(this, EventArgs.Empty);
            setting.RestoreFormRect(this);

            // https://alexpkent.wordpress.com/2011/05/11/25/
            // 添加新控件的时候会有bug,不显示新控件
            // ToolStripManager.LoadSettings(this);

            this.FormClosing += (s, a) =>
            {
                if (updateTitleTimer != null)
                {
                    updateTitleTimer.Stop();
                    updateTitleTimer.Tick -= UpdateFormTitle;
                    updateTitleTimer.Dispose();
                }
            };

            this.FormClosed += (s, a) =>
            {
                setting.SaveFormRect(this);
                // ToolStripManager.SaveSettings(this);
                formMainCtrl.Cleanup();
                setting.LazyGC();
            };

            formMainCtrl = InitFormMainCtrl();
            BindToolStripButtonToMenuItem();

            updateTitleTimer = new Timer
            {
                Interval = 2000,
            };
            updateTitleTimer.Tick += UpdateFormTitle;
            updateTitleTimer.Start();
        }
示例#7
0
        private void FormMain_Shown(object sender, EventArgs e)
        {
            formMainCtrl = new Controller.FormMainCtrl();

            ListViewSupportRightClickMenu();

            UpdateUI();

            this.FormClosed += (s, a) =>
            {
                setting.OnSettingChange -= SettingChangeHandler;
                core.OnCoreStatChange   -= SettingChangeHandler;
            };

            Lib.UI.SetFormLocation <FormMain>(this, Model.Data.Enum.FormLocations.TopLeft);

            this.Text = string.Format(
                "{0} v{1}",
                Properties.Resources.AppName,
                Properties.Resources.Version);

            setting.OnSettingChange += SettingChangeHandler;
            core.OnCoreStatChange   += SettingChangeHandler;
        }
示例#8
0
        private void FormMain_Shown(object sender, EventArgs e)
        {
            setting.RestoreFormRect(this);

            // https://alexpkent.wordpress.com/2011/05/11/25/
            // 添加新控件的时候会有bug,不显示新控件
            // ToolStripManager.LoadSettings(this);

            this.FormClosed += (s, a) =>
            {
                setting.SaveFormRect(this);
                // ToolStripManager.SaveSettings(this);
                formMainCtrl.Cleanup();
                setting.LazyGC();
            };

            this.Text = string.Format(
                "{0} v{1}",
                Properties.Resources.AppName,
                Properties.Resources.Version);

            formMainCtrl = InitFormMainCtrl();
            BindToolStripButtonToMenuItem();
        }
示例#9
0
        private void FormMain_Shown(object sender, EventArgs e)
        {
            setting.RestoreFormRect(this, nameof(FormMain));

            this.FormClosed += (s, a) =>
            {
                setting.SaveFormRect(this, nameof(FormMain));
                setting.OnSysProxyChanged -= OnSysProxyChangedHandler;
                formMainCtrl.Cleanup();
                setting.LazyGC();
            };

            // Lib.UI.SetFormLocation<FormMain>(this, Model.Data.Enum.FormLocations.TopLeft);

            this.Text = string.Format(
                "{0} v{1}",
                Properties.Resources.AppName,
                Properties.Resources.Version);

            formMainCtrl = InitFormMainCtrl();

            toolMenuItemCurrentSysProxy.Text = GetCurrentSysProxySetting();
            setting.OnSysProxyChanged       += OnSysProxyChangedHandler;
        }
示例#10
0
        private Controller.FormMainCtrl InitFormMainCtrl()
        {
            var ctrl = new Controller.FormMainCtrl();

            ctrl.Plug(new Controller.FormMainComponent.FlyServer(
                          this,
                          flyServerListContainer,
                          toolStripLabelMarkFilter,
                          toolStripComboBoxMarkFilter,
                          toolStripStatusLabelTotal,
                          toolStripDropDownButtonPager,
                          toolStripStatusLabelPrePage,
                          toolStripStatusLabelNextPage,
                          toolStripMenuItemResize));

            ctrl.Plug(new Controller.FormMainComponent.MenuItemsBasic(
                          toolMenuItemSimAddVmessServer,
                          toolMenuItemImportLinkFromClipboard,
                          toolMenuItemExportAllServerToFile,
                          toolMenuItemImportFromFile,
                          toolMenuItemAbout,
                          toolMenuItemHelp,
                          toolMenuItemConfigEditor,
                          toolMenuItemQRCode,
                          toolMenuItemLog,
                          toolMenuItemOptions,
                          toolStripMenuItemDownLoadV2rayCore,
                          toolStripMenuItemRemoveV2rayCore,
                          toolMenuItemCheckUpdate));

            ctrl.Plug(new Controller.FormMainComponent.MenuItemsSelect(

                          /*
                           * ToolStripMenuItem selectAllCurPage,
                           * ToolStripMenuItem invertSelectionCurPage,
                           * ToolStripMenuItem selectNoneCurPage,
                           */
                          selectAllCurPageToolStripMenuItem,
                          invertSelectionCurPageToolStripMenuItem,
                          selectNoneCurPageToolStripMenuItem1,

                          /*
                           * ToolStripMenuItem selectAllAllPages,
                           * ToolStripMenuItem invertSelectionAllPages,
                           * ToolStripMenuItem selectNoneAllPages,
                           */
                          selectAllAllPagesToolStripMenuItem,
                          invertSelectionAllPagesToolStripMenuItem,
                          selectNoneAllPagesToolStripMenuItem,

                          /*
                           * ToolStripMenuItem selectAutorunAllPages,
                           * ToolStripMenuItem selectNoMarkAllPages,
                           * ToolStripMenuItem selectNoSpeedTestAllPages,
                           * ToolStripMenuItem selectRunningAllPages,
                           * ToolStripMenuItem selectTimeoutAllPages,
                           * ToolStripMenuItem selectUntrackAllPages,
                           */
                          selectAutorunAllPagesToolStripMenuItem,
                          selectNoMarkAllPagesToolStripMenuItem,
                          selectNoSpeedTestAllPagesToolStripMenuItem,
                          selectRunningAllPagesToolStripMenuItem,
                          selectTimeoutAllPagesToolStripMenuItem,
                          selectUntrackAllPagesToolStripMenuItem,

                          /*
                           * ToolStripMenuItem selectAllAllServers,
                           * ToolStripMenuItem invertSelectionAllServers,
                           * ToolStripMenuItem selectNoneAllServers,
                           */
                          selectAllAllServersToolStripMenuItem,
                          invertSelectionAllServersToolStripMenuItem,
                          selectNoneAllServersToolStripMenuItem,

                          /*
                           * ToolStripMenuItem selectAutorunAllServers,
                           * ToolStripMenuItem selectNoMarkAllServers,
                           * ToolStripMenuItem selectNoSpeedTestAllServers,
                           * ToolStripMenuItem selectRunningAllServers,
                           * ToolStripMenuItem selectTimeoutAllServers,
                           * ToolStripMenuItem selectUntrackAllServers,
                           */
                          selectAutorunAllServersToolStripMenuItem,
                          selectNoMarkAllServersToolStripMenuItem,
                          selectNoSpeedTestAllServersToolStripMenuItem,
                          selectRunningAllServersToolStripMenuItem,
                          selectTimeoutAllServersToolStripMenuItem,
                          selectUntrackAllServersToolStripMenuItem));

            ctrl.Plug(new Controller.FormMainComponent.MenuItemsServer(
                          // for invoke ui refresh
                          //MenuStrip menuContainer,
                          mainMneuStrip,

                          //// misc
                          //ToolStripMenuItem refreshSummary,
                          //ToolStripMenuItem deleteAllServers,
                          //ToolStripMenuItem deleteSelected,
                          refreshSummaryToolStripMenuItem,
                          deleteAllServersToolStripMenuItem,
                          deleteSelectedServersToolStripMenuItem,

                          //// copy
                          //ToolStripMenuItem copyAsV2cfgLinks,
                          //ToolStripMenuItem copyAsVmessLinks,
                          //ToolStripMenuItem copyAsSubscriptions,
                          toolStripMenuItemCopyAsV2cfgLink,
                          toolStripMenuItemCopyAsVmessLink,
                          toolStripMenuItemCopyAsVeeLink,
                          toolStripMenuItemCopyAsVmessSubscription,
                          toolStripMenuItemCopyAsVeeSubscription,

                          //// batch op
                          //ToolStripMenuItem speedTestOnSelected,
                          //ToolStripMenuItem modifySelected,
                          //ToolStripMenuItem stopSelected,
                          //ToolStripMenuItem restartSelected,
                          toolStripMenuItemSpeedTestOnSelected,
                          toolStripMenuItemModifySettings,
                          toolStripMenuItemStopSelected,
                          toolStripMenuItemRestartSelected,

                          //// view
                          //ToolStripMenuItem moveToTop,
                          //ToolStripMenuItem moveToBottom,
                          //ToolStripMenuItem foldPanel,
                          //ToolStripMenuItem expansePanel,
                          //ToolStripMenuItem sortBySpeed,
                          //ToolStripMenuItem sortBySummary)
                          toolStripMenuItemMoveToTop,
                          toolStripMenuItemMoveToBottom,
                          toolStripMenuItemFoldingPanel,
                          toolStripMenuItemExpansePanel,
                          toolStripMenuItemSortBySpeedTest,
                          toolStripMenuItemSortBySummary));

            return(ctrl);
        }