Adapatado al nuevo formato de modulos con GMenuModel

This commit is contained in:
Alejandro T. Colombini Gómez 2014-05-26 16:16:34 +02:00
parent bbb5db4288
commit 1ebde52dd1
13 changed files with 291 additions and 344 deletions

View File

@ -15,7 +15,7 @@ AC_PROG_CC
dnl Check for vala.
dnl You should change the version shown here manually to match with yours.
AM_PROG_VALAC([0.20.0])
AM_PROG_VALAC([0.24])
dnl Internationalization
IT_PROG_INTLTOOL([0.35.0])
@ -29,7 +29,7 @@ AM_XGETTEXT_OPTION([-k_ -kQ_:1g -kN_ -kC_:1c,2 -kNC_:1c,2])
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])
@ -45,7 +45,7 @@ fi
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 [default = no]])],
[Enable C warnings to be shown (default = no)])],
[C_WARNINGS="$enableval"],
[C_WARNINGS=no])
AC_MSG_RESULT([$C_WARNINGS])
@ -61,30 +61,23 @@ AC_SUBST([VALAFLAGS])
LT_INIT
dnl Path to the directory of the unsinstalled hedera project.
AC_ARG_VAR([UNINSTALLED_DIR], [the directory of the uninstalled hedera project])
: ${UNINSTALLED_DIR=''}
PKG_PROG_PKG_CONFIG
if test $UNINSTALLED_DIR; then
PKG_CHECK_MODULES(ACCOUNT, [gtk+-3.0])
VALA_CHECK_MODULES(ACCOUNT, [gtk+-3.0])
ACCOUNT_CFLAGS+=-I$UNINSTALLED_DIR
ACCOUNT_LIBS+=$UNINSTALLED_DIR/build/main/libhedera.la
VALA_CHECK_PACKAGES([gtk+-3.0])
VALAFLAGS+='--pkg gtk+-3.0 \
--pkg gvn --pkg sql --pkg db --pkg vn \
--vapidir $(UNINSTALLED_DIR)/build/vapi '
VALAFLAGS+="$ACCOUNT_VALAFLAGS --pkg gvn --pkg sql --pkg db --pkg vn --vapidir $UNINSTALLED_DIR/build/vapi "
AC_SUBST(account_libdir, $libdir/hedera/module)
AC_SUBST(account_datadir, $datadir/hedera/module)
AC_SUBST(querydir, $account_datadir/sql)
else
PKG_CHECK_MODULES(ACCOUNT, [hedera])
VALA_CHECK_PACKAGES([hedera])
VALAFLAGS+='--pkg hedera '
VALA_CHECK_MODULES(ACCOUNT, [hedera])
VALAFLAGS+=$ACCOUNT_VALAFLAGS
PKG_CHECK_VAR([account_libdir], [hedera], [modulelibdir])
PKG_CHECK_VAR([account_datadir], [hedera], [moduledatadir])
@ -96,3 +89,4 @@ AC_OUTPUT([
src/Makefile
data/Makefile
po/Makefile.in])

View File

@ -1,7 +1,7 @@
account_data_DATA = \
account-menu.glade\
account.xml \
account.ui \
users.glade \
email.glade

16
data/account-menu.glade Normal file
View File

@ -0,0 +1,16 @@
<interface>
<requires lib="gtk+" version="3.0"/>
<menu id='menu'>
<item>
<attribute name='label' translatable='yes'>Users</attribute>
<attribute name='action'>win.open-users</attribute>
<attribute name='accel'>F2</attribute>
</item>
<item>
<attribute name='label' translatable='yes'>EMail</attribute>
<attribute name='action'>win.open-email</attribute>
<attribute name='accel'>F3</attribute>
</item>
</menu>
</interface>

View File

@ -1,10 +0,0 @@
<ui>
<menubar name="MenuBar">
<placeholder name="ModuleMenu">
<menu name="AccountMenu" action="action-menu-account">
<menuitem name="Users" action="open-users"/>
<menuitem name="EMail" action="open-email"/>
</menu>
</placeholder>
</menubar>
</ui>

View File

