diff options
author | Christian Grothoff <christian@grothoff.org> | 2021-09-26 14:51:33 +0200 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2021-09-26 14:51:33 +0200 |
commit | c03840e32b6ac72497d317c3646304b30a9e9793 (patch) | |
tree | 698fad90c7356db59ccdeda95be5529d1235791d /contrib | |
parent | 68a5d98ff711be2069bf04e483466059284d324b (diff) | |
download | anastasis-gtk-c03840e32b6ac72497d317c3646304b30a9e9793.tar.gz anastasis-gtk-c03840e32b6ac72497d317c3646304b30a9e9793.tar.bz2 anastasis-gtk-c03840e32b6ac72497d317c3646304b30a9e9793.zip |
integrate TOTP choice into authentication button list; add text to explain policy review
Diffstat (limited to 'contrib')
-rw-r--r-- | contrib/LICENSING | 4 | ||||
-rw-r--r-- | contrib/Makefile.am | 1 | ||||
-rw-r--r-- | contrib/anastasis_gtk_main_window.glade | 279 |
3 files changed, 170 insertions, 114 deletions
diff --git a/contrib/LICENSING b/contrib/LICENSING index da054c1..2533ed4 100644 --- a/contrib/LICENSING +++ b/contrib/LICENSING @@ -20,3 +20,7 @@ noun_blindfold_3574196.svg Anastasis SARL (official logo, used with permission): logo.png + +FreeOTP (official logo, Free Software): +freeotp.svg +freeotp.png diff --git a/contrib/Makefile.am b/contrib/Makefile.am index ad7c839..2ef1d17 100644 --- a/contrib/Makefile.am +++ b/contrib/Makefile.am @@ -15,6 +15,7 @@ IMAGES = \ outline_video_camera_front_black_24dp.png \ outline_home_work_black_24dp.png \ ngi_ledger.png \ + freeotp.png \ bandiera_stelle.png EXTRA_DIST = \ diff --git a/contrib/anastasis_gtk_main_window.glade b/contrib/anastasis_gtk_main_window.glade index 8f51d51..ddc546d 100644 --- a/contrib/anastasis_gtk_main_window.glade +++ b/contrib/anastasis_gtk_main_window.glade @@ -234,6 +234,7 @@ Author: Christian Grothoff, Dennis Neufeld <object class="GtkImage" id="email_image"> <property name="visible">True</property> <property name="can-focus">False</property> + <property name="margin-right">5</property> <property name="margin-end">5</property> <property name="pixbuf">outline_email_black_24dp.png</property> </object> @@ -242,6 +243,11 @@ Author: Christian Grothoff, Dennis Neufeld <property name="step-increment">1</property> <property name="page-increment">10</property> </object> + <object class="GtkImage" id="image_freeotp"> + <property name="visible">True</property> + <property name="can-focus">False</property> + <property name="pixbuf">freeotp.png</property> + </object> <object class="GtkImage" id="image_iban"> <property name="visible">True</property> <property name="can-focus">False</property> @@ -250,6 +256,7 @@ Author: Christian Grothoff, Dennis Neufeld <object class="GtkImage" id="image_sms"> <property name="visible">True</property> <property name="can-focus">False</property> + <property name="margin-right">5</property> <property name="margin-end">5</property> <property name="pixbuf">outline_stay_current_portrait_black_24dp.png</property> </object> @@ -302,6 +309,7 @@ Author: Christian Grothoff, Dennis Neufeld <object class="GtkImage" id="postal_image"> <property name="visible">True</property> <property name="can-focus">False</property> + <property name="margin-right">5</property> <property name="margin-end">5</property> <property name="pixbuf">outline_home_work_black_24dp.png</property> </object> @@ -311,6 +319,7 @@ Author: Christian Grothoff, Dennis Neufeld <object class="GtkImage" id="question_image"> <property name="visible">True</property> <property name="can-focus">False</property> + <property name="margin-right">5</property> <property name="margin-end">5</property> <property name="pixbuf">outline_contact_support_black_24dp.png</property> </object> @@ -356,12 +365,6 @@ Author: Christian Grothoff, Dennis Neufeld <column type="gchararray"/> </columns> </object> - <object class="GtkImage" id="video_image"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="margin-end">5</property> - <property name="pixbuf">outline_video_camera_front_black_24dp.png</property> - </object> <object class="GtkWindow" id="anastasis_gtk_main_window"> <property name="can-focus">False</property> <property name="events">GDK_BUTTON_PRESS_MASK | GDK_STRUCTURE_MASK</property> @@ -1779,28 +1782,27 @@ with <a href="https://www.ngi.eu/ngi-projects/ledger/">funding</a> f <property name="label-xalign">0</property> <property name="shadow-type">none</property> <child> - <object class="GtkBox" id="anastasis_gtk_add_auth_button_box"> + <!-- n-columns=4 n-rows=2 --> + <object class="GtkGrid" id="auth_button_grid"> <property name="visible">True</property> <property name="can-focus">False</property> - <property name="margin-top">5</property> - <property name="margin-bottom">4</property> - <property name="spacing">8</property> - <property name="homogeneous">True</property> + <property name="row-spacing">5</property> + <property name="column-spacing">5</property> + <property name="row-homogeneous">True</property> + <property name="column-homogeneous">True</property> <child> <object class="GtkButton" id="anastasis_gtk_btn_add_auth_sms"> <property name="label" translatable="yes">SMS</property> <property name="visible">True</property> <property name="can-focus">True</property> - <property name="has-focus">True</property> <property name="receives-default">True</property> + <property name="tooltip-text" translatable="yes">Add authentication using a transaction number send to a mobile phone number.</property> <property name="image">image_sms</property> <signal name="clicked" handler="anastasis_gtk_btn_add_auth_sms_clicked_cb" swapped="no"/> </object> <packing> - <property name="expand">False</property> - <property name="fill">True</property> - <property name="padding">5</property> - <property name="position">0</property> + <property name="left-attach">0</property> + <property name="top-attach">0</property> </packing> </child> <child> @@ -1809,14 +1811,13 @@ with <a href="https://www.ngi.eu/ngi-projects/ledger/">funding</a> f <property name="visible">True</property> <property name="can-focus">True</property> <property name="receives-default">True</property> + <property name="tooltip-text" translatable="yes">Add authentication using a transaction number send to an e-mail address.</property> <property name="image">email_image</property> <signal name="clicked" handler="anastasis_gtk_btn_add_auth_email_clicked_cb" swapped="no"/> </object> <packing> - <property name="expand">False</property> - <property name="fill">True</property> - <property name="padding">5</property> - <property name="position">1</property> + <property name="left-attach">1</property> + <property name="top-attach">0</property> </packing> </child> <child> @@ -1825,14 +1826,27 @@ with <a href="https://www.ngi.eu/ngi-projects/ledger/">funding</a> f <property name="visible">True</property> <property name="can-focus">True</property> <property name="receives-default">True</property> + <property name="tooltip-text" translatable="yes">Add authentication using security question and answer.</property> <property name="image">question_image</property> <signal name="clicked" handler="anastasis_gtk_btn_add_auth_question_clicked_cb" swapped="no"/> </object> <packing> - <property name="expand">False</property> - <property name="fill">True</property> - <property name="padding">5</property> - <property name="position">2</property> + <property name="left-attach">2</property> + <property name="top-attach">0</property> + </packing> + </child> + <child> + <object class="GtkButton" id="anastasis_gtk_btn_add_auth_video"> + <property name="label" translatable="yes">_Video</property> + <property name="can-focus">True</property> + <property name="receives-default">True</property> + <property name="image">video_image</property> + <property name="use-underline">True</property> + <signal name="clicked" handler="anastasis_gtk_btn_add_auth_video_clicked_cb" swapped="no"/> + </object> + <packing> + <property name="left-attach">3</property> + <property name="top-attach">0</property> </packing> </child> <child> @@ -1841,48 +1855,48 @@ with <a href="https://www.ngi.eu/ngi-projects/ledger/">funding</a> f <property name="visible">True</property> <property name="can-focus">True</property> <property name="receives-default">True</property> + <property name="tooltip-text" translatable="yes">Add authentication using a transaction number send to a postal address.</property> <property name="image">postal_image</property> <signal name="clicked" handler="anastasis_gtk_btn_add_auth_post_clicked_cb" swapped="no"/> </object> <packing> - <property name="expand">False</property> - <property name="fill">True</property> - <property name="padding">5</property> - <property name="position">3</property> + <property name="left-attach">0</property> + <property name="top-attach">1</property> </packing> </child> <child> - <object class="GtkButton" id="anastasis_gtk_btn_add_auth_video"> - <property name="label" translatable="yes">_Video</property> + <object class="GtkButton" id="anastasis_gtk_btn_add_auth_iban"> + <property name="label" translatable="yes">IBAN</property> + <property name="visible">True</property> <property name="can-focus">True</property> <property name="receives-default">True</property> - <property name="image">video_image</property> - <property name="use-underline">True</property> - <signal name="clicked" handler="anastasis_gtk_btn_add_auth_video_clicked_cb" swapped="no"/> + <property name="tooltip-text" translatable="yes">Add authentication using a payment of from a designated IBAN account.</property> + <property name="image">image_iban</property> + <signal name="clicked" handler="anastasis_gtk_btn_add_auth_iban_clicked_cb" swapped="no"/> </object> <packing> - <property name="expand">False</property> - <property name="fill">True</property> - <property name="padding">5</property> - <property name="position">4</property> + <property name="left-attach">2</property> + <property name="top-attach">1</property> </packing> </child> <child> - <object class="GtkButton" id="anastasis_gtk_btn_add_auth_iban"> - <property name="label" translatable="yes">IBAN</property> + <object class="GtkButton" id="anastasis_gtk_btn_add_auth_totp"> + <property name="label" translatable="yes">TOTP</property> <property name="visible">True</property> <property name="can-focus">True</property> <property name="receives-default">True</property> - <property name="image">image_iban</property> - <signal name="clicked" handler="anastasis_gtk_btn_add_auth_iban_clicked_cb" swapped="no"/> + <property name="tooltip-text" translatable="yes">Add Time-Based One-Time Password authentication (RFC 6238)</property> + <property name="image">image_freeotp</property> + <signal name="clicked" handler="anastasis_gtk_btn_add_auth_totp_clicked_cb" swapped="no"/> </object> <packing> - <property name="expand">False</property> - <property name="fill">True</property> - <property name="padding">5</property> - <property name="position">5</property> + <property name="left-attach">1</property> + <property name="top-attach">1</property> </packing> </child> + <child> + <placeholder/> + </child> </object> </child> <child type="label"> @@ -2093,93 +2107,123 @@ with <a href="https://www.ngi.eu/ngi-projects/ledger/">funding</a> f <property name="bottom-padding">10</property> <property name="left-padding">12</property> <child> - <object class="GtkScrolledWindow"> + <object class="GtkBox"> <property name="visible">True</property> - <property name="can-focus">True</property> - <property name="shadow-type">in</property> + <property name="can-focus">False</property> + <property name="orientation">vertical</property> + <property name="spacing">10</property> + <child> + <object class="GtkLabel" id="review_policies_explainer_label"> + <property name="visible">True</property> + <property name="can-focus">False</property> + <property name="halign">start</property> + <property name="margin-start">15</property> + <property name="margin-end">15</property> + <property name="margin-top">10</property> + <property name="margin-bottom">10</property> + <property name="label" translatable="yes">Each recovery policy specifies a combination of authentication methods sufficient to recover the secret. +Please review the recovery policies for the secret you are about to back up. +If the automatically generated recovery policies are inadequate for your use case, use right-click to add, edit or delete policies. +You can also use "back" to add additional authentication methods.</property> + <property name="wrap">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">0</property> + </packing> + </child> <child> - <object class="GtkTreeView" id="anastasis_gtk_review_policy_treeview"> + <object class="GtkScrolledWindow"> <property name="visible">True</property> <property name="can-focus">True</property> - <property name="model">policy_review_treestore</property> - <signal name="button-press-event" handler="anastasis_gtk_review_policy_treeview_button_press_event_cb" swapped="no"/> - <signal name="key-press-event" handler="anastasis_gtk_review_policy_treeview_key_press_event_cb" swapped="no"/> - <signal name="row-activated" handler="anastasis_gtk_review_policy_treeview_row_activated_cb" swapped="no"/> - <child internal-child="selection"> - <object class="GtkTreeSelection"/> - </child> + <property name="shadow-type">in</property> <child> - <object class="GtkTreeViewColumn" id="policy_name_column0"> - <property name="resizable">True</property> - <property name="spacing">5</property> - <property name="sizing">autosize</property> - <property name="title" translatable="yes">Policy</property> + <object class="GtkTreeView" id="anastasis_gtk_review_policy_treeview"> + <property name="visible">True</property> + <property name="can-focus">True</property> + <property name="model">policy_review_treestore</property> + <property name="search-column">0</property> + <signal name="button-press-event" handler="anastasis_gtk_review_policy_treeview_button_press_event_cb" swapped="no"/> + <signal name="key-press-event" handler="anastasis_gtk_review_policy_treeview_key_press_event_cb" swapped="no"/> + <signal name="row-activated" handler="anastasis_gtk_review_policy_treeview_row_activated_cb" swapped="no"/> + <child internal-child="selection"> + <object class="GtkTreeSelection"/> + </child> <child> - <object class="GtkCellRendererText" id="policy_name_column"/> - <attributes> - <attribute name="text">0</attribute> - </attributes> + <object class="GtkTreeViewColumn" id="policy_name_column0"> + <property name="spacing">5</property> + <property name="sizing">autosize</property> + <property name="title" translatable="yes">Policy</property> + <child> + <object class="GtkCellRendererText" id="policy_name_column"/> + <attributes> + <attribute name="text">0</attribute> + </attributes> + </child> + </object> </child> - </object> - </child> - <child> - <object class="GtkTreeViewColumn" id="challenge_type_column"> - <property name="resizable">True</property> - <property name="spacing">5</property> - <property name="sizing">autosize</property> - <property name="title" translatable="yes">Type</property> <child> - <object class="GtkCellRendererText" id="challenge_type_column1"/> - <attributes> - <attribute name="text">1</attribute> - </attributes> + <object class="GtkTreeViewColumn" id="challenge_type_column"> + <property name="spacing">5</property> + <property name="sizing">autosize</property> + <property name="title" translatable="yes">Type</property> + <child> + <object class="GtkCellRendererText" id="challenge_type_column1"/> + <attributes> + <attribute name="text">1</attribute> + </attributes> + </child> + </object> </child> - </object> - </child> - <child> - <object class="GtkTreeViewColumn" id="cost_column"> - <property name="resizable">True</property> - <property name="spacing">5</property> - <property name="sizing">autosize</property> - <property name="title" translatable="yes">Cost</property> <child> - <object class="GtkCellRendererText" id="cost_text_column"/> - <attributes> - <attribute name="text">2</attribute> - </attributes> + <object class="GtkTreeViewColumn" id="cost_column"> + <property name="spacing">5</property> + <property name="sizing">autosize</property> + <property name="title" translatable="yes">Cost</property> + <child> + <object class="GtkCellRendererText" id="cost_text_column"/> + <attributes> + <attribute name="text">2</attribute> + </attributes> + </child> + </object> </child> - </object> - </child> - <child> - <object class="GtkTreeViewColumn" id="provider_column"> - <property name="resizable">True</property> - <property name="spacing">5</property> - <property name="sizing">autosize</property> - <property name="title" translatable="yes">Provider</property> <child> - <object class="GtkCellRendererText" id="provider_url_column"/> - <attributes> - <attribute name="text">3</attribute> - </attributes> + <object class="GtkTreeViewColumn" id="provider_column"> + <property name="spacing">5</property> + <property name="sizing">autosize</property> + <property name="title" translatable="yes">Provider</property> + <child> + <object class="GtkCellRendererText" id="provider_url_column"/> + <attributes> + <attribute name="text">3</attribute> + </attributes> + </child> + </object> </child> - </object> - </child> - <child> - <object class="GtkTreeViewColumn" id="expiration_column"> - <property name="visible">False</property> - <property name="resizable">True</property> - <property name="spacing">5</property> - <property name="sizing">autosize</property> - <property name="title" translatable="yes">Expiration</property> <child> - <object class="GtkCellRendererText" id="expiration_time_str"/> - <attributes> - <attribute name="text">4</attribute> - </attributes> + <object class="GtkTreeViewColumn" id="expiration_column"> + <property name="visible">False</property> + <property name="spacing">5</property> + <property name="sizing">autosize</property> + <property name="title" translatable="yes">Expiration</property> + <child> + <object class="GtkCellRendererText" id="expiration_time_str"/> + <attributes> + <attribute name="text">4</attribute> + </attributes> + </child> + </object> </child> </object> </child> </object> + <packing> + <property name="expand">False</property> + <property name="fill">True</property> + <property name="position">1</property> + </packing> </child> </object> </child> @@ -3896,4 +3940,11 @@ select a different provider or backup version.</property> </object> </child> </object> + <object class="GtkImage" id="video_image"> + <property name="visible">True</property> + <property name="can-focus">False</property> + <property name="margin-right">5</property> + <property name="margin-end">5</property> + <property name="pixbuf">outline_video_camera_front_black_24dp.png</property> + </object> </interface> |