Commit Graph

331 Commits

Author SHA1 Message Date
Matthias Clasen
8f3a3fda0b First pass a parsing a keyfile for default settings 2011-01-27 00:32:07 -05:00
Johan Dahlin
030b5ebf3e gtksettings: Add gtk-doc to silent an annotation warning 2011-01-20 12:12:22 -02:00
Matthias Clasen
6cdb6255af More documentation fixes 2011-01-06 09:44:08 -05:00
Matthias Clasen
16877b4d7b Reduce includes of gtktypeutils.h to a minimum 2011-01-04 12:05:05 -05:00
Matthias Clasen
1bcf8a0027 Remove sealed members from GtkSettings 2010-12-23 21:56:50 -05:00
Carlos Garnacho
56c3d4b1be Remove dead Gtk[Rc]Style code
Most code in gtkrc.c has been turned into a no-op, but that one
reverting in public API (gtk_rc_scanner_new() and such). GtStyle
is also more shallow, now fully relies in the backing
GtkStyleContext and all connection to gtkrc.c has been removed.

GtkBinding has been also affected, there is no replacement yet
for custom keybindings in style files, so that piece of code that
hooked into gtkrc has been replaced by a FIXME so in the future
it may be added back.
2010-12-18 12:10:00 +01:00
Carlos Garcia Campos
3b3307b946 Use gtk_style_context_reset_widgets() instead of gtk_rc_reset_styles() 2010-12-04 15:39:56 +01:00
Carlos Garcia Campos
a8c8c23c77 GtkSettings: add _gtk_settings_get_screen() private method 2010-12-04 15:39:55 +01:00
Carlos Garnacho
066f35bf28 Parse user CSS from $XDG_CONFIG_HOME/gtk-3.0/gtk.css 2010-12-04 15:39:53 +01:00
Matthias Clasen
e598f17871 Some header cleanups
Move GtkGradient to their own files, also move GtkBorder out of
gtkstyle.h, so that header can be all deprecated.
2010-12-04 15:39:47 +01:00
Matthias Clasen
d7a0fe5bf1 Document predefined style provider priorites
Also, rename GTK_STYLE_PROVIDER_PRIORITY_DEFAULT to _THEME and
use it for themes.
2010-12-04 15:39:35 +01:00
Carlos Garnacho
9a2d1e5433 GtkSettings: install theme CSS with a lower priority.
This is so GtkSettings has an opportunity to modify theme colors.
2010-12-04 15:39:12 +01:00
Carlos Garnacho
c37797a10c GtkSettings: Keep right refcount of the theme provider. 2010-12-04 15:39:08 +01:00
Carlos Garnacho
611cb007b4 GtkSettings: Ensure the theme CSS is loaded on startup. 2010-12-04 15:39:08 +01:00
Carlos Garnacho
a185954d7c Hardcode 3.0 version for style files and paths.
It's about time to start using the right paths.
2010-12-04 15:39:07 +01:00
Carlos Garnacho
605fa03248 Fix compile warning 2010-12-04 15:38:37 +01:00
Carlos Garnacho
4acc20abc1 s/GtkStyleSet/GtkStyleProperties/
The former name had oddities such as gtk_style_set_set() and such,
so the new name is nicer in that regard and not much longer.
2010-12-04 15:38:29 +01:00
Carlos Garnacho
4e02218f52 Use GdkRGBA all around in GtkStyleContext. 2010-12-04 15:38:25 +01:00
Carlos Garnacho
5c2cf1e934 Plug some leaks. 2010-12-04 15:38:18 +01:00
Carlos Garnacho
cc68e62e24 GtkSettings: Add a new provider for the theme CSS file. 2010-12-04 15:38:16 +01:00
Carlos Garnacho
a07fe2c0e6 Add generic providers per-screen.
The providers are added as soon as gtk GtkSettings object for the screen
is created.
2010-12-04 15:38:15 +01:00
Carlos Garnacho
621a95f515 GtkSettings: implement GtkStyleProvider 2010-12-04 15:38:11 +01:00
Javier Jardón
c418ea89e5 docs: Move documentation to inline comments: GtkSettings 2010-11-06 18:21:35 +01:00
Emmanuele Bassi
9f9edb662e settings: Move setting property registration in gtksettings.c
Some GtkSettings property are registered by other classes. This leads
to the "interesting" issue that setting GtkSettings:gtk-button-images
requires that the GtkButton class is referenced first - or that a
GtkButton is created.

https://bugzilla.gnome.org/show_bug.cgi?id=632538
2010-10-20 10:34:25 +01:00
Matthias Clasen
f53ad33994 Remove GtkObject completely 2010-09-26 22:18:19 -04:00
Benjamin Otte
9f47be2216 gtk: gdk_drawable_get_screen/visual => gdk_window_get_screen/visual 2010-09-26 15:11:33 +02:00
Matthias Clasen
e0aa12eb0a Tons of transfer annotations 2010-09-21 00:18:11 -04:00
Havoc Pennington
b3079c0d18 Use gint16 for GtkBorder
32K of border ought to be enough for any pixel dimensions. At least
until screens are so huge we start using doubles.

This saves a nice 64 bits of space when we have a GtkBorder
stored somewhere.

Signed integers are used to avoid surprising unsigned math
issues. Just search GTK's whole git log from inception
for "unsigned" if you want to find any number of commits
fixing signed/unsigned bugs.

https://bugzilla.gnome.org/show_bug.cgi?id=629387
2010-09-12 21:47:09 -04:00
Javier Jardón
0a07e9733b gtk/: fully remove gtkalias hacks
https://bugzilla.gnome.org/show_bug.cgi?id=623845
2010-07-10 02:51:26 +02:00
Bastien Nocera
4551509af1 Make it easy for apps to have dark themes
Some types of applications would benefit from having "dark" themes,
usually black backgrounds, such as:
* Movie players
* Photo management and display applications

To make it easy for those applications to prefer a dark theme,
we're adding the "gtk-application-prefer-dark-theme" GtkSetting, which
will make the theme loading code automatically look for a "gtkrc-dark"
file in the same directory you would usually find a gtkrc file.
the same name and a "-dark" suffix.

If no "-dark" gtkrc variant is available, the normal gtkrc will
be used.

https://bugzilla.gnome.org/show_bug.cgi?id=617955
2010-05-10 01:15:14 +01:00
Matthias Clasen
c59f76fda2 Only show the mnemonic underline when pressing Alt
...and show them in menus when navigating the menu with the keyboard.
This is similar to what other platforms do, and reduces visual clutter.
There is a setting to control this. Most of the work on this patch was
done by Thomas Wood. See bug 588554.
2009-12-20 03:11:05 -05:00
Colin Walters
6529c07614 [introspection] Merge in Gtk-custom.c annotations
The Gtk-custom.c file in gir-repository contained a number of
introspection annotations.  Merge those into the GTK source files.

Some documentation was moved from the tmpl/ files to accomodate
the addition of annotations.
2009-12-16 17:22:01 -02:00
Matthias Clasen
bbb4e4910b Make the toolbar-style and toolbar-size settings work
This broke when moving the setting from gtktoolbar.c to gtksettings.c.
Spotted by Christian Persch in bug 603271.
2009-11-28 21:43:59 -05:00
Matthias Clasen
d8dfad3eb9 Fix small documentation problems after the toolpalette merge
Several Since tags were wrong. Spotted by Christian Persch in
bug 603268.
2009-11-28 20:59:56 -05:00
Matthias Clasen
37255486d4 Merge branch 'master' into toolpalette 2009-11-26 23:54:55 -05:00
Javier Jardón
1a02671437 Fix compilation warning: Use gpointer variables 2009-11-02 23:49:00 +01:00
Johannes Schmid
c229306a18 Merge branch 'master' into toolpalette 2009-10-28 10:57:46 +01:00
Matthias Clasen
d3e6cffff7 Fix issues with symbolic colors in rc file parsing
Don't recreate the settings color hash every time, repopulate it
instead. This avoids invalidating the references held by RcContexts.
2009-10-25 23:47:59 -04:00
Yevgen Muntyan
3c510f028f Use standard mac shortcuts
This changes Ctrl-X, Ctrl-C, etc. to Cmd-X, Cmd-C, etc. Also,
Alt-Left and Alt-Right in text widgets bound to Ctrl-Left and
Ctrl-Right actions

https://bugzilla.gnome.org/show_bug.cgi?id=530351
2009-10-26 00:03:05 +01:00
Matthias Clasen
54863bbba6 Correct a doc comment
Add 'papi' to the list of possible print backends, and mention 'file'
instead of 'pdf'.
2009-08-08 22:43:16 -04:00
Murray Cumming
eb76666f1c GtkToolPalette: Use gtk-toolbar-style and gtk-toolbar-icon-size settings.
* gtk/gtksettings.c: (settings_install_property_parser): Handle enums too.
	* gtk/gtktoolbar.c (gtk_toolbar_class_init): Move the gtk-toolbar-style and
	gtk-toolbar-icon-size settings into GtkSettings because we now use it in
	GtkToolPalette too.

	* gtk/gtktoolpalette.[h|c]: Add gtk_tool_palette_unset_style() and
	gtk_tool_palette_unset_icon_size(), and use the toolbar-style and
	icon-size from GtkSettings if these are not set via the set functions.

	* demos/gtk-demo/toolpalette.c (on_combo_style_changed),
	(do_toolpalette): Add and handle a -1 value to mean the desktop "Default"
	toolbar style.
2009-07-16 17:51:55 +02:00
Behdad Esfahbod
03e5467b68 Change the "gtk-fontconfig-timestamp" property from int to uint. Doesn't
2009-02-01  Behdad Esfahbod  <behdad@gnome.org>

        * gtk/gtksettings.c (gtk_settings_class_init): Change the 
        "gtk-fontconfig-timestamp" property from int to uint.  Doesn't affect
        anything in practice, except that  it overflows years later...


svn path=/trunk/; revision=22270
2009-02-01 06:04:12 +00:00
Murray Cumming
53097873ca documentation description: Mention the various properties and the
2009-01-15  Murray Cumming  <murrayc@murrayc.com>

* gtk/gtkimcontext.c: documentation description: Mention the various 
properties and the environment variable, with links to their 
 documentation.
* gtk/gtksettings.c:
* gtk/gtktextview.c: Make the im-module property documentation more 
expansive.

svn path=/trunk/; revision=22123
2009-01-15 16:53:27 +00:00
Matthias Clasen
9a8c209a80 When reconstructing the color hash, try harder to avoid unnecessary
* gtk/gtksettings.c: When reconstructing the color hash, try
        harder to avoid unnecessary notification, since this can lead
        to infinite reloading of rc files in some situations.


svn path=/trunk/; revision=21182
2008-08-22 03:51:56 +00:00
Behdad Esfahbod
a7f6e2c8fb Bug 547680 – fontconfig monitoring can crash apps
2008-08-15  Behdad Esfahbod  <behdad@gnome.org>

        Bug 547680 – fontconfig monitoring can crash apps

        * gtk/gtksettings.c (settings_update_fontconfig): Clear pango cache
        before recreating fontconfig config.


svn path=/trunk/; revision=21134
2008-08-15 19:43:20 +00:00
Matthias Clasen
785b5f1b3f Improve a string
svn path=/trunk/; revision=20995
2008-08-04 23:36:17 +00:00
Matthias Clasen
ca66090cd5 Add translator comment
svn path=/trunk/; revision=20950
2008-08-03 19:25:00 +00:00
Matthias Clasen
a2802754f1 Bug 327582 – Incomplete docs for GtkSettings::gtk-icon-sizes
2008-07-06  Matthias Clasen  <mclasen@redhat.com>

        Bug 327582 – Incomplete docs for GtkSettings::gtk-icon-sizes

        * gtk/gtksettings.c: Improve the documentation of the
        gtk-icon-sizes setting. Proposed by Tommi Komulainen.



svn path=/trunk/; revision=20790
2008-07-06 06:28:47 +00:00
Kristian Rietveld
4cceb2f1dc Bug 455268 - Add gtk-enable-tooltips GtkSetting
2008-07-02  Kristian Rietveld  <kris@imendio.com>

	Bug 455268 - Add gtk-enable-tooltips GtkSetting

	* gtk/gtk.symbols:
	* gtk/gtktoolbar.[ch] (gtk_toolbar_[gs]et_tooltips): deprecated.

	* gtk/gtksettings.c: introduce gtk-enable-tooltips XSetting.

	* gtk/gtktooltip.c (_gtk_tooltip_handle_event): take the newly
	introduced XSetting into account.

	* demos/gtk-demo/appwindow.c: don't use the now deprecated
	gtk_toolbar_set_tooltips().


svn path=/trunk/; revision=20730
2008-07-02 09:32:14 +00:00
Cody Russell
57223c9a05 Revert name change
svn path=/trunk/; revision=20724
2008-07-01 22:57:50 +00:00
Matthias Clasen
44e2afaadb Add event sound settings. Patch by Lennart Pöttering.
* gdk/x11/gdksettings.c:
        * gtk/gtksettings.c: Add event sound settings.
        Patch by Lennart Pöttering.


