run autopep8 on src/bitmessageqt

This commit is contained in:
Kashiko Koibumi 2024-05-17 03:18:24 +09:00
parent 60af4109ab
commit ab9fc0b390
No known key found for this signature in database
GPG Key ID: 8F06E069E37C40C4
19 changed files with 142 additions and 92 deletions

View File

@ -1,2 +1,2 @@
#!/bin/sh #!/bin/sh
autopep8 --in-place --recursive src autopep8 --in-place --recursive src src/bitmessageqt

View File

@ -53,7 +53,7 @@ import shutdown
from .statusbar import BMStatusBar from .statusbar import BMStatusBar
import bitmessageqt.sound as sound import bitmessageqt.sound as sound
# This is needed for tray icon # This is needed for tray icon
import bitmessageqt.bitmessage_icons_rc as bitmessage_icons_rc # noqa:F401 pylint: disable=unused-import import bitmessageqt.bitmessage_icons_rc as bitmessage_icons_rc # noqa:F401 pylint: disable=unused-import
import helper_sent import helper_sent
try: try:
@ -152,8 +152,9 @@ class MyForm(settingsmixin.SMainWindow):
self.ui.actionNetworkSwitch.triggered.connect(self.network_switch) self.ui.actionNetworkSwitch.triggered.connect(self.network_switch)
self.ui.actionManageKeys.triggered.connect(self.click_actionManageKeys) self.ui.actionManageKeys.triggered.connect(self.click_actionManageKeys)
self.ui.actionDeleteAllTrashedMessages.triggered.connect(self.click_actionDeleteAllTrashedMessages) self.ui.actionDeleteAllTrashedMessages.triggered.connect(self.click_actionDeleteAllTrashedMessages)
self.ui.actionRegenerateDeterministicAddresses.triggered.connect(self.click_actionRegenerateDeterministicAddresses) self.ui.actionRegenerateDeterministicAddresses.triggered.connect(
self.ui.pushButtonAddChan.clicked.connect(self.click_actionJoinChan) # also used for creating chans. self.click_actionRegenerateDeterministicAddresses)
self.ui.pushButtonAddChan.clicked.connect(self.click_actionJoinChan) # also used for creating chans.
self.ui.pushButtonNewAddress.clicked.connect(self.click_NewAddressDialog) self.ui.pushButtonNewAddress.clicked.connect(self.click_NewAddressDialog)
self.ui.pushButtonAddAddressBook.clicked.connect(self.click_pushButtonAddAddressBook) self.ui.pushButtonAddAddressBook.clicked.connect(self.click_pushButtonAddAddressBook)
self.ui.pushButtonAddSubscription.clicked.connect(self.click_pushButtonAddSubscription) self.ui.pushButtonAddSubscription.clicked.connect(self.click_pushButtonAddSubscription)
@ -752,11 +753,11 @@ class MyForm(settingsmixin.SMainWindow):
# Put the TTL slider in the correct spot # Put the TTL slider in the correct spot
TTL = config.getint('bitmessagesettings', 'ttl') TTL = config.getint('bitmessagesettings', 'ttl')
if TTL < 3600: # an hour if TTL < 3600: # an hour
TTL = 3600 TTL = 3600
elif TTL > 28*24*60*60: # 28 days elif TTL > 28 * 24 * 60 * 60: # 28 days
TTL = 28*24*60*60 TTL = 28 * 24 * 60 * 60
self.ui.horizontalSliderTTL.setSliderPosition(int((TTL - 3600) ** (1/3.199))) self.ui.horizontalSliderTTL.setSliderPosition(int((TTL - 3600) ** (1 / 3.199)))
self.updateHumanFriendlyTTLDescription(TTL) self.updateHumanFriendlyTTLDescription(TTL)
self.ui.horizontalSliderTTL.valueChanged.connect(self.updateTTL) self.ui.horizontalSliderTTL.valueChanged.connect(self.updateTTL)
@ -815,20 +816,20 @@ class MyForm(settingsmixin.SMainWindow):
config.save() config.save()
def updateHumanFriendlyTTLDescription(self, TTL): def updateHumanFriendlyTTLDescription(self, TTL):
numberOfHours = int(round(TTL / (60*60))) numberOfHours = int(round(TTL / (60 * 60)))
font = QtGui.QFont() font = QtGui.QFont()
stylesheet = "" stylesheet = ""
if numberOfHours < 48: if numberOfHours < 48:
self.ui.labelHumanFriendlyTTLDescription.setText( self.ui.labelHumanFriendlyTTLDescription.setText(
_translate("MainWindow", "%n hour(s)", None, numberOfHours) + _translate("MainWindow", "%n hour(s)", None, numberOfHours)
", " + + ", "
_translate("MainWindow", "not recommended for chans", None) + _translate("MainWindow", "not recommended for chans", None)
) )
stylesheet = "QLabel { color : red; }" stylesheet = "QLabel { color : red; }"
font.setBold(True) font.setBold(True)
else: else:
numberOfDays = int(round(TTL / (24*60*60))) numberOfDays = int(round(TTL / (24 * 60 * 60)))
self.ui.labelHumanFriendlyTTLDescription.setText( self.ui.labelHumanFriendlyTTLDescription.setText(
_translate( _translate(
"MainWindow", "MainWindow",
@ -1104,7 +1105,7 @@ class MyForm(settingsmixin.SMainWindow):
else: else:
statusText = _translate( statusText = _translate(
"MainWindow", "Unknown status: {0} {1}").format(status, "MainWindow", "Unknown status: {0} {1}").format(status,
l10n.formatTimestamp(lastactiontime)) l10n.formatTimestamp(lastactiontime))
items = [ items = [
MessageList_AddressWidget( MessageList_AddressWidget(
@ -1221,7 +1222,7 @@ class MyForm(settingsmixin.SMainWindow):
# create application indicator # create application indicator
def appIndicatorInit(self, app): def appIndicatorInit(self, app):
self.initTrayIcon("can-icon-24px-red.png", app) self.initTrayIcon("can-icon-24px-red.png", app)
self.tray.activated.connect(self.__icon_activated); self.tray.activated.connect(self.__icon_activated)
m = QtWidgets.QMenu() m = QtWidgets.QMenu()
@ -1392,7 +1393,7 @@ class MyForm(settingsmixin.SMainWindow):
self._notifier = _simple_notify self._notifier = _simple_notify
# does nothing if isAvailable returns false # does nothing if isAvailable returns false
# XXX unresolved # XXX unresolved
#self._player = QtGui.QSound.play # self._player = QtGui.QSound.play
if not get_plugins: if not get_plugins:
return return
@ -1406,7 +1407,7 @@ class MyForm(settingsmixin.SMainWindow):
self._theme_player = get_plugin('notification.sound', 'theme') self._theme_player = get_plugin('notification.sound', 'theme')
# XXX unresolved # XXX unresolved
#if not QtGui.QSound.isAvailable(): # if not QtGui.QSound.isAvailable():
if not False: if not False:
_plugin = get_plugin( _plugin = get_plugin(
'notification.sound', 'file', fallback='file.fallback') 'notification.sound', 'file', fallback='file.fallback')
@ -1779,7 +1780,7 @@ class MyForm(settingsmixin.SMainWindow):
pen.setBrush(QtGui.QBrush(QtCore.Qt.BrushStyle.SolidPattern)) pen.setBrush(QtGui.QBrush(QtCore.Qt.BrushStyle.SolidPattern))
painter.setPen(pen) painter.setPen(pen)
painter.setFont(font) painter.setFont(font)
painter.drawText(24-rect.right()-marginX, -rect.top()+marginY, txt) painter.drawText(24 - rect.right() - marginX, -rect.top() + marginY, txt)
painter.end() painter.end()
return QtGui.QIcon(pixmap) return QtGui.QIcon(pixmap)
@ -1856,7 +1857,7 @@ class MyForm(settingsmixin.SMainWindow):
try: try:
newlinePosition = textToDisplay.indexOf('\n') newlinePosition = textToDisplay.indexOf('\n')
except: except:
# If someone misses adding a "_translate" to a string before passing it to this function, # If someone misses adding a "_translate" to a string before passing it to this function,
# this function won't receive a qstring which will cause an exception. # this function won't receive a qstring which will cause an exception.
newlinePosition = 0 newlinePosition = 0
if newlinePosition > 1: if newlinePosition > 1:
@ -1893,7 +1894,7 @@ class MyForm(settingsmixin.SMainWindow):
"MainWindow", "MainWindow",
"New version of PyBitmessage is available: {0}. Download it" "New version of PyBitmessage is available: {0}. Download it"
" from https://github.com/Bitmessage/PyBitmessage/releases/latest" " from https://github.com/Bitmessage/PyBitmessage/releases/latest"
).format(self.notifiedNewVersion) ).format(self.notifiedNewVersion)
) )
def displayAlert(self, title, text, exitAfterUserClicksOk): def displayAlert(self, title, text, exitAfterUserClicksOk):
@ -1917,7 +1918,7 @@ class MyForm(settingsmixin.SMainWindow):
messagelist.item(i, 0).setLabel() messagelist.item(i, 0).setLabel()
def rerenderAddressBook(self): def rerenderAddressBook(self):
def addRow (address, label, type): def addRow(address, label, type):
self.ui.tableWidgetAddressBook.insertRow(0) self.ui.tableWidgetAddressBook.insertRow(0)
newItem = Ui_AddressBookWidgetItemLabel(address, label, type) newItem = Ui_AddressBookWidgetItemLabel(address, label, type)
self.ui.tableWidgetAddressBook.setItem(0, 0, newItem) self.ui.tableWidgetAddressBook.setItem(0, 0, newItem)
@ -2065,14 +2066,14 @@ class MyForm(settingsmixin.SMainWindow):
"MainWindow", "MainWindow",
"You are trying to send an email instead of a bitmessage. " "You are trying to send an email instead of a bitmessage. "
"This requires registering with a gateway. Attempt to register?"), "This requires registering with a gateway. Attempt to register?"),
QtWidgets.QMessageBox.StandardButton.Yes|QtWidgets.QMessageBox.StandardButton.No) != QtWidgets.QMessageBox.StandardButton.Yes: QtWidgets.QMessageBox.StandardButton.Yes | QtWidgets.QMessageBox.StandardButton.No) != QtWidgets.QMessageBox.StandardButton.Yes:
continue continue
email = acct.getLabel() email = acct.getLabel()
if email[-14:] != "@mailchuck.com": # attempt register if email[-14:] != "@mailchuck.com": # attempt register
# 12 character random email address # 12 character random email address
email = ''.join( email = ''.join(
random.SystemRandom().choice(string.ascii_lowercase) for _ in range(12) random.SystemRandom().choice(string.ascii_lowercase) for _ in range(12)
) + "@mailchuck.com" ) + "@mailchuck.com"
acct = MailchuckAccount(fromAddress) acct = MailchuckAccount(fromAddress)
acct.register(email) acct.register(email)
config.set(fromAddress, 'label', email) config.set(fromAddress, 'label', email)
@ -2084,7 +2085,7 @@ class MyForm(settingsmixin.SMainWindow):
" an email gateway. Sending registration" " an email gateway. Sending registration"
" now as {0}, please wait for the registration" " now as {0}, please wait for the registration"
" to be processed before retrying sending." " to be processed before retrying sending."
).format(email) ).format(email)
) )
return return
status, addressVersionNumber, streamNumber = decodeAddress(toAddress)[:3] status, addressVersionNumber, streamNumber = decodeAddress(toAddress)[:3]
@ -2100,19 +2101,19 @@ class MyForm(settingsmixin.SMainWindow):
"MainWindow", "MainWindow",
"Error: Bitmessage addresses start with" "Error: Bitmessage addresses start with"
" BM- Please check the recipient address {0}" " BM- Please check the recipient address {0}"
).format(toAddress)) ).format(toAddress))
elif status == 'checksumfailed': elif status == 'checksumfailed':
self.updateStatusBar(_translate( self.updateStatusBar(_translate(
"MainWindow", "MainWindow",
"Error: The recipient address {0} is not" "Error: The recipient address {0} is not"
" typed or copied correctly. Please check it." " typed or copied correctly. Please check it."
).format(toAddress)) ).format(toAddress))
elif status == 'invalidcharacters': elif status == 'invalidcharacters':
self.updateStatusBar(_translate( self.updateStatusBar(_translate(
"MainWindow", "MainWindow",
"Error: The recipient address {0} contains" "Error: The recipient address {0} contains"
" invalid characters. Please check it." " invalid characters. Please check it."
).format(toAddress)) ).format(toAddress))
elif status == 'versiontoohigh': elif status == 'versiontoohigh':
self.updateStatusBar(_translate( self.updateStatusBar(_translate(
"MainWindow", "MainWindow",
@ -2120,7 +2121,7 @@ class MyForm(settingsmixin.SMainWindow):
" {0} is too high. Either you need to upgrade" " {0} is too high. Either you need to upgrade"
" your Bitmessage software or your" " your Bitmessage software or your"
" acquaintance is being clever." " acquaintance is being clever."
).format(toAddress)) ).format(toAddress))
elif status == 'ripetooshort': elif status == 'ripetooshort':
self.updateStatusBar(_translate( self.updateStatusBar(_translate(
"MainWindow", "MainWindow",
@ -2128,7 +2129,7 @@ class MyForm(settingsmixin.SMainWindow):
" address {0} is too short. There might be" " address {0} is too short. There might be"
" something wrong with the software of" " something wrong with the software of"
" your acquaintance." " your acquaintance."
).format(toAddress)) ).format(toAddress))
elif status == 'ripetoolong': elif status == 'ripetoolong':
self.updateStatusBar(_translate( self.updateStatusBar(_translate(
"MainWindow", "MainWindow",
@ -2136,7 +2137,7 @@ class MyForm(settingsmixin.SMainWindow):
" address {0} is too long. There might be" " address {0} is too long. There might be"
" something wrong with the software of" " something wrong with the software of"
" your acquaintance." " your acquaintance."
).format(toAddress)) ).format(toAddress))
elif status == 'varintmalformed': elif status == 'varintmalformed':
self.updateStatusBar(_translate( self.updateStatusBar(_translate(
"MainWindow", "MainWindow",
@ -2144,13 +2145,13 @@ class MyForm(settingsmixin.SMainWindow):
" address {0} is malformed. There might be" " address {0} is malformed. There might be"
" something wrong with the software of" " something wrong with the software of"
" your acquaintance." " your acquaintance."
).format(toAddress)) ).format(toAddress))
else: else:
self.updateStatusBar(_translate( self.updateStatusBar(_translate(
"MainWindow", "MainWindow",
"Error: Something is wrong with the" "Error: Something is wrong with the"
" recipient address {0}." " recipient address {0}."
).format(toAddress)) ).format(toAddress))
elif fromAddress == '': elif fromAddress == '':
self.updateStatusBar(_translate( self.updateStatusBar(_translate(
"MainWindow", "MainWindow",
@ -2306,7 +2307,7 @@ class MyForm(settingsmixin.SMainWindow):
i, AccountColor(address).accountColor(), i, AccountColor(address).accountColor(),
QtCore.Qt.ItemDataRole.ForegroundRole) QtCore.Qt.ItemDataRole.ForegroundRole)
self.ui.comboBoxSendFrom.insertItem(0, '', '') self.ui.comboBoxSendFrom.insertItem(0, '', '')
if(self.ui.comboBoxSendFrom.count() == 2): if (self.ui.comboBoxSendFrom.count() == 2):
self.ui.comboBoxSendFrom.setCurrentIndex(1) self.ui.comboBoxSendFrom.setCurrentIndex(1)
else: else:
self.ui.comboBoxSendFrom.setCurrentIndex(0) self.ui.comboBoxSendFrom.setCurrentIndex(0)
@ -2329,7 +2330,7 @@ class MyForm(settingsmixin.SMainWindow):
i, AccountColor(address).accountColor(), i, AccountColor(address).accountColor(),
QtCore.Qt.ItemDataRole.ForegroundRole) QtCore.Qt.ItemDataRole.ForegroundRole)
self.ui.comboBoxSendFromBroadcast.insertItem(0, '', '') self.ui.comboBoxSendFromBroadcast.insertItem(0, '', '')
if(self.ui.comboBoxSendFromBroadcast.count() == 2): if (self.ui.comboBoxSendFromBroadcast.count() == 2):
self.ui.comboBoxSendFromBroadcast.setCurrentIndex(1) self.ui.comboBoxSendFromBroadcast.setCurrentIndex(1)
else: else:
self.ui.comboBoxSendFromBroadcast.setCurrentIndex(0) self.ui.comboBoxSendFromBroadcast.setCurrentIndex(0)
@ -2659,13 +2660,13 @@ class MyForm(settingsmixin.SMainWindow):
"MainWindow", "MainWindow",
"%n object(s) pending proof of work", None, "%n object(s) pending proof of work", None,
powQueueSize() powQueueSize()
) + ", " + ) + ", "
_translate( + _translate(
"MainWindow", "MainWindow",
"%n object(s) waiting to be distributed", None, "%n object(s) waiting to be distributed", None,
pendingUpload() pendingUpload()
) + "\n\n" + ) + "\n\n"
_translate( + _translate(
"MainWindow", "Wait until these tasks finish?"), "MainWindow", "Wait until these tasks finish?"),
QtWidgets.QMessageBox.StandardButton.Yes | QtWidgets.QMessageBox.StandardButton.No QtWidgets.QMessageBox.StandardButton.Yes | QtWidgets.QMessageBox.StandardButton.No
| QtWidgets.QMessageBox.StandardButton.Cancel, QtWidgets.QMessageBox.StandardButton.Cancel) | QtWidgets.QMessageBox.StandardButton.Cancel, QtWidgets.QMessageBox.StandardButton.Cancel)
@ -2748,8 +2749,8 @@ class MyForm(settingsmixin.SMainWindow):
if curWorkerQueue > 0: if curWorkerQueue > 0:
self.updateStatusBar(_translate( self.updateStatusBar(_translate(
"MainWindow", "Waiting for PoW to finish... {0}%" "MainWindow", "Waiting for PoW to finish... {0}%"
).format(50 * (maxWorkerQueue - curWorkerQueue) / ).format(50 * (maxWorkerQueue - curWorkerQueue)
maxWorkerQueue)) / maxWorkerQueue))
time.sleep(0.5) time.sleep(0.5)
QtCore.QCoreApplication.processEvents( QtCore.QCoreApplication.processEvents(
QtCore.QEventLoop.ProcessEventsFlag.AllEvents, 1000 QtCore.QEventLoop.ProcessEventsFlag.AllEvents, 1000
@ -2855,10 +2856,10 @@ class MyForm(settingsmixin.SMainWindow):
lines[i]) lines[i])
elif lines[i] == '------------------------------------------------------': elif lines[i] == '------------------------------------------------------':
lines[i] = '<hr>' lines[i] = '<hr>'
elif lines[i] == '' and (i+1) < totalLines and \ elif lines[i] == '' and (i + 1) < totalLines and \
lines[i+1] != '------------------------------------------------------': lines[i + 1] != '------------------------------------------------------':
lines[i] = '<br><br>' lines[i] = '<br><br>'
content = ' '.join(lines) # To keep the whitespace between lines content = ' '.join(lines) # To keep the whitespace between lines
content = shared.fixPotentiallyInvalidUTF8Data(content) content = shared.fixPotentiallyInvalidUTF8Data(content)
content = content content = content
textEdit.setHtml(content) textEdit.setHtml(content)
@ -3017,8 +3018,8 @@ class MyForm(settingsmixin.SMainWindow):
toAddressAtCurrentInboxRow = fromAddressAtCurrentInboxRow toAddressAtCurrentInboxRow = fromAddressAtCurrentInboxRow
if fromAddressAtCurrentInboxRow == \ if fromAddressAtCurrentInboxRow == \
tableWidget.item(currentInboxRow, column_from).label or ( tableWidget.item(currentInboxRow, column_from).label or (
isinstance(acct, GatewayAccount) and isinstance(acct, GatewayAccount)
fromAddressAtCurrentInboxRow == acct.relayAddress): and fromAddressAtCurrentInboxRow == acct.relayAddress):
self.ui.lineEditTo.setText(str(acct.fromAddress)) self.ui.lineEditTo.setText(str(acct.fromAddress))
else: else:
self.ui.lineEditTo.setText( self.ui.lineEditTo.setText(
@ -3204,7 +3205,7 @@ class MyForm(settingsmixin.SMainWindow):
defaultFilename = "".join(x for x in subjectAtCurrentInboxRow if x.isalnum()) + '.txt' defaultFilename = "".join(x for x in subjectAtCurrentInboxRow if x.isalnum()) + '.txt'
filename = QtWidgets.QFileDialog.getSaveFileName( filename = QtWidgets.QFileDialog.getSaveFileName(
self, self,
_translate("MainWindow","Save As..."), _translate("MainWindow", "Save As..."),
defaultFilename, defaultFilename,
"Text files (*.txt);;All files (*.*)") "Text files (*.txt);;All files (*.*)")
if filename == '': if filename == '':
@ -3662,8 +3663,8 @@ class MyForm(settingsmixin.SMainWindow):
otherAddress = tableWidget.item(currentRow, 1).data(QtCore.Qt.ItemDataRole.UserRole) otherAddress = tableWidget.item(currentRow, 1).data(QtCore.Qt.ItemDataRole.UserRole)
account = accountClass(myAddress) account = accountClass(myAddress)
if isinstance(account, GatewayAccount) and otherAddress == account.relayAddress and ( if isinstance(account, GatewayAccount) and otherAddress == account.relayAddress and (
(currentColumn in [0, 2] and self.getCurrentFolder() == "sent") or (currentColumn in [0, 2] and self.getCurrentFolder() == "sent")
(currentColumn in [1, 2] and self.getCurrentFolder() != "sent")): or (currentColumn in [1, 2] and self.getCurrentFolder() != "sent")):
text = str(tableWidget.item(currentRow, currentColumn).label) text = str(tableWidget.item(currentRow, currentColumn).label)
else: else:
text = tableWidget.item(currentRow, currentColumn).data(QtCore.Qt.ItemDataRole.UserRole) text = tableWidget.item(currentRow, currentColumn).data(QtCore.Qt.ItemDataRole.UserRole)

View File

@ -216,6 +216,7 @@ class NewSubscriptionDialog(AddressDataDialog):
class RegenerateAddressesDialog(QtWidgets.QDialog): class RegenerateAddressesDialog(QtWidgets.QDialog):
"""QDialog for regenerating deterministic addresses""" """QDialog for regenerating deterministic addresses"""
def __init__(self, parent=None): def __init__(self, parent=None):
super(RegenerateAddressesDialog, self).__init__(parent) super(RegenerateAddressesDialog, self).__init__(parent)
widgets.load('regenerateaddresses.ui', self) widgets.load('regenerateaddresses.ui', self)
@ -288,6 +289,7 @@ class SpecialAddressBehaviorDialog(QtWidgets.QDialog):
class EmailGatewayDialog(QtWidgets.QDialog): class EmailGatewayDialog(QtWidgets.QDialog):
"""QDialog for email gateway control""" """QDialog for email gateway control"""
def __init__(self, parent, config=global_config, account=None): def __init__(self, parent, config=global_config, account=None):
super(EmailGatewayDialog, self).__init__(parent) super(EmailGatewayDialog, self).__init__(parent)
widgets.load('emailgateway.ui', self) widgets.load('emailgateway.ui', self)

View File

@ -16,6 +16,7 @@ from .utils import str_chan
class AddressPassPhraseValidatorMixin(object): class AddressPassPhraseValidatorMixin(object):
"""Bitmessage address or passphrase validator class for Qt UI""" """Bitmessage address or passphrase validator class for Qt UI"""
def setParams( def setParams(
self, self,
passPhraseObject=None, passPhraseObject=None,
@ -169,6 +170,7 @@ class AddressPassPhraseValidatorMixin(object):
class AddressValidator(QtGui.QValidator, AddressPassPhraseValidatorMixin): class AddressValidator(QtGui.QValidator, AddressPassPhraseValidatorMixin):
"""AddressValidator class for Qt UI""" """AddressValidator class for Qt UI"""
def __init__(self, parent=None, passPhraseObject=None, feedBackObject=None, buttonBox=None, addressMandatory=True): def __init__(self, parent=None, passPhraseObject=None, feedBackObject=None, buttonBox=None, addressMandatory=True):
super(AddressValidator, self).__init__(parent) super(AddressValidator, self).__init__(parent)
self.setParams(passPhraseObject, parent, feedBackObject, buttonBox, addressMandatory) self.setParams(passPhraseObject, parent, feedBackObject, buttonBox, addressMandatory)
@ -176,6 +178,7 @@ class AddressValidator(QtGui.QValidator, AddressPassPhraseValidatorMixin):
class PassPhraseValidator(QtGui.QValidator, AddressPassPhraseValidatorMixin): class PassPhraseValidator(QtGui.QValidator, AddressPassPhraseValidatorMixin):
"""PassPhraseValidator class for Qt UI""" """PassPhraseValidator class for Qt UI"""
def __init__(self, parent=None, addressObject=None, feedBackObject=None, buttonBox=None, addressMandatory=False): def __init__(self, parent=None, addressObject=None, feedBackObject=None, buttonBox=None, addressMandatory=False):
super(PassPhraseValidator, self).__init__(parent) super(PassPhraseValidator, self).__init__(parent)
self.setParams(parent, addressObject, feedBackObject, buttonBox, addressMandatory) self.setParams(parent, addressObject, feedBackObject, buttonBox, addressMandatory)

View File

@ -1666,10 +1666,13 @@ qt_resource_struct = b"\
\x00\x00\x01\xe6\x00\x00\x00\x00\x00\x01\x00\x00\x34\xdf\ \x00\x00\x01\xe6\x00\x00\x00\x00\x00\x01\x00\x00\x34\xdf\
" "
def qInitResources(): def qInitResources():
QtCore.qRegisterResourceData(0x01, qt_resource_struct, qt_resource_name, qt_resource_data) QtCore.qRegisterResourceData(0x01, qt_resource_struct, qt_resource_name, qt_resource_data)
def qCleanupResources(): def qCleanupResources():
QtCore.qUnregisterResourceData(0x01, qt_resource_struct, qt_resource_name, qt_resource_data) QtCore.qUnregisterResourceData(0x01, qt_resource_struct, qt_resource_name, qt_resource_data)
qInitResources() qInitResources()

View File

@ -15,6 +15,7 @@ import bitmessageqt.settingsmixin as settingsmixin
from .networkstatus import NetworkStatus from .networkstatus import NetworkStatus
from .blacklist import Blacklist from .blacklist import Blacklist
class Ui_MainWindow(object): class Ui_MainWindow(object):
def setupUi(self, MainWindow): def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow") MainWindow.setObjectName("MainWindow")
@ -22,7 +23,8 @@ class Ui_MainWindow(object):
self.MainDock = QtWidgets.QDockWidget(parent=MainWindow) self.MainDock = QtWidgets.QDockWidget(parent=MainWindow)
self.MainDock.setGeometry(QtCore.QRect(0, 0, 885, 580)) self.MainDock.setGeometry(QtCore.QRect(0, 0, 885, 580))
icon = QtGui.QIcon() icon = QtGui.QIcon()
icon.addPixmap(QtGui.QPixmap(":/newPrefix/images/can-icon-24px.png"), QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.Off) icon.addPixmap(QtGui.QPixmap(":/newPrefix/images/can-icon-24px.png"),
QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.Off)
self.MainDock.setWindowIcon(icon) self.MainDock.setWindowIcon(icon)
self.MainDock.setObjectName("MainDock") self.MainDock.setObjectName("MainDock")
self.centralwidget = QtWidgets.QWidget() self.centralwidget = QtWidgets.QWidget()
@ -31,7 +33,8 @@ class Ui_MainWindow(object):
self.gridLayout_10.setObjectName("gridLayout_10") self.gridLayout_10.setObjectName("gridLayout_10")
self.tabWidget = QtWidgets.QTabWidget(parent=self.centralwidget) self.tabWidget = QtWidgets.QTabWidget(parent=self.centralwidget)
self.tabWidget.setTabShape(QtWidgets.QTabWidget.TabShape.Rounded) self.tabWidget.setTabShape(QtWidgets.QTabWidget.TabShape.Rounded)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Expanding) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding,
QtWidgets.QSizePolicy.Policy.Expanding)
sizePolicy.setHorizontalStretch(0) sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0) sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.tabWidget.sizePolicy().hasHeightForWidth()) sizePolicy.setHeightForWidth(self.tabWidget.sizePolicy().hasHeightForWidth())
@ -56,7 +59,8 @@ class Ui_MainWindow(object):
self.treeWidgetYourIdentities.setMaximumSize(QtCore.QSize(200, 16777215)) self.treeWidgetYourIdentities.setMaximumSize(QtCore.QSize(200, 16777215))
self.treeWidgetYourIdentities.setObjectName("treeWidgetYourIdentities") self.treeWidgetYourIdentities.setObjectName("treeWidgetYourIdentities")
icon1 = QtGui.QIcon() icon1 = QtGui.QIcon()
icon1.addPixmap(QtGui.QPixmap(":/newPrefix/images/identities.png"), QtGui.QIcon.Mode.Selected, QtGui.QIcon.State.Off) icon1.addPixmap(QtGui.QPixmap(":/newPrefix/images/identities.png"),
QtGui.QIcon.Mode.Selected, QtGui.QIcon.State.Off)
self.treeWidgetYourIdentities.headerItem().setIcon(0, icon1) self.treeWidgetYourIdentities.headerItem().setIcon(0, icon1)
self.verticalLayout_12.addWidget(self.treeWidgetYourIdentities) self.verticalLayout_12.addWidget(self.treeWidgetYourIdentities)
self.pushButtonNewAddress = QtWidgets.QPushButton(parent=self.inbox) self.pushButtonNewAddress = QtWidgets.QPushButton(parent=self.inbox)
@ -135,7 +139,8 @@ class Ui_MainWindow(object):
self.tableWidgetAddressBook.setRowCount(0) self.tableWidgetAddressBook.setRowCount(0)
item = QtWidgets.QTableWidgetItem() item = QtWidgets.QTableWidgetItem()
icon3 = QtGui.QIcon() icon3 = QtGui.QIcon()
icon3.addPixmap(QtGui.QPixmap(":/newPrefix/images/addressbook.png"), QtGui.QIcon.Mode.Selected, QtGui.QIcon.State.Off) icon3.addPixmap(QtGui.QPixmap(":/newPrefix/images/addressbook.png"),
QtGui.QIcon.Mode.Selected, QtGui.QIcon.State.Off)
item.setIcon(icon3) item.setIcon(icon3)
self.tableWidgetAddressBook.setHorizontalHeaderItem(0, item) self.tableWidgetAddressBook.setHorizontalHeaderItem(0, item)
item = QtWidgets.QTableWidgetItem() item = QtWidgets.QTableWidgetItem()
@ -311,7 +316,8 @@ class Ui_MainWindow(object):
self.treeWidgetSubscriptions.setSelectionBehavior(QtWidgets.QAbstractItemView.SelectionBehavior.SelectRows) self.treeWidgetSubscriptions.setSelectionBehavior(QtWidgets.QAbstractItemView.SelectionBehavior.SelectRows)
self.treeWidgetSubscriptions.setObjectName("treeWidgetSubscriptions") self.treeWidgetSubscriptions.setObjectName("treeWidgetSubscriptions")
icon5 = QtGui.QIcon() icon5 = QtGui.QIcon()
icon5.addPixmap(QtGui.QPixmap(":/newPrefix/images/subscriptions.png"), QtGui.QIcon.Mode.Selected, QtGui.QIcon.State.Off) icon5.addPixmap(QtGui.QPixmap(":/newPrefix/images/subscriptions.png"),
QtGui.QIcon.Mode.Selected, QtGui.QIcon.State.Off)
self.treeWidgetSubscriptions.headerItem().setIcon(0, icon5) self.treeWidgetSubscriptions.headerItem().setIcon(0, icon5)
self.verticalLayout_3.addWidget(self.treeWidgetSubscriptions) self.verticalLayout_3.addWidget(self.treeWidgetSubscriptions)
self.pushButtonAddSubscription = QtWidgets.QPushButton(parent=self.subscriptions) self.pushButtonAddSubscription = QtWidgets.QPushButton(parent=self.subscriptions)
@ -338,8 +344,10 @@ class Ui_MainWindow(object):
self.tableWidgetInboxSubscriptions = QtWidgets.QTableWidget(parent=self.subscriptions) self.tableWidgetInboxSubscriptions = QtWidgets.QTableWidget(parent=self.subscriptions)
self.tableWidgetInboxSubscriptions.setEditTriggers(QtWidgets.QAbstractItemView.EditTrigger.NoEditTriggers) self.tableWidgetInboxSubscriptions.setEditTriggers(QtWidgets.QAbstractItemView.EditTrigger.NoEditTriggers)
self.tableWidgetInboxSubscriptions.setAlternatingRowColors(True) self.tableWidgetInboxSubscriptions.setAlternatingRowColors(True)
self.tableWidgetInboxSubscriptions.setSelectionMode(QtWidgets.QAbstractItemView.SelectionMode.ExtendedSelection) self.tableWidgetInboxSubscriptions.setSelectionMode(
self.tableWidgetInboxSubscriptions.setSelectionBehavior(QtWidgets.QAbstractItemView.SelectionBehavior.SelectRows) QtWidgets.QAbstractItemView.SelectionMode.ExtendedSelection)
self.tableWidgetInboxSubscriptions.setSelectionBehavior(
QtWidgets.QAbstractItemView.SelectionBehavior.SelectRows)
self.tableWidgetInboxSubscriptions.setWordWrap(False) self.tableWidgetInboxSubscriptions.setWordWrap(False)
self.tableWidgetInboxSubscriptions.setObjectName("tableWidgetInboxSubscriptions") self.tableWidgetInboxSubscriptions.setObjectName("tableWidgetInboxSubscriptions")
self.tableWidgetInboxSubscriptions.setColumnCount(4) self.tableWidgetInboxSubscriptions.setColumnCount(4)
@ -369,7 +377,8 @@ class Ui_MainWindow(object):
self.horizontalLayout_4.addLayout(self.verticalLayout_4) self.horizontalLayout_4.addLayout(self.verticalLayout_4)
self.gridLayout_3.addLayout(self.horizontalLayout_4, 0, 0, 1, 1) self.gridLayout_3.addLayout(self.horizontalLayout_4, 0, 0, 1, 1)
icon6 = QtGui.QIcon() icon6 = QtGui.QIcon()
icon6.addPixmap(QtGui.QPixmap(":/newPrefix/images/subscriptions.png"), QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.Off) icon6.addPixmap(QtGui.QPixmap(":/newPrefix/images/subscriptions.png"),
QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.Off)
self.tabWidget.addTab(self.subscriptions, icon6, "") self.tabWidget.addTab(self.subscriptions, icon6, "")
self.chans = QtWidgets.QWidget() self.chans = QtWidgets.QWidget()
self.chans.setObjectName("chans") self.chans.setObjectName("chans")
@ -388,7 +397,8 @@ class Ui_MainWindow(object):
self.treeWidgetChans.setSelectionBehavior(QtWidgets.QAbstractItemView.SelectionBehavior.SelectRows) self.treeWidgetChans.setSelectionBehavior(QtWidgets.QAbstractItemView.SelectionBehavior.SelectRows)
self.treeWidgetChans.setObjectName("treeWidgetChans") self.treeWidgetChans.setObjectName("treeWidgetChans")
icon7 = QtGui.QIcon() icon7 = QtGui.QIcon()
icon7.addPixmap(QtGui.QPixmap(":/newPrefix/images/can-icon-16px.png"), QtGui.QIcon.Mode.Selected, QtGui.QIcon.State.Off) icon7.addPixmap(QtGui.QPixmap(":/newPrefix/images/can-icon-16px.png"),
QtGui.QIcon.Mode.Selected, QtGui.QIcon.State.Off)
self.treeWidgetChans.headerItem().setIcon(0, icon7) self.treeWidgetChans.headerItem().setIcon(0, icon7)
self.verticalLayout_17.addWidget(self.treeWidgetChans) self.verticalLayout_17.addWidget(self.treeWidgetChans)
self.pushButtonAddChan = QtWidgets.QPushButton(parent=self.chans) self.pushButtonAddChan = QtWidgets.QPushButton(parent=self.chans)
@ -446,7 +456,8 @@ class Ui_MainWindow(object):
self.horizontalLayout_7.addLayout(self.verticalLayout_8) self.horizontalLayout_7.addLayout(self.verticalLayout_8)
self.gridLayout_4.addLayout(self.horizontalLayout_7, 0, 0, 1, 1) self.gridLayout_4.addLayout(self.horizontalLayout_7, 0, 0, 1, 1)
icon8 = QtGui.QIcon() icon8 = QtGui.QIcon()
icon8.addPixmap(QtGui.QPixmap(":/newPrefix/images/can-icon-16px.png"), QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.Off) icon8.addPixmap(QtGui.QPixmap(":/newPrefix/images/can-icon-16px.png"),
QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.Off)
self.tabWidget.addTab(self.chans, icon8, "") self.tabWidget.addTab(self.chans, icon8, "")
self.blackwhitelist = Blacklist() self.blackwhitelist = Blacklist()
self.blackwhitelist.setObjectName("blackwhitelist") self.blackwhitelist.setObjectName("blackwhitelist")
@ -598,19 +609,21 @@ class Ui_MainWindow(object):
self.label_2.setText(_translate("MainWindow", "From:")) self.label_2.setText(_translate("MainWindow", "From:"))
self.label.setText(_translate("MainWindow", "To:")) self.label.setText(_translate("MainWindow", "To:"))
self.textEditMessage.setHtml(_translate("MainWindow", "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" \"http://www.w3.org/TR/REC-html40/strict.dtd\">\n" self.textEditMessage.setHtml(_translate("MainWindow", "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" \"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
"<html><head><meta name=\"qrichtext\" content=\"1\" /><style type=\"text/css\">\n" "<html><head><meta name=\"qrichtext\" content=\"1\" /><style type=\"text/css\">\n"
"p, li { white-space: pre-wrap; }\n" "p, li { white-space: pre-wrap; }\n"
"</style></head><body style=\" font-family:\'Droid Sans\'; font-size:9pt; font-weight:400; font-style:normal;\">\n" "</style></head><body style=\" font-family:\'Droid Sans\'; font-size:9pt; font-weight:400; font-style:normal;\">\n"
"<p style=\"-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:\'MS Shell Dlg 2\';\"><br /></p></body></html>")) "<p style=\"-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:\'MS Shell Dlg 2\';\"><br /></p></body></html>"))
self.tabWidgetSend.setTabText(self.tabWidgetSend.indexOf(self.sendDirect), _translate("MainWindow", "Send ordinary Message")) self.tabWidgetSend.setTabText(self.tabWidgetSend.indexOf(self.sendDirect),
_translate("MainWindow", "Send ordinary Message"))
self.label_8.setText(_translate("MainWindow", "From:")) self.label_8.setText(_translate("MainWindow", "From:"))
self.label_7.setText(_translate("MainWindow", "Subject:")) self.label_7.setText(_translate("MainWindow", "Subject:"))
self.textEditMessageBroadcast.setHtml(_translate("MainWindow", "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" \"http://www.w3.org/TR/REC-html40/strict.dtd\">\n" self.textEditMessageBroadcast.setHtml(_translate("MainWindow", "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" \"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
"<html><head><meta name=\"qrichtext\" content=\"1\" /><style type=\"text/css\">\n" "<html><head><meta name=\"qrichtext\" content=\"1\" /><style type=\"text/css\">\n"
"p, li { white-space: pre-wrap; }\n" "p, li { white-space: pre-wrap; }\n"
"</style></head><body style=\" font-family:\'Droid Sans\'; font-size:9pt; font-weight:400; font-style:normal;\">\n" "</style></head><body style=\" font-family:\'Droid Sans\'; font-size:9pt; font-weight:400; font-style:normal;\">\n"
"<p style=\"-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:\'MS Shell Dlg 2\';\"><br /></p></body></html>")) "<p style=\"-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:\'MS Shell Dlg 2\';\"><br /></p></body></html>"))
self.tabWidgetSend.setTabText(self.tabWidgetSend.indexOf(self.sendBroadcast), _translate("MainWindow", "Send Message to your Subscribers")) self.tabWidgetSend.setTabText(self.tabWidgetSend.indexOf(self.sendBroadcast),
_translate("MainWindow", "Send Message to your Subscribers"))
self.pushButtonTTL.setText(_translate("MainWindow", "TTL:")) self.pushButtonTTL.setText(_translate("MainWindow", "TTL:"))
self.pushButtonClear.setText(_translate("MainWindow", "Clear")) self.pushButtonClear.setText(_translate("MainWindow", "Clear"))
self.pushButtonSend.setText(_translate("MainWindow", "Send")) self.pushButtonSend.setText(_translate("MainWindow", "Send"))
@ -632,7 +645,8 @@ class Ui_MainWindow(object):
item.setText(_translate("MainWindow", "Subject")) item.setText(_translate("MainWindow", "Subject"))
item = self.tableWidgetInboxSubscriptions.horizontalHeaderItem(3) item = self.tableWidgetInboxSubscriptions.horizontalHeaderItem(3)
item.setText(_translate("MainWindow", "Received")) item.setText(_translate("MainWindow", "Received"))
self.tabWidget.setTabText(self.tabWidget.indexOf(self.subscriptions), _translate("MainWindow", "Subscriptions")) self.tabWidget.setTabText(self.tabWidget.indexOf(self.subscriptions),
_translate("MainWindow", "Subscriptions"))
self.treeWidgetChans.headerItem().setText(0, _translate("MainWindow", "Chans")) self.treeWidgetChans.headerItem().setText(0, _translate("MainWindow", "Chans"))
self.pushButtonAddChan.setText(_translate("MainWindow", "Add Chan")) self.pushButtonAddChan.setText(_translate("MainWindow", "Add Chan"))
self.inboxSearchLineEditChans.setPlaceholderText(_translate("MainWindow", "Search")) self.inboxSearchLineEditChans.setPlaceholderText(_translate("MainWindow", "Search"))
@ -652,7 +666,8 @@ class Ui_MainWindow(object):
item.setText(_translate("MainWindow", "Received")) item.setText(_translate("MainWindow", "Received"))
self.tabWidget.setTabText(self.tabWidget.indexOf(self.chans), _translate("MainWindow", "Chans")) self.tabWidget.setTabText(self.tabWidget.indexOf(self.chans), _translate("MainWindow", "Chans"))
self.networkstatus.retranslateUi() self.networkstatus.retranslateUi()
self.tabWidget.setTabText(self.tabWidget.indexOf(self.networkstatus), _translate("MainWindow", "Network Status")) self.tabWidget.setTabText(self.tabWidget.indexOf(self.networkstatus),
_translate("MainWindow", "Network Status"))
self.menuFile.setTitle(_translate("MainWindow", "File")) self.menuFile.setTitle(_translate("MainWindow", "File"))
self.menuSettings.setTitle(_translate("MainWindow", "Settings")) self.menuSettings.setTitle(_translate("MainWindow", "Settings"))
self.menuHelp.setTitle(_translate("MainWindow", "Help")) self.menuHelp.setTitle(_translate("MainWindow", "Help"))
@ -665,7 +680,8 @@ class Ui_MainWindow(object):
self.actionSupport.setText(_translate("MainWindow", "Contact support")) self.actionSupport.setText(_translate("MainWindow", "Contact support"))
self.actionAbout.setText(_translate("MainWindow", "About")) self.actionAbout.setText(_translate("MainWindow", "About"))
self.actionSettings.setText(_translate("MainWindow", "Settings")) self.actionSettings.setText(_translate("MainWindow", "Settings"))
self.actionRegenerateDeterministicAddresses.setText(_translate("MainWindow", "Regenerate deterministic addresses")) self.actionRegenerateDeterministicAddresses.setText(
_translate("MainWindow", "Regenerate deterministic addresses"))
self.actionDeleteAllTrashedMessages.setText(_translate("MainWindow", "Delete all trashed messages")) self.actionDeleteAllTrashedMessages.setText(_translate("MainWindow", "Delete all trashed messages"))
self.actionJoinChan.setText(_translate("MainWindow", "Join / Create chan")) self.actionJoinChan.setText(_translate("MainWindow", "Join / Create chan"))
self.updateNetworkSwitchMenuLabel() self.updateNetworkSwitchMenuLabel()