@ -8,13 +8,11 @@
translatable="yes"
name="users"
icon="x-office-address-book"
action-name="open-users"
accel="F2">Users</form>
action-name="open-users">Users</form>
<form
translatable="yes"
name="email"
icon="mail-mark-unread"
action-name="open-email"
accel="F3">E-Mail</form>
action-name="open-email">E-Mail</form>
</form-group>
</module>

View File

@ -1,7 +1,25 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.18.3 -->
<interface>
<!-- interface-requires vn 1.0 -->
<!-- interface-requires gtk+ 3.0 -->
<requires lib="gtk+" version="3.0"/>
<requires lib="vn" version="1.0"/>
<object class="VnBatch" id="models">
<child>
<object class="VnModel" id="model-child">
<property name="sql">SELECT parent, child FROM mail_alias_child WHERE #link</property>
<property name="update_flags">DB_MODEL_INSERT | DB_MODEL_DELETE | DB_MODEL_UPDATE</property>
<links>
<link field="mail_alias_child.parent" param="id" linked="True"/>
</links>
</object>
</child>
<child>
<object class="VnModel" id="model-alias">
<property name="sql">SELECT id, alias FROM mail_alias</property>
<property name="update_flags">DB_MODEL_INSERT | DB_MODEL_DELETE | DB_MODEL_UPDATE</property>
</object>
</child>
</object>
<object class="VnBatch" id="iterators">
<child>
<object class="VnIterator" id="child">
@ -12,7 +30,7 @@
<object class="VnIterator" id="alias">
<property name="model">model-alias</property>
<child>
<object class="DbParam" id="alias-id">
<object class="DbParam" id="id">
<property name="column_name">id</property>
</object>
</child>
@ -75,8 +93,6 @@
<object class="VnHandler" id="handler1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="spacing">6</property>
<property name="layout_style">end</property>
<property name="iterator">alias</property>
<property name="show_flags">VN_HANDLER_SHOW_SAVE | VN_HANDLER_SHOW_REMOVE | VN_HANDLER_SHOW_ADD</property>
</object>
@ -134,8 +150,6 @@
<object class="VnHandler" id="handler2">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="spacing">6</property>
<property name="layout_style">end</property>
<property name="iterator">child</property>
<property name="show_flags">VN_HANDLER_SHOW_SAVE | VN_HANDLER_SHOW_REMOVE | VN_HANDLER_SHOW_ADD</property>
</object>
@ -162,19 +176,4 @@
</packing>
</child>
</object>
<object class="VnBatch" id="models">
<child>
<object class="VnModel" id="model-child">
<property name="sql">SELECT parent, child FROM mail_alias_child WHERE #p</property>
<links>
<link field="parent" param="alias-id"/>
</links>
</object>
</child>
<child>
<object class="VnModel" id="model-alias">
<property name="sql">SELECT id, alias FROM mail_alias</property>
</object>
</child>
</object>
</interface>

View File

