OSDN Git Service

AppliStation-GUI,パッケージ情報(プロパティ)ダイアログをモーダルレスで表示するように変更した。
authorttp <ttp@users.sourceforge.jp>
Sun, 15 Nov 2009 10:26:31 +0000 (19:26 +0900)
committerttp <ttp@users.sourceforge.jp>
Sun, 15 Nov 2009 10:26:31 +0000 (19:26 +0900)
AppliStation/PackageInfoForm.Designer.cs
AppliStation/PackageInfoForm.cs
AppliStation/PackageListViewForm.cs

index a483bfb..8da22af 100644 (file)
@@ -84,7 +84,7 @@
                        this.licenseLinkLabel.AutoSize = true;\r
                        this.licenseLinkLabel.Enabled = false;\r
                        this.licenseLinkLabel.LinkColor = System.Drawing.SystemColors.HotTrack;\r
                        this.licenseLinkLabel.AutoSize = true;\r
                        this.licenseLinkLabel.Enabled = false;\r
                        this.licenseLinkLabel.LinkColor = System.Drawing.SystemColors.HotTrack;\r
-                       this.licenseLinkLabel.Location = new System.Drawing.Point(130, 120);\r
+                       this.licenseLinkLabel.Location = new System.Drawing.Point(140, 120);\r
                        this.licenseLinkLabel.Name = "licenseLinkLabel";\r
                        this.licenseLinkLabel.Size = new System.Drawing.Size(0, 12);\r
                        this.licenseLinkLabel.TabIndex = 9;\r
                        this.licenseLinkLabel.Name = "licenseLinkLabel";\r
                        this.licenseLinkLabel.Size = new System.Drawing.Size(0, 12);\r
                        this.licenseLinkLabel.TabIndex = 9;\r
                        this.urlLinkLabel.AutoEllipsis = true;\r
                        this.urlLinkLabel.Dock = System.Windows.Forms.DockStyle.Fill;\r
                        this.urlLinkLabel.LinkColor = System.Drawing.SystemColors.HotTrack;\r
                        this.urlLinkLabel.AutoEllipsis = true;\r
                        this.urlLinkLabel.Dock = System.Windows.Forms.DockStyle.Fill;\r
                        this.urlLinkLabel.LinkColor = System.Drawing.SystemColors.HotTrack;\r
-                       this.urlLinkLabel.Location = new System.Drawing.Point(130, 90);\r
+                       this.urlLinkLabel.Location = new System.Drawing.Point(140, 90);\r
                        this.urlLinkLabel.Name = "urlLinkLabel";\r
                        this.urlLinkLabel.Name = "urlLinkLabel";\r
-                       this.urlLinkLabel.Size = new System.Drawing.Size(251, 12);\r
+                       this.urlLinkLabel.Size = new System.Drawing.Size(241, 12);\r
                        this.urlLinkLabel.TabIndex = 5;\r
                        this.urlLinkLabel.TabStop = true;\r
                        this.urlLinkLabel.Text = "http://";\r
                        this.urlLinkLabel.TabIndex = 5;\r
                        this.urlLinkLabel.TabStop = true;\r
                        this.urlLinkLabel.Text = "http://";\r
                        // \r
                        this.tagsTextBox.BorderStyle = System.Windows.Forms.BorderStyle.None;\r
                        this.tagsTextBox.Dock = System.Windows.Forms.DockStyle.Fill;\r
                        // \r
                        this.tagsTextBox.BorderStyle = System.Windows.Forms.BorderStyle.None;\r
                        this.tagsTextBox.Dock = System.Windows.Forms.DockStyle.Fill;\r
-                       this.tagsTextBox.Location = new System.Drawing.Point(130, 105);\r
+                       this.tagsTextBox.Location = new System.Drawing.Point(140, 105);\r
                        this.tagsTextBox.Name = "tagsTextBox";\r
                        this.tagsTextBox.ReadOnly = true;\r
                        this.tagsTextBox.Name = "tagsTextBox";\r
                        this.tagsTextBox.ReadOnly = true;\r
