Commit Graph

14810 Commits

Author SHA1 Message Date
Benjamin Otte
480b5862d4 plug: Use gtk_widget_class_set_accessible_role() 2011-07-18 18:30:50 +02:00
Benjamin Otte
27f96820c8 fontsel: Use gtk_widget_class_set_accessible_role() 2011-07-18 18:30:50 +02:00
Benjamin Otte
c40875ad51 messagedialog: Use gtk_widget_class_set_accessible_role() 2011-07-18 18:30:50 +02:00
Benjamin Otte
6379faaa90 dialog: Use gtk_widget_class_set_accessible_role() 2011-07-18 18:30:50 +02:00
Benjamin Otte
2e570136f5 colorsel: Use gtk_widget_class_set_accessible_role() 2011-07-18 18:30:50 +02:00
Benjamin Otte
299b3bed96 filechooserdialog: Use gtk_widget_class_set_accessible_role() 2011-07-18 18:30:50 +02:00
Benjamin Otte
9c81336830 widget: Reset the accessible role when a new accessible type is set
We want the role to be kept in the accessible object. Using
gtk_widget_class_set_accessible_role() is only meant as a quick
workaround to requiring subclassing of the accessibles in the quite
common case where a subclass does not change the accessible
implementation at all and only has a different role.
2011-07-18 18:30:50 +02:00
Benjamin Otte
b61a200036 separatormenuitem: Use gtk_widget_class_accessible_set_role() 2011-07-18 18:30:50 +02:00
Benjamin Otte
094785bd68 separator: Use gtk_widget_class_accessible_set_role() 2011-07-18 18:30:50 +02:00
Benjamin Otte
017d02b9de hsv: Use gtk_widget_class_accessible_set_role() 2011-07-18 18:30:50 +02:00
Benjamin Otte
8815ccf5c4 calendar: Use gtk_widget_class_accessible_set_role() 2011-07-18 18:30:50 +02:00
Benjamin Otte
b17ad131ea API: Add gtk_widget_class_set_accessible_role()
Easy access to modifying the roles of subclasses, as this is a thing
that commonly changes for various subclasses.
2011-07-18 18:30:49 +02:00
Benjamin Otte
c0df6f9622 menushell: Use GtkMenuShellAccessible as a11y object
Previously it was only used by GtkMenuBar, and that's a naming mismatch.
2011-07-18 18:30:49 +02:00
Benjamin Otte
54e1caa428 a11y: Remove separator menu item special case
gtkseparator.c already takes care of this case.
2011-07-18 18:30:49 +02:00
Benjamin Otte
1f4b524558 assistant: Use gtk_container_remove() when removing pages
Ensures that we properly emit the "remove" signal.
2011-07-18 10:54:57 +02:00
Matthias Clasen
3bfa69fa53 Don't use object data for layer
Just add a regular member in GtkWidgetAccessible for it.
2011-07-17 23:17:38 -04:00
Matthias Clasen
6d33c783d0 Get rid of the focus_gtk vfunc
Only GtkWidgetAccessible and GtkWindowAccessible had implementations,
and they could easily be converted to focus_event handlers.
2011-07-17 23:04:00 -04:00
Matthias Clasen
2b5140c974 Avoid a compiler warning 2011-07-17 23:03:34 -04:00
Matthias Clasen
095ea84611 Make destroying assistants work again
During destruction, we need to be careful to not ask the content
notebook to remove itself from itself.
2011-07-17 19:35:37 -04:00
Matthias Clasen
e756b2e50d Use canonical names
Use canonical names for both signals and properties.
2011-07-17 18:52:37 -04:00
Matthias Clasen
dc2ae6c0a5 Don't emit a nonexisting signal
The signal is called "popdown", not "podown".
2011-07-17 18:45:46 -04:00
Matthias Clasen
102faa3037 GtkLabelAccessible: avoid extra selection-changed emissions
This copies the same code that the entry accessible uses
to check for selection changes.

