summaryrefslogtreecommitdiff
path: root/gtk/gtkprinteroptionwidget.c
diff options
context:
space:
mode:
authorAlexander Larsson <alexl@redhat.com>2006-05-23 08:20:30 +0000
committerAlexander Larsson <alexl@src.gnome.org>2006-05-23 08:20:30 +0000
commitf291474c50f9a6968872c42c20e1674321b884e7 (patch)
tree11d3c54ef254bd5ffc07f691fe178c52f815b2fe /gtk/gtkprinteroptionwidget.c
parent07d2dd1700ac013b0389af6cd6a607c7266784a5 (diff)
downloadgtk+-f291474c50f9a6968872c42c20e1674321b884e7.tar.gz
Allow absolute filenames in filename entry. Patch from Yevgen Muntyan
2006-05-23 Alexander Larsson <alexl@redhat.com> * gtk/gtkprinteroptionwidget.c (filesave_changed_cb): Allow absolute filenames in filename entry. Patch from Yevgen Muntyan (#341679)
Diffstat (limited to 'gtk/gtkprinteroptionwidget.c')
-rw-r--r--gtk/gtkprinteroptionwidget.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/gtk/gtkprinteroptionwidget.c b/gtk/gtkprinteroptionwidget.c
index 440b873a1d..37c1f57d4c 100644
--- a/gtk/gtkprinteroptionwidget.c
+++ b/gtk/gtkprinteroptionwidget.c
@@ -420,7 +420,14 @@ filesave_changed_cb (GtkWidget *w,
directory = gtk_file_chooser_get_current_folder (GTK_FILE_CHOOSER (priv->combo));
file = gtk_entry_get_text (GTK_ENTRY (priv->entry));
- value = g_build_filename (directory, file, NULL);
+ if (g_path_is_absolute (file))
+ value = g_strdup (file);
+#ifdef G_OS_UNIX
+ else if (file[0] == '~' && file[1] == '/')
+ value = g_build_filename (g_get_home_dir (), file + 2, NULL);
+#endif
+ else
+ value = g_build_filename (directory, file, NULL);
if (value)
gtk_printer_option_set (priv->source, value);