SF.net SVN: geany-plugins:[1299] trunk/geany-plugins/treebrowser
dimitrov-adrian at users.sourceforge.net
dimitrov-adrian at xxxxx
Sun Apr 25 13:12:47 UTC 2010
Revision: 1299
http://geany-plugins.svn.sourceforge.net/geany-plugins/?rev=1299&view=rev
Author: dimitrov-adrian
Date: 2010-04-25 13:12:47 +0000 (Sun, 25 Apr 2010)
Log Message:
-----------
Treebrowser: Menu elements are inactive instant of hidden; Added option to copy the uri into clipboard
Modified Paths:
--------------
trunk/geany-plugins/treebrowser/ChangeLog
trunk/geany-plugins/treebrowser/src/treebrowser.c
Modified: trunk/geany-plugins/treebrowser/ChangeLog
===================================================================
--- trunk/geany-plugins/treebrowser/ChangeLog 2010-04-24 21:48:39 UTC (rev 1298)
+++ trunk/geany-plugins/treebrowser/ChangeLog 2010-04-25 13:12:47 UTC (rev 1299)
@@ -28,11 +28,17 @@
* Migrating to stash
* Adding keybindings for renaming/deleting/refreshing
-
+-------------------------------+
| Development release ChangeLog |
+-------------------------------+
+25-04-2010 Adrian Dimitrov <dimitrov.adrian at gmail.com>
+
+ * src/treebrowser.c
+ Menu elements are inactive instant of hidden
+ Added option to copy the uri into clipboard
+
+
19-04-2010 Adrian Dimitrov <dimitrov.adrian at gmail.com>
* src/treebrowser.c
Modified: trunk/geany-plugins/treebrowser/src/treebrowser.c
===================================================================
--- trunk/geany-plugins/treebrowser/src/treebrowser.c 2010-04-24 21:48:39 UTC (rev 1298)
+++ trunk/geany-plugins/treebrowser/src/treebrowser.c 2010-04-25 13:12:47 UTC (rev 1299)
@@ -457,13 +457,6 @@
* ------------------*/
static void
-on_menu_close(GtkMenuItem *menuitem, gchar *uri)
-{
- if (g_file_test(uri, G_FILE_TEST_EXISTS))
- document_close(document_find_by_filename(uri));
-}
-
-static void
on_menu_go_up(GtkMenuItem *menuitem, gpointer *user_data)
{
treebrowser_chroot(g_path_get_dirname(addressbar_last_address));
@@ -657,6 +650,20 @@
}
static void
+on_menu_close(GtkMenuItem *menuitem, gchar *uri)
+{
+ if (g_file_test(uri, G_FILE_TEST_EXISTS))
+ document_close(document_find_by_filename(uri));
+}
+
+static void
+on_menu_copy_uri(GtkMenuItem *menuitem, gchar *uri)
+{
+ GtkClipboard *cb = gtk_clipboard_get(GDK_SELECTION_CLIPBOARD);
+ gtk_clipboard_set_text(cb, uri, -1);
+}
+
+static void
on_menu_show_hidden_files(GtkMenuItem *menuitem, gpointer *user_data)
{
CONFIG_SHOW_HIDDEN_FILES = gtk_check_menu_item_get_active(GTK_CHECK_MENU_ITEM(menuitem));
@@ -673,9 +680,10 @@
static GtkWidget*
create_popup_menu(gchar *name, gchar *uri)
{
- gboolean is_exists = g_file_test(uri, G_FILE_TEST_EXISTS);
- gboolean is_dir = is_exists ? g_file_test(uri, G_FILE_TEST_IS_DIR) : FALSE;
GtkWidget *item, *menu;
+ gboolean is_exists = g_file_test(uri, G_FILE_TEST_EXISTS);
+ gboolean is_dir = is_exists ? g_file_test(uri, G_FILE_TEST_IS_DIR) : FALSE;
+ gboolean is_document = document_find_by_filename(uri) != NULL ? TRUE : FALSE;
menu = gtk_menu_new();
@@ -687,19 +695,15 @@
gtk_container_add(GTK_CONTAINER(menu), item);
g_signal_connect(item, "activate", G_CALLBACK(on_menu_current_path), NULL);
- if (is_exists)
- {
- item = ui_image_menu_item_new(GTK_STOCK_OPEN, _("Open externally"));
- gtk_container_add(GTK_CONTAINER(menu), item);
- g_signal_connect(item, "activate", G_CALLBACK(on_menu_open_externally), uri);
- }
+ item = ui_image_menu_item_new(GTK_STOCK_OPEN, _("Open externally"));
+ gtk_container_add(GTK_CONTAINER(menu), item);
+ g_signal_connect(item, "activate", G_CALLBACK(on_menu_open_externally), uri);
+ gtk_widget_set_sensitive(item, is_exists);
- if (is_dir)
- {
- item = ui_image_menu_item_new(GTK_STOCK_OPEN, _("Set as root"));
- gtk_container_add(GTK_CONTAINER(menu), item);
- g_signal_connect(item, "activate", G_CALLBACK(on_menu_set_as_root), uri);
- }
+ item = ui_image_menu_item_new(GTK_STOCK_GOTO_TOP, _("Set as root"));
+ gtk_container_add(GTK_CONTAINER(menu), item);
+ g_signal_connect(item, "activate", G_CALLBACK(on_menu_set_as_root), uri);
+ gtk_widget_set_sensitive(item, is_dir);
item = gtk_separator_menu_item_new();
gtk_container_add(GTK_CONTAINER(menu), item);
@@ -712,16 +716,15 @@
gtk_container_add(GTK_CONTAINER(menu), item);
g_signal_connect(item, "activate", G_CALLBACK(on_menu_create_new_object), "file");
- if (is_exists)
- {
- item = ui_image_menu_item_new(GTK_STOCK_SAVE_AS, _("Rename"));
- gtk_container_add(GTK_CONTAINER(menu), item);
- g_signal_connect(item, "activate", G_CALLBACK(on_menu_rename), NULL);
+ item = ui_image_menu_item_new(GTK_STOCK_SAVE_AS, _("Rename"));
+ gtk_container_add(GTK_CONTAINER(menu), item);
+ g_signal_connect(item, "activate", G_CALLBACK(on_menu_rename), NULL);
+ gtk_widget_set_sensitive(item, is_exists);
- item = ui_image_menu_item_new(GTK_STOCK_DELETE, _("Delete"));
- gtk_container_add(GTK_CONTAINER(menu), item);
- g_signal_connect(item, "activate", G_CALLBACK(on_menu_delete), NULL);
- }
+ item = ui_image_menu_item_new(GTK_STOCK_DELETE, _("Delete"));
+ gtk_container_add(GTK_CONTAINER(menu), item);
+ g_signal_connect(item, "activate", G_CALLBACK(on_menu_delete), NULL);
+ gtk_widget_set_sensitive(item, is_exists);
item = gtk_separator_menu_item_new();
gtk_container_add(GTK_CONTAINER(menu), item);
@@ -745,16 +748,19 @@
item = gtk_separator_menu_item_new();
gtk_container_add(GTK_CONTAINER(menu), item);
- if (document_find_by_filename(uri) != NULL)
- {
- item = ui_image_menu_item_new(GTK_STOCK_CLOSE, g_strdup_printf(_("Close: %s"), name));
- gtk_container_add(GTK_CONTAINER(menu), item);
- g_signal_connect(item, "activate", G_CALLBACK(on_menu_close), uri);
+ item = ui_image_menu_item_new(GTK_STOCK_CLOSE, g_strdup_printf(_("Close: %s"), name));
+ gtk_container_add(GTK_CONTAINER(menu), item);
+ g_signal_connect(item, "activate", G_CALLBACK(on_menu_close), uri);
+ gtk_widget_set_sensitive(item, is_document);
- item = gtk_separator_menu_item_new();
- gtk_container_add(GTK_CONTAINER(menu), item);
- }
+ item = ui_image_menu_item_new(GTK_STOCK_COPY, g_strdup_printf(_("Copy URI"), name));
+ gtk_container_add(GTK_CONTAINER(menu), item);
+ g_signal_connect(item, "activate", G_CALLBACK(on_menu_copy_uri), uri);
+ gtk_widget_set_sensitive(item, is_document);
+ item = gtk_separator_menu_item_new();
+ gtk_container_add(GTK_CONTAINER(menu), item);
+
item = gtk_check_menu_item_new_with_mnemonic(_("Show hidden files"));
gtk_container_add(GTK_CONTAINER(menu), item);
gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(item), CONFIG_SHOW_HIDDEN_FILES);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the Plugins-Commits
mailing list