https://bugzilla.gnome.org/show_bug.cgi?id=654428
2011-07-16 09:44:02 -04:00
Florian Müllner
7741f5a09a theming-engine: Adjust register_property() to recent glib change
GParamSpec now uses an intern'ed string for 'name', so the code
in gtk_theming_engine_register_property() which prefixes the name
with a namespace has to be adjusted.

https://bugzilla.gnome.org/show_bug.cgi?id=654695
2011-07-15 20:50:26 +02:00
Matthias Clasen
1f264ddb4b Don't use deprecated style api
gtk_widget_modify_font() has been superseded by
gtk_widget_override_font(), so use that in GtkMessageDialog.
2011-07-15 11:07:38 -04:00
Matthias Clasen
3cc22eed44 Add some GtkAccessible documentation
Describe the current thinking about how to provide
3rd party accessible implementations.
2011-07-14 19:50:21 -04:00
Matthias Clasen
7c2414ec7e Drop private GtkAccessible api
We no longer use factories anywhere.
2011-07-14 19:42:12 -04:00
Matthias Clasen
3e05518881 Drop unneeded includes
We no longer use the private GtkAccessible api here.
2011-07-14 19:40:50 -04:00
Matthias Clasen
d8c00cd537 Revert "Add a getter for the accessible type of a widget class"
This reverts commit 9a212b3120.
2011-07-14 19:28:07 -04:00
Kristian Rietveld
88a18a28d5 quartz: Remove call to deprecated gdk_pointer_ungrab 2011-07-14 14:22:38 +02:00
John Ralls
86794ce008 Bug 653450 - gtkfilechooser crashes when added favorite
Ensure that display is set during drag-and-drop, and that string lists'
memory is zeroed after allocation to prevent g_strfreev() from
over-running.
2011-07-14 14:17:51 +02:00
Chun-wei Fan
5ab8120689 Added VS projects for a11y and libgail-util
-Added projects to compile the a11y portion of GTK+.  This is now necessary
 as a11y/GAIL is now integrated into the main GTK+ library, and it must
 be built before compiling/linking GTK+.  This project is done like the
 GDK/GTK+ projects, where the source file listings for the VS2008/2010
 projects are fed into templates (.vcprojin, .vcxprojin and
 .vcxproj.filtersin) during 'make dist'
-Added projects to compile the libgail-util DLL (no templates for this
 as this does not have source files added/removed often)
-Added the new projects into distribution, and headers, DLLs and .LIB files
 into the "install" stage
2011-07-14 11:53:36 +08:00
Matthias Clasen
9a212b3120 Add a getter for the accessible type of a widget class
This will be necessary to port out-of-tree a11y implementations
from the atk object factory approach to this new way of doing
things.
2011-07-13 23:02:25 -04:00
Federico Mena Quintero
b53f602891 Save selection to recent-files in the asynchronous Save cases
Various paths in SAVE or CREATE_FOLDER return from ::should_respond() but
leave an asynchronous process running.  This process checks some things
in the user's selection, for example, 'does the file exist, and if so
do we need to bring up an overwrite-confirmation dialog?'.  When these
async processes complete *and* it is indeed time for the dialog to
be terminated (via the response-requested signal), we also need to
save the selection to the recently-used list - as ::should_respond() does
by itself in the cases when it can request a response immediately.

Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2011-07-13 16:39:12 -05:00
Chun-wei Fan
a32be5d7e6 Don't include unistd.h unconditionally 2011-07-13 15:27:28 +08:00
Federico Mena Quintero
f1ca0eebc6 Log to recent-files when confirming the file chooser
To make life easier for users, when apps don't properly update the recently-used list
after choosing a file, we now do that directly from the file chooser.

