Author: colossus
Date: 2008-10-15 06:49:36 +0000 (Wed, 15 Oct 2008)
New Revision: 28259

Modified:
   xarchiver/trunk/src/7zip.c
   xarchiver/trunk/src/archive.c
   xarchiver/trunk/src/arj.c
   xarchiver/trunk/src/extract_dialog.c
   xarchiver/trunk/src/interface.c
   xarchiver/trunk/src/lha.c
   xarchiver/trunk/src/rar.c
   xarchiver/trunk/src/tar.c
   xarchiver/trunk/src/window.c
   xarchiver/trunk/src/zip.c
Log:
Fixed bug #4475.
Made the sidepane to select the corresponding row when using the arrow buttons.
Fixed compiler warnings.


Modified: xarchiver/trunk/src/7zip.c
===================================================================
--- xarchiver/trunk/src/7zip.c  2008-10-15 03:10:42 UTC (rev 28258)
+++ xarchiver/trunk/src/7zip.c  2008-10-15 06:49:36 UTC (rev 28259)
@@ -23,6 +23,7 @@
 
 extern gboolean sevenzr;
 extern gboolean sevenza;
+extern void xa_reload_archive_content(XArchive *archive);
 extern void xa_create_liststore ( XArchive *archive, gchar *columns_names[]);
 
 void xa_open_7zip (XArchive *archive)

Modified: xarchiver/trunk/src/archive.c
===================================================================
--- xarchiver/trunk/src/archive.c       2008-10-15 03:10:42 UTC (rev 28258)
+++ xarchiver/trunk/src/archive.c       2008-10-15 06:49:36 UTC (rev 28259)
@@ -777,6 +777,7 @@
                        
gtk_tree_view_expand_to_path(GTK_TREE_VIEW(archive_dir_treeview),path);
 
                gtk_tree_selection_select_iter(gtk_tree_view_get_selection 
(GTK_TREE_VIEW (archive_dir_treeview)),iter);
+               gtk_tree_view_scroll_to_cell 
(GTK_TREE_VIEW(archive_dir_treeview),path,NULL,FALSE,0,0);
        }
        else
        {

Modified: xarchiver/trunk/src/arj.c
===================================================================
--- xarchiver/trunk/src/arj.c   2008-10-15 03:10:42 UTC (rev 28258)
+++ xarchiver/trunk/src/arj.c   2008-10-15 06:49:36 UTC (rev 28259)
@@ -20,6 +20,7 @@
 #include "arj.h"
 #include <unistd.h>
 
+extern void xa_reload_archive_content(XArchive *archive);
 extern void xa_create_liststore (XArchive *archive, gchar *columns_names[]);
 
 void xa_open_arj (XArchive *archive)

Modified: xarchiver/trunk/src/extract_dialog.c
===================================================================
--- xarchiver/trunk/src/extract_dialog.c        2008-10-15 03:10:42 UTC (rev 
28258)
+++ xarchiver/trunk/src/extract_dialog.c        2008-10-15 06:49:36 UTC (rev 
28259)
@@ -266,9 +266,6 @@
                archive_dir = xa_remove_level_from_path (archive->path);
                gtk_entry_set_text 
(GTK_ENTRY(dialog_data->destination_path_entry),archive_dir);
        }
-       else
-               gtk_entry_set_text 
(GTK_ENTRY(dialog_data->destination_path_entry),archive->extraction_path);
-
        g_free(archive_dir);
        if (archive->has_passwd)
     {

Modified: xarchiver/trunk/src/interface.c
===================================================================
--- xarchiver/trunk/src/interface.c     2008-10-15 03:10:42 UTC (rev 28258)
+++ xarchiver/trunk/src/interface.c     2008-10-15 06:49:36 UTC (rev 28259)
@@ -1275,9 +1275,11 @@
                        }
                        /* Let's unselect the row in the sidepane */
                        selection = gtk_tree_view_get_selection (GTK_TREE_VIEW 
(archive_dir_treeview));
-                       gtk_tree_selection_get_selected 
(selection,&model,&iter);
-                       gtk_tree_selection_unselect_iter(selection,&iter);
-
+                       if (selection != NULL)
+                       {
+                               gtk_tree_selection_get_selected 
(selection,&model,&iter);
+                               
gtk_tree_selection_unselect_iter(selection,&iter);
+                       }
                        
xa_update_window_with_archive_entries(archive[idx],NULL);
                        xa_restore_navigation(idx);
                break;
@@ -1285,7 +1287,10 @@
                case 1:
                        if 
(g_slist_find(archive[idx]->forward,archive[idx]->current_entry) == NULL)
                                archive[idx]->forward = 