-                       this.tagsTextBox.Size = new System.Drawing.Size(251, 12);\r
+                       this.tagsTextBox.Size = new System.Drawing.Size(241, 12);\r
                        this.tagsTextBox.TabIndex = 7;\r
                        // \r
                        // typeLabel\r
                        this.tagsTextBox.TabIndex = 7;\r
                        // \r
                        // typeLabel\r
                        this.typeLabel.AutoSize = true;\r
                        this.typeLabel.Location = new System.Drawing.Point(11, 132);\r
                        this.typeLabel.Name = "typeLabel";\r
                        this.typeLabel.AutoSize = true;\r
                        this.typeLabel.Location = new System.Drawing.Point(11, 132);\r
                        this.typeLabel.Name = "typeLabel";\r
-                       this.typeLabel.Size = new System.Drawing.Size(88, 12);\r
+                       this.typeLabel.Size = new System.Drawing.Size(98, 12);\r
                        this.typeLabel.TabIndex = 10;\r
                        this.typeLabel.Text = "インストーラー形式:";\r
                        // \r
                        this.typeLabel.TabIndex = 10;\r
                        this.typeLabel.Text = "インストーラー形式:";\r
                        // \r
                        // \r
                        this.typeValueLabel.Anchor = System.Windows.Forms.AnchorStyles.Left;\r
                        this.typeValueLabel.AutoSize = true;\r
                        // \r
                        this.typeValueLabel.Anchor = System.Windows.Forms.AnchorStyles.Left;\r
                        this.typeValueLabel.AutoSize = true;\r
-                       this.typeValueLabel.Location = new System.Drawing.Point(130, 132);\r
+                       this.typeValueLabel.Location = new System.Drawing.Point(140, 132);\r
                        this.typeValueLabel.Name = "typeValueLabel";\r
                        this.typeValueLabel.Size = new System.Drawing.Size(0, 12);\r
                        this.typeValueLabel.TabIndex = 11;\r
                        this.typeValueLabel.Name = "typeValueLabel";\r
                        this.typeValueLabel.Size = new System.Drawing.Size(0, 12);\r
                        this.typeValueLabel.TabIndex = 11;\r
                        this.closeButton.Size = new System.Drawing.Size(75, 23);\r
                        this.closeButton.TabIndex = 13;\r
                        this.closeButton.Text = "閉じる";\r
                        this.closeButton.Size = new System.Drawing.Size(75, 23);\r
                        this.closeButton.TabIndex = 13;\r
                        this.closeButton.Text = "閉じる";\r
+                       this.closeButton.Click += new System.EventHandler(this.CloseButtonClick);\r
                        // \r
                        // tableLayoutPanel\r
                        // \r
                        // \r
                        // tableLayoutPanel\r
                        // \r
                        this.stateLabel.AutoSize = true;\r
                        this.stateLabel.Location = new System.Drawing.Point(11, 78);\r
                        this.stateLabel.Name = "stateLabel";\r
                        this.stateLabel.AutoSize = true;\r
                        this.stateLabel.Location = new System.Drawing.Point(11, 78);\r
                        this.stateLabel.Name = "stateLabel";\r
-                       this.stateLabel.Size = new System.Drawing.Size(113, 12);\r
+                       this.stateLabel.Size = new System.Drawing.Size(123, 12);\r
                        this.stateLabel.TabIndex = 2;\r
                        this.stateLabel.Text = "インストール先フォルダー:";\r
                        // \r
                        this.stateLabel.TabIndex = 2;\r
                        this.stateLabel.Text = "インストール先フォルダー:";\r
                        // \r
                        this.statusLinkLabel.Dock = System.Windows.Forms.DockStyle.Fill;\r
                        this.statusLinkLabel.Enabled = false;\r
                        this.statusLinkLabel.LinkColor = System.Drawing.SystemColors.HotTrack;\r
                        this.statusLinkLabel.Dock = System.Windows.Forms.DockStyle.Fill;\r
                        this.statusLinkLabel.Enabled = false;\r
                        this.statusLinkLabel.LinkColor = System.Drawing.SystemColors.HotTrack;\r