Signed-off-by: Federico Mena Quintero <federico@gnome.org>
2011-07-12 11:36:19 -05:00
Matthias Clasen
5556ae9f80 Don't install any gail headers
There is no public API here.
2011-07-11 23:52:22 -04:00
Matthias Clasen
91bfe9f0c0 Make gtk_container_remove work for assistants 2011-07-11 23:12:55 -04:00
Matthias Clasen
bf70fbb696 Drop an unneeded include 2011-07-11 23:12:55 -04:00
Matthias Clasen
86fcb8b66f Add gtk_assistant_remove_page
This was suspiciously missing, considering we have the usual
append/prepend/insert_page methods.
2011-07-11 23:12:55 -04:00
Jonathan Matthew
ad9da2727d GMountOperation::show-processes support for OpenBSD using kvm(3) 2011-07-12 07:56:01 +10:00
Benjamin Otte
17d5afcae2 a11y: Only advertise action if menuitems are selectable
There's no "click" action for separatormenuitems, for example.
2011-07-11 03:08:32 +02:00
Benjamin Otte
a82cbf29a2 a11y: Don't advertise ROLE_MENU in submenuitems
We use submenuitems for all menuitems now. So they shouldn't be all
advertised as menus. For the ones that do have submenus, we still
advertise ROLE_MENU per the last patch.
2011-07-11 02:51:43 +02:00
Benjamin Otte
8f9493ddf2 a11y: Make menuitem accessible return ROLE_MENU when it has a submenu
Otherwise keep using the role set via atk_object_set_role().
2011-07-11 02:51:43 +02:00
Matthias Clasen
07380c1e64 Make all of a11y/ compile with -Wshadow 2011-07-10 00:24:26 -04:00
Matthias Clasen
634e95eba1 Avoid more shadowing warnings 2011-07-10 00:20:17 -04:00
Matthias Clasen
88312319c4 Avoid more compiler warnings
Turns out link is a shadow-happy name, too.
2011-07-10 00:16:53 -04:00
Matthias Clasen
1803e1b57c Avoid compiler warnings
The text variable in gtk_label_accessible_get_selection was
shadowing a parameter of the same name.
2011-07-10 00:10:54 -04:00
Matthias Clasen
9f58645eca Avoid compiler warnings
The obj variable in gtk_notebook_accessible_notify_gtk was shadowing
the parameter of the same name.
2011-07-10 00:10:20 -04:00
Matthias Clasen
a20c7ed214 Avoid unnecessary includes
Including string.h makes the compiler complain about parameters
and variables called index, which is not nice.
2011-07-10 00:10:15 -04:00
Matthias Clasen
ddfa756ac7 Convert GailCellParent to GtkCellAccessibleParent 2011-07-09 23:57:16 -04:00
Matthias Clasen
4e5629bed1 Convert GailTextCell to GtkTextCellAccessible 2011-07-09 23:57:16 -04:00
Matthias Clasen
7ddf0dff8f Convert GailImageCell to GtkImageCellAccessible 2011-07-09 23:57:16 -04:00
Matthias Clasen
920c1c4c83 Convert GailRendererCell to GtkRendererCellAccessible 2011-07-09 23:57:16 -04:00
Matthias Clasen
3688c1a2d3 Convert GailBooleanCell to GtkBooleanCellAccessible
Including assorted cleanups and _-prefixing of exported API.
2011-07-09 23:57:16 -04:00
Matthias Clasen
1da67a2298 Convert GailContainerCell to GtkContainerCellAccessible
Including assorted cleanups and _-prefixing of exported API.
2011-07-09 23:57:16 -04:00
Matthias Clasen
07461459d4 Convert GailCell to GtkCellAccessible
Including _-prefixing the API to reduce unwanted exports.
2011-07-09 23:57:16 -04:00
Matthew Barnes
4d17ff973e GtkAssistant doesn't notice destroyed pages
Listen for GtkContainer::remove signals from the internal notebook.