svn path=/trunk/; revision=20717
2008-07-01 06:22:04 +00:00
Cody Russell
fce9c8b7d4 Practically everything changed.
2008-06-30  Cody Russell  <bratsche@gnome.org>

        * Practically everything changed.

        Change	all references	of GIMP	Toolkit	(and variations	of it)
        to GTK+	Toolkit, showing no mercy at all to our	beloved
	ancestry. (#540529)


svn path=/trunk/; revision=20709
2008-06-30 23:01:56 +00:00
Johan Dahlin
d97cdbdf53 Include "config.h" instead of <config.h> Command used: find -name
2008-06-21  Johan Dahlin  <jdahlin@async.com.br>

    * *.[ch]: Include "config.h" instead of <config.h>
    Command used:
    find -name \*.[ch]|xargs perl -p -i -e 's/^#include <config.h>/#include "config.h"/g'
    Rubberstamped by Mitch and Tim


svn path=/trunk/; revision=20669
2008-06-22 14:28:52 +00:00
Michael Natterer
73800758fd deprecate gtk_type_class().
2008-06-18  Michael Natterer  <mitch@imendio.com>

	* gtk/gtktypeutils.[ch]: deprecate gtk_type_class().

	* gtk/gtk.symbols: changed accordingly.

	* gtk/gtksettings.c (gtk_settings_install_property)
	(gtk_settings_install_property_parser): get rid of using
	gtk_type_class() by keeping a static reference to GtkSettingsClass
	around in both functions and passing that pointer on to
	settings_install_property_parser().

	* tests/testgtk.c: use g_type_class_ref()/unref() instead of
	gtk_type_class().

	* gtk/gtkobject.c: #undef GTK_DISABLE_DEPRECATED around including
	gtktypeutils.h.


svn path=/trunk/; revision=20444
2008-06-18 07:00:46 +00:00
Behdad Esfahbod
2a0358f6ce Bug 538182 – pango_cairo_context_update_layout is not noop after
2008-06-16  Behdad Esfahbod  <behdad@gnome.org>

        Bug 538182 – pango_cairo_context_update_layout is not noop after
        gtk_widget_create_pango_layout

        * gtk/gtksettings.c (settings_update_font_options): Make sure all
        font option fields are set to non-DEFAULT values.


svn path=/trunk/; revision=20406
2008-06-16 18:53:17 +00:00
Behdad Esfahbod
74b8297ee3 Bug 536185 – monitor font configuration
2008-06-06  Behdad Esfahbod  <behdad@gnome.org>

        Bug 536185 – monitor font configuration

        * configure.in:
        * gdk/x11/gdksettings.c:
        * gtk/gtksettings.c (gtk_settings_class_init),
        (gtk_settings_notify), (settings_update_fontconfig):
        Monitor xsettings key Fontconfig/Timestamp and upon change,
        reread fontconfig configuration, clear Pango's caches, and
        redraw all widgets.


svn path=/trunk/; revision=20324
2008-06-06 16:39:37 +00:00
Cody Russell
d46b2c14a8 Bug 507389 – use gslice for gtksettings
2008-05-25  Cody Russell  <bratsche@gnome.org>

        Bug 507389 – use gslice for gtksettings

        * gtk/gtksettings.c: Change from g_new0/g_free to use GSlice.
        Report and patch by Christian Persch.


svn path=/trunk/; revision=20168
2008-05-25 23:47:36 +00:00
Emmanuele Bassi
beb54a9b39 Bug 488507 – boundless growth of .recently-used.xbel file slows down
2008-04-15  Emmanuele Bassi  <ebassi@gnome.org>

	Bug 488507 – boundless growth of .recently-used.xbel file
	slows down applications

	* gtk/gtkrecentmanager.c:
	(gtk_recent_manager_init),
	(gtk_recent_manager_real_changed),
	(gtk_recent_manager_set_filename),
	(gtk_recent_manager_clamp_to_age): Clamp the recently
	used resources list by the age of its items, using
	the newly added GtkSettings property.

	* gtk/gtksettings.c (gtk_settings_class_init): Add the
	gtk-recent-files-max-age property, controlling the
	maximum age of the items in the recently used resources
	list.

svn path=/trunk/; revision=20006
2008-04-15 22:37:32 +00:00
Matthias Clasen
f8a1be3a04 Add a gtk-im-module GTK setting
2007-12-17  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtksettings.c: Add a gtk-im-module GTK setting
        * gdk/win32/gdkproperty-win32.c:
        * gdk/x11/gdksettings.c: ...and back it by a Gtk/IMModule X setting.

        * gtk/gtkimmodule.[hc]:
        * gtk/gtkimmulticontext.[hc]: When determining the default context,
        look at the gtk-im-module setting, and listen for changes to the
        setting.  (#502446, Akira Tagoh)


svn path=/trunk/; revision=19195
2007-12-18 03:24:17 +00:00
Kristian Rietveld
35cae8d92b lower the default timeout values for gtk-tooltip-timeout and
2007-08-29  Kristian Rietveld  <kris@imendio.com>

	* gtk/gtksettings.c: lower the default timeout values for
	gtk-tooltip-timeout and gtk-tooltip-browse-timeout. (#451202,
	Richard Hult).


svn path=/trunk/; revision=18701
2007-08-29 12:01:15 +00:00
Matthias Clasen
13277b42e2 Apply a patch by Emmanuele Bassi to limit the number of shown recent
2007-07-20  Matthias Clasen  <mclasen@redhat.com>

        Apply a patch by Emmanuele Bassi to limit the number
        of shown recent files.  (#439715)

        * gtk/gtksettings.c: Add a setting for the number
        of recent files to display by default.

        * gtk/gtkrecentchooserdefault.c:
        * gtk/gtkfilechooserdefault.c: Respect the limit.

        * gtk/gtkrecentmanager.c: Remove the poll timeout in
        dispose, and do not stat more often than every 5 seconds.

        * gtk/gtkrecentchooserutils.c:
        * gtk/gtkrecentchoosermenu.c: Cleanups

        * tests/testrecentchoosermenu.c: Test limits.


svn path=/trunk/; revision=18510
2007-07-20 10:39:03 +00:00
Matthias Clasen
e1926de86a Merge color scheme before sending notification.
2007-07-19  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtksettings.c (apply_queued_setting): Merge color
        scheme before sending notification.



svn path=/trunk/; revision=18504
2007-07-19 15:32:04 +00:00
Matthias Clasen
8210544708 Fix a typo
svn path=/trunk/; revision=18076
2007-06-07 18:03:57 +00:00
Matthias Clasen
b80b526080 Require gtk-doc 1.6, for signal and property links.
2007-05-26  Matthias Clasen  <mclasen@redhat.com>

        * configure.in: Require gtk-doc 1.6, for signal and property links.
        * gtk/gtkbox.c:
        * gtk/gtkbutton.c:
        * gtk/gtkcontainer.c:
        * gtk/gtkdialog.c:
        * gtk/gtkentry.c:
        * gtk/gtkimage.c:
        * gtk/gtklabel.c:
        * gtk/gtkmisc.c:
        * gtk/gtksettings.c:
        * gtk/gtkwidget.c: Documentation improvements, link signals
        and properties where it makes sense.

svn path=/trunk/; revision=17924
2007-05-26 06:59:36 +00:00
Matthias Clasen
c3d16b2780 Make sure we always have a color_hash. (#423916, Jens Granseuer)
2007-04-30  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtksettings.c (settings_update_color_scheme):
        Make sure we always have a color_hash.  (#423916, Jens Granseuer)



svn path=/trunk/; revision=17748
2007-04-30 19:27:08 +00:00
Matthias Clasen
034ec57184 Support passing a print settings file to the preview command. (#403717,
2007-04-29  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkprintoperation-unix.c
        (_gtk_print_operation_platform_backend_launch_preview):
        Support passing a print settings file to the preview
        command.  (#403717, Christian Persch)

        * gtk/gtksettings.c: Document %s in the
        gtk-print-preview-command setting.


svn path=/trunk/; revision=17704
2007-04-29 06:59:27 +00:00
Behdad Esfahbod
166d3ff65b Don't set metrics-hinting font option. Rely on the default value which is
2007-04-03  Behdad Esfahbod  <behdad@gnome.org>

        * gtk/gtksettings.c (settings_update_font_options): Don't set
        metrics-hinting font option.  Rely on the default value which is
        on for all raster cairo surfaces. (#425985)


svn path=/trunk/; revision=17582
2007-04-03 23:17:11 +00:00
Matthias Clasen
229999d8a9 Freeze property notification. Handle the gtk-color-scheme xsetting being
2007-03-22  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtksettings.c (merge_color_scheme): Freeze property
        notification.
        * gtk/gtksettings.c (_gtk_settings_handle_event): Handle
        the gtk-color-scheme xsetting being unset.

        * gtk/gtkrc.c (gtk_rc_reparse_all_for_settings): Handle
        recursion locally.



svn path=/trunk/; revision=17553
2007-03-22 21:09:08 +00:00
Matthias Clasen
82ce59cd0f Remove unnecessary NULL checks before g_free(). (#369666, Morten Welinder,
2007-03-09  Matthias Clasen <mclasen@redhat.com>

        * Everywhere: Remove unnecessary NULL checks before
        g_free().  (#369666, Morten Welinder, Djihed Afifi)

        * configure.in: Check for ftw.h



svn path=/trunk/; revision=17444
2007-03-09 21:57:37 +00:00
Matthias Clasen
cc1bdc2bc3 remove forgotten debug code
svn path=/trunk/; revision=17370
2007-03-01 06:47:15 +00:00
Matthias Clasen
b30b4ccfa4 Always store gtk-color-scheme values from all sources in the
2007-03-01  Matthias Clasen <mclasen@redhat.com>

        * gtk/gtksettings.c: Always store gtk-color-scheme
        values from all sources in the ColorSchemeData struct
        and ignore the property_value for gtk-color-scheme.
        This fixes #412596, reported by Thomas Wood.



svn path=/trunk/; revision=17369
2007-03-01 06:44:00 +00:00
Matthias Clasen
c955072b67 Make color scheme update properly when changing themes. (#402131, Benjamin
2007-02-28  Matthias Clasen <mclasen@redhat.com>

        * gtk/gtksettings.c: Make color scheme update properly
        when changing themes.  (#402131, Benjamin Berg)



svn path=/trunk/; revision=17366
2007-02-28 19:37:08 +00:00
Kristian Rietveld
0ef946ed64 New tooltips API.
2007-02-06  Kristian Rietveld  <kris@imendio.com>

	New tooltips API.

	* gtk/Makefile.am
	* gtk/gtk.h
	* gtk/gtk.symbols: build system foo.

	* gtk/gtkmain.c (gtk_main_do_event): call tooltip event handler
	hook for appropriate events.

	* gtk/gtkmarshalers.list: add BOOLEAN:INT,INT,BOOLEAN,OBJECT.

	* gtk/gtkrc.c: add style for gtk-tooltip.

	* gtk/gtksettings.c (gtk_settings_class_init): make the
	different tooltip timeouts configurable.

	* gtk/gtkwidget.[ch]: add new properties, signals, make sure
	tooltips are hidden on unmap, destroy, update window event
	mask on realize, hook into focus change and show help
	handlers.

	* gtk/gtkwindow.h: move GtkWindow typdef to gtkwidget.h ...

	* gtk/gtktooltip.[ch]: new files.

	* tests/Makefile.am
	* tests/testtooltips.c: add test application.


svn path=/trunk/; revision=17264
2007-02-06 10:25:21 +00:00
Michael Natterer
17fed85c24 add new boolean settings gtk-enable-accels and gtk-enable-mnemonics which
2007-02-05  Michael Natterer  <mitch@imendio.com>

	* gtk/gtksettings.c: add new boolean settings gtk-enable-accels
	and gtk-enable-mnemonics which enable/disable accelerators and
	mnemonics (bug #72375, based on a patch from Tommi Komulainen).

	* gtk/gtkwindow.c (gtk_window_activate_key)
	* gtk/gtkmenushell.c (gtk_menu_shell_key_press): don't invoke them
	if the resp. setting is FALSE.

	* gtk/gtkaccellabel.c (gtk_accel_label_refetch)
	* gtk/gtklabel.c (gtk_label_set_pattern_internal): don't display
	them if the setting is FALSE.

	* gtk/gtklabel.c: added signal connection to the screen's settings
	object and traverse all widgets on the screen when the setting
	changes. It's slightly ugly to also update GtkAccelLabels here,
	but less ugly than connecting and traversing all widgets twice.


svn path=/trunk/; revision=17262
2007-02-05 14:11:39 +00:00
Tim Janik
98170cf57e cleaned up ::color-hash registration to not abuse class_n_properties and
Tue Jan 30 12:09:56 2007  Tim Janik  <timj@gtk.org>

        * gtk/gtksettings.c: cleaned up ::color-hash registration to not abuse
        class_n_properties and leave an uninitialized value array behind.



svn path=/trunk/; revision=17235
2007-01-30 11:10:22 +00:00
Matthias Clasen
7979cd6ac7 Move a few settings to gtksettings.c to make sure they show up in the
2006-12-30  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkprintoperation-unix.c:
        * gtk/gtkprintbackend.c:
        * gtk/gtkfilechooserdefault.c:
        * gtk/gtksettings.c: Move a few settings to gtksettings.c
        to make sure they show up in the docs.  (#365364, Christian
        Persch)



svn path=/trunk/; revision=16992
2006-12-31 05:54:46 +00:00
Kristian Rietveld
0677ad8e59 Support inverting arrows via XSetting. (#377979, Yevgen Muntyan).
2006-12-27  Kristian Rietveld  <kris@gtk.org>

	Support inverting arrows via XSetting. (#377979, Yevgen Muntyan).

	* gtk/gtksettings.c (gtk_settings_class_init): add new setting
	gtk-alternative-sort-arrows.

	* gdk/win32/gdkproperty-win32.c (gdk_screen_get_setting): add
	new setting.

	* modules/engines/ms-windows/Theme/gtk-2.0/gtkrc: set new
	gtk-alternative-sort-arrows setting to true.

	* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_update_button):
	invert direction if gtk-alternative-sort-arrows is TRUE.
2006-12-27 19:52:25 +00:00
Matthias Clasen
57b078de1e Change the way in which color scheme information is merged to correctly
2006-12-11  Matthias Clasen  <mclasen@redhat.com>

	* gtksettings.c: Change the way in which color scheme information
	is merged to correctly handle vanishing colors.  (#374420,
	Benjamin Berg, patch by Callum McKenzie)
	Also allow to separate entries in color schemes by ';'
	instead of newline.
2006-12-11 06:16:21 +00:00
Michael Natterer
7f374a74ba Add new infrastructure for notifications of failed keyboard navigation and
2006-11-16  Michael Natterer  <mitch@imendio.com>

	Add new infrastructure for notifications of failed keyboard
	navigation and navigation with restricted set of keys.

	The patch handles configurable beeping, navigating the GUI with
	cursor keys only (as in phone environments), and configurable
	wrap-around. Fixes bugs #322640, #70986, #318827, #334726, #334742
	and #309291.

	* gtk/gtksettings.c: added properties gtk-keynav-cursor-only,
	gtk-keynav-wrap-around and gtk-error-bell.

	* gtk/gtkwidget.[ch]: added new signal "keynav-failed" and public
	API to emit it. Added New function gtk_widget_error_bell() which
	looks at the gtk-error-bell setting and calls gdk_window_beep()
	accordingly.

	* gtk/gtk.symbols: add the new widget symbols.

	* gtk/gtkcellrendereraccel.c
	* gtk/gtkimcontextsimple.c
	* gtk/gtkmenu.c
	* gtk/gtknotebook.c: use gtk_widget_error_bell() or look at the
	gtk-error-bell setting instead of calling gdk_display_beep()
	unconditionally.

	* gtk/gtkcombobox.c
	* gtk/gtkentry.c
	* gtk/gtkiconview.c
	* gtk/gtklabel.c
	* gtk/gtkmenushell.c
	* gtk/gtkspinbutton.c
	* gtk/gtktextview.c
	* gtk/gtktreeview.c: call gtk_widget_error_bell() on failed keynav.

	* gtk/gtkentry.c
	* gtk/gtklabel.c
	* gtk/gtkrange.c
	* gtk/gtktextview.c: consult gtk_widget_keynav_failed() on failed
	cursor navigation and leave the widget if it returns FALSE.

	* gtk/gtkmenushell.c
	* gtk/gtknotebook.c: only wrap around if gtk-keynav-wrap-around
	is TRUE.

	* gtk/gtkradiobutton.c: ask gtk_widget_keynav_failed() to decide
	whether to to wrap-around, and don't select active items on cursor
	navigation if gtk-keynav-cursor-only is TRUE. Should look at
	gtk-keynav-wrap-around too, will look into that.
2006-11-16 12:56:30 +00:00
Matthias Clasen
5c547a504f Don't leak the to_reset list. (#353914, Chris Wilson)
2006-09-09  Matthias Clasen <mclasen@redhat.com>

        * gtk/gtksettings.c (_gtk_settings_reset_rc_values):
        Don't leak the to_reset list.  (#353914, Chris Wilson)
2006-09-09 05:22:16 +00:00
Matthias Clasen
5b0de8d597 Stop cursor blinking after a configurable timeout. (#353670, #352442,
Stop cursor blinking after a configurable timeout.
	(#353670, #352442, Arjan van de Ven, Manu Cornet)

	* gtk/gtksettings.c (gtk_settings_class_init): Add a
	gtk-cursor-blink-timeout setting, which specifies the number
	of seconds that the cursor should blink after a user interaction.
	The default value is G_MAXINT to preserve the current behaviour.

	* gtk/gtkentry.c (blink_cb): Stop blinking after blink-timeout
	seconds.

	* gtk/gtkentry.c (gtk_entry_completion_key_press)
	(gtk_entry_button_press, gtk_entry_focus_in): Reset the
	blink timer.

	* gtk/gtktextview.c (blink_cb): Stop blinking after blink-timeout
	seconds.

	* gtk/gtktextview.c (gtk_text_view_key_press_event)
	(gtk_text_view_button_press_event, gtk_text_view_focus_in_event):
	Reset the blink timer.
2006-09-01 02:14:30 +00:00
Matthias Clasen
d9c4801d94 Move a call 2006-07-27 14:13:18 +00:00
Matthias Clasen
fee9accbd1 New function to destroy an rc context.
2006-07-21  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkrc.h:
	* gtk/gtkrc.c (_gtk_rc_context_destroy): New function to
	destroy an rc context.

	* gtk/gtksettings.c (gtk_settings_finalize): Destroy the rc context.
	(gtk_settings_get_for_screen): Unref the settings when the screen
	goes away. (#348096, Chris Wilson)
2006-07-21 16:12:44 +00:00
Michael Natterer
232414f371 gtk/gtkrc.c fix canonicalization of property names which was broken after
2006-07-07  Michael Natterer  <mitch@imendio.com>

	* gtk/gtkrc.c
	* gtk/gtksettings.c: fix canonicalization of property names which
	was broken after recent constant string cleanup.
2006-07-07 15:54:06 +00:00
Matthias Clasen
f8794cccca Improve consistency of signal and property names 2006-07-06 05:14:03 +00:00
Matthias Clasen
113f364a37 More of the same 2006-05-14 04:25:34 +00:00
Matthias Clasen
f26aad1916 Boilerplate reduction 2006-05-02 23:56:43 +00:00
Matthias Clasen
a5f63de17b Fix problems with setting symbolic colors from rc files. (#338345,
2006-04-30  Matthias Clasen  <mclasen@localhost.localdomain>

	Fix problems with setting symbolic colors from rc files.
	(#338345, Benjamin Berg)

	* gtk/gtkrc.c (gtk_rc_settings_changed, gtk_rc_font_name_changed)
	(gtk_rc_color_hash_changed, gtk_rc_reparse_all_for_settings): Don't
	freeze notification for settings changes while parsing; instead
	manually avoid recursion, and update the color hashes.
2006-04-30 06:10:37 +00:00
Matthias Clasen
adf11020fd Fix typos in property blurbs. (#338772, Clytie Siddall)
2006-04-17  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtksettings.c (gtk_settings_class_init):
	* gtk/gtkentry.c (gtk_entry_class_init): Fix typos
	in property blurbs.  (#338772, Clytie Siddall)
2006-04-17 12:59:01 +00:00
Matthias Clasen
24199c0f56 Fix leaks 2006-03-26 06:13:17 +00:00
Matthias Clasen
411d798e93 Improved DND support for GtkNotebook (#332991, Carlos Garnacho)
2006-03-22  Matthias Clasen  <mclasen@redhat.com>

	Improved DND support for GtkNotebook  (#332991, Carlos Garnacho)

	* gtk/gtk.symbols:
	* gtk/gtkdnd.h:
	* gtk/gtkdnd.c: Add a track_motion flag on GtkDragDest
	with getter and setter, for cases where the drag destination
	is interested in drag motion events independent of targets.

	* gtk/gtksettings.c (gtk_settings_class_init): Add a setting
	for the timeout used when expanding during DND.

	* gtk/gtknotebook.c: Use the track_motion flag to switch
	notebook tabs when hovering over tabs during DND.
2006-03-22 20:17:23 +00:00
Michael Natterer
3b3b722ccf added boolean property gtk-touchscreen-mode, which essentially means
2006-02-22  Michael Natterer  <mitch@imendio.com>

	* gtk/gtksettings.c: added boolean property gtk-touchscreen-mode,
	which essentially means "there are no motion notify events", so
	widgets can't use the pointer hovering them for anything.

	* gtk/gtkmenu.c: if gtk-touchscreen-mode is TRUE, scroll menus
	when clicking the scroll arrows, since hovering goes undetected.
	Fixes bug #323028.

	Added boolean style property "double-arrows" which always makes
	both scroll arrows visible when the menu is too long.
	For pushed-in popup menus, both arrows are always shown
	(regardless of double-arrows), in order to fix user confusion
	about the blank area. Fixes bug #129463.
2006-02-22 10:10:23 +00:00
Matthias Clasen
2ec7ee28b8 Only set the cursor size if it is != 0.
2006-01-25  Matthias Clasen  <mclasen@redhat.com>

	* gdk/x11/gdkcursor-x11.c (gdk_x11_display_set_cursor_theme): Only
	set the cursor size if it is != 0.

	* gtk/gtksettings.c (gtk_settings_class_init): Change the default value
	of gtk-cursor-theme-size to 0, meaning "use default".
2006-01-25 15:41:40 +00:00
Matthias Clasen
f35d4e1e47 Allow falling back to another icon theme before hicolor. (#325546, Rodney
2006-01-11  Matthias Clasen  <mclasen@redhat.com>

	Allow falling back to another icon theme before
	hicolor.   (#325546, Rodney Dawes)

	* gtk/gtksettings.c: Add a gtk-fallback-icon-theme setting.

	* gdk/x11/gdkevents-x11.c: Map it to the XSetting Net/FallbackIconTheme.

	* gtk/gtkicontheme.c: Consult the fallback icon theme before
	looking in hicolor.
2006-01-11 06:20:17 +00:00
Matthias Clasen
2962480b2c Update class_n_properties after installing color-hash, since other classes
2005-12-21  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtksettings.c (gtk_settings_class_init): Update
	class_n_properties after installing color-hash, since
	other classes install settings, too.

	* gtk/gtkctree.c:
	* gtk/gtkclist.c: Fix some mistakes in the conversion
	from mem chunks to slice allocator.
2005-12-21 21:05:22 +00:00
Matthias Clasen
af467cfb65 Fix a crash 2005-12-19 05:28:49 +00:00
Matthias Clasen
bc190f2a70 Rework the way the color scheme setting is inherited. Now the overriding
2005-12-16  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtksettings.[hc]: Rework the way the color scheme setting
	is inherited. Now the overriding is done on a per-color basis,
	rather than for the setting as a whole. This has the effect
	that themes can declare defaults for all the symbolic colors they
	use by specifying a value for the gtk-color-scheme setting in
	their rc file, while still allowing the XSetting to override
	"standard" symbolic colors. The hash table is now available
	through the color-hash property.

	* gtk/gtkrc.c: Use the new color-hash property.
2005-12-16 18:45:31 +00:00
Matthias Clasen
128bc9f3ea Make the gtk-color-scheme setting work.
2005-12-12  Matthias Clasen  <mclasen@redhat.com>

	Make the gtk-color-scheme setting work.

	* gtk/gtksettings.h:
	* gtk/gtksettings.c (_gtk_settings_get_color_hash): Add a getter
	that takes care of initializing the color hash if it is not
	already there.

	* gtk/gtkrc.c (gtk_rc_color_scheme_changed, gtk_rc_context_get):
	And use it here.
2005-12-12 15:48:43 +00:00
Behdad Esfahbod
1d2e767a91 Turn metrics hinting on (part of #307196)
2005-12-06  Behdad Esfahbod  <behdad@gnome.org>

        * gtk/gtksettings.c (settings_update_font_options): Turn metrics
        hinting on (part of #307196)
2005-12-07 02:33:10 +00:00
Michael Natterer
dd7c0d77b1 Merged modified patch from maemo-gtk that allows to disable toolbar
2005-12-01  Michael Natterer  <mitch@imendio.com>

	Merged modified patch from maemo-gtk that allows to disable
	toolbar animations. Addresses bug #142582.

	* gtk/gtksettings.c: added boolean property "gtk-enable-animations".
	(patch from Christian Neumair)

	* gtk/gtktoolbar.c: don't animate toolbar changes if the settings
	property is FALSE. Replaced the individual "notify::foo"
	connections to GtkSettings by a single "notify" callback and
	dispatch internally.
2005-12-01 20:49:17 +00:00
Matthias Clasen
9856c1b25a Document symbolic colors and color expressions.
2005-11-23  Matthias Clasen  <mclasen@redhat.com>

	* gtk/tmpl/gtkrc.sgml: Document symbolic colors and
	color expressions.
2005-11-23 17:11:36 +00:00
Michael Natterer
de3155a4c2 Added symbolic themable colors. Patch is a merged version of proposals
2005-11-23  Michael Natterer  <mitch@imendio.com>

	Added symbolic themable colors. Patch is a merged version of
	proposals from Matthias and maemo-gtk. Fixes bug #114355.

	* configure.in: require glib >= 2.9.1 for refcountable hashtables.

	* gtk/gtksettings.c: added property "color-scheme" which is a
	string defining colors like "foreground:black\nbackground:grey".
	Automatically provide a name->GdkColor hash table mapping for the
	color scheme.

	* gtk/gtkrc.[ch]: added list of color hashes that works like the
	list of icon factories. Append the color scheme hash from
	GtkSettings if it exists. Extended gtkrc syntax to allow defining
	and referencing of logical colors. Also allow to modulate colors
	in gtkrc by using arbitrary expressions of mix(), shade(),
	lighter() and darker(). Added internal function
	_gtk_rc_style_get_color_hashes().

	* gtk/gtkstyle.[ch]: keep a private list of color hashes around.
	Get the list from _gtk_rc_style_get_color_hashes(). Export
	internal function _gtk_style_shade() (used by above color
	expressions). Added public API gtk_style_lookup_color() which
	looks up a logical color by name.

	* gtk/gtk.symbols: add gtk_style_lookup_color

	* tests/testgtkrc: use symbolic colors for making
	the scrollbars red.
2005-11-23 10:33:58 +00:00
Michael Natterer
dfa4870b74 Made button-press timeouts which work like key repeat timeouts
2005-11-22  Michael Natterer  <mitch@imendio.com>

	Made button-press timeouts which work like key repeat timeouts
	configurable. Addresses bug #142582:

	* gtk/gtksettings.c: added properties "gtk-timeout-initial" and
	"gtk-timeout-repeat" which defalt to 200/20 (ms).

	Use the values from GtkSettings instead of hardcoding them
	(the repeat value is either taken as-is for fast repeat or
	multiplied by 5 for slow repeat). Changed all places to use these
	two standard initial/repeat timings:

	* gtk/gtkcalendar.c (unchanged 200/20)
	* gtk/gtknotebook.c (unchanged 200/100)
	* gtk/gtkpathbar.c (changed from 300/150 to 200/100)
	* gtk/gtkrange.c (changed from 250/100 to 200/100)
	* gtk/gtkspinbutton.c (unchanged 200/20)
2005-11-22 12:40:15 +00:00
Matthias Clasen
f2724a2515 Add settings to hide the input method and Unicode control character
2005-10-24  Matthias Clasen  <mclasen@redhat.com>

        Add settings to hide the input method and Unicode control character
        submenus in the context menus of GtkEntry and GtkTextView.

        * gdk/x11/gdkevents-x11.c: Map GTK+ settings to X settings.

        * gtk/gtksettings.c (gtk_settings_class_init): Declare GTK+ settings here.

        * gtk/gtktextview.c (popup_targets_received):
        * gtk/gtkentry.c (popup_targets_received): Use the settings here.
2005-10-24 20:01:57 +00:00
Matthias Clasen
463aab93dd Various cleanups. (#315360, Kjartan Maraas)
2005-09-13  Matthias Clasen  <mclasen@redhat.com>

	* gtk/*.c: Various cleanups.  (#315360, Kjartan Maraas)
2005-09-13 19:57:42 +00:00
Matthias Clasen
94eec04267 Intern some more strings.
2005-09-01  Matthias Clasen  <mclasen@redhat.com>

        * gdk/*.c: Intern some more strings.
        * gtk/gtkintl.h:
        * gtk/*.c: Define an I_() macro and use it instead of the
        bulky g_intern_static_string().
2005-09-01 05:11:46 +00:00
Matthias Clasen
f4bbe8f0de Also intern static strings passed to g_object_set_data() 2005-08-31 17:58:55 +00:00
Matthias Clasen
c09cc89317 Intern type names in code generated by glib-mkenums, too.
2005-08-31  Matthias Clasen  <mclasen@redhat.com>

	* gdk/Makefile.am:
	* gtk/Makefile.am: Intern type names in code generated by
	glib-mkenums, too.

	* gtk/*.c:
	* gdk/x11/*.c:
	* gdk/*.c: Intern type names before registering the type to avoid
	unnecessary copies.
2005-08-31 16:53:43 +00:00
Matthias Clasen
acb9a09750 Don't leak the cursor theme name. (#314693, Kjartan Maraas)
2005-08-29  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtksettings.c (settings_update_cursor_theme): Don't
	leak the cursor theme name.  (#314693, Kjartan Maraas)
2005-08-29 04:48:19 +00:00
Matthias Clasen
b3a757762c Make the GdkScreen font options api public, and add properties
2005-08-26  Matthias Clasen  <mclasen@redhat.com>

	* gdk/gdk.symbols:
	* gdk/gdkscreen.h:
	* gdk/gdkscreen.c: Make the GdkScreen font options api
	public, and add properties GdkScreen::font-options and
	GdkScreen::resolution.  (#314004)

	* gdk/gdkpango.c:
	* gtk/gtksettings.c:
	* gtk/gtkwidget.c: Adjust all callers.

	* gdk/gdkintl.h: Simplify and use glib/gi18n-lib.h.
	* gdk/gdkpango.c: Include gdkintl.h, not gtkintl.h.
	* gdk/gdkscreen.c: Include gdkintl.h.
2005-08-26 18:49:52 +00:00
Matthias Clasen
5e5aa14370 Cleanup up the mess I created 2005-08-24 16:17:56 +00:00
Matthias Clasen
3727c633a9 Make sure font and cursor settings get propagated down to the screen
2005-08-24  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtksettings.c (gtk_settings_get_for_screen): Make sure font
	and cursor settings get propagated down to the screen initially.
	Pointed out by Frederic Crozat.
2005-08-24 15:47:28 +00:00
Owen Taylor
2b1bea02f2 Fix for #314004, reported by Michael Reinsch:
2005-08-23  Owen Taylor  <otaylor@redhat.com>

        Fix for #314004, reported by Michael Reinsch:

        * gdk/gdk.symbols:
        * gdk/gdkscreen.[ch]: Add gdk_screen_get/set_font_options_libgtk_only()
        Add gdk_screen_get/set_resolution_libgtk_only()

        * gdk/gdkpango.c (gdk_pango_context_get_for_screen): Set
        the options for the screen on the newly created context.

        * gtk/gtksettings.c (settings_update_font_options/dpi) gtkwidget.c:
        Move font options and dpi code from gtkwidget.c to gtksettings.c, set
        the font options on the screen.

        * gtk/gtkwidget.c (gtk_widget_update_pango_context): Just get
        the font options from the screen and set them on the context.
2005-08-24 03:29:06 +00:00
Owen Taylor
013a0b0f11 Fix have_base_pc / have_base_x_pc typo.
2005-08-15  Owen Taylor  <otaylor@redhat.com>

        * configure.in: Fix have_base_pc / have_base_x_pc typo.

        * gdk/x11/gdkdrawable-x11.c gtk/gtksettings.c: Remove panoxft.h includes.
        (#313417, James Andrewartha)

        * configure.in: Add fontconfig to X_PACKAGES, since we use it for
        FcNameConstant(). (More of #313417)
2005-08-15 19:04:55 +00:00
Matthias Clasen
306011d26a Rename the default theme to "Raleigh". (#312254, Thomas Wood)
2005-08-01  Matthias Clasen  <mclasen@redhat.com>

	* gtk/Makefile.am (install-data-local):
	* gtk/gtksettings.c (gtk_settings_class_init): Rename the
	default theme to "Raleigh".  (#312254, Thomas Wood)
2005-08-01 19:21:00 +00:00
Owen Taylor
8f3399d410 Change machinery for following font rendering xsettings to set cairo font
2005-07-19  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtksettings.c gtk/gtkwidget.c: Change machinery for
        following font rendering xsettings to set cairo font
        options on PangoContext

        * gdk/x11/gdkxftdefaults.c gdk/x11/gdkevents-x11.c gdkscreen-x11.h
        gdkprivate-x11.h: Get default values for rendering options
        (such as antialiasing, dpi) from the Xft resources for the
        display, borrowing a bit of code from Xft.

        * gtk/gtksettings.c (gtk_settings_class_init): Fix docs for
        values of gtk-xft-hintstyle.
2005-07-21 13:59:22 +00:00
Matthias Clasen
1d6b47e3fa Correct the blurb for the icon-sizes setting. String change. (#309355,
2005-07-03  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtksettings.c (gtk_settings_class_init): Correct the
	blurb for the icon-sizes setting. String change.
	(#309355, Benjamin Berg)
2005-07-03 04:52:46 +00:00
Matthias Clasen
df517cb1d5 Add two new settings, gtk-cursor-theme-name and gtk-cursor-theme-size to
2005-06-15  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtksettings.c: Add two new settings,
	gtk-cursor-theme-name and gtk-cursor-theme-size to
	control the cursor theme.

	* gdk/x11/gdkevents-x11.c: Add two new X settings,
	Gtk/CursorThemeName and Gtk/CursorThemeSize, and map
	these to the gtk settings.

	* tests/testgtk.c (create_cursors): Add a cursor theme
	testcase.
2005-06-15 19:25:49 +00:00
Matthias Clasen
269d89c79c Define macros GTK_PARAM_READABLE, GTK_PARAM_WRITABLE, GTK_PARAM_READWRITE
2005-03-21  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkprivate.h: Define macros GTK_PARAM_READABLE,
	GTK_PARAM_WRITABLE, GTK_PARAM_READWRITE which are like
	their G_ counterparts, but also mark the name, nick
	and blurb as static.

	* gtk/*.c: Mark param spec strings as static, using
	the new macros.
2005-03-22 02:14:55 +00:00
Matthias Clasen
cca8dd6347 Make PLT-reduction work with gcc4, and don't include everything in
2005-03-20  Matthias Clasen  <mclasen@redhat.com>

	Make PLT-reduction work with gcc4, and don't include
	everything in gdkalias.h:

	* gtk/grk.symbols: Group symbols by header and source file.
	* gtk/makegtkalias.pl: Protect definitions by the same
	preprocessor symbols used to guard the headers. Move
	the alias declarations to a separate file which is
	produced when calling makegtkalias.pl -def
	* gdk/Makefile.am (gtkaliasdef.c): Add a rule to generate
	this file.
	* gtk/*.c: Include gtkalias.h after the other headers,
	include gtkaliasdef.c at the bottom.
	* gtk/*.h: Small cleanups.
2005-03-20 07:01:23 +00:00
Owen Taylor
09d7eafb15 Switch set_cairo_target() virtual function to ref_cairo_surface()
2005-03-15  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdkdrawable.h gdk/gdkdraw.c gdk/gdkpixmap.c gdk/gdkwindow.c
	gdk/x11/gdkdrawable-x11.c gdk/x11/gdkpixmap-x11.c gdk/x11/gdkwindow-x11.c
	gdk/gdkinternals.h: Switch set_cairo_target() virtual function to
	ref_cairo_surface()

	* gdk/gdkdrawable.h gdk/gdkdraw.h: Switch set_cairo_target() virtual
	function to create_cairo_context()

	* gdk/gdkwindow.c: Clear double buffer pixmaps with Cairo.

	* gdk/x11/gdkwindow-x11.c: Keep all components in GdkWindowObject.bg_color,
	not just the pixel.

	* tests/testcairo.c: Update for create_cairo_context()

	* gdk/gdkdraw.c (gdk_draw_trapezoids, gdk_draw_glyphs[_transformed]):
	Reimplement in terms of Cairo, bypass the vtable entries.

	* gdk/x11/gdkdrawable-x11.[ch] gdk/x11/gdkdisplay-x11.[ch]
	gdk/x11/gdkgc-x11.c gdk/x11/gdkpango-x11.c
	gdk/x11/gdkprivate-x11.h gdk/x11/Makefile.am: Remove
	implementation of draw_trapezoids / draw_glyphs[_transformed].

	* gdk/gdkpango.c: Switch GdkPangoRenderer to use Cairo

	* gdk/gdkpango.c gdk/x11/gdkpango-x11.c: Move
	gdk_pango_context_get_for_screen() into the backend independent code.

	* gdk/x11/gdkdrawable-x11.[ch]: Remove Xft use, use RENDER directly
	for drawing images.

	* gdk/gdkdrawable.h gdk/x11/gdkdrawable-x11.c: Remove
	gdk_draw_rectangle_alpha_libgtk_only.

	* gdk/gdkpixbuf.h gdk/gdkpixbuf-render.c: Add
	gdk_pixbuf_set_as_cairo_source()

	* gdk/gdk.symbols: Update

	* gtk/gtkcolorsel.c gtk/gtkhsv.c gtk/gtkiconview.c gtk/gtkruler.[ch]
	gtk/gtk[hv]ruler.c: Convert to Cairo rendering.

	* gtk/gtkstyle.c (gtk_default_draw_check, gtk_default_draw_focus,
	gtk_default_draw_option): Switch to Cairo. Simplify the checkbutton,
	radio button style for now to get something more scalable.

	*  gtk/gtksettings.c: #if 0 out the code to use PangoXft for hinting/
	antialiasing/dpi settings.
2005-03-17 01:54:40 +00:00
Matthias Clasen
e6716d2336 Don't leak the values here. (#169047, Philip Langdale)
2005-03-03  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtksettings.c (gtk_settings_get_property):
	* gtk/gtkrc.c (gtk_rc_parse_assignment): Don't leak
	the values here.  (#169047, Philip Langdale)
2005-03-03 14:15:14 +00:00
Manish Singh
60b30ff513 gdk/linux-fb/gdkgc-fb.c gdk/win32/gdkgc-win32.c
Fri Nov 19 14:54:09 2004  Manish Singh  <yosh@gimp.org>

        * gdk/linux-fb/gdkgc-fb.c
        * gdk/win32/gdkgc-win32.c
        * gdk/win32/gdkwindow-win32.c
        * gtk/gtkaboutdialog.c
        * gtk/gtkaction.c
        * gtk/gtkactiongroup.c
        * gtk/gtkcellrendererprogress.c
        * gtk/gtkcellview.c
        * gtk/gtkcolorbutton.c
        * gtk/gtkcombobox.c
        * gtk/gtkcomboboxentry.c
        * gtk/gtkentrycompletion.c
        * gtk/gtkfilechooserbutton.c
        * gtk/gtkmenutoolbutton.c
        * gtk/gtkrc.c
        * gtk/gtksettings.c
        * gtk/gtkstyle.c
        * gtk/gtktoggletoolbutton.c
        * gtk/gtktoolbutton.c
        * gtk/gtktoolitem.c
        * gtk/gtktreemodelfilter.c
        * gtk/gtktreeselection.c
        * gtk/gtktreeviewcolumn.c
        * gtk/gtkuimanager.c: get rid of unnecessary casts.

        * gtk/gtkfilechooserbutton.c (gtk_file_chooser_button_set_property):
        cast away the const for g_value_set_enum. This is after the g_warning,
        so this is a hack to begin with.

        * gtk/gtkfilechooserdefault.c (gtk_file_chooser_default_set_property):
        add a cast to GTK_FILE_CHOOSER for impl here.
2004-11-19 23:18:38 +00:00
Matthias Clasen
599851c837 Make it build on windows. (#156618, Kazuki IWAMOTO)
2004-10-27  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtksettings.c: Make it build on windows. (#156618,
	Kazuki IWAMOTO)
2004-10-27 18:53:29 +00:00
Matthias Clasen
8ab4fd4526 Add a public setting for button ordering (#74669, Owen Taylor)
2004-10-25  Matthias Clasen  <mclasen@redhat.com>

	Add a public setting for button ordering (#74669, Owen Taylor)

	* gtk/gtksettings.c (gtk_settings_class_init): Add a
	gtk-alternative-button-order setting.

	* gtk/gtkdialog.h:
	* gtk/gtkdialog.c (gtk_alternative_dialog_button_order): A
	getter for the alternative button order setting.
	* gtk/gtkdialog.c (gtk_dialog_set_alternative_button_order):
	New function to install an alternative button order for a
	dialog.

	* gtk/gtkfilesel.c (gtk_file_selection_init):
	* gtk/gtkfontsel.c (gtk_font_selection_dialog_init):
	* gtk/gtkmessagedialog.c (gtk_message_dialog_add_buttons):
	* gtk/gtkcolorseldialog.c (gtk_color_selection_dialog_init):
	* gtk/gtkfilechooserdefault.c (location_popup_handler):
	Set up an alternative button order.
2004-10-25 05:43:29 +00:00
Matthias Clasen
e0ac74f497 Fix some problems reported by Morten Welinder:
2004-09-13  Matthias Clasen  <mclasen@redhat.com>

	Fix some problems reported by Morten Welinder:

	* gtk/gtkfilesystem.c: Include gtkmodules.h, not gtkmain.h, since
	the modules stuff moved.

	* gtk/gtkmain.c (gtk_arg_no_debug_cb): Add a missing return

	* gtk/gtksettings.c: Add missing include.
	(settings_update_modules): Remove an unused variable.
2004-09-13 16:00:00 +00:00
Matthias Clasen
8189921f44 Make it possible to specify additional modules to load via a setting.
2004-09-01  Matthias Clasen  <mclasen@redhat.com>

	Make it possible to specify additional modules to load
	via a setting.  (#117236, Alex Graveley)

	* gtk/gtkmodules.h:
	* gtk/gtkmodules.c: New files which contain the module
	handling code which was previously in gtkmain.[hc].
	Additionally, the code now looks for the gtk-modules
	setting, which can specify additional modules to load.

	* gtk/gtkmain.c:
	* gtk/gtkmain.h: Remove all the module handling code.

	* gtk/gtkdebug.h: Add a debug flag for modules.

	* gtk/gtk.h: Include gtkmodules.h

	* gtk/Makefile.am (gtk_public_h_sources): Add gtkmodules.h
	(gtk_c_sources): Add gtkmodules.c

	* gtk/gtksettings.c: Add the gtk-modules setting.

	* gdk/x11/gdkevents-x11.c: Add the Gtk/Modules XSetting.
2004-09-01 20:30:24 +00:00
Matthias Clasen
3612aee585 Add hidden aliases for exported symbols which are used internally in order
Mon Aug  9 12:48:04 2004  Matthias Clasen  <maclas@gmx.de>

	Add hidden aliases for exported symbols which are
	used internally in order to get rid of many PLT
	entries.  (#145519, Arjan van de Ven)

	* gtk/Makefile.am: Add rules to generate gtk.def and
	from gtk.symbols, and make make check check the abi
	with abicheck.sh.
	(gtk_private_h_sources): Add gtkinternals.h
	(gtk_built_private_headers): Add gtkalias.h
	(gtk_extra_sources): Add gtk.symbols
	(EXTRA_DIST): Add makegtkalias.pl and abicheck.sh

	* gtk/gtk.symbols: New file. Definition of the GTK+ ABI.
	The file can be processed by cpp to filter out certain
	subsets of symbols.

	* gtk/abicheck.sh: New file. Script to check the actually
	symbols exported from libgtk-x11.2.0.so against the symbols
	found in gtk.symbols.

	* gtk/makegtkalias.pl: New file. Perl script to generate the
	header containing the alias definitions for internally used
	exported symbols from a list of symbols.

	* gtk/gtkinternals.h: New file. An uninstalled header listing
	symbols which must be exported for some reason and do not appear
	in any other header.

	* gtk/*.c: Include gtkalias.h
2004-08-09 16:59:53 +00:00
Mark McLoughlin
a4ab0dd44c don't overwrite application properties. Fixes bug #136802.
2004-03-11  Mark McLoughlin  <mark@skynet.ie>

        * gtk/gtksettings.c: (apply_queued_setting): don't overwrite
        application properties. Fixes bug #136802.
2004-03-11 17:54:19 +00:00
Federico Mena Quintero
80581c3011 Fixes #136082 and #135265, patch by Morten Welinder.
2004-03-05  Federico Mena Quintero  <federico@ximian.com>

	Fixes #136082 and #135265, patch by Morten Welinder.

	* configure.in: Use AC_SYS_LARGEFILE.

	* */*.c: #include <config.h>
2004-03-06 03:38:59 +00:00
Matthias Clasen
7002bb3e55 Remove the include of Xft.h, which is already dragged in via pangoxft.h.
Tue Mar  2 01:34:40 2004  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtksettings.c: Remove the include of Xft.h, which is already
	dragged in via pangoxft.h.  (#135496, David Hawthorne)
2004-03-02 00:33:23 +00:00
Owen Taylor
945e6c4ecb Based on patch by Alex Larsson
Mon Mar  1 14:16:52 2004  Owen Taylor  <otaylor@redhat.com>

        Based on patch by Alex Larsson

        * gtk/gtkfilechooserdefault.c: Use gtk-file-chooser-backend
        GtkSetting to set the backend if the app doesn't specify one.

        * gdk/x11/gdkevents-x11.c gtk/gtksettings.c:
        Add Gtk/FileChooserBackend.
2004-03-01 19:40:47 +00:00
Owen Taylor
0459484caa hu Feb 26 15:43:43 2004 Owen Taylor <otaylor@redhat.com>
* gtk/gtkstyle.[ch]: Export insertion cursor drawing functionality
        in a simplified form as gtk_draw_insertion_cursor().
        (#99031, request from Alex Larsson)

        * gtk/gtktextdisplay.c gtk/gtkentry.c gtk/gtklabel.c:
        Adapt to new gtk_draw_insertion_cursor().

        * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_class_init)
        gtk/gtkstyle.c (gtk_style_class_init): Add some missed
        Since: 2.4.

        * gtk/gtkiconfactory.c (icon_size_settings_changed)
          gtk/gtkicontheme.c (do_theme_change)
          gtk/gtkrc.c (_gtk_rc_context_get_default_font_name)
        * gtk/gtksettings.c (gtk_settings_notify):
        _gtk_rc_reset_styles => gtk_rc_reset_styles.
2004-02-26 20:59:01 +00:00
Manish Singh
6d1bd9e1e9 Guard the FC_HINT_STYLE stuff with an #ifdef, so we still build with most
Sat Feb 21 19:09:55 2004  Manish Singh  <yosh@gimp.org>

        * gtk/gtksettings.c (gtk_default_substitute): Guard the FC_HINT_STYLE
        stuff with an #ifdef, so we still build with most fontconfig versions.

        * configure.in: Bump the fontconfig version requirement down to 1.0.1,
        to match pango (probably isn't needed at all, but doesn't hurt).
2004-02-22 03:15:45 +00:00
Soeren Sandmann
52c5c8182d Use P_ instead of _ for the new Xft settings.
Sat Feb 21 20:20:11 2004  Soeren Sandmann  <sandmann@daimi.au.dk>

	* gtk/gtksettings.c (gtk_settings_class_init): Use P_ instead of
	_ for the new Xft settings.
2004-02-21 19:28:20 +00:00
Soeren Sandmann
e2e6a5f411 Bug 130790 (Federico Mena Quintero, Owen Taylor)
Sat Feb 21 20:09:53 2004  Soeren Sandmann  <sandmann@daimi.au.dk>

	Bug 130790 (Federico Mena Quintero, Owen Taylor)

	* gdk/x11/gdkevents-x11.c: Add Xft XSETTINGS

	* gtk/gtksettings.c: Add new GtkSettings corresponding to the Xft
	XSETTINGS
2004-02-21 19:17:48 +00:00
Matthias Clasen
07d4d314b6 The first part of the fix for #114351 (see also gdk-pixbuf/ChangeLog and
Fri Jan 16 23:59:01 2004  Matthias Clasen  <maclas@gmx.de>

	The first part of the fix for #114351 (see also
	gdk-pixbuf/ChangeLog and po/ChangeLog):

	* gtk/gtkintl.h:
	* gdk-pixbuf/gdk-pixbuf-i18n.h:
	* gdk/gdkintl.h: Define P_() for property blurbs and nicks.

	* gdk/gdkdisplaymanager.c:
	* gdk-pixbuf/gdk-pixbuf.c:
	* modules/input/gtkimcontextxim.c:
	* gtk/*.c:  Mark property blurbs and nicks with P_().

	* po/Makefile.in.in: Add --keyword=P_ to the xgettext
	invocation, since property blurbs and nicks are
	now marked with P_().
2004-01-16 23:10:05 +00:00
Matthias Clasen
fbb0ba1a3b Do not interpret distant clicks as double-clicks (#116541, Bernhard
Tue Dec 16 01:46:46 2003  Matthias Clasen  <maclas@gmx.de>

	Do not interpret distant clicks as double-clicks  (#116541,
	Bernhard Walle):

	* gdk/gdkdisplay.h (struct GdkDisplay): Add new fields
	double_click_distance, button_x and button_y.
	* gdk/gdkdisplay.c (gdk_display_init): Initialize the new fields.

	* gdk/gdkdisplay.h:
	* gdk/gdkevents.c (gdk_display_set_double_click_distance):
	New function to set the double click distance on a display.

	* gdk/gdkevents.c: Take double click distance into account
	when generating single, double or triple clicks.

	* gtk/gtksettings.c: Add new setting "gtk-double-click-distance".

	* gdk/x11/gdkevents-x11.c: Add the XSetting
	"Net/DoubleClickDistance" and map it to "gtk-double-click-distance".
2003-12-16 00:56:48 +00:00
Owen Taylor
a72aed4ea2 Implement a loader for named themed icon based on from gnome-desktop
Wed Jul  2 18:00:56 2003  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkicontheme.[ch]: Implement a loader for
        named themed icon based on from gnome-desktop library
        by Alex Larsson.

        * gtk/gtkiconthemeparser.[ch]: .ini file parsing code
        from gnome-desktop.

        * gtk/gtkiconfactory.[ch]: Add
        gtk_icon_source_set/get_icon_name() to allow stock icons
        to be based off of named theme icons.

        * gtk/gtkiconfactory.c: Rework sources so that the source
        is *either* a pixbuf, or a filename, or an icon name,
        instead of the pixbuf/filename mix it was before. Put a
        workaround for get_pixbuf() so that it can return the
        filename pixbuf, e.g, for render_icon().

        * gtk/gtkiconfactory.c: Make the default setup use
        themed icons, and add builtin icons to the default
        icon theme for all the standard pixbufs, so we
        don't rely on actually having an icon theme on disk.

        * gtk/gtkrc.c: Add support for @"icon-name" to specify
        a themed icon for a stock icon source.

        * tests/Makefile.am test/testicontheme.c: Add a test
        program from gnome-desktop.

        * gdk/x11/gdkevents-x11.c gtk/gtksettings.c: Add
        Net/IconThemeName / gtk-icon-theme-name setting.

        * gtk/gtkiconfactory.c (ensure_cache_up_to_date): Actually
        update the icon cache serial so we don't continually

        * gtk/gtkwidget.c: Fix a couple of references in doc comments
        to ::direction_set that should have been to ::direction-changed
2003-07-02 22:44:09 +00:00
Matthias Clasen
83c626bbe0 Remove dubious bitfields of unspecified signedness. (#112919, Morten
2003-05-27  Matthias Clasen  <maclas@gmx.de>

	* io-wbmp.c: Remove dubious bitfields of
	unspecified signedness.  (#112919, Morten Welinder)gdk-p

	* gdk-pixdata.c (gdk_pixdata_to_csource): Replace all occurances
	of g_string_new ("") by g_string_new (NULL). (#106975, Morten Welinder)

	* gtk/gtkwindow-decorate.c:
	* gtk/gtktreeprivate.h:
	* gtk/gtkdnd.c:
	* gdk/win32/gdkwindow-win32.h:
	* gdk/linux-fb/gdkprivate-fb.h:
	* gdk/linux-fb/gdkkeyboard-fb.c: Remove dubious bitfields of
	unspecified signedness.  (#112919, Morten Welinder)

	* gtk/queryimmodules.c (escape_string):
	* gtk/gtktextbtree.c (_gtk_text_btree_get_text):
	* gtk/gtksettings.c (_gtk_settings_parse_convert):
	* gtk/gtkrc.c (gtk_rc_parse_assignment):
	* gtk/gtkinputdialog.c (gtk_input_dialog_set_key):
	* gdk/x11/gdkdisplay-x11.c (escape_for_xmessage): Replace all
	occurances of g_string_new ("") by g_string_new (NULL). (#106975,
	Morten Welinder)
2003-05-27 21:21:00 +00:00
Matthias Clasen
69c1943972 Add docs.
2003-05-19  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtksettings.c (gtk_rc_property_parse_border,
	gtk_rc_property_parse_color, gtk_rc_property_parse_enum,
	gtk_rc_property_parse_flags, gtk_rc_property_parse_requisition):
	Add docs.
2003-05-19 00:55:20 +00:00
Manish Singh
dd74be94c6 demos/gtk-demo/main.c demos/gtk-demo/tree_store.c gdk/x11/gdkscreen-x11.c
Thu Feb 27 17:44:24 2003  Manish Singh  <yosh@gimp.org>

        * demos/gtk-demo/main.c
        * demos/gtk-demo/tree_store.c
        * gdk/x11/gdkscreen-x11.c
        * gtk/gtkcellrenderertoggle.c
        * gtk/gtkcolorsel.c
        * gtk/gtkdnd.c
        * gtk/gtkeditable.c
        * gtk/gtkentry.c
        * gtk/gtkmenu.c
        * gtk/gtkmenubar.c
        * gtk/gtkmenuitem.c
        * gtk/gtkmenushell.c
        * gtk/gtkrc.c
        * gtk/gtksettings.c
        * gtk/gtkstyle.c
        * gtk/gtktextbuffer.c
        * gtk/gtktextview.c
        * gtk/gtktreeviewcolumn.c
        * tests/testgtk.c
        * tests/testtext.c
        * tests/testtreeedit.c
        * tests/testtreefocus.c
        * tests/testtreeview.c: remove unnecessary G_OBJECT() casts.
2003-02-28 01:45:51 +00:00
Owen Taylor
c737ddc98c Set the double click speed from XSETTINGS when creating a new GtkSettings
Wed Jan 15 15:55:47 2003  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtksettings.c: Set the double click speed from
        XSETTINGS when creating a new GtkSettings object
        as well as when getting a notify. (#103601, reported
        by Louis Garcia)
2003-01-15 21:01:54 +00:00
Matthias Clasen
7cb3f99fc7 Document 2.2 API additions. 2002-11-28 00:33:17 +00:00
Owen Taylor
bc96f137be Fix missing adjustments for new type of
Mon Nov 25 17:10:54 2002  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtksettings.c (gtk_settings_set_property_value):
        Fix missing adjustments for new type of
        gtk_settings_set_property_value_internal(). (#99436,
        Iain Holmes.)

        * gtk/gtksettings.c (apply_queued_setting): Set the
        source _after_ we call g_object_set_property, or otherwise
        we get the APPLICATION source from our setter
        implemenatation.
2002-11-25 22:29:32 +00:00
Owen Taylor
8271b9df07 Clean up a bit of duplicated code.
Mon Nov 18 18:15:56 2002  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtksettings.c (gtk_settings_get_property): Clean up
        a bit of duplicated code.
2002-11-18 23:18:13 +00:00
Jonathan Blandford
ec49b8194f remove bogus gvalue initialization/freeing.
Sun Nov 17 10:49:28 2002  Jonathan Blandford  <jrb@gnome.org>

	* gtk/gtksettings.c (gtk_settings_get_property): remove bogus
	gvalue initialization/freeing.
2002-11-17 15:56:53 +00:00
Jonathan Blandford
3b4728be1d Allow g_object_set to work with GtkSettings.
Fri Nov 15 19:12:56 2002  Jonathan Blandford  <jrb@gnome.org>

	* gtk/gtksettings.c: Allow g_object_set to work with GtkSettings.
2002-11-16 01:30:12 +00:00
Manish Singh
cb7c950af0 Deprecation cleanup
Tue Oct  8 17:34:26 2002  Manish Singh  <yosh@gimp.org>

        * gtk/gtkmain.c gtk/gtkscrolledwindow.[ch] gtk/gtksettings.c
        gtk/gtkstatusbar.[ch] gtk/gtkstyle.c gtk/gtktoolbar.[ch]
        gtk/gtkviewport.[ch] gtk/gtkwindow.[ch]: Deprecation cleanup
2002-10-09 00:38:22 +00:00
Owen Taylor
acbe4f18e9 Privately export: _gtk_settings_set_property_value_from_rc()
Wed Oct  2 08:47:31 2002  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtksettings.[ch]: Privately export:
        _gtk_settings_set_property_value_from_rc()
        _gtk_settings_reset_rc_values() so that we can reset
        settings set from RC files when reloading RC files.
        (#94610)

        * gtk/gtkrc.c: Hook up RC file setting resetting.
2002-10-02 14:22:31 +00:00
Owen Taylor
15896b962d Make icon sizes configurable (#70648, slightly based on a patch from Bill
Tue Sep 24 16:40:14 2002  Owen Taylor  <otaylor@redhat.com>

	Make icon sizes configurable (#70648, slightly based
	on a patch from Bill Haneman, Brian Cameron)

	* gtk/gtkiconfactory.[ch]: Add
	gtk_icon_size_lookup_for_settings().

	* gtk/gtksettings.c: Add gtk-icon-sizes XSETTING

	* gtk/gtkiconfactory.c: Make icon sizes per-GtkSettings.

	* gtk/gtkstyle.c: Use gtk_icon_size_lookup_for_settings()

	* gtk/gtkrc.[ch]: Privately export _gtk_rc_reset_styles()
	to force all the widgets to recompute their appearance.
2002-09-24 21:03:58 +00:00
Owen Taylor
63489392e6 New demo for window migration between different displays and screens.
Thu Aug  1 19:09:39 2002  Owen Taylor  <otaylor@redhat.com>

	* demos/gtk-demo/changedisplay.c: New demo for
	window migration between different displays and screens.

	* gtk/gtkrc.c gtkstyle.[ch]: Add
	_gtk_style_init_for_settings(), so that gtkrc.c
	can initialize the styles it creates for the
	right display.

	* gdk/gdkdisplaymanager.c (gdk_screen_get_default)
	* gtk/gtksettings.c (gtk_settings_get_default)
	* gtk/gtkstyle.c (gtk_style_init): Handle absence of
	a default screen.

	* gdk/x11/gdkmain-x11.c (_gdk_windowing_set_default_display):
	Handle display == NULL.x

	* gdk/gdkdisplay.c (gdk_display_dispose): Free the
	event queue.

	* gdk/x11/gdkevents-x11.c gdk/x11/gdkdisplay-x11.c:
	Remove the event source when closing a display.

	* gdk/gdkdisplay.[ch]: Add a ::closed signal, dispose()
	isn't convenient enough by itself.

	* gdk/x11/gdkevents-x11.c (gdk_xsettings_watch_cb):
	Create foreign windows for watch windows if there isn't
	an existing window, instead of installing a global filter.

	* gdk/x11/gdkscreen-x11.c gdk/x11/gdkprivate-x11.h
	gdk/x11/gdkevents-x11.c (_gdk_x11_events_uninit_screen):
	Clean up the xsettings_client when we are done with
	it.

	* gdk/x11/gdkevents-x11.c (_gdk_events_init): Remove
	excess call to _gdk_x11_events_init_screen()
2002-08-01 23:43:13 +00:00
Owen Taylor
28c2b0a31f Renames:
Thu Jun 20 19:41:09 2002  Owen Taylor  <otaylor@redhat.com>

        * gdk/gdkdisplay.h gdk/gdkscreen.h gdk/**.c gtk/*.c
        tests/*.c: Renames:

         gdk_get_default_display => gdk_display_get_default
         gdk_get_default_screen  => gdk_screen_get_default
         gdk_open_display        => gdk_display_open
2002-06-20 23:59:27 +00:00
Owen Taylor
49be7176d9 Only change the double click time if the screen for the notification is
Thu Jun 20 14:51:30 2002  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtksettings.c (gtk_settings_notify): Only
        change the double click time if the screen for
        the notification is screen 0 of the display.
        (#77978)

        * gdk/gdkevents.c (gdk_display_set_double_click_time): Fix
        half-done rename.
2002-06-20 18:55:56 +00:00
Alex Larsson
4632fb81c7 Integrate Erwann Chenede's multihead changes for the gtk/ directory.
Mon Apr 29 18:28:00 2002  Owen Taylor  <otaylor@redhat.com>

	Integrate Erwann Chenede's multihead changes for the gtk/ directory.

	* gtk/gtkclipboard.[ch]: Add gtk_clipboard_get_for_display(),
	make internals multihead aware.

	* gtk/gtkcolorsel.[ch]: Add
	gtk_color_selection_set_change_palette_with_screen_hook () [ugh!]
	make up for non-multihead safety of
	gtk_color_selection_set_change_palette_hook()

	* gtk/gtkinvisible.[ch] gtk/gtkmenu.[ch] gtkwindow.[ch]: Add
	gtk_{invisible,menu,window}_set_screen(); add "screen" properties
	for GtkWindow and GtkMenu.

	* gtk/gtkplug.[ch]: Add gtk_plug_construct_for_display(),
	gtk_plug_new_for_display(). Multihead fixes.

	* gtk/gtkselection.[ch]: Add gtk_selection_owner_set_for_display(),
	make internals multihead aware.

	* gtk/gtksettings.[ch]: Add gtk_settings_get_for_screen(), get
	rid of now-useless gtk_settings_constructor().

	* gtk/gtkstyle.[ch]: Add gtk_style_get_font_for_display(), fix
	check/radio button indicators bitmap handling to be multihead
	safe.

	* gtk/gtkwidget.[ch]: Add gtk_widget_get_screen(), gtk_widget_has_screen(),
	gtk_widget_get_display(), gtk_widget_get_clipboard(),
	gtk_widget_get_root_window().

	* gtk/gtkbindings.c gtk/gtkbutton.c gtk/gtkclist.c gtk/gtkcombo.c
	gtk/gtkctree.c gtk/gtkdnd.c gtk/gtkfilesel.c gtk/gtkgamma.c
	gtk/gtkhandlebox.c gtk/gtkhsv.c gtk/gtkimcontext.c gtk/gtklabel.c
	gtk/gtklist.c gtk/gtkmain.c gtk/gtkmenuitem.c gtk/gtkmenushell.c
	gtk/gtknotebook.c gtk/gtkoldeditable.c gtk/gtkoptionmenu.c
	gtk/gtkpaned.c gtk/gtkpreview.c gtk/gtksocket.c gtk/gtktext.c
	gtk/gtktextbuffer.c gtk/gtktextview.c gtk/gtktipsquery.c
	gtk/gtktooltips.c gtk/gtktreeview.c gtk/gtktreeviewcolumn.c:
	misc mechanical multihead-safety fixes.

	* gtk/gtkclipboard.c: Use a GtkImage rather than a pixmap for
	the dropper, look up the color palette only at realization time,
	other multihead fixes.

	* gtk/gtkcombo.c (gtk_combo_unrealize): Popdown the list when
	unrealizing.

	* gtk/gtkentry.c: Only claim ownership of the primary selection
	when realized, misc multihead fixes.

	* gtk/gtkfontsel.c: Only fill in fonts when attached to a screen,
	fix gtk_font_selection_get_font() for multihead.

	* gtk/gtkgc.c: make the depth => drawable hash per-screen.

	* gtk/gtkinvisible.c: Add a constructor that realizes the
	widget, so we get a realized widget with g_object_new() as
	well gtk_invisible_new() as before.

	* gtk/gtkmain.c: Get rid of unused gtk_visual/gtk_colormap
	variables.

	* gtk/gtktextdisplay.c: Add warnings if stipple bitmaps
	are used on the wrong screen.

	* gtk/gtktoolbar.c: Make handling of GtkSettings-based layout
	read properties and connect to settings when the screen is changed,
	rather than on init/finalize.

	* gtk/gtkwindow.c: Fix icon handing to be multihead safe ...
	default icon pixmaps/mask are only shared between windows on the
	same screen. Misc multihead fixes.

Sat Apr 27 13:49:53 2002  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkclipboard.c (gtk_clipboard_get_for_display):
	Update docs to reference GDK_SELECTION_CLIPBOARD rather GDK_NONE.

2002-04-29  Alex Larsson  <alexl@redhat.com>

	* gdk/linux-fb/gdkproperty-fb.c (gdk_property_get):
	Fix silly bug, noticed by Sven Neumann.

Sun Apr 28 22:43:55 2002  Jonathan Blandford  <jrb@gnome.org>

	* gtk/gtktreemodelsort.c (gtk_tree_model_sort_set_sort_func): Fix
	so that you can set a new sort func.
2002-04-29 22:53:45 +00:00
Owen Taylor
8acfd1e9de Patch from Erwann Chenede, #73900 fixing a lot of warnings with Forte CC,
Wed Mar 20 16:36:08 2002  Owen Taylor  <otaylor@redhat.com>

        * gtk/*.c: Patch from Erwann Chenede, #73900 fixing
        a lot of warnings with Forte CC, mostly implicit
        casts between void * and function pointers.

        * gdk/gdkevents.c (gdk_event_get_state): GdkEventVisibility's
        state field is not a GdkModifierType. (Also #73900)
2002-03-20 21:47:01 +00:00
Owen Taylor
82b76bbee3 gtk/gtksettings.c gtk/gtkstyle.c: Patch from Richard Hestilow to add a
Sat Feb 23 20:59:05 2002  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkstyle.c gtk/gtkrc.[ch]: gtk/gtksettings.c gtk/gtkstyle.c:
        Patch from Richard Hestilow to add a gtk-font-name GtkSetting.

        * gdk/x11/gdkevents-x11.c: Add Gtk/FontName XSETTING.
2002-02-24 02:24:51 +00:00
Owen Taylor
cb26587ff8 Install a Default RC file that sets the tooltips color to yellow. (#58542)
Thu Jan 31 14:50:16 2002  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkrc.default gtk/Makefile.am: Install a Default
        RC file that sets the tooltips color to yellow. (#58542)

        * gtk/gtksettings.c (gtk_settings_class_init): make
        the default theme "Default", not NULL.
2002-01-31 20:14:18 +00:00
Owen Taylor
a906e7c6a9 Support using names/nicks for the gdk_settings values for enum valued
Wed Dec 12 15:11:49 2001  Owen Taylor  <otaylor@redhat.com>
        * gtk/gtksettings.c (gtk_settings_get_property): Support
        using names/nicks for the gdk_settings values for enum valued
        types. (#57678, reported by Anders Carlsson)
2001-12-12 20:26:50 +00:00
Anders Carlsson
17f81739f7 Update xsettings name.
2001-12-09  Anders Carlsson  <andersca@gnu.org>

	* gdk/x11/gdkevents-x11.c: Update xsettings name.

	* gtk/gtkdnd.c (gtk_drag_check_threshold): Use the
	gtk-dnd-drag-threshold GtkSetting.

	* gtk/gtksettings.c (gtk_settings_class_init): Add
	setting for dnd drag threshold.
2001-12-09 22:08:30 +00:00
Owen Taylor
b36b22988c Simplify, make more efficient and fix memory leak when turning quark into
Tue Dec  4 12:16:31 2001  Owen Taylor  <otaylor@redhat.com>
	* gtk/gtksettings.c (gtk_settings_set_property_value):
	Simplify, make more efficient and fix memory leak
	when turning quark into a string. (#66103, HideToshi
	Tajima)
2001-12-04 17:20:41 +00:00
Tim Janik
d07573c090 added gtkaccelmap.sgml. other updates.
Mon Nov 12 23:06:38 2001  Tim Janik  <timj@gtk.org>

        * added gtkaccelmap.sgml. other updates.

Mon Nov 12 23:08:37 2001  Tim Janik  <timj@gtk.org>

	* gtk/maketypes.awk: fix type utils generation on unix.

	* gtk/gtkaccelmap.[hc]: new files, implementing a global accelerator
	registry.

	* gtk/gtkaccelgroup.[hc]: major API/implementation revamp:
	removed GTK_ACCEL_SIGNAL_VISIBLE, gtk_accel_group_get_default,
	gtk_accel_group_get_entry, gtk_accel_group_(un)lock_entry,
	gtk_accel_group_add/remove, gtk_accel_group_handle_add/remove,
	gtk_accel_group_create_add/remove, gtk_accel_group_entries_from_object.
	introduced ::accel_changed signal for change notification, and
	gtk_accel_group_connect/disconnect to connect closures to accel groups.
	made gtk_accel_group_attach/detach and gtk_accel_group_activate private
	functions.
	deprecated gtk_accel_group_ref/unref.

	* gtk/gtkaccellabel.[hc]: changes to make accellabels pay attention
	to accel group changed notification and basically operate on closures.
	removed gtk_accel_label_get_accel_object and
	gtk_accel_label_set_accel_object.
	introduced gtk_accel_label_set_accel_closure, and for convenience,
	gtk_accel_label_set_accel_widget.

	* gtk/gtkitemfactory.[hc]: removed accelerator propagation code
	which mostly moved into gtkaccelmap.[hc].
	removed gtk_item_factory_parse_rc*, gtk_item_factory_dump_*
	and gtk_item_factory_print_func.

	* gtk/gtkmain.c: call _gtk_accel_map_init().

	* gtk/gtkmenuitem.[hc]: introduced gtk_menu_item_set_accel_path(),
	that associates an accelerator path with menu items, through which
	persistent accelerator settings on menu items are enabled.

	* gtk/gtkmenu.[hc]: added gtk_menu_set_accel_path() so accelerator
	paths of menu item can be default constructed to allow installation
	of accelerators on menu items that don't come with an accelerator
	binding by default.

	* gtk/gtksettings.c: fix STRING type rc settings by special casing
	them appropriately in the parser.

	* gtk/gtksignal.[hc]: allow a class function offset of 0 for
	gtk_signal_newv().

	* gtk/gtkwidget.[hc]: accelerator API revamp.
	removed ::accelerator_add/remove signals, gtk_widget_accelerator_signal,
	gtk_widget_accelerators_locked, gtk_widget_remove_accelerators and
	gtk_widget_(un)lock_accelerators.
	accelerators maintained through gtk_widget_add/remove_accelerator()
	are not runtime changable now, the correct sequence to setup a
	widget for runtime changable accelerators is now:
	  gtk_accel_map_add_entry(accel_path, key, mods);
	  _gtk_widget_set_accel_path(widget, accel_path, accel_group);

	* gtk/gtkwindow.[hc]: accelerator changes, proxy and coalesce accel
	group changes (as well as mnemonic changes) through the new signal
	::accels_changed.

Sat Nov 10 12:08:56 2001  Tim Janik  <timj@gtk.org>

	* gtk/gtksettings.c (_gtk_settings_parse_convert): properly handle
	GString->string conversions.
2001-11-13 00:53:47 +00:00
Havoc Pennington
ced7a5fd8e Fix #56586
2001-10-04  Havoc Pennington  <hp@pobox.com>

        Fix #56586

	* gtk/gtksettings.c (gtk_settings_class_init): move the F10
	accelerator setting here...

	* gtk/gtkmenubar.c (gtk_menu_bar_class_init): ...from over here,
	because we try to use it when a menu bar hasn't necessarily been
	initialized.
2001-10-04 06:48:09 +00:00
jacob berkman
b02befc6ff s/retrive/retrieve/
2001-10-03  jacob berkman  <jacob@ximian.com>

	* gtk/gtkwidget.c (gtk_widget_style_get_property):
	* gtk/gtkstyle.c (_gtk_style_peek_property_value):
	* gtk/gtksettings.c (apply_queued_setting):
	* gtk/gtkmain.c (gtk_init_check):
	* gtk/gtkcontainer.c (gtk_container_child_get_property):
	s/retrive/retrieve/
2001-10-03 19:48:55 +00:00
Owen Taylor
ae29d8b9df g_string_printfa => g_string_append_printf.
Mon Oct  1 16:05:44 2001  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkrc.c gtk/gtksettings.c:
	g_string_printfa => g_string_append_printf.
2001-10-01 20:35:02 +00:00
Hans Breuer
0b5db507da coalescing property notifies
2001-08-11  Hans Breuer  <hans@breuer.org>

	* gtk/gtkalignment.c, gtk/gtkarrow.c, gtk/gtkaspectframe.c,
	  gtk/gtkcellrenderer.c, gtk/gtkcellrenderertext.c,
	  gtk/gtkcombo.c, gtk/gtkcurve.c, gtk/gtkfontsel.c,
	  gtk/gtklayout.c, gtk/gtkmisc.c, gtk/gtkpacker.c,
	  gtk/gtkprogress.c, gtk/gtkruler.c,, gtk/gtksettings.c,
	  gtk/gtkspinbutton.c, gtk/gtktexttag.c : coalescing property notifies

	* gtk/gtkclist.c, gtk/gtktipsquery.c, gtk/gtktexttag.c,
	  gtk/gtkwidget.c : added G_SIGNAL_TYPE_STATIC_SCOPE to all
	GDK_TYPE_EVENT signals

	* gtk/gtkalignment.c : removed 'direct allocation bug',
	which Tim discovered while reading the patch
2001-08-11 20:27:36 +00:00
Darin Adler
0349676329 Ignore the sgml directory made by gtkdoc. Use gtk_window_set_resizable
* .cvsignore: Ignore the sgml directory made by gtkdoc.
	* demos/pixbuf-demo.c: (main): Use gtk_window_set_resizable
	instead of the deprecated gtk_window_set_policy.
	* demos/testpixbuf-scale.c: Add missing <stdlib.h> include.
	* gdk/gdkkeys.c: (gdk_keymap_class_init): Remove empty finalize
	function to get rid of warning and some code too.
	* gdk/x11/gdkfont-x11.c: (gdk_font_charset_for_locale): Add
	missing const.
	* gdk/x11/gdkmain-x11.c: (_gdk_windowing_init_check): Remove
	unused local.
	* gdk/x11/gdkpango-x11.c: (gdk_pango_context_get): Add missing
	const.
	* gdk/x11/gdkselection-x11.c: (gdk_text_property_to_utf8_list),
	(gdk_utf8_to_compound_text): Add missing const.
	* gtk/gtkimage.c: (gtk_image_expose): Remove unused local.
	* gtk/gtkmenubar.c: (gtk_menu_bar_hierarchy_changed): Add missing
	cast and get rid of an unnecessary one.
	* gtk/gtksettings.c: (gtk_settings_notify): Remove unused local.
	* gtk/gtkstatusbar.c: (gtk_statusbar_size_allocate): Remove unused
	local.
	* gtk/gtktreemodelsort.c: (gtk_tree_model_sort_build_level):
	Remove unused local.
	* modules/input/gtkimcontextxim.c: (gtk_im_context_xim_new): Add
	missing const.
	* tests/testsocket.c: (add_child): Add cast so the printf format
	doesn't make us implicitly depend on what integer type
	gtk_socket_get_id returns.
	* tests/testtextbuffer.c: Add missing const.
	* tests/testtreefocus.c: (main): Remove unused local.
	* tests/treestoretest.c: (iter_remove): Remove unused local.
	(uppercase_value): Remove unused function.
	(make_window): Add statement to quiet the compiler's uninitialized
	variable warning.
2001-07-18 04:31:11 +00:00
Owen Taylor
fbfc305174 Allow %NULL for style to mean "revert to default style"
Tue Jun 26 19:39:03 2001  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkwidget.c (gtk_widget_set_style): Allow %NULL
	for style to mean "revert to default style"

	* gtk/gtkwidget.[ch] (gtk_widget_set_rc_style,
	  gtk_widget_restore_default_style): Make this functions
	deprecated aliases for gtk_widget_set_style (widget, NULL).

	* gtk/gtkwidget.[ch]: Remove:
	   gtk_widget_set_default_style ()
	   gtk_widget_push_style ()
	   gtk_widget_pop_style ()
	These functions interact are overriden by RC files, and
	thus virtually useless, and complicated.

Fri Jun 22 18:49:48 2001  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkrc.c: Add a GtkRcContext structure to hold
	most of the previous global variables in gtkrc.c. This is
	in preparation for multi-head, since each screen can
	have different GtkSettings and RC information.

	* gtk/gtkrc.[ch]:

	* gtk/gtkrc.h (struct _GtkRcStyleClass): Add a
	GtkSettings parameter to GtkRcStyle::parse.

	* gdk/x11/gdkevents-x11.c gtk/gtksettings.c gtk/gtkrc.c:
	Add two new settings gtk-theme-name, gtk-key-theme-name,
	for RC files that are loaded by name after reading
	the default RC files.

	* gtk/gtkrc.c: Allow priorities for styles, as wll as
	bindings.

	* gtk/gtkenums.h gtk/gtkrc.c: Add GTK_PATH_PRIO_THEME,
	and use it by default for RC files loaded via
	gtk-theme-name, gtk-key-theme-name.

	* gtk/gtkiconfactory.c (gtk_icon_source_set_filename)
        gtk/gtkrc.c (gtk_rc_parse_pixmap_path_string)
	tests/testgtkrc: Require pathnames to be absolute.

	* gtk/gtkrc.c gtk/gtkiconfactory.c: Look up the full filename for
	the source when parsing, since the operation of looking up a
	pixmap from an RC file depends on the parsing context.

	* gtk/gtkrc.c (gtk_rc_context_reparse_all): Automatically
	reset RC styles on all widgets when files are reparsed.

	* tests/testgtk.c (create_rc_file)
	  gtk/gtkwindow.c (gtk_window_read_rcfiles):
	Simplify, now that gtk_rc_reparse_all() resets styles on
	all widgets itself.

	* gtk/gtkmain.c (gtk_get_default_language): Fix broken
	return value.

	* gtk/gtksettings.[ch] (gtk_settings_install_property[_ch]): Remove
	GtkSettings argument.

	* gtk/gtksettings.[ch] (gtk_settings_get_default): Rename from
	gtk_settings_get_global().

	* gtk/gtkwidget.[ch]: Add a function gtk_widget_Get_settings()
	to get the appropriate GtkSettings for a widget. (For now,
	just gets the default GtkSetttings.)

	* gtk/gtkcolorsel.c gtk/gtkentry.c gtk/gtkmenu.c gtk/gtkmenubar.c
	  gtk/gtktextview.c gtk/gtktoolbar.c: Fixes for GtkSettings
        changes.

	* gtk/gtkrc.[ch]: Add gtk_rc_get_style_by_paths() to allow
	getting a style for a path without actually having a widget.
	(Allows using a style for a subpart of a widget, for
	example.)

	* gtk/gtkrc.[ch]: Add gtk_rc_reparse_all_for_setting() to allow forcing
	the RC files to be reloaded for just one GtkSettings
	(not sure how useful this really is.)

	* gtk/gtkrc.h: Deprecate
	gtk_rc_add_widget_name/widget_class/class_style
2001-06-30 16:08:25 +00:00
Tim Janik
5ebd1d022a fix PROP_EVENTS.
Mon Jun 18 02:00:49 2001  Tim Janik  <timj@gtk.org>

        * gtk/gtkwidget.c (gtk_widget_get_property): fix PROP_EVENTS.

        * gtk/Makefile.am:
        * gtk/gtk.h: disabled GtkPacker compilation.

        * gtk/gtkarg.[hc], gtk/gtkargcollector.c: got rid of these.

        * gtk/gtknotebook.c:
        * gtk/gtktable.c:
        * gtk/gtkbox.c: ported this over to child properties.

        * gtk/gtksettings.c: fetch class properties via
        g_object_class_list_properties().

        * gtk/gtkcontainer.[hc]: implemented child properties, got rid of the
        child arg interface. use gobjectnotifyqueue.c for child property
        notification.

        * gtk/gtkwidget.[hc]: provide necessary means for container child
        properties, i.e. ::child_notify signal,
        gtk_widget_freeze_child_notify(),
        gtk_widget_child_notify(),
        gtk_widget_thaw_child_notify().

        * tests/testgtk.c: removed inferior property handling code, for
        property editing, a generic module should be used, and GLE
        coincidentally fullfills that purpose.

        * docs/reference/Makefile.am: disabled gtk docs building, gtk-doc
        needs to be adapted to g_object_class_list_properties() before this
        builds again.
2001-06-19 12:54:10 +00:00
Owen Taylor
da562f4dc8 Add a direction-changed signal, and gdk_keymap_get_current_direction().
Fri Jun  8 12:03:07 2001  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdkkeys.[ch]: Add a direction-changed signal,
	and gdk_keymap_get_current_direction().

	* gdk/x11/gdkevents-x11.c gdk/x11/gdkkeys-x11.c
	  gdk/x11/gdkmain-x11.c gdk/x11/gdkprivate-x11.h: Track
	the current locked group, use it to set the keymap
	direction.

	* gtk/gtksettings.c: Add a new gtk-split-cursor setting
	to determine whether we draw a split cursor or use
	a jumping cursor based on the current direction.

	* gtk/gtkentry.c gtk/gtktextview.c gtk/gtktextlayout.[ch]:
	Obey the split cursor setting.

Fri Jun  8 11:57:50 2001  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkimmulticontext.c (activate_cb): Only activate
	when toggling on, not when toggling off... (#55906)

Wed Jun  6 10:37:07 2001  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkwidget.c (gtk_widget_set_double_buffered):
	s/gdk_window_begin_paint/gdk_window_begin_paint_region/
	in docs. (#55812, Vitaly Tishkov)
2001-06-08 16:07:00 +00:00
Havoc Pennington
1b3c921437 Handle case where we need to parse the xsetting as if it were an RC file
2001-05-10  Havoc Pennington  <hp@redhat.com>

	* gtk/gtksettings.c (gtk_settings_get_property): Handle case where
	we need to parse the xsetting as if it were an RC file string.

	* gtk/gtkcolorsel.c (gtk_color_selection_class_init): load initial
	value of palette from settings, not from static variable

	* gdk/x11/gdkevents-x11.c: add color palette, toolbar mode to
	xsettings translation table

	* gtk/gtktoolbar.c (gtk_toolbar_new): Remove arguments, because
	hardcoding the toolbar style conflicts with new customizable
	toolbar style philosophy
	(gtk_toolbar_class_init): add settings for default toolbar style;
	these are used unless the app specifically forces a toolbar style

	* gtk/gtksettings.c (settings_install_property_parser): only
	return at the start if we warn and parser == NULL

	* gtk/gtkcolorsel.c (gtk_color_selection_finalize): disconnect the
	palette changed handler so we don't notify dead color selections

	* gtk/gtkstyle.c (gtk_default_draw_shadow): handle
	xthickness/ythickness of 0 or 1 properly
	(gtk_default_draw_resize_grip): clear the background behind the
	resize grips, and align to bottom right if we square the
	area to be drawn.

	* gtk/gtkstatusbar.c (gtk_statusbar_init): set horizontal usize on
	statusbar label to 1, so it doesn't make toplevels resize oddly
	(gtk_statusbar_size_request): add grip size to request
	(gtk_statusbar_size_allocate): hack so the hbox still works with
	the grip size in the request

	* gtk/gtktoolbar.c (gtk_toolbar_show_all): override to fix
	bug where showing all on a toplevel makes the toolbar
	button text appear despite the toolbar mode

	* gtk/gtkmenubar.c: add internal padding style property

	* gtk/gtktoolbar.c: Add internal padding style property; add
	shadow type style property

	* gtk/gtkmenubar.c (gtk_menu_bar_paint): paint box with widget
	state; and put Container::border_width outside the frame

	* gtk/gtktextview.c: don't draw focus rectangle if we're in
	interior focus mode, we just use blinking cursor
2001-06-04 23:15:51 +00:00
Owen Taylor
27bf39f924 Validate value from GDK settings against parameter spec.
Wed May 30 15:56:30 2001  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtksettings.c (gtk_settings_get_property): Validate
	value from GDK settings against parameter spec.

	* gdk/x11/gdkevents-x11.c (gdk_setting_get): Add assignments
	to temporary values and use g_value_transform(), since
	thinking that GValue was going to be easy or efficient
	to use was, of course, a mistake.

        * gtk/gtksettings.c: Add cursor blink setting.

	* gdk/x11/gdkevents-x11.c: Add cursor blink X settings.

	* gtk/gtkentry.c: Add cursor blinking.

	* gtk/gtktextview.c (gtk_text_view_check_cursor_blink): Use
	cursor blink global settings.

	* gtk/gtkentry.c (gtk_entry_button_press): Add notification
	for :text_position in places where it is missing.
2001-05-30 20:40:28 +00:00
Owen Taylor
7e9df6443b Patch from Juan Pablo Mendoza Mendoza to fix things so clicking inside
Thu May  3 07:00:09 2001  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtktextview.c: Patch from Juan Pablo Mendoza Mendoza
	to fix things so clicking inside selection leaves cursor
	at point where clicked. (#50324)

	* gtk/gtksettings.c (gtk_settings_class_init): Restore
	sane value for default double click time.

	* tests/testtext.c (test_init): Really path to input modules.
2001-05-03 11:15:26 +00:00
Havoc Pennington
7e9b154f0c fix warning
2001-04-27  Havoc Pennington  <hp@redhat.com>

	* gtk/gtkcombo.c (gtk_combo_popup_button_press): fix warning

	* gtk/gtkmessagedialog.c (gtk_message_dialog_init): make messages selectable

	* gtk/gtkentry.c (gtk_entry_real_insert_text): don't strip
	line/para separators
	(gtk_entry_create_layout): set single paragraph mode on the layout

	* gtk/gtkbutton.c (gtk_button_new_from_stock): don't put much
	spacing between the image and label; instead, inside a button box
	the button will get extra space that will go there, but if people
	configure button box for 0 chubbiness, then there's no spacing.

	* gtk/gtkbbox.c (gtk_button_box_class_init): Make child ipadding
	and min/max size style properties, so people can tune their
	chubbiness.

	* tests/testgtk.c (make_toolbar): remove calls to removed toolbar
	functions

	* gtk/gtktoolbar.c (gtk_toolbar_class_init): Make space_size,
	space_style, and button_relief into style properties, remove
	functions for setting them

	* gtk/gtkmenu.c (gtk_menu_key_press): handle menu bar accel to pop
	it back down

	* gtk/gtkoptionmenu.c (gtk_option_menu_get_props): free boxed
	types from gtk_widget_style_get

	* gtk/gtkmenubar.c (gtk_menu_bar_set_shadow_type): Remove, replace
	with a style property.

	* gdk/x11/gdkevents-x11.c: namespace the settings

	* gtk/gtkmenubar.c: Add F10 accelerator to move between menubars.

	* gtk/gtksettings.c (gtk_settings_class_init): remove code with
	side effects from inside g_assert(), so that G_DISABLE_ASSERT can
	be used. Also, translate doc strings for settings. Also, namespace
	the double-click-time property. Also, remove bell properties crap.
2001-04-28 00:12:47 +00:00
Tim Janik
748560e1fc changed gtk_item_factory_dump_items() and gtk_item_factory_dump_rc()
Tue Apr  3 13:52:57 2001  Tim Janik  <timj@gtk.org>

        * gtk/gtkitemfactory.[hc]: changed gtk_item_factory_dump_items()
        and gtk_item_factory_dump_rc() GtkPatternSpec argument to
        GPatternSpec. this is actually unlikely to cause breakage in
        third-party apps since except for gle, pretty much ever caller
        passes NULL here.

        * gtk/gtkbindings.[hc]: removed gtk_pattern_*() API.

        * *.c: use g_pattern_*() API.

        * docs/Changes-2.0.txt: GtkPatternSpec->GPatternSpec updates.

        * gtk/gtkstyle.c (gtk_default_draw_resize_grip): assert unhandled
        directions aren't passed in.

        * gtk/gtksettings.[hc] (_gtk_settings_parse_convert): export conversion
        functionality to be usable from gtkstyle.c as well, give precedence
        for conversion to user-supplied parsers.
        s/_gtk_rc_property_parser_for_type/_gtk_rc_property_parser_from_type/;

        * gtk/gtkstyle.c (_gtk_style_peek_property_value): use
        _gtk_settings_parse_convert() for rcporperty value conversion.
2001-04-03 13:18:00 +00:00
Owen Taylor
b52b326d5f Add GdkEventSetting event for notification of changes to system settings,
Mon Apr  2 18:18:07 2001  Owen Taylor  <otaylor@redhat.com>

        * gdk/gdkevents.h: Add GdkEventSetting event for notification
	of changes to system settings, gdk_setting_get() to retrieve
	a single system setting.

	* gdk/x11/gdkevents-x11.c: Bridge gdk_setting_get() and GdkEventSetting
	to the draft XSETTINGS mechanism.

	* gdk/x11/xsettings-{common,client}.[ch]: Sample-implementation of
	XSETTINGS.

	* gtk/gtkmain.c gtk/gtksettings.[ch]: Propagate notification
	of GDK settings changes to the GtkSettings object.

	* gdk/gdkevents.[ch] gdk/gtk/gtksettings.c: Hook up the
	double-click-timeout property to GDK.

	* gdk/gdkcolor.[ch] gdk/gdkvisual.h gdk/gdkevent.[ch] gdk/gdkfont.[ch]:
	Define GDK boxed types here.

	* gdk/Makefile.am gdk/makeenums.pl: Generate source files
	gdk/gdkenumtypes.[ch] for enum definitions.

	* gtk/gtkcompat.h: Add defines for GTK_TYPE_GDK_*
	* gtk/gtk-boxed.defs: Comment out GDK types
	* gtk/gtktypeutils.h: Remove GDK types
	* gtk/Makefile.am: No longer scan GDK headers for enumerataions
2001-04-02 23:33:47 +00:00
Owen Taylor
dac3b3a168 Add boxed type for GtkRequistion. Use it for ::size-request.
Sun Apr  1 21:37:22 2001  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkwidget.[ch] gtk/gtktypeutils.c gtk/gtk-boxed.defs:
	Add boxed type for GtkRequistion. Use it for ::size-request.

	* gtk/gtkstyle.[ch] gtk/gtktypeutils.c gtk/gtk-boxed.defs:
        Add a new GtkBorder structure useful for geometry properties
	for widgets. Add corresponding GTK_TYPE_BORDER.

	* gtk/gtkwidget.c (gtk_widget_class_install_style_property):
	Support automatic parser selection like
	gtk_settings_install_property_parser().

	* gtk/gtksettings.c (_gtk_rc_property_select_parser): Export
	functionality for use by gtk_widget_class_install_style_property.
	Support GTK_TYPE_BORDER, GTK_TYPE_REQUISITION.

Sun Apr  1 20:48:59 2001  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkentry.c (gtk_entry_class_init): Make invisible-char
	g_param_spec_unichar().
2001-04-02 03:47:25 +00:00
Tim Janik
770938bf2f got rid of gtk_widget_popup(), a function that bad needs to be nuked, not
Sun Apr  1 08:00:13 2001  Tim Janik  <timj@gtk.org>

        * gtk/gtkwidget.[hc]: got rid of gtk_widget_popup(), a function that
        bad needs to be nuked, not just deprecated.

        * gtk/gtktooltips.c (gtk_tooltips_draw_tips): don't use
        gtk_widget_popup().

        * gtk/*.[hc]: s/activate_mnemonic/mnemonic_activate/g;

        * gtk/gtkmenufactory.[hc]: removed this long-standingly deprecated
        widget.

        * docs/Changes-2.0.txt: updates.
2001-04-01 07:32:41 +00:00
Tim Janik
1f7e5c0610 fixed a bunch of notifications, added reference counts around emissions
Sun Apr  1 03:28:14 2001  Tim Janik  <timj@gtk.org>

        * gtk/gtkwidget.c: fixed a bunch of notifications, added
        reference counts around emissions where the widget is used afterwards.
        added freeze/thaws around multiple properties being notified.
        (_gtk_widget_get_aux_info): cleanups.

        * gtk/gtksettings.c (gtk_settings_install_property): provide
        default parsing functions for gdkcolor, enums and flags.

        * gtk/gtkwindow.[hc]: partially reverted patch from havoc,
        applied by owen.
        kept a flag in GtkWindowGeometryInfo to handle user
        resetting default sizes.
        cleaned up ZVT comments.
        bunch of assorted bug fixes, notification fixes.
        (_gtk_window_reposition): make this a really internal function.

        * gtk/testgtk.c: fixups.
2001-04-01 04:05:42 +00:00
Owen Taylor
0031ee8091 Fix use of uninitialized memory.
Sun Mar 25 15:51:28 2001  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtksettings.c (gtk_settings_init): Fix use of uninitialized
	memory.
2001-03-28 16:58:16 +00:00
Tim Janik
ac68581f96 added rc-style argument GtkSpinButton::shadow_type. removed
Sun Mar 18 01:15:30 2001  Tim Janik  <timj@gtk.org>

        * gtk/gtkspinbutton.[hc]: added rc-style argument
        GtkSpinButton::shadow_type.
        removed spin_button->shadow_type, gtk_spin_button_set_shadow_type()
        and ARG_SHADOW_TYPE as it doesn' make much sense to try to override
        rc-style settings.

        * gtk/gtkfixed.c: removed gtk_fixed_paint() (was unused).

        * gtk/gtkwidget.c: quark cleanups.

        * gtk/gtkrc.[hc]: added gtk_rc_scanner_new() to create an rc-file
        scanner with appropriate configuration, renamed GtkRcStyleClass.clone
        to create_rc_style() (we don't do cloning in standard OO sense).
        added per rc style properties.

        * gtk/gtkstyle.[hc]: added code to retrive pspec conformant rc-style
        property values and for caching those. some cleanups.

        * gtk/Makefile.am: -DG_DISABLE_CONST_RETURNS.

        * gtk/gtksettings.[hc]: new file for global rc-file properties
        (at least currently, should get extended to support X properties
        and other communication mechanisms).

        * gtk/gtkwidget.[hc]: added style property support:
        (gtk_widget_class_install_style_property_parser): install style
        property pspec with parser function for rc-file values other
        than LONG, DOUBLE or STRING.
        (gtk_widget_class_install_style_property): same as above without
        parser (parsers are going to be needed quite infrequently).
        (gtk_widget_style_get_property): retrive style property value.
        (gtk_widget_style_get_valist): same as above with varargs support,
        has NOCOPY semantics.
        (gtk_widget_style_get): wrapper around gtk_widget_style_get_valist().
2001-03-18 04:50:34 +00:00