2006-06-21 Matthias Clasen * === Released 2.9.4 === * modules/printbackends/file/gtkprintbackendfile.c: Apply a patch by Christian Persch to support PostScript and PDF output. * gtk/gtkprinteroptionwidget.c (radio_changed_cb): Don't free the value. 2006-06-21 Matthias Clasen Apply a patch by John Palmieri to use buffered io using GIOChannels, clean up error handling and support Cups 1.2 api in the printing code. * acconfig.h: * configure.in: Detect Cups 1.2 * gtk/gtkdebug.h: * gtk/gtkmain.c: Add a printing debug key. * gtk/gtkprintbackend.[hc]: Remove the GError parameter from gtk_print_backend_print_stream, and take a GIOChannel instead of an fd. * gtk/gtkprinter-private.h: * gtk/gtkprinter.c: Replace the fd parameter of _gtk_printer_create_cairo_surface by a GIOChannel. * gtk/gtkprintjob.[hc]: Remove the GError parameter from gtk_print_job_send and make it return void. * gtk/gtkprintoperation-unix.c: * gtk/gtkprintjob.c: Adjust callers, add some debugging support. * modules/printbackends/Makefile.am: Fix DIST_SUBDIRS. * modules/printbackends/cups/Makefile.am: * modules/printbackends/lpr/Makefile.am: Add debug CFLAGS. * modules/printbackends/cups/gtkcupsutils.[hc]: * modules/printbackends/cups/gtkprintbackendcups.c: * modules/printbackends/file/gtkprintbackendfile.c: * modules/printbackends/lpr/gtkprintbackendfile.c: Adapt to the GIOChannel and GError changes, add debug output 2006-06-21 Matthias Clasen * gtk/gtkprinter.c (gtk_enumerate_printers): Remove an unused variable. * NEWS: Updates * gtk/gtktreeview.c (gtk_tree_view_class_init): Fix the registration of the grid-lines property (#345456, Murray Cumming) 2006-06-21 Kristian Rietveld Allocate space for the grid lines when they are enabled. * gtk/gtktreeview.c (gtk_tree_view_bin_expose): make sure the cell area does not overlap with the grid lines, also draw the line for "the next cell" in the last loop iteration, make sure the cursor falls in between the grid lines, (validate_row): request extra space for the grid lines. 2006-06-21 Matthias Clasen * gtk/gtkprintbackend.h: * gtk/gtkprintbackend.c (gtk_print_backend_print_stream): Add an GError parameter. * modules/printbackends/file/gtkprintbackendfile.c (gtk_print_backend_file_print_stream): * modules/printbackends/lpr/gtkprintbackendlpr.c (gtk_print_backend_lpr_print_stream): * modules/printbackends/cups/gtkprintbackendcups.c (gtk_print_backend_cups_print_stream): * gtk/gtkprintjob.c (gtk_print_job_send): Update all callers and implementations. * modules/printbackends/cups/gtkprintbackendcups.c: Remove the GError parameter from cups_request_execute(), and various other cleanups. 2006-06-20 Matthias Clasen * gtk/gtkprintjob.c (gtk_print_job_class_init): Make track-print-status a property. 2006-06-20 Murray Cumming * gtk/gtkprintoperation.c: (gtk_print_operation_class_init): Correctly register the done signal - it sends an enum, not an int. 2006-06-20 Christian Persch * configure.in * gtk/Makefile.am * modules/printbackends/Makefile.am A modules/printbackends/file/.cvsignore A modules/printbackends/file/Makefile.am A modules/printbackends/file/gtkprintbackendfile.c A modules/printbackends/file/gtkprintbackendfile.h R modules/printbackends/pdf/*: Rename "pdf" backend to "file" backend. Step 2 from bug #339592. 2006-06-20 Christian Persch * gtk/gtkprinteroptionwidget.c: (filesave_changed_cb), (alternative_set), (construct_widgets): Convert input to filename encoding and construct an URI from that. * gtk/gtkprintsettings.h: Add OUTPUT_FILE_FORMAT and OUTPUT_URI keys. * modules/printbackends/pdf/gtkprintbackendpdf.c: Use those defines. Step 1 from bug #339592. 2006-06-20 Matthias Clasen * gtk/gtkprintjob.c (gtk_print_job_set_source_file): Add to docs. Fix handling of stock items without icons in action-based ui. (#342458, Callum McKenzie) * gtk/gtkactiongroup.c (gtk_action_group_add_actions_full): Set the stock id even if there is no icon for it. * gtk/gtkaction.c (connect_proxy): * gtk/gtktoolbutton.c (gtk_tool_button_construct_contents): Only construct a stock icon if the stock item has an icon. 2006-06-20 Matthias Clasen * gtk/gtktreeview.c (gtk_tree_view_set_column_drag_info): Better fix. * gtk/gtk.symbols: * gtk/gtkprintsettings.h: * gtk/gtkprintsettings.c: Remove unused print-to-file setting. 2006-06-20 Carlos Garnacho * gtk/gtknotebook.c (gtk_notebook_stop_reorder): unset the pressed button here. (gtk_notebook_grab_notify): stop reorder when the widget becomes shadowed. Fixes bug #335873 2006-06-18 Christian Persch * gtk/gtkdialog.c: (gtk_dialog_class_init): Set default action area spacing to HIG-compliant 6px. Bug #345106, follow-up from bug #163850. 2006-06-20 Matthias Clasen * gtk/gtkiconview.c (gtk_icon_view_enable_model_drag_dest): Small doc fix. (#345176, Claudio Saavedra) * gdk/x11/gdkwindow-x11.c (gdk_window_set_functions): Update the docs. (#345194, Yevgen Muntyan) 2006-06-19 Matthias Clasen * gtk/gtktreeview.c (gtk_tree_view_set_grid_lines): Don't leak dash_list. (gtk_tree_view_set_column_drag_info): Don't crash if the column_drop_func says always no. (#344850, Christian Weiske) Make transparent tray icons work. (#320034, based on a patch by Dan Winship) * gtk/gtktrayicon-x11.c (gtk_tray_icon_init): Make trayicons app-paintable and non-double buffered. * gtk/gtkrc.c (_gtk_rc_init): Give tray icons a parent-relative background in the default style. 2006-06-19 Matthias Clasen * gtk/updateiconcache.c: Marks strings for translation. (#314278, Claudio Saavedra) * gtk/gtkentrycompletion.c (gtk_entry_completion_compute_prefix): Don't call g_str_has_prefix on a NULL strung. (#344897, Tommi Komulainen) * gtk/gtkfilechooserdefault.c: Avoid a near-duplicate string and add some translator comments. (#345320, #345321, Hendrik Richter) 2006-06-19 Federico Mena Quintero * gtk/gtkfilechooser.c (gtk_file_chooser_get_current_folder) (gtk_file_chooser_get_current_folder_uri): Clarify the use of these functions, to avoid the case where a chooser is in SELECT_FOLDER mode and people mistakenly use _get_current_folder() to get the selection: they should use _get_filename() instead. 2006-06-19 Alexander Larsson * 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-19 Matthias Clasen * gtk/gtk.symbols: Add new functions * gtk/gtkprinter.h: * gtk/gtkprinter.c (gtk_enumerate_printers): New function to list all printers (#344074, Felipe Heidrich) * gtk/gtkprinter-private.h: * gtk/gtkprinter.c (_gtk_printer_get_options) * gtk/gtkprintbackend.h: Add a capabilities argument to the printer_get_options method and to the _gtk_printer_get_options function * modules/printbackends/lpr/gtkprintbackendlpr.c (lpr_printer_get_options): * modules/printbackends/pdf/gtkprintbackendpdf.c (pdf_printer_get_options): * modules/printbackends/cups/gtkprintbackendcups.c (cups_printer_get_options): * gtk/gtkprintunixdialog.c (selected_printer_changed): Adjust callers and implementations. * gtk/gtkprintjob.h: Add a GENERATE_PS capability. * gtk/gtkprintunixdialog.c (is_printer_active): And use it here. 2006-06-18 Matthias Clasen * tests/testnouiprint.c (main): Don't open a display connection. * gtk/gtkprintbackend.c (gtk_print_backend_load_modules): Make this work without a display connection. (339702, Alexander Larsson) * gtk/gtkwindow.c (gtk_window_move): Small doc addition. (#345275, Behdad Esfahbod) 2006-06-17 Matthias Clasen * modules/printbackends/pdf/gtkprintbackendpdf.c: * modules/printbackends/lpr/gtkprintbackendlpr.c: Fix a typo: s/Extention/Extension/. * gtk/gtkprintunixdialog.c: Clean up the handling of printer-specific options. There is just one extension point on the main tab now, and all options in the GtkPrintDialogExtension group are put there. * gtk/gtkprinteroption.h: * gtk/gtkprinteroption.c: Add GTK_PRINTER_OPTION_TYPE_ALTERNATIVE which is semantically the same as PICKONE, but is intended to show all options all the time. * gtk/gtkprinteroptionwidget.c: Implement ALTERNATIVE as radio group. 2006-06-16 Matthias Clasen * modules/printbackends/cups/gtkprintbackendcups.c: * modules/printbackends/lpr/gtkprintbackendlpr.c: Use a stock icon for printers. * gtk/gtkprintunixdialog.c (add_option_to_table): Don't grow additional columns. * gtk/gtkprintbackend.h: Add a GtkPrintSettings parameter to the printer_create_cairo_surface method. * modules/printbackends/pdf/gtkprintbackendpdf.c: * modules/printbackends/cups/gtkprintbackendcups.c: * modules/printbackends/lpr/gtkprintbackendlpr.c: * gtk/gtkprinter.c (_gtk_printer_create_cairo_surface): * gtk/gtkprinter-private.h: * gtk/gtkprintjob.c (gtk_print_job_get_surface): Adapt all users. * gtk/gtkentrycompletion.c (gtk_entry_completion_finalize): Don't leak match data. (#345107, Christian Weiske) * gtk/gtkprintunixdialog.c (populate_dialog): Move the conflict label out of the button box. (#339456, Christian Persch) * gtk/gtksizegroup.c (compute_dimension): Ignore unmapped widgets when ignore_hidden is TRUE. (#344707, Christian Persch) * configure.in: Require cvs glib. * gtk/gtkprintoperation-unix.c: (_gtk_print_operation_platform_backend_create_preview_surface): Don't use a temporary directory for preview files, since it is not clear who cleans it up. Instead, use g_mkstemp() directly to create a temp pdf file, and make the preview app responsible for cleaning it up. * gtk/gtkprintbackend.c: Move the registration of the gtk-print-preview-command setting from gtkprintbackend.c to gtkprintoperation-unix.c, to make sure it is registered before the first use. Also, document the two settings. * tests/print-editor.c: Add a "Preview" menu item. * gtk/gtkprintoperation-unix.c (handle_print_response): When starting a preview from the print dialog, set the action to PREVIEW. * gtk/gtkprintoperation.c: Cosmetic changes. 2006-06-16 Matthias Clasens * gtk/gtkprintoperation-unix.c: Mark the preview filename as translatable (#345093, Christian Persch) Fri Jun 16 11:49:53 2006 Tim Janik * fixed #337882 by applying patches from Tommi Komulainen: * gtk/gtkprogressbar.c: (gtk_progress_bar_paint_activity): (gtk_progress_bar_get_activity): Move activity bar offset and size calculations to separate function. (gtk_progress_bar_paint_text): Allow caller to specify offset for the prelight part in addition to width. (gtk_progress_bar_paint): Paint the text also in activity mode, #337882. * gtk/gtkprogressbar.c: (gtk_progress_bar_paint_text): Paint the prelighted text on top of the normal rather than side by side, to simplify painting text in activity mode. 2006-06-16 Matthias Clasen * modules/printbackends/cups/gtkprintbackendcups.c: Include gtkprinter-private.h (#345038, Christian Persch) 2006-06-15 Matthias Clasen * modules/printbackends/pdf/gtkprintbackendpdf.c: Use the stock floppy icon. * gtk/gtkprintoperation-unix.c: Set the GENERATE_PDF capability when creating a print dialog. (noted by Yevgen Muntyan) 2006-06-15 Carlos Garnacho * gtk/gtknotebook.c (gtk_notebook_motion_notify): use gdk_window_get_pointer() to get pointer coordinates, but limit its calls to a maximum of 45 times per second for not being too CPU/network abusive. stop drag operation if (event->state & GDK_BUTTON1_MASK) is FALSE to prevent tabs from "adhering" to the pointer. Fixes bug #341571 (gtk_notebook_calculate_tabs_allocation), (gtk_notebook_button_press): get rid of the "tab jumps to pointer" sensation when beginning a drag by using the pointer offset in the tab when the drag begins as an anchor. (gtk_notebook_redraw_tabs_union): remove, it wasn't worth the little performance gain and could draw artifacts under some circumstances. (gtk_notebook_drag_end): do not reparent the detached tab label until the animation has ended. 2006-06-15 Bastien Nocera * configure.in: Update the Cairo requirements (#345008) 2006-06-15 Matthias Clasen * gtk/gtkprintoperationpreview.c (gtk_print_operation_preview_base_init): Fix errors in the signal definitions. (#344891, Marko Anastasov) 2006-06-14 Michael Emmel * configure.in: updated mininum dfb to 0.9.24 * gdk/directfb/gdkdirectfb.h: added more directfb wrapper functions * gdk/directfb/gdkdrawable-directfb.c: wrapper functions and patch from Claudio Ciccani to use a subsurface for cairo * gdk/directfb/gdkvisual-directfb.c: changed initalization sequence * gdk/directfb/gdkwindow-directfb.c: corrected reparent for toplevels * gdk/directfb/gdkdisplay-directfb.c: changed initilization sequence to a more rational order 2006-06-14 Federico Mena Quintero * perf/gtkwidgetprofiler.c (gtk_widget_profiler_profile_expose): New function; it lets us time the expose sequence of a widget. (create_widget): New helper function. (map_widget): New helper function. (profile_boot): Use create_widget() instead of doing it by hand. (profile_map_expose): Use map_widget() instead of doing it by hand. * perf/main.c (main): Call gtk_widget_profiler_profile_expose() as well. 2006-06-14 Matthias Clasen * gtk/gtkpagesetupunixdialog.c: Use GKeyFile for the custom filename storage. (#344867, Christian Persch) * gtk/gtkselection.c: Call init_atoms before using atoms in several functions. (#344743, John Finlay) * gtk/gtktreeview.c (gtk_tree_view_set_search_position+_func): Allow NULL to reset to default. (#344838, John Finlay) * gtk/gtkprintjob.h: Collect booleans into a bitfield (#344765, Christian Persch) 2006-06-13 Matthias Clasen * configure.in: Bump version