https://bugzilla.gnome.org/show_bug.cgi?id=653705
2011-07-09 17:56:03 -04:00
Matthias Clasen
3846a59bab Drop a few more unwanted exports
Remaining now are just cell accessibles.
2011-07-09 16:43:39 -04:00
Matthias Clasen
d98622b2ea Reduce the number of unwanted exports
_-prefix most of the get_type functions in a11y/.
There are still some more symbols left.
2011-07-09 16:32:40 -04:00
Matthias Clasen
671565245e Another forgotten static 2011-07-09 16:04:45 -04:00
Matthias Clasen
88537fb4cc Another forgotten static 2011-07-09 16:04:13 -04:00
Matthias Clasen
dc8d64d6f2 Add a forgotten static 2011-07-09 15:33:28 -04:00
Matthias Clasen
2aeb7042d0 Drop the fake GailUtil subclass
Since it is not a subclass at all. Instead, just have a function
that overrides the vfuncs in AtkUtilClass.
2011-07-09 15:33:28 -04:00
Benjamin Otte
ccaa0af7d0 filechooser: Fix set-but-not-used warning from gcc 2011-07-09 21:24:41 +02:00
Benjamin Otte
05eb4113d9 a11y: Fix warnings when removing widgets that don't have accessibles
The remove handler would not check that removed widgets do indeed have
an accessible associated with them and would happily run all the removal
code with a NULL object. Not good.
2011-07-09 21:24:09 +02:00
Ignacio Casal Quinteiro
06b1362999 gtkaccelmap: the data gtk_accel_map_foreach needs to be annotated as allow-none 2011-07-09 12:54:23 +02:00
Matthias Clasen
182b6f7a3c This is more horrible than I had realized
Due to tragic misunderstandings at the birth of ATK, AtkUtil
can't actually be properly derived. Instead, each implementation
has to poke its vfuncs directly into the AtkUtilClass struct.

So painful to have shipped this stuff for 10 years...
2011-07-08 23:20:06 -04:00
Matthias Clasen
d7ded58f51 Clean up gailutil.c a bit 2011-07-08 23:05:51 -04:00
Matthias Clasen
4c76d9fe31 Separate GailUtil and GailMisc
Not sure how these ended up as siamese twins in the same
source file. Of course, separating them doesn't make them
any more beautiful.
2011-07-08 22:52:03 -04:00
Matthias Clasen
56fb725a7e Convert GailToplevel to GtkToplevelAccessible 2011-07-08 22:39:00 -04:00
Matthias Clasen
9979e2a443 Drop remaining uses of gail_misc api
Fold them into their last remaining user, in gailtextcell.c
2011-07-08 22:03:13 -04:00
Matthias Clasen
64d3314a64 Drop now unused gail_misc API 2011-07-08 20:12:45 -04:00
Matthias Clasen
db1eeb0651 Drop gailtextutil from gtk/a11y
The last user was GailTextCell, and that can use gtk_pango
api instead.
2011-07-08 18:41:01 -04:00
Matthias Clasen
a7190d11c2 No longer need to strip the decorations when generating gtk.def, either 2011-07-08 18:41:01 -04:00
Matthias Clasen
2cdac4704c gtk.symbols: remove remaining G_GNUC_ decorations
These are no longer used for anything
2011-07-08 18:41:01 -04:00
Matthias Clasen
77db52ac9a We're no longer a module
And we don't support not loading the module anymore, either.
So take out the code that looks at environment variables for
that purpose, and don't print a misleading message about
module loading.
2011-07-08 16:37:07 -04:00
Matthias Clasen
fabc5a9117 gail_misc_add_attribute no longer used outside gailmisc.c
This reduces the number of unwanted exported gail symbols
from 90 to 89. Still some way to go...
2011-07-08 16:31:48 -04:00
Federico Mena Quintero
b80fb88aff Merge bgo593793-filechooser-recent-folders-master branch.
The file chooser now starts up in recent-files mode, or in recent-folders mode,
if the caller didn't set a current_folder on it.  Setting a current_folder is
now discouraged, so that the file chooser can have a chance of presenting
useful locations to the user.

