[Goodies-commits] r6287 - in xfce4-screenshooter-plugin/trunk: . doc/fr doc/fr/images lib panel-plugin src

Jerome Guelfucci jeromeg at xfce.org
Sat Dec 6 14:12:35 CET 2008


Author: jeromeg
Date: 2008-12-06 13:12:35 +0000 (Sat, 06 Dec 2008)
New Revision: 6287

Modified:
   xfce4-screenshooter-plugin/trunk/ChangeLog
   xfce4-screenshooter-plugin/trunk/doc/fr/images/xfce4-screenshooter-dialog.png
   xfce4-screenshooter-plugin/trunk/doc/fr/xfce4-screenshooter.html
   xfce4-screenshooter-plugin/trunk/lib/screenshooter-dialogs.c
   xfce4-screenshooter-plugin/trunk/panel-plugin/screenshooter-plugin.c
   xfce4-screenshooter-plugin/trunk/src/main.c
Log:
  * lib/screenshooter-dialogs.c: add help button to the dialog.
  * src/main.c: rework the managing of the dialog response and a support
    for the help button.
  * panel-plugin/screenshooter-plugin.c: add support for help button.


Modified: xfce4-screenshooter-plugin/trunk/ChangeLog
===================================================================
--- xfce4-screenshooter-plugin/trunk/ChangeLog	2008-12-06 12:33:28 UTC (rev 6286)
+++ xfce4-screenshooter-plugin/trunk/ChangeLog	2008-12-06 13:12:35 UTC (rev 6287)
@@ -1,5 +1,16 @@
-2008-12-05 jeromeg
+2008-12-06 jeromeg
 
+  * lib/screenshooter-dialogs.c: add help button to the dialog.
+  * src/main.c: rework the managing of the dialog response and a support
+    for the help button.
+  * panel-plugin/screenshooter-plugin.c: add support for help button.
+
+2008-12-06 jeromeg
+
+  * doc/fr/: update the french translation.
+
+2008-12-06 jeromeg
+
   * lib/screenshooter-dialogs.c: improve a few strings.
 
 2008-12-05 jeromeg

Modified: xfce4-screenshooter-plugin/trunk/doc/fr/images/xfce4-screenshooter-dialog.png
===================================================================
(Binary files differ)

Modified: xfce4-screenshooter-plugin/trunk/doc/fr/xfce4-screenshooter.html
===================================================================
--- xfce4-screenshooter-plugin/trunk/doc/fr/xfce4-screenshooter.html	2008-12-06 12:33:28 UTC (rev 6286)
+++ xfce4-screenshooter-plugin/trunk/doc/fr/xfce4-screenshooter.html	2008-12-06 13:12:35 UTC (rev 6287)
@@ -60,7 +60,7 @@
 <h5>Sauvegarder</h5>
 
 <p><b>Sauvegarder</b> enregistrera la capture d'écran dans un fichier PNG.
-Si vous cochez la case <b>Sauvegarder dans l'emplacement par défaut</b>,
+Si vous cochez la case <b>Sauvegarder par défaut dans</b>,
 la capture d'écran sera enregistrée dès que vous appuyerez sur le boutton
 pour la prendre, dans le dossier spécifié juste à droite. Sinon, une 
 fenêtre de sauvegarde vous permettra de choisir où la sauvegarder, et 

Modified: xfce4-screenshooter-plugin/trunk/lib/screenshooter-dialogs.c
===================================================================
--- xfce4-screenshooter-plugin/trunk/lib/screenshooter-dialogs.c	2008-12-06 12:33:28 UTC (rev 6286)
+++ xfce4-screenshooter-plugin/trunk/lib/screenshooter-dialogs.c	2008-12-06 13:12:35 UTC (rev 6287)
@@ -455,6 +455,8 @@
         xfce_titled_dialog_new_with_buttons (_("Take a screenshot"),
                                              NULL,
                                              GTK_DIALOG_DESTROY_WITH_PARENT,
+                                             GTK_STOCK_HELP,
+                                             GTK_RESPONSE_HELP,
                                              GTK_STOCK_CLOSE, 
                                              GTK_RESPONSE_CANCEL,
                                              _("Take the screenshot"), 
@@ -467,7 +469,10 @@
         xfce_titled_dialog_new_with_buttons (_("Take a screenshot"),
                                              NULL,
                                              GTK_DIALOG_DESTROY_WITH_PARENT,
-                                             GTK_STOCK_CLOSE, GTK_RESPONSE_OK,
+                                             GTK_STOCK_HELP,
+                                             GTK_RESPONSE_HELP,
+                                             GTK_STOCK_CLOSE, 
+                                             GTK_RESPONSE_OK,
                                              NULL);
     }                                             
 