@ -1,13 +1,72 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.18.3 -->
<interface>
<!-- interface-requires vn 0.0 -->
<!-- interface-requires gtk+ 3.0 -->
<requires lib="gtk+" version="3.0"/>
<requires lib="vn" version="1.0"/>
<object class="VnBatch" id="models">
<child>
<object class="VnModel" id="account-combo-model">
<property name="sql">SELECT id, name FROM `group`</property>
</object>
</child>
<child>
<object class="VnModel" id="account-model">
<property name="sql">SELECT user_id, group_id, uid, last_change, expire
FROM account
WHERE #link</property>
<property name="update_flags">DB_MODEL_INSERT | DB_MODEL_DELETE | DB_MODEL_UPDATE</property>
<links>
<link field="account.user_id" param="id" linked="True"/>
</links>
</object>
</child>
<child>
<object class="VnModel" id="alias-model">
<property name="sql">SELECT mail_alias_id, user_id
FROM mail_alias_account
WHERE #link</property>
<property name="update_flags">DB_MODEL_INSERT | DB_MODEL_DELETE | DB_MODEL_UPDATE</property>
<links>
<link field="mail_alias_account.user_id" param="user-id" linked="True"/>
</links>
</object>
</child>
<child>
<object class="VnModel" id="user-combo-model">
<property name="sql">SELECT id, user FROM mysql_user</property>
</object>
</child>
<child>
<object class="VnModel" id="alias-combo-model">
<property name="sql">SELECT id, alias FROM mail_alias</property>
</object>
</child>
<child>
<object class="VnModel" id="sip-model">
<property name="sql">SELECT user_id, extension, secret, callerid
FROM account_sip
WHERE #link</property>
<property name="update_flags">DB_MODEL_INSERT | DB_MODEL_DELETE | DB_MODEL_UPDATE</property>
<links>
<link field="account_sip.user_id" param="user-id" linked="True"/>
</links>
</object>
</child>
<child>
<object class="VnModel" id="users-model">
<property name="sql">SELECT u.id, u.name, u.mysql_user_id, m.user, u.active
FROM `user` u
JOIN mysql_user m ON u.mysql_user_id = m.id</property>
<property name="update_flags">DB_MODEL_INSERT | DB_MODEL_DELETE | DB_MODEL_UPDATE</property>
</object>
</child>
</object>
<object class="VnBatch" id="iterators">
<child>
<object class="VnIterator" id="users">
<property name="model">users-model</property>
<child>
<object class="DbParam" id="users-id">
<object class="DbParam" id="id">
<property name="column_name">id</property>
</object>
</child>
@ -29,229 +88,13 @@
<property name="model">account-model</property>
<property name="mode">on-iter</property>
<child>
<object class="DbParam" id="account-user_id">
<object class="DbParam" id="user-id">
<property name="column_name">user_id</property>
</object>
</child>
</object>
</child>
</object>
<object class="VnBatch" id="models">
<child>
<object class="VnModel" id="account-combo-model">
<property name="sql">SELECT id, name FROM `group`</property>
<property name="update_flags"/>
</object>
</child>
<child>
<object class="VnModel" id="account-model">
<property name="sql">SELECT user_id, group_id, uid, last_change, expire
FROM account
WHERE #p</property>
<links>
<link field="user_id" param="users-id"/>
</links>
</object>
</child>
<child>
<object class="VnModel" id="alias-model">
<property name="sql">SELECT mail_alias_id, user_id
FROM mail_alias_account
WHERE #p</property>
<links>
<link field="user_id" param="account-user_id"/>
</links>
</object>
</child>
<child>
<object class="VnModel" id="user-combo-model">
<property name="sql">SELECT id, user FROM mysql_user</property>
<property name="update_flags"/>
</object>
</child>
<child>
<object class="VnModel" id="alias-combo-model">
<property name="sql">SELECT id, alias FROM mail_alias</property>
<property name="update_flags"/>
</object>
</child>
<child>
<object class="VnModel" id="sip-model">
<property name="sql">SELECT user_id, extension, secret, callerid
FROM account_sip
WHERE #p</property>
<links>
<link field="user_id" param="account-user_id"/>
</links>
</object>
</child>
<child>
<object class="VnModel" id="users-model">
<property name="sql">SELECT u.id, u.name, u.mysql_user_id, m.user, u.active
FROM `user` u
JOIN mysql_user m ON u.mysql_user_id = m.id</property>
</object>
</child>
</object>
<object class="GtkDialog" id="password-dialog">
<property name="can_focus">False</property>
<property name="border_width">5</property>
<property name="title" translatable="yes">Change password</property>
<property name="resizable">False</property>
<property name="modal">True</property>
<property name="destroy_with_parent">True</property>
<property name="type_hint">dialog</property>
<signal name="delete-event" handler="gtk_true" swapped="no"/>
<signal name="response" handler="vn_users_on_dialog_response" swapped="no"/>
<child internal-child="vbox">
<object class="GtkBox" id="dialog-vbox2">
<property name="can_focus">False</property>
<property name="orientation">vertical</property>
<property name="spacing">2</property>
<child>
<object class="GtkInfoBar" id="password-infobar">
<property name="app_paintable">True</property>
<property name="can_focus">False</property>
<child internal-child="content_area">
<object class="GtkBox" id="infobar-content_area1">
<property name="can_focus">False</property>
<property name="border_width">8</property>
<property name="spacing">8</property>
<child>
<object class="GtkLabel" id="password-error">
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child internal-child="action_area">
<object class="GtkButtonBox" id="infobar-action_area1">
<property name="can_focus">False</property>
<property name="border_width">5</property>
<property name="orientation">vertical</property>
<property name="layout_style">end</property>
<child>
<placeholder/>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</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="GtkGrid" id="grid6">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="border_width">6</property>
<property name="row_spacing">6</property>
<property name="column_spacing">6</property>
<child>
<object class="GtkLabel" id="label23">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xalign">1</property>
<property name="label" translatable="yes">Password:</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">0</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="label22">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xalign">1</property>
<property name="label" translatable="yes">Repeat password:</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">1</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkEntry" id="password-entry">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="visibility">False</property>
<property name="invisible_char">●</property>
<property name="invisible_char_set">True</property>
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">0</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkEntry" id="repeat-password">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="visibility">False</property>
<property name="invisible_char">●</property>
<property name="invisible_char_set">True</property>
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">1</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child internal-child="action_area">
<object class="GtkButtonBox" id="dialog-action_area2">
<property name="can_focus">False</property>
<property name="layout_style">end</property>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="pack_type">end</property>
<property name="position">2</property>
</packing>
</child>
</object>
</child>
</object>
<object class="DbParam" id="search-user"/>
<object class="GtkBox" id="main">
<property name="visible">True</property>
<property name="can_focus">False</property>
@ -264,7 +107,7 @@ FROM `user` u
<property name="can_focus">True</property>
<property name="shadow_type">in</property>
<child>
<object class="VnGrid" id="grid1">
<object class="VnGrid" id="grid">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="headers_clickable">False</property>
@ -311,7 +154,6 @@ FROM `user` u
<object class="VnHandler" id="handler1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="layout_style">end</property>
<property name="iterator">users</property>
<property name="show_flags">VN_HANDLER_SHOW_REFRESH | VN_HANDLER_SHOW_UNDO | VN_HANDLER_SHOW_SAVE | VN_HANDLER_SHOW_REMOVE | VN_HANDLER_SHOW_ADD</property>
</object>
@ -351,8 +193,6 @@ FROM `user` u
<packing>
<property name="left_attach">0</property>
<property name="top_attach">1</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
@ -365,8 +205,6 @@ FROM `user` u
<packing>
<property name="left_attach">0</property>
<property name="top_attach">2</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
@ -379,8 +217,6 @@ FROM `user` u
<packing>
<property name="left_attach">0</property>
<property name="top_attach">3</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
@ -393,8 +229,6 @@ FROM `user` u
<packing>
<property name="left_attach">1</property>
<property name="top_attach">4</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
@ -407,8 +241,6 @@ FROM `user` u
<packing>
<property name="left_attach">0</property>
<property name="top_attach">4</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
@ -422,8 +254,6 @@ FROM `user` u
<packing>
<property name="left_attach">0</property>
<property name="top_attach">0</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
@ -438,8 +268,6 @@ FROM `user` u
<packing>
<property name="left_attach">1</property>
<property name="top_attach">0</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
@ -452,23 +280,19 @@ FROM `user` u
<packing>
<property name="left_attach">1</property>
<property name="top_attach">1</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="VnCombo" id="combo1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="model">user-combo-model</property>
<property name="iterator">users</property>
<property name="column_name">mysql_user_id</property>
<property name="model">user-combo-model</property>
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">3</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
@ -483,8 +307,6 @@ FROM `user` u
<packing>
<property name="left_attach">1</property>
<property name="top_attach">2</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
</object>
@ -525,15 +347,13 @@ FROM `user` u
<object class="VnCombo" id="combo2">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="model">account-combo-model</property>
<property name="iterator">account</property>
<property name="column_name">group_id</property>
<property name="model">account-combo-model</property>
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">1</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
@ -547,8 +367,6 @@ FROM `user` u
<packing>
<property name="left_attach">1</property>
<property name="top_attach">0</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
@ -562,8 +380,6 @@ FROM `user` u
<packing>
<property name="left_attach">0</property>
<property name="top_attach">0</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
@ -576,8 +392,6 @@ FROM `user` u
<packing>
<property name="left_attach">0</property>
<property name="top_attach">1</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
@ -590,8 +404,6 @@ FROM `user` u
<packing>
<property name="left_attach">1</property>
<property name="top_attach">2</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
@ -604,8 +416,6 @@ FROM `user` u
<packing>
<property name="left_attach">1</property>
<property name="top_attach">3</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
@ -618,8 +428,6 @@ FROM `user` u
<packing>
<property name="left_attach">0</property>
<property name="top_attach">2</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
@ -632,8 +440,6 @@ FROM `user` u
<packing>
<property name="left_attach">0</property>
<property name="top_attach">3</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
</object>
@ -647,7 +453,6 @@ FROM `user` u
<object class="VnHandler" id="handler2">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="layout_style">end</property>
<property name="iterator">account</property>
<property name="simple_record">True</property>
</object>
@ -717,8 +522,6 @@ FROM `user` u
<object class="VnHandler" id="handler4">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="spacing">6</property>
<property name="layout_style">end</property>
<property name="iterator">alias</property>
<property name="show_flags">VN_HANDLER_SHOW_SAVE | VN_HANDLER_SHOW_REMOVE | VN_HANDLER_SHOW_ADD</property>
</object>
@ -771,8 +574,6 @@ FROM `user` u
<packing>
<property name="left_attach">0</property>
<property name="top_attach">0</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
@ -785,8 +586,6 @@ FROM `user` u
<packing>
<property name="left_attach">0</property>
<property name="top_attach">1</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
@ -799,8 +598,6 @@ FROM `user` u
<packing>
<property name="left_attach">0</property>
<property name="top_attach">2</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
@ -814,8 +611,6 @@ FROM `user` u
<packing>
<property name="left_attach">1</property>
<property name="top_attach">0</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
@ -828,8 +623,6 @@ FROM `user` u
<packing>
<property name="left_attach">1</property>
<property name="top_attach">1</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
@ -842,8 +635,6 @@ FROM `user` u
<packing>
<property name="left_attach">1</property>
<property name="top_attach">2</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
</object>
@ -857,9 +648,8 @@ FROM `user` u
<object class="VnHandler" id="handler3">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="spacing">6</property>
<property name="layout_style">end</property>
<property name="iterator">sip</property>
<property name="simple_record">True</property>
</object>
<packing>
<property name="expand">False</property>
@ -892,4 +682,152 @@ FROM `user` u
</packing>
</child>
</object>
<object class="GtkDialog" id="password-dialog">
<property name="can_focus">False</property>
<property name="border_width">5</property>
<property name="title" translatable="yes">Change password</property>
<property name="resizable">False</property>
<property name="modal">True</property>
<property name="destroy_with_parent">True</property>
<property name="type_hint">dialog</property>
<signal name="delete-event" handler="gtk_true" swapped="no"/>
<signal name="response" handler="vn_users_on_dialog_response" swapped="no"/>
<child internal-child="vbox">
<object class="GtkBox" id="dialog-vbox2">
<property name="can_focus">False</property>
<property name="orientation">vertical</property>
<property name="spacing">2</property>
<child>
<object class="GtkInfoBar" id="password-infobar">
<property name="app_paintable">True</property>
<property name="can_focus">False</property>
<child internal-child="action_area">
<object class="GtkButtonBox" id="infobar-action_area1">
<property name="can_focus">False</property>
<property name="border_width">5</property>
<property name="orientation">vertical</property>
<property name="layout_style">end</property>
<child>
<placeholder/>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child internal-child="content_area">
<object class="GtkBox" id="infobar-content_area1">
<property name="can_focus">False</property>
<property name="border_width">8</property>
<property name="spacing">8</property>
<child>
<object class="GtkLabel" id="password-error">
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">0</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="GtkGrid" id="grid6">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="border_width">6</property>
<property name="row_spacing">6</property>
<property name="column_spacing">6</property>
<child>
<object class="GtkLabel" id="label23">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xalign">1</property>
<property name="label" translatable="yes">Password:</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">0</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="label22">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xalign">1</property>
<property name="label" translatable="yes">Repeat password:</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">1</property>
</packing>
</child>
<child>
<object class="GtkEntry" id="password-entry">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="visibility">False</property>
<property name="invisible_char">●</property>
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">0</property>
</packing>
</child>
<child>
<object class="GtkEntry" id="repeat-password">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="visibility">False</property>
<property name="invisible_char">●</property>
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">1</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child internal-child="action_area">
<object class="GtkButtonBox" id="dialog-action_area2">
<property name="can_focus">False</property>
<property name="layout_style">end</property>
<child>
<placeholder/>
</child>
<child>
<placeholder/>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="pack_type">end</property>
<property name="position">2</property>
</packing>
</child>
</object>
</child>
</object>
</interface>