-                       this.statusLinkLabel.Location = new System.Drawing.Point(130, 78);\r
+                       this.statusLinkLabel.Location = new System.Drawing.Point(140, 78);\r
                        this.statusLinkLabel.Name = "statusLinkLabel";\r
                        this.statusLinkLabel.Name = "statusLinkLabel";\r
-                       this.statusLinkLabel.Size = new System.Drawing.Size(251, 12);\r
+                       this.statusLinkLabel.Size = new System.Drawing.Size(241, 12);\r
                        this.statusLinkLabel.TabIndex = 3;\r
                        this.statusLinkLabel.TabStop = true;\r
                        this.statusLinkLabel.Text = "インストールされていません";\r
                        this.statusLinkLabel.TabIndex = 3;\r
                        this.statusLinkLabel.TabStop = true;\r
                        this.statusLinkLabel.Text = "インストールされていません";\r
                        // \r
                        this.packageListNameValueLabel.AutoEllipsis = true;\r
                        this.packageListNameValueLabel.Dock = System.Windows.Forms.DockStyle.Fill;\r
                        // \r
                        this.packageListNameValueLabel.AutoEllipsis = true;\r
                        this.packageListNameValueLabel.Dock = System.Windows.Forms.DockStyle.Fill;\r
-                       this.packageListNameValueLabel.Location = new System.Drawing.Point(130, 144);\r
+                       this.packageListNameValueLabel.Location = new System.Drawing.Point(140, 144);\r
                        this.packageListNameValueLabel.Name = "packageListNameValueLabel";\r
                        this.packageListNameValueLabel.Name = "packageListNameValueLabel";\r
-                       this.packageListNameValueLabel.Size = new System.Drawing.Size(251, 12);\r
+                       this.packageListNameValueLabel.Size = new System.Drawing.Size(241, 12);\r
                        this.packageListNameValueLabel.TabIndex = 14;\r
                        this.packageListNameValueLabel.Text = "(不明)";\r
                        // \r
                        this.packageListNameValueLabel.TabIndex = 14;\r
                        this.packageListNameValueLabel.Text = "(不明)";\r
                        // \r
                        this.Name = "PackageInfoForm";\r
                        this.ShowIcon = false;\r
                        this.ShowInTaskbar = false;\r
                        this.Name = "PackageInfoForm";\r
                        this.ShowIcon = false;\r
                        this.ShowInTaskbar = false;\r
+                       this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.PackageInfoFormFormClosed);\r
                        this.flowLayoutPanel1.ResumeLayout(false);\r
                        this.flowLayoutPanel1.PerformLayout();\r
                        this.tableLayoutPanel.ResumeLayout(false);\r
                        this.flowLayoutPanel1.ResumeLayout(false);\r
                        this.flowLayoutPanel1.PerformLayout();\r
                        this.tableLayoutPanel.ResumeLayout(false);\r
index 4f7996b..ea6b07b 100644 (file)
@@ -282,5 +282,18 @@ namespace AppliStation
                                }\r
                        }\r
                }\r
                                }\r
                        }\r
                }\r
+               \r
+               void CloseButtonClick(object sender, EventArgs e)\r
+               {\r
+                       if (! this.Modal) {\r
+                               this.DialogResult = DialogResult.OK;\r
+                               this.Close();\r
+                       }\r
+               }\r
+               \r
+               void PackageInfoFormFormClosed(object sender, FormClosedEventArgs e)\r
+               {\r
+                       this.Dispose(true);\r
+               }\r
        }\r
 }\r
        }\r
 }\r
