Ahora VnDateChooser también modifica horas y usa GDateTime internamente
This commit is contained in:
parent
c71abbb4f3
commit
986e748a82
4
INSTALL
4
INSTALL
|
@ -12,8 +12,8 @@ without warranty of any kind.
|
|||
Basic Installation
|
||||
==================
|
||||
|
||||
Briefly, the shell commands `./configure; make; make install' should
|
||||
configure, build, and install this package. The following
|
||||
Briefly, the shell command `./configure && make && make install'
|
||||
should configure, build, and install this package. The following
|
||||
more-detailed instructions are generic; see the `README' file for
|
||||
instructions specific to this package. Some packages provide this
|
||||
`INSTALL' file but do not implement all of the features documented
|
||||
|
|
|
@ -59,7 +59,6 @@ fi
|
|||
|
||||
AC_SUBST([CFLAGS])
|
||||
AC_SUBST([VALAFLAGS])
|
||||
AC_SUBST([[+NameCLower+]_datadir], ['$(datadir)/hedera/module'])
|
||||
|
||||
LT_INIT
|
||||
|
||||
|
@ -69,23 +68,19 @@ AC_ARG_VAR([UNINSTALLED_DIR], [the directory of the uninstalled hedera project])
|
|||
PKG_PROG_PKG_CONFIG
|
||||
|
||||
if test $UNINSTALLED_DIR; then
|
||||
PKG_CHECK_MODULES([+NameCUpper+], [gtk+-3.0])
|
||||
VALA_CHECK_MODULES([+NameCUpper+], [gtk+-3.0 [+PackageModule2+]])
|
||||
[+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 \
|
||||
VALAFLAGS+=$[+NameCUpper+]_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)
|
||||
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 '
|
||||
VALA_CHECK_MODULES([+NameCUpper+], [hedera [+PackageModule2+]])
|
||||
VALAFLAGS+=$[+NameCUpper+]_VALAFLAGS '--pkg hedera '
|
||||
|
||||
PKG_CHECK_VAR([[+NameCLower+]_libdir], [hedera], [modulelibdir])
|
||||
PKG_CHECK_VAR([[+NameCLower+]_datadir], [hedera], [moduledatadir])
|
||||
|
|
|
@ -43,7 +43,6 @@ if test x"$RAGEL" = x"no" ; then
|
|||
fi
|
||||
|
||||
# Checks if Vala bindings should be generated
|
||||
dnl TODO: Use AC_ARG_WITH to pick the Vala version?
|
||||
AC_MSG_CHECKING([wether to generate Vala bindings...])
|
||||
AC_ARG_ENABLE([vala],
|
||||
[AS_HELP_STRING([--enable-vala],
|
||||
|
|
|
@ -10,7 +10,7 @@ usr/lib/x86_64-linux-gnu/hedera
|
|||
usr/lib/x86_64-linux-gnu/pkgconfig
|
||||
usr/lib/glade/modules
|
||||
#usr/lib/girepository-1.0
|
||||
usr/share/gir-1.0
|
||||
#usr/share/gir-1.0
|
||||
usr/share/glade/catalogs
|
||||
usr/share/vala-0.22/vapi
|
||||
usr/share/gtk-doc/html/hedera
|
||||
|
|
|
@ -22,7 +22,7 @@ usr/lib/x86_64-linux-gnu/hedera/libvncolumn.so
|
|||
usr/lib/x86_64-linux-gnu/pkgconfig/*
|
||||
usr/lib/glade/modules/libgladevn.so
|
||||
#usr/lib/girepository-1.0/*
|
||||
usr/share/gir-1.0/*
|
||||
#usr/share/gir-1.0/*
|
||||
usr/share/glade/catalogs/*
|
||||
usr/share/vala-0.22/vapi/*
|
||||
usr/share/gtk-doc/html/hedera/*
|
||||
|
|
|
@ -171,7 +171,7 @@ static void gvn_value_transform_date_to_date_time (const GValue * src, GValue *
|
|||
|
||||
if (date)
|
||||
{
|
||||
GDateTime * date_time = g_date_time_new_utc (
|
||||
GDateTime * date_time = g_date_time_new_local (
|
||||
g_date_get_year (date)
|
||||
,g_date_get_month (date)
|
||||
,g_date_get_day (date)
|
||||
|
|
|
@ -102,13 +102,13 @@ static gboolean db_pg_open (DbPlugin * obj, const gchar * host,
|
|||
,user
|
||||
,pass
|
||||
);
|
||||
|
||||
|
||||
if (!pg->conn)
|
||||
{
|
||||
g_set_error (err
|
||||
,DB_CONN_LOG_DOMAIN
|
||||
,DB_CONN_ERROR_OPENING
|
||||
,_("Can't allocate the needed memory")
|
||||
,_("Can't allocate the needed memory")
|
||||
);
|
||||
return FALSE;
|
||||
}
|
||||
|
@ -171,8 +171,6 @@ static GType db_pg_get_g_type (Oid type)
|
|||
case CHAROID:
|
||||
case TEXTOID:
|
||||
case NAMEOID:
|
||||
// case XMLOID:
|
||||
// case CSTRINGOID:
|
||||
case BPCHAROID:
|
||||
case VARCHAROID:
|
||||
default:
|
||||
|
|
58
po/ca.po
58
po/ca.po
|
@ -7,7 +7,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: hedera 1.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2014-04-15 10:53+0200\n"
|
||||
"POT-Creation-Date: 2014-04-22 12:12+0200\n"
|
||||
"PO-Revision-Date: 2013-06-04 13:38+0200\n"
|
||||
"Last-Translator: Alejandro T. Colombini Gómez <atcolombini@verdnatura.es>\n"
|
||||
"Language-Team: Catalan\n"
|
||||
|
@ -31,7 +31,7 @@ msgstr "El parametre no pot ser nul"
|
|||
msgid "Incompatible type for this param"
|
||||
msgstr "Tipus incompatible per a aquest parametre"
|
||||
|
||||
#: ../gvn/gvn-param.c:443 ../sql/sql-value.c:235 ../vn/vn-field.c:529
|
||||
#: ../gvn/gvn-param.c:443 ../sql/sql-value.c:235 ../vn/vn-field.c:538
|
||||
msgid "Value"
|
||||
msgstr ""
|
||||
|
||||
|
@ -71,15 +71,15 @@ msgstr ""
|
|||
msgid "The spec of the parameter"
|
||||
msgstr ""
|
||||
|
||||
#: ../gvn/gvn-param.c:478 ../vn/vn-field.c:557
|
||||
#: ../gvn/gvn-param.c:478 ../vn/vn-field.c:566
|
||||
msgid "Glib Type"
|
||||
msgstr ""
|
||||
|
||||
#: ../gvn/gvn-param.c:479 ../vn/vn-field.c:558
|
||||
#: ../gvn/gvn-param.c:479 ../vn/vn-field.c:567
|
||||
msgid "The type of the value"
|
||||
msgstr ""
|
||||
|
||||
#: ../gvn/gvn-param.c:485 ../vn/vn-field.c:564 ../vn/vn-column.c:467
|
||||
#: ../gvn/gvn-param.c:485 ../vn/vn-field.c:573 ../vn/vn-column.c:467
|
||||
msgid "Editable"
|
||||
msgstr ""
|
||||
|
||||
|
@ -87,7 +87,7 @@ msgstr ""
|
|||
msgid "Whether the param value can be modified"
|
||||
msgstr ""
|
||||
|
||||
#: ../gvn/gvn-param.c:492 ../vn/vn-field.c:571 ../vn/vn-column.c:474
|
||||
#: ../gvn/gvn-param.c:492 ../vn/vn-field.c:580 ../vn/vn-column.c:474
|
||||
msgid "Null"
|
||||
msgstr ""
|
||||
|
||||
|
@ -95,11 +95,11 @@ msgstr ""
|
|||
msgid "Whether the param value can be of type GVN_TYPE_NULL"
|
||||
msgstr ""
|
||||
|
||||
#: ../gvn/gvn-param.c:499 ../vn/vn-field.c:578
|
||||
#: ../gvn/gvn-param.c:499 ../vn/vn-field.c:587
|
||||
msgid "Default Value"
|
||||
msgstr ""
|
||||
|
||||
#: ../gvn/gvn-param.c:500 ../vn/vn-field.c:579
|
||||
#: ../gvn/gvn-param.c:500 ../vn/vn-field.c:588
|
||||
msgid "The default value"
|
||||
msgstr ""
|
||||
|
||||
|
@ -116,11 +116,11 @@ msgstr ""
|
|||
msgid "No"
|
||||
msgstr ""
|
||||
|
||||
#: ../sql/sql-render.c:420
|
||||
#: ../sql/sql-render.c:413
|
||||
msgid "Delimiter"
|
||||
msgstr ""
|
||||
|
||||
#: ../sql/sql-render.c:421
|
||||
#: ../sql/sql-render.c:414
|
||||
msgid "The character used for delimite the name of fields, tables..."
|
||||
msgstr ""
|
||||
|
||||
|
@ -265,7 +265,7 @@ msgstr ""
|
|||
msgid "A column to apply the operations over it"
|
||||
msgstr ""
|
||||
|
||||
#: ../db/db-param.c:251 ../vn/vn-grid.c:518 ../vn/vn-field.c:543
|
||||
#: ../db/db-param.c:251 ../vn/vn-grid.c:518 ../vn/vn-field.c:552
|
||||
msgid "Iterator"
|
||||
msgstr ""
|
||||
|
||||
|
@ -281,7 +281,7 @@ msgstr ""
|
|||
msgid "The referenced column index"
|
||||
msgstr ""
|
||||
|
||||
#: ../db/db-param.c:265 ../vn/vn-field.c:550 ../vn/vn-column.c:460
|
||||
#: ../db/db-param.c:265 ../vn/vn-field.c:559 ../vn/vn-column.c:460
|
||||
msgid "Column name"
|
||||
msgstr "Nom de la columna"
|
||||
|
||||
|
@ -588,45 +588,45 @@ msgstr ""
|
|||
msgid "The application identifier"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/vn-field.c:530
|
||||
#: ../vn/vn-field.c:539
|
||||
msgid "The current value of the field"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/vn-field.c:536 ../glade/glade-db-iterator.c:71
|
||||
#: ../vn/vn-field.c:545 ../glade/glade-db-iterator.c:71
|
||||
#: ../glade/glade-db-iterator.c:116
|
||||
msgid "Parameter"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/vn-field.c:537
|
||||
#: ../vn/vn-field.c:546
|
||||
msgid "The param where the field can read/write its value"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/vn-field.c:544
|
||||
#: ../vn/vn-field.c:553
|
||||
msgid "The iterator used to get the field param"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/vn-field.c:551
|
||||
#: ../vn/vn-field.c:560
|
||||
msgid "The column name on the iterator"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/vn-field.c:565
|
||||
#: ../vn/vn-field.c:574
|
||||
msgid "Whether the field value is user editable"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/vn-field.c:572 ../vn/vn-column.c:475
|
||||
#: ../vn/vn-field.c:581 ../vn/vn-column.c:475
|
||||
msgid "Whether the field value can be of type GVN_TYPE_NULL"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/vn-field.c:585 ../vn/vn-column.c:488
|
||||
#: ../vn/vn-field.c:594 ../vn/vn-column.c:488
|
||||
msgid "Style function"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/vn-field.c:586
|
||||
#: ../vn/vn-field.c:595
|
||||
msgid ""
|
||||
"A VnFieldStyleFunc to set the properties of each field depending on its value"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/field/vn-entry.c:156 ../vn/field/vn-date-chooser.c:363
|
||||
#: ../vn/field/vn-entry.c:156 ../vn/field/vn-date-chooser.c:461
|
||||
#: ../vn/field/vn-label.c:114 ../vn/column/vn-column-entry.c:122
|
||||
msgid "Format"
|
||||
msgstr ""
|
||||
|
@ -668,34 +668,34 @@ msgstr ""
|
|||
msgid "The name of the field used for the search"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/field/vn-date-chooser.c:319
|
||||
#: ../vn/field/vn-date-chooser.c:407
|
||||
msgid "Change date"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/field/vn-date-chooser.c:364
|
||||
#: ../vn/field/vn-date-chooser.c:462
|
||||
msgid "The date format string describing the order of the elements."
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/field/vn-date-chooser.c:365
|
||||
#: ../vn/field/vn-date-chooser.c:463
|
||||
msgctxt "Default date format string"
|
||||
msgid "%a, %d %b %Y"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/field/vn-date-chooser.c:371
|
||||
#: ../vn/field/vn-date-chooser.c:469
|
||||
msgid "Show time"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/field/vn-date-chooser.c:372
|
||||
#: ../vn/field/vn-date-chooser.c:470
|
||||
msgid ""
|
||||
"Whether to show the hour, minute and second fields to set the time of the "
|
||||
"day in the popup."
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/field/vn-date-chooser.c:380
|
||||
#: ../vn/field/vn-date-chooser.c:478
|
||||
msgid "Show date"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/field/vn-date-chooser.c:381
|
||||
#: ../vn/field/vn-date-chooser.c:479
|
||||
msgid "Whether to show the calendar to set the date in the popup."
|
||||
msgstr ""
|
||||
|
||||
|
|
66
po/es.po
66
po/es.po
|
@ -8,7 +8,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: hedera 1.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2014-04-15 10:53+0200\n"
|
||||
"POT-Creation-Date: 2014-04-22 12:12+0200\n"
|
||||
"PO-Revision-Date: 2013-06-04 13:36+0200\n"
|
||||
"Last-Translator: Alejandro T. Colombini Gómez <atcolombini@verdnatura.es>\n"
|
||||
"Language-Team: Spanish\n"
|
||||
|
@ -33,7 +33,7 @@ msgstr "El parámetro no puede ser nulo"
|
|||
msgid "Incompatible type for this param"
|
||||
msgstr "Tipo incompatible para este parametro"
|
||||
|
||||
#: ../gvn/gvn-param.c:443 ../sql/sql-value.c:235 ../vn/vn-field.c:529
|
||||
#: ../gvn/gvn-param.c:443 ../sql/sql-value.c:235 ../vn/vn-field.c:538
|
||||
msgid "Value"
|
||||
msgstr "Valor"
|
||||
|
||||
|
@ -73,15 +73,15 @@ msgstr "Spec"
|
|||
msgid "The spec of the parameter"
|
||||
msgstr "Datos específicos del parámetro"
|
||||
|
||||
#: ../gvn/gvn-param.c:478 ../vn/vn-field.c:557
|
||||
#: ../gvn/gvn-param.c:478 ../vn/vn-field.c:566
|
||||
msgid "Glib Type"
|
||||
msgstr "Tipo Glib"
|
||||
|
||||
#: ../gvn/gvn-param.c:479 ../vn/vn-field.c:558
|
||||
#: ../gvn/gvn-param.c:479 ../vn/vn-field.c:567
|
||||
msgid "The type of the value"
|
||||
msgstr "El tipo del valor"
|
||||
|
||||
#: ../gvn/gvn-param.c:485 ../vn/vn-field.c:564 ../vn/vn-column.c:467
|
||||
#: ../gvn/gvn-param.c:485 ../vn/vn-field.c:573 ../vn/vn-column.c:467
|
||||
msgid "Editable"
|
||||
msgstr "Editable"
|
||||
|
||||
|
@ -89,7 +89,7 @@ msgstr "Editable"
|
|||
msgid "Whether the param value can be modified"
|
||||
msgstr "Indica si el parámetro puede modificarse"
|
||||
|
||||
#: ../gvn/gvn-param.c:492 ../vn/vn-field.c:571 ../vn/vn-column.c:474
|
||||
#: ../gvn/gvn-param.c:492 ../vn/vn-field.c:580 ../vn/vn-column.c:474
|
||||
msgid "Null"
|
||||
msgstr "Nulo"
|
||||
|
||||
|
@ -97,11 +97,11 @@ msgstr "Nulo"
|
|||
msgid "Whether the param value can be of type GVN_TYPE_NULL"
|
||||
msgstr "Indica si el parámetro puede ser nulo"
|
||||
|
||||
#: ../gvn/gvn-param.c:499 ../vn/vn-field.c:578
|
||||
#: ../gvn/gvn-param.c:499 ../vn/vn-field.c:587
|
||||
msgid "Default Value"
|
||||
msgstr "Valor por defecto"
|
||||
|
||||
#: ../gvn/gvn-param.c:500 ../vn/vn-field.c:579
|
||||
#: ../gvn/gvn-param.c:500 ../vn/vn-field.c:588
|
||||
msgid "The default value"
|
||||
msgstr "El valor por defecto"
|
||||
|
||||
|
@ -118,11 +118,11 @@ msgstr "Sí"
|
|||
msgid "No"
|
||||
msgstr "No"
|
||||
|
||||
#: ../sql/sql-render.c:420
|
||||
#: ../sql/sql-render.c:413
|
||||
msgid "Delimiter"
|
||||
msgstr "Delimitador"
|
||||
|
||||
#: ../sql/sql-render.c:421
|
||||
#: ../sql/sql-render.c:414
|
||||
msgid "The character used for delimite the name of fields, tables..."
|
||||
msgstr "El carácter usado para delimitar los nombres de campos, tablas..."
|
||||
|
||||
|
@ -273,7 +273,7 @@ msgstr "Columna"
|
|||
msgid "A column to apply the operations over it"
|
||||
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:543
|
||||
#: ../db/db-param.c:251 ../vn/vn-grid.c:518 ../vn/vn-field.c:552
|
||||
msgid "Iterator"
|
||||
msgstr "Iterator"
|
||||
|
||||
|
@ -289,7 +289,7 @@ msgstr "Posición"
|
|||
msgid "The referenced column index"
|
||||
msgstr "La posición de la columna en el Grid"
|
||||
|
||||
#: ../db/db-param.c:265 ../vn/vn-field.c:550 ../vn/vn-column.c:460
|
||||
#: ../db/db-param.c:265 ../vn/vn-field.c:559 ../vn/vn-column.c:460
|
||||
msgid "Column name"
|
||||
msgstr "Nombre de la columna"
|
||||
|
||||
|
@ -600,47 +600,47 @@ msgstr "Id de la aplicación"
|
|||
msgid "The application identifier"
|
||||
msgstr "El identificador de la aplicación"
|
||||
|
||||
#: ../vn/vn-field.c:530
|
||||
#: ../vn/vn-field.c:539
|
||||
msgid "The current value of the field"
|
||||
msgstr "El valor actual del campo"
|
||||
|
||||
#: ../vn/vn-field.c:536 ../glade/glade-db-iterator.c:71
|
||||
#: ../vn/vn-field.c:545 ../glade/glade-db-iterator.c:71
|
||||
#: ../glade/glade-db-iterator.c:116
|
||||
msgid "Parameter"
|
||||
msgstr "Parámetro"
|
||||
|
||||
#: ../vn/vn-field.c:537
|
||||
#: ../vn/vn-field.c:546
|
||||
msgid "The param where the field can read/write its value"
|
||||
msgstr "El parámetro en el que el campo escribe/lee su valor"
|
||||
|
||||
#: ../vn/vn-field.c:544
|
||||
#: ../vn/vn-field.c:553
|
||||
msgid "The iterator used to get the field param"
|
||||
msgstr "El Iterator con el que se obtiene el parámetro"
|
||||
|
||||
#: ../vn/vn-field.c:551
|
||||
#: ../vn/vn-field.c:560
|
||||
msgid "The column name on the iterator"
|
||||
msgstr "El nombre de la columna en el Iterator"
|
||||
|
||||
#: ../vn/vn-field.c:565
|
||||
#: ../vn/vn-field.c:574
|
||||
msgid "Whether the field value is user editable"
|
||||
msgstr "Si el valor de campo puede ser editado por el usuario"
|
||||
|
||||
#: ../vn/vn-field.c:572 ../vn/vn-column.c:475
|
||||
#: ../vn/vn-field.c:581 ../vn/vn-column.c:475
|
||||
msgid "Whether the field value can be of type GVN_TYPE_NULL"
|
||||
msgstr "Si el campo puede ser del tipo GVN_TYPE_NULL"
|
||||
|
||||
#: ../vn/vn-field.c:585 ../vn/vn-column.c:488
|
||||
#: ../vn/vn-field.c:594 ../vn/vn-column.c:488
|
||||
msgid "Style function"
|
||||
msgstr "Función de estilo"
|
||||
|
||||
#: ../vn/vn-field.c:586
|
||||
#: ../vn/vn-field.c:595
|
||||
msgid ""
|
||||
"A VnFieldStyleFunc to set the properties of each field depending on its value"
|
||||
msgstr ""
|
||||
"Una VnFieldStyleFunc para configurar las propiedades de cada campo dependiendo"
|
||||
" de su valor"
|
||||
"Una VnFieldStyleFunc para configurar las propiedades de cada campo "
|
||||
"dependiendo de su valor"
|
||||
|
||||
#: ../vn/field/vn-entry.c:156 ../vn/field/vn-date-chooser.c:363
|
||||
#: ../vn/field/vn-entry.c:156 ../vn/field/vn-date-chooser.c:461
|
||||
#: ../vn/field/vn-label.c:114 ../vn/column/vn-column-entry.c:122
|
||||
msgid "Format"
|
||||
msgstr "Formato"
|
||||
|
@ -682,25 +682,25 @@ msgstr "Campo"
|
|||
msgid "The name of the field used for the search"
|
||||
msgstr "El nombre del campo usado para la búsqueda"
|
||||
|
||||
#: ../vn/field/vn-date-chooser.c:319
|
||||
#: ../vn/field/vn-date-chooser.c:407
|
||||
msgid "Change date"
|
||||
msgstr "Cambiar fecha"
|
||||
|
||||
#: ../vn/field/vn-date-chooser.c:364
|
||||
#: ../vn/field/vn-date-chooser.c:462
|
||||
msgid "The date format string describing the order of the elements."
|
||||
msgstr ""
|
||||
"La cadena de formato de fechas que describe la salida del campo de texto."
|
||||
|
||||
#: ../vn/field/vn-date-chooser.c:365
|
||||
#: ../vn/field/vn-date-chooser.c:463
|
||||
msgctxt "Default date format string"
|
||||
msgid "%a, %d %b %Y"
|
||||
msgstr "%a, %d %b %Y"
|
||||
|
||||
#: ../vn/field/vn-date-chooser.c:371
|
||||
#: ../vn/field/vn-date-chooser.c:469
|
||||
msgid "Show time"
|
||||
msgstr "Mostrar tiempo"
|
||||
|
||||
#: ../vn/field/vn-date-chooser.c:372
|
||||
#: ../vn/field/vn-date-chooser.c:470
|
||||
msgid ""
|
||||
"Whether to show the hour, minute and second fields to set the time of the "
|
||||
"day in the popup."
|
||||
|
@ -708,11 +708,11 @@ msgstr ""
|
|||
"Si se muestran los campos para hora, minuto y segundo para indicar el "
|
||||
"instante del día en el emergente"
|
||||
|
||||
#: ../vn/field/vn-date-chooser.c:380
|
||||
#: ../vn/field/vn-date-chooser.c:478
|
||||
msgid "Show date"
|
||||
msgstr "Mostrar fecha"
|
||||
|
||||
#: ../vn/field/vn-date-chooser.c:381
|
||||
#: ../vn/field/vn-date-chooser.c:479
|
||||
msgid "Whether to show the calendar to set the date in the popup."
|
||||
msgstr "Si se debe mostrar el calendario para poner la fecha en el emergente."
|
||||
|
||||
|
@ -778,8 +778,8 @@ msgstr "Orden en el cual el tabulador selecciona las columnas para editar"
|
|||
msgid ""
|
||||
"A VnColumnStyleFunc to set the properties of each cell depending on its value"
|
||||
msgstr ""
|
||||
"Una VnColumnStyleFunc para configurar las propiedadesde cada celda dependiendo"
|
||||
" de su valor"
|
||||
"Una VnColumnStyleFunc para configurar las propiedadesde cada celda "
|
||||
"dependiendo de su valor"
|
||||
|
||||
#: ../vn/column/vn-column-spin.c:238
|
||||
msgid "Climb rate"
|
||||
|
|
58
po/nl.po
58
po/nl.po
|
@ -8,7 +8,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: hedera 1.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2014-04-15 10:53+0200\n"
|
||||
"POT-Creation-Date: 2014-04-22 12:12+0200\n"
|
||||
"PO-Revision-Date: 2012-10-09 11:38+0200\n"
|
||||
"Last-Translator: Alejandro T. Colombini Gómez <atcolombini@verdnatura.es>\n"
|
||||
"Language-Team: Dutch\n"
|
||||
|
@ -33,7 +33,7 @@ msgstr ""
|
|||
msgid "Incompatible type for this param"
|
||||
msgstr ""
|
||||
|
||||
#: ../gvn/gvn-param.c:443 ../sql/sql-value.c:235 ../vn/vn-field.c:529
|
||||
#: ../gvn/gvn-param.c:443 ../sql/sql-value.c:235 ../vn/vn-field.c:538
|
||||
msgid "Value"
|
||||
msgstr ""
|
||||
|
||||
|
@ -73,15 +73,15 @@ msgstr ""
|
|||
msgid "The spec of the parameter"
|
||||
msgstr ""
|
||||
|
||||
#: ../gvn/gvn-param.c:478 ../vn/vn-field.c:557
|
||||
#: ../gvn/gvn-param.c:478 ../vn/vn-field.c:566
|
||||
msgid "Glib Type"
|
||||
msgstr ""
|
||||
|
||||
#: ../gvn/gvn-param.c:479 ../vn/vn-field.c:558
|
||||
#: ../gvn/gvn-param.c:479 ../vn/vn-field.c:567
|
||||
msgid "The type of the value"
|
||||
msgstr ""
|
||||
|
||||
#: ../gvn/gvn-param.c:485 ../vn/vn-field.c:564 ../vn/vn-column.c:467
|
||||
#: ../gvn/gvn-param.c:485 ../vn/vn-field.c:573 ../vn/vn-column.c:467
|
||||
msgid "Editable"
|
||||
msgstr ""
|
||||
|
||||
|
@ -89,7 +89,7 @@ msgstr ""
|
|||
msgid "Whether the param value can be modified"
|
||||
msgstr ""
|
||||
|
||||
#: ../gvn/gvn-param.c:492 ../vn/vn-field.c:571 ../vn/vn-column.c:474
|
||||
#: ../gvn/gvn-param.c:492 ../vn/vn-field.c:580 ../vn/vn-column.c:474
|
||||
msgid "Null"
|
||||
msgstr ""
|
||||
|
||||
|
@ -97,11 +97,11 @@ msgstr ""
|
|||
msgid "Whether the param value can be of type GVN_TYPE_NULL"
|
||||
msgstr ""
|
||||
|
||||
#: ../gvn/gvn-param.c:499 ../vn/vn-field.c:578
|
||||
#: ../gvn/gvn-param.c:499 ../vn/vn-field.c:587
|
||||
msgid "Default Value"
|
||||
msgstr ""
|
||||
|
||||
#: ../gvn/gvn-param.c:500 ../vn/vn-field.c:579
|
||||
#: ../gvn/gvn-param.c:500 ../vn/vn-field.c:588
|
||||
msgid "The default value"
|
||||
msgstr ""
|
||||
|
||||
|
@ -118,11 +118,11 @@ msgstr ""
|
|||
msgid "No"
|
||||
msgstr ""
|
||||
|
||||
#: ../sql/sql-render.c:420
|
||||
#: ../sql/sql-render.c:413
|
||||
msgid "Delimiter"
|
||||
msgstr ""
|
||||
|
||||
#: ../sql/sql-render.c:421
|
||||
#: ../sql/sql-render.c:414
|
||||
msgid "The character used for delimite the name of fields, tables..."
|
||||
msgstr ""
|
||||
|
||||
|
@ -266,7 +266,7 @@ msgstr ""
|
|||
msgid "A column to apply the operations over it"
|
||||
msgstr ""
|
||||
|
||||
#: ../db/db-param.c:251 ../vn/vn-grid.c:518 ../vn/vn-field.c:543
|
||||
#: ../db/db-param.c:251 ../vn/vn-grid.c:518 ../vn/vn-field.c:552
|
||||
msgid "Iterator"
|
||||
msgstr ""
|
||||
|
||||
|
@ -282,7 +282,7 @@ msgstr ""
|
|||
msgid "The referenced column index"
|
||||
msgstr ""
|
||||
|
||||
#: ../db/db-param.c:265 ../vn/vn-field.c:550 ../vn/vn-column.c:460
|
||||
#: ../db/db-param.c:265 ../vn/vn-field.c:559 ../vn/vn-column.c:460
|
||||
msgid "Column name"
|
||||
msgstr ""
|
||||
|
||||
|
@ -589,45 +589,45 @@ msgstr ""
|
|||
msgid "The application identifier"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/vn-field.c:530
|
||||
#: ../vn/vn-field.c:539
|
||||
msgid "The current value of the field"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/vn-field.c:536 ../glade/glade-db-iterator.c:71
|
||||
#: ../vn/vn-field.c:545 ../glade/glade-db-iterator.c:71
|
||||
#: ../glade/glade-db-iterator.c:116
|
||||
msgid "Parameter"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/vn-field.c:537
|
||||
#: ../vn/vn-field.c:546
|
||||
msgid "The param where the field can read/write its value"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/vn-field.c:544
|
||||
#: ../vn/vn-field.c:553
|
||||
msgid "The iterator used to get the field param"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/vn-field.c:551
|
||||
#: ../vn/vn-field.c:560
|
||||
msgid "The column name on the iterator"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/vn-field.c:565
|
||||
#: ../vn/vn-field.c:574
|
||||
msgid "Whether the field value is user editable"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/vn-field.c:572 ../vn/vn-column.c:475
|
||||
#: ../vn/vn-field.c:581 ../vn/vn-column.c:475
|
||||
msgid "Whether the field value can be of type GVN_TYPE_NULL"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/vn-field.c:585 ../vn/vn-column.c:488
|
||||
#: ../vn/vn-field.c:594 ../vn/vn-column.c:488
|
||||
msgid "Style function"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/vn-field.c:586
|
||||
#: ../vn/vn-field.c:595
|
||||
msgid ""
|
||||
"A VnFieldStyleFunc to set the properties of each field depending on its value"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/field/vn-entry.c:156 ../vn/field/vn-date-chooser.c:363
|
||||
#: ../vn/field/vn-entry.c:156 ../vn/field/vn-date-chooser.c:461
|
||||
#: ../vn/field/vn-label.c:114 ../vn/column/vn-column-entry.c:122
|
||||
msgid "Format"
|
||||
msgstr ""
|
||||
|
@ -669,34 +669,34 @@ msgstr ""
|
|||
msgid "The name of the field used for the search"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/field/vn-date-chooser.c:319
|
||||
#: ../vn/field/vn-date-chooser.c:407
|
||||
msgid "Change date"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/field/vn-date-chooser.c:364
|
||||
#: ../vn/field/vn-date-chooser.c:462
|
||||
msgid "The date format string describing the order of the elements."
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/field/vn-date-chooser.c:365
|
||||
#: ../vn/field/vn-date-chooser.c:463
|
||||
msgctxt "Default date format string"
|
||||
msgid "%a, %d %b %Y"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/field/vn-date-chooser.c:371
|
||||
#: ../vn/field/vn-date-chooser.c:469
|
||||
msgid "Show time"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/field/vn-date-chooser.c:372
|
||||
#: ../vn/field/vn-date-chooser.c:470
|
||||
msgid ""
|
||||
"Whether to show the hour, minute and second fields to set the time of the "
|
||||
"day in the popup."
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/field/vn-date-chooser.c:380
|
||||
#: ../vn/field/vn-date-chooser.c:478
|
||||
msgid "Show date"
|
||||
msgstr ""
|
||||
|
||||
#: ../vn/field/vn-date-chooser.c:381
|
||||
#: ../vn/field/vn-date-chooser.c:479
|
||||
msgid "Whether to show the calendar to set the date in the popup."
|
||||
msgstr ""
|
||||
|
||||
|
|
|
@ -67,6 +67,7 @@ vn_gui_DATA = \
|
|||
gui/main.glade \
|
||||
gui/child-window.glade \
|
||||
gui/actions.glade \
|
||||
gui/date-chooser.glade \
|
||||
gui/menubar.ui
|
||||
|
||||
gsettings_SCHEMAS = $(top_srcdir)/vn/schema/$(PACKAGE).gschema.xml
|
||||
|
|
|
@ -15,6 +15,7 @@ field_include_HEADERS = \
|
|||
vn-label.h
|
||||
|
||||
AM_CPPFLAGS = \
|
||||
-D_GUI_DIR=\"$(vn_guidir)\" \
|
||||
-D_IMAGE_DIR=\"$(vn_imagedir)\" \
|
||||
-I$(top_srcdir) \
|
||||
$(gtk_CFLAGS)
|
||||
|
|
|
@ -18,7 +18,9 @@
|
|||
#include "vn-date-chooser.h"
|
||||
#include <db/db.h>
|
||||
|
||||
#define DATE_SIZE 50
|
||||
#define GUI_FILE _GUI_DIR"/date-chooser.glade"
|
||||
|
||||
#define DATE_SIZE 50
|
||||
|
||||
/**
|
||||
* SECTION:vn-date-chooser
|
||||
|
@ -59,13 +61,13 @@ static void vn_date_chooser_hide_popup (VnDateChooser * obj)
|
|||
|
||||
static void vn_date_chooser_changed (VnDateChooser * obj)
|
||||
{
|
||||
GDate * date = &obj->date;
|
||||
GDateTime * datetime = obj->datetime;
|
||||
|
||||
if (g_date_valid (date))
|
||||
if (datetime)
|
||||
{
|
||||
gchar str[DATE_SIZE];
|
||||
g_date_strftime (str, DATE_SIZE, obj->format, date);
|
||||
gchar * str = g_date_time_format (datetime, obj->format);
|
||||
gtk_label_set_text (obj->label, str);
|
||||
g_free (str);
|
||||
}
|
||||
else
|
||||
gtk_label_set_text (obj->label, "");
|
||||
|
@ -73,50 +75,76 @@ static void vn_date_chooser_changed (VnDateChooser * obj)
|
|||
|
||||
static void vn_date_chooser_set_value (VnDateChooser * obj, const GValue * value)
|
||||
{
|
||||
GDate * date = NULL;
|
||||
GDateTime * datetime = NULL;
|
||||
|
||||
if (G_VALUE_TYPE (value) != G_TYPE_DATE)
|
||||
if (gvn_value_is_null (value)
|
||||
|| G_VALUE_TYPE (value) == G_TYPE_DATE_TIME)
|
||||
datetime = g_value_get_boxed (value);
|
||||
else
|
||||
{
|
||||
GValue new_value = G_VALUE_INIT;
|
||||
g_value_init (&new_value, G_TYPE_DATE);
|
||||
g_value_init (&new_value, G_TYPE_DATE_TIME);
|
||||
g_value_transform (value, &new_value);
|
||||
date = g_value_get_boxed (&new_value);
|
||||
datetime = g_value_get_boxed (&new_value);
|
||||
}
|
||||
else if (!gvn_value_is_null (value))
|
||||
date = g_value_get_boxed (value);
|
||||
|
||||
if (date)
|
||||
obj->date = *date;
|
||||
else
|
||||
g_date_clear (&obj->date, 1);
|
||||
|
||||
|
||||
if (datetime)
|
||||
{
|
||||
if (gvn_value_is_null (datetime))
|
||||
obj->datetime = datetime;
|
||||
else
|
||||
obj->datetime = g_date_time_ref (datetime);
|
||||
}
|
||||
else if (obj->datetime)
|
||||
{
|
||||
g_date_time_unref (obj->datetime);
|
||||
obj->datetime = NULL;
|
||||
}
|
||||
|
||||
vn_date_chooser_changed (obj);
|
||||
}
|
||||
|
||||
static void vn_date_chooser_on_day_selected (GtkCalendar * calendar, VnDateChooser * obj)
|
||||
static GDateTime * vn_date_chooser_get_datetime (VnDateChooser * obj)
|
||||
{
|
||||
guint year;
|
||||
guint month;
|
||||
guint day;
|
||||
GDate new_date;
|
||||
GValue value = G_VALUE_INIT;
|
||||
guint year, month, day, hour = 0, minute = 0;
|
||||
gdouble second = 0.0;
|
||||
|
||||
gtk_calendar_get_date (calendar, &year, &month, &day);
|
||||
month++;
|
||||
|
||||
g_date_clear (&new_date, 1);
|
||||
g_date_set_dmy (&new_date, day, month, year);
|
||||
|
||||
if (!g_date_valid (&obj->date) || g_date_compare (&new_date, &obj->date))
|
||||
if (obj->show_date)
|
||||
{
|
||||
g_date_set_julian (&obj->date, g_date_get_julian (&new_date));
|
||||
g_value_init (&value, G_TYPE_DATE);
|
||||
g_value_set_boxed (&value, &obj->date);
|
||||
gtk_calendar_get_date (obj->calendar, &year, &month, &day);
|
||||
month++;
|
||||
}
|
||||
|
||||
if (obj->show_time)
|
||||
{
|
||||
hour = (guint) gtk_adjustment_get_value (obj->hour);
|
||||
minute = (guint) gtk_adjustment_get_value (obj->minute);
|
||||
second = gtk_adjustment_get_value (obj->second);
|
||||
}
|
||||
|
||||
return g_date_time_new_local (year, month, day, hour, minute, second);
|
||||
}
|
||||
|
||||
void vn_date_chooser_on_day_selected (GtkCalendar * calendar, VnDateChooser * obj)
|
||||
{
|
||||
GValue value = G_VALUE_INIT;
|
||||
GDateTime * datetime = vn_date_chooser_get_datetime (obj);
|
||||
|
||||
if (!obj->datetime
|
||||
|| (obj->datetime && g_date_time_compare (datetime, obj->datetime)))
|
||||
{
|
||||
obj->datetime = datetime;
|
||||
g_value_init (&value, G_TYPE_DATE_TIME);
|
||||
g_value_set_boxed (&value, obj->datetime);
|
||||
}
|
||||
else
|
||||
{
|
||||
g_value_init (&value, GVN_TYPE_NULL);
|
||||
g_date_clear (&obj->date, 1);
|
||||
|
||||
if (obj->datetime)
|
||||
g_date_time_unref (obj->datetime);
|
||||
|
||||
obj->datetime = NULL;
|
||||
}
|
||||
|
||||
VN_FIELD_GET_CLASS (obj)->value_changed (VN_FIELD (obj), &value);
|
||||
|
@ -126,14 +154,70 @@ static void vn_date_chooser_on_day_selected (GtkCalendar * calendar, VnDateChoos
|
|||
vn_date_chooser_changed (obj);
|
||||
}
|
||||
|
||||
void vn_date_chooser_on_ok_clicked (GtkButton * button, VnDateChooser * obj)
|
||||
{
|
||||
GDateTime * datetime = vn_date_chooser_get_datetime (obj);
|
||||
|
||||
if (datetime)
|
||||
{
|
||||
GValue value = G_VALUE_INIT;
|
||||
|
||||
if (obj->datetime)
|
||||
g_date_time_unref (obj->datetime);
|
||||
|
||||
obj->datetime = datetime;
|
||||
g_value_init (&value, G_TYPE_DATE_TIME);
|
||||
g_value_set_boxed (&value, datetime);
|
||||
VN_FIELD_GET_CLASS (obj)->value_changed (VN_FIELD (obj), &value);
|
||||
g_value_unset (&value);
|
||||
}
|
||||
|
||||
vn_date_chooser_hide_popup (obj);
|
||||
vn_date_chooser_changed (obj);
|
||||
}
|
||||
|
||||
void vn_date_chooser_on_clear_clicked (GtkButton * button, VnDateChooser * obj)
|
||||
{
|
||||
GValue value = G_VALUE_INIT;
|
||||
g_value_init (&value, GVN_TYPE_NULL);
|
||||
|
||||
if (obj->datetime)
|
||||
g_date_time_unref (obj->datetime);
|
||||
|
||||
obj->datetime = NULL;
|
||||
VN_FIELD_GET_CLASS (obj)->value_changed (VN_FIELD (obj), &value);
|
||||
g_value_unset (&value);
|
||||
vn_date_chooser_hide_popup (obj);
|
||||
vn_date_chooser_changed (obj);
|
||||
|
||||
gtk_adjustment_set_value (obj->hour, 0);
|
||||
gtk_adjustment_set_value (obj->minute, 0);
|
||||
gtk_adjustment_set_value (obj->second, 0);
|
||||
}
|
||||
|
||||
void vn_date_chooser_on_now_clicked (GtkButton * button, VnDateChooser * obj)
|
||||
{
|
||||
GValue value = G_VALUE_INIT;
|
||||
|
||||
if (obj->datetime)
|
||||
g_date_time_unref (obj->datetime);
|
||||
|
||||
obj->datetime = g_date_time_new_now_local ();
|
||||
g_value_init (&value, G_TYPE_DATE_TIME);
|
||||
g_value_set_boxed (&value, obj->datetime);
|
||||
VN_FIELD_GET_CLASS (obj)->value_changed (VN_FIELD (obj), &value);
|
||||
g_value_unset (&value);
|
||||
vn_date_chooser_hide_popup (obj);
|
||||
vn_date_chooser_changed (obj);
|
||||
}
|
||||
|
||||
static gboolean vn_date_chooser_on_button_press (GtkWidget * widget,
|
||||
GdkEventButton * event, VnDateChooser * obj)
|
||||
{
|
||||
gint x, y;
|
||||
GtkAllocation allocation;
|
||||
|
||||
gdk_window_get_origin (
|
||||
gtk_widget_get_window (obj->popup), &x, &y);
|
||||
gdk_window_get_origin (gtk_widget_get_window (obj->popup), &x, &y);
|
||||
gtk_widget_get_allocation (obj->popup, &allocation);
|
||||
|
||||
if (!( event->x_root >= x && event->x_root <= x + allocation.width
|
||||
|
@ -169,27 +253,51 @@ static void vn_date_chooser_on_toggled (GtkToggleButton * button, VnDateChooser
|
|||
GdkRectangle monitor;
|
||||
GtkAllocation allocation;
|
||||
GtkWidget * widget = GTK_WIDGET (button);
|
||||
|
||||
|
||||
// Set the date on the calendar
|
||||
|
||||
if (g_date_valid (&obj->date))
|
||||
|
||||
if (obj->datetime)
|
||||
{
|
||||
gtk_calendar_select_month (obj->calendar
|
||||
,g_date_get_month (&obj->date) - 1
|
||||
,g_date_get_year (&obj->date)
|
||||
);
|
||||
gtk_calendar_select_day (obj->calendar,
|
||||
g_date_get_day (&obj->date));
|
||||
if (obj->show_date)
|
||||
{
|
||||
gtk_calendar_select_month (obj->calendar
|
||||
,g_date_time_get_month (obj->datetime) - 1
|
||||
,g_date_time_get_year (obj->datetime)
|
||||
);
|
||||
gtk_calendar_select_day (obj->calendar,
|
||||
g_date_time_get_day_of_month (obj->datetime));
|
||||
}
|
||||
|
||||
if (obj->show_time)
|
||||
{
|
||||
gtk_adjustment_set_value (obj->hour,
|
||||
g_date_time_get_hour (obj->datetime));
|
||||
gtk_adjustment_set_value (obj->minute,
|
||||
g_date_time_get_minute (obj->datetime));
|
||||
gtk_adjustment_set_value (obj->second,
|
||||
g_date_time_get_second (obj->datetime));
|
||||
gtk_widget_set_no_show_all (GTK_WIDGET (obj->time), obj->show_time);
|
||||
}
|
||||
}
|
||||
else
|
||||
gtk_calendar_select_day (obj->calendar, 0);
|
||||
|
||||
|
||||
// Set visibility
|
||||
|
||||
if (!obj->show_date)
|
||||
gtk_widget_hide (GTK_WIDGET (obj->calendar));
|
||||
if (!obj->show_time)
|
||||
gtk_widget_hide (GTK_WIDGET (obj->time));
|
||||
|
||||
gtk_widget_set_no_show_all (GTK_WIDGET (obj->calendar), !obj->show_date);
|
||||
gtk_widget_set_no_show_all (GTK_WIDGET (obj->time), !obj->show_time);
|
||||
|
||||
// Setting the position of the popup
|
||||
|
||||
|
||||
window = gtk_widget_get_window (widget);
|
||||
|
||||
|
||||
gtk_widget_get_allocation (widget, &allocation);
|
||||
|
||||
|
||||
gdk_window_get_origin (window, &x, &y);
|
||||
x += allocation.x;
|
||||
y += allocation.y;
|
||||
|
@ -197,17 +305,17 @@ static void vn_date_chooser_on_toggled (GtkToggleButton * button, VnDateChooser
|
|||
screen = gtk_widget_get_screen (widget);
|
||||
gdk_screen_get_monitor_geometry (screen,
|
||||
gdk_screen_get_monitor_at_point (screen, x, y), &monitor);
|
||||
|
||||
|
||||
gtk_widget_show (GTK_WIDGET (obj->calendar));
|
||||
gtk_widget_get_preferred_size (obj->popup, &req, NULL);
|
||||
|
||||
|
||||
if (y - monitor.y > monitor.height)
|
||||
y = monitor.y + monitor.height - req.height;
|
||||
else if ((y - monitor.y) + req.height + allocation.height > monitor.height)
|
||||
y -= req.height;
|
||||
else
|
||||
y += allocation.height;
|
||||
|
||||
|
||||
if ((x + allocation.width) - monitor.x > monitor.width)
|
||||
x = monitor.x + monitor.width - req.width;
|
||||
else if ((x - monitor.x) + req.width > monitor.width)
|
||||
|
@ -216,7 +324,7 @@ static void vn_date_chooser_on_toggled (GtkToggleButton * button, VnDateChooser
|
|||
gtk_window_set_screen (GTK_WINDOW (obj->popup), screen);
|
||||
gtk_window_move (GTK_WINDOW (obj->popup), x, y);
|
||||
gtk_widget_show_all (obj->popup);
|
||||
|
||||
|
||||
// Grabbing the focus on the popup window
|
||||
|
||||
obj->device = gtk_get_current_event_device ();
|
||||
|
@ -239,7 +347,6 @@ static void vn_date_chooser_on_toggled (GtkToggleButton * button, VnDateChooser
|
|||
g_list_free (devices);
|
||||
}
|
||||
|
||||
// gtk_widget_grab_focus (obj->popup);
|
||||
gtk_device_grab_add (obj->popup, obj->device, TRUE);
|
||||
gdk_device_grab (obj->device
|
||||
,gtk_widget_get_window (obj->popup)
|
||||
|
@ -252,6 +359,16 @@ static void vn_date_chooser_on_toggled (GtkToggleButton * button, VnDateChooser
|
|||
vn_date_chooser_hide_popup (obj);
|
||||
}
|
||||
|
||||
gboolean vn_date_chooser_on_spin_output (GtkSpinButton * spin, VnDateChooser * obj)
|
||||
{
|
||||
gchar * format;
|
||||
GtkAdjustment * adj = gtk_spin_button_get_adjustment (spin);
|
||||
format = g_strdup_printf ("%02d", (guint) gtk_adjustment_get_value (adj));
|
||||
gtk_entry_set_text (GTK_ENTRY (spin), format);
|
||||
g_free (format);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
//+++++++++++++++++++++++++++++++++++++++++++++++++++ Properties
|
||||
|
||||
enum
|
||||
|
@ -304,12 +421,14 @@ static void vn_date_chooser_get_property (VnDateChooser * obj, guint id,
|
|||
|
||||
static void vn_date_chooser_init (VnDateChooser * obj)
|
||||
{
|
||||
GtkWidget * image;
|
||||
GtkBuilder * builder;
|
||||
|
||||
obj->show_time = FALSE;
|
||||
obj->show_date = TRUE;
|
||||
obj->format = NULL;
|
||||
obj->popup = NULL;
|
||||
obj->device = NULL;
|
||||
g_date_clear (&obj->date, 1);
|
||||
obj->datetime = NULL;
|
||||
|
||||
obj->box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 8);
|
||||
gtk_container_add (GTK_CONTAINER (obj), GTK_WIDGET (obj->box));
|
||||
|
@ -320,31 +439,38 @@ static void vn_date_chooser_init (VnDateChooser * obj)
|
|||
g_signal_connect (obj->button, "toggled",
|
||||
G_CALLBACK (vn_date_chooser_on_toggled), obj);
|
||||
gtk_box_pack_start (GTK_BOX (obj->box),
|
||||
GTK_WIDGET (obj->button), FALSE, FALSE, 0);
|
||||
|
||||
image = gtk_image_new_from_icon_name ("gtk-edit", GTK_ICON_SIZE_BUTTON);
|
||||
gtk_button_set_image (GTK_BUTTON (obj->button), image);
|
||||
GTK_WIDGET (obj->button), TRUE, TRUE, 0);
|
||||
g_object_set (obj->button, "relief", GTK_RELIEF_HALF, NULL);
|
||||
|
||||
obj->label = GTK_LABEL (gtk_label_new (NULL));
|
||||
gtk_misc_set_alignment (GTK_MISC (obj->label), 0, 0.5);
|
||||
gtk_box_pack_end (GTK_BOX (obj->box),
|
||||
GTK_WIDGET (obj->label), TRUE, TRUE, 0);
|
||||
gtk_container_add (GTK_CONTAINER (obj->button), GTK_WIDGET (obj->label));
|
||||
|
||||
obj->popup = gtk_window_new (GTK_WINDOW_POPUP);
|
||||
obj->popup = gtk_window_new (GTK_WINDOW_POPUP);
|
||||
g_object_connect (obj->popup
|
||||
,"signal::button-press-event", vn_date_chooser_on_button_press, obj
|
||||
,"signal::key-press-event", vn_date_chooser_on_key_press, obj
|
||||
,NULL
|
||||
);
|
||||
|
||||
obj->calendar = GTK_CALENDAR (gtk_calendar_new ());
|
||||
g_signal_connect (obj->calendar, "day-selected-double-click",
|
||||
G_CALLBACK (vn_date_chooser_on_day_selected), obj);
|
||||
gtk_container_add (GTK_CONTAINER (obj->popup), GTK_WIDGET (obj->calendar));
|
||||
builder = gtk_builder_new_from_file (GUI_FILE);
|
||||
gtk_builder_connect_signals (builder, obj);
|
||||
|
||||
obj->calendar = GTK_CALENDAR (gtk_builder_get_object (builder, "calendar"));
|
||||
obj->hour = GTK_ADJUSTMENT (gtk_builder_get_object (builder, "hour"));
|
||||
obj->minute = GTK_ADJUSTMENT (gtk_builder_get_object (builder, "minute"));
|
||||
obj->second = GTK_ADJUSTMENT (gtk_builder_get_object (builder, "second"));
|
||||
obj->time = GTK_WIDGET (gtk_builder_get_object (builder, "time"));
|
||||
|
||||
gtk_container_add (GTK_CONTAINER (obj->popup),
|
||||
GTK_WIDGET (gtk_builder_get_object (builder, "box")));
|
||||
}
|
||||
|
||||
static void vn_date_chooser_finalize (VnDateChooser * obj)
|
||||
{
|
||||
if (obj->datetime)
|
||||
g_date_time_unref (obj->datetime);
|
||||
|
||||
g_free (obj->format);
|
||||
gtk_widget_destroy (obj->popup);
|
||||
G_OBJECT_CLASS (vn_date_chooser_parent_class)->finalize (G_OBJECT (obj));
|
||||
|
|
|
@ -42,7 +42,11 @@ struct _VnDateChooser
|
|||
GtkWidget * button;
|
||||
GdkDevice * device;
|
||||
GtkCalendar * calendar;
|
||||
GDate date;
|
||||
GtkWidget * time;
|
||||
GtkAdjustment * hour;
|
||||
GtkAdjustment * minute;
|
||||
GtkAdjustment * second;
|
||||
GDateTime * datetime;
|
||||
};
|
||||
|
||||
struct _VnDateChooserClass
|
||||
|
|
|
@ -92,7 +92,7 @@ static const GMarkupParser vn_model_parser =
|
|||
vn_model_start_element
|
||||
,vn_model_end_element
|
||||
};
|
||||
//FIXME: se pone la propiedad "sql" dos veces en el modelo (entre custom_tag_end y custom_finished)
|
||||
|
||||
static gboolean vn_model_buildable_custom_tag_start (GtkBuildable * buildable,
|
||||
GtkBuilder * builder, GObject * child, const gchar * tag,
|
||||
GMarkupParser * parser, gpointer * data)
|
||||
|
@ -117,12 +117,23 @@ static gboolean vn_model_buildable_custom_tag_start (GtkBuildable * buildable,
|
|||
|
||||
return FALSE;
|
||||
}
|
||||
/*XXX TEST
|
||||
static void vn_model_buildable_set_buildable_property (GtkBuildable *buildable,
|
||||
|
||||
static void vn_model_buildable_set_buildable_property (GtkBuildable * buildable,
|
||||
GtkBuilder * builder, const gchar * name, const GValue * value)
|
||||
{
|
||||
g_message ("set buildable property");
|
||||
}*/
|
||||
if (!g_strcmp0 (name, "sql"))
|
||||
{
|
||||
static gpointer old_object = NULL;
|
||||
|
||||
if (old_object != buildable)
|
||||
g_object_set_property (G_OBJECT (buildable), name, value);
|
||||
|
||||
old_object = buildable;
|
||||
}
|
||||
else
|
||||
g_object_set_property (G_OBJECT (buildable), name, value);
|
||||
}
|
||||
|
||||
//+++++++++++++++++++++++++++++++++++++++++++++++++++ Class
|
||||
|
||||
static void vn_model_finalize (VnModel * obj)
|
||||
|
@ -139,7 +150,7 @@ static void vn_model_class_init (VnModelClass * klass)
|
|||
static void vn_model_buildable_init (GtkBuildableIface * iface)
|
||||
{
|
||||
iface->custom_tag_start = vn_model_buildable_custom_tag_start;
|
||||
// iface->set_buildable_property = vn_model_buildable_set_buildable_property;
|
||||
iface->set_buildable_property = vn_model_buildable_set_buildable_property;
|
||||
}
|
||||
|
||||
static void vn_model_init (VnModel * obj)
|
||||
|
|
|
@ -0,0 +1,187 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<interface>
|
||||
<!-- interface-requires gtk+ 3.0 -->
|
||||
<object class="GtkAdjustment" id="hour">
|
||||
<property name="upper">23</property>
|
||||
<property name="step_increment">1</property>
|
||||
<property name="page_increment">10</property>
|
||||
</object>
|
||||
<object class="GtkBox" id="box">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="border_width">4</property>
|
||||
<property name="orientation">vertical</property>
|
||||
<property name="spacing">4</property>
|
||||
<child>
|
||||
<object class="GtkButtonBox" id="buttonbox">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="homogeneous">True</property>
|
||||
<property name="layout_style">expand</property>
|
||||
<child>
|
||||
<object class="GtkButton" id="button1">
|
||||
<property name="label" translatable="yes">OK</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">True</property>
|
||||
<signal name="clicked" handler="vn_date_chooser_on_ok_clicked" swapped="no"/>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">True</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="clear">
|
||||
<property name="label" translatable="yes">Clear</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">True</property>
|
||||
<signal name="clicked" handler="vn_date_chooser_on_clear_clicked" swapped="no"/>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="now">
|
||||
<property name="label" translatable="yes">Now</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">True</property>
|
||||
<signal name="clicked" handler="vn_date_chooser_on_now_clicked" swapped="no"/>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">2</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkCalendar" id="calendar">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="year">2014</property>
|
||||
<property name="month">2</property>
|
||||
<property name="day">24</property>
|
||||
<signal name="day-selected-double-click" handler="vn_date_chooser_on_day_selected" swapped="no"/>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkBox" id="time">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="spacing">4</property>
|
||||
<property name="baseline_position">top</property>
|
||||
<child>
|
||||
<object class="GtkSpinButton" id="hour-spin">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="invisible_char">●</property>
|
||||
<property name="xalign">0.5</property>
|
||||
<property name="invisible_char_set">True</property>
|
||||
<property name="orientation">vertical</property>
|
||||
<property name="adjustment">hour</property>
|
||||
<property name="wrap">True</property>
|
||||
<signal name="output" handler="vn_date_chooser_on_spin_output" swapped="no"/>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">True</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkLabel" id="label1">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="label">:</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkSpinButton" id="minute-spin">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="invisible_char">●</property>
|
||||
<property name="xalign">0.5</property>
|
||||
<property name="invisible_char_set">True</property>
|
||||
<property name="orientation">vertical</property>
|
||||
<property name="adjustment">minute</property>
|
||||
<property name="wrap">True</property>
|
||||
<signal name="output" handler="vn_date_chooser_on_spin_output" swapped="no"/>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">True</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">2</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkLabel" id="label2">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="label">:</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">3</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkSpinButton" id="second-spin">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="invisible_char">●</property>
|
||||
<property name="xalign">0.5</property>
|
||||
<property name="invisible_char_set">True</property>
|
||||
<property name="orientation">vertical</property>
|
||||
<property name="adjustment">second</property>
|
||||
<property name="wrap">True</property>
|
||||
<signal name="output" handler="vn_date_chooser_on_spin_output" swapped="no"/>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">True</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">4</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">2</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
<object class="GtkAdjustment" id="minute">
|
||||
<property name="upper">59</property>
|
||||
<property name="step_increment">1</property>
|
||||
<property name="page_increment">10</property>
|
||||
</object>
|
||||
<object class="GtkAdjustment" id="second">
|
||||
<property name="upper">59</property>
|
||||
<property name="step_increment">1</property>
|
||||
<property name="page_increment">10</property>
|
||||
</object>
|
||||
</interface>
|
|
@ -231,6 +231,7 @@
|
|||
<object class="GtkSpinner" id="spinner">
|
||||
<property name="width_request">25</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="no_show_all">True</property>
|
||||
<property name="active">True</property>
|
||||
</object>
|
||||
<packing>
|
||||
|
@ -386,21 +387,6 @@
|
|||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="stop">
|
||||
<property name="label">gtk-cancel</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">True</property>
|
||||
<property name="use_stock">True</property>
|
||||
<signal name="clicked" handler="vn_login_cb_stop_clicked" swapped="no"/>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">2</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
|
|
|
@ -89,7 +89,6 @@ static void vn_login_show (VnLogin * obj)
|
|||
obj->pass = BUILDER_GET (builder, "password");
|
||||
obj->remember = BUILDER_GET (builder, "remember");
|
||||
obj->connect = BUILDER_GET (builder, "connect");
|
||||
obj->stop = BUILDER_GET (builder, "stop");
|
||||
obj->settings_button = BUILDER_GET (builder, "settings");
|
||||
obj->spinner = BUILDER_GET (builder, "spinner");
|
||||
obj->settings_dialog = BUILDER_GET (builder, "settings-dialog");
|
||||
|
@ -122,11 +121,10 @@ static void vn_login_show (VnLogin * obj)
|
|||
g_object_unref (builder);
|
||||
}
|
||||
|
||||
// gtk_widget_show (GTK_WIDGET (obj->window));
|
||||
gtk_widget_show_all (GTK_WIDGET (obj->window));
|
||||
gtk_widget_grab_focus (GTK_WIDGET (obj->user));
|
||||
gtk_widget_hide (obj->spinner);
|
||||
gtk_widget_hide (obj->stop);
|
||||
|
||||
|
||||
if (autologin)
|
||||
gtk_button_clicked (obj->connect);
|
||||
}
|
||||
|
@ -145,13 +143,11 @@ static void vn_login_set_loading (VnLogin * obj, gboolean loading)
|
|||
if (loading)
|
||||
{
|
||||
gtk_widget_show (obj->spinner);
|
||||
gtk_widget_show (obj->stop);
|
||||
gtk_widget_hide (GTK_WIDGET (obj->connect));
|
||||
}
|
||||
else
|
||||
{
|
||||
gtk_widget_hide (obj->spinner);
|
||||
gtk_widget_hide (obj->stop);
|
||||
gtk_widget_show (GTK_WIDGET (obj->connect));
|
||||
}
|
||||
}
|
||||
|
@ -378,14 +374,6 @@ void vn_login_cb_connect_clicked (GtkButton * button, VnLogin * obj)
|
|||
(GThreadFunc) vn_login_thread, connect_data);
|
||||
}
|
||||
|
||||
/*
|
||||
* Stops trying to connect.
|
||||
*/
|
||||
void vn_login_cb_stop_clicked (GtkButton * button, VnLogin * obj)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
/*
|
||||
* Closes the application when login window is destroyed.
|
||||
*/
|
||||
|
|
Reference in New Issue