(code cleanup)

This commit is contained in:
sendiulo 2013-09-07 16:36:08 +02:00
parent cecf69173c
commit da65d8e62c

View File

@ -2412,6 +2412,92 @@ class MyForm(QtGui.QMainWindow):
event.accept()
self.quit()
# Context menus:
def on_context_menuInbox(self, point):
# single or multi selction
is_singleselection = len(self.ui.tableWidgetInbox.selectedIndexes())/4 <= 1 # divide by four because there are four columns
# disable certain context menu items for multiselection
self.actionReply.setEnabled(is_singleselection==True)
self.actionReplyChan.setEnabled(is_singleselection==True)
self.actionInboxSenderSubscribe.setEnabled(is_singleselection==True) # cannot handle multiselection yet ###
self.actionAddSenderToAddressBook.setEnabled(is_singleselection==True) # cannot handle multiselection yet ###
self.actionSaveMessageAs.setEnabled(is_singleselection==True) # cannot handle multiselection yet
# disable certain context menu items for single selction
# check whether among the recipients there is a chan for "reply to chan" and "send to recipient"
chanInRecipients = False
listOfSelectedRows = {}
for i in range(len(self.ui.tableWidgetInbox.selectedIndexes())):
listOfSelectedRows[
self.ui.tableWidgetInbox.selectedIndexes()[i].row()] = 0
for currentRow in listOfSelectedRows:
currentRow = self.ui.tableWidgetInbox.selectedIndexes()[0].row()
possibleChanAddress = str(self.ui.tableWidgetInbox.item(
currentRow, 0).data(Qt.UserRole).toPyObject())
if shared.safeConfigGetBoolean(addBMIfNotPresent(possibleChanAddress), 'chan'):
chanInRecipients = True
self.actionSendtoRecipient.setEnabled(chanInRecipients)
self.actionReplyChan.setEnabled(is_singleselection & chanInRecipients)
# pop up
self.popMenuInbox.exec_(self.ui.tableWidgetInbox.mapToGlobal(point))
def on_context_menuSent(self, point):
# Check to see if this item is toodifficult and display an additional
# menu option (Force Send) if it is.
currentRow = self.ui.tableWidgetSent.currentRow()
ackData = str(self.ui.tableWidgetSent.item(
currentRow, 3).data(Qt.UserRole).toPyObject())
shared.sqlLock.acquire()
shared.sqlSubmitQueue.put(
'''SELECT status FROM sent where ackdata=?''')
shared.sqlSubmitQueue.put((ackData,))
queryreturn = shared.sqlReturnQueue.get()
shared.sqlLock.release()
for row in queryreturn:
status, = row
if status == 'toodifficult':
self.popMenuSent.addAction(self.actionForceSend)
# single or multi selction
is_singleselection = len(self.ui.tableWidgetSent.selectedIndexes())/4 <= 1 # divide by four because there are four columns
# disable certain context menu items for multiselection
self.actionSendAnother.setEnabled(is_singleselection==True)
self.actionSentSaveMessageAs.setEnabled(is_singleselection==True)
self.actionSentAddRecipientToAddressBook.setEnabled(is_singleselection==True) # cannot handle multiselection yet
self.actionSentRecipientSubscribe.setEnabled(is_singleselection==True) # cannot handle multiselection yet ###
self.actionSaveMessageAs.setEnabled(is_singleselection==True) # cannot handle multiselection yet
# pop up
self.popMenuSent.exec_(self.ui.tableWidgetSent.mapToGlobal(point))
def on_context_menuYourIdentities(self, point):
# disable certain context menu items for multiselection
is_singleselection = len(self.ui.tableWidgetYourIdentities.selectedIndexes())/3 <= 1 # divide by three because there are three columns
self.actionNewAddress.setEnabled(is_singleselection)
self.actionNewChan.setEnabled(is_singleselection)
self.actionYourIdentitiesSendFromAddress.setEnabled(is_singleselection)
self.actionSpecialAddressBehavior.setEnabled(is_singleselection)
self.popMenuIdentities.exec_(
self.ui.tableWidgetYourIdentities.mapToGlobal(point))
def on_context_menuSubscriptions(self, point):
# disable certain context menu items for multiselection
is_singleselection = len(self.ui.tableWidgetSubscriptions.selectedIndexes())/2 <= 1 # divide by two because there are two columns
self.actionsubscriptionsNew.setEnabled(is_singleselection)
self.popMenuSubscriptions.exec_(
self.ui.tableWidgetSubscriptions.mapToGlobal(point))
def on_context_menuAddressBook(self, point):
self.popMenuAddressBook.exec_(
self.ui.tableWidgetAddressBook.mapToGlobal(point))
def on_context_menuBlacklist(self, point):
self.popMenuBlacklist.exec_(
self.ui.tableWidgetBlacklist.mapToGlobal(point))
# Context menu items:
# View HTML code as formatted text
def on_action_InboxMessageForceHtml(self):
thisTableWidget = self.ui.tableWidgetInbox
thisTextEdit = self.ui.textEditInboxMessage
@ -2438,6 +2524,9 @@ class MyForm(QtGui.QMainWindow):
content = content.replace('\n\n', '<br><br>')
thisTextEdit.setHtml(QtCore.QString(content))
# Mark unread
# Mark read
def on_action_InboxMarkUnread(self):
thisTableWidget = self.ui.tableWidgetInbox
read = False
@ -2462,19 +2551,21 @@ class MyForm(QtGui.QMainWindow):
'''UPDATE inbox SET read='''+ str(int(read)) +''' WthisTableWidget msgid=?''')
shared.sqlSubmitQueue.put(t)
shared.sqlReturnQueue.get()
shared.sqlSubmitQueue.put('commit')
shared.sqlLock.release()
thisTableWidget.item(currentRow, 0).setFont(font)
thisTableWidget.item(currentRow, 1).setFont(font)
thisTableWidget.item(currentRow, 2).setFont(font)
thisTableWidget.item(currentRow, 3).setFont(font)
shared.sqlLock.acquire()
shared.sqlSubmitQueue.put('commit')
shared.sqlLock.release()
# thisTableWidget.selectRow(currentRow + 1)
# This doesn't de-select the last message if you try to mark it unread, but that doesn't interfere. Might not be necessary.
# We could also select upwards, but then our problem would be with the topmost message.
# thisTableWidget.clearSelection() manages to mark the message as read again.
# Reply
# Reply to Chan
# Send another message
def on_action_InboxReply(self):
thisTableWidget = self.ui.tableWidgetInbox
newFromAddressColumn = 0
@ -2506,6 +2597,16 @@ class MyForm(QtGui.QMainWindow):
newSubject = 'Re: ' + newSubject
self.on_action_NewDraft(newFromAddress, [newToAddress], newSubject, newContent)
# Send from
def on_action_YourIdentitiesSendFromAddress(self):
thisTableWidget = self.ui.tableWidgetYourIdentities
newFromAddressColumn = 1
currentRow = thisTableWidget.currentRow()
newFromAddress = str(thisTableWidget.item(
currentRow, newFromAddressColumn).text())
self.on_action_NewDraft(newFromAddress, [False], False, False)
def set_comboBoxSendFrom_to_address(self, newFromAddress):
self.redrawLabelFrom(0)
if newFromAddress != False:
@ -2515,6 +2616,8 @@ class MyForm(QtGui.QMainWindow):
self.redrawLabelFrom(index)
return
# New Draft
def on_action_NewDraft(self, newFromAddress=False,newToAddressList=[False],newSubject=False,newContent=False):
if newContent != False:
# only ask if message body would be overwritten
@ -2590,6 +2693,8 @@ class MyForm(QtGui.QMainWindow):
# switch to "Send" Tab
self.ui.tabWidget.setCurrentIndex(1)
# Add to Address Book
def on_action_SentAddRecipientToAddressBook(self):
thisTableWidget = self.ui.tableWidgetSent
thisColumn = 0
@ -2638,31 +2743,8 @@ class MyForm(QtGui.QMainWindow):
self.statusBar().showMessage(_translate(
"MainWindow", "Error: You cannot add the same address to your address book twice. Try renaming the existing one if you want."))
# Send item on the Inbox tab to trash
def on_action_InboxTrash(self):
while self.ui.tableWidgetInbox.selectedIndexes() != []:
currentRow = self.ui.tableWidgetInbox.selectedIndexes()[0].row()
inventoryHashToTrash = str(self.ui.tableWidgetInbox.item(
currentRow, 3).data(Qt.UserRole).toPyObject())
t = (inventoryHashToTrash,)
shared.sqlLock.acquire()
shared.sqlSubmitQueue.put(
'''UPDATE inbox SET folder='trash' WHERE msgid=?''')
shared.sqlSubmitQueue.put(t)
shared.sqlReturnQueue.get()
shared.sqlLock.release()
self.ui.textEditInboxMessage.setText("")
self.ui.tableWidgetInbox.removeRow(currentRow)
self.statusBar().showMessage(_translate(
"MainWindow", "Moved items to trash. There is no user interface to view your trash, but it is still on disk if you are desperate to get it back."))
shared.sqlLock.acquire()
shared.sqlSubmitQueue.put('commit')
shared.sqlLock.release()
if currentRow == 0:
self.ui.tableWidgetInbox.selectRow(currentRow)
else:
self.ui.tableWidgetInbox.selectRow(currentRow - 1)
# Save message as
def on_action_SentSaveMessageAs(self):
thisTableWidget = self.ui.tableWidgetSent
self.on_action_SaveMessageAs(thisTableWidget)
@ -2690,6 +2772,33 @@ class MyForm(QtGui.QMainWindow):
sys.stderr.write('Write error: '+ e)
self.statusBar().showMessage(_translate("MainWindow", "Write error."))
# Move to trash
# Send item on the Inbox tab to trash
def on_action_InboxTrash(self):
while self.ui.tableWidgetInbox.selectedIndexes() != []:
currentRow = self.ui.tableWidgetInbox.selectedIndexes()[0].row()
inventoryHashToTrash = str(self.ui.tableWidgetInbox.item(
currentRow, 3).data(Qt.UserRole).toPyObject())
t = (inventoryHashToTrash,)
shared.sqlLock.acquire()
shared.sqlSubmitQueue.put(
'''UPDATE inbox SET folder='trash' WHERE msgid=?''')
shared.sqlSubmitQueue.put(t)
shared.sqlReturnQueue.get()
shared.sqlLock.release()
self.ui.textEditInboxMessage.setText("")
self.ui.tableWidgetInbox.removeRow(currentRow)
self.statusBar().showMessage(_translate(
"MainWindow", "Moved items to trash. There is no user interface to view your trash, but it is still on disk if you are desperate to get it back."))
shared.sqlLock.acquire()
shared.sqlSubmitQueue.put('commit')
shared.sqlLock.release()
if currentRow == 0:
self.ui.tableWidgetInbox.selectRow(currentRow)
else:
self.ui.tableWidgetInbox.selectRow(currentRow - 1)
# Send item on the Sent tab to trash
def on_action_SentTrash(self):
while self.ui.tableWidgetSent.selectedIndexes() != []:
@ -2715,6 +2824,8 @@ class MyForm(QtGui.QMainWindow):
else:
self.ui.tableWidgetSent.selectRow(currentRow - 1)
# Force Send
def on_action_ForceSend(self):
currentRow = self.ui.tableWidgetSent.currentRow()
addressAtCurrentRow = str(self.ui.tableWidgetSent.item(
@ -2803,19 +2914,34 @@ class MyForm(QtGui.QMainWindow):
currentRow, address_column).text())]
clipboard = QtGui.QApplication.clipboard()
clipboard.setText('; '.join(addressesArray))
# Add new item ###
def on_action_YourIdentitiesNewAddress(self):
self.click_NewAddressDialog()
def on_action_YourIdentitiesNewChan(self):
self.click_actionJoinChan()
def on_action_SubscriptionsNew(self):
self.click_pushButtonAddSubscription()
# Group of functions for the Address Book dialog box
def on_action_AddressBookNew(self):
self.click_pushButtonAddAddressBook()
def on_action_BlacklistNew(self):
self.click_pushButtonAddBlacklist()
# Delete address
def on_action_AddressBookDelete(self):
thisTableWidget = self.ui.tableWidgetAddressBook
self.on_action_AddressesDelete(thisTableWidget)
def on_action_SubscriptionsDelete(self):
thisTableWidget = self.ui.tableWidgetSubscriptions
self.on_action_AddressesDelete(thisTableWidget)
def on_action_BlacklistDelete(self):
thisTableWidget = self.ui.tableWidgetBlacklist
self.on_action_AddressesDelete(thisTableWidget)
@ -2867,7 +2993,7 @@ class MyForm(QtGui.QMainWindow):
self.rerenderSentToLabels()
shared.reloadBroadcastSendersForWhichImWatching()
# Send to Address context menu items
# Send to Address
def on_action_InboxSendtoRecipient(self):
thisTableWidget = self.ui.tableWidgetInbox
@ -2973,16 +3099,8 @@ class MyForm(QtGui.QMainWindow):
if len(added) > 0:
self.ui.tabWidget.setCurrentIndex(1)
def on_action_YourIdentitiesSendFromAddress(self):
thisTableWidget = self.ui.tableWidgetYourIdentities
newFromAddressColumn = 1
currentRow = thisTableWidget.currentRow()
newFromAddress = str(thisTableWidget.item(
currentRow, newFromAddressColumn).text())
self.on_action_NewDraft(newFromAddress, [False], False, False)
# Subscribe
# Subscribe to address
def on_action_InboxSenderSubscribe(self):
thisTableWidget = self.ui.tableWidgetInbox
thisColumn = 1
@ -3009,7 +3127,7 @@ class MyForm(QtGui.QMainWindow):
self.on_action_Subscribe(thisTableWidget,thisColumn)
# there's no on_action_YourIdentitiesSubscribe, on_action_InboxRecipientSubscribe, and on_action_SentSenderSubscribe, because you wouldn't want to subscribe to yourself or to a chan
def on_action_Subscribe(self,thisTableWidget,thisColumn):
listOfSelectedRows = {}
for i in range(len(thisTableWidget.selectedIndexes())):
@ -3020,164 +3138,103 @@ class MyForm(QtGui.QMainWindow):
if shared.isAddressInMySubscriptionsList(addressAtCurrentRow):
self.statusBar().showMessage(QtGui.QApplication.translate("MainWindow", "Error: You cannot add the same address to your subsciptions twice. Perhaps rename the existing one if you want."))
continue
###
if (thisTableWidget == self.ui.tableWidgetAddressBook) | (thisTableWidget == self.ui.tableWidgetBlacklist):
# if subscribing from an address list, copy the label
labelAtCurrentRow = thisTableWidget.item(currentRow,0).text().toUtf8()
self.addSubscription(addressAtCurrentRow, labelAtCurrentRow)
# switch to the Subscriptions tab
self.ui.tabWidget.setCurrentIndex(4)
def on_context_menuAddressBook(self, point):
self.popMenuAddressBook.exec_(
self.ui.tableWidgetAddressBook.mapToGlobal(point))
# Group of functions for the Subscriptions dialog box
def on_action_SubscriptionsNew(self):
self.click_pushButtonAddSubscription()
# Enable / Disable Addresses
def on_action_SubscriptionsEnable(self):
listOfSelectedRows = {}
for i in range(len(self.ui.tableWidgetSubscriptions.selectedIndexes())):
listOfSelectedRows[
self.ui.tableWidgetSubscriptions.selectedIndexes()[i].row()] = 0
for currentRow in listOfSelectedRows:
labelAtCurrentRow = self.ui.tableWidgetSubscriptions.item(
currentRow, 0).text().toUtf8()
addressAtCurrentRow = self.ui.tableWidgetSubscriptions.item(
currentRow, 1).text()
t = (str(labelAtCurrentRow), str(addressAtCurrentRow))
shared.sqlLock.acquire()
shared.sqlSubmitQueue.put(
'''update subscriptions set enabled=1 WHERE label=? AND address=?''')
shared.sqlSubmitQueue.put(t)
shared.sqlReturnQueue.get()
shared.sqlSubmitQueue.put('commit')
shared.sqlLock.release()
self.ui.tableWidgetSubscriptions.item(
currentRow, 0).setTextColor(QApplication.palette().text().color())
self.ui.tableWidgetSubscriptions.item(
currentRow, 1).setTextColor(QApplication.palette().text().color())
shared.reloadBroadcastSendersForWhichImWatching()
def on_action_SubscriptionsDisable(self):
listOfSelectedRows = {}
for i in range(len(self.ui.tableWidgetSubscriptions.selectedIndexes())):
listOfSelectedRows[
self.ui.tableWidgetSubscriptions.selectedIndexes()[i].row()] = 0
for currentRow in listOfSelectedRows:
labelAtCurrentRow = self.ui.tableWidgetSubscriptions.item(
currentRow, 0).text().toUtf8()
addressAtCurrentRow = self.ui.tableWidgetSubscriptions.item(
currentRow, 1).text()
t = (str(labelAtCurrentRow), str(addressAtCurrentRow))
shared.sqlLock.acquire()
shared.sqlSubmitQueue.put(
'''update subscriptions set enabled=0 WHERE label=? AND address=?''')
shared.sqlSubmitQueue.put(t)
shared.sqlReturnQueue.get()
shared.sqlSubmitQueue.put('commit')
shared.sqlLock.release()
self.ui.tableWidgetSubscriptions.item(
currentRow, 0).setTextColor(QtGui.QColor(128, 128, 128))
self.ui.tableWidgetSubscriptions.item(
currentRow, 1).setTextColor(QtGui.QColor(128, 128, 128))
shared.reloadBroadcastSendersForWhichImWatching()
def on_context_menuSubscriptions(self, point):
# disable certain context menu items for multiselection
is_singleselection = len(self.ui.tableWidgetSubscriptions.selectedIndexes())/2 <= 1 # divide by two because there are two columns
self.actionsubscriptionsNew.setEnabled(is_singleselection)
self.popMenuSubscriptions.exec_(
self.ui.tableWidgetSubscriptions.mapToGlobal(point))
# Group of functions for the Blacklist dialog box
def on_action_BlacklistNew(self):
self.click_pushButtonAddBlacklist()
def on_context_menuBlacklist(self, point):
self.popMenuBlacklist.exec_(
self.ui.tableWidgetBlacklist.mapToGlobal(point))
def on_action_BlacklistEnable(self):
currentRow = self.ui.tableWidgetBlacklist.currentRow()
addressAtCurrentRow = self.ui.tableWidgetBlacklist.item(
currentRow, 1).text()
self.ui.tableWidgetBlacklist.item(
currentRow, 0).setTextColor(QApplication.palette().text().color())
self.ui.tableWidgetBlacklist.item(
currentRow, 1).setTextColor(QApplication.palette().text().color())
t = (str(addressAtCurrentRow),)
shared.sqlLock.acquire()
if shared.config.get('bitmessagesettings', 'blackwhitelist') == 'black':
shared.sqlSubmitQueue.put(
'''UPDATE blacklist SET enabled=1 WHERE address=?''')
shared.sqlSubmitQueue.put(t)
shared.sqlReturnQueue.get()
else:
shared.sqlSubmitQueue.put(
'''UPDATE whitelist SET enabled=1 WHERE address=?''')
shared.sqlSubmitQueue.put(t)
shared.sqlReturnQueue.get()
shared.sqlSubmitQueue.put('commit')
shared.sqlLock.release()
def on_action_BlacklistDisable(self):
currentRow = self.ui.tableWidgetBlacklist.currentRow()
addressAtCurrentRow = self.ui.tableWidgetBlacklist.item(
currentRow, 1).text()
self.ui.tableWidgetBlacklist.item(
currentRow, 0).setTextColor(QtGui.QColor(128, 128, 128))
self.ui.tableWidgetBlacklist.item(
currentRow, 1).setTextColor(QtGui.QColor(128, 128, 128))
t = (str(addressAtCurrentRow),)
shared.sqlLock.acquire()
if shared.config.get('bitmessagesettings', 'blackwhitelist') == 'black':
shared.sqlSubmitQueue.put(
'''UPDATE blacklist SET enabled=0 WHERE address=?''')
shared.sqlSubmitQueue.put(t)
shared.sqlReturnQueue.get()
else:
shared.sqlSubmitQueue.put(
'''UPDATE whitelist SET enabled=0 WHERE address=?''')
shared.sqlSubmitQueue.put(t)
shared.sqlReturnQueue.get()
shared.sqlSubmitQueue.put('commit')
shared.sqlLock.release()
# Group of functions for the Your Identities dialog box
def on_action_YourIdentitiesNewAddress(self):
self.click_NewAddressDialog()
thisTableWidget = self.ui.tableWidgetSubscriptions
thisEnable = True
self.on_action_EnableDisable(thisTableWidget, thisEnable)
def on_action_YourIdentitiesNewChan(self):
self.click_actionJoinChan()
def on_action_YourIdentitiesEnable(self):
def on_action_SubscriptionsDisable(self):
thisTableWidget = self.ui.tableWidgetSubscriptions
thisEnable = False
self.on_action_EnableDisable(thisTableWidget, thisEnable)
def on_action_BlacklistEnable(self):
thisTableWidget = self.ui.tableWidgetBlacklist
thisEnable = True
self.on_action_EnableDisable(thisTableWidget, thisEnable)
def on_action_BlacklistDisable(self):
thisTableWidget = self.ui.tableWidgetBlacklist
thisEnable = False
self.on_action_EnableDisable(thisTableWidget, thisEnable)
def on_action_EnableDisable(self, thisTableWidget, thisEnable):
if thisEnable:
color = QApplication.palette().text().color()
else:
color = QtGui.QColor(128, 128, 128)
if thisTableWidget == self.ui.tableWidgetAddressBook:
name = _translate("MainWindow",'Address Book')
sql_where = '''addressbook'''
elif thisTableWidget == self.ui.tableWidgetSubscriptions:
name = _translate("MainWindow",'Subscriptions')
sql_where = '''subscriptions'''
elif thisTableWidget == self.ui.tableWidgetBlacklist:
if shared.config.get('bitmessagesettings', 'blackwhitelist') == 'black':
name = _translate("MainWindow",'Blacklist')
sql_where = '''blacklist'''
else:
name = _translate("MainWindow",'Whitelist')
sql_where = '''whitelist'''
else:
# probably there is a better way to throw an exception
print 'wtf are you trying to do?!'
return
listOfSelectedRows = {}
for i in range(len(self.ui.tableWidgetYourIdentities.selectedIndexes())):
for i in range(len(thisTableWidget.selectedIndexes())):
listOfSelectedRows[
self.ui.tableWidgetYourIdentities.selectedIndexes()[i].row()] = 0
thisTableWidget.selectedIndexes()[i].row()] = 0
for currentRow in listOfSelectedRows:
addressAtCurrentRow = str(
self.ui.tableWidgetYourIdentities.item(currentRow, 1).text())
shared.config.set(addressAtCurrentRow, 'enabled', 'true')
self.ui.tableWidgetYourIdentities.item(
currentRow, 0).setTextColor(QApplication.palette().text().color())
self.ui.tableWidgetYourIdentities.item(
currentRow, 1).setTextColor(QApplication.palette().text().color())
self.ui.tableWidgetYourIdentities.item(
currentRow, 2).setTextColor(QApplication.palette().text().color())
if shared.safeConfigGetBoolean(addressAtCurrentRow, 'mailinglist'):
self.ui.tableWidgetYourIdentities.item(currentRow, 1).setTextColor(QtGui.QColor(137, 04, 177)) # purple
if shared.safeConfigGetBoolean(addressAtCurrentRow, 'chan'):
self.ui.tableWidgetYourIdentities.item(currentRow, 1).setTextColor(QtGui.QColor(216, 119, 0)) # orange
with open(shared.appdata + 'keys.dat', 'wb') as configfile:
shared.config.write(configfile)
shared.reloadMyAddressHashes()
labelAtCurrentRow = thisTableWidget.item(
currentRow, 0).text().toUtf8()
addressAtCurrentRow = thisTableWidget.item(
currentRow, 1).text()
print currentRow, labelAtCurrentRow, addressAtCurrentRow
if thisTableWidget == self.ui.tableWidgetBlacklist:
t = (str(addressAtCurrentRow),)
shared.sqlLock.acquire()
shared.sqlSubmitQueue.put(
'''UPDATE '''+sql_where+''' SET enabled='''+str(int(thisEnable))+''' WHERE address=?''')
shared.sqlSubmitQueue.put(t)
shared.sqlReturnQueue.get()
shared.sqlSubmitQueue.put('commit')
shared.sqlLock.release()
else:
t = (str(labelAtCurrentRow), str(addressAtCurrentRow))
shared.sqlLock.acquire()
shared.sqlSubmitQueue.put(
'''UPDATE '''+sql_where+''' SET enabled='''+str(int(thisEnable))+''' WHERE label=? AND address=?''')
shared.sqlSubmitQueue.put(t)
shared.sqlReturnQueue.get()
shared.sqlSubmitQueue.put('commit')
shared.sqlLock.release()
thisTableWidget.item(
currentRow, 0).setTextColor(color)
thisTableWidget.item(
currentRow, 1).setTextColor(color)
shared.reloadBroadcastSendersForWhichImWatching()
# Enable / Disable Identities
def on_action_YourIdentitiesEnable(self):
thisEnable = True
self.on_action_YourIdentitiesEnableDisable(thisEnable)
def on_action_YourIdentitiesDisable(self):
thisEnable = False
self.on_action_YourIdentitiesEnableDisable(thisEnable)
def on_action_YourIdentitiesEnableDisable(self, thisEnable):
color = QApplication.palette().text().color() if thisEnable else QtGui.QColor(128, 128, 128)
listOfSelectedRows = {}
for i in range(len(self.ui.tableWidgetYourIdentities.selectedIndexes())):
listOfSelectedRows[
@ -3187,11 +3244,11 @@ class MyForm(QtGui.QMainWindow):
self.ui.tableWidgetYourIdentities.item(currentRow, 1).text())
shared.config.set(str(addressAtCurrentRow), 'enabled', 'false')
self.ui.tableWidgetYourIdentities.item(
currentRow, 0).setTextColor(QtGui.QColor(128, 128, 128))
currentRow, 0).setTextColor(color)
self.ui.tableWidgetYourIdentities.item(
currentRow, 1).setTextColor(QtGui.QColor(128, 128, 128))
currentRow, 1).setTextColor(color)
self.ui.tableWidgetYourIdentities.item(
currentRow, 2).setTextColor(QtGui.QColor(128, 128, 128))
currentRow, 2).setTextColor(color)
if shared.safeConfigGetBoolean(addressAtCurrentRow, 'mailinglist'):
self.ui.tableWidgetYourIdentities.item(currentRow, 1).setTextColor(QtGui.QColor(137, 04, 177)) # purple
if shared.safeConfigGetBoolean(addressAtCurrentRow, 'chan'):
@ -3200,71 +3257,7 @@ class MyForm(QtGui.QMainWindow):
shared.config.write(configfile)
shared.reloadMyAddressHashes()
def on_context_menuInbox(self, point):
# single or multi selction
is_singleselection = len(self.ui.tableWidgetInbox.selectedIndexes())/4 <= 1 # divide by four because there are four columns
# disable certain context menu items for multiselection
self.actionReply.setEnabled(is_singleselection==True)
self.actionReplyChan.setEnabled(is_singleselection==True)
self.actionInboxSenderSubscribe.setEnabled(is_singleselection==True) # cannot handle multiselection yet ###
self.actionAddSenderToAddressBook.setEnabled(is_singleselection==True) # cannot handle multiselection yet ###
self.actionSaveMessageAs.setEnabled(is_singleselection==True) # cannot handle multiselection yet
# disable certain context menu items for single selction
# check whether among the recipients there is a chan for "reply to chan" and "send to recipient"
chanInRecipients = False
listOfSelectedRows = {}
for i in range(len(self.ui.tableWidgetInbox.selectedIndexes())):
listOfSelectedRows[
self.ui.tableWidgetInbox.selectedIndexes()[i].row()] = 0
for currentRow in listOfSelectedRows:
###
currentRow = self.ui.tableWidgetInbox.selectedIndexes()[0].row()
possibleChanAddress = str(self.ui.tableWidgetInbox.item(
currentRow, 0).data(Qt.UserRole).toPyObject())
if shared.safeConfigGetBoolean(addBMIfNotPresent(possibleChanAddress), 'chan'):
chanInRecipients = True
self.actionSendtoRecipient.setEnabled(chanInRecipients)
self.actionReplyChan.setEnabled(is_singleselection & chanInRecipients)
# pop up
self.popMenuInbox.exec_(self.ui.tableWidgetInbox.mapToGlobal(point))
def on_context_menuSent(self, point):
# Check to see if this item is toodifficult and display an additional
# menu option (Force Send) if it is.
currentRow = self.ui.tableWidgetSent.currentRow()
ackData = str(self.ui.tableWidgetSent.item(
currentRow, 3).data(Qt.UserRole).toPyObject())
shared.sqlLock.acquire()
shared.sqlSubmitQueue.put(
'''SELECT status FROM sent where ackdata=?''')
shared.sqlSubmitQueue.put((ackData,))
queryreturn = shared.sqlReturnQueue.get()
shared.sqlLock.release()
for row in queryreturn:
status, = row
if status == 'toodifficult':
self.popMenuSent.addAction(self.actionForceSend)
# single or multi selction
is_singleselection = len(self.ui.tableWidgetSent.selectedIndexes())/4 <= 1 # divide by four because there are four columns
# disable certain context menu items for multiselection
self.actionSendAnother.setEnabled(is_singleselection==True)
self.actionSentSaveMessageAs.setEnabled(is_singleselection==True)
self.actionSentAddRecipientToAddressBook.setEnabled(is_singleselection==True) # cannot handle multiselection yet
self.actionSentRecipientSubscribe.setEnabled(is_singleselection==True) # cannot handle multiselection yet ###
self.actionSaveMessageAs.setEnabled(is_singleselection==True) # cannot handle multiselection yet
# pop up
self.popMenuSent.exec_(self.ui.tableWidgetSent.mapToGlobal(point))
def on_context_menuYourIdentities(self, point):
# disable certain context menu items for multiselection
is_singleselection = len(self.ui.tableWidgetYourIdentities.selectedIndexes())/3 <= 1 # divide by three because there are three columns
self.actionNewAddress.setEnabled(is_singleselection)
self.actionNewChan.setEnabled(is_singleselection)
self.actionYourIdentitiesSendFromAddress.setEnabled(is_singleselection)
self.actionSpecialAddressBehavior.setEnabled(is_singleselection)
self.popMenuIdentities.exec_(
self.ui.tableWidgetYourIdentities.mapToGlobal(point))
# Search Line
def inboxSearchLineEditPressed(self):
searchKeyword = self.ui.inboxSearchLineEdit.text().toUtf8().data()
@ -3280,6 +3273,8 @@ class MyForm(QtGui.QMainWindow):
self.ui.textEditInboxMessage.setPlainText(QString(""))
self.loadSent(searchOption, searchKeyword)
# Item clicked
def tableWidgetInboxItemClicked(self):
currentRow = self.ui.tableWidgetInbox.currentRow()
if currentRow >= 0: