/*
* DO NOT EDIT THIS FILE - it is generated by Glade.
*/
#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
#include <string.h>
#include <stdio.h>
#include <gdk/gdkkeysyms.h>
#include <gtk/gtk.h>
#include "callbacks.h"
#include "interface.h"
#include "support.h"
#define GLADE_HOOKUP_OBJECT(component,widget,name) \
g_object_set_data_full (G_OBJECT (component), name, \
gtk_widget_ref (widget), (GDestroyNotify) gtk_widget_unref)
#define GLADE_HOOKUP_OBJECT_NO_REF(component,widget,name) \
g_object_set_data (G_OBJECT (component), name, widget)
GtkWidget*
create_main (void)
{
GtkWidget *main;
GdkPixbuf *main_icon_pixbuf;
GtkWidget *vbox7;
GtkWidget *menubar1;
GtkWidget *menuitem1;
GtkWidget *menuitem1_menu;
GtkWidget *browse_source;
GtkWidget *image50;
GtkWidget *browse_destination;
GtkWidget *image51;
GtkWidget *switch_source_with_destination1;
GtkWidget *image52;
GtkWidget *separator2;
GtkWidget *simulation;
GtkWidget *image53;
GtkWidget *execute;
GtkWidget *image54;
GtkWidget *preferences1;
GtkWidget *separator1;
GtkWidget *quit1;
GtkWidget *menuitem3;
GtkWidget *menuitem3_menu;
GtkWidget *add1;
GtkWidget *delete1;
GtkWidget *import1;
GtkWidget *image55;
GtkWidget *export1;
GtkWidget *image56;
GtkWidget *menuitem4;
GtkWidget *menuitem4_menu;
GtkWidget *about1;
GtkWidget *rsync_info;
GtkWidget *image57;
GtkWidget *vbox2;
GtkWidget *frame1;
GtkWidget *alignment5;
GtkWidget *hbox13;
GtkWidget *combo_session;
GtkWidget *session_add;
GtkWidget *session_del;
GtkWidget *label22;
GtkWidget *frame2;
GtkWidget *alignment6;
GtkWidget *hbox15;
GtkWidget *table3;
GtkWidget *button_browse_source;
GtkWidget *alignment1;
GtkWidget *hbox1;
GtkWidget *image1;
GtkWidget *label2;
GtkWidget *button_browse_dest;
GtkWidget *alignment4;
GtkWidget *hbox14;
GtkWidget *image4;
GtkWidget *label18;
GtkWidget *text_source;
GtkWidget *text_dest;
GtkWidget *button_switch;
GtkWidget *image5;
GtkWidget *label23;
GtkWidget *notebook1;
GtkWidget *table1;
GtkWidget *check_group;
GtkWidget *check_time;
GtkWidget *check_perm;
GtkWidget *check_owner;
GtkWidget *check_onefs;
GtkWidget *check_delete;
GtkWidget *check_verbose;
GtkWidget *check_progr;
GtkWidget *check_exist;
GtkWidget *check_size;
GtkWidget *hseparator2;
GtkWidget *check_skipnew;
GtkWidget *check_windows;
GtkWidget *Basic;
GtkWidget *table2;
GtkWidget *check_sum;
GtkWidget *check_symlink;
GtkWidget *check_dev;
GtkWidget *check_update;
GtkWidget *check_keepart;
GtkWidget *check_mapuser;
GtkWidget *check_compr;
GtkWidget *check_backup;
GtkWidget *label17;
GtkWidget *entry_additional;
GtkWidget *Advanced;
GtkWidget *table5;
GtkWidget *check_com_before;
GtkWidget *entry_com_before;
GtkWidget *check_com_after;
GtkWidget *entry_com_after;
GtkWidget *check_browse_files;
GtkWidget *label28;
GtkWidget *hbuttonbox1;
GtkWidget *cancel;
GtkWidget *dryrun;
GtkWidget *alignment3;
GtkWidget *hbox3;
GtkWidget *image3;
GtkWidget *label7;
GtkWidget *play;
GtkAccelGroup *accel_group;
GtkTooltips *tooltips;
tooltips = gtk_tooltips_new ();
accel_group = gtk_accel_group_new ();
main = gtk_window_new (GTK_WINDOW_TOPLEVEL);
GTK_WIDGET_SET_FLAGS (main, GTK_CAN_FOCUS);
GTK_WIDGET_SET_FLAGS (main, GTK_CAN_DEFAULT);
gtk_window_set_title (GTK_WINDOW (main), _("Grsync"));
main_icon_pixbuf = create_pixbuf ("grsync.png");
if (main_icon_pixbuf)
{
gtk_window_set_icon (GTK_WINDOW (main), main_icon_pixbuf);
gdk_pixbuf_unref (main_icon_pixbuf);
}
vbox7 = gtk_vbox_new (FALSE, 0);
gtk_widget_show (vbox7);
gtk_container_add (GTK_CONTAINER (main), vbox7);
menubar1 = gtk_menu_bar_new ();
gtk_widget_show (menubar1);
gtk_box_pack_start (GTK_BOX (vbox7), menubar1, FALSE, FALSE, 0);
menuitem1 = gtk_menu_item_new_with_mnemonic (_("_File"));
gtk_widget_show (menuitem1);
gtk_container_add (GTK_CONTAINER (menubar1), menuitem1);
menuitem1_menu = gtk_menu_new ();
gtk_menu_item_set_submenu (GTK_MENU_ITEM (menuitem1), menuitem1_menu);
browse_source = gtk_image_menu_item_new_with_mnemonic (_("Browse S_ource"));
gtk_widget_show (browse_source);
gtk_container_add (GTK_CONTAINER (menuitem1_menu), browse_source);
gtk_widget_add_accelerator (browse_source, "activate", accel_group,
GDK_s, (GdkModifierType) GDK_CONTROL_MASK,
GTK_ACCEL_VISIBLE);
image50 = gtk_image_new_from_stock ("gtk-open", GTK_ICON_SIZE_MENU);
gtk_widget_show (image50);
gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (browse_source), image50);
browse_destination = gtk_image_menu_item_new_with_mnemonic (_("Browse _Destination"));
gtk_widget_show (browse_destination);
gtk_container_add (GTK_CONTAINER (menuitem1_menu), browse_destination);
gtk_widget_add_accelerator (browse_destination, "activate", accel_group,
GDK_d, (GdkModifierType) GDK_CONTROL_MASK,
GTK_ACCEL_VISIBLE);
image51 = gtk_image_new_from_stock ("gtk-open", GTK_ICON_SIZE_MENU);
gtk_widget_show (image51);
gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (browse_destination), image51);
switch_source_with_destination1 = gtk_image_menu_item_new_with_mnemonic (_("S_witch source with destination"));
gtk_widget_show (switch_source_with_destination1);
gtk_container_add (GTK_CONTAINER (menuitem1_menu), switch_source_with_destination1);
gtk_widget_add_accelerator (switch_source_with_destination1, "activate", accel_group,
GDK_w, (GdkModifierType) GDK_CONTROL_MASK,
GTK_ACCEL_VISIBLE);
image52 = gtk_image_new_from_stock ("gtk-refresh", GTK_ICON_SIZE_MENU);
gtk_widget_show (image52);
gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (switch_source_with_destination1), image52);
separator2 = gtk_separator_menu_item_new ();
gtk_widget_show (separator2);
gtk_container_add (GTK_CONTAINER (menuitem1_menu), separator2);
gtk_widget_set_sensitive (separator2, FALSE);
simulation = gtk_image_menu_item_new_with_mnemonic (_("_Simulation"));
gtk_widget_show (simulation);
gtk_container_add (GTK_CONTAINER (menuitem1_menu), simulation);
gtk_widget_add_accelerator (simulation, "activate", accel_group,
GDK_s, (GdkModifierType) GDK_MOD1_MASK,
GTK_ACCEL_VISIBLE);
image53 = gtk_image_new_from_stock ("gtk-dialog-info", GTK_ICON_SIZE_MENU);
gtk_widget_show (image53);
gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (simulation), image53);
execute = gtk_image_menu_item_new_with_mnemonic (_("_Execute"));
gtk_widget_show (execute);
gtk_container_add (GTK_CONTAINER (menuitem1_menu), execute);
gtk_widget_add_accelerator (execute, "activate", accel_group,
GDK_e, (GdkModifierType) GDK_MOD1_MASK,
GTK_ACCEL_VISIBLE);
image54 = gtk_image_new_from_stock ("gtk-execute", GTK_ICON_SIZE_MENU);
gtk_widget_show (image54);
gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (execute), image54);
preferences1 = gtk_image_menu_item_new_from_stock ("gtk-preferences", accel_group);
gtk_widget_show (preferences1);
gtk_container_add (GTK_CONTAINER (menuitem1_menu), preferences1);
separator1 = gtk_separator_menu_item_new ();
gtk_widget_show (separator1);
gtk_container_add (GTK_CONTAINER (menuitem1_menu), separator1);
gtk_widget_set_sensitive (separator1, FALSE);
quit1 = gtk_image_menu_item_new_from_stock ("gtk-quit", accel_group);
gtk_widget_show (quit1);
gtk_container_add (GTK_CONTAINER (menuitem1_menu), quit1);
menuitem3 = gtk_menu_item_new_with_mnemonic (_("S_essions"));
gtk_widget_show (menuitem3);
gtk_container_add (GTK_CONTAINER (menubar1), menuitem3);
menuitem3_menu = gtk_menu_new ();
gtk_menu_item_set_submenu (GTK_MENU_ITEM (menuitem3), menuitem3_menu);
add1 = gtk_image_menu_item_new_from_stock ("gtk-add", accel_group);
gtk_widget_show (add1);
gtk_container_add (GTK_CONTAINER (menuitem3_menu), add1);
delete1 = gtk_image_menu_item_new_from_stock ("gtk-delete", accel_group);
gtk_widget_show (delete1);
gtk_container_add (GTK_CONTAINER (menuitem3_menu), delete1);
import1 = gtk_image_menu_item_new_with_mnemonic (_("_Import"));
gtk_widget_show (import1);
gtk_container_add (GTK_CONTAINER (menuitem3_menu), import1);
image55 = gtk_image_new_from_stock ("gtk-open", GTK_ICON_SIZE_MENU);
gtk_widget_show (image55);
gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (import1), image55);
export1 = gtk_image_menu_item_new_with_mnemonic (_("_Export"));
gtk_widget_show (export1);
gtk_container_add (GTK_CONTAINER (menuitem3_menu), export1);
image56 = gtk_image_new_from_stock ("gtk-save", GTK_ICON_SIZE_MENU);
gtk_widget_show (image56);
gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (export1), image56);
menuitem4 = gtk_menu_item_new_with_mnemonic (_("_Help"));
gtk_widget_show (menuitem4);
gtk_container_add (GTK_CONTAINER (menubar1), menuitem4);
menuitem4_menu = gtk_menu_new ();
gtk_menu_item_set_submenu (GTK_MENU_ITEM (menuitem4), menuitem4_menu);
about1 = gtk_image_menu_item_new_from_stock ("gtk-about", accel_group);
gtk_widget_show (about1);
gtk_container_add (GTK_CONTAINER (menuitem4_menu), about1);
rsync_info = gtk_image_menu_item_new_with_mnemonic (_("_Rsync info"));
gtk_widget_show (rsync_info);
gtk_container_add (GTK_CONTAINER (menuitem4_menu), rsync_info);
image57 = gtk_image_new_from_stock ("gtk-info", GTK_ICON_SIZE_MENU);
gtk_widget_show (image57);
gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (rsync_info), image57);
vbox2 = gtk_vbox_new (FALSE, 12);
gtk_widget_show (vbox2);
gtk_box_pack_start (GTK_BOX (vbox7), vbox2, FALSE, TRUE, 0);
gtk_container_set_border_width (GTK_CONTAINER (vbox2), 12);
frame1 = gtk_frame_new (NULL);
gtk_widget_show (frame1);
gtk_box_pack_start (GTK_BOX (vbox2), frame1, FALSE, FALSE, 0);
gtk_frame_set_shadow_type (GTK_FRAME (frame1), GTK_SHADOW_NONE);
alignment5 = gtk_alignment_new (0.5, 0.5, 1, 1);
gtk_widget_show (alignment5);
gtk_container_add (GTK_CONTAINER (frame1), alignment5);
gtk_alignment_set_padding (GTK_ALIGNMENT (alignment5), 0, 0, 12, 0);
hbox13 = gtk_hbox_new (FALSE, 6);
gtk_widget_show (hbox13);
gtk_container_add (GTK_CONTAINER (alignment5), hbox13);
gtk_container_set_border_width (GTK_CONTAINER (hbox13), 6);
combo_session = gtk_combo_box_new_text ();
gtk_widget_show (combo_session);
gtk_box_pack_start (GTK_BOX (hbox13), combo_session, TRUE, TRUE, 0);
session_add = gtk_button_new_from_stock ("gtk-add");
gtk_widget_show (session_add);
gtk_box_pack_start (GTK_BOX (hbox13), session_add, FALSE, TRUE, 0);
gtk_tooltips_set_tip (tooltips, session_add, _("Click to add a new session"), NULL);
session_del = gtk_button_new_from_stock ("gtk-delete");
gtk_widget_show (session_del);
gtk_box_pack_start (GTK_BOX (hbox13), session_del, FALSE, TRUE, 0);
gtk_tooltips_set_tip (tooltips, session_del, _("Click to delete the current session"), NULL);
label22 = gtk_label_new (_("<b>Sessions</b>"));
gtk_widget_show (label22);
gtk_frame_set_label_widget (GTK_FRAME (frame1), label22);
gtk_label_set_use_markup (GTK_LABEL (label22), TRUE);
frame2 = gtk_frame_new (NULL);
gtk_widget_show (frame2);
gtk_box_pack_start (GTK_BOX (vbox2), frame2, FALSE, TRUE, 0);
gtk_frame_set_shadow_type (GTK_FRAME (frame2), GTK_SHADOW_NONE);
alignment6 = gtk_alignment_new (0.5, 0.5, 1, 1);
gtk_widget_show (alignment6);
gtk_container_add (GTK_CONTAINER (frame2), alignment6);
gtk_alignment_set_padding (GTK_ALIGNMENT (alignment6), 0, 0, 12, 0);
hbox15 = gtk_hbox_new (FALSE, 6);
gtk_widget_show (hbox15);
gtk_container_add (GTK_CONTAINER (alignment6), hbox15);
gtk_container_set_border_width (GTK_CONTAINER (hbox15), 6);
table3 = gtk_table_new (2, 2, FALSE);
gtk_widget_show (table3);
gtk_box_pack_start (GTK_BOX (hbox15), table3, TRUE, TRUE, 0);
gtk_table_set_row_spacings (GTK_TABLE (table3), 6);
gtk_table_set_col_spacings (GTK_TABLE (table3), 6);
button_browse_source = gtk_button_new ();
gtk_widget_show (button_browse_source);
gtk_table_attach (GTK_TABLE (table3), button_browse_source, 1, 2, 0, 1,
(GtkAttachOptions) (GTK_FILL),
(GtkAttachOptions) (0), 0, 0);
gtk_tooltips_set_tip (tooltips, button_browse_source, _("Click to open the file browser"), NULL);
alignment1 = gtk_alignment_new (0.5, 0.5, 0, 0);
gtk_widget_show (alignment1);
gtk_container_add (GTK_CONTAINER (button_browse_source), alignment1);
hbox1 = gtk_hbox_new (FALSE, 2);
gtk_widget_show (hbox1);
gtk_container_add (GTK_CONTAINER (alignment1), hbox1);
image1 = gtk_image_new_from_stock ("gtk-open", GTK_ICON_SIZE_BUTTON);
gtk_widget_show (image1);
gtk_box_pack_start (GTK_BOX (hbox1), image1, FALSE, FALSE, 0);
label2 = gtk_label_new_with_mnemonic (_("Browse"));
gtk_widget_show (label2);
gtk_box_pack_start (GTK_BOX (hbox1), label2, FALSE, FALSE, 0);
button_browse_dest = gtk_button_new ();
gtk_widget_show (button_browse_dest);
gtk_table_attach (GTK_TABLE (table3), button_browse_dest, 1, 2, 1, 2,
(GtkAttachOptions) (GTK_FILL),
(GtkAttachOptions) (0), 0, 0);
gtk_tooltips_set_tip (tooltips, button_browse_dest, _("Click to open the file browser"), NULL);
alignment4 = gtk_alignment_new (0.5, 0.5, 0, 0);
gtk_widget_show (alignment4);
gtk_container_add (GTK_CONTAINER (button_browse_dest), alignment4);
hbox14 = gtk_hbox_new (FALSE, 2);
gtk_widget_show (hbox14);
gtk_container_add (GTK_CONTAINER (alignment4), hbox14);
image4 = gtk_image_new_from_stock ("gtk-open", GTK_ICON_SIZE_BUTTON);
gtk_widget_show (image4);
gtk_box_pack_start (GTK_BOX (hbox14), image4, FALSE, FALSE, 0);
label18 = gtk_label_new_with_mnemonic (_("Browse"));
gtk_widget_show (label18);
gtk_box_pack_start (GTK_BOX (hbox14), label18, FALSE, FALSE, 0);
text_source = gtk_entry_new ();
gtk_widget_show (text_source);
gtk_table_attach (GTK_TABLE (table3), text_source, 0, 1, 0, 1,
(GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
(GtkAttachOptions) (0), 0, 0);
gtk_tooltips_set_tip (tooltips, text_source, _("Source directory"), NULL);
gtk_entry_set_max_length (GTK_ENTRY (text_source), 200);
text_dest = gtk_entry_new ();
gtk_widget_show (text_dest);
gtk_table_attach (GTK_TABLE (table3), text_dest, 0, 1, 1, 2,
(GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
(GtkAttachOptions) (0), 0, 0);
gtk_tooltips_set_tip (tooltips, text_dest, _("Destination directory"), NULL);
gtk_entry_set_max_length (GTK_ENTRY (text_dest), 200);
button_switch = gtk_button_new ();
gtk_widget_show (button_switch);
gtk_box_pack_start (GTK_BOX (hbox15), button_switch, FALSE, FALSE, 0);
gtk_tooltips_set_tip (tooltips, button_switch, _("Click here to switch the source with the destination directory"), NULL);
image5 = gtk_image_new_from_stock ("gtk-refresh", GTK_ICON_SIZE_BUTTON);
gtk_widget_show (image5);
gtk_container_add (GTK_CONTAINER (button_switch), image5);
label23 = gtk_label_new (_("<b>Source and Destination</b> <i>(directories need a trailing \"/\")</i>"));
gtk_widget_show (label23);
gtk_frame_set_label_widget (GTK_FRAME (frame2), label23);
gtk_label_set_use_markup (GTK_LABEL (label23), TRUE);
notebook1 = gtk_notebook_new ();
gtk_widget_show (notebook1);
gtk_box_pack_start (GTK_BOX (vbox2), notebook1, FALSE, TRUE, 0);
table1 = gtk_table_new (7, 2, FALSE);
gtk_widget_show (table1);
gtk_container_add (GTK_CONTAINER (notebook1), table1);
gtk_container_set_border_width (GTK_CONTAINER (table1), 5);
gtk_table_set_row_spacings (GTK_TABLE (table1), 6);
gtk_table_set_col_spacings (GTK_TABLE (table1), 6);
check_group = gtk_check_button_new_with_mnemonic (_("Preserve group"));
gtk_widget_show (check_group);
gtk_table_attach (GTK_TABLE (table1), check_group, 1, 2, 1, 2,
(GtkAttachOptions) (GTK_FILL),
(GtkAttachOptions) (0), 0, 0);
check_time = gtk_check_button_new_with_mnemonic (_("Preserve time"));
gtk_widget_show (check_time);
gtk_table_attach (GTK_TABLE (table1), check_time, 0, 1, 0, 1,
(GtkAttachOptions) (GTK_FILL),
(GtkAttachOptions) (0), 0, 0);
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (check_time), TRUE);
check_perm = gtk_check_button_new_with_mnemonic (_("Preserve permissions"));
gtk_widget_show (check_perm);
gtk_table_attach (GTK_TABLE (table1), check_perm, 1, 2, 0, 1,
(GtkAttachOptions) (GTK_FILL),
(GtkAttachOptions) (0), 0, 0);
check_owner = gtk_check_button_new_with_mnemonic (_("Preserve owner"));
gtk_widget_show (check_owner);
gtk_table_attach (GTK_TABLE (table1), check_owner, 0, 1, 1, 2,
(GtkAttachOptions) (GTK_FILL),
(GtkAttachOptions) (0), 0, 0);
check_onefs = gtk_check_button_new_with_mnemonic (_("Do not leave filesystem"));
gtk_widget_show (check_onefs);
gtk_table_attach (GTK_TABLE (table1), check_onefs, 1, 2, 3, 4,
(GtkAttachOptions) (GTK_FILL),
(GtkAttachOptions) (0), 0, 0);
gtk_tooltips_set_tip (tooltips, check_onefs, _("Do not cross filesystem boundaries"), NULL);
check_delete = gtk_check_button_new_with_mnemonic (_("Delete on destination"));
gtk_widget_show (check_delete);
gtk_table_attach (GTK_TABLE (table1), check_delete, 0, 1, 3, 4,
(GtkAttachOptions) (GTK_FILL),
(GtkAttachOptions) (0), 0, 0);
gtk_tooltips_set_tip (tooltips, check_delete, _("Delete files in destination which are not present in the source"), NULL);
check_verbose = gtk_check_button_new_with_mnemonic (_("Verbose"));
gtk_widget_show (check_verbose);
gtk_table_attach (GTK_TABLE (table1), check_verbose, 0, 1, 4, 5,
(GtkAttachOptions) (GTK_FILL),
(GtkAttachOptions) (0), 0, 0);
gtk_tooltips_set_tip (tooltips, check_verbose, _("Show more information"), NULL);
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (check_verbose), TRUE);
check_progr = gtk_check_button_new_with_mnemonic (_("Show transfer progress"));
gtk_widget_show (check_progr);
gtk_table_attach (GTK_TABLE (table1), check_progr, 1, 2, 4, 5,
(GtkAttachOptions) (GTK_FILL),
(GtkAttachOptions) (0), 0, 0);
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (check_progr), TRUE);
check_exist = gtk_check_button_new_with_mnemonic (_("Ignore existing"));
gtk_widget_show (check_exist);
gtk_table_attach (GTK_TABLE (table1), check_exist, 0, 1, 5, 6,
(GtkAttachOptions) (GTK_FILL),
(GtkAttachOptions) (0), 0, 0);
gtk_tooltips_set_tip (tooltips, check_exist, _("Ignore files which already exist in the destination"), NULL);
check_size = gtk_check_button_new_with_mnemonic (_("Size only"));
gtk_widget_show (check_size);
gtk_table_attach (GTK_TABLE (table1), check_size, 1, 2, 5, 6,
(GtkAttachOptions) (GTK_FILL),
(GtkAttachOptions) (0), 0, 0);
gtk_tooltips_set_tip (tooltips, check_size, _("Check size only, ignore time and checksum"), NULL);
hseparator2 = gtk_hseparator_new ();
gtk_widget_show (hseparator2);
gtk_table_attach (GTK_TABLE (table1), hseparator2, 0, 2, 2, 3,
(GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
(GtkAttachOptions) (GTK_FILL), 0, 0);
gtk_widget_set_size_request (hseparator2, -1, 10);
check_skipnew = gtk_check_button_new_with_mnemonic (_("Skip newer"));
gtk_widget_show (check_skipnew);
gtk_table_attach (GTK_TABLE (table1), check_skipnew, 0, 1, 6, 7,
(GtkAttachOptions) (GTK_FILL),
(GtkAttachOptions) (0), 0, 0);
gtk_tooltips_set_tip (tooltips, check_skipnew, _("Do not update newer files"), NULL);
check_windows = gtk_check_button_new_with_mnemonic (_("Windows compatibility"));
gtk_widget_show (check_windows);
gtk_table_attach (GTK_TABLE (table1), check_windows, 1, 2, 6, 7,
(GtkAttachOptions) (GTK_FILL),
(GtkAttachOptions) (0), 0, 0);
gtk_tooltips_set_tip (tooltips, check_windows, _("Provides workaround for a windows FAT filesystem limitation"), NULL);
Basic = gtk_label_new (_("Basic options"));
gtk_widget_show (Basic);
gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook1), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook1), 0), Basic);
table2 = gtk_table_new (6, 2, FALSE);
gtk_widget_show (table2);
gtk_container_add (GTK_CONTAINER (notebook1), table2);
gtk_container_set_border_width (GTK_CONTAINER (table2), 5);
gtk_table_set_row_spacings (GTK_TABLE (table2), 6);
gtk_table_set_col_spacings (GTK_TABLE (table2), 6);
check_sum = gtk_check_button_new_with_mnemonic (_("Always checksum"));
gtk_widget_show (check_sum);
gtk_table_attach (GTK_TABLE (table2), check_sum, 0, 1, 0, 1,
(GtkAttachOptions) (GTK_FILL),
(GtkAttachOptions) (0), 0, 0);
gtk_tooltips_set_tip (tooltips, check_sum, _("Always compare file contents (by checksum)"), NULL);
check_symlink = gtk_check_button_new_with_mnemonic (_("Copy symlinks as symlinks"));
gtk_widget_show (check_symlink);
gtk_table_attach (GTK_TABLE (table2), check_symlink, 1, 2, 0, 1,
(GtkAttachOptions) (GTK_FILL),
(GtkAttachOptions) (0), 0, 0);
gtk_tooltips_set_tip (tooltips, check_symlink, _("Symbolic links are copied as such, do not copy link target file"), NULL);
check_dev = gtk_check_button_new_with_mnemonic (_("Preserve devices"));
gtk_widget_show (check_dev);
gtk_table_attach (GTK_TABLE (table2), check_dev, 0, 1, 1, 2,
(GtkAttachOptions) (GTK_FILL),
(GtkAttachOptions) (0), 0, 0);
check_update = gtk_check_button_new_with_mnemonic (_("Only update existing files"));
gtk_widget_show (check_update);
gtk_table_attach (GTK_TABLE (table2), check_update, 1, 2, 1, 2,
(GtkAttachOptions) (GTK_FILL),
(GtkAttachOptions) (0), 0, 0);
check_keepart = gtk_check_button_new_with_mnemonic (_("Keep partially transferred files"));
gtk_widget_show (check_keepart);
gtk_table_attach (GTK_TABLE (table2), check_keepart, 0, 1, 2, 3,
(GtkAttachOptions) (GTK_FILL),
(GtkAttachOptions) (0), 0, 0);
check_mapuser = gtk_check_button_new_with_mnemonic (_("Don't map uid/gid values"));
gtk_widget_show (check_mapuser);
gtk_table_attach (GTK_TABLE (table2), check_mapuser, 1, 2, 2, 3,
(GtkAttachOptions) (GTK_FILL),
(GtkAttachOptions) (0), 0, 0);
gtk_tooltips_set_tip (tooltips, check_mapuser, _("Keep numeric uid/gid instead of mapping user names and group names"), NULL);
check_compr = gtk_check_button_new_with_mnemonic (_("Compress file data"));
gtk_widget_show (check_compr);
gtk_table_attach (GTK_TABLE (table2), check_compr, 0, 1, 3, 4,
(GtkAttachOptions) (GTK_FILL),
(GtkAttachOptions) (0), 0, 0);
gtk_tooltips_set_tip (tooltips, check_compr, _("Compress file data when transferring"), NULL);
check_backup = gtk_check_button_new_with_mnemonic (_("Make backups"));
gtk_widget_show (check_backup);
gtk_table_attach (GTK_TABLE (table2), check_backup, 1, 2, 3, 4,
(GtkAttachOptions) (GTK_FILL),
(GtkAttachOptions) (0), 0, 0);
gtk_tooltips_set_tip (tooltips, check_backup, _("Make backups of existing files on the destination"), NULL);
label17 = gtk_label_new (_("<b>Additional options</b>:"));
gtk_widget_show (label17);
gtk_table_attach (GTK_TABLE (table2), label17, 0, 2, 4, 5,
(GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
(GtkAttachOptions) (0), 0, 0);
gtk_label_set_use_markup (GTK_LABEL (label17), TRUE);
gtk_misc_set_alignment (GTK_MISC (label17), 0, 0.5);
entry_additional = gtk_entry_new ();
gtk_widget_show (entry_additional);
gtk_table_attach (GTK_TABLE (table2), entry_additional, 0, 2, 5, 6,
(GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
(GtkAttachOptions) (0), 0, 0);
gtk_tooltips_set_tip (tooltips, entry_additional, _("Additional command line options to pass to the rsync program"), NULL);
gtk_entry_set_max_length (GTK_ENTRY (entry_additional), 200);
Advanced = gtk_label_new (_("Advanced options"));
gtk_widget_show (Advanced);
gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook1), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook1), 1), Advanced);
table5 = gtk_table_new (5, 2, FALSE);
gtk_widget_show (table5);
gtk_container_add (GTK_CONTAINER (notebook1), table5);
gtk_container_set_border_width (GTK_CONTAINER (table5), 5);
gtk_table_set_row_spacings (GTK_TABLE (table5), 6);
gtk_table_set_col_spacings (GTK_TABLE (table5), 6);
check_com_before = gtk_check_button_new_with_mnemonic (_("Execute this command before rsync:"));
gtk_widget_show (check_com_before);
gtk_table_attach (GTK_TABLE (table5), check_com_before, 0, 2, 0, 1,
(GtkAttachOptions) (GTK_FILL),
(GtkAttachOptions) (0), 0, 0);
gtk_tooltips_set_tip (tooltips, check_com_before, _("Click on this item if you want to run a command before syncing. Can be useful, for instance, to mount a filesystem before starting or to do some cleanup."), NULL);
entry_com_before = gtk_entry_new ();
gtk_widget_show (entry_com_before);
gtk_table_attach (GTK_TABLE (table5), entry_com_before, 0, 2, 1, 2,
(GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
(GtkAttachOptions) (0), 0, 0);
gtk_entry_set_max_length (GTK_ENTRY (entry_com_before), 200);
check_com_after = gtk_check_button_new_with_mnemonic (_("Execute this command after rsync:"));
gtk_widget_show (check_com_after);
gtk_table_attach (GTK_TABLE (table5), check_com_after, 0, 2, 2, 3,
(GtkAttachOptions) (GTK_FILL),
(GtkAttachOptions) (0), 0, 0);
gtk_tooltips_set_tip (tooltips, check_com_after, _("Click on this item if you want to run a command after syncing. Can be useful, for instance, to unmount a filesystem at the end or to do some cleanup."), NULL);
entry_com_after = gtk_entry_new ();
gtk_widget_show (entry_com_after);
gtk_table_attach (GTK_TABLE (table5), entry_com_after, 0, 2, 3, 4,
(GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
(GtkAttachOptions) (0), 0, 0);
gtk_entry_set_max_length (GTK_ENTRY (entry_com_after), 200);
check_browse_files = gtk_check_button_new_with_mnemonic (_("Browse files instead of folders"));
gtk_widget_show (check_browse_files);
gtk_table_attach (GTK_TABLE (table5), check_browse_files, 0, 2, 4, 5,
(GtkAttachOptions) (GTK_FILL),
(GtkAttachOptions) (0), 0, 0);
gtk_tooltips_set_tip (tooltips, check_browse_files, _("By setting this switch, the browse source and destination buttons will open a dialog for selecting files instead of folders"), NULL);
label28 = gtk_label_new (_("Extra options"));
gtk_widget_show (label28);
gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook1), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook1), 2), label28);
hbuttonbox1 = gtk_hbutton_box_new ();
gtk_widget_show (hbuttonbox1);
gtk_box_pack_start (GTK_BOX (vbox2), hbuttonbox1, FALSE, TRUE, 6);
gtk_button_box_set_layout (GTK_BUTTON_BOX (hbuttonbox1), GTK_BUTTONBOX_END);
gtk_box_set_spacing (GTK_BOX (hbuttonbox1), 6);
cancel = gtk_button_new_from_stock ("gtk-quit");
gtk_widget_show (cancel);
gtk_container_add (GTK_CONTAINER (hbuttonbox1), cancel);
dryrun = gtk_button_new ();
gtk_widget_show (dryrun);
gtk_container_add (GTK_CONTAINER (hbuttonbox1), dryrun);
gtk_tooltips_set_tip (tooltips, dryrun, _("Show what would have been done, but actually do nothing (\"dry-run\" in rsync language)"), NULL);
alignment3 = gtk_alignment_new (0.5, 0.5, 0, 0);
gtk_widget_show (alignment3);
gtk_container_add (GTK_CONTAINER (dryrun), alignment3);
hbox3 = gtk_hbox_new (FALSE, 2);
gtk_widget_show (hbox3);
gtk_container_add (GTK_CONTAINER (alignment3), hbox3);
image3 = gtk_image_new_from_stock ("gtk-dialog-info", GTK_ICON_SIZE_BUTTON);
gtk_widget_show (image3);
gtk_box_pack_start (GTK_BOX (hbox3), image3, FALSE, FALSE, 0);
label7 = gtk_label_new_with_mnemonic (_("_Simulation"));
gtk_widget_show (label7);
gtk_box_pack_start (GTK_BOX (hbox3), label7, FALSE, FALSE, 0);
play = gtk_button_new_from_stock ("gtk-execute");
gtk_widget_show (play);
gtk_container_add (GTK_CONTAINER (hbuttonbox1), play);
gtk_tooltips_set_tip (tooltips, play, _("Make a full run (go!)"), NULL);
g_signal_connect ((gpointer) main, "destroy",
G_CALLBACK (on_main_destroy),
NULL);
g_signal_connect ((gpointer) main, "show",
G_CALLBACK (on_main_create),
NULL);
g_signal_connect ((gpointer) browse_source, "activate",
G_CALLBACK (show_browse_source),
NULL);
g_signal_connect ((gpointer) browse_destination, "activate",
G_CALLBACK (show_browse_dest),
NULL);
g_signal_connect ((gpointer) switch_source_with_destination1, "activate",
G_CALLBACK (on_button_switch_clicked),
NULL);
g_signal_connect ((gpointer) simulation, "activate",
G_CALLBACK (on_dryrun_clicked),
NULL);
g_signal_connect ((gpointer) execute, "activate",
G_CALLBACK (on_play_clicked),
NULL);
g_signal_connect ((gpointer) preferences1, "activate",
G_CALLBACK (on_preferences1_activate),
NULL);
g_signal_connect ((gpointer) quit1, "activate",
G_CALLBACK (on_main_destroy),
NULL);
g_signal_connect ((gpointer) add1, "activate",
G_CALLBACK (on_session_add_clicked),
NULL);
g_signal_connect ((gpointer) delete1, "activate",
G_CALLBACK (on_session_del_clicked),
NULL);
g_signal_connect ((gpointer) import1, "activate",
G_CALLBACK (on_import1_activate),
NULL);
g_signal_connect ((gpointer) export1, "activate",
G_CALLBACK (on_export1_activate),
NULL);
g_signal_connect ((gpointer) about1, "activate",
G_CALLBACK (on_button_about_clicked),
NULL);
g_signal_connect ((gpointer) rsync_info, "activate",
G_CALLBACK (on_rsync_info_activate),
NULL);
g_signal_connect ((gpointer) combo_session, "changed",
G_CALLBACK (on_combo_session_changed),
NULL);
g_signal_connect ((gpointer) session_add, "clicked",
G_CALLBACK (on_session_add_clicked),
NULL);
g_signal_connect ((gpointer) session_del, "clicked",
G_CALLBACK (on_session_del_clicked),
NULL);
g_signal_connect ((gpointer) button_browse_source, "clicked",
G_CALLBACK (show_browse_source),
NULL);
g_signal_connect ((gpointer) button_browse_dest, "clicked",
G_CALLBACK (show_browse_dest),
NULL);
g_signal_connect ((gpointer) button_switch, "clicked",
G_CALLBACK (on_button_switch_clicked),
NULL);
g_signal_connect ((gpointer) cancel, "clicked",
G_CALLBACK (on_main_destroy),
NULL);
g_signal_connect ((gpointer) dryrun, "clicked",
G_CALLBACK (on_dryrun_clicked),
NULL);
g_signal_connect ((gpointer) play, "clicked",
G_CALLBACK (on_play_clicked),
NULL);
/* Store pointers to all widgets, for use by lookup_widget(). */
GLADE_HOOKUP_OBJECT_NO_REF (main, main, "main");
GLADE_HOOKUP_OBJECT (main, vbox7, "vbox7");
GLADE_HOOKUP_OBJECT (main, menubar1, "menubar1");
GLADE_HOOKUP_OBJECT (main, menuitem1, "menuitem1");
GLADE_HOOKUP_OBJECT (main, menuitem1_menu, "menuitem1_menu");
GLADE_HOOKUP_OBJECT (main, browse_source, "browse_source");
GLADE_HOOKUP_OBJECT (main, image50, "image50");
GLADE_HOOKUP_OBJECT (main, browse_destination, "browse_destination");
GLADE_HOOKUP_OBJECT (main, image51, "image51");
GLADE_HOOKUP_OBJECT (main, switch_source_with_destination1, "switch_source_with_destination1");
GLADE_HOOKUP_OBJECT (main, image52, "image52");
GLADE_HOOKUP_OBJECT (main, separator2, "separator2");
GLADE_HOOKUP_OBJECT (main, simulation, "simulation");
GLADE_HOOKUP_OBJECT (main, image53, "image53");
GLADE_HOOKUP_OBJECT (main, execute, "execute");
GLADE_HOOKUP_OBJECT (main, image54, "image54");
GLADE_HOOKUP_OBJECT (main, preferences1, "preferences1");
GLADE_HOOKUP_OBJECT (main, separator1, "separator1");
GLADE_HOOKUP_OBJECT (main, quit1, "quit1");
GLADE_HOOKUP_OBJECT (main, menuitem3, "menuitem3");
GLADE_HOOKUP_OBJECT (main, menuitem3_menu, "menuitem3_menu");
GLADE_HOOKUP_OBJECT (main, add1, "add1");
GLADE_HOOKUP_OBJECT (main, delete1, "delete1");
GLADE_HOOKUP_OBJECT (main, import1, "import1");
GLADE_HOOKUP_OBJECT (main, image55, "image55");
GLADE_HOOKUP_OBJECT (main, export1, "export1");
GLADE_HOOKUP_OBJECT (main, image56, "image56");
GLADE_HOOKUP_OBJECT (main, menuitem4, "menuitem4");
GLADE_HOOKUP_OBJECT (main, menuitem4_menu, "menuitem4_menu");
GLADE_HOOKUP_OBJECT (main, about1, "about1");
GLADE_HOOKUP_OBJECT (main, rsync_info, "rsync_info");
GLADE_HOOKUP_OBJECT (main, image57, "image57");
GLADE_HOOKUP_OBJECT (main, vbox2, "vbox2");
GLADE_HOOKUP_OBJECT (main, frame1, "frame1");
GLADE_HOOKUP_OBJECT (main, alignment5, "alignment5");
GLADE_HOOKUP_OBJECT (main, hbox13, "hbox13");
GLADE_HOOKUP_OBJECT (main, combo_session, "combo_session");
GLADE_HOOKUP_OBJECT (main, session_add, "session_add");
GLADE_HOOKUP_OBJECT (main, session_del, "session_del");
GLADE_HOOKUP_OBJECT (main, label22, "label22");
GLADE_HOOKUP_OBJECT (main, frame2, "frame2");
GLADE_HOOKUP_OBJECT (main, alignment6, "alignment6");
GLADE_HOOKUP_OBJECT (main, hbox15, "hbox15");
GLADE_HOOKUP_OBJECT (main, table3, "table3");
GLADE_HOOKUP_OBJECT (main, button_browse_source, "button_browse_source");
GLADE_HOOKUP_OBJECT (main, alignment1, "alignment1");
GLADE_HOOKUP_OBJECT (main, hbox1, "hbox1");
GLADE_HOOKUP_OBJECT (main, image1, "image1");
GLADE_HOOKUP_OBJECT (main, label2, "label2");
GLADE_HOOKUP_OBJECT (main, button_browse_dest, "button_browse_dest");
GLADE_HOOKUP_OBJECT (main, alignment4, "alignment4");
GLADE_HOOKUP_OBJECT (main, hbox14, "hbox14");
GLADE_HOOKUP_OBJECT (main, image4, "image4");
GLADE_HOOKUP_OBJECT (main, label18, "label18");
GLADE_HOOKUP_OBJECT (main, text_source, "text_source");
GLADE_HOOKUP_OBJECT (main, text_dest, "text_dest");
GLADE_HOOKUP_OBJECT (main, button_switch, "button_switch");
GLADE_HOOKUP_OBJECT (main, image5, "image5");
GLADE_HOOKUP_OBJECT (main, label23, "label23");
GLADE_HOOKUP_OBJECT (main, notebook1, "notebook1");
GLADE_HOOKUP_OBJECT (main, table1, "table1");
GLADE_HOOKUP_OBJECT (main, check_group, "check_group");
GLADE_HOOKUP_OBJECT (main, check_time, "check_time");
GLADE_HOOKUP_OBJECT (main, check_perm, "check_perm");
GLADE_HOOKUP_OBJECT (main, check_owner, "check_owner");
GLADE_HOOKUP_OBJECT (main, check_onefs, "check_onefs");
GLADE_HOOKUP_OBJECT (main, check_delete, "check_delete");
GLADE_HOOKUP_OBJECT (main, check_verbose, "check_verbose");
GLADE_HOOKUP_OBJECT (main, check_progr, "check_progr");
GLADE_HOOKUP_OBJECT (main, check_exist, "check_exist");
GLADE_HOOKUP_OBJECT (main, check_size, "check_size");
GLADE_HOOKUP_OBJECT (main, hseparator2, "hseparator2");
GLADE_HOOKUP_OBJECT (main, check_skipnew, "check_skipnew");
GLADE_HOOKUP_OBJECT (main, check_windows, "check_windows");
GLADE_HOOKUP_OBJECT (main, Basic, "Basic");
GLADE_HOOKUP_OBJECT (main, table2, "table2");
GLADE_HOOKUP_OBJECT (main, check_sum, "check_sum");
GLADE_HOOKUP_OBJECT (main, check_symlink, "check_symlink");
GLADE_HOOKUP_OBJECT (main, check_dev, "check_dev");
GLADE_HOOKUP_OBJECT (main, check_update, "check_update");
GLADE_HOOKUP_OBJECT (main, check_keepart, "check_keepart");
GLADE_HOOKUP_OBJECT (main, check_mapuser, "check_mapuser");
GLADE_HOOKUP_OBJECT (main, check_compr, "check_compr");
GLADE_HOOKUP_OBJECT (main, check_backup, "check_backup");
GLADE_HOOKUP_OBJECT (main, label17, "label17");
GLADE_HOOKUP_OBJECT (main, entry_additional, "entry_additional");
GLADE_HOOKUP_OBJECT (main, Advanced, "Advanced");
GLADE_HOOKUP_OBJECT (main, table5, "table5");
GLADE_HOOKUP_OBJECT (main, check_com_before, "check_com_before");
GLADE_HOOKUP_OBJECT (main, entry_com_before, "entry_com_before");
GLADE_HOOKUP_OBJECT (main, check_com_after, "check_com_after");
GLADE_HOOKUP_OBJECT (main, entry_com_after, "entry_com_after");
GLADE_HOOKUP_OBJECT (main, check_browse_files, "check_browse_files");
GLADE_HOOKUP_OBJECT (main, label28, "label28");
GLADE_HOOKUP_OBJECT (main, hbuttonbox1, "hbuttonbox1");
GLADE_HOOKUP_OBJECT (main, cancel, "cancel");
GLADE_HOOKUP_OBJECT (main, dryrun, "dryrun");
GLADE_HOOKUP_OBJECT (main, alignment3, "alignment3");
GLADE_HOOKUP_OBJECT (main, hbox3, "hbox3");
GLADE_HOOKUP_OBJECT (main, image3, "image3");
GLADE_HOOKUP_OBJECT (main, label7, "label7");
GLADE_HOOKUP_OBJECT (main, play, "play");
GLADE_HOOKUP_OBJECT_NO_REF (main, tooltips, "tooltips");
gtk_widget_grab_focus (main);
gtk_widget_grab_default (main);
gtk_window_add_accel_group (GTK_WINDOW (main), accel_group);
return main;
}
GtkWidget*
create_dialog_new_session (void)
{
GtkWidget *dialog_new_session;
GtkWidget *dialog_vbox1;
GtkWidget *label27;
GtkWidget *entry_session_name;
GtkWidget *dialog_action_area1;
GtkWidget *cancelbutton1;
GtkWidget *okbutton1;
GtkTooltips *tooltips;
tooltips = gtk_tooltips_new ();
dialog_new_session = gtk_dialog_new ();
gtk_container_set_border_width (GTK_CONTAINER (dialog_new_session), 12);
gtk_window_set_title (GTK_WINDOW (dialog_new_session), _("Add session"));
gtk_window_set_modal (GTK_WINDOW (dialog_new_session), TRUE);
gtk_window_set_resizable (GTK_WINDOW (dialog_new_session), FALSE);
gtk_window_set_skip_taskbar_hint (GTK_WINDOW (dialog_new_session), TRUE);
gtk_window_set_skip_pager_hint (GTK_WINDOW (dialog_new_session), TRUE);
gtk_window_set_type_hint (GTK_WINDOW (dialog_new_session), GDK_WINDOW_TYPE_HINT_DIALOG);
gtk_dialog_set_has_separator (GTK_DIALOG (dialog_new_session), FALSE);
dialog_vbox1 = GTK_DIALOG (dialog_new_session)->vbox;
gtk_widget_show (dialog_vbox1);
label27 = gtk_label_new (_("Enter session name you want to create:"));
gtk_widget_show (label27);
gtk_box_pack_start (GTK_BOX (dialog_vbox1), label27, FALSE, FALSE, 0);
entry_session_name = gtk_entry_new ();
gtk_widget_show (entry_session_name);
gtk_box_pack_start (GTK_BOX (dialog_vbox1), entry_session_name, FALSE, FALSE, 0);
gtk_widget_set_size_request (entry_session_name, 200, -1);
gtk_tooltips_set_tip (tooltips, entry_session_name, _("Enter the name of the new session to create"), NULL);
gtk_entry_set_max_length (GTK_ENTRY (entry_session_name), 50);
gtk_entry_set_activates_default (GTK_ENTRY (entry_session_name), TRUE);
dialog_action_area1 = GTK_DIALOG (dialog_new_session)->action_area;
gtk_widget_show (dialog_action_area1);
gtk_button_box_set_layout (GTK_BUTTON_BOX (dialog_action_area1), GTK_BUTTONBOX_END);
cancelbutton1 = gtk_button_new_from_stock ("gtk-cancel");
gtk_widget_show (cancelbutton1);
gtk_dialog_add_action_widget (GTK_DIALOG (dialog_new_session), cancelbutton1, GTK_RESPONSE_CANCEL);
GTK_WIDGET_SET_FLAGS (cancelbutton1, GTK_CAN_DEFAULT);
okbutton1 = gtk_button_new_from_stock ("gtk-ok");
gtk_widget_show (okbutton1);
gtk_dialog_add_action_widget (GTK_DIALOG (dialog_new_session), okbutton1, GTK_RESPONSE_OK);
GTK_WIDGET_SET_FLAGS (okbutton1, GTK_CAN_DEFAULT);
/* Store pointers to all widgets, for use by lookup_widget(). */
GLADE_HOOKUP_OBJECT_NO_REF (dialog_new_session, dialog_new_session, "dialog_new_session");
GLADE_HOOKUP_OBJECT_NO_REF (dialog_new_session, dialog_vbox1, "dialog_vbox1");
GLADE_HOOKUP_OBJECT (dialog_new_session, label27, "label27");
GLADE_HOOKUP_OBJECT (dialog_new_session, entry_session_name, "entry_session_name");
GLADE_HOOKUP_OBJECT_NO_REF (dialog_new_session, dialog_action_area1, "dialog_action_area1");
GLADE_HOOKUP_OBJECT (dialog_new_session, cancelbutton1, "cancelbutton1");
GLADE_HOOKUP_OBJECT (dialog_new_session, okbutton1, "okbutton1");
GLADE_HOOKUP_OBJECT_NO_REF (dialog_new_session, tooltips, "tooltips");
gtk_widget_grab_default (okbutton1);
return dialog_new_session;
}
GtkWidget*
create_dialog_config (void)
{
GtkWidget *dialog_config;
GtkWidget *dialog_vbox2;
GtkWidget *table4;
GtkWidget *check_output;
GtkWidget *check_remember;
GtkWidget *check_errorlist;
GtkWidget *check_log;
GtkWidget *entry_command;
GtkWidget *label20;
GtkWidget *dialog_action_area2;
GtkWidget *cancelbutton2;
GtkWidget *okbutton2;
GtkTooltips *tooltips;
tooltips = gtk_tooltips_new ();
dialog_config = gtk_dialog_new ();
gtk_container_set_border_width (GTK_CONTAINER (dialog_config), 12);
gtk_window_set_title (GTK_WINDOW (dialog_config), _("Grsync preferences"));
gtk_window_set_modal (GTK_WINDOW (dialog_config), TRUE);
gtk_window_set_skip_taskbar_hint (GTK_WINDOW (dialog_config), TRUE);
gtk_window_set_skip_pager_hint (GTK_WINDOW (dialog_config), TRUE);
gtk_window_set_type_hint (GTK_WINDOW (dialog_config), GDK_WINDOW_TYPE_HINT_DIALOG);
gtk_dialog_set_has_separator (GTK_DIALOG (dialog_config), FALSE);
dialog_vbox2 = GTK_DIALOG (dialog_config)->vbox;
gtk_widget_show (dialog_vbox2);
table4 = gtk_table_new (4, 2, FALSE);
gtk_widget_show (table4);
gtk_box_pack_start (GTK_BOX (dialog_vbox2), table4, TRUE, TRUE, 0);
gtk_table_set_row_spacings (GTK_TABLE (table4), 6);
gtk_table_set_col_spacings (GTK_TABLE (table4), 12);
check_output = gtk_check_button_new_with_mnemonic (_("Show rsync output by default"));
gtk_widget_show (check_output);
gtk_table_attach (GTK_TABLE (table4), check_output, 0, 1, 2, 3,
(GtkAttachOptions) (GTK_FILL),
(GtkAttachOptions) (0), 0, 0);
gtk_tooltips_set_tip (tooltips, check_output, _("Wether to show rsync output by default or hide it (show graphical information only)"), NULL);
check_remember = gtk_check_button_new_with_mnemonic (_("Remember last used session"));
gtk_widget_show (check_remember);
gtk_table_attach (GTK_TABLE (table4), check_remember, 1, 2, 2, 3,
(GtkAttachOptions) (GTK_FILL),
(GtkAttachOptions) (0), 0, 0);
gtk_tooltips_set_tip (tooltips, check_remember, _("Whether to load the last used session at startup or use the default one"), NULL);
check_errorlist = gtk_check_button_new_with_mnemonic (_("Show error list when finished"));
gtk_widget_show (check_errorlist);
gtk_table_attach (GTK_TABLE (table4), check_errorlist, 0, 1, 3, 4,
(GtkAttachOptions) (GTK_FILL),
(GtkAttachOptions) (0), 0, 0);
gtk_tooltips_set_tip (tooltips, check_errorlist, _("When rsync has finished, show all the errors encountered in a separate window"), NULL);
check_log = gtk_check_button_new_with_mnemonic (_("Enable logging"));
gtk_widget_show (check_log);
gtk_table_attach (GTK_TABLE (table4), check_log, 1, 2, 3, 4,
(GtkAttachOptions) (GTK_FILL),
(GtkAttachOptions) (0), 0, 0);
gtk_tooltips_set_tip (tooltips, check_log, _("Whether to save rsync output to a log file, named like the session, which will be located in the grsync directory (usually \".grsync\" into your user home)"), NULL);
entry_command = gtk_entry_new ();
gtk_widget_show (entry_command);
gtk_table_attach (GTK_TABLE (table4), entry_command, 0, 2, 1, 2,
(GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
(GtkAttachOptions) (0), 0, 0);
gtk_tooltips_set_tip (tooltips, entry_command, _("Enter the rsync command to use, eventually including its full path"), NULL);
gtk_entry_set_max_length (GTK_ENTRY (entry_command), 200);
gtk_entry_set_activates_default (GTK_ENTRY (entry_command), TRUE);
label20 = gtk_label_new (_("Rsync executable:"));
gtk_widget_show (label20);
gtk_table_attach (GTK_TABLE (table4), label20, 0, 2, 0, 1,
(GtkAttachOptions) (GTK_FILL),
(GtkAttachOptions) (0), 0, 0);
gtk_misc_set_alignment (GTK_MISC (label20), 0, 0);
dialog_action_area2 = GTK_DIALOG (dialog_config)->action_area;
gtk_widget_show (dialog_action_area2);
gtk_button_box_set_layout (GTK_BUTTON_BOX (dialog_action_area2), GTK_BUTTONBOX_END);
cancelbutton2 = gtk_button_new_from_stock ("gtk-cancel");
gtk_widget_show (cancelbutton2);
gtk_dialog_add_action_widget (GTK_DIALOG (dialog_config), cancelbutton2, GTK_RESPONSE_CANCEL);
GTK_WIDGET_SET_FLAGS (cancelbutton2, GTK_CAN_DEFAULT);
okbutton2 = gtk_button_new_from_stock ("gtk-ok");
gtk_widget_show (okbutton2);
gtk_dialog_add_action_widget (GTK_DIALOG (dialog_config), okbutton2, GTK_RESPONSE_OK);
GTK_WIDGET_SET_FLAGS (okbutton2, GTK_CAN_DEFAULT);
/* Store pointers to all widgets, for use by lookup_widget(). */
GLADE_HOOKUP_OBJECT_NO_REF (dialog_config, dialog_config, "dialog_config");
GLADE_HOOKUP_OBJECT_NO_REF (dialog_config, dialog_vbox2, "dialog_vbox2");
GLADE_HOOKUP_OBJECT (dialog_config, table4, "table4");
GLADE_HOOKUP_OBJECT (dialog_config, check_output, "check_output");
GLADE_HOOKUP_OBJECT (dialog_config, check_remember, "check_remember");
GLADE_HOOKUP_OBJECT (dialog_config, check_errorlist, "check_errorlist");
GLADE_HOOKUP_OBJECT (dialog_config, check_log, "check_log");
GLADE_HOOKUP_OBJECT (dialog_config, entry_command, "entry_command");
GLADE_HOOKUP_OBJECT (dialog_config, label20, "label20");
GLADE_HOOKUP_OBJECT_NO_REF (dialog_config, dialog_action_area2, "dialog_action_area2");
GLADE_HOOKUP_OBJECT (dialog_config, cancelbutton2, "cancelbutton2");
GLADE_HOOKUP_OBJECT (dialog_config, okbutton2, "okbutton2");
GLADE_HOOKUP_OBJECT_NO_REF (dialog_config, tooltips, "tooltips");
gtk_widget_grab_default (okbutton2);
return dialog_config;
}
GtkWidget*
create_dialog_errors (void)
{
GtkWidget *dialog_errors;
GtkWidget *dialog_vbox3;
GtkWidget *vbox10;
GtkWidget *label1;
GtkWidget *scrolledwindow4;
GtkWidget *textview_errors;
GtkWidget *dialog_action_area3;
GtkWidget *closebutton1;
dialog_errors = gtk_dialog_new ();
gtk_window_set_title (GTK_WINDOW (dialog_errors), _("Errors list"));
gtk_window_set_modal (GTK_WINDOW (dialog_errors), TRUE);
gtk_window_set_skip_taskbar_hint (GTK_WINDOW (dialog_errors), TRUE);
gtk_window_set_skip_pager_hint (GTK_WINDOW (dialog_errors), TRUE);
gtk_window_set_type_hint (GTK_WINDOW (dialog_errors), GDK_WINDOW_TYPE_HINT_DIALOG);
gtk_dialog_set_has_separator (GTK_DIALOG (dialog_errors), FALSE);
dialog_vbox3 = GTK_DIALOG (dialog_errors)->vbox;
gtk_widget_show (dialog_vbox3);
vbox10 = gtk_vbox_new (FALSE, 12);
gtk_widget_show (vbox10);
gtk_box_pack_start (GTK_BOX (dialog_vbox3), vbox10, TRUE, TRUE, 0);
gtk_container_set_border_width (GTK_CONTAINER (vbox10), 12);
label1 = gtk_label_new (_("Error list of last rsync run:"));
gtk_widget_show (label1);
gtk_box_pack_start (GTK_BOX (vbox10), label1, FALSE, FALSE, 0);
scrolledwindow4 = gtk_scrolled_window_new (NULL, NULL);
gtk_widget_show (scrolledwindow4);
gtk_box_pack_start (GTK_BOX (vbox10), scrolledwindow4, TRUE, TRUE, 0);
gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrolledwindow4), GTK_SHADOW_IN);
textview_errors = gtk_text_view_new ();
gtk_widget_show (textview_errors);
gtk_container_add (GTK_CONTAINER (scrolledwindow4), textview_errors);
gtk_widget_set_size_request (textview_errors, 400, 150);
gtk_text_view_set_editable (GTK_TEXT_VIEW (textview_errors), FALSE);
dialog_action_area3 = GTK_DIALOG (dialog_errors)->action_area;
gtk_widget_show (dialog_action_area3);
gtk_button_box_set_layout (GTK_BUTTON_BOX (dialog_action_area3), GTK_BUTTONBOX_END);
closebutton1 = gtk_button_new_from_stock ("gtk-close");
gtk_widget_show (closebutton1);
gtk_dialog_add_action_widget (GTK_DIALOG (dialog_errors), closebutton1, GTK_RESPONSE_CLOSE);
GTK_WIDGET_SET_FLAGS (closebutton1, GTK_CAN_DEFAULT);
g_signal_connect_swapped ((gpointer) closebutton1, "clicked",
G_CALLBACK (gtk_widget_destroy),
GTK_OBJECT (dialog_errors));
/* Store pointers to all widgets, for use by lookup_widget(). */
GLADE_HOOKUP_OBJECT_NO_REF (dialog_errors, dialog_errors, "dialog_errors");
GLADE_HOOKUP_OBJECT_NO_REF (dialog_errors, dialog_vbox3, "dialog_vbox3");
GLADE_HOOKUP_OBJECT (dialog_errors, vbox10, "vbox10");
GLADE_HOOKUP_OBJECT (dialog_errors, label1, "label1");
GLADE_HOOKUP_OBJECT (dialog_errors, scrolledwindow4, "scrolledwindow4");
GLADE_HOOKUP_OBJECT (dialog_errors, textview_errors, "textview_errors");
GLADE_HOOKUP_OBJECT_NO_REF (dialog_errors, dialog_action_area3, "dialog_action_area3");
GLADE_HOOKUP_OBJECT (dialog_errors, closebutton1, "closebutton1");
return dialog_errors;
}
GtkWidget*
create_dialog_rsync (void)
{
GtkWidget *dialog_rsync;
GtkWidget *dialog_vbox4;
GtkWidget *vbox11;
GtkWidget *label_file;
GtkWidget *progress_file;
GtkWidget *label_global;
GtkWidget *progress_global;
GtkWidget *hseparator4;
GtkWidget *expander_rsync;
GtkWidget *scrolledwindow5;
GtkWidget *textview_output;
GtkWidget *label26;
GtkWidget *dialog_action_area4;
GtkWidget *button_pause;
GtkWidget *close;
GtkTooltips *tooltips;
tooltips = gtk_tooltips_new ();
dialog_rsync = gtk_dialog_new ();
gtk_container_set_border_width (GTK_CONTAINER (dialog_rsync), 12);
gtk_window_set_title (GTK_WINDOW (dialog_rsync), _("rsync"));
gtk_window_set_modal (GTK_WINDOW (dialog_rsync), TRUE);
gtk_window_set_resizable (GTK_WINDOW (dialog_rsync), FALSE);
gtk_window_set_skip_taskbar_hint (GTK_WINDOW (dialog_rsync), TRUE);
gtk_window_set_skip_pager_hint (GTK_WINDOW (dialog_rsync), TRUE);
gtk_window_set_type_hint (GTK_WINDOW (dialog_rsync), GDK_WINDOW_TYPE_HINT_DIALOG);
gtk_dialog_set_has_separator (GTK_DIALOG (dialog_rsync), FALSE);
dialog_vbox4 = GTK_DIALOG (dialog_rsync)->vbox;
gtk_widget_show (dialog_vbox4);
vbox11 = gtk_vbox_new (FALSE, 6);
gtk_widget_show (vbox11);
gtk_box_pack_start (GTK_BOX (dialog_vbox4), vbox11, TRUE, TRUE, 0);
label_file = gtk_label_new (_("Idle"));
gtk_widget_show (label_file);
gtk_box_pack_start (GTK_BOX (vbox11), label_file, FALSE, TRUE, 0);
gtk_misc_set_alignment (GTK_MISC (label_file), 0, 0);
progress_file = gtk_progress_bar_new ();
gtk_widget_show (progress_file);
gtk_box_pack_start (GTK_BOX (vbox11), progress_file, FALSE, TRUE, 3);
gtk_tooltips_set_tip (tooltips, progress_file, _("Transfer progress of current file"), NULL);
gtk_widget_set_events (progress_file, GDK_ENTER_NOTIFY_MASK | GDK_LEAVE_NOTIFY_MASK);
gtk_progress_bar_set_text (GTK_PROGRESS_BAR (progress_file), "0%");
label_global = gtk_label_new (_("Global progress"));
gtk_widget_show (label_global);
gtk_box_pack_start (GTK_BOX (vbox11), label_global, FALSE, FALSE, 0);
gtk_label_set_line_wrap (GTK_LABEL (label_global), TRUE);
gtk_misc_set_alignment (GTK_MISC (label_global), 0, 0);
progress_global = gtk_progress_bar_new ();
gtk_widget_show (progress_global);
gtk_box_pack_start (GTK_BOX (vbox11), progress_global, FALSE, FALSE, 0);
gtk_tooltips_set_tip (tooltips, progress_global, _("Global transfer progress: works only with rsync version 2.6.1 or newer, and may report wrong values depending on the ability of rsync to estimate the files to be copied in advance"), NULL);
gtk_widget_set_events (progress_global, GDK_ENTER_NOTIFY_MASK | GDK_LEAVE_NOTIFY_MASK);
gtk_progress_bar_set_text (GTK_PROGRESS_BAR (progress_global), "0%");
hseparator4 = gtk_hseparator_new ();
gtk_widget_show (hseparator4);
gtk_box_pack_start (GTK_BOX (vbox11), hseparator4, FALSE, TRUE, 0);
gtk_widget_set_size_request (hseparator4, 410, -1);
expander_rsync = gtk_expander_new (NULL);
gtk_widget_show (expander_rsync);
gtk_box_pack_start (GTK_BOX (vbox11), expander_rsync, FALSE, TRUE, 0);
gtk_expander_set_expanded (GTK_EXPANDER (expander_rsync), TRUE);
scrolledwindow5 = gtk_scrolled_window_new (NULL, NULL);
gtk_widget_show (scrolledwindow5);
gtk_container_add (GTK_CONTAINER (expander_rsync), scrolledwindow5);
gtk_widget_set_size_request (scrolledwindow5, -1, 250);
gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow5), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrolledwindow5), GTK_SHADOW_IN);
textview_output = gtk_text_view_new ();
gtk_widget_show (textview_output);
gtk_container_add (GTK_CONTAINER (scrolledwindow5), textview_output);
gtk_widget_set_sensitive (textview_output, FALSE);
gtk_text_view_set_editable (GTK_TEXT_VIEW (textview_output), FALSE);
gtk_text_view_set_cursor_visible (GTK_TEXT_VIEW (textview_output), FALSE);
label26 = gtk_label_new (_("Rsync output:"));
gtk_widget_show (label26);
gtk_expander_set_label_widget (GTK_EXPANDER (expander_rsync), label26);
dialog_action_area4 = GTK_DIALOG (dialog_rsync)->action_area;
gtk_widget_show (dialog_action_area4);
gtk_button_box_set_layout (GTK_BUTTON_BOX (dialog_action_area4), GTK_BUTTONBOX_END);
button_pause = gtk_button_new_from_stock ("gtk-media-pause");
gtk_widget_show (button_pause);
gtk_dialog_add_action_widget (GTK_DIALOG (dialog_rsync), button_pause, 0);
gtk_tooltips_set_tip (tooltips, button_pause, _("Pause/resume rsync run"), NULL);
close = gtk_button_new_from_stock ("gtk-stop");
gtk_widget_show (close);
gtk_dialog_add_action_widget (GTK_DIALOG (dialog_rsync), close, 0);
gtk_tooltips_set_tip (tooltips, close, _("Stops rsync and closes the window"), NULL);
g_signal_connect ((gpointer) dialog_rsync, "show",
G_CALLBACK (on_rsync_show),
NULL);
g_signal_connect ((gpointer) dialog_rsync, "destroy",
G_CALLBACK (on_rsync_destroy),
NULL);
g_signal_connect ((gpointer) button_pause, "clicked",
G_CALLBACK (on_button_pause_clicked),
NULL);
g_signal_connect ((gpointer) close, "clicked",
G_CALLBACK (on_close_clicked),
NULL);
/* Store pointers to all widgets, for use by lookup_widget(). */
GLADE_HOOKUP_OBJECT_NO_REF (dialog_rsync, dialog_rsync, "dialog_rsync");
GLADE_HOOKUP_OBJECT_NO_REF (dialog_rsync, dialog_vbox4, "dialog_vbox4");
GLADE_HOOKUP_OBJECT (dialog_rsync, vbox11, "vbox11");
GLADE_HOOKUP_OBJECT (dialog_rsync, label_file, "label_file");
GLADE_HOOKUP_OBJECT (dialog_rsync, progress_file, "progress_file");
GLADE_HOOKUP_OBJECT (dialog_rsync, label_global, "label_global");
GLADE_HOOKUP_OBJECT (dialog_rsync, progress_global, "progress_global");
GLADE_HOOKUP_OBJECT (dialog_rsync, hseparator4, "hseparator4");
GLADE_HOOKUP_OBJECT (dialog_rsync, expander_rsync, "expander_rsync");
GLADE_HOOKUP_OBJECT (dialog_rsync, scrolledwindow5, "scrolledwindow5");
GLADE_HOOKUP_OBJECT (dialog_rsync, textview_output, "textview_output");
GLADE_HOOKUP_OBJECT (dialog_rsync, label26, "label26");
GLADE_HOOKUP_OBJECT_NO_REF (dialog_rsync, dialog_action_area4, "dialog_action_area4");
GLADE_HOOKUP_OBJECT (dialog_rsync, button_pause, "button_pause");
GLADE_HOOKUP_OBJECT (dialog_rsync, close, "close");
GLADE_HOOKUP_OBJECT_NO_REF (dialog_rsync, tooltips, "tooltips");
return dialog_rsync;
}
syntax highlighted by Code2HTML, v. 0.9.1