this.instsListView.TabIndex = 2;\r
this.instsListView.UseCompatibleStateImageBehavior = false;\r
this.instsListView.View = System.Windows.Forms.View.Details;\r
- this.instsListView.DrawColumnHeader += new System.Windows.Forms.DrawListViewColumnHeaderEventHandler(this.InstsListViewDrawColumnHeader);\r
this.instsListView.ItemChecked += new System.Windows.Forms.ItemCheckedEventHandler(this.InstsListViewItemChecked);\r
this.instsListView.DrawSubItem += new System.Windows.Forms.DrawListViewSubItemEventHandler(this.InstsListViewDrawSubItem);\r
+ this.instsListView.DrawColumnHeader += new System.Windows.Forms.DrawListViewColumnHeaderEventHandler(this.InstsListViewDrawColumnHeader);\r
// \r
// nameColumnHeader\r
// \r
this.selectAllInstsStripMenuItem,\r
this.unselectAllInstsStripMenuItem});\r
this.instListViewContextMenuStrip.Name = "packageListViewContextMenuStrip";\r
- this.instListViewContextMenuStrip.Size = new System.Drawing.Size(263, 76);\r
+ this.instListViewContextMenuStrip.Size = new System.Drawing.Size(220, 76);\r
this.instListViewContextMenuStrip.Opening += new System.ComponentModel.CancelEventHandler(this.InstsListViewContextMenuStripOpening);\r
// \r
// silentInstallStripMenuItem\r
// \r
this.silentInstallStripMenuItem.Name = "silentInstallStripMenuItem";\r
- this.silentInstallStripMenuItem.Size = new System.Drawing.Size(262, 22);\r
+ this.silentInstallStripMenuItem.Size = new System.Drawing.Size(219, 22);\r
this.silentInstallStripMenuItem.Text = "サイレントインストールをする(&S)";\r
this.silentInstallStripMenuItem.Click += new System.EventHandler(this.SilentInstallStripMenuItemClick);\r
// \r
// instListToolStripSeparator\r
// \r
this.instListToolStripSeparator.Name = "instListToolStripSeparator";\r
- this.instListToolStripSeparator.Size = new System.Drawing.Size(259, 6);\r
+ this.instListToolStripSeparator.Size = new System.Drawing.Size(216, 6);\r
// \r
// selectAllInstsStripMenuItem\r
// \r
this.selectAllInstsStripMenuItem.Name = "selectAllInstsStripMenuItem";\r
- this.selectAllInstsStripMenuItem.Size = new System.Drawing.Size(262, 22);\r
+ this.selectAllInstsStripMenuItem.Size = new System.Drawing.Size(219, 22);\r
this.selectAllInstsStripMenuItem.Text = "全て選択(&A)";\r
this.selectAllInstsStripMenuItem.Click += new System.EventHandler(this.SelectAllInstsStripMenuItemClick);\r
// \r
// unselectAllInstsStripMenuItem\r
// \r
this.unselectAllInstsStripMenuItem.Name = "unselectAllInstsStripMenuItem";\r
- this.unselectAllInstsStripMenuItem.Size = new System.Drawing.Size(262, 22);\r
+ this.unselectAllInstsStripMenuItem.Size = new System.Drawing.Size(219, 22);\r
this.unselectAllInstsStripMenuItem.Text = "全ての選択を解除(&U)";\r
this.unselectAllInstsStripMenuItem.Click += new System.EventHandler(this.UnselectAllInstsStripMenuItemClick);\r
// \r
this.ShowInTaskbar = false;\r
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;\r
this.Text = "ソフトのインストール";\r
+ this.Shown += new System.EventHandler(this.InstallationConfirmFormShown);\r
this.tableLayoutPanel1.ResumeLayout(false);\r
this.tableLayoutPanel1.PerformLayout();\r
this.btnPanel.ResumeLayout(false);\r
AppliStation.Util.NativeMethods.ListView_SetDoubleBuffer(instsListView, true);\r
}\r
\r
+ #region インストールリスト表示処理部\r
+ \r
+ #region インストールリストの反映\r
+ \r
/// <summary>\r
/// インストールリストを更新したなどで、リストの表示を更新する\r
/// </summary>\r
private void updateInstsListView()\r
{\r
instsListView.Items.Clear();\r
-\r
- updateInstsListViewPerGroup(requiredInstallations, instsListView.Groups["requires"], true);\r
- updateInstsListViewPerGroup(selectedInstallations, instsListView.Groups["install"], false);\r
+ \r
+ addInstsListItemPerGroup(requiredInstallations, instsListView.Groups["requires"], true);\r
+ addInstsListItemPerGroup(selectedInstallations, instsListView.Groups["install"], false);\r
\r
InstsListViewItemChecked(instsListView, null);\r
instsListView.Refresh();\r
/// <param name="insts">インストールリスト</param>\r
/// <param name="group">対象のグループ</param>\r
/// <param name="firstAppend">先頭に追加するか</param>\r
- private void updateInstsListViewPerGroup(IEnumerable<Installation> insts, ListViewGroup group, bool firstAppend)\r
+ private void addInstsListItemPerGroup(IEnumerable<Installation> insts, ListViewGroup group, bool firstAppend)\r
{\r
// まず所属グループのアイテムをすべて削除する\r
- group.Items.Clear();\r
- \r
if (insts == null) return;\r
\r
List<ListViewItem> itemsToAdd = new List<ListViewItem>();\r
instsListView.Items.AddRange(itemsToAdd.ToArray());\r
}\r
}\r
+\r
+ #endregion\r
\r
/// <summary>\r
/// アイテムのサイレントインストール部分の表示の更新を行う。\r
\r
#endregion\r
\r
+ #endregion\r
+ \r
void InstsListViewItemChecked(object sender, ItemCheckedEventArgs e)\r
{\r
System.Windows.Forms.ListView.CheckedListViewItemCollection checkeds = instsListView.CheckedItems;\r
\r
- okButton.Enabled = checkeds != null && checkeds.Count > 0;\r
+ okButton.Enabled = (checkeds != null) && (checkeds.Count > 0);\r
}\r
\r
void InstsListViewContextMenuStripOpening(object sender, System.ComponentModel.CancelEventArgs e)\r
}\r
instsListView.Refresh();\r
}\r
+\r
+ void InstallationConfirmFormShown(object sender, EventArgs e)\r
+ {\r
+ System.Threading.Thread thread = new System.Threading.Thread(\r
+ new System.Threading.ThreadStart(resolveDependecies));\r
+ thread.Start();\r
+ }\r
+ \r
+ /// <summary>\r
+ /// 依存関係を解決する\r
+ /// </summary>\r
+ private void resolveDependecies()\r
+ {\r
+ if (requiredInstallations == null) {\r
+ Installation[] resolved, dependencies;\r
+ \r
+ DependeciesResolver.ResolveInstallations(\r
+ selectedInstallations,\r
+ pkgListMan,\r
+ out resolved,\r
+ out dependencies);\r
+ \r
+ requiredInstallations = dependencies;\r
+ \r
+ updateInstsListView();\r
+ }\r
+ }\r
\r
/// <summary>\r
/// インストールするよう選択されたパッケージの配列\r
}\r
\r
#endregion\r
- \r
+\r
}\r
}\r
<value>\r
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj0yLjAuMC4w\r
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0\r
- ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAC4\r
+ ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAADQ\r
BAAAAk1TRnQBSQFMAwEBAAEEAQABBAEAAQ4BAAEOAQAE/wEhAQAI/wFCAU0BNgcAATYDAAEoAwABOAMA\r
- AQ4DAAEBAQABIAUAAUABDB4AAwIBAwMSARkBIgIhATEBLQIsAUQBcAJBAbABgwEoAU8B6QGJAScBTQHo\r
- AYkBLAFGAeQBjgEtAUMB4gGMASwBSQHjAWYCRAGhsAADDgETAV4CQwGWAYACPAHCAZABNAExAdYBkwEw\r
- AS8B3AFUASQBlQH7AkcB8QH/AlQB8gH/AicB7wH/AkkB8gH/AlAB8gH/AYwBLAFJAeOsAAMBAQIBbwJC\r
- Aa0BnQFlATsB/wGbAWABMgH/AZsBXgEuAf8BnAFeAS4B/wFDATsBuwH/AkIB8QH/AtgB/AH/AnEB9QH/\r
- AtgB/AH/AkkB8gH/AY4BLQFDAeKsAAEiAiEBMQGbAVcBJwH7AZ8BYAEvAf8BogFiATAB/wGkAWMBMQH/\r
- AagBawE7Af8BRQE/AcIB/wInAe8B/wJhAfQB/wL4Af4B/wJxAfUB/wInAe8B/wGOAS0BQwHirAABOQI2\r
- AVoBpQFpAT0B/wGfAWABLwH/AaoBZwEzAf8BrQFpATQB/wG6AYgBYAH/AUkBRAHHAf8CSwHyAf8C2wH8\r
- Af8CYQH0Af8C2AH8Af8CVAHyAf8BjgEtAUMB4qwAARUCFAEcAacBQQEpAfMBqQFmATMB/wGvAWoBNQH/\r
- AbUBbgE2Af8B0gGzAZsB/wFMAUoBzwH/Aj4B8QH/AksB8gH/AicB7wH/AkIB8QH/AkcB8QH/AY4BLQFD\r
- AeKwAAFmAkQBoQGtAW0BPAH/AbABawE2Af8BpQFzAUoB/wGaApwB/wFSAVcBqwH/AUABOgG8Af8BRAE7\r
- AbsB/wFFAT0BvAH/AYMBKQFXAe0BjwExAT8B2gFaAkQBkbAAAwsBDwGDAjwBwwGRAXYBXQH/ATsBhQGv\r
- Af8BLwGUAdIB/wEtAZQB0wH/AS4BfAGtAf8BcQFjAVsB/gFmAkQBoQMBAQK8AAMKAQ0BgwE+AU0B6gE5\r
- AaEB4gH/AUIBpgHjAf8BPwGkAeMB/wEvAZwB4AH/AWYBUgFzAfQDGgEkwAABQQI7AWgBPAGjAeIB/wFX\r
- Aa8B5gH/AXIBvAHqAf8BbQG5AeoB/wFLAaoB5QH/ATEBngHhAf8BUAJCAYLAAAFRAkMBgwFGAagB5AH/\r
- AWwBuQHpAf8BnQHPAfEB/wGQAckB7wH/AV0BsgHnAf8BNQGgAeEB/wFeAkMBlsAAATgCNQFZAUEBpAHi\r
- Af8BYQG0AegB/wGFAcQB7QH/AXsBwAHsAf8BVAGuAeYB/wE0AZ8B4QH/AUgCPwF1wwABAQF+Aj8BvgFK\r
- AakB5QH/AVUBrwHmAf8BUQGsAeUB/wFBAaUB4wH/AYgBOgE9Ac4DBgEIxAADCgENAWECRQGaAYoBOgE8\r
- AdABjgE4AT4B1AFmAkQBoQMRARe4AAFCAU0BPgcAAT4DAAEoAwABOAMAAQ4DAAEBAQABAQUAAXAXAAP/\r
- AQAB4AcAAcAHAAGABwABgAcAAYAHAAGABwABwAcAAcABDAYAAeABHAYAAeABHAYAAeABHAYAAeABHAYA\r
- AeABHAYAAfABPAYACw==\r
+ AQ4DAAEBAQABIAUAAUABDB4AAdECAAEDAcACAgEZAbECBgExAacCDAFEAY4CLQGwAYoBJQFHAekBkAEj\r
+ AUUB6AGQASYBPwHkAZYBKAE6AeIBlAEmAUEB4wGOAisBobAAAcQCAQETAY4CJwGWAZMCLgHCAZsBLAEo\r
+ AdYBnAIpAdwBVgEiAZMB+wJHAfEB/wJUAfIB/wInAe8B/wJJAfIB/wJQAfIB/wGUASYBQQHjrAAB0QIA\r
+ AQIBjwItAa0BnQFlATsB/wGbAWABMgH/AZsBXgEuAf8BnAFeAS4B/wFDATsBuwH/AkIB8QH/AtgB/AH/\r
+ AnEB9QH/AtgB/AH/AkkB8gH/AZYBKAE6AeKsAAGxAgYBMQGcAVYBJQH7AZ8BYAEvAf8BogFiATAB/wGk\r
+ AWMBMQH/AagBawE7Af8BRQE/AcIB/wInAe8B/wJhAfQB/wL4Af4B/wJxAfUB/wInAe8B/wGWASgBOgHi\r
+ rAABnQITAVoBpQFpAT0B/wGfAWABLwH/AaoBZwEzAf8BrQFpATQB/wG6AYgBYAH/AUkBRAHHAf8CSwHy\r
+ Af8C2wH8Af8CYQH0Af8C2AH8Af8CVAHyAf8BlgEoAToB4qwAAb4CAgEcAagBPgEmAfMBqQFmATMB/wGv\r
+ AWoBNQH/AbUBbgE2Af8B0gGzAZsB/wFMAUoBzwH/Aj4B8QH/AksB8gH/AicB7wH/AkIB8QH/AkcB8QH/\r
+ AZYBKAE6AeKwAAGOAisBoQGtAW0BPAH/AbABawE2Af8BpQFzAUoB/wGaApwB/wFSAVcBqwH/AUABOgG8\r
+ Af8BRAE7AbsB/wFFAT0BvAH/AYkBJQFRAe0BmAEqATYB2gGOAicBkbAAAcgCAQEPAZUCLgHDAZEBdgFd\r
+ Af8BOwGFAa8B/wEvAZQB0gH/AS0BlAHTAf8BLgF8Aa0B/wFyAWMBWwH+AY4CKwGhAdECAAECvAAByQIB\r
+ AQ0BiAE5AUcB6gE5AaEB4gH/AUIBpgHjAf8BPwGkAeMB/wEvAZwB4AH/AWsBTgFtAfQBuQIEASTAAAGY\r
+ AhgBaAE8AaMB4gH/AVcBrwHmAf8BcgG8AeoB/wFtAbkB6gH/AUsBqgHlAf8BMQGeAeEB/wGQAiIBgsAA\r
+ AZECIgGDAUYBqAHkAf8BbAG5AekB/wGdAc8B8QH/AZAByQHvAf8BXQGyAecB/wE1AaAB4QH/AY4CJwGW\r
+ wAABnQISAVkBQQGkAeIB/wFhAbQB6AH/AYUBxAHtAf8BewHAAewB/wFUAa4B5gH/ATQBnwHhAf8BkwId\r
+ AXXAAAHSAgABAQGUAi8BvgFKAakB5QH/AVUBrwHmAf8BUQGsAeUB/wFBAaUB4wH/AZcBLwEwAc4BzAIA\r
+ AQjEAAHJAgEBDQGPAioBmgGYAS4BMQHQAZkBLwE0AdQBjgIrAaEBwgICARe4AAFCAU0BPgcAAT4DAAEo\r
+ AwABOAMAAQ4DAAEBAQABAQUAAXAXAAP/AQAB4AcAAcAHAAGABwABgAcAAYAHAAGABwABwAcAAcABDAYA\r
+ AeABHAYAAeABHAYAAeABHAYAAeABHAYAAeABHAYAAfABPAYACw==\r
</value>\r
</data>\r
<metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">\r