Basic code clean up
This commit is contained in:
parent
f7e1601185
commit
693891672b
21
checkdeps.py
21
checkdeps.py
|
@ -1,4 +1,4 @@
|
|||
#!/usr/bin/env python2
|
||||
#! /usr/bin/env python2
|
||||
"""
|
||||
Check dependendies and give recommendations about how to satisfy them
|
||||
|
||||
|
@ -12,7 +12,9 @@ Limitations:
|
|||
|
||||
import os
|
||||
import sys
|
||||
|
||||
from distutils.errors import CompileError
|
||||
|
||||
try:
|
||||
from setuptools.dist import Distribution
|
||||
from setuptools.extension import Extension
|
||||
|
@ -25,8 +27,7 @@ except ImportError:
|
|||
EXTRAS_REQUIRE = {}
|
||||
|
||||
from importlib import import_module
|
||||
|
||||
from src.depends import detectOS, PACKAGES, PACKAGE_MANAGER
|
||||
from src.depends import detect_os, PACKAGES, PACKAGE_MANAGER
|
||||
|
||||
|
||||
COMPILING = {
|
||||
|
@ -72,15 +73,15 @@ def prereqToPackages():
|
|||
if not detectPrereqs():
|
||||
return
|
||||
print("%s %s" % (
|
||||
PACKAGE_MANAGER[detectOS()], " ".join(
|
||||
PACKAGES[x][detectOS()] for x in detectPrereqs())))
|
||||
PACKAGE_MANAGER[detect_os()], " ".join(
|
||||
PACKAGES[x][detect_os()] for x in detectPrereqs())))
|
||||
|
||||
|
||||
def compilerToPackages():
|
||||
if not detectOS() in COMPILING:
|
||||
if not detect_os() in COMPILING:
|
||||
return
|
||||
print("%s %s" % (
|
||||
PACKAGE_MANAGER[detectOS.result], COMPILING[detectOS.result]))
|
||||
PACKAGE_MANAGER[detect_os.result], COMPILING[detect_os.result]))
|
||||
|
||||
|
||||
def testCompiler():
|
||||
|
@ -112,11 +113,11 @@ def testCompiler():
|
|||
prereqs = detectPrereqs()
|
||||
compiler = testCompiler()
|
||||
|
||||
if (not compiler or prereqs) and detectOS() in PACKAGE_MANAGER:
|
||||
if (not compiler or prereqs) and detect_os() in PACKAGE_MANAGER:
|
||||
print(
|
||||
"It looks like you're using %s. "
|
||||
"It is highly recommended to use the package manager\n"
|
||||
"to install the missing dependencies." % detectOS.result)
|
||||
"to install the missing dependencies." % detect_os.result)
|
||||
|
||||
if not compiler:
|
||||
print(
|
||||
|
@ -134,7 +135,7 @@ if prereqs:
|
|||
print(PACKAGES[package].get('description'))
|
||||
|
||||
# Install the system dependencies of optional extras_require components
|
||||
OPSYS = detectOS()
|
||||
OPSYS = detect_os()
|
||||
CMD = PACKAGE_MANAGER[OPSYS] if OPSYS in PACKAGE_MANAGER else 'UNKNOWN_INSTALLER'
|
||||
for lhs, rhs in EXTRAS_REQUIRE.items():
|
||||
if OPSYS is None:
|
||||
|
|
6
setup.py
6
setup.py
|
@ -95,11 +95,11 @@ if __name__ == "__main__":
|
|||
long_description=README,
|
||||
license='MIT',
|
||||
# TODO: add author info
|
||||
#author='',
|
||||
#author_email='',
|
||||
# author='',
|
||||
# author_email='',
|
||||
url='https://bitmessage.org',
|
||||
# TODO: add keywords
|
||||
#keywords='',
|
||||
# keywords='',
|
||||
install_requires=installRequires,
|
||||
tests_require=requirements,
|
||||
extras_require=EXTRAS_REQUIRE,
|
||||
|
|
|
@ -8,38 +8,38 @@ def search_sql(xAddress="toaddress", account=None, folder="inbox", where=None, w
|
|||
what = None
|
||||
|
||||
if folder == "sent":
|
||||
sqlStatementBase = '''
|
||||
sql_statement_base = '''
|
||||
SELECT toaddress, fromaddress, subject, status, ackdata, lastactiontime
|
||||
FROM sent '''
|
||||
else:
|
||||
sqlStatementBase = '''SELECT folder, msgid, toaddress, fromaddress, subject, received, read
|
||||
sql_statement_base = '''SELECT folder, msgid, toaddress, fromaddress, subject, received, read
|
||||
FROM inbox '''
|
||||
sqlStatementParts = []
|
||||
sql_statement_parts = []
|
||||
sqlArguments = []
|
||||
if account is not None:
|
||||
if xAddress == 'both':
|
||||
sqlStatementParts.append("(fromaddress = ? OR toaddress = ?)")
|
||||
sql_statement_parts.append("(fromaddress = ? OR toaddress = ?)")
|
||||
sqlArguments.append(account)
|
||||
sqlArguments.append(account)
|
||||
else:
|
||||
sqlStatementParts.append(xAddress + " = ? ")
|
||||
sql_statement_parts.append(xAddress + " = ? ")
|
||||
sqlArguments.append(account)
|
||||
if folder is not None:
|
||||
if folder == "new":
|
||||
folder = "inbox"
|
||||
unreadOnly = True
|
||||
sqlStatementParts.append("folder = ? ")
|
||||
sql_statement_parts.append("folder = ? ")
|
||||
sqlArguments.append(folder)
|
||||
else:
|
||||
sqlStatementParts.append("folder != ?")
|
||||
sql_statement_parts.append("folder != ?")
|
||||
sqlArguments.append("trash")
|
||||
if what is not None:
|
||||
sqlStatementParts.append("%s LIKE ?" % (where))
|
||||
sql_statement_parts.append("%s LIKE ?" % (where))
|
||||
sqlArguments.append(what)
|
||||
if unreadOnly:
|
||||
sqlStatementParts.append("read = 0")
|
||||
if len(sqlStatementParts) > 0:
|
||||
sqlStatementBase += "WHERE " + " AND ".join(sqlStatementParts)
|
||||
sql_statement_parts.append("read = 0")
|
||||
if len(sql_statement_parts) > 0:
|
||||
sql_statement_base += "WHERE " + " AND ".join(sql_statement_parts)
|
||||
if folder == "sent":
|
||||
sqlStatementBase += " ORDER BY lastactiontime"
|
||||
return sqlQuery(sqlStatementBase, sqlArguments)
|
||||
sql_statement_base += " ORDER BY lastactiontime"
|
||||
return sqlQuery(sql_statement_base, sqlArguments)
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
import kivy_helper_search
|
||||
import os
|
||||
import queues
|
||||
import shutdown
|
||||
import state
|
||||
import time
|
||||
import kivy_helper_search
|
||||
|
||||
from kivy.app import App
|
||||
from kivy.lang import Builder
|
||||
|
@ -14,7 +14,6 @@ from kivy.properties import ObjectProperty, StringProperty, ListProperty
|
|||
from kivy.uix.screenmanager import Screen
|
||||
from kivy.uix.textinput import TextInput
|
||||
from kivymd.theming import ThemeManager
|
||||
from kivymd.toolbar import Toolbar
|
||||
from bmconfigparser import BMConfigParser
|
||||
from helper_ackPayload import genAckPayload
|
||||
from addresses import decodeAddress, addBMIfNotPresent
|
||||
|
|
|
@ -28,9 +28,9 @@ import namecoin
|
|||
from messageview import MessageView
|
||||
from migrationwizard import Ui_MigrationWizard
|
||||
from foldertree import (
|
||||
AccountMixin, Ui_FolderWidget, Ui_AddressWidget, Ui_SubscriptionWidget,
|
||||
MessageList_AddressWidget, MessageList_SubjectWidget,
|
||||
Ui_AddressBookWidgetItemLabel, Ui_AddressBookWidgetItemAddress)
|
||||
AccountMixin, UiFolderWidget, UiAddressWidget, UiSubscriptionWidget,
|
||||
MessageListAddressWidget, MessageListSubjectWidget,
|
||||
UiAddressBookWidgetItemLabel, UiAddressBookWidgetItemAddress)
|
||||
from settings import Ui_settingsDialog
|
||||
import settingsmixin
|
||||
import support
|
||||
|
@ -404,7 +404,7 @@ class MyForm(settingsmixin.SMainWindow):
|
|||
|
||||
def rerenderTabTreeSubscriptions(self):
|
||||
treeWidget = self.ui.treeWidgetSubscriptions
|
||||
folders = Ui_FolderWidget.folderWeight.keys()
|
||||
folders = UiFolderWidget.folderWeight.keys()
|
||||
folders.remove("new")
|
||||
|
||||
# sort ascending when creating
|
||||
|
@ -440,7 +440,7 @@ class MyForm(settingsmixin.SMainWindow):
|
|||
while j < widget.childCount():
|
||||
subwidget = widget.child(j)
|
||||
try:
|
||||
subwidget.setUnreadCount(db[toAddress][subwidget.folderName]['count'])
|
||||
subwidget.set_unread_count(db[toAddress][subwidget.folderName]['count'])
|
||||
unread += db[toAddress][subwidget.folderName]['count']
|
||||
db[toAddress].pop(subwidget.folderName, None)
|
||||
except:
|
||||
|
@ -454,9 +454,9 @@ class MyForm(settingsmixin.SMainWindow):
|
|||
j = 0
|
||||
for f, c in db[toAddress].iteritems():
|
||||
try:
|
||||
subwidget = Ui_FolderWidget(widget, j, toAddress, f, c['count'])
|
||||
subwidget = UiFolderWidget(widget, j, toAddress, f, c['count'])
|
||||
except KeyError:
|
||||
subwidget = Ui_FolderWidget(widget, j, toAddress, f, 0)
|
||||
subwidget = UiFolderWidget(widget, j, toAddress, f, 0)
|
||||
j += 1
|
||||
widget.setUnreadCount(unread)
|
||||
db.pop(toAddress, None)
|
||||
|
@ -464,17 +464,17 @@ class MyForm(settingsmixin.SMainWindow):
|
|||
|
||||
i = 0
|
||||
for toAddress in db:
|
||||
widget = Ui_SubscriptionWidget(treeWidget, i, toAddress, db[toAddress]["inbox"]['count'], db[toAddress]["inbox"]['label'], db[toAddress]["inbox"]['enabled'])
|
||||
widget = UiSubscriptionWidget(treeWidget, i, toAddress, db[toAddress]["inbox"]['count'], db[toAddress]["inbox"]['label'], db[toAddress]["inbox"]['enabled'])
|
||||
j = 0
|
||||
unread = 0
|
||||
for folder in folders:
|
||||
try:
|
||||
subwidget = Ui_FolderWidget(widget, j, toAddress, folder, db[toAddress][folder]['count'])
|
||||
subwidget = UiFolderWidget(widget, j, toAddress, folder, db[toAddress][folder]['count'])
|
||||
unread += db[toAddress][folder]['count']
|
||||
except KeyError:
|
||||
subwidget = Ui_FolderWidget(widget, j, toAddress, folder, 0)
|
||||
subwidget = UiFolderWidget(widget, j, toAddress, folder, 0)
|
||||
j += 1
|
||||
widget.setUnreadCount(unread)
|
||||
widget.set_unread_count(unread)
|
||||
i += 1
|
||||
|
||||
treeWidget.setSortingEnabled(True)
|
||||
|
@ -491,7 +491,7 @@ class MyForm(settingsmixin.SMainWindow):
|
|||
treeWidget = self.ui.treeWidgetYourIdentities
|
||||
elif tab == 'chan':
|
||||
treeWidget = self.ui.treeWidgetChans
|
||||
folders = Ui_FolderWidget.folderWeight.keys()
|
||||
folders = UiFolderWidget.folderWeight.keys()
|
||||
|
||||
# sort ascending when creating
|
||||
if treeWidget.topLevelItemCount() == 0:
|
||||
|
@ -559,7 +559,7 @@ class MyForm(settingsmixin.SMainWindow):
|
|||
while j < widget.childCount():
|
||||
subwidget = widget.child(j)
|
||||
try:
|
||||
subwidget.setUnreadCount(db[toAddress][subwidget.folderName])
|
||||
subwidget.set_unread_count(db[toAddress][subwidget.folderName])
|
||||
if subwidget.folderName not in ["new", "trash", "sent"]:
|
||||
unread += db[toAddress][subwidget.folderName]
|
||||
db[toAddress].pop(subwidget.folderName, None)
|
||||
|
@ -575,7 +575,7 @@ class MyForm(settingsmixin.SMainWindow):
|
|||
for f, c in db[toAddress].iteritems():
|
||||
if toAddress is not None and tab == 'messages' and folder == "new":
|
||||
continue
|
||||
subwidget = Ui_FolderWidget(widget, j, toAddress, f, c)
|
||||
subwidget = UiFolderWidget(widget, j, toAddress, f, c)
|
||||
if subwidget.folderName not in ["new", "trash", "sent"]:
|
||||
unread += c
|
||||
j += 1
|
||||
|
@ -585,17 +585,17 @@ class MyForm(settingsmixin.SMainWindow):
|
|||
|
||||
i = 0
|
||||
for toAddress in db:
|
||||
widget = Ui_AddressWidget(treeWidget, i, toAddress, db[toAddress]["inbox"], enabled[toAddress])
|
||||
widget = UiAddressWidget(treeWidget, i, toAddress, db[toAddress]["inbox"], enabled[toAddress])
|
||||
j = 0
|
||||
unread = 0
|
||||
for folder in folders:
|
||||
if toAddress is not None and tab == 'messages' and folder == "new":
|
||||
continue
|
||||
subwidget = Ui_FolderWidget(widget, j, toAddress, folder, db[toAddress][folder])
|
||||
subwidget = UiFolderWidget(widget, j, toAddress, folder, db[toAddress][folder])
|
||||
if subwidget.folderName not in ["new", "trash", "sent"]:
|
||||
unread += db[toAddress][folder]
|
||||
j += 1
|
||||
widget.setUnreadCount(unread)
|
||||
widget.set_unread_count(unread)
|
||||
i += 1
|
||||
|
||||
treeWidget.setSortingEnabled(True)
|
||||
|
@ -693,7 +693,7 @@ class MyForm(settingsmixin.SMainWindow):
|
|||
"itemChanged(QTableWidgetItem *)"), self.tableWidgetAddressBookItemChanged)
|
||||
# This is necessary for the completer to work if multiple recipients
|
||||
QtCore.QObject.connect(self.ui.lineEditTo, QtCore.SIGNAL(
|
||||
"cursorPositionChanged(int, int)"), self.ui.lineEditTo.completer().onCursorPositionChanged)
|
||||
"cursorPositionChanged(int, int)"), self.ui.lineEditTo.completer().on_cursor_position_changed)
|
||||
|
||||
# show messages from message list
|
||||
QtCore.QObject.connect(self.ui.tableWidgetInbox, QtCore.SIGNAL(
|
||||
|
@ -957,7 +957,7 @@ class MyForm(settingsmixin.SMainWindow):
|
|||
font.setBold(not status)
|
||||
widget.item(row, 3).setFont(font)
|
||||
for col in (0, 1, 2):
|
||||
widget.item(row, col).setUnread(not status)
|
||||
widget.item(row, col).set_unread(not status)
|
||||
|
||||
try:
|
||||
related.item(rrow, 3).setFont(font)
|
||||
|
@ -965,7 +965,7 @@ class MyForm(settingsmixin.SMainWindow):
|
|||
pass
|
||||
else:
|
||||
for col in (0, 1, 2):
|
||||
related.item(rrow, col).setUnread(not status)
|
||||
related.item(rrow, col).set_unread(not status)
|
||||
|
||||
# Here we need to update unread count for:
|
||||
# - all widgets if there is no args
|
||||
|
@ -1023,7 +1023,7 @@ class MyForm(settingsmixin.SMainWindow):
|
|||
except KeyError:
|
||||
newCount = 0
|
||||
if newCount != addressItem.unreadCount:
|
||||
addressItem.setUnreadCount(newCount)
|
||||
addressItem.set_unread_count(newCount)
|
||||
for j in range(addressItem.childCount()):
|
||||
folderItem = addressItem.child(j)
|
||||
folderName = folderItem.folderName
|
||||
|
@ -1043,7 +1043,7 @@ class MyForm(settingsmixin.SMainWindow):
|
|||
except KeyError:
|
||||
newCount = 0
|
||||
if newCount != folderItem.unreadCount:
|
||||
folderItem.setUnreadCount(newCount)
|
||||
folderItem.set_unread_count(newCount)
|
||||
|
||||
def addMessageListItem(self, tableWidget, items):
|
||||
sortingEnabled = tableWidget.isSortingEnabled()
|
||||
|
@ -1062,9 +1062,9 @@ class MyForm(settingsmixin.SMainWindow):
|
|||
acct.parseMessage(toAddress, fromAddress, subject, "")
|
||||
|
||||
items = []
|
||||
MessageList_AddressWidget(items, str(toAddress), unicode(acct.toLabel, 'utf-8'))
|
||||
MessageList_AddressWidget(items, str(fromAddress), unicode(acct.fromLabel, 'utf-8'))
|
||||
MessageList_SubjectWidget(items, str(subject), unicode(acct.subject, 'utf-8', 'replace'))
|
||||
MessageListAddressWidget(items, str(toAddress), unicode(acct.toLabel, 'utf-8'))
|
||||
MessageListAddressWidget(items, str(fromAddress), unicode(acct.fromLabel, 'utf-8'))
|
||||
MessageListSubjectWidget(items, str(subject), unicode(acct.subject, 'utf-8', 'replace'))
|
||||
|
||||
if status == 'awaitingpubkey':
|
||||
statusText = _translate(
|
||||
|
@ -1133,11 +1133,11 @@ class MyForm(settingsmixin.SMainWindow):
|
|||
|
||||
items = []
|
||||
#to
|
||||
MessageList_AddressWidget(items, toAddress, unicode(acct.toLabel, 'utf-8'), not read)
|
||||
MessageListAddressWidget(items, toAddress, unicode(acct.toLabel, 'utf-8'), not read)
|
||||
# from
|
||||
MessageList_AddressWidget(items, fromAddress, unicode(acct.fromLabel, 'utf-8'), not read)
|
||||
MessageListAddressWidget(items, fromAddress, unicode(acct.fromLabel, 'utf-8'), not read)
|
||||
# subject
|
||||
MessageList_SubjectWidget(items, str(subject), unicode(acct.subject, 'utf-8', 'replace'), not read)
|
||||
MessageListSubjectWidget(items, str(subject), unicode(acct.subject, 'utf-8', 'replace'), not read)
|
||||
# time received
|
||||
time_item = myTableWidgetItem(l10n.formatTimestamp(received))
|
||||
time_item.setToolTip(l10n.formatTimestamp(received))
|
||||
|
@ -1835,19 +1835,19 @@ class MyForm(settingsmixin.SMainWindow):
|
|||
def rerenderMessagelistFromLabels(self):
|
||||
for messagelist in (self.ui.tableWidgetInbox, self.ui.tableWidgetInboxChans, self.ui.tableWidgetInboxSubscriptions):
|
||||
for i in range(messagelist.rowCount()):
|
||||
messagelist.item(i, 1).setLabel()
|
||||
messagelist.item(i, 1).set_label()
|
||||
|
||||
def rerenderMessagelistToLabels(self):
|
||||
for messagelist in (self.ui.tableWidgetInbox, self.ui.tableWidgetInboxChans, self.ui.tableWidgetInboxSubscriptions):
|
||||
for i in range(messagelist.rowCount()):
|
||||
messagelist.item(i, 0).setLabel()
|
||||
messagelist.item(i, 0).set_label()
|
||||
|
||||
def rerenderAddressBook(self):
|
||||
def addRow (address, label, type):
|
||||
self.ui.tableWidgetAddressBook.insertRow(0)
|
||||
newItem = Ui_AddressBookWidgetItemLabel(address, unicode(label, 'utf-8'), type)
|
||||
newItem = UiAddressBookWidgetItemLabel(address, unicode(label, 'utf-8'), type)
|
||||
self.ui.tableWidgetAddressBook.setItem(0, 0, newItem)
|
||||
newItem = Ui_AddressBookWidgetItemAddress(address, unicode(label, 'utf-8'), type)
|
||||
newItem = UiAddressBookWidgetItemAddress(address, unicode(label, 'utf-8'), type)
|
||||
self.ui.tableWidgetAddressBook.setItem(0, 1, newItem)
|
||||
|
||||
oldRows = {}
|
||||
|
@ -2233,7 +2233,7 @@ class MyForm(settingsmixin.SMainWindow):
|
|||
address = str(self.ui.comboBoxSendFrom.itemData(
|
||||
i, QtCore.Qt.UserRole).toString())
|
||||
self.ui.comboBoxSendFrom.setItemData(
|
||||
i, AccountColor(address).accountColor(),
|
||||
i, AccountColor(address).account_color(),
|
||||
QtCore.Qt.ForegroundRole)
|
||||
self.ui.comboBoxSendFrom.insertItem(0, '', '')
|
||||
if(self.ui.comboBoxSendFrom.count() == 2):
|
||||
|
@ -2256,7 +2256,7 @@ class MyForm(settingsmixin.SMainWindow):
|
|||
address = str(self.ui.comboBoxSendFromBroadcast.itemData(
|
||||
i, QtCore.Qt.UserRole).toString())
|
||||
self.ui.comboBoxSendFromBroadcast.setItemData(
|
||||
i, AccountColor(address).accountColor(),
|
||||
i, AccountColor(address).account_color(),
|
||||
QtCore.Qt.ForegroundRole)
|
||||
self.ui.comboBoxSendFromBroadcast.insertItem(0, '', '')
|
||||
if(self.ui.comboBoxSendFromBroadcast.count() == 2):
|
||||
|
@ -2649,7 +2649,7 @@ class MyForm(settingsmixin.SMainWindow):
|
|||
account_item = self.getCurrentItem()
|
||||
if not account_item:
|
||||
return
|
||||
self.ui.lineEditTo.setText(account_item.accountString())
|
||||
self.ui.lineEditTo.setText(account_item.account_string())
|
||||
self.ui.tabWidget.setCurrentIndex(
|
||||
self.ui.tabWidget.indexOf(self.ui.send)
|
||||
)
|
||||
|
@ -2710,9 +2710,9 @@ class MyForm(settingsmixin.SMainWindow):
|
|||
for i in range(0, idCount):
|
||||
msgids.append(str(tableWidget.item(
|
||||
i, 3).data(QtCore.Qt.UserRole).toPyObject()))
|
||||
tableWidget.item(i, 0).setUnread(False)
|
||||
tableWidget.item(i, 1).setUnread(False)
|
||||
tableWidget.item(i, 2).setUnread(False)
|
||||
tableWidget.item(i, 0).set_unread(False)
|
||||
tableWidget.item(i, 1).set_unread(False)
|
||||
tableWidget.item(i, 2).set_unread(False)
|
||||
tableWidget.item(i, 3).setFont(font)
|
||||
|
||||
markread = sqlExecuteChunked(
|
||||
|
@ -3140,7 +3140,7 @@ class MyForm(settingsmixin.SMainWindow):
|
|||
self.ui.lineEditTo.setText(str(acct.fromAddress))
|
||||
else:
|
||||
self.ui.lineEditTo.setText(
|
||||
tableWidget.item(currentInboxRow, column_from).accountString()
|
||||
tableWidget.item(currentInboxRow, column_from).account_string()
|
||||
)
|
||||
|
||||
# If the previous message was to a chan then we should send our
|
||||
|
@ -3155,7 +3155,7 @@ class MyForm(settingsmixin.SMainWindow):
|
|||
self.ui.lineEditTo.setText(str(toAddressAtCurrentInboxRow))
|
||||
else:
|
||||
self.ui.lineEditTo.setText(
|
||||
tableWidget.item(currentInboxRow, column_to).accountString()
|
||||
tableWidget.item(currentInboxRow, column_to).account_string()
|
||||
)
|
||||
|
||||
self.setSendFromComboBox(toAddressAtCurrentInboxRow)
|
||||
|
@ -3408,7 +3408,7 @@ class MyForm(settingsmixin.SMainWindow):
|
|||
addresses_string = unicode(
|
||||
self.ui.lineEditTo.text().toUtf8(), 'utf-8')
|
||||
for item in selected_items:
|
||||
address_string = item.accountString()
|
||||
address_string = item.account_string()
|
||||
if not addresses_string:
|
||||
addresses_string = address_string
|
||||
else:
|
||||
|
@ -3496,7 +3496,7 @@ class MyForm(settingsmixin.SMainWindow):
|
|||
'''update subscriptions set enabled=1 WHERE address=?''',
|
||||
address)
|
||||
account = self.getCurrentItem()
|
||||
account.setEnabled(True)
|
||||
account.set_enabled(True)
|
||||
self.rerenderAddressBook()
|
||||
shared.reloadBroadcastSendersForWhichImWatching()
|
||||
|
||||
|
@ -3506,14 +3506,14 @@ class MyForm(settingsmixin.SMainWindow):
|
|||
'''update subscriptions set enabled=0 WHERE address=?''',
|
||||
address)
|
||||
account = self.getCurrentItem()
|
||||
account.setEnabled(False)
|
||||
account.set_enabled(False)
|
||||
self.rerenderAddressBook()
|
||||
shared.reloadBroadcastSendersForWhichImWatching()
|
||||
|
||||
def on_context_menuSubscriptions(self, point):
|
||||
currentItem = self.getCurrentItem()
|
||||
self.popMenuSubscriptions = QtGui.QMenu(self)
|
||||
if isinstance(currentItem, Ui_AddressWidget):
|
||||
if isinstance(currentItem, UiAddressWidget):
|
||||
self.popMenuSubscriptions.addAction(self.actionsubscriptionsNew)
|
||||
self.popMenuSubscriptions.addAction(self.actionsubscriptionsDelete)
|
||||
self.popMenuSubscriptions.addSeparator()
|
||||
|
@ -3740,7 +3740,7 @@ class MyForm(settingsmixin.SMainWindow):
|
|||
addressAtCurrentRow = self.getCurrentAccount()
|
||||
self.enableIdentity(addressAtCurrentRow)
|
||||
account = self.getCurrentItem()
|
||||
account.setEnabled(True)
|
||||
account.set_enabled(True)
|
||||
|
||||
def enableIdentity(self, address):
|
||||
BMConfigParser().set(address, 'enabled', 'true')
|
||||
|
@ -3752,7 +3752,7 @@ class MyForm(settingsmixin.SMainWindow):
|
|||
address = self.getCurrentAccount()
|
||||
self.disableIdentity(address)
|
||||
account = self.getCurrentItem()
|
||||
account.setEnabled(False)
|
||||
account.set_enabled(False)
|
||||
|
||||
def disableIdentity(self, address):
|
||||
BMConfigParser().set(str(address), 'enabled', 'false')
|
||||
|
@ -3925,7 +3925,7 @@ class MyForm(settingsmixin.SMainWindow):
|
|||
def on_context_menuYourIdentities(self, point):
|
||||
currentItem = self.getCurrentItem()
|
||||
self.popMenuYourIdentities = QtGui.QMenu(self)
|
||||
if isinstance(currentItem, Ui_AddressWidget):
|
||||
if isinstance(currentItem, UiAddressWidget):
|
||||
self.popMenuYourIdentities.addAction(self.actionNewYourIdentities)
|
||||
self.popMenuYourIdentities.addSeparator()
|
||||
self.popMenuYourIdentities.addAction(self.actionClipboardYourIdentities)
|
||||
|
@ -3954,7 +3954,7 @@ class MyForm(settingsmixin.SMainWindow):
|
|||
def on_context_menuChan(self, point):
|
||||
currentItem = self.getCurrentItem()
|
||||
self.popMenu = QtGui.QMenu(self)
|
||||
if isinstance(currentItem, Ui_AddressWidget):
|
||||
if isinstance(currentItem, UiAddressWidget):
|
||||
self.popMenu.addAction(self.actionNew)
|
||||
self.popMenu.addAction(self.actionDelete)
|
||||
self.popMenu.addSeparator()
|
||||
|
@ -4077,10 +4077,10 @@ class MyForm(settingsmixin.SMainWindow):
|
|||
if column != 0:
|
||||
return
|
||||
# only account names of normal addresses (no chans/mailinglists)
|
||||
if (not isinstance(item, Ui_AddressWidget)) or (not self.getCurrentTreeWidget()) or self.getCurrentTreeWidget().currentItem() is None:
|
||||
if (not isinstance(item, UiAddressWidget)) or (not self.getCurrentTreeWidget()) or self.getCurrentTreeWidget().currentItem() is None:
|
||||
return
|
||||
# not visible
|
||||
if (not self.getCurrentItem()) or (not isinstance (self.getCurrentItem(), Ui_AddressWidget)):
|
||||
if (not self.getCurrentItem()) or (not isinstance (self.getCurrentItem(), UiAddressWidget)):
|
||||
return
|
||||
# only currently selected item
|
||||
if item.address != self.getCurrentAccount():
|
||||
|
@ -4090,7 +4090,7 @@ class MyForm(settingsmixin.SMainWindow):
|
|||
return
|
||||
|
||||
newLabel = unicode(item.text(0), 'utf-8', 'ignore')
|
||||
oldLabel = item.defaultLabel()
|
||||
oldLabel = item.default_label()
|
||||
|
||||
# unchanged, do not do anything either
|
||||
if newLabel == oldLabel:
|
||||
|
@ -4284,12 +4284,12 @@ class settingsDialog(QtGui.QDialog):
|
|||
'bitmessagesettings', 'sockslisten'))
|
||||
if str(BMConfigParser().get('bitmessagesettings', 'socksproxytype')) == 'none':
|
||||
self.ui.comboBoxProxyType.setCurrentIndex(0)
|
||||
self.ui.lineEditSocksHostname.setEnabled(False)
|
||||
self.ui.lineEditSocksPort.setEnabled(False)
|
||||
self.ui.lineEditSocksUsername.setEnabled(False)
|
||||
self.ui.lineEditSocksPassword.setEnabled(False)
|
||||
self.ui.checkBoxAuthentication.setEnabled(False)
|
||||
self.ui.checkBoxSocksListen.setEnabled(False)
|
||||
self.ui.lineEditSocksHostname.set_enabled(False)
|
||||
self.ui.lineEditSocksPort.set_enabled(False)
|
||||
self.ui.lineEditSocksUsername.set_enabled(False)
|
||||
self.ui.lineEditSocksPassword.set_enabled(False)
|
||||
self.ui.checkBoxAuthentication.set_enabled(False)
|
||||
self.ui.checkBoxSocksListen.set_enabled(False)
|
||||
elif str(BMConfigParser().get('bitmessagesettings', 'socksproxytype')) == 'SOCKS4a':
|
||||
self.ui.comboBoxProxyType.setCurrentIndex(1)
|
||||
elif str(BMConfigParser().get('bitmessagesettings', 'socksproxytype')) == 'SOCKS5':
|
||||
|
@ -4326,9 +4326,9 @@ class settingsDialog(QtGui.QDialog):
|
|||
|
||||
# OpenCL
|
||||
if openclpow.openclAvailable():
|
||||
self.ui.comboBoxOpenCL.setEnabled(True)
|
||||
self.ui.comboBoxOpenCL.set_enabled(True)
|
||||
else:
|
||||
self.ui.comboBoxOpenCL.setEnabled(False)
|
||||
self.ui.comboBoxOpenCL.set_enabled(False)
|
||||
self.ui.comboBoxOpenCL.clear()
|
||||
self.ui.comboBoxOpenCL.addItem("None")
|
||||
self.ui.comboBoxOpenCL.addItems(openclpow.vendors)
|
||||
|
@ -4353,10 +4353,10 @@ class settingsDialog(QtGui.QDialog):
|
|||
self.ui.radioButtonNamecoinNamecoind.setChecked(True)
|
||||
elif nmctype == "nmcontrol":
|
||||
self.ui.radioButtonNamecoinNmcontrol.setChecked(True)
|
||||
self.ui.lineEditNamecoinUser.setEnabled(False)
|
||||
self.ui.labelNamecoinUser.setEnabled(False)
|
||||
self.ui.lineEditNamecoinPassword.setEnabled(False)
|
||||
self.ui.labelNamecoinPassword.setEnabled(False)
|
||||
self.ui.lineEditNamecoinUser.set_enabled(False)
|
||||
self.ui.labelNamecoinUser.set_enabled(False)
|
||||
self.ui.lineEditNamecoinPassword.set_enabled(False)
|
||||
self.ui.labelNamecoinPassword.set_enabled(False)
|
||||
else:
|
||||
assert False
|
||||
|
||||
|
@ -4396,20 +4396,20 @@ class settingsDialog(QtGui.QDialog):
|
|||
|
||||
def comboBoxProxyTypeChanged(self, comboBoxIndex):
|
||||
if comboBoxIndex == 0:
|
||||
self.ui.lineEditSocksHostname.setEnabled(False)
|
||||
self.ui.lineEditSocksPort.setEnabled(False)
|
||||
self.ui.lineEditSocksUsername.setEnabled(False)
|
||||
self.ui.lineEditSocksPassword.setEnabled(False)
|
||||
self.ui.checkBoxAuthentication.setEnabled(False)
|
||||
self.ui.checkBoxSocksListen.setEnabled(False)
|
||||
self.ui.lineEditSocksHostname.set_enabled(False)
|
||||
self.ui.lineEditSocksPort.set_enabled(False)
|
||||
self.ui.lineEditSocksUsername.set_enabled(False)
|
||||
self.ui.lineEditSocksPassword.set_enabled(False)
|
||||
self.ui.checkBoxAuthentication.set_enabled(False)
|
||||
self.ui.checkBoxSocksListen.set_enabled(False)
|
||||
elif comboBoxIndex == 1 or comboBoxIndex == 2:
|
||||
self.ui.lineEditSocksHostname.setEnabled(True)
|
||||
self.ui.lineEditSocksPort.setEnabled(True)
|
||||
self.ui.checkBoxAuthentication.setEnabled(True)
|
||||
self.ui.checkBoxSocksListen.setEnabled(True)
|
||||
self.ui.lineEditSocksHostname.set_enabled(True)
|
||||
self.ui.lineEditSocksPort.set_enabled(True)
|
||||
self.ui.checkBoxAuthentication.set_enabled(True)
|
||||
self.ui.checkBoxSocksListen.set_enabled(True)
|
||||
if self.ui.checkBoxAuthentication.isChecked():
|
||||
self.ui.lineEditSocksUsername.setEnabled(True)
|
||||
self.ui.lineEditSocksPassword.setEnabled(True)
|
||||
self.ui.lineEditSocksUsername.set_enabled(True)
|
||||
self.ui.lineEditSocksPassword.set_enabled(True)
|
||||
|
||||
# Check status of namecoin integration radio buttons and translate
|
||||
# it to a string as in the options.
|
||||
|
@ -4426,10 +4426,10 @@ class settingsDialog(QtGui.QDialog):
|
|||
assert nmctype == "namecoind" or nmctype == "nmcontrol"
|
||||
|
||||
isNamecoind = (nmctype == "namecoind")
|
||||
self.ui.lineEditNamecoinUser.setEnabled(isNamecoind)
|
||||
self.ui.labelNamecoinUser.setEnabled(isNamecoind)
|
||||
self.ui.lineEditNamecoinPassword.setEnabled(isNamecoind)
|
||||
self.ui.labelNamecoinPassword.setEnabled(isNamecoind)
|
||||
self.ui.lineEditNamecoinUser.set_enabled(isNamecoind)
|
||||
self.ui.labelNamecoinUser.set_enabled(isNamecoind)
|
||||
self.ui.lineEditNamecoinPassword.set_enabled(isNamecoind)
|
||||
self.ui.labelNamecoinPassword.set_enabled(isNamecoind)
|
||||
|
||||
if isNamecoind:
|
||||
self.ui.lineEditNamecoinPort.setText(defaults.namecoinDefaultRpcPort)
|
||||
|
|
|
@ -13,14 +13,15 @@ import inspect
|
|||
import re
|
||||
import sys
|
||||
import time
|
||||
import queues
|
||||
|
||||
from PyQt4 import QtGui
|
||||
|
||||
import queues
|
||||
from addresses import decodeAddress
|
||||
from bmconfigparser import BMConfigParser
|
||||
from helper_ackPayload import genAckPayload
|
||||
from helper_sql import sqlQuery, sqlExecute
|
||||
|
||||
from .foldertree import AccountMixin
|
||||
from .utils import str_broadcast_subscribers
|
||||
|
||||
|
|
|
@ -6,11 +6,11 @@ src/bitmessageqt/address_dialogs.py
|
|||
# pylint: disable=attribute-defined-outside-init
|
||||
|
||||
import hashlib
|
||||
import queues
|
||||
import widgets
|
||||
|
||||
from PyQt4 import QtCore, QtGui
|
||||
|
||||
import queues
|
||||
import widgets
|
||||
from account import AccountMixin, GatewayAccount, MailchuckAccount, accountClass, getSortedAccounts
|
||||
from addresses import addBMIfNotPresent, decodeAddress, encodeVarint
|
||||
from inventory import Inventory
|
||||
|
@ -27,20 +27,20 @@ class AddressCheckMixin(object):
|
|||
QtCore.QObject.connect( # pylint: disable=no-member
|
||||
self.lineEditAddress,
|
||||
QtCore.SIGNAL("textChanged(QString)"),
|
||||
self.addressChanged)
|
||||
self.address_changed)
|
||||
|
||||
def _onSuccess(self, addressVersion, streamNumber, ripe):
|
||||
pass
|
||||
|
||||
def addressChanged(self, QString):
|
||||
def address_changed(self, q_string):
|
||||
"""Address validation callback, performs validation and gives feedback"""
|
||||
status, addressVersion, streamNumber, ripe = decodeAddress(
|
||||
str(QString))
|
||||
status, address_version, stream_number, ripe = decodeAddress(
|
||||
str(q_string))
|
||||
self.valid = status == 'success'
|
||||
if self.valid:
|
||||
self.labelAddressCheck.setText(
|
||||
_translate("MainWindow", "Address is valid."))
|
||||
self._onSuccess(addressVersion, streamNumber, ripe)
|
||||
self._onSuccess(address_version, stream_number, ripe)
|
||||
elif status == 'missingbm':
|
||||
self.labelAddressCheck.setText(_translate(
|
||||
"MainWindow", # dialog name should be here
|
||||
|
@ -135,14 +135,14 @@ class NewAddressDialog(QtGui.QDialog, RetranslateMixin):
|
|||
# self.buttonBox.enabled = False
|
||||
if self.radioButtonRandomAddress.isChecked():
|
||||
if self.radioButtonMostAvailable.isChecked():
|
||||
streamNumberForAddress = 1
|
||||
stream_number_for_address = 1
|
||||
else:
|
||||
# User selected 'Use the same stream as an existing
|
||||
# address.'
|
||||
streamNumberForAddress = decodeAddress(
|
||||
stream_number_for_address = decodeAddress(
|
||||
self.comboBoxExisting.currentText())[2]
|
||||
queues.addressGeneratorQueue.put((
|
||||
'createRandomAddress', 4, streamNumberForAddress,
|
||||
'createRandomAddress', 4, stream_number_for_address,
|
||||
str(self.newaddresslabel.text().toUtf8()), 1, "",
|
||||
self.checkBoxEighteenByteRipe.isChecked()
|
||||
))
|
||||
|
@ -165,9 +165,9 @@ class NewAddressDialog(QtGui.QDialog, RetranslateMixin):
|
|||
else:
|
||||
# this will eventually have to be replaced by logic
|
||||
# to determine the most available stream number.
|
||||
streamNumberForAddress = 1
|
||||
stream_number_for_address = 1
|
||||
queues.addressGeneratorQueue.put((
|
||||
'createDeterministicAddresses', 4, streamNumberForAddress,
|
||||
'createDeterministicAddresses', 4, stream_number_for_address,
|
||||
"unused deterministic address",
|
||||
self.spinBoxNumberOfAddressesToMake.value(),
|
||||
self.lineEditPassphrase.text().toUtf8(),
|
||||
|
@ -183,8 +183,8 @@ class NewSubscriptionDialog(AddressDataDialog, RetranslateMixin):
|
|||
widgets.load('newsubscriptiondialog.ui', self)
|
||||
AddressCheckMixin.__init__(self)
|
||||
|
||||
def _onSuccess(self, addressVersion, streamNumber, ripe):
|
||||
if addressVersion <= 3:
|
||||
def _onSuccess(self, address_version, stream_number, ripe):
|
||||
if address_version <= 3:
|
||||
self.checkBoxDisplayMessagesAlreadyInInventory.setText(_translate(
|
||||
"MainWindow",
|
||||
"Address is an old type. We cannot display its past"
|
||||
|
@ -192,11 +192,11 @@ class NewSubscriptionDialog(AddressDataDialog, RetranslateMixin):
|
|||
))
|
||||
else:
|
||||
Inventory().flush()
|
||||
doubleHashOfAddressData = hashlib.sha512(hashlib.sha512(
|
||||
encodeVarint(addressVersion) +
|
||||
encodeVarint(streamNumber) + ripe
|
||||
double_hash_of_address_data = hashlib.sha512(hashlib.sha512(
|
||||
encodeVarint(address_version) +
|
||||
encodeVarint(stream_number) + ripe
|
||||
).digest()).digest()
|
||||
tag = doubleHashOfAddressData[32:]
|
||||
tag = double_hash_of_address_data[32:]
|
||||
self.recent = Inventory().by_type_and_tag(3, tag)
|
||||
count = len(self.recent)
|
||||
if count == 0:
|
||||
|
@ -207,7 +207,7 @@ class NewSubscriptionDialog(AddressDataDialog, RetranslateMixin):
|
|||
" to display."
|
||||
))
|
||||
else:
|
||||
self.checkBoxDisplayMessagesAlreadyInInventory.setEnabled(True)
|
||||
self.checkBoxDisplayMessagesAlreadyInInventory.set_enabled(True)
|
||||
self.checkBoxDisplayMessagesAlreadyInInventory.setText(
|
||||
_translate(
|
||||
"MainWindow",
|
||||
|
@ -257,12 +257,12 @@ class SpecialAddressBehaviorDialog(QtGui.QDialog, RetranslateMixin):
|
|||
else:
|
||||
self.radioButtonBehaveNormalAddress.click()
|
||||
try:
|
||||
mailingListName = config.get(
|
||||
mailing_list_name = config.get(
|
||||
self.address, 'mailinglistname')
|
||||
except:
|
||||
mailingListName = ''
|
||||
mailing_list_name = ''
|
||||
self.lineEditMailingListName.setText(
|
||||
unicode(mailingListName, 'utf-8')
|
||||
unicode(mailing_list_name, 'utf-8')
|
||||
)
|
||||
|
||||
QtGui.QWidget.resize(self, QtGui.QWidget.sizeHint(self))
|
||||
|
@ -325,11 +325,11 @@ class EmailGatewayDialog(QtGui.QDialog, RetranslateMixin):
|
|||
if "@" in label:
|
||||
self.lineEditEmail.setText(label)
|
||||
if isinstance(self.acct, GatewayAccount):
|
||||
self.radioButtonUnregister.setEnabled(True)
|
||||
self.radioButtonStatus.setEnabled(True)
|
||||
self.radioButtonUnregister.set_enabled(True)
|
||||
self.radioButtonStatus.set_enabled(True)
|
||||
self.radioButtonStatus.setChecked(True)
|
||||
self.radioButtonSettings.setEnabled(True)
|
||||
self.lineEditEmail.setEnabled(False)
|
||||
self.radioButtonSettings.set_enabled(True)
|
||||
self.lineEditEmail.set_enabled(False)
|
||||
else:
|
||||
self.acct = MailchuckAccount(address)
|
||||
self.lineEditEmail.setFocus()
|
||||
|
|
|
@ -27,7 +27,7 @@ class AddressPassPhraseValidatorMixin():
|
|||
self.feedBackObject.setText(string)
|
||||
self.isValid = False
|
||||
if self.buttonBox:
|
||||
self.buttonBox.button(QtGui.QDialogButtonBox.Ok).setEnabled(False)
|
||||
self.buttonBox.button(QtGui.QDialogButtonBox.Ok).set_enabled(False)
|
||||
if string is not None and self.feedBackObject is not None:
|
||||
self.buttonBox.button(QtGui.QDialogButtonBox.Ok).setText(_translate("AddressValidator", "Invalid"))
|
||||
else:
|
||||
|
@ -42,7 +42,7 @@ class AddressPassPhraseValidatorMixin():
|
|||
self.feedBackObject.setText(string)
|
||||
self.isValid = True
|
||||
if self.buttonBox:
|
||||
self.buttonBox.button(QtGui.QDialogButtonBox.Ok).setEnabled(True)
|
||||
self.buttonBox.button(QtGui.QDialogButtonBox.Ok).set_enabled(True)
|
||||
self.buttonBox.button(QtGui.QDialogButtonBox.Ok).setText(self.okButtonLabel)
|
||||
|
||||
def checkQueue(self):
|
||||
|
|
|
@ -86,7 +86,7 @@ class Ui_MainWindow(object):
|
|||
self.verticalSplitter_12.setStretchFactor(1, 0)
|
||||
self.verticalSplitter_12.setCollapsible(0, False)
|
||||
self.verticalSplitter_12.setCollapsible(1, False)
|
||||
self.verticalSplitter_12.handle(1).setEnabled(False)
|
||||
self.verticalSplitter_12.handle(1).set_enabled(False)
|
||||
self.horizontalSplitter_3.addWidget(self.verticalSplitter_12)
|
||||
self.verticalSplitter_7 = settingsmixin.SSplitter()
|
||||
self.verticalSplitter_7.setObjectName(_fromUtf8("verticalSplitter_7"))
|
||||
|
@ -105,7 +105,7 @@ class Ui_MainWindow(object):
|
|||
self.inboxSearchOption.addItem(_fromUtf8(""))
|
||||
self.inboxSearchOption.setSizeAdjustPolicy(QtGui.QComboBox.AdjustToContents)
|
||||
self.horizontalSplitterSearch.addWidget(self.inboxSearchOption)
|
||||
self.horizontalSplitterSearch.handle(1).setEnabled(False)
|
||||
self.horizontalSplitterSearch.handle(1).set_enabled(False)
|
||||
self.horizontalSplitterSearch.setStretchFactor(0, 1)
|
||||
self.horizontalSplitterSearch.setStretchFactor(1, 0)
|
||||
self.verticalSplitter_7.addWidget(self.horizontalSplitterSearch)
|
||||
|
@ -146,7 +146,7 @@ class Ui_MainWindow(object):
|
|||
self.verticalSplitter_7.setCollapsible(0, False)
|
||||
self.verticalSplitter_7.setCollapsible(1, False)
|
||||
self.verticalSplitter_7.setCollapsible(2, False)
|
||||
self.verticalSplitter_7.handle(1).setEnabled(False)
|
||||
self.verticalSplitter_7.handle(1).set_enabled(False)
|
||||
self.horizontalSplitter_3.addWidget(self.verticalSplitter_7)
|
||||
self.horizontalSplitter_3.setStretchFactor(0, 0)
|
||||
self.horizontalSplitter_3.setStretchFactor(1, 1)
|
||||
|
@ -205,8 +205,8 @@ class Ui_MainWindow(object):
|
|||
self.verticalSplitter_2.setCollapsible(0, False)
|
||||
self.verticalSplitter_2.setCollapsible(1, False)
|
||||
self.verticalSplitter_2.setCollapsible(2, False)
|
||||
self.verticalSplitter_2.handle(1).setEnabled(False)
|
||||
self.verticalSplitter_2.handle(2).setEnabled(False)
|
||||
self.verticalSplitter_2.handle(1).set_enabled(False)
|
||||
self.verticalSplitter_2.handle(2).set_enabled(False)
|
||||
self.horizontalSplitter.addWidget(self.verticalSplitter_2)
|
||||
self.verticalSplitter = settingsmixin.SSplitter()
|
||||
self.verticalSplitter.setObjectName(_fromUtf8("verticalSplitter"))
|
||||
|
@ -253,7 +253,7 @@ class Ui_MainWindow(object):
|
|||
self.verticalSplitter_5.setStretchFactor(1, 1)
|
||||
self.verticalSplitter_5.setCollapsible(0, False)
|
||||
self.verticalSplitter_5.setCollapsible(1, False)
|
||||
self.verticalSplitter_5.handle(1).setEnabled(False)
|
||||
self.verticalSplitter_5.handle(1).set_enabled(False)
|
||||
self.gridLayout_8.addWidget(self.verticalSplitter_5, 0, 0, 1, 1)
|
||||
self.tabWidgetSend.addTab(self.sendDirect, _fromUtf8(""))
|
||||
self.sendBroadcast = QtGui.QWidget()
|
||||
|
@ -289,7 +289,7 @@ class Ui_MainWindow(object):
|
|||
self.verticalSplitter_6.setStretchFactor(1, 1)
|
||||
self.verticalSplitter_6.setCollapsible(0, False)
|
||||
self.verticalSplitter_6.setCollapsible(1, False)
|
||||
self.verticalSplitter_6.handle(1).setEnabled(False)
|
||||
self.verticalSplitter_6.handle(1).set_enabled(False)
|
||||
self.gridLayout_9.addWidget(self.verticalSplitter_6, 0, 0, 1, 1)
|
||||
self.tabWidgetSend.addTab(self.sendBroadcast, _fromUtf8(""))
|
||||
self.verticalSplitter.addWidget(self.tabWidgetSend)
|
||||
|
@ -350,7 +350,7 @@ class Ui_MainWindow(object):
|
|||
self.verticalSplitter.setStretchFactor(0, 1)
|
||||
self.verticalSplitter.setCollapsible(0, False)
|
||||
self.verticalSplitter.setCollapsible(1, False)
|
||||
self.verticalSplitter.handle(1).setEnabled(False)
|
||||
self.verticalSplitter.handle(1).set_enabled(False)
|
||||
self.horizontalSplitter.addWidget(self.verticalSplitter)
|
||||
self.horizontalSplitter.setStretchFactor(0, 0)
|
||||
self.horizontalSplitter.setStretchFactor(1, 1)
|
||||
|
@ -387,7 +387,7 @@ class Ui_MainWindow(object):
|
|||
self.verticalSplitter_3.setStretchFactor(1, 0)
|
||||
self.verticalSplitter_3.setCollapsible(0, False)
|
||||
self.verticalSplitter_3.setCollapsible(1, False)
|
||||
self.verticalSplitter_3.handle(1).setEnabled(False)
|
||||
self.verticalSplitter_3.handle(1).set_enabled(False)
|
||||
self.horizontalSplitter_4.addWidget(self.verticalSplitter_3)
|
||||
self.verticalSplitter_4 = settingsmixin.SSplitter()
|
||||
self.verticalSplitter_4.setObjectName(_fromUtf8("verticalSplitter_4"))
|
||||
|
@ -406,7 +406,7 @@ class Ui_MainWindow(object):
|
|||
self.inboxSearchOptionSubscriptions.addItem(_fromUtf8(""))
|
||||
self.inboxSearchOptionSubscriptions.setSizeAdjustPolicy(QtGui.QComboBox.AdjustToContents)
|
||||
self.horizontalSplitter_2.addWidget(self.inboxSearchOptionSubscriptions)
|
||||
self.horizontalSplitter_2.handle(1).setEnabled(False)
|
||||
self.horizontalSplitter_2.handle(1).set_enabled(False)
|
||||
self.horizontalSplitter_2.setStretchFactor(0, 1)
|
||||
self.horizontalSplitter_2.setStretchFactor(1, 0)
|
||||
self.verticalSplitter_4.addWidget(self.horizontalSplitter_2)
|
||||
|
@ -447,7 +447,7 @@ class Ui_MainWindow(object):
|
|||
self.verticalSplitter_4.setCollapsible(0, False)
|
||||
self.verticalSplitter_4.setCollapsible(1, False)
|
||||
self.verticalSplitter_4.setCollapsible(2, False)
|
||||
self.verticalSplitter_4.handle(1).setEnabled(False)
|
||||
self.verticalSplitter_4.handle(1).set_enabled(False)
|
||||
self.horizontalSplitter_4.addWidget(self.verticalSplitter_4)
|
||||
self.horizontalSplitter_4.setStretchFactor(0, 0)
|
||||
self.horizontalSplitter_4.setStretchFactor(1, 1)
|
||||
|
@ -486,7 +486,7 @@ class Ui_MainWindow(object):
|
|||
self.verticalSplitter_17.setStretchFactor(1, 0)
|
||||
self.verticalSplitter_17.setCollapsible(0, False)
|
||||
self.verticalSplitter_17.setCollapsible(1, False)
|
||||
self.verticalSplitter_17.handle(1).setEnabled(False)
|
||||
self.verticalSplitter_17.handle(1).set_enabled(False)
|
||||
self.horizontalSplitter_7.addWidget(self.verticalSplitter_17)
|
||||
self.verticalSplitter_8 = settingsmixin.SSplitter()
|
||||
self.verticalSplitter_8.setObjectName(_fromUtf8("verticalSplitter_8"))
|
||||
|
@ -505,7 +505,7 @@ class Ui_MainWindow(object):
|
|||
self.inboxSearchOptionChans.addItem(_fromUtf8(""))
|
||||
self.inboxSearchOptionChans.setSizeAdjustPolicy(QtGui.QComboBox.AdjustToContents)
|
||||
self.horizontalSplitter_6.addWidget(self.inboxSearchOptionChans)
|
||||
self.horizontalSplitter_6.handle(1).setEnabled(False)
|
||||
self.horizontalSplitter_6.handle(1).set_enabled(False)
|
||||
self.horizontalSplitter_6.setStretchFactor(0, 1)
|
||||
self.horizontalSplitter_6.setStretchFactor(1, 0)
|
||||
self.verticalSplitter_8.addWidget(self.horizontalSplitter_6)
|
||||
|
@ -546,7 +546,7 @@ class Ui_MainWindow(object):
|
|||
self.verticalSplitter_8.setCollapsible(0, False)
|
||||
self.verticalSplitter_8.setCollapsible(1, False)
|
||||
self.verticalSplitter_8.setCollapsible(2, False)
|
||||
self.verticalSplitter_8.handle(1).setEnabled(False)
|
||||
self.verticalSplitter_8.handle(1).set_enabled(False)
|
||||
self.horizontalSplitter_7.addWidget(self.verticalSplitter_8)
|
||||
self.horizontalSplitter_7.setStretchFactor(0, 0)
|
||||
self.horizontalSplitter_7.setStretchFactor(1, 1)
|
||||
|
|
|
@ -30,7 +30,7 @@ class AccountMixin(object):
|
|||
SUBSCRIPTION = 4
|
||||
BROADCAST = 5
|
||||
|
||||
def accountColor(self):
|
||||
def account_color(self):
|
||||
"""QT UI color for an account"""
|
||||
if not self.isEnabled:
|
||||
return QtGui.QColor(128, 128, 128)
|
||||
|
@ -40,25 +40,25 @@ class AccountMixin(object):
|
|||
return QtGui.QColor(137, 4, 177)
|
||||
return QtGui.QApplication.palette().text().color()
|
||||
|
||||
def folderColor(self):
|
||||
def folder_color(self):
|
||||
"""QT UI color for a folder"""
|
||||
if not self.parent().isEnabled:
|
||||
return QtGui.QColor(128, 128, 128)
|
||||
return QtGui.QApplication.palette().text().color()
|
||||
|
||||
def accountBrush(self):
|
||||
def account_brush(self):
|
||||
"""Account brush (for QT UI)"""
|
||||
brush = QtGui.QBrush(self.accountColor())
|
||||
brush = QtGui.QBrush(self.account_color())
|
||||
brush.setStyle(QtCore.Qt.NoBrush)
|
||||
return brush
|
||||
|
||||
def folderBrush(self):
|
||||
def folder_brush(self):
|
||||
"""Folder brush (for QT UI)"""
|
||||
brush = QtGui.QBrush(self.folderColor())
|
||||
brush = QtGui.QBrush(self.folder_color())
|
||||
brush.setStyle(QtCore.Qt.NoBrush)
|
||||
return brush
|
||||
|
||||
def accountString(self):
|
||||
def account_string(self):
|
||||
"""Account string suitable for use in To: field: label <address>"""
|
||||
label = self._getLabel()
|
||||
return (
|
||||
|
@ -66,14 +66,11 @@ class AccountMixin(object):
|
|||
else '%s <%s>' % (label, self.address)
|
||||
)
|
||||
|
||||
def setAddress(self, address):
|
||||
def set_address(self, address):
|
||||
"""Set bitmessage address of the object"""
|
||||
if address is None:
|
||||
self.address = None
|
||||
else:
|
||||
self.address = str(address)
|
||||
self.address = None if address is None else str(address)
|
||||
|
||||
def setUnreadCount(self, cnt):
|
||||
def set_unread_count(self, cnt):
|
||||
"""Set number of unread messages"""
|
||||
try:
|
||||
if self.unreadCount == int(cnt):
|
||||
|
@ -84,17 +81,17 @@ class AccountMixin(object):
|
|||
if isinstance(self, QtGui.QTreeWidgetItem):
|
||||
self.emitDataChanged()
|
||||
|
||||
def setEnabled(self, enabled):
|
||||
def set_enabled(self, enabled):
|
||||
"""Set account enabled (QT UI)"""
|
||||
self.isEnabled = enabled
|
||||
try:
|
||||
self.setExpanded(enabled)
|
||||
except AttributeError:
|
||||
pass
|
||||
if isinstance(self, Ui_AddressWidget):
|
||||
if isinstance(self, UiAddressWidget):
|
||||
for i in range(self.childCount()):
|
||||
if isinstance(self.child(i), Ui_FolderWidget):
|
||||
self.child(i).setEnabled(enabled)
|
||||
if isinstance(self.child(i), UiFolderWidget):
|
||||
self.child(i).set_enabled(enabled)
|
||||
if isinstance(self, QtGui.QTreeWidgetItem):
|
||||
self.emitDataChanged()
|
||||
|
||||
|
@ -114,7 +111,7 @@ class AccountMixin(object):
|
|||
else:
|
||||
self.type = self.NORMAL
|
||||
|
||||
def defaultLabel(self):
|
||||
def default_label(self):
|
||||
"""Default label (in case no label is set manually)"""
|
||||
queryreturn = None
|
||||
retval = None
|
||||
|
@ -131,7 +128,7 @@ class AccountMixin(object):
|
|||
queryreturn = sqlQuery(
|
||||
'''select label from subscriptions where address=?''', self.address)
|
||||
if queryreturn is not None:
|
||||
if queryreturn != []:
|
||||
if queryreturn:
|
||||
for row in queryreturn:
|
||||
retval, = row
|
||||
retval = unicode(retval, 'utf-8')
|
||||
|
@ -145,25 +142,25 @@ class AccountMixin(object):
|
|||
class BMTreeWidgetItem(QtGui.QTreeWidgetItem, AccountMixin):
|
||||
"""A common abstract class for Tree widget item"""
|
||||
|
||||
def __init__(self, parent, pos, address, unreadCount):
|
||||
def __init__(self, parent, pos, address, unread_count):
|
||||
super(QtGui.QTreeWidgetItem, self).__init__()
|
||||
self.setAddress(address)
|
||||
self.setUnreadCount(unreadCount)
|
||||
self.set_address(address)
|
||||
self.set_unread_count(unread_count)
|
||||
self._setup(parent, pos)
|
||||
|
||||
def _getAddressBracket(self, unreadCount=False):
|
||||
def _get_address_bracket(self, unreadCount=False):
|
||||
return " (" + str(self.unreadCount) + ")" if unreadCount else ""
|
||||
|
||||
def data(self, column, role):
|
||||
"""Override internal QT method for returning object data"""
|
||||
if column == 0:
|
||||
if role == QtCore.Qt.DisplayRole:
|
||||
return self._getLabel() + self._getAddressBracket(
|
||||
return self._getLabel() + self._get_address_bracket(
|
||||
self.unreadCount > 0)
|
||||
elif role == QtCore.Qt.EditRole:
|
||||
return self._getLabel()
|
||||
elif role == QtCore.Qt.ToolTipRole:
|
||||
return self._getLabel() + self._getAddressBracket(False)
|
||||
return self._getLabel() + self._get_address_bracket(False)
|
||||
elif role == QtCore.Qt.FontRole:
|
||||
font = QtGui.QFont()
|
||||
font.setBold(self.unreadCount > 0)
|
||||
|
@ -171,35 +168,35 @@ class BMTreeWidgetItem(QtGui.QTreeWidgetItem, AccountMixin):
|
|||
return super(BMTreeWidgetItem, self).data(column, role)
|
||||
|
||||
|
||||
class Ui_FolderWidget(BMTreeWidgetItem):
|
||||
class UiFolderWidget(BMTreeWidgetItem):
|
||||
"""Item in the account/folder tree representing a folder"""
|
||||
folderWeight = {"inbox": 1, "new": 2, "sent": 3, "trash": 4}
|
||||
|
||||
def __init__(
|
||||
self, parent, pos=0, address="", folderName="", unreadCount=0):
|
||||
self.setFolderName(folderName)
|
||||
super(Ui_FolderWidget, self).__init__(
|
||||
parent, pos, address, unreadCount)
|
||||
self, parent, pos=0, address="", folder_name="", unread_count=0):
|
||||
self.set_folder_name(folder_name)
|
||||
super(UiFolderWidget, self).__init__(
|
||||
parent, pos, address, unread_count)
|
||||
|
||||
def _setup(self, parent, pos):
|
||||
parent.insertChild(pos, self)
|
||||
|
||||
def _getLabel(self):
|
||||
def _get_label(self):
|
||||
return _translate("MainWindow", self.folderName)
|
||||
|
||||
def setFolderName(self, fname):
|
||||
def set_folder_name(self, fname):
|
||||
"""Set folder name (for QT UI)"""
|
||||
self.folderName = str(fname)
|
||||
|
||||
def data(self, column, role):
|
||||
"""Override internal QT method for returning object data"""
|
||||
if column == 0 and role == QtCore.Qt.ForegroundRole:
|
||||
return self.folderBrush()
|
||||
return super(Ui_FolderWidget, self).data(column, role)
|
||||
return self.folder_brush()
|
||||
return super(UiFolderWidget, self).data(column, role)
|
||||
|
||||
# inbox, sent, thrash first, rest alphabetically
|
||||
def __lt__(self, other):
|
||||
if isinstance(other, Ui_FolderWidget):
|
||||
if isinstance(other, UiFolderWidget):
|
||||
if self.folderName in self.folderWeight:
|
||||
x = self.folderWeight[self.folderName]
|
||||
else:
|
||||
|
@ -217,18 +214,18 @@ class Ui_FolderWidget(BMTreeWidgetItem):
|
|||
return super(QtGui.QTreeWidgetItem, self).__lt__(other)
|
||||
|
||||
|
||||
class Ui_AddressWidget(BMTreeWidgetItem, SettingsMixin):
|
||||
class UiAddressWidget(BMTreeWidgetItem, SettingsMixin):
|
||||
"""Item in the account/folder tree representing an account"""
|
||||
def __init__(self, parent, pos=0, address=None, unreadCount=0, enabled=True):
|
||||
super(Ui_AddressWidget, self).__init__(
|
||||
parent, pos, address, unreadCount)
|
||||
self.setEnabled(enabled)
|
||||
def __init__(self, parent, pos=0, address=None, unread_count=0, enabled=True):
|
||||
super(UiAddressWidget, self).__init__(
|
||||
parent, pos, address, unread_count)
|
||||
self.set_enabled(enabled)
|
||||
|
||||
def _setup(self, parent, pos):
|
||||
self.setType()
|
||||
parent.insertTopLevelItem(pos, self)
|
||||
|
||||
def _getLabel(self):
|
||||
def _get_label(self):
|
||||
if self.address is None:
|
||||
return unicode(_translate(
|
||||
"MainWindow", "All accounts").toUtf8(), 'utf-8', 'ignore')
|
||||
|
@ -240,11 +237,11 @@ class Ui_AddressWidget(BMTreeWidgetItem, SettingsMixin):
|
|||
except:
|
||||
return unicode(self.address, 'utf-8')
|
||||
|
||||
def _getAddressBracket(self, unreadCount=False):
|
||||
def _get_address_bracket(self, unread_count=False):
|
||||
ret = "" if self.isExpanded() \
|
||||
else super(Ui_AddressWidget, self)._getAddressBracket(unreadCount)
|
||||
else super(UiAddressWidget, self)._get_address_bracket(unread_count)
|
||||
if self.address is not None:
|
||||
ret += " (" + self.address + ")"
|
||||
ret += " (%s)" % self.address
|
||||
return ret
|
||||
|
||||
def data(self, column, role):
|
||||
|
@ -252,10 +249,10 @@ class Ui_AddressWidget(BMTreeWidgetItem, SettingsMixin):
|
|||
if column == 0:
|
||||
if role == QtCore.Qt.DecorationRole:
|
||||
return avatarize(
|
||||
self.address or self._getLabel().encode('utf8'))
|
||||
self.address or self._get_label().encode('utf8'))
|
||||
elif role == QtCore.Qt.ForegroundRole:
|
||||
return self.accountBrush()
|
||||
return super(Ui_AddressWidget, self).data(column, role)
|
||||
return self.account_brush()
|
||||
return super(UiAddressWidget, self).data(column, role)
|
||||
|
||||
def setData(self, column, role, value):
|
||||
"""Save account label (if you edit in the the UI, this will be triggered and will save it to keys.dat)"""
|
||||
|
@ -268,42 +265,42 @@ class Ui_AddressWidget(BMTreeWidgetItem, SettingsMixin):
|
|||
else value.encode('utf-8')
|
||||
)
|
||||
BMConfigParser().save()
|
||||
return super(Ui_AddressWidget, self).setData(column, role, value)
|
||||
return super(UiAddressWidget, self).setData(column, role, value)
|
||||
|
||||
def setAddress(self, address):
|
||||
def set_address(self, address):
|
||||
"""Set address to object (for QT UI)"""
|
||||
super(Ui_AddressWidget, self).setAddress(address)
|
||||
super(UiAddressWidget, self).set_address(address)
|
||||
self.setData(0, QtCore.Qt.UserRole, self.address)
|
||||
|
||||
def _getSortRank(self):
|
||||
def _get_sort_rank(self):
|
||||
return self.type if self.isEnabled else (self.type + 100)
|
||||
|
||||
# label (or address) alphabetically, disabled at the end
|
||||
def __lt__(self, other):
|
||||
# pylint: disable=protected-access
|
||||
if isinstance(other, Ui_AddressWidget):
|
||||
if isinstance(other, UiAddressWidget):
|
||||
reverse = QtCore.Qt.DescendingOrder == \
|
||||
self.treeWidget().header().sortIndicatorOrder()
|
||||
if self._getSortRank() == other._getSortRank():
|
||||
x = self._getLabel().lower()
|
||||
y = other._getLabel().lower()
|
||||
if self._get_sort_rank() == other._get_sort_rank():
|
||||
x = self._get_label().lower()
|
||||
y = other._get_label().lower()
|
||||
return x < y
|
||||
return (
|
||||
not reverse
|
||||
if self._getSortRank() < other._getSortRank() else reverse
|
||||
if self._get_sort_rank() < other._get_sort_rank() else reverse
|
||||
)
|
||||
|
||||
return super(QtGui.QTreeWidgetItem, self).__lt__(other)
|
||||
|
||||
|
||||
class Ui_SubscriptionWidget(Ui_AddressWidget):
|
||||
class UiSubscriptionWidget(UiAddressWidget):
|
||||
"""Special treating of subscription addresses"""
|
||||
# pylint: disable=unused-argument
|
||||
def __init__(self, parent, pos=0, address="", unreadCount=0, label="", enabled=True):
|
||||
super(Ui_SubscriptionWidget, self).__init__(
|
||||
parent, pos, address, unreadCount, enabled)
|
||||
def __init__(self, parent, pos=0, address="", unread_count=0, label="", enabled=True):
|
||||
super(UiSubscriptionWidget, self).__init__(
|
||||
parent, pos, address, unread_count, enabled)
|
||||
|
||||
def _getLabel(self):
|
||||
def _get_label(self):
|
||||
queryreturn = sqlQuery(
|
||||
'''select label from subscriptions where address=?''', self.address)
|
||||
if queryreturn != []:
|
||||
|
@ -314,7 +311,7 @@ class Ui_SubscriptionWidget(Ui_AddressWidget):
|
|||
|
||||
def setType(self):
|
||||
"""Set account type"""
|
||||
super(Ui_SubscriptionWidget, self).setType() # sets it editable
|
||||
super(UiSubscriptionWidget, self).setType() # sets it editable
|
||||
self.type = AccountMixin.SUBSCRIPTION # overrides type
|
||||
|
||||
def setData(self, column, role, value):
|
||||
|
@ -328,7 +325,7 @@ class Ui_SubscriptionWidget(Ui_AddressWidget):
|
|||
sqlExecute(
|
||||
'''UPDATE subscriptions SET label=? WHERE address=?''',
|
||||
label, self.address)
|
||||
return super(Ui_SubscriptionWidget, self).setData(column, role, value)
|
||||
return super(UiSubscriptionWidget, self).setData(column, role, value)
|
||||
|
||||
|
||||
class BMTableWidgetItem(QtGui.QTableWidgetItem, SettingsMixin):
|
||||
|
@ -336,17 +333,17 @@ class BMTableWidgetItem(QtGui.QTableWidgetItem, SettingsMixin):
|
|||
|
||||
def __init__(self, parent=None, label=None, unread=False):
|
||||
super(QtGui.QTableWidgetItem, self).__init__()
|
||||
self.setLabel(label)
|
||||
self.setUnread(unread)
|
||||
self.set_label(label)
|
||||
self.set_unread(unread)
|
||||
self._setup()
|
||||
if parent is not None:
|
||||
parent.append(self)
|
||||
|
||||
def setLabel(self, label):
|
||||
def set_label(self, label):
|
||||
"""Set object label"""
|
||||
self.label = label
|
||||
|
||||
def setUnread(self, unread):
|
||||
def set_unread(self, unread):
|
||||
"""Set/unset read state of an item"""
|
||||
self.unread = unread
|
||||
|
||||
|
@ -367,9 +364,9 @@ class BMAddressWidget(BMTableWidgetItem, AccountMixin):
|
|||
"""A common class for Table widget item with account"""
|
||||
|
||||
def _setup(self):
|
||||
self.setEnabled(True)
|
||||
self.set_enabled(True)
|
||||
|
||||
def _getLabel(self):
|
||||
def _get_label(self):
|
||||
return self.label
|
||||
|
||||
def data(self, role):
|
||||
|
@ -381,33 +378,33 @@ class BMAddressWidget(BMTableWidgetItem, AccountMixin):
|
|||
'bitmessagesettings', 'useidenticons'):
|
||||
return avatarize(self.address or self.label)
|
||||
elif role == QtCore.Qt.ForegroundRole:
|
||||
return self.accountBrush()
|
||||
return self.account_brush()
|
||||
return super(BMAddressWidget, self).data(role)
|
||||
|
||||
|
||||
class MessageList_AddressWidget(BMAddressWidget):
|
||||
class MessageListAddressWidget(BMAddressWidget):
|
||||
"""Address item in a messagelist"""
|
||||
def __init__(self, parent, address=None, label=None, unread=False):
|
||||
self.setAddress(address)
|
||||
super(MessageList_AddressWidget, self).__init__(parent, label, unread)
|
||||
self.set_address(address)
|
||||
super(MessageListAddressWidget, self).__init__(parent, label, unread)
|
||||
|
||||
def _setup(self):
|
||||
self.isEnabled = True
|
||||
self.setFlags(QtCore.Qt.ItemIsSelectable | QtCore.Qt.ItemIsEnabled)
|
||||
self.setType()
|
||||
|
||||
def setLabel(self, label=None):
|
||||
def set_label(self, label=None):
|
||||
"""Set label"""
|
||||
super(MessageList_AddressWidget, self).setLabel(label)
|
||||
super(MessageListAddressWidget, self).set_label(label)
|
||||
if label is not None:
|
||||
return
|
||||
newLabel = self.address
|
||||
new_label = self.address
|
||||
queryreturn = None
|
||||
if self.type in (
|
||||
AccountMixin.NORMAL,
|
||||
AccountMixin.CHAN, AccountMixin.MAILINGLIST):
|
||||
try:
|
||||
newLabel = unicode(
|
||||
new_label = unicode(
|
||||
BMConfigParser().get(self.address, 'label'),
|
||||
'utf-8', 'ignore')
|
||||
except:
|
||||
|
@ -418,39 +415,39 @@ class MessageList_AddressWidget(BMAddressWidget):
|
|||
'''select label from subscriptions where address=?''', self.address)
|
||||
if queryreturn:
|
||||
for row in queryreturn:
|
||||
newLabel = unicode(row[0], 'utf-8', 'ignore')
|
||||
new_label = unicode(row[0], 'utf-8', 'ignore')
|
||||
|
||||
self.label = newLabel
|
||||
self.label = new_label
|
||||
|
||||
def data(self, role):
|
||||
"""Return object data (QT UI)"""
|
||||
if role == QtCore.Qt.UserRole:
|
||||
return self.address
|
||||
return super(MessageList_AddressWidget, self).data(role)
|
||||
return super(MessageListAddressWidget, self).data(role)
|
||||
|
||||
def setData(self, role, value):
|
||||
"""Set object data"""
|
||||
if role == QtCore.Qt.EditRole:
|
||||
self.setLabel()
|
||||
return super(MessageList_AddressWidget, self).setData(role, value)
|
||||
self.set_label()
|
||||
return super(MessageListAddressWidget, self).setData(role, value)
|
||||
|
||||
# label (or address) alphabetically, disabled at the end
|
||||
def __lt__(self, other):
|
||||
if isinstance(other, MessageList_AddressWidget):
|
||||
if isinstance(other, MessageListAddressWidget):
|
||||
return self.label.lower() < other.label.lower()
|
||||
return super(QtGui.QTableWidgetItem, self).__lt__(other)
|
||||
|
||||
|
||||
class MessageList_SubjectWidget(BMTableWidgetItem):
|
||||
class MessageListSubjectWidget(BMTableWidgetItem):
|
||||
"""Message list subject item"""
|
||||
def __init__(self, parent, subject=None, label=None, unread=False):
|
||||
self.setSubject(subject)
|
||||
super(MessageList_SubjectWidget, self).__init__(parent, label, unread)
|
||||
self.set_subject(subject)
|
||||
super(MessageListSubjectWidget, self).__init__(parent, label, unread)
|
||||
|
||||
def _setup(self):
|
||||
self.setFlags(QtCore.Qt.ItemIsSelectable | QtCore.Qt.ItemIsEnabled)
|
||||
|
||||
def setSubject(self, subject):
|
||||
def set_subject(self, subject):
|
||||
"""Set subject"""
|
||||
self.subject = subject
|
||||
|
||||
|
@ -460,27 +457,27 @@ class MessageList_SubjectWidget(BMTableWidgetItem):
|
|||
return self.subject
|
||||
if role == QtCore.Qt.ToolTipRole:
|
||||
return escape(unicode(self.subject, 'utf-8'))
|
||||
return super(MessageList_SubjectWidget, self).data(role)
|
||||
return super(MessageListSubjectWidget, self).data(role)
|
||||
|
||||
# label (or address) alphabetically, disabled at the end
|
||||
def __lt__(self, other):
|
||||
if isinstance(other, MessageList_SubjectWidget):
|
||||
if isinstance(other, MessageListSubjectWidget):
|
||||
return self.label.lower() < other.label.lower()
|
||||
return super(QtGui.QTableWidgetItem, self).__lt__(other)
|
||||
|
||||
|
||||
class Ui_AddressBookWidgetItem(BMAddressWidget):
|
||||
class UiAddressBookWidgetItem(BMAddressWidget):
|
||||
"""Addressbook item"""
|
||||
# pylint: disable=unused-argument
|
||||
def __init__(self, label=None, acc_type=AccountMixin.NORMAL):
|
||||
self.type = acc_type
|
||||
super(Ui_AddressBookWidgetItem, self).__init__(label=label)
|
||||
super(UiAddressBookWidgetItem, self).__init__(label=label)
|
||||
|
||||
def data(self, role):
|
||||
"""Return object data"""
|
||||
if role == QtCore.Qt.UserRole:
|
||||
return self.type
|
||||
return super(Ui_AddressBookWidgetItem, self).data(role)
|
||||
return super(UiAddressBookWidgetItem, self).data(role)
|
||||
|
||||
def setData(self, role, value):
|
||||
"""Set data"""
|
||||
|
@ -502,10 +499,10 @@ class Ui_AddressBookWidgetItem(BMAddressWidget):
|
|||
sqlExecute('''UPDATE subscriptions set label=? WHERE address=?''', self.label, self.address)
|
||||
else:
|
||||
pass
|
||||
return super(Ui_AddressBookWidgetItem, self).setData(role, value)
|
||||
return super(UiAddressBookWidgetItem, self).setData(role, value)
|
||||
|
||||
def __lt__(self, other):
|
||||
if isinstance(other, Ui_AddressBookWidgetItem):
|
||||
if isinstance(other, UiAddressBookWidgetItem):
|
||||
reverse = QtCore.Qt.DescendingOrder == \
|
||||
self.tableWidget().horizontalHeader().sortIndicatorOrder()
|
||||
|
||||
|
@ -515,22 +512,22 @@ class Ui_AddressBookWidgetItem(BMAddressWidget):
|
|||
return super(QtGui.QTableWidgetItem, self).__lt__(other)
|
||||
|
||||
|
||||
class Ui_AddressBookWidgetItemLabel(Ui_AddressBookWidgetItem):
|
||||
class UiAddressBookWidgetItemLabel(UiAddressBookWidgetItem):
|
||||
"""Addressbook label item"""
|
||||
def __init__(self, address, label, acc_type):
|
||||
super(Ui_AddressBookWidgetItemLabel, self).__init__(label, acc_type)
|
||||
super(UiAddressBookWidgetItemLabel, self).__init__(label, acc_type)
|
||||
self.address = address
|
||||
|
||||
def data(self, role):
|
||||
"""Return object data"""
|
||||
self.label = self.defaultLabel()
|
||||
return super(Ui_AddressBookWidgetItemLabel, self).data(role)
|
||||
self.label = self.default_label()
|
||||
return super(UiAddressBookWidgetItemLabel, self).data(role)
|
||||
|
||||
|
||||
class Ui_AddressBookWidgetItemAddress(Ui_AddressBookWidgetItem):
|
||||
class UiAddressBookWidgetItemAddress(UiAddressBookWidgetItem):
|
||||
"""Addressbook address item"""
|
||||
def __init__(self, address, label, acc_type):
|
||||
super(Ui_AddressBookWidgetItemAddress, self).__init__(address, acc_type)
|
||||
super(UiAddressBookWidgetItemAddress, self).__init__(address, acc_type)
|
||||
self.address = address
|
||||
self.setFlags(QtCore.Qt.ItemIsSelectable | QtCore.Qt.ItemIsEnabled)
|
||||
|
||||
|
@ -540,7 +537,7 @@ class Ui_AddressBookWidgetItemAddress(Ui_AddressBookWidgetItem):
|
|||
return self.address
|
||||
if role == QtCore.Qt.DecorationRole:
|
||||
return None
|
||||
return super(Ui_AddressBookWidgetItemAddress, self).data(role)
|
||||
return super(UiAddressBookWidgetItemAddress, self).data(role)
|
||||
|
||||
|
||||
class AddressBookCompleter(QtGui.QCompleter):
|
||||
|
@ -550,7 +547,7 @@ class AddressBookCompleter(QtGui.QCompleter):
|
|||
super(AddressBookCompleter, self).__init__()
|
||||
self.cursorPos = -1
|
||||
|
||||
def onCursorPositionChanged(self, oldPos, newPos): # pylint: disable=unused-argument
|
||||
def on_cursor_position_changed(self, oldPos, newPos): # pylint: disable=unused-argument
|
||||
"""Callback for cursor position change"""
|
||||
if oldPos != self.cursorPos:
|
||||
self.cursorPos = -1
|
||||
|
@ -562,7 +559,7 @@ class AddressBookCompleter(QtGui.QCompleter):
|
|||
|
||||
def pathFromIndex(self, index):
|
||||
"""Perform autocompletion (reimplemented QCompleter method)"""
|
||||
autoString = unicode(
|
||||
auto_string = unicode(
|
||||
index.data(QtCore.Qt.EditRole).toString().toUtf8(), 'utf-8')
|
||||
text = unicode(self.widget().text().toUtf8(), 'utf-8')
|
||||
|
||||
|
@ -573,28 +570,28 @@ class AddressBookCompleter(QtGui.QCompleter):
|
|||
self.cursorPos = self.widget().cursorPosition()
|
||||
|
||||
# Get current prosition
|
||||
curIndex = self.widget().cursorPosition()
|
||||
cur_index = self.widget().cursorPosition()
|
||||
|
||||
# prev_delimiter_index should actually point at final white space
|
||||
# AFTER the delimiter
|
||||
# Get index of last delimiter before current position
|
||||
prevDelimiterIndex = text[0:curIndex].rfind(";")
|
||||
while text[prevDelimiterIndex + 1] == " ":
|
||||
prevDelimiterIndex += 1
|
||||
prev_delimiter_index = text[0:cur_index].rfind(";")
|
||||
while text[prev_delimiter_index + 1] == " ":
|
||||
prev_delimiter_index += 1
|
||||
|
||||
# Get index of first delimiter after current position
|
||||
# (or EOL if no delimiter after cursor)
|
||||
nextDelimiterIndex = text.find(";", curIndex)
|
||||
if nextDelimiterIndex == -1:
|
||||
nextDelimiterIndex = len(text)
|
||||
next_delimiter_index = text.find(";", cur_index)
|
||||
if next_delimiter_index == -1:
|
||||
next_delimiter_index = len(text)
|
||||
|
||||
# Get part of string that occurs before cursor
|
||||
part1 = text[0:prevDelimiterIndex + 1]
|
||||
part1 = text[0:prev_delimiter_index + 1]
|
||||
|
||||
# Get string value from before auto finished string is selected
|
||||
# pre = text[prevDelimiterIndex + 1:curIndex - 1]
|
||||
# pre = text[prev_delimiter_index + 1:cur_index - 1]
|
||||
|
||||
# Get part of string that occurs AFTER cursor
|
||||
part2 = text[nextDelimiterIndex:]
|
||||
part2 = text[next_delimiter_index:]
|
||||
|
||||
return part1 + autoString + part2
|
||||
return part1 + auto_string + part2
|
||||
|
|
|
@ -4,6 +4,10 @@ and suggest how it may be installed
|
|||
"""
|
||||
|
||||
import sys
|
||||
import logging
|
||||
import os
|
||||
|
||||
from importlib import import_module
|
||||
|
||||
# Only really old versions of Python don't have sys.hexversion. We don't
|
||||
# support them. The logging module was introduced in Python 2.3
|
||||
|
@ -14,10 +18,6 @@ if not hasattr(sys, 'hexversion') or sys.hexversion < 0x20300F0:
|
|||
% sys.version
|
||||
)
|
||||
|
||||
import logging
|
||||
import os
|
||||
from importlib import import_module
|
||||
|
||||
# We can now use logging so set up a simple configuration
|
||||
formatter = logging.Formatter('%(levelname)s: %(message)s')
|
||||
handler = logging.StreamHandler(sys.stdout)
|
||||
|
@ -112,39 +112,39 @@ PACKAGES = {
|
|||
}
|
||||
|
||||
|
||||
def detectOS():
|
||||
if detectOS.result is not None:
|
||||
return detectOS.result
|
||||
def detect_os():
|
||||
if detect_os.result is not None:
|
||||
return detect_os.result
|
||||
if sys.platform.startswith('openbsd'):
|
||||
detectOS.result = "OpenBSD"
|
||||
detect_os.result = "OpenBSD"
|
||||
elif sys.platform.startswith('freebsd'):
|
||||
detectOS.result = "FreeBSD"
|
||||
detect_os.result = "FreeBSD"
|
||||
elif sys.platform.startswith('win'):
|
||||
detectOS.result = "Windows"
|
||||
detect_os.result = "Windows"
|
||||
elif os.path.isfile("/etc/os-release"):
|
||||
detectOSRelease()
|
||||
detect_os_release()
|
||||
elif os.path.isfile("/etc/config.scm"):
|
||||
detectOS.result = "Guix"
|
||||
return detectOS.result
|
||||
detect_os.result = "Guix"
|
||||
return detect_os.result
|
||||
|
||||
|
||||
detectOS.result = None
|
||||
detect_os.result = None
|
||||
|
||||
|
||||
def detectOSRelease():
|
||||
def detect_os_release():
|
||||
with open("/etc/os-release", 'r') as osRelease:
|
||||
version = None
|
||||
for line in osRelease:
|
||||
if line.startswith("NAME="):
|
||||
detectOS.result = OS_RELEASE.get(
|
||||
detect_os.result = OS_RELEASE.get(
|
||||
line.replace('"', '').split("=")[-1].strip().lower())
|
||||
elif line.startswith("VERSION_ID="):
|
||||
try:
|
||||
version = float(line.split("=")[1].replace("\"", ""))
|
||||
except ValueError:
|
||||
pass
|
||||
if detectOS.result == "Ubuntu" and version < 14:
|
||||
detectOS.result = "Ubuntu 12"
|
||||
if detect_os.result == "Ubuntu" and version < 14:
|
||||
detect_os.result = "Ubuntu 12"
|
||||
|
||||
|
||||
def try_import(module, log_extra=False):
|
||||
|
@ -155,7 +155,7 @@ def try_import(module, log_extra=False):
|
|||
logger.error('The %s module is not available.', module)
|
||||
if log_extra:
|
||||
logger.error(log_extra)
|
||||
dist = detectOS()
|
||||
dist = detect_os()
|
||||
logger.error(
|
||||
'On %s, try running "%s %s" as root.',
|
||||
dist, PACKAGE_MANAGER[dist], PACKAGES[module][dist])
|
||||
|
|
Loading…
Reference in New Issue
Block a user