Use the new menu layout builder.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39508 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Ingo Weinhold
2010-11-19 14:30:42 +00:00
parent 6bb10e965d
commit 1ded93a4b9
2 changed files with 54 additions and 89 deletions
+54 -84
View File
@@ -19,6 +19,7 @@
#include <Catalog.h>
#include <Clipboard.h>
#include <Dragger.h>
#include <LayoutBuilder.h>
#include <LayoutUtils.h>
#include <Locale.h>
#include <Menu.h>
@@ -155,11 +156,7 @@ TermWindow::TermWindow(BRect frame, const BString& title,
fNextSessionID(0),
fTabView(NULL),
fMenuBar(NULL),
fFileMenu(NULL),
fEditMenu(NULL),
fEncodingMenu(NULL),
fSettingsMenu(NULL),
fWindowSizeMenu(NULL),
fPrintSettings(NULL),
fPrefWindow(NULL),
fFindPanel(NULL),
@@ -349,88 +346,61 @@ TermWindow::_MakeEncodingMenu()
void
TermWindow::_SetupMenu()
{
// Menu bar object.
fMenuBar = new BMenuBar(Bounds(), "mbar");
BLayoutBuilder::Menu<>(fMenuBar = new BMenuBar(Bounds(), "mbar"))
// Terminal
.AddMenu(B_TRANSLATE("Terminal"))
.AddItem(B_TRANSLATE("Switch Terminals"), MENU_SWITCH_TERM, B_TAB)
.AddItem(B_TRANSLATE("New Terminal"), MENU_NEW_TERM, 'N')
.AddItem(B_TRANSLATE("New tab"), kNewTab, 'T')
.AddSeparator()
.AddItem(B_TRANSLATE("Page setup" B_UTF8_ELLIPSIS), MENU_PAGE_SETUP)
.AddItem(B_TRANSLATE("Print"), MENU_PRINT,'P')
.AddSeparator()
.AddItem(B_TRANSLATE("About Terminal" B_UTF8_ELLIPSIS),
B_ABOUT_REQUESTED)
.AddSeparator()
.AddItem(B_TRANSLATE("Close window"), B_QUIT_REQUESTED, 'W',
B_SHIFT_KEY)
.AddItem(B_TRANSLATE("Close active tab"), kCloseView, 'W')
.AddItem(B_TRANSLATE("Quit"), B_QUIT_REQUESTED, 'Q')
.End()
// Make File Menu.
fFileMenu = new BMenu(B_TRANSLATE("Terminal"));
fFileMenu->AddItem(new BMenuItem(B_TRANSLATE("Switch Terminals"),
new BMessage(MENU_SWITCH_TERM), B_TAB));
fFileMenu->AddItem(new BMenuItem(B_TRANSLATE("New Terminal"),
new BMessage(MENU_NEW_TERM), 'N'));
fFileMenu->AddItem(new BMenuItem(B_TRANSLATE("New tab"),
new BMessage(kNewTab), 'T'));
// Edit
.AddMenu(B_TRANSLATE("Edit"))
.AddItem(B_TRANSLATE("Copy"), B_COPY,'C')
.AddItem(B_TRANSLATE("Paste"), B_PASTE,'V')
.AddSeparator()
.AddItem(B_TRANSLATE("Select all"), B_SELECT_ALL, 'A')
.AddItem(B_TRANSLATE("Clear all"), MENU_CLEAR_ALL, 'L')
.AddSeparator()
.AddItem(B_TRANSLATE("Find" B_UTF8_ELLIPSIS), MENU_FIND_STRING,'F')
.AddItem(B_TRANSLATE("Find previous"), MENU_FIND_PREVIOUS, 'G',
B_SHIFT_KEY)
.GetItem(fFindPreviousMenuItem)
.SetEnabled(false)
.AddItem(B_TRANSLATE("Find next"), MENU_FIND_NEXT, 'G')
.GetItem(fFindNextMenuItem)
.SetEnabled(false)
.End()
fFileMenu->AddSeparatorItem();
fFileMenu->AddItem(new BMenuItem(B_TRANSLATE("Page setup" B_UTF8_ELLIPSIS),
new BMessage(MENU_PAGE_SETUP)));
fFileMenu->AddItem(new BMenuItem(B_TRANSLATE("Print"),
new BMessage(MENU_PRINT),'P'));
fFileMenu->AddSeparatorItem();
fFileMenu->AddItem(new BMenuItem(
B_TRANSLATE("About Terminal" B_UTF8_ELLIPSIS),
new BMessage(B_ABOUT_REQUESTED)));
fFileMenu->AddSeparatorItem();
fFileMenu->AddItem(new BMenuItem(B_TRANSLATE("Close window"),
new BMessage(B_QUIT_REQUESTED), 'W', B_SHIFT_KEY));
fFileMenu->AddItem(new BMenuItem(B_TRANSLATE("Close active tab"),
new BMessage(kCloseView), 'W'));
fFileMenu->AddItem(new BMenuItem(B_TRANSLATE("Quit"),
new BMessage(B_QUIT_REQUESTED), 'Q'));
fMenuBar->AddItem(fFileMenu);
// Make Edit Menu.
fEditMenu = new BMenu(B_TRANSLATE("Edit"));
fEditMenu->AddItem(new BMenuItem(B_TRANSLATE("Copy"),
new BMessage(B_COPY),'C'));
fEditMenu->AddItem(new BMenuItem(B_TRANSLATE("Paste"),
new BMessage(B_PASTE),'V'));
fEditMenu->AddSeparatorItem();
fEditMenu->AddItem(new BMenuItem(B_TRANSLATE("Select all"),
new BMessage(B_SELECT_ALL), 'A'));
fEditMenu->AddItem(new BMenuItem(B_TRANSLATE("Clear all"),
new BMessage(MENU_CLEAR_ALL), 'L'));
fEditMenu->AddSeparatorItem();
fEditMenu->AddItem(new BMenuItem(B_TRANSLATE("Find" B_UTF8_ELLIPSIS),
new BMessage(MENU_FIND_STRING),'F'));
fFindPreviousMenuItem = new BMenuItem(B_TRANSLATE("Find previous"),
new BMessage(MENU_FIND_PREVIOUS), 'G', B_SHIFT_KEY);
fEditMenu->AddItem(fFindPreviousMenuItem);
fFindPreviousMenuItem->SetEnabled(false);
fFindNextMenuItem = new BMenuItem(B_TRANSLATE("Find next"),
new BMessage(MENU_FIND_NEXT), 'G');
fEditMenu->AddItem(fFindNextMenuItem);
fFindNextMenuItem->SetEnabled(false);
fMenuBar->AddItem(fEditMenu);
// Make Help Menu.
fSettingsMenu = new BMenu(B_TRANSLATE("Settings"));
fWindowSizeMenu = _MakeWindowSizeMenu();
fEncodingMenu = _MakeEncodingMenu();
fSizeMenu = new BMenu(B_TRANSLATE("Text size"));
fIncreaseFontSizeMenuItem = new BMenuItem(B_TRANSLATE("Increase"),
new BMessage(kIncreaseFontSize), '+', B_COMMAND_KEY);
fDecreaseFontSizeMenuItem = new BMenuItem(B_TRANSLATE("Decrease"),
new BMessage(kDecreaseFontSize), '-', B_COMMAND_KEY);
fSizeMenu->AddItem(fIncreaseFontSizeMenuItem);
fSizeMenu->AddItem(fDecreaseFontSizeMenuItem);
fSettingsMenu->AddItem(fWindowSizeMenu);
fSettingsMenu->AddItem(fEncodingMenu);
fSettingsMenu->AddItem(fSizeMenu);
fSettingsMenu->AddSeparatorItem();
fSettingsMenu->AddItem(new BMenuItem(
B_TRANSLATE("Settings" B_UTF8_ELLIPSIS), new BMessage(MENU_PREF_OPEN)));
fSettingsMenu->AddSeparatorItem();
fSettingsMenu->AddItem(new BMenuItem(B_TRANSLATE("Save as default"),
new BMessage(SAVE_AS_DEFAULT)));
fMenuBar->AddItem(fSettingsMenu);
// Settings
.AddMenu(B_TRANSLATE("Settings"))
.AddItem(_MakeWindowSizeMenu())
.AddItem(fEncodingMenu = _MakeEncodingMenu())
.AddMenu(B_TRANSLATE("Text size"))
.AddItem(B_TRANSLATE("Increase"), kIncreaseFontSize, '+',
B_COMMAND_KEY)
.GetItem(fIncreaseFontSizeMenuItem)
.AddItem(B_TRANSLATE("Decrease"), kDecreaseFontSize, '-',
B_COMMAND_KEY)
.GetItem(fDecreaseFontSizeMenuItem)
.End()
.AddSeparator()
.AddItem(B_TRANSLATE("Settings" B_UTF8_ELLIPSIS), MENU_PREF_OPEN)
.AddSeparator()
.AddItem(B_TRANSLATE("Save as default"), SAVE_AS_DEFAULT)
.End()
;
AddChild(fMenuBar);
}
-5
View File
@@ -172,12 +172,7 @@ private:
SmartTabView* fTabView;
BMenuBar* fMenuBar;
BMenu* fFileMenu;
BMenu* fEditMenu;
BMenu* fEncodingMenu;
BMenu* fSettingsMenu;
BMenu* fWindowSizeMenu;
BMenu* fSizeMenu;
BMessage* fPrintSettings;
PrefWindow* fPrefWindow;