summaryrefslogtreecommitdiff
diff options
authorMarco Trevisan (Treviño) <mail@3v1n0.net>2012-08-13 18:01:13 +0200
committerMarco Trevisan (Treviño) <mail@3v1n0.net>2012-08-13 18:01:13 +0200
commit05a01a127ff4365c6ffa517685d447e9c6c05743 (patch)
treee854f78c4d364ea4e0116a0cf0f1577679e368da
parent18f2d141c18059904b2a853624e5b1035e5cf8f3 (diff)
QuicklistMenuItem: use static property strings for unity props
(bzr r2547.2.3)
-rw-r--r--launcher/BamfLauncherIcon.cpp4
-rw-r--r--launcher/QuicklistMenuItem.cpp25
-rw-r--r--launcher/QuicklistMenuItem.h4
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;