Author: colossus
Date: 2007-10-25 10:07:32 +0000 (Thu, 25 Oct 2007)
New Revision: 26194

Modified:
   xarchiver/trunk/src/archive.c
   xarchiver/trunk/src/archive.h
   xarchiver/trunk/src/interface.c
   xarchiver/trunk/src/window.c
Log:
Initial code for arrow buttons.


Modified: xarchiver/trunk/src/archive.c
===================================================================
--- xarchiver/trunk/src/archive.c       2007-10-25 06:15:10 UTC (rev 26193)
+++ xarchiver/trunk/src/archive.c       2007-10-25 10:07:32 UTC (rev 26194)
@@ -450,6 +450,7 @@
        {
                entry = archive->root_entry->child;
                gtk_entry_set_text(GTK_ENTRY(location_entry),"\0");
+               //gtk_widget_set_sensitive(back_button,FALSE);
                gtk_widget_set_sensitive(up_button,FALSE);
                gtk_widget_set_sensitive(home_button,FALSE);
        }

Modified: xarchiver/trunk/src/archive.h
===================================================================
--- xarchiver/trunk/src/archive.h       2007-10-25 06:15:10 UTC (rev 26193)
+++ xarchiver/trunk/src/archive.h       2007-10-25 10:07:32 UTC (rev 26194)
@@ -70,6 +70,8 @@
        XArchiveStatus status;
        XEntry *root_entry;
        XEntry *entry;
+       GList *history;
+       GList *present;
        gchar *path;
        gchar *escaped_path;
        gchar *tmp;

Modified: xarchiver/trunk/src/interface.c
===================================================================
--- xarchiver/trunk/src/interface.c     2007-10-25 06:15:10 UTC (rev 26193)
+++ xarchiver/trunk/src/interface.c     2007-10-25 10:07:32 UTC (rev 26194)
@@ -919,6 +919,12 @@
                        
xa_update_window_with_archive_entries(archive[idx],NULL);
                break;
 
+               /* Back */
+               case 1:
+                       archive[idx]->present = archive[idx]->present->prev;
+                       
xa_update_window_with_archive_entries(archive[idx],archive[idx]->present->data);
+               break;
+
                /* Up */
                case 2:
                        new_entry = 
xa_find_entry_from_path(archive[idx]->root_entry,gtk_entry_get_text(GTK_ENTRY(location_entry)));
@@ -930,5 +936,11 @@
                        }
                        
xa_update_window_with_archive_entries(archive[idx],new_entry->prev);
                break;
+               
+               /* Forward */
+               case 3:
+                       archive[idx]->present = archive[idx]->present->next;
+                       
xa_update_window_with_archive_entries(archive[idx],archive[idx]->present->data);
+               break;
        }
 }

Modified: xarchiver/trunk/src/window.c
===================================================================
--- xarchiver/trunk/src/window.c        2007-10-25 06:15:10 UTC (rev 26193)
+++ xarchiver/trunk/src/window.c        2007-10-25 10:07:32 UTC (rev 26194)
@@ -2054,5 +2054,15 @@
                gtk_widget_set_sensitive(up_button,TRUE);
                gtk_widget_set_sensitive(home_button,TRUE);
        }
+       if (archive[idx]->location_entry_path != NULL)
+       {
+               archive[idx]->history = 
g_list_append(archive[idx]->history,xa_find_entry_from_path(archive[idx]->root_entry,archive[idx]->location_entry_path));
+               archive[idx]->present = g_list_last(archive[idx]->history);
+       }
+       else
+       {
+               archive[idx]->history = 
g_list_append(archive[idx]->history,archive[idx]->root_entry);
+               archive[idx]->present = g_list_last(archive[idx]->history);
+       }
        xa_update_window_with_archive_entries(archive[idx],entry);
 }

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

Reply via email to