From b2a0a099cd87f55d75beba763d801b10add0aba3 Mon Sep 17 00:00:00 2001 From: Patrick McDermott Date: Fri, 22 Sep 2017 16:47:13 -0400 Subject: MqTab: Make "New window" button functional --- (limited to 'src') diff --git a/src/tab.c b/src/tab.c index 79308c1..e557803 100644 --- a/src/tab.c +++ b/src/tab.c @@ -28,6 +28,12 @@ #include "tab-body.h" static void +new_window_clicked_cb(GtkWidget __attribute__((unused)) *button, MqTab *tab) +{ + mq_application_add_window(tab->application, NULL); +} + +static void tab_list_button_toggled_cb(GtkToggleButton *toggle_button, GtkWidget *tab_list) { if (gtk_toggle_button_get_active(toggle_button)) { @@ -61,6 +67,8 @@ tab_list_button_toggled_cb(GtkToggleButton *toggle_button, GtkWidget *tab_list) gtk_grid_attach(GTK_GRID(button_grid), \ buttons[Y * BUTTON_COLS + X], X, Y, 1, 1); \ } while (0) +#define CLICKED_CB(Y, X, CB) \ + g_signal_connect(buttons[Y * BUTTON_COLS + X], "clicked", CB, tab); static gboolean tab_label_button_press_cb(GtkWidget *widget, GdkEvent *event, MqTab *tab) @@ -91,6 +99,8 @@ tab_label_button_press_cb(GtkWidget *widget, GdkEvent *event, MqTab *tab) NEW_BUTTON(1, 2, "edit-undo", "Undo close tab"); NEW_TOGGLE(1, 3, "view-list-symbolic", "Tab list..."); + CLICKED_CB(1, 1, G_CALLBACK(new_window_clicked_cb)); + /* Set up the tab list. */ tab_list = gtk_label_new("Tab list"); @@ -135,6 +145,7 @@ tab_label_button_press_cb(GtkWidget *widget, GdkEvent *event, MqTab *tab) #undef BUTTON_COLS #undef NEW_BUTTON #undef NEW_TOGGLE +#undef CLICKED_CB static void mq_tab_populate_tab(MqTab *tab) -- cgit v0.9.1