SF.net SVN: geany:[5049] trunk
ntrel at users.sourceforge.net
ntrel at xxxxx
Fri Jun 18 12:22:00 UTC 2010
Revision: 5049
http://geany.svn.sourceforge.net/geany/?rev=5049&view=rev
Author: ntrel
Date: 2010-06-18 12:22:00 +0000 (Fri, 18 Jun 2010)
Log Message:
-----------
Add history to path entry.
Modified Paths:
--------------
trunk/ChangeLog
trunk/plugins/filebrowser.c
Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog 2010-06-18 12:20:15 UTC (rev 5048)
+++ trunk/ChangeLog 2010-06-18 12:22:00 UTC (rev 5049)
@@ -3,6 +3,8 @@
* src/ui_utils.h, src/dialogs.c, src/plugindata.h, src/search.c,
src/plugins.c, src/ui_utils.c, plugins/geanyfunctions.h:
Add ui_combo_box_add_to_history() to API.
+ * plugins/filebrowser.c:
+ Add history to path entry.
2010-06-17 Nick Treleaven <nick(dot)treleaven(at)btinternet(dot)com>
Modified: trunk/plugins/filebrowser.c
===================================================================
--- trunk/plugins/filebrowser.c 2010-06-18 12:20:15 UTC (rev 5048)
+++ trunk/plugins/filebrowser.c 2010-06-18 12:22:00 UTC (rev 5049)
@@ -33,12 +33,12 @@
# include <windows.h>
#endif
-GeanyPlugin *geany_plugin;
-GeanyData *geany_data;
-GeanyFunctions *geany_functions;
+GeanyPlugin *geany_plugin;
+GeanyData *geany_data;
+GeanyFunctions *geany_functions;
-PLUGIN_VERSION_CHECK(175)
+PLUGIN_VERSION_CHECK(GEANY_API_VERSION)
PLUGIN_SET_INFO(_("File Browser"), _("Adds a file browser tab to the sidebar."), VERSION,
_("The Geany developer team"))
@@ -64,24 +64,25 @@
};
static gboolean fb_set_project_base_path = FALSE;
-static gboolean fb_follow_path = FALSE;
+static gboolean fb_follow_path = FALSE;
static gboolean show_hidden_files = FALSE;
static gboolean hide_object_files = TRUE;
-static GtkWidget *file_view_vbox;
-static GtkWidget *file_view;
-static GtkListStore *file_store;
-static GtkTreeIter *last_dir_iter = NULL;
-static GtkEntryCompletion *entry_completion = NULL;
+static GtkWidget *file_view_vbox;
+static GtkWidget *file_view;
+static GtkListStore *file_store;
+static GtkTreeIter *last_dir_iter = NULL;
+static GtkEntryCompletion *entry_completion = NULL;
-static GtkWidget *filter_entry;
-static GtkWidget *path_entry;
-static gchar *current_dir = NULL; /* in locale-encoding */
-static gchar *open_cmd; /* in locale-encoding */
-static gchar *config_file;
-static gchar *filter = NULL;
+static GtkWidget *filter_entry;
+static GtkWidget *path_combo;
+static GtkWidget *path_entry;
+static gchar *current_dir = NULL; /* in locale-encoding */
+static gchar *open_cmd; /* in locale-encoding */
+static gchar *config_file;
+static gchar *filter = NULL;
-static gint page_number = 0;
+static gint page_number = 0;
static struct
{
@@ -274,6 +275,7 @@
utf8_dir = utils_get_utf8_from_locale(current_dir);
gtk_entry_set_text(GTK_ENTRY(path_entry), utf8_dir);
+ ui_combo_box_add_to_history(GTK_COMBO_BOX_ENTRY(path_combo), utf8_dir, 0);
g_free(utf8_dir);
add_top_level_entry(); /* ".." item */
@@ -766,6 +768,14 @@
}
+static void on_path_combo_changed(GtkComboBox *combo, gpointer user_data)
+{
+ /* we get this callback on typing as well as choosing an item */
+ if (gtk_combo_box_get_active(combo) >= 0)
+ on_path_entry_activate(GTK_ENTRY(path_entry), NULL);
+}
+
+
static void on_filter_activate(GtkEntry *entry, gpointer user_data)
{
setptr(filter, g_strdup(gtk_entry_get_text(entry)));
@@ -1079,8 +1089,10 @@
filterbar = make_filterbar();
gtk_box_pack_start(GTK_BOX(file_view_vbox), filterbar, FALSE, FALSE, 0);
- path_entry = gtk_entry_new();
- gtk_box_pack_start(GTK_BOX(file_view_vbox), path_entry, FALSE, FALSE, 2);
+ path_combo = gtk_combo_box_entry_new_text();
+ gtk_box_pack_start(GTK_BOX(file_view_vbox), path_combo, FALSE, FALSE, 2);
+ g_signal_connect(path_combo, "changed", G_CALLBACK(on_path_combo_changed), NULL);
+ path_entry = GTK_BIN(path_combo)->child;
g_signal_connect(path_entry, "activate", G_CALLBACK(on_path_entry_activate), NULL);
file_view = gtk_tree_view_new();
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the Commits
mailing list