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 <Catalog.h>
#include <Clipboard.h> #include <Clipboard.h>
#include <Dragger.h> #include <Dragger.h>
#include <LayoutBuilder.h>
#include <LayoutUtils.h> #include <LayoutUtils.h>
#include <Locale.h> #include <Locale.h>
#include <Menu.h> #include <Menu.h>
@@ -155,11 +156,7 @@ TermWindow::TermWindow(BRect frame, const BString& title,
fNextSessionID(0), fNextSessionID(0),
fTabView(NULL), fTabView(NULL),
fMenuBar(NULL), fMenuBar(NULL),
fFileMenu(NULL),
fEditMenu(NULL),
fEncodingMenu(NULL), fEncodingMenu(NULL),
fSettingsMenu(NULL),
fWindowSizeMenu(NULL),
fPrintSettings(NULL), fPrintSettings(NULL),
fPrefWindow(NULL), fPrefWindow(NULL),
fFindPanel(NULL), fFindPanel(NULL),
@@ -349,88 +346,61 @@ TermWindow::_MakeEncodingMenu()
void void
TermWindow::_SetupMenu() TermWindow::_SetupMenu()
{ {
// Menu bar object. BLayoutBuilder::Menu<>(fMenuBar = new BMenuBar(Bounds(), "mbar"))
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. // Edit
fFileMenu = new BMenu(B_TRANSLATE("Terminal")); .AddMenu(B_TRANSLATE("Edit"))
fFileMenu->AddItem(new BMenuItem(B_TRANSLATE("Switch Terminals"), .AddItem(B_TRANSLATE("Copy"), B_COPY,'C')
new BMessage(MENU_SWITCH_TERM), B_TAB)); .AddItem(B_TRANSLATE("Paste"), B_PASTE,'V')
fFileMenu->AddItem(new BMenuItem(B_TRANSLATE("New Terminal"), .AddSeparator()
new BMessage(MENU_NEW_TERM), 'N')); .AddItem(B_TRANSLATE("Select all"), B_SELECT_ALL, 'A')
fFileMenu->AddItem(new BMenuItem(B_TRANSLATE("New tab"), .AddItem(B_TRANSLATE("Clear all"), MENU_CLEAR_ALL, 'L')
new BMessage(kNewTab), 'T')); .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(); // Settings
fFileMenu->AddItem(new BMenuItem(B_TRANSLATE("Page setup" B_UTF8_ELLIPSIS), .AddMenu(B_TRANSLATE("Settings"))
new BMessage(MENU_PAGE_SETUP))); .AddItem(_MakeWindowSizeMenu())
fFileMenu->AddItem(new BMenuItem(B_TRANSLATE("Print"), .AddItem(fEncodingMenu = _MakeEncodingMenu())
new BMessage(MENU_PRINT),'P')); .AddMenu(B_TRANSLATE("Text size"))
fFileMenu->AddSeparatorItem(); .AddItem(B_TRANSLATE("Increase"), kIncreaseFontSize, '+',
fFileMenu->AddItem(new BMenuItem( B_COMMAND_KEY)
B_TRANSLATE("About Terminal" B_UTF8_ELLIPSIS), .GetItem(fIncreaseFontSizeMenuItem)
new BMessage(B_ABOUT_REQUESTED))); .AddItem(B_TRANSLATE("Decrease"), kDecreaseFontSize, '-',
fFileMenu->AddSeparatorItem(); B_COMMAND_KEY)
fFileMenu->AddItem(new BMenuItem(B_TRANSLATE("Close window"), .GetItem(fDecreaseFontSizeMenuItem)
new BMessage(B_QUIT_REQUESTED), 'W', B_SHIFT_KEY)); .End()
fFileMenu->AddItem(new BMenuItem(B_TRANSLATE("Close active tab"), .AddSeparator()
new BMessage(kCloseView), 'W')); .AddItem(B_TRANSLATE("Settings" B_UTF8_ELLIPSIS), MENU_PREF_OPEN)
fFileMenu->AddItem(new BMenuItem(B_TRANSLATE("Quit"), .AddSeparator()
new BMessage(B_QUIT_REQUESTED), 'Q')); .AddItem(B_TRANSLATE("Save as default"), SAVE_AS_DEFAULT)
fMenuBar->AddItem(fFileMenu); .End()
;
// 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);
AddChild(fMenuBar); AddChild(fMenuBar);
} }
-5
View File
@@ -172,12 +172,7 @@ private:
SmartTabView* fTabView; SmartTabView* fTabView;
BMenuBar* fMenuBar; BMenuBar* fMenuBar;
BMenu* fFileMenu;
BMenu* fEditMenu;
BMenu* fEncodingMenu; BMenu* fEncodingMenu;
BMenu* fSettingsMenu;
BMenu* fWindowSizeMenu;
BMenu* fSizeMenu;
BMessage* fPrintSettings; BMessage* fPrintSettings;
PrefWindow* fPrefWindow; PrefWindow* fPrefWindow;