View File

@ -27,7 +27,7 @@ class Blacklist(QtWidgets.QWidget, RetranslateMixin):
self.tableWidgetBlacklist.itemChanged.connect(self.tableWidgetBlacklistItemChanged) self.tableWidgetBlacklist.itemChanged.connect(self.tableWidgetBlacklistItemChanged)
# Set the icon sizes for the identicons # Set the icon sizes for the identicons
identicon_size = 3*7 identicon_size = 3 * 7
self.tableWidgetBlacklist.setIconSize(QtCore.QSize(identicon_size, identicon_size)) self.tableWidgetBlacklist.setIconSize(QtCore.QSize(identicon_size, identicon_size))
self.UISignalThread = UISignaler.get() self.UISignalThread = UISignaler.get()
@ -64,7 +64,7 @@ class Blacklist(QtWidgets.QWidget, RetranslateMixin):
sql = '''select * from blacklist where address=?''' sql = '''select * from blacklist where address=?'''
else: else:
sql = '''select * from whitelist where address=?''' sql = '''select * from whitelist where address=?'''
queryreturn = sqlQuery(sql,*t) queryreturn = sqlQuery(sql, *t)
if queryreturn == []: if queryreturn == []:
self.tableWidgetBlacklist.setSortingEnabled(False) self.tableWidgetBlacklist.setSortingEnabled(False)
self.tableWidgetBlacklist.insertRow(0) self.tableWidgetBlacklist.insertRow(0)
@ -106,10 +106,10 @@ class Blacklist(QtWidgets.QWidget, RetranslateMixin):
if isinstance(addressitem, QtWidgets.QTableWidgetItem): if isinstance(addressitem, QtWidgets.QTableWidgetItem):
if self.radioButtonBlacklist.isChecked(): if self.radioButtonBlacklist.isChecked():
sqlExecute('''UPDATE blacklist SET label=? WHERE address=?''', sqlExecute('''UPDATE blacklist SET label=? WHERE address=?''',
str(item.text()), str(addressitem.text())) str(item.text()), str(addressitem.text()))
else: else:
sqlExecute('''UPDATE whitelist SET label=? WHERE address=?''', sqlExecute('''UPDATE whitelist SET label=? WHERE address=?''',
str(item.text()), str(addressitem.text())) str(item.text()), str(addressitem.text()))
def init_blacklist_popup_menu(self, connectSignal=True): def init_blacklist_popup_menu(self, connectSignal=True):
# Popup menu for the Blacklist page # Popup menu for the Blacklist page

