示例#1
0
文件: Form1.cs 项目: Knightshade/4Hud
 void settings_SettingChanged(object sender, SettingsChangedEventArgs e)
 {
     switch (e.ChangedName)
     {
         case "Window Size":
             try
             {
                 Size = new Size(int.Parse(settings.GetStringArray("Window Size")[0]), int.Parse(settings.GetStringArray("Window Size")[1]));
             }
             catch
             {
                 Size = new Size(800, 600);
             }
             break;
         case "Screen Position":
             try
             {
                 StartPosition = FormStartPosition.Manual;
                 Location = new Point(int.Parse(settings.GetStringArray("Screen Position")[0]), int.Parse(settings.GetStringArray("Screen Position")[1]));
             }
             catch { }
             break;
         case "Border Style":
             if (settings.GetInt("Border Style") == 0)
                 split.BorderStyle = BorderStyle.None;
             else if (settings.GetInt("Border Style") == 1)
                 split.BorderStyle = BorderStyle.FixedSingle;
             else
                 split.BorderStyle = BorderStyle.Fixed3D;
             break;
         case "Developer":
             tsSettingsEditor.Visible = settings.GetBool("Developer");
             break;
         case "TF2 Reload Scheme Key":
             hotkeyReloadHud = GetKeyByTF2KeyName(settings.GetString("TF2 Reload Scheme Key"));
             break;
         case "Launch Presets":
             tsLaunchPresets.Items.Clear();
             List<string> l = settings.GetStringArray("Launch Presets");
             foreach (string s in l)
             {
                 try
                 {
                     string[] S = s.Split('?');
                     launchPresents.Add(new LaunchPresent(S[0], int.Parse(S[1]), int.Parse(S[2]), bool.Parse(S[3]), bool.Parse(S[4])));
                     tsLaunchPresets.Items.Add(S[0]);
                 }
                 catch { }
             }
             break;
         case "TopMost":
             tsTopMost.Checked = settings.GetBool("TopMost");
             this.TopMost = settings.GetBool("TopMost");
             break;
     }
 }
