aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGerd Hoffmann <kraxel@redhat.com>2014-10-21 10:40:08 +0200
committerGerd Hoffmann <kraxel@redhat.com>2014-10-21 10:40:08 +0200
commit1adeb1fb24f6bb68aaf24cb2b76a27e6eae341b2 (patch)
tree51f190ec39c3dced601386e91a275919384dd749
parentb7a0989f31d94cbaa51931b381baec653422a2f3 (diff)
downloadvconsole-1adeb1fb24f6bb68aaf24cb2b76a27e6eae341b2.tar.gz
also add close btn when moving a window back to a tab
-rw-r--r--domain.c13
1 files changed, 11 insertions, 2 deletions
diff --git a/domain.c b/domain.c
index 194bfd3..c41a546 100644
--- a/domain.c
+++ b/domain.c
@@ -1,5 +1,10 @@
#include "vconsole.h"
+static GtkWidget *tab_label_with_close_button(const char *labeltext,
+ GCallback callback,
+ gpointer opaque);
+static void domain_close_tab_btn(GtkWidget *btn, gpointer opaque);
+
/* ------------------------------------------------------------------ */
static const char *state_name[] = {
@@ -384,10 +389,14 @@ static gboolean domain_window_close(GtkWidget *widget, GdkEvent *event,
{
struct vconsole_domain *dom = opaque;
struct vconsole_window *win = dom->conn->win;
+ GtkWidget *lhbox;
gtk_widget_reparent(dom->vbox, win->notebook);
- gtk_notebook_set_tab_label_text(GTK_NOTEBOOK(win->notebook),
- dom->vbox, dom->name);
+ lhbox = tab_label_with_close_button(dom->name,
+ G_CALLBACK(domain_close_tab_btn),
+ dom);
+ gtk_notebook_set_tab_label(GTK_NOTEBOOK(win->notebook),
+ dom->vbox, lhbox);
gtk_widget_destroy(dom->window);
dom->window = NULL;
return TRUE;