See https://live.gnome.org/DocumentCentricGnome/Help%20the%20user%20choose%20a%20place%20to%20put%20a%20new%20file
for the rationale behind these changes.
2011-07-08 11:43:32 -05:00
Cosimo Cecchi
1fdfb18c37 iconview: make it possible for selected cells to render a border
Call gtk_render_frame() after gtk_render_background() there.

https://bugzilla.gnome.org/show_bug.cgi?id=654179
2011-07-08 11:36:04 -04:00
Johan Dahlin
a47528fd59 Clarify that gtk_builder_connect_signals can only be connected once 2011-07-07 15:41:29 -03:00
Matthias Clasen
a38d119f16 Drop gail_misc_buffer_get_run_attributes
Instead fold the code into the sole caller and get rid
of gailmisc usage in the text view accessible altogether.
2011-07-06 23:19:40 -04:00
Matthias Clasen
d1b0ae62a5 Drop an unneeded include
One step close to dropping gailmisc.
2011-07-06 23:18:52 -04:00
Benjamin Otte
a24ec1583b gtkpango: Count letters properly
The code was using the wrong variable and that then caused assertions
2011-07-07 03:37:52 +02:00
Benjamin Otte
15ab20fdfb a11y: Make submenu code handle non-existing submenus
As we're going to merge the two accessibles for submenus, we need to
make sure the code that insisted on submenus can handle the case where
no submenu exists.
2011-07-06 20:55:11 +02:00
Benjamin Otte
d5dad3422b a11y: Fix leaking of state sets 2011-07-06 20:48:35 +02:00
Benjamin Otte
7b2f8949dd styleproperty: Fix leak 2011-07-06 20:41:31 +02:00
Benjamin Otte
552113131c menuitems: Use submenuitem accessible exclusively
Submenus can come and go, so we cannot use an accessible that doesn't
allow for that.

