Plugin de galde:
- Añadido editor para SqlBatch del modelo. - Se muestran como "internal child" los widgets de los VnField y los cell renderers de los VnColumn. VnMod: - Ahora el fichero de descripción del menú utiliza extensión xml ({nombre-modulo}-menu.xml) Algunos bugs arreglados
This commit is contained in:
parent
9e15be3b0c
commit
8fd996579f
|
@ -1,4 +1,5 @@
|
||||||
[+ autogen5 template +]
|
[+ autogen5 template +]
|
||||||
|
<!DOCTYPE hedera-module>
|
||||||
<module>
|
<module>
|
||||||
<library translatable="yes" name="[+Name+]">[+ClassName+]</library>
|
<library translatable="yes" name="[+Name+]">[+ClassName+]</library>
|
||||||
<form-group>
|
<form-group>
|
||||||
|
|
|
@ -3006,6 +3006,7 @@ typedef enum
|
||||||
,PROP_UPDATE_FLAGS
|
,PROP_UPDATE_FLAGS
|
||||||
,PROP_RESULT_POS
|
,PROP_RESULT_POS
|
||||||
,PROP_PARTIAL_DELETE
|
,PROP_PARTIAL_DELETE
|
||||||
|
,PROP_BATCH
|
||||||
}
|
}
|
||||||
DbModelProp;
|
DbModelProp;
|
||||||
|
|
||||||
|
@ -3035,6 +3036,9 @@ static void db_model_set_property (DbModel * self, guint property_id,
|
||||||
case PROP_PARTIAL_DELETE:
|
case PROP_PARTIAL_DELETE:
|
||||||
self->priv->partial_delete = g_value_get_boolean (value);
|
self->priv->partial_delete = g_value_get_boolean (value);
|
||||||
break;
|
break;
|
||||||
|
case PROP_BATCH:
|
||||||
|
db_model_set_batch (self, g_value_get_object (value));
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
G_OBJECT_WARN_INVALID_PROPERTY_ID (self, property_id, pspec);
|
G_OBJECT_WARN_INVALID_PROPERTY_ID (self, property_id, pspec);
|
||||||
}
|
}
|
||||||
|
@ -3069,6 +3073,9 @@ static void db_model_get_property (DbModel * self, guint property_id,
|
||||||
case PROP_PARTIAL_DELETE:
|
case PROP_PARTIAL_DELETE:
|
||||||
g_value_set_boolean (value, self->priv->partial_delete);
|
g_value_set_boolean (value, self->priv->partial_delete);
|
||||||
break;
|
break;
|
||||||
|
case PROP_BATCH:
|
||||||
|
g_value_set_object (value, self->priv->batch);
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
G_OBJECT_WARN_INVALID_PROPERTY_ID (self, property_id, pspec);
|
G_OBJECT_WARN_INVALID_PROPERTY_ID (self, property_id, pspec);
|
||||||
}
|
}
|
||||||
|
@ -3345,6 +3352,14 @@ static void db_model_class_init (DbModelClass *k)
|
||||||
,FALSE
|
,FALSE
|
||||||
,G_PARAM_READWRITE
|
,G_PARAM_READWRITE
|
||||||
));
|
));
|
||||||
|
|
||||||
|
g_object_class_install_property (klass, PROP_BATCH,
|
||||||
|
g_param_spec_object ("batch"
|
||||||
|
,_("Batch")
|
||||||
|
,_("The batch assigned to the model")
|
||||||
|
,SQL_TYPE_BATCH
|
||||||
|
,G_PARAM_READWRITE
|
||||||
|
));
|
||||||
}
|
}
|
||||||
|
|
||||||
GType db_model_update_flags_get_type ()
|
GType db_model_update_flags_get_type ()
|
||||||
|
|
|
@ -23,9 +23,9 @@ static void glade_model_editor_add_eprop (GladeModelEditor * obj,
|
||||||
GladeWidgetAdaptor * adaptor, const gchar * name, const gchar * tooltip)
|
GladeWidgetAdaptor * adaptor, const gchar * name, const gchar * tooltip)
|
||||||
{
|
{
|
||||||
GtkWidget * frame, * alignment, * vbox;
|
GtkWidget * frame, * alignment, * vbox;
|
||||||
|
|
||||||
GladeEditorProperty * eprop =
|
GladeEditorProperty * eprop =
|
||||||
glade_widget_adaptor_create_eprop_by_name (adaptor, name, FALSE, TRUE);
|
glade_widget_adaptor_create_eprop_by_name (adaptor, name, FALSE, TRUE);
|
||||||
|
|
||||||
obj->props = g_list_prepend (obj->props, eprop);
|
obj->props = g_list_prepend (obj->props, eprop);
|
||||||
|
|
||||||
frame = gtk_frame_new (NULL);
|
frame = gtk_frame_new (NULL);
|
||||||
|
@ -62,7 +62,7 @@ GtkWidget * glade_model_editor_new (GladeWidgetAdaptor * adaptor,
|
||||||
_("List of parameters linked to the model"));
|
_("List of parameters linked to the model"));
|
||||||
|
|
||||||
glade_model_editor_add_eprop (obj, adaptor, "batch",
|
glade_model_editor_add_eprop (obj, adaptor, "batch",
|
||||||
_("List of SQLHolders and identifiers"));
|
_("List of SqlHolders and identifiers"));
|
||||||
|
|
||||||
gtk_widget_show_all (GTK_WIDGET (obj));
|
gtk_widget_show_all (GTK_WIDGET (obj));
|
||||||
return GTK_WIDGET (obj);
|
return GTK_WIDGET (obj);
|
||||||
|
|
|
@ -215,8 +215,7 @@ static void glade_eprop_sql_finalize (GObject * object)
|
||||||
GObjectClass * parent_class = g_type_class_peek_parent (G_OBJECT_GET_CLASS (object));
|
GObjectClass * parent_class = g_type_class_peek_parent (G_OBJECT_GET_CLASS (object));
|
||||||
G_OBJECT_CLASS (parent_class)->finalize (object);
|
G_OBJECT_CLASS (parent_class)->finalize (object);
|
||||||
}
|
}
|
||||||
|
//++++++++++++++++++++++++++++ Structure and prototypes for Links and Batch
|
||||||
//+++++++++++++++++++++++++++++++++++++++++++++++++++ Links Editor Property
|
|
||||||
|
|
||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
|
@ -225,7 +224,19 @@ typedef struct
|
||||||
GtkTreeView * view;
|
GtkTreeView * view;
|
||||||
gchar * path;
|
gchar * path;
|
||||||
}
|
}
|
||||||
GladeEPropLinks;
|
GladeListEProp;
|
||||||
|
|
||||||
|
void param_col_cell_data (GtkTreeViewColumn * view, GtkCellRenderer * cell,
|
||||||
|
GtkTreeModel * model, GtkTreeIter * iter, gpointer data);
|
||||||
|
static void glade_list_eprop_add_param_column (GladeListEProp * obj);
|
||||||
|
static void glade_list_eporp_on_string_col_edited (GtkCellRendererText * cell,
|
||||||
|
gchar * path, const gchar * text, GladeEditorProperty * eprop);
|
||||||
|
static void glade_list_eprop_create_input (GladeListEProp * obj, GtkWidget * box,
|
||||||
|
gchar * string);
|
||||||
|
|
||||||
|
//+++++++++++++++++++++++++++++++++++++++++++++++++++ Links Editor Property
|
||||||
|
|
||||||
|
typedef GladeListEProp GladeEPropLinks;
|
||||||
|
|
||||||
GLADE_MAKE_EPROP (GladeEPropLinks, glade_eprop_links)
|
GLADE_MAKE_EPROP (GladeEPropLinks, glade_eprop_links)
|
||||||
#define GLADE_TYPE_EPROP_LINKS (glade_eprop_links_get_type ())
|
#define GLADE_TYPE_EPROP_LINKS (glade_eprop_links_get_type ())
|
||||||
|
@ -237,66 +248,171 @@ GLADE_MAKE_EPROP (GladeEPropLinks, glade_eprop_links)
|
||||||
|
|
||||||
enum
|
enum
|
||||||
{
|
{
|
||||||
FIELD_COL
|
LINKS_FIELD_COL
|
||||||
,PARAM_COL
|
,LINKS_PARAM_COL
|
||||||
,LINKED_COL
|
,LINKS_LINKED_COL
|
||||||
,N_COLS
|
,LINKS_N_COLS
|
||||||
};
|
};
|
||||||
|
|
||||||
static void glade_eprop_links_on_param_col_clicked (GtkEntry * entry,
|
static void linked_col_cell_data (GtkTreeViewColumn * view, GtkCellRenderer * cell,
|
||||||
GtkEntryIconPosition icon_pos, GdkEvent * event, GladeEditorProperty * eprop)
|
GtkTreeModel * model, GtkTreeIter * iter, gpointer data)
|
||||||
{
|
{
|
||||||
|
gboolean val;
|
||||||
|
gtk_tree_model_get (model, iter, LINKS_LINKED_COL, &val, -1);
|
||||||
|
gtk_cell_renderer_toggle_set_active (GTK_CELL_RENDERER_TOGGLE (cell), val);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void glade_eprop_links_on_linked_col_toggled (GtkCellRendererToggle * cell,
|
||||||
|
gchar * path, GladeEditorProperty * eprop)
|
||||||
|
{
|
||||||
|
gboolean val;
|
||||||
GtkTreeIter iter;
|
GtkTreeIter iter;
|
||||||
GladeProperty * p = glade_editor_property_get_property (eprop);
|
GladeProperty * p = glade_editor_property_get_property (eprop);
|
||||||
GladeWidget * widget = glade_property_get_widget (p);
|
GladeDbList * list = g_value_get_boxed (glade_property_inline_value (p));
|
||||||
GladeProject * project = glade_widget_get_project (widget);
|
GtkListStore * store = list->list;
|
||||||
GtkListStore * store = ((GladeDbList *) g_value_get_boxed (glade_property_inline_value (p)))->list;
|
|
||||||
gchar * path = GLADE_EPROP_LINKS (eprop)->path;
|
|
||||||
|
|
||||||
if (!gtk_tree_model_get_iter_from_string (GTK_TREE_MODEL (store), &iter, path))
|
if (!gtk_tree_model_get_iter_from_string (GTK_TREE_MODEL (store), &iter, path))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
gtk_tree_model_get (GTK_TREE_MODEL (store), &iter, PARAM_COL, &widget, -1);
|
gtk_tree_model_get (GTK_TREE_MODEL (store), &iter, LINKS_LINKED_COL, &val, -1);
|
||||||
|
gtk_list_store_set (store, &iter, LINKS_LINKED_COL, !val, -1);
|
||||||
if (glade_editor_property_show_object_dialog (project,
|
|
||||||
_("Select a GvnParam"), NULL, GVN_TYPE_PARAM, NULL, &widget))
|
|
||||||
{
|
|
||||||
if (widget)
|
|
||||||
gtk_list_store_set (store, &iter, PARAM_COL, widget, -1);
|
|
||||||
else
|
|
||||||
gtk_list_store_set (store, &iter, PARAM_COL, NULL, -1);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static gboolean glade_eprop_links_on_param_key_pressed (GtkEntry * entry,
|
static GtkWidget * glade_eprop_links_create_input (GladeEditorProperty * eprop)
|
||||||
GdkEventKey * event, GladeEditorProperty * eprop)
|
|
||||||
{
|
{
|
||||||
if (event->keyval == GDK_KEY_Return)
|
GtkCellRenderer * cell;
|
||||||
{
|
GtkTreeViewColumn * column;
|
||||||
glade_eprop_links_on_param_col_clicked (entry, 0, NULL, eprop);
|
GladeEPropLinks * obj = GLADE_EPROP_LINKS (eprop);
|
||||||
return TRUE;
|
GtkWidget * box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 2);
|
||||||
}
|
|
||||||
else if (event->keyval == GDK_KEY_Delete)
|
|
||||||
{
|
|
||||||
GtkTreeIter iter;
|
|
||||||
gchar * path = GLADE_EPROP_LINKS (eprop)->path;
|
|
||||||
GladeProperty * p = glade_editor_property_get_property (eprop);
|
|
||||||
GtkListStore * store = ((GladeDbList *) g_value_get_boxed (glade_property_inline_value (p)))->list;
|
|
||||||
|
|
||||||
if (gtk_tree_model_get_iter_from_string (GTK_TREE_MODEL (store), &iter, path))
|
glade_list_eprop_create_input ((GladeListEProp *) obj, box,
|
||||||
{
|
_("<b>Add or remove links</b>"));
|
||||||
gtk_list_store_set (store, &iter, PARAM_COL, NULL, -1);
|
|
||||||
return TRUE;
|
cell = gtk_cell_renderer_text_new ();
|
||||||
}
|
g_object_set (cell, "editable", TRUE, NULL);
|
||||||
}
|
column = gtk_tree_view_column_new_with_attributes (_("Column"), cell,
|
||||||
return FALSE;
|
"text", LINKS_FIELD_COL, NULL);
|
||||||
|
gtk_tree_view_column_set_expand (column, TRUE);
|
||||||
|
g_signal_connect (cell, "edited",
|
||||||
|
G_CALLBACK (glade_list_eporp_on_string_col_edited), obj);
|
||||||
|
gtk_tree_view_append_column (obj->view, column);
|
||||||
|
|
||||||
|
glade_list_eprop_add_param_column (obj);
|
||||||
|
|
||||||
|
cell = gtk_cell_renderer_toggle_new ();
|
||||||
|
column = gtk_tree_view_column_new_with_attributes (C_("Verb", "Link"), cell, NULL);
|
||||||
|
gtk_tree_view_column_set_cell_data_func (column, cell, linked_col_cell_data, obj, NULL);
|
||||||
|
g_signal_connect (cell, "toggled",
|
||||||
|
G_CALLBACK (glade_eprop_links_on_linked_col_toggled), obj);
|
||||||
|
gtk_tree_view_append_column (obj->view, column);
|
||||||
|
|
||||||
|
g_object_set (G_OBJECT (box), "height-request", 200, NULL);
|
||||||
|
gtk_widget_show_all (box);
|
||||||
|
return box;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void glade_eprop_links_finalize (GObject * object)
|
||||||
|
{
|
||||||
|
GladeEPropLinks * obj = GLADE_EPROP_LINKS (object);
|
||||||
|
GObjectClass * parent = g_type_class_peek_parent (GLADE_EPROP_LINKS_GET_CLASS (obj));
|
||||||
|
parent->finalize (G_OBJECT (obj));
|
||||||
|
}
|
||||||
|
|
||||||
|
static void glade_eprop_links_load (GladeEditorProperty * eprop, GladeProperty * property)
|
||||||
|
{
|
||||||
|
GladeDbList * list;
|
||||||
|
GladeEPropLinks * obj = GLADE_EPROP_LINKS (eprop);
|
||||||
|
GladeEditorPropertyClass * parent_class =
|
||||||
|
g_type_class_peek_parent (GLADE_EDITOR_PROPERTY_GET_CLASS (eprop));
|
||||||
|
parent_class->load (eprop, property);
|
||||||
|
|
||||||
|
if (!property)
|
||||||
|
return;
|
||||||
|
|
||||||
|
if ((list = g_value_get_boxed (glade_property_inline_value (property))))
|
||||||
|
gtk_tree_view_set_model (obj->view, GTK_TREE_MODEL (list->list));
|
||||||
|
else
|
||||||
|
gtk_tree_view_set_model (obj->view, NULL);
|
||||||
|
}
|
||||||
|
|
||||||
|
//+++++++++++++++++++++++++++++++++++++++++++++++++++ Batch Editor Property
|
||||||
|
|
||||||
|
typedef GladeListEProp GladeEPropBatch;
|
||||||
|
|
||||||
|
enum
|
||||||
|
{
|
||||||
|
BATCH_ID_COL
|
||||||
|
,BATCH_PARAM_COL
|
||||||
|
,BATCH_N_COLS
|
||||||
|
};
|
||||||
|
|
||||||
|
GLADE_MAKE_EPROP (GladeEPropBatch, glade_eprop_batch)
|
||||||
|
#define GLADE_TYPE_EPROP_BATCH (glade_eprop_batch_get_type ())
|
||||||
|
#define GLADE_EPROP_BATCH(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GLADE_TYPE_EPROP_BATCH, GladeEPropBatch))
|
||||||
|
#define GLADE_EPROP_BATCH_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GLADE_TYPE_EPROP_BATCH, GladeEPropBatchClass))
|
||||||
|
#define GLADE_IS_EPROP_BATCH(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GLADE_TYPE_EPROP_BATCH))
|
||||||
|
#define GLADE_IS_EPROP_BATCH_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GLADE_TYPE_EPROP_BATCH))
|
||||||
|
#define GLADE_EPROP_BATCH_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GLADE_EPROP_BATCH, GladeEPropBatchClass))
|
||||||
|
|
||||||
|
static GtkWidget * glade_eprop_batch_create_input (GladeEditorProperty * eprop)
|
||||||
|
{
|
||||||
|
GtkCellRenderer * cell;
|
||||||
|
GtkTreeViewColumn * column;
|
||||||
|
GladeEPropBatch * obj = GLADE_EPROP_BATCH (eprop);
|
||||||
|
GtkWidget * box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 2);
|
||||||
|
|
||||||
|
glade_list_eprop_create_input ((GladeListEProp *) obj, box,
|
||||||
|
_("<b>Add or remove holders</b>"));
|
||||||
|
|
||||||
|
cell = gtk_cell_renderer_text_new ();
|
||||||
|
g_object_set (cell, "editable", TRUE, NULL);
|
||||||
|
column = gtk_tree_view_column_new_with_attributes (_("Identifier"), cell,
|
||||||
|
"text", BATCH_ID_COL, NULL);
|
||||||
|
gtk_tree_view_column_set_expand (column, TRUE);
|
||||||
|
g_signal_connect (cell, "edited",
|
||||||
|
G_CALLBACK (glade_list_eporp_on_string_col_edited), obj);
|
||||||
|
gtk_tree_view_append_column (obj->view, column);
|
||||||
|
|
||||||
|
glade_list_eprop_add_param_column (obj);
|
||||||
|
|
||||||
|
g_object_set (G_OBJECT (box), "height-request", 200, NULL);
|
||||||
|
gtk_widget_show_all (box);
|
||||||
|
return box;
|
||||||
|
}
|
||||||
|
|
||||||
|
void glade_eprop_batch_finalize (GObject * object)
|
||||||
|
{
|
||||||
|
GladeEPropLinks * obj = GLADE_EPROP_LINKS (object);
|
||||||
|
GObjectClass * parent = g_type_class_peek_parent (GLADE_EPROP_LINKS_GET_CLASS (obj));
|
||||||
|
parent->finalize (G_OBJECT (obj));
|
||||||
|
}
|
||||||
|
|
||||||
|
static void glade_eprop_batch_load (GladeEditorProperty * eprop, GladeProperty * property)
|
||||||
|
{
|
||||||
|
GladeDbList * list;
|
||||||
|
GladeEPropBatch * obj = GLADE_EPROP_BATCH (eprop);
|
||||||
|
GladeEditorPropertyClass * parent_class =
|
||||||
|
g_type_class_peek_parent (GLADE_EDITOR_PROPERTY_GET_CLASS (eprop));
|
||||||
|
parent_class->load (eprop, property);
|
||||||
|
|
||||||
|
if (!property)
|
||||||
|
return;
|
||||||
|
|
||||||
|
if ((list = g_value_get_boxed (glade_property_inline_value (property))))
|
||||||
|
gtk_tree_view_set_model (obj->view, GTK_TREE_MODEL (list->list));
|
||||||
|
else
|
||||||
|
gtk_tree_view_set_model (obj->view, NULL);
|
||||||
|
}
|
||||||
|
|
||||||
|
//+++++++++++++++++++++++++++++++++++++++ Methods common to Links and Batch
|
||||||
|
|
||||||
void param_col_cell_data (GtkTreeViewColumn * view, GtkCellRenderer * cell,
|
void param_col_cell_data (GtkTreeViewColumn * view, GtkCellRenderer * cell,
|
||||||
GtkTreeModel * model, GtkTreeIter * iter, gpointer data)
|
GtkTreeModel * model, GtkTreeIter * iter, gpointer data)
|
||||||
{
|
{
|
||||||
GladeWidget * param;
|
GladeWidget * param;
|
||||||
gtk_tree_model_get (model, iter, PARAM_COL, ¶m, -1);
|
gint col = GLADE_IS_EPROP_LINKS (data) ? LINKS_PARAM_COL : BATCH_PARAM_COL;
|
||||||
|
|
||||||
|
gtk_tree_model_get (model, iter, col, ¶m, -1);
|
||||||
|
|
||||||
if (param)
|
if (param)
|
||||||
g_object_set (cell, "text", glade_widget_get_name (param), NULL);
|
g_object_set (cell, "text", glade_widget_get_name (param), NULL);
|
||||||
|
@ -304,10 +420,61 @@ void param_col_cell_data (GtkTreeViewColumn * view, GtkCellRenderer * cell,
|
||||||
g_object_set (cell, "text", "", NULL);
|
g_object_set (cell, "text", "", NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void glade_eporp_links_on_param_col_editing_started (GtkCellRendererText * cell,
|
static void glade_list_eprop_on_param_col_clicked (GtkEntry * entry,
|
||||||
|
GtkEntryIconPosition icon_pos, GdkEvent * event, GladeEditorProperty * eprop)
|
||||||
|
{
|
||||||
|
GtkTreeIter iter;
|
||||||
|
GladeProperty * p = glade_editor_property_get_property (eprop);
|
||||||
|
GladeWidget * widget = glade_property_get_widget (p);
|
||||||
|
GladeProject * project = glade_widget_get_project (widget);
|
||||||
|
GtkListStore * store = ((GladeDbList *) g_value_get_boxed (glade_property_inline_value (p)))->list;
|
||||||
|
gchar * path = ((GladeListEProp *) eprop)->path;
|
||||||
|
gint col = GLADE_IS_EPROP_LINKS (eprop) ? LINKS_PARAM_COL : BATCH_PARAM_COL;
|
||||||
|
|
||||||
|
if (!gtk_tree_model_get_iter_from_string (GTK_TREE_MODEL (store), &iter, path))
|
||||||
|
return;
|
||||||
|
|
||||||
|
gtk_tree_model_get (GTK_TREE_MODEL (store), &iter, col, &widget, -1);
|
||||||
|
|
||||||
|
if (glade_editor_property_show_object_dialog (project,
|
||||||
|
_("Select a GvnParam"), NULL, GVN_TYPE_PARAM, NULL, &widget))
|
||||||
|
{
|
||||||
|
if (widget)
|
||||||
|
gtk_list_store_set (store, &iter, col, widget, -1);
|
||||||
|
else
|
||||||
|
gtk_list_store_set (store, &iter, col, NULL, -1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
static gboolean glade_list_eprop_on_param_key_pressed (GtkEntry * entry,
|
||||||
|
GdkEventKey * event, GladeEditorProperty * eprop)
|
||||||
|
{
|
||||||
|
if (event->keyval == GDK_KEY_Return)
|
||||||
|
{
|
||||||
|
glade_list_eprop_on_param_col_clicked (entry, 0, NULL, eprop);
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
else if (event->keyval == GDK_KEY_Delete)
|
||||||
|
{
|
||||||
|
GtkTreeIter iter;
|
||||||
|
gchar * path = ((GladeListEProp *) eprop)->path;
|
||||||
|
GladeProperty * p = glade_editor_property_get_property (eprop);
|
||||||
|
GtkListStore * store = ((GladeDbList *) g_value_get_boxed (glade_property_inline_value (p)))->list;
|
||||||
|
|
||||||
|
if (gtk_tree_model_get_iter_from_string (GTK_TREE_MODEL (store), &iter, path))
|
||||||
|
{
|
||||||
|
gint col = GLADE_IS_EPROP_LINKS (eprop) ? LINKS_PARAM_COL : BATCH_PARAM_COL;
|
||||||
|
gtk_list_store_set (store, &iter, col, NULL, -1);
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void glade_list_eporp_on_param_col_editing_started (GtkCellRendererText * cell,
|
||||||
GtkEntry * entry, gchar * path, GladeEditorProperty * eprop)
|
GtkEntry * entry, gchar * path, GladeEditorProperty * eprop)
|
||||||
{
|
{
|
||||||
GladeEPropLinks * obj = GLADE_EPROP_LINKS (eprop);
|
GladeListEProp * obj = (GladeListEProp *) eprop;
|
||||||
|
|
||||||
if (GTK_IS_ENTRY (entry))
|
if (GTK_IS_ENTRY (entry))
|
||||||
{
|
{
|
||||||
|
@ -336,9 +503,9 @@ static void glade_eporp_links_on_param_col_editing_started (GtkCellRendererText
|
||||||
obj->path = g_strdup (path);
|
obj->path = g_strdup (path);
|
||||||
|
|
||||||
g_signal_connect (entry, "icon-press",
|
g_signal_connect (entry, "icon-press",
|
||||||
G_CALLBACK (glade_eprop_links_on_param_col_clicked), eprop);
|
G_CALLBACK (glade_list_eprop_on_param_col_clicked), eprop);
|
||||||
g_signal_connect (entry, "key-press-event",
|
g_signal_connect (entry, "key-press-event",
|
||||||
G_CALLBACK (glade_eprop_links_on_param_key_pressed), eprop);
|
G_CALLBACK (glade_list_eprop_on_param_key_pressed), eprop);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -355,42 +522,32 @@ static void glade_eporp_links_on_param_col_editing_started (GtkCellRendererText
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void glade_eporp_links_on_field_col_edited (GtkCellRendererText * cell,
|
static void glade_list_eprop_add_param_column (GladeListEProp * obj)
|
||||||
|
{
|
||||||
|
GtkTreeViewColumn * column;
|
||||||
|
GtkCellRenderer * cell = gtk_cell_renderer_text_new ();
|
||||||
|
g_object_set (cell, "editable", TRUE, NULL);
|
||||||
|
column = gtk_tree_view_column_new_with_attributes (_("Param"), cell, NULL);
|
||||||
|
gtk_tree_view_column_set_cell_data_func (column, cell, param_col_cell_data, obj, NULL);
|
||||||
|
gtk_tree_view_column_set_expand (column, TRUE);
|
||||||
|
g_signal_connect (cell, "editing-started",
|
||||||
|
G_CALLBACK (glade_list_eporp_on_param_col_editing_started), obj);
|
||||||
|
gtk_tree_view_append_column (obj->view, column);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void glade_list_eporp_on_string_col_edited (GtkCellRendererText * cell,
|
||||||
gchar * path, const gchar * text, GladeEditorProperty * eprop)
|
gchar * path, const gchar * text, GladeEditorProperty * eprop)
|
||||||
{
|
{
|
||||||
GtkTreeIter iter;
|
GtkTreeIter iter;
|
||||||
|
gint col = GLADE_IS_EPROP_LINKS (eprop) ? LINKS_FIELD_COL : BATCH_ID_COL;
|
||||||
GladeProperty * p = glade_editor_property_get_property (eprop);
|
GladeProperty * p = glade_editor_property_get_property (eprop);
|
||||||
GladeDbList * list = g_value_get_boxed (glade_property_inline_value (p));
|
GladeDbList * list = g_value_get_boxed (glade_property_inline_value (p));
|
||||||
GtkListStore * store = list->list;
|
GtkListStore * store = list->list;
|
||||||
|
|
||||||
if (!gtk_tree_model_get_iter_from_string (GTK_TREE_MODEL (store), &iter, path))
|
if (!gtk_tree_model_get_iter_from_string (GTK_TREE_MODEL (store), &iter, path))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
gtk_list_store_set (store, &iter, FIELD_COL, text, -1);
|
gtk_list_store_set (store, &iter, col, text, -1);
|
||||||
}
|
|
||||||
|
|
||||||
static void linked_col_cell_data (GtkTreeViewColumn * view, GtkCellRenderer * cell,
|
|
||||||
GtkTreeModel * model, GtkTreeIter * iter, gpointer data)
|
|
||||||
{
|
|
||||||
gboolean val;
|
|
||||||
gtk_tree_model_get (model, iter, LINKED_COL, &val, -1);
|
|
||||||
gtk_cell_renderer_toggle_set_active (GTK_CELL_RENDERER_TOGGLE (cell), val);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void glade_eprop_links_on_linked_col_toggled (GtkCellRendererToggle * cell,
|
|
||||||
gchar * path, GladeEditorProperty * eprop)
|
|
||||||
{
|
|
||||||
gboolean val;
|
|
||||||
GtkTreeIter iter;
|
|
||||||
GladeProperty * p = glade_editor_property_get_property (eprop);
|
|
||||||
GladeDbList * list = g_value_get_boxed (glade_property_inline_value (p));
|
|
||||||
GtkListStore * store = list->list;
|
|
||||||
|
|
||||||
if (!gtk_tree_model_get_iter_from_string (GTK_TREE_MODEL (store), &iter, path))
|
|
||||||
return;
|
|
||||||
|
|
||||||
gtk_tree_model_get (GTK_TREE_MODEL (store), &iter, LINKED_COL, &val, -1);
|
|
||||||
gtk_list_store_set (store, &iter, LINKED_COL, !val, -1);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void glade_widget_on_remove_widget (GladeProject * project,
|
static void glade_widget_on_remove_widget (GladeProject * project,
|
||||||
|
@ -404,18 +561,18 @@ static void glade_widget_on_remove_widget (GladeProject * project,
|
||||||
if (gtk_tree_model_get_iter_first (m, &iter))
|
if (gtk_tree_model_get_iter_first (m, &iter))
|
||||||
do
|
do
|
||||||
{
|
{
|
||||||
|
gint col = 1; // XXX LINKS_PARAM_COL and BATCH_PARAM_COL
|
||||||
GladeWidget * param;
|
GladeWidget * param;
|
||||||
gtk_tree_model_get (m, &iter, PARAM_COL, ¶m, -1);
|
gtk_tree_model_get (m, &iter, col, ¶m, -1);
|
||||||
|
|
||||||
if (param == widget)
|
if (param == widget)
|
||||||
gtk_list_store_set (store, &iter, PARAM_COL, NULL, -1);
|
gtk_list_store_set (store, &iter, col, NULL, -1);
|
||||||
}
|
}
|
||||||
while (gtk_tree_model_iter_next (m, &iter));
|
while (gtk_tree_model_iter_next (m, &iter));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void glade_eporp_links_on_add_clicked (GtkButton * button,
|
static void glade_list_eprop_on_add_clicked (GtkButton * button, GladeListEProp * obj)
|
||||||
GladeEPropLinks * obj)
|
|
||||||
{
|
{
|
||||||
GtkTreeIter iter;
|
GtkTreeIter iter;
|
||||||
GtkTreePath * path;
|
GtkTreePath * path;
|
||||||
|
@ -424,10 +581,16 @@ static void glade_eporp_links_on_add_clicked (GtkButton * button,
|
||||||
GladeProperty * p = glade_editor_property_get_property (GLADE_EDITOR_PROPERTY (obj));
|
GladeProperty * p = glade_editor_property_get_property (GLADE_EDITOR_PROPERTY (obj));
|
||||||
|
|
||||||
if (!(list = g_value_get_boxed (glade_property_inline_value (p))))
|
if (!(list = g_value_get_boxed (glade_property_inline_value (p))))
|
||||||
{
|
{
|
||||||
list = g_new (GladeDbList, 1);
|
list = g_new (GladeDbList, 1);
|
||||||
list->list = gtk_list_store_new (N_COLS,
|
|
||||||
G_TYPE_STRING, GLADE_TYPE_WIDGET, G_TYPE_BOOLEAN);
|
if (GLADE_IS_EPROP_LINKS (obj))
|
||||||
|
list->list = gtk_list_store_new (LINKS_N_COLS,
|
||||||
|
G_TYPE_STRING, GLADE_TYPE_WIDGET, G_TYPE_BOOLEAN);
|
||||||
|
else
|
||||||
|
list->list = gtk_list_store_new (BATCH_N_COLS,
|
||||||
|
G_TYPE_STRING, GLADE_TYPE_WIDGET);
|
||||||
|
|
||||||
glade_property_set (p, list);
|
glade_property_set (p, list);
|
||||||
|
|
||||||
g_signal_connect (glade_widget_get_project (glade_property_get_widget (p)),
|
g_signal_connect (glade_widget_get_project (glade_property_get_widget (p)),
|
||||||
|
@ -447,8 +610,8 @@ static void glade_eporp_links_on_add_clicked (GtkButton * button,
|
||||||
gtk_tree_path_free (path);
|
gtk_tree_path_free (path);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void glade_eporp_links_on_remove_clicked (GtkButton * button,
|
static void glade_list_eprop_on_remove_clicked (GtkButton * button,
|
||||||
GladeEPropLinks * obj)
|
GladeListEProp * obj)
|
||||||
{
|
{
|
||||||
GtkTreeIter iter;
|
GtkTreeIter iter;
|
||||||
GtkListStore * store;
|
GtkListStore * store;
|
||||||
|
@ -472,34 +635,31 @@ static void glade_eporp_links_on_remove_clicked (GtkButton * button,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static gboolean glade_eprop_links_on_view_key_press (GtkWidget * treeview,
|
static gboolean glade_list_eprop_on_view_key_press (GtkWidget * treeview,
|
||||||
GdkEventKey * event, GladeEPropLinks * obj)
|
GdkEventKey * event, GladeListEProp * obj)
|
||||||
{
|
{
|
||||||
if (event->keyval == GDK_KEY_Delete)
|
if (event->keyval == GDK_KEY_Delete)
|
||||||
{
|
{
|
||||||
glade_eporp_links_on_remove_clicked (NULL, obj);
|
glade_list_eprop_on_remove_clicked (NULL, obj);
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
else if ((event->state & GDK_CONTROL_MASK) != 0
|
else if ((event->state & GDK_CONTROL_MASK) != 0
|
||||||
&& (event->keyval == GDK_KEY_n || event->keyval == GDK_KEY_N))
|
&& (event->keyval == GDK_KEY_n || event->keyval == GDK_KEY_N))
|
||||||
{
|
{
|
||||||
glade_eporp_links_on_add_clicked (NULL, obj);
|
glade_list_eprop_on_add_clicked (NULL, obj);
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
static GtkWidget * glade_eprop_links_create_input (GladeEditorProperty * eprop)
|
static void glade_list_eprop_create_input (GladeListEProp * obj, GtkWidget * box,
|
||||||
|
gchar * string)
|
||||||
{
|
{
|
||||||
GtkCellRenderer * cell;
|
|
||||||
GtkTreeViewColumn * column;
|
|
||||||
GladeEPropLinks * obj = GLADE_EPROP_LINKS (eprop);
|
|
||||||
GtkWidget * scroll, * button, * label,
|
GtkWidget * scroll, * button, * label,
|
||||||
* hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 4),
|
* hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 4);
|
||||||
* box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 2);
|
|
||||||
|
|
||||||
label = gtk_label_new (_("<b>Add or remove links</b>"));
|
label = gtk_label_new (string);
|
||||||
gtk_label_set_use_markup (GTK_LABEL (label), TRUE);
|
gtk_label_set_use_markup (GTK_LABEL (label), TRUE);
|
||||||
gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5);
|
gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5);
|
||||||
gtk_misc_set_padding (GTK_MISC (label), 2, 4);
|
gtk_misc_set_padding (GTK_MISC (label), 2, 4);
|
||||||
|
@ -507,16 +667,14 @@ static GtkWidget * glade_eprop_links_create_input (GladeEditorProperty * eprop)
|
||||||
|
|
||||||
button = gtk_button_new ();
|
button = gtk_button_new ();
|
||||||
gtk_button_set_image (GTK_BUTTON (button),
|
gtk_button_set_image (GTK_BUTTON (button),
|
||||||
gtk_image_new_from_icon_name ("list-add", GTK_ICON_SIZE_BUTTON));
|
gtk_image_new_from_icon_name ("list-add-symbolic", GTK_ICON_SIZE_BUTTON));
|
||||||
g_signal_connect (button, "clicked",
|
g_signal_connect (button, "clicked", G_CALLBACK (glade_list_eprop_on_add_clicked), obj);
|
||||||
G_CALLBACK (glade_eporp_links_on_add_clicked), obj);
|
|
||||||
gtk_box_pack_start (GTK_BOX (hbox), button, FALSE, FALSE, 0);
|
gtk_box_pack_start (GTK_BOX (hbox), button, FALSE, FALSE, 0);
|
||||||
|
|
||||||
button = gtk_button_new ();
|
button = gtk_button_new ();
|
||||||
gtk_button_set_image (GTK_BUTTON (button),
|
gtk_button_set_image (GTK_BUTTON (button),
|
||||||
gtk_image_new_from_icon_name ("list-remove", GTK_ICON_SIZE_BUTTON));
|
gtk_image_new_from_icon_name ("list-remove-symbolic", GTK_ICON_SIZE_BUTTON));
|
||||||
g_signal_connect (button, "clicked",
|
g_signal_connect (button, "clicked", G_CALLBACK (glade_list_eprop_on_remove_clicked), obj);
|
||||||
G_CALLBACK (glade_eporp_links_on_remove_clicked), obj);
|
|
||||||
gtk_box_pack_start (GTK_BOX (hbox), button, FALSE, FALSE, 0);
|
gtk_box_pack_start (GTK_BOX (hbox), button, FALSE, FALSE, 0);
|
||||||
|
|
||||||
gtk_box_pack_start (GTK_BOX (box), hbox, FALSE, FALSE, 0);
|
gtk_box_pack_start (GTK_BOX (box), hbox, FALSE, FALSE, 0);
|
||||||
|
@ -528,111 +686,30 @@ static GtkWidget * glade_eprop_links_create_input (GladeEditorProperty * eprop)
|
||||||
gtk_box_pack_start (GTK_BOX (box), scroll, TRUE, TRUE, 0);
|
gtk_box_pack_start (GTK_BOX (box), scroll, TRUE, TRUE, 0);
|
||||||
|
|
||||||
obj->view = GTK_TREE_VIEW (gtk_tree_view_new ());
|
obj->view = GTK_TREE_VIEW (gtk_tree_view_new ());
|
||||||
g_signal_connect (obj->view, "key-press-event",
|
g_signal_connect (obj->view, "key-press-event", G_CALLBACK (glade_list_eprop_on_view_key_press), obj);
|
||||||
G_CALLBACK (glade_eprop_links_on_view_key_press), obj);
|
|
||||||
gtk_container_add (GTK_CONTAINER (scroll), GTK_WIDGET (obj->view));
|
gtk_container_add (GTK_CONTAINER (scroll), GTK_WIDGET (obj->view));
|
||||||
|
|
||||||
cell = gtk_cell_renderer_text_new ();
|
|
||||||
g_object_set (cell, "editable", TRUE, NULL);
|
|
||||||
column = gtk_tree_view_column_new_with_attributes (_("Column"), cell,
|
|
||||||
"text", FIELD_COL, NULL);
|
|
||||||
gtk_tree_view_column_set_expand (column, TRUE);
|
|
||||||
g_signal_connect (cell, "edited",
|
|
||||||
G_CALLBACK (glade_eporp_links_on_field_col_edited), obj);
|
|
||||||
gtk_tree_view_append_column (obj->view, column);
|
|
||||||
|
|
||||||
cell = gtk_cell_renderer_text_new ();
|
|
||||||
g_object_set (cell, "editable", TRUE, NULL);
|
|
||||||
column = gtk_tree_view_column_new_with_attributes (_("Param"), cell, NULL);
|
|
||||||
gtk_tree_view_column_set_cell_data_func (column, cell, param_col_cell_data, obj, NULL);
|
|
||||||
gtk_tree_view_column_set_expand (column, TRUE);
|
|
||||||
g_signal_connect (cell, "editing-started",
|
|
||||||
G_CALLBACK (glade_eporp_links_on_param_col_editing_started), obj);
|
|
||||||
gtk_tree_view_append_column (obj->view, column);
|
|
||||||
|
|
||||||
cell = gtk_cell_renderer_toggle_new ();
|
|
||||||
column = gtk_tree_view_column_new_with_attributes (C_("Verb", "Link"), cell, NULL);
|
|
||||||
gtk_tree_view_column_set_cell_data_func (column, cell, linked_col_cell_data, obj, NULL);
|
|
||||||
g_signal_connect (cell, "toggled",
|
|
||||||
G_CALLBACK (glade_eprop_links_on_linked_col_toggled), obj);
|
|
||||||
gtk_tree_view_append_column (obj->view, column);
|
|
||||||
|
|
||||||
g_object_set (G_OBJECT (box), "height-request", 200, NULL);
|
|
||||||
gtk_widget_show_all (box);
|
|
||||||
return box;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void glade_eprop_links_finalize (GObject * object)
|
|
||||||
{
|
|
||||||
GladeEPropLinks * obj = GLADE_EPROP_LINKS (object);
|
|
||||||
GObjectClass * parent =
|
|
||||||
g_type_class_peek_parent (GLADE_EPROP_LINKS_GET_CLASS (obj));
|
|
||||||
parent->finalize (G_OBJECT (obj));
|
|
||||||
}
|
|
||||||
|
|
||||||
static void glade_eprop_links_load (GladeEditorProperty * eprop, GladeProperty * property)
|
|
||||||
{
|
|
||||||
GladeDbList * list;
|
|
||||||
GladeEPropLinks * obj = GLADE_EPROP_LINKS (eprop);
|
|
||||||
GladeEditorPropertyClass * parent_class =
|
|
||||||
g_type_class_peek_parent (GLADE_EDITOR_PROPERTY_GET_CLASS (eprop));
|
|
||||||
parent_class->load (eprop, property);
|
|
||||||
|
|
||||||
if (!property)
|
|
||||||
return;
|
|
||||||
|
|
||||||
if ((list = g_value_get_boxed (glade_property_inline_value (property))))
|
|
||||||
gtk_tree_view_set_model (obj->view, GTK_TREE_MODEL (list->list));
|
|
||||||
else
|
|
||||||
gtk_tree_view_set_model (obj->view, NULL);
|
|
||||||
}
|
|
||||||
|
|
||||||
//+++++++++++++++++++++++++++++++++++++++++++++++++++ Batch Editor Property
|
|
||||||
/*
|
|
||||||
TODO Implementar!
|
|
||||||
typedef struct
|
|
||||||
{
|
|
||||||
GladeEditorProperty parent;
|
|
||||||
|
|
||||||
GtkTreeView * view;
|
|
||||||
gchar * path;
|
|
||||||
}
|
|
||||||
GladeEPropBatch;
|
|
||||||
|
|
||||||
GLADE_MAKE_EPROP (GladeEPropBatch, glade_eprop_batch)
|
|
||||||
#define GLADE_TYPE_EPROP_BATCH (glade_eprop_batch_get_type ())
|
|
||||||
#define GLADE_EPROP_BATCH(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GLADE_TYPE_EPROP_BATCH, GladeEPropBatch))
|
|
||||||
#define GLADE_EPROP_BATCH_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GLADE_TYPE_EPROP_BATCH, GladeEPropBatchClass))
|
|
||||||
#define GLADE_IS_EPROP_BATCH(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GLADE_TYPE_EPROP_BATCH))
|
|
||||||
#define GLADE_IS_EPROP_BATCH_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GLADE_TYPE_EPROP_BATCH))
|
|
||||||
#define GLADE_EPROP_BATCH_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GLADE_EPROP_BATCH, GladeEPropBatchClass))
|
|
||||||
|
|
||||||
static GtkWidget * glade_eprop_links_create_input (GladeEditorProperty * eprop)
|
|
||||||
{}
|
|
||||||
|
|
||||||
static void glade_eprop_links_finalize (GObject * object)
|
|
||||||
{}
|
|
||||||
|
|
||||||
static void glade_eprop_links_load (GladeEditorProperty * eprop, GladeProperty * property)
|
|
||||||
{}
|
|
||||||
*/
|
|
||||||
//++++++++++++++++++++++++++++++++++++++++++++++++++ DbModel Widget Adaptor
|
//++++++++++++++++++++++++++++++++++++++++++++++++++ DbModel Widget Adaptor
|
||||||
|
|
||||||
GladeEditorProperty * glade_db_model_create_eprop (GladeWidgetAdaptor * adaptor,
|
GladeEditorProperty * glade_db_model_create_eprop (GladeWidgetAdaptor * adaptor,
|
||||||
GladePropertyClass * klass, gboolean use_command)
|
GladePropertyClass * klass, gboolean use_command)
|
||||||
{
|
{
|
||||||
GladeEditorProperty * eprop;
|
GladeEditorProperty * eprop;
|
||||||
GParamSpec * pspec = glade_property_class_get_pspec (klass);
|
const gchar * prop_id = glade_property_class_id (klass);
|
||||||
|
|
||||||
if (!g_strcmp0 (pspec->name, "sql"))
|
if (!g_strcmp0 (prop_id, "sql"))
|
||||||
eprop = g_object_new (GLADE_TYPE_EPROP_SQL,
|
eprop = g_object_new (GLADE_TYPE_EPROP_SQL,
|
||||||
"property-class", klass,
|
"property-class", klass,
|
||||||
"use-command", use_command, NULL);
|
"use-command", use_command, NULL);
|
||||||
else if (pspec->value_type == GLADE_TYPE_DB_LIST)
|
else if (!g_strcmp0 (prop_id, "links"))
|
||||||
// TODO Encontrar una forma de diferenciar entre "Links" y "Batch"
|
|
||||||
eprop = g_object_new (GLADE_TYPE_EPROP_LINKS,
|
eprop = g_object_new (GLADE_TYPE_EPROP_LINKS,
|
||||||
"property-class", klass,
|
"property-class", klass,
|
||||||
"use-command", use_command, NULL);
|
"use-command", use_command, NULL);
|
||||||
|
else if (!g_strcmp0 (prop_id, "batch"))
|
||||||
|
eprop = g_object_new (GLADE_TYPE_EPROP_BATCH,
|
||||||
|
"property-class", klass,
|
||||||
|
"use-command", use_command, NULL);
|
||||||
else
|
else
|
||||||
eprop = GWA_GET_CLASS (G_TYPE_OBJECT)->create_eprop (adaptor,
|
eprop = GWA_GET_CLASS (G_TYPE_OBJECT)->create_eprop (adaptor,
|
||||||
klass, use_command);
|
klass, use_command);
|
||||||
|
@ -656,9 +733,8 @@ void glade_db_model_write_widget (GladeWidgetAdaptor * adaptor,
|
||||||
GladeWidget * widget, GladeXmlContext * context, GladeXmlNode * node)
|
GladeWidget * widget, GladeXmlContext * context, GladeXmlNode * node)
|
||||||
{
|
{
|
||||||
GtkTreeIter iter;
|
GtkTreeIter iter;
|
||||||
GladeDbList * l;
|
|
||||||
GtkTreeModel * m;
|
GtkTreeModel * m;
|
||||||
GladeXmlNode * links_node;
|
GladeDbList * l;
|
||||||
GladeProperty * prop;
|
GladeProperty * prop;
|
||||||
|
|
||||||
if (!glade_xml_node_verify (node, GLADE_XML_TAG_WIDGET))
|
if (!glade_xml_node_verify (node, GLADE_XML_TAG_WIDGET))
|
||||||
|
@ -671,51 +747,93 @@ void glade_db_model_write_widget (GladeWidgetAdaptor * adaptor,
|
||||||
glade_property_write (prop, context, node);
|
glade_property_write (prop, context, node);
|
||||||
|
|
||||||
GWA_GET_CLASS (G_TYPE_OBJECT)->write_widget (adaptor, widget, context, node);
|
GWA_GET_CLASS (G_TYPE_OBJECT)->write_widget (adaptor, widget, context, node);
|
||||||
|
//FIXME
|
||||||
prop = glade_widget_get_property (widget, "links");
|
prop = glade_widget_get_property (widget, "links");
|
||||||
// Custom tag for the "links" property, e.g.:
|
// Custom tag for the "links" property, e.g.:
|
||||||
// <links>
|
// <links>
|
||||||
// <link field="table.name" param="param1" linked="TRUE"/>
|
// <link field="table.name" param="param1" linked="TRUE"/>
|
||||||
// </links>
|
// </links>
|
||||||
if (!(l = g_value_get_boxed (glade_property_inline_value (prop))))
|
if ((l = g_value_get_boxed (glade_property_inline_value (prop))))
|
||||||
return;
|
|
||||||
|
|
||||||
m = GTK_TREE_MODEL (l->list);
|
|
||||||
|
|
||||||
if (!gtk_tree_model_get_iter_first (m, &iter))
|
|
||||||
return;
|
|
||||||
|
|
||||||
links_node = glade_xml_node_new (context, "links");
|
|
||||||
|
|
||||||
do
|
|
||||||
{
|
{
|
||||||
gchar * field;
|
m = GTK_TREE_MODEL (l->list);
|
||||||
GladeWidget * param;
|
|
||||||
gboolean linked;
|
|
||||||
GladeXmlNode * link_node;
|
|
||||||
|
|
||||||
gtk_tree_model_get (m, &iter
|
if (gtk_tree_model_get_iter_first (m, &iter))
|
||||||
,FIELD_COL, &field
|
{
|
||||||
,PARAM_COL, ¶m
|
GladeXmlNode * links_node = glade_xml_node_new (context, "links");
|
||||||
,LINKED_COL, &linked
|
|
||||||
, -1);
|
|
||||||
|
|
||||||
link_node = glade_xml_node_new (context, "link");
|
do
|
||||||
glade_xml_node_append_child (links_node, link_node);
|
{
|
||||||
glade_xml_node_set_property_string (link_node, "field",
|
gchar * field;
|
||||||
field ? field : "");
|
GladeWidget * param;
|
||||||
glade_xml_node_set_property_string (link_node, "param",
|
gboolean linked;
|
||||||
param ? glade_widget_get_name (param) : "");
|
GladeXmlNode * link_node;
|
||||||
glade_xml_node_set_property_boolean (link_node, "linked", linked);
|
|
||||||
|
|
||||||
g_free (field);
|
gtk_tree_model_get (m, &iter
|
||||||
|
,LINKS_FIELD_COL, &field
|
||||||
|
,LINKS_PARAM_COL, ¶m
|
||||||
|
,LINKS_LINKED_COL, &linked
|
||||||
|
, -1);
|
||||||
|
|
||||||
|
link_node = glade_xml_node_new (context, "link");
|
||||||
|
glade_xml_node_append_child (links_node, link_node);
|
||||||
|
glade_xml_node_set_property_string (link_node,
|
||||||
|
"field", field ? field : "");
|
||||||
|
glade_xml_node_set_property_string (link_node, "param",
|
||||||
|
param ? glade_widget_get_name (param) : "");
|
||||||
|
glade_xml_node_set_property_boolean (link_node, "linked", linked);
|
||||||
|
|
||||||
|
g_free (field);
|
||||||
|
}
|
||||||
|
while (gtk_tree_model_iter_next (m, &iter));
|
||||||
|
|
||||||
|
if (!glade_xml_node_get_children (links_node))
|
||||||
|
glade_xml_node_delete (links_node);
|
||||||
|
else
|
||||||
|
glade_xml_node_append_child (node, links_node);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
while (gtk_tree_model_iter_next (m, &iter));
|
|
||||||
|
prop = glade_widget_get_property (widget, "batch");
|
||||||
|
// Custom tag for the "links" property, e.g.:
|
||||||
|
// <batch>
|
||||||
|
// <holder id="name" param="param1"/>
|
||||||
|
// </batch>
|
||||||
|
if ((l = g_value_get_boxed (glade_property_inline_value (prop))))
|
||||||
|
{
|
||||||
|
m = GTK_TREE_MODEL (l->list);
|
||||||
|
|
||||||
if (!glade_xml_node_get_children (links_node))
|
if (gtk_tree_model_get_iter_first (m, &iter))
|
||||||
glade_xml_node_delete (links_node);
|
{
|
||||||
else
|
GladeXmlNode * batch_node = glade_xml_node_new (context, "batch");
|
||||||
glade_xml_node_append_child (node, links_node);
|
|
||||||
|
do
|
||||||
|
{
|
||||||
|
gchar * id;
|
||||||
|
GladeWidget * param;
|
||||||
|
GladeXmlNode * holder_node;
|
||||||
|
|
||||||
|
gtk_tree_model_get (m, &iter
|
||||||
|
,BATCH_ID_COL, &id
|
||||||
|
,BATCH_PARAM_COL, ¶m
|
||||||
|
, -1);
|
||||||
|
|
||||||
|
holder_node = glade_xml_node_new (context, "holder");
|
||||||
|
glade_xml_node_append_child (batch_node, holder_node);
|
||||||
|
glade_xml_node_set_property_string (holder_node,
|
||||||
|
"id", id ? id : "");
|
||||||
|
glade_xml_node_set_property_string (holder_node, "param",
|
||||||
|
param ? glade_widget_get_name (param) : "");
|
||||||
|
|
||||||
|
g_free (id);
|
||||||
|
}
|
||||||
|
while (gtk_tree_model_iter_next (m, &iter));
|
||||||
|
|
||||||
|
if (!glade_xml_node_get_children (batch_node))
|
||||||
|
glade_xml_node_delete (batch_node);
|
||||||
|
else
|
||||||
|
glade_xml_node_append_child (node, batch_node);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
typedef struct
|
typedef struct
|
||||||
|
@ -729,8 +847,9 @@ ParseData;
|
||||||
void glade_db_model_on_parse_finished (GladeProject * p, ParseData * pd)
|
void glade_db_model_on_parse_finished (GladeProject * p, ParseData * pd)
|
||||||
{
|
{
|
||||||
GladeWidget * param = glade_project_get_widget_by_name (p, pd->param_name);
|
GladeWidget * param = glade_project_get_widget_by_name (p, pd->param_name);
|
||||||
|
gint col = 1;// XXX LINKS_PARAM_COL and BATCH_PARAM_COL
|
||||||
|
|
||||||
gtk_list_store_set (pd->store, pd->iter, PARAM_COL, param, -1);
|
gtk_list_store_set (pd->store, pd->iter, col, param, -1);
|
||||||
|
|
||||||
g_object_unref (pd->store);
|
g_object_unref (pd->store);
|
||||||
gtk_tree_iter_free (pd->iter);
|
gtk_tree_iter_free (pd->iter);
|
||||||
|
@ -741,7 +860,7 @@ void glade_db_model_on_parse_finished (GladeProject * p, ParseData * pd)
|
||||||
void glade_db_model_read_widget (GladeWidgetAdaptor * adaptor,
|
void glade_db_model_read_widget (GladeWidgetAdaptor * adaptor,
|
||||||
GladeWidget * widget, GladeXmlNode * node)
|
GladeWidget * widget, GladeXmlNode * node)
|
||||||
{
|
{
|
||||||
GladeXmlNode * links_node;
|
GladeXmlNode * prop_node;
|
||||||
GladeProperty * prop;
|
GladeProperty * prop;
|
||||||
GladeProject * proj;
|
GladeProject * proj;
|
||||||
GladeDbList * list;
|
GladeDbList * list;
|
||||||
|
@ -752,51 +871,99 @@ void glade_db_model_read_widget (GladeWidgetAdaptor * adaptor,
|
||||||
|
|
||||||
GWA_GET_CLASS (G_TYPE_OBJECT)->read_widget (adaptor, widget, node);
|
GWA_GET_CLASS (G_TYPE_OBJECT)->read_widget (adaptor, widget, node);
|
||||||
|
|
||||||
if ((links_node = glade_xml_search_child (node, "links")) == NULL)
|
if ((prop_node = glade_xml_search_child (node, "links")))
|
||||||
return;
|
|
||||||
|
|
||||||
proj = glade_widget_get_project (widget);
|
|
||||||
list = g_new (GladeDbList, 1);
|
|
||||||
store = gtk_list_store_new (N_COLS, G_TYPE_STRING, GLADE_TYPE_WIDGET, G_TYPE_BOOLEAN);
|
|
||||||
list->list = store;
|
|
||||||
|
|
||||||
for (links_node = glade_xml_node_get_children (links_node); links_node;
|
|
||||||
links_node = glade_xml_node_next (links_node))
|
|
||||||
{
|
{
|
||||||
GtkTreeIter iter;
|
GladeXmlNode * links_node = prop_node;
|
||||||
gint col = PARAM_COL;
|
proj = glade_widget_get_project (widget);
|
||||||
gchar * field = glade_xml_get_property_string (links_node, "field"),
|
list = g_new (GladeDbList, 1);
|
||||||
* param_name = glade_xml_get_property_string (links_node, "param");
|
store = gtk_list_store_new (LINKS_N_COLS, G_TYPE_STRING, GLADE_TYPE_WIDGET, G_TYPE_BOOLEAN);
|
||||||
gboolean linked = glade_xml_get_property_boolean (links_node, "linked", TRUE);
|
list->list = store;
|
||||||
GladeWidget * param = glade_project_get_widget_by_name (proj, param_name);
|
|
||||||
|
|
||||||
gtk_list_store_append (store, &iter);
|
for (links_node = glade_xml_node_get_children (links_node); links_node;
|
||||||
|
links_node = glade_xml_node_next (links_node))
|
||||||
if (!param)
|
|
||||||
{
|
{
|
||||||
// If the parameter hasn't been read yet, load it after the parse
|
GtkTreeIter iter;
|
||||||
ParseData * pd;
|
gint col = LINKS_PARAM_COL;
|
||||||
pd = g_new (ParseData, 1);
|
gchar * field = glade_xml_get_property_string (links_node, "field"),
|
||||||
pd->store = g_object_ref (store);
|
* param_name = glade_xml_get_property_string (links_node, "param");
|
||||||
pd->iter = gtk_tree_iter_copy (&iter);
|
gboolean linked = glade_xml_get_property_boolean (links_node, "linked", TRUE);
|
||||||
pd->param_name = g_strdup (param_name);
|
GladeWidget * param = glade_project_get_widget_by_name (proj, param_name);
|
||||||
|
|
||||||
g_signal_connect (proj, "parse-finished",
|
gtk_list_store_append (store, &iter);
|
||||||
G_CALLBACK (glade_db_model_on_parse_finished), pd);
|
|
||||||
|
|
||||||
col = -1;
|
if (!param)
|
||||||
|
{
|
||||||
|
// If the parameter hasn't been read yet, load it after the parse
|
||||||
|
ParseData * pd;
|
||||||
|
pd = g_new (ParseData, 1);
|
||||||
|
pd->store = g_object_ref (store);
|
||||||
|
pd->iter = gtk_tree_iter_copy (&iter);
|
||||||
|
pd->param_name = g_strdup (param_name);
|
||||||
|
|
||||||
|
g_signal_connect (proj, "parse-finished",
|
||||||
|
G_CALLBACK (glade_db_model_on_parse_finished), pd);
|
||||||
|
|
||||||
|
col = -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
gtk_list_store_set (store, &iter
|
||||||
|
,LINKS_FIELD_COL, field
|
||||||
|
,LINKS_LINKED_COL, linked
|
||||||
|
,col, param
|
||||||
|
,-1);
|
||||||
|
|
||||||
|
g_free (field);
|
||||||
|
g_free (param_name);
|
||||||
}
|
}
|
||||||
|
|
||||||
gtk_list_store_set (store, &iter
|
prop = glade_widget_get_property (widget, "links");
|
||||||
,FIELD_COL, field
|
glade_property_set (prop, list);
|
||||||
,LINKED_COL, linked
|
|
||||||
,col, param
|
|
||||||
,-1);
|
|
||||||
|
|
||||||
g_free (field);
|
|
||||||
g_free (param_name);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
prop = glade_widget_get_property (widget, "links");
|
if ((prop_node = glade_xml_search_child (node, "batch")))
|
||||||
glade_property_set (prop, list);
|
{
|
||||||
|
GladeXmlNode * batch_node = prop_node;
|
||||||
|
proj = glade_widget_get_project (widget);
|
||||||
|
list = g_new (GladeDbList, 1);
|
||||||
|
store = gtk_list_store_new (BATCH_N_COLS, G_TYPE_STRING, GLADE_TYPE_WIDGET);
|
||||||
|
list->list = store;
|
||||||
|
|
||||||
|
for (batch_node = glade_xml_node_get_children (batch_node); batch_node;
|
||||||
|
batch_node = glade_xml_node_next (batch_node))
|
||||||
|
{
|
||||||
|
GtkTreeIter iter;
|
||||||
|
gint col = BATCH_PARAM_COL;
|
||||||
|
gchar * id = glade_xml_get_property_string (batch_node, "id"),
|
||||||
|
* param_name = glade_xml_get_property_string (batch_node, "param");
|
||||||
|
GladeWidget * param = glade_project_get_widget_by_name (proj, param_name);
|
||||||
|
|
||||||
|
gtk_list_store_append (store, &iter);
|
||||||
|
|
||||||
|
if (!param)
|
||||||
|
{
|
||||||
|
// If the parameter hasn't been read yet, load it after the parse
|
||||||
|
ParseData * pd;
|
||||||
|
pd = g_new (ParseData, 1);
|
||||||
|
pd->store = g_object_ref (store);
|
||||||
|
pd->iter = gtk_tree_iter_copy (&iter);
|
||||||
|
pd->param_name = g_strdup (param_name);
|
||||||
|
|
||||||
|
g_signal_connect (proj, "parse-finished",
|
||||||
|
G_CALLBACK (glade_db_model_on_parse_finished), pd);
|
||||||
|
|
||||||
|
col = -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
gtk_list_store_set (store, &iter
|
||||||
|
,BATCH_ID_COL, id
|
||||||
|
,col, param
|
||||||
|
,-1);
|
||||||
|
|
||||||
|
g_free (id);
|
||||||
|
g_free (param_name);
|
||||||
|
}
|
||||||
|
|
||||||
|
prop = glade_widget_get_property (widget, "batch");
|
||||||
|
glade_property_set (prop, list);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -81,8 +81,7 @@ static GladeWidget * glade_model_create (GladeProperty * prop)
|
||||||
{
|
{
|
||||||
batch_w = glade_command_create
|
batch_w = glade_command_create
|
||||||
(glade_widget_adaptor_get_by_type (VN_TYPE_BATCH), NULL, NULL, project);
|
(glade_widget_adaptor_get_by_type (VN_TYPE_BATCH), NULL, NULL, project);
|
||||||
glade_widget_set_name (batch_w,
|
glade_widget_set_name (batch_w, "models");
|
||||||
glade_project_new_widget_name (project, batch_w, "models"));
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
batch_w = glade_widget_get_from_gobject (batch);
|
batch_w = glade_widget_get_from_gobject (batch);
|
||||||
|
@ -349,4 +348,4 @@ void glade_db_model_action_activate (GladeWidgetAdaptor * adaptor,
|
||||||
{
|
{
|
||||||
glade_eprop_model_show_dialog (NULL,
|
glade_eprop_model_show_dialog (NULL,
|
||||||
(GObject *) glade_widget_get_from_gobject (model));
|
(GObject *) glade_widget_get_from_gobject (model));
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (C) 2012 - Juan Ferrer Toribio
|
* Copyright (C) 2013 - Juan Ferrer Toribio
|
||||||
*
|
*
|
||||||
* This program is free software: you can redistribute it and/or modify
|
* This program is free software: you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
|
|
@ -17,6 +17,18 @@
|
||||||
|
|
||||||
#include "glade-vn.h"
|
#include "glade-vn.h"
|
||||||
|
|
||||||
|
GObject * glade_vn_field_get_internal_child (GladeWidgetAdaptor * adaptor,
|
||||||
|
GObject * parent, const gchar * name)
|
||||||
|
{
|
||||||
|
return G_OBJECT (vn_field_get_widget (VN_FIELD (parent)));
|
||||||
|
}
|
||||||
|
|
||||||
|
GObject * glade_vn_column_get_internal_child (GladeWidgetAdaptor * adaptor,
|
||||||
|
GObject * parent, const gchar * name)
|
||||||
|
{
|
||||||
|
return G_OBJECT (vn_column_get_cell_renderer (VN_COLUMN (parent)));
|
||||||
|
}
|
||||||
|
|
||||||
gboolean glade_vn_set_first_catalog (gpointer catalog_name)
|
gboolean glade_vn_set_first_catalog (gpointer catalog_name)
|
||||||
{
|
{
|
||||||
GList * l, * catalogs = glade_app_get_catalogs (),
|
GList * l, * catalogs = glade_app_get_catalogs (),
|
||||||
|
|
21
glade/vn.xml
21
glade/vn.xml
|
@ -32,6 +32,12 @@
|
||||||
<value-type>GladeDbList</value-type>
|
<value-type>GladeDbList</value-type>
|
||||||
</parameter-spec>
|
</parameter-spec>
|
||||||
</property>
|
</property>
|
||||||
|
<property id="batch" save="False" ignore="True" disabled="True" name="Batch">
|
||||||
|
<parameter-spec>
|
||||||
|
<type>GParamBoxed</type>
|
||||||
|
<value-type>GladeDbList</value-type>
|
||||||
|
</parameter-spec>
|
||||||
|
</property>
|
||||||
</properties>
|
</properties>
|
||||||
<create-editor-property-function>glade_db_model_create_eprop</create-editor-property-function>
|
<create-editor-property-function>glade_db_model_create_eprop</create-editor-property-function>
|
||||||
<create-editable-function>glade_db_model_create_editable</create-editable-function>
|
<create-editable-function>glade_db_model_create_editable</create-editable-function>
|
||||||
|
@ -88,6 +94,13 @@
|
||||||
|
|
||||||
<glade-widget-class name="VnGrid" generic-name="grid" title="Grid" icon-name="widget-gtk-treeview"/>
|
<glade-widget-class name="VnGrid" generic-name="grid" title="Grid" icon-name="widget-gtk-treeview"/>
|
||||||
|
|
||||||
|
<glade-widget-class name="VnColumn" title="Column">
|
||||||
|
<internal-children>
|
||||||
|
<object name="cell"/>
|
||||||
|
</internal-children>
|
||||||
|
<get-internal-child-function>glade_vn_column_get_internal_child</get-internal-child-function>
|
||||||
|
</glade-widget-class>
|
||||||
|
|
||||||
<glade-widget-class name="VnColumnCheck" generic-name="column-check" title="Column Check" icon-name="widget-gtk-cellrenderertoggle"/>
|
<glade-widget-class name="VnColumnCheck" generic-name="column-check" title="Column Check" icon-name="widget-gtk-cellrenderertoggle"/>
|
||||||
<glade-widget-class name="VnColumnEntry" generic-name="column-entry" title="Column Entry" icon-name="widget-gtk-cellrenderertext"/>
|
<glade-widget-class name="VnColumnEntry" generic-name="column-entry" title="Column Entry" icon-name="widget-gtk-cellrenderertext"/>
|
||||||
|
|
||||||
|
@ -129,7 +142,13 @@
|
||||||
</properties>
|
</properties>
|
||||||
</glade-widget-class>
|
</glade-widget-class>
|
||||||
|
|
||||||
<glade-widget-class name="VnField" title="Field"/>
|
<glade-widget-class name="VnField" title="Field">
|
||||||
|
<internal-children>
|
||||||
|
<object name="widget"/>
|
||||||
|
</internal-children>
|
||||||
|
<get-internal-child-function>glade_vn_field_get_internal_child</get-internal-child-function>
|
||||||
|
</glade-widget-class>
|
||||||
|
|
||||||
<glade-widget-class name="VnCombo" generic-name="combo" title="Combo Box Field" icon-name="widget-gtk-combobox">
|
<glade-widget-class name="VnCombo" generic-name="combo" title="Combo Box Field" icon-name="widget-gtk-combobox">
|
||||||
<properties>
|
<properties>
|
||||||
<property id="model" ignore="True">
|
<property id="model" ignore="True">
|
||||||
|
|
|
@ -4,9 +4,9 @@ exampledir = $(module_datadir)
|
||||||
|
|
||||||
example_DATA = \
|
example_DATA = \
|
||||||
example.xml \
|
example.xml \
|
||||||
example-menu.glade \
|
example-menu.xml \
|
||||||
consulter.glade \
|
consulter.glade \
|
||||||
consulter-menu.glade
|
consulter-menu.xml
|
||||||
# customer.glade
|
# customer.glade
|
||||||
# signer.glade
|
# signer.glade
|
||||||
|
|
||||||
|
|
|
@ -13,4 +13,3 @@
|
||||||
</item>
|
</item>
|
||||||
</menu>
|
</menu>
|
||||||
</interface>
|
</interface>
|
||||||
|
|
|
@ -1,11 +0,0 @@
|
||||||
<interface>
|
|
||||||
<requires lib="gtk+" version="3.0"/>
|
|
||||||
<menu id='menu'>
|
|
||||||
<item>
|
|
||||||
<attribute name='label' translatable='yes'>Consulter</attribute>
|
|
||||||
<attribute name='action'>win.open-consulter</attribute>
|
|
||||||
<attribute name='accel'>F1</attribute>
|
|
||||||
</item>
|
|
||||||
</menu>
|
|
||||||
</interface>
|
|
||||||
|
|
|
@ -0,0 +1,18 @@
|
||||||
|
<interface>
|
||||||
|
<requires lib="gtk+" version="3.0"/>
|
||||||
|
<menu id='menu'>
|
||||||
|
<section>
|
||||||
|
<item>
|
||||||
|
<attribute name='label' translatable='yes'>Consulter</attribute>
|
||||||
|
<attribute name='action'>win.open-consulter</attribute>
|
||||||
|
<attribute name='accel'>F1</attribute>
|
||||||
|
</item>
|
||||||
|
</section>
|
||||||
|
<section>
|
||||||
|
<item>
|
||||||
|
<attribute name='label' translatable='yes'>Consulter action</attribute>
|
||||||
|
<attribute name='action'>win.example-action</attribute>
|
||||||
|
</item>
|
||||||
|
</section>
|
||||||
|
</menu>
|
||||||
|
</interface>
|
|
@ -1,11 +1,6 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<!DOCTYPE hedera-module>
|
||||||
<module>
|
<module>
|
||||||
<library translatable="yes" name="example">Example</library>
|
<library translatable="yes" name="example">Example</library>
|
||||||
<!-- <action-group>-->
|
|
||||||
<!-- <action-->
|
|
||||||
<!-- translatable="yes"-->
|
|
||||||
<!-- name="action-menu-example">Example</action>-->
|
|
||||||
<!-- </action-group>-->
|
|
||||||
<form-group>
|
<form-group>
|
||||||
<form
|
<form
|
||||||
translatable="yes"
|
translatable="yes"
|
||||||
|
@ -14,4 +9,3 @@
|
||||||
action-name="open-consulter">Consulter</form>
|
action-name="open-consulter">Consulter</form>
|
||||||
</form-group>
|
</form-group>
|
||||||
</module>
|
</module>
|
||||||
|
|
||||||
|
|
|
@ -61,7 +61,7 @@ glade/glade-db-iterator.c
|
||||||
[type: gettext/glade]glade/vn.xml
|
[type: gettext/glade]glade/vn.xml
|
||||||
|
|
||||||
[type: gettext/glade]module/data/example.xml
|
[type: gettext/glade]module/data/example.xml
|
||||||
module/data/example-menu.glade
|
[type: gettext/glade]module/data/example-menu.xml
|
||||||
module/data/consulter.glade
|
module/data/consulter.glade
|
||||||
module/data/consulter-menu.glade
|
[type: gettext/glade]module/data/consulter-menu.xml
|
||||||
module/src/vn-consulter.c
|
module/src/vn-consulter.c
|
||||||
|
|
198
po/ca.po
198
po/ca.po
|
@ -7,7 +7,7 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: hedera 1.0\n"
|
"Project-Id-Version: hedera 1.0\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2014-06-25 16:41+0200\n"
|
"POT-Creation-Date: 2014-07-07 15:57+0200\n"
|
||||||
"PO-Revision-Date: 2013-06-04 13:38+0200\n"
|
"PO-Revision-Date: 2013-06-04 13:38+0200\n"
|
||||||
"Last-Translator: Alejandro T. Colombini Gómez <atcolombini@verdnatura.es>\n"
|
"Last-Translator: Alejandro T. Colombini Gómez <atcolombini@verdnatura.es>\n"
|
||||||
"Language-Team: Catalan\n"
|
"Language-Team: Catalan\n"
|
||||||
|
@ -31,7 +31,7 @@ msgstr "El parametre no pot ser nul"
|
||||||
msgid "Incompatible type for this param"
|
msgid "Incompatible type for this param"
|
||||||
msgstr "Tipus incompatible per a aquest parametre"
|
msgstr "Tipus incompatible per a aquest parametre"
|
||||||
|
|
||||||
#: ../gvn/gvn-param.c:443 ../sql/sql-value.c:252 ../vn/vn-field.c:538
|
#: ../gvn/gvn-param.c:443 ../sql/sql-value.c:252 ../vn/vn-field.c:573
|
||||||
msgid "Value"
|
msgid "Value"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -71,15 +71,15 @@ msgstr ""
|
||||||
msgid "The spec of the parameter"
|
msgid "The spec of the parameter"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../gvn/gvn-param.c:478 ../vn/vn-field.c:566
|
#: ../gvn/gvn-param.c:478 ../vn/vn-field.c:601
|
||||||
msgid "Glib Type"
|
msgid "Glib Type"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../gvn/gvn-param.c:479 ../vn/vn-field.c:567
|
#: ../gvn/gvn-param.c:479 ../vn/vn-field.c:602
|
||||||
msgid "The type of the value"
|
msgid "The type of the value"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../gvn/gvn-param.c:485 ../vn/vn-field.c:573 ../vn/vn-column.c:467
|
#: ../gvn/gvn-param.c:485 ../vn/vn-field.c:608 ../vn/vn-column.c:504
|
||||||
msgid "Editable"
|
msgid "Editable"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -87,7 +87,7 @@ msgstr ""
|
||||||
msgid "Whether the param value can be modified"
|
msgid "Whether the param value can be modified"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../gvn/gvn-param.c:492 ../vn/vn-field.c:580 ../vn/vn-column.c:474
|
#: ../gvn/gvn-param.c:492 ../vn/vn-field.c:615 ../vn/vn-column.c:511
|
||||||
msgid "Null"
|
msgid "Null"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -95,11 +95,11 @@ msgstr ""
|
||||||
msgid "Whether the param value can be of type GVN_TYPE_NULL"
|
msgid "Whether the param value can be of type GVN_TYPE_NULL"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../gvn/gvn-param.c:499 ../vn/vn-field.c:587
|
#: ../gvn/gvn-param.c:499 ../vn/vn-field.c:622
|
||||||
msgid "Default Value"
|
msgid "Default Value"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../gvn/gvn-param.c:500 ../vn/vn-field.c:588
|
#: ../gvn/gvn-param.c:500 ../vn/vn-field.c:623
|
||||||
msgid "The default value"
|
msgid "The default value"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -124,7 +124,7 @@ msgstr ""
|
||||||
msgid "The character used for delimite the name of fields, tables..."
|
msgid "The character used for delimite the name of fields, tables..."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../sql/sql-value.c:245 ../glade/glade-db-model.c:546
|
#: ../sql/sql-value.c:245 ../glade/glade-db-model.c:530
|
||||||
msgid "Param"
|
msgid "Param"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -136,7 +136,7 @@ msgstr ""
|
||||||
msgid "The value"
|
msgid "The value"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../sql/sql-string.c:188 ../db/db-model.c:3304 ../db/db-request.c:449
|
#: ../sql/sql-string.c:188 ../db/db-model.c:3311 ../db/db-request.c:449
|
||||||
msgid "SQL"
|
msgid "SQL"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -212,7 +212,7 @@ msgstr ""
|
||||||
msgid "The function parameters"
|
msgid "The function parameters"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../sql/sql-holder.c:124
|
#: ../sql/sql-holder.c:124 ../glade/glade-db-model.c:369
|
||||||
msgid "Identifier"
|
msgid "Identifier"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -342,75 +342,83 @@ msgstr "Recordar"
|
||||||
msgid "Wether to rememeber the selection when model is refreshed"
|
msgid "Wether to rememeber the selection when model is refreshed"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../db/db-model.c:3278 ../db/db-request.c:442 ../vn/vn-gui.c:1443
|
#: ../db/db-model.c:3285 ../db/db-request.c:442 ../vn/vn-gui.c:1560
|
||||||
#: ../vn/vn-form.c:245
|
#: ../vn/vn-form.c:245
|
||||||
msgid "Connection"
|
msgid "Connection"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../db/db-model.c:3279
|
#: ../db/db-model.c:3286
|
||||||
msgid "The DbConn that manages the connection to the database"
|
msgid "The DbConn that manages the connection to the database"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../db/db-model.c:3286
|
#: ../db/db-model.c:3293
|
||||||
msgid "Statement"
|
msgid "Statement"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../db/db-model.c:3287
|
#: ../db/db-model.c:3294
|
||||||
msgid "The statement which retrieves the data"
|
msgid "The statement which retrieves the data"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../db/db-model.c:3294
|
#: ../db/db-model.c:3301
|
||||||
msgid "Use file"
|
msgid "Use file"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../db/db-model.c:3295
|
#: ../db/db-model.c:3302
|
||||||
msgid ""
|
msgid ""
|
||||||
"If this is set to TRUE, the \"sql\" property will hold the name of a file "
|
"If this is set to TRUE, the \"sql\" property will hold the name of a file "
|
||||||
"containing a query, if set to FALSE, \"sql\" is used as an SQL string"
|
"containing a query, if set to FALSE, \"sql\" is used as an SQL string"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../db/db-model.c:3305
|
#: ../db/db-model.c:3312
|
||||||
msgid ""
|
msgid ""
|
||||||
"Depending on the \"use-file\" property this will be the path to a file with "
|
"Depending on the \"use-file\" property this will be the path to a file with "
|
||||||
"queries for the model or a SQL string"
|
"queries for the model or a SQL string"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../db/db-model.c:3314
|
#: ../db/db-model.c:3321
|
||||||
msgid "Main Table"
|
msgid "Main Table"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../db/db-model.c:3315
|
#: ../db/db-model.c:3322
|
||||||
msgid "The main table of the model"
|
msgid "The main table of the model"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../db/db-model.c:3322
|
#: ../db/db-model.c:3329
|
||||||
msgid "Update flags"
|
msgid "Update flags"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../db/db-model.c:3323
|
#: ../db/db-model.c:3330
|
||||||
msgid "The flags that indicate how a model can be modified"
|
msgid "The flags that indicate how a model can be modified"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../db/db-model.c:3331
|
#: ../db/db-model.c:3338
|
||||||
msgid "Result position"
|
msgid "Result position"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../db/db-model.c:3332
|
#: ../db/db-model.c:3339
|
||||||
msgid ""
|
msgid ""
|
||||||
"The position where the query that will fill the model will be placed in a "
|
"The position where the query that will fill the model will be placed in a "
|
||||||
"multi-query"
|
"multi-query"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../db/db-model.c:3342
|
#: ../db/db-model.c:3349
|
||||||
msgid "Partial delete"
|
msgid "Partial delete"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../db/db-model.c:3343
|
#: ../db/db-model.c:3350
|
||||||
msgid ""
|
msgid ""
|
||||||
"When a row is deleted set all the fields from the table to null rather than "
|
"When a row is deleted set all the fields from the table to null rather than "
|
||||||
"delete it."
|
"delete it."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../db/db-model.c:3358
|
||||||
|
msgid "Batch"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../db/db-model.c:3359
|
||||||
|
msgid "The batch assigned to the model"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: ../db/db-model-holder.c:71 ../db/db-calc.c:329
|
#: ../db/db-model-holder.c:71 ../db/db-calc.c:329
|
||||||
msgid "Model"
|
msgid "Model"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -447,7 +455,7 @@ msgstr ""
|
||||||
msgid "The user provided data for the function"
|
msgid "The user provided data for the function"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../db/db-calc.c:360 ../glade/glade-db-model.c:537
|
#: ../db/db-calc.c:360 ../glade/glade-db-model.c:293
|
||||||
msgid "Column"
|
msgid "Column"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -455,7 +463,7 @@ msgstr ""
|
||||||
msgid "A column to apply the operations over it"
|
msgid "A column to apply the operations over it"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../db/db-param.c:251 ../vn/vn-grid.c:518 ../vn/vn-field.c:552
|
#: ../db/db-param.c:251 ../vn/vn-grid.c:518 ../vn/vn-field.c:587
|
||||||
msgid "Iterator"
|
msgid "Iterator"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -463,7 +471,7 @@ msgstr ""
|
||||||
msgid "The iterator owner of param"
|
msgid "The iterator owner of param"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../db/db-param.c:258 ../vn/vn-column.c:453
|
#: ../db/db-param.c:258 ../vn/vn-column.c:490
|
||||||
msgid "Column index"
|
msgid "Column index"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -471,11 +479,11 @@ msgstr ""
|
||||||
msgid "The referenced column index"
|
msgid "The referenced column index"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../db/db-param.c:265 ../vn/vn-field.c:559 ../vn/vn-column.c:460
|
#: ../db/db-param.c:265 ../vn/vn-field.c:594 ../vn/vn-column.c:497
|
||||||
msgid "Column name"
|
msgid "Column name"
|
||||||
msgstr "Nom de la columna"
|
msgstr "Nom de la columna"
|
||||||
|
|
||||||
#: ../db/db-param.c:266 ../vn/vn-column.c:461
|
#: ../db/db-param.c:266 ../vn/vn-column.c:498
|
||||||
msgid "The referenced column name"
|
msgid "The referenced column name"
|
||||||
msgstr "Nom de la columna referenciada"
|
msgstr "Nom de la columna referenciada"
|
||||||
|
|
||||||
|
@ -609,59 +617,59 @@ msgstr ""
|
||||||
msgid "The maximal size for the contents of the cache directory"
|
msgid "The maximal size for the contents of the cache directory"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../vn/vn-gui.c:516
|
#: ../vn/vn-gui.c:632
|
||||||
msgid "Connection has been lost. Do you want to reconnect?"
|
msgid "Connection has been lost. Do you want to reconnect?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../vn/vn-gui.c:523
|
#: ../vn/vn-gui.c:639
|
||||||
msgid "An error occurred in the connection."
|
msgid "An error occurred in the connection."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../vn/vn-gui.c:526
|
#: ../vn/vn-gui.c:642
|
||||||
msgid "Database error"
|
msgid "Database error"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../vn/vn-gui.c:533
|
#: ../vn/vn-gui.c:649
|
||||||
msgid "Unknown error"
|
msgid "Unknown error"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../vn/vn-gui.c:880
|
#: ../vn/vn-gui.c:998
|
||||||
msgid "Closing connection"
|
msgid "Closing connection"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../vn/vn-gui.c:882
|
#: ../vn/vn-gui.c:1000
|
||||||
msgid "Transaction started"
|
msgid "Transaction started"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../vn/vn-gui.c:884
|
#: ../vn/vn-gui.c:1002
|
||||||
msgid "Connecting"
|
msgid "Connecting"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../vn/vn-gui.c:886
|
#: ../vn/vn-gui.c:1004
|
||||||
msgid "Connection lost"
|
msgid "Connection lost"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../vn/vn-gui.c:888
|
#: ../vn/vn-gui.c:1006
|
||||||
msgid "Connection closed"
|
msgid "Connection closed"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../vn/vn-gui.c:890 ../vn/field/vn-http-image.c:116
|
#: ../vn/vn-gui.c:1008 ../vn/field/vn-http-image.c:119
|
||||||
msgid "Loading"
|
msgid "Loading"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../vn/vn-gui.c:892
|
#: ../vn/vn-gui.c:1010
|
||||||
msgid "Ready"
|
msgid "Ready"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../vn/vn-gui.c:1444
|
#: ../vn/vn-gui.c:1561
|
||||||
msgid "The connection used by Gui"
|
msgid "The connection used by Gui"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../vn/vn-gui.c:1450
|
#: ../vn/vn-gui.c:1567
|
||||||
msgid "Application"
|
msgid "Application"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../vn/vn-gui.c:1451
|
#: ../vn/vn-gui.c:1568
|
||||||
msgid "The application handler for the entire program"
|
msgid "The application handler for the entire program"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -766,48 +774,48 @@ msgstr ""
|
||||||
msgid "Bad connection settings, please check it."
|
msgid "Bad connection settings, please check it."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../vn/vn-login.c:484
|
#: ../vn/vn-login.c:489
|
||||||
msgid "Application id"
|
msgid "Application id"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../vn/vn-login.c:485
|
#: ../vn/vn-login.c:490
|
||||||
msgid "The application identifier"
|
msgid "The application identifier"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../vn/vn-field.c:539
|
#: ../vn/vn-field.c:574
|
||||||
msgid "The current value of the field"
|
msgid "The current value of the field"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../vn/vn-field.c:545 ../glade/glade-db-iterator.c:71
|
#: ../vn/vn-field.c:580 ../glade/glade-db-iterator.c:71
|
||||||
#: ../glade/glade-db-iterator.c:116
|
#: ../glade/glade-db-iterator.c:116
|
||||||
msgid "Parameter"
|
msgid "Parameter"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../vn/vn-field.c:546
|
#: ../vn/vn-field.c:581
|
||||||
msgid "The param where the field can read/write its value"
|
msgid "The param where the field can read/write its value"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../vn/vn-field.c:553
|
#: ../vn/vn-field.c:588
|
||||||
msgid "The iterator used to get the field param"
|
msgid "The iterator used to get the field param"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../vn/vn-field.c:560
|
#: ../vn/vn-field.c:595
|
||||||
msgid "The column name on the iterator"
|
msgid "The column name on the iterator"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../vn/vn-field.c:574
|
#: ../vn/vn-field.c:609
|
||||||
msgid "Whether the field value is user editable"
|
msgid "Whether the field value is user editable"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../vn/vn-field.c:581 ../vn/vn-column.c:475
|
#: ../vn/vn-field.c:616 ../vn/vn-column.c:512
|
||||||
msgid "Whether the field value can be of type GVN_TYPE_NULL"
|
msgid "Whether the field value can be of type GVN_TYPE_NULL"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../vn/vn-field.c:594 ../vn/vn-column.c:488
|
#: ../vn/vn-field.c:629 ../vn/vn-column.c:525
|
||||||
msgid "Style function"
|
msgid "Style function"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../vn/vn-field.c:595
|
#: ../vn/vn-field.c:630
|
||||||
msgid ""
|
msgid ""
|
||||||
"A VnFieldStyleFunc to set the properties of each field depending on its value"
|
"A VnFieldStyleFunc to set the properties of each field depending on its value"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -893,57 +901,57 @@ msgstr ""
|
||||||
msgid "Undefined error"
|
msgid "Undefined error"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../vn/field/vn-http-image.c:142
|
#: ../vn/field/vn-http-image.c:145
|
||||||
msgid "File loader already set"
|
msgid "File loader already set"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. Se usará para subir imagenes y cambiar nombres, o abrir un menu contextual
|
#. Se usará para subir imagenes y cambiar nombres, o abrir un menu contextual
|
||||||
#. g_signal_connect (obj, "event", G_CALLBACK (vn_http_image_cb_event), obj);
|
#. g_signal_connect (obj, "event", G_CALLBACK (vn_http_image_cb_event), obj);
|
||||||
#: ../vn/field/vn-http-image.c:181
|
#: ../vn/field/vn-http-image.c:184
|
||||||
msgid "No image set"
|
msgid "No image set"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../vn/field/vn-http-image.c:207 ../vn/column/vn-column-image.c:531
|
#: ../vn/field/vn-http-image.c:211 ../vn/column/vn-column-image.c:531
|
||||||
msgid "File loader"
|
msgid "File loader"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../vn/field/vn-http-image.c:208
|
#: ../vn/field/vn-http-image.c:212
|
||||||
msgid "A DbFileLoader, used to download the files"
|
msgid "A DbFileLoader, used to download the files"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../vn/field/vn-http-image.c:215
|
#: ../vn/field/vn-http-image.c:219
|
||||||
msgid "File path"
|
msgid "File path"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../vn/field/vn-http-image.c:216
|
#: ../vn/field/vn-http-image.c:220
|
||||||
msgid "The relative path to the image from file loader path"
|
msgid "The relative path to the image from file loader path"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../vn/field/vn-http-image.c:223
|
#: ../vn/field/vn-http-image.c:227
|
||||||
msgid "Image bytes"
|
msgid "Image bytes"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../vn/field/vn-http-image.c:224
|
#: ../vn/field/vn-http-image.c:228
|
||||||
msgid "A GBytes structure with the image data"
|
msgid "A GBytes structure with the image data"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../vn/vn-column.c:454
|
#: ../vn/vn-column.c:491
|
||||||
msgid "The column index in the model"
|
msgid "The column index in the model"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../vn/vn-column.c:468
|
#: ../vn/vn-column.c:505
|
||||||
msgid "Whether the column values are editable"
|
msgid "Whether the column values are editable"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../vn/vn-column.c:481
|
#: ../vn/vn-column.c:518
|
||||||
msgid "Tab index"
|
msgid "Tab index"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../vn/vn-column.c:482
|
#: ../vn/vn-column.c:519
|
||||||
msgid "Order in which the tab selects the columns for edition"
|
msgid "Order in which the tab selects the columns for edition"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../vn/vn-column.c:489
|
#: ../vn/vn-column.c:526
|
||||||
msgid ""
|
msgid ""
|
||||||
"A VnColumnStyleFunc to set the properties of each cell depending on its value"
|
"A VnColumnStyleFunc to set the properties of each cell depending on its value"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -1094,12 +1102,12 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../vn/gui/date-chooser.glade.h:1 ../glade/glade-db-model.c:72
|
#: ../vn/gui/date-chooser.glade.h:1 ../glade/glade-db-model.c:72
|
||||||
#: ../glade/glade-eprop-model.c:164
|
#: ../glade/glade-eprop-model.c:163
|
||||||
msgid "OK"
|
msgid "OK"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../vn/gui/date-chooser.glade.h:2 ../glade/glade-db-model.c:73
|
#: ../vn/gui/date-chooser.glade.h:2 ../glade/glade-db-model.c:73
|
||||||
#: ../glade/glade-eprop-model.c:165
|
#: ../glade/glade-eprop-model.c:164
|
||||||
msgid "Clear"
|
msgid "Clear"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -1115,7 +1123,7 @@ msgstr ""
|
||||||
msgid "SQL Editor"
|
msgid "SQL Editor"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../glade/glade-db-model.c:74 ../glade/glade-eprop-model.c:166
|
#: ../glade/glade-db-model.c:74 ../glade/glade-eprop-model.c:165
|
||||||
msgid "Cancel"
|
msgid "Cancel"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -1123,56 +1131,60 @@ msgstr ""
|
||||||
msgid "Open the SQL Editor"
|
msgid "Open the SQL Editor"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../glade/glade-db-model.c:262
|
#: ../glade/glade-db-model.c:289
|
||||||
msgid "Select a GvnParam"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: ../glade/glade-db-model.c:330
|
|
||||||
msgid "Select the parameter from a list"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: ../glade/glade-db-model.c:348
|
|
||||||
msgid "You need to create at least one GvnParam or derived object"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: ../glade/glade-db-model.c:502
|
|
||||||
msgid "<b>Add or remove links</b>"
|
msgid "<b>Add or remove links</b>"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../glade/glade-db-model.c:554
|
#: ../glade/glade-db-model.c:303
|
||||||
msgctxt "Verb"
|
msgctxt "Verb"
|
||||||
msgid "Link"
|
msgid "Link"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../glade/glade-db-model.c:365
|
||||||
|
msgid "<b>Add or remove holders</b>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../glade/glade-db-model.c:440
|
||||||
|
msgid "Select a GvnParam"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../glade/glade-db-model.c:497
|
||||||
|
msgid "Select the parameter from a list"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../glade/glade-db-model.c:515
|
||||||
|
msgid "You need to create at least one GvnParam or derived object"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: ../glade/glade-db-model-editor.c:62
|
#: ../glade/glade-db-model-editor.c:62
|
||||||
msgid "List of parameters linked to the model"
|
msgid "List of parameters linked to the model"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../glade/glade-db-model-editor.c:65
|
#: ../glade/glade-db-model-editor.c:65
|
||||||
msgid "List of SQLHolders and identifiers"
|
msgid "List of SqlHolders and identifiers"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../glade/glade-eprop-model.c:129
|
#: ../glade/glade-eprop-model.c:128
|
||||||
msgid "Create and set a model for a DbModelHolder"
|
msgid "Create and set a model for a DbModelHolder"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../glade/glade-eprop-model.c:161
|
#: ../glade/glade-eprop-model.c:160
|
||||||
msgid "Model configuration"
|
msgid "Model configuration"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../glade/glade-eprop-model.c:161
|
#: ../glade/glade-eprop-model.c:160
|
||||||
msgid "Model properties configuration"
|
msgid "Model properties configuration"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../glade/glade-eprop-model.c:244
|
#: ../glade/glade-eprop-model.c:243
|
||||||
msgid "Select a VnModel for the property"
|
msgid "Select a VnModel for the property"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../glade/glade-eprop-model.c:265 ../glade/glade-eprop-model.c:311
|
#: ../glade/glade-eprop-model.c:264 ../glade/glade-eprop-model.c:310
|
||||||
msgid "New Model"
|
msgid "New Model"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../glade/glade-eprop-model.c:306
|
#: ../glade/glade-eprop-model.c:305
|
||||||
msgid "Edit Model"
|
msgid "Edit Model"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
202
po/es.po
202
po/es.po
|
@ -8,7 +8,7 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: hedera 1.0\n"
|
"Project-Id-Version: hedera 1.0\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2014-06-25 16:41+0200\n"
|
"POT-Creation-Date: 2014-07-07 15:57+0200\n"
|
||||||
"PO-Revision-Date: 2013-06-04 13:36+0200\n"
|
"PO-Revision-Date: 2013-06-04 13:36+0200\n"
|
||||||
"Last-Translator: Alejandro T. Colombini Gómez <atcolombini@verdnatura.es>\n"
|
"Last-Translator: Alejandro T. Colombini Gómez <atcolombini@verdnatura.es>\n"
|
||||||
"Language-Team: Spanish\n"
|
"Language-Team: Spanish\n"
|
||||||
|
@ -33,7 +33,7 @@ msgstr "El parámetro no puede ser nulo"
|
||||||
msgid "Incompatible type for this param"
|
msgid "Incompatible type for this param"
|
||||||
msgstr "Tipo incompatible para este parametro"
|
msgstr "Tipo incompatible para este parametro"
|
||||||
|
|
||||||
#: ../gvn/gvn-param.c:443 ../sql/sql-value.c:252 ../vn/vn-field.c:538
|
#: ../gvn/gvn-param.c:443 ../sql/sql-value.c:252 ../vn/vn-field.c:573
|
||||||
msgid "Value"
|
msgid "Value"
|
||||||
msgstr "Valor"
|
msgstr "Valor"
|
||||||
|
|
||||||
|
@ -73,15 +73,15 @@ msgstr "Spec"
|
||||||
msgid "The spec of the parameter"
|
msgid "The spec of the parameter"
|
||||||
msgstr "Datos específicos del parámetro"
|
msgstr "Datos específicos del parámetro"
|
||||||
|
|
||||||
#: ../gvn/gvn-param.c:478 ../vn/vn-field.c:566
|
#: ../gvn/gvn-param.c:478 ../vn/vn-field.c:601
|
||||||
msgid "Glib Type"
|
msgid "Glib Type"
|
||||||
msgstr "Tipo Glib"
|
msgstr "Tipo Glib"
|
||||||
|
|
||||||
#: ../gvn/gvn-param.c:479 ../vn/vn-field.c:567
|
#: ../gvn/gvn-param.c:479 ../vn/vn-field.c:602
|
||||||
msgid "The type of the value"
|
msgid "The type of the value"
|
||||||
msgstr "El tipo del valor"
|
msgstr "El tipo del valor"
|
||||||
|
|
||||||
#: ../gvn/gvn-param.c:485 ../vn/vn-field.c:573 ../vn/vn-column.c:467
|
#: ../gvn/gvn-param.c:485 ../vn/vn-field.c:608 ../vn/vn-column.c:504
|
||||||
msgid "Editable"
|
msgid "Editable"
|
||||||
msgstr "Editable"
|
msgstr "Editable"
|
||||||
|
|
||||||
|
@ -89,7 +89,7 @@ msgstr "Editable"
|
||||||
msgid "Whether the param value can be modified"
|
msgid "Whether the param value can be modified"
|
||||||
msgstr "Indica si el parámetro puede modificarse"
|
msgstr "Indica si el parámetro puede modificarse"
|
||||||
|
|
||||||
#: ../gvn/gvn-param.c:492 ../vn/vn-field.c:580 ../vn/vn-column.c:474
|
#: ../gvn/gvn-param.c:492 ../vn/vn-field.c:615 ../vn/vn-column.c:511
|
||||||
msgid "Null"
|
msgid "Null"
|
||||||
msgstr "Nulo"
|
msgstr "Nulo"
|
||||||
|
|
||||||
|
@ -97,11 +97,11 @@ msgstr "Nulo"
|
||||||
msgid "Whether the param value can be of type GVN_TYPE_NULL"
|
msgid "Whether the param value can be of type GVN_TYPE_NULL"
|
||||||
msgstr "Indica si el parámetro puede ser nulo"
|
msgstr "Indica si el parámetro puede ser nulo"
|
||||||
|
|
||||||
#: ../gvn/gvn-param.c:499 ../vn/vn-field.c:587
|
#: ../gvn/gvn-param.c:499 ../vn/vn-field.c:622
|
||||||
msgid "Default Value"
|
msgid "Default Value"
|
||||||
msgstr "Valor por defecto"
|
msgstr "Valor por defecto"
|
||||||
|
|
||||||
#: ../gvn/gvn-param.c:500 ../vn/vn-field.c:588
|
#: ../gvn/gvn-param.c:500 ../vn/vn-field.c:623
|
||||||
msgid "The default value"
|
msgid "The default value"
|
||||||
msgstr "El valor por defecto"
|
msgstr "El valor por defecto"
|
||||||
|
|
||||||
|
@ -126,7 +126,7 @@ msgstr "Delimitador"
|
||||||
msgid "The character used for delimite the name of fields, tables..."
|
msgid "The character used for delimite the name of fields, tables..."
|
||||||
msgstr "El carácter usado para delimitar los nombres de campos, tablas..."
|
msgstr "El carácter usado para delimitar los nombres de campos, tablas..."
|
||||||
|
|
||||||
#: ../sql/sql-value.c:245 ../glade/glade-db-model.c:546
|
#: ../sql/sql-value.c:245 ../glade/glade-db-model.c:530
|
||||||
msgid "Param"
|
msgid "Param"
|
||||||
msgstr "Parámetro"
|
msgstr "Parámetro"
|
||||||
|
|
||||||
|
@ -138,7 +138,7 @@ msgstr "El parametro al cual está vinculado"
|
||||||
msgid "The value"
|
msgid "The value"
|
||||||
msgstr "Valor"
|
msgstr "Valor"
|
||||||
|
|
||||||
#: ../sql/sql-string.c:188 ../db/db-model.c:3304 ../db/db-request.c:449
|
#: ../sql/sql-string.c:188 ../db/db-model.c:3311 ../db/db-request.c:449
|
||||||
msgid "SQL"
|
msgid "SQL"
|
||||||
msgstr "SQL"
|
msgstr "SQL"
|
||||||
|
|
||||||
|
@ -210,7 +210,7 @@ msgstr "Parámetros"
|
||||||
msgid "The function parameters"
|
msgid "The function parameters"
|
||||||
msgstr "Los parametros de la función"
|
msgstr "Los parametros de la función"
|
||||||
|
|
||||||
#: ../sql/sql-holder.c:124
|
#: ../sql/sql-holder.c:124 ../glade/glade-db-model.c:369
|
||||||
msgid "Identifier"
|
msgid "Identifier"
|
||||||
msgstr "Identificador"
|
msgstr "Identificador"
|
||||||
|
|
||||||
|
@ -340,28 +340,28 @@ msgid "Wether to rememeber the selection when model is refreshed"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Si se recordará o no la fila seleccionado cuando se refresque el modelo"
|
"Si se recordará o no la fila seleccionado cuando se refresque el modelo"
|
||||||
|
|
||||||
#: ../db/db-model.c:3278 ../db/db-request.c:442 ../vn/vn-gui.c:1443
|
#: ../db/db-model.c:3285 ../db/db-request.c:442 ../vn/vn-gui.c:1560
|
||||||
#: ../vn/vn-form.c:245
|
#: ../vn/vn-form.c:245
|
||||||
msgid "Connection"
|
msgid "Connection"
|
||||||
msgstr "Conexión"
|
msgstr "Conexión"
|
||||||
|
|
||||||
#: ../db/db-model.c:3279
|
#: ../db/db-model.c:3286
|
||||||
msgid "The DbConn that manages the connection to the database"
|
msgid "The DbConn that manages the connection to the database"
|
||||||
msgstr "La DbConn que controla la conexión a la base de datos"
|
msgstr "La DbConn que controla la conexión a la base de datos"
|
||||||
|
|
||||||
#: ../db/db-model.c:3286
|
#: ../db/db-model.c:3293
|
||||||
msgid "Statement"
|
msgid "Statement"
|
||||||
msgstr "Consulta"
|
msgstr "Consulta"
|
||||||
|
|
||||||
#: ../db/db-model.c:3287
|
#: ../db/db-model.c:3294
|
||||||
msgid "The statement which retrieves the data"
|
msgid "The statement which retrieves the data"
|
||||||
msgstr "La consulta que recupera los datos"
|
msgstr "La consulta que recupera los datos"
|
||||||
|
|
||||||
#: ../db/db-model.c:3294
|
#: ../db/db-model.c:3301
|
||||||
msgid "Use file"
|
msgid "Use file"
|
||||||
msgstr "Usa fichero"
|
msgstr "Usa fichero"
|
||||||
|
|
||||||
#: ../db/db-model.c:3295
|
#: ../db/db-model.c:3302
|
||||||
msgid ""
|
msgid ""
|
||||||
"If this is set to TRUE, the \"sql\" property will hold the name of a file "
|
"If this is set to TRUE, the \"sql\" property will hold the name of a file "
|
||||||
"containing a query, if set to FALSE, \"sql\" is used as an SQL string"
|
"containing a query, if set to FALSE, \"sql\" is used as an SQL string"
|
||||||
|
@ -369,7 +369,7 @@ msgstr ""
|
||||||
"Si es TRUE, la propiedad \"sql\" contiene el nombre de un archivo, si es "
|
"Si es TRUE, la propiedad \"sql\" contiene el nombre de un archivo, si es "
|
||||||
"falso, \"sql\" se usa como una cadena SQL"
|
"falso, \"sql\" se usa como una cadena SQL"
|
||||||
|
|
||||||
#: ../db/db-model.c:3305
|
#: ../db/db-model.c:3312
|
||||||
msgid ""
|
msgid ""
|
||||||
"Depending on the \"use-file\" property this will be the path to a file with "
|
"Depending on the \"use-file\" property this will be the path to a file with "
|
||||||
"queries for the model or a SQL string"
|
"queries for the model or a SQL string"
|
||||||
|
@ -377,27 +377,27 @@ msgstr ""
|
||||||
"Dependiendo de la propiedad \"use-file\", esta propiedad será la ruta a un "
|
"Dependiendo de la propiedad \"use-file\", esta propiedad será la ruta a un "
|
||||||
"fichero con consultas para el modelo o una cadena SQL"
|
"fichero con consultas para el modelo o una cadena SQL"
|
||||||
|
|
||||||
#: ../db/db-model.c:3314
|
#: ../db/db-model.c:3321
|
||||||
msgid "Main Table"
|
msgid "Main Table"
|
||||||
msgstr "Tabla principal"
|
msgstr "Tabla principal"
|
||||||
|
|
||||||
#: ../db/db-model.c:3315
|
#: ../db/db-model.c:3322
|
||||||
msgid "The main table of the model"
|
msgid "The main table of the model"
|
||||||
msgstr "La tabla principal del modelo"
|
msgstr "La tabla principal del modelo"
|
||||||
|
|
||||||
#: ../db/db-model.c:3322
|
#: ../db/db-model.c:3329
|
||||||
msgid "Update flags"
|
msgid "Update flags"
|
||||||
msgstr "Flags de actualización"
|
msgstr "Flags de actualización"
|
||||||
|
|
||||||
#: ../db/db-model.c:3323
|
#: ../db/db-model.c:3330
|
||||||
msgid "The flags that indicate how a model can be modified"
|
msgid "The flags that indicate how a model can be modified"
|
||||||
msgstr "Indican como se puede modificar el modelo"
|
msgstr "Indican como se puede modificar el modelo"
|
||||||
|
|
||||||
#: ../db/db-model.c:3331
|
#: ../db/db-model.c:3338
|
||||||
msgid "Result position"
|
msgid "Result position"
|
||||||
msgstr "Posición del resultado"
|
msgstr "Posición del resultado"
|
||||||
|
|
||||||
#: ../db/db-model.c:3332
|
#: ../db/db-model.c:3339
|
||||||
msgid ""
|
msgid ""
|
||||||
"The position where the query that will fill the model will be placed in a "
|
"The position where the query that will fill the model will be placed in a "
|
||||||
"multi-query"
|
"multi-query"
|
||||||
|
@ -405,11 +405,11 @@ msgstr ""
|
||||||
"La posición en la que se situa la consulta que pone datos en el modelo en "
|
"La posición en la que se situa la consulta que pone datos en el modelo en "
|
||||||
"una consulta múltiple"
|
"una consulta múltiple"
|
||||||
|
|
||||||
#: ../db/db-model.c:3342
|
#: ../db/db-model.c:3349
|
||||||
msgid "Partial delete"
|
msgid "Partial delete"
|
||||||
msgstr "Delete parcial"
|
msgstr "Delete parcial"
|
||||||
|
|
||||||
#: ../db/db-model.c:3343
|
#: ../db/db-model.c:3350
|
||||||
msgid ""
|
msgid ""
|
||||||
"When a row is deleted set all the fields from the table to null rather than "
|
"When a row is deleted set all the fields from the table to null rather than "
|
||||||
"delete it."
|
"delete it."
|
||||||
|
@ -417,6 +417,14 @@ msgstr ""
|
||||||
"Cuando una fila es eliminada, poner todos los campos de la tabla a nulo en "
|
"Cuando una fila es eliminada, poner todos los campos de la tabla a nulo en "
|
||||||
"lugar de borrarla."
|
"lugar de borrarla."
|
||||||
|
|
||||||
|
#: ../db/db-model.c:3358
|
||||||
|
msgid "Batch"
|
||||||
|
msgstr "Batch"
|
||||||
|
|
||||||
|
#: ../db/db-model.c:3359
|
||||||
|
msgid "The batch assigned to the model"
|
||||||
|
msgstr "El batch asignado al modelo"
|
||||||
|
|
||||||
#: ../db/db-model-holder.c:71 ../db/db-calc.c:329
|
#: ../db/db-model-holder.c:71 ../db/db-calc.c:329
|
||||||
msgid "Model"
|
msgid "Model"
|
||||||
msgstr "Modelo"
|
msgstr "Modelo"
|
||||||
|
@ -453,7 +461,7 @@ msgstr "Datos"
|
||||||
msgid "The user provided data for the function"
|
msgid "The user provided data for the function"
|
||||||
msgstr "Datos proporcionados por el usuario"
|
msgstr "Datos proporcionados por el usuario"
|
||||||
|
|
||||||
#: ../db/db-calc.c:360 ../glade/glade-db-model.c:537
|
#: ../db/db-calc.c:360 ../glade/glade-db-model.c:293
|
||||||
msgid "Column"
|
msgid "Column"
|
||||||
msgstr "Columna"
|
msgstr "Columna"
|
||||||
|
|
||||||
|
@ -461,7 +469,7 @@ msgstr "Columna"
|
||||||
msgid "A column to apply the operations over it"
|
msgid "A column to apply the operations over it"
|
||||||
msgstr "Una columna sobre la que se aplicarán las operaciones"
|
msgstr "Una columna sobre la que se aplicarán las operaciones"
|
||||||
|
|
||||||
#: ../db/db-param.c:251 ../vn/vn-grid.c:518 ../vn/vn-field.c:552
|
#: ../db/db-param.c:251 ../vn/vn-grid.c:518 ../vn/vn-field.c:587
|
||||||
msgid "Iterator"
|
msgid "Iterator"
|
||||||
msgstr "Iterator"
|
msgstr "Iterator"
|
||||||
|
|
||||||
|
@ -469,7 +477,7 @@ msgstr "Iterator"
|
||||||
msgid "The iterator owner of param"
|
msgid "The iterator owner of param"
|
||||||
msgstr "El Iterator dueño del parámetro"
|
msgstr "El Iterator dueño del parámetro"
|
||||||
|
|
||||||
#: ../db/db-param.c:258 ../vn/vn-column.c:453
|
#: ../db/db-param.c:258 ../vn/vn-column.c:490
|
||||||
msgid "Column index"
|
msgid "Column index"
|
||||||
msgstr "Posición"
|
msgstr "Posición"
|
||||||
|
|
||||||
|
@ -477,11 +485,11 @@ msgstr "Posición"
|
||||||
msgid "The referenced column index"
|
msgid "The referenced column index"
|
||||||
msgstr "La posición de la columna en el Grid"
|
msgstr "La posición de la columna en el Grid"
|
||||||
|
|
||||||
#: ../db/db-param.c:265 ../vn/vn-field.c:559 ../vn/vn-column.c:460
|
#: ../db/db-param.c:265 ../vn/vn-field.c:594 ../vn/vn-column.c:497
|
||||||
msgid "Column name"
|
msgid "Column name"
|
||||||
msgstr "Nombre de la columna"
|
msgstr "Nombre de la columna"
|
||||||
|
|
||||||
#: ../db/db-param.c:266 ../vn/vn-column.c:461
|
#: ../db/db-param.c:266 ../vn/vn-column.c:498
|
||||||
msgid "The referenced column name"
|
msgid "The referenced column name"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"El nombre del campo en el Iterator vinculado al Grid al que pretenece la "
|
"El nombre del campo en el Iterator vinculado al Grid al que pretenece la "
|
||||||
|
@ -619,59 +627,59 @@ msgstr "Tamaño máximo de la caché"
|
||||||
msgid "The maximal size for the contents of the cache directory"
|
msgid "The maximal size for the contents of the cache directory"
|
||||||
msgstr "El tamaño máximo para los contenidos del directorio de caché"
|
msgstr "El tamaño máximo para los contenidos del directorio de caché"
|
||||||
|
|
||||||
#: ../vn/vn-gui.c:516
|
#: ../vn/vn-gui.c:632
|
||||||
msgid "Connection has been lost. Do you want to reconnect?"
|
msgid "Connection has been lost. Do you want to reconnect?"
|
||||||
msgstr "Se ha perdido la conexión. ¿Quieres reconectar?"
|
msgstr "Se ha perdido la conexión. ¿Quieres reconectar?"
|
||||||
|
|
||||||
#: ../vn/vn-gui.c:523
|
#: ../vn/vn-gui.c:639
|
||||||
msgid "An error occurred in the connection."
|
msgid "An error occurred in the connection."
|
||||||
msgstr "Ha habido un error en la conexión."
|
msgstr "Ha habido un error en la conexión."
|
||||||
|
|
||||||
#: ../vn/vn-gui.c:526
|
#: ../vn/vn-gui.c:642
|
||||||
msgid "Database error"
|
msgid "Database error"
|
||||||
msgstr "Error en la base de datos"
|
msgstr "Error en la base de datos"
|
||||||
|
|
||||||
#: ../vn/vn-gui.c:533
|
#: ../vn/vn-gui.c:649
|
||||||
msgid "Unknown error"
|
msgid "Unknown error"
|
||||||
msgstr "Error desconocido"
|
msgstr "Error desconocido"
|
||||||
|
|
||||||
#: ../vn/vn-gui.c:880
|
#: ../vn/vn-gui.c:998
|
||||||
msgid "Closing connection"
|
msgid "Closing connection"
|
||||||
msgstr "Cerrando conexión"
|
msgstr "Cerrando conexión"
|
||||||
|
|
||||||
#: ../vn/vn-gui.c:882
|
#: ../vn/vn-gui.c:1000
|
||||||
msgid "Transaction started"
|
msgid "Transaction started"
|
||||||
msgstr "Transacción iniciada"
|
msgstr "Transacción iniciada"
|
||||||
|
|
||||||
#: ../vn/vn-gui.c:884
|
#: ../vn/vn-gui.c:1002
|
||||||
msgid "Connecting"
|
msgid "Connecting"
|
||||||
msgstr "Conectando"
|
msgstr "Conectando"
|
||||||
|
|
||||||
#: ../vn/vn-gui.c:886
|
#: ../vn/vn-gui.c:1004
|
||||||
msgid "Connection lost"
|
msgid "Connection lost"
|
||||||
msgstr "Conexión perdida"
|
msgstr "Conexión perdida"
|
||||||
|
|
||||||
#: ../vn/vn-gui.c:888
|
#: ../vn/vn-gui.c:1006
|
||||||
msgid "Connection closed"
|
msgid "Connection closed"
|
||||||
msgstr "Conexión cerrada"
|
msgstr "Conexión cerrada"
|
||||||
|
|
||||||
#: ../vn/vn-gui.c:890 ../vn/field/vn-http-image.c:116
|
#: ../vn/vn-gui.c:1008 ../vn/field/vn-http-image.c:119
|
||||||
msgid "Loading"
|
msgid "Loading"
|
||||||
msgstr "Cargando"
|
msgstr "Cargando"
|
||||||
|
|
||||||
#: ../vn/vn-gui.c:892
|
#: ../vn/vn-gui.c:1010
|
||||||
msgid "Ready"
|
msgid "Ready"
|
||||||
msgstr "Listo"
|
msgstr "Preparado"
|
||||||
|
|
||||||
#: ../vn/vn-gui.c:1444
|
#: ../vn/vn-gui.c:1561
|
||||||
msgid "The connection used by Gui"
|
msgid "The connection used by Gui"
|
||||||
msgstr "La conexión empleada por Gui"
|
msgstr "La conexión empleada por Gui"
|
||||||
|
|
||||||
#: ../vn/vn-gui.c:1450
|
#: ../vn/vn-gui.c:1567
|
||||||
msgid "Application"
|
msgid "Application"
|
||||||
msgstr "Aplicación"
|
msgstr "Aplicación"
|
||||||
|
|
||||||
#: ../vn/vn-gui.c:1451
|
#: ../vn/vn-gui.c:1568
|
||||||
msgid "The application handler for the entire program"
|
msgid "The application handler for the entire program"
|
||||||
msgstr "El manejador de la aplicación para todo el programa"
|
msgstr "El manejador de la aplicación para todo el programa"
|
||||||
|
|
||||||
|
@ -776,48 +784,48 @@ msgstr "Error de acceso"
|
||||||
msgid "Bad connection settings, please check it."
|
msgid "Bad connection settings, please check it."
|
||||||
msgstr "Los parámetros de la conexión son incorrectos, compruébelos por favor."
|
msgstr "Los parámetros de la conexión son incorrectos, compruébelos por favor."
|
||||||
|
|
||||||
#: ../vn/vn-login.c:484
|
#: ../vn/vn-login.c:489
|
||||||
msgid "Application id"
|
msgid "Application id"
|
||||||
msgstr "Id de la aplicación"
|
msgstr "Id de la aplicación"
|
||||||
|
|
||||||
#: ../vn/vn-login.c:485
|
#: ../vn/vn-login.c:490
|
||||||
msgid "The application identifier"
|
msgid "The application identifier"
|
||||||
msgstr "El identificador de la aplicación"
|
msgstr "El identificador de la aplicación"
|
||||||
|
|
||||||
#: ../vn/vn-field.c:539
|
#: ../vn/vn-field.c:574
|
||||||
msgid "The current value of the field"
|
msgid "The current value of the field"
|
||||||
msgstr "El valor actual del campo"
|
msgstr "El valor actual del campo"
|
||||||
|
|
||||||
#: ../vn/vn-field.c:545 ../glade/glade-db-iterator.c:71
|
#: ../vn/vn-field.c:580 ../glade/glade-db-iterator.c:71
|
||||||
#: ../glade/glade-db-iterator.c:116
|
#: ../glade/glade-db-iterator.c:116
|
||||||
msgid "Parameter"
|
msgid "Parameter"
|
||||||
msgstr "Parámetro"
|
msgstr "Parámetro"
|
||||||
|
|
||||||
#: ../vn/vn-field.c:546
|
#: ../vn/vn-field.c:581
|
||||||
msgid "The param where the field can read/write its value"
|
msgid "The param where the field can read/write its value"
|
||||||
msgstr "El parámetro en el que el campo escribe/lee su valor"
|
msgstr "El parámetro en el que el campo escribe/lee su valor"
|
||||||
|
|
||||||
#: ../vn/vn-field.c:553
|
#: ../vn/vn-field.c:588
|
||||||
msgid "The iterator used to get the field param"
|
msgid "The iterator used to get the field param"
|
||||||
msgstr "El Iterator con el que se obtiene el parámetro"
|
msgstr "El Iterator con el que se obtiene el parámetro"
|
||||||
|
|
||||||
#: ../vn/vn-field.c:560
|
#: ../vn/vn-field.c:595
|
||||||
msgid "The column name on the iterator"
|
msgid "The column name on the iterator"
|
||||||
msgstr "El nombre de la columna en el Iterator"
|
msgstr "El nombre de la columna en el Iterator"
|
||||||
|
|
||||||
#: ../vn/vn-field.c:574
|
#: ../vn/vn-field.c:609
|
||||||
msgid "Whether the field value is user editable"
|
msgid "Whether the field value is user editable"
|
||||||
msgstr "Si el valor de campo puede ser editado por el usuario"
|
msgstr "Si el valor de campo puede ser editado por el usuario"
|
||||||
|
|
||||||
#: ../vn/vn-field.c:581 ../vn/vn-column.c:475
|
#: ../vn/vn-field.c:616 ../vn/vn-column.c:512
|
||||||
msgid "Whether the field value can be of type GVN_TYPE_NULL"
|
msgid "Whether the field value can be of type GVN_TYPE_NULL"
|
||||||
msgstr "Si el campo puede ser del tipo GVN_TYPE_NULL"
|
msgstr "Si el campo puede ser del tipo GVN_TYPE_NULL"
|
||||||
|
|
||||||
#: ../vn/vn-field.c:594 ../vn/vn-column.c:488
|
#: ../vn/vn-field.c:629 ../vn/vn-column.c:525
|
||||||
msgid "Style function"
|
msgid "Style function"
|
||||||
msgstr "Función de estilo"
|
msgstr "Función de estilo"
|
||||||
|
|
||||||
#: ../vn/vn-field.c:595
|
#: ../vn/vn-field.c:630
|
||||||
msgid ""
|
msgid ""
|
||||||
"A VnFieldStyleFunc to set the properties of each field depending on its value"
|
"A VnFieldStyleFunc to set the properties of each field depending on its value"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -908,57 +916,57 @@ msgstr "Selecciona la imagen"
|
||||||
msgid "Undefined error"
|
msgid "Undefined error"
|
||||||
msgstr "Error indefinido"
|
msgstr "Error indefinido"
|
||||||
|
|
||||||
#: ../vn/field/vn-http-image.c:142
|
#: ../vn/field/vn-http-image.c:145
|
||||||
msgid "File loader already set"
|
msgid "File loader already set"
|
||||||
msgstr "Ya se ha especificado un cargador de archivos"
|
msgstr "Ya se ha especificado un cargador de archivos"
|
||||||
|
|
||||||
#. Se usará para subir imagenes y cambiar nombres, o abrir un menu contextual
|
#. Se usará para subir imagenes y cambiar nombres, o abrir un menu contextual
|
||||||
#. g_signal_connect (obj, "event", G_CALLBACK (vn_http_image_cb_event), obj);
|
#. g_signal_connect (obj, "event", G_CALLBACK (vn_http_image_cb_event), obj);
|
||||||
#: ../vn/field/vn-http-image.c:181
|
#: ../vn/field/vn-http-image.c:184
|
||||||
msgid "No image set"
|
msgid "No image set"
|
||||||
msgstr "Sin imagen"
|
msgstr "Sin imagen"
|
||||||
|
|
||||||
#: ../vn/field/vn-http-image.c:207 ../vn/column/vn-column-image.c:531
|
#: ../vn/field/vn-http-image.c:211 ../vn/column/vn-column-image.c:531
|
||||||
msgid "File loader"
|
msgid "File loader"
|
||||||
msgstr "Cargador de archivos"
|
msgstr "Cargador de archivos"
|
||||||
|
|
||||||
#: ../vn/field/vn-http-image.c:208
|
#: ../vn/field/vn-http-image.c:212
|
||||||
msgid "A DbFileLoader, used to download the files"
|
msgid "A DbFileLoader, used to download the files"
|
||||||
msgstr "Un DbFileLoader que se usará para descargar los archivos"
|
msgstr "Un DbFileLoader que se usará para descargar los archivos"
|
||||||
|
|
||||||
#: ../vn/field/vn-http-image.c:215
|
#: ../vn/field/vn-http-image.c:219
|
||||||
msgid "File path"
|
msgid "File path"
|
||||||
msgstr "Ruta del archivo"
|
msgstr "Ruta del archivo"
|
||||||
|
|
||||||
#: ../vn/field/vn-http-image.c:216
|
#: ../vn/field/vn-http-image.c:220
|
||||||
msgid "The relative path to the image from file loader path"
|
msgid "The relative path to the image from file loader path"
|
||||||
msgstr "La ruta relativa a la imagen desde la del cargador de archivos"
|
msgstr "La ruta relativa a la imagen desde la del cargador de archivos"
|
||||||
|
|
||||||
#: ../vn/field/vn-http-image.c:223
|
#: ../vn/field/vn-http-image.c:227
|
||||||
msgid "Image bytes"
|
msgid "Image bytes"
|
||||||
msgstr "Bytes"
|
msgstr "Bytes"
|
||||||
|
|
||||||
#: ../vn/field/vn-http-image.c:224
|
#: ../vn/field/vn-http-image.c:228
|
||||||
msgid "A GBytes structure with the image data"
|
msgid "A GBytes structure with the image data"
|
||||||
msgstr "Una estructura GBytes con los datos de la imágen"
|
msgstr "Una estructura GBytes con los datos de la imágen"
|
||||||
|
|
||||||
#: ../vn/vn-column.c:454
|
#: ../vn/vn-column.c:491
|
||||||
msgid "The column index in the model"
|
msgid "The column index in the model"
|
||||||
msgstr "El índice de la columna en el modelo"
|
msgstr "El índice de la columna en el modelo"
|
||||||
|
|
||||||
#: ../vn/vn-column.c:468
|
#: ../vn/vn-column.c:505
|
||||||
msgid "Whether the column values are editable"
|
msgid "Whether the column values are editable"
|
||||||
msgstr "Si el valor de campo puede ser editado por el usuario"
|
msgstr "Si el valor de campo puede ser editado por el usuario"
|
||||||
|
|
||||||
#: ../vn/vn-column.c:481
|
#: ../vn/vn-column.c:518
|
||||||
msgid "Tab index"
|
msgid "Tab index"
|
||||||
msgstr "Tab index"
|
msgstr "Tab index"
|
||||||
|
|
||||||
#: ../vn/vn-column.c:482
|
#: ../vn/vn-column.c:519
|
||||||
msgid "Order in which the tab selects the columns for edition"
|
msgid "Order in which the tab selects the columns for edition"
|
||||||
msgstr "Orden en el cual el tabulador selecciona las columnas para editar"
|
msgstr "Orden en el cual el tabulador selecciona las columnas para editar"
|
||||||
|
|
||||||
#: ../vn/vn-column.c:489
|
#: ../vn/vn-column.c:526
|
||||||
msgid ""
|
msgid ""
|
||||||
"A VnColumnStyleFunc to set the properties of each cell depending on its value"
|
"A VnColumnStyleFunc to set the properties of each cell depending on its value"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -1131,12 +1139,12 @@ msgstr ""
|
||||||
"02111-1307 USA."
|
"02111-1307 USA."
|
||||||
|
|
||||||
#: ../vn/gui/date-chooser.glade.h:1 ../glade/glade-db-model.c:72
|
#: ../vn/gui/date-chooser.glade.h:1 ../glade/glade-db-model.c:72
|
||||||
#: ../glade/glade-eprop-model.c:164
|
#: ../glade/glade-eprop-model.c:163
|
||||||
msgid "OK"
|
msgid "OK"
|
||||||
msgstr "OK"
|
msgstr "OK"
|
||||||
|
|
||||||
#: ../vn/gui/date-chooser.glade.h:2 ../glade/glade-db-model.c:73
|
#: ../vn/gui/date-chooser.glade.h:2 ../glade/glade-db-model.c:73
|
||||||
#: ../glade/glade-eprop-model.c:165
|
#: ../glade/glade-eprop-model.c:164
|
||||||
msgid "Clear"
|
msgid "Clear"
|
||||||
msgstr "Limpiar"
|
msgstr "Limpiar"
|
||||||
|
|
||||||
|
@ -1152,7 +1160,7 @@ msgstr "Nueva consulta SQL"
|
||||||
msgid "SQL Editor"
|
msgid "SQL Editor"
|
||||||
msgstr "Editor SQL"
|
msgstr "Editor SQL"
|
||||||
|
|
||||||
#: ../glade/glade-db-model.c:74 ../glade/glade-eprop-model.c:166
|
#: ../glade/glade-db-model.c:74 ../glade/glade-eprop-model.c:165
|
||||||
msgid "Cancel"
|
msgid "Cancel"
|
||||||
msgstr "Cancelar"
|
msgstr "Cancelar"
|
||||||
|
|
||||||
|
@ -1160,56 +1168,60 @@ msgstr "Cancelar"
|
||||||
msgid "Open the SQL Editor"
|
msgid "Open the SQL Editor"
|
||||||
msgstr "Abrir el Editor SQL"
|
msgstr "Abrir el Editor SQL"
|
||||||
|
|
||||||
#: ../glade/glade-db-model.c:262
|
#: ../glade/glade-db-model.c:289
|
||||||
msgid "Select a GvnParam"
|
|
||||||
msgstr "Elige un GvnParam"
|
|
||||||
|
|
||||||
#: ../glade/glade-db-model.c:330
|
|
||||||
msgid "Select the parameter from a list"
|
|
||||||
msgstr "Eligir un parametro de una lista"
|
|
||||||
|
|
||||||
#: ../glade/glade-db-model.c:348
|
|
||||||
msgid "You need to create at least one GvnParam or derived object"
|
|
||||||
msgstr "Necesitas crear por lo menos un GvnParam o algun objeto derivado"
|
|
||||||
|
|
||||||
#: ../glade/glade-db-model.c:502
|
|
||||||
msgid "<b>Add or remove links</b>"
|
msgid "<b>Add or remove links</b>"
|
||||||
msgstr "<b>Añadir o quitar enlaces</b>"
|
msgstr "<b>Añadir o quitar enlaces</b>"
|
||||||
|
|
||||||
#: ../glade/glade-db-model.c:554
|
#: ../glade/glade-db-model.c:303
|
||||||
msgctxt "Verb"
|
msgctxt "Verb"
|
||||||
msgid "Link"
|
msgid "Link"
|
||||||
msgstr "Enlazar"
|
msgstr "Enlazar"
|
||||||
|
|
||||||
|
#: ../glade/glade-db-model.c:365
|
||||||
|
msgid "<b>Add or remove holders</b>"
|
||||||
|
msgstr "<b>Añadir o quitar holders</b>"
|
||||||
|
|
||||||
|
#: ../glade/glade-db-model.c:440
|
||||||
|
msgid "Select a GvnParam"
|
||||||
|
msgstr "Elige un GvnParam"
|
||||||
|
|
||||||
|
#: ../glade/glade-db-model.c:497
|
||||||
|
msgid "Select the parameter from a list"
|
||||||
|
msgstr "Eligir un parametro de una lista"
|
||||||
|
|
||||||
|
#: ../glade/glade-db-model.c:515
|
||||||
|
msgid "You need to create at least one GvnParam or derived object"
|
||||||
|
msgstr "Necesitas crear por lo menos un GvnParam o algun objeto derivado"
|
||||||
|
|
||||||
#: ../glade/glade-db-model-editor.c:62
|
#: ../glade/glade-db-model-editor.c:62
|
||||||
msgid "List of parameters linked to the model"
|
msgid "List of parameters linked to the model"
|
||||||
msgstr "Lista de parámetros vinculados al modelo"
|
msgstr "Lista de parámetros vinculados al modelo"
|
||||||
|
|
||||||
#: ../glade/glade-db-model-editor.c:65
|
#: ../glade/glade-db-model-editor.c:65
|
||||||
msgid "List of SQLHolders and identifiers"
|
msgid "List of SqlHolders and identifiers"
|
||||||
msgstr "Lista de SQLHolders e identificadores"
|
msgstr "Lista de SqlHolders e identificadores"
|
||||||
|
|
||||||
#: ../glade/glade-eprop-model.c:129
|
#: ../glade/glade-eprop-model.c:128
|
||||||
msgid "Create and set a model for a DbModelHolder"
|
msgid "Create and set a model for a DbModelHolder"
|
||||||
msgstr "Crear y poner el modelo a un DbModelHolder"
|
msgstr "Crear y poner el modelo a un DbModelHolder"
|
||||||
|
|
||||||
#: ../glade/glade-eprop-model.c:161
|
#: ../glade/glade-eprop-model.c:160
|
||||||
msgid "Model configuration"
|
msgid "Model configuration"
|
||||||
msgstr "Configuración del modelo"
|
msgstr "Configuración del modelo"
|
||||||
|
|
||||||
#: ../glade/glade-eprop-model.c:161
|
#: ../glade/glade-eprop-model.c:160
|
||||||
msgid "Model properties configuration"
|
msgid "Model properties configuration"
|
||||||
msgstr "Configuración de propiedades del modelo"
|
msgstr "Configuración de propiedades del modelo"
|
||||||
|
|
||||||
#: ../glade/glade-eprop-model.c:244
|
#: ../glade/glade-eprop-model.c:243
|
||||||
msgid "Select a VnModel for the property"
|
msgid "Select a VnModel for the property"
|
||||||
msgstr "Elige un VnModel para la propiedad"
|
msgstr "Elige un VnModel para la propiedad"
|
||||||
|
|
||||||
#: ../glade/glade-eprop-model.c:265 ../glade/glade-eprop-model.c:311
|
#: ../glade/glade-eprop-model.c:264 ../glade/glade-eprop-model.c:310
|
||||||
msgid "New Model"
|
msgid "New Model"
|
||||||
msgstr "Nuevo Modelo"
|
msgstr "Nuevo Modelo"
|
||||||
|
|
||||||
#: ../glade/glade-eprop-model.c:306
|
#: ../glade/glade-eprop-model.c:305
|
||||||
msgid "Edit Model"
|
msgid "Edit Model"
|
||||||
msgstr "Editar Modelo"
|
msgstr "Editar Modelo"
|
||||||
|
|
||||||
|
|
198
po/nl.po
198
po/nl.po
|
@ -8,7 +8,7 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: hedera 1.0\n"
|
"Project-Id-Version: hedera 1.0\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2014-06-25 16:41+0200\n"
|
"POT-Creation-Date: 2014-07-07 15:57+0200\n"
|
||||||
"PO-Revision-Date: 2012-10-09 11:38+0200\n"
|
"PO-Revision-Date: 2012-10-09 11:38+0200\n"
|
||||||
"Last-Translator: Alejandro T. Colombini Gómez <atcolombini@verdnatura.es>\n"
|
"Last-Translator: Alejandro T. Colombini Gómez <atcolombini@verdnatura.es>\n"
|
||||||
"Language-Team: Dutch\n"
|
"Language-Team: Dutch\n"
|
||||||
|
@ -33,7 +33,7 @@ msgstr ""
|
||||||
msgid "Incompatible type for this param"
|
msgid "Incompatible type for this param"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../gvn/gvn-param.c:443 ../sql/sql-value.c:252 ../vn/vn-field.c:538
|
#: ../gvn/gvn-param.c:443 ../sql/sql-value.c:252 ../vn/vn-field.c:573
|
||||||
msgid "Value"
|
msgid "Value"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -73,15 +73,15 @@ msgstr ""
|
||||||
msgid "The spec of the parameter"
|
msgid "The spec of the parameter"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../gvn/gvn-param.c:478 ../vn/vn-field.c:566
|
#: ../gvn/gvn-param.c:478 ../vn/vn-field.c:601
|
||||||
msgid "Glib Type"
|
msgid "Glib Type"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../gvn/gvn-param.c:479 ../vn/vn-field.c:567
|
#: ../gvn/gvn-param.c:479 ../vn/vn-field.c:602
|
||||||
msgid "The type of the value"
|
msgid "The type of the value"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../gvn/gvn-param.c:485 ../vn/vn-field.c:573 ../vn/vn-column.c:467
|
#: ../gvn/gvn-param.c:485 ../vn/vn-field.c:608 ../vn/vn-column.c:504
|
||||||
msgid "Editable"
|
msgid "Editable"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -89,7 +89,7 @@ msgstr ""
|
||||||
msgid "Whether the param value can be modified"
|
msgid "Whether the param value can be modified"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../gvn/gvn-param.c:492 ../vn/vn-field.c:580 ../vn/vn-column.c:474
|
#: ../gvn/gvn-param.c:492 ../vn/vn-field.c:615 ../vn/vn-column.c:511
|
||||||
msgid "Null"
|
msgid "Null"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -97,11 +97,11 @@ msgstr ""
|
||||||
msgid "Whether the param value can be of type GVN_TYPE_NULL"
|
msgid "Whether the param value can be of type GVN_TYPE_NULL"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../gvn/gvn-param.c:499 ../vn/vn-field.c:587
|
#: ../gvn/gvn-param.c:499 ../vn/vn-field.c:622
|
||||||
msgid "Default Value"
|
msgid "Default Value"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../gvn/gvn-param.c:500 ../vn/vn-field.c:588
|
#: ../gvn/gvn-param.c:500 ../vn/vn-field.c:623
|
||||||
msgid "The default value"
|
msgid "The default value"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -126,7 +126,7 @@ msgstr ""
|
||||||
msgid "The character used for delimite the name of fields, tables..."
|
msgid "The character used for delimite the name of fields, tables..."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../sql/sql-value.c:245 ../glade/glade-db-model.c:546
|
#: ../sql/sql-value.c:245 ../glade/glade-db-model.c:530
|
||||||
msgid "Param"
|
msgid "Param"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -138,7 +138,7 @@ msgstr ""
|
||||||
msgid "The value"
|
msgid "The value"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../sql/sql-string.c:188 ../db/db-model.c:3304 ../db/db-request.c:449
|
#: ../sql/sql-string.c:188 ../db/db-model.c:3311 ../db/db-request.c:449
|
||||||
msgid "SQL"
|
msgid "SQL"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -210,7 +210,7 @@ msgstr ""
|
||||||
msgid "The function parameters"
|
msgid "The function parameters"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../sql/sql-holder.c:124
|
#: ../sql/sql-holder.c:124 ../glade/glade-db-model.c:369
|
||||||
msgid "Identifier"
|
msgid "Identifier"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -339,75 +339,83 @@ msgstr ""
|
||||||
msgid "Wether to rememeber the selection when model is refreshed"
|
msgid "Wether to rememeber the selection when model is refreshed"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../db/db-model.c:3278 ../db/db-request.c:442 ../vn/vn-gui.c:1443
|
#: ../db/db-model.c:3285 ../db/db-request.c:442 ../vn/vn-gui.c:1560
|
||||||
#: ../vn/vn-form.c:245
|
#: ../vn/vn-form.c:245
|
||||||
msgid "Connection"
|
msgid "Connection"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../db/db-model.c:3279
|
#: ../db/db-model.c:3286
|
||||||
msgid "The DbConn that manages the connection to the database"
|
msgid "The DbConn that manages the connection to the database"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../db/db-model.c:3286
|
#: ../db/db-model.c:3293
|
||||||
msgid "Statement"
|
msgid "Statement"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../db/db-model.c:3287
|
#: ../db/db-model.c:3294
|
||||||
msgid "The statement which retrieves the data"
|
msgid "The statement which retrieves the data"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../db/db-model.c:3294
|
#: ../db/db-model.c:3301
|
||||||
msgid "Use file"
|
msgid "Use file"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../db/db-model.c:3295
|
#: ../db/db-model.c:3302
|
||||||
msgid ""
|
msgid ""
|
||||||
"If this is set to TRUE, the \"sql\" property will hold the name of a file "
|
"If this is set to TRUE, the \"sql\" property will hold the name of a file "
|
||||||
"containing a query, if set to FALSE, \"sql\" is used as an SQL string"
|
"containing a query, if set to FALSE, \"sql\" is used as an SQL string"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../db/db-model.c:3305
|
#: ../db/db-model.c:3312
|
||||||
msgid ""
|
msgid ""
|
||||||
"Depending on the \"use-file\" property this will be the path to a file with "
|
"Depending on the \"use-file\" property this will be the path to a file with "
|
||||||
"queries for the model or a SQL string"
|
"queries for the model or a SQL string"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../db/db-model.c:3314
|
#: ../db/db-model.c:3321
|
||||||
msgid "Main Table"
|
msgid "Main Table"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../db/db-model.c:3315
|
#: ../db/db-model.c:3322
|
||||||
msgid "The main table of the model"
|
msgid "The main table of the model"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../db/db-model.c:3322
|
#: ../db/db-model.c:3329
|
||||||
msgid "Update flags"
|
msgid "Update flags"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../db/db-model.c:3323
|
#: ../db/db-model.c:3330
|
||||||
msgid "The flags that indicate how a model can be modified"
|
msgid "The flags that indicate how a model can be modified"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../db/db-model.c:3331
|
#: ../db/db-model.c:3338
|
||||||
msgid "Result position"
|
msgid "Result position"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../db/db-model.c:3332
|
#: ../db/db-model.c:3339
|
||||||
msgid ""
|
msgid ""
|
||||||
"The position where the query that will fill the model will be placed in a "
|
"The position where the query that will fill the model will be placed in a "
|
||||||
"multi-query"
|
"multi-query"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../db/db-model.c:3342
|
#: ../db/db-model.c:3349
|
||||||
msgid "Partial delete"
|
msgid "Partial delete"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../db/db-model.c:3343
|
#: ../db/db-model.c:3350
|
||||||
msgid ""
|
msgid ""
|
||||||
"When a row is deleted set all the fields from the table to null rather than "
|
"When a row is deleted set all the fields from the table to null rather than "
|
||||||
"delete it."
|
"delete it."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../db/db-model.c:3358
|
||||||
|
msgid "Batch"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../db/db-model.c:3359
|
||||||
|
msgid "The batch assigned to the model"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: ../db/db-model-holder.c:71 ../db/db-calc.c:329
|
#: ../db/db-model-holder.c:71 ../db/db-calc.c:329
|
||||||
msgid "Model"
|
msgid "Model"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -444,7 +452,7 @@ msgstr ""
|
||||||
msgid "The user provided data for the function"
|
msgid "The user provided data for the function"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../db/db-calc.c:360 ../glade/glade-db-model.c:537
|
#: ../db/db-calc.c:360 ../glade/glade-db-model.c:293
|
||||||
msgid "Column"
|
msgid "Column"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -452,7 +460,7 @@ msgstr ""
|
||||||
msgid "A column to apply the operations over it"
|
msgid "A column to apply the operations over it"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../db/db-param.c:251 ../vn/vn-grid.c:518 ../vn/vn-field.c:552
|
#: ../db/db-param.c:251 ../vn/vn-grid.c:518 ../vn/vn-field.c:587
|
||||||
msgid "Iterator"
|
msgid "Iterator"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -460,7 +468,7 @@ msgstr ""
|
||||||
msgid "The iterator owner of param"
|
msgid "The iterator owner of param"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../db/db-param.c:258 ../vn/vn-column.c:453
|
#: ../db/db-param.c:258 ../vn/vn-column.c:490
|
||||||
msgid "Column index"
|
msgid "Column index"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -468,11 +476,11 @@ msgstr ""
|
||||||
msgid "The referenced column index"
|
msgid "The referenced column index"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../db/db-param.c:265 ../vn/vn-field.c:559 ../vn/vn-column.c:460
|
#: ../db/db-param.c:265 ../vn/vn-field.c:594 ../vn/vn-column.c:497
|
||||||
msgid "Column name"
|
msgid "Column name"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../db/db-param.c:266 ../vn/vn-column.c:461
|
#: ../db/db-param.c:266 ../vn/vn-column.c:498
|
||||||
msgid "The referenced column name"
|
msgid "The referenced column name"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -606,59 +614,59 @@ msgstr ""
|
||||||
msgid "The maximal size for the contents of the cache directory"
|
msgid "The maximal size for the contents of the cache directory"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../vn/vn-gui.c:516
|
#: ../vn/vn-gui.c:632
|
||||||
msgid "Connection has been lost. Do you want to reconnect?"
|
msgid "Connection has been lost. Do you want to reconnect?"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../vn/vn-gui.c:523
|
#: ../vn/vn-gui.c:639
|
||||||
msgid "An error occurred in the connection."
|
msgid "An error occurred in the connection."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../vn/vn-gui.c:526
|
#: ../vn/vn-gui.c:642
|
||||||
msgid "Database error"
|
msgid "Database error"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../vn/vn-gui.c:533
|
#: ../vn/vn-gui.c:649
|
||||||
msgid "Unknown error"
|
msgid "Unknown error"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../vn/vn-gui.c:880
|
#: ../vn/vn-gui.c:998
|
||||||
msgid "Closing connection"
|
msgid "Closing connection"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../vn/vn-gui.c:882
|
#: ../vn/vn-gui.c:1000
|
||||||
msgid "Transaction started"
|
msgid "Transaction started"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../vn/vn-gui.c:884
|
#: ../vn/vn-gui.c:1002
|
||||||
msgid "Connecting"
|
msgid "Connecting"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../vn/vn-gui.c:886
|
#: ../vn/vn-gui.c:1004
|
||||||
msgid "Connection lost"
|
msgid "Connection lost"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../vn/vn-gui.c:888
|
#: ../vn/vn-gui.c:1006
|
||||||
msgid "Connection closed"
|
msgid "Connection closed"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../vn/vn-gui.c:890 ../vn/field/vn-http-image.c:116
|
#: ../vn/vn-gui.c:1008 ../vn/field/vn-http-image.c:119
|
||||||
msgid "Loading"
|
msgid "Loading"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../vn/vn-gui.c:892
|
#: ../vn/vn-gui.c:1010
|
||||||
msgid "Ready"
|
msgid "Ready"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../vn/vn-gui.c:1444
|
#: ../vn/vn-gui.c:1561
|
||||||
msgid "The connection used by Gui"
|
msgid "The connection used by Gui"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../vn/vn-gui.c:1450
|
#: ../vn/vn-gui.c:1567
|
||||||
msgid "Application"
|
msgid "Application"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../vn/vn-gui.c:1451
|
#: ../vn/vn-gui.c:1568
|
||||||
msgid "The application handler for the entire program"
|
msgid "The application handler for the entire program"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -763,48 +771,48 @@ msgstr ""
|
||||||
msgid "Bad connection settings, please check it."
|
msgid "Bad connection settings, please check it."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../vn/vn-login.c:484
|
#: ../vn/vn-login.c:489
|
||||||
msgid "Application id"
|
msgid "Application id"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../vn/vn-login.c:485
|
#: ../vn/vn-login.c:490
|
||||||
msgid "The application identifier"
|
msgid "The application identifier"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../vn/vn-field.c:539
|
#: ../vn/vn-field.c:574
|
||||||
msgid "The current value of the field"
|
msgid "The current value of the field"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../vn/vn-field.c:545 ../glade/glade-db-iterator.c:71
|
#: ../vn/vn-field.c:580 ../glade/glade-db-iterator.c:71
|
||||||
#: ../glade/glade-db-iterator.c:116
|
#: ../glade/glade-db-iterator.c:116
|
||||||
msgid "Parameter"
|
msgid "Parameter"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../vn/vn-field.c:546
|
#: ../vn/vn-field.c:581
|
||||||
msgid "The param where the field can read/write its value"
|
msgid "The param where the field can read/write its value"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../vn/vn-field.c:553
|
#: ../vn/vn-field.c:588
|
||||||
msgid "The iterator used to get the field param"
|
msgid "The iterator used to get the field param"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../vn/vn-field.c:560
|
#: ../vn/vn-field.c:595
|
||||||
msgid "The column name on the iterator"
|
msgid "The column name on the iterator"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../vn/vn-field.c:574
|
#: ../vn/vn-field.c:609
|
||||||
msgid "Whether the field value is user editable"
|
msgid "Whether the field value is user editable"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../vn/vn-field.c:581 ../vn/vn-column.c:475
|
#: ../vn/vn-field.c:616 ../vn/vn-column.c:512
|
||||||
msgid "Whether the field value can be of type GVN_TYPE_NULL"
|
msgid "Whether the field value can be of type GVN_TYPE_NULL"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../vn/vn-field.c:594 ../vn/vn-column.c:488
|
#: ../vn/vn-field.c:629 ../vn/vn-column.c:525
|
||||||
msgid "Style function"
|
msgid "Style function"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../vn/vn-field.c:595
|
#: ../vn/vn-field.c:630
|
||||||
msgid ""
|
msgid ""
|
||||||
"A VnFieldStyleFunc to set the properties of each field depending on its value"
|
"A VnFieldStyleFunc to set the properties of each field depending on its value"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -890,57 +898,57 @@ msgstr ""
|
||||||
msgid "Undefined error"
|
msgid "Undefined error"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../vn/field/vn-http-image.c:142
|
#: ../vn/field/vn-http-image.c:145
|
||||||
msgid "File loader already set"
|
msgid "File loader already set"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. Se usará para subir imagenes y cambiar nombres, o abrir un menu contextual
|
#. Se usará para subir imagenes y cambiar nombres, o abrir un menu contextual
|
||||||
#. g_signal_connect (obj, "event", G_CALLBACK (vn_http_image_cb_event), obj);
|
#. g_signal_connect (obj, "event", G_CALLBACK (vn_http_image_cb_event), obj);
|
||||||
#: ../vn/field/vn-http-image.c:181
|
#: ../vn/field/vn-http-image.c:184
|
||||||
msgid "No image set"
|
msgid "No image set"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../vn/field/vn-http-image.c:207 ../vn/column/vn-column-image.c:531
|
#: ../vn/field/vn-http-image.c:211 ../vn/column/vn-column-image.c:531
|
||||||
msgid "File loader"
|
msgid "File loader"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../vn/field/vn-http-image.c:208
|
#: ../vn/field/vn-http-image.c:212
|
||||||
msgid "A DbFileLoader, used to download the files"
|
msgid "A DbFileLoader, used to download the files"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../vn/field/vn-http-image.c:215
|
#: ../vn/field/vn-http-image.c:219
|
||||||
msgid "File path"
|
msgid "File path"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../vn/field/vn-http-image.c:216
|
#: ../vn/field/vn-http-image.c:220
|
||||||
msgid "The relative path to the image from file loader path"
|
msgid "The relative path to the image from file loader path"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../vn/field/vn-http-image.c:223
|
#: ../vn/field/vn-http-image.c:227
|
||||||
msgid "Image bytes"
|
msgid "Image bytes"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../vn/field/vn-http-image.c:224
|
#: ../vn/field/vn-http-image.c:228
|
||||||
msgid "A GBytes structure with the image data"
|
msgid "A GBytes structure with the image data"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../vn/vn-column.c:454
|
#: ../vn/vn-column.c:491
|
||||||
msgid "The column index in the model"
|
msgid "The column index in the model"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../vn/vn-column.c:468
|
#: ../vn/vn-column.c:505
|
||||||
msgid "Whether the column values are editable"
|
msgid "Whether the column values are editable"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../vn/vn-column.c:481
|
#: ../vn/vn-column.c:518
|
||||||
msgid "Tab index"
|
msgid "Tab index"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../vn/vn-column.c:482
|
#: ../vn/vn-column.c:519
|
||||||
msgid "Order in which the tab selects the columns for edition"
|
msgid "Order in which the tab selects the columns for edition"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../vn/vn-column.c:489
|
#: ../vn/vn-column.c:526
|
||||||
msgid ""
|
msgid ""
|
||||||
"A VnColumnStyleFunc to set the properties of each cell depending on its value"
|
"A VnColumnStyleFunc to set the properties of each cell depending on its value"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -1090,12 +1098,12 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../vn/gui/date-chooser.glade.h:1 ../glade/glade-db-model.c:72
|
#: ../vn/gui/date-chooser.glade.h:1 ../glade/glade-db-model.c:72
|
||||||
#: ../glade/glade-eprop-model.c:164
|
#: ../glade/glade-eprop-model.c:163
|
||||||
msgid "OK"
|
msgid "OK"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../vn/gui/date-chooser.glade.h:2 ../glade/glade-db-model.c:73
|
#: ../vn/gui/date-chooser.glade.h:2 ../glade/glade-db-model.c:73
|
||||||
#: ../glade/glade-eprop-model.c:165
|
#: ../glade/glade-eprop-model.c:164
|
||||||
msgid "Clear"
|
msgid "Clear"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -1111,7 +1119,7 @@ msgstr ""
|
||||||
msgid "SQL Editor"
|
msgid "SQL Editor"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../glade/glade-db-model.c:74 ../glade/glade-eprop-model.c:166
|
#: ../glade/glade-db-model.c:74 ../glade/glade-eprop-model.c:165
|
||||||
msgid "Cancel"
|
msgid "Cancel"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -1119,56 +1127,60 @@ msgstr ""
|
||||||
msgid "Open the SQL Editor"
|
msgid "Open the SQL Editor"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../glade/glade-db-model.c:262
|
#: ../glade/glade-db-model.c:289
|
||||||
msgid "Select a GvnParam"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: ../glade/glade-db-model.c:330
|
|
||||||
msgid "Select the parameter from a list"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: ../glade/glade-db-model.c:348
|
|
||||||
msgid "You need to create at least one GvnParam or derived object"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: ../glade/glade-db-model.c:502
|
|
||||||
msgid "<b>Add or remove links</b>"
|
msgid "<b>Add or remove links</b>"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../glade/glade-db-model.c:554
|
#: ../glade/glade-db-model.c:303
|
||||||
msgctxt "Verb"
|
msgctxt "Verb"
|
||||||
msgid "Link"
|
msgid "Link"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../glade/glade-db-model.c:365
|
||||||
|
msgid "<b>Add or remove holders</b>"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../glade/glade-db-model.c:440
|
||||||
|
msgid "Select a GvnParam"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../glade/glade-db-model.c:497
|
||||||
|
msgid "Select the parameter from a list"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: ../glade/glade-db-model.c:515
|
||||||
|
msgid "You need to create at least one GvnParam or derived object"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: ../glade/glade-db-model-editor.c:62
|
#: ../glade/glade-db-model-editor.c:62
|
||||||
msgid "List of parameters linked to the model"
|
msgid "List of parameters linked to the model"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../glade/glade-db-model-editor.c:65
|
#: ../glade/glade-db-model-editor.c:65
|
||||||
msgid "List of SQLHolders and identifiers"
|
msgid "List of SqlHolders and identifiers"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../glade/glade-eprop-model.c:129
|
#: ../glade/glade-eprop-model.c:128
|
||||||
msgid "Create and set a model for a DbModelHolder"
|
msgid "Create and set a model for a DbModelHolder"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../glade/glade-eprop-model.c:161
|
#: ../glade/glade-eprop-model.c:160
|
||||||
msgid "Model configuration"
|
msgid "Model configuration"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../glade/glade-eprop-model.c:161
|
#: ../glade/glade-eprop-model.c:160
|
||||||
msgid "Model properties configuration"
|
msgid "Model properties configuration"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../glade/glade-eprop-model.c:244
|
#: ../glade/glade-eprop-model.c:243
|
||||||
msgid "Select a VnModel for the property"
|
msgid "Select a VnModel for the property"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../glade/glade-eprop-model.c:265 ../glade/glade-eprop-model.c:311
|
#: ../glade/glade-eprop-model.c:264 ../glade/glade-eprop-model.c:310
|
||||||
msgid "New Model"
|
msgid "New Model"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../glade/glade-eprop-model.c:306
|
#: ../glade/glade-eprop-model.c:305
|
||||||
msgid "Edit Model"
|
msgid "Edit Model"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
|
@ -254,7 +254,7 @@ static void vn_date_chooser_on_toggled (GtkToggleButton * button, VnDateChooser
|
||||||
GtkAllocation allocation;
|
GtkAllocation allocation;
|
||||||
GtkWidget * widget = GTK_WIDGET (button);
|
GtkWidget * widget = GTK_WIDGET (button);
|
||||||
|
|
||||||
// Set the date on the calendar
|
// Set the date/time on the calendar
|
||||||
|
|
||||||
if (obj->datetime)
|
if (obj->datetime)
|
||||||
{
|
{
|
||||||
|
|
|
@ -67,10 +67,11 @@ VnField * vn_http_image_new (DbFileLoader * loader, const gchar * name)
|
||||||
|
|
||||||
static void vn_http_image_cb_error (VnHttpImage * obj, const GError * error)
|
static void vn_http_image_cb_error (VnHttpImage * obj, const GError * error)
|
||||||
{
|
{
|
||||||
gchar * e = error ? error->message : _("Undefined error");
|
gchar * msg = error ? error->message : _("Undefined error");
|
||||||
const gchar * name = g_value_get_string (vn_field_get_value (VN_FIELD (obj)));
|
const gchar * name = g_value_get_string (vn_field_get_value (VN_FIELD (obj)));
|
||||||
g_warning ("VnHttpImage (%s%s): %s", obj->priv->path, name, e);
|
g_warning ("VnHttpImage (%s%s): %s", obj->priv->path, name, msg);
|
||||||
SET_ICON ("missing-image", e);
|
SET_ICON ("missing-image", msg);
|
||||||
|
g_object_unref (obj);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void vn_http_image_cb_download
|
static void vn_http_image_cb_download
|
||||||
|
@ -102,6 +103,8 @@ static void vn_http_image_cb_download
|
||||||
|
|
||||||
g_object_unref (loader);
|
g_object_unref (loader);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
g_object_unref (obj);
|
||||||
}
|
}
|
||||||
/*
|
/*
|
||||||
static void vn_http_image_cb_upload
|
static void vn_http_image_cb_upload
|
||||||
|
@ -115,7 +118,7 @@ static void vn_http_image_set_value (VnHttpImage * obj, const GValue * value)
|
||||||
|
|
||||||
SET_ICON ("view-refresh", _("Loading"));
|
SET_ICON ("view-refresh", _("Loading"));
|
||||||
db_file_loader_download (obj->priv->loader, full_path,
|
db_file_loader_download (obj->priv->loader, full_path,
|
||||||
(DbFileLoaderCallbackFunc) vn_http_image_cb_download, obj);
|
(DbFileLoaderCallbackFunc) vn_http_image_cb_download, g_object_ref (obj));
|
||||||
g_free (full_path);
|
g_free (full_path);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -175,7 +178,7 @@ static void vn_http_image_init (VnHttpImage * obj)
|
||||||
|
|
||||||
obj->priv->path = g_strdup ("");
|
obj->priv->path = g_strdup ("");
|
||||||
obj->priv->loader = NULL;
|
obj->priv->loader = NULL;
|
||||||
obj->priv->image = GTK_IMAGE (gtk_image_new ());
|
obj->priv->image = g_object_ref_sink (GTK_IMAGE (gtk_image_new ()));
|
||||||
//Se usará para subir imagenes y cambiar nombres, o abrir un menu contextual
|
//Se usará para subir imagenes y cambiar nombres, o abrir un menu contextual
|
||||||
// g_signal_connect (obj, "event", G_CALLBACK (vn_http_image_cb_event), obj);
|
// g_signal_connect (obj, "event", G_CALLBACK (vn_http_image_cb_event), obj);
|
||||||
SET_ICON ("missing-image", _("No image set"));
|
SET_ICON ("missing-image", _("No image set"));
|
||||||
|
@ -189,6 +192,7 @@ static void vn_http_image_finalize (VnHttpImage * obj)
|
||||||
g_clear_object (&obj->priv->loader);
|
g_clear_object (&obj->priv->loader);
|
||||||
g_free (obj->priv->path);
|
g_free (obj->priv->path);
|
||||||
g_bytes_unref (obj->priv->bytes);
|
g_bytes_unref (obj->priv->bytes);
|
||||||
|
g_object_unref (obj->priv->image);
|
||||||
G_OBJECT_CLASS (vn_http_image_parent_class)->finalize (G_OBJECT (obj));
|
G_OBJECT_CLASS (vn_http_image_parent_class)->finalize (G_OBJECT (obj));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -52,16 +52,23 @@ static void vn_model_start_element (GMarkupParseContext * context,
|
||||||
guint i;
|
guint i;
|
||||||
VnModelData * d = data;
|
VnModelData * d = data;
|
||||||
|
|
||||||
for (i = 0; names[i]; i++)
|
if (!g_strcmp0 (element, "link"))
|
||||||
if (!g_strcmp0 (names[i], "field"))
|
for (i = 0; names[i]; i++)
|
||||||
d->fields = g_slist_prepend (d->fields, g_strdup (values[i]));
|
if (!g_strcmp0 (names[i], "field"))
|
||||||
else if (!g_strcmp0 (names[i], "param"))
|
d->fields = g_slist_prepend (d->fields, g_strdup (values[i]));
|
||||||
d->params = g_slist_prepend (d->params, g_strdup (values[i]));
|
else if (!g_strcmp0 (names[i], "param"))
|
||||||
else if (!g_strcmp0 (names[i], "linked"))
|
d->params = g_slist_prepend (d->params, g_strdup (values[i]));
|
||||||
{
|
else if (!g_strcmp0 (names[i], "linked"))
|
||||||
gboolean b = values[i] && !g_strcmp0 (values[i], "True") ? TRUE : FALSE;
|
{
|
||||||
d->linked = g_slist_prepend (d->linked, GINT_TO_POINTER (b));
|
gboolean b = values[i] && !g_strcmp0 (values[i], "True") ? TRUE : FALSE;
|
||||||
}
|
d->linked = g_slist_prepend (d->linked, GINT_TO_POINTER (b));
|
||||||
|
}
|
||||||
|
else if (!g_strcmp0 (element, "holder"))
|
||||||
|
for (i = 0; names[i]; i++)
|
||||||
|
if (!g_strcmp0 (names[i], "id"))
|
||||||
|
d->fields = g_slist_prepend (d->fields, g_strdup (values[i]));
|
||||||
|
else if (!g_strcmp0 (names[i], "param"))
|
||||||
|
d->params = g_slist_prepend (d->params, g_strdup (values[i]));
|
||||||
}
|
}
|
||||||
|
|
||||||
static const GMarkupParser vn_model_parser =
|
static const GMarkupParser vn_model_parser =
|
||||||
|
@ -76,14 +83,14 @@ static gboolean vn_model_buildable_custom_tag_start (GtkBuildable * buildable,
|
||||||
if (child)
|
if (child)
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
if (!g_strcmp0 (tag, "links"))
|
if (!g_strcmp0 (tag, "links") || !g_strcmp0 (tag, "batch"))
|
||||||
{
|
{
|
||||||
VnModelData * data_ptr = g_slice_new (VnModelData);
|
VnModelData * data_ptr = g_slice_new (VnModelData);
|
||||||
data_ptr->builder = builder;
|
data_ptr->builder = builder;
|
||||||
data_ptr->model = DB_MODEL (buildable);
|
data_ptr->model = DB_MODEL (buildable);
|
||||||
data_ptr->fields = NULL;
|
data_ptr->fields = NULL;
|
||||||
data_ptr->params = NULL;
|
data_ptr->params = NULL;
|
||||||
data_ptr->linked = NULL;
|
data_ptr->linked = FALSE;
|
||||||
*data = data_ptr;
|
*data = data_ptr;
|
||||||
*parser = vn_model_parser;
|
*parser = vn_model_parser;
|
||||||
|
|
||||||
|
@ -103,31 +110,61 @@ static void vn_model_buildable_custom_finished (GtkBuildable * buildable,
|
||||||
|
|
||||||
g_return_if_fail (d->builder);
|
g_return_if_fail (d->builder);
|
||||||
|
|
||||||
if (g_strcmp0 (tagname, "links"))
|
if (!g_strcmp0 (tagname, "links"))
|
||||||
return;
|
|
||||||
|
|
||||||
d->fields = g_slist_reverse (d->fields);
|
|
||||||
d->params = g_slist_reverse (d->params);
|
|
||||||
d->linked = g_slist_reverse (d->linked);
|
|
||||||
|
|
||||||
for (f = d->fields, p = d->params, l = d->linked;
|
|
||||||
f && p && l;
|
|
||||||
f = f->next, p = p->next, l = l->next)
|
|
||||||
{
|
{
|
||||||
gchar * field = f->data;
|
d->fields = g_slist_reverse (d->fields);
|
||||||
gboolean linked = GPOINTER_TO_INT (l->data);
|
d->params = g_slist_reverse (d->params);
|
||||||
GvnParam * param = GVN_PARAM (gtk_builder_get_object (d->builder, p->data));
|
d->linked = g_slist_reverse (d->linked);
|
||||||
|
|
||||||
db_model_set_default_value_from_param (d->model, field, param, linked);
|
for (f = d->fields, p = d->params, l = d->linked;
|
||||||
|
f && p && l;
|
||||||
|
f = f->next, p = p->next, l = l->next)
|
||||||
|
{
|
||||||
|
gchar * field = f->data;
|
||||||
|
gboolean linked = GPOINTER_TO_INT (l->data);
|
||||||
|
GvnParam * param = GVN_PARAM (gtk_builder_get_object (d->builder, p->data));
|
||||||
|
|
||||||
g_free (f->data);
|
db_model_set_default_value_from_param (d->model, field, param, linked);
|
||||||
g_free (p->data);
|
|
||||||
|
g_free (f->data);
|
||||||
|
g_free (p->data);
|
||||||
|
}
|
||||||
|
|
||||||
|
g_slist_free (d->fields);
|
||||||
|
g_slist_free (d->params);
|
||||||
|
g_slist_free (d->linked);
|
||||||
|
g_slice_free (VnModelData, d);
|
||||||
}
|
}
|
||||||
|
else if (!g_strcmp0 (tagname, "batch"))
|
||||||
|
{
|
||||||
|
d->fields = g_slist_reverse (d->fields);
|
||||||
|
d->params = g_slist_reverse (d->params);
|
||||||
|
|
||||||
g_slist_free (d->fields);
|
for (f = d->fields, p = d->params;
|
||||||
g_slist_free (d->params);
|
f && p;
|
||||||
g_slist_free (d->linked);
|
f = f->next, p = p->next)
|
||||||
g_slice_free (VnModelData, d);
|
{
|
||||||
|
gchar * id = f->data;
|
||||||
|
GvnParam * param = GVN_PARAM (gtk_builder_get_object (d->builder, p->data));
|
||||||
|
SqlBatch * batch = db_model_get_batch (d->model);
|
||||||
|
|
||||||
|
if (!batch)
|
||||||
|
{
|
||||||
|
batch = sql_batch_new ();
|
||||||
|
sql_batch_add_from_param (batch, id, param);
|
||||||
|
db_model_set_batch (d->model, batch);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
sql_batch_add_from_param (batch, id, param);
|
||||||
|
|
||||||
|
g_free (f->data);
|
||||||
|
g_free (p->data);
|
||||||
|
}
|
||||||
|
|
||||||
|
g_slist_free (d->fields);
|
||||||
|
g_slist_free (d->params);
|
||||||
|
g_slice_free (VnModelData, d);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void vn_model_buildable_set_buildable_property (GtkBuildable * buildable,
|
static void vn_model_buildable_set_buildable_property (GtkBuildable * buildable,
|
||||||
|
|
|
@ -1,17 +1,17 @@
|
||||||
<!ELEMENT module (library|action-group|form-group)* >
|
<!ELEMENT module (library|action-group|form-group)*>
|
||||||
<!ELEMENT library (#PCDATA) >
|
<!ELEMENT library (#PCDATA)>
|
||||||
<!ELEMENT action-group (action)* >
|
<!ELEMENT action-group (action)*>
|
||||||
<!ELEMENT action (#PCDATA) >
|
<!ELEMENT action EMPTY>
|
||||||
<!ELEMENT form-group (form)* >
|
<!ELEMENT form-group (form)*>
|
||||||
<!ELEMENT form (#PCDATA) >
|
<!ELEMENT form (#PCDATA)>
|
||||||
|
|
||||||
<!ATTLIST library
|
<!ATTLIST library
|
||||||
translatable (yes|no) #IMPLIED
|
translatable (yes|no) #IMPLIED
|
||||||
name CDATA #REQUIRED
|
name CDATA #REQUIRED
|
||||||
>
|
>
|
||||||
<!ATTLIST action
|
<!ATTLIST action
|
||||||
translatable (yes|no) #IMPLIED
|
|
||||||
name CDATA #REQUIRED
|
name CDATA #REQUIRED
|
||||||
|
activate CDATA #REQUIRED
|
||||||
>
|
>
|
||||||
<!ATTLIST form
|
<!ATTLIST form
|
||||||
translatable (yes|no) #IMPLIED
|
translatable (yes|no) #IMPLIED
|
||||||
|
|
|
@ -18,7 +18,12 @@
|
||||||
#include "vn-column.h"
|
#include "vn-column.h"
|
||||||
#include "vn-grid.h"
|
#include "vn-grid.h"
|
||||||
|
|
||||||
G_DEFINE_ABSTRACT_TYPE (VnColumn, vn_column, GTK_TYPE_TREE_VIEW_COLUMN);
|
static void vn_column_buildable_init (GtkBuildableIface * iface);
|
||||||
|
|
||||||
|
G_DEFINE_ABSTRACT_TYPE_WITH_CODE (VnColumn, vn_column, GTK_TYPE_TREE_VIEW_COLUMN,
|
||||||
|
G_IMPLEMENT_INTERFACE (GTK_TYPE_BUILDABLE,
|
||||||
|
vn_column_buildable_init)
|
||||||
|
);
|
||||||
|
|
||||||
static GdkRGBA vn_column_red;
|
static GdkRGBA vn_column_red;
|
||||||
static GdkRGBA vn_column_green;
|
static GdkRGBA vn_column_green;
|
||||||
|
@ -352,6 +357,34 @@ void vn_column_model_changed (VnColumn * obj)
|
||||||
klass->model_changed (obj);
|
klass->model_changed (obj);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* vn_column_get_cell_renderer:
|
||||||
|
* @obj: a #VnColumn
|
||||||
|
*
|
||||||
|
* Retrieves the cell renderer used by the column.
|
||||||
|
*
|
||||||
|
* Return value: (transfer none): a #GtkCellRenderer
|
||||||
|
**/
|
||||||
|
GtkCellRenderer * vn_column_get_cell_renderer (VnColumn * obj)
|
||||||
|
{
|
||||||
|
g_return_if_fail (VN_IS_COLUMN (obj));
|
||||||
|
|
||||||
|
return obj->cell;
|
||||||
|
}
|
||||||
|
|
||||||
|
//+++++++++++++++++++++++++++++++++++++++++++++++++++ Buildable
|
||||||
|
|
||||||
|
static GtkBuildableIface * parent_buildable_iface;
|
||||||
|
|
||||||
|
static GObject * vn_column_buildable_get_internal_child (GtkBuildable * buildable,
|
||||||
|
GtkBuilder * builder, const gchar * childname)
|
||||||
|
{
|
||||||
|
if (!g_strcmp0 (childname, "cell"))
|
||||||
|
return G_OBJECT (vn_column_get_cell_renderer (VN_COLUMN (buildable)));
|
||||||
|
return parent_buildable_iface->get_internal_child (buildable, builder, childname);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
//+++++++++++++++++++++++++++++++++++++++++++++++++++ Properties
|
//+++++++++++++++++++++++++++++++++++++++++++++++++++ Properties
|
||||||
|
|
||||||
enum
|
enum
|
||||||
|
@ -422,6 +455,7 @@ static void vn_column_get_property (VnColumn * obj, guint id,
|
||||||
|
|
||||||
//+++++++++++++++++++++++++++++++++++++++++++++++++++ Class
|
//+++++++++++++++++++++++++++++++++++++++++++++++++++ Class
|
||||||
|
|
||||||
|
|
||||||
static void vn_column_init (VnColumn * obj)
|
static void vn_column_init (VnColumn * obj)
|
||||||
{
|
{
|
||||||
obj->column_index = -1;
|
obj->column_index = -1;
|
||||||
|
@ -435,6 +469,12 @@ static void vn_column_finalize (VnColumn * obj)
|
||||||
G_OBJECT_CLASS (vn_column_parent_class)->finalize (G_OBJECT (obj));
|
G_OBJECT_CLASS (vn_column_parent_class)->finalize (G_OBJECT (obj));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void vn_column_buildable_init (GtkBuildableIface * iface)
|
||||||
|
{
|
||||||
|
parent_buildable_iface = g_type_interface_peek_parent (iface);
|
||||||
|
iface->get_internal_child = vn_column_buildable_get_internal_child;
|
||||||
|
}
|
||||||
|
|
||||||
static void vn_column_class_init (VnColumnClass * klass)
|
static void vn_column_class_init (VnColumnClass * klass)
|
||||||
{
|
{
|
||||||
GObjectClass * k = G_OBJECT_CLASS (klass);
|
GObjectClass * k = G_OBJECT_CLASS (klass);
|
||||||
|
|
|
@ -80,5 +80,6 @@ void vn_column_set_tab_index (VnColumn * obj, gint tab_index);
|
||||||
DbModel * vn_column_get_model (VnColumn * obj);
|
DbModel * vn_column_get_model (VnColumn * obj);
|
||||||
gboolean vn_column_get_iter (VnColumn * obj, const gchar * path, DbIter * iter);
|
gboolean vn_column_get_iter (VnColumn * obj, const gchar * path, DbIter * iter);
|
||||||
void vn_column_model_changed (VnColumn * obj);
|
void vn_column_model_changed (VnColumn * obj);
|
||||||
|
GtkCellRenderer * vn_column_get_cell_renderer (VnColumn * obj);
|
||||||
|
|
||||||
#endif
|
#endif
|
|
@ -17,7 +17,12 @@
|
||||||
|
|
||||||
#include "vn-field.h"
|
#include "vn-field.h"
|
||||||
|
|
||||||
G_DEFINE_ABSTRACT_TYPE (VnField, vn_field, GTK_TYPE_EVENT_BOX);
|
static void vn_field_buildable_init (GtkBuildableIface * iface);
|
||||||
|
|
||||||
|
G_DEFINE_ABSTRACT_TYPE_WITH_CODE (VnField, vn_field, GTK_TYPE_EVENT_BOX,
|
||||||
|
G_IMPLEMENT_INTERFACE (GTK_TYPE_BUILDABLE,
|
||||||
|
vn_field_buildable_init)
|
||||||
|
);
|
||||||
|
|
||||||
enum {
|
enum {
|
||||||
VALUE_CHANGED
|
VALUE_CHANGED
|
||||||
|
@ -393,6 +398,33 @@ void vn_field_set_to_default (VnField * obj)
|
||||||
gvn_param_spec_get_default (obj->spec));
|
gvn_param_spec_get_default (obj->spec));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* vn_field_get_widget:
|
||||||
|
* @obj: the #VnField
|
||||||
|
*
|
||||||
|
* Gets the internal widget of @obj.
|
||||||
|
*
|
||||||
|
* Return value: (transfer none): the widget
|
||||||
|
**/
|
||||||
|
GtkWidget * vn_field_get_widget (VnField * obj)
|
||||||
|
{
|
||||||
|
g_return_if_fail (VN_IS_FIELD (obj));
|
||||||
|
|
||||||
|
return obj->field;
|
||||||
|
}
|
||||||
|
|
||||||
|
//+++++++++++++++++++++++++++++++++++++++++++++++++++ Buildable
|
||||||
|
|
||||||
|
static GtkBuildableIface *parent_buildable_iface;
|
||||||
|
|
||||||
|
static GObject * vn_field_buildable_get_internal_child (GtkBuildable * buildable,
|
||||||
|
GtkBuilder * builder, const gchar * childname)
|
||||||
|
{
|
||||||
|
if (!g_strcmp0 (childname, "widget"))
|
||||||
|
return G_OBJECT (vn_field_get_widget (VN_FIELD (buildable)));
|
||||||
|
return parent_buildable_iface->get_internal_child (buildable, builder, childname);
|
||||||
|
}
|
||||||
|
|
||||||
//+++++++++++++++++++++++++++++++++++++++++++++++++++ Properties
|
//+++++++++++++++++++++++++++++++++++++++++++++++++++ Properties
|
||||||
|
|
||||||
enum
|
enum
|
||||||
|
@ -520,6 +552,12 @@ static void vn_field_finalize (VnField * obj)
|
||||||
G_OBJECT_CLASS (vn_field_parent_class)->finalize (G_OBJECT (obj));
|
G_OBJECT_CLASS (vn_field_parent_class)->finalize (G_OBJECT (obj));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void vn_field_buildable_init (GtkBuildableIface * iface)
|
||||||
|
{
|
||||||
|
parent_buildable_iface = g_type_interface_peek_parent (iface);
|
||||||
|
iface->get_internal_child = vn_field_buildable_get_internal_child;
|
||||||
|
}
|
||||||
|
|
||||||
static void vn_field_class_init (VnFieldClass * klass)
|
static void vn_field_class_init (VnFieldClass * klass)
|
||||||
{
|
{
|
||||||
GObjectClass * k = G_OBJECT_CLASS (klass);
|
GObjectClass * k = G_OBJECT_CLASS (klass);
|
||||||
|
|
|
@ -73,5 +73,6 @@ void vn_field_set_editable (VnField * obj, gboolean editable);
|
||||||
const GValue * vn_field_get_default (VnField * obj);
|
const GValue * vn_field_get_default (VnField * obj);
|
||||||
void vn_field_set_default (VnField * obj, const GValue * def);
|
void vn_field_set_default (VnField * obj, const GValue * def);
|
||||||
void vn_field_set_to_default (VnField * obj);
|
void vn_field_set_to_default (VnField * obj);
|
||||||
|
GtkWidget * vn_field_get_widget (VnField * obj);
|
||||||
|
|
||||||
#endif
|
#endif
|
|
@ -58,7 +58,7 @@ void vn_form_open (VnForm * obj)
|
||||||
// Loading menu
|
// Loading menu
|
||||||
|
|
||||||
g_free (file);
|
g_free (file);
|
||||||
file = g_strdup_printf ("%s/%s-menu.glade", dir, obj->name);
|
file = g_strdup_printf ("%s/%s-menu.xml", dir, obj->name);
|
||||||
|
|
||||||
if (gtk_builder_add_from_file (obj->builder, file, &err))
|
if (gtk_builder_add_from_file (obj->builder, file, &err))
|
||||||
{
|
{
|
||||||
|
|
|
@ -58,7 +58,7 @@ struct _VnFormClass
|
||||||
GtkAlignmentClass parent;
|
GtkAlignmentClass parent;
|
||||||
/*< public >*/
|
/*< public >*/
|
||||||
void (* open) (VnForm * obj, GtkBuilder * builder, gpointer user_data);
|
void (* open) (VnForm * obj, GtkBuilder * builder, gpointer user_data);
|
||||||
const GActionEntry * (* get_actions) (VnForm * obj, int * size);
|
const GActionEntry * (* get_actions) (VnForm * obj, gint * size);
|
||||||
/* void (* activate) (VnForm * obj);
|
/* void (* activate) (VnForm * obj);
|
||||||
void (* deactivate) (VnForm * obj);*/
|
void (* deactivate) (VnForm * obj);*/
|
||||||
};
|
};
|
||||||
|
|
185
vn/vn-gui.c
185
vn/vn-gui.c
|
@ -199,55 +199,80 @@ static void vn_gui_load_module (VnGui * obj, const gchar * dir, const gchar * fi
|
||||||
GdomeDOMString * name_str;
|
GdomeDOMString * name_str;
|
||||||
gchar * path = g_strdup_printf ("%s/%s", dir, file);
|
gchar * path = g_strdup_printf ("%s/%s", dir, file);
|
||||||
|
|
||||||
if (!vn_gui_validate_module_definition (obj, path))
|
|
||||||
{
|
|
||||||
g_warning ("The module definition at \"%s\" is not valid", path);
|
|
||||||
g_free (path);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Getting the module info from XML file
|
// Getting the module info from XML file
|
||||||
|
|
||||||
di = gdome_di_mkref ();
|
di = gdome_di_mkref ();
|
||||||
doc = gdome_di_createDocFromURI (di, path, 0, &e);
|
doc = gdome_di_createDocFromURI (di, path, 0, &e);
|
||||||
|
|
||||||
g_free (path);
|
|
||||||
|
|
||||||
gdome_di_unref (di, &e);
|
gdome_di_unref (di, &e);
|
||||||
|
|
||||||
name_str = S("name");
|
name_str = S("name");
|
||||||
|
|
||||||
if (doc)
|
if (doc)
|
||||||
{
|
{
|
||||||
GdomeDOMString * library_str = S("library"),
|
gboolean is_module = FALSE;
|
||||||
* form_str = S("form");
|
GdomeDocumentType * dt = gdome_doc_doctype (doc, &e);
|
||||||
|
|
||||||
nl = gdome_doc_getElementsByTagName (doc, library_str, &e);
|
if (dt)
|
||||||
el = (GdomeElement *) gdome_nl_item (nl, 0, &e);
|
{
|
||||||
gdome_str_unref (library_str);
|
GdomeDOMString * dt_name = gdome_dt_name (dt, &e);
|
||||||
gdome_nl_unref (nl, &e);
|
is_module = dt_name && !g_strcmp0 (dt_name->str, "hedera-module");
|
||||||
|
gdome_str_unref (dt_name);
|
||||||
|
gdome_dt_unref (dt, &e);
|
||||||
|
}
|
||||||
|
|
||||||
library = gdome_el_getAttribute (el, name_str, &e);
|
if (is_module)
|
||||||
mod_name = g_strdup (library->str);
|
{
|
||||||
|
if (vn_gui_validate_module_definition (obj, path))
|
||||||
|
{
|
||||||
|
GdomeDOMString * library_str = S("library"),
|
||||||
|
* form_str = S("form");
|
||||||
|
|
||||||
node = gdome_el_firstChild (el, &e);
|
nl = gdome_doc_getElementsByTagName (doc, library_str, &e);
|
||||||
mod_title = gdome_n_nodeValue (node, &e);
|
el = (GdomeElement *) gdome_nl_item (nl, 0, &e);
|
||||||
mod_title_strip = g_strstrip (g_strdup (mod_title->str));
|
gdome_str_unref (library_str);
|
||||||
nl = gdome_doc_getElementsByTagName (doc, form_str, &e);
|
gdome_nl_unref (nl, &e);
|
||||||
|
|
||||||
gdome_str_unref (form_str);
|
library = gdome_el_getAttribute (el, name_str, &e);
|
||||||
gdome_str_unref (library);
|
mod_name = g_strdup (library->str);
|
||||||
gdome_doc_unref (doc, &e);
|
|
||||||
gdome_n_unref (node, &e);
|
node = gdome_el_firstChild (el, &e);
|
||||||
gdome_el_unref (el, &e);
|
mod_title = gdome_n_nodeValue (node, &e);
|
||||||
|
mod_title_strip = g_strstrip (g_strdup (mod_title->str));
|
||||||
|
nl = gdome_doc_getElementsByTagName (doc, form_str, &e);
|
||||||
|
|
||||||
|
gdome_str_unref (form_str);
|
||||||
|
gdome_str_unref (library);
|
||||||
|
gdome_doc_unref (doc, &e);
|
||||||
|
gdome_n_unref (node, &e);
|
||||||
|
gdome_el_unref (el, &e);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
g_warning ("VnGui: The module definition at \"%s\" is not valid", path);
|
||||||
|
gdome_doc_unref (doc, &e);
|
||||||
|
gdome_str_unref (name_str);
|
||||||
|
g_free (path);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
gdome_doc_unref (doc, &e);
|
||||||
|
gdome_str_unref (name_str);
|
||||||
|
g_free (path);
|
||||||
|
return;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
g_warning ("VnGui: Error loading module info file: %s", (gchar *) file);
|
g_warning ("VnGui: Error loading module info file: %s", (gchar *) file);
|
||||||
gdome_str_unref (name_str);
|
gdome_str_unref (name_str);
|
||||||
|
g_free (path);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
g_free (path);
|
||||||
|
|
||||||
// Loading the module dynamically
|
// Loading the module dynamically
|
||||||
|
|
||||||
for (n = 0; obj->lib_dirs[n] && !module; n++)
|
for (n = 0; obj->lib_dirs[n] && !module; n++)
|
||||||
|
@ -259,19 +284,27 @@ static void vn_gui_load_module (VnGui * obj, const gchar * dir, const gchar * fi
|
||||||
|
|
||||||
if (module)
|
if (module)
|
||||||
{
|
{
|
||||||
|
//TODO Get the type of the module
|
||||||
|
// gchar * c_name = g_strdelimit (g_strdup (mod_name), "-. ", '_');
|
||||||
g_module_make_resident (module);
|
g_module_make_resident (module);
|
||||||
|
|
||||||
|
// symbol_name = g_strdup_printf ("vn_%s_get_type", c_name);
|
||||||
|
|
||||||
mod = g_object_new (VN_TYPE_MOD
|
mod = g_object_new (VN_TYPE_MOD
|
||||||
,"name" ,mod_name
|
,"name" ,mod_name
|
||||||
,"data-dir" ,dir
|
,"data-dir" ,dir
|
||||||
,"module" ,module
|
,"module" ,module
|
||||||
,"title" ,mod_title_strip
|
,"title" ,mod_title_strip
|
||||||
|
,"gui" ,obj
|
||||||
,NULL
|
,NULL
|
||||||
);
|
);
|
||||||
|
|
||||||
|
// g_free (c_name);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
g_warning ("VnGui: Can't load module %s: %s", mod_name, g_module_error ());
|
g_warning ("VnGui: Can't load module %s: %s", mod_name, g_module_error ());
|
||||||
|
|
||||||
// If successful, load forms, actions and UI
|
// If successful, load forms
|
||||||
|
|
||||||
if (mod)
|
if (mod)
|
||||||
{
|
{
|
||||||
|
@ -374,6 +407,84 @@ static void vn_gui_load_module (VnGui * obj, const gchar * dir, const gchar * fi
|
||||||
gdome_str_unref (icon_str);
|
gdome_str_unref (icon_str);
|
||||||
gdome_str_unref (action_name_str);
|
gdome_str_unref (action_name_str);
|
||||||
}
|
}
|
||||||
|
/* {
|
||||||
|
gulong len, n;
|
||||||
|
GtkTreeIter parent_iter;
|
||||||
|
GdomeDOMString * icon_str = S("icon");
|
||||||
|
|
||||||
|
// Creating folder to put forms inside
|
||||||
|
|
||||||
|
text_dom = vn_mod_get_text_domain (mod);
|
||||||
|
gtk_tree_store_append (obj->tree, &parent_iter, NULL);
|
||||||
|
gtk_tree_store_set (obj->tree, &parent_iter
|
||||||
|
,COL_ICON ,"gtk-directory"
|
||||||
|
,COL_TITLE ,g_dgettext (text_dom, mod_title_strip)
|
||||||
|
,COL_TYPE ,G_TYPE_NONE
|
||||||
|
,COL_NAME ,NULL
|
||||||
|
,-1
|
||||||
|
);
|
||||||
|
|
||||||
|
len = gdome_nl_length (nl, &e) ;
|
||||||
|
|
||||||
|
for (n = 0; n < len; n++)
|
||||||
|
{
|
||||||
|
gchar * c_name, * title_strip, * symbol_name;
|
||||||
|
GdomeDOMString * icon, * name, * title;
|
||||||
|
VnFormGetTypeFunc mod_get_type_func;
|
||||||
|
|
||||||
|
el = (GdomeElement *) gdome_nl_item (nl, n, &e);
|
||||||
|
icon = gdome_el_getAttribute (el, icon_str, &e);
|
||||||
|
|
||||||
|
name = gdome_el_getAttribute (el, name_str, &e);
|
||||||
|
c_name = g_strdelimit (g_strdup (name->str), "-. ", '_');
|
||||||
|
|
||||||
|
node = gdome_el_firstChild (el, &e);
|
||||||
|
title = gdome_n_nodeValue (node, &e);
|
||||||
|
title_strip = g_strstrip (g_strdup (g_dgettext (text_dom, title->str)));
|
||||||
|
|
||||||
|
gdome_n_unref (node, &e);
|
||||||
|
gdome_el_unref (el, &e);
|
||||||
|
|
||||||
|
symbol_name = g_strdup_printf ("vn_%s_get_type", c_name);
|
||||||
|
|
||||||
|
if (g_module_symbol (module, symbol_name, (gpointer) &mod_get_type_func))
|
||||||
|
{
|
||||||
|
GType type = mod_get_type_func ();
|
||||||
|
|
||||||
|
if (g_type_is_a (type, VN_TYPE_FORM))
|
||||||
|
{
|
||||||
|
GtkTreeIter * iter = g_new (GtkTreeIter, 1);
|
||||||
|
gtk_tree_store_append (obj->tree, iter, &parent_iter);
|
||||||
|
gtk_tree_store_set (obj->tree, iter
|
||||||
|
,COL_NAME ,name->str
|
||||||
|
,COL_ICON ,icon->str
|
||||||
|
,COL_TITLE ,title_strip
|
||||||
|
,COL_TYPE ,type
|
||||||
|
,COL_MODULE ,mod
|
||||||
|
,-1
|
||||||
|
);
|
||||||
|
|
||||||
|
g_hash_table_replace (obj->forms, g_strdup (name->str), iter);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
g_warning ("VnGui: %s isn't a VnForm", g_type_name (type));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
g_warning ("VnGui: Error loading form: %s", g_module_error ());
|
||||||
|
|
||||||
|
g_free (c_name);
|
||||||
|
g_free (title_strip);
|
||||||
|
g_free (symbol_name);
|
||||||
|
gdome_str_unref (name);
|
||||||
|
gdome_str_unref (icon);
|
||||||
|
gdome_str_unref (title);
|
||||||
|
}
|
||||||
|
|
||||||
|
obj->modules = g_slist_prepend (obj->modules, mod);
|
||||||
|
|
||||||
|
gdome_str_unref (icon_str);
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
g_free (mod_title_strip);
|
g_free (mod_title_strip);
|
||||||
g_free (mod_name);
|
g_free (mod_name);
|
||||||
|
@ -491,8 +602,13 @@ static VnWindow * vn_gui_add_window (VnGui * obj, GtkWindow * widget, GtkNoteboo
|
||||||
// Loading the modules actions
|
// Loading the modules actions
|
||||||
|
|
||||||
for (n = obj->modules; n; n = n->next)
|
for (n = obj->modules; n; n = n->next)
|
||||||
|
{
|
||||||
g_action_map_add_action_entries (G_ACTION_MAP (window->widget),
|
g_action_map_add_action_entries (G_ACTION_MAP (window->widget),
|
||||||
vn_mod_get_action_entries (VN_MOD (n->data)), -1, window);
|
vn_mod_get_action_entries (VN_MOD (n->data)), -1, window);
|
||||||
|
/*gint size;
|
||||||
|
const GActionEntry * actions = vn_mod_get_actions (VN_MOD (n->data), &size);
|
||||||
|
g_action_map_add_action_entries (G_ACTION_MAP (window->widget), actions, size, window);*/
|
||||||
|
}
|
||||||
|
|
||||||
vn_gui_set_menu_accels (obj, obj->main_menu, TRUE);
|
vn_gui_set_menu_accels (obj, obj->main_menu, TRUE);
|
||||||
|
|
||||||
|
@ -854,8 +970,10 @@ void vn_gui_on_close_tab_activated (GSimpleAction * a, GVariant * v, gpointer w)
|
||||||
|
|
||||||
if (window->active_form)
|
if (window->active_form)
|
||||||
vn_gui_close_form (window->obj, window->active_form);
|
vn_gui_close_form (window->obj, window->active_form);
|
||||||
else if (window == obj->active_window && !obj->windows->next)
|
else if (!obj->windows->next)
|
||||||
vn_gui_logout (obj, TRUE);
|
vn_gui_logout (obj, TRUE);
|
||||||
|
else
|
||||||
|
gtk_widget_destroy (GTK_WIDGET (window->widget));
|
||||||
}
|
}
|
||||||
|
|
||||||
//--------------------------------------------------- Connection handlers
|
//--------------------------------------------------- Connection handlers
|
||||||
|
@ -990,7 +1108,7 @@ void vn_gui_open (VnGui * obj)
|
||||||
gtk_window_maximize (window->widget);
|
gtk_window_maximize (window->widget);
|
||||||
|
|
||||||
forms = g_key_file_get_string_list (config, windows[m], "forms", NULL, NULL);
|
forms = g_key_file_get_string_list (config, windows[m], "forms", NULL, NULL);
|
||||||
|
|
||||||
for (n = 0; forms[n]; n++)
|
for (n = 0; forms[n]; n++)
|
||||||
vn_gui_open_form_at_window (obj, forms[n], window);
|
vn_gui_open_form_at_window (obj, forms[n], window);
|
||||||
|
|
||||||
|
@ -1337,16 +1455,15 @@ static void vn_gui_set_property (VnGui * obj, guint id,
|
||||||
if (dir)
|
if (dir)
|
||||||
{
|
{
|
||||||
while ((file = g_dir_read_name (dir)))
|
while ((file = g_dir_read_name (dir)))
|
||||||
if (!g_strcmp0 (".xml", g_strrstr (file, ".")))
|
if (!g_strcmp0 (".xml", g_strrstr (file, ".")))
|
||||||
vn_gui_load_module (obj, obj->data_dirs[n], file);
|
vn_gui_load_module (obj, obj->data_dirs[n], file);
|
||||||
|
|
||||||
g_dir_close (dir);
|
g_dir_close (dir);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
g_warning ("VnGui: Error opening directory at module data path: %s"
|
g_warning ("VnGui: Error opening directory at module data path: %s"
|
||||||
,err->message
|
,err->message);
|
||||||
);
|
|
||||||
g_error_free (err);
|
g_error_free (err);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -282,7 +282,7 @@ static gboolean vn_login_done (ConnectData * connect_data)
|
||||||
vn_gui_open (obj->gui);
|
vn_gui_open (obj->gui);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
GtkWidget * dialog;
|
GtkWidget * dialog;
|
||||||
|
|
||||||
dialog = gtk_message_dialog_new (obj->window
|
dialog = gtk_message_dialog_new (obj->window
|
||||||
|
@ -410,14 +410,17 @@ void vn_login_cb_pass_hide (GtkEntry * entry, GtkEntryIconPosition * pos,
|
||||||
**/
|
**/
|
||||||
void vn_login_run (VnLogin * obj)
|
void vn_login_run (VnLogin * obj)
|
||||||
{
|
{
|
||||||
|
GApplication * app;
|
||||||
|
|
||||||
g_return_if_fail (VN_IS_LOGIN (obj));
|
g_return_if_fail (VN_IS_LOGIN (obj));
|
||||||
|
|
||||||
if (g_application_register (G_APPLICATION (obj->app), NULL, NULL))
|
app = G_APPLICATION (obj->app);
|
||||||
|
|
||||||
|
if (g_application_register (app, NULL, NULL)
|
||||||
|
&& !g_application_get_is_remote (app))
|
||||||
{
|
{
|
||||||
g_object_set (gtk_settings_get_default (),
|
g_object_set (gtk_settings_get_default (), "gtk-button-images", TRUE, NULL);
|
||||||
"gtk-button-images", TRUE, NULL
|
vn_login_show (obj);
|
||||||
);
|
|
||||||
vn_login_show (obj);
|
|
||||||
gtk_main ();
|
gtk_main ();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -441,17 +444,17 @@ static void vn_login_set_property (VnLogin * obj, guint id,
|
||||||
obj->settings = g_settings_new (id);
|
obj->settings = g_settings_new (id);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
G_OBJECT_WARN_INVALID_PROPERTY_ID (obj, id, pspec);
|
G_OBJECT_WARN_INVALID_PROPERTY_ID (obj, id, pspec);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void vn_login_get_property (VnLogin * obj, guint id,
|
static void vn_login_get_property (VnLogin * obj, guint id,
|
||||||
GValue * value, GParamSpec * pspec)
|
GValue * value, GParamSpec * pspec)
|
||||||
{
|
{
|
||||||
switch (id)
|
switch (id)
|
||||||
{
|
{
|
||||||
default:
|
default:
|
||||||
G_OBJECT_WARN_INVALID_PROPERTY_ID (obj, id, pspec);
|
G_OBJECT_WARN_INVALID_PROPERTY_ID (obj, id, pspec);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
54
vn/vn-mod.c
54
vn/vn-mod.c
|
@ -23,6 +23,7 @@ struct _VnModPrivate
|
||||||
gchar * data_dir;
|
gchar * data_dir;
|
||||||
gchar * text_domain;
|
gchar * text_domain;
|
||||||
gchar * title;
|
gchar * title;
|
||||||
|
VnGui * gui;
|
||||||
GModule * module;
|
GModule * module;
|
||||||
GActionEntry * actions;
|
GActionEntry * actions;
|
||||||
};
|
};
|
||||||
|
@ -89,7 +90,7 @@ GMenuModel * vn_mod_get_menu_model (VnMod * obj)
|
||||||
|
|
||||||
g_return_val_if_fail (VN_IS_MOD (obj), NULL);
|
g_return_val_if_fail (VN_IS_MOD (obj), NULL);
|
||||||
|
|
||||||
menu_file = g_strdup_printf ("%s/%s-menu.glade",
|
menu_file = g_strdup_printf ("%s/%s-menu.xml",
|
||||||
obj->priv->data_dir, obj->priv->name);
|
obj->priv->data_dir, obj->priv->name);
|
||||||
builder = gtk_builder_new ();
|
builder = gtk_builder_new ();
|
||||||
|
|
||||||
|
@ -137,6 +138,28 @@ const GActionEntry * vn_mod_get_action_entries (VnMod * obj)
|
||||||
return obj->priv->actions;
|
return obj->priv->actions;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* vn_mod_get_actions: (virtual get_actions):
|
||||||
|
* @obj: a #VnMod
|
||||||
|
* @size:(out): the return location for the size of the array
|
||||||
|
*
|
||||||
|
* Returns the actions implemented by @obj.
|
||||||
|
*
|
||||||
|
* Return value:(transfer none) (array length=size): a #GActionEntry array
|
||||||
|
**/
|
||||||
|
const GActionEntry * vn_mod_get_actions (VnMod * obj, gint * size)
|
||||||
|
{
|
||||||
|
g_return_if_fail (VN_IS_MOD (obj));
|
||||||
|
|
||||||
|
if (!VN_MOD_GET_CLASS (obj)->get_actions)
|
||||||
|
{
|
||||||
|
*size = 0;
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
return VN_MOD_GET_CLASS (obj)->get_actions (obj, size);
|
||||||
|
}
|
||||||
|
|
||||||
static void vn_mod_free_action_entry (VnMod * obj)
|
static void vn_mod_free_action_entry (VnMod * obj)
|
||||||
{
|
{
|
||||||
gint i;
|
gint i;
|
||||||
|
@ -161,6 +184,7 @@ enum
|
||||||
,PROP_MODULE
|
,PROP_MODULE
|
||||||
,PROP_TEXT_DOMAIN
|
,PROP_TEXT_DOMAIN
|
||||||
,PROP_TITLE
|
,PROP_TITLE
|
||||||
|
,PROP_GUI
|
||||||
};
|
};
|
||||||
|
|
||||||
static void vn_mod_set_property (VnMod * obj, guint id,
|
static void vn_mod_set_property (VnMod * obj, guint id,
|
||||||
|
@ -188,6 +212,9 @@ static void vn_mod_set_property (VnMod * obj, guint id,
|
||||||
case PROP_TITLE:
|
case PROP_TITLE:
|
||||||
obj->priv->title = g_value_dup_string (value);
|
obj->priv->title = g_value_dup_string (value);
|
||||||
break;
|
break;
|
||||||
|
case PROP_GUI:
|
||||||
|
obj->priv->gui = g_value_dup_object (value);
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
G_OBJECT_WARN_INVALID_PROPERTY_ID (obj, id, pspec);
|
G_OBJECT_WARN_INVALID_PROPERTY_ID (obj, id, pspec);
|
||||||
}
|
}
|
||||||
|
@ -213,6 +240,9 @@ static void vn_mod_get_property (VnMod * obj, guint id,
|
||||||
case PROP_TITLE:
|
case PROP_TITLE:
|
||||||
g_value_set_string (value, obj->priv->title);
|
g_value_set_string (value, obj->priv->title);
|
||||||
break;
|
break;
|
||||||
|
case PROP_GUI:
|
||||||
|
g_value_set_object (value, obj->priv->gui);
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
G_OBJECT_WARN_INVALID_PROPERTY_ID (obj, id, pspec);
|
G_OBJECT_WARN_INVALID_PROPERTY_ID (obj, id, pspec);
|
||||||
}
|
}
|
||||||
|
@ -222,12 +252,15 @@ static void vn_mod_get_property (VnMod * obj, guint id,
|
||||||
|
|
||||||
static void vn_mod_init (VnMod * obj)
|
static void vn_mod_init (VnMod * obj)
|
||||||
{
|
{
|
||||||
obj->priv = G_TYPE_INSTANCE_GET_PRIVATE (obj, VN_TYPE_MOD, VnModPrivate);
|
VnModPrivate * priv;
|
||||||
obj->priv->name = NULL;
|
priv = obj->priv = G_TYPE_INSTANCE_GET_PRIVATE (obj, VN_TYPE_MOD, VnModPrivate);
|
||||||
obj->priv->data_dir = NULL;
|
|
||||||
obj->priv->module = NULL;
|
priv->name = NULL;
|
||||||
obj->priv->text_domain = NULL;
|
priv->gui = NULL;
|
||||||
obj->priv->actions = NULL;
|
priv->data_dir = NULL;
|
||||||
|
priv->module = NULL;
|
||||||
|
priv->text_domain = NULL;
|
||||||
|
priv->actions = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void vn_mod_finalize (VnMod * obj)
|
static void vn_mod_finalize (VnMod * obj)
|
||||||
|
@ -281,4 +314,11 @@ static void vn_mod_class_init (VnModClass * k)
|
||||||
,NULL
|
,NULL
|
||||||
,G_PARAM_CONSTRUCT_ONLY | G_PARAM_READWRITE
|
,G_PARAM_CONSTRUCT_ONLY | G_PARAM_READWRITE
|
||||||
));
|
));
|
||||||
|
g_object_class_install_property (klass, PROP_GUI,
|
||||||
|
g_param_spec_object ("gui"
|
||||||
|
,"Gui"
|
||||||
|
,"The Gui object"
|
||||||
|
,VN_TYPE_GUI
|
||||||
|
,G_PARAM_CONSTRUCT_ONLY | G_PARAM_READWRITE
|
||||||
|
));
|
||||||
}
|
}
|
||||||
|
|
|
@ -43,7 +43,8 @@ struct _VnMod
|
||||||
struct _VnModClass
|
struct _VnModClass
|
||||||
{
|
{
|
||||||
GObjectClass parent;
|
GObjectClass parent;
|
||||||
void (* activate) (VnMod * obj);
|
const GActionEntry * (* get_actions) (VnMod * obj, gint * size);
|
||||||
|
void (* activate) (VnMod * obj);
|
||||||
};
|
};
|
||||||
|
|
||||||
GType vn_mod_get_type ();
|
GType vn_mod_get_type ();
|
||||||
|
@ -53,6 +54,7 @@ const gchar * vn_mod_get_text_domain (VnMod * obj);
|
||||||
const gchar * vn_mod_get_data_dir (VnMod * obj);
|
const gchar * vn_mod_get_data_dir (VnMod * obj);
|
||||||
const gchar * vn_mod_get_title (VnMod * obj);
|
const gchar * vn_mod_get_title (VnMod * obj);
|
||||||
GMenuModel * vn_mod_get_menu_model (VnMod * obj);
|
GMenuModel * vn_mod_get_menu_model (VnMod * obj);
|
||||||
|
const GActionEntry * vn_mod_get_actions (VnMod * obj, int * size);
|
||||||
void vn_mod_set_action_entries (VnMod * obj, GActionEntry * actions);
|
void vn_mod_set_action_entries (VnMod * obj, GActionEntry * actions);
|
||||||
const GActionEntry * vn_mod_get_action_entries (VnMod * obj);
|
const GActionEntry * vn_mod_get_action_entries (VnMod * obj);
|
||||||
|
|
||||||
|
|
Reference in New Issue