summaryrefslogtreecommitdiff
path: root/gtk
diff options
context:
space:
mode:
authorOwen Taylor <otaylor@redhat.com>2003-10-23 04:22:32 +0000
committerOwen Taylor <otaylor@src.gnome.org>2003-10-23 04:22:32 +0000
commitb3bae3b40ab92ad5a5dab65da3c3440efae975d4 (patch)
tree9301956750d991c3fe99e7862c44fbc104aa44a8 /gtk
parent3724a591d822c3bc53ce829407a142e19d418acf (diff)
downloadgtk+-b3bae3b40ab92ad5a5dab65da3c3440efae975d4.tar.gz
gtk/gtkfilechooserutils.c gtk/gtkfilechooserprivate.[ch]: Basic framework
Wed Oct 22 23:20:04 2003 Owen Taylor <otaylor@redhat.com> * gtk/gtkfilechooser.[ch] gtk/gtkfilefilter.[ch] gtk/gtkfilechooserwidget.[ch] gtk/gtkfilechooserdialog.[ch]: gtk/gtkfilechooserutils.c gtk/gtkfilechooserprivate.[ch]: Basic framework for the new file selector widget. * gtk/gtkfilechooserdefault.[ch] gtk/gtkcellrenderersep.[ch] gtk/gtkfilechooserentry.[ch] gtk/gtkfilesystemmodel.[ch]: Initial implementation of the GtkFileChooser user interface. * gtk/gtkfilesystemunix.[ch]: GtkFileSystem implementation for Unix files. * configure.in gtk/Makefile.am gtk/xdgmime: Build code for freedesktop.org MIME system on Unix. * tests/testfilechooser.c: Test program for GtkFileChooser * tests/prop-editor.c: Add support for properties on interfaces.
Diffstat (limited to 'gtk')
-rw-r--r--gtk/Makefile.am46
-rw-r--r--gtk/gtk.h2
-rw-r--r--gtk/gtkfilechooser.c2
-rw-r--r--gtk/gtkfilechooserdefault.c48
-rw-r--r--gtk/gtkfilechooserdialog.c2
-rw-r--r--gtk/gtkfilechooserentry.c7
-rw-r--r--gtk/gtkfilechooserutils.c2
-rw-r--r--gtk/gtkfilechooserwidget.c6
-rw-r--r--gtk/gtkfilefilter.c14
-rw-r--r--gtk/gtkfilesystem.c2
-rw-r--r--gtk/gtkfilesystem.h8
-rw-r--r--gtk/gtkfilesystemmodel.c5
-rw-r--r--gtk/gtkfilesystemunix.c1
-rw-r--r--gtk/xdgmime/Makefile.am2
14 files changed, 99 insertions, 48 deletions
diff --git a/gtk/Makefile.am b/gtk/Makefile.am
index 646894e614..8d630be488 100644
--- a/gtk/Makefile.am
+++ b/gtk/Makefile.am
@@ -2,6 +2,12 @@
SUBDIRS=stock-icons theme-bits
+if OS_UNIX
+SUBDIRS += xdgmime
+endif
+
+DIST_SUBDIRS=stock-icons theme-bits xdgmime
+
INCLUDES = \
-DG_LOG_DOMAIN=\"Gtk\" \
-DGTK_LIBDIR=\"$(libdir)\" \
@@ -20,6 +26,7 @@ INCLUDES = \
-DGDK_PIXBUF_DISABLE_DEPRECATED \
-DGDK_DISABLE_DEPRECATED \
-DGTK_DISABLE_DEPRECATED \
+ -DGTK_FILE_SYSTEM_ENABLE_UNSUPPORTED \
$(GTK_DEBUG_FLAGS) \
$(GTK_DEP_CFLAGS)
@@ -72,6 +79,10 @@ libadd = \
$(top_builddir)/gdk/$(gdktargetlib) \
$(GTK_DEP_LIBS)
+if OS_UNIX
+libadd += xdgmime/libxdgmime.la
+endif
+
# common options for the various packages.
libtool_opts = \
-version-info $(LT_VERSION_INFO) \
@@ -133,6 +144,10 @@ gtk_public_h_sources = \
gtkenums.h \
gtkeventbox.h \
gtkexpander.h \
+ gtkfilechooser.h \
+ gtkfilechooserdialog.h \
+ gtkfilechooserwidget.h \
+ gtkfilefilter.h \
gtkfilesel.h \
gtkfixed.h \
gtkfontbutton.h \
@@ -212,7 +227,6 @@ gtk_public_h_sources = \
gtktextchild.h \
gtktextdisplay.h \
gtktextiter.h \
- gtktextlayout.h \
gtktextmark.h \
gtktexttag.h \
gtktexttagtable.h \
@@ -249,11 +263,24 @@ gtk_public_h_sources = \
gtkwidget.h \
gtkwindow.h
+# Installed header files without compatibility guarantees
+# that are not include in gtk/gtk.h
+gtk_semi_private_h_sources = \
+ gtktextlayout.h \
+ gtkfilesystem.h
+
# GTK+ header files that don't get installed
gtk_private_h_sources = \
+ gtkcellrendererseptext.h\
gtkcellview.h \
gtkcellviewmenuitem.h \
gtkentryprivate.h \
+ gtkfilechooserentry.h \
+ gtkfilechooserdefault.h \
+ gtkfilechooserprivate.h \
+ gtkfilechooserutils.h \
+ gtkfilesystemunix.h \
+ gtkfilesystemmodel.h \
gtkrbtree.h \
gtktextbtree.h \
gtktextchildprivate.h \
@@ -292,6 +319,7 @@ gtk_c_sources = \
gtkcelllayout.c \
gtkcellrenderer.c \
gtkcellrendererpixbuf.c \
+ gtkcellrendererseptext.c\
gtkcellrenderertext.c \
gtkcellrenderertoggle.c \
gtkcellview.c \
@@ -317,7 +345,16 @@ gtk_c_sources = \
gtkentrycompletion.c \
gtkeventbox.c \
gtkexpander.c \
+ gtkfilechooser.c \
+ gtkfilechooserdialog.c \
+ gtkfilechooserentry.c \
+ gtkfilechooserdefault.c \
+ gtkfilechooserutils.c \
+ gtkfilechooserwidget.c \
+ gtkfilefilter.c \
gtkfilesel.c \
+ gtkfilesystem.c \
+ gtkfilesystemmodel.c \
gtkfixed.c \
gtkfontbutton.c \
gtkfontsel.c \
@@ -451,6 +488,11 @@ gtk_c_sources = \
gtkwindow.c \
xembed.h
+if OS_UNIX
+gtk_private_h_sources += gtkfilesystemunix.h
+gtk_c_sources += gtkfilesystemunix.c
+endif
+
gtk_plug_c_sources = \
gtkplug.c \
gtksocket.c \
@@ -568,7 +610,7 @@ gtktypebuiltins.c: @REBUILD@ $(gtk_public_h_sources) Makefile
lib_LTLIBRARIES = $(gtktargetlib)
gtkincludedir = $(includedir)/gtk-2.0/gtk
-gtkinclude_HEADERS = $(gtk_public_h_sources) $(gtk_built_public_sources) gtkversion.h
+gtkinclude_HEADERS = $(gtk_public_h_sources) $(gtk_semi_private_h_sources) $(gtk_built_public_sources) gtkversion.h
libgtk_x11_2_0_la_SOURCES = $(gtk_c_sources) $(gtk_plug_c_sources)
libgtk_linux_fb_2_0_la_SOURCES = $(gtk_c_sources)
diff --git a/gtk/gtk.h b/gtk/gtk.h
index 034040720b..e52a1a6d03 100644
--- a/gtk/gtk.h
+++ b/gtk/gtk.h
@@ -74,6 +74,8 @@
#include <gtk/gtkexpander.h>
#include <gtk/gtkfilesel.h>
#include <gtk/gtkfixed.h>
+#include <gtk/gtkfilechooserdialog.h>
+#include <gtk/gtkfilechooserwidget.h>
#include <gtk/gtkfontbutton.h>
#include <gtk/gtkfontsel.h>
#include <gtk/gtkframe.h>
diff --git a/gtk/gtkfilechooser.c b/gtk/gtkfilechooser.c
index 23d3024eb0..aaa7382fab 100644
--- a/gtk/gtkfilechooser.c
+++ b/gtk/gtkfilechooser.c
@@ -20,8 +20,8 @@
#include "gtkfilechooser.h"
#include "gtkfilechooserprivate.h"
-#include "gtkfilechooserenums.h"
#include "gtkfilesystem.h"
+#include "gtktypebuiltins.h"
#define _(str) (str)
diff --git a/gtk/gtkfilechooserdefault.c b/gtk/gtkfilechooserdefault.c
index 738983b52b..ddb517b62f 100644
--- a/gtk/gtkfilechooserdefault.c
+++ b/gtk/gtkfilechooserdefault.c
@@ -18,34 +18,36 @@
* Boston, MA 02111-1307, USA.
*/
+#include "gtkalignment.h"
+#include "gtkcellrendererpixbuf.h"
#include "gtkcellrendererseptext.h"
-#include "gtkfilechooserimpldefault.h"
+#include "gtkcellrenderertext.h"
+#include "gtkentry.h"
+#include "gtkfilechooserdefault.h"
#include "gtkfilechooserentry.h"
-#include "gtkfilechooserenums.h"
#include "gtkfilechooserutils.h"
#include "gtkfilechooser.h"
#include "gtkfilesystemmodel.h"
-
-#include <gtk/gtkalignment.h>
-#include <gtk/gtkcellrendererpixbuf.h>
-#include <gtk/gtkcellrenderertext.h>
-#include <gtk/gtkentry.h>
-#include <gtk/gtkframe.h>
-#include <gtk/gtkhbox.h>
-#include <gtk/gtkhpaned.h>
-#include <gtk/gtkicontheme.h>
-#include <gtk/gtkimage.h>
-#include <gtk/gtklabel.h>
-#include <gtk/gtkmenuitem.h>
-#include <gtk/gtkoptionmenu.h>
-#include <gtk/gtkscrolledwindow.h>
-#include <gtk/gtkstock.h>
-#include <gtk/gtktable.h>
-#include <gtk/gtktreeview.h>
-#include <gtk/gtktreemodelsort.h>
-#include <gtk/gtktreeselection.h>
-#include <gtk/gtktreestore.h>
-#include <gtk/gtkvbox.h>
+#include "gtkframe.h"
+#include "gtkhbox.h"
+#include "gtkhpaned.h"
+#include "gtkicontheme.h"
+#include "gtkimage.h"
+#include "gtklabel.h"
+#include "gtkmenuitem.h"
+#undef GTK_DISABLE_DEPRECATED
+#include "gtkoptionmenu.h"
+#define GTK_DISABLE_DEPRECATED
+#include "gtkprivate.h"
+#include "gtkscrolledwindow.h"
+#include "gtkstock.h"
+#include "gtktable.h"
+#include "gtktreeview.h"
+#include "gtktreemodelsort.h"
+#include "gtktreeselection.h"
+#include "gtktreestore.h"
+#include "gtktypebuiltins.h"
+#include "gtkvbox.h"
#include <string.h>
#include <time.h>
diff --git a/gtk/gtkfilechooserdialog.c b/gtk/gtkfilechooserdialog.c
index 77ab450240..678913c335 100644
--- a/gtk/gtkfilechooserdialog.c
+++ b/gtk/gtkfilechooserdialog.c
@@ -20,9 +20,9 @@
#include "gtkfilechooserdialog.h"
#include "gtkfilechooserwidget.h"
-#include "gtkfilechooserenums.h"
#include "gtkfilechooserutils.h"
#include "gtkfilesystem.h"
+#include "gtktypebuiltins.h"
#include <stdarg.h>
diff --git a/gtk/gtkfilechooserentry.c b/gtk/gtkfilechooserentry.c
index ca29f02e26..da693aba38 100644
--- a/gtk/gtkfilechooserentry.c
+++ b/gtk/gtkfilechooserentry.c
@@ -18,12 +18,11 @@
* Boston, MA 02111-1307, USA.
*/
-#include "gtkfilechooserentry.h"
-
-#include <gtk/gtkentry.h>
-
#include <string.h>
+#include "gtkentry.h"
+#include "gtkfilechooserentry.h"
+
typedef struct _GtkFileChooserEntryClass GtkFileChooserEntryClass;
#define GTK_FILE_CHOOSER_ENTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_FILE_CHOOSER_ENTRY, GtkFileChooserEntryClass))
diff --git a/gtk/gtkfilechooserutils.c b/gtk/gtkfilechooserutils.c
index de19257bfc..546ff93e7f 100644
--- a/gtk/gtkfilechooserutils.c
+++ b/gtk/gtkfilechooserutils.c
@@ -21,8 +21,8 @@
#include "gtkfilechooserutils.h"
#include "gtkfilechooser.h"
-#include "gtkfilechooserenums.h"
#include "gtkfilesystem.h"
+#include "gtktypebuiltins.h"
static void delegate_set_current_folder (GtkFileChooser *chooser,
const GtkFilePath *path);
diff --git a/gtk/gtkfilechooserwidget.c b/gtk/gtkfilechooserwidget.c
index 0ad7e823e5..bfc3b81c5b 100644
--- a/gtk/gtkfilechooserwidget.c
+++ b/gtk/gtkfilechooserwidget.c
@@ -19,10 +19,12 @@
*/
#include "gtkfilechooserwidget.h"
-#include "gtkfilechooserimpldefault.h"
-#include "gtkfilechooserenums.h"
+#include "gtkfilechooserdefault.h"
#include "gtkfilechooserutils.h"
+#ifdef G_OS_UNIX
#include "gtkfilesystemunix.h"
+#endif
+#include "gtktypebuiltins.h"
struct _GtkFileChooserWidgetPrivate
{
diff --git a/gtk/gtkfilefilter.c b/gtk/gtkfilefilter.c
index 762f923559..9f9c223965 100644
--- a/gtk/gtkfilefilter.c
+++ b/gtk/gtkfilefilter.c
@@ -18,12 +18,11 @@
* Boston, MA 02111-1307, USA.
*/
-#include "gtkfilefilter.h"
-
-#include <gtk/gtkobject.h>
-
#include <string.h>
+#include "gtkfilefilter.h"
+#include "gtkobject.h"
+
typedef struct _GtkFileFilterClass GtkFileFilterClass;
typedef struct _FilterRule FilterRule;
@@ -317,11 +316,6 @@ gtk_file_filter_get_needed (GtkFileFilter *filter)
return filter->needed;
}
-/* Remove once we merge into GTK+ and use _gtk_fnmatch().
- */
-gboolean _gtk_file_chooser_fnmatch (const char *pattern,
- const char *string);
-
/**
* gtk_file_filter_filter:
* @filter: a #GtkFileFilter
@@ -359,7 +353,7 @@ gtk_file_filter_filter (GtkFileFilter *filter,
return TRUE;
break;
case FILTER_RULE_PATTERN:
- if (_gtk_file_chooser_fnmatch (rule->u.pattern, filter_info->display_name))
+ if (_gtk_fnmatch (rule->u.pattern, filter_info->display_name))
return TRUE;
break;
case FILTER_RULE_CUSTOM:
diff --git a/gtk/gtkfilesystem.c b/gtk/gtkfilesystem.c
index ff782f0c2f..ea7c4fee74 100644
--- a/gtk/gtkfilesystem.c
+++ b/gtk/gtkfilesystem.c
@@ -18,9 +18,9 @@
* Boston, MA 02111-1307, USA.
*/
-#include <gtk/gtkicontheme.h>
#include "gtkfilesystem.h"
+#include "gtkicontheme.h"
#include <string.h>
diff --git a/gtk/gtkfilesystem.h b/gtk/gtkfilesystem.h
index 18ba61ca5d..ee962b2599 100644
--- a/gtk/gtkfilesystem.h
+++ b/gtk/gtkfilesystem.h
@@ -21,6 +21,14 @@
#ifndef __GTK_FILE_SYSTEM_H__
#define __GTK_FILE_SYSTEM_H__
+/* This is a "semi-private" header; it is meant only for
+ * alternate GtkFileChooser backend modules; no stability guarantees
+ * are made at this point
+ */
+#ifndef GTK_FILE_SYSTEM_ENABLE_UNSUPPORTED
+#error "GtkFileSystem is not supported API for general use"
+#endif
+
#include <glib-object.h>
#include <gtk/gtkwidget.h> /* For icon handling */
diff --git a/gtk/gtkfilesystemmodel.c b/gtk/gtkfilesystemmodel.c
index 75762cff5c..c69e29a415 100644
--- a/gtk/gtkfilesystemmodel.c
+++ b/gtk/gtkfilesystemmodel.c
@@ -18,10 +18,11 @@
* Boston, MA 02111-1307, USA.
*/
+#include <string.h>
+
#include "gtkfilesystemmodel.h"
#include "gtkfilesystem.h"
-#include <gtk/gtktreemodel.h>
-#include <string.h>
+#include "gtktreemodel.h"
typedef struct _GtkFileSystemModelClass GtkFileSystemModelClass;
typedef struct _FileModelNode FileModelNode;
diff --git a/gtk/gtkfilesystemunix.c b/gtk/gtkfilesystemunix.c
index ded5389ceb..60a1fbd7ec 100644
--- a/gtk/gtkfilesystemunix.c
+++ b/gtk/gtkfilesystemunix.c
@@ -21,6 +21,7 @@
#include "gtkfilesystem.h"
#include "gtkfilesystemunix.h"
+#define XDG_PREFIX _gtk_xdg
#include "xdgmime/xdgmime.h"
#include <errno.h>
diff --git a/gtk/xdgmime/Makefile.am b/gtk/xdgmime/Makefile.am
index 5edd02d7d0..38c427a7e3 100644
--- a/gtk/xdgmime/Makefile.am
+++ b/gtk/xdgmime/Makefile.am
@@ -1,4 +1,4 @@
-INCLUDES = -DXDG_PREFIX=_xdg
+INCLUDES = -DXDG_PREFIX=_gtk_xdg
noinst_LTLIBRARIES = libxdgmime.la