OSDN Git Service

AppliStation-GUI,公式サイトのメニューのツールチップテキストとして飛び先URLを表示するようにした。
[applistation/AppliStation.git] / AppliStation / PackageListViewForm.cs
index 9433fab..3c01042 100644 (file)
@@ -113,6 +113,7 @@ namespace AppliStation
                        switch (pkgCount) {\r
                                case 0:\r
                                        int count = packageListView.Items.Count;\r
+                                       detailBox.Clear();\r
                                        detailBox.Text = (count > 0) ? string.Format("{0}個のソフトがあります。", count)\r
                                                : "該当するソフトがありません。";\r
                                        break;\r
@@ -120,6 +121,7 @@ namespace AppliStation
                                        ShowInfoToDetailBoxFor(packageListView.SelectedPackage);\r
                                        break;\r
                                default: // case 2 and over:\r
+                                       detailBox.Clear();\r
                                        detailBox.Text = (installBtnEnabled)? string.Format("{0}個のソフトが選択されています。", installPkgCount) :\r
                                                (uninstallBtnEnabled)? string.Format("{0}個のインストール済みのソフトが選択されています。", uninstallPkgCount) :\r
                                                string.Format("{0}個のソフトが選択されています。\r\n(うち{1}個はインストール済み、{2}個はインストール可能)", pkgCount, uninstallPkgCount, installPkgCount);\r
@@ -523,6 +525,9 @@ namespace AppliStation
                        \r
                        updateSelectedPackages();\r
                        \r
+                       // インストール先のフォルダの設定\r
+                       updateLauncherMenuItem(installedDirectoryToolStripMenuItem);\r
+                       \r
                        if (packageListView.View == View.Details) {\r
                                // ヘッダ部がクリックされたとき、パッケージが選択されていないものとして扱って処理をする。\r
                                int headerHeight = AppliStation.Util.NativeMethods.ColumnHeader_GetSize(packageListView).Height;\r
@@ -530,18 +535,13 @@ namespace AppliStation
                                        selectionIsOnlyOne = hasSelection = false;\r
                                        installToolStripMenuItem.Visible = false;\r
                                        uninstallToolStripMenuItem.Visible = false;\r
+                                       installedDirectoryToolStripMenuItem.Visible = false;\r
                                }\r
                        }\r
                        \r
-                       if (selectionIsOnlyOne) {\r
-                               // インストール先のフォルダの設定\r
-                               updateLauncherMenuItem(installedDirectoryToolStripMenuItem);\r
-                       }\r
-                       \r
                        packageListContextMenuStripSeparator.Visible = selectionIsOnlyOne;\r
                        webResourceToolStripMenuItem.Visible = selectionIsOnlyOne;\r
                        propertiesToolStripMenuItem.Visible = hasSelection;\r
-                       viewStyleToolStripMenuItem.Visible = ! hasSelection;\r
                        columnToolStripMenuItem.Visible = (! hasSelection) && (packageListView.View == View.Details);\r
                }\r
                \r
@@ -560,7 +560,15 @@ namespace AppliStation
                void WebResourceCommonContextMenuStripOpening(object sender, System.ComponentModel.CancelEventArgs e)\r
                {\r
                        Package pkg = packageListView.SelectedPackage;\r
-                       webOfficialMenuItem.Enabled = (pkg != null && pkg.Url != null && !string.IsNullOrEmpty(pkg.Url.Href));\r
+                       \r
+                       if (pkg != null && pkg.Url != null && !string.IsNullOrEmpty(pkg.Url.Href)) {\r
+                               webOfficialMenuItem.Enabled = true;\r
+                               webOfficialMenuItem.ToolTipText = pkg.Url.Href;\r
+                       } else {\r
+                               webOfficialMenuItem.Enabled = false;\r
+                               webOfficialMenuItem.ToolTipText = null;\r
+                       }\r
+                       \r
                        // webGoogleSearchMenuItem always active.\r
                }\r
                \r
@@ -648,24 +656,10 @@ namespace AppliStation
                        }\r
                }\r
                \r
-               void ViewStyleCommonToolStripMenuItemClick(object sender, EventArgs e)\r
-               {\r
-                       viewStyleDetailToolStripMenuItem.Checked = (sender == viewStyleDetailToolStripMenuItem);\r
-                       viewStyleListToolStripMenuItem.Checked = (sender == viewStyleListToolStripMenuItem);\r
-                       viewStyleTileToolStripMenuItem.Checked = (sender == viewStyleTileToolStripMenuItem);\r
-                       \r
-                       if (sender == viewStyleDetailToolStripMenuItem) {\r
-                               packageListView.View = View.Details;\r
-                       } else if (sender == viewStyleListToolStripMenuItem) {\r
-                               packageListView.View = View.List;\r
-                       } else if (sender == viewStyleTileToolStripMenuItem) {\r
-                               packageListView.View = View.Tile;\r
-                       }\r
-               }\r
-               \r
                void ColumnCommonToolStripMenuItemClick(object sender, EventArgs e)\r
                {\r
                        packageListView.BeginUpdate();\r
+                       ColumnHeader sortcolumn = packageListView.SortColumn;\r
                        \r
                        // 列の追加と削除\r
                        foreach (ToolStripItem item in columnToolStripMenuItem.DropDownItems) {\r
@@ -676,6 +670,9 @@ namespace AppliStation
                                        foreach (ColumnHeader header in packageListView.Columns) {\r
                                                if (header.Tag == menu.Tag) {\r
                                                        exists = true;\r
+                                                       if (sortcolumn == header) {\r
+                                                               packageListView.SortColumn = sortcolumn = null;\r
+                                                       }\r
                                                        if (menu.Checked == false) {\r
                                                                packageListView.Columns.Remove(header);\r
                                                        }\r
@@ -693,6 +690,8 @@ namespace AppliStation
                                }\r
                        }\r
                        \r
+                       AppliStation.Util.NativeMethods.ColumnHeader_SetSortState(packageListView, (sortcolumn != null)? sortcolumn.Index : -1, SortOrder.None);\r
+                       \r
                        packageListView.UpdateItems();\r
                        \r
                        packageListView.EndUpdate();\r