[gnome-panel] libgnome-panel: prefill about dialog with known information



commit 854aac248087f0547a51f77717f47211d5107088
Author: Alberts Muktupāvels <alberts muktupavels gmail com>
Date:   Fri Apr 3 03:07:32 2020 +0300

    libgnome-panel: prefill about dialog with known information

 libgnome-panel/gp-applet-info.h |  6 ++++++
 libgnome-panel/gp-module.c      | 11 ++++++++---
 2 files changed, 14 insertions(+), 3 deletions(-)
---
diff --git a/libgnome-panel/gp-applet-info.h b/libgnome-panel/gp-applet-info.h
index de192f82a..b6e7aabd6 100644
--- a/libgnome-panel/gp-applet-info.h
+++ b/libgnome-panel/gp-applet-info.h
@@ -54,6 +54,12 @@ typedef void  (* GpInitialSetupDialogFunc) (GpInitialSetupDialog *dialog);
  * @dialog: a #GtkAboutDialog
  *
  * Function for setting up about dialog.
+ *
+ * The dialog will be already filled in with following information - version
+ * program name, comments and logo icon name.
+ *
+ * Version will be same that was set with gp_module_set_version(). Other
+ * three fields are information from gp_applet_info_new().
  */
 typedef void  (* GpAboutDialogFunc) (GtkAboutDialog *dialog);
 
diff --git a/libgnome-panel/gp-module.c b/libgnome-panel/gp-module.c
index a47c7df1f..bfa49d6cf 100644
--- a/libgnome-panel/gp-module.c
+++ b/libgnome-panel/gp-module.c
@@ -658,7 +658,7 @@ gp_module_show_about (GpModule   *module,
                       const char *applet)
 {
   GpAppletInfo *info;
-  GtkWidget *dialog;
+  GtkAboutDialog *dialog;
 
   info = get_applet_info (module, applet, NULL);
   g_assert (info != NULL);
@@ -666,9 +666,14 @@ gp_module_show_about (GpModule   *module,
   if (info->about_dialog_func == NULL)
     return;
 
-  dialog = gtk_about_dialog_new ();
+  dialog = GTK_ABOUT_DIALOG (gtk_about_dialog_new ());
+
+  gtk_about_dialog_set_program_name (dialog, info->name);
+  gtk_about_dialog_set_comments (dialog, info->description);
+  gtk_about_dialog_set_logo_icon_name (dialog, info->icon_name);
+  gtk_about_dialog_set_version (dialog, module->version);
 
-  info->about_dialog_func (GTK_ABOUT_DIALOG (dialog));
+  info->about_dialog_func (dialog);
   gtk_window_present (GTK_WINDOW (dialog));
 }
 


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