681 | | BPopUpMenu *menu = new BPopUpMenu(B_EMPTY_STRING, false, false); |
682 | | menu->SetFont(be_plain_font); |
683 | | |
684 | | BMenuItem* item; |
685 | | menu->AddItem(item = new BMenuItem(B_TRANSLATE("Show text label"), |
686 | | new BMessage(kMsgToggleLabel))); |
687 | | if (fShowLabel) |
688 | | item->SetMarked(true); |
689 | | menu->AddItem(item = new BMenuItem(B_TRANSLATE("Show status icon"), |
690 | | new BMessage(kMsgToggleStatusIcon))); |
691 | | if (fShowStatusIcon) |
692 | | item->SetMarked(true); |
693 | | menu->AddItem(new BMenuItem(!fShowTime ? B_TRANSLATE("Show time") : |
694 | | B_TRANSLATE("Show percent"), |
695 | | new BMessage(kMsgToggleTime))); |
696 | | |
697 | | menu->AddSeparatorItem(); |
698 | | menu->AddItem(new BMenuItem(B_TRANSLATE("Battery info" B_UTF8_ELLIPSIS), |
699 | | new BMessage(kMsgToggleExtInfo))); |
700 | | |
701 | | menu->AddSeparatorItem(); |
702 | | menu->AddItem(new BMenuItem(B_TRANSLATE("About" B_UTF8_ELLIPSIS), |
703 | | new BMessage(B_ABOUT_REQUESTED))); |
704 | | menu->AddItem(new BMenuItem(B_TRANSLATE("Quit"), |
705 | | new BMessage(B_QUIT_REQUESTED))); |
706 | | menu->SetTargetForItems(this); |
707 | | |
708 | | ConvertToScreen(&point); |
709 | | menu->Go(point, true, false, true); |
| 681 | BMessage* msg = Window()->CurrentMessage(); |
| 682 | int32 buttons = msg->GetInt32("buttons", 0); |
| 683 | if ((buttons & B_TERTIARY_MOUSE_BUTTON) != 0) { |
| 684 | BMessenger messenger(this); |
| 685 | messenger.SendMessage(kMsgToggleExtInfo); |
| 686 | } else { |
| 687 | BPopUpMenu* menu = new BPopUpMenu(B_EMPTY_STRING, false, false); |
| 688 | menu->SetFont(be_plain_font); |
| 689 | |
| 690 | BMenuItem* item; |
| 691 | menu->AddItem(item = new BMenuItem(B_TRANSLATE("Show text label"), |
| 692 | new BMessage(kMsgToggleLabel))); |
| 693 | if (fShowLabel) |
| 694 | item->SetMarked(true); |
| 695 | menu->AddItem(item = new BMenuItem(B_TRANSLATE("Show status icon"), |
| 696 | new BMessage(kMsgToggleStatusIcon))); |
| 697 | if (fShowStatusIcon) |
| 698 | item->SetMarked(true); |
| 699 | menu->AddItem(new BMenuItem(!fShowTime ? B_TRANSLATE("Show time") : |
| 700 | B_TRANSLATE("Show percent"), new BMessage(kMsgToggleTime))); |
| 701 | |
| 702 | menu->AddSeparatorItem(); |
| 703 | menu->AddItem(new BMenuItem(B_TRANSLATE("Battery info" B_UTF8_ELLIPSIS), |
| 704 | new BMessage(kMsgToggleExtInfo))); |
| 705 | |
| 706 | menu->AddSeparatorItem(); |
| 707 | menu->AddItem(new BMenuItem(B_TRANSLATE("About" B_UTF8_ELLIPSIS), |
| 708 | new BMessage(B_ABOUT_REQUESTED))); |
| 709 | menu->AddItem(new BMenuItem(B_TRANSLATE("Quit"), |
| 710 | new BMessage(B_QUIT_REQUESTED))); |
| 711 | menu->SetTargetForItems(this); |
| 712 | |
| 713 | ConvertToScreen(&point); |
| 714 | menu->Go(point, true, false, true); |
| 715 | } |