index 61f44d0..bbf4974 100644 (file)
@@ -471,13 +471,19 @@ namespace AppliStation
                \r
                void PropertiesCommonMenuItemClick(object sender, EventArgs e)\r
                {\r
                \r
                void PropertiesCommonMenuItemClick(object sender, EventArgs e)\r
                {\r
-                       Package pkg = packageListView.SelectedPackage;\r
-                       if (pkg != null) {\r
+                       if (packageListView.SelectedItems.Count >= 5) {\r
+                               string msg = string.Format("{0}個のプロパティダイアログを開こうとしています。\n継続しますか?", packageListView.SelectedItems.Count);\r
+                               if (MessageBox.Show(msg, "プロパティ", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) != DialogResult.OK) {\r
+                                       return;\r
+                               }\r
+                       }\r
+                       \r
+                       foreach (Package pkg in packageListView.SelectedPackages) {\r
                                PackageInfoForm form = new PackageInfoForm();\r
                                form.SelectedObject = pkg;\r
                                form.Text = string.Format("{0}({1})のプロパティ", pkg.Name, pkg.Version);\r
                                \r
                                PackageInfoForm form = new PackageInfoForm();\r
                                form.SelectedObject = pkg;\r
                                form.Text = string.Format("{0}({1})のプロパティ", pkg.Name, pkg.Version);\r
                                \r
-                               form.ShowDialog(this);\r
+                               form.Show(this);\r
                        }\r
                }\r
                \r
                        }\r
                }\r
                \r
@@ -511,24 +517,26 @@ namespace AppliStation
                void PackageListContextMenuStripOpening(object sender, System.ComponentModel.CancelEventArgs e)\r
                {\r
                        bool selectionIsOnlyOne = packageListView.SelectedItems.Count == 1;\r
                void PackageListContextMenuStripOpening(object sender, System.ComponentModel.CancelEventArgs e)\r
                {\r
                        bool selectionIsOnlyOne = packageListView.SelectedItems.Count == 1;\r
+                       bool hasSelection = packageListView.SelectedItems.Count > 0;\r
                        \r
                        // インストール先のフォルダの設定\r
                        updateLauncherMenuItem(installedDirectoryToolStripMenuItem);\r
                        \r
                        packageListContextMenuStripSeparator.Visible = selectionIsOnlyOne;\r
                        webResourceToolStripMenuItem.Visible = selectionIsOnlyOne;\r
                        \r
                        // インストール先のフォルダの設定\r
                        updateLauncherMenuItem(installedDirectoryToolStripMenuItem);\r
                        \r
                        packageListContextMenuStripSeparator.Visible = selectionIsOnlyOne;\r
                        webResourceToolStripMenuItem.Visible = selectionIsOnlyOne;\r
-                       propertiesToolStripMenuItem.Visible = selectionIsOnlyOne;\r
+                       propertiesToolStripMenuItem.Visible = hasSelection;\r
                }\r
                \r
                void InformationToolStripDropDownButtonDropDownOpening(object sender, EventArgs e)\r
                {\r
                        bool selectionIsOnlyOne = packageListView.SelectedItems.Count == 1;\r
                }\r
                \r
                void InformationToolStripDropDownButtonDropDownOpening(object sender, EventArgs e)\r
                {\r
                        bool selectionIsOnlyOne = packageListView.SelectedItems.Count == 1;\r
+                       bool hasSelection = packageListView.SelectedItems.Count > 0;\r
                        \r
                        // インストール先のフォルダの設定\r
                        updateLauncherMenuItem(installedDirectoryMenuItem);\r
                        \r
                        webResourceMenuItem.Visible = selectionIsOnlyOne;\r
                        \r
                        // インストール先のフォルダの設定\r
                        updateLauncherMenuItem(installedDirectoryMenuItem);\r
                        \r
                        webResourceMenuItem.Visible = selectionIsOnlyOne;\r
-                       propertiesMenuItem.Visible = selectionIsOnlyOne;\r
+                       propertiesMenuItem.Visible = hasSelection;\r
                }\r
                \r
                void WebResourceCommonContextMenuStripOpening(object sender, System.ComponentModel.CancelEventArgs e)\r
                }\r
                \r
                void WebResourceCommonContextMenuStripOpening(object sender, System.ComponentModel.CancelEventArgs e)\r