Skip to content

Commit 4bb90c1

Browse files
committed
Revert "fixed multiple menu shortcuts issues"
This reverts commit 46f42c0.
1 parent 46f42c0 commit 4bb90c1

File tree

5 files changed

+7
-41
lines changed

5 files changed

+7
-41
lines changed

src/api/menu/menu.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,6 @@ class Menu : public Base {
104104

105105
#if defined(OS_WIN) || defined(OS_LINUX)
106106
void UpdateKeys(views::FocusManager *focus_manager);
107-
void RemoveKeys();
108107
ui::NwMenuModel* model() { return menu_model_.get(); }
109108
aura::Window* GetActiveNativeView(content::RenderFrameHost* rfh);
110109
#endif

src/api/menu/menu_views.cc

Lines changed: 5 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -85,8 +85,6 @@ void Menu::Append(MenuItem* menu_item) {
8585
}
8686

8787
void Menu::Insert(MenuItem* menu_item, int pos) {
88-
if (pos < 0 || pos > menu_items_.size()) return;
89-
9088
if (menu_item->submenu_)
9189
menu_model_->InsertSubMenuAt(pos, menu_item->id(), menu_item->label_,
9290
menu_item->submenu_->menu_model_.get());
@@ -99,17 +97,13 @@ void Menu::Insert(MenuItem* menu_item, int pos) {
9997

10098
is_menu_modified_ = true;
10199
menu_item->menu_ = this;
102-
menu_items_.insert(menu_items_.begin() + pos, menu_item);
100+
103101
}
104102

105103
void Menu::Remove(MenuItem* menu_item, int pos) {
106-
if (pos < 0 || pos >= menu_items_.size()) return;
107-
108104
menu_model_->RemoveItemAt(pos);
109-
menu_items_.erase(menu_items_.begin() + pos);
110105
is_menu_modified_ = true;
111106
menu_item->menu_ = NULL;
112-
menu_item->RemoveKeys();
113107
}
114108

115109
void Menu::Popup(int x, int y, content::RenderFrameHost* rfh) {
@@ -148,22 +142,14 @@ void Menu::UpdateKeys(views::FocusManager *focus_manager){
148142
return ;
149143
} else {
150144
focus_manager_ = focus_manager;
151-
for(auto item : menu_items_) {
152-
item->UpdateKeys(focus_manager);
145+
std::vector<MenuItem*>::iterator it = menu_items_.begin();
146+
while(it!=menu_items_.end()){
147+
(*it)->UpdateKeys(focus_manager);
148+
++it;
153149
}
154150
}
155151
}
156152

157-
void Menu::RemoveKeys() {
158-
if (!focus_manager_) return;
159-
160-
for(auto item: menu_items_) {
161-
item->RemoveKeys();
162-
}
163-
164-
focus_manager_ = NULL;
165-
}
166-
167153
void Menu::UpdateStates() {
168154
}
169155

src/api/menuitem/menuitem.h

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -76,10 +76,9 @@ class MenuItem : public Base {
7676
#endif
7777

7878
#if defined(OS_WIN) || defined(OS_LINUX)
79-
bool AcceleratorPressed(const ui::Accelerator& accelerator) override;
80-
bool CanHandleAccelerators() const override;
79+
bool AcceleratorPressed(const ui::Accelerator& accelerator) override;
80+
bool CanHandleAccelerators() const override;
8181
void UpdateKeys(views::FocusManager *focus_manager);
82-
void RemoveKeys();
8382
#endif
8483

8584
void OnClick();

src/api/menuitem/menuitem_views.cc

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -168,8 +168,6 @@ void MenuItem::SetChecked(bool checked) {
168168
}
169169

170170
void MenuItem::SetSubmenu(Menu* menu) {
171-
if (submenu_) submenu_->RemoveKeys();
172-
173171
submenu_ = menu;
174172
}
175173

@@ -194,18 +192,6 @@ void MenuItem::UpdateKeys(views::FocusManager *focus_manager){
194192
}
195193
}
196194

197-
void MenuItem::RemoveKeys() {
198-
if (!focus_manager_) return;
199-
200-
if (enable_shortcut_) {
201-
focus_manager_->UnregisterAccelerator(accelerator_, this);
202-
}
203-
if (submenu_) {
204-
submenu_->RemoveKeys();
205-
}
206-
focus_manager_ = NULL;
207-
}
208-
209195
#if defined(OS_WIN) || defined(OS_LINUX)
210196
bool MenuItem::AcceleratorPressed(const ui::Accelerator& accelerator) {
211197
#if defined(OS_WIN)

src/api/nw_window_api.cc

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -339,8 +339,6 @@ bool NwCurrentWindowInternalClearMenuFunction::RunAsync() {
339339
browser_view_layout->set_menu_bar(NULL);
340340
native_app_window_views->layout_();
341341
native_app_window_views->SchedulePaint();
342-
window->menu_->RemoveKeys();
343-
window->menu_ = NULL;
344342
#endif
345343
return true;
346344
}
@@ -362,7 +360,6 @@ bool NwCurrentWindowInternalSetMenuFunction::RunNWSync(base::ListValue* response
362360
nw::ObjectManager* obj_manager = nw::ObjectManager::Get(browser_context());
363361
Menu* menu = (Menu*)obj_manager->GetApiObject(id);
364362

365-
Menu* old_menu = window->menu_;
366363
window->menu_ = menu;
367364
#if defined(OS_MACOSX)
368365
response->Append(NWChangeAppMenu(menu));
@@ -379,7 +376,6 @@ bool NwCurrentWindowInternalSetMenuFunction::RunNWSync(base::ListValue* response
379376
menubar->UpdateMenu(menu->model());
380377
native_app_window_views->layout_();
381378
native_app_window_views->SchedulePaint();
382-
if (old_menu) old_menu->RemoveKeys();
383379
menu->UpdateKeys( native_app_window_views->widget()->GetFocusManager() );
384380
response->Append(std::unique_ptr<base::ListValue>(new base::ListValue()));
385381
#endif

0 commit comments

Comments
 (0)