diff options
author | Mike Gabriel <mike.gabriel@das-netzwerkteam.de> | 2023-06-07 19:53:03 +0200 |
---|---|---|
committer | Mike Gabriel <mike.gabriel@das-netzwerkteam.de> | 2023-06-07 19:53:03 +0200 |
commit | 2b32292bd7de887689a63950bfc372d3b7fffef5 (patch) | |
tree | 0c03c1d988cde731fcf2bec821323105d88d7b0f /src | |
parent | d214fe3e7a6b1ba8faea68d70586310b34dc643c (diff) | |
parent | 05913e6762f369d487053953c30fff2afd52e6c2 (diff) | |
download | libayatana-appindicator-2b32292bd7de887689a63950bfc372d3b7fffef5.tar.gz libayatana-appindicator-2b32292bd7de887689a63950bfc372d3b7fffef5.tar.bz2 libayatana-appindicator-2b32292bd7de887689a63950bfc372d3b7fffef5.zip |
Merge branch 'tari01-pr/build-fixes'
Attributes GH PR #63: https://github.com/AyatanaIndicators/libayatana-appindicator/pull/63
Diffstat (limited to 'src')
-rw-r--r-- | src/AyatanaAppIndicator-0.1.metadata | 2 | ||||
-rw-r--r-- | src/AyatanaAppIndicator3-0.1.metadata | 2 | ||||
-rw-r--r-- | src/app-indicator.c | 41 | ||||
-rw-r--r-- | src/app-indicator.h | 4 |
4 files changed, 35 insertions, 14 deletions
diff --git a/src/AyatanaAppIndicator-0.1.metadata b/src/AyatanaAppIndicator-0.1.metadata index 09d457d..ad20f4e 100644 --- a/src/AyatanaAppIndicator-0.1.metadata +++ b/src/AyatanaAppIndicator-0.1.metadata @@ -1,3 +1 @@ AyatanaAppIndicator3 name="AppIndicator" -Indicator.priv hidden="1" -IndicatorPrivate hidden="1" diff --git a/src/AyatanaAppIndicator3-0.1.metadata b/src/AyatanaAppIndicator3-0.1.metadata index 09d457d..ad20f4e 100644 --- a/src/AyatanaAppIndicator3-0.1.metadata +++ b/src/AyatanaAppIndicator3-0.1.metadata @@ -1,3 +1 @@ AyatanaAppIndicator3 name="AppIndicator" -Indicator.priv hidden="1" -IndicatorPrivate hidden="1" diff --git a/src/app-indicator.c b/src/app-indicator.c index 70c7536..ebedc65 100644 --- a/src/app-indicator.c +++ b/src/app-indicator.c @@ -3,7 +3,7 @@ An object to represent the application as an application indicator in the system panel. Copyright 2009 Canonical Ltd. -Copyright 2022 Robert Tari +Copyright 2022-2023 Robert Tari Authors: Ted Gould <ted@canonical.com> @@ -142,7 +142,8 @@ enum { PROP_LABEL_GUIDE, PROP_ORDERING_INDEX, PROP_DBUS_MENU_SERVER, - PROP_TITLE + PROP_TITLE, + PROP_MENU }; /* The strings so that they can be slowly looked up. */ @@ -160,6 +161,7 @@ enum { #define PROP_ORDERING_INDEX_S "ordering-index" #define PROP_DBUS_MENU_SERVER_S "dbus-menu-server" #define PROP_TITLE_S "title" +#define PROP_MENU_S "menu" /* Default Path */ #define DEFAULT_ITEM_PATH "/org/ayatana/NotificationItem" @@ -205,9 +207,9 @@ static void bus_method_call (GDBusConnection * connection, const gchar * sender, static void bus_creation (GObject * obj, GAsyncResult * res, gpointer user_data); static const GDBusInterfaceVTable item_interface_table = { - method_call: bus_method_call, - get_property: bus_get_prop, - set_property: NULL /* No properties that can be set */ + .method_call = bus_method_call, + .get_property = bus_get_prop, + .set_property = NULL /* No properties that can be set */ }; /* GObject type */ @@ -497,6 +499,20 @@ app_indicator_class_init (AppIndicatorClass *klass) NULL, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); + /** + * AppIndicator:menu: + * + * The menu that should be shown when the Application Indicator + * is clicked on in the panel. + */ + g_object_class_install_property(object_class, + PROP_MENU, + g_param_spec_string (PROP_MENU_S, + "The menu of the application indicator", + "The menu that should be shown when the Application Indicator is clicked on in the panel.", + NULL, + G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); + /* Signals */ /** @@ -1031,6 +1047,11 @@ G_GNUC_END_IGNORE_DEPRECATIONS priv->menuservice = DBUSMENU_SERVER (g_value_dup_object(value)); break; + case PROP_MENU: + g_clear_object (&priv->menu); + priv->menu = GTK_WIDGET (g_value_dup_object(value)); + break; + default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; @@ -1117,6 +1138,10 @@ app_indicator_get_property (GObject * object, guint prop_id, GValue * value, GPa g_value_set_string(value, priv->title); break; + case PROP_MENU: + g_value_set_object(value, priv->menu); + break; + default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; @@ -2006,7 +2031,7 @@ app_indicator_set_icon (AppIndicator *self, const gchar *icon_name) * application icon for the program. * * Wrapper function for property #AppIndicator:icon-name and - * #AppIndicator::icon-desc. + * #AppIndicator:icon-desc. */ void app_indicator_set_icon_full (AppIndicator *self, const gchar *icon_name, const gchar * icon_desc) @@ -2074,7 +2099,7 @@ app_indicator_set_icon_full (AppIndicator *self, const gchar *icon_name, const g * @guide: A guide to size the label correctly. * * This is a wrapper function for the #AppIndicator:label and - * #AppIndicator:guide properties. This function can take #NULL + * #AppIndicator:label-guide properties. This function can take #NULL * as either @label or @guide and will clear the entries. */ void @@ -2300,7 +2325,7 @@ app_indicator_set_ordering_index (AppIndicator *self, guint32 ordering_index) * middle-click) is emitted over the #AppIndicator icon/label. * * The @menuitem can be also a complex #GtkWidget, but to get activated when - * a secondary activation occurs in the #Appindicator, it must be a visible and + * a secondary activation occurs in the #AppIndicator, it must be a visible and * active child (or inner-child) of the #AppIndicator:menu. * * Setting @menuitem to %NULL causes to disable this feature. diff --git a/src/app-indicator.h b/src/app-indicator.h index c1bc9d6..75cf875 100644 --- a/src/app-indicator.h +++ b/src/app-indicator.h @@ -260,14 +260,14 @@ AppIndicator *app_indicator_new_with_path (const gchar void app_indicator_set_status (AppIndicator *self, AppIndicatorStatus status); void app_indicator_set_attention_icon (AppIndicator *self, - const gchar *icon_name); + const gchar *icon_name) G_GNUC_DEPRECATED_FOR (app_indicator_set_attention_icon_full); void app_indicator_set_attention_icon_full (AppIndicator *self, const gchar *icon_name, const gchar *icon_desc); void app_indicator_set_menu (AppIndicator *self, GtkMenu *menu); void app_indicator_set_icon (AppIndicator *self, - const gchar *icon_name); + const gchar *icon_name) G_GNUC_DEPRECATED_FOR (app_indicator_set_icon_full); void app_indicator_set_icon_full (AppIndicator *self, const gchar *icon_name, const gchar *icon_desc); |