|
Lines 148-157
Link Here
|
| 148 |
key = PKEY_Title; |
148 |
key = PKEY_Title; |
| 149 |
|
149 |
|
| 150 |
/*IShellLink::SetPath*/ |
150 |
/*IShellLink::SetPath*/ |
| 151 |
hr = OS.VtblCall (20, pLink, EXE_PATH); |
151 |
char[] exePath = EXE_PATH; |
|
|
152 |
if (item.getData(SWT.TASKBAR_ITEM_EXECUTABLE) != null) { |
| 153 |
exePath = ((String) item.getData(SWT.TASKBAR_ITEM_EXECUTABLE)).toCharArray(); |
| 154 |
} |
| 155 |
|
| 156 |
hr = OS.VtblCall (20, pLink, exePath); |
| 152 |
if (hr != OS.S_OK) error (SWT.ERROR_INVALID_ARGUMENT); |
157 |
if (hr != OS.S_OK) error (SWT.ERROR_INVALID_ARGUMENT); |
| 153 |
|
158 |
|
| 154 |
text = Display.LAUNCHER_PREFIX + Display.TASKBAR_EVENT + item.id; |
159 |
if (item.getData(SWT.TASKBAR_ITEM_ARGUMENTS) != null) { |
|
|
160 |
StringBuffer argsBuffer = new StringBuffer(); |
| 161 |
String[] args = (String[]) item.getData(SWT.TASKBAR_ITEM_ARGUMENTS); |
| 162 |
for (int i = 0; i < args.length; i++) { |
| 163 |
argsBuffer.append(args[i] + " "); |
| 164 |
} |
| 165 |
text = argsBuffer.toString().trim(); |
| 166 |
} else { |
| 167 |
text = Display.LAUNCHER_PREFIX + Display.TASKBAR_EVENT + item.id; |
| 168 |
} |
| 169 |
|
| 155 |
length = text.length (); |
170 |
length = text.length (); |
| 156 |
buffer = new char [length + 1]; |
171 |
buffer = new char [length + 1]; |
| 157 |
text.getChars (0, length, buffer, 0); |
172 |
text.getChars (0, length, buffer, 0); |
|
Lines 172-188
Link Here
|
| 172 |
|
187 |
|
| 173 |
Image image = item.getImage (); |
188 |
Image image = item.getImage (); |
| 174 |
if (image != null && directory != null) { |
189 |
if (image != null && directory != null) { |
| 175 |
String imageFilename = directory + "\\menu" + item.id + ".ico" ; |
190 |
String imageFilename = directory + "\\menu" + item.id + ".ico"; |
| 176 |
ImageData data; |
191 |
if (item.getData(SWT.TASKBAR_ITEM_ICON) != null) { |
| 177 |
if (item.hBitmap != 0) { |
192 |
imageFilename = (String) item.getData(SWT.TASKBAR_ITEM_ICON); |
| 178 |
Image image2 = Image.win32_new (display, SWT.BITMAP, item.hBitmap); |
|
|
| 179 |
data = image2.getImageData (); |
| 180 |
} else { |
193 |
} else { |
| 181 |
data = image.getImageData (); |
194 |
ImageData data; |
|
|
195 |
if (item.hBitmap != 0) { |
| 196 |
Image image2 = Image.win32_new (display, SWT.BITMAP, item.hBitmap); |
| 197 |
data = image2.getImageData (); |
| 198 |
} else { |
| 199 |
data = image.getImageData (); |
| 200 |
} |
| 201 |
ImageLoader loader = new ImageLoader (); |
| 202 |
loader.data = new ImageData [] {data}; |
| 203 |
loader.save (imageFilename, SWT.IMAGE_ICO); |
| 182 |
} |
204 |
} |
| 183 |
ImageLoader loader = new ImageLoader (); |
|
|
| 184 |
loader.data = new ImageData [] {data}; |
| 185 |
loader.save (imageFilename, SWT.IMAGE_ICO); |
| 186 |
length = imageFilename.length (); |
205 |
length = imageFilename.length (); |
| 187 |
buffer = new char [length + 1]; |
206 |
buffer = new char [length + 1]; |
| 188 |
imageFilename.getChars (0, length, buffer, 0); |
207 |
imageFilename.getChars (0, length, buffer, 0); |