Fixing Windows tray icon content menu - based on chrome/browser/ui/views/status_icons/status_icon_win.cc
This commit is contained in:
parent
90fbe5c06c
commit
60b363fa3b
2 changed files with 10 additions and 3 deletions
|
@ -147,10 +147,10 @@ void NotifyIcon::PopUpContextMenu(const gfx::Point& pos,
|
||||||
if (pos.IsOrigin())
|
if (pos.IsOrigin())
|
||||||
rect.set_origin(display::Screen::GetScreen()->GetCursorScreenPoint());
|
rect.set_origin(display::Screen::GetScreen()->GetCursorScreenPoint());
|
||||||
|
|
||||||
views::MenuRunner menu_runner(
|
menu_runner_.reset(new views::MenuRunner(
|
||||||
menu_model != nullptr ? menu_model : menu_model_,
|
menu_model != nullptr ? menu_model : menu_model_,
|
||||||
views::MenuRunner::CONTEXT_MENU | views::MenuRunner::HAS_MNEMONICS);
|
views::MenuRunner::CONTEXT_MENU | views::MenuRunner::HAS_MNEMONICS));
|
||||||
ignore_result(menu_runner.RunMenuAt(
|
ignore_result(menu_runner_->RunMenuAt(
|
||||||
NULL, NULL, rect, views::MENU_ANCHOR_TOPLEFT, ui::MENU_SOURCE_MOUSE));
|
NULL, NULL, rect, views::MENU_ANCHOR_TOPLEFT, ui::MENU_SOURCE_MOUSE));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -20,6 +20,10 @@ namespace gfx {
|
||||||
class Point;
|
class Point;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
namespace views {
|
||||||
|
class MenuRunner;
|
||||||
|
}
|
||||||
|
|
||||||
namespace atom {
|
namespace atom {
|
||||||
|
|
||||||
class NotifyIconHost;
|
class NotifyIconHost;
|
||||||
|
@ -77,6 +81,9 @@ class NotifyIcon : public TrayIcon {
|
||||||
// The context menu.
|
// The context menu.
|
||||||
AtomMenuModel* menu_model_;
|
AtomMenuModel* menu_model_;
|
||||||
|
|
||||||
|
// Context menu associated with this icon (if any).
|
||||||
|
std::unique_ptr<views::MenuRunner> menu_runner_;
|
||||||
|
|
||||||
DISALLOW_COPY_AND_ASSIGN(NotifyIcon);
|
DISALLOW_COPY_AND_ASSIGN(NotifyIcon);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue