[Xfce4-commits] r23759 - xarchiver/branches/xarchiver-psybsd/src
Stephan Arts
stephan at xfce.org
Mon Nov 6 14:36:29 CET 2006
Author: stephan
Date: 2006-11-06 13:36:28 +0000 (Mon, 06 Nov 2006)
New Revision: 23759
Modified:
xarchiver/branches/xarchiver-psybsd/src/main_window.c
xarchiver/branches/xarchiver-psybsd/src/notebook.c
xarchiver/branches/xarchiver-psybsd/src/notebook.h
Log:
Made tabs optional (can be configured in xarchiver/xarchiverrc)
Modified: xarchiver/branches/xarchiver-psybsd/src/main_window.c
===================================================================
--- xarchiver/branches/xarchiver-psybsd/src/main_window.c 2006-11-06 13:09:24 UTC (rev 23758)
+++ xarchiver/branches/xarchiver-psybsd/src/main_window.c 2006-11-06 13:36:28 UTC (rev 23759)
@@ -154,6 +154,7 @@
gboolean show_icons = TRUE;
gboolean sort_case = TRUE;
gboolean sort_folders = TRUE;
+ gboolean use_tabs = TRUE;
window->settings = xa_settings_new();
@@ -232,11 +233,12 @@
show_icons = xa_settings_read_bool_entry(window->settings, "ShowIcons", TRUE);
sort_case = xa_settings_read_bool_entry(window->settings, "SortCaseSensitive", TRUE);
sort_folders = xa_settings_read_bool_entry(window->settings, "SortFoldersFirst", TRUE);
+ use_tabs = xa_settings_read_bool_entry(window->settings, "UseTabs", TRUE);
gtk_widget_ref(GTK_WIDGET(window->navigationbar));
/* main view */
- window->notebook = xa_notebook_new(window->navigationbar);
+ window->notebook = xa_notebook_new(window->navigationbar, use_tabs);
g_signal_connect(G_OBJECT(window->notebook), "switch-page", G_CALLBACK(cb_xa_main_window_notebook_page_switched), window);
g_signal_connect(G_OBJECT(window->notebook), "archive-removed", G_CALLBACK(cb_xa_main_window_notebook_page_removed), window);
/* Statusbar */
@@ -492,7 +494,7 @@
if(replace < 0)
xa_notebook_add_archive(XA_NOTEBOOK(window->notebook), archive, support);
else
- xa_notebook_add_archive(XA_NOTEBOOK(window->notebook), archive, support);
+ xa_notebook_page_set_archive(XA_NOTEBOOK(window->notebook), archive, support, replace);
return 0;
}
return 1;
Modified: xarchiver/branches/xarchiver-psybsd/src/notebook.c
===================================================================
--- xarchiver/branches/xarchiver-psybsd/src/notebook.c 2006-11-06 13:09:24 UTC (rev 23758)
+++ xarchiver/branches/xarchiver-psybsd/src/notebook.c 2006-11-06 13:36:28 UTC (rev 23759)
@@ -44,7 +44,7 @@
xa_notebook_treeview_reset_columns(LXAArchive *archive, GtkTreeView *treeview);
void
-cb_notebook_close_archive(GtkButton *button, GtkTreeView *treeview);
+cb_notebook_close_archive(GtkButton *button, GtkWidget *child);
void
cb_notebook_archive_status_changed(LXAArchive *archive, XANotebook *notebook);
@@ -135,7 +135,7 @@
}
GtkWidget *
-xa_notebook_new(XANavigationBar *bar)
+xa_notebook_new(XANavigationBar *bar, gboolean use_tabs)
{
XANotebook *notebook;
@@ -150,7 +150,7 @@
}
notebook->props._show_icons = TRUE;
- notebook->multi_tab = TRUE;
+ notebook->multi_tab = use_tabs;
return (GtkWidget *)notebook;
}
@@ -223,7 +223,7 @@
g_signal_connect(G_OBJECT(archive), "lxa_status_changed", G_CALLBACK(cb_notebook_archive_status_changed), notebook);
g_signal_connect(G_OBJECT(archive), "lxa_refreshed", G_CALLBACK(cb_notebook_archive_refreshed), tree_view);
- g_signal_connect(G_OBJECT(close_button), "clicked", G_CALLBACK(cb_notebook_close_archive), tree_view);
+ g_signal_connect(G_OBJECT(close_button), "clicked", G_CALLBACK(cb_notebook_close_archive), scroll_window);
xa_archive_store_set_support(XA_ARCHIVE_STORE(tree_model), support);
@@ -247,11 +247,11 @@
}
void
-cb_notebook_close_archive(GtkButton *button, GtkTreeView *treeview)
+cb_notebook_close_archive(GtkButton *button, GtkWidget *child)
{
- GtkNotebook *notebook = GTK_NOTEBOOK(gtk_widget_get_parent(GTK_WIDGET(treeview)));
+ GtkNotebook *notebook = GTK_NOTEBOOK(gtk_widget_get_parent(child));
- gint n = gtk_notebook_page_num(notebook, GTK_WIDGET(treeview));
+ gint n = gtk_notebook_page_num(notebook, child);
gtk_notebook_remove_page(notebook, n);
g_signal_emit(G_OBJECT(notebook), xa_notebook_signals[0], 0, notebook);
}
@@ -375,10 +375,22 @@
void
xa_notebook_page_set_archive(XANotebook *notebook, LXAArchive *archive, LXAArchiveSupport *support, gint n)
{
- GtkWidget *scrolledwindow = gtk_notebook_get_nth_page(GTK_NOTEBOOK(notebook), n);
- GtkWidget *treeview = gtk_bin_get_child(GTK_BIN(scrolledwindow));
- GtkTreeModel *store = gtk_tree_view_get_model(GTK_TREE_VIEW(treeview));
+ if(gtk_notebook_get_n_pages(GTK_NOTEBOOK(notebook)))
+ {
+ GtkWidget *scrolledwindow = gtk_notebook_get_nth_page(GTK_NOTEBOOK(notebook), n);
+ GtkWidget *treeview = gtk_bin_get_child(GTK_BIN(scrolledwindow));
+ GtkTreeModel *store = gtk_tree_view_get_model(GTK_TREE_VIEW(treeview));
- xa_archive_store_set_archive(XA_ARCHIVE_STORE(store), archive);
- xa_archive_store_set_support(XA_ARCHIVE_STORE(store), support);
+ xa_archive_store_set_archive(XA_ARCHIVE_STORE(store), archive);
+ xa_archive_store_set_support(XA_ARCHIVE_STORE(store), support);
+
+ g_signal_connect(G_OBJECT(archive), "lxa_status_changed", G_CALLBACK(cb_notebook_archive_status_changed), notebook);
+ g_signal_connect(G_OBJECT(archive), "lxa_refreshed", G_CALLBACK(cb_notebook_archive_refreshed), treeview);
+
+ lxa_archive_support_refresh(support, archive);
+
+ gtk_tree_view_set_model(GTK_TREE_VIEW(treeview), store);
+ }
+ else
+ xa_notebook_add_archive(XA_NOTEBOOK(notebook), archive, support);
}
Modified: xarchiver/branches/xarchiver-psybsd/src/notebook.h
===================================================================
--- xarchiver/branches/xarchiver-psybsd/src/notebook.h 2006-11-06 13:09:24 UTC (rev 23758)
+++ xarchiver/branches/xarchiver-psybsd/src/notebook.h 2006-11-06 13:36:28 UTC (rev 23759)
@@ -63,7 +63,7 @@
GtkNotebookClass parent;
};
-GtkWidget *xa_notebook_new (XANavigationBar *bar);
+GtkWidget *xa_notebook_new (XANavigationBar *bar, gboolean use_tabs);
GType xa_notebook_get_type ();
void xa_notebook_set_navigation_bar(XANotebook *, XANavigationBar *);
More information about the Xfce4-commits
mailing list