This is an automated email from the git hooks/post-receive script. thansen pushed a commit to branch master in repository aseprite.
commit bb24d8b995600f47a8fd42ea9847f17ca5ea8347 Author: David Capello <[email protected]> Date: Sat Oct 25 11:24:29 2014 -0300 Add option to enable/disable automatic menu bar items popup (related to issue #501) --- data/widgets/options.xml | 1 + src/app/commands/cmd_options.cpp | 11 +++++++++++ src/ui/menu.cpp | 28 +++++++++++++++++++++++++++- src/ui/menu.h | 6 ++++++ 4 files changed, 45 insertions(+), 1 deletion(-) diff --git a/data/widgets/options.xml b/data/widgets/options.xml index f140d50..3659d0f 100644 --- a/data/widgets/options.xml +++ b/data/widgets/options.xml @@ -22,6 +22,7 @@ <combobox id="screen_scale" /> </hbox> <check text="Show timeline automatically" id="autotimeline" tooltip="Show the timeline automatically when a new frame or layer is added." /> + <check text="Expand menu bar items on mouseover" id="expand_menubar_on_mouseover" tooltip="Check this option to get this old menus behavior." /> <separator horizontal="true" /> <link id="locate_file" text="Locate Configuration File" /> <link id="locate_crash_folder" text="Locate Crash Folder" /> diff --git a/src/app/commands/cmd_options.cpp b/src/app/commands/cmd_options.cpp index eb700c8..3af8ee7 100644 --- a/src/app/commands/cmd_options.cpp +++ b/src/app/commands/cmd_options.cpp @@ -74,6 +74,10 @@ public: if (get_config_bool("Options", "AutoShowTimeline", true)) autotimeline()->setSelected(true); + if (get_config_bool("Options", "ExpandMenuBarOnMouseover", + ui::MenuBar::expandOnMouseover())) + expandMenubarOnMouseover()->setSelected(true); + if (m_settings->experimental()->useNativeCursor()) nativeCursor()->setSelected(true); @@ -143,6 +147,10 @@ public: set_config_bool("Options", "AutoShowTimeline", autotimeline()->isSelected()); + bool expandOnMouseover = expandMenubarOnMouseover()->isSelected(); + set_config_bool("Options", "ExpandMenuBarOnMouseover", expandOnMouseover); + ui::MenuBar::setExpandOnMouseover(expandOnMouseover); + m_settings->setShowSpriteEditorScrollbars(showScrollbars()->isSelected()); m_settings->setZoomWithScrollWheel(wheelZoom()->isSelected()); m_settings->setRightClickMode(static_cast<RightClickMode>(rightClickBehavior()->getSelectedItemIndex())); @@ -223,6 +231,9 @@ OptionsCommand::OptionsCommand() "Options", CmdUIOnlyFlag) { + ui::MenuBar::setExpandOnMouseover( + get_config_bool("Options", "ExpandMenuBarOnMouseover", + ui::MenuBar::expandOnMouseover())); } void OptionsCommand::onExecute(Context* context) diff --git a/src/ui/menu.cpp b/src/ui/menu.cpp index facd40d..51a7e93 100644 --- a/src/ui/menu.cpp +++ b/src/ui/menu.cpp @@ -123,6 +123,9 @@ static MenuItem* check_for_letter(Menu* menu, int ascii); static MenuItem* find_nextitem(Menu* menu, MenuItem* menuitem); static MenuItem* find_previtem(Menu* menu, MenuItem* menuitem); +////////////////////////////////////////////////////////////////////// +// Menu + Menu::Menu() : Widget(kMenuWidget) , m_menuitem(NULL) @@ -142,6 +145,9 @@ Menu::~Menu() } } +////////////////////////////////////////////////////////////////////// +// MenuBox + MenuBox::MenuBox(WidgetType type) : Widget(type) , m_base(NULL) @@ -160,12 +166,32 @@ MenuBox::~MenuBox() delete m_base; } +////////////////////////////////////////////////////////////////////// +// MenuBar + +bool MenuBar::m_expandOnMouseover = false; + MenuBar::MenuBar() : MenuBox(kMenuBarWidget) { createBase(); } +// static +bool MenuBar::expandOnMouseover() +{ + return m_expandOnMouseover; +} + +// static +void MenuBar::setExpandOnMouseover(bool state) +{ + m_expandOnMouseover = state; +} + +////////////////////////////////////////////////////////////////////// +// MenuItem + MenuItem::MenuItem(const std::string& text) : Widget(kMenuItemWidget) { @@ -687,7 +713,7 @@ bool MenuItem::onProcessMessage(Message* msg) // When a menu item receives the mouse, start a timer to open the submenu... if (isEnabled() && hasSubmenu()) { // Start the timer to open the submenu... - if (!inBar()) + if (!inBar() || MenuBar::expandOnMouseover()) startTimer(); } break; diff --git a/src/ui/menu.h b/src/ui/menu.h index e0befb8..6547892 100644 --- a/src/ui/menu.h +++ b/src/ui/menu.h @@ -88,6 +88,12 @@ namespace ui { class MenuBar : public MenuBox { public: MenuBar(); + + static bool expandOnMouseover(); + static void setExpandOnMouseover(bool state); + + private: + static bool m_expandOnMouseover; }; class MenuItem : public Widget { -- Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-games/aseprite.git _______________________________________________ Pkg-games-commits mailing list [email protected] http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-games-commits