Modified: xfce4-screenshooter-plugin/trunk/panel-plugin/screenshooter-plugin.c
===================================================================
--- xfce4-screenshooter-plugin/trunk/panel-plugin/screenshooter-plugin.c	2008-12-06 12:33:28 UTC (rev 6286)
+++ xfce4-screenshooter-plugin/trunk/panel-plugin/screenshooter-plugin.c	2008-12-06 13:12:35 UTC (rev 6287)
@@ -79,7 +79,7 @@
                                       
 static void
 cb_dialog_response                   (GtkWidget            *dlg, 
-                                      int                   reponse,
+                                      int                   response,
                                       PluginData           *pd);
                                    
 static void 
@@ -210,30 +210,48 @@
    Unblock the plugin contextual menu.
    Save the options in the rc file.*/
 static void
-cb_dialog_response (GtkWidget *dlg, int reponse,
+cb_dialog_response (GtkWidget *dlg, int response,
                     PluginData *pd)
 {
-  g_object_set_data (G_OBJECT (pd->plugin), "dialog", NULL);
+  if (response == GTK_RESPONSE_OK)
+    {
+      g_object_set_data (G_OBJECT (pd->plugin), "dialog", NULL);
 
-  gtk_widget_destroy (dlg);
-  
-  /* Update tooltips according to the chosen option */
-  #if GTK_CHECK_VERSION(2,12,0)
-  if (pd->sd->mode == FULLSCREEN)
-  {
-    gtk_widget_set_tooltip_text (GTK_WIDGET (pd->button),
-                                 _("Take a screenshot of the entire screen"));
-  }
-  else
-  {
-    gtk_widget_set_tooltip_text (GTK_WIDGET (pd->button),
-                                 _("Take a screenshot of the active window"));
-  }
-  #endif
-  
-  /* Unblock the menu and save options */
-  xfce_panel_plugin_unblock_menu (pd->plugin);
-  screenshooter_plugin_write_rc_file (pd->plugin, pd);
+      gtk_widget_destroy (dlg);
+      
+      /* Update tooltips according to the chosen option */
+      #if GTK_CHECK_VERSION(2,12,0)
+      if (pd->sd->mode == FULLSCREEN)
+      {
+        gtk_widget_set_tooltip_text (GTK_WIDGET (pd->button),
+                        _("Take a screenshot of the entire screen"));
+      }
+      else
+      {
+        gtk_widget_set_tooltip_text (GTK_WIDGET (pd->button),
+                        _("Take a screenshot of the active window"));
+      }
+      #endif
+      
+      /* Unblock the menu and save options */
+      xfce_panel_plugin_unblock_menu (pd->plugin);
+      screenshooter_plugin_write_rc_file (pd->plugin, pd);
+    }
+    
+  if (response == GTK_RESPONSE_HELP)
+    {
+      GError *error_help = NULL;
+              
+      /* Execute the help and show an error dialog if there was 
+       * an error. */
+      if (!xfce_exec_on_screen (gdk_screen_get_default (),
+                                "xfhelp4 xfce4-screenshooter.html", 
+                                FALSE, TRUE, &error_help))
+        {
+          xfce_err (error_help->message);
+          g_error_free (error_help);
+        }
+    }
 }
 
 

Modified: xfce4-screenshooter-plugin/trunk/src/main.c
===================================================================
--- xfce4-screenshooter-plugin/trunk/src/main.c	2008-12-06 12:33:28 UTC (rev 6286)
+++ xfce4-screenshooter-plugin/trunk/src/main.c	2008-12-06 13:12:35 UTC (rev 6287)
@@ -69,8 +69,77 @@
     { NULL }
 };
 
