Change window/tab management shortcuts:
- cmd+w now closes the active tab. If the tab is the only one remaining, the window is closed. - cmd+shift+w closes the window, regardless of tab count. Whitespace cleanups. git-svn-id: http://svn.haiku-os.org/webpositive/webkit/trunk@167 94f232f2-1747-11df-bad5-a5bfde151594
This commit is contained in:
@@ -115,8 +115,8 @@ LauncherWindow::LauncherWindow(BRect frame, const BMessenger& downloadListener,
|
|||||||
menu->AddItem(newItem);
|
menu->AddItem(newItem);
|
||||||
newItem->SetTarget(be_app);
|
newItem->SetTarget(be_app);
|
||||||
menu->AddSeparatorItem();
|
menu->AddSeparatorItem();
|
||||||
menu->AddItem(new BMenuItem("Close window", new BMessage(B_QUIT_REQUESTED), 'W'));
|
menu->AddItem(new BMenuItem("Close window", new BMessage(B_QUIT_REQUESTED), 'W', B_SHIFT_KEY));
|
||||||
menu->AddItem(new BMenuItem("Close tab", new BMessage(CLOSE_TAB), 'W', B_SHIFT_KEY));
|
menu->AddItem(new BMenuItem("Close tab", new BMessage(CLOSE_TAB), 'W'));
|
||||||
menu->AddSeparatorItem();
|
menu->AddSeparatorItem();
|
||||||
menu->AddItem(new BMenuItem("Show downloads", new BMessage(SHOW_DOWNLOAD_WINDOW), 'D'));
|
menu->AddItem(new BMenuItem("Show downloads", new BMessage(SHOW_DOWNLOAD_WINDOW), 'D'));
|
||||||
menu->AddSeparatorItem();
|
menu->AddSeparatorItem();
|
||||||
@@ -337,6 +337,8 @@ void LauncherWindow::MessageReceived(BMessage* message)
|
|||||||
case CLOSE_TAB: {
|
case CLOSE_TAB: {
|
||||||
if (m_tabView->CountTabs() > 1)
|
if (m_tabView->CountTabs() > 1)
|
||||||
delete m_tabView->RemoveTab(m_tabView->Selection());
|
delete m_tabView->RemoveTab(m_tabView->Selection());
|
||||||
|
else
|
||||||
|
PostMessage(B_QUIT_REQUESTED);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -406,19 +408,19 @@ void LauncherWindow::MenusBeginning()
|
|||||||
|
|
||||||
void LauncherWindow::newTab(const BString& url, bool select)
|
void LauncherWindow::newTab(const BString& url, bool select)
|
||||||
{
|
{
|
||||||
// Executed in app thread (new BWebPage needs to be created in app thread).
|
// Executed in app thread (new BWebPage needs to be created in app thread).
|
||||||
WebView* webView = new WebView("web_view");
|
WebView* webView = new WebView("web_view");
|
||||||
m_tabView->AddTab(webView);
|
m_tabView->AddTab(webView);
|
||||||
m_tabView->TabAt(m_tabView->CountTabs() - 1)->SetLabel("New tab");
|
m_tabView->TabAt(m_tabView->CountTabs() - 1)->SetLabel("New tab");
|
||||||
// TODO: Remove when BTabView is fixed...
|
// TODO: Remove when BTabView is fixed...
|
||||||
m_tabView->InvalidateLayout();
|
m_tabView->InvalidateLayout();
|
||||||
|
|
||||||
if (url.Length())
|
if (url.Length())
|
||||||
webView->loadRequest(url.String());
|
webView->loadRequest(url.String());
|
||||||
|
|
||||||
if (select) {
|
if (select) {
|
||||||
m_tabView->Select(m_tabView->CountTabs() - 1);
|
m_tabView->Select(m_tabView->CountTabs() - 1);
|
||||||
setCurrentWebView(webView);
|
setCurrentWebView(webView);
|
||||||
navigationCapabilitiesChanged(false, false, false, webView);
|
navigationCapabilitiesChanged(false, false, false, webView);
|
||||||
if (m_url)
|
if (m_url)
|
||||||
m_url->MakeFocus(true);
|
m_url->MakeFocus(true);
|
||||||
@@ -543,7 +545,7 @@ void LauncherWindow::titleChanged(const BString& title, WebView* view)
|
|||||||
for (int32 i = 0; i < m_tabView->CountTabs(); i++) {
|
for (int32 i = 0; i < m_tabView->CountTabs(); i++) {
|
||||||
if (m_tabView->ViewForTab(i) == view) {
|
if (m_tabView->ViewForTab(i) == view) {
|
||||||
m_tabView->TabAt(i)->SetLabel(title);
|
m_tabView->TabAt(i)->SetLabel(title);
|
||||||
m_tabView->DrawTabs();
|
m_tabView->DrawTabs();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user