[Xfce4-commits] r23371 - in xarchiver/branches/xarchiver-psybsd: . libxarchiver src

Stephan Arts stephan at xfce.org
Thu Oct 12 13:36:02 UTC 2006


Author: stephan
Date: 2006-10-12 13:36:00 +0000 (Thu, 12 Oct 2006)
New Revision: 23371

Modified:
   xarchiver/branches/xarchiver-psybsd/TODO
   xarchiver/branches/xarchiver-psybsd/configure.in.in
   xarchiver/branches/xarchiver-psybsd/libxarchiver/Makefile.am
   xarchiver/branches/xarchiver-psybsd/libxarchiver/archive-support-gnu-tar.c
   xarchiver/branches/xarchiver-psybsd/libxarchiver/archive-support-rar.c
   xarchiver/branches/xarchiver-psybsd/libxarchiver/archive-support-zip.c
   xarchiver/branches/xarchiver-psybsd/libxarchiver/archive-support.c
   xarchiver/branches/xarchiver-psybsd/libxarchiver/archive.c
   xarchiver/branches/xarchiver-psybsd/libxarchiver/internals.c
   xarchiver/branches/xarchiver-psybsd/libxarchiver/internals.h
   xarchiver/branches/xarchiver-psybsd/libxarchiver/libxarchiver.c
   xarchiver/branches/xarchiver-psybsd/libxarchiver/libxarchiver.h
   xarchiver/branches/xarchiver-psybsd/src/Makefile.am
   xarchiver/branches/xarchiver-psybsd/src/add_dialog.c
   xarchiver/branches/xarchiver-psybsd/src/archive_store.c
   xarchiver/branches/xarchiver-psybsd/src/archive_tree_store.c
   xarchiver/branches/xarchiver-psybsd/src/extract_dialog.c
   xarchiver/branches/xarchiver-psybsd/src/main.c
   xarchiver/branches/xarchiver-psybsd/src/main_window.c
   xarchiver/branches/xarchiver-psybsd/src/new_dialog.c
   xarchiver/branches/xarchiver-psybsd/src/preferences_dialog.c
   xarchiver/branches/xarchiver-psybsd/src/preferences_dialog.h
Log:
Added --disable-thunar-vfs configure option
Broke mime-icons
Changed preferences window



Modified: xarchiver/branches/xarchiver-psybsd/TODO
===================================================================
--- xarchiver/branches/xarchiver-psybsd/TODO	2006-10-12 12:58:19 UTC (rev 23370)
+++ xarchiver/branches/xarchiver-psybsd/TODO	2006-10-12 13:36:00 UTC (rev 23371)
@@ -8,6 +8,10 @@
 | IMPORTANT                                         IMPORTANT |
 ---------------------------------------------------------------
 
+  Make thunar-vfs dependency optional.
+    (Can be replaced by an internal libmime)
++-+-+-+
+
 	Implement UnRar Support object.
 +-+-+-+
 
@@ -15,10 +19,6 @@
     (explain their purpose)
 +-+-+-+
 
-  Make thunar-vfs dependency optional.
-    (Can be replaced by an internal libmime)
-+-+-+-+
-
   Increase performance
 +-+-+-+ 
 

Modified: xarchiver/branches/xarchiver-psybsd/configure.in.in
===================================================================
--- xarchiver/branches/xarchiver-psybsd/configure.in.in	2006-10-12 12:58:19 UTC (rev 23370)
+++ xarchiver/branches/xarchiver-psybsd/configure.in.in	2006-10-12 13:36:00 UTC (rev 23371)
@@ -54,8 +54,11 @@
 XDT_CHECK_PACKAGE([GTK], [gtk+-2.0], [2.2.0])
 XDT_CHECK_PACKAGE([GLIB], [glib-2.0], [2.2.0])
 XDT_CHECK_PACKAGE([GOBJECT], [gobject-2.0], [2.2.0])