Also, this fixes a rather large refleak.
2011-07-06 18:47:00 +02:00
Benjamin Otte
70b8f8f7ef assistant: Use gtk_widget_class_set_accessible_type()
Less code and no leaks!
2011-07-06 18:47:00 +02:00
Javier Jardón
32e00d1f43 Use AM_CPPFLAGS instead the obsolete INCLUDES 2011-07-06 15:58:32 +01:00
Benjamin Otte
30930e643f a11y: Redo TextView cursor/selection signal handling
As part of the removal of idles, redo how we emit signals on the
accessible. Should work as good or better than before, but with a lot
less code.
2011-07-06 16:50:09 +02:00
Benjamin Otte
768b192ddb modules: Blacklist gail
And print a message when somebody has it enabled that indicates that
something is wrong but doesn't sound too scary.
2011-07-06 16:50:09 +02:00
Benjamin Otte
4abbe4cb52 a11y: Use the canonical way to connect to signals
No functional changes at all, the generated code should in fact be
identical.
2011-07-06 16:40:05 +02:00
Benjamin Otte
eeae39d359 a11y: Simplify code 2011-07-06 16:40:05 +02:00
Benjamin Otte
659d24c9ab a11y: Remove idle handler for switch action handling 2011-07-06 16:40:04 +02:00
Benjamin Otte
8efc350127 a11y: Remove set_description handling from GtkSwitch
The function is unused in AT-SPI.
2011-07-06 16:40:04 +02:00
Benjamin Otte
ccbe6c816b range: Do not use idles to trigger actions 2011-07-06 16:40:04 +02:00
Benjamin Otte
2870b58638 a11y: Don't use an idle handler for entry actions 2011-07-06 16:40:04 +02:00
Rico Tzschichholz
2c51d76c1f Fix two typos in Makefiles 2011-07-06 16:33:55 +02:00
Javier Jardon
8a84056d0a gtktreeviewaccessible: free the string in the correct position 2011-07-06 14:36:29 +01:00
Javier Jardon
ad0c0b8eb3 Do not initialize the priv pointer before check type 2011-07-06 14:25:06 +01:00
Matthias Clasen
ba0bc468d6 Fix the build
I didn't pay enough attention when merging, it seems.
2011-07-05 16:57:46 -04:00
Matthias Clasen
521807f33d Drop the factory from the icon view accessible 2011-07-05 16:10:26 -04:00
Matthias Clasen
9f88efd2bb Drop the factory from GtkAssistantAccessible 2011-07-05 16:10:26 -04:00
Matthias Clasen
38f34f4f6f GtkSeparatorMenuItem: Drop the accessible factory 2011-07-05 16:10:26 -04:00
Matthias Clasen
2980659ab1 Add api for setting the layer
Add api for setting the component layer, instead of open-coding
the object data key, and use it.
2011-07-05 16:10:26 -04:00
Matthias Clasen
e1463ab57c Silence compiler warnings 2011-07-05 16:10:26 -04:00
Matthias Clasen
5d90ca35c2 Set accessible parents of notebook children
Explicitly set the notebook page object as the accessible parent
of the page, otherwise, AtkObject follows the widget parents chain
and makes the notebook accessible the parent.
2011-07-05 16:10:26 -04:00
Matthias Clasen
b83122dc05 Drop use of factories for cell accessibles 2011-07-05 16:10:26 -04:00
Matthias Clasen
5559242ea9 Change the toolkit name in GailUtil to 'gtk', too 2011-07-05 16:10:25 -04:00
Matthias Clasen
b61043dcfa Change the toolkit attribute from gail to gtk
Update test results to match.
2011-07-05 16:10:25 -04:00
Matthias Clasen
eb81d45024 Move GtkSwitchAccessible to a11y/ 2011-07-05 16:10:25 -04:00
Matthias Clasen
e6251f0248 Move GtkSpinnerAccessible to a11y/ 2011-07-05 16:10:25 -04:00
Matthias Clasen
f839379d01 Drop the atk_component_add/remove_focus_handler implementation
Instead, just connect to focus-event directly.
2011-07-05 16:09:57 -04:00
Matthias Clasen
775ccf39e7 Initial conversion of GailWidget to GtkWidgetAccessible 2011-07-05 16:09:57 -04:00
Matthias Clasen
89e57c6978 Convert GailContainer to GtkContainerAccessible 2011-07-05 16:08:57 -04:00
Matthias Clasen
64eec8a97a Convert GailMenuShell to GtkMenuShellAccessible 2011-07-05 16:08:57 -04:00
Matthias Clasen
0e2f3271b9 Convert GailMenu to GtkMenuAccessible 2011-07-05 16:08:57 -04:00
Matthias Clasen
ed08baccd9 Convert GailWindow to GtkWindowAccessible
While doing this, drop the get_mdi_zorder implementation
that really should come from the window manager side. Dropping
this saves some 500 lines.
2011-07-05 16:08:57 -04:00
Matthias Clasen
8432ea3574 Convert GailButton to GtkButtonAccessible
This drops the AtkText implementation, and also strips handling
of children out. Instead of listening for enter/leave/press/released,
just listen for state changes on the widget.
2011-07-05 16:08:57 -04:00
Matthias Clasen
a3113386df Drop unneeded includes of gdkkeysyms.h
Just a minor cleanup; gtk.h includes this header in GTK+ 3.
2011-07-05 16:08:57 -04:00
Matthias Clasen
254538bf77 Drop unneeded includes gailtextutil.h
Almost done with getting rid of GailTextUtil.
2011-07-05 16:08:57 -04:00
Matthias Clasen
3459dc480a Convert Gail(Sub)MenuItem to GtkAccessible classes
This is along the same lines as the previous commit,
with the same caveat.
2011-07-05 16:08:57 -04:00
Matthias Clasen
209a2d1ba0 Convert GailCheck(Sub)MenuItem to GtkAccessible classes
This is along the same lines as the previous commit,
with the same caveat.
2011-07-05 16:08:57 -04:00
Matthias Clasen
64b9599866 Convert GailRadio(Sub)MenuItem to GtkAccessible classes
The way submenus are handled here isn't really right, since
they can come and go at runtime, but I've left it like this
for now. A side-effect is that we can't use
gtk_widget_class_set_accessible_type here, but have to
override get_accessible.
2011-07-05 16:08:57 -04:00
Matthias Clasen
896769df69 Convert GailExpander to GtkExpanderAccessible
At the same time, drop the AtkText implementation.
Also, reintroduce a GtkBoxAccessible, since the previous
way of setting the role in get_accessible was affecting
GtkBox subclasses negatively.

