8 |
|
using System.Diagnostics; |
9 |
|
using RomCheater.PluginFramework.Interfaces; |
10 |
|
using RomCheater.PluginFramework.Core; |
11 |
+ |
using System.IO; |
12 |
+ |
using RomCheater.Logging; |
13 |
|
|
14 |
|
namespace RomCheater |
15 |
|
{ |
80 |
|
List<ListViewItem> items = new List<ListViewItem>(); |
81 |
|
ImageList small_image_list = new ImageList(); |
82 |
|
ImageList large_image_list = new ImageList(); |
83 |
< |
foreach (ProcContainer p in proc_list) { this.AddProcessItem(p, ref items, out small_image_list, out large_image_list); } |
83 |
> |
|
84 |
> |
int small_width = 16; |
85 |
> |
int large_width = 32; |
86 |
> |
|
87 |
> |
small_image_list.ImageSize = new Size(small_width, small_width); |
88 |
> |
large_image_list.ImageSize = new Size(large_width, large_width); |
89 |
> |
foreach (ProcContainer p in proc_list) |
90 |
> |
{ |
91 |
> |
Bitmap small_image = null; |
92 |
> |
Bitmap large_image = null; |
93 |
> |
string image_key = string.Empty; |
94 |
> |
this.AddProcessItem(p, small_image_list.ImageSize, large_image_list.ImageSize, out image_key, out small_image, out large_image); |
95 |
> |
if (image_key != string.Empty) |
96 |
> |
{ |
97 |
> |
if (small_image != null) { small_image_list.Images.Add(image_key, small_image); } |
98 |
> |
if (large_image != null) { large_image_list.Images.Add(image_key, large_image); } |
99 |
> |
ListViewItem item = new ListViewItem(); |
100 |
> |
// process name |
101 |
> |
item.Text = p.Name; |
102 |
> |
// pid |
103 |
> |
item.SubItems.Add(p.ProcessInfo.Id.ToString()); |
104 |
> |
// FullPath |
105 |
> |
item.SubItems.Add(p.FileName); |
106 |
> |
// image key |
107 |
> |
item.ImageKey = p.FileName; |
108 |
> |
if (!items.Contains(item)) items.Add(item); |
109 |
> |
} |
110 |
> |
else |
111 |
> |
{ |
112 |
> |
logger.Error.Write("image_key is an empty string!"); |
113 |
> |
if (small_image != null) { logger.Error.Write(" [however small_image is not null]"); } |
114 |
> |
if (large_image != null) { logger.Error.Write(" [however large_image is not null]\n"); } |
115 |
> |
} |
116 |
> |
} |
117 |
|
lstProcessList.SmallImageList = small_image_list; |
118 |
|
lstProcessList.LargeImageList = large_image_list; |
119 |
|
this.lstProcessList.Items.AddRange(items.ToArray()); |
120 |
|
return true; |
121 |
|
} |
122 |
|
|
123 |
< |
private void AddProcessItem(ProcContainer p, ref List<ListViewItem> items, out ImageList small_image_list, out ImageList large_image_list) |
123 |
> |
private void AddProcessItem(ProcContainer p, Size small, Size large, out string image_key, out Bitmap small_image, out Bitmap large_image) |
124 |
|
{ |
125 |
< |
small_image_list = new ImageList(); |
126 |
< |
large_image_list = new ImageList(); |
127 |
< |
ListViewItem item = new ListViewItem(); |
128 |
< |
// process |
129 |
< |
item.Text = p.Name; |
130 |
< |
if (p.ProcessIcon != null) |
125 |
> |
image_key = ""; |
126 |
> |
small_image = null; |
127 |
> |
large_image = null; |
128 |
> |
////small_image_list = new ImageList(); |
129 |
> |
////large_image_list = new ImageList(); |
130 |
> |
//ListViewItem item = new ListViewItem(); |
131 |
> |
//// process |
132 |
> |
//item.Text = p.Name; |
133 |
> |
//if (p.ProcessIcon != null) |
134 |
> |
//{ |
135 |
> |
// //small_image_list.Images.Add( |
136 |
> |
// //large_image_list.Images.Add(p.FileName, p.ProcessIcon); |
137 |
> |
// item.ImageKey = p.FileName; |
138 |
> |
//} |
139 |
> |
//// pid |
140 |
> |
//item.SubItems.Add(p.ProcessInfo.Id.ToString()); |
141 |
> |
//// FullPath |
142 |
> |
//item.SubItems.Add(p.FileName); |
143 |
> |
//if (!items.Contains(item)) items.Add(item); |
144 |
> |
if (p != null) |
145 |
|
{ |
146 |
< |
Bitmap small_image = ProcContainer.CreateIconFromProcess(p, 1); |
147 |
< |
Bitmap large_image = ProcContainer.CreateIconFromProcess(p, 2); |
148 |
< |
small_image_list.Images.Add(p.FileName, ProcContainer.CreateIconFromProcess(p, 1)); |
149 |
< |
small_image_list.ImageSize = new Size(small_image.Width, small_image.Height); |
150 |
< |
large_image_list.Images.Add(p.FileName, ProcContainer.CreateIconFromProcess(p, 2)); |
151 |
< |
large_image_list.ImageSize = new Size(large_image.Width, large_image.Height); |
103 |
< |
item.ImageKey = p.FileName; |
146 |
> |
if (p.ProcessIcon != null) |
147 |
> |
{ |
148 |
> |
image_key = p.FileName; |
149 |
> |
small_image = new Bitmap(p.ProcessIcon, small); |
150 |
> |
large_image = new Bitmap(p.ProcessIcon, large); |
151 |
> |
} |
152 |
|
} |
153 |
< |
// pid |
106 |
< |
item.SubItems.Add(p.ProcessInfo.Id.ToString()); |
107 |
< |
// FullPath |
108 |
< |
item.SubItems.Add(p.FileName); |
109 |
< |
if (!items.Contains(item)) items.Add(item); |
153 |
> |
|
154 |
|
} |
155 |
|
} |
156 |
|
} |