[gnome-applets/wip/muktupavels/help-about] window-picker: use gp_applet_show_about



commit 8f6de7450757ce2899318b95c989378a3972a56e
Author: Alberts Muktupāvels <alberts muktupavels gmail com>
Date:   Fri Apr 3 17:18:21 2020 +0300

    window-picker: use gp_applet_show_about

 gnome-applets/ga-module.c                     |   2 +
 gnome-applets/window-picker/Makefile.am       |   2 -
 gnome-applets/window-picker/wp-about-dialog.c | 105 --------------------------
 gnome-applets/window-picker/wp-about-dialog.h |  33 --------
 gnome-applets/window-picker/wp-applet.c       |  61 +++++++--------
 gnome-applets/window-picker/wp-applet.h       |   2 +
 po/POTFILES.in                                |   1 -
 7 files changed, 33 insertions(+), 173 deletions(-)
---
diff --git a/gnome-applets/ga-module.c b/gnome-applets/ga-module.c
index 76908c762..06941f25b 100644
--- a/gnome-applets/ga-module.c
+++ b/gnome-applets/ga-module.c
@@ -244,6 +244,8 @@ ga_get_applet_info (const char *id)
       name = _("Window Picker");
       description = _("Shows a list of icons for the open windows.");
       icon_name = "preferences-system-windows";
+
+      about_func = wp_applet_setup_about;
     }
   else if (g_strcmp0 (id, "window-title") == 0)
     {
diff --git a/gnome-applets/window-picker/Makefile.am b/gnome-applets/window-picker/Makefile.am
index 88d0c90ff..bb4417bf2 100644
--- a/gnome-applets/window-picker/Makefile.am
+++ b/gnome-applets/window-picker/Makefile.am
@@ -29,8 +29,6 @@ libwindow_picker_applet_la_LIBADD = \
        $(NULL)
 
 libwindow_picker_applet_la_SOURCES = \
-       wp-about-dialog.c \
-       wp-about-dialog.h \
        wp-applet.c \
        wp-applet.h \
        wp-preferences-dialog.c \
diff --git a/gnome-applets/window-picker/wp-applet.c b/gnome-applets/window-picker/wp-applet.c
index 2c90531fa..ce4d7621a 100644
--- a/gnome-applets/window-picker/wp-applet.c
+++ b/gnome-applets/window-picker/wp-applet.c
@@ -32,7 +32,6 @@
 #include <string.h>
 
 #include "task-list.h"
-#include "wp-about-dialog.h"
 #include "wp-preferences-dialog.h"
 #include "wp-task-title.h"
 
@@ -46,7 +45,6 @@ struct _WpApplet
 
   GSettings   *settings;
 
-  GtkWidget   *about_dialog;
   GtkWidget   *preferences_dialog;
 
   gboolean     show_all_windows;
@@ -69,40 +67,12 @@ static GParamSpec *properties[LAST_PROP] = { NULL };
 
 G_DEFINE_TYPE (WpApplet, wp_applet, GP_TYPE_APPLET)
 
-static void
-wp_about_dialog_response_cb (GtkDialog *dialog,
-                             gint       response_id,
-                             gpointer   user_data)
-{
-  WpApplet *applet;
-
-  applet = WP_APPLET (user_data);
-
-  if (applet->about_dialog == NULL)
-    return;
-
-  gtk_widget_destroy (applet->about_dialog);
-  applet->about_dialog = NULL;
-}
-
 static void
 display_about_dialog (GSimpleAction *action,
                       GVariant      *parameter,
                       gpointer       user_data)
 {
-  WpApplet *applet;
-
-  applet = WP_APPLET (user_data);
-
-  if (applet->about_dialog == NULL)
-    {
-      applet->about_dialog = wp_about_dialog_new ();
-
-      g_signal_connect (applet->about_dialog, "response",
-                        G_CALLBACK (wp_about_dialog_response_cb), applet);
-    }
-
-  gtk_window_present (GTK_WINDOW (applet->about_dialog));
+  gp_applet_show_about (GP_APPLET (user_data));
 }
 
 static void
@@ -273,7 +243,6 @@ wp_applet_dispose (GObject *object)
   applet = WP_APPLET (object);
 
   g_clear_object (&applet->settings);
-  g_clear_pointer (&applet->about_dialog, gtk_widget_destroy);
   g_clear_pointer (&applet->preferences_dialog, gtk_widget_destroy);
 
   G_OBJECT_CLASS (wp_applet_parent_class)->dispose (object);
@@ -430,3 +399,31 @@ wp_applet_get_icons_greyscale (WpApplet *applet)
 {
   return applet->icons_greyscale;
 }
+
+void
+wp_applet_setup_about (GtkAboutDialog *dialog)
+{
+  const char **authors;
+  const char *copyright;
+  const gchar *resource;
+  GdkPixbuf *logo;
+
+  authors = (const char *[])
+    {
+      "Neil J. Patel <neil patel canonical com>",
+      "Sebastian Geiger <sbastig gmx net>",
+      NULL
+    };
+
+  copyright = "Copyright \xc2\xa9 2008 Canonical Ltd\nand Sebastian Geiger";
+
+  gtk_about_dialog_set_authors (dialog, authors);
+  gtk_about_dialog_set_translator_credits (dialog, _("translator-credits"));
+  gtk_about_dialog_set_copyright (dialog, copyright);
+
+  resource = GRESOURCE_PREFIX "/icons/wp-about-logo.png";
+  logo = gdk_pixbuf_new_from_resource (resource, NULL);
+
+  gtk_about_dialog_set_logo (dialog, logo);
+  g_object_unref (logo);
+}
diff --git a/gnome-applets/window-picker/wp-applet.h b/gnome-applets/window-picker/wp-applet.h
index 3803e1812..ffa474412 100644
--- a/gnome-applets/window-picker/wp-applet.h
+++ b/gnome-applets/window-picker/wp-applet.h
@@ -36,6 +36,8 @@ GtkWidget *wp_applet_get_tasks            (WpApplet *applet);
 gboolean   wp_applet_get_show_all_windows (WpApplet *applet);
 gboolean   wp_applet_get_icons_greyscale  (WpApplet *applet);
 
+void       wp_applet_setup_about          (GtkAboutDialog *dialog);
+
 G_END_DECLS
 
 #endif
diff --git a/po/POTFILES.in b/po/POTFILES.in
index 2a24603f2..b21b67318 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -82,7 +82,6 @@ gnome-applets/window-buttons/window-buttons.c
 gnome-applets/window-buttons/window-buttons.ui
 gnome-applets/window-buttons/window-buttons-menu.ui
 gnome-applets/window-picker/task-item.c
-gnome-applets/window-picker/wp-about-dialog.c
 gnome-applets/window-picker/wp-applet.c
 gnome-applets/window-picker/wp-menu.ui
 gnome-applets/window-picker/wp-preferences-dialog.ui


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]