Compare commits

..

784 Commits

Author SHA1 Message Date
Matthias Clasen
af839f96ec 2.10.14
svn path=/branches/gtk-2-10/; revision=18483
2007-07-16 21:26:42 +00:00
Matthias Clasen
c8dad88500 Fix the build
svn path=/branches/gtk-2-10/; revision=18482
2007-07-16 20:09:11 +00:00
Matthias Clasen
aecafcc92e Updates
svn path=/branches/gtk-2-10/; revision=18481
2007-07-16 19:51:10 +00:00
Matthias Clasen
e8ea8cb534 Merge from trunk:
2007-07-16  Matthias Clasen  <mclasen@redhat.com>

        Merge from trunk:

        * io-tiff.c: Revert the last change, it was wrong
        * gdk-pixbuf-loader.c (gdk_pixbuf_loader_close): Redo the last
        change in a different way.


svn path=/branches/gtk-2-10/; revision=18480
2007-07-16 19:11:13 +00:00
Cody Russell
fb56ad6a2b Merge from trunk:
2007-07-12  Cody Russell  <bratsche@gnome.org>

	Merge from trunk:

	* gdk/win32/gdkevents-win32.c
	* gdk/win32/gdkwindow-win32.[ch]: Fix transient windows on Win32 
	so that when a transient child window is closed (particularly when 
	there are 3 or more levels of transient windows), the correct window
	receives focus rather than a seemingly random window. (#112404) 


svn path=/branches/gtk-2-10/; revision=18462
2007-07-12 23:40:43 +00:00
Attilio Fiandrotti
2c9eedd1b3 Fixed memory leak at window closing in DirectFB backend, patch provided by Simon Lanzmich
svn path=/branches/gtk-2-10/; revision=18460
2007-07-12 17:13:54 +00:00
Tor Lillqvist
bbebdab86e On Win32 call gtk_status_icon_button_press() in an idle callback and not
2007-07-04  Tor Lillqvist  <tml@novell.com>

	* gtk/gtkstatusicon.c: On Win32 call
	gtk_status_icon_button_press() in an idle callback and not
	directly from the window procedure to avoid "g_main_loop_run():
	called recursively from within a source's check() or prepare()
	member, iteration not possible" warnings.


svn path=/branches/gtk-2-10/; revision=18376
2007-07-04 08:11:20 +00:00
Matthias Clasen
25b8260a1b Always set an error when returning NULL. (453365, Michael Chudobiak)
2007-07-03  Matthias Clasen  <mclasen@redhat.com>

        * io-tiff.c (tiff_image_parse): Always set an error
        when returning NULL.  (453365, Michael Chudobiak)



svn path=/branches/gtk-2-10/; revision=18366
2007-07-03 18:23:39 +00:00
Matthias Clasen
65bb50f470 Don't leave priv->image dangling when use-stock is set to FALSE. (#437281,
2007-07-03  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkbutton.c (gtk_button_construct_child): Don't leave
        priv->image dangling when use-stock is set to FALSE.  (#437281,
        Jochen Baier)


svn path=/branches/gtk-2-10/; revision=18363
2007-07-03 17:11:14 +00:00
Matthias Clasen
2788ddf781 Be more careful when calling g_propagate_error(). (#453365, Michael
2007-07-03  Matthias Clasen  <mclasen@redhat.com>

        * gdk-pixbuf-loader.c (gdk_pixbuf_loader_close): Be
        more careful when calling g_propagate_error().  (#453365,
        Michael Chudobiak)



svn path=/branches/gtk-2-10/; revision=18358
2007-07-03 16:32:00 +00:00
Matthias Clasen
2599d8b7c4 Enable SSL support. (#451070, Vince Busam)
2007-06-29  Matthias Clasen  <mclasen@redhat.com>

        * modules/printbackend/cups/gtkcupsutils.c (_post_check):
        (_get_check): Enable SSL support.  (#451070, Vince Busam)



svn path=/branches/gtk-2-10/; revision=18294
2007-06-29 18:49:36 +00:00
Emmanuele Bassi
ffe275cb16 Merge from trunk:
2007-06-29  Emmanuele Bassi  <ebassi@gnome.org>

	Merge from trunk:

	* gtk/gtkrecentmanager.c  (get_icon_for_mime_type): Do not
	cache the icon pixbufs but rely on the GtkIconTheme not to
	hit the disk cache too much (should tentatively fix #426987).

2007-06-26  Cody Russell  <bratsche@gnome.org>

svn path=/branches/gtk-2-10/; revision=18291
2007-06-29 17:33:18 +00:00
Priit Laes
1840fbe398 Estonian translation update by Ivar Smolin.
2007-06-28  Priit Laes  <plaes@svn.gnome.org>

	* et.po: Estonian translation update by Ivar Smolin.

svn path=/branches/gtk-2-10/; revision=18276
2007-06-28 08:07:50 +00:00
Nickolay V. Shmyrev
b5eaf20ff5 Updated Russian translation.
2007-06-28  Nickolay V. Shmyrev  <nshmyrev@yandex.ru>

	* ru.po: Updated Russian translation.


svn path=/branches/gtk-2-10/; revision=18275
2007-06-28 08:06:51 +00:00
Cody Russell
ff1fd9605e Merge from trunk:
2007-06-26  Cody Russell  <bratsche@gnome.org>

	Merge from trunk:

	* modules/engines/ms-windows/xp_theme.[ch]
	* modules/engines/ms-windows/msw_style.c: Add support for 
	drawing checkboxes with inconsistent states. (Tor, #164809)


svn path=/branches/gtk-2-10/; revision=18247
2007-06-26 19:53:21 +00:00
Tor Lillqvist
d3ef7af2d9 Revert my attempted overly simple fix for #445284, as it causes a
2007-06-25  Tor Lillqvist  <tml@novell.com>

	* gdk/win32/gdkevents-win32.c (gdk_pointer_grab): Revert my
	attempted overly simple fix for #445284, as it causes a
	regression. (For instance, in GIMP the tool cursor gets used also
	for the right-click menu in image windows.) A more complex fix is
	needed to more completely emulate X11 behaviour.


svn path=/branches/gtk-2-10/; revision=18224
2007-06-25 06:36:27 +00:00
Priit Laes
4e20b181b2 Estonian translation update by Ivar Smolin.
2007-06-20  Priit Laes  <plaes@svn.gnome.org>

	* et.po: Estonian translation update by Ivar Smolin.

svn path=/branches/gtk-2-10/; revision=18205
2007-06-20 10:13:32 +00:00
Priit Laes
4668646701 Estonian translation update by Ivar Smolin.
2007-06-20  Priit Laes  <plaes@svn.gnome.org>

	* et.po: Estonian translation update by Ivar Smolin.

svn path=/branches/gtk-2-10/; revision=18204
2007-06-20 10:10:11 +00:00
Carlos Garnacho
2543dea650 Fix some issues with refcounting of the adjustment. (#448544)
2007-06-19  Carlos Garnacho  <carlos@imendio.com>

        * gtk/gtkcellrendererspin.c: Fix some issues with refcounting
        of the adjustment. (#448544)


svn path=/branches/gtk-2-10/; revision=18190
2007-06-19 16:14:56 +00:00
Matthias Clasen
f2364ce93b Backport from trunk:
2007-06-14   Matthias Clasen  <mclasen@redhat.com>

        Backport from trunk:

        * gtk/gtkprintoperation.c (pdf_end_run): Fix a refcounting
        problem with the EXPORT action.  (#440040, Chris Vine)


svn path=/branches/gtk-2-10/; revision=18133
2007-06-14 12:44:23 +00:00
Michael Natterer
20692870c7 Merge from trunk:
2007-06-13  Michael Natterer  <mitch@imendio.com>

	Merge from trunk:

	* gtk/gtklabel.c (gtk_label_set_label): added calls to
	g_object_freeze/thaw_notify() so gtk_label_get_text() doesn't
	return the old text when called from a "notify::label" callback.


svn path=/branches/gtk-2-10/; revision=18124
2007-06-13 14:22:16 +00:00
Cody Russell
9b4507b03c Merge from trunk:
2007-06-13  Cody Russell  <bratsche@gnome.org>

	Merge from trunk:

	* gtk/gtkwidget.c: Fix inconsistency in GTK_WIDGET_SAVED_STATE
	(#435840, Xan Lopez)


svn path=/branches/gtk-2-10/; revision=18123
2007-06-13 14:19:36 +00:00
Matthias Clasen
72b2175401 2.10.14
svn path=/branches/gtk-2-10/; revision=18117
2007-06-13 04:11:15 +00:00
Matthias Clasen
e530cda3a0 2.10.13
svn path=/branches/gtk-2-10/; revision=18115
2007-06-13 04:09:13 +00:00
Matthias Clasen
d7c262fd76 Updates
svn path=/branches/gtk-2-10/; revision=18114
2007-06-13 03:01:26 +00:00
Matthias Clasen
a0eab94fc3 Fix some locking issues. (#420249, Christian Persch)
2007-06-11  Matthias Clasen  <mclasen@redhat.com>

        * modules/printbackends/cups/gtkprintbackendfile.c:
        * modules/printbackends/cups/gtkprintbackendcups.c: Fix some
        locking issues.  (#420249, Christian Persch)


svn path=/branches/gtk-2-10/; revision=18106
2007-06-12 02:19:20 +00:00
Cody Russell
d71a6044ac Merge from trunk:
2007-06-10  Cody Russell  <bratsche@gnome.org>

        Merge from trunk:

        * gdk/win32/gdkevents-win32.c (gdk_pointer_grab):
        Don't revert the mouse cursor to the built-in one when
        the user holds the mouse button down. (#445284, Tor Lillqvist)


svn path=/branches/gtk-2-10/; revision=18094
2007-06-10 16:13:49 +00:00
Matthias Clasen
2379e6b124 Handle return values from nl_langinfo() more correctly.
2007-06-09  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkcalendar.c (gtk_calendar_init): Handle return values
        from nl_langinfo() more correctly.



svn path=/branches/gtk-2-10/; revision=18086
2007-06-08 18:41:09 +00:00
Yevgen Muntyan
320f2ba885 Merge from trunk (#445196):
2007-06-07  Yevgen Muntyan  <muntyan@tamu.edu>

	Merge from trunk (#445196):

	* gtk/gtkstyle.c (get_insertion_cursor_gc): use text colors from
	widget style to draw cursor instead of hardcoded black and grey
	(#79585, comment #30).


svn path=/branches/gtk-2-10/; revision=18078
2007-06-07 20:06:41 +00:00
Johan Dahlin
3de3ff0f08 Merge from trunk:
2007-06-06  Johan Dahlin  <jdahlin@async.com.br>

    Merge from trunk:

    reviewed by: Matthias Clasen <mclasen@redhat.com>
    
    * gtk/gtkassistant.c (gtk_assistant_update_buttons_state): 
    Check if the wizard is empty before trying to access the first page.
    (#444310, Johan Dahlin)


svn path=/branches/gtk-2-10/; revision=18061
2007-06-06 15:00:51 +00:00
Cody Russell
0655665d42 Merge from trunk:
2007-06-04  Cody Russell  <bratsche@gnome.org>

        Merge from trunk:

        * gtk/gtklinkbutton.h
        * gtk/gtkaboutdialog.h: Change function argument "link"
        to "link_" to fix warnings for applications compiling
        with -Wshadow. (#379213)


svn path=/branches/gtk-2-10/; revision=18034
2007-06-04 18:59:42 +00:00
Cody Russell
484d13e313 Merge from trunk:
2007-06-04  Cody Russell  <bratsche@gnome.org>

        Merge from trunk:

        * gtk/gtkpathbar.c (gtk_path_bar_scroll_down): Check
        if down_button is NULL.  This happens when the pathbar button
        for the current directory is too large to fit in the
        space, e.g. on Windows for directories named something like
        "My Documents and Settings".  (#389603)


svn path=/branches/gtk-2-10/; revision=18032
2007-06-04 18:21:04 +00:00
Michael Natterer
7f330fe2dc Merge from trunk:
2007-06-01  Michael Natterer  <mitch@imendio.com>

	Merge from trunk:

	* gtk/gtkmenuitem.c (gtk_menu_item_position_menu): don't switch
	submenu opening direction for overlapping reasons if there is even
	less space on the other side (bug #441863, Tommi Komulainen).


svn path=/branches/gtk-2-10/; revision=18003
2007-06-01 11:28:14 +00:00
Mathias Hasselmann
4795ae8e55 Reset the internal response_requested flag, once the response triggered by file_chooser_widget_response_requested has been processed (#347883)
svn path=/branches/gtk-2-10/; revision=17997
2007-05-31 22:24:00 +00:00
Kristian Rietveld
b669bdd5c7 Merge from trunk for #438750.
2007-05-31  Kristian Rietveld  <kris@gtk.org>

	Merge from trunk for #438750.

	2006-12-28  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkcellrenderertext.c (get_layout): Remove a special
	case for single-line layouts.


svn path=/branches/gtk-2-10/; revision=17993
2007-05-31 17:35:51 +00:00
Chris Wilson
befb0dedfb Supply the current GError for fatal_error_handler(). (#441443)
2007-05-30  Chris Wilson  <chris@chris-wilson.co.uk>

    * io-jpeg.c (gdk_pixbuf__jpeg_image_stop_load):
    Supply the current GError for fatal_error_handler(). (#441443)


svn path=/branches/gtk-2-10/; revision=17990
2007-05-30 16:15:14 +00:00
Tor Lillqvist
b2c49c57bc Subtract the multi-monitor offset from x and y before setting up the
2007-05-30  Tor Lillqvist  <tml@novell.com>

	* gdk/win32/gdkevents-win32.c (gdk_pointer_grab): Subtract the
	multi-monitor offset from x and y before setting up the rectangle
	for ClipCursor(). Fixes #442326.


svn path=/branches/gtk-2-10/; revision=17987
2007-05-30 15:40:01 +00:00
Matthias Clasen
199d440c8e Queue a resize if the size changed. (#418047, Alex Graveley)
2007-05-30  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkiconview.c (gtk_icon_view_layout): Queue a resize
        if the size changed.  (#418047, Alex Graveley)



svn path=/branches/gtk-2-10/; revision=17986
2007-05-30 13:37:30 +00:00
Cody Russell
ba343d9632 Fix initialization of last cursor
svn path=/branches/gtk-2-10/; revision=17972
2007-05-29 01:04:20 +00:00
Tor Lillqvist
775add3523 Drop bogus -user32 switch. Was supposed to be -luser32, but he "l" was
2007-05-27  Tor Lillqvist  <tml@novell.com>

	* configure.in (GDK_EXTRA_LISB): Drop bogus -user32 switch. Was
	supposed to be -luser32, but he "l" was missing. But nobody has
	noticed, so presumably unnecessary.


svn path=/branches/gtk-2-10/; revision=17954
2007-05-27 18:35:02 +00:00
Xan Lopez
a366a78b4b Forgot to put bug number.
svn path=/branches/gtk-2-10/; revision=17920
2007-05-25 21:23:09 +00:00
Xan Lopez
f9a2e66995 Use private->data->short_label to update the proxies.
* gtk/gtkaction.c: (gtk_action_set_short_label):
	Use private->data->short_label to update the proxies.


svn path=/branches/gtk-2-10/; revision=17919
2007-05-25 21:16:35 +00:00
Matthias Clasen
e20be40451 Hold a refence on the print operation until gtk_print_job_send() is done.
2007-05-25  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkprintoperation-unix.c (unix_end_run): Hold a
        refence on the print operation until gtk_print_job_send()
        is done.  (#440040, Chris Vine)



svn path=/branches/gtk-2-10/; revision=17916
2007-05-25 17:24:34 +00:00
Matthias Clasen
51739cf90e Don't crash and don't leak. (#439565, Pedro Villavicencio)
2007-05-25  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkiconview.c (gtk_icon_view_accessible_ref_child):
        Don't crash and don't leak.  (#439565, Pedro Villavicencio)



svn path=/branches/gtk-2-10/; revision=17914
2007-05-25 16:31:56 +00:00
Kenneth Nielsen
49443d9ab1 Updated Danish translation
svn path=/branches/gtk-2-10/; revision=17908
2007-05-24 23:36:26 +00:00
Rhys Jones
63e6261ea3 Updated Welsh translation.
2007-05-23  Rhys Jones  <rhys@sucs.org>

	* cy.po: Updated Welsh translation.

svn path=/branches/gtk-2-10/; revision=17901
2007-05-23 20:47:11 +00:00
Rhys Jones
0155badafc Updated Welsh translation.
2007-05-23  Rhys Jones  <rhys@sucs.org>

	* cy.po: Updated Welsh translation.

svn path=/branches/gtk-2-10/; revision=17900
2007-05-23 20:45:23 +00:00
Stéphane Raimbault
70ce271eb9 Updated French translation by Jonathan Ernst, Claude Paroz and
Stéphane Raimbault.

svn path=/branches/gtk-2-10/; revision=17892
2007-05-22 17:28:12 +00:00
Attilio Fiandrotti
dd06ee9435 Merged from trunk (r17879) fix for #437379
svn path=/branches/gtk-2-10/; revision=17880
2007-05-20 22:00:15 +00:00
Carlos Garnacho
38a1ddb463 Refactor GtkFileChooserDialog sizing.
2007-05-18  Carlos Garnacho  <carlos@imendio.com>

        Refactor GtkFileChooserDialog sizing.

        * gtkfilechooserembed.[ch] (delegate_get_resizable_hints)
        (_gtk_file_chooser_embed_get_resizable_hints):
        s/resizable_hints/resizable/, return just one boolean value to
        determine whether the filechooser should be resizable or not.

        * gtkfilechooserprivate.h (struct GtkFileChooserDialogPrivate): remove
        variables related to the GtkFileChooserEmbed get_default_size() and
        get_resizable() implementations.
        (struct GtkFileChooserDefault): Move default size management here.

        * gtkfilechooserdefault.c (gtk_file_chooser_default_size_allocate):
        Added, store currently allocated size to calculate default size later.
        (gtk_file_chooser_default_get_resizable_hints):
        s/resizable_hints/resizable/.
        (gtk_file_chooser_default_set_property): Reload settings if the file
        chooser action changes, this way the save expander state will be known
        before mapping the window, avoiding wrong window positioning and
        flickering. (#424299, #424309)
        (find_good_size_from_style): Only get size from style if it wasn't set
        previously.
        (gtk_file_chooser_default_get_default_size): return default size based
        on stored default size and preview/extra widget sizes.

        * gtkfilechooserdialog.c (file_chooser_widget_update_hints)
        (file_chooser_widget_realized_size_changed)
        (file_chooser_widget_unrealized_size_changed): simplified to
        (file_chooser_widget_size_changed): set window size and resizability
        based on the GtkFileChooserEmbed interface implementation. (Bug
        #420285, Tomeu Vizoso)
        (gtk_file_chooser_dialog_map): force a dialog size change, so it's
        clamped for sure to the 75% of the screen size.


svn path=/branches/gtk-2-10/; revision=17867
2007-05-18 16:51:17 +00:00
David Lodge
6059471bea Updated en_GB translation
svn path=/branches/gtk-2-10/; revision=17854
2007-05-15 22:05:47 +00:00
Behdad Esfahbod
619736c843 Fix check for modifier keys. (#438261, Theppitak Karoonboonyanan)
2007-05-14  Behdad Esfahbod  <behdad@gnome.org>

        * modules/input/gtkimcontextthai.c
        (gtk_im_context_thai_filter_keypress):
        Fix check for modifier keys. (#438261, Theppitak Karoonboonyanan)


svn path=/branches/gtk-2-10/; revision=17841
2007-05-14 10:09:58 +00:00
Matthias Clasen
1037100a22 Fix size requisition for wide vertical separators. (#438113, Benjamin
2007-05-14  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkvseparator.c (gtk_vseparator_size_request): Fix
        size requisition for wide vertical separators.  (#438113,
        Benjamin Berg)


svn path=/branches/gtk-2-10/; revision=17838
2007-05-14 04:20:34 +00:00
Cody Russell
6c436e123d Fix context iterations for handle_configure_event()
svn path=/branches/gtk-2-10/; revision=17835
2007-05-13 18:45:46 +00:00
Behdad Esfahbod
aeb3c78366 Fix wrong cairo path generation. (#437879, Eddie C. Dost)
2007-05-12  Behdad Esfahbod  <behdad@gnome.org>

        * gdk/gdkdraw.c (gdk_draw_trapezoids): Fix wrong cairo path 
        generation.  (#437879, Eddie C. Dost)


svn path=/branches/gtk-2-10/; revision=17832
2007-05-12 18:52:53 +00:00
Michael Natterer
f721c3daeb Merge from trunk:
2007-05-11  Michael Natterer  <mitch@imendio.com>

	Merge from trunk:

	* gtk/gtktextview.c (selection_motion_event_handler): call
	gdk_device_get_state() so selecting works with XInput devices
	too. Spotted by Tommi Komulainen.


svn path=/branches/gtk-2-10/; revision=17821
2007-05-11 16:13:29 +00:00
Leonardo Ferreira Fontenelle
21e7be5e84 Updated Brazilian Portuguese translation by Washington Lins
2007-05-10  Leonardo Ferreira Fontenelle  <leonardof@svn.gnome.org>

	* pt_BR.po: Updated Brazilian Portuguese translation by Washington
	Lins <washington-lins@uol.com.br>.

svn path=/branches/gtk-2-10/; revision=17818
2007-05-11 02:06:55 +00:00
Matthias Clasen
65254fb61a Unparent the old image before overwriting priv->image. (#437281, Jochen
2007-05-10  Matthias Clasen <mclasen@redhat.com>

        * gtk/gtkbutton.c (gtk_button_set_image): Unparent the old
        image before overwriting priv->image.  (#437281, Jochen Baier)


svn path=/branches/gtk-2-10/; revision=17817
2007-05-10 20:22:08 +00:00
Matthias Clasen
d43501f3e9 Don't call into the backend if the region is empty. (#437081, Sven
2007-05-10  Matthias Clasen <mclasen@redhat.com>

        * gdk/gdkdraw.c (gdk_draw_pixbuf): Don't call into
        the backend if the region is empty.  (#437081, Sven Neumann)



svn path=/branches/gtk-2-10/; revision=17814
2007-05-10 19:24:48 +00:00
Dom Lachowicz
7342573330 Merge from trunk:
2007-05-09  Dom Lachowicz <domlachowicz@gmail.com>

        Merge from trunk:

        * modules/engines/ms-windows/Theme/gtk-2.0/gtkrc: GtkTreeView 
doesn't
        expand/collapse with Right/Left cursor keys on Windows
        (#436269, Daniel Atallah)


svn path=/branches/gtk-2-10/; revision=17811
2007-05-09 17:24:34 +00:00
Cody Russell
e098ab04f9 Render non-XP tabs correctly on Win32
svn path=/branches/gtk-2-10/; revision=17809
2007-05-09 16:16:09 +00:00
Amitakhya Phukan
1c7612732f Updated Changelog for updated assamese translation
svn path=/branches/gtk-2-10/; revision=17806
2007-05-09 11:52:07 +00:00
Amitakhya Phukan
6b6a53e9ba Updated assamese translation
svn path=/branches/gtk-2-10/; revision=17805
2007-05-09 11:51:33 +00:00
Loïc Minier
5d58d7cf49 Backport misc directfb fixes from trunk; thanks Attilio Fiandrotti for the
2007-05-09  Loïc Minier  <lool@dooz.org>

	* gdk/directfb/Makefile.am:
	* gdk/directfb/gdkcolor-directfb.c:
	* gdk/directfb/gdkevents-directfb.c: (dfb_events_io_func),
	(gdk_event_translate):
	* gdk/directfb/gdkkeys-directfb.c:
	(gdk_keymap_translate_keyboard_state):
	* gdk/directfb/gdkpixmap-directfb.c: (gdk_pixmap_new):
	* gdk/directfb/gdkproperty-directfb.c: (gdk_atom_name):
	* gdk/directfb/gdkscreen-directfb.c: (gdk_screen_is_composited):
	* gdk/directfb/gdkwindow-directfb.c:
	(_gdk_windowing_window_destroy), (_gdk_directfb_move_resize_child):
	Backport misc directfb fixes from trunk; thanks Attilio Fiandrotti for
	the patch.

svn path=/branches/gtk-2-10/; revision=17803
2007-05-09 07:12:45 +00:00
Theppitak Karoonboonyanan
1d25cbdd6d Updated Thai translation.
* th.po: Updated Thai translation.


svn path=/branches/gtk-2-10/; revision=17800
2007-05-07 07:08:05 +00:00
Alexander Shopov
2473562bb3 Updated Bulgarian translation by Alexander Shopov <ash@contact.bg>
2007-05-05  Alexander Shopov  <ash@contact.bg>

	* bg.po: Updated Bulgarian translation by
	Alexander Shopov <ash@contact.bg>

svn path=/branches/gtk-2-10/; revision=17796
2007-05-05 07:27:31 +00:00
Alexander Shopov
7cfbc2e1ac Updated Bulgarian translation by Alexander Shopov <ash@contact.bg>
2007-05-05  Alexander Shopov  <ash@contact.bg>

	* bg.po: Updated Bulgarian translation by
	Alexander Shopov <ash@contact.bg>

svn path=/branches/gtk-2-10/; revision=17795
2007-05-05 06:51:23 +00:00
Daniel Nylander
1fd259f69a sv.po: Updated Swedish translation
svn path=/branches/gtk-2-10/; revision=17793
2007-05-04 21:31:55 +00:00
Djihed Afifi
55e1e68704 Updated Arabic Translation by Khaled Hosny.
svn path=/branches/gtk-2-10/; revision=17789
2007-05-03 18:47:33 +00:00
Jorge Gonzalez Gonzalez
4c386eaace Updated Spanish translation.
svn path=/branches/gtk-2-10/; revision=17788
2007-05-03 16:55:54 +00:00
Armin Burgmeier
1f5902ec25 Merge from trunk:
2007-05-02  Armin Burgmeier  <armin@openismus.com>

	Merge from trunk:

	* gtk/gtkcombobox.c: Destroy the menu in dispose instead of
	finalize, because the menu might unparent itself from its parent and
	cause a signal emission on a finalized object. (#430746)

svn path=/branches/gtk-2-10/; revision=17787
2007-05-03 16:22:38 +00:00
Yang Zhang
eda414c03b Updated zh_CN translation
svn path=/branches/gtk-2-10/; revision=17784
2007-05-03 11:50:59 +00:00
Matthias Clasen
ad0e3dcdd8 bump version
svn path=/branches/gtk-2-10/; revision=17781
2007-05-02 22:00:15 +00:00
Matthias Clasen
60709383b8 2.10.12
svn path=/branches/gtk-2-10/; revision=17779
2007-05-02 21:54:57 +00:00
Josep Puigdemont i Casamajó
1633a96a90 Updated Catalan translation.
svn path=/branches/gtk-2-10/; revision=17778
2007-05-02 19:46:46 +00:00
Duarte Loreto
b5c35a8c9e Updated Portuguese translation.
2007-05-02  Duarte Loreto <happyguy_pt@hotmail.com>

	* pt.po: Updated Portuguese translation.

svn path=/branches/gtk-2-10/; revision=17777
2007-05-02 18:55:12 +00:00
Takeshi AIHANA
901e985c1d Updated Japanese translation.
2007-05-03  Takeshi AIHANA <takeshi.aihana@gmail.com>

        * ja.po: Updated Japanese translation.

svn path=/branches/gtk-2-10/; revision=17776
2007-05-02 17:22:41 +00:00
Matthias Clasen
de8ab84a52 Forgotten changes for the icon cache validator
2007-05-02  Matthias Clasen  <mclasen@redhat.com>

        * gtk/Makefile.am: Forgotten changes for the icon cache validator


svn path=/branches/gtk-2-10/; revision=17775
2007-05-02 16:51:41 +00:00
Matthias Clasen
89643a5500 forgotten file
svn path=/branches/gtk-2-10/; revision=17774
2007-05-02 16:15:11 +00:00
Kristian Rietveld
37f8533745 Merge from trunk:
2007-05-02  Kristian Rietveld  <kris@imendio.com>

	Merge from trunk:

	* gtk/gtktreeview.c (gtk_tree_view_grab_notify): stop the rubber band
	if it's active.


svn path=/branches/gtk-2-10/; revision=17771
2007-05-02 08:09:46 +00:00
Matthias Clasen
fe6f91ded2 Updates
svn path=/branches/gtk-2-10/; revision=17769
2007-05-02 03:13:57 +00:00
Matthias Clasen
afb9a6c601 Don't be too strict when checking icon flags. (#435062)
2007-05-01  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkiconcachevalidator.c: Don't be too strict when checking
        icon flags.  (#435062)



svn path=/branches/gtk-2-10/; revision=17768
2007-05-02 02:21:28 +00:00
Matthias Clasen
40653e2a1f Don't ignore the fact that gtk_file_system_get_parent() may return NULL.
2007-05-01  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkfilesystemmodel.c (_gtk_file_system_model_path_do):
        Don't ignore the fact that gtk_file_system_get_parent()
        may return NULL.  (#424042, Jan Martinek)



svn path=/branches/gtk-2-10/; revision=17765
2007-05-02 01:23:30 +00:00
Dan Winship
a56af6e2f7 Merge from trunk:
* gdk/x11/gdkwindow-x11.c (setup_toplevel_window): Make sure the
	leader_window's WM_CLIENT_LEADER points to itself. #435028

svn path=/branches/gtk-2-10/; revision=17763
2007-05-02 00:21:51 +00:00
Matthias Clasen
0a65a72417 add a new struct field to clear the file entry after the current folder
2007-05-01  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkfilechooserdefault.c (struct UpdateCurrentFolderData),
        (update_current_folder_get_info_cb): add a new struct field to clear
        the file entry after the current folder has been updated.

        (gtk_file_chooser_default_update_current_folder),
        (change_folder_and_display_error): Add a new function parameter to
        trigger file entry clearing.

        (edited_idle_create_folder_cb),
        (file_list_drag_data_received_get_info_cb),
        (gtk_file_chooser_default_map),
        (gtk_file_chooser_default_set_current_folder),
        (switch_to_selected_folder), (save_entry_get_info_cb),
        (shortcuts_activate_volume_mount_cb), (shortcuts_activate_volume),
        (shortcuts_activate_get_info_cb), (list_row_activated),
        (path_bar_clicked): use new function parameter appropriately.

        (gtk_file_chooser_default_should_respond): trigger file entry clearing
        after the directory is updated instead of clearing it before, this way
        we avoid reloading the completion model with the soon to be old folder,
        causing a warning and a glitch in the folder where completion happens.
        (#379414, Carlos Garnacho)




svn path=/branches/gtk-2-10/; revision=17757
2007-05-01 22:03:08 +00:00
Matthias Clasen
f16cc7f311 Remove debug spew, add a warning
svn path=/branches/gtk-2-10/; revision=17755
2007-05-01 21:55:28 +00:00
Ihar Hrachyshka
7209503eb7 Updated Belarusian Latin translation.
svn path=/branches/gtk-2-10/; revision=17750
2007-05-01 09:28:15 +00:00
Matthias Clasen
5eae4ef392 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=/branches/gtk-2-10/; revision=17749
2007-04-30 19:29:33 +00:00
Matthias Clasen
abf1066d78 A NO_WINDOW widget must not set the background of its window. (#433972,
2007-04-30  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkexpander.c (gtk_expander_realize): A NO_WINDOW widget
        must not set the background of its window.  (#433972,
        Guilherme Polo)


svn path=/branches/gtk-2-10/; revision=17745
2007-04-30 18:00:17 +00:00
Matthias Clasen
06e80d784a Get all the printer attributes when getting the list of printers, not via
2007-04-30  Matthias Clasen  <mclasen@redhat.com>

        * modules/printbackends/cups/gtkprintbackendcups.c: Get all
        the printer attributes when getting the list of printers,
        not via separate requests.  (#387889, Krishan Purahoo)


svn path=/branches/gtk-2-10/; revision=17742
2007-04-30 17:42:10 +00:00
Cody Russell
d22d101f97 Clear correct area
svn path=/branches/gtk-2-10/; revision=17738
2007-04-30 15:30:38 +00:00
Matthias Clasen
7e13e72706 Translate the default job name, and don't utf8-validate the job name in
2007-04-30  Matthias Clasen <mclasen@redhat.com>

        * gtk/gtkprintoperation.c: Translate the default job
        name, and don't utf8-validate the job name in the
        setter.  (#421993, Morten Welinder)



svn path=/branches/gtk-2-10/; revision=17727
2007-04-30 05:10:20 +00:00
Matthias Clasen
046fc3cc2f Use g_unlink. (#421990, Morten Welinder)
2007-04-30  Matthias Clasen <mclasen@redhat.com>

        * gtk/gtkprintjob.c (gtk_print_job_get_surface): Use
        g_unlink.  (#421990, Morten Welinder)



svn path=/branches/gtk-2-10/; revision=17725
2007-04-30 04:56:32 +00:00
Matthias Clasen
e23495daee Fix some issues with reference handling in the printing code. (#429902,
2007-04-29  Matthias Clasen <mclasen@redhat.com>

        Fix some issues with reference handling in the printing
        code.  (#429902, Mathias Hasselmann)

        * gtk/gtkprintoperation.c (gtk_print_operation_finalize):
        Unref the print context, if we have one.
        (gtk_print_operation_done): Add a default ::done handler
        that unrefs the print context.
        (preview_ready): Take a reference on the print operation
        preview here.
        (print_pages_idle): ...not here,
        (preview_print_idle_done): ...and release it here.

        * tests/print-editor.c (preview_cb): Take a reference
        on the print operation here.



svn path=/branches/gtk-2-10/; revision=17723
2007-04-30 04:50:49 +00:00
Matthias Clasen
08bf8df1a0 Make the emission of ::end-print and ::done consistent for previews.
2007-04-29  Matthias Clasen <mclasen@redhat.com>

        Make the emission of ::end-print and ::done consistent
        for previews.  (#347567, Yevgen Muntyan)

        * gtk/gtkprintoperation.c (preview_iface_end_preview): Set
        the finished status here.
        (preview_end_run): ...and not here.
        (print_pages_idle_done): Emit ::done for a cancelled preview.
        (print_pages_idle): If a preview has been cancelled, don't
        emit ::ready, but emit ::end-print.

        tests/print-editor.c: Use ::end-print to undo allocations
        from ::begin-print.


svn path=/branches/gtk-2-10/; revision=17720
2007-04-30 02:21:10 +00:00
Matthias Clasen
83ef247e1f Document that a print operation can be run only once, and add a
2007-04-29  Matthias Clasen <mclasen@redhat.com>

        * gtk/gtkprintoperation.c (gtk_print_operation_run): Document
        that a print operation can be run only once, and add a
        corresponding g_return_if_fail().   (#379399, Masao Mutoh)



svn path=/branches/gtk-2-10/; revision=17716
2007-04-29 18:56:28 +00:00
Matthias Clasen
44c7ba14b0 Remove a pointless check from the previous commit that added a new string.
2007-04-29  Matthias Clasen <mclasen@redhat.com>

        * io-jpeg.c: Remove a pointless check from the previous
        commit that added a new string.



svn path=/branches/gtk-2-10/; revision=17713
2007-04-29 18:38:18 +00:00
Matthias Clasen
f164053f95 Unlink the file if launching the preview failed, use the settings from the
2007-04-29  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkprintoperation-unix.c 
        (_gtk_print_operatin_platform_launch_preview): Unlink the
        file if launching the preview failed, use the settings from
        the correct screen, and don't make the error dialog modal.
        (#421985, Morten Welinder)



svn path=/branches/gtk-2-10/; revision=17709
2007-04-29 18:10:35 +00:00
Matthias Clasen
d87cb6e82d Only strip parentheses of the form (_x). (#434261, Brian Wellington)
2007-04-29  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtktoolbar.c (_gtk_toolbar_elide_underscores):
        Only strip parentheses of the form (_x).  (#434261,
        Brian Wellington)


svn path=/branches/gtk-2-10/; revision=17706
2007-04-29 07:22:08 +00:00
Matthias Clasen
40db7d038b Fix the build
svn path=/branches/gtk-2-10/; revision=17702
2007-04-29 06:51:12 +00:00
Ihar Hrachyshka
8b4c8fa1a1 Updated Belarusian Latin translation.
svn path=/branches/gtk-2-10/; revision=17700
2007-04-29 06:49:48 +00:00
Matthias Clasen
c80541a3e4 Also check the default handler when deciding whether to emit the paginate
2007-04-29  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkprintoperation.c (print_pages_idle): Also check
        the default handler when deciding whether to emit the
        paginate signal.  (#345345, Yevgen Muntyan)



svn path=/branches/gtk-2-10/; revision=17699
2007-04-29 06:35:33 +00:00
Matthias Clasen
3098de7054 Free the custom paper list. (#403267, Felix Riemann)
2007-04-29  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkpagesetupunixdialog.c (gtk_page_setup_unix_dialog_finalize):
        Free the custom paper list.  (#403267, Felix Riemann)



svn path=/branches/gtk-2-10/; revision=17696
2007-04-29 05:07:33 +00:00
Matthias Clasen
d84f87dc1b Fix a small memory leak. (#403251, Felix Riemann)
2007-04-29  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkprintjob.c (gtk_print_job_get_surface): Fix a
        small memory leak.  (#403251, Felix Riemann)



svn path=/branches/gtk-2-10/; revision=17694
2007-04-29 04:59:38 +00:00
Matthias Clasen
ec485b24bd Fix the offsets of the input-only window if we also have a visible window.
2007-04-28  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkeventbox.c (gtk_event_box_realize): Fix the offsets
        of the input-only window if we also have a visible window.
        (#405089)



svn path=/branches/gtk-2-10/; revision=17684
2007-04-28 21:49:13 +00:00
Matthias Clasen
a6fc91c07e Recognize negative column indices as invalid. (#415260, Chris Wilson)
2007-04-28  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkliststore.c (gtk_list_store_set_valist_internal):
        * gtk/gtktreestore.c (gtk_tree_store_set_valist_internal):
        Recognize negative column indices as invalid.  (#415260,
        Chris Wilson)


svn path=/branches/gtk-2-10/; revision=17682
2007-04-28 21:31:34 +00:00
Matthias Clasen
1bb1405cf1 Accept unknown parameters with a warning when saving. (#405539, Daniel
2007-04-28  Matthias Clasen <mclasen@redhat.com>

        * io-png.c:
        * io-jpeg.c: Accept unknown parameters with a warning
        when saving.  (#405539, Daniel Atallah)



svn path=/branches/gtk-2-10/; revision=17674
2007-04-28 14:49:43 +00:00
Matthias Clasen
28ec7761ee Plug memory leaks caused by wrong use of g_slist_remove_link(). (#405515,
2007-04-28  Matthias Clasen  <mclasen@redhat.com>

        * gdk/win32/bdfcursor.c (compose_cursors_from_fonts):
        * gtk/gtkcombobox.c (gtk_combo_box_cell_layout_reorder):
        * gtk/gtkfilesystemmodel.c (got_root_folder_cb):
        (get_children_folder_cb): Plug memory leaks caused by wrong
        use of g_slist_remove_link().  (#405515, Nicolas Peninguy)



svn path=/branches/gtk-2-10/; revision=17672
2007-04-28 14:43:20 +00:00
Matthias Clasen
3ebb7e964c Fix the headers in the print demo. (#423722, Yevgen Muntyan)
2007-04-28  Matthias Clasen  <mclasen@redhat.com>

        * demos/gtk-demo/printing.c: Fix the headers in the print
        demo.  (#423722, Yevgen Muntyan)



svn path=/branches/gtk-2-10/; revision=17670
2007-04-28 14:09:36 +00:00
Tor Lillqvist
cb2c4a4597 Remove old child of scrolled window before adding a new one when switching
2007-04-26  Tor Lillqvist  <tml@novell.com>

	* gtk/gtkinputdialog.c (gtk_input_dialog_fill_axes)
	(gtk_input_dialog_fill_keys): Remove old child of scrolled window
	before adding a new one when switching what input device is being
	handled. (#399425)


svn path=/branches/gtk-2-10/; revision=17655
2007-04-26 06:19:13 +00:00
Matthias Clasen
3357ad8bf8 Mark the printer list as done. (#428665, Bogdan Gheorghe)
2007-04-26  Matthias Clasen  <mclasen@redhat.com>

        * modules/printbackends/lpr/gtkprintbackendlpr.c
        (gtk_print_backend_lpr_init): Mark the printer list as done.
        (#428665, Bogdan Gheorghe)



svn path=/branches/gtk-2-10/; revision=17654
2007-04-26 06:16:01 +00:00
Matthias Clasen
2f9521e58d Don't install UNIX-printing headers and support files on non-UNIX
2007-04-26  Matthias Clasen  <mclasen@redhat.com>

        * Makefile.am:
        * gtk/Makefile.am: Don't install UNIX-printing headers and
        support files on non-UNIX platforms.  (#425655, Vincent Geddes)



svn path=/branches/gtk-2-10/; revision=17652
2007-04-26 06:05:20 +00:00
Matthias Clasen
2b85c47132 Accept unnamed separators. (#369112, Christian Persch)
2007-04-26  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkuimanager.c (gtk_ui_manager_add_ui): Accept
        unnamed separators.  (#369112, Christian Persch)



svn path=/branches/gtk-2-10/; revision=17650
2007-04-26 05:55:59 +00:00
Matthias Clasen
1b730c2d01 Don't access invalid memory. (#429732, Armin Burgmeier)
2007-04-26  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkaccelgroup.c (gtk_accel_group_finalize): Don't access
        invalid memory.  (#429732, Armin Burgmeier)



svn path=/branches/gtk-2-10/; revision=17648
2007-04-26 05:52:24 +00:00
Cody Russell
bdc6c63ffb Use native Win32 cursors where it makes sense
svn path=/branches/gtk-2-10/; revision=17646
2007-04-26 05:28:16 +00:00
Cody Russell
f9507b4e08 Win32 drop shadow goodness
svn path=/branches/gtk-2-10/; revision=17644
2007-04-25 23:45:09 +00:00
Matthias Clasen
5ee1e016b1 Set the background of the header window again. (#431067, Benjamin Berg)
* gtk/gtktreeview.c (gtk_tree_view_style_set): Set the background
        of the header window again.  (#431067, Benjamin Berg)



svn path=/branches/gtk-2-10/; revision=17641
2007-04-25 19:13:29 +00:00
Matthias Clasen
9c6e762a33 Set the filename to NULL for builtin icons, sinc
2007-04-25  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkicontheme.c (theme_lookup_icon): Set the filename to
        NULL for builtin icons, sinc gtk_icon_info_get_builtin_pixbuf()
        depends on it.

        * tests/testicontheme.c: Report builtin icons.


svn path=/branches/gtk-2-10/; revision=17639
2007-04-25 18:06:11 +00:00
Matthias Clasen
5196c8e5bf Don't crash if end_run is not set. (#424168, Matthias Hasselmann)
2007-04-25  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkprintoperation.c (preview_iface_end_preview): Don't
        crash if end_run is not set.  (#424168, Matthias Hasselmann)



svn path=/branches/gtk-2-10/; revision=17637
2007-04-25 16:30:00 +00:00
Matthias Clasen
e7ae6a11ee Don't double the delay time of the first frame. (#431997, Björn
2007-04-25  Matthias Clasen <mclasen@redhat.com>

        * gdk-pixbuf-simple-anim.c (gdk_pixbuf_simple_anim_add_frame):
        Don't double the delay time of the first frame.  (#431997,
        Björn Lindqvist)


svn path=/branches/gtk-2-10/; revision=17635
2007-04-25 14:47:19 +00:00
Michael Natterer
a117b32242 Merged from trunk:
2007-04-25  Michael Natterer  <mitch@imendio.com>

	Merged from trunk:

	* gtk/gtkmenu.c (gtk_menu_handle_scrolling): fix ACTIVE state of
	scroll buttons (we were setting the state to ACTIVE but
	immediately overwriting it with NORMAL or PRELIGHT). Also got rid
	of many separate calls to gdk_window_invalidate_rect() by
	remembering the old button state and only invalidating the area if
	the state has changed (addresses parts of bug #433242, Tommi
	Komulainen).

	(gtk_menu_scroll_to): change the arrow states only if changing
	from or to INSENSITIVE state, so we don't overwrite the ACTIVE
	state set by above function.


svn path=/branches/gtk-2-10/; revision=17631
2007-04-25 12:31:20 +00:00
Chris Wilson
0131d4ecde Ensure the icon_theme->all_icons and dir->icons hash tables use the same
2007-04-24  Chris Wilson  <chris@chris-wilson.co.uk>

    * gtk/gtkicontheme.c (scan_directory): Ensure the 
    icon_theme->all_icons and dir->icons hash tables use the same string
    as their keys. (#418531)


svn path=/branches/gtk-2-10/; revision=17625
2007-04-24 14:51:52 +00:00
Cody Russell
6411857a0c Cleanup of tab rendering code
svn path=/branches/gtk-2-10/; revision=17624
2007-04-24 03:33:18 +00:00
Cody Russell
ec2caa4bae Fix premature DC release
svn path=/branches/gtk-2-10/; revision=17621
2007-04-23 18:44:15 +00:00
Matthias Clasen
cab5e86171 Reduce the amount of debug spew if we are not debugging.
2007-04-23  Matthias Clasen  <mclasen@redhat.com>

        * modules/printbackends/cups/gtkprintbackendcups.c: Reduce
        the amount of debug spew if we are not debugging.



svn path=/branches/gtk-2-10/; revision=17620
2007-04-23 17:14:12 +00:00
Cody Russell
9b78d8389d Backported fix from trunk
svn path=/branches/gtk-2-10/; revision=17616
2007-04-19 17:35:20 +00:00
Cody Russell
f251591cf8 Fix menuitem rendering in Vista
svn path=/branches/gtk-2-10/; revision=17615
2007-04-19 17:25:24 +00:00
Pema Geyleg
fe8facd8a0 Updated Dzongkha Translation
svn path=/branches/gtk-2-10/; revision=17612
2007-04-19 10:32:08 +00:00
Matthias Clasen
90358a3a42 Fix a borderline case with regions
svn path=/branches/gtk-2-10/; revision=17609
2007-04-18 15:23:40 +00:00
Emmanuele Bassi
38eba176e5 Merged from trunk:
2007-04-18  Emmanuele Bassi  <ebassi@gnome.org>

	Merged from trunk:

        * gtk/gtkrecentmanager.c (gtk_recent_manager_lookup_item): Fix
        a leak by not increasing the refcount of the GtkRecentInfo
        object when returning it (thanks to Matthias Clasen).

svn path=/branches/gtk-2-10/; revision=17607
2007-04-18 14:40:33 +00:00
Dan Williams
71021b0efd Merged from trunk:
2007-04-16  Dan Williams  <dcbw@redhat.com>

	Merged from trunk:

	* gtk/gtkrc.c: (gtk_rc_context_get): Initialise variable (#423064)


svn path=/branches/gtk-2-10/; revision=17605
2007-04-16 17:13:17 +00:00
Alexander Larsson
bf27e8b0f3 Merged from trunk:
2007-04-16  Alexander Larsson  <alexl@redhat.com>

	Merged from trunk:

	* gtk/gtkprintoperation.c (gtk_print_operation_run):
	Make async print preview work by actually starting
	the print process in that case (#424168)


svn path=/branches/gtk-2-10/; revision=17604
2007-04-16 09:01:47 +00:00
Kostas Papadimas
e3cb4f793f Updated Greek translation
svn path=/branches/gtk-2-10/; revision=17602
2007-04-15 10:17:37 +00:00
Chris Wilson
44eab2f9b2 s/g_hash_table_get_keys/hash_table_get_keys/ Avoid the naming conflict
2007-04-11  Chris Wilson  <chris@chris-wilson.co.uk>

    * gtk/gtkiconfactory.c (hash_table_get_keys),
    (_gtk_icon_factory_list_ids):
    * gtk/gtkstock.c (hash_table_get_keys), (gtk_stock_list_ids):
        s/g_hash_table_get_keys/hash_table_get_keys/
        Avoid the naming conflict with the recent GLib implementation
        of the similar function.


svn path=/branches/gtk-2-10/; revision=17598
2007-04-11 18:04:17 +00:00
Matthias Clasen
7d89a0f71d Change the XSettingsWatchFunc to return a Bool to indicate success. Update
2007-04-10  Matthias Clasen  <mclasen@redhat.com>

        * gdk/x11/xsettings-client.[hc]: Change the XSettingsWatchFunc
        to return a Bool to indicate success. Update callers and
        implementors. Based on a patch by Owen Taylor.

        * gdk/x11/gdkevents-x11.c (gdk_xsettings_watch_cb): Don't
        leak a reference to gdkwin.



svn path=/branches/gtk-2-10/; revision=17593
2007-04-10 23:25:34 +00:00
Matthias Clasen
ba41627737 Duplicate the mime_type when storing it in a hash node, to avoid leaks.
2007-04-09  Matthias Clasen  <mclasen@redhat.com>

        * xdgmimeglob.c (_xdg_glob_hash_insert_text): Duplicate the
        mime_type when storing it in a hash node, to avoid leaks.
        Update all callers.


svn path=/branches/gtk-2-10/; revision=17590
2007-04-09 18:33:47 +00:00
Baris Cicek
b23bad70a4 Updated Turkish Translation
svn path=/branches/gtk-2-10/; revision=17587
2007-04-07 18:04:19 +00:00
Baris Cicek
867f167d76 Updated Turkish Translation
svn path=/branches/gtk-2-10/; revision=17586
2007-04-07 17:27:27 +00:00
Vincent van Adrighem
f57c7c34c9 Translation updated by Tino Meinen.
2007-04-03  Vincent van Adrighem  <adrighem@gnome.org>

	* nl.po: Translation updated by Tino Meinen.

svn path=/branches/gtk-2-10/; revision=17581
2007-04-03 15:11:03 +00:00
Loïc Minier
fa7d94bbc9 Merge r17579 from trunk:
2007-04-03  Loïc Minier  <lool@dooz.org>

	* gdk/x11/gdkscreen-x11.c: (check_xfree_xinerama): Revert to
	non-xinerama mode when XineramaQueryScreens returns NULL; patch from
	Simon McVittie; #425786.

svn path=/branches/gtk-2-10/; revision=17580
2007-04-03 13:51:44 +00:00
Cody Russell
fb180cf79b Fix leaked pixbuf in tab rendering
svn path=/branches/gtk-2-10/; revision=17577
2007-04-01 20:07:38 +00:00
Cody Russell
db866825a6 Fix bottom-oriented notebook tabs on Win32. #399253
svn path=/branches/gtk-2-10/; revision=17576
2007-04-01 18:51:22 +00:00
Inaki Larranaga Murgoitio
2dc21cefe9 Updated Basque translation.
2007-03-30  Inaki Larranaga Murgoitio  <dooteo@euskalgnu.org>

	* eu.po: Updated Basque translation.


svn path=/branches/gtk-2-10/; revision=17573
2007-03-30 15:49:47 +00:00
Inaki Larranaga Murgoitio
03cac4dfac Updated Basque translation.
2007-03-30  Inaki Larranaga Murgoitio  <dooteo@euskalgnu.org>

	* eu.po: Updated Basque translation.


svn path=/branches/gtk-2-10/; revision=17572
2007-03-30 15:46:48 +00:00
Matthias Clasen
b781e516b7 Merge from trunk:
2007-03-28  Matthias Clasen  <mclasen@redhat.com>

        Merge from trunk:

        * modules/printbackends/cups/gtkcupsutils.[hc]:
        * modules/printbackends/cups/gtkprintbackendcups.c: Apply
        a patch by John Palmieri to make the cups print backend support
        raw printers.



svn path=/branches/gtk-2-10/; revision=17569
2007-03-28 15:59:14 +00:00
Ignacio Casal Quinteiro
d8be56f631 Updated Galician Translation
svn path=/branches/gtk-2-10/; revision=17563
2007-03-25 20:26:00 +00:00
Matthias Clasen
d3bfae523d Add a keybinding (C-h) to toggle whether to show hidden files. (#344657,
2007-03-23  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkfilechooserdefault.c: Add a keybinding (C-h) to
        toggle whether to show hidden files.  (#344657,
        Wouter Bolsterlee, Priit Laes, et al)



svn path=/branches/gtk-2-10/; revision=17558
2007-03-23 05:18:15 +00:00
Matthias Clasen
b5cdeeb0af Add a keybinding to toggle the visibility of the location entry. (#383354,
2007-03-23  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkfilechooserdefault.c: Add a keybinding to
        toggle the visibility of the location entry.  (#383354,
        John Pye, patch by Carlos Garnacho)



svn path=/branches/gtk-2-10/; revision=17556
2007-03-23 05:08:31 +00:00
Matthias Clasen
1c395cc860 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=/branches/gtk-2-10/; revision=17554
2007-03-22 21:59:29 +00:00
Matthias Clasen
17f4c4f0e6 Remove debug spew
svn path=/branches/gtk-2-10/; revision=17552
2007-03-22 02:44:22 +00:00
Laurent Dhima
dd5501d9c5 Updated Albanian translation.
svn path=/branches/gtk-2-10/; revision=17548
2007-03-21 11:26:17 +00:00
Matthias Clasen
a5077a64bd Ensure that the prefix is valid UTF-8. (#419568, Nickolay V. Shmyrev)
2007-03-18  Matthias Clasen <mclasen@redhat.com> 

        * gtk/gtkentrycompletion.c (gtk_entry_completion_compute_prefix):
        Ensure that the prefix is valid UTF-8.  (#419568, Nickolay V. Shmyrev)



svn path=/branches/gtk-2-10/; revision=17544
2007-03-19 04:31:00 +00:00
Claudio Saavedra
271a642bc8 Updated Spanish translation.
2007-03-19  Claudio Saavedra  <csaavedra@alumnos.utalca.cl>

        * es.po: Updated Spanish translation.


svn path=/branches/gtk-2-10/; revision=17542
2007-03-19 04:06:28 +00:00
Chris Wilson
bcfedec385 Change whitespace in ChangeLog entry for consistency.
svn path=/branches/gtk-2-10/; revision=17540
2007-03-17 20:27:17 +00:00
Chris Wilson
edec9a1879 Initialise nxvisuals to 0 in order to handle XGetVisualInfo() failures
2007-03-17  Chris Wilson  <chris@chris-wilson.co.uk>

	* gdk/x11/gdkvisual-x11.c (_gdk_visual_init):
		Initialise nxvisuals to 0 in order to handle
		XGetVisualInfo() failures gracefully. (#419171)


svn path=/branches/gtk-2-10/; revision=17537
2007-03-17 18:50:20 +00:00
Matthias Clasen
bbeddb712a Scroll to make the selected printer visible. (#418403, Nickolay V.
2007-03-16  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkprintunixdialog.c (printer_added_cb): Scroll to
        make the selected printer visible.  (#418403, Nickolay V. Shmyrev,
        patch by Christian Persch)



svn path=/branches/gtk-2-10/; revision=17532
2007-03-16 05:17:25 +00:00
Federico Mena Quintero
e89926da22 PANGO_PIXELS() gives us device units, which are *points* in pangocairo's
2007-03-15  Federico Mena Quintero  <federico@novell.com>

	* gtk/gtkfilechooserdefault.c (find_good_size_from_style):
	PANGO_PIXELS() gives us device units, which are *points* in
	pangocairo's parlance, but we want actual pixels.  So, get the
	screen's resolution to compute the actual number of pixels.
	Fixes bug #418585.

svn path=/branches/gtk-2-10/; revision=17529
2007-03-16 00:51:18 +00:00
Alessio Frusciante
c3f89db45d Updated Italian translation.
svn path=/branches/gtk-2-10/; revision=17528
2007-03-15 21:21:45 +00:00
Emmanuele Bassi
cb2d6f74a1 Merge from trunk:
2007-03-15  Emmanuele Bassi  <ebassi@gnome.org>

	Merge from trunk:

	* gtk/gtkrecentmanager.c (gtk_recent_manager_add_item): Remove
	unused GError; do not allocate GtkRecentData and use a variable
	on the stack. (#418673, Morten Welinder)

svn path=/branches/gtk-2-10/; revision=17526
2007-03-15 19:58:22 +00:00
Chris Wilson
98abcb41fb Protect ensure_valid_themes() from recursion, which can happen for example
2007-03-15  Chris Wilson  <chris@chris-wilson.co.uk>

	* gtk/gtkicontheme.c (ensure_valid_themes), (rescan_themes),
	(gtk_icon_theme_rescan_if_needed): Protect ensure_valid_themes()
	from recursion, which can happen for example if the app tries to
	reload an icon from within a theme-changed handler. (#418531)


svn path=/branches/gtk-2-10/; revision=17522
2007-03-15 18:35:38 +00:00
Emmanuele Bassi
ef85b08765 Merge from trunk:
2007-03-15  Emmanuele Bassi  <ebassi@gnome.org>

	Merge from trunk:

	* gtk/gtkrecentmanager.c: Fix documentation errors. (Morten
	Welinder)

svn path=/branches/gtk-2-10/; revision=17520
2007-03-15 17:13:53 +00:00
Emmanuele Bassi
3bf09b727b Merge from trunk:
2007-03-15  Emmanuele Bassi  <ebassi@gnome.org>

	Merge from trunk:

	* gtk/gtkrecentchooserprivate.h:
	* gtk/gtkrecentchooserutils.c: Share between the widgets
	the recent chooser function for getting the filtered, sorted
	and clamped list of recent files from the manager. (#418219)

	* gtk/gtkrecentchoosermenu.c: Use the newly defined
	_gtk_recent_chooser_get_items() function; remove some
	pointer indirections.

	* gtk/gtkrecentchooserdefault.c: Reload the items every time
	a property affecting the view is changed; move the objects
	unref and the source removal into the dispose function; use
	the newly defined _gtk_recent_chooser_get_items()
	function. (see #338843)

svn path=/branches/gtk-2-10/; revision=17517
2007-03-15 10:44:34 +00:00
Matthias Clasen
674031d980 2.10.11
svn path=/branches/gtk-2-10/; revision=17513
2007-03-14 05:50:11 +00:00
Matthias Clasen
34d73266b9 2.10.11
svn path=/branches/gtk-2-10/; revision=17511
2007-03-14 05:45:35 +00:00
Ihar Hrachyshka
91b9577c84 Updated Belarusian Latin translation (some fixes).
svn path=/branches/gtk-2-10/; revision=17509
2007-03-13 20:35:18 +00:00
Ihar Hrachyshka
62de23c993 Added actual Belarusian Latin translation.
svn path=/branches/gtk-2-10/; revision=17507
2007-03-13 16:56:09 +00:00
Matthias Clasen
345ab456ae Fix tabbed browsing in epiphany. (#413664, Christian Persch)
2007-03-13  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtknotebook.c (gtk_notebook_real_insert_page):
        Fix tabbed browsing in epiphany.  (#413664, Christian Persch)



svn path=/branches/gtk-2-10/; revision=17506
2007-03-13 15:17:05 +00:00
Ray Strode
11ffd10823 add newline to test svn locking feature
svn path=/branches/gtk-2-10/; revision=17504
2007-03-12 18:42:21 +00:00
Matthias Clasen
1f434a8f7a Bump version
svn path=/branches/gtk-2-10/; revision=17503
2007-03-12 18:35:32 +00:00
Matthias Clasen
0b7fbf24d9 2.10.10
svn path=/branches/gtk-2-10/; revision=17501
2007-03-12 18:33:44 +00:00
Takeshi AIHANA
dbbbfbe092 Updated Japanese translation.
2007-03-13  Takeshi AIHANA <takeshi.aihana@gmail.com>

        * ja.po: Updated Japanese translation.

svn path=/branches/gtk-2-10/; revision=17500
2007-03-12 15:35:06 +00:00
Felix I
856ad7b1f2 Updated Translation
svn path=/branches/gtk-2-10/; revision=17499
2007-03-12 08:10:40 +00:00
Matthias Clasen
47523436d5 Set the background of the panel window on style changes. (#402144,
2007-03-12  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkspinbutton.c (gtk_spin_button_style_set): Set
        the background of the panel window on style changes. (#402144,
        Benjamin Berg)



svn path=/branches/gtk-2-10/; revision=17493
2007-03-12 05:52:23 +00:00
Matthias Clasen
0f9ed45c85 Updates
svn path=/branches/gtk-2-10/; revision=17490
2007-03-12 05:40:12 +00:00
Matthias Clasen
b041ad4c3b Handle the row reference path being NULL. (#410565, Joe Markus Clarke,
2007-03-12  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkfilechooserbutton.c (change_icon_theme_get_info_cb):
        Handle the row reference path being NULL.  (#410565, Joe Markus
        Clarke, patch by Chris Wilson)



svn path=/branches/gtk-2-10/; revision=17488
2007-03-12 04:12:02 +00:00
Matthias Clasen
27e04bea15 Handle Menu key presses without crash. (#385637, Christian Persch)
2007-03-11  Matthias Clasen  <mclasen@redhat.com>

        * tests/testiconview.c: Handle Menu key presses without
        crash.  (#385637, Christian Persch)



svn path=/branches/gtk-2-10/; revision=17486
2007-03-12 03:15:23 +00:00
Matthias Clasen
5847ef42e3 Don't crash if active_tips_data is NULL. (#382904, Li Yuan)
2007-03-11  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtktooltips.c (gtk_tooltips_get_info_from_tip_window):
        Don't crash if active_tips_data is NULL.  (#382904, Li Yuan)



svn path=/branches/gtk-2-10/; revision=17484
2007-03-12 02:54:04 +00:00
Matthias Clasen
2c3a8b5f34 Set first_para_mark to NULL. (#396805, Colin Leroy, patch by Mariano
2007-03-11  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtktextview.c (gtk_text_view_set_buffer): Set first_para_mark
        to NULL.  (#396805, Colin Leroy, patch by Mariano Suárez-Alvarez)



svn path=/branches/gtk-2-10/; revision=17482
2007-03-12 02:35:08 +00:00
Kristian Rietveld
876fd96900 Merge from trunk:
2007-03-12  Kristian Rietveld  <kris@gtk.org>

	Merge from trunk:

	* gtk/gtkfilechooserdefault.c (check_save_entry): immediately
	bail out if current_folder is NULL. (#350988, lots of reporters,
	modified patch by Jan Darmochwal).


svn path=/branches/gtk-2-10/; revision=17480
2007-03-12 00:14:28 +00:00
Christian Persch
510a815d20 Don't make the Location: label bold. Bug #372449.
2007-03-12  Christian Persch  <chpe@gnome.org>

	* gtk/gtkfilechooserdefault.c: (browse_widgets_create): Don't make the
	Location: label bold. Bug #372449.

svn path=/branches/gtk-2-10/; revision=17478
2007-03-11 23:22:07 +00:00
Christian Persch
b780ec99f7 Don't make the Location: label bold. Bug #372449.
2007-03-12  Christian Persch  <chpe@gnome.org>

	* gtk/gtkfilechooserdefault.c: (browse_widgets_create): Don't make the
	Location: label bold. Bug #372449.

svn path=/branches/gtk-2-10/; revision=17477
2007-03-11 23:17:37 +00:00
Raphael Higino
28bdea09f5 Updated Brazilian Portuguese translation
svn path=/branches/gtk-2-10/; revision=17475
2007-03-11 18:49:11 +00:00
Goran Rakic
39228b229a Updated Serbian translation
svn path=/branches/gtk-2-10/; revision=17472
2007-03-11 17:06:30 +00:00
Guillaume Savaton
0909673719 filled revision date (prevented correct compilation)
2007-03-11 Guillaume Savaton <llumeao@gmail.com>

   * eo.po: filled revision date (prevented correct compilation)


svn path=/branches/gtk-2-10/; revision=17471
2007-03-11 17:01:02 +00:00
Guillaume Savaton
de0d6575ed Filled revision date in eo.po (prevented correct compilation)
2007-03-11 Guillaume Savaton <llumeao@gmail.com>

   * Filled revision date in eo.po (prevented correct compilation)


svn path=/branches/gtk-2-10/; revision=17470
2007-03-11 16:58:54 +00:00
Mugurel Tudor
af66649dfe Updated Romanian translation by Mişu Moldovan <dumol@gnome.ro>
2007-03-11  Mugurel Tudor  <mugurelu@gnome.ro>

	* ro.po: Updated Romanian translation by
	Mişu Moldovan <dumol@gnome.ro>

svn path=/branches/gtk-2-10/; revision=17469
2007-03-10 23:10:38 +00:00
Mugurel Tudor
0371110ac5 Updated Romanian translation by Mişu Moldovan <dumol@gnome.ro>
2007-03-11  Mugurel Tudor  <mugurelu@gnome.ro>

	* ro.po: Updated Romanian translation by
	Mişu Moldovan <dumol@gnome.ro>

svn path=/branches/gtk-2-10/; revision=17468
2007-03-10 23:10:13 +00:00
Kristian Rietveld
e46cc9a2a8 Updated fix for #356515, merged from trunk:
2007-03-10  Kristian Rietveld  <kris@gtk.org>

	Updated fix for #356515, merged from trunk:

	* gtk/gtktreeview.c (gtk_tree_view_search_dialog_hide): send
	a focus-in event to the tree view after hiding the search dialog;
	only hide the search dialog and send the focus events when the
	dialog is currently visible.


svn path=/branches/gtk-2-10/; revision=17465
2007-03-10 22:47:38 +00:00
Kristian Rietveld
5806be0247 Merge from trunk:
2007-03-10  Kristian Rietveld  <kris@gtk.org>

	Merge from trunk:

	* gtk/gtktreemodelsort.c (gtk_tree_model_sort_ref_node),
	(gtk_tree_model_sort_real_unref_node): when (un)reffing an
	element, also (un)ref its parent elements. (Fixes #364946,
	reported by many, testcase by Andreas Koehler).


svn path=/branches/gtk-2-10/; revision=17458
2007-03-10 17:26:38 +00:00
Kristian Rietveld
cb9b825d87 Merge from trunk:
2007-03-10  Kristian Rietveld  <kris@gtk.org>

	Merge from trunk:

	* gtk/gtktreemodelsort.c (gtk_tree_model_sort_row_changed),
	(gtk_tree_model_sort_sort_level): ref count nodes the proper way,
	(gtk_tree_model_sort_ref_node), (gtk_tree_model_sort_real_unref_node),
	(gtk_tree_model_sort_free_level): bring zero ref count loops in
	sync,
	(gtk_tree_model_sort_free_level): free child levels before
	decreasing the zero ref count of the current level,
	(gtk_tree_model_sort_clear_cache): only clear cache if zero_ref_count
	is > 0.


svn path=/branches/gtk-2-10/; revision=17456
2007-03-10 17:20:07 +00:00
Tor Lillqvist
953a688f1c Cosmetics.
svn path=/branches/gtk-2-10/; revision=17455
2007-03-10 09:04:22 +00:00
Matthias Clasen
5d3d5f4f66 Initialize the do_preview field of PrintResponseData. (#396703, Christian
2007-03-10  Matthias Clasen <mclasen@redhat.com>

        * gtk/gtkprintoperation-unix.c: Initialize the do_preview
        field of PrintResponseData.  (#396703, Christian Persch)



svn path=/branches/gtk-2-10/; revision=17454
2007-03-10 06:58:35 +00:00
Matthias Clasen
f96e2457d2 Plug some leaks
svn path=/branches/gtk-2-10/; revision=17451
2007-03-10 05:51:24 +00:00
Matthias Clasen
0b92a6f503 Get rid of the unused event argument. Update all callers.
2007-03-09  Matthias Clasen <mclasen@redhat.com>

        * gtk/gtktextview.c (gtk_text_view_end_selection_drag):
        Get rid of the unused event argument. Update all callers.

        * gtk/gtktextview.c (gtk_text_view_focus_out): Call
        gtk_text_view_end_selection_drag.  (#351671, Boyd Timothy)



svn path=/branches/gtk-2-10/; revision=17450
2007-03-10 03:53:15 +00:00
Ihar Hrachyshka
6c78828eea be@latin.po: Fixes in Belarusian Latin translation.
svn path=/branches/gtk-2-10/; revision=17448
2007-03-10 00:15:36 +00:00
Matthias Clasen
4fa3722492 Don't commit modifier-adorned characters. (#331369, #335796, Lin Ma and
2007-03-09  Matthias Clasen <mclasen@redhat.com>

        * modules/input/gtkimcontextxim.c 
        (gtk_im_context_xim_filter_keypress): Don't commit
        modifier-adorned characters.  (#331369, #335796, Lin Ma
        and others)



svn path=/branches/gtk-2-10/; revision=17447
2007-03-09 23:39:11 +00:00
Matthias Clasen
2a1c14354d Fix the build
svn path=/branches/gtk-2-10/; revision=17445
2007-03-09 22:17:58 +00:00
Matthias Clasen
c450c2e8b1 Remove C99isms. (#416525, Kazuki Iwamoto)
2007-03-09  Matthias Clasen <mclasen@redhat.com>

        * gtk/gtkfilesystemwin32.c (get_icon_path): Remove
        C99isms.  (#416525, Kazuki Iwamoto)



svn path=/branches/gtk-2-10/; revision=17443
2007-03-09 21:31:58 +00:00
Tor Lillqvist
5707117d1a Update.
2007-03-09  Tor Lillqvist  <tml@novell.com>

	* README.win32: Update.


svn path=/branches/gtk-2-10/; revision=17440
2007-03-09 09:49:34 +00:00
Leonardo Ferreira Fontenelle
0c55ef70fb Fixes in Brazilian Portuguese translation for better consistency.
2007-03-09  Leonardo Ferreira Fontenelle  <leonardof@svn.gnome.org>

	* pt_BR.po: Fixes in Brazilian Portuguese translation for better
	consistency.

svn path=/branches/gtk-2-10/; revision=17439
2007-03-09 06:42:24 +00:00
Matthias Clasen
744a9b476a Updates
svn path=/branches/gtk-2-10/; revision=17438
2007-03-09 05:56:38 +00:00
Matthias Clasen
3477836885 Defer the callbacks to an idle to avoid deadlock with xcb-ified libX11.
2007-03-08  Matthias Clasen <mclasen@redhat.com>

        * gdk/x11/gdkasync.c (send_event_handler): Defer the callbacks
        to an idle to avoid deadlock with xcb-ified libX11.  (#413032,
        Sebastian Dröge)



svn path=/branches/gtk-2-10/; revision=17437
2007-03-09 05:29:46 +00:00
Matthias Clasen
d09c0ec912 Set child visibility to FALSE here; it will be turned back on in
2007-03-08  Matthias Clasen <mclasen@redhat.com>

        * gtk/gtknotebook.c (gtk_notebook_real_insert_page):
        Set child visibility to FALSE here; it will be turned
        back on in switch_page.  (#413664, Carlos Garnacho)



svn path=/branches/gtk-2-10/; revision=17435
2007-03-09 04:54:12 +00:00
Josep Puigdemont i Casamajó
fc154cbcc1 Updated Catalan translation.
svn path=/branches/gtk-2-10/; revision=17433
2007-03-09 00:21:24 +00:00
Laurent Dhima
79b6639882 Updated Albanian translation.
svn path=/branches/gtk-2-10/; revision=17432
2007-03-08 18:45:39 +00:00
Kristian Rietveld
8823b06c62 Revert revision 17315:
2007-03-08  Kristian Rietveld  <kris@gtk.org>

	Revert revision 17315:

	* gtk/gtktreeview.c (gtk_tree_view_search_dialog_hide): send
	a focus-in event to the tree view after hiding the search dialog.
	(#356515, Rich Burridge, Peter Parente).


svn path=/branches/gtk-2-10/; revision=17431
2007-03-08 18:24:04 +00:00
Pema Geyleg
e505dac799 Corrected Dzongkha Translation (Bug: 348790)
svn path=/branches/gtk-2-10/; revision=17428
2007-03-08 04:56:32 +00:00
Pema Geyleg
3243103e95 Corrected Dzongkha Translation (Bug: 355815)
svn path=/branches/gtk-2-10/; revision=17427
2007-03-08 04:50:22 +00:00
Tor Lillqvist
6e75dc235e Add Novell and tbf as copyright holders
svn path=/branches/gtk-2-10/; revision=17424
2007-03-07 23:41:39 +00:00
Mathias Hasselmann
e66030c5ce Use Windows shell icons. Icons are stored in the current theme with the
2007-03-08  Mathias Hasselmann <mathias.hasselmann@gmx.de>

	* gtk/gtkfilesystemwin32.c: Use Windows shell icons. Icons are
	stored in the current theme with the name
	"gtk-win32-shell-icon;PATH;INDEX". PATH and INDEX reference shell
	icons as reported by SHGetFileInfoW. (#412221)


svn path=/branches/gtk-2-10/; revision=17422
2007-03-07 23:32:36 +00:00
Matthias Clasen
d0a231c04d Draw the focus around the arrow if there is no label widget. (#124045,
2007-03-07  Matthias Clasen <mclasen@redhat.com>

        * gtk/gtkexpander.c (gtk_expander_paint_focus): Draw the
        focus around the arrow if there is no label widget.
        (#124045, Cody Russell)



svn path=/branches/gtk-2-10/; revision=17420
2007-03-07 21:36:52 +00:00
Matthias Clasen
e29723c10c Set names on the popup widgets to make them themable. (#414975, Benjamin
2007-03-07  Matthias Clasen <mclasen@redhat.com>

        * gtk/gtkcombo.c: (gtk_combo_init):
        * gtk/gtkcombobox.c: (gtk_combo_box_set_popup_widget),
        (gtk_combo_box_menu_setup):
        Set names on the popup widgets to make them themable. (#414975,
        Benjamin Berg)



svn path=/branches/gtk-2-10/; revision=17418
2007-03-07 21:14:57 +00:00
Simos Xenitellis
796ef01c6f Updated Greek translation.
svn path=/branches/gtk-2-10/; revision=17416
2007-03-07 19:01:51 +00:00
Guillaume Savaton
5813ecb405 Added Esperanto (eo) translation in po/ Added Esperanto (eo) translation
2007-03-07  Guillaume Savaton <llumeao@gmail.com>

   * Added Esperanto (eo) translation in po/
   * Added Esperanto (eo) translation stub in po-properties/
   * Added eo to ALL_LINGUAS in configure.in


svn path=/branches/gtk-2-10/; revision=17415
2007-03-07 18:53:24 +00:00
Simos Xenitellis
e5b6e6ebf7 Updated Greek translation
svn path=/branches/gtk-2-10/; revision=17414
2007-03-07 16:39:28 +00:00
Michael Natterer
b349b6a420 Merge from trunk:
2007-03-07  Michael Natterer  <mitch@imendio.com>

	Merge from trunk:

	* gtk/gtkcellrendereraccel.c: use multihead safe ungrab functions
	instead of gdk_keyboard_ungrab() and gdk_pointer_ungrab(), remove
	empty finalize() implementation, some cosmetic cleanup
	(bug #415645).


svn path=/branches/gtk-2-10/; revision=17413
2007-03-07 14:20:03 +00:00
Simos Xenitellis
38927acffc Updated Greek translation.
svn path=/branches/gtk-2-10/; revision=17411
2007-03-07 13:31:44 +00:00
Ani Peter
2f9ffd0e92 Updated malayalam translation
svn path=/branches/gtk-2-10/; revision=17410
2007-03-07 12:11:59 +00:00
Ani Peter
57480254d6 Updated malayalam translation
svn path=/branches/gtk-2-10/; revision=17409
2007-03-07 11:22:21 +00:00
Ani Peter
b2a19c3577 Updated malayalam translation
svn path=/branches/gtk-2-10/; revision=17408
2007-03-07 11:21:28 +00:00
Simos Xenitellis
bff6a6e358 Updated Greek translation.
svn path=/branches/gtk-2-10/; revision=17407
2007-03-07 08:52:06 +00:00
Simos Xenitellis
6f96e0146f Updated Greek translation
svn path=/branches/gtk-2-10/; revision=17406
2007-03-07 05:31:57 +00:00
Artur Flinta
d541c17e6b Updated Polish translation by GNOME PL Team.
2007-03-07  Artur Flinta  <aflinta@svn.gnome.org>

	* pl.po: Updated Polish translation by GNOME PL Team.


svn path=/branches/gtk-2-10/; revision=17405
2007-03-06 23:25:54 +00:00
Chris Wilson
eaf4d6d4d1 Be careful not to trigger a style reset before we have loaded any icon
2007-03-06  Chris Wilson  <chris@chris-wilson.co.uk>

	* gtk/gtkicontheme.c (update_current_theme), (gtk_icon_theme_init),
	(do_theme_change), (gtk_icon_theme_set_custom_theme),
	(load_themes):
		Be careful not to trigger a style reset before we have loaded
		any icon themes. (#414875).


svn path=/branches/gtk-2-10/; revision=17403
2007-03-06 18:19:28 +00:00
Hendrik Richter
332daf6f79 Updated German translation.
2007-03-06  Hendrik Richter  <hendrikr@gnome.org>

	* de.po: Updated German translation.

svn path=/branches/gtk-2-10/; revision=17400
2007-03-06 17:01:39 +00:00
Laurent Dhima
dc3a11250c Updated Albanian translation.
svn path=/branches/gtk-2-10/; revision=17399
2007-03-06 11:09:52 +00:00
Jovan Naumovski
ec50520ceb 2007-03-06 Jovan Naumovski <jovanna@svn.gnome.org> *mk.po: Updated Macedonian translation.
svn path=/branches/gtk-2-10/; revision=17398
2007-03-06 10:31:13 +00:00
Tor Lillqvist
d096ea1a90 gdk/Makefile.am gdk-pixbuf/Makefile.am Further fixes for building on Win32
2007-03-06  Tor Lillqvist  <tml@novell.com>

	* gdk/Makefile.am
	* gdk-pixbuf/Makefile.am
	* gtk/Makefile.am: Further fixes for building on Win32 outside
	srcdir. (#413492, Mathias Hasselmann)


svn path=/branches/gtk-2-10/; revision=17396
2007-03-06 09:58:06 +00:00
Matthias Clasen
66677703ea Flip more images
svn path=/branches/gtk-2-10/; revision=17394
2007-03-06 04:21:29 +00:00
Ihar Hrachyshka
ad082adfeb Fixed problems with be@latin.
svn path=/branches/gtk-2-10/; revision=17391
2007-03-05 13:34:12 +00:00
Claudio Saavedra
b205ca38d7 Removed be@latin from ALL_LINGUAS, as it's currently breaking the build.
2007-03-04  Claudio Saavedra  <csaavedra@alumnos.utalca.cl>

        * configure.in: Removed be@latin from ALL_LINGUAS, as it's currently
        breaking the build.


svn path=/branches/gtk-2-10/; revision=17389
2007-03-05 00:49:24 +00:00
Ihar Hrachyshka
aa4dc7d07f be@latin.po: Added Belarusian Latin translation by Ales Navicki.
svn path=/branches/gtk-2-10/; revision=17384
2007-03-04 13:36:41 +00:00
Pema Geyleg
fbdfec43be Updated Dzongkha Trnslation
svn path=/branches/gtk-2-10/; revision=17383
2007-03-04 06:47:58 +00:00
Chao-Hsiung Liao
b9f45be30a Updated Traditional Chinese translation(Hong Kong). Updated Traditional
2007-03-04  Chao-Hsiung Liao  <j_h_liau@yahoo.com.tw>

	* zh_HK.po: Updated Traditional Chinese translation(Hong Kong).
	* zh_TW.po: Updated Traditional Chinese translation(Taiwan).


svn path=/branches/gtk-2-10/; revision=17382
2007-03-04 00:23:22 +00:00
Vincent van Adrighem
3b83f95ce1 Translation updated by Tino Meinen.
2007-03-03  Vincent van Adrighem  <adrighem@gnome.org>

	* nl.po: Translation updated by Tino Meinen.

svn path=/branches/gtk-2-10/; revision=17381
2007-03-03 21:12:39 +00:00
Leonid Kanter
543642501d Updated Russian translation
svn path=/branches/gtk-2-10/; revision=17378
2007-03-03 18:27:16 +00:00
Leonid Kanter
e30093b50d Updated Russian translation
svn path=/branches/gtk-2-10/; revision=17377
2007-03-03 18:22:33 +00:00
Funda Wang
dd70f458f7 Updated Simplified Chinese translation.
svn path=/branches/gtk-2-10/; revision=17376
2007-03-03 10:00:21 +00:00
Funda Wang
a7dffb89d1 Updated Simplified Chinese translation.
svn path=/branches/gtk-2-10/; revision=17375
2007-03-03 09:59:33 +00:00
Amanpreet Singh Alam
4ddc45d7f2 updatingfor Punjabi by alam
svn path=/branches/gtk-2-10/; revision=17374
2007-03-03 09:56:06 +00:00
Ankitkumar Rameshchandra Patel
06a2e90d4c Updated Translation
svn path=/branches/gtk-2-10/; revision=17373
2007-03-02 07:16:22 +00:00
Murray Cumming
7355017883 Fix the build, by converting the case statement to an if else. I am only
2007-03-01  Murray Cumming  <murrayc@murrayc.com>

        * gtk/gtksettings.c: (gtk_settings_get_property): Fix the build, by 
        converting the case statement to an if else. I am only guessing that 
        this is the desired logic.

svn path=/branches/gtk-2-10/; revision=17372
2007-03-01 14:42:29 +00:00
Matthias Clasen
75cb95adde 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=/branches/gtk-2-10/; revision=17371
2007-03-01 06:49:21 +00:00
Daniel Nylander
c8da579f84 sv.po: Swedish translation updated
svn path=/branches/gtk-2-10/; revision=17368
2007-02-28 21:40:11 +00:00
Matthias Clasen
1d507cb560 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=/branches/gtk-2-10/; revision=17367
2007-02-28 19:49:34 +00:00
Matthias Clasen
f01351d17e Don't leak references to the color-hash gotten from GtkSettings. (#409357,
2007-02-28  Matthias Clasen <mclasen@redhat.com>

        * gtk/gtkrc.c: Don't leak references to the color-hash
        gotten from GtkSettings.  (#409357, Benjamin Berg)



svn path=/branches/gtk-2-10/; revision=17365
2007-02-28 17:16:27 +00:00
Hendrik Richter
e1b41e3afc Updated German translation.
2007-02-28  Hendrik Richter  <hendrikr@gnome.org>

	* de.po: Updated German translation.

svn path=/branches/gtk-2-10/; revision=17362
2007-02-28 10:35:34 +00:00
Felix Riemann
eb0b44f770 Add image/x-ico to supported mime types. Fixes bug #393599.
2007-02-27  Felix Riemann  <friemann@svn.gnome.org>

	* io-ico.c: (fill_info): Add image/x-ico to supported mime types.
	Fixes bug #393599.

svn path=/branches/gtk-2-10/; revision=17360
2007-02-27 19:25:22 +00:00
Matthias Clasen
3e82928d30 Apply a patch by Carlos Garnacho to fix several problems with filechooser
2007-02-26  Matthias Clasen <mclasen@redhat.com>

        Apply a patch by Carlos Garnacho to fix several problems
        with filechooser size handling (#325477, #151169, 143213,
        #153785)

        * gtk/gtkfilechooserdefault.c: Increase NUM_LINES slightly.
        (browse_widgets_create): Don't force the paned position to 200.
        (find_good_size_from_style): Take the size of the extra widget
        into account.

        * gtk/gtkfilechooserdialog.c (file_chooser_widget_update_hints):
        Accept a minimal width parameter. Update all callers.


svn path=/branches/gtk-2-10/; revision=17358
2007-02-26 19:53:04 +00:00
Matthias Clasen
4290028313 Make folder selection work for print-to-file
svn path=/branches/gtk-2-10/; revision=17355
2007-02-26 14:58:39 +00:00
Chris Wilson
7884da3b1a Bug 409101 – invalid read to gtkicontheme.c insert_theme(), might cause
2007-02-26  Chris Wilson  <chris@chris-wilson.co.uk>

	Bug 409101 – invalid read to gtkicontheme.c insert_theme(), might cause gnome-panel crash

	* gtk/gtkicontheme.c: (scan_directory):
		Reorder the replacement of the shared base_name key, so that we
		avoid dereferencing the string in the icon_theme->all_icon
		hash table after freeing it from the dir->icons hash table.


svn path=/branches/gtk-2-10/; revision=17352
2007-02-26 14:05:31 +00:00
Ilkka Tuohela
507e28c958 Updated Finnish translation
svn path=/branches/gtk-2-10/; revision=17349
2007-02-25 16:13:30 +00:00
Kjartan Maraas
3274293566 Updated Norwegian bokmål translation.
2007-02-25  Kjartan Maraas  <kmaraas@gnome.org>

	* nb.po: Updated Norwegian bokmål translation.

svn path=/branches/gtk-2-10/; revision=17348
2007-02-25 12:53:48 +00:00
Gabor Kelemen
25a59510f8 Translation updated.
2007-02-25  Gabor Kelemen  <kelemeng@gnome.hu>

	* hu.po: Translation updated.

svn path=/branches/gtk-2-10/; revision=17347
2007-02-24 22:59:44 +00:00
Matic Žgur
4be559970c Updated Slovenian translation.
svn path=/branches/gtk-2-10/; revision=17346
2007-02-24 20:00:56 +00:00
Kjartan Maraas
f0fdcb5c18 Updated Norwegian bokmål translation.
2007-02-24  Kjartan Maraas  <kmaraas@gnome.org>

	* nb.po: Updated Norwegian bokmål translation.

svn path=/branches/gtk-2-10/; revision=17345
2007-02-24 14:34:46 +00:00
Gintautas Miliauskas
a7ac778c27 Updated Lithuanian translation (rinkmena -> failas).
2007-02-22  Gintautas Miliauskas  <gintas@akl.lt>

	* lt.po: Updated Lithuanian translation (rinkmena -> failas).



svn path=/branches/gtk-2-10/; revision=17343
2007-02-22 11:42:13 +00:00
Ilkka Tuohela
86baad2569 Updated Finnish translation
svn path=/branches/gtk-2-10/; revision=17338
2007-02-20 05:29:18 +00:00
Ilkka Tuohela
2a7731d588 Updated Finnish translation
svn path=/branches/gtk-2-10/; revision=17337
2007-02-20 05:27:50 +00:00
Leonardo Ferreira Fontenelle
c9b047c17d Fixed missing update info about pt_BR
svn path=/branches/gtk-2-10/; revision=17336
2007-02-20 00:39:53 +00:00
Leonardo Ferreira Fontenelle
f4843b0e92 Updated Brazilian Portuguese translation.
2007-02-19  Leonardo Ferreira Fontenelle  <leonardof@svn.gnome.org>

	* pt_BR.po: Updated Brazilian Portuguese translation.

svn path=/branches/gtk-2-10/; revision=17335
2007-02-20 00:36:59 +00:00
Nguyen Thai Ngoc Duy
0f7a5b2dcd updated vi.po
svn path=/branches/gtk-2-10/; revision=17334
2007-02-19 09:00:54 +00:00
Artur Flinta
1770430667 Updated Polish translation by GNOME PL Team.
2007-02-18  Artur Flinta  <aflinta@cvs.gnome.org>

	* pl.po: Updated Polish translation by GNOME PL Team.


svn path=/branches/gtk-2-10/; revision=17331
2007-02-18 21:18:08 +00:00
Matthias Clasen
7d2b5ec234 Ignore invisible text when going to end of the previous line. (#382565)
2007-02-18  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtktextlayout.c (gtk_text_layout_move_iter_visually):
        Ignore invisible text when going to end of the previous line.
        (#382565)


svn path=/branches/gtk-2-10/; revision=17330
2007-02-18 16:50:45 +00:00
Amanpreet Singh Alam
1214848172 updating for Punjabi by AP S Alam
svn path=/branches/gtk-2-10/; revision=17329
2007-02-18 16:42:29 +00:00
Amanpreet Singh Alam
feaeb1ddbb updating for Punjabi by AP S Alam
svn path=/branches/gtk-2-10/; revision=17327
2007-02-18 15:44:23 +00:00
Alexander Shopov
fae90ca7f8 Updated Bulgarian translation by Alexander Shopov <ash@contact.bg>
2007-02-17  Alexander Shopov  <ash@contact.bg>

	* bg.po: Updated Bulgarian translation by
	Alexander Shopov <ash@contact.bg>

svn path=/branches/gtk-2-10/; revision=17322
2007-02-17 20:54:19 +00:00
Alexander Shopov
f6994f580f Updated Bulgarian translation by Alexander Shopov <ash@contact.bg>
2007-02-17  Alexander Shopov  <ash@contact.bg>

	* bg.po: Updated Bulgarian translation by
	Alexander Shopov <ash@contact.bg>

svn path=/branches/gtk-2-10/; revision=17319
2007-02-17 20:49:34 +00:00
Changwoo Ryu
0d2265cba8 Updated Korean translation.
2007-02-17  Changwoo Ryu  <cwryu@debian.org>

	* ko.po: Updated Korean translation.

svn path=/branches/gtk-2-10/; revision=17318
2007-02-17 12:26:33 +00:00
Kristian Rietveld
d6c817be4c Merged from trunk:
2007-02-16  Kristian Rietveld  <kris@gtk.org>

	Merged from trunk:

	* gtk/gtktreeview.c (gtk_tree_view_search_dialog_hide): send
	a focus-in event to the tree view after hiding the search dialog.
	(#356515, Rich Burridge, Peter Parente).


svn path=/branches/gtk-2-10/; revision=17315
2007-02-16 21:25:31 +00:00
Maxim V. Dziumanenko
3562b3f667 Maxim Dziumanenko <dziumanenko@gmail.com>
* Update Ukrainian translation

svn path=/branches/gtk-2-10/; revision=17311
2007-02-16 12:35:45 +00:00
Matthias Clasen
04ebc430df Fix a small leak
svn path=/branches/gtk-2-10/; revision=17309
2007-02-16 06:13:15 +00:00
Matthias Clasen
37b0d5d7c8 Plug a leak in an error path
svn path=/branches/gtk-2-10/; revision=17307
2007-02-16 05:34:27 +00:00
Matthias Clasen
a498525e1a Be more careful when checking for ButtonRelease events that end implicit
2007-02-15  Matthias Clasen  <mclasen@redhat.com>

        * gdk/x11/gdmain-x11.c (_gdk_xgrab_check_button_event): Be more
        careful when checking for ButtonRelease events that end implicit
        grabs.  (#386618, Christof Krüger)



svn path=/branches/gtk-2-10/; revision=17305
2007-02-16 04:04:44 +00:00
Matthias Clasen
dd83258aaf Free the lines even if there are no views. (#408018, Albert Huang)
2007-02-15  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtktextbtree.c (_gtk_text_btree_delete): Free the lines
        even if there are no views.  (#408018, Albert Huang)



svn path=/branches/gtk-2-10/; revision=17303
2007-02-15 20:44:28 +00:00
Cody Russell
a4d9b7b14e Fix Win32 window resizing/repainting and widget flickering, backport from trunk
svn path=/branches/gtk-2-10/; revision=17300
2007-02-15 18:42:26 +00:00
Daniel Nylander
c5a3348008 sv.po: Swedish translation updated
svn path=/branches/gtk-2-10/; revision=17296
2007-02-14 23:02:38 +00:00
Theppitak Karoonboonyanan
f17a7840bd Updated Thai translation.
* th.po: Updated Thai translation.


svn path=/branches/gtk-2-10/; revision=17288
2007-02-11 04:47:51 +00:00
Stéphane Raimbault
32f8ec9c74 Updated French translation.
2007-02-11  Stéphane Raimbault  <stephane.raimbault@gmail.com>

	* fr.po: Updated French translation.

svn path=/branches/gtk-2-10/; revision=17287
2007-02-11 02:57:17 +00:00
Duarte Loreto
7276aa4d00 Updated Portuguese translation.
2007-02-10  Duarte Loreto <happyguy_pt@hotmail.com>

	* pt.po: Updated Portuguese translation.

svn path=/branches/gtk-2-10/; revision=17286
2007-02-10 13:34:27 +00:00
Emmanuele Bassi
62d75a2813 Backport from trunk:
2007-02-09  Emmanuele Bassi  <ebassi@gnome.org>

	Backport from trunk:

	* gtk/gtkrecentchoosermenu.c (idle_populate_func): Keep count
	of the displayed items to build the menu items mnemonic instead
	of the overall item count. (#377164)

	(idle_populate_clean_up): Append a menu item if all the items
	got filtered in the idle populate function. (#405696)

	* tests/Makefile.am:
	* tests/testrecentchoosermenu.c: Add a test for the
	GtkRecentChooserMenu widget.

svn path=/branches/gtk-2-10/; revision=17285
2007-02-10 13:23:22 +00:00
Djihed Afifi
3fac8c321f Updated Arabic Translation.
svn path=/branches/gtk-2-10/; revision=17282
2007-02-09 17:40:19 +00:00
David Lodge
4676e6558e Updated (British) English translation
svn path=/branches/gtk-2-10/; revision=17280
2007-02-09 12:29:49 +00:00
Djihed Afifi
f775006557 Updated Arabic Translation.
svn path=/branches/gtk-2-10/; revision=17278
2007-02-08 20:14:17 +00:00
Chris Wilson
53ac6707b2 Set the GError if the image is zero length. (#405327)
2007-02-07  Chris Wilson  <chris@chris-wilson.co.uk>

	* io-jpeg.c: (gdk_pixbuf__jpeg_image_load),
	(gdk_pixbuf__jpeg_image_load_increment): Set the GError
	if the image is zero length. (#405327)


svn path=/branches/gtk-2-10/; revision=17273
2007-02-07 14:50:39 +00:00
Theppitak Karoonboonyanan
05dbf5cabe Updated Thai translation by Neutron Soutmun <neo.neutron@gmail.com>.
* th.po: Updated Thai translation by
	Neutron Soutmun <neo.neutron@gmail.com>.


svn path=/branches/gtk-2-10/; revision=17271
2007-02-06 15:55:54 +00:00
Matthias Clasen
52cf72f132 Protect against stop_load begin broken. (#403255, Lucas Mazzardo Veloso)
2007-02-06  Matthias Clasen  <mclasen@redhat.com>

        * gdk-pixbuf-loader.c (gdk_pixbuf_loader_close): Protect
        against stop_load begin broken.  (#403255, Lucas Mazzardo Veloso)

`

svn path=/branches/gtk-2-10/; revision=17268
2007-02-06 14:05:01 +00:00
Michael Natterer
d01f466ee0 Merge from trunk:
2007-02-05  Michael Natterer  <mitch@imendio.com>

	Merge from trunk:

	* gtk/gtktextbuffer.h (enum GtkTextBufferTargetInfo): changed
	values from G_MAXUINT-0, -1, -2 to -1, -2, -3 so we stay within
	ansi C enum value limits. Fixes bug #46757.


svn path=/branches/gtk-2-10/; revision=17261
2007-02-05 10:37:04 +00:00
Tor Lillqvist
bfc9c99ce0 Nitpick, define BITMAPV5HEADER also for w32api < 3.x. Not that I know
if gdk/win32 will compile with such an old beast.


svn path=/branches/gtk-2-10/; revision=17257
2007-02-04 00:31:20 +00:00
Tor Lillqvist
2c35024fd8 Don't define BITMAPV5HEADER on mingw with w32api >= 3.8, which has it in
2007-02-04  Tor Lillqvist  <tml@novell.com>

	* gdk/win32/gdkcursor-win32.c: Don't define BITMAPV5HEADER on
	mingw with w32api >= 3.8, which has it in wingdi.h. (#403896)


svn path=/branches/gtk-2-10/; revision=17255
2007-02-04 00:17:30 +00:00
Changwoo Ryu
11b9d1bab3 Updated Korean translation.
2007-02-04  Changwoo Ryu  <cwryu@debian.org>

	* ko.po: Updated Korean translation.

svn path=/branches/gtk-2-10/; revision=17254
2007-02-03 19:43:20 +00:00
Changwoo Ryu
8599aa445b Updated Korean translation.
2007-02-04  Changwoo Ryu  <cwryu@debian.org>

	* ko.po: Updated Korean translation.

svn path=/branches/gtk-2-10/; revision=17253
2007-02-03 19:36:40 +00:00
Mariano Suárez-Alvarez
2ddd4fc58c be a little more helpful with the docs on GtkCellRendererText:alignment.
2007-02-02  Mariano Suárez-Alvarez  <mariano@gnome.org>

	* gtk/gtkcellrenderertext.c(gtk_cell_renderer_text_class_init):
	be a little more helpful with the docs on GtkCellRendererText:alignment.
	Bug #403409.



svn path=/branches/gtk-2-10/; revision=17249
2007-02-02 03:47:19 +00:00
Duarte Loreto
c6c190dcb9 Updated Portuguese translation.
2007-01-31  Duarte Loreto <happyguy_pt@hotmail.com>

	* pt.po: Updated Portuguese translation.

svn path=/branches/gtk-2-10/; revision=17245
2007-01-31 22:17:40 +00:00
Duarte Loreto
de3255d09b Updated Portuguese translation.
2007-01-31  Duarte Loreto <happyguy_pt@hotmail.com>

	* pt.po: Updated Portuguese translation.

svn path=/branches/gtk-2-10/; revision=17244
2007-01-31 22:08:37 +00:00
Christian Persch
57a0ed7747 Hide the Credits button iff there are no credits to show. Bug #402806.
2007-01-31  Christian Persch  <chpe@svn.gnome.org>

	* gtk/gtkaboutdialog.c: (update_credits_button_visibility),
	(gtk_about_dialog_set_authors), (gtk_about_dialog_set_documenters),
	(gtk_about_dialog_set_artists),
	(gtk_about_dialog_set_translator_credits): Hide the Credits button iff
	there are no credits to show. Bug #402806.

svn path=/branches/gtk-2-10/; revision=17243
2007-01-31 18:41:21 +00:00
Tor Lillqvist
6cfd2ff7a3 New debugging function. (_gdk_input_wintab_init_check): Call it when
2007-01-31  Tor Lillqvist  <tml@novell.com>

	* gdk/win32/gdkinput-win32.c (print_cursor): New debugging
	function.
	(_gdk_input_wintab_init_check): Call it when debugging output is
	requested.
	(_gdk_input_wintab_init_check): Skip duplicated cursors for Wacom
	tablets. The Wacom driver reports duplicated cursors with
	physid==0. Fix verified by Robert *gren. (Sorry, should be
	U+00D6 there, but svn won't let me use UTF-8 in the commit
	log.)


svn path=/branches/gtk-2-10/; revision=17240
2007-01-30 23:21:42 +00:00
Felix Riemann
e5f8b58d7b Fix leaked string. Fixes bug #402565.
2007-01-30  Felix Riemann  <friemann@svn.gnome.org>

	* modules/printbackends/file/gtkprintbackendfile.c:
	(file_printer_get_options): Fix leaked string. Fixes bug #402565.

svn path=/branches/gtk-2-10/; revision=17239
2007-01-30 20:21:37 +00:00
Matthias Clasen
3eaf016542 Be more careful about toplevel possibly being NULL. (#402453, Sebastian
2007-01-30  Matthias Clasen  <mclasen@redhat.com>

        * gdk/x11/gdkwindow-x11.c (gdk_x11_window_move_to_current_desktop):
        (gdk_x11_window_set_user_time): Be more careful about toplevel
        possibly being NULL.  (#402453, Sebastian Bacher)



svn path=/branches/gtk-2-10/; revision=17237
2007-01-30 18:39:01 +00:00
Takeshi AIHANA
108eaec8d7 Updated Japanese translation.
2007-01-27  Takeshi AIHANA <takeshi.aihana@gmail.com>

        * ja.po: Updated Japanese translation.

svn path=/branches/gtk-2-10/; revision=17226
2007-01-27 07:27:33 +00:00
Takeshi AIHANA
611c5685c4 Updated Japanese translation.
2007-01-27  Takeshi AIHANA <takeshi.aihana@gmail.com>

        * ja.po: Updated Japanese translation.

svn path=/branches/gtk-2-10/; revision=17225
2007-01-27 07:24:24 +00:00
Michael Natterer
2d9037d442 Merge from trunk:
2007-01-26  Michael Natterer  <mitch@imendio.com>

	Merge from trunk:

	* modules/input/gtkimcontextxim.c (gtk_im_context_xim_finalize):
	destroy the XIM only if it exists. While the code does look safe
	in general, there can be corner cases where the "reconnecting"
	boolean being FALSE does not correspond to the XIM being
	allocated (fixes #329450, fix taken from maemo-gtk).


svn path=/branches/gtk-2-10/; revision=17220
2007-01-26 23:59:14 +00:00
Matthias Clasen
a37a18b1c9 Reduce locking overhead by not repeatedly getting the paintable iface.
2007-01-25  Matthias Clasen  <mclasen@redhat.com>

        * gdk/gdkwindow.c: Reduce locking overhead by not repeatedly getting
        the paintable iface.

2

svn path=/branches/gtk-2-10/; revision=17214
2007-01-25 14:55:11 +00:00
Michael Natterer
04b78248e9 Merge from trunk:
2007-01-24  Michael Natterer  <mitch@imendio.com>

	Merge from trunk:

	* gtk/gtkwidget.c (gtk_widget_set_state): revert generic disabling
	of PRELIGHT state for the reasons given in bug #135666. Widget
	states are sometimes abused or otherwise used wrongly for historic
	reasons, causing this part of the patch to break e.g. menu items.


svn path=/branches/gtk-2-10/; revision=17212
2007-01-24 16:16:05 +00:00
Roozbeh Pournader
6150cebb6c Remove mention of no-longer-existing PATCH keyword in bugzilla. (#396899)
2007-01-24  Roozbeh Pournader  <roozbeh@farsiweb.info>

	* README: Remove mention of no-longer-existing PATCH
	keyword in bugzilla. (#396899)

svn path=/branches/gtk-2-10/; revision=17210
2007-01-24 13:46:51 +00:00
Kjartan Maraas
d439452e11 Revert the tilde patch I commited a while ago since it apparently doesn't
2007-01-24  Kjartan Maraas  <kmaraas@gnome.org>

	* gtk/gtkfilesystemunix.c: (expand_tilde):
	Revert the tilde patch I commited a while ago since it
	apparently doesn't work with later releases of gtk+ anyway.

svn path=/branches/gtk-2-10/; revision=17208
2007-01-24 08:35:29 +00:00
Carlos Garcia Campos
a34b0ee3f2 Fix memory leak. Fixes bug #399907.
2007-01-23  Carlos Garcia Campos  <carlosgc@gnome.org>
	* gtk/gtkpagesetup.c
	(gtk_page_setup_set_paper_size_and_default_margins): Fix memory leak.
	Fixes bug #399907.

svn path=/branches/gtk-2-10/; revision=17207
2007-01-23 21:28:51 +00:00
Stéphane Raimbault
facec3427c Updated French translation by Robert-André Mauchin and Stéphane
2007-01-23  Stéphane Raimbault  <stephane.raimbault@gmail.com>
        
        * po/fr.po: Updated French translation by Robert-André Mauchin
          and Stéphane Raimbault.

        * po-properties/fr.po: Updated French translation by
          Robert-André Mauchin.

svn path=/branches/gtk-2-10/; revision=17205
2007-01-23 19:57:47 +00:00
Murray Cumming
921d8fb377 gtk_tree_path_next(): Add a note to the documentation about the changed
2007-01-23  Murray Cumming  <murrayc@murrayc.com>

        * gtk/gtktreemodel.c: gtk_tree_path_next(): 
        Add a note to the documentation about the changed path being only a 
        path to a potential node, so you must check that it really exists.

svn path=/branches/gtk-2-10/; revision=17204
2007-01-23 14:55:30 +00:00
Matthias Clasen
2cf08cd118 Bump version
svn path=/branches/gtk-2-10/; revision=17202
2007-01-22 18:09:52 +00:00
Matthias Clasen
ec0859064a 2.10.9
svn path=/branches/gtk-2-10/; revision=17200
2007-01-22 18:06:31 +00:00
Matthias Clasen
d1ea7509d7 Fix error reporting in the gif loader
svn path=/branches/gtk-2-10/; revision=17198
2007-01-21 17:28:20 +00:00
Kjartan Maraas
a897a5ec9a Updated Norwegian bokmål translation.
2007-01-20  Kjartan Maraas  <kmaraas@gnome.org>

	* nb.po: Updated Norwegian bokmål translation.

svn path=/branches/gtk-2-10/; revision=17196
2007-01-20 10:33:42 +00:00
Matthias Clasen
e8629591a7 Fix build breakage
svn path=/branches/gtk-2-10/; revision=17194
2007-01-19 15:30:14 +00:00
Matthias Clasen
6e2e3329e6 Fix problems with the initial focus in GtkCalendar. (#397783, Vincent
2007-01-18  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkcalendar.c: Fix problems with the initial
        focus in GtkCalendar.  (#397783, Vincent Untz)



svn path=/branches/gtk-2-10/; revision=17191
2007-01-19 03:55:54 +00:00
Robert Oegren
f74856bfdc Fix for bug #143460 - missed tablet clicks on Windows
2007-01-19  Robert Oegren  <gtk@roboros.com>

	Fix for bug #143460 - missed tablet clicks on Windows

	* gdk/win32/gdkinput-win32.c (_gdk_input_wintab_init_check):
	Request absolute reporting of tablet button state, and cut down
	the packet queue size a bit.
	(_gdk_input_other_event): Change button state handling
	accordingly. Also drop the no longer necessary code that detects
	missed clicks/releases for button 1. The switch to absolute button
	state should prevent missed events for all buttons. Additionally,
	swap button 2 and 3.
	(_gdk_input_grab_pointer): Don't reset button_state, that will only
	cause a new press event as soon as the next tablet packet arrives.


svn path=/branches/gtk-2-10/; revision=17189
2007-01-19 02:49:41 +00:00
Tor Lillqvist
e483a177d3 gdk-pixbuf/Makefile.am gdk/Makefile.am gdk/win32/Makefile.am Fixes for
2007-01-18  Tor Lillqvist  <tml@novell.com>

	* gdk-pixbuf/Makefile.am
	* gdk/Makefile.am
	* gdk/win32/Makefile.am
	* gtk/Makefile.am: Fixes for building outside srcdir on
	Win32. (#336819, #340113) Drop distributing the handmade .la
	libtool wrappers for the wntab32x and ie55uid libraries. It's too
	much trouble making them work when building outside srcdir. Just
	link to these libraries direcly using -Wl,libfoo.a.


svn path=/branches/gtk-2-10/; revision=17184
2007-01-18 23:07:06 +00:00
Matthias Clasen
8b7373c303 Fix a typo
svn path=/branches/gtk-2-10/; revision=17181
2007-01-17 18:22:03 +00:00
Michael Natterer
121d21ee15 Patch taken from maemo-gtk (merged from trunk):
2007-01-17  Michael Natterer  <mitch@imendio.com>

	Patch taken from maemo-gtk (merged from trunk):

	* io-png.c (png_text_to_pixbuf_option): don't call g_convert() on
	ASCII strings.

	(png_info_callback): set an error when the size_func would scale
	the pixbuf away completely.


svn path=/branches/gtk-2-10/; revision=17180
2007-01-17 14:12:40 +00:00
Tor Lillqvist
cacff6dc34 Typos.
svn path=/branches/gtk-2-10/; revision=17178
2007-01-17 13:16:18 +00:00
Matthias Clasen
ea5acc6289 fix the build
svn path=/branches/gtk-2-10/; revision=17176
2007-01-17 13:14:57 +00:00
Tor Lillqvist
9c72102e37 Include also the COPYING file.
2007-01-17  Tor Lillqvist  <tml@novell.com>

	* gtk-zip.sh.in: Include also the COPYING file.


svn path=/branches/gtk-2-10/; revision=17173
2007-01-17 13:09:46 +00:00
Emmanuele Bassi
00a92312e2 Fix a wrong free() call. (Thanks to Thomas Wood for catching that)
2007-01-17  Emmanuele Bassi  <ebassi@gnome.org>

	* gtk/gtkrecentchoosermenu.c: Fix a wrong free() call. (Thanks
	to Thomas Wood for catching that)

svn path=/branches/gtk-2-10/; revision=17172
2007-01-17 12:30:18 +00:00
Matthias Clasen
d5bdb44d81 Don't use httpGetFd() when building against cups 1.1
2007-01-17  Matthias Clasen  <mclasen@redhat.com>

        * modules/printbackends/cups/gtkprintbackendcups.c: Don't use
        httpGetFd() when building against cups 1.1



svn path=/branches/gtk-2-10/; revision=17171
2007-01-17 06:12:19 +00:00
Matthias Clasen
f9639990ee 2.10.8
svn path=/branches/gtk-2-10/; revision=17169
2007-01-17 05:07:19 +00:00
Matthias Clasen
b50b2ecfd3 2.10.8
svn path=/branches/gtk-2-10/; revision=17167
2007-01-17 05:02:33 +00:00
Matthias Clasen
11c47c1ece updates
svn path=/branches/gtk-2-10/; revision=17166
2007-01-17 04:33:32 +00:00
Matthias Clasen
a439b755f5 Fix memory leaks in the error case
svn path=/branches/gtk-2-10/; revision=17164
2007-01-17 04:21:35 +00:00
Tor Lillqvist
4759035f4a Merge from trunk, for discussion see #396175:
2007-01-17  Tor Lillqvist  <tml@novell.com>

	Merge from trunk, for discussion see #396175:

	* gtk/gtkimmodule.c: Do the prefix corrections always on Win32,
	not just when GTK_LIBDIR is defined. i.e., until now they were
	done only in the autoconfiscated gcc builds. Hans needs to make
	sure GTK_LIBDIR and GTK_LOCALEDIR are defined also in MSVC builds
	now.
	(correct_localedir_prefix): New function, like
	correct_libdir_prefix(), but for GTK_LOCALEDIR, in case
	GTK_LOCALEDIR is not a descendant of GTK_LIBDIR.
	(gtk_im_module_initialize): Thus call correct_localedir_prefix()
	on the domain_dirname instead of correct_libdir_prefix().
	(_gtk_im_module_list): Call correct_localedir_prefix() on
	simple_context_info.domain_dirname.


svn path=/branches/gtk-2-10/; revision=17162
2007-01-17 01:24:47 +00:00
Matthias Clasen
f44e1fa81c Queue a redraw when the grab changes. (#396470, Benjamin Berg)
2007-01-16  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkrange.c (range_grab_remove): Queue a redraw when the
        grab changes.  (#396470, Benjamin Berg)



svn path=/branches/gtk-2-10/; revision=17160
2007-01-16 14:19:04 +00:00
Matic Žgur
20922e75a9 Updated Slovenian translation.
svn path=/branches/gtk-2-10/; revision=17158
2007-01-16 10:51:28 +00:00
Emmanuele Bassi
1d1122b357 Backport from trunk.
2007-01-15  Emmanuele Bassi  <ebassi@gnome.org>

	Backport from trunk.

	* gtk/gtkrecentchoosermenu.c: Ellipsize the menu items label
	if they grow too much. (#357303)

svn path=/branches/gtk-2-10/; revision=17157
2007-01-15 13:09:58 +00:00
Yair Hershkovitz
dc3fefed7c updated hebrew translation
svn path=/branches/gtk-2-10/; revision=17155
2007-01-15 08:43:33 +00:00
Matthias Clasen
b70226dc94 When finding a matching non-scalable dir, keep going and look for a closer
2007-01-14  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkicontheme.c (theme_lookup_icon): When finding a matching
        non-scalable dir, keep going and look for a closer match.
        (#395830, Luca Ferretti)


svn path=/branches/gtk-2-10/; revision=17154
2007-01-15 02:58:13 +00:00
Alexander Shopov
4e64cf615c Updated Bulgarian translation by Alexander Shopov <ash@contact.bg>
2007-01-14  Alexander Shopov  <ash@contact.bg>

	* bg.po: Updated Bulgarian translation by
	Alexander Shopov <ash@contact.bg>

svn path=/branches/gtk-2-10/; revision=17151
2007-01-14 17:50:06 +00:00
Hans Breuer
547e0cbf48 Merge from trunk:
2007-01-14  Hans Breuer <hans@breuer.org>

	Merge from trunk:

	* gtk/gtktreeview.c : use g_snprintf instead of snprintf, which is
	not available everywhere

	* gtk/makefile.msc.in : updated


svn path=/branches/gtk-2-10/; revision=17150
2007-01-14 17:42:48 +00:00
Matthias Clasen
444380a570 Don't crash if menu or toolbar positions can't be found. (#396161, Hans
2007-01-13  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkuimanager.c: Don't crash if menu or toolbar
        positions can't be found.  (#396161, Hans Breuer)



svn path=/branches/gtk-2-10/; revision=17148
2007-01-14 05:33:41 +00:00
Matthias Clasen
171afc0d5c Plug memory leaks. (#396160, Carlos Garcia Campos)
2007-01-13  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkselection.c (_gtk_selection_request): Plug
        memory leaks.  (#396160, Carlos Garcia Campos)



svn path=/branches/gtk-2-10/; revision=17146
2007-01-14 05:17:09 +00:00
Matthias Clasen
23d0867f6c Link libgtk against Xfixes. (#396074, Tommi Komulainen)
2007-01-13  Matthias Clasen  <mclasen@redhat.com>

        * configure.in: Link libgtk against Xfixes.  (#396074,
        Tommi Komulainen)



svn path=/branches/gtk-2-10/; revision=17144
2007-01-14 05:02:56 +00:00
Matthias Clasen
abe3d3f8a6 Avoid a compiler warning. (#395045, Chris Wilson)
2007-01-13  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkradiobutton.c (gtk_radio_button_focus): Avoid
        a compiler warning.  (#395045, Chris Wilson)



svn path=/branches/gtk-2-10/; revision=17142
2007-01-14 04:33:53 +00:00
Hans Breuer
b577576981 Merge from trunk:
2007-01-13  Hans Breuer <hans@breuer.org>

	Merge from trunk:

	* gtk/gtkprintoperation-win32.c : take the custom tab label from
	gtk_print_operation_set_custom_tab_label() into account (bug #390746).

svn path=/branches/gtk-2-10/; revision=17140
2007-01-13 22:29:05 +00:00
Pascal Terjan
04f49bb8b1 Merge from trunk:
2007-01-13  Pascal Terjan  <pterjan@linuxfr.org>

	Merge from trunk:

	* gtk/gtknotebook.c (gtk_notebook_draw_focus): fix crasher if
	cur_page is NULL (bug #395326).


svn path=/branches/gtk-2-10/; revision=17138
2007-01-13 21:53:56 +00:00
Žygimantas Beručka
bffd3ede71 Updated Lithuanian translation.
svn path=/branches/gtk-2-10/; revision=17136
2007-01-13 20:51:19 +00:00
Michael Natterer
057fd6e8bd Merge from trunk:
2007-01-12  Michael Natterer  <mitch@imendio.com>

	Merge from trunk:

	* gtk/gtkentry.c (gtk_entry_button_press): don't add
	entry->scroll_offset to entry->drag_start_y. Fixes the entry
	starting drags after ridiculously small mouse movements.


svn path=/branches/gtk-2-10/; revision=17135
2007-01-12 11:59:43 +00:00
Richard Hult
ae710a1c6f Close the file after it's loaded (bug #395316).
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=/branches/gtk-2-10/; revision=17133
2007-01-11 14:28:51 +00:00
Kjartan Maraas
01a4cc3a06 Merge fix for making tilde go to $HOME in the location entry. Patch from
2007-01-11  Kjartan Maraas  <kmaraas@gnome.org>

	* gtk/gtkfilesystemunix.c: (expand_tilde): Merge fix
	for making tilde go to $HOME in the location entry.
	Patch from Yevgen Muntyan. Closes bug #334168.

svn path=/branches/gtk-2-10/; revision=17131
2007-01-11 00:55:43 +00:00
Kristian Rietveld
e82ff9da5e refactor to initialize indicator_size to TOGGLE_WIDTH instead of the
2007-01-10  Kristian Rietveld  <kris@imendio.com>

	* gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_init):
	refactor to initialize indicator_size to TOGGLE_WIDTH instead
	of the hardcoded value of 12.


svn path=/branches/gtk-2-10/; revision=17127
2007-01-10 17:31:22 +00:00
Matthias Clasen
15f27ded85 Fix the directfb cairo test. (#394855, Josselin Mouette)
2007-01-09  Matthias Clasen  <mclasen@redhat.com>

        * configure.in: Fix the directfb cairo test. (#394855,
        Josselin Mouette)



svn path=/branches/gtk-2-10/; revision=17126
2007-01-10 04:53:13 +00:00
Peter Teichman
2a082fb952 Merge from trunk.
* gtk/gtkfilechooserdefault.c:
* gtk/gtkfilechoosersettings.c:
* gtk/gtkfilechoosersettings.h:
Save the expanded state of the folder browser with the file
chooser settings.  Resolves the expander portions of (#153828,
Lemmit Kaplinski)

svn path=/branches/gtk-2-10/; revision=17122
2007-01-08 18:36:03 +00:00
Emmanuele Bassi
a156d5382d Don't leak the icon pixbuf after setting it to the image menu item. Found
2007-01-08  Emmanuele Bassi  <ebassi@gnome.org>

	* gtk/gtkrecentchoosermenu.c (gtk_recent_chooser_menu_create_item):
	Don't leak the icon pixbuf after setting it to the image menu
	item.  Found by Paolo Borelli.

svn path=/branches/gtk-2-10/; revision=17120
2007-01-08 16:54:03 +00:00
Matthias Clasen
2d29a81ba1 Don't corrupt memory when faced with paths with ridiculously large
2007-01-08  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtktreemodel.c (gtk_tree_path_to_string): Don't
        corrupt memory when faced with paths with ridiculously
        large indices. Found by the GTKVTS test suite.



svn path=/branches/gtk-2-10/; revision=17117
2007-01-08 15:08:47 +00:00
Matthias Clasen
41fb504bc1 Set default_display_opened before loading modules. (#393102, Brian
2007-01-08  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkmodules.c (_gtk_modules_init): Set
        default_display_opened before loading modules.  (#393102,
        Brian Cameron)
 

svn path=/branches/gtk-2-10/; revision=17115
2007-01-08 13:09:14 +00:00
Matthias Clasen
e232d48a0e Don't return "" as match. (fd.o #9544, Yevgen Muntyan)
2007-01-07  Matthias Clasen  <mclasen@redhat.com>

	* xdgmimecache.c (cache_glob_node_lookup_suffix): Don't return "" 
	as match.  (fd.o #9544, Yevgen Muntyan)


svn path=/branches/gtk-2-10/; revision=17113
2007-01-08 04:23:19 +00:00
Matthias Clasen
1dda45b32b Fix several problems with this function. (fd.o #9560, Yevgen Muntyan)
2007-01-07  Matthias Clasen  <mclasen@redhat.com>

        * xdgmimecache.c (_xdg_mime_cache_list_mime_parents): Fix
        several problems with this function.  (fd.o #9560, Yevgen Muntyan)



svn path=/branches/gtk-2-10/; revision=17111
2007-01-08 03:41:23 +00:00
Matthias Clasen
3dadbc2b53 Correct the include for GdkPixdata. (#394000, Samuel Cormier-Iijima)
2007-01-07  Matthias Clasen  <mclasen@redhat.com>

        * gdk-pixbuf/gdk-pixbuf-sections.txt: Correct the include
        for GdkPixdata.  (#394000, Samuel Cormier-Iijima)



svn path=/branches/gtk-2-10/; revision=17109
2007-01-07 20:06:36 +00:00
Amanpreet Singh Alam
b6f03ebf58 updatingfor bug 355790 by alam
svn path=/branches/gtk-2-10/; revision=17106
2007-01-07 15:58:10 +00:00
Guntupalli Karunakar
3981c32c50 Removed junk lines in header
svn path=/branches/gtk-2-10/; revision=17105
2007-01-07 13:22:37 +00:00
Matthias Clasen
14c5ed07c0 Call text_window_realize() with the correct parameters. (#393813, Yevgen
2007-01-07  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtktextview.c (gtk_text_view_set_border_window_size):
        Call text_window_realize() with the correct parameters.
        (#393813, Yevgen Muntyan)



svn path=/branches/gtk-2-10/; revision=17102
2007-01-07 07:21:02 +00:00
Matthias Clasen
6185460f07 Left-align menu labels. (#393255, Michail Crayson)
2007-01-05  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtknotebook.c (gtk_notebook_set_menu_label_text): Left-align
        menu labels.  (#393255, Michail Crayson)



svn path=/branches/gtk-2-10/; revision=17097
2007-01-06 03:13:28 +00:00
Tor Lillqvist
9c052181ad New file. Downloaded from freedesktop.org's webcvs. Slighly edited cursors
2007-01-06  Tor Lillqvist  <tml@novell.com>

	* gdk/win32/cursor.bdf: New file. Downloaded from
	freedesktop.org's webcvs. Slighly edited cursors "crosshair",
	"diamond_cross", "draft_large", "gobbler" and "target" to fix
	#392504. It is possible that the same end result could have been
	achieved by tweaking bdfcursor.c instead.
	
	* gdk/win32/bdfcursor.c: Add optional debugging output.

	* gdk/win32/xcursors.h: Regenerated.


svn path=/branches/gtk-2-10/; revision=17094
2007-01-06 03:01:09 +00:00
Kristian Rietveld
a2dcca137d Merge from HEAD.
2007-01-05  Kristian Rietveld  <kris@gtk.org>

	Merge from HEAD.

	* gtk/gtktreeview.c (gtk_tree_view_row_changed): do allow to
	invalidate nodes if the tree view is not realized. (#363147,
	Carlos Garnacho, Miguel Cabrera).


svn path=/branches/gtk-2-10/; revision=17090
2007-01-05 21:37:41 +00:00
Matthias Clasen
bc938df68d Bump version
svn path=/branches/gtk-2-10/; revision=17088
2007-01-05 20:51:34 +00:00
Matthias Clasen
eb5e19ee6e 2.10.7
svn path=/branches/gtk-2-10/; revision=17086
2007-01-05 20:46:07 +00:00
Matthias Clasen
6dfbc8d8a8 Take the scroll arrow into account when drawing the background. (#393166,
2007-01-05  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkmenu.c (gtk_menu_paint): Take the scroll arrow into
        account when drawing the background.  (#393166, Benjamin Berg)



svn path=/branches/gtk-2-10/; revision=17085
2007-01-05 18:25:56 +00:00
Behdad Esfahbod
a67a600ef0 Fix broken width computation, again.
2007-01-05  Behdad Esfahbod  <behdad@gnome.org>

        * gtk/gtklabel.c (get_layout_location): Fix broken width computation, 
        again.


svn path=/branches/gtk-2-10/; revision=17082
2007-01-05 18:01:52 +00:00
Carlos Garnacho
d36f24694e take into account both scroll arrows when calculating size request in
2007-01-05  Carlos Garnacho  <carlosg@gnome.org>

        * gtk/gtknotebook.c (gtk_notebook_size_request): take into account
        both scroll arrows when calculating size request in GTK_POS_LEFT or
        GTK_POS_RIGHT notebooks. (#393124, reported by Christian Persch)


svn path=/branches/gtk-2-10/; revision=17081
2007-01-05 17:31:12 +00:00
Michael Natterer
01ec5c12f4 Merged from HEAD:
2007-01-05  Michael Natterer  <mitch@imendio.com>

	Merged from HEAD:

	* gtk/gtkwindow.c (gtk_window_key_release_event): chain up to
	the right function (fix taken from maemo-gtk).


svn path=/branches/gtk-2-10/; revision=17079
2007-01-05 14:09:00 +00:00
Behdad Esfahbod
454a02e23c Avoid overflow when converting coordinates to Pango units. (#332266, Jody
2007-01-05  Behdad Esfahbod  <behdad@gnome.org>

        * gdk/gdkprivate.h:
        * gdk/gdkpango.c (gdk_draw_layout_line_with_colors),
        (gdk_draw_layout_with_colors):
        * gdk/gdkwindow.c (gdk_window_draw_glyphs_transformed):
        Avoid overflow when converting coordinates to Pango units. (#332266,
        Jody Goldberg)


svn path=/branches/gtk-2-10/; revision=17076
2007-01-05 06:28:00 +00:00
Matthias Clasen
33392c7cea move set_cursor after realization of the popup window, so clamp node
2007-01-04  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkcombobox.c (gtk_combo_box_popup): move set_cursor
        after realization of the popup window, so clamp node doesn't fail.
        (#346616, Tommi Komulainen, patch by Kristian Rietveld).



svn path=/branches/gtk-2-10/; revision=17074
2007-01-05 05:42:54 +00:00
Gustavo Noronha Silva
c4fc34bcac Translation updated by Leonardo Ferreira Fontenelle
bug #357134

svn path=/branches/gtk-2-10/; revision=17072
2007-01-04 21:33:26 +00:00
Behdad Esfahbod
9991283b01 Fix uninitialized width variable.
2007-01-04  Behdad Esfahbod  <behdad@gnome.org>

        * gtk/gtklabel.c (get_layout_location): Fix uninitialized width
        variable.


svn path=/branches/gtk-2-10/; revision=17070
2007-01-04 16:26:42 +00:00
Matthias Clasen
163af5fdd8 Cross-compilation fixes. (#392646, Yevgen Muntyan)
2007-01-04  Matthias Clasen  <mclasen@redhat.com>

        * gtk/Makefile.am:
        * gdk-pixbuf/Makefile.am:
        * configure.in:
        * gdk/win32/rc/gdk.rc.in: Cross-compilation fixes.
        (#392646, Yevgen Muntyan)



svn path=/branches/gtk-2-10/; revision=17068
2007-01-04 15:08:54 +00:00
Matthias Clasen
07ed18bf49 Fix some compiler warnings.
2007-01-04  Matthias Clasen  <mclasen@redhat.com>

        * demos/gtk-demo/textscroll.c:
        * gtk/gtkiconview.c:
        * gtk/gtkicontheme.c:
        * gtk/gtkhandlebox.c:
        * gtk/gtkfilechooserentry.c:
        * gtk/gtkentrycompletion.c:
        * gtk/gtkcolorsel.c: Fix some compiler warnings.



svn path=/branches/gtk-2-10/; revision=17064
2007-01-04 14:48:03 +00:00
Matthias Clasen
50cccdc0b8 Fix a compiler warning
svn path=/branches/gtk-2-10/; revision=17060
2007-01-04 14:16:49 +00:00
Clytie Siddall
44a6f7a773 vi.po: Updated Vietnamese translation.
svn path=/branches/gtk-2-10/; revision=17059
2007-01-04 12:02:03 +00:00
Clytie Siddall
4da9a3541c vi.po: Updated Vietnamese translation.
svn path=/branches/gtk-2-10/; revision=17058
2007-01-04 12:01:26 +00:00
Clytie Siddall
6487005fd5 Updated Vietnamese translation.
2007-01-04  Clytie Siddall <clytie@riverland.net.au>

	* vi.po: Updated Vietnamese translation.



svn path=/branches/gtk-2-10/; revision=17057
2007-01-04 11:48:46 +00:00
Clytie Siddall
1a0630d654 Updated Vietnamese translation.
2007-01-04  Clytie Siddall <clytie@riverland.net.au>

	* vi.po: Updated Vietnamese translation.


svn path=/branches/gtk-2-10/; revision=17056
2007-01-04 11:48:29 +00:00
Matthias Clasen
9c777969a0 Updates
svn path=/branches/gtk-2-10/; revision=17055
2007-01-04 06:21:39 +00:00
Matthias Clasen
b34b9470a4 Fix #332604, reported by Joe Wreschnig, patch by Jan Arne Petersen and
2007-01-03  Matthias Clasen  <mclasen@redhat.com>

        Fix #332604, reported by Joe Wreschnig, patch
        by Jan Arne Petersen and Behdad Esfahbod.

        * gtk/gtklabel.c (gtk_label_size_allocate): Only
        set the width of the layout when necessary.
        (get_layout_location): Use pango_layout_get_pixel_extents()
        instead of pango_layout_get_width().



svn path=/branches/gtk-2-10/; revision=17053
2007-01-04 05:59:31 +00:00
Matthias Clasen
33b805ba1d Fix another memleak
svn path=/branches/gtk-2-10/; revision=17051
2007-01-04 05:10:14 +00:00
Matthias Clasen
dd983a4f17 Fix another leak
svn path=/branches/gtk-2-10/; revision=17049
2007-01-04 04:50:56 +00:00
Matthias Clasen
100e652711 Exit early if we can't get file info - this happens if the iter points to
2007-01-03  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkfilechooserdefault.c (update_chooser_entry):
        Exit early if we can't get file info - this happens
        if the iter points to the row where we are editing
        the name for a newly created folder.  (#392191, Michael
        Partridge, patch by Kristian Rietveld)



svn path=/branches/gtk-2-10/; revision=17047
2007-01-04 01:46:22 +00:00
Matthias Clasen
61fa8ee0c7 Apply a patch by Chris Wilson to avoid spurious valgrind warnings from
2007-01-03  Matthias Clasen  <mclasen@redhat.com>

        * gtk/*.c:
        * gdk/x11/*.c: Apply a patch by Chris Wilson to
        avoid spurious valgrind warnings from XSendEvent()
        calls.  (#392532)



svn path=/branches/gtk-2-10/; revision=17045
2007-01-04 01:30:07 +00:00
Matthias Clasen
19bf71f064 Close the http connection after getting the PPD.
2007-01-03  Matthias Clasen  <mclasen@redhat.com>

        * modules/printbackends/cups/gtkprintbackendcups.c: Close
        the http connection after getting the PPD.

 

svn path=/branches/gtk-2-10/; revision=17043
2007-01-04 00:13:19 +00:00
Djihed Afifi
4a2ef11414 Updated Arabic Translation.
svn path=/branches/gtk-2-10/; revision=17041
2007-01-03 22:01:52 +00:00
Matthias Clasen
5520c08fb3 Fix memory leaks.
2007-01-03  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkprinteroptionwidget.c (filesave_changed_cb):
        Fix memory leaks.


svn path=/branches/gtk-2-10/; revision=17040
2007-01-03 21:25:09 +00:00
Matthias Clasen
b8b207d7d1 If the current page is removed, always pick a different one. (#392457,
2007-01-03  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkassistant.c (remove_page): If the current page
        is removed, always pick a different one.  (#392457,
        Colin Watson)



svn path=/branches/gtk-2-10/; revision=17038
2007-01-03 20:52:11 +00:00
Kristian Rietveld
b5796a17f5 Merged from HEAD.
2007-01-03  Kristian Rietveld  <kris@gtk.org>

	Merged from HEAD.

	* gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_focus_out_event):
	cancel editing (ie. don't accept changes) when the entry loses
	focus. (Fixes #164494, reported by Chris Rouch).


svn path=/branches/gtk-2-10/; revision=17035
2007-01-03 19:33:57 +00:00
Matthias Clasen
989b254636 Export SED to make sourcing of libtool work. Tighten up the directfb
2007-01-03  Matthias Clasen  <mclasen@redhat.com>

        * configure.in: Export SED to make sourcing of
        libtool work. Tighten up the directfb pkgconfig check.



svn path=/branches/gtk-2-10/; revision=17034
2007-01-03 17:57:31 +00:00
Matthias Clasen
69d0f944a3 Work when the entry is not realized. (#392315, Yevgen Muntyan)
2007-01-03  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkentry.c (get_text_area_size): Work when the
        entry is not realized.  (#392315, Yevgen Muntyan)

        * gtk/gtkentry.c (gtk_entry_queue_draw): Use
        GTK_WIDGET_DRAWABLE() here.  (#392227, Chris Wilson)

        * gtk/gtkentry.c (cursor_blinks): Don't get settings
        unnecessarily.  (#392227)



svn path=/branches/gtk-2-10/; revision=17031
2007-01-03 16:17:03 +00:00
Matthias Clasen
aca50fd386 Only process updates on the window at hand, not on all windows, to avoid
2007-01-02  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkwindow.c (gtk_window_move_resize): Only process
        updates on the window at hand, not on all windows, to
        avoid violating resize/redraw ordering constraints.
        (#362406, Owen Taylor)
 

svn path=/branches/gtk-2-10/; revision=17029
2007-01-03 02:45:35 +00:00
Matthias Clasen
1b1d17dcfa Updates
svn path=/branches/gtk-2-10/; revision=17025
2007-01-02 23:00:20 +00:00
Matthias Clasen
c098a03e31 Try to fix #315732, reported by Luke Hutchinson:
2007-01-02  Matthias Clasen  <mclasen@redhat.com>

        Try to fix #315732, reported by Luke Hutchinson:

        * gdk/x11/xsettings-client.[hc]:
        * gdk/x11/gdkdevents-x11.c: Don't assume that ref'ing a GdkWindow
        will guarantee that it can be looked up in the xid hash later.
        Also, use the nesting server grab function during the xsettings
        client initialization. Finally, make xsettings client not
        eat DestroyNotifys so that GDK can do its regular cleanup.



svn path=/branches/gtk-2-10/; revision=17023
2007-01-02 19:25:33 +00:00
Tor Lillqvist
25ba11ac50 Fix typo.
2007-01-02  Tor Lillqvist  <tml@novell.com>

	* gtk/gtkrecentchoosermenu.c (gtk_recent_chooser_menu_dispose):
	Fix typo.


svn path=/branches/gtk-2-10/; revision=17019
2007-01-02 15:23:37 +00:00
Matthias Clasen
3bd8ce6e16 Center in the frame. (#304482, Rob Staudinger, patch by Richard
2007-01-02  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkentry.c (get_text_area_size): Center in the frame.
        (#304482, Rob Staudinger, patch by  Richard Stellingwerff)



svn path=/branches/gtk-2-10/; revision=17016
2007-01-02 14:26:07 +00:00
Matthias Clasen
449593fe6b Only handle key bindings for scrolling if the scrollbars are visible.
2007-01-01  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkscrolledwindow.h:
        * gtk/gtkscrolledwindow.c: Only handle key bindings
        for scrolling if the scrollbars are visible.
        (#340135, Christian Persch)



svn path=/branches/gtk-2-10/; revision=17013
2007-01-02 07:12:40 +00:00
Matthias Clasen
1bd0239ef6 Remove forgotten debug spew
svn path=/branches/gtk-2-10/; revision=17010
2007-01-02 06:46:27 +00:00
Matthias Clasen
d2d46af26a Only handle key bindings for tab reordering if the tabs are shown and
2007-01-01  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtknotebook.h:
        * gtk/gtknotebook.c: Only handle key bindings for
        tab reordering if the tabs are shown and reorderable.
        (#390468, Yevgen Muntyan)

        * gtk/gtkmarshalers.list: Add required marshaler



svn path=/branches/gtk-2-10/; revision=17009
2007-01-02 06:24:26 +00:00
Matthias Clasen
3fc2ebe388 Waste less time with non-directories. (#391725, Chris Wilson)
2007-01-01  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkicontheme.c (load_themes): Waste less time
        with non-directories.  (#391725, Chris Wilson)



svn path=/branches/gtk-2-10/; revision=17006
2007-01-02 04:31:41 +00:00
Matthias Clasen
c10ada4a26 Fix some IPP compliance issues. (#391523, Albrecht Dress)
2007-01-01  Matthias Clasen  <mclasen@redhat.com>

        Fix some IPP compliance issues.  (#391523, Albrecht Dress)

        * modules/printbackends/cups/gtkcupsutils.c
        (gtk_cups_request_encode_option): Use IPP_TAG_JOB, not
        IPP_TAG_OPERATION.
        * modules/printbackends/cups/gtkprintbackendcups.c
        (gtk_print_backend_cups_print_stream): Don't add the
        requesting-user-name attribute a second time.



svn path=/branches/gtk-2-10/; revision=17003
2007-01-01 23:57:03 +00:00
Matthias Clasen
7f8f32df71 Fix en/em dash confusion. (#378462)
2007-01-01  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkimcontextsimple.c: Fix en/em dash confusion.  (#378462)



svn path=/branches/gtk-2-10/; revision=17001
2007-01-01 05:42:24 +00:00
Emmanuele Bassi
908b773c12 Move the signal and idle disconnections into the dispose function, as well
2006-12-31  Emmanuele Bassi  <ebassi@gnome.org>

	* gtk/gtkrecentchoosermenu.c: Move the signal and idle
	disconnections into the dispose function, as well as
	the object unrefs; reset every handler id and the
	pointers. (suggested by Paolo Borelli, #390873)

	(set_recent_manager): Use the right object when disconnecting
	from the GtkRecentManager::changed signal; save us a few
	indirections.

svn path=/branches/gtk-2-10/; revision=16998
2006-12-31 16:49:35 +00:00
Matthias Clasen
d657db200d Include windows.h (#391229, Kazuki Iwamoto)
2006-12-31  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkprintoperation-win32.c: Include windows.h (#391229,
        Kazuki Iwamoto)



svn path=/branches/gtk-2-10/; revision=16996
2006-12-31 15:51:44 +00:00
Matthias Clasen
b423e964ea Remove the scroll timeout. (#390872, Yevgen Muntyan)
2006-12-30  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtktextview.c (gtk_text_view_destroy): Remove the
        scroll timeout.  (#390872, Yevgen Muntyan)



svn path=/branches/gtk-2-10/; revision=16994
2006-12-31 06:02:34 +00:00
Matthias Clasen
69ee164fee Redraw assistant on reallocate to avoid rendering glitches. (#343956,
2006-12-30  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkassistant.c: Redraw assistant on reallocate
        to avoid rendering glitches.  (#343956, Christian
        Persch, Carlos Garnacho)



svn path=/branches/gtk-2-10/; revision=16991
2006-12-31 05:22:46 +00:00
Matthias Clasen
1936dc99a7 Correctly handle min size. (#320465, Philipp Langdale)
2006-12-30  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkwindow.c (gtk_window_compute_configure_request_size):
        Correctly handle min size. (#320465, Philipp Langdale)



svn path=/branches/gtk-2-10/; revision=16987
2006-12-31 01:39:53 +00:00
Matthias Clasen
9ae01e7f7d Don't install cursors on insensitive widgets. (#358864, Jan Schampera)
2006-12-30  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkentry.c:
        * gtk/gtklabel.c:
        * gtk/gtkpaned.c:
        * gtk/gtkstatusbar.c:
        * gtk/gtktextview.c: Don't install cursors on insensitive
        widgets.  (#358864, Jan Schampera)

svn path=/branches/gtk-2-10/; revision=16984
2006-12-31 00:46:35 +00:00
Matthias Clasen
fa8e83c42c Don't die in an assertion if focus went missing. Just warn, clean up and
2006-12-29  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkentry.c (blink_cb):
        * gtk/gtktextview.c (blink_cb): Don't die in an assertion
        if focus went missing. Just warn, clean up and continue.
        (#374378)
2006-12-29 19:21:36 +00:00
Carlos Garnacho
4b9fdf8fcf return if the widget that originally received the event is a notebook
2006-12-29  Carlos Garnacho  <carlosg@gnome.org>

        * gtk/gtknotebook.c (gtk_notebook_scroll): return if the widget that
        originally received the event is a notebook page. (#315440, reported
        by Mateusz Stefek)
2006-12-29 19:12:51 +00:00
David Lodge
f5249206c5 Updated English (British) translation
2006-12-29  David Lodge <dave@cirt.net>

	* en_GB.po: Updated English (British) translation
2006-12-29 07:04:44 +00:00
Matthias Clasen
e72dd2d625 Only use the results of find_menu/toolbar_position() if they succeed. May
2006-12-28  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkuimanager.c (update_node): Only use the results
        of find_menu/toolbar_position() if they succeed. May fix
        bug #388041.
2006-12-28 21:17:22 +00:00
Tor Lillqvist
44db12e7ca Don't leak HICONs on Win32. (#364868, Hiroyuki Yamamoto)
2006-12-28  Tor Lillqvist  <tml@novell.com>

	* gtk/gtkstatusicon.c (gtk_status_icon_finalize)
	(gtk_status_icon_update_image): Don't leak HICONs on
	Win32. (#364868, Hiroyuki Yamamoto)
2006-12-28 16:35:01 +00:00
Matthias Clasen
6d2ffa0435 Close the io channel on unref. (#390159, Joe Markus Clarke)
2006-12-27  Matthias Clasen  <mclasen@redhat.com>

        * modules/printbackends/lpr/gtkprintbackendlpr.c
        (gtk_print_backend_lpr_print_stream): Close the io channel
        on unref.  (#390159, Joe Markus Clarke)
2006-12-28 04:24:30 +00:00
Tor Lillqvist
db65dc6f84 Implement gtk_status_icon_position_menu() on Windows. Keep track of where
2006-12-27  Tor Lillqvist  <tml@novell.com>

	* gtk/gtkstatusicon.c: Implement gtk_status_icon_position_menu()
	on Windows. Keep track of where the last button click on the
	taskbar icon took place, and return that. Obviously not correct if
	no button has ever been clicked on the icon, or if the geometry of
	the taskbar has changed since. But for most use cases where a menu
	is going to be displayed as a direct result of a button click on
	the status icon, works fine. (#377349)
2006-12-27 15:58:42 +00:00
Matthias Clasen
3f41594aef Accept NULL.
2006-12-27  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkcellview.c (gtk_cell_view_set_model): Accept NULL.

        * gtk/gtkcombobox.c (gtk_combo_box_set_model):
        (gtk_combo_box_unset_model): Handle repeated unsetting
        of models without warnings.  (#367529, Robert Ancell)
2006-12-27 07:14:39 +00:00
Matthias Clasen
42d669dced Use getters for http fields where available. (#364866, Björn Lindqvist)
2006-12-27  Matthias Clasen  <mclasen@redhat.com>

        * modules/printbackends/cups/gtkcupsutils.c:
        * modules/printbackends/cups/gtkprintbackendcups.c: Use
        getters for http fields where available.  (#364866,
        Björn Lindqvist)
2006-12-27 06:52:05 +00:00
Matthias Clasen
a040aa76b8 Add a g_return_if_fail. (#362614, Xan Lopez)
2006-12-27  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkwidget.c (gtk_widget_show): Add a g_return_if_fail.
        (#362614, Xan Lopez)
2006-12-27 06:44:09 +00:00
Matthias Clasen
c8f7fb02e4 If a required action is missing, don't recurse over the children.
2006-12-27  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkuimanager.c (update_node): If a required action
        is missing, don't recurse over the children.  (#349119,
        Chris Moller)
2006-12-27 06:36:06 +00:00
Matthias Clasen
17e04c2d90 Fix a few problems with nested menus in comboboxes (#386694, Yevgen
2006-12-17  Matthias Clasen  <mclasen@redhat.com>

        Fix a few problems with nested menus in comboboxes
        (#386694, Yevgen Muntyan)

        * gtk/gtkcombobox.c (gtk_combo_box_menu_fill_level): Always
        connect the activate callback.
        (gtk_combo_box_menu_item_activate): Do nothing if called on
        an item with a submenu.
        (gtk_combo_box_menu_row_deleted): Remove a submenu when it
        is empty.
2006-12-27 06:04:11 +00:00
Kristian Rietveld
53567b754e Merged from HEAD.
2006-12-26  Kristian Rietveld  <kris@gtk.org>

	Merged from HEAD.

	* gtk/gtktreeview.c (gtk_tree_view_search_init): fix typo causing
	the search dialog timeout never to be refreshed. (#389581,
	Andrzej Szombierski).
2006-12-26 18:18:35 +00:00
Christian Persch
811bb06548 Return the correct value from gtk_notebook_insert_page if the page-added
2006-12-26  Christian Persch  <chpe@cvs.gnome.org>

	* gtk/gtknotebook.c: (gtk_notebook_real_insert_page):
	Return the correct value from gtk_notebook_insert_page if the
	page-added handler reorders the tabs. Bug #345094.
2006-12-26 14:59:28 +00:00
Carlos Garnacho
2861291a26 Fix small regressions in GtkNotebook tab detaching. Bug #378852.
2006-12-26  Carlos Garnacho  <carlosg@gnome.org>

        Fix small regressions in GtkNotebook tab detaching. Bug #378852.

        * gtk/gtknotebook.c (gtk_notebook_do_arrow): grab focus to allow tabs
        scrolling when hovering with a detached tab.
        (gtk_notebook_stop_reorder): Do not deparent the wrong tab if the
        focus tab has changed during a tab DND operation.
        (gtk_notebook_drag_end): ensure that the dropped tab gets focused.
        (gtk_notebook_paint): do not take cur_page as a reference to paint the
        box if it's detached.
        (gtk_notebook_calculate_tabs_allocation): focus_tab may be different
        to the detached tab if we hover the arrows during a tabs detaching
        operation, do not allocate it unconditionally in 0,0.
2006-12-26 11:04:05 +00:00
Carlos Garnacho
e7d602a2a8 Expose improvements for GtkNotebook. Bug #383435
2006-12-26  Carlos Garnacho  <carlosg@gnome.org>

        Expose improvements for GtkNotebook. Bug #383435

        * gtk/gtknotebook.c (gtk_notebook_expose): propagate the event to tab
        labels.
        (gtk_notebook_draw_focus): do not repaint the whole focused tab again.
        (gtk_notebook_draw_tab): do not send handmade expose events to tab
        labels.
2006-12-26 10:33:27 +00:00
Matthias Clasen
316ff42f25 Avoid spurious redraws.
2006-12-26  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkrange.c (stop_scrolling): Avoid spurious
        redraws.
2006-12-26 06:50:27 +00:00
Christian Persch
bcccfb13b6 Fix mem leaks. Bug #389194.
2006-12-25  Christian Persch  <chpe@cvs.gnome.org>

	* gtk/gtkpagesetupunixdialog.c: (printer_status_cb),
	(add_custom_paper): Fix mem leaks. Bug #389194.
2006-12-25 12:03:25 +00:00
Guntupalli Karunakar
3d3dcfb761 Fix translation bug #389296 2006-12-25 05:02:21 +00:00
Matthias Clasen
46394d0631 Improve the DND scrolling behaviour. (#92387, Carlos Garnacho Parro)
2006-12-24  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtktextview.c: Improve the DND scrolling
        behaviour.  (#92387, Carlos Garnacho Parro)
2006-12-25 02:54:07 +00:00
Djihed Afifi
db4f2f6080 Updated Arabic Translation. 2006-12-24 17:59:18 +00:00
Bastien Nocera
6b7b50e6e0 Fix typo (s/expansive/expensive) (#389183)
2006-12-24  Bastien Nocera  <hadess@hadess.net>

        * gtk/gtkrecentmanager.c: Fix typo (s/expansive/expensive)
	(#389183)
2006-12-24 15:57:51 +00:00
Carlos Garcia Campos
5e1f733d75 Don't ignore reverse portrait option when is selected in page setup
2006-12-24  Carlos Garcia Campos  <carlosgc@gnome.org>
	* gtk/gtkpagesetupunixdialog.c: Don't ignore reverse portrait option
	when is selected in page setup dialog. Fixes bug #365047.
2006-12-24 11:29:54 +00:00
Matthias Clasen
198d225950 When shift-clicking, keep the larger part of the selection selected.
2006-12-24  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkentry.c (gtk_entry_button_press): When
        shift-clicking, keep the larger part of the selection
        selected.  (#353709, Benjamin Otte)
2006-12-24 06:33:36 +00:00
Matthias Clasen
a12c1d3e1f Be more careful when faking a button release. (#323146, Travis Abbott)
2006-12-24  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkbutton.c (gtk_button_grab_notify): Be more
        careful when faking a button release.  (#323146,
        Travis Abbott)
2006-12-24 06:04:32 +00:00
Matthias Clasen
a98ecdfb4c Draw the handle with the right orientation, depending on the position of
2006-12-24  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkhandlebox.c (draw_textured_frame): Draw the
        handle with the right orientation, depending on the
        position of the handlebox.  (#159764, Benjamin Berg)
2006-12-24 05:36:29 +00:00
Matthias Clasen
f58038c88f Emit changed and notify:text only once. The same fix was applied for
2006-12-24  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkentry.c (gtk_entry_set_text): Emit changed
        and notify:text only once. The same fix was applied
        for replacing the selection via DND or copy-and-paste.
        (#64998, Damon Chaplin, Sven Herzberg)
2006-12-24 05:15:48 +00:00
Matthias Clasen
078dcb6fe1 Be careful to not override GTK+ translations with the translations of the
2006-12-23  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkimmulticontext.c: Be careful to not override
        GTK+ translations with the translations of the input
        method.  (#317080, Tor Lillqvist)
2006-12-23 21:23:58 +00:00
Matthias Clasen
113e639550 Allow composing l with stroke. (#349638, Daniel Lublin)
* gtk/gtkimcontextsimple.c: Allow composing l with
        stroke.  (#349638, Daniel Lublin)
2006-12-23 21:09:55 +00:00
Matthias Clasen
6b494f476b Fix a thinko in the suffix calculation. (#382369, Christian Persch)
2006-12-23  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gen-paper-names.c: Fix a thinko in the suffix
        calculation.  (#382369, Christian Persch)

        * gtk/paper_names_offsets.c: Regenerated.
2006-12-23 20:59:41 +00:00
Djihed Afifi
d2c46f9c95 Updated Arabic Translation. 2006-12-23 20:30:36 +00:00
Matthias Clasen
51d3b8dce3 Move G_GNUC_INTERNAL before function declarations. (#352276, Damien
2006-12-22  Matthias Clasen  <mclasen@redhat.com>

        * modules/engines/pixbuf/pixbuf.h:
        * modules/engines/pixbuf/pixbuf-rc-style.h:
        * modules/engines/pixbuf/pixbuf-style.h: Move
        G_GNUC_INTERNAL before function declarations.  (#352276,
        Damien Carbery)
2006-12-23 03:36:38 +00:00
Matthias Clasen
38056de0ae Fix some leaks. (#348108, Chris Wilson)
2006-12-22  Matthias Clasen  <mclasen@redhat.com>

        * demos/gtk-demo/*.c: Fix some leaks.  (#348108, Chris
        Wilson)
2006-12-22 22:09:26 +00:00
Matthias Clasen
be9aef056c Check for getc_unlocked.
2006-12-22  Matthias Clasen  <mclasen@redhat.com>

        * configure.in: Check for getc_unlocked.

        * gtk/xdgmime/xdgmimemagic.c: Use getc if getc_unlocked is
        unavailable.   (#381499)
2006-12-22 16:19:54 +00:00
Djihed Afifi
a281fbb398 Updated Arabic Translation. Translation by Ahmad Farghal and Khaled Hosny 2006-12-22 09:54:19 +00:00
Matthias Clasen
d13987b8f6 Don't leak draw_border. (#387170, Kjartan Maraas)
2006-12-22  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkwidget.c (gtk_widget_get_draw_rectangle): Don't
        leak draw_border.  (#387170, Kjartan Maraas)
2006-12-22 06:28:13 +00:00
Matthias Clasen
fc478c3bd8 Handle bmps with more than 8 bits per channel. (#172584, David Costanzo)
2006-12-22  Matthias Clasen  <mclasen@redhat.com>

        * io-bmp.c (decode_bitmasks): Handle bmps
        with more than 8 bits per channel.  (#172584,
        David Costanzo)
2006-12-22 06:16:55 +00:00
Matthias Clasen
916cc01caa Handle offsets more carefully. (#172188, David Costanzo)
2006-12-22  Matthias Clasen  <mclasen@redhat.com>

        * io-bmp.c: Handle offsets more carefully. (#172188,
        David Costanzo)

        * io-bmp.c: Handle v5 and OS/2 v2 bmps.

        * io-bmp.c: Handle alpha masks in v4 and v5 bmps.
2006-12-22 06:00:17 +00:00
Matthias Clasen
660b45b988 Emit the closed signal when closing the loader, pointed out by David
2006-12-21  Matthias Clasen  <mclasen@redhat.com>

        * gdk-pixbuf-loader.c (gdk_pixbuf_loader_write): Emit
        the closed signal when closing the loader, pointed out
        by David Nečas.
2006-12-22 03:11:30 +00:00
Matthias Clasen
6a3479037a Handle invalid gif animations a little bit more robustly. (#357974,
2006-12-21  Matthias Clasen  <mclasen@redhat.com>

        * io-gif.c (gif_get_lzw): Handle invalid gif animations
        a little bit more robustly.  (#357974, Vassilis Pandis,
        patch by Felix Riemann)
2006-12-21 23:10:51 +00:00
Matthias Clasen
f135f99ce0 Remove redundant size checks, and document that width, height must be > 0.
2006-12-21  Matthias Clasen  <mclasen@redhat.com>

        * gdk-pixbuf-data.c (gdk_pixbuf_new_from_data):
        * gdk-pixbuf.c (gdk_pixbuf_new): Remove redundant size
        checks, and document that width, height must be > 0.
2006-12-21 20:37:44 +00:00
Matthias Clasen
67baa8188b Link against GLib. (#341158, Alexey Rusakov)
2006-12-21  Matthias Clasen  <mclasen@redhat.com>

        * Makefile.am: Link against GLib.  (#341158, Alexey Rusakov)
2006-12-21 16:59:21 +00:00
Matthias Clasen
fce09ac1be Typo fix. (#388123, Murray Cumming)
2006-12-21  Matthias Clasen  <mclasen@redhat.com>

         * gtk/gtkfilechooserembed.c (_gtk_file_chooser_embed_set_delegate()):
        Typo fix.  (#388123, Murray Cumming)
2006-12-21 16:49:43 +00:00
Matthias Clasen
e23b9104be Generate double-click events. (#380421, Tommi Komulainen)
* gdk/x11/gdkinput-x11.c (_gdk_input_common_other_event):
        Generate double-click events.  (#380421, Tommi Komulainen)
2006-12-21 16:32:44 +00:00
Matthias Clasen
f4c0231b44 Correct return_if_fail checks. (#379803, Tommi Komulainen)
* gdk/x1/gdkinput-xfree.c (_gdk_input_configure_event):
        (_gdk_input_enter_event): Correct return_if_fail checks.
        (#379803, Tommi Komulainen)
2006-12-21 16:27:37 +00:00
Matthias Clasen
07634150a8 Improve docs. (#353438, Mariano Suárez-Alvarez)
* gdk/gdkdisplay.c (gdk_display_beep): Improve docs.
        (#353438, Mariano Suárez-Alvarez)
2006-12-21 16:18:56 +00:00
Matthias Clasen
507f1c5620 Add signal documentation. (#317064, Søren Wedel Nielsen)
2006-12-20  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtktextbuffer.c: Add signal documentation.  (#317064,
        Søren Wedel Nielsen)
2006-12-20 21:17:51 +00:00
Matthias Clasen
a2f2335b3c Silently return if a drag is already in progress, rather than asserting.
2006-12-20  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtktextview.c (gtk_text_view_start_selection_drag):
        Silently return if a drag is already in progress, rather
        than asserting.  (#335622, Li Yuan, testcase by Erwann Chenede)
2006-12-20 20:55:37 +00:00
Matthias Clasen
754063e465 Allow any GtkDialog that implements GtkFileChooser as dialog. (#335473,
2006-12-20  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkfilechooserbutton.c (gtk_file_chooser_button_new_with_dialog):
        Allow any GtkDialog that implements GtkFileChooser as
        dialog.  (#335473, Tommi Komulainen)
2006-12-20 19:02:50 +00:00
Felix I
7f98725ec8 Gnome gtk+ file corrected and updated 2006-12-20 10:19:16 +00:00
Matthias Clasen
466d95138d Add a tooltip explaining the format of page ranges, and improve the page
2006-12-19  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkprintunixdialog.c: Add a tooltip explaining the
        format of page ranges, and improve the page sequence icon
        for the case of n_copies == 1.
2006-12-20 05:11:10 +00:00
Matthias Clasen
67b34c7a59 silence gdk_pixbuf_loader_close 2006-12-19 20:43:09 +00:00
Alessio Frusciante
5ba73b21ae Updated Italian translation. 2006-12-19 07:06:51 +00:00
Josep Puigdemont i Casamajó
5e4035595f Updated Catalan translation. 2006-12-19 06:40:26 +00:00
Amitakhya Phukan
eaf86d78bb updated assamese translation 2006-12-18 06:16:01 +00:00
Adam Weinberger
3089bf69e5 Updated Canadian English translation.
2006-12-17  Adam Weinberger  <adamw@gnome.org>

	* en_CA.po: Updated Canadian English translation.
2006-12-17 19:39:40 +00:00
Gabor Kelemen
8fb2838e19 Translation updated.
2006-12-17  Gabor Kelemen  <kelemeng@gnome.hu>

	* hu.po: Translation updated.
2006-12-17 13:26:14 +00:00
Tristan Van Berkom
9492ce6045 Fixed a bug in set_property() (setting "window-placement-set" could result
* gtk/gtkscrolledwindow.c: Fixed a bug in set_property()
	(setting "window-placement-set" could result in a crash because
	of boolean/enum mixup)
2006-12-16 20:38:10 +00:00
Djihed Afifi
f7a47e6f96 Updated Arabic Translation. 2006-12-15 20:59:34 +00:00
Federico Mena Quintero
741f8d21dc Don't try to optimize for the case where the new title is the same as the
2006-12-15  Federico Mena Quintero  <federico@novell.com>

	* gtk/gtkmenu.c (gtk_menu_set_title): Don't try to optimize for
	the case where the new title is the same as the old title, to
	preserve the behavior from GTK+ 2.8 (NULL and "" titles are not
	equivalent).  Handle the case where title == priv->title.  This
	was found by the LSB compatibility tests:
	https://bugzilla.novell.com/show_bug.cgi?id=223882

2006-12-14  Ankit Patel  <ankit644@yahoo.com>
2006-12-15 20:09:13 +00:00
Gabor Kelemen
7f92b2662f Translation updated.
2006-12-15  Gabor Kelemen  <kelemeng@gnome.hu>

	* hu.po: Translation updated.
2006-12-15 16:11:32 +00:00
Francisco Javier F. Serrador
fb9ae62626 Updated Spanish translation.
2006-12-15  Francisco Javier F. Serrador  <serrador@openshine.com>

	* es/es.po: Updated Spanish translation.
2006-12-14 23:19:56 +00:00
Kjartan Maraas
fc1fbaeb42 Add stub since this is missing and breaking the build 2006-12-14 14:16:55 +00:00
Ankitkumar Rameshchandra Patel
63d7cd1ae9 Added sinhala translation on behalf of Tyronne 2006-12-14 13:43:44 +00:00
Carlos Garnacho
e982a87be8 draw arrows pointing to the right correctly placed inside their GdkWindow.
2006-12-14  Carlos Garnacho  <carlosg@gnome.org>

        * gtk/gtkcalendar.c: draw arrows pointing to the right correctly
        placed inside their GdkWindow. Bug #385672.
2006-12-14 13:16:47 +00:00
Rahul Bhalerao
a833049e4a Updated Marathi Translation 2006-12-14 06:29:24 +00:00
Subhransu Behera
c7cf2e7f66 Updated Oriya Translation 2006-12-14 06:22:02 +00:00
Amitakhya Phukan
99c5433698 added assamese translation 2006-12-14 06:07:17 +00:00
Dom Lachowicz
c75bf4a1d7 Bug 351679 - Notebooks drawn with extra line below tab in MS-Windows
2006-12-13  Dom Lachowicz <domlachowicz@gmail.com>

	* src/modules/engines/ms-windows/msw_style.c: Bug 351679 - Notebooks
	drawn with extra line below tab in MS-Windows theme. Patch by
	Cody Russell
2006-12-14 02:09:12 +00:00
Rahul Bhalerao
08afc3b312 Updated Marathi Translation 2006-12-13 16:27:42 +00:00
Subhransu Behera
00c3b45902 Updated Oriya Translation 2006-12-13 14:25:03 +00:00
Amanpreet Singh Alam
e3fc745939 update translation for Punjabi (Gurmukhi) by apbrar gmail com 2006-12-13 07:50:34 +00:00
Runa Bhattacharjee
54622f65fe Added Entry for Bengali India Translation Updation 2006-12-13 04:05:16 +00:00
Runa Bhattacharjee
705b81f415 Updated Bengali India Translation 2006-12-13 04:04:52 +00:00
Rajesh Ranjan
a158f66670 Updated Translation 2006-12-12 11:34:29 +00:00
Jovan Naumovski
294f794445 2006-12-12 Jovan Naumovski <jovanna@cvs.gnome.org> *mk.po: Updated Macedonian translation 2006-12-12 11:08:03 +00:00
Daniel Nylander
1239da0ac0 Updated Swedish translation.
2006-12-12  Daniel Nylander <po@danielnylander.se>

	* sv.po: Updated Swedish translation.
2006-12-12 08:07:32 +00:00
Runa Bhattacharjee
6941c09946 Added Entry for Bengali India Translation Updation 2006-12-12 07:46:25 +00:00
Runa Bhattacharjee
0c8b37f9af Updated Bengali India Translation 2006-12-12 07:46:08 +00:00
Ankitkumar Rameshchandra Patel
b6fc39dcbd Updated Gujarati Translations 2006-12-12 07:33:39 +00:00
Rajesh Ranjan
7cfb9a26ce Updated Translation 2006-12-12 07:23:52 +00:00
Rajesh Ranjan
1c994d2862 Updated Translation 2006-12-12 07:23:20 +00:00
Runa Bhattacharjee
bda8b20d88 Added Entry for Bengali India Translation Updation 2006-12-12 05:26:46 +00:00
Runa Bhattacharjee
b5220ef931 Updated Bengali India Translation:12/12 2006-12-12 05:23:34 +00:00
Vincent van Adrighem
3091ba8857 Translation updated by Tino Meinen.
2006-12-05  Vincent van Adrighem  <adrighem@gnome.org>

	* nl.po: Translation updated by Tino Meinen.
2006-12-11 19:29:04 +00:00
Matthias Clasen
769c845d95 Be more careful when overdrawing antialiased text. (#352435, Alex Jones,
2006-12-11  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkprogressbar.c (gtk_progress_bar_paint_text): Be more
        careful when overdrawing antialiased text.  (#352435, Alex Jones,
        patch by Benjamin Otte)
2006-12-11 15:23:24 +00:00
Rajesh Ranjan
8f17636f84 Updated Translation 2006-12-11 12:41:37 +00:00
Rajesh Ranjan
ed6009324e Updated Translation 2006-12-11 12:41:01 +00:00
Kjartan Maraas
b8b82e07df Update some. Updated Norwegian bokmål translation.
2006-12-11  Kjartan Maraas  <kmaraas@gnome.org>

	* POTFILES.in: Update some.
	* nb.po: Updated Norwegian bokmål translation.
2006-12-11 11:25:25 +00:00
Ankitkumar Rameshchandra Patel
6c63fc72d5 Updated Translation 2006-12-11 10:51:01 +00:00
Kjartan Maraas
7abcb08b71 Updated Norwegian bokmål translation.
2006-12-11  Kjartan Maraas  <kmaraas@gnome.org>

	* nb.po: Updated Norwegian bokmål translation.
2006-12-11 07:51:09 +00:00
Matthias Clasen
3541830336 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:14:45 +00:00
Felix I
9cd4e34be9 Gtk+ module for tamil in gnome updated 2006-12-11 06:11:59 +00:00
Ani Peter
01f24bbe19 Updated Malayalam translation 2006-12-11 05:18:44 +00:00
Matthias Clasen
d7f7046a5c Properly pass multi-value options to cups. (#355350, Jürg Billeter)
2006-12-10  Matthias Clasen  <mclasen@redhat.com>

        * modules/printbackends/cups/gtkcupsutils.c (gtk_cups_request_encode_option):
        Properly pass multi-value options to cups.  (#355350, Jürg Billeter)
2006-12-11 04:01:44 +00:00
Andre Klapper
4b223186ea committing Michael Natterer's patch for HEAD (committed 2006-09-04) also
2006-12-10  Andre Klapper  <a9016009@gmx.de>

	* hy.po: committing Michael Natterer's patch for HEAD (committed
        2006-09-04) also to gtk-2-10 branch. Fixes bug #377204.
2006-12-10 19:49:11 +00:00
Daniel Nylander
043a19bfb1 Updated Swedish translation.
2006-12-10  Daniel Nylander <po@danielnylander.se>

	* sv.po: Updated Swedish translation.
2006-12-10 18:33:10 +00:00
Matthias Clasen
dd67027b32 Check for crt_extern.h and _NSGetEnviron. Fix compilation on Darwin where
2006-12-10  Matthias Clasen  <mclasen@redhat.com>

        * configure.in: Check for crt_extern.h and _NSGetEnviron.
        * gdk/x11/gdkspawn-x11.c: Fix compilation on Darwin where
        environ is not available.  (#384168, Min Sik Kim)
2006-12-10 06:29:05 +00:00
Matthias Clasen
9460c56aed Fix gdk_pixbuf_loader_write error handling 2006-12-10 04:24:28 +00:00
Jovan Naumovski
4bc1b4036f 2006-12-09 Jovan Naumovski <jovanna@cvs.gnome.org> *mk.po: Updated Macedonian translation 2006-12-09 16:35:45 +00:00
Ilkka Tuohela
0790613866 Updated Finnish Translation 2006-12-09 03:49:41 +00:00
Francisco Javier F. Serrador
94d04f979b Updated Spanish translation.
2006-12-08  Francisco Javier F. Serrador  <serrador@openshine.com>

	* es.po: Updated Spanish translation.
2006-12-08 20:39:56 +00:00
Amanpreet Singh Alam
d19337b53c update translation for Punjabi (Gurmukhi) by apbrar gmail com 2006-12-08 10:53:41 +00:00
Paolo Maggi
7395fdc7b3 Fixes bug #383407
2006-12-07  Paolo Maggi  <paolo@gnome.org>

	Fixes bug #383407

	* gtk/gtkentry.c (gtk_entry_set_text): check for
	completion->priv->changed_id > 0 before calling
	g_signal_handler_[un]block.
	(gtk_entry_completion_key_press): does not block/unblock the
"changed"
	signal before calling gtk_entry_set_text.
2006-12-07 16:55:03 +00:00
Matthias Clasen
7f5d798a20 Fix clipping of accelerator underlines 2006-12-07 14:38:59 +00:00
Ankitkumar Rameshchandra Patel
7aa1b22051 Updated Translation 2006-12-07 06:41:21 +00:00
Matthias Clasen
bb82172ae9 better sensitivity updates in the print dialog 2006-12-06 14:56:41 +00:00
Theppitak Karoonboonyanan
cc6aea1005 Replace modules/input/imthai-broken.c with imthai.c. Updated Thai
2006-12-06  Theppitak Karoonboonyanan  <thep@linux.thai.net>

	* POTFILES.in: Replace modules/input/imthai-broken.c with imthai.c.
	* th.po: Updated Thai translation.
2006-12-06 14:56:09 +00:00
Felix I
3e7d132880 gtk+ translation corrected and updated 2006-12-05 10:32:01 +00:00
Rahul Bhalerao
61df6d30bc Updated Marathi translation 2006-12-05 08:09:01 +00:00
Rajesh Ranjan
660b5b2cac Updated Translation 2006-12-05 08:03:05 +00:00
Rajesh Ranjan
93c054a31d Updated Translation 2006-12-05 08:02:33 +00:00
Rajesh Ranjan
81ce2f42bd Updated Translation 2006-12-05 07:54:44 +00:00
Rajesh Ranjan
a2fc284631 Updated Translation 2006-12-05 07:54:14 +00:00
Rajesh Ranjan
b693be6fc9 Updated Translation 2006-12-05 07:48:54 +00:00
Rajesh Ranjan
54c8982ae4 Updated Translation 2006-12-05 07:48:18 +00:00
Christian Persch
84995c213e Don't leak the old page size when setting a new one. Bug #382314.
2006-12-04  Christian Persch  <chpe@cvs.gnome.org>

	* gtk/gtkpagesetup.c: (gtk_page_setup_get_paper_size),
	(gtk_page_setup_set_paper_size): Don't leak the old page size when
	setting a new one. Bug #382314.
2006-12-04 17:56:22 +00:00
Matthias Clasen
05a9fd07a4 Fix an a11y regression in message dialogs 2006-12-04 17:53:30 +00:00
Kristian Rietveld
6a6c34ab63 Merge from HEAD.
2006-12-03  Kristian Rietveld  <kris@gtk.org>

	Merge from HEAD.

	* gtk/gtktreeview.c (validate_visible_area): when not using an
	explicit alignment, use the full area of the row (not just dy)
	to determine how to implicitly align it.  (Fixes #363191, reported
	by Federico Mena Quintero).
2006-12-03 15:36:02 +00:00
Matthias Clasen
ed7c79ad30 Fix a crash with icon themes 2006-12-02 19:47:40 +00:00
Dom Lachowicz
446c67c19f Bug 351678 - Notebooks not with PositionType.Top drawn incorrectly. Patch
2006-12-02  Dom Lachowicz <domlachowicz@gmail.com>

	* src/modules/engines/ms-windows/msw_style.c: Bug 351678 - Notebooks
	not with PositionType.Top drawn incorrectly. Patch by Cody Russell
2006-12-02 16:35:40 +00:00
Djihed Afifi
b3e330454e Updated Arabic Translation. 2006-12-01 11:08:29 +00:00
Behdad Esfahbod
afed8ee147 Remove the broken Thai input method and add a functional Thai and Lao
2006-11-28  Behdad Esfahbod  <behdad@gnome.org>

        Remove the broken Thai input method and add a functional Thai and Lao
        input method by Theppitak Karoonboonyanan. (#81031)

        * modules/input/imthai.c:
        * modules/input/gtkimcontextthai.c:
        * modules/input/gtkimcontextthai.h:
        * modules/input/thai-charprop.c:
        * modules/input/thai-charprop.h:
        Added.

        * modules/input/imthai-broken.c:
        Removed.

        * modules/input/Makefile.am:
        Updated.
2006-11-29 19:48:05 +00:00
Benjamin Berg
08bd23daa1 Protect against NULL widget. (#379503)
2006-11-26  Benjamin Berg  <benjamin@sipsolutions.net>

	* gtk/gtkstyle.c: (gtk_default_draw_flat_box): Protect against NULL
	  widget. (#379503)
2006-11-26 19:42:15 +00:00
Laurent Dhima
d7a270020f Updated Albanian Translation.
* sq.po: Updated Albanian Translation.
2006-11-25 17:25:53 +00:00
Matthias Clasen
c2d702d625 fix a problem in the cups backend 2006-11-25 05:11:02 +00:00
Djihed Afifi
34ccc9a06d Updated Arabic Translation. Updated + QA'ed 2006-11-24 14:08:53 +00:00
Emmanuele Bassi
f42718d6fd g_filename_from_uri() might fail; catch the failure and fall back to the
2006-11-22  Emmanuele Bassi  <ebassi@gnome.org>

	* gtk/gtkrecentmanager.c:
	(get_uri_shortname_for_display): g_filename_from_uri() might
	fail; catch the failure and fall back to the non-local URI
	case. (#363437)
2006-11-22 09:14:08 +00:00
Pawan Chitrakar
2bc2998344 Updated Nepali Translation 2006-11-21 06:38:54 +00:00
Matic Zgur
c855572421 Updated Slovenian translation.
2006-11-19  Matic Zgur  <mr.zgur@gmail.com>

	* sl.po: Updated Slovenian translation.
2006-11-19 19:35:42 +00:00
Duarte Loreto
af9968364c Updated Portuguese translation.
2006-11-19  Duarte Loreto <happyguy_pt@hotmail.com>

	* pt.po: Updated Portuguese translation.
2006-11-19 16:51:10 +00:00
Yair Hershkovitz
939538409f updated hebrew translation 2006-11-19 16:08:48 +00:00
Djihed Afifi
729c2cfa0a Updated Arabic Translation. 2006-11-19 15:56:24 +00:00
Djihed Afifi
d0457e6224 Updated Arabic Translation. QA'ed by Khaled Hosny 2006-11-18 20:38:24 +00:00
Matic Zgur
78d6672c1d Updated Polish translation by GNOME PL Team.
2006-11-18  Matic Zgur  <mr.zgur@gmail.com>

	* pl.po: Updated Polish translation by GNOME PL Team.
2006-11-18 18:52:10 +00:00
Matthias Clasen
1fc4da804f Fix problems with drag cancellation. (#376535, Michael Natterer)
2006-11-17  Matthias Clasen  <mclasen@redhat.com>

        Fix problems with drag cancellation. (#376535, Michael Natterer)

        * gtk/gtkdnd.c (gtk_drag_source_info_destroy): Disconnect signal
        handlers before emitting drag-end.
        (gtk_drag_end): Disconnect signal handlers before removing
        the grab.
2006-11-18 04:44:11 +00:00
Mariano Suárez-Alvarez
8ad2314da3 add gtk-doc blurb on GtkCellRendererText::edited (#376094)
2006-11-16  Mariano Suárez-Alvarez <mariano@gnome.org>

	* gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_class_init):
	add gtk-doc blurb on GtkCellRendererText::edited (#376094)
2006-11-16 21:25:32 +00:00
Emmanuele Bassi
38fbbaad72 Apply the tip only if we have a displayable name for the item. (#365031,
2006-11-16  Emmanuele Bassi  <ebassi@gnome.org>

	* gtk/gtkrecentchoosermenu.c:
	(gtk_recent_chooser_menu_add_tip): Apply the tip only
	if we have a displayable name for the item. (#365031,
	patch by padraig.obriain(at)sun.com)
2006-11-16 10:13:01 +00:00
Emmanuele Bassi
165b491846 Provide a fast path returning NULL when the limit is set to 0.
2006-11-16  Emmanuele Bassi  <ebassi@gnome.org>

	* gtk/gtkrecentmanager.c: Provide a fast path returning
	NULL when the limit is set to 0.

	* gtk/gtkrecentchooserdefault.c:
	* gtk/gtkrecentchoosermenu.c: Add the same fast path
	inside the RecentChooser implementation; add a check
	in the list clamping code. (#373466 and duplicates)
2006-11-16 09:34:53 +00:00
Djihed Afifi
9903b0e10a Updated Arabic Translation. 2006-11-15 20:25:18 +00:00
Matthias Clasen
46e22ea38e Don't pass NULL to strncpy. (#359537, patch by Carlos Garcia Campos)
2006-11-15  Matthias Clasen  <mclasen@redhat.com>

	* modules/printbackends/cups/gtkprintbackendcups.c (cups_printer_get_options):
	Don't pass NULL to strncpy.  (#359537, patch by  Carlos Garcia Campos)
2006-11-15 19:35:49 +00:00
Djihed Afifi
bf48fd123d Updated Arabic Translation. 2006-11-15 00:49:36 +00:00
Behdad Esfahbod
f71c706e82 Make libtool magic robust. (#352795)
2006-11-14  Behdad Esfahbod  <behdad@gnome.org>

        * configure.in: Make libtool magic robust. (#352795)
2006-11-14 20:07:29 +00:00
Paolo Borelli
114d36203e plug small memory leak (#370395)
2006-11-13  Paolo Borelli  <pborelli@katamail.com>

	* gtk/gtkrc.c (gtk_rc_parse_icon_source): plug small memory
	leak (#370395)
2006-11-13 20:05:35 +00:00
Priit Laes
0e43758a99 Translation updated by Ivar Smolin.
2006-11-12  Priit Laes  <plaes@cvs.gnome.org>

	* et.po: Translation updated by Ivar Smolin.
2006-11-12 08:37:23 +00:00
Djihed Afifi
5ad70e6ebe Updated Arabic Translation. 2006-11-11 12:46:33 +00:00
Kristian Rietveld
c402e38fb2 Merge from HEAD.
2006-11-09  Kristian Rietveld  <kris@imendio.com>

	Merge from HEAD.

	* gtk/gtktreeview.c (gtk_tree_view_move_cursor_up_down): disable
	don't move cursor case for SELECTION_NONE. (#371756, John Ellis).
2006-11-09 17:11:30 +00:00
Carlos Garnacho
3a00093197 Fix parenthesis confusion.
2006-11-09  Carlos Garnacho  <carlosg@gnome.org>

        * gtk/gtkpathbar.c (on_slider_unmap): Fix parenthesis confusion.
2006-11-09 16:54:29 +00:00
Carlos Garnacho
6ffcb87abd added, do not leave the scroll timeout running if the slider buttons are
2006-11-08  Carlos Garnacho  <carlosg@gnome.org>

        * gtk/gtkpathbar.c (on_slider_unmap): added, do not leave the scroll
        timeout running if the slider buttons are hidden. (#372527)
2006-11-08 19:49:29 +00:00
Carlos Garnacho
a76975388a make non-focused tabs xthickness/ythickness thinner. (#353962)
2006-11-07  Carlos Garnacho  <carlosg@gnome.org>

        * gtk/gtknotebook.c (gtk_notebook_calculate_tabs_allocation): make
        non-focused tabs xthickness/ythickness thinner. (#353962)
2006-11-07 16:57:16 +00:00
Paolo Borelli
abffc3be79 avoid memory corruption (#357050).
2006-11-07  Paolo Borelli  <pborelli@katamail.com>

	* gtk/gtktextbtree.c (_gtk_text_btree_delete): avoid memory
	corruption (#357050).
2006-11-07 15:41:13 +00:00
Alexander Larsson
54d50a276d Cancel drag when the grab is shadowed. (#122688)
2006-11-06  Alexander Larsson  <alexl@redhat.com>

	* gtk/gtkdnd.c: (gtk_drag_begin_internal),
	(gtk_drag_source_info_destroy), (gtk_drag_end),
	(gtk_drag_grab_notify_cb):
	Cancel drag when the grab is shadowed. (#122688)
2006-11-06 17:15:52 +00:00
Priit Laes
6436dd8fab Translation updated by Ivar Smolin.
2006-11-05  Priit Laes  <plaes@cvs.gnome.org>

	* et.po: Translation updated by Ivar Smolin.
2006-11-05 08:55:23 +00:00
Yair Hershkovitz
defcd18bb2 updated hebrew translation 2006-11-04 19:08:44 +00:00
Christophe Merlet
8115123e21 Updated French translation. 2006-11-02 11:47:47 +00:00
Priit Laes
c1a26cf778 Translation updated by Ivar Smolin.
2006-11-01  Priit Laes  <plaes@cvs.gnome.org>

	* et.po: Translation updated by Ivar Smolin.
2006-11-01 17:25:37 +00:00
Kristian Rietveld
c01b67e37a Merge from HEAD
2006-10-30  Kristian Rietveld  <kris@gtk.org>

	Merge from HEAD

	* gtk/gtktreeview.c (gtk_tree_view_move_cursor_page_up_down): don't
	forget to queue a draw for the new cursor node. (Fixes #366548,
	reported by Sven Herzberg).
2006-10-30 22:08:41 +00:00
Michael Natterer
f4373f4696 Merge from HEAD
2006-10-30  Michael Natterer  <mitch@imendio.com>

	Merge from HEAD

	* gtk/gtkrange.c (gtk_range_key_press): consume the Escape key
	only if we actually cancel a drag. Fixes bug #58389.
2006-10-30 13:43:10 +00:00
Kristian Rietveld
7afe19b46a Merge from HEAD
2006-10-30  Kristian Rietveld  <kris@gtk.org>

	Merge from HEAD

	* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_update_button): draw
	the indicator if the column has a sort column id (and the model is
	sortable) or if the user explicitly requested the indicator
	to be shown.  (Fixes #352738, Chris Vine).
2006-10-30 12:27:41 +00:00
Kristian Rietveld
f3aa436d78 Merge from HEAD
2006-10-29  Kristian Rietveld  <kris@gtk.org>

	Merge from HEAD

	* gtk/gtktreeview.c (gtk_tree_view_real_expand_row): guard against
	child removal in row-expanded callback. (#366782, John Ellis).
2006-10-29 15:51:31 +00:00
Kristian Rietveld
cf2cb36329 Merge from HEAD
2006-10-28  Kristian Rietveld  <kris@gtk.org>

	Merge from HEAD

	* gtk/gtktreeview.c (gtk_tree_view_scroll_to_cell): if the tree view
	has already been realized; scroll to background area instead of
	cell area. (Fixes #330683, Johan Dahlin, Tommi Komulainen).
2006-10-29 15:27:19 +00:00
Kristian Rietveld
3088eb6584 Merge from HEAD
2006-10-28  Kristian Rietveld  <kris@gtk.org>

	Merge from HEAD

	* gtk/gtktreeview.c (gtk_tree_view_set_grid_lines): only attempt
	to create the GCs if the widget is realized. (Fixes #357578).
2006-10-29 15:23:35 +00:00
Kristian Rietveld
c8decbce3c Merge from HEAD.
2006-10-28  Kristian Rietveld  <kris@imendio.com>

	Merge from HEAD.

	2006-09-15  Michael Natterer  <mitch@imendio.com>

	* gtk/gtktreeview.c (gtk_tree_view_key_press): refactored column
	header navigation/resizing/reordering to be more readable and lose
	one level of nesting.

	2006-09-15  Kristian Rietveld  <kris@imendio.com>

	* gtk/gtktreeview.c (gtk_tree_view_key_press): actually directly
	return after handling column button focus; we disable wrap around
	with this (which actually happened via a really weird code path).
	(Michael Natterer)

	2006-09-15  Kristian Rietveld  <kris@imendio.com>

	* gtk/gtktreeview.c (gtk_tree_view_key_press): make column resizing
	code RTL aware, also break from the loops after we have seen the
	focussed column button (Michael Natterer).
2006-10-29 15:19:04 +00:00
Tor Lillqvist
630e2087ab Improve handling of the small icon of the window class. (#152620, Kazuki
2006-10-29  Tor Lillqvist  <tml@novell.com>

	* gdk/win32/gdkwindow-win32.c (RegisterGdkClass): Improve handling
	of the small icon of the window class. (#152620, Kazuki Iwamoto)
2006-10-29 00:10:58 +00:00
Tor Lillqvist
fcdff95011 Implement for B&W cursors, for instance the built-in GDK ones.
2006-10-29  Tor Lillqvist  <tml@novell.com>

	* gdk/win32/gdkcursor-win32.c
	(gdk_win32_icon_to_pixbuf_libgtk_only): Implement for B&W cursors,
	for instance the built-in GDK ones.
2006-10-29 00:09:25 +00:00
Tor Lillqvist
125c0281e7 pixbufloader_*.def Remove pixbufloader_*.def, they are not used. (#365388)
2006-10-29  Tor Lillqvist  <tml@novell.com>

	* pixbufloader_*.def
	* Makefile.am (EXTRA_DIST): Remove pixbufloader_*.def, they are
	not used. (#365388) They were all identical, and exported just two
	symbols, so if somebody needs them for a MSVC build that doesn't
	use built-in modules it's trivial to hack makefile.msc to produce
	a common .def file for the loaders. The two symbols that need to
	be exported are fill_info and fill_vtable.
2006-10-28 23:27:33 +00:00
Kristian Rietveld
30f4d86da4 Merge from HEAD.
2006-10-27  Kristian Rietveld  <kris@gtk.org>

	Merge from HEAD.

	* gtk/gtktreeview.c (validate_visible_area): rework the area_above == 0
	case to not overwrite the variables in the lower scope (which are
	used later on ...), get the path correctly and bail out when there
	isn't a node above us. (#359231).
2006-10-27 20:02:17 +00:00
Christian Persch
90e4cf03ff Put initial focus on Close button (#337261).
2006-10-26  Christian Persch  <chpe@cvs.gnome.org>

	* gtk/gtkaboutdialog.c: Put initial focus on Close button (#337261).
2006-10-26 12:22:36 +00:00
Priit Laes
802f750ca6 Translation updated by Ivar Smolin.
2006-10-24  Priit Laes  <plaes@cvs.gnome.org>

	* et.po: Translation updated by Ivar Smolin.
2006-10-24 19:41:31 +00:00
Priit Laes
56fbfa6c95 Translation updated by Ivar Smolin.
2006-10-24  Priit Laes  <plaes@cvs.gnome.org>

	* et.po: Translation updated by Ivar Smolin.
2006-10-23 21:12:45 +00:00
Dom Lachowicz
373ba3ea35 Remember to free GDI Pen resources, introduced by bug 340201.(#364514)
2006-10-23  Dom Lachowicz <domlachowicz@gmail.com>

        * modules/engines/ms-windows/msw_style.c (draw_expander): Remember
        to free GDI Pen resources, introduced by bug 340201.(#364514)
2006-10-23 20:29:33 +00:00
Christophe Merlet
c44c9e0c4a Updated French translation. 2006-10-22 09:28:06 +00:00
Josep Puigdemont i Casamajó
9586e39ec4 Updated Catalan translation. 2006-10-21 22:01:55 +00:00
Paolo Borelli
f726c3380e plug memory leak. Fixes bug #362439.
2006-10-15  Paolo Borelli  <pborelli@katamail.com>

	* gtk/gtkicontheme.c (pixbuf_supports_svg): plug memory leak.
	Fixes bug #362439.
2006-10-15 22:58:32 +00:00
Francisco Javier F. Serrador
e676512b76 Updated Spanish translation.
2006-10-15  Francisco Javier F. Serrador  <serrador@openshine.com>

	* es.po: Updated Spanish translation.
2006-10-15 00:25:42 +00:00
Francisco Javier F. Serrador
f8c66f8219 Updated Spanish translation.
2006-10-15  Francisco Javier F. Serrador  <serrador@openshine.com>

	* es.po: Updated Spanish translation.
2006-10-15 00:03:33 +00:00
Vladimer Sichinava
fea601376c Fixed some errors 2006-10-14 00:15:31 +00:00
Gabor Kelemen
605bcdf3ed Translation updated by Kelemen Gábor.
2006-10-13  Gabor Kelemen  <kelemeng@gnome.hu>

	* hu.po: Translation updated by Kelemen Gábor.
2006-10-13 19:24:43 +00:00
Vladimer Sichinava
ea35d2ca2e Updated Georgian translation 2006-10-13 00:35:49 +00:00
Matthias Clasen
0a45289c32 Fix a typo. (#359542, Ghee Teo)
2006-10-08  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkprintunixdialog.c (update_dialog_from_capabilities): Fix
	a typo.  (#359542, Ghee Teo)
2006-10-08 19:38:21 +00:00
Matthias Clasen
9245a4eca6 Only reorder tabs if the focus is in the tab. (#350342, Carlos Garnacho
2006-10-08 Matthias Clasen <mclasen@redhat.com>

	* gtk/gtknotebook.c (gtk_notebook_reorder_tab): Only
	reorder tabs if the focus is in the tab.  (#350342, Carlos
	Garnacho Parro)
2006-10-08 19:03:00 +00:00
Tor Lillqvist
cb2fec0248 Remove stray CVS conflict indicator. 2006-10-08 17:24:42 +00:00
Tor Lillqvist
c60f1996b6 Small fix to the code committed earlier today.
2006-10-08  Tor Lillqvist  <tml@novell.com>

	* gtk/gtkmain.c (do_pre_parse_initialization): Small fix to the
	code committed earlier today.
2006-10-08 07:55:50 +00:00
Matthias Clasen
5a177560b6 Fix a leak 2006-10-08 05:26:04 +00:00
Tor Lillqvist
8c169ce529 On Win32, if environment variable LC_ALL or LANG is set, set the Win32
2006-10-08  Tor Lillqvist  <tml@novell.com>

	* gtk/gtkmain.c (do_pre_parse_initialization): On Win32, if
	environment variable LC_ALL or LANG is set, set the Win32 thread
	locale to the corresponding locale. Then call the C library
	setlocale() to set the C library locale accordingly. The
	inconsistency mentioned below is gone. (#339756) Do some special
	casing for Serbia and Montenegro. Handle the Latin and Cyrillic
	scripts for Azeri, Uzbek and Serbian.
	(enum_locale_proc): Helper function for the above functionality.

	* gtk/gtkcalendar.c (gtk_calendar_init): No longer need to check
	if the environment variables are set here, as they have already
	been taken into account and the Win32 thread locale has been
	set.
2006-10-08 01:39:09 +00:00
Tor Lillqvist
1f37777588 Use the Win32 thread locale's first day of week setting on Win32.
2006-10-07  Tor Lillqvist  <tml@novell.com>

	* gtk/gtkcalendar.c (gtk_calendar_init): Use the Win32 thread
	locale's first day of week setting on Win32. (#339752, Bogdan
	Nicula) Don't do this if one of the environment variables that
	affect gettext is set, though. In that case use the week start day
	from the corresponding message catalog.

	Unfortunately the same logic isn't possible in the weekday and
	month name lookup; there even if you have set one of the
	aforementioned environment variables, you still get the weekday
	and month names from the Win32 thread locale. Yes, this is
	inconsistent.
2006-10-07 21:28:23 +00:00
Matthias Clasen
0d90bfe851 fix docs 2006-10-06 19:16:21 +00:00
Matthias Clasen
bb48a1efc7 Don't set the background of the window in a no-window widget. (#359581,
2006-10-06  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkcellview.c: Don't set the background of the
        window in a no-window widget.  (#359581, Xan Lopez)
2006-10-06 18:35:57 +00:00
Behdad Esfahbod
418f80e294 Propagate srcdir into the test correctly. (#359845)
2006-10-05  Behdad Esfahbod  <behdad@gnome.org>

        * gtk/Makefile.am, gtk/aliasfilescheck.sh:  Propagate srcdir into the
        test correctly. (#359845)
2006-10-05 15:53:42 +00:00
Matthias Clasen
9b8834d075 Fix interaction of GtkEntryCompletion with input methods. (#354495, Diego
2006-10-03  Matthias Clasen  <mclasen@redhat.com>

        Fix interaction of GtkEntryCompletion with input
        methods.  (#354495, Diego Escalante Urrelo)

        * gtk/gtkentry.c (gtk_entry_completion_key_press): Only reset
        the im context if we actually handle the key event.

        * gtk/gtkentrycompletion.c: Also propagate key release events
        to the entry.
2006-10-04 03:24:36 +00:00
Matthias Clasen
6cede96218 bump version 2006-10-03 21:07:03 +00:00
Matthias Clasen
29a965afa8 broken pipe 2006-10-03 20:57:35 +00:00
Matthias Clasen
e445684813 2.10.6 2006-10-03 20:33:18 +00:00
Matthias Clasen
680fc7c5d2 updates 2006-10-03 16:52:16 +00:00
Matthias Clasen
88f75cf309 reduce relocations 2006-10-03 15:51:47 +00:00
Matthias Clasen
8340b819fc Complete the fix for bug 357280.
2006-10-03  Matthias Clasen  <mclasen@redhat.com>

        * modules/printbackends/cups/gtkprintbackendcups.c: Complete
        the fix for bug 357280.
2006-10-03 14:48:54 +00:00
Behdad Esfahbod
31bca0f00c Fix typo in file name. (#358931)
2006-10-02  Behdad Esfahbod  <behdad@gnome.org>

        * gtk/Makefile.am: Fix typo in file name.  (#358931)
2006-10-02 17:27:53 +00:00
Matthias Clasen
ee8628b3a6 2.10.5 2006-10-02 06:56:01 +00:00
Matthias Clasen
c246b5f740 Only use the group name field if cups is new enough. (#357280)
2006-10-02  Matthias Clasen  <mclasen@redhat.com>

	* modules/printbackends/cups/gtkprintbackendcups.c (available_choices):
	Only use the group name field if cups is new enough.  (#357280)
2006-10-02 05:37:59 +00:00
Matthias Clasen
43c3c79029 Make sure that the quarks are initialized before using them. (#353736)
2006-10-02  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtksizegroup.c: Make sure that the quarks are
	initialized before using them.  (#353736)
2006-10-02 05:21:34 +00:00
Priit Laes
775539ef1d Translation updated by Ivar Smolin.
2006-10-02  Priit Laes  <plaes@cvs.gnome.org>

	* et.po: Translation updated by Ivar Smolin.
2006-10-02 05:10:55 +00:00
Matthias Clasen
e1447f1f95 Use rm instead of ln -f to replace existing links. (#354849, James Evans)
2006-10-02  Matthias Clasen  <mclasen@redhat.com>

	* gtk/Makefile.am (stamp-icons): Use rm instead of ln -f to
	replace existing links.  (#354849, James Evans)
2006-10-02 04:06:53 +00:00
Matthias Clasen
a122c33eda Make the event_window large enough to cover the full height of the
2006-10-01  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkexpander.c (gtk_expander_realize)
	(gtk_expander_size_allocate): Make the event_window large
	enough to cover the full height of the label_widget.  (#358351,
	Scott Horowitz)
2006-10-02 03:49:29 +00:00
Matthias Clasen
8bf4caf83c Set model in all cases. (#357791, Andreas Köhler)
2006-10-01  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtktreeselection.c (gtk_tree_selection_get_selected_rows):
	Set model in all cases.  (#357791, Andreas Köhler)
2006-10-02 01:27:25 +00:00
Tor Lillqvist
26366d713d Same change as to gtkfilesystemunix.c.
2006-10-01  Tor Lillqvist  <tml@novell.com>

	* gtk/gtkfilesystemwin32.c: Same change	as to gtkfilesystemunix.c.
2006-10-01 19:24:27 +00:00
Matthias Clasen
60d34ea94f Protect against base_path being NULL. (#358405, many reporters)
2006-09-30  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkfilechooserbutton.c (update_combo_box): Protect
        against base_path being NULL.  (#358405, many reporters)
2006-09-30 13:27:15 +00:00
Matthias Clasen
f06c2a4daa Avoid a deadlock 2006-09-29 14:17:01 +00:00
Pema Geyleg
9daaf9022b *** empty log message *** 2006-09-29 09:14:04 +00:00
Vladimer Sichinava
d0a6ca795c updated Georgian translation 2006-09-26 11:37:37 +00:00
Vladimer Sichinava
6b6cbd183d updated Georgian translation 2006-09-26 00:31:25 +00:00
Ignacio Casal Quinteiro
4001a629d7 *** empty log message *** 2006-09-25 21:58:20 +00:00
Matthias Clasen
9660d080a4 Don't leak the list of children (#357454, Paolo Borelli)
2006-09-25  Matthias Clasen  <mclasen@redhat.com>
        * gtk/gtkuimanager.c (_gtk_menu_is_empty): Don't leak
        the list of children (#357454, Paolo Borelli)
2006-09-25 13:34:52 +00:00
Michael Natterer
5956de6e07 free display->input_windows with g_free(), not g_object_unref() (#357566,
2006-09-25  Michael Natterer  <mitch@imendio.com>

	* gdk/x11/gdkdisplay-x11.c (gdk_display_x11_finalize): free
	display->input_windows with g_free(), not g_object_unref()
	(#357566, Tommi Komulainen).
2006-09-25 09:57:01 +00:00
Tor Lillqvist
a9dcd9f0a9 Use EXEEXT.
2006-09-23  Tor Lillqvist  <tml@novell.com>

	* gtk/Makefile.am: Use EXEEXT.
2006-09-23 07:28:31 +00:00
Matthias Clasen
11cfcef2b5 Bump version 2006-09-23 05:29:06 +00:00
Matthias Clasen
3f7a54b141 2.10.4 2006-09-23 05:23:00 +00:00
Matthias Clasen
48a616d351 Updates 2006-09-23 02:51:51 +00:00
Michael Natterer
101a718279 also copy icon factories and color hashes. Fixes bug #357132.
2006-09-22  Michael Natterer  <mitch@imendio.com>

	* gtk/gtkstyle.c (gtk_style_real_copy): also copy icon factories
	and color hashes. Fixes bug #357132.
2006-09-22 20:39:35 +00:00
Matthias Clasen
34b99286d5 updates 2006-09-22 18:51:12 +00:00
Matthias Clasen
8620115255 make it build 2006-09-22 17:48:24 +00:00
Matthias Clasen
84742b9f0b Apply a patch to fix some typos. (#355961, Claudio Saavedra)
2006-09-22  Matthias Clasen  <mclasen@redhat.com>
        * gtk/tmpl/gtkpagesetup.sgml: Apply a patch
        to fix some typos.  (#355961, Claudio Saavedra)
2006-09-22 16:37:20 +00:00
Matthias Clasen
63ef81fdc9 Make remote bookmarks work better (#354887)
2006-09-22  Matthias Clasen  <mclasen@redhat.com>

	Make remote bookmarks work better (#354887)

	* gtk/gtkfilechooserdefault.c (shortcuts_reload_icons):
	(shortcuts_insert_path):
	* gtk/gtkfilechooserbutton.c (change_icon_theme):
	(model_add_bookmarks):
	(model_update_current_folder):
	(update_label_and_image):
	If the bookmark points to a remote file, don't call get_info(),
	since that may a) take a long time and b) pop up an auth dialog.
	Instead, just use a folder icon and create a display name
	from the uri.

	* gtk/gtkfilechooserdefault.c (_gtk_file_chooser_label_for_uri):
	New function to create a suitable display name for a remote
	uri. This should really be done in GtkFileSystem.
2006-09-22 16:33:04 +00:00
Francisco Javier F. Serrador
80d2f3ffc8 Updated Spanish translation.
2006-09-22  Francisco Javier F. Serrador  <serrador@openshine.com>

	* es.po: Updated Spanish translation.
2006-09-22 10:16:34 +00:00
Priit Laes
124473aa06 Translation updated by Ivar Smolin.
2006-09-21  Priit Laes  <plaes@cvs.gnome.org>

	* et.po: Translation updated by Ivar Smolin.
2006-09-21 16:30:44 +00:00
Hendrik Richter
6fc802603e Updated German translation.
2006-09-21  Hendrik Richter  <hendrikr@gnome.org>

	* de.po: Updated German translation.
2006-09-21 15:30:54 +00:00
Behnam Esfahbod
a8d1216f40 just check the first shift-level of keyboard layout for RTL and LTR
2006-09-20  Behnam Esfahbod <behnam@zwnj.org>
	* gdk/x11/gdkkeys-x11.c:
	  (get_direction): just check the first shift-level of keyboard
	layout for RTL and LTR keysyms() (compliment to #116626)

Apply the missing patch of the previous commit.
2006-09-20 18:17:17 +00:00
Behnam Esfahbod
4f481fd16a just check the first shift-level of keyboard layout for RTL and LTR
2006-09-20  Behnam Esfahbod <behnam@zwnj.org>
	* gdk/x11/gdkkeys-x11.c:
	  (get_direction): just check the first shift-level of keyboard
	layout for RTL and LTR keysyms() (compliment to #116626)
2006-09-20 18:00:42 +00:00
Vladimer Sichinava
14ae061932 Added Georgian translation of gcalctool 2006-09-20 02:30:44 +00:00
Matthias Clasen
1363f15ffb Display an error when we come to the root.
2006-09-19  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkfilechooserdefault.c (update_current_folder_get_info_cb):
	Display an error when we come to the root.
2006-09-19 14:15:38 +00:00
Priit Laes
1f09278371 Translation updated by Ivar Smolin.
2006-09-18  Priit Laes  <plaes@cvs.gnome.org>

	* et.po: Translation updated by Ivar Smolin.
2006-09-18 05:25:32 +00:00
Åsmund Skjæveland
d322b8ee97 Updated Norwegian Nynorsk translation.
2006-09-17  Åsmund Skjæveland  <aasmunds@fys.uio.no>

	* nn.po: Updated Norwegian Nynorsk translation.
2006-09-17 18:54:45 +00:00
Matthias Clasen
510e51ec63 Use bookmark labels in the combobox.
2006-09-17  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkfilechooserbutton.c: Use bookmark labels in
	the combobox.
2006-09-17 04:19:05 +00:00
Matthias Clasen
c6d7d38bfd Don't add remote volumes and bookmarks to the model in local-only mode, to
2006-09-16  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkfilechooserbutton.c: Don't add remote volumes and
	bookmarks to the model in local-only mode, to avoid
	authentication dialogs pop up for invisible bookmarks, and
	to fix issues with separators not being hidden when
	they should.  (#354887, Dennis Cranston)
2006-09-17 03:32:40 +00:00
Vincent van Adrighem
2a9b1d0ec8 Translation updated by Tino Meinen.
2006-09-16  Vincent van Adrighem  <adrighem@gnome.org>

	* nl.po: Translation updated by Tino Meinen.
2006-09-16 11:11:13 +00:00
Matthias Clasen
cf6bf669f0 Unref the treeview use in list mode. (#355732, Richard Hult)
2006-09-16  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkcombobox.c (gtk_combo_box_finalize): Unref the
        treeview use in list mode.  (#355732, Richard Hult)
2006-09-16 05:12:30 +00:00
Matthias Clasen
d2b4ac86a8 Send change notification for the right property. (#355308, Torsten
2006-09-16  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtktreeview.c (gtk_tree_view_set_grid_lines): Send
        change notification for the right property.  (#355308,
        Torsten Schoenfeld)
2006-09-16 04:37:08 +00:00
Theppitak Karoonboonyanan
b84cd44c43 Updated Thai translation.
2006-09-16  Theppitak Karoonboonyanan  <thep@linux.thai.net>

	* th.po: Updated Thai translation.
2006-09-16 04:20:53 +00:00
Matic Zgur
4c63cd580b Updated Slovenian translation.
2006-09-15  Matic Zgur  <mr.zgur@gmail.com>

	* sl.po: Updated Slovenian translation.
2006-09-15 10:37:41 +00:00
Kostas Papadimas
7a66a31427 Updated Greek translation 2006-09-14 06:46:36 +00:00
Ankitkumar Rameshchandra Patel
0e21c332c9 Updated Translation 2006-09-14 05:41:55 +00:00
Alexander Shopov
76b94bdffa Updated Bulgarian translation by Alexander Shopov <ash@contact.bg>
2006-09-14  Alexander Shopov  <ash@contact.bg>

	* bg.po: Updated Bulgarian translation by
	Alexander Shopov <ash@contact.bg>
2006-09-14 05:15:24 +00:00
Jovan Naumovski
bb517d5994 2006-09-13 Jovan Naumovski <jovanna@cvs.gnome.org> * mk.po: Updated Macedonian translation 2006-09-13 21:13:08 +00:00
David Lodge
1b970b5d1b Updated English (British) translation
2006-09-13  David Lodge <dave@cirt.net>

	* en_GB.po: Updated English (British) translation
2006-09-13 19:47:39 +00:00
Matthias Clasen
641da23dbc Use a GtkWindow instead of a GtkInvisible for the grab widget, to make the
2006-09-13 Matthias Clasen <mclasen@redhat.com>
        * gtk/gtkcolorsel.c: Use a GtkWindow instead of a GtkInvisible
        for the grab widget, to make the color picker work with window
        groups.
2006-09-13 17:32:48 +00:00
Nickolay V. Shmyrev
166287cfa7 Updated Russian translation.
2006-09-13  Nickolay V. Shmyrev  <nshmyrev@yandex.ru>

	* ru.po: Updated Russian translation.
2006-09-13 16:10:06 +00:00
Felix I
5919606776 Tamil Translation updated 2006-09-13 08:13:02 +00:00
Runa Bhattacharjee
4a2b65ba47 Added Entry for Bengali India Translation Updation 2006-09-13 05:41:12 +00:00
Runa Bhattacharjee
a162b00071 Updated Bengali India Translation 2006-09-13 05:40:56 +00:00
Rajesh Ranjan
716cc206ab updated gtk for context translation error 2006-09-13 05:26:54 +00:00
Ilkka Tuohela
8e61150ee6 Updated Finnish translation 2006-09-13 04:32:57 +00:00
Vladimer Sichinava
1643096a72 Error correction 2006-09-13 00:33:45 +00:00
Gintautas Miliauskas
0777d8b0f8 Updated Lithuanian translation 2006-09-12 19:17:24 +00:00
Kjartan Maraas
642bc4ea02 Add two binaries here 2006-09-12 14:34:07 +00:00
Hong Jen Yee
40c8c6e7d1 signed off by: Dom Lachowicz
2006-09-12 Hong Jen Yee <pcman.tw@gmail.com>

	signed off by: Dom Lachowicz

	* modules/engines/ms-windows/msw_style.c: Bug 340201. This contains
	a large number of improvements to the Microsoft Windows theme engine
	which are fully described in the bug report.
2006-09-12 11:50:11 +00:00
Jovan Naumovski
cc8974213b 2006-09-12 Jovan Naumovski <jovanna@cvs.gnome.org> * mk.po: Updated Macedonian translation 2006-09-12 11:09:05 +00:00
Ankitkumar Rameshchandra Patel
c6b51549a6 Updated Translation 2006-09-11 12:32:20 +00:00
Daniel Nylander
c3a804c24b Updated Swedish translation.
2006-09-11  Daniel Nylander <po@danielnylander.se>

	* sv.po: Updated Swedish translation.
2006-09-11 11:11:59 +00:00
Matthias Clasen
69eec539a0 Request the display name too, otherwise "Desktop" does not appear in the
2006-09-10  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkfilechooserbutton.c (model_add_special): Request
	the display name too, otherwise "Desktop" does not appear
	in the file chooser button.
2006-09-11 02:33:57 +00:00
Kjartan Maraas
e3ab5e9c55 Updated Norwegian bokml translation.
2006-09-10  Kjartan Maraas  <kmaraas@gnome.org>

	* nb.po: Updated Norwegian bokml translation.
2006-09-10 18:25:43 +00:00
Priit Laes
953750da7f Translation updated by Ivar Smolin.
2006-09-10  Priit Laes  <plaes@cvs.gnome.org>

	* et.po: Translation updated by Ivar Smolin.
2006-09-10 16:03:12 +00:00
Ilkka Tuohela
a743b14354 Updated Finnish translation 2006-09-10 08:11:35 +00:00
Ilkka Tuohela
72d3fbc7c9 Updated Finnish translation 2006-09-10 08:10:24 +00:00
Ilkka Tuohela
57b08805e3 Updated Finnish translation 2006-09-10 08:01:40 +00:00
David Lodge
3e2a24892a Updated English (British) translation.
2006-09-10  David Lodge <dave@cirt.net>

	* en_GB.po: Updated English (British) translation.
2006-09-10 07:11:46 +00:00
David Lodge
a1eb50a2ab Updated English (British) translation.
2006-09-09  David Lodge <dave@cirt.net>

	* en_GB.po: Updated English (British) translation.
2006-09-10 06:59:39 +00:00
Matthias Clasen
da05f10d2d add new files 2006-09-10 06:36:11 +00:00
Matthias Clasen
40fd8e6cc3 Commit a patch by Behdad to fix typos, omissions and other errors in the
2006-09-10  Matthias Clasen  <mclasen@redhat.com>

        * Commit a patch by Behdad to fix typos, omissions and other
        errors in the symbol aliasing, and add checks for local PLT
        entries.  (#354687, Behdad Esfahbod)
2006-09-10 06:33:17 +00:00
Matthias Clasen
aa08e0d9cc Renew the flush timeout. (#354043, Nelson Benitez)
2006-09-10  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtktreeview.c (gtk_tree_view_search_scroll_event): Renew
	the flush timeout.  (#354043, Nelson Benitez)
2006-09-10 05:27:59 +00:00
Matthias Clasen
5af3a64c9e Fix a typo. String change! (#355134, David Lodge)
2006-09-10  Matthias Clasen  <mclasen@redhat.com>

	* gtk/paper_names_offsets.c: Fix a typo. String change! (#355134,
	David Lodge)
2006-09-10 04:55:37 +00:00
Matthias Clasen
4dc8359235 Fix small theoretical memory leaks. (#353916, Chris Wilson)
2006-09-09  Matthias Clasen <mclasen@redhat.com>

        * gdk/x11/gdkfonts-x11.c: Fix small theoretical memory leaks.
        (#353916, Chris Wilson)
2006-09-09 05:33:42 +00:00
Matthias Clasen
5087ef4102 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:24:29 +00:00
Matthias Clasen
174da39bc4 Don't unnecessarily reset the im context when deleting the selection.
* gtk/gtkentry.c: Don't unnecessarily reset the im context
        when deleting the selection.  (#353803, Alex Larsson)

2
2006-09-09 05:14:47 +00:00
Matthias Clasen
c9b15d54f9 Add docs for the parent-set signal. (#353772, Mariano Suárez-Alvarez)
2006-09-09  Matthias Clasen <mclasen@redhat.com>

        * gtk/gtkwidget.c: Add docs for the parent-set signal.
        (#353772, Mariano Suárez-Alvarez)
2006-09-09 05:07:07 +00:00
Jamil Ahmed
f2775b533c bn.po: Updated Bengali translation. 2006-09-08 22:30:35 +00:00
Matthias Clasen
4ea89f0897 fix a slypheed crash 2006-09-08 20:05:04 +00:00
Raivis Dejus
a193fda540 Updated Latvian translation.
2006-09-08  Raivis Dejus  <orvils@gmail.com>

        * lv.po: Updated Latvian translation.
2006-09-08 08:02:32 +00:00
Vladimer Sichinava
746aed53f8 Updated Georgian trasnaltion 2006-09-08 02:34:56 +00:00
Jamil Ahmed
6cd79b7b8f Updated Bengali Translations. 2006-09-07 11:26:14 +00:00
Pema Geyleg
72146b2f04 *** empty log message *** 2006-09-07 03:05:03 +00:00
Tor Lillqvist
894a2429b9 Merged from HEAD:
2006-09-06  Tor Lillqvist  <tml@novell.com>

	Merged from HEAD:

	* gtk/gtkfilesystemwin32.c: Copy what Kris did to
	gtkfilesystemunix.c
2006-09-06 19:27:13 +00:00
Josep Puigdemont i Casamajó
b956599653 Updated Catalan translation. 2006-09-06 16:56:06 +00:00
Matthias Clasen
18ae687952 fix the build 2006-09-06 14:20:02 +00:00
Subhransu Behera
773873d9e7 Updated Oriya Translation 2006-09-06 07:30:58 +00:00
Subhransu Behera
24b3f069bf Added Strings for Updated Oriya Translation 2006-09-06 07:30:36 +00:00
Matthias Clasen
d667d39aa2 Simplify and fix reading of ASCII images.
2006-09-06  Matthias Clasen  <mclasen@redhat.com>

	* io-pnm.c: Simplify and fix reading of ASCII images.
2006-09-06 05:07:49 +00:00
Ahmad Riza H Nst
2fc7eb5f8b Updated.
2006-09-06  Ahmad Riza H Nst  <rizahnst@eriagempita.co.id>

        * id.po: Updated.
2006-09-06 03:16:35 +00:00
Subhransu Behera
c7fd94f84d Updated Oriya Translation 2006-09-05 11:35:49 +00:00
Subhransu Behera
be92f481e8 Added Strings for Updated Oriya Translation 2006-09-05 11:34:08 +00:00
Felix I
fd08669049 Tamil Translation updated 2006-09-05 06:14:44 +00:00
Matthias Clasen
ed167226a0 bump version 2006-09-05 05:41:34 +00:00
Matthias Clasen
791828790a 2.10.3 2006-09-05 05:36:21 +00:00
Kristian Rietveld
66fa3d512e Merged from HEAD:
2006-09-04  Kristian Rietveld  <kris@imendio.com>

	Merged from HEAD:

	* gtk/gtkfilechooserdefault.c (update_current_folder_get_info_cb):
	if setting the given folder failed, try setting the parent folder
	until we succeed; display an error box at the end.
2006-09-04 21:02:44 +00:00
Kristian Rietveld
37da199d52 Merged from HEAD:
2006-09-04  Kristian Rietveld  <kris@imendio.com>

	Merged from HEAD:

	* gtk/gtkpathbar.c (gtk_path_bar_dispose): don't cancel the
	operations spawned by buttons here,
	(set_button_image_get_info_cb): bail out if button is NULL, but
	do free button_data,
	(button_data_free): only free the data if non NULL (since this
	function can be called multiple times for the same data), cancel
	handle if pending but don't free button_data in this case (will
	happen in the callback).
2006-09-04 20:57:45 +00:00
Kristian Rietveld
eba91c5800 Merged from HEAD:
2006-09-04  Kristian Rietveld  <kris@imendio.com>

	Merged from HEAD:

	* gtk/gtkfilechooserdefault.c (save_entry_get_info_cb),
	(file_exists_get_info_cb), (gtk_file_chooser_default_should_respond):
	change file_exists_and_is_not_folder checks to get the file info
	for the path directly instead of querying the current file folder
	of the save entry.

	* gtk/gtkfilechooserprivate.h (struct _GtkFileChooserDefault): add
	new field.

	* tests/autotestfilechooser.c (wait_for_idle_idle), (wait_for_idle),
	(test_reload_sequence), (test_button_folder_states_for_action): wait
	for idle after setting a folder to ensure the async operations to load
	the folder are finished,
	(test_confirm_overwrite), (test_confirm_overwrite_for_path):
	factor out test_confirm_overwrite code so we can add tests for more
	paths more easily.
2006-09-04 20:54:41 +00:00
Kristian Rietveld
90fae608af Merged from HEAD:
2006-09-04  Kristian Rietveld  <kris@imendio.com>

	Merged from HEAD:

	First part of file chooser fixes.

	* gtk/gtkfilechooserbutton.c (model_add_special): also set the
	handle in the model for the desktopdir case.

	* gtk/gtkfilechooserdefault.c (shortcuts_add_current_folder): free
	volume in case we retrieved it but don't pass it on to insert_path,
	(shortcuts_model_create): change the column type for the handles
	to pointer instead of GObject so our handle ref counting is not
	disturbed,
	(show_and_select_paths_finished_loading): don't forget to unref
	the dialog.

	* gtk/gtkfilesystemunix.c (gtk_file_system_unix_class_init),
	(gtk_file_system_unix_init), (gtk_file_system_unix_dispose):
	remove pending execute_callbacks_idle during dispose, also
	execute all callbacks waiting to be run in the next idle,
	(queue_*callback), (execute_callbacks_idle): refactor to maintain
	a list of callbacks to call per file system instead of globally,
	guard the file system during callback invocation,
	(gtk_file_system_unix_get_folder): only add load folder idle if
	none has been added yet.
2006-09-04 20:49:21 +00:00
Alessio Frusciante
84a0d8c855 Updated Italian translation 2006-09-04 19:45:56 +00:00
Danilo Šegan
1e78692f9f Updated Serbian by Goran Rakić. 2006-09-04 19:43:34 +00:00
Josep Puigdemont i Casamajó
5555e27619 Updated Catalan translation. 2006-09-04 16:23:25 +00:00
Michael Natterer
0a07b6b912 Merged from HEAD:
2006-09-04  Michael Natterer  <mitch@imendio.com>

	Merged from HEAD:

	* gtk/gtkrc.c (rc_parse_token_or_compound)
	(gtk_rc_parse_assignment): serialize floating point values using
	locale-independent functions. (#346751, Frederic Crozat)
2006-09-04 11:25:17 +00:00
Michael Natterer
dfd717aacd ja.po msgfmt 0.15 chokes on excess plural forms, remove them.
2006-09-04  Michael Natterer  <mitch@imendio.com>

	* ja.po
	* tr.po: msgfmt 0.15 chokes on excess plural forms, remove them.
2006-09-04 11:16:23 +00:00
Josep Puigdemont i Casamajó
efa03b3777 Fixed typos and stuff in Catalan translation. 2006-09-04 10:56:01 +00:00
Kostas Papadimas
4c841fdbf3 Updated Greek translation 2006-09-04 09:46:38 +00:00
Josep Puigdemont i Casamajó
661fa8a11a Updated Catalan translation. 2006-09-04 09:30:33 +00:00
Josep Puigdemont i Casamajó
1c5403b23e Updated Catalan translation. 2006-09-04 09:23:22 +00:00
Mugurel Tudor
676cf00c82 Updated Romanian translation by Mişu Moldovan <dumol@gnome.ro>
2006-09-04  Mugurel Tudor  <mugurelu@gnome.ro>

	* ro.po: Updated Romanian translation by
	Mişu Moldovan <dumol@gnome.ro>
2006-09-04 07:39:12 +00:00
Rajesh Ranjan
2c52434bee udapted hindi 2006-09-04 07:22:06 +00:00
Rahul Bhalerao
d893111cd7 Updated translation 2006-09-04 05:55:37 +00:00
Subhransu Behera
fa466a8dba Updated Oriya Translation 2006-09-04 05:54:49 +00:00
Subhransu Behera
6bcfa449c3 Added Strings for Updated Oriya Translation 2006-09-04 05:54:28 +00:00
Lucas Rocha
41e5a93efa Updated Brazilian Portuguese translation by Leonardo Ferreira Fontenelle
2006-09-04  Lucas Rocha  <lucasr@gnome.org>

	* pt_BR.po: Updated Brazilian Portuguese translation
	by Leonardo Ferreira Fontenelle <leo.fontenelle@gmail.com>
2006-09-04 05:05:30 +00:00
Subhransu Behera
3b887ee70a Updated Oriya Translation 2006-09-04 04:38:51 +00:00
Subhransu Behera
16ad4f3158 Added Strings for Updated Oriya Translation 2006-09-04 04:33:40 +00:00
Felix I
63165f9e76 Tamil Translation updated 2006-09-04 04:28:33 +00:00
Subhransu Behera
4381382c31 Updated Oriya Translation 2006-09-04 03:36:12 +00:00
Subhransu Behera
4592936719 Added Strings for Updated Oriya Translation 2006-09-04 03:35:52 +00:00
Josep Puigdemont i Casamajó
b910aefe38 Updated Catalan translation. 2006-09-03 23:57:52 +00:00
Subhransu Behera
d8605bd70a Updated Oriya Translation 2006-09-03 20:44:54 +00:00
Subhransu Behera
f7572cc6ec Added Strings for Updated Oriya Translation 2006-09-03 20:44:27 +00:00
Christophe Merlet
28310575d4 Updated French translation. 2006-09-03 18:48:16 +00:00
Kwok-Koon Cheung
1d7fcdaf6c Updated Chinese (Hong Kong) translation. Updated Chinese (Taiwan)
* zh_HK.po: Updated Chinese (Hong Kong) translation.
	* zh_TW.po: Updated Chinese (Taiwan) translation.
2006-09-03 18:21:42 +00:00
Subhransu Behera
90038e9f1b Updated Oriya Translation 2006-09-03 15:36:41 +00:00
Subhransu Behera
2902ac2b7b Added Strings for Updated Oriya Translation 2006-09-03 15:35:50 +00:00
Runa Bhattacharjee
13e73a97eb Added Entry for Bengali India Translation Updation 2006-09-03 14:16:51 +00:00
Runa Bhattacharjee
ca6415e2e5 Updated Bengali India Translation 2006-09-03 14:16:13 +00:00
Ani Peter
3bfbc93228 Updated Malayalam translation 2006-09-03 11:51:32 +00:00
Hendrik Richter
001078df1e Updated German translation.
2006-09-03  Hendrik Richter  <hendrikr@gnome.org>

	* de.po: Updated German translation.
2006-09-03 10:14:10 +00:00
Kostas Papadimas
34199573d7 Updated Greek translation 2006-09-03 07:04:11 +00:00
Matthias Clasen
3dc068d85e Fix a typo. (#354035, Mariano Suárez-Alvarez)
2006-09-03  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkwidget.c (gtk_widget_class_init): Fix a typo.
	(#354035, Mariano Suárez-Alvarez)
2006-09-03 06:07:20 +00:00
Matthias Clasen
d86048284d handle displayname being NULL in some error paths 2006-09-03 05:31:21 +00:00
Åsmund Skjæveland
91afef3a6e Updated Norwegian Nynorsk translation.
2006-09-02  Åsmund Skjæveland  <aasmunds@fys.uio.no>

	* nn.po: Updated Norwegian Nynorsk translation.
2006-09-02 23:46:23 +00:00
Åsmund Skjæveland
8b1ac94b61 Updated Norwegian Nynorsk translation.
2006-09-03  Åsmund Skjæveland  <aasmunds@fys.uio.no>

	* nn.po: Updated Norwegian Nynorsk translation.
2006-09-02 23:42:02 +00:00
Åsmund Skjæveland
7b984a6b13 Updated Norwegian Nynorsk translation.
2006-09-02  Åsmund Skjæveland  <aasmunds@fys.uio.no>

	* nn.po: Updated Norwegian Nynorsk translation.
2006-09-02 18:15:48 +00:00
Kostas Papadimas
2ca3e82651 Updated Greek translation 2006-09-02 10:10:07 +00:00
Inaki Larranaga
585efae27e Updated Basque translation.
2006-09-02  Inaki Larranaga  <dooteo@euskalgnu.org>

	* eu.po: Updated Basque translation.
2006-09-02 09:13:37 +00:00
Subhransu Behera
4180f905ac Updated Oriya Translation 2006-09-02 02:58:36 +00:00
Subhransu Behera
67373466d0 Added Strings for Updated Oriya Translation 2006-09-02 02:56:26 +00:00
Abel Cheung
64c0648248 Added 'ang' 'dz' to ALL_LINGUAS.
2006-09-01  Abel Cheung  <abel@oaka.org>

	* configure.in: Added 'ang' 'dz' to ALL_LINGUAS.
2006-09-01 18:11:19 +00:00
Kwok-Koon Cheung
44356c97a6 Resurrected from gtk-2-4 branch.
* ang.po: Resurrected from gtk-2-4 branch.
2006-09-01 17:34:43 +00:00
Runa Bhattacharjee
a60bbbd8c5 Added Entry for Bengali India Translation Updation 2006-09-01 15:31:51 +00:00
Runa Bhattacharjee
8140a1f0d0 Updated Bengali India Translation 2006-09-01 15:31:35 +00:00
Runa Bhattacharjee
02c8458ba9 Added Entry for Bengali India Translation Updation 2006-09-01 04:39:14 +00:00
Runa Bhattacharjee
c4b0735767 Updated Bengali India Translation 2006-09-01 04:38:59 +00:00
Matthias Clasen
e130d50bdf Send printer-list-done on error.
2006-08-31  Matthias Clasen  <mclasen@redhat.com>

	* modules/printbackends/cups/gtkprintbackendcups.c (cups_request_printer_list_cb): Send printer-list-done on error.
2006-08-31 17:51:01 +00:00
Ani Peter
a203bebe44 Updated Malayalam translation 2006-08-31 11:15:41 +00:00
Felix I
c4474c62c4 Tamil Translation updated 2006-08-31 05:52:06 +00:00
Ani Peter
f06a9cb837 Updated Malayalam 2006-08-31 04:52:00 +00:00
Matic Zgur
b12c1748d8 Updated Slovenian translation.
2006-08-31  Matic Zgur  <mr.zgur@gmail.com>

	* sl.po: Updated Slovenian translation.
2006-08-30 22:33:02 +00:00
Gabor Kelemen
1e04b9eb04 Translation updated.
2006-08-30  Gabor Kelemen  <kelemeng@gnome.hu>

	* hu.po: Translation updated.
2006-08-30 12:53:34 +00:00
Lucas Rocha
a033828c62 Small fix on Brazilian Portuguese translation.
2006-08-30  Lucas Rocha  <lucasr@gnome.org>

	* pt_BR.po: Small fix on Brazilian Portuguese translation.
2006-08-30 12:46:46 +00:00
Daniel Nylander
b72141606f Updated Swedish translation (again).
2006-08-29  Daniel Nylander <po@danielnylander.se>

	* sv.po: Updated Swedish translation (again).
2006-08-29 19:27:02 +00:00
Emmanuele Bassi
e0e8a51964 Backport from HEAD
2006-08-29  Emmanuele Bassi  <ebassi@gnome.org>

	Backport from HEAD

	* gtk/gtkrecentchoosermenu.c
	(gtk_recent_chooser_menu_set_current_uri): Break when an item
	is found and activated. (#353449, based on a patch from Jan Arne
	Petersen)
2006-08-29 18:48:46 +00:00
Paolo Borelli
aa3340afa1 add this file from HEAD to fix the build.
2006-08-29  Paolo Borelli  <pborelli@katamail.com>

	* tests/autotestfilesystem.c: add this file from HEAD to fix
	the build.
2006-08-29 15:36:37 +00:00
Daniel Nylander
2f080857e0 Updated Swedish translation.
2006-08-29  Daniel Nylander <po@danielnylander.se>

	* sv.po: Updated Swedish translation.
2006-08-29 06:17:25 +00:00
Matthias Clasen
78789a5e0a fix printer list polling 2006-08-28 17:52:35 +00:00
Michael Natterer
ced0be686f Merged from HEAD:
2006-08-28  Michael Natterer  <mitch@imendio.com>

	Merged from HEAD:

	* gtk/gtktextbufferserialize.c (serialize_text): don't write out
	</apply_tag> for tags that have already been closed by the logic
	which turns overlapping spans into XML-able trees. Fixes broken
	XML when there are overlapping tags in the buffer. Also free two
	leaked GLists and did some cleanup.

	* tests/Makefile.am
	* tests/testrichtext.c: new test which creates randomly tagged
	GtkTextBuffers and serializes/deserializes them.
2006-08-28 16:36:51 +00:00
Christophe Merlet
a66016df2c Updated French translation. 2006-08-27 23:40:37 +00:00
Hendrik Richter
c3b3696b5c Updated German translation.
2006-08-27  Hendrik Richter  <hendrikr@gnome.org>

	* de.po: Updated German translation.
2006-08-27 18:51:31 +00:00
Gintautas Miliauskas
3d99a27f0e Updated Lithuanian translation. 2006-08-27 13:11:30 +00:00
Josep Puigdemont i Casamajó
dc91cce4c2 Updated Catalan translation. 2006-08-26 21:39:40 +00:00
Theppitak Karoonboonyanan
4f9d9ef3bd Fixed plural strings.
2006-08-26  Theppitak Karoonboonyanan  <thep@linux.thai.net>

	* th.po: Fixed plural strings.
2006-08-26 16:40:25 +00:00
Matthias Clasen
2b343d143f Don't leak pixbufs. (#352264, Ross Burton)
2006-08-26  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkstatusicon.c (gtk_status_icon_reset_image_data):
	Don't leak pixbufs.  (#352264, Ross Burton)
2006-08-26 06:26:05 +00:00
Matthias Clasen
2b0c63edda Don't leak PangoAttributes. (#352391, Paolo Borelli)
2006-08-26  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtklinkbutton.c (set_link_underline): Don't leak
	PangoAttributes.  (#352391, Paolo Borelli)
2006-08-26 06:16:12 +00:00
Matthias Clasen
fc092f6f08 Query range style properties only on range widgets. (#352277, Benjamin
2006-08-26  Matthias Clasen  <mclasen@redhat.com>

	* pixbuf-draw.c (reverse_engineer_stepper_box):
	Query range style properties only on range
	widgets.  (#352277, Benjamin Otte)
2006-08-26 06:00:58 +00:00
Matthias Clasen
482f74d636 Add an example of automatic scrolling, thanks to Yevgen Muntyan. (#351206)
2006-08-25  Matthias Clasen  <mclasen@redhat.com>

	* demos/gtk-demo/Makefile.am:
	* demos/gtk-demo/textscroll.c: Add an example of automatic
	scrolling, thanks to Yevgen Muntyan.  (#351206)
2006-08-26 02:44:39 +00:00
Artur Flinta
063ff75ae5 Updated Polish translation by GNOME PL Team.
2006-08-25  Artur Flinta  <aflinta@cvs.gnome.org>

	* pl.po: Updated Polish translation by GNOME PL Team.
2006-08-25 09:24:08 +00:00
Ilkka Tuohela
fdf9274476 Updated Finnish translation 2006-08-25 09:08:37 +00:00
Leonid Kanter
809358f3fa Updated Russian translation 2006-08-24 16:50:53 +00:00
Josep Puigdemont i Casamajó
152cb78d4d Updated Catalan translation. 2006-08-24 00:34:15 +00:00
Tor Lillqvist
67b2f9bdac Slight edit of my last entry. 2006-08-23 23:24:38 +00:00
Federico Mena Quintero
f9f34aef79 Renamed to gtk_file_system_create() so that it will get exported and we
2006-08-23  Federico Mena Quintero  <federico@novell.com>

	* gtk/gtkfilesystem.[ch] (_gtk_file_system_create): Renamed to
	gtk_file_system_create() so that it will get exported and we can
	use it in the test program.

	* gtk/gtk.symbols: Added gtk_file_system_create.

	* gtk/gtkfilechooserdefault.c (set_file_system_backend): Use
	gtk_file_system_create().

	* tests/autotestfilesystem.c: New file with automatic tests for
	the async callbacks and cancelation policy of GtkFileSystem.

	* tests/Makefile.am: Added autotestfilesystem.
2006-08-23 21:59:18 +00:00
Matthias Clasen
12382e191a fix printer options 2006-08-23 19:34:21 +00:00
Tor Lillqvist
8dc75116e1 Revert accidental translatable string change, use same string for warning
2006-08-23  Tor Lillqvist  <tml@novell.com>

	* gtk/gtkfilesystemwin32.c (gtk_file_system_win32_make_path):
	Revert accidental translatable string change, use same string
	for warning as in gtkfilesystemunix.c.
2006-08-23 08:50:27 +00:00
Tor Lillqvist
153bfe9617 Fix logic at the end of strings.
2006-08-23  Tor Lillqvist  <tml@novell.com>

	* gtk/gtkfilesystemwin32.c (_gtk_file_system_win32_path_compare):
	Fix logic at the end of strings.

	* gtk/gtkfilesystemwin32.c: Maintain a hash table of live
	handles and check that we have no outstanding handles at
	finalization time. (Copying what Matthias did for
	gtkfilesystemunix.c)
2006-08-23 08:31:02 +00:00
Matthias Clasen
e3a70e1790 Maintain a hash table of live handles and check that we have no
2006-08-23  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkfilesystemunix.c: Maintain a hash table
        of live handles and check that we have no outstanding
        handles at finalization time. (Copying what
        Federico did for gtkfilesystemgnomevfs.c)
2006-08-23 06:13:42 +00:00
Subhransu Behera
87fb4e55ba Updated Oriya Translation 2006-08-23 05:19:02 +00:00
Subhransu Behera
53c0a2e9e1 Added Strings for Updated Oriya Translation 2006-08-23 05:18:38 +00:00
5987 changed files with 1590657 additions and 2348614 deletions

40
.cvsignore Normal file
View File

@@ -0,0 +1,40 @@
*.lo
config.log
config.h
config.h.in
libtool
config.status
stamp-h
stamp-h1
Makefile
Makefile.in
aclocal.m4
configure
config.h.win32
gtk-config-2.0
config.cache
ABOUT-NLS
intl
stamp-h.in
gtk+.spec
gtk+-2.0.pc
gtk+-2.0-uninstalled.pc
gtk+-unix-print-2.0.pc
gtk+-linux-fb-2.0.pc
gtk+-nanox-2.0.pc
gtk+-x11-2.0.pc
gtk+-quartz-2.0.pc
gdk-2.0.pc
gdk-2.0-uninstalled.pc
gdk-linux-fb-2.0.pc
gdk-nanox-2.0.pc
gdk-x11-2.0.pc
gdk-quartz-2.0.pc
gdk-pixbuf-2.0.pc
gdk-pixbuf-2.0-uninstalled.pc
gtk-zip.sh
missing
install-sh
mkinstalldirs
sgml
autom4te.cache

View File

@@ -1,43 +0,0 @@
stages:
- build
- flatpak
gtk:
image: ebassi/gitlab-gtk:latest
stage: build
before_script:
- export CCACHE_DISABLE=true_
script:
- bash -x ./.gitlab-ci/test-docker.sh
cache:
paths:
- subprojects/gdk-pixbuf/
- subprojects/glib/
- subprojects/graphene/
- subprojects/libepoxy/
- subprojects/pango/
artifacts:
when: on_failure
name: "gtk-${CI_COMMIT_REF_NAME}"
paths:
- "${CI_PROJECT_DIR}/_build/meson-logs"
flatpak:demo:
image: registry.gitlab.com/alatiera/gnome-nightly-oci/gnome-master:latest
stage: flatpak
script:
- bash -x ./.gitlab-ci/flatpak-build.sh org.gtk.Demo
artifacts:
paths:
- org.gtk.Demo-dev.flatpak
expire_in: 1 day
flatpak:widget-factory:
image: registry.gitlab.com/alatiera/gnome-nightly-oci/gnome-master:latest
stage: flatpak
script:
- bash -x ./.gitlab-ci/flatpak-build.sh org.gtk.WidgetFactory
artifacts:
paths:
- org.gtk.WidgetFactory-dev.flatpak
expire_in: 1 day

View File

@@ -1,79 +0,0 @@
FROM fedora:27
RUN dnf -y install \
adwaita-icon-theme \
atk-devel \
at-spi2-atk-devel \
avahi-gobject-devel \
cairo-devel \
cairo-gobject-devel \
ccache \
colord-devel \
cups-devel \
desktop-file-utils \
elfutils-libelf-devel \
fribidi-devel \
gcc \
gcc-c++ \
gdk-pixbuf2-devel \
gdk-pixbuf2-modules \
gettext \
git \
glib2-devel \
glibc-devel \
glibc-headers \
gobject-introspection-devel \
graphene-devel \
gstreamer1-devel \
gstreamer1-plugins-good \
gstreamer1-plugins-bad-free-devel \
gstreamer1-plugins-base-devel \
iso-codes \
itstool \
json-glib-devel \
libattr-devel \
libepoxy-devel \
libffi-devel \
libmount-devel \
librsvg2 \
libselinux-devel \
libXcomposite-devel \
libXcursor-devel \
libXcursor-devel \
libXdamage-devel \
libXfixes-devel \
libXi-devel \
libXinerama-devel \
libxkbcommon-devel \
libXrandr-devel \
libXrender-devel \
libxslt \
mesa-dri-drivers \
mesa-libEGL-devel \
mesa-libwayland-egl-devel \
ninja-build \
pango-devel \
pcre-devel \
python3 \
python3-pip \
python3-wheel \
redhat-rpm-config \
sassc \
systemtap-sdt-devel \
vulkan-devel \
wayland-devel \
wayland-protocols-devel \
which \
xorg-x11-server-Xvfb \
&& dnf clean all
RUN pip3 install meson
ARG HOST_USER_ID=5555
ENV HOST_USER_ID ${HOST_USER_ID}
RUN useradd -u $HOST_USER_ID -ms /bin/bash user
USER user
WORKDIR /home/user
ENV LANG C.UTF-8

View File

@@ -1,44 +0,0 @@
#!/bin/bash
set -e
appid=$1
builddir=app
repodir=repo
flatpak-builder \
--stop-at=gtk \
${builddir} \
build-aux/flatpak/${appid}.json
flatpak-builder \
--run ${builddir} build-aux/flatpak/${appid}.json \
meson \
--prefix /app \
--libdir /app/lib \
--buildtype debug \
-Dx11-backend=true \
-Dwayland-backend=true \
-Dprint-backends=file \
-Dbuild-tests=false \
-Dbuild-examples=false \
-Dintrospection=false \
-Ddemos=true \
_build .
flatpak-builder \
--run ${builddir} build-aux/flatpak/${appid}.json \
ninja -C _build install
flatpak-builder \
--finish-only \
--repo=${repodir} \
${builddir} \
build-aux/flatpak/${appid}.json
flatpak build-bundle \
${repodir} \
${appid}-dev.flatpak \
--runtime-repo=https://flathub.org/repo/flathub.flatpakrepo \
${appid}

View File

@@ -1,11 +0,0 @@
#!/bin/bash
set -e
TAG="ebassi/gitlab-gtk:latest"
sudo docker build --build-arg HOST_USER_ID="$UID" --tag "${TAG}" \
--file "Dockerfile" .
sudo docker run --rm --security-opt label=disable \
--volume "$(pwd)/..:/home/user/app" --workdir "/home/user/app" \
--tty --interactive "${TAG}" bash

View File

@@ -1,23 +0,0 @@
#!/bin/bash
set -e
srcdir=$(pwd)
meson \
-Dx11-backend=true \
-Dwayland-backend=true \
-Dbroadway-backend=true \
-Dvulkan=yes \
_build $srcdir
cd _build
ninja
xvfb-run -a -s "-screen 0 1024x768x24" \
meson test \
--print-errorlogs \
--suite=gtk+ \
--no-suite=gtk+:gsk \
--no-suite=gtk+:a11y

View File

@@ -1,39 +0,0 @@
## Steps to reproduce
1. ...
2. ...
3. ...
<!--
You should try and reproduce with the demos applications available
under the `demos` directory, or the test programs in the `tests` directory.
Alternatively, please attach a *small and self-contained* example that
exhibits the issue.
-->
## Current behavior
<!--
Please describe the current behaviour
-->
## Expected outcome
<!--
Please describe the expected outcome
-->
## Version information
<!--
- which version of GTK+ you are using
- what operating system and version
- for Linux, which distribution
- if you built GTK+ yourself, the list of options used to configure the build
-->
## Additional information
<!--
- If the bug was a crash, the exact text that was printed out
when the crash occurred.
- If the bug was a crash, attaching a stack trace obtained using
GDB is appreciated; follow the instructions on the wiki:
https://wiki.gnome.org/Community/GettingInTouch/Bugzilla/GettingTraces
-->

View File

@@ -1,63 +0,0 @@
If you want to hack on the GTK+ project, you'll need to have the development
tools appropriate for your operating system, including:
- Python 3.x
- Meson
- Ninja
- Gettext (19.7 or newer)
- a C99 compatible compiler
Up-to-date instructions about developing GNOME applications and libraries
can be found here:
* https://developer.gnome.org
Information about using GitLab with GNOME can be found here:
* https://wiki.gnome.org/GitLab
In order to get Git GTK+ installed on your system, you need to have the
required versions of all the GTK+ dependencies; typically, this means a
recent version of GLib, Cairo, Pango, and ATK, as well as the platform
specific dependencies for the windowing system you are using (Wayland, X11,
Windows, or macOS).
You should start by forking the GTK repository from the GitLab web UI, and
cloning from your fork:
```ssh
$ git clone https://gitlab.gnome.org/yourusername/gtk.git
$ cd gtk
```
**Note**: if you plan to push changes to back to the main repository and
have a GNOME account, you can skip the fork, and use the following instead:
```sh
$ git clone git@gitlab.gnome.org:GNOME/gtk.git
$ cd gtk
```
To compile the Git version of GTK+ on your system, you will need to
configure your build using Meson:
```sh
$ meson _builddir .
$ cd _builddir
$ ninja
```
**Note**: For information about submitting patches and pushing changes
to Git, see the `README.md` and `README.commits` files. In particular,
don't, under any circumstances, push anything to Git before reading and
understanding `README.commmits`.
Typically, you should work on your own branch:
```sh
$ git checkout -b your-branch
```
Once you've finished working on the bug fix or feature, push the branch
to the Git repository and open a new merge request, to let the GTK
maintainers review your contribution.

19
COPYING
View File

@@ -1,15 +1,15 @@
GNU LIBRARY GENERAL PUBLIC LICENSE
Version 2, June 1991
GNU LIBRARY GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1991 Free Software Foundation, Inc.
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
[This is the first released version of the library GPL. It is
numbered 2 because it goes with version 2 of the ordinary GPL.]
Preamble
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
@@ -99,7 +99,7 @@ works together with the library.
Note that it is possible for a library to be covered by the ordinary
General Public License rather than by this special one.
GNU LIBRARY GENERAL PUBLIC LICENSE
GNU LIBRARY GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License Agreement applies to any software library which
@@ -411,7 +411,7 @@ decision will be guided by the two goals of preserving the free status
of all derivatives of our free software and of promoting the sharing
and reuse of software generally.
NO WARRANTY
NO WARRANTY
15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
@@ -434,7 +434,7 @@ FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
DAMAGES.
END OF TERMS AND CONDITIONS
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Libraries
@@ -463,8 +463,9 @@ convey the exclusion of warranty; and each file should have at least the
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
License along with this library; if not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307 USA.
Also add information on how to contact you by electronic and paper mail.

12267
ChangeLog Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,514 @@
2006-04-30 Kristian Rietveld <kris@imendio.com>
* gtk/gtkfilesystem.[ch] (gtk_file_info_render_icon): remove the
caching code,
(gtk_file_info_get_icon_name): new function,
(gtk_file_system_volume_get_icon_name): new function,
(gtk_file_system_volume_render_icon): refactor to use
get_icon_name() and render the icon on the fly.
* gtk/gtkfilesystemunix.c (gtk_file_system_unix_volume_render_icon),
(gtk_file_system_unix_volume_get_icon_name): reflect updates in
file system interface,
(get_fallback_icon): remove, along with icon caching code.
* gtk/gtk.symbols: updated.
2006-04-30 Kristian Rietveld <kris@imendio.com>
* gtk/gtkfilesystemmodel.c (got_root_folder_cb), (ref_path_cb),
(get_children_get_folder_cb): don't leak the handle,
(got_root_folder_cb), (get_children_get_folder_cb): emit
row-inserted for the newly added nodes.
2006-04-30 Kristian Rietveld <kris@imendio.com>
* gtk/gtkfilechooserdefault.c (file_list_drag_data_select_uris),
(file_list_drag_data_received_get_info_cb),
(file_list_drag_data_received_cb): refactor code for selecting
multiple uris into file_list_drag_data_select_uris().
2006-04-23 Kristian Rietveld <kris@imendio.com>
* gtk/gtkfilechooserbutton.c (dnd_select_folder_get_info_cb): don't
leak handle,
(change_icon_theme_get_info_cb), (set_info_get_info_cb),
(model_add_special_get_info_cb), (update_label_get_info_cb): ditto.
* gtk/gtkfilechooserdefault.c (shortcuts_reload_icons_get_info_cb):
don't leak the handle,
(get_file_info_finished), (edited_idle_create_folder_cb),
(file_list_drag_data_received_get_info_cb),
(show_and_select_paths_get_folder_cb),
(update_current_folder_get_info_cb), (add_shortcut_get_info_cb),
(confirmation_confirm_get_info_cb), (action_create_folder_cb),
(save_entry_get_info_cb), (shortcuts_activate_volume_mount_cb),
(shortcuts_activate_get_info_cb), (update_from_entry_get_info_cb):
ditto.
* gtk/gtkfilechooserentry.c (load_directory_get_folder_callback):
don't leak the handle.
* gtk/gtkpathbar.c (set_button_image_get_info_cb),
(gtk_path_bar_get_info_callback): don't leak the handle.
2006-04-23 Kristian Rietveld <kris@imendio.com>
Review.
* gtk/gtkfilechooserdefault.c (shortcuts_reload_icons_get_info_cb):
don't forget to unref data->impl at the end.
2006-04-23 Kristian Rietveld <kris@imendio.com>
Review, continued.
* gtk/gtkfilechooserdialog.c (response_cb): set response_requested
to FALSE after stopping emission of the response signal.
2006-03-16 Kristian Rietveld <kris@imendio.com>
More review work.
* gtk/gtkfilechooserprivate.h: remove idle_finished_loading_source
from GtkFileSystemModel.
* gtk/gtkfilesystemmodel.c (gtk_file_system_model_finalize): remove
idle_finished_loading_source,
(idle_finished_loading_cb), (queue_finished_loading): removed,
(got_root_folder_cb): save a list walk, immediately emit
finished-loading and don't queue it, since we are already in an
idle here, always list_children() so the children the folder already
has are returned,
(_gtk_file_system_model_new): handle the case where NULL is
returned by _get_folder(),
(_gtk_file_system_model_path_do): remove comment, and append the
new handle to the list, don't try to remove,
(get_children_get_folder_cb): save a list walk, remove the dummy
child if the _get_folder() call fails or is cancelled.
2006-03-14 Kristian Rietveld <kris@imendio.com>
More suggestions from Federico.
* gtk/gtkfilesystemunix.c (gtk_file_system_unix_create_folder):
remove check for filename_is_root(), since we never hit that code
and else mkdir will fail anyway,
(gtk_file_system_unix_create_folder): fixup parent folder refresh
code.
2006-03-14 Kristian Rietveld <kris@imendio.com>
* gtk/gtkfilesystemunix.c (read_hidden_file), (fill_in_hidden),
(get_is_hidden_for_file): factor out g_file_get_contents() code
in read_hidden_file(). (Federico Mena Quintero).
2006-03-14 Kristian Rietveld <kris@imendio.com>
Icon name code suggestions by Federico Mena Quintero.
* gtk/gtkfilesystemunix.c: add GTK_FILE_INFO_ICON to
STAT_NEEDED_MASK,
(get_fallback_icon_name), (get_fallback_icon),
(get_icon_name_for_directory), (get_special_icon_name): get rid
of strdups,
(get_icon_type_from_path): add a statbuf argument and use the
statbuf when folder_unix is NULL,
(create_file_info): adapt to work with above changes.
2006-03-14 Kristian Rietveld <kris@imendio.com>
* gtk/gtkfilesystemunix.c (gtk_file_system_unix_get_info): path
is NULL is an error here (gtk_file_system_get_info() already guards
path = NULL),
(gtk_file_system_unix_get_info): move basename creation to just
before create_file_info(). (Federico Mena Quintero).
2006-03-14 Kristian Rietveld <kris@imendio.com>
* gtk/gtkfilesystemunix.c (struct _GtkFileFolderUnix): add
load_folder_id field,
(load_folder): add thread enter/leave construct, set load_folder_id
to zero since we have the idle removed when we return,
(gtk_file_system_unix_get_folder): initialize load_folder_id to 0
and store the source id of the load_folder idle,
(gtk_file_folder_unix_finalize): remove the load_folder idle
if necessary. (Federico Mena Quintero).
2006-03-14 Kristian Rietveld <kris@imendio.com>
* gtk/gtkfilechooser.c (gtk_file_chooser_get_current_folder): return
NULL if there is no current folder path.
* gtk/gtkfilechooserdefault.c (gtk_file_chooser_default_map): we
reload the current folder if there is one, else we continue the
still pending load.
2006-03-14 Kristian Rietveld <kris@imendio.com>
Couple of fixes from Markku Vire.
* gtk/gtkfilesystem.c (gtk_file_info_copy): also strdup icon_name
and display_key.
* gtk/gtkfilesystemunix.c (gtk_file_system_unix_create_folder):
initialize error to NULL,
(gtk_file_folder_unix_list_children): return an empty list for now if
we couldn't read the directory.
2005-12-23 Kristian Rietveld <kris@imendio.com>
* gtk/gtkfilechooserdefault.c (update_current_folder_get_info_cb),
(gtk_file_chooser_default_update_current_folder): set and unset
busy cursor while checking whether the given path is a folder.
2005-12-23 Kristian Rietveld <kris@imendio.com>
* gtk/gtkfilesystem.h: change the GtkFileInfo argument of the
GetInfoCallback to be const.
* gtk/gtkfilechooserbutton.c, gtk/gtkfilechooserdefault.c,
gtk/gtkpathbar.c: changes functions to reflect the above change.
2005-12-23 Kristian Rietveld <kris@imendio.com>
* gtk/gtkfilechooserdefault.c, gtk/gtkfilechooserprivate.h: keep track
of handles, cancel all pending operations on dispose.
2005-12-23 Kristian Rietveld <kris@imendio.com>
* gtk/gtkfilechooserprivate.h (struct _GtkFileSystemModel): add
pending_handles field,
(struct _FileModelNode): add load_pending flag.
* gtk/gtkfilesystemmodel.c (gtk_file_system_model_dispose): introduce,
cancel all pending operations here,
(got_root_folder_cb), (_gtk_file_system_model_new), (ref_path_cb),
(_gtk_file_system_model_path_do): keep track of all pending
operations, handle cancelled operations.
2005-12-23 Kristian Rietveld <kris@imendio.com>
* gtk/gtkfilechooserbutton.c (gtk_file_chooser_button_finalize),
(gtk_file_chooser_button_destroy): move all handle cancellations
and object unrefs to destroy.
* gtk/gtkpathbar.c (gtk_path_bar_finalize), (gtk_path_bar_dispose):
likewise.
* gtk/gtkfilechooserentry.c (gtk_file_chooser_entry_class_init):
add dispose,
(gtk_file_chooser_entry_dispose): cancel handles and unrefs
objects here instead of finalize.
2005-12-23 Kristian Rietveld <kris@imendio.com>
* gtk/gtkfilesystem.c (get_cached_icon): check if "name" is an
absolute path, if so load the icon from that file.
* gtk/gtkfilesystemunix.c (gtk_file_system_unix_get_folder): fix
the build.
2005-12-21 Kristian Rietveld <kris@imendio.com>
* gtk/gtkfilesystemunix.c (gtk_file_system_unix_get_folder): remove
the FIXME since it doesn't make sense, when we return a cached
folder we won't emit finished-loading either,
(gtk_file_system_unix_create_folder): remove unused variable,
(gtk_file_folder_unix_list_children): remove unused code,
(get_is_hidden_for_file): new function,
(create_file_info): also handle getting is_hidden when called
without a folder unix (from _system_get_info() for example).
2005-12-20 Kristian Rietveld <kris@imendio.com>
* gtk/gtkfilechooserdefault.c (check_is_folder): fully removed!
woo!,
(check_save_entry): add is_folder argument,
(gtk_file_chooser_default_get_paths): update check_save_entry() call,
(get_display_name_for_folder): removed,
(confirmation_confirm_get_info_cb): new function which will
handle the confirmation dialog now we have all information for it,
(should_respond_after_confirm_overwrite): replace the call to
get_display_name_for_folder() with an asynchronous solution,
(action_create_folder_cb): request dialog response on successfull
folder creation,
(gtk_file_chooser_default_should_respond): update call to
check_save_entry(); replace the check is folder call for "path"
by just using the is_folder return value from check_save_entry();
replaced the check is folder call for "parent_path" with an
asynchronous setup, remainder of that work is now done in
save_entry_get_info_cb(),
(save_entry_get_info_cb): new function.
* gtk/gtkfilechoosermebed.[ch]: add response-requested signal.
* gtk/gtkfilechooserdialog.c, gtk/gtkfilechooserprivate.h: handle
response_requested signal.
* gtk/gtkfilechooserentry.[ch]
(_gtk_file_chooser_entry_get_is_folder): new function.
2005-12-20 Kristian Rietveld <kris@imendio.com>
* gtk/gtkfilechooserdefault.c (ref_path_cb): when called with
!folder, check if node is the node we are looking for (can be
triggered when we call ref_path_cb ourselves after a find_child_node),
(_gtk_file_system_model_path_do): introduce parent_node field;
after finding a child node in a loaded parent node, don't forget
to call ref_path_cb,
(get_children_get_folder_cb): don't forget to set data->node->folder
to the newly acquired folder.
2005-12-20 Kristian Rietveld <kris@imendio.com>
* gtk/gtkfilechooserdefault.c (show_and_select_paths_get_folder_cb):
handle case where the folder we get already finished loading.
* gtk/gtkfilesystemmodel.c (ref_path_cb),
(_gtk_file_system_model_path_do): make this work.
2005-12-19 Kristian Rietveld <kris@imendio.com>
* gtk/gtkfilechooserdefault.c (shortcuts_update_count): modify
in such a way that it can also negatively update the count on
failures,
(get_file_info_finished): handle failures, update save folder
combo box on success,
(shortcuts_insert_path): change the boolean return value into a
void one, also refilter the model and update the save folder combo
box for the non-asynchronous case,
(shortcuts_append_home), (shortcuts_append_desktop),
(shortcuts_add_volumes), (shortcuts_add_current_folder),
(add_shortcuts_get_info_cb): adapt to shortcuts_insert_path() updates.
2005-12-19 Kristian Rietveld <kris@imendio.com>
* gtk/gtkpathbar.[ch]: add handle fields to ButtonData and
GtkPathBar; do correct handle bookkeeping.
* gtk/gtkfilesystemunix.c (load_folder),
(gtk_file_system_unix_get_folder),
(gtk_file_folder_unix_is_finished_loading): add is_finished_loading
field to GtkFileFolderUnix, which is set to true once we are
really finished with loading (previous assumption that we are
always finshed loading is not true anymore).
* gtk/gtkfilesystemmodel.c (got_root_folder_cb): if the folder is
finished loading, list the children and update the root level.
* gtk/gtkfilechooserdefault.c (update_current_folder_get_info_cb):
handle cancellation.
2005-12-16 Kristian Rietveld <kris@imendio.com>
* gtk/gtkfilesystemunix.c: always call the callback, even when
cancelled; ref handles passed to the callback queue functions;
don't set cancelled to TRUE in _cancel_operation(), since operations
in this backend are always completed,
(get_special_icon_name): don't strdup the value of
get_icon_name_for_directory() again.
* gtk/gtkfilechooserbutton.c: adapt to new cancellation policy;
reference all objects which are passed as callback arguments; in the
callback check if the handles match.
* gtk/gtkfilechooserentry.c: likewise.
* gtk/gtkfilechooserdefault.c: likewise. Also changed the shortcut
loading code to be more like the code in GtkFileChooserButton, where
we store all handles in the model and have model_row_free_data
cancel any pending operations,
(shortcuts_model_create): copy the error.
* gtk/gtkfilechooserprivate.h (struct _GtkFileChooserDefault): remove
loading_volumes and loading_bookmarks fields.
* gtk/gtkfilesystem.c (gtk_file_info_free): free icon_name here...
2005-12-13 Kristian Rietveld <kris@imendio.com>
* gtk/gtkfilechooserdefault.c (edited_idle_create_folder_cb): fix
thinko.
* gtk/gtkfilesystemunix.c (dispatch_create_folder_callback),
(queue_create_folder_callback): need to copy/free the path,
(gtk_file_system_unix_create_folder): put the "reget folder" hack
back in, though it's working different now.
2005-12-13 Kristian Rietveld <kris@imendio.com>
* gtk/gtkfilechooserbutton.c (gtk_file_chooser_button_finalize),
(dnd_select_folder_get_info_cb), (gtk_file_chooser_drag_data_received),
(change_icon_theme_get_info_cb), (change_icon_theme),
(model_add_special_get_info_cb), (model_add_special),
(update_label_get_info_cb), (update_label_and_image): cancel existing
operations, if any; added apprioriate fields to
GtkFileChooserButtonPrivate.
2005-12-13 Kristian Rietveld <kris@imendio.com>
* gtk/gtkfilechooserentry.c (gtk_file_chooser_entry_finalize): if
there's a folder loading, cancel the operation,
(load_directory_get_folder_callback): set the loading folder handle
to NULL,
(load_directory_callback): cancel any currently loading folders
before starting a new get folder operation.
2005-12-13 Kristian Rietveld <kris@imendio.com>
* gtk/gtkfilechooserdefault.c (shortcuts_insert_path): don't overwrite
data if it's already set (for example by the "is volume" case).
2005-12-13 Kristian Rietveld <kris@imendio.com>
* gtk/gtkfilechooserbutton.c (set_info_get_info_cb),
(set_info_for_path_at_iter): store a row reference in the temporary
data structure and not an iter,
(model_add_special), (model_update_current_folder),
(gtk_file_chooser_button_add_shorcut_folder): remove unused pixbuf
variable.
2005-12-13 Kristian Rietveld <kris@imendio.com>
* gtk/gtkfilechooserdefault.c (get_file_info_finished),
(shortcuts_insert_path): replace gtk_file_system_render_icon() call
with gtk_file_system_get_file_info(),
(gtk_file_chooser_default_add_shortcut_folder),
(gtk_file_chooser_default_remove_shortcut_folder): handle shortcuts
which are still loading.
* gtk/gtkfilechooserprivate.h: add shortcuts_loading field to
struct _GtkFileChooserDefault.
* gtk/gtkfilechooserbutton.c (set_info_get_info_cb),
(set_info_for_path_at_iter), (model_free_row_data): keep handle
and path together; now supports adding/removing shortcuts
which are still loading.
2005-12-13 Kristian Rietveld <kris@imendio.com>
* gtk/gtkfilesystem.c: make the cancelled field an GObject property.
2005-12-13 Kristian Rietveld <kris@imendio.com>
* gtk/gtkfilesystem.h: make the GError argument in the callbacks
const.
* gtk/gtkfilechooserbutton.c: update callbacks,
* gtk/gtkfilechooserentry.c: likewise,
* gtk/gtkfilechooserdefault.c: likewise,
* gtk/gtkfilesystemmodel.c: likewise,
* gtk/gtkpathbar.c: likewise.
* gtk/gtkfilechooserdefault.c (edited_idle_create_folder_cb): copy
the error which will be passed to error_creating_folder_dialog(),
(action_create_folder_cb): likewise,
(file_list_drag_data_received_get_info_cb): add forgotten GError
declaration.
2005-12-13 Kristian Rietveld <kris@imendio.com>
* gtk/gtkpathbar.c (get_button_image), (set_button_image),
(set_button_image_get_info_cb),
(gtk_path_bar_update_button_appearance): update to new icon
rendering call.
2005-12-09 Kristian Rietveld <kris@imendio.com>
* gtk/gtkfilechooserdefault.c (file_list_drag_data_received),
(gtk_file_chooser_default_add_shortcut_folder),
(shortcuts_activate_get_info_cb): replace synchronous check_is_folder
calls with an async gtk_file_system_get_info() solution.
2005-12-09 Kristian Rietveld <kris@imendio.com>
* gtk/gtkfilesystem.c (icon_cache_element_free), (icon_theme_changed),
(get_cached_icon), (gtk_file_info_render_icon): implement pixbuf
caching as found in the file system backends.
2005-12-09 Kristian Rietveld <kris@imendio.com>
* gtk/gtk.symbols: updated.
* gtk/gtkfilesystem.[ch] (struct GtkFileInfo): added icon_name field,
(enum GtkFileInfoType): added GTK_FILE_INFO_ICON,
(gtk_file_info_set_icon_name): new function,
(gtk_file_info_render_icon): new function,
(gtk_file_system_render_icon): removed.
* gtk/gtkfilesystemunix.c (gtk_file_system_unix_render_icon): removed,
(create_file_info): fill icon_name field if required,
(get_*_icon): modified to suit create_file_info() better.
* gtk/gtkfilechooserbutton.c: modified to use
gtk_file_info_render_icon() instead of gtk_file_system_render_icon().
* gtk/gtkfilechooserdefault.c: likewise.
2005-12-06 Kristian Rietveld <kris@imendio.com>
* gtk/gtkfilechooserdefault.c (get_file_info_finished),
(update_current_folder_get_info_cb): fix mem leaks.
* gtk/gtkfilesystemunix.c (gtk_file_system_unix_get_info): ditto.
* gtk/gtkpathbar.c (gtk_path_bar_set_path_finish): ditto.
2005-12-06 Kristian Rietveld <kris@imendio.com>
* gtk/gtkfilechooserbutton.c (dnd_select_folder_get_info_cb),
(gtk_file_chooser_button_drag_data_received): make asynchronous,
(update_label_and_image): remove unused variable.
* gtk/gtkfilechooserdefault.c
(gtk_file_chooser_default_update_current_folder): split in two
functions, so we can have the is_folder check back.
* gtk/gtkfilechooserprivate.h: add update_current_folder_handle
field.
2005-12-06 Kristian Rietveld <kris@imendio.com>
* gtk/gtkfilechooserdefault.c (show_and_select_paths): fixed a typo.
2005-12-05 Federico Mena Quintero <federico@ximian.com>
(merge from HEAD)
* gtk/gtkfilechooserdefault.c (trap_activate_cb): "event->state &
modifiers", not "event->state && modifiers". Patch by Sadrul
Habib Chowdhury <imadil@gmail.com>. Fixes bug #323073.
2005-12-06 Kristian Rietveld <kris@imendio.com>
Beginnings of an asynchronous file chooser.
* gtk/gtkfilechooserbutton.c: display name and the is folder property
are now asynchronously set using set_info_for_at_path_iter(), the
is folder property is now also stored in the tree model.
* gtk/gtkfilechooserdefault.c: lots of changes to the shortcuts
model code to make it operate asynchronously, check_is_folder() has
been "disabled" for now, all other synchronous calls were
replaced with asychronous ones.
* gtk/gtkfilechooserentry.c: update call to
gtk_file_system_get_folder().
* gtk/gtkfilechooserprivate.h: added two fields.
* gtk/gtkfilesystem.[ch]: for about 85% changed to the changes
outlined in the proposal discussed on gtk-devel-list.
* gtk/gtkfilesystemmodel.[ch]: updated all asynchronous calls,
_gtk_file_system_model_path_do() basically had to be rewritten
(and I still need to finish that).
* gtk/gtkfilesystemunix.c: changed to be compatible with the new
GtkFileSystem interface.
* gtk/gtkpathbar.c (button_clicked_cb): block/unblock the
button_clicked_cb callback around the call to
gtk_toggle_button_set_active(), avoids button_clicked_cb getting
called twice.
(_gtk_path_bar_set_path): refactored to be asynchronous.

500
ChangeLog.gtk-printing Normal file
View File

@@ -0,0 +1,500 @@
2006-04-17 Matthias Clasen <mclasen@redhat.com>
* docs/tools/widgets.c (get_all_widgets): Add print dialog
and page setup dialog.
2006-04-11 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkpapersize.c (gtk_paper_size_get_display_name):
Call gettext on the standard paper names.
2006-04-11 Alexander Larsson <alexl@redhat.com>
* gdk/gdk.symbols:
* gdk/win32/gdkevents-win32.c:
* gdk/win32/gdkwin32.h:
Add gdk_win32_set_modal_dialog_libgtk_only that we
need for handling the mainloop in the print dialogs.
* gtk/gtkprintoperation-win32.c:
Pump the gtk+ mainloop when needed in the print dialogs.
This means gtk+ windows will redraw while the print dialogs
are up.
2006-04-10 Alexander Larsson <alexl@redhat.com>
* gtk/gtkprintoperation-win32.c:
Better size handling.
Save win32-specific settings in additions to the generic ones
if the generic one is lossy.
2006-04-10 Alexander Larsson <alexl@redhat.com>
* gtk/gtkprintoperation-win32.c:
Finish implementing run_page_setup_dialog.
* gtk/gtkpagesetup.h:
* gtk/gtkpapersize.h:
* gtk/gtkprint-win32.h:
* gtk/gtkprintcontext.h:
* gtk/gtkprinter-private.h:
* gtk/gtkprintoperation-private.h:
* gtk/gtkprintoperation-unix.c:
* gtk/gtkprintoperation.h:
* gtk/gtkprintsettings.h:
s/EGG/GTK/
2006-04-09 Matthias Clasen <mclasen@redhat.com>
* gtk+-unix-print-2.0.pc.in: Fix a typo (#337698)
2006-04-07 Matthias Clasen <mclasen@redhat.com>
* gtk/paper_names_offsets.c:
* gtk/gen-paper-names.c: Correct the suffix/duplicate optimizations.
2006-04-07 Alexander Larsson <alexl@redhat.com>
* gtk/gtkprintoperation-win32.c:
Initial work on gtk_print_run_page_setup_dialog.
Not reading margins yet.
2006-04-07 Alexander Larsson <alexl@redhat.com>
* gtk/Makefile.am:
Link to winspool
* gtk/gtk.symbols:
* gtk/gtkprintoperation-private.h:
* gtk/gtkprintoperation-unix.c:
* gtk/gtkprintoperation.[ch]:
Add gtk_print_operation_get_status_string() and status
string to _gtk_print_operation_set_status.
Rename GTK_PRINT_STATUS_PROCESSING to GTK_PRINT_STATUS_PRINTING.
* gtk/gtkprintoperation-win32.c:
Poll for status updates
* modules/printbackends/cups/gtkprintbackendcups.c:
Rename GTK_PRINT_STATUS_PROCESSING to GTK_PRINT_STATUS_PRINTING.
* tests/print-editor.c:
Show print status string
2006-04-06 Matthias Clasen <mclasen@redhat.com>
* gtk/paper_names_offsets.c:
* gtk/gtkpapersize.c: Save 4K of .data by converting
the array of paper names to offsets.
* gtk/gen-paper-names.c: Utility used to create
paper_names_offsets.c from paper_names.c.
* gtk/Makefile.am: Necessary glue.
2006-04-06 Alexander Larsson <alexl@redhat.com>
* gtk/gtkprintoperation-win32.c:
Use glib base64 code.
Set up manual_* vars fully.
2006-04-06 Alexander Larsson <alexl@redhat.com>
* gtk/Makefile.am:
Add -lcomdlg32 on win32
* gtk/gtkprint-win32.h:
Move WINVER define to .c files
* gtk/gtk.symbols:
* gtk/gtkprintoperation-win32.c:
Add empty gtk_print_run_page_setup win implementation
Move WINVER define to this file
* modules/Makefile.am:
Only build print backends on unix
2006-04-05 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkprintunixdialog.c:
* gtk/gtkprintoperation-unix.c: Use GTK_RESPONSE_CANCEL/OK
instead of GTK_RESPONSE_REJECT/ACCEPT, to make Esc close
the dialog, and to not use values which are documented
as reserved for apps.
2006-04-05 Alexander Larsson <alexl@redhat.com>
* modules/printbackends/lpr/gtkprintbackendlpr.c:
Don't hardcode lpr command, expose full commandline.
2006-04-05 Alexander Larsson <alexl@redhat.com>
* gtk/gtkpagesetupunixdialog.c:
* gtk/gtkprintunixdialog.c:
Don't check for printer changes after dialog is dead.
* gtk/gtkprintbackend.c: (gtk_print_backend_load_modules):
Strip whitespace from backend strings
* gtk/gtkprintbackend.h:
Add private printer functions
* gtk/gtkprinter-private.h:
Move GtkPrinterPrivate into gtkprinter.c
* gtk/gtkprinter.[ch]:
Move GtkPrinterPrivate into gtkprinter.c
Add new construct properties.
Add setter functions.
* modules/printbackends/cups/gtkprintbackendcups.c:
* modules/printbackends/cups/gtkprintercups.[ch]:
Update to new APIs.
* modules/printbackends/lpr/Makefile.am:
* modules/printbackends/lpr/gtkprintbackendlpr.c:
* modules/printbackends/lpr/gtkprinterlpr.[ch]
Update to new APIs.
Remove GtkPrinterLPR.
Read/Save command line option in settings
* modules/printbackends/pdf/Makefile.am:
* modules/printbackends/pdf/gtkprintbackendpdf.c:
* modules/printbackends/pdf/gtkprinterpdf.[ch]:
Update to new APIs.
Remove GtkPrinterPDF.
2006-04-04 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkprintoperation.h: Add missing standard
GObject macros. (#337277, Yevgen Muntyan)
2006-04-04 Alexander Larsson <alexl@redhat.com>
* gtk/gtkprinteroption.[ch]:
Add gtk_printer_option_has_choice.
* gtk/gtkprintunixdialog.c:
* modules/printbackends/cups/gtkprintbackendcups.c:
Add support for "print at time".
2006-04-04 Alexander Larsson <alexl@redhat.com>
* gtk/gtkpapersize.c:
Handle ppd names with ".Transverse" suffix
Don't force width < height
* gtk/gtkprinteroption.c:
Make sure that value is never NULL.
* modules/printbackends/cups/gtkprintbackendcups.c:
Add some HP whitelist names
Remove spew from ignored options.
2006-04-03 Alexander Larsson <alexl@redhat.com>
* gtk/gtkpagesetupunixdialog.c:
Fix warnings
* gtk/gtkprinter-private.h:
* gtk/gtkprinter.[ch]:
Add gtk_printer_is_default.
* gtk/gtkprintunixdialog.c:
Use gtk_printer_is_default.
* modules/printbackends/cups/gtkprintbackendcups.c:
Get default printer info
* modules/printbackends/pdf/gtkprintbackendpdf.c:
Fix warning.
2006-04-03 Alexander Larsson <alexl@redhat.com>
* modules/printbackends/pdf/gtkprintbackendpdf.c:
* modules/printbackends/pdf/gtkprinterpdf.[ch]:
Correctly read/write/use the output filename setting.
2006-04-03 Alexander Larsson <alexl@redhat.com>
* gtk/gtkpagesetupunixdialog.c:
Disable margin from printers if there are no printers.
* gtk/gtkpapersize.c:
Fix build.
2006-04-01 Matthias Clasen <mclasen@redhat.com>
* gtk/gtk.symbols: protect unix-only symbols by
G_OS_UNIX (#336819, Yevgen Muntyan)
* gtk/gtkpapersize.c: Win32 fixes. (#336806, Yevgen Muntyan)
2006-03-30 Alexander Larsson <alexl@redhat.com>
* gtk/gtk.symbols:
Update
* gtk/gtkprintbackend.[ch]:
Add dnotify to gtk_print_backend_print_stream
* gtk/gtkprinter-private.h:
Declare gtk_print_job_set_status
* gtk/gtkprinter.[ch]:
Remove gtk_printer_prepare_job.
* gtk/gtkprintjob.[ch]:
Now you create print job directly with gtk_print_job_new() and
they'll be prepared automatically.
Add status_changed signal and get_status.
Add gtk_print_job_set_source_file to allow sending a file.
* gtk/gtkprintoperation-private.h:
Add destroy notify for platform_data.
Declare _gtk_print_operation_set_status.
* gtk/gtkprintoperation-unix.c:
Hook up status change handling.
Use the new way to get a print job.
* gtk/gtkprintoperation.[ch]:
Add status_changed signal and get_status/is_finished.
* modules/printbackends/cups/gtkprintbackendcups.c:
* modules/printbackends/lpr/gtkprintbackendlpr.c:
* modules/printbackends/pdf/gtkprintbackendpdf.c:
Update to use new APIs and set status on the job.
Cups polls for the status.
* tests/print-editor.c:
Track the print operations in the status bar.
2006-03-30 Alexander Larsson <alexl@redhat.com>
* gtk/Makefile.am:
* gtk/gtkprintbackend.c:
Default to "pdf,cups" if we found cups, and
"pdf,lpr" otherwise.
2006-03-29 Matthias Clasen <mclasen@redhat.com>
* modules/printbackends/Makefile.am:
* configure.in: Don't build the cups backend
if cups is not there.
2006-03-29 Alexander Larsson <alexl@redhat.com>
* gtk/gtk.symbols:
gtk_printer_prep_job -> gtk_printer_prepare_job
gtk_print_job_prep -> gtk_print_job_prepare
* gtk/gtkprintbackend.h:
* gtk/gtkprinter-private.h:
* gtk/gtkprinter.[ch]:
Add print_job argument to printer_prepare_for_print
gtk_printer_prep_job -> gtk_printer_prepare_job
* gtk/gtkprintjob.[ch]:
Add manual rendering settings to GtkPrintJob.
gtk_print_job_prep -> gtk_print_job_prepare
* gtk/gtkprintoperation-private.h:
* gtk/gtkprintoperation-unix.c:
* gtk/gtkprintoperation.c:
Get more manual_* settings working.
Run mainloop after each printed page.
* gtk/gtkprintunixdialog.c:
Save page ranges.
* modules/printbackends/cups/gtkprintbackendcups.c:
* modules/printbackends/lpr/gtkprintbackendlpr.c:
* modules/printbackends/pdf/gtkprintbackendpdf.c:
Now put the manual_* settings inside the PrintJob in
prepare_for_print.
2006-03-29 Alexander Larsson <alexl@redhat.com>
* gtk/gtkprintunixdialog.c:
Make sure we remember the format-for printer.
Also, use it as the default if set.
2006-03-28 Alexander Larsson <alexl@redhat.com>
* gtk/gtkprintunixdialog.c:
Remove unnecessary padding under list.
2006-03-28 Alexander Larsson <alexl@redhat.com>
* gtk/gtkpagesetupunixdialog.c:
* gtk/gtkprintunixdialog.c:
More HIGy layout.
2006-03-28 Alexander Larsson <alexl@redhat.com>
* gtk/gtkpagesetupunixdialog.c:
HIG conformance of spacing and titles.
* gtk/gtkprintunixdialog.c:
Use standard constructor form print button too.
2006-03-27 Matthias Clasen <mclasen@redhat.com>
* modules/printbackends/*/Makefile.am: Fix
a problem with builddir != srcdir builds.
(#335915, Yevgen Muntyan)
2006-03-27 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkprintbackend.c: Simply the syntax
of the setting to "cups,pdf", and get rid
of the GScanner used to parse it.
2006-03-27 Alexander Larsson <alexl@redhat.com>
* gtk/gtkprintunixdialog.c:
Reorder print list so status is at the end.
Ellipsize the status column.
2006-03-27 Alexander Larsson <alexl@redhat.com>
* gtk/gtkpagesetupunixdialog.c:
Handle removed printers and status-changed.
Handle NULL printer location.
2006-03-27 Alexander Larsson <alexl@redhat.com>
* gtk/Makefile.am:
* gtk/stock-icons/24/gtk-orientation-landscape.png:
* gtk/stock-icons/24/gtk-orientation-portrait.png:
* gtk/stock-icons/24/gtk-orientation-reverse-landscape.png:
* gtk/gtkiconfactory.c: (get_default_icons):
* gtk/gtkstock.h:
Add orientation stock icons.
* gtk/gtkpagesetupunixdialog.c:
Use the orientation icons.
2006-03-27 Alexander Larsson <alexl@redhat.com>
* gtk/gtkpagesetupunixdialog.c:
* gtk/gtkprintjob.c:
* gtk/gtkprintoperation-unix.c:
* gtk/gtkprintunixdialog.c:
s/impl/dialog/
Don't prefix static functions with _
2006-03-26 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkprintunixdialog.c: Don't use _(""). (#335898,
Christian Persch)
* modules/printbackends/*: Don't use G_DEFINE_TYPE
in modules.
* gtk/gtkprintbackend.c: Remove an unused static function.
2006-03-25 Matthias Clasen <mclasen@redhat.com>
* gtk/gtk.symbols: Add printing symbols
* gtk/gtkpapersize.[hc]:
* gtk/gtkpage*.[hc]:
* gtk/gtkprint*.[hc]: Add aliasing, #include cleanups.
* gtk/gtkprintcontext.h:
* gtk/gtkprintoperation.h:
* gtk/gtkprintsettings.h: Make get_type function const.
* modules/printbackends/pdf/gtkprintbackendpdf.c: Remove
C99ism.
* modules/printbackends/cups/gtkcupsutils.c: Use unsigned
integers for bitfields.
2006-03-24 Matthias Clasen <mclasen@redhat.com>
* gtk/gtknotebook.c: Fix docs
* gtk/Makefile.am (EXTRA_DIST): Add the stock icons here.
* gdk/directfb/Makefile.am (EXTRA_DIST): Remove ChangeLog,
to make make dist happier.
2006-03-24 Alexander Larsson <alexl@redhat.com>
* configure.in:
* gtk/gtkprintbackend.c:
* modules/printbackends/Makefile.am:
* modules/printbackends/cups/Makefile.am:
* modules/printbackends/lpr/Makefile.am:
* modules/printbackends/lpr/gtkprintbackendlpr.[ch]:
* modules/printbackends/lpr/gtkprinterlpr.[ch]:
* modules/printbackends/pdf/Makefile.am:
* modules/printbackends/pdf/gtkprintbackendpdf.[ch]:
* modules/printbackends/pdf/gtkprinterpdf.[ch]:
Import pdf and lpr backend
2006-03-24 Alexander Larsson <alexl@redhat.com>
Import print-operation into gtk+
* .cvsignore:
* Makefile.am:
* gtk+-unix-print-2.0.pc.in:
Add gtk+-unix-print-2.0.pc
* configure.in:
Look for cups
Look for various _NL_* extensions
Output new makefiles and .pc.in
* gtk/Makefile.am:
Add new files
* gtk/gtk.h:
Include gtkprintoperation.h
* gtk/gtkenums.h:
Add printing enums
* gtk/gtkmarshalers.list:
Add required new marshallers
* gtk/gtkpagesetup.[ch]:
* gtk/gtkpagesetupunixdialog.[ch]:
* gtk/gtkpagesetupunixdialog.h:
* gtk/gtkpapersize.[ch]:
* gtk/gtkprint-win32.[ch]:
* gtk/gtkprintbackend.[ch]:
* gtk/gtkprintcontext.[ch]:
* gtk/gtkprinter-private.h:
* gtk/gtkprinter.[ch]:
* gtk/gtkprinteroption.[ch]:
* gtk/gtkprinteroptionset.[ch]:
* gtk/gtkprinteroptionwidget.[ch]:
* gtk/gtkprintjob.[ch]:
* gtk/gtkprintoperation-private.h:
* gtk/gtkprintoperation-unix.c:
* gtk/gtkprintoperation-win32.c:
* gtk/gtkprintoperation.[ch]:
* gtk/gtkprintsettings.[ch]:
* gtk/gtkprintunixdialog.[ch]:
* gtk/paper_names.c:
Generic printing support
* modules/Makefile.am:
* modules/printbackends/Makefile.am:
* modules/printbackends/cups/Makefile.am:
* modules/printbackends/cups/gtkcupsutils.[ch]:
* modules/printbackends/cups/gtkprintbackendcups.[ch]:
* modules/printbackends/cups/gtkprintercups.[ch]:
Cups backend
* tests/.cvsignore:
* tests/Makefile.am:
* tests/print-editor.c:
Add printing test app

4961
ChangeLog.pre-1-0 Normal file

File diff suppressed because it is too large Load Diff

9106
ChangeLog.pre-1-2 Normal file

File diff suppressed because it is too large Load Diff

28743
ChangeLog.pre-2-0 Normal file

File diff suppressed because it is too large Load Diff

9300
ChangeLog.pre-2-10 Normal file

File diff suppressed because it is too large Load Diff

7358
ChangeLog.pre-2-2 Normal file

File diff suppressed because it is too large Load Diff

11857
ChangeLog.pre-2-4 Normal file

File diff suppressed because it is too large Load Diff

7235
ChangeLog.pre-2-6 Normal file

File diff suppressed because it is too large Load Diff

5381
ChangeLog.pre-2-8 Normal file

File diff suppressed because it is too large Load Diff

55
HACKING Normal file
View File

@@ -0,0 +1,55 @@
If you want to hack on the GTK+ project, you'll need to have
the following packages installed:
- GNU autoconf 2.52
- GNU automake 1.4
- GNU libtool 1.4
- indent (GNU indent 1.9.1 is known good)
- GNU gettext 10.40
These should be available by ftp from ftp.gnu.org or any of the
fine GNU mirrors. Beta software can be found at alpha.gnu.org.
In order to get CVS gtk+ installed on your system, you need to have
the most recent CVS version of glib, pango, and atk installed as well.
The installation process of these libraries is similar to that of gtk+, but
needs to be fulfilled prior to installation of gtk+.
To compile a CVS version of gtk+ on your system, you will need to take
several steps to setup the tree for compilation. You can do all these
steps at once by running:
cvsroot/gtk+# ./autogen.sh
Basically this does the following for you:
cvsroot/gtk+# aclocal; automake; autoconf
The above commands create the "configure" script. Now you
can run the configure script in cvsroot/gtk+ to create all
the Makefiles.
Before running autogen.sh or configure, make sure you have libtool
in your path.
Note that autogen.sh runs configure for you. If you wish to pass
options like --prefix=/usr to configure you can give those options
to autogen.sh and they will be passed on to configure.
If at all possible, please use CVS to get the latest development version of
gtk+ and glib. You can do the following to get glib and gtk+ from cvs:
$ export CVSROOT=':pserver:anonymous@cvs.gnome.org:/cvs/gnome'
$ cvs login
(there is no password, just hit return)
$ cvs -z3 checkout glib
$ cvs -z3 checkout pango
$ cvs -z3 checkout atk
$ cvs -z3 checkout gtk+
For information about submitting patches and commiting changes
to CVS, see the README and README.cvs-commits files. In particular,
don't, under any circumstances, commit anything to CVS before
reading and understanding README.cvs-commmits.

39
INSTALL Normal file
View File

@@ -0,0 +1,39 @@
Prerequisites
=============
GTK+ requires the following packages:
- The GLib, Pango, ATK and cairo libraries, available at the same
location as GTK+. GTK+ 2.10.14 requires at least GLib 2.12,
Pango 1.13, ATK 1.9 and cairo 1.2.
- The TIFF, PNG, and JPEG image loading libraries. You most
likely have these installed on your system already. If not
these libraries are available from:
http://www.libtiff.org/
http://www.libpng.org/
http://www.ijg.org/
Simple install procedure
========================
% gzip -cd gtk+-2.10.14.tar.gz | tar xvf - # unpack the sources
% cd gtk+-2.10.14 # change to the toplevel directory
% ./configure # run the `configure' script
% make # build GTK+
[ Become root if necessary ]
% make install # install GTK+
The Details
===========
Complete information about installing GTK+ and related libraries can be found
in the file:
docs/reference/gtk/html/gtk-building.html
Or online at:
http://developer.gnome.org/doc/API/2.0/gtk/gtk-building.html

39
INSTALL.in Normal file
View File

@@ -0,0 +1,39 @@
Prerequisites
=============
GTK+ requires the following packages:
- The GLib, Pango, ATK and cairo libraries, available at the same
location as GTK+. GTK+ @GTK_VERSION@ requires at least GLib 2.12,
Pango 1.13, ATK 1.9 and cairo 1.2.
- The TIFF, PNG, and JPEG image loading libraries. You most
likely have these installed on your system already. If not
these libraries are available from:
http://www.libtiff.org/
http://www.libpng.org/
http://www.ijg.org/
Simple install procedure
========================
% gzip -cd gtk+-@GTK_VERSION@.tar.gz | tar xvf - # unpack the sources
% cd gtk+-@GTK_VERSION@ # change to the toplevel directory
% ./configure # run the `configure' script
% make # build GTK+
[ Become root if necessary ]
% make install # install GTK+
The Details
===========
Complete information about installing GTK+ and related libraries can be found
in the file:
docs/reference/gtk/html/gtk-building.html
Or online at:
http://developer.gnome.org/doc/API/2.0/gtk/gtk-building.html

7
MAINTAINERS Normal file
View File

@@ -0,0 +1,7 @@
Email: mclasen@redhat.com
Email: timj@gtk.org
Note that a lot of people are contributing to GTK+, and some parts of it
are technically maintained by other people. The people listed above are
meant as contacts for administrative questions such as cvs accounts. Other
questions are best directed to the mailing list gtk-devel-list@gnome.org.

198
Makefile.am Normal file
View File

@@ -0,0 +1,198 @@
## Makefile.am for GTK+
SRC_SUBDIRS = gdk-pixbuf gdk gtk modules demos tests perf contrib
SUBDIRS = po po-properties $(SRC_SUBDIRS) docs m4macros
# require automake 1.4
AUTOMAKE_OPTIONS = 1.7
EXTRA_DIST = \
HACKING \
makecopyright \
NEWS.pre-1-0 \
ChangeLog.pre-1-0 \
ChangeLog.pre-1-2 \
ChangeLog.pre-2-0 \
ChangeLog.pre-2-2 \
ChangeLog.pre-2-4 \
ChangeLog.pre-2-6 \
ChangeLog.pre-2-8 \
ChangeLog.gtk-async-file-chooser \
ChangeLog.gtk-printing \
README.cvs-commits \
README.win32 \
config.h.win32 \
makefile.msc \
gtk-zip.sh.in \
sanitize-la.sh \
po/README.translators \
po/po2tbl.sed.in \
examples/aspectframe/Makefile \
examples/aspectframe/aspectframe.c \
examples/Makefile \
examples/README.1ST \
examples/extract.awk \
examples/extract.sh \
examples/arrow/Makefile \
examples/arrow/arrow.c \
examples/base/Makefile \
examples/base/base.c \
examples/buttonbox/Makefile \
examples/buttonbox/buttonbox.c \
examples/buttons/Makefile \
examples/buttons/buttons.c \
examples/buttons/info.xpm \
examples/calendar/Makefile \
examples/calendar/calendar.c \
examples/clist/Makefile \
examples/clist/clist.c \
examples/entry/Makefile \
examples/entry/entry.c \
examples/eventbox/Makefile \
examples/eventbox/eventbox.c \
examples/filesel/Makefile \
examples/filesel/filesel.c \
examples/gtkdial/Makefile \
examples/gtkdial/dial_test.c \
examples/gtkdial/gtkdial.c \
examples/gtkdial/gtkdial.h \
examples/helloworld/Makefile \
examples/helloworld/helloworld.c \
examples/helloworld2/Makefile \
examples/helloworld2/helloworld2.c \
examples/label/Makefile \
examples/label/label.c \
examples/list/Makefile \
examples/list/list.c \
examples/menu/Makefile \
examples/menu/menu.c \
examples/menu/itemfactory.c \
examples/notebook/Makefile \
examples/notebook/notebook.c \
examples/packbox/Makefile \
examples/packbox/packbox.c \
examples/paned/Makefile \
examples/paned/paned.c \
examples/pixmap/Makefile \
examples/pixmap/pixmap.c \
examples/progressbar/Makefile \
examples/progressbar/progressbar.c \
examples/radiobuttons/Makefile \
examples/radiobuttons/radiobuttons.c \
examples/rangewidgets/Makefile \
examples/rangewidgets/rangewidgets.c \
examples/rulers/Makefile \
examples/rulers/rulers.c \
examples/scribble-simple/Makefile \
examples/scribble-simple/scribble-simple.c \
examples/scribble-xinput/Makefile \
examples/scribble-xinput/scribble-xinput.c \
examples/scrolledwin/Makefile \
examples/scrolledwin/scrolledwin.c \
examples/selection/Makefile \
examples/selection/gettargets.c \
examples/selection/setselection.c \
examples/statusbar/Makefile \
examples/statusbar/statusbar.c \
examples/table/Makefile \
examples/table/table.c \
examples/text/Makefile \
examples/text/text.c \
examples/tictactoe/Makefile \
examples/tictactoe/tictactoe.c \
examples/tictactoe/tictactoe.h \
examples/tictactoe/ttt_test.c \
examples/tree/Makefile \
examples/tree/tree.c \
examples/wheelbarrow/Makefile \
examples/wheelbarrow/wheelbarrow.c \
examples/fixed/fixed.c \
examples/fixed/Makefile \
examples/frame/frame.c \
examples/frame/Makefile \
examples/spinbutton/spinbutton.c \
examples/spinbutton/Makefile \
examples/find-examples.sh
GDKTARGET=@gdktarget@
## Copy .pc files to target-specific names
gtk+-$(GDKTARGET)-2.0.pc: gtk+-2.0.pc
rm -f gtk+-$(GDKTARGET)-2.0.pc && \
cp gtk+-2.0.pc gtk+-$(GDKTARGET)-2.0.pc
gdk-$(GDKTARGET)-2.0.pc: gdk-2.0.pc
rm -f gdk-$(GDKTARGET)-2.0.pc && \
cp gdk-2.0.pc gdk-$(GDKTARGET)-2.0.pc
gtk+-$(GDKTARGET)-2.0-uninstalled.pc: gtk+-2.0-uninstalled.pc
rm -f gtk+-$(GDKTARGET)-2.0-uninstalled.pc && \
cp gtk+-2.0-uninstalled.pc gtk+-$(GDKTARGET)-2.0-uninstalled.pc
gdk-$(GDKTARGET)-2.0-uninstalled.pc: gdk-2.0-uninstalled.pc
rm -f gdk-$(GDKTARGET)-2.0-uninstalled.pc && \
cp gdk-2.0-uninstalled.pc gdk-$(GDKTARGET)-2.0-uninstalled.pc
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA= gdk-pixbuf-2.0.pc gdk-$(GDKTARGET)-2.0.pc gtk+-$(GDKTARGET)-2.0.pc
if OS_UNIX
pkgconfig_DATA += gtk+-unix-print-2.0.pc
endif
DISTCLEANFILES = \
gtk+-unix-print-2.0.pc \
gtk+-$(GDKTARGET)-2.0.pc \
gdk-$(GDKTARGET)-2.0.pc \
gtk+-$(GDKTARGET)-2.0-uninstalled.pc \
gdk-$(GDKTARGET)-2.0-uninstalled.pc
## copy the default target for this platform to gdk-2.0.pc and gtk+-2.0.pc
DEFAULT_GDKTARGET=x11
install-data-hook:
(cd $(DESTDIR)$(pkgconfigdir) && \
test -f gdk-$(DEFAULT_GDKTARGET)-2.0.pc && \
test -f gtk+-$(DEFAULT_GDKTARGET)-2.0.pc && \
rm -f gdk-2.0.pc && cp -f gdk-$(DEFAULT_GDKTARGET)-2.0.pc gdk-2.0.pc && \
rm -f gtk+-2.0.pc && cp -f gtk+-$(DEFAULT_GDKTARGET)-2.0.pc gtk+-2.0.pc) || \
(cd $(DESTDIR)$(pkgconfigdir) && \
rm -f gdk-2.0.pc && cp -f gdk-$(GDKTARGET)-2.0.pc gdk-2.0.pc && \
rm -f gtk+-2.0.pc && cp -f gtk+-$(GDKTARGET)-2.0.pc gtk+-2.0.pc)
uninstall-local:
rm -f $(DESTDIR)$(pkgconfigdir)/gdk-2.0.pc
rm -f $(DESTDIR)$(pkgconfigdir)/gtk+-2.0.pc
dist-hook:
if test -f $(srcdir)/INSTALL.in && test -f $(srcdir)/README.in ; then \
CONFIG_FILES="INSTALL:$(srcdir)/INSTALL.in README:$(srcdir)/README.in" \
CONFIG_HEADERS= \
$(SHELL) config.status \
&& cp INSTALL README $(distdir) ; \
fi
.PHONY: files release sanity snapshot
files:
@files=`ls $(DISTFILES) 2> /dev/null `; for p in $$files; do \
echo $$p; \
done
@for subdir in $(SUBDIRS); do \
files=`cd $$subdir; $(MAKE) files | grep -v "make\[[1-9]\]"`; \
for file in $$files; do \
echo $$subdir/$$file; \
done; \
done
release:
rm -rf .deps */.deps
$(MAKE) distcheck
sanity:
./sanity_check $(VERSION)
snapshot:
$(MAKE) dist distdir=$(PACKAGE)-snap`date +"%Y%m%d"`
DISTCHECK_CONFIGURE_FLAGS = --enable-gtk-doc --enable-man --disable-rebuilds

11740
NEWS

File diff suppressed because it is too large Load Diff

View File

@@ -1,903 +0,0 @@
Overview of Changes in GTK+ 2.0.0
=================================
* GtkTreeView fixes [Jonathan Blandford, Kristian Rietveld, Darin Adler]
* Build fixes [Anders Carlsson, Tor Lillqvist, Manish Singh]
* Bug fixes. [Thomas Leonard, Owen Taylor]
Overview of Changes in GTK+ 2.0.0 rc1
=====================================
* GtkTreeView fixes [Kristian Rietveld, Jonathan Blandford, Richard Hult]
* Text widget fixes [Havoc Pennington]
* Efficiency fixes when using Xft [Owen Taylor]
* Key handling fixes and other fixes for Win32 [Hans Breuer, Tor Lillqvist]
* Try to fix key handling without XKEYBOARD extension [Owen]
* Documentation fixes and improvements
[Matthias Clasen, Alexey Malyshev, Akira Tagoh, Vitaly Tishkov]
* Widget drawing improvements [Soeren Sandmann]
* Allow cycling between multiple menu bars with <Control>Tab [Owen]
* Try to build libraries with only shared library dependencies on Xft to
deal with transition to Xft2 [Owen]
* Portability fixes [Owen, Miroslaw Dobrzanski-Neumann]
* Don't use red as the default cursor color [Owen]
* Bug fixes, bug fixes, bug fixes.
Other contributors: Darin Adler, Jacob Berkman, Kevin Breit, Hans Breuer,
Anders Carlsson, Damon Chaplin, Finlay Dobbie, Jody Goldberg,
Andreas J. Guelzow, Scott Guilbeaux, Vlad Harchev, James Henstridge,
Tim Janik, Satyajit Kanungo, Charles Kerr, Sergey Kuzminov, Miles Lane,
Alexander Larsson, Paolo Maggi, Skip Montaro, Jan Mynarik, Sven Neumann,
Padraig O'Briain, Narayani Pattipati, Mark Patton, Havoc Pennington,
Ettore Perazzoli, Guillermo S. Romero, Manish Singh, Morten Welinder
Overview of Changes in GTK+ 1.3.15
==================================
* New stock and improved icon images
[Tuomas Kuosmanen, Jakub Steiner, Anders Carlsson]
* Widget drawing improvements for check and radio buttons,
spinbuttons [Soeren Sandmann]
* Clean up module search path algorithm, use GTK_PATH [Owen Taylor]
* Add GtkSetting for font name. [Richard Hestilow]
* Much improved key matching code, accelerators work independent
of group [Owen]
* Make mnemonics work for embedded GtkPlug widgets [Owen]
* Keynav improvements for GtkTreeView [Kristian Rietveld]
* Fix gtk_tree_view_scroll_to_cell() [Jonathan Blandford]
* Rename gtk_tree_view_get_iter_root() and gtk_tree_path_new_root()
to gtk_tree_view_get_iter_first() and gtk_tree_path_new_first(),
add compatibility macros.
* GtkTreeView bug fixes [Kristian, Anders, Damon Chaplin]
* GtkTextView bug fixes [Havoc Pennington]
* Pad class structures for future binary compatibility [Owen]
* Tutorial improvements [Sven Neumann, Matthias Clasen]
* Fixes for MULTIPLE selection target [Gregory Merchan, Owen]
* Fix problems with initial widget size [Owen]
* AIX compilation fixes [Miroslaw Dobrzanski-Neumann]
* Win32 fixes [Hans Breuer, Tor Lillqvist]
* Miscellaneous bug fixes
Other contributors: David L. Cooper, Eric Fischer, Jody Goldberg,
Satajyit Kanungo, Thomas Leonard, Mark Patton, Manish Singh,
Nicolas Setton
Overview of Changes in GTK+ 1.3.14
==================================
* Keyboard focus improvements [Owen Taylor]
* Code cleanup [Matthias Clasen, Manish Singh, Darin Adler]
* Fix accidentally exported variables [Mark McLoughlin]
* GtkTreeView fixes [Jonathan Blandford, Kristian Rietveld, John Harper, Darin]
* Default to yellow tooltips [Owen]
* RC file fixes for reloading, priorities [Owen, Matthias]
* GtkMenu behavior improvements and bug fixes [Owen, Arnaud Charlet]
* GtkTextView fixes [Havoc Pennington, Daniel Elstner, Dennis Bjorklund]
* Improve keynav for paned widgets, tooltips, spin buttons, notebooks,
scrolled windows [Soeren Sandmann, Padraig, Owen]
* Add Emacs/Default key themes [Owen]
* Win32 fixes [Hans Breuer, Tor Lillqvist]
* Ethiopic input methods [Daniel Yacob]
* Opaque paned window resizing [Soeren]
* Tweak table expansion behavior [Tim Janik]
* Fix GtkCalendar focus drawing [Bill Haneman]
* Allow themeable cursor thickness [Bill]
* Start of fixing of tutorial for GTK+-2.0 [Matthias]
* Add a ::adjust-bounds signal to GtkRange to allow spreadsheet style
scrollbars. [Jody Goldberg]
* Add the ability to turn on multiple selection for GtkFileSel [Manish]
* Bug fixes
Other contributors: Jacob Berkman, Padraig O'Briain, Anders Carlsson,
Johan Dahlin, Richard Hult, Stefan Kost, Alex Larsson, Thomas Leonard,
Paolo Maggi, Alexey Malyshev, Federico Mena Quintero, Skip Montaro,
Sven Neumann, Havoc Pennington, Laszlo Peter, Christian Rose, Joe Shaw,
Kevin Vandersloot, Morten Welinder, Peter Williams
Overview of Changes in GTK+ 1.3.13
==================================
* Tree view fixes. [Kristian Rietveld, Jonathan Blandford, Anders Carlsson]
* Tree view support for low-vision themes [Bill Haneman]
* Text view bug fixes. [Havoc Pennington]
* Win32 fixes and improvements. [Tor Lillqvist, Hans Breuer,
Archaeopteryx Software]
* Documentation improvements [Matthias Clasen, Havoc Pennington]
* Accelerate alpha compositing using RENDER extension if present,
and optimize the non-RENDER case a lot. [Owen Taylor]
* Add support for "optional keybindings" (action signal returns FALSE) [Owen]
* Fixed the infamous changing directory deletes filename bug
[Owen and a cast of thousands]
* Add mouse cursor hiding for text widgets [Anders Carlsson]
* Simple Hangul input module [Yusuke Tabata]
* Removed the scary startup warning.
* GdkPixbuf pixel handling fixes [Owen, Michael Hore, Jim Cape]
* Converted GtkFileSelection and GtkFontSelection to use GtKTreeView widgets
instead of the deprecated GtkCList [Owen]
* gtkhsv.h was installed by mistake, fixed that. [reported by Ross Burton]
* gdk_pixbuf_render_to_drawable() now also handles alpha pixbufs.
* Made Gtkimage draw GtkPixmap, GtkImage, GdkPixbuf insensitive, prelighted,
etc. [Havoc, Owen]
* Marked gtk_item_factory_path_from_widget() G_CONST_RETURN. [Matt Wilson]
* gtk_image_menu_item_new_from_stock() now falls back to
new_with_mnemonic, for consistency with gtk_button_new_from_stock()
[Havoc Pennington]
* GdkModifierType is now consistently used for modifier mask parameters
[Mark Patton]
* gtk_widget_set_accel_path() is now publically exported.
Other contributors: Darin Adler, Jeffrey Baker, Damon Chaplin, Brian Cameron,
Murray Cumming, James Henstridge, Jacob Berkman, Arnaud Charlet, Jeff Franks,
Jeff Garzik, Jody Goldberg, Diego Gonzalez, Melvin Hadasht, Raja Harinath,
Tim Janik, Mike Kestner, Mathieu Lacage, Alex Larsson, Ryan Lovett,
Mark McLoughlin, Sven Neumann, Padraig O'Briain, Xavier Ordoquy, Chris Phelps,
Detlef Reichl, Guillermo S. Romero, Federico Mena Quintero, Manish Singh,
HideToshi Tajima, Vitaly Tishkov, Jon Trowbridge, Sergey Vlasov.
Overview of Changes in GTK+ 1.3.12
==================================
* Fix problems with PNG saving [Michael Natterer]
* Cleanups of deprecated usages [Sebastian Wilhelmi]
* Win32 fixes [Tor Lillqvist]
* Documentation improvements [Matthias Clasen, Havoc Pennington,
Vitaly Tishkov]
* Frame buffer port fixes [Manish Singh]
* GtkTextView bug fixes [Havoc Pennington, Chris Phelps]
* Menu behavior improvements [Kristian Rietveld]
* Make focus line width configurable, focus color work on
dark themes. [Bill Haneman, Owen Taylor]
* Add state argument to gtk_paint_focus() [Bill]
* Added incremental revalidation to tree view, for better apparent speed
[Jonathan Blandford]
* Remove useless gtk_tree_view_column_cell_event() [Jonathan]
* Display XIM status in a separate window [HideToshi Tajima]
* Add GDK_DEBUG=nograbs to disable pointer, keyboard grabs [Jacob Berkman]
* Add menu of Unicode control characters to GtkEntry, GtkTextView
[Dov Grobgeld, Havoc]
* Pass key releases along to input methods [Owen]
* Many bug fixes
Other contributors: Darin Adler, Fabrice Bellet, Chris Blizzard,
Hans Breuer, Anders Carlsson, Damon Chaplin, Murray Cumming, Jeff Franks,
James Henstridge, Tim Janik, Alex Larsson, George Lebl, Kjartan, Maraas,
Sven Neumann, Seth Nickell, Padraig O'Briain, Soeren Sandmann, Manish Singh,
Matt Wilson
Overview of Changes in GTK+ 1.3.11
==================================
* Massive rework of accelerator API and implementation (Tim Janik)
* Major fixes to resizing and redrawing to eliminate hysteresis
and optimize. (Owen Taylor, Soeren Sandmann)
* Make many widgets NO_WINDOW to improve appearance and reduce
drawing overhead (Owen)
* Text view fixes (Havoc Pennington)
* Make child widgets in GtkTextView work (Havoc)
* GtkTreeModelSort fixage (Jonathan Blandford, Kristian Rietveld)
* Clean up GtkTreeView drag and drop support (Owen)
* Misc tree view fixes and improvements (Jonathan, Kristian, Anders, Matt Wilson)
* Add gtk_window_get/set_focus(), gtk_window_set_default() as public
functions (Owen, Damian Ivereigh)
* Fixes to GtkPlug/GtkSocket (Michael Meeks, Owen)
* Change button ordering in standard dialogs to correspond to
GNOME usability project proposal (Gregory Merchan)
* Add support for context sensitivity in input methods (Owen)
* Hook up gtk_im_context_set_use_preedit() (Hidetoshi Tajima)
* Fix gdk_window_scroll() and other aspects of big windows (Owen)
* Remove need for X connection for class initialization (Jacob Berkman)
* Propagate key events to parents of focused widget (Owen)
* Don't export normal GTK+ marshalers, export deprecated compat marshalers (Owen)
* Many Win32 Fixes and improvements (Hans Breuer, Tor Lillqvist)
* Bug and documentation fixing (Matthias Clasen, Anders Carlsson,
Jacob Berkman, others.)
Other Contributors:
Darin Adler, Marius Andreiana, Erwann Chenede, Murray Cumming, Janet Davis,
Daniel Egger, Daniel Elstner, Jeff Franks, Alex Larsson, George Lebl,
Sergey Kuzminov, Eric Lemings, Arkadiusz Miskiewicz, Padraig O'Briain, Sven Neumann,
Kristian Rietveld, Nicolas Setton, Manish Singh, Vitaly Tishkov, Sebastian Wilhelmi,
Michael Natterer
Overview of Changes in GTK+ 1.3.10
==================================
* GtkTextView fixes [Havoc Pennington]
* GtkTreeView fixes and improvements [Jonathan Blandford, Kristian,
Manish Singh, Joshua Pritikin, Oleg Maiboroda, James Henstridge]
* gtkdemo improvements [Kristian Rietveld]
* Drag and drop fixes to generic code and widgets
[Owen Taylor, Damian Ivereigh]
* Documentation improvement [Havoc Pennington, Matthias Clasen]
* Spelling fixes [Jacob Berkman]
* Move signals to the GtkEditable interface [Kristian]
* Further stock image improvements [Jakub Steiner]
* Support text chunks for the PGN loader, add gdk_pixbuf_get_option()
[Sven Neumann]
* Rename gdk_pixbuf_new_from_stream back to new_from_inline [Owen]
* Automatically call setlocale(), unless explicitly disabled [Owen]
* Property addition to various widgets [Michael Meeks, Owen]
* Support building with automake-1.4 [James]
* Make GtkRadioButton groups act as a single focus point [Owen]
* Move gdk_window_lookup etc. to be cross-platform [Matthias]
* Draw spinbuttons variably sized [Kristian]
* Separate GdkAtom out from X atoms for compatibility with future
multihead changes [Owen]
* Require gdk_threads_init() to be explicitly called instead
of piggybacking off of g_thread_init(). [Owen]
* Improvements to text-view/label/entry popup menus [Damian, Jacob, Owen]
* Bug fixes and cleanup [Matthias, others]
Other Contributors:
Mark McLoughin, Mikael Hermansson, Soeren Sandmann, Anders Carlsson,
Tim Janik, Murray Cumming, Hidetoshi Tajima, Padraig O'Briain,
Hans Breuer, Vitaly Tishkov, Dov Grobgeld
Overview of Changes in GTK+ 1.3.9
=================================
* Add editable text cells to GtkTreeView.
Keynav, drawing fixes in GtkTreeView [Jonathan Blandford]
* Text widget no longer always has a \n in it. [Havoc Pennington]
* Text widget bug fixes [Havoc, Dov Grobgeld, Hidetoshi Tajima]
* Allow -1 for width/height in gdk_pixbuf_render_*(). [Matthias Clasen]
* Minor fix for major resizing problems in recent releases [Owen Taylor]
* Restore ability to set _set properties to TRUE for
GtkCellRendererText, GtkTextTag [Owen]
* Cursor drawing improvements [Owen]
* Win32 fixes [Hans Breuer]
* Mark various functions as deprecated or private.
* Misc bug fixes, portability fixes, and cleanups.
Other Contributors:
Vitaly Tishkov, Christian Rose, Frank Belew, Jeff Franks, Sven Neumann,
Kristian Rietveld, Vitaly Tishkov, Joshua N. Pritikin, Matt Wilson,
James Henstridge, Detlef Reichl
Overview of Changes in GTK+ 1.3.8
=================================
* GtkTreeView and GtkTreeModel API cleanups/improvements [Jrb]
* GtkOptionMenu scrollwheel support [Alex]
* GtkModule search paths [Owen]
* Documenatation updates [Havoc,Jrb]
* Major Gdk cleanup [Owen]
* Miscellaneous other fixes/cleanups
Other Contributors:
Joshua N Pritikin, Padraig O'Briain, Jakub Steiner, Matthias Clasen,
Matt Wilson, James Henstridge
Overview of Changes in GTK+ 1.3.7
=================================
* Many Pixbuf (loader) improvements [Matthias Clasen, Soeren Sandmann]
* Added publically installed utility gdk-pixbuf-csource to generate
inlined pixbufs in C source code [Tim Janik]
* Optional movement of button children on press [Soeren, Owen Taylor]
* Interactive searching in GtkTreeView [Kristian Rietveld]
* Sorting/ordering improvements for GtkTreeView [Kris, Jonathan Blandford]
* Animation of expander motion for GtkTreeView [Anders Carlsson]
* Lots of misc GtkTreeView fixes and improvements [Jonathan]
* New/improved stock icons [Jakub Steiner]
* Code and API rework for window resizing [Havoc Pennington]
* Converted accel groups to GObject [James Henstridge]
* More property support improvements
* Add facility for "secondary" buttons in
GtkButtonBox/GtkDialog [Gregory Merchan]
* Disentangled child visability from MAPPED state [Owen]
* Plug/Socket improvements and port to the XEMBED protocol [Owen]
* Added priorities for styles in RC files,
support multiple parse contents [Owen]
* Made GdkVisual and GdkDevice GObjects [Alexander Larsson]
* Key binding improvements [Havoc]
* Added GtkWidget::event-after signal since normal event handling
is now aborted as soon as a handler returned TRUE [Tim]
* Dnd fixes and improved icon support [Owen]
* Removed GtkPacker widget
* Fixing missing paired getters/setters [Kris]
* Nuked remaining GtkArg cruft, implemented container/child properties [Tim]
* Added window grab groups [Owen]
* Many frame buffer improvements [Alex]
* Win32 fixes and improvements [Hans Breuer]
* Warning fixes [Darin Adler]
* Miscellaneous bug and API fixes [Matthias et. al]
Other Contributors:
Joshua N Pritikin, Hidetoshi Tajima, Manish Singh, ERDI Gergo, Jens Finke,
Chema Celorio, Lee Mallabone, Vitaly Tishkov, Sebastian Wilhelmi,
Nicola Girardi, Sven Neumann, Padraig O'Briain, Michael Natterer,
Suresh Chandrasekharan, Jonas Borgström, Jay Cox, Michael Meeks,
Mathias Hasselmann, Peter Williams, Thomas Broyer, Kjartan Maraas,
Joel Becker, Jeff Franks, Brian Cameron, Skip Montanaro
Overview of Changes in GTK+ 1.3.6
=================================
* Properly renders strikethrough text
* win32 fixes
* Added "scale" property to GtkTextTag and GtkCellRendererText to do
relative font scaling
* Added "format_value" signal to GtkScale to reformat value text
* framebuffer fixes
* Property support added to lots of widgets
* Many GtkTreeView new features and API/implementation fixes
* Lots of new_with_mnemonic() convenience functions
* Change GtkImageMenuItem API to be more consistent/useful
* Added lots of new stock items/icons
* Rewrote GtkRange/GtkScale/GtkScrollbar, includes support for
enabling/disabling extra scrollbar stepper arrows in gtkrc so NeXT
themes won't need broken hacks
* Convenience API for GtkRange similar to the one added to GtkSpinButton
a while back
* Make menubar/toolbar work properly with xthickness/ythickness of 1 or 0,
and move some attributes from program settings to user settings.
Allows nice 1-pixel-bevel themes.
* Moved ::focus virtual function from GtkContainer to GtkWidget
* Plenty of bug fixes
Overview of Changes in GTK+ 1.3.5
=================================
* New default theme based on Raleigh theme for 1.2.x.
* Dependency on the ATK library added as a step to
providing accessibility-enabling interfaces
* XEMBED-based GtkPlug/GtkSocket now basically works.
* Drag and drop of column headers in GtkTreeView
* GtkColorSelector work: hooks for saving and propagating palette, UI tweaks,
and API sanitation
* Key binding fixes
* Configurable padding/spacing in a lot of places
* Invisible text in GtkTextView fixed
* SHM segments now created with a mode of 0600
* Bug fixes
Overview of Changes in GTK+ 1.3.4
=================================
* Win32 fixes
* GtkTreeView improvements and fixes
* Fix glib-2.0.m4
* Miscellaneous bug fixes
Overview of Changes in GTK+ 1.3.3
=================================
[ 5600 lines of ChangeLog ]
* API cleanups
* Win32 work (Tor, Hans Breuer)
* Focus improvements (Owen)
* Frame buffer improvements (Alex)
* Work on GtkTextView (Havoc)
* Much work on GtkTreeView (Jonathan)
* Selectable labels (Havoc)
* Converted many arguments to properties (Lee Mallabone, John Margaglione)
* Add exact regions to GdkExposeEvent, propagate it. (Alex)
* Added ability to have resize grips in status bars (etc.) using
_NET_WM_MOVERESIZE protocol. (Havoc)
* Added mnemnonic mechanism to make setting underline accelerators
much easier. (Alex)
* Add per-style property mechanism to allow themes to change
geometry parameters. (Tim)
* Added global settings mechanisms for settings such as double-click
time. (Tim, Owen)
* Various support functions for new and old WM properties (Havoc, Alex)
* Add TRUE-stops-returns for boolean-returning signals (Ron Steinke)
Overview of Changes in GTK+ 1.3.2
=================================
GTK Core:
* New stock-icon and stock-item system. Use themeable pixbufs in
dialogs, buttons, etc. [Havoc]
* Theme engines reworked to use derivation and new object system. [Owen]
* Added GtkClipboard object for simple selection handling. [Owen]
* Make GtkEditable an interface, move implementation to GtkOldEditable for
compat. [Owen]
* Better handling of default directionality. [Robert]
* Use GSignal as backend for GtkSignal and other GObject stuff. [Tim]
* Move theme engines to GTypePlugin. [Owen]
GDK:
* Beginning of implementation of client parts of new window manager spec. [Owen]
* Make gdk_drawable_get_image() work with backing store. [Havoc]
Widgets:
* New text widget [Havoc]
- Adjustable tab handling.
- Ability to have scrolling side areas in new text widget for tabs/line numbers.
- Many cleanups and small improvements.
* Improvements to submenu navigation [Nils Barth/David Santiago] and
scrolling menus. [Alex]
* Simplification of progress bar API. [Havoc]
* Make GtkImage a generic image-display widget. [Havoc]
* New GtkTreeView tree widget. Model/view architecture, flexible rendering,
large datasets, etc. [Jonathan]
* New GtkMessageBox widget for message display. [Havoc]
* Allow labels to have contents set from XML-like markup language. [Havoc]
* Make dialogs derive from GtkDialog and use stock buttons. [Havoc]
Internationalization:
* Proper character set conversion for clipboard/selection. [Owen]
* New input method system via loadable modules; support on-the-spot
preedit in GtkEntry and new text widget; allow switching input methods
on the fly; include modules for XIM and demo Cyrillic-transliteration
module. [Owen]
* VIQR, Thai, and Inuktitut input methods. [Robert]
* Convert po files to UTF-8. [Robert]
gdk-pixbuf:
* Full-alpha compositing for gdk-pixbuf on drawable. [Havoc]
* Add simple saving to gdk-pixbuf. [David Welton/Havoc]
* Add improved error handling with GError to gdk-pixbuf. [Havoc]
Ports:
* Much work on Win32 Port. [Tor/Hans]
* Much work on Linux-FB Port. [Elliot/Alex]
Misc:
* Start of new gtk-demo demo program. [Owen/Jonathan]
* Bug fixes and more bug fixes.
Overview of Changes in GTK+ 1.3.1:
* GTK+ now uses the Pango library for text manipulation. All
strings in GTK+ now are in Unicode, languages written
from right-to-left, and complex-text languages are now supported.
* The gdk-pixbuf library for image loading and manipulation is
has been integrated with GTK+.
* The GTK+ object system has mostly been moved to GLib, separating
it from the GUI code. Many significant enhancements have been
made as part of this.
* A new text widget is now included. This started as a port
of the Tk text widget, and includes such features of the Tk
text widget as tags, marks, and unicode text support. It
has been enhanced to support model-view operation and the
full power of Pango.
* The GDK library has been extensively revised to support multiple
windowing systems. The only fully functional backend in 1.3.1
is the X11 backend, however, ports to Win32, Linux-framebuffer,
Nano-X, BeOS, and MacOS exist in various states of completion,
and at least some of these will be finished and integrated in
before the final GTK+-2.0 release.
* 32-bit coordinates are now supported throughout GDK and GTK+
(they are emulated where not supported by the windowing system.)
* Many minor bug fixes and enhancements. Incompatible changes
are documented in docs/Changes-2.0.txt
Overview of Changes in GTK+ 1.2.8:
* GNU Make 3.79 bug workaround
* FAQ and tutorial updates and improvements
* Miscellaneous bug fixes: CList, Calendar, rc-files, FontSelection
Overview of Changes in GTK+ 1.2.7:
* More header cleanups.
* Fixed activation bug for insensitive widgets.
* Locale fixes to RC file parsing code.
* Miscellaneous bugfixes for Item Factory, CList, CTree, X Selections,
HScale, VScale, Pixmap, Viewport, OptionMenu, Entry and Notebook.
* Upgrade to libtool 1.3.4.
Overview of Changes in GTK+ 1.2.6:
* container queue_resize fixes
* gtk[vh]scale: minor fixups
* rename idle to idle_id in testgtk to avoid conflicts with
broken libs
* More consistent naming of gtkrc files
* Added language support: ro, uk
Overview of Changes in GTK+ 1.2.5:
* more GtkCTree and GtkWindow bug fixes.
* more redraw/resize queue fixes, better expose event
discarding code.
* more miscellaneous bugs fixed
* new configure.in option --disable-rebuilds to completely disable
rebuilds of autogenerated sources.
* check for 5.002 now, to avoid failing autogeneration build rules due
to old perl versions.
* fonts (and fontsets) are cached now.
* more autogeneration make rules and dependency fixups, we should be
save with autogeneration up to make -j12 now ;)
* new window position GTK_WIN_POS_CENTER_ALWAYS, which will recenter the
GtkWindow on every size change.
* major rework of window manager hints handling code, fixed a bunch of
races with the new resizing code.
* the new wm hints and resizing code is absolutely perfect and bug free now,
it only lacks testing ;)
* fixed up various rc style memory problems.
* gtk_widget_modify_style() now properly changes the style of realized widgets
and references the style passed into it. if people worked around this bug,
this will introduce a slight memory leak in their code.
The code should typically look like:
GtkRcStyle *rc_style = gtk_rc_style_new ();
[...]
gtk_widget_modify_style (widget, rc_style);
gtk_rc_style_unref (rc_style);
* fix problems with positioning menus offscreen.
* GtkText fixes for some crashes and drawing errors.
* Better handling for unexpected window destroys in GDK and GTK+.
This should make it possible to use a GtkPlug and catch the
case where its parent socket is randomly killed.
* FAQ updates.
* FileSelection i18n patches, RadioButton fixups.
* many translation improvements.
* miscellaneous other bugs fixed.
Overview of Changes in GTK+ 1.2.4:
* DnD improvements (drags can be canceled with Esc now).
* suppressed configure event reordering in Gdk.
* rewrite of Gtk's configure event handling.
* major improvements for the object argument system (Elena Devdariani).
* major bugfixes for threading, GtkNotebook, GtkItemFactory, GtkCList and
GtkCTree.
* tutorial/FAQ updates, new file generation.txt on autogenerated sources.
* configure's --with-glib= is "officially" unsupported.
* upgrade to libtool 1.3.3.
* various buglets fixed.
Overview of Changes in GTK+ 1.2.3:
* Upgrade to libtool 1.3
* Check for dgettext (for systems with old versions of GNU Gettext)
* Many bug fixes (see ChangeLog for details)
Overview of Changes in GTK+ 1.2.2:
* Improved Dnd behaviour with Motif applications.
* Bug fixes for the Gtk selection code.
* Minor bug fixes to the Gdk Atom cache and Dnd code (with --display option).
* Bug fixes and leak plugs for the Gdk IM code.
* Added gtk_object_get() facility to retrieve object arguments easily.
The var args list expects ("arg-name", &value) pairs.
* Fixed mapping for GdkInputCondition<->GIOCondition, this should fix
problems where closed pipes were no longer signaling GDK_INPUT_READ on
systems with a native poll().
* Some cleanups to GtkLabel's memory allocation code (shouldn't leak memory
anymore).
* We don't attempt to lookup xpm color "None" anymore, this should prevent
eXodus (commercial X windows server) from popping up a color dialog every
time a transparent pixmap is created.
* Fixed bug where Gtk timeout/idle handlers would execute without the global
Gdk lock being held.
* Other minor bug fixes.
Overview of Changes in GTK+ 1.2.1:
* Many Bug fixes have been applied to the menu and accelerator code.
* GtkItemFactory can "adopt" foreign menu items now and manage their
accelerator installation. This is often required to get GtkItemFactory
like accelerator propagation between different windows with the same
menu hierarchy and for centralized parsing and saving of accelerators.
* GtkCList/GtkCTree buttons should always display correctly now.
* Miscellaneous other bug fixes.
What's New in GTK+ 1.2.0 (since 1.0.x):
* New widgets: GtkFontSelector, GtkPacker, GtkItemFactory, GtkCTree,
GtkInvisible, GtkCalendar, GtkLayout, GtkPlug, GtkSocket
* Many new features and robustness for existing widgets
* Theme support
* New DND implementation
* Internationalization of standard dialogs
* New key binding system
* Tearoff menus and menu accelerators
* Wide character support for entry and text
* Resizing code has been overhauled
* Queued redraws of partial areas
* Far better support for object arguments
* Speed optimizations
* Runtime loading of dynamic modules
* Support for GLib log domains
* Tutorial improvements
* A bug fix or two
Overview of Changes in GTK+ 1.1.16:
* Major fixes and improvements for handlebox
* A change to the way widget->requisition works. Now,
widget->requisition is always what the widget requested,
unmodified by the usize. See Changes-1.2.txt for details.
This correct various bugs with gtk_widget_set_usize().
* Fixes for XIM on X11R5 systems
* Don't allow cut-and-paste of text in password-style entries
* --enable-debug is now on by default for the development release.
(When compiling for "production", use --enable-debug=minimum)
* Handle systems where Helvetica is not present more gracefully
* Fixes for memory leaks
* CList and CTree fixes
* Bug fixes for drawing problems.
* Miscellaneous bug fixes to GtkLabel, GtkCList, GtkCTree,
GtkColorsel, Focusing, DND
* Tutorial improvements
Overview of Changes in GTK+ 1.1.15:
* Tutorial Updates
* Added --libs gthread to gtk-config
* Bug fixes
What is new in GTK+ 1.1.14:
* Additions to docs/Changes-1.2.txt
* Just warn when loading theme engine fails
* CLAMP GtkScale digits to a meaningful range
* GTK_LOCALDIR is now defined in a better fashion
* New functions (feature freeze, we know...):
gtk_menu_set_title()
gtk_toggle_button_get_active()
* Some locale fixups in gtkrc code
* Fixes to make gtk_radio_button_set_group() keep only
one radio button in the group active
* Foreign windows are now always treated as viewable; this fixes
a problem where updating didn't occur properly in GtkPlug
* DND fixes for 64 bit architectures, and for specifying operations
with modifier keys.
* Major revisions to GtkLayout: avoid having to create window
for NO_WINDOW children, adjust allocations of children as
scrolled so queued draws work, and a resize is queued instead
of allocating directly in a put() or move()
What is new in GTK+ 1.1.13:
* Dnd and selection bug fixes and memory purification.
* Widget sensitivity fixups.
* Tooltips windows are now named "gtk-tooltips" so rc file rules
can match tooltips windows. Fixed interaction of tooltips and NO_WINDOW
widgets.
* Spin buttons now update their values upon value retrieval.
* Overhaul of the resizing vs. redrawing logic to reduce redrawing needs
a lot. Gtk makes full use of the draw_area coalescing code now, which
got minorly improved as well.
* Containers map their Gdk windows after their children now to reduce
expose event generation.
* Gdk event queue fixups, this solves the double-click problems people were
recently having.
* Account for the fact that GSource's are only properly reentrant from
within dispatch(), thus we don't do Gdk event processing from within
check() or prepare() anymore.
* Rc files feature a bg_pixmap value of "<none>" now.
* Improved session management support in Gdk.
* Automatic disabling of NLS if no gettext is found should work now.
* Removed deprecated functions, docs/Changes-1.2.txt gives an overview.
* Gtk+ development now requires GNU autoconf 2.13, GNU automake 1.4
and GNU libtool 1.2d.
* More bug fixes all over the place.
What is new in GTK+ 1.1.12:
* Korean translation added
* Fixed memory leaks
* A few other bug fixes
What is new in GTK+ 1.1.11:
* Dutch, Japanese, Swedish, Polish, and Norwegian translations
* Removed deprecated _interp variants: gtk_container_foreach_interp,
gtk_idle_add_interp, gtk_timeout_add_interp, gtk_signal_connect_interp
* Lots of cast corrections
* Many fixes
What is new in GTK+ 1.1.9:
* Check for broken glibc 2.0 mb functions and avoid them
* Label and Entry display fixes
* Move main thread back to GDK, for locking when translating events
* Bug fixes
What is new in GTK+ 1.1.8:
* Added support for gettext and the localization of the standard
dialogs.
* Added line-wrapping for the label, and JUSTIFY_FILL
* Support reordering via drag and drop in CList and CTree.
* Replaced GtkDrawWindow widget with a GTK_USER_DRAW flag
* Extended gtkpaned API to support minimum sizes and proportional
resizing.
* Changed the handling of shared memory segments so as to
remove the need for GTK+ to set up signal handlers.
* Re-implemented event loop in terms of the event loop
that has been added to GLib 1.1.8
* Added 'grab_focus' signal to allow keyboard accelerators
for entries.
* Load locale specific RC files if present.
* Bug fixes.
What is new in GTK+ 1.1.7:
* Fixed memory mis-allocation in default files code
* Various event handling fixes
* Wide character support for entry and text
* Destroy widgets _after_ propagating unrealize signals through
widget hierarchy
* Only build XIM-support if available
* Tutorial and examples updates
* Added gtk_drag_source_unset()
What is new in GTK+ 1.1.6:
* The signal system now features emission hooks with special semantics,
refer to the ChangeLog for this.
* Minor? speedups and memory reductions to the emission handling of the
signal system.
* _interp() function variants are deprecated now. the corresponding *_full()
variants are provided for a long time now.
* Dnd abort timeout increased to 10 minutes.
* GtkScrolledWindow inherits from GtkBin now.
* GTK_POLICY_NEVER is implemented for scrolled windows now.
* Lots of API clean ups.
* Incremental freezing abilities.
* Integrated widgets from the GNOME tree: GtkLayout, GtkPlug and GtkSocket.
* New window functions for transient relationship, default size, and
geometry hints
* Default rc files are now read in (<sysconfdir/etc/gtkrc and ~/.gtkrc)
GTK_RC_FILES environment variable and functions are provided to configure
this behavior
* Read doc/Changes-1.2.txt to properly adapt your code.
* Bug Fixes.
What is new in GTK+ 1.1.5:
* Theme integration
* Widget style modification is now handled through GtkRcStyles
* GtkPixmaps now grey out pixmaps when insensitive
* Notebook enhancements
* Shadow configurability for menubars and handleboxes
* DND enhancements
* gtkfilesel now supports automounters better
* Implementation of expose compression
* Queued redraws of partial areas
* Scrolledwindow (+Viewport) source incompatibilities, children that are added
to a scrolled window don't get an automatic viewport anymore. a convenience
function gtk_scrolled_window_add_with_viewport() is supplied for this task
* Deprecated functions will now issue a message, informing the programmer about
the use of this function. These functions will get removed in future versions
* Non-functional functions got removed entirely
* gtk_widget_new() and gtk_object_new() will now auto-construct new objects.
A new function gtk_object_default_construct() is provided now which should
be called after every gtk_type_new() to perform the auto-construction
* Improved argument support of several widgets
* Bug Fixes
What is new in GTK+ 1.1.3:
* GtkCList/GtkCTree now have the ability to:
- hide/show individual columns
- disable/enable column resizing
- set min and max for column widths
- set expander style of the ctree
- set/get row and cell styles
- set spacing between tree expander and cell contents in ctree
- toggle auto_resize for columns
* Must enhanced DND support, removed old DND code
* Idle functions are now implemented via GHook, giving a slight speed
improvement
* An environment variable GTK_MODULES which takes a colon separated
list of module names GTK+ will now automatically load at gtk_init() startup
* GtkFontSel now has support for an extra 'base' filter
* New function gdk_window_set_root_origin to get the real geometry taking
into account window manager offsets
* New function gtk_text_set_line_wrap to toggle line wrapping
* New function gtk_widget_add_events which safely adds additional
events to a widget's event mask
* New function gdk_event_get_time to get the timestamp from a generic
event
* New widget GtkCalendar
* New widget GtkInvisible - InputOnly offscreen windows used for reliable
pointer grabs and selection handling in DND code
* New functions gtk_object_remove_no_notify[_by_id] to remove a certain
data portion without invocation of its destroy notifier
* gtk_spin_button_construct is now deprecated, use gtk_spin_button_configure
instead
* gtk_clist_set_border is now deprecated, use gtk_clist_set_shadow_type
instead
* Removed functions gtk_object_set_data_destroy[_by_id]
* Documentation additions/updates
* HTML and plain text files are now included in the distribution
* Bug fixes, typeness corrections, and general fixups
What is new in GTK+ 1.1.2:
* Gtk+ is now featuring runtime loading of dynamic modules via the
--gtk-modules= command line switch. such modules have to export a
G_MODULE_EXPORT void gtk_module_init (gint *argc, gchar ***argv);
function which will be invoked to initialize the module. since such
modules may create new widget types, they are always resident.
* The tutorial has been updated again.
* Changes to menus including tearoff menus and accelerators.
* Better support for modal dialogs.
* Removed CAN_FOCUS by default from scrollbars and button children of toolbar.
* More improvements and fixes for GtkCList and GtkCTree (i.e. row sorting).
* GtkCTree rows can be unselectable now.
* The GtkCTree API has undergone major renames (see ChangeLog entry from Lars
Hamann on Tue Aug 18 00:29:13 1998).
* A bunch of varargs functions changed to get va_lists working on systems that
implement va_lists as arrays.
* Improvements to the gdkrgb code.
* Improvements to Gdk color handling so we greatly reduce server traffic and
don't leak colors anymore.
* Improved internal widget tree iterators (the GtkContainer::foreach signal
vanished because of this).
* Option menus can have the keyboard focus now.
* More fixups to the text widget.
* GtkFileSelection should behave much more nicely in combination with AFS now.
* Support for label underlining.
* Support for GLib 1.1.3 log domains.
* Documentation improvements.
* Configuration fixes on various platforms.
* Miscellaneous fixes to XInput support.
* Build with shared library dependencies on Linux
* Fix for a major bug in the type systems memory allocation code that could
cause random crashes.
* Libtool update to version 1.2b.
* Lots of bugfixes and cleanups again ;)
What is new in GTK+ 1.1.1:
* Tutorial updates and additions.
* Key binding support for GtkListItems and GtkList.
* Extended selection mode and autoscrolling for GtkLists.
* A GtkCtree now operates on GtkCTreeNode* structures rather than GList*.
* GtkCTreeNodes can now be created from GNode trees.
* Bug fixes for GtkNotebook, GtkCList, GtkCombo and GdkWindow reparentation.
What is new in GTK+ 1.1.0:
* New widget GtkFontSelector.
* New featureful progress bar.
* New container widget GtkPacker.
* New object GtkItemFactory, GtkMenuFactory is deprecated.
* New key binding system, configurable via rcfiles, similar to styles.
* New widget GtkCTree with drag selections and keyboard movement and
and horizontal scrolling. Features also implemented for GtkCList.
* Significant speedups to widget creation and destruction through caching
colormap and visual queries to the XServer.
* Speedups for type creation and especially gtk_type_is_a() checks.
* Speedups in signal lookup, creation and emissions and connection handling.
* Minor speedups with object data allocation and destruction.
* Additions to the signal handling API (e.g. *_emitv).
* Support for rc-file reparsing.
* Resizing logic is now implemented on container widget basis, rather than
for toplevel GtkWindows only.
* Buttons support relief styles now.
* Some widgets are now allocated through memchunks to behave more memory wise.
* Newly included file gtkfeatures.h which defines compatibility macros to
test for certain API features upon program compilation.
* Child arguments support for container widgets.
* Far better support for object arguments, revamp of the underlying
mechanism for speed and reusability. Child/object arguments don't
need to be preceded by the "GtkType::" portion anymore.
* Removed GtkAcceleratorTable in favour of GtkAccelGroup, accelerator display
is now performed by a new widget GtkAccelLabel.
* Overhaul of the resizing code. Resizing behaviour can now be specified
on GtkContainer basis, so the underlying algorithm isn't only available
for GtkWindows.
* GtkTables are now fully resizable.
* The GtkType system now supports an additional base class initialization
function.
* GtkStyles and key bindings can now be looked up depending on the base
types of a widget, through a new keyword `class' in rc files.
* GtkButton derives from GtkBin (finally).
* More descriptive error messages on rc parsing.
* Runtime information is available to query enum/flag definition values.
* Upgrade to libtool-1.2
* Legions of bug fixes, memory leaks, segfaults, of-by-something errors...
including those that already went into the 1.0.x branch.
* A big bunch of features and cosmetic fixups that just got lost in
the masses of changesonfigure problem when cross-compiling

File diff suppressed because it is too large Load Diff

258
README Normal file
View File

@@ -0,0 +1,258 @@
General Information
===================
This is GTK+ version 2.10.14. GTK+ is a multi-platform toolkit for
creating graphical user interfaces. Offering a complete set of widgets,
GTK+ is suitable for projects ranging from small one-off projects to
complete application suites.
GTK+ is free software and part of the GNU Project. However, the
licensing terms for GTK+, the GNU LGPL, allow it to be used by all
developers, including those developing proprietary software, without any
license fees or royalties.
The official ftp site is:
ftp://ftp.gtk.org/pub/gtk
The official web site is:
http://www.gtk.org/
Information about mailing lists can be found at
http://www.gtk.org/mailinglists.html
Installation
============
See the file 'INSTALL'
Release notes for 2.10
======================
* The hexadecimal Unicode input feature has been reworked. It no longer
blocks the use of the sixteen Ctrl-Shift-<hex digit> key sequences. Now
it only uses Ctrl-Shift-u.
* A memory leak in GtkStyle handling has been fixed. This may expose bugs
in third-party widgets which forget to call gtk_style_attach() in their
realize functions.
* Range widgets like GtkScrollbar now render their arrows insensitive
when the slider is at the end. Applications which react to arrow
clicks even if the slider is at the end may want to use the new
gtk_range_set_[upper/lower]_stepper_sensitivity() functions to
prevent the arrows from being rendered insensitive.
* GtkObject now uses the "floating reference" support in GObject.
GTK_OBJECT_IS_FLOATING() will still work, but direct checking
of the GTK_FLOATING flag will no longer detect the floating
reference. Details about floating references can be found in the docs:
http://developer.gnome.org/doc/API/2.0/gobject/gobject-The-Base-Object-Type.html#floating-ref
* Accelerators like (_F) are now stripped from labels when they are
displayed in toolbars. If this is not wanted, the feature can be
suppressed by inserting a Unicode control character, e.g ZWNJ.
* The pixbuf theme engine can now customize expanders (in GtkTreeView
and GtkExpander) and resize grips, using the new EXPANDER and
RESIZE_GRIP function values.
* Dialogs created by gtk_about_dialog_new() no longer hide automatically
when the user clicks close. It is the applications responsibility to
hide or destroy the dialog.
* Several new signals have been added to GtkNotebook. Care has been taken
to choose signal names which do not collide with signals added by well-known
derived classes. The names which can no longer be used for signals in
objects derived from GtkNotebook are page-reordered, page-removed and
page-added.
* Due to the interface changes in the file chooser backend interface,
the GTK+ ABI version has been bumped to 2.10.0. Third-party filesystem
backends have to be ported to the new interface, other modules, such as
theme engines, input method modules or pixbuf loaders have to be rebuilt
so that they are installed in the right place for GTK+ to find them.
Release notes for 2.8
=====================
* GTK+ 2.8 and Pango 1.10 require the cairo library.
* The default theme has been renamed to "Raleigh". Existing configurations
specifying the "Default" theme name should still work.
* The GtkTreeView::enable-search property has been changed to control
only typeahead search, not the C-f keybinding to start an interactive
search. To turn off interactive searching completely, you have to
set GtkTreeView::search-column to -1.
* The restriction on using the same cell renderer in multiple columns
of a GtkTreeView is now more strictly enforced.
* In GTK+ 2.8, GtkCalendar uses nl_langinfo() (if available) to determine
the first day of the week. Thus, it is possible to select the first day
of the week independently from the language, by setting LC_TIME.
* In GTK+ 2.8, the gtk-update-icon-cache utility includes image data
in the icon caches, which will make the icon cache files larger than
the one produced by GTK+ 2.6. This change will reduce the memory
overhead of icon themes at runtime, since all GTK+ applications can
share the image data in memory.
* In 2.8, GDK emits GdkEventGrabBroken events when a keyboard or pointer
grab is broken. On X11, this can happen if the same application grabs
again, or if the window used for the grab becomes unviewable. It happens
more often on Win32. Applications which use grabs should pay attention
to these events and do the necessary cleanups when the grab is lost.
* The GIOChannel code for sockets on win32 has been rewritten.
Applications who make non-trivial use of GIOChannels on win32 should
be watched for possible problems.
* GLib 2.8 uses atomic operations to implement reference counting, thus
g_object_ref/unref, g_closure_ref/sink/unref and g_iochannel_ref/unref
can be used without locking in multithreaded applications. Note that
other modifications, like concurrent setting of properties still require
locking.
* g_convert() and related character set conversion functions have been
fixed to emit pending shift states and to not cache iconv descriptors
across multiple calls, since that is problematic for some encodings.
Note that these functions are not suitable for streaming conversions;
use g_iconv() to do streaming conversion.
Release notes for 2.6
=====================
* GTK+ 2.6 supports clipboard persistency. To make use of this feature,
a clipboard manager following the specification at
http://www.freedesktop.org/wiki/Standards/clipboard-manager-spec
must be running. A sample implementation of such a clipboard manager
is available at
http://people.imendio.com/andersca/archives/clipboard-manager-0.3.tar.gz
Applications can use the function gdk_display_supports_clipboard_persistence()
to find out if clipboard persistence is available.
* Notification on clipboard ownership changes via GdkOwnerChange events
requires the XFIXES X extension. Applications can use the function
gdk_display_supports_selection_notification() to find out if ownerchip
change notification is available.
* The icon theme code in GTK+ 2.6 follows the freedesktop.org icon theme
specification. Setting the XDG_DATA_DIRS environtment variable may be
necessary if your icons aren't installed in the default location
/usr/share/icons.
* The icon theme code in GTK+ 2.6 can make use of mmap()able cache files
to avoid a lot of disk searching overhead. GTK+ includes a utility named
gtk-update-icon-cache to generate these cache files. For further details,
see the gtk-update-icon-cache man page or the GTK+ documentation.
* To reduce code size and improve efficiency, GTK+, when compiled
with the GNU toolchain, has separate internal and external entry
points for exported functions. The internal names, which begin with
IA__, may be seen when debugging a GTK+ program.
* The following functions have been deprecated in GTK+ 2.6:
gdk_pango_context_set_colormap
gtk_cell_renderer_editing_canceled
* The new GtkFileChooser widget emphasizes simplicity and thus does
not provide a navigation entry by default when opening files.
Experienced command line users will likely want to make heavy use of
the location dialog brought up by the Control-L key shortcut.
* The GTK+ libraries use an '_' prefix to indicate private symbols that
must not be used by applications. On some platforms, symbols beginning
with prefixes such as _gtk, _gdk, and _pango will be exported
from the library, on others not. In no case can applications
use these private symbols. In addition to that, GTK+ 2.6 makes several
symbols private which were not in any installed header files and
were never intended to be exported.
* The gdk_pixbuf_xlib library included in the contrib/ directory
and the framebuffer GDK backend included in the gdk/linux-fb directory
of GTK+ are provided on an as-is basis and have not been tested at all.
No guarantees about the degree of workingness or about future
compatibility are provided.
* On Unix, the assumption of GLib and GTK+ by default is that filenames on
the filesystem are encoded in UTF-8 rather than the encoding of the locale;
the GTK+ developers consider that having filenames whose interpretation
depends on the current locale is fundamentally a bad idea.
If you have filenames encoded in the encoding of your locale, then you
may want to set the G_FILENAME_ENCODING environment variable:
G_FILENAME_ENCODING=@locale
export G_FILENAME_ENCODING
(Earlier versions of GLib 2.x required a different environment variable
setting; G_BROKEN_FILENAMES=1 to achieve the same effect; this
is still supported, but G_FILENAME_ENCODING is preferred.)
Best integration of GTK+ 2.6 with the environment is achieved by
using a UTF-8 locale.
On Windows, filenames passed to GTK+ should always be in UTF-8, as
in GLib 2.6. This is different than in previous versions of GTK+
where the system codepage was used. As in GLib, for DLL ABI
stability, applications built against previous versions of GTK+ will
use entry points providing the old semantics.
When compiling against GTK+ 2.6, applications intended to be
portable to Windows must take the UTF-8 file name encoding into
consideration, and use the gstdio wrappers to access files whose
names have been constructed from strings returned from GTK+ or GLib.
How to report bugs
==================
Bugs should be reported to the GNOME bug tracking system.
(http://bugzilla.gnome.org, product gtk+.) You will need to create an
account for yourself.
In the bug report please include:
* Information about your system. For instance:
- What operating system and version
- What version of X
- For Linux, what version of the C library
And anything else you think is relevant.
* How to reproduce the bug.
If you can reproduce it with one of the tests or demos built with GTK+,
such as demos/gtk-demo/gtk-demo, that would be most convenient. Otherwise,
please include a short test program that exhibits the behavior. As a
last resort, you can also provide a pointer to a larger piece of software
that can be downloaded.
* If the bug was a crash, the exact text that was printed out when the
crash occured.
* Further information such as stack traces may be useful, but is not
necessary. If you do send a stack trace, and the error is an X error,
it will be more useful if the stacktrace is produced running the test
program with the --sync command line option.
Patches
=======
Patches should also be submitted to bugzilla.gnome.org. If the patch
fixes an existing bug, add the patch as an attachment to that bug
report.
Otherwise, enter a new bug report that describes the patch, and attach
the patch to that bug report.
Bug reports containing patches should include the PATCH keyword in their
keyword fields. If the patch adds to or changes the GTK+ programming
interface, the API keyword should also be included.
Patches should be in unified diff form. (The -u option to GNU diff.)

View File

@@ -1,72 +0,0 @@
GTK+ is part of the GNOME git repository. At the current time, any
person with write access to the GNOME repository, can make changes to
GTK+. This is a good thing, in that it encourages many people to work
on GTK+, and progress can be made quickly. However, GTK+ is a fairly
large and complicated package that many other things depend on, so to
avoid unnecessary breakage, and to take advantage of the knowledge
about GTK+ that has been built up over the years, we'd like to ask
people committing to GTK+ to follow a few rules:
0) Ask first. If your changes are major, or could possibly break existing
code, you should always ask. If your change is minor and you've
been working on GTK+ for a while it probably isn't necessary
to ask. But when in doubt, ask. Even if your change is correct,
somebody may know a better way to do things.
If you are making changes to GTK+, you should be subscribed
to gtk-devel-list@gnome.org. (Subscription address:
gtk-devel-list-request@gnome.org.) This is a good place to ask
about intended changes.
#gtk+ on GIMPNet (irc.gimp.org, irc.us.gimp.org, irc.eu.gimp.org, ...)
is also a good place to find GTK+ developers to discuss changes with,
however, email to gtk-devel-list is the most certain and preferred
method.
1) Ask _first_.
2) With git, we no longer maintain a ChangeLog file, but you are expected
to produce a meaningful commit message. Changes without a sufficient
commit message will be reverted. See below for the expected format
of commit messages.
Notes:
* When developing larger features or complicated bug fixes, it is
advisable to work in a branch in your own cloned GTK+ repository.
You may even consider making your repository publically available
so that others can easily test and review your changes.
* The expected format for git commit messages is as follows:
=== begin example commit ===
Short explanation of the commit
Longer explanation explaining exactly what's changed, whether any
external or private interfaces changed, what bugs were fixed (with bug
tracker reference if applicable) and so forth. Be concise but not too brief.
=== end example commit ===
- Always add a brief description of the commit to the _first_ line of
the commit and terminate by two newlines (it will work without the
second newline, but that is not nice for the interfaces).
- First line (the brief description) must only be one sentence and
should start with a capital letter unless it starts with a lowercase
symbol or identifier. Don't use a trailing period either. Don't exceed
72 characters.
- The main description (the body) is normal prose and should use normal
punctuation and capital letters where appropriate. Normally, for patches
sent to a mailing list it's copied from there.
- When committing code on behalf of others use the --author option, e.g.
git commit -a --author "Joe Coder <joe@coder.org>" and --signoff.
Owen Taylor
13 Aug 1998
17 Apr 2001
Matthias Clasen
31 Mar 2009

54
README.cvs-commits Normal file
View File

@@ -0,0 +1,54 @@
GTK+ is part of the GNOME CVS repository. At the current time, any
person with write access to the GNOME repository, can make changes to
GTK+. This is a good thing, in that it encourages many people to work
on GTK+, and progress can be made quickly. However, GTK+ is a fairly
large and complicated package that many other things depend on, so to
avoid unnecessary breakage, and to take advantage of the knowledge
about GTK+ that has been built up over the last 4 years, we'd like
to ask people commiting to GTK+ to follow a few rules:
0) Ask first. If your changes are major, or could possibly break existing
code, you should always ask. If your change is minor and you've
been working on GTK+ for a while it probably isn't necessary
to ask. But when in doubt, ask. Even if your change is correct,
somebody may know a better way to do things.
If you are making changes to GTK+, you should be subscribed
to gtk-devel-list@gnome.org. (Subscription address:
gtk-devel-list-request@gnome.org.) This is a good place to ask
about intended changes.
#gtk+ on GIMPNet (irc.gimp.org, irc.us.gimp.org, irc.eu.gimp.org, ...)
is also a good place to find GTK+ developers to discuss changes with,
however, email to gtk-devel-list is the most certain and preferred
method.
1) Ask _first_.
2) There must be a ChangeLog for every commit. (If you discover that
you only committed half the files you meant to and need to fix that
up, or something, you don't need a new ChangeLog entry. But in general,
ChangeLog entries are mandatory.) Changes without ChangeLog entries
will be reverted.
3) There _must_ be a ChangeLog for every commit.
Notes:
* If you are going to be changing many files in an experimental fashion,
it probably is a good idea to create a separate branch for your changes.
* The ChangeLog entries should preferably match in date format
with the existing entries. You can set how emacs does this
by using customize mode:
- M-x customize
- set Programming/Tools/ChangeLog/Add Log Time Format to
'Old Format'
Or, set the add-log-time-format to 'current-time-string in
your .emacs file.
Owen Taylor
13 Aug 1998
17 Apr 2001

258
README.in Normal file
View File

@@ -0,0 +1,258 @@
General Information
===================
This is GTK+ version @GTK_VERSION@. GTK+ is a multi-platform toolkit for
creating graphical user interfaces. Offering a complete set of widgets,
GTK+ is suitable for projects ranging from small one-off projects to
complete application suites.
GTK+ is free software and part of the GNU Project. However, the
licensing terms for GTK+, the GNU LGPL, allow it to be used by all
developers, including those developing proprietary software, without any
license fees or royalties.
The official ftp site is:
ftp://ftp.gtk.org/pub/gtk
The official web site is:
http://www.gtk.org/
Information about mailing lists can be found at
http://www.gtk.org/mailinglists.html
Installation
============
See the file 'INSTALL'
Release notes for 2.10
======================
* The hexadecimal Unicode input feature has been reworked. It no longer
blocks the use of the sixteen Ctrl-Shift-<hex digit> key sequences. Now
it only uses Ctrl-Shift-u.
* A memory leak in GtkStyle handling has been fixed. This may expose bugs
in third-party widgets which forget to call gtk_style_attach() in their
realize functions.
* Range widgets like GtkScrollbar now render their arrows insensitive
when the slider is at the end. Applications which react to arrow
clicks even if the slider is at the end may want to use the new
gtk_range_set_[upper/lower]_stepper_sensitivity() functions to
prevent the arrows from being rendered insensitive.
* GtkObject now uses the "floating reference" support in GObject.
GTK_OBJECT_IS_FLOATING() will still work, but direct checking
of the GTK_FLOATING flag will no longer detect the floating
reference. Details about floating references can be found in the docs:
http://developer.gnome.org/doc/API/2.0/gobject/gobject-The-Base-Object-Type.html#floating-ref
* Accelerators like (_F) are now stripped from labels when they are
displayed in toolbars. If this is not wanted, the feature can be
suppressed by inserting a Unicode control character, e.g ZWNJ.
* The pixbuf theme engine can now customize expanders (in GtkTreeView
and GtkExpander) and resize grips, using the new EXPANDER and
RESIZE_GRIP function values.
* Dialogs created by gtk_about_dialog_new() no longer hide automatically
when the user clicks close. It is the applications responsibility to
hide or destroy the dialog.
* Several new signals have been added to GtkNotebook. Care has been taken
to choose signal names which do not collide with signals added by well-known
derived classes. The names which can no longer be used for signals in
objects derived from GtkNotebook are page-reordered, page-removed and
page-added.
* Due to the interface changes in the file chooser backend interface,
the GTK+ ABI version has been bumped to 2.10.0. Third-party filesystem
backends have to be ported to the new interface, other modules, such as
theme engines, input method modules or pixbuf loaders have to be rebuilt
so that they are installed in the right place for GTK+ to find them.
Release notes for 2.8
=====================
* GTK+ 2.8 and Pango 1.10 require the cairo library.
* The default theme has been renamed to "Raleigh". Existing configurations
specifying the "Default" theme name should still work.
* The GtkTreeView::enable-search property has been changed to control
only typeahead search, not the C-f keybinding to start an interactive
search. To turn off interactive searching completely, you have to
set GtkTreeView::search-column to -1.
* The restriction on using the same cell renderer in multiple columns
of a GtkTreeView is now more strictly enforced.
* In GTK+ 2.8, GtkCalendar uses nl_langinfo() (if available) to determine
the first day of the week. Thus, it is possible to select the first day
of the week independently from the language, by setting LC_TIME.
* In GTK+ 2.8, the gtk-update-icon-cache utility includes image data
in the icon caches, which will make the icon cache files larger than
the one produced by GTK+ 2.6. This change will reduce the memory
overhead of icon themes at runtime, since all GTK+ applications can
share the image data in memory.
* In 2.8, GDK emits GdkEventGrabBroken events when a keyboard or pointer
grab is broken. On X11, this can happen if the same application grabs
again, or if the window used for the grab becomes unviewable. It happens
more often on Win32. Applications which use grabs should pay attention
to these events and do the necessary cleanups when the grab is lost.
* The GIOChannel code for sockets on win32 has been rewritten.
Applications who make non-trivial use of GIOChannels on win32 should
be watched for possible problems.
* GLib 2.8 uses atomic operations to implement reference counting, thus
g_object_ref/unref, g_closure_ref/sink/unref and g_iochannel_ref/unref
can be used without locking in multithreaded applications. Note that
other modifications, like concurrent setting of properties still require
locking.
* g_convert() and related character set conversion functions have been
fixed to emit pending shift states and to not cache iconv descriptors
across multiple calls, since that is problematic for some encodings.
Note that these functions are not suitable for streaming conversions;
use g_iconv() to do streaming conversion.
Release notes for 2.6
=====================
* GTK+ 2.6 supports clipboard persistency. To make use of this feature,
a clipboard manager following the specification at
http://www.freedesktop.org/wiki/Standards/clipboard-manager-spec
must be running. A sample implementation of such a clipboard manager
is available at
http://people.imendio.com/andersca/archives/clipboard-manager-0.3.tar.gz
Applications can use the function gdk_display_supports_clipboard_persistence()
to find out if clipboard persistence is available.
* Notification on clipboard ownership changes via GdkOwnerChange events
requires the XFIXES X extension. Applications can use the function
gdk_display_supports_selection_notification() to find out if ownerchip
change notification is available.
* The icon theme code in GTK+ 2.6 follows the freedesktop.org icon theme
specification. Setting the XDG_DATA_DIRS environtment variable may be
necessary if your icons aren't installed in the default location
/usr/share/icons.
* The icon theme code in GTK+ 2.6 can make use of mmap()able cache files
to avoid a lot of disk searching overhead. GTK+ includes a utility named
gtk-update-icon-cache to generate these cache files. For further details,
see the gtk-update-icon-cache man page or the GTK+ documentation.
* To reduce code size and improve efficiency, GTK+, when compiled
with the GNU toolchain, has separate internal and external entry
points for exported functions. The internal names, which begin with
IA__, may be seen when debugging a GTK+ program.
* The following functions have been deprecated in GTK+ 2.6:
gdk_pango_context_set_colormap
gtk_cell_renderer_editing_canceled
* The new GtkFileChooser widget emphasizes simplicity and thus does
not provide a navigation entry by default when opening files.
Experienced command line users will likely want to make heavy use of
the location dialog brought up by the Control-L key shortcut.
* The GTK+ libraries use an '_' prefix to indicate private symbols that
must not be used by applications. On some platforms, symbols beginning
with prefixes such as _gtk, _gdk, and _pango will be exported
from the library, on others not. In no case can applications
use these private symbols. In addition to that, GTK+ 2.6 makes several
symbols private which were not in any installed header files and
were never intended to be exported.
* The gdk_pixbuf_xlib library included in the contrib/ directory
and the framebuffer GDK backend included in the gdk/linux-fb directory
of GTK+ are provided on an as-is basis and have not been tested at all.
No guarantees about the degree of workingness or about future
compatibility are provided.
* On Unix, the assumption of GLib and GTK+ by default is that filenames on
the filesystem are encoded in UTF-8 rather than the encoding of the locale;
the GTK+ developers consider that having filenames whose interpretation
depends on the current locale is fundamentally a bad idea.
If you have filenames encoded in the encoding of your locale, then you
may want to set the G_FILENAME_ENCODING environment variable:
G_FILENAME_ENCODING=@locale
export G_FILENAME_ENCODING
(Earlier versions of GLib 2.x required a different environment variable
setting; G_BROKEN_FILENAMES=1 to achieve the same effect; this
is still supported, but G_FILENAME_ENCODING is preferred.)
Best integration of GTK+ 2.6 with the environment is achieved by
using a UTF-8 locale.
On Windows, filenames passed to GTK+ should always be in UTF-8, as
in GLib 2.6. This is different than in previous versions of GTK+
where the system codepage was used. As in GLib, for DLL ABI
stability, applications built against previous versions of GTK+ will
use entry points providing the old semantics.
When compiling against GTK+ 2.6, applications intended to be
portable to Windows must take the UTF-8 file name encoding into
consideration, and use the gstdio wrappers to access files whose
names have been constructed from strings returned from GTK+ or GLib.
How to report bugs
==================
Bugs should be reported to the GNOME bug tracking system.
(http://bugzilla.gnome.org, product gtk+.) You will need to create an
account for yourself.
In the bug report please include:
* Information about your system. For instance:
- What operating system and version
- What version of X
- For Linux, what version of the C library
And anything else you think is relevant.
* How to reproduce the bug.
If you can reproduce it with one of the tests or demos built with GTK+,
such as demos/gtk-demo/gtk-demo, that would be most convenient. Otherwise,
please include a short test program that exhibits the behavior. As a
last resort, you can also provide a pointer to a larger piece of software
that can be downloaded.
* If the bug was a crash, the exact text that was printed out when the
crash occured.
* Further information such as stack traces may be useful, but is not
necessary. If you do send a stack trace, and the error is an X error,
it will be more useful if the stacktrace is produced running the test
program with the --sync command line option.
Patches
=======
Patches should also be submitted to bugzilla.gnome.org. If the patch
fixes an existing bug, add the patch as an attachment to that bug
report.
Otherwise, enter a new bug report that describes the patch, and attach
the patch to that bug report.
Bug reports containing patches should include the PATCH keyword in their
keyword fields. If the patch adds to or changes the GTK+ programming
interface, the API keyword should also be included.
Patches should be in unified diff form. (The -u option to GNU diff.)

154
README.md
View File

@@ -1,154 +0,0 @@
GTK+ — The GTK toolkit
======================
[![Build Status](https://gitlab.gnome.org/GNOME/gtk/badges/master/build.svg)](https://gitlab.gnome.org/GNOME/gtk/pipelines)
General information
-------------------
GTK+ is a multi-platform toolkit for creating graphical user interfaces.
Offering a complete set of widgets, GTK+ is suitable for projects ranging
from small one-off projects to complete application suites.
GTK+ is free software and part of the GNU Project. However, the
licensing terms for GTK+, the GNU LGPL, allow it to be used by all
developers, including those developing proprietary software, without any
license fees or royalties.
The official download location
- https://download.gnome.org/sources/gtk+
The official web site
- https://www.gtk.org
The official developers blog
- https://blog.gtk.org
Information about mailing lists can be found at
- http://www.gtk.org/mailing-lists.php
Building and installing
-----------------------
In order to build GTK+ you will need:
- [a C99 compatible compiler](https://wiki.gnome.org/Projects/GLib/CompilerRequirements)
- [Python 3](https://www.python.org/)
- [Meson](http://mesonbuild.com)
- [Ninja](https://ninja-build.org)
You will also need various dependencies, based on the platform you are
building for:
- [GLib](https://download.gnome.org/sources/glib)
- [GdkPixbuf](https://download.gnome.org/sources/gdk-pixbuf)
- [GObject-Introspection](https://download.gnome.org/sources/gobject-introspection)
- [Cairo](https://www.cairographics.org)
- [Pango](https://download.gnome.org/sources/pango)
- [Epoxy](https://github.com/anholt/libepoxy)
- [Graphene](https://github.com/ebassi/graphene)
- [ATK](https://download.gnome.org/sources/atk)
- [Xkb-common](https://github.com/xkbcommon/libxkbcommon)
If you are building the X11 backend, you will also need:
- Xlib, and the following X extensions:
- xrandr
- xrender
- xi
- xext
- xfixes
- xcursor
- xdamage
- xcomposite
- [atk-bridge-2.0](https://download.gnome.org/sources/at-spi2-atk)
If you are building the Wayland backend, you will also need:
- Wayland-client
- Wayland-protocols
- Wayland-cursor
- Wayland-EGL
Once you have all the necessary dependencies, you can build GTK+ by using
Meson:
```sh
$ meson _build .
$ cd _build
$ ninja
```
You can run the test suite using:
```sh
$ meson test
```
And, finally, you can install GTK+ using:
```
$ sudo ninja install
```
Complete information about installing GTK+ and related libraries
can be found in the file:
```
docs/reference/gtk/html/gtk-building.html
```
Or [online](https://developer.gnome.org/gtk4/stable/gtk-building.html)
How to report bugs
------------------
Bugs should be reported on the [issues page](https://gitlab.gnome.org/GNOME/gtk/issues/new).
In the bug report please include:
* Information about your system. For instance:
- which version of GTK+ you are using
- what operating system and version
- for Linux, which distribution
- if you built GTK+, the list of options used to configure the build
And anything else you think is relevant.
* How to reproduce the bug.
If you can reproduce it with one of the demo applications that are
built in the demos/ subdirectory, on one of the test programs that
are built in the tests/ subdirectory, that will be most convenient.
Otherwise, please include a short test program that exhibits the
behavior. As a last resort, you can also provide a pointer to a
larger piece of software that can be downloaded.
* If the bug was a crash, the exact text that was printed out
when the crash occurred.
* Further information such as stack traces may be useful, but
is not necessary.
Release notes
-------------
The release notes for GTK+ are part of the migration guide in the API
reference. See:
- [3.x release notes](https://developer.gnome.org/gtk3/unstable/gtk-migrating-2-to-3.html)
- [4.x release notes](https://developer.gnome.org/gtk4/unstable/gtk-migrating-3-to-4.html)
Licensing terms
---------------
GTK+ is released under the terms of the GNU Lesser General Public License,
version 2.1 or, at your option, any later version, as published by the Free
Software Foundation.
Please, see the `COPYING` file for further information.

128
README.win32 Normal file
View File

@@ -0,0 +1,128 @@
The Win32 backend in GTK+ is not as stable or correct as the X11 one.
For prebuilt runtime and developer packages see
http://ftp.gnome.org/pub/gnome/binaries/win32/
Building GTK+ on Win32
======================
First you obviously need developer packages for the compile-time
dependencies: Pango, atk, glib, gettext-runtime, libiconv, libpng,
zlib, libtiff at least. See
http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies .
After installing the dependencies, there are two ways to build GTK+
for win32.
1) GNU tools, ./configure && make install
-----------------------------------------
This requires you have mingw and MSYS.
Use the configure script, and the resulting Makefiles (which use
libtool and gcc to do the compilation). I use this myself, but it can
be hard to setup correctly.
The full script I run to build GTK+ 2.10 unpacked from a source
distribution is as below. This is from bulding GTK+ 2.10.9
MOD=gtk+
VER=2.10.9
THIS=$MOD-$VER
HEX=`echo $THIS | md5sum | cut -d' ' -f1`
TARGET=c:/devel/target/$HEX
DEPS="`/devel/src/tml/latest.sh glib atk cairo pango`"
sed -e 's/need_relink=yes/need_relink=no # no way --tml/' <ltmain.sh >ltmain.temp && mv ltmain.temp ltmain.sh
usedev
usemsvs6
MY_PKG_CONFIG_PATH=""
for D in $DEPS; do
PATH=/devel/dist/$D/bin:$PATH
MY_PKG_CONFIG_PATH=/devel/dist/$D/lib/pkgconfig:$MY_PKG_CONFIG_PATH
done
PKG_CONFIG_PATH=$MY_PKG_CONFIG_PATH:$PKG_CONFIG_PATH CC='gcc -mtune=pentium3 -mthreads' CPPFLAGS='-I/opt/gnu/include -I/opt/gnuwin32/include -I/opt/misc/include' LDFLAGS='-L/opt/gnu/lib -L/opt/gnuwin32/lib -L/opt/misc/lib -Wl,--enable-auto-image-base' LIBS=-lintl CFLAGS=-O2 ./configure --with-gdktarget=win32 --with-wintab=/devel/src/wtkit126 --with-ie55=/devel/src/workshop/ie55_lib --enable-debug=yes --disable-gtk-doc --disable-static --prefix=$TARGET &&
libtoolcacheize &&
unset MY_PKG_CONFIG_PATH &&
PATH=/devel/target/$HEX/bin:.libs:$PATH make install &&
(cd $TARGET/bin; strip --strip-unneeded *.dll *.exe) &&
(cd $TARGET/lib/gtk-2.0/2.10.0/loaders; strip --strip-unneeded *.dll) &&
(cd $TARGET/lib/gtk-2.0/2.10.0/immodules; strip --strip-unneeded *.dll) &&
(cd $TARGET/lib/gtk-2.0/2.10.0/engines; strip --strip-unneeded *.dll) &&
PATH=$TARGET/bin:$PATH gdk-pixbuf-query-loaders >$TARGET/etc/gtk-2.0/gdk-pixbuf.loaders &&
grep -v -E 'Automatically generated|Created by|LoaderDir =' <$TARGET/etc/gtk-2.0/gdk-pixbuf.loaders >$TARGET/etc/gtk-2.0/gdk-pixbuf.loaders.temp &&
mv $TARGET/etc/gtk-2.0/gdk-pixbuf.loaders.temp $TARGET/etc/gtk-2.0/gdk-pixbuf.loaders &&
grep -v -E 'Automatically generated|Created by|ModulesPath =' <$TARGET/etc/gtk-2.0/gtk.immodules >$TARGET/etc/gtk-2.0/gtk.immodules.temp &&
mv $TARGET/etc/gtk-2.0/gtk.immodules.temp $TARGET/etc/gtk-2.0/gtk.immodules &&
./gtk-zip.sh &&
(cd /devel/src/tml && zip /tmp/$MOD-dev-$VER.zip make/$THIS.make) &&
manifestify /tmp/$MOD*-$VER.zip
You should not just copy the above blindly. There are some things in
the script that are very specific to *my* build setup on *my* current
machine. For instance the "latest.sh" script, the "usedev" and
"usemsvs6" shell functions, the /devel/dist folder. The above script
is really just meant for reference, to give an idea. You really need
to understand what things like PKG_CONFIG_PATH are and set them up
properly after installing the dependencies before building GTK+.
As you see above, after running configure, one can just say "make
install", like on Unix. A post-build fix is needed, running
gdk-pixbuf-query-loaders once more to get a correct gdk-pixbuf.loaders
file.
2) Microsoft's tools
--------------------
Use the Microsoft compiler, cl and Make, nmake. Say nmake -f
makefile.msc in gdk and gtk. Be prepared to manually edit various
makefile.msc files, and the makefile snippets in build/win32.
Alternative 1 also generates Microsoft import libraries (.lib), if you
have lib.exe available. It might also work for cross-compilation from
Unix.
I use method 1 myself. Hans Breuer has been taking care of the MSVC
makefiles. At times, we disagree a bit about various issues, and for
instance the makefile.msc files might not produce identically named
DLLs and import libraries as the "autoconfiscated" makefiles and
libtool do. If this bothers you, you will have to fix the makefiles.
Using GTK+ on Win32
===================
To use GTK+ on Win32, you also need either one of the above mentioned
compilers. Other compilers might work, but don't count on it. Look for
prebuilt developer packages (DLLs, import libraries, headers) on the
above website.
Multi-threaded use of GTK+ on Win32
===================================
Multi-threaded GTK+ programs might work on Windows in special simple
cases, but not in general. Sorry. If you have all GTK+ and GDK calls
in the same thread, it might work. Otherwise, probably not at
all. Possible ways to fix this are being investigated.
Wintab
======
The tablet support uses the Wintab API. The Wintab development kit can
be downloaded from http://www.pointing.com. Pass the --with-wintab
flag to configure if you use that. If you use nmake and you don't care
for Wintab, undefine HAVE_WINTAB in config.h.win32 and remove
references to the wntab32x library from the makefile before building.
Active IMM
==========
If you want to build a GTK+ that supports Active IMM (the Input Method
Manager than can be used in non-EastAsian versions of NT4 or Win9x),
you need the dimm.h header file. But that is rather pointless now as
both Win9x or NT4 have reached their end of life. Active IMM developer
bits are somewhat difficult to find, they were last found at
http://msdn.microsoft.com/downloads/samples/internet/wizard/ . If you
use "autoconfiscated" build, pass the --with-ie55 flag to configure
specifying the location of the ie55_lib directory created by
downloading the IE5.5 headers and libs from the above URL.
--Tor Lillqvist <tml@iki.fi>, <tml@novell.com>

80
acconfig.h Normal file
View File

@@ -0,0 +1,80 @@
/* acconfig.h
This file is in the public domain.
Descriptive text for the C preprocessor macros that
the distributed Autoconf macros can define.
No software package will use all of them; autoheader copies the ones
your configure.in uses into your configuration header file templates.
The entries are in sort -df order: alphabetical, case insensitive,
ignoring punctuation (such as underscores). Although this order
can split up related entries, it makes it easier to check whether
a given entry is in the file.
Leave the following blank line there!! Autoheader needs it. */
/* Other stuff */
#undef ENABLE_NLS
#undef GTK_COMPILED_WITH_DEBUGGING
#undef HAVE_CATGETS
#undef HAVE_DIMM_H
#undef HAVE_GETTEXT
#undef HAVE_IPC_H
#undef HAVE_LC_MESSAGES
#undef HAVE_PROGRESSIVE_JPEG
#undef HAVE_PWD_H
#undef HAVE_SHM_H
#undef HAVE_STPCPY
#undef HAVE_XSHM_H
#undef HAVE_SHAPE_EXT
#undef HAVE_SOLARIS_XINERAMA
#undef HAVE_SYS_SELECT_H
#undef HAVE_SYS_TIME_H
#undef HAVE_XFREE_XINERAMA
#undef HAVE_XINERAMA
#undef HAVE_WINTAB
#undef HAVE_XCONVERTCASE
#undef HAVE_XFT
#undef HAVE_SIGSETJMP
#undef NO_FD_SET
#undef RESOURCE_BASE
#undef USE_GMODULE
#undef USE_MMX
/* Define to use XKB extension */
#undef HAVE_XKB
/* Define to use shadowfb in the linux-fb port */
#undef ENABLE_SHADOW_FB
/* Define to use a fb manager in the linux-fb port */
#undef ENABLE_FB_MANAGER
#undef XINPUT_NONE
#undef XINPUT_GXI
#undef XINPUT_XFREE
/* Define as the return type of signal handlers (int or void). */
#undef RETSIGTYPE
/* Most machines will be happy with int or void. IRIX requires '...' */
#undef SIGNAL_ARG_TYPE
#undef GETTEXT_PACKAGE
#undef HAVE_CUPS_API_1_2
/* #undef PACKAGE */
/* #undef VERSION */
/* Leave that blank line there!! Autoheader needs it.
If you're adding to this file, keep in mind:
The entries are in sort -df order: alphabetical, case insensitive,
ignoring punctuation (such as underscores). */

79
acinclude.m4 Normal file
View File

@@ -0,0 +1,79 @@
# autoconf 2.13 / 2.50 compatibility macro
# GLIB_AC_DIVERT_BEFORE_HELP(STUFF)
# ---------------------------------
# Put STUFF early enough so that they are available for $ac_help expansion.
# Handle both classic (<= v2.13) and modern autoconf
AC_DEFUN([GLIB_AC_DIVERT_BEFORE_HELP],
[ifdef([m4_divert_text], [m4_divert_text([NOTICE],[$1])],
[ifdef([AC_DIVERT], [AC_DIVERT([NOTICE],[$1])],
[AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)dnl
$1
AC_DIVERT_POP()])])])
# GTK_ADD_LIB(VAR,LIBNAME)
# ---------------------------------
# Helper macro to add a -lBlah to a variable, avoiding repeats
# Note that this needs to be quoted when used in an enclosing macro
AC_DEFUN([GTK_ADD_LIB],
[ case "$$1 " in
*-l$2[[\ \ ]]*) ;;
*) $1="-l$2 $$1" ;;
esac
])
# Checks the location of the XML Catalog
# Usage:
# JH_PATH_XML_CATALOG([ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
# Defines XMLCATALOG and XML_CATALOG_FILE substitutions
AC_DEFUN([JH_PATH_XML_CATALOG],
[
# check for the presence of the XML catalog
AC_ARG_WITH([xml-catalog],
AC_HELP_STRING([--with-xml-catalog=CATALOG],
[path to xml catalog to use]),,
[with_xml_catalog=/etc/xml/catalog])
jh_found_xmlcatalog=true
XML_CATALOG_FILE="$with_xml_catalog"
AC_SUBST([XML_CATALOG_FILE])
AC_MSG_CHECKING([for XML catalog ($XML_CATALOG_FILE)])
if test -f "$XML_CATALOG_FILE"; then
AC_MSG_RESULT([found])
else
jh_found_xmlcatalog=false
AC_MSG_RESULT([not found])
fi
# check for the xmlcatalog program
AC_PATH_PROG(XMLCATALOG, xmlcatalog, no)
if test "x$XMLCATALOG" = xno; then
jh_found_xmlcatalog=false
fi
if $jh_found_xmlcatalog; then
ifelse([$1],,[:],[$1])
else
ifelse([$2],,[AC_MSG_ERROR([could not find XML catalog])],[$2])
fi
])
# Checks if a particular URI appears in the XML catalog
# Usage:
# JH_CHECK_XML_CATALOG(URI, [FRIENDLY-NAME], [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
AC_DEFUN([JH_CHECK_XML_CATALOG],
[
AC_REQUIRE([JH_PATH_XML_CATALOG],[JH_PATH_XML_CATALOG(,[:])])dnl
AC_MSG_CHECKING([for ifelse([$2],,[$1],[$2]) in XML catalog])
if $jh_found_xmlcatalog && \
AC_RUN_LOG([$XMLCATALOG --noout "$XML_CATALOG_FILE" "$1" >&2]); then
AC_MSG_RESULT([found])
ifelse([$3],,,[$3
])dnl
else
AC_MSG_RESULT([not found])
ifelse([$4],,
[AC_MSG_ERROR([could not find ifelse([$2],,[$1],[$2]) in XML catalog])],
[$4])
fi
])

117
autogen.sh Executable file
View File

@@ -0,0 +1,117 @@
#!/bin/sh
# Run this to generate all the initial makefiles, etc.
srcdir=`dirname $0`
test -z "$srcdir" && srcdir=.
ORIGDIR=`pwd`
cd $srcdir
PROJECT=Gtk+
TEST_TYPE=-d
FILE=gdk
DIE=0
have_libtool=false
if libtoolize --version < /dev/null > /dev/null 2>&1 ; then
libtool_version=`libtoolize --version | sed 's/^[^0-9]*\([0-9.][0-9.]*\).*/\1/'`
case $libtool_version in
1.4*|1.5*)
have_libtool=true
;;
esac
fi
if $have_libtool ; then : ; else
echo
echo "You must have libtool 1.4 installed to compile $PROJECT."
echo "Install the appropriate package for your distribution,"
echo "or get the source tarball at http://ftp.gnu.org/gnu/libtool/"
DIE=1
fi
(gtkdocize --version) < /dev/null > /dev/null 2>&1 || {
echo
echo "You must have gtk-doc installed to compile $PROJECT."
echo "Install the appropriate package for your distribution,"
echo "or get the source tarball at http://ftp.gnome.org/pub/GNOME/sources/gtk-doc/"
DIE=1
}
(autoconf --version) < /dev/null > /dev/null 2>&1 || {
echo
echo "You must have autoconf installed to compile $PROJECT."
echo "Install the appropriate package for your distribution,"
echo "or get the source tarball at http://ftp.gnu.org/gnu/autoconf/"
DIE=1
}
if automake-1.7 --version < /dev/null > /dev/null 2>&1 ; then
AUTOMAKE=automake-1.7
ACLOCAL=aclocal-1.7
else
echo
echo "You must have automake 1.7.x installed to compile $PROJECT."
echo "Install the appropriate package for your distribution,"
echo "or get the source tarball at http://ftp.gnu.org/gnu/automake/"
DIE=1
fi
if test "$DIE" -eq 1; then
exit 1
fi
test $TEST_TYPE $FILE || {
echo "You must run this script in the top-level $PROJECT directory"
exit 1
}
if test -z "$AUTOGEN_SUBDIR_MODE"; then
if test -z "$*"; then
echo "I am going to run ./configure with no arguments - if you wish "
echo "to pass any to it, please specify them on the $0 command line."
fi
fi
if test -z "$ACLOCAL_FLAGS"; then
acdir=`$ACLOCAL --print-ac-dir`
m4list="glib-2.0.m4 glib-gettext.m4"
for file in $m4list
do
if [ ! -f "$acdir/$file" ]; then
echo "WARNING: aclocal's directory is $acdir, but..."
echo " no file $acdir/$file"
echo " You may see fatal macro warnings below."
echo " If these files are installed in /some/dir, set the ACLOCAL_FLAGS "
echo " environment variable to \"-I /some/dir\", or install"
echo " $acdir/$file."
echo ""
fi
done
fi
rm -rf autom4te.cache
# README and INSTALL are required by automake, but may be deleted by clean
# up rules. to get automake to work, simply touch these here, they will be
# regenerated from their corresponding *.in files by ./configure anyway.
touch README INSTALL
$ACLOCAL $ACLOCAL_FLAGS || exit $?
libtoolize --force || exit $?
gtkdocize || exit $?
autoheader || exit $?
$AUTOMAKE --add-missing || exit $?
autoconf || exit $?
cd $ORIGDIR || exit $?
if test -z "$AUTOGEN_SUBDIR_MODE"; then
$srcdir/configure --enable-maintainer-mode $AUTOGEN_CONFIGURE_ARGS "$@" || exit $?
echo
echo "Now type 'make' to compile $PROJECT."
fi

View File

@@ -1,59 +0,0 @@
{
"app-id": "org.gtk.Demo",
"runtime": "org.gnome.Platform",
"runtime-version": "master",
"sdk": "org.gnome.Sdk",
"command": "gtk4-demo",
"tags": ["devel", "development", "nightly"],
"rename-desktop-file": "gtk4-demo.desktop",
"rename-icon": "gtk4-demo",
"desktop-file-name-prefix": "(Development) ",
"finish-args": [
"--device=dri",
"--share=ipc",
"--socket=x11",
"--socket=wayland",
"--talk-name=org.gtk.vfs", "--talk-name=org.gtk.vfs.*",
"--talk-name=ca.desrt.conf", "--env=DCONF_USER_CONFIG_DIR=.config/dconf"
],
"cleanup": [
"/include",
"/lib/pkgconfig", "/share/pkgconfig",
"/share/aclocal",
"/man", "/share/man", "/share/gtk-doc",
"*.la", ".a",
"/lib/girepository-1.0",
"/share/gir-1.0",
"/share/doc"
],
"modules": [
{
"name": "graphene",
"buildsystem": "meson",
"builddir": true,
"config-opts": [
"--libdir=/app/lib"
],
"sources": [
{
"type": "git",
"url": "https://github.com/ebassi/graphene.git"
}
]
},
{
"name": "gtk",
"buildsystem": "meson",
"builddir": true,
"config-opts": [
"--libdir=/app/lib"
],
"sources": [
{
"type": "git",
"url": "https://gitlab.gnome.org/GNOME/gtk.git"
}
]
}
]
}

View File

@@ -1,59 +0,0 @@
{
"app-id": "org.gtk.WidgetFactory",
"runtime": "org.gnome.Platform",
"runtime-version": "master",
"sdk": "org.gnome.Sdk",
"command": "gtk4-widget-factory",
"tags": ["devel", "development", "nightly"],
"rename-desktop-file": "gtk4-widget-factory.desktop",
"rename-icon": "gtk4-widget-factory",
"desktop-file-name-prefix": "(Development) ",
"finish-args": [
"--device=dri",
"--share=ipc",
"--socket=x11",
"--socket=wayland",
"--talk-name=org.gtk.vfs", "--talk-name=org.gtk.vfs.*",
"--talk-name=ca.desrt.conf", "--env=DCONF_USER_CONFIG_DIR=.config/dconf"
],
"cleanup": [
"/include",
"/lib/pkgconfig", "/share/pkgconfig",
"/share/aclocal",
"/man", "/share/man", "/share/gtk-doc",
"*.la", ".a",
"/lib/girepository-1.0",
"/share/gir-1.0",
"/share/doc"
],
"modules": [
{
"name": "graphene",
"buildsystem": "meson",
"builddir": true,
"config-opts": [
"--libdir=/app/lib"
],
"sources": [
{
"type": "git",
"url": "https://github.com/ebassi/graphene.git"
}
]
},
{
"name": "gtk",
"buildsystem": "meson",
"builddir": true,
"config-opts": [
"--libdir=/app/lib"
],
"sources": [
{
"type": "git",
"url": "https://gitlab.gnome.org/GNOME/gtk.git"
}
]
}
]
}

View File

@@ -1,26 +0,0 @@
#!/bin/sh
gtk_api_version=$1
gtk_abi_version=$2
gtk_libdir=$3
gtk_datadir=$4
# Package managers set this so we don't need to run
if [ -z "$DESTDIR" ]; then
echo Compiling GSettings schemas...
glib-compile-schemas ${gtk_datadir}/glib-2.0/schemas
echo Updating desktop database...
update-desktop-database -q ${gtk_datadir}/applications
echo Updating icon cache...
gtk-update-icon-cache -q -t -f ${gtk_datadir}/icons/hicolor
echo Updating module cache for print backends...
mkdir -p ${gtk_libdir}/gtk-4.0/4.0.0/printbackends
gio-querymodules ${gtk_libdir}/gtk-4.0/4.0.0/printbackends
echo Updating module cache for input methods...
mkdir -p ${gtk_libdir}/gtk-4.0/4.0.0/immodules
gio-querymodules ${gtk_libdir}/gtk-4.0/4.0.0/immodules
fi

View File

@@ -1,303 +0,0 @@
/* config.h.in. Generated from configure.ac by autoheader. */
/* always defined to indicate that i18n is enabled */
#define ENABLE_NLS 1
/* The prefix for our gettext translation domains. */
#mesondefine GETTEXT_PACKAGE
/* Disable deprecation warnings from glib */
#mesondefine GLIB_DISABLE_DEPRECATION_WARNINGS
/* Define the location where the catalogs will be installed */
#mesondefine GTK_LOCALEDIR
/* Define to 1 if you have the `bind_textdomain_codeset' function. */
#mesondefine HAVE_BIND_TEXTDOMAIN_CODESET
/* Have the cloudproviders library */
#mesondefine HAVE_CLOUDPROVIDERS
/* define if we have colord */
#mesondefine HAVE_COLORD
/* Define to 1 if you have the <crt_externs.h> header file. */
#mesondefine HAVE_CRT_EXTERNS_H
/* Define to 1 if CUPS 1.6 API is available */
#mesondefine HAVE_CUPS_API_1_6
/* Define to 1 if you have the `dcgettext' function. */
#mesondefine HAVE_DCGETTEXT
/* Define to 1 if you have the declaration of `isinf', and to 0 if you don't.
*/
#mesondefine HAVE_DECL_ISINF
/* Define to 1 if you have the declaration of `isnan', and to 0 if you don't.
*/
#mesondefine HAVE_DECL_ISNAN
/* Define to 1 if you have the <dlfcn.h> header file. */
#mesondefine HAVE_DLFCN_H
/* Have the ffmpeg library */
#mesondefine HAVE_FFMPEG
/* Define to 1 if you have the <ftw.h> header file. */
#mesondefine HAVE_FTW_H
/* Define to 1 if you have the `getpagesize' function. */
#mesondefine HAVE_GETPAGESIZE
/* Define to 1 if you have the `getresuid' function. */
#mesondefine HAVE_GETRESUID
/* Define if gio-unix is available */
#mesondefine HAVE_GIO_UNIX
/* Define if GStreamer support is available */
#mesondefine HAVE_GSTREAMER
/* Define to 1 if you have the `httpGetAuthString' function. */
#mesondefine HAVE_HTTPGETAUTHSTRING
/* Define if cups http_t authstring field is accessible */
#mesondefine HAVE_HTTP_AUTHSTRING
/* Define to 1 if you have the <inttypes.h> header file. */
#mesondefine HAVE_INTTYPES_H
/* Define to 1 if the system has the type `IPrintDialogCallback'. */
#mesondefine HAVE_IPRINTDIALOGCALLBACK
/* Define to 1 if you have the <locale.h> header file. */
#mesondefine HAVE_LOCALE_H
/* Define to 1 if you have the `lstat' function. */
#mesondefine HAVE_LSTAT
/* Define to 1 if you have the `mallinfo' function. */
#mesondefine HAVE_MALLINFO
/* Define to 1 if you have the <memory.h> header file. */
#mesondefine HAVE_MEMORY_H
/* Define to 1 if you have the `mkstemp' function. */
#mesondefine HAVE_MKSTEMP
/* Define to 1 if you have a working `mmap' system call. */
#mesondefine HAVE_MMAP
/* Define to 1 if you have the `nearbyint' function. */
#mesondefine HAVE_NEARBYINT
/* Define to 1 if you have the `posix_fallocate' function. */
#mesondefine HAVE_POSIX_FALLOCATE
/* Have the Xrandr extension library */
#mesondefine HAVE_RANDR
/* Have the Xrandr 1.5 extension library */
#mesondefine HAVE_RANDR15
/* Define to 1 if you have the `rint' function. */
#mesondefine HAVE_RINT
/* Define to 1 if you have the `round' function. */
#mesondefine HAVE_ROUND
/* Define to 1 if you have the `sincos' function. */
#mesondefine HAVE_SINCOS
/* Define to 1 if you have the `log2` function */
#mesondefine HAVE_LOG2
/* Define to 1 if you ahve the `exp2` function */
#mesondefine HAVE_EXP2
/* Define to 1 if you have the <stdint.h> header file. */
#mesondefine HAVE_STDINT_H
/* Define to 1 if you have the <stdlib.h> header file. */
#mesondefine HAVE_STDLIB_H
/* Define to 1 if you have the <strings.h> header file. */
#mesondefine HAVE_STRINGS_H
/* Define to 1 if you have the <string.h> header file. */
#mesondefine HAVE_STRING_H
/* Define to 1 if you have the <sys/mman.h> header file. */
#mesondefine HAVE_SYS_MMAN_H
/* Define to 1 if you have the <sys/param.h> header file. */
#mesondefine HAVE_SYS_PARAM_H
/* Define to 1 if you have the <sys/stat.h> header file. */
#mesondefine HAVE_SYS_STAT_H
/* Define to 1 if you have the <sys/time.h> header file. */
#mesondefine HAVE_SYS_TIME_H
/* Define to 1 if you have the <sys/types.h> header file. */
#mesondefine HAVE_SYS_TYPES_H
/* Define to 1 if you have the <unistd.h> header file. */
#mesondefine HAVE_UNISTD_H
/* Have the XCOMPOSITE X extension */
#mesondefine HAVE_XCOMPOSITE
/* Have the Xcursor library */
#mesondefine HAVE_XCURSOR
/* Have the XDAMAGE X extension */
#mesondefine HAVE_XDAMAGE
/* Have the XFIXES X extension */
#mesondefine HAVE_XFIXES
/* Define to 1 if XFree Xinerama is available */
#mesondefine HAVE_XFREE_XINERAMA
/* Have XGenericEvent */
#mesondefine HAVE_XGENERICEVENTS
/* Define to use XKB extension */
#mesondefine HAVE_XKB
/* Have the SYNC extension library */
#mesondefine HAVE_XSYNC
/* Define to 1 if you have the `_lock_file' function */
#mesondefine HAVE__LOCK_FILE
/* Define to 1 if you have the `flockfile' function */
#mesondefine HAVE_FLOCKFILE
/* Define if _NL_MEASUREMENT_MEASUREMENT is available */
#mesondefine HAVE__NL_MEASUREMENT_MEASUREMENT
/* Define if _NL_PAPER_HEIGHT is available */
#mesondefine HAVE__NL_PAPER_HEIGHT
/* Define if _NL_PAPER_WIDTH is available */
#mesondefine HAVE__NL_PAPER_WIDTH
/* Define if _NL_TIME_FIRST_WEEKDAY is available */
#mesondefine HAVE__NL_TIME_FIRST_WEEKDAY
/* Define to the sub-directory where libtool stores uninstalled libraries. */
#mesondefine LT_OBJDIR
/* Define if <X11/extensions/XIproto.h> needed for xReply */
#mesondefine NEED_XIPROTO_H_FOR_XREPLY
/* Define to 1 if your C compiler doesn't accept -c and -o together. */
#mesondefine NO_MINUS_C_MINUS_O
/* Define to the address where bug reports for this package should be sent. */
#mesondefine PACKAGE_BUGREPORT
/* Define to the full name of this package. */
#mesondefine PACKAGE_NAME
/* Define to the full name and version of this package. */
#mesondefine PACKAGE_STRING
/* Define to the one symbol short name of this package. */
#mesondefine PACKAGE_TARNAME
/* Define to the home page for this package. */
#mesondefine PACKAGE_URL
/* Define to the version of this package. */
#mesondefine PACKAGE_VERSION
/* Use NSBundle functions to determine load paths for libraries, translations,
etc. */
#mesondefine QUARTZ_RELOCATION
/* Define to 1 if you have the ANSI C header files. */
#mesondefine STDC_HEADERS
/* Enable extensions on AIX 3, Interix. */
#ifndef _ALL_SOURCE
# undef _ALL_SOURCE
#endif
/* Enable GNU extensions on systems that have them. */
#ifndef _GNU_SOURCE
# undef _GNU_SOURCE
#endif
/* Enable threading extensions on Solaris. */
#ifndef _POSIX_PTHREAD_SEMANTICS
# undef _POSIX_PTHREAD_SEMANTICS
#endif
/* Enable extensions on HP NonStop. */
#ifndef _TANDEM_SOURCE
# undef _TANDEM_SOURCE
#endif
/* Enable general extensions on Solaris. */
#ifndef __EXTENSIONS__
# undef __EXTENSIONS__
#endif
/* Define to 1 if XInput 2.0 is available */
#mesondefine XINPUT_2
/* Define to 1 if XInput 2.2 is available */
#mesondefine XINPUT_2_2
/* Define to 1 if the X Window System is missing or not being used. */
#mesondefine X_DISPLAY_MISSING
/* Enable large inode numbers on Mac OS X 10.5. */
#ifndef _DARWIN_USE_64_BIT_INODE
# define _DARWIN_USE_64_BIT_INODE 1
#endif
/* Number of bits in a file offset, on hosts where this is settable. */
#mesondefine _FILE_OFFSET_BITS
/* defines how to decorate public symbols while building */
#mesondefine _GDK_EXTERN
/* Define for large files, on AIX-style hosts. */
#mesondefine _LARGE_FILES
/* Define to 1 if on MINIX. */
#mesondefine _MINIX
/* Define to 2 if the system does not provide POSIX.1 features except with
this defined. */
#mesondefine _POSIX_1_SOURCE
/* Define to 1 if you need to in order for `stat' and other things to work. */
#mesondefine _POSIX_SOURCE
/* Define to `int' if <sys/types.h> doesn't define. */
#mesondefine gid_t
/* Define to `int' if <sys/types.h> doesn't define. */
#mesondefine uid_t
/* Define to 1 if linux/memfd.h exists */
#mesondefine HAVE_LINUX_MEMFD_H
#mesondefine GTK_SYSCONFDIR
#mesondefine GTK_LOCALEDIR
#mesondefine GTK_DATADIR
#mesondefine GTK_LIBDIR
#mesondefine GTK_PRINT_BACKENDS
#mesondefine HAVE_HARFBUZZ
#mesondefine HAVE_PANGOFT
#mesondefine ISO_CODES_PREFIX

268
config.h.win32.in Normal file
View File

@@ -0,0 +1,268 @@
/* config.h.win32.in. Merged from two versions generated by configure for gcc and MSVC. */
/* config.h.in. Generated from configure.in by autoheader. */
/* acconfig.h
This file is in the public domain.
Descriptive text for the C preprocessor macros that
the distributed Autoconf macros can define.
No software package will use all of them; autoheader copies the ones
your configure.in uses into your configuration header file templates.
The entries are in sort -df order: alphabetical, case insensitive,
ignoring punctuation (such as underscores). Although this order
can split up related entries, it makes it easier to check whether
a given entry is in the file.
Leave the following blank line there!! Autoheader needs it. */
/* Other stuff */
#define ENABLE_NLS 1
#define GTK_COMPILED_WITH_DEBUGGING "yes"
/* #undef HAVE_CATGETS */
/* #undef HAVE_DIMM_H */
#define HAVE_GETTEXT 1
/* #undef HAVE_IPC_H */
/* #undef HAVE_LC_MESSAGES */
#define HAVE_PROGRESSIVE_JPEG 1
/* #undef HAVE_PWD_H */
/* #undef HAVE_SHM_H */
/* #undef HAVE_STPCPY */
/* #undef HAVE_XSHM_H */
/* #undef HAVE_SHAPE_EXT */
/* #undef HAVE_SOLARIS_XINERAMA */
/* #undef HAVE_SYS_SELECT_H */
#ifndef _MSC_VER
#define HAVE_SYS_TIME_H 1
#else /* _MSC_VER */
/* #undef HAVE_SYS_TIME_H */
#endif /* _MSC_VER */
/* #undef HAVE_XFREE_XINERAMA */
/* #undef HAVE_XINERAMA */
#define HAVE_WINTAB 1
/* #undef HAVE_XCONVERTCASE */
/* #undef HAVE_XFT */
/* #undef HAVE_SIGSETJMP */
#define NO_FD_SET 1
/* #undef RESOURCE_BASE */
#ifndef _MSC_VER
#define USE_GMODULE 1
#define USE_MMX 1
#endif
/* Define to use XKB extension */
/* #undef HAVE_XKB */
/* Define to use shadowfb in the linux-fb port */
/* #undef ENABLE_SHADOW_FB */
/* Define to use a fb manager in the linux-fb port */
/* #undef ENABLE_FB_MANAGER */
/* #undef XINPUT_NONE */
/* #undef XINPUT_GXI */
/* #undef XINPUT_XFREE */
/* Define as the return type of signal handlers (int or void). */
#define RETSIGTYPE void
/* Most machines will be happy with int or void. IRIX requires '...' */
/* #undef SIGNAL_ARG_TYPE */
#define GETTEXT_PACKAGE "@GETTEXT_PACKAGE@"
/* #undef PACKAGE */
/* #undef VERSION */
/* Leave that blank line there!! Autoheader needs it.
If you're adding to this file, keep in mind:
The entries are in sort -df order: alphabetical, case insensitive,
ignoring punctuation (such as underscores). */
/* always defined to indicate that i18n is enabled */
#define ENABLE_NLS 1
/* Define the location where the catalogs will be installed */
#define GTK_LOCALEDIR "UNUSED"
/* Define to 1 if you have the `bind_textdomain_codeset' function. */
#define HAVE_BIND_TEXTDOMAIN_CODESET 1
/* Is the wctype implementation broken */
/* #undef HAVE_BROKEN_WCTYPE */
/* Define to 1 if you have the `dcgettext' function. */
#define HAVE_DCGETTEXT 1
/* Define to 1 if you have the <dlfcn.h> header file. */
/* #undef HAVE_DLFCN_H */
/* Define to 1 if you have the `flockfile' function. */
/* #undef HAVE_FLOCKFILE */
/* Define to 1 if you have the `getpagesize' function. */
#ifndef _MSC_VER
#define HAVE_GETPAGESIZE 1
#else /* _MSC_VER */
/* #undef HAVE_GETPAGESIZE */
#endif /* _MSC_VER */
/* Define to 1 if you have the `getresuid' function. */
/* #undef HAVE_GETRESUID */
/* Define if the GNU gettext() function is already present or preinstalled. */
#define HAVE_GETTEXT 1
/* Define to 1 if you have the <inttypes.h> header file. */
#ifndef _MSC_VER
#define HAVE_INTTYPES_H 1
#else /* _MSC_VER */
/* #undef HAVE_INTTYPES_H */
#endif /* _MSC_VER */
/* Define if your <locale.h> file defines LC_MESSAGES. */
/* #undef HAVE_LC_MESSAGES */
/* Define to 1 if you have the <locale.h> header file. */
#define HAVE_LOCALE_H 1
/* Define to 1 if you have the `lstat' function. */
/* #undef HAVE_LSTAT */
/* Define to 1 if you have the `mallinfo' function. */
/* #undef HAVE_MALLINFO */
/* Define to 1 if you have the <memory.h> header file. */
#define HAVE_MEMORY_H 1
/* Define to 1 if you have the `mkstemp' function. */
/* #undef HAVE_MKSTEMP */
/* Define to 1 if you have a working `mmap' system call. */
/* #undef HAVE_MMAP */
/* Define to 1 if you have the <pwd.h> header file. */
/* #undef HAVE_PWD_H */
/* Have the Xrandr extension library */
/* #undef HAVE_RANDR */
/* Define to 1 if you have the <stdint.h> header file. */
#ifndef _MSC_VER
#define HAVE_STDINT_H 1
#else /* _MSC_VER */
/* #undef HAVE_STDINT_H */
#endif /* _MSC_VER */
/* Define to 1 if you have the <stdlib.h> header file. */
#define HAVE_STDLIB_H 1
/* Define to 1 if you have the <strings.h> header file. */
/* #undef HAVE_STRINGS_H */
/* Define to 1 if you have the <string.h> header file. */
#define HAVE_STRING_H 1
/* Define to 1 if you have the <sys/stat.h> header file. */
#define HAVE_SYS_STAT_H 1
/* Define to 1 if you have the <sys/time.h> header file. */
#ifndef _MSC_VER
#define HAVE_SYS_TIME_H 1
#else /* _MSC_VER */
/* #undef HAVE_SYS_TIME_H */
#endif /* _MSC_VER */
/* Define to 1 if you have the <sys/types.h> header file. */
#define HAVE_SYS_TYPES_H 1
/* Define to 1 if you have <sys/wait.h> that is POSIX.1 compatible. */
/* #undef HAVE_SYS_WAIT_H */
/* Define to 1 if you have the <unistd.h> header file. */
#ifndef _MSC_VER
#define HAVE_UNISTD_H 1
#else /* _MSC_VER */
/* #undef HAVE_UNISTD_H */
#endif /* _MSC_VER */
/* Have uxtheme.h include file */
#define HAVE_UXTHEME_H 1
/* Have wchar.h include file */
#define HAVE_WCHAR_H 1
/* Have wctype.h include file */
#define HAVE_WCTYPE_H 1
/* Define if we have X11R6 */
/* #undef HAVE_X11R6 */
/* Define to 1 if you have the `XConvertCase' function. */
/* #undef HAVE_XCONVERTCASE */
/* Have the Xcursor library */
/* #undef HAVE_XCURSOR */
/* Have the XFIXES X extension */
/* #undef HAVE_XFIXES */
/* Define to 1 if you have the `XInternAtoms' function. */
/* #undef HAVE_XINTERNATOMS */
/* Have the SYNC extension library */
/* #undef HAVE_XSYNC */
/* Define if _NL_TIME_FIRST_WEEKDAY is available */
/* #undef HAVE__NL_TIME_FIRST_WEEKDAY */
/* Define if <X11/extensions/XIproto.h> needed for xReply */
/* #undef NEED_XIPROTO_H_FOR_XREPLY */
/* Define to the address where bug reports for this package should be sent. */
#define PACKAGE_BUGREPORT "http://bugzilla.gnome.org/enter_bug.cgi?product=gtk%2B"
/* Define to the full name of this package. */
#define PACKAGE_NAME "gtk+"
/* Define to the full name and version of this package. */
#define PACKAGE_STRING "gtk+ 2.9.0"
/* Define to the one symbol short name of this package. */
#define PACKAGE_TARNAME "gtk+"
/* Define to the version of this package. */
#define PACKAGE_VERSION "@GTK_MAJOR_VERSION@.@GTK_MINOR_VERSION@.@GTK_MICRO_VERSION@"
/* Define as the return type of signal handlers (`int' or `void'). */
#define RETSIGTYPE void
/* Define to 1 if you have the ANSI C header files. */
#define STDC_HEADERS 1
/* Whether to load modules via .la files rather than directly */
/* #undef USE_LA_MODULES */
/* Define to 1 if the X Window System is missing or not being used. */
/* #undef X_DISPLAY_MISSING */
/* Number of bits in a file offset, on hosts where this is settable. */
/* #undef _FILE_OFFSET_BITS */
/* Define for large files, on AIX-style hosts. */
/* #undef _LARGE_FILES */
/* Define to empty if `const' does not conform to ANSI C. */
/* #undef const */
/* Define to `int' if <sys/types.h> doesn't define. */
#define gid_t int
/* Define to `int' if <sys/types.h> doesn't define. */
#define uid_t int

1797
configure.in Normal file

File diff suppressed because it is too large Load Diff

2
contrib/.cvsignore Normal file
View File

@@ -0,0 +1,2 @@
Makefile
Makefile.in

5
contrib/Makefile.am Normal file
View File

@@ -0,0 +1,5 @@
SUBDIRS =
if USE_X11
SUBDIRS += gdk-pixbuf-xlib
endif

View File

@@ -0,0 +1,7 @@
Makefile
Makefile.in
*.la
*.lo
.libs
.deps
gdk-pixbuf-xlib-2.0.pc

View File

@@ -0,0 +1,278 @@
2007-07-16 Matthias Clasen <mclasen@redhat.com>
* === Released 2.10.14 ===
2007-06-12 Matthias Clasen <mclasen@redhat.com>
* === Released 2.10.13 ===
2007-05-02 Matthias Clasen <mclasen@redhat.com>
* === Released 2.10.12 ===
2007-03-14 Matthias Clasen <mclasen@redhat.com>
* === Released 2.10.11 ===
2007-03-12 Matthias Clasen <mclasen@redhat.com>
* === Released 2.10.10 ===
2007-01-22 Matthias Clasen <mclasen@redhat.com>
* === 2.10.9 ===
2007-01-17 Matthias Clasen <mclasen@redhat.com>
* === Released 2.10.8 ===
2007-01-05 Matthias Clasen <mclasen@redhat.com>
* === Released 2.10.7 ===
2006-10-03 Matthias Clasen <mclasen@redhat.com>
* === Released 2.10.6 ===
2006-10-02 Matthias Clasen <mclasen@redhat.com>
* === Released 2.10.5 ===
2006-09-22 Matthias Clasen <mclasen@redhat.com>
* === Released 2.10.4 ===
2006-09-04 Matthias Clasen <mclasen@redhat.com>
* === Released 2.10.3 ===
2006-08-17 Matthias Clasen <mclasen@redhat.com>
* === Released 2.10.2 ===
2006-07-23 Matthias Clasen <mclasen@redhat.com>
* === Released 2.10.1 ===
2006-07-02 Matthias Clasen <mclasen@redhat.com>
* === Released 2.10.0 ===
2006-06-21 Matthias Clasen <mclasen@redhat.com>
* === Released 2.9.4 ===
2006-06-12 Matthias Clasen <mclasen@redhat.com>
* === Released 2.9.3 ===
2006-06-05 Matthias Clasen <mclasen@redhat.com>
* === Released 2.9.2 ===
2006-05-16 Matthias Clasen <mclasen@redhat.com>
* === Released 2.9.1 ====
2006-05-04 Matthias Clasen <mclasen@redhat.com>
* === Released 2.9.0 ===
2005-11-17 Matthias Clasen <mclasen@redhat.com>
* gdk-pixbuf-xlib-drawable.c:
* gdk-pixbuf-xlibrgb.c: const correctness fixes
found by Arjan van de Ven and gcc.
2005-10-05 Matthias Clasen <mclasen@redhat.com>
* gdk-pixbuf-xlib-2.0.pc.in (Requires): Require
gmodule-no-export-2.0 instead of gmodule-2.0
2005-08-24 Matthias Clasen <mclasen@redhat.com>
* === Released 2.8.2 ===
* === Released 2.8.1 ===
2005-08-13 Matthias Clasen <mclasen@redhat.com>
* === Released 2.8.0 ===
2005-08-02 Matthias Clasen <mclasen@redhat.com>
* === Released 2.7.5 ===
2005-07-22 Matthias Clasen <mclasen@redhat.com>
* === Released 2.7.4 ===
2005-07-15 Matthias Clasen <mclasen@redhat.com>
* === Released 2.7.3 ===
2005-07-08 Matthias Clasen <mclasen@redhat.com>
* === Released 2.7.2 ===
2005-07-01 Matthias Clasen <mclasen@redhat.com>
* === Released 2.7.1 ===
2005-06-20 Matthias Clasen <mclasen@redhat.com>
* === Released 2.7.0 ===
2005-01-08 Matthias Clasen <mclasen@redhat.com>
* === Released 2.6.1 ===
2004-12-16 Matthias Clasen <mclasen@redhat.com>
* === Released 2.6.0 ===
2004-12-02 Matthias Clasen <mclasen@redhat.com>
* === Released 2.5.6 ===
2004-11-12 Matthias Clasen <mclasen@redhat.com>
* === Released 2.5.5 ===
2004-10-27 Matthias Clasen <mclasen@redhat.com>
* === Released 2.5.4 ===
2004-09-19 Matthias Clasen <mclasen@redhat.com>
* === Released 2.5.3 ===
2004-08-25 Matthias Clasen <mclasen@redhat.com>
* === Released 2.5.2 ===
2004-08-01 Matthias Clasen <mclasen@redhat.com>
* === Released 2.5.1 ===
Tue Jul 20 23:26:10 2004 Matthias Clasen <maclas@gmx.de>
* gdk-pixbuf-xlibrgb.c: Include config.h first. (#148034)
Sun Jul 18 20:17:41 2004 Soeren Sandmann <sandmann@daimi.au.dk>
* === released 2.5.0 ==
Tue Mar 9 09:33:54 2004 Owen Taylor <otaylor@redhat.com>
* === Released 2.3.6 ===
Wed Mar 3 15:50:28 2004 Owen Taylor <otaylor@redhat.com>
* Makefile.am (libgdk_pixbuf_xlib_2_0_la_LIBADD): Add
a shared library dependency on libgdk-pixbuf (#124687)
Tue Feb 24 14:45:03 2004 Owen Taylor <otaylor@redhat.com>
* === Released 2.3.3 ===
Fri Feb 13 10:32:09 2004 Owen Taylor <otaylor@redhat.com>
* gdk-pixbuf-xlibrgb.h: Remove a couple of unneeded
#includes. Isn't unsupported code fun?
(133833, Gregory Merchan)
Tue Oct 7 23:30:00 2003 Matthias Clasen <maclas@gmx.de>
* gdk-pixbuf-xlib.h: Add C++ guards. (123955, Harring Figueiredo)
2002-08-06 jacob berkman <jacob@ximian.com>
* Makefile.am (lib_LTLIBRARIES): link against xlibs
2002-01-25 Federico Mena Quintero <federico@ximian.com>
Merge from gdk-pixbuf stable.
* gdk-pixbuf-xlib-drawable.c (rgb565msb): Fixed the endianness
conversion --- swap the individual 16 bit values instead of taking
everying as a 32 bit value.
(rgb565lsb): Likewise.
(rgb555lsb): Likewise.
(rgb555msb): Likewise.
2001-11-26 Akira TAGOH <tagoh@redhat.com>
* Makefile.am (libgdk_pixbuf_xlib_1_3_la_LDFLAGS):
Added -version-info.
2001-05-19 Havoc Pennington <hp@pobox.com>
* gdk-pixbuf-xlibrgb.c: docs
2001-06-04 Havoc Pennington <hp@redhat.com>
* gdk-pixbuf-xlibrgb.c (xlib_rgb_init): remove C++ comment,
reported by Dan McNichol
Mon Jan 8 11:41:41 2001 Owen Taylor <otaylor@redhat.com>
* Makefile.am (INCLUDES): Add @x_cflags@ (#36310)
2001-01-02 Havoc Pennington <hp@redhat.com>
* gdk-pixbuf-xlib-2.0.pc.in (Description): fix up description a bit.
2000-10-06 Havoc Pennington <hp@redhat.com>
* gdk-pixbuf-xlib.c: Put display/screen here, instead of in
the main gdk-pixbuf library as it was in 1.0; since the io-xpm
loader doesn't use these variables anymore it should be OK
2000-09-26 Federico Mena Quintero <federico@helixcode.com>
* gdk-pixbuf/gdk-pixbuf-xlib-drawable.c
(gdk_pixbuf_xlib_get_from_drawable): Do not use
gdk_screen_{width,height}(). Thanks to John Harper for pointing
this out.
2000-08-26 Federico Mena Quintero <federico@helixcode.com>
* gdk-pixbuf/gdk-pixbuf-xlibrgb.c: Added API reference docs.
2000-08-25 Federico Mena Quintero <federico@helixcode.com>
* gdk-pixbuf/gdk-pixbuf-xlib-drawable.c (handle_x_error): Return
0.
(xlib_window_is_viewable): Return FALSE in the last case.
* gdk-pixbuf/gdk-pixbuf-xlib-render.c: Updated the inline docs.
* gdk-pixbuf/gdk-pixbuf-xlib.c: Added API docs.
2000-08-25 John Harper <john@dcs.warwick.ac.uk>
Work to create an Xlib version of gdk-pixbuf (with the Xlib
port of GdkRGB for rendering):
* configure.in: check for X libraries, set and substitute
GDK_PIXBUF_XLIB_{LIBDIR,INCLUDEDIR,LIBS} variables
* gdk_pixbuf_xlibConf.sh.in: new file -- gnome-config details
for the gdk-pixbuf-xlib library
* Makefile.am: build and install gdk_pixbuf_xlibConf.sh
* gdk-pixbuf/gdk-pixbuf-xlib-render.c,
gdk-pixbuf/gdk-pixbuf-xlib.c, gdk-pixbuf/gdk-pixbuf-xlib.h,
gdk-pixbuf/gdk-pixbuf-xlib-private.h,
gdk-pixbuf/gdk-pixbuf-xlib-drawable.c: new files, ported the
GDK dependent parts of gdk-pixbuf to use Xlib. Functions that
were called gdk_pixbuf_FOO are now gdk_pixbuf_xlib_FOO
* gdk-pixbuf/gdk-pixbuf-xlibrgb.c,
gdk-pixbuf/gdk-pixbuf-xlibrgb.h: added Chris Blizzard's Xlib
port of GdkRGB (from Mozilla CVS)
* gdk-pixbuf/Makefile.am: build a library libgdk_pixbuf_xlib.la
including the non-GDK dependent objects from libgdk_pixbuf.la
plus the Xlib ports and xlibrgb

View File

@@ -0,0 +1,39 @@
if PLATFORM_WIN32
no_undefined = -no-undefined
endif
lib_LTLIBRARIES=libgdk_pixbuf_xlib-2.0.la
INCLUDES = \
-I$(top_srcdir) -I$(top_builddir) \
-I$(top_srcdir)/gdk-pixbuf \
-I$(top_srcdir)/contrib \
-DGDK_PIXBUF_DISABLE_DEPRECATED \
$(GDK_PIXBUF_XLIB_DEP_CFLAGS)
libgdk_pixbuf_xlib_2_0_la_LDFLAGS = \
-export-dynamic \
$(no_undefined) \
-version-info $(LT_VERSION_INFO)
libgdk_pixbuf_xlib_2_0_la_LIBADD = \
$(top_builddir)/gdk-pixbuf/libgdk_pixbuf-$(GTK_API_VERSION).la \
$(GDK_PIXBUF_XLIB_DEP_LIBS)
libgdk_pixbuf_xlib_2_0_la_SOURCES = \
gdk-pixbuf-xlib-private.h \
gdk-pixbuf-xlib.c \
gdk-pixbuf-xlib-render.c \
gdk-pixbuf-xlib-drawable.c \
gdk-pixbuf-xlibrgb.c
libgdk_pixbuf_xlibincludedir=$(includedir)/gtk-2.0/gdk-pixbuf-xlib
libgdk_pixbuf_xlibinclude_HEADERS = \
gdk-pixbuf-xlib.h \
gdk-pixbuf-xlibrgb.h
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = gdk-pixbuf-xlib-2.0.pc
EXTRA_DIST = gdk-pixbuf-xlib-2.0.pc.in

View File

@@ -0,0 +1,11 @@
prefix=@prefix@
exec_prefix=@exec_prefix@
libdir=@libdir@
includedir=@includedir@
Name: GdkPixbuf Xlib
Description: GdkPixbuf rendering for Xlib
Version: @VERSION@
Requires: gobject-2.0,gmodule-no-export-2.0,gdk-pixbuf-2.0
Libs: -L${libdir} -lgdk_pixbuf_xlib-@GTK_API_VERSION@
Cflags: -I${includedir}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,30 @@
/* GdkPixbuf library - Xlib header file
*
* Authors: John Harper <john@dcs.warwick.ac.uk>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*/
#ifndef GDK_PIXBUF_XLIB_PRIVATE_H
#define GDK_PIXBUF_XLIB_PRIVATE_H
#include "gdk-pixbuf-xlib.h"
#include <X11/Xlib.h>
extern Display *gdk_pixbuf_dpy;
extern int gdk_pixbuf_screen;
#endif

View File

@@ -0,0 +1,398 @@
/* GdkPixbuf library - Rendering functions
*
* Copyright (C) 1999 The Free Software Foundation
*
* Author: Federico Mena-Quintero <federico@gimp.org>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*/
/* Trivially ported to Xlib(RGB) by John Harper. */
#include <config.h>
#include "gdk-pixbuf-private.h"
#include "gdk-pixbuf-xlib-private.h"
/**
* gdk_pixbuf_xlib_render_threshold_alpha:
* @pixbuf: A pixbuf.
* @bitmap: Bitmap where the bilevel mask will be painted to.
* @src_x: Source X coordinate.
* @src_y: source Y coordinate.
* @dest_x: Destination X coordinate.
* @dest_y: Destination Y coordinate.
* @width: Width of region to threshold.
* @height: Height of region to threshold.
* @alpha_threshold: Opacity values below this will be painted as zero; all
* other values will be painted as one.
*
* Takes the opacity values in a rectangular portion of a pixbuf and thresholds
* them to produce a bi-level alpha mask that can be used as a clipping mask for
* a drawable.
*
**/
void
gdk_pixbuf_xlib_render_threshold_alpha (GdkPixbuf *pixbuf, Pixmap bitmap,
int src_x, int src_y,
int dest_x, int dest_y,
int width, int height,
int alpha_threshold)
{
GC gc;
XColor color;
int x, y;
guchar *p;
int start, start_status;
int status;
XGCValues gcv;
g_return_if_fail (pixbuf != NULL);
g_return_if_fail (pixbuf->colorspace == GDK_COLORSPACE_RGB);
g_return_if_fail (pixbuf->n_channels == 3 || pixbuf->n_channels == 4);
g_return_if_fail (pixbuf->bits_per_sample == 8);
g_return_if_fail (bitmap != 0);
g_return_if_fail (width >= 0 && height >= 0);
g_return_if_fail (src_x >= 0 && src_x + width <= pixbuf->width);
g_return_if_fail (src_y >= 0 && src_y + height <= pixbuf->height);
g_return_if_fail (alpha_threshold >= 0 && alpha_threshold <= 255);
if (width == 0 || height == 0)
return;
gc = XCreateGC (gdk_pixbuf_dpy, bitmap, 0, &gcv);
if (!pixbuf->has_alpha) {
color.pixel = (alpha_threshold == 255) ? 0 : 1;
XSetForeground (gdk_pixbuf_dpy, gc, color.pixel);
XFillRectangle (gdk_pixbuf_dpy, bitmap, gc,
dest_x, dest_y, width, height);
XFreeGC (gdk_pixbuf_dpy, gc);
return;
}
color.pixel = 0;
XSetForeground (gdk_pixbuf_dpy, gc, color.pixel);
XFillRectangle (gdk_pixbuf_dpy, bitmap, gc,
dest_x, dest_y, width, height);
color.pixel = 1;
XSetForeground (gdk_pixbuf_dpy, gc, color.pixel);
for (y = 0; y < height; y++) {
p = (pixbuf->pixels + (y + src_y) * pixbuf->rowstride + src_x * pixbuf->n_channels
+ pixbuf->n_channels - 1);
start = 0;
start_status = *p < alpha_threshold;
for (x = 0; x < width; x++) {
status = *p < alpha_threshold;
if (status != start_status) {
if (!start_status)
XDrawLine (gdk_pixbuf_dpy, bitmap, gc,
start + dest_x, y + dest_y,
x - 1 + dest_x, y + dest_y);
start = x;
start_status = status;
}
p += pixbuf->n_channels;
}
if (!start_status)
XDrawLine (gdk_pixbuf_dpy, bitmap, gc,
start + dest_x, y + dest_y,
x - 1 + dest_x, y + dest_y);
}
XFreeGC (gdk_pixbuf_dpy, gc);
}
/* Creates a buffer by stripping the alpha channel of a pixbuf */
static guchar *
remove_alpha (GdkPixbuf *pixbuf, int x, int y, int width, int height, int *rowstride)
{
guchar *buf;
int xx, yy;
guchar *src, *dest;
g_assert (pixbuf->n_channels == 4);
g_assert (pixbuf->has_alpha);
g_assert (width > 0 && height > 0);
g_assert (x >= 0 && x + width <= pixbuf->width);
g_assert (y >= 0 && y + height <= pixbuf->height);
*rowstride = 4 * ((width * 3 + 3) / 4);
buf = g_new (guchar, *rowstride * height);
for (yy = 0; yy < height; yy++) {
src = pixbuf->pixels + pixbuf->rowstride * (yy + y) + x * pixbuf->n_channels;
dest = buf + *rowstride * yy;
for (xx = 0; xx < width; xx++) {
*dest++ = *src++;
*dest++ = *src++;
*dest++ = *src++;
src++;
}
}
return buf;
}
/**
* gdk_pixbuf_xlib_render_to_drawable:
* @pixbuf: A pixbuf.
* @drawable: Destination drawable.
* @gc: GC used for rendering.
* @src_x: Source X coordinate within pixbuf.
* @src_y: Source Y coordinate within pixbuf.
* @dest_x: Destination X coordinate within drawable.
* @dest_y: Destination Y coordinate within drawable.
* @width: Width of region to render, in pixels.
* @height: Height of region to render, in pixels.
* @dither: Dithering mode for XlibRGB.
* @x_dither: X offset for dither.
* @y_dither: Y offset for dither.
*
* Renders a rectangular portion of a pixbuf to a drawable while using the
* specified GC. This is done using XlibRGB, so the specified drawable must
* have the XlibRGB visual and colormap. Note that this function will ignore
* the opacity information for images with an alpha channel; the GC must already
* have the clipping mask set if you want transparent regions to show through.
*
* For an explanation of dither offsets, see the XlibRGB documentation. In
* brief, the dither offset is important when re-rendering partial regions of an
* image to a rendered version of the full image, or for when the offsets to a
* base position change, as in scrolling. The dither matrix has to be shifted
* for consistent visual results. If you do not have any of these cases, the
* dither offsets can be both zero.
**/
void
gdk_pixbuf_xlib_render_to_drawable (GdkPixbuf *pixbuf,
Drawable drawable, GC gc,
int src_x, int src_y,
int dest_x, int dest_y,
int width, int height,
XlibRgbDither dither,
int x_dither, int y_dither)
{
guchar *buf;
int rowstride;
g_return_if_fail (pixbuf != NULL);
g_return_if_fail (pixbuf->colorspace == GDK_COLORSPACE_RGB);
g_return_if_fail (pixbuf->n_channels == 3 || pixbuf->n_channels == 4);
g_return_if_fail (pixbuf->bits_per_sample == 8);
g_return_if_fail (drawable != 0);
g_return_if_fail (gc != 0);
g_return_if_fail (width >= 0 && height >= 0);
g_return_if_fail (src_x >= 0 && src_x + width <= pixbuf->width);
g_return_if_fail (src_y >= 0 && src_y + height <= pixbuf->height);
if (width == 0 || height == 0)
return;
/* This will have to be modified once we support other image types.
* Also, GdkRGB does not have gdk_draw_rgb_32_image_dithalign(), so we
* have to pack the buffer first. Sigh.
*/
if (pixbuf->has_alpha)
buf = remove_alpha (pixbuf, src_x, src_y, width, height, &rowstride);
else {
buf = pixbuf->pixels + src_y * pixbuf->rowstride + src_x * 3;
rowstride = pixbuf->rowstride;
}
xlib_draw_rgb_image_dithalign (drawable, gc,
dest_x, dest_y,
width, height,
dither,
buf, rowstride,
x_dither, y_dither);
if (pixbuf->has_alpha)
g_free (buf);
}
/**
* gdk_pixbuf_xlib_render_to_drawable_alpha:
* @pixbuf: A pixbuf.
* @drawable: Destination drawable.
* @src_x: Source X coordinate within pixbuf.
* @src_y: Source Y coordinates within pixbuf.
* @dest_x: Destination X coordinate within drawable.
* @dest_y: Destination Y coordinate within drawable.
* @width: Width of region to render, in pixels.
* @height: Height of region to render, in pixels.
* @alpha_mode: If the image does not have opacity information, this is ignored.
* Otherwise, specifies how to handle transparency when rendering.
* @alpha_threshold: If the image does have opacity information and @alpha_mode
* is GDK_PIXBUF_ALPHA_BILEVEL, specifies the threshold value for opacity
* values.
* @dither: Dithering mode for XlibRGB.
* @x_dither: X offset for dither.
* @y_dither: Y offset for dither.
*
* Renders a rectangular portion of a pixbuf to a drawable. This is done using
* XlibRGB, so the specified drawable must have the XlibRGB visual and colormap.
*
* When used with #GDK_PIXBUF_ALPHA_BILEVEL, this function has to create a bitmap
* out of the thresholded alpha channel of the image and, it has to set this
* bitmap as the clipping mask for the GC used for drawing. This can be a
* significant performance penalty depending on the size and the complexity of
* the alpha channel of the image. If performance is crucial, consider handling
* the alpha channel yourself (possibly by caching it in your application) and
* using gdk_pixbuf_xlib_render_to_drawable() or GdkRGB directly instead.
**/
void
gdk_pixbuf_xlib_render_to_drawable_alpha (GdkPixbuf *pixbuf, Drawable drawable,
int src_x, int src_y,
int dest_x, int dest_y,
int width, int height,
GdkPixbufAlphaMode alpha_mode,
int alpha_threshold,
XlibRgbDither dither,
int x_dither, int y_dither)
{
Pixmap bitmap = 0;
GC gc;
XGCValues gcv;
g_return_if_fail (pixbuf != NULL);
g_return_if_fail (pixbuf->colorspace == GDK_COLORSPACE_RGB);
g_return_if_fail (pixbuf->n_channels == 3 || pixbuf->n_channels == 4);
g_return_if_fail (pixbuf->bits_per_sample == 8);
g_return_if_fail (drawable != 0);
g_return_if_fail (width >= 0 && height >= 0);
g_return_if_fail (src_x >= 0 && src_x + width <= pixbuf->width);
g_return_if_fail (src_y >= 0 && src_y + height <= pixbuf->height);
if (width == 0 || height == 0)
return;
gc = XCreateGC (gdk_pixbuf_dpy, drawable, 0, &gcv);
if (pixbuf->has_alpha) {
/* Right now we only support GDK_PIXBUF_ALPHA_BILEVEL, so we
* unconditionally create the clipping mask.
*/
bitmap = XCreatePixmap (gdk_pixbuf_dpy,
RootWindow (gdk_pixbuf_dpy,
gdk_pixbuf_screen),
width, height, 1);
gdk_pixbuf_xlib_render_threshold_alpha (pixbuf, bitmap,
src_x, src_y,
0, 0,
width, height,
alpha_threshold);
XSetClipMask (gdk_pixbuf_dpy, gc, bitmap);
XSetClipOrigin (gdk_pixbuf_dpy, gc, dest_x, dest_y);
}
gdk_pixbuf_xlib_render_to_drawable (pixbuf, drawable, gc,
src_x, src_y,
dest_x, dest_y,
width, height,
dither,
x_dither, y_dither);
if (bitmap)
XFreePixmap (gdk_pixbuf_dpy, bitmap);
XFreeGC (gdk_pixbuf_dpy, gc);
}
/**
* gdk_pixbuf_xlib_render_pixmap_and_mask:
* @pixbuf: A pixbuf.
* @pixmap_return: Return value for the created pixmap.
* @mask_return: Return value for the created mask.
* @alpha_threshold: Threshold value for opacity values.
*
* Creates a pixmap and a mask bitmap which are returned in the @pixmap_return
* and @mask_return arguments, respectively, and renders a pixbuf and its
* corresponding tresholded alpha mask to them. This is merely a convenience
* function; applications that need to render pixbufs with dither offsets or to
* given drawables should use gdk_pixbuf_xlib_render_to_drawable_alpha() or
* gdk_pixbuf_xlib_render_to_drawable(), and
* gdk_pixbuf_xlib_render_threshold_alpha().
*
* If the pixbuf does not have an alpha channel, then *@mask_return will be set
* to None.
**/
void
gdk_pixbuf_xlib_render_pixmap_and_mask (GdkPixbuf *pixbuf,
Pixmap *pixmap_return,
Pixmap *mask_return,
int alpha_threshold)
{
g_return_if_fail (pixbuf != NULL);
if (pixmap_return) {
GC gc;
XGCValues gcv;
*pixmap_return = XCreatePixmap (gdk_pixbuf_dpy,
RootWindow (gdk_pixbuf_dpy,
gdk_pixbuf_screen),
pixbuf->width,
pixbuf->height,
xlib_rgb_get_depth ());
gc = XCreateGC (gdk_pixbuf_dpy, *pixmap_return, 0, &gcv);
gdk_pixbuf_xlib_render_to_drawable (pixbuf, *pixmap_return, gc,
0, 0, 0, 0,
pixbuf->width,
pixbuf->height,
XLIB_RGB_DITHER_NORMAL,
0, 0);
XFreeGC (gdk_pixbuf_dpy, gc);
}
if (mask_return) {
if (pixbuf->has_alpha) {
*mask_return = XCreatePixmap (gdk_pixbuf_dpy,
RootWindow (gdk_pixbuf_dpy,
gdk_pixbuf_screen),
pixbuf->width,
pixbuf->height, 1);
gdk_pixbuf_xlib_render_threshold_alpha (pixbuf,
*mask_return,
0, 0, 0, 0,
pixbuf->width,
pixbuf->height,
alpha_threshold);
} else
*mask_return = 0;
}
}

View File

@@ -0,0 +1,63 @@
/* GdkPixbuf library - Initialization functions
*
* Author: John Harper <john@dcs.warwick.ac.uk>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*/
#include <config.h>
#include <X11/Xlib.h>
#include <gdk-pixbuf/gdk-pixbuf-private.h>
#include "gdk-pixbuf-xlib-private.h"
Display *gdk_pixbuf_dpy = NULL;
int gdk_pixbuf_screen = -1;
/**
* gdk_pixbuf_xlib_init:
* @display: X display to use.
* @screen_num: Screen number.
*
* Initializes the gdk-pixbuf Xlib machinery by calling xlib_rgb_init(). This
* function should be called near the beginning of your program, or before using
* any of the gdk-pixbuf-xlib functions.
**/
void
gdk_pixbuf_xlib_init (Display *display, int screen_num)
{
xlib_rgb_init (display, ScreenOfDisplay (display, screen_num));
gdk_pixbuf_dpy = display;
gdk_pixbuf_screen = screen_num;
}
/**
* gdk_pixbuf_xlib_init_with_depth:
* @display: X display to use.
* @screen_num: Screen number.
* @prefDepth: Preferred depth for XlibRGB.
*
* Similar to gdk_pixbuf_xlib_init(), but also lets you specify the preferred
* depth for XlibRGB if you do not want it to use the default depth it picks.
**/
void
gdk_pixbuf_xlib_init_with_depth (Display *display,
int screen_num, int prefDepth)
{
xlib_rgb_init_with_depth (display, ScreenOfDisplay (display, screen_num),
prefDepth);
gdk_pixbuf_dpy = display;
gdk_pixbuf_screen = screen_num;
}

View File

@@ -0,0 +1,91 @@
/* GdkPixbuf library - Xlib header file
*
* Authors: John Harper <john@dcs.warwick.ac.uk>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*/
#ifndef GDK_PIXBUF_XLIB_H
#define GDK_PIXBUF_XLIB_H
#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */
#include <gdk-pixbuf/gdk-pixbuf.h>
#include <gdk-pixbuf-xlib/gdk-pixbuf-xlibrgb.h>
#include <X11/Xlib.h>
/* init */
void gdk_pixbuf_xlib_init (Display *display, int screen_num);
void gdk_pixbuf_xlib_init_with_depth (Display *display, int screen_num,
int prefDepth);
/* render */
void gdk_pixbuf_xlib_render_threshold_alpha (GdkPixbuf *pixbuf, Pixmap bitmap,
int src_x, int src_y,
int dest_x, int dest_y,
int width, int height,
int alpha_threshold);
void gdk_pixbuf_xlib_render_to_drawable (GdkPixbuf *pixbuf,
Drawable drawable, GC gc,
int src_x, int src_y,
int dest_x, int dest_y,
int width, int height,
XlibRgbDither dither,
int x_dither, int y_dither);
void gdk_pixbuf_xlib_render_to_drawable_alpha (GdkPixbuf *pixbuf,
Drawable drawable,
int src_x, int src_y,
int dest_x, int dest_y,
int width, int height,
GdkPixbufAlphaMode alpha_mode,
int alpha_threshold,
XlibRgbDither dither,
int x_dither, int y_dither);
void gdk_pixbuf_xlib_render_pixmap_and_mask (GdkPixbuf *pixbuf,
Pixmap *pixmap_return,
Pixmap *mask_return,
int alpha_threshold);
/* drawable */
GdkPixbuf *gdk_pixbuf_xlib_get_from_drawable (GdkPixbuf *dest,
Drawable src,
Colormap cmap, Visual *visual,
int src_x, int src_y,
int dest_x, int dest_y,
int width, int height);
#ifdef __cplusplus
}
#endif /* __cplusplus */
#endif /* GDK_PIXBUF_XLIB_H */

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,193 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Mozilla Public License
* Version 1.1 (the "MPL"); you may not use this file except in
* compliance with the MPL. You may obtain a copy of the MPL at
* http://www.mozilla.org/MPL/
*
* Software distributed under the MPL is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the MPL
* for the specific language governing rights and limitations under the
* MPL.
*
* Alternatively, the contents of this file may be used under the
* terms of the GNU Library General Public License (the "LGPL"), in
* which case the provisions of the LGPL are applicable instead of
* those above. If you wish to allow use of your version of this file
* only under the terms of the LGPL and not to allow others to use
* your version of this file under the MPL, indicate your decision by
* deleting the provisions above and replace them with the notice and
* other provisions required by the LGPL. If you do not delete the
* provisions above, a recipient may use your version of this file
* under either the MPL or the LGPL.
*/
/*
* This code is derived from GdkRgb.
* For more information on GdkRgb, see http://www.levien.com/gdkrgb/
* Raph Levien <raph@acm.org>
*/
/* Ported by Christopher Blizzard to Xlib. With permission from the
* original authors of this file, the contents of this file are also
* redistributable under the terms of the Mozilla Public license. For
* information about the Mozilla Public License, please see the
* license information at http://www.mozilla.org/MPL/
*/
/* This code is copyright the following authors:
* Raph Levien <raph@acm.org>
* Manish Singh <manish@gtk.org>
* Tim Janik <timj@gtk.org>
* Peter Mattis <petm@xcf.berkeley.edu>
* Spencer Kimball <spencer@xcf.berkeley.edu>
* Josh MacDonald <jmacd@xcf.berkeley.edu>
* Christopher Blizzard <blizzard@redhat.com>
* Owen Taylor <otaylor@redhat.com>
* Shawn T. Amundson <amundson@gtk.org>
*/
#ifndef __XLIB_RGB_H__
#define __XLIB_RGB_H__
#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */
#include <X11/Xlib.h>
#include <X11/Xutil.h>
#include <glib.h>
typedef struct _XlibRgbCmap XlibRgbCmap;
struct _XlibRgbCmap {
unsigned int colors[256];
unsigned char lut[256]; /* for 8-bit modes */
};
void
xlib_rgb_init (Display *display, Screen *screen);
void
xlib_rgb_init_with_depth (Display *display, Screen *screen, int prefDepth);
unsigned long
xlib_rgb_xpixel_from_rgb (guint32 rgb);
void
xlib_rgb_gc_set_foreground (GC gc, guint32 rgb);
void
xlib_rgb_gc_set_background (GC gc, guint32 rgb);
typedef enum
{
XLIB_RGB_DITHER_NONE,
XLIB_RGB_DITHER_NORMAL,
XLIB_RGB_DITHER_MAX
} XlibRgbDither;
void
xlib_draw_rgb_image (Drawable drawable,
GC gc,
int x,
int y,
int width,
int height,
XlibRgbDither dith,
unsigned char *rgb_buf,
int rowstride);
void
xlib_draw_rgb_image_dithalign (Drawable drawable,
GC gc,
int x,
int y,
int width,
int height,
XlibRgbDither dith,
unsigned char *rgb_buf,
int rowstride,
int xdith,
int ydith);
void
xlib_draw_rgb_32_image (Drawable drawable,
GC gc,
int x,
int y,
int width,
int height,
XlibRgbDither dith,
unsigned char *buf,
int rowstride);
void
xlib_draw_gray_image (Drawable drawable,
GC gc,
int x,
int y,
int width,
int height,
XlibRgbDither dith,
unsigned char *buf,
int rowstride);
XlibRgbCmap *
xlib_rgb_cmap_new (guint32 *colors, int n_colors);
void
xlib_rgb_cmap_free (XlibRgbCmap *cmap);
void
xlib_draw_indexed_image (Drawable drawable,
GC gc,
int x,
int y,
int width,
int height,
XlibRgbDither dith,
unsigned char *buf,
int rowstride,
XlibRgbCmap *cmap);
/* Below are some functions which are primarily useful for debugging
and experimentation. */
Bool
xlib_rgb_ditherable (void);
void
xlib_rgb_set_verbose (Bool verbose);
/* experimental colormap stuff */
void
xlib_rgb_set_install (Bool install);
void
xlib_rgb_set_min_colors (int min_colors);
Colormap
xlib_rgb_get_cmap (void);
Visual *
xlib_rgb_get_visual (void);
XVisualInfo *
xlib_rgb_get_visual_info (void);
int
xlib_rgb_get_depth (void);
Display *
xlib_rgb_get_display (void);
Screen *
xlib_rgb_get_screen (void);
#ifdef __cplusplus
}
#endif /* __cplusplus */
#endif /* __XLIB_RGB_H__ */

18
debian/README.debian vendored Normal file
View File

@@ -0,0 +1,18 @@
libgtk1 for Debian
----------------------
The GIMP Tool Kit (gtk) is a set of widgets to help you program
programs for the X Windowing System easily and powerfully.
gtk is the moving force behind The GNU Image Manipulation Program (The
GIMP) -- the number one freely-available image editing and creation
program available.
gtk is rapidly under development, and the source tree has officially
been separated from The GIMP now, as other teams of programmers
are beginning to write software using its great widget set -- like
GNOME, a desktop interface for X, and gzilla, a freely available
web browser for X.
Ben Gertzfield <che@debian.org>, Mon, 29 Sep 1997 13:11:45 -0700

62
debian/build vendored Executable file
View File

@@ -0,0 +1,62 @@
#!/usr/bin/perl -w
# Adjust debian/changelog and build a new
# Debian package of a CVS archive.
# Written 17 November 1998 by Ben Gertzfield
# <che@debian.org>
# This work is released under the GNU
# General Public License, version 2 or
# later.
use strict;
use diagnostics;
use File::Copy;
my $maintainer = 'Ben Gertzfield <che@debian.org>';
my @date = localtime;
my $datestr = sprintf("%d%.2d%.2d", $date[5] + 1900, $date[4] + 1, $date[3]);
my $revision = '01';
open (CHANGELOG, 'debian/changelog') or die "Couldn't open debian/changelog: $!\n";
$_ = <CHANGELOG>;
chomp;
close CHANGELOG;
my ($package, $last_date, $last_revision) = /^(.*?) \((.*?)\.(.*)?\)/;
if ($last_date eq $datestr) {
$revision = sprintf("%.2d", $last_revision + 1);
}
my $new_version = "$datestr.$revision";
copy('debian/changelog', 'debian/changelog.old') or die "Couldn't copy debian/changelog to debian/changelog.old: $!\n";
open(NEWCHANGELOG, ">debian/changelog") or die "Couldn't open debian/changelog for writing: $!\n";
print NEWCHANGELOG "$package ($new_version) unstable; urgency=low\n\n * CVS snapshot build at " . scalar localtime() . "\n\n -- $maintainer " . `date -R` . "\n";
open(OLDCHANGELOG, "debian/changelog.old") or die "Couldn't open debian/changelog.old: $!\n";
while (<OLDCHANGELOG>) {
print NEWCHANGELOG;
}
close OLDCHANGELOG;
close NEWCHANGELOG;
unlink('debian/changelog.old') or die "Couldn't unlink debian/changelog.old: $!\n";
open(NEWVERSION, '>debian/version') or die "Couldn't open debian/version for writing: $!\n";
print NEWVERSION "$new_version\n";
close NEWVERSION;
system('dpkg-buildpackage -b -rfakeroot -us -uc');
unlink 'debian/version' or die "Couldn't unlink debian/version: $!\n";

10
debian/changelog vendored Normal file
View File

@@ -0,0 +1,10 @@
gtk+-cvs (19981116.01) unstable; urgency=low
* First test build from CVS
-- Ben Gertzfield <che@debian.org> Tue, 17 Nov 1998 12:02:13 -0800
Local variables:
mode: debian-changelog
add-log-mailing-address: "che@debian.org"
End:

81
debian/control vendored Normal file
View File

@@ -0,0 +1,81 @@
Source: gtk+-cvs
Priority: extra
Section: libs
Maintainer: Ben Gertzfield <che@debian.org>
Standards-Version: 2.4.0.0
Package: libgtk-cvs-1.1
Architecture: any
Section: libs
Depends: ${shlibs:Depends}
Conflicts: libgtk-dev (<< 1:1.0.2), libgtk1.1
Description: CVS build of the GIMP Toolkit set of widgets for X
**THIS IS NOT AN OFFICIAL DEBIAN PACKAGE! THIS IS AN AUTOMATED CVS
BUILD OF THE GTK+ LIBRARIES! BEWARE! IT MAY NOT WORK!**
.
The GIMP Toolkit is a freely available set of widgets for X.
GTK is easy to use, and has been implemented in such projects as
The GNU Image Manipulation Program (The GIMP), GNOME, a GNU
desktop set of utilities for X, and gzilla, a GNU web-browser.
.
This is the unstable 1.1 branch of GTK. It is not intended for use
with stable projects!
Package: libgtk-cvs-dev
Architecture: any
Section: devel
Depends: libgtk-cvs-1.1 (=${Source-Version}), libglib-cvs-dev
Suggests: libgtk-cvs-doc
Provides: libgtk1.1-dev
Replaces: libgtk1.1-dev
Conflicts: libgtk-dev, libgtk1 (<< 1:1.0.4), libgtk1.1-dev
Description: CVS build of development files for the GIMP Toolkit
**THIS IS NOT AN OFFICIAL DEBIAN PACKAGE! THIS IS AN AUTOMATED CVS
BUILD OF THE GTK+ LIBRARIES! BEWARE! IT MAY NOT WORK!**
.
This package contains the header files and static libraries for the
GIMP Toolkit set of widgets for X.
.
This is the unstable, 1.1 branch of GTK+. This is not intended for
use with stable releases of programs!
.
Install this package if you wish to develop your own X programs using
the GIMP Toolkit 1.1, or if you wish to compile your own plug-ins for
The GIMP.
Package: libgtk-cvs-doc
Architecture: all
Section: doc
Conflicts: libgtk-dev (<< 1:0.99.4), libgtk-doc, libgtk1.1-doc
Description: CVS build of documentation for the GIMP Toolkit
**THIS IS NOT AN OFFICIAL DEBIAN PACKAGE! THIS IS AN AUTOMATED CVS
BUILD OF THE GTK+ LIBRARIES! BEWARE! IT MAY NOT WORK!**
.
This package contains lots of info-files, HTML docs, FAQs, and
other handy documentation about the GIMP Toolkit set of widgets
for X.
.
This package documents the unstable 1.1 release of the GIMP Toolkit.
.
Install this package if you want to have lots of info about the
GIMP toolkit when you're programming.
Package: libgtk-cvs-dbg
Architecture: any
Section: devel
Depends: libgtk-cvs-1.1 (= ${Source-Version}), libgtk-cvs-dev (= ${Source-Version})
Suggests: libgtk-cvs-doc
Conflicts: libgtk1.1-dbg
Description: CVS build of debugging files for the GIMP Toolkit
**THIS IS NOT AN OFFICIAL DEBIAN PACKAGE! THIS IS AN AUTOMATED CVS
BUILD OF THE GTK+ LIBRARIES! BEWARE! IT MAY NOT WORK!**
.
This package contains the debugging static libraries for the
GIMP Toolkit set of widgets for X.
.
This is the unstable, 1.1 branch of GTK+. This is not intended for
use with stable releases of programs!
.
Install this package if you wish to debug your own X programs using
the GIMP Toolkit 1.1, or if you wish to debug your own plug-ins for
The GIMP.

8
debian/copyright vendored Normal file
View File

@@ -0,0 +1,8 @@
This package was debianized by Ben Gertzfield <che@debian.org> on
Tue, 17 Nov 1998 12:07:17 -0800
It was produced from the CVS repository at cvs.gimp.org.
It may be redistributed under the terms of the GNU LGPL, Version 2 or
later, found on Debian systems in the file /usr/doc/copyright/LGPL.

9
debian/libgtk-cvs-dev.files vendored Normal file
View File

@@ -0,0 +1,9 @@
usr/lib/libgdk.so
usr/lib/libgdk.a
usr/lib/libgtk.so
usr/lib/libgtk.a
usr/include/gdk/
usr/include/gtk/
usr/bin/gtk-config
usr/man/man1/gtk-config.1
usr/share/aclocal/gtk.m4

5
debian/libgtk-cvs-dev.postinst vendored Normal file
View File

@@ -0,0 +1,5 @@
#!/bin/sh
set -e
#DEBHELPER#

6
debian/libgtk-cvs-dev.prerm vendored Normal file
View File

@@ -0,0 +1,6 @@
#!/bin/sh
set -e
install-info --quiet --remove gtk
#DEBHELPER#

8
debian/libgtk-cvs-doc.files vendored Normal file
View File

@@ -0,0 +1,8 @@
usr/info/gdk.info
usr/info/gtk.info
usr/info/gtk.info-1
usr/info/gtk.info-2
usr/info/gtk.info-3
usr/info/gtk.info-4
usr/info/gtk.info-5

11
debian/libgtk-cvs-doc.postinst vendored Normal file
View File

@@ -0,0 +1,11 @@
#!/bin/sh
set -e
install-info --quiet --description="The GIMP Toolkit." \
--section "The GIMP" "The GIMP" /usr/info/gtk.info.gz
install-info --quiet --description="The GIMP Drawing Kit." \
--section "The GIMP" "The GIMP" /usr/info/gdk.info.gz
#DEBHELPER#

7
debian/libgtk-cvs-doc.prerm vendored Normal file
View File

@@ -0,0 +1,7 @@
#!/bin/sh
set -e
install-info --quiet --remove gtk
install-info --quiet --remove gdk
#DEBHELPER#

7
debian/postinst vendored Normal file
View File

@@ -0,0 +1,7 @@
#!/bin/sh
set -e
ldconfig
#DEBHELPER#

160
debian/rules vendored Executable file
View File

@@ -0,0 +1,160 @@
#!/usr/bin/make -f
# debian/rules file for gtk+ Debian package
# written April 1998 by Ben Gertzfield <che@debian.org
build: build-stamp
build-stamp:
dh_testdir
./autogen.sh --prefix=/usr --with-xinput=xfree
$(MAKE)
cd docs && make distdocs
cd ..
touch build-stamp
build-dbg: build-dbg-stamp
build-dbg-stamp:
dh_testdir
./configure --prefix=/usr --with-xinput=xfree --enable-debug=yes
$(MAKE)
touch build-dbg-stamp
clean:
dh_testdir
dh_testroot
rm -f build-stamp build-dbg-stamp install-stamp install-dbg-stamp
# Add here commands to clean up after the build process.
-$(MAKE) clean
cd docs
-$(MAKE) maintainer-clean
cd ..
-$(MAKE) distclean
find . -name '*.o' -o -name '_libs' -o -name '*.lo' -o -name '*.a' -o -name '.deps' | xargs rm -rf
dh_clean
clean-dbg:
dh_testdir
dh_testroot
rm -f build-stamp build-dbg-stamp install-stamp install-dbg-stamp
# Add here commands to clean up after the build process.
-$(MAKE) clean
cd docs
-$(MAKE) maintainer-clean
cd ..
-$(MAKE) distclean
find . -name '*.o' -o -name '_libs' -o -name '*.lo' -o -name '*.a' -o -name '.deps' | xargs rm -rf
dh_clean -k
install: install-stamp
install-stamp: build
dh_testdir
dh_testroot
dh_clean
$(MAKE) prefix=`pwd`/debian/tmp/usr install
touch install-stamp
install-dbg: install-dbg-stamp
install-dbg-stamp: build-dbg
dh_testdir
dh_testroot
dh_clean -k
$(MAKE) prefix=`pwd`/debian/libgtk-cvs-dbg/usr install
touch install-dbg-stamp
# Build architecture-independent files here.
binary-indep: build install libgtk-cvs-doc
# We have nothing to do by default.
# Build architecture-dependent files here.
binary-arch: build install libgtk-cvs-dev libgtk-cvs-1.1 libgtk-cvs-dbg
libgtk-cvs-1.1: build
dh_testdir -plibgtk-cvs-1.1
dh_testroot -plibgtk-cvs-1.1
dh_installdirs -plibgtk-cvs-1.1
# Add here commands to install the files into debian/tmp
rm -rf debian/tmp/usr/bin debian/tmp/usr/include debian/tmp/usr/info debian/tmp/usr/lib/glib debian/tmp/usr/share/aclocal debian/tmp/usr/man debian/tmp/usr/lib/*.la
dh_installdocs -plibgtk-cvs-1.1
dh_installchangelogs -plibgtk-cvs-1.1
dh_strip -plibgtk-cvs-1.1
dh_compress -plibgtk-cvs-1.1
dh_fixperms -plibgtk-cvs-1.1
dh_installdeb -plibgtk-cvs-1.1
dh_shlibdeps -plibgtk-cvs-1.1
dh_gencontrol -plibgtk-cvs-1.1
dh_makeshlibs -plibgtk-cvs-1.1 -V 'libgtk-cvs-1.1 (='`cat debian/version`')'
dh_md5sums -plibgtk-cvs-1.1
dh_builddeb -plibgtk-cvs-1.1
libgtk-cvs-dev: build
dh_testdir -plibgtk-cvs-dev
dh_testroot -plibgtk-cvs-dev
dh_clean -plibgtk-cvs-dev -k
dh_installdirs -plibgtk-cvs-dev
# Add here commands to install the files into debian/tmp
dh_movefiles -plibgtk-cvs-dev
cp gtk-config debian/tmp/usr/bin
dh_installdocs -plibgtk-cvs-dev
dh_installchangelogs -plibgtk-cvs-dev
dh_strip -plibgtk-cvs-dev
dh_compress -plibgtk-cvs-dev
dh_fixperms -plibgtk-cvs-dev
dh_installdeb -plibgtk-cvs-dev
dh_shlibdeps -plibgtk-cvs-dev
dh_gencontrol -plibgtk-cvs-dev
dh_md5sums -plibgtk-cvs-dev
dh_builddeb -plibgtk-cvs-dev
libgtk-cvs-doc:
dh_testdir -plibgtk-cvs-doc
dh_testroot -plibgtk-cvs-doc
dh_clean -plibgtk-cvs-doc -k
dh_installdirs -plibgtk-cvs-doc usr/doc/libgtk-cvs-doc/faq-html \
usr/doc/libgtk-cvs-doc/tutorial-html usr/doc/libgtk-cvs-doc/italian-tutorial-html usr/doc/libgtk-cvs-doc/french-tutorial-html usr/doc/libgtk-cvs-doc/gdk-html
dh_movefiles -plibgtk-cvs-doc
cp docs/html/gtkfaq*.html debian/libgtk-cvs-doc/usr/doc/libgtk-cvs-doc/faq-html
cp docs/html/gtk_tut-*.html debian/libgtk-cvs-doc/usr/doc/libgtk-cvs-doc/tutorial-html
cp docs/html/*.gif debian/libgtk-cvs-doc/usr/doc/libgtk-cvs-doc/tutorial-html
cp docs/html/gtk_tut.html debian/libgtk-cvs-doc/usr/doc/libgtk-cvs-doc/tutorial-html
cp docs/html/gtk_tut_it*.html debian/libgtk-cvs-doc/usr/doc/libgtk-cvs-doc/italian-tutorial-html
cp docs/html/*.gif debian/libgtk-cvs-doc/usr/doc/libgtk-cvs-doc/italian-tutorial-html
cp docs/html/gtk_tut_fr*.html debian/libgtk-cvs-doc/usr/doc/libgtk-cvs-doc/french-tutorial-html
cp docs/html/*.gif debian/libgtk-cvs-doc/usr/doc/libgtk-cvs-doc/french-tutorial-html
cp docs/html/gdk* debian/libgtk-cvs-doc/usr/doc/libgtk-cvs-doc/gdk-html
cp docs/text/*.txt debian/libgtk-cvs-doc/usr/doc/libgtk-cvs-doc/
dh_installdocs -plibgtk-cvs-doc docs/{debugging,developers,styles,text_widget,widget_system,gtk-config,refcounting}.txt TODO NEWS
dh_installchangelogs -plibgtk-cvs-doc
dh_strip -plibgtk-cvs-doc
dh_compress -plibgtk-cvs-doc
dh_fixperms -plibgtk-cvs-doc
dh_installdeb -plibgtk-cvs-doc
dh_shlibdeps -plibgtk-cvs-doc
dh_gencontrol -plibgtk-cvs-doc
dh_md5sums -plibgtk-cvs-doc
dh_builddeb -plibgtk-cvs-doc
libgtk-cvs-dbg: clean-dbg install-dbg
dh_testdir -plibgtk-cvs-dbg
dh_testroot -plibgtk-cvs-dbg
dh_installdirs -plibgtk-cvs-dbg
# Add here commands to install the files into debian/libgtk-cvs-dbg
rm -rf debian/libgtk-cvs-dbg/usr/bin debian/libgtk-cvs-dbg/usr/include debian/libgtk-cvs-dbg/usr/info debian/libgtk-cvs-dbg/usr/lib/glib debian/libgtk-cvs-dbg/usr/man debian/libgtk-cvs-dbg/usr/share debian/libgtk-cvs-dbg/usr/lib/*.{la,so*}
for file in `find debian/libgtk-cvs-dbg/usr/lib -name '*.a'` ; do \
mv $$file debian/libgtk-cvs-dbg/usr/lib/`basename $$file .a`_g.a; \
done
dh_installdocs -plibgtk-cvs-dbg
dh_installchangelogs -plibgtk-cvs-dbg
dh_compress -plibgtk-cvs-dbg
dh_fixperms -plibgtk-cvs-dbg
dh_installdeb -plibgtk-cvs-dbg
dh_shlibdeps -plibgtk-cvs-dbg
dh_gencontrol -plibgtk-cvs-dbg
dh_md5sums -plibgtk-cvs-dbg
dh_builddeb -plibgtk-cvs-dbg
source diff:
@echo >&2 'source and diff are obsolete - use dpkg-source -b'; false
binary: binary-indep binary-arch
.PHONY: build clean binary-indep binary-arch binary

11
demos/.cvsignore Normal file
View File

@@ -0,0 +1,11 @@
Makefile
Makefile.in
.libs
.deps
testanimation
test-inline-pixbufs.h
testpixbuf-drawable
testpixbuf-scale
testpixbuf-save
testpixbuf
pixbuf-demo

84
demos/Makefile.am Normal file
View File

@@ -0,0 +1,84 @@
## Makefile.am for gtk+/demos
SUBDIRS = gtk-demo
INCLUDES = \
-I$(top_srcdir) \
-I$(top_builddir)/gdk \
-DGDK_PIXBUF_DISABLE_DEPRECATED \
-DGDK_DISABLE_DEPRECATED \
-DGTK_DISABLE_DEPRECATED \
$(GTK_DEBUG_FLAGS) \
$(GTK_DEP_CFLAGS)
DEPS = \
$(top_builddir)/gdk-pixbuf/libgdk_pixbuf-$(GTK_API_VERSION).la \
$(top_builddir)/gdk/$(gdktargetlib) \
$(top_builddir)/gtk/$(gtktargetlib)
LDADDS = \
$(top_builddir)/gdk-pixbuf/libgdk_pixbuf-$(GTK_API_VERSION).la \
$(top_builddir)/gdk/$(gdktargetlib) \
$(top_builddir)/gtk/$(gtktargetlib)
noinst_PROGRAMS = \
testpixbuf-drawable \
testanimation \
testpixbuf-save \
testpixbuf-scale \
pixbuf-demo
# Need to build test-inline-pixbufs.h for testpixbuf
if HAVE_PNG
noinst_PROGRAMS += testpixbuf
BUILT_SOURCES = test-inline-pixbufs.h
endif
if CROSS_COMPILING
pixbuf_csource=$(GDK_PIXBUF_CSOURCE)
pixbuf_csource_deps=
else
pixbuf_csource=GDK_PIXBUF_MODULE_FILE=$(top_builddir)/gdk-pixbuf/gdk-pixbuf.loaders $(top_builddir)/gdk-pixbuf/gdk-pixbuf-csource
pixbuf_csource_deps=$(top_builddir)/gdk-pixbuf/gdk-pixbuf-csource $(top_builddir)/gdk-pixbuf/gdk-pixbuf.loaders
endif
test-inline-pixbufs.h: $(pixbuf_csource_deps) apple-red.png gnome-foot.png
$(pixbuf_csource) --raw --build-list \
apple_red $(srcdir)/apple-red.png \
gnome_foot $(srcdir)/gnome-foot.png \
> test-inline-pixbufs.h \
|| (rm -f test-inline-pixbufs.h && false)
testpixbuf_DEPENDENCIES = $(DEPS)
testpixbuf_drawable_DEPENDENCIES = $(DEPS)
testpixbuf_save_DEPENDENCIES = $(DEPS)
testpixbuf_scale_DEPENDENCIES = $(DEPS)
testanimation_DEPENDENCIES = $(DEPS)
pixbuf_demo_DEPENDENCIES = $(DEPS)
testpixbuf_LDADD = $(LDADDS)
testpixbuf_drawable_LDADD = $(LDADDS)
testpixbuf_save_LDADD = $(LDADDS)
testpixbuf_scale_LDADD = $(LDADDS)
testanimation_LDADD = $(LDADDS)
pixbuf_demo_LDADD = $(LDADDS)
testpixbuf_SOURCES = testpixbuf.c pixbuf-init.c
testpixbuf_drawable_SOURCES = testpixbuf-drawable.c pixbuf-init.c
testpixbuf_save_SOURCES = testpixbuf-save.c
testpixbuf_scale_SOURCES = testpixbuf-scale.c pixbuf-init.c
testanimation_SOURCES = testanimation.c pixbuf-init.c
pixbuf_demo_SOURCES = pixbuf-demo.c pixbuf-init.c
EXTRA_DIST = \
apple-red.png \
background.jpg \
gnome-applets.png \
gnome-calendar.png \
gnome-foot.png \
gnome-gimp.png \
gnome-gmush.png \
gnome-gsame.png \
gnu-keys.png
DISTCLEANFILES = test-inline-pixbufs.h

BIN
demos/apple-red.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

BIN
demos/background.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

BIN
demos/gnome-applets.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

BIN
demos/gnome-calendar.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

BIN
demos/gnome-foot.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

BIN
demos/gnome-gimp.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

BIN
demos/gnome-gmush.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

BIN
demos/gnome-gsame.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

BIN
demos/gnu-keys.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

View File

@@ -0,0 +1,7 @@
Makefile
Makefile.in
.libs
.deps
gtk-demo
demos.h
geninclude.pl

View File

@@ -0,0 +1,94 @@
## Makefile.am for gtk+/demos
democodedir=$(datadir)/gtk-2.0/demo
## These should be in the order you want them to appear in the
## demo app, which means alphabetized by demo title, not filename
demos = \
appwindow.c \
assistant.c \
button_box.c \
changedisplay.c \
clipboard.c \
colorsel.c \
combobox.c \
dialog.c \
drawingarea.c \
editable_cells.c \
entry_completion.c \
expander.c \
hypertext.c \
iconview.c \
iconview_edit.c \
images.c \
list_store.c \
menus.c \
panes.c \
pickers.c \
pixbufs.c \
printing.c \
rotated_text.c \
sizegroup.c \
stock_browser.c \
textview.c \
textscroll.c \
tree_store.c \
ui_manager.c
INCLUDES = \
-DDEMOCODEDIR="\"$(democodedir)\"" \
-I$(top_srcdir) \
-I$(top_builddir)/gdk \
-DGDK_PIXBUF_DISABLE_DEPRECATED \
-DGDK_DISABLE_DEPRECATED \
-DGTK_DISABLE_DEPRECATED \
$(GTK_DEBUG_FLAGS) \
$(GTK_DEP_CFLAGS)
DEPS = \
$(top_builddir)/gdk-pixbuf/libgdk_pixbuf-$(GTK_API_VERSION).la \
$(top_builddir)/gdk/$(gdktargetlib) \
$(top_builddir)/gtk/$(gtktargetlib)
LDADDS = \
$(top_builddir)/gdk-pixbuf/libgdk_pixbuf-$(GTK_API_VERSION).la \
$(top_builddir)/gdk/$(gdktargetlib) \
$(top_builddir)/gtk/$(gtktargetlib)
bin_PROGRAMS = gtk-demo
BUILT_SOURCES = demos.h
EXTRA_DIST = \
$(IMAGEFILES)
demos.h: @REBUILD@ $(demos) geninclude.pl
(here=`pwd` ; cd $(srcdir) && $(PERL) $$here/geninclude.pl $(demos)) > demos.h
gtk_demo_SOURCES = \
$(demos) \
demo-common.h \
main.c \
demos.h
gtk_demo_DEPENDENCIES = $(DEPS)
gtk_demo_LDADD = $(LDADDS)
IMAGEFILES= alphatest.png \
apple-red.png \
background.jpg \
floppybuddy.gif \
gnome-applets.png \
gnome-calendar.png \
gnome-fs-directory.png \
gnome-fs-regular.png \
gnome-foot.png \
gnome-gimp.png \
gnome-gmush.png \
gnome-gsame.png \
gnu-keys.png \
gtk-logo-rgb.gif
democode_DATA = $(demos) $(IMAGEFILES)
DISTCLEANFILES = demos.h

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

View File

@@ -1,547 +0,0 @@
#include "config.h"
#include <gtk/gtk.h>
typedef GtkApplication DemoApplication;
typedef GtkApplicationClass DemoApplicationClass;
G_DEFINE_TYPE (DemoApplication, demo_application, GTK_TYPE_APPLICATION)
typedef struct {
GtkApplicationWindow parent_instance;
GtkWidget *message;
GtkWidget *infobar;
GtkWidget *status;
GtkWidget *menutool;
GMenuModel *toolmenu;
GtkTextBuffer *buffer;
int width;
int height;
gboolean maximized;
gboolean fullscreen;
} DemoApplicationWindow;
typedef GtkApplicationWindowClass DemoApplicationWindowClass;
G_DEFINE_TYPE (DemoApplicationWindow, demo_application_window, GTK_TYPE_APPLICATION_WINDOW)
static void create_window (GApplication *app, const char *contents);
static void
show_action_dialog (GSimpleAction *action)
{
const gchar *name;
GtkWidget *dialog;
name = g_action_get_name (G_ACTION (action));
dialog = gtk_message_dialog_new (NULL,
GTK_DIALOG_DESTROY_WITH_PARENT,
GTK_MESSAGE_INFO,
GTK_BUTTONS_CLOSE,
"You activated action: \"%s\"",
name);
g_signal_connect (dialog, "response",
G_CALLBACK (gtk_widget_destroy), NULL);
gtk_widget_show (dialog);
}
static void
show_action_infobar (GSimpleAction *action,
GVariant *parameter,
gpointer data)
{
DemoApplicationWindow *window = data;
gchar *text;
const gchar *name;
const gchar *value;
name = g_action_get_name (G_ACTION (action));
value = g_variant_get_string (parameter, NULL);
text = g_strdup_printf ("You activated radio action: \"%s\".\n"
"Current value: %s", name, value);
gtk_label_set_text (GTK_LABEL (window->message), text);
gtk_widget_show (window->infobar);
g_free (text);
}
static void
activate_action (GSimpleAction *action,
GVariant *parameter,
gpointer user_data)
{
show_action_dialog (action);
}
static void
activate_new (GSimpleAction *action,
GVariant *parameter,
gpointer user_data)
{
GApplication *app = user_data;
create_window (app, NULL);
}
static void
open_response_cb (GtkNativeDialog *dialog,
gint response_id,
gpointer user_data)
{
GtkFileChooserNative *native = user_data;
GApplication *app = g_object_get_data (G_OBJECT (native), "app");
GtkWidget *message_dialog;
GFile *file;
char *contents;
GError *error = NULL;
if (response_id == GTK_RESPONSE_ACCEPT)
{
file = gtk_file_chooser_get_file (GTK_FILE_CHOOSER (native));
if (g_file_load_contents (file, NULL, &contents, NULL, NULL, &error))
{
create_window (app, contents);
g_free (contents);
}
else
{
message_dialog = gtk_message_dialog_new (NULL,
GTK_DIALOG_DESTROY_WITH_PARENT,
GTK_MESSAGE_ERROR,
GTK_BUTTONS_CLOSE,
"Error loading file: \"%s\"",
error->message);
g_signal_connect (message_dialog, "response",
G_CALLBACK (gtk_widget_destroy), NULL);
gtk_widget_show (message_dialog);
g_error_free (error);
}
}
gtk_native_dialog_destroy (GTK_NATIVE_DIALOG (native));
g_object_unref (native);
}
static void
activate_open (GSimpleAction *action,
GVariant *parameter,
gpointer user_data)
{
GApplication *app = user_data;
GtkFileChooserNative *native;
native = gtk_file_chooser_native_new ("Open File",
NULL,
GTK_FILE_CHOOSER_ACTION_OPEN,
"_Open",
"_Cancel");
g_object_set_data_full (G_OBJECT (native), "app", g_object_ref (app), g_object_unref);
g_signal_connect (native,
"response",
G_CALLBACK (open_response_cb),
native);
gtk_native_dialog_show (GTK_NATIVE_DIALOG (native));
}
static void
activate_toggle (GSimpleAction *action,
GVariant *parameter,
gpointer user_data)
{
GVariant *state;
show_action_dialog (action);
state = g_action_get_state (G_ACTION (action));
g_action_change_state (G_ACTION (action), g_variant_new_boolean (!g_variant_get_boolean (state)));
g_variant_unref (state);
}
static void
activate_radio (GSimpleAction *action,
GVariant *parameter,
gpointer user_data)
{
show_action_infobar (action, parameter, user_data);
g_action_change_state (G_ACTION (action), parameter);
}
static void
activate_about (GSimpleAction *action,
GVariant *parameter,
gpointer user_data)
{
GtkWidget *window = user_data;
const gchar *authors[] = {
"Peter Mattis",
"Spencer Kimball",
"Josh MacDonald",
"and many more...",
NULL
};
const gchar *documentors[] = {
"Owen Taylor",
"Tony Gale",
"Matthias Clasen <mclasen@redhat.com>",
"and many more...",
NULL
};
gtk_show_about_dialog (GTK_WINDOW (window),
"program-name", "GTK+ Code Demos",
"version", g_strdup_printf ("%s,\nRunning against GTK+ %d.%d.%d",
PACKAGE_VERSION,
gtk_get_major_version (),
gtk_get_minor_version (),
gtk_get_micro_version ()),
"copyright", "(C) 1997-2013 The GTK+ Team",
"license-type", GTK_LICENSE_LGPL_2_1,
"website", "http://www.gtk.org",
"comments", "Program to demonstrate GTK+ functions.",
"authors", authors,
"documenters", documentors,
"logo-icon-name", "gtk4-demo",
"title", "About GTK+ Code Demos",
NULL);
}
static void
activate_quit (GSimpleAction *action,
GVariant *parameter,
gpointer user_data)
{
GtkApplication *app = user_data;
GtkWidget *win;
GList *list, *next;
list = gtk_application_get_windows (app);
while (list)
{
win = list->data;
next = list->next;
gtk_widget_destroy (GTK_WIDGET (win));
list = next;
}
}
static void
update_statusbar (GtkTextBuffer *buffer,
DemoApplicationWindow *window)
{
gchar *msg;
gint row, col;
gint count;
GtkTextIter iter;
/* clear any previous message, underflow is allowed */
gtk_statusbar_pop (GTK_STATUSBAR (window->status), 0);
count = gtk_text_buffer_get_char_count (buffer);
gtk_text_buffer_get_iter_at_mark (buffer,
&iter,
gtk_text_buffer_get_insert (buffer));
row = gtk_text_iter_get_line (&iter);
col = gtk_text_iter_get_line_offset (&iter);
msg = g_strdup_printf ("Cursor at row %d column %d - %d chars in document",
row, col, count);
gtk_statusbar_push (GTK_STATUSBAR (window->status), 0, msg);
g_free (msg);
}
static void
mark_set_callback (GtkTextBuffer *buffer,
const GtkTextIter *new_location,
GtkTextMark *mark,
DemoApplicationWindow *window)
{
update_statusbar (buffer, window);
}
static void
change_theme_state (GSimpleAction *action,
GVariant *state,
gpointer user_data)
{
GtkSettings *settings = gtk_settings_get_default ();
g_object_set (G_OBJECT (settings),
"gtk-application-prefer-dark-theme",
g_variant_get_boolean (state),
NULL);
g_simple_action_set_state (action, state);
}
static void
change_radio_state (GSimpleAction *action,
GVariant *state,
gpointer user_data)
{
g_simple_action_set_state (action, state);
}
static GActionEntry app_entries[] = {
{ "new", activate_new, NULL, NULL, NULL },
{ "open", activate_open, NULL, NULL, NULL },
{ "save", activate_action, NULL, NULL, NULL },
{ "save-as", activate_action, NULL, NULL, NULL },
{ "quit", activate_quit, NULL, NULL, NULL },
{ "dark", activate_toggle, NULL, "false", change_theme_state }
};
static GActionEntry win_entries[] = {
{ "shape", activate_radio, "s", "'oval'", change_radio_state },
{ "bold", activate_toggle, NULL, "false", NULL },
{ "about", activate_about, NULL, NULL, NULL },
{ "file1", activate_action, NULL, NULL, NULL },
{ "logo", activate_action, NULL, NULL, NULL }
};
static void
clicked_cb (GtkWidget *widget, DemoApplicationWindow *window)
{
gtk_widget_hide (window->infobar);
}
static void
startup (GApplication *app)
{
GtkBuilder *builder;
GMenuModel *appmenu;
GMenuModel *menubar;
G_APPLICATION_CLASS (demo_application_parent_class)->startup (app);
builder = gtk_builder_new ();
gtk_builder_add_from_resource (builder, "/application_demo/menus.ui", NULL);
appmenu = (GMenuModel *)gtk_builder_get_object (builder, "appmenu");
menubar = (GMenuModel *)gtk_builder_get_object (builder, "menubar");
gtk_application_set_app_menu (GTK_APPLICATION (app), appmenu);
gtk_application_set_menubar (GTK_APPLICATION (app), menubar);
g_object_unref (builder);
}
static void
create_window (GApplication *app,
const char *content)
{
DemoApplicationWindow *window;
window = (DemoApplicationWindow *)g_object_new (demo_application_window_get_type (),
"application", app,
NULL);
if (content)
gtk_text_buffer_set_text (window->buffer, content, -1);
gtk_window_present (GTK_WINDOW (window));
}
static void
activate (GApplication *app)
{
create_window (app, NULL);
}
static void
demo_application_init (DemoApplication *app)
{
GSettings *settings;
GAction *action;
settings = g_settings_new ("org.gtk.Demo");
g_action_map_add_action_entries (G_ACTION_MAP (app),
app_entries, G_N_ELEMENTS (app_entries),
app);
action = g_settings_create_action (settings, "color");
g_action_map_add_action (G_ACTION_MAP (app), action);
g_object_unref (settings);
}
static void
demo_application_class_init (DemoApplicationClass *class)
{
GApplicationClass *app_class = G_APPLICATION_CLASS (class);
app_class->startup = startup;
app_class->activate = activate;
}
static void
demo_application_window_store_state (DemoApplicationWindow *win)
{
GSettings *settings;
settings = g_settings_new ("org.gtk.Demo");
g_settings_set (settings, "window-size", "(ii)", win->width, win->height);
g_settings_set_boolean (settings, "maximized", win->maximized);
g_settings_set_boolean (settings, "fullscreen", win->fullscreen);
g_object_unref (settings);
}
static void
demo_application_window_load_state (DemoApplicationWindow *win)
{
GSettings *settings;
settings = g_settings_new ("org.gtk.Demo");
g_settings_get (settings, "window-size", "(ii)", &win->width, &win->height);
win->maximized = g_settings_get_boolean (settings, "maximized");
win->fullscreen = g_settings_get_boolean (settings, "fullscreen");
g_object_unref (settings);
}
static void
demo_application_window_init (DemoApplicationWindow *window)
{
GtkWidget *menu;
window->width = -1;
window->height = -1;
window->maximized = FALSE;
window->fullscreen = FALSE;
gtk_widget_init_template (GTK_WIDGET (window));
menu = gtk_menu_new_from_model (window->toolmenu);
gtk_menu_tool_button_set_menu (GTK_MENU_TOOL_BUTTON (window->menutool), menu);
g_action_map_add_action_entries (G_ACTION_MAP (window),
win_entries, G_N_ELEMENTS (win_entries),
window);
}
static void
demo_application_window_constructed (GObject *object)
{
DemoApplicationWindow *window = (DemoApplicationWindow *)object;
demo_application_window_load_state (window);
gtk_window_set_default_size (GTK_WINDOW (window), window->width, window->height);
if (window->maximized)
gtk_window_maximize (GTK_WINDOW (window));
if (window->fullscreen)
gtk_window_fullscreen (GTK_WINDOW (window));
G_OBJECT_CLASS (demo_application_window_parent_class)->constructed (object);
}
static void
demo_application_window_size_allocate (GtkWidget *widget,
const GtkAllocation *allocation,
int baseline,
GtkAllocation *out_clip)
{
DemoApplicationWindow *window = (DemoApplicationWindow *)widget;
GTK_WIDGET_CLASS (demo_application_window_parent_class)->size_allocate (widget, allocation,
baseline, out_clip);
if (!window->maximized && !window->fullscreen)
gtk_window_get_size (GTK_WINDOW (window), &window->width, &window->height);
}
static void
surface_state_changed (GtkWidget *widget)
{
DemoApplicationWindow *window = (DemoApplicationWindow *)widget;
GdkSurfaceState new_state;
new_state = gdk_surface_get_state (gtk_widget_get_surface (widget));
window->maximized = (new_state & GDK_SURFACE_STATE_MAXIMIZED) != 0;
window->fullscreen = (new_state & GDK_SURFACE_STATE_FULLSCREEN) != 0;
}
static void
demo_application_window_realize (GtkWidget *widget)
{
GTK_WIDGET_CLASS (demo_application_window_parent_class)->realize (widget);
g_signal_connect_swapped (gtk_widget_get_surface (widget), "notify::state",
G_CALLBACK (surface_state_changed), widget);
}
static void
demo_application_window_unrealize (GtkWidget *widget)
{
g_signal_handlers_disconnect_by_func (gtk_widget_get_surface (widget),
surface_state_changed, widget);
GTK_WIDGET_CLASS (demo_application_window_parent_class)->unrealize (widget);
}
static void
demo_application_window_destroy (GtkWidget *widget)
{
DemoApplicationWindow *window = (DemoApplicationWindow *)widget;
demo_application_window_store_state (window);
GTK_WIDGET_CLASS (demo_application_window_parent_class)->destroy (widget);
}
static void
demo_application_window_class_init (DemoApplicationWindowClass *class)
{
GObjectClass *object_class = G_OBJECT_CLASS (class);
GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (class);
object_class->constructed = demo_application_window_constructed;
widget_class->size_allocate = demo_application_window_size_allocate;
widget_class->realize = demo_application_window_realize;
widget_class->unrealize = demo_application_window_unrealize;
widget_class->destroy = demo_application_window_destroy;
gtk_widget_class_set_template_from_resource (widget_class, "/application_demo/application.ui");
gtk_widget_class_bind_template_child (widget_class, DemoApplicationWindow, message);
gtk_widget_class_bind_template_child (widget_class, DemoApplicationWindow, infobar);
gtk_widget_class_bind_template_child (widget_class, DemoApplicationWindow, status);
gtk_widget_class_bind_template_child (widget_class, DemoApplicationWindow, buffer);
gtk_widget_class_bind_template_child (widget_class, DemoApplicationWindow, menutool);
gtk_widget_class_bind_template_child (widget_class, DemoApplicationWindow, toolmenu);
gtk_widget_class_bind_template_callback (widget_class, clicked_cb);
gtk_widget_class_bind_template_callback (widget_class, update_statusbar);
gtk_widget_class_bind_template_callback (widget_class, mark_set_callback);
}
int
main (int argc, char *argv[])
{
GtkApplication *app;
app = GTK_APPLICATION (g_object_new (demo_application_get_type (),
"application-id", "org.gtk.Demo2",
"flags", G_APPLICATION_HANDLES_OPEN,
NULL));
return g_application_run (G_APPLICATION (app), 0, NULL);
}

View File

@@ -1,112 +0,0 @@
<?xml version="1.0"?>
<interface>
<template class="DemoApplicationWindow" parent="GtkApplicationWindow">
<property name="title" translatable="yes">Application Class</property>
<property name="default-width">200</property>
<property name="default-height">200</property>
<property name="icon-name">document-open</property>
<child>
<object class="GtkGrid">
<child>
<object class="GtkToolbar">
<property name="hexpand">1</property>
<style>
<class name="primary-toolbar"/>
</style>
<child>
<object class="GtkMenuToolButton" id="menutool">
<property name="icon-name">document-open</property>
</object>
</child>
<child>
<object class="GtkToolButton">
<property name="icon-name">application-exit</property>
<property name="action-name">app.quit</property>
</object>
</child>
<child>
<object class="GtkSeparatorToolItem">
</object>
</child>
<child>
<object class="GtkToolButton">
<property name="icon-name">applications-other</property>
<property name="action-name">win.logo</property>
</object>
</child>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">0</property>
</packing>
</child>
<child>
<object class="GtkInfoBar" id="infobar">
<property name="visible">0</property>
<property name="hexpand">1</property>
<child internal-child="content_area">
<object class="GtkBox" id="content_area">
<child>
<object class="GtkLabel" id="message">
<property name="hexpand">1</property>
</object>
</child>
</object>
</child>
<child internal-child="action_area">
<object class="GtkBox">
<child>
<object class="GtkButton">
<property name="valign">center</property>
<property name="label" translatable="yes">_OK</property>
<property name="use-underline">1</property>
<signal name="clicked" handler="clicked_cb"/>
</object>
</child>
</object>
</child>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">1</property>
</packing>
</child>
<child>
<object class="GtkScrolledWindow">
<property name="shadow-type">in</property>
<child>
<object class="GtkTextView">
<property name="hexpand">1</property>
<property name="vexpand">1</property>
<property name="buffer">buffer</property>
</object>
</child>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">2</property>
</packing>
</child>
<child>
<object class="GtkStatusbar" id="status">
<property name="hexpand">1</property>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">3</property>
</packing>
</child>
</object>
</child>
</template>
<menu id="toolmenu">
<item>
<attribute name="label">File1</attribute>
<attribute name="action">win.file1</attribute>
</item>
</menu>
<object class="GtkTextBuffer" id="buffer">
<signal name="changed" handler="update_statusbar"/>
<signal name="mark-set" handler="mark_set_callback"/>
</object>
</interface>

View File

@@ -1,95 +0,0 @@
/* Application Class
*
* Demonstrates a simple application.
*
* This example uses GtkApplication, GtkApplicationWindow, GtkBuilder
* as well as GMenu and GResource. Due to the way GtkApplication is structured,
* it is run as a separate process.
*/
#include "config.h"
#include <gtk/gtk.h>
static gboolean name_seen;
static GtkWidget *placeholder;
static void
on_name_appeared (GDBusConnection *connection,
const gchar *name,
const gchar *name_owner,
gpointer user_data)
{
name_seen = TRUE;
}
static void
on_name_vanished (GDBusConnection *connection,
const gchar *name,
gpointer user_data)
{
if (!name_seen)
return;
if (placeholder)
{
gtk_widget_destroy (placeholder);
g_object_unref (placeholder);
placeholder = NULL;
}
}
#ifdef G_OS_WIN32
#define APP_EXTENSION ".exe"
#else
#define APP_EXTENSION
#endif
GtkWidget *
do_application_demo (GtkWidget *toplevel)
{
static guint watch = 0;
if (watch == 0)
watch = g_bus_watch_name (G_BUS_TYPE_SESSION,
"org.gtk.Demo2",
0,
on_name_appeared,
on_name_vanished,
NULL, NULL);
if (placeholder == NULL)
{
const gchar *command;
GError *error = NULL;
if (g_file_test ("./gtk4-demo-application" APP_EXTENSION, G_FILE_TEST_IS_EXECUTABLE))
command = "./gtk4-demo-application" APP_EXTENSION;
else
command = "gtk4-demo-application";
if (!g_spawn_command_line_async (command, &error))
{
g_warning ("%s", error->message);
g_error_free (error);
}
placeholder = gtk_label_new ("");
g_object_ref_sink (placeholder);
}
else
{
g_dbus_connection_call_sync (g_bus_get_sync (G_BUS_TYPE_SESSION, NULL, NULL),
"org.gtk.Demo2",
"/org/gtk/Demo2",
"org.gtk.Actions",
"Activate",
g_variant_new ("(sava{sv})", "quit", NULL, NULL),
NULL,
0,
G_MAXINT,
NULL, NULL);
}
return placeholder;
}

View File

@@ -1,19 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<interface>
<!-- interface-requires gtk+ 3.10 -->
<menu id="appmenu">
<section>
<item>
<attribute name="label" translatable="yes">About</attribute>
<attribute name="action">app.about</attribute>
</item>
</section>
<section>
<item>
<attribute name="label" translatable="yes">_Quit</attribute>
<attribute name="action">app.quit</attribute>
<attribute name="accel">&lt;Primary&gt;q</attribute>
</item>
</section>
</menu>
</interface>

594
demos/gtk-demo/appwindow.c Normal file
View File

@@ -0,0 +1,594 @@
/* Application main window
*
* Demonstrates a typical application window with menubar, toolbar, statusbar.
*/
#include <gtk/gtk.h>
#include "config.h"
#include "demo-common.h"
static GtkWidget *window = NULL;
static void
activate_action (GtkAction *action)
{
const gchar *name = gtk_action_get_name (action);
const gchar *typename = G_OBJECT_TYPE_NAME (action);
GtkWidget *dialog;
dialog = gtk_message_dialog_new (GTK_WINDOW (window),
GTK_DIALOG_DESTROY_WITH_PARENT,
GTK_MESSAGE_INFO,
GTK_BUTTONS_CLOSE,
"You activated action: \"%s\" of type \"%s\"",
name, typename);
/* Close dialog on user response */
g_signal_connect (dialog,
"response",
G_CALLBACK (gtk_widget_destroy),
NULL);
gtk_widget_show (dialog);
}
static void
activate_radio_action (GtkAction *action, GtkRadioAction *current)
{
const gchar *name = gtk_action_get_name (GTK_ACTION (current));
const gchar *typename = G_OBJECT_TYPE_NAME (GTK_ACTION (current));
gboolean active = gtk_toggle_action_get_active (GTK_TOGGLE_ACTION (current));
gint value = gtk_radio_action_get_current_value (GTK_RADIO_ACTION (current));
if (active)
{
GtkWidget *dialog;
dialog = gtk_message_dialog_new (GTK_WINDOW (window),
GTK_DIALOG_DESTROY_WITH_PARENT,
GTK_MESSAGE_INFO,
GTK_BUTTONS_CLOSE,
"You activated radio action: \"%s\" of type \"%s\".\n"
"Current value: %d",
name, typename, value);
/* Close dialog on user response */
g_signal_connect (dialog,
"response",
G_CALLBACK (gtk_widget_destroy),
NULL);
gtk_widget_show (dialog);
}
}
static void
activate_email (GtkAboutDialog *about,
const gchar *link,
gpointer data)
{
g_print ("send mail to %s\n", link);
}
static void
activate_url (GtkAboutDialog *about,
const gchar *link,
gpointer data)
{
g_print ("show url %s\n", link);
}
static void
about_cb (GtkAction *action,
GtkWidget *window)
{
GdkPixbuf *pixbuf, *transparent;
gchar *filename;
const gchar *authors[] = {
"Peter Mattis",
"Spencer Kimball",
"Josh MacDonald",
"and many more...",
NULL
};
const gchar *documentors[] = {
"Owen Taylor",
"Tony Gale",
"Matthias Clasen <mclasen@redhat.com>",
"and many more...",
NULL
};
const gchar *license =
"This library is free software; you can redistribute it and/or\n"
"modify it under the terms of the GNU Library General Public License as\n"
"published by the Free Software Foundation; either version 2 of the\n"
"License, or (at your option) any later version.\n"
"\n"
"This library is distributed in the hope that it will be useful,\n"
"but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
"MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\n"
"Library General Public License for more details.\n"
"\n"
"You should have received a copy of the GNU Library General Public\n"
"License along with the Gnome Library; see the file COPYING.LIB. If not,\n"
"write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,\n"
"Boston, MA 02111-1307, USA.\n";
pixbuf = NULL;
transparent = NULL;
filename = demo_find_file ("gtk-logo-rgb.gif", NULL);
if (filename)
{
pixbuf = gdk_pixbuf_new_from_file (filename, NULL);
g_free (filename);
transparent = gdk_pixbuf_add_alpha (pixbuf, TRUE, 0xff, 0xff, 0xff);
g_object_unref (pixbuf);
}
gtk_about_dialog_set_email_hook (activate_email, NULL, NULL);
gtk_about_dialog_set_url_hook (activate_url, NULL, NULL);
gtk_show_about_dialog (GTK_WINDOW (window),
"name", "GTK+ Code Demos",
"version", PACKAGE_VERSION,
"copyright", "(C) 1997-2005 The GTK+ Team",
"license", license,
"website", "http://www.gtk.org",
"comments", "Program to demonstrate GTK+ functions.",
"authors", authors,
"documenters", documentors,
"logo", transparent,
NULL);
g_object_unref (transparent);
}
typedef struct
{
GtkAction action;
} ToolMenuAction;
typedef struct
{
GtkActionClass parent_class;
} ToolMenuActionClass;
G_DEFINE_TYPE(ToolMenuAction, tool_menu_action, GTK_TYPE_ACTION);
static void
tool_menu_action_class_init (ToolMenuActionClass *class)
{
GTK_ACTION_CLASS (class)->toolbar_item_type = GTK_TYPE_MENU_TOOL_BUTTON;
}
static void
tool_menu_action_init (ToolMenuAction *action)
{
}
static GtkActionEntry entries[] = {
{ "FileMenu", NULL, "_File" }, /* name, stock id, label */
{ "OpenMenu", NULL, "_Open" }, /* name, stock id, label */
{ "PreferencesMenu", NULL, "_Preferences" }, /* name, stock id, label */
{ "ColorMenu", NULL, "_Color" }, /* name, stock id, label */
{ "ShapeMenu", NULL, "_Shape" }, /* name, stock id, label */
{ "HelpMenu", NULL, "_Help" }, /* name, stock id, label */
{ "New", GTK_STOCK_NEW, /* name, stock id */
"_New", "<control>N", /* label, accelerator */
"Create a new file", /* tooltip */
G_CALLBACK (activate_action) },
{ "File1", NULL, /* name, stock id */
"File1", NULL, /* label, accelerator */
"Open first file", /* tooltip */
G_CALLBACK (activate_action) },
{ "Save", GTK_STOCK_SAVE, /* name, stock id */
"_Save","<control>S", /* label, accelerator */
"Save current file", /* tooltip */
G_CALLBACK (activate_action) },
{ "SaveAs", GTK_STOCK_SAVE, /* name, stock id */
"Save _As...", NULL, /* label, accelerator */
"Save to a file", /* tooltip */
G_CALLBACK (activate_action) },
{ "Quit", GTK_STOCK_QUIT, /* name, stock id */
"_Quit", "<control>Q", /* label, accelerator */
"Quit", /* tooltip */
G_CALLBACK (activate_action) },
{ "About", NULL, /* name, stock id */
"_About", "<control>A", /* label, accelerator */
"About", /* tooltip */
G_CALLBACK (about_cb) },
{ "Logo", "demo-gtk-logo", /* name, stock id */
NULL, NULL, /* label, accelerator */
"GTK+", /* tooltip */
G_CALLBACK (activate_action) },
};
static guint n_entries = G_N_ELEMENTS (entries);
static GtkToggleActionEntry toggle_entries[] = {
{ "Bold", GTK_STOCK_BOLD, /* name, stock id */
"_Bold", "<control>B", /* label, accelerator */
"Bold", /* tooltip */
G_CALLBACK (activate_action),
TRUE }, /* is_active */
};
static guint n_toggle_entries = G_N_ELEMENTS (toggle_entries);
enum {
COLOR_RED,
COLOR_GREEN,
COLOR_BLUE
};
static GtkRadioActionEntry color_entries[] = {
{ "Red", NULL, /* name, stock id */
"_Red", "<control>R", /* label, accelerator */
"Blood", COLOR_RED }, /* tooltip, value */
{ "Green", NULL, /* name, stock id */
"_Green", "<control>G", /* label, accelerator */
"Grass", COLOR_GREEN }, /* tooltip, value */
{ "Blue", NULL, /* name, stock id */
"_Blue", "<control>B", /* label, accelerator */
"Sky", COLOR_BLUE }, /* tooltip, value */
};
static guint n_color_entries = G_N_ELEMENTS (color_entries);
enum {
SHAPE_SQUARE,
SHAPE_RECTANGLE,
SHAPE_OVAL
};
static GtkRadioActionEntry shape_entries[] = {
{ "Square", NULL, /* name, stock id */
"_Square", "<control>S", /* label, accelerator */
"Square", SHAPE_SQUARE }, /* tooltip, value */
{ "Rectangle", NULL, /* name, stock id */
"_Rectangle", "<control>R", /* label, accelerator */
"Rectangle", SHAPE_RECTANGLE }, /* tooltip, value */
{ "Oval", NULL, /* name, stock id */
"_Oval", "<control>O", /* label, accelerator */
"Egg", SHAPE_OVAL }, /* tooltip, value */
};
static guint n_shape_entries = G_N_ELEMENTS (shape_entries);
static const gchar *ui_info =
"<ui>"
" <menubar name='MenuBar'>"
" <menu action='FileMenu'>"
" <menuitem action='New'/>"
" <menuitem action='Open'/>"
" <menuitem action='Save'/>"
" <menuitem action='SaveAs'/>"
" <separator/>"
" <menuitem action='Quit'/>"
" </menu>"
" <menu action='PreferencesMenu'>"
" <menu action='ColorMenu'>"
" <menuitem action='Red'/>"
" <menuitem action='Green'/>"
" <menuitem action='Blue'/>"
" </menu>"
" <menu action='ShapeMenu'>"
" <menuitem action='Square'/>"
" <menuitem action='Rectangle'/>"
" <menuitem action='Oval'/>"
" </menu>"
" <menuitem action='Bold'/>"
" </menu>"
" <menu action='HelpMenu'>"
" <menuitem action='About'/>"
" </menu>"
" </menubar>"
" <toolbar name='ToolBar'>"
" <toolitem action='Open'>"
" <menu action='OpenMenu'>"
" <menuitem action='File1'/>"
" </menu>"
" </toolitem>"
" <toolitem action='Quit'/>"
" <separator action='Sep1'/>"
" <toolitem action='Logo'/>"
" </toolbar>"
"</ui>";
/* This function registers our custom toolbar icons, so they can be themed.
*
* It's totally optional to do this, you could just manually insert icons
* and have them not be themeable, especially if you never expect people
* to theme your app.
*/
static void
register_stock_icons (void)
{
static gboolean registered = FALSE;
if (!registered)
{
GdkPixbuf *pixbuf;
GtkIconFactory *factory;
char *filename;
static GtkStockItem items[] = {
{ "demo-gtk-logo",
"_GTK!",
0, 0, NULL }
};
registered = TRUE;
/* Register our stock items */
gtk_stock_add (items, G_N_ELEMENTS (items));
/* Add our custom icon factory to the list of defaults */
factory = gtk_icon_factory_new ();
gtk_icon_factory_add_default (factory);
/* demo_find_file() looks in the the current directory first,
* so you can run gtk-demo without installing GTK, then looks
* in the location where the file is installed.
*/
pixbuf = NULL;
filename = demo_find_file ("gtk-logo-rgb.gif", NULL);
if (filename)
{
pixbuf = gdk_pixbuf_new_from_file (filename, NULL);
g_free (filename);
}
/* Register icon to accompany stock item */
if (pixbuf != NULL)
{
GtkIconSet *icon_set;
GdkPixbuf *transparent;
/* The gtk-logo-rgb icon has a white background, make it transparent */
transparent = gdk_pixbuf_add_alpha (pixbuf, TRUE, 0xff, 0xff, 0xff);
icon_set = gtk_icon_set_new_from_pixbuf (transparent);
gtk_icon_factory_add (factory, "demo-gtk-logo", icon_set);
gtk_icon_set_unref (icon_set);
g_object_unref (pixbuf);
g_object_unref (transparent);
}
else
g_warning ("failed to load GTK logo for toolbar");
/* Drop our reference to the factory, GTK will hold a reference. */
g_object_unref (factory);
}
}
static void
update_statusbar (GtkTextBuffer *buffer,
GtkStatusbar *statusbar)
{
gchar *msg;
gint row, col;
gint count;
GtkTextIter iter;
gtk_statusbar_pop (statusbar, 0); /* clear any previous message,
* underflow is allowed
*/
count = gtk_text_buffer_get_char_count (buffer);
gtk_text_buffer_get_iter_at_mark (buffer,
&iter,
gtk_text_buffer_get_insert (buffer));
row = gtk_text_iter_get_line (&iter);
col = gtk_text_iter_get_line_offset (&iter);
msg = g_strdup_printf ("Cursor at row %d column %d - %d chars in document",
row, col, count);
gtk_statusbar_push (statusbar, 0, msg);
g_free (msg);
}
static void
mark_set_callback (GtkTextBuffer *buffer,
const GtkTextIter *new_location,
GtkTextMark *mark,
gpointer data)
{
update_statusbar (buffer, GTK_STATUSBAR (data));
}
static void
update_resize_grip (GtkWidget *widget,
GdkEventWindowState *event,
GtkStatusbar *statusbar)
{
if (event->changed_mask & (GDK_WINDOW_STATE_MAXIMIZED |
GDK_WINDOW_STATE_FULLSCREEN))
{
gboolean maximized;
maximized = event->new_window_state & (GDK_WINDOW_STATE_MAXIMIZED |
GDK_WINDOW_STATE_FULLSCREEN);
gtk_statusbar_set_has_resize_grip (statusbar, !maximized);
}
}
GtkWidget *
do_appwindow (GtkWidget *do_widget)
{
if (!window)
{
GtkWidget *table;
GtkWidget *statusbar;
GtkWidget *contents;
GtkWidget *sw;
GtkWidget *bar;
GtkTextBuffer *buffer;
GtkActionGroup *action_group;
GtkAction *open_action;
GtkUIManager *merge;
GError *error = NULL;
register_stock_icons ();
/* Create the toplevel window
*/
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_window_set_screen (GTK_WINDOW (window),
gtk_widget_get_screen (do_widget));
gtk_window_set_title (GTK_WINDOW (window), "Application Window");
gtk_window_set_icon_name (GTK_WINDOW (window), "gtk-open");
/* NULL window variable when window is closed */
g_signal_connect (window, "destroy",
G_CALLBACK (gtk_widget_destroyed),
&window);
table = gtk_table_new (1, 4, FALSE);
gtk_container_add (GTK_CONTAINER (window), table);
/* Create the menubar and toolbar
*/
action_group = gtk_action_group_new ("AppWindowActions");
open_action = g_object_new (tool_menu_action_get_type (),
"name", "Open",
"label", "_Open",
"tooltip", "Open a file",
"stock-id", GTK_STOCK_OPEN,
NULL);
gtk_action_group_add_action (action_group, open_action);
g_object_unref (open_action);
gtk_action_group_add_actions (action_group,
entries, n_entries,
window);
gtk_action_group_add_toggle_actions (action_group,
toggle_entries, n_toggle_entries,
NULL);
gtk_action_group_add_radio_actions (action_group,
color_entries, n_color_entries,
COLOR_RED,
G_CALLBACK (activate_radio_action),
NULL);
gtk_action_group_add_radio_actions (action_group,
shape_entries, n_shape_entries,
SHAPE_SQUARE,
G_CALLBACK (activate_radio_action),
NULL);
merge = gtk_ui_manager_new ();
g_object_set_data_full (G_OBJECT (window), "ui-manager", merge,
g_object_unref);
gtk_ui_manager_insert_action_group (merge, action_group, 0);
gtk_window_add_accel_group (GTK_WINDOW (window),
gtk_ui_manager_get_accel_group (merge));
if (!gtk_ui_manager_add_ui_from_string (merge, ui_info, -1, &error))
{
g_message ("building menus failed: %s", error->message);
g_error_free (error);
}
bar = gtk_ui_manager_get_widget (merge, "/MenuBar");
gtk_widget_show (bar);
gtk_table_attach (GTK_TABLE (table),
bar,
/* X direction */ /* Y direction */
0, 1, 0, 1,
GTK_EXPAND | GTK_FILL, 0,
0, 0);
bar = gtk_ui_manager_get_widget (merge, "/ToolBar");
gtk_toolbar_set_tooltips (GTK_TOOLBAR (bar), TRUE);
gtk_widget_show (bar);
gtk_table_attach (GTK_TABLE (table),
bar,
/* X direction */ /* Y direction */
0, 1, 1, 2,
GTK_EXPAND | GTK_FILL, 0,
0, 0);
/* Create document
*/
sw = gtk_scrolled_window_new (NULL, NULL);
gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (sw),
GTK_POLICY_AUTOMATIC,
GTK_POLICY_AUTOMATIC);
gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (sw),
GTK_SHADOW_IN);
gtk_table_attach (GTK_TABLE (table),
sw,
/* X direction */ /* Y direction */
0, 1, 2, 3,
GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL,
0, 0);
gtk_window_set_default_size (GTK_WINDOW (window),
200, 200);
contents = gtk_text_view_new ();
gtk_widget_grab_focus (contents);
gtk_container_add (GTK_CONTAINER (sw),
contents);
/* Create statusbar */
statusbar = gtk_statusbar_new ();
gtk_table_attach (GTK_TABLE (table),
statusbar,
/* X direction */ /* Y direction */
0, 1, 3, 4,
GTK_EXPAND | GTK_FILL, 0,
0, 0);
/* Show text widget info in the statusbar */
buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (contents));
g_signal_connect_object (buffer,
"changed",
G_CALLBACK (update_statusbar),
statusbar,
0);
g_signal_connect_object (buffer,
"mark_set", /* cursor moved */
G_CALLBACK (mark_set_callback),
statusbar,
0);
g_signal_connect_object (window,
"window_state_event",
G_CALLBACK (update_resize_grip),
statusbar,
0);
update_statusbar (buffer, GTK_STATUSBAR (statusbar));
}
if (!GTK_WIDGET_VISIBLE (window))
{
gtk_widget_show_all (window);
}
else
{
gtk_widget_destroy (window);
window = NULL;
}
return window;
}

View File

@@ -1,43 +1,20 @@
/* Assistant
*
* Demonstrates a sample multi-step assistant. Assistants are used to divide
* Demonstrates a sample multistep assistant. Assistants are used to divide
* an operation into several simpler sequential steps, and to guide the user
* through these steps.
*/
#include <gtk/gtk.h>
#include "demo-common.h"
static GtkWidget *assistant = NULL;
static GtkWidget *progress_bar = NULL;
static gboolean
apply_changes_gradually (gpointer data)
{
gdouble fraction;
/* Work, work, work... */
fraction = gtk_progress_bar_get_fraction (GTK_PROGRESS_BAR (progress_bar));
fraction += 0.05;
if (fraction < 1.0)
{
gtk_progress_bar_set_fraction (GTK_PROGRESS_BAR (progress_bar), fraction);
return G_SOURCE_CONTINUE;
}
else
{
/* Close automatically once changes are fully applied. */
gtk_widget_destroy (assistant);
assistant = NULL;
return G_SOURCE_REMOVE;
}
}
static void
on_assistant_apply (GtkWidget *widget, gpointer data)
{
/* Start a timer to simulate changes taking a few seconds to apply. */
g_timeout_add (100, apply_changes_gradually, NULL);
/* Apply here changes, this is a fictional
example, so we just do nothing here */
}
static void
@@ -61,13 +38,6 @@ on_assistant_prepare (GtkWidget *widget, GtkWidget *page, gpointer data)
title = g_strdup_printf ("Sample assistant (%d of %d)", current_page + 1, n_pages);
gtk_window_set_title (GTK_WINDOW (widget), title);
g_free (title);
/* The fourth page (counting from zero) is the progress page. The
* user clicked Apply to get here so we tell the assistant to commit,
* which means the changes up to this point are permanent and cannot
* be cancelled or revisited. */
if (current_page == 3)
gtk_assistant_commit (GTK_ASSISTANT (widget));
}
static void
@@ -92,44 +62,57 @@ static void
create_page1 (GtkWidget *assistant)
{
GtkWidget *box, *label, *entry;
GdkPixbuf *pixbuf;
box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 12);
box = gtk_hbox_new (FALSE, 12);
gtk_container_set_border_width (GTK_CONTAINER (box), 12);
label = gtk_label_new ("You must fill out this entry to continue:");
gtk_box_pack_start (GTK_BOX (box), label);
gtk_box_pack_start (GTK_BOX (box), label, FALSE, FALSE, 0);
entry = gtk_entry_new ();
gtk_entry_set_activates_default (GTK_ENTRY (entry), TRUE);
gtk_widget_set_valign (entry, GTK_ALIGN_CENTER);
gtk_box_pack_start (GTK_BOX (box), entry);
gtk_box_pack_start (GTK_BOX (box), entry, TRUE, TRUE, 0);
g_signal_connect (G_OBJECT (entry), "changed",
G_CALLBACK (on_entry_changed), assistant);
G_CALLBACK (on_entry_changed), assistant);
gtk_widget_show_all (box);
gtk_assistant_append_page (GTK_ASSISTANT (assistant), box);
gtk_assistant_set_page_title (GTK_ASSISTANT (assistant), box, "Page 1");
gtk_assistant_set_page_type (GTK_ASSISTANT (assistant), box, GTK_ASSISTANT_PAGE_INTRO);
pixbuf = gtk_widget_render_icon (assistant, GTK_STOCK_DIALOG_INFO, GTK_ICON_SIZE_DIALOG, NULL);
gtk_assistant_set_page_header_image (GTK_ASSISTANT (assistant), box, pixbuf);
g_object_unref (pixbuf);
}
static void
create_page2 (GtkWidget *assistant)
{
GtkWidget *box, *checkbutton;
GdkPixbuf *pixbuf;
box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 12);
box = gtk_vbox_new (12, FALSE);
gtk_container_set_border_width (GTK_CONTAINER (box), 12);
checkbutton = gtk_check_button_new_with_label ("This is optional data, you may continue "
"even if you do not check this");
gtk_box_pack_start (GTK_BOX (box), checkbutton);
"even if you do not check this");
gtk_box_pack_start (GTK_BOX (box), checkbutton, FALSE, FALSE, 0);
gtk_widget_show_all (box);
gtk_assistant_append_page (GTK_ASSISTANT (assistant), box);
gtk_assistant_set_page_complete (GTK_ASSISTANT (assistant), box, TRUE);
gtk_assistant_set_page_title (GTK_ASSISTANT (assistant), box, "Page 2");
pixbuf = gtk_widget_render_icon (assistant, GTK_STOCK_DIALOG_INFO, GTK_ICON_SIZE_DIALOG, NULL);
gtk_assistant_set_page_header_image (GTK_ASSISTANT (assistant), box, pixbuf);
g_object_unref (pixbuf);
}
static void
create_page3 (GtkWidget *assistant)
{
GtkWidget *label;
GdkPixbuf *pixbuf;
label = gtk_label_new ("This is a confirmation page, press 'Apply' to apply changes");
@@ -138,27 +121,10 @@ create_page3 (GtkWidget *assistant)
gtk_assistant_set_page_type (GTK_ASSISTANT (assistant), label, GTK_ASSISTANT_PAGE_CONFIRM);
gtk_assistant_set_page_complete (GTK_ASSISTANT (assistant), label, TRUE);
gtk_assistant_set_page_title (GTK_ASSISTANT (assistant), label, "Confirmation");
}
static void
create_page4 (GtkWidget *assistant)
{
progress_bar = gtk_progress_bar_new ();
gtk_widget_set_halign (progress_bar, GTK_ALIGN_FILL);
gtk_widget_set_valign (progress_bar, GTK_ALIGN_CENTER);
gtk_widget_set_hexpand (progress_bar, TRUE);
gtk_widget_set_margin_start (progress_bar, 40);
gtk_widget_set_margin_end (progress_bar, 40);
gtk_widget_show (progress_bar);
gtk_assistant_append_page (GTK_ASSISTANT (assistant), progress_bar);
gtk_assistant_set_page_type (GTK_ASSISTANT (assistant), progress_bar, GTK_ASSISTANT_PAGE_PROGRESS);
gtk_assistant_set_page_title (GTK_ASSISTANT (assistant), progress_bar, "Applying changes");
/* This prevents the assistant window from being
* closed while we're "busy" applying changes.
*/
gtk_assistant_set_page_complete (GTK_ASSISTANT (assistant), progress_bar, FALSE);
pixbuf = gtk_widget_render_icon (assistant, GTK_STOCK_DIALOG_INFO, GTK_ICON_SIZE_DIALOG, NULL);
gtk_assistant_set_page_header_image (GTK_ASSISTANT (assistant), label, pixbuf);
g_object_unref (pixbuf);
}
GtkWidget*
@@ -168,27 +134,26 @@ do_assistant (GtkWidget *do_widget)
{
assistant = gtk_assistant_new ();
gtk_window_set_default_size (GTK_WINDOW (assistant), -1, 300);
gtk_window_set_default_size (GTK_WINDOW (assistant), -1, 300);
gtk_window_set_display (GTK_WINDOW (assistant),
gtk_widget_get_display (do_widget));
gtk_window_set_screen (GTK_WINDOW (assistant),
gtk_widget_get_screen (do_widget));
create_page1 (assistant);
create_page2 (assistant);
create_page3 (assistant);
create_page4 (assistant);
g_signal_connect (G_OBJECT (assistant), "cancel",
G_CALLBACK (on_assistant_close_cancel), &assistant);
G_CALLBACK (on_assistant_close_cancel), &assistant);
g_signal_connect (G_OBJECT (assistant), "close",
G_CALLBACK (on_assistant_close_cancel), &assistant);
G_CALLBACK (on_assistant_close_cancel), &assistant);
g_signal_connect (G_OBJECT (assistant), "apply",
G_CALLBACK (on_assistant_apply), NULL);
G_CALLBACK (on_assistant_apply), NULL);
g_signal_connect (G_OBJECT (assistant), "prepare",
G_CALLBACK (on_assistant_prepare), NULL);
G_CALLBACK (on_assistant_prepare), NULL);
}
if (!gtk_widget_get_visible (assistant))
if (!GTK_WIDGET_VISIBLE (assistant))
gtk_widget_show (assistant);
else
{

View File

@@ -1,332 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<interface>
<requires lib="gtk+" version="3.20"/>
<object class="GtkWindow" id="window">
<property name="resizable">0</property>
<property name="title">CSS Blend Modes</property>
<property name="default-width">400</property>
<property name="default-height">300</property>
<child>
<object class="GtkGrid">
<property name="row-spacing">12</property>
<property name="column-spacing">12</property>
<child>
<object class="GtkLabel">
<property name="label" translatable="yes">Blend mode:</property>
<property name="xalign">0</property>
<style>
<class name="dim-label"/>
</style>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">0</property>
</packing>
</child>
<child>
<object class="GtkScrolledWindow" id="scrolledwindow">
<property name="can-focus">1</property>
<property name="vexpand">1</property>
<property name="shadow-type">in</property>
<property name="min-content-width">150</property>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">1</property>
</packing>
</child>
<child>
<object class="GtkStackSwitcher">
<property name="halign">center</property>
<property name="hexpand">1</property>
<property name="stack">stack</property>
</object>
<packing>
<property name="left-attach">1</property>
<property name="top-attach">0</property>
</packing>
</child>
<child>
<object class="GtkStack" id="stack">
<property name="hexpand">1</property>
<property name="vexpand">1</property>
<property name="hhomogeneous">0</property>
<property name="vhomogeneous">0</property>
<property name="transition-type">crossfade</property>
<child>
<object class="GtkGrid">
<property name="halign">center</property>
<property name="valign">center</property>
<property name="vexpand">1</property>
<property name="row-spacing">12</property>
<property name="column-spacing">12</property>
<child>
<object class="GtkLabel">
<property name="label" translatable="yes">Duck</property>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">0</property>
</packing>
</child>
<child>
<object class="GtkLabel">
<property name="label" translatable="yes">Background</property>
</object>
<packing>
<property name="left-attach">1</property>
<property name="top-attach">0</property>
</packing>
</child>
<child>
<object class="GtkImage">
<style>
<class name="duck"/>
</style>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">1</property>
</packing>
</child>
<child>
<object class="GtkImage">
<style>
<class name="gradient"/>
</style>
</object>
<packing>
<property name="left-attach">1</property>
<property name="top-attach">1</property>
</packing>
</child>
<child>
<object class="GtkLabel">
<property name="label" translatable="yes">
Blended picture</property>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">2</property>
<property name="width">2</property>
</packing>
</child>
<child>
<object class="GtkImage">
<property name="halign">center</property>
<style>
<class name="blend0"/>
</style>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">3</property>
<property name="width">2</property>
</packing>
</child>
</object>
<packing>
<property name="name">page0</property>
<property name="title" translatable="yes">Ducky</property>
</packing>
</child>
<child>
<object class="GtkGrid">
<property name="halign">center</property>
<property name="valign">center</property>
<property name="vexpand">1</property>
<property name="row-spacing">12</property>
<property name="column-spacing">12</property>
<child>
<object class="GtkLabel">
<property name="label" translatable="yes">Red</property>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">0</property>
</packing>
</child>
<child>
<object class="GtkLabel">
<property name="label" translatable="yes">Blue</property>
</object>
<packing>
<property name="left-attach">1</property>
<property name="top-attach">0</property>
</packing>
</child>
<child>
<object class="GtkImage">
<style>
<class name="red"/>
</style>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">1</property>
</packing>
</child>
<child>
<object class="GtkImage">
<style>
<class name="blue"/>
</style>
</object>
<packing>
<property name="left-attach">1</property>
<property name="top-attach">1</property>
</packing>
</child>
<child>
<object class="GtkLabel">
<property name="label" translatable="yes">
Blended picture</property>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">2</property>
<property name="width">2</property>
</packing>
</child>
<child>
<object class="GtkImage">
<property name="halign">center</property>
<style>
<class name="blend1"/>
</style>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">3</property>
<property name="width">2</property>
</packing>
</child>
</object>
<packing>
<property name="name">page1</property>
<property name="title" translatable="yes">Blends</property>
</packing>
</child>
<child>
<object class="GtkGrid">
<property name="halign">center</property>
<property name="valign">center</property>
<property name="hexpand">1</property>
<property name="vexpand">1</property>
<property name="row-spacing">6</property>
<property name="column-spacing">12</property>
<child>
<object class="GtkImage">
<style>
<class name="cyan"/>
</style>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">1</property>
</packing>
</child>
<child>
<object class="GtkImage">
<style>
<class name="magenta"/>
</style>
</object>
<packing>
<property name="left-attach">1</property>
<property name="top-attach">1</property>
</packing>
</child>
<child>
<object class="GtkImage">
<style>
<class name="yellow"/>
</style>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">3</property>
</packing>
</child>
<child>
<object class="GtkImage">
<property name="halign">center</property>
<style>
<class name="blend2"/>
</style>
</object>
<packing>
<property name="left-attach">1</property>
<property name="top-attach">3</property>
</packing>
</child>
<child>
<object class="GtkLabel">
<property name="label" translatable="yes">Cyan</property>
<property name="xalign">0</property>
<style>
<class name="dim-label"/>
</style>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">0</property>
</packing>
</child>
<child>
<object class="GtkLabel">
<property name="label" translatable="yes">Magenta</property>
<property name="xalign">0</property>
<style>
<class name="dim-label"/>
</style>
</object>
<packing>
<property name="left-attach">1</property>
<property name="top-attach">0</property>
</packing>
</child>
<child>
<object class="GtkLabel">
<property name="label" translatable="yes">Yellow</property>
<property name="xalign">0</property>
<style>
<class name="dim-label"/>
</style>
</object>
<packing>
<property name="left-attach">0</property>
<property name="top-attach">2</property>
</packing>
</child>
<child>
<object class="GtkLabel">
<property name="label" translatable="yes">Blended picture</property>
<property name="xalign">0</property>
<attributes>
<attribute name="weight" value="bold"/>
</attributes>
</object>
<packing>
<property name="left-attach">1</property>
<property name="top-attach">2</property>
</packing>
</child>
</object>
<packing>
<property name="name">page2</property>
<property name="title" translatable="yes">CMYK</property>
</packing>
</child>
</object>
<packing>
<property name="left-attach">1</property>
<property name="top-attach">1</property>
</packing>
</child>
</object>
</child>
<child type="titlebar">
</child>
</object>
</interface>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 788 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

View File

@@ -1,124 +0,0 @@
/* Builder
*
* Demonstrates an interface loaded from a XML description.
*/
#include <gtk/gtk.h>
static void
quit_activate (GSimpleAction *action,
GVariant *parameter,
gpointer user_data)
{
GtkWidget *window = user_data;
gtk_widget_destroy (window);
}
static void
about_activate (GSimpleAction *action,
GVariant *parameter,
gpointer user_data)
{
GtkWidget *window = user_data;
GtkBuilder *builder;
GtkWidget *about_dlg;
builder = g_object_get_data (G_OBJECT (window), "builder");
about_dlg = GTK_WIDGET (gtk_builder_get_object (builder, "aboutdialog1"));
gtk_dialog_run (GTK_DIALOG (about_dlg));
gtk_widget_hide (about_dlg);
}
static void
help_activate (GSimpleAction *action,
GVariant *parameter,
gpointer user_data)
{
g_print ("Help not available\n");
}
static GActionEntry win_entries[] = {
{ "quit", quit_activate, NULL, NULL, NULL },
{ "about", about_activate, NULL, NULL, NULL },
{ "help", help_activate, NULL, NULL, NULL }
};
GtkWidget *
do_builder (GtkWidget *do_widget)
{
static GtkWidget *window = NULL;
GtkWidget *toolbar;
GActionGroup *actions;
GtkAccelGroup *accel_group;
GtkWidget *item;
if (!window)
{
GtkBuilder *builder;
builder = gtk_builder_new_from_resource ("/builder/demo.ui");
gtk_builder_connect_signals (builder, NULL);
window = GTK_WIDGET (gtk_builder_get_object (builder, "window1"));
gtk_window_set_display (GTK_WINDOW (window),
gtk_widget_get_display (do_widget));
g_signal_connect (window, "destroy",
G_CALLBACK (gtk_widget_destroyed), &window);
toolbar = GTK_WIDGET (gtk_builder_get_object (builder, "toolbar1"));
gtk_style_context_add_class (gtk_widget_get_style_context (toolbar),
"primary-toolbar");
actions = (GActionGroup*)g_simple_action_group_new ();
g_action_map_add_action_entries (G_ACTION_MAP (actions),
win_entries, G_N_ELEMENTS (win_entries),
window);
gtk_widget_insert_action_group (window, "win", actions);
accel_group = gtk_accel_group_new ();
gtk_window_add_accel_group (GTK_WINDOW (window), accel_group);
item = (GtkWidget*)gtk_builder_get_object (builder, "new_item");
gtk_widget_add_accelerator (item, "activate", accel_group,
GDK_KEY_n, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE);
item = (GtkWidget*)gtk_builder_get_object (builder, "open_item");
gtk_widget_add_accelerator (item, "activate", accel_group,
GDK_KEY_o, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE);
item = (GtkWidget*)gtk_builder_get_object (builder, "save_item");
gtk_widget_add_accelerator (item, "activate", accel_group,
GDK_KEY_s, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE);
item = (GtkWidget*)gtk_builder_get_object (builder, "quit_item");
gtk_widget_add_accelerator (item, "activate", accel_group,
GDK_KEY_q, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE);
item = (GtkWidget*)gtk_builder_get_object (builder, "copy_item");
gtk_widget_add_accelerator (item, "activate", accel_group,
GDK_KEY_c, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE);
item = (GtkWidget*)gtk_builder_get_object (builder, "cut_item");
gtk_widget_add_accelerator (item, "activate", accel_group,
GDK_KEY_x, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE);
item = (GtkWidget*)gtk_builder_get_object (builder, "paste_item");
gtk_widget_add_accelerator (item, "activate", accel_group,
GDK_KEY_v, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE);
item = (GtkWidget*)gtk_builder_get_object (builder, "help_item");
gtk_widget_add_accelerator (item, "activate", accel_group,
GDK_KEY_F1, 0, GTK_ACCEL_VISIBLE);
item = (GtkWidget*)gtk_builder_get_object (builder, "about_item");
gtk_widget_add_accelerator (item, "activate", accel_group,
GDK_KEY_F7, 0, GTK_ACCEL_VISIBLE);
g_object_set_data_full (G_OBJECT(window), "builder", builder, g_object_unref);
}
if (!gtk_widget_get_visible (window))
gtk_widget_show (window);
else
gtk_widget_destroy (window);
return window;
}

View File

@@ -3,40 +3,38 @@
* The Button Box widgets are used to arrange buttons with padding.
*/
#include <glib/gi18n.h>
#include <gtk/gtk.h>
static GtkWidget *
create_bbox (gint horizontal,
char *title,
gint spacing,
gint layout)
char *title,
gint spacing,
gint layout)
{
GtkWidget *frame;
GtkWidget *bbox;
GtkWidget *button;
frame = gtk_frame_new (title);
if (horizontal)
bbox = gtk_button_box_new (GTK_ORIENTATION_HORIZONTAL);
bbox = gtk_hbutton_box_new ();
else
bbox = gtk_button_box_new (GTK_ORIENTATION_VERTICAL);
g_object_set (bbox, "margin", 5, NULL);
bbox = gtk_vbutton_box_new ();
gtk_container_set_border_width (GTK_CONTAINER (bbox), 5);
gtk_container_add (GTK_CONTAINER (frame), bbox);
gtk_button_box_set_layout (GTK_BUTTON_BOX (bbox), layout);
gtk_box_set_spacing (GTK_BOX (bbox), spacing);
button = gtk_button_new_with_label (_("OK"));
button = gtk_button_new_from_stock (GTK_STOCK_OK);
gtk_container_add (GTK_CONTAINER (bbox), button);
button = gtk_button_new_with_label (_("Cancel"));
button = gtk_button_new_from_stock (GTK_STOCK_CANCEL);
gtk_container_add (GTK_CONTAINER (bbox), button);
button = gtk_button_new_with_label (_("Help"));
button = gtk_button_new_from_stock (GTK_STOCK_HELP);
gtk_container_add (GTK_CONTAINER (bbox), button);
return frame;
@@ -51,77 +49,79 @@ do_button_box (GtkWidget *do_widget)
GtkWidget *hbox;
GtkWidget *frame_horz;
GtkWidget *frame_vert;
if (!window)
{
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_window_set_display (GTK_WINDOW (window),
gtk_widget_get_display (do_widget));
gtk_window_set_screen (GTK_WINDOW (window),
gtk_widget_get_screen (do_widget));
gtk_window_set_title (GTK_WINDOW (window), "Button Boxes");
g_signal_connect (window, "destroy",
G_CALLBACK (gtk_widget_destroyed),
&window);
G_CALLBACK (gtk_widget_destroyed),
&window);
gtk_container_set_border_width (GTK_CONTAINER (window), 10);
main_vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
g_object_set (main_vbox, "margin", 10, NULL);
main_vbox = gtk_vbox_new (FALSE, 0);
gtk_container_add (GTK_CONTAINER (window), main_vbox);
frame_horz = gtk_frame_new ("Horizontal Button Boxes");
gtk_widget_set_margin_top (frame_horz, 10);
gtk_widget_set_margin_bottom (frame_horz, 10);
gtk_box_pack_start (GTK_BOX (main_vbox), frame_horz);
vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 10);
g_object_set (vbox, "margin", 10, NULL);
gtk_box_pack_start (GTK_BOX (main_vbox), frame_horz, TRUE, TRUE, 10);
vbox = gtk_vbox_new (FALSE, 0);
gtk_container_set_border_width (GTK_CONTAINER (vbox), 10);
gtk_container_add (GTK_CONTAINER (frame_horz), vbox);
gtk_box_pack_start (GTK_BOX (vbox),
create_bbox (TRUE, "Spread", 40, GTK_BUTTONBOX_SPREAD));
gtk_box_pack_start (GTK_BOX (vbox),
create_bbox (TRUE, "Spread", 40, GTK_BUTTONBOX_SPREAD),
TRUE, TRUE, 0);
gtk_box_pack_start (GTK_BOX (vbox),
create_bbox (TRUE, "Edge", 40, GTK_BUTTONBOX_EDGE));
gtk_box_pack_start (GTK_BOX (vbox),
create_bbox (TRUE, "Start", 40, GTK_BUTTONBOX_START));
gtk_box_pack_start (GTK_BOX (vbox),
create_bbox (TRUE, "End", 40, GTK_BUTTONBOX_END));
gtk_box_pack_start (GTK_BOX (vbox),
create_bbox (TRUE, "Center", 40, GTK_BUTTONBOX_CENTER));
gtk_box_pack_start (GTK_BOX (vbox),
create_bbox (TRUE, "Expand", 0, GTK_BUTTONBOX_EXPAND));
gtk_box_pack_start (GTK_BOX (vbox),
create_bbox (TRUE, "Edge", 40, GTK_BUTTONBOX_EDGE),
TRUE, TRUE, 5);
gtk_box_pack_start (GTK_BOX (vbox),
create_bbox (TRUE, "Start", 40, GTK_BUTTONBOX_START),
TRUE, TRUE, 5);
gtk_box_pack_start (GTK_BOX (vbox),
create_bbox (TRUE, "End", 40, GTK_BUTTONBOX_END),
TRUE, TRUE, 5);
frame_vert = gtk_frame_new ("Vertical Button Boxes");
gtk_box_pack_start (GTK_BOX (main_vbox), frame_vert);
hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 10);
g_object_set (hbox, "margin", 10, NULL);
gtk_box_pack_start (GTK_BOX (main_vbox), frame_vert, TRUE, TRUE, 10);
hbox = gtk_hbox_new (FALSE, 0);
gtk_container_set_border_width (GTK_CONTAINER (hbox), 10);
gtk_container_add (GTK_CONTAINER (frame_vert), hbox);
gtk_box_pack_start (GTK_BOX (hbox),
create_bbox (FALSE, "Spread", 10, GTK_BUTTONBOX_SPREAD));
gtk_box_pack_start (GTK_BOX (hbox),
create_bbox (FALSE, "Spread", 30, GTK_BUTTONBOX_SPREAD),
TRUE, TRUE, 0);
gtk_box_pack_start (GTK_BOX (hbox),
create_bbox (FALSE, "Edge", 10, GTK_BUTTONBOX_EDGE));
gtk_box_pack_start (GTK_BOX (hbox),
create_bbox (FALSE, "Edge", 30, GTK_BUTTONBOX_EDGE),
TRUE, TRUE, 5);
gtk_box_pack_start (GTK_BOX (hbox),
create_bbox (FALSE, "Start", 10, GTK_BUTTONBOX_START));
gtk_box_pack_start (GTK_BOX (hbox),
create_bbox (FALSE, "Start", 30, GTK_BUTTONBOX_START),
TRUE, TRUE, 5);
gtk_box_pack_start (GTK_BOX (hbox),
create_bbox (FALSE, "End", 10, GTK_BUTTONBOX_END));
gtk_box_pack_start (GTK_BOX (hbox),
create_bbox (FALSE, "Center", 10, GTK_BUTTONBOX_CENTER));
gtk_box_pack_start (GTK_BOX (hbox),
create_bbox (FALSE, "Expand", 0, GTK_BUTTONBOX_EXPAND));
gtk_box_pack_start (GTK_BOX (hbox),
create_bbox (FALSE, "End", 30, GTK_BUTTONBOX_END),
TRUE, TRUE, 5);
}
if (!gtk_widget_get_visible (window))
gtk_widget_show (window);
if (!GTK_WIDGET_VISIBLE (window))
{
gtk_widget_show_all (window);
}
else
gtk_widget_destroy (window);
{
gtk_widget_destroy (window);
window = NULL;
}
return window;
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

View File

@@ -1,33 +1,34 @@
/* Change Display
*
* Demonstrates migrating a window between different displays.
* A display is a mouse and keyboard with some number of
* associated monitors. The neat thing about having multiple
* displays is that they can be on a completely separate
*
* Demonstrates migrating a window between different displays and
* screens. A display is a mouse and keyboard with some number of
* associated monitors. A screen is a set of monitors grouped
* into a single physical work area. The neat thing about having
* multiple displays is that they can be on a completely separate
* computers, as long as there is a network connection to the
* computer where the application is running.
*
* Only some of the windowing systems where GTK+ runs have the
* concept of multiple displays. (The X Window System is the
* main example.) Other windowing systems can only handle one
* keyboard and mouse, and combine all monitors into
* a single display.
* concept of multiple displays and screens. (The X Window System
* is the main example.) Other windowing systems can only
* handle one keyboard and mouse, and combine all monitors into
* a single screen.
*
* This is a moderately complex example, and demonstrates:
*
* - Tracking the currently open displays
* - Tracking the currently open displays and screens
*
* - Changing the display for a window
* - Changing the screen for a window
*
* - Letting the user choose a window by clicking on it
*
*
* - Using GtkListStore and GtkTreeView
*
* - Using GtkDialog
*/
#include <string.h>
#include <glib/gi18n.h>
#include <gtk/gtk.h>
#include "demo-common.h"
/* The ChangeDisplayInfo structure corresponds to a toplevel window and
* holds pointers to widgets inside the toplevel window along with other
@@ -42,8 +43,11 @@ struct _ChangeDisplayInfo
GtkSizeGroup *size_group;
GtkTreeModel *display_model;
GtkTreeModel *screen_model;
GtkTreeSelection *screen_selection;
GdkDisplay *current_display;
GdkScreen *current_screen;
};
/* These enumerations provide symbolic names for the columns
@@ -68,32 +72,26 @@ enum
static GtkWidget *
find_toplevel_at_pointer (GdkDisplay *display)
{
GdkSurface *pointer_window;
GdkWindow *pointer_window;
GtkWidget *widget = NULL;
pointer_window = gdk_device_get_surface_at_position (gtk_get_current_event_device (),
NULL, NULL);
pointer_window = gdk_display_get_window_at_pointer (display, NULL, NULL);
/* The user data field of a GdkSurface is used to store a pointer
/* The user data field of a GdkWindow is used to store a pointer
* to the widget that created it.
*/
if (pointer_window)
{
gpointer widget_ptr;
gdk_surface_get_user_data (pointer_window, &widget_ptr);
widget = widget_ptr;
}
gdk_window_get_user_data (pointer_window, (gpointer*) &widget);
return widget ? gtk_widget_get_toplevel (widget) : NULL;
}
static gboolean
release_event_cb (GtkWidget *widget,
GdkEvent *event,
gboolean *clicked)
button_release_event_cb (GtkWidget *widget,
GdkEventButton *event,
gboolean *clicked)
{
if (gdk_event_get_event_type (event) == GDK_BUTTON_RELEASE)
*clicked = TRUE;
*clicked = TRUE;
return TRUE;
}
@@ -102,56 +100,57 @@ release_event_cb (GtkWidget *widget,
* window under the pointer, or NULL, if there is none.
*/
static GtkWidget *
query_for_toplevel (GdkDisplay *display,
const char *prompt)
query_for_toplevel (GdkScreen *screen,
const char *prompt)
{
GdkDisplay *display = gdk_screen_get_display (screen);
GtkWidget *popup, *label, *frame;
GdkCursor *cursor;
GtkWidget *toplevel = NULL;
GdkDevice *device;
popup = gtk_window_new (GTK_WINDOW_POPUP);
gtk_window_set_display (GTK_WINDOW (popup), display);
gtk_window_set_screen (GTK_WINDOW (popup), screen);
gtk_window_set_modal (GTK_WINDOW (popup), TRUE);
gtk_window_set_position (GTK_WINDOW (popup), GTK_WIN_POS_CENTER);
frame = gtk_frame_new (NULL);
gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_OUT);
gtk_container_add (GTK_CONTAINER (popup), frame);
label = gtk_label_new (prompt);
g_object_set (label, "margin", 10, NULL);
gtk_misc_set_padding (GTK_MISC (label), 10, 10);
gtk_container_add (GTK_CONTAINER (frame), label);
gtk_widget_show (popup);
cursor = gdk_cursor_new_from_name ("crosshair", NULL);
device = gtk_get_current_event_device ();
if (gdk_seat_grab (gdk_device_get_seat (device),
gtk_widget_get_surface (popup),
GDK_SEAT_CAPABILITY_ALL_POINTING,
FALSE, cursor, NULL, NULL, NULL) == GDK_GRAB_SUCCESS)
gtk_widget_show_all (popup);
cursor = gdk_cursor_new_for_display (display, GDK_CROSSHAIR);
if (gdk_pointer_grab (popup->window, FALSE,
GDK_BUTTON_RELEASE_MASK,
NULL,
cursor,
GDK_CURRENT_TIME) == GDK_GRAB_SUCCESS)
{
gboolean clicked = FALSE;
g_signal_connect (popup, "event",
G_CALLBACK (release_event_cb), &clicked);
/* Process events until clicked is set by our button release event handler.
g_signal_connect (popup, "button-release-event",
G_CALLBACK (button_release_event_cb), &clicked);
/* Process events until clicked is set by button_release_event_cb.
* We pass in may_block=TRUE since we want to wait if there
* are no events currently.
*/
while (!clicked)
g_main_context_iteration (NULL, TRUE);
toplevel = find_toplevel_at_pointer (display);
g_main_context_iteration (NULL, TRUE);
toplevel = find_toplevel_at_pointer (gdk_screen_get_display (screen));
if (toplevel == popup)
toplevel = NULL;
toplevel = NULL;
}
g_object_unref (cursor);
gdk_cursor_unref (cursor);
gtk_widget_destroy (popup);
gdk_flush (); /* Really release the grab */
return toplevel;
}
@@ -161,17 +160,46 @@ query_for_toplevel (GdkDisplay *display,
static void
query_change_display (ChangeDisplayInfo *info)
{
GdkDisplay *display = gtk_widget_get_display (info->window);
GdkScreen *screen = gtk_widget_get_screen (info->window);
GtkWidget *toplevel;
toplevel = query_for_toplevel (display,
"Please select the toplevel\n"
"to move to the new display");
toplevel = query_for_toplevel (screen,
"Please select the toplevel\n"
"to move to the new screen");
if (toplevel)
gtk_window_set_display (GTK_WINDOW (toplevel), info->current_display);
gtk_window_set_screen (GTK_WINDOW (toplevel), info->current_screen);
else
gdk_display_beep (display);
gdk_display_beep (gdk_screen_get_display (screen));
}
/* Fills in the screen list based on the current display
*/
static void
fill_screens (ChangeDisplayInfo *info)
{
gtk_list_store_clear (GTK_LIST_STORE (info->screen_model));
if (info->current_display)
{
gint n_screens = gdk_display_get_n_screens (info->current_display);
gint i;
for (i = 0; i < n_screens; i++)
{
GdkScreen *screen = gdk_display_get_screen (info->current_display, i);
GtkTreeIter iter;
gtk_list_store_append (GTK_LIST_STORE (info->screen_model), &iter);
gtk_list_store_set (GTK_LIST_STORE (info->screen_model), &iter,
SCREEN_COLUMN_NUMBER, i,
SCREEN_COLUMN_SCREEN, screen,
-1);
if (i == 0)
gtk_tree_selection_select_iter (info->screen_selection, &iter);
}
}
}
/* Called when the user clicks on a button in our dialog or
@@ -180,8 +208,8 @@ query_change_display (ChangeDisplayInfo *info)
*/
static void
response_cb (GtkDialog *dialog,
gint response_id,
ChangeDisplayInfo *info)
gint response_id,
ChangeDisplayInfo *info)
{
if (response_id == GTK_RESPONSE_OK)
query_change_display (info);
@@ -195,21 +223,20 @@ response_cb (GtkDialog *dialog,
*/
static void
open_display_cb (GtkWidget *button,
ChangeDisplayInfo *info)
ChangeDisplayInfo *info)
{
GtkWidget *content_area;
GtkWidget *dialog;
GtkWidget *display_entry;
GtkWidget *dialog_label;
gchar *new_screen_name = NULL;
GdkDisplay *result = NULL;
dialog = gtk_dialog_new_with_buttons ("Open Display",
GTK_WINDOW (info->window),
GTK_DIALOG_MODAL,
_("_Cancel"), GTK_RESPONSE_CANCEL,
_("_OK"), GTK_RESPONSE_OK,
NULL);
GTK_WINDOW (info->window),
GTK_DIALOG_MODAL,
GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
GTK_STOCK_OK, GTK_RESPONSE_OK,
NULL);
gtk_dialog_set_default_response (GTK_DIALOG (dialog), GTK_RESPONSE_OK);
display_entry = gtk_entry_new ();
@@ -217,38 +244,37 @@ open_display_cb (GtkWidget *button,
dialog_label =
gtk_label_new ("Please enter the name of\nthe new display\n");
content_area = gtk_dialog_get_content_area (GTK_DIALOG (dialog));
gtk_container_add (GTK_CONTAINER (content_area), dialog_label);
gtk_container_add (GTK_CONTAINER (content_area), display_entry);
gtk_container_add (GTK_CONTAINER (GTK_DIALOG (dialog)->vbox), dialog_label);
gtk_container_add (GTK_CONTAINER (GTK_DIALOG (dialog)->vbox), display_entry);
gtk_widget_grab_focus (display_entry);
gtk_widget_show_all (GTK_BIN (dialog)->child);
while (!result)
{
gint response_id = gtk_dialog_run (GTK_DIALOG (dialog));
if (response_id != GTK_RESPONSE_OK)
break;
break;
new_screen_name = gtk_editable_get_chars (GTK_EDITABLE (display_entry),
0, -1);
0, -1);
if (strcmp (new_screen_name, "") != 0)
{
result = gdk_display_open (new_screen_name);
if (!result)
{
gchar *error_msg =
g_strdup_printf ("Can't open display:\n\t%s\nplease try another one\n",
new_screen_name);
gtk_label_set_text (GTK_LABEL (dialog_label), error_msg);
g_free (error_msg);
}
{
result = gdk_display_open (new_screen_name);
if (!result)
{
gchar *error_msg =
g_strdup_printf ("Can't open display :\n\t%s\nplease try another one\n",
new_screen_name);
gtk_label_set_text (GTK_LABEL (dialog_label), error_msg);
g_free (error_msg);
}
g_free (new_screen_name);
}
g_free (new_screen_name);
}
}
gtk_widget_destroy (dialog);
}
@@ -257,7 +283,7 @@ open_display_cb (GtkWidget *button,
*/
static void
close_display_cb (GtkWidget *button,
ChangeDisplayInfo *info)
ChangeDisplayInfo *info)
{
if (info->current_display)
gdk_display_close (info->current_display);
@@ -269,7 +295,7 @@ close_display_cb (GtkWidget *button,
*/
static void
display_changed_cb (GtkTreeSelection *selection,
ChangeDisplayInfo *info)
ChangeDisplayInfo *info)
{
GtkTreeModel *model;
GtkTreeIter iter;
@@ -278,10 +304,32 @@ display_changed_cb (GtkTreeSelection *selection,
g_object_unref (info->current_display);
if (gtk_tree_selection_get_selected (selection, &model, &iter))
gtk_tree_model_get (model, &iter,
DISPLAY_COLUMN_DISPLAY, &info->current_display,
-1);
DISPLAY_COLUMN_DISPLAY, &info->current_display,
-1);
else
info->current_display = NULL;
fill_screens (info);
}
/* Called when the selected row in the sceen list changes.
* Updates info->current_screen.
*/
static void
screen_changed_cb (GtkTreeSelection *selection,
ChangeDisplayInfo *info)
{
GtkTreeModel *model;
GtkTreeIter iter;
if (info->current_screen)
g_object_unref (info->current_screen);
if (gtk_tree_selection_get_selected (selection, &model, &iter))
gtk_tree_model_get (model, &iter,
SCREEN_COLUMN_SCREEN, &info->current_screen,
-1);
else
info->current_screen = NULL;
}
/* This function is used both for creating the "Display" and
@@ -291,27 +339,27 @@ display_changed_cb (GtkTreeSelection *selection,
*/
static void
create_frame (ChangeDisplayInfo *info,
const char *title,
GtkWidget **frame,
GtkWidget **tree_view,
GtkWidget **button_vbox)
const char *title,
GtkWidget **frame,
GtkWidget **tree_view,
GtkWidget **button_vbox)
{
GtkTreeSelection *selection;
GtkWidget *scrollwin;
GtkWidget *hbox;
*frame = gtk_frame_new (title);
hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 8);
g_object_set (hbox, "margin", 8, NULL);
hbox = gtk_hbox_new (FALSE, 8);
gtk_container_set_border_width (GTK_CONTAINER (hbox), 8);
gtk_container_add (GTK_CONTAINER (*frame), hbox);
scrollwin = gtk_scrolled_window_new (NULL, NULL);
gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrollwin),
GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC);
GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC);
gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrollwin),
GTK_SHADOW_IN);
gtk_box_pack_start (GTK_BOX (hbox), scrollwin);
GTK_SHADOW_IN);
gtk_box_pack_start (GTK_BOX (hbox), scrollwin, TRUE, TRUE, 0);
*tree_view = gtk_tree_view_new ();
gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (*tree_view), FALSE);
@@ -320,12 +368,12 @@ create_frame (ChangeDisplayInfo *info,
selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (*tree_view));
gtk_tree_selection_set_mode (selection, GTK_SELECTION_BROWSE);
*button_vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 5);
gtk_box_pack_start (GTK_BOX (hbox), *button_vbox);
*button_vbox = gtk_vbox_new (FALSE, 5);
gtk_box_pack_start (GTK_BOX (hbox), *button_vbox, FALSE, FALSE, 0);
if (!info->size_group)
info->size_group = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL);
gtk_size_group_add_widget (GTK_SIZE_GROUP (info->size_group), *button_vbox);
}
@@ -339,8 +387,7 @@ left_align_button_new (const char *label)
GtkWidget *button = gtk_button_new_with_mnemonic (label);
GtkWidget *child = gtk_bin_get_child (GTK_BIN (button));
gtk_widget_set_halign (child, GTK_ALIGN_START);
gtk_widget_set_valign (child, GTK_ALIGN_CENTER);
gtk_misc_set_alignment (GTK_MISC (child), 0., 0.5);
return button;
}
@@ -361,27 +408,58 @@ create_display_frame (ChangeDisplayInfo *info)
button = left_align_button_new ("_Open...");
g_signal_connect (button, "clicked", G_CALLBACK (open_display_cb), info);
gtk_box_pack_start (GTK_BOX (button_vbox), button);
gtk_box_pack_start (GTK_BOX (button_vbox), button, FALSE, FALSE, 0);
button = left_align_button_new ("_Close");
g_signal_connect (button, "clicked", G_CALLBACK (close_display_cb), info);
gtk_box_pack_start (GTK_BOX (button_vbox), button);
gtk_box_pack_start (GTK_BOX (button_vbox), button, FALSE, FALSE, 0);
info->display_model = (GtkTreeModel *)gtk_list_store_new (DISPLAY_NUM_COLUMNS,
G_TYPE_STRING,
GDK_TYPE_DISPLAY);
G_TYPE_STRING,
GDK_TYPE_DISPLAY);
gtk_tree_view_set_model (GTK_TREE_VIEW (tree_view), info->display_model);
column = gtk_tree_view_column_new_with_attributes ("Name",
gtk_cell_renderer_text_new (),
"text", DISPLAY_COLUMN_NAME,
NULL);
gtk_cell_renderer_text_new (),
"text", DISPLAY_COLUMN_NAME,
NULL);
gtk_tree_view_append_column (GTK_TREE_VIEW (tree_view), column);
selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (tree_view));
g_signal_connect (selection, "changed",
G_CALLBACK (display_changed_cb), info);
G_CALLBACK (display_changed_cb), info);
return frame;
}
/* Creates the "Screen" frame in the main window.
*/
GtkWidget *
create_screen_frame (ChangeDisplayInfo *info)
{
GtkWidget *frame;
GtkWidget *tree_view;
GtkWidget *button_vbox;
GtkTreeViewColumn *column;
create_frame (info, "Screen", &frame, &tree_view, &button_vbox);
info->screen_model = (GtkTreeModel *)gtk_list_store_new (SCREEN_NUM_COLUMNS,
G_TYPE_INT,
GDK_TYPE_SCREEN);
gtk_tree_view_set_model (GTK_TREE_VIEW (tree_view), info->screen_model);
column = gtk_tree_view_column_new_with_attributes ("Number",
gtk_cell_renderer_text_new (),
"text", SCREEN_COLUMN_NUMBER,
NULL);
gtk_tree_view_append_column (GTK_TREE_VIEW (tree_view), column);
info->screen_selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (tree_view));
g_signal_connect (info->screen_selection, "changed",
G_CALLBACK (screen_changed_cb), info);
return frame;
}
@@ -391,8 +469,8 @@ create_display_frame (ChangeDisplayInfo *info)
*/
static void
display_closed_cb (GdkDisplay *display,
gboolean is_error,
ChangeDisplayInfo *info)
gboolean is_error,
ChangeDisplayInfo *info)
{
GtkTreeIter iter;
gboolean valid;
@@ -402,15 +480,15 @@ display_closed_cb (GdkDisplay *display,
valid = gtk_tree_model_iter_next (info->display_model, &iter))
{
GdkDisplay *tmp_display;
gtk_tree_model_get (info->display_model, &iter,
DISPLAY_COLUMN_DISPLAY, &tmp_display,
-1);
DISPLAY_COLUMN_DISPLAY, &tmp_display,
-1);
if (tmp_display == display)
{
gtk_list_store_remove (GTK_LIST_STORE (info->display_model), &iter);
break;
}
{
gtk_list_store_remove (GTK_LIST_STORE (info->display_model), &iter);
break;
}
}
}
@@ -420,27 +498,27 @@ display_closed_cb (GdkDisplay *display,
*/
static void
add_display (ChangeDisplayInfo *info,
GdkDisplay *display)
GdkDisplay *display)
{
const gchar *name = gdk_display_get_name (display);
GtkTreeIter iter;
gtk_list_store_append (GTK_LIST_STORE (info->display_model), &iter);
gtk_list_store_set (GTK_LIST_STORE (info->display_model), &iter,
DISPLAY_COLUMN_NAME, name,
DISPLAY_COLUMN_DISPLAY, display,
-1);
DISPLAY_COLUMN_NAME, name,
DISPLAY_COLUMN_DISPLAY, display,
-1);
g_signal_connect (display, "closed",
G_CALLBACK (display_closed_cb), info);
G_CALLBACK (display_closed_cb), info);
}
/* Called when a new display is opened
*/
static void
display_opened_cb (GdkDisplayManager *manager,
GdkDisplay *display,
ChangeDisplayInfo *info)
GdkDisplay *display,
ChangeDisplayInfo *info)
{
add_display (info, display);
}
@@ -461,8 +539,8 @@ initialize_displays (ChangeDisplayInfo *info)
g_slist_free (tmp_list);
g_signal_connect (manager, "display-opened",
G_CALLBACK (display_opened_cb), info);
g_signal_connect (manager, "display_opened",
G_CALLBACK (display_opened_cb), info);
}
/* Cleans up when the toplevel is destroyed; we remove the
@@ -477,28 +555,31 @@ destroy_info (ChangeDisplayInfo *info)
GSList *tmp_list;
g_signal_handlers_disconnect_by_func (manager,
display_opened_cb,
info);
display_opened_cb,
info);
for (tmp_list = displays; tmp_list; tmp_list = tmp_list->next)
g_signal_handlers_disconnect_by_func (tmp_list->data,
display_closed_cb,
info);
display_closed_cb,
info);
g_slist_free (tmp_list);
g_object_unref (info->size_group);
g_object_unref (info->display_model);
g_object_unref (info->screen_model);
if (info->current_display)
g_object_unref (info->current_display);
if (info->current_screen)
g_object_unref (info->current_screen);
g_free (info);
}
static void
destroy_cb (GObject *object,
ChangeDisplayInfo **info)
destroy_cb (GtkObject *object,
ChangeDisplayInfo **info)
{
destroy_info (*info);
*info = NULL;
@@ -514,38 +595,40 @@ do_changedisplay (GtkWidget *do_widget)
if (!info)
{
GtkWidget *content_area;
GtkWidget *vbox;
GtkWidget *frame;
info = g_new0 (ChangeDisplayInfo, 1);
info->window = gtk_dialog_new_with_buttons ("Change Display",
GTK_WINDOW (do_widget),
0,
"Close", GTK_RESPONSE_CLOSE,
"Change", GTK_RESPONSE_OK,
NULL);
info->window = gtk_dialog_new_with_buttons ("Change Screen or display",
GTK_WINDOW (do_widget),
GTK_DIALOG_NO_SEPARATOR,
GTK_STOCK_CLOSE, GTK_RESPONSE_CLOSE,
"Change", GTK_RESPONSE_OK,
NULL);
gtk_window_set_default_size (GTK_WINDOW (info->window), 300, 400);
g_signal_connect (info->window, "response",
G_CALLBACK (response_cb), info);
G_CALLBACK (response_cb), info);
g_signal_connect (info->window, "destroy",
G_CALLBACK (destroy_cb), &info);
G_CALLBACK (destroy_cb), &info);
content_area = gtk_dialog_get_content_area (GTK_DIALOG (info->window));
vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 5);
g_object_set (vbox, "margin", 8, NULL);
gtk_box_pack_start (GTK_BOX (content_area), vbox);
vbox = gtk_vbox_new (FALSE, 5);
gtk_container_set_border_width (GTK_CONTAINER (vbox), 8);
gtk_box_pack_start (GTK_BOX (GTK_DIALOG (info->window)->vbox), vbox,
TRUE, TRUE, 0);
frame = create_display_frame (info);
gtk_box_pack_start (GTK_BOX (vbox), frame);
gtk_box_pack_start (GTK_BOX (vbox), frame, TRUE, TRUE, 0);
frame = create_screen_frame (info);
gtk_box_pack_start (GTK_BOX (vbox), frame, TRUE, TRUE, 0);
initialize_displays (info);
gtk_widget_show (info->window);
gtk_widget_show_all (info->window);
return info->window;
}
else

View File

@@ -1,15 +1,14 @@
/* Clipboard
*
* GdkClipboard is used for clipboard handling. This demo shows how to
* copy and paste text to and from the clipboard.
* GtkClipboard is used for clipboard handling. This demo shows how to
* copy and paste text to and from the clipboard.
*
* It also shows how to transfer images via the clipboard or via
* It also shows how to transfer images via the clipboard or via
* drag-and-drop, and how to make clipboard contents persist after
* the application exits. Clipboard persistence requires a clipboard
* manager to run.
*/
#include <glib/gi18n.h>
#include <gtk/gtk.h>
#include <string.h>
@@ -20,99 +19,68 @@ copy_button_clicked (GtkWidget *button,
gpointer user_data)
{
GtkWidget *entry;
GdkClipboard *clipboard;
GtkClipboard *clipboard;
entry = GTK_WIDGET (user_data);
/* Get the clipboard object */
clipboard = gtk_widget_get_clipboard (entry);
clipboard = gtk_widget_get_clipboard (entry,
GDK_SELECTION_CLIPBOARD);
/* Set clipboard text */
gdk_clipboard_set_text (clipboard, gtk_entry_get_text (GTK_ENTRY (entry)));
gtk_clipboard_set_text (clipboard, gtk_entry_get_text (GTK_ENTRY (entry)), -1);
}
void
paste_received (GObject *source_object,
GAsyncResult *result,
paste_received (GtkClipboard *clipboard,
const gchar *text,
gpointer user_data)
{
GdkClipboard *clipboard;
GtkWidget *entry;
char *text;
GError *error = NULL;
clipboard = GDK_CLIPBOARD (source_object);
entry = GTK_WIDGET (user_data);
/* Get the resulting text of the read operation */
text = gdk_clipboard_read_text_finish (clipboard, result, &error);
if (text)
{
/* Set the entry text */
gtk_entry_set_text (GTK_ENTRY (entry), text);
g_free (text);
}
else
{
GtkWidget *dialog;
/* Show an error about why pasting failed.
* Usually you probably want to ignore such failures,
* but for demonstration purposes, we show the error.
*/
dialog = gtk_message_dialog_new (GTK_WINDOW (window),
GTK_DIALOG_DESTROY_WITH_PARENT | GTK_DIALOG_MODAL,
GTK_MESSAGE_ERROR,
GTK_BUTTONS_CLOSE,
"Could not paste text: %s",
error->message);
g_signal_connect (dialog, "response",
G_CALLBACK (gtk_widget_destroy), NULL);
gtk_widget_show (dialog);
g_error_free (error);
}
/* Set the entry text */
if(text)
gtk_entry_set_text (GTK_ENTRY (entry), text);
}
void
paste_button_clicked (GtkWidget *button,
gpointer user_data)
gpointer user_data)
{
GtkWidget *entry;
GdkClipboard *clipboard;
GtkClipboard *clipboard;
entry = GTK_WIDGET (user_data);
/* Get the clipboard object */
clipboard = gtk_widget_get_clipboard (entry);
clipboard = gtk_widget_get_clipboard (entry,
GDK_SELECTION_CLIPBOARD);
/* Request the contents of the clipboard, contents_received will be
called when we do get the contents.
*/
gdk_clipboard_read_text_async (clipboard, NULL, paste_received, entry);
gtk_clipboard_request_text (clipboard,
paste_received, entry);
}
static GdkPaintable *
get_image_paintable (GtkImage *image)
static GdkPixbuf *
get_image_pixbuf (GtkImage *image)
{
const gchar *icon_name;
GtkIconTheme *icon_theme;
GtkIconInfo *icon_info;
gchar *stock_id;
GtkIconSize size;
switch (gtk_image_get_storage_type (image))
{
case GTK_IMAGE_PAINTABLE:
return g_object_ref (gtk_image_get_paintable (image));
case GTK_IMAGE_ICON_NAME:
icon_name = gtk_image_get_icon_name (image);
icon_theme = gtk_icon_theme_get_for_display (gtk_widget_get_display (GTK_WIDGET (image)));
icon_info = gtk_icon_theme_lookup_icon (icon_theme, icon_name, 48, GTK_ICON_LOOKUP_GENERIC_FALLBACK);
if (icon_info == NULL)
return NULL;
return GDK_PAINTABLE (gtk_icon_info_load_texture (icon_info));
case GTK_IMAGE_PIXBUF:
return g_object_ref (gtk_image_get_pixbuf (image));
case GTK_IMAGE_STOCK:
gtk_image_get_stock (image, &stock_id, &size);
return gtk_widget_render_icon (GTK_WIDGET (image),
stock_id, size, NULL);
default:
g_warning ("Image storage type %d not handled",
g_warning ("Image storage type %d not handled",
gtk_image_get_storage_type (image));
return NULL;
}
@@ -123,45 +91,45 @@ drag_begin (GtkWidget *widget,
GdkDragContext *context,
gpointer data)
{
GdkPaintable *paintable;
GdkPixbuf *pixbuf;
paintable = get_image_paintable (GTK_IMAGE (widget));
if (paintable)
{
gtk_drag_set_icon_paintable (context, paintable, -2, -2);
g_object_unref (paintable);
}
pixbuf = get_image_pixbuf (GTK_IMAGE (data));
gtk_drag_set_icon_pixbuf (context, pixbuf, -2, -2);
g_object_unref (pixbuf);
}
void
drag_data_get (GtkWidget *widget,
GdkDragContext *context,
GtkSelectionData *selection_data,
guint info,
guint time,
gpointer data)
void
drag_data_get (GtkWidget *widget,
GdkDragContext *context,
GtkSelectionData *selection_data,
guint info,
guint time,
gpointer data)
{
GdkPaintable *paintable;
GdkPixbuf *pixbuf;
paintable = get_image_paintable (GTK_IMAGE (widget));
if (GDK_IS_TEXTURE (paintable))
gtk_selection_data_set_texture (selection_data, GDK_TEXTURE (paintable));
pixbuf = get_image_pixbuf (GTK_IMAGE (data));
gtk_selection_data_set_pixbuf (selection_data, pixbuf);
g_object_unref (pixbuf);
}
static void
drag_data_received (GtkWidget *widget,
GdkDragContext *context,
gint x,
gint y,
GtkSelectionData *selection_data,
guint info,
guint32 time,
gpointer data)
{
if (gtk_selection_data_get_length (selection_data) > 0)
{
GdkTexture *texture;
GdkPixbuf *pixbuf;
texture = gtk_selection_data_get_texture (selection_data);
gtk_image_set_from_paintable (GTK_IMAGE (data), GDK_PAINTABLE (texture));
g_object_unref (texture);
if (selection_data->length > 0)
{
pixbuf = gtk_selection_data_get_pixbuf (selection_data);
gtk_image_set_from_pixbuf (GTK_IMAGE (data), pixbuf);
g_object_unref (pixbuf);
}
}
@@ -169,70 +137,58 @@ static void
copy_image (GtkMenuItem *item,
gpointer data)
{
GdkClipboard *clipboard;
GdkPaintable *paintable;
GtkClipboard *clipboard;
GdkPixbuf *pixbuf;
clipboard = gtk_widget_get_clipboard (GTK_WIDGET (data));
paintable = get_image_paintable (GTK_IMAGE (data));
clipboard = gtk_clipboard_get (GDK_SELECTION_CLIPBOARD);
pixbuf = get_image_pixbuf (GTK_IMAGE (data));
if (GDK_IS_TEXTURE (paintable))
gdk_clipboard_set_texture (clipboard, GDK_TEXTURE (paintable));
if (paintable)
g_object_unref (paintable);
}
static void
paste_image_received (GObject *source,
GAsyncResult *result,
gpointer data)
{
GdkTexture *texture;
texture = gdk_clipboard_read_texture_finish (GDK_CLIPBOARD (source), result, NULL);
if (texture == NULL)
return;
gtk_image_set_from_paintable (GTK_IMAGE (data), GDK_PAINTABLE (texture));
g_object_unref (texture);
gtk_clipboard_set_image (clipboard, pixbuf);
g_object_unref (pixbuf);
}
static void
paste_image (GtkMenuItem *item,
gpointer data)
{
GdkClipboard *clipboard;
GtkClipboard *clipboard;
GdkPixbuf *pixbuf;
clipboard = gtk_widget_get_clipboard (GTK_WIDGET (data));
gdk_clipboard_read_texture_async (clipboard,
NULL,
paste_image_received,
data);
clipboard = gtk_clipboard_get (GDK_SELECTION_CLIPBOARD);
pixbuf = gtk_clipboard_wait_for_image (clipboard);
if (pixbuf)
{
gtk_image_set_from_pixbuf (GTK_IMAGE (data), pixbuf);
g_object_unref (pixbuf);
}
}
static void
pressed_cb (GtkGesture *gesture,
int n_press,
double x,
double y,
GtkWidget *image)
static gboolean
button_press (GtkWidget *widget,
GdkEventButton *button,
gpointer data)
{
GtkWidget *menu;
GtkWidget *item;
if (button->button != 3)
return FALSE;
menu = gtk_menu_new ();
item = gtk_menu_item_new_with_mnemonic (_("_Copy"));
g_signal_connect (item, "activate", G_CALLBACK (copy_image), image);
item = gtk_image_menu_item_new_from_stock (GTK_STOCK_COPY, NULL);
g_signal_connect (item, "activate", G_CALLBACK (copy_image), data);
gtk_widget_show (item);
gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
item = gtk_menu_item_new_with_mnemonic (_("_Paste"));
g_signal_connect (item, "activate", G_CALLBACK (paste_image), image);
item = gtk_image_menu_item_new_from_stock (GTK_STOCK_PASTE, NULL);
g_signal_connect (item, "activate", G_CALLBACK (paste_image), data);
gtk_widget_show (item);
gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
gtk_menu_popup_at_pointer (GTK_MENU (menu), NULL);
gtk_menu_popup (GTK_MENU (menu), NULL, NULL, NULL, NULL, 3, button->time);
return TRUE;
}
GtkWidget *
@@ -243,119 +199,124 @@ do_clipboard (GtkWidget *do_widget)
GtkWidget *vbox, *hbox;
GtkWidget *label;
GtkWidget *entry, *button;
GtkWidget *image;
GtkGesture *gesture;
GtkWidget *ebox, *image;
GtkClipboard *clipboard;
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_window_set_display (GTK_WINDOW (window),
gtk_widget_get_display (do_widget));
gtk_window_set_title (GTK_WINDOW (window), "Clipboard");
g_signal_connect (window, "destroy",
G_CALLBACK (gtk_widget_destroyed), &window);
vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
g_object_set (vbox, "margin", 8, NULL);
vbox = gtk_vbox_new (FALSE, 0);
gtk_container_set_border_width (GTK_CONTAINER (vbox), 8);
gtk_container_add (GTK_CONTAINER (window), vbox);
label = gtk_label_new ("\"Copy\" will copy the text\nin the entry to the clipboard");
gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0);
gtk_box_pack_start (GTK_BOX (vbox), label);
hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 4);
g_object_set (hbox, "margin", 8, NULL);
gtk_box_pack_start (GTK_BOX (vbox), hbox);
hbox = gtk_hbox_new (FALSE, 4);
gtk_container_set_border_width (GTK_CONTAINER (hbox), 8);
gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0);
/* Create the first entry */
entry = gtk_entry_new ();
gtk_box_pack_start (GTK_BOX (hbox), entry);
gtk_box_pack_start (GTK_BOX (hbox), entry, TRUE, TRUE, 0);
/* Create the button */
button = gtk_button_new_with_mnemonic (_("_Copy"));
gtk_box_pack_start (GTK_BOX (hbox), button);
button = gtk_button_new_from_stock (GTK_STOCK_COPY);
gtk_box_pack_start (GTK_BOX (hbox), button, FALSE, FALSE, 0);
g_signal_connect (button, "clicked",
G_CALLBACK (copy_button_clicked), entry);
label = gtk_label_new ("\"Paste\" will paste the text from the clipboard to the entry");
gtk_box_pack_start (GTK_BOX (vbox), label);
gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0);
hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 4);
g_object_set (hbox, "margin", 8, NULL);
gtk_box_pack_start (GTK_BOX (vbox), hbox);
hbox = gtk_hbox_new (FALSE, 4);
gtk_container_set_border_width (GTK_CONTAINER (hbox), 8);
gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0);
/* Create the second entry */
entry = gtk_entry_new ();
gtk_box_pack_start (GTK_BOX (hbox), entry);
gtk_box_pack_start (GTK_BOX (hbox), entry, TRUE, TRUE, 0);
/* Create the button */
button = gtk_button_new_with_mnemonic (_("_Paste"));
gtk_box_pack_start (GTK_BOX (hbox), button);
button = gtk_button_new_from_stock (GTK_STOCK_PASTE);
gtk_box_pack_start (GTK_BOX (hbox), button, FALSE, FALSE, 0);
g_signal_connect (button, "clicked",
G_CALLBACK (paste_button_clicked), entry);
label = gtk_label_new ("Images can be transferred via the clipboard, too");
gtk_box_pack_start (GTK_BOX (vbox), label);
gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0);
hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 4);
g_object_set (hbox, "margin", 8, NULL);
gtk_box_pack_start (GTK_BOX (vbox), hbox);
hbox = gtk_hbox_new (FALSE, 4);
gtk_container_set_border_width (GTK_CONTAINER (hbox), 8);
gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0);
/* Create the first image */
image = gtk_image_new_from_icon_name ("dialog-warning");
gtk_container_add (GTK_CONTAINER (hbox), image);
image = gtk_image_new_from_stock (GTK_STOCK_DIALOG_WARNING,
GTK_ICON_SIZE_BUTTON);
ebox = gtk_event_box_new ();
gtk_container_add (GTK_CONTAINER (ebox), image);
gtk_container_add (GTK_CONTAINER (hbox), ebox);
/* make image a drag source */
gtk_drag_source_set (image, GDK_BUTTON1_MASK, NULL, GDK_ACTION_COPY);
gtk_drag_source_add_image_targets (image);
g_signal_connect (image, "drag-begin",
/* make ebox a drag source */
gtk_drag_source_set (ebox, GDK_BUTTON1_MASK, NULL, 0, GDK_ACTION_COPY);
gtk_drag_source_add_image_targets (ebox);
g_signal_connect (ebox, "drag_begin",
G_CALLBACK (drag_begin), image);
g_signal_connect (image, "drag-data-get",
g_signal_connect (ebox, "drag_data_get",
G_CALLBACK (drag_data_get), image);
/* accept drops on image */
gtk_drag_dest_set (image, GTK_DEST_DEFAULT_ALL,
NULL, GDK_ACTION_COPY);
gtk_drag_dest_add_image_targets (image);
g_signal_connect (image, "drag-data-received",
/* accept drops on ebox */
gtk_drag_dest_set (ebox, GTK_DEST_DEFAULT_ALL,
NULL, 0, GDK_ACTION_COPY);
gtk_drag_dest_add_image_targets (ebox);
g_signal_connect (ebox, "drag_data_received",
G_CALLBACK (drag_data_received), image);
/* context menu on image */
gesture = gtk_gesture_multi_press_new (image);
gtk_gesture_single_set_button (GTK_GESTURE_SINGLE (gesture), GDK_BUTTON_SECONDARY);
g_object_set_data_full (G_OBJECT (image), "gesture", gesture, g_object_unref);
g_signal_connect (gesture, "pressed", G_CALLBACK (pressed_cb), image);
/* context menu on ebox */
g_signal_connect (ebox, "button_press_event",
G_CALLBACK (button_press), image);
/* Create the second image */
image = gtk_image_new_from_icon_name ("process-stop");
gtk_container_add (GTK_CONTAINER (hbox), image);
image = gtk_image_new_from_stock (GTK_STOCK_STOP,
GTK_ICON_SIZE_BUTTON);
ebox = gtk_event_box_new ();
gtk_container_add (GTK_CONTAINER (ebox), image);
gtk_container_add (GTK_CONTAINER (hbox), ebox);
/* make image a drag source */
gtk_drag_source_set (image, GDK_BUTTON1_MASK, NULL, GDK_ACTION_COPY);
gtk_drag_source_add_image_targets (image);
g_signal_connect (image, "drag-begin",
/* make ebox a drag source */
gtk_drag_source_set (ebox, GDK_BUTTON1_MASK, NULL, 0, GDK_ACTION_COPY);
gtk_drag_source_add_image_targets (ebox);
g_signal_connect (ebox, "drag_begin",
G_CALLBACK (drag_begin), image);
g_signal_connect (image, "drag-data-get",
g_signal_connect (ebox, "drag_data_get",
G_CALLBACK (drag_data_get), image);
/* accept drops on image */
gtk_drag_dest_set (image, GTK_DEST_DEFAULT_ALL,
NULL, GDK_ACTION_COPY);
gtk_drag_dest_add_image_targets (image);
g_signal_connect (image, "drag-data-received",
/* accept drops on ebox */
gtk_drag_dest_set (ebox, GTK_DEST_DEFAULT_ALL,
NULL, 0, GDK_ACTION_COPY);
gtk_drag_dest_add_image_targets (ebox);
g_signal_connect (ebox, "drag_data_received",
G_CALLBACK (drag_data_received), image);
/* context menu on image */
gesture = gtk_gesture_multi_press_new (image);
gtk_gesture_single_set_button (GTK_GESTURE_SINGLE (gesture), GDK_BUTTON_SECONDARY);
g_object_set_data_full (G_OBJECT (image), "gesture", gesture, g_object_unref);
g_signal_connect (gesture, "pressed", G_CALLBACK (pressed_cb), image);
/* context menu on ebox */
g_signal_connect (ebox, "button_press_event",
G_CALLBACK (button_press), image);
/* tell the clipboard manager to make the data persistent */
clipboard = gtk_clipboard_get (GDK_SELECTION_CLIPBOARD);
gtk_clipboard_set_can_store (clipboard, NULL, 0);
}
if (!gtk_widget_get_visible (window))
gtk_widget_show (window);
if (!GTK_WIDGET_VISIBLE (window))
gtk_widget_show_all (window);
else
gtk_widget_destroy (window);
{
gtk_widget_destroy (window);
window = NULL;
}
return window;
}

Some files were not shown because too many files have changed in this diff Show More