2
debian/changelog vendored
View File

@ -1,4 +1,4 @@
hedera-account (1.0-3) UNRELEASED; urgency=low
hedera-account (1.0-5) UNRELEASED; urgency=low
* Initial Release.

1
debian/control vendored
View File

@ -11,3 +11,4 @@ Depends: ${shlibs:Depends}, ${misc:Depends}, hedera
Description: Verdnatura management module
Verdnatura management module for Hedera. Includes:
* User account control panel.
* E-mail alias editor.

View File

@ -2,6 +2,7 @@
src/account.vala
[type: gettext/glade]data/account.xml
data/account-menu.glade
src/users.vala
data/users.glade

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-12-20 16:14+0100\n"
"POT-Creation-Date: 2014-04-15 16:33+0200\n"
"PO-Revision-Date: 2013-09-24 12:09+0200\n"
"Last-Translator: Alejandro T. Colombini <atcolombini@verdnatura.es>\n"
"Language-Team: none\n"
@ -34,15 +34,23 @@ msgstr "Usuarios"
msgid "E-Mail"
msgstr "E-Mail"
#: ../src/users.vala:87
#: ../src/users.vala:32
msgid "Cancel"
msgstr "Cancelar"
#: ../src/users.vala:33
msgid "Apply"
msgstr "Aplicar"
#: ../src/users.vala:70
msgid "The password can't be empty."
msgstr "La contraseña no puede estar vacía."
#: ../src/users.vala:89
#: ../src/users.vala:72
msgid "Passwords do not match."
msgstr "Las contraseñas no coinciden."
#: ../src/users.vala:115
#: ../src/users.vala:98
msgid "The password is too weak."
msgstr "La contraseña es demasiado débil."

