anastasis_gtk_auth_add_totp.ui (10247B)
1 <?xml version='1.0' encoding='UTF-8'?> 2 <!-- Created with Cambalache 0.94.1 --> 3 <!-- 4 Copyright (C) 2019-2021 Anastasis SARL 5 6 This file is part of anastasis-gtk. 7 8 anastasis-gtk is free software: you can redistribute it and/or modify 9 it under the terms of the GNU General Public License as published by 10 the Free Software Foundation, either version 3 of the License, or 11 (at your option) any later version. 12 13 anastasis-gtk is distributed in the hope that it will be useful, 14 but WITHOUT ANY WARRANTY; without even the implied warranty of 15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 GNU General Public License for more details. 17 18 You should have received a copy of the GNU General Public License 19 along with anastasis-gtk. If not, see <http://www.gnu.org/licenses/>. 20 21 Author: Belen Pena, Christian Grothoff, Dennis Neufeld--> 22 <interface> 23 <!-- interface-name anastasis_gtk_auth_add_totp.ui --> 24 <requires lib="gtk" version="4.0"/> 25 <object class="GtkDialog" id="anastasis_gtk_b_totp_dialog"> 26 <property name="default-widget">anastasis_gtk_b_totp_dialog_btn_ok</property> 27 <property name="focus-widget">anastasis_gtk_b_totp_dialog_name_entry</property> 28 <signal name="response" handler="anastasis_gtk_b_totp_dialog_response_cb"/> 29 <child internal-child="content_area"> 30 <object class="GtkBox"> 31 <property name="orientation">vertical</property> 32 <property name="spacing">2</property> 33 <child> 34 <object class="GtkBox"> 35 <property name="margin-bottom">5</property> 36 <property name="margin-top">5</property> 37 <property name="orientation">vertical</property> 38 <child> 39 <object class="GtkLabel" id="explainer_label"> 40 <property name="label" translatable="yes">For TOTP authentication, you need to set a name for the TOTP secret. 41 Then, you must scan the generated QR code with your TOTP App to 42 import the TOTP secret it into your TOTP App.</property> 43 <property name="margin-bottom">20</property> 44 <property name="margin-top">20</property> 45 <property name="name">explainer_label</property> 46 <property name="use-markup">1</property> 47 </object> 48 </child> 49 <child> 50 <object class="GtkBox"> 51 <property name="margin-bottom">55</property> 52 <property name="margin-top">5</property> 53 <property name="orientation">vertical</property> 54 <property name="valign">center</property> 55 <property name="vexpand">0</property> 56 <child> 57 <object class="GtkLabel"> 58 <property name="halign">start</property> 59 <property name="label" translatable="yes">TOTP Name</property> 60 <property name="margin-bottom">5</property> 61 <property name="margin-end">25</property> 62 <property name="margin-start">25</property> 63 <property name="margin-top">5</property> 64 <property name="valign">center</property> 65 </object> 66 </child> 67 <child> 68 <object class="GtkEntry" id="anastasis_gtk_b_totp_dialog_name_entry"> 69 <property name="activates-default">1</property> 70 <property name="focusable">1</property> 71 <property name="hexpand">1</property> 72 <property name="input-purpose">name</property> 73 <property name="margin-bottom">5</property> 74 <property name="margin-end">25</property> 75 <property name="margin-start">25</property> 76 <property name="margin-top">5</property> 77 <property name="primary-icon-name">dialog-information</property> 78 <property name="text" translatable="yes">Anastasis</property> 79 <property name="vexpand">1</property> 80 <property name="width-chars">36</property> 81 <signal name="changed" handler="anastasis_gtk_b_totp_dialog_name_entry_changed_cb"/> 82 </object> 83 </child> 84 <child> 85 <object class="GtkPicture" id="qr_image"> 86 <property name="can-shrink">0</property> 87 <property name="content-fit">scale-down</property> 88 <property name="halign">center</property> 89 <property name="margin-bottom">30</property> 90 <property name="margin-end">25</property> 91 <property name="margin-start">25</property> 92 <property name="margin-top">30</property> 93 <property name="name">qr_image</property> 94 <property name="valign">center</property> 95 </object> 96 </child> 97 </object> 98 </child> 99 <child> 100 <object class="GtkBox"> 101 <property name="orientation">vertical</property> 102 <child> 103 <object class="GtkLabel"> 104 <property name="halign">start</property> 105 <property name="label" translatable="yes">Confirm that your TOTP App works by entering the current 8-digit TOTP code here:</property> 106 <property name="margin-bottom">5</property> 107 <property name="margin-end">10</property> 108 <property name="margin-start">10</property> 109 <property name="margin-top">5</property> 110 </object> 111 </child> 112 <child> 113 <object class="GtkEntry" id="totp_entry"> 114 <property name="activates-default">1</property> 115 <property name="focusable">1</property> 116 <property name="input-purpose">number</property> 117 <property name="margin-bottom">5</property> 118 <property name="margin-top">5</property> 119 <property name="max-length">9</property> 120 <property name="max-width-chars">9</property> 121 <property name="placeholder-text" translatable="yes">00000000</property> 122 <property name="primary-icon-name">dialog-question</property> 123 <property name="tooltip-text" translatable="yes">Enter the 8-digit TOTP code. Valid for 30s.</property> 124 <signal name="changed" handler="totp_entry_changed_cb"/> 125 </object> 126 </child> 127 <child> 128 <object class="GtkLabel" id="google_label"> 129 <property name="halign">start</property> 130 <property name="label" translatable="yes">We note that Google's implementation of TOTP is incomplete and will not work. We recommend using FreeOTP+.</property> 131 <property name="margin-end">20</property> 132 <property name="margin-start">20</property> 133 <attributes> 134 <attribute name="scale" value="0.80000000000000004"/> 135 </attributes> 136 </object> 137 </child> 138 </object> 139 </child> 140 </object> 141 </child> 142 </object> 143 </child> 144 <child type="titlebar"> 145 <object class="GtkLabel"> 146 <property name="label" translatable="yes">Configure TOTP</property> 147 </object> 148 </child> 149 <child internal-child="action_area"> 150 <object class="GtkBox"> 151 <property name="can-focus">0</property> 152 <property name="halign">end</property> 153 <property name="homogeneous">1</property> 154 <property name="spacing">6</property> 155 <child> 156 <object class="GtkButton" id="anastasis_gtk_b_totp_dialog_btn_cancel"> 157 <property name="child"> 158 <object class="GtkBox"> 159 <property name="halign">center</property> 160 <property name="spacing">2</property> 161 <child> 162 <object class="GtkImage"> 163 <property name="icon-name">gtk-cancel</property> 164 </object> 165 </child> 166 <child> 167 <object class="GtkLabel"> 168 <property name="label" translatable="yes">_Cancel</property> 169 <property name="mnemonic-widget">anastasis_gtk_b_totp_dialog_btn_cancel</property> 170 <property name="use-underline">1</property> 171 </object> 172 </child> 173 </object> 174 </property> 175 </object> 176 </child> 177 <child> 178 <object class="GtkButton" id="anastasis_gtk_b_totp_dialog_btn_ok"> 179 <property name="child"> 180 <object class="GtkBox"> 181 <property name="halign">center</property> 182 <property name="spacing">2</property> 183 <child> 184 <object class="GtkImage"> 185 <property name="icon-name">gtk-ok</property> 186 </object> 187 </child> 188 <child> 189 <object class="GtkLabel"> 190 <property name="label" translatable="yes">_OK</property> 191 <property name="mnemonic-widget">anastasis_gtk_b_totp_dialog_btn_ok</property> 192 <property name="use-underline">1</property> 193 </object> 194 </child> 195 </object> 196 </property> 197 <property name="sensitive">0</property> 198 </object> 199 </child> 200 </object> 201 </child> 202 <action-widgets> 203 <action-widget response="-6">anastasis_gtk_b_totp_dialog_btn_cancel</action-widget> 204 <action-widget response="-5">anastasis_gtk_b_totp_dialog_btn_ok</action-widget> 205 </action-widgets> 206 <action-widgets> 207 <action-widget response="-6">anastasis_gtk_b_totp_dialog_btn_cancel</action-widget> 208 <action-widget response="-5">anastasis_gtk_b_totp_dialog_btn_ok</action-widget> 209 </action-widgets> 210 </object> 211 </interface>