diff --git a/src/apps/launchbox/LaunchButton.h b/src/apps/launchbox/LaunchButton.h
index 30af199..15ea207 100644
a
|
b
|
enum {
|
16 | 16 | MSG_CLEAR_SLOT = 'clsl', |
17 | 17 | MSG_REMOVE_SLOT = 'rmsl', |
18 | 18 | MSG_LAUNCH = 'lnch', |
| 19 | MSG_OPEN_CONT_FOLDER = 'opcf', |
19 | 20 | }; |
20 | 21 | |
21 | 22 | |
diff --git a/src/apps/launchbox/MainWindow.cpp b/src/apps/launchbox/MainWindow.cpp
index 76f4c45..0975ad6 100644
a
|
b
|
void
|
109 | 109 | MainWindow::MessageReceived(BMessage* message) |
110 | 110 | { |
111 | 111 | switch (message->what) { |
112 | | case MSG_LAUNCH: { |
| 112 | case MSG_LAUNCH: |
| 113 | { |
113 | 114 | BView* pointer; |
114 | 115 | if (message->FindPointer("be:source", (void**)&pointer) < B_OK) |
115 | 116 | break; |
… |
… |
MainWindow::MessageReceived(BMessage* message)
|
176 | 177 | } |
177 | 178 | break; |
178 | 179 | } |
179 | | case MSG_ADD_SLOT: { |
| 180 | case MSG_ADD_SLOT: |
| 181 | { |
180 | 182 | LaunchButton* button; |
181 | 183 | if (message->FindPointer("be:source", (void**)&button) >= B_OK) { |
182 | 184 | fPadView->AddButton(new LaunchButton("launch button", |
… |
… |
MainWindow::MessageReceived(BMessage* message)
|
184 | 186 | } |
185 | 187 | break; |
186 | 188 | } |
187 | | case MSG_CLEAR_SLOT: { |
| 189 | case MSG_CLEAR_SLOT: |
| 190 | { |
188 | 191 | LaunchButton* button; |
189 | 192 | if (message->FindPointer("be:source", (void**)&button) >= B_OK) |
190 | 193 | button->SetTo((entry_ref*)NULL); |
191 | 194 | break; |
192 | 195 | } |
193 | | case MSG_REMOVE_SLOT: { |
| 196 | case MSG_REMOVE_SLOT: |
| 197 | { |
194 | 198 | LaunchButton* button; |
195 | 199 | if (message->FindPointer("be:source", (void**)&button) >= B_OK) { |
196 | 200 | if (fPadView->RemoveButton(button)) |
… |
… |
MainWindow::MessageReceived(BMessage* message)
|
198 | 202 | } |
199 | 203 | break; |
200 | 204 | } |
201 | | case MSG_SET_DESCRIPTION: { |
| 205 | case MSG_SET_DESCRIPTION: |
| 206 | { |
202 | 207 | LaunchButton* button; |
203 | 208 | if (message->FindPointer("be:source", (void**)&button) >= B_OK) { |
204 | 209 | const char* name; |
… |
… |
MainWindow::MessageReceived(BMessage* message)
|
256 | 261 | } |
257 | 262 | break; |
258 | 263 | } |
259 | | case MSG_ADD_WINDOW: { |
| 264 | case MSG_ADD_WINDOW: |
| 265 | { |
260 | 266 | BMessage settings('sett'); |
261 | 267 | SaveSettings(&settings); |
262 | 268 | message->AddMessage("window", &settings); |
… |
… |
MainWindow::MessageReceived(BMessage* message)
|
279 | 285 | else |
280 | 286 | SetWorkspaces(1L << current_workspace()); |
281 | 287 | break; |
| 288 | case MSG_OPEN_CONT_FOLDER: |
| 289 | { |
| 290 | LaunchButton* button; |
| 291 | if (message->FindPointer("be:source", (void**)&button) >= B_OK) { |
| 292 | entry_ref* target=button->Ref(); |
| 293 | if(target) { |
| 294 | BEntry Opentarget(target); |
| 295 | BMessage Openmsg(B_REFS_RECEIVED); |
| 296 | BMessenger Openmsger("application/x-vnd.Be-TRAK"); |
| 297 | Opentarget.GetParent(&Opentarget); |
| 298 | Opentarget.GetRef(target); |
| 299 | Openmsg.AddRef("refs",target); |
| 300 | Openmsger.SendMessage(&Openmsg); |
| 301 | } |
| 302 | } |
| 303 | } |
| 304 | break; |
282 | 305 | case B_SIMPLE_DATA: |
283 | 306 | case B_REFS_RECEIVED: |
284 | 307 | case B_PASTE: |
diff --git a/src/apps/launchbox/PadView.cpp b/src/apps/launchbox/PadView.cpp
index aa24e46..d5a7272 100644
a
|
b
|
PadView::DisplayMenu(BPoint where, LaunchButton* button) const
|
341 | 341 | item = new BMenuItem(B_TRANSLATE("Remove button"), message); |
342 | 342 | item->SetTarget(window); |
343 | 343 | menu->AddItem(item); |
| 344 | // Open containing folder button |
| 345 | message = new BMessage(MSG_OPEN_CONT_FOLDER); |
| 346 | message->AddPointer("be:source", (void*)button); |
| 347 | item = new BMenuItem(B_TRANSLATE("Open containing folder"), message); |
| 348 | item->SetTarget(window); |
| 349 | menu->AddItem(item); |
344 | 350 | // set button description |
345 | 351 | if (button->Ref()) { |
346 | 352 | message = new BMessage(MSG_SET_DESCRIPTION); |