From: <mgo...@us...> - 2016-11-14 22:25:33
|
Revision: 1106 http://sourceforge.net/p/osmo-pim/code/1106 Author: mgordienko Date: 2016-11-14 22:25:30 +0000 (Mon, 14 Nov 2016) Log Message: ----------- Merge trunk into dbus Modified Paths: -------------- branches/dbus/src/backup.c branches/dbus/src/calendar_ical.c branches/dbus/src/calendar_preferences_gui.c branches/dbus/src/contacts_export.c branches/dbus/src/contacts_import.c branches/dbus/src/contacts_items.c branches/dbus/src/tasks_export.c branches/dbus/src/utils_gui.c branches/dbus/src/utils_gui.h Modified: branches/dbus/src/backup.c =================================================================== --- branches/dbus/src/backup.c 2016-11-14 22:17:44 UTC (rev 1105) +++ branches/dbus/src/backup.c 2016-11-14 22:25:30 UTC (rev 1106) @@ -224,19 +224,11 @@ /* select filename and password */ - dialog = gtk_file_chooser_dialog_new (_("Save backup"), - GTK_WINDOW(appGUI->main_window), - GTK_FILE_CHOOSER_ACTION_SAVE, - _("_Cancel"), GTK_RESPONSE_CANCEL, - _("_Save"), GTK_RESPONSE_ACCEPT, - NULL); + dialog = utl_gui_create_save_file_dialog (_("Save backup"), + GTK_WINDOW(appGUI->main_window)); + gtk_file_chooser_set_current_name(GTK_FILE_CHOOSER(dialog), + utl_add_timestamp_to_filename("osmobackup", "bck")); - gtk_window_set_position (GTK_WINDOW(dialog), GTK_WIN_POS_CENTER_ON_PARENT); - gtk_file_chooser_set_select_multiple (GTK_FILE_CHOOSER(dialog), FALSE); - gtk_file_chooser_set_current_name (GTK_FILE_CHOOSER(dialog), - utl_add_timestamp_to_filename ("osmobackup", "bck")); - gtk_file_chooser_set_local_only (GTK_FILE_CHOOSER(dialog), TRUE); - ret = gtk_dialog_run(GTK_DIALOG(dialog)); if (ret == GTK_RESPONSE_CANCEL || ret == GTK_RESPONSE_DELETE_EVENT) { gtk_widget_destroy(dialog); @@ -440,17 +432,9 @@ GtkWidget *dialog, *passwd_dialog, *pass_entry; GtkWidget *passwd_content, *vbox1, *frame, *label; - dialog = gtk_file_chooser_dialog_new (_("Open backup file"), - GTK_WINDOW(appGUI->main_window), - GTK_FILE_CHOOSER_ACTION_OPEN, - _("_Cancel"), GTK_RESPONSE_CANCEL, - _("_Open"), GTK_RESPONSE_ACCEPT, - NULL); + dialog = utl_gui_create_open_file_dialog (_("Open backup file"), + GTK_WINDOW(appGUI->main_window)); - gtk_window_set_position (GTK_WINDOW(dialog), GTK_WIN_POS_CENTER_ON_PARENT); - gtk_file_chooser_set_select_multiple (GTK_FILE_CHOOSER(dialog), FALSE); - gtk_file_chooser_set_local_only (GTK_FILE_CHOOSER(dialog), TRUE); - filter = gtk_file_filter_new(); gtk_file_filter_add_pattern(filter, "*.[bB][cC][kK]"); gtk_file_filter_set_name(GTK_FILE_FILTER(filter), _("Osmo backup files (*.bck)")); Modified: branches/dbus/src/calendar_ical.c =================================================================== --- branches/dbus/src/calendar_ical.c 2016-11-14 22:17:44 UTC (rev 1105) +++ branches/dbus/src/calendar_ical.c 2016-11-14 22:25:30 UTC (rev 1106) @@ -1182,17 +1182,9 @@ GUI *appGUI = (GUI *)data; - dialog = gtk_file_chooser_dialog_new(_("Select output file"), - GTK_WINDOW(appGUI->main_window), - GTK_FILE_CHOOSER_ACTION_SAVE, - _("_Cancel"), GTK_RESPONSE_CANCEL, - _("_OK"), GTK_RESPONSE_ACCEPT, - NULL); + dialog = utl_gui_create_save_file_dialog(_("Select output file"), + GTK_WINDOW(appGUI->main_window)); - gtk_window_set_position(GTK_WINDOW(dialog), GTK_WIN_POS_CENTER); - gtk_file_chooser_set_select_multiple(GTK_FILE_CHOOSER(dialog), FALSE); - gtk_dialog_set_default_response(GTK_DIALOG(dialog), GTK_RESPONSE_ACCEPT); - if (gtk_dialog_run(GTK_DIALOG(dialog)) == GTK_RESPONSE_ACCEPT) { g_strlcpy (f_filename, gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(dialog)), PATH_MAX-1); Modified: branches/dbus/src/calendar_preferences_gui.c =================================================================== --- branches/dbus/src/calendar_preferences_gui.c 2016-11-14 22:17:44 UTC (rev 1105) +++ branches/dbus/src/calendar_preferences_gui.c 2016-11-14 22:25:30 UTC (rev 1106) @@ -957,17 +957,9 @@ GtkWidget *dialog; GtkFileFilter *filter_1, *filter_2; - dialog = gtk_file_chooser_dialog_new (_("Select ICS file"), - GTK_WINDOW(appGUI->main_window), - GTK_FILE_CHOOSER_ACTION_OPEN, - _("_Cancel"), GTK_RESPONSE_CANCEL, - _("_OK"), GTK_RESPONSE_ACCEPT, - NULL); + dialog = utl_gui_create_open_file_dialog (_("Select ICS file"), + GTK_WINDOW(appGUI->main_window)); - gtk_window_set_position (GTK_WINDOW (dialog), GTK_WIN_POS_CENTER); - gtk_file_chooser_set_select_multiple (GTK_FILE_CHOOSER (dialog), FALSE); - gtk_dialog_set_default_response (GTK_DIALOG (dialog), GTK_RESPONSE_ACCEPT); - filter_1 = gtk_file_filter_new (); gtk_file_filter_add_pattern (filter_1, "*"); gtk_file_filter_set_name (GTK_FILE_FILTER (filter_1), _("All Files")); Modified: branches/dbus/src/contacts_export.c =================================================================== --- branches/dbus/src/contacts_export.c 2016-11-14 22:17:44 UTC (rev 1105) +++ branches/dbus/src/contacts_export.c 2016-11-14 22:25:30 UTC (rev 1106) @@ -689,17 +689,9 @@ GUI *appGUI = (GUI *)data; - dialog = gtk_file_chooser_dialog_new(_("Select output file"), - GTK_WINDOW(appGUI->main_window), - GTK_FILE_CHOOSER_ACTION_SAVE, - _("_Cancel"), GTK_RESPONSE_CANCEL, - _("_OK"), GTK_RESPONSE_ACCEPT, - NULL); + dialog = utl_gui_create_save_file_dialog(_("Select output file"), + GTK_WINDOW(appGUI->main_window)); - gtk_window_set_position(GTK_WINDOW(dialog), GTK_WIN_POS_CENTER); - gtk_file_chooser_set_select_multiple(GTK_FILE_CHOOSER(dialog), FALSE); - gtk_dialog_set_default_response(GTK_DIALOG(dialog), GTK_RESPONSE_ACCEPT); - if (gtk_dialog_run(GTK_DIALOG(dialog)) == GTK_RESPONSE_ACCEPT) { g_strlcpy (f_filename, gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(dialog)), PATH_MAX-1); Modified: branches/dbus/src/contacts_import.c =================================================================== --- branches/dbus/src/contacts_import.c 2016-11-14 22:17:44 UTC (rev 1105) +++ branches/dbus/src/contacts_import.c 2016-11-14 22:25:30 UTC (rev 1106) @@ -41,17 +41,9 @@ GtkFileFilter *filter_1, *filter_2; gboolean ret = FALSE; - dialog = gtk_file_chooser_dialog_new(_("Select CSV file"), - GTK_WINDOW(appGUI->cnt->import_sel_window), - GTK_FILE_CHOOSER_ACTION_OPEN, - _("_Cancel"), GTK_RESPONSE_CANCEL, - _("_OK"), GTK_RESPONSE_ACCEPT, - NULL); + dialog = utl_gui_create_open_file_dialog(_("Select CSV file"), + GTK_WINDOW(appGUI->cnt->import_sel_window)); - gtk_window_set_position(GTK_WINDOW(dialog), GTK_WIN_POS_CENTER); - gtk_file_chooser_set_select_multiple(GTK_FILE_CHOOSER(dialog), FALSE); - gtk_dialog_set_default_response(GTK_DIALOG(dialog), GTK_RESPONSE_ACCEPT); - filter_1 = gtk_file_filter_new(); gtk_file_filter_add_pattern(filter_1, "*"); gtk_file_filter_set_name(GTK_FILE_FILTER(filter_1), _("All Files")); Modified: branches/dbus/src/contacts_items.c =================================================================== --- branches/dbus/src/contacts_items.c 2016-11-14 22:17:44 UTC (rev 1105) +++ branches/dbus/src/contacts_items.c 2016-11-14 22:25:30 UTC (rev 1106) @@ -495,17 +495,9 @@ GUI *appGUI = (GUI *)user_data; - dialog = gtk_file_chooser_dialog_new(_("Select photo"), - GTK_WINDOW(appGUI->main_window), - GTK_FILE_CHOOSER_ACTION_OPEN, - _("_Cancel"), GTK_RESPONSE_CANCEL, - _("_OK"), GTK_RESPONSE_ACCEPT, - NULL); + dialog = utl_gui_create_open_file_dialog(_("Select photo"), + GTK_WINDOW(appGUI->main_window)); - gtk_window_set_position(GTK_WINDOW(dialog), GTK_WIN_POS_CENTER); - gtk_file_chooser_set_select_multiple(GTK_FILE_CHOOSER(dialog), FALSE); - gtk_dialog_set_default_response(GTK_DIALOG(dialog), GTK_RESPONSE_ACCEPT); - if (gtk_dialog_run(GTK_DIALOG(dialog)) == GTK_RESPONSE_ACCEPT) { gtk_entry_set_text (GTK_ENTRY(appGUI->cnt->contact_entries[COLUMN_PHOTO]), gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(dialog))); } Modified: branches/dbus/src/tasks_export.c =================================================================== --- branches/dbus/src/tasks_export.c 2016-11-14 22:17:44 UTC (rev 1105) +++ branches/dbus/src/tasks_export.c 2016-11-14 22:25:30 UTC (rev 1106) @@ -59,19 +59,11 @@ return FALSE; } - dialog = gtk_file_chooser_dialog_new (_("Save tasks"), - GTK_WINDOW(appGUI->main_window), - GTK_FILE_CHOOSER_ACTION_SAVE, - _("_Cancel"), GTK_RESPONSE_CANCEL, - _("_Save"), GTK_RESPONSE_ACCEPT, - NULL); + dialog = utl_gui_create_save_file_dialog (_("Save tasks"), + GTK_WINDOW(appGUI->main_window)); + gtk_file_chooser_set_current_name(GTK_FILE_CHOOSER(dialog), + utl_add_timestamp_to_filename("tasks", "ics")); - gtk_window_set_position (GTK_WINDOW(dialog), GTK_WIN_POS_CENTER_ON_PARENT); - gtk_file_chooser_set_select_multiple (GTK_FILE_CHOOSER(dialog), FALSE); - gtk_file_chooser_set_current_name (GTK_FILE_CHOOSER(dialog), - utl_add_timestamp_to_filename ("tasks", "ics")); - gtk_file_chooser_set_local_only (GTK_FILE_CHOOSER(dialog), TRUE); - ret = gtk_dialog_run(GTK_DIALOG(dialog)); if (ret == GTK_RESPONSE_CANCEL || ret == GTK_RESPONSE_DELETE_EVENT) { gtk_widget_destroy(dialog); Modified: branches/dbus/src/utils_gui.c =================================================================== --- branches/dbus/src/utils_gui.c 2016-11-14 22:17:44 UTC (rev 1105) +++ branches/dbus/src/utils_gui.c 2016-11-14 22:25:30 UTC (rev 1106) @@ -584,9 +584,59 @@ return response; } +/*------------------------------------------------------------------------------*/ +static void +show_hidden_cb(GtkToggleButton *togglebutton, gpointer user_data) { + GtkFileChooser *file_chooser = user_data; + gboolean checked = gtk_toggle_button_get_active(togglebutton); + gtk_file_chooser_set_show_hidden(file_chooser, checked); +} +static void +utl_gui_file_chooser_add_show_hidden(GtkFileChooser *file_chooser) { + GtkWidget *show_hidden = gtk_check_button_new_with_label(_("Show hidden files")); + g_signal_connect(G_OBJECT(show_hidden), "toggled", G_CALLBACK(show_hidden_cb), file_chooser); + gtk_widget_show(show_hidden); + gtk_file_chooser_set_extra_widget(file_chooser, show_hidden); +} /*------------------------------------------------------------------------------*/ +GtkWidget * +utl_gui_create_save_file_dialog(const gchar *title, GtkWindow *parent) { + GtkWidget *dialog = gtk_file_chooser_dialog_new(title, + parent, + GTK_FILE_CHOOSER_ACTION_SAVE, + _("_Cancel"), GTK_RESPONSE_CANCEL, + _("_Save"), GTK_RESPONSE_ACCEPT, + NULL); + + gtk_window_set_position(GTK_WINDOW(dialog), GTK_WIN_POS_CENTER_ON_PARENT); + gtk_file_chooser_set_select_multiple(GTK_FILE_CHOOSER(dialog), FALSE); + gtk_file_chooser_set_local_only(GTK_FILE_CHOOSER(dialog), TRUE); + gtk_dialog_set_default_response(GTK_DIALOG(dialog), GTK_RESPONSE_ACCEPT); + utl_gui_file_chooser_add_show_hidden(GTK_FILE_CHOOSER(dialog)); + return dialog; +} + +/*------------------------------------------------------------------------------*/ + +GtkWidget * +utl_gui_create_open_file_dialog(const gchar *title, GtkWindow *parent) { + GtkWidget *dialog = gtk_file_chooser_dialog_new(title, + parent, + GTK_FILE_CHOOSER_ACTION_OPEN, + _("_Cancel"), GTK_RESPONSE_CANCEL, + _("_Open"), GTK_RESPONSE_ACCEPT, + NULL); + + gtk_window_set_position(GTK_WINDOW(dialog), GTK_WIN_POS_CENTER_ON_PARENT); + gtk_file_chooser_set_select_multiple(GTK_FILE_CHOOSER(dialog), FALSE); + gtk_file_chooser_set_local_only(GTK_FILE_CHOOSER(dialog), TRUE); + gtk_dialog_set_default_response(GTK_DIALOG(dialog), GTK_RESPONSE_ACCEPT); + utl_gui_file_chooser_add_show_hidden(GTK_FILE_CHOOSER(dialog)); + return dialog; +} +/*------------------------------------------------------------------------------*/ void utl_gui_update_command_status (GtkEditable *editable, GtkWidget *icon_widget, GUI *appGUI) { Modified: branches/dbus/src/utils_gui.h =================================================================== --- branches/dbus/src/utils_gui.h 2016-11-14 22:17:44 UTC (rev 1105) +++ branches/dbus/src/utils_gui.h 2016-11-14 22:25:30 UTC (rev 1106) @@ -83,6 +83,8 @@ void utl_gui_update_command_status (GtkEditable *editable, GtkWidget *icon_widget, GUI *appGUI); gint utl_gui_create_dialog (gint dialog_type, gchar *message, GtkWindow *parent); +GtkWidget * utl_gui_create_save_file_dialog (const gchar *title, GtkWindow *parent); +GtkWidget * utl_gui_create_open_file_dialog (const gchar *title, GtkWindow *parent); gint utl_gui_check_overwrite_file (gchar *filename, GtkWidget *window, GUI *appGUI); gint utl_gui_list_store_get_text_index (GtkListStore *store, gchar *text); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |