Author: post
Date: 2012-02-11 18:22:16 +0100 (Sat, 11 Feb 2012)
New Revision: 4130

Modified:
   trunk/src/gtk-interface.c
   trunk/src/rs-store.c
   trunk/src/rs-store.h
Log:
Always select next image when image is removed from the active tab.

Modified: trunk/src/gtk-interface.c
===================================================================
--- trunk/src/gtk-interface.c   2012-02-11 17:20:40 UTC (rev 4129)
+++ trunk/src/gtk-interface.c   2012-02-11 17:22:16 UTC (rev 4130)
@@ -357,21 +357,19 @@
        selected = rs_store_get_selected_iters(rs->store);
        num_selected = g_list_length(selected);
 
-       /* If we are deleting images, select next */
-       if (prio == 51) 
-       {
-               GList *selected_names = rs_store_get_selected_names(rs->store);
-               if (g_list_length(selected_names))
-                       next_name = (const 
gchar*)(g_list_last(selected_names)->data);
-               else if (rs->photo)
-                       next_name = rs->photo->filename;
+       /* If moving to another iconview, select next */
+       GList *selected_names = rs_store_get_selected_names(rs->store);
+       if (g_list_length(selected_names))
+               next_name = (const gchar*)(g_list_last(selected_names)->data);
+       else if (rs->photo)
+               next_name = rs->photo->filename;
 
-               /* Load next image if deleting */
-               if (next_name)
-                       next_name = rs_store_get_prevnext(rs->store, next_name, 
2);
+       /* Select next image if moving */
+       if (next_name)
+               next_name = rs_store_get_prevnext(rs->store, next_name, 10 + 
prio);
 
+       if (next_name)
                gui_set_block_keyboard(TRUE);
-       }
 
 /* Iterate throuh all selected thumbnails */
        for(i=0;i<num_selected;i++)

Modified: trunk/src/rs-store.c
===================================================================
--- trunk/src/rs-store.c        2012-02-11 17:20:40 UTC (rev 4129)
+++ trunk/src/rs-store.c        2012-02-11 17:22:16 UTC (rev 4130)
@@ -1814,6 +1814,31 @@
        /* get the iconview */
        iconview = GTK_ICON_VIEW(store->current_iconview);
 
+       if (direction >= 10 )
+       {
+               gint new_prio = direction - 10;
+               if (new_prio <= 3)
+               {
+                       switch (store->current_priority)
+                       {
+                       case PRIO_ALL:
+                                       return(NULL);
+                               break;
+                       case PRIO_U:
+                               if (new_prio == 0)
+                                       return(NULL);
+                               break;
+                       case PRIO_D:
+                               if (new_prio == 51)
+                                       return(NULL);
+                       default:
+                               if (store->current_priority == new_prio) 
+                                       return(NULL);
+                               break;
+                       }
+               }
+               direction = 2;
+       }
        /* Get a list of selected icons */
        selected = gtk_icon_view_get_selected_items(iconview);
        if (g_list_length(selected) == 1)

Modified: trunk/src/rs-store.h
===================================================================
--- trunk/src/rs-store.h        2012-02-11 17:20:40 UTC (rev 4129)
+++ trunk/src/rs-store.h        2012-02-11 17:22:16 UTC (rev 4130)
@@ -173,7 +173,7 @@
  * Get the filename of the previous or next thumbnail
  * @param store A RSStore
  * @param current_filename Current filename or NULL if none
- * @param direction 1: previous, 2: next
+ * @param direction 1: previous, 2: next, 10 + priority will select next if 
priority will remove it from current view
  * @return filename of next or previous file, NULL if none.
  */
 const gchar*


_______________________________________________
Rawstudio-commit mailing list
[email protected]
http://rawstudio.org/cgi-bin/mailman/listinfo/rawstudio-commit

Reply via email to