[gedit] file chooser: get back the line ending change on saving
- From: Ignacio Casal Quinteiro <icq src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gedit] file chooser: get back the line ending change on saving
- Date: Tue, 4 Nov 2014 11:21:16 +0000 (UTC)
commit c445571bd940294ca68f1605b8c57d4d48c56001
Author: Ignacio Casal Quinteiro <icq gnome org>
Date: Tue Nov 4 12:18:19 2014 +0100
file chooser: get back the line ending change on saving
This was removed by mistake on the refactoring.
gedit/gedit-file-chooser-dialog-gtk.c | 46 +++++++++++++++++++++++++++++++++
1 files changed, 46 insertions(+), 0 deletions(-)
---
diff --git a/gedit/gedit-file-chooser-dialog-gtk.c b/gedit/gedit-file-chooser-dialog-gtk.c
index ec58b09..4386462 100644
--- a/gedit/gedit-file-chooser-dialog-gtk.c
+++ b/gedit/gedit-file-chooser-dialog-gtk.c
@@ -330,6 +330,15 @@ create_option_menu (GeditFileChooserDialogGtk *dialog,
}
static void
+update_newline_visibility (GeditFileChooserDialogGtk *dialog)
+{
+ gboolean visible = gtk_file_chooser_get_action (GTK_FILE_CHOOSER (dialog)) ==
GTK_FILE_CHOOSER_ACTION_SAVE;
+
+ gtk_widget_set_visible (dialog->priv->newline_label, visible);
+ gtk_widget_set_visible (dialog->priv->newline_combo, visible);
+}
+
+static void
newline_combo_append (GtkComboBox *combo,
GtkListStore *store,
GtkTreeIter *iter,
@@ -404,6 +413,8 @@ create_newline_combo (GeditFileChooserDialogGtk *dialog)
dialog->priv->newline_combo = combo;
dialog->priv->newline_label = label;
dialog->priv->newline_store = store;
+
+ update_newline_visibility (dialog);
}
static void
@@ -440,6 +451,36 @@ create_extra_widget (GeditFileChooserDialogGtk *dialog,
}
static void
+action_changed (GeditFileChooserDialogGtk *dialog,
+ GParamSpec *pspec,
+ gpointer data)
+{
+ GtkFileChooserAction action;
+
+ action = gtk_file_chooser_get_action (GTK_FILE_CHOOSER (dialog));
+
+ switch (action)
+ {
+ case GTK_FILE_CHOOSER_ACTION_OPEN:
+ g_object_set (dialog->priv->option_menu,
+ "save_mode", FALSE,
+ NULL);
+ gtk_widget_show (dialog->priv->option_menu);
+ break;
+ case GTK_FILE_CHOOSER_ACTION_SAVE:
+ g_object_set (dialog->priv->option_menu,
+ "save_mode", TRUE,
+ NULL);
+ gtk_widget_show (dialog->priv->option_menu);
+ break;
+ default:
+ gtk_widget_hide (dialog->priv->option_menu);
+ }
+
+ update_newline_visibility (dialog);
+}
+
+static void
filter_changed (GeditFileChooserDialogGtk *dialog,
GParamSpec *pspec,
gpointer data)
@@ -587,6 +628,11 @@ gedit_file_chooser_dialog_gtk_create (const gchar *title,
create_extra_widget (GEDIT_FILE_CHOOSER_DIALOG_GTK (result), flags);
+ g_signal_connect (result,
+ "notify::action",
+ G_CALLBACK (action_changed),
+ NULL);
+
if (encoding != NULL)
{
gedit_encodings_combo_box_set_selected_encoding (
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]