Inbox search.
This commit is contained in:
parent
855a9f963f
commit
45cfead4d0
|
@ -308,205 +308,10 @@ class MyForm(QtGui.QMainWindow):
|
||||||
addressInKeysFile)
|
addressInKeysFile)
|
||||||
|
|
||||||
# Load inbox from messages database file
|
# Load inbox from messages database file
|
||||||
font = QFont()
|
self.loadInbox()
|
||||||
font.setBold(True)
|
|
||||||
shared.sqlLock.acquire()
|
|
||||||
shared.sqlSubmitQueue.put(
|
|
||||||
'''SELECT msgid, toaddress, fromaddress, subject, received, message, read FROM inbox where folder='inbox' ORDER BY received''')
|
|
||||||
shared.sqlSubmitQueue.put('')
|
|
||||||
queryreturn = shared.sqlReturnQueue.get()
|
|
||||||
shared.sqlLock.release()
|
|
||||||
for row in queryreturn:
|
|
||||||
msgid, toAddress, fromAddress, subject, received, message, read = row
|
|
||||||
subject = shared.fixPotentiallyInvalidUTF8Data(subject)
|
|
||||||
message = shared.fixPotentiallyInvalidUTF8Data(message)
|
|
||||||
try:
|
|
||||||
if toAddress == self.str_broadcast_subscribers:
|
|
||||||
toLabel = self.str_broadcast_subscribers
|
|
||||||
else:
|
|
||||||
toLabel = shared.config.get(toAddress, 'label')
|
|
||||||
except:
|
|
||||||
toLabel = ''
|
|
||||||
if toLabel == '':
|
|
||||||
toLabel = toAddress
|
|
||||||
|
|
||||||
fromLabel = ''
|
|
||||||
t = (fromAddress,)
|
|
||||||
shared.sqlLock.acquire()
|
|
||||||
shared.sqlSubmitQueue.put(
|
|
||||||
'''select label from addressbook where address=?''')
|
|
||||||
shared.sqlSubmitQueue.put(t)
|
|
||||||
queryreturn = shared.sqlReturnQueue.get()
|
|
||||||
shared.sqlLock.release()
|
|
||||||
|
|
||||||
if queryreturn != []:
|
|
||||||
for row in queryreturn:
|
|
||||||
fromLabel, = row
|
|
||||||
|
|
||||||
if fromLabel == '': # If this address wasn't in our address book...
|
|
||||||
t = (fromAddress,)
|
|
||||||
shared.sqlLock.acquire()
|
|
||||||
shared.sqlSubmitQueue.put(
|
|
||||||
'''select label from subscriptions where address=?''')
|
|
||||||
shared.sqlSubmitQueue.put(t)
|
|
||||||
queryreturn = shared.sqlReturnQueue.get()
|
|
||||||
shared.sqlLock.release()
|
|
||||||
|
|
||||||
if queryreturn != []:
|
|
||||||
for row in queryreturn:
|
|
||||||
fromLabel, = row
|
|
||||||
|
|
||||||
self.ui.tableWidgetInbox.insertRow(0)
|
|
||||||
newItem = QtGui.QTableWidgetItem(unicode(toLabel, 'utf-8'))
|
|
||||||
newItem.setToolTip(unicode(toLabel, 'utf-8'))
|
|
||||||
newItem.setFlags(
|
|
||||||
QtCore.Qt.ItemIsSelectable | QtCore.Qt.ItemIsEnabled)
|
|
||||||
if not read:
|
|
||||||
newItem.setFont(font)
|
|
||||||
newItem.setData(Qt.UserRole, str(toAddress))
|
|
||||||
if shared.safeConfigGetBoolean(toAddress, 'mailinglist'):
|
|
||||||
newItem.setTextColor(QtGui.QColor(137, 04, 177))
|
|
||||||
self.ui.tableWidgetInbox.setItem(0, 0, newItem)
|
|
||||||
if fromLabel == '':
|
|
||||||
newItem = QtGui.QTableWidgetItem(
|
|
||||||
unicode(fromAddress, 'utf-8'))
|
|
||||||
newItem.setToolTip(unicode(fromAddress, 'utf-8'))
|
|
||||||
else:
|
|
||||||
newItem = QtGui.QTableWidgetItem(unicode(fromLabel, 'utf-8'))
|
|
||||||
newItem.setToolTip(unicode(fromLabel, 'utf-8'))
|
|
||||||
newItem.setFlags(
|
|
||||||
QtCore.Qt.ItemIsSelectable | QtCore.Qt.ItemIsEnabled)
|
|
||||||
if not read:
|
|
||||||
newItem.setFont(font)
|
|
||||||
newItem.setData(Qt.UserRole, str(fromAddress))
|
|
||||||
|
|
||||||
self.ui.tableWidgetInbox.setItem(0, 1, newItem)
|
|
||||||
newItem = QtGui.QTableWidgetItem(unicode(subject, 'utf-8'))
|
|
||||||
newItem.setToolTip(unicode(subject, 'utf-8'))
|
|
||||||
newItem.setData(Qt.UserRole, unicode(message, 'utf-8)'))
|
|
||||||
newItem.setFlags(
|
|
||||||
QtCore.Qt.ItemIsSelectable | QtCore.Qt.ItemIsEnabled)
|
|
||||||
if not read:
|
|
||||||
newItem.setFont(font)
|
|
||||||
self.ui.tableWidgetInbox.setItem(0, 2, newItem)
|
|
||||||
newItem = myTableWidgetItem(unicode(strftime(shared.config.get(
|
|
||||||
'bitmessagesettings', 'timeformat'), localtime(int(received))), 'utf-8'))
|
|
||||||
newItem.setToolTip(unicode(strftime(shared.config.get(
|
|
||||||
'bitmessagesettings', 'timeformat'), localtime(int(received))), 'utf-8'))
|
|
||||||
newItem.setData(Qt.UserRole, QByteArray(msgid))
|
|
||||||
newItem.setData(33, int(received))
|
|
||||||
newItem.setFlags(
|
|
||||||
QtCore.Qt.ItemIsSelectable | QtCore.Qt.ItemIsEnabled)
|
|
||||||
if not read:
|
|
||||||
newItem.setFont(font)
|
|
||||||
self.ui.tableWidgetInbox.setItem(0, 3, newItem)
|
|
||||||
self.ui.tableWidgetInbox.sortItems(3, Qt.DescendingOrder)
|
|
||||||
self.ui.tableWidgetInbox.keyPressEvent = self.tableWidgetInboxKeyPressEvent
|
|
||||||
|
|
||||||
# Load Sent items from database
|
# Load Sent items from database
|
||||||
shared.sqlLock.acquire()
|
self.loadSent()
|
||||||
shared.sqlSubmitQueue.put(
|
|
||||||
'''SELECT toaddress, fromaddress, subject, message, status, ackdata, lastactiontime FROM sent where folder = 'sent' ORDER BY lastactiontime''')
|
|
||||||
shared.sqlSubmitQueue.put('')
|
|
||||||
queryreturn = shared.sqlReturnQueue.get()
|
|
||||||
shared.sqlLock.release()
|
|
||||||
for row in queryreturn:
|
|
||||||
toAddress, fromAddress, subject, message, status, ackdata, lastactiontime = row
|
|
||||||
subject = shared.fixPotentiallyInvalidUTF8Data(subject)
|
|
||||||
message = shared.fixPotentiallyInvalidUTF8Data(message)
|
|
||||||
try:
|
|
||||||
fromLabel = shared.config.get(fromAddress, 'label')
|
|
||||||
except:
|
|
||||||
fromLabel = ''
|
|
||||||
if fromLabel == '':
|
|
||||||
fromLabel = fromAddress
|
|
||||||
|
|
||||||
toLabel = ''
|
|
||||||
t = (toAddress,)
|
|
||||||
shared.sqlLock.acquire()
|
|
||||||
shared.sqlSubmitQueue.put(
|
|
||||||
'''select label from addressbook where address=?''')
|
|
||||||
shared.sqlSubmitQueue.put(t)
|
|
||||||
queryreturn = shared.sqlReturnQueue.get()
|
|
||||||
shared.sqlLock.release()
|
|
||||||
|
|
||||||
if queryreturn != []:
|
|
||||||
for row in queryreturn:
|
|
||||||
toLabel, = row
|
|
||||||
|
|
||||||
self.ui.tableWidgetSent.insertRow(0)
|
|
||||||
if toLabel == '':
|
|
||||||
newItem = QtGui.QTableWidgetItem(unicode(toAddress, 'utf-8'))
|
|
||||||
newItem.setToolTip(unicode(toAddress, 'utf-8'))
|
|
||||||
else:
|
|
||||||
newItem = QtGui.QTableWidgetItem(unicode(toLabel, 'utf-8'))
|
|
||||||
newItem.setToolTip(unicode(toLabel, 'utf-8'))
|
|
||||||
newItem.setData(Qt.UserRole, str(toAddress))
|
|
||||||
newItem.setFlags(
|
|
||||||
QtCore.Qt.ItemIsSelectable | QtCore.Qt.ItemIsEnabled)
|
|
||||||
self.ui.tableWidgetSent.setItem(0, 0, newItem)
|
|
||||||
if fromLabel == '':
|
|
||||||
newItem = QtGui.QTableWidgetItem(
|
|
||||||
unicode(fromAddress, 'utf-8'))
|
|
||||||
newItem.setToolTip(unicode(fromAddress, 'utf-8'))
|
|
||||||
else:
|
|
||||||
newItem = QtGui.QTableWidgetItem(unicode(fromLabel, 'utf-8'))
|
|
||||||
newItem.setToolTip(unicode(fromLabel, 'utf-8'))
|
|
||||||
newItem.setData(Qt.UserRole, str(fromAddress))
|
|
||||||
newItem.setFlags(
|
|
||||||
QtCore.Qt.ItemIsSelectable | QtCore.Qt.ItemIsEnabled)
|
|
||||||
self.ui.tableWidgetSent.setItem(0, 1, newItem)
|
|
||||||
newItem = QtGui.QTableWidgetItem(unicode(subject, 'utf-8'))
|
|
||||||
newItem.setToolTip(unicode(subject, 'utf-8'))
|
|
||||||
newItem.setData(Qt.UserRole, unicode(message, 'utf-8)'))
|
|
||||||
newItem.setFlags(
|
|
||||||
QtCore.Qt.ItemIsSelectable | QtCore.Qt.ItemIsEnabled)
|
|
||||||
self.ui.tableWidgetSent.setItem(0, 2, newItem)
|
|
||||||
if status == 'awaitingpubkey':
|
|
||||||
statusText = _translate(
|
|
||||||
"MainWindow", "Waiting on their encryption key. Will request it again soon.")
|
|
||||||
elif status == 'doingpowforpubkey':
|
|
||||||
statusText = _translate(
|
|
||||||
"MainWindow", "Encryption key request queued.")
|
|
||||||
elif status == 'msgqueued':
|
|
||||||
statusText = _translate(
|
|
||||||
"MainWindow", "Queued.")
|
|
||||||
elif status == 'msgsent':
|
|
||||||
statusText = _translate("MainWindow", "Message sent. Waiting on acknowledgement. Sent at %1").arg(
|
|
||||||
unicode(strftime(shared.config.get('bitmessagesettings', 'timeformat'), localtime(lastactiontime)),'utf-8'))
|
|
||||||
elif status == 'doingmsgpow':
|
|
||||||
statusText = _translate(
|
|
||||||
"MainWindow", "Need to do work to send message. Work is queued.")
|
|
||||||
elif status == 'ackreceived':
|
|
||||||
statusText = _translate("MainWindow", "Acknowledgement of the message received %1").arg(
|
|
||||||
unicode(strftime(shared.config.get('bitmessagesettings', 'timeformat'), localtime(lastactiontime)),'utf-8'))
|
|
||||||
elif status == 'broadcastqueued':
|
|
||||||
statusText = _translate(
|
|
||||||
"MainWindow", "Broadcast queued.")
|
|
||||||
elif status == 'broadcastsent':
|
|
||||||
statusText = _translate("MainWindow", "Broadcast on %1").arg(unicode(strftime(
|
|
||||||
shared.config.get('bitmessagesettings', 'timeformat'), localtime(lastactiontime)),'utf-8'))
|
|
||||||
elif status == 'toodifficult':
|
|
||||||
statusText = _translate("MainWindow", "Problem: The work demanded by the recipient is more difficult than you are willing to do. %1").arg(
|
|
||||||
unicode(strftime(shared.config.get('bitmessagesettings', 'timeformat'), localtime(lastactiontime)),'utf-8'))
|
|
||||||
elif status == 'badkey':
|
|
||||||
statusText = _translate("MainWindow", "Problem: The recipient\'s encryption key is no good. Could not encrypt message. %1").arg(
|
|
||||||
unicode(strftime(shared.config.get('bitmessagesettings', 'timeformat'), localtime(lastactiontime)),'utf-8'))
|
|
||||||
elif status == 'forcepow':
|
|
||||||
statusText = _translate(
|
|
||||||
"MainWindow", "Forced difficulty override. Send should start soon.")
|
|
||||||
else:
|
|
||||||
statusText = _translate("MainWindow", "Unknown status: %1 %2").arg(status).arg(unicode(
|
|
||||||
strftime(shared.config.get('bitmessagesettings', 'timeformat'), localtime(lastactiontime)),'utf-8'))
|
|
||||||
newItem = myTableWidgetItem(statusText)
|
|
||||||
newItem.setToolTip(statusText)
|
|
||||||
newItem.setData(Qt.UserRole, QByteArray(ackdata))
|
|
||||||
newItem.setData(33, int(lastactiontime))
|
|
||||||
newItem.setFlags(
|
|
||||||
QtCore.Qt.ItemIsSelectable | QtCore.Qt.ItemIsEnabled)
|
|
||||||
self.ui.tableWidgetSent.setItem(0, 3, newItem)
|
|
||||||
self.ui.tableWidgetSent.sortItems(3, Qt.DescendingOrder)
|
|
||||||
self.ui.tableWidgetSent.keyPressEvent = self.tableWidgetSentKeyPressEvent
|
|
||||||
|
|
||||||
# Initialize the address book
|
# Initialize the address book
|
||||||
shared.sqlLock.acquire()
|
shared.sqlLock.acquire()
|
||||||
|
@ -527,6 +332,10 @@ class MyForm(QtGui.QMainWindow):
|
||||||
# Initialize the Subscriptions
|
# Initialize the Subscriptions
|
||||||
self.rerenderSubscriptions()
|
self.rerenderSubscriptions()
|
||||||
|
|
||||||
|
# Initialize the inbox search
|
||||||
|
QtCore.QObject.connect(self.ui.inboxSearchLineEdit, QtCore.SIGNAL(
|
||||||
|
"returnPressed()"), self.inboxSearchLineEditPressed)
|
||||||
|
|
||||||
# Initialize the Blacklist or Whitelist
|
# Initialize the Blacklist or Whitelist
|
||||||
if shared.config.get('bitmessagesettings', 'blackwhitelist') == 'black':
|
if shared.config.get('bitmessagesettings', 'blackwhitelist') == 'black':
|
||||||
self.loadBlackWhiteList()
|
self.loadBlackWhiteList()
|
||||||
|
@ -686,6 +495,231 @@ class MyForm(QtGui.QMainWindow):
|
||||||
self.appIndicatorShow()
|
self.appIndicatorShow()
|
||||||
self.ui.tabWidget.setCurrentIndex(5)
|
self.ui.tabWidget.setCurrentIndex(5)
|
||||||
|
|
||||||
|
# Load Sent items from database
|
||||||
|
def loadSent(self, where="", what=""):
|
||||||
|
shared.sqlLock.acquire()
|
||||||
|
shared.sqlSubmitQueue.put(
|
||||||
|
'''SELECT toaddress, fromaddress, subject, message, status, ackdata, lastactiontime FROM sent where folder = 'sent' ORDER BY lastactiontime''')
|
||||||
|
shared.sqlSubmitQueue.put('')
|
||||||
|
queryreturn = shared.sqlReturnQueue.get()
|
||||||
|
shared.sqlLock.release()
|
||||||
|
for row in queryreturn:
|
||||||
|
toAddress, fromAddress, subject, message, status, ackdata, lastactiontime = row
|
||||||
|
subject = shared.fixPotentiallyInvalidUTF8Data(subject)
|
||||||
|
message = shared.fixPotentiallyInvalidUTF8Data(message)
|
||||||
|
try:
|
||||||
|
fromLabel = shared.config.get(fromAddress, 'label')
|
||||||
|
except:
|
||||||
|
fromLabel = ''
|
||||||
|
if fromLabel == '':
|
||||||
|
fromLabel = fromAddress
|
||||||
|
|
||||||
|
toLabel = ''
|
||||||
|
t = (toAddress,)
|
||||||
|
shared.sqlLock.acquire()
|
||||||
|
shared.sqlSubmitQueue.put(
|
||||||
|
'''select label from addressbook where address=?''')
|
||||||
|
shared.sqlSubmitQueue.put(t)
|
||||||
|
queryreturn = shared.sqlReturnQueue.get()
|
||||||
|
shared.sqlLock.release()
|
||||||
|
|
||||||
|
if queryreturn != []:
|
||||||
|
for row in queryreturn:
|
||||||
|
toLabel, = row
|
||||||
|
|
||||||
|
self.ui.tableWidgetSent.insertRow(0)
|
||||||
|
if toLabel == '':
|
||||||
|
newItem = QtGui.QTableWidgetItem(unicode(toAddress, 'utf-8'))
|
||||||
|
newItem.setToolTip(unicode(toAddress, 'utf-8'))
|
||||||
|
else:
|
||||||
|
newItem = QtGui.QTableWidgetItem(unicode(toLabel, 'utf-8'))
|
||||||
|
newItem.setToolTip(unicode(toLabel, 'utf-8'))
|
||||||
|
newItem.setData(Qt.UserRole, str(toAddress))
|
||||||
|
newItem.setFlags(
|
||||||
|
QtCore.Qt.ItemIsSelectable | QtCore.Qt.ItemIsEnabled)
|
||||||
|
self.ui.tableWidgetSent.setItem(0, 0, newItem)
|
||||||
|
if fromLabel == '':
|
||||||
|
newItem = QtGui.QTableWidgetItem(
|
||||||
|
unicode(fromAddress, 'utf-8'))
|
||||||
|
newItem.setToolTip(unicode(fromAddress, 'utf-8'))
|
||||||
|
else:
|
||||||
|
newItem = QtGui.QTableWidgetItem(unicode(fromLabel, 'utf-8'))
|
||||||
|
newItem.setToolTip(unicode(fromLabel, 'utf-8'))
|
||||||
|
newItem.setData(Qt.UserRole, str(fromAddress))
|
||||||
|
newItem.setFlags(
|
||||||
|
QtCore.Qt.ItemIsSelectable | QtCore.Qt.ItemIsEnabled)
|
||||||
|
self.ui.tableWidgetSent.setItem(0, 1, newItem)
|
||||||
|
newItem = QtGui.QTableWidgetItem(unicode(subject, 'utf-8'))
|
||||||
|
newItem.setToolTip(unicode(subject, 'utf-8'))
|
||||||
|
newItem.setData(Qt.UserRole, unicode(message, 'utf-8)'))
|
||||||
|
newItem.setFlags(
|
||||||
|
QtCore.Qt.ItemIsSelectable | QtCore.Qt.ItemIsEnabled)
|
||||||
|
self.ui.tableWidgetSent.setItem(0, 2, newItem)
|
||||||
|
if status == 'awaitingpubkey':
|
||||||
|
statusText = _translate(
|
||||||
|
"MainWindow", "Waiting on their encryption key. Will request it again soon.")
|
||||||
|
elif status == 'doingpowforpubkey':
|
||||||
|
statusText = _translate(
|
||||||
|
"MainWindow", "Encryption key request queued.")
|
||||||
|
elif status == 'msgqueued':
|
||||||
|
statusText = _translate(
|
||||||
|
"MainWindow", "Queued.")
|
||||||
|
elif status == 'msgsent':
|
||||||
|
statusText = _translate("MainWindow", "Message sent. Waiting on acknowledgement. Sent at %1").arg(
|
||||||
|
unicode(strftime(shared.config.get('bitmessagesettings', 'timeformat'), localtime(lastactiontime)),'utf-8'))
|
||||||
|
elif status == 'doingmsgpow':
|
||||||
|
statusText = _translate(
|
||||||
|
"MainWindow", "Need to do work to send message. Work is queued.")
|
||||||
|
elif status == 'ackreceived':
|
||||||
|
statusText = _translate("MainWindow", "Acknowledgement of the message received %1").arg(
|
||||||
|
unicode(strftime(shared.config.get('bitmessagesettings', 'timeformat'), localtime(lastactiontime)),'utf-8'))
|
||||||
|
elif status == 'broadcastqueued':
|
||||||
|
statusText = _translate(
|
||||||
|
"MainWindow", "Broadcast queued.")
|
||||||
|
elif status == 'broadcastsent':
|
||||||
|
statusText = _translate("MainWindow", "Broadcast on %1").arg(unicode(strftime(
|
||||||
|
shared.config.get('bitmessagesettings', 'timeformat'), localtime(lastactiontime)),'utf-8'))
|
||||||
|
elif status == 'toodifficult':
|
||||||
|
statusText = _translate("MainWindow", "Problem: The work demanded by the recipient is more difficult than you are willing to do. %1").arg(
|
||||||
|
unicode(strftime(shared.config.get('bitmessagesettings', 'timeformat'), localtime(lastactiontime)),'utf-8'))
|
||||||
|
elif status == 'badkey':
|
||||||
|
statusText = _translate("MainWindow", "Problem: The recipient\'s encryption key is no good. Could not encrypt message. %1").arg(
|
||||||
|
unicode(strftime(shared.config.get('bitmessagesettings', 'timeformat'), localtime(lastactiontime)),'utf-8'))
|
||||||
|
elif status == 'forcepow':
|
||||||
|
statusText = _translate(
|
||||||
|
"MainWindow", "Forced difficulty override. Send should start soon.")
|
||||||
|
else:
|
||||||
|
statusText = _translate("MainWindow", "Unknown status: %1 %2").arg(status).arg(unicode(
|
||||||
|
strftime(shared.config.get('bitmessagesettings', 'timeformat'), localtime(lastactiontime)),'utf-8'))
|
||||||
|
newItem = myTableWidgetItem(statusText)
|
||||||
|
newItem.setToolTip(statusText)
|
||||||
|
newItem.setData(Qt.UserRole, QByteArray(ackdata))
|
||||||
|
newItem.setData(33, int(lastactiontime))
|
||||||
|
newItem.setFlags(
|
||||||
|
QtCore.Qt.ItemIsSelectable | QtCore.Qt.ItemIsEnabled)
|
||||||
|
self.ui.tableWidgetSent.setItem(0, 3, newItem)
|
||||||
|
self.ui.tableWidgetSent.sortItems(3, Qt.DescendingOrder)
|
||||||
|
self.ui.tableWidgetSent.keyPressEvent = self.tableWidgetSentKeyPressEvent
|
||||||
|
|
||||||
|
# Load inbox from messages database file
|
||||||
|
def loadInbox(self, where="", what=""):
|
||||||
|
what = "%" + what + "%"
|
||||||
|
if where == "To":
|
||||||
|
where = "toaddress"
|
||||||
|
elif where == "From":
|
||||||
|
where = "fromaddress"
|
||||||
|
elif where == "Subject":
|
||||||
|
where = "subject"
|
||||||
|
elif where == "Received":
|
||||||
|
where = "received"
|
||||||
|
elif where == "Message":
|
||||||
|
where = "message"
|
||||||
|
else:
|
||||||
|
where = "toaddress || fromaddress || subject || received || message"
|
||||||
|
|
||||||
|
sqlQuery = '''
|
||||||
|
SELECT msgid, toaddress, fromaddress, subject, received, message, read
|
||||||
|
FROM inbox WHERE folder="inbox" AND %s LIKE "%s"
|
||||||
|
ORDER BY received
|
||||||
|
''' % (where, what)
|
||||||
|
|
||||||
|
while self.ui.tableWidgetInbox.rowCount() > 0:
|
||||||
|
self.ui.tableWidgetInbox.removeRow(0)
|
||||||
|
|
||||||
|
font = QFont()
|
||||||
|
font.setBold(True)
|
||||||
|
shared.sqlLock.acquire()
|
||||||
|
shared.sqlSubmitQueue.put(sqlQuery)
|
||||||
|
shared.sqlSubmitQueue.put('')
|
||||||
|
queryreturn = shared.sqlReturnQueue.get()
|
||||||
|
shared.sqlLock.release()
|
||||||
|
for row in queryreturn:
|
||||||
|
msgid, toAddress, fromAddress, subject, received, message, read = row
|
||||||
|
subject = shared.fixPotentiallyInvalidUTF8Data(subject)
|
||||||
|
message = shared.fixPotentiallyInvalidUTF8Data(message)
|
||||||
|
try:
|
||||||
|
if toAddress == self.str_broadcast_subscribers:
|
||||||
|
toLabel = self.str_broadcast_subscribers
|
||||||
|
else:
|
||||||
|
toLabel = shared.config.get(toAddress, 'label')
|
||||||
|
except:
|
||||||
|
toLabel = ''
|
||||||
|
if toLabel == '':
|
||||||
|
toLabel = toAddress
|
||||||
|
|
||||||
|
fromLabel = ''
|
||||||
|
t = (fromAddress,)
|
||||||
|
shared.sqlLock.acquire()
|
||||||
|
shared.sqlSubmitQueue.put(
|
||||||
|
'''select label from addressbook where address=?''')
|
||||||
|
shared.sqlSubmitQueue.put(t)
|
||||||
|
queryreturn = shared.sqlReturnQueue.get()
|
||||||
|
shared.sqlLock.release()
|
||||||
|
|
||||||
|
if queryreturn != []:
|
||||||
|
for row in queryreturn:
|
||||||
|
fromLabel, = row
|
||||||
|
|
||||||
|
if fromLabel == '': # If this address wasn't in our address book...
|
||||||
|
t = (fromAddress,)
|
||||||
|
shared.sqlLock.acquire()
|
||||||
|
shared.sqlSubmitQueue.put(
|
||||||
|
'''select label from subscriptions where address=?''')
|
||||||
|
shared.sqlSubmitQueue.put(t)
|
||||||
|
queryreturn = shared.sqlReturnQueue.get()
|
||||||
|
shared.sqlLock.release()
|
||||||
|
|
||||||
|
if queryreturn != []:
|
||||||
|
for row in queryreturn:
|
||||||
|
fromLabel, = row
|
||||||
|
|
||||||
|
self.ui.tableWidgetInbox.insertRow(0)
|
||||||
|
newItem = QtGui.QTableWidgetItem(unicode(toLabel, 'utf-8'))
|
||||||
|
newItem.setToolTip(unicode(toLabel, 'utf-8'))
|
||||||
|
newItem.setFlags(
|
||||||
|
QtCore.Qt.ItemIsSelectable | QtCore.Qt.ItemIsEnabled)
|
||||||
|
if not read:
|
||||||
|
newItem.setFont(font)
|
||||||
|
newItem.setData(Qt.UserRole, str(toAddress))
|
||||||
|
if shared.safeConfigGetBoolean(toAddress, 'mailinglist'):
|
||||||
|
newItem.setTextColor(QtGui.QColor(137, 04, 177))
|
||||||
|
self.ui.tableWidgetInbox.setItem(0, 0, newItem)
|
||||||
|
if fromLabel == '':
|
||||||
|
newItem = QtGui.QTableWidgetItem(
|
||||||
|
unicode(fromAddress, 'utf-8'))
|
||||||
|
newItem.setToolTip(unicode(fromAddress, 'utf-8'))
|
||||||
|
else:
|
||||||
|
newItem = QtGui.QTableWidgetItem(unicode(fromLabel, 'utf-8'))
|
||||||
|
newItem.setToolTip(unicode(fromLabel, 'utf-8'))
|
||||||
|
newItem.setFlags(
|
||||||
|
QtCore.Qt.ItemIsSelectable | QtCore.Qt.ItemIsEnabled)
|
||||||
|
if not read:
|
||||||
|
newItem.setFont(font)
|
||||||
|
newItem.setData(Qt.UserRole, str(fromAddress))
|
||||||
|
|
||||||
|
self.ui.tableWidgetInbox.setItem(0, 1, newItem)
|
||||||
|
newItem = QtGui.QTableWidgetItem(unicode(subject, 'utf-8'))
|
||||||
|
newItem.setToolTip(unicode(subject, 'utf-8'))
|
||||||
|
newItem.setData(Qt.UserRole, unicode(message, 'utf-8)'))
|
||||||
|
newItem.setFlags(
|
||||||
|
QtCore.Qt.ItemIsSelectable | QtCore.Qt.ItemIsEnabled)
|
||||||
|
if not read:
|
||||||
|
newItem.setFont(font)
|
||||||
|
self.ui.tableWidgetInbox.setItem(0, 2, newItem)
|
||||||
|
newItem = myTableWidgetItem(unicode(strftime(shared.config.get(
|
||||||
|
'bitmessagesettings', 'timeformat'), localtime(int(received))), 'utf-8'))
|
||||||
|
newItem.setToolTip(unicode(strftime(shared.config.get(
|
||||||
|
'bitmessagesettings', 'timeformat'), localtime(int(received))), 'utf-8'))
|
||||||
|
newItem.setData(Qt.UserRole, QByteArray(msgid))
|
||||||
|
newItem.setData(33, int(received))
|
||||||
|
newItem.setFlags(
|
||||||
|
QtCore.Qt.ItemIsSelectable | QtCore.Qt.ItemIsEnabled)
|
||||||
|
if not read:
|
||||||
|
newItem.setFont(font)
|
||||||
|
self.ui.tableWidgetInbox.setItem(0, 3, newItem)
|
||||||
|
self.ui.tableWidgetInbox.sortItems(3, Qt.DescendingOrder)
|
||||||
|
self.ui.tableWidgetInbox.keyPressEvent = self.tableWidgetInboxKeyPressEvent
|
||||||
|
|
||||||
# create application indicator
|
# create application indicator
|
||||||
def appIndicatorInit(self, app):
|
def appIndicatorInit(self, app):
|
||||||
self.tray = QSystemTrayIcon(QtGui.QIcon(
|
self.tray = QSystemTrayIcon(QtGui.QIcon(
|
||||||
|
@ -2507,6 +2541,13 @@ class MyForm(QtGui.QMainWindow):
|
||||||
self.popMenuSent.addAction(self.actionForceSend)
|
self.popMenuSent.addAction(self.actionForceSend)
|
||||||
self.popMenuSent.exec_(self.ui.tableWidgetSent.mapToGlobal(point))
|
self.popMenuSent.exec_(self.ui.tableWidgetSent.mapToGlobal(point))
|
||||||
|
|
||||||
|
def inboxSearchLineEditPressed(self):
|
||||||
|
searchKeyword = self.ui.inboxSearchLineEdit.text().toUtf8().data()
|
||||||
|
searchOption = self.ui.inboxSearchOptionCB.currentText().toUtf8().data()
|
||||||
|
self.ui.inboxSearchLineEdit.setText(QString(""))
|
||||||
|
self.ui.textEditInboxMessage.setPlainText(QString(""))
|
||||||
|
self.loadInbox(searchOption, searchKeyword)
|
||||||
|
|
||||||
def tableWidgetInboxItemClicked(self):
|
def tableWidgetInboxItemClicked(self):
|
||||||
currentRow = self.ui.tableWidgetInbox.currentRow()
|
currentRow = self.ui.tableWidgetInbox.currentRow()
|
||||||
if currentRow >= 0:
|
if currentRow >= 0:
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
# Form implementation generated from reading ui file 'bitmessageui.ui'
|
# Form implementation generated from reading ui file 'bitmessageui.ui'
|
||||||
#
|
#
|
||||||
# Created: Fri Jul 12 01:59:15 2013
|
# Created: Fri Jul 12 04:16:52 2013
|
||||||
# by: PyQt4 UI code generator 4.10
|
# by: PyQt4 UI code generator 4.10
|
||||||
#
|
#
|
||||||
# WARNING! All changes made in this file will be lost!
|
# WARNING! All changes made in this file will be lost!
|
||||||
|
@ -57,17 +57,17 @@ class Ui_MainWindow(object):
|
||||||
self.horizontalLayoutSearch = QtGui.QHBoxLayout()
|
self.horizontalLayoutSearch = QtGui.QHBoxLayout()
|
||||||
self.horizontalLayoutSearch.setContentsMargins(-1, 0, -1, -1)
|
self.horizontalLayoutSearch.setContentsMargins(-1, 0, -1, -1)
|
||||||
self.horizontalLayoutSearch.setObjectName(_fromUtf8("horizontalLayoutSearch"))
|
self.horizontalLayoutSearch.setObjectName(_fromUtf8("horizontalLayoutSearch"))
|
||||||
self.searchLineEdit = QtGui.QLineEdit(self.inbox)
|
self.inboxSearchLineEdit = QtGui.QLineEdit(self.inbox)
|
||||||
self.searchLineEdit.setObjectName(_fromUtf8("searchLineEdit"))
|
self.inboxSearchLineEdit.setObjectName(_fromUtf8("inboxSearchLineEdit"))
|
||||||
self.horizontalLayoutSearch.addWidget(self.searchLineEdit)
|
self.horizontalLayoutSearch.addWidget(self.inboxSearchLineEdit)
|
||||||
self.searchOptionCB = QtGui.QComboBox(self.inbox)
|
self.inboxSearchOptionCB = QtGui.QComboBox(self.inbox)
|
||||||
self.searchOptionCB.setObjectName(_fromUtf8("searchOptionCB"))
|
self.inboxSearchOptionCB.setObjectName(_fromUtf8("inboxSearchOptionCB"))
|
||||||
self.searchOptionCB.addItem(_fromUtf8(""))
|
self.inboxSearchOptionCB.addItem(_fromUtf8(""))
|
||||||
self.searchOptionCB.addItem(_fromUtf8(""))
|
self.inboxSearchOptionCB.addItem(_fromUtf8(""))
|
||||||
self.searchOptionCB.addItem(_fromUtf8(""))
|
self.inboxSearchOptionCB.addItem(_fromUtf8(""))
|
||||||
self.searchOptionCB.addItem(_fromUtf8(""))
|
self.inboxSearchOptionCB.addItem(_fromUtf8(""))
|
||||||
self.searchOptionCB.addItem(_fromUtf8(""))
|
self.inboxSearchOptionCB.addItem(_fromUtf8(""))
|
||||||
self.horizontalLayoutSearch.addWidget(self.searchOptionCB)
|
self.horizontalLayoutSearch.addWidget(self.inboxSearchOptionCB)
|
||||||
self.verticalLayout_2.addLayout(self.horizontalLayoutSearch)
|
self.verticalLayout_2.addLayout(self.horizontalLayoutSearch)
|
||||||
self.tableWidgetInbox = QtGui.QTableWidget(self.inbox)
|
self.tableWidgetInbox = QtGui.QTableWidget(self.inbox)
|
||||||
self.tableWidgetInbox.setAlternatingRowColors(True)
|
self.tableWidgetInbox.setAlternatingRowColors(True)
|
||||||
|
@ -482,11 +482,11 @@ class Ui_MainWindow(object):
|
||||||
|
|
||||||
def retranslateUi(self, MainWindow):
|
def retranslateUi(self, MainWindow):
|
||||||
MainWindow.setWindowTitle(_translate("MainWindow", "Bitmessage", None))
|
MainWindow.setWindowTitle(_translate("MainWindow", "Bitmessage", None))
|
||||||
self.searchOptionCB.setItemText(0, _translate("MainWindow", "All", None))
|
self.inboxSearchOptionCB.setItemText(0, _translate("MainWindow", "All", None))
|
||||||
self.searchOptionCB.setItemText(1, _translate("MainWindow", "To", None))
|
self.inboxSearchOptionCB.setItemText(1, _translate("MainWindow", "To", None))
|
||||||
self.searchOptionCB.setItemText(2, _translate("MainWindow", "From", None))
|
self.inboxSearchOptionCB.setItemText(2, _translate("MainWindow", "From", None))
|
||||||
self.searchOptionCB.setItemText(3, _translate("MainWindow", "Subject", None))
|
self.inboxSearchOptionCB.setItemText(3, _translate("MainWindow", "Subject", None))
|
||||||
self.searchOptionCB.setItemText(4, _translate("MainWindow", "Received", None))
|
self.inboxSearchOptionCB.setItemText(4, _translate("MainWindow", "Message", None))
|
||||||
self.tableWidgetInbox.setSortingEnabled(True)
|
self.tableWidgetInbox.setSortingEnabled(True)
|
||||||
item = self.tableWidgetInbox.horizontalHeaderItem(0)
|
item = self.tableWidgetInbox.horizontalHeaderItem(0)
|
||||||
item.setText(_translate("MainWindow", "To", None))
|
item.setText(_translate("MainWindow", "To", None))
|
||||||
|
|
|
@ -83,10 +83,10 @@
|
||||||
<number>0</number>
|
<number>0</number>
|
||||||
</property>
|
</property>
|
||||||
<item>
|
<item>
|
||||||
<widget class="QLineEdit" name="searchLineEdit"/>
|
<widget class="QLineEdit" name="inboxSearchLineEdit"/>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<widget class="QComboBox" name="searchOptionCB">
|
<widget class="QComboBox" name="inboxSearchOptionCB">
|
||||||
<item>
|
<item>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>All</string>
|
<string>All</string>
|
||||||
|
@ -109,7 +109,7 @@
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Received</string>
|
<string>Message</string>
|
||||||
</property>
|
</property>
|
||||||
</item>
|
</item>
|
||||||
</widget>
|
</widget>
|
||||||
|
|
Loading…
Reference in New Issue
Block a user