2005-06-15 Matthias Clasen * === Released 2.6.8 === 2005-06-15 Matthias Clasen * NEWS: More updates, move bug numbers to my separate list of bugs, which will get merged into the announcement. For 2.8.0, I will try a somewhat different style for the NEWS, and list bugs and contributors separately from features. 2005-06-14 Federico Mena Quintero * NEWS: Fill in with GtkFileChooser bugs. 2005-06-14 Federico Mena Quintero Fix #302087: * gtk/gtkfilechooserdefault.c (list_selection_changed): Emit "selection-changed" and do the normal housekeeping even if we are in SAVE mode and there is nothing selected. We didn't emit that signal if we were in SAVE mode and unselect_all() got called. (gtk_file_chooser_default_unselect_all): Call pending_select_paths_free() so that we cancel any asynchronous selections. (gtk_file_chooser_default_set_current_name): Likewise. 2005-06-14 Federico Mena Quintero Fixes #307640: * gtk/gtkfilechooserdefault.c (gtk_file_chooser_default_should_respond): Oops, I broke SAVE mode. If the parent path is a folder, only create a subfolder if we are in CREATE_FOLDER mode; if we are in SAVE mode, just return and respond. Also, pick up the case where the user types "dirname/" instead of "dirname". (check_save_entry): Make the return type void. Add some return parameters so that we can do more thorough checking. (gtk_file_chooser_default_get_paths): If the file part is empty and we are in SAVE mode, return an empty selection. 2005-06-13 Matthias Clasen * gtk/gtkfilechooserbutton.c (model_update_current_folder): Free the data of the row before overwriting it. (#307490, Kjartan Maraas) 2005-06-12 Matthias Clasen * gtk/gtkselection.c (gtk_target_list_add_image_targets): Don't leak the format names. (#307190, Morten Welinder) 2005-06-12 Kjartan Maraas * gdk/x11/gdkasync.c: (send_event_handler): Merge fix for a leak from HEAD. Bug #307281. 2005-06-10 Matthias Clasen * NEWS: Updates 2005-06-09 Federico Mena Quintero Fixes #162358: * gtk/gtkfilechooserdefault.c (update_chooser_entry): Don't return immediately if we are in CREATE_FOLDER mode, so that we can fill the entry with the newly-selected folder. (gtk_file_chooser_default_set_property): Warn against turning on multiple selection for CREATE_FOLDER mode, or about setting that action while multiple selection is on. (update_chooser_entry): Change the entry's contents as well if we are in CREATE_FOLDER mode. If nothing is selected, clear the chooser entry. (trap_activate_cb): Don't trap enter/space if modifiers are pressed. This lets one use Ctrl-space to toggle rows in multiple selection mode. (gtk_file_chooser_default_should_respond): Clean up the if-chain mess of special cases by using an array to determine what to do. Also, for the save-entry case in CREATE_FOLDER mode, actually fix the bug where the file chooser would switch to an existing folder rather than confirming with it, and create the folder ourselves. (error_creating_folder_over_existing_file_dialog): New function. * gtk/gtkfilechooserentry.c (check_completion_callback): Only insert the common prefix if we are in an "open" mode. Use a helper function. (append_common_prefix): New helper function; code moved over from check_completion_callback(). (find_common_prefix): New helper function. (gtk_file_chooser_entry_focus): Append the common prefix if the user requests it explicitly. 2005-06-09 Matthias Clasen * gdk/x11/gdkdnd-x11.c (motif_drop_start, xdnd_drop_filter): Update the user time on the window when a drop happens. (#169364, Alexander Hunziker, patch by Elijah Newren) 2005-06-08 Matthias Clasen * gtk/gtktreemodel.c (gtk_tree_path_new_from_string): Check for negative before appending the index, to avoid double error message. (#306393, Morten Welinder) * gtk/gtktreeview.c (gtk_tree_view_real_start_interactive_search): Don't crash if search_window is NULL. (#304914, Victor Osadci, testcase by Olaf Vitters) 2005-06-07 Kjartan Maraas * gtk/gtkfilechooserbutton.c: (update_label_and_image): Plug a leak. Closes bug #306754. 2005-06-03 Dom Lachowicz Merge from HEAD: * modules/engines/ms-windows/msw_style.c: Re-sync with gtk-wimp * modules/engines/ms-windows/xp_theme.c: Ditto * modules/engines/ms-windows/Theme/gtk-2.0/gtkrc: Ditto 2005-06-05 Tor Lillqvist * modules/engines/Makefile.am * modules/input/Makefile.am: Decide whether to build the ms-windows theme engine based on the GDK backend, not based on platform. (I.e., if building for Cygwin with the X11 backend, we shouldn't build the ms-windows engine, but if building for Cygwin but with the Win32 backend, we should.) Ditto for the IME (Windows) input module. (#305832) 2005-06-04 Tor Lillqvist * gdk/win32/gdkcursor-win32.c * gdk/win32/gdkwindow-win32.c * gdk/win32/gdkprivate-win32.h: Support full-colour cursors. Support cursors with alpha on XP. Use code in common with the support for alpha icons that already was present. (#306101, Tim Evans) * modules/engines/ms-windows/msw_style.c: Render insensitive icons in a way that more closely matches Windows. (#305986, Tim Evans). * modules/engines/ms-windows/Makefile.am (LDADDS): Link with gdk-pixbuf. 2005-05-26 Matthias Clasen * gtk/gtktextbtree.c (_gtk_text_btree_tag): Queue the redisplay after modifying the tag in the btree, otherwise we end up showing the old tags until the next redraw comes around. (#143537, Gary Kramlich, Peter Wainwright) * gtk/gtkcombobox.c (gtk_combo_box_list_auto_scroll): Make autoscrolling work at the bottom of the screen. 2005-05-26 Maciej Katafiasz * docs/reference/gtk/tmpl/gtkentry.sgml: Point to GtkTextView instead of GtkText. Fixes bug #305535 2005-05-26 Tor Lillqvist * gdk/win32/gdkdrawable-win32.c (_gdk_win32_blit): If blitting from the root window, take the multi-monitor offset into account. (#305511) 2005-05-25 Matthias Clasen * demos/gtk-demo/clipboard.c: Demonstrate image copy-and-paste and drag-and-drop. * demos/gtk-demo/appwindow.c (do_appwindow): Set the window icon by name. * gtk/gtktreeview.c (gtk_tree_view_bin_expose): Draw the background of rows insensitive when the treeview is insensitive. (pointed out by Billy Biggs) * gtk/gtkselection.c (gtk_target_list_add_image_targets): Make sure png comes first, otherwise dnd may use bmp by default, loosing transparency. 2005-05-25 Michael Natterer * gtk/gtktextview.c (blink_cb): block the text_layout's "changed" handler when changing cursor visibility because it would expose the whole paragraph where the cursor is. Instead, expose the cursors' areas manually. (#173047). (text_window_invalidate_cursors): new function which exposes the cursors. * gtk/gtkstyle.c (draw_insertion_cursor): added comment that the same cursor size calculation is in text_window_invalidate_cursors(). 2005-05-25 Matthias Clasen * demos/gtk-demo/editable_cells.c (create_items_model): Also demonstrate GtkCellRendererProgress. * demos/gtk-demo/Makefile.am (demos): * demos/gtk-demo/combobox.c: Add a demo showing combo box variations. * demos/gtk-demo/Makefile.am (demos): * demos/gtk-demo/pickers.c: Add a demo showing all picker widgets. 2005-05-23 Matthias Clasen * gtk/gtkfilechooserdefault.c (gtk_file_chooser_default_init): Revert an accidental commit. * gtk/gtkfilechooserdefault.c (filter_create): Don't grab the focus away from the file list when operating the filter combo with the pointer. (#304844, Sven Neumann) 2005-05-23 Tor Lillqvist * gdk/win32/gdkkeys-win32.c (handle_special): Map VK_APPS to GDK_Menu. (#172383, Ivan Wong) * gdk/win32/gdkkeys-win32.c (handle_dead): If the keysym isn't one of the special cases this function takes care of, use it as such. This takes care of for instance the Bengali Virama, see bug #165723. 2005-05-20 Matthias Clasen * gtk/gtkimcontextsimple.c (check_table): Avoid a possible buffer overrun. (#142444, Leonard Michlmayr) 2005-05-18 Matthias Clasen * gtk/gtkfilechooser.c (gtk_file_chooser_remove_shortcut_folder_uri): Use the correct function to conver the uri to a path. (#304565, Ismael Juma) * gtk/gtkfilechooserbutton.c (dialog_response_cb): Handle the Cancel button properly. (#304234, Sven Neumann) * gtk/gtkwidget.c (gtk_widget_add_events): Try harder to set the event masks of descendent windows. (#169821, Tommi Komulainen) 2005-05-18 Matthias Clasen * gdk/x11/gdkproperty-x11.c (gdk_property_get): Warn if length overflows. (#161520, Ian Wienand) 2005-05-18 Tor Lillqvist * gdk/win32/gdkevents-win32.c * gdk/win32/gdkkeys-win32.c * gdk/win32/gdkprivate-win32.h: Check the KF_EXTENDED bit in lParam of WM_KEY* messages to distinguish between left and right Control and Alt keys. Unfortunately, the right Shift key doesnt set KF_EXTENDED, so to distinguish between left and right Shift keys, check the scan code. (#304584) 2005-05-18 Matthias Clasen * gtk/gtkscale.c (gtk_scale_class_init): Fix the default values of draw-value and value-pos to be the values we actually use in _init. (#304547, Mikael Hallendal) 2005-05-17 Matthias Clasen * gtk/gtktextview.c (cursor_blinks): Don't blink the cursor if the text view is not editable. * gtk/gtkcombobox.c (gtk_combo_box_list_button_released): Keep the popup posted if the button is released over the cellview. This matches the behaviour of other combo box implementations. (#171378) 2005-05-16 Matthias Clasen * gtk/gtkscale.c (gtk_scale_class_init): Don't bind GDK_Page_Up and GDK_Page_Down twice. (#168333, Hazael Maldonado Torres) 2005-05-16 Matthias Clasen * gtk/gtkentry.c (cursor_blinks): Don't blink the cursor if the entry is not editable. (#304171,Nikos Kouremenos) 2005-05-16 Matthias Clasen * gtk/gtkfilechooserbutton.c (gtk_file_chooser_button_constructor): Make sure the action of the button and the dialog are in sync, when the dialog is provided by the app. (#303987, David A Knight) 2005-05-16 Matthias Clasen * gdk/gdkpango.c (gdk_pango_renderer_get_default): Fix a typo in the docs. (#303940, Masao Mutoh) 2005-05-16 Matthias Clasen * gtk/gtktoggleaction.c (connect_proxy): Be more careful when casting. (#304089, Philip Langdale) * gtk/gtkstatusbar.c (gtk_statusbar_size_allocate): Only shrink the label if we need to. (#169390, Felix Riemann) 2005-05-10 Tor Lillqvist * gdk/win32/gdkproperty-win32.c (gdk_screen_get_setting): Check that GDK_IS_SCREEN(screen) (like the X11 backend does), not screen == gdk_screen_get_default(), as that might return NULL when this function is called. 2005-05-09 Matthias Clasen * gtk/gtkalignment.c (gtk_alignment_size_allocate): Flip the padding in RTL mode. (#303572, Maciej Katafiasz) 2005-05-07 Matthias Clasen * gdk/x11/gdkscreen-x11.c (gdk_screen_get_width_mm) (gdk_screen_get_height_mm): Fix typos in the docs. (#303389, Masao Mutoh) 2005-05-06 Federico Mena Quintero * gtk/gtkfilesystemunix.c (fill_in_mime_type): Don't fill the mime types if this is an AFS directory. (fill_in_names): If we are in an AFS directory, set the MIME type blindly to "x-directory/normal". 2005-05-06 Matthias Clasen * gtk/gtknotebook.c (gtk_notebook_insert_page_menu): Always initialize child-visible to FALSE, otherwise we may end up with the wrong page visible initially. (#302283, Patrik Fimml) * gtk/gtktreeview.c (gtk_tree_view_draw_arrow): Make expanders appear insensitive in insensitive treeviews. 2005-05-04 Owen Taylor * gdk/x11/gdkevents-x11.c gdk/x11/gdkwindow-x11.h: Fix a bug in focus tracking when we move between has_pointer_focus and has_focus_window directly. (#109246, Billy Biggs, Niko Tyni and others) * gdk/x11/gdkevents-x11.c: Also fix some extremely confusion that could happen in the case of no window manager + keyboard grabs, by moving to a more consistent model of when we pay attention to mode=NotifyGrab/NotifyUngrab events. 2005-05-02 Federico Mena Quintero * tests/testfilechooser.c: Oops, remove mtrace() stuff. Fixes #301068: * gtk/gtkfilesystemunix.c (struct _GtkFileSystemUnix): Add fields to store struct stat for /afs and /net, and boolean fields to say whether these are valid. (struct _GtkFileFolderUnix): Added a boolean is_network_dir field. (gtk_file_system_unix_get_folder): Fill in the is_network_dir field of the folder structure. (fill_in_names): If the folder is a network directory, create a fake struct stat for its entries. (fill_in_stats): Don't stat() the children of network directories. * gtk/gtkfilechooserdefault.c (list_mtime_data_func): If the mtime is 0, use "Unknown" for the cell's displayed text. 2005-05-02 Michael Natterer * gtk/gtkmain.c (do_post_parse_initialization): return silently if "gtk_initialized" is TRUE. Re-enables calling GTK's init functions multiple times when using gtk_get_option_group(), just as one can call gtk_init() multiple times without doing any harm. 2005-05-01 Matthias Clasen * gtk/gtktextview.c (gtk_text_view_expose_event): Propagate the event to unanchored children in the text window. (#302494, Stephen Kennedy) 2005-04-30 Tor Lillqvist * gdk/win32/gdkdnd-win32.c (gdk_dropfiles_filter): Take multi-monitor offset into account. (#302525) 2005-04-29 Matthias Clasen * gtk/gtkiconview.c (gtk_icon_view_map): Get rid of this function, instead show the bin_window when it is created. * gtk/gtkradiobutton.c (gtk_radio_button_focus): Don't grab focus to unrealized widgets. (#302240, Philip Langdale) * gtk/gtktreeview.c (gtk_tree_view_state_changed): Set background upon state changes. (#301651, Billy Biggs) (gtk_tree_view_get_path_at_pos): Take RTL into account when iterating over the columns. (#302163) * configure.in: Check for nm. * gtk/Makefile.am: Use $(NM), not nm directly. (#301299, Nguyen Thai Ngoc Duy) * gtk/gtkiconview.c (gtk_icon_view_move_cursor_start_end): Use the internal unselect_all function, since we need the unselection to happen even in browse mode. (#300995, Mathias Hasselmann) * gtk/gtkuimanager.c (update_node): Use g_object_notify() instead of triggering a ::notify by re-setting the property. (#300982, Sven Neumann) * gtk/gtkaction.c (connect_proxy): Use gtk_action_sync_tooltip(). * gtk/gtkiconview.c (gtk_icon_view_scroll_to_item): Also scroll horizontally when necessary, and keep the northwest corner of the item visible. (#300913, Mathias Hasselmann) * tests/testiconview.c: Add some more tests. * gtk/gtkiconview.c (gtk_icon_view_select_path): Don't crash if the path does not point to a row in the model. (#300909, Mathias Hasselmann) (gtk_icon_view_rows_reordered): Re-layout here. (#301009, Mathias Hasselmann) * tests/testtext.c: Add some more attribute tests. * gtk/gtktexttag.c (gtk_text_tag_class_init): Correct the documentation of the rise property. String change, but it is more important to be correct than to be translated. (#301740) 2005-04-25 Tor Lillqvist * gtk/gtkfilesystemwin32.c (gtk_file_system_win32_volume_get_display_name): Get volume name also on Win9x. (#301798, Daniel Atallah) (canonicalize_filename): Add explicit braces to silence compiler warning. 2005-04-24 Hans Breuer * gtk/stock-icons/makefile.msc : updated 2005-04-22 Tor Lillqvist * gtk/gtkmain.c: Initailize gettext before use. Calling bindtextdomain() and bind_textdomain_codeset() in do_post_parse_initialization() is too late. Put the calls in a new function gettext_initialization(), and call that from gtk_init_with_args() and gtk_parse_args(). Fixes #170948 for GTK+'s part, but the same problem occurs also at least in atk. Thanks to Robert Ă–gren, Daniel Atallah and Kevin Stange. 2005-04-19 Ivan, Wong Yat Cheung * gdk/win32/gdkfont-win32.c (gdk_font_load_internal): Match character height instead of cell height. Fix #301228. 2005-04-18 Federico Mena Quintero * gtk/gtkfilechooserdefault.c (remove_selected_bookmarks): Remove obsolete assertion that the selected row can't be a volume; this is handled by the "removable" column now. Fixes #301017. 2005-04-15 Federico Mena Quintero * gtk/gtkfilechooserdefault.c (pending_select_paths_process): Patch from Christian Neumair ; only select the first row if we are in OPEN mode. The only other case we were letting pass through was SELECT_FOLDER, but selecting the first row when changing folders confuses people when folders are actually being selected. Fixes #171885.