summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJean-Baptiste Queru <jbq@google.com>2012-05-17 13:29:57 -0700
committerAndroid Git Automerger <android-git-automerger@android.com>2012-05-17 13:29:57 -0700
commit3bf737fc05131a05e7d5d5ef3cefdfaf7ee6124b (patch)
tree0dba75b2e360f1dcbbaed3c944a7445af6110711 /src
parent292e53064af95d4974e8927b320d2ae08e9de2e7 (diff)
parent501fa7284ae63fe28b8f81f403f24befa7c992dd (diff)
downloadpackages_apps_browser-3bf737fc05131a05e7d5d5ef3cefdfaf7ee6124b.zip
packages_apps_browser-3bf737fc05131a05e7d5d5ef3cefdfaf7ee6124b.tar.gz
packages_apps_browser-3bf737fc05131a05e7d5d5ef3cefdfaf7ee6124b.tar.bz2
am 501fa728: Merge "Added a menu item in Browser called Close other tabs"
* commit '501fa7284ae63fe28b8f81f403f24befa7c992dd': Added a menu item in Browser called Close other tabs
Diffstat (limited to 'src')
-rw-r--r--src/com/android/browser/Controller.java18
-rw-r--r--src/com/android/browser/PhoneUi.java8
-rw-r--r--src/com/android/browser/UiController.java2
3 files changed, 28 insertions, 0 deletions
diff --git a/src/com/android/browser/Controller.java b/src/com/android/browser/Controller.java
index 493583d..3b5f812 100644
--- a/src/com/android/browser/Controller.java
+++ b/src/com/android/browser/Controller.java
@@ -1553,6 +1553,10 @@ public class Controller
openIncognitoTab();
break;
+ case R.id.close_other_tabs_id:
+ closeOtherTabs();
+ break;
+
case R.id.goto_menu_id:
editUrl();
break;
@@ -2474,6 +2478,20 @@ public class Controller
}
}
+ /**
+ * Close all tabs except the current one
+ */
+ @Override
+ public void closeOtherTabs() {
+ int inactiveTabs = mTabControl.getTabCount() - 1;
+ for (int i = inactiveTabs; i >= 0; i--) {
+ Tab tab = mTabControl.getTab(i);
+ if (tab != mTabControl.getCurrentTab()) {
+ removeTab(tab);
+ }
+ }
+ }
+
// Called when loading from context menu or LOAD_URL message
protected void loadUrlFromContext(String url) {
Tab tab = getCurrentTab();
diff --git a/src/com/android/browser/PhoneUi.java b/src/com/android/browser/PhoneUi.java
index eb6032d..e3c22bd 100644
--- a/src/com/android/browser/PhoneUi.java
+++ b/src/com/android/browser/PhoneUi.java
@@ -182,6 +182,14 @@ public class PhoneUi extends BaseUi {
if (incognito != null) {
incognito.setVisible(showingNavScreen() || mUseQuickControls);
}
+ MenuItem closeOthers = menu.findItem(R.id.close_other_tabs_id);
+ if (closeOthers != null) {
+ boolean isLastTab = true;
+ if (tab != null) {
+ isLastTab = (mTabControl.getTabCount() <= 1);
+ }
+ closeOthers.setEnabled(!isLastTab);
+ }
if (showingNavScreen()) {
menu.setGroupVisible(R.id.LIVE_MENU, false);
menu.setGroupVisible(R.id.SNAPSHOT_MENU, false);
diff --git a/src/com/android/browser/UiController.java b/src/com/android/browser/UiController.java
index b3d4631..a2946a7 100644
--- a/src/com/android/browser/UiController.java
+++ b/src/com/android/browser/UiController.java
@@ -59,6 +59,8 @@ public interface UiController {
void closeTab(Tab tab);
+ void closeOtherTabs();
+
void stopLoading();
Intent createBookmarkCurrentPageIntent(boolean canBeAnEdit);