At the same time, change the library sonames for -3.0 to just -3.
This is necessary since the 2.99 releases installed libraries like
libgtk-3.0.so.0.9903.0, and we want to prevent the library version
number from jumping back. So 3.0 will have libgtk-3.so.0.0.0.
This commit does a number of things:
- remove some dead wchar configury from configure.ac and gdkconfig.h
- repurpose gdkconfig.h as header that contains GDK_WINDOWING_foo
macros for each included backend, include it in gdk.h and install
it in $includedir instead of below $libdir
- drop the backend from the library names
- build libgdk-3.0.la as a convenience lib and include it in libgtk-3.0.la
It does not yet enable building multiple backends at the same time.
Based on a patch by Matthias, add an "active-id" property for
GtkComboBox and add some convenience API for GtkComboBoxText.
Also, add a test case to gtk-demo.
GtkComboBox now sports a construct-only "has-entry" property which
decides if it uses a GtkEntry to allow additional user input. Also
it has a new "entry-text-column" to fetch strings for the entry
from the model.
This patch deprecates the GtkComboBoxEntry and updates the rest of GTK+
to use the new semantics on GtkComboBox instead.
GtkComboBoxEntry will be removed altogether before GTK+ 3, in a
later commit.
The ownership of the return value for gdk_pixbuf_get_from_window() and
gdk_pixbuf_get_from_surface() was determined by the first argument.
Because that is an ugly design and the functions are new to GTK3, we
decided to adapt them.
And that adaptation was quite easy since almost no one passses anything
but NULL as the first argument.
It doesn't make sense to keep them separate as GtkSizeRequest requires a
GtkWidget and GtkWidget implements GtkSizeRequest, so you can never have
one without the other.
It also makes the code a lot easier because no casts are required when
calling functions.
Also, the names would translate to gtk_widget_get_width() and people
agreed that this would be a too generic name, so a "preferred" was added
to the names.
So this patch moves the functions:
gtk_size_request_get_request_mode() => gtk_widget_get_request_mode()
gtk_size_request_get_width() => gtk_widget_get_preferred_width()
gtk_size_request_get_height() => gtk_widget_get_preferred_height()
gtk_size_request_get_size() => gtk_widget_get_preferred_size()
gtk_size_request_get_width_for_height() =>
gtk_widget_get_preferred_width_for_height()
gtk_size_request_get_height_for_width() =>
gtk_widget_get_preferred_height_for_width()
... and moves the corresponding vfuncs to the GtkWidgetClass.
The patch also renames the implementations of the vfuncs in widgets to
include the word "preferrred".
With gtk_show_uri, global configurability of link activation has
moved to GIO/gvfs. For local overrides, GtkLinkButton has the ::clicked
signal, and GtkAboutDialog gets an ::activate-link signal.
Bug 339745
Rename the gtk_major_version() etc functions I introduced yesterday to
start with gtk_get. Avoids misleading results in client programs whose
developers that don't notice the change or the compiler warnings, and
when recompiling against gtk3 then use the function addresses as the
version numbers.
The keysyms create a lot of potential namespace conflicts for
C, and are especially problematic for introspection, where we take
constants into the namespace, so GDK_Display conflicts with GdkDisplay.
For C application compatiblity, add gdkkeysyms-compat.h which uses
the old names.
Just one user in GTK+ continues to use gdkkeysyms-compat.h, which is
the gtkimcontextsimple.c, since porting that requires porting more
custom Perl code.
Having variables exported from a DLL is slightly painful and
potentially error-prone on Windows, so let's try get rid of them now
when we can. Starting with these.
Rename the ::orientation property of GtkIconView to item-orientation,
which is both clearer and avoids the conflict with the orientation
property of GtkOrientable implementations.
The :license-type property of GtkAboutDialog allows using a symbolic
enumeration value that will construct a placeholder license preamble
linking to a specific URL. This allows localization of the licensing
text without using a translation of the actual license, since it would
not be valid.
Bug 336225.
These have been deprecated and removed from master.
GtkWindow:resizable should be used instead.
This completes commit 1a03a65e36
Reported by Benjamin Otte
- Add gtk_assistant_commit()
This function discards the visited pages list so the back button is not
shown on the current page, and removes the cancel button from subsequent
pages. Use this when information provided thus far cannot be revisited.
- Don't show the Forward button on a GTK_ASSISTANT_PAGE_PROGRESS if it's
the last page (according to the forward page function).
- Append a progress page to the GtkAssistant demo.
Bring the various 'run uninstalled' hacks in line with the
new way of doing things, and fix make install for module cache
files.
Patch by Tadej Borovsak.
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
In particular, rename
- libraries to lib*-3.0.so
- pc files to *-3.0.pc
- include paths to /usr/include/gtk-3.0/*
- module paths to /usr/lib/gtk-3.0/*
- rc files names to gtk-3.0/gtkrc
- commandline utilities to *-3.0
- adjust documentation
Also change the install location for unix-print headers to
/usr/include/gtk-3.0/unix-print/gtk.
Add gtk_icon_info_load_symbolic() to load symbolic icons, and
theme their background/foreground colours to match the
colours used in the theme.
Adds the gtk_icon_info_load_symbolic() function, explicit
support in GtkImage and GtkCellRendererPixbuf, and test cases
for those 2 widgets.
With help from Bastien Nocera <hadess@hadess.net>
https://bugzilla.gnome.org/show_bug.cgi?id=614711
This adds LDFLAGS everywhere where they were previously pulled in via
other libraries. This is however unsupported by modern linkers.
You can trigger these failures by building with gold (or, I'm told, with
very new ld).
This patch adds an icc-profile option to a GdkPixbuf which can
be used to read or write an embedded ICC profile.
Add PNG support for now, but other image formats are awaiting
review.
* 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.
* demos/gtk-demo/toolpalette.c (load_special_items): Demonstrate
gtk_tool_item_group_set_label_widget().
* gtk/gtktoolitemgroup.[h|c]: Rename the "item-group-name" property to
"label" because that is what it is. Likewise rename the functions.
Add a "label-widget" propert and get/set_label_widget() functions,
based on the same code/API in GtkExpander.
Paper size combo and orientation combo can be added by
gtk_print_operation_set_embed_page_setup_dialog() to GtkPrinUnixDialog
now. This function induce calling of
gtk_print_unix_dailog_set_embed_page_setup_dialog() after creation of
dialog. These two functions control embed-page-setup-dialog properties
in GtkPrintOperation and in GtkPrintUnixDialog.
There is also new function gtk_print_unix_dialog_get_page_setup_set()
which says whether page setup was set by user.
Selected page setup is stored as default page setup in
GtkPrintOperation.
New class is added, its name is GtkCustomPaperUnixDialog. The class
manages custom sizes. It is derived from GtkPageSetupUnixDialog's
CustomPaperDialog structure.
Page layout preview is modified, so, it shows dimensions of current
page setup (mm or inch - depends on locale). It also shows the name of
actual paper if page setup dialog is not embedded (paper size combo is
not visible).
gtk-demo is actualized to include this new feature.
Adds a 'model' type buffer for GtkEntry in which the actual
textual data is stored. GtkEntryBuffer can be subclassed.
Among other things, this allows GtkEntry to be used for secrets
that need to be stored in non-pageable memory. It also allows
buffers to be shared by entries.
See bug #576801.
2009-03-27 Behdad Esfahbod <behdad@gnome.org>
Bug 437533 – Implement draw_shape PangoRenderer method
* gdk/gdkpango.c (gdk_pango_renderer_draw_shape),
(gdk_pango_renderer_class_init): Implement draw_shape
* demos/gtk-demo/rotated_text.c (fancy_shape_renderer),
(create_fancy_attr_list_for_layout), (rotated_text_expose_event),
(do_rotated_text):
1) Port to pangocairo
2) Also show a rotated label
3) Install a custom shape renderer on both. The second one goes
through gdkpango and hence tests the patch above. It's working.
svn path=/trunk/; revision=22592
* demos/gtk-demo/appwindow.c: Set the program-name property
of the about dialog.
* docs/tools/widgets.c: Add GtkAboutDialog
svn path=/trunk/; revision=22427
* demos/gtk-demo/search_entry.c: End the search if the window
is closed.
* demos/gtk-demo/search_entry.c:
* demos/gtk-demo/entry_completion.c: Group the entry examples
under "Entry".
svn path=/trunk/; revision=22132
2008-08-11 Michael Natterer <mitch@imendio.com>
* demos/gtk-demo/textscroll.c (create_text_view): don't use the
deprecated gtk_box_pack_start_defaults().
svn path=/trunk/; revision=21062
2008-06-20 Mikael Hallendal <micke@imendio.com>
* tests/testthreads.c: Use g_signal_connect instead of
gtk_signal_connect.
* demos/testgtk/main.c: switched to use GSignal instead of GtkSignal.
While the code is not built, people may still look at it.
svn path=/trunk/; revision=20654
2008-05-28 Michael Natterer <mitch@imendio.com>
* demos/testpixbuf.c: include <gdk-pixbuf/gdk-pixbuf.h> instead of
individual files.
svn path=/trunk/; revision=20209
2008-04-08 Tor Lillqvist <tml@novell.com>
* demos/gtk-demo/builder.c (quit_activate, about_activate): Mark
these functions with G_MODULE_EXPORT.
svn path=/trunk/; revision=19985
2008-03-31 Cody Russell <bratsche@gnome.org>
* demos/gtk-demo/printing.c (draw_page): Move down each line in
units of text_height rather than in units of data->font_size.
(totally awesome catch by Dom Lachowicz)
svn path=/trunk/; revision=19952
2008-02-29 Johan Dahlin <johan@gnome.org>
* demos/gtk-demo/demo.ui:
* gtk/gtkbuilderparser.c:
* gtk/gtkbuilderprivate.h:
* gtk/gtkliststore.c:
* tests/buildertest.c:
Add translatable/context and comment attributes on
<col> tags under a GtkListStore. Refactor parts of the
translation api and make it available inside gtk+ itself.
Update tests and example.
Fixes a part of #518642
svn path=/trunk/; revision=19685
2008-02-22 Dominic Lachowicz <domlachowicz@gmail.com>
* demos/gtk-demo/printing.c (do_printing): gtk-demo printing
gives
wrong results on win32 because it doesn't set the printing
units,
which affect the transformation of the cairo context
(#347125, Erik van Pienbroek)
svn path=/trunk/; revision=19635
2008-01-29 Johan Dahlin <johan@gnome.org>
* demos/gtk-demo/builder.c: (quit_activate), (about_activate),
(do_builder):
* demos/gtk-demo/demo.ui:
Move the about dialog to the glade file, add accessible tags
examples to the markup file.
svn path=/trunk/; revision=19426
2008-01-28 Michael Natterer <mitch@imendio.com>
* demos/gtk-demo/builder.c (about_activate): use
gtk_about_dialog_set_program_name() instead of the deprecated
set_name().
svn path=/trunk/; revision=19417
2007-07-19 Kristian Rietveld <kris@imendio.com>
* gtk/gtk.symbols:
* gtk/gtktreeprivate.h:
* gtk/gtktreeview.[ch] (gtk_tree_view_get_tooltip_context),
(gtk_tree_view_[sg]et_tooltip_column): add more convenience API.
* tests/testtooltip.c (query_tooltip_tree_view_cb): use
gtk_tree_view_get_tooltip_context().
* demos/gtk-demo/demo.ui: add a tooltip column to the list store,
set tooltip-column on the tree view.
svn path=/trunk/; revision=18496
* demos/gtk-demo/builder.c (do_builder): Connect the
destroy signal in the example instead of the ui file.
Also set the screen and title of the window.
(#451345, Thomas Rydzynski)
svn path=/trunk/; revision=18251
2007-06-05 Yevgen Muntyan <muntyan@tamu.edu>
* demos/gtk-demo/textview.c (insert_text): Drop the phrase
saying invisible text doesn't work (#444236).
svn path=/trunk/; revision=18044
2007-04-26 Matthias Clasen <mclasen@redhat.com>
* demo/gtk-demo/combobox.c: Add a simple validation demo.
* gtk/gtkcomboboxentry.c: Make it possible to add arbitrary
children to a GtkComboBoxEntry. (#426401, Paul Pogonyshev)
svn path=/trunk/; revision=17657
2007-01-11 Richard Hult <richard@imendio.com>
* demos/gtk-demo/main.c: (load_file): Close the file after it's
loaded (bug #395316).
svn path=/trunk/; revision=17132
2006-08-17 Kristian Rietveld <kris@gtk.org>
* demos/gtk-demo/main.c (window_closed_cb), (row_activated_cb),
(create_tree): move the ITALIC_COLUMN over to a STYLE_COLUMN
which sets the style attribute. Makes drawing the active demos
in italic work again.
2006-06-07 Alexander Larsson <alexl@redhat.com>
* gtk/gtk.symbols:
* gtk/gtkprintoperation-private.h:
* gtk/gtkprintoperation-unix.c:
* gtk/gtkprintoperation.[ch]:
Clean up APIs:
Make async a setting instead of separate calls.
Combine settings like show_dialog, show_preview and pdf_target into
an action enum that you pass to gtk_print_dialog_run().
* tests/print-editor.c:
* tests/testnouiprint.c:
* tests/testprint.c:
* demos/gtk-demo/printing.c:
Update to new APIs
2006-05-12 Alexander Larsson <alexl@redhat.com>
* gtk/gtkrecentmanager.c:
Fix build errors.
* gtk/gtk.symbols:
* demos/gtk-demo/printing.c:
* gtk/gtkprintoperation-win32.c:
* gtk/gtkprintoperation.[ch]:
* gtk/gtkprintsettings.[ch]:
* modules/printbackends/cups/gtkprintbackendcups.c:
* modules/printbackends/lpr/gtkprintbackendlpr.c:
* modules/printbackends/pdf/gtkprintbackendpdf.c:
* tests/print-editor.c:
* tests/testnouiprint.c:
* tests/testprint.c:
* tests/testprintfileoperation.c:
Rename functions from nr_of_pages to n_pages, and num_copies to
n_copies to match other gtk+ names.
* gtk/gtkmenu.c: (gtk_menu_popdown):
Only re-set window group on popdown if we set it on popup (i.e.
if there is a parent menu shell).
Fixed part of bug #340401
* gtk/gtkwindow.c:
Add (contruct) property "transient-for" to GtkWindow. This
is needed for the fix to bug #340401.
* gtk/gtkprintunixdialog.c:
Use the transient-for property on construction and populate the dialog
with widgets after that. This fixes bug #340401.
More n_pages renames.
2006-01-28 Behdad Esfahbod <behdad@gnome.org>
* configure.in: If major.minor of required and available glib versions
are the same, add -DG_DISABLE_DEPRECATED to GLIB_CFLAGS. (bug #328617)
* */Makefile.am: Remove hardcoded -DG_DISABLE_DEPRECATED.
2006-01-28 Matthias Clasen <mclasen@redhat.com>
More work on GtkAssistant by Carlos Garnacho:
* demos/gtk-demo/Makefile.am:
* demos/gtk-demo/assistant.c: Add a GtkAssistant demo.
* gtk/gtkassistant.c: Handle focus, several small fixes to the
flow computations.
2005-10-27 Matthias Clasen <mclasen@redhat.com>
* demos/gtk-demo/clipboard.c (paste_received): Only set the
text if it is not NULL. (#319930, Thomas Klausner)
* gtk/gtkselection.c (gtk_selection_data_get_pixbuf): Close the
loader before trying to get the pixbuf. (#319930, Thomas Klausner)
2005-07-12 Matthias Clasen <mclasen@redhat.com>
* demos/gtk-demo/iconview.c: Rename this demo.
* demos/gtk-demo/iconview_edit.c: Add a demo for icon view
editing and drag-and-drop.
2005-01-04 Matthias Clasen <mclasen@redhat.com>
* demos/testpixbuf.c (main): Remove the size_prepared callback,
to test incremental display.
(new_testrgb_window): Return the drawing area, not the window,
since we want to queue draws on the drawing area.
2004-12-05 Tor Lillqvist <tml@iki.fi>
* demos/gtk-demo/main.c (load_file): Use g_fopen().
* demos/gtk-demo/images.c (progressive_timeout): Use
g_fopen(). Open png file in binary mode.
Sat Nov 20 15:13:51 2004 Owen Taylor <otaylor@redhat.com>
* gdk/gdkpango.[ch]: Add GdkPangoRenderer, a subclass of
PangoRenderer targeting GDK drawables. Use to implement the old
gdk_draw_layout() and friends.
* gdk/gdkdraw.c gdk/gdkdrawable.h gdk/gdkwindow.c gdk/gdkpixmap.c:
Add gdk_draw_glyphs_transformed() gdk_draw_trapezoids() and
the corresponding members of GdkDrawableClass. Add a fallback
implementation of gdk_draw_trapezoids() in terms of pixbufs.
* gdk/gdkwindowing.h gdk/x11/gdkg-x11.h: Add
_gdk_windowing_gc_get_foreground() to enable the fallback
trapezoid implementation.
* gdk/x11/gdkdrawable-x11.c gdk/x11/gdkdisplay-x11.h: Implement
draw_glyph_transformed, draw_trapezoids.
* gdk/x11/gdkdrawable-x11.[ch]: Add
_gdk_x11_drawable_draw_xtrapezoids, _gdk_x11_drawable_draw_xft_glyphs
for use of GdkX11Renderer.
* gdk/x11/gdkgc-x11.c gdk/x11/gdkprivate-x11.h: Implement
GDK_TILED, GDK_STIPPLED, GDK_OPAQUE_STIPPLED in the RENDER codepath.
* gdk/gdkpango-x11.c: Add GdkX11Renderer... a subclass of
PangoXftRenderer that does tiles/stipples and fallback rendering
of trapezoids without the RENDER extension.
* gdk/gdkpango-x11.c gdk/x11/gdkscreen-x11.[ch] _gdk_x11_renderer_get:
Add _gdk_x11_renderer_get() to get a singleton GdkX11Renderer
for the screen.
* gdk/x11/gdkdrawable-x11.c (get_impl_drawable): Fix a None/NULL
confusion.
* gtk/gtklabel.[ch] gtk/gtk.symbols: Add gtk_label_set/get_angle(),
and an ::angle property.
* gtk/gtklabel.c: Remove #if 0'd dead code gtk_label_paint_word().
* gtk/gtktextdisplay.c: Switch to using a GtkTextRenderer subclass
of GdkPangoRenderer for drawing.
* gtk/gtktextlayout.[ch] gtk/gtktextdisplay.c: Switch to using
gtk_attr_shape_new_with_data() to store backreferences to
embedded pixmaps and widgets. Leave line_display->shaped_objects
around for backwords compatibility.
* gdk/gdkpango.[ch] (gdk_pango_context_set_colormap): Describe
as deprecated, remove implementation.
* gtk/gtkwidget.c (gtk_widget_create_pango_context): Remove
call to gdk_pango_context_set_colormap.
* demos/gtk-demo/Makefile.am demos/gtk-demo/rotated_text.c: Add
a demo showing drawing rotated text.
* tests/testgtk.c: Add a rotated-label test, and also a rotated
drawing test (differs from demos/gtk-demo/rotated_text by also
using a tile)
2004-10-25 Carlos Garnacho Parro <carlosg@gnome.org>
Fix for #118764, David Bordoley:
* gtk/gtkmessagedialog.[ch]
(gtk_message_dialog_format_secondary_text),
(gtk_message_dialog_format_secondary_format): API additions to
create HIG-like dialogs
* demos/gtk-demo/dialog.c: Use the new API in the example
* docs/reference/gtk/gtk-sections.txt:
* docs/reference/gtk/tmpl/gtkmessagedialog.sgml: documented API
additions
Wed Aug 18 17:25:26 2004 Manish Singh <yosh@gimp.org>
* demos/testpixbuf-save.c
* demos/gtk-demo/hypertext.c: Get rid of some unnecessary casts.
* demos/gtk-demo/appwindow.c: Make activate_email and activate_url
match the arguments for GtkAboutDialogActivateLinkFunc.
Thu Aug 12 21:02:57 2004 Matthias Clasen <maclas@gmx.de>
* demos/gtk-demo/appwindow.c (about_cb): Adjust to GtkAboutDialog API changes.
* gtk/gtkaboutdialog.h:
* gtk/gtkaboutdialog.c (gtk_about_dialog_set_email_hook):
(gtk_about_dialog_set_url_hook): Add callback data and destroy notify
for language bindings. (#149999, Olivier Andrieu)
2004-08-06 Hans Breuer <hans@breuer.org>
* gdk/win32/gdkwindow-win32.c : make it compile and more
similar to the X11 implementation [backward compatibility
for GDK_WINDOW_TEMP, GDK_INPUT_ONLY (fixes bug #148702),
use the *screen* function variants, dont reparent already
destroyed]
(get_visible_region) : take the win32 part into account
(_gdk_windowing_window_destroy) : remove from handle table
* gdk/win32/gdkdisplay-win32.c : added
gdk_display_(request|supports)_selection_notification ()
with a currently mostly pointless implementation ;-)
* gtk/gtkfilesystemwin32.c (*_to_path) : same changes as on *NIX,
plugs memory leak
(gtk_file_system_win32_render_icon) : use new GTK_STOCK_DIRECTORY
* gtk/makefile.msc.in demos/gtk-demo/makefile.msc.in
gtk/stock-icons/makefile.msc tests/makefile.msc : updated
* gdk/gdk.def gtk/gtk.def : updated externals
* tests/testiconview.c : remove unneeded dirent.h inclusion