]>
Pileus Git - ~andy/gtk/log
Benjamin Otte [Mon, 7 Nov 2011 01:53:05 +0000 (02:53 +0100)]
filechooserentry: Don't override activate
The code is no longer necessary, because the relevant parts for inline
completion are now handled by GtkEntry.
Benjamin Otte [Mon, 7 Nov 2011 01:39:02 +0000 (02:39 +0100)]
filechooserentry: Simplify append_common_prefix()
Now that we don't need to know anymore why insertion failed, we can
simplify the append function quite a lot.
A simple rule now: If we did not insert anything, beep.
Benjamin Otte [Mon, 7 Nov 2011 01:30:06 +0000 (02:30 +0100)]
filechooserentry: Remove completion feedback
Too much special code for no gain.
I did a totally unscientific questionnaire on GNOME IRC (assuming
autocompletion is for advanced users) and nobody even knew what this is.
So I suspect it's useless. Also, it's positioned completely wrong anyway
and nobody noticed so far. Last but not least, I'm trying to imitate
bash here and bash doesn't show feedback.
Benjamin Otte [Mon, 7 Nov 2011 01:16:43 +0000 (02:16 +0100)]
filechooserentry: Redo completion popup trigger
Use dispatch_properties_changed() instead of GtkEditable to watch for
changes to the to-be-completed text. This is necessary because various
functions in GtkEntry don't use the interface vfuncs and one only
becomes aware of them via notifications. I'm not sure this is intended
behavior, but it's how it works today.
Also, use the same code for triggering in all situations.
What the code does is this: It looks at the part of the text in front of
the cursor (or selection) and completes for it. Once the directory has
been enumerated, inline completion is activated. Note that popping up of
the completion popup is completely handled by GtkEntry.
Benjamin Otte [Sun, 6 Nov 2011 02:52:41 +0000 (03:52 +0100)]
filechooserentry: Get rid of RefreshMode
Instead, pass the text to use to refresh_current_folder_and_file_part().
This also gets rid of the problem introduced earlier that the position
is not properly updated in do_insert_text() and therefor the completion
is wrong.
Benjamin Otte [Sun, 6 Nov 2011 02:00:47 +0000 (03:00 +0100)]
filechooserentry: Use inline completion
... from GtkEntryCompletion instead of implementing a poor copy
ourselves. This also makes the file chooser entry behave a lot closer to
normal entries.
Benjamin Otte [Sun, 6 Nov 2011 01:47:36 +0000 (02:47 +0100)]
filechooserentry: Merge function
Benjamin Otte [Sun, 6 Nov 2011 01:33:57 +0000 (02:33 +0100)]
filechooserentry: Set the text column of the entry completion
I want to use it in the next commits, but am doing this in a separate
commit so we can find side effects causing bugs easier when bisecting.
Benjamin Otte [Sun, 6 Nov 2011 01:21:28 +0000 (02:21 +0100)]
filechooserentry: Simplify match_selected function
Benjamin Otte [Sat, 5 Nov 2011 21:31:40 +0000 (22:31 +0100)]
filechooserentry: Keep an extra column for the full path
This is identical to the display name when not having a path that
changes the folder. Otherwise it will have the full path that was
entered in the entry. Say when from your home dir, you type
"../../usr/li", the full path for "lib" and "lib64" will be
"../../usr/lib" and "../../usr/lib64" respectively. This value isn't
used yet, but will be soon.
Benjamin Otte [Sat, 5 Nov 2011 19:38:28 +0000 (20:38 +0100)]
entrycompletion: Export gtk_entry_completion_compute_prefix()
I want to use it in the file chooser entry autocomplete code.
Benjamin Otte [Sat, 5 Nov 2011 02:56:36 +0000 (03:56 +0100)]
filechooserentry: Redo _gtk_file_chooser_entry_get_file_part()
The new version does not need to update any text, it just strips the
last part of the existing entry.
Benjamin Otte [Sat, 5 Nov 2011 02:53:32 +0000 (03:53 +0100)]
filechooserentry: Modify _gtk_file_chooser_entry_get_current_folder()
The new version does not need to muck with the entry, it just extracts
the required information. It returns a reference to the folder though,
as we extract the information now instead of returning something stored.
Benjamin Otte [Sat, 5 Nov 2011 02:28:02 +0000 (03:28 +0100)]
filechooserentry: Split out function
I want to use that function elsewhere, so split it out.
Benjamin Otte [Sat, 5 Nov 2011 01:51:59 +0000 (02:51 +0100)]
filechooserentry: Simplify code
Now that the base folder is always != NULL, we can remove the parts of
the code that check for NULL.
Benjamin Otte [Sat, 5 Nov 2011 01:31:04 +0000 (02:31 +0100)]
filechooserentry: Ensure the base folder is always valid
If the base folder is set to NULL, then we just assume the home dir.
FIXME: Should we disallow a NULL folder?
Benjamin Otte [Sat, 5 Nov 2011 00:53:55 +0000 (01:53 +0100)]
filechooserentry: Don't complain about incomplete hostnames
First of all, those hostnames may very well be complete, second of all,
smb:// is a valid uri to enter.
Benjamin Otte [Fri, 4 Nov 2011 23:14:39 +0000 (00:14 +0100)]
filechooserentry: Start autocomplete immediately
Don't do idle handlers for this.
Benjamin Otte [Fri, 4 Nov 2011 16:02:23 +0000 (17:02 +0100)]
filechooserentry: Remove file_system argument
It's not needed anymore.
Benjamin Otte [Fri, 4 Nov 2011 15:33:58 +0000 (16:33 +0100)]
filechooserentry: Simplify code
Now that we've imported the function in the last commit, rename it and
omit useless arguments by instead passing in the entry directly.
Benjamin Otte [Fri, 4 Nov 2011 15:14:01 +0000 (16:14 +0100)]
filechooserentry: Move _gtk_file_system_parse()
It's very specific to the file chooser entry, so it's better kept there.
It's also not used anywhere else in the code.
Benjamin Otte [Thu, 3 Nov 2011 21:19:57 +0000 (22:19 +0100)]
gtkfolder: Remove
It's not used anymore. And new code should of course use gio.
Benjamin Otte [Thu, 3 Nov 2011 17:27:36 +0000 (18:27 +0100)]
filechooserentry: Use a GtkFileSystemModel
Replace the usage of a list store and a GtkFolder with a
GtkFileSystemModel. This improves performance and reduces code size.
Benjamin Otte [Thu, 3 Nov 2011 17:11:14 +0000 (18:11 +0100)]
filechooserentry: Store the liststore as a treemodel
Just changes the type of the member variable. This way we can avoid a
lot of casts.
Benjamin Otte [Thu, 3 Nov 2011 16:46:47 +0000 (17:46 +0100)]
filechooserentry: Make appending / to directories simpler
Benjamin Otte [Thu, 3 Nov 2011 16:32:44 +0000 (17:32 +0100)]
filechooserentry: Only append / to directory names once
Since
069d78ed31fc1c0a9cb7621d27fe10d7b974315b the / is appended to
directories upon constructing the display name, so there is no need to
do it later.
Benjamin Otte [Thu, 3 Nov 2011 21:05:38 +0000 (22:05 +0100)]
filechooserentry: Don't trim away the slash after directories
It's not necessary as the code appending the slashes checks for a slash
these days.
Benjamin Otte [Thu, 3 Nov 2011 14:20:28 +0000 (15:20 +0100)]
filechooserentry: Fold in start_loading_current_folder()
The function just did one thing, we can just fold it into the only
caller.
Benjamin Otte [Thu, 3 Nov 2011 14:13:17 +0000 (15:13 +0100)]
filechooserentry: The file system cannot be NULL
Remove code that checked this.
Benjamin Otte [Thu, 3 Nov 2011 14:12:17 +0000 (15:12 +0100)]
filechooserentry: Make the filesystem a construct-only argument
This allows simplifications in the code.
Benjamin Otte [Thu, 3 Nov 2011 13:11:57 +0000 (14:11 +0100)]
filechooserentry: Keep finished_loading variable ourselves
This will be useful in the next commits when the GtkFolder code
previously keeping that variable gets repalced.
Benjamin Otte [Fri, 28 Oct 2011 20:35:04 +0000 (13:35 -0700)]
filechooserentry: force_reload is never TRUE
.. so remove it.
Benjamin Otte [Fri, 28 Oct 2011 20:19:15 +0000 (13:19 -0700)]
filechooserentry: Fold function into other
There's no need to discard the current folder's file without also
discarding the folder object.
Benjamin Otte [Fri, 28 Oct 2011 12:38:11 +0000 (05:38 -0700)]
filechooserentry: Reorganize function
Setter functions the way I code it look like this (in order):
1) Figure out if the value changed. If not, exit early.
2) Clear the old value (ie unref stuff, disconnect signals
3) Copy the new value
4) Set up things about the new value
This reorganization does that.
And by doing that, it even reduces the amount of code and the amount of
branches (and with it, nesting) needed.
Benjamin Otte [Fri, 28 Oct 2011 03:00:20 +0000 (20:00 -0700)]
filechooserentry: Use the actual discarding function to discard a folder
Benjamin Otte [Sat, 5 Nov 2011 21:36:16 +0000 (22:36 +0100)]
filechooserentry: Don't use a magic number
... when we have a proper enum value for a column.
Benjamin Otte [Sun, 6 Nov 2011 17:47:28 +0000 (18:47 +0100)]
entry: Move freeze/thaw into begin/end_change
Benjamin Otte [Thu, 3 Nov 2011 21:03:22 +0000 (22:03 +0100)]
entry: Don't try to handle Tab in entry completions
Instead, fall through to the default handler after closing the
completion. This has the advantage of letting the file chooser entry
capture the tab key properly, so one can't accidentally move out of the
entry by pressing tab while the completion is popped up.
I also suspect it fixes bugs with weird tab keys and shift/ctrl
oddities. But who knows...
Daniel Mustieles [Fri, 16 Dec 2011 13:22:49 +0000 (14:22 +0100)]
Updated Spanish translation
Benjamin Otte [Fri, 16 Dec 2011 12:38:06 +0000 (13:38 +0100)]
tests: Relax a refcount comparison check
We now test for real_refcount >= expected_refcount, because various
parts of the code (a11y, selection, cursor, ...) can and do add
references.
Benjamin Otte [Fri, 16 Dec 2011 11:57:06 +0000 (12:57 +0100)]
a11y: Don't emit children-changed when nothing changed
When we have 0 columns, no children ever get added or removed.
Benjamin Otte [Fri, 16 Dec 2011 10:43:16 +0000 (11:43 +0100)]
treeview: Run unref helper for all rows
Don't do shortcuts. Because all rows need to be unreffed.
Introduced in
92929b968bd479e237b8f6dc1686ca953f4d8c5d .
Matthias Clasen [Fri, 16 Dec 2011 04:59:36 +0000 (23:59 -0500)]
Updates
Matthias Clasen [Fri, 16 Dec 2011 04:35:06 +0000 (23:35 -0500)]
Fix more linking fallout
We are using xinput and gmodule API in a few places in libgtk.
https://bugzilla.gnome.org/show_bug.cgi?id=665326
Matthias Clasen [Fri, 16 Dec 2011 04:09:23 +0000 (23:09 -0500)]
Add missing symbols to the docs
Matthias Clasen [Fri, 16 Dec 2011 04:08:07 +0000 (23:08 -0500)]
Doc format fixes
Matthias Clasen [Fri, 16 Dec 2011 04:00:47 +0000 (23:00 -0500)]
Remove some accidental additions
These functions were never actually implemented
Matthias Clasen [Fri, 16 Dec 2011 03:56:45 +0000 (22:56 -0500)]
Cosmetic change
Matthias Clasen [Fri, 16 Dec 2011 03:55:06 +0000 (22:55 -0500)]
Doc typo fix
Matthias Clasen [Fri, 16 Dec 2011 03:54:51 +0000 (22:54 -0500)]
Add new symbols
Matthias Clasen [Fri, 16 Dec 2011 03:52:29 +0000 (22:52 -0500)]
Doc typo fix
Matthias Clasen [Fri, 16 Dec 2011 03:49:16 +0000 (22:49 -0500)]
Cosmetic changes
Benjamin Otte [Fri, 16 Dec 2011 03:49:03 +0000 (04:49 +0100)]
gtk-demo: Fix warnings in changedisplay
Use the brute force fix. I'm not really interested in fixing this
properly.
Benjamin Otte [Fri, 16 Dec 2011 02:35:59 +0000 (03:35 +0100)]
a11y: Remove unused gtk_cell_accessible_set_cell_data()
Benjamin Otte [Fri, 16 Dec 2011 02:34:25 +0000 (03:34 +0100)]
a11y: Make boolean cell render report its states the new way
Benjamin Otte [Fri, 16 Dec 2011 00:02:06 +0000 (01:02 +0100)]
a11y: Refactor treeview code even more
- Split out set_cell_data()
- Use it
- Get rid of update_cell_value() function, it's now just 2 calls
Benjamin Otte [Thu, 15 Dec 2011 23:28:05 +0000 (00:28 +0100)]
a11y: Redo function signature
With the recent changes to gtk_cell_accessible_update_cache(), the
update_cell_value() function now needs less code, too.
Benjamin Otte [Thu, 15 Dec 2011 23:12:15 +0000 (00:12 +0100)]
a11y: Implement GtkContainerCellAccessible.update_cache
Benjamin Otte [Thu, 15 Dec 2011 23:07:46 +0000 (00:07 +0100)]
a11y: Move update_cache to GtkCellAccesible
This way, we can call it for container renderers, too.
Benjamin Otte [Thu, 15 Dec 2011 22:51:57 +0000 (23:51 +0100)]
a11y: Redo cell update function
1) always emit signals
Previously, newly constructed cells would be told to not emit events.
However, we can ensure that nothing is connected to the signals, so
they will not actually emit anything.
2) don't return anything
The return value is unused anyway.
Benjamin Otte [Thu, 15 Dec 2011 22:39:58 +0000 (23:39 +0100)]
a11y: Remove unused function
Benjamin Otte [Thu, 15 Dec 2011 22:20:40 +0000 (23:20 +0100)]
a11y: remove now unused property lists
Benjamin Otte [Thu, 15 Dec 2011 22:13:10 +0000 (23:13 +0100)]
a11y: Don't copy data between renderers
Now that we don't use custom renderers anymore, we don't need to copy
data between them anymore.
Benjamin Otte [Thu, 15 Dec 2011 22:08:16 +0000 (23:08 +0100)]
a11y: Use cell renderer creation funcs unconditionally
Also delete the previous "new" functions and actually set the real cell
renderer here.
Benjamin Otte [Thu, 15 Dec 2011 22:02:54 +0000 (23:02 +0100)]
gtk: Add accessible types for cell renderers
Benjamin Otte [Thu, 15 Dec 2011 18:16:43 +0000 (19:16 +0100)]
a11y: Use the accessible type
Benjamin Otte [Thu, 15 Dec 2011 17:17:06 +0000 (18:17 +0100)]
cellrenderer: Add API to keep the accessible type
It's private for now, because we require a GType that isn't exported in
the API yet.
Benjamin Otte [Thu, 15 Dec 2011 16:21:11 +0000 (17:21 +0100)]
API: cellrenderer: Add a private struct
Benjamin Otte [Thu, 15 Dec 2011 12:23:28 +0000 (13:23 +0100)]
a11y: Add GtkRendererCellAcessible::renderer
Benjamin Otte [Wed, 14 Dec 2011 21:20:38 +0000 (22:20 +0100)]
a11y: Remove unused variable
Benjamin Otte [Wed, 14 Dec 2011 17:14:47 +0000 (18:14 +0100)]
treeview: Send changed signal directly to a11y code
No more signal handler is needed, therefore the code can also get rid of
tracking the treemodel. And we use a faster approach for iterating the
changed cellrenderers: We just iterate all columns instead of over all
cell accessibles, as that number is likely quite a bit smaller.
Benjamin Otte [Wed, 14 Dec 2011 12:49:31 +0000 (13:49 +0100)]
tests: Add test resetting the model
We first set a NULL model and then reset the old model, just to get the
effect of clearing and then resetting.
We reset the cursor and selection afterwards, so the reset doesn't
destroy all the work we did.
Benjamin Otte [Wed, 14 Dec 2011 12:49:03 +0000 (13:49 +0100)]
treeview: Emit cursor-changed signal when new model is set
Benjamin Otte [Mon, 12 Dec 2011 17:10:04 +0000 (18:10 +0100)]
a11y: Improve treeview's add/remove_selection()
Benjamin Otte [Mon, 12 Dec 2011 17:00:19 +0000 (18:00 +0100)]
a11y: Improve get_selected_rows()
Benjamin Otte [Mon, 12 Dec 2011 16:59:36 +0000 (17:59 +0100)]
a11y: Improve table_is_row_selected()
Benjamin Otte [Mon, 12 Dec 2011 15:41:21 +0000 (16:41 +0100)]
treeview: Signal selection changes to the accessible
And another signal gone.
Benjamin Otte [Mon, 12 Dec 2011 15:20:11 +0000 (16:20 +0100)]
a11y: Emit children-changed properly for treeviews
Fixes the patch reverted in
b7e74ef95f1d9cd851fb81a124beca0ca11dad00
properly.
https://bugzilla.gnome.org/show_bug.cgi?id=548782
Benjamin Otte [Mon, 12 Dec 2011 15:03:56 +0000 (16:03 +0100)]
treeview: Remove unnecessary accessible_expanded()
Instead, just call remove_state().
Benjamin Otte [Mon, 12 Dec 2011 15:02:02 +0000 (16:02 +0100)]
treeview: Add add() function to accessible
... and use that to emit the insertion signals.
Benjamin Otte [Mon, 12 Dec 2011 14:30:47 +0000 (15:30 +0100)]
treeview: Set expandable flag from treeview
... instead of trying to update it manually.
Benjamin Otte [Mon, 12 Dec 2011 14:18:54 +0000 (15:18 +0100)]
a11y: Redo cell accessible action handling
Multiple changes:
- actions are now available unconditionally, but only work in the right
state. This mirrors other actions.
- instead of adding actions manually, they invoke the action on the
GtkCellAccessibleParent interface.
Tests have been updated to reflect the changes
Benjamin Otte [Mon, 12 Dec 2011 12:26:15 +0000 (13:26 +0100)]
a11y: Remove "toggle" action from cell renderers
This is identical to "edit" (even though that name is kinda confusing).
Benjamin Otte [Mon, 12 Dec 2011 11:16:31 +0000 (12:16 +0100)]
treeview: Set EXPANDED state directly on a11y elements
Benjamin Otte [Mon, 12 Dec 2011 10:55:28 +0000 (11:55 +0100)]
treeview: Deprecate gtk_tree_view_set_destroy_count_func()
The accessibility code doesn't need it anymore.
Benjamin Otte [Mon, 12 Dec 2011 10:45:08 +0000 (11:45 +0100)]
a11y: Remove destroy_count_func usage
It's not needed anymore.
Benjamin Otte [Mon, 12 Dec 2011 10:30:24 +0000 (11:30 +0100)]
a11y: Emit row-deleted signal when rows get deleted
Instead of in the old callbacks.
Benjamin Otte [Mon, 12 Dec 2011 10:20:33 +0000 (11:20 +0100)]
a11y: Revert
22a47c3dbd7875af10df58feedd81d7b661222b6
The fix is wrong on multiple levels. I'll add a proper fix soon.
https://bugzilla.gnome.org/show_bug.cgi?id=548782
Benjamin Otte [Mon, 12 Dec 2011 09:39:05 +0000 (10:39 +0100)]
treeview: Don't use signals in a11y row expansion
Instead, add a function and call it directly.
Benjamin Otte [Mon, 12 Dec 2011 09:25:27 +0000 (10:25 +0100)]
a11y: Add _gtk_tree_view_accessible_add_state()
... and _gtk_tree_view_accessible_remove_state(). They should be called
by gtktreeview.c to notify about changes of state for a row.
Benjamin Otte [Mon, 12 Dec 2011 09:24:53 +0000 (10:24 +0100)]
a11y: Split out function
I want to use that function when sending notifications. See next
commits.
Benjamin Otte [Mon, 12 Dec 2011 06:17:02 +0000 (07:17 +0100)]
a11y: Readd FOCUSABLE state
The state was lost in commit
08d86fabc4237092bf04a97795498f2c45575085 .
Also order the states that are always set alphabetically.
Benjamin Otte [Mon, 12 Dec 2011 06:09:32 +0000 (07:09 +0100)]
a11y: Remove old notify about showing/visible
As cells are always visible and showing, there is no need to do complex
notification mechanisms anymore.
Benjamin Otte [Sun, 11 Dec 2011 05:37:05 +0000 (06:37 +0100)]
a11y: Add _gtk_cell_accessible_state_changed()
It's supposed to replace the old state_set calls.
Benjamin Otte [Sun, 11 Dec 2011 04:02:36 +0000 (05:02 +0100)]
a11y: Split out renderer<->atk state matching
We now keep a state map. This makes adding new states easier, and
doesn't introduce bugs with state change emissions.
Benjamin Otte [Sun, 11 Dec 2011 02:02:12 +0000 (03:02 +0100)]
a11y: Don't duplicate information anymore
We do provide the expandable and expanded information via
GtkCellRendererState now so there is no need to use extra flags.
Benjamin Otte [Sun, 11 Dec 2011 01:57:36 +0000 (02:57 +0100)]
a11y: Set new treeview flags
Benjamin Otte [Sun, 11 Dec 2011 01:52:26 +0000 (02:52 +0100)]
treeview: Set the new flags when rendering the cell
Benjamin Otte [Sat, 10 Dec 2011 20:05:30 +0000 (21:05 +0100)]
cellrenderer: Add EXPANDED and EXPANDABLE states
These make more sense as flags than they do as properties of the cell
renderer.
Benjamin Otte [Fri, 16 Dec 2011 02:12:39 +0000 (03:12 +0100)]
tests: Add a test for latest commit