Skip to content
GitLab
Menu
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
Dorota Czaplejewicz
gtk
Commits
5d57716e
Commit
5d57716e
authored
Jun 29, 2011
by
Benjamin Otte
Committed by
Matthias Clasen
Jul 05, 2011
Browse files
a11y: Make notebookpage emit child-added signal sync
Don't use an idle handler
parent
f59cb0e0
Changes
3
Hide whitespace changes
Inline
Side-by-side
gtk/a11y/gailnotebook.c
View file @
5d57716e
...
...
@@ -45,7 +45,8 @@ static gboolean gail_notebook_is_child_selected (AtkSelection *selection
gint
i
);
static
void
create_notebook_page_accessible
(
GailNotebook
*
gail_notebook
,
GtkNotebook
*
notebook
,
GtkWidget
*
child
);
GtkWidget
*
child
,
int
page_num
);
static
gboolean
gail_notebook_focus_cb
(
GtkWidget
*
widget
,
GtkDirectionType
type
);
static
gboolean
gail_notebook_check_focus_tab
(
gpointer
data
);
...
...
@@ -129,7 +130,7 @@ gail_notebook_page_added (GtkNotebook *gtk_notebook,
atk_obj
=
gtk_widget_get_accessible
(
GTK_WIDGET
(
gtk_notebook
));
notebook
=
GAIL_NOTEBOOK
(
atk_obj
);
create_notebook_page_accessible
(
notebook
,
gtk_notebook
,
child
);
create_notebook_page_accessible
(
notebook
,
gtk_notebook
,
child
,
page_num
);
}
static
void
...
...
@@ -170,7 +171,8 @@ gail_notebook_real_initialize (AtkObject *obj,
{
create_notebook_page_accessible
(
notebook
,
gtk_notebook
,
gtk_notebook_get_nth_page
(
gtk_notebook
,
i
));
gtk_notebook_get_nth_page
(
gtk_notebook
,
i
),
i
);
}
notebook
->
selected_page
=
gtk_notebook_get_current_page
(
gtk_notebook
);
...
...
@@ -398,7 +400,8 @@ gail_notebook_is_child_selected (AtkSelection *selection,
static
void
create_notebook_page_accessible
(
GailNotebook
*
gail_notebook
,
GtkNotebook
*
notebook
,
GtkWidget
*
child
)
GtkWidget
*
child
,
int
page_num
)
{
AtkObject
*
obj
;
...
...
@@ -406,6 +409,8 @@ create_notebook_page_accessible (GailNotebook *gail_notebook,
g_hash_table_insert
(
gail_notebook
->
pages
,
child
,
obj
);
atk_object_set_parent
(
obj
,
ATK_OBJECT
(
gail_notebook
));
g_signal_emit_by_name
(
gail_notebook
,
"children_changed::add"
,
page_num
,
obj
,
NULL
);
}
static
gboolean
...
...
gtk/a11y/gailnotebookpage.c
View file @
5d57716e
...
...
@@ -139,33 +139,6 @@ gail_notebook_page_init (GailNotebookPage *page)
{
}
static
gint
notify_child_added
(
gpointer
data
)
{
GailNotebookPage
*
page
;
AtkObject
*
atk_object
,
*
atk_parent
;
g_return_val_if_fail
(
GAIL_IS_NOTEBOOK_PAGE
(
data
),
FALSE
);
page
=
GAIL_NOTEBOOK_PAGE
(
data
);
atk_object
=
ATK_OBJECT
(
data
);
page
->
notify_child_added_id
=
0
;
/* The widget page->notebook may be deleted before this handler is called */
if
(
page
->
notebook
!=
NULL
)
{
atk_parent
=
gtk_widget_get_accessible
(
GTK_WIDGET
(
page
->
notebook
));
atk_object_set_parent
(
atk_object
,
atk_parent
);
g_signal_emit_by_name
(
atk_parent
,
"children_changed::add"
,
gtk_notebook_page_num
(
page
->
notebook
,
page
->
child
),
atk_object
,
NULL
);
}
return
FALSE
;
}
AtkObject
*
gail_notebook_page_new
(
GailNotebook
*
notebook
,
GtkWidget
*
child
)
...
...
@@ -189,7 +162,6 @@ gail_notebook_page_new (GailNotebook *notebook,
atk_object
->
role
=
ATK_ROLE_PAGE_TAB
;
atk_object
->
layer
=
ATK_LAYER_WIDGET
;
page
->
notify_child_added_id
=
gdk_threads_add_idle
(
notify_child_added
,
atk_object
);
/*
* We get notified of changes to the label
*/
...
...
@@ -292,9 +264,6 @@ gail_notebook_page_finalize (GObject *object)
if
(
page
->
textutil
)
g_object_unref
(
page
->
textutil
);
if
(
page
->
notify_child_added_id
)
g_source_remove
(
page
->
notify_child_added_id
);
G_OBJECT_CLASS
(
gail_notebook_page_parent_class
)
->
finalize
(
object
);
}
...
...
gtk/a11y/gailnotebookpage.h
View file @
5d57716e
...
...
@@ -42,7 +42,6 @@ struct _GailNotebookPage
GtkAccessible
*
notebook
;
GtkWidget
*
child
;
guint
notify_child_added_id
;
GailTextUtil
*
textutil
;
};
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment