aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMike Gabriel <mike.gabriel@das-netzwerkteam.de>2023-06-07 19:53:03 +0200
committerMike Gabriel <mike.gabriel@das-netzwerkteam.de>2023-06-07 19:53:03 +0200
commit2b32292bd7de887689a63950bfc372d3b7fffef5 (patch)
tree0c03c1d988cde731fcf2bec821323105d88d7b0f /src
parentd214fe3e7a6b1ba8faea68d70586310b34dc643c (diff)
parent05913e6762f369d487053953c30fff2afd52e6c2 (diff)
downloadlibayatana-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.metadata2
-rw-r--r--src/AyatanaAppIndicator3-0.1.metadata2
-rw-r--r--src/app-indicator.c41
-rw-r--r--src/app-indicator.h4
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);