Commit b3bae3b4 authored by Owen Taylor's avatar Owen Taylor Committed by Owen Taylor

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.
parent 3724a591
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.
Tue Oct 21 16:12:51 2003 Owen Taylor <otaylor@redhat.com>
* demos/gtk-demo/menus.c (do_menus): Fix some unused
......
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.
Tue Oct 21 16:12:51 2003 Owen Taylor <otaylor@redhat.com>
* demos/gtk-demo/menus.c (do_menus): Fix some unused
......
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.
Tue Oct 21 16:12:51 2003 Owen Taylor <otaylor@redhat.com>
* demos/gtk-demo/menus.c (do_menus): Fix some unused
......
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.
Tue Oct 21 16:12:51 2003 Owen Taylor <otaylor@redhat.com>
* demos/gtk-demo/menus.c (do_menus): Fix some unused
......
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.
Tue Oct 21 16:12:51 2003 Owen Taylor <otaylor@redhat.com>
* demos/gtk-demo/menus.c (do_menus): Fix some unused
......
......@@ -145,6 +145,7 @@ case "$host" in
esac
AC_MSG_RESULT([$os_win32])
AM_CONDITIONAL(OS_WIN32, test "$os_win32" = "yes")
AM_CONDITIONAL(OS_UNIX, test "$os_win32" != "yes")
if test "$os_win32" = "yes"; then
AC_CHECK_PROG(ms_librarian, lib.exe, yes, no)
......@@ -1571,6 +1572,7 @@ gtk/gtkversion.h
gtk/gtk-win32.rc
gtk/stock-icons/Makefile
gtk/theme-bits/Makefile
gtk/xdgmime/Makefile
modules/Makefile
modules/input/Makefile
contrib/Makefile
......
......@@ -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)
......
......@@ -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>
......
......@@ -20,8 +20,8 @@
#include "gtkfilechooser.h"
#include "gtkfilechooserprivate.h"
#include "gtkfilechooserenums.h"
#include "gtkfilesystem.h"
#include "gtktypebuiltins.h"
#define _(str) (str)
......
......@@ -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>
......
......@@ -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>
......
......@@ -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))
......
......@@ -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);
......
......@@ -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
{
......
......@@ -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:
......
......@@ -18,9 +18,9 @@
* Boston, MA 02111-1307, USA.
*/
#include <gtk/gtkicontheme.h>
#include "gtkfilesystem.h"
#include "gtkicontheme.h"
#include <string.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 */
......
......@@ -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;
......
......@@ -21,6 +21,7 @@
#include "gtkfilesystem.h"
#include "gtkfilesystemunix.h"
#define XDG_PREFIX _gtk_xdg
#include "xdgmime/xdgmime.h"
#include <errno.h>
......
INCLUDES = -DXDG_PREFIX=_xdg
INCLUDES = -DXDG_PREFIX=_gtk_xdg
noinst_LTLIBRARIES = libxdgmime.la
......
......@@ -31,6 +31,7 @@ noinst_PROGRAMS = \
testcalendar \
testcombo \
testdnd \
testfilechooser \
testgtk \
testicontheme \
testinput \
......@@ -64,6 +65,7 @@ testicontheme_DEPENDENCIES = $(TEST_DEPS)
testcalendar_DEPENDENCIES = $(TEST_DEPS)
testcombo_DEPENDENCIES = $(TEST_DEPS)
testdnd_DEPENDENCIES = $(TEST_DEPS)
testfilechooser_DEPENDENCIES = $(TEST_DEPS)
testgtk_DEPENDENCIES = $(TEST_DEPS)
testinput_DEPENDENCIES = $(TEST_DEPS)
testmenus_DEPENDENCIES = $(TEST_DEPS)
......@@ -90,6 +92,7 @@ simple_LDADD = $(LDADDS)
testcalendar_LDADD = $(LDADDS)
testcombo_LDADD = $(LDADDS)
testdnd_LDADD = $(LDADDS)
testfilechooser_LDADD = $(LDADDS)
testgtk_LDADD = $(LDADDS)
testicontheme_LDADD = $(LDADDS)
testinput_LDADD = $(LDADDS)
......@@ -119,6 +122,10 @@ pixbuf_random_LDADD = $(LDADDS)
testmerge_LDADD = $(LDADDS)
testactions_LDADD = $(LDADDS)
testfilechooser_SOURCES = \
prop-editor.c \
testfilechooser.c
testgtk_SOURCES = \
prop-editor.c \
testgtk.c
......
......@@ -686,13 +686,20 @@ properties_from_type (GObject *object,
GtkWidget *sw;
GtkWidget *vbox;
GtkWidget *table;
GObjectClass *class;
GParamSpec **specs;
gint n_specs;
int i;
class = G_OBJECT_CLASS (g_type_class_peek (type));
specs = g_object_class_list_properties (class, &n_specs);
if (G_TYPE_IS_INTERFACE (type))
{
gpointer vtable = g_type_default_interface_peek (type);
specs = g_object_interface_list_properties (vtable, &n_specs);
}
else
{
GObjectClass *class = G_OBJECT_CLASS (g_type_class_peek (type));
specs = g_object_class_list_properties (class, &n_specs);
}
if (n_specs == 0)
return NULL;
......@@ -775,7 +782,9 @@ create_prop_editor (GObject *object,
GtkWidget *properties;
GtkWidget *label;
gchar *title;
GType *ifaces;
guint n_ifaces;
if ((win = g_object_get_data (G_OBJECT (object), "prop-editor-win")))
{
gtk_window_present (GTK_WINDOW (win));
......@@ -820,6 +829,20 @@ create_prop_editor (GObject *object,
type = g_type_parent (type);
}
ifaces = g_type_interfaces (G_TYPE_FROM_INSTANCE (object), &n_ifaces);
while (n_ifaces--)
{
properties = properties_from_type (object, ifaces[n_ifaces], tips);
if (properties)
{
label = gtk_label_new (g_type_name (ifaces[n_ifaces]));
gtk_notebook_append_page (GTK_NOTEBOOK (notebook),
properties, label);
}
}
g_free (ifaces);
}
else
{
......
......@@ -6,16 +6,8 @@
#include <unistd.h>
#include <gtk/gtk.h>
#include "gtkfilechooserdialog.h"
#include "gtkfilechooser.h"
#include "prop-editor.h"
#ifdef USE_GNOME_VFS
#include "gtkfilesystemgnomevfs.h"
#else
#include "gtkfilesystemunix.h"
#endif
static GtkWidget *preview_label;
static GtkWidget *preview_image;
......@@ -300,22 +292,14 @@ main (int argc, char **argv)
GtkWidget *button;
GtkWidget *dialog;
GtkWidget *prop_editor;
GtkFileSystem *file_system;
GtkFileFilter *filter;
GtkWidget *preview_vbox;
GtkWidget *extra;
gtk_init (&argc, &argv);
#ifdef USE_GNOME_VFS
file_system = gtk_file_system_gnome_vfs_new ();
#else
file_system = gtk_file_system_unix_new ();
#endif
dialog = g_object_new (GTK_TYPE_FILE_CHOOSER_DIALOG,
"action", GTK_FILE_CHOOSER_ACTION_OPEN,
"file-system", file_system,
"title", "Select a file",
NULL);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment