[gnome-latex: 13/205] change title of tabs
- From: Sébastien Wilmet <swilmet src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-latex: 13/205] change title of tabs
- Date: Fri, 14 Dec 2018 10:47:58 +0000 (UTC)
commit 4d76e222437fe4a26863c1b4967f236dd341c96a
Author: Sébastien Wilmet <sebastien wilmet gmail com>
Date: Tue Aug 4 17:58:26 2009 +0200
change title of tabs
TODO | 2 +-
src/callbacks.c | 37 +++++++++++++++++++++++++++++++++++--
2 files changed, 36 insertions(+), 3 deletions(-)
---
diff --git a/TODO b/TODO
index 0131a95..b9c8445 100644
--- a/TODO
+++ b/TODO
@@ -11,7 +11,7 @@ Jul 31, 2009 to Aug 7, 2009
x new
x close
x tabs
- - change title of tabs
+ x change title of tabs
- tabs with close buttons
[-] GtkSourceView
diff --git a/src/callbacks.c b/src/callbacks.c
index 4b913ea..93b6e95 100644
--- a/src/callbacks.c
+++ b/src/callbacks.c
@@ -12,6 +12,7 @@ static void create_document_in_new_tab (gchar *path, gchar *text, GtkWidget *lab
static void save_as_dialog (void);
static void file_save (void);
static gboolean close_all (void);
+static void set_title (void);
void
cb_new (void)
@@ -69,7 +70,8 @@ cb_save (void)
if (docs.active->path == NULL)
save_as_dialog ();
- file_save();
+ file_save ();
+ set_title ();
}
}
@@ -210,14 +212,16 @@ void
cb_text_changed (GtkWidget *widget, gpointer user_data)
{
if (docs.active != NULL)
+ {
docs.active->saved = FALSE;
+ set_title ();
+ }
}
void
cb_page_change (GtkNotebook *notebook, GtkNotebookPage *page, guint page_num, gpointer user_data)
{
docs.active = g_list_nth_data (docs.all, page_num);
- print_info ("switch-page: %d (%s)", page_num, docs.active->path);
}
/*****************************
@@ -326,3 +330,32 @@ close_all (void)
return TRUE;
}
+
+static void
+set_title (void)
+{
+ if (docs.active)
+ {
+ gchar *tmp;
+ gchar *title;
+
+ if (docs.active->path != NULL)
+ tmp = g_path_get_basename (docs.active->path);
+ else
+ tmp = g_strdup (_("New document"));
+
+ if (docs.active->saved)
+ title = g_strdup (tmp);
+ else
+ title = g_strdup_printf ("*%s", tmp);
+
+ g_free (tmp);
+
+ gint index = gtk_notebook_get_current_page (docs.notebook);
+ GtkWidget *child = gtk_notebook_get_nth_page (docs.notebook, index);
+ GtkLabel *label = GTK_LABEL (gtk_notebook_get_tab_label (docs.notebook, child));
+ gtk_label_set_text (label, title);
+
+ g_free (title);
+ }
+}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]