diff --git a/.pc/01_gladeui-types.patch/doc/gladeui.types b/.pc/01_gladeui-types.patch/doc/gladeui.types index 7a694e5..8a2e72b 100644 --- a/.pc/01_gladeui-types.patch/doc/gladeui.types +++ b/.pc/01_gladeui-types.patch/doc/gladeui.types @@ -2,7 +2,6 @@ glade_app_get_type glade_clipboard_get_type -glade_clipboard_view_get_type glade_command_get_type glade_editor_get_type glade_editor_property_get_type diff --git a/ChangeLog b/ChangeLog index 4d3cd66..e719269 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,163 @@ +2011-01-06 Tristan Van Berkom + + * NEWS: Rolling 3.7.3 + +2011-01-03 Tristan Van Berkom + + * gladeui/glade-project.c, gladeui/glade-id-allocator.c: Dont index unallocated + memory when releasing a widget name that was never allocated (this can happen + for loaded widgets with a number), fixes crash when setting naming policy for + glom_developer.glade. + +2010-12-31 Tristan Van Berkom + + * gladeui/glade-project.c: Further fixing project dispose cycle, still leaking a little + bit of memory for large projects but no crashes. + + * plugins/gtk+/glade-gtk.c: Fixed loaded state of use-action-appearance so that it always + loads as FALSE if there is no "related-action" at load time (closes bug 582882). + + * gladeui/glade-property.c: Fixed glade_property_dup() to not incidentally sync the property + object's value as a consequence of dupping (backend uses this to write properties with custom + values and does not expect that). + + * m4/python.m4: Applying patch to allow better builds on win32, patch by Dieter Verfaillie, + bug 634978. + + * plugins/gtk+/gtk+.xml.in: Setting "can-focus" as "save-always" for all widgets (bug 638079). + +2010-12-30 Christian Persch + + * plugins/gtk+/glade-attributes.c: Use locale-independent strtod & + dtostr. Fixes bug 616787 + +2010-12-30 Tristan Van Berkom + + * plugins/gtk+/gtk+.xml.in: Updated catalog for 2.22 and 2.24 symbols. + + * gladeui/glade-base-editor.c, gladeui/glade-command.c: Avoid setting a null name on a widget. + + * plugins/gtk+/glade-tool-button-editor.c: Fixed unbalanced refcount of a sizegroup in the + toolbutton editor. + + * gladeui/glade-base-editor.c: Remove restriction for only GtkContainer widgets. + + * plugins/gtk+/glade-gtk.c, plugins/gtk+/gtk+.xml.in: Added editor to edit + GtkAction/GtkActionGroup hierarchies. + +2010-12-29 Tristan Van Berkom + + * gladeui/glade-design-view.c: Made loading progress bar nicer looking and ellipsizing. + + * gladeui/Makefile.am, gladeui/glade-project.c: Changed glade-previewer install name + to glade-3-previewer, reserving the former name for parallel installable 3.10. + +2010-12-28 Tristan Van Berkom + + * gladeui/Makefile.am, gladeui/glade.h, gladeui/glade-clipboard.c, gladeui/glade-app.[ch], + src/glade-window.c, gladeui/glade-clipboard-view.[ch]: + Removed GladeClipboradView completely. + +2010-12-27 Tristan Van Berkom + + * gladeui/glade-project.c: Fixed glade-project to unset the loading flag when + loading project dependancies are not satisfied and there is an early return. + +2010-12-22 Tristan Van Berkom + + * gladeui/glade-project.[ch]: Removed dialog and added "load-progress" signal + + * gladeui/glade-app.c: Protect against commands executed on loading projects + + * src/glade-window.c: Added load progressbar to notebook tabs. + + * gladeui/glade-project.c: Added "parse-began" signal + + * gladeui/glade-design-view.c: Hide workspace and show load progress + while loading so that one cannot access project widgets during the load + (insensitive workspace was problematic and causing some loaded project + windows to be permanently insensitive). + + * src/glade-window.c: Avoid any messups during project load, cannot close + projects while they are loading, etc. + +2010-12-21 Tristan Van Berkom + + Added loading objects dialog with progress and cancel. + + * src/main.c: Display window before loading command line specified projects. + + * gladeui/glade-project.[ch]: Added dialog that pops up when about to load + a large project with glade_project_push_project() to push the progress and + glade_project_load_cancelled() to check and abort while loading the project. + + * gladeui/glade-widget.c, gladeui/glade-widget-adaptor.c: Push progress and + abort loading when project indicates the user cancelled the load. + +2010-12-20 Tristan Van Berkom + + * plugins/gtk+/glade-label-editor.c: Dont add invisible properties to the editor, + instead the invisible editor-property gets tied to the life-cycle of the table + it would have been added to (since recently glade_editor_property() explicitly + shows/hides properties according to if thier widget actually has an instance + of the property). + + * plugins/gtk+/glade-gtk.c, plugins/gtk+/glade-column-types.[ch]: Added + glade_column_type_new() to create a GladeColumnType struct properly using + g_slice_new0(). An occurance of allocating the struct with g_new0 was causing + Glade to crash when freeing the block with g_slice_free (bug 637563). Many + big thanks to Benjamin Otte for tracking down the problem. + + * gladeui/glade-project.c: Applying Marco Diego Aurélio Mesquita's patch to + make the project preview only preview toplevels. + + * gladeui/glade-editor.c: Fixed class header of GladeEditor to update when + widgets unload (patch by Marco Diego Aurélio Mesquita, bug 637541). + + * gladeui/glade-editor-property.c, gladeui/glade-property.c, gladeui/glade-widget.c, + plugins/gtk+/glade-gtk.c: Fixing some discrepincies searching for properties as + regular properties or packing properties. Now the conflicting "position" property + on a GtkPaned widget packed into a GtkBox widget works properly (bug 637475). + +2010-12-19 Tristan Van Berkom + + * plugins/gtk+/glade-gtk.c: Fix alpha_sort_box_children() to give a consistent + order to placeholders (bug 637534 fix by Marco Diego Aurélio Mesquita). + + * plugins/gtk+/glade-gtk.c: Removed alpha_sort_box_children(), project needs to be + sorted with box children by position, loading process depends on this. + + * gladeui/glade-widget.[ch]: Hide glade_widget_set_object(), improved reference count + balancing and fixed segfaults upon closing projects that contain filechooser dialogs + referenced by filechooserbuttons. + 2010-12-18 Tristan Van Berkom + * src/Makefile.am, gladeui/Makefile.am, plugins/gtk+/Makefile.am, plugins/gnome/Makefile.am: + Fixed makefiles as per bug 521713 (patch initially by Daniel Macks). + + * gladeui/glade-editor-property.c: Hide editor properties when the property is not available + on the widget, bug 585299, fix by Marco Diego Aurélio Mesquita. + + * gladeui/glade-editor-property.c: Unload currently loaded property in + glade_editor_property_load_by_widget() when a NULL widget is specified or the property + is not found. + +2010-12-17 Tristan Van Berkom + + * plugins/gtk+/gtk+.xml.in, plugins/gtk+/glade-gtk.c: Added support for deprecated GtkOptionMenu. + + * gladeui/glade-project.c: Restore proper sorting of objects at save time. + + * gladeui/glade-property-class.c: Properly order object properties + + * plugins/gtk+/gtk+.xml.in, plugins/gtk+/glade-gtk.c: Alphabetically sort GtkBox children for save. + + * plugins/gtk+/glade-gtk.c, po/*.po: Fixed 'controled' typo with updates to po files, patch + by Matt Woelfel for bug 633957. + +2010-12-17 Tristan Van Berkom + * NEWS, configure.ac: Rolling 3.7.2. 2010-12-17 Tristan Van Berkom diff --git a/NEWS b/NEWS index 51c70cc..afd5b67 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,28 @@ +=========== +Glade 3.7.3 +=========== + - Fixed 'controled' typo with updates to po files, patch + by Matt Woelfel for bug 633957 + - Added support for deprecated GtkOptionMenu. + - Restore proper order of glade file at save time. + - Hide editor properties when the property is not available + on the widget, bug 585299, fix by Marco Diego Aurélio Mesquita. + - Fixed makefiles as per bug 521713 (patch initially by Daniel Macks) + - Fixed mixups of properties/packing properties bug 637475. + - Fixed class header of GladeEditor to update when + widgets unload (patch by Marco Diego Aurélio Mesquita, bug 637541). + - Fixed nasty crasher with column types, bug 637563, fix by Benjamin Otte. + - Added progress bar to notebook tabs while loading projects. + - Removed GladeClipboradView completely. + - Added custom editor for editing GtkActionGroup and its child actions. + - Use locale-independent strtod & dtostr. bug 616787, fix by Christian Persch. + - Applying patch to allow better builds on win32, patch by Dieter Verfaillie, + bug 634978. + - Fixed loaded state of use-action-appearance so that it always + loads as FALSE if there is no "related-action" at load time (closes bug 582882). + - Fixed other misc bugs. + + =========== Glade 3.7.2 =========== @@ -30,7 +55,6 @@ Glade 3.7.2 Sébastien Granjoux and Martin Schlemmer for looking at this one). - Fixed crashes when textview's buffer is deleted, fix by Martin Schlemmer, bug 609748. - Defensively avoid crash when setting entry icon tooltips on an entry with no icons set. - - =========== Glade 3.7.1 diff --git a/configure b/configure index 535f7a0..7402835 100755 --- a/configure +++ b/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.65 for glade3 3.7.2. +# Generated by GNU Autoconf 2.65 for glade3 3.7.3. # # Report bugs to . # @@ -702,8 +702,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='glade3' PACKAGE_TARNAME='glade3' -PACKAGE_VERSION='3.7.2' -PACKAGE_STRING='glade3 3.7.2' +PACKAGE_VERSION='3.7.3' +PACKAGE_STRING='glade3 3.7.3' PACKAGE_BUGREPORT='http://bugzilla.gnome.org/enter_bug.cgi?product=glade3' PACKAGE_URL='' @@ -1569,7 +1569,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures glade3 3.7.2 to adapt to many kinds of systems. +\`configure' configures glade3 3.7.3 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1640,7 +1640,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of glade3 3.7.2:";; + short | recursive ) echo "Configuration of glade3 3.7.3:";; esac cat <<\_ACEOF @@ -1773,7 +1773,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -glade3 configure 3.7.2 +glade3 configure 3.7.3 generated by GNU Autoconf 2.65 Copyright (C) 2009 Free Software Foundation, Inc. @@ -2144,7 +2144,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by glade3 $as_me 3.7.2, which was +It was created by glade3 $as_me 3.7.3, which was generated by GNU Autoconf 2.65. Invocation command line was $ $0 $@ @@ -2508,9 +2508,9 @@ $as_echo "#define GLADE_MINOR_VERSION 7" >>confdefs.h GLADE_MINOR_VERSION=7 -$as_echo "#define GLADE_MICRO_VERSION 2" >>confdefs.h +$as_echo "#define GLADE_MICRO_VERSION 3" >>confdefs.h -GLADE_MICRO_VERSION=2 +GLADE_MICRO_VERSION=3 ac_aux_dir= @@ -3086,7 +3086,7 @@ fi # Define the identity of the package. PACKAGE='glade3' - VERSION='3.7.2' + VERSION='3.7.3' cat >>confdefs.h <<_ACEOF @@ -14138,9 +14138,11 @@ $as_echo "$am_cv_python_pyexecdir" >&6; } $as_echo_n "checking for headers required to compile python extensions... " >&6; } py_prefix=`$PYTHON -c "import sys; print sys.prefix"` py_exec_prefix=`$PYTHON -c "import sys; print sys.exec_prefix"` -PYTHON_INCLUDES="-I${py_prefix}/include/python${PYTHON_VERSION}" -if test "$py_prefix" != "$py_exec_prefix"; then - PYTHON_INCLUDES="$PYTHON_INCLUDES -I${py_exec_prefix}/include/python${PYTHON_VERSION}" +if test "x$PYTHON_INCLUDES" == x; then + PYTHON_INCLUDES="-I${py_prefix}/include/python${PYTHON_VERSION}" + if test "$py_prefix" != "$py_exec_prefix"; then + PYTHON_INCLUDES="$PYTHON_INCLUDES -I${py_exec_prefix}/include/python${PYTHON_VERSION}" + fi fi save_CPPFLAGS="$CPPFLAGS" @@ -15187,7 +15189,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by glade3 $as_me 3.7.2, which was +This file was extended by glade3 $as_me 3.7.3, which was generated by GNU Autoconf 2.65. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -15253,7 +15255,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -glade3 config.status 3.7.2 +glade3 config.status 3.7.3 configured by $0, generated by GNU Autoconf 2.65, with options \\"\$ac_cs_config\\" diff --git a/configure.ac b/configure.ac index 4945cf5..1804e8f 100644 --- a/configure.ac +++ b/configure.ac @@ -4,7 +4,7 @@ AC_PREREQ(2.52) m4_define(glade_major_version, 3) m4_define(glade_minor_version, 7) -m4_define(glade_micro_version, 2) +m4_define(glade_micro_version, 3) m4_define(glade_version, glade_major_version.glade_minor_version.glade_micro_version) AC_INIT([glade3], [glade_version], diff --git a/debian/changelog b/debian/changelog index 01fa9e4..cd2f97e 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +glade-3 (3.7.3-0ubuntu1) natty; urgency=low + + * New upstream release + + -- Robert Ancell Fri, 07 Jan 2011 09:21:48 +1100 + glade-3 (3.7.2-0ubuntu1) natty; urgency=low * New upstream release 3.7.2. diff --git a/doc/gladeui.types b/doc/gladeui.types index 72f47b4..d408c5c 100644 --- a/doc/gladeui.types +++ b/doc/gladeui.types @@ -5,7 +5,6 @@ glade_app_get_type glade_clipboard_get_type -glade_clipboard_view_get_type glade_command_get_type glade_editor_get_type glade_editor_property_get_type diff --git a/doc/html/GladeApp.html b/doc/html/GladeApp.html index b1bd9c8..8a1eafe 100644 --- a/doc/html/GladeApp.html +++ b/doc/html/GladeApp.html @@ -53,7 +53,6 @@

GladeAppGladeEditor * glade_app_get_editor (void); GladePalette * glade_app_get_palette (void); GladeClipboard * glade_app_get_clipboard (void); -GtkWidget * glade_app_get_clipboard_view (void); GladeProject * glade_app_get_project (void); void glade_app_set_project (GladeProject *project); GladePointerMode glade_app_get_pointer_mode (void); @@ -179,11 +178,6 @@

GladeApp
-

glade_app_get_clipboard_view ()

-
GtkWidget *          glade_app_get_clipboard_view       (void);
-
-
-

glade_app_get_project ()

GladeProject *       glade_app_get_project              (void);
diff --git a/doc/html/GladeClipboardView.html b/doc/html/GladeClipboardView.html deleted file mode 100644 index dad65ad..0000000 --- a/doc/html/GladeClipboardView.html +++ /dev/null @@ -1,160 +0,0 @@ - - - - -GladeClipboardView - - - - - - - - - - - - - - - - - - - -
-
-
- - -
-

GladeClipboardView

-

GladeClipboardView — A widget to view and control the GladeClipboard.

-
- -
-

Object Hierarchy

-
-  GObject
-   +----GInitiallyUnowned
-         +----GtkObject
-               +----GtkWidget
-                     +----GtkContainer
-                           +----GtkBin
-                                 +----GtkWindow
-                                       +----GladeClipboardView
-
-
-
-

Implemented Interfaces

-

-GladeClipboardView implements - AtkImplementorIface and GtkBuildable.

-
-
-

Description

-

-The GladeClipboardView is a widget to view the GladeWidget objects -in the GladeClipboard; the user can paste or delete objects on the clipboard. -

-
-
-

Details

-
-

GladeClipboardView

-
typedef struct _GladeClipboardView GladeClipboardView;
-
-
-
-

glade_clipboard_view_new ()

-
GtkWidget *         glade_clipboard_view_new            (GladeClipboard *clipboard);
-

-Create a new GladeClipboardView widget for clipboard. -

-
-- - - - - - - - - - -

clipboard :

a GladeClipboard -

Returns :

a new GladeClipboardView cast to be a GtkWidget -
-
-
-
-

glade_clipboard_view_add ()

-
void                glade_clipboard_view_add            (GladeClipboardView *view,
-                                                         GladeWidget *widget);
-

-Adds widget to view. -

-
-- - - - - - - - - - -

view :

a GladeClipboardView -

widget :

a GladeWidget -
-
-
-
-

glade_clipboard_view_remove ()

-
void                glade_clipboard_view_remove         (GladeClipboardView *view,
-                                                         GladeWidget *widget);
-
-
-
-

glade_clipboard_view_refresh_sel ()

-
void                glade_clipboard_view_refresh_sel    (GladeClipboardView *view);
-

-Synchronizes the treeview selection to the clipboard selection. -

-
-- - - - -

view :

a GladeClipboardView -
-
-
-
- - - \ No newline at end of file diff --git a/doc/html/GladeInspector.html b/doc/html/GladeInspector.html index cd62ca9..39ff494 100644 --- a/doc/html/GladeInspector.html +++ b/doc/html/GladeInspector.html @@ -6,7 +6,7 @@ - + @@ -14,7 +14,7 @@ - + diff --git a/doc/html/GladePalette.html b/doc/html/GladePalette.html index c77a6e4..b326098 100644 --- a/doc/html/GladePalette.html +++ b/doc/html/GladePalette.html @@ -7,7 +7,7 @@ - + @@ -18,7 +18,7 @@ - +
-

Validating and installing

+

Validating and installing

The DTD that is shipped with Glade can be used to validate your catalog file. Note that properties must be entered in the same order as they are diff --git a/doc/html/dockables.html b/doc/html/dockables.html index 693f6f0..ebaa955 100644 --- a/doc/html/dockables.html +++ b/doc/html/dockables.html @@ -35,7 +35,7 @@ GladePalette — A widget to select a GladeWidgetClass for addition.

-GladeClipboardView — A widget to view and control the GladeClipboard. +GladeClipboardView
GladeInspector — A widget for inspecting objects in a GladeProject. diff --git a/doc/html/gladeui-GladeClipboardView.html b/doc/html/gladeui-GladeClipboardView.html new file mode 100644 index 0000000..e7db2c5 --- /dev/null +++ b/doc/html/gladeui-GladeClipboardView.html @@ -0,0 +1,53 @@ + + + + +GladeClipboardView + + + + + + + + + + + + + + + + + + + +
+
+
+ + +
+

GladeClipboardView

+

GladeClipboardView

+
+
+

Synopsis

+

+
+
+

Description

+
+
+

Details

+
+
+ + + \ No newline at end of file diff --git a/doc/html/gladeui.devhelp b/doc/html/gladeui.devhelp index b73730b..82541df 100644 --- a/doc/html/gladeui.devhelp +++ b/doc/html/gladeui.devhelp @@ -27,7 +27,7 @@ - + @@ -49,7 +49,6 @@ - @@ -96,6 +95,7 @@ + @@ -137,6 +137,8 @@ + + @@ -206,7 +208,6 @@ - @@ -522,11 +523,6 @@ - - - - - diff --git a/doc/html/gladeui.devhelp2 b/doc/html/gladeui.devhelp2 index 76cbb18..1dd41fe 100644 --- a/doc/html/gladeui.devhelp2 +++ b/doc/html/gladeui.devhelp2 @@ -27,7 +27,7 @@ - + @@ -49,7 +49,6 @@ - @@ -96,6 +95,7 @@ + @@ -137,6 +137,8 @@ + + @@ -206,7 +208,6 @@ - @@ -522,11 +523,6 @@ - - - - - diff --git a/doc/html/index.html b/doc/html/index.html index d27002b..d9afd26 100644 --- a/doc/html/index.html +++ b/doc/html/index.html @@ -18,7 +18,7 @@

Tristan Van Berkom

-

for glade3 3.7.2 +

for glade3 3.7.3

Abstract

@@ -114,7 +114,7 @@ GladePalette — A widget to select a GladeWidgetClass for addition.
-GladeClipboardView — A widget to view and control the GladeClipboard. +GladeClipboardView
GladeInspector — A widget for inspecting objects in a GladeProject. diff --git a/doc/html/index.sgml b/doc/html/index.sgml index 6f31ad6..1b6bd07 100644 --- a/doc/html/index.sgml +++ b/doc/html/index.sgml @@ -19,7 +19,6 @@ - @@ -76,6 +75,7 @@ + @@ -119,6 +119,8 @@ + + @@ -195,7 +197,6 @@ - @@ -617,17 +618,10 @@ - - - - - - - - - - - + + + + diff --git a/doc/html/ix01.html b/doc/html/ix01.html index 038cd3b..12877d7 100644 --- a/doc/html/ix01.html +++ b/doc/html/ix01.html @@ -20,7 +20,7 @@

-Index

+Index

G

@@ -68,8 +68,6 @@

G

GladeClipboard:has-selection, The "has-selection" property
-
GladeClipboardView, GladeClipboardView -
GladeCommand, GladeCommand
GladeCreateEPropFunc, GladeCreateEPropFunc () @@ -168,6 +166,10 @@

G

GladeProject::convert-finished, The "convert-finished" signal
+
GladeProject::load-progress, The "load-progress" signal +
+
GladeProject::parse-began, The "parse-began" signal +
GladeProject::parse-finished, The "parse-finished" signal
GladeProject::remove-widget, The "remove-widget" signal @@ -314,8 +316,6 @@

G

glade_app_get_clipboard, glade_app_get_clipboard ()
-
glade_app_get_clipboard_view, glade_app_get_clipboard_view () -
glade_app_get_config, glade_app_get_config ()
glade_app_get_editor, glade_app_get_editor () @@ -408,14 +408,6 @@

G

glade_clipboard_selection_remove, glade_clipboard_selection_remove ()
-
glade_clipboard_view_add, glade_clipboard_view_add () -
-
glade_clipboard_view_new, glade_clipboard_view_new () -
-
glade_clipboard_view_refresh_sel, glade_clipboard_view_refresh_sel () -
-
glade_clipboard_view_remove, glade_clipboard_view_remove () -
glade_command_add_signal, glade_command_add_signal ()
glade_command_change_signal, glade_command_change_signal () @@ -568,6 +560,8 @@

G

glade_project_load, glade_project_load ()
+
glade_project_load_from_file, glade_project_load_from_file () +
glade_project_new, glade_project_new ()
glade_project_new_widget_name, glade_project_new_widget_name () @@ -1008,8 +1002,6 @@

G

glade_widget_set_name, glade_widget_set_name ()
-
glade_widget_set_object, glade_widget_set_object () -
glade_widget_set_packing_properties, glade_widget_set_packing_properties ()
glade_widget_set_pack_action_sensitive, glade_widget_set_pack_action_sensitive () diff --git a/doc/html/properties.html b/doc/html/properties.html index 1d9fadd..d3ad20e 100644 --- a/doc/html/properties.html +++ b/doc/html/properties.html @@ -31,7 +31,7 @@

Property Class Definitions

-

Property Class Configuration

+

Property Class Configuration

Properties are introspected at load time and loaded into GladePropertyClass structures. The behaviour of properties can be modified by the catalog and fake properties can be added diff --git a/doc/html/pythonsupport.html b/doc/html/pythonsupport.html index fd7446f..3f56d3f 100644 --- a/doc/html/pythonsupport.html +++ b/doc/html/pythonsupport.html @@ -31,7 +31,7 @@

Python Gtk widgets support

-

Introduction

+

Introduction

Glade supports loading widgets coded in python by linking and running the python interpreter from the gladepython catalog plugin.

diff --git a/doc/html/widgetclasses.html b/doc/html/widgetclasses.html index 62ea4d1..24abef6 100644 --- a/doc/html/widgetclasses.html +++ b/doc/html/widgetclasses.html @@ -31,7 +31,7 @@

Widget Adaptor Definitions

-

Forward

+

Forward

Widget support in Glade is provided by the GladeWidgetAdaptor object, each `glade-widget-class' definition in the catalog will result in the creation @@ -109,7 +109,7 @@

Widget Adaptor Definitions

-

Widget Class Properties

+

Widget Class Properties

The following are all properies of the `glade-widget-class' tag

@@ -224,7 +224,7 @@

Widget Adaptor Definitions

-

Adapter Methods

+

Adapter Methods

The following are all child tags of the `glade-widget-class' tag

@@ -372,7 +372,7 @@

Widget Adaptor Definitions

-

Action Definitions

+

Action Definitions

Actions are added under the `actions' and `packing-actions' tags, actions can also be nested so as to allow grouping in context menus, example: @@ -425,7 +425,7 @@

Widget Adaptor Definitions

-

Packing Defaults

+

Packing Defaults

Default values can be specified for packing properties on your widget when added to a said type of parent, as the example shows above; use the `parent-class' to @@ -435,7 +435,7 @@

Widget Adaptor Definitions

-

Signals

+

Signals

The signal elements are currently only needed for versioning support, use the `signal' child tag as described above and set signal `id' to be supported @@ -444,7 +444,7 @@

Widget Adaptor Definitions

-

Icons

+

Icons

The Glade palette and other components use icons to represent the various widget classes. It is a good idea to provide icons for your widget classes, as this diff --git a/doc/version.xml b/doc/version.xml index 2a595cb..7b95893 100644 --- a/doc/version.xml +++ b/doc/version.xml @@ -1 +1 @@ -glade3 3.7.2 +glade3 3.7.3 diff --git a/gladeui/Makefile.am b/gladeui/Makefile.am index f8c423c..aea3df9 100644 --- a/gladeui/Makefile.am +++ b/gladeui/Makefile.am @@ -1,31 +1,31 @@ ## Previewer -bin_PROGRAMS = glade-previewer +bin_PROGRAMS = glade-3-previewer lib_LTLIBRARIES = libgladeui-1.la -glade_previewer_CPPFLAGS = \ +glade_3_previewer_CPPFLAGS = \ -I$(top_srcdir) \ -I$(top_builddir) \ - -DGLADE_GNOMEHELPDIR="\"$(HELP_DIR)\"" - $(AM_CPPFLAGS) - -glade_previewer_CFLAGS = \ + -DGLADE_GNOMEHELPDIR="\"$(HELP_DIR)\"" \ $(GTK_CFLAGS) \ $(IGE_MAC_CFLAGS) \ $(WARN_CFLAGS) \ + $(AM_CPPFLAGS) + +glade_3_previewer_CFLAGS = \ $(AM_CFLAGS) -glade_previewer_LDFLAGS = $(AM_LDFLAGS) +glade_3_previewer_LDFLAGS = $(AM_LDFLAGS) -glade_previewer_LDADD = $(top_builddir)/gladeui/libgladeui-1.la $(IGE_MAC_LIBS) +glade_3_previewer_LDADD = libgladeui-1.la $(IGE_MAC_LIBS) -glade_previewer_SOURCES = \ +glade_3_previewer_SOURCES = \ glade-previewer.c if NATIVE_WIN32 -glade_previewer_LDADD += glade-win32-res.o +glade_3_previewer_LDADD += glade-win32-res.o if !GLADE_UNSTABLE -glade_previewer_LDFLAGS += -mwindows +glade_3_previewer_LDFLAGS += -mwindows endif endif @@ -76,7 +76,6 @@ libgladeui_1_la_SOURCES = \ glade-signal.c \ glade-signal-editor.c \ glade-clipboard.c \ - glade-clipboard-view.c \ glade-command.c \ glade-id-allocator.c \ glade-id-allocator.h \ @@ -100,13 +99,13 @@ libgladeui_1_la_CPPFLAGS = \ $(common_defines) \ -I$(top_srcdir) \ -I$(top_builddir) \ - $(AM_CPPFLAGS) - -libgladeui_1_la_CFLAGS = \ $(GTK_CFLAGS) \ $(IGE_MAC_BUNDLE_FLAG) \ $(IGE_MAC_CFLAGS) \ $(WARN_CFLAGS) \ + $(AM_CPPFLAGS) + +libgladeui_1_la_CFLAGS = \ $(AM_CFLAGS) libgladeui_1_la_LDFLAGS = -version-info $(GLADE_CURRENT):$(GLADE_REVISION):$(GLADE_AGE) $(AM_LDFLAGS) @@ -134,7 +133,6 @@ libgladeuiinclude_HEADERS = \ glade-property-class.h \ glade-utils.h \ glade-clipboard.h \ - glade-clipboard-view.h \ glade-command.h \ glade-app.h \ glade-builtins.h \ diff --git a/gladeui/Makefile.in b/gladeui/Makefile.in index 6cc7898..5ba7ba0 100644 --- a/gladeui/Makefile.in +++ b/gladeui/Makefile.in @@ -37,7 +37,7 @@ POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ -bin_PROGRAMS = glade-previewer$(EXEEXT) +bin_PROGRAMS = glade-3-previewer$(EXEEXT) @NATIVE_WIN32_TRUE@am__append_1 = glade-win32-res.o @GLADE_UNSTABLE_FALSE@@NATIVE_WIN32_TRUE@am__append_2 = -mwindows @PLATFORM_WIN32_TRUE@am__append_3 = -no-undefined @@ -108,7 +108,6 @@ am_libgladeui_1_la_OBJECTS = libgladeui_1_la-glade-widget-adaptor.lo \ libgladeui_1_la-glade-signal.lo \ libgladeui_1_la-glade-signal-editor.lo \ libgladeui_1_la-glade-clipboard.lo \ - libgladeui_1_la-glade-clipboard-view.lo \ libgladeui_1_la-glade-command.lo \ libgladeui_1_la-glade-id-allocator.lo \ libgladeui_1_la-glade-marshallers.lo \ @@ -131,16 +130,15 @@ libgladeui_1_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ $(libgladeui_1_la_CFLAGS) $(CFLAGS) $(libgladeui_1_la_LDFLAGS) \ $(LDFLAGS) -o $@ PROGRAMS = $(bin_PROGRAMS) -am_glade_previewer_OBJECTS = \ - glade_previewer-glade-previewer.$(OBJEXT) -glade_previewer_OBJECTS = $(am_glade_previewer_OBJECTS) -glade_previewer_DEPENDENCIES = \ - $(top_builddir)/gladeui/libgladeui-1.la $(am__DEPENDENCIES_1) \ +am_glade_3_previewer_OBJECTS = \ + glade_3_previewer-glade-previewer.$(OBJEXT) +glade_3_previewer_OBJECTS = $(am_glade_3_previewer_OBJECTS) +glade_3_previewer_DEPENDENCIES = libgladeui-1.la $(am__DEPENDENCIES_1) \ $(am__append_1) -glade_previewer_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ +glade_3_previewer_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ - $(glade_previewer_CFLAGS) $(CFLAGS) $(glade_previewer_LDFLAGS) \ - $(LDFLAGS) -o $@ + $(glade_3_previewer_CFLAGS) $(CFLAGS) \ + $(glade_3_previewer_LDFLAGS) $(LDFLAGS) -o $@ DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles @@ -167,8 +165,8 @@ am__v_CCLD_0 = @echo " CCLD " $@; AM_V_GEN = $(am__v_GEN_$(V)) am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) am__v_GEN_0 = @echo " GEN " $@; -SOURCES = $(libgladeui_1_la_SOURCES) $(glade_previewer_SOURCES) -DIST_SOURCES = $(libgladeui_1_la_SOURCES) $(glade_previewer_SOURCES) +SOURCES = $(libgladeui_1_la_SOURCES) $(glade_3_previewer_SOURCES) +DIST_SOURCES = $(libgladeui_1_la_SOURCES) $(glade_3_previewer_SOURCES) HEADERS = $(libgladeuiinclude_HEADERS) ETAGS = etags CTAGS = ctags @@ -364,21 +362,22 @@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ lib_LTLIBRARIES = libgladeui-1.la -glade_previewer_CPPFLAGS = \ +glade_3_previewer_CPPFLAGS = \ -I$(top_srcdir) \ -I$(top_builddir) \ - -DGLADE_GNOMEHELPDIR="\"$(HELP_DIR)\"" - -glade_previewer_CFLAGS = \ + -DGLADE_GNOMEHELPDIR="\"$(HELP_DIR)\"" \ $(GTK_CFLAGS) \ $(IGE_MAC_CFLAGS) \ $(WARN_CFLAGS) \ + $(AM_CPPFLAGS) + +glade_3_previewer_CFLAGS = \ $(AM_CFLAGS) -glade_previewer_LDFLAGS = $(AM_LDFLAGS) $(am__append_2) -glade_previewer_LDADD = $(top_builddir)/gladeui/libgladeui-1.la \ - $(IGE_MAC_LIBS) $(am__append_1) -glade_previewer_SOURCES = \ +glade_3_previewer_LDFLAGS = $(AM_LDFLAGS) $(am__append_2) +glade_3_previewer_LDADD = libgladeui-1.la $(IGE_MAC_LIBS) \ + $(am__append_1) +glade_3_previewer_SOURCES = \ glade-previewer.c common_defines = \ @@ -422,7 +421,6 @@ libgladeui_1_la_SOURCES = \ glade-signal.c \ glade-signal-editor.c \ glade-clipboard.c \ - glade-clipboard-view.c \ glade-command.c \ glade-id-allocator.c \ glade-id-allocator.h \ @@ -446,13 +444,13 @@ libgladeui_1_la_CPPFLAGS = \ $(common_defines) \ -I$(top_srcdir) \ -I$(top_builddir) \ - $(AM_CPPFLAGS) - -libgladeui_1_la_CFLAGS = \ $(GTK_CFLAGS) \ $(IGE_MAC_BUNDLE_FLAG) \ $(IGE_MAC_CFLAGS) \ $(WARN_CFLAGS) \ + $(AM_CPPFLAGS) + +libgladeui_1_la_CFLAGS = \ $(AM_CFLAGS) libgladeui_1_la_LDFLAGS = -version-info \ @@ -480,7 +478,6 @@ libgladeuiinclude_HEADERS = \ glade-property-class.h \ glade-utils.h \ glade-clipboard.h \ - glade-clipboard-view.h \ glade-command.h \ glade-app.h \ glade-builtins.h \ @@ -612,9 +609,9 @@ clean-binPROGRAMS: list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ echo " rm -f" $$list; \ rm -f $$list -glade-previewer$(EXEEXT): $(glade_previewer_OBJECTS) $(glade_previewer_DEPENDENCIES) - @rm -f glade-previewer$(EXEEXT) - $(AM_V_CCLD)$(glade_previewer_LINK) $(glade_previewer_OBJECTS) $(glade_previewer_LDADD) $(LIBS) +glade-3-previewer$(EXEEXT): $(glade_3_previewer_OBJECTS) $(glade_3_previewer_DEPENDENCIES) + @rm -f glade-3-previewer$(EXEEXT) + $(AM_V_CCLD)$(glade_3_previewer_LINK) $(glade_3_previewer_OBJECTS) $(glade_3_previewer_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) @@ -622,14 +619,13 @@ mostlyclean-compile: distclean-compile: -rm -f *.tab.c -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/glade_previewer-glade-previewer.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/glade_3_previewer-glade-previewer.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgladeui_1_la-glade-accumulators.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgladeui_1_la-glade-app.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgladeui_1_la-glade-base-editor.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgladeui_1_la-glade-builtins.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgladeui_1_la-glade-catalog.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgladeui_1_la-glade-cell-renderer-icon.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgladeui_1_la-glade-clipboard-view.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgladeui_1_la-glade-clipboard.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgladeui_1_la-glade-command.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgladeui_1_la-glade-cursor.Plo@am__quote@ @@ -879,14 +875,6 @@ libgladeui_1_la-glade-clipboard.lo: glade-clipboard.c @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgladeui_1_la_CPPFLAGS) $(CPPFLAGS) $(libgladeui_1_la_CFLAGS) $(CFLAGS) -c -o libgladeui_1_la-glade-clipboard.lo `test -f 'glade-clipboard.c' || echo '$(srcdir)/'`glade-clipboard.c -libgladeui_1_la-glade-clipboard-view.lo: glade-clipboard-view.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgladeui_1_la_CPPFLAGS) $(CPPFLAGS) $(libgladeui_1_la_CFLAGS) $(CFLAGS) -MT libgladeui_1_la-glade-clipboard-view.lo -MD -MP -MF $(DEPDIR)/libgladeui_1_la-glade-clipboard-view.Tpo -c -o libgladeui_1_la-glade-clipboard-view.lo `test -f 'glade-clipboard-view.c' || echo '$(srcdir)/'`glade-clipboard-view.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgladeui_1_la-glade-clipboard-view.Tpo $(DEPDIR)/libgladeui_1_la-glade-clipboard-view.Plo -@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='glade-clipboard-view.c' object='libgladeui_1_la-glade-clipboard-view.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgladeui_1_la_CPPFLAGS) $(CPPFLAGS) $(libgladeui_1_la_CFLAGS) $(CFLAGS) -c -o libgladeui_1_la-glade-clipboard-view.lo `test -f 'glade-clipboard-view.c' || echo '$(srcdir)/'`glade-clipboard-view.c - libgladeui_1_la-glade-command.lo: glade-command.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgladeui_1_la_CPPFLAGS) $(CPPFLAGS) $(libgladeui_1_la_CFLAGS) $(CFLAGS) -MT libgladeui_1_la-glade-command.lo -MD -MP -MF $(DEPDIR)/libgladeui_1_la-glade-command.Tpo -c -o libgladeui_1_la-glade-command.lo `test -f 'glade-command.c' || echo '$(srcdir)/'`glade-command.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgladeui_1_la-glade-command.Tpo $(DEPDIR)/libgladeui_1_la-glade-command.Plo @@ -999,21 +987,21 @@ libgladeui_1_la-glade-cell-renderer-icon.lo: glade-cell-renderer-icon.c @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgladeui_1_la_CPPFLAGS) $(CPPFLAGS) $(libgladeui_1_la_CFLAGS) $(CFLAGS) -c -o libgladeui_1_la-glade-cell-renderer-icon.lo `test -f 'glade-cell-renderer-icon.c' || echo '$(srcdir)/'`glade-cell-renderer-icon.c -glade_previewer-glade-previewer.o: glade-previewer.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(glade_previewer_CPPFLAGS) $(CPPFLAGS) $(glade_previewer_CFLAGS) $(CFLAGS) -MT glade_previewer-glade-previewer.o -MD -MP -MF $(DEPDIR)/glade_previewer-glade-previewer.Tpo -c -o glade_previewer-glade-previewer.o `test -f 'glade-previewer.c' || echo '$(srcdir)/'`glade-previewer.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/glade_previewer-glade-previewer.Tpo $(DEPDIR)/glade_previewer-glade-previewer.Po +glade_3_previewer-glade-previewer.o: glade-previewer.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(glade_3_previewer_CPPFLAGS) $(CPPFLAGS) $(glade_3_previewer_CFLAGS) $(CFLAGS) -MT glade_3_previewer-glade-previewer.o -MD -MP -MF $(DEPDIR)/glade_3_previewer-glade-previewer.Tpo -c -o glade_3_previewer-glade-previewer.o `test -f 'glade-previewer.c' || echo '$(srcdir)/'`glade-previewer.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/glade_3_previewer-glade-previewer.Tpo $(DEPDIR)/glade_3_previewer-glade-previewer.Po @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='glade-previewer.c' object='glade_previewer-glade-previewer.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='glade-previewer.c' object='glade_3_previewer-glade-previewer.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(glade_previewer_CPPFLAGS) $(CPPFLAGS) $(glade_previewer_CFLAGS) $(CFLAGS) -c -o glade_previewer-glade-previewer.o `test -f 'glade-previewer.c' || echo '$(srcdir)/'`glade-previewer.c +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(glade_3_previewer_CPPFLAGS) $(CPPFLAGS) $(glade_3_previewer_CFLAGS) $(CFLAGS) -c -o glade_3_previewer-glade-previewer.o `test -f 'glade-previewer.c' || echo '$(srcdir)/'`glade-previewer.c -glade_previewer-glade-previewer.obj: glade-previewer.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(glade_previewer_CPPFLAGS) $(CPPFLAGS) $(glade_previewer_CFLAGS) $(CFLAGS) -MT glade_previewer-glade-previewer.obj -MD -MP -MF $(DEPDIR)/glade_previewer-glade-previewer.Tpo -c -o glade_previewer-glade-previewer.obj `if test -f 'glade-previewer.c'; then $(CYGPATH_W) 'glade-previewer.c'; else $(CYGPATH_W) '$(srcdir)/glade-previewer.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/glade_previewer-glade-previewer.Tpo $(DEPDIR)/glade_previewer-glade-previewer.Po +glade_3_previewer-glade-previewer.obj: glade-previewer.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(glade_3_previewer_CPPFLAGS) $(CPPFLAGS) $(glade_3_previewer_CFLAGS) $(CFLAGS) -MT glade_3_previewer-glade-previewer.obj -MD -MP -MF $(DEPDIR)/glade_3_previewer-glade-previewer.Tpo -c -o glade_3_previewer-glade-previewer.obj `if test -f 'glade-previewer.c'; then $(CYGPATH_W) 'glade-previewer.c'; else $(CYGPATH_W) '$(srcdir)/glade-previewer.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/glade_3_previewer-glade-previewer.Tpo $(DEPDIR)/glade_3_previewer-glade-previewer.Po @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='glade-previewer.c' object='glade_previewer-glade-previewer.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='glade-previewer.c' object='glade_3_previewer-glade-previewer.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(glade_previewer_CPPFLAGS) $(CPPFLAGS) $(glade_previewer_CFLAGS) $(CFLAGS) -c -o glade_previewer-glade-previewer.obj `if test -f 'glade-previewer.c'; then $(CYGPATH_W) 'glade-previewer.c'; else $(CYGPATH_W) '$(srcdir)/glade-previewer.c'; fi` +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(glade_3_previewer_CPPFLAGS) $(CPPFLAGS) $(glade_3_previewer_CFLAGS) $(CFLAGS) -c -o glade_3_previewer-glade-previewer.obj `if test -f 'glade-previewer.c'; then $(CYGPATH_W) 'glade-previewer.c'; else $(CYGPATH_W) '$(srcdir)/glade-previewer.c'; fi` mostlyclean-libtool: -rm -f *.lo @@ -1251,7 +1239,6 @@ uninstall-am: uninstall-binPROGRAMS uninstall-libLTLIBRARIES \ tags uninstall uninstall-am uninstall-binPROGRAMS \ uninstall-libLTLIBRARIES uninstall-libgladeuiincludeHEADERS - $(AM_CPPFLAGS) glade-win32-res.o: glade-previewer.rc $(WINDRES) $< $@ diff --git a/gladeui/glade-app.c b/gladeui/glade-app.c index d409e00..88cdd48 100644 --- a/gladeui/glade-app.c +++ b/gladeui/glade-app.c @@ -33,7 +33,6 @@ */ #include "glade.h" -#include "glade-clipboard-view.h" #include "glade-debug.h" #include "glade-cursor.h" #include "glade-catalog.h" @@ -305,13 +304,6 @@ glade_app_signal_editor_created_default (GladeApp *app, GladeSignalEditor *signa glade_signal_editor_construct_signals_list (signal_editor); } -static gboolean -clipboard_view_on_delete_cb (GtkWidget *clipboard_view, GdkEvent *e, GladeApp *app) -{ - glade_util_hide_window (GTK_WINDOW (clipboard_view)); - return TRUE; -} - static GKeyFile * glade_app_config_load (GladeApp *app) { @@ -466,11 +458,6 @@ glade_app_init (GladeApp *app) /* Create clipboard */ app->priv->clipboard = glade_clipboard_new (); - app->priv->clipboard->view = glade_clipboard_view_new (app->priv->clipboard); - gtk_window_set_title (GTK_WINDOW (app->priv->clipboard->view), _("Clipboard")); - g_signal_connect_after (G_OBJECT (app->priv->clipboard->view), "delete_event", - G_CALLBACK (clipboard_view_on_delete_cb), - app); /* Load the configuration file */ app->priv->config = glade_app_config_load (app); @@ -823,13 +810,6 @@ glade_app_get_clipboard (void) return app->priv->clipboard; } -GtkWidget * -glade_app_get_clipboard_view (void) -{ - GladeApp *app = glade_app_get (); - return app->priv->clipboard->view; -} - GladeProject * glade_app_get_project (void) { @@ -1128,10 +1108,9 @@ glade_app_command_copy (void) gboolean failed = FALSE; app = glade_app_get(); - if (app->priv->active_project == NULL) - { + if (app->priv->active_project == NULL || + glade_project_is_loading (app->priv->active_project)) return; - } for (list = glade_app_get_selection (); list && list->data; list = list->next) @@ -1171,7 +1150,8 @@ glade_app_command_cut (void) gboolean failed = FALSE; app = glade_app_get(); - if (app->priv->active_project == NULL) + if (app->priv->active_project == NULL || + glade_project_is_loading (app->priv->active_project)) return; for (list = glade_app_get_selection (); @@ -1213,9 +1193,17 @@ glade_app_command_paste (GladePlaceholder *placeholder) GladeFixed *fixed = NULL; app = glade_app_get(); - if (app->priv->active_project == NULL) + if (app->priv->active_project == NULL || + glade_project_is_loading (app->priv->active_project)) return; + if (placeholder) + { + if (glade_placeholder_get_project (placeholder) == NULL || + glade_project_is_loading (glade_placeholder_get_project (placeholder))) + return; + } + list = glade_project_selection_get (app->priv->active_project); clipboard = glade_app_get_clipboard (); @@ -1336,7 +1324,8 @@ glade_app_command_delete (void) gboolean failed = FALSE; app = glade_app_get(); - if (app->priv->active_project == NULL) + if (app->priv->active_project == NULL || + glade_project_is_loading (app->priv->active_project)) return; for (list = glade_app_get_selection (); diff --git a/gladeui/glade-app.h b/gladeui/glade-app.h index 87000d1..6570baa 100644 --- a/gladeui/glade-app.h +++ b/gladeui/glade-app.h @@ -105,14 +105,12 @@ gboolean glade_app_get_catalog_version (const gchar *name, gint *major GList *glade_app_get_catalogs (void); GladeCatalog *glade_app_get_catalog (const gchar *name); - + GladeEditor* glade_app_get_editor (void); - + GladePalette* glade_app_get_palette (void); - + GladeClipboard* glade_app_get_clipboard (void); - -GtkWidget* glade_app_get_clipboard_view (void); GladeProject* glade_app_get_project (void); diff --git a/gladeui/glade-base-editor.c b/gladeui/glade-base-editor.c index d890cfc..5bd5e85 100644 --- a/gladeui/glade-base-editor.c +++ b/gladeui/glade-base-editor.c @@ -353,7 +353,7 @@ glade_base_editor_name_activate (GtkEntry *entry, GladeWidget *gchild) const gchar *text = gtk_entry_get_text (GTK_ENTRY (entry)); GladeBaseEditor *editor = g_object_get_data (G_OBJECT (entry), "editor"); - if (strcmp (glade_widget_get_name (gchild), text)) + if (text && text[0] && strcmp (glade_widget_get_name (gchild), text)) { g_signal_handlers_block_by_func (gchild->project, glade_base_editor_project_widget_name_changed, @@ -1872,11 +1872,7 @@ glade_base_editor_new (GObject *container, gchar *name; va_list args; - g_return_val_if_fail (GTK_IS_CONTAINER (container), NULL); - gcontainer = glade_widget_get_from_gobject (container); - g_return_val_if_fail (GLADE_IS_WIDGET (gcontainer), NULL); - editor = GLADE_BASE_EDITOR (g_object_new (GLADE_TYPE_BASE_EDITOR, NULL)); e = editor->priv; diff --git a/gladeui/glade-clipboard-view.c b/gladeui/glade-clipboard-view.c deleted file mode 100644 index c743842..0000000 --- a/gladeui/glade-clipboard-view.c +++ /dev/null @@ -1,388 +0,0 @@ -/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ -/* - * glade-clipboard-view.c - The View for the Clipboard. - * - * Copyright (C) 2001 The GNOME Foundation. - * - * Author(s): - * Archit Baweja - * - * 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 the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, - * USA. - */ -#ifdef HAVE_CONFIG_H -#include -#endif - -/** - * SECTION:glade-clipboard-view - * @Short_Description: A widget to view and control the #GladeClipboard. - * - * The #GladeClipboardView is a widget to view the #GladeWidget objects - * in the #GladeClipboard; the user can paste or delete objects on the clipboard. - */ - -#include - -#include "glade.h" -#include "glade-clipboard.h" -#include "glade-clipboard-view.h" -#include "glade-widget.h" -#include "glade-widget-adaptor.h" -#include "glade-popup.h" - - -const gint GLADE_CLIPBOARD_VIEW_WIDTH = 230; -const gint GLADE_CLIPBOARD_VIEW_HEIGHT = 200; - -static void -glade_clipboard_view_class_init (GladeClipboardViewClass *klass) -{ - -} - -static void -glade_clipboard_view_init (GladeClipboardView *view) -{ - view->widget = NULL; - view->clipboard = NULL; - view->model = NULL; -} - -GType -glade_clipboard_view_get_type () -{ - static GType type = 0; - - if (!type) { - static const GTypeInfo info = { - sizeof (GladeClipboardViewClass), - (GBaseInitFunc) NULL, - (GBaseFinalizeFunc) NULL, - (GClassInitFunc) glade_clipboard_view_class_init, - (GClassFinalizeFunc) NULL, - NULL, - sizeof (GladeClipboardView), - 0, - (GInstanceInitFunc) glade_clipboard_view_init - }; - - type = g_type_register_static (GTK_TYPE_WINDOW, "GladeClipboardView", &info, 0); - } - - return type; -} - -static void -gcv_foreach_add_selection (GtkTreeModel *model, - GtkTreePath *path, - GtkTreeIter *iter, - gpointer data) -{ - GladeWidget *widget = NULL; - GladeClipboardView *view = (GladeClipboardView *)data; - gtk_tree_model_get (model, iter, 0, &widget, -1); - glade_clipboard_selection_add (view->clipboard, (widget)); -} - -static void -glade_clipboard_view_selection_changed_cb (GtkTreeSelection *sel, - GladeClipboardView *view) -{ - if (view->updating == FALSE) - { - glade_clipboard_selection_clear (view->clipboard); - gtk_tree_selection_selected_foreach - (sel, gcv_foreach_add_selection, view); - } -} - -static void -glade_clipboard_view_populate_model (GladeClipboardView *view) -{ - GladeClipboard *clipboard; - GtkTreeModel *model; - GladeWidget *widget; - GList *list; - GtkTreeIter iter; - - clipboard = GLADE_CLIPBOARD (view->clipboard); - model = GTK_TREE_MODEL (view->model); - - for (list = clipboard->widgets; list; list = list->next) - { - widget = list->data; - view->updating = TRUE; - gtk_list_store_append (GTK_LIST_STORE (model), &iter); - gtk_list_store_set (GTK_LIST_STORE (model), &iter, 0, widget, -1); - view->updating = FALSE; - } -} - -static void -glade_clipboard_view_cell_function (GtkTreeViewColumn *tree_column, - GtkCellRenderer *cell, - GtkTreeModel *tree_model, - GtkTreeIter *iter, - gpointer data) -{ - gboolean is_icon = GPOINTER_TO_INT (data); - GladeWidget *widget; - - gtk_tree_model_get (tree_model, iter, 0, &widget, -1); - - g_return_if_fail (GLADE_IS_WIDGET (widget)); - g_return_if_fail (widget->name != NULL); - - if (is_icon) - g_object_set (G_OBJECT (cell), - "icon-name", widget->adaptor->icon_name, - "stock-size", GTK_ICON_SIZE_MENU, - NULL); - else - g_object_set (G_OBJECT (cell), - "text", widget->name, - NULL); - -} - -static gint -glade_clipboard_view_button_press_cb (GtkWidget *widget, - GdkEventButton *event, - GladeClipboardView *view) -{ - GtkTreeView *tree_view = GTK_TREE_VIEW (widget); - GtkTreePath *path = NULL; - gboolean handled = FALSE; - - if (event->window == gtk_tree_view_get_bin_window (tree_view) && - gtk_tree_view_get_path_at_pos (tree_view, - (gint) event->x, (gint) event->y, - &path, NULL, - NULL, NULL) && path != NULL) - { - GtkTreeIter iter; - GladeWidget *widget = NULL; - if (gtk_tree_model_get_iter (GTK_TREE_MODEL (view->model), - &iter, path)) - { - /* Alright, now we can obtain - * the widget from the iter. - */ - gtk_tree_model_get (GTK_TREE_MODEL (view->model), &iter, - 0, &widget, -1); - if (widget != NULL && - event->button == 3) - { - glade_popup_clipboard_pop (widget, event); - handled = TRUE; - } - gtk_tree_path_free (path); - } - } - return handled; -} - -static void -glade_clipboard_view_create_tree_view (GladeClipboardView *view) -{ - GtkTreeSelection *sel; - GtkCellRenderer *renderer; - GtkTreeViewColumn *column; - - view->widget = - gtk_tree_view_new_with_model (GTK_TREE_MODEL (view->model)); - - column = gtk_tree_view_column_new (); - gtk_tree_view_column_set_title (column, _("Widget")); - - renderer = gtk_cell_renderer_pixbuf_new (); - gtk_tree_view_column_pack_start (column, renderer, FALSE); - gtk_tree_view_column_set_cell_data_func (column, renderer, - glade_clipboard_view_cell_function, - GINT_TO_POINTER (1), NULL); - - renderer = gtk_cell_renderer_text_new (); - g_object_set (G_OBJECT (renderer), - "xpad", 6, NULL); - gtk_tree_view_column_pack_start (column, renderer, TRUE); - gtk_tree_view_column_set_cell_data_func (column, renderer, - glade_clipboard_view_cell_function, - GINT_TO_POINTER (0), NULL); - - gtk_tree_view_append_column (GTK_TREE_VIEW (view->widget), column); - - sel = gtk_tree_view_get_selection (GTK_TREE_VIEW (view->widget)); - gtk_tree_selection_set_mode (sel, GTK_SELECTION_MULTIPLE); - - g_signal_connect_data (G_OBJECT (sel), "changed", - G_CALLBACK (glade_clipboard_view_selection_changed_cb), - view, NULL, 0); - - /* Popup menu */ - g_signal_connect (G_OBJECT (view->widget), "button-press-event", - G_CALLBACK (glade_clipboard_view_button_press_cb), view); - -} - -static void -glade_clipboard_view_construct (GladeClipboardView *view) -{ - GtkWidget *scrolled_window, *viewport; - - view->model = gtk_list_store_new (1, G_TYPE_POINTER); - - glade_clipboard_view_populate_model (view); - glade_clipboard_view_create_tree_view (view); - glade_clipboard_view_refresh_sel (view); - - viewport = gtk_viewport_new (NULL, NULL); - gtk_viewport_set_shadow_type (GTK_VIEWPORT (viewport), GTK_SHADOW_OUT); - - scrolled_window = gtk_scrolled_window_new (NULL, NULL); - gtk_scrolled_window_set_shadow_type - (GTK_SCROLLED_WINDOW (scrolled_window), GTK_SHADOW_IN); - gtk_container_set_border_width (GTK_CONTAINER (scrolled_window), - 6); - gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled_window), - GTK_POLICY_AUTOMATIC, - GTK_POLICY_AUTOMATIC); - gtk_container_add (GTK_CONTAINER (scrolled_window), view->widget); - gtk_container_add (GTK_CONTAINER (viewport), scrolled_window); - gtk_container_add (GTK_CONTAINER (view), viewport); - - gtk_window_set_default_size (GTK_WINDOW (view), - GLADE_CLIPBOARD_VIEW_WIDTH, - GLADE_CLIPBOARD_VIEW_HEIGHT); - - gtk_window_set_type_hint (GTK_WINDOW (view), GDK_WINDOW_TYPE_HINT_UTILITY); - - gtk_widget_show_all (scrolled_window); - - return; -} - -/** - * glade_clipboard_view_new: - * @clipboard: a #GladeClipboard - * - * Create a new #GladeClipboardView widget for @clipboard. - * - * Returns: a new #GladeClipboardView cast to be a #GtkWidget - */ -GtkWidget * -glade_clipboard_view_new (GladeClipboard *clipboard) -{ - GladeClipboardView *view; - - g_return_val_if_fail (GLADE_IS_CLIPBOARD (clipboard), NULL); - - view = g_object_new (GLADE_TYPE_CLIPBOARD_VIEW, NULL); - view->clipboard = clipboard; - glade_clipboard_view_construct (view); - - return GTK_WIDGET (view); -} - -/** - * glade_clipboard_view_add: - * @view: a #GladeClipboardView - * @widget: a #GladeWidget - * - * Adds @widget to @view. - */ -void -glade_clipboard_view_add (GladeClipboardView *view, GladeWidget *widget) -{ - GtkTreeIter iter; - - g_return_if_fail (GLADE_IS_CLIPBOARD_VIEW (view)); - g_return_if_fail (GLADE_IS_WIDGET (widget)); - - view->updating = TRUE; - gtk_list_store_append (view->model, &iter); - gtk_list_store_set (view->model, &iter, 0, widget, -1); - view->updating = FALSE; -} - -/** - * glade_cliboard_view_remove: - * @view: a #GladeClipboardView - * @widget: a #GladeWidget - * - * Removes @widget from @view. - */ -void -glade_clipboard_view_remove (GladeClipboardView *view, GladeWidget *widget) -{ - GtkTreeIter iter; - GtkTreeModel *model; - GladeWidget *clip_widget; - - g_return_if_fail (GLADE_IS_CLIPBOARD_VIEW (view)); - g_return_if_fail (GLADE_IS_WIDGET (widget)); - - model = GTK_TREE_MODEL (view->model); - if (gtk_tree_model_get_iter_first (model, &iter)) - { - do - { - gtk_tree_model_get (model, &iter, 0, &clip_widget, -1); - if (widget == clip_widget) - break; - } - while (gtk_tree_model_iter_next (model, &iter)); - } - - view->updating = TRUE; - gtk_list_store_remove (view->model, &iter); - view->updating = FALSE; -} - -/** - * glade_clipboard_view_refresh_sel: - * @view: a #GladeClipboardView - * - * Synchronizes the treeview selection to the clipboard selection. - */ -void -glade_clipboard_view_refresh_sel (GladeClipboardView *view) -{ - GladeWidget *widget; - GtkTreeSelection *sel; - GList *list; - GtkTreeIter *iter; - - g_return_if_fail (GLADE_IS_CLIPBOARD_VIEW (view)); - - if (view->updating) return; - view->updating = TRUE; - - sel = gtk_tree_view_get_selection (GTK_TREE_VIEW (view->widget)); - - gtk_tree_selection_unselect_all (sel); - for (list = view->clipboard->selection; - list && list->data; list = list->next) - { - widget = list->data; - if ((iter = glade_util_find_iter_by_widget - (GTK_TREE_MODEL (view->model), widget, 0)) != NULL) - { - gtk_tree_selection_select_iter (sel, iter); - /* gtk_tree_iter_free (iter); */ - } - } - view->updating = FALSE; -} diff --git a/gladeui/glade-clipboard-view.h b/gladeui/glade-clipboard-view.h deleted file mode 100644 index 3498c15..0000000 --- a/gladeui/glade-clipboard-view.h +++ /dev/null @@ -1,52 +0,0 @@ -/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ -#ifndef __GLADE_CLIPBOARD_VIEW_H__ -#define __GLADE_CLIPBOARD_VIEW_H__ - -#include - -G_BEGIN_DECLS - -#define GLADE_TYPE_CLIPBOARD_VIEW (glade_clipboard_view_get_type ()) -#define GLADE_CLIPBOARD_VIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GLADE_TYPE_CLIPBOARD_VIEW, GladeClipboardView)) -#define GLADE_CLIPBOARD_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GLADE_TYPE_CLIPBOARD_VIEW, GladeClipboardViewClass)) -#define GLADE_IS_CLIPBOARD_VIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GLADE_TYPE_CLIPBOARD_VIEW)) -#define GLADE_IS_CLIPBOARD_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GLADE_TYPE_CLIPBOARD_VIEW)) -#define GLADE_CLIPBOARD_VIEW_GET_CLASS(obj) (G_TYPE_CHECK_CLASS_TYPE ((obj), GLADE_TYPE_CLIPBOARD_VIEW, GladeClipboardViewClass)) - -typedef struct _GladeClipboardView GladeClipboardView; -typedef struct _GladeClipboardViewClass GladeClipboardViewClass; - -struct _GladeClipboardView -{ - GtkWindow parent_instance; - - GtkWidget *widget; /* The GtkTreeView widget */ - GtkListStore *model; /* The GtkListStore model for the View */ - GladeClipboard *clipboard; /* The Clipboard for which this is a view */ - gboolean updating; /* Prevent feedback from treeview when changing - * the selecion. */ -}; - -struct _GladeClipboardViewClass -{ - GtkWindowClass parent_class; -}; - - - -GType glade_clipboard_view_get_type (void) G_GNUC_CONST; - - -GtkWidget *glade_clipboard_view_new (GladeClipboard *clipboard); - -void glade_clipboard_view_add (GladeClipboardView *view, - GladeWidget *widget); - -void glade_clipboard_view_remove (GladeClipboardView *view, - GladeWidget *widget); - -void glade_clipboard_view_refresh_sel (GladeClipboardView *view); - -G_END_DECLS - -#endif /* __GLADE_CLIPBOARD_VIEW_H__ */ diff --git a/gladeui/glade-clipboard.c b/gladeui/glade-clipboard.c index 9e69e2e..e847312 100644 --- a/gladeui/glade-clipboard.c +++ b/gladeui/glade-clipboard.c @@ -36,7 +36,6 @@ #include #include "glade.h" -#include "glade-clipboard-view.h" #include "glade-clipboard.h" #include "glade-widget.h" #include "glade-placeholder.h" @@ -89,7 +88,6 @@ static void glade_clipboard_init (GladeClipboard *clipboard) { clipboard->widgets = NULL; - clipboard->view = NULL; clipboard->selection = NULL; clipboard->has_selection = FALSE; } @@ -186,17 +184,8 @@ glade_clipboard_add (GladeClipboard *clipboard, GList *widgets) clipboard->widgets = g_list_prepend (clipboard->widgets, g_object_ref (G_OBJECT (widget))); - /* - * Update view. - */ + glade_clipboard_selection_add (clipboard, widget); - if (clipboard->view) - { - glade_clipboard_view_add - (GLADE_CLIPBOARD_VIEW (clipboard->view), widget); - glade_clipboard_view_refresh_sel - (GLADE_CLIPBOARD_VIEW (clipboard->view)); - } } } @@ -221,13 +210,6 @@ glade_clipboard_remove (GladeClipboard *clipboard, GList *widgets) clipboard->widgets = g_list_remove (clipboard->widgets, widget); glade_clipboard_selection_remove (clipboard, widget); - - /* - * If there is a view present, update it. - */ - if (clipboard->view) - glade_clipboard_view_remove - (GLADE_CLIPBOARD_VIEW (clipboard->view), widget); g_object_unref (G_OBJECT (widget)); } @@ -240,8 +222,6 @@ glade_clipboard_remove (GladeClipboard *clipboard, GList *widgets) { glade_clipboard_selection_add (clipboard, GLADE_WIDGET (list->data)); - glade_clipboard_view_refresh_sel - (GLADE_CLIPBOARD_VIEW (clipboard->view)); } } diff --git a/gladeui/glade-command.c b/gladeui/glade-command.c index 285336e..8ec8207 100644 --- a/gladeui/glade-command.c +++ b/gladeui/glade-command.c @@ -860,7 +860,7 @@ glade_command_set_name (GladeWidget *widget, const gchar* name) GladeCommand *cmd; g_return_if_fail (GLADE_IS_WIDGET (widget)); - g_return_if_fail (name != NULL); + g_return_if_fail (name && name[0]); /* Dont spam the queue with false name changes. */ diff --git a/gladeui/glade-design-view.c b/gladeui/glade-design-view.c index e7689f9..006b839 100644 --- a/gladeui/glade-design-view.c +++ b/gladeui/glade-design-view.c @@ -57,6 +57,11 @@ struct _GladeDesignViewPrivate GtkWidget *layout; GladeProject *project; + + GtkWidget *scrolled_window; + + GtkWidget *progress; + GtkWidget *progress_window; }; static GtkVBoxClass *parent_class = NULL; @@ -64,15 +69,53 @@ static GtkVBoxClass *parent_class = NULL; G_DEFINE_TYPE(GladeDesignView, glade_design_view, GTK_TYPE_VBOX) + +static void +glade_design_view_parse_began (GladeProject *project, + GladeDesignView *view) +{ + gtk_widget_hide (view->priv->scrolled_window); + gtk_widget_show (view->priv->progress_window); +} + +static void +glade_design_view_parse_finished (GladeProject *project, + GladeDesignView *view) +{ + gtk_widget_hide (view->priv->progress_window); + gtk_widget_show (view->priv->scrolled_window); +} + +static void +glade_design_view_load_progress (GladeProject *project, + gint total, + gint step, + GladeDesignView *view) +{ + gchar *path; + gchar *str; + + path = glade_utils_replace_home_dir_with_tilde (glade_project_get_path (project)); + str = g_strdup_printf (_("Loading %s: loaded %d of %d objects"), path, step, total); + gtk_progress_bar_set_text (GTK_PROGRESS_BAR (view->priv->progress), str); + g_free (str); + g_free (path); + + gtk_progress_bar_set_fraction (GTK_PROGRESS_BAR (view->priv->progress), step * 1.0 / total); +} + static void glade_design_view_set_project (GladeDesignView *view, GladeProject *project) { g_return_if_fail (GLADE_IS_PROJECT (project)); view->priv->project = project; - - g_object_set_data (G_OBJECT (view->priv->project), GLADE_DESIGN_VIEW_KEY, view); + g_signal_connect (project, "parse-began", G_CALLBACK (glade_design_view_parse_began), view); + g_signal_connect (project, "parse-finished", G_CALLBACK (glade_design_view_parse_finished), view); + g_signal_connect (project, "load-progress", G_CALLBACK (glade_design_view_load_progress), view); + + g_object_set_data (G_OBJECT (view->priv->project), GLADE_DESIGN_VIEW_KEY, view); } static void @@ -112,28 +155,49 @@ glade_design_view_get_property (GObject *object, static void glade_design_view_init (GladeDesignView *view) { - GtkWidget *sw; - GtkWidget *viewport; + GtkWidget *viewport, *filler, *align; view->priv = GLADE_DESIGN_VIEW_GET_PRIVATE (view); view->priv->project = NULL; view->priv->layout = glade_design_layout_new (); - sw = gtk_scrolled_window_new (NULL, NULL); - gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (sw), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); - gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (sw), GTK_SHADOW_IN); + view->priv->scrolled_window = gtk_scrolled_window_new (NULL, NULL); + gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (view->priv->scrolled_window), + GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); + gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (view->priv->scrolled_window), + GTK_SHADOW_IN); viewport = gtk_viewport_new (NULL, NULL); gtk_viewport_set_shadow_type (GTK_VIEWPORT (viewport), GTK_SHADOW_NONE); gtk_container_add (GTK_CONTAINER (viewport), view->priv->layout); - gtk_container_add (GTK_CONTAINER (sw), viewport); + gtk_container_add (GTK_CONTAINER (view->priv->scrolled_window), viewport); - gtk_widget_show (sw); + gtk_widget_show (view->priv->scrolled_window); gtk_widget_show (viewport); gtk_widget_show (view->priv->layout); - gtk_box_pack_start (GTK_BOX (view), sw, TRUE, TRUE, 0); + gtk_box_pack_start (GTK_BOX (view), view->priv->scrolled_window, TRUE, TRUE, 0); + + /* The progress window */ + view->priv->progress_window = gtk_vbox_new (FALSE, 0); + filler = gtk_label_new (NULL); + gtk_widget_show (filler); + gtk_box_pack_start (GTK_BOX (view->priv->progress_window), filler, TRUE, TRUE, 0); + + align = gtk_alignment_new (0.5, 0.5, 0.75, 1.0); + gtk_widget_show (align); + gtk_box_pack_start (GTK_BOX (view->priv->progress_window), align, FALSE, TRUE, 0); + + view->priv->progress = gtk_progress_bar_new (); + gtk_progress_bar_set_ellipsize (GTK_PROGRESS_BAR (view->priv->progress), PANGO_ELLIPSIZE_END); + gtk_widget_show (view->priv->progress); + gtk_container_add (GTK_CONTAINER (align), view->priv->progress); + + filler = gtk_label_new (NULL); + gtk_widget_show (filler); + gtk_box_pack_start (GTK_BOX (view->priv->progress_window), filler, TRUE, TRUE, 0); + gtk_box_pack_start (GTK_BOX (view), view->priv->progress_window, TRUE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER (view), 0); } diff --git a/gladeui/glade-editor-property.c b/gladeui/glade-editor-property.c index d79d462..ffc545d 100644 --- a/gladeui/glade-editor-property.c +++ b/gladeui/glade-editor-property.c @@ -3765,9 +3765,27 @@ glade_editor_property_load_by_widget (GladeEditorProperty *eprop, if (widget) { /* properties are allowed to be missing on some internal widgets */ - property = glade_widget_get_property (widget, eprop->klass->id); + if (eprop->klass->packing) + property = glade_widget_get_pack_property (widget, eprop->klass->id); + else + property = glade_widget_get_property (widget, eprop->klass->id); glade_editor_property_load (eprop, property); + + if (property) + { + g_assert (eprop->klass == property->klass); + + gtk_widget_show (GTK_WIDGET (eprop)); + gtk_widget_show (GTK_WIDGET (eprop->item_label)); + } + else + { + gtk_widget_hide (GTK_WIDGET (eprop)); + gtk_widget_hide (GTK_WIDGET (eprop->item_label)); + } } + else + glade_editor_property_load (eprop, NULL); } diff --git a/gladeui/glade-editor.c b/gladeui/glade-editor.c index 21935e7..b0e9875 100644 --- a/gladeui/glade-editor.c +++ b/gladeui/glade-editor.c @@ -346,6 +346,7 @@ glade_editor_update_class_field (GladeEditor *editor) } else { + gtk_widget_hide (editor->class_icon); gtk_widget_hide (editor->warning); gtk_label_set_text (GTK_LABEL (editor->class_label), _("Properties")); } @@ -722,6 +723,9 @@ glade_editor_load_widget_real (GladeEditor *editor, GladeWidget *widget) editor->loaded_widget = NULL; + /* Clear class header */ + glade_editor_update_class_field (editor); + g_object_notify (G_OBJECT (editor), "widget"); return; } diff --git a/gladeui/glade-id-allocator.c b/gladeui/glade-id-allocator.c index b208cd4..2c4cec1 100644 --- a/gladeui/glade-id-allocator.c +++ b/gladeui/glade-id-allocator.c @@ -152,10 +152,23 @@ void glade_id_allocator_release (GladeIDAllocator *allocator, guint id) { + guint word_idx; + g_return_if_fail (allocator != NULL); - id = id > 0 ? id - 1 : 0; - allocator->data[id >> 5] |= 1 << (id & 31); + /* Allocated ids start with 1 */ + if (id > 0) + { + id = id - 1; + word_idx = id >> 5; + + /* Tollerate releasing ids that were never allocated with the allocator + * or are out of range... when we load Glade files with huge numbers it happens + * that loaded unallocated ids are out of range + */ + if (word_idx < allocator->n_words) + allocator->data[word_idx] |= 1 << (id & 31); + } } #ifdef GLADE_ID_ALLOCATOR_TEST diff --git a/gladeui/glade-marshallers.c b/gladeui/glade-marshallers.c index aa15323..be4249b 100644 --- a/gladeui/glade-marshallers.c +++ b/gladeui/glade-marshallers.c @@ -152,7 +152,50 @@ glade_marshal_VOID__STRING_ULONG_UINT_STRING (GClosure *closure, /* VOID:STRING (./glade-marshallers.list:5) */ #define glade_marshal_VOID__STRING g_cclosure_marshal_VOID__STRING -/* VOID:OBJECT,OBJECT (./glade-marshallers.list:6) */ +/* VOID:INT,INT (./glade-marshallers.list:6) */ +extern void glade_marshal_VOID__INT_INT (GClosure *closure, + GValue *return_value, + guint n_param_values, + const GValue *param_values, + gpointer invocation_hint, + gpointer marshal_data); +void +glade_marshal_VOID__INT_INT (GClosure *closure, + GValue *return_value G_GNUC_UNUSED, + guint n_param_values, + const GValue *param_values, + gpointer invocation_hint G_GNUC_UNUSED, + gpointer marshal_data) +{ + typedef void (*GMarshalFunc_VOID__INT_INT) (gpointer data1, + gint arg_1, + gint arg_2, + gpointer data2); + register GMarshalFunc_VOID__INT_INT callback; + register GCClosure *cc = (GCClosure*) closure; + register gpointer data1, data2; + + g_return_if_fail (n_param_values == 3); + + if (G_CCLOSURE_SWAP_DATA (closure)) + { + data1 = closure->data; + data2 = g_value_peek_pointer (param_values + 0); + } + else + { + data1 = g_value_peek_pointer (param_values + 0); + data2 = closure->data; + } + callback = (GMarshalFunc_VOID__INT_INT) (marshal_data ? marshal_data : cc->callback); + + callback (data1, + g_marshal_value_peek_int (param_values + 1), + g_marshal_value_peek_int (param_values + 2), + data2); +} + +/* VOID:OBJECT,OBJECT (./glade-marshallers.list:7) */ extern void glade_marshal_VOID__OBJECT_OBJECT (GClosure *closure, GValue *return_value, guint n_param_values, @@ -195,7 +238,7 @@ glade_marshal_VOID__OBJECT_OBJECT (GClosure *closure, data2); } -/* VOID:OBJECT,BOOLEAN (./glade-marshallers.list:7) */ +/* VOID:OBJECT,BOOLEAN (./glade-marshallers.list:8) */ extern void glade_marshal_VOID__OBJECT_BOOLEAN (GClosure *closure, GValue *return_value, guint n_param_values, @@ -238,7 +281,7 @@ glade_marshal_VOID__OBJECT_BOOLEAN (GClosure *closure, data2); } -/* VOID:STRING,STRING,STRING (./glade-marshallers.list:8) */ +/* VOID:STRING,STRING,STRING (./glade-marshallers.list:9) */ extern void glade_marshal_VOID__STRING_STRING_STRING (GClosure *closure, GValue *return_value, guint n_param_values, @@ -283,7 +326,7 @@ glade_marshal_VOID__STRING_STRING_STRING (GClosure *closure, data2); } -/* OBJECT:POINTER (./glade-marshallers.list:9) */ +/* OBJECT:POINTER (./glade-marshallers.list:10) */ extern void glade_marshal_OBJECT__POINTER (GClosure *closure, GValue *return_value, guint n_param_values, @@ -328,7 +371,7 @@ glade_marshal_OBJECT__POINTER (GClosure *closure, g_value_take_object (return_value, v_return); } -/* OBJECT:OBJECT,UINT (./glade-marshallers.list:10) */ +/* OBJECT:OBJECT,UINT (./glade-marshallers.list:11) */ extern void glade_marshal_OBJECT__OBJECT_UINT (GClosure *closure, GValue *return_value, guint n_param_values, @@ -375,7 +418,7 @@ glade_marshal_OBJECT__OBJECT_UINT (GClosure *closure, g_value_take_object (return_value, v_return); } -/* BOOLEAN:STRING (./glade-marshallers.list:11) */ +/* BOOLEAN:STRING (./glade-marshallers.list:12) */ extern void glade_marshal_BOOLEAN__STRING (GClosure *closure, GValue *return_value, guint n_param_values, @@ -420,7 +463,7 @@ glade_marshal_BOOLEAN__STRING (GClosure *closure, g_value_set_boolean (return_value, v_return); } -/* BOOLEAN:BOXED (./glade-marshallers.list:12) */ +/* BOOLEAN:BOXED (./glade-marshallers.list:13) */ extern void glade_marshal_BOOLEAN__BOXED (GClosure *closure, GValue *return_value, guint n_param_values, @@ -465,7 +508,7 @@ glade_marshal_BOOLEAN__BOXED (GClosure *closure, g_value_set_boolean (return_value, v_return); } -/* BOOLEAN:OBJECT (./glade-marshallers.list:13) */ +/* BOOLEAN:OBJECT (./glade-marshallers.list:14) */ extern void glade_marshal_BOOLEAN__OBJECT (GClosure *closure, GValue *return_value, guint n_param_values, @@ -510,7 +553,7 @@ glade_marshal_BOOLEAN__OBJECT (GClosure *closure, g_value_set_boolean (return_value, v_return); } -/* BOOLEAN:OBJECT,BOXED (./glade-marshallers.list:14) */ +/* BOOLEAN:OBJECT,BOXED (./glade-marshallers.list:15) */ extern void glade_marshal_BOOLEAN__OBJECT_BOXED (GClosure *closure, GValue *return_value, guint n_param_values, @@ -557,7 +600,7 @@ glade_marshal_BOOLEAN__OBJECT_BOXED (GClosure *closure, g_value_set_boolean (return_value, v_return); } -/* BOOLEAN:OBJECT,POINTER (./glade-marshallers.list:15) */ +/* BOOLEAN:OBJECT,POINTER (./glade-marshallers.list:16) */ extern void glade_marshal_BOOLEAN__OBJECT_POINTER (GClosure *closure, GValue *return_value, guint n_param_values, @@ -604,7 +647,7 @@ glade_marshal_BOOLEAN__OBJECT_POINTER (GClosure *closure, g_value_set_boolean (return_value, v_return); } -/* BOOLEAN:OBJECT,BOOLEAN (./glade-marshallers.list:16) */ +/* BOOLEAN:OBJECT,BOOLEAN (./glade-marshallers.list:17) */ extern void glade_marshal_BOOLEAN__OBJECT_BOOLEAN (GClosure *closure, GValue *return_value, guint n_param_values, @@ -651,7 +694,7 @@ glade_marshal_BOOLEAN__OBJECT_BOOLEAN (GClosure *closure, g_value_set_boolean (return_value, v_return); } -/* BOOLEAN:OBJECT,UINT (./glade-marshallers.list:17) */ +/* BOOLEAN:OBJECT,UINT (./glade-marshallers.list:18) */ extern void glade_marshal_BOOLEAN__OBJECT_UINT (GClosure *closure, GValue *return_value, guint n_param_values, @@ -698,7 +741,7 @@ glade_marshal_BOOLEAN__OBJECT_UINT (GClosure *closure, g_value_set_boolean (return_value, v_return); } -/* BOOLEAN:OBJECT,OBJECT (./glade-marshallers.list:18) */ +/* BOOLEAN:OBJECT,OBJECT (./glade-marshallers.list:19) */ extern void glade_marshal_BOOLEAN__OBJECT_OBJECT (GClosure *closure, GValue *return_value, guint n_param_values, @@ -745,7 +788,7 @@ glade_marshal_BOOLEAN__OBJECT_OBJECT (GClosure *closure, g_value_set_boolean (return_value, v_return); } -/* BOOLEAN:OBJECT,STRING (./glade-marshallers.list:19) */ +/* BOOLEAN:OBJECT,STRING (./glade-marshallers.list:20) */ extern void glade_marshal_BOOLEAN__OBJECT_STRING (GClosure *closure, GValue *return_value, guint n_param_values, @@ -792,7 +835,7 @@ glade_marshal_BOOLEAN__OBJECT_STRING (GClosure *closure, g_value_set_boolean (return_value, v_return); } -/* BOOLEAN:STRING,STRING,STRING,BOXED (./glade-marshallers.list:20) */ +/* BOOLEAN:STRING,STRING,STRING,BOXED (./glade-marshallers.list:21) */ extern void glade_marshal_BOOLEAN__STRING_STRING_STRING_BOXED (GClosure *closure, GValue *return_value, guint n_param_values, @@ -843,7 +886,7 @@ glade_marshal_BOOLEAN__STRING_STRING_STRING_BOXED (GClosure *closure, g_value_set_boolean (return_value, v_return); } -/* BOOLEAN:STRING,BOXED,OBJECT (./glade-marshallers.list:21) */ +/* BOOLEAN:STRING,BOXED,OBJECT (./glade-marshallers.list:22) */ extern void glade_marshal_BOOLEAN__STRING_BOXED_OBJECT (GClosure *closure, GValue *return_value, guint n_param_values, @@ -892,7 +935,7 @@ glade_marshal_BOOLEAN__STRING_BOXED_OBJECT (GClosure *closure, g_value_set_boolean (return_value, v_return); } -/* STRING:OBJECT (./glade-marshallers.list:22) */ +/* STRING:OBJECT (./glade-marshallers.list:23) */ extern void glade_marshal_STRING__OBJECT (GClosure *closure, GValue *return_value, guint n_param_values, @@ -937,7 +980,7 @@ glade_marshal_STRING__OBJECT (GClosure *closure, g_value_take_string (return_value, v_return); } -/* INT:OBJECT,BOXED (./glade-marshallers.list:23) */ +/* INT:OBJECT,BOXED (./glade-marshallers.list:24) */ extern void glade_marshal_INT__OBJECT_BOXED (GClosure *closure, GValue *return_value, guint n_param_values, diff --git a/gladeui/glade-marshallers.h b/gladeui/glade-marshallers.h index 95fc935..8ee2a86 100644 --- a/gladeui/glade-marshallers.h +++ b/gladeui/glade-marshallers.h @@ -31,7 +31,15 @@ extern void glade_marshal_VOID__STRING_ULONG_UINT_STRING (GClosure *closure, /* VOID:STRING (./glade-marshallers.list:5) */ #define glade_marshal_VOID__STRING g_cclosure_marshal_VOID__STRING -/* VOID:OBJECT,OBJECT (./glade-marshallers.list:6) */ +/* VOID:INT,INT (./glade-marshallers.list:6) */ +extern void glade_marshal_VOID__INT_INT (GClosure *closure, + GValue *return_value, + guint n_param_values, + const GValue *param_values, + gpointer invocation_hint, + gpointer marshal_data); + +/* VOID:OBJECT,OBJECT (./glade-marshallers.list:7) */ extern void glade_marshal_VOID__OBJECT_OBJECT (GClosure *closure, GValue *return_value, guint n_param_values, @@ -39,7 +47,7 @@ extern void glade_marshal_VOID__OBJECT_OBJECT (GClosure *closure, gpointer invocation_hint, gpointer marshal_data); -/* VOID:OBJECT,BOOLEAN (./glade-marshallers.list:7) */ +/* VOID:OBJECT,BOOLEAN (./glade-marshallers.list:8) */ extern void glade_marshal_VOID__OBJECT_BOOLEAN (GClosure *closure, GValue *return_value, guint n_param_values, @@ -47,7 +55,7 @@ extern void glade_marshal_VOID__OBJECT_BOOLEAN (GClosure *closure, gpointer invocation_hint, gpointer marshal_data); -/* VOID:STRING,STRING,STRING (./glade-marshallers.list:8) */ +/* VOID:STRING,STRING,STRING (./glade-marshallers.list:9) */ extern void glade_marshal_VOID__STRING_STRING_STRING (GClosure *closure, GValue *return_value, guint n_param_values, @@ -55,7 +63,7 @@ extern void glade_marshal_VOID__STRING_STRING_STRING (GClosure *closure, gpointer invocation_hint, gpointer marshal_data); -/* OBJECT:POINTER (./glade-marshallers.list:9) */ +/* OBJECT:POINTER (./glade-marshallers.list:10) */ extern void glade_marshal_OBJECT__POINTER (GClosure *closure, GValue *return_value, guint n_param_values, @@ -63,7 +71,7 @@ extern void glade_marshal_OBJECT__POINTER (GClosure *closure, gpointer invocation_hint, gpointer marshal_data); -/* OBJECT:OBJECT,UINT (./glade-marshallers.list:10) */ +/* OBJECT:OBJECT,UINT (./glade-marshallers.list:11) */ extern void glade_marshal_OBJECT__OBJECT_UINT (GClosure *closure, GValue *return_value, guint n_param_values, @@ -71,7 +79,7 @@ extern void glade_marshal_OBJECT__OBJECT_UINT (GClosure *closure, gpointer invocation_hint, gpointer marshal_data); -/* BOOLEAN:STRING (./glade-marshallers.list:11) */ +/* BOOLEAN:STRING (./glade-marshallers.list:12) */ extern void glade_marshal_BOOLEAN__STRING (GClosure *closure, GValue *return_value, guint n_param_values, @@ -79,7 +87,7 @@ extern void glade_marshal_BOOLEAN__STRING (GClosure *closure, gpointer invocation_hint, gpointer marshal_data); -/* BOOLEAN:BOXED (./glade-marshallers.list:12) */ +/* BOOLEAN:BOXED (./glade-marshallers.list:13) */ extern void glade_marshal_BOOLEAN__BOXED (GClosure *closure, GValue *return_value, guint n_param_values, @@ -87,7 +95,7 @@ extern void glade_marshal_BOOLEAN__BOXED (GClosure *closure, gpointer invocation_hint, gpointer marshal_data); -/* BOOLEAN:OBJECT (./glade-marshallers.list:13) */ +/* BOOLEAN:OBJECT (./glade-marshallers.list:14) */ extern void glade_marshal_BOOLEAN__OBJECT (GClosure *closure, GValue *return_value, guint n_param_values, @@ -95,7 +103,7 @@ extern void glade_marshal_BOOLEAN__OBJECT (GClosure *closure, gpointer invocation_hint, gpointer marshal_data); -/* BOOLEAN:OBJECT,BOXED (./glade-marshallers.list:14) */ +/* BOOLEAN:OBJECT,BOXED (./glade-marshallers.list:15) */ extern void glade_marshal_BOOLEAN__OBJECT_BOXED (GClosure *closure, GValue *return_value, guint n_param_values, @@ -103,7 +111,7 @@ extern void glade_marshal_BOOLEAN__OBJECT_BOXED (GClosure *closure, gpointer invocation_hint, gpointer marshal_data); -/* BOOLEAN:OBJECT,POINTER (./glade-marshallers.list:15) */ +/* BOOLEAN:OBJECT,POINTER (./glade-marshallers.list:16) */ extern void glade_marshal_BOOLEAN__OBJECT_POINTER (GClosure *closure, GValue *return_value, guint n_param_values, @@ -111,7 +119,7 @@ extern void glade_marshal_BOOLEAN__OBJECT_POINTER (GClosure *closure, gpointer invocation_hint, gpointer marshal_data); -/* BOOLEAN:OBJECT,BOOLEAN (./glade-marshallers.list:16) */ +/* BOOLEAN:OBJECT,BOOLEAN (./glade-marshallers.list:17) */ extern void glade_marshal_BOOLEAN__OBJECT_BOOLEAN (GClosure *closure, GValue *return_value, guint n_param_values, @@ -119,7 +127,7 @@ extern void glade_marshal_BOOLEAN__OBJECT_BOOLEAN (GClosure *closure, gpointer invocation_hint, gpointer marshal_data); -/* BOOLEAN:OBJECT,UINT (./glade-marshallers.list:17) */ +/* BOOLEAN:OBJECT,UINT (./glade-marshallers.list:18) */ extern void glade_marshal_BOOLEAN__OBJECT_UINT (GClosure *closure, GValue *return_value, guint n_param_values, @@ -127,7 +135,7 @@ extern void glade_marshal_BOOLEAN__OBJECT_UINT (GClosure *closure, gpointer invocation_hint, gpointer marshal_data); -/* BOOLEAN:OBJECT,OBJECT (./glade-marshallers.list:18) */ +/* BOOLEAN:OBJECT,OBJECT (./glade-marshallers.list:19) */ extern void glade_marshal_BOOLEAN__OBJECT_OBJECT (GClosure *closure, GValue *return_value, guint n_param_values, @@ -135,7 +143,7 @@ extern void glade_marshal_BOOLEAN__OBJECT_OBJECT (GClosure *closure, gpointer invocation_hint, gpointer marshal_data); -/* BOOLEAN:OBJECT,STRING (./glade-marshallers.list:19) */ +/* BOOLEAN:OBJECT,STRING (./glade-marshallers.list:20) */ extern void glade_marshal_BOOLEAN__OBJECT_STRING (GClosure *closure, GValue *return_value, guint n_param_values, @@ -143,7 +151,7 @@ extern void glade_marshal_BOOLEAN__OBJECT_STRING (GClosure *closure, gpointer invocation_hint, gpointer marshal_data); -/* BOOLEAN:STRING,STRING,STRING,BOXED (./glade-marshallers.list:20) */ +/* BOOLEAN:STRING,STRING,STRING,BOXED (./glade-marshallers.list:21) */ extern void glade_marshal_BOOLEAN__STRING_STRING_STRING_BOXED (GClosure *closure, GValue *return_value, guint n_param_values, @@ -151,7 +159,7 @@ extern void glade_marshal_BOOLEAN__STRING_STRING_STRING_BOXED (GClosure *clo gpointer invocation_hint, gpointer marshal_data); -/* BOOLEAN:STRING,BOXED,OBJECT (./glade-marshallers.list:21) */ +/* BOOLEAN:STRING,BOXED,OBJECT (./glade-marshallers.list:22) */ extern void glade_marshal_BOOLEAN__STRING_BOXED_OBJECT (GClosure *closure, GValue *return_value, guint n_param_values, @@ -159,7 +167,7 @@ extern void glade_marshal_BOOLEAN__STRING_BOXED_OBJECT (GClosure *closure, gpointer invocation_hint, gpointer marshal_data); -/* STRING:OBJECT (./glade-marshallers.list:22) */ +/* STRING:OBJECT (./glade-marshallers.list:23) */ extern void glade_marshal_STRING__OBJECT (GClosure *closure, GValue *return_value, guint n_param_values, @@ -167,7 +175,7 @@ extern void glade_marshal_STRING__OBJECT (GClosure *closure, gpointer invocation_hint, gpointer marshal_data); -/* INT:OBJECT,BOXED (./glade-marshallers.list:23) */ +/* INT:OBJECT,BOXED (./glade-marshallers.list:24) */ extern void glade_marshal_INT__OBJECT_BOXED (GClosure *closure, GValue *return_value, guint n_param_values, diff --git a/gladeui/glade-marshallers.list b/gladeui/glade-marshallers.list index 88879b1..4b727dd 100644 --- a/gladeui/glade-marshallers.list +++ b/gladeui/glade-marshallers.list @@ -3,6 +3,7 @@ VOID:POINTER VOID:STRING,ULONG,UINT,STRING VOID:OBJECT VOID:STRING +VOID:INT,INT VOID:OBJECT,OBJECT VOID:OBJECT,BOOLEAN VOID:STRING,STRING,STRING diff --git a/gladeui/glade-name-context.c b/gladeui/glade-name-context.c index 42b1cc8..b39242e 100644 --- a/gladeui/glade-name-context.c +++ b/gladeui/glade-name-context.c @@ -43,7 +43,7 @@ struct _GladeNameContext { GladeNameContext * glade_name_context_new (void) { - GladeNameContext *context = g_new0 (GladeNameContext, 1); + GladeNameContext *context = g_slice_new0 (GladeNameContext); context->name_allocators = g_hash_table_new_full (g_str_hash, g_str_equal, @@ -65,7 +65,7 @@ glade_name_context_destroy (GladeNameContext *context) g_hash_table_destroy (context->name_allocators); g_hash_table_destroy (context->names); - g_free (context); + g_slice_free (GladeNameContext, context); } gchar * @@ -117,10 +117,12 @@ glade_name_context_dual_new_name (GladeNameContext *context, const gchar *base_name) { GladeIDAllocator *id_allocator; + GList *free_ids = NULL, *l; const gchar *number; gchar *name = NULL, *freeme = NULL; - guint i = 1; - + guint i; + gboolean found = FALSE; + g_return_val_if_fail (context != NULL, NULL); g_return_val_if_fail (another_context != NULL, NULL); g_return_val_if_fail (base_name && base_name[0], NULL); @@ -130,11 +132,11 @@ glade_name_context_dual_new_name (GladeNameContext *context, --number; if (*number) - { + { freeme = g_strndup (base_name, number - base_name); base_name = freeme; } - + id_allocator = g_hash_table_lookup (context->name_allocators, base_name); if (id_allocator == NULL) @@ -143,15 +145,28 @@ glade_name_context_dual_new_name (GladeNameContext *context, g_hash_table_insert (context->name_allocators, g_strdup (base_name), id_allocator); } - - do - { + + while (!found) + { g_free (name); i = glade_id_allocator_allocate (id_allocator); name = g_strdup_printf ("%s%u", base_name, i); - } - while (glade_name_context_has_name (context, name) || - glade_name_context_has_name (another_context, name)); + + if (!(glade_name_context_has_name (context, name) || + glade_name_context_has_name (another_context, name))) + found = TRUE; + else + free_ids = g_list_prepend (free_ids, GUINT_TO_POINTER (i)); + } + + /* Release all the ids that were not hits */ + for (l = free_ids; l; l = l->next) + { + i = GPOINTER_TO_UINT (l->data); + + glade_id_allocator_release (id_allocator, i); + } + g_list_free (free_ids); g_free (freeme); return name; @@ -221,17 +236,12 @@ glade_name_context_release_name (GladeNameContext *context, } while (TRUE); - /* if there is a number - then we have to unallocate it... */ - if (ch == 0) return; - - base_name = g_strdup (name); *(base_name + (first_number - name)) = 0; - + if ((id_allocator = g_hash_table_lookup (context->name_allocators, base_name)) != NULL) { - id = (int) strtol (first_number, &end_number, 10); if (*end_number == 0) glade_id_allocator_release (id_allocator, id); diff --git a/gladeui/glade-project.c b/gladeui/glade-project.c index d5c753e..163290e 100644 --- a/gladeui/glade-project.c +++ b/gladeui/glade-project.c @@ -61,9 +61,11 @@ enum SELECTION_CHANGED, CLOSE, CHANGED, - PARSE_FINISHED, + PARSE_BEGAN, + PARSE_FINISHED, CONVERT_FINISHED, TARGETS_CHANGED, + LOAD_PROGRESS, LAST_SIGNAL }; @@ -157,6 +159,11 @@ struct _GladeProjectPrivate GtkWidget *relative_path_entry; GtkWidget *full_path_button; + /* For the loading progress bars ("load-progress" signal) */ + gint progress_step; + gint progress_full; + gboolean load_cancel; + /* Store preview processes, so we can kill them on close */ GHashTable *preview_channels; }; @@ -229,6 +236,9 @@ static void glade_project_model_get_iter_for_object (GladeProject* proje GObject* object, GtkTreeIter* iter); + +#define GLADE_PROJECT_LARGE_PROJECT 40 + G_DEFINE_TYPE_WITH_CODE (GladeProject, glade_project, G_TYPE_OBJECT, G_IMPLEMENT_INTERFACE (GTK_TYPE_TREE_MODEL, gtk_tree_model_iface_init)) @@ -257,6 +267,29 @@ glade_project_list_unref (GList *original_list) g_list_free (original_list); } +static void +unparent_objects_recurse (GladeWidget *widget) +{ + GladeWidget *child; + GList *children, *list; + + /* Unparent all children */ + if ((children = + glade_widget_get_children (widget)) != NULL) + { + for (list = children; list; list = list->next) + { + child = glade_widget_get_from_gobject (list->data); + + unparent_objects_recurse (child); + + if (child->internal == NULL) + glade_widget_remove_child (widget, child); + } + g_list_free (children); + } +} + static void glade_project_dispose (GObject *object) { @@ -274,9 +307,22 @@ glade_project_dispose (GObject *object) /* Remove objects from the project */ tree = g_list_copy (project->priv->tree); for (list = tree; list; list = list->next) - glade_project_remove_object (project, list->data); + { + GladeWidget *gwidget = glade_widget_get_from_gobject (list->data); + + unparent_objects_recurse (gwidget); + } g_list_free (tree); + while (project->priv->tree) + glade_project_remove_object (project, project->priv->tree->data); + + while (project->priv->objects) + glade_project_remove_object (project, project->priv->objects->data); + + g_assert (project->priv->tree == NULL); + g_assert (project->priv->objects == NULL); + G_OBJECT_CLASS (glade_project_parent_class)->dispose (object); } @@ -286,7 +332,6 @@ glade_project_finalize (GObject *object) GladeProject *project = GLADE_PROJECT (object); GList *list; TopLevelInfo *tinfo; - /* XXX FIXME: Destroy dialog related sizegroups here... */ gtk_widget_destroy (project->priv->prefs_dialog); @@ -829,6 +874,21 @@ glade_project_class_init (GladeProjectClass *klass) 2, GLADE_TYPE_COMMAND, G_TYPE_BOOLEAN); + /** + * GladeProject::parse-began: + * @gladeproject: the #GladeProject which received the signal. + * + * Emitted when @gladeproject parsing starts. + */ + glade_project_signals[PARSE_BEGAN] = + g_signal_new ("parse-began", + G_TYPE_FROM_CLASS (object_class), + G_SIGNAL_RUN_FIRST, + 0, NULL, NULL, + g_cclosure_marshal_VOID__VOID, + G_TYPE_NONE, + 0); + /** * GladeProject::parse-finished: * @gladeproject: the #GladeProject which received the signal. @@ -866,21 +926,36 @@ glade_project_class_init (GladeProjectClass *klass) G_TYPE_NONE, 0); - - /** + /** * GladeProject::targets-changed: + * @gladeproject: the #GladeProject which received the signal. + * + * Emitted when @gladeproject target versions change. + */ + glade_project_signals[TARGETS_CHANGED] = + g_signal_new ("targets-changed", + G_TYPE_FROM_CLASS (object_class), + G_SIGNAL_RUN_FIRST, + 0, NULL, NULL, + g_cclosure_marshal_VOID__VOID, + G_TYPE_NONE, + 0); + + /** + * GladeProject::load-progress: * @gladeproject: the #GladeProject which received the signal. + * @objects_total: the total amount of objects to load + * @objects_loaded: the current amount of loaded objects * - * Emitted when @gladeproject target versions change. + * Emitted while @project is loading. */ - glade_project_signals[TARGETS_CHANGED] = - g_signal_new ("targets-changed", + glade_project_signals[LOAD_PROGRESS] = + g_signal_new ("load-progress", G_TYPE_FROM_CLASS (object_class), G_SIGNAL_RUN_FIRST, 0, NULL, NULL, - g_cclosure_marshal_VOID__VOID, - G_TYPE_NONE, - 0); + glade_marshal_VOID__INT_INT, + G_TYPE_NONE, 2, G_TYPE_INT, G_TYPE_INT); g_object_class_install_property (object_class, PROP_MODIFIED, @@ -1376,8 +1451,53 @@ glade_project_introspect_gtk_version (GladeProject *project) } +static gint +glade_project_count_xml_objects (GladeProject *project, GladeXmlNode *root, gint count) +{ + GladeXmlNode *node; + + for (node = glade_xml_node_get_children (root); + node; node = glade_xml_node_next (node)) + { + if (glade_xml_node_verify_silent + (node, GLADE_XML_TAG_WIDGET (project->priv->format))) + count = glade_project_count_xml_objects (project, node, ++count); + else if (glade_xml_node_verify_silent (node, GLADE_XML_TAG_CHILD)) + count = glade_project_count_xml_objects (project, node, count); + } + return count; +} + +void +glade_project_cancel_load (GladeProject *project) +{ + g_return_if_fail (GLADE_IS_PROJECT (project)); + + project->priv->load_cancel = TRUE; +} + +gboolean +glade_project_load_cancelled (GladeProject *project) +{ + g_return_val_if_fail (GLADE_IS_PROJECT (project), FALSE); + + return project->priv->load_cancel; +} + +void +glade_project_push_progress (GladeProject *project) +{ + g_return_if_fail (GLADE_IS_PROJECT (project)); + + project->priv->progress_step++; + + g_signal_emit (project, glade_project_signals [LOAD_PROGRESS], 0, + project->priv->progress_full, + project->priv->progress_step); +} + static gboolean -glade_project_load_from_file (GladeProject *project, const gchar *path) +glade_project_load_internal (GladeProject *project) { GladeXmlContext *context; GladeXmlDoc *doc; @@ -1385,24 +1505,26 @@ glade_project_load_from_file (GladeProject *project, const gchar *path) GladeXmlNode *node; GladeWidget *widget; gboolean has_gtk_dep = FALSE; + gint count; project->priv->selection = NULL; project->priv->toplevels = NULL; project->priv->objects = NULL; project->priv->loading = TRUE; - project->priv->path = glade_util_canonical_path (path); - /* get the context & root node of the catalog file */ if (!(context = - glade_xml_context_new_from_path (path, + glade_xml_context_new_from_path (project->priv->path, NULL, NULL))) { - g_warning ("Couldn't open glade file [%s].", path); + g_warning ("Couldn't open glade file [%s].", project->priv->path); + project->priv->loading = FALSE; return FALSE; } + project->priv->mtime = glade_util_get_file_mtime (project->priv->path, NULL); + doc = glade_xml_context_get_doc (context); root = glade_xml_doc_get_root (doc); @@ -1412,16 +1534,22 @@ glade_project_load_from_file (GladeProject *project, const gchar *path) glade_project_set_format (project, GLADE_PROJECT_FORMAT_GTKBUILDER); else { - g_warning ("Couldnt determine project format, skipping %s", path); + g_warning ("Couldnt determine project format, skipping %s", + project->priv->path); glade_xml_context_free (context); + project->priv->loading = FALSE; return FALSE; } + /* Emit "parse-began" signal */ + g_signal_emit (project, glade_project_signals [PARSE_BEGAN], 0); + /* XXX Need to load project->priv->comment ! */ glade_project_read_comment (project, doc); - if (glade_project_read_requires (project, root, path, &has_gtk_dep) == FALSE) + if (glade_project_read_requires (project, root, project->priv->path, &has_gtk_dep) == FALSE) { + project->priv->loading = FALSE; glade_xml_context_free (context); return FALSE; } @@ -1430,6 +1558,12 @@ glade_project_load_from_file (GladeProject *project, const gchar *path) glade_project_read_resource_path (project, root); + /* Launch a dialog if it's going to take enough time to be + * worth showing at all */ + count = glade_project_count_xml_objects (project, root, 0); + project->priv->progress_full = count; + project->priv->progress_step = 0; + for (node = glade_xml_node_get_children (root); node; node = glade_xml_node_next (node)) { @@ -1440,6 +1574,18 @@ glade_project_load_from_file (GladeProject *project, const gchar *path) if ((widget = glade_widget_read (project, NULL, node, NULL)) != NULL) glade_project_add_object (project, NULL, widget->object); + + if (project->priv->load_cancel) + break; + } + + /* Finished with the xml context */ + glade_xml_context_free (context); + + if (project->priv->load_cancel) + { + project->priv->loading = FALSE; + return FALSE; } if (!has_gtk_dep) @@ -1448,11 +1594,6 @@ glade_project_load_from_file (GladeProject *project, const gchar *path) if (glade_util_file_is_writeable (project->priv->path) == FALSE) glade_project_set_readonly (project, TRUE); - /* Finished with the xml context */ - glade_xml_context_free (context); - - project->priv->mtime = glade_util_get_file_mtime (project->priv->path, NULL); - /* Reset project status here too so that you get a clean * slate after calling glade_project_open(). */ @@ -1464,19 +1605,47 @@ glade_project_load_from_file (GladeProject *project, const gchar *path) */ glade_project_fix_object_props (project); - /* Emit "parse-finished" signal */ g_signal_emit (project, glade_project_signals [PARSE_FINISHED], 0); - /* Update ui with versioning info */ glade_project_verify_project_for_ui (project); + /* Update various things in the UI */ + glade_app_update_ui (); + return TRUE; } +gboolean +glade_project_load_from_file (GladeProject *project, + const gchar *path) +{ + gboolean retval; + + g_return_val_if_fail (path != NULL, FALSE); + g_return_val_if_fail (GLADE_IS_PROJECT (project), FALSE); + + project->priv->path = glade_util_canonical_path (path); + + retval = glade_project_load_internal (project); + + if (retval) + { + gchar *name, *title; + + /* Update prefs dialogs here... */ + name = glade_project_get_name (project); + title = g_strdup_printf (_("%s preferences"), name); + gtk_window_set_title (GTK_WINDOW (project->priv->prefs_dialog), title); + g_free (title); + g_free (name); + } + return retval; +} + /** * glade_project_load: * @path: @@ -1495,8 +1664,10 @@ glade_project_load (const gchar *path) g_return_val_if_fail (path != NULL, NULL); project = g_object_new (GLADE_TYPE_PROJECT, NULL); + + project->priv->path = glade_util_canonical_path (path); - retval = glade_project_load_from_file (project, path); + retval = glade_project_load_internal (project); if (retval) { @@ -1671,6 +1842,22 @@ glade_project_write_resource_path (GladeProject *project, } } +static gint +sort_project_dependancies (GObject *a, GObject *b) +{ + GladeWidget *ga, *gb; + + ga = glade_widget_get_from_gobject (a); + gb = glade_widget_get_from_gobject (b); + + if (glade_widget_adaptor_depends (ga->adaptor, ga, gb)) + return 1; + else if (glade_widget_adaptor_depends (gb->adaptor, gb, ga)) + return -1; + else + return strcmp (ga->name, gb->name); +} + static GladeXmlContext * glade_project_write (GladeProject *project) { @@ -1696,6 +1883,11 @@ glade_project_write (GladeProject *project) glade_project_write_resource_path (project, context, root); + /* Sort the whole thing */ + project->priv->objects = + g_list_sort (project->priv->objects, + (GCompareFunc)sort_project_dependancies); + for (list = project->priv->objects; list; list = list->next) { GladeWidget *widget; @@ -1731,6 +1923,11 @@ glade_project_save (GladeProject *project, const gchar *path, GError **error) gchar *canonical_path; gint ret; + g_return_val_if_fail (GLADE_IS_PROJECT (project), FALSE); + + if (glade_project_is_loading (project)) + return FALSE; + if (!glade_project_verify (project, TRUE)) return FALSE; @@ -1790,9 +1987,9 @@ glade_project_launch_preview (GladeProject *project, gchar *buffer, GtkWidget *w #ifdef WINDOWS - argv[0] = g_build_filename (glade_app_get_bin_dir(), "glade-previewer.exe", NULL); + argv[0] = g_build_filename (glade_app_get_bin_dir(), "glade-3-previewer.exe", NULL); #else - argv[0] = g_build_filename (glade_app_get_bin_dir(), "glade-previewer", NULL); + argv[0] = g_build_filename (glade_app_get_bin_dir(), "glade-3-previewer", NULL); #endif @@ -1874,18 +2071,21 @@ glade_project_preview (GladeProject *project, GladeWidget *gwidget) { GladeXmlContext *context; gchar *text; - GtkWidget *widget = GTK_WIDGET (gwidget->object); + GtkWidget *widget; - g_return_if_fail (GTK_WIDGET (widget)); g_return_if_fail (GLADE_IS_PROJECT (project)); context = glade_project_write (project); text = glade_xml_dump_from_context (context); + gwidget = glade_widget_get_toplevel (gwidget); + if (!GTK_IS_WIDGET (gwidget->object)) return; + widget = GTK_WIDGET (gwidget->object); + glade_project_launch_preview (project, text, widget); - g_free(text); + g_free (text); } /******************************************************************* @@ -2637,7 +2837,6 @@ glade_project_release_widget_name (GladeProject *project, GladeWidget *gwidget, g_free (tinfo); project->priv->toplevels = g_list_remove (project->priv->toplevels, tinfo); } - } /** @@ -2807,22 +3006,6 @@ glade_project_set_widget_name (GladeProject *project, gtk_tree_path_free (path); } -static gint -sort_project_dependancies (GObject *a, GObject *b) -{ - GladeWidget *ga, *gb; - - ga = glade_widget_get_from_gobject (a); - gb = glade_widget_get_from_gobject (b); - - if (glade_widget_adaptor_depends (ga->adaptor, ga, gb)) - return 1; - else if (glade_widget_adaptor_depends (gb->adaptor, gb, ga)) - return -1; - else - return 1; -} - static gboolean glade_project_has_widget (GladeProject *project) { @@ -2851,6 +3034,47 @@ glade_project_update_previewable (GladeProject *project) g_object_notify (G_OBJECT (project), "previewable"); } +static void +glade_project_notify_row_inserted (GladeProject *project, + GladeWidget *gwidget) +{ + GtkTreeIter iter; + GtkTreePath *path; + + /* The state of old iters go invalid and then the new iter is valid + * until the next change */ + project->priv->stamp++; + + glade_project_model_get_iter_for_object (project, gwidget->object, &iter); + path = gtk_tree_model_get_path (GTK_TREE_MODEL (project), &iter); + gtk_tree_model_row_inserted (GTK_TREE_MODEL (project), path, &iter); + gtk_tree_path_free (path); + + /* XXX Need to check and call this + * gtk_tree_model_row_has_child_toggled + */ +} + +static void +glade_project_notify_row_deleted (GladeProject *project, + GladeWidget *gwidget) +{ + GtkTreeIter iter; + GtkTreePath *path; + + glade_project_model_get_iter_for_object (project, gwidget->object, &iter); + path = gtk_tree_model_get_path (GTK_TREE_MODEL (project), &iter); + gtk_tree_model_row_deleted (GTK_TREE_MODEL (project), path); + gtk_tree_path_free (path); + + /* XXX Need to check and call this + * gtk_tree_model_row_has_child_toggled + */ + + + project->priv->stamp++; +} + /** * glade_project_add_object: * @project: the #GladeProject the widget is added to @@ -2868,8 +3092,6 @@ glade_project_add_object (GladeProject *project, GladeWidget *gwidget; GList *list, *children; gchar *name; - GtkTreeIter iter; - GtkTreePath *path; g_return_if_fail (GLADE_IS_PROJECT (project)); g_return_if_fail (G_IS_OBJECT (object)); @@ -2918,26 +3140,13 @@ glade_project_add_object (GladeProject *project, glade_widget_set_project (gwidget, (gpointer)project); g_object_ref_sink (gwidget); + /* Be sure to update the lists before emitting signals */ if (glade_widget_get_parent (gwidget) == NULL) - { - project->priv->tree = g_list_insert_sorted (project->priv->tree, object, - (GCompareFunc)sort_project_dependancies); - } + project->priv->tree = g_list_append (project->priv->tree, object); - /* Be sure to update the list before emitting signals */ project->priv->objects = g_list_prepend (project->priv->objects, object); - if (!project->priv->loading) - { - /* The state of old iters go invalid and then the new iter is valid - * until the next change */ - project->priv->stamp++; - - glade_project_model_get_iter_for_object (project, object, &iter); - path = gtk_tree_model_get_path (GTK_TREE_MODEL (project), &iter); - gtk_tree_model_row_inserted (GTK_TREE_MODEL (project), path, &iter); - gtk_tree_path_free (path); - } + glade_project_notify_row_inserted (project, gwidget); /* NOTE: Sensitive ordering here, we need to recurse after updating * the tree model listeners (and update those listeners after our @@ -2991,9 +3200,7 @@ void glade_project_remove_object (GladeProject *project, GObject *object) { GladeWidget *gwidget; - GList *list, *children, *link; - GtkTreeIter iter; - GtkTreePath *path; + GList *list, *children; g_return_if_fail (GLADE_IS_PROJECT (project)); g_return_if_fail (G_IS_OBJECT (object)); @@ -3014,11 +3221,7 @@ glade_project_remove_object (GladeProject *project, GObject *object) } /* Notify views that the row is being deleted *before* deleting it */ - glade_project_model_get_iter_for_object (project, object, &iter); - - path = gtk_tree_model_get_path (GTK_TREE_MODEL (project), &iter); - gtk_tree_model_row_deleted (GTK_TREE_MODEL (project), path); - gtk_tree_path_free (path); + glade_project_notify_row_deleted (project, gwidget); /* Remove selection and release name from the name context */ glade_project_selection_remove (project, object, TRUE); @@ -3031,17 +3234,10 @@ glade_project_remove_object (GladeProject *project, GObject *object) gwidget); /* Update internal data structure (remove from lists) */ - link = g_list_find (project->priv->tree, object); - if (link) - { - project->priv->tree = g_list_delete_link (project->priv->tree, link); - } - + project->priv->tree = g_list_remove (project->priv->tree, object); project->priv->objects = g_list_remove (project->priv->objects, object); g_object_unref (gwidget); - project->priv->stamp++; - glade_project_update_previewable (project); } @@ -4609,9 +4805,12 @@ glade_project_model_get_path (GtkTreeModel* model, /* Get the index for the top-level list */ top = g_list_find (project->priv->tree, glade_widget_get_object (toplevel)); - g_assert (top != NULL); - gtk_tree_path_prepend_index (path, g_list_position (project->priv->tree, - top)); + + /* While the project is disposing widgets are unparented and sometimes no longer in the tree */ + if (top) + gtk_tree_path_prepend_index (path, g_list_position (project->priv->tree, top)); + else + gtk_tree_path_prepend_index (path, 0); return path; } diff --git a/gladeui/glade-project.h b/gladeui/glade-project.h index c73a798..99f20b8 100644 --- a/gladeui/glade-project.h +++ b/gladeui/glade-project.h @@ -91,6 +91,8 @@ GType glade_project_get_type (void) G_GNUC_CONST; GladeProject *glade_project_new (void); GladeProject *glade_project_load (const gchar *path); +gboolean glade_project_load_from_file (GladeProject *project, + const gchar *path); gboolean glade_project_save (GladeProject *project, const gchar *path, @@ -217,6 +219,10 @@ void glade_project_update_signal_support_warning (GladeWidget *widget, gchar *glade_project_display_dependencies (GladeProject *project); +void glade_project_push_progress (GladeProject *project); +gboolean glade_project_load_cancelled (GladeProject *project); +void glade_project_cancel_load (GladeProject *project); + G_END_DECLS #endif /* __GLADE_PROJECT_H__ */ diff --git a/gladeui/glade-property-class.c b/gladeui/glade-property-class.c index 87bf8c9..6a66716 100644 --- a/gladeui/glade-property-class.c +++ b/gladeui/glade-property-class.c @@ -674,7 +674,7 @@ glade_property_class_make_objects_from_string (GladePropertyClass *property_clas } g_strfreev (split); } - return objects; + return g_list_reverse (objects); } /** diff --git a/gladeui/glade-property.c b/gladeui/glade-property.c index 2e881c8..ad654f4 100644 --- a/gladeui/glade-property.c +++ b/gladeui/glade-property.c @@ -111,8 +111,9 @@ glade_property_dup_impl (GladeProperty *template_prop, GladeWidget *widget) else g_value_copy (template_prop->value, property->value); - /* Need value in place here ... */ - glade_property_set_enabled (property, template_prop->enabled); + property->enabled = template_prop->enabled; + property->state = template_prop->state; + glade_property_set_sensitive (property, template_prop->sensitive, template_prop->insensitive_tooltip); @@ -245,7 +246,8 @@ glade_property_set_value_impl (GladeProperty *property, const GValue *value) #if 0 { g_print ("***************************************************\n"); - g_print ("Setting property %s on %s ..\n", + g_print ("Setting %s property %s on %s ..\n", + property->klass->packing ? "packing" : "normal", property->klass->id, property->widget ? property->widget->name : "unknown"); @@ -351,8 +353,8 @@ glade_property_sync_impl (GladeProperty *property) * (other properties may be used for convenience in the plugin). */ if ((property->klass->packing && - property != glade_widget_get_pack_property (property->widget, property->klass->id)) || - property != glade_widget_get_property (property->widget, property->klass->id)) + !glade_widget_get_pack_property (property->widget, property->klass->id)) || + !glade_widget_get_property (property->widget, property->klass->id)) return; property->syncing++; diff --git a/gladeui/glade-utils.c b/gladeui/glade-utils.c index 2d634f9..1fb5484 100644 --- a/gladeui/glade-utils.c +++ b/gladeui/glade-utils.c @@ -2272,52 +2272,6 @@ glade_utils_hijack_key_press (GtkWindow *win, } -/* copied from gedit */ -gchar * -glade_utils_replace_home_dir_with_tilde (const gchar *uri) -{ - gchar *tmp; - gchar *home; - - g_return_val_if_fail (uri != NULL, NULL); - - /* Note that g_get_home_dir returns a const string */ - tmp = (gchar *)g_get_home_dir (); - - if (tmp == NULL) - return g_strdup (uri); - - home = g_filename_to_utf8 (tmp, -1, NULL, NULL, NULL); - if (home == NULL) - return g_strdup (uri); - - if (strcmp (uri, home) == 0) - { - g_free (home); - - return g_strdup ("~"); - } - - tmp = home; - home = g_strdup_printf ("%s/", tmp); - g_free (tmp); - - if (g_str_has_prefix (uri, home)) - { - gchar *res; - - res = g_strdup_printf ("~/%s", uri + strlen (home)); - - g_free (home); - - return res; - } - - g_free (home); - - return g_strdup (uri); -} - void glade_utils_cairo_draw_line (cairo_t *cr, @@ -2362,3 +2316,54 @@ glade_utils_cairo_draw_rectangle (cairo_t *cr, cairo_stroke (cr); } } + + +/* copied from gedit */ +gchar * +glade_utils_replace_home_dir_with_tilde (const gchar *path) +{ +#ifdef G_OS_UNIX + gchar *tmp; + gchar *home; + + g_return_val_if_fail (path != NULL, NULL); + + /* Note that g_get_home_dir returns a const string */ + tmp = (gchar *) g_get_home_dir (); + + if (tmp == NULL) + return g_strdup (path); + + home = g_filename_to_utf8 (tmp, -1, NULL, NULL, NULL); + if (home == NULL) + return g_strdup (path); + + if (strcmp (path, home) == 0) + { + g_free (home); + + return g_strdup ("~"); + } + + tmp = home; + home = g_strdup_printf ("%s/", tmp); + g_free (tmp); + + if (g_str_has_prefix (path, home)) + { + gchar *res; + + res = g_strdup_printf ("~/%s", path + strlen (home)); + + g_free (home); + + return res; + } + + g_free (home); + + return g_strdup (path); +#else + return g_strdup (path); +#endif +} diff --git a/gladeui/glade-utils.h b/gladeui/glade-utils.h index 43336a4..7fb7c7f 100644 --- a/gladeui/glade-utils.h +++ b/gladeui/glade-utils.h @@ -159,8 +159,6 @@ gint glade_utils_hijack_key_press (GtkWindow *win, gpointer user_data); -gchar *glade_utils_replace_home_dir_with_tilde (const gchar *uri); - void glade_utils_cairo_draw_line (cairo_t *cr, GdkColor *color, gint x1, @@ -177,6 +175,8 @@ void glade_utils_cairo_draw_rectangle (cairo_t *cr, gint width, gint height); +gchar *glade_utils_replace_home_dir_with_tilde (const gchar *path); + G_END_DECLS #endif /* __GLADE_UTILS_H__ */ diff --git a/gladeui/glade-widget-adaptor.c b/gladeui/glade-widget-adaptor.c index 70308fc..f1c6529 100644 --- a/gladeui/glade-widget-adaptor.c +++ b/gladeui/glade-widget-adaptor.c @@ -930,6 +930,9 @@ glade_widget_adaptor_object_read_widget (GladeWidgetAdaptor *adaptor, { if (glade_xml_node_verify_silent (iter_node, GLADE_XML_TAG_CHILD)) glade_widget_read_child (widget, iter_node); + + if (glade_project_load_cancelled (widget->project)) + return; } } diff --git a/gladeui/glade-widget.c b/gladeui/glade-widget.c index d5acc5d..30e52ee 100644 --- a/gladeui/glade-widget.c +++ b/gladeui/glade-widget.c @@ -63,8 +63,11 @@ static void glade_widget_set_adaptor (GladeWidget *w GladeWidgetAdaptor *adaptor); static void glade_widget_set_properties (GladeWidget *widget, GList *properties); -static gboolean glade_window_is_embedded (GtkWindow *window); -static gboolean glade_widget_embed (GladeWidget *widget); +static gboolean glade_window_is_embedded (GtkWindow *window); +static gboolean glade_widget_embed (GladeWidget *widget); +static void glade_widget_set_object (GladeWidget *gwidget, + GObject *new_object, + gboolean destroy); enum { @@ -165,6 +168,8 @@ glade_widget_remove_child_impl (GladeWidget *widget, glade_widget_adaptor_remove (widget->adaptor, widget->object, child->object); + child->parent = NULL; + g_object_unref (child); } @@ -532,7 +537,7 @@ glade_widget_build_object (GladeWidget *widget, if (reason == GLADE_CREATE_LOAD) { object = glade_widget_adaptor_construct_object (widget->adaptor, 0, NULL); - glade_widget_set_object (widget, object); + glade_widget_set_object (widget, object, TRUE); return object; } @@ -547,7 +552,8 @@ glade_widget_build_object (GladeWidget *widget, free_params (params, n_params); - glade_widget_set_object (widget, object); + /* Dont destroy toplevels when rebuilding, handle that separately */ + glade_widget_set_object (widget, object, reason != GLADE_CREATE_REBUILD); if (template) params = glade_widget_template_params (widget, FALSE, &n_params); @@ -747,9 +753,9 @@ glade_widget_constructor (GType type, if (gwidget->object == NULL) { - object = glade_widget_build_object(gwidget, - gwidget->construct_template, - gwidget->construct_reason); + object = glade_widget_build_object (gwidget, + gwidget->construct_template, + gwidget->construct_reason); } /* Copy sync parentless widget props here after a dup @@ -844,8 +850,6 @@ static void glade_widget_dispose (GObject *object) { GladeWidget *widget = GLADE_WIDGET (object); - GladeWidget *child; - GList *children, *list; glade_widget_push_superuser (); @@ -859,20 +863,6 @@ glade_widget_dispose (GObject *object) if (widget->properties) g_list_foreach (widget->properties, (GFunc)reset_object_property, widget->project); - /* Unparent all children */ - if ((children = - glade_widget_get_children (widget)) != NULL) - { - for (list = children; list; list = list->next) - { - child = glade_widget_get_from_gobject (list->data); - - if (child->internal == NULL) - glade_widget_remove_child (widget, child); - } - g_list_free (children); - } - /* We have to make sure properties release thier references on other widgets first * hence the reset (for object properties) */ if (widget->properties) @@ -882,13 +872,7 @@ glade_widget_dispose (GObject *object) widget->properties = NULL; } - /* We do not keep a reference to internal widgets */ - glade_widget_set_object (widget, NULL); - - /* At this point, any callbacks on "object" generated by destroy - * wont come with a GladeWidget - */ - g_object_set_qdata (G_OBJECT (object), glade_widget_name_quark, NULL); + glade_widget_set_object (widget, NULL, TRUE); if (widget->packing_properties) { @@ -939,7 +923,7 @@ glade_widget_set_real_property (GObject *object, break; case PROP_OBJECT: if (g_value_get_object (value)) - glade_widget_set_object (widget, g_value_get_object (value)); + glade_widget_set_object (widget, g_value_get_object (value), TRUE); break; case PROP_PROJECT: glade_widget_set_project (widget, GLADE_PROJECT (g_value_get_object (value))); @@ -1351,8 +1335,7 @@ glade_widget_copy_packing_props (GladeWidget *parent, for (l = child->packing_properties; l && l->data; l = l->next) { dup_prop = GLADE_PROPERTY(l->data); - orig_prop = - glade_widget_get_property (template_widget, dup_prop->klass->id); + orig_prop = glade_widget_get_pack_property (template_widget, dup_prop->klass->id); glade_property_set_value (dup_prop, orig_prop->value); } } @@ -2418,8 +2401,8 @@ glade_widget_rebuild (GladeWidget *gwidget) /* Hold a reference to the old widget while we transport properties * and children from it */ - old_object = g_object_ref(glade_widget_get_object (gwidget)); - new_object = glade_widget_build_object(gwidget, gwidget, GLADE_CREATE_REBUILD); + old_object = g_object_ref (glade_widget_get_object (gwidget)); + new_object = glade_widget_build_object (gwidget, gwidget, GLADE_CREATE_REBUILD); /* Only call this once the object has a proper GladeWidget */ glade_widget_adaptor_post_create (adaptor, new_object, GLADE_CREATE_REBUILD); @@ -2431,10 +2414,10 @@ glade_widget_rebuild (GladeWidget *gwidget) old_object, new_object); /* Must call dispose for cases like dialogs and toplevels */ - if (g_type_is_a (adaptor->type, GTK_TYPE_OBJECT)) - gtk_object_destroy (GTK_OBJECT (old_object)); + if (GTK_IS_WINDOW (old_object)) + gtk_widget_destroy (GTK_WIDGET (old_object)); else - g_object_run_dispose (G_OBJECT (old_object)); + g_object_unref (old_object); /* Reparent any children of the old object to the new object * (this function will consume and free the child list). @@ -2470,7 +2453,8 @@ glade_widget_rebuild (GladeWidget *gwidget) /* Sync packing. */ - glade_widget_sync_packing_props (gwidget); + if (gwidget->parent) + glade_widget_sync_packing_props (gwidget); /* If the widget was in a project (and maybe the selection), then * restore that stuff. @@ -3327,17 +3311,8 @@ glade_widget_event_private (GtkWidget *widget, return FALSE; } -/** - * glade_widget_set_object: - * @gwidget: A #GladeWidget - * @new_object: the new #GObject for @gwidget - * - * Set the runtime object for this GladeWidget wrapper - * (this is used deep in the core and is probably unsafe - * to use elsewhere). - */ -void -glade_widget_set_object (GladeWidget *gwidget, GObject *new_object) +static void +glade_widget_set_object (GladeWidget *gwidget, GObject *new_object, gboolean destroy) { GladeWidgetAdaptor *adaptor; GObject *old_object; @@ -3347,19 +3322,22 @@ glade_widget_set_object (GladeWidget *gwidget, GObject *new_object) g_type_is_a (G_OBJECT_TYPE (new_object), gwidget->adaptor->type)); - adaptor = gwidget->adaptor; - old_object = gwidget->object; + if (gwidget->object == new_object) + return; + + adaptor = gwidget->adaptor; + old_object = gwidget->object; + gwidget->object = new_object; if (new_object) { /* Add internal reference to new widget if its not internal */ - if (gwidget->internal) - gwidget->object = G_OBJECT(new_object); - else if (GTK_IS_OBJECT (new_object)) - gwidget->object = g_object_ref (G_OBJECT(new_object)); - else - /* If this is a base GObject; assume ownership of the initial ref count */ - gwidget->object = new_object; + if (gwidget->internal == NULL) + { + /* Assume ownership of floating objects */ + if (g_object_is_floating (new_object)) + g_object_ref_sink (new_object); + } g_object_set_qdata (G_OBJECT (new_object), glade_widget_name_quark, gwidget); @@ -3381,10 +3359,25 @@ glade_widget_set_object (GladeWidget *gwidget, GObject *new_object) } /* Remove internal reference to old widget */ - if (gwidget->internal == NULL && old_object) + if (old_object) { + /* From this point on, the GladeWidget is no longer retrievable with + * glade_widget_get_from_gobject() */ g_object_set_qdata (G_OBJECT (old_object), glade_widget_name_quark, NULL); - g_object_unref (G_OBJECT (old_object)); + + if (gwidget->internal == NULL) + { +#if _YOU_WANT_TO_LOOK_AT_PROJECT_REFCOUNT_BALANCING_ + g_print ("Killing '%s::%s' widget's object with reference count %d\n", + gwidget->adaptor->name, gwidget->name ? gwidget->name : "(unknown)", + old_object->ref_count); +#endif + if (GTK_IS_WINDOW (old_object) && destroy) + gtk_widget_destroy (GTK_WIDGET (old_object)); + else + g_object_unref (old_object); + + } } g_object_notify (G_OBJECT (gwidget), "object"); } @@ -3755,6 +3748,9 @@ void glade_widget_read_child (GladeWidget *widget, GladeXmlNode *node) { + if (glade_project_load_cancelled (widget->project)) + return; + glade_widget_adaptor_read_child (widget->adaptor, widget, node); } @@ -3776,6 +3772,9 @@ glade_widget_read (GladeProject *project, GladeWidget *widget = NULL; gchar *klass, *id; + if (glade_project_load_cancelled (project)) + return NULL; + glade_widget_push_superuser (); if (!glade_xml_node_verify @@ -3841,7 +3840,9 @@ glade_widget_read (GladeProject *project, } glade_widget_pop_superuser (); - + + glade_project_push_progress (project); + return widget; } diff --git a/gladeui/glade-widget.h b/gladeui/glade-widget.h index 3d909f7..541e2f1 100644 --- a/gladeui/glade-widget.h +++ b/gladeui/glade-widget.h @@ -398,9 +398,6 @@ void glade_widget_set_internal (GladeWidget *widget, const gchar *internal); G_CONST_RETURN gchar *glade_widget_get_internal (GladeWidget *widget); - -void glade_widget_set_object (GladeWidget *gwidget, - GObject *new_object); GObject *glade_widget_get_object (GladeWidget *widget); diff --git a/gladeui/glade.h b/gladeui/glade.h index 580fbc4..32ae7c7 100644 --- a/gladeui/glade.h +++ b/gladeui/glade.h @@ -37,7 +37,6 @@ #include #include #include -#include #include #include #include diff --git a/m4/python.m4 b/m4/python.m4 index 7684df9..cb38b05 100644 --- a/m4/python.m4 +++ b/m4/python.m4 @@ -45,9 +45,11 @@ AC_MSG_CHECKING(for headers required to compile python extensions) dnl deduce PYTHON_INCLUDES py_prefix=`$PYTHON -c "import sys; print sys.prefix"` py_exec_prefix=`$PYTHON -c "import sys; print sys.exec_prefix"` -PYTHON_INCLUDES="-I${py_prefix}/include/python${PYTHON_VERSION}" -if test "$py_prefix" != "$py_exec_prefix"; then - PYTHON_INCLUDES="$PYTHON_INCLUDES -I${py_exec_prefix}/include/python${PYTHON_VERSION}" +if test "x$PYTHON_INCLUDES" == x; then + PYTHON_INCLUDES="-I${py_prefix}/include/python${PYTHON_VERSION}" + if test "$py_prefix" != "$py_exec_prefix"; then + PYTHON_INCLUDES="$PYTHON_INCLUDES -I${py_exec_prefix}/include/python${PYTHON_VERSION}" + fi fi AC_SUBST(PYTHON_INCLUDES) dnl check if the headers exist: diff --git a/plugins/gnome/Makefile.am b/plugins/gnome/Makefile.am index c6be160..87e8932 100644 --- a/plugins/gnome/Makefile.am +++ b/plugins/gnome/Makefile.am @@ -11,8 +11,7 @@ gladegnome_LTLIBRARIES = libgladegnome.la gladegnomedir = $(pkglibdir)/modules libgladegnome_la_SOURCES = glade-gnome.c -libgladegnome_la_CPPFLAGS = $(AM_CPPFLAGS) -libgladegnome_la_CFLAGS = \ +libgladegnome_la_CPPFLAGS = \ -DG_LOG_DOMAIN=\"GladeUI-GNOME\" \ -I$(top_srcdir) \ -I$(top_builddir) \ @@ -20,6 +19,9 @@ libgladegnome_la_CFLAGS = \ $(GNOME_CFLAGS) \ $(PLUGINS_WARN_CFLAGS) \ $(AM_CPPFLAGS) + +libgladegnome_la_CFLAGS = \ + $(AM_CFLAGS) libgladegnome_la_LDFLAGS = -module -avoid-version $(GNOME_LIBS) $(AM_LDFLAGS) libgladegnome_la_LIBADD = $(libgladeui) $(GLADE_LIBS) diff --git a/plugins/gnome/Makefile.in b/plugins/gnome/Makefile.in index 1fd7496..f285b82 100644 --- a/plugins/gnome/Makefile.in +++ b/plugins/gnome/Makefile.in @@ -353,8 +353,7 @@ libgladeui = $(top_builddir)/gladeui/libgladeui-1.la gladegnome_LTLIBRARIES = libgladegnome.la gladegnomedir = $(pkglibdir)/modules libgladegnome_la_SOURCES = glade-gnome.c -libgladegnome_la_CPPFLAGS = $(AM_CPPFLAGS) -libgladegnome_la_CFLAGS = \ +libgladegnome_la_CPPFLAGS = \ -DG_LOG_DOMAIN=\"GladeUI-GNOME\" \ -I$(top_srcdir) \ -I$(top_builddir) \ @@ -363,6 +362,9 @@ libgladegnome_la_CFLAGS = \ $(PLUGINS_WARN_CFLAGS) \ $(AM_CPPFLAGS) +libgladegnome_la_CFLAGS = \ + $(AM_CFLAGS) + libgladegnome_la_LDFLAGS = -module -avoid-version $(GNOME_LIBS) \ $(AM_LDFLAGS) $(am__append_1) libgladegnome_la_LIBADD = $(libgladeui) $(GLADE_LIBS) diff --git a/plugins/gtk+/Makefile.am b/plugins/gtk+/Makefile.am index 032397d..8d21b7f 100644 --- a/plugins/gtk+/Makefile.am +++ b/plugins/gtk+/Makefile.am @@ -10,18 +10,15 @@ libgladeui = $(top_builddir)/gladeui/libgladeui-1.la gladegtk_LTLIBRARIES = libgladegtk.la gladegtkdir = $(pkglibdir)/modules -libgladegtk_la_CPPLAGS = \ +libgladegtk_la_CPPFLAGS = \ -I$(top_srcdir) \ -I$(top_builddir) \ - $(AM_CPPFLAGS) - -libgladegtk_la_CFLAGS = \ -DG_LOG_DOMAIN=\"GladeUI-GTK\" \ - -I$(top_srcdir) \ - -I$(top_builddir) \ $(GTK_CFLAGS) \ $(PLUGINS_WARN_CFLAGS) \ - $(AM_CFLAGS) + $(AM_CPPFLAGS) + +libgladegtk_la_CFLAGS = $(AM_CFLAGS) libgladegtk_la_SOURCES = glade-gtk.c glade-accels.c glade-attributes.c glade-convert.c fixed-bg.xpm \ glade-column-types.c glade-model-data.c glade-text-button.c \ diff --git a/plugins/gtk+/Makefile.in b/plugins/gtk+/Makefile.in index 478f932..bd79bb0 100644 --- a/plugins/gtk+/Makefile.in +++ b/plugins/gtk+/Makefile.in @@ -376,19 +376,15 @@ libgladeui = $(top_builddir)/gladeui/libgladeui-1.la # libgladegtk gladegtk_LTLIBRARIES = libgladegtk.la gladegtkdir = $(pkglibdir)/modules -libgladegtk_la_CPPLAGS = \ +libgladegtk_la_CPPFLAGS = \ -I$(top_srcdir) \ -I$(top_builddir) \ - $(AM_CPPFLAGS) - -libgladegtk_la_CFLAGS = \ -DG_LOG_DOMAIN=\"GladeUI-GTK\" \ - -I$(top_srcdir) \ - -I$(top_builddir) \ $(GTK_CFLAGS) \ $(PLUGINS_WARN_CFLAGS) \ - $(AM_CFLAGS) + $(AM_CPPFLAGS) +libgladegtk_la_CFLAGS = $(AM_CFLAGS) libgladegtk_la_SOURCES = glade-gtk.c glade-accels.c glade-attributes.c glade-convert.c fixed-bg.xpm \ glade-column-types.c glade-model-data.c glade-text-button.c \ glade-icon-sources.c glade-button-editor.c glade-tool-button-editor.c glade-image-editor.c \ @@ -530,156 +526,156 @@ distclean-compile: @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< libgladegtk_la-glade-gtk.lo: glade-gtk.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgladegtk_la_CFLAGS) $(CFLAGS) -MT libgladegtk_la-glade-gtk.lo -MD -MP -MF $(DEPDIR)/libgladegtk_la-glade-gtk.Tpo -c -o libgladegtk_la-glade-gtk.lo `test -f 'glade-gtk.c' || echo '$(srcdir)/'`glade-gtk.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgladegtk_la_CPPFLAGS) $(CPPFLAGS) $(libgladegtk_la_CFLAGS) $(CFLAGS) -MT libgladegtk_la-glade-gtk.lo -MD -MP -MF $(DEPDIR)/libgladegtk_la-glade-gtk.Tpo -c -o libgladegtk_la-glade-gtk.lo `test -f 'glade-gtk.c' || echo '$(srcdir)/'`glade-gtk.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgladegtk_la-glade-gtk.Tpo $(DEPDIR)/libgladegtk_la-glade-gtk.Plo @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='glade-gtk.c' object='libgladegtk_la-glade-gtk.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgladegtk_la_CFLAGS) $(CFLAGS) -c -o libgladegtk_la-glade-gtk.lo `test -f 'glade-gtk.c' || echo '$(srcdir)/'`glade-gtk.c +@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgladegtk_la_CPPFLAGS) $(CPPFLAGS) $(libgladegtk_la_CFLAGS) $(CFLAGS) -c -o libgladegtk_la-glade-gtk.lo `test -f 'glade-gtk.c' || echo '$(srcdir)/'`glade-gtk.c libgladegtk_la-glade-accels.lo: glade-accels.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgladegtk_la_CFLAGS) $(CFLAGS) -MT libgladegtk_la-glade-accels.lo -MD -MP -MF $(DEPDIR)/libgladegtk_la-glade-accels.Tpo -c -o libgladegtk_la-glade-accels.lo `test -f 'glade-accels.c' || echo '$(srcdir)/'`glade-accels.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgladegtk_la_CPPFLAGS) $(CPPFLAGS) $(libgladegtk_la_CFLAGS) $(CFLAGS) -MT libgladegtk_la-glade-accels.lo -MD -MP -MF $(DEPDIR)/libgladegtk_la-glade-accels.Tpo -c -o libgladegtk_la-glade-accels.lo `test -f 'glade-accels.c' || echo '$(srcdir)/'`glade-accels.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgladegtk_la-glade-accels.Tpo $(DEPDIR)/libgladegtk_la-glade-accels.Plo @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='glade-accels.c' object='libgladegtk_la-glade-accels.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgladegtk_la_CFLAGS) $(CFLAGS) -c -o libgladegtk_la-glade-accels.lo `test -f 'glade-accels.c' || echo '$(srcdir)/'`glade-accels.c +@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgladegtk_la_CPPFLAGS) $(CPPFLAGS) $(libgladegtk_la_CFLAGS) $(CFLAGS) -c -o libgladegtk_la-glade-accels.lo `test -f 'glade-accels.c' || echo '$(srcdir)/'`glade-accels.c libgladegtk_la-glade-attributes.lo: glade-attributes.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgladegtk_la_CFLAGS) $(CFLAGS) -MT libgladegtk_la-glade-attributes.lo -MD -MP -MF $(DEPDIR)/libgladegtk_la-glade-attributes.Tpo -c -o libgladegtk_la-glade-attributes.lo `test -f 'glade-attributes.c' || echo '$(srcdir)/'`glade-attributes.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgladegtk_la_CPPFLAGS) $(CPPFLAGS) $(libgladegtk_la_CFLAGS) $(CFLAGS) -MT libgladegtk_la-glade-attributes.lo -MD -MP -MF $(DEPDIR)/libgladegtk_la-glade-attributes.Tpo -c -o libgladegtk_la-glade-attributes.lo `test -f 'glade-attributes.c' || echo '$(srcdir)/'`glade-attributes.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgladegtk_la-glade-attributes.Tpo $(DEPDIR)/libgladegtk_la-glade-attributes.Plo @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='glade-attributes.c' object='libgladegtk_la-glade-attributes.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgladegtk_la_CFLAGS) $(CFLAGS) -c -o libgladegtk_la-glade-attributes.lo `test -f 'glade-attributes.c' || echo '$(srcdir)/'`glade-attributes.c +@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgladegtk_la_CPPFLAGS) $(CPPFLAGS) $(libgladegtk_la_CFLAGS) $(CFLAGS) -c -o libgladegtk_la-glade-attributes.lo `test -f 'glade-attributes.c' || echo '$(srcdir)/'`glade-attributes.c libgladegtk_la-glade-convert.lo: glade-convert.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgladegtk_la_CFLAGS) $(CFLAGS) -MT libgladegtk_la-glade-convert.lo -MD -MP -MF $(DEPDIR)/libgladegtk_la-glade-convert.Tpo -c -o libgladegtk_la-glade-convert.lo `test -f 'glade-convert.c' || echo '$(srcdir)/'`glade-convert.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgladegtk_la_CPPFLAGS) $(CPPFLAGS) $(libgladegtk_la_CFLAGS) $(CFLAGS) -MT libgladegtk_la-glade-convert.lo -MD -MP -MF $(DEPDIR)/libgladegtk_la-glade-convert.Tpo -c -o libgladegtk_la-glade-convert.lo `test -f 'glade-convert.c' || echo '$(srcdir)/'`glade-convert.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgladegtk_la-glade-convert.Tpo $(DEPDIR)/libgladegtk_la-glade-convert.Plo @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='glade-convert.c' object='libgladegtk_la-glade-convert.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgladegtk_la_CFLAGS) $(CFLAGS) -c -o libgladegtk_la-glade-convert.lo `test -f 'glade-convert.c' || echo '$(srcdir)/'`glade-convert.c +@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgladegtk_la_CPPFLAGS) $(CPPFLAGS) $(libgladegtk_la_CFLAGS) $(CFLAGS) -c -o libgladegtk_la-glade-convert.lo `test -f 'glade-convert.c' || echo '$(srcdir)/'`glade-convert.c libgladegtk_la-glade-column-types.lo: glade-column-types.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgladegtk_la_CFLAGS) $(CFLAGS) -MT libgladegtk_la-glade-column-types.lo -MD -MP -MF $(DEPDIR)/libgladegtk_la-glade-column-types.Tpo -c -o libgladegtk_la-glade-column-types.lo `test -f 'glade-column-types.c' || echo '$(srcdir)/'`glade-column-types.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgladegtk_la_CPPFLAGS) $(CPPFLAGS) $(libgladegtk_la_CFLAGS) $(CFLAGS) -MT libgladegtk_la-glade-column-types.lo -MD -MP -MF $(DEPDIR)/libgladegtk_la-glade-column-types.Tpo -c -o libgladegtk_la-glade-column-types.lo `test -f 'glade-column-types.c' || echo '$(srcdir)/'`glade-column-types.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgladegtk_la-glade-column-types.Tpo $(DEPDIR)/libgladegtk_la-glade-column-types.Plo @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='glade-column-types.c' object='libgladegtk_la-glade-column-types.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgladegtk_la_CFLAGS) $(CFLAGS) -c -o libgladegtk_la-glade-column-types.lo `test -f 'glade-column-types.c' || echo '$(srcdir)/'`glade-column-types.c +@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgladegtk_la_CPPFLAGS) $(CPPFLAGS) $(libgladegtk_la_CFLAGS) $(CFLAGS) -c -o libgladegtk_la-glade-column-types.lo `test -f 'glade-column-types.c' || echo '$(srcdir)/'`glade-column-types.c libgladegtk_la-glade-model-data.lo: glade-model-data.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgladegtk_la_CFLAGS) $(CFLAGS) -MT libgladegtk_la-glade-model-data.lo -MD -MP -MF $(DEPDIR)/libgladegtk_la-glade-model-data.Tpo -c -o libgladegtk_la-glade-model-data.lo `test -f 'glade-model-data.c' || echo '$(srcdir)/'`glade-model-data.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgladegtk_la_CPPFLAGS) $(CPPFLAGS) $(libgladegtk_la_CFLAGS) $(CFLAGS) -MT libgladegtk_la-glade-model-data.lo -MD -MP -MF $(DEPDIR)/libgladegtk_la-glade-model-data.Tpo -c -o libgladegtk_la-glade-model-data.lo `test -f 'glade-model-data.c' || echo '$(srcdir)/'`glade-model-data.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgladegtk_la-glade-model-data.Tpo $(DEPDIR)/libgladegtk_la-glade-model-data.Plo @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='glade-model-data.c' object='libgladegtk_la-glade-model-data.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgladegtk_la_CFLAGS) $(CFLAGS) -c -o libgladegtk_la-glade-model-data.lo `test -f 'glade-model-data.c' || echo '$(srcdir)/'`glade-model-data.c +@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgladegtk_la_CPPFLAGS) $(CPPFLAGS) $(libgladegtk_la_CFLAGS) $(CFLAGS) -c -o libgladegtk_la-glade-model-data.lo `test -f 'glade-model-data.c' || echo '$(srcdir)/'`glade-model-data.c libgladegtk_la-glade-text-button.lo: glade-text-button.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgladegtk_la_CFLAGS) $(CFLAGS) -MT libgladegtk_la-glade-text-button.lo -MD -MP -MF $(DEPDIR)/libgladegtk_la-glade-text-button.Tpo -c -o libgladegtk_la-glade-text-button.lo `test -f 'glade-text-button.c' || echo '$(srcdir)/'`glade-text-button.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgladegtk_la_CPPFLAGS) $(CPPFLAGS) $(libgladegtk_la_CFLAGS) $(CFLAGS) -MT libgladegtk_la-glade-text-button.lo -MD -MP -MF $(DEPDIR)/libgladegtk_la-glade-text-button.Tpo -c -o libgladegtk_la-glade-text-button.lo `test -f 'glade-text-button.c' || echo '$(srcdir)/'`glade-text-button.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgladegtk_la-glade-text-button.Tpo $(DEPDIR)/libgladegtk_la-glade-text-button.Plo @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='glade-text-button.c' object='libgladegtk_la-glade-text-button.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgladegtk_la_CFLAGS) $(CFLAGS) -c -o libgladegtk_la-glade-text-button.lo `test -f 'glade-text-button.c' || echo '$(srcdir)/'`glade-text-button.c +@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgladegtk_la_CPPFLAGS) $(CPPFLAGS) $(libgladegtk_la_CFLAGS) $(CFLAGS) -c -o libgladegtk_la-glade-text-button.lo `test -f 'glade-text-button.c' || echo '$(srcdir)/'`glade-text-button.c libgladegtk_la-glade-icon-sources.lo: glade-icon-sources.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgladegtk_la_CFLAGS) $(CFLAGS) -MT libgladegtk_la-glade-icon-sources.lo -MD -MP -MF $(DEPDIR)/libgladegtk_la-glade-icon-sources.Tpo -c -o libgladegtk_la-glade-icon-sources.lo `test -f 'glade-icon-sources.c' || echo '$(srcdir)/'`glade-icon-sources.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgladegtk_la_CPPFLAGS) $(CPPFLAGS) $(libgladegtk_la_CFLAGS) $(CFLAGS) -MT libgladegtk_la-glade-icon-sources.lo -MD -MP -MF $(DEPDIR)/libgladegtk_la-glade-icon-sources.Tpo -c -o libgladegtk_la-glade-icon-sources.lo `test -f 'glade-icon-sources.c' || echo '$(srcdir)/'`glade-icon-sources.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgladegtk_la-glade-icon-sources.Tpo $(DEPDIR)/libgladegtk_la-glade-icon-sources.Plo @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='glade-icon-sources.c' object='libgladegtk_la-glade-icon-sources.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgladegtk_la_CFLAGS) $(CFLAGS) -c -o libgladegtk_la-glade-icon-sources.lo `test -f 'glade-icon-sources.c' || echo '$(srcdir)/'`glade-icon-sources.c +@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgladegtk_la_CPPFLAGS) $(CPPFLAGS) $(libgladegtk_la_CFLAGS) $(CFLAGS) -c -o libgladegtk_la-glade-icon-sources.lo `test -f 'glade-icon-sources.c' || echo '$(srcdir)/'`glade-icon-sources.c libgladegtk_la-glade-button-editor.lo: glade-button-editor.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgladegtk_la_CFLAGS) $(CFLAGS) -MT libgladegtk_la-glade-button-editor.lo -MD -MP -MF $(DEPDIR)/libgladegtk_la-glade-button-editor.Tpo -c -o libgladegtk_la-glade-button-editor.lo `test -f 'glade-button-editor.c' || echo '$(srcdir)/'`glade-button-editor.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgladegtk_la_CPPFLAGS) $(CPPFLAGS) $(libgladegtk_la_CFLAGS) $(CFLAGS) -MT libgladegtk_la-glade-button-editor.lo -MD -MP -MF $(DEPDIR)/libgladegtk_la-glade-button-editor.Tpo -c -o libgladegtk_la-glade-button-editor.lo `test -f 'glade-button-editor.c' || echo '$(srcdir)/'`glade-button-editor.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgladegtk_la-glade-button-editor.Tpo $(DEPDIR)/libgladegtk_la-glade-button-editor.Plo @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='glade-button-editor.c' object='libgladegtk_la-glade-button-editor.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgladegtk_la_CFLAGS) $(CFLAGS) -c -o libgladegtk_la-glade-button-editor.lo `test -f 'glade-button-editor.c' || echo '$(srcdir)/'`glade-button-editor.c +@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgladegtk_la_CPPFLAGS) $(CPPFLAGS) $(libgladegtk_la_CFLAGS) $(CFLAGS) -c -o libgladegtk_la-glade-button-editor.lo `test -f 'glade-button-editor.c' || echo '$(srcdir)/'`glade-button-editor.c libgladegtk_la-glade-tool-button-editor.lo: glade-tool-button-editor.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgladegtk_la_CFLAGS) $(CFLAGS) -MT libgladegtk_la-glade-tool-button-editor.lo -MD -MP -MF $(DEPDIR)/libgladegtk_la-glade-tool-button-editor.Tpo -c -o libgladegtk_la-glade-tool-button-editor.lo `test -f 'glade-tool-button-editor.c' || echo '$(srcdir)/'`glade-tool-button-editor.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgladegtk_la_CPPFLAGS) $(CPPFLAGS) $(libgladegtk_la_CFLAGS) $(CFLAGS) -MT libgladegtk_la-glade-tool-button-editor.lo -MD -MP -MF $(DEPDIR)/libgladegtk_la-glade-tool-button-editor.Tpo -c -o libgladegtk_la-glade-tool-button-editor.lo `test -f 'glade-tool-button-editor.c' || echo '$(srcdir)/'`glade-tool-button-editor.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgladegtk_la-glade-tool-button-editor.Tpo $(DEPDIR)/libgladegtk_la-glade-tool-button-editor.Plo @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='glade-tool-button-editor.c' object='libgladegtk_la-glade-tool-button-editor.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgladegtk_la_CFLAGS) $(CFLAGS) -c -o libgladegtk_la-glade-tool-button-editor.lo `test -f 'glade-tool-button-editor.c' || echo '$(srcdir)/'`glade-tool-button-editor.c +@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgladegtk_la_CPPFLAGS) $(CPPFLAGS) $(libgladegtk_la_CFLAGS) $(CFLAGS) -c -o libgladegtk_la-glade-tool-button-editor.lo `test -f 'glade-tool-button-editor.c' || echo '$(srcdir)/'`glade-tool-button-editor.c libgladegtk_la-glade-image-editor.lo: glade-image-editor.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgladegtk_la_CFLAGS) $(CFLAGS) -MT libgladegtk_la-glade-image-editor.lo -MD -MP -MF $(DEPDIR)/libgladegtk_la-glade-image-editor.Tpo -c -o libgladegtk_la-glade-image-editor.lo `test -f 'glade-image-editor.c' || echo '$(srcdir)/'`glade-image-editor.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgladegtk_la_CPPFLAGS) $(CPPFLAGS) $(libgladegtk_la_CFLAGS) $(CFLAGS) -MT libgladegtk_la-glade-image-editor.lo -MD -MP -MF $(DEPDIR)/libgladegtk_la-glade-image-editor.Tpo -c -o libgladegtk_la-glade-image-editor.lo `test -f 'glade-image-editor.c' || echo '$(srcdir)/'`glade-image-editor.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgladegtk_la-glade-image-editor.Tpo $(DEPDIR)/libgladegtk_la-glade-image-editor.Plo @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='glade-image-editor.c' object='libgladegtk_la-glade-image-editor.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgladegtk_la_CFLAGS) $(CFLAGS) -c -o libgladegtk_la-glade-image-editor.lo `test -f 'glade-image-editor.c' || echo '$(srcdir)/'`glade-image-editor.c +@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgladegtk_la_CPPFLAGS) $(CPPFLAGS) $(libgladegtk_la_CFLAGS) $(CFLAGS) -c -o libgladegtk_la-glade-image-editor.lo `test -f 'glade-image-editor.c' || echo '$(srcdir)/'`glade-image-editor.c libgladegtk_la-glade-image-item-editor.lo: glade-image-item-editor.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgladegtk_la_CFLAGS) $(CFLAGS) -MT libgladegtk_la-glade-image-item-editor.lo -MD -MP -MF $(DEPDIR)/libgladegtk_la-glade-image-item-editor.Tpo -c -o libgladegtk_la-glade-image-item-editor.lo `test -f 'glade-image-item-editor.c' || echo '$(srcdir)/'`glade-image-item-editor.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgladegtk_la_CPPFLAGS) $(CPPFLAGS) $(libgladegtk_la_CFLAGS) $(CFLAGS) -MT libgladegtk_la-glade-image-item-editor.lo -MD -MP -MF $(DEPDIR)/libgladegtk_la-glade-image-item-editor.Tpo -c -o libgladegtk_la-glade-image-item-editor.lo `test -f 'glade-image-item-editor.c' || echo '$(srcdir)/'`glade-image-item-editor.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgladegtk_la-glade-image-item-editor.Tpo $(DEPDIR)/libgladegtk_la-glade-image-item-editor.Plo @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='glade-image-item-editor.c' object='libgladegtk_la-glade-image-item-editor.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgladegtk_la_CFLAGS) $(CFLAGS) -c -o libgladegtk_la-glade-image-item-editor.lo `test -f 'glade-image-item-editor.c' || echo '$(srcdir)/'`glade-image-item-editor.c +@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgladegtk_la_CPPFLAGS) $(CPPFLAGS) $(libgladegtk_la_CFLAGS) $(CFLAGS) -c -o libgladegtk_la-glade-image-item-editor.lo `test -f 'glade-image-item-editor.c' || echo '$(srcdir)/'`glade-image-item-editor.c libgladegtk_la-glade-icon-factory-editor.lo: glade-icon-factory-editor.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgladegtk_la_CFLAGS) $(CFLAGS) -MT libgladegtk_la-glade-icon-factory-editor.lo -MD -MP -MF $(DEPDIR)/libgladegtk_la-glade-icon-factory-editor.Tpo -c -o libgladegtk_la-glade-icon-factory-editor.lo `test -f 'glade-icon-factory-editor.c' || echo '$(srcdir)/'`glade-icon-factory-editor.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgladegtk_la_CPPFLAGS) $(CPPFLAGS) $(libgladegtk_la_CFLAGS) $(CFLAGS) -MT libgladegtk_la-glade-icon-factory-editor.lo -MD -MP -MF $(DEPDIR)/libgladegtk_la-glade-icon-factory-editor.Tpo -c -o libgladegtk_la-glade-icon-factory-editor.lo `test -f 'glade-icon-factory-editor.c' || echo '$(srcdir)/'`glade-icon-factory-editor.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgladegtk_la-glade-icon-factory-editor.Tpo $(DEPDIR)/libgladegtk_la-glade-icon-factory-editor.Plo @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='glade-icon-factory-editor.c' object='libgladegtk_la-glade-icon-factory-editor.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgladegtk_la_CFLAGS) $(CFLAGS) -c -o libgladegtk_la-glade-icon-factory-editor.lo `test -f 'glade-icon-factory-editor.c' || echo '$(srcdir)/'`glade-icon-factory-editor.c +@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgladegtk_la_CPPFLAGS) $(CPPFLAGS) $(libgladegtk_la_CFLAGS) $(CFLAGS) -c -o libgladegtk_la-glade-icon-factory-editor.lo `test -f 'glade-icon-factory-editor.c' || echo '$(srcdir)/'`glade-icon-factory-editor.c libgladegtk_la-glade-store-editor.lo: glade-store-editor.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgladegtk_la_CFLAGS) $(CFLAGS) -MT libgladegtk_la-glade-store-editor.lo -MD -MP -MF $(DEPDIR)/libgladegtk_la-glade-store-editor.Tpo -c -o libgladegtk_la-glade-store-editor.lo `test -f 'glade-store-editor.c' || echo '$(srcdir)/'`glade-store-editor.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgladegtk_la_CPPFLAGS) $(CPPFLAGS) $(libgladegtk_la_CFLAGS) $(CFLAGS) -MT libgladegtk_la-glade-store-editor.lo -MD -MP -MF $(DEPDIR)/libgladegtk_la-glade-store-editor.Tpo -c -o libgladegtk_la-glade-store-editor.lo `test -f 'glade-store-editor.c' || echo '$(srcdir)/'`glade-store-editor.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgladegtk_la-glade-store-editor.Tpo $(DEPDIR)/libgladegtk_la-glade-store-editor.Plo @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='glade-store-editor.c' object='libgladegtk_la-glade-store-editor.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgladegtk_la_CFLAGS) $(CFLAGS) -c -o libgladegtk_la-glade-store-editor.lo `test -f 'glade-store-editor.c' || echo '$(srcdir)/'`glade-store-editor.c +@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgladegtk_la_CPPFLAGS) $(CPPFLAGS) $(libgladegtk_la_CFLAGS) $(CFLAGS) -c -o libgladegtk_la-glade-store-editor.lo `test -f 'glade-store-editor.c' || echo '$(srcdir)/'`glade-store-editor.c libgladegtk_la-glade-label-editor.lo: glade-label-editor.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgladegtk_la_CFLAGS) $(CFLAGS) -MT libgladegtk_la-glade-label-editor.lo -MD -MP -MF $(DEPDIR)/libgladegtk_la-glade-label-editor.Tpo -c -o libgladegtk_la-glade-label-editor.lo `test -f 'glade-label-editor.c' || echo '$(srcdir)/'`glade-label-editor.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgladegtk_la_CPPFLAGS) $(CPPFLAGS) $(libgladegtk_la_CFLAGS) $(CFLAGS) -MT libgladegtk_la-glade-label-editor.lo -MD -MP -MF $(DEPDIR)/libgladegtk_la-glade-label-editor.Tpo -c -o libgladegtk_la-glade-label-editor.lo `test -f 'glade-label-editor.c' || echo '$(srcdir)/'`glade-label-editor.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgladegtk_la-glade-label-editor.Tpo $(DEPDIR)/libgladegtk_la-glade-label-editor.Plo @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='glade-label-editor.c' object='libgladegtk_la-glade-label-editor.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgladegtk_la_CFLAGS) $(CFLAGS) -c -o libgladegtk_la-glade-label-editor.lo `test -f 'glade-label-editor.c' || echo '$(srcdir)/'`glade-label-editor.c +@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgladegtk_la_CPPFLAGS) $(CPPFLAGS) $(libgladegtk_la_CFLAGS) $(CFLAGS) -c -o libgladegtk_la-glade-label-editor.lo `test -f 'glade-label-editor.c' || echo '$(srcdir)/'`glade-label-editor.c libgladegtk_la-glade-cell-renderer-editor.lo: glade-cell-renderer-editor.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgladegtk_la_CFLAGS) $(CFLAGS) -MT libgladegtk_la-glade-cell-renderer-editor.lo -MD -MP -MF $(DEPDIR)/libgladegtk_la-glade-cell-renderer-editor.Tpo -c -o libgladegtk_la-glade-cell-renderer-editor.lo `test -f 'glade-cell-renderer-editor.c' || echo '$(srcdir)/'`glade-cell-renderer-editor.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgladegtk_la_CPPFLAGS) $(CPPFLAGS) $(libgladegtk_la_CFLAGS) $(CFLAGS) -MT libgladegtk_la-glade-cell-renderer-editor.lo -MD -MP -MF $(DEPDIR)/libgladegtk_la-glade-cell-renderer-editor.Tpo -c -o libgladegtk_la-glade-cell-renderer-editor.lo `test -f 'glade-cell-renderer-editor.c' || echo '$(srcdir)/'`glade-cell-renderer-editor.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgladegtk_la-glade-cell-renderer-editor.Tpo $(DEPDIR)/libgladegtk_la-glade-cell-renderer-editor.Plo @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='glade-cell-renderer-editor.c' object='libgladegtk_la-glade-cell-renderer-editor.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgladegtk_la_CFLAGS) $(CFLAGS) -c -o libgladegtk_la-glade-cell-renderer-editor.lo `test -f 'glade-cell-renderer-editor.c' || echo '$(srcdir)/'`glade-cell-renderer-editor.c +@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgladegtk_la_CPPFLAGS) $(CPPFLAGS) $(libgladegtk_la_CFLAGS) $(CFLAGS) -c -o libgladegtk_la-glade-cell-renderer-editor.lo `test -f 'glade-cell-renderer-editor.c' || echo '$(srcdir)/'`glade-cell-renderer-editor.c libgladegtk_la-glade-treeview-editor.lo: glade-treeview-editor.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgladegtk_la_CFLAGS) $(CFLAGS) -MT libgladegtk_la-glade-treeview-editor.lo -MD -MP -MF $(DEPDIR)/libgladegtk_la-glade-treeview-editor.Tpo -c -o libgladegtk_la-glade-treeview-editor.lo `test -f 'glade-treeview-editor.c' || echo '$(srcdir)/'`glade-treeview-editor.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgladegtk_la_CPPFLAGS) $(CPPFLAGS) $(libgladegtk_la_CFLAGS) $(CFLAGS) -MT libgladegtk_la-glade-treeview-editor.lo -MD -MP -MF $(DEPDIR)/libgladegtk_la-glade-treeview-editor.Tpo -c -o libgladegtk_la-glade-treeview-editor.lo `test -f 'glade-treeview-editor.c' || echo '$(srcdir)/'`glade-treeview-editor.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgladegtk_la-glade-treeview-editor.Tpo $(DEPDIR)/libgladegtk_la-glade-treeview-editor.Plo @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='glade-treeview-editor.c' object='libgladegtk_la-glade-treeview-editor.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgladegtk_la_CFLAGS) $(CFLAGS) -c -o libgladegtk_la-glade-treeview-editor.lo `test -f 'glade-treeview-editor.c' || echo '$(srcdir)/'`glade-treeview-editor.c +@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgladegtk_la_CPPFLAGS) $(CPPFLAGS) $(libgladegtk_la_CFLAGS) $(CFLAGS) -c -o libgladegtk_la-glade-treeview-editor.lo `test -f 'glade-treeview-editor.c' || echo '$(srcdir)/'`glade-treeview-editor.c libgladegtk_la-glade-entry-editor.lo: glade-entry-editor.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgladegtk_la_CFLAGS) $(CFLAGS) -MT libgladegtk_la-glade-entry-editor.lo -MD -MP -MF $(DEPDIR)/libgladegtk_la-glade-entry-editor.Tpo -c -o libgladegtk_la-glade-entry-editor.lo `test -f 'glade-entry-editor.c' || echo '$(srcdir)/'`glade-entry-editor.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgladegtk_la_CPPFLAGS) $(CPPFLAGS) $(libgladegtk_la_CFLAGS) $(CFLAGS) -MT libgladegtk_la-glade-entry-editor.lo -MD -MP -MF $(DEPDIR)/libgladegtk_la-glade-entry-editor.Tpo -c -o libgladegtk_la-glade-entry-editor.lo `test -f 'glade-entry-editor.c' || echo '$(srcdir)/'`glade-entry-editor.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgladegtk_la-glade-entry-editor.Tpo $(DEPDIR)/libgladegtk_la-glade-entry-editor.Plo @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='glade-entry-editor.c' object='libgladegtk_la-glade-entry-editor.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgladegtk_la_CFLAGS) $(CFLAGS) -c -o libgladegtk_la-glade-entry-editor.lo `test -f 'glade-entry-editor.c' || echo '$(srcdir)/'`glade-entry-editor.c +@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgladegtk_la_CPPFLAGS) $(CPPFLAGS) $(libgladegtk_la_CFLAGS) $(CFLAGS) -c -o libgladegtk_la-glade-entry-editor.lo `test -f 'glade-entry-editor.c' || echo '$(srcdir)/'`glade-entry-editor.c libgladegtk_la-glade-activatable-editor.lo: glade-activatable-editor.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgladegtk_la_CFLAGS) $(CFLAGS) -MT libgladegtk_la-glade-activatable-editor.lo -MD -MP -MF $(DEPDIR)/libgladegtk_la-glade-activatable-editor.Tpo -c -o libgladegtk_la-glade-activatable-editor.lo `test -f 'glade-activatable-editor.c' || echo '$(srcdir)/'`glade-activatable-editor.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgladegtk_la_CPPFLAGS) $(CPPFLAGS) $(libgladegtk_la_CFLAGS) $(CFLAGS) -MT libgladegtk_la-glade-activatable-editor.lo -MD -MP -MF $(DEPDIR)/libgladegtk_la-glade-activatable-editor.Tpo -c -o libgladegtk_la-glade-activatable-editor.lo `test -f 'glade-activatable-editor.c' || echo '$(srcdir)/'`glade-activatable-editor.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libgladegtk_la-glade-activatable-editor.Tpo $(DEPDIR)/libgladegtk_la-glade-activatable-editor.Plo @am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='glade-activatable-editor.c' object='libgladegtk_la-glade-activatable-editor.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgladegtk_la_CFLAGS) $(CFLAGS) -c -o libgladegtk_la-glade-activatable-editor.lo `test -f 'glade-activatable-editor.c' || echo '$(srcdir)/'`glade-activatable-editor.c +@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgladegtk_la_CPPFLAGS) $(CPPFLAGS) $(libgladegtk_la_CFLAGS) $(CFLAGS) -c -o libgladegtk_la-glade-activatable-editor.lo `test -f 'glade-activatable-editor.c' || echo '$(srcdir)/'`glade-activatable-editor.c mostlyclean-libtool: -rm -f *.lo diff --git a/plugins/gtk+/glade-attributes.c b/plugins/gtk+/glade-attributes.c index 0d945a5..0d4f7fc 100755 --- a/plugins/gtk+/glade-attributes.c +++ b/plugins/gtk+/glade-attributes.c @@ -474,11 +474,14 @@ glade_gtk_string_from_attr (GladeAttribute *gattr) break; /* PangoAttrFloat */ - case PANGO_ATTR_SCALE: + case PANGO_ATTR_SCALE: { /* doubles */ + gchar buf[G_ASCII_DTOSTR_BUF_SIZE]; + fval = g_value_get_double (&(gattr->value)); - ret = g_strdup_printf ("%f", fval); + ret = g_strdup (g_ascii_dtostr (buf, sizeof (buf), fval)); break; + } /* PangoAttrColor */ case PANGO_ATTR_FOREGROUND: @@ -579,7 +582,7 @@ glade_gtk_attribute_from_string (PangoAttrType type, case PANGO_ATTR_SCALE: /* doubles */ g_value_init (&(gattr->value), G_TYPE_DOUBLE); - g_value_set_double (&(gattr->value), strtod (strval, NULL)); + g_value_set_double (&(gattr->value), g_ascii_strtod (strval, NULL)); break; /* PangoAttrColor */ diff --git a/plugins/gtk+/glade-column-types.c b/plugins/gtk+/glade-column-types.c index 8b3b72b..91fffe1 100644 --- a/plugins/gtk+/glade-column-types.c +++ b/plugins/gtk+/glade-column-types.c @@ -145,18 +145,28 @@ glade_column_list_copy (GList *list) for (l = list; l; l = g_list_next (l)) { - GladeColumnType *new_data = g_slice_new0 (GladeColumnType); GladeColumnType *data = l->data; - - new_data->type_name = g_strdup (data->type_name); - new_data->column_name = g_strdup (data->column_name); - + GladeColumnType *new_data = + glade_column_type_new (data->type_name, data->column_name); + retval = g_list_prepend (retval, new_data); } return g_list_reverse (retval); } +GladeColumnType * +glade_column_type_new (const gchar *type_name, + const gchar *column_name) +{ + GladeColumnType *column = g_slice_new0 (GladeColumnType); + + column->type_name = g_strdup (type_name); + column->column_name = g_strdup (column_name); + + return column; +} + void glade_column_type_free (GladeColumnType *column) { @@ -323,9 +333,7 @@ eprop_column_append (GladeEditorProperty *eprop, if (columns) columns = glade_column_list_copy (columns); - data = g_slice_new0 (GladeColumnType); - data->column_name = g_strdup (column_name); - data->type_name = g_strdup (type_name); + data = glade_column_type_new (type_name, column_name); columns = g_list_append (columns, data); diff --git a/plugins/gtk+/glade-column-types.h b/plugins/gtk+/glade-column-types.h index f2c3fbc..1f818fe 100644 --- a/plugins/gtk+/glade-column-types.h +++ b/plugins/gtk+/glade-column-types.h @@ -41,6 +41,8 @@ GType glade_eprop_column_types_get_type (void) G_GNUC_CONST; void glade_column_list_free (GList *list); GList *glade_column_list_copy (GList *list); +GladeColumnType *glade_column_type_new (const gchar *type_name, + const gchar *column_name); void glade_column_type_free (GladeColumnType *column); GladeColumnType *glade_column_list_find_column (GList *list, const gchar *column_name); diff --git a/plugins/gtk+/glade-gtk.c b/plugins/gtk+/glade-gtk.c index d5c02bf..30c6a43 100644 --- a/plugins/gtk+/glade-gtk.c +++ b/plugins/gtk+/glade-gtk.c @@ -61,7 +61,7 @@ #define MNEMONIC_INSENSITIVE_MSG _("This property does not apply unless Use Underline is set.") #define NOT_SELECTED_MSG _("Property not selected") #define RESPID_INSENSITIVE_MSG _("This property is only for use in dialog action buttons") -#define ACTION_APPEARANCE_MSG _("This property is set to be controled by an Action") +#define ACTION_APPEARANCE_MSG _("This property is set to be controlled by an Action") /* -------------------------------- ParamSpecs ------------------------------ */ /* GtkImageMenuItem GnomeUI "stock_item" property special case: @@ -1411,7 +1411,6 @@ glade_gtk_container_get_child_property (GladeWidgetAdaptor *adaptor, property_name, value); } - GList * glade_gtk_container_get_children (GladeWidgetAdaptor *adaptor, GtkContainer *container) @@ -1701,6 +1700,15 @@ sort_box_children (GtkWidget *widget_a, GtkWidget *widget_b) return position_a - position_b; } +GList * +glade_gtk_box_get_children (GladeWidgetAdaptor *adaptor, + GtkContainer *container) +{ + GList *children = glade_util_container_get_all_children (container); + + return g_list_sort (children, (GCompareFunc)sort_box_children); +} + void glade_gtk_box_set_child_property (GladeWidgetAdaptor *adaptor, GObject *container, @@ -1736,7 +1744,6 @@ glade_gtk_box_set_child_property (GladeWidgetAdaptor *adaptor, /* Get the real value */ new_position = g_value_get_int (value); - } if (is_position && recursion == FALSE) @@ -1816,7 +1823,6 @@ glade_gtk_box_set_child_property (GladeWidgetAdaptor *adaptor, } - void glade_gtk_box_get_property (GladeWidgetAdaptor *adaptor, GObject *object, @@ -1855,7 +1861,7 @@ glade_gtk_box_get_first_blank (GtkBox *box) { gint gwidget_position; GladeProperty *property = - glade_widget_get_property (gwidget, "position"); + glade_widget_get_pack_property (gwidget, "position"); gwidget_position = g_value_get_int (property->value); if (gwidget_position > position) @@ -5935,27 +5941,18 @@ glade_gtk_color_button_set_property (GladeWidgetAdaptor *adaptor, } -/* ----------------------------- GtkButton ------------------------------ */ - -static void -sync_use_appearance (GladeWidget *gwidget) +/* ----------------------------- GtkActivatable ------------------------------ */ +static void +activatable_parse_finished (GladeProject *project, + GladeWidget *widget) { - GladeProperty *prop = glade_widget_get_property (gwidget, "use-action-appearance"); - gboolean use_appearance = FALSE; + GObject *related_action = NULL; - /* This is the kind of thing we avoid doing at project load time ;-) */ - if (glade_widget_superuser ()) - return; - - glade_property_get (prop, &use_appearance); - if (use_appearance) - { - glade_property_set (prop, FALSE); - glade_property_set (prop, TRUE); - } + glade_widget_property_get (widget, "related-action", &related_action); + if (related_action == NULL) + glade_widget_property_set (widget, "use-action-appearance", FALSE); } -/* shared between menuitems and toolitems too */ static void evaluate_activatable_property_sensitivity (GObject *object, const gchar *id, @@ -6015,6 +6012,25 @@ evaluate_activatable_property_sensitivity (GObject *object, } } +/* ----------------------------- GtkButton ------------------------------ */ +static void +sync_use_appearance (GladeWidget *gwidget) +{ + GladeProperty *prop = glade_widget_get_property (gwidget, "use-action-appearance"); + gboolean use_appearance = FALSE; + + /* This is the kind of thing we avoid doing at project load time ;-) */ + if (glade_widget_superuser ()) + return; + + glade_property_get (prop, &use_appearance); + if (use_appearance) + { + glade_property_set (prop, FALSE); + glade_property_set (prop, TRUE); + } +} + GladeEditable * glade_gtk_button_create_editable (GladeWidgetAdaptor *adaptor, GladeEditorPageType type) @@ -6055,6 +6071,11 @@ glade_gtk_button_post_create (GladeWidgetAdaptor *adaptor, glade_widget_property_set_sensitive (gbutton, "response-id", FALSE, RESPID_INSENSITIVE_MSG); glade_widget_property_set_enabled (gbutton, "response-id", FALSE); + + if (reason == GLADE_CREATE_LOAD) + g_signal_connect (G_OBJECT (gbutton->project), "parse-finished", + G_CALLBACK (activatable_parse_finished), + gbutton); } void @@ -6875,8 +6896,8 @@ glade_gtk_menu_item_action_activate (GladeWidgetAdaptor *adaptor, if (shell) gtk_menu_shell_deactivate (GTK_MENU_SHELL (shell)); -} +} GObject * glade_gtk_menu_item_constructor (GType type, @@ -6914,6 +6935,11 @@ glade_gtk_menu_item_post_create (GladeWidgetAdaptor *adaptor, gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5); gtk_container_add (GTK_CONTAINER (object), label); } + + if (reason == GLADE_CREATE_LOAD) + g_signal_connect (G_OBJECT (gitem->project), "parse-finished", + G_CALLBACK (activatable_parse_finished), + gitem); } GList * @@ -7859,7 +7885,7 @@ glade_gtk_tool_item_post_create (GladeWidgetAdaptor *adaptor, GObject *object, GladeCreateReason reason) { - g_return_if_fail (GTK_IS_TOOL_ITEM (object)); + GladeWidget *gitem = glade_widget_get_from_gobject (object); if (GTK_IS_SEPARATOR_TOOL_ITEM (object)) return; @@ -7867,6 +7893,11 @@ glade_gtk_tool_item_post_create (GladeWidgetAdaptor *adaptor, gtk_bin_get_child (GTK_BIN (object)) == NULL) gtk_container_add (GTK_CONTAINER (object), glade_placeholder_new ()); + + if (reason == GLADE_CREATE_LOAD) + g_signal_connect (G_OBJECT (gitem->project), "parse-finished", + G_CALLBACK (activatable_parse_finished), + gitem); } void @@ -7878,7 +7909,8 @@ glade_gtk_tool_item_set_property (GladeWidgetAdaptor *adaptor, GladeWidget *gwidget = glade_widget_get_from_gobject (object); GladeProperty *property = glade_widget_get_property (gwidget, id); - //evaluate_activatable_property_sensitivity (object, id, value); + evaluate_activatable_property_sensitivity (object, id, value); + if (GPC_VERSION_CHECK (property->klass, gtk_major_version, gtk_minor_version + 1)) GWA_GET_CLASS (GTK_TYPE_CONTAINER)->set_property (adaptor, object, @@ -9080,8 +9112,11 @@ glade_gtk_spin_button_set_adjustment (GObject *object, const GValue *value) { GladeWidget *gadj = glade_widget_get_from_gobject (adj); - /* Silently set any spin-button adjustment page size to 0 */ - glade_widget_property_set (gadj, "page-size", 0.0F); + /* It can be with an old file the GladeWidget is not built yet at load time */ + if (gadj) + /* Silently set any spin-button adjustment page size to 0 */ + glade_widget_property_set (gadj, "page-size", 0.0F); + gtk_adjustment_set_page_size (adj, 0); } @@ -9162,6 +9197,40 @@ glade_gtk_combo_get_children (GladeWidgetAdaptor *adaptor, GtkCombo *combo) return list; } +/* ----------------------------- GtkOptionMenu ------------------------------ */ +void +glade_gtk_option_menu_add_child (GladeWidgetAdaptor *adaptor, + GObject *object, + GObject *child) +{ + if (GTK_IS_MENU (child)) + gtk_option_menu_set_menu (GTK_OPTION_MENU (object), GTK_WIDGET (child)); +} + +void +glade_gtk_option_menu_remove_child (GladeWidgetAdaptor *adaptor, + GObject *object, + GObject *child) +{ + if (GTK_IS_MENU (child)) + gtk_option_menu_remove_menu (GTK_OPTION_MENU (object)); +} + +GList * +glade_gtk_option_menu_get_children (GladeWidgetAdaptor *adaptor, + GtkOptionMenu *option_menu) +{ + GList *list = NULL; + GtkWidget *menu; + + menu = gtk_option_menu_get_menu (option_menu); + + if (menu) + list = g_list_prepend (list, menu); + + return list; +} + /* ----------------------------- GtkListItem ------------------------------ */ void glade_gtk_list_item_post_create (GladeWidgetAdaptor *adaptor, @@ -10728,7 +10797,7 @@ glade_gtk_store_read_columns (GladeWidget *widget, GladeXmlNode *node) for (prop = glade_xml_node_get_children_with_comments (columns_node); prop; prop = glade_xml_node_next_with_comments (prop)) { - GladeColumnType *data = g_new0 (GladeColumnType, 1); + GladeColumnType *data; gchar *type, *comment_str, buffer[256]; if (!glade_xml_node_verify_silent (prop, GLADE_TAG_COLUMN) && @@ -10745,6 +10814,8 @@ glade_gtk_store_read_columns (GladeWidget *widget, GladeXmlNode *node) } type = glade_xml_get_property_string_required (prop, GLADE_TAG_TYPE, NULL); + + data = glade_column_type_new (type, NULL); data->type_name = g_strdup (type); data->column_name = column_name[0] ? g_strdup (column_name) : g_ascii_strdown (type, -1); @@ -11381,10 +11452,6 @@ glade_gtk_cell_layout_read_child (GladeWidgetAdaptor *adaptor, glade_xml_search_child (node, GLADE_XML_TAG_WIDGET(glade_project_get_format(widget->project)))) != NULL) { - - if (internal_name) - g_warning ("Cell layout reading internal %s\n", internal_name); - /* Combo box is a special brand of cell-layout, it can also have the internal entry */ if ((child_widget = glade_widget_read (widget->project, widget, widget_node, @@ -11844,6 +11911,8 @@ glade_gtk_adjustment_write_widget (GladeWidgetAdaptor *adaptor, /*--------------------------- GtkAction ---------------------------------*/ +#define ACTION_ACCEL_INSENSITIVE_MSG _("The accelerator can only be set when inside an Action Group.") + void glade_gtk_action_post_create (GladeWidgetAdaptor *adaptor, GObject *object, @@ -11857,6 +11926,9 @@ glade_gtk_action_post_create (GladeWidgetAdaptor *adaptor, if (!gtk_action_get_name (GTK_ACTION (object))) glade_widget_property_set (gwidget, "name", "untitled"); + glade_widget_set_action_sensitive (gwidget, "launch_editor", FALSE); + glade_widget_property_set_sensitive (gwidget, "accelerator", FALSE, + ACTION_ACCEL_INSENSITIVE_MSG); } /*--------------------------- GtkActionGroup ---------------------------------*/ @@ -11880,6 +11952,7 @@ glade_gtk_action_group_add_child (GladeWidgetAdaptor *adaptor, (GDestroyNotify)g_list_free); glade_widget_property_set_sensitive (gaction, "accelerator", TRUE, NULL); + glade_widget_set_action_sensitive (gaction, "launch_editor", TRUE); } } @@ -11892,7 +11965,6 @@ glade_gtk_action_group_remove_child (GladeWidgetAdaptor *adaptor, { /* Dont really add/remove actions (because name conflicts inside groups) */ - const gchar *insensitive_msg = _("The accelerator can only be set when inside an Action Group."); GladeWidget *ggroup = glade_widget_get_from_gobject (container); GladeWidget *gaction = glade_widget_get_from_gobject (child); GList *actions = g_object_get_data (G_OBJECT (ggroup), "glade-actions"); @@ -11903,7 +11975,9 @@ glade_gtk_action_group_remove_child (GladeWidgetAdaptor *adaptor, g_object_set_data_full (G_OBJECT (ggroup), "glade-actions", actions, (GDestroyNotify)g_list_free); - glade_widget_property_set_sensitive (gaction, "accelerator", FALSE, insensitive_msg); + glade_widget_property_set_sensitive (gaction, "accelerator", FALSE, + ACTION_ACCEL_INSENSITIVE_MSG); + glade_widget_set_action_sensitive (gaction, "launch_editor", FALSE); } } @@ -11973,3 +12047,67 @@ glade_gtk_action_group_write_child (GladeWidgetAdaptor *adaptor, /* Write accelerator here */ glade_gtk_write_accels (widget, context, child_node, FALSE); } + +static void +glade_gtk_action_child_selected (GladeBaseEditor *editor, + GladeWidget *gchild, + gpointer data) +{ + glade_base_editor_add_label (editor, _("Action")); + + glade_base_editor_add_default_properties (editor, gchild); + + glade_base_editor_add_label (editor, _("Properties")); + glade_base_editor_add_editable (editor, gchild, GLADE_PAGE_GENERAL); +} + +static gboolean +glade_gtk_action_move_child (GladeBaseEditor *editor, + GladeWidget *gparent, + GladeWidget *gchild, + gpointer data) +{ + return FALSE; +} + +static void +glade_gtk_action_launch_editor (GObject *action) +{ + GladeWidget *widget = glade_widget_get_from_gobject (action); + GladeBaseEditor *editor; + GladeEditable *action_editor; + GtkWidget *window; + + /* Make sure we get the group here */ + widget = glade_widget_get_toplevel (widget); + + action_editor = glade_widget_adaptor_create_editable (widget->adaptor, GLADE_PAGE_GENERAL); + + /* Editor */ + editor = glade_base_editor_new (widget->object, action_editor, + _("Action"), GTK_TYPE_ACTION, + _("Toggle"), GTK_TYPE_TOGGLE_ACTION, + _("Radio"), GTK_TYPE_RADIO_ACTION, + _("Recent"), GTK_TYPE_RECENT_ACTION, + NULL); + + g_signal_connect (editor, "child-selected", G_CALLBACK (glade_gtk_action_child_selected), NULL); + g_signal_connect (editor, "move-child", G_CALLBACK (glade_gtk_action_move_child), NULL); + + gtk_widget_show (GTK_WIDGET (editor)); + + window = glade_base_editor_pack_new_window (editor, _("Action Group Editor"), NULL); + gtk_widget_show (window); +} + + +void +glade_gtk_action_action_activate (GladeWidgetAdaptor *adaptor, + GObject *object, + const gchar *action_path) +{ + if (strcmp (action_path, "launch_editor") == 0) + { + glade_gtk_action_launch_editor (object); + } +} diff --git a/plugins/gtk+/glade-label-editor.c b/plugins/gtk+/glade-label-editor.c index aaea77b..c1a9972 100644 --- a/plugins/gtk+/glade-label-editor.c +++ b/plugins/gtk+/glade-label-editor.c @@ -589,10 +589,9 @@ append_label_appearance (GladeLabelEditor *label_editor, table_attach (table, GTK_WIDGET (eprop), 1, 3, label_editor->appearance_group); label_editor->properties = g_list_prepend (label_editor->properties, eprop); - /* Add invisible eprops at the end of this table... */ - gtk_widget_set_no_show_all (GTK_WIDGET (markup_property), TRUE); - gtk_widget_hide (GTK_WIDGET (markup_property)); - table_attach (table, GTK_WIDGET (markup_property), 0, 4, label_editor->appearance_group); + /* Tie the invisible editor property to the table's life-cycle */ + g_object_set_data_full (G_OBJECT (table), "glade-markup-property-destroy-me", + markup_property, (GDestroyNotify)gtk_widget_destroy); } @@ -718,10 +717,9 @@ append_label_wrapping (GladeLabelEditor *label_editor, table_attach (table, GTK_WIDGET (eprop), 1, row++, label_editor->wrap_group); label_editor->properties = g_list_prepend (label_editor->properties, eprop); - /* Add invisible eprops at the end of this table... */ - gtk_widget_set_no_show_all (GTK_WIDGET (single_line_eprop), TRUE); - gtk_widget_hide (GTK_WIDGET (single_line_eprop)); - table_attach (table, GTK_WIDGET (single_line_eprop), 0, row, label_editor->wrap_group); + /* Tie the invisible editor property to the table's life-cycle */ + g_object_set_data_full (G_OBJECT (table), "glade-single-line-property-destroy-me", + single_line_eprop, (GDestroyNotify)gtk_widget_destroy); } GtkWidget * diff --git a/plugins/gtk+/glade-tool-button-editor.c b/plugins/gtk+/glade-tool-button-editor.c index f89f356..8e23491 100644 --- a/plugins/gtk+/glade-tool-button-editor.c +++ b/plugins/gtk+/glade-tool-button-editor.c @@ -507,7 +507,7 @@ glade_tool_button_editor_new (GladeWidgetAdaptor *adaptor, button_editor->image_table = table = gtk_table_new (0, 0, FALSE); gtk_container_add (GTK_CONTAINER (alignment), table); - gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL); + group = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL); /* Stock image... */ eprop = glade_widget_adaptor_create_eprop_by_name (adaptor, "stock-id", FALSE, TRUE); diff --git a/plugins/gtk+/gtk+.xml b/plugins/gtk+/gtk+.xml index b2d1462..5a71253 100644 --- a/plugins/gtk+/gtk+.xml +++ b/plugins/gtk+/gtk+.xml @@ -1,5 +1,5 @@ - + glade_gtk_project_convert @@ -50,6 +50,9 @@ 2 + + + @@ -103,7 +106,6 @@ - @@ -282,6 +284,7 @@ glade_gtk_box_post_create glade_gtk_box_get_internal_child + glade_gtk_box_get_children glade_gtk_box_set_property glade_gtk_box_get_property glade_gtk_box_verify_property @@ -777,7 +780,6 @@ - @@ -870,7 +872,6 @@ glade_gtk_button_write_widget - @@ -963,7 +964,6 @@ - @@ -1099,6 +1099,8 @@ + + GParamBoxed @@ -1126,7 +1128,7 @@ - + glade_gtk_combo_box_entry_post_create glade_gtk_combo_box_entry_get_internal_child glade_gtk_combo_box_entry_set_property @@ -1320,6 +1322,7 @@ + Set the current page (strictly for editing purposes) @@ -1544,7 +1547,6 @@ - @@ -1589,6 +1591,9 @@ 2 + + + @@ -1634,9 +1639,6 @@ - - - @@ -1713,7 +1715,14 @@ + empty + glade_gtk_option_menu_add_child + glade_gtk_option_menu_remove_child + glade_gtk_option_menu_get_children + + + @@ -1918,6 +1927,11 @@ glade_gtk_action_post_create glade_gtk_widget_create_eprop glade_gtk_widget_string_from_value + glade_gtk_action_action_activate + + + + @@ -1951,6 +1965,10 @@ glade_gtk_action_group_replace_child glade_gtk_action_group_read_child glade_gtk_action_group_write_child + glade_gtk_action_action_activate + + + @@ -2120,6 +2138,7 @@ + diff --git a/plugins/gtk+/gtk+.xml.in b/plugins/gtk+/gtk+.xml.in index fab6215..3aee116 100644 --- a/plugins/gtk+/gtk+.xml.in +++ b/plugins/gtk+/gtk+.xml.in @@ -1,6 +1,6 @@ 2 + + + @@ -111,7 +114,6 @@ - @@ -296,6 +298,7 @@ embedded in another object glade_gtk_box_post_create glade_gtk_box_get_internal_child + glade_gtk_box_get_children glade_gtk_box_set_property glade_gtk_box_get_property glade_gtk_box_verify_property @@ -801,7 +804,6 @@ embedded in another object - @@ -898,7 +900,6 @@ embedded in another object glade_gtk_button_write_widget - @@ -992,7 +993,6 @@ embedded in another object - @@ -1128,6 +1128,8 @@ embedded in another object + + GParamBoxed @@ -1155,7 +1157,8 @@ embedded in another object - + glade_gtk_combo_box_entry_post_create glade_gtk_combo_box_entry_get_internal_child glade_gtk_combo_box_entry_set_property @@ -1354,6 +1357,7 @@ embedded in another object + <_tooltip>Set the current page (strictly for editing purposes) @@ -1578,7 +1582,6 @@ embedded in another object - @@ -1626,6 +1629,9 @@ embedded in another object 2 + + + @@ -1671,9 +1677,6 @@ embedded in another object - - - @@ -1750,7 +1753,14 @@ embedded in another object + empty + glade_gtk_option_menu_add_child + glade_gtk_option_menu_remove_child + glade_gtk_option_menu_get_children + + + @@ -1960,6 +1970,11 @@ embedded in another object glade_gtk_action_post_create glade_gtk_widget_create_eprop glade_gtk_widget_string_from_value + glade_gtk_action_action_activate + + + + @@ -1998,6 +2013,10 @@ embedded in another object glade_gtk_action_group_replace_child glade_gtk_action_group_read_child glade_gtk_action_group_write_child + glade_gtk_action_action_activate + + + + diff --git a/po/POTFILES.in b/po/POTFILES.in index c35cfbb..d083d58 100644 --- a/po/POTFILES.in +++ b/po/POTFILES.in @@ -11,8 +11,8 @@ src/glade-window.c gladeui/glade-app.c gladeui/glade-builtins.c gladeui/glade-base-editor.c +gladeui/glade-design-view.c gladeui/glade-catalog.c -gladeui/glade-clipboard-view.c gladeui/glade-clipboard.c gladeui/glade-command.c gladeui/glade-cursor.c diff --git a/po/ar.po b/po/ar.po index e84ab71..b657859 100644 --- a/po/ar.po +++ b/po/ar.po @@ -2225,7 +2225,7 @@ msgid "This property is only for use in dialog action buttons" msgstr "هذه الخاصيّة للاستخدام فقط في أزرار الفعل في الحوار" #: ../plugins/gtk+/glade-gtk.c:64 -msgid "This property is set to be controled by an Action" +msgid "This property is set to be controlled by an Action" msgstr "" #: ../plugins/gtk+/glade-gtk.c:191 diff --git a/po/ast.po b/po/ast.po index 3f0b461..97368bb 100644 --- a/po/ast.po +++ b/po/ast.po @@ -2244,7 +2244,7 @@ msgid "This property is only for use in dialog action buttons" msgstr "Esta propiedá namái ye pa usala en diálogos d'aición de botones" #: ../plugins/gtk+/glade-gtk.c:64 -msgid "This property is set to be controled by an Action" +msgid "This property is set to be controlled by an Action" msgstr "Esta propiedá ta configurada pa ser remanada por una Aición" #: ../plugins/gtk+/glade-gtk.c:191 diff --git a/po/bg.po b/po/bg.po index 711f86b..f2c2546 100644 --- a/po/bg.po +++ b/po/bg.po @@ -2249,7 +2249,7 @@ msgstr "" "Това свойство е за употреба само в бутони за действие към диалогови прозорци" #: ../plugins/gtk+/glade-gtk.c:64 -msgid "This property is set to be controled by an Action" +msgid "This property is set to be controlled by an Action" msgstr "Това свойство е зададено да бъде контролирано от действие" #: ../plugins/gtk+/glade-gtk.c:191 diff --git a/po/ca.po b/po/ca.po index a74637c..03cba97 100644 --- a/po/ca.po +++ b/po/ca.po @@ -2356,7 +2356,7 @@ msgstr "" "Aquesta propietat només s'ha d'utilitzar en els botons d'acció dels diàlegs" #: ../plugins/gtk+/glade-gtk.c:64 -msgid "This property is set to be controled by an Action" +msgid "This property is set to be controlled by an Action" msgstr "Aquesta propietat està establerta per a ésser controlada per una acció" #: ../plugins/gtk+/glade-gtk.c:191 diff --git a/po/ca@valencia.po b/po/ca@valencia.po index 3a8005c..d75e39a 100644 --- a/po/ca@valencia.po +++ b/po/ca@valencia.po @@ -2319,7 +2319,7 @@ msgstr "" "Esta propietat només s'ha d'utilitzar en els botons d'acció dels diàlegs" #: ../plugins/gtk+/glade-gtk.c:64 -msgid "This property is set to be controled by an Action" +msgid "This property is set to be controlled by an Action" msgstr "Esta propietat està establerta per a ésser controlada per una acció" #: ../plugins/gtk+/glade-gtk.c:191 diff --git a/po/cs.po b/po/cs.po index fc104f3..b6e1814 100644 --- a/po/cs.po +++ b/po/cs.po @@ -2254,7 +2254,7 @@ msgstr "" "Tato vlastnost je určená k použití pouze u akčních tlačítek dialogových oken" #: ../plugins/gtk+/glade-gtk.c:64 -msgid "This property is set to be controled by an Action" +msgid "This property is set to be controlled by an Action" msgstr "Tato vlastnost je nastavená, aby byla ovládaná akcí" #: ../plugins/gtk+/glade-gtk.c:191 diff --git a/po/da.po b/po/da.po index 71d4721..cd162a2 100644 --- a/po/da.po +++ b/po/da.po @@ -2286,7 +2286,7 @@ msgid "This property is only for use in dialog action buttons" msgstr "Denne egenskab bør kun bruges i dialoghandlingsknapper" #: ../plugins/gtk+/glade-gtk.c:64 -msgid "This property is set to be controled by an Action" +msgid "This property is set to be controlled by an Action" msgstr "Denne egenskab er indstillet, så den styres af en Action (handling)" #: ../plugins/gtk+/glade-gtk.c:191 diff --git a/po/de.po b/po/de.po index 3cbdc95..d62dd9d 100644 --- a/po/de.po +++ b/po/de.po @@ -2316,7 +2316,7 @@ msgid "This property is only for use in dialog action buttons" msgstr "Diese Eigenschaft ist nur zur Verwendung in Dialogknöpfen gedacht" #: ../plugins/gtk+/glade-gtk.c:64 -msgid "This property is set to be controled by an Action" +msgid "This property is set to be controlled by an Action" msgstr "Diese Eigenschaft ist zur Kontrolle durch eine Aktion festgelegt" #: ../plugins/gtk+/glade-gtk.c:191 diff --git a/po/el.po b/po/el.po index 672e0b7..dd1f65c 100644 --- a/po/el.po +++ b/po/el.po @@ -2287,7 +2287,7 @@ msgstr "" "Αυτή η ιδιότητα πρέπει να χρησιμοποιείται μόνο στα κουμπιά ενεργειών διαλόγου" #: ../plugins/gtk+/glade-gtk.c:64 -msgid "This property is set to be controled by an Action" +msgid "This property is set to be controlled by an Action" msgstr "Αυτή η ιδιότητα πρέπει να ελέγχεται από Ενέργεια" #: ../plugins/gtk+/glade-gtk.c:191 diff --git a/po/en@shaw.po b/po/en@shaw.po index e55f836..2577ede 100644 --- a/po/en@shaw.po +++ b/po/en@shaw.po @@ -2279,8 +2279,8 @@ msgstr "𐑞𐑦𐑕 𐑐𐑮𐑪𐑐𐑼𐑑𐑦 𐑦𐑟 𐑴𐑯𐑤𐑦 𐑓 #, fuzzy #: ../plugins/gtk+/glade-gtk.c:64 -msgid "This property is set to be controled by an Action" -msgstr "𐑞𐑦𐑕 𐑐𐑮𐑪𐑐𐑼𐑑𐑦 𐑦𐑟 𐑕𐑧𐑑 𐑑 𐑚𐑰 controled 𐑚𐑲 𐑩𐑯 𐑨𐑒𐑖𐑩𐑯" +msgid "This property is set to be controlled by an Action" +msgstr "𐑞𐑦𐑕 𐑐𐑮𐑪𐑐𐑼𐑑𐑦 𐑦𐑟 𐑕𐑧𐑑 𐑑 𐑚𐑰 controlled 𐑚𐑲 𐑩𐑯 𐑨𐑒𐑖𐑩𐑯" #: ../plugins/gtk+/glade-gtk.c:191 msgid "GnomeUIInfo" diff --git a/po/en_GB.po b/po/en_GB.po index 986a048..9a07ff7 100644 --- a/po/en_GB.po +++ b/po/en_GB.po @@ -2238,7 +2238,7 @@ msgid "This property is only for use in dialog action buttons" msgstr "This property is only for use in dialogue action buttons" #: ../plugins/gtk+/glade-gtk.c:64 -msgid "This property is set to be controled by an Action" +msgid "This property is set to be controlled by an Action" msgstr "This property is set to be controlled by an Action" #: ../plugins/gtk+/glade-gtk.c:191 diff --git a/po/eo.po b/po/eo.po index e074adb..40eb144 100644 --- a/po/eo.po +++ b/po/eo.po @@ -2235,7 +2235,7 @@ msgid "This property is only for use in dialog action buttons" msgstr "" #: ../plugins/gtk+/glade-gtk.c:64 -msgid "This property is set to be controled by an Action" +msgid "This property is set to be controlled by an Action" msgstr "" #: ../plugins/gtk+/glade-gtk.c:191 diff --git a/po/es.po b/po/es.po index 664dcce..3fa3d63 100644 --- a/po/es.po +++ b/po/es.po @@ -2311,7 +2311,7 @@ msgid "This property is only for use in dialog action buttons" msgstr "Esta propiedad sólo es para usarla en diálogos de acción de botones" #: ../plugins/gtk+/glade-gtk.c:64 -msgid "This property is set to be controled by an Action" +msgid "This property is set to be controlled by an Action" msgstr "Esta propiedad está configurada para ser controlada por una Acción" #: ../plugins/gtk+/glade-gtk.c:191 diff --git a/po/et.po b/po/et.po index 72843d4..067bb28 100644 --- a/po/et.po +++ b/po/et.po @@ -1676,7 +1676,7 @@ msgstr "Omadus on valimata" msgid "This property is only for use in dialog action buttons" msgstr "See omadus on kasutamiseks ainult dialoogi tegevusnuppudes" -msgid "This property is set to be controled by an Action" +msgid "This property is set to be controlled by an Action" msgstr "" msgid "GnomeUIInfo" diff --git a/po/eu.po b/po/eu.po index 48849bc..dc72cb3 100644 --- a/po/eu.po +++ b/po/eu.po @@ -2181,7 +2181,7 @@ msgstr "" "daiteke" #: ../plugins/gtk+/glade-gtk.c:64 -msgid "This property is set to be controled by an Action" +msgid "This property is set to be controlled by an Action" msgstr "Propietate hau ekintza batek kontrolatzeko ezartzen da" #: ../plugins/gtk+/glade-gtk.c:191 diff --git a/po/fi.po b/po/fi.po index c085197..568c92d 100644 --- a/po/fi.po +++ b/po/fi.po @@ -2210,7 +2210,7 @@ msgid "This property is only for use in dialog action buttons" msgstr "Tämä ominaisuus on käytettävissä vain ikkunoiden toimintonapeissa" #: ../plugins/gtk+/glade-gtk.c:64 -msgid "This property is set to be controled by an Action" +msgid "This property is set to be controlled by an Action" msgstr "Tämä ominaisuus on asetettu toiminnon ohjattavaksi" #: ../plugins/gtk+/glade-gtk.c:191 diff --git a/po/fr.po b/po/fr.po index bf02bd3..961f3f3 100644 --- a/po/fr.po +++ b/po/fr.po @@ -2297,7 +2297,7 @@ msgstr "" "dialogue" #: ../plugins/gtk+/glade-gtk.c:64 -msgid "This property is set to be controled by an Action" +msgid "This property is set to be controlled by an Action" msgstr "Cette propriété est définie pour être contrôlée par une action" #: ../plugins/gtk+/glade-gtk.c:191 diff --git a/po/gl.po b/po/gl.po index 469c7a7..34cdfce 100644 --- a/po/gl.po +++ b/po/gl.po @@ -2309,7 +2309,7 @@ msgid "This property is only for use in dialog action buttons" msgstr "Esta propiedade só se usa nos botóns de acción de diálogo" #: ../plugins/gtk+/glade-gtk.c:64 -msgid "This property is set to be controled by an Action" +msgid "This property is set to be controlled by an Action" msgstr "Esta propiedade está definida para ser controlada por unha Acción" #: ../plugins/gtk+/glade-gtk.c:191 diff --git a/po/he.po b/po/he.po index 6dd1e7b..280c859 100644 --- a/po/he.po +++ b/po/he.po @@ -2280,7 +2280,7 @@ msgid "This property is only for use in dialog action buttons" msgstr "" #: ../plugins/gtk+/glade-gtk.c:64 -msgid "This property is set to be controled by an Action" +msgid "This property is set to be controlled by an Action" msgstr "" #: ../plugins/gtk+/glade-gtk.c:191 diff --git a/po/hu.po b/po/hu.po index 245e23d..58b6d20 100644 --- a/po/hu.po +++ b/po/hu.po @@ -2256,7 +2256,7 @@ msgid "This property is only for use in dialog action buttons" msgstr "Ez a tulajdonság csak párbeszédablakok műveletgombjain használandó" #: ../plugins/gtk+/glade-gtk.c:64 -msgid "This property is set to be controled by an Action" +msgid "This property is set to be controlled by an Action" msgstr "Ez a tulajdonság egy művelet által vezérelendőként van beállítva" #: ../plugins/gtk+/glade-gtk.c:191 diff --git a/po/hy.po b/po/hy.po index ec60c1d..03afe72 100644 --- a/po/hy.po +++ b/po/hy.po @@ -2256,7 +2256,7 @@ msgstr "" "Այս հատկությունը միայն երկխոսության մեջ գործողությունների կոճակ համար է" #: ../plugins/gtk+/glade-gtk.c:64 -msgid "This property is set to be controled by an Action" +msgid "This property is set to be controlled by an Action" msgstr "Այս հատկությունը ղեկավարվում է գործողությամբ" #: ../plugins/gtk+/glade-gtk.c:191 diff --git a/po/id.po b/po/id.po index 9d8d583..394f9c9 100644 --- a/po/id.po +++ b/po/id.po @@ -2305,7 +2305,7 @@ msgid "This property is only for use in dialog action buttons" msgstr "" #: ../plugins/gtk+/glade-gtk.c:64 -msgid "This property is set to be controled by an Action" +msgid "This property is set to be controlled by an Action" msgstr "" #: ../plugins/gtk+/glade-gtk.c:191 diff --git a/po/it.po b/po/it.po index 1d36e3c..e4039d9 100644 --- a/po/it.po +++ b/po/it.po @@ -2286,7 +2286,7 @@ msgstr "" "Questa proprietà è utilizzata solamente nei pulsanti di azione nei dialoghi" #: ../plugins/gtk+/glade-gtk.c:64 -msgid "This property is set to be controled by an Action" +msgid "This property is set to be controlled by an Action" msgstr "Questa proprietà è impostata per essere controllata da una «Azione»" #: ../plugins/gtk+/glade-gtk.c:191 diff --git a/po/ja.po b/po/ja.po index 8dfae8a..e3caaf9 100644 --- a/po/ja.po +++ b/po/ja.po @@ -2288,7 +2288,7 @@ msgid "This property is only for use in dialog action buttons" msgstr "このプロパティはダイアログのアクション・ボタンでのみ使用します" #: ../plugins/gtk+/glade-gtk.c:64 -msgid "This property is set to be controled by an Action" +msgid "This property is set to be controlled by an Action" msgstr "これはアクションによって制御されるプロパティです" #: ../plugins/gtk+/glade-gtk.c:191 diff --git a/po/ko.po b/po/ko.po index e72d514..8d864d6 100644 --- a/po/ko.po +++ b/po/ko.po @@ -2217,7 +2217,7 @@ msgid "This property is only for use in dialog action buttons" msgstr "이 속성은 대화 창의 동작 단추에서만 효과가 있습니다" #: ../plugins/gtk+/glade-gtk.c:64 -msgid "This property is set to be controled by an Action" +msgid "This property is set to be controlled by an Action" msgstr "이 속성은 동작에 의해 컨트롤합니다" #: ../plugins/gtk+/glade-gtk.c:191 diff --git a/po/lt.po b/po/lt.po index 46b5f26..35d4079 100644 --- a/po/lt.po +++ b/po/lt.po @@ -2230,7 +2230,7 @@ msgid "This property is only for use in dialog action buttons" msgstr "Ši savybė naudotina dialogų veiksmų mygtukams" #: ../plugins/gtk+/glade-gtk.c:64 -msgid "This property is set to be controled by an Action" +msgid "This property is set to be controlled by an Action" msgstr "Ši savybė valdoma Action komponento" #: ../plugins/gtk+/glade-gtk.c:191 diff --git a/po/lv.po b/po/lv.po index 9ec17d4..ded5f07 100644 --- a/po/lv.po +++ b/po/lv.po @@ -2137,7 +2137,7 @@ msgid "This property is only for use in dialog action buttons" msgstr "" #: ../plugins/gtk+/glade-gtk.c:64 -msgid "This property is set to be controled by an Action" +msgid "This property is set to be controlled by an Action" msgstr "" #: ../plugins/gtk+/glade-gtk.c:191 diff --git a/po/mai.po b/po/mai.po index f43d276..800f9ad 100644 --- a/po/mai.po +++ b/po/mai.po @@ -2135,7 +2135,7 @@ msgid "This property is only for use in dialog action buttons" msgstr "" #: ../plugins/gtk+/glade-gtk.c:64 -msgid "This property is set to be controled by an Action" +msgid "This property is set to be controlled by an Action" msgstr "" #: ../plugins/gtk+/glade-gtk.c:191 diff --git a/po/ml.po b/po/ml.po index 6e84f7b..10528d4 100644 --- a/po/ml.po +++ b/po/ml.po @@ -2251,7 +2251,7 @@ msgid "This property is only for use in dialog action buttons" msgstr "ഡയലോഗ് നടപടി ബട്ടന്‍സില്‍ മാത്രമേ ഈ ഗുണഗണം ശരിയാകുള്ളൂ" #: ../plugins/gtk+/glade-gtk.c:64 -msgid "This property is set to be controled by an Action" +msgid "This property is set to be controlled by an Action" msgstr "" #: ../plugins/gtk+/glade-gtk.c:191 diff --git a/po/nb.po b/po/nb.po index 86f0f50..6abcd04 100644 --- a/po/nb.po +++ b/po/nb.po @@ -2228,7 +2228,7 @@ msgid "This property is only for use in dialog action buttons" msgstr "" #: ../plugins/gtk+/glade-gtk.c:64 -msgid "This property is set to be controled by an Action" +msgid "This property is set to be controlled by an Action" msgstr "" #: ../plugins/gtk+/glade-gtk.c:191 diff --git a/po/or.po b/po/or.po index 862ae34..2e5f431 100644 --- a/po/or.po +++ b/po/or.po @@ -2200,7 +2200,7 @@ msgid "This property is only for use in dialog action buttons" msgstr "" #: ../plugins/gtk+/glade-gtk.c:64 -msgid "This property is set to be controled by an Action" +msgid "This property is set to be controlled by an Action" msgstr "" #: ../plugins/gtk+/glade-gtk.c:191 diff --git a/po/pl.po b/po/pl.po index 8c60cc6..ea7dd53 100644 --- a/po/pl.po +++ b/po/pl.po @@ -2273,7 +2273,7 @@ msgstr "" "Tej właściwości można używać tylko w przyciskach czynności okien dialogowych" #: ../plugins/gtk+/glade-gtk.c:64 -msgid "This property is set to be controled by an Action" +msgid "This property is set to be controlled by an Action" msgstr "Ta właściwość jest kontrolowana przez czynność" #: ../plugins/gtk+/glade-gtk.c:191 diff --git a/po/pt.po b/po/pt.po index 9806189..c009ea4 100644 --- a/po/pt.po +++ b/po/pt.po @@ -2246,7 +2246,7 @@ msgstr "" "Esta propriedade apenas deve ser utilizada em botões de acção de diálogos" #: ../plugins/gtk+/glade-gtk.c:64 -msgid "This property is set to be controled by an Action" +msgid "This property is set to be controlled by an Action" msgstr "Esta propriedade está definida para ser controlada por uma Acção" #: ../plugins/gtk+/glade-gtk.c:191 diff --git a/po/pt_BR.po b/po/pt_BR.po index 68748f0..ccc45fd 100644 --- a/po/pt_BR.po +++ b/po/pt_BR.po @@ -2261,7 +2261,7 @@ msgstr "" "Esta propriedade é destinada somente para o uso em botões de diálogos de ação" #: ../plugins/gtk+/glade-gtk.c:64 -msgid "This property is set to be controled by an Action" +msgid "This property is set to be controlled by an Action" msgstr "Esta propriedade está definida para ser controlada por uma ação" #: ../plugins/gtk+/glade-gtk.c:191 diff --git a/po/ro.po b/po/ro.po index c6ef054..4ca231e 100644 --- a/po/ro.po +++ b/po/ro.po @@ -2274,7 +2274,7 @@ msgstr "" "dialoguri" #: ../plugins/gtk+/glade-gtk.c:64 -msgid "This property is set to be controled by an Action" +msgid "This property is set to be controlled by an Action" msgstr "Această proprietate este stabilită să fie controlată de o Acțiune" #: ../plugins/gtk+/glade-gtk.c:191 diff --git a/po/ru.po b/po/ru.po index 4092e16..a1c13e6 100644 --- a/po/ru.po +++ b/po/ru.po @@ -2222,7 +2222,7 @@ msgid "This property is only for use in dialog action buttons" msgstr "Это свойство используется только в кнопках действий в диалогах" #: ../plugins/gtk+/glade-gtk.c:64 -msgid "This property is set to be controled by an Action" +msgid "This property is set to be controlled by an Action" msgstr "Это свойство управляется действием" #: ../plugins/gtk+/glade-gtk.c:191 diff --git a/po/sl.po b/po/sl.po index 3b3c079..9aba265 100644 --- a/po/sl.po +++ b/po/sl.po @@ -2239,7 +2239,7 @@ msgid "This property is only for use in dialog action buttons" msgstr "lastnost je podprta le pri uporabi gumbov pogovornih oken" #: ../plugins/gtk+/glade-gtk.c:64 -msgid "This property is set to be controled by an Action" +msgid "This property is set to be controlled by an Action" msgstr "Možnost je nastavljena za nadzor s strani dejanja" #: ../plugins/gtk+/glade-gtk.c:191 diff --git a/po/sr.po b/po/sr.po index 5642062..5bddfc3 100644 --- a/po/sr.po +++ b/po/sr.po @@ -2223,7 +2223,7 @@ msgid "This property is only for use in dialog action buttons" msgstr "Ово својство се користи само за акциону дугмад дијалога" #: ../plugins/gtk+/glade-gtk.c:64 -msgid "This property is set to be controled by an Action" +msgid "This property is set to be controlled by an Action" msgstr "Ово својство је подешено да се контролиште кроз акцију" #: ../plugins/gtk+/glade-gtk.c:191 diff --git a/po/sr@latin.po b/po/sr@latin.po index b5c6ef6..9d75bf4 100644 --- a/po/sr@latin.po +++ b/po/sr@latin.po @@ -2223,7 +2223,7 @@ msgid "This property is only for use in dialog action buttons" msgstr "Ovo svojstvo se koristi samo za akcionu dugmad dijaloga" #: ../plugins/gtk+/glade-gtk.c:64 -msgid "This property is set to be controled by an Action" +msgid "This property is set to be controlled by an Action" msgstr "Ovo svojstvo je podešeno da se kontrolište kroz akciju" #: ../plugins/gtk+/glade-gtk.c:191 diff --git a/po/sv.po b/po/sv.po index 72fd5a3..b731218 100644 --- a/po/sv.po +++ b/po/sv.po @@ -2213,7 +2213,7 @@ msgid "This property is only for use in dialog action buttons" msgstr "Denna egenskap är endast för åtgärdsknappar i dialoger" #: ../plugins/gtk+/glade-gtk.c:64 -msgid "This property is set to be controled by an Action" +msgid "This property is set to be controlled by an Action" msgstr "Denna egenskap är inställd till att styras av en åtgärd" #: ../plugins/gtk+/glade-gtk.c:191 diff --git a/po/te.po b/po/te.po index ec0c5f2..3b2e788 100644 --- a/po/te.po +++ b/po/te.po @@ -2266,7 +2266,7 @@ msgid "This property is only for use in dialog action buttons" msgstr "శైలి సమాచార విధములో మాత్రమే లక్షణము వర్తిస్తుంది" #: ../plugins/gtk+/glade-gtk.c:64 -msgid "This property is set to be controled by an Action" +msgid "This property is set to be controlled by an Action" msgstr "" #: ../plugins/gtk+/glade-gtk.c:191 diff --git a/po/th.po b/po/th.po index 030d8a4..ec7f04d 100644 --- a/po/th.po +++ b/po/th.po @@ -2198,7 +2198,7 @@ msgid "This property is only for use in dialog action buttons" msgstr "คุณสมบัตินี้ใช้ได้กับปุ่มการกระทำในกล่องโต้ตอบเท่านั้น" #: ../plugins/gtk+/glade-gtk.c:64 -msgid "This property is set to be controled by an Action" +msgid "This property is set to be controlled by an Action" msgstr "คุณสมบัตินี้ถูกกำหนดไว้ให้ควบคุมโดยการกระทำ" #: ../plugins/gtk+/glade-gtk.c:191 diff --git a/po/tr.po b/po/tr.po index 710acfa..5482647 100644 --- a/po/tr.po +++ b/po/tr.po @@ -2213,7 +2213,7 @@ msgid "This property is only for use in dialog action buttons" msgstr "Bu özellik sadece pencere eylemi düğmelerinde kullanılmak içindir" #: ../plugins/gtk+/glade-gtk.c:64 -msgid "This property is set to be controled by an Action" +msgid "This property is set to be controlled by an Action" msgstr "Bu özellik bir Eylem tarafından denetlenmek için atanır" #: ../plugins/gtk+/glade-gtk.c:191 diff --git a/po/uk.po b/po/uk.po index 9afbb7f..5bb3859 100644 --- a/po/uk.po +++ b/po/uk.po @@ -2208,7 +2208,7 @@ msgid "This property is only for use in dialog action buttons" msgstr "Ця властивість використовується лише у кнопках дій у діалогах" #: ../plugins/gtk+/glade-gtk.c:64 -msgid "This property is set to be controled by an Action" +msgid "This property is set to be controlled by an Action" msgstr "Ця властивість керується дією" #: ../plugins/gtk+/glade-gtk.c:191 diff --git a/po/vi.po b/po/vi.po index 5f772ca..b01e253 100644 --- a/po/vi.po +++ b/po/vi.po @@ -2260,7 +2260,7 @@ msgid "This property is only for use in dialog action buttons" msgstr "Thuộc tính này chỉ dùng được trong cái nút hành vi hộp thoại" #: ../plugins/gtk+/glade-gtk.c:64 -msgid "This property is set to be controled by an Action" +msgid "This property is set to be controlled by an Action" msgstr "Thuộc tính này được đặt để được điều khiển bởi một Hành vi" #: ../plugins/gtk+/glade-gtk.c:191 diff --git a/po/zh_CN.po b/po/zh_CN.po index a924f13..188c8ba 100644 --- a/po/zh_CN.po +++ b/po/zh_CN.po @@ -2202,7 +2202,7 @@ msgid "This property is only for use in dialog action buttons" msgstr "此属性用于对话框动作按钮" #: ../plugins/gtk+/glade-gtk.c:64 -msgid "This property is set to be controled by an Action" +msgid "This property is set to be controlled by an Action" msgstr "该属性将由“动作”控制" #: ../plugins/gtk+/glade-gtk.c:191 diff --git a/po/zh_HK.po b/po/zh_HK.po index fb3aba1..3e58b8d 100644 --- a/po/zh_HK.po +++ b/po/zh_HK.po @@ -2232,7 +2232,7 @@ msgid "This property is only for use in dialog action buttons" msgstr "這個屬性只用於對話盒動作按鈕" #: ../plugins/gtk+/glade-gtk.c:64 -msgid "This property is set to be controled by an Action" +msgid "This property is set to be controlled by an Action" msgstr "這個屬性設定為由某個動作控制" #: ../plugins/gtk+/glade-gtk.c:191 diff --git a/po/zh_TW.po b/po/zh_TW.po index ab8b96e..e626f9a 100644 --- a/po/zh_TW.po +++ b/po/zh_TW.po @@ -2239,7 +2239,7 @@ msgid "This property is only for use in dialog action buttons" msgstr "這個屬性只用於對話盒動作按鈕" #: ../plugins/gtk+/glade-gtk.c:64 -msgid "This property is set to be controled by an Action" +msgid "This property is set to be controlled by an Action" msgstr "這個屬性設定為由某個動作控制" #: ../plugins/gtk+/glade-gtk.c:191 diff --git a/src/Makefile.am b/src/Makefile.am index ed147b0..4ec720a 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -5,13 +5,13 @@ bin_PROGRAMS = glade-3 glade_3_CPPFLAGS = \ -I$(top_srcdir) \ -I$(top_builddir) \ - -DGLADE_GNOMEHELPDIR="\"$(HELP_DIR)\"" - $(AM_CPPFLAGS) - -glade_3_CFLAGS = \ + -DGLADE_GNOMEHELPDIR="\"$(HELP_DIR)\"" \ $(GTK_CFLAGS) \ $(IGE_MAC_CFLAGS) \ $(WARN_CFLAGS) \ + $(AM_CPPFLAGS) + +glade_3_CFLAGS = \ $(AM_CFLAGS) glade_3_LDFLAGS = $(AM_LDFLAGS) diff --git a/src/Makefile.in b/src/Makefile.in index 5f176a4..7f4c6fb 100644 --- a/src/Makefile.in +++ b/src/Makefile.in @@ -292,12 +292,13 @@ top_srcdir = @top_srcdir@ glade_3_CPPFLAGS = \ -I$(top_srcdir) \ -I$(top_builddir) \ - -DGLADE_GNOMEHELPDIR="\"$(HELP_DIR)\"" - -glade_3_CFLAGS = \ + -DGLADE_GNOMEHELPDIR="\"$(HELP_DIR)\"" \ $(GTK_CFLAGS) \ $(IGE_MAC_CFLAGS) \ $(WARN_CFLAGS) \ + $(AM_CPPFLAGS) + +glade_3_CFLAGS = \ $(AM_CFLAGS) glade_3_LDFLAGS = $(AM_LDFLAGS) $(am__append_2) @@ -682,7 +683,6 @@ uninstall-am: uninstall-binPROGRAMS pdf pdf-am ps ps-am tags uninstall uninstall-am \ uninstall-binPROGRAMS - $(AM_CPPFLAGS) glade-win32-res.o: glade-3.rc $(WINDRES) $< $@ diff --git a/src/glade-window.c b/src/glade-window.c index 4031f85..5de6c1a 100644 --- a/src/glade-window.c +++ b/src/glade-window.c @@ -283,54 +283,6 @@ get_formatted_project_name_for_display (GladeProject *project, FormatNameFlags f return pass3; } -static gchar * -replace_home_dir_with_tilde (const gchar *path) -{ -#ifdef G_OS_UNIX - gchar *tmp; - gchar *home; - - g_return_val_if_fail (path != NULL, NULL); - - /* Note that g_get_home_dir returns a const string */ - tmp = (gchar *) g_get_home_dir (); - - if (tmp == NULL) - return g_strdup (path); - - home = g_filename_to_utf8 (tmp, -1, NULL, NULL, NULL); - if (home == NULL) - return g_strdup (path); - - if (strcmp (path, home) == 0) - { - g_free (home); - - return g_strdup ("~"); - } - - tmp = home; - home = g_strdup_printf ("%s/", tmp); - g_free (tmp); - - if (g_str_has_prefix (path, home)) - { - gchar *res; - - res = g_strdup_printf ("~/%s", path + strlen (home)); - - g_free (home); - - return res; - } - - g_free (home); - - return g_strdup (path); -#else - return g_strdup (path); -#endif -} static void refresh_title (GladeWindow *window) @@ -370,13 +322,13 @@ get_default_path (GladeWindow *window) } static void -update_default_path (GladeWindow *window, GladeProject *project) +update_default_path (GladeWindow *window, const gchar *filename) { gchar *path; - g_return_if_fail (glade_project_get_path (project) != NULL); + g_return_if_fail (filename != NULL); - path = g_path_get_dirname (glade_project_get_path (project)); + path = g_path_get_dirname (filename); g_free (window->priv->default_path); window->priv->default_path = g_strdup (path); @@ -555,7 +507,7 @@ format_project_list_item_tooltip (GladeProject *project) if (glade_project_get_path (project)) { - path = replace_home_dir_with_tilde (glade_project_get_path (project)); + path = glade_utils_replace_home_dir_with_tilde (glade_project_get_path (project)); if (glade_project_get_readonly (project)) { @@ -958,7 +910,7 @@ switch_to_project (GladeWindow *window, GladeProject *project) /* increase project popularity */ recent_add (window, glade_project_get_path (project)); - update_default_path (window, project); + update_default_path (window, glade_project_get_path (project)); for (i = 0; i < n; i++) { @@ -1120,6 +1072,22 @@ open_cb (GtkAction *action, GladeWindow *window) g_free (path); } +static gboolean +check_loading_project_for_save (GladeProject *project) +{ + if (glade_project_is_loading (project)) + { + gchar *name = glade_project_get_name (project); + + glade_util_ui_message (glade_app_get_window(), + GLADE_UI_INFO, NULL, + _("Project %s is still loading."), name); + g_free (name); + return TRUE; + } + return FALSE; +} + static void save (GladeWindow *window, GladeProject *project, const gchar *path) { @@ -1130,6 +1098,9 @@ save (GladeWindow *window, GladeProject *project, const gchar *path) GtkWidget *button; gint response; + if (check_loading_project_for_save (project)) + return; + /* check for external modification to the project file */ mtime = glade_util_get_file_mtime (glade_project_get_path (project), NULL); @@ -1192,7 +1163,7 @@ save (GladeWindow *window, GladeProject *project, const gchar *path) display_name = glade_project_get_name (project); recent_add (window, glade_project_get_path (project)); - update_default_path (window, project); + update_default_path (window, glade_project_get_path (project)); /* refresh names */ refresh_title (window); @@ -1221,6 +1192,9 @@ save_as (GladeWindow *window) if (project == NULL) return; + if (check_loading_project_for_save (project)) + return; + filechooser = glade_util_file_dialog_new (_("Save As\342\200\246"), project, GTK_WINDOW (window), GLADE_FILE_DIALOG_ACTION_SAVE); @@ -1450,9 +1424,18 @@ confirm_close_project (GladeWindow *window, GladeProject *project) } static void -do_close (GladeWindow *window, GladeDesignView *view) +do_close (GladeWindow *window, GladeProject *project) { + GladeDesignView *view; gint n; + + view = glade_design_view_get_from_project (project); + + if (glade_project_is_loading (project)) + { + glade_project_cancel_load (project); + return; + } n = gtk_notebook_page_num (GTK_NOTEBOOK (window->priv->notebook), GTK_WIDGET (view)); @@ -1483,15 +1466,17 @@ close_cb (GtkAction *action, GladeWindow *window) if (!close) return; } - do_close (window, view); + do_close (window, project); } static void quit_cb (GtkAction *action, GladeWindow *window) { - GList *list; + GList *list, *projects; - for (list = glade_app_get_projects (); list; list = list->next) + projects = g_list_copy (glade_app_get_projects ()); + + for (list = projects; list; list = list->next) { GladeProject *project = GLADE_PROJECT (list->data); @@ -1499,20 +1484,24 @@ quit_cb (GtkAction *action, GladeWindow *window) { gboolean quit = confirm_close_project (window, project); if (!quit) + { + g_list_free (projects); return; + } } } - while (glade_app_get_projects ()) + for (list = projects; list; list = list->next) { GladeProject *project = GLADE_PROJECT (glade_app_get_projects ()->data); - do_close (window, glade_design_view_get_from_project (project)); + do_close (window, project); } glade_window_config_save (window); - gtk_main_quit (); + g_list_free (projects); + gtk_main_quit (); } static void @@ -1647,6 +1636,13 @@ notebook_switch_page_cb (GtkNotebook *notebook, g_free (action_name); } +static void +set_widget_sensitive_on_load (GladeProject *project, + GtkWidget *widget) +{ + gtk_widget_set_sensitive (widget, TRUE); +} + static void notebook_tab_added_cb (GtkNotebook *notebook, GladeDesignView *view, @@ -1686,7 +1682,14 @@ notebook_tab_added_cb (GtkNotebook *notebook, inspector = glade_inspector_new (); gtk_widget_show (inspector); glade_inspector_set_project (GLADE_INSPECTOR (inspector), project); - + + if (GPOINTER_TO_INT (g_object_get_data (G_OBJECT (view), "view-added-while-loading"))) + { + gtk_widget_set_sensitive (inspector, FALSE); + g_signal_connect (project, "parse-finished", + G_CALLBACK (set_widget_sensitive_on_load), inspector); + } + gtk_notebook_append_page (GTK_NOTEBOOK (window->priv->inspectors_notebook), inspector, NULL); @@ -2447,25 +2450,56 @@ static void tab_close_button_clicked_cb (GtkWidget *close_button, GladeProject *project) { - GladeDesignView *view; GladeWindow *window = GLADE_WINDOW (glade_app_get_window ()); gboolean close; - view = glade_design_view_get_from_project (project); - if (glade_project_get_modified (project)) { close = confirm_close_project (window, project); if (!close) return; } - do_close (window, view); + do_close (window, project); +} + +static void +project_load_progress_cb (GladeProject *project, + gint total, + gint step, + GtkProgressBar *progress) +{ + gchar *name; + + name = glade_project_get_name (project); + + /* translators: "project name (objects loaded in total objects)" */ + gtk_progress_bar_set_text (GTK_PROGRESS_BAR (progress), name); + g_free (name); + + gtk_progress_bar_set_fraction (GTK_PROGRESS_BAR (progress), step * 1.0 / total); + + while (gtk_events_pending ()) + gtk_main_iteration (); +} + +static void +project_load_finished_cb (GladeProject *project, + GtkWidget *tab_label) +{ + GtkWidget *progress, *label; + + progress = g_object_get_data (G_OBJECT (tab_label), "tab-progress"); + label = g_object_get_data (G_OBJECT (tab_label), "tab-label"); + + gtk_widget_hide (progress); + gtk_widget_show (label); } static GtkWidget * -create_notebook_tab (GladeWindow *window, GladeProject *project) +create_notebook_tab (GladeWindow *window, GladeProject *project, gboolean for_file) { GtkWidget *tab_label, *ebox, *hbox, *close_button, *label, *dummy_label; + GtkWidget *progress; tab_label = gtk_hbox_new (FALSE, 4); @@ -2490,15 +2524,33 @@ create_notebook_tab (GladeWindow *window, GladeProject *project) gtk_misc_set_padding (GTK_MISC (label), 0, 0); gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0); + progress = gtk_progress_bar_new (); + gtk_widget_add_events (progress, + GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK); + gtk_widget_set_name (progress, "glade-tab-label-progress"); + gtk_box_pack_start (GTK_BOX (hbox), progress, FALSE, FALSE, 0); + g_signal_connect (project, "load-progress", + G_CALLBACK (project_load_progress_cb), progress); + dummy_label = gtk_label_new (""); gtk_box_pack_start (GTK_BOX (hbox), dummy_label, TRUE, TRUE, 0); gtk_widget_show (ebox); gtk_widget_show (hbox); gtk_widget_show (close_button); - gtk_widget_show (label); gtk_widget_show (dummy_label); + if (for_file) + { + gtk_widget_show (progress); + + g_signal_connect (project, "parse-finished", + G_CALLBACK (project_load_finished_cb), tab_label); + } + else + gtk_widget_show (label); + + g_object_set_data (G_OBJECT (tab_label), "tab-progress", progress); g_object_set_data (G_OBJECT (tab_label), "tab-event-box", ebox); g_object_set_data (G_OBJECT (tab_label), "tab-label", label); @@ -2506,7 +2558,7 @@ create_notebook_tab (GladeWindow *window, GladeProject *project) } static void -add_project (GladeWindow *window, GladeProject *project) +add_project (GladeWindow *window, GladeProject *project, gboolean for_file) { GtkWidget *view, *label; @@ -2515,24 +2567,22 @@ add_project (GladeWindow *window, GladeProject *project) view = glade_design_view_new (project); gtk_widget_show (view); + g_object_set_data (G_OBJECT (view), "view-added-while-loading", GINT_TO_POINTER (for_file)); + + /* Update preview button */ + gtk_widget_set_sensitive (GTK_WIDGET (window->priv->preview_button), FALSE); + /* Pass ownership of the project to the app */ glade_app_add_project (project); g_object_unref (project); /* Custom notebook tab label (will be refreshed later) */ - label = create_notebook_tab (window, project); + label = create_notebook_tab (window, project, for_file); gtk_notebook_append_page (GTK_NOTEBOOK (window->priv->notebook), GTK_WIDGET (view), label); gtk_notebook_set_current_page (GTK_NOTEBOOK (window->priv->notebook), -1); refresh_notebook_tab_for_project (window, project); - - /* Kick the inspector in the balls here... */ - glade_project_selection_changed (project); - - /* Update preview button */ - gtk_widget_set_sensitive ( GTK_WIDGET (window->priv->preview_button), - glade_project_get_previewable (project)); } void @@ -2550,7 +2600,7 @@ glade_window_new_project (GladeWindow *window) _("Could not create a new project.")); return; } - add_project (window, project); + add_project (window, project, FALSE); } static gboolean @@ -2558,30 +2608,30 @@ open_project (GladeWindow *window, const gchar *path) { GladeProject *project; - project = glade_project_load (path); - if (!project) + project = glade_project_new (); + + add_project (window, project, TRUE); + update_default_path (window, path); + + if (!glade_project_load_from_file (project, path)) { + do_close (window, project); + recent_remove (window, path); return FALSE; } - - add_project (window, project); /* increase project popularity */ recent_add (window, glade_project_get_path (project)); - update_default_path (window, project); return TRUE; - } static void check_reload_project (GladeWindow *window, GladeProject *project) { - GladeDesignView *view; - gchar *path; - gint ret; - + gchar *path; + gint ret; GtkWidget *dialog; GtkWidget *button; gint response; @@ -2650,10 +2700,9 @@ check_reload_project (GladeWindow *window, GladeProject *project) } /* Reopen */ - view = glade_design_view_get_from_project (project); path = g_strdup (glade_project_get_path (project)); - do_close (window, view); + do_close (window, project); ret = open_project (window, path); g_free (path); } @@ -3208,7 +3257,6 @@ glade_window_init (GladeWindow *window) GtkWidget *widget; GtkWidget *sep; GtkAction *undo_action, *redo_action; - GtkAccelGroup *accel_group; window->priv = priv = GLADE_WINDOW_GET_PRIVATE (window); @@ -3274,6 +3322,7 @@ glade_window_init (GladeWindow *window) /* notebook */ priv->notebook = gtk_notebook_new (); + gtk_notebook_set_scrollable (GTK_NOTEBOOK (priv->notebook), TRUE); /* Show tabs (user preference) */ gtk_notebook_set_show_tabs (GTK_NOTEBOOK (priv->notebook), TRUE); @@ -3412,10 +3461,6 @@ glade_window_init (GladeWindow *window) glade_app_set_window (GTK_WIDGET (window)); - accel_group = gtk_ui_manager_get_accel_group(priv->ui); - - gtk_window_add_accel_group (GTK_WINDOW (glade_app_get_clipboard_view ()), accel_group); - glade_window_config_load (window); #ifdef MAC_INTEGRATION @@ -3447,6 +3492,18 @@ glade_window_class_init (GladeWindowClass *klass) widget_class->configure_event = glade_window_configure_event; widget_class->window_state_event = glade_window_state_event; + gtk_rc_parse_string ("style \"short_progress\"\n" + " { \n" + " GtkProgressBar::min-horizontal-bar-height = 1\n" + " GtkProgressBar::min-horizontal-bar-width = 1\n" + " GtkProgressBar::yspacing = 0\n" + " GtkProgressBar::xspacing = 4\n" + " xthickness = 0\n" + " ythickness = 0\n" + " }\n" + "\n" + "widget \"*.glade-tab-label-progress\" style \"short_progress\""); + g_type_class_add_private (klass, sizeof (GladeWindowPrivate)); } diff --git a/src/main.c b/src/main.c index e03de2a..4e440e3 100644 --- a/src/main.c +++ b/src/main.c @@ -161,7 +161,8 @@ main (int argc, char *argv[]) if (without_devhelp == FALSE) glade_window_check_devhelp (window); - + + gtk_widget_show (GTK_WIDGET (window)); /* load files specified on commandline */ if (files != NULL) @@ -181,8 +182,6 @@ main (int argc, char *argv[]) if (glade_app_get_project () == NULL) glade_window_new_project (window); - gtk_widget_show (GTK_WIDGET (window)); - gtk_main (); return 0;