2007-03-15 Emmanuele Bassi <ebassi@gnome.org>
* gtk/gtkaction.[ch]: Add GtkActionClass::get_submenu() vfunc:
actions providing a menu item or a menu tool button with already
a submenu should return the GtkMenu widget.
* gtk/gtkuimanager.c (update_node): If an action provides its
own submenu, use it instead of adding an empty one
* gtk/gtkrecentaction.[ch]: Add GtkRecentAction, an action
implementing the GtkRecentChooser interface for displaying the
list of recently used files into menus and toolbars generated
using GtkUIManager. (#338843)
* gtk/Makefile.am:
* gtk/gtk.h:
* gtk/gtk.symbols: Add GtkRecentAction API to the build.
* tests/testactions.c: Exercise the GtkRecentAction API.
svn path=/trunk/; revision=17524
2007-02-06 Kristian Rietveld <kris@imendio.com>
New tooltips API.
* gtk/Makefile.am
* gtk/gtk.h
* gtk/gtk.symbols: build system foo.
* gtk/gtkmain.c (gtk_main_do_event): call tooltip event handler
hook for appropriate events.
* gtk/gtkmarshalers.list: add BOOLEAN:INT,INT,BOOLEAN,OBJECT.
* gtk/gtkrc.c: add style for gtk-tooltip.
* gtk/gtksettings.c (gtk_settings_class_init): make the
different tooltip timeouts configurable.
* gtk/gtkwidget.[ch]: add new properties, signals, make sure
tooltips are hidden on unmap, destroy, update window event
mask on realize, hook into focus change and show help
handlers.
* gtk/gtkwindow.h: move GtkWindow typdef to gtkwidget.h ...
* gtk/gtktooltip.[ch]: new files.
* tests/Makefile.am
* tests/testtooltips.c: add test application.
svn path=/trunk/; revision=17264
2006-12-29 Matthias Clasen <mclasen@redhat.com>
* gtk/gtk.symbols:
* gtk/gtkcelllayout.[hc] (gtk_cell_layout_get_cells):
New function to get the cell renderers of a cell layout.
* gtk/gtktreeviewcolumn.c:
* gtk/gtkcellview.c:
* gtk/gtkiconview.c: Implement get_cells.
2006-12-27 Tor Lillqvist <tml@novell.com>
* gtk/gtk.symbols: Add gtk_status_icon_get_screen and
gtk_status_icon_set_screen.
* 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)
Implement getting the orientation property on Windows.
(gtk_status_icon_embedded_changed)
(gtk_status_icon_orientation_changed): Ifdefify these functions
that are used only on X11.
2006-11-16 Michael Natterer <mitch@imendio.com>
Add new infrastructure for notifications of failed keyboard
navigation and navigation with restricted set of keys.
The patch handles configurable beeping, navigating the GUI with
cursor keys only (as in phone environments), and configurable
wrap-around. Fixes bugs #322640, #70986, #318827, #334726, #334742
and #309291.
* gtk/gtksettings.c: added properties gtk-keynav-cursor-only,
gtk-keynav-wrap-around and gtk-error-bell.
* gtk/gtkwidget.[ch]: added new signal "keynav-failed" and public
API to emit it. Added New function gtk_widget_error_bell() which
looks at the gtk-error-bell setting and calls gdk_window_beep()
accordingly.
* gtk/gtk.symbols: add the new widget symbols.
* gtk/gtkcellrendereraccel.c
* gtk/gtkimcontextsimple.c
* gtk/gtkmenu.c
* gtk/gtknotebook.c: use gtk_widget_error_bell() or look at the
gtk-error-bell setting instead of calling gdk_display_beep()
unconditionally.
* gtk/gtkcombobox.c
* gtk/gtkentry.c
* gtk/gtkiconview.c
* gtk/gtklabel.c
* gtk/gtkmenushell.c
* gtk/gtkspinbutton.c
* gtk/gtktextview.c
* gtk/gtktreeview.c: call gtk_widget_error_bell() on failed keynav.
* gtk/gtkentry.c
* gtk/gtklabel.c
* gtk/gtkrange.c
* gtk/gtktextview.c: consult gtk_widget_keynav_failed() on failed
cursor navigation and leave the widget if it returns FALSE.
* gtk/gtkmenushell.c
* gtk/gtknotebook.c: only wrap around if gtk-keynav-wrap-around
is TRUE.
* gtk/gtkradiobutton.c: ask gtk_widget_keynav_failed() to decide
whether to to wrap-around, and don't select active items on cursor
navigation if gtk-keynav-cursor-only is TRUE. Should look at
gtk-keynav-wrap-around too, will look into that.
2006-11-15 Michael Natterer <mitch@imendio.com>
* gtk/gtkrange.[ch]: added properties "fill-level",
"show-fill-level" and "restrict-to-fill-level" and getters/setters
for them. The "fill level" is an additional marker on the range's
trough than can be e.g. used to indicate the amount of
pre-buffering in a range showing the play position of streamed
media. See the embedded API docs for details. Made GtkRangeLayout
a GTypeInstance private struct and removed finalize()
implementation. Fixes bug #349808
* gtk/gtk.symbols: added the new symbols.
2006-10-05 Michael Natterer <mitch@imendio.com>
* gtk/gtkrc.[ch]: added new scanner token "unbind" which gets
rid of a key binding (in fact, it only lets it appear unbound).
* gtk/gtkbindings.[ch] (struct GtkBindingEntry): added
"guint marks_unbound : 1"
(gtk_binding_entry_skip): new API which marks the entry as unbound.
Changed code so it returns FALSE when "marks_unbound == TRUE" is
encountered while activating bindings, effectively letting the
binding appear unbound (regardless of still existing bindings in
lower binding priority levels). Fixes bug #358329.
(gtk_binding_entry_add)
(gtk_binding_entry_clear)
(gtk_binding_entry_add_signall)
(gtk_binding_parse_binding): deprected these functions.
(_gtk_binding_parse_binding)
(_gtk_binding_entry_add_signall): new internal API.
* gtk/gtk.symbols: changed accordingly.
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-06-19 Alexander Larsson <alexl@redhat.com>
* gtk/gtk.symbols:
* gtk/gtklabel.[ch]:
Add gtk_label_set_line_wrap_mode, gtk_label_get_line_wrap_mode, and
a wrap-mode property that lets you set the PangoWrapMode.
2006-06-12 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkprintunixdialog.c (is_printer_active): Use
gtk_printer_accepts_ps here.
* modules/printbackends/pdf/gtkprintbackendpdf.c (gtk_print_backend_pdf_init):
Mark the virtual "Print to PDF" printer as not accepting PS.
* gtk/gtk.symbols:
* gtk/gtkprinter.h:
* gtk/gtkprinter.c: Add two new properties accepts-pdf and
accepts-ps (with getters) to allow learning supported formats.
2006-06-07 Alexander Larsson <alexl@redhat.com>
* gtk/gtk.symbols:
* gtk/gtkprintoperation-private.h:
* gtk/gtkprintoperation-unix.c:
* gtk/gtkprintoperation.[ch]:
Clean up APIs:
Make async a setting instead of separate calls.
Combine settings like show_dialog, show_preview and pdf_target into
an action enum that you pass to gtk_print_dialog_run().
* tests/print-editor.c:
* tests/testnouiprint.c:
* tests/testprint.c:
* demos/gtk-demo/printing.c:
Update to new APIs
2006-05-30 Matthias Clasen <mclasen@redhat.com>
* gtk/gtk.symbols:
* gtk/gtkbutton.h:
* gtk/gtkbutton.c: Add a GtkButton::image-position property
with getter and setter, to allow constructing buttons with
the image stacked on top of the label. (#342930, Johan Dahlin)
2006-05-24 Alexander Larsson <alexl@redhat.com>
* gtk/gtk.symbols:
* gtk/gtkprintunixdialog.[ch]:
Add gtk_print_unix_dialog_set_manual_capabilities that controls
what widgets to enable in the dialog depending on the apps
capabilities.
* gtk/gtkprintbackend.[ch]:
* gtk/gtkprinter-private.h:
* gtk/gtkprinter.c:
* gtk/gtkprintjob.h:
Add printer_get_capabilities to backend.
Move some fallback calls to the printbackend base class.
* gtk/gtkprintoperation-unix.c:
Set manual capabilities
* modules/printbackends/cups/gtkprintbackendcups.c:
Implement get_capabilities
* modules/printbackends/lpr/gtkprintbackendlpr.c:
* modules/printbackends/pdf/gtkprintbackendpdf.c:
Move some methods to baseclass.
2006-05-23 Matthias Clasen <mclasen@redhat.com>
* gtk/gtk.symbols:
* gtk/gtkprintoperation.h:
* gtk/gtkprintoperation.c: Add a boolean show-progress
property, and show a progress dialog if it is set to TRUE.
* gtk/gtkprintoperation.c (pdf_end_run):
* gtk/gtkprintoperation-win32.c (win32_end_run):
* gtk/gtkprintoperation-unix.c (unix_end_run):
* gtk/gtkprintoperation-private.h: Add a cancelled
parameter to end_run, and call it even if the print
operation was cancelled.
2006-05-23 Alexander Larsson <alexl@redhat.com>
* gtk/gtk.symbols:
* gtk/gtkprintunixdialog.[ch]:
Add gtk_print_unix_dialog_add_custom_tab
* gtk/gtkprintoperation-unix.c:
Implement custom widgets for unix.
Fix some warnings by including cairo-ps/pdf.h
* gtk/gtkprintoperation-win32.c:
Mark string for translation.
2006-05-19 Matthias Clasen <mclasen@redhat.com>
* gtk/gtk.symbols:
* gtk/gtkprintoperation.h:
* gtk/gtkprintoperation.c (gtk_print_operation_cancel): New function
to cancel a running print operation.
* gtk/gtkprintoperation-private.h (struct _GtkPrintOperationPrivate):
Add a cancelled flag, use g types, use bitfields.
* gtk/gtkprintoperation.c (print_pages): Clean up after the idle
in the synchronous case.
2006-05-15 Alexander Larsson <alexl@redhat.com>
* gtk/gtk.symbols:
* gtk/gtkprintbackend.[ch]: (_gtk_print_backend_create):
Never unload print backends.
Remove gtk_print_backend_unref_at_idle.
* modules/printbackends/cups/gtkprintbackendcups.c:
(cups_dispatch_watch_finalize):
Don't use the unref_at_idle hack since that caused
deadlocks. Instead we never unload print backends, which
is not really a big problem.
2006-05-12 Alexander Larsson <alexl@redhat.com>
* gtk/gtkrecentmanager.c:
Fix build errors.
* gtk/gtk.symbols:
* demos/gtk-demo/printing.c:
* gtk/gtkprintoperation-win32.c:
* gtk/gtkprintoperation.[ch]:
* gtk/gtkprintsettings.[ch]:
* modules/printbackends/cups/gtkprintbackendcups.c:
* modules/printbackends/lpr/gtkprintbackendlpr.c:
* modules/printbackends/pdf/gtkprintbackendpdf.c:
* tests/print-editor.c:
* tests/testnouiprint.c:
* tests/testprint.c:
* tests/testprintfileoperation.c:
Rename functions from nr_of_pages to n_pages, and num_copies to
n_copies to match other gtk+ names.
* gtk/gtkmenu.c: (gtk_menu_popdown):
Only re-set window group on popdown if we set it on popup (i.e.
if there is a parent menu shell).
Fixed part of bug #340401
* gtk/gtkwindow.c:
Add (contruct) property "transient-for" to GtkWindow. This
is needed for the fix to bug #340401.
* gtk/gtkprintunixdialog.c:
Use the transient-for property on construction and populate the dialog
with widgets after that. This fixes bug #340401.
More n_pages renames.
2006-05-04 Alexander Larsson <alexl@redhat.com>
* gtk/gtk.symbols:
Added new symbols
* gtk/gtkpagesetupunixdialog.c:
* gtk/gtkprintunixdialog.c:
Destroy backends when finalizing dialogs.
Fix printer leak in selected_printer_changed.
* gtk/gtkprintbackend.[ch]:
Convert from interface to baseclass.
Move printer hashtable here so that the baseclass can handle
the slightly complicated ownership model.
Add gtk_print_backend_destroy which runs the dispose method,
causing the ref-cycles between the backend and its printers
to be broken.
Add gtk_print_backend_unref_at_idle().
* gtk/gtkprinter.[ch]:
GtkPrinter objects now ref their backend so that its always
availible, since its needed for the printer object to work.
This causes a reference-cycle that is broken using
gtk_print_backend_destroy.
Add gtk_printer_compare.
* gtk/gtkprintoperation-private.h:
* gtk/gtkprintoperation-unix.c:
* gtk/gtkprintoperation.c:
Implement !show_dialog for unix.
Make sure the print data is fully spooled before returning
from a sync run_dialog.
* modules/printbackends/cups/gtkcupsutils.[ch]:
Add gtk_cups_request_ipp_add_strings
* modules/printbackends/cups/gtkprintbackendcups.c:
* modules/printbackends/cups/gtkprintercups.c:
* modules/printbackends/lpr/gtkprintbackendlpr.c:
* modules/printbackends/pdf/gtkprintbackendpdf.c:
Convert backends to derive instead of implementing interface.
Move common code into baseclass.
CUPS:
Remove the printer polling in dispose, not finalize.
In the cups watch, remove the backend at idle instead of
immediately, since the unref can cause the module to be unloaded.
Limit the number of printer attributes requested
Get printer uri in initial printer listing so that we can use
the printer object immediately.
* tests/Makefile.am:
* tests/testnouiprint.c:
Add testcase for !show_dialog.
2006-04-29 Matthias Clasen <mclasen@redhat.com>
* gtk/gtk.symbols:
* gtk/gtkstatusicon.h:
* gtk/gtkstatusicon.c (gtk_status_icon_position_menu): Add a menu
position function for use with popups on status icons. (#334573,
Christian Persch)
2006-04-24 Matthias Clasen <mclasen@redhat.com>
* gtk/gtk.symbols:
* gtk/gtkprintoperation.c (gtk_print_operation_run_async): Refactor the
gtk_print_operation_run() code and add an _async version.
* gtk/gtkprintoperation-private.h:
* gtk/gtkprintoperation-unix.c
(_gtk_print_operation_platform_backend_run_dialog_async)
(gtk_print_run_page_setup_dialog_async): Variants of the run functions
which don't call gtk_dialog_run(), but only show the dialog and return,
and handle the response in a signal handler.
* gtk/gtkprintoperation-win32.c (gtk_print_run_page_setup_dialog_async)
(_gtk_print_operation_platform_backend_run_dialog_async): Implement these
by calling the sync versions.
2006-03-29 Emmanuele Bassi <ebassi@cvs.gnome.org>
Import GtkRecent* from libegg.
* gtk/gtkrecentmanager.[ch]: Add GtkRecentManager, an object
for managing a list of recently used resources.
* gtk/gtkrecentchooser.[ch]:
* gtk/gtkrecentchooserdefault.[ch]:
* gtk/gtkrecentchooserdialog.[ch]:
* gtk/gtkrecentchoosermenu.[ch]:
* gtk/gtkrecentchooserprivate.h:
* gtk/gtkrecentchooserutils.[ch]:
* gtk/gtkrecentchooserwidget.[ch]: Add GtkRecentChooser, a
GTypeInterface for widgets implementing viewers for recently
used resources.
* gtk/gtkrecentfilter.[ch]: GtkRecentFilter, a filter object
for GtkRecentChooser implementations.
* gtk/gtk.h:
* gtk/gtk.symbols:
* gtk/Makefile.am: Build glue for GtkRecent*.
2006-03-22 Matthias Clasen <mclasen@redhat.com>
Improved DND support for GtkNotebook (#332991, Carlos Garnacho)
* gtk/gtk.symbols:
* gtk/gtkdnd.h:
* gtk/gtkdnd.c: Add a track_motion flag on GtkDragDest
with getter and setter, for cases where the drag destination
is interested in drag motion events independent of targets.
* gtk/gtksettings.c (gtk_settings_class_init): Add a setting
for the timeout used when expanding during DND.
* gtk/gtknotebook.c: Use the track_motion flag to switch
notebook tabs when hovering over tabs during DND.
2006-03-22 Matthias Clasen <mclasen@redhat.com>
* gtk/gtk.symbols:
* gtk/gtkcellrendererspin.h:
* gtk/gtkcellrendererspin.c: Add a cell renderer which
uses a spinbutton to edit the value of a cell. (#156023,
Daniel Kasak, Lorenzo Gil Sanchez, Carlos Garnacho)
* gtk/gtk.h:
* gtk/Makefile.am: Glue it in.