diff --git a/Makefile.am b/Makefile.am index e11d07b..ec995d3 100644 --- a/Makefile.am +++ b/Makefile.am @@ -20,3 +20,5 @@ SUBDIRS = \ EXTRA_DIST = \ autogen.sh \ Makefile.decl + +DISTCLEANFILES = gschemas.compiled diff --git a/anjuta/hedera.wiz b/anjuta/hedera.wiz index acd97ae..0e0583c 100644 --- a/anjuta/hedera.wiz +++ b/anjuta/hedera.wiz @@ -9,8 +9,6 @@ autoconf make valac - hedera - hedera @@ -34,8 +32,6 @@ - - diff --git a/anjuta/hedera/anjuta.session.tpl b/anjuta/hedera/anjuta.session.tpl index 15905d6..fa166f7 100644 --- a/anjuta/hedera/anjuta.session.tpl +++ b/anjuta/hedera/anjuta.session.tpl @@ -20,11 +20,11 @@ Working directories=../../../[+Name+]%%%../../build Environment variables=VN_MODULE_LIB_PATH=./build/src/.libs%%%VN_MODULE_DATA_PATH=./data%%%VN_MODULE_QUERY_PATH=./sql [Build] -Configuration list=1:Default:build%%%1:Debug:build%%%1:Install:build%%%1:Optimized:build%%%1:Profiling:build +Configuration list=1:Default:build%%%1:Debug:build%%%1:Uninstalled:build%%%1:Optimized:build%%%1:Profiling:build Selected Configuration=Debug BuildArgs/Default= BuildArgs/Debug=--enable-debug -BuildArgs/Install=--prefix= +BuildArgs/Uninstalled=UNINSTALLED_DIR=~/hedera --enable-uninstalled BuildArgs/Optimized= BuildArgs/Profiling= diff --git a/anjuta/hedera/configure.ac.tpl b/anjuta/hedera/configure.ac.tpl index 021674f..d58ca95 100644 --- a/anjuta/hedera/configure.ac.tpl +++ b/anjuta/hedera/configure.ac.tpl @@ -15,7 +15,7 @@ AM_SILENT_RULES([yes]) AC_PROG_CC dnl Check for vala. -dnl You should change the version shown here manually to match with yours. +dnl You should change the version manually to match with yours. AM_PROG_VALAC([0.20.0]) [+IF (=(get "HaveI18n") "1")+] dnl Internationalization @@ -27,11 +27,10 @@ AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GETTEXT_PACKAGE", [GETTEXT package name]) AM_GLIB_GNU_GETTEXT AM_XGETTEXT_OPTION([-k_ -kQ_:1g -kN_ -kC_:1c,2 -kNC_:1c,2]) [+ENDIF+] -dnl Check for debug mode. -AC_MSG_CHECKING([whether to build with debug information...]) +AC_MSG_CHECKING([whether to build with debug information]) AC_ARG_ENABLE([debug], [AS_HELP_STRING([--enable-debug], - [Enable debug data generation (def=no)])], + [Enable debug data generation [default = no]])], [ENABLE_DEBUG="$enableval"], [ENABLE_DEBUG=no]) AC_MSG_RESULT([$ENABLE_DEBUG]) @@ -44,11 +43,10 @@ else VALAFLAGS= fi -dnl Check if the C warnings must be shown -AC_MSG_CHECKING([whether C warnings will be shown...]) +AC_MSG_CHECKING([whether C warnings will be shown]) AC_ARG_ENABLE([c-warnings], [AS_HELP_STRING([--enable-c-warnings], - [Enable C warnings to be shown (def=no)])], + [Enable C warnings to be shown [default = no]])], [C_WARNINGS="$enableval"], [C_WARNINGS=no]) AC_MSG_RESULT([$C_WARNINGS]) @@ -64,14 +62,45 @@ AC_SUBST([VALAFLAGS]) AC_SUBST([[+NameCLower+]_datadir], ['$(datadir)/hedera/module']) LT_INIT -[+IF (=(get "HavePackage") "1")+] -PKG_CHECK_VAR([[+NameCLower+]_libdir], [[+PackageModule1+]], [modulelibdir]) -PKG_CHECK_VAR([[+NameCLower+]_datadir], [[+PackageModule1+]], [moduledatadir]) -PKG_CHECK_VAR([querydir], [[+PackageModule1+]], [modulequerydir]) -PKG_CHECK_MODULES([+NameCUpper+], [[+PackageModule1+] [+PackageModule2+]]) -# Check if vala bindigns are installed and usable -VALA_CHECK_PACKAGES([[+PackageModule1+] [+PackageModule2+]])[+ENDIF+] +AC_ARG_VAR([UNINSTALLED_DIR], [the directory of the uninstalled hedera project]) +dnl This requires the user to specify the UNINSTALLED_DIR variable, with the +dnl path to the directory of the unsinstalled hedera project. +AC_MSG_CHECKING([use uninstalled Hedera]) +AC_ARG_ENABLE([uninstalled], + [AS_HELP_STRING([--enable-uninstalled], + [Enable the use of uninstalled Hedera located in the UNINSTALLED_DIR + directory, which must be defined [default = no]])], + [UNINSTALLED="$enableval"], + [UNINSTALLED=no]) +AC_MSG_RESULT([$UNINSTALLED]) + +PKG_PROG_PKG_CONFIG + +if test x"$UNINSTALLED" = x"yes"; then + PKG_CHECK_MODULES([+NameCUpper+], [gtk+-3.0]) + [+NameCUpper+]_CFLAGS+=-I$UNINSTALLED_DIR + [+NameCUpper+]_LIBS+=$UNINSTALLED_DIR/build/main/libhedera.la + + VALA_CHECK_PACKAGES([gtk+-3.0 [+PackageModule2+]]) + VALAFLAGS+='--pkg gtk+-3.0 \ + --pkg gvn --pkg sql --pkg db --pkg vn \ + --vapidir $(UNINSTALLED_DIR)/build/vapi ' + + AC_SUBST([+NameCLower+]_libdir, $libdir/hedera/module) + AC_SUBST([+NameCLower+]_datadir,$datadir/hedera/module) + AC_SUBST(querydir,$account_datadir/sql) +else + PKG_CHECK_MODULES([+NameCUpper+], [hedera]) + + VALA_CHECK_PACKAGES([hedera [+PackageModule2+]]) + VALAFLAGS+='--pkg hedera ' + + PKG_CHECK_VAR([[+NameCLower+]_libdir], [hedera], [modulelibdir]) + PKG_CHECK_VAR([[+NameCLower+]_datadir], [hedera], [moduledatadir]) + PKG_CHECK_VAR([querydir], [hedera], [modulequerydir]) +fi + [+IF (=(get "HaveGtkDoc") "1")+]GTK_DOC_CHECK([1.0])[+ENDIF+] AC_OUTPUT([ Makefile diff --git a/anjuta/hedera/src/Makefile.am.tpl b/anjuta/hedera/src/Makefile.am.tpl index c95ca84..0efc804 100644 --- a/anjuta/hedera/src/Makefile.am.tpl +++ b/anjuta/hedera/src/Makefile.am.tpl @@ -31,13 +31,12 @@ [+(prefix_if_missing "NameCLower" "lib")+]_la_CPPFLAGS = \ -DPACKAGE_DATA_DIR=\"$([+NameCLower+]_datadir)\"[+IF (=(get "HaveI18n") "1")+] \ -DPACKAGE_LOCALE_DIR=\"$(datadir)/locale\"[+ELSE+] \ - -DGETTEXT_PACKAGE=\"hedera-[+Name+]\"[+ENDIF+][+IF (=(get "HavePackage") "1")+] \ - $([+NameCUpper+]_CFLAGS)[+ENDIF+] + -DGETTEXT_PACKAGE=\"hedera-[+Name+]\" [+ENDIF+] \ + $([+NameCUpper+]_CFLAGS) [+(prefix_if_missing "NameCLower" "lib")+]_la_CFLAGS = $(CFLAGS) - [+(prefix_if_missing "NameCLower" "lib")+]_la_VALAFLAGS = [+IF (not (= (get "PackageModule2") ""))+]\ --pkg [+(string-substitute (get "PackageModule2") " " " --pkg ")+] \ - [+ENDIF+]--pkg [+PackageModule1+] \ + [+ENDIF+]\ $(VALAFLAGS) [+NameCLower+]_querydir = $(querydir)/[+NameHLower+] diff --git a/configure.ac b/configure.ac index cbda022..6d2acfd 100644 --- a/configure.ac +++ b/configure.ac @@ -72,6 +72,10 @@ GLIB_GSETTINGS # Sets the default build options for Vn projects VN_BUILD_OPTIONS +if test x"$ENABLE_INSTALL" != x"yes"; then + glib-compile-schemas --targetdir . ../vn/schema +fi + # Portability check disabled for GTK-DOC (can be changed if needed) AM_INIT_AUTOMAKE([-Wno-portability]) AC_CONFIG_FILES([ diff --git a/db/db-iterator.c b/db/db-iterator.c index be49552..aa7f306 100644 --- a/db/db-iterator.c +++ b/db/db-iterator.c @@ -29,11 +29,11 @@ * db_iterator_new() creates a new #DbIterator. */ -static void db_iterator_model_holder_interface_init (DbModelHolderInterface * iface); +static void db_iterator_model_holder_init (DbModelHolderInterface * iface); G_DEFINE_TYPE_WITH_CODE (DbIterator, db_iterator, G_TYPE_OBJECT, G_IMPLEMENT_INTERFACE (DB_TYPE_MODEL_HOLDER, - db_iterator_model_holder_interface_init) + db_iterator_model_holder_init) ); enum { @@ -999,7 +999,7 @@ static void db_iterator_class_init (DbIteratorClass * klass) )); } -static void db_iterator_model_holder_interface_init (DbModelHolderInterface * iface) +static void db_iterator_model_holder_init (DbModelHolderInterface * iface) { iface->get_model = (DbModelHolderGetModelFunc) db_iterator_get_model; iface->set_model = (DbModelHolderSetModelFunc) db_iterator_set_model; diff --git a/debian/changelog b/debian/changelog index 30dadad..c4b9ca5 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,4 +1,4 @@ -libhedera (1.0-7) stable; urgency=low +libhedera (1.0-8) stable; urgency=low * Initial Release. diff --git a/glade/vn.xml b/glade/vn.xml index dc1a1a7..f12fa0c 100644 --- a/glade/vn.xml +++ b/glade/vn.xml @@ -69,8 +69,7 @@ - - + @@ -122,6 +121,7 @@ + glade_db_model_holder_create_eprop @@ -135,8 +135,9 @@ - + + glade_db_model_holder_create_eprop diff --git a/main/Makefile.am b/main/Makefile.am index 94d34d4..fb36ae0 100644 --- a/main/Makefile.am +++ b/main/Makefile.am @@ -16,19 +16,20 @@ hedera_bin_LDADD = \ libhedera_lib_LTLIBRARIES = libhedera.la +libhedera_includedir = $(hedera_includedir) +libhedera_include_HEADERS = hedera.h +libhedera_la_SOURCES = $(libhedera_include_HEADERS) +libhedera_la_LDFLAGS = -version-info $(VERSION_INFO) +libhedera_la_LIBADD = $(top_builddir)/vn/libvn.la + if ENABLE_INSTALL libhedera_libdir = $(libdir) else libhedera_libdir = $(abs_top_builddir)/main + hedera_bin_CFLAGS = -D_SCHEMA_DIR=\"$(abs_top_builddir)\" + hedera_bin_LDFLAGS += -no-install endif -libhedera_includedir = $(hedera_includedir) -libhedera_include_HEADERS = hedera.h -libhedera_la_SOURCES = $(libhedera_includedir_HEADERS) -libhedera_la_LDFLAGS = -version-info $(VERSION_INFO) -libhedera_la_LIBADD = $(top_builddir)/vn/libvn.la - - SCRIPT = $(top_srcdir)/main/hedera.sh.in hedera_bin_SCRIPTS = hedera $(hedera_bin_SCRIPTS): $(SCRIPT) @@ -36,10 +37,7 @@ $(hedera_bin_SCRIPTS): $(SCRIPT) chmod +x $(hedera_bin_SCRIPTS) pkgconfig_DATA = hedera.pc - -desktop_DATA = \ - vn-hedera.desktop - +desktop_DATA = vn-hedera.desktop man_MANS = hedera.1 EXTRA_DIST = \ @@ -49,5 +47,4 @@ EXTRA_DIST = \ DISTCLEANFILES = \ $(hedera_bin_SCRIPTS) \ hedera.pc \ - vn-hedera.desktop \ - vn-hedera-debug.desktop + vn-hedera.desktop diff --git a/main/hedera.pc.in b/main/hedera.pc.in index 517e7f8..f984e30 100644 --- a/main/hedera.pc.in +++ b/main/hedera.pc.in @@ -14,6 +14,6 @@ modulequerydir=${moduledatadir}/sql Name: Hedera Description: Hedera database access library Version: @VERSION@ -Requires: gtk+-3.0 +Requires: vn Libs: -l@PACKAGE@ Cflags: -I${includedir} diff --git a/main/main.c b/main/main.c index 47ca0d6..12c56d6 100644 --- a/main/main.c +++ b/main/main.c @@ -28,6 +28,10 @@ int main (int argc, char * argv[]) textdomain (GETTEXT_PACKAGE); #endif +#ifdef _SCHEMA_DIR + g_setenv ("GSETTINGS_SCHEMA_DIR", _SCHEMA_DIR, TRUE); +#endif + gvn_type_init (); gtk_init (&argc, &argv); diff --git a/module/data/consulter.glade b/module/data/consulter.glade index c7ff59b..71079d4 100644 --- a/module/data/consulter.glade +++ b/module/data/consulter.glade @@ -30,6 +30,12 @@ + + + + + + 300 True @@ -190,88 +196,19 @@ False 8 - + + Immediate changes True - False - 8 - start - - - Immediate changes - True - False - True - False - 0 - True - True - - - - False - True - 0 - - - - - Start - True - True - True - - - - False - False - 1 - - - - - Commit - True - True - True - - - - False - False - 2 - - - - - Rollback - True - True - True - - - - False - False - 3 - - - - - - True - True - True - - - - False - True - 4 - - + False + True + False + 0 + True + True + - True + False True 0 @@ -280,11 +217,11 @@ True False - start + end VN_HANDLER_SHOW_REFRESH | VN_HANDLER_SHOW_UNDO | VN_HANDLER_SHOW_SAVE | VN_HANDLER_SHOW_REMOVE | VN_HANDLER_SHOW_ADD - False + True True 1 @@ -297,10 +234,4 @@ - - - - - - diff --git a/module/src/vn-consulter.c b/module/src/vn-consulter.c index 4e7651c..794523a 100644 --- a/module/src/vn-consulter.c +++ b/module/src/vn-consulter.c @@ -29,53 +29,11 @@ void vn_consulter_clean_clicked (GtkButton * button, VnConsulter * obj) gtk_list_store_clear (obj->model); } -static gboolean idle_sender (VnConsulter * obj) -{ - static int a = 0; - - if (a < 100) - { - db_model_refresh (vn_grid_get_model (obj->grid)); - a++; - return TRUE; - } - - a = 0; - obj->source = 0; - return FALSE; -} - -void vn_consulter_multisend_clicked (GtkButton * button, VnConsulter * obj) -{ - if (vn_grid_get_model (obj->grid)) - { - if (!obj->source) - obj->source = g_timeout_add (50, (GSourceFunc) idle_sender, obj); - else if (g_source_remove (obj->source)) - obj->source = 0; - } -} - -void vn_consulter_start_clicked (GtkButton * button, VnConsulter * obj) -{ - db_conn_start_transaction (VN_FORM (obj)->conn); -} - void vn_consulter_on_stop_clicked (GtkButton * button, VnConsulter * obj) { db_conn_kill_query (VN_FORM (obj)->conn); } -void vn_consulter_commit_clicked (GtkButton * button, VnConsulter * obj) -{ - db_conn_commit (VN_FORM (obj)->conn); -} - -void vn_consulter_rollback_clicked (GtkButton * button, VnConsulter * obj) -{ - db_conn_rollback (VN_FORM (obj)->conn); -} - static void vn_consulter_set_message (VnConsulter * obj, const gchar * msg) { GtkTreePath * path; @@ -113,7 +71,7 @@ static void vn_consulter_model_status_changed (DbModel * model, { VnColumn * column; GType col_type, type = db_model_get_column_type (model, i); -gboolean image = FALSE; + gboolean image = FALSE; if (type == G_TYPE_INT || type == G_TYPE_UINT || type == G_TYPE_FLOAT || type == G_TYPE_DOUBLE) @@ -122,13 +80,13 @@ gboolean image = FALSE; col_type = VN_TYPE_COLUMN_IMAGE; else if (type == G_TYPE_BOOLEAN) col_type = VN_TYPE_COLUMN_CHECK; - else -if (type == G_TYPE_STRING -&& !g_strcmp0 (db_model_get_column_name (model, i), "image")) -{ - image = TRUE; - col_type = VN_TYPE_COLUMN_IMAGE; -} + else if (type == G_TYPE_STRING && !g_utf8_collate + (g_utf8_casefold (db_model_get_column_name (model, i), -1), + g_utf8_casefold ("image", -1))) + { + image = TRUE; + col_type = VN_TYPE_COLUMN_IMAGE; + } else col_type = VN_TYPE_COLUMN_ENTRY; @@ -155,12 +113,12 @@ if (type == G_TYPE_STRING "step-increment", 0.1, // "editable", FALSE, NULL); -else if (image) - g_object_set (column, - "host", "www.verdnatura.es", - "path", "image/cache/catalog/icon", - "tooltip-path", "../full", - NULL); + else if (image) + g_object_set (column, + "host", "www.verdnatura.es", + "path", "image/cache/catalog/icon", + "tooltip-path", "../full", + NULL); } break; @@ -262,19 +220,6 @@ static void vn_consulter_open (VnConsulter * obj) for (i = 0; i < g_strv_length (queries); i++) gtk_combo_box_text_prepend_text (obj->combo, queries[i]); - -// XXX+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ TEST VnIterator -/* - DbIterator * test_iterator = vn_form_get (form, "test-iterator"); - GList * n, * params = db_iterator_get_params (test_iterator); - g_message ("DbIterator at %p",test_iterator); - for (n = params; n; n = n->next) - { - gpointer ptr; - g_object_get (n->data, "iterator", &ptr, NULL); - g_message ("DbParam %s from DbIterator at %p.",db_param_get_column_name (DB_PARAM (n->data)), ptr); - } -*/ } //+++++++++++++++++++++++++++++++++++++++++++++++++++ Class diff --git a/po/ca.po b/po/ca.po index c9053b5..b123051 100644 --- a/po/ca.po +++ b/po/ca.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: hedera 1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2013-12-13 10:07+0100\n" +"POT-Creation-Date: 2013-12-31 13:28+0100\n" "PO-Revision-Date: 2013-06-04 13:38+0200\n" "Last-Translator: Alejandro T. Colombini Gómez \n" "Language-Team: Catalan\n" @@ -213,7 +213,7 @@ msgstr "" msgid "The value" msgstr "" -#: ../sql/sql-string.c:198 ../db/db-model.c:3456 ../db/db-request.c:461 +#: ../sql/sql-string.c:198 ../db/db-model.c:3455 ../db/db-request.c:461 msgid "SQL" msgstr "" @@ -239,60 +239,60 @@ msgstr "Recordar" msgid "Wether to rememeber the selection when model is refreshed" msgstr "" -#: ../db/db-model.c:3430 ../db/db-request.c:454 ../vn/vn-gui.c:1564 +#: ../db/db-model.c:3429 ../db/db-request.c:454 ../vn/vn-gui.c:1564 #: ../vn/vn-form.c:244 msgid "Connection" msgstr "" -#: ../db/db-model.c:3431 +#: ../db/db-model.c:3430 msgid "The DbConn that manages the connection to the database" msgstr "" -#: ../db/db-model.c:3438 ../db/db-request.c:468 +#: ../db/db-model.c:3437 ../db/db-request.c:468 msgid "Statement" msgstr "" -#: ../db/db-model.c:3439 +#: ../db/db-model.c:3438 msgid "The statement which retrieves the data" msgstr "" -#: ../db/db-model.c:3446 +#: ../db/db-model.c:3445 msgid "Use file" msgstr "" -#: ../db/db-model.c:3447 +#: ../db/db-model.c:3446 msgid "" "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" msgstr "" -#: ../db/db-model.c:3457 +#: ../db/db-model.c:3456 msgid "" "Depending on the \"use-file\" property this will be the path to a file with " "queries for the model or a SQL string" msgstr "" -#: ../db/db-model.c:3466 +#: ../db/db-model.c:3465 msgid "Main Table" msgstr "" -#: ../db/db-model.c:3467 +#: ../db/db-model.c:3466 msgid "The main table of the model" msgstr "" -#: ../db/db-model.c:3474 +#: ../db/db-model.c:3473 msgid "Update flags" msgstr "" -#: ../db/db-model.c:3475 +#: ../db/db-model.c:3474 msgid "The flags that indicate how a model can be modified" msgstr "" -#: ../db/db-model.c:3483 +#: ../db/db-model.c:3482 msgid "Result position" msgstr "" -#: ../db/db-model.c:3484 +#: ../db/db-model.c:3483 msgid "" "The position where the query that will fill the model will be placed in a " "multi-query" @@ -411,7 +411,7 @@ msgstr "" msgid "The host name to connect to" msgstr "" -#: ../db/db-conn.c:1062 ../module/data/users.glade.h:2 +#: ../db/db-conn.c:1062 msgid "User" msgstr "Usuari" @@ -714,27 +714,27 @@ msgstr "" msgid "The number of decimal places to display." msgstr "" -#: ../vn/field/vn-combo.c:286 ../vn/column/vn-column-combo.c:326 +#: ../vn/field/vn-combo.c:286 ../vn/column/vn-column-combo.c:361 msgid "Index column" msgstr "" -#: ../vn/field/vn-combo.c:287 ../vn/column/vn-column-combo.c:327 +#: ../vn/field/vn-combo.c:287 ../vn/column/vn-column-combo.c:362 msgid "The column index of the model" msgstr "" -#: ../vn/field/vn-combo.c:293 ../vn/column/vn-column-combo.c:333 +#: ../vn/field/vn-combo.c:293 ../vn/column/vn-column-combo.c:368 msgid "Show column" msgstr "" -#: ../vn/field/vn-combo.c:294 ../vn/column/vn-column-combo.c:334 +#: ../vn/field/vn-combo.c:294 ../vn/column/vn-column-combo.c:369 msgid "The column of the model shown by combo" msgstr "" -#: ../vn/field/vn-completion.c:325 +#: ../vn/field/vn-completion.c:328 msgid "Field" msgstr "" -#: ../vn/field/vn-completion.c:326 +#: ../vn/field/vn-completion.c:329 msgid "The name of the field used for the search" msgstr "" @@ -837,14 +837,22 @@ msgstr "" msgid "The step increment of the adjustment" msgstr "" -#: ../vn/column/vn-column-combo.c:340 +#: ../vn/column/vn-column-combo.c:375 msgid "Sort column" msgstr "" -#: ../vn/column/vn-column-combo.c:341 +#: ../vn/column/vn-column-combo.c:376 msgid "The field number of the Grid model used to sort the column" msgstr "" +#: ../vn/column/vn-column-combo.c:382 +msgid "Filter field" +msgstr "" + +#: ../vn/column/vn-column-combo.c:383 +msgid "Name of the field to be used as query filter by the model" +msgstr "" + #: ../vn/column/vn-column-image.c:502 msgid "Base path from the host where the images will be downloaded" msgstr "" @@ -908,7 +916,7 @@ msgstr "Accés" msgid "User:" msgstr "Usuari:" -#: ../vn/gui/login.glade.h:9 ../module/data/users.glade.h:6 +#: ../vn/gui/login.glade.h:9 msgid "Password:" msgstr "Contrasenya:" @@ -1075,126 +1083,16 @@ msgid "Example" msgstr "" #: ../module/data/example.xml.h:2 -msgid "" -"\n" -"\t\t\tExample\n" -"\t\t" +msgid "Consulter" msgstr "" -#: ../module/data/example.xml.h:5 -msgid "" -"\n" -"\t\t\tConsulter\n" -"\t\t" -msgstr "" - -#: ../module/data/example.xml.h:8 -msgid "" -"\n" -"\t\t\tUsers\n" -"\t\t" -msgstr "" - -#: ../module/data/example.xml.h:11 +#: ../module/data/example.xml.h:3 msgid "" "\n" "\t\t\tCustomer\n" "\t\t" msgstr "" -#: ../module/data/users.glade.h:1 -msgid "Identifier" -msgstr "" - -#: ../module/data/users.glade.h:3 -msgid "MySQL User" -msgstr "" - -#: ../module/data/users.glade.h:4 -msgid "Enabled" -msgstr "" - -#: ../module/data/users.glade.h:5 -msgid "Name:" -msgstr "" - -#: ../module/data/users.glade.h:7 -msgid "MySQL user:" -msgstr "" - -#: ../module/data/users.glade.h:8 -msgid "Enabled:" -msgstr "" - -#: ../module/data/users.glade.h:9 -msgid "Identifier:" -msgstr "" - -#: ../module/data/users.glade.h:10 -msgid "UID:" -msgstr "" - -#: ../module/data/users.glade.h:11 -msgid "Main group:" -msgstr "" - -#: ../module/data/users.glade.h:12 -msgid "Last change:" -msgstr "" - -#: ../module/data/users.glade.h:13 -msgid "Expires:" -msgstr "" - -#: ../module/data/users.glade.h:14 -msgid "Account" -msgstr "" - -#: ../module/data/users.glade.h:15 -msgid "Alias" -msgstr "" - -#: ../module/data/users.glade.h:16 -msgid "Mail alias" -msgstr "" - -#: ../module/data/users.glade.h:17 -msgid "Extension:" -msgstr "" - -#: ../module/data/users.glade.h:18 -msgid "Secret:" -msgstr "" - -#: ../module/data/users.glade.h:19 -msgid "Call group:" -msgstr "" - -#: ../module/data/users.glade.h:20 -msgid "SIP" -msgstr "" - -#: ../module/data/users.glade.h:21 -#, fuzzy -msgid "Change password" -msgstr "Repetir contrasenya:" - -#: ../module/data/users.glade.h:22 -msgid "Repeat password:" -msgstr "Repetir contrasenya:" - -#: ../module/src/vn-users.c:60 -msgid "The password is too weak." -msgstr "" - -#: ../module/src/vn-users.c:75 -msgid "The password can't be empty." -msgstr "" - -#: ../module/src/vn-users.c:77 -msgid "Passwords do not match." -msgstr "" - #: ../module/data/consulter.glade.h:1 msgid "Send" msgstr "" @@ -1223,30 +1121,10 @@ msgstr "" msgid "Immediate changes" msgstr "" -#: ../module/data/consulter.glade.h:8 -msgid "Start" -msgstr "" - -#: ../module/data/consulter.glade.h:9 -msgid "Commit" -msgstr "" - -#: ../module/data/consulter.glade.h:10 -msgid "Rollback" -msgstr "" - -#: ../module/data/consulter.glade.h:11 -msgid "∞" -msgstr "" - -#: ../module/src/vn-consulter.c:258 +#: ../module/src/vn-consulter.c:216 msgid "Type or select a query" msgstr "" -#: ../module/src/vn-consulter.c:260 +#: ../module/src/vn-consulter.c:218 msgid "Message" msgstr "" - -#, fuzzy -#~ msgid "User name:" -#~ msgstr "Nom d'usuari" diff --git a/po/es.po b/po/es.po index c224d2f..0da8543 100644 --- a/po/es.po +++ b/po/es.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: hedera 1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2013-12-13 10:07+0100\n" +"POT-Creation-Date: 2013-12-31 13:28+0100\n" "PO-Revision-Date: 2013-06-04 13:36+0200\n" "Last-Translator: Alejandro T. Colombini Gómez \n" "Language-Team: Spanish\n" @@ -215,7 +215,7 @@ msgstr "El parametro al cual está vinculado" msgid "The value" msgstr "Valor" -#: ../sql/sql-string.c:198 ../db/db-model.c:3456 ../db/db-request.c:461 +#: ../sql/sql-string.c:198 ../db/db-model.c:3455 ../db/db-request.c:461 msgid "SQL" msgstr "SQL" @@ -241,28 +241,28 @@ msgid "Wether to rememeber the selection when model is refreshed" msgstr "" "Si se recordará o no la fila seleccionado cuando se refresque el modelo" -#: ../db/db-model.c:3430 ../db/db-request.c:454 ../vn/vn-gui.c:1564 +#: ../db/db-model.c:3429 ../db/db-request.c:454 ../vn/vn-gui.c:1564 #: ../vn/vn-form.c:244 msgid "Connection" msgstr "Conexión" -#: ../db/db-model.c:3431 +#: ../db/db-model.c:3430 msgid "The DbConn that manages the connection to the database" msgstr "La DbConn que controla la conexión a la base de datos" -#: ../db/db-model.c:3438 ../db/db-request.c:468 +#: ../db/db-model.c:3437 ../db/db-request.c:468 msgid "Statement" msgstr "Consulta" -#: ../db/db-model.c:3439 +#: ../db/db-model.c:3438 msgid "The statement which retrieves the data" msgstr "La consulta que recupera los datos" -#: ../db/db-model.c:3446 +#: ../db/db-model.c:3445 msgid "Use file" msgstr "Usa fichero" -#: ../db/db-model.c:3447 +#: ../db/db-model.c:3446 msgid "" "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" @@ -270,7 +270,7 @@ msgstr "" "Si es TRUE, la propiedad \"sql\" contiene el nombre de un archivo, si es " "falso, \"sql\" se usa como una cadena SQL" -#: ../db/db-model.c:3457 +#: ../db/db-model.c:3456 msgid "" "Depending on the \"use-file\" property this will be the path to a file with " "queries for the model or a SQL string" @@ -278,27 +278,27 @@ msgstr "" "Dependiendo de la propiedad \"use-file\", esta propiedad será la ruta a un " "fichero con consultas para el modelo o una cadena SQL" -#: ../db/db-model.c:3466 +#: ../db/db-model.c:3465 msgid "Main Table" msgstr "Tabla principal" -#: ../db/db-model.c:3467 +#: ../db/db-model.c:3466 msgid "The main table of the model" msgstr "La tabla principal del modelo" -#: ../db/db-model.c:3474 +#: ../db/db-model.c:3473 msgid "Update flags" msgstr "Flags de actualización" -#: ../db/db-model.c:3475 +#: ../db/db-model.c:3474 msgid "The flags that indicate how a model can be modified" msgstr "Indican como se puede modificar el modelo" -#: ../db/db-model.c:3483 +#: ../db/db-model.c:3482 msgid "Result position" msgstr "Posición del resultado" -#: ../db/db-model.c:3484 +#: ../db/db-model.c:3483 msgid "" "The position where the query that will fill the model will be placed in a " "multi-query" @@ -421,7 +421,7 @@ msgstr "Host" msgid "The host name to connect to" msgstr "El nombre del host al que se conectará" -#: ../db/db-conn.c:1062 ../module/data/users.glade.h:2 +#: ../db/db-conn.c:1062 msgid "User" msgstr "Usuario" @@ -672,12 +672,12 @@ msgstr "El módulo" #: ../vn/vn-login.c:291 ../vn/vn-login.c:293 msgid "Login error" -msgstr "Error de identificación" +msgstr "Error de acceso" #: ../vn/vn-login.c:349 #, c-format msgid "Bad connection settings, please check it." -msgstr "Conexión mal configurado, compruébelo por favor" +msgstr "Los parámetros de la conexión son incorrectos, compruébelos por favor." #: ../vn/vn-login.c:481 msgid "Application id" @@ -726,27 +726,27 @@ msgstr "Dígitos" msgid "The number of decimal places to display." msgstr "El número de posiciones decimales que se muestran" -#: ../vn/field/vn-combo.c:286 ../vn/column/vn-column-combo.c:326 +#: ../vn/field/vn-combo.c:286 ../vn/column/vn-column-combo.c:361 msgid "Index column" msgstr "Columna índice" -#: ../vn/field/vn-combo.c:287 ../vn/column/vn-column-combo.c:327 +#: ../vn/field/vn-combo.c:287 ../vn/column/vn-column-combo.c:362 msgid "The column index of the model" msgstr "La columna índice del modelo" -#: ../vn/field/vn-combo.c:293 ../vn/column/vn-column-combo.c:333 +#: ../vn/field/vn-combo.c:293 ../vn/column/vn-column-combo.c:368 msgid "Show column" msgstr "Columna visible" -#: ../vn/field/vn-combo.c:294 ../vn/column/vn-column-combo.c:334 +#: ../vn/field/vn-combo.c:294 ../vn/column/vn-column-combo.c:369 msgid "The column of the model shown by combo" msgstr "La columna del modelo que se mostrará en el combo" -#: ../vn/field/vn-completion.c:325 +#: ../vn/field/vn-completion.c:328 msgid "Field" msgstr "Campo" -#: ../vn/field/vn-completion.c:326 +#: ../vn/field/vn-completion.c:329 msgid "The name of the field used for the search" msgstr "El nombre del campo usado para la búsqueda" @@ -849,15 +849,23 @@ msgstr "Incremento del paso" msgid "The step increment of the adjustment" msgstr "El incremento del paso del ajuste" -#: ../vn/column/vn-column-combo.c:340 +#: ../vn/column/vn-column-combo.c:375 msgid "Sort column" msgstr "Columna de ordenación" -#: ../vn/column/vn-column-combo.c:341 +#: ../vn/column/vn-column-combo.c:376 msgid "The field number of the Grid model used to sort the column" msgstr "" "El número de campo del modelo del Grid que se usa para ordenar la columna" +#: ../vn/column/vn-column-combo.c:382 +msgid "Filter field" +msgstr "Campo de filtro" + +#: ../vn/column/vn-column-combo.c:383 +msgid "Name of the field to be used as query filter by the model" +msgstr "Nombre del campo que se usará como filtro en la consulta del modelo" + #: ../vn/column/vn-column-image.c:502 msgid "Base path from the host where the images will be downloaded" msgstr "La ruta base del servidor desde donde se descargarán las imágenes." @@ -926,7 +934,7 @@ msgstr "Acceso" msgid "User:" msgstr "Usuario:" -#: ../vn/gui/login.glade.h:9 ../module/data/users.glade.h:6 +#: ../vn/gui/login.glade.h:9 msgid "Password:" msgstr "Clave:" @@ -1107,36 +1115,10 @@ msgid "Example" msgstr "Ejemplo" #: ../module/data/example.xml.h:2 -msgid "" -"\n" -"\t\t\tExample\n" -"\t\t" -msgstr "" -"\n" -"\t\t\tEjemplo\n" -"\t\t" +msgid "Consulter" +msgstr "Consultor" -#: ../module/data/example.xml.h:5 -msgid "" -"\n" -"\t\t\tConsulter\n" -"\t\t" -msgstr "" -"\n" -"\t\t\tConsultor\n" -"\t\t" - -#: ../module/data/example.xml.h:8 -msgid "" -"\n" -"\t\t\tUsers\n" -"\t\t" -msgstr "" -"\n" -"\t\t\tUsuarios\n" -"\t\t" - -#: ../module/data/example.xml.h:11 +#: ../module/data/example.xml.h:3 msgid "" "\n" "\t\t\tCustomer\n" @@ -1146,98 +1128,6 @@ msgstr "" "\t\t\tCliente\n" "\t\t" -#: ../module/data/users.glade.h:1 -msgid "Identifier" -msgstr "Identificador" - -#: ../module/data/users.glade.h:3 -msgid "MySQL User" -msgstr "Usuario MySQL" - -#: ../module/data/users.glade.h:4 -msgid "Enabled" -msgstr "Habilitado" - -#: ../module/data/users.glade.h:5 -msgid "Name:" -msgstr "Nombre:" - -#: ../module/data/users.glade.h:7 -msgid "MySQL user:" -msgstr "Usuario MySQL:" - -#: ../module/data/users.glade.h:8 -msgid "Enabled:" -msgstr "Habilitado:" - -#: ../module/data/users.glade.h:9 -msgid "Identifier:" -msgstr "Identificador:" - -#: ../module/data/users.glade.h:10 -msgid "UID:" -msgstr "UID:" - -#: ../module/data/users.glade.h:11 -msgid "Main group:" -msgstr "Grupo principal:" - -#: ../module/data/users.glade.h:12 -msgid "Last change:" -msgstr "Último cambio:" - -#: ../module/data/users.glade.h:13 -msgid "Expires:" -msgstr "Expira:" - -#: ../module/data/users.glade.h:14 -msgid "Account" -msgstr "Cuenta" - -#: ../module/data/users.glade.h:15 -msgid "Alias" -msgstr "Alias" - -#: ../module/data/users.glade.h:16 -msgid "Mail alias" -msgstr "Alias de correo" - -#: ../module/data/users.glade.h:17 -msgid "Extension:" -msgstr "Extensión:" - -#: ../module/data/users.glade.h:18 -msgid "Secret:" -msgstr "Clave:" - -#: ../module/data/users.glade.h:19 -msgid "Call group:" -msgstr "Call group:" - -#: ../module/data/users.glade.h:20 -msgid "SIP" -msgstr "SIP" - -#: ../module/data/users.glade.h:21 -msgid "Change password" -msgstr "Cambiar contraseña" - -#: ../module/data/users.glade.h:22 -msgid "Repeat password:" -msgstr "Repetir contraseña:" - -#: ../module/src/vn-users.c:60 -msgid "The password is too weak." -msgstr "La contraseña es demasiado débil." - -#: ../module/src/vn-users.c:75 -msgid "The password can't be empty." -msgstr "La contraseña no puede estar vacía." - -#: ../module/src/vn-users.c:77 -msgid "Passwords do not match." -msgstr "Las contraseñas no coinciden." - #: ../module/data/consulter.glade.h:1 msgid "Send" msgstr "Enviar" @@ -1266,29 +1156,10 @@ msgstr "Consulta:" msgid "Immediate changes" msgstr "Cambios inmediatos" -#: ../module/data/consulter.glade.h:8 -msgid "Start" -msgstr "Empezar" - -#: ../module/data/consulter.glade.h:9 -msgid "Commit" -msgstr "Efectuar" - -#: ../module/data/consulter.glade.h:10 -msgid "Rollback" -msgstr "Deshacer" - -#: ../module/data/consulter.glade.h:11 -msgid "∞" -msgstr "∞" - -#: ../module/src/vn-consulter.c:258 +#: ../module/src/vn-consulter.c:216 msgid "Type or select a query" msgstr "Escribe o selecciona la consulta" -#: ../module/src/vn-consulter.c:260 +#: ../module/src/vn-consulter.c:218 msgid "Message" msgstr "Mensaje" - -#~ msgid "Generate params for %s" -#~ msgstr "Generar params para %s" diff --git a/po/nl.po b/po/nl.po index 79dcdc5..571ad33 100644 --- a/po/nl.po +++ b/po/nl.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: hedera 1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2013-12-13 10:07+0100\n" +"POT-Creation-Date: 2013-12-31 13:28+0100\n" "PO-Revision-Date: 2012-10-09 11:38+0200\n" "Last-Translator: Alejandro T. Colombini Gómez \n" "Language-Team: Dutch\n" @@ -215,7 +215,7 @@ msgstr "" msgid "The value" msgstr "" -#: ../sql/sql-string.c:198 ../db/db-model.c:3456 ../db/db-request.c:461 +#: ../sql/sql-string.c:198 ../db/db-model.c:3455 ../db/db-request.c:461 msgid "SQL" msgstr "" @@ -240,60 +240,60 @@ msgstr "" msgid "Wether to rememeber the selection when model is refreshed" msgstr "" -#: ../db/db-model.c:3430 ../db/db-request.c:454 ../vn/vn-gui.c:1564 +#: ../db/db-model.c:3429 ../db/db-request.c:454 ../vn/vn-gui.c:1564 #: ../vn/vn-form.c:244 msgid "Connection" msgstr "" -#: ../db/db-model.c:3431 +#: ../db/db-model.c:3430 msgid "The DbConn that manages the connection to the database" msgstr "" -#: ../db/db-model.c:3438 ../db/db-request.c:468 +#: ../db/db-model.c:3437 ../db/db-request.c:468 msgid "Statement" msgstr "" -#: ../db/db-model.c:3439 +#: ../db/db-model.c:3438 msgid "The statement which retrieves the data" msgstr "" -#: ../db/db-model.c:3446 +#: ../db/db-model.c:3445 msgid "Use file" msgstr "" -#: ../db/db-model.c:3447 +#: ../db/db-model.c:3446 msgid "" "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" msgstr "" -#: ../db/db-model.c:3457 +#: ../db/db-model.c:3456 msgid "" "Depending on the \"use-file\" property this will be the path to a file with " "queries for the model or a SQL string" msgstr "" -#: ../db/db-model.c:3466 +#: ../db/db-model.c:3465 msgid "Main Table" msgstr "" -#: ../db/db-model.c:3467 +#: ../db/db-model.c:3466 msgid "The main table of the model" msgstr "" -#: ../db/db-model.c:3474 +#: ../db/db-model.c:3473 msgid "Update flags" msgstr "" -#: ../db/db-model.c:3475 +#: ../db/db-model.c:3474 msgid "The flags that indicate how a model can be modified" msgstr "" -#: ../db/db-model.c:3483 +#: ../db/db-model.c:3482 msgid "Result position" msgstr "" -#: ../db/db-model.c:3484 +#: ../db/db-model.c:3483 msgid "" "The position where the query that will fill the model will be placed in a " "multi-query" @@ -412,7 +412,7 @@ msgstr "" msgid "The host name to connect to" msgstr "" -#: ../db/db-conn.c:1062 ../module/data/users.glade.h:2 +#: ../db/db-conn.c:1062 msgid "User" msgstr "" @@ -715,27 +715,27 @@ msgstr "" msgid "The number of decimal places to display." msgstr "" -#: ../vn/field/vn-combo.c:286 ../vn/column/vn-column-combo.c:326 +#: ../vn/field/vn-combo.c:286 ../vn/column/vn-column-combo.c:361 msgid "Index column" msgstr "" -#: ../vn/field/vn-combo.c:287 ../vn/column/vn-column-combo.c:327 +#: ../vn/field/vn-combo.c:287 ../vn/column/vn-column-combo.c:362 msgid "The column index of the model" msgstr "" -#: ../vn/field/vn-combo.c:293 ../vn/column/vn-column-combo.c:333 +#: ../vn/field/vn-combo.c:293 ../vn/column/vn-column-combo.c:368 msgid "Show column" msgstr "" -#: ../vn/field/vn-combo.c:294 ../vn/column/vn-column-combo.c:334 +#: ../vn/field/vn-combo.c:294 ../vn/column/vn-column-combo.c:369 msgid "The column of the model shown by combo" msgstr "" -#: ../vn/field/vn-completion.c:325 +#: ../vn/field/vn-completion.c:328 msgid "Field" msgstr "" -#: ../vn/field/vn-completion.c:326 +#: ../vn/field/vn-completion.c:329 msgid "The name of the field used for the search" msgstr "" @@ -838,14 +838,22 @@ msgstr "" msgid "The step increment of the adjustment" msgstr "" -#: ../vn/column/vn-column-combo.c:340 +#: ../vn/column/vn-column-combo.c:375 msgid "Sort column" msgstr "" -#: ../vn/column/vn-column-combo.c:341 +#: ../vn/column/vn-column-combo.c:376 msgid "The field number of the Grid model used to sort the column" msgstr "" +#: ../vn/column/vn-column-combo.c:382 +msgid "Filter field" +msgstr "" + +#: ../vn/column/vn-column-combo.c:383 +msgid "Name of the field to be used as query filter by the model" +msgstr "" + #: ../vn/column/vn-column-image.c:502 msgid "Base path from the host where the images will be downloaded" msgstr "" @@ -908,7 +916,7 @@ msgstr "" msgid "User:" msgstr "" -#: ../vn/gui/login.glade.h:9 ../module/data/users.glade.h:6 +#: ../vn/gui/login.glade.h:9 msgid "Password:" msgstr "" @@ -1075,125 +1083,16 @@ msgid "Example" msgstr "" #: ../module/data/example.xml.h:2 -msgid "" -"\n" -"\t\t\tExample\n" -"\t\t" +msgid "Consulter" msgstr "" -#: ../module/data/example.xml.h:5 -msgid "" -"\n" -"\t\t\tConsulter\n" -"\t\t" -msgstr "" - -#: ../module/data/example.xml.h:8 -msgid "" -"\n" -"\t\t\tUsers\n" -"\t\t" -msgstr "" - -#: ../module/data/example.xml.h:11 +#: ../module/data/example.xml.h:3 msgid "" "\n" "\t\t\tCustomer\n" "\t\t" msgstr "" -#: ../module/data/users.glade.h:1 -msgid "Identifier" -msgstr "" - -#: ../module/data/users.glade.h:3 -msgid "MySQL User" -msgstr "" - -#: ../module/data/users.glade.h:4 -msgid "Enabled" -msgstr "" - -#: ../module/data/users.glade.h:5 -msgid "Name:" -msgstr "" - -#: ../module/data/users.glade.h:7 -msgid "MySQL user:" -msgstr "" - -#: ../module/data/users.glade.h:8 -msgid "Enabled:" -msgstr "" - -#: ../module/data/users.glade.h:9 -msgid "Identifier:" -msgstr "" - -#: ../module/data/users.glade.h:10 -msgid "UID:" -msgstr "" - -#: ../module/data/users.glade.h:11 -msgid "Main group:" -msgstr "" - -#: ../module/data/users.glade.h:12 -msgid "Last change:" -msgstr "" - -#: ../module/data/users.glade.h:13 -msgid "Expires:" -msgstr "" - -#: ../module/data/users.glade.h:14 -msgid "Account" -msgstr "" - -#: ../module/data/users.glade.h:15 -msgid "Alias" -msgstr "" - -#: ../module/data/users.glade.h:16 -msgid "Mail alias" -msgstr "" - -#: ../module/data/users.glade.h:17 -msgid "Extension:" -msgstr "" - -#: ../module/data/users.glade.h:18 -msgid "Secret:" -msgstr "" - -#: ../module/data/users.glade.h:19 -msgid "Call group:" -msgstr "" - -#: ../module/data/users.glade.h:20 -msgid "SIP" -msgstr "" - -#: ../module/data/users.glade.h:21 -msgid "Change password" -msgstr "" - -#: ../module/data/users.glade.h:22 -msgid "Repeat password:" -msgstr "" - -#: ../module/src/vn-users.c:60 -msgid "The password is too weak." -msgstr "" - -#: ../module/src/vn-users.c:75 -msgid "The password can't be empty." -msgstr "" - -#: ../module/src/vn-users.c:77 -msgid "Passwords do not match." -msgstr "" - #: ../module/data/consulter.glade.h:1 msgid "Send" msgstr "" @@ -1222,26 +1121,10 @@ msgstr "" msgid "Immediate changes" msgstr "" -#: ../module/data/consulter.glade.h:8 -msgid "Start" -msgstr "" - -#: ../module/data/consulter.glade.h:9 -msgid "Commit" -msgstr "" - -#: ../module/data/consulter.glade.h:10 -msgid "Rollback" -msgstr "" - -#: ../module/data/consulter.glade.h:11 -msgid "∞" -msgstr "" - -#: ../module/src/vn-consulter.c:258 +#: ../module/src/vn-consulter.c:216 msgid "Type or select a query" msgstr "" -#: ../module/src/vn-consulter.c:260 +#: ../module/src/vn-consulter.c:218 msgid "Message" msgstr "" diff --git a/vapi/Makefile.am b/vapi/Makefile.am index d235411..a607311 100644 --- a/vapi/Makefile.am +++ b/vapi/Makefile.am @@ -8,10 +8,11 @@ vapi_DATA = \ vn.deps \ hedera.deps \ hedera.vapi + EXTRA_DIST = \ Db.metadata \ Gvn.metadata \ Sql.metadata \ - Vn.metadata \ - $(vapi_DATA) + Vn.metadata + endif diff --git a/vn/column/vn-column-combo.c b/vn/column/vn-column-combo.c index 9a7c00f..76674a8 100644 --- a/vn/column/vn-column-combo.c +++ b/vn/column/vn-column-combo.c @@ -18,59 +18,13 @@ #include "vn-column-combo.h" #include "../vn-model.h" -static void vn_column_combo_model_holder_interface_init (DbModelHolderInterface * iface); +static void vn_column_combo_model_holder_init (DbModelHolderInterface * iface); G_DEFINE_TYPE_WITH_CODE (VnColumnCombo, vn_column_combo, VN_TYPE_COLUMN, G_IMPLEMENT_INTERFACE (DB_TYPE_MODEL_HOLDER, - vn_column_combo_model_holder_interface_init) + vn_column_combo_model_holder_init) ); -static void vn_column_combo_on_status_changed (DbModel * model, - DbModelStatus status, VnColumnCombo * obj) -{ - if (status == DB_MODEL_STATUS_READY) - { - g_object_set (VN_COLUMN (obj)->cell, "model", obj->tree_model, NULL); - - db_model_use_null_row (obj->model, VN_COLUMN (obj)->null); - } - else - g_object_set (VN_COLUMN (obj)->cell, "model", NULL, NULL); -} - -static DbModel * vn_column_combo_model_holder_get_model (VnColumnCombo * obj) -{ - return obj->model; -} - -static void vn_column_combo_model_holder_set_model (VnColumnCombo * obj, - DbModel * model) -{ - g_return_if_fail (!model || DB_IS_MODEL (model)); - - if (obj->model) - { - g_signal_handlers_disconnect_by_func (obj->model, - vn_column_combo_on_status_changed, obj); - g_clear_object (&obj->model); - g_clear_object (&obj->tree_model); - - if (obj->completion_ready) - gtk_entry_completion_set_model (obj->completion, NULL); - } - - if (model) - { - obj->model = g_object_ref (model); - obj->tree_model = GTK_TREE_MODEL (vn_model_new (model)); - g_signal_connect (model, "status-changed", - G_CALLBACK (vn_column_combo_on_status_changed), obj); - - if (obj->completion_ready) - gtk_entry_completion_set_model (obj->completion, obj->tree_model); - } -} - static void vn_column_combo_set_value (VnColumnCombo * obj, GtkTreeModel * model, GtkTreeIter * tree_iter, GObject * cell, const GValue * value) { @@ -103,7 +57,7 @@ static gchar * vn_column_combo_on_format_entry_text (GtkComboBox * combo, { gchar * str; GtkTreeIter iter; - + gtk_tree_model_get_iter_from_string (obj->tree_model, &iter, path); gtk_tree_model_get (obj->tree_model, &iter, obj->show_column, &str, -1); @@ -127,6 +81,7 @@ static void vn_column_combo_on_editing_started (GtkCellRenderer * cell, { gtk_entry_completion_set_model (obj->completion, obj->tree_model); gtk_entry_completion_set_text_column (obj->completion, obj->show_column); + gtk_entry_completion_set_minimum_key_length (obj->completion, 1); obj->completion_ready = TRUE; g_signal_connect_swapped (cell_editable, "editing-done", @@ -146,10 +101,9 @@ static void vn_column_combo_on_editing_started (GtkCellRenderer * cell, } /* - * When the text is edited using an entry, tries to set the corresponding - * underlying value. + * When the text is edited using an entry, tries to set its underlying value. */ -static void vn_column_combo_on_edited (GtkCellRendererText *renderer, +static void vn_column_combo_on_edited (GtkCellRendererText * renderer, gchar * path, gchar * new_text, VnColumnCombo * obj) { DbIter iter; @@ -229,6 +183,53 @@ static void vn_column_combo_model_changed (VnColumnCombo * obj) } } +static void vn_column_combo_on_status_changed (DbModel * model, + DbModelStatus status, VnColumnCombo * obj) +{ + if (status == DB_MODEL_STATUS_READY) + { + g_object_set (VN_COLUMN (obj)->cell, "model", obj->tree_model, NULL); + db_model_use_null_row (obj->model, VN_COLUMN (obj)->null); + } + else + g_object_set (VN_COLUMN (obj)->cell, "model", NULL, NULL); +} + +//+++++++++++++++++++++++++++++++++++++++++++++++++ DbModelHolder implementation + +static void vn_column_combo_set_model (VnColumnCombo * obj, + DbModel * model) +{ + g_return_if_fail (!model || DB_IS_MODEL (model)); + + if (obj->model) + { + g_signal_handlers_disconnect_by_func (obj->model, + vn_column_combo_on_status_changed, obj); + g_clear_object (&obj->model); + g_clear_object (&obj->tree_model); + + if (obj->completion_ready) + gtk_entry_completion_set_model (obj->completion, NULL); + } + + if (model) + { + obj->model = model; + obj->tree_model = GTK_TREE_MODEL (vn_model_new (model)); + g_signal_connect (model, "status-changed", + G_CALLBACK (vn_column_combo_on_status_changed), obj); + + if (obj->completion_ready) + gtk_entry_completion_set_model (obj->completion, obj->tree_model); + } +} + +static DbModel * vn_column_combo_get_model (VnColumnCombo * obj) +{ + return obj->model; +} + //+++++++++++++++++++++++++++++++++++++++++++++++++++ Properties enum @@ -256,7 +257,7 @@ static void vn_column_combo_set_property (VnColumnCombo * obj, guint id, obj->sort_column = g_value_get_int (value); break; case PROP_MODEL: - vn_column_combo_model_holder_set_model (obj, g_value_get_object (value)); + vn_column_combo_set_model (obj, g_value_dup_object (value)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (obj, id, pspec); @@ -295,16 +296,18 @@ static void vn_column_combo_init (VnColumnCombo * obj) obj->completion = NULL; obj->completion_ready = FALSE; obj->cell_editable = NULL; + VN_COLUMN_GET_CLASS (obj)->set_renderer (VN_COLUMN (obj), cell); } static void vn_column_combo_finalize (VnColumnCombo * obj) { - vn_column_combo_model_holder_set_model (obj, NULL); + vn_column_combo_set_model (obj, NULL); if (obj->completion) g_object_unref (obj->completion); + G_OBJECT_CLASS (vn_column_combo_parent_class)->finalize (G_OBJECT (obj)); } @@ -344,8 +347,8 @@ static void vn_column_combo_class_init (VnColumnComboClass * klass) )); } -static void vn_column_combo_model_holder_interface_init (DbModelHolderInterface * iface) +static void vn_column_combo_model_holder_init (DbModelHolderInterface * iface) { - iface->get_model = (DbModelHolderGetModelFunc) vn_column_combo_model_holder_get_model; - iface->set_model = (DbModelHolderSetModelFunc) vn_column_combo_model_holder_set_model; + iface->get_model = (DbModelHolderGetModelFunc) vn_column_combo_get_model; + iface->set_model = (DbModelHolderSetModelFunc) vn_column_combo_set_model; } diff --git a/vn/field/vn-completion.c b/vn/field/vn-completion.c index 6a7415e..13d329a 100644 --- a/vn/field/vn-completion.c +++ b/vn/field/vn-completion.c @@ -33,11 +33,11 @@ * retrieved from a database. */ -static void vn_completion_model_holder_interface_init (DbModelHolderInterface * iface); +static void vn_completion_model_holder_init (DbModelHolderInterface * iface); G_DEFINE_TYPE_WITH_CODE (VnCompletion, vn_completion, VN_TYPE_FIELD, G_IMPLEMENT_INTERFACE (DB_TYPE_MODEL_HOLDER, - vn_completion_model_holder_interface_init) + vn_completion_model_holder_init) ); /** @@ -57,7 +57,8 @@ VnField * vn_completion_new (DbModel * model, const gchar * field) //+++++++++++++++++++++++++++++++++++++++++++++++++++ Private -static void vn_completion_cb_status_changed (DbModel * model, DbModelStatus status, VnCompletion * obj) +static void vn_completion_cb_status_changed (DbModel * model, + DbModelStatus status, VnCompletion * obj) { const gchar * icon_name; @@ -74,10 +75,10 @@ static void vn_completion_cb_status_changed (DbModel * model, DbModelStatus stat switch (status) { case DB_MODEL_STATUS_LOADING: - icon_name = "edit-find"; + icon_name = "edit-find-symbolic"; break; case DB_MODEL_STATUS_ERROR: - icon_name = "edit-delete"; + icon_name = "edit-delete-symbolic"; break; default: icon_name = NULL; @@ -105,7 +106,7 @@ static void vn_completion_cb_changed (GtkEditable * entry, VnCompletion * obj) gchar * pattern; GValue value = {0}; - set_icon (obj, "edit-find"); + set_icon (obj, "edit-find-symbolic"); g_free (obj->last_match); obj->last_match = g_strdup (text); @@ -219,6 +220,8 @@ static void vn_completion_set_field (VnCompletion * obj, gchar * field) vn_completion_substitute (obj); } +//+++++++++++++++++++++++++++++++++++++++++++++++++ DbModelHolder implementation + static DbModel * vn_completion_get_model (VnCompletion * obj) { return obj->model; @@ -329,7 +332,7 @@ static void vn_completion_class_init (VnCompletionClass * klass) )); } -static void vn_completion_model_holder_interface_init (DbModelHolderInterface * iface) +static void vn_completion_model_holder_init (DbModelHolderInterface * iface) { iface->get_model = (DbModelHolderGetModelFunc) vn_completion_get_model; iface->set_model = (DbModelHolderSetModelFunc) vn_completion_set_model; diff --git a/vn/field/vn-completion.h b/vn/field/vn-completion.h index b3d3371..9c1148c 100644 --- a/vn/field/vn-completion.h +++ b/vn/field/vn-completion.h @@ -33,6 +33,7 @@ typedef struct _VnCompletionClass VnCompletionClass; struct _VnCompletion { VnField parent; + /* */ GtkEntry * entry; GtkEntryCompletion * completion; gboolean invalid; diff --git a/vn/vn-gui.c b/vn/vn-gui.c index 3ac6a72..1e3079c 100644 --- a/vn/vn-gui.c +++ b/vn/vn-gui.c @@ -1310,7 +1310,7 @@ VnForm * vn_gui_open_form_at_window (VnGui * obj, const gchar * form_name, VnWin gtk_button_set_relief (GTK_BUTTON (button), GTK_RELIEF_NONE); gtk_box_pack_start (hbox, button, FALSE, FALSE, 0); - widget = gtk_image_new_from_icon_name ("window-close", GTK_ICON_SIZE_MENU); + widget = gtk_image_new_from_icon_name ("window-close-symbolic", GTK_ICON_SIZE_MENU); gtk_button_set_image (GTK_BUTTON (button), widget); if (!window)