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:
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>