[libhandy/tabs: 54/62] page_added/removed -> page_attached/detached, step 1
- From: Alexander Mikhaylenko <alexm src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [libhandy/tabs: 54/62] page_added/removed -> page_attached/detached, step 1
- Date: Sat, 12 Sep 2020 19:27:45 +0000 (UTC)
commit c8e04cdc2b8f1df8a0519db1e879ec548fcc0ede
Author: Alexander Mikhaylenko <alexm gnome org>
Date: Fri Sep 11 18:43:22 2020 +0500
page_added/removed -> page_attached/detached, step 1
src/hdy-tab-bar.c | 37 +++++++++++++++++++++++++----------
src/hdy-tab-box-private.h | 8 ++++----
src/hdy-tab-box.c | 50 +++++++++++++++++++++++------------------------
3 files changed, 56 insertions(+), 39 deletions(-)
---
diff --git a/src/hdy-tab-bar.c b/src/hdy-tab-bar.c
index a72c8d91..814b5a41 100644
--- a/src/hdy-tab-bar.c
+++ b/src/hdy-tab-bar.c
@@ -160,17 +160,17 @@ notify_pinned_cb (HdyTabPage *page,
should_focus = hdy_tab_box_is_page_focused (from, page);
- hdy_tab_box_remove_page (from, page);
- hdy_tab_box_add_page (to, page, hdy_tab_view_get_n_pinned_pages (self->view));
+ hdy_tab_box_detach_page (from, page);
+ hdy_tab_box_attach_page (to, page, hdy_tab_view_get_n_pinned_pages (self->view));
if (should_focus)
hdy_tab_box_try_focus_selected_tab (to);
}
static void
-page_added_cb (HdyTabBar *self,
- HdyTabPage *page,
- gint position)
+page_attached_cb (HdyTabBar *self,
+ HdyTabPage *page,
+ gint position)
{
g_signal_connect_object (page, "notify::pinned",
G_CALLBACK (notify_pinned_cb), self,
@@ -178,9 +178,9 @@ page_added_cb (HdyTabBar *self,
}
static void
-page_removed_cb (HdyTabBox *self,
- HdyTabPage *page,
- gint position)
+page_detached_cb (HdyTabBar *self,
+ HdyTabPage *page,
+ gint position)
{
g_signal_handlers_disconnect_by_func (page, notify_pinned_cb, self);
}
@@ -624,13 +624,25 @@ hdy_tab_bar_set_view (HdyTabBar *self,
return;
if (self->view) {
+ gint i, n;
+
g_signal_handlers_disconnect_by_func (self->view, update_autohide_cb, self);
g_signal_handlers_disconnect_by_func (self->view, notify_selected_page_cb, self);
+ g_signal_handlers_disconnect_by_func (self->view, page_attached_cb, self);
+ g_signal_handlers_disconnect_by_func (self->view, page_detached_cb, self);
+ g_signal_handlers_disconnect_by_func (self->view, view_destroy_cb, self);
+
+ n = hdy_tab_view_get_n_pages (self->view);
+
+ for (i = 0; i < n; i++)
+ page_detached_cb (self, hdy_tab_view_get_nth_page (self->view, i), i);
}
g_set_object (&self->view, view);
if (self->view) {
+ gint i, n;
+
g_signal_connect_object (self->view, "notify::is-transferring-tab",
G_CALLBACK (update_autohide_cb), self,
G_CONNECT_SWAPPED);
@@ -644,14 +656,19 @@ hdy_tab_bar_set_view (HdyTabBar *self,
G_CALLBACK (notify_selected_page_cb), self,
G_CONNECT_SWAPPED);
g_signal_connect_object (self->view, "page-added",
- G_CALLBACK (page_added_cb), self,
+ G_CALLBACK (page_attached_cb), self,
G_CONNECT_SWAPPED);
g_signal_connect_object (self->view, "page-removed",
- G_CALLBACK (page_removed_cb), self,
+ G_CALLBACK (page_detached_cb), self,
G_CONNECT_SWAPPED);
g_signal_connect_object (self->view, "destroy",
G_CALLBACK (view_destroy_cb), self,
G_CONNECT_SWAPPED);
+
+ n = hdy_tab_view_get_n_pages (self->view);
+
+ for (i = 0; i < n; i++)
+ page_attached_cb (self, hdy_tab_view_get_nth_page (self->view, i), i);
}
hdy_tab_box_set_view (self->pinned_box, view);
diff --git a/src/hdy-tab-box-private.h b/src/hdy-tab-box-private.h
index 294b7eac..313a325f 100644
--- a/src/hdy-tab-box-private.h
+++ b/src/hdy-tab-box-private.h
@@ -26,10 +26,10 @@ void hdy_tab_box_set_adjustment (HdyTabBox *self,
void hdy_tab_box_set_block_scrolling (HdyTabBox *self,
gboolean block_scrolling);
-void hdy_tab_box_add_page (HdyTabBox *self,
- HdyTabPage *page,
- gint position);
-void hdy_tab_box_remove_page (HdyTabBox *self,
+void hdy_tab_box_attach_page (HdyTabBox *self,
+ HdyTabPage *page,
+ gint position);
+void hdy_tab_box_detach_page (HdyTabBox *self,
HdyTabPage *page);
void hdy_tab_box_select_page (HdyTabBox *self,
HdyTabPage *page);
diff --git a/src/hdy-tab-box.c b/src/hdy-tab-box.c
index b670ec9f..047eb1bc 100644
--- a/src/hdy-tab-box.c
+++ b/src/hdy-tab-box.c
@@ -1074,9 +1074,9 @@ reset_reorder_animations (HdyTabBox *self)
}
static void
-reorder_page (HdyTabBox *self,
- HdyTabPage *page,
- gint index)
+page_reordered_cb (HdyTabBox *self,
+ HdyTabPage *page,
+ gint index)
{
GList *link;
gint original_index;
@@ -1342,11 +1342,11 @@ end_dragging (HdyTabBox *self)
index += hdy_tab_view_get_n_pinned_pages (self->view);
/* We've already reordered the tab here, no need to do it again */
- g_signal_handlers_block_by_func (self->view, reorder_page, self);
+ g_signal_handlers_block_by_func (self->view, page_reordered_cb, self);
hdy_tab_view_reorder_page (self->view, self->reordered_tab->page, index);
- g_signal_handlers_unblock_by_func (self->view, reorder_page, self);
+ g_signal_handlers_unblock_by_func (self->view, page_reordered_cb, self);
}
animate_reordering (self, dest_tab);
@@ -1447,9 +1447,9 @@ create_tab_info (HdyTabBox *self,
}
static void
-add_page (HdyTabBox *self,
- HdyTabPage *page,
- gint position)
+page_attached_cb (HdyTabBox *self,
+ HdyTabPage *page,
+ gint position)
{
TabInfo *info;
GList *l;
@@ -1515,8 +1515,8 @@ close_animation_done_cb (gpointer user_data)
}
static void
-remove_page (HdyTabBox *self,
- HdyTabPage *page)
+page_detached_cb (HdyTabBox *self,
+ HdyTabPage *page)
{
TabInfo *info;
GList *page_link;
@@ -1839,11 +1839,11 @@ do_drag_drop (HdyTabBox *self,
replace_placeholder (self, page);
end_dragging (self);
- g_signal_handlers_block_by_func (self->view, add_page, self);
+ g_signal_handlers_block_by_func (self->view, page_attached_cb, self);
hdy_tab_view_attach_page (self->view, page, self->reorder_index + offset);
- g_signal_handlers_unblock_by_func (self->view, add_page, self);
+ g_signal_handlers_unblock_by_func (self->view, page_attached_cb, self);
} else {
hdy_tab_view_attach_page (self->view, page, self->reorder_index + offset);
}
@@ -3304,9 +3304,9 @@ hdy_tab_box_set_view (HdyTabBox *self,
if (self->view) {
force_end_reordering (self);
- g_signal_handlers_disconnect_by_func (self->view, add_page, self);
- g_signal_handlers_disconnect_by_func (self->view, remove_page, self);
- g_signal_handlers_disconnect_by_func (self->view, reorder_page, self);
+ g_signal_handlers_disconnect_by_func (self->view, page_attached_cb, self);
+ g_signal_handlers_disconnect_by_func (self->view, page_detached_cb, self);
+ g_signal_handlers_disconnect_by_func (self->view, page_reordered_cb, self);
if (!self->pinned)
g_signal_handlers_disconnect_by_func (self->view, view_drag_drop_cb, self);
@@ -3324,11 +3324,11 @@ hdy_tab_box_set_view (HdyTabBox *self,
int i, n_pages = hdy_tab_view_get_n_pages (self->view);
for (i = n_pages - 1; i >= 0; i--)
- add_page (self, hdy_tab_view_get_nth_page (self->view, i), 0);
+ page_attached_cb (self, hdy_tab_view_get_nth_page (self->view, i), 0);
- g_signal_connect_object (self->view, "page-added", G_CALLBACK (add_page), self, G_CONNECT_SWAPPED);
- g_signal_connect_object (self->view, "page-removed", G_CALLBACK (remove_page), self, G_CONNECT_SWAPPED);
- g_signal_connect_object (self->view, "page-reordered", G_CALLBACK (reorder_page), self,
G_CONNECT_SWAPPED);
+ g_signal_connect_object (self->view, "page-added", G_CALLBACK (page_attached_cb), self,
G_CONNECT_SWAPPED);
+ g_signal_connect_object (self->view, "page-removed", G_CALLBACK (page_detached_cb), self,
G_CONNECT_SWAPPED);
+ g_signal_connect_object (self->view, "page-reordered", G_CALLBACK (page_reordered_cb), self,
G_CONNECT_SWAPPED);
if (!self->pinned)
g_signal_connect_object (self->view, "drag-drop", G_CALLBACK (view_drag_drop_cb), self,
G_CONNECT_SWAPPED);
@@ -3370,18 +3370,18 @@ hdy_tab_box_set_block_scrolling (HdyTabBox *self,
}
void
-hdy_tab_box_add_page (HdyTabBox *self,
- HdyTabPage *page,
- gint position)
+hdy_tab_box_attach_page (HdyTabBox *self,
+ HdyTabPage *page,
+ gint position)
{
- add_page (self, page, position);
+ page_attached_cb (self, page, position);
}
void
-hdy_tab_box_remove_page (HdyTabBox *self,
+hdy_tab_box_detach_page (HdyTabBox *self,
HdyTabPage *page)
{
- remove_page (self, page);
+ page_detached_cb (self, page);
}
void
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]