Minor usability patches

Peter Federighi <[email protected]> Thu, 12 Mar 2009 13:38:14 -0700 (PDT)
Newsgroups gmane.comp.desktop.rox.devel
Message-ID <[email protected]>
Hello.

I have made some minor modifications to ROX-Filer that I think makes it nicer to use.  I hope that those responsible for modifications agree with me and include them in the next release.  These patches are based on ROX-Filer 2.8.

Thanks for your work.
- Peter Federighi


The patches are as follows:
1.  Allows the user to click on the previously selected but insensitive icon[s] (like when something else gets the primary selection) and immediately start dragging them.  The previous behavior forced the user to click on the selected icon[s] and then click and drag.

2.  Allows the user to right click on an unselected icon and have the pop-up menu reference that icon rather than the selected icon[s].

3.  Choosing the Shift Open option (that is, "Look Inside" and "Show Target") from the file menu now opens a new window if the New Window on Button 1 option is set, otherwise it opens in the same window like before.

Sorry about the line wrapping...


diff -u src/filer.c src.new/filer.c
--- src/filer.c	2008-05-17 07:40:24.000000000 -0700
+++ src.new/filer.c	2009-02-12 10:37:21.000000000 -0800
@@ -2440,7 +2440,7 @@
 		filer_window->temp_item_selected = FALSE;
 		
 		filer_selection_changed(filer_window, event->time);
-		return;
 	}
 
 	if (filer_window->target_cb)
diff -u src/menu.c src.new/menu.c
--- src/menu.c	2008-05-17 07:40:24.000000000 -0700
+++ src.new/menu.c	2009-03-11 07:29:26.000000000 -0700
@@ -66,6 +66,8 @@
 #include "bulk_rename.h"
 #include "xtypes.h"
 #include "log.h"
+#include "bind.h"
 
 typedef enum {
 	FILE_COPY_ITEM,
@@ -707,6 +709,18 @@
 		view_set_selected(filer_window->view, iter, TRUE);
 		n_selected = view_count_selected(filer_window->view);
 	}
+	else if (iter && iter->peek(iter) != NULL)
+	{
+		if (!view_get_selected(filer_window->view, iter))
+		{
+			view_clear_selection(filer_window->view);
+			filer_window->temp_item_selected = TRUE;
+			view_set_selected(filer_window->view, iter, TRUE);
+			n_selected = view_count_selected(filer_window->view);
+		}
+	}
 	else
 	{
 		filer_window->temp_item_selected = FALSE;
@@ -2029,8 +2043,12 @@
 					GDK_ACTION_LINK);
 			break;
 		case FILE_OPEN_FILE:
-			filer_openitem(window_with_focus, &iter,
-				OPEN_SAME_WINDOW | OPEN_SHIFT);
+			if (o_new_button_1.int_value)
+				filer_openitem(window_with_focus, &iter, OPEN_SHIFT);
+			else
+				filer_openitem(window_with_focus, &iter,
+					OPEN_SAME_WINDOW | OPEN_SHIFT);
 			break;
 		case FILE_RUN_ACTION:
 			run_action(item);



      

------------------------------------------------------------------------------
Apps built with the Adobe(R) Flex(R) framework and Flex Builder(TM) are
powering Web 2.0 with engaging, cross-platform capabilities. Quickly and
easily build your RIAs with Flex Builder, the Eclipse(TM)based development
software that enables intelligent coding and step-through debugging.
Download the free 60 day trial. http://p.sf.net/sfu/www-adobe-com