Added support for changing password (#9)

* Fixed: server refuses to respond in any way to the sent iq stanza.
* Fix issue #261.

---------

Co-authored-by: Miquel Lionel <lionel@les-miquelots.net>
Co-authored-by: Stanislav Malishevskiy <stanislav.malishevskiy@gmail.com>
This commit is contained in:
Maxim Logaev 2024-03-19 11:29:36 +03:00
parent 825cc5836c
commit e2075ed9fc
50 changed files with 1011 additions and 1 deletions

View file

@ -71,6 +71,12 @@ public class Register : StreamInteractionModule, Object{
return ret; return ret;
} }
public async string? change_password(Account account, string new_pw){
XmppStream stream = stream_interactor.get_stream(account);
if (stream == null) return "Connection unavailable";
return yield stream.get_module(Xep.InBandRegistration.Module.IDENTITY).change_password(stream, account.full_jid, new_pw);
}
public class ServerAvailabilityReturn { public class ServerAvailabilityReturn {
public bool available { get; set; } public bool available { get; set; }
public TlsCertificateFlags? error_flags { get; set; } public TlsCertificateFlags? error_flags { get; set; }
@ -229,3 +235,4 @@ public class Register : StreamInteractionModule, Object{
} }
} }

View file

@ -78,6 +78,7 @@ set(RESOURCE_LIST
conversation_content_view/view.ui conversation_content_view/view.ui
manage_accounts/account_row.ui manage_accounts/account_row.ui
manage_accounts/add_account_dialog.ui manage_accounts/add_account_dialog.ui
manage_accounts/change_password_dialog.ui
manage_accounts/dialog.ui manage_accounts/dialog.ui
menu_add.ui menu_add.ui
menu_app.ui menu_app.ui
@ -218,6 +219,7 @@ SOURCES
src/ui/manage_accounts/account_row.vala src/ui/manage_accounts/account_row.vala
src/ui/manage_accounts/add_account_dialog.vala src/ui/manage_accounts/add_account_dialog.vala
src/ui/manage_accounts/change_password_dialog.vala
src/ui/manage_accounts/dialog.vala src/ui/manage_accounts/dialog.vala
src/ui/occupant_menu/list.vala src/ui/occupant_menu/list.vala

View file

@ -58,6 +58,7 @@
<file>manage_accounts/account_row.ui</file> <file>manage_accounts/account_row.ui</file>
<file>manage_accounts/add_account_dialog.ui</file> <file>manage_accounts/add_account_dialog.ui</file>
<file>manage_accounts/dialog.ui</file> <file>manage_accounts/dialog.ui</file>
<file>manage_accounts/change_password_dialog.ui</file>
<file>menu_add.ui</file> <file>menu_add.ui</file>
<file>menu_app.ui</file> <file>menu_app.ui</file>
<file>menu_conversation.ui</file> <file>menu_conversation.ui</file>

View file

@ -0,0 +1,158 @@
<?xml version="1.0" encoding="UTF-8"?>
<interface>
<requires lib="gtk" version="4.0"/>
<template class="DinoUiChangePasswordDialog">
<property name="title" translatable="1">Change password</property>
<property name="valign">center</property>
<property name="modal">True</property>
<child internal-child="content_area">
<object class="GtkBox">
<child>
<object class="GtkGrid" id="info_grid">
<property name="orientation">vertical</property>
<property name="margin-start">20</property>
<property name="margin-end">20</property>
<property name="margin-top">20</property>
<property name="margin-bottom">20</property>
<property name="row-spacing">7</property>
<property name="column-spacing">10</property>
<child>
<object class="GtkLabel">
<property name="label" translatable="1">Current password</property>
<property name="xalign">1</property>
<layout>
<property name="column">0</property>
<property name="row">0</property>
</layout>
</object>
</child>
<child>
<object class="GtkEntry" id="current_passwd_entry">
<property name="activates_default">1</property>
<property name="hexpand">1</property>
<property name="width_request">200</property>
<property name="visibility">False</property>
<layout>
<property name="column">1</property>
<property name="row">0</property>
</layout>
</object>
</child>
<child>
<object class="GtkLabel">
<property name="label" translatable="1">New password</property>
<property name="xalign">1</property>
<layout>
<property name="column">0</property>
<property name="row">1</property>
</layout>
</object>
</child>
<child>
<object class="GtkEntry" id="new_passwd_entry">
<property name="activates_default">1</property>
<property name="hexpand">1</property>
<property name="width_request">200</property>
<property name="visibility">False</property>
<layout>
<property name="column">1</property>
<property name="row">1</property>
</layout>
</object>
</child>
<child>
<object class="GtkLabel">
<property name="label" translatable="1">Confirm new password</property>
<property name="xalign">1</property>
<layout>
<property name="column">0</property>
<property name="row">2</property>
</layout>
</object>
</child>
<child>
<object class="GtkEntry" id="confirm_new_passwd_entry">
<property name="activates_default">1</property>
<property name="hexpand">1</property>
<property name="width_request">200</property>
<property name="visibility">False</property>
<layout>
<property name="column">1</property>
<property name="row">2</property>
</layout>
</object>
</child>
<child>
<object class="GtkLabel" id="change_password_error_label">
<!-- property name="xalign">0</property -->
<property name="halign">center</property>
<property name="hexpand">True</property>
<property name="margin-top">7</property>
<attributes>
<attribute name="scale" value="0.9"></attribute>
</attributes>
<layout>
<property name="column">0</property>
<property name="row">3</property>
<property name="column-span">2</property>
</layout>
</object>
</child>
<child>
<object class="GtkButton" id="cancel_button">
<property name="label" translatable="1">Cancel</property>
<layout>
<property name="column">0</property>
<property name="row">4</property>
</layout>
</object>
</child>
<child>
<object class="GtkButton" id="change_password_button">
<property name="halign">end</property>
<property name="hexpand">True</property>
<property name="sensitive">0</property>
<layout>
<property name="column">1</property>
<property name="row">4</property>
</layout>
<style>
<class name="text-button"/>
<class name="suggested-action"/>
</style>
<child>
<object class="GtkStack" id="change_password_stack">
<child>
<object class="GtkStackPage">
<property name="name">label</property>
<property name="child">
<object class="GtkLabel" >
<property name="label" translatable="1">Change password</property>
</object>
</property>
</object>
</child>
<child>
<object class="GtkStackPage">
<property name="name">spinner</property>
<property name="child">
<object class="GtkSpinner">
<property name="spinning">True</property>
</object>
</property>
</object>
</child>
</object>
</child>
</object>
</child>
</object>
</child>
</object>
</child>
<action-widgets>
<action-widget response="cancel">cancel_button</action-widget>
<action-widget response="ok" default="true">change_password_button</action-widget>
</action-widgets>
</template>
</interface>

View file

@ -165,7 +165,17 @@
<layout> <layout>
<property name="column">1</property> <property name="column">1</property>
<property name="row">2</property> <property name="row">2</property>
<property name="column-span">2</property> <property name="column-span">1</property>
</layout>
</object>
</child>
<child>
<object class="GtkButton" id="password_change_btn">
<property name="label">⚙️</property>
<layout>
<property name="column">2</property>
<property name="row">2</property>
<property name="column-span">1</property>
</layout> </layout>
</object> </object>
</child> </child>

View file

@ -72,6 +72,7 @@ sources = files(
'src/ui/main_window_controller.vala', 'src/ui/main_window_controller.vala',
'src/ui/manage_accounts/account_row.vala', 'src/ui/manage_accounts/account_row.vala',
'src/ui/manage_accounts/add_account_dialog.vala', 'src/ui/manage_accounts/add_account_dialog.vala',
'src/ui/manage_accounts/change_password_dialog.vala',
'src/ui/manage_accounts/dialog.vala', 'src/ui/manage_accounts/dialog.vala',
'src/ui/notifier_freedesktop.vala', 'src/ui/notifier_freedesktop.vala',
'src/ui/notifier_gnotifications.vala', 'src/ui/notifier_gnotifications.vala',

View file

@ -1176,6 +1176,24 @@ msgstr "لقد أعددت كل شيء!"
msgid "Finish" msgid "Finish"
msgstr "أنهي" msgstr "أنهي"
#: main/src/ui/manage_accounts/change_password_dialog.vala :5
#: main/src/ui/manage_accounts/change_password_dialog.vala :103
msgid "Change password"
msgstr ""
#: main/src/ui/manage_accounts/change_password_dialog.vala :21
msgid "Current password"
msgstr ""
#: main/src/ui/manage_accounts/change_password_dialog.vala :43
msgid "New password"
msgstr ""
#: main/src/ui/manage_accounts/change_password_dialog.vala :65
msgid "Confirm new password"
msgstr ""
#~ msgid "Click here to start a conversation or join a channel." #~ msgid "Click here to start a conversation or join a channel."
#~ msgstr "اضغط هنا لبداية المحادثة أو للإنضمام إلى قناة." #~ msgstr "اضغط هنا لبداية المحادثة أو للإنضمام إلى قناة."

View file

@ -1163,6 +1163,24 @@ msgstr "Tot llest!"
msgid "Finish" msgid "Finish"
msgstr "Finalitza" msgstr "Finalitza"
#: main/src/ui/manage_accounts/change_password_dialog.vala :5
#: main/src/ui/manage_accounts/change_password_dialog.vala :103
msgid "Change password"
msgstr ""
#: main/src/ui/manage_accounts/change_password_dialog.vala :21
msgid "Current password"
msgstr ""
#: main/src/ui/manage_accounts/change_password_dialog.vala :43
msgid "New password"
msgstr ""
#: main/src/ui/manage_accounts/change_password_dialog.vala :65
msgid "Confirm new password"
msgstr ""
#~ msgid "Click here to start a conversation or join a channel." #~ msgid "Click here to start a conversation or join a channel."
#~ msgstr "Feu clic aquí per a començar una conversa o unir-vos a un canal." #~ msgstr "Feu clic aquí per a començar una conversa o unir-vos a un canal."

View file

@ -1166,5 +1166,22 @@ msgstr "Vše připraveno!"
msgid "Finish" msgid "Finish"
msgstr "Dokončit" msgstr "Dokončit"
#: main/src/ui/manage_accounts/change_password_dialog.vala :5
#: main/src/ui/manage_accounts/change_password_dialog.vala :103
msgid "Change password"
msgstr ""
#: main/src/ui/manage_accounts/change_password_dialog.vala :21
msgid "Current password"
msgstr ""
#: main/src/ui/manage_accounts/change_password_dialog.vala :43
msgid "New password"
msgstr ""
#: main/src/ui/manage_accounts/change_password_dialog.vala :65
msgid "Confirm new password"
msgstr ""
#~ msgid "Click here to start a conversation or join a channel." #~ msgid "Click here to start a conversation or join a channel."
#~ msgstr "Kliknutím sem zahájíte konverzaci nebo se připojíte ke kanálu." #~ msgstr "Kliknutím sem zahájíte konverzaci nebo se připojíte ke kanálu."

View file

@ -1153,3 +1153,20 @@ msgstr ""
#: main/data/manage_accounts/add_account_dialog.ui:506 #: main/data/manage_accounts/add_account_dialog.ui:506
msgid "Finish" msgid "Finish"
msgstr "" msgstr ""
#: main/src/ui/manage_accounts/change_password_dialog.vala :5
#: main/src/ui/manage_accounts/change_password_dialog.vala :103
msgid "Change password"
msgstr ""
#: main/src/ui/manage_accounts/change_password_dialog.vala :21
msgid "Current password"
msgstr ""
#: main/src/ui/manage_accounts/change_password_dialog.vala :43
msgid "New password"
msgstr ""
#: main/src/ui/manage_accounts/change_password_dialog.vala :65
msgid "Confirm new password"
msgstr ""

View file

@ -1161,6 +1161,23 @@ msgstr "Fertig!"
msgid "Finish" msgid "Finish"
msgstr "Fertig" msgstr "Fertig"
#: main/src/ui/manage_accounts/change_password_dialog.vala :5
#: main/src/ui/manage_accounts/change_password_dialog.vala :103
msgid "Change password"
msgstr ""
#: main/src/ui/manage_accounts/change_password_dialog.vala :21
msgid "Current password"
msgstr ""
#: main/src/ui/manage_accounts/change_password_dialog.vala :43
msgid "New password"
msgstr ""
#: main/src/ui/manage_accounts/change_password_dialog.vala :65
msgid "Confirm new password"
msgstr ""
#~ msgid "Click here to start a conversation or join a channel." #~ msgid "Click here to start a conversation or join a channel."
#~ msgstr "" #~ msgstr ""
#~ "Klicke hier, um eine Unterhaltung zu starten oder einem Kanal beizutreten." #~ "Klicke hier, um eine Unterhaltung zu starten oder einem Kanal beizutreten."

View file

@ -1154,3 +1154,20 @@ msgstr ""
#: main/data/manage_accounts/add_account_dialog.ui:506 #: main/data/manage_accounts/add_account_dialog.ui:506
msgid "Finish" msgid "Finish"
msgstr "" msgstr ""
#: main/src/ui/manage_accounts/change_password_dialog.vala :5
#: main/src/ui/manage_accounts/change_password_dialog.vala :103
msgid "Change password"
msgstr ""
#: main/src/ui/manage_accounts/change_password_dialog.vala :21
msgid "Current password"
msgstr ""
#: main/src/ui/manage_accounts/change_password_dialog.vala :43
msgid "New password"
msgstr ""
#: main/src/ui/manage_accounts/change_password_dialog.vala :65
msgid "Confirm new password"
msgstr ""

View file

@ -1169,6 +1169,23 @@ msgstr "Όλα έτοιμα!"
msgid "Finish" msgid "Finish"
msgstr "Ολοκλήρωση" msgstr "Ολοκλήρωση"
#: main/src/ui/manage_accounts/change_password_dialog.vala :5
#: main/src/ui/manage_accounts/change_password_dialog.vala :103
msgid "Change password"
msgstr ""
#: main/src/ui/manage_accounts/change_password_dialog.vala :21
msgid "Current password"
msgstr ""
#: main/src/ui/manage_accounts/change_password_dialog.vala :43
msgid "New password"
msgstr ""
#: main/src/ui/manage_accounts/change_password_dialog.vala :65
msgid "Confirm new password"
msgstr ""
#~ msgid "Click here to start a conversation or join a channel." #~ msgid "Click here to start a conversation or join a channel."
#~ msgstr "" #~ msgstr ""
#~ "Κάντε κλικ εδώ για να ξεκινήσετε μια συνομιλία ή να εισέλθετε σε ένα " #~ "Κάντε κλικ εδώ για να ξεκινήσετε μια συνομιλία ή να εισέλθετε σε ένα "

View file

@ -1144,3 +1144,20 @@ msgstr ""
#: main/data/manage_accounts/add_account_dialog.ui:506 #: main/data/manage_accounts/add_account_dialog.ui:506
msgid "Finish" msgid "Finish"
msgstr "" msgstr ""
#: main/src/ui/manage_accounts/change_password_dialog.vala :5
#: main/src/ui/manage_accounts/change_password_dialog.vala :103
msgid "Change password"
msgstr ""
#: main/src/ui/manage_accounts/change_password_dialog.vala :21
msgid "Current password"
msgstr ""
#: main/src/ui/manage_accounts/change_password_dialog.vala :43
msgid "New password"
msgstr ""
#: main/src/ui/manage_accounts/change_password_dialog.vala :65
msgid "Confirm new password"
msgstr ""

View file

@ -1162,6 +1162,24 @@ msgstr "Ĉio pretas!"
msgid "Finish" msgid "Finish"
msgstr "Fini" msgstr "Fini"
#: main/src/ui/manage_accounts/change_password_dialog.vala :5
#: main/src/ui/manage_accounts/change_password_dialog.vala :103
msgid "Change password"
msgstr ""
#: main/src/ui/manage_accounts/change_password_dialog.vala :21
msgid "Current password"
msgstr ""
#: main/src/ui/manage_accounts/change_password_dialog.vala :43
msgid "New password"
msgstr ""
#: main/src/ui/manage_accounts/change_password_dialog.vala :65
msgid "Confirm new password"
msgstr ""
#~ msgid "Click here to start a conversation or join a channel." #~ msgid "Click here to start a conversation or join a channel."
#~ msgstr "Alklaku ĉi tie por komenci konversacion aŭ aliĝi al kanalo." #~ msgstr "Alklaku ĉi tie por komenci konversacion aŭ aliĝi al kanalo."

View file

@ -1166,6 +1166,23 @@ msgstr "¡Todo listo!"
msgid "Finish" msgid "Finish"
msgstr "Finalizado" msgstr "Finalizado"
#: main/src/ui/manage_accounts/change_password_dialog.vala :5
#: main/src/ui/manage_accounts/change_password_dialog.vala :103
msgid "Change password"
msgstr ""
#: main/src/ui/manage_accounts/change_password_dialog.vala :21
msgid "Current password"
msgstr ""
#: main/src/ui/manage_accounts/change_password_dialog.vala :43
msgid "New password"
msgstr ""
#: main/src/ui/manage_accounts/change_password_dialog.vala :65
msgid "Confirm new password"
msgstr ""
#~ msgid "Click here to start a conversation or join a channel." #~ msgid "Click here to start a conversation or join a channel."
#~ msgstr "" #~ msgstr ""
#~ "Pulsar aquí para iniciar una conversación o unirse a un conversación en " #~ "Pulsar aquí para iniciar una conversación o unirse a un conversación en "

View file

@ -1165,6 +1165,23 @@ msgstr "Guztia ezarri da!"
msgid "Finish" msgid "Finish"
msgstr "Amaitu" msgstr "Amaitu"
#: main/src/ui/manage_accounts/change_password_dialog.vala :5
#: main/src/ui/manage_accounts/change_password_dialog.vala :103
msgid "Change password"
msgstr ""
#: main/src/ui/manage_accounts/change_password_dialog.vala :21
msgid "Current password"
msgstr ""
#: main/src/ui/manage_accounts/change_password_dialog.vala :43
msgid "New password"
msgstr ""
#: main/src/ui/manage_accounts/change_password_dialog.vala :65
msgid "Confirm new password"
msgstr ""
#~ msgid "Click here to start a conversation or join a channel." #~ msgid "Click here to start a conversation or join a channel."
#~ msgstr "" #~ msgstr ""
#~ "Klikatu hemen elkarrizketa berri bat hasi edo kanal batean sartzeko." #~ "Klikatu hemen elkarrizketa berri bat hasi edo kanal batean sartzeko."

View file

@ -1161,6 +1161,23 @@ msgstr "همه تنظیم شده!"
msgid "Finish" msgid "Finish"
msgstr "اتمام" msgstr "اتمام"
#: main/src/ui/manage_accounts/change_password_dialog.vala :5
#: main/src/ui/manage_accounts/change_password_dialog.vala :103
msgid "Change password"
msgstr ""
#: main/src/ui/manage_accounts/change_password_dialog.vala :21
msgid "Current password"
msgstr ""
#: main/src/ui/manage_accounts/change_password_dialog.vala :43
msgid "New password"
msgstr ""
#: main/src/ui/manage_accounts/change_password_dialog.vala :65
msgid "Confirm new password"
msgstr ""
#~ msgid "Click here to start a conversation or join a channel." #~ msgid "Click here to start a conversation or join a channel."
#~ msgstr "برای شروع گفتگو یا پیوستن به کانال اینجا کلیک کنید." #~ msgstr "برای شروع گفتگو یا پیوستن به کانال اینجا کلیک کنید."

View file

@ -1164,6 +1164,23 @@ msgstr ""
msgid "Finish" msgid "Finish"
msgstr "" msgstr ""
#: main/src/ui/manage_accounts/change_password_dialog.vala :5
#: main/src/ui/manage_accounts/change_password_dialog.vala :103
msgid "Change password"
msgstr ""
#: main/src/ui/manage_accounts/change_password_dialog.vala :21
msgid "Current password"
msgstr ""
#: main/src/ui/manage_accounts/change_password_dialog.vala :43
msgid "New password"
msgstr ""
#: main/src/ui/manage_accounts/change_password_dialog.vala :65
msgid "Confirm new password"
msgstr ""
#~ msgid "No active conversations" #~ msgid "No active conversations"
#~ msgstr "Ei aktiivisia keskusteluja" #~ msgstr "Ei aktiivisia keskusteluja"

View file

@ -1166,6 +1166,23 @@ msgstr "Tout est prêt!"
msgid "Finish" msgid "Finish"
msgstr "Terminer" msgstr "Terminer"
#: main/src/ui/manage_accounts/change_password_dialog.vala :5
#: main/src/ui/manage_accounts/change_password_dialog.vala :103
msgid "Change password"
msgstr ""
#: main/src/ui/manage_accounts/change_password_dialog.vala :21
msgid "Current password"
msgstr ""
#: main/src/ui/manage_accounts/change_password_dialog.vala :43
msgid "New password"
msgstr ""
#: main/src/ui/manage_accounts/change_password_dialog.vala :65
msgid "Confirm new password"
msgstr ""
#~ msgid "Click here to start a conversation or join a channel." #~ msgid "Click here to start a conversation or join a channel."
#~ msgstr "Cliquez ici pour commencer une discussion ou rejoindre un salon." #~ msgstr "Cliquez ici pour commencer une discussion ou rejoindre un salon."

View file

@ -1166,6 +1166,23 @@ msgstr "Todo feito!"
msgid "Finish" msgid "Finish"
msgstr "Rematar" msgstr "Rematar"
#: main/src/ui/manage_accounts/change_password_dialog.vala :5
#: main/src/ui/manage_accounts/change_password_dialog.vala :103
msgid "Change password"
msgstr ""
#: main/src/ui/manage_accounts/change_password_dialog.vala :21
msgid "Current password"
msgstr ""
#: main/src/ui/manage_accounts/change_password_dialog.vala :43
msgid "New password"
msgstr ""
#: main/src/ui/manage_accounts/change_password_dialog.vala :65
msgid "Confirm new password"
msgstr ""
#~ msgid "Click here to start a conversation or join a channel." #~ msgid "Click here to start a conversation or join a channel."
#~ msgstr "Preme aquí para iniciar unha conversa ou unirte a unha canle." #~ msgstr "Preme aquí para iniciar unha conversa ou unirte a unha canle."

View file

@ -1169,6 +1169,23 @@ msgstr "Minden készen áll!"
msgid "Finish" msgid "Finish"
msgstr "Befejezés" msgstr "Befejezés"
#: main/src/ui/manage_accounts/change_password_dialog.vala :5
#: main/src/ui/manage_accounts/change_password_dialog.vala :103
msgid "Change password"
msgstr ""
#: main/src/ui/manage_accounts/change_password_dialog.vala :21
msgid "Current password"
msgstr ""
#: main/src/ui/manage_accounts/change_password_dialog.vala :43
msgid "New password"
msgstr ""
#: main/src/ui/manage_accounts/change_password_dialog.vala :65
msgid "Confirm new password"
msgstr ""
#~ msgid "Click here to start a conversation or join a channel." #~ msgid "Click here to start a conversation or join a channel."
#~ msgstr "" #~ msgstr ""
#~ "Kattintson ide egy beszélgetés indításához vagy egy csatornához való " #~ "Kattintson ide egy beszélgetés indításához vagy egy csatornához való "

View file

@ -1157,5 +1157,22 @@ msgstr "Selesai!"
msgid "Finish" msgid "Finish"
msgstr "Selesai" msgstr "Selesai"
#: main/src/ui/manage_accounts/change_password_dialog.vala :5
#: main/src/ui/manage_accounts/change_password_dialog.vala :103
msgid "Change password"
msgstr ""
#: main/src/ui/manage_accounts/change_password_dialog.vala :21
msgid "Current password"
msgstr ""
#: main/src/ui/manage_accounts/change_password_dialog.vala :43
msgid "New password"
msgstr ""
#: main/src/ui/manage_accounts/change_password_dialog.vala :65
msgid "Confirm new password"
msgstr ""
#~ msgid "Click here to start a conversation or join a channel." #~ msgid "Click here to start a conversation or join a channel."
#~ msgstr "Klik untuk memulai percakapan atau bergabung dengan channel." #~ msgstr "Klik untuk memulai percakapan atau bergabung dengan channel."

View file

@ -1161,6 +1161,23 @@ msgstr "Omni es pret!"
msgid "Finish" msgid "Finish"
msgstr "Finir" msgstr "Finir"
#: main/src/ui/manage_accounts/change_password_dialog.vala :5
#: main/src/ui/manage_accounts/change_password_dialog.vala :103
msgid "Change password"
msgstr ""
#: main/src/ui/manage_accounts/change_password_dialog.vala :21
msgid "Current password"
msgstr ""
#: main/src/ui/manage_accounts/change_password_dialog.vala :43
msgid "New password"
msgstr ""
#: main/src/ui/manage_accounts/change_password_dialog.vala :65
msgid "Confirm new password"
msgstr ""
#~ msgid "Click here to start a conversation or join a channel." #~ msgid "Click here to start a conversation or join a channel."
#~ msgstr "" #~ msgstr ""
#~ "Fa un clic ti-ci por iniciar un conversation o adherer a un channel." #~ "Fa un clic ti-ci por iniciar un conversation o adherer a un channel."

View file

@ -1161,5 +1161,22 @@ msgstr "Allt klárt!"
msgid "Finish" msgid "Finish"
msgstr "Loka" msgstr "Loka"
#: main/src/ui/manage_accounts/change_password_dialog.vala :5
#: main/src/ui/manage_accounts/change_password_dialog.vala :103
msgid "Change password"
msgstr ""
#: main/src/ui/manage_accounts/change_password_dialog.vala :21
msgid "Current password"
msgstr ""
#: main/src/ui/manage_accounts/change_password_dialog.vala :43
msgid "New password"
msgstr ""
#: main/src/ui/manage_accounts/change_password_dialog.vala :65
msgid "Confirm new password"
msgstr ""
#~ msgid "Click here to start a conversation or join a channel." #~ msgid "Click here to start a conversation or join a channel."
#~ msgstr "Smelltu hér til að hefja samtal eða taka þátt í rás." #~ msgstr "Smelltu hér til að hefja samtal eða taka þátt í rás."

View file

@ -1165,6 +1165,23 @@ msgstr "Tutto pronto!"
msgid "Finish" msgid "Finish"
msgstr "Fine" msgstr "Fine"
#: main/src/ui/manage_accounts/change_password_dialog.vala :5
#: main/src/ui/manage_accounts/change_password_dialog.vala :103
msgid "Change password"
msgstr ""
#: main/src/ui/manage_accounts/change_password_dialog.vala :21
msgid "Current password"
msgstr ""
#: main/src/ui/manage_accounts/change_password_dialog.vala :43
msgid "New password"
msgstr ""
#: main/src/ui/manage_accounts/change_password_dialog.vala :65
msgid "Confirm new password"
msgstr ""
#~ msgid "Click here to start a conversation or join a channel." #~ msgid "Click here to start a conversation or join a channel."
#~ msgstr "" #~ msgstr ""
#~ "Fai clic qui per iniziare una conversazione o per entrare in un canale." #~ "Fai clic qui per iniziare una conversazione o per entrare in un canale."

View file

@ -1158,6 +1158,23 @@ msgstr "すべてのセットアップが完了しました!"
msgid "Finish" msgid "Finish"
msgstr "完了" msgstr "完了"
#: main/src/ui/manage_accounts/change_password_dialog.vala :5
#: main/src/ui/manage_accounts/change_password_dialog.vala :103
msgid "Change password"
msgstr ""
#: main/src/ui/manage_accounts/change_password_dialog.vala :21
msgid "Current password"
msgstr ""
#: main/src/ui/manage_accounts/change_password_dialog.vala :43
msgid "New password"
msgstr ""
#: main/src/ui/manage_accounts/change_password_dialog.vala :65
msgid "Confirm new password"
msgstr ""
#~ msgid "Click here to start a conversation or join a channel." #~ msgid "Click here to start a conversation or join a channel."
#~ msgstr "" #~ msgstr ""
#~ "トークを始めたりトークルームに参加したりするには、ここをクリックしてくださ" #~ "トークを始めたりトークルームに参加したりするには、ここをクリックしてくださ"

View file

@ -1153,3 +1153,20 @@ msgstr ""
#: main/data/manage_accounts/add_account_dialog.ui:506 #: main/data/manage_accounts/add_account_dialog.ui:506
msgid "Finish" msgid "Finish"
msgstr "" msgstr ""
#: main/src/ui/manage_accounts/change_password_dialog.vala :5
#: main/src/ui/manage_accounts/change_password_dialog.vala :103
msgid "Change password"
msgstr ""
#: main/src/ui/manage_accounts/change_password_dialog.vala :21
msgid "Current password"
msgstr ""
#: main/src/ui/manage_accounts/change_password_dialog.vala :43
msgid "New password"
msgstr ""
#: main/src/ui/manage_accounts/change_password_dialog.vala :65
msgid "Confirm new password"
msgstr ""

View file

@ -1166,5 +1166,22 @@ msgstr "모든 설정이 끝났습니다!"
msgid "Finish" msgid "Finish"
msgstr "완료" msgstr "완료"
#: main/src/ui/manage_accounts/change_password_dialog.vala :5
#: main/src/ui/manage_accounts/change_password_dialog.vala :103
msgid "Change password"
msgstr ""
#: main/src/ui/manage_accounts/change_password_dialog.vala :21
msgid "Current password"
msgstr ""
#: main/src/ui/manage_accounts/change_password_dialog.vala :43
msgid "New password"
msgstr ""
#: main/src/ui/manage_accounts/change_password_dialog.vala :65
msgid "Confirm new password"
msgstr ""
#~ msgid "Click here to start a conversation or join a channel." #~ msgid "Click here to start a conversation or join a channel."
#~ msgstr "대화를 시작하거나 채널에 들어가려면 여기를 누르세요." #~ msgstr "대화를 시작하거나 채널에 들어가려면 여기를 누르세요."

View file

@ -1157,6 +1157,23 @@ msgstr "Alles ageriicht!"
msgid "Finish" msgid "Finish"
msgstr "Ofschléissen" msgstr "Ofschléissen"
#: main/src/ui/manage_accounts/change_password_dialog.vala :5
#: main/src/ui/manage_accounts/change_password_dialog.vala :103
msgid "Change password"
msgstr ""
#: main/src/ui/manage_accounts/change_password_dialog.vala :21
msgid "Current password"
msgstr ""
#: main/src/ui/manage_accounts/change_password_dialog.vala :43
msgid "New password"
msgstr ""
#: main/src/ui/manage_accounts/change_password_dialog.vala :65
msgid "Confirm new password"
msgstr ""
#~ msgid "Click here to start a conversation or join a channel." #~ msgid "Click here to start a conversation or join a channel."
#~ msgstr "" #~ msgstr ""
#~ "Klick hei fir eng Konversatioun ze starten oder engem Channel " #~ "Klick hei fir eng Konversatioun ze starten oder engem Channel "

View file

@ -1169,6 +1169,23 @@ msgstr "Viskas nustatyta!"
msgid "Finish" msgid "Finish"
msgstr "Užbaigti" msgstr "Užbaigti"
#: main/src/ui/manage_accounts/change_password_dialog.vala :5
#: main/src/ui/manage_accounts/change_password_dialog.vala :103
msgid "Change password"
msgstr ""
#: main/src/ui/manage_accounts/change_password_dialog.vala :21
msgid "Current password"
msgstr ""
#: main/src/ui/manage_accounts/change_password_dialog.vala :43
msgid "New password"
msgstr ""
#: main/src/ui/manage_accounts/change_password_dialog.vala :65
msgid "Confirm new password"
msgstr ""
#~ msgid "Click here to start a conversation or join a channel." #~ msgid "Click here to start a conversation or join a channel."
#~ msgstr "" #~ msgstr ""
#~ "Spustelėkite čia norėdami pradėti pokalbį ar prisijungti prie kanalo." #~ "Spustelėkite čia norėdami pradėti pokalbį ar prisijungti prie kanalo."

View file

@ -1154,3 +1154,20 @@ msgstr ""
#: main/data/manage_accounts/add_account_dialog.ui:506 #: main/data/manage_accounts/add_account_dialog.ui:506
msgid "Finish" msgid "Finish"
msgstr "" msgstr ""
#: main/src/ui/manage_accounts/change_password_dialog.vala :5
#: main/src/ui/manage_accounts/change_password_dialog.vala :103
msgid "Change password"
msgstr ""
#: main/src/ui/manage_accounts/change_password_dialog.vala :21
msgid "Current password"
msgstr ""
#: main/src/ui/manage_accounts/change_password_dialog.vala :43
msgid "New password"
msgstr ""
#: main/src/ui/manage_accounts/change_password_dialog.vala :65
msgid "Confirm new password"
msgstr ""

View file

@ -1167,6 +1167,23 @@ msgstr "Ferdig oppsatt."
msgid "Finish" msgid "Finish"
msgstr "Fullfør" msgstr "Fullfør"
#: main/src/ui/manage_accounts/change_password_dialog.vala :5
#: main/src/ui/manage_accounts/change_password_dialog.vala :103
msgid "Change password"
msgstr ""
#: main/src/ui/manage_accounts/change_password_dialog.vala :21
msgid "Current password"
msgstr ""
#: main/src/ui/manage_accounts/change_password_dialog.vala :43
msgid "New password"
msgstr ""
#: main/src/ui/manage_accounts/change_password_dialog.vala :65
msgid "Confirm new password"
msgstr ""
#~ msgid "Click here to start a conversation or join a channel." #~ msgid "Click here to start a conversation or join a channel."
#~ msgstr "Klikk her for å starte en samtale, eller ta del i en kanal." #~ msgstr "Klikk her for å starte en samtale, eller ta del i en kanal."

View file

@ -1163,6 +1163,23 @@ msgstr "Klaar!"
msgid "Finish" msgid "Finish"
msgstr "Voltooien" msgstr "Voltooien"
#: main/src/ui/manage_accounts/change_password_dialog.vala :5
#: main/src/ui/manage_accounts/change_password_dialog.vala :103
msgid "Change password"
msgstr ""
#: main/src/ui/manage_accounts/change_password_dialog.vala :21
msgid "Current password"
msgstr ""
#: main/src/ui/manage_accounts/change_password_dialog.vala :43
msgid "New password"
msgstr ""
#: main/src/ui/manage_accounts/change_password_dialog.vala :65
msgid "Confirm new password"
msgstr ""
#~ msgid "Click here to start a conversation or join a channel." #~ msgid "Click here to start a conversation or join a channel."
#~ msgstr "" #~ msgstr ""
#~ "Klik hier om een gesprek te starten of deel te nemen aan een kanaal." #~ "Klik hier om een gesprek te starten of deel te nemen aan een kanaal."

View file

@ -1165,6 +1165,23 @@ msgstr "Tot es prèst!"
msgid "Finish" msgid "Finish"
msgstr "Terminar" msgstr "Terminar"
#: main/src/ui/manage_accounts/change_password_dialog.vala :5
#: main/src/ui/manage_accounts/change_password_dialog.vala :103
msgid "Change password"
msgstr ""
#: main/src/ui/manage_accounts/change_password_dialog.vala :21
msgid "Current password"
msgstr ""
#: main/src/ui/manage_accounts/change_password_dialog.vala :43
msgid "New password"
msgstr ""
#: main/src/ui/manage_accounts/change_password_dialog.vala :65
msgid "Confirm new password"
msgstr ""
#~ msgid "Click here to start a conversation or join a channel." #~ msgid "Click here to start a conversation or join a channel."
#~ msgstr "Clicatz aquí per començar una conversacion o jónher una sala." #~ msgstr "Clicatz aquí per començar una conversacion o jónher una sala."

View file

@ -1169,6 +1169,23 @@ msgstr "Wszystko gotowe!"
msgid "Finish" msgid "Finish"
msgstr "Zakończ" msgstr "Zakończ"
#: main/src/ui/manage_accounts/change_password_dialog.vala :5
#: main/src/ui/manage_accounts/change_password_dialog.vala :103
msgid "Change password"
msgstr ""
#: main/src/ui/manage_accounts/change_password_dialog.vala :21
msgid "Current password"
msgstr ""
#: main/src/ui/manage_accounts/change_password_dialog.vala :43
msgid "New password"
msgstr ""
#: main/src/ui/manage_accounts/change_password_dialog.vala :65
msgid "Confirm new password"
msgstr ""
#~ msgid "Click here to start a conversation or join a channel." #~ msgid "Click here to start a conversation or join a channel."
#~ msgstr "Kliknij tutaj, aby rozpocząć rozmowę albo dołączyć do kanału." #~ msgstr "Kliknij tutaj, aby rozpocząć rozmowę albo dołączyć do kanału."

View file

@ -1163,5 +1163,22 @@ msgstr "Tudo configurado!"
msgid "Finish" msgid "Finish"
msgstr "Finalizado" msgstr "Finalizado"
#: main/src/ui/manage_accounts/change_password_dialog.vala :5
#: main/src/ui/manage_accounts/change_password_dialog.vala :103
msgid "Change password"
msgstr ""
#: main/src/ui/manage_accounts/change_password_dialog.vala :21
msgid "Current password"
msgstr ""
#: main/src/ui/manage_accounts/change_password_dialog.vala :43
msgid "New password"
msgstr ""
#: main/src/ui/manage_accounts/change_password_dialog.vala :65
msgid "Confirm new password"
msgstr ""
#~ msgid "Click here to start a conversation or join a channel." #~ msgid "Click here to start a conversation or join a channel."
#~ msgstr "Clique aqui para iniciar uma conversa or entrar num canal." #~ msgstr "Clique aqui para iniciar uma conversa or entrar num canal."

View file

@ -1164,6 +1164,23 @@ msgstr "Tudo configurado!"
msgid "Finish" msgid "Finish"
msgstr "Finalizado" msgstr "Finalizado"
#: main/src/ui/manage_accounts/change_password_dialog.vala :5
#: main/src/ui/manage_accounts/change_password_dialog.vala :103
msgid "Change password"
msgstr ""
#: main/src/ui/manage_accounts/change_password_dialog.vala :21
msgid "Current password"
msgstr ""
#: main/src/ui/manage_accounts/change_password_dialog.vala :43
msgid "New password"
msgstr ""
#: main/src/ui/manage_accounts/change_password_dialog.vala :65
msgid "Confirm new password"
msgstr ""
#~ msgid "Click here to start a conversation or join a channel." #~ msgid "Click here to start a conversation or join a channel."
#~ msgstr "Clique aqui para inicial uma conversa ou entrar em um canal." #~ msgstr "Clique aqui para inicial uma conversa ou entrar em um canal."

View file

@ -1170,6 +1170,23 @@ msgstr "Gata!"
msgid "Finish" msgid "Finish"
msgstr "Finalizare" msgstr "Finalizare"
#: main/src/ui/manage_accounts/change_password_dialog.vala :5
#: main/src/ui/manage_accounts/change_password_dialog.vala :103
msgid "Change password"
msgstr ""
#: main/src/ui/manage_accounts/change_password_dialog.vala :21
msgid "Current password"
msgstr ""
#: main/src/ui/manage_accounts/change_password_dialog.vala :43
msgid "New password"
msgstr ""
#: main/src/ui/manage_accounts/change_password_dialog.vala :65
msgid "Confirm new password"
msgstr ""
#~ msgid "Click here to start a conversation or join a channel." #~ msgid "Click here to start a conversation or join a channel."
#~ msgstr "" #~ msgstr ""
#~ "Apăsați aici pentru a porni o conversație sau a vă alătura unui canal." #~ "Apăsați aici pentru a porni o conversație sau a vă alătura unui canal."

View file

@ -1167,6 +1167,23 @@ msgstr "Всё готово!"
msgid "Finish" msgid "Finish"
msgstr "Закончить" msgstr "Закончить"
#: main/src/ui/manage_accounts/change_password_dialog.vala :5
#: main/src/ui/manage_accounts/change_password_dialog.vala :103
msgid "Change password"
msgstr "Изменить пароль"
#: main/src/ui/manage_accounts/change_password_dialog.vala :21
msgid "Current password"
msgstr "Текущий пароль"
#: main/src/ui/manage_accounts/change_password_dialog.vala :43
msgid "New password"
msgstr "Новый пароль"
#: main/src/ui/manage_accounts/change_password_dialog.vala :65
msgid "Confirm new password"
msgstr "Подтверждение пароля"
#~ msgid "Click here to start a conversation or join a channel." #~ msgid "Click here to start a conversation or join a channel."
#~ msgstr "Нажмите здесь, чтобы начать беседу или присоединиться к каналу." #~ msgstr "Нажмите здесь, чтобы начать беседу или присоединиться к каналу."

View file

@ -1163,5 +1163,22 @@ msgstr "Gjithçka e ujdisur!"
msgid "Finish" msgid "Finish"
msgstr "Përfundoje" msgstr "Përfundoje"
#: main/src/ui/manage_accounts/change_password_dialog.vala :5
#: main/src/ui/manage_accounts/change_password_dialog.vala :103
msgid "Change password"
msgstr ""
#: main/src/ui/manage_accounts/change_password_dialog.vala :21
msgid "Current password"
msgstr ""
#: main/src/ui/manage_accounts/change_password_dialog.vala :43
msgid "New password"
msgstr ""
#: main/src/ui/manage_accounts/change_password_dialog.vala :65
msgid "Confirm new password"
msgstr ""
#~ msgid "Click here to start a conversation or join a channel." #~ msgid "Click here to start a conversation or join a channel."
#~ msgstr "Klikoni këtu që të nisni një bisedë ose të hyni në një kanal." #~ msgstr "Klikoni këtu që të nisni një bisedë ose të hyni në një kanal."

View file

@ -1163,6 +1163,23 @@ msgstr "Färdigt!"
msgid "Finish" msgid "Finish"
msgstr "Slutför" msgstr "Slutför"
#: main/src/ui/manage_accounts/change_password_dialog.vala :5
#: main/src/ui/manage_accounts/change_password_dialog.vala :103
msgid "Change password"
msgstr ""
#: main/src/ui/manage_accounts/change_password_dialog.vala :21
msgid "Current password"
msgstr ""
#: main/src/ui/manage_accounts/change_password_dialog.vala :43
msgid "New password"
msgstr ""
#: main/src/ui/manage_accounts/change_password_dialog.vala :65
msgid "Confirm new password"
msgstr ""
#~ msgid "Click here to start a conversation or join a channel." #~ msgid "Click here to start a conversation or join a channel."
#~ msgstr "Klicka här för att starta en konversation eller gå med i en kanal." #~ msgstr "Klicka här för att starta en konversation eller gå med i en kanal."

View file

@ -1153,3 +1153,20 @@ msgstr ""
#: main/data/manage_accounts/add_account_dialog.ui:506 #: main/data/manage_accounts/add_account_dialog.ui:506
msgid "Finish" msgid "Finish"
msgstr "" msgstr ""
#: main/src/ui/manage_accounts/change_password_dialog.vala :5
#: main/src/ui/manage_accounts/change_password_dialog.vala :103
msgid "Change password"
msgstr ""
#: main/src/ui/manage_accounts/change_password_dialog.vala :21
msgid "Current password"
msgstr ""
#: main/src/ui/manage_accounts/change_password_dialog.vala :43
msgid "New password"
msgstr ""
#: main/src/ui/manage_accounts/change_password_dialog.vala :65
msgid "Confirm new password"
msgstr ""

View file

@ -1162,6 +1162,23 @@ msgstr "Hepsi tamam!"
msgid "Finish" msgid "Finish"
msgstr "Bitir" msgstr "Bitir"
#: main/src/ui/manage_accounts/change_password_dialog.vala :5
#: main/src/ui/manage_accounts/change_password_dialog.vala :103
msgid "Change password"
msgstr ""
#: main/src/ui/manage_accounts/change_password_dialog.vala :21
msgid "Current password"
msgstr ""
#: main/src/ui/manage_accounts/change_password_dialog.vala :43
msgid "New password"
msgstr ""
#: main/src/ui/manage_accounts/change_password_dialog.vala :65
msgid "Confirm new password"
msgstr ""
#~ msgid "Click here to start a conversation or join a channel." #~ msgid "Click here to start a conversation or join a channel."
#~ msgstr "Bir sohbet başlatmak ya da kanala katılmak için buraya tıkla." #~ msgstr "Bir sohbet başlatmak ya da kanala katılmak için buraya tıkla."

View file

@ -1158,3 +1158,20 @@ msgstr ""
#: main/data/manage_accounts/add_account_dialog.ui:506 #: main/data/manage_accounts/add_account_dialog.ui:506
msgid "Finish" msgid "Finish"
msgstr "" msgstr ""
#: main/src/ui/manage_accounts/change_password_dialog.vala :5
#: main/src/ui/manage_accounts/change_password_dialog.vala :103
msgid "Change password"
msgstr ""
#: main/src/ui/manage_accounts/change_password_dialog.vala :21
msgid "Current password"
msgstr ""
#: main/src/ui/manage_accounts/change_password_dialog.vala :43
msgid "New password"
msgstr ""
#: main/src/ui/manage_accounts/change_password_dialog.vala :65
msgid "Confirm new password"
msgstr ""

View file

@ -1155,6 +1155,23 @@ msgstr "都准备好了!"
msgid "Finish" msgid "Finish"
msgstr "完成" msgstr "完成"
#: main/src/ui/manage_accounts/change_password_dialog.vala :5
#: main/src/ui/manage_accounts/change_password_dialog.vala :103
msgid "Change password"
msgstr ""
#: main/src/ui/manage_accounts/change_password_dialog.vala :21
msgid "Current password"
msgstr ""
#: main/src/ui/manage_accounts/change_password_dialog.vala :43
msgid "New password"
msgstr ""
#: main/src/ui/manage_accounts/change_password_dialog.vala :65
msgid "Confirm new password"
msgstr ""
#~ msgid "Click here to start a conversation or join a channel." #~ msgid "Click here to start a conversation or join a channel."
#~ msgstr "点击此处以开始对话或加入频道。" #~ msgstr "点击此处以开始对话或加入频道。"

View file

@ -1154,6 +1154,23 @@ msgstr "全部設定好了!"
msgid "Finish" msgid "Finish"
msgstr "完成" msgstr "完成"
#: main/src/ui/manage_accounts/change_password_dialog.vala :5
#: main/src/ui/manage_accounts/change_password_dialog.vala :103
msgid "Change password"
msgstr ""
#: main/src/ui/manage_accounts/change_password_dialog.vala :21
msgid "Current password"
msgstr ""
#: main/src/ui/manage_accounts/change_password_dialog.vala :43
msgid "New password"
msgstr ""
#: main/src/ui/manage_accounts/change_password_dialog.vala :65
msgid "Confirm new password"
msgstr ""
#~ msgid "Click here to start a conversation or join a channel." #~ msgid "Click here to start a conversation or join a channel."
#~ msgstr "點擊此處開始對話或加入聊天室。" #~ msgstr "點擊此處開始對話或加入聊天室。"

View file

@ -0,0 +1,100 @@
using Gee;
using Gtk;
//using Pango;
using Dino.Entities;
using Xmpp;
namespace Dino.Ui{
[GtkTemplate (ui = "/im/dino/Dino/manage_accounts/change_password_dialog.ui")]
public class ChangePasswordDialog : Gtk.Dialog {
[GtkChild] private unowned Button change_password_button;
[GtkChild] private unowned Stack change_password_stack;
[GtkChild] private unowned Button cancel_button;
[GtkChild] private unowned Entry current_passwd_entry;
[GtkChild] private unowned Entry new_passwd_entry;
[GtkChild] private unowned Entry confirm_new_passwd_entry;
[GtkChild] private unowned Label change_password_error_label;
private bool are_forms_empty;
private Account account;
private StreamInteractor stream_interactor;
public ChangePasswordDialog(Account a, StreamInteractor s){
Object(use_header_bar : 1);
this.stream_interactor = s;
this.account = a;
Util.force_error_color(change_password_error_label);
cancel_button.clicked.connect(() => { close(); });
current_passwd_entry.changed.connect(on_current_passwd_entry_changed);
new_passwd_entry.changed.connect(on_new_passwd_entry_changed);
confirm_new_passwd_entry.changed.connect(on_confirm_new_passwd_entry_changed);
change_password_button.clicked.connect(on_change_password_button_clicked);
}
private void are_psswd_nonempty(){
EntryBuffer newpsswd = new_passwd_entry.get_buffer();
EntryBuffer confirm_newpsswd = confirm_new_passwd_entry.get_buffer();
if (current_passwd_entry.get_text_length() > 0
&& new_passwd_entry.get_text_length() > 0
&& confirm_new_passwd_entry.get_text_length() > 0
&& newpsswd.get_text() == confirm_newpsswd.get_text()){
are_forms_empty = false;
change_password_button.sensitive = true;
} else {
are_forms_empty = true;
change_password_button.sensitive = false;
}
}
private void check_new_passwd(){
EntryBuffer newpsswd = new_passwd_entry.get_buffer();
EntryBuffer confirm_newpsswd = confirm_new_passwd_entry.get_buffer();
if (newpsswd.get_text() != confirm_newpsswd.get_text()){
new_passwd_entry.add_css_class("error");
confirm_new_passwd_entry.add_css_class("error");
} else {
new_passwd_entry.remove_css_class("error");
confirm_new_passwd_entry.remove_css_class("error");
}
}
private void on_current_passwd_entry_changed(){
are_psswd_nonempty();
}
private void on_new_passwd_entry_changed(){
are_psswd_nonempty();
check_new_passwd();
}
private void on_confirm_new_passwd_entry_changed(){
are_psswd_nonempty();
check_new_passwd();
}
private async void on_change_password_button_clicked(){
string? pw_input = current_passwd_entry.get_buffer().get_text();
string? new_pw_input = new_passwd_entry.get_buffer().get_text();
if (pw_input != null && account.password == pw_input){
change_password_button.sensitive = false;
change_password_stack.visible_child_name = "spinner";
string ret = yield stream_interactor.get_module(Register.IDENTITY).change_password(account, new_pw_input);
change_password_button.sensitive = true;
change_password_stack.visible_child_name = "label";
if (ret == null)
close();
change_password_error_label.label = ret;
} else {
change_password_error_label.label = _("Wrong password");
}
}
}
}

View file

@ -25,6 +25,7 @@ public class Dialog : Gtk.Dialog {
[GtkChild] public unowned Label state_label; [GtkChild] public unowned Label state_label;
[GtkChild] public unowned Switch active_switch; [GtkChild] public unowned Switch active_switch;
[GtkChild] public unowned Util.EntryLabelHybrid password_hybrid; [GtkChild] public unowned Util.EntryLabelHybrid password_hybrid;
[GtkChild] public unowned Button password_change_btn;
[GtkChild] public unowned Util.EntryLabelHybrid alias_hybrid; [GtkChild] public unowned Util.EntryLabelHybrid alias_hybrid;
[GtkChild] public unowned Grid settings_list; [GtkChild] public unowned Grid settings_list;
@ -44,10 +45,12 @@ public class Dialog : Gtk.Dialog {
image_button.clicked.connect(show_select_avatar); image_button.clicked.connect(show_select_avatar);
alias_hybrid.entry.changed.connect(() => { selected_account.alias = alias_hybrid.text; }); alias_hybrid.entry.changed.connect(() => { selected_account.alias = alias_hybrid.text; });
password_hybrid.entry.changed.connect(() => { selected_account.password = password_hybrid.text; }); password_hybrid.entry.changed.connect(() => { selected_account.password = password_hybrid.text; });
password_change_btn.clicked.connect(show_change_psswd_dialog);
Util.LabelHybridGroup label_hybrid_group = new Util.LabelHybridGroup(); Util.LabelHybridGroup label_hybrid_group = new Util.LabelHybridGroup();
label_hybrid_group.add(alias_hybrid); label_hybrid_group.add(alias_hybrid);
label_hybrid_group.add(password_hybrid); label_hybrid_group.add(password_hybrid);
password_change_btn.sensitive = false;
main_stack.set_visible_child_name("no_accounts"); main_stack.set_visible_child_name("no_accounts");
@ -109,6 +112,12 @@ public class Dialog : Gtk.Dialog {
add_account_dialog.present(); add_account_dialog.present();
} }
private void show_change_psswd_dialog() {
ChangePasswordDialog change_psswd_dialog = new ChangePasswordDialog(selected_account, stream_interactor);
change_psswd_dialog.set_transient_for(this);
change_psswd_dialog.present();
}
//
private void remove_account(AccountRow account_item) { private void remove_account(AccountRow account_item) {
Gtk.MessageDialog msg = new Gtk.MessageDialog ( Gtk.MessageDialog msg = new Gtk.MessageDialog (
this, Gtk.DialogFlags.DESTROY_WITH_PARENT | Gtk.DialogFlags.MODAL, this, Gtk.DialogFlags.DESTROY_WITH_PARENT | Gtk.DialogFlags.MODAL,
@ -215,8 +224,10 @@ public class Dialog : Gtk.Dialog {
case ConnectionManager.ConnectionState.CONNECTING: case ConnectionManager.ConnectionState.CONNECTING:
state_label.label = _("Connecting…"); break; state_label.label = _("Connecting…"); break;
case ConnectionManager.ConnectionState.CONNECTED: case ConnectionManager.ConnectionState.CONNECTED:
password_change_btn.sensitive = true;
state_label.label = _("Connected"); break; state_label.label = _("Connected"); break;
case ConnectionManager.ConnectionState.DISCONNECTED: case ConnectionManager.ConnectionState.DISCONNECTED:
password_change_btn.sensitive = false;
state_label.label = _("Disconnected"); break; state_label.label = _("Disconnected"); break;
} }
state_label.remove_css_class("is_error"); state_label.remove_css_class("is_error");
@ -224,6 +235,7 @@ public class Dialog : Gtk.Dialog {
} }
private string get_connection_error_description(ConnectionManager.ConnectionError error) { private string get_connection_error_description(ConnectionManager.ConnectionError error) {
password_change_btn.sensitive = false;
switch (error.source) { switch (error.source) {
case ConnectionManager.ConnectionError.Source.SASL: case ConnectionManager.ConnectionError.Source.SASL:
return _("Wrong password"); return _("Wrong password");

View file

@ -29,6 +29,25 @@ public class Module : XmppStreamNegotiationModule {
return null; return null;
} }
public async string? change_password(XmppStream stream, Jid jid, string new_pw) {
StanzaNode pw_change_node = new StanzaNode.build("query", NS_URI).add_self_xmlns();
StanzaNode username_node = new StanzaNode.build("username", NS_URI);
StanzaNode pw_node = new StanzaNode.build("password", NS_URI);
username_node.put_node(new StanzaNode.text(jid.localpart));
pw_node.put_node(new StanzaNode.text(new_pw));
pw_change_node.put_node(username_node);
pw_change_node.put_node(pw_node);
Iq.Stanza set_password_iq = new Iq.Stanza.set(pw_change_node, "change1") { to=jid.bare_jid.domain_jid };
Iq.Stanza chpw_result = yield stream.get_module(Iq.Module.IDENTITY).send_iq_async(stream, set_password_iq);
if (chpw_result.is_error()) {
ErrorStanza? error_stanza = chpw_result.get_error();
return error_stanza.text ?? "Error";
}
return null;
}
public override bool mandatory_outstanding(XmppStream stream) { return false; } public override bool mandatory_outstanding(XmppStream stream) { return false; }