g_slist_prepend(archive[idx]->forward,archive[idx]->current_entry);
+
                        
xa_update_window_with_archive_entries(archive[idx],archive[idx]->back->data);
+                       xa_sidepane_select_row(archive[idx]->back->data);
+
                        archive[idx]->back = archive[idx]->back->next;
                        xa_restore_navigation(idx);
                break;
@@ -1300,8 +1305,10 @@
                                
xa_update_window_with_archive_entries(archive[idx],NULL);
                        }
                        else
+                       {
                                
xa_update_window_with_archive_entries(archive[idx],new_entry->prev);
-
+                               xa_sidepane_select_row(new_entry->prev);
+                       }
                        if (archive[idx]->back)
                                archive[idx]->back = archive[idx]->back->next;
                        xa_restore_navigation(idx);
@@ -1312,6 +1319,7 @@
                                archive[idx]->back = 
g_slist_prepend(archive[idx]->back,archive[idx]->current_entry);
 
                        
xa_update_window_with_archive_entries(archive[idx],archive[idx]->forward->data);
+                       xa_sidepane_select_row(archive[idx]->forward->data);
                        archive[idx]->forward = archive[idx]->forward->next;
 
                        xa_restore_navigation(idx);

Modified: xarchiver/trunk/src/lha.c
===================================================================
--- xarchiver/trunk/src/lha.c   2008-10-15 03:10:42 UTC (rev 28258)
+++ xarchiver/trunk/src/lha.c   2008-10-15 06:49:36 UTC (rev 28259)
@@ -21,6 +21,7 @@
 #include "lha.h"
 #include <unistd.h>
 
+extern void xa_reload_archive_content(XArchive *archive);
 extern void xa_create_liststore ( XArchive *archive, gchar *columns_names[]);
 
 void xa_open_lha (XArchive *archive)

Modified: xarchiver/trunk/src/rar.c
===================================================================
--- xarchiver/trunk/src/rar.c   2008-10-15 03:10:42 UTC (rev 28258)
+++ xarchiver/trunk/src/rar.c   2008-10-15 06:49:36 UTC (rev 28259)
@@ -21,6 +21,7 @@
 #include <unistd.h>
 
 extern gboolean unrar;
+extern void xa_reload_archive_content(XArchive *archive);
 extern void xa_create_liststore ( XArchive *archive, gchar *columns_names[]);
 
 void xa_open_rar (XArchive *archive)

Modified: xarchiver/trunk/src/tar.c
===================================================================
--- xarchiver/trunk/src/tar.c   2008-10-15 03:10:42 UTC (rev 28258)
+++ xarchiver/trunk/src/tar.c   2008-10-15 06:49:36 UTC (rev 28259)
@@ -20,6 +20,7 @@
 #include <string.h>
 #include "tar.h"
 
+extern void xa_reload_archive_content(XArchive *archive);
 extern void xa_create_liststore ( XArchive *archive, gchar *columns_names[]);
 extern gchar *tar;
 

Modified: xarchiver/trunk/src/window.c
===================================================================
--- xarchiver/trunk/src/window.c        2008-10-15 03:10:42 UTC (rev 28258)
+++ xarchiver/trunk/src/window.c        2008-10-15 06:49:36 UTC (rev 28259)
@@ -2801,7 +2801,10 @@
                        g_free(archive->location_entry_path);
                        archive->location_entry_path = NULL;
                }
-               gtk_widget_set_sensitive(back_button,TRUE);
+               if (archive->back == NULL)
+                       gtk_widget_set_sensitive(back_button,FALSE);
+               else
+                       gtk_widget_set_sensitive(back_button,TRUE);
                gtk_widget_set_sensitive(up_button,TRUE);
                gtk_widget_set_sensitive(home_button,TRUE);
                archive->location_entry_path = 
xa_build_full_path_name_from_entry(entry,0);

Modified: xarchiver/trunk/src/zip.c
===================================================================
--- xarchiver/trunk/src/zip.c   2008-10-15 03:10:42 UTC (rev 28258)
+++ xarchiver/trunk/src/zip.c   2008-10-15 06:49:36 UTC (rev 28259)
@@ -21,7 +21,7 @@
 #include <unistd.h>
 #include "zip.h"
 
-
+extern void xa_reload_archive_content(XArchive *archive);
 extern void xa_create_liststore ( XArchive *archive, gchar *columns_names[]);
 
 void xa_open_zip (XArchive *archive)

_______________________________________________
Xfce4-commits mailing list
[email protected]
http://foo-projects.org/mailman/listinfo/xfce4-commits

Reply via email to