slackware-current/source/l/gtk+/gtk+-1.2.10-deletedir.patch

189 lines
4.9 KiB
Diff
Raw Permalink Normal View History

--- gtk+-1.2.10/gtk/gtkfilesel.c.deletedir Thu Feb 15 23:36:19 2001
+++ gtk+-1.2.10/gtk/gtkfilesel.c Wed Apr 17 20:36:25 2002
@@ -325,7 +325,8 @@
static void gtk_file_selection_populate (GtkFileSelection *fs,
gchar *rel_path,
- gint try_complete);
+ gboolean try_complete,
+ gboolean reset_entry);
static void gtk_file_selection_abort (GtkFileSelection *fs);
static void gtk_file_selection_update_history_menu (GtkFileSelection *fs,
@@ -522,7 +523,7 @@
}
else
{
- gtk_file_selection_populate (filesel, "", FALSE);
+ gtk_file_selection_populate (filesel, "", FALSE, TRUE);
}
gtk_widget_grab_focus (filesel->selection_entry);
@@ -637,7 +638,7 @@
name = last_slash + 1;
}
- gtk_file_selection_populate (filesel, buf, FALSE);
+ gtk_file_selection_populate (filesel, buf, FALSE, TRUE);
if (filesel->selection_entry)
gtk_entry_set_text (GTK_ENTRY (filesel->selection_entry), name);
@@ -673,7 +674,7 @@
if (filesel->selection_entry)
gtk_entry_set_text (GTK_ENTRY (filesel->selection_entry), pattern);
- gtk_file_selection_populate (filesel, (gchar*) pattern, TRUE);
+ gtk_file_selection_populate (filesel, (gchar*) pattern, TRUE, TRUE);
}
static void
@@ -806,7 +807,7 @@
g_free (full_path);
gtk_widget_destroy (fs->fileop_dialog);
- gtk_file_selection_populate (fs, "", FALSE);
+ gtk_file_selection_populate (fs, "", FALSE, FALSE);
}
static void
@@ -903,7 +904,7 @@
g_free (full_path);
gtk_widget_destroy (fs->fileop_dialog);
- gtk_file_selection_populate (fs, "", FALSE);
+ gtk_file_selection_populate (fs, "", FALSE, TRUE);
}
static void
@@ -1009,8 +1010,9 @@
g_free (new_filename);
g_free (old_filename);
+ gtk_file_selection_populate (fs, "", FALSE, FALSE);
+ gtk_entry_set_text (GTK_ENTRY (fs->selection_entry), file);
gtk_widget_destroy (fs->fileop_dialog);
- gtk_file_selection_populate (fs, "", FALSE);
}
static void
@@ -1112,7 +1114,7 @@
text = g_strdup (text);
- gtk_file_selection_populate (fs, text, TRUE);
+ gtk_file_selection_populate (fs, text, TRUE, TRUE);
g_free (text);
@@ -1124,7 +1126,6 @@
return FALSE;
}
-
static void
gtk_file_selection_history_callback (GtkWidget *widget, gpointer data)
{
@@ -1142,7 +1143,7 @@
if (callback_arg->menu_item == widget)
{
- gtk_file_selection_populate (fs, callback_arg->directory, FALSE);
+ gtk_file_selection_populate (fs, callback_arg->directory, FALSE, FALSE);
break;
}
@@ -1272,7 +1273,7 @@
gpointer user_data)
{
GtkFileSelection *fs = NULL;
- gchar *filename, *temp = NULL;
+ gchar *filename = NULL;
g_return_if_fail (GTK_IS_CLIST (widget));
@@ -1280,39 +1281,23 @@
g_return_if_fail (fs != NULL);
g_return_if_fail (GTK_IS_FILE_SELECTION (fs));
- gtk_clist_get_text (GTK_CLIST (fs->dir_list), row, 0, &temp);
- filename = g_strdup (temp);
-
- if (filename)
- {
- if (bevent)
- switch (bevent->type)
- {
- case GDK_2BUTTON_PRESS:
- gtk_file_selection_populate (fs, filename, FALSE);
- break;
-
- default:
- gtk_entry_set_text (GTK_ENTRY (fs->selection_entry), filename);
- break;
- }
- else
- gtk_entry_set_text (GTK_ENTRY (fs->selection_entry), filename);
-
- g_free (filename);
- }
+ gtk_clist_get_text (GTK_CLIST (fs->dir_list), row, 0, &filename);
+
+ if (filename && bevent && bevent->type == GDK_2BUTTON_PRESS)
+ gtk_file_selection_populate (fs, filename, FALSE, FALSE);
}
static void
gtk_file_selection_populate (GtkFileSelection *fs,
gchar *rel_path,
- gint try_complete)
+ gboolean try_complete,
+ gboolean reset_entry)
{
CompletionState *cmpl_state;
PossibleCompletion* poss;
gchar* filename;
gint row;
- gchar* rem_path = rel_path;
+ gchar* rem_path;
gchar* sel_text;
gchar* text[2];
gint did_recurse = FALSE;
@@ -1323,6 +1308,8 @@
g_return_if_fail (fs != NULL);
g_return_if_fail (GTK_IS_FILE_SELECTION (fs));
+
+ rem_path = rel_path = g_strdup (rel_path);
cmpl_state = (CompletionState*) fs->cmpl_state;
poss = cmpl_completion_matches (rel_path, &rem_path, cmpl_state);
@@ -1422,7 +1409,7 @@
did_recurse = TRUE;
- gtk_file_selection_populate (fs, dir_name, TRUE);
+ gtk_file_selection_populate (fs, dir_name, TRUE, TRUE);
g_free (dir_name);
}
@@ -1441,7 +1428,7 @@
gtk_entry_set_text (GTK_ENTRY (fs->selection_entry), rem_path);
}
}
- else
+ else if (reset_entry)
{
if (fs->selection_entry)
gtk_entry_set_text (GTK_ENTRY (fs->selection_entry), "");
@@ -1466,8 +1453,9 @@
{
gtk_file_selection_update_history_menu (fs, cmpl_reference_position (cmpl_state));
}
-
}
+
+ g_free (rel_path);
}
static void