示例#2
0
文件: Form1.cs 项目: Knightshade/4Hud
        public Form1()
        {
            InitializeComponent();

            if (File.Exists("4Hud Theme.txt"))
                SetTheme(new Settings().AddLoadedFrom("4Hud Theme.txt"));

            hotkeyReloadHud = GetKeyByDisplayText("Numpad Add");

            mover.DoWork += new DoWorkEventHandler(mover_DoWork);
            mover.RunWorkerCompleted += new RunWorkerCompletedEventHandler(mover_RunWorkerCompleted);

            checker.DoWork += new DoWorkEventHandler(checker_DoWork);
            checker.RunWorkerCompleted += new RunWorkerCompletedEventHandler(checker_RunWorkerCompleted);

            //TIMERS
            timerTF2LaunchResize = new Timer();
            timerTF2LaunchResize.Interval = 100;
            timerTF2LaunchResize.Tick += new EventHandler(timerTF2LaunchResize_Tick);

            timerTF2CheckClosed = new Timer();
            timerTF2CheckClosed.Interval = 100;
            timerTF2CheckClosed.Tick += new EventHandler(timerTF2CheckClosed_Tick);

            //STEAM PATH
            if (!settings.Exists("Steam Path") || !File.Exists(settings.GetString("Steam Path")))
            {
                if (File.Exists(@"C:\Program Files (x86)\Steam\Steam.exe"))
                    settings.Set("Steam Path", @"C:\Program Files (x86)\Steam\Steam.exe");
                else if (File.Exists(@"C:\Program Files\Steam\Steam.exe"))
                    settings.Set("Steam Path", @"C:\Program Files\Steam\Steam.exe");
                else
                    ShowSteamPathDialog();
            }

            //Events
            treeView.NodeMouseDoubleClick += new TreeNodeMouseClickEventHandler(treeView_NodeMouseDoubleClick);
            treeView.NodeMouseClick += new TreeNodeMouseClickEventHandler(treeView_NodeMouseClick);
            treeView.AfterLabelEdit += new NodeLabelEditEventHandler(treeView_AfterLabelEdit);
            treeView.AfterExpand += new TreeViewEventHandler(treeView_AfterExpand);
            treeViewSearch.NodeMouseDoubleClick += new TreeNodeMouseClickEventHandler(treeView_NodeMouseDoubleClick);
            treeViewSearch.NodeMouseClick += new TreeNodeMouseClickEventHandler(treeView_NodeMouseClick);
            treeViewSearch.AfterLabelEdit += new NodeLabelEditEventHandler(treeView_AfterLabelEdit);
            treeViewSearch.AfterExpand += new TreeViewEventHandler(treeView_AfterExpand);
            //Settings
            settings.SettingChanged += new Settings.SettingChangedHandler(settings_SettingChanged);
            settings.Load(settingsToLoad);
            if (File.Exists("4Hud.Settings"))
                settings.LoadFrom("4Hud.Settings");

            //Maps and such
            if (File.Exists("4Script.Settings"))
            {
                log("settings exists");
                settings4Script.LoadFrom("4Script.Settings");
                if (settings4Script.Exists("Script Paths"))
                {
                    foreach (var S in settings4Script.GetStringArray("Script Paths"))
                    {
                        try
                        {
                            if (S.Split('?')[1] == "Team Fortress 2")
                            {

                                #region getmaps
                                string a = S.Split('?')[0];
                                if (Directory.Exists(a))
                                {
                                    maps = new List<string>();
                                    maps.Add("_nomap");

                                    try
                                    {
                                        if (Directory.Exists(a + @"..\maps"))
                                        {
                                            foreach (string s in Directory.GetFiles(a + @"..\maps"))
                                                if (s.EndsWith(".bsp"))
                                                    if (!maps.Contains(s.Substring(s.LastIndexOf("\\") + 1).Remove(s.Substring(s.LastIndexOf("\\") + 1).Length - 4)))
                                                    {
                                                        maps.Add(s.Substring(s.LastIndexOf("\\") + 1).Remove(s.Substring(s.LastIndexOf("\\") + 1).Length - 4));
                                                    }
                                        }
                                    }
                                    catch { }

                                    try
                                    {
                                        if (Directory.Exists(a + @"..\custom\maps"))
                                        {
                                            foreach (string s in Directory.GetFiles(a + @"..\custom\maps"))
                                                if (s.EndsWith(".bsp"))
                                                    if (!maps.Contains(s.Substring(s.LastIndexOf("\\") + 1).Remove(s.Substring(s.LastIndexOf("\\") + 1).Length - 4)))
                                                    {
                                                        maps.Add(s.Substring(s.LastIndexOf("\\") + 1).Remove(s.Substring(s.LastIndexOf("\\") + 1).Length - 4));
                                                    }
                                        }
                                    }
                                    catch { }

                                    try
                                    {
                                        if (Directory.Exists(a + @"..\download\maps"))
                                        {
                                            foreach (string s in Directory.GetFiles(a + @"..\download\maps"))
                                                if (s.EndsWith(".bsp"))
                                                    if (!maps.Contains(s.Substring(s.LastIndexOf("\\") + 1).Remove(s.Substring(s.LastIndexOf("\\") + 1).Length - 4)))
                                                    {
                                                        maps.Add(s.Substring(s.LastIndexOf("\\") + 1).Remove(s.Substring(s.LastIndexOf("\\") + 1).Length - 4));
                                                    }
                                        }
                                    }
                                    catch { }

                                }
                                #endregion
                            }
                        }
                        finally
                        {
                            tsMaps.Items.Clear();
                            foreach (string s in maps)
                                tsMaps.Items.Add(s);
                        }
                    }
                }
            }

            editor1.ValueChanged += new SplitFCTB.ValueChangedHandler(editor_ValueChanged);
            editor2.ValueChanged += new SplitFCTB.ValueChangedHandler(editor_ValueChanged);

            //Path
            try
            {
                if (!settings.Exists("Use Installed Hud") ||
                    (settings.GetBool("Use Installed Hud") && !Directory.Exists(settings.GetString("Custom Path"))) ||
                    (!settings.GetBool("Use Installed Hud") && (!settings.Exists("Hud Paths") || !Directory.Exists(settings.GetStringArray("Hud Paths")[0]))))
                {
                    showPathDialog(true);
                }
            }
            catch { showPathDialog(true); };

            setCustomPath();

            editor1.CurrentPath = currentPath;
            editor2.CurrentPath = currentPath;

            //Settings
            if (settings.Exists("Split 1")) editor1.Split = settings.GetBool("Split 1");
            if (settings.Exists("Split 2")) editor2.Split = settings.GetBool("Split 2");
            if (settings.Exists("Line Numbers 1")) editor1.ShowLineNumbers = settings.GetBool("Line Numbers 1");
            if (settings.Exists("Line Numbers 2")) editor2.ShowLineNumbers = settings.GetBool("Line Numbers 2");

            if (settings.Exists("Splitter Container Distance")) splitContainer.SplitterDistance = settings.GetInt("Splitter Container Distance");
            if (settings.Exists("Splitter Distance")) split.SplitterDistance = settings.GetInt("Splitter Distance");
            if (settings.Exists("Splitter Distance 1")) editor1.SplitDistance = settings.GetInt("Splitter Distance 1");
            if (settings.Exists("Splitter TF2 Distance")) splitContainer1.SplitterDistance = settings.GetInt("Splitter TF2 Distance");
            if (settings.Exists("Splitter Distance 2")) editor2.SplitDistance = settings.GetInt("Splitter Distance 2");
            if (settings.Exists("Maximized")) if (settings.GetBool("Maximized")) WindowState = FormWindowState.Maximized;

            tsLaunchPresets.Text = settings.GetString("Last Launch Preset");

            updateChecker.DoWork += new DoWorkEventHandler(updateChecker_DoWork);
            updateChecker.RunWorkerAsync();

            loadFiles();
        }