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