diff options
| author | Ryan Leavengood <leavengood@gmail.com> | 2012-07-29 22:22:16 -0400 |
|---|---|---|
| committer | Ryan Leavengood <leavengood@gmail.com> | 2012-07-29 22:25:45 -0400 |
| commit | 45ecce1d57e8fa0f58c0f50627f87924cb87e514 (patch) | |
| tree | 63a8cff4c36c50dadf3115348d2d3cf909ec746f | |
| parent | cc467a28d9814cd4a84a87ada4bc43a1147beccc (diff) | |
This reduces perceived latency. One day when I add a tab close undo stack, this
will be even better. But generally using the middle mouse button is not
accidental.
| -rw-r--r-- | src/apps/webpositive/tabview/TabContainerView.cpp | 2 | ||||
| -rw-r--r-- | src/apps/webpositive/tabview/TabManager.cpp | 17 |
2 files changed, 5 insertions, 14 deletions
diff --git a/src/apps/webpositive/tabview/TabContainerView.cpp b/src/apps/webpositive/tabview/TabContainerView.cpp index 7f231e1d9c..cca2380469 100644 --- a/src/apps/webpositive/tabview/TabContainerView.cpp +++ b/src/apps/webpositive/tabview/TabContainerView.cpp @@ -138,7 +138,7 @@ TabContainerView::MouseDown(BPoint where) else { if ((buttons & B_TERTIARY_MOUSE_BUTTON) != 0) { // Middle click outside tabs should always open a new tab. - fClickCount = 2; + fController->DoubleClickOutsideTabs(); } else if (clicks > 1) fClickCount++; else diff --git a/src/apps/webpositive/tabview/TabManager.cpp b/src/apps/webpositive/tabview/TabManager.cpp index f25b67769d..dd9338719b 100644 --- a/src/apps/webpositive/tabview/TabManager.cpp +++ b/src/apps/webpositive/tabview/TabManager.cpp @@ -454,7 +454,6 @@ private: TabManagerController* fController; bool fOverCloseRect; bool fClicked; - bool fCloseOnMouseUp; }; @@ -464,8 +463,7 @@ WebTabView::WebTabView(TabManagerController* controller) fIcon(NULL), fController(controller), fOverCloseRect(false), - fClicked(false), - fCloseOnMouseUp(false) + fClicked(false) { } @@ -539,7 +537,8 @@ void WebTabView::MouseDown(BPoint where, uint32 buttons) { if (buttons & B_TERTIARY_MOUSE_BUTTON) { - fCloseOnMouseUp = true; + // Immediately close tab + fController->CloseTab(ContainerView()->IndexOf(this)); return; } @@ -557,20 +556,12 @@ WebTabView::MouseDown(BPoint where, uint32 buttons) void WebTabView::MouseUp(BPoint where) { - if (!fClicked && !fCloseOnMouseUp) { + if (!fClicked) { TabView::MouseUp(where); return; } - if (fCloseOnMouseUp && Frame().Contains(where)) { - fCloseOnMouseUp = false; - fController->CloseTab(ContainerView()->IndexOf(this)); - // Probably this object is toast now, better return here. - return; - } - fClicked = false; - fCloseOnMouseUp = false; if (_CloseRectFrame(Frame()).Contains(where)) fController->CloseTab(ContainerView()->IndexOf(this)); |
