mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2024-12-24 12:41:16 +00:00
Fill the location entry with the display name of the file under the cursor
2004-03-25 Federico Mena Quintero <federico@ximian.com> * gtk/gtkfilechooserdefault.c (location_entry_create): Fill the location entry with the display name of the file under the cursor for Open mode, or the typed filename in Save mode.
This commit is contained in:
parent
c30e3b222c
commit
cd486d396f
@ -1,3 +1,9 @@
|
||||
2004-03-25 Federico Mena Quintero <federico@ximian.com>
|
||||
|
||||
* gtk/gtkfilechooserdefault.c (location_entry_create): Fill the
|
||||
location entry with the display name of the file under the cursor
|
||||
for Open mode, or the typed filename in Save mode.
|
||||
|
||||
2004-03-24 J. Ali Harlow <ali@juiblex.co.uk>
|
||||
|
||||
* gtk/gtkfilesystemwin32.c
|
||||
|
@ -1,3 +1,9 @@
|
||||
2004-03-25 Federico Mena Quintero <federico@ximian.com>
|
||||
|
||||
* gtk/gtkfilechooserdefault.c (location_entry_create): Fill the
|
||||
location entry with the display name of the file under the cursor
|
||||
for Open mode, or the typed filename in Save mode.
|
||||
|
||||
2004-03-24 J. Ali Harlow <ali@juiblex.co.uk>
|
||||
|
||||
* gtk/gtkfilesystemwin32.c
|
||||
|
@ -1,3 +1,9 @@
|
||||
2004-03-25 Federico Mena Quintero <federico@ximian.com>
|
||||
|
||||
* gtk/gtkfilechooserdefault.c (location_entry_create): Fill the
|
||||
location entry with the display name of the file under the cursor
|
||||
for Open mode, or the typed filename in Save mode.
|
||||
|
||||
2004-03-24 J. Ali Harlow <ali@juiblex.co.uk>
|
||||
|
||||
* gtk/gtkfilesystemwin32.c
|
||||
|
@ -1,3 +1,9 @@
|
||||
2004-03-25 Federico Mena Quintero <federico@ximian.com>
|
||||
|
||||
* gtk/gtkfilechooserdefault.c (location_entry_create): Fill the
|
||||
location entry with the display name of the file under the cursor
|
||||
for Open mode, or the typed filename in Save mode.
|
||||
|
||||
2004-03-24 J. Ali Harlow <ali@juiblex.co.uk>
|
||||
|
||||
* gtk/gtkfilesystemwin32.c
|
||||
|
@ -1,3 +1,9 @@
|
||||
2004-03-25 Federico Mena Quintero <federico@ximian.com>
|
||||
|
||||
* gtk/gtkfilechooserdefault.c (location_entry_create): Fill the
|
||||
location entry with the display name of the file under the cursor
|
||||
for Open mode, or the typed filename in Save mode.
|
||||
|
||||
2004-03-24 J. Ali Harlow <ali@juiblex.co.uk>
|
||||
|
||||
* gtk/gtkfilesystemwin32.c
|
||||
|
@ -4867,6 +4867,47 @@ _gtk_file_chooser_default_new (const char *file_system)
|
||||
NULL);
|
||||
}
|
||||
|
||||
/* Sets the file part of a file chooser entry from the file under the cursor */
|
||||
static void
|
||||
location_entry_set_from_list (GtkFileChooserDefault *impl,
|
||||
GtkFileChooserEntry *entry)
|
||||
{
|
||||
GtkTreePath *tree_path;
|
||||
GtkTreeIter iter, child_iter;
|
||||
const GtkFileInfo *info;
|
||||
const char *name;
|
||||
|
||||
g_assert (impl->action == GTK_FILE_CHOOSER_ACTION_OPEN
|
||||
|| impl->action == GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER);
|
||||
|
||||
gtk_tree_view_get_cursor (GTK_TREE_VIEW (impl->browse_files_tree_view), &tree_path, NULL);
|
||||
if (!tree_path)
|
||||
return;
|
||||
|
||||
gtk_tree_model_get_iter (GTK_TREE_MODEL (impl->sort_model), &iter, tree_path);
|
||||
gtk_tree_path_free (tree_path);
|
||||
|
||||
gtk_tree_model_sort_convert_iter_to_child_iter (impl->sort_model, &child_iter, &iter);
|
||||
|
||||
info = _gtk_file_system_model_get_info (impl->browse_files_model, &child_iter);
|
||||
if (!info)
|
||||
return;
|
||||
|
||||
name = gtk_file_info_get_display_name (info);
|
||||
_gtk_file_chooser_entry_set_file_part (entry, name);
|
||||
}
|
||||
|
||||
/* Sets the file part of a file chooser entry from the Name entry in save mode */
|
||||
static void
|
||||
location_entry_set_from_save_name (GtkFileChooserDefault *impl,
|
||||
GtkFileChooserEntry *entry)
|
||||
{
|
||||
g_assert (impl->action == GTK_FILE_CHOOSER_ACTION_SAVE
|
||||
|| impl->action == GTK_FILE_CHOOSER_ACTION_CREATE_FOLDER);
|
||||
|
||||
_gtk_file_chooser_entry_set_file_part (entry, gtk_entry_get_text (GTK_ENTRY (impl->save_file_name_entry)));
|
||||
}
|
||||
|
||||
static GtkWidget *
|
||||
location_entry_create (GtkFileChooserDefault *impl)
|
||||
{
|
||||
@ -4879,6 +4920,15 @@ location_entry_create (GtkFileChooserDefault *impl)
|
||||
_gtk_file_chooser_entry_set_file_system (GTK_FILE_CHOOSER_ENTRY (entry), impl->file_system);
|
||||
_gtk_file_chooser_entry_set_base_folder (GTK_FILE_CHOOSER_ENTRY (entry), impl->current_folder);
|
||||
|
||||
if (impl->action == GTK_FILE_CHOOSER_ACTION_OPEN
|
||||
|| impl->action == GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER)
|
||||
location_entry_set_from_list (impl, GTK_FILE_CHOOSER_ENTRY (entry));
|
||||
else if (impl->action == GTK_FILE_CHOOSER_ACTION_SAVE
|
||||
|| impl->action == GTK_FILE_CHOOSER_ACTION_CREATE_FOLDER)
|
||||
location_entry_set_from_save_name (impl, GTK_FILE_CHOOSER_ENTRY (entry));
|
||||
else
|
||||
g_assert_not_reached ();
|
||||
|
||||
return GTK_WIDGET (entry);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user