Adjust expected test output to match.
2011-07-05 16:08:57 -04:00
Matthias Clasen
ff5eb4adfe Convert GailStatusbar to GtkStatusbarAccessible
And drop the AtkText implementation at the same time.
Update test results to match.
2011-07-05 16:08:56 -04:00
Matthias Clasen
9a0fd43df2 Convert GailNotebookPage to GtkNotebookPageAccessible
At the same time, drop the AtkText implementation, and simplify
accordingly. Test output has been updated to match.
2011-07-05 16:08:56 -04:00
Matthias Clasen
8bb24a936f Don't overwrite roles
Otherwise, every GtkBox subclass will have to override
get_accessible just to keep their roles.
2011-07-05 16:08:56 -04:00
Matthias Clasen
0bbe09a28e Avoid excessive child_changed::added emissions
We are listening to page-added and emit child_changed::added
in response to that, so don't let the add_gtk handler add
extraneous extra signal emissions. This fixes the child-handling
test for GtkNotebook.
2011-07-05 16:08:56 -04:00
Matthias Clasen
318192b937 Convert GailNotebook to GtkNotebookAccessible 2011-07-05 16:08:56 -04:00
Matthias Clasen
6012f096c9 Convert GailTreeView to GtkTreeViewAccessible
Mostly code rearrangement and cleanup, but also a memory
leak fix in gtk_tree_view_accessible_get_column_description().
2011-07-05 16:08:56 -04:00
Matthias Clasen
7371e3f7cf Convert GailComboBox to GtkComboBoxAccessible 2011-07-05 16:08:56 -04:00
Benjamin Otte
5d57716ef8 a11y: Make notebookpage emit child-added signal sync
Don't use an idle handler
2011-07-05 16:08:55 -04:00
Benjamin Otte
f59cb0e05d a11y: Keep the gail notebook in the notebook page
We used to keep the GtkNotebook, but that causes issues at creation time
of the GailNotebook, when the GtkNotebook does not yet have an
accessible set and so it can't be queried.
2011-07-05 16:08:55 -04:00
Benjamin Otte
790d8e324b a11y: Redo notebook page management
Previously, the code tried to track the indexes of the pages and keep
them up to date in a list and tracking the index in the
GtkNotebookPage. Now, we store the widget we are tracking in the
GailNotebookPage and keep a hash table of widget=>GailNotebookPage in the
GailNotebook. This frees us from the burden of tracking page changes.
2011-07-05 16:08:55 -04:00
Benjamin Otte
9cf9abd5b0 a11y: Redo notebok page lifetime management
It is now done by the GailNotebook. Previously it tried to do it itself.
Also, we now use GtkNotebook::page-removed to track the removal, as
opposed to child::parent-set.
2011-07-05 16:08:55 -04:00
Benjamin Otte
fdc40111f8 a11y: Remove idle handler from menuitem action 2011-07-05 16:08:55 -04:00
Benjamin Otte
3e49e2387c a11y: Remove idle handler for expander actions 2011-07-05 16:08:55 -04:00
Benjamin Otte
55dec3a798 a11y: Remove idle handler for combo box action 2011-07-05 16:08:55 -04:00
Benjamin Otte
05d7260e19 a11y: Remove idle handler from GailButton 2011-07-05 16:08:55 -04:00
Benjamin Otte
7c00940470 a11y: Use gtk_button_clicked() to click a button.
Don't fiddle with events.
2011-07-05 16:08:55 -04:00
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