Benjamin Otte
6b02119bb1
a11y: Remove "press" and "release" actions from buttons
...
http://mail.gnome.org/archives/gnome-accessibility-devel/2011-June/msg00020.html
has some details about this.
The main problem is that the internal button states get fiddled with and
that is not a good idea to do from an AT.
Also update tests to reflect that.
2011-07-05 16:08:55 -04:00
Benjamin Otte
8e28e22bcf
a11y: Do actions on cells immediately
...
No idle handlers, please.
2011-07-05 16:08:55 -04:00
Benjamin Otte
52c0933bc0
a11y: Use simple code for window name change tracking
...
Remove idle handler and omit checking if the name really was changed.
ATs will either have to live with the name not really changoing or we
should check in GtkWindow.
2011-07-05 16:08:55 -04:00
Matthias Clasen
0b952dcc85
Emit the same changed_children details as everybody else
...
...if any of this was documented...
2011-07-05 16:08:55 -04:00
Matthias Clasen
48c3d8e1cf
Drop gail-private-macros.h
...
Nothing like obfuscating an early return behind a macro.
2011-07-05 16:08:55 -04:00
Matthias Clasen
53c90cebb2
Convert GailScrolledWindow to GtkScrolledWindowAccessible
2011-07-05 16:08:54 -04:00
Matthias Clasen
fecefc6cdf
Drop use of gail_return_if_fail
2011-07-05 16:08:54 -04:00
Matthias Clasen
3ab623e391
Fix a test crash
2011-07-05 16:08:54 -04:00
Matthias Clasen
f052710b85
Remove old files
2011-07-05 16:08:54 -04:00
Matthias Clasen
13e8bace97
Convert GailScaleButton to GtkScaleButtonAccessible
2011-07-05 16:08:54 -04:00
Matthias Clasen
583a5e4ea4
Drop another unused include
2011-07-05 16:08:54 -04:00
Matthias Clasen
a8b67d2064
Convert GailToggleButton to GtkToggleButtonAccessible
2011-07-05 16:08:54 -04:00
Matthias Clasen
f54cc70238
Nuke GailAdjustment
...
This was a fairly trivial wrapper around GtkAdjustment with
no particularly important reason for existence.
2011-07-05 16:08:54 -04:00
Matthias Clasen
1ff2076cdd
GtkAdjustment: add an auxiliary function
...
This is going to be used in AtkValue implementations.
2011-07-05 16:08:54 -04:00
Matthias Clasen
98918137a8
Drop an unneeded include
2011-07-05 16:08:54 -04:00
Matthias Clasen
e2847d9637
Convert GailRadioButton to GtkRadioButtonAccessible
2011-07-05 16:08:54 -04:00
Matthias Clasen
369b4a605e
GtkLabelAccessible: drop an unneeded include
...
We eventually want to get rid of gailmisc, so this is progress.
2011-07-05 16:08:54 -04:00
Matthias Clasen
c750139c85
Convert GailPaned to GtkPanedAccessible
2011-07-05 16:08:54 -04:00
Matthias Clasen
7f58482d4e
Convert GailRange to GtkRangeAccessible
2011-07-05 16:08:54 -04:00
Matthias Clasen
5f6ed88b7a
GtkTextViewAccessible: get rid of GailTextUtil usage
...
Instead, use the newly added GtkTextBuffer functions.
2011-07-05 16:08:53 -04:00
Matthias Clasen
aa291863bb
GtkTextBuffer: Add accessible api
...
These functions match closely to the AtkText interface;
they will be used in the GtkTextView accessible implementation.
Keep them private for now.
2011-07-05 16:08:53 -04:00
Matthias Clasen
d15319b717
Convert GailLinkButton to GtkLinkButtonAccessible
2011-07-05 16:08:53 -04:00
Matthias Clasen
2152424541
Convert GailImage to GtkImageAccessible
2011-07-05 16:08:53 -04:00
Matthias Clasen
a166051b60
Convert GailProgressBar to GtkProgressBarAccessible
2011-07-05 16:08:53 -04:00
Matthias Clasen
87195bc3cd
Convert GailScrollbar to GtkScrollbarAccessible
2011-07-05 16:08:53 -04:00
Matthias Clasen
a129392bb4
Convert GailFrame to GtkFrameAccessible
2011-07-05 16:08:53 -04:00
Matthias Clasen
1ef996ca3c
Remove GailBox
...
It was only setting a role, and we can do that just as well
in get_accessible().
2011-07-05 16:08:53 -04:00
Matthias Clasen
6aedf8f066
Remove GailCalendar
...
This was just setting a role, which we can do just as well
in get_accessible().
2011-07-05 16:08:10 -04:00
Matthias Clasen
4a7a667f5f
Drop GailSeparator
...
Instead, just set a suitable role on a GtkWidgetAccessible.
2011-07-05 16:08:10 -04:00
Matthias Clasen
ab8d94d195
Convert GailArrow to GtkArrowAccessible
2011-07-05 16:08:10 -04:00
Matthias Clasen
5fb86cf7da
Convert GailScale to GtkScaleAccessible
2011-07-05 16:08:10 -04:00
Benjamin Otte
a2dbfaf43d
stylecontext: #include <math.h> when using math functions
2011-07-05 16:08:10 -04:00
Matthias Clasen
ce793bd3ee
GtkTextviewAccessible: some initial cleanup and code rearrangement
2011-07-05 16:08:10 -04:00
Matthias Clasen
42cc6ad6c6
GtkEntryAccessible: Slight simplification of attribute handling
...
Make this use the same convenience function as is used elsewhwere.
2011-07-05 16:08:09 -04:00
Matthias Clasen
786ade734c
GtkLabelAccessible: avoid some pointless variables
2011-07-05 16:08:09 -04:00
Matthias Clasen
3f9d39ffce
Initial move GailTextView -> GtkTextViewAccessible
...
This just does the renaming, and drops the factory.
2011-07-05 16:08:09 -04:00
Benjamin Otte
a5b08ea931
gail: Remove AtkText implementation from GailScale
...
AtkText should only be implemented by text editing widgets. For just
giving out a small text string, AtkObject::name should be used.
2011-07-05 16:08:09 -04:00
Benjamin Otte
e510d5beba
cellareacontext: Don't ever return -1 for preferred sized
...
People don't check for -1 when computing size requests. Document this
new behavior.
2011-07-05 16:08:09 -04:00
Benjamin Otte
447fae8d4b
Revert 'Insert an LRM, to prevent -20 to come out as 20- in RTL'
...
Correct text direction for printing of doubles should be (and is) done
by printf() and friend and not enforced by GtkScale.
This reverts commit 5eb2aac947
https://bugzilla.gnome.org/show_bug.cgi?id=322571
2011-07-05 16:08:09 -04:00
Benjamin Otte
d0f0d4c77f
a11y: Export the printed value of a scale as the description.
2011-07-05 16:08:09 -04:00
Benjamin Otte
bbda677728
a11y: Remove AtkText implementation from GailMenuitem
...
AtkText should only be implemented by text editing widgets. For just
giving out a small text string, AtkObject::name should be used.
2011-07-05 16:08:09 -04:00
Benjamin Otte
0ca420918b
a11y: Remove AtkText implementation from GailExpander
...
AtkText should only be implemented by text editing widgets. For just
giving out a small text string, AtkObject::name should be used.
2011-07-05 16:08:09 -04:00
Matthias Clasen
2358be732d
Minor optimization
...
No need to get the cursor position twice in a row.
2011-07-05 16:08:09 -04:00
Matthias Clasen
262e59869f
GtkLabelAccessible: some selection handling fixes
...
Don't move the cursor to 0 when removing the selection,
and don't overlook growing selections.
2011-07-05 16:08:09 -04:00
Matthias Clasen
3e84cc9b17
GtkLabel: optimize away some ::notify emissions
2011-07-05 16:08:09 -04:00
Matthias Clasen
2f758b9b50
GtkEntryAccessible: shorten some function names
...
Just cosmetics
2011-07-05 16:08:09 -04:00
Matthias Clasen
ca166c9a1e
Remove a bit of dead code
2011-07-05 16:08:08 -04:00
Matthias Clasen
442ec1b624
GtkEntryAccessible: Clean up the AtkAction implementation a bit
...
No functional changes.
2011-07-05 16:08:08 -04:00
Matthias Clasen
99a54565a3
Purge traces of insert idle handler
2011-07-05 16:08:08 -04:00
Matthias Clasen
212241ffda
GtkEntryAccessible: Rework text_changed handling
...
No more signal emission from an idle.
2011-07-05 16:08:08 -04:00
Matthias Clasen
a1cf2315a0
Fix up signal ordering issues in GtkEntry
...
Ensure that text and selection boundaries are in a
consistent state when we emit notifications, that ::insert-text
and ::delete-text are emitted before any changes, and that
::changed is emitted after property notifications when inserting
or deleting text.
2011-07-05 16:08:08 -04:00
Matthias Clasen
5398a160ad
Add a test for entry signals
...
These tests check that text and selection boundaries are in a
consistent state when we emit notifications, that ::insert-text
and ::delete-text are emitted before any changes, and that
::changed is emitted after property notifications when inserting
or deleting text.
2011-07-05 16:08:08 -04:00
Matthias Clasen
7872c2c19e
GtkEntryAccessible: port from GailTextUtil to GtkPango
...
Also clean up and rearrange the code.
As a side-effect, the no-longer-existing stipple attributes
are dropped. Update test results to match.
2011-07-05 16:08:08 -04:00
Matthias Clasen
b83ee1e5f9
Allow use of private api in a11y/
2011-07-05 16:08:08 -04:00
Matthias Clasen
52a2e1e628
Trivial whitespace fix
2011-07-05 16:08:08 -04:00
Matthias Clasen
6c7e858286
GtkSpinButtonAccessible: Coding style cleanups
...
And some code rearrangement.
2011-07-05 16:08:08 -04:00
Matthias Clasen
918514d51d
First cut at GailEntry -> GtkEntryAccessible
...
Replace the factory for entry and spin button with
gtk_widget_class_set_accessible_type() calls, and move then
to the GtkAccessible namespace.
2011-07-05 16:08:08 -04:00
Matthias Clasen
c2d1e3eeb0
Avoid warnings in clipboard code
...
The a11y selection tests poke the selection on unrealized
labels. Don't spew warnings in this case.
2011-07-05 16:08:08 -04:00
Matthias Clasen
c74ccbb86e
Port GtkLabelAccessible from GailTextUtil to GtkPango api
...
Unfortunately, we still keep a copy of the text around, for
::insert/::delete signals; those emissions need to be moved to
GtkLabel itself.
2011-07-05 16:08:07 -04:00
Matthias Clasen
1164ceb4fc
GtkStyleContext: add some aux. a11y api
...
This function translates the fg/bg color into atk attributes.
2011-07-05 16:08:07 -04:00
Matthias Clasen
1f2b8a6545
Add some aux. pango api to help AtkText implementations
...
These functions are implementations of the AtkText api on top
of a PangoLayout, and are intended to replace GailTextUtil.
Since gtkpango.h is a private header, also remove the individual
inclusion prohibition.
2011-07-05 16:08:07 -04:00
Matthias Clasen
889b2714d5
GtkLabel: factor out two getters
...
Make the get_property switch look a little nicer.
We export these functions privately for use in the label
accessible implementation later on.
2011-07-05 16:08:07 -04:00
Benjamin Otte
504c0fdc27
messagedialog: Initialize style values in init()
...
Fixes underallocation warnings
2011-07-05 16:08:07 -04:00
Benjamin Otte
5ec01aac61
a11y: Remove setters for column description/header
2011-07-05 16:08:07 -04:00
Benjamin Otte
44e4b94acb
a11y: Make treeview header and caption no longer settable
...
It's not exposed in AT-SPI so we don't need it.
2011-07-05 16:08:07 -04:00
Benjamin Otte
56ebb3dd0e
a11y: Remove setters for row description/header
...
AT-SPI doesn't expose them, so there's no need to keep them.
2011-07-05 16:08:07 -04:00
Matthias Clasen
1b8c38f6e1
GtkHSV: set a suitable role for the accessible
...
The consensus of the accessibility team was that 'color chooser'
fits best for this. Update tests to match.
2011-07-05 16:08:07 -04:00
Matthias Clasen
3edebfb81c
GtkSpinner: set a suitable role for the accessible
...
The consensus of the accessibility team was that this is
an animation. Update tests to match.
2011-07-05 16:08:07 -04:00
Matthias Clasen
828d70c6d7
GtkLabelAccessible: remove redundant check
...
We always have the textutil now, so remove some NULL checks.
Also, never say 'State is defunct' again...
2011-07-05 16:08:06 -04:00
Matthias Clasen
dddf587aec
GtkLabel: freeze property notification where appropriate
...
When setting properties that require recalculating the label
text, freeze notification until the label is properly updated.
This fixes bug 126797.
2011-07-05 16:08:06 -04:00
Matthias Clasen
441bf26a2e
GtkLabelAccessible: remove broken workarounds
...
This removes a horrible workaround for bug 126797. To prevent
picking up accidental markup in label texts, the label accessible
is listening for window creation and mapping and defers initializing
its text until then.
2011-07-05 16:08:06 -04:00
Matthias Clasen
a381fd288c
GailLabel -> GtkLabelAccessible
...
A first experimental conversion from the gail namespace to gtkaccessible.
At the same time, use gtk_widget_class_set_accessible_type() to register
the accessible type for GtkLabel.
2011-07-05 16:08:06 -04:00
Matthias Clasen
a0790f1000
Remove gail_widget_new()
...
The function was unused and unnecessary.
2011-07-05 16:08:06 -04:00
Matthias Clasen
e80e585639
Forgotten file
2011-07-05 16:08:06 -04:00
Matthias Clasen
2deeab4c4f
GailTreeView: optimize a bit
...
Avoid many unnecessary list iterations by using a hash table
to store cell infos, and caching row and column counts. Based
on patches by William Jon McCann, bug 554171.
tree-performance results:
before: (MINPERF:large tree test with a11y: 9.18531sec)
after: (MINPERF:large tree test with a11y: 0.923463sec)
for comparison, without accessibility:
(MINPERF:large tree test: 0.016179sec)
2011-07-05 16:08:05 -04:00
Matthias Clasen
4573659deb
Don't pass NULL to functions expecing a real string
...
...and when you do pass them a real string, don't leak it.
2011-07-05 16:08:04 -04:00
Benjamin Otte
521f9e2f15
gail: Add support for action_set_description
...
As set_description is never called and unsupported by the at-spi, we can
omit implementing it.
This means we can also omit get_description calls in various places, as
they'd just return the default value: NULL.
2011-07-05 16:08:04 -04:00
Benjamin Otte
9ddea3f4e1
a11y: Remove hack for old code
...
This code was supposed to work around a bad interaction between GOK and
Nautilus from 7 years ago.
If it still exists, the GOK developers may complain to the Nautilus
developers.
https://bugzilla.gnome.org/show_bug.cgi?id=137401
2011-07-05 16:08:04 -04:00
Benjamin Otte
a65cb51d49
gail: Remove useless code
...
The ATK default code does the same thing as these two functions.
2011-07-05 16:08:04 -04:00
Matthias Clasen
ffb6df5f42
GailTreeView: deal with absence of model
2011-07-05 16:08:02 -04:00
Matthias Clasen
7f44184f61
GailImageCell: Deal with absence of pixbufs
...
...and when there are pixbufs, don't leak them.
2011-07-05 16:08:02 -04:00
Matthias Clasen
0f8823b4a4
Fix dependencies between directories
...
This ensures that libgtk gets relinked when I touch sources
in gtk/a11y.
2011-07-05 16:08:02 -04:00
Benjamin Otte
4227a63f48
widget: Use g_type_add_class_private()
...
It turns out that that funciton does indeed exist and my rant was just
outdated. Shame on me.
2011-07-05 16:08:01 -04:00
Benjamin Otte
5449ec0a30
gail: Fix compile warning
2011-07-05 16:08:01 -04:00
Benjamin Otte
fd5ceee925
tests: undefine GTK_DISABLE_DEPRECATED as we include deprecated types
2011-07-05 16:08:01 -04:00
Matthias Clasen
17e219fbce
Remove debug spew
2011-07-05 16:08:01 -04:00
Matthias Clasen
054057a640
Fix GtkSwitchAccessible type definition
...
It turns out that ATK_DEFINE_TYPE_WITH_CODE() is broken; it
tells GType that the class and instance size for the accessible
type are the same as for its parent type. Which is not true
if your instance struct has members such as 'description' here.
This was causing hard-to-track-down memory corruption, since
description and the GtkAccessible private pointer were sharing
the same memory location.
2011-07-05 16:08:00 -04:00
Matthias Clasen
0311ffe023
Fix some problems with the GailLinkButton implementation
2011-07-05 16:07:59 -04:00
Matthias Clasen
9860acfcbe
Remove remnants of GnomeCanvas
...
There were some random places where gail was poking at types
to see if they were a GnomeCanvas. Just remove this.
2011-07-05 16:07:58 -04:00
Benjamin Otte
ebf8bf0000
API: Add gtk_widget_class_set_accessible_type()
...
The function is supposed to bypass the ATK registry. For 2 reasons:
1) We get rid of a lot of boilerplate madness.
2) The registry allows creating multiple accessibles per widget and we
don't.
The old code for registries is still there.
2011-07-05 16:07:57 -04:00
Benjamin Otte
9ebcd66d43
widget: Add a GtkWidgetClassPrivate
...
As long as glib doesn't provide class privates, we'll have to ship our
own...
2011-07-05 16:07:57 -04:00
Benjamin Otte
dfe5459437
a11y: Remove unused HTML objects
...
Seems they were for GtkHTML and never used since GAIL got imported into
GTK.
2011-07-05 16:07:57 -04:00
Matthias Clasen
d4a1a03614
No need for gail.h
2011-07-05 16:07:57 -04:00
Matthias Clasen
9453332cce
NO_GAIL not used anymore
2011-07-05 16:07:57 -04:00
Matthias Clasen
f1bf642c98
We're not a module anymore
...
So no need to implement module entry points; and libgnome is
dead too, so no need to export functions for it either.
2011-07-05 16:07:57 -04:00
Matthias Clasen
8bbab02215
Add a first, trivial test for accessibles
2011-07-05 16:07:57 -04:00
Matthias Clasen
813b2c0aff
And remove it from the build too
2011-07-05 16:07:57 -04:00
Matthias Clasen
d3ab2fe19c
Remove the old gail tests
...
This is not what we are looking for in tests, and it hasn't been
touched in ages.
2011-07-05 16:07:56 -04:00
Benjamin Otte
773df067e8
gtk: Include gail by default, don't build it as a module
...
It is now no longer possible to disable it.
This doesn't matter though because GTK will not instantiate a11y
objects until you actually use it. So nothing changes in practice.
2011-07-05 16:07:56 -04:00
Benjamin Otte
8c32d2d516
gtk: Move a11y tests fro a11y/tests to tests/a11y
2011-07-05 16:07:56 -04:00
Benjamin Otte
48b9521cbb
gail-util: Move into toplevel directory
2011-07-05 16:07:56 -04:00
Benjamin Otte
b6025e44a9
gail: Copy gail-util functions into gail
...
Otherwise we get a circular dependency if we move libgail into GTK:
GTK depends on gail-util depends on gail (is part of GTK)
2011-07-05 16:07:56 -04:00
Benjamin Otte
df2e122b5c
gail: Move from modules/other/gail to gtk/a11y
2011-07-05 16:07:56 -04:00
Federico Mena Quintero
121f787136
Update the docs with the policies for Save dialogs
...
Basically, don't ever set the current folder, and only use
gtk_file_chooser_set_filename() for 'File/Save As'. This is so
that the file chooser will be able to present its recently-used
lists as appropriate, giving the user good suggestions by default.
Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2011-07-01 19:12:09 -05:00
Federico Mena Quintero
9eb324dbaf
No need to highlight the file's basename when setting the base folder
...
None of the cases where _gtk_file_chooser_entry_set_base_folder() appear to require
the entry highlighting the file's basename. Doing the highlighting actually makes
things look weird in Save/Recent mode if you
1. type a filename
2. click on a recent-folder,
as right after (2) your filename would get its basename highlighted for
no apparent reason.
Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2011-07-01 19:07:12 -05:00
Federico Mena Quintero
894be790bf
Hide the Create Folder button in recent-files mode when the pathbar is on
...
The create-folder machinery doesn't handle that case yet; we may enable it later
once we figure out the implications for the GUI.
Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2011-07-01 19:07:12 -05:00
Federico Mena Quintero
6bb34d7dd4
Centralize the setting of the pathbar's widgets
...
It used to be that every part of the file chooser's code would show/hide the widgets
near the pathbar as needed. Now we have two central functions:
path_bar_update()
path_bar_set_mode()
These take care of all the widget shuffling; setting the visibility of the
pathbar, info bar, and Create Folder button as appropriate; setting the contents
of the info bar, etc. - based on the current operation_mode and action.
Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2011-07-01 19:07:12 -05:00
Federico Mena Quintero
18ebec28c9
Create the recently-used widgets and infobar from the pathbar widgets as well
...
Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2011-07-01 19:07:12 -05:00
Federico Mena Quintero
3b2e4623f3
Move the pathbar creation to its own function
...
We will centralize the place where all the pathbar-related widgets are created:
the location button, the pathbar itself, the Create Folder button, and in
subsequent commits, the info bar as well. We will deal with the pathbar/infobar
as a unit, instead of swapping them in and out in an ad-hoc fashion.
Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2011-07-01 19:07:12 -05:00
Federico Mena Quintero
4d9fdb1c1b
Warn the user when he still needs to type a filename or choose a folder
...
Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2011-07-01 19:07:11 -05:00
Federico Mena Quintero
b442a3a4ea
Return the recent-folder plus filename in Save mode from get_files()
...
Since the GtkFileChooserEntry already gets the recent-folder set upon it when a recent-folder
is selected, it already can give us the correct fully-formed path.
Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2011-07-01 19:07:11 -05:00
Federico Mena Quintero
ae42f286bb
Allow resolving absolute paths even if there is no base_folder
...
This lets us do proper completion in GtkFileChooserEntry even when no base folder
has been set. Completion for relative paths won't work, as usual, as expected.
2011-07-01 19:07:11 -05:00
Federico Mena Quintero
1af579b1a2
Set the filename entry's base folder when a recent-folder is selected
...
This lets the filename entry do completion relative to the selected recent-folder.
Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2011-07-01 19:07:11 -05:00
Federico Mena Quintero
064ff39ad7
Instruct the user to pick a folder when nothing is selected in the recent-folders list
...
Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2011-07-01 19:07:11 -05:00
Federico Mena Quintero
b90e1211cf
Put recently-used folders in the recently-used list
...
Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2011-07-01 19:07:10 -05:00
Federico Mena Quintero
e7196ee985
Turn a struct field into a local variable
...
Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2011-07-01 19:07:10 -05:00
Federico Mena Quintero
5564df4ac9
Remove unused struct field
...
Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2011-07-01 19:07:10 -05:00
Federico Mena Quintero
d64c88d4d1
Actually highlight the 'recently used' and 'search' items in the shortcuts bar
...
They weren't being selected in the shortcuts bar when those modes were
activated programmatically, instead of through the user selecting
them from the user interface.
2011-07-01 19:07:10 -05:00
Federico Mena Quintero
252ace6681
Start in recently-used mode when no folder is set
...
In RELOAD_EMPTY mode, when no folder has been selected by the calling app, we now
start showing the recently-used list. The rationale is as follows:
- In Open mode, the user is likely to pick a file he has used recently.
- In Save mode, the user is likely to want a destination folder which
he has used recently.
For the Save case, where we want to present the user with recent folders instead
of recent files, we will make the recent-list do so in subsequent commits.
Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2011-07-01 19:07:10 -05:00
Federico Mena Quintero
1ffd36814a
Put the pathbar in the 'Save in folder:' row in Save mode
...
Now we reparent the browse_path_bar_hbox to that spot in Save mode,
or to be above the file lists in Open mode. The pathbar makes for a very
clear indication of the location to save in.
Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2011-07-01 19:07:09 -05:00
Federico Mena Quintero
4353a5f88c
Get rid of the save_folder_combo
...
And with this we get rid of the craziness of having a separate filter model
for the combobox's model.
Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2011-07-01 19:05:12 -05:00
Federico Mena Quintero
3146c790a7
Remove the expander in Save mode, and the configuration key
...
This effectively makes the file chooser always be in 'expanded' mode.
Later, we'll move the pathbar to the 'Save in folder:' line.
Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2011-07-01 19:05:12 -05:00
Federico Mena Quintero
904ad6620f
Utility function to extract folders from the recently-used list
...
This extracts the parent folders from the items in the recently-used
list. We'll use it in the file chooser to present a list of
recently-used folders.
Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2011-07-01 19:01:24 -05:00
Benjamin Otte
246a7ecbc9
box: Remove cache for sibling paths
...
We can't cache this path as widgets might dynamically add or remove
style classes without telling us. At which point the stored path does
not work.
2011-07-02 01:40:16 +02:00
Cosimo Cecchi
668790ddee
toolbar: don't leak the sibling path
2011-07-01 12:33:26 -04:00
Cosimo Cecchi
34d85f04e5
toolbar: don't count invisible widgets when building the sibling path
...
Also, fix RTL nth-child handling for toolbars.
2011-07-01 12:31:22 -04:00
Cosimo Cecchi
9417017f5b
toolbar: invalidate order when an item visibility changes
2011-07-01 12:31:22 -04:00
Matthias Clasen
301c120b74
toolbar: nth-child support for GtkToolbar
...
This doesn't quite work right yet.
2011-07-01 12:31:22 -04:00
Cosimo Cecchi
ef153a5fff
box: follow children visibility when building the sibling path
...
This fixes nth-child not working for widgets which were not
visible before being added to the box, but it's also a better fix
for https://bugzilla.gnome.org/show_bug.cgi?id=652769
2011-07-01 11:48:22 -04:00
Cosimo Cecchi
e731caf8d0
Revert "gtkbox: Invalidate order on changes, even if the child is not visible"
...
This reverts commit 8cb0cc58e3
.
2011-07-01 11:47:41 -04:00
Matthias Clasen
c2449763ce
Fix up docs for predefined style classes.
...
The table was incomplete and out of date. Instead, just
put a list of links in that place, and move all the extra
documentation to the macros. Bug 653785
2011-06-30 19:18:26 -04:00
Vincent Untz
8cb0cc58e3
gtkbox: Invalidate order on changes, even if the child is not visible
...
When we build the sibling path for the order, we do not skip hidden
children (since, quoting the comment, "we cannot reliably detect changes
in widget visibility"). So we need to invalidate the order when hidden
children are reordered and removed.
https://bugzilla.gnome.org/show_bug.cgi?id=652769
2011-06-30 09:11:28 +02:00
John (J5) Palmieri
9c4892f291
[gi] add more annotations to force drag and drop api to be methods
2011-06-29 14:54:25 -04:00
John (J5) Palmieri
f46f038abd
[gi] make sure gtk_drag_dest_unset is annotated as a method
2011-06-29 12:11:36 -04:00
Juan Pablo Ugarte
ea81c710d0
Make GtkBuilder do not delay construct properties that can be resolved
...
(so construct is respected when possible) and skip construct only props that
can not.
2011-06-29 11:45:33 -03:00
Javier Jardon
445ac0e650
gtk/gtkmenuitem: Remove reference to deprecated and removed GtkItem
2011-06-29 15:01:19 +01:00
Claudio Saavedra
ca801abb4c
Use a PAGE_STEP macro instead of a magic number
...
Helps to understand the code.
https://bugzilla.gnome.org/show_bug.cgi?id=653512
2011-06-28 09:47:44 +03:00
Matthias Clasen
7bbe537915
Don't forget to initialize a variable
...
Pointed out by clang in bug 653333.
2011-06-27 16:47:59 -04:00
John (J5) Palmieri
f685ce37fc
[gi] correct annotation for GtkMenuPositionFunc callbacks
2011-06-27 13:45:17 -04:00
Mike Gorse
4fa3cef795
bgo#653191 - fix uninitialized variable in gtk_file_chooser_entry.c
2011-06-27 12:36:11 -05:00
Paolo Borelli
399de11116
Speed up page insertion
...
Make sure to call widget_set_child_visible(false) on all tabs except the
current before calling widget_set_parent.
2011-06-26 20:41:21 +02:00
Chun-wei Fan
f74585caea
Add headers required by gtk/gtkwin32embedwidget.c
...
Some functions from the added headers are needed by this file to compile
without C4013 (a.k.a implicit declaration of ...) warnings/errors
2011-06-24 13:19:58 +08:00
Murray Cumming
191afb88f9
GtkPaned docs: Remove sentence saying see GtkPaned.
2011-06-24 00:21:32 +02:00
Claudio Saavedra
c3b7590c77
Avoid GApplication being released twice on gtk_application_remove_window() calls
...
Removing the window from the window list before setting the
application to %NULL avoids gtk_application_remove_window() triggering
another call to gtk_application_window_removed(), which would release
the application a second time.
https://bugzilla.gnome.org/show_bug.cgi?id=653053
2011-06-21 00:38:33 +03:00
Matthias Clasen
e81426dbd6
Add sibling information to widget path string representations
2011-06-18 12:36:38 -04:00
Matthias Clasen
0725e417c5
Fix css syntax in example
2011-06-18 11:11:47 -04:00
Matthias Clasen
b71b560e56
Remove an unused variable
2011-06-17 22:57:35 -04:00
Matthias Clasen
8f357bb809
Update keybinding docs
...
These were still explaining gtkrc syntax.
2011-06-16 23:51:06 -04:00
Matthias Clasen
5eb8ca1882
Remove unnecessary includes
...
gtkstyle.h is similarly unused.
2011-06-16 23:35:24 -04:00
Matthias Clasen
f1a9c3efff
Remove unused includes
...
Nothing is using gtkrc.h functionality any more.
2011-06-16 23:33:43 -04:00
Matthias Clasen
04ce0467ab
Silence a warning
2011-06-16 23:18:03 -04:00
Matthias Clasen
9bb5077b90
GtkBox: don't reset styles too often
2011-06-16 22:15:50 -04:00
José Aliste
1da07caaed
info_bar: call style_updated at the end of info_bar_init
...
This fix a render bug where the infobar would not add borders
arount its content. Fix proposed by Benjamin Otte.
2011-06-16 14:34:14 -04:00
Benjamin Otte
e54ccaee53
toolbar: Better fix for animations
...
It turns out there's more places where the toolbar item size is used as
the margin box instead of the content box. Because of that, store the
margin box when allocating and use it whenever calls
toolbar_content_get_allocation() instead of calling
gtk_widget_get_allocation().
2011-06-15 22:50:59 +02:00
Benjamin Otte
ba869e0fe0
toolbar: Handle the fact that size_allocate() != get_allocation()
...
size_allocate() allocates the available space for the margin box,
get_allocation() returns the actual space of the content box and those
can be different. And then animations never stop.
If that makes you go "huh?", you might want to read
http://www.w3.org/TR/CSS21/box.html
and the docs for gtk_widget_compute_align().
2011-06-15 20:14:18 +02:00
Cosimo Cecchi
af77ba78bb
themingengine: shrink the background size to the padding-box
...
This fixes a regression introduced by this commit [1] that causes
background to draw beyond the padding-box, which breaks rounded corners,
(in addition to not being compliant with what CSS does by default).
[1] http://git.gnome.org/browse/gtk+/commit/?id=c56700ca3029a9ab1362009bff35f2a70e432c02
https://bugzilla.gnome.org/show_bug.cgi?id=652618
2011-06-15 11:03:56 -04:00
Xan Lopez
b47c7405f2
themingengine: plug a couple of leaks
2011-06-15 14:13:20 +02:00
Xan Lopez
8eb48a876b
border-image: Fix leakage
2011-06-15 13:46:16 +02:00
Benjamin Otte
0d253b67f4
css: Make font property a shorthand
...
... and implement the CSS font properties:
- font-size
- font-style
- font-family
- font-weight
- font-variant
This is the second try at this. The first was backed out previously due
to bugginess. Let's hope this one survives a bit longer.
Also makes the font-family CSS test work again.
2011-06-15 12:52:53 +02:00
Matthias Clasen
519b3ca861
Add a missing break statement
2011-06-14 21:58:51 -04:00
Matthias Clasen
f68c073e33
Remove a redundant NULL check
2011-06-14 21:53:53 -04:00
Matthias Clasen
32f0761daa
Avoid a dereference-before-null-check
2011-06-14 21:50:16 -04:00
Matthias Clasen
d5dad6412b
Give this code a chance to work
...
At least it does not get uninitialized variable warnings now.
2011-06-14 21:44:12 -04:00
Matthias Clasen
d3c427a767
Don't forget to cleanup varargs
2011-06-14 21:14:48 -04:00
Juan A. Suarez Romero
c903ece96b
image: Initialize variable
2011-06-14 09:49:23 +00:00
Matthias Clasen
e3e9527354
GtkAssistant: improve button labels
...
Forward/Back/Last has been declared strange; so go with something
a little more friendly: Continue/Go Back/Finish.
https://bugzilla.gnome.org/show_bug.cgi?id=652506
2011-06-13 22:35:15 -04:00
Benjamin Otte
76f2aa737b
docs: Add Since tag to GtkWidget::draw
2011-06-13 18:29:07 +02:00
Benjamin Otte
9e2ebdee07
cssparser: Actually send an error in an error case
...
The error case was excess commas in rgb/rgba colors, such as
rgba(0,255,0,0,0.5)
2011-06-13 15:01:52 +02:00
Benjamin Otte
a471b4b198
themingengine: Improve handling of different colors
...
We don't want to have different colors cause seams, so we try very hard
to render them at the same time.
2011-06-13 15:01:52 +02:00
Benjamin Otte
407b3f2cde
themingengine: Implement support for multiple border colors
...
Also use this support to implement inset and outset border styles
without cheats.
2011-06-13 15:01:52 +02:00
Benjamin Otte
3aa73bebea
styleproperty: Add border-*-color style properties
...
And make border-color a shorthand
2011-06-13 15:01:52 +02:00
Benjamin Otte
abc239f444
styleproperty: The default border color is the normal color
2011-06-13 15:01:52 +02:00
Benjamin Otte
ba7d1c2104
styleproperty: Make default_value() take a state
...
Because of this, resolve() needs to take a state, too. This is so that
we can have default values depend on other values (like border color).
2011-06-13 15:01:52 +02:00
Benjamin Otte
e0b1943c97
roundedbox: Fix border radius grow algorithm
...
When one radius gets to 0, the other should be set to 0, too. Otherwise
the paths constructed from it will not be correct.
2011-06-13 15:01:52 +02:00
Ignacio Casal Quinteiro
cfb2a45f9a
overlay: add initial version of gtkoverlay
2011-06-12 23:27:18 -04:00
Daniel Drake
794a3706cd
gtkdnd: Don't bind/unbind keycodes that couldn't be determined
...
At http://dev.laptop.org/ticket/10643 we are seeing that drag-and-drop
within the Sugar shell causes all of Sugar's custom keybindings to be
removed.
This is because gtkdnd tries to unbind XK_KP_Space, which (on my systems)
is resolved to NoSymbol by XKeycodeToKeysym(). NoSymbol has value 0,
the same as AnyKey, and XUngrabKey(AnyKey) is equivalent to unbinding
all possible keycodes.
Fix this by catching NoSymbol before binding/unbinding.
https://bugzilla.gnome.org/show_bug.cgi?id=652402
2011-06-12 21:44:00 -04:00
Matthias Clasen
36f6c6167b
Revert "gtk/gtkmenuitem: gtk_misc_set_alignment replacing"
...
This reverts commit 49e62d2a5f
.
It turns out that GtkAccelLabel is not quite ready for
widget align properties.
2011-06-12 21:36:37 -04:00
Javier Jardón
04fa731e6b
gtk.symbols: Add missing api
2011-06-12 23:00:14 +01:00
Benjamin Otte
287069ca3c
default theme: Fix menuitem check/radio colors
2011-06-12 23:35:39 +02:00
Benjamin Otte
3712ec71d4
default theme: fix menuitem selections
2011-06-12 23:28:43 +02:00
Benjamin Otte
d7598aabe3
default theme: fix tooltip colors
2011-06-12 23:26:53 +02:00
Benjamin Otte
4f649e10fa
themingengine: Add magic to draw inset/outset properly
...
Use a bunch of tricks to get inset/outset right with a small amount of
code. In particular, fix the hidden sides causing artifacts.
Included is a bunch of code comments explaining what we actually do.
2011-06-12 23:00:25 +02:00
Benjamin Otte
cd4c527451
themingengine: Reduce border to 0 on hidden sides
...
Fixes drawing of expanders.
2011-06-12 23:00:25 +02:00
Benjamin Otte
8b0bffc3a2
themingengine: Fix inset/outset drawing
2011-06-12 23:00:24 +02:00
Ignacio Casal Quinteiro
391917063e
textview: do not destroy the layout in unrealize
...
Now instead of invalidating when we create the layout we invalidate
when we realize the widget and we remove the invalidation when
unrealizing. It was pointless too destroying the layout in unrealize
as at the end what we just wanted was to remove the invalidation idles.
2011-06-12 17:54:07 +02:00
Benjamin Otte
deed7175ca
roundedbox: Handle shrinking to zero
...
We need it for wide separators.
2011-06-12 03:42:29 +02:00
Cosimo Cecchi
61c253a132
themingengine: set the right coordinates for the rounded box rect
2011-06-11 13:32:15 -04:00
Benjamin Otte
3a1da7f09c
styleproperty: Resolve NULL RGBAs to pink
...
.. instead of returning NULL and crashing.
Fixes no-colors reftest
2011-06-11 10:44:16 +02:00
Benjamin Otte
8861f6dbfb
styleproperty: Fall back to default values, instead of recursing
...
Copy/paste error. The original commit message even explains this.
2011-06-11 10:38:23 +02:00
Benjamin Otte
7dbea94fd2
styleproperty: Add a default value func for border-image-width
...
This is necessary because we want to use NULL as the default value. But
the default value for borders is { 0, 0, 0, 0 } and not NULL.
Fixes border-image-gradient and border-image-repeat reftests.
2011-06-11 09:29:43 +02:00
Benjamin Otte
b196abe8be
themingengine: Render inset box shadow on top of backgrounds
2011-06-11 09:29:43 +02:00
Benjamin Otte
590aadd056
styleproperty: Parse shadow options in any order
...
The CSS spec allows random ordering of various properties, so we should,
too.
2011-06-11 09:29:43 +02:00
Cosimo Cecchi
1539ade9d5
cssprovider: add a doc paragraph about box-shadow
2011-06-11 09:29:43 +02:00
Cosimo Cecchi
6b5b5cb305
styleproperty: register the box-shadow property
2011-06-11 09:29:43 +02:00
Cosimo Cecchi
4d986f7fb0
shadow: add _gtk_box_shadow_render()
...
This supports only inset box-shadow elements for now.
2011-06-11 09:29:43 +02:00
Benjamin Otte
40dfcfcbc4
themingengine: Draw border with GtkRoundedBox
2011-06-11 09:29:43 +02:00
Benjamin Otte
459278c5e1
themingengine: Use GtkRoundedBox for drawing backgrounds
2011-06-11 09:29:42 +02:00
Benjamin Otte
48814c8d1e
themingengine: Do pattern merging smarter
...
Create an intermdiate surface and fill() with it later. Instead of doing
clip + paint twice.
2011-06-11 09:29:42 +02:00
Benjamin Otte
86719e1d35
gtk: Add GtkRoundedBox
...
CSS drawing operates on rounded boxes a lot, so it makes sense to split
them out instead of duplicating them everywhere.
2011-06-11 09:29:42 +02:00
Benjamin Otte
d8033c3796
themingengine: Get rid of extra variables
...
Now that we don't change the width/height anymore, we can keep using it
for scaling he background.
2011-06-11 09:29:42 +02:00