diff options
author | Stefano Karapetsas <[email protected]> | 2012-10-22 10:09:49 -0700 |
---|---|---|
committer | Stefano Karapetsas <[email protected]> | 2012-10-22 10:09:49 -0700 |
commit | 543b06f44cafd70fe708fd54a82cba198a6da73b (patch) | |
tree | a79365cae9f27c2c6a57b04e6e0028259d0cc656 /applets/inhibit | |
parent | 40f8224e3871eb98bce2df2c3909a810f5e0b959 (diff) | |
parent | 0645ff5a2d3f5115d411860fa32bef376f8e8d2b (diff) | |
download | mate-power-manager-543b06f44cafd70fe708fd54a82cba198a6da73b.tar.bz2 mate-power-manager-543b06f44cafd70fe708fd54a82cba198a6da73b.tar.xz |
Merge pull request #16 from bhull2010/master
Port power manager applets to dbus
Diffstat (limited to 'applets/inhibit')
-rw-r--r-- | applets/inhibit/MATE_InhibitApplet.server.in.in | 36 | ||||
-rw-r--r-- | applets/inhibit/MATE_InhibitApplet.xml | 8 | ||||
-rw-r--r-- | applets/inhibit/Makefile.am | 31 | ||||
-rw-r--r-- | applets/inhibit/inhibit-applet-menu.xml | 2 | ||||
-rw-r--r-- | applets/inhibit/inhibit-applet.c | 67 | ||||
-rw-r--r-- | applets/inhibit/org.mate.InhibitApplet.mate-panel-applet.in.in | 16 | ||||
-rw-r--r-- | applets/inhibit/org.mate.panel.applet.InhibitAppletFactory.service.in | 3 |
7 files changed, 83 insertions, 80 deletions
diff --git a/applets/inhibit/MATE_InhibitApplet.server.in.in b/applets/inhibit/MATE_InhibitApplet.server.in.in deleted file mode 100644 index d65c077..0000000 --- a/applets/inhibit/MATE_InhibitApplet.server.in.in +++ /dev/null @@ -1,36 +0,0 @@ -<?xml version="1.0"?> - -<oaf_info> - <oaf_server iid="OAFIID:MATE_InhibitApplet_Factory" type="exe" location="@LIBEXECDIR@/mate-inhibit-applet"> - <oaf_attribute name="repo_ids" type="stringv"> - <item value="IDL:MateComponent/GenericFactory:1.0"/> - <item value="IDL:MateComponent/Unknown:1.0"/> - </oaf_attribute> - <oaf_attribute name="name" type="string" _value="Inhibit Applet Factory"/> - <oaf_attribute name="description" type="string" _value="Factory for Inhibit Applet"/> - <oaf_attribute name="bugzilla:bugzilla" type="string" value="MATE"/> - <oaf_attribute name="bugzilla:product" type="string" value="mate-power-manager"/> - <oaf_attribute name="bugzilla:component" type="string" value="applets"/> - <oaf_attribute name="bugzilla:version" type="string" value="@VERSION@"/> - <oaf_attribute name="bugzilla:other_binaries" type="string" value="mate-inhibit-applet"/> - <oaf_attribute name="matecomponent:environment" type="stringv"> - <item value="DBUS_SESSION_BUS_ADDRESS"/> - </oaf_attribute> - </oaf_server> - <oaf_server iid="OAFIID:MATE_InhibitApplet" type="factory" location="OAFIID:MATE_InhibitApplet_Factory"> - <oaf_attribute name="repo_ids" type="stringv"> - <item value="IDL:MATE/Vertigo/MatePanelAppletShell:1.0"/> - <item value="IDL:MateComponent/Control:1.0"/> - <item value="IDL:MateComponent/Unknown:1.0"/> - </oaf_attribute> - <oaf_attribute name="panel:category" type="string" value="System & Hardware"/> - <oaf_attribute name="panel:icon" type="string" value="mate-inhibit-applet"/> - <oaf_attribute name="name" type="string" _value="Inhibit Applet"/> - <oaf_attribute name="description" type="string" _value="Allows user to inhibit automatic power saving"/> - <oaf_attribute name="bugzilla:bugzilla" type="string" value="MATE"/> - <oaf_attribute name="bugzilla:product" type="string" value="mate-power-manager"/> - <oaf_attribute name="bugzilla:component" type="string" value="applets"/> - <oaf_attribute name="bugzilla:version" type="string" value="@VERSION@"/> - <oaf_attribute name="bugzilla:other_binaries" type="string" value="mate-inhibit-applet"/> - </oaf_server> -</oaf_info> diff --git a/applets/inhibit/MATE_InhibitApplet.xml b/applets/inhibit/MATE_InhibitApplet.xml deleted file mode 100644 index 83b176f..0000000 --- a/applets/inhibit/MATE_InhibitApplet.xml +++ /dev/null @@ -1,8 +0,0 @@ -<Root> - <popups> - <popup name="button3"> - <menuitem name="Help" verb="Help" _label="_Help" pixtype="stock" pixname="gtk-help"/> - <menuitem name="About" verb="About" _label="_About" pixtype="stock" pixname="gtk-about" /> - </popup> - </popups> -</Root> diff --git a/applets/inhibit/Makefile.am b/applets/inhibit/Makefile.am index fb42774..37f5d6c 100644 --- a/applets/inhibit/Makefile.am +++ b/applets/inhibit/Makefile.am @@ -14,6 +14,7 @@ INCLUDES = \ -DLIBDIR=\""$(libdir)"\" \ -DVERSION="\"$(VERSION)\"" \ -DGPM_DATA=\"$(pkgdatadir)\" \ + -DINHIBIT_MENU_UI_DIR=\""$(uidir)"\" \ -DEGG_LOG_FILE=\""~/mate-power-manager.log"\" \ -DEGG_VERBOSE="\"GPM_VERBOSE\"" \ -DEGG_LOGGING="\"GPM_LOGGING\"" \ @@ -37,19 +38,31 @@ mate_inhibit_applet_LDADD = \ $(MATE_LIBS) \ $(PANEL_LIBS) -serverdir = $(libdir)/matecomponent/servers -server_in_files = MATE_InhibitApplet.server.in -server_DATA = $(server_in_files:.server.in=.server) +appletdir = $(datadir)/mate-panel/applets +applet_in_files = org.mate.InhibitApplet.mate-panel-applet.in +applet_DATA = $(applet_in_files:.mate-panel-applet.in=.mate-panel-applet) -$(server_in_files): $(server_in_files:.server.in=.server.in.in) - sed -e "s|\@LIBEXECDIR\@|$(libexecdir)|" -e "s|\@VERSION\@|$(VERSION)|" $< > $@ +$(applet_in_files): $(applet_in_files).in Makefile + $(AM_V_GEN)sed \ + -e "s|\@LIBEXECDIR\@|$(libexecdir)|" \ + -e "s|\@VERSION\@|$(PACKAGE_VERSION)|" \ + $< > $@ -@INTLTOOL_SERVER_RULE@ +%.mate-panel-applet: %.mate-panel-applet.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*po) ; $(INTLTOOL_MERGE) $(top_srcdir)/po $< $@ -d -u -c $(top_builddir)/po/.intltool-merge-cache + +servicedir = $(datadir)/dbus-1/services +service_in_files = org.mate.panel.applet.InhibitAppletFactory.service.in +service_DATA = $(service_in_files:.service.in=.service) + +org.mate.panel.applet.InhibitAppletFactory.service: $(service_in_files) + $(AM_V_GEN)sed \ + -e "s|\@LIBEXECDIR\@|$(libexecdir)|" \ + $< > $@ uidir = $(datadir)/mate-2.0/ui -ui_DATA = MATE_InhibitApplet.xml +ui_DATA = inhibit-applet-menu.xml -EXTRA_DIST = MATE_InhibitApplet.server.in.in $(ui_DATA) +EXTRA_DIST = org.mate.InhibitApplet.mate-panel-applet.in.in $(ui_DATA) $(service_in_files) DISTCLEANFILES = \ - $(server_DATA) $(server_DATA).in + $(applet_DATA) $(applet_DATA).in $(server_DATA) diff --git a/applets/inhibit/inhibit-applet-menu.xml b/applets/inhibit/inhibit-applet-menu.xml new file mode 100644 index 0000000..52d68e9 --- /dev/null +++ b/applets/inhibit/inhibit-applet-menu.xml @@ -0,0 +1,2 @@ +<menuitem name="Help" action="Help" /> +<menuitem name="About" action="About" /> diff --git a/applets/inhibit/inhibit-applet.c b/applets/inhibit/inhibit-applet.c index e976c60..3f70ec4 100644 --- a/applets/inhibit/inhibit-applet.c +++ b/applets/inhibit/inhibit-applet.c @@ -34,6 +34,7 @@ #include <mate-panel-applet.h> #include <gtk/gtk.h> #include <glib-object.h> +#include <glib/gi18n.h> #include <dbus/dbus-glib.h> #include "egg-debug.h" @@ -83,12 +84,12 @@ static void gpm_applet_check_size (GpmInhibitApplet *applet); static gboolean gpm_applet_draw_cb (GpmInhibitApplet *applet); static void gpm_applet_update_tooltip (GpmInhibitApplet *applet); static gboolean gpm_applet_click_cb (GpmInhibitApplet *applet, GdkEventButton *event); -static void gpm_applet_dialog_about_cb (MateComponentUIComponent *uic, gpointer data, const gchar *verbname); -static gboolean gpm_applet_matecomponent_cb (MatePanelApplet *_applet, const gchar *iid, gpointer data); +static void gpm_applet_dialog_about_cb (GtkAction *action, gpointer data); +static gboolean gpm_applet_cb (MatePanelApplet *_applet, const gchar *iid, gpointer data); static void gpm_applet_destroy_cb (GtkObject *object); -#define GPM_INHIBIT_APPLET_OAFID "OAFIID:MATE_InhibitApplet" -#define GPM_INHIBIT_APPLET_FACTORY_OAFID "OAFIID:MATE_InhibitApplet_Factory" +#define GPM_INHIBIT_APPLET_ID "InhibitApplet" +#define GPM_INHIBIT_APPLET_FACTORY_ID "InhibitAppletFactory" #define GPM_INHIBIT_APPLET_ICON_INHIBIT "gpm-inhibit" #define GPM_INHIBIT_APPLET_ICON_INVALID "gpm-inhibit-invalid" #define GPM_INHIBIT_APPLET_ICON_UNINHIBIT "gpm-hibernate" @@ -410,7 +411,7 @@ gpm_applet_click_cb (GpmInhibitApplet *applet, GdkEventButton *event) * displays about dialog **/ static void -gpm_applet_dialog_about_cb (MateComponentUIComponent *uic, gpointer data, const gchar *verbname) +gpm_applet_dialog_about_cb (GtkAction *action, gpointer data) { GtkAboutDialog *about; @@ -475,7 +476,7 @@ gpm_applet_dialog_about_cb (MateComponentUIComponent *uic, gpointer data, const * open gpm help **/ static void -gpm_applet_help_cb (MateComponentUIComponent *uic, gpointer data, const gchar *verbname) +gpm_applet_help_cb (GtkAction *action, gpointer data) { gpm_help_display ("applets-inhibit"); } @@ -645,44 +646,56 @@ gpm_inhibit_applet_init (GpmInhibitApplet *applet) } /** - * gpm_applet_matecomponent_cb: - * @_applet: GpmInhibitApplet instance created by the matecomponent factory - * @iid: MateComponent id + * gpm_applet_cb: + * @_applet: GpmInhibitApplet instance created by the applet factory + * @iid: Applet id * - * the function called by matecomponent factory after creation + * the function called by libmate-panel-applet factory after creation **/ static gboolean -gpm_applet_matecomponent_cb (MatePanelApplet *_applet, const gchar *iid, gpointer data) +gpm_applet_cb (MatePanelApplet *_applet, const gchar *iid, gpointer data) { GpmInhibitApplet *applet = GPM_INHIBIT_APPLET(_applet); - - static MateComponentUIVerb verbs [] = { - MATECOMPONENT_UI_VERB ("About", gpm_applet_dialog_about_cb), - MATECOMPONENT_UI_VERB ("Help", gpm_applet_help_cb), - MATECOMPONENT_UI_VERB_END + GtkActionGroup *action_group; + gchar *ui_path; + + static const GtkActionEntry menu_actions [] = { + { "About", GTK_STOCK_ABOUT, N_("_About"), + NULL, NULL, + G_CALLBACK (gpm_applet_dialog_about_cb) }, + { "Help", GTK_STOCK_HELP, N_("_Help"), + NULL, NULL, + G_CALLBACK (gpm_applet_help_cb) } }; - if (strcmp (iid, GPM_INHIBIT_APPLET_OAFID) != 0) { + if (strcmp (iid, GPM_INHIBIT_APPLET_ID) != 0) { return FALSE; } - mate_panel_applet_setup_menu_from_file (MATE_PANEL_APPLET (applet), - DATADIR, - "MATE_InhibitApplet.xml", - NULL, verbs, applet); + action_group = gtk_action_group_new ("Inhibit Applet Actions"); + gtk_action_group_set_translation_domain (action_group, GETTEXT_PACKAGE); + gtk_action_group_add_actions (action_group, + menu_actions, + G_N_ELEMENTS (menu_actions), + applet); + ui_path = g_build_filename (INHIBIT_MENU_UI_DIR, "inhibit-applet-menu.xml", NULL); + mate_panel_applet_setup_menu_from_file (MATE_PANEL_APPLET (applet), ui_path, action_group); + g_free (ui_path); + g_object_unref (action_group); + gpm_applet_draw_cb (applet); return TRUE; } /** - * this generates a main with a matecomponent factory + * this generates a main with a applet factory **/ -MATE_PANEL_APPLET_MATECOMPONENT_FACTORY +MATE_PANEL_APPLET_OUT_PROCESS_FACTORY (/* the factory iid */ - GPM_INHIBIT_APPLET_FACTORY_OAFID, + GPM_INHIBIT_APPLET_FACTORY_ID, /* generates brighness applets instead of regular mate applets */ GPM_TYPE_INHIBIT_APPLET, - /* the applet name and version */ - "InhibitApplet", VERSION, + /* the applet name */ + "InhibitApplet", /* our callback (with no user data) */ - gpm_applet_matecomponent_cb, NULL); + gpm_applet_cb, NULL) diff --git a/applets/inhibit/org.mate.InhibitApplet.mate-panel-applet.in.in b/applets/inhibit/org.mate.InhibitApplet.mate-panel-applet.in.in new file mode 100644 index 0000000..d65060b --- /dev/null +++ b/applets/inhibit/org.mate.InhibitApplet.mate-panel-applet.in.in @@ -0,0 +1,16 @@ +[Applet Factory] +Id=InhibitAppletFactory +Location=@LIBEXECDIR@/mate-inhibit-applet +_Name=Inhibit Applet Factory +_Description=Factory for Inhibit Applet + +[InhibitApplet] +_Name=Inhibit Applet +_Description=Allows user to inhibit automatic power saving +Icon=mate-inhibit-applet +MateComponentId=OAFIID:MATE_InhibitApplet +X-MATE-Bugzilla-Bugzilla=MATE +X-MATE-Bugzilla-Product=mate-power-manager +X-MATE-Bugzilla-Component=applets +X-MATE-Bugzilla-Version=@VERSION@ +X-MATE-Bugzilla-OtherBinaries=mate-inhibit-applet diff --git a/applets/inhibit/org.mate.panel.applet.InhibitAppletFactory.service.in b/applets/inhibit/org.mate.panel.applet.InhibitAppletFactory.service.in new file mode 100644 index 0000000..5fd8ccb --- /dev/null +++ b/applets/inhibit/org.mate.panel.applet.InhibitAppletFactory.service.in @@ -0,0 +1,3 @@ +[D-BUS Service] +Name=org.mate.panel.applet.InhibitAppletFactory +Exec=@LIBEXECDIR@/mate-inhibit-applet |