[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