View File

@ -27,6 +27,7 @@ __all__ = [
class AboutDialog(QtWidgets.QDialog): class AboutDialog(QtWidgets.QDialog):
"""The `About` dialog""" """The `About` dialog"""
def __init__(self, parent=None): def __init__(self, parent=None):
super(AboutDialog, self).__init__(parent) super(AboutDialog, self).__init__(parent)
widgets.load('about.ui', self) widgets.load('about.ui', self)
@ -55,6 +56,7 @@ class AboutDialog(QtWidgets.QDialog):
class IconGlossaryDialog(QtWidgets.QDialog): class IconGlossaryDialog(QtWidgets.QDialog):
"""The `Icon Glossary` dialog, explaining the status icon colors""" """The `Icon Glossary` dialog, explaining the status icon colors"""
def __init__(self, parent=None, config=None): def __init__(self, parent=None, config=None):
super(IconGlossaryDialog, self).__init__(parent) super(IconGlossaryDialog, self).__init__(parent)
widgets.load('iconglossary.ui', self) widgets.load('iconglossary.ui', self)
@ -71,6 +73,7 @@ class IconGlossaryDialog(QtWidgets.QDialog):
class HelpDialog(QtWidgets.QDialog): class HelpDialog(QtWidgets.QDialog):
"""The `Help` dialog""" """The `Help` dialog"""
def __init__(self, parent=None): def __init__(self, parent=None):
super(HelpDialog, self).__init__(parent) super(HelpDialog, self).__init__(parent)
widgets.load('help.ui', self) widgets.load('help.ui', self)
@ -79,6 +82,7 @@ class HelpDialog(QtWidgets.QDialog):
class ConnectDialog(QtWidgets.QDialog): class ConnectDialog(QtWidgets.QDialog):
"""The `Connect` dialog""" """The `Connect` dialog"""
def __init__(self, parent=None): def __init__(self, parent=None):
super(ConnectDialog, self).__init__(parent) super(ConnectDialog, self).__init__(parent)
widgets.load('connect.ui', self) widgets.load('connect.ui', self)

View File

@ -219,6 +219,7 @@ class Ui_FolderWidget(BMTreeWidgetItem):
class Ui_AddressWidget(BMTreeWidgetItem, SettingsMixin): class Ui_AddressWidget(BMTreeWidgetItem, SettingsMixin):
"""Item in the account/folder tree representing an account""" """Item in the account/folder tree representing an account"""
def __init__(self, parent, pos=0, address=None, unreadCount=0, enabled=True): def __init__(self, parent, pos=0, address=None, unreadCount=0, enabled=True):
super(Ui_AddressWidget, self).__init__( super(Ui_AddressWidget, self).__init__(
parent, pos, address, unreadCount) parent, pos, address, unreadCount)
@ -297,6 +298,7 @@ class Ui_AddressWidget(BMTreeWidgetItem, SettingsMixin):
class Ui_SubscriptionWidget(Ui_AddressWidget): class Ui_SubscriptionWidget(Ui_AddressWidget):
"""Special treating of subscription addresses""" """Special treating of subscription addresses"""
# pylint: disable=unused-argument # pylint: disable=unused-argument
def __init__(self, parent, pos=0, address="", unreadCount=0, label="", enabled=True): def __init__(self, parent, pos=0, address="", unreadCount=0, label="", enabled=True):
super(Ui_SubscriptionWidget, self).__init__( super(Ui_SubscriptionWidget, self).__init__(
parent, pos, address, unreadCount, enabled) parent, pos, address, unreadCount, enabled)
@ -387,6 +389,7 @@ class BMAddressWidget(BMTableWidgetItem, AccountMixin):
class MessageList_AddressWidget(BMAddressWidget): class MessageList_AddressWidget(BMAddressWidget):
"""Address item in a messagelist""" """Address item in a messagelist"""
def __init__(self, address=None, label=None, unread=False): def __init__(self, address=None, label=None, unread=False):
self.setAddress(address) self.setAddress(address)
super(MessageList_AddressWidget, self).__init__(label, unread) super(MessageList_AddressWidget, self).__init__(label, unread)
@ -436,6 +439,7 @@ class MessageList_AddressWidget(BMAddressWidget):
class MessageList_SubjectWidget(BMTableWidgetItem): class MessageList_SubjectWidget(BMTableWidgetItem):
"""Message list subject item""" """Message list subject item"""
def __init__(self, subject=None, label=None, unread=False): def __init__(self, subject=None, label=None, unread=False):
self.setSubject(subject) self.setSubject(subject)
super(MessageList_SubjectWidget, self).__init__(label, unread) super(MessageList_SubjectWidget, self).__init__(label, unread)
@ -493,6 +497,7 @@ class MessageList_TimeWidget(BMTableWidgetItem):
class Ui_AddressBookWidgetItem(BMAddressWidget): class Ui_AddressBookWidgetItem(BMAddressWidget):
"""Addressbook item""" """Addressbook item"""
# pylint: disable=unused-argument # pylint: disable=unused-argument
def __init__(self, label=None, acc_type=AccountMixin.NORMAL): def __init__(self, label=None, acc_type=AccountMixin.NORMAL):
self.type = acc_type self.type = acc_type
super(Ui_AddressBookWidgetItem, self).__init__(label=label) super(Ui_AddressBookWidgetItem, self).__init__(label=label)
@ -535,6 +540,7 @@ class Ui_AddressBookWidgetItem(BMAddressWidget):
class Ui_AddressBookWidgetItemLabel(Ui_AddressBookWidgetItem): class Ui_AddressBookWidgetItemLabel(Ui_AddressBookWidgetItem):
"""Addressbook label item""" """Addressbook label item"""
def __init__(self, address, label, acc_type): def __init__(self, address, label, acc_type):
self.address = address self.address = address
super(Ui_AddressBookWidgetItemLabel, self).__init__(label, acc_type) super(Ui_AddressBookWidgetItemLabel, self).__init__(label, acc_type)
@ -547,6 +553,7 @@ class Ui_AddressBookWidgetItemLabel(Ui_AddressBookWidgetItem):
class Ui_AddressBookWidgetItemAddress(Ui_AddressBookWidgetItem): class Ui_AddressBookWidgetItemAddress(Ui_AddressBookWidgetItem):
"""Addressbook address item""" """Addressbook address item"""
def __init__(self, address, label, acc_type): def __init__(self, address, label, acc_type):
self.address = address self.address = address
super(Ui_AddressBookWidgetItemAddress, self).__init__(address, acc_type) super(Ui_AddressBookWidgetItemAddress, self).__init__(address, acc_type)

View File

@ -8,6 +8,7 @@ from PyQt6 import QtCore, QtGui, QtWidgets
class MessageCompose(QtWidgets.QTextEdit): class MessageCompose(QtWidgets.QTextEdit):
"""Editor class with wheel zoom functionality""" """Editor class with wheel zoom functionality"""
def __init__(self, parent=0): def __init__(self, parent=0):
super(MessageCompose, self).__init__(parent) super(MessageCompose, self).__init__(parent)
self.setAcceptRichText(False) self.setAcceptRichText(False)

View File

@ -135,7 +135,7 @@ class MessageView(QtWidgets.QTextBrowser):
out = self.html.raw out = self.html.raw
if self.html.has_html: if self.html.has_html:
out = "<div align=\"center\" style=\"text-decoration: underline;\"><b>" + QtWidgets.QApplication.translate( out = "<div align=\"center\" style=\"text-decoration: underline;\"><b>" + QtWidgets.QApplication.translate(
"MessageView", "HTML detected, click here to display") + "</b></div><br/>" + out "MessageView", "HTML detected, click here to display") + "</b></div><br/>" + out
self.out = out self.out = out
self.outpos = 0 self.outpos = 0
self.setHtml("") self.setHtml("")
@ -145,7 +145,8 @@ class MessageView(QtWidgets.QTextBrowser):
"""Render message as HTML""" """Render message as HTML"""
self.mode = MessageView.MODE_HTML self.mode = MessageView.MODE_HTML
out = self.html.sanitised out = self.html.sanitised
out = "<div align=\"center\" style=\"text-decoration: underline;\"><b>" + QtWidgets.QApplication.translate("MessageView", "Click here to disable HTML") + "</b></div><br/>" + out out = "<div align=\"center\" style=\"text-decoration: underline;\"><b>" + \
QtWidgets.QApplication.translate("MessageView", "Click here to disable HTML") + "</b></div><br/>" + out
self.out = out self.out = out
self.outpos = 0 self.outpos = 0
self.setHtml("") self.setHtml("")

View File

@ -1,22 +1,23 @@
#!/usr/bin/env python2.7 #!/usr/bin/env python2.7
from PyQt6 import QtCore, QtGui, QtWidgets from PyQt6 import QtCore, QtGui, QtWidgets
class MigrationWizardIntroPage(QtWidgets.QWizardPage): class MigrationWizardIntroPage(QtWidgets.QWizardPage):
def __init__(self): def __init__(self):
super(QtGui.QWizardPage, self).__init__() super(QtGui.QWizardPage, self).__init__()
self.setTitle("Migrating configuration") self.setTitle("Migrating configuration")
label = QtGui.QLabel("This wizard will help you to migrate your configuration. " label = QtGui.QLabel("This wizard will help you to migrate your configuration. "
"You can still keep using PyBitMessage once you migrate, the changes are backwards compatible.") "You can still keep using PyBitMessage once you migrate, the changes are backwards compatible.")
label.setWordWrap(True) label.setWordWrap(True)
layout = QtGui.QVBoxLayout() layout = QtGui.QVBoxLayout()
layout.addWidget(label) layout.addWidget(label)
self.setLayout(layout) self.setLayout(layout)
def nextId(self): def nextId(self):
return 1 return 1
class MigrationWizardAddressesPage(QtWidgets.QWizardPage): class MigrationWizardAddressesPage(QtWidgets.QWizardPage):
def __init__(self, addresses): def __init__(self, addresses):
@ -29,10 +30,10 @@ class MigrationWizardAddressesPage(QtWidgets.QWizardPage):
layout = QtGui.QVBoxLayout() layout = QtGui.QVBoxLayout()
layout.addWidget(label) layout.addWidget(label)
self.setLayout(layout) self.setLayout(layout)
def nextId(self): def nextId(self):
return 10 return 10
class MigrationWizardGPUPage(QtWidgets.QWizardPage): class MigrationWizardGPUPage(QtWidgets.QWizardPage):
def __init__(self): def __init__(self):
@ -45,10 +46,10 @@ class MigrationWizardGPUPage(QtWidgets.QWizardPage):
layout = QtGui.QVBoxLayout() layout = QtGui.QVBoxLayout()
layout.addWidget(label) layout.addWidget(label)
self.setLayout(layout) self.setLayout(layout)
def nextId(self): def nextId(self):
return 10 return 10
class MigrationWizardConclusionPage(QtWidgets.QWizardPage): class MigrationWizardConclusionPage(QtWidgets.QWizardPage):
def __init__(self): def __init__(self):
@ -68,7 +69,7 @@ class Ui_MigrationWizard(QtWidgets.QWizard):
super(QtGui.QWizard, self).__init__() super(QtGui.QWizard, self).__init__()
self.pages = {} self.pages = {}
page = MigrationWizardIntroPage() page = MigrationWizardIntroPage()
self.setPage(0, page) self.setPage(0, page)
self.setStartId(0) self.setStartId(0)

View File

@ -18,6 +18,7 @@ from .uisignaler import UISignaler
class NetworkStatus(QtWidgets.QWidget, RetranslateMixin): class NetworkStatus(QtWidgets.QWidget, RetranslateMixin):
"""Network status tab""" """Network status tab"""
def __init__(self, parent=None): def __init__(self, parent=None):
super(NetworkStatus, self).__init__(parent) super(NetworkStatus, self).__init__(parent)
widgets.load('networkstatus.ui', self) widgets.load('networkstatus.ui', self)

View File

@ -17,12 +17,13 @@ from .utils import str_chan
class NewChanDialog(QtWidgets.QDialog): class NewChanDialog(QtWidgets.QDialog):
"""The `New Chan` dialog""" """The `New Chan` dialog"""
def __init__(self, parent=None): def __init__(self, parent=None):
super(NewChanDialog, self).__init__(parent) super(NewChanDialog, self).__init__(parent)
widgets.load('newchandialog.ui', self) widgets.load('newchandialog.ui', self)
self.parent = parent self.parent = parent
# XXX unresolved # XXX unresolved
#self.chanAddress.setValidator( # self.chanAddress.setValidator(
# AddressValidator( # AddressValidator(
# self.chanAddress, # self.chanAddress,
# self.chanPassPhrase, # self.chanPassPhrase,
@ -30,7 +31,7 @@ class NewChanDialog(QtWidgets.QDialog):
# self.buttonBox, # self.buttonBox,
# False)) # False))
# XXX unresolved # XXX unresolved
#self.chanPassPhrase.setValidator( # self.chanPassPhrase.setValidator(
# PassPhraseValidator( # PassPhraseValidator(
# self.chanPassPhrase, # self.chanPassPhrase,
# self.chanAddress, # self.chanAddress,

View File

@ -3,6 +3,7 @@ from PyQt6 import QtGui, QtWidgets
from debug import logger from debug import logger
import bitmessageqt.widgets as widgets import bitmessageqt.widgets as widgets
class RetranslateMixin(object): class RetranslateMixin(object):
def retranslateUi(self): def retranslateUi(self):
defaults = QtWidgets.QWidget() defaults = QtWidgets.QWidget()
@ -12,9 +13,9 @@ class RetranslateMixin(object):
if callable(setTextMethod): if callable(setTextMethod):
getattr(self, attr).setText(getattr(defaults, attr).text()) getattr(self, attr).setText(getattr(defaults, attr).text())
elif isinstance(value, QtWidgets.QTableWidget): elif isinstance(value, QtWidgets.QTableWidget):
for i in range (value.columnCount()): for i in range(value.columnCount()):
getattr(self, attr).horizontalHeaderItem(i).setText( getattr(self, attr).horizontalHeaderItem(i).setText(
getattr(defaults, attr).horizontalHeaderItem(i).text()) getattr(defaults, attr).horizontalHeaderItem(i).text())
for i in range (value.rowCount()): for i in range(value.rowCount()):
getattr(self, attr).verticalHeaderItem(i).setText( getattr(self, attr).verticalHeaderItem(i).setText(
getattr(defaults, attr).verticalHeaderItem(i).text()) getattr(defaults, attr).verticalHeaderItem(i).text())

View File

@ -41,6 +41,7 @@ def getSOCKSProxyType(config):
class SettingsDialog(QtWidgets.QDialog): class SettingsDialog(QtWidgets.QDialog):
"""The "Settings" dialog""" """The "Settings" dialog"""
def __init__(self, parent=None, firstrun=False): def __init__(self, parent=None, firstrun=False):
super(SettingsDialog, self).__init__(parent) super(SettingsDialog, self).__init__(parent)
widgets.load('settings.ui', self) widgets.load('settings.ui', self)

View File

@ -10,6 +10,7 @@ from PyQt6 import QtCore, QtGui, QtWidgets
class SettingsMixin(object): class SettingsMixin(object):
"""Mixin for adding geometry and state saving between restarts.""" """Mixin for adding geometry and state saving between restarts."""
def warnIfNoObjectName(self): def warnIfNoObjectName(self):
""" """
Handle objects which don't have a name. Currently it ignores them. Objects without a name can't have their Handle objects which don't have a name. Currently it ignores them. Objects without a name can't have their
@ -58,6 +59,7 @@ class SettingsMixin(object):
class SMainWindow(QtWidgets.QMainWindow, SettingsMixin): class SMainWindow(QtWidgets.QMainWindow, SettingsMixin):
"""Main window with Settings functionality.""" """Main window with Settings functionality."""
def loadSettings(self): def loadSettings(self):
"""Load main window settings.""" """Load main window settings."""
self.readGeometry(self) self.readGeometry(self)
@ -72,6 +74,7 @@ class SMainWindow(QtWidgets.QMainWindow, SettingsMixin):
class STableWidget(QtWidgets.QTableWidget, SettingsMixin): class STableWidget(QtWidgets.QTableWidget, SettingsMixin):
"""Table widget with Settings functionality""" """Table widget with Settings functionality"""
# pylint: disable=too-many-ancestors # pylint: disable=too-many-ancestors
def loadSettings(self): def loadSettings(self):
"""Load table settings.""" """Load table settings."""
self.readState(self.horizontalHeader()) self.readState(self.horizontalHeader())
@ -83,6 +86,7 @@ class STableWidget(QtWidgets.QTableWidget, SettingsMixin):
class SSplitter(QtWidgets.QSplitter, SettingsMixin): class SSplitter(QtWidgets.QSplitter, SettingsMixin):
"""Splitter with Settings functionality.""" """Splitter with Settings functionality."""
def loadSettings(self): def loadSettings(self):
"""Load splitter settings""" """Load splitter settings"""
self.readState(self) self.readState(self)
@ -95,6 +99,7 @@ class SSplitter(QtWidgets.QSplitter, SettingsMixin):
class STreeWidget(QtWidgets.QTreeWidget, SettingsMixin): class STreeWidget(QtWidgets.QTreeWidget, SettingsMixin):
"""Tree widget with settings functionality.""" """Tree widget with settings functionality."""
# pylint: disable=too-many-ancestors # pylint: disable=too-many-ancestors
def loadSettings(self): def loadSettings(self):
"""Load tree settings.""" """Load tree settings."""
# recurse children # recurse children

View File

@ -89,7 +89,7 @@ def avatarize(address):
# QImageReader.supportedImageFormats () # QImageReader.supportedImageFormats ()
extensions = [ extensions = [
'PNG', 'GIF', 'JPG', 'JPEG', 'SVG', 'BMP', 'PBM', 'PGM', 'PPM', 'PNG', 'GIF', 'JPG', 'JPEG', 'SVG', 'BMP', 'PBM', 'PGM', 'PPM',
'XBM', 'XPM' ] 'XBM', 'XPM']
# try to find a specific avatar # try to find a specific avatar
for ext in extensions: for ext in extensions:
lower_hash = state.appdata + 'avatars/' + icon_hash + '.' + ext.lower() lower_hash = state.appdata + 'avatars/' + icon_hash + '.' + ext.lower()

View File

@ -3,11 +3,13 @@ import os.path
import paths import paths
import sys import sys
def resource_path(resFile): def resource_path(resFile):
baseDir = paths.codePath() baseDir = paths.codePath()
for subDir in ["ui", "bitmessageqt"]: for subDir in ["ui", "bitmessageqt"]:
if os.path.isdir(os.path.join(baseDir, subDir)) and os.path.isfile(os.path.join(baseDir, subDir, resFile)): if os.path.isdir(os.path.join(baseDir, subDir)) and os.path.isfile(os.path.join(baseDir, subDir, resFile)):
return os.path.join(baseDir, subDir, resFile) return os.path.join(baseDir, subDir, resFile)
def load(resFile, widget): def load(resFile, widget):
uic.loadUi(resource_path(resFile), widget) uic.loadUi(resource_path(resFile), widget)