OSDN Git Service

AppliStation-GUI,インストール確認ダイアログで右クリック→サイレントインストールにおけるバグ(以下)を修正
authorttp <ttp@users.sourceforge.jp>
Wed, 30 Jul 2008 12:19:29 +0000 (12:19 +0000)
committerttp <ttp@users.sourceforge.jp>
Wed, 30 Jul 2008 12:19:29 +0000 (12:19 +0000)
 * サイレントインストールのチェックが、チェックされたアイテムに効くのがわかりずらいので、選択されたアイテムに対して効くようにした
 * サイレントインストールのチェックを弄ると(インストールするかどうかの)チェックが初期化されてしまう問題

git-svn-id: http://localhost/svn/AppliStation/trunk@943 34ed2c89-c49f-4a4b-abdb-c318350108cf

AppliStation/InstallationConfirmForm.cs

index 1cf8311..b7bb30a 100644 (file)
@@ -55,6 +55,9 @@ namespace AppliStation
                        }\r
                }\r
                \r
+               /// <summary>\r
+               /// インストールリストを更新したなどで、リストの表示を更新する\r
+               /// </summary>\r
                private void updateInstsListView()\r
                {\r
                        instsListView.Items.Clear();\r
@@ -73,17 +76,13 @@ namespace AppliStation
                                        }\r
                                        itemData[versionColumnHeader.Index]        = pkg.Version;\r
                                        itemData[currentVersionColumnHeader.Index] = (curPkg != null)? curPkg.Version : "-";\r
-                                       \r
-                                       itemData[silentInstColumnHeader.Index]     = \r
-                                               (inst.SupportsSilentOnly)? "サイレントインストールのみサポート" :\r
-                                               (inst.Silent)? "サイレントインストール" :\r
-                                               (inst.IsSupportsSilent)? "手動でインストール" :\r
-                                               "サイレントインストールできませんので、手動でインストールします";\r
+                                       // itemData[silentInstColumnHeader.Index] の設定は instViewUpdateSilentInstallView で\r
                                        \r
                                        ListViewItem item = new ListViewItem(itemData);\r
                                        item.Tag = inst;\r
                                        item.ToolTipText = pkg.Summary;\r
                                        item.Checked = true;\r
+                                       instViewUpdateSilentInstallView(item);\r
                                        \r
                                        instsListView.Items.Add(item);\r
                                }\r
@@ -93,6 +92,20 @@ namespace AppliStation
                        instsListView.Refresh();\r
                }\r
                \r
+               /// <summary>\r
+               /// アイテムのサイレンとインストール部分の表示の更新を行う。\r
+               /// </summary>\r
+               /// <param name="item">対象のインストーラのリストアイテム</param>\r
+               private void instViewUpdateSilentInstallView(ListViewItem item)\r
+               {\r
+                       Installation inst = (Installation) item.Tag;\r
+                       item.SubItems[silentInstColumnHeader.Index].Text =\r
+                               (inst.SupportsSilentOnly)? "サイレントインストールのみサポート" :\r
+                               (inst.Silent)? "サイレントインストール" :\r
+                               (inst.IsSupportsSilent)? "手動でインストール" :\r
+                               "サイレントインストールできませんので、手動でインストールします";\r
+               }\r
+               \r
                #region instsListViewのオーナードドロー関連\r
                \r
                void InstsListViewDrawSubItem(object sender, DrawListViewSubItemEventArgs e)\r
@@ -210,10 +223,10 @@ namespace AppliStation
                void SilentInstallStripMenuItemClick(object sender, EventArgs e)\r
                {\r
                        bool silent = ! silentInstallStripMenuItem.Checked;\r
-                       foreach (ListViewItem item in instsListView.CheckedItems) {\r
+                       foreach (ListViewItem item in instsListView.SelectedItems) {\r
                                ((Installation) item.Tag).Silent = silent;\r
+                               instViewUpdateSilentInstallView(item);\r
                        }\r
-                       updateInstsListView();\r
                }\r
                                \r
                void SelectAllInstsStripMenuItemClick(object sender, EventArgs e)\r