private void InitializeTabPageContent()
        {
            tabControl.TabPages.Clear();
            ChatTab = new ChatTab();
            lastTabPaths[ChatTab] = "chat/channel/zk";
            AddTabPage(ChatTab, "Chat");
            if (Environment.OSVersion.Platform != PlatformID.Unix && !Program.Conf.UseExternalBrowser)
            {
                if (!Program.Conf.SingleInstance) //run in multiple TAB?
                {
                    AddTabPage(new BrowserTab(GlobalConst.BaseSiteUrl + "/Maps", false), "Maps");
                    AddTabPage(new BrowserTab(GlobalConst.BaseSiteUrl + "/Missions", true, GlobalConst.BaseSiteUrl + "/Missions?no_menu=1"), "sp");
                    AddTabPage(new BrowserTab(GlobalConst.BaseSiteUrl + "/Battles", false), "rp");
                    AddTabPage(new BrowserTab(GlobalConst.BaseSiteUrl + "/Planetwars", false), "pw");
                    AddTabPage(new BrowserTab(GlobalConst.BaseSiteUrl + "/Forum", false), "fm");
                }
                AddTabPage(new BrowserTab(GlobalConst.BaseSiteUrl, true), "hm");
            }
            var battles = new BattleListTab();

            AddTabPage(battles, "Battles");
            AddTabPage(new SettingsTab(), "Settings");
            AddTabPage(new ServerTab(), "Server");
            var home = AddTabPage(new WelcomeTab(), "Welcome");

            tabControl.SelectTab(home);
        }
예제 #2
0
        public NavigationControl()
        {
            SuspendLayout();//(Increase performance), Reference: http://msdn.microsoft.com/en-us/library/system.windows.forms.control.suspendlayout.aspx
            InitializeComponent();

            isBusyTimer.Interval = 1020; //timer tick to update "isBusyIcon" every 1020 ms.
            isBusyTimer.Tick    += isBusyTimer_Tick;
            isBusyTimer.Start();

            ButtonList = new List <ButtonInfo>() //normal arrangement
            {
                new ButtonInfo()
                {
                    Label = "HOME", TargetPath = "http://zero-k.info/", Icon = Buttons.home, Height = 32, Width = 80
                },
                new ButtonInfo()
                {
                    Label = "CHAT", TargetPath = "chat", Icon = ZklResources.chat, Height = 32, Width = 65
                },
                new ButtonInfo()
                {
                    Label      = "SINGLEPLAYER",
                    TargetPath = "http://zero-k.info/Missions",
                    Icon       = Buttons.spherebot,
                    Width      = 125,
                    Height     = 32,
                },
                new ButtonInfo()
                {
                    Label      = "MULTIPLAYER",
                    TargetPath = "battles", Icon = ZklResources.battle,
                    Width      = 115,
                    Height     = 32,
                },

                new ButtonInfo()
                {
                    Label = "PLANETWARS", TargetPath = "http://zero-k.info/Planetwars", Height = 32,
                },
                new ButtonInfo()
                {
                    Label = "MAPS", TargetPath = "http://zero-k.info/Maps", Icon = Buttons.map, Height = 32, Width = 75
                },
                new ButtonInfo()
                {
                    Label = "REPLAYS", TargetPath = "http://zero-k.info/Battles", Icon = Buttons.video_icon, Height = 32, Width = 95
                },
                new ButtonInfo()
                {
                    Label = "FORUM", TargetPath = "http://zero-k.info/Forum", Height = 32, Width = 65,
                },
                new ButtonInfo()
                {
                    Label = "SETTINGS", TargetPath = "settings", Icon = Buttons.settings, Height = 32, Width = 100, Dock = DockStyle.Right
                },
            };

            Instance = this;

            tabControl.TabPages.Clear();

            chatTab = new ChatTab();

            lastTabPaths[chatTab] = string.Format("chat/channel/{0}", Program.Conf != null ? Program.Conf.AutoJoinChannels.OfType <string>().FirstOrDefault():"zk");
            AddTabPage(chatTab, "Chat");
            if (Environment.OSVersion.Platform != PlatformID.Unix && !Program.Conf.UseExternalBrowser)
            {
                if (!Program.Conf.SingleInstance) //run in multiple TAB?
                {
                    AddTabPage(new BrowserTab("http://zero-k.info/Maps", false), "Maps");
                    AddTabPage(new BrowserTab("http://zero-k.info/Missions", false), "sp");
                    AddTabPage(new BrowserTab("http://zero-k.info/Battles", false), "rp");
                    AddTabPage(new BrowserTab("http://zero-k.info/Planetwars", false), "pw");
                    AddTabPage(new BrowserTab("http://zero-k.info/Forum", true), "fm");
                }
                var home = AddTabPage(new BrowserTab("http://zero-k.info/", true), "hm");
                tabControl.SelectTab(home);
                if (Program.Conf.InterceptPopup)
                {
                    AddTabPage(new BrowserTab("http", false), "other"); //a tab with generic match that match 100% of random URL (block new window)
                    ButtonList.Add(new ButtonInfo()
                    {
                        Label = "OTHER", TargetPath = "http", Height = 32, Width = 65,
                    });
                }
                reloadButton1.Visible = true;
            }
            var battles = new BattleListTab();

            AddTabPage(battles, "Battles");
            AddTabPage(new SettingsTab(), "Settings");
            AddTabPage(new ServerTab(), "Server");
            AddTabPage(new AdvertiserWindow(), "Advertiser");
            AddTabPage(new DownloaderTab(), "Rapid");

            foreach (var but in ButtonList)
            {
                flowLayoutPanel1.Controls.Add(but.GetButton());
            }
            flowLayoutPanel1.Controls.Add(logoutButton);
            flowLayoutPanel1.BringToFront();
            ResumeLayout();
        }