[Xfce4-commits] r23698 - xarchiver/branches/xarchiver-psybsd/src
Stephan Arts
stephan at xfce.org
Sat Nov 4 20:36:39 CET 2006
Author: stephan
Date: 2006-11-04 19:36:36 +0000 (Sat, 04 Nov 2006)
New Revision: 23698
Modified:
xarchiver/branches/xarchiver-psybsd/src/archive_store.c
xarchiver/branches/xarchiver-psybsd/src/archive_store.h
xarchiver/branches/xarchiver-psybsd/src/main_window.c
xarchiver/branches/xarchiver-psybsd/src/notebook.c
xarchiver/branches/xarchiver-psybsd/src/notebook.h
xarchiver/branches/xarchiver-psybsd/src/path_bar.c
xarchiver/branches/xarchiver-psybsd/src/path_bar.h
Log:
Changed stuff to accomodate tabs.
Applied patch from Peter de Ridder <pc.ridder at zonnet.nl> (Fixes PathBar)
Modified: xarchiver/branches/xarchiver-psybsd/src/archive_store.c
===================================================================
--- xarchiver/branches/xarchiver-psybsd/src/archive_store.c 2006-11-04 19:05:52 UTC (rev 23697)
+++ xarchiver/branches/xarchiver-psybsd/src/archive_store.c 2006-11-04 19:36:36 UTC (rev 23698)
@@ -1361,3 +1361,15 @@
(*history)=store->navigation.history;
(*pwd) = store->navigation.pwd;
}
+
+LXAArchive *
+xa_archive_store_get_archive(XAArchiveStore *archive_store)
+{
+ return archive_store->archive;
+}
+
+LXAArchiveSupport *
+xa_archive_store_get_support(XAArchiveStore *archive_store)
+{
+ return archive_store->support;
+}
Modified: xarchiver/branches/xarchiver-psybsd/src/archive_store.h
===================================================================
--- xarchiver/branches/xarchiver-psybsd/src/archive_store.h 2006-11-04 19:05:52 UTC (rev 23697)
+++ xarchiver/branches/xarchiver-psybsd/src/archive_store.h 2006-11-04 19:36:36 UTC (rev 23698)
@@ -71,28 +71,17 @@
};
-GType
-xa_archive_store_get_type();
-GtkTreeModel *
-xa_archive_store_new(LXAArchive *archive, gboolean show_icons, gboolean show_up_dir, GtkIconTheme *icon_theme);
-void
-xa_archive_store_set_contents(XAArchiveStore *archive_store, LXAArchive *archive);
-void
-xa_archive_store_connect_treeview(XAArchiveStore *store, GtkTreeView *treeview);
-void
-xa_archive_store_go_up(XAArchiveStore *store);
-gchar *
-xa_archive_store_get_pwd(XAArchiveStore *store);
-GSList *
-xa_archive_store_get_pwd_list(XAArchiveStore *store);
-gchar *
-xa_archive_store_get_basename(XAArchiveStore *store);
-gboolean
-xa_archive_store_set_pwd(XAArchiveStore *store, const gchar *path);
-gboolean
-xa_archive_store_set_pwd_silent(XAArchiveStore *store, const gchar *path);
-void
-xa_archive_store_set_icon_theme(XAArchiveStore *store, GtkIconTheme *icon_theme);
+GType xa_archive_store_get_type();
+GtkTreeModel * xa_archive_store_new(LXAArchive *archive, gboolean show_icons, gboolean show_up_dir, GtkIconTheme *icon_theme);
+void xa_archive_store_set_contents(XAArchiveStore *archive_store, LXAArchive *archive);
+void xa_archive_store_connect_treeview(XAArchiveStore *store, GtkTreeView *treeview);
+void xa_archive_store_go_up(XAArchiveStore *store);
+gchar * xa_archive_store_get_pwd(XAArchiveStore *store);
+GSList * xa_archive_store_get_pwd_list(XAArchiveStore *store);
+gchar * xa_archive_store_get_basename(XAArchiveStore *store);
+gboolean xa_archive_store_set_pwd(XAArchiveStore *store, const gchar *path);
+gboolean xa_archive_store_set_pwd_silent(XAArchiveStore *store, const gchar *path);
+void xa_archive_store_set_icon_theme(XAArchiveStore *store, GtkIconTheme *icon_theme);
gboolean xa_archive_store_get_show_icons(XAArchiveStore *store);
gboolean xa_archive_store_get_sort_case_sensitive(XAArchiveStore *store);
@@ -109,4 +98,10 @@
xa_archive_store_set_history(XAArchiveStore *store, GList *history, GList *pwd);
void
xa_archive_store_get_history(XAArchiveStore *store, GList **history, GList **pwd);
+
+LXAArchive *
+xa_archive_store_get_archive(XAArchiveStore *archive_store);
+LXAArchiveSupport *
+xa_archive_store_get_support(XAArchiveStore *archive_store);
+
#endif /* __XARCHIVER_ARCHIVE_STORE_H__ */
Modified: xarchiver/branches/xarchiver-psybsd/src/main_window.c
===================================================================
--- xarchiver/branches/xarchiver-psybsd/src/main_window.c 2006-11-04 19:05:52 UTC (rev 23697)
+++ xarchiver/branches/xarchiver-psybsd/src/main_window.c 2006-11-04 19:36:36 UTC (rev 23698)
@@ -64,7 +64,10 @@
static void cb_xa_main_add_to_archive(GtkWidget *widget, gpointer userdata);
static void cb_xa_main_stop_archive(GtkWidget *widget, gpointer userdata);
+static void
+cb_xa_main_window_notebook_page_switched(XANotebook *notebook, GtkNotebookPage *page, guint page_nr, gpointer data);
+
GType
xa_main_window_get_type ()
{
@@ -230,6 +233,7 @@
/* main view */
window->notebook = xa_notebook_new(window->navigationbar);
+ g_signal_connect(G_OBJECT(window->notebook), "switch-page", G_CALLBACK(cb_xa_main_window_notebook_page_switched), window);
/* Statusbar */
window->statusbar = gtk_statusbar_new();
@@ -313,7 +317,6 @@
return file_image;
}
-
static void
cb_xa_main_new_archive(GtkWidget *widget, gpointer userdata)
{
@@ -381,13 +384,61 @@
}
}
+
static void
-cb_xa_main_add_to_archive(GtkWidget *widget, gpointer userdata)
+cb_xa_main_extract_archive(GtkWidget *widget, gpointer userdata)
{
+ GtkWidget *dialog = NULL;
+ gchar *extract_archive_path = NULL;
+ gint result = 0;
+ XAMainWindow *window = XA_MAIN_WINDOW(userdata);
+
+ LXAArchive *lp_archive = NULL;
+ LXAArchiveSupport *lp_support = NULL;
+
+ GSList *filenames = NULL;
+ GValue *value = g_new0(GValue, 1);
+
+ GtkTreeView *treeview = GTK_TREE_VIEW(xa_notebook_get_active_child(XA_NOTEBOOK(window->notebook)));
+ GtkTreeModel *treemodel = gtk_tree_view_get_model(treeview);
+ GtkTreeIter iter;
+ GtkTreeSelection *selection = gtk_tree_view_get_selection (treeview);
+
+ xa_notebook_get_active_archive(XA_NOTEBOOK(window->notebook), &lp_archive, &lp_support);
+
+ dialog = xa_extract_archive_dialog_new(lp_support, lp_archive, gtk_tree_selection_count_selected_rows (selection));
+ result = gtk_dialog_run (GTK_DIALOG (dialog) );
+ if(result == GTK_RESPONSE_OK)
+ {
+ gtk_widget_hide(GTK_WIDGET(dialog));
+ extract_archive_path = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(dialog));
+ if(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(XA_EXTRACT_ARCHIVE_DIALOG(dialog)->sel_files_radio)))
+ {
+ GList *rows = gtk_tree_selection_get_selected_rows(selection, &treemodel);
+ GList *_rows = rows;
+ while(_rows)
+ {
+ gtk_tree_model_get_iter(GTK_TREE_MODEL(treemodel), &iter, _rows->data);
+ if(xa_archive_store_get_show_icons(XA_ARCHIVE_STORE(treemodel)))
+ gtk_tree_model_get_value(GTK_TREE_MODEL(treemodel), &iter, 1, value);
+ else
+ gtk_tree_model_get_value(GTK_TREE_MODEL(treemodel), &iter, 0, value);
+
+ g_value_unset(value);
+ _rows = _rows->next;
+ }
+ g_list_free(rows);
+ }
+ lxa_archive_support_extract(lp_support, lp_archive, extract_archive_path, filenames);
+ g_free(extract_archive_path);
+ extract_archive_path = NULL;
+ }
+ gtk_widget_destroy (GTK_WIDGET (dialog) );
+
}
static void
-cb_xa_main_extract_archive(GtkWidget *widget, gpointer userdata)
+cb_xa_main_add_to_archive(GtkWidget *widget, gpointer userdata)
{
}
@@ -395,3 +446,17 @@
cb_xa_main_stop_archive(GtkWidget *widget, gpointer userdata)
{
}
+
+static void
+cb_xa_main_window_notebook_page_switched(XANotebook *notebook, GtkNotebookPage *page, guint page_nr, gpointer data)
+{
+ if(gtk_notebook_get_n_pages(GTK_NOTEBOOK(notebook)))
+ {
+ g_debug("Everything is ok, detected last page removal");
+ }
+ else /* All pages are closed */
+ {
+ g_debug("Everything is ok, detected last page removal");
+ }
+
+}
Modified: xarchiver/branches/xarchiver-psybsd/src/notebook.c
===================================================================
--- xarchiver/branches/xarchiver-psybsd/src/notebook.c 2006-11-04 19:05:52 UTC (rev 23697)
+++ xarchiver/branches/xarchiver-psybsd/src/notebook.c 2006-11-04 19:36:36 UTC (rev 23698)
@@ -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, XANotebook *notebook);
void
cb_notebook_archive_status_changed(LXAArchive *archive, XANotebook *notebook);
@@ -203,6 +203,10 @@
xa_archive_store_connect_treeview(XA_ARCHIVE_STORE(tree_model), GTK_TREE_VIEW(tree_view));
gtk_tree_view_set_model(GTK_TREE_VIEW(tree_view), tree_model);
+ if(gtk_notebook_get_n_pages(GTK_NOTEBOOK(notebook)))
+ gtk_notebook_set_show_tabs(GTK_NOTEBOOK(notebook), TRUE);
+ else
+ gtk_notebook_set_show_tabs(GTK_NOTEBOOK(notebook), FALSE);
gtk_notebook_append_page(GTK_NOTEBOOK(notebook), tree_view, lbl_hbox);
}
@@ -212,7 +216,7 @@
}
void
-cb_notebook_close_archive(GtkButton *button, GtkTreeView *treeview)
+cb_notebook_close_archive(GtkButton *button, XANotebook *notebook)
{
}
@@ -302,3 +306,23 @@
GtkTreeModel *archive_store = gtk_tree_view_get_model(GTK_TREE_VIEW(treeview));
xa_navigation_bar_set_store(notebook->navigation_bar, XA_ARCHIVE_STORE(archive_store));
}
+
+void
+xa_notebook_get_active_archive(XANotebook *notebook, LXAArchive **lp_archive, LXAArchiveSupport **lp_support)
+{
+ gint n = gtk_notebook_get_current_page(GTK_NOTEBOOK(notebook));
+
+ GtkWidget *treeview = gtk_notebook_get_nth_page(GTK_NOTEBOOK(notebook), n);
+ GtkTreeModel *archive_store = gtk_tree_view_get_model(GTK_TREE_VIEW(treeview));
+
+ (*lp_archive) = xa_archive_store_get_archive(XA_ARCHIVE_STORE(archive_store));
+ (*lp_support) = xa_archive_store_get_support(XA_ARCHIVE_STORE(archive_store));
+}
+
+GtkWidget *
+xa_notebook_get_active_child(XANotebook *notebook)
+{
+ gint n = gtk_notebook_get_current_page(GTK_NOTEBOOK(notebook));
+
+ return gtk_notebook_get_nth_page(GTK_NOTEBOOK(notebook), n);
+}
Modified: xarchiver/branches/xarchiver-psybsd/src/notebook.h
===================================================================
--- xarchiver/branches/xarchiver-psybsd/src/notebook.h 2006-11-04 19:05:52 UTC (rev 23697)
+++ xarchiver/branches/xarchiver-psybsd/src/notebook.h 2006-11-04 19:36:36 UTC (rev 23698)
@@ -69,6 +69,8 @@
void xa_notebook_set_navigation_bar(XANotebook *, XANavigationBar *);
void xa_notebook_add_archive(XANotebook *, LXAArchive *, LXAArchiveSupport *);
void xa_notebook_set_icon_theme(XANotebook *, GtkIconTheme *);
+void xa_notebook_get_active_archive(XANotebook *, LXAArchive **, LXAArchiveSupport **);
+GtkWidget * xa_notebook_get_active_child(XANotebook *notebook);
G_END_DECLS
#endif /* __XARCHIVER_NOTEBOOK_H__ */
Modified: xarchiver/branches/xarchiver-psybsd/src/path_bar.c
===================================================================
--- xarchiver/branches/xarchiver-psybsd/src/path_bar.c 2006-11-04 19:05:52 UTC (rev 23697)
+++ xarchiver/branches/xarchiver-psybsd/src/path_bar.c 2006-11-04 19:36:36 UTC (rev 23698)
@@ -29,10 +29,18 @@
#include "navigation_bar.h"
#include "path_bar.h"
+#ifndef XA_PATH_BAR_SCROLL_INIT_TIMEOUT
+#define XA_PATH_BAR_SCROLL_INIT_TIMEOUT 1000
+#endif
+
#ifndef XA_PATH_BAR_SCROLL_TIMEOUT
-#define XA_PATH_BAR_SCROLL_TIMEOUT 200
+#define XA_PATH_BAR_SCROLL_TIMEOUT 500
#endif
+#define XA_SCROLL_NONE 0
+#define XA_SCROLL_LEFT 1
+#define XA_SCROLL_RIGHT 2
+
static void
xa_path_bar_class_init(XAPathBarClass *archive_class);
@@ -64,10 +72,26 @@
cb_xa_path_bar_path_button_clicked(GtkRadioButton *button, XAPathBar *path_bar);
static void
-cb_xa_path_bar_left_button_clicked(GtkWidget *button, gpointer user_data);
+xa_path_bar_scroll_left(XAPathBar *path_bar);
+static void
+xa_path_bar_scroll_right(XAPathBar *path_bar);
+static gboolean
+cb_xa_path_bar_init_timeout(gpointer user_data);
+static gboolean
+cb_xa_path_bar_timeout(gpointer user_data);
+
+static gboolean
+cb_xa_path_bar_left_button_pressed(GtkWidget *widget, GdkEventButton *event, gpointer user_data);
+static gboolean
+cb_xa_path_bar_right_button_pressed(GtkWidget *widget, GdkEventButton *event, gpointer user_data);
+static gboolean
+cb_xa_path_bar_scroll_button_released(GtkWidget *widget, GdkEventButton *event, gpointer user_data);
+
static void
-cb_xa_path_bar_right_button_clicked(GtkWidget *button, gpointer user_data);
+cb_xa_path_bar_left_clicked(GtkWidget *widget, gpointer user_data);
+static void
+cb_xa_path_bar_right_clicked(GtkWidget *widget, gpointer user_data);
GType
xa_path_bar_get_type ()
@@ -132,9 +156,9 @@
gtk_widget_set_redraw_on_allocate(GTK_WIDGET(path_bar), FALSE);
path_bar->left_button = GTK_BUTTON(gtk_button_new());
-/* g_signal_connect(G_OBJECT(path_bar->left_button), "button-press-event", G_CALLBACK(cb_xa_path_bar_left_button_pressed), path_bar);
- g_signal_connect(G_OBJECT(path_bar->left_button), "button-release-event", G_CALLBACK(cb_xa_path_bar_left_button_released), path_bar);*/
- g_signal_connect(G_OBJECT(path_bar->left_button), "clicked", G_CALLBACK(cb_xa_path_bar_left_button_clicked), path_bar);
+ g_signal_connect(G_OBJECT(path_bar->left_button), "button-press-event", G_CALLBACK(cb_xa_path_bar_left_button_pressed), path_bar);
+ g_signal_connect(G_OBJECT(path_bar->left_button), "button-release-event", G_CALLBACK(cb_xa_path_bar_scroll_button_released), path_bar);
+ g_signal_connect(G_OBJECT(path_bar->left_button), "clicked", G_CALLBACK(cb_xa_path_bar_left_clicked), path_bar);
gtk_container_add(GTK_CONTAINER(path_bar), GTK_WIDGET(path_bar->left_button));
gtk_widget_show(GTK_WIDGET(path_bar->left_button));
gtk_widget_ref(GTK_WIDGET(path_bar->left_button));
@@ -144,9 +168,9 @@
gtk_widget_show (arrow);
path_bar->right_button = GTK_BUTTON(gtk_button_new());
-/* g_signal_connect(G_OBJECT(path_bar->right_button), "button-press-event", G_CALLBACK(cb_xa_path_bar_right_button_pressed), path_bar);
- g_signal_connect(G_OBJECT(path_bar->right_button), "button-release-event", G_CALLBACK(cb_xa_path_bar_right_button_released), path_bar);*/
- g_signal_connect(G_OBJECT(path_bar->right_button), "clicked", G_CALLBACK(cb_xa_path_bar_right_button_clicked), path_bar);
+ g_signal_connect(G_OBJECT(path_bar->right_button), "button-press-event", G_CALLBACK(cb_xa_path_bar_right_button_pressed), path_bar);
+ g_signal_connect(G_OBJECT(path_bar->right_button), "button-release-event", G_CALLBACK(cb_xa_path_bar_scroll_button_released), path_bar);
+ g_signal_connect(G_OBJECT(path_bar->right_button), "clicked", G_CALLBACK(cb_xa_path_bar_right_clicked), path_bar);
gtk_container_add(GTK_CONTAINER(path_bar), GTK_WIDGET(path_bar->right_button));
gtk_widget_show(GTK_WIDGET(path_bar->right_button));
gtk_widget_ref(GTK_WIDGET(path_bar->right_button));
@@ -170,6 +194,8 @@
path_bar->path_button = g_slist_prepend(NULL, path_bar->home_button);
path_bar->first_button = NULL;
path_bar->scroll_timeout = 0;
+ path_bar->scroll_dir = XA_SCROLL_NONE;
+ path_bar->scroll_click = TRUE;
gtk_widget_ref(GTK_WIDGET(path_bar));
}
@@ -372,6 +398,11 @@
child_allocation.x += left_width + spacing;
gtk_widget_set_sensitive(GTK_WIDGET(path_bar->left_button), (first_display->data == (gpointer)path_bar->path_button)?FALSE:TRUE);
+ if(path_bar->scroll_dir == XA_SCROLL_LEFT && first_display->data == (gpointer)path_bar->path_button)
+ {
+ g_source_remove(path_bar->scroll_timeout);
+ path_bar->scroll_dir = XA_SCROLL_NONE;
+ }
}
else
{
@@ -409,6 +440,11 @@
gtk_widget_size_allocate(GTK_WIDGET(path_bar->right_button), &child_allocation);
gtk_widget_set_sensitive(GTK_WIDGET(path_bar->right_button), iter?TRUE:FALSE);
+ if(path_bar->scroll_dir == XA_SCROLL_RIGHT && !iter)
+ {
+ g_source_remove(path_bar->scroll_timeout);
+ path_bar->scroll_dir = XA_SCROLL_NONE;
+ }
}
else
{
@@ -554,16 +590,113 @@
}
static void
-cb_xa_path_bar_left_button_clicked(GtkWidget *widget, gpointer user_data)
+xa_path_bar_scroll_left(XAPathBar *path_bar)
{
+ GSList *iter = path_bar->path_button;
+
+ while(iter->next)
+ {
+ if(gtk_widget_get_child_visible(GTK_WIDGET(iter->next->data)))
+ break;
+ iter = iter->next;
+ }
+ path_bar->first_button = iter;
}
static void
-cb_xa_path_bar_right_button_clicked(GtkWidget *widget, gpointer user_data)
+xa_path_bar_scroll_right(XAPathBar *path_bar)
{
+ if(path_bar->first_button->next)
+ path_bar->first_button = path_bar->first_button->next;
}
+static gboolean
+cb_xa_path_bar_init_timeout(gpointer user_data)
+{
+ if(cb_xa_path_bar_timeout(user_data))
+ {
+ XA_PATH_BAR(user_data)->scroll_click = FALSE;
+ XA_PATH_BAR(user_data)->scroll_timeout = g_timeout_add_full(G_PRIORITY_DEFAULT_IDLE, XA_PATH_BAR_SCROLL_TIMEOUT, cb_xa_path_bar_timeout, user_data, NULL);
+ }
+
+ return FALSE;
+}
+
+static gboolean
+cb_xa_path_bar_timeout(gpointer user_data)
+{
+ switch(XA_PATH_BAR(user_data)->scroll_dir)
+ {
+ case XA_SCROLL_LEFT:
+ xa_path_bar_scroll_left(XA_PATH_BAR(user_data));
+ break;
+ case XA_SCROLL_RIGHT:
+ xa_path_bar_scroll_right(XA_PATH_BAR(user_data));
+ break;
+ default:
+ return FALSE;
+ }
+
+ gtk_widget_queue_resize(GTK_WIDGET(user_data));
+
+ return TRUE;
+}
+
+static gboolean
+cb_xa_path_bar_left_button_pressed(GtkWidget *widget, GdkEventButton *event, gpointer user_data)
+{
+ if(event->type == GDK_BUTTON_PRESS && event->button == 1)
+ {
+ XA_PATH_BAR(user_data)->scroll_click = TRUE;
+ XA_PATH_BAR(user_data)->scroll_dir = XA_SCROLL_LEFT;
+
+ XA_PATH_BAR(user_data)->scroll_timeout = g_timeout_add_full(G_PRIORITY_DEFAULT_IDLE, XA_PATH_BAR_SCROLL_INIT_TIMEOUT, cb_xa_path_bar_init_timeout, user_data, NULL);
+ }
+ return FALSE;
+}
+
+static gboolean
+cb_xa_path_bar_right_button_pressed(GtkWidget *widget, GdkEventButton *event, gpointer user_data)
+{
+ if(event->type == GDK_BUTTON_PRESS && event->button == 1)
+ {
+ XA_PATH_BAR(user_data)->scroll_click = TRUE;
+ XA_PATH_BAR(user_data)->scroll_dir = XA_SCROLL_RIGHT;
+
+ XA_PATH_BAR(user_data)->scroll_timeout = g_timeout_add_full(G_PRIORITY_DEFAULT_IDLE, XA_PATH_BAR_SCROLL_INIT_TIMEOUT, cb_xa_path_bar_init_timeout, user_data, NULL);
+ }
+ return FALSE;
+}
+
+static gboolean
+cb_xa_path_bar_scroll_button_released(GtkWidget *widget, GdkEventButton *event, gpointer user_data)
+{
+ if(event->type == GDK_BUTTON_RELEASE && event->button == 1)
+ {
+ if(XA_PATH_BAR(user_data)->scroll_dir)
+ g_source_remove(XA_PATH_BAR(user_data)->scroll_timeout);
+
+ XA_PATH_BAR(user_data)->scroll_dir = XA_SCROLL_NONE;
+ }
+ return FALSE;
+}
+
static void
+cb_xa_path_bar_left_clicked(GtkWidget *widget, gpointer user_data)
+{
+ if(XA_PATH_BAR(user_data)->scroll_click)
+ xa_path_bar_scroll_left(XA_PATH_BAR(user_data));
+}
+
+static void
+cb_xa_path_bar_right_clicked(GtkWidget *widget, gpointer user_data)
+{
+ if(XA_PATH_BAR(user_data)->scroll_click)
+ xa_path_bar_scroll_right(XA_PATH_BAR(user_data));
+}
+
+static void
cb_xa_path_bar_store_set(XANavigationBar *bar)
{
}
+
Modified: xarchiver/branches/xarchiver-psybsd/src/path_bar.h
===================================================================
--- xarchiver/branches/xarchiver-psybsd/src/path_bar.h 2006-11-04 19:05:52 UTC (rev 23697)
+++ xarchiver/branches/xarchiver-psybsd/src/path_bar.h 2006-11-04 19:36:36 UTC (rev 23698)
@@ -51,6 +51,8 @@
GSList *path_button;
GSList *first_button;
guint scroll_timeout;
+ guint scroll_dir;
+ gboolean scroll_click;
};
typedef struct _XAPathBarClass XAPathBarClass;
More information about the Xfce4-commits
mailing list