If the location dialog is brought up by typing '/', insert the slash in
2004-10-24 Matthias Clasen <mclasen@redhat.com> * gtk/gtkfilechooserdefault.c (location_popup_handler): If the location dialog is brought up by typing '/', insert the slash in the entry. (#155370, Warren Togami) 2004-10-23 Matthias Clasen <mclasen@redhat.com> * gtk/gtkfilechooserdefault.c (tree_view_keybinding_cb) (trap_activate_cb): Accept shift-/ for bringing up the location popup, since German and French keyboards generate such events. (#154163, Frederic Crozat)
This commit is contained in:
parent
ff9e1e7ac4
commit
a2997a6065
11
ChangeLog
11
ChangeLog
@ -1,5 +1,16 @@
|
|||||||
|
2004-10-24 Matthias Clasen <mclasen@redhat.com>
|
||||||
|
|
||||||
|
* gtk/gtkfilechooserdefault.c (location_popup_handler): If the
|
||||||
|
location dialog is brought up by typing '/', insert the slash
|
||||||
|
in the entry. (#155370, Warren Togami)
|
||||||
|
|
||||||
2004-10-23 Matthias Clasen <mclasen@redhat.com>
|
2004-10-23 Matthias Clasen <mclasen@redhat.com>
|
||||||
|
|
||||||
|
* gtk/gtkfilechooserdefault.c (tree_view_keybinding_cb)
|
||||||
|
(trap_activate_cb): Accept shift-/ for bringing up the location
|
||||||
|
popup, since German and French keyboards generate such
|
||||||
|
events. (#154163, Frederic Crozat)
|
||||||
|
|
||||||
* gtk/gtktreeview.c (gtk_tree_view_size_allocate): Invalidate
|
* gtk/gtktreeview.c (gtk_tree_view_size_allocate): Invalidate
|
||||||
the window if the tree is empty, to avoid resizing artifacts
|
the window if the tree is empty, to avoid resizing artifacts
|
||||||
from the focus rectangle. (#155881, Vincent Noel, patch by
|
from the focus rectangle. (#155881, Vincent Noel, patch by
|
||||||
|
@ -1,5 +1,16 @@
|
|||||||
|
2004-10-24 Matthias Clasen <mclasen@redhat.com>
|
||||||
|
|
||||||
|
* gtk/gtkfilechooserdefault.c (location_popup_handler): If the
|
||||||
|
location dialog is brought up by typing '/', insert the slash
|
||||||
|
in the entry. (#155370, Warren Togami)
|
||||||
|
|
||||||
2004-10-23 Matthias Clasen <mclasen@redhat.com>
|
2004-10-23 Matthias Clasen <mclasen@redhat.com>
|
||||||
|
|
||||||
|
* gtk/gtkfilechooserdefault.c (tree_view_keybinding_cb)
|
||||||
|
(trap_activate_cb): Accept shift-/ for bringing up the location
|
||||||
|
popup, since German and French keyboards generate such
|
||||||
|
events. (#154163, Frederic Crozat)
|
||||||
|
|
||||||
* gtk/gtktreeview.c (gtk_tree_view_size_allocate): Invalidate
|
* gtk/gtktreeview.c (gtk_tree_view_size_allocate): Invalidate
|
||||||
the window if the tree is empty, to avoid resizing artifacts
|
the window if the tree is empty, to avoid resizing artifacts
|
||||||
from the focus rectangle. (#155881, Vincent Noel, patch by
|
from the focus rectangle. (#155881, Vincent Noel, patch by
|
||||||
|
@ -1,5 +1,16 @@
|
|||||||
|
2004-10-24 Matthias Clasen <mclasen@redhat.com>
|
||||||
|
|
||||||
|
* gtk/gtkfilechooserdefault.c (location_popup_handler): If the
|
||||||
|
location dialog is brought up by typing '/', insert the slash
|
||||||
|
in the entry. (#155370, Warren Togami)
|
||||||
|
|
||||||
2004-10-23 Matthias Clasen <mclasen@redhat.com>
|
2004-10-23 Matthias Clasen <mclasen@redhat.com>
|
||||||
|
|
||||||
|
* gtk/gtkfilechooserdefault.c (tree_view_keybinding_cb)
|
||||||
|
(trap_activate_cb): Accept shift-/ for bringing up the location
|
||||||
|
popup, since German and French keyboards generate such
|
||||||
|
events. (#154163, Frederic Crozat)
|
||||||
|
|
||||||
* gtk/gtktreeview.c (gtk_tree_view_size_allocate): Invalidate
|
* gtk/gtktreeview.c (gtk_tree_view_size_allocate): Invalidate
|
||||||
the window if the tree is empty, to avoid resizing artifacts
|
the window if the tree is empty, to avoid resizing artifacts
|
||||||
from the focus rectangle. (#155881, Vincent Noel, patch by
|
from the focus rectangle. (#155881, Vincent Noel, patch by
|
||||||
|
@ -1,5 +1,16 @@
|
|||||||
|
2004-10-24 Matthias Clasen <mclasen@redhat.com>
|
||||||
|
|
||||||
|
* gtk/gtkfilechooserdefault.c (location_popup_handler): If the
|
||||||
|
location dialog is brought up by typing '/', insert the slash
|
||||||
|
in the entry. (#155370, Warren Togami)
|
||||||
|
|
||||||
2004-10-23 Matthias Clasen <mclasen@redhat.com>
|
2004-10-23 Matthias Clasen <mclasen@redhat.com>
|
||||||
|
|
||||||
|
* gtk/gtkfilechooserdefault.c (tree_view_keybinding_cb)
|
||||||
|
(trap_activate_cb): Accept shift-/ for bringing up the location
|
||||||
|
popup, since German and French keyboards generate such
|
||||||
|
events. (#154163, Frederic Crozat)
|
||||||
|
|
||||||
* gtk/gtktreeview.c (gtk_tree_view_size_allocate): Invalidate
|
* gtk/gtktreeview.c (gtk_tree_view_size_allocate): Invalidate
|
||||||
the window if the tree is empty, to avoid resizing artifacts
|
the window if the tree is empty, to avoid resizing artifacts
|
||||||
from the focus rectangle. (#155881, Vincent Noel, patch by
|
from the focus rectangle. (#155881, Vincent Noel, patch by
|
||||||
|
@ -331,7 +331,8 @@ static void gtk_file_chooser_default_get_resizable_hints (GtkFileCh
|
|||||||
static gboolean gtk_file_chooser_default_should_respond (GtkFileChooserEmbed *chooser_embed);
|
static gboolean gtk_file_chooser_default_should_respond (GtkFileChooserEmbed *chooser_embed);
|
||||||
static void gtk_file_chooser_default_initial_focus (GtkFileChooserEmbed *chooser_embed);
|
static void gtk_file_chooser_default_initial_focus (GtkFileChooserEmbed *chooser_embed);
|
||||||
|
|
||||||
static void location_popup_handler (GtkFileChooserDefault *impl);
|
static void location_popup_handler (GtkFileChooserDefault *impl,
|
||||||
|
const gchar *path);
|
||||||
static void up_folder_handler (GtkFileChooserDefault *impl);
|
static void up_folder_handler (GtkFileChooserDefault *impl);
|
||||||
static void down_folder_handler (GtkFileChooserDefault *impl);
|
static void down_folder_handler (GtkFileChooserDefault *impl);
|
||||||
static void home_folder_handler (GtkFileChooserDefault *impl);
|
static void home_folder_handler (GtkFileChooserDefault *impl);
|
||||||
@ -516,8 +517,8 @@ gtk_file_chooser_default_class_init (GtkFileChooserDefaultClass *class)
|
|||||||
G_SIGNAL_RUN_FIRST | G_SIGNAL_ACTION,
|
G_SIGNAL_RUN_FIRST | G_SIGNAL_ACTION,
|
||||||
G_CALLBACK (location_popup_handler),
|
G_CALLBACK (location_popup_handler),
|
||||||
NULL, NULL,
|
NULL, NULL,
|
||||||
_gtk_marshal_VOID__VOID,
|
_gtk_marshal_VOID__STRING,
|
||||||
G_TYPE_NONE, 0);
|
G_TYPE_NONE, 1, G_TYPE_STRING);
|
||||||
signals[UP_FOLDER] =
|
signals[UP_FOLDER] =
|
||||||
_gtk_binding_signal_new ("up-folder",
|
_gtk_binding_signal_new ("up-folder",
|
||||||
G_OBJECT_CLASS_TYPE (class),
|
G_OBJECT_CLASS_TYPE (class),
|
||||||
@ -548,12 +549,12 @@ gtk_file_chooser_default_class_init (GtkFileChooserDefaultClass *class)
|
|||||||
gtk_binding_entry_add_signal (binding_set,
|
gtk_binding_entry_add_signal (binding_set,
|
||||||
GDK_l, GDK_CONTROL_MASK,
|
GDK_l, GDK_CONTROL_MASK,
|
||||||
"location-popup",
|
"location-popup",
|
||||||
0);
|
1, G_TYPE_STRING, "");
|
||||||
|
|
||||||
gtk_binding_entry_add_signal (binding_set,
|
gtk_binding_entry_add_signal (binding_set,
|
||||||
GDK_slash, 0,
|
GDK_slash, 0,
|
||||||
"location-popup",
|
"location-popup",
|
||||||
0);
|
1, G_TYPE_STRING, "/");
|
||||||
|
|
||||||
gtk_binding_entry_add_signal (binding_set,
|
gtk_binding_entry_add_signal (binding_set,
|
||||||
GDK_Up, GDK_MOD1_MASK,
|
GDK_Up, GDK_MOD1_MASK,
|
||||||
@ -2653,9 +2654,9 @@ tree_view_keybinding_cb (GtkWidget *tree_view,
|
|||||||
GtkFileChooserDefault *impl)
|
GtkFileChooserDefault *impl)
|
||||||
{
|
{
|
||||||
if (event->keyval == GDK_slash &&
|
if (event->keyval == GDK_slash &&
|
||||||
! (event->state & gtk_accelerator_get_default_mod_mask ()))
|
! (event->state & (~GDK_SHIFT_MASK & gtk_accelerator_get_default_mod_mask ())))
|
||||||
{
|
{
|
||||||
location_popup_handler (impl);
|
location_popup_handler (impl, "/");
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2830,9 +2831,9 @@ trap_activate_cb (GtkWidget *widget,
|
|||||||
impl = (GtkFileChooserDefault *) data;
|
impl = (GtkFileChooserDefault *) data;
|
||||||
|
|
||||||
if (event->keyval == GDK_slash &&
|
if (event->keyval == GDK_slash &&
|
||||||
! (event->state & gtk_accelerator_get_default_mod_mask ()))
|
! (event->state & (~GDK_SHIFT_MASK & gtk_accelerator_get_default_mod_mask ())))
|
||||||
{
|
{
|
||||||
location_popup_handler (impl);
|
location_popup_handler (impl, "/");
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -4468,7 +4469,8 @@ gtk_file_chooser_default_select_all (GtkFileChooser *chooser)
|
|||||||
{
|
{
|
||||||
GtkFileChooserDefault *impl = GTK_FILE_CHOOSER_DEFAULT (chooser);
|
GtkFileChooserDefault *impl = GTK_FILE_CHOOSER_DEFAULT (chooser);
|
||||||
if (impl->select_multiple)
|
if (impl->select_multiple)
|
||||||
gtk_tree_model_foreach (impl->sort_model, maybe_select, impl);
|
gtk_tree_model_foreach (GTK_TREE_MODEL (impl->sort_model),
|
||||||
|
maybe_select, impl);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@ -5598,7 +5600,8 @@ _gtk_file_chooser_default_new (const char *file_system)
|
|||||||
}
|
}
|
||||||
|
|
||||||
static GtkWidget *
|
static GtkWidget *
|
||||||
location_entry_create (GtkFileChooserDefault *impl)
|
location_entry_create (GtkFileChooserDefault *impl,
|
||||||
|
const gchar *path)
|
||||||
{
|
{
|
||||||
GtkWidget *entry;
|
GtkWidget *entry;
|
||||||
|
|
||||||
@ -5607,17 +5610,26 @@ location_entry_create (GtkFileChooserDefault *impl)
|
|||||||
gtk_entry_set_width_chars (GTK_ENTRY (entry), 30);
|
gtk_entry_set_width_chars (GTK_ENTRY (entry), 30);
|
||||||
gtk_entry_set_activates_default (GTK_ENTRY (entry), TRUE);
|
gtk_entry_set_activates_default (GTK_ENTRY (entry), TRUE);
|
||||||
_gtk_file_chooser_entry_set_file_system (GTK_FILE_CHOOSER_ENTRY (entry), impl->file_system);
|
_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);
|
|
||||||
_gtk_file_chooser_entry_set_action (GTK_FILE_CHOOSER_ENTRY (entry), impl->action);
|
_gtk_file_chooser_entry_set_action (GTK_FILE_CHOOSER_ENTRY (entry), impl->action);
|
||||||
if (impl->action == GTK_FILE_CHOOSER_ACTION_OPEN
|
if (path[0])
|
||||||
|| impl->action == GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER)
|
{
|
||||||
_gtk_file_chooser_entry_set_file_part (GTK_FILE_CHOOSER_ENTRY (entry), "");
|
_gtk_file_chooser_entry_set_base_folder (GTK_FILE_CHOOSER_ENTRY (entry),
|
||||||
else if (impl->action == GTK_FILE_CHOOSER_ACTION_SAVE
|
(const GtkFilePath *)gtk_file_path_new_steal (path));
|
||||||
|| impl->action == GTK_FILE_CHOOSER_ACTION_CREATE_FOLDER)
|
_gtk_file_chooser_entry_set_file_part (GTK_FILE_CHOOSER_ENTRY (entry), path);
|
||||||
_gtk_file_chooser_entry_set_file_part (GTK_FILE_CHOOSER_ENTRY (entry),
|
}
|
||||||
gtk_entry_get_text (GTK_ENTRY (impl->save_file_name_entry)));
|
|
||||||
else
|
else
|
||||||
g_assert_not_reached ();
|
{
|
||||||
|
_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)
|
||||||
|
_gtk_file_chooser_entry_set_file_part (GTK_FILE_CHOOSER_ENTRY (entry), "");
|
||||||
|
else if (impl->action == GTK_FILE_CHOOSER_ACTION_SAVE
|
||||||
|
|| impl->action == GTK_FILE_CHOOSER_ACTION_CREATE_FOLDER)
|
||||||
|
_gtk_file_chooser_entry_set_file_part (GTK_FILE_CHOOSER_ENTRY (entry),
|
||||||
|
gtk_entry_get_text (GTK_ENTRY (impl->save_file_name_entry)));
|
||||||
|
else
|
||||||
|
g_assert_not_reached ();
|
||||||
|
}
|
||||||
|
|
||||||
return GTK_WIDGET (entry);
|
return GTK_WIDGET (entry);
|
||||||
}
|
}
|
||||||
@ -5734,7 +5746,8 @@ update_from_entry (GtkFileChooserDefault *impl,
|
|||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
location_popup_handler (GtkFileChooserDefault *impl)
|
location_popup_handler (GtkFileChooserDefault *impl,
|
||||||
|
const gchar *path)
|
||||||
{
|
{
|
||||||
GtkWidget *dialog;
|
GtkWidget *dialog;
|
||||||
GtkWindow *toplevel;
|
GtkWindow *toplevel;
|
||||||
@ -5781,13 +5794,20 @@ location_popup_handler (GtkFileChooserDefault *impl)
|
|||||||
label = gtk_label_new_with_mnemonic (_("_Location:"));
|
label = gtk_label_new_with_mnemonic (_("_Location:"));
|
||||||
gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0);
|
gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0);
|
||||||
|
|
||||||
entry = location_entry_create (impl);
|
entry = location_entry_create (impl, path);
|
||||||
|
|
||||||
gtk_box_pack_start (GTK_BOX (hbox), entry, TRUE, TRUE, 0);
|
gtk_box_pack_start (GTK_BOX (hbox), entry, TRUE, TRUE, 0);
|
||||||
gtk_label_set_mnemonic_widget (GTK_LABEL (label), entry);
|
gtk_label_set_mnemonic_widget (GTK_LABEL (label), entry);
|
||||||
|
|
||||||
/* Run */
|
/* Run */
|
||||||
|
|
||||||
gtk_widget_show_all (dialog);
|
gtk_widget_show_all (dialog);
|
||||||
|
/* If the dialog is brought up by typing the first characters
|
||||||
|
* of a path, unselect the text in the entry, so that you can
|
||||||
|
* just type on without erasing the initial part.
|
||||||
|
*/
|
||||||
|
if (path[0])
|
||||||
|
gtk_editable_select_region (GTK_EDITABLE (entry), -1, -1);
|
||||||
|
|
||||||
refocus = TRUE;
|
refocus = TRUE;
|
||||||
|
|
||||||
@ -5871,7 +5891,7 @@ _shortcuts_model_filter_init (ShortcutsModelFilter *model)
|
|||||||
/* GtkTreeDragSource::row_draggable implementation for the shortcuts filter model */
|
/* GtkTreeDragSource::row_draggable implementation for the shortcuts filter model */
|
||||||
static gboolean
|
static gboolean
|
||||||
shortcuts_model_filter_row_draggable (GtkTreeDragSource *drag_source,
|
shortcuts_model_filter_row_draggable (GtkTreeDragSource *drag_source,
|
||||||
GtkTreePath *path)
|
GtkTreePath[0] *path)
|
||||||
{
|
{
|
||||||
ShortcutsModelFilter *model;
|
ShortcutsModelFilter *model;
|
||||||
int pos;
|
int pos;
|
||||||
|
Loading…
Reference in New Issue
Block a user