[Goodies-commits] r5015 - in xfce4-screenshooter-plugin/trunk: . src
Jerome Guelfucci
jeromeg at xfce.org
Sun Jun 29 16:49:35 CEST 2008
Author: jeromeg
Date: 2008-06-29 14:49:35 +0000 (Sun, 29 Jun 2008)
New Revision: 5015
Modified:
xfce4-screenshooter-plugin/trunk/ChangeLog
xfce4-screenshooter-plugin/trunk/src/screenshooter-plugin.c
Log:
Fix identation.
Give correct names to vars.
Start to comment the code.
Modified: xfce4-screenshooter-plugin/trunk/ChangeLog
===================================================================
--- xfce4-screenshooter-plugin/trunk/ChangeLog 2008-06-29 14:49:11 UTC (rev 5014)
+++ xfce4-screenshooter-plugin/trunk/ChangeLog 2008-06-29 14:49:35 UTC (rev 5015)
@@ -1,3 +1,10 @@
+2008-06-29 jeromeg
+
+ * src/screenshooter-plugin.c:
+ - set better var names
+ - fix indentation
+ - partially comment the code
+
2008-06-27 jeromeg
=== 1.2.0 ===
Modified: xfce4-screenshooter-plugin/trunk/src/screenshooter-plugin.c
===================================================================
--- xfce4-screenshooter-plugin/trunk/src/screenshooter-plugin.c 2008-06-29 14:49:11 UTC (rev 5014)
+++ xfce4-screenshooter-plugin/trunk/src/screenshooter-plugin.c 2008-06-29 14:49:35 UTC (rev 5015)
@@ -47,49 +47,49 @@
typedef struct
{
- XfcePanelPlugin *plugin;
+ XfcePanelPlugin *plugin;
- GtkWidget *button;
- GtkWidget *image;
- GtkWidget *preview;
- GtkTooltips *tooltips;
- GtkWidget *chooser;
+ GtkWidget *button;
+ GtkWidget *image;
+ GtkWidget *preview;
+ GtkTooltips *tooltips;
+ GtkWidget *chooser;
- gint whole_screen;
- gint ask_for_file;
+ gint whole_screen;
+ gint show_save_dialog;
- gint screenshot_delay;
- gchar *screenshot_dir;
+ gint screenshot_delay;
+ gchar *screenshot_dir;
- gint counter;
+ gint counter;
- int style_id;
+ int style_id;
}
ScreenshotData;
/* Panel Plugin Interface */
static void screenshot_properties_dialog (XfcePanelPlugin *plugin,
- ScreenshotData *screenshot);
+ ScreenshotData *screenshot);
static void screenshot_construct (XfcePanelPlugin * plugin);
XFCE_PANEL_PLUGIN_REGISTER_INTERNAL (screenshot_construct);
-/* internal functions */
+/* Internal functions */
static gboolean
screenshot_set_size (XfcePanelPlugin *plugin, int size, ScreenshotData *sd)
{
- GdkPixbuf *pb;
- int width = size - 2 - 2 * MAX (sd->button->style->xthickness,
+ GdkPixbuf *pb;
+ int width = size - 2 - 2 * MAX (sd->button->style->xthickness,
sd->button->style->ythickness);
- pb = xfce_themed_icon_load (SCREENSHOT_ICON_NAME, width);
- gtk_image_set_from_pixbuf (GTK_IMAGE (sd->image), pb);
- g_object_unref (pb);
- gtk_widget_set_size_request (GTK_WIDGET (plugin), size, size);
+ pb = xfce_themed_icon_load (SCREENSHOT_ICON_NAME, width);
+ gtk_image_set_from_pixbuf (GTK_IMAGE (sd->image), pb);
+ g_object_unref (pb);
+ gtk_widget_set_size_request (GTK_WIDGET (plugin), size, size);
- return TRUE;
+ return TRUE;
}
static void
@@ -107,333 +107,342 @@
static void
button_clicked(GtkWidget * button, ScreenshotData * sd)
{
- GdkPixbuf * screenshot;
- GdkPixbuf * thumbnail;
- gint width;
- gint height;
- gint dialog_response;
- gchar * filename = NULL;
-
- gtk_widget_set_sensitive(GTK_WIDGET (sd->button), FALSE);
-
- screenshot = take_screenshot(sd->whole_screen, sd->screenshot_delay);
-
- width = gdk_pixbuf_get_width(screenshot);
- height = gdk_pixbuf_get_height(screenshot);
+ GdkPixbuf * screenshot;
+ GdkPixbuf * thumbnail;
+ gint width;
+ gint height;
+ gint dialog_response;
+ gchar * filename = NULL;
- thumbnail = gdk_pixbuf_scale_simple (screenshot,
- width/5,
- height/5, GDK_INTERP_BILINEAR);
+ /* Make the button unclickable so that the user does not press it while another
+ screenshot is in progress */
+ gtk_widget_set_sensitive(GTK_WIDGET (sd->button), FALSE);
- gtk_image_set_from_pixbuf (GTK_IMAGE (sd->preview), thumbnail);
- g_object_unref (thumbnail);
-
- filename = generate_filename_for_uri (gtk_file_chooser_get_current_folder(GTK_FILE_CHOOSER (sd->chooser)));
-
- if (sd->ask_for_file)
- {
- gtk_file_chooser_set_current_name (GTK_FILE_CHOOSER (sd->chooser), filename);
- dialog_response = gtk_dialog_run (GTK_DIALOG (sd->chooser));
-
- if ( dialog_response == GTK_RESPONSE_ACCEPT )
- {
- filename = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER(sd->chooser));
- gdk_pixbuf_save (screenshot, filename, "png", NULL, NULL);
- }
-
- gtk_widget_hide ( GTK_WIDGET (sd->chooser) );
- }
- else
- {
- filename = generate_filename_for_uri ( sd->screenshot_dir );
- gdk_pixbuf_save (screenshot, filename, "png", NULL, NULL);
- }
- gtk_widget_set_sensitive(GTK_WIDGET ( sd->button), TRUE);
- g_free (filename);
+ /* Get the screenshot */
+ screenshot = take_screenshot(sd->whole_screen, sd->screenshot_delay);
+
+ /* Set the save dialog's thumbnail */
+ width = gdk_pixbuf_get_width(screenshot);
+ height = gdk_pixbuf_get_height(screenshot);
+
+ thumbnail = gdk_pixbuf_scale_simple (screenshot,
+ width/5,
+ height/5, GDK_INTERP_BILINEAR);
+
+ gtk_image_set_from_pixbuf (GTK_IMAGE (sd->preview), thumbnail);
+ g_object_unref (thumbnail);
+
+ /* Generate a default filename for the current folder */
+ filename = generate_filename_for_uri (gtk_file_chooser_get_current_folder(GTK_FILE_CHOOSER (sd->chooser)));
+
+ if (sd->show_save_dialog)
+ {
+ /* If the user wants a save dialog, we run it, and grab the filename the user
+ has chosen. */
+ gtk_file_chooser_set_current_name (GTK_FILE_CHOOSER (sd->chooser), filename);
+ dialog_response = gtk_dialog_run (GTK_DIALOG (sd->chooser));
+
+ if ( dialog_response == GTK_RESPONSE_ACCEPT )
+ {
+ filename = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER(sd->chooser));
+ gdk_pixbuf_save (screenshot, filename, "png", NULL, NULL);
+ }
+
+ gtk_widget_hide ( GTK_WIDGET (sd->chooser) );
+ }
+ else
+ {
+ /* Else, we just save the file in the default folder */
+ filename = generate_filename_for_uri ( sd->screenshot_dir );
+ gdk_pixbuf_save (screenshot, filename, "png", NULL, NULL);
+ }
+ gtk_widget_set_sensitive(GTK_WIDGET ( sd->button), TRUE);
+ g_free (filename);
}
static void
screenshot_style_set (XfcePanelPlugin *plugin, gpointer ignored,
ScreenshotData *sd)
{
- screenshot_set_size (plugin, xfce_panel_plugin_get_size (plugin), sd);
+ screenshot_set_size (plugin, xfce_panel_plugin_get_size (plugin), sd);
}
static void
screenshot_read_rc_file (XfcePanelPlugin *plugin, ScreenshotData *screenshot)
{
- char *file;
- XfceRc *rc;
- gint screenshot_delay = 0;
- gint whole_screen = 1;
- gint ask_for_file = 1;
- gchar *screenshot_dir = g_strdup ( xfce_get_homedir ());
-
- if ((file = xfce_panel_plugin_lookup_rc_file (plugin)) != NULL)
- {
- rc = xfce_rc_simple_open (file, TRUE);
- g_free (file);
+ char *file;
+ XfceRc *rc;
+ gint screenshot_delay = 0;
+ gint whole_screen = 1;
+ gint show_save_dialog = 1;
+ gchar *screenshot_dir = g_strdup ( xfce_get_homedir ());
+
+ if ( (file = xfce_panel_plugin_lookup_rc_file (plugin) ) != NULL)
+ {
+ rc = xfce_rc_simple_open (file, TRUE);
+ g_free (file);
- if (rc != NULL)
- {
- screenshot_delay = xfce_rc_read_int_entry (rc, "screenshot_delay", 0);
- whole_screen = xfce_rc_read_int_entry (rc, "whole_screen", 1);
- ask_for_file = xfce_rc_read_int_entry (rc, "ask_for_file", 1);
- screenshot_dir = g_strdup ( xfce_rc_read_entry (rc, "screenshot_dir", xfce_get_homedir () ) );
+ if ( rc != NULL )
+ {
+ screenshot_delay = xfce_rc_read_int_entry (rc, "screenshot_delay", 0);
+ whole_screen = xfce_rc_read_int_entry (rc, "whole_screen", 1);
+ show_save_dialog = xfce_rc_read_int_entry (rc, "show_save_dialog", 1);
+ screenshot_dir = g_strdup ( xfce_rc_read_entry (rc, "screenshot_dir", xfce_get_homedir () ) );
- xfce_rc_close (rc);
- }
- }
+ xfce_rc_close (rc);
+ }
+ }
- screenshot->screenshot_delay = screenshot_delay;
- screenshot->whole_screen = whole_screen;
- screenshot->ask_for_file = ask_for_file;
- screenshot->screenshot_dir = screenshot_dir;
+ screenshot->screenshot_delay = screenshot_delay;
+ screenshot->whole_screen = whole_screen;
+ screenshot->show_save_dialog = show_save_dialog;
+ screenshot->screenshot_dir = screenshot_dir;
}
static void
screenshot_write_rc_file (XfcePanelPlugin *plugin, ScreenshotData *screenshot)
{
- char *file;
- XfceRc *rc;
+ char *file;
+ XfceRc *rc;
- if (!(file = xfce_panel_plugin_save_location (plugin, TRUE)))
- return;
+ if ( !(file = xfce_panel_plugin_save_location (plugin, TRUE)) )
+ return;
- rc = xfce_rc_simple_open (file, FALSE);
- g_free (file);
+ rc = xfce_rc_simple_open (file, FALSE);
+ g_free (file);
- if (!rc)
- return;
+ if ( !rc )
+ return;
- xfce_rc_write_int_entry (rc, "screenshot_delay", screenshot->screenshot_delay);
- xfce_rc_write_int_entry (rc, "whole_screen", screenshot->whole_screen);
- xfce_rc_write_int_entry (rc, "ask_for_file", screenshot->ask_for_file);
- xfce_rc_write_entry (rc, "screenshot_dir", screenshot->screenshot_dir);
+ xfce_rc_write_int_entry (rc, "screenshot_delay", screenshot->screenshot_delay);
+ xfce_rc_write_int_entry (rc, "whole_screen", screenshot->whole_screen);
+ xfce_rc_write_int_entry (rc, "show_save_dialog", screenshot->show_save_dialog);
+ xfce_rc_write_entry (rc, "screenshot_dir", screenshot->screenshot_dir);
- xfce_rc_close (rc);
+ xfce_rc_close ( rc );
}
static void
-ask_for_file_toggled (GtkToggleButton *tb, ScreenshotData *screenshot)
+show_save_dialog_toggled (GtkToggleButton *tb, ScreenshotData *screenshot)
{
- screenshot->ask_for_file = gtk_toggle_button_get_active (tb);
+ screenshot->show_save_dialog = gtk_toggle_button_get_active ( tb );
}
static void
whole_screen_toggled (GtkToggleButton *tb, ScreenshotData *sd)
{
- sd->whole_screen = gtk_toggle_button_get_active (tb);
+ sd->whole_screen = gtk_toggle_button_get_active ( tb );
}
+/* If active window is chosen, we set whole_screen to false */
static void
active_window_toggled (GtkToggleButton *tb, ScreenshotData *sd)
{
- sd->whole_screen = !gtk_toggle_button_get_active (tb);
+ sd->whole_screen = !gtk_toggle_button_get_active ( tb );
}
static void
screenshot_delay_spinner_changed(GtkWidget * spinner, ScreenshotData *sd)
{
- sd->screenshot_delay = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(spinner));
+ sd->screenshot_delay = gtk_spin_button_get_value_as_int( GTK_SPIN_BUTTON( spinner ) );
}
static void
cb_default_folder (GtkWidget * chooser, ScreenshotData *sd)
{
- sd->screenshot_dir = gtk_file_chooser_get_filename ( GTK_FILE_CHOOSER ( chooser ) );
- gtk_file_chooser_set_current_folder ( GTK_FILE_CHOOSER ( sd->chooser ), sd->screenshot_dir);
+ sd->screenshot_dir = gtk_file_chooser_get_filename ( GTK_FILE_CHOOSER ( chooser ) );
+ gtk_file_chooser_set_current_folder ( GTK_FILE_CHOOSER ( sd->chooser ), sd->screenshot_dir);
}
static void
screenshot_dialog_response (GtkWidget *dlg, int reponse,
- ScreenshotData *screenshot)
+ ScreenshotData *screenshot)
{
- g_object_set_data (G_OBJECT (screenshot->plugin), "dialog", NULL);
+ g_object_set_data (G_OBJECT (screenshot->plugin), "dialog", NULL);
- gtk_widget_destroy (dlg);
- xfce_panel_plugin_unblock_menu (screenshot->plugin);
- screenshot_write_rc_file (screenshot->plugin, screenshot);
+ gtk_widget_destroy (dlg);
+ xfce_panel_plugin_unblock_menu (screenshot->plugin);
+ screenshot_write_rc_file (screenshot->plugin, screenshot);
}
static void
screenshot_properties_dialog (XfcePanelPlugin *plugin, ScreenshotData *sd)
{
- GtkWidget *dlg, *vbox, *label2;
- GtkWidget *options_frame, *modes_frame, *delay_box, *options_box, *modes_box;
- GtkWidget *save_button, *desktop_button, *active_window_button;
- GtkWidget *dir_chooser, *default_save_label, *delay_label;
- GtkWidget *screenshot_delay_spinner;
+ GtkWidget *dlg, *vbox, *label2;
+ GtkWidget *options_frame, *modes_frame, *delay_box, *options_box, *modes_box;
+ GtkWidget *save_button, *desktop_button, *active_window_button;
+ GtkWidget *dir_chooser, *default_save_label, *delay_label;
+ GtkWidget *screenshot_delay_spinner;
- xfce_panel_plugin_block_menu (plugin);
+ xfce_panel_plugin_block_menu (plugin);
- /* Create the dialog */
- dlg = xfce_titled_dialog_new_with_buttons (_("Screenshooter plugin"),
- GTK_WINDOW (gtk_widget_get_toplevel (GTK_WIDGET (plugin))),
- GTK_DIALOG_DESTROY_WITH_PARENT |
- GTK_DIALOG_NO_SEPARATOR,
- GTK_STOCK_CLOSE, GTK_RESPONSE_OK,
- NULL);
+ /* Create the dialog */
+ dlg = xfce_titled_dialog_new_with_buttons (_("Screenshooter plugin"),
+ GTK_WINDOW (gtk_widget_get_toplevel (GTK_WIDGET (plugin))),
+ GTK_DIALOG_DESTROY_WITH_PARENT |
+ GTK_DIALOG_NO_SEPARATOR,
+ GTK_STOCK_CLOSE, GTK_RESPONSE_OK,
+ NULL);
- g_object_set_data (G_OBJECT (plugin), "dialog", dlg);
+ g_object_set_data (G_OBJECT (plugin), "dialog", dlg);
- gtk_window_set_position (GTK_WINDOW (dlg), GTK_WIN_POS_CENTER);
+ gtk_window_set_position (GTK_WINDOW (dlg), GTK_WIN_POS_CENTER);
- g_signal_connect (dlg, "response", G_CALLBACK (screenshot_dialog_response),
- sd);
+ g_signal_connect (dlg, "response", G_CALLBACK (screenshot_dialog_response),
+ sd);
- gtk_container_set_border_width (GTK_CONTAINER (dlg), 2);
- gtk_window_set_icon_name (GTK_WINDOW (dlg), "applets-screenshooter");
-
- /* Create the main box for the dialog */
- vbox = gtk_vbox_new (FALSE, 8);
- gtk_container_set_border_width (GTK_CONTAINER (vbox), 6);
- gtk_widget_show (vbox);
- gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dlg)->vbox), vbox,
- TRUE, TRUE, 0);
-
- /* Create the frame for screenshot modes and fill it with the radio buttons */
- modes_frame = gtk_frame_new (_("Modes"));
- gtk_container_add (GTK_CONTAINER (vbox), modes_frame);
- gtk_widget_show (modes_frame);
-
- modes_box = gtk_vbox_new (FALSE, 8);
- gtk_container_add (GTK_CONTAINER (modes_frame), modes_box);
- gtk_container_set_border_width (GTK_CONTAINER (modes_box), 6);
- gtk_widget_show (modes_box);
-
- desktop_button = gtk_radio_button_new_with_mnemonic (NULL, _("Take a screenshot of desktop"));
- gtk_widget_show (desktop_button);
- gtk_box_pack_start (GTK_BOX (modes_box), desktop_button, FALSE, FALSE, 0);
- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (desktop_button),
- sd->whole_screen);
- g_signal_connect (desktop_button, "toggled", G_CALLBACK (whole_screen_toggled),
- sd);
-
- active_window_button = gtk_radio_button_new_with_mnemonic ( gtk_radio_button_get_group ( GTK_RADIO_BUTTON (desktop_button) ),
- _("Take a screenshot of the active window"));
- gtk_widget_show (active_window_button);
- gtk_box_pack_start (GTK_BOX (modes_box), active_window_button, FALSE, FALSE, 0);
- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (active_window_button),
- !sd->whole_screen);
- g_signal_connect (active_window_button, "toggled", G_CALLBACK (active_window_toggled),
- sd);
-
- /* Create the options frame and add the delay and save options */
- options_frame = gtk_frame_new (_("Options"));
- gtk_container_add(GTK_CONTAINER (vbox), options_frame);
- gtk_widget_show (options_frame);
-
- options_box = gtk_vbox_new (FALSE, 8);
- gtk_container_add (GTK_CONTAINER (options_frame), options_box);
- gtk_container_set_border_width (GTK_CONTAINER (options_box), 6);
- gtk_widget_show (options_box);
-
- /* Save option */
- save_button = gtk_check_button_new_with_mnemonic (_("Show save dialog"));
- gtk_widget_show (save_button);
- gtk_box_pack_start (GTK_BOX (options_box), save_button, FALSE, FALSE, 0);
- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (save_button),
- sd->ask_for_file);
- g_signal_connect (save_button, "toggled", G_CALLBACK (ask_for_file_toggled),
- sd);
-
- /* Default save location */
- default_save_label = gtk_label_new ( "" );
- gtk_label_set_markup ( GTK_LABEL( default_save_label ),
- _("<span weight=\"bold\" stretch=\"semiexpanded\">Default save location</span>"));
- gtk_misc_set_alignment( GTK_MISC ( default_save_label ), 0, 0);
- gtk_widget_show ( default_save_label );
- gtk_container_add ( GTK_CONTAINER ( options_box ), default_save_label );
-
- dir_chooser = gtk_file_chooser_button_new (_("Default save location"), GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER);
- gtk_widget_show ( dir_chooser );
- gtk_file_chooser_set_current_folder ( GTK_FILE_CHOOSER (dir_chooser), sd->screenshot_dir);
- gtk_container_add ( GTK_CONTAINER ( options_box ), dir_chooser );
- g_signal_connect (dir_chooser, "selection-changed", G_CALLBACK (cb_default_folder), sd);
-
- /* Screenshot delay */
- delay_label = gtk_label_new ( "" );
- gtk_label_set_markup ( GTK_LABEL( delay_label ),
- _("<span weight=\"bold\" stretch=\"semiexpanded\">Delay before taking the screenshot</span>"));
- gtk_misc_set_alignment( GTK_MISC ( delay_label ), 0, 0);
- gtk_widget_show ( delay_label );
- gtk_container_add ( GTK_CONTAINER ( options_box ), delay_label );
-
- delay_box = gtk_hbox_new(FALSE, 8);
- gtk_widget_show(delay_box);
- gtk_box_pack_start (GTK_BOX (options_box), delay_box, FALSE, FALSE, 0);
+ gtk_container_set_border_width (GTK_CONTAINER (dlg), 2);
+ gtk_window_set_icon_name (GTK_WINDOW (dlg), "applets-screenshooter");
- screenshot_delay_spinner = gtk_spin_button_new_with_range(0.0, 60.0, 1.0);
- gtk_spin_button_set_value(GTK_SPIN_BUTTON(screenshot_delay_spinner), sd->screenshot_delay);
- gtk_widget_show(screenshot_delay_spinner);
- gtk_box_pack_start (GTK_BOX (delay_box), screenshot_delay_spinner, FALSE, FALSE, 0);
+ /* Create the main box for the dialog */
+ vbox = gtk_vbox_new (FALSE, 8);
+ gtk_container_set_border_width (GTK_CONTAINER (vbox), 6);
+ gtk_widget_show (vbox);
+ gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dlg)->vbox), vbox,
+ TRUE, TRUE, 0);
+
+ /* Create the frame for screenshot modes and fill it with the radio buttons */
+ modes_frame = gtk_frame_new (_("Modes"));
+ gtk_container_add (GTK_CONTAINER (vbox), modes_frame);
+ gtk_widget_show (modes_frame);
+
+ modes_box = gtk_vbox_new (FALSE, 8);
+ gtk_container_add (GTK_CONTAINER (modes_frame), modes_box);
+ gtk_container_set_border_width (GTK_CONTAINER (modes_box), 6);
+ gtk_widget_show (modes_box);
+
+ desktop_button = gtk_radio_button_new_with_mnemonic (NULL, _("Take a screenshot of desktop"));
+ gtk_widget_show (desktop_button);
+ gtk_box_pack_start (GTK_BOX (modes_box), desktop_button, FALSE, FALSE, 0);
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (desktop_button),
+ sd->whole_screen);
+ g_signal_connect (desktop_button, "toggled", G_CALLBACK (whole_screen_toggled),
+ sd);
+
+ active_window_button = gtk_radio_button_new_with_mnemonic ( gtk_radio_button_get_group ( GTK_RADIO_BUTTON (desktop_button) ),
+ _("Take a screenshot of the active window"));
+ gtk_widget_show (active_window_button);
+ gtk_box_pack_start (GTK_BOX (modes_box), active_window_button, FALSE, FALSE, 0);
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (active_window_button),
+ !sd->whole_screen);
+ g_signal_connect (active_window_button, "toggled", G_CALLBACK (active_window_toggled),
+ sd);
+
+ /* Create the options frame and add the delay and save options */
+ options_frame = gtk_frame_new (_("Options"));
+ gtk_container_add(GTK_CONTAINER (vbox), options_frame);
+ gtk_widget_show (options_frame);
+
+ options_box = gtk_vbox_new (FALSE, 8);
+ gtk_container_add (GTK_CONTAINER (options_frame), options_box);
+ gtk_container_set_border_width (GTK_CONTAINER (options_box), 6);
+ gtk_widget_show (options_box);
+
+ /* Save option */
+ save_button = gtk_check_button_new_with_mnemonic (_("Show save dialog"));
+ gtk_widget_show (save_button);
+ gtk_box_pack_start (GTK_BOX (options_box), save_button, FALSE, FALSE, 0);
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (save_button),
+ sd->show_save_dialog);
+ g_signal_connect (save_button, "toggled", G_CALLBACK (show_save_dialog_toggled),
+ sd);
+
+ /* Default save location */
+ default_save_label = gtk_label_new ( "" );
+ gtk_label_set_markup ( GTK_LABEL( default_save_label ),
+ _("<span weight=\"bold\" stretch=\"semiexpanded\">Default save location</span>"));
+ gtk_misc_set_alignment( GTK_MISC ( default_save_label ), 0, 0);
+ gtk_widget_show ( default_save_label );
+ gtk_container_add ( GTK_CONTAINER ( options_box ), default_save_label );
+
+ dir_chooser = gtk_file_chooser_button_new (_("Default save location"), GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER);
+ gtk_widget_show ( dir_chooser );
+ gtk_file_chooser_set_current_folder ( GTK_FILE_CHOOSER (dir_chooser), sd->screenshot_dir);
+ gtk_container_add ( GTK_CONTAINER ( options_box ), dir_chooser );
+ g_signal_connect (dir_chooser, "selection-changed", G_CALLBACK (cb_default_folder), sd);
+
+ /* Screenshot delay */
+ delay_label = gtk_label_new ( "" );
+ gtk_label_set_markup ( GTK_LABEL( delay_label ),
+ _("<span weight=\"bold\" stretch=\"semiexpanded\">Delay before taking the screenshot</span>"));
+ gtk_misc_set_alignment( GTK_MISC ( delay_label ), 0, 0);
+ gtk_widget_show ( delay_label );
+ gtk_container_add ( GTK_CONTAINER ( options_box ), delay_label );
+
+ delay_box = gtk_hbox_new(FALSE, 8);
+ gtk_widget_show(delay_box);
+ gtk_box_pack_start (GTK_BOX (options_box), delay_box, FALSE, FALSE, 0);
- label2 = gtk_label_new_with_mnemonic(_("seconds"));
- gtk_widget_show(label2);
- gtk_box_pack_start (GTK_BOX (delay_box), label2, FALSE, FALSE, 0);
+ screenshot_delay_spinner = gtk_spin_button_new_with_range(0.0, 60.0, 1.0);
+ gtk_spin_button_set_value(GTK_SPIN_BUTTON(screenshot_delay_spinner), sd->screenshot_delay);
+ gtk_widget_show(screenshot_delay_spinner);
+ gtk_box_pack_start (GTK_BOX (delay_box), screenshot_delay_spinner, FALSE, FALSE, 0);
- g_signal_connect(screenshot_delay_spinner, "value-changed",
- G_CALLBACK(screenshot_delay_spinner_changed), sd);
+ label2 = gtk_label_new_with_mnemonic(_("seconds"));
+ gtk_widget_show(label2);
+ gtk_box_pack_start (GTK_BOX (delay_box), label2, FALSE, FALSE, 0);
- gtk_widget_show (dlg);
+ g_signal_connect(screenshot_delay_spinner, "value-changed",
+ G_CALLBACK(screenshot_delay_spinner_changed), sd);
+
+ gtk_widget_show (dlg);
}
static void
screenshot_construct (XfcePanelPlugin * plugin)
{
- ScreenshotData *sd = g_new0 (ScreenshotData, 1);
+ ScreenshotData *sd = g_new0 (ScreenshotData, 1);
- xfce_textdomain(GETTEXT_PACKAGE, PACKAGE_LOCALE_DIR, "UTF-8");
+ xfce_textdomain(GETTEXT_PACKAGE, PACKAGE_LOCALE_DIR, "UTF-8");
- sd->plugin = plugin;
+ sd->plugin = plugin;
- screenshot_read_rc_file (plugin, sd);
+ screenshot_read_rc_file (plugin, sd);
- sd->button = xfce_create_panel_button ();
+ sd->button = xfce_create_panel_button ();
- sd->counter = 0;
+ sd->counter = 0;
- sd->tooltips = gtk_tooltips_new ();
- gtk_tooltips_set_tip (sd->tooltips, sd->button, _("Take screenshot"), NULL);
+ sd->tooltips = gtk_tooltips_new ();
+ gtk_tooltips_set_tip (sd->tooltips, sd->button, _("Take screenshot"), NULL);
- sd->image = gtk_image_new ();
- gtk_container_add (GTK_CONTAINER (sd->button), GTK_WIDGET (sd->image));
+ sd->image = gtk_image_new ();
+ gtk_container_add (GTK_CONTAINER (sd->button), GTK_WIDGET (sd->image));
- gtk_widget_show_all (sd->button);
+ gtk_widget_show_all (sd->button);
- sd->chooser = gtk_file_chooser_dialog_new ( _("Save screenshot as ..."),
- NULL,
- GTK_FILE_CHOOSER_ACTION_SAVE,
- GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
- GTK_STOCK_SAVE, GTK_RESPONSE_ACCEPT,
- NULL);
+ sd->chooser = gtk_file_chooser_dialog_new ( _("Save screenshot as ..."),
+ NULL,
+ GTK_FILE_CHOOSER_ACTION_SAVE,
+ GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
+ GTK_STOCK_SAVE, GTK_RESPONSE_ACCEPT,
+ NULL);
- gtk_file_chooser_set_do_overwrite_confirmation (GTK_FILE_CHOOSER (sd->chooser), TRUE);
- gtk_dialog_set_default_response (GTK_DIALOG (sd->chooser), GTK_RESPONSE_ACCEPT);
- gtk_file_chooser_set_current_folder ( GTK_FILE_CHOOSER ( sd->chooser ), sd->screenshot_dir);
+ gtk_file_chooser_set_do_overwrite_confirmation (GTK_FILE_CHOOSER (sd->chooser), TRUE);
+ gtk_dialog_set_default_response (GTK_DIALOG (sd->chooser), GTK_RESPONSE_ACCEPT);
+ gtk_file_chooser_set_current_folder ( GTK_FILE_CHOOSER ( sd->chooser ), sd->screenshot_dir);
- sd->preview = gtk_image_new ();
- gtk_file_chooser_set_preview_widget (GTK_FILE_CHOOSER (sd->chooser), sd->preview);
+ sd->preview = gtk_image_new ();
+ gtk_file_chooser_set_preview_widget (GTK_FILE_CHOOSER (sd->chooser), sd->preview);
- gtk_container_add (GTK_CONTAINER (plugin), sd->button);
- xfce_panel_plugin_add_action_widget (plugin, sd->button);
+ gtk_container_add (GTK_CONTAINER (plugin), sd->button);
+ xfce_panel_plugin_add_action_widget (plugin, sd->button);
- g_signal_connect (sd->button, "clicked",
- G_CALLBACK (button_clicked), sd);
+ g_signal_connect (sd->button, "clicked",
+ G_CALLBACK (button_clicked), sd);
- g_signal_connect (plugin, "free-data",
- G_CALLBACK (screenshot_free_data), sd);
+ g_signal_connect (plugin, "free-data",
+ G_CALLBACK (screenshot_free_data), sd);
- g_signal_connect (plugin, "size-changed",
- G_CALLBACK (screenshot_set_size), sd);
+ g_signal_connect (plugin, "size-changed",
+ G_CALLBACK (screenshot_set_size), sd);
- sd->style_id =
- g_signal_connect (plugin, "style-set",
- G_CALLBACK (screenshot_style_set), sd);
+ sd->style_id =
+ g_signal_connect (plugin, "style-set",
+ G_CALLBACK (screenshot_style_set), sd);
- xfce_panel_plugin_menu_show_configure (plugin);
- g_signal_connect (plugin, "configure-plugin",
- G_CALLBACK (screenshot_properties_dialog), sd);
+ xfce_panel_plugin_menu_show_configure (plugin);
+ g_signal_connect (plugin, "configure-plugin",
+ G_CALLBACK (screenshot_properties_dialog), sd);
}
XFCE_PANEL_PLUGIN_REGISTER_EXTERNAL (screenshot_construct);
More information about the Goodies-commits
mailing list