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:
@@ -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);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
Reference in New Issue
Block a user