OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 package org.chromium.chrome.browser.appmenu; | 5 package org.chromium.chrome.browser.appmenu; |
6 | 6 |
7 import android.text.TextUtils; | 7 import android.text.TextUtils; |
8 import android.view.Menu; | 8 import android.view.Menu; |
9 import android.view.MenuItem; | 9 import android.view.MenuItem; |
10 | 10 |
11 import org.chromium.base.CommandLine; | 11 import org.chromium.base.CommandLine; |
12 import org.chromium.chrome.R; | 12 import org.chromium.chrome.R; |
13 import org.chromium.chrome.browser.ChromeActivity; | 13 import org.chromium.chrome.browser.ChromeActivity; |
14 import org.chromium.chrome.browser.ChromeSwitches; | 14 import org.chromium.chrome.browser.ChromeSwitches; |
15 import org.chromium.chrome.browser.ShortcutHelper; | 15 import org.chromium.chrome.browser.ShortcutHelper; |
16 import org.chromium.chrome.browser.UrlConstants; | 16 import org.chromium.chrome.browser.UrlConstants; |
17 import org.chromium.chrome.browser.bookmarks.BookmarkBridge; | 17 import org.chromium.chrome.browser.bookmarks.BookmarkBridge; |
18 import org.chromium.chrome.browser.multiwindow.MultiWindowUtils; | 18 import org.chromium.chrome.browser.multiwindow.MultiWindowUtils; |
19 import org.chromium.chrome.browser.omaha.UpdateMenuItemHelper; | 19 import org.chromium.chrome.browser.omaha.UpdateMenuItemHelper; |
20 import org.chromium.chrome.browser.preferences.ManagedPreferencesUtils; | 20 import org.chromium.chrome.browser.preferences.ManagedPreferencesUtils; |
21 import org.chromium.chrome.browser.preferences.PrefServiceBridge; | 21 import org.chromium.chrome.browser.preferences.PrefServiceBridge; |
22 import org.chromium.chrome.browser.share.ShareHelper; | 22 import org.chromium.chrome.browser.share.ShareHelper; |
23 import org.chromium.chrome.browser.tab.Tab; | 23 import org.chromium.chrome.browser.tab.Tab; |
24 import org.chromium.chrome.browser.util.FeatureUtilities; | 24 import org.chromium.chrome.browser.util.FeatureUtilities; |
25 import org.chromium.components.dom_distiller.core.DomDistillerUrlUtils; | 25 import org.chromium.components.dom_distiller.core.DomDistillerUrlUtils; |
26 import org.chromium.printing.PrintingController; | |
27 import org.chromium.ui.base.DeviceFormFactor; | 26 import org.chromium.ui.base.DeviceFormFactor; |
28 | 27 |
29 /** | 28 /** |
30 * App Menu helper that handles hiding and showing menu items based on activity
state. | 29 * App Menu helper that handles hiding and showing menu items based on activity
state. |
31 */ | 30 */ |
32 public class AppMenuPropertiesDelegate { | 31 public class AppMenuPropertiesDelegate { |
33 // Indices for different levels in drawable.btn_reload_stop. | 32 // Indices for different levels in drawable.btn_reload_stop. |
34 // Used only when preparing menu and refresh reload button in menu when tab | 33 // Used only when preparing menu and refresh reload button in menu when tab |
35 // page load status changes. | 34 // page load status changes. |
36 private static final int RELOAD_BUTTON_LEVEL_RELOAD = 0; | 35 private static final int RELOAD_BUTTON_LEVEL_RELOAD = 0; |
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
147 | 146 |
148 // Hide request desktop site on all chrome:// pages except for the N
TP. Check request | 147 // Hide request desktop site on all chrome:// pages except for the N
TP. Check request |
149 // desktop site if it's activated on this page. | 148 // desktop site if it's activated on this page. |
150 MenuItem requestItem = menu.findItem(R.id.request_desktop_site_id); | 149 MenuItem requestItem = menu.findItem(R.id.request_desktop_site_id); |
151 requestItem.setVisible(!isChromeScheme || currentTab.isNativePage())
; | 150 requestItem.setVisible(!isChromeScheme || currentTab.isNativePage())
; |
152 requestItem.setChecked(currentTab.getUseDesktopUserAgent()); | 151 requestItem.setChecked(currentTab.getUseDesktopUserAgent()); |
153 requestItem.setTitleCondensed(requestItem.isChecked() | 152 requestItem.setTitleCondensed(requestItem.isChecked() |
154 ? mActivity.getString(R.string.menu_request_desktop_site_on) | 153 ? mActivity.getString(R.string.menu_request_desktop_site_on) |
155 : mActivity.getString(R.string.menu_request_desktop_site_off
)); | 154 : mActivity.getString(R.string.menu_request_desktop_site_off
)); |
156 | 155 |
157 PrintingController printingController = | |
158 mActivity.getChromeApplication().getPrintingController(); | |
159 disableEnableMenuItem(menu, R.id.print_id, | |
160 printingController != null && !currentTab.isNativePage(), | |
161 printingController != null && !printingController.isBusy() | |
162 && PrefServiceBridge.getInstance().isPrintingEnabled
(), | |
163 PrefServiceBridge.getInstance().isPrintingManaged()); | |
164 | |
165 // Only display reader mode settings menu option if the current page
is in reader mode. | 156 // Only display reader mode settings menu option if the current page
is in reader mode. |
166 menu.findItem(R.id.reader_mode_prefs_id) | 157 menu.findItem(R.id.reader_mode_prefs_id) |
167 .setVisible(DomDistillerUrlUtils.isDistilledPage(currentTab.
getUrl())); | 158 .setVisible(DomDistillerUrlUtils.isDistilledPage(currentTab.
getUrl())); |
168 } | 159 } |
169 | 160 |
170 if (isOverviewMenu) { | 161 if (isOverviewMenu) { |
171 if (isIncognito) { | 162 if (isIncognito) { |
172 // Hide normal close all tabs item. | 163 // Hide normal close all tabs item. |
173 menu.findItem(R.id.close_all_tabs_menu_id).setVisible(false); | 164 menu.findItem(R.id.close_all_tabs_menu_id).setVisible(false); |
174 // Enable close incognito tabs only if there are incognito tabs. | 165 // Enable close incognito tabs only if there are incognito tabs. |
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
264 bookmarkMenuItem.setIcon(R.drawable.btn_star_filled); | 255 bookmarkMenuItem.setIcon(R.drawable.btn_star_filled); |
265 bookmarkMenuItem.setChecked(true); | 256 bookmarkMenuItem.setChecked(true); |
266 bookmarkMenuItem.setTitleCondensed(mActivity.getString(R.string.edit
_bookmark)); | 257 bookmarkMenuItem.setTitleCondensed(mActivity.getString(R.string.edit
_bookmark)); |
267 } else { | 258 } else { |
268 bookmarkMenuItem.setIcon(R.drawable.btn_star); | 259 bookmarkMenuItem.setIcon(R.drawable.btn_star); |
269 bookmarkMenuItem.setChecked(false); | 260 bookmarkMenuItem.setChecked(false); |
270 bookmarkMenuItem.setTitleCondensed(null); | 261 bookmarkMenuItem.setTitleCondensed(null); |
271 } | 262 } |
272 } | 263 } |
273 } | 264 } |
OLD | NEW |