From 2ab142b0947aa5aa1b8f448bec37a9e55ba16809 Mon Sep 17 00:00:00 2001 From: JosephMcc Date: Sun, 11 Dec 2016 18:20:46 -0800 Subject: [PATCH] close-confirmation-dialog: Clean up code styling --- xed/dialogs/xed-close-confirmation-dialog.c | 975 ++++++++++---------- 1 file changed, 466 insertions(+), 509 deletions(-) diff --git a/xed/dialogs/xed-close-confirmation-dialog.c b/xed/dialogs/xed-close-confirmation-dialog.c index 7219f47..0e4dbfa 100755 --- a/xed/dialogs/xed-close-confirmation-dialog.c +++ b/xed/dialogs/xed-close-confirmation-dialog.c @@ -16,13 +16,13 @@ * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, - * Boston, MA 02110-1301, USA. + * Foundation, Inc., 51 Franklin St, Fifth Floor, + * Boston, MA 02110-1301, USA. */ /* - * Modified by the xed Team, 2004-2005. See the AUTHORS file for a - * list of people on the xed Team. + * Modified by the xed Team, 2004-2005. See the AUTHORS file for a + * list of people on the xed Team. * See the ChangeLog files for a list of changes. * * $Id$ @@ -41,716 +41,673 @@ /* Properties */ -enum +enum { - PROP_0, - PROP_UNSAVED_DOCUMENTS, - PROP_LOGOUT_MODE + PROP_0, + PROP_UNSAVED_DOCUMENTS, + PROP_LOGOUT_MODE }; /* Mode */ enum { - SINGLE_DOC_MODE, - MULTIPLE_DOCS_MODE + SINGLE_DOC_MODE, + MULTIPLE_DOCS_MODE }; /* Columns */ enum { - SAVE_COLUMN, - NAME_COLUMN, - DOC_COLUMN, /* a handy pointer to the document */ - N_COLUMNS + SAVE_COLUMN, + NAME_COLUMN, + DOC_COLUMN, /* a handy pointer to the document */ + N_COLUMNS }; -struct _XedCloseConfirmationDialogPrivate +struct _XedCloseConfirmationDialogPrivate { - gboolean logout_mode; - - GList *unsaved_documents; - - GList *selected_documents; - - GtkTreeModel *list_store; - + gboolean logout_mode; + GList *unsaved_documents; + GList *selected_documents; + GtkTreeModel *list_store; }; #define XED_CLOSE_CONFIRMATION_DIALOG_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), \ - XED_TYPE_CLOSE_CONFIRMATION_DIALOG, \ - XedCloseConfirmationDialogPrivate)) + XED_TYPE_CLOSE_CONFIRMATION_DIALOG, \ + XedCloseConfirmationDialogPrivate)) #define GET_MODE(priv) (((priv->unsaved_documents != NULL) && \ - (priv->unsaved_documents->next == NULL)) ? \ - SINGLE_DOC_MODE : MULTIPLE_DOCS_MODE) + (priv->unsaved_documents->next == NULL)) ? \ + SINGLE_DOC_MODE : MULTIPLE_DOCS_MODE) G_DEFINE_TYPE(XedCloseConfirmationDialog, xed_close_confirmation_dialog, GTK_TYPE_DIALOG) -static void set_unsaved_document (XedCloseConfirmationDialog *dlg, - const GList *list); +static void set_unsaved_document (XedCloseConfirmationDialog *dlg, + const GList *list); +static GList *get_selected_docs (GtkTreeModel *store); -static GList *get_selected_docs (GtkTreeModel *store); - -/* Since we connect in the costructor we are sure this handler will be called +/* Since we connect in the costructor we are sure this handler will be called * before the user ones */ static void response_cb (XedCloseConfirmationDialog *dlg, - gint response_id, - gpointer data) + gint response_id, + gpointer data) { - XedCloseConfirmationDialogPrivate *priv; + XedCloseConfirmationDialogPrivate *priv; - g_return_if_fail (XED_IS_CLOSE_CONFIRMATION_DIALOG (dlg)); + g_return_if_fail (XED_IS_CLOSE_CONFIRMATION_DIALOG (dlg)); - priv = dlg->priv; - - if (priv->selected_documents != NULL) - g_list_free (priv->selected_documents); + priv = dlg->priv; - if (response_id == GTK_RESPONSE_YES) - { - if (GET_MODE (priv) == SINGLE_DOC_MODE) - { - priv->selected_documents = - g_list_copy (priv->unsaved_documents); - } - else - { - g_return_if_fail (priv->list_store); + if (priv->selected_documents != NULL) + { + g_list_free (priv->selected_documents); + } - priv->selected_documents = - get_selected_docs (priv->list_store); - } - } - else - priv->selected_documents = NULL; + if (response_id == GTK_RESPONSE_YES) + { + if (GET_MODE (priv) == SINGLE_DOC_MODE) + { + priv->selected_documents = g_list_copy (priv->unsaved_documents); + } + else + { + g_return_if_fail (priv->list_store); + + priv->selected_documents = get_selected_docs (priv->list_store); + } + } + else + priv->selected_documents = NULL; } static void set_logout_mode (XedCloseConfirmationDialog *dlg, - gboolean logout_mode) + gboolean logout_mode) { - dlg->priv->logout_mode = logout_mode; - - if (logout_mode) - { - gtk_dialog_add_button (GTK_DIALOG (dlg), - _("Log Out _without Saving"), - GTK_RESPONSE_NO); + dlg->priv->logout_mode = logout_mode; - xed_dialog_add_button (GTK_DIALOG (dlg), - _("_Cancel Logout"), - GTK_STOCK_CANCEL, - GTK_RESPONSE_CANCEL); - } - else - { - gtk_dialog_add_button (GTK_DIALOG (dlg), - _("Close _without Saving"), - GTK_RESPONSE_NO); + if (logout_mode) + { + gtk_dialog_add_button (GTK_DIALOG (dlg), _("Log Out _without Saving"), GTK_RESPONSE_NO); + xed_dialog_add_button (GTK_DIALOG (dlg), _("_Cancel Logout"), GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL); + } + else + { + gtk_dialog_add_button (GTK_DIALOG (dlg), _("Close _without Saving"), GTK_RESPONSE_NO); + gtk_dialog_add_button (GTK_DIALOG (dlg), GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL); + } - gtk_dialog_add_button (GTK_DIALOG (dlg), - GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL); - } - - - const gchar *stock_id = GTK_STOCK_SAVE; - - if (GET_MODE (dlg->priv) == SINGLE_DOC_MODE) - { - XedDocument *doc; - - doc = XED_DOCUMENT (dlg->priv->unsaved_documents->data); - - if (xed_document_get_readonly (doc) || - xed_document_is_untitled (doc)) - stock_id = GTK_STOCK_SAVE_AS; - } - gtk_dialog_add_button (GTK_DIALOG (dlg), - stock_id, - GTK_RESPONSE_YES); + const gchar *stock_id = GTK_STOCK_SAVE; - gtk_dialog_set_default_response (GTK_DIALOG (dlg), - GTK_RESPONSE_YES); + if (GET_MODE (dlg->priv) == SINGLE_DOC_MODE) + { + XedDocument *doc; + + doc = XED_DOCUMENT (dlg->priv->unsaved_documents->data); + + if (xed_document_get_readonly (doc) || xed_document_is_untitled (doc)) + { + stock_id = GTK_STOCK_SAVE_AS; + } + } + + gtk_dialog_add_button (GTK_DIALOG (dlg), stock_id, GTK_RESPONSE_YES); + gtk_dialog_set_default_response (GTK_DIALOG (dlg), GTK_RESPONSE_YES); } -static void +static void xed_close_confirmation_dialog_init (XedCloseConfirmationDialog *dlg) { - AtkObject *atk_obj; + AtkObject *atk_obj; - dlg->priv = XED_CLOSE_CONFIRMATION_DIALOG_GET_PRIVATE (dlg); + dlg->priv = XED_CLOSE_CONFIRMATION_DIALOG_GET_PRIVATE (dlg); - gtk_container_set_border_width (GTK_CONTAINER (dlg), 5); - gtk_box_set_spacing (GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (dlg))), - 14); - gtk_window_set_resizable (GTK_WINDOW (dlg), FALSE); - gtk_window_set_skip_taskbar_hint (GTK_WINDOW (dlg), TRUE); - - gtk_window_set_title (GTK_WINDOW (dlg), ""); + gtk_container_set_border_width (GTK_CONTAINER (dlg), 5); + gtk_box_set_spacing (GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (dlg))), 14); + gtk_window_set_resizable (GTK_WINDOW (dlg), FALSE); + gtk_window_set_skip_taskbar_hint (GTK_WINDOW (dlg), TRUE); - gtk_window_set_modal (GTK_WINDOW (dlg), TRUE); - gtk_window_set_destroy_with_parent (GTK_WINDOW (dlg), TRUE); + gtk_window_set_title (GTK_WINDOW (dlg), ""); - atk_obj = gtk_widget_get_accessible (GTK_WIDGET (dlg)); - atk_object_set_role (atk_obj, ATK_ROLE_ALERT); - atk_object_set_name (atk_obj, _("Question")); - - g_signal_connect (dlg, - "response", - G_CALLBACK (response_cb), - NULL); + gtk_window_set_modal (GTK_WINDOW (dlg), TRUE); + gtk_window_set_destroy_with_parent (GTK_WINDOW (dlg), TRUE); + + atk_obj = gtk_widget_get_accessible (GTK_WIDGET (dlg)); + atk_object_set_role (atk_obj, ATK_ROLE_ALERT); + atk_object_set_name (atk_obj, _("Question")); + + g_signal_connect (dlg, "response", G_CALLBACK (response_cb), NULL); } -static void +static void xed_close_confirmation_dialog_finalize (GObject *object) { - XedCloseConfirmationDialogPrivate *priv; + XedCloseConfirmationDialogPrivate *priv; - priv = XED_CLOSE_CONFIRMATION_DIALOG (object)->priv; + priv = XED_CLOSE_CONFIRMATION_DIALOG (object)->priv; - if (priv->unsaved_documents != NULL) - g_list_free (priv->unsaved_documents); + if (priv->unsaved_documents != NULL) + { + g_list_free (priv->unsaved_documents); + } - if (priv->selected_documents != NULL) - g_list_free (priv->selected_documents); + if (priv->selected_documents != NULL) + { + g_list_free (priv->selected_documents); + } - /* Call the parent's destructor */ - G_OBJECT_CLASS (xed_close_confirmation_dialog_parent_class)->finalize (object); + /* Call the parent's destructor */ + G_OBJECT_CLASS (xed_close_confirmation_dialog_parent_class)->finalize (object); } static void -xed_close_confirmation_dialog_set_property (GObject *object, - guint prop_id, - const GValue *value, - GParamSpec *pspec) +xed_close_confirmation_dialog_set_property (GObject *object, + guint prop_id, + const GValue *value, + GParamSpec *pspec) { - XedCloseConfirmationDialog *dlg; + XedCloseConfirmationDialog *dlg; - dlg = XED_CLOSE_CONFIRMATION_DIALOG (object); + dlg = XED_CLOSE_CONFIRMATION_DIALOG (object); - switch (prop_id) - { - case PROP_UNSAVED_DOCUMENTS: - set_unsaved_document (dlg, g_value_get_pointer (value)); - break; - - case PROP_LOGOUT_MODE: - set_logout_mode (dlg, g_value_get_boolean (value)); - break; + switch (prop_id) + { + case PROP_UNSAVED_DOCUMENTS: + set_unsaved_document (dlg, g_value_get_pointer (value)); + break; - default: - G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); - break; - } + case PROP_LOGOUT_MODE: + set_logout_mode (dlg, g_value_get_boolean (value)); + break; + + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + break; + } } static void -xed_close_confirmation_dialog_get_property (GObject *object, - guint prop_id, - GValue *value, - GParamSpec *pspec) +xed_close_confirmation_dialog_get_property (GObject *object, + guint prop_id, + GValue *value, + GParamSpec *pspec) { - XedCloseConfirmationDialogPrivate *priv; + XedCloseConfirmationDialogPrivate *priv; - priv = XED_CLOSE_CONFIRMATION_DIALOG (object)->priv; + priv = XED_CLOSE_CONFIRMATION_DIALOG (object)->priv; - switch( prop_id ) - { - case PROP_UNSAVED_DOCUMENTS: - g_value_set_pointer (value, priv->unsaved_documents); - break; + switch( prop_id ) + { + case PROP_UNSAVED_DOCUMENTS: + g_value_set_pointer (value, priv->unsaved_documents); + break; - case PROP_LOGOUT_MODE: - g_value_set_boolean (value, priv->logout_mode); - break; + case PROP_LOGOUT_MODE: + g_value_set_boolean (value, priv->logout_mode); + break; - default: - G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); - break; - } + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + break; + } } -static void +static void xed_close_confirmation_dialog_class_init (XedCloseConfirmationDialogClass *klass) { - GObjectClass *gobject_class = G_OBJECT_CLASS (klass); + GObjectClass *gobject_class = G_OBJECT_CLASS (klass); - gobject_class->set_property = xed_close_confirmation_dialog_set_property; - gobject_class->get_property = xed_close_confirmation_dialog_get_property; - gobject_class->finalize = xed_close_confirmation_dialog_finalize; + gobject_class->set_property = xed_close_confirmation_dialog_set_property; + gobject_class->get_property = xed_close_confirmation_dialog_get_property; + gobject_class->finalize = xed_close_confirmation_dialog_finalize; - g_type_class_add_private (klass, sizeof (XedCloseConfirmationDialogPrivate)); + g_type_class_add_private (klass, sizeof (XedCloseConfirmationDialogPrivate)); - g_object_class_install_property (gobject_class, - PROP_UNSAVED_DOCUMENTS, - g_param_spec_pointer ("unsaved_documents", - "Unsaved Documents", - "List of Unsaved Documents", - (G_PARAM_READWRITE | - G_PARAM_CONSTRUCT_ONLY))); + g_object_class_install_property (gobject_class, + PROP_UNSAVED_DOCUMENTS, + g_param_spec_pointer ("unsaved_documents", + "Unsaved Documents", + "List of Unsaved Documents", + (G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY))); - g_object_class_install_property (gobject_class, - PROP_LOGOUT_MODE, - g_param_spec_boolean ("logout_mode", - "Logout Mode", - "Whether the dialog is in logout mode", - FALSE, - (G_PARAM_READWRITE | - G_PARAM_CONSTRUCT_ONLY))); + g_object_class_install_property (gobject_class, + PROP_LOGOUT_MODE, + g_param_spec_boolean ("logout_mode", + "Logout Mode", + "Whether the dialog is in logout mode", + FALSE, + (G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY))); } static GList * get_selected_docs (GtkTreeModel *store) { - GList *list; - gboolean valid; - GtkTreeIter iter; + GList *list; + gboolean valid; + GtkTreeIter iter; - list = NULL; - valid = gtk_tree_model_get_iter_first (store, &iter); + list = NULL; + valid = gtk_tree_model_get_iter_first (store, &iter); - while (valid) - { - gboolean to_save; - XedDocument *doc; + while (valid) + { + gboolean to_save; + XedDocument *doc; - gtk_tree_model_get (store, &iter, - SAVE_COLUMN, &to_save, - DOC_COLUMN, &doc, - -1); - if (to_save) - list = g_list_prepend (list, doc); + gtk_tree_model_get (store, &iter, SAVE_COLUMN, &to_save, DOC_COLUMN, &doc, -1); + if (to_save) + { + list = g_list_prepend (list, doc); + } - valid = gtk_tree_model_iter_next (store, &iter); - } + valid = gtk_tree_model_iter_next (store, &iter); + } - list = g_list_reverse (list); + list = g_list_reverse (list); - return list; + return list; } GList * xed_close_confirmation_dialog_get_selected_documents (XedCloseConfirmationDialog *dlg) { - g_return_val_if_fail (XED_IS_CLOSE_CONFIRMATION_DIALOG (dlg), NULL); + g_return_val_if_fail (XED_IS_CLOSE_CONFIRMATION_DIALOG (dlg), NULL); - return g_list_copy (dlg->priv->selected_documents); + return g_list_copy (dlg->priv->selected_documents); } GtkWidget * -xed_close_confirmation_dialog_new (GtkWindow *parent, - GList *unsaved_documents, - gboolean logout_mode) +xed_close_confirmation_dialog_new (GtkWindow *parent, + GList *unsaved_documents, + gboolean logout_mode) { - GtkWidget *dlg; - g_return_val_if_fail (unsaved_documents != NULL, NULL); + GtkWidget *dlg; + g_return_val_if_fail (unsaved_documents != NULL, NULL); - dlg = GTK_WIDGET (g_object_new (XED_TYPE_CLOSE_CONFIRMATION_DIALOG, - "unsaved_documents", unsaved_documents, - "logout_mode", logout_mode, - NULL)); - g_return_val_if_fail (dlg != NULL, NULL); + dlg = GTK_WIDGET (g_object_new (XED_TYPE_CLOSE_CONFIRMATION_DIALOG, + "unsaved_documents", unsaved_documents, + "logout_mode", logout_mode, + NULL)); + g_return_val_if_fail (dlg != NULL, NULL); - if (parent != NULL) - { - gtk_window_group_add_window (xed_window_get_group (XED_WINDOW (parent)), - GTK_WINDOW (dlg)); - - gtk_window_set_transient_for (GTK_WINDOW (dlg), parent); - } + if (parent != NULL) + { + gtk_window_group_add_window (xed_window_get_group (XED_WINDOW (parent)), GTK_WINDOW (dlg)); + gtk_window_set_transient_for (GTK_WINDOW (dlg), parent); + } - return dlg; + return dlg; } GtkWidget * -xed_close_confirmation_dialog_new_single (GtkWindow *parent, - XedDocument *doc, - gboolean logout_mode) +xed_close_confirmation_dialog_new_single (GtkWindow *parent, + XedDocument *doc, + gboolean logout_mode) { - GtkWidget *dlg; - GList *unsaved_documents; - g_return_val_if_fail (doc != NULL, NULL); - - unsaved_documents = g_list_prepend (NULL, doc); + GtkWidget *dlg; + GList *unsaved_documents; + g_return_val_if_fail (doc != NULL, NULL); - dlg = xed_close_confirmation_dialog_new (parent, - unsaved_documents, - logout_mode); - - g_list_free (unsaved_documents); + unsaved_documents = g_list_prepend (NULL, doc); - return dlg; + dlg = xed_close_confirmation_dialog_new (parent, unsaved_documents, logout_mode); + + g_list_free (unsaved_documents); + + return dlg; } static gchar * get_text_secondary_label (XedDocument *doc) { - glong seconds; - gchar *secondary_msg; - - seconds = MAX (1, _xed_document_get_seconds_since_last_save_or_load (doc)); + glong seconds; + gchar *secondary_msg; - if (seconds < 55) - { - secondary_msg = g_strdup_printf ( - ngettext ("If you don't save, changes from the last %ld second " - "will be permanently lost.", - "If you don't save, changes from the last %ld seconds " - "will be permanently lost.", - seconds), - seconds); - } - else if (seconds < 75) /* 55 <= seconds < 75 */ - { - secondary_msg = g_strdup (_("If you don't save, changes from the last minute " - "will be permanently lost.")); - } - else if (seconds < 110) /* 75 <= seconds < 110 */ - { - secondary_msg = g_strdup_printf ( - ngettext ("If you don't save, changes from the last minute and %ld " - "second will be permanently lost.", - "If you don't save, changes from the last minute and %ld " - "seconds will be permanently lost.", - seconds - 60 ), - seconds - 60); - } - else if (seconds < 3600) - { - secondary_msg = g_strdup_printf ( - ngettext ("If you don't save, changes from the last %ld minute " - "will be permanently lost.", - "If you don't save, changes from the last %ld minutes " - "will be permanently lost.", - seconds / 60), - seconds / 60); - } - else if (seconds < 7200) - { - gint minutes; - seconds -= 3600; + seconds = MAX (1, _xed_document_get_seconds_since_last_save_or_load (doc)); - minutes = seconds / 60; - if (minutes < 5) - { - secondary_msg = g_strdup (_("If you don't save, changes from the last hour " - "will be permanently lost.")); - } - else - { - secondary_msg = g_strdup_printf ( - ngettext ("If you don't save, changes from the last hour and %d " - "minute will be permanently lost.", - "If you don't save, changes from the last hour and %d " - "minutes will be permanently lost.", - minutes), - minutes); - } - } - else - { - gint hours; + if (seconds < 55) + { + secondary_msg = g_strdup_printf (ngettext ("If you don't save, changes from the last %ld second " + "will be permanently lost.", + "If you don't save, changes from the last %ld seconds " + "will be permanently lost.", + seconds), + seconds); + } + else if (seconds < 75) /* 55 <= seconds < 75 */ + { + secondary_msg = g_strdup (_("If you don't save, changes from the last minute " + "will be permanently lost.")); + } + else if (seconds < 110) /* 75 <= seconds < 110 */ + { + secondary_msg = g_strdup_printf (ngettext ("If you don't save, changes from the last minute and %ld " + "second will be permanently lost.", + "If you don't save, changes from the last minute and %ld " + "seconds will be permanently lost.", + seconds - 60 ), + seconds - 60); + } + else if (seconds < 3600) + { + secondary_msg = g_strdup_printf (ngettext ("If you don't save, changes from the last %ld minute " + "will be permanently lost.", + "If you don't save, changes from the last %ld minutes " + "will be permanently lost.", + seconds / 60), + seconds / 60); + } + else if (seconds < 7200) + { + gint minutes; + seconds -= 3600; - hours = seconds / 3600; + minutes = seconds / 60; + if (minutes < 5) + { + secondary_msg = g_strdup (_("If you don't save, changes from the last hour " + "will be permanently lost.")); + } + else + { + secondary_msg = g_strdup_printf (ngettext ("If you don't save, changes from the last hour and %d " + "minute will be permanently lost.", + "If you don't save, changes from the last hour and %d " + "minutes will be permanently lost.", + minutes), + minutes); + } + } + else + { + gint hours; - secondary_msg = g_strdup_printf ( - ngettext ("If you don't save, changes from the last %d hour " - "will be permanently lost.", - "If you don't save, changes from the last %d hours " - "will be permanently lost.", - hours), - hours); - } + hours = seconds / 3600; - return secondary_msg; + secondary_msg = g_strdup_printf (ngettext ("If you don't save, changes from the last %d hour " + "will be permanently lost.", + "If you don't save, changes from the last %d hours " + "will be permanently lost.", + hours), + hours); + } + + return secondary_msg; } static void build_single_doc_dialog (XedCloseConfirmationDialog *dlg) { - GtkWidget *hbox; - GtkWidget *vbox; - GtkWidget *primary_label; - GtkWidget *secondary_label; - GtkWidget *image; - XedDocument *doc; - gchar *doc_name; - gchar *str; - gchar *markup_str; + GtkWidget *hbox; + GtkWidget *vbox; + GtkWidget *primary_label; + GtkWidget *secondary_label; + GtkWidget *image; + XedDocument *doc; + gchar *doc_name; + gchar *str; + gchar *markup_str; - g_return_if_fail (dlg->priv->unsaved_documents->data != NULL); - doc = XED_DOCUMENT (dlg->priv->unsaved_documents->data); + g_return_if_fail (dlg->priv->unsaved_documents->data != NULL); + doc = XED_DOCUMENT (dlg->priv->unsaved_documents->data); - /* Image */ - image = gtk_image_new_from_icon_name ("dialog-warning", - GTK_ICON_SIZE_DIALOG); - gtk_widget_set_halign (image, GTK_ALIGN_START); - gtk_widget_set_valign (image, GTK_ALIGN_END); + /* Image */ + image = gtk_image_new_from_icon_name ("dialog-warning", GTK_ICON_SIZE_DIALOG); + gtk_widget_set_halign (image, GTK_ALIGN_START); + gtk_widget_set_valign (image, GTK_ALIGN_END); - /* Primary label */ - primary_label = gtk_label_new (NULL); - gtk_label_set_line_wrap (GTK_LABEL (primary_label), TRUE); - gtk_label_set_use_markup (GTK_LABEL (primary_label), TRUE); - gtk_misc_set_alignment (GTK_MISC (primary_label), 0.0, 0.5); - gtk_label_set_selectable (GTK_LABEL (primary_label), TRUE); - gtk_widget_set_can_focus (GTK_WIDGET (primary_label), FALSE); + /* Primary label */ + primary_label = gtk_label_new (NULL); + gtk_label_set_line_wrap (GTK_LABEL (primary_label), TRUE); + gtk_label_set_use_markup (GTK_LABEL (primary_label), TRUE); + gtk_misc_set_alignment (GTK_MISC (primary_label), 0.0, 0.5); + gtk_label_set_selectable (GTK_LABEL (primary_label), TRUE); + gtk_widget_set_can_focus (GTK_WIDGET (primary_label), FALSE); - doc_name = xed_document_get_short_name_for_display (doc); + doc_name = xed_document_get_short_name_for_display (doc); - str = g_markup_printf_escaped (_("Save changes to document \"%s\" before closing?"), doc_name); + str = g_markup_printf_escaped (_("Save changes to document \"%s\" before closing?"), doc_name); - g_free (doc_name); + g_free (doc_name); - markup_str = g_strconcat ("", str, "", NULL); - g_free (str); + markup_str = g_strconcat ("", str, "", NULL); + g_free (str); - gtk_label_set_markup (GTK_LABEL (primary_label), markup_str); - g_free (markup_str); + gtk_label_set_markup (GTK_LABEL (primary_label), markup_str); + g_free (markup_str); - /* Secondary label */ - str = get_text_secondary_label (doc); - secondary_label = gtk_label_new (str); - g_free (str); - gtk_label_set_line_wrap (GTK_LABEL (secondary_label), TRUE); - gtk_misc_set_alignment (GTK_MISC (secondary_label), 0.0, 0.5); - gtk_label_set_selectable (GTK_LABEL (secondary_label), TRUE); - gtk_widget_set_can_focus (GTK_WIDGET (secondary_label), FALSE); + /* Secondary label */ + str = get_text_secondary_label (doc); + secondary_label = gtk_label_new (str); + g_free (str); + gtk_label_set_line_wrap (GTK_LABEL (secondary_label), TRUE); + gtk_misc_set_alignment (GTK_MISC (secondary_label), 0.0, 0.5); + gtk_label_set_selectable (GTK_LABEL (secondary_label), TRUE); + gtk_widget_set_can_focus (GTK_WIDGET (secondary_label), FALSE); - hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 12); - gtk_container_set_border_width (GTK_CONTAINER (hbox), 5); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 12); + gtk_container_set_border_width (GTK_CONTAINER (hbox), 5); - gtk_box_pack_start (GTK_BOX (hbox), image, FALSE, FALSE, 0); + gtk_box_pack_start (GTK_BOX (hbox), image, FALSE, FALSE, 0); - vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 12); - - gtk_box_pack_start (GTK_BOX (hbox), vbox, FALSE, FALSE, 0); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 12); - gtk_box_pack_start (GTK_BOX (vbox), primary_label, FALSE, FALSE, 0); - - gtk_box_pack_start (GTK_BOX (vbox), secondary_label, FALSE, FALSE, 0); + gtk_box_pack_start (GTK_BOX (hbox), vbox, FALSE, FALSE, 0); + gtk_box_pack_start (GTK_BOX (vbox), primary_label, FALSE, FALSE, 0); + gtk_box_pack_start (GTK_BOX (vbox), secondary_label, FALSE, FALSE, 0); + gtk_box_pack_start (GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (dlg))), hbox, FALSE, FALSE, 0); - gtk_box_pack_start (GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (dlg))), - hbox, - FALSE, - FALSE, - 0); - - gtk_widget_show_all (hbox); + gtk_widget_show_all (hbox); } static void -populate_model (GtkTreeModel *store, GList *docs) +populate_model (GtkTreeModel *store, + GList *docs) { - GtkTreeIter iter; + GtkTreeIter iter; - while (docs != NULL) - { - XedDocument *doc; - gchar *name; + while (docs != NULL) + { + XedDocument *doc; + gchar *name; - doc = XED_DOCUMENT (docs->data); + doc = XED_DOCUMENT (docs->data); - name = xed_document_get_short_name_for_display (doc); + name = xed_document_get_short_name_for_display (doc); - gtk_list_store_append (GTK_LIST_STORE (store), &iter); - gtk_list_store_set (GTK_LIST_STORE (store), &iter, - SAVE_COLUMN, TRUE, - NAME_COLUMN, name, - DOC_COLUMN, doc, - -1); + gtk_list_store_append (GTK_LIST_STORE (store), &iter); + gtk_list_store_set (GTK_LIST_STORE (store), &iter, + SAVE_COLUMN, TRUE, + NAME_COLUMN, name, + DOC_COLUMN, doc, + -1); - g_free (name); + g_free (name); - docs = g_list_next (docs); - } + docs = g_list_next (docs); + } } static void -save_toggled (GtkCellRendererToggle *renderer, gchar *path_str, GtkTreeModel *store) +save_toggled (GtkCellRendererToggle *renderer, + gchar *path_str, + GtkTreeModel *store) { - GtkTreePath *path = gtk_tree_path_new_from_string (path_str); - GtkTreeIter iter; - gboolean active; + GtkTreePath *path = gtk_tree_path_new_from_string (path_str); + GtkTreeIter iter; + gboolean active; - gtk_tree_model_get_iter (store, &iter, path); - gtk_tree_model_get (store, &iter, SAVE_COLUMN, &active, -1); + gtk_tree_model_get_iter (store, &iter, path); + gtk_tree_model_get (store, &iter, SAVE_COLUMN, &active, -1); - active ^= 1; + active ^= 1; - gtk_list_store_set (GTK_LIST_STORE (store), &iter, - SAVE_COLUMN, active, -1); + gtk_list_store_set (GTK_LIST_STORE (store), &iter, SAVE_COLUMN, active, -1); - gtk_tree_path_free (path); + gtk_tree_path_free (path); } static GtkWidget * create_treeview (XedCloseConfirmationDialogPrivate *priv) { - GtkListStore *store; - GtkWidget *treeview; - GtkCellRenderer *renderer; - GtkTreeViewColumn *column; + GtkListStore *store; + GtkWidget *treeview; + GtkCellRenderer *renderer; + GtkTreeViewColumn *column; - treeview = gtk_tree_view_new (); - gtk_widget_set_size_request (treeview, 260, 120); - gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (treeview), FALSE); - gtk_tree_view_set_enable_search (GTK_TREE_VIEW (treeview), FALSE); + treeview = gtk_tree_view_new (); + gtk_widget_set_size_request (treeview, 260, 120); + gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (treeview), FALSE); + gtk_tree_view_set_enable_search (GTK_TREE_VIEW (treeview), FALSE); - /* Create and populate the model */ - store = gtk_list_store_new (N_COLUMNS, G_TYPE_BOOLEAN, G_TYPE_STRING, G_TYPE_POINTER); - populate_model (GTK_TREE_MODEL (store), priv->unsaved_documents); + /* Create and populate the model */ + store = gtk_list_store_new (N_COLUMNS, G_TYPE_BOOLEAN, G_TYPE_STRING, G_TYPE_POINTER); + populate_model (GTK_TREE_MODEL (store), priv->unsaved_documents); - /* Set model to the treeview */ - gtk_tree_view_set_model (GTK_TREE_VIEW (treeview), GTK_TREE_MODEL (store)); - g_object_unref (store); + /* Set model to the treeview */ + gtk_tree_view_set_model (GTK_TREE_VIEW (treeview), GTK_TREE_MODEL (store)); + g_object_unref (store); - priv->list_store = GTK_TREE_MODEL (store); + priv->list_store = GTK_TREE_MODEL (store); - /* Add columns */ + /* Add columns */ - renderer = gtk_cell_renderer_toggle_new (); - g_signal_connect (renderer, "toggled", - G_CALLBACK (save_toggled), store); + renderer = gtk_cell_renderer_toggle_new (); + g_signal_connect (renderer, "toggled", G_CALLBACK (save_toggled), store); - column = gtk_tree_view_column_new_with_attributes ("Save?", - renderer, - "active", - SAVE_COLUMN, - NULL); - gtk_tree_view_append_column (GTK_TREE_VIEW (treeview), column); + column = gtk_tree_view_column_new_with_attributes ("Save?", + renderer, + "active", + SAVE_COLUMN, + NULL); + gtk_tree_view_append_column (GTK_TREE_VIEW (treeview), column); - renderer = gtk_cell_renderer_text_new (); - column = gtk_tree_view_column_new_with_attributes ("Name", - renderer, - "text", - NAME_COLUMN, - NULL); - gtk_tree_view_append_column (GTK_TREE_VIEW (treeview), column); + renderer = gtk_cell_renderer_text_new (); + column = gtk_tree_view_column_new_with_attributes ("Name", + renderer, + "text", + NAME_COLUMN, + NULL); + gtk_tree_view_append_column (GTK_TREE_VIEW (treeview), column); - return treeview; + return treeview; } static void build_multiple_docs_dialog (XedCloseConfirmationDialog *dlg) { - XedCloseConfirmationDialogPrivate *priv; - GtkWidget *hbox; - GtkWidget *image; - GtkWidget *vbox; - GtkWidget *primary_label; - GtkWidget *vbox2; - GtkWidget *select_label; - GtkWidget *scrolledwindow; - GtkWidget *treeview; - GtkWidget *secondary_label; - gchar *str; - gchar *markup_str; + XedCloseConfirmationDialogPrivate *priv; + GtkWidget *hbox; + GtkWidget *image; + GtkWidget *vbox; + GtkWidget *primary_label; + GtkWidget *vbox2; + GtkWidget *select_label; + GtkWidget *scrolledwindow; + GtkWidget *treeview; + GtkWidget *secondary_label; + gchar *str; + gchar *markup_str; - priv = dlg->priv; + priv = dlg->priv; - hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 12); - gtk_container_set_border_width (GTK_CONTAINER (hbox), 5); - gtk_box_pack_start (GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (dlg))), - hbox, TRUE, TRUE, 0); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 12); + gtk_container_set_border_width (GTK_CONTAINER (hbox), 5); + gtk_box_pack_start (GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (dlg))), hbox, TRUE, TRUE, 0); - /* Image */ - image = gtk_image_new_from_icon_name ("dialog-warning", - GTK_ICON_SIZE_DIALOG); - gtk_widget_set_halign (image, GTK_ALIGN_CENTER); - gtk_widget_set_valign (image, GTK_ALIGN_START); - gtk_box_pack_start (GTK_BOX (hbox), image, FALSE, FALSE, 0); + /* Image */ + image = gtk_image_new_from_icon_name ("dialog-warning", GTK_ICON_SIZE_DIALOG); + gtk_widget_set_halign (image, GTK_ALIGN_CENTER); + gtk_widget_set_valign (image, GTK_ALIGN_START); + gtk_box_pack_start (GTK_BOX (hbox), image, FALSE, FALSE, 0); - vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 12); - gtk_box_pack_start (GTK_BOX (hbox), vbox, TRUE, TRUE, 0); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 12); + gtk_box_pack_start (GTK_BOX (hbox), vbox, TRUE, TRUE, 0); - /* Primary label */ - primary_label = gtk_label_new (NULL); - gtk_label_set_line_wrap (GTK_LABEL (primary_label), TRUE); - gtk_label_set_use_markup (GTK_LABEL (primary_label), TRUE); - gtk_misc_set_alignment (GTK_MISC (primary_label), 0.0, 0.5); - gtk_label_set_selectable (GTK_LABEL (primary_label), TRUE); + /* Primary label */ + primary_label = gtk_label_new (NULL); + gtk_label_set_line_wrap (GTK_LABEL (primary_label), TRUE); + gtk_label_set_use_markup (GTK_LABEL (primary_label), TRUE); + gtk_misc_set_alignment (GTK_MISC (primary_label), 0.0, 0.5); + gtk_label_set_selectable (GTK_LABEL (primary_label), TRUE); - str = g_strdup_printf ( - ngettext ("There is %d document with unsaved changes. " - "Save changes before closing?", - "There are %d documents with unsaved changes. " - "Save changes before closing?", - g_list_length (priv->unsaved_documents)), - g_list_length (priv->unsaved_documents)); + str = g_strdup_printf (ngettext ("There is %d document with unsaved changes. " + "Save changes before closing?", + "There are %d documents with unsaved changes. " + "Save changes before closing?", + g_list_length (priv->unsaved_documents)), + g_list_length (priv->unsaved_documents)); - markup_str = g_strconcat ("", str, "", NULL); - g_free (str); - - gtk_label_set_markup (GTK_LABEL (primary_label), markup_str); - g_free (markup_str); - gtk_box_pack_start (GTK_BOX (vbox), primary_label, FALSE, FALSE, 0); - - vbox2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 8); - gtk_box_pack_start (GTK_BOX (vbox), vbox2, FALSE, FALSE, 0); + markup_str = g_strconcat ("", str, "", NULL); + g_free (str); - select_label = gtk_label_new_with_mnemonic (_("S_elect the documents you want to save:")); + gtk_label_set_markup (GTK_LABEL (primary_label), markup_str); + g_free (markup_str); + gtk_box_pack_start (GTK_BOX (vbox), primary_label, FALSE, FALSE, 0); - gtk_box_pack_start (GTK_BOX (vbox2), select_label, FALSE, FALSE, 0); - gtk_label_set_line_wrap (GTK_LABEL (select_label), TRUE); - gtk_misc_set_alignment (GTK_MISC (select_label), 0.0, 0.5); + vbox2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 8); + gtk_box_pack_start (GTK_BOX (vbox), vbox2, FALSE, FALSE, 0); - scrolledwindow = gtk_scrolled_window_new (NULL, NULL); - gtk_box_pack_start (GTK_BOX (vbox2), scrolledwindow, TRUE, TRUE, 0); - gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow), - GTK_POLICY_AUTOMATIC, - GTK_POLICY_AUTOMATIC); - gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrolledwindow), - GTK_SHADOW_IN); - gtk_scrolled_window_set_min_content_height (GTK_SCROLLED_WINDOW (scrolledwindow), 60); + select_label = gtk_label_new_with_mnemonic (_("S_elect the documents you want to save:")); - treeview = create_treeview (priv); - gtk_container_add (GTK_CONTAINER (scrolledwindow), treeview); + gtk_box_pack_start (GTK_BOX (vbox2), select_label, FALSE, FALSE, 0); + gtk_label_set_line_wrap (GTK_LABEL (select_label), TRUE); + gtk_misc_set_alignment (GTK_MISC (select_label), 0.0, 0.5); - /* Secondary label */ - secondary_label = gtk_label_new (_("If you don't save, " - "all your changes will be permanently lost.")); + scrolledwindow = gtk_scrolled_window_new (NULL, NULL); + gtk_box_pack_start (GTK_BOX (vbox2), scrolledwindow, TRUE, TRUE, 0); + gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); + gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrolledwindow), GTK_SHADOW_IN); + gtk_scrolled_window_set_min_content_height (GTK_SCROLLED_WINDOW (scrolledwindow), 60); - gtk_box_pack_start (GTK_BOX (vbox2), secondary_label, FALSE, FALSE, 0); - gtk_label_set_line_wrap (GTK_LABEL (secondary_label), TRUE); - gtk_misc_set_alignment (GTK_MISC (secondary_label), 0.0, 0.5); - gtk_label_set_selectable (GTK_LABEL (secondary_label), TRUE); + treeview = create_treeview (priv); + gtk_container_add (GTK_CONTAINER (scrolledwindow), treeview); - gtk_label_set_mnemonic_widget (GTK_LABEL (select_label), treeview); + /* Secondary label */ + secondary_label = gtk_label_new (_("If you don't save, " + "all your changes will be permanently lost.")); - gtk_widget_show_all (hbox); + gtk_box_pack_start (GTK_BOX (vbox2), secondary_label, FALSE, FALSE, 0); + gtk_label_set_line_wrap (GTK_LABEL (secondary_label), TRUE); + gtk_misc_set_alignment (GTK_MISC (secondary_label), 0.0, 0.5); + gtk_label_set_selectable (GTK_LABEL (secondary_label), TRUE); + + gtk_label_set_mnemonic_widget (GTK_LABEL (select_label), treeview); + + gtk_widget_show_all (hbox); } static void set_unsaved_document (XedCloseConfirmationDialog *dlg, - const GList *list) + const GList *list) { - XedCloseConfirmationDialogPrivate *priv; + XedCloseConfirmationDialogPrivate *priv; - g_return_if_fail (list != NULL); + g_return_if_fail (list != NULL); - priv = dlg->priv; - g_return_if_fail (priv->unsaved_documents == NULL); + priv = dlg->priv; + g_return_if_fail (priv->unsaved_documents == NULL); - priv->unsaved_documents = g_list_copy ((GList *)list); + priv->unsaved_documents = g_list_copy ((GList *)list); - if (GET_MODE (priv) == SINGLE_DOC_MODE) - { - build_single_doc_dialog (dlg); - } - else - { - build_multiple_docs_dialog (dlg); - } + if (GET_MODE (priv) == SINGLE_DOC_MODE) + { + build_single_doc_dialog (dlg); + } + else + { + build_multiple_docs_dialog (dlg); + } } const GList * xed_close_confirmation_dialog_get_unsaved_documents (XedCloseConfirmationDialog *dlg) { - g_return_val_if_fail (XED_IS_CLOSE_CONFIRMATION_DIALOG (dlg), NULL); + g_return_val_if_fail (XED_IS_CLOSE_CONFIRMATION_DIALOG (dlg), NULL); - return dlg->priv->unsaved_documents; + return dlg->priv->unsaved_documents; }