def settings_dialog(self, windowRef): window = windowRef() if not window: return d = WindowModalDialog(window.top_level_window(), _("Email settings")) d.setMinimumSize(500, 200) vbox = QVBoxLayout(d) vbox.addWidget(QLabel(_('Server hosting your email acount'))) grid = QGridLayout() vbox.addLayout(grid) grid.addWidget(QLabel('Server (IMAP)'), 0, 0) server_e = QLineEdit() server_e.setText(self.imap_server) grid.addWidget(server_e, 0, 1) grid.addWidget(QLabel('Username'), 1, 0) username_e = QLineEdit() username_e.setText(self.username) grid.addWidget(username_e, 1, 1) grid.addWidget(QLabel('Password'), 2, 0) password_e = QLineEdit() password_e.setText(self.password) grid.addWidget(password_e, 2, 1) vbox.addStretch() vbox.addLayout(Buttons(CloseButton(d), OkButton(d))) if not d.exec_(): return server = str(server_e.text()) self.config.set_key('email_server', server) username = str(username_e.text()) self.config.set_key('email_username', username) password = str(password_e.text()) self.config.set_key('email_password', password)
def export_dialog(self, tips: list): d = WindowModalDialog(self.parent, _('Export {c} Tips').format(c=len(tips))) d.setMinimumSize(400, 200) vbox = QVBoxLayout(d) defaultname = os.path.expanduser(read_config(self.wallet, 'export_history_filename', f"~/ChainTipper tips - wallet {self.wallet.basename()}.csv")) select_msg = _('Select file to export your tips to') box, filename_e, csv_button = filename_field(self.config, defaultname, select_msg) vbox.addWidget(box) vbox.addStretch(1) hbox = Buttons(CancelButton(d), OkButton(d, _('Export'))) vbox.addLayout(hbox) #run_hook('export_history_dialog', self, hbox) #self.update() res = d.exec_() d.setParent(None) # for python GC if not res: return filename = filename_e.text() write_config(self.wallet, 'export_history_filename', filename) if not filename: return success = False try: # minimum 10s time for calc. fees, etc success = self.do_export_history(filename) except Exception as reason: traceback.print_exc(file=sys.stderr) export_error_label = _("Error exporting tips") self.parent.show_critical(export_error_label + "\n" + str(reason), title=_("Unable to export tips")) else: if success: self.parent.show_message(_("{l} Tips successfully exported to {filename}").format(l=len(tips), filename=filename)) else: self.parent.show_message(_("Exporting tips to {filename} failed. More detail might be seen in terminal output.").format(filename=filename))