Philipp Hörist pushed to branch master at gajim / gajim

Commits:

2 changed files:

Changes:

  • gajim/data/gui/certificate_dialog.ui
    1
    +<?xml version="1.0" encoding="UTF-8"?>
    
    2
    +<!-- Generated with glade 3.22.1 -->
    
    3
    +<interface>
    
    4
    +  <requires lib="gtk+" version="3.20"/>
    
    5
    +  <object class="GtkBox" id="certificate_box">
    
    6
    +    <property name="visible">True</property>
    
    7
    +    <property name="can_focus">False</property>
    
    8
    +    <property name="halign">center</property>
    
    9
    +    <property name="border_width">18</property>
    
    10
    +    <property name="orientation">vertical</property>
    
    11
    +    <property name="spacing">6</property>
    
    12
    +    <child>
    
    13
    +      <object class="GtkBox">
    
    14
    +        <property name="visible">True</property>
    
    15
    +        <property name="can_focus">False</property>
    
    16
    +        <property name="halign">center</property>
    
    17
    +        <property name="spacing">12</property>
    
    18
    +        <child>
    
    19
    +          <object class="GtkImage">
    
    20
    +            <property name="visible">True</property>
    
    21
    +            <property name="can_focus">False</property>
    
    22
    +            <property name="icon_name">application-certificate-symbolic</property>
    
    23
    +            <property name="icon_size">6</property>
    
    24
    +          </object>
    
    25
    +          <packing>
    
    26
    +            <property name="expand">False</property>
    
    27
    +            <property name="fill">True</property>
    
    28
    +            <property name="position">0</property>
    
    29
    +          </packing>
    
    30
    +        </child>
    
    31
    +        <child>
    
    32
    +          <object class="GtkLabel" id="label_cert_for_account">
    
    33
    +            <property name="visible">True</property>
    
    34
    +            <property name="can_focus">False</property>
    
    35
    +            <property name="label">&lt;Certificate for account %s&gt;</property>
    
    36
    +            <property name="justify">center</property>
    
    37
    +            <style>
    
    38
    +              <class name="large-header"/>
    
    39
    +            </style>
    
    40
    +          </object>
    
    41
    +          <packing>
    
    42
    +            <property name="expand">False</property>
    
    43
    +            <property name="fill">True</property>
    
    44
    +            <property name="position">1</property>
    
    45
    +          </packing>
    
    46
    +        </child>
    
    47
    +      </object>
    
    48
    +      <packing>
    
    49
    +        <property name="expand">False</property>
    
    50
    +        <property name="fill">True</property>
    
    51
    +        <property name="position">0</property>
    
    52
    +      </packing>
    
    53
    +    </child>
    
    54
    +    <child>
    
    55
    +      <object class="GtkGrid">
    
    56
    +        <property name="visible">True</property>
    
    57
    +        <property name="can_focus">False</property>
    
    58
    +        <property name="margin_top">20</property>
    
    59
    +        <property name="row_spacing">6</property>
    
    60
    +        <property name="column_spacing">12</property>
    
    61
    +        <child>
    
    62
    +          <object class="GtkLabel">
    
    63
    +            <property name="visible">True</property>
    
    64
    +            <property name="can_focus">False</property>
    
    65
    +            <property name="halign">end</property>
    
    66
    +            <property name="label" translatable="yes">Common Name (CN)</property>
    
    67
    +            <style>
    
    68
    +              <class name="dim-label"/>
    
    69
    +            </style>
    
    70
    +          </object>
    
    71
    +          <packing>
    
    72
    +            <property name="left_attach">0</property>
    
    73
    +            <property name="top_attach">1</property>
    
    74
    +          </packing>
    
    75
    +        </child>
    
    76
    +        <child>
    
    77
    +          <object class="GtkLabel" id="data_it_common_name">
    
    78
    +            <property name="visible">True</property>
    
    79
    +            <property name="can_focus">False</property>
    
    80
    +            <property name="halign">start</property>
    
    81
    +            <property name="label">&lt;&gt;</property>
    
    82
    +          </object>
    
    83
    +          <packing>
    
    84
    +            <property name="left_attach">1</property>
    
    85
    +            <property name="top_attach">1</property>
    
    86
    +          </packing>
    
    87
    +        </child>
    
    88
    +        <child>
    
    89
    +          <object class="GtkLabel">
    
    90
    +            <property name="visible">True</property>
    
    91
    +            <property name="can_focus">False</property>
    
    92
    +            <property name="halign">end</property>
    
    93
    +            <property name="label" translatable="yes">Organization (O)</property>
    
    94
    +            <style>
    
    95
    +              <class name="dim-label"/>
    
    96
    +            </style>
    
    97
    +          </object>
    
    98
    +          <packing>
    
    99
    +            <property name="left_attach">0</property>
    
    100
    +            <property name="top_attach">2</property>
    
    101
    +          </packing>
    
    102
    +        </child>
    
    103
    +        <child>
    
    104
    +          <object class="GtkLabel" id="data_it_organization">
    
    105
    +            <property name="visible">True</property>
    
    106
    +            <property name="can_focus">False</property>
    
    107
    +            <property name="halign">start</property>
    
    108
    +            <property name="label">&lt;&gt;</property>
    
    109
    +          </object>
    
    110
    +          <packing>
    
    111
    +            <property name="left_attach">1</property>
    
    112
    +            <property name="top_attach">2</property>
    
    113
    +          </packing>
    
    114
    +        </child>
    
    115
    +        <child>
    
    116
    +          <object class="GtkLabel">
    
    117
    +            <property name="visible">True</property>
    
    118
    +            <property name="can_focus">False</property>
    
    119
    +            <property name="halign">end</property>
    
    120
    +            <property name="label" translatable="yes">Organizational Unit (OU)</property>
    
    121
    +            <style>
    
    122
    +              <class name="dim-label"/>
    
    123
    +            </style>
    
    124
    +          </object>
    
    125
    +          <packing>
    
    126
    +            <property name="left_attach">0</property>
    
    127
    +            <property name="top_attach">3</property>
    
    128
    +          </packing>
    
    129
    +        </child>
    
    130
    +        <child>
    
    131
    +          <object class="GtkLabel" id="data_it_organizational_unit">
    
    132
    +            <property name="visible">True</property>
    
    133
    +            <property name="can_focus">False</property>
    
    134
    +            <property name="halign">start</property>
    
    135
    +            <property name="label">&lt;&gt;</property>
    
    136
    +          </object>
    
    137
    +          <packing>
    
    138
    +            <property name="left_attach">1</property>
    
    139
    +            <property name="top_attach">3</property>
    
    140
    +          </packing>
    
    141
    +        </child>
    
    142
    +        <child>
    
    143
    +          <object class="GtkLabel">
    
    144
    +            <property name="visible">True</property>
    
    145
    +            <property name="can_focus">False</property>
    
    146
    +            <property name="halign">end</property>
    
    147
    +            <property name="label" translatable="yes">Serial Number</property>
    
    148
    +            <style>
    
    149
    +              <class name="dim-label"/>
    
    150
    +            </style>
    
    151
    +          </object>
    
    152
    +          <packing>
    
    153
    +            <property name="left_attach">0</property>
    
    154
    +            <property name="top_attach">4</property>
    
    155
    +          </packing>
    
    156
    +        </child>
    
    157
    +        <child>
    
    158
    +          <object class="GtkLabel" id="data_it_serial_number">
    
    159
    +            <property name="visible">True</property>
    
    160
    +            <property name="can_focus">False</property>
    
    161
    +            <property name="halign">start</property>
    
    162
    +            <property name="label">&lt;&gt;</property>
    
    163
    +          </object>
    
    164
    +          <packing>
    
    165
    +            <property name="left_attach">1</property>
    
    166
    +            <property name="top_attach">4</property>
    
    167
    +          </packing>
    
    168
    +        </child>
    
    169
    +        <child>
    
    170
    +          <object class="GtkLabel">
    
    171
    +            <property name="visible">True</property>
    
    172
    +            <property name="can_focus">False</property>
    
    173
    +            <property name="halign">end</property>
    
    174
    +            <property name="label" translatable="yes">Common Name (CN)</property>
    
    175
    +            <style>
    
    176
    +              <class name="dim-label"/>
    
    177
    +            </style>
    
    178
    +          </object>
    
    179
    +          <packing>
    
    180
    +            <property name="left_attach">0</property>
    
    181
    +            <property name="top_attach">6</property>
    
    182
    +          </packing>
    
    183
    +        </child>
    
    184
    +        <child>
    
    185
    +          <object class="GtkLabel" id="data_ib_common_name">
    
    186
    +            <property name="visible">True</property>
    
    187
    +            <property name="can_focus">False</property>
    
    188
    +            <property name="halign">start</property>
    
    189
    +            <property name="label">&lt;&gt;</property>
    
    190
    +          </object>
    
    191
    +          <packing>
    
    192
    +            <property name="left_attach">1</property>
    
    193
    +            <property name="top_attach">6</property>
    
    194
    +          </packing>
    
    195
    +        </child>
    
    196
    +        <child>
    
    197
    +          <object class="GtkLabel">
    
    198
    +            <property name="visible">True</property>
    
    199
    +            <property name="can_focus">False</property>
    
    200
    +            <property name="halign">end</property>
    
    201
    +            <property name="label" translatable="yes">Organization (O)</property>
    
    202
    +            <style>
    
    203
    +              <class name="dim-label"/>
    
    204
    +            </style>
    
    205
    +          </object>
    
    206
    +          <packing>
    
    207
    +            <property name="left_attach">0</property>
    
    208
    +            <property name="top_attach">7</property>
    
    209
    +          </packing>
    
    210
    +        </child>
    
    211
    +        <child>
    
    212
    +          <object class="GtkLabel" id="data_ib_organization">
    
    213
    +            <property name="visible">True</property>
    
    214
    +            <property name="can_focus">False</property>
    
    215
    +            <property name="halign">start</property>
    
    216
    +            <property name="label">&lt;&gt;</property>
    
    217
    +          </object>
    
    218
    +          <packing>
    
    219
    +            <property name="left_attach">1</property>
    
    220
    +            <property name="top_attach">7</property>
    
    221
    +          </packing>
    
    222
    +        </child>
    
    223
    +        <child>
    
    224
    +          <object class="GtkLabel">
    
    225
    +            <property name="visible">True</property>
    
    226
    +            <property name="can_focus">False</property>
    
    227
    +            <property name="halign">end</property>
    
    228
    +            <property name="label" translatable="yes">Organizational Unit (OU)</property>
    
    229
    +            <style>
    
    230
    +              <class name="dim-label"/>
    
    231
    +            </style>
    
    232
    +          </object>
    
    233
    +          <packing>
    
    234
    +            <property name="left_attach">0</property>
    
    235
    +            <property name="top_attach">8</property>
    
    236
    +          </packing>
    
    237
    +        </child>
    
    238
    +        <child>
    
    239
    +          <object class="GtkLabel" id="data_ib_organizational_unit">
    
    240
    +            <property name="visible">True</property>
    
    241
    +            <property name="can_focus">False</property>
    
    242
    +            <property name="halign">start</property>
    
    243
    +            <property name="label">&lt;&gt;</property>
    
    244
    +          </object>
    
    245
    +          <packing>
    
    246
    +            <property name="left_attach">1</property>
    
    247
    +            <property name="top_attach">8</property>
    
    248
    +          </packing>
    
    249
    +        </child>
    
    250
    +        <child>
    
    251
    +          <object class="GtkLabel">
    
    252
    +            <property name="visible">True</property>
    
    253
    +            <property name="can_focus">False</property>
    
    254
    +            <property name="halign">end</property>
    
    255
    +            <property name="label" translatable="yes">Issued on</property>
    
    256
    +            <style>
    
    257
    +              <class name="dim-label"/>
    
    258
    +            </style>
    
    259
    +          </object>
    
    260
    +          <packing>
    
    261
    +            <property name="left_attach">0</property>
    
    262
    +            <property name="top_attach">10</property>
    
    263
    +          </packing>
    
    264
    +        </child>
    
    265
    +        <child>
    
    266
    +          <object class="GtkLabel" id="data_issued_on">
    
    267
    +            <property name="visible">True</property>
    
    268
    +            <property name="can_focus">False</property>
    
    269
    +            <property name="halign">start</property>
    
    270
    +            <property name="label">&lt;&gt;</property>
    
    271
    +          </object>
    
    272
    +          <packing>
    
    273
    +            <property name="left_attach">1</property>
    
    274
    +            <property name="top_attach">10</property>
    
    275
    +          </packing>
    
    276
    +        </child>
    
    277
    +        <child>
    
    278
    +          <object class="GtkLabel">
    
    279
    +            <property name="visible">True</property>
    
    280
    +            <property name="can_focus">False</property>
    
    281
    +            <property name="halign">end</property>
    
    282
    +            <property name="label" translatable="yes">Expires on</property>
    
    283
    +            <style>
    
    284
    +              <class name="dim-label"/>
    
    285
    +            </style>
    
    286
    +          </object>
    
    287
    +          <packing>
    
    288
    +            <property name="left_attach">0</property>
    
    289
    +            <property name="top_attach">11</property>
    
    290
    +          </packing>
    
    291
    +        </child>
    
    292
    +        <child>
    
    293
    +          <object class="GtkLabel" id="data_expires_on">
    
    294
    +            <property name="visible">True</property>
    
    295
    +            <property name="can_focus">False</property>
    
    296
    +            <property name="halign">start</property>
    
    297
    +            <property name="label">&lt;&gt;</property>
    
    298
    +          </object>
    
    299
    +          <packing>
    
    300
    +            <property name="left_attach">1</property>
    
    301
    +            <property name="top_attach">11</property>
    
    302
    +          </packing>
    
    303
    +        </child>
    
    304
    +        <child>
    
    305
    +          <object class="GtkLabel">
    
    306
    +            <property name="visible">True</property>
    
    307
    +            <property name="can_focus">False</property>
    
    308
    +            <property name="halign">baseline</property>
    
    309
    +            <property name="label" translatable="yes">SHA-1</property>
    
    310
    +            <style>
    
    311
    +              <class name="dim-label"/>
    
    312
    +            </style>
    
    313
    +          </object>
    
    314
    +          <packing>
    
    315
    +            <property name="left_attach">0</property>
    
    316
    +            <property name="top_attach">13</property>
    
    317
    +            <property name="width">2</property>
    
    318
    +          </packing>
    
    319
    +        </child>
    
    320
    +        <child>
    
    321
    +          <object class="GtkLabel">
    
    322
    +            <property name="visible">True</property>
    
    323
    +            <property name="can_focus">False</property>
    
    324
    +            <property name="halign">baseline</property>
    
    325
    +            <property name="margin_top">6</property>
    
    326
    +            <property name="label" translatable="yes">SHA-256</property>
    
    327
    +            <style>
    
    328
    +              <class name="dim-label"/>
    
    329
    +            </style>
    
    330
    +          </object>
    
    331
    +          <packing>
    
    332
    +            <property name="left_attach">0</property>
    
    333
    +            <property name="top_attach">15</property>
    
    334
    +            <property name="width">2</property>
    
    335
    +          </packing>
    
    336
    +        </child>
    
    337
    +        <child>
    
    338
    +          <object class="GtkLabel" id="data_sha1">
    
    339
    +            <property name="visible">True</property>
    
    340
    +            <property name="can_focus">False</property>
    
    341
    +            <property name="halign">center</property>
    
    342
    +            <property name="label">&lt;&gt;</property>
    
    343
    +            <property name="wrap">True</property>
    
    344
    +            <property name="wrap_mode">char</property>
    
    345
    +            <property name="selectable">True</property>
    
    346
    +          </object>
    
    347
    +          <packing>
    
    348
    +            <property name="left_attach">0</property>
    
    349
    +            <property name="top_attach">14</property>
    
    350
    +            <property name="width">2</property>
    
    351
    +          </packing>
    
    352
    +        </child>
    
    353
    +        <child>
    
    354
    +          <object class="GtkLabel" id="data_sha256">
    
    355
    +            <property name="visible">True</property>
    
    356
    +            <property name="can_focus">False</property>
    
    357
    +            <property name="halign">center</property>
    
    358
    +            <property name="label">&lt;&gt;</property>
    
    359
    +            <property name="wrap">True</property>
    
    360
    +            <property name="wrap_mode">char</property>
    
    361
    +            <property name="selectable">True</property>
    
    362
    +            <property name="max_width_chars">42</property>
    
    363
    +          </object>
    
    364
    +          <packing>
    
    365
    +            <property name="left_attach">0</property>
    
    366
    +            <property name="top_attach">16</property>
    
    367
    +            <property name="width">2</property>
    
    368
    +          </packing>
    
    369
    +        </child>
    
    370
    +        <child>
    
    371
    +          <object class="GtkLabel">
    
    372
    +            <property name="visible">True</property>
    
    373
    +            <property name="can_focus">False</property>
    
    374
    +            <property name="halign">baseline</property>
    
    375
    +            <property name="margin_top">6</property>
    
    376
    +            <property name="label" translatable="yes">Issued to</property>
    
    377
    +            <style>
    
    378
    +              <class name="bold"/>
    
    379
    +            </style>
    
    380
    +          </object>
    
    381
    +          <packing>
    
    382
    +            <property name="left_attach">0</property>
    
    383
    +            <property name="top_attach">0</property>
    
    384
    +            <property name="width">2</property>
    
    385
    +          </packing>
    
    386
    +        </child>
    
    387
    +        <child>
    
    388
    +          <object class="GtkLabel">
    
    389
    +            <property name="visible">True</property>
    
    390
    +            <property name="can_focus">False</property>
    
    391
    +            <property name="halign">baseline</property>
    
    392
    +            <property name="margin_top">12</property>
    
    393
    +            <property name="label" translatable="yes">Issued by</property>
    
    394
    +            <style>
    
    395
    +              <class name="bold"/>
    
    396
    +            </style>
    
    397
    +          </object>
    
    398
    +          <packing>
    
    399
    +            <property name="left_attach">0</property>
    
    400
    +            <property name="top_attach">5</property>
    
    401
    +            <property name="width">2</property>
    
    402
    +          </packing>
    
    403
    +        </child>
    
    404
    +        <child>
    
    405
    +          <object class="GtkLabel">
    
    406
    +            <property name="visible">True</property>
    
    407
    +            <property name="can_focus">False</property>
    
    408
    +            <property name="halign">baseline</property>
    
    409
    +            <property name="margin_top">12</property>
    
    410
    +            <property name="label" translatable="yes">Validity</property>
    
    411
    +            <style>
    
    412
    +              <class name="bold"/>
    
    413
    +            </style>
    
    414
    +          </object>
    
    415
    +          <packing>
    
    416
    +            <property name="left_attach">0</property>
    
    417
    +            <property name="top_attach">9</property>
    
    418
    +            <property name="width">2</property>
    
    419
    +          </packing>
    
    420
    +        </child>
    
    421
    +        <child>
    
    422
    +          <object class="GtkLabel">
    
    423
    +            <property name="visible">True</property>
    
    424
    +            <property name="can_focus">False</property>
    
    425
    +            <property name="halign">baseline</property>
    
    426
    +            <property name="margin_top">12</property>
    
    427
    +            <property name="label" translatable="yes">Fingerprints</property>
    
    428
    +            <style>
    
    429
    +              <class name="bold"/>
    
    430
    +            </style>
    
    431
    +          </object>
    
    432
    +          <packing>
    
    433
    +            <property name="left_attach">0</property>
    
    434
    +            <property name="top_attach">12</property>
    
    435
    +            <property name="width">2</property>
    
    436
    +          </packing>
    
    437
    +        </child>
    
    438
    +      </object>
    
    439
    +      <packing>
    
    440
    +        <property name="expand">False</property>
    
    441
    +        <property name="fill">True</property>
    
    442
    +        <property name="position">1</property>
    
    443
    +      </packing>
    
    444
    +    </child>
    
    445
    +  </object>
    
    446
    +</interface>

  • gajim/gtk/dialogs.py
    ... ... @@ -12,6 +12,8 @@
    12 12
     # You should have received a copy of the GNU General Public License
    
    13 13
     # along with Gajim. If not, see <http://www.gnu.org/licenses/>.
    
    14 14
     
    
    15
    +from datetime import datetime
    
    16
    +
    
    15 17
     from collections import namedtuple
    
    16 18
     
    
    17 19
     from gi.repository import Gtk
    
    ... ... @@ -23,7 +25,6 @@ from gajim.common.i18n import _
    23 25
     from gajim.common.const import ButtonAction
    
    24 26
     
    
    25 27
     from gajim.gtk.util import get_builder
    
    26
    -from gajim.gtk.util import load_icon
    
    27 28
     
    
    28 29
     
    
    29 30
     class DialogButton(namedtuple('DialogButton', ('response text callback args '
    
    ... ... @@ -880,47 +881,49 @@ class DoubleInputDialog:
    880 881
                 self.cancel_handler()
    
    881 882
     
    
    882 883
     
    
    883
    -class CertificatDialog(InformationDialog):
    
    884
    +class CertificateDialog(Gtk.ApplicationWindow):
    
    884 885
         def __init__(self, transient_for, account, cert):
    
    886
    +        Gtk.ApplicationWindow.__init__(self)
    
    887
    +        self.set_name('CertificateDialog')
    
    888
    +        self.set_application(app.app)
    
    889
    +        self.set_show_menubar(False)
    
    890
    +        self.set_resizable(False)
    
    891
    +        self.set_position(Gtk.WindowPosition.CENTER)
    
    892
    +        self.set_title(_('Certificate'))
    
    893
    +
    
    894
    +        self._ui = get_builder('certificate_dialog.ui')
    
    895
    +        self.add(self._ui.certificate_box)
    
    896
    +
    
    885 897
             issuer = cert.get_issuer()
    
    886 898
             subject = cert.get_subject()
    
    887
    -        InformationDialog.__init__(self,
    
    888
    -            _('Certificate for account %s') % account, _('''<b>Issued to:</b>
    
    889
    -Common Name (CN): %(scn)s
    
    890
    -Organization (O): %(sorg)s
    
    891
    -Organizationl Unit (OU): %(sou)s
    
    892
    -Serial Number: %(sn)s
    
    893
    -
    
    894
    -<b>Issued by:</b>
    
    895
    -Common Name (CN): %(icn)s
    
    896
    -Organization (O): %(iorg)s
    
    897
    -Organizationl Unit (OU): %(iou)s
    
    898
    -
    
    899
    -<b>Validity:</b>
    
    900
    -Issued on: %(io)s
    
    901
    -Expires on: %(eo)s
    
    902
    -
    
    903
    -<b>Fingerprint</b>
    
    904
    -SHA-1 Fingerprint: %(sha1)s
    
    905
    -
    
    906
    -SHA-256 Fingerprint: %(sha256)s
    
    907
    -''') % {
    
    908
    -            'scn': subject.commonName, 'sorg': subject.organizationName,
    
    909
    -            'sou': subject.organizationalUnitName,
    
    910
    -            'sn': cert.get_serial_number(), 'icn': issuer.commonName,
    
    911
    -            'iorg': issuer.organizationName,
    
    912
    -            'iou': issuer.organizationalUnitName,
    
    913
    -            'io': cert.get_notBefore().decode('utf-8'),
    
    914
    -            'eo': cert.get_notAfter().decode('utf-8'),
    
    915
    -            'sha1': cert.digest('sha1').decode('utf-8'),
    
    916
    -            'sha256': cert.digest('sha256').decode('utf-8')})
    
    917
    -        surface = load_icon('application-certificate', self, size=32)
    
    918
    -        if surface is not None:
    
    919
    -            img = Gtk.Image.new_from_surface(surface)
    
    920
    -            img.show_all()
    
    921
    -            self.set_image(img)
    
    899
    +
    
    900
    +        self._ui.label_cert_for_account.set_text(
    
    901
    +            _('Certificate for account\n%s') % account)
    
    902
    +
    
    903
    +        self._ui.data_it_common_name.set_text(subject.commonName)
    
    904
    +        self._ui.data_it_organization.set_text(subject.organizationName)
    
    905
    +        self._ui.data_it_organizational_unit.set_text(
    
    906
    +            subject.organizationalUnitName)
    
    907
    +        self._ui.data_it_serial_number.set_text(str(cert.get_serial_number()))
    
    908
    +
    
    909
    +        self._ui.data_ib_common_name.set_text(issuer.commonName)
    
    910
    +        self._ui.data_ib_organization.set_text(issuer.organizationName)
    
    911
    +        self._ui.data_ib_organizational_unit.set_text(
    
    912
    +            issuer.organizationalUnitName)
    
    913
    +
    
    914
    +        issued = datetime.strptime(cert.get_notBefore().decode('ascii'), '%Y%m%d%H%M%SZ')
    
    915
    +        issued = issued.strftime('%B %d, %Y, %H:%M:%S %z')
    
    916
    +        self._ui.data_issued_on.set_text(issued)
    
    917
    +        expires = datetime.strptime(cert.get_notAfter().decode('ascii'), '%Y%m%d%H%M%SZ')
    
    918
    +        expires = expires.strftime('%B %d, %Y, %H:%M:%S %z')
    
    919
    +        self._ui.data_expires_on.set_text(expires)
    
    920
    +
    
    921
    +        self._ui.data_sha1.set_text(cert.digest('sha1').decode('utf-8'))
    
    922
    +        self._ui.data_sha256.set_text(cert.digest('sha256').decode('utf-8'))
    
    923
    +
    
    922 924
             self.set_transient_for(transient_for)
    
    923
    -        self.set_title(_('Certificate for account %s') % account)
    
    925
    +        self._ui.connect_signals(self)
    
    926
    +        self.show_all()
    
    924 927
     
    
    925 928
     
    
    926 929
     class SSLErrorDialog(ConfirmationDialogDoubleCheck):
    
    ... ... @@ -939,7 +942,7 @@ class SSLErrorDialog(ConfirmationDialogDoubleCheck):
    939 942
             area.pack_start(b, True, True, 0)
    
    940 943
     
    
    941 944
         def on_cert_clicked(self, button):
    
    942
    -        CertificatDialog(self, self.account, self.cert)
    
    945
    +        CertificateDialog(self, self.account, self.cert)
    
    943 946
     
    
    944 947
     
    
    945 948
     class ChangePasswordDialog(Gtk.Dialog):