View File

@ -28,3 +28,4 @@ libaccount_la_VALAFLAGS = $(VALAFLAGS)
uninstall-local:
rm -f $(DESTDIR)$(libdir)/hedera/module/libaccount.so

View File

@ -25,12 +25,12 @@ public class Vn.Users : Vn.Form
public override void open (Gtk.Builder builder)
{
user_id = get ("user-id") as Gvn.Param;
password_entry = get ("password-entry") as Gtk.Entry;
repeat_password = get ("repeat-password") as Gtk.Entry;
password_dialog = get ("password-dialog") as Gtk.Dialog;
password_dialog.add_button (Gtk.Stock.CANCEL, Gtk.ResponseType.CANCEL);
password_dialog.add_button (Gtk.Stock.APPLY, Gtk.ResponseType.ACCEPT);
password_dialog.add_button (_("Cancel"), Gtk.ResponseType.CANCEL);
password_dialog.add_button (_("Apply"), Gtk.ResponseType.ACCEPT);
}
public void reset_dialog (string? error)
@ -64,19 +64,20 @@ public class Vn.Users : Vn.Form
{
if (response_id == Gtk.ResponseType.ACCEPT)
{
string password = password_entry.text;
string pass = password_entry.text;
if (password == "")
if (pass == "")
reset_dialog (_("The password can't be empty."));
else if (password != repeat_password.text)
else if (pass != repeat_password.text)
reset_dialog (_("Passwords do not match."));
else
{
var query = new Sql.String ("SELECT user_set_password (#p, #p)");
query.add_param (user_id);
query.add_value (typeof (string), password);
var batch = new Sql.Batch ();
batch.add_from_param ("user", user_id);
batch.add_from_value ("pass", typeof (string), pass);
conn.query_with_stmt_async (query, on_password_changed);
string query = "SELECT user_set_password (#user, #pass)";
conn.query_async (query, batch, on_password_changed);
}
}
else
@ -88,7 +89,7 @@ public class Vn.Users : Vn.Form
{
GLib.Value val;
try
try
{
request.fetch_value (out val);