[gtranslator] Begin moving message table to GtkBuilder
- From: Seán de Búrca <sdeburca src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtranslator] Begin moving message table to GtkBuilder
- Date: Thu, 5 Sep 2013 20:25:38 +0000 (UTC)
commit 92ae114b25ccd1581f229cc50d803b85da451abf
Author: Seán de Búrca <leftmostcat gmail com>
Date: Thu Sep 5 13:51:37 2013 -0600
Begin moving message table to GtkBuilder
src/Makefile.am | 1 +
src/gtr-message-table.c | 29 +++++++++++++++--------------
src/gtr-message-table.h | 5 ++++-
src/gtr-message-table.ui | 33 +++++++++++++++++++++++++++++++++
src/gtr-tab.c | 2 ++
src/gtranslator.gresource.xml | 1 +
6 files changed, 56 insertions(+), 15 deletions(-)
---
diff --git a/src/Makefile.am b/src/Makefile.am
index 91a3f41..566b3df 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -189,6 +189,7 @@ EXTRA_DIST = \
gtr-header-dialog.ui \
gtr-jump-dialog.ui \
gtr-languages-fetcher.ui \
+ gtr-message-table.ui \
gtr-notebook.ui \
gtr-preferences-dialog.ui \
gtr-profile-dialog.ui \
diff --git a/src/gtr-message-table.c b/src/gtr-message-table.c
index 752d28a..32f2f4c 100644
--- a/src/gtr-message-table.c
+++ b/src/gtr-message-table.c
@@ -155,7 +155,6 @@ model_compare_by_status (GtkTreeModel * model,
static void
gtr_message_table_init (GtrMessageTable * table)
{
- GtkWidget *scrolledwindow;
GtkTreeViewColumn *column;
GtkCellRenderer *renderer;
GtkTreeSelection *selection;
@@ -167,9 +166,7 @@ gtr_message_table_init (GtrMessageTable * table)
GtrMessageTablePrivate *priv = table->priv;
- priv->treeview = gtk_tree_view_new ();
-
- gtk_tree_view_set_rules_hint (GTK_TREE_VIEW (priv->treeview), TRUE);
+ gtk_widget_init_template (GTK_WIDGET (table));
renderer = gtk_cell_renderer_pixbuf_new ();
column = gtk_tree_view_column_new_with_attributes (_("Status"),
@@ -231,13 +228,6 @@ gtr_message_table_init (GtrMessageTable * table)
g_signal_connect (G_OBJECT (selection), "changed",
G_CALLBACK (gtr_message_table_selection_changed), table);
-
- scrolledwindow = gtk_scrolled_window_new (NULL, NULL);
- gtk_box_pack_start (GTK_BOX (table), scrolledwindow, TRUE, TRUE, 0);
- gtk_widget_show (scrolledwindow);
-
- gtk_container_add (GTK_CONTAINER (scrolledwindow), table->priv->treeview);
- gtk_widget_show (table->priv->treeview);
}
static void
@@ -252,26 +242,31 @@ static void
gtr_message_table_class_init (GtrMessageTableClass * klass)
{
GObjectClass *object_class = G_OBJECT_CLASS (klass);
+ GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass);
g_type_class_add_private (klass, sizeof (GtrMessageTablePrivate));
object_class->finalize = gtr_message_table_finalize;
+
+ gtk_widget_class_set_template_from_resource (widget_class,
+ "/org/gnome/gtranslator/ui/gtr-message-table.ui");
+
+ gtk_widget_class_bind_template_child_private (widget_class, GtrMessageTable, treeview);
}
/**
* gtr_message_table_new:
- * @tab: a #GtrTab
*
* Creates a new #GtrMessageTable object.
*
* Returns: the newly created #GtrMessageTable
*/
GtkWidget *
-gtr_message_table_new (GtkWidget * tab)
+gtr_message_table_new (void)
{
GtrMessageTable *obj =
GTR_MESSAGE_TABLE (g_object_new (GTR_TYPE_MESSAGE_TABLE, NULL));
- obj->priv->tab = GTR_TAB (tab);
+
g_signal_connect (obj->priv->tab,
"showed-message", G_CALLBACK (showed_message_cb), obj);
g_signal_connect (obj->priv->tab,
@@ -280,6 +275,12 @@ gtr_message_table_new (GtkWidget * tab)
return GTK_WIDGET (obj);
}
+void
+gtr_message_table_set_tab (GtrMessageTable *table, GtrTab *tab)
+{
+ table->priv->tab = tab;
+}
+
/**
* gtr_message_table_populate:
* @table: a #GtrMessageTable
diff --git a/src/gtr-message-table.h b/src/gtr-message-table.h
index fca2191..9c01725 100644
--- a/src/gtr-message-table.h
+++ b/src/gtr-message-table.h
@@ -24,6 +24,7 @@
#include "gtr-message-container.h"
#include "gtr-msg.h"
+#include "gtr-tab.h"
G_BEGIN_DECLS
/*
@@ -78,7 +79,9 @@ gtr_message_table_get_type (void)
GType gtr_message_table_register_type (GTypeModule * module);
- GtkWidget *gtr_message_table_new (GtkWidget * tab);
+ GtkWidget *gtr_message_table_new (void);
+
+ void gtr_message_table_set_tab (GtrMessageTable *table, GtrTab *tab);
void gtr_message_table_populate (GtrMessageTable * table,
GtrMessageContainer * container);
diff --git a/src/gtr-message-table.ui b/src/gtr-message-table.ui
new file mode 100644
index 0000000..53a22ea
--- /dev/null
+++ b/src/gtr-message-table.ui
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated with glade 3.15.3 on Thu Sep 5 03:07:11 2013 -->
+<interface>
+ <!-- interface-requires gtk+ 3.10 -->
+ <template class="GtrMessageTable" parent="GtkBox">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="orientation">vertical</property>
+ <child>
+ <object class="GtkScrolledWindow" id="scrolledwindow1">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="shadow_type">in</property>
+ <child>
+ <object class="GtkTreeView" id="treeview">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="rules_hint">True</property>
+ <child internal-child="selection">
+ <object class="GtkTreeSelection" id="treeview-selection"/>
+ </child>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ </template>
+ <object class="GtkCellRendererPixbuf" id="cellrendererpixbuf1"/>
+</interface>
diff --git a/src/gtr-tab.c b/src/gtr-tab.c
index 3af7d76..4db0cfe 100644
--- a/src/gtr-tab.c
+++ b/src/gtr-tab.c
@@ -781,6 +781,8 @@ gtr_tab_new (GtrPo * po)
/* Now we have to initialize the number of msgstr tabs */
gtr_tab_add_msgstr_tabs (tab);
+ gtr_message_table_set_tab (GTR_MESSAGE_TABLE (tab->priv->message_table), tab);
+
gtr_message_table_populate (GTR_MESSAGE_TABLE (tab->priv->message_table),
GTR_MESSAGE_CONTAINER (tab->priv->po));
diff --git a/src/gtranslator.gresource.xml b/src/gtranslator.gresource.xml
index 1db290e..b8bd4bc 100644
--- a/src/gtranslator.gresource.xml
+++ b/src/gtranslator.gresource.xml
@@ -6,6 +6,7 @@
<file preprocess="xml-stripblanks">gtr-header-dialog.ui</file>
<file preprocess="xml-stripblanks">gtr-jump-dialog.ui</file>
<file preprocess="xml-stripblanks">gtr-languages-fetcher.ui</file>
+ <file preprocess="xml-stripblanks">gtr-message-table.ui</file>
<file preprocess="xml-stripblanks">gtr-notebook.ui</file>
<file preprocess="xml-stripblanks">gtr-preferences-dialog.ui</file>
<file preprocess="xml-stripblanks">gtr-profile-dialog.ui</file>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]