2009-01-22 Federico Mena Quintero <federico@novell.com>
Fix the computation of "complete but unique" in
GtkFileChooserEntry. Fix the case where "/" was not appended to a
unique directory name during explicit Tab completion.
* gtk/gtkfilechooserentry.c (maybe_append_separator_to_file):
Return whether anything was appended as well as the new string
itself.
(find_common_prefix): Oops, only turn on
is_complete_not_unique_ret if we had a unique match!
(append_common_prefix): If we appended a directory separator, we
*did* expand the common prefix, so we are not in the "nothing
inserted" case.
Signed-off-by: Federico Mena Quintero <federico@novell.com>
svn path=/trunk/; revision=22184
(start_explicit_completion): Add comments for translators, to
explain the purpose of the various feedback messages used during
completion.
Signed-off-by: Federico Mena Quintero <federico@novell.com>
svn path=/trunk/; revision=22183
(start_loading_current_folder): Check if the folder to be loaded
is non-native for the local_only=TRUE case; if so, return an error
as we are configured to load only local folders.
(reload_current_folder): Pass on errors from
start_loading_current_folder(). Tighten the preconditions, as we
are sure that we can only receive non-NULL folder-files to load.
(refresh_current_folder_and_file_part): Pass on errors from
reload_current_folder(). At the very end, assert the invariant
described above.
Signed-off-by: Federico Mena Quintero <federico@novell.com>
svn path=/trunk/; revision=22182
(discard_loading_and_current_folder_file): Factor out function to
cancel the cancellable and discard the current_folder_file,
i.e. to reset the invariant to the "nothing valid is loaded" case.
(gtk_file_chooser_entry_dispose): Use
discard_loading_and_current_folder_file().
(reload_current_folder): Likewise.
(refresh_current_folder_and_file_part): Likewise, and ensure that
the error cases result in the invariant being held.
Signed-off-by: Federico Mena Quintero <federico@novell.com>
svn path=/trunk/; revision=22181
(start_autocompletion): Process the result from refresh...(). We
only do completion in the REFRESH_OK case. For the error cases,
we don't do anything, as this is autocompletion and must not
result in non-asked-for errors popping up.
Signed-off-by: Federico Mena Quintero <federico@novell.com>
svn path=/trunk/; revision=22180
(commit_completion_and_refresh): Don't do anything with the result
of refresh...(), since this function doesn't get called during
completion-related interaction.
Signed-off-by: Federico Mena Quintero <federico@novell.com>
svn path=/trunk/; revision=22179
(start_explicit_completion): Process the result from
refresh...(). Here we present the actual feedback about only
being able to display local folders for local_only=TRUE.
Signed-off-by: Federico Mena Quintero <federico@novell.com>
svn path=/trunk/; revision=22178
2009-01-22 Federico Mena Quintero <federico@novell.com>
Return an error code when refreshing the entry from the user's
input. We use this in the completion code to know when completion
can't happen due to (for example) having a non-local URI in a file
chooser that is local_only=TRUE.
Also, we start maintaining an invariant that
chooser_entry->current_folder_file != NULL implies that:
* what the user entered is valid
* we are loading that folder (chooser_entry->load_folder_cancellable != NULL)
* or we are done loading that folder, or we have a handle
to it at least (chooser_entry->current_folder != NULL)
The invariant also says that all of the above are NULL (and
chooser_entry->current_folder_file == NULL) implies that the user
typed something invalid. This makes
_gtk_file_chooser_entry_get_current_folder() not able to return
an invalid folder.
* gtk/gtkfilechooserentry.c (RefreshStatus): New enum.
(refresh_current_folder_and_file_part): Return a RefreshStatus.
We filter out incomplete hostnames here (typing
"sftp://incompl[tab]" will error out), as well as completely
unparsable input.
Signed-off-by: Federico Mena Quintero <federico@novell.com>
svn path=/trunk/; revision=22177
2009-01-22 Michael Natterer <mitch@imendio.com>
* gtk/gtkicontheme.c (gtk_icon_theme_has_icon): g_return_if_fail()
on icon_name != NULL so we get a warning instead of a crash here.
svn path=/trunk/; revision=22174
009-01-21 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkentry.c: Change the Caps Lock warning to the more
neutral "Caps Lock is on". Requested by Wouter Bolsterlee
svn path=/trunk/; revision=22166
2009-01-21 Tor Lillqvist <tml@novell.com>
* gdk/win32/gdkcursor-win32.c: Rename static local functions and
variables to not have any unnecessary _ or _gdk_win32 prefix.
* gdk/win32/gdkcursor-win32.c (hcursor_from_type): Implement
creating a GDK_BLANK_CURSOR.
svn path=/trunk/; revision=22165
* gtk/gtkentry.c: Fix an expose loop caused by raising windows out
of an expose handler. Also, don't show the 'Caps Lock' warning for
activated input methods, since that makes it permanently shown
for some locales. It should not be that necessary, now that we
do show preedit text even in password entries. Pointed out by
Frederic Crozat.
svn path=/trunk/; revision=22164
2009-01-21 Federico Mena Quintero <federico@novell.com>
* gtk/gtkfilechooserdefault.c (save_widgets_create): Set
local_only on the location entry when we create it...
(set_local_only): ... and set it here only if the location entry
exists.
Signed-off-by: Federico Mena Quintero <federico@novell.com>
svn path=/trunk/; revision=22163
2009-01-21 Marek Kasik <mkasik@redhat.com>
Bug 561801 - "scheduled printing" doesn't function as expected
* gtk/gtkprintunixdialog: Add tooltip.
* modules/printbackends/cups/gtkprintbackendcups.c: Add conversion
from local time to utc time for scheduled printing.
svn path=/trunk/; revision=22158
Fix completion so it doesn't pop up for every character in a URI
hostname:
* gtk/gtkfilechooser.h (GtkFileChooserError): Add a
GTK_FILE_CHOOSER_ERROR_INCOMPLETE_HOSTNAME.
* gtk/gtkfilesystem.c (_gtk_file_system_parse): Return an
"incomplete hostname" error if the user has not typed a full
hostname yet in an URI.
* gtk/gtkfilechooserentry.c (append_common_prefix): If we get an
incomplete hostname, just don't pop up an error, since that is a
transient state and the user doesn't need to be notified about it.
(refresh_current_folder_and_file_part): Don't revert to showing
the base folder if we have an incomplete hostname.
(reload_current_folder): Handle the passed folder being NULL, even
if we must force a reload. Also, reload the folder if we didn't
have a cancellable for it (i.e. we hadn't started to load it
before).
Signed-off-by: Federico Mena Quintero <federico@novell.com>
svn path=/trunk/; revision=22157
Patch by Carlos Garnacho <carlos@imendio.com> - add a local_only
property to GtkFileChooserEntry:
* gtk/gtkfilechooserentry.c (struct _GtkFileChooserEntry): Add a
local_only field.
(_gtk_file_chooser_entry_init): Default to local_only being true.
(start_explicit_completion): Don't allow completion of non-native
files if local_only is turned on.
(start_loading_current_folder): Don't start loading non-native
folders if local_only is turned on.
(_gtk_file_chooser_entry_set_local_only): New function.
(_gtk_file_chooser_entry_get_local_only): New function.
* gtk/gtkfilechooserentry.h (_gtk_file_chooser_entry_set_local_only,
_gtk_file_chooser_entry_get_local_only): New prototypes.
* gtk/gtkfilechooserdefault.c (set_local_only): Set the local_only
property on the entry.
Signed-off-by: Federico Mena Quintero <federico@novell.com>
svn path=/trunk/; revision=22156
Patch by Carlos Garnacho <carlos@imendio.com>:
* gtk/gtkfilechooserentry.c (discard_current_folder): New
function, factored out for when we need to get rid of the
current_folder.
(gtk_file_chooser_entry_dispose): Use discard_current_folder().
(finished_loading_cb): Fix prototype.
(load_directory_get_folder_callback): Discard the completion
store, as well as clearing the completion feedback, if we find an
error while loading the folder. Also, use
discard_current_folder().
(reload_current_folder): Use discard_current_folder().
Signed-off-by: Federico Mena Quintero <federico@novell.com>
svn path=/trunk/; revision=22155
2009-01-15 Federico Mena Quintero <federico@novell.com>
http://bugzilla.gnome.org/show_bug.cgi?id=545980 -
GtkFileChooserEntry should handle URIs
* gtk/gtkfilesystem.c (_gtk_file_system_parse): Detect URI schemes
and parse the full URI.
(has_uri_scheme): New function, stolen from the old
gtkfilesystemgnomevfs.c.
Signed-off-by: Federico Mena Quintero <federico@novell.com>
svn path=/trunk/; revision=22154
* gtk/gtk.symbols:
* gtk/gtkaction.[hc]: Add setters and getters for GtkAction
properties, in preparation for bug 560228.
svn path=/trunk/; revision=22153
2009-01-21 Christian Dywan <christian@twotoasts.de>
Bug 567413 – GtkComboBoxEntry doesn't emit "changed" signal
on entry editing
* gtk/gtkcombobox.c (gtk_combo_box_set_active): Return only if index
is set. Patch by Carl-Anton Ingmarsson.
svn path=/trunk/; revision=22152
Bug 565656 – Add marks to scales
* gtk/gtkrange.[hc]: Add internal api to define 'stop values'
that have a little resistance when dragging the slider over it.
* gtk/gtk.symbols:
* gtk/gtkscale.[hc] (gtk_scale_add_mark): New function to add
a 'mark' to a scale, which will draws a tick, plus optionally
some text, and makes the value a stop value.
(gtk_scale_clear_values): Removes all marks.
* tests/testscale.c: Test for marks on scales
* tests/Makefile.am: Integrate it
svn path=/trunk/; revision=22149
Patch by David Alan Gilbert.
* gdk/gdkcursor.h: Add a GDK_BLANK_CURSOR cursor type.
* gdk/x11/gdkcursor-x11.c: Cache font cursors and named cursors.
* gdk/x11/gdkprivate-x11.h:
* gdk/x11/gdkcdisplay-x11.c: Remove cached cursors when a
display if finalized.
svn path=/trunk/; revision=22145
* gtk/gtkselection.c (gtk_selection_data_get_targets): Accept
a type of TARGETS instead of ATOM, too. Based on a patch by
Peng Wu.
svn path=/trunk/; revision=22141
* gtk/gtkentry.c:
* gtk/gtklabel.c:
* gtk/gtktextview.c: Correct some copy-and-paste mistakes in
keybinding signal docs. Pointed out by Pascal Terjan.
svn path=/trunk/; revision=22140
* gtk/gtkstock.c: Solve the msgctxt problem a bit more
elegantly, and add some hints about this to the docs of
gtk_stock_set_translate_func. Proposed by Christian Persch
svn path=/trunk/; revision=22137
* gtk/gtkstock.c: Reinstate separate translation contexts for
navigation and media labels (these were lost in the transition
to msgctxt. Pointed out by Gabor Kelemen.
svn path=/trunk/; revision=22135
* gtk/gtk.symbols:
* gtk/gtkentry.[hc]: Use the last chance to get the api right,
and rename things for consistency, requested by Murray Cumming.
In detail,
gtk_entry_get_stock -> gtk_entry_get_icon_stock
gtk_entry_get_pixbuf -> gtk_entry_get_icon_pixbuf
gtk_entry_get_gicon -> gtk_entry_get_icon_gicon
gtk_entry_get_storage_type -> gtk_entry_get_icon_storage_type
::prelight -> ::icon-prelight
::pixbuf-primary -> ::primary-icon-pixbuf
::stock-primary -> ::primary-icon-stock
::icon-name-primary -> ::primary-icon-name
::gicon-primary-> ::primary-icon-gicon
::storage-type-primary -> ::primary-icon-storage-type
::activatable->primary -> ::primary-icon-activatable
::sensitive-primary -> ::primary-icon-sensitive
(and similar for secondary properties)
svn path=/trunk/; revision=22134
* demos/gtk-demo/search_entry.c: End the search if the window
is closed.
* demos/gtk-demo/search_entry.c:
* demos/gtk-demo/entry_completion.c: Group the entry examples
under "Entry".
svn path=/trunk/; revision=22132
2009-01-18 Christian Dywan <christian@twotoasts.de>
Remove a redundant include from gtktoolbar.c
* gtk/gtktoolbar.c: Remove second inclusion of gtktoolbar.h.
Patch by Enrico Tröger.
svn path=/trunk/; revision=22130
2009-01-16 Cody Russell <bratsche@gnome.org>
Bug 567944 – [Win32] Sorted treeview columns can be unreadable
* modules/engines/ms-windows/msw_style.c: Draw selected treeview
cells according to treeview focus, but ignore whether it is in
a sorted column or not. Otherwise the intersection of a selected
row and a sorted column looks very strange if the treeview does
not have focus.
svn path=/trunk/; revision=22126
* modules/input/gtkimcontextmultipress.[ch]: Remove the namespace
prefix from functions defined locally only. Clean up the code and
change indentation to match the GTK+ coding style.
(_GtkImContextMultipress::key_sequences): Replace array of pointers
by GHashTable. Adapt the implementation accordingly.
(passthrough_enabled_for_window): Remove. The passthrough hack is
no longer necessary thanks to the recently introduced "im-module"
property of GtkEntry and GtkTextView.
(load_config): Rework to implement an improved configuration file
format. Just fetch all keys of the group instead of expecting the
keys to be named a certain way. This also allows interpreting the
config key itself as the GDK key name to bind the character sequence
to, thereby making it independent of the sequence itself.
* modules/input/im-multipress.conf: New example configuration using
the new syntax. The example sequences are now bound to the numeric
keypad and imitate the behavior of a standard mobile phone.
svn path=/trunk/; revision=22125
2009-01-15 Murray Cumming <murrayc@murrayc.com>
* gtk/gtkimcontext.c: documentation description: Mention the various
properties and the environment variable, with links to their
documentation.
* gtk/gtksettings.c:
* gtk/gtktextview.c: Make the im-module property documentation more
expansive.
svn path=/trunk/; revision=22123
This causes negative size requisitions when results are more than one
line tall.
* gtk/gtkentrycompletion.c: change the formula used to calculate
the size of the completion popup.
svn path=/trunk/; revision=22120
* gtk/gtkfilechooserdefault.c (save_dialog_geometry): New function.
(settings_save): Save the dialog's geometry.
(gtk_file_chooser_default_get_default_size): Load the geometry
from the settings. If it was already saved, return that instead
of computing an ad-hoc size.
Signed-off-by: Federico Mena Quintero <federico@novell.com>
svn path=/trunk/; revision=22119
* gtk/gtkfilechooserdialog.c
(file_chooser_widget_default_size_changed): Simply resize the
dialog to the default size without any fancy clamping. Also,
leave in place ifdef-ed out code to restore the file chooser's
position in addition to its size. The code to restore the
position doesn't quite work yet, but we'll leave it in as a
reference.
Signed-off-by: Federico Mena Quintero <federico@novell.com>
svn path=/trunk/; revision=22118
* gtk/gtkfilechooserdefault.c (gtk_file_chooser_default_map):
Don't change the default size in ::map() so we don't flicker...
(gtk_file_chooser_default_realize): ... so do it in ::realize()
instead, when the window is not yet visible. This avoids a
dialog-that-resizes when you first pop up the file chooser.
(emit_default_size_changed): Just emit the signal; don't check for
the widget's state so we can be emitted during the initial
::realize() when we are not mapped yet.
(update_preview_widget_visibility): Only emit default_size_changed
if the widget is not mapped, to avoid resizing the dialog while it
is visible.
Signed-off-by: Federico Mena Quintero <federico@novell.com>
svn path=/trunk/; revision=22117
2009-01-14 Federico Mena Quintero <federico@novell.com>
Remember the file chooser's geometry across invocations.
* gtk/gtkfilechoosersettings.h (struct _GtkFileChooserSettings):
New fields geometry_x, geometry_y, geometry_width, geometry_height.
(_gtk_file_chooser_settings_get_geometry): New prototype.
(_gtk_file_chooser_settings_set_geometry): New prototype.
* gtk/gtkfilechoosersettings.c (GEOMETRY_X_KEY, GEOMETRY_Y_KEY,
GEOMETRY_WIDTH_KEY, GEOMETRY_HEIGTH_KEY): New key names.
(ensure_settings_read): Read the geometry keys.
(_gtk_file_chooser_settings_save): Save the geometry keys.
(_gtk_file_chooser_settings_init): Initialize the geometry keys to
"don't have this value".
(_gtk_file_chooser_settings_get_geometry): New public function.
(_gtk_file_chooser_settings_set_geometry): New public function.
Signed-off-by: Federico Mena Quintero <federico@novell.com>
svn path=/trunk/; revision=22116
Requested by Daniel Elstner.
* gtk/gtk.symbols:
* gtk/gtkimmulticontext.[hc] (gtk_im_multicontext_set_context_id):
New function to set the context id on a GtkIMMulticontext.
* gtk/gtkentry.c:
* gtk/gtktextview.c: Add a ::im-module property that can be
set to override the global setting for the im module to be used.
svn path=/trunk/; revision=22113
2009-01-13 Tor Lillqvist <tml@iki.fi>
Bug 164002 - query scripts don't work uninstalled on windows
* gtk/gtkmain.c (_gtk_get_libdir): If the gtk DLL is in a ".libs"
folder, assume we are running uninstalled, and use the
configure-time GTK_LIBDIR.
svn path=/trunk/; revision=22110