diff options
| author | Marco Trevisan (Treviño) <mail@3v1n0.net> | 2012-08-13 18:01:13 +0200 |
|---|---|---|
| committer | Marco Trevisan (Treviño) <mail@3v1n0.net> | 2012-08-13 18:01:13 +0200 |
| commit | 05a01a127ff4365c6ffa517685d447e9c6c05743 (patch) | |
| tree | e854f78c4d364ea4e0116a0cf0f1577679e368da | |
| parent | 18f2d141c18059904b2a853624e5b1035e5cf8f3 (diff) | |
QuicklistMenuItem: use static property strings for unity props
(bzr r2547.2.3)
| -rw-r--r-- | launcher/BamfLauncherIcon.cpp | 4 | ||||
| -rw-r--r-- | launcher/QuicklistMenuItem.cpp | 25 | ||||
| -rw-r--r-- | launcher/QuicklistMenuItem.h | 4 |
3 files changed, 26 insertions, 7 deletions
diff --git a/launcher/BamfLauncherIcon.cpp b/launcher/BamfLauncherIcon.cpp index 62f70dbdb..63294a0ca 100644 --- a/launcher/BamfLauncherIcon.cpp +++ b/launcher/BamfLauncherIcon.cpp @@ -977,7 +977,7 @@ std::list<DbusmenuMenuitem*> BamfLauncherIcon::GetMenus() if (dbusmenu_menuitem_property_get_bool(item, DBUSMENU_MENUITEM_PROP_VISIBLE)) { first_separator_needed = true; - dbusmenu_menuitem_property_set_bool(item, "unity-use-markup", FALSE); + dbusmenu_menuitem_property_set_bool(item, QuicklistMenuItem::MARKUP_ENABLED_PROPERTY, FALSE); result.push_back(item); } @@ -1039,7 +1039,7 @@ std::list<DbusmenuMenuitem*> BamfLauncherIcon::GetMenus() DBUSMENU_MENUITEM_PROP_ENABLED, true); dbusmenu_menuitem_property_set_bool(item, - "unity-use-markup", + QuicklistMenuItem::MARKUP_ENABLED_PROPERTY, true); _gsignals.Add(new glib::Signal<void, DbusmenuMenuitem*, int>(item, DBUSMENU_MENUITEM_SIGNAL_ITEM_ACTIVATED, diff --git a/launcher/QuicklistMenuItem.cpp b/launcher/QuicklistMenuItem.cpp index 183549ece..00282baf9 100644 --- a/launcher/QuicklistMenuItem.cpp +++ b/launcher/QuicklistMenuItem.cpp @@ -28,6 +28,8 @@ namespace unity { +const char* QuicklistMenuItem::MARKUP_ENABLED_PROPERTY = "unity-use-markup"; +const char* QuicklistMenuItem::OVERLAY_MENU_ITEM_PROPERTY = "unity-overlay-item"; NUX_IMPLEMENT_OBJECT_TYPE(QuicklistMenuItem); @@ -127,12 +129,16 @@ std::string QuicklistMenuItem::GetText() const void QuicklistMenuItem::Activate() const { - if (!_menu_item) + if (!_menu_item || !GetSelectable()) return; dbusmenu_menuitem_handle_event(_menu_item, "clicked", nullptr, 0); - UBusManager manager; - manager.SendMessage(UBUS_PLACE_VIEW_CLOSE_REQUEST); + + if (!IsOverlayQuicklist()) + { + UBusManager manager; + manager.SendMessage(UBUS_PLACE_VIEW_CLOSE_REQUEST); + } } void QuicklistMenuItem::Select(bool select) @@ -333,7 +339,7 @@ void QuicklistMenuItem::EnableLabelMarkup(bool enabled) { if (IsMarkupEnabled() != enabled) { - dbusmenu_menuitem_property_set_bool(_menu_item, "unity-use-markup", enabled); + dbusmenu_menuitem_property_set_bool(_menu_item, MARKUP_ENABLED_PROPERTY, enabled); _text = ""; InitializeText(); @@ -345,10 +351,19 @@ bool QuicklistMenuItem::IsMarkupEnabled() const if (!_menu_item) return false; - gboolean markup = dbusmenu_menuitem_property_get_bool(_menu_item, "unity-use-markup"); + gboolean markup = dbusmenu_menuitem_property_get_bool(_menu_item, MARKUP_ENABLED_PROPERTY); return (markup != FALSE); } +bool QuicklistMenuItem::IsOverlayQuicklist() const +{ + if (!_menu_item) + return false; + + gboolean overlay = dbusmenu_menuitem_property_get_bool(_menu_item, OVERLAY_MENU_ITEM_PROPERTY); + return (overlay != FALSE); +} + unsigned QuicklistMenuItem::GetCairoSurfaceWidth() const { if (!_normalTexture[0]) diff --git a/launcher/QuicklistMenuItem.h b/launcher/QuicklistMenuItem.h index 3a25b8eb9..704bc5f51 100644 --- a/launcher/QuicklistMenuItem.h +++ b/launcher/QuicklistMenuItem.h @@ -61,6 +61,7 @@ public: void EnableLabelMarkup(bool enabled); bool IsMarkupEnabled() const; + bool IsOverlayQuicklist() const; void Activate() const; @@ -79,6 +80,9 @@ public: sigc::signal<void, QuicklistMenuItem*, int, int> sigMouseClick; sigc::signal<void, QuicklistMenuItem*, int, int> sigMouseDrag; + static const char* MARKUP_ENABLED_PROPERTY; + static const char* OVERLAY_MENU_ITEM_PROPERTY; + protected: // Introspection std::string GetName() const; |
