| OLD | NEW |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 #include "chrome/browser/ui/toolbar/bookmark_sub_menu_model.h" | 5 #include "chrome/browser/ui/toolbar/bookmark_sub_menu_model.h" |
| 6 | 6 |
| 7 #include "chrome/app/chrome_command_ids.h" | 7 #include "chrome/app/chrome_command_ids.h" |
| 8 #include "chrome/grit/generated_resources.h" | 8 #include "chrome/grit/generated_resources.h" |
| 9 | 9 |
| 10 // For views and cocoa, we have complex delegate systems to handle | 10 // For views and cocoa, we have complex delegate systems to handle |
| 11 // injecting the bookmarks to the bookmark submenu. This is done to support | 11 // injecting the bookmarks to the bookmark submenu. This is done to support |
| 12 // advanced interactions with the menu contents, like right click context menus. | 12 // advanced interactions with the menu contents, like right click context menus. |
| 13 // For the time being on GTK systems, we have a dedicated bookmark menu model in | |
| 14 // chrome/browser/ui/gtk/bookmarks/bookmark_sub_menu_model_gtk.cc instead. | |
| 15 | |
| 16 // Note that although this file's header is included on GTK systems, this | |
| 17 // source file is not compiled there. (The header just includes the GTK one.) | |
| 18 | 13 |
| 19 BookmarkSubMenuModel::BookmarkSubMenuModel( | 14 BookmarkSubMenuModel::BookmarkSubMenuModel( |
| 20 ui::SimpleMenuModel::Delegate* delegate, Browser* browser) | 15 ui::SimpleMenuModel::Delegate* delegate, Browser* browser) |
| 21 : SimpleMenuModel(delegate) { | 16 : SimpleMenuModel(delegate) { |
| 22 Build(browser); | 17 Build(browser); |
| 23 } | 18 } |
| 24 | 19 |
| 25 BookmarkSubMenuModel::~BookmarkSubMenuModel() {} | 20 BookmarkSubMenuModel::~BookmarkSubMenuModel() {} |
| 26 | 21 |
| 27 void BookmarkSubMenuModel::Build(Browser* browser) { | 22 void BookmarkSubMenuModel::Build(Browser* browser) { |
| 28 AddCheckItemWithStringId(IDC_SHOW_BOOKMARK_BAR, IDS_SHOW_BOOKMARK_BAR); | 23 AddCheckItemWithStringId(IDC_SHOW_BOOKMARK_BAR, IDS_SHOW_BOOKMARK_BAR); |
| 29 AddItemWithStringId(IDC_SHOW_BOOKMARK_MANAGER, IDS_BOOKMARK_MANAGER); | 24 AddItemWithStringId(IDC_SHOW_BOOKMARK_MANAGER, IDS_BOOKMARK_MANAGER); |
| 30 #if !defined(OS_CHROMEOS) | 25 #if !defined(OS_CHROMEOS) |
| 31 AddItemWithStringId(IDC_IMPORT_SETTINGS, IDS_IMPORT_SETTINGS_MENU_LABEL); | 26 AddItemWithStringId(IDC_IMPORT_SETTINGS, IDS_IMPORT_SETTINGS_MENU_LABEL); |
| 32 #endif | 27 #endif |
| 33 if (delegate()->IsCommandIdVisible(IDC_BOOKMARK_PAGE) || | 28 bool is_submenu_visible = |
| 34 delegate()->IsCommandIdVisible(IDC_BOOKMARK_ALL_TABS) || | 29 delegate()->IsCommandIdVisible(IDC_BOOKMARK_PAGE) || |
| 35 delegate()->IsCommandIdVisible(IDC_PIN_TO_START_SCREEN)) { | 30 delegate()->IsCommandIdVisible(IDC_BOOKMARK_ALL_TABS); |
| 31 #if defined(OS_WIN) |
| 32 is_submenu_visible |= |
| 33 delegate()->IsCommandIdVisible(IDC_PIN_TO_START_SCREEN); |
| 34 #endif |
| 35 if (is_submenu_visible) { |
| 36 AddSeparator(ui::NORMAL_SEPARATOR); | 36 AddSeparator(ui::NORMAL_SEPARATOR); |
| 37 | 37 |
| 38 AddItemWithStringId(IDC_BOOKMARK_PAGE, IDS_BOOKMARK_THIS_PAGE); | 38 AddItemWithStringId(IDC_BOOKMARK_PAGE, IDS_BOOKMARK_THIS_PAGE); |
| 39 AddItemWithStringId(IDC_BOOKMARK_ALL_TABS, IDS_BOOKMARK_OPEN_PAGES); | 39 AddItemWithStringId(IDC_BOOKMARK_ALL_TABS, IDS_BOOKMARK_OPEN_PAGES); |
| 40 | 40 |
| 41 #if defined(OS_WIN) |
| 41 AddItemWithStringId(IDC_PIN_TO_START_SCREEN, IDS_PIN_TO_START_SCREEN); | 42 AddItemWithStringId(IDC_PIN_TO_START_SCREEN, IDS_PIN_TO_START_SCREEN); |
| 43 #endif |
| 42 } | 44 } |
| 43 #if defined(OS_MACOSX) | 45 #if defined(OS_MACOSX) |
| 44 AddSeparator(ui::NORMAL_SEPARATOR); | 46 AddSeparator(ui::NORMAL_SEPARATOR); |
| 45 #endif | 47 #endif |
| 46 } | 48 } |
| OLD | NEW |