Ticket #7951: new3.patch

File new3.patch, 3.5 KB (added by abhiin1947, 9 years ago)

By: abhiin1947

  • src/apps/launchbox/LaunchButton.h

    diff --git a/src/apps/launchbox/LaunchButton.h b/src/apps/launchbox/LaunchButton.h
    index 30af199..15ea207 100644
    a b enum {  
    1616    MSG_CLEAR_SLOT              = 'clsl',
    1717    MSG_REMOVE_SLOT             = 'rmsl',
    1818    MSG_LAUNCH                  = 'lnch',
     19    MSG_OPEN_CONT_FOLDER        = 'opcf',
    1920};
    2021
    2122
  • src/apps/launchbox/MainWindow.cpp

    diff --git a/src/apps/launchbox/MainWindow.cpp b/src/apps/launchbox/MainWindow.cpp
    index 76f4c45..de6afac 100644
    a b void  
    109109MainWindow::MessageReceived(BMessage* message)
    110110{
    111111    switch (message->what) {
    112         case MSG_LAUNCH: {
     112        case MSG_LAUNCH:
     113        {
    113114            BView* pointer;
    114115            if (message->FindPointer("be:source", (void**)&pointer) < B_OK)
    115116                break;
    MainWindow::MessageReceived(BMessage* message)  
    176177            }
    177178            break;
    178179        }
    179         case MSG_ADD_SLOT: {
     180        case MSG_ADD_SLOT:
     181        {
    180182            LaunchButton* button;
    181183            if (message->FindPointer("be:source", (void**)&button) >= B_OK) {
    182184                fPadView->AddButton(new LaunchButton("launch button",
    MainWindow::MessageReceived(BMessage* message)  
    184186            }
    185187            break;
    186188        }
    187         case MSG_CLEAR_SLOT: {
     189        case MSG_CLEAR_SLOT:
     190        {
    188191            LaunchButton* button;
    189192            if (message->FindPointer("be:source", (void**)&button) >= B_OK)
    190193                button->SetTo((entry_ref*)NULL);
    191194            break;
    192195        }
    193         case MSG_REMOVE_SLOT: {
     196        case MSG_REMOVE_SLOT:
     197        {
    194198            LaunchButton* button;
    195199            if (message->FindPointer("be:source", (void**)&button) >= B_OK) {
    196200                if (fPadView->RemoveButton(button))
    MainWindow::MessageReceived(BMessage* message)  
    198202            }
    199203            break;
    200204        }
    201         case MSG_SET_DESCRIPTION: {
     205        case MSG_SET_DESCRIPTION:
     206        {
    202207            LaunchButton* button;
    203208            if (message->FindPointer("be:source", (void**)&button) >= B_OK) {
    204209                const char* name;
    MainWindow::MessageReceived(BMessage* message)  
    256261            }
    257262            break;
    258263        }
    259         case MSG_ADD_WINDOW: {
     264        case MSG_ADD_WINDOW:
     265        {
    260266            BMessage settings('sett');
    261267            SaveSettings(&settings);
    262268            message->AddMessage("window", &settings);
    MainWindow::MessageReceived(BMessage* message)  
    279285            else
    280286                SetWorkspaces(1L << current_workspace());
    281287            break;
     288        case MSG_OPEN_CONT_FOLDER:
     289        {
     290            LaunchButton* button;
     291            if (message->FindPointer("be:source", (void**)&button) >= B_OK) {
     292                if(button->Ref()) {
     293                    entry_ref target=*button->Ref();
     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;
    282305        case B_SIMPLE_DATA:
    283306        case B_REFS_RECEIVED:
    284307        case B_PASTE:
  • src/apps/launchbox/PadView.cpp

    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  
    341341        item = new BMenuItem(B_TRANSLATE("Remove button"), message);
    342342        item->SetTarget(window);
    343343        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);
    344350        // set button description
    345351        if (button->Ref()) {
    346352            message = new BMessage(MSG_SET_DESCRIPTION);