[nautilus/wip/antoniof/gnome-42: 21/72] Revert "notebook: Set action on close button"
- From: António Fernandes <antoniof src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [nautilus/wip/antoniof/gnome-42: 21/72] Revert "notebook: Set action on close button"
- Date: Fri, 11 Feb 2022 19:27:59 +0000 (UTC)
commit 37dd92c74d295f97b783d30d11e59c0f382bdf0c
Author: António Fernandes <antoniof gnome org>
Date: Fri Feb 11 19:01:37 2022 +0000
Revert "notebook: Set action on close button"
This reverts commit 663c5787cf0e4bbe80ceb48160406e0325127f00.
src/nautilus-notebook.c | 35 ++++++++++++++++++++++++++++++++++-
src/nautilus-window.c | 12 ++++++++++++
2 files changed, 46 insertions(+), 1 deletion(-)
---
diff --git a/src/nautilus-notebook.c b/src/nautilus-notebook.c
index 256c82a58..95be6721d 100644
--- a/src/nautilus-notebook.c
+++ b/src/nautilus-notebook.c
@@ -43,6 +43,14 @@ static int nautilus_notebook_insert_page (GtkNotebook *notebook,
GtkWidget *menu_label,
int position);
+enum
+{
+ TAB_CLOSE_REQUEST,
+ LAST_SIGNAL
+};
+
+static guint signals[LAST_SIGNAL];
+
struct _NautilusNotebook
{
GtkNotebook parent_instance;
@@ -65,6 +73,17 @@ nautilus_notebook_class_init (NautilusNotebookClass *klass)
object_class->dispose = nautilus_notebook_dispose;
notebook_class->insert_page = nautilus_notebook_insert_page;
+
+ signals[TAB_CLOSE_REQUEST] =
+ g_signal_new ("tab-close-request",
+ G_OBJECT_CLASS_TYPE (object_class),
+ G_SIGNAL_RUN_LAST,
+ 0,
+ NULL, NULL,
+ g_cclosure_marshal_VOID__OBJECT,
+ G_TYPE_NONE,
+ 1,
+ NAUTILUS_TYPE_WINDOW_SLOT);
}
static gint
@@ -253,6 +272,19 @@ nautilus_notebook_sync_tab_label (NautilusNotebook *notebook,
}
}
+static void
+close_button_clicked_cb (GtkWidget *widget,
+ NautilusWindowSlot *slot)
+{
+ GtkWidget *notebook;
+
+ notebook = gtk_widget_get_ancestor (GTK_WIDGET (slot), NAUTILUS_TYPE_NOTEBOOK);
+ if (notebook != NULL)
+ {
+ g_signal_emit (notebook, signals[TAB_CLOSE_REQUEST], 0, slot);
+ }
+}
+
static GtkWidget *
build_tab_label (NautilusNotebook *notebook,
NautilusWindowSlot *slot)
@@ -294,7 +326,8 @@ build_tab_label (NautilusNotebook *notebook,
gtk_widget_set_name (close_button, "nautilus-tab-close-button");
gtk_widget_set_tooltip_text (close_button, _("Close tab"));
- gtk_actionable_set_action_name (GTK_ACTIONABLE (close_button), "win.close-current-view");
+ g_signal_connect_object (close_button, "clicked",
+ G_CALLBACK (close_button_clicked_cb), slot, 0);
gtk_box_pack_end (GTK_BOX (box), close_button, FALSE, FALSE, 0);
gtk_widget_show (close_button);
diff --git a/src/nautilus-window.c b/src/nautilus-window.c
index 066577fc2..d0162a56c 100644
--- a/src/nautilus-window.c
+++ b/src/nautilus-window.c
@@ -1775,6 +1775,15 @@ notebook_popup_menu_show (NautilusWindow *window,
gtk_popover_popup (popover);
}
+/* emitted when the user clicks the "close" button of tabs */
+static void
+notebook_tab_close_requested (NautilusNotebook *notebook,
+ NautilusWindowSlot *slot,
+ NautilusWindow *window)
+{
+ nautilus_window_slot_close (window, slot);
+}
+
static void
notebook_button_press_cb (GtkGestureMultiPress *gesture,
gint n_press,
@@ -1950,6 +1959,9 @@ notebook_create_window_cb (GtkNotebook *notebook,
static void
setup_notebook (NautilusWindow *window)
{
+ g_signal_connect (window->notebook, "tab-close-request",
+ G_CALLBACK (notebook_tab_close_requested),
+ window);
g_signal_connect (window->notebook, "popup-menu",
G_CALLBACK (notebook_popup_menu_cb),
window);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]