-XDT_CHECK_PACKAGE([THUNARVFS], [thunar-vfs-1], [0.3.3])
 
+XDT_CHECK_OPTIONAL_PACKAGE([THUNAR_VFS], [thunar-vfs-1], [0.4.0], [thunar-vfs],
+    AC_HELP_STRING([--disable-thunar-vfs],
+                   [Disable the use Thunar's VFS layer)]))
+
 dnl check for debugging support
 XDT_FEATURE_DEBUG
 

Modified: xarchiver/branches/xarchiver-psybsd/libxarchiver/Makefile.am
===================================================================
--- xarchiver/branches/xarchiver-psybsd/libxarchiver/Makefile.am	2006-10-12 12:58:19 UTC (rev 23370)
+++ xarchiver/branches/xarchiver-psybsd/libxarchiver/Makefile.am	2006-10-12 13:36:00 UTC (rev 23371)
@@ -12,7 +12,7 @@
 
 libxarchiver_a_CFLAGS = \
 	$(GLIB_CFLAGS)  \
-	$(THUNARVFS_CFLAGS)
+	$(THUNAR_VFS_CFLAGS)
 libxarchiver_a_LIBADD =
 
 

Modified: xarchiver/branches/xarchiver-psybsd/libxarchiver/archive-support-gnu-tar.c
===================================================================
--- xarchiver/branches/xarchiver-psybsd/libxarchiver/archive-support-gnu-tar.c	2006-10-12 12:58:19 UTC (rev 23370)
+++ xarchiver/branches/xarchiver-psybsd/libxarchiver/archive-support-gnu-tar.c	2006-10-12 13:36:00 UTC (rev 23371)
@@ -16,15 +16,19 @@
  *  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
  */
 
-#define EXO_API_SUBJECT_TO_CHANGE
-
+#include <config.h>
 #include <stdlib.h>
 #include <string.h>
 #include <glib.h>
 #include <glib/gstdio.h>
+#include <glib-object.h>
 
-#include <glib-object.h>
+#ifdef HAVE_THUNAR_VFS
+#define EXO_API_SUBJECT_TO_CHANGE
 #include <thunar-vfs/thunar-vfs.h>
+#else
+#include <gettext.h>
+#endif
 
 #include "archive.h"
 #include "archive-support.h"

Modified: xarchiver/branches/xarchiver-psybsd/libxarchiver/archive-support-rar.c
===================================================================
--- xarchiver/branches/xarchiver-psybsd/libxarchiver/archive-support-rar.c	2006-10-12 12:58:19 UTC (rev 23370)
+++ xarchiver/branches/xarchiver-psybsd/libxarchiver/archive-support-rar.c	2006-10-12 13:36:00 UTC (rev 23371)
@@ -20,7 +20,11 @@
 
 #include <glib.h>
 #include <glib-object.h>
+#ifdef HAVE_THUNAR_VFS
 #include <thunar-vfs/thunar-vfs.h>
+#else
+#include <gettext.h>
+#endif /* HAVE_THUNAR_VFS */
 
 #include "archive.h"
 #include "archive-support.h"

Modified: xarchiver/branches/xarchiver-psybsd/libxarchiver/archive-support-zip.c
===================================================================
--- xarchiver/branches/xarchiver-psybsd/libxarchiver/archive-support-zip.c	2006-10-12 12:58:19 UTC (rev 23370)
+++ xarchiver/branches/xarchiver-psybsd/libxarchiver/archive-support-zip.c	2006-10-12 13:36:00 UTC (rev 23371)
@@ -16,12 +16,17 @@
  *  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
  */
 
-#define EXO_API_SUBJECT_TO_CHANGE
-
+#include <config.h>
 #include <string.h>
 #include <glib.h>
 #include <glib-object.h>
+
+#ifdef HAVE_THUNAR_VFS
+#define EXO_API_SUBJECT_TO_CHANGE
 #include <thunar-vfs/thunar-vfs.h>
+#else
+#include <gettext.h>
+#endif
 
 #include "archive.h"
 #include "archive-support.h"

Modified: xarchiver/branches/xarchiver-psybsd/libxarchiver/archive-support.c
===================================================================
--- xarchiver/branches/xarchiver-psybsd/libxarchiver/archive-support.c	2006-10-12 12:58:19 UTC (rev 23370)
+++ xarchiver/branches/xarchiver-psybsd/libxarchiver/archive-support.c	2006-10-12 13:36:00 UTC (rev 23371)
@@ -22,7 +22,6 @@
 #include <glib.h>
 #include <glib/gstdio.h>
 #include <glib-object.h>
-#include <thunar-vfs/thunar-vfs.h>
 
 #include "archive.h"
 #include "archive-support.h"

Modified: xarchiver/branches/xarchiver-psybsd/libxarchiver/archive.c
===================================================================
--- xarchiver/branches/xarchiver-psybsd/libxarchiver/archive.c	2006-10-12 12:58:19 UTC (rev 23370)
+++ xarchiver/branches/xarchiver-psybsd/libxarchiver/archive.c	2006-10-12 13:36:00 UTC (rev 23371)
@@ -1,4 +1,4 @@
-/* *  Copyright (c) 2006 Stephan Arts <psyBSD at gmail.com>
+/*  Copyright (c) 2006 Stephan Arts <psyBSD at gmail.com>
  *
  *  This program is free software; you can redistribute it and/or modify
  *  it under the terms of the GNU General Public License as published by
@@ -17,15 +17,19 @@
 
 #define EXO_API_SUBJECT_TO_CHANGE
 
+#include <config.h>
 #include <string.h>
 #include <glib.h>
 #include <glib/gstdio.h>
 #include <glib-object.h> 
-#include <thunar-vfs/thunar-vfs.h>
 #include <signal.h>
 #include <sys/wait.h>
 #include <sys/types.h>
 
+#ifdef HAVE_THUNAR_VFS
+#include <thunar-vfs/thunar-vfs.h>
+#endif /* HAVE_THUNAR_VFS */
+
 #include "archive.h"
 #include "archive-support.h"
 
@@ -135,8 +139,12 @@
 lxa_archive_new(gchar *path, gchar *mime)
 {
 	LXAArchive *archive;
+#ifdef HAVE_THUNAR_VFS
 	ThunarVfsMimeInfo *mime_info;
+#else
 
+#endif /* HAVE_THUNAR_VFS */
+
 	archive = g_object_new(lxa_archive_get_type(), NULL);
 
 	if(path)
@@ -144,12 +152,17 @@
 	else
 		archive->path = NULL;
 
+#ifdef HAVE_THUNAR_VFS
 	if(!mime)
 		mime_info = thunar_vfs_mime_database_get_info_for_file(lxa_mime_database, archive->path, g_path_get_basename(archive->path));
 	else
 		mime_info = thunar_vfs_mime_info_new(mime, -1);
+
+	archive->mime = g_strdup(thunar_vfs_mime_info_get_name(mime_info));
+#else
+
+#endif /* HAVE_THUNAR_VFS */
 	
-	archive->mime = g_strdup(thunar_vfs_mime_info_get_name(mime_info));
 	g_debug("Mime-type: %s", archive->mime);
 	
 	if(!lxa_get_support_for_mime(archive->mime))

Modified: xarchiver/branches/xarchiver-psybsd/libxarchiver/internals.c
===================================================================
--- xarchiver/branches/xarchiver-psybsd/libxarchiver/internals.c	2006-10-12 12:58:19 UTC (rev 23370)
+++ xarchiver/branches/xarchiver-psybsd/libxarchiver/internals.c	2006-10-12 13:36:00 UTC (rev 23371)
@@ -21,7 +21,9 @@
 
 #include <glib.h>
 #include <glib-object.h>
+#ifdef HAVE_THUNAR_VFS
 #include <thunar-vfs/thunar-vfs.h>
+#endif /* HAVE_THUNAR_VFS */
 
 #include "archive.h"
 #include "archive-support.h"

Modified: xarchiver/branches/xarchiver-psybsd/libxarchiver/internals.h
===================================================================
--- xarchiver/branches/xarchiver-psybsd/libxarchiver/internals.h	2006-10-12 12:58:19 UTC (rev 23370)
+++ xarchiver/branches/xarchiver-psybsd/libxarchiver/internals.h	2006-10-12 13:36:00 UTC (rev 23371)
@@ -16,8 +16,11 @@
  *  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
  */
 
+#ifdef HAVE_THUNAR_VFS
+ThunarVfsMimeDatabase  *lxa_mime_database;
+#endif /* HAVE_THUNAR_VFS */
+
 const gchar            *lxa_tmp_dir;
-ThunarVfsMimeDatabase  *lxa_mime_database;
 GSList                 *lxa_archive_support_list;
 
 /*
@@ -37,4 +40,3 @@
 
 gchar *
 lxa_concat_filenames(GSList *filenames);
-

Modified: xarchiver/branches/xarchiver-psybsd/libxarchiver/libxarchiver.c
===================================================================
--- xarchiver/branches/xarchiver-psybsd/libxarchiver/libxarchiver.c	2006-10-12 12:58:19 UTC (rev 23370)
+++ xarchiver/branches/xarchiver-psybsd/libxarchiver/libxarchiver.c	2006-10-12 13:36:00 UTC (rev 23371)
@@ -17,24 +17,36 @@
  */
 
 
+#include <config.h>
 #include <glib.h>
 #include <glib/gstdio.h>
 #include <glib-object.h>
 
+#ifdef HAVE_THUNAR_VFS
+#define EXO_API_SUBJECT_TO_CHANGE
+#include <thunar-vfs/thunar-vfs.h>
+#else
+#include <gettext.h>
+#endif
+
 #include "libxarchiver.h"
 #include "libxarchiver/archive-support-zip.h"
 #include "libxarchiver/archive-support-rar.h"
 #include "libxarchiver/archive-support-unrar.h"
 #include "libxarchiver/archive-support-gnu-tar.h"
 
-
 #include "internals.h"
 
+
+
 void
 lxa_init()
 {
 	lxa_tmp_dir = g_get_tmp_dir();
+#ifdef HAVE_THUNAR_VFS
+	thunar_vfs_init();
 	lxa_mime_database = thunar_vfs_mime_database_get_default();
+#endif /* HAVE_THUNAR_VFS */
 
 	lxa_register_support(lxa_archive_support_zip_new());
 	lxa_register_support(lxa_archive_support_gnu_tar_new());
@@ -48,7 +60,9 @@
 lxa_destroy()
 {
 	g_slist_foreach(lxa_archive_support_list, (GFunc)g_object_unref, NULL);
+#ifdef HAVE_THUNAR_VFS
 	g_object_unref(lxa_mime_database);
+#endif /* HAVE_THUNAR_VFS */
 }
 
 /*

Modified: xarchiver/branches/xarchiver-psybsd/libxarchiver/libxarchiver.h
===================================================================
--- xarchiver/branches/xarchiver-psybsd/libxarchiver/libxarchiver.h	2006-10-12 12:58:19 UTC (rev 23370)
+++ xarchiver/branches/xarchiver-psybsd/libxarchiver/libxarchiver.h	2006-10-12 13:36:00 UTC (rev 23371)
@@ -20,7 +20,6 @@
 
 #define EXO_API_SUBJECT_TO_CHANGE
 
-#include <thunar-vfs/thunar-vfs.h>
 #include <libxarchiver/archive.h>
 #include <libxarchiver/archive-support.h>
 

Modified: xarchiver/branches/xarchiver-psybsd/src/Makefile.am
===================================================================
--- xarchiver/branches/xarchiver-psybsd/src/Makefile.am	2006-10-12 12:58:19 UTC (rev 23370)
+++ xarchiver/branches/xarchiver-psybsd/src/Makefile.am	2006-10-12 13:36:00 UTC (rev 23371)
@@ -15,7 +15,7 @@
 xarchiver_CFLAGS = \
 	@GTK_CFLAGS@ \
 	@GLIB_CFLAGS@ \
-	@THUNARVFS_CFLAGS@ \
+	@THUNAR_VFS_CFLAGS@ \
 	-DDATADIR=\"$(datadir)\" \
 	-DSRCDIR=\"$(top_srcdir)\" \
 	-DLOCALEDIR=\"$(localedir)\"
@@ -24,7 +24,7 @@
 	$(top_srcdir)/libxarchiver/libxarchiver.a \
 	@GTK_LIBS@ \
 	@GLIB_LIBS@ \
-	@THUNARVFS_LIBS@
+	@THUNAR_VFS_LIBS@
 
 INCLUDES = \
 	-I${top_srcdir}

Modified: xarchiver/branches/xarchiver-psybsd/src/add_dialog.c
===================================================================
--- xarchiver/branches/xarchiver-psybsd/src/add_dialog.c	2006-10-12 12:58:19 UTC (rev 23370)
+++ xarchiver/branches/xarchiver-psybsd/src/add_dialog.c	2006-10-12 13:36:00 UTC (rev 23371)
@@ -19,6 +19,8 @@
 #include <glib.h>
 #include <gtk/gtk.h>
 #include <libxarchiver/libxarchiver.h>
+#include <gettext.h>
+
 #include "add_dialog.h"
 
 static void

Modified: xarchiver/branches/xarchiver-psybsd/src/archive_store.c
===================================================================
--- xarchiver/branches/xarchiver-psybsd/src/archive_store.c	2006-10-12 12:58:19 UTC (rev 23370)
+++ xarchiver/branches/xarchiver-psybsd/src/archive_store.c	2006-10-12 13:36:00 UTC (rev 23371)
@@ -21,6 +21,14 @@
 #include <glib.h>
 #include <gtk/gtk.h>
 #include <libxarchiver/libxarchiver.h>
+
+#ifdef HAVE_THUNAR_VFS
+#define EXO_API_SUBJECT_TO_CHANGE
+#include <thunar-vfs/thunar-vfs.h>
+#else
+#include <gettext.h>
+#endif
+
 #include "archive_store.h"
 
 static LXAEntry xa_archive_store_up_entry;
@@ -414,8 +422,6 @@
 	gpointer props_iter = entry->props;
 	gint i = 1;
 	const gchar *icon_name = NULL;
-	ThunarVfsMimeDatabase *mime_base = NULL;
-	ThunarVfsMimeInfo *mime_info = NULL;
 
 	if(column == -1)
 	{
@@ -431,15 +437,6 @@
 			{
 				if(store->icon_theme)
 				{
-					mime_base = thunar_vfs_mime_database_get_default();
-					mime_info = thunar_vfs_mime_database_get_info(mime_base, entry->mime_type);
-					icon_name = thunar_vfs_mime_info_lookup_icon_name(mime_info, store->icon_theme);
-
-					if(gtk_icon_theme_has_icon(store->icon_theme, icon_name))
-						g_value_set_string(value, icon_name);
-
-					thunar_vfs_mime_info_unref(mime_info);
-					g_object_unref(mime_base);
 				}
 			}
 		}

Modified: xarchiver/branches/xarchiver-psybsd/src/archive_tree_store.c
===================================================================
--- xarchiver/branches/xarchiver-psybsd/src/archive_tree_store.c	2006-10-12 12:58:19 UTC (rev 23370)
+++ xarchiver/branches/xarchiver-psybsd/src/archive_tree_store.c	2006-10-12 13:36:00 UTC (rev 23371)
@@ -21,6 +21,14 @@
 #include <glib.h>
 #include <gtk/gtk.h>
 #include <libxarchiver/libxarchiver.h>
+
+#ifdef HAVE_THUNAR_VFS
+#define EXO_API_SUBJECT_TO_CHANGE
+#include <thunar-vfs/thunar-vfs.h>
+#else
+#include <gettext.h>
+#endif
+
 #include "archive_tree_store.h"
 
 typedef struct _XAParentTree XAParentTree;
@@ -400,8 +408,6 @@
 	gpointer props_iter = entry->props;
 	gint i = 1;
 	const gchar *icon_name = NULL;
-	ThunarVfsMimeDatabase *mime_base = NULL;
-	ThunarVfsMimeInfo *mime_info = NULL;
 
 	if(column == -1)
 	{
@@ -409,15 +415,6 @@
 
 		if(store->icon_theme)
 		{
-			mime_base = thunar_vfs_mime_database_get_default();
-			mime_info = thunar_vfs_mime_database_get_info(mime_base, entry->mime_type);
-			icon_name = thunar_vfs_mime_info_lookup_icon_name(mime_info, store->icon_theme);
-
-			if(gtk_icon_theme_has_icon(store->icon_theme, icon_name))
-				g_value_set_string(value, icon_name);
-
-			thunar_vfs_mime_info_unref(mime_info);
-			g_object_unref(mime_base);
 		}
 	}
 	else if(column == 0)

Modified: xarchiver/branches/xarchiver-psybsd/src/extract_dialog.c
===================================================================
--- xarchiver/branches/xarchiver-psybsd/src/extract_dialog.c	2006-10-12 12:58:19 UTC (rev 23370)
+++ xarchiver/branches/xarchiver-psybsd/src/extract_dialog.c	2006-10-12 13:36:00 UTC (rev 23371)
@@ -24,6 +24,8 @@
 #include <glib.h>
 #include <gtk/gtk.h>
 #include <libxarchiver/libxarchiver.h>
+#include <gettext.h>
+
 #include "extract_dialog.h"
 
 static void

Modified: xarchiver/branches/xarchiver-psybsd/src/main.c
===================================================================
--- xarchiver/branches/xarchiver-psybsd/src/main.c	2006-10-12 12:58:19 UTC (rev 23370)
+++ xarchiver/branches/xarchiver-psybsd/src/main.c	2006-10-12 13:36:00 UTC (rev 23371)
@@ -1,5 +1,4 @@
-/*
- *  Copyright (c) 2006 Stephan Arts <psybsd at gmail.com>
+/* *  Copyright (c) 2006 Stephan Arts <psybsd at gmail.com>
  *
  *  This program is free software; you can redistribute it and/or modify
  *  it under the terms of the GNU General Public License as published by
@@ -22,6 +21,8 @@
 #include <libxarchiver/libxarchiver.h>
 #include <gtk/gtk.h>
 
+#include <gettext.h>
+
 #include "new_dialog.h"
 #include "add_dialog.h"
 #include "extract_dialog.h"
@@ -129,8 +130,6 @@
 		}
 	}
 
-	thunar_vfs_init();
-
 	lxa_init();
 
 	if(version)

Modified: xarchiver/branches/xarchiver-psybsd/src/main_window.c
===================================================================
--- xarchiver/branches/xarchiver-psybsd/src/main_window.c	2006-10-12 12:58:19 UTC (rev 23370)
+++ xarchiver/branches/xarchiver-psybsd/src/main_window.c	2006-10-12 13:36:00 UTC (rev 23371)
@@ -25,6 +25,14 @@
 #include <glib.h>
 #include <gtk/gtk.h>
 #include <libxarchiver/libxarchiver.h>
+
+#ifdef HAVE_THUNAR_VFS
+#define EXO_API_SUBJECT_TO_CHANGE
+#include <thunar-vfs/thunar-vfs.h>
+#else
+#include <gettext.h>
+#endif
+
 #include "archive_store.h"
 #include "archive_tree_store.h"
 #include "navigation_bar.h"
@@ -253,7 +261,7 @@
 
 	g_signal_connect(G_OBJECT(window->toolbar.tool_item_stop), "clicked", G_CALLBACK(cb_xa_main_stop_archive), window);
 
-/*	window->navigationbar = xa_tool_bar_new(NULL); */
+	window->navigationbar = xa_tool_bar_new(NULL); 
 
 /* main view */
 	window->scrollwindow = gtk_scrolled_window_new(NULL, NULL);

Modified: xarchiver/branches/xarchiver-psybsd/src/new_dialog.c
===================================================================
--- xarchiver/branches/xarchiver-psybsd/src/new_dialog.c	2006-10-12 12:58:19 UTC (rev 23370)
+++ xarchiver/branches/xarchiver-psybsd/src/new_dialog.c	2006-10-12 13:36:00 UTC (rev 23371)
@@ -20,6 +20,8 @@
 #include <glib.h>
 #include <gtk/gtk.h>
 #include <libxarchiver/libxarchiver.h>
+#include <gettext.h>
+
 #include "new_dialog.h"
 
 static void

Modified: xarchiver/branches/xarchiver-psybsd/src/preferences_dialog.c
===================================================================
--- xarchiver/branches/xarchiver-psybsd/src/preferences_dialog.c	2006-10-12 12:58:19 UTC (rev 23370)
+++ xarchiver/branches/xarchiver-psybsd/src/preferences_dialog.c	2006-10-12 13:36:00 UTC (rev 23371)
@@ -20,6 +20,14 @@
 #include <glib.h>
 #include <gtk/gtk.h>
 #include <libxarchiver/libxarchiver.h>
+
+#ifdef HAVE_THUNAR_VFS
+#define EXO_API_SUBJECT_TO_CHANGE
+#include <thunar-vfs/thunar-vfs.h>
+#else
+#include <gettext.h>
+#endif
+
 #include "preferences_dialog.h"
 
 static void
@@ -62,9 +70,66 @@
 static void
 xa_preferences_dialog_init(XAPreferencesDialog *dialog)
 {
+	GtkWidget *box;
+	GtkWidget *label;
+	GtkWidget *frame;
+	dialog->notebook = gtk_notebook_new();
+
+	box = gtk_vbox_new(FALSE, 0);
+	label = gtk_label_new_with_mnemonic(_("_General"));
+	gtk_notebook_append_page(GTK_NOTEBOOK(dialog->notebook), box, label);
+
+	frame  = gtk_frame_new(_("Archive viewer:"));
+	gtk_box_pack_start(GTK_BOX(box), frame,FALSE, FALSE, 0);
+	gtk_frame_set_shadow_type(GTK_FRAME(frame), GTK_SHADOW_NONE);
+	gtk_container_set_border_width(GTK_CONTAINER(frame), 0);
+
+	GtkWidget *_vbox = gtk_vbox_new(FALSE, 0);
+	gtk_container_add(GTK_CONTAINER(frame), _vbox);
+	gtk_container_set_border_width(GTK_CONTAINER(_vbox), 0);
+
+	dialog->general.viewer.show_icons = gtk_check_button_new_with_mnemonic(_("_Show Icons"));
+	gtk_box_pack_start(GTK_BOX(_vbox), dialog->general.viewer.show_icons, FALSE, FALSE, 0);
+
+	dialog->general.viewer.rules_hint = gtk_check_button_new_with_mnemonic(_("_Rules Hint"));
+	gtk_box_pack_start(GTK_BOX(_vbox), dialog->general.viewer.rules_hint, FALSE, FALSE, 0);
+
+	frame  = gtk_frame_new(_("Sorting:"));
+	gtk_box_pack_start(GTK_BOX(_vbox), frame,FALSE, FALSE, 0);
+	gtk_frame_set_shadow_type(GTK_FRAME(frame), GTK_SHADOW_NONE);
+	gtk_container_set_border_width(GTK_CONTAINER(frame), 0);
+
+	GtkWidget *sort_vbox = gtk_vbox_new(FALSE, 0);
+	gtk_container_add(GTK_CONTAINER(frame), sort_vbox);
+	gtk_container_set_border_width(GTK_CONTAINER(sort_vbox), 0);
+
+	dialog->general.viewer.sorting.sort_case = gtk_check_button_new_with_mnemonic(_("Sort _Case Sensitive "));
+	gtk_box_pack_start(GTK_BOX(sort_vbox), dialog->general.viewer.sorting.sort_case, FALSE, FALSE, 0);
+
+	dialog->general.viewer.sorting.sort_folders = gtk_check_button_new_with_mnemonic(_("Sort _Folders First"));
+	gtk_box_pack_start(GTK_BOX(sort_vbox), dialog->general.viewer.sorting.sort_folders, FALSE, FALSE, 0);
+
+	frame  = gtk_frame_new(_("Navigation bar:"));
+	gtk_box_pack_start(GTK_BOX(box), frame,FALSE, FALSE, 0);
+	gtk_frame_set_shadow_type(GTK_FRAME(frame), GTK_SHADOW_NONE);
+	gtk_container_set_border_width(GTK_CONTAINER(frame), 0);
+
+	GtkWidget *nav_vbox = gtk_hbox_new(FALSE, 0);
+	gtk_container_add(GTK_CONTAINER(frame), nav_vbox);
+	gtk_container_set_border_width(GTK_CONTAINER(nav_vbox), 0);
+
+	box = gtk_hbox_new(FALSE, 0);
+	label = gtk_label_new_with_mnemonic(_("_Archivers"));
+	gtk_notebook_append_page(GTK_NOTEBOOK(dialog->notebook), box, label);
+
+	box = gtk_hbox_new(FALSE, 0);
+	label = gtk_label_new_with_mnemonic(_("_Behaviour"));
+	gtk_notebook_append_page(GTK_NOTEBOOK(dialog->notebook), box, label);
+
+	gtk_container_add(GTK_CONTAINER(GTK_DIALOG(dialog)->vbox), dialog->notebook);
+	gtk_widget_show_all(dialog->notebook);
 	gtk_dialog_add_buttons(GTK_DIALOG(dialog), 
-			GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
-			GTK_STOCK_APPLY, GTK_RESPONSE_OK,
+			GTK_STOCK_CLOSE, GTK_RESPONSE_OK,
 			NULL);
 	gtk_dialog_set_default_response(GTK_DIALOG(dialog), GTK_RESPONSE_OK);
 }

Modified: xarchiver/branches/xarchiver-psybsd/src/preferences_dialog.h
===================================================================
--- xarchiver/branches/xarchiver-psybsd/src/preferences_dialog.h	2006-10-12 12:58:19 UTC (rev 23370)
+++ xarchiver/branches/xarchiver-psybsd/src/preferences_dialog.h	2006-10-12 13:36:00 UTC (rev 23371)
@@ -43,6 +43,17 @@
 struct _XAPreferencesDialog
 {
 	GtkDialog parent;
+	GtkWidget *notebook;
+	struct {
+		struct {
+			GtkWidget *show_icons;
+			GtkWidget *rules_hint;
+			struct {
+				GtkWidget *sort_case;
+				GtkWidget *sort_folders;
+			} sorting;
+		} viewer;
+	} general;
 };
 
 typedef struct _XAPreferencesDialogClass XAPreferencesDialogClass;



More information about the Xfce4-commits mailing list