+static void
+cb_dialog_response (GtkWidget *dlg, int response, ScreenshotData *sd);
 
 
+
+/* Internals */
+
+
+
+static void
+cb_dialog_response (GtkWidget *dialog, int response, 
+                    ScreenshotData *sd)
+{
+  if (response == GTK_RESPONSE_OK)
+    {
+      GdkDisplay *display = gdk_display_get_default ();
+      
+      gtk_widget_hide (dialog);
+      
+      gdk_display_sync (display);
+          
+      /* Make sure the window manager had time to set the new active
+      * window.*/
+      sleep (1);
+              
+      screenshooter_take_and_output_screenshot (sd);
+      
+      gtk_widget_show (dialog);
+    }
+  else if (response == GTK_RESPONSE_HELP)
+    {
+      GError *error_help = NULL;
+              
+      /* Execute the help and show an error dialog if there was 
+       * an error. */
+      if (!xfce_exec_on_screen (gdk_screen_get_default (),
+                                "xfhelp4 xfce4-screenshooter.html", 
+                                FALSE, TRUE, &error_help))
+        {
+          xfce_err (error_help->message);
+          g_error_free (error_help);
+        }
+    }
+  else
+    {
+      gchar *rc_file = 
+      xfce_resource_save_location (XFCE_RESOURCE_CONFIG, 
+                                   "xfce4/xfce4-screenshooter",
+                                   TRUE);
+      
+      gtk_widget_destroy (dialog);
+          
+      /* Save preferences */
+      
+      if (rc_file != NULL)
+        {
+          screenshooter_write_rc_file (rc_file, sd);
+          
+          g_free (rc_file);
+        }
+           
+      gtk_main_quit ();
+    }
+}
+
+
+
+/* Main */
+
+
+
 int main(int argc, char **argv)
 {
   GError *cli_error = NULL;
@@ -177,9 +246,7 @@
   else
     {
       GtkWidget *dialog;
-      gint response = GTK_RESPONSE_OK;
-      GdkDisplay *display = gdk_display_get_default ();
-      
+                  
       rc_file = xfce_resource_lookup (XFCE_RESOURCE_CONFIG, 
                                       "xfce4/xfce4-screenshooter");
       
@@ -189,47 +256,21 @@
       if (rc_file != NULL)
         g_free (rc_file);
       
-      /* Show the dialog and take the screenshot until the application
-       * is exited */
+      /* Set the dialog up */
       
-      while (response == GTK_RESPONSE_OK)
-        {
-          /* Set the dialog up */
-          dialog = screenshooter_dialog_new (sd, FALSE);
-          
-          gtk_window_set_type_hint(GTK_WINDOW (dialog), 
-                                   GDK_WINDOW_TYPE_HINT_NORMAL);
-          
-          /* Run the dialog and destroy it, so that it's not grabbed in 
-           * active window mode */
-          
-          response = gtk_dialog_run (GTK_DIALOG (dialog));
-          
-          gtk_widget_destroy (dialog);
-          
-          gdk_display_sync (display);
-          
-          /* Make sure the window manager had time to set the new active
-           * window.*/
-          sleep (1);
-                      
-          if (response == GTK_RESPONSE_OK)
-            {
-              screenshooter_take_and_output_screenshot (sd);
-            }
-        }
+      dialog = screenshooter_dialog_new (sd, FALSE);
+               
+      gtk_window_set_type_hint(GTK_WINDOW (dialog), 
+                               GDK_WINDOW_TYPE_HINT_NORMAL);
       
-      /* Save preferences */
-      rc_file = 
-        xfce_resource_save_location (XFCE_RESOURCE_CONFIG, 
-                                     "xfce4/xfce4-screenshooter",
-                                     TRUE);
-      if (rc_file != NULL)
-        {
-          screenshooter_write_rc_file (rc_file, sd);
-          
-          g_free (rc_file);
-        }
+      g_signal_connect (dialog, 
+                        "response", 
+                        G_CALLBACK (cb_dialog_response),
+                        sd);
+                        
+      gtk_widget_show (dialog);
+      
+      gtk_main ();               
     }
   
   g_free (sd->screenshot_dir);




More information about the Goodies-commits mailing list