OSDN Git Service

AppliStation-GUI,プロキシ設定GUIの改善
[applistation/AppliStation.git] / AppliStation / UserPrefForm.cs
index 555bfa1..984c169 100644 (file)
@@ -2,6 +2,7 @@
 using System.Collections.Generic;\r
 using System.Drawing;\r
 using System.Windows.Forms;\r
+using System.Diagnostics;\r
 \r
 using NaGet.Packages;\r
 \r
@@ -16,6 +17,9 @@ namespace AppliStation
                \r
                private bool isRepoListChanged;\r
                \r
+               /// <summary>\r
+               /// コンストラクタ\r
+               /// </summary>\r
                public UserPrefForm()\r
                {\r
                        repos = new List<RepositoryInfo>();\r
@@ -38,6 +42,9 @@ namespace AppliStation
                \r
                #region レポジトリリスト設定関連\r
                \r
+               /// <summary>\r
+               /// レポジトリリストの設定を読み書きする\r
+               /// </summary>\r
                public RepositoriesList RepositoriesListSetting {\r
                        get {\r
                                RepositoriesList repoList = new RepositoriesList();\r
@@ -55,10 +62,18 @@ namespace AppliStation
                        }\r
                }\r
                \r
+               /// <summary>\r
+               /// ListBoxへ表示するレポジトリ表現文字列を返す\r
+               /// </summary>\r
+               /// <param name="repo">対象レポジトリ</param>\r
+               /// <returns>ListBoxに表示すべき文字列</returns>\r
                private string repoListCheckedListBoxRenderer(RepositoryInfo repo) {\r
                        return string.Format("{0}[{1}]", repo.Name, repo.Url.Href);\r
                }\r
-               \r
+\r
+               /// <summary>\r
+               /// ListBoxの内容を更新(再構築)する。\r
+               /// </summary>\r
                private void updateRepos()\r
                {\r
                        repoListCheckedListBox.Items.Clear();\r
@@ -69,7 +84,6 @@ namespace AppliStation
                        }\r
                }\r
                \r
-               \r
                void RepoListCheckedListBoxSelectedIndexChanged(object sender, EventArgs e)\r
                {\r
                        int selectedIndex = repoListCheckedListBox.SelectedIndex;\r
@@ -162,10 +176,17 @@ namespace AppliStation
                        }\r
                }\r
                \r
+               /// <summary>\r
+               /// レポジトリリストが編集されたか否かのフラグ\r
+               /// </summary>\r
+               /// <remarks>ソフトリストの再読み込みが必要か否かの判断に使われる</remarks>\r
                public bool IsRepositoryListSettingChanged {\r
                        get { return isRepoListChanged; }\r
                }\r
                \r
+               /// <summary>\r
+               /// レポジトリリストの設定を反映する\r
+               /// </summary>\r
                private void commitRepositoryListSetting()\r
                {\r
                        if (isRepoListChanged) {\r
@@ -177,6 +198,9 @@ namespace AppliStation
                \r
                #region プロキシサーバ設定関連\r
 \r
+               /// <summary>\r
+               /// プロキシアドレスを設定あるいは取得する\r
+               /// </summary>\r
                public string ProxyAddress {\r
                        get {\r
                                if (proxySameAsIERadioButton.Checked) {\r
@@ -201,6 +225,9 @@ namespace AppliStation
                        }\r
                }\r
                \r
+               /// <summary>\r
+               /// ProxyURLのテキストボックス領域の有効状態を切り替える\r
+               /// </summary>\r
                private void updateProxyURLEnability()\r
                {\r
                        bool isSpecifiedProxy = specifyProxyRadioButton.Checked;\r
@@ -214,15 +241,35 @@ namespace AppliStation
                        updateProxyURLEnability();\r
                }\r
                \r
+               void OpenInternetOptionLinkLabelLinkClicked(object sender, LinkLabelLinkClickedEventArgs e)\r
+               {\r
+                       try {\r
+                               ProcessStartInfo procInfo = new ProcessStartInfo("rundll32.exe");\r
+                               procInfo.Arguments = "shell32.dll,Control_RunDLL inetcpl.cpl,,4";\r
+                               procInfo.UseShellExecute = true;\r
+                               procInfo.Verb = "open";\r
+                               \r
+                               Process.Start(procInfo);\r
+                       } catch (Exception) {\r
+                               MessageBox.Show("インターネットオプションが開けませんでした", openInternetOptionLinkLabel.Text, MessageBoxButtons.OK, MessageBoxIcon.Error);\r
+                       }\r
+               }\r
+               \r
+               /// <summary>\r
+               /// プロキシ設定を、指定された設定オブジェクトに設定する。\r
+               /// </summary>\r
+               /// <param name="pref">設定オブジェクト</param>\r
                private void commitProxySetting(NaGet.NaGetLibPref pref)\r
                {\r
                        pref.ProxyAddress = this.ProxyAddress;\r
-                       \r
-                       NaGet.Utils.PutSerializeObject<NaGet.NaGetLibPref>(NaGet.Env.PrefPath, pref);\r
                }\r
                \r
                #endregion\r
                \r
+               /// <summary>\r
+               /// 指定された設定オブジェクトをファイルとして保存する\r
+               /// </summary>\r
+               /// <param name="pref">設定ファイル</param>\r
                private void commitNaGetLibPref(NaGet.NaGetLibPref pref)\r
                {\r
                        // ファイルに書き込む\r