anastasis-gtk

Demonstrator GUI for Anastasis
Log | Files | Refs | README | LICENSE

commit f60427ebc5369faa43b9ad721d15dbbd6e92baf8
parent 187c76c01f7810d7058251c0e76f7a48b179f196
Author: Christian Grothoff <christian@grothoff.org>
Date:   Wed, 19 Jan 2022 21:26:50 +0100

-redesign of secret selection dialog --- breaks anastasis-gtk as the C logic is not matching the glade file right now

Diffstat:
Mcontrib/anastasis_gtk_main_window.glade | 312++++++++++++++++++++++++++++++++++++++++---------------------------------------
1 file changed, 157 insertions(+), 155 deletions(-)

diff --git a/contrib/anastasis_gtk_main_window.glade b/contrib/anastasis_gtk_main_window.glade @@ -28,6 +28,11 @@ Author: Christian Grothoff, Dennis Neufeld <!-- interface-description Key backup and recovery --> <!-- interface-copyright 2019-2021 Anastasis SARL --> <!-- interface-authors Christian Grothoff, Dennis Neufeld --> + <object class="GtkImage" id="add_image"> + <property name="visible">True</property> + <property name="can-focus">False</property> + <property name="stock">gtk-add</property> + </object> <object class="GtkListStore" id="anastasis_gtk_backup_progress_liststore"> <columns> <!-- column-name description --> @@ -382,6 +387,32 @@ Author: Christian Grothoff, Dennis Neufeld <property name="step-increment">1</property> <property name="page-increment">10</property> </object> + <object class="GtkAdjustment" id="secret_selection_h_adjustment"> + <property name="upper">100</property> + <property name="step-increment">1</property> + <property name="page-increment">10</property> + </object> + <object class="GtkListStore" id="secret_selection_liststore"> + <columns> + <!-- column-name provider_url --> + <column type="gchararray"/> + <!-- column-name version --> + <column type="gint"/> + <!-- column-name attribute_mask --> + <column type="gint"/> + <!-- column-name secret_name --> + <column type="gchararray"/> + <!-- column-name secret_date_string --> + <column type="gchararray"/> + <!-- column-name secret_date_numeric --> + <column type="guint64"/> + </columns> + </object> + <object class="GtkAdjustment" id="secret_selection_v_adjustment"> + <property name="upper">100</property> + <property name="step-increment">1</property> + <property name="page-increment">10</property> + </object> <object class="GtkListStore" id="unpaid_qrcodes_liststore"> <columns> <!-- column-name qr --> @@ -3457,189 +3488,160 @@ date of your secret's recovery data.</property> <property name="orientation">vertical</property> <property name="spacing">10</property> <child> - <object class="GtkBox" id="provider_selection_vbox"> + <object class="GtkBox"> <property name="visible">True</property> <property name="can-focus">False</property> - <property name="halign">start</property> <property name="orientation">vertical</property> - <property name="spacing">5</property> - <child> - <object class="GtkLabel" id="anastasis_gtk_provider_url_label"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="tooltip-text" translatable="yes">This is the URL of the provider from which we downloaded the recovery document.</property> - <property name="halign">start</property> - <property name="label" translatable="yes">Select a provider</property> - </object> - <packing> - <property name="expand">False</property> - <property name="fill">False</property> - <property name="padding">5</property> - <property name="position">0</property> - </packing> - </child> <child> - <object class="GtkComboBoxText" id="anastasis_gtk_provider_url_combo_box_text"> + <object class="GtkScrolledWindow" id="anastasis_secret_selection_scrolled_window"> <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="margin-left">5</property> - <property name="margin-right">5</property> - <property name="margin-start">5</property> - <property name="margin-end">5</property> - <property name="margin-top">5</property> - <property name="margin-bottom">5</property> - <property name="has-entry">True</property> - <child internal-child="entry"> - <object class="GtkEntry" id="anastasis_gtk_provider_url_entry"> - <property name="can-focus">True</property> - <property name="max-length">1024</property> - <property name="width-chars">32</property> - <property name="placeholder-text" translatable="yes">https://</property> - <property name="input-purpose">url</property> - <signal name="changed" handler="anastasis_gtk_provider_url_entry_changed_cb" swapped="no"/> + <property name="can-focus">True</property> + <property name="hadjustment">secret_selection_h_adjustment</property> + <property name="vadjustment">secret_selection_v_adjustment</property> + <property name="shadow-type">in</property> + <child> + <object class="GtkViewport" id="anastasis_secret_selection_viewport"> + <property name="visible">True</property> + <property name="can-focus">False</property> + <property name="hadjustment">secret_selection_h_adjustment</property> + <property name="vadjustment">secret_selection_v_adjustment</property> + <child> + <object class="GtkTreeView" id="anastasis_secret_selection_treeview"> + <property name="visible">True</property> + <property name="can-focus">True</property> + <property name="hadjustment">secret_selection_h_adjustment</property> + <property name="vadjustment">secret_selection_v_adjustment</property> + <property name="model">secret_selection_liststore</property> + <child internal-child="selection"> + <object class="GtkTreeSelection" id="anastasis_gtk_secret_selection_treeselection"> + <signal name="changed" handler="anastasis_gtk_secret_selection_treeselection_changed_cb" swapped="no"/> + </object> + </child> + <child> + <object class="GtkTreeViewColumn" id="secret_name_column"> + <property name="resizable">True</property> + <property name="sizing">autosize</property> + <property name="title" translatable="yes">Secret name</property> + <property name="clickable">True</property> + <property name="sort-indicator">True</property> + <property name="sort-column-id">3</property> + <child> + <object class="GtkCellRendererText" id="backup_name_renderer"/> + <attributes> + <attribute name="text">3</attribute> + </attributes> + </child> + </object> + </child> + <child> + <object class="GtkTreeViewColumn" id="backup_time_column"> + <property name="sizing">fixed</property> + <property name="title" translatable="yes">Backup time</property> + <property name="clickable">True</property> + <property name="sort-indicator">True</property> + <property name="sort-column-id">5</property> + <child> + <object class="GtkCellRendererText" id="backup_time_renderer"/> + <attributes> + <attribute name="text">4</attribute> + </attributes> + </child> + </object> + </child> + <child> + <object class="GtkTreeViewColumn" id="backup_version_column"> + <property name="visible">False</property> + <property name="title" translatable="yes">Version</property> + <property name="clickable">True</property> + <property name="sort-indicator">True</property> + <property name="sort-order">descending</property> + <property name="sort-column-id">1</property> + <child> + <object class="GtkCellRendererText" id="backup_version_renderer"> + <property name="visible">False</property> + </object> + <attributes> + <attribute name="text">1</attribute> + </attributes> + </child> + </object> + </child> + <child> + <object class="GtkTreeViewColumn" id="provider_url_column1"> + <property name="visible">False</property> + <property name="resizable">True</property> + <property name="title" translatable="yes">Provider</property> + <property name="clickable">True</property> + <child> + <object class="GtkCellRendererText" id="provider_url_renderer"> + <property name="visible">False</property> + </object> + <attributes> + <attribute name="text">0</attribute> + </attributes> + </child> + </object> + </child> + </object> + </child> </object> </child> </object> <packing> <property name="expand">True</property> <property name="fill">True</property> - <property name="padding">5</property> - <property name="position">1</property> - </packing> - </child> - </object> - <packing> - <property name="expand">False</property> - <property name="fill">True</property> - <property name="padding">20</property> - <property name="position">0</property> - </packing> - </child> - <child> - <object class="GtkBox" id="backup_version_selection_vbox"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="halign">start</property> - <property name="orientation">vertical</property> - <child> - <object class="GtkLabel" id="anastasis_gtk_backup_version_label"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="tooltip-text" translatable="yes">This is the version of the backup at the provider. By default, the latest available backup version is obtained.</property> - <property name="halign">start</property> - <property name="label" translatable="yes">Select a backup version</property> - </object> - <packing> - <property name="expand">False</property> - <property name="fill">True</property> - <property name="position">0</property> - </packing> - </child> - <child> - <object class="GtkSpinButton" id="anastasis_gtk_policy_version_spin_button"> - <property name="visible">True</property> - <property name="can-focus">True</property> - <property name="margin-right">5</property> - <property name="margin-end">5</property> - <property name="text" translatable="yes">0</property> - <property name="input-purpose">number</property> - <property name="adjustment">policy_version_adjustment</property> - <property name="climb-rate">1</property> - <property name="numeric">True</property> - <signal name="changed" handler="anastasis_gtk_policy_version_spin_button_changed_cb" swapped="no"/> - </object> - <packing> - <property name="expand">False</property> - <property name="fill">False</property> - <property name="padding">5</property> - <property name="position">1</property> - </packing> - </child> - <child> - <object class="GtkLabel" id="backup_version_explainer_label"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="label" translatable="yes">To see other backup versions, -choose a different provider.</property> - <attributes> - <attribute name="weight" value="normal"/> - <attribute name="foreground" value="#777776767b7b"/> - </attributes> - </object> - <packing> - <property name="expand">False</property> - <property name="fill">True</property> - <property name="padding">10</property> - <property name="position">2</property> - </packing> - </child> - </object> - <packing> - <property name="expand">False</property> - <property name="fill">True</property> - <property name="position">1</property> - </packing> - </child> - <child> - <object class="GtkBox" id="anastasis_gtk_secret_identification_vbox"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="halign">start</property> - <property name="orientation">vertical</property> - <property name="spacing">5</property> - <child> - <object class="GtkLabel" id="secret_name_explainer_label"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="halign">start</property> - <property name="label" translatable="yes">The secret name associated with this backup version is:</property> - </object> - <packing> - <property name="expand">False</property> - <property name="fill">True</property> - <property name="padding">5</property> <property name="position">0</property> </packing> </child> <child> - <object class="GtkLabel" id="anastasis_gtk_secret_name_label"> - <property name="visible">True</property> - <property name="can-focus">False</property> - <property name="label">COMPUTATIONALLY GENERATED</property> - <attributes> - <attribute name="weight" value="bold"/> - </attributes> - </object> - <packing> - <property name="expand">False</property> - <property name="fill">True</property> - <property name="position">1</property> - </packing> - </child> - <child> - <object class="GtkLabel" id="secret_recovery_change_explainer_label"> + <object class="GtkBox"> <property name="visible">True</property> <property name="can-focus">False</property> - <property name="halign">start</property> - <property name="label" translatable="yes">If this is not the secret you want to recover, -select a different provider or backup version.</property> - <attributes> - <attribute name="foreground" value="#777776767b7b"/> - </attributes> + <child> + <object class="GtkLabel" id="select_secret_hint_label"> + <property name="visible">True</property> + <property name="can-focus">False</property> + <property name="halign">start</property> + <property name="label" translatable="yes">Select a secret to recover from the list below. If no secrets are listed, +you need to either go back and correct your personal information or +explicitly add the provider which you used before for the backup.</property> + </object> + <packing> + <property name="expand">True</property> + <property name="fill">True</property> + <property name="padding">10</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkButton" id="anastasis_gtk_add_provider_button"> + <property name="label" translatable="yes">Add provider</property> + <property name="visible">True</property> + <property name="can-focus">True</property> + <property name="receives-default">True</property> + <property name="image">add_image</property> + <signal name="clicked" handler="anastasis_gtk_add_provider_button_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> + </packing> + </child> </object> <packing> <property name="expand">False</property> <property name="fill">True</property> <property name="padding">5</property> - <property name="position">2</property> + <property name="position">5</property> </packing> </child> </object> <packing> <property name="expand">False</property> <property name="fill">True</property> - <property name="padding">20</property> - <property name="position">2</property> + <property name="position">0</property> </packing> </child> </object>