Merge remote-tracking branch 'interface/interface'
This commit is contained in:
commit
2e6f5c70ec
|
@ -199,13 +199,11 @@ class MyForm(QtGui.QMainWindow):
|
||||||
QtCore.SIGNAL(
|
QtCore.SIGNAL(
|
||||||
"triggered()"),
|
"triggered()"),
|
||||||
self.click_actionRegenerateDeterministicAddresses)
|
self.click_actionRegenerateDeterministicAddresses)
|
||||||
QtCore.QObject.connect(self.ui.actionJoinChan, QtCore.SIGNAL(
|
QtCore.QObject.connect(self.ui.pushButtonAddChan, QtCore.SIGNAL(
|
||||||
"triggered()"),
|
"clicked()"),
|
||||||
self.click_actionJoinChan) # also used for creating chans.
|
self.click_actionJoinChan) # also used for creating chans.
|
||||||
QtCore.QObject.connect(self.ui.pushButtonNewAddress, QtCore.SIGNAL(
|
QtCore.QObject.connect(self.ui.pushButtonNewAddress, QtCore.SIGNAL(
|
||||||
"clicked()"), self.click_NewAddressDialog)
|
"clicked()"), self.click_NewAddressDialog)
|
||||||
QtCore.QObject.connect(self.ui.comboBoxSendFrom, QtCore.SIGNAL(
|
|
||||||
"activated(int)"), self.redrawLabelFrom)
|
|
||||||
QtCore.QObject.connect(self.ui.pushButtonAddAddressBook, QtCore.SIGNAL(
|
QtCore.QObject.connect(self.ui.pushButtonAddAddressBook, QtCore.SIGNAL(
|
||||||
"clicked()"), self.click_pushButtonAddAddressBook)
|
"clicked()"), self.click_pushButtonAddAddressBook)
|
||||||
QtCore.QObject.connect(self.ui.pushButtonAddSubscription, QtCore.SIGNAL(
|
QtCore.QObject.connect(self.ui.pushButtonAddSubscription, QtCore.SIGNAL(
|
||||||
|
@ -216,10 +214,6 @@ class MyForm(QtGui.QMainWindow):
|
||||||
"clicked()"), self.click_pushButtonTTL)
|
"clicked()"), self.click_pushButtonTTL)
|
||||||
QtCore.QObject.connect(self.ui.pushButtonSend, QtCore.SIGNAL(
|
QtCore.QObject.connect(self.ui.pushButtonSend, QtCore.SIGNAL(
|
||||||
"clicked()"), self.click_pushButtonSend)
|
"clicked()"), self.click_pushButtonSend)
|
||||||
QtCore.QObject.connect(self.ui.pushButtonLoadFromAddressBook,
|
|
||||||
QtCore.SIGNAL(
|
|
||||||
"clicked()"),
|
|
||||||
self.click_pushButtonLoadFromAddressBook)
|
|
||||||
QtCore.QObject.connect(self.ui.pushButtonFetchNamecoinID, QtCore.SIGNAL(
|
QtCore.QObject.connect(self.ui.pushButtonFetchNamecoinID, QtCore.SIGNAL(
|
||||||
"clicked()"), self.click_pushButtonFetchNamecoinID)
|
"clicked()"), self.click_pushButtonFetchNamecoinID)
|
||||||
QtCore.QObject.connect(self.ui.radioButtonBlacklist, QtCore.SIGNAL(
|
QtCore.QObject.connect(self.ui.radioButtonBlacklist, QtCore.SIGNAL(
|
||||||
|
@ -259,12 +253,27 @@ class MyForm(QtGui.QMainWindow):
|
||||||
self.actionMarkUnread = self.ui.inboxContextMenuToolbar.addAction(
|
self.actionMarkUnread = self.ui.inboxContextMenuToolbar.addAction(
|
||||||
_translate(
|
_translate(
|
||||||
"MainWindow", "Mark Unread"), self.on_action_InboxMarkUnread)
|
"MainWindow", "Mark Unread"), self.on_action_InboxMarkUnread)
|
||||||
|
|
||||||
|
# contextmenu messagelists
|
||||||
self.ui.tableWidgetInbox.setContextMenuPolicy(
|
self.ui.tableWidgetInbox.setContextMenuPolicy(
|
||||||
QtCore.Qt.CustomContextMenu)
|
QtCore.Qt.CustomContextMenu)
|
||||||
if connectSignal:
|
if connectSignal:
|
||||||
self.connect(self.ui.tableWidgetInbox, QtCore.SIGNAL(
|
self.connect(self.ui.tableWidgetInbox, QtCore.SIGNAL(
|
||||||
'customContextMenuRequested(const QPoint&)'),
|
'customContextMenuRequested(const QPoint&)'),
|
||||||
self.on_context_menuInbox)
|
self.on_context_menuInbox)
|
||||||
|
self.ui.tableWidgetInboxSubscriptions.setContextMenuPolicy(
|
||||||
|
QtCore.Qt.CustomContextMenu)
|
||||||
|
if connectSignal:
|
||||||
|
self.connect(self.ui.tableWidgetInboxSubscriptions, QtCore.SIGNAL(
|
||||||
|
'customContextMenuRequested(const QPoint&)'),
|
||||||
|
self.on_context_menuInbox)
|
||||||
|
self.ui.tableWidgetInboxChans.setContextMenuPolicy(
|
||||||
|
QtCore.Qt.CustomContextMenu)
|
||||||
|
if connectSignal:
|
||||||
|
self.connect(self.ui.tableWidgetInboxChans, QtCore.SIGNAL(
|
||||||
|
'customContextMenuRequested(const QPoint&)'),
|
||||||
|
self.on_context_menuInbox)
|
||||||
|
|
||||||
self.popMenuInbox = QtGui.QMenu(self)
|
self.popMenuInbox = QtGui.QMenu(self)
|
||||||
self.popMenuInbox.addAction(self.actionForceHtml)
|
self.popMenuInbox.addAction(self.actionForceHtml)
|
||||||
self.popMenuInbox.addAction(self.actionMarkUnread)
|
self.popMenuInbox.addAction(self.actionMarkUnread)
|
||||||
|
@ -277,34 +286,78 @@ class MyForm(QtGui.QMainWindow):
|
||||||
|
|
||||||
def init_identities_popup_menu(self, connectSignal=True):
|
def init_identities_popup_menu(self, connectSignal=True):
|
||||||
# Popup menu for the Your Identities tab
|
# Popup menu for the Your Identities tab
|
||||||
|
self.ui.addressContextMenuToolbarYourIdentities = QtGui.QToolBar()
|
||||||
|
# Actions
|
||||||
|
self.actionNewYourIdentities = self.ui.addressContextMenuToolbarYourIdentities.addAction(_translate(
|
||||||
|
"MainWindow", "New"), self.on_action_YourIdentitiesNew)
|
||||||
|
self.actionEnableYourIdentities = self.ui.addressContextMenuToolbarYourIdentities.addAction(
|
||||||
|
_translate(
|
||||||
|
"MainWindow", "Enable"), self.on_action_Enable)
|
||||||
|
self.actionDisableYourIdentities = self.ui.addressContextMenuToolbarYourIdentities.addAction(
|
||||||
|
_translate(
|
||||||
|
"MainWindow", "Disable"), self.on_action_Disable)
|
||||||
|
self.actionSetAvatarYourIdentities = self.ui.addressContextMenuToolbarYourIdentities.addAction(
|
||||||
|
_translate(
|
||||||
|
"MainWindow", "Set avatar..."),
|
||||||
|
self.on_action_TreeWidgetSetAvatar)
|
||||||
|
self.actionClipboardYourIdentities = self.ui.addressContextMenuToolbarYourIdentities.addAction(
|
||||||
|
_translate(
|
||||||
|
"MainWindow", "Copy address to clipboard"),
|
||||||
|
self.on_action_Clipboard)
|
||||||
|
self.actionSpecialAddressBehaviorYourIdentities = self.ui.addressContextMenuToolbarYourIdentities.addAction(
|
||||||
|
_translate(
|
||||||
|
"MainWindow", "Special address behavior..."),
|
||||||
|
self.on_action_SpecialAddressBehaviorDialog)
|
||||||
|
|
||||||
|
self.ui.treeWidgetYourIdentities.setContextMenuPolicy(
|
||||||
|
QtCore.Qt.CustomContextMenu)
|
||||||
|
if connectSignal:
|
||||||
|
self.connect(self.ui.treeWidgetYourIdentities, QtCore.SIGNAL(
|
||||||
|
'customContextMenuRequested(const QPoint&)'),
|
||||||
|
self.on_context_menuYourIdentities)
|
||||||
|
|
||||||
|
self.popMenuYourIdentities = QtGui.QMenu(self)
|
||||||
|
self.popMenuYourIdentities.addAction(self.actionNewYourIdentities)
|
||||||
|
self.popMenuYourIdentities.addSeparator()
|
||||||
|
self.popMenuYourIdentities.addAction(self.actionClipboardYourIdentities)
|
||||||
|
self.popMenuYourIdentities.addSeparator()
|
||||||
|
self.popMenuYourIdentities.addAction(self.actionEnableYourIdentities)
|
||||||
|
self.popMenuYourIdentities.addAction(self.actionDisableYourIdentities)
|
||||||
|
self.popMenuYourIdentities.addAction(self.actionSetAvatarYourIdentities)
|
||||||
|
self.popMenuYourIdentities.addAction(self.actionSpecialAddressBehaviorYourIdentities)
|
||||||
|
|
||||||
|
def init_chan_popup_menu(self, connectSignal=True):
|
||||||
|
# Popup menu for the Channels tab
|
||||||
self.ui.addressContextMenuToolbar = QtGui.QToolBar()
|
self.ui.addressContextMenuToolbar = QtGui.QToolBar()
|
||||||
# Actions
|
# Actions
|
||||||
self.actionNew = self.ui.addressContextMenuToolbar.addAction(_translate(
|
self.actionNew = self.ui.addressContextMenuToolbar.addAction(_translate(
|
||||||
"MainWindow", "New"), self.on_action_YourIdentitiesNew)
|
"MainWindow", "New"), self.on_action_YourIdentitiesNew)
|
||||||
self.actionEnable = self.ui.addressContextMenuToolbar.addAction(
|
self.actionEnable = self.ui.addressContextMenuToolbar.addAction(
|
||||||
_translate(
|
_translate(
|
||||||
"MainWindow", "Enable"), self.on_action_YourIdentitiesEnable)
|
"MainWindow", "Enable"), self.on_action_Enable)
|
||||||
self.actionDisable = self.ui.addressContextMenuToolbar.addAction(
|
self.actionDisable = self.ui.addressContextMenuToolbar.addAction(
|
||||||
_translate(
|
_translate(
|
||||||
"MainWindow", "Disable"), self.on_action_YourIdentitiesDisable)
|
"MainWindow", "Disable"), self.on_action_Disable)
|
||||||
self.actionSetAvatar = self.ui.addressContextMenuToolbar.addAction(
|
self.actionSetAvatar = self.ui.addressContextMenuToolbar.addAction(
|
||||||
_translate(
|
_translate(
|
||||||
"MainWindow", "Set avatar..."),
|
"MainWindow", "Set avatar..."),
|
||||||
self.on_action_YourIdentitiesSetAvatar)
|
self.on_action_TreeWidgetSetAvatar)
|
||||||
self.actionClipboard = self.ui.addressContextMenuToolbar.addAction(
|
self.actionClipboard = self.ui.addressContextMenuToolbar.addAction(
|
||||||
_translate(
|
_translate(
|
||||||
"MainWindow", "Copy address to clipboard"),
|
"MainWindow", "Copy address to clipboard"),
|
||||||
self.on_action_YourIdentitiesClipboard)
|
self.on_action_Clipboard)
|
||||||
self.actionSpecialAddressBehavior = self.ui.addressContextMenuToolbar.addAction(
|
self.actionSpecialAddressBehavior = self.ui.addressContextMenuToolbar.addAction(
|
||||||
_translate(
|
_translate(
|
||||||
"MainWindow", "Special address behavior..."),
|
"MainWindow", "Special address behavior..."),
|
||||||
self.on_action_SpecialAddressBehaviorDialog)
|
self.on_action_SpecialAddressBehaviorDialog)
|
||||||
self.ui.tableWidgetYourIdentities.setContextMenuPolicy(
|
|
||||||
|
self.ui.treeWidgetChans.setContextMenuPolicy(
|
||||||
QtCore.Qt.CustomContextMenu)
|
QtCore.Qt.CustomContextMenu)
|
||||||
if connectSignal:
|
if connectSignal:
|
||||||
self.connect(self.ui.tableWidgetYourIdentities, QtCore.SIGNAL(
|
self.connect(self.ui.treeWidgetChans, QtCore.SIGNAL(
|
||||||
'customContextMenuRequested(const QPoint&)'),
|
'customContextMenuRequested(const QPoint&)'),
|
||||||
self.on_context_menuYourIdentities)
|
self.on_context_menuChan)
|
||||||
|
|
||||||
self.popMenu = QtGui.QMenu(self)
|
self.popMenu = QtGui.QMenu(self)
|
||||||
self.popMenu.addAction(self.actionNew)
|
self.popMenu.addAction(self.actionNew)
|
||||||
self.popMenu.addSeparator()
|
self.popMenu.addSeparator()
|
||||||
|
@ -376,11 +429,11 @@ class MyForm(QtGui.QMainWindow):
|
||||||
self.on_action_SubscriptionsDisable)
|
self.on_action_SubscriptionsDisable)
|
||||||
self.actionsubscriptionsSetAvatar = self.ui.subscriptionsContextMenuToolbar.addAction(
|
self.actionsubscriptionsSetAvatar = self.ui.subscriptionsContextMenuToolbar.addAction(
|
||||||
_translate("MainWindow", "Set avatar..."),
|
_translate("MainWindow", "Set avatar..."),
|
||||||
self.on_action_SubscriptionsSetAvatar)
|
self.on_action_TreeWidgetSetAvatar)
|
||||||
self.ui.tableWidgetSubscriptions.setContextMenuPolicy(
|
self.ui.treeWidgetSubscriptions.setContextMenuPolicy(
|
||||||
QtCore.Qt.CustomContextMenu)
|
QtCore.Qt.CustomContextMenu)
|
||||||
if connectSignal:
|
if connectSignal:
|
||||||
self.connect(self.ui.tableWidgetSubscriptions, QtCore.SIGNAL(
|
self.connect(self.ui.treeWidgetSubscriptions, QtCore.SIGNAL(
|
||||||
'customContextMenuRequested(const QPoint&)'),
|
'customContextMenuRequested(const QPoint&)'),
|
||||||
self.on_context_menuSubscriptions)
|
self.on_context_menuSubscriptions)
|
||||||
self.popMenuSubscriptions = QtGui.QMenu(self)
|
self.popMenuSubscriptions = QtGui.QMenu(self)
|
||||||
|
@ -407,12 +460,6 @@ class MyForm(QtGui.QMainWindow):
|
||||||
self.actionForceSend = self.ui.sentContextMenuToolbar.addAction(
|
self.actionForceSend = self.ui.sentContextMenuToolbar.addAction(
|
||||||
_translate(
|
_translate(
|
||||||
"MainWindow", "Force send"), self.on_action_ForceSend)
|
"MainWindow", "Force send"), self.on_action_ForceSend)
|
||||||
self.ui.tableWidgetSent.setContextMenuPolicy(
|
|
||||||
QtCore.Qt.CustomContextMenu)
|
|
||||||
if connectSignal:
|
|
||||||
self.connect(self.ui.tableWidgetSent, QtCore.SIGNAL(
|
|
||||||
'customContextMenuRequested(const QPoint&)'),
|
|
||||||
self.on_context_menuSent)
|
|
||||||
# self.popMenuSent = QtGui.QMenu( self )
|
# self.popMenuSent = QtGui.QMenu( self )
|
||||||
# self.popMenuSent.addAction( self.actionSentClipboard )
|
# self.popMenuSent.addAction( self.actionSentClipboard )
|
||||||
# self.popMenuSent.addAction( self.actionTrashSentMessage )
|
# self.popMenuSent.addAction( self.actionTrashSentMessage )
|
||||||
|
@ -457,6 +504,103 @@ class MyForm(QtGui.QMainWindow):
|
||||||
self.popMenuBlacklist.addAction(self.actionBlacklistDisable)
|
self.popMenuBlacklist.addAction(self.actionBlacklistDisable)
|
||||||
self.popMenuBlacklist.addAction(self.actionBlacklistSetAvatar)
|
self.popMenuBlacklist.addAction(self.actionBlacklistSetAvatar)
|
||||||
|
|
||||||
|
def rerenderTabTreeSubscriptions(self):
|
||||||
|
treeWidget = self.ui.treeWidgetSubscriptions
|
||||||
|
folders = ['inbox', 'trash']
|
||||||
|
treeWidget.clear()
|
||||||
|
queryreturn = sqlQuery('SELECT label, address, enabled FROM subscriptions')
|
||||||
|
for row in queryreturn:
|
||||||
|
label, address, enabled = row
|
||||||
|
newItem = QtGui.QTreeWidgetItem(treeWidget)
|
||||||
|
newItem.setExpanded(True)
|
||||||
|
newItem.setIcon(0, avatarize(address))
|
||||||
|
newItem.setText(0, label + ' (' + address + ')')
|
||||||
|
newItem.setData(0, Qt.UserRole, [str(address), "inbox"])
|
||||||
|
#set text color
|
||||||
|
if enabled:
|
||||||
|
brush = QtGui.QBrush(QApplication.palette().text().color())
|
||||||
|
else:
|
||||||
|
brush = QtGui.QBrush(QtGui.QColor(128, 128, 128))
|
||||||
|
brush.setStyle(QtCore.Qt.NoBrush)
|
||||||
|
newItem.setForeground(0, brush)
|
||||||
|
|
||||||
|
for folder in folders:
|
||||||
|
newSubItem = QtGui.QTreeWidgetItem(newItem)
|
||||||
|
newSubItem.setText(0, _translate("MainWindow", folder))
|
||||||
|
newSubItem.setData(0, Qt.UserRole, [str(address), folder])
|
||||||
|
|
||||||
|
def rerenderTabTreeMessages(self):
|
||||||
|
self.rerenderTabTree('messages')
|
||||||
|
|
||||||
|
def rerenderTabTreeChans(self):
|
||||||
|
self.rerenderTabTree('chan')
|
||||||
|
|
||||||
|
def rerenderTabTree(self, tab):
|
||||||
|
folders = ['inbox', 'sent', 'trash']
|
||||||
|
if tab == 'messages':
|
||||||
|
treeWidget = self.ui.treeWidgetYourIdentities
|
||||||
|
elif tab == 'chan':
|
||||||
|
treeWidget = self.ui.treeWidgetChans
|
||||||
|
|
||||||
|
treeWidget.clear()
|
||||||
|
|
||||||
|
# get number of (unread) messages
|
||||||
|
cntUnreadMsg = {}
|
||||||
|
queryreturn = sqlQuery('SELECT toaddress, folder, count(msgid) as cnt FROM inbox WHERE read = 0 GROUP BY toaddress, folder')
|
||||||
|
for row in queryreturn:
|
||||||
|
toaddress, folder, cnt = row
|
||||||
|
cntUnreadMsg[toaddress + folder] = cnt
|
||||||
|
|
||||||
|
configSections = shared.config.sections()
|
||||||
|
for addressInKeysFile in configSections:
|
||||||
|
if addressInKeysFile != 'bitmessagesettings':
|
||||||
|
isEnabled = shared.config.getboolean(
|
||||||
|
addressInKeysFile, 'enabled')
|
||||||
|
isChan = shared.safeConfigGetBoolean(
|
||||||
|
addressInKeysFile, 'chan')
|
||||||
|
isMaillinglist = shared.safeConfigGetBoolean(
|
||||||
|
addressInKeysFile, 'mailinglist')
|
||||||
|
|
||||||
|
if tab == 'messages':
|
||||||
|
if isChan:
|
||||||
|
continue
|
||||||
|
elif tab == 'chan':
|
||||||
|
if not isChan:
|
||||||
|
continue
|
||||||
|
|
||||||
|
newItem = QtGui.QTreeWidgetItem(treeWidget)
|
||||||
|
newItem.setExpanded(True)
|
||||||
|
newItem.setIcon(0, avatarize(addressInKeysFile))
|
||||||
|
newItem.setText(0, unicode(
|
||||||
|
shared.config.get(addressInKeysFile, 'label'), 'utf-8)')
|
||||||
|
+ ' (' + addressInKeysFile + ')')
|
||||||
|
newItem.setData(0, Qt.UserRole, [str(addressInKeysFile), "inbox"])
|
||||||
|
#set text color
|
||||||
|
if isEnabled:
|
||||||
|
if isMaillinglist:
|
||||||
|
brush = QtGui.QBrush(QtGui.QColor(137, 04, 177))
|
||||||
|
else:
|
||||||
|
brush = QtGui.QBrush(QApplication.palette().text().color())
|
||||||
|
else:
|
||||||
|
brush = QtGui.QBrush(QtGui.QColor(128, 128, 128))
|
||||||
|
brush.setStyle(QtCore.Qt.NoBrush)
|
||||||
|
newItem.setForeground(0, brush)
|
||||||
|
|
||||||
|
for folder in folders:
|
||||||
|
newSubItem = QtGui.QTreeWidgetItem(newItem)
|
||||||
|
|
||||||
|
cnt = cntUnreadMsg.get(addressInKeysFile + folder, False)
|
||||||
|
if cnt:
|
||||||
|
unreadText = " (" + str(cnt) + ")"
|
||||||
|
font = QtGui.QFont()
|
||||||
|
font.setBold(True)
|
||||||
|
newSubItem.setFont(0, font)
|
||||||
|
else:
|
||||||
|
unreadText = ""
|
||||||
|
|
||||||
|
newSubItem.setText(0, _translate("MainWindow", folder) + unreadText)
|
||||||
|
newSubItem.setData(0, Qt.UserRole, [str(addressInKeysFile), folder])
|
||||||
|
|
||||||
def __init__(self, parent=None):
|
def __init__(self, parent=None):
|
||||||
QtGui.QWidget.__init__(self, parent)
|
QtGui.QWidget.__init__(self, parent)
|
||||||
self.ui = Ui_MainWindow()
|
self.ui = Ui_MainWindow()
|
||||||
|
@ -500,8 +644,6 @@ class MyForm(QtGui.QMainWindow):
|
||||||
self.totalNumberOfBytesReceived = 0
|
self.totalNumberOfBytesReceived = 0
|
||||||
self.totalNumberOfBytesSent = 0
|
self.totalNumberOfBytesSent = 0
|
||||||
|
|
||||||
self.ui.labelSendBroadcastWarning.setVisible(False)
|
|
||||||
|
|
||||||
self.timer = QtCore.QTimer()
|
self.timer = QtCore.QTimer()
|
||||||
self.timer.start(2000) # milliseconds
|
self.timer.start(2000) # milliseconds
|
||||||
QtCore.QObject.connect(self.timer, QtCore.SIGNAL("timeout()"), self.runEveryTwoSeconds)
|
QtCore.QObject.connect(self.timer, QtCore.SIGNAL("timeout()"), self.runEveryTwoSeconds)
|
||||||
|
@ -511,48 +653,25 @@ class MyForm(QtGui.QMainWindow):
|
||||||
self.init_identities_popup_menu()
|
self.init_identities_popup_menu()
|
||||||
self.init_addressbook_popup_menu()
|
self.init_addressbook_popup_menu()
|
||||||
self.init_subscriptions_popup_menu()
|
self.init_subscriptions_popup_menu()
|
||||||
|
self.init_chan_popup_menu()
|
||||||
self.init_sent_popup_menu()
|
self.init_sent_popup_menu()
|
||||||
self.init_blacklist_popup_menu()
|
self.init_blacklist_popup_menu()
|
||||||
|
|
||||||
# Initialize the user's list of addresses on the 'Your Identities' tab.
|
# Initialize the user's list of addresses on the 'Chan' tab.
|
||||||
configSections = shared.config.sections()
|
self.rerenderTabTreeChans()
|
||||||
for addressInKeysFile in configSections:
|
|
||||||
if addressInKeysFile != 'bitmessagesettings':
|
|
||||||
isEnabled = shared.config.getboolean(
|
|
||||||
addressInKeysFile, 'enabled')
|
|
||||||
newItem = QtGui.QTableWidgetItem(unicode(
|
|
||||||
shared.config.get(addressInKeysFile, 'label'), 'utf-8)'))
|
|
||||||
if not isEnabled:
|
|
||||||
newItem.setTextColor(QtGui.QColor(128, 128, 128))
|
|
||||||
self.ui.tableWidgetYourIdentities.insertRow(0)
|
|
||||||
newItem.setIcon(avatarize(addressInKeysFile))
|
|
||||||
self.ui.tableWidgetYourIdentities.setItem(0, 0, newItem)
|
|
||||||
newItem = QtGui.QTableWidgetItem(addressInKeysFile)
|
|
||||||
newItem.setFlags(
|
|
||||||
QtCore.Qt.ItemIsSelectable | QtCore.Qt.ItemIsEnabled)
|
|
||||||
if shared.safeConfigGetBoolean(addressInKeysFile, 'chan'):
|
|
||||||
newItem.setTextColor(QtGui.QColor(216, 119, 0)) # orange
|
|
||||||
if not isEnabled:
|
|
||||||
newItem.setTextColor(QtGui.QColor(128, 128, 128))
|
|
||||||
if shared.safeConfigGetBoolean(addressInKeysFile, 'mailinglist'):
|
|
||||||
newItem.setTextColor(QtGui.QColor(137, 04, 177)) # magenta
|
|
||||||
self.ui.tableWidgetYourIdentities.setItem(0, 1, newItem)
|
|
||||||
newItem = QtGui.QTableWidgetItem(str(
|
|
||||||
decodeAddress(addressInKeysFile)[2]))
|
|
||||||
newItem.setFlags(
|
|
||||||
QtCore.Qt.ItemIsSelectable | QtCore.Qt.ItemIsEnabled)
|
|
||||||
if not isEnabled:
|
|
||||||
newItem.setTextColor(QtGui.QColor(128, 128, 128))
|
|
||||||
self.ui.tableWidgetYourIdentities.setItem(0, 2, newItem)
|
|
||||||
if isEnabled:
|
|
||||||
status, addressVersionNumber, streamNumber, hash = decodeAddress(
|
|
||||||
addressInKeysFile)
|
|
||||||
|
|
||||||
# Load inbox from messages database file
|
# Initialize the user's list of addresses on the 'Messages' tab.
|
||||||
self.loadInbox()
|
self.rerenderTabTreeMessages()
|
||||||
|
|
||||||
# Load Sent items from database
|
# Set welcome message
|
||||||
self.loadSent()
|
self.ui.textEditInboxMessage.setText(
|
||||||
|
"""
|
||||||
|
Welcome to easy and secure Bitmessage
|
||||||
|
* send messages to other people
|
||||||
|
* send broadcast messages like twitter or
|
||||||
|
* discuss in chan(nel)s with other people
|
||||||
|
"""
|
||||||
|
)
|
||||||
|
|
||||||
# Initialize the address book
|
# Initialize the address book
|
||||||
self.rerenderAddressBook()
|
self.rerenderAddressBook()
|
||||||
|
@ -563,10 +682,10 @@ class MyForm(QtGui.QMainWindow):
|
||||||
# Initialize the inbox search
|
# Initialize the inbox search
|
||||||
QtCore.QObject.connect(self.ui.inboxSearchLineEdit, QtCore.SIGNAL(
|
QtCore.QObject.connect(self.ui.inboxSearchLineEdit, QtCore.SIGNAL(
|
||||||
"returnPressed()"), self.inboxSearchLineEditPressed)
|
"returnPressed()"), self.inboxSearchLineEditPressed)
|
||||||
|
QtCore.QObject.connect(self.ui.inboxSearchLineEditSubscriptions, QtCore.SIGNAL(
|
||||||
# Initialize the sent search
|
"returnPressed()"), self.inboxSearchLineEditPressed)
|
||||||
QtCore.QObject.connect(self.ui.sentSearchLineEdit, QtCore.SIGNAL(
|
QtCore.QObject.connect(self.ui.inboxSearchLineEditChans, QtCore.SIGNAL(
|
||||||
"returnPressed()"), self.sentSearchLineEditPressed)
|
"returnPressed()"), self.inboxSearchLineEditPressed)
|
||||||
|
|
||||||
# Initialize the Blacklist or Whitelist
|
# Initialize the Blacklist or Whitelist
|
||||||
if shared.config.get('bitmessagesettings', 'blackwhitelist') == 'white':
|
if shared.config.get('bitmessagesettings', 'blackwhitelist') == 'white':
|
||||||
|
@ -574,16 +693,25 @@ class MyForm(QtGui.QMainWindow):
|
||||||
self.ui.radioButtonWhitelist.click()
|
self.ui.radioButtonWhitelist.click()
|
||||||
self.rerenderBlackWhiteList()
|
self.rerenderBlackWhiteList()
|
||||||
|
|
||||||
QtCore.QObject.connect(self.ui.tableWidgetYourIdentities, QtCore.SIGNAL(
|
# Initialize addressbook
|
||||||
"itemChanged(QTableWidgetItem *)"), self.tableWidgetYourIdentitiesItemChanged)
|
|
||||||
QtCore.QObject.connect(self.ui.tableWidgetAddressBook, QtCore.SIGNAL(
|
QtCore.QObject.connect(self.ui.tableWidgetAddressBook, QtCore.SIGNAL(
|
||||||
"itemChanged(QTableWidgetItem *)"), self.tableWidgetAddressBookItemChanged)
|
"itemChanged(QTableWidgetItem *)"), self.tableWidgetAddressBookItemChanged)
|
||||||
QtCore.QObject.connect(self.ui.tableWidgetSubscriptions, QtCore.SIGNAL(
|
|
||||||
"itemChanged(QTableWidgetItem *)"), self.tableWidgetSubscriptionsItemChanged)
|
# show messages from message list
|
||||||
QtCore.QObject.connect(self.ui.tableWidgetInbox, QtCore.SIGNAL(
|
QtCore.QObject.connect(self.ui.tableWidgetInbox, QtCore.SIGNAL(
|
||||||
"itemSelectionChanged ()"), self.tableWidgetInboxItemClicked)
|
"itemSelectionChanged ()"), self.tableWidgetInboxItemClicked)
|
||||||
QtCore.QObject.connect(self.ui.tableWidgetSent, QtCore.SIGNAL(
|
QtCore.QObject.connect(self.ui.tableWidgetInboxSubscriptions, QtCore.SIGNAL(
|
||||||
"itemSelectionChanged ()"), self.tableWidgetSentItemClicked)
|
"itemSelectionChanged ()"), self.tableWidgetInboxItemClicked)
|
||||||
|
QtCore.QObject.connect(self.ui.tableWidgetInboxChans, QtCore.SIGNAL(
|
||||||
|
"itemSelectionChanged ()"), self.tableWidgetInboxItemClicked)
|
||||||
|
|
||||||
|
# tree address lists
|
||||||
|
QtCore.QObject.connect(self.ui.treeWidgetYourIdentities, QtCore.SIGNAL(
|
||||||
|
"itemSelectionChanged ()"), self.treeWidgetItemClicked)
|
||||||
|
QtCore.QObject.connect(self.ui.treeWidgetSubscriptions, QtCore.SIGNAL(
|
||||||
|
"itemSelectionChanged ()"), self.treeWidgetItemClicked)
|
||||||
|
QtCore.QObject.connect(self.ui.treeWidgetChans, QtCore.SIGNAL(
|
||||||
|
"itemSelectionChanged ()"), self.treeWidgetItemClicked)
|
||||||
|
|
||||||
# Put the colored icon on the status bar
|
# Put the colored icon on the status bar
|
||||||
# self.ui.pushButtonStatusIcon.setIcon(QIcon(":/newPrefix/images/yellowicon.png"))
|
# self.ui.pushButtonStatusIcon.setIcon(QIcon(":/newPrefix/images/yellowicon.png"))
|
||||||
|
@ -598,9 +726,9 @@ class MyForm(QtGui.QMainWindow):
|
||||||
# Set the icon sizes for the identicons
|
# Set the icon sizes for the identicons
|
||||||
identicon_size = 3*7
|
identicon_size = 3*7
|
||||||
self.ui.tableWidgetInbox.setIconSize(QtCore.QSize(identicon_size, identicon_size))
|
self.ui.tableWidgetInbox.setIconSize(QtCore.QSize(identicon_size, identicon_size))
|
||||||
self.ui.tableWidgetSent.setIconSize(QtCore.QSize(identicon_size, identicon_size))
|
self.ui.treeWidgetChans.setIconSize(QtCore.QSize(identicon_size, identicon_size))
|
||||||
self.ui.tableWidgetYourIdentities.setIconSize(QtCore.QSize(identicon_size, identicon_size))
|
self.ui.treeWidgetYourIdentities.setIconSize(QtCore.QSize(identicon_size, identicon_size))
|
||||||
self.ui.tableWidgetSubscriptions.setIconSize(QtCore.QSize(identicon_size, identicon_size))
|
self.ui.treeWidgetSubscriptions.setIconSize(QtCore.QSize(identicon_size, identicon_size))
|
||||||
self.ui.tableWidgetAddressBook.setIconSize(QtCore.QSize(identicon_size, identicon_size))
|
self.ui.tableWidgetAddressBook.setIconSize(QtCore.QSize(identicon_size, identicon_size))
|
||||||
self.ui.tableWidgetBlacklist.setIconSize(QtCore.QSize(identicon_size, identicon_size))
|
self.ui.tableWidgetBlacklist.setIconSize(QtCore.QSize(identicon_size, identicon_size))
|
||||||
|
|
||||||
|
@ -649,6 +777,7 @@ class MyForm(QtGui.QMainWindow):
|
||||||
# structures were initialized.
|
# structures were initialized.
|
||||||
|
|
||||||
self.rerenderComboBoxSendFrom()
|
self.rerenderComboBoxSendFrom()
|
||||||
|
self.rerenderComboBoxSendFromBroadcast()
|
||||||
|
|
||||||
# Put the TTL slider in the correct spot
|
# Put the TTL slider in the correct spot
|
||||||
TTL = shared.config.getint('bitmessagesettings', 'ttl')
|
TTL = shared.config.getint('bitmessagesettings', 'ttl')
|
||||||
|
@ -781,37 +910,37 @@ class MyForm(QtGui.QMainWindow):
|
||||||
# Show the program window and select subscriptions tab
|
# Show the program window and select subscriptions tab
|
||||||
def appIndicatorSubscribe(self):
|
def appIndicatorSubscribe(self):
|
||||||
self.appIndicatorShow()
|
self.appIndicatorShow()
|
||||||
self.ui.tabWidget.setCurrentIndex(4)
|
self.ui.tabWidget.setCurrentIndex(2)
|
||||||
|
|
||||||
# Show the program window and select the address book tab
|
# Show the program window and select channels tab
|
||||||
def appIndicatorAddressBook(self):
|
def appIndicatorChannel(self):
|
||||||
self.appIndicatorShow()
|
self.appIndicatorShow()
|
||||||
self.ui.tabWidget.setCurrentIndex(5)
|
self.ui.tabWidget.setCurrentIndex(3)
|
||||||
|
|
||||||
# Load Sent items from database
|
# Load Sent items from database
|
||||||
def loadSent(self, where="", what=""):
|
def loadSent(self, tableWidget, account, where="", what=""):
|
||||||
what = "%" + what + "%"
|
what = "%" + what + "%"
|
||||||
if where == "To":
|
if where == _translate("MainWindow", "To"):
|
||||||
where = "toaddress"
|
where = "toaddress"
|
||||||
elif where == "From":
|
elif where == _translate("MainWindow", "From"):
|
||||||
where = "fromaddress"
|
where = "fromaddress"
|
||||||
elif where == "Subject":
|
elif where == _translate("MainWindow", "Subject"):
|
||||||
where = "subject"
|
where = "subject"
|
||||||
elif where == "Message":
|
elif where == _translate("MainWindow", "Message"):
|
||||||
where = "message"
|
where = "message"
|
||||||
else:
|
else:
|
||||||
where = "toaddress || fromaddress || subject || message"
|
where = "toaddress || fromaddress || subject || message"
|
||||||
|
|
||||||
sqlStatement = '''
|
sqlStatement = '''
|
||||||
SELECT toaddress, fromaddress, subject, status, ackdata, lastactiontime
|
SELECT toaddress, fromaddress, subject, status, ackdata, lastactiontime
|
||||||
FROM sent WHERE folder="sent" AND %s LIKE ?
|
FROM sent WHERE fromaddress=? AND folder="sent" AND %s LIKE ?
|
||||||
ORDER BY lastactiontime
|
ORDER BY lastactiontime
|
||||||
''' % (where,)
|
''' % (where,)
|
||||||
|
|
||||||
while self.ui.tableWidgetSent.rowCount() > 0:
|
while tableWidget.rowCount() > 0:
|
||||||
self.ui.tableWidgetSent.removeRow(0)
|
tableWidget.removeRow(0)
|
||||||
|
|
||||||
queryreturn = sqlQuery(sqlStatement, what)
|
queryreturn = sqlQuery(sqlStatement, account, what)
|
||||||
for row in queryreturn:
|
for row in queryreturn:
|
||||||
toAddress, fromAddress, subject, status, ackdata, lastactiontime = row
|
toAddress, fromAddress, subject, status, ackdata, lastactiontime = row
|
||||||
subject = shared.fixPotentiallyInvalidUTF8Data(subject)
|
subject = shared.fixPotentiallyInvalidUTF8Data(subject)
|
||||||
|
@ -843,14 +972,14 @@ class MyForm(QtGui.QMainWindow):
|
||||||
if toLabel == '':
|
if toLabel == '':
|
||||||
toLabel = toAddress
|
toLabel = toAddress
|
||||||
|
|
||||||
self.ui.tableWidgetSent.insertRow(0)
|
tableWidget.insertRow(0)
|
||||||
toAddressItem = QtGui.QTableWidgetItem(unicode(toLabel, 'utf-8'))
|
toAddressItem = QtGui.QTableWidgetItem(unicode(toLabel, 'utf-8'))
|
||||||
toAddressItem.setToolTip(unicode(toLabel, 'utf-8'))
|
toAddressItem.setToolTip(unicode(toLabel, 'utf-8'))
|
||||||
toAddressItem.setIcon(avatarize(toAddress))
|
toAddressItem.setIcon(avatarize(toAddress))
|
||||||
toAddressItem.setData(Qt.UserRole, str(toAddress))
|
toAddressItem.setData(Qt.UserRole, str(toAddress))
|
||||||
toAddressItem.setFlags(
|
toAddressItem.setFlags(
|
||||||
QtCore.Qt.ItemIsSelectable | QtCore.Qt.ItemIsEnabled)
|
QtCore.Qt.ItemIsSelectable | QtCore.Qt.ItemIsEnabled)
|
||||||
self.ui.tableWidgetSent.setItem(0, 0, toAddressItem)
|
tableWidget.setItem(0, 0, toAddressItem)
|
||||||
|
|
||||||
if fromLabel == '':
|
if fromLabel == '':
|
||||||
fromLabel = fromAddress
|
fromLabel = fromAddress
|
||||||
|
@ -860,13 +989,13 @@ class MyForm(QtGui.QMainWindow):
|
||||||
fromAddressItem.setData(Qt.UserRole, str(fromAddress))
|
fromAddressItem.setData(Qt.UserRole, str(fromAddress))
|
||||||
fromAddressItem.setFlags(
|
fromAddressItem.setFlags(
|
||||||
QtCore.Qt.ItemIsSelectable | QtCore.Qt.ItemIsEnabled)
|
QtCore.Qt.ItemIsSelectable | QtCore.Qt.ItemIsEnabled)
|
||||||
self.ui.tableWidgetSent.setItem(0, 1, fromAddressItem)
|
tableWidget.setItem(0, 1, fromAddressItem)
|
||||||
|
|
||||||
subjectItem = QtGui.QTableWidgetItem(unicode(subject, 'utf-8'))
|
subjectItem = QtGui.QTableWidgetItem(unicode(subject, 'utf-8'))
|
||||||
subjectItem.setToolTip(unicode(subject, 'utf-8'))
|
subjectItem.setToolTip(unicode(subject, 'utf-8'))
|
||||||
subjectItem.setFlags(
|
subjectItem.setFlags(
|
||||||
QtCore.Qt.ItemIsSelectable | QtCore.Qt.ItemIsEnabled)
|
QtCore.Qt.ItemIsSelectable | QtCore.Qt.ItemIsEnabled)
|
||||||
self.ui.tableWidgetSent.setItem(0, 2, subjectItem)
|
tableWidget.setItem(0, 2, subjectItem)
|
||||||
|
|
||||||
if status == 'awaitingpubkey':
|
if status == 'awaitingpubkey':
|
||||||
statusText = _translate(
|
statusText = _translate(
|
||||||
|
@ -913,36 +1042,40 @@ class MyForm(QtGui.QMainWindow):
|
||||||
newItem.setData(33, int(lastactiontime))
|
newItem.setData(33, int(lastactiontime))
|
||||||
newItem.setFlags(
|
newItem.setFlags(
|
||||||
QtCore.Qt.ItemIsSelectable | QtCore.Qt.ItemIsEnabled)
|
QtCore.Qt.ItemIsSelectable | QtCore.Qt.ItemIsEnabled)
|
||||||
self.ui.tableWidgetSent.setItem(0, 3, newItem)
|
tableWidget.setItem(0, 3, newItem)
|
||||||
self.ui.tableWidgetSent.sortItems(3, Qt.DescendingOrder)
|
tableWidget.sortItems(3, Qt.DescendingOrder)
|
||||||
self.ui.tableWidgetSent.keyPressEvent = self.tableWidgetSentKeyPressEvent
|
tableWidget.keyPressEvent = self.tableWidgetInboxKeyPressEvent
|
||||||
|
|
||||||
|
# Load messages from database file
|
||||||
|
def loadMessagelist(self, tableWidget, account, folder="inbox", where="", what=""):
|
||||||
|
if folder == 'sent':
|
||||||
|
self.loadSent(tableWidget, account, where, what)
|
||||||
|
return
|
||||||
|
|
||||||
# Load inbox from messages database file
|
|
||||||
def loadInbox(self, where="", what=""):
|
|
||||||
what = "%" + what + "%"
|
what = "%" + what + "%"
|
||||||
if where == "To":
|
if where == _translate("MainWindow", "To"):
|
||||||
where = "toaddress"
|
where = "toaddress"
|
||||||
elif where == "From":
|
elif where == _translate("MainWindow", "From"):
|
||||||
where = "fromaddress"
|
where = "fromaddress"
|
||||||
elif where == "Subject":
|
elif where == _translate("MainWindow", "Subject"):
|
||||||
where = "subject"
|
where = "subject"
|
||||||
elif where == "Message":
|
elif where == _translate("MainWindow", "Message"):
|
||||||
where = "message"
|
where = "message"
|
||||||
else:
|
else:
|
||||||
where = "toaddress || fromaddress || subject || message"
|
where = "toaddress || fromaddress || subject || message"
|
||||||
|
|
||||||
sqlStatement = '''
|
sqlStatement = '''
|
||||||
SELECT msgid, toaddress, fromaddress, subject, received, read
|
SELECT msgid, toaddress, fromaddress, subject, received, read
|
||||||
FROM inbox WHERE folder="inbox" AND %s LIKE ?
|
FROM inbox WHERE toaddress=? AND folder=? AND %s LIKE ?
|
||||||
ORDER BY received
|
ORDER BY received
|
||||||
''' % (where,)
|
''' % (where)
|
||||||
|
|
||||||
while self.ui.tableWidgetInbox.rowCount() > 0:
|
while tableWidget.rowCount() > 0:
|
||||||
self.ui.tableWidgetInbox.removeRow(0)
|
tableWidget.removeRow(0)
|
||||||
|
|
||||||
font = QFont()
|
font = QFont()
|
||||||
font.setBold(True)
|
font.setBold(True)
|
||||||
queryreturn = sqlQuery(sqlStatement, what)
|
queryreturn = sqlQuery(sqlStatement, account, folder, what)
|
||||||
for row in queryreturn:
|
for row in queryreturn:
|
||||||
msgid, toAddress, fromAddress, subject, received, read = row
|
msgid, toAddress, fromAddress, subject, received, read = row
|
||||||
subject = shared.fixPotentiallyInvalidUTF8Data(subject)
|
subject = shared.fixPotentiallyInvalidUTF8Data(subject)
|
||||||
|
@ -977,7 +1110,7 @@ class MyForm(QtGui.QMainWindow):
|
||||||
fromLabel = fromAddress
|
fromLabel = fromAddress
|
||||||
|
|
||||||
# message row
|
# message row
|
||||||
self.ui.tableWidgetInbox.insertRow(0)
|
tableWidget.insertRow(0)
|
||||||
# to
|
# to
|
||||||
to_item = QtGui.QTableWidgetItem(unicode(toLabel, 'utf-8'))
|
to_item = QtGui.QTableWidgetItem(unicode(toLabel, 'utf-8'))
|
||||||
to_item.setToolTip(unicode(toLabel, 'utf-8'))
|
to_item.setToolTip(unicode(toLabel, 'utf-8'))
|
||||||
|
@ -991,7 +1124,7 @@ class MyForm(QtGui.QMainWindow):
|
||||||
if shared.safeConfigGetBoolean(str(toAddress), 'chan'):
|
if shared.safeConfigGetBoolean(str(toAddress), 'chan'):
|
||||||
to_item.setTextColor(QtGui.QColor(216, 119, 0)) # orange
|
to_item.setTextColor(QtGui.QColor(216, 119, 0)) # orange
|
||||||
to_item.setIcon(avatarize(toAddress))
|
to_item.setIcon(avatarize(toAddress))
|
||||||
self.ui.tableWidgetInbox.setItem(0, 0, to_item)
|
tableWidget.setItem(0, 0, to_item)
|
||||||
# from
|
# from
|
||||||
from_item = QtGui.QTableWidgetItem(unicode(fromLabel, 'utf-8'))
|
from_item = QtGui.QTableWidgetItem(unicode(fromLabel, 'utf-8'))
|
||||||
from_item.setToolTip(unicode(fromLabel, 'utf-8'))
|
from_item.setToolTip(unicode(fromLabel, 'utf-8'))
|
||||||
|
@ -1003,7 +1136,7 @@ class MyForm(QtGui.QMainWindow):
|
||||||
if shared.safeConfigGetBoolean(str(fromAddress), 'chan'):
|
if shared.safeConfigGetBoolean(str(fromAddress), 'chan'):
|
||||||
from_item.setTextColor(QtGui.QColor(216, 119, 0)) # orange
|
from_item.setTextColor(QtGui.QColor(216, 119, 0)) # orange
|
||||||
from_item.setIcon(avatarize(fromAddress))
|
from_item.setIcon(avatarize(fromAddress))
|
||||||
self.ui.tableWidgetInbox.setItem(0, 1, from_item)
|
tableWidget.setItem(0, 1, from_item)
|
||||||
# subject
|
# subject
|
||||||
subject_item = QtGui.QTableWidgetItem(unicode(subject, 'utf-8'))
|
subject_item = QtGui.QTableWidgetItem(unicode(subject, 'utf-8'))
|
||||||
subject_item.setToolTip(unicode(subject, 'utf-8'))
|
subject_item.setToolTip(unicode(subject, 'utf-8'))
|
||||||
|
@ -1011,7 +1144,7 @@ class MyForm(QtGui.QMainWindow):
|
||||||
QtCore.Qt.ItemIsSelectable | QtCore.Qt.ItemIsEnabled)
|
QtCore.Qt.ItemIsSelectable | QtCore.Qt.ItemIsEnabled)
|
||||||
if not read:
|
if not read:
|
||||||
subject_item.setFont(font)
|
subject_item.setFont(font)
|
||||||
self.ui.tableWidgetInbox.setItem(0, 2, subject_item)
|
tableWidget.setItem(0, 2, subject_item)
|
||||||
# time received
|
# time received
|
||||||
time_item = myTableWidgetItem(l10n.formatTimestamp(received))
|
time_item = myTableWidgetItem(l10n.formatTimestamp(received))
|
||||||
time_item.setToolTip(l10n.formatTimestamp(received))
|
time_item.setToolTip(l10n.formatTimestamp(received))
|
||||||
|
@ -1021,10 +1154,10 @@ class MyForm(QtGui.QMainWindow):
|
||||||
QtCore.Qt.ItemIsSelectable | QtCore.Qt.ItemIsEnabled)
|
QtCore.Qt.ItemIsSelectable | QtCore.Qt.ItemIsEnabled)
|
||||||
if not read:
|
if not read:
|
||||||
time_item.setFont(font)
|
time_item.setFont(font)
|
||||||
self.ui.tableWidgetInbox.setItem(0, 3, time_item)
|
tableWidget.setItem(0, 3, time_item)
|
||||||
|
|
||||||
self.ui.tableWidgetInbox.sortItems(3, Qt.DescendingOrder)
|
tableWidget.sortItems(3, Qt.DescendingOrder)
|
||||||
self.ui.tableWidgetInbox.keyPressEvent = self.tableWidgetInboxKeyPressEvent
|
tableWidget.keyPressEvent = self.tableWidgetInboxKeyPressEvent
|
||||||
|
|
||||||
# create application indicator
|
# create application indicator
|
||||||
def appIndicatorInit(self, app):
|
def appIndicatorInit(self, app):
|
||||||
|
@ -1065,11 +1198,11 @@ class MyForm(QtGui.QMainWindow):
|
||||||
actionSubscribe.triggered.connect(self.appIndicatorSubscribe)
|
actionSubscribe.triggered.connect(self.appIndicatorSubscribe)
|
||||||
m.addAction(actionSubscribe)
|
m.addAction(actionSubscribe)
|
||||||
|
|
||||||
# Address book
|
# Channels
|
||||||
actionAddressBook = QtGui.QAction(_translate(
|
actionSubscribe = QtGui.QAction(_translate(
|
||||||
"MainWindow", "Address Book"), m, checkable=False)
|
"MainWindow", "Channel"), m, checkable=False)
|
||||||
actionAddressBook.triggered.connect(self.appIndicatorAddressBook)
|
actionSubscribe.triggered.connect(self.appIndicatorChannel)
|
||||||
m.addAction(actionAddressBook)
|
m.addAction(actionSubscribe)
|
||||||
|
|
||||||
# separator
|
# separator
|
||||||
actionSeparator = QtGui.QAction('', m, checkable=False)
|
actionSeparator = QtGui.QAction('', m, checkable=False)
|
||||||
|
@ -1346,16 +1479,13 @@ class MyForm(QtGui.QMainWindow):
|
||||||
else:
|
else:
|
||||||
self.tray.showMessage(title, subtitle, 1, 2000)
|
self.tray.showMessage(title, subtitle, 1, 2000)
|
||||||
|
|
||||||
|
# set delete key in inbox
|
||||||
def tableWidgetInboxKeyPressEvent(self, event):
|
def tableWidgetInboxKeyPressEvent(self, event):
|
||||||
if event.key() == QtCore.Qt.Key_Delete:
|
if event.key() == QtCore.Qt.Key_Delete:
|
||||||
self.on_action_InboxTrash()
|
self.on_action_InboxTrash()
|
||||||
return QtGui.QTableWidget.keyPressEvent(self.ui.tableWidgetInbox, event)
|
return QtGui.QTableWidget.keyPressEvent(self.ui.tableWidgetInbox, event)
|
||||||
|
|
||||||
def tableWidgetSentKeyPressEvent(self, event):
|
# menu button 'manage keys'
|
||||||
if event.key() == QtCore.Qt.Key_Delete:
|
|
||||||
self.on_action_SentTrash()
|
|
||||||
return QtGui.QTableWidget.keyPressEvent(self.ui.tableWidgetSent, event)
|
|
||||||
|
|
||||||
def click_actionManageKeys(self):
|
def click_actionManageKeys(self):
|
||||||
if 'darwin' in sys.platform or 'linux' in sys.platform:
|
if 'darwin' in sys.platform or 'linux' in sys.platform:
|
||||||
if shared.appdata == '':
|
if shared.appdata == '':
|
||||||
|
@ -1379,11 +1509,13 @@ class MyForm(QtGui.QMainWindow):
|
||||||
if reply == QtGui.QMessageBox.Yes:
|
if reply == QtGui.QMessageBox.Yes:
|
||||||
shared.openKeysFile()
|
shared.openKeysFile()
|
||||||
|
|
||||||
|
# menu button 'delete all treshed messages'
|
||||||
def click_actionDeleteAllTrashedMessages(self):
|
def click_actionDeleteAllTrashedMessages(self):
|
||||||
if QtGui.QMessageBox.question(self, _translate("MainWindow", "Delete trash?"), _translate("MainWindow", "Are you sure you want to delete all trashed messages?"), QtGui.QMessageBox.Yes, QtGui.QMessageBox.No) == QtGui.QMessageBox.No:
|
if QtGui.QMessageBox.question(self, _translate("MainWindow", "Delete trash?"), _translate("MainWindow", "Are you sure you want to delete all trashed messages?"), QtGui.QMessageBox.Yes, QtGui.QMessageBox.No) == QtGui.QMessageBox.No:
|
||||||
return
|
return
|
||||||
sqlStoredProcedure('deleteandvacuume')
|
sqlStoredProcedure('deleteandvacuume')
|
||||||
|
|
||||||
|
# menu botton 'regenerate deterministic addresses'
|
||||||
def click_actionRegenerateDeterministicAddresses(self):
|
def click_actionRegenerateDeterministicAddresses(self):
|
||||||
self.regenerateAddressesDialogInstance = regenerateAddressesDialog(
|
self.regenerateAddressesDialogInstance = regenerateAddressesDialog(
|
||||||
self)
|
self)
|
||||||
|
@ -1409,6 +1541,7 @@ class MyForm(QtGui.QMainWindow):
|
||||||
), self.regenerateAddressesDialogInstance.ui.lineEditPassphrase.text().toUtf8(), self.regenerateAddressesDialogInstance.ui.checkBoxEighteenByteRipe.isChecked()))
|
), self.regenerateAddressesDialogInstance.ui.lineEditPassphrase.text().toUtf8(), self.regenerateAddressesDialogInstance.ui.checkBoxEighteenByteRipe.isChecked()))
|
||||||
self.ui.tabWidget.setCurrentIndex(3)
|
self.ui.tabWidget.setCurrentIndex(3)
|
||||||
|
|
||||||
|
# opens 'join chan' dialog
|
||||||
def click_actionJoinChan(self):
|
def click_actionJoinChan(self):
|
||||||
self.newChanDialogInstance = newChanDialog(self)
|
self.newChanDialogInstance = newChanDialog(self)
|
||||||
if self.newChanDialogInstance.exec_():
|
if self.newChanDialogInstance.exec_():
|
||||||
|
@ -1472,7 +1605,7 @@ class MyForm(QtGui.QMainWindow):
|
||||||
if event.type() == QtCore.QEvent.LanguageChange:
|
if event.type() == QtCore.QEvent.LanguageChange:
|
||||||
self.ui.retranslateUi(self)
|
self.ui.retranslateUi(self)
|
||||||
self.init_inbox_popup_menu(False)
|
self.init_inbox_popup_menu(False)
|
||||||
self.init_identities_popup_menu(False)
|
self.init_chan_popup_menu(False)
|
||||||
self.init_addressbook_popup_menu(False)
|
self.init_addressbook_popup_menu(False)
|
||||||
self.init_subscriptions_popup_menu(False)
|
self.init_subscriptions_popup_menu(False)
|
||||||
self.init_sent_popup_menu(False)
|
self.init_sent_popup_menu(False)
|
||||||
|
@ -1533,7 +1666,6 @@ class MyForm(QtGui.QMainWindow):
|
||||||
shared.numberOfBytesSent = 0
|
shared.numberOfBytesSent = 0
|
||||||
|
|
||||||
def updateNetworkStatusTab(self):
|
def updateNetworkStatusTab(self):
|
||||||
# print 'updating network status tab'
|
|
||||||
totalNumberOfConnectionsFromAllStreams = 0 # One would think we could use len(sendDataQueues) for this but the number doesn't always match: just because we have a sendDataThread running doesn't mean that the connection has been fully established (with the exchange of version messages).
|
totalNumberOfConnectionsFromAllStreams = 0 # One would think we could use len(sendDataQueues) for this but the number doesn't always match: just because we have a sendDataThread running doesn't mean that the connection has been fully established (with the exchange of version messages).
|
||||||
streamNumberTotals = {}
|
streamNumberTotals = {}
|
||||||
for host, streamNumber in shared.connectedHostsList.items():
|
for host, streamNumber in shared.connectedHostsList.items():
|
||||||
|
@ -1705,30 +1837,30 @@ class MyForm(QtGui.QMainWindow):
|
||||||
except: # If someone misses adding a "_translate" to a string before passing it to this function, this function won't receive a qstring which will cause an exception.
|
except: # If someone misses adding a "_translate" to a string before passing it to this function, this function won't receive a qstring which will cause an exception.
|
||||||
newlinePosition = 0
|
newlinePosition = 0
|
||||||
if newlinePosition > 1:
|
if newlinePosition > 1:
|
||||||
self.ui.tableWidgetSent.item(i, 3).setText(
|
self.ui.tableWidgetInbox.item(i, 3).setText(
|
||||||
textToDisplay[:newlinePosition])
|
textToDisplay[:newlinePosition])
|
||||||
else:
|
else:
|
||||||
self.ui.tableWidgetSent.item(i, 3).setText(textToDisplay)
|
self.ui.tableWidgetInbox.item(i, 3).setText(textToDisplay)
|
||||||
|
|
||||||
def updateSentItemStatusByAckdata(self, ackdata, textToDisplay):
|
def updateSentItemStatusByAckdata(self, ackdata, textToDisplay):
|
||||||
for i in range(self.ui.tableWidgetSent.rowCount()):
|
for i in range(self.ui.tableWidgetInbox.rowCount()):
|
||||||
toAddress = str(self.ui.tableWidgetSent.item(
|
toAddress = str(self.ui.tableWidgetInbox.item(
|
||||||
i, 0).data(Qt.UserRole).toPyObject())
|
i, 0).data(Qt.UserRole).toPyObject())
|
||||||
tableAckdata = self.ui.tableWidgetSent.item(
|
tableAckdata = self.ui.tableWidgetInbox.item(
|
||||||
i, 3).data(Qt.UserRole).toPyObject()
|
i, 3).data(Qt.UserRole).toPyObject()
|
||||||
status, addressVersionNumber, streamNumber, ripe = decodeAddress(
|
status, addressVersionNumber, streamNumber, ripe = decodeAddress(
|
||||||
toAddress)
|
toAddress)
|
||||||
if ackdata == tableAckdata:
|
if ackdata == tableAckdata:
|
||||||
self.ui.tableWidgetSent.item(i, 3).setToolTip(textToDisplay)
|
self.ui.tableWidgetInbox.item(i, 3).setToolTip(textToDisplay)
|
||||||
try:
|
try:
|
||||||
newlinePosition = textToDisplay.indexOf('\n')
|
newlinePosition = textToDisplay.indexOf('\n')
|
||||||
except: # If someone misses adding a "_translate" to a string before passing it to this function, this function won't receive a qstring which will cause an exception.
|
except: # If someone misses adding a "_translate" to a string before passing it to this function, this function won't receive a qstring which will cause an exception.
|
||||||
newlinePosition = 0
|
newlinePosition = 0
|
||||||
if newlinePosition > 1:
|
if newlinePosition > 1:
|
||||||
self.ui.tableWidgetSent.item(i, 3).setText(
|
self.ui.tableWidgetInbox.item(i, 3).setText(
|
||||||
textToDisplay[:newlinePosition])
|
textToDisplay[:newlinePosition])
|
||||||
else:
|
else:
|
||||||
self.ui.tableWidgetSent.item(i, 3).setText(textToDisplay)
|
self.ui.tableWidgetInbox.item(i, 3).setText(textToDisplay)
|
||||||
|
|
||||||
def removeInboxRowByMsgid(self, msgid): # msgid and inventoryHash are the same thing
|
def removeInboxRowByMsgid(self, msgid): # msgid and inventoryHash are the same thing
|
||||||
for i in range(self.ui.tableWidgetInbox.rowCount()):
|
for i in range(self.ui.tableWidgetInbox.rowCount()):
|
||||||
|
@ -1809,22 +1941,22 @@ class MyForm(QtGui.QMainWindow):
|
||||||
i, 0).setTextColor(QApplication.palette().text().color())
|
i, 0).setTextColor(QApplication.palette().text().color())
|
||||||
|
|
||||||
def rerenderSentFromLabels(self):
|
def rerenderSentFromLabels(self):
|
||||||
for i in range(self.ui.tableWidgetSent.rowCount()):
|
for i in range(self.ui.tableWidgetInbox.rowCount()):
|
||||||
fromAddress = str(self.ui.tableWidgetSent.item(
|
fromAddress = str(self.ui.tableWidgetInbox.item(
|
||||||
i, 1).data(Qt.UserRole).toPyObject())
|
i, 1).data(Qt.UserRole).toPyObject())
|
||||||
# Message might be from an address we own like a chan address. Let's look for that label.
|
# Message might be from an address we own like a chan address. Let's look for that label.
|
||||||
if shared.config.has_section(fromAddress):
|
if shared.config.has_section(fromAddress):
|
||||||
fromLabel = shared.config.get(fromAddress, 'label')
|
fromLabel = shared.config.get(fromAddress, 'label')
|
||||||
else:
|
else:
|
||||||
fromLabel = fromAddress
|
fromLabel = fromAddress
|
||||||
self.ui.tableWidgetSent.item(
|
self.ui.tableWidgetInbox.item(
|
||||||
i, 1).setText(unicode(fromLabel, 'utf-8'))
|
i, 1).setText(unicode(fromLabel, 'utf-8'))
|
||||||
self.ui.tableWidgetSent.item(
|
self.ui.tableWidgetInbox.item(
|
||||||
i, 1).setIcon(avatarize(fromAddress))
|
i, 1).setIcon(avatarize(fromAddress))
|
||||||
|
|
||||||
def rerenderSentToLabels(self):
|
def rerenderSentToLabels(self):
|
||||||
for i in range(self.ui.tableWidgetSent.rowCount()):
|
for i in range(self.ui.tableWidgetInbox.rowCount()):
|
||||||
addressToLookup = str(self.ui.tableWidgetSent.item(
|
addressToLookup = str(self.ui.tableWidgetInbox.item(
|
||||||
i, 0).data(Qt.UserRole).toPyObject())
|
i, 0).data(Qt.UserRole).toPyObject())
|
||||||
toLabel = ''
|
toLabel = ''
|
||||||
queryreturn = sqlQuery(
|
queryreturn = sqlQuery(
|
||||||
|
@ -1839,7 +1971,7 @@ class MyForm(QtGui.QMainWindow):
|
||||||
toLabel = shared.config.get(addressToLookup, 'label')
|
toLabel = shared.config.get(addressToLookup, 'label')
|
||||||
if toLabel == '':
|
if toLabel == '':
|
||||||
toLabel = addressToLookup
|
toLabel = addressToLookup
|
||||||
self.ui.tableWidgetSent.item(
|
self.ui.tableWidgetInbox.item(
|
||||||
i, 0).setText(unicode(toLabel, 'utf-8'))
|
i, 0).setText(unicode(toLabel, 'utf-8'))
|
||||||
|
|
||||||
def rerenderAddressBook(self):
|
def rerenderAddressBook(self):
|
||||||
|
@ -1857,22 +1989,7 @@ class MyForm(QtGui.QMainWindow):
|
||||||
self.ui.tableWidgetAddressBook.setItem(0, 1, newItem)
|
self.ui.tableWidgetAddressBook.setItem(0, 1, newItem)
|
||||||
|
|
||||||
def rerenderSubscriptions(self):
|
def rerenderSubscriptions(self):
|
||||||
self.ui.tableWidgetSubscriptions.setRowCount(0)
|
self.rerenderTabTreeSubscriptions()
|
||||||
queryreturn = sqlQuery('SELECT label, address, enabled FROM subscriptions')
|
|
||||||
for row in queryreturn:
|
|
||||||
label, address, enabled = row
|
|
||||||
self.ui.tableWidgetSubscriptions.insertRow(0)
|
|
||||||
newItem = QtGui.QTableWidgetItem(unicode(label, 'utf-8'))
|
|
||||||
if not enabled:
|
|
||||||
newItem.setTextColor(QtGui.QColor(128, 128, 128))
|
|
||||||
newItem.setIcon(avatarize(address))
|
|
||||||
self.ui.tableWidgetSubscriptions.setItem(0, 0, newItem)
|
|
||||||
newItem = QtGui.QTableWidgetItem(address)
|
|
||||||
newItem.setFlags(
|
|
||||||
QtCore.Qt.ItemIsSelectable | QtCore.Qt.ItemIsEnabled)
|
|
||||||
if not enabled:
|
|
||||||
newItem.setTextColor(QtGui.QColor(128, 128, 128))
|
|
||||||
self.ui.tableWidgetSubscriptions.setItem(0, 1, newItem)
|
|
||||||
|
|
||||||
def rerenderBlackWhiteList(self):
|
def rerenderBlackWhiteList(self):
|
||||||
self.ui.tableWidgetBlacklist.setRowCount(0)
|
self.ui.tableWidgetBlacklist.setRowCount(0)
|
||||||
|
@ -1905,11 +2022,26 @@ more work your computer must do to send the message. A Time-To-Live of four or f
|
||||||
|
|
||||||
def click_pushButtonSend(self):
|
def click_pushButtonSend(self):
|
||||||
self.statusBar().showMessage('')
|
self.statusBar().showMessage('')
|
||||||
toAddresses = str(self.ui.lineEditTo.text())
|
|
||||||
fromAddress = str(self.ui.labelFrom.text())
|
if self.ui.tabWidgetSend.currentIndex() == 0:
|
||||||
subject = str(self.ui.lineEditSubject.text().toUtf8())
|
# message to specific people
|
||||||
message = str(
|
sendMessageToPeople = True
|
||||||
self.ui.textEditMessage.document().toPlainText().toUtf8())
|
fromAddress = self.ui.comboBoxSendFrom.itemData(
|
||||||
|
self.ui.comboBoxSendFrom.currentIndex(),
|
||||||
|
Qt.UserRole).toString()
|
||||||
|
toAddresses = str(self.ui.lineEditTo.text())
|
||||||
|
subject = str(self.ui.lineEditSubject.text().toUtf8())
|
||||||
|
message = str(
|
||||||
|
self.ui.textEditMessage.document().toPlainText().toUtf8())
|
||||||
|
else:
|
||||||
|
# broadcast message
|
||||||
|
sendMessageToPeople = False
|
||||||
|
fromAddress = self.ui.comboBoxSendFromBroadcast.itemData(
|
||||||
|
self.ui.comboBoxSendFromBroadcast.currentIndex(),
|
||||||
|
Qt.UserRole).toString()
|
||||||
|
subject = str(self.ui.lineEditSubjectBroadcast.text().toUtf8())
|
||||||
|
message = str(
|
||||||
|
self.ui.textEditMessageBroadcast.document().toPlainText().toUtf8())
|
||||||
"""
|
"""
|
||||||
The whole network message must fit in 2^18 bytes. Let's assume 500
|
The whole network message must fit in 2^18 bytes. Let's assume 500
|
||||||
bytes of overhead. If someone wants to get that too an exact
|
bytes of overhead. If someone wants to get that too an exact
|
||||||
|
@ -1921,7 +2053,8 @@ more work your computer must do to send the message. A Time-To-Live of four or f
|
||||||
QMessageBox.about(self, _translate("MainWindow", "Message too long"), _translate(
|
QMessageBox.about(self, _translate("MainWindow", "Message too long"), _translate(
|
||||||
"MainWindow", "The message that you are trying to send is too long by %1 bytes. (The maximum is 261644 bytes). Please cut it down before sending.").arg(len(message) - (2 ** 18 - 500)))
|
"MainWindow", "The message that you are trying to send is too long by %1 bytes. (The maximum is 261644 bytes). Please cut it down before sending.").arg(len(message) - (2 ** 18 - 500)))
|
||||||
return
|
return
|
||||||
if self.ui.radioButtonSpecific.isChecked(): # To send a message to specific people (rather than broadcast)
|
|
||||||
|
if sendMessageToPeople: # To send a message to specific people (rather than broadcast)
|
||||||
toAddressesList = [s.strip()
|
toAddressesList = [s.strip()
|
||||||
for s in toAddresses.replace(',', ';').split(';')]
|
for s in toAddresses.replace(',', ';').split(';')]
|
||||||
toAddressesList = list(set(
|
toAddressesList = list(set(
|
||||||
|
@ -2008,12 +2141,11 @@ more work your computer must do to send the message. A Time-To-Live of four or f
|
||||||
shared.workerQueue.put(('sendmessage', toAddress))
|
shared.workerQueue.put(('sendmessage', toAddress))
|
||||||
|
|
||||||
self.ui.comboBoxSendFrom.setCurrentIndex(0)
|
self.ui.comboBoxSendFrom.setCurrentIndex(0)
|
||||||
self.ui.labelFrom.setText('')
|
|
||||||
self.ui.lineEditTo.setText('')
|
self.ui.lineEditTo.setText('')
|
||||||
self.ui.lineEditSubject.setText('')
|
self.ui.lineEditSubject.setText('')
|
||||||
self.ui.textEditMessage.setText('')
|
self.ui.textEditMessage.setText('')
|
||||||
self.ui.tabWidget.setCurrentIndex(2)
|
self.ui.tabWidget.setCurrentIndex(2)
|
||||||
self.ui.tableWidgetSent.setCurrentCell(0, 0)
|
self.ui.tableWidgetInbox.setCurrentCell(0, 0)
|
||||||
else:
|
else:
|
||||||
self.statusBar().showMessage(_translate(
|
self.statusBar().showMessage(_translate(
|
||||||
"MainWindow", "Your \'To\' field is empty."))
|
"MainWindow", "Your \'To\' field is empty."))
|
||||||
|
@ -2055,13 +2187,11 @@ more work your computer must do to send the message. A Time-To-Live of four or f
|
||||||
|
|
||||||
shared.workerQueue.put(('sendbroadcast', ''))
|
shared.workerQueue.put(('sendbroadcast', ''))
|
||||||
|
|
||||||
self.ui.comboBoxSendFrom.setCurrentIndex(0)
|
self.ui.comboBoxSendFromBroadcast.setCurrentIndex(0)
|
||||||
self.ui.labelFrom.setText('')
|
self.ui.lineEditSubjectBroadcast.setText('')
|
||||||
self.ui.lineEditTo.setText('')
|
self.ui.textEditMessageBroadcast.setText('')
|
||||||
self.ui.lineEditSubject.setText('')
|
self.ui.tabWidget.setCurrentIndex(1)
|
||||||
self.ui.textEditMessage.setText('')
|
self.ui.tableWidgetInbox.setCurrentCell(0, 0)
|
||||||
self.ui.tabWidget.setCurrentIndex(2)
|
|
||||||
self.ui.tableWidgetSent.setCurrentCell(0, 0)
|
|
||||||
|
|
||||||
def click_pushButtonLoadFromAddressBook(self):
|
def click_pushButtonLoadFromAddressBook(self):
|
||||||
self.ui.tabWidget.setCurrentIndex(5)
|
self.ui.tabWidget.setCurrentIndex(5)
|
||||||
|
@ -2083,38 +2213,48 @@ more work your computer must do to send the message. A Time-To-Live of four or f
|
||||||
self.statusBar().showMessage(_translate(
|
self.statusBar().showMessage(_translate(
|
||||||
"MainWindow", "Fetched address from namecoin identity."))
|
"MainWindow", "Fetched address from namecoin identity."))
|
||||||
|
|
||||||
def redrawLabelFrom(self, index):
|
|
||||||
self.ui.labelFrom.setText(
|
|
||||||
self.ui.comboBoxSendFrom.itemData(index).toPyObject())
|
|
||||||
self.setBroadcastEnablementDependingOnWhetherThisIsAChanAddress(self.ui.comboBoxSendFrom.itemData(index).toPyObject())
|
|
||||||
|
|
||||||
def setBroadcastEnablementDependingOnWhetherThisIsAChanAddress(self, address):
|
def setBroadcastEnablementDependingOnWhetherThisIsAChanAddress(self, address):
|
||||||
# If this is a chan then don't let people broadcast because no one
|
# If this is a chan then don't let people broadcast because no one
|
||||||
# should subscribe to chan addresses.
|
# should subscribe to chan addresses.
|
||||||
if shared.safeConfigGetBoolean(str(address), 'chan'):
|
if shared.safeConfigGetBoolean(str(address), 'chan'):
|
||||||
self.ui.radioButtonSpecific.click()
|
self.ui.tabWidgetSend.setCurrentIndex(0)
|
||||||
self.ui.radioButtonBroadcast.setEnabled(False)
|
|
||||||
else:
|
else:
|
||||||
self.ui.radioButtonBroadcast.setEnabled(True)
|
self.ui.tabWidgetSend.setCurrentIndex(1)
|
||||||
|
|
||||||
def rerenderComboBoxSendFrom(self):
|
def rerenderComboBoxSendFrom(self):
|
||||||
self.ui.comboBoxSendFrom.clear()
|
self.ui.comboBoxSendFrom.clear()
|
||||||
self.ui.labelFrom.setText('')
|
|
||||||
configSections = shared.config.sections()
|
configSections = shared.config.sections()
|
||||||
for addressInKeysFile in configSections:
|
for addressInKeysFile in configSections:
|
||||||
if addressInKeysFile != 'bitmessagesettings':
|
if addressInKeysFile != 'bitmessagesettings':
|
||||||
isEnabled = shared.config.getboolean(
|
isEnabled = shared.config.getboolean(
|
||||||
addressInKeysFile, 'enabled') # I realize that this is poor programming practice but I don't care. It's easier for others to read.
|
addressInKeysFile, 'enabled') # I realize that this is poor programming practice but I don't care. It's easier for others to read.
|
||||||
if isEnabled:
|
isMaillinglist = shared.safeConfigGetBoolean(addressInKeysFile, 'mailinglist')
|
||||||
|
if isEnabled and not isMaillinglist:
|
||||||
self.ui.comboBoxSendFrom.insertItem(0, avatarize(addressInKeysFile), unicode(shared.config.get(
|
self.ui.comboBoxSendFrom.insertItem(0, avatarize(addressInKeysFile), unicode(shared.config.get(
|
||||||
addressInKeysFile, 'label'), 'utf-8'), addressInKeysFile)
|
addressInKeysFile, 'label'), 'utf-8'), addressInKeysFile)
|
||||||
self.ui.comboBoxSendFrom.insertItem(0, '', '')
|
self.ui.comboBoxSendFrom.insertItem(0, '', '')
|
||||||
if(self.ui.comboBoxSendFrom.count() == 2):
|
if(self.ui.comboBoxSendFrom.count() == 2):
|
||||||
self.ui.comboBoxSendFrom.setCurrentIndex(1)
|
self.ui.comboBoxSendFrom.setCurrentIndex(1)
|
||||||
self.redrawLabelFrom(self.ui.comboBoxSendFrom.currentIndex())
|
|
||||||
else:
|
else:
|
||||||
self.ui.comboBoxSendFrom.setCurrentIndex(0)
|
self.ui.comboBoxSendFrom.setCurrentIndex(0)
|
||||||
|
|
||||||
|
def rerenderComboBoxSendFromBroadcast(self):
|
||||||
|
self.ui.comboBoxSendFromBroadcast.clear()
|
||||||
|
configSections = shared.config.sections()
|
||||||
|
for addressInKeysFile in configSections:
|
||||||
|
if addressInKeysFile != 'bitmessagesettings':
|
||||||
|
isEnabled = shared.config.getboolean(
|
||||||
|
addressInKeysFile, 'enabled') # I realize that this is poor programming practice but I don't care. It's easier for others to read.
|
||||||
|
isMaillinglist = shared.safeConfigGetBoolean(addressInKeysFile, 'mailinglist')
|
||||||
|
if isEnabled and isMaillinglist:
|
||||||
|
self.ui.comboBoxSendFromBroadcast.insertItem(0, avatarize(addressInKeysFile), unicode(shared.config.get(
|
||||||
|
addressInKeysFile, 'label'), 'utf-8'), addressInKeysFile)
|
||||||
|
self.ui.comboBoxSendFromBroadcast.insertItem(0, '', '')
|
||||||
|
if(self.ui.comboBoxSendFromBroadcast.count() == 2):
|
||||||
|
self.ui.comboBoxSendFromBroadcast.setCurrentIndex(1)
|
||||||
|
else:
|
||||||
|
self.ui.comboBoxSendFromBroadcast.setCurrentIndex(0)
|
||||||
|
|
||||||
# This function is called by the processmsg function when that function
|
# This function is called by the processmsg function when that function
|
||||||
# receives a message to an address that is acting as a
|
# receives a message to an address that is acting as a
|
||||||
# pseudo-mailing-list. The message will be broadcast out. This function
|
# pseudo-mailing-list. The message will be broadcast out. This function
|
||||||
|
@ -2129,8 +2269,8 @@ more work your computer must do to send the message. A Time-To-Live of four or f
|
||||||
if fromLabel == '':
|
if fromLabel == '':
|
||||||
fromLabel = fromAddress
|
fromLabel = fromAddress
|
||||||
|
|
||||||
self.ui.tableWidgetSent.setSortingEnabled(False)
|
self.ui.tableWidgetInbox.setSortingEnabled(False)
|
||||||
self.ui.tableWidgetSent.insertRow(0)
|
self.ui.tableWidgetInbox.insertRow(0)
|
||||||
if toLabel == '':
|
if toLabel == '':
|
||||||
newItem = QtGui.QTableWidgetItem(unicode(toAddress, 'utf-8'))
|
newItem = QtGui.QTableWidgetItem(unicode(toAddress, 'utf-8'))
|
||||||
newItem.setToolTip(unicode(toAddress, 'utf-8'))
|
newItem.setToolTip(unicode(toAddress, 'utf-8'))
|
||||||
|
@ -2139,7 +2279,7 @@ more work your computer must do to send the message. A Time-To-Live of four or f
|
||||||
newItem.setToolTip(unicode(toLabel, 'utf-8'))
|
newItem.setToolTip(unicode(toLabel, 'utf-8'))
|
||||||
newItem.setData(Qt.UserRole, str(toAddress))
|
newItem.setData(Qt.UserRole, str(toAddress))
|
||||||
newItem.setIcon(avatarize(toAddress))
|
newItem.setIcon(avatarize(toAddress))
|
||||||
self.ui.tableWidgetSent.setItem(0, 0, newItem)
|
self.ui.tableWidgetInbox.setItem(0, 0, newItem)
|
||||||
if fromLabel == '':
|
if fromLabel == '':
|
||||||
newItem = QtGui.QTableWidgetItem(unicode(fromAddress, 'utf-8'))
|
newItem = QtGui.QTableWidgetItem(unicode(fromAddress, 'utf-8'))
|
||||||
newItem.setToolTip(unicode(fromAddress, 'utf-8'))
|
newItem.setToolTip(unicode(fromAddress, 'utf-8'))
|
||||||
|
@ -2148,11 +2288,11 @@ more work your computer must do to send the message. A Time-To-Live of four or f
|
||||||
newItem.setToolTip(unicode(fromLabel, 'utf-8'))
|
newItem.setToolTip(unicode(fromLabel, 'utf-8'))
|
||||||
newItem.setData(Qt.UserRole, str(fromAddress))
|
newItem.setData(Qt.UserRole, str(fromAddress))
|
||||||
newItem.setIcon(avatarize(fromAddress))
|
newItem.setIcon(avatarize(fromAddress))
|
||||||
self.ui.tableWidgetSent.setItem(0, 1, newItem)
|
self.ui.tableWidgetInbox.setItem(0, 1, newItem)
|
||||||
newItem = QtGui.QTableWidgetItem(unicode(subject, 'utf-8)'))
|
newItem = QtGui.QTableWidgetItem(unicode(subject, 'utf-8)'))
|
||||||
newItem.setToolTip(unicode(subject, 'utf-8)'))
|
newItem.setToolTip(unicode(subject, 'utf-8)'))
|
||||||
#newItem.setData(Qt.UserRole, unicode(message, 'utf-8)')) # No longer hold the message in the table; we'll use a SQL query to display it as needed.
|
#newItem.setData(Qt.UserRole, unicode(message, 'utf-8)')) # No longer hold the message in the table; we'll use a SQL query to display it as needed.
|
||||||
self.ui.tableWidgetSent.setItem(0, 2, newItem)
|
self.ui.tableWidgetInbox.setItem(0, 2, newItem)
|
||||||
# newItem = QtGui.QTableWidgetItem('Doing work necessary to send
|
# newItem = QtGui.QTableWidgetItem('Doing work necessary to send
|
||||||
# broadcast...'+
|
# broadcast...'+
|
||||||
# l10n.formatTimestamp())
|
# l10n.formatTimestamp())
|
||||||
|
@ -2160,9 +2300,9 @@ more work your computer must do to send the message. A Time-To-Live of four or f
|
||||||
newItem.setToolTip(_translate("MainWindow", "Work is queued. %1").arg(l10n.formatTimestamp()))
|
newItem.setToolTip(_translate("MainWindow", "Work is queued. %1").arg(l10n.formatTimestamp()))
|
||||||
newItem.setData(Qt.UserRole, QByteArray(ackdata))
|
newItem.setData(Qt.UserRole, QByteArray(ackdata))
|
||||||
newItem.setData(33, int(time.time()))
|
newItem.setData(33, int(time.time()))
|
||||||
self.ui.tableWidgetSent.setItem(0, 3, newItem)
|
self.ui.tableWidgetInbox.setItem(0, 3, newItem)
|
||||||
self.ui.textEditSentMessage.setPlainText(unicode(message, 'utf-8)'))
|
self.ui.textEditSentMessage.setPlainText(unicode(message, 'utf-8)'))
|
||||||
self.ui.tableWidgetSent.setSortingEnabled(True)
|
self.ui.tableWidgetInbox.setSortingEnabled(True)
|
||||||
|
|
||||||
def displayNewInboxMessage(self, inventoryHash, toAddress, fromAddress, subject, message):
|
def displayNewInboxMessage(self, inventoryHash, toAddress, fromAddress, subject, message):
|
||||||
subject = shared.fixPotentiallyInvalidUTF8Data(subject)
|
subject = shared.fixPotentiallyInvalidUTF8Data(subject)
|
||||||
|
@ -2273,20 +2413,12 @@ more work your computer must do to send the message. A Time-To-Live of four or f
|
||||||
#This should be handled outside of this function, for error displaying and such, but it must also be checked here.
|
#This should be handled outside of this function, for error displaying and such, but it must also be checked here.
|
||||||
if shared.isAddressInMySubscriptionsList(address):
|
if shared.isAddressInMySubscriptionsList(address):
|
||||||
return
|
return
|
||||||
#Add to UI list
|
|
||||||
self.ui.tableWidgetSubscriptions.setSortingEnabled(False)
|
|
||||||
self.ui.tableWidgetSubscriptions.insertRow(0)
|
|
||||||
newItem = QtGui.QTableWidgetItem(unicode(label, 'utf-8'))
|
|
||||||
newItem.setIcon(avatarize(address))
|
|
||||||
self.ui.tableWidgetSubscriptions.setItem(0,0,newItem)
|
|
||||||
newItem = QtGui.QTableWidgetItem(address)
|
|
||||||
newItem.setFlags( QtCore.Qt.ItemIsSelectable | QtCore.Qt.ItemIsEnabled )
|
|
||||||
self.ui.tableWidgetSubscriptions.setItem(0,1,newItem)
|
|
||||||
self.ui.tableWidgetSubscriptions.setSortingEnabled(True)
|
|
||||||
#Add to database (perhaps this should be separated from the MyForm class)
|
#Add to database (perhaps this should be separated from the MyForm class)
|
||||||
sqlExecute('''INSERT INTO subscriptions VALUES (?,?,?)''',str(label),address,True)
|
sqlExecute('''INSERT INTO subscriptions VALUES (?,?,?)''',str(label),address,True)
|
||||||
self.rerenderInboxFromLabels()
|
self.rerenderInboxFromLabels()
|
||||||
shared.reloadBroadcastSendersForWhichImWatching()
|
shared.reloadBroadcastSendersForWhichImWatching()
|
||||||
|
|
||||||
|
self.rerenderTabTreeSubscriptions()
|
||||||
|
|
||||||
def click_pushButtonAddSubscription(self):
|
def click_pushButtonAddSubscription(self):
|
||||||
self.NewSubscriptionDialogInstance = NewSubscriptionDialog(self)
|
self.NewSubscriptionDialogInstance = NewSubscriptionDialog(self)
|
||||||
|
@ -2297,7 +2429,7 @@ more work your computer must do to send the message. A Time-To-Live of four or f
|
||||||
address = addBMIfNotPresent(str(self.NewSubscriptionDialogInstance.ui.lineEditSubscriptionAddress.text()))
|
address = addBMIfNotPresent(str(self.NewSubscriptionDialogInstance.ui.lineEditSubscriptionAddress.text()))
|
||||||
# We must check to see if the address is already in the subscriptions list. The user cannot add it again or else it will cause problems when updating and deleting the entry.
|
# We must check to see if the address is already in the subscriptions list. The user cannot add it again or else it will cause problems when updating and deleting the entry.
|
||||||
if shared.isAddressInMySubscriptionsList(address):
|
if shared.isAddressInMySubscriptionsList(address):
|
||||||
self.statusBar().showMessage(_translate("MainWindow", "Error: You cannot add the same address to your subsciptions twice. Perhaps rename the existing one if you want."))
|
self.statusBar().showMessage(_translate("MainWindow", "Error: You cannot add the same address to your subscriptions twice. Perhaps rename the existing one if you want."))
|
||||||
return
|
return
|
||||||
label = self.NewSubscriptionDialogInstance.ui.newsubscriptionlabel.text().toUtf8()
|
label = self.NewSubscriptionDialogInstance.ui.newsubscriptionlabel.text().toUtf8()
|
||||||
self.addSubscription(address, label)
|
self.addSubscription(address, label)
|
||||||
|
@ -2597,9 +2729,7 @@ more work your computer must do to send the message. A Time-To-Live of four or f
|
||||||
self.dialog = SpecialAddressBehaviorDialog(self)
|
self.dialog = SpecialAddressBehaviorDialog(self)
|
||||||
# For Modal dialogs
|
# For Modal dialogs
|
||||||
if self.dialog.exec_():
|
if self.dialog.exec_():
|
||||||
currentRow = self.ui.tableWidgetYourIdentities.currentRow()
|
addressAtCurrentRow = self.getCurrentAccount()
|
||||||
addressAtCurrentRow = str(
|
|
||||||
self.ui.tableWidgetYourIdentities.item(currentRow, 1).text())
|
|
||||||
if shared.safeConfigGetBoolean(addressAtCurrentRow, 'chan'):
|
if shared.safeConfigGetBoolean(addressAtCurrentRow, 'chan'):
|
||||||
return
|
return
|
||||||
if self.dialog.ui.radioButtonBehaveNormalAddress.isChecked():
|
if self.dialog.ui.radioButtonBehaveNormalAddress.isChecked():
|
||||||
|
@ -2607,18 +2737,16 @@ more work your computer must do to send the message. A Time-To-Live of four or f
|
||||||
addressAtCurrentRow), 'mailinglist', 'false')
|
addressAtCurrentRow), 'mailinglist', 'false')
|
||||||
# Set the color to either black or grey
|
# Set the color to either black or grey
|
||||||
if shared.config.getboolean(addressAtCurrentRow, 'enabled'):
|
if shared.config.getboolean(addressAtCurrentRow, 'enabled'):
|
||||||
self.ui.tableWidgetYourIdentities.item(
|
self.setCurrentItemColor(QApplication.palette()
|
||||||
currentRow, 1).setTextColor(QApplication.palette()
|
|
||||||
.text().color())
|
.text().color())
|
||||||
else:
|
else:
|
||||||
self.ui.tableWidgetYourIdentities.item(
|
self.setCurrentItemColor(QtGui.QColor(128, 128, 128))
|
||||||
currentRow, 1).setTextColor(QtGui.QColor(128, 128, 128))
|
|
||||||
else:
|
else:
|
||||||
shared.config.set(str(
|
shared.config.set(str(
|
||||||
addressAtCurrentRow), 'mailinglist', 'true')
|
addressAtCurrentRow), 'mailinglist', 'true')
|
||||||
shared.config.set(str(addressAtCurrentRow), 'mailinglistname', str(
|
shared.config.set(str(addressAtCurrentRow), 'mailinglistname', str(
|
||||||
self.dialog.ui.lineEditMailingListName.text().toUtf8()))
|
self.dialog.ui.lineEditMailingListName.text().toUtf8()))
|
||||||
self.ui.tableWidgetYourIdentities.item(currentRow, 1).setTextColor(QtGui.QColor(137, 04, 177)) # magenta
|
self.setCurrentItemColor(QtGui.QColor(137, 04, 177)) #magenta
|
||||||
shared.writeKeysFile()
|
shared.writeKeysFile()
|
||||||
self.rerenderInboxToLabels()
|
self.rerenderInboxToLabels()
|
||||||
|
|
||||||
|
@ -2689,10 +2817,10 @@ more work your computer must do to send the message. A Time-To-Live of four or f
|
||||||
self.quit()
|
self.quit()
|
||||||
|
|
||||||
def on_action_InboxMessageForceHtml(self):
|
def on_action_InboxMessageForceHtml(self):
|
||||||
currentInboxRow = self.ui.tableWidgetInbox.currentRow()
|
msgid = self.getCurrentMessageId()
|
||||||
|
textEdit = self.getCurrentMessageTextedit()
|
||||||
msgid = str(self.ui.tableWidgetInbox.item(
|
if not msgid:
|
||||||
currentInboxRow, 3).data(Qt.UserRole).toPyObject())
|
return
|
||||||
queryreturn = sqlQuery(
|
queryreturn = sqlQuery(
|
||||||
'''select message from inbox where msgid=?''', msgid)
|
'''select message from inbox where msgid=?''', msgid)
|
||||||
if queryreturn != []:
|
if queryreturn != []:
|
||||||
|
@ -2713,29 +2841,32 @@ more work your computer must do to send the message. A Time-To-Live of four or f
|
||||||
content = ' '.join(lines) # To keep the whitespace between lines
|
content = ' '.join(lines) # To keep the whitespace between lines
|
||||||
content = shared.fixPotentiallyInvalidUTF8Data(content)
|
content = shared.fixPotentiallyInvalidUTF8Data(content)
|
||||||
content = unicode(content, 'utf-8)')
|
content = unicode(content, 'utf-8)')
|
||||||
self.ui.textEditInboxMessage.setHtml(QtCore.QString(content))
|
textEdit.setHtml(QtCore.QString(content))
|
||||||
|
|
||||||
def on_action_InboxMarkUnread(self):
|
def on_action_InboxMarkUnread(self):
|
||||||
|
tableWidget = self.getCurrentMessagelist()
|
||||||
|
if not tableWidget:
|
||||||
|
return
|
||||||
font = QFont()
|
font = QFont()
|
||||||
font.setBold(True)
|
font.setBold(True)
|
||||||
inventoryHashesToMarkUnread = []
|
inventoryHashesToMarkUnread = []
|
||||||
for row in self.ui.tableWidgetInbox.selectedIndexes():
|
for row in tableWidget.selectedIndexes():
|
||||||
currentRow = row.row()
|
currentRow = row.row()
|
||||||
inventoryHashToMarkUnread = str(self.ui.tableWidgetInbox.item(
|
inventoryHashToMarkUnread = str(tableWidget.item(
|
||||||
currentRow, 3).data(Qt.UserRole).toPyObject())
|
currentRow, 3).data(Qt.UserRole).toPyObject())
|
||||||
inventoryHashesToMarkUnread.append(inventoryHashToMarkUnread)
|
inventoryHashesToMarkUnread.append(inventoryHashToMarkUnread)
|
||||||
self.ui.tableWidgetInbox.item(currentRow, 0).setFont(font)
|
tableWidget.item(currentRow, 0).setFont(font)
|
||||||
self.ui.tableWidgetInbox.item(currentRow, 1).setFont(font)
|
tableWidget.item(currentRow, 1).setFont(font)
|
||||||
self.ui.tableWidgetInbox.item(currentRow, 2).setFont(font)
|
tableWidget.item(currentRow, 2).setFont(font)
|
||||||
self.ui.tableWidgetInbox.item(currentRow, 3).setFont(font)
|
tableWidget.item(currentRow, 3).setFont(font)
|
||||||
#sqlite requires the exact number of ?s to prevent injection
|
#sqlite requires the exact number of ?s to prevent injection
|
||||||
sqlExecute('''UPDATE inbox SET read=0 WHERE msgid IN (%s)''' % (
|
sqlExecute('''UPDATE inbox SET read=0 WHERE msgid IN (%s)''' % (
|
||||||
"?," * len(inventoryHashesToMarkUnread))[:-1], *inventoryHashesToMarkUnread)
|
"?," * len(inventoryHashesToMarkUnread))[:-1], *inventoryHashesToMarkUnread)
|
||||||
self.changedInboxUnread()
|
self.changedInboxUnread()
|
||||||
# self.ui.tableWidgetInbox.selectRow(currentRow + 1)
|
# tableWidget.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.
|
# 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.
|
# We could also select upwards, but then our problem would be with the topmost message.
|
||||||
# self.ui.tableWidgetInbox.clearSelection() manages to mark the message as read again.
|
# tableWidget.clearSelection() manages to mark the message as read again.
|
||||||
|
|
||||||
# Format predefined text on message reply.
|
# Format predefined text on message reply.
|
||||||
def quoted_text(self, message):
|
def quoted_text(self, message):
|
||||||
|
@ -2760,12 +2891,15 @@ more work your computer must do to send the message. A Time-To-Live of four or f
|
||||||
return '\n'.join([quote_line(l) for l in message.splitlines()]) + '\n\n'
|
return '\n'.join([quote_line(l) for l in message.splitlines()]) + '\n\n'
|
||||||
|
|
||||||
def on_action_InboxReply(self):
|
def on_action_InboxReply(self):
|
||||||
currentInboxRow = self.ui.tableWidgetInbox.currentRow()
|
tableWidget = self.getCurrentMessagelist()
|
||||||
toAddressAtCurrentInboxRow = str(self.ui.tableWidgetInbox.item(
|
if not tableWidget:
|
||||||
|
return
|
||||||
|
currentInboxRow = tableWidget.currentRow()
|
||||||
|
toAddressAtCurrentInboxRow = str(tableWidget.item(
|
||||||
currentInboxRow, 0).data(Qt.UserRole).toPyObject())
|
currentInboxRow, 0).data(Qt.UserRole).toPyObject())
|
||||||
fromAddressAtCurrentInboxRow = str(self.ui.tableWidgetInbox.item(
|
fromAddressAtCurrentInboxRow = str(tableWidget.item(
|
||||||
currentInboxRow, 1).data(Qt.UserRole).toPyObject())
|
currentInboxRow, 1).data(Qt.UserRole).toPyObject())
|
||||||
msgid = str(self.ui.tableWidgetInbox.item(
|
msgid = str(tableWidget.item(
|
||||||
currentInboxRow, 3).data(Qt.UserRole).toPyObject())
|
currentInboxRow, 3).data(Qt.UserRole).toPyObject())
|
||||||
queryreturn = sqlQuery(
|
queryreturn = sqlQuery(
|
||||||
'''select message from inbox where msgid=?''', msgid)
|
'''select message from inbox where msgid=?''', msgid)
|
||||||
|
@ -2773,17 +2907,15 @@ more work your computer must do to send the message. A Time-To-Live of four or f
|
||||||
for row in queryreturn:
|
for row in queryreturn:
|
||||||
messageAtCurrentInboxRow, = row
|
messageAtCurrentInboxRow, = row
|
||||||
if toAddressAtCurrentInboxRow == self.str_broadcast_subscribers:
|
if toAddressAtCurrentInboxRow == self.str_broadcast_subscribers:
|
||||||
self.ui.labelFrom.setText('')
|
#TODO what does this if?..
|
||||||
|
a = a
|
||||||
elif not shared.config.has_section(toAddressAtCurrentInboxRow):
|
elif not shared.config.has_section(toAddressAtCurrentInboxRow):
|
||||||
QtGui.QMessageBox.information(self, _translate("MainWindow", "Address is gone"), _translate(
|
QtGui.QMessageBox.information(self, _translate("MainWindow", "Address is gone"), _translate(
|
||||||
"MainWindow", "Bitmessage cannot find your address %1. Perhaps you removed it?").arg(toAddressAtCurrentInboxRow), QMessageBox.Ok)
|
"MainWindow", "Bitmessage cannot find your address %1. Perhaps you removed it?").arg(toAddressAtCurrentInboxRow), QMessageBox.Ok)
|
||||||
self.ui.labelFrom.setText('')
|
|
||||||
elif not shared.config.getboolean(toAddressAtCurrentInboxRow, 'enabled'):
|
elif not shared.config.getboolean(toAddressAtCurrentInboxRow, 'enabled'):
|
||||||
QtGui.QMessageBox.information(self, _translate("MainWindow", "Address disabled"), _translate(
|
QtGui.QMessageBox.information(self, _translate("MainWindow", "Address disabled"), _translate(
|
||||||
"MainWindow", "Error: The address from which you are trying to send is disabled. You\'ll have to enable it on the \'Your Identities\' tab before using it."), QMessageBox.Ok)
|
"MainWindow", "Error: The address from which you are trying to send is disabled. You\'ll have to enable it on the \'Your Identities\' tab before using it."), QMessageBox.Ok)
|
||||||
self.ui.labelFrom.setText('')
|
|
||||||
else:
|
else:
|
||||||
self.ui.labelFrom.setText(toAddressAtCurrentInboxRow)
|
|
||||||
self.setBroadcastEnablementDependingOnWhetherThisIsAChanAddress(toAddressAtCurrentInboxRow)
|
self.setBroadcastEnablementDependingOnWhetherThisIsAChanAddress(toAddressAtCurrentInboxRow)
|
||||||
|
|
||||||
self.ui.lineEditTo.setText(str(fromAddressAtCurrentInboxRow))
|
self.ui.lineEditTo.setText(str(fromAddressAtCurrentInboxRow))
|
||||||
|
@ -2803,19 +2935,22 @@ more work your computer must do to send the message. A Time-To-Live of four or f
|
||||||
|
|
||||||
quotedText = self.quoted_text(unicode(messageAtCurrentInboxRow, 'utf-8'))
|
quotedText = self.quoted_text(unicode(messageAtCurrentInboxRow, 'utf-8'))
|
||||||
self.ui.textEditMessage.setText(quotedText)
|
self.ui.textEditMessage.setText(quotedText)
|
||||||
if self.ui.tableWidgetInbox.item(currentInboxRow, 2).text()[0:3] in ['Re:', 'RE:']:
|
if tableWidget.item(currentInboxRow, 2).text()[0:3] in ['Re:', 'RE:']:
|
||||||
self.ui.lineEditSubject.setText(
|
self.ui.lineEditSubject.setText(
|
||||||
self.ui.tableWidgetInbox.item(currentInboxRow, 2).text())
|
tableWidget.item(currentInboxRow, 2).text())
|
||||||
else:
|
else:
|
||||||
self.ui.lineEditSubject.setText(
|
self.ui.lineEditSubject.setText(
|
||||||
'Re: ' + self.ui.tableWidgetInbox.item(currentInboxRow, 2).text())
|
'Re: ' + tableWidget.item(currentInboxRow, 2).text())
|
||||||
self.ui.radioButtonSpecific.setChecked(True)
|
self.ui.tabWidgetSend.setCurrentIndex(0)
|
||||||
self.ui.tabWidget.setCurrentIndex(1)
|
self.ui.tabWidget.setCurrentIndex(1)
|
||||||
|
|
||||||
def on_action_InboxAddSenderToAddressBook(self):
|
def on_action_InboxAddSenderToAddressBook(self):
|
||||||
currentInboxRow = self.ui.tableWidgetInbox.currentRow()
|
tableWidget = self.getCurrentMessagelist()
|
||||||
# self.ui.tableWidgetInbox.item(currentRow,1).data(Qt.UserRole).toPyObject()
|
if not tableWidget:
|
||||||
addressAtCurrentInboxRow = str(self.ui.tableWidgetInbox.item(
|
return
|
||||||
|
currentInboxRow = tableWidget.currentRow()
|
||||||
|
# tableWidget.item(currentRow,1).data(Qt.UserRole).toPyObject()
|
||||||
|
addressAtCurrentInboxRow = str(tableWidget.item(
|
||||||
currentInboxRow, 1).data(Qt.UserRole).toPyObject())
|
currentInboxRow, 1).data(Qt.UserRole).toPyObject())
|
||||||
# Let's make sure that it isn't already in the address book
|
# Let's make sure that it isn't already in the address book
|
||||||
queryreturn = sqlQuery('''select * from addressbook where address=?''',
|
queryreturn = sqlQuery('''select * from addressbook where address=?''',
|
||||||
|
@ -2833,7 +2968,7 @@ more work your computer must do to send the message. A Time-To-Live of four or f
|
||||||
sqlExecute('''INSERT INTO addressbook VALUES (?,?)''',
|
sqlExecute('''INSERT INTO addressbook VALUES (?,?)''',
|
||||||
'--New entry. Change label in Address Book.--',
|
'--New entry. Change label in Address Book.--',
|
||||||
addressAtCurrentInboxRow)
|
addressAtCurrentInboxRow)
|
||||||
self.ui.tabWidget.setCurrentIndex(5)
|
self.ui.tabWidget.setCurrentIndex(1)
|
||||||
self.ui.tableWidgetAddressBook.setCurrentCell(0, 0)
|
self.ui.tableWidgetAddressBook.setCurrentCell(0, 0)
|
||||||
self.statusBar().showMessage(_translate(
|
self.statusBar().showMessage(_translate(
|
||||||
"MainWindow", "Entry added to the Address Book. Edit the label to your liking."))
|
"MainWindow", "Entry added to the Address Book. Edit the label to your liking."))
|
||||||
|
@ -2843,29 +2978,35 @@ more work your computer must do to send the message. A Time-To-Live of four or f
|
||||||
|
|
||||||
# Send item on the Inbox tab to trash
|
# Send item on the Inbox tab to trash
|
||||||
def on_action_InboxTrash(self):
|
def on_action_InboxTrash(self):
|
||||||
while self.ui.tableWidgetInbox.selectedIndexes() != []:
|
tableWidget = self.getCurrentMessagelist()
|
||||||
currentRow = self.ui.tableWidgetInbox.selectedIndexes()[0].row()
|
if not tableWidget:
|
||||||
inventoryHashToTrash = str(self.ui.tableWidgetInbox.item(
|
return
|
||||||
|
while tableWidget.selectedIndexes() != []:
|
||||||
|
currentRow = tableWidget.selectedIndexes()[0].row()
|
||||||
|
inventoryHashToTrash = str(tableWidget.item(
|
||||||
currentRow, 3).data(Qt.UserRole).toPyObject())
|
currentRow, 3).data(Qt.UserRole).toPyObject())
|
||||||
sqlExecute('''UPDATE inbox SET folder='trash' WHERE msgid=?''', inventoryHashToTrash)
|
sqlExecute('''UPDATE inbox SET folder='trash' WHERE msgid=?''', inventoryHashToTrash)
|
||||||
self.ui.textEditInboxMessage.setText("")
|
self.ui.textEditInboxMessage.setText("")
|
||||||
self.ui.tableWidgetInbox.removeRow(currentRow)
|
tableWidget.removeRow(currentRow)
|
||||||
self.statusBar().showMessage(_translate(
|
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."))
|
"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."))
|
||||||
if currentRow == 0:
|
if currentRow == 0:
|
||||||
self.ui.tableWidgetInbox.selectRow(currentRow)
|
tableWidget.selectRow(currentRow)
|
||||||
else:
|
else:
|
||||||
self.ui.tableWidgetInbox.selectRow(currentRow - 1)
|
tableWidget.selectRow(currentRow - 1)
|
||||||
|
|
||||||
def on_action_InboxSaveMessageAs(self):
|
def on_action_InboxSaveMessageAs(self):
|
||||||
currentInboxRow = self.ui.tableWidgetInbox.currentRow()
|
tableWidget = self.getCurrentMessagelist()
|
||||||
|
if not tableWidget:
|
||||||
|
return
|
||||||
|
currentInboxRow = tableWidget.currentRow()
|
||||||
try:
|
try:
|
||||||
subjectAtCurrentInboxRow = str(self.ui.tableWidgetInbox.item(currentInboxRow,2).text())
|
subjectAtCurrentInboxRow = str(tableWidget.item(currentInboxRow,2).text())
|
||||||
except:
|
except:
|
||||||
subjectAtCurrentInboxRow = ''
|
subjectAtCurrentInboxRow = ''
|
||||||
|
|
||||||
# Retrieve the message data out of the SQL database
|
# Retrieve the message data out of the SQL database
|
||||||
msgid = str(self.ui.tableWidgetInbox.item(
|
msgid = str(tableWidget.item(
|
||||||
currentInboxRow, 3).data(Qt.UserRole).toPyObject())
|
currentInboxRow, 3).data(Qt.UserRole).toPyObject())
|
||||||
queryreturn = sqlQuery(
|
queryreturn = sqlQuery(
|
||||||
'''select message from inbox where msgid=?''', msgid)
|
'''select message from inbox where msgid=?''', msgid)
|
||||||
|
@ -2887,23 +3028,23 @@ more work your computer must do to send the message. A Time-To-Live of four or f
|
||||||
|
|
||||||
# Send item on the Sent tab to trash
|
# Send item on the Sent tab to trash
|
||||||
def on_action_SentTrash(self):
|
def on_action_SentTrash(self):
|
||||||
while self.ui.tableWidgetSent.selectedIndexes() != []:
|
while self.ui.tableWidgetInbox.selectedIndexes() != []:
|
||||||
currentRow = self.ui.tableWidgetSent.selectedIndexes()[0].row()
|
currentRow = self.ui.tableWidgetInbox.selectedIndexes()[0].row()
|
||||||
ackdataToTrash = str(self.ui.tableWidgetSent.item(
|
ackdataToTrash = str(self.ui.tableWidgetInbox.item(
|
||||||
currentRow, 3).data(Qt.UserRole).toPyObject())
|
currentRow, 3).data(Qt.UserRole).toPyObject())
|
||||||
sqlExecute('''UPDATE sent SET folder='trash' WHERE ackdata=?''', ackdataToTrash)
|
sqlExecute('''UPDATE sent SET folder='trash' WHERE ackdata=?''', ackdataToTrash)
|
||||||
self.ui.textEditSentMessage.setPlainText("")
|
self.ui.textEditSentMessage.setPlainText("")
|
||||||
self.ui.tableWidgetSent.removeRow(currentRow)
|
self.ui.tableWidgetInbox.removeRow(currentRow)
|
||||||
self.statusBar().showMessage(_translate(
|
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."))
|
"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."))
|
||||||
if currentRow == 0:
|
if currentRow == 0:
|
||||||
self.ui.tableWidgetSent.selectRow(currentRow)
|
self.ui.tableWidgetInbox.selectRow(currentRow)
|
||||||
else:
|
else:
|
||||||
self.ui.tableWidgetSent.selectRow(currentRow - 1)
|
self.ui.tableWidgetInbox.selectRow(currentRow - 1)
|
||||||
|
|
||||||
def on_action_ForceSend(self):
|
def on_action_ForceSend(self):
|
||||||
currentRow = self.ui.tableWidgetSent.currentRow()
|
currentRow = self.ui.tableWidgetInbox.currentRow()
|
||||||
addressAtCurrentRow = str(self.ui.tableWidgetSent.item(
|
addressAtCurrentRow = str(self.ui.tableWidgetInbox.item(
|
||||||
currentRow, 0).data(Qt.UserRole).toPyObject())
|
currentRow, 0).data(Qt.UserRole).toPyObject())
|
||||||
toRipe = decodeAddress(addressAtCurrentRow)[3]
|
toRipe = decodeAddress(addressAtCurrentRow)[3]
|
||||||
sqlExecute(
|
sqlExecute(
|
||||||
|
@ -2917,8 +3058,8 @@ more work your computer must do to send the message. A Time-To-Live of four or f
|
||||||
shared.workerQueue.put(('sendmessage', ''))
|
shared.workerQueue.put(('sendmessage', ''))
|
||||||
|
|
||||||
def on_action_SentClipboard(self):
|
def on_action_SentClipboard(self):
|
||||||
currentRow = self.ui.tableWidgetSent.currentRow()
|
currentRow = self.ui.tableWidgetInbox.currentRow()
|
||||||
addressAtCurrentRow = str(self.ui.tableWidgetSent.item(
|
addressAtCurrentRow = str(self.ui.tableWidgetInbox.item(
|
||||||
currentRow, 0).data(Qt.UserRole).toPyObject())
|
currentRow, 0).data(Qt.UserRole).toPyObject())
|
||||||
clipboard = QtGui.QApplication.clipboard()
|
clipboard = QtGui.QApplication.clipboard()
|
||||||
clipboard.setText(str(addressAtCurrentRow))
|
clipboard.setText(str(addressAtCurrentRow))
|
||||||
|
@ -2985,7 +3126,7 @@ more work your computer must do to send the message. A Time-To-Live of four or f
|
||||||
addressAtCurrentRow = str(self.ui.tableWidgetAddressBook.item(currentRow,1).text())
|
addressAtCurrentRow = str(self.ui.tableWidgetAddressBook.item(currentRow,1).text())
|
||||||
# Then subscribe to it... provided it's not already in the address book
|
# Then subscribe to it... provided it's not already in the address book
|
||||||
if shared.isAddressInMySubscriptionsList(addressAtCurrentRow):
|
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."))
|
self.statusBar().showMessage(QtGui.QApplication.translate("MainWindow", "Error: You cannot add the same address to your subscriptions twice. Perhaps rename the existing one if you want."))
|
||||||
continue
|
continue
|
||||||
labelAtCurrentRow = self.ui.tableWidgetAddressBook.item(currentRow,0).text().toUtf8()
|
labelAtCurrentRow = self.ui.tableWidgetAddressBook.item(currentRow,0).text().toUtf8()
|
||||||
self.addSubscription(addressAtCurrentRow, labelAtCurrentRow)
|
self.addSubscription(addressAtCurrentRow, labelAtCurrentRow)
|
||||||
|
@ -3000,58 +3141,37 @@ more work your computer must do to send the message. A Time-To-Live of four or f
|
||||||
self.click_pushButtonAddSubscription()
|
self.click_pushButtonAddSubscription()
|
||||||
|
|
||||||
def on_action_SubscriptionsDelete(self):
|
def on_action_SubscriptionsDelete(self):
|
||||||
print 'clicked Delete'
|
address = self.getCurrentAccount()
|
||||||
currentRow = self.ui.tableWidgetSubscriptions.currentRow()
|
sqlExecute('''DELETE FROM subscriptions WHERE address=?''',
|
||||||
labelAtCurrentRow = self.ui.tableWidgetSubscriptions.item(
|
address)
|
||||||
currentRow, 0).text().toUtf8()
|
self.rerenderTabTreeSubscriptions()
|
||||||
addressAtCurrentRow = self.ui.tableWidgetSubscriptions.item(
|
|
||||||
currentRow, 1).text()
|
|
||||||
sqlExecute('''DELETE FROM subscriptions WHERE label=? AND address=?''',
|
|
||||||
str(labelAtCurrentRow), str(addressAtCurrentRow))
|
|
||||||
self.ui.tableWidgetSubscriptions.removeRow(currentRow)
|
|
||||||
self.rerenderInboxFromLabels()
|
self.rerenderInboxFromLabels()
|
||||||
shared.reloadBroadcastSendersForWhichImWatching()
|
shared.reloadBroadcastSendersForWhichImWatching()
|
||||||
|
|
||||||
def on_action_SubscriptionsClipboard(self):
|
def on_action_SubscriptionsClipboard(self):
|
||||||
currentRow = self.ui.tableWidgetSubscriptions.currentRow()
|
address = self.getCurrentAccount()
|
||||||
addressAtCurrentRow = self.ui.tableWidgetSubscriptions.item(
|
|
||||||
currentRow, 1).text()
|
|
||||||
clipboard = QtGui.QApplication.clipboard()
|
clipboard = QtGui.QApplication.clipboard()
|
||||||
clipboard.setText(str(addressAtCurrentRow))
|
clipboard.setText(str(address))
|
||||||
|
|
||||||
def on_action_SubscriptionsEnable(self):
|
def on_action_SubscriptionsEnable(self):
|
||||||
currentRow = self.ui.tableWidgetSubscriptions.currentRow()
|
address = self.getCurrentAccount()
|
||||||
labelAtCurrentRow = self.ui.tableWidgetSubscriptions.item(
|
|
||||||
currentRow, 0).text().toUtf8()
|
|
||||||
addressAtCurrentRow = self.ui.tableWidgetSubscriptions.item(
|
|
||||||
currentRow, 1).text()
|
|
||||||
sqlExecute(
|
sqlExecute(
|
||||||
'''update subscriptions set enabled=1 WHERE label=? AND address=?''',
|
'''update subscriptions set enabled=1 WHERE address=?''',
|
||||||
str(labelAtCurrentRow), str(addressAtCurrentRow))
|
address)
|
||||||
self.ui.tableWidgetSubscriptions.item(
|
self.setCurrentItemColor(QApplication.palette().text().color())
|
||||||
currentRow, 0).setTextColor(QApplication.palette().text().color())
|
|
||||||
self.ui.tableWidgetSubscriptions.item(
|
|
||||||
currentRow, 1).setTextColor(QApplication.palette().text().color())
|
|
||||||
shared.reloadBroadcastSendersForWhichImWatching()
|
shared.reloadBroadcastSendersForWhichImWatching()
|
||||||
|
|
||||||
def on_action_SubscriptionsDisable(self):
|
def on_action_SubscriptionsDisable(self):
|
||||||
currentRow = self.ui.tableWidgetSubscriptions.currentRow()
|
address = self.getCurrentAccount()
|
||||||
labelAtCurrentRow = self.ui.tableWidgetSubscriptions.item(
|
|
||||||
currentRow, 0).text().toUtf8()
|
|
||||||
addressAtCurrentRow = self.ui.tableWidgetSubscriptions.item(
|
|
||||||
currentRow, 1).text()
|
|
||||||
sqlExecute(
|
sqlExecute(
|
||||||
'''update subscriptions set enabled=0 WHERE label=? AND address=?''',
|
'''update subscriptions set enabled=0 WHERE address=?''',
|
||||||
str(labelAtCurrentRow), str(addressAtCurrentRow))
|
address)
|
||||||
self.ui.tableWidgetSubscriptions.item(
|
self.setCurrentItemColor(QtGui.QColor(128, 128, 128))
|
||||||
currentRow, 0).setTextColor(QtGui.QColor(128, 128, 128))
|
|
||||||
self.ui.tableWidgetSubscriptions.item(
|
|
||||||
currentRow, 1).setTextColor(QtGui.QColor(128, 128, 128))
|
|
||||||
shared.reloadBroadcastSendersForWhichImWatching()
|
shared.reloadBroadcastSendersForWhichImWatching()
|
||||||
|
|
||||||
def on_context_menuSubscriptions(self, point):
|
def on_context_menuSubscriptions(self, point):
|
||||||
self.popMenuSubscriptions.exec_(
|
self.popMenuSubscriptions.exec_(
|
||||||
self.ui.tableWidgetSubscriptions.mapToGlobal(point))
|
self.ui.treeWidgetSubscriptions.mapToGlobal(point))
|
||||||
|
|
||||||
# Group of functions for the Blacklist dialog box
|
# Group of functions for the Blacklist dialog box
|
||||||
def on_action_BlacklistNew(self):
|
def on_action_BlacklistNew(self):
|
||||||
|
@ -3116,70 +3236,166 @@ more work your computer must do to send the message. A Time-To-Live of four or f
|
||||||
sqlExecute(
|
sqlExecute(
|
||||||
'''UPDATE whitelist SET enabled=0 WHERE address=?''', str(addressAtCurrentRow))
|
'''UPDATE whitelist SET enabled=0 WHERE address=?''', str(addressAtCurrentRow))
|
||||||
|
|
||||||
|
def getCurrentTreeWidget(self):
|
||||||
|
currentIndex = self.ui.tabWidget.currentIndex();
|
||||||
|
treeWidgetList = [
|
||||||
|
self.ui.treeWidgetYourIdentities,
|
||||||
|
False,
|
||||||
|
self.ui.treeWidgetSubscriptions,
|
||||||
|
self.ui.treeWidgetChans
|
||||||
|
]
|
||||||
|
if currentIndex >= 0 and currentIndex < len(treeWidgetList):
|
||||||
|
return treeWidgetList[currentIndex]
|
||||||
|
else:
|
||||||
|
return False
|
||||||
|
|
||||||
|
def getCurrentMessagelist(self):
|
||||||
|
currentIndex = self.ui.tabWidget.currentIndex();
|
||||||
|
messagelistList = [
|
||||||
|
self.ui.tableWidgetInbox,
|
||||||
|
False,
|
||||||
|
self.ui.tableWidgetInboxSubscriptions,
|
||||||
|
self.ui.tableWidgetInboxChans,
|
||||||
|
]
|
||||||
|
if currentIndex >= 0 and currentIndex < len(messagelistList):
|
||||||
|
return messagelistList[currentIndex]
|
||||||
|
else:
|
||||||
|
return False
|
||||||
|
|
||||||
|
def getCurrentMessageId(self):
|
||||||
|
messagelist = self.getCurrentMessagelist()
|
||||||
|
if messagelist:
|
||||||
|
currentRow = messagelist.currentRow()
|
||||||
|
if currentRow >= 0:
|
||||||
|
msgid = str(messagelist.item(
|
||||||
|
currentRow, 3).data(Qt.UserRole).toPyObject()) # data is saved at the 4. column of the table...
|
||||||
|
return msgid
|
||||||
|
return False
|
||||||
|
|
||||||
|
def getCurrentMessageTextedit(self):
|
||||||
|
currentIndex = self.ui.tabWidget.currentIndex();
|
||||||
|
messagelistList = [
|
||||||
|
self.ui.textEditInboxMessage,
|
||||||
|
False,
|
||||||
|
self.ui.textEditInboxMessageSubscriptions,
|
||||||
|
self.ui.textEditInboxMessageChans,
|
||||||
|
]
|
||||||
|
if currentIndex >= 0 and currentIndex < len(messagelistList):
|
||||||
|
return messagelistList[currentIndex]
|
||||||
|
else:
|
||||||
|
return False
|
||||||
|
|
||||||
|
def getCurrentSearchLine(self):
|
||||||
|
currentIndex = self.ui.tabWidget.currentIndex();
|
||||||
|
messagelistList = [
|
||||||
|
self.ui.inboxSearchLineEdit,
|
||||||
|
False,
|
||||||
|
self.ui.inboxSearchLineEditSubscriptions,
|
||||||
|
self.ui.inboxSearchLineEditChans,
|
||||||
|
]
|
||||||
|
if currentIndex >= 0 and currentIndex < len(messagelistList):
|
||||||
|
return messagelistList[currentIndex]
|
||||||
|
else:
|
||||||
|
return False
|
||||||
|
|
||||||
|
def getCurrentSearchOption(self):
|
||||||
|
currentIndex = self.ui.tabWidget.currentIndex();
|
||||||
|
messagelistList = [
|
||||||
|
self.ui.inboxSearchOption,
|
||||||
|
False,
|
||||||
|
self.ui.inboxSearchOptionSubscriptions,
|
||||||
|
self.ui.inboxSearchOptionChans,
|
||||||
|
]
|
||||||
|
if currentIndex >= 0 and currentIndex < len(messagelistList):
|
||||||
|
return messagelistList[currentIndex].currentText().toUtf8().data()
|
||||||
|
else:
|
||||||
|
return False
|
||||||
|
|
||||||
# Group of functions for the Your Identities dialog box
|
# Group of functions for the Your Identities dialog box
|
||||||
|
def getCurrentAccount(self):
|
||||||
|
treeWidget = self.getCurrentTreeWidget()
|
||||||
|
if treeWidget:
|
||||||
|
currentItem = treeWidget.currentItem()
|
||||||
|
if currentItem:
|
||||||
|
accountFolder = currentItem.data(0, Qt.UserRole).toPyObject()
|
||||||
|
account = accountFolder[0]
|
||||||
|
return str(account)
|
||||||
|
else:
|
||||||
|
# TODO need debug msg?
|
||||||
|
return False
|
||||||
|
|
||||||
|
def getCurrentFolder(self):
|
||||||
|
treeWidget = self.getCurrentTreeWidget()
|
||||||
|
if treeWidget:
|
||||||
|
currentItem = treeWidget.currentItem()
|
||||||
|
if currentItem:
|
||||||
|
accountFolder = currentItem.data(0, Qt.UserRole).toPyObject()
|
||||||
|
folder = accountFolder[1]
|
||||||
|
return str(folder)
|
||||||
|
else:
|
||||||
|
# TODO need debug msg?
|
||||||
|
return False
|
||||||
|
|
||||||
|
def setCurrentItemColor(self, color):
|
||||||
|
treeWidget = self.getCurrentTreeWidget()
|
||||||
|
if treeWidget:
|
||||||
|
brush = QtGui.QBrush()
|
||||||
|
brush.setStyle(QtCore.Qt.NoBrush)
|
||||||
|
brush.setColor(color)
|
||||||
|
currentItem = treeWidget.currentItem()
|
||||||
|
currentItem.setForeground(0, brush)
|
||||||
|
|
||||||
def on_action_YourIdentitiesNew(self):
|
def on_action_YourIdentitiesNew(self):
|
||||||
self.click_NewAddressDialog()
|
self.click_NewAddressDialog()
|
||||||
|
|
||||||
def on_action_YourIdentitiesEnable(self):
|
def on_action_Enable(self):
|
||||||
currentRow = self.ui.tableWidgetYourIdentities.currentRow()
|
addressAtCurrentRow = self.getCurrentAccount()
|
||||||
addressAtCurrentRow = str(
|
self.enableIdentity(addressAtCurrentRow)
|
||||||
self.ui.tableWidgetYourIdentities.item(currentRow, 1).text())
|
self.setCurrentItemColor(QApplication.palette().text().color())
|
||||||
shared.config.set(addressAtCurrentRow, 'enabled', 'true')
|
|
||||||
shared.writeKeysFile()
|
|
||||||
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)) # magenta
|
|
||||||
if shared.safeConfigGetBoolean(addressAtCurrentRow, 'chan'):
|
|
||||||
self.ui.tableWidgetYourIdentities.item(currentRow, 1).setTextColor(QtGui.QColor(216, 119, 0)) # orange
|
|
||||||
shared.reloadMyAddressHashes()
|
|
||||||
|
|
||||||
def on_action_YourIdentitiesDisable(self):
|
def enableIdentity(self, address):
|
||||||
currentRow = self.ui.tableWidgetYourIdentities.currentRow()
|
shared.config.set(address, 'enabled', 'true')
|
||||||
addressAtCurrentRow = str(
|
|
||||||
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))
|
|
||||||
self.ui.tableWidgetYourIdentities.item(
|
|
||||||
currentRow, 1).setTextColor(QtGui.QColor(128, 128, 128))
|
|
||||||
self.ui.tableWidgetYourIdentities.item(
|
|
||||||
currentRow, 2).setTextColor(QtGui.QColor(128, 128, 128))
|
|
||||||
if shared.safeConfigGetBoolean(addressAtCurrentRow, 'mailinglist'):
|
|
||||||
self.ui.tableWidgetYourIdentities.item(currentRow, 1).setTextColor(QtGui.QColor(137, 04, 177)) # magenta
|
|
||||||
shared.writeKeysFile()
|
shared.writeKeysFile()
|
||||||
shared.reloadMyAddressHashes()
|
shared.reloadMyAddressHashes()
|
||||||
|
|
||||||
def on_action_YourIdentitiesClipboard(self):
|
def on_action_Disable(self):
|
||||||
currentRow = self.ui.tableWidgetYourIdentities.currentRow()
|
address = self.getCurrentAccount()
|
||||||
addressAtCurrentRow = self.ui.tableWidgetYourIdentities.item(
|
self.disableIdentity(address)
|
||||||
currentRow, 1).text()
|
self.setCurrentItemColor(QtGui.QColor(128, 128, 128))
|
||||||
|
|
||||||
|
def disableIdentity(self, address):
|
||||||
|
shared.config.set(str(address), 'enabled', 'false')
|
||||||
|
shared.writeKeysFile()
|
||||||
|
shared.reloadMyAddressHashes()
|
||||||
|
|
||||||
|
def on_action_Clipboard(self):
|
||||||
|
address = self.getCurrentAccount()
|
||||||
clipboard = QtGui.QApplication.clipboard()
|
clipboard = QtGui.QApplication.clipboard()
|
||||||
clipboard.setText(str(addressAtCurrentRow))
|
clipboard.setText(str(address))
|
||||||
|
|
||||||
|
#set avatar functions
|
||||||
|
def on_action_TreeWidgetSetAvatar(self):
|
||||||
|
address = self.getCurrentAccount()
|
||||||
|
self.setAvatar(address)
|
||||||
|
|
||||||
def on_action_YourIdentitiesSetAvatar(self):
|
|
||||||
self.on_action_SetAvatar(self.ui.tableWidgetYourIdentities)
|
|
||||||
|
|
||||||
def on_action_AddressBookSetAvatar(self):
|
def on_action_AddressBookSetAvatar(self):
|
||||||
self.on_action_SetAvatar(self.ui.tableWidgetAddressBook)
|
self.on_action_SetAvatar(self.ui.tableWidgetAddressBook)
|
||||||
|
|
||||||
def on_action_SubscriptionsSetAvatar(self):
|
|
||||||
self.on_action_SetAvatar(self.ui.tableWidgetSubscriptions)
|
|
||||||
|
|
||||||
def on_action_BlacklistSetAvatar(self):
|
def on_action_BlacklistSetAvatar(self):
|
||||||
self.on_action_SetAvatar(self.ui.tableWidgetBlacklist)
|
self.on_action_SetAvatar(self.ui.tableWidgetBlacklist)
|
||||||
|
|
||||||
def on_action_SetAvatar(self, thisTableWidget):
|
def on_action_SetAvatar(self, thisTableWidget):
|
||||||
# thisTableWidget = self.ui.tableWidgetYourIdentities
|
|
||||||
if not os.path.exists(shared.appdata + 'avatars/'):
|
|
||||||
os.makedirs(shared.appdata + 'avatars/')
|
|
||||||
currentRow = thisTableWidget.currentRow()
|
currentRow = thisTableWidget.currentRow()
|
||||||
addressAtCurrentRow = thisTableWidget.item(
|
addressAtCurrentRow = thisTableWidget.item(
|
||||||
currentRow, 1).text()
|
currentRow, 1).text()
|
||||||
|
setToIdenticon = not self.setAvatar(addressAtCurrentRow)
|
||||||
|
if setToIdenticon:
|
||||||
|
thisTableWidget.item(
|
||||||
|
currentRow, 0).setIcon(avatarize(addressAtCurrentRow))
|
||||||
|
|
||||||
|
def setAvatar(self, addressAtCurrentRow):
|
||||||
|
if not os.path.exists(shared.appdata + 'avatars/'):
|
||||||
|
os.makedirs(shared.appdata + 'avatars/')
|
||||||
hash = hashlib.md5(addBMIfNotPresent(addressAtCurrentRow)).hexdigest()
|
hash = hashlib.md5(addBMIfNotPresent(addressAtCurrentRow)).hexdigest()
|
||||||
extensions = ['PNG', 'GIF', 'JPG', 'JPEG', 'SVG', 'BMP', 'MNG', 'PBM', 'PGM', 'PPM', 'TIFF', 'XBM', 'XPM', 'TGA']
|
extensions = ['PNG', 'GIF', 'JPG', 'JPEG', 'SVG', 'BMP', 'MNG', 'PBM', 'PGM', 'PPM', 'TIFF', 'XBM', 'XPM', 'TGA']
|
||||||
# http://pyqt.sourceforge.net/Docs/PyQt4/qimagereader.html#supportedImageFormats
|
# http://pyqt.sourceforge.net/Docs/PyQt4/qimagereader.html#supportedImageFormats
|
||||||
|
@ -3230,24 +3446,41 @@ more work your computer must do to send the message. A Time-To-Live of four or f
|
||||||
copied = QtCore.QFile.copy(sourcefile, destination)
|
copied = QtCore.QFile.copy(sourcefile, destination)
|
||||||
if not copied:
|
if not copied:
|
||||||
print 'couldn\'t copy :('
|
print 'couldn\'t copy :('
|
||||||
return False
|
|
||||||
# set the icon
|
# set the icon
|
||||||
thisTableWidget.item(
|
self.rerenderTabTreeMessages()
|
||||||
currentRow, 0).setIcon(avatarize(addressAtCurrentRow))
|
self.rerenderTabTreeSubscriptions()
|
||||||
self.rerenderSubscriptions()
|
self.rerenderTabTreeChans()
|
||||||
self.rerenderComboBoxSendFrom()
|
self.rerenderComboBoxSendFrom()
|
||||||
|
self.rerenderComboBoxSendFromBroadcast()
|
||||||
self.rerenderInboxFromLabels()
|
self.rerenderInboxFromLabels()
|
||||||
self.rerenderInboxToLabels()
|
self.rerenderInboxToLabels()
|
||||||
self.rerenderSentFromLabels()
|
self.rerenderSentFromLabels()
|
||||||
self.rerenderSentToLabels()
|
self.rerenderSentToLabels()
|
||||||
self.rerenderBlackWhiteList()
|
self.rerenderBlackWhiteList()
|
||||||
|
# generate identicon
|
||||||
|
return False
|
||||||
|
|
||||||
|
return True
|
||||||
|
|
||||||
def on_context_menuYourIdentities(self, point):
|
def on_context_menuYourIdentities(self, point):
|
||||||
|
self.popMenuYourIdentities.exec_(
|
||||||
|
self.ui.treeWidgetYourIdentities.mapToGlobal(point))
|
||||||
|
|
||||||
|
# TODO make one popMenu
|
||||||
|
def on_context_menuChan(self, point):
|
||||||
self.popMenu.exec_(
|
self.popMenu.exec_(
|
||||||
self.ui.tableWidgetYourIdentities.mapToGlobal(point))
|
self.ui.treeWidgetChans.mapToGlobal(point))
|
||||||
|
|
||||||
def on_context_menuInbox(self, point):
|
def on_context_menuInbox(self, point):
|
||||||
self.popMenuInbox.exec_(self.ui.tableWidgetInbox.mapToGlobal(point))
|
tableWidget = self.getCurrentMessagelist()
|
||||||
|
if tableWidget:
|
||||||
|
currentFolder = self.getCurrentFolder()
|
||||||
|
if currentFolder == False:
|
||||||
|
pass
|
||||||
|
if currentFolder == 'sent':
|
||||||
|
self.on_context_menuSent(point)
|
||||||
|
else:
|
||||||
|
self.popMenuInbox.exec_(tableWidget.mapToGlobal(point))
|
||||||
|
|
||||||
def on_context_menuSent(self, point):
|
def on_context_menuSent(self, point):
|
||||||
self.popMenuSent = QtGui.QMenu(self)
|
self.popMenuSent = QtGui.QMenu(self)
|
||||||
|
@ -3256,105 +3489,66 @@ more work your computer must do to send the message. A Time-To-Live of four or f
|
||||||
|
|
||||||
# Check to see if this item is toodifficult and display an additional
|
# Check to see if this item is toodifficult and display an additional
|
||||||
# menu option (Force Send) if it is.
|
# menu option (Force Send) if it is.
|
||||||
currentRow = self.ui.tableWidgetSent.currentRow()
|
|
||||||
ackData = str(self.ui.tableWidgetSent.item(
|
|
||||||
currentRow, 3).data(Qt.UserRole).toPyObject())
|
|
||||||
queryreturn = sqlQuery('''SELECT status FROM sent where ackdata=?''', ackData)
|
|
||||||
for row in queryreturn:
|
|
||||||
status, = row
|
|
||||||
if status == 'toodifficult':
|
|
||||||
self.popMenuSent.addAction(self.actionForceSend)
|
|
||||||
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 sentSearchLineEditPressed(self):
|
|
||||||
searchKeyword = self.ui.sentSearchLineEdit.text().toUtf8().data()
|
|
||||||
searchOption = self.ui.sentSearchOptionCB.currentText().toUtf8().data()
|
|
||||||
self.ui.sentSearchLineEdit.setText(QString(""))
|
|
||||||
self.ui.textEditInboxMessage.setPlainText(QString(""))
|
|
||||||
self.loadSent(searchOption, searchKeyword)
|
|
||||||
|
|
||||||
def tableWidgetInboxItemClicked(self):
|
|
||||||
currentRow = self.ui.tableWidgetInbox.currentRow()
|
currentRow = self.ui.tableWidgetInbox.currentRow()
|
||||||
if currentRow >= 0:
|
if currentRow >= 0:
|
||||||
font = QFont()
|
ackData = str(self.ui.tableWidgetInbox.item(
|
||||||
font.setBold(False)
|
|
||||||
self.ui.textEditInboxMessage.setCurrentFont(font)
|
|
||||||
|
|
||||||
fromAddress = str(self.ui.tableWidgetInbox.item(
|
|
||||||
currentRow, 1).data(Qt.UserRole).toPyObject())
|
|
||||||
msgid = str(self.ui.tableWidgetInbox.item(
|
|
||||||
currentRow, 3).data(Qt.UserRole).toPyObject())
|
currentRow, 3).data(Qt.UserRole).toPyObject())
|
||||||
queryreturn = sqlQuery(
|
queryreturn = sqlQuery('''SELECT status FROM sent where ackdata=?''', ackData)
|
||||||
'''select message from inbox where msgid=?''', msgid)
|
for row in queryreturn:
|
||||||
if queryreturn != []:
|
status, = row
|
||||||
for row in queryreturn:
|
if status == 'toodifficult':
|
||||||
messageText, = row
|
self.popMenuSent.addAction(self.actionForceSend)
|
||||||
messageText = shared.fixPotentiallyInvalidUTF8Data(messageText)
|
|
||||||
messageText = unicode(messageText, 'utf-8)')
|
|
||||||
if len(messageText) > 30000:
|
|
||||||
messageText = (
|
|
||||||
messageText[:30000] + '\n' +
|
|
||||||
'--- Display of the remainder of the message ' +
|
|
||||||
'truncated because it is too long.\n' +
|
|
||||||
'--- To see the full message, right-click in the ' +
|
|
||||||
'Inbox view and select "View HTML code as formatted ' +
|
|
||||||
'text",\n' +
|
|
||||||
'--- or select "Save message as..." to save it to a ' +
|
|
||||||
'file, or select "Reply" and ' +
|
|
||||||
'view the full message in the quote.')
|
|
||||||
# If we have received this message from either a broadcast address
|
|
||||||
# or from someone in our address book, display as HTML
|
|
||||||
if decodeAddress(fromAddress)[3] in shared.broadcastSendersForWhichImWatching or shared.isAddressInMyAddressBook(fromAddress):
|
|
||||||
self.ui.textEditInboxMessage.setText(messageText)
|
|
||||||
else:
|
|
||||||
self.ui.textEditInboxMessage.setPlainText(messageText)
|
|
||||||
|
|
||||||
self.ui.tableWidgetInbox.item(currentRow, 0).setFont(font)
|
self.popMenuSent.exec_(self.ui.tableWidgetInbox.mapToGlobal(point))
|
||||||
self.ui.tableWidgetInbox.item(currentRow, 1).setFont(font)
|
|
||||||
self.ui.tableWidgetInbox.item(currentRow, 2).setFont(font)
|
|
||||||
self.ui.tableWidgetInbox.item(currentRow, 3).setFont(font)
|
|
||||||
|
|
||||||
inventoryHash = str(self.ui.tableWidgetInbox.item(
|
def inboxSearchLineEditPressed(self):
|
||||||
currentRow, 3).data(Qt.UserRole).toPyObject())
|
searchLine = self.getCurrentSearchLine()
|
||||||
self.ubuntuMessagingMenuClear(inventoryHash)
|
searchOption = self.getCurrentSearchOption()
|
||||||
sqlExecute('''update inbox set read=1 WHERE msgid=?''', inventoryHash)
|
if searchLine:
|
||||||
self.changedInboxUnread()
|
searchKeyword = searchLine.text().toUtf8().data()
|
||||||
|
searchLine.setText(QString(""))
|
||||||
|
messageTextedit = self.getCurrentMessageTextedit()
|
||||||
|
if messageTextedit:
|
||||||
|
messageTextedit.setPlainText(QString(""))
|
||||||
|
messagelist = self.getCurrentMessagelist()
|
||||||
|
if messagelist:
|
||||||
|
account = self.getCurrentAccount()
|
||||||
|
folder = self.getCurrentFolder()
|
||||||
|
self.loadMessagelist(messagelist, account, folder, searchOption, searchKeyword)
|
||||||
|
|
||||||
def tableWidgetSentItemClicked(self):
|
def treeWidgetItemClicked(self):
|
||||||
currentRow = self.ui.tableWidgetSent.currentRow()
|
messagelist = self.getCurrentMessagelist()
|
||||||
if currentRow >= 0:
|
if messagelist:
|
||||||
ackdata = str(self.ui.tableWidgetSent.item(
|
account = self.getCurrentAccount()
|
||||||
currentRow, 3).data(Qt.UserRole).toPyObject())
|
folder = self.getCurrentFolder()
|
||||||
queryreturn = sqlQuery(
|
self.loadMessagelist(messagelist, account, folder)
|
||||||
'''select message from sent where ackdata=?''', ackdata)
|
|
||||||
if queryreturn != []:
|
def tableWidgetInboxItemClicked(self):
|
||||||
for row in queryreturn:
|
folder = self.getCurrentFolder()
|
||||||
message, = row
|
messageTextedit = self.getCurrentMessageTextedit()
|
||||||
else:
|
queryreturn = []
|
||||||
|
message = ""
|
||||||
|
|
||||||
|
if folder == 'sent':
|
||||||
|
ackdata = self.getCurrentMessageId()
|
||||||
|
if ackdata and messageTextedit:
|
||||||
|
queryreturn = sqlQuery(
|
||||||
|
'''select message from sent where ackdata=?''', ackdata)
|
||||||
|
else:
|
||||||
|
msgid = self.getCurrentMessageId()
|
||||||
|
if msgid and messageTextedit:
|
||||||
|
queryreturn = sqlQuery(
|
||||||
|
'''select message from inbox where msgid=?''', msgid)
|
||||||
|
|
||||||
|
if queryreturn != []:
|
||||||
|
for row in queryreturn:
|
||||||
|
message, = row
|
||||||
|
else:
|
||||||
|
data = self.getCurrentMessageId()
|
||||||
|
if data != False:
|
||||||
message = "Error occurred: could not load message from disk."
|
message = "Error occurred: could not load message from disk."
|
||||||
message = unicode(message, 'utf-8)')
|
message = unicode(message, 'utf-8)')
|
||||||
self.ui.textEditSentMessage.setPlainText(message)
|
messageTextedit.setPlainText(message)
|
||||||
|
|
||||||
def tableWidgetYourIdentitiesItemChanged(self):
|
|
||||||
currentRow = self.ui.tableWidgetYourIdentities.currentRow()
|
|
||||||
if currentRow >= 0:
|
|
||||||
addressAtCurrentRow = self.ui.tableWidgetYourIdentities.item(
|
|
||||||
currentRow, 1).text()
|
|
||||||
shared.config.set(str(addressAtCurrentRow), 'label', str(
|
|
||||||
self.ui.tableWidgetYourIdentities.item(currentRow, 0).text().toUtf8()))
|
|
||||||
shared.writeKeysFile()
|
|
||||||
self.rerenderComboBoxSendFrom()
|
|
||||||
# self.rerenderInboxFromLabels()
|
|
||||||
self.rerenderInboxToLabels()
|
|
||||||
self.rerenderSentFromLabels()
|
|
||||||
# self.rerenderSentToLabels()
|
|
||||||
|
|
||||||
def tableWidgetAddressBookItemChanged(self):
|
def tableWidgetAddressBookItemChanged(self):
|
||||||
currentRow = self.ui.tableWidgetAddressBook.currentRow()
|
currentRow = self.ui.tableWidgetAddressBook.currentRow()
|
||||||
|
@ -3367,36 +3561,12 @@ more work your computer must do to send the message. A Time-To-Live of four or f
|
||||||
self.rerenderInboxFromLabels()
|
self.rerenderInboxFromLabels()
|
||||||
self.rerenderSentToLabels()
|
self.rerenderSentToLabels()
|
||||||
|
|
||||||
def tableWidgetSubscriptionsItemChanged(self):
|
|
||||||
currentRow = self.ui.tableWidgetSubscriptions.currentRow()
|
|
||||||
if currentRow >= 0:
|
|
||||||
addressAtCurrentRow = self.ui.tableWidgetSubscriptions.item(
|
|
||||||
currentRow, 1).text()
|
|
||||||
sqlExecute('''UPDATE subscriptions set label=? WHERE address=?''',
|
|
||||||
str(self.ui.tableWidgetSubscriptions.item(currentRow, 0).text().toUtf8()),
|
|
||||||
str(addressAtCurrentRow))
|
|
||||||
self.rerenderInboxFromLabels()
|
|
||||||
self.rerenderSentToLabels()
|
|
||||||
|
|
||||||
def writeNewAddressToTable(self, label, address, streamNumber):
|
def writeNewAddressToTable(self, label, address, streamNumber):
|
||||||
self.ui.tableWidgetYourIdentities.setSortingEnabled(False)
|
self.rerenderTabTreeMessages()
|
||||||
self.ui.tableWidgetYourIdentities.insertRow(0)
|
self.rerenderTabTreeSubscriptions()
|
||||||
newItem = QtGui.QTableWidgetItem(unicode(label, 'utf-8'))
|
self.rerenderTabTreeChans()
|
||||||
newItem.setIcon(avatarize(address))
|
|
||||||
self.ui.tableWidgetYourIdentities.setItem(
|
|
||||||
0, 0, newItem)
|
|
||||||
newItem = QtGui.QTableWidgetItem(address)
|
|
||||||
newItem.setFlags(
|
|
||||||
QtCore.Qt.ItemIsSelectable | QtCore.Qt.ItemIsEnabled)
|
|
||||||
if shared.safeConfigGetBoolean(address, 'chan'):
|
|
||||||
newItem.setTextColor(QtGui.QColor(216, 119, 0)) # orange
|
|
||||||
self.ui.tableWidgetYourIdentities.setItem(0, 1, newItem)
|
|
||||||
newItem = QtGui.QTableWidgetItem(streamNumber)
|
|
||||||
newItem.setFlags(
|
|
||||||
QtCore.Qt.ItemIsSelectable | QtCore.Qt.ItemIsEnabled)
|
|
||||||
self.ui.tableWidgetYourIdentities.setItem(0, 2, newItem)
|
|
||||||
# self.ui.tableWidgetYourIdentities.setSortingEnabled(True)
|
|
||||||
self.rerenderComboBoxSendFrom()
|
self.rerenderComboBoxSendFrom()
|
||||||
|
self.rerenderComboBoxSendFromBroadcast()
|
||||||
|
|
||||||
def updateStatusBar(self, data):
|
def updateStatusBar(self, data):
|
||||||
if data != "":
|
if data != "":
|
||||||
|
@ -3666,9 +3836,7 @@ class SpecialAddressBehaviorDialog(QtGui.QDialog):
|
||||||
self.ui = Ui_SpecialAddressBehaviorDialog()
|
self.ui = Ui_SpecialAddressBehaviorDialog()
|
||||||
self.ui.setupUi(self)
|
self.ui.setupUi(self)
|
||||||
self.parent = parent
|
self.parent = parent
|
||||||
currentRow = parent.ui.tableWidgetYourIdentities.currentRow()
|
addressAtCurrentRow = parent.getCurrentAccount()
|
||||||
addressAtCurrentRow = str(
|
|
||||||
parent.ui.tableWidgetYourIdentities.item(currentRow, 1).text())
|
|
||||||
if not shared.safeConfigGetBoolean(addressAtCurrentRow, 'chan'):
|
if not shared.safeConfigGetBoolean(addressAtCurrentRow, 'chan'):
|
||||||
if shared.safeConfigGetBoolean(addressAtCurrentRow, 'mailinglist'):
|
if shared.safeConfigGetBoolean(addressAtCurrentRow, 'mailinglist'):
|
||||||
self.ui.radioButtonBehaviorMailingList.click()
|
self.ui.radioButtonBehaviorMailingList.click()
|
||||||
|
@ -3688,7 +3856,6 @@ class SpecialAddressBehaviorDialog(QtGui.QDialog):
|
||||||
|
|
||||||
QtGui.QWidget.resize(self, QtGui.QWidget.sizeHint(self))
|
QtGui.QWidget.resize(self, QtGui.QWidget.sizeHint(self))
|
||||||
|
|
||||||
|
|
||||||
class AddAddressDialog(QtGui.QDialog):
|
class AddAddressDialog(QtGui.QDialog):
|
||||||
|
|
||||||
def __init__(self, parent):
|
def __init__(self, parent):
|
||||||
|
@ -3799,10 +3966,13 @@ class NewAddressDialog(QtGui.QDialog):
|
||||||
row = 1
|
row = 1
|
||||||
# Let's fill out the 'existing address' combo box with addresses from
|
# Let's fill out the 'existing address' combo box with addresses from
|
||||||
# the 'Your Identities' tab.
|
# the 'Your Identities' tab.
|
||||||
while self.parent.ui.tableWidgetYourIdentities.item(row - 1, 1):
|
configSections = shared.config.sections()
|
||||||
|
for addressInKeysFile in configSections:
|
||||||
|
if addressInKeysFile == 'bitmessagesettings':
|
||||||
|
continue
|
||||||
self.ui.radioButtonExisting.click()
|
self.ui.radioButtonExisting.click()
|
||||||
self.ui.comboBoxExisting.addItem(
|
self.ui.comboBoxExisting.addItem(
|
||||||
self.parent.ui.tableWidgetYourIdentities.item(row - 1, 1).text())
|
addressInKeysFile)
|
||||||
row += 1
|
row += 1
|
||||||
self.ui.groupBoxDeterministic.setHidden(True)
|
self.ui.groupBoxDeterministic.setHidden(True)
|
||||||
QtGui.QWidget.resize(self, QtGui.QWidget.sizeHint(self))
|
QtGui.QWidget.resize(self, QtGui.QWidget.sizeHint(self))
|
||||||
|
|
|
@ -2,8 +2,8 @@
|
||||||
|
|
||||||
# Form implementation generated from reading ui file 'bitmessageui.ui'
|
# Form implementation generated from reading ui file 'bitmessageui.ui'
|
||||||
#
|
#
|
||||||
# Created: Sun Mar 08 22:07:43 2015
|
# Created: Mon Mar 23 22:18:07 2015
|
||||||
# by: PyQt4 UI code generator 4.10.3
|
# by: PyQt4 UI code generator 4.10.4
|
||||||
#
|
#
|
||||||
# WARNING! All changes made in this file will be lost!
|
# WARNING! All changes made in this file will be lost!
|
||||||
|
|
||||||
|
@ -33,9 +33,8 @@ class Ui_MainWindow(object):
|
||||||
MainWindow.setTabShape(QtGui.QTabWidget.Rounded)
|
MainWindow.setTabShape(QtGui.QTabWidget.Rounded)
|
||||||
self.centralwidget = QtGui.QWidget(MainWindow)
|
self.centralwidget = QtGui.QWidget(MainWindow)
|
||||||
self.centralwidget.setObjectName(_fromUtf8("centralwidget"))
|
self.centralwidget.setObjectName(_fromUtf8("centralwidget"))
|
||||||
self.gridLayout = QtGui.QGridLayout(self.centralwidget)
|
self.gridLayout_10 = QtGui.QGridLayout(self.centralwidget)
|
||||||
self.gridLayout.setMargin(0)
|
self.gridLayout_10.setObjectName(_fromUtf8("gridLayout_10"))
|
||||||
self.gridLayout.setObjectName(_fromUtf8("gridLayout"))
|
|
||||||
self.tabWidget = QtGui.QTabWidget(self.centralwidget)
|
self.tabWidget = QtGui.QTabWidget(self.centralwidget)
|
||||||
sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Expanding)
|
sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Expanding)
|
||||||
sizePolicy.setHorizontalStretch(0)
|
sizePolicy.setHorizontalStretch(0)
|
||||||
|
@ -52,27 +51,42 @@ class Ui_MainWindow(object):
|
||||||
self.tabWidget.setObjectName(_fromUtf8("tabWidget"))
|
self.tabWidget.setObjectName(_fromUtf8("tabWidget"))
|
||||||
self.inbox = QtGui.QWidget()
|
self.inbox = QtGui.QWidget()
|
||||||
self.inbox.setObjectName(_fromUtf8("inbox"))
|
self.inbox.setObjectName(_fromUtf8("inbox"))
|
||||||
self.verticalLayout_2 = QtGui.QVBoxLayout(self.inbox)
|
self.gridLayout = QtGui.QGridLayout(self.inbox)
|
||||||
self.verticalLayout_2.setObjectName(_fromUtf8("verticalLayout_2"))
|
self.gridLayout.setObjectName(_fromUtf8("gridLayout"))
|
||||||
|
self.horizontalLayout_3 = QtGui.QHBoxLayout()
|
||||||
|
self.horizontalLayout_3.setObjectName(_fromUtf8("horizontalLayout_3"))
|
||||||
|
self.verticalLayout_12 = QtGui.QVBoxLayout()
|
||||||
|
self.verticalLayout_12.setObjectName(_fromUtf8("verticalLayout_12"))
|
||||||
|
self.treeWidgetYourIdentities = QtGui.QTreeWidget(self.inbox)
|
||||||
|
self.treeWidgetYourIdentities.setMaximumSize(QtCore.QSize(200, 16777215))
|
||||||
|
self.treeWidgetYourIdentities.setObjectName(_fromUtf8("treeWidgetYourIdentities"))
|
||||||
|
icon1 = QtGui.QIcon()
|
||||||
|
icon1.addPixmap(QtGui.QPixmap(_fromUtf8(":/newPrefix/images/identities.png")), QtGui.QIcon.Selected, QtGui.QIcon.Off)
|
||||||
|
self.treeWidgetYourIdentities.headerItem().setIcon(0, icon1)
|
||||||
|
self.verticalLayout_12.addWidget(self.treeWidgetYourIdentities)
|
||||||
|
self.pushButtonNewAddress = QtGui.QPushButton(self.inbox)
|
||||||
|
self.pushButtonNewAddress.setMaximumSize(QtCore.QSize(200, 16777215))
|
||||||
|
self.pushButtonNewAddress.setObjectName(_fromUtf8("pushButtonNewAddress"))
|
||||||
|
self.verticalLayout_12.addWidget(self.pushButtonNewAddress)
|
||||||
|
self.horizontalLayout_3.addLayout(self.verticalLayout_12)
|
||||||
|
self.verticalLayout_7 = QtGui.QVBoxLayout()
|
||||||
|
self.verticalLayout_7.setObjectName(_fromUtf8("verticalLayout_7"))
|
||||||
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.inboxSearchLineEdit = QtGui.QLineEdit(self.inbox)
|
self.inboxSearchLineEdit = QtGui.QLineEdit(self.inbox)
|
||||||
self.inboxSearchLineEdit.setObjectName(_fromUtf8("inboxSearchLineEdit"))
|
self.inboxSearchLineEdit.setObjectName(_fromUtf8("inboxSearchLineEdit"))
|
||||||
self.horizontalLayoutSearch.addWidget(self.inboxSearchLineEdit)
|
self.horizontalLayoutSearch.addWidget(self.inboxSearchLineEdit)
|
||||||
self.inboxSearchOptionCB = QtGui.QComboBox(self.inbox)
|
self.inboxSearchOption = QtGui.QComboBox(self.inbox)
|
||||||
self.inboxSearchOptionCB.setObjectName(_fromUtf8("inboxSearchOptionCB"))
|
self.inboxSearchOption.setObjectName(_fromUtf8("inboxSearchOption"))
|
||||||
self.inboxSearchOptionCB.addItem(_fromUtf8(""))
|
self.inboxSearchOption.addItem(_fromUtf8(""))
|
||||||
self.inboxSearchOptionCB.addItem(_fromUtf8(""))
|
self.inboxSearchOption.addItem(_fromUtf8(""))
|
||||||
self.inboxSearchOptionCB.addItem(_fromUtf8(""))
|
self.inboxSearchOption.addItem(_fromUtf8(""))
|
||||||
self.inboxSearchOptionCB.addItem(_fromUtf8(""))
|
self.inboxSearchOption.addItem(_fromUtf8(""))
|
||||||
self.inboxSearchOptionCB.addItem(_fromUtf8(""))
|
self.inboxSearchOption.addItem(_fromUtf8(""))
|
||||||
self.horizontalLayoutSearch.addWidget(self.inboxSearchOptionCB)
|
self.horizontalLayoutSearch.addWidget(self.inboxSearchOption)
|
||||||
self.verticalLayout_2.addLayout(self.horizontalLayoutSearch)
|
self.verticalLayout_7.addLayout(self.horizontalLayoutSearch)
|
||||||
self.splitter = QtGui.QSplitter(self.inbox)
|
self.tableWidgetInbox = QtGui.QTableWidget(self.inbox)
|
||||||
self.splitter.setOrientation(QtCore.Qt.Vertical)
|
|
||||||
self.splitter.setObjectName(_fromUtf8("splitter"))
|
|
||||||
self.tableWidgetInbox = QtGui.QTableWidget(self.splitter)
|
|
||||||
self.tableWidgetInbox.setEditTriggers(QtGui.QAbstractItemView.NoEditTriggers)
|
self.tableWidgetInbox.setEditTriggers(QtGui.QAbstractItemView.NoEditTriggers)
|
||||||
self.tableWidgetInbox.setAlternatingRowColors(True)
|
self.tableWidgetInbox.setAlternatingRowColors(True)
|
||||||
self.tableWidgetInbox.setSelectionMode(QtGui.QAbstractItemView.ExtendedSelection)
|
self.tableWidgetInbox.setSelectionMode(QtGui.QAbstractItemView.ExtendedSelection)
|
||||||
|
@ -97,77 +111,127 @@ class Ui_MainWindow(object):
|
||||||
self.tableWidgetInbox.horizontalHeader().setStretchLastSection(True)
|
self.tableWidgetInbox.horizontalHeader().setStretchLastSection(True)
|
||||||
self.tableWidgetInbox.verticalHeader().setVisible(False)
|
self.tableWidgetInbox.verticalHeader().setVisible(False)
|
||||||
self.tableWidgetInbox.verticalHeader().setDefaultSectionSize(26)
|
self.tableWidgetInbox.verticalHeader().setDefaultSectionSize(26)
|
||||||
self.textEditInboxMessage = QtGui.QTextEdit(self.splitter)
|
self.verticalLayout_7.addWidget(self.tableWidgetInbox)
|
||||||
|
self.textEditInboxMessage = QtGui.QTextEdit(self.inbox)
|
||||||
self.textEditInboxMessage.setBaseSize(QtCore.QSize(0, 500))
|
self.textEditInboxMessage.setBaseSize(QtCore.QSize(0, 500))
|
||||||
self.textEditInboxMessage.setReadOnly(True)
|
self.textEditInboxMessage.setReadOnly(True)
|
||||||
self.textEditInboxMessage.setObjectName(_fromUtf8("textEditInboxMessage"))
|
self.textEditInboxMessage.setObjectName(_fromUtf8("textEditInboxMessage"))
|
||||||
self.verticalLayout_2.addWidget(self.splitter)
|
self.verticalLayout_7.addWidget(self.textEditInboxMessage)
|
||||||
icon1 = QtGui.QIcon()
|
self.horizontalLayout_3.addLayout(self.verticalLayout_7)
|
||||||
icon1.addPixmap(QtGui.QPixmap(_fromUtf8(":/newPrefix/images/inbox.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
|
self.gridLayout.addLayout(self.horizontalLayout_3, 0, 0, 1, 1)
|
||||||
self.tabWidget.addTab(self.inbox, icon1, _fromUtf8(""))
|
icon2 = QtGui.QIcon()
|
||||||
|
icon2.addPixmap(QtGui.QPixmap(_fromUtf8(":/newPrefix/images/inbox.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
|
||||||
|
self.tabWidget.addTab(self.inbox, icon2, _fromUtf8(""))
|
||||||
self.send = QtGui.QWidget()
|
self.send = QtGui.QWidget()
|
||||||
self.send.setObjectName(_fromUtf8("send"))
|
self.send.setObjectName(_fromUtf8("send"))
|
||||||
self.gridLayout_2 = QtGui.QGridLayout(self.send)
|
self.gridLayout_7 = QtGui.QGridLayout(self.send)
|
||||||
self.gridLayout_2.setObjectName(_fromUtf8("gridLayout_2"))
|
self.gridLayout_7.setObjectName(_fromUtf8("gridLayout_7"))
|
||||||
self.pushButtonLoadFromAddressBook = QtGui.QPushButton(self.send)
|
self.horizontalLayout = QtGui.QHBoxLayout()
|
||||||
|
self.horizontalLayout.setObjectName(_fromUtf8("horizontalLayout"))
|
||||||
|
self.verticalLayout_2 = QtGui.QVBoxLayout()
|
||||||
|
self.verticalLayout_2.setObjectName(_fromUtf8("verticalLayout_2"))
|
||||||
|
self.tableWidgetAddressBook = QtGui.QTableWidget(self.send)
|
||||||
|
self.tableWidgetAddressBook.setMaximumSize(QtCore.QSize(200, 16777215))
|
||||||
|
self.tableWidgetAddressBook.setAlternatingRowColors(True)
|
||||||
|
self.tableWidgetAddressBook.setSelectionMode(QtGui.QAbstractItemView.ExtendedSelection)
|
||||||
|
self.tableWidgetAddressBook.setSelectionBehavior(QtGui.QAbstractItemView.SelectRows)
|
||||||
|
self.tableWidgetAddressBook.setObjectName(_fromUtf8("tableWidgetAddressBook"))
|
||||||
|
self.tableWidgetAddressBook.setColumnCount(2)
|
||||||
|
self.tableWidgetAddressBook.setRowCount(0)
|
||||||
|
item = QtGui.QTableWidgetItem()
|
||||||
|
icon3 = QtGui.QIcon()
|
||||||
|
icon3.addPixmap(QtGui.QPixmap(_fromUtf8(":/newPrefix/images/addressbook.png")), QtGui.QIcon.Selected, QtGui.QIcon.Off)
|
||||||
|
item.setIcon(icon3)
|
||||||
|
self.tableWidgetAddressBook.setHorizontalHeaderItem(0, item)
|
||||||
|
item = QtGui.QTableWidgetItem()
|
||||||
|
self.tableWidgetAddressBook.setHorizontalHeaderItem(1, item)
|
||||||
|
self.tableWidgetAddressBook.horizontalHeader().setCascadingSectionResizes(True)
|
||||||
|
self.tableWidgetAddressBook.horizontalHeader().setDefaultSectionSize(200)
|
||||||
|
self.tableWidgetAddressBook.horizontalHeader().setHighlightSections(False)
|
||||||
|
self.tableWidgetAddressBook.horizontalHeader().setStretchLastSection(True)
|
||||||
|
self.tableWidgetAddressBook.verticalHeader().setVisible(False)
|
||||||
|
self.verticalLayout_2.addWidget(self.tableWidgetAddressBook)
|
||||||
|
self.pushButtonAddAddressBook = QtGui.QPushButton(self.send)
|
||||||
|
self.pushButtonAddAddressBook.setMaximumSize(QtCore.QSize(200, 16777215))
|
||||||
|
self.pushButtonAddAddressBook.setObjectName(_fromUtf8("pushButtonAddAddressBook"))
|
||||||
|
self.verticalLayout_2.addWidget(self.pushButtonAddAddressBook)
|
||||||
|
self.pushButtonFetchNamecoinID = QtGui.QPushButton(self.send)
|
||||||
|
self.pushButtonFetchNamecoinID.setMaximumSize(QtCore.QSize(200, 16777215))
|
||||||
font = QtGui.QFont()
|
font = QtGui.QFont()
|
||||||
font.setPointSize(7)
|
font.setPointSize(9)
|
||||||
self.pushButtonLoadFromAddressBook.setFont(font)
|
self.pushButtonFetchNamecoinID.setFont(font)
|
||||||
self.pushButtonLoadFromAddressBook.setObjectName(_fromUtf8("pushButtonLoadFromAddressBook"))
|
self.pushButtonFetchNamecoinID.setObjectName(_fromUtf8("pushButtonFetchNamecoinID"))
|
||||||
self.gridLayout_2.addWidget(self.pushButtonLoadFromAddressBook, 3, 2, 1, 1)
|
self.verticalLayout_2.addWidget(self.pushButtonFetchNamecoinID)
|
||||||
self.label_3 = QtGui.QLabel(self.send)
|
self.horizontalLayout.addLayout(self.verticalLayout_2)
|
||||||
|
self.verticalLayout = QtGui.QVBoxLayout()
|
||||||
|
self.verticalLayout.setObjectName(_fromUtf8("verticalLayout"))
|
||||||
|
self.tabWidgetSend = QtGui.QTabWidget(self.send)
|
||||||
|
self.tabWidgetSend.setObjectName(_fromUtf8("tabWidgetSend"))
|
||||||
|
self.tab = QtGui.QWidget()
|
||||||
|
self.tab.setObjectName(_fromUtf8("tab"))
|
||||||
|
self.gridLayout_8 = QtGui.QGridLayout(self.tab)
|
||||||
|
self.gridLayout_8.setObjectName(_fromUtf8("gridLayout_8"))
|
||||||
|
self.verticalLayout_5 = QtGui.QVBoxLayout()
|
||||||
|
self.verticalLayout_5.setObjectName(_fromUtf8("verticalLayout_5"))
|
||||||
|
self.gridLayout_2 = QtGui.QGridLayout()
|
||||||
|
self.gridLayout_2.setObjectName(_fromUtf8("gridLayout_2"))
|
||||||
|
self.label_3 = QtGui.QLabel(self.tab)
|
||||||
self.label_3.setObjectName(_fromUtf8("label_3"))
|
self.label_3.setObjectName(_fromUtf8("label_3"))
|
||||||
self.gridLayout_2.addWidget(self.label_3, 4, 0, 1, 1)
|
self.gridLayout_2.addWidget(self.label_3, 2, 0, 1, 1)
|
||||||
self.pushButtonSend = QtGui.QPushButton(self.send)
|
self.label_2 = QtGui.QLabel(self.tab)
|
||||||
self.pushButtonSend.setObjectName(_fromUtf8("pushButtonSend"))
|
self.label_2.setObjectName(_fromUtf8("label_2"))
|
||||||
self.gridLayout_2.addWidget(self.pushButtonSend, 7, 8, 1, 1)
|
self.gridLayout_2.addWidget(self.label_2, 0, 0, 1, 1)
|
||||||
self.horizontalSliderTTL = QtGui.QSlider(self.send)
|
self.lineEditSubject = QtGui.QLineEdit(self.tab)
|
||||||
self.horizontalSliderTTL.setMinimumSize(QtCore.QSize(35, 0))
|
self.lineEditSubject.setText(_fromUtf8(""))
|
||||||
self.horizontalSliderTTL.setMaximumSize(QtCore.QSize(70, 16777215))
|
self.lineEditSubject.setObjectName(_fromUtf8("lineEditSubject"))
|
||||||
self.horizontalSliderTTL.setOrientation(QtCore.Qt.Horizontal)
|
self.gridLayout_2.addWidget(self.lineEditSubject, 2, 1, 1, 1)
|
||||||
self.horizontalSliderTTL.setInvertedAppearance(False)
|
self.label = QtGui.QLabel(self.tab)
|
||||||
self.horizontalSliderTTL.setInvertedControls(False)
|
self.label.setObjectName(_fromUtf8("label"))
|
||||||
self.horizontalSliderTTL.setObjectName(_fromUtf8("horizontalSliderTTL"))
|
self.gridLayout_2.addWidget(self.label, 1, 0, 1, 1)
|
||||||
self.gridLayout_2.addWidget(self.horizontalSliderTTL, 7, 6, 1, 1)
|
self.comboBoxSendFrom = QtGui.QComboBox(self.tab)
|
||||||
spacerItem = QtGui.QSpacerItem(20, 297, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
|
|
||||||
self.gridLayout_2.addItem(spacerItem, 6, 0, 1, 1)
|
|
||||||
self.comboBoxSendFrom = QtGui.QComboBox(self.send)
|
|
||||||
self.comboBoxSendFrom.setMinimumSize(QtCore.QSize(300, 0))
|
self.comboBoxSendFrom.setMinimumSize(QtCore.QSize(300, 0))
|
||||||
self.comboBoxSendFrom.setObjectName(_fromUtf8("comboBoxSendFrom"))
|
self.comboBoxSendFrom.setObjectName(_fromUtf8("comboBoxSendFrom"))
|
||||||
self.gridLayout_2.addWidget(self.comboBoxSendFrom, 2, 1, 1, 1)
|
self.gridLayout_2.addWidget(self.comboBoxSendFrom, 0, 1, 1, 1)
|
||||||
self.labelHumanFriendlyTTLDescription = QtGui.QLabel(self.send)
|
self.lineEditTo = QtGui.QLineEdit(self.tab)
|
||||||
sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Preferred)
|
self.lineEditTo.setObjectName(_fromUtf8("lineEditTo"))
|
||||||
sizePolicy.setHorizontalStretch(0)
|
self.gridLayout_2.addWidget(self.lineEditTo, 1, 1, 1, 1)
|
||||||
sizePolicy.setVerticalStretch(0)
|
self.verticalLayout_5.addLayout(self.gridLayout_2)
|
||||||
sizePolicy.setHeightForWidth(self.labelHumanFriendlyTTLDescription.sizePolicy().hasHeightForWidth())
|
self.textEditMessage = QtGui.QTextEdit(self.tab)
|
||||||
self.labelHumanFriendlyTTLDescription.setSizePolicy(sizePolicy)
|
self.textEditMessage.setObjectName(_fromUtf8("textEditMessage"))
|
||||||
self.labelHumanFriendlyTTLDescription.setMinimumSize(QtCore.QSize(45, 0))
|
self.verticalLayout_5.addWidget(self.textEditMessage)
|
||||||
self.labelHumanFriendlyTTLDescription.setMaximumSize(QtCore.QSize(45, 16777215))
|
self.gridLayout_8.addLayout(self.verticalLayout_5, 0, 0, 1, 1)
|
||||||
self.labelHumanFriendlyTTLDescription.setObjectName(_fromUtf8("labelHumanFriendlyTTLDescription"))
|
self.tabWidgetSend.addTab(self.tab, _fromUtf8(""))
|
||||||
self.gridLayout_2.addWidget(self.labelHumanFriendlyTTLDescription, 7, 7, 1, 1)
|
self.tab_2 = QtGui.QWidget()
|
||||||
self.label_4 = QtGui.QLabel(self.send)
|
self.tab_2.setObjectName(_fromUtf8("tab_2"))
|
||||||
self.label_4.setObjectName(_fromUtf8("label_4"))
|
self.gridLayout_9 = QtGui.QGridLayout(self.tab_2)
|
||||||
self.gridLayout_2.addWidget(self.label_4, 5, 0, 1, 1)
|
self.gridLayout_9.setObjectName(_fromUtf8("gridLayout_9"))
|
||||||
self.label = QtGui.QLabel(self.send)
|
self.verticalLayout_6 = QtGui.QVBoxLayout()
|
||||||
self.label.setObjectName(_fromUtf8("label"))
|
self.verticalLayout_6.setObjectName(_fromUtf8("verticalLayout_6"))
|
||||||
self.gridLayout_2.addWidget(self.label, 3, 0, 1, 1)
|
self.gridLayout_5 = QtGui.QGridLayout()
|
||||||
self.radioButtonSpecific = QtGui.QRadioButton(self.send)
|
self.gridLayout_5.setObjectName(_fromUtf8("gridLayout_5"))
|
||||||
self.radioButtonSpecific.setChecked(True)
|
self.label_8 = QtGui.QLabel(self.tab_2)
|
||||||
self.radioButtonSpecific.setObjectName(_fromUtf8("radioButtonSpecific"))
|
self.label_8.setObjectName(_fromUtf8("label_8"))
|
||||||
self.gridLayout_2.addWidget(self.radioButtonSpecific, 0, 1, 1, 1)
|
self.gridLayout_5.addWidget(self.label_8, 0, 0, 1, 1)
|
||||||
self.labelSendBroadcastWarning = QtGui.QLabel(self.send)
|
self.lineEditSubjectBroadcast = QtGui.QLineEdit(self.tab_2)
|
||||||
self.labelSendBroadcastWarning.setEnabled(True)
|
self.lineEditSubjectBroadcast.setText(_fromUtf8(""))
|
||||||
sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Ignored, QtGui.QSizePolicy.Preferred)
|
self.lineEditSubjectBroadcast.setObjectName(_fromUtf8("lineEditSubjectBroadcast"))
|
||||||
sizePolicy.setHorizontalStretch(0)
|
self.gridLayout_5.addWidget(self.lineEditSubjectBroadcast, 1, 1, 1, 1)
|
||||||
sizePolicy.setVerticalStretch(0)
|
self.label_7 = QtGui.QLabel(self.tab_2)
|
||||||
sizePolicy.setHeightForWidth(self.labelSendBroadcastWarning.sizePolicy().hasHeightForWidth())
|
self.label_7.setObjectName(_fromUtf8("label_7"))
|
||||||
self.labelSendBroadcastWarning.setSizePolicy(sizePolicy)
|
self.gridLayout_5.addWidget(self.label_7, 1, 0, 1, 1)
|
||||||
self.labelSendBroadcastWarning.setIndent(-1)
|
self.comboBoxSendFromBroadcast = QtGui.QComboBox(self.tab_2)
|
||||||
self.labelSendBroadcastWarning.setObjectName(_fromUtf8("labelSendBroadcastWarning"))
|
self.comboBoxSendFromBroadcast.setMinimumSize(QtCore.QSize(300, 0))
|
||||||
self.gridLayout_2.addWidget(self.labelSendBroadcastWarning, 7, 1, 1, 4)
|
self.comboBoxSendFromBroadcast.setObjectName(_fromUtf8("comboBoxSendFromBroadcast"))
|
||||||
self.radioButtonBroadcast = QtGui.QRadioButton(self.send)
|
self.gridLayout_5.addWidget(self.comboBoxSendFromBroadcast, 0, 1, 1, 1)
|
||||||
self.radioButtonBroadcast.setObjectName(_fromUtf8("radioButtonBroadcast"))
|
self.verticalLayout_6.addLayout(self.gridLayout_5)
|
||||||
self.gridLayout_2.addWidget(self.radioButtonBroadcast, 1, 1, 1, 2)
|
self.textEditMessageBroadcast = QtGui.QTextEdit(self.tab_2)
|
||||||
|
self.textEditMessageBroadcast.setObjectName(_fromUtf8("textEditMessageBroadcast"))
|
||||||
|
self.verticalLayout_6.addWidget(self.textEditMessageBroadcast)
|
||||||
|
self.gridLayout_9.addLayout(self.verticalLayout_6, 0, 0, 1, 1)
|
||||||
|
self.tabWidgetSend.addTab(self.tab_2, _fromUtf8(""))
|
||||||
|
self.verticalLayout.addWidget(self.tabWidgetSend)
|
||||||
|
self.horizontalLayout_5 = QtGui.QHBoxLayout()
|
||||||
|
self.horizontalLayout_5.setObjectName(_fromUtf8("horizontalLayout_5"))
|
||||||
self.pushButtonTTL = QtGui.QPushButton(self.send)
|
self.pushButtonTTL = QtGui.QPushButton(self.send)
|
||||||
sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed)
|
sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed)
|
||||||
sizePolicy.setHorizontalStretch(0)
|
sizePolicy.setHorizontalStretch(0)
|
||||||
|
@ -191,194 +255,187 @@ class Ui_MainWindow(object):
|
||||||
self.pushButtonTTL.setFont(font)
|
self.pushButtonTTL.setFont(font)
|
||||||
self.pushButtonTTL.setFlat(True)
|
self.pushButtonTTL.setFlat(True)
|
||||||
self.pushButtonTTL.setObjectName(_fromUtf8("pushButtonTTL"))
|
self.pushButtonTTL.setObjectName(_fromUtf8("pushButtonTTL"))
|
||||||
self.gridLayout_2.addWidget(self.pushButtonTTL, 7, 5, 1, 1)
|
self.horizontalLayout_5.addWidget(self.pushButtonTTL)
|
||||||
self.label_2 = QtGui.QLabel(self.send)
|
self.horizontalSliderTTL = QtGui.QSlider(self.send)
|
||||||
self.label_2.setObjectName(_fromUtf8("label_2"))
|
self.horizontalSliderTTL.setMinimumSize(QtCore.QSize(35, 0))
|
||||||
self.gridLayout_2.addWidget(self.label_2, 2, 0, 1, 1)
|
self.horizontalSliderTTL.setMaximumSize(QtCore.QSize(70, 16777215))
|
||||||
self.lineEditTo = QtGui.QLineEdit(self.send)
|
self.horizontalSliderTTL.setOrientation(QtCore.Qt.Horizontal)
|
||||||
self.lineEditTo.setObjectName(_fromUtf8("lineEditTo"))
|
self.horizontalSliderTTL.setInvertedAppearance(False)
|
||||||
self.gridLayout_2.addWidget(self.lineEditTo, 3, 1, 1, 1)
|
self.horizontalSliderTTL.setInvertedControls(False)
|
||||||
self.textEditMessage = QtGui.QTextEdit(self.send)
|
self.horizontalSliderTTL.setObjectName(_fromUtf8("horizontalSliderTTL"))
|
||||||
self.textEditMessage.setObjectName(_fromUtf8("textEditMessage"))
|
self.horizontalLayout_5.addWidget(self.horizontalSliderTTL)
|
||||||
self.gridLayout_2.addWidget(self.textEditMessage, 5, 1, 2, 8)
|
self.labelHumanFriendlyTTLDescription = QtGui.QLabel(self.send)
|
||||||
self.pushButtonFetchNamecoinID = QtGui.QPushButton(self.send)
|
sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Preferred)
|
||||||
font = QtGui.QFont()
|
sizePolicy.setHorizontalStretch(0)
|
||||||
font.setPointSize(7)
|
sizePolicy.setVerticalStretch(0)
|
||||||
self.pushButtonFetchNamecoinID.setFont(font)
|
sizePolicy.setHeightForWidth(self.labelHumanFriendlyTTLDescription.sizePolicy().hasHeightForWidth())
|
||||||
self.pushButtonFetchNamecoinID.setObjectName(_fromUtf8("pushButtonFetchNamecoinID"))
|
self.labelHumanFriendlyTTLDescription.setSizePolicy(sizePolicy)
|
||||||
self.gridLayout_2.addWidget(self.pushButtonFetchNamecoinID, 3, 3, 1, 1)
|
self.labelHumanFriendlyTTLDescription.setMinimumSize(QtCore.QSize(45, 0))
|
||||||
self.labelFrom = QtGui.QLabel(self.send)
|
self.labelHumanFriendlyTTLDescription.setMaximumSize(QtCore.QSize(45, 16777215))
|
||||||
self.labelFrom.setText(_fromUtf8(""))
|
self.labelHumanFriendlyTTLDescription.setObjectName(_fromUtf8("labelHumanFriendlyTTLDescription"))
|
||||||
self.labelFrom.setObjectName(_fromUtf8("labelFrom"))
|
self.horizontalLayout_5.addWidget(self.labelHumanFriendlyTTLDescription)
|
||||||
self.gridLayout_2.addWidget(self.labelFrom, 2, 2, 1, 7)
|
self.pushButtonSend = QtGui.QPushButton(self.send)
|
||||||
self.lineEditSubject = QtGui.QLineEdit(self.send)
|
self.pushButtonSend.setMaximumSize(QtCore.QSize(16777215, 16777215))
|
||||||
self.lineEditSubject.setText(_fromUtf8(""))
|
self.pushButtonSend.setObjectName(_fromUtf8("pushButtonSend"))
|
||||||
self.lineEditSubject.setObjectName(_fromUtf8("lineEditSubject"))
|
self.horizontalLayout_5.addWidget(self.pushButtonSend)
|
||||||
self.gridLayout_2.addWidget(self.lineEditSubject, 4, 1, 1, 8)
|
self.verticalLayout.addLayout(self.horizontalLayout_5)
|
||||||
icon2 = QtGui.QIcon()
|
self.horizontalLayout.addLayout(self.verticalLayout)
|
||||||
icon2.addPixmap(QtGui.QPixmap(_fromUtf8(":/newPrefix/images/send.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
|
self.gridLayout_7.addLayout(self.horizontalLayout, 0, 0, 1, 1)
|
||||||
self.tabWidget.addTab(self.send, icon2, _fromUtf8(""))
|
|
||||||
self.sent = QtGui.QWidget()
|
|
||||||
self.sent.setObjectName(_fromUtf8("sent"))
|
|
||||||
self.verticalLayout = QtGui.QVBoxLayout(self.sent)
|
|
||||||
self.verticalLayout.setObjectName(_fromUtf8("verticalLayout"))
|
|
||||||
self.horizontalLayout = QtGui.QHBoxLayout()
|
|
||||||
self.horizontalLayout.setContentsMargins(-1, 0, -1, -1)
|
|
||||||
self.horizontalLayout.setObjectName(_fromUtf8("horizontalLayout"))
|
|
||||||
self.sentSearchLineEdit = QtGui.QLineEdit(self.sent)
|
|
||||||
self.sentSearchLineEdit.setObjectName(_fromUtf8("sentSearchLineEdit"))
|
|
||||||
self.horizontalLayout.addWidget(self.sentSearchLineEdit)
|
|
||||||
self.sentSearchOptionCB = QtGui.QComboBox(self.sent)
|
|
||||||
self.sentSearchOptionCB.setObjectName(_fromUtf8("sentSearchOptionCB"))
|
|
||||||
self.sentSearchOptionCB.addItem(_fromUtf8(""))
|
|
||||||
self.sentSearchOptionCB.addItem(_fromUtf8(""))
|
|
||||||
self.sentSearchOptionCB.addItem(_fromUtf8(""))
|
|
||||||
self.sentSearchOptionCB.addItem(_fromUtf8(""))
|
|
||||||
self.sentSearchOptionCB.addItem(_fromUtf8(""))
|
|
||||||
self.horizontalLayout.addWidget(self.sentSearchOptionCB)
|
|
||||||
self.verticalLayout.addLayout(self.horizontalLayout)
|
|
||||||
self.splitter_2 = QtGui.QSplitter(self.sent)
|
|
||||||
self.splitter_2.setOrientation(QtCore.Qt.Vertical)
|
|
||||||
self.splitter_2.setObjectName(_fromUtf8("splitter_2"))
|
|
||||||
self.tableWidgetSent = QtGui.QTableWidget(self.splitter_2)
|
|
||||||
self.tableWidgetSent.setEditTriggers(QtGui.QAbstractItemView.NoEditTriggers)
|
|
||||||
self.tableWidgetSent.setDragDropMode(QtGui.QAbstractItemView.DragDrop)
|
|
||||||
self.tableWidgetSent.setAlternatingRowColors(True)
|
|
||||||
self.tableWidgetSent.setSelectionMode(QtGui.QAbstractItemView.ExtendedSelection)
|
|
||||||
self.tableWidgetSent.setSelectionBehavior(QtGui.QAbstractItemView.SelectRows)
|
|
||||||
self.tableWidgetSent.setWordWrap(False)
|
|
||||||
self.tableWidgetSent.setObjectName(_fromUtf8("tableWidgetSent"))
|
|
||||||
self.tableWidgetSent.setColumnCount(4)
|
|
||||||
self.tableWidgetSent.setRowCount(0)
|
|
||||||
item = QtGui.QTableWidgetItem()
|
|
||||||
self.tableWidgetSent.setHorizontalHeaderItem(0, item)
|
|
||||||
item = QtGui.QTableWidgetItem()
|
|
||||||
self.tableWidgetSent.setHorizontalHeaderItem(1, item)
|
|
||||||
item = QtGui.QTableWidgetItem()
|
|
||||||
self.tableWidgetSent.setHorizontalHeaderItem(2, item)
|
|
||||||
item = QtGui.QTableWidgetItem()
|
|
||||||
self.tableWidgetSent.setHorizontalHeaderItem(3, item)
|
|
||||||
self.tableWidgetSent.horizontalHeader().setCascadingSectionResizes(True)
|
|
||||||
self.tableWidgetSent.horizontalHeader().setDefaultSectionSize(130)
|
|
||||||
self.tableWidgetSent.horizontalHeader().setHighlightSections(False)
|
|
||||||
self.tableWidgetSent.horizontalHeader().setSortIndicatorShown(False)
|
|
||||||
self.tableWidgetSent.horizontalHeader().setStretchLastSection(True)
|
|
||||||
self.tableWidgetSent.verticalHeader().setVisible(False)
|
|
||||||
self.tableWidgetSent.verticalHeader().setStretchLastSection(False)
|
|
||||||
self.textEditSentMessage = QtGui.QTextEdit(self.splitter_2)
|
|
||||||
self.textEditSentMessage.setReadOnly(True)
|
|
||||||
self.textEditSentMessage.setObjectName(_fromUtf8("textEditSentMessage"))
|
|
||||||
self.verticalLayout.addWidget(self.splitter_2)
|
|
||||||
icon3 = QtGui.QIcon()
|
|
||||||
icon3.addPixmap(QtGui.QPixmap(_fromUtf8(":/newPrefix/images/sent.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
|
|
||||||
self.tabWidget.addTab(self.sent, icon3, _fromUtf8(""))
|
|
||||||
self.youridentities = QtGui.QWidget()
|
|
||||||
self.youridentities.setObjectName(_fromUtf8("youridentities"))
|
|
||||||
self.gridLayout_3 = QtGui.QGridLayout(self.youridentities)
|
|
||||||
self.gridLayout_3.setObjectName(_fromUtf8("gridLayout_3"))
|
|
||||||
self.pushButtonNewAddress = QtGui.QPushButton(self.youridentities)
|
|
||||||
self.pushButtonNewAddress.setObjectName(_fromUtf8("pushButtonNewAddress"))
|
|
||||||
self.gridLayout_3.addWidget(self.pushButtonNewAddress, 0, 0, 1, 1)
|
|
||||||
spacerItem1 = QtGui.QSpacerItem(689, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
|
|
||||||
self.gridLayout_3.addItem(spacerItem1, 0, 1, 1, 1)
|
|
||||||
self.tableWidgetYourIdentities = QtGui.QTableWidget(self.youridentities)
|
|
||||||
self.tableWidgetYourIdentities.setFrameShadow(QtGui.QFrame.Sunken)
|
|
||||||
self.tableWidgetYourIdentities.setLineWidth(1)
|
|
||||||
self.tableWidgetYourIdentities.setAlternatingRowColors(True)
|
|
||||||
self.tableWidgetYourIdentities.setSelectionMode(QtGui.QAbstractItemView.SingleSelection)
|
|
||||||
self.tableWidgetYourIdentities.setSelectionBehavior(QtGui.QAbstractItemView.SelectRows)
|
|
||||||
self.tableWidgetYourIdentities.setObjectName(_fromUtf8("tableWidgetYourIdentities"))
|
|
||||||
self.tableWidgetYourIdentities.setColumnCount(3)
|
|
||||||
self.tableWidgetYourIdentities.setRowCount(0)
|
|
||||||
item = QtGui.QTableWidgetItem()
|
|
||||||
font = QtGui.QFont()
|
|
||||||
font.setKerning(True)
|
|
||||||
item.setFont(font)
|
|
||||||
self.tableWidgetYourIdentities.setHorizontalHeaderItem(0, item)
|
|
||||||
item = QtGui.QTableWidgetItem()
|
|
||||||
self.tableWidgetYourIdentities.setHorizontalHeaderItem(1, item)
|
|
||||||
item = QtGui.QTableWidgetItem()
|
|
||||||
self.tableWidgetYourIdentities.setHorizontalHeaderItem(2, item)
|
|
||||||
self.tableWidgetYourIdentities.horizontalHeader().setCascadingSectionResizes(True)
|
|
||||||
self.tableWidgetYourIdentities.horizontalHeader().setDefaultSectionSize(346)
|
|
||||||
self.tableWidgetYourIdentities.horizontalHeader().setMinimumSectionSize(52)
|
|
||||||
self.tableWidgetYourIdentities.horizontalHeader().setSortIndicatorShown(True)
|
|
||||||
self.tableWidgetYourIdentities.horizontalHeader().setStretchLastSection(True)
|
|
||||||
self.tableWidgetYourIdentities.verticalHeader().setVisible(False)
|
|
||||||
self.tableWidgetYourIdentities.verticalHeader().setDefaultSectionSize(26)
|
|
||||||
self.tableWidgetYourIdentities.verticalHeader().setSortIndicatorShown(False)
|
|
||||||
self.tableWidgetYourIdentities.verticalHeader().setStretchLastSection(False)
|
|
||||||
self.gridLayout_3.addWidget(self.tableWidgetYourIdentities, 1, 0, 1, 2)
|
|
||||||
icon4 = QtGui.QIcon()
|
icon4 = QtGui.QIcon()
|
||||||
icon4.addPixmap(QtGui.QPixmap(_fromUtf8(":/newPrefix/images/identities.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
|
icon4.addPixmap(QtGui.QPixmap(_fromUtf8(":/newPrefix/images/send.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
|
||||||
self.tabWidget.addTab(self.youridentities, icon4, _fromUtf8(""))
|
self.tabWidget.addTab(self.send, icon4, _fromUtf8(""))
|
||||||
self.subscriptions = QtGui.QWidget()
|
self.subscriptions = QtGui.QWidget()
|
||||||
self.subscriptions.setObjectName(_fromUtf8("subscriptions"))
|
self.subscriptions.setObjectName(_fromUtf8("subscriptions"))
|
||||||
self.gridLayout_4 = QtGui.QGridLayout(self.subscriptions)
|
self.gridLayout_3 = QtGui.QGridLayout(self.subscriptions)
|
||||||
self.gridLayout_4.setObjectName(_fromUtf8("gridLayout_4"))
|
self.gridLayout_3.setObjectName(_fromUtf8("gridLayout_3"))
|
||||||
self.label_5 = QtGui.QLabel(self.subscriptions)
|
self.horizontalLayout_4 = QtGui.QHBoxLayout()
|
||||||
self.label_5.setWordWrap(True)
|
self.horizontalLayout_4.setObjectName(_fromUtf8("horizontalLayout_4"))
|
||||||
self.label_5.setObjectName(_fromUtf8("label_5"))
|
self.verticalLayout_3 = QtGui.QVBoxLayout()
|
||||||
self.gridLayout_4.addWidget(self.label_5, 0, 0, 1, 2)
|
self.verticalLayout_3.setObjectName(_fromUtf8("verticalLayout_3"))
|
||||||
self.pushButtonAddSubscription = QtGui.QPushButton(self.subscriptions)
|
self.treeWidgetSubscriptions = QtGui.QTreeWidget(self.subscriptions)
|
||||||
self.pushButtonAddSubscription.setObjectName(_fromUtf8("pushButtonAddSubscription"))
|
self.treeWidgetSubscriptions.setMaximumSize(QtCore.QSize(200, 16777215))
|
||||||
self.gridLayout_4.addWidget(self.pushButtonAddSubscription, 1, 0, 1, 1)
|
self.treeWidgetSubscriptions.setAlternatingRowColors(True)
|
||||||
spacerItem2 = QtGui.QSpacerItem(689, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
|
self.treeWidgetSubscriptions.setSelectionMode(QtGui.QAbstractItemView.SingleSelection)
|
||||||
self.gridLayout_4.addItem(spacerItem2, 1, 1, 1, 1)
|
self.treeWidgetSubscriptions.setSelectionBehavior(QtGui.QAbstractItemView.SelectRows)
|
||||||
self.tableWidgetSubscriptions = QtGui.QTableWidget(self.subscriptions)
|
self.treeWidgetSubscriptions.setObjectName(_fromUtf8("treeWidgetSubscriptions"))
|
||||||
self.tableWidgetSubscriptions.setAlternatingRowColors(True)
|
|
||||||
self.tableWidgetSubscriptions.setSelectionMode(QtGui.QAbstractItemView.SingleSelection)
|
|
||||||
self.tableWidgetSubscriptions.setSelectionBehavior(QtGui.QAbstractItemView.SelectRows)
|
|
||||||
self.tableWidgetSubscriptions.setObjectName(_fromUtf8("tableWidgetSubscriptions"))
|
|
||||||
self.tableWidgetSubscriptions.setColumnCount(2)
|
|
||||||
self.tableWidgetSubscriptions.setRowCount(0)
|
|
||||||
item = QtGui.QTableWidgetItem()
|
|
||||||
self.tableWidgetSubscriptions.setHorizontalHeaderItem(0, item)
|
|
||||||
item = QtGui.QTableWidgetItem()
|
|
||||||
self.tableWidgetSubscriptions.setHorizontalHeaderItem(1, item)
|
|
||||||
self.tableWidgetSubscriptions.horizontalHeader().setCascadingSectionResizes(True)
|
|
||||||
self.tableWidgetSubscriptions.horizontalHeader().setDefaultSectionSize(400)
|
|
||||||
self.tableWidgetSubscriptions.horizontalHeader().setHighlightSections(False)
|
|
||||||
self.tableWidgetSubscriptions.horizontalHeader().setSortIndicatorShown(False)
|
|
||||||
self.tableWidgetSubscriptions.horizontalHeader().setStretchLastSection(True)
|
|
||||||
self.tableWidgetSubscriptions.verticalHeader().setVisible(False)
|
|
||||||
self.gridLayout_4.addWidget(self.tableWidgetSubscriptions, 2, 0, 1, 2)
|
|
||||||
icon5 = QtGui.QIcon()
|
icon5 = QtGui.QIcon()
|
||||||
icon5.addPixmap(QtGui.QPixmap(_fromUtf8(":/newPrefix/images/subscriptions.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
|
icon5.addPixmap(QtGui.QPixmap(_fromUtf8(":/newPrefix/images/subscriptions.png")), QtGui.QIcon.Selected, QtGui.QIcon.Off)
|
||||||
self.tabWidget.addTab(self.subscriptions, icon5, _fromUtf8(""))
|
self.treeWidgetSubscriptions.headerItem().setIcon(0, icon5)
|
||||||
self.addressbook = QtGui.QWidget()
|
self.verticalLayout_3.addWidget(self.treeWidgetSubscriptions)
|
||||||
self.addressbook.setObjectName(_fromUtf8("addressbook"))
|
self.pushButtonAddSubscription = QtGui.QPushButton(self.subscriptions)
|
||||||
self.gridLayout_5 = QtGui.QGridLayout(self.addressbook)
|
self.pushButtonAddSubscription.setMaximumSize(QtCore.QSize(200, 16777215))
|
||||||
self.gridLayout_5.setObjectName(_fromUtf8("gridLayout_5"))
|
self.pushButtonAddSubscription.setObjectName(_fromUtf8("pushButtonAddSubscription"))
|
||||||
self.label_6 = QtGui.QLabel(self.addressbook)
|
self.verticalLayout_3.addWidget(self.pushButtonAddSubscription)
|
||||||
self.label_6.setWordWrap(True)
|
self.horizontalLayout_4.addLayout(self.verticalLayout_3)
|
||||||
self.label_6.setObjectName(_fromUtf8("label_6"))
|
self.verticalLayout_4 = QtGui.QVBoxLayout()
|
||||||
self.gridLayout_5.addWidget(self.label_6, 0, 0, 1, 2)
|
self.verticalLayout_4.setObjectName(_fromUtf8("verticalLayout_4"))
|
||||||
self.pushButtonAddAddressBook = QtGui.QPushButton(self.addressbook)
|
self.horizontalLayout_2 = QtGui.QHBoxLayout()
|
||||||
self.pushButtonAddAddressBook.setObjectName(_fromUtf8("pushButtonAddAddressBook"))
|
self.horizontalLayout_2.setObjectName(_fromUtf8("horizontalLayout_2"))
|
||||||
self.gridLayout_5.addWidget(self.pushButtonAddAddressBook, 1, 0, 1, 1)
|
self.inboxSearchLineEditSubscriptions = QtGui.QLineEdit(self.subscriptions)
|
||||||
spacerItem3 = QtGui.QSpacerItem(689, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
|
self.inboxSearchLineEditSubscriptions.setObjectName(_fromUtf8("inboxSearchLineEditSubscriptions"))
|
||||||
self.gridLayout_5.addItem(spacerItem3, 1, 1, 1, 1)
|
self.horizontalLayout_2.addWidget(self.inboxSearchLineEditSubscriptions)
|
||||||
self.tableWidgetAddressBook = QtGui.QTableWidget(self.addressbook)
|
self.inboxSearchOptionSubscriptions = QtGui.QComboBox(self.subscriptions)
|
||||||
self.tableWidgetAddressBook.setAlternatingRowColors(True)
|
self.inboxSearchOptionSubscriptions.setObjectName(_fromUtf8("inboxSearchOptionSubscriptions"))
|
||||||
self.tableWidgetAddressBook.setSelectionMode(QtGui.QAbstractItemView.ExtendedSelection)
|
self.inboxSearchOptionSubscriptions.addItem(_fromUtf8(""))
|
||||||
self.tableWidgetAddressBook.setSelectionBehavior(QtGui.QAbstractItemView.SelectRows)
|
self.inboxSearchOptionSubscriptions.addItem(_fromUtf8(""))
|
||||||
self.tableWidgetAddressBook.setObjectName(_fromUtf8("tableWidgetAddressBook"))
|
self.inboxSearchOptionSubscriptions.addItem(_fromUtf8(""))
|
||||||
self.tableWidgetAddressBook.setColumnCount(2)
|
self.inboxSearchOptionSubscriptions.addItem(_fromUtf8(""))
|
||||||
self.tableWidgetAddressBook.setRowCount(0)
|
self.inboxSearchOptionSubscriptions.addItem(_fromUtf8(""))
|
||||||
|
self.horizontalLayout_2.addWidget(self.inboxSearchOptionSubscriptions)
|
||||||
|
self.verticalLayout_4.addLayout(self.horizontalLayout_2)
|
||||||
|
self.tableWidgetInboxSubscriptions = QtGui.QTableWidget(self.subscriptions)
|
||||||
|
self.tableWidgetInboxSubscriptions.setEditTriggers(QtGui.QAbstractItemView.NoEditTriggers)
|
||||||
|
self.tableWidgetInboxSubscriptions.setAlternatingRowColors(True)
|
||||||
|
self.tableWidgetInboxSubscriptions.setSelectionMode(QtGui.QAbstractItemView.ExtendedSelection)
|
||||||
|
self.tableWidgetInboxSubscriptions.setSelectionBehavior(QtGui.QAbstractItemView.SelectRows)
|
||||||
|
self.tableWidgetInboxSubscriptions.setWordWrap(False)
|
||||||
|
self.tableWidgetInboxSubscriptions.setObjectName(_fromUtf8("tableWidgetInboxSubscriptions"))
|
||||||
|
self.tableWidgetInboxSubscriptions.setColumnCount(4)
|
||||||
|
self.tableWidgetInboxSubscriptions.setRowCount(0)
|
||||||
item = QtGui.QTableWidgetItem()
|
item = QtGui.QTableWidgetItem()
|
||||||
self.tableWidgetAddressBook.setHorizontalHeaderItem(0, item)
|
self.tableWidgetInboxSubscriptions.setHorizontalHeaderItem(0, item)
|
||||||
item = QtGui.QTableWidgetItem()
|
item = QtGui.QTableWidgetItem()
|
||||||
self.tableWidgetAddressBook.setHorizontalHeaderItem(1, item)
|
self.tableWidgetInboxSubscriptions.setHorizontalHeaderItem(1, item)
|
||||||
self.tableWidgetAddressBook.horizontalHeader().setCascadingSectionResizes(True)
|
item = QtGui.QTableWidgetItem()
|
||||||
self.tableWidgetAddressBook.horizontalHeader().setDefaultSectionSize(400)
|
self.tableWidgetInboxSubscriptions.setHorizontalHeaderItem(2, item)
|
||||||
self.tableWidgetAddressBook.horizontalHeader().setHighlightSections(False)
|
item = QtGui.QTableWidgetItem()
|
||||||
self.tableWidgetAddressBook.horizontalHeader().setStretchLastSection(True)
|
self.tableWidgetInboxSubscriptions.setHorizontalHeaderItem(3, item)
|
||||||
self.tableWidgetAddressBook.verticalHeader().setVisible(False)
|
self.tableWidgetInboxSubscriptions.horizontalHeader().setCascadingSectionResizes(True)
|
||||||
self.gridLayout_5.addWidget(self.tableWidgetAddressBook, 2, 0, 1, 2)
|
self.tableWidgetInboxSubscriptions.horizontalHeader().setDefaultSectionSize(200)
|
||||||
|
self.tableWidgetInboxSubscriptions.horizontalHeader().setHighlightSections(False)
|
||||||
|
self.tableWidgetInboxSubscriptions.horizontalHeader().setMinimumSectionSize(27)
|
||||||
|
self.tableWidgetInboxSubscriptions.horizontalHeader().setSortIndicatorShown(False)
|
||||||
|
self.tableWidgetInboxSubscriptions.horizontalHeader().setStretchLastSection(True)
|
||||||
|
self.tableWidgetInboxSubscriptions.verticalHeader().setVisible(False)
|
||||||
|
self.tableWidgetInboxSubscriptions.verticalHeader().setDefaultSectionSize(26)
|
||||||
|
self.verticalLayout_4.addWidget(self.tableWidgetInboxSubscriptions)
|
||||||
|
self.textEditInboxMessageSubscriptions = QtGui.QTextEdit(self.subscriptions)
|
||||||
|
self.textEditInboxMessageSubscriptions.setBaseSize(QtCore.QSize(0, 500))
|
||||||
|
self.textEditInboxMessageSubscriptions.setReadOnly(True)
|
||||||
|
self.textEditInboxMessageSubscriptions.setObjectName(_fromUtf8("textEditInboxMessageSubscriptions"))
|
||||||
|
self.verticalLayout_4.addWidget(self.textEditInboxMessageSubscriptions)
|
||||||
|
self.horizontalLayout_4.addLayout(self.verticalLayout_4)
|
||||||
|
self.gridLayout_3.addLayout(self.horizontalLayout_4, 0, 0, 1, 1)
|
||||||
icon6 = QtGui.QIcon()
|
icon6 = QtGui.QIcon()
|
||||||
icon6.addPixmap(QtGui.QPixmap(_fromUtf8(":/newPrefix/images/addressbook.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
|
icon6.addPixmap(QtGui.QPixmap(_fromUtf8(":/newPrefix/images/subscriptions.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
|
||||||
self.tabWidget.addTab(self.addressbook, icon6, _fromUtf8(""))
|
self.tabWidget.addTab(self.subscriptions, icon6, _fromUtf8(""))
|
||||||
|
self.tab_3 = QtGui.QWidget()
|
||||||
|
self.tab_3.setObjectName(_fromUtf8("tab_3"))
|
||||||
|
self.gridLayout_4 = QtGui.QGridLayout(self.tab_3)
|
||||||
|
self.gridLayout_4.setObjectName(_fromUtf8("gridLayout_4"))
|
||||||
|
self.horizontalLayout_7 = QtGui.QHBoxLayout()
|
||||||
|
self.horizontalLayout_7.setObjectName(_fromUtf8("horizontalLayout_7"))
|
||||||
|
self.verticalLayout_17 = QtGui.QVBoxLayout()
|
||||||
|
self.verticalLayout_17.setObjectName(_fromUtf8("verticalLayout_17"))
|
||||||
|
self.treeWidgetChans = QtGui.QTreeWidget(self.tab_3)
|
||||||
|
self.treeWidgetChans.setMaximumSize(QtCore.QSize(200, 16777215))
|
||||||
|
self.treeWidgetChans.setFrameShadow(QtGui.QFrame.Sunken)
|
||||||
|
self.treeWidgetChans.setLineWidth(1)
|
||||||
|
self.treeWidgetChans.setAlternatingRowColors(True)
|
||||||
|
self.treeWidgetChans.setSelectionMode(QtGui.QAbstractItemView.SingleSelection)
|
||||||
|
self.treeWidgetChans.setSelectionBehavior(QtGui.QAbstractItemView.SelectRows)
|
||||||
|
self.treeWidgetChans.setObjectName(_fromUtf8("treeWidgetChans"))
|
||||||
|
icon7 = QtGui.QIcon()
|
||||||
|
icon7.addPixmap(QtGui.QPixmap(_fromUtf8(":/newPrefix/images/can-icon-16px.png")), QtGui.QIcon.Selected, QtGui.QIcon.Off)
|
||||||
|
self.treeWidgetChans.headerItem().setIcon(0, icon7)
|
||||||
|
self.verticalLayout_17.addWidget(self.treeWidgetChans)
|
||||||
|
self.pushButtonAddChan = QtGui.QPushButton(self.tab_3)
|
||||||
|
self.pushButtonAddChan.setMaximumSize(QtCore.QSize(200, 16777215))
|
||||||
|
self.pushButtonAddChan.setObjectName(_fromUtf8("pushButtonAddChan"))
|
||||||
|
self.verticalLayout_17.addWidget(self.pushButtonAddChan)
|
||||||
|
self.horizontalLayout_7.addLayout(self.verticalLayout_17)
|
||||||
|
self.verticalLayout_8 = QtGui.QVBoxLayout()
|
||||||
|
self.verticalLayout_8.setObjectName(_fromUtf8("verticalLayout_8"))
|
||||||
|
self.horizontalLayout_6 = QtGui.QHBoxLayout()
|
||||||
|
self.horizontalLayout_6.setObjectName(_fromUtf8("horizontalLayout_6"))
|
||||||
|
self.inboxSearchLineEditChans = QtGui.QLineEdit(self.tab_3)
|
||||||
|
self.inboxSearchLineEditChans.setObjectName(_fromUtf8("inboxSearchLineEditChans"))
|
||||||
|
self.horizontalLayout_6.addWidget(self.inboxSearchLineEditChans)
|
||||||
|
self.inboxSearchOptionChans = QtGui.QComboBox(self.tab_3)
|
||||||
|
self.inboxSearchOptionChans.setObjectName(_fromUtf8("inboxSearchOptionChans"))
|
||||||
|
self.inboxSearchOptionChans.addItem(_fromUtf8(""))
|
||||||
|
self.inboxSearchOptionChans.addItem(_fromUtf8(""))
|
||||||
|
self.inboxSearchOptionChans.addItem(_fromUtf8(""))
|
||||||
|
self.inboxSearchOptionChans.addItem(_fromUtf8(""))
|
||||||
|
self.inboxSearchOptionChans.addItem(_fromUtf8(""))
|
||||||
|
self.horizontalLayout_6.addWidget(self.inboxSearchOptionChans)
|
||||||
|
self.verticalLayout_8.addLayout(self.horizontalLayout_6)
|
||||||
|
self.tableWidgetInboxChans = QtGui.QTableWidget(self.tab_3)
|
||||||
|
self.tableWidgetInboxChans.setEditTriggers(QtGui.QAbstractItemView.NoEditTriggers)
|
||||||
|
self.tableWidgetInboxChans.setAlternatingRowColors(True)
|
||||||
|
self.tableWidgetInboxChans.setSelectionMode(QtGui.QAbstractItemView.ExtendedSelection)
|
||||||
|
self.tableWidgetInboxChans.setSelectionBehavior(QtGui.QAbstractItemView.SelectRows)
|
||||||
|
self.tableWidgetInboxChans.setWordWrap(False)
|
||||||
|
self.tableWidgetInboxChans.setObjectName(_fromUtf8("tableWidgetInboxChans"))
|
||||||
|
self.tableWidgetInboxChans.setColumnCount(4)
|
||||||
|
self.tableWidgetInboxChans.setRowCount(0)
|
||||||
|
item = QtGui.QTableWidgetItem()
|
||||||
|
self.tableWidgetInboxChans.setHorizontalHeaderItem(0, item)
|
||||||
|
item = QtGui.QTableWidgetItem()
|
||||||
|
self.tableWidgetInboxChans.setHorizontalHeaderItem(1, item)
|
||||||
|
item = QtGui.QTableWidgetItem()
|
||||||
|
self.tableWidgetInboxChans.setHorizontalHeaderItem(2, item)
|
||||||
|
item = QtGui.QTableWidgetItem()
|
||||||
|
self.tableWidgetInboxChans.setHorizontalHeaderItem(3, item)
|
||||||
|
self.tableWidgetInboxChans.horizontalHeader().setCascadingSectionResizes(True)
|
||||||
|
self.tableWidgetInboxChans.horizontalHeader().setDefaultSectionSize(200)
|
||||||
|
self.tableWidgetInboxChans.horizontalHeader().setHighlightSections(False)
|
||||||
|
self.tableWidgetInboxChans.horizontalHeader().setMinimumSectionSize(27)
|
||||||
|
self.tableWidgetInboxChans.horizontalHeader().setSortIndicatorShown(False)
|
||||||
|
self.tableWidgetInboxChans.horizontalHeader().setStretchLastSection(True)
|
||||||
|
self.tableWidgetInboxChans.verticalHeader().setVisible(False)
|
||||||
|
self.tableWidgetInboxChans.verticalHeader().setDefaultSectionSize(26)
|
||||||
|
self.verticalLayout_8.addWidget(self.tableWidgetInboxChans)
|
||||||
|
self.textEditInboxMessageChans = QtGui.QTextEdit(self.tab_3)
|
||||||
|
self.textEditInboxMessageChans.setBaseSize(QtCore.QSize(0, 500))
|
||||||
|
self.textEditInboxMessageChans.setReadOnly(True)
|
||||||
|
self.textEditInboxMessageChans.setObjectName(_fromUtf8("textEditInboxMessageChans"))
|
||||||
|
self.verticalLayout_8.addWidget(self.textEditInboxMessageChans)
|
||||||
|
self.horizontalLayout_7.addLayout(self.verticalLayout_8)
|
||||||
|
self.gridLayout_4.addLayout(self.horizontalLayout_7, 0, 0, 1, 1)
|
||||||
|
icon8 = QtGui.QIcon()
|
||||||
|
icon8.addPixmap(QtGui.QPixmap(_fromUtf8(":/newPrefix/images/can-icon-16px.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
|
||||||
|
self.tabWidget.addTab(self.tab_3, icon8, _fromUtf8(""))
|
||||||
self.blackwhitelist = QtGui.QWidget()
|
self.blackwhitelist = QtGui.QWidget()
|
||||||
self.blackwhitelist.setObjectName(_fromUtf8("blackwhitelist"))
|
self.blackwhitelist.setObjectName(_fromUtf8("blackwhitelist"))
|
||||||
self.gridLayout_6 = QtGui.QGridLayout(self.blackwhitelist)
|
self.gridLayout_6 = QtGui.QGridLayout(self.blackwhitelist)
|
||||||
|
@ -393,8 +450,8 @@ class Ui_MainWindow(object):
|
||||||
self.pushButtonAddBlacklist = QtGui.QPushButton(self.blackwhitelist)
|
self.pushButtonAddBlacklist = QtGui.QPushButton(self.blackwhitelist)
|
||||||
self.pushButtonAddBlacklist.setObjectName(_fromUtf8("pushButtonAddBlacklist"))
|
self.pushButtonAddBlacklist.setObjectName(_fromUtf8("pushButtonAddBlacklist"))
|
||||||
self.gridLayout_6.addWidget(self.pushButtonAddBlacklist, 2, 0, 1, 1)
|
self.gridLayout_6.addWidget(self.pushButtonAddBlacklist, 2, 0, 1, 1)
|
||||||
spacerItem4 = QtGui.QSpacerItem(689, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
|
spacerItem = QtGui.QSpacerItem(689, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
|
||||||
self.gridLayout_6.addItem(spacerItem4, 2, 1, 1, 1)
|
self.gridLayout_6.addItem(spacerItem, 2, 1, 1, 1)
|
||||||
self.tableWidgetBlacklist = QtGui.QTableWidget(self.blackwhitelist)
|
self.tableWidgetBlacklist = QtGui.QTableWidget(self.blackwhitelist)
|
||||||
self.tableWidgetBlacklist.setAlternatingRowColors(True)
|
self.tableWidgetBlacklist.setAlternatingRowColors(True)
|
||||||
self.tableWidgetBlacklist.setSelectionMode(QtGui.QAbstractItemView.SingleSelection)
|
self.tableWidgetBlacklist.setSelectionMode(QtGui.QAbstractItemView.SingleSelection)
|
||||||
|
@ -413,17 +470,17 @@ class Ui_MainWindow(object):
|
||||||
self.tableWidgetBlacklist.horizontalHeader().setStretchLastSection(True)
|
self.tableWidgetBlacklist.horizontalHeader().setStretchLastSection(True)
|
||||||
self.tableWidgetBlacklist.verticalHeader().setVisible(False)
|
self.tableWidgetBlacklist.verticalHeader().setVisible(False)
|
||||||
self.gridLayout_6.addWidget(self.tableWidgetBlacklist, 3, 0, 1, 2)
|
self.gridLayout_6.addWidget(self.tableWidgetBlacklist, 3, 0, 1, 2)
|
||||||
icon7 = QtGui.QIcon()
|
icon9 = QtGui.QIcon()
|
||||||
icon7.addPixmap(QtGui.QPixmap(_fromUtf8(":/newPrefix/images/blacklist.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
|
icon9.addPixmap(QtGui.QPixmap(_fromUtf8(":/newPrefix/images/blacklist.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
|
||||||
self.tabWidget.addTab(self.blackwhitelist, icon7, _fromUtf8(""))
|
self.tabWidget.addTab(self.blackwhitelist, icon9, _fromUtf8(""))
|
||||||
self.networkstatus = QtGui.QWidget()
|
self.networkstatus = QtGui.QWidget()
|
||||||
self.networkstatus.setObjectName(_fromUtf8("networkstatus"))
|
self.networkstatus.setObjectName(_fromUtf8("networkstatus"))
|
||||||
self.pushButtonStatusIcon = QtGui.QPushButton(self.networkstatus)
|
self.pushButtonStatusIcon = QtGui.QPushButton(self.networkstatus)
|
||||||
self.pushButtonStatusIcon.setGeometry(QtCore.QRect(680, 440, 21, 23))
|
self.pushButtonStatusIcon.setGeometry(QtCore.QRect(680, 440, 21, 23))
|
||||||
self.pushButtonStatusIcon.setText(_fromUtf8(""))
|
self.pushButtonStatusIcon.setText(_fromUtf8(""))
|
||||||
icon8 = QtGui.QIcon()
|
icon10 = QtGui.QIcon()
|
||||||
icon8.addPixmap(QtGui.QPixmap(_fromUtf8(":/newPrefix/images/redicon.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
|
icon10.addPixmap(QtGui.QPixmap(_fromUtf8(":/newPrefix/images/redicon.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
|
||||||
self.pushButtonStatusIcon.setIcon(icon8)
|
self.pushButtonStatusIcon.setIcon(icon10)
|
||||||
self.pushButtonStatusIcon.setFlat(True)
|
self.pushButtonStatusIcon.setFlat(True)
|
||||||
self.pushButtonStatusIcon.setObjectName(_fromUtf8("pushButtonStatusIcon"))
|
self.pushButtonStatusIcon.setObjectName(_fromUtf8("pushButtonStatusIcon"))
|
||||||
self.tableWidgetConnectionCount = QtGui.QTableWidget(self.networkstatus)
|
self.tableWidgetConnectionCount = QtGui.QTableWidget(self.networkstatus)
|
||||||
|
@ -479,13 +536,13 @@ class Ui_MainWindow(object):
|
||||||
self.labelBytesSentCount = QtGui.QLabel(self.networkstatus)
|
self.labelBytesSentCount = QtGui.QLabel(self.networkstatus)
|
||||||
self.labelBytesSentCount.setGeometry(QtCore.QRect(350, 230, 251, 16))
|
self.labelBytesSentCount.setGeometry(QtCore.QRect(350, 230, 251, 16))
|
||||||
self.labelBytesSentCount.setObjectName(_fromUtf8("labelBytesSentCount"))
|
self.labelBytesSentCount.setObjectName(_fromUtf8("labelBytesSentCount"))
|
||||||
icon9 = QtGui.QIcon()
|
icon11 = QtGui.QIcon()
|
||||||
icon9.addPixmap(QtGui.QPixmap(_fromUtf8(":/newPrefix/images/networkstatus.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
|
icon11.addPixmap(QtGui.QPixmap(_fromUtf8(":/newPrefix/images/networkstatus.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
|
||||||
self.tabWidget.addTab(self.networkstatus, icon9, _fromUtf8(""))
|
self.tabWidget.addTab(self.networkstatus, icon11, _fromUtf8(""))
|
||||||
self.gridLayout.addWidget(self.tabWidget, 0, 0, 1, 1)
|
self.gridLayout_10.addWidget(self.tabWidget, 0, 0, 1, 1)
|
||||||
MainWindow.setCentralWidget(self.centralwidget)
|
MainWindow.setCentralWidget(self.centralwidget)
|
||||||
self.menubar = QtGui.QMenuBar(MainWindow)
|
self.menubar = QtGui.QMenuBar(MainWindow)
|
||||||
self.menubar.setGeometry(QtCore.QRect(0, 0, 885, 21))
|
self.menubar.setGeometry(QtCore.QRect(0, 0, 885, 27))
|
||||||
self.menubar.setObjectName(_fromUtf8("menubar"))
|
self.menubar.setObjectName(_fromUtf8("menubar"))
|
||||||
self.menuFile = QtGui.QMenu(self.menubar)
|
self.menuFile = QtGui.QMenu(self.menubar)
|
||||||
self.menuFile.setObjectName(_fromUtf8("menuFile"))
|
self.menuFile.setObjectName(_fromUtf8("menuFile"))
|
||||||
|
@ -537,7 +594,6 @@ class Ui_MainWindow(object):
|
||||||
self.menuFile.addAction(self.actionManageKeys)
|
self.menuFile.addAction(self.actionManageKeys)
|
||||||
self.menuFile.addAction(self.actionDeleteAllTrashedMessages)
|
self.menuFile.addAction(self.actionDeleteAllTrashedMessages)
|
||||||
self.menuFile.addAction(self.actionRegenerateDeterministicAddresses)
|
self.menuFile.addAction(self.actionRegenerateDeterministicAddresses)
|
||||||
self.menuFile.addAction(self.actionJoinChan)
|
|
||||||
self.menuFile.addAction(self.actionExit)
|
self.menuFile.addAction(self.actionExit)
|
||||||
self.menuSettings.addAction(self.actionSettings)
|
self.menuSettings.addAction(self.actionSettings)
|
||||||
self.menuHelp.addAction(self.actionHelp)
|
self.menuHelp.addAction(self.actionHelp)
|
||||||
|
@ -548,29 +604,15 @@ class Ui_MainWindow(object):
|
||||||
|
|
||||||
self.retranslateUi(MainWindow)
|
self.retranslateUi(MainWindow)
|
||||||
self.tabWidget.setCurrentIndex(0)
|
self.tabWidget.setCurrentIndex(0)
|
||||||
QtCore.QObject.connect(self.radioButtonSpecific, QtCore.SIGNAL(_fromUtf8("toggled(bool)")), self.lineEditTo.setEnabled)
|
self.tabWidgetSend.setCurrentIndex(0)
|
||||||
QtCore.QObject.connect(self.radioButtonSpecific, QtCore.SIGNAL(_fromUtf8("clicked(bool)")), self.labelSendBroadcastWarning.hide)
|
|
||||||
QtCore.QObject.connect(self.radioButtonBroadcast, QtCore.SIGNAL(_fromUtf8("clicked()")), self.labelSendBroadcastWarning.show)
|
|
||||||
QtCore.QMetaObject.connectSlotsByName(MainWindow)
|
QtCore.QMetaObject.connectSlotsByName(MainWindow)
|
||||||
MainWindow.setTabOrder(self.tabWidget, self.tableWidgetInbox)
|
|
||||||
MainWindow.setTabOrder(self.tableWidgetInbox, self.textEditInboxMessage)
|
MainWindow.setTabOrder(self.tableWidgetInbox, self.textEditInboxMessage)
|
||||||
MainWindow.setTabOrder(self.textEditInboxMessage, self.radioButtonSpecific)
|
MainWindow.setTabOrder(self.textEditInboxMessage, self.comboBoxSendFrom)
|
||||||
MainWindow.setTabOrder(self.radioButtonSpecific, self.radioButtonBroadcast)
|
|
||||||
MainWindow.setTabOrder(self.radioButtonBroadcast, self.comboBoxSendFrom)
|
|
||||||
MainWindow.setTabOrder(self.comboBoxSendFrom, self.lineEditTo)
|
MainWindow.setTabOrder(self.comboBoxSendFrom, self.lineEditTo)
|
||||||
MainWindow.setTabOrder(self.lineEditTo, self.pushButtonLoadFromAddressBook)
|
MainWindow.setTabOrder(self.lineEditTo, self.lineEditSubject)
|
||||||
MainWindow.setTabOrder(self.pushButtonLoadFromAddressBook, self.lineEditSubject)
|
|
||||||
MainWindow.setTabOrder(self.lineEditSubject, self.textEditMessage)
|
MainWindow.setTabOrder(self.lineEditSubject, self.textEditMessage)
|
||||||
MainWindow.setTabOrder(self.textEditMessage, self.pushButtonSend)
|
MainWindow.setTabOrder(self.textEditMessage, self.pushButtonAddSubscription)
|
||||||
MainWindow.setTabOrder(self.pushButtonSend, self.tableWidgetSent)
|
MainWindow.setTabOrder(self.pushButtonAddSubscription, self.radioButtonBlacklist)
|
||||||
MainWindow.setTabOrder(self.tableWidgetSent, self.textEditSentMessage)
|
|
||||||
MainWindow.setTabOrder(self.textEditSentMessage, self.pushButtonNewAddress)
|
|
||||||
MainWindow.setTabOrder(self.pushButtonNewAddress, self.tableWidgetYourIdentities)
|
|
||||||
MainWindow.setTabOrder(self.tableWidgetYourIdentities, self.pushButtonAddSubscription)
|
|
||||||
MainWindow.setTabOrder(self.pushButtonAddSubscription, self.tableWidgetSubscriptions)
|
|
||||||
MainWindow.setTabOrder(self.tableWidgetSubscriptions, self.pushButtonAddAddressBook)
|
|
||||||
MainWindow.setTabOrder(self.pushButtonAddAddressBook, self.tableWidgetAddressBook)
|
|
||||||
MainWindow.setTabOrder(self.tableWidgetAddressBook, self.radioButtonBlacklist)
|
|
||||||
MainWindow.setTabOrder(self.radioButtonBlacklist, self.radioButtonWhitelist)
|
MainWindow.setTabOrder(self.radioButtonBlacklist, self.radioButtonWhitelist)
|
||||||
MainWindow.setTabOrder(self.radioButtonWhitelist, self.pushButtonAddBlacklist)
|
MainWindow.setTabOrder(self.radioButtonWhitelist, self.pushButtonAddBlacklist)
|
||||||
MainWindow.setTabOrder(self.pushButtonAddBlacklist, self.tableWidgetBlacklist)
|
MainWindow.setTabOrder(self.pushButtonAddBlacklist, self.tableWidgetBlacklist)
|
||||||
|
@ -579,12 +621,14 @@ 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.treeWidgetYourIdentities.headerItem().setText(0, _translate("MainWindow", "Identities", None))
|
||||||
|
self.pushButtonNewAddress.setText(_translate("MainWindow", "New Indentitiy", None))
|
||||||
self.inboxSearchLineEdit.setPlaceholderText(_translate("MainWindow", "Search", None))
|
self.inboxSearchLineEdit.setPlaceholderText(_translate("MainWindow", "Search", None))
|
||||||
self.inboxSearchOptionCB.setItemText(0, _translate("MainWindow", "All", None))
|
self.inboxSearchOption.setItemText(0, _translate("MainWindow", "All", None))
|
||||||
self.inboxSearchOptionCB.setItemText(1, _translate("MainWindow", "To", None))
|
self.inboxSearchOption.setItemText(1, _translate("MainWindow", "To", None))
|
||||||
self.inboxSearchOptionCB.setItemText(2, _translate("MainWindow", "From", None))
|
self.inboxSearchOption.setItemText(2, _translate("MainWindow", "From", None))
|
||||||
self.inboxSearchOptionCB.setItemText(3, _translate("MainWindow", "Subject", None))
|
self.inboxSearchOption.setItemText(3, _translate("MainWindow", "Subject", None))
|
||||||
self.inboxSearchOptionCB.setItemText(4, _translate("MainWindow", "Message", None))
|
self.inboxSearchOption.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))
|
||||||
|
@ -594,66 +638,71 @@ class Ui_MainWindow(object):
|
||||||
item.setText(_translate("MainWindow", "Subject", None))
|
item.setText(_translate("MainWindow", "Subject", None))
|
||||||
item = self.tableWidgetInbox.horizontalHeaderItem(3)
|
item = self.tableWidgetInbox.horizontalHeaderItem(3)
|
||||||
item.setText(_translate("MainWindow", "Received", None))
|
item.setText(_translate("MainWindow", "Received", None))
|
||||||
self.tabWidget.setTabText(self.tabWidget.indexOf(self.inbox), _translate("MainWindow", "Inbox", None))
|
self.tabWidget.setTabText(self.tabWidget.indexOf(self.inbox), _translate("MainWindow", "Messages", None))
|
||||||
self.pushButtonLoadFromAddressBook.setText(_translate("MainWindow", "Load from Address book", None))
|
self.tableWidgetAddressBook.setSortingEnabled(True)
|
||||||
|
item = self.tableWidgetAddressBook.horizontalHeaderItem(0)
|
||||||
|
item.setText(_translate("MainWindow", "Address book", None))
|
||||||
|
item = self.tableWidgetAddressBook.horizontalHeaderItem(1)
|
||||||
|
item.setText(_translate("MainWindow", "Address", None))
|
||||||
|
self.pushButtonAddAddressBook.setText(_translate("MainWindow", "Add Contact", None))
|
||||||
|
self.pushButtonFetchNamecoinID.setText(_translate("MainWindow", "Fetch Namecoin ID", None))
|
||||||
self.label_3.setText(_translate("MainWindow", "Subject:", None))
|
self.label_3.setText(_translate("MainWindow", "Subject:", None))
|
||||||
self.pushButtonSend.setText(_translate("MainWindow", "Send", None))
|
|
||||||
self.labelHumanFriendlyTTLDescription.setText(_translate("MainWindow", "X days", None))
|
|
||||||
self.label_4.setText(_translate("MainWindow", "Message:", None))
|
|
||||||
self.label.setText(_translate("MainWindow", "To:", None))
|
|
||||||
self.radioButtonSpecific.setText(_translate("MainWindow", "Send to one or more specific people", None))
|
|
||||||
self.labelSendBroadcastWarning.setText(_translate("MainWindow", "Be aware that broadcasts are only encrypted with your address. Anyone who knows your address can read them.", None))
|
|
||||||
self.radioButtonBroadcast.setText(_translate("MainWindow", "Broadcast to everyone who is subscribed to your address", None))
|
|
||||||
self.pushButtonTTL.setText(_translate("MainWindow", "TTL:", None))
|
|
||||||
self.label_2.setText(_translate("MainWindow", "From:", None))
|
self.label_2.setText(_translate("MainWindow", "From:", None))
|
||||||
|
self.label.setText(_translate("MainWindow", "To:", None))
|
||||||
self.textEditMessage.setHtml(_translate("MainWindow", "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" \"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
|
self.textEditMessage.setHtml(_translate("MainWindow", "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" \"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
|
||||||
"<html><head><meta name=\"qrichtext\" content=\"1\" /><style type=\"text/css\">\n"
|
"<html><head><meta name=\"qrichtext\" content=\"1\" /><style type=\"text/css\">\n"
|
||||||
"p, li { white-space: pre-wrap; }\n"
|
"p, li { white-space: pre-wrap; }\n"
|
||||||
"</style></head><body style=\" font-family:\'MS Shell Dlg 2\'; font-size:9pt; font-weight:400; font-style:normal;\">\n"
|
"</style></head><body style=\" font-family:\'Droid Sans\'; font-size:9pt; font-weight:400; font-style:normal;\">\n"
|
||||||
"<p style=\"-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><br /></p></body></html>", None))
|
"<p style=\"-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:\'MS Shell Dlg 2\';\"><br /></p></body></html>", None))
|
||||||
self.pushButtonFetchNamecoinID.setText(_translate("MainWindow", "Fetch Namecoin ID", None))
|
self.tabWidgetSend.setTabText(self.tabWidgetSend.indexOf(self.tab), _translate("MainWindow", "Send ordinary Message", None))
|
||||||
|
self.label_8.setText(_translate("MainWindow", "From:", None))
|
||||||
|
self.label_7.setText(_translate("MainWindow", "Subject:", None))
|
||||||
|
self.textEditMessageBroadcast.setHtml(_translate("MainWindow", "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" \"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
|
||||||
|
"<html><head><meta name=\"qrichtext\" content=\"1\" /><style type=\"text/css\">\n"
|
||||||
|
"p, li { white-space: pre-wrap; }\n"
|
||||||
|
"</style></head><body style=\" font-family:\'Droid Sans\'; font-size:9pt; font-weight:400; font-style:normal;\">\n"
|
||||||
|
"<p style=\"-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:\'MS Shell Dlg 2\';\"><br /></p></body></html>", None))
|
||||||
|
self.tabWidgetSend.setTabText(self.tabWidgetSend.indexOf(self.tab_2), _translate("MainWindow", "Send Message to your Subscribers", None))
|
||||||
|
self.pushButtonTTL.setText(_translate("MainWindow", "TTL:", None))
|
||||||
|
self.labelHumanFriendlyTTLDescription.setText(_translate("MainWindow", "X days", None))
|
||||||
|
self.pushButtonSend.setText(_translate("MainWindow", "Send", None))
|
||||||
self.tabWidget.setTabText(self.tabWidget.indexOf(self.send), _translate("MainWindow", "Send", None))
|
self.tabWidget.setTabText(self.tabWidget.indexOf(self.send), _translate("MainWindow", "Send", None))
|
||||||
self.sentSearchLineEdit.setPlaceholderText(_translate("MainWindow", "Search", None))
|
self.treeWidgetSubscriptions.headerItem().setText(0, _translate("MainWindow", "Subscriptions", None))
|
||||||
self.sentSearchOptionCB.setItemText(0, _translate("MainWindow", "All", None))
|
|
||||||
self.sentSearchOptionCB.setItemText(1, _translate("MainWindow", "To", None))
|
|
||||||
self.sentSearchOptionCB.setItemText(2, _translate("MainWindow", "From", None))
|
|
||||||
self.sentSearchOptionCB.setItemText(3, _translate("MainWindow", "Subject", None))
|
|
||||||
self.sentSearchOptionCB.setItemText(4, _translate("MainWindow", "Message", None))
|
|
||||||
self.tableWidgetSent.setSortingEnabled(True)
|
|
||||||
item = self.tableWidgetSent.horizontalHeaderItem(0)
|
|
||||||
item.setText(_translate("MainWindow", "To", None))
|
|
||||||
item = self.tableWidgetSent.horizontalHeaderItem(1)
|
|
||||||
item.setText(_translate("MainWindow", "From", None))
|
|
||||||
item = self.tableWidgetSent.horizontalHeaderItem(2)
|
|
||||||
item.setText(_translate("MainWindow", "Subject", None))
|
|
||||||
item = self.tableWidgetSent.horizontalHeaderItem(3)
|
|
||||||
item.setText(_translate("MainWindow", "Status", None))
|
|
||||||
self.tabWidget.setTabText(self.tabWidget.indexOf(self.sent), _translate("MainWindow", "Sent", None))
|
|
||||||
self.pushButtonNewAddress.setText(_translate("MainWindow", "New", None))
|
|
||||||
self.tableWidgetYourIdentities.setSortingEnabled(True)
|
|
||||||
item = self.tableWidgetYourIdentities.horizontalHeaderItem(0)
|
|
||||||
item.setText(_translate("MainWindow", "Label (not shown to anyone)", None))
|
|
||||||
item = self.tableWidgetYourIdentities.horizontalHeaderItem(1)
|
|
||||||
item.setText(_translate("MainWindow", "Address", None))
|
|
||||||
item = self.tableWidgetYourIdentities.horizontalHeaderItem(2)
|
|
||||||
item.setText(_translate("MainWindow", "Stream", None))
|
|
||||||
self.tabWidget.setTabText(self.tabWidget.indexOf(self.youridentities), _translate("MainWindow", "Your Identities", None))
|
|
||||||
self.label_5.setText(_translate("MainWindow", "Here you can subscribe to \'broadcast messages\' that are sent by other users. Messages will appear in your Inbox. Addresses here override those on the Blacklist tab.", None))
|
|
||||||
self.pushButtonAddSubscription.setText(_translate("MainWindow", "Add new Subscription", None))
|
self.pushButtonAddSubscription.setText(_translate("MainWindow", "Add new Subscription", None))
|
||||||
self.tableWidgetSubscriptions.setSortingEnabled(True)
|
self.inboxSearchLineEditSubscriptions.setPlaceholderText(_translate("MainWindow", "Search", None))
|
||||||
item = self.tableWidgetSubscriptions.horizontalHeaderItem(0)
|
self.inboxSearchOptionSubscriptions.setItemText(0, _translate("MainWindow", "All", None))
|
||||||
item.setText(_translate("MainWindow", "Label", None))
|
self.inboxSearchOptionSubscriptions.setItemText(1, _translate("MainWindow", "To", None))
|
||||||
item = self.tableWidgetSubscriptions.horizontalHeaderItem(1)
|
self.inboxSearchOptionSubscriptions.setItemText(2, _translate("MainWindow", "From", None))
|
||||||
item.setText(_translate("MainWindow", "Address", None))
|
self.inboxSearchOptionSubscriptions.setItemText(3, _translate("MainWindow", "Subject", None))
|
||||||
|
self.inboxSearchOptionSubscriptions.setItemText(4, _translate("MainWindow", "Message", None))
|
||||||
|
self.tableWidgetInboxSubscriptions.setSortingEnabled(True)
|
||||||
|
item = self.tableWidgetInboxSubscriptions.horizontalHeaderItem(0)
|
||||||
|
item.setText(_translate("MainWindow", "To", None))
|
||||||
|
item = self.tableWidgetInboxSubscriptions.horizontalHeaderItem(1)
|
||||||
|
item.setText(_translate("MainWindow", "From", None))
|
||||||
|
item = self.tableWidgetInboxSubscriptions.horizontalHeaderItem(2)
|
||||||
|
item.setText(_translate("MainWindow", "Subject", None))
|
||||||
|
item = self.tableWidgetInboxSubscriptions.horizontalHeaderItem(3)
|
||||||
|
item.setText(_translate("MainWindow", "Received", None))
|
||||||
self.tabWidget.setTabText(self.tabWidget.indexOf(self.subscriptions), _translate("MainWindow", "Subscriptions", None))
|
self.tabWidget.setTabText(self.tabWidget.indexOf(self.subscriptions), _translate("MainWindow", "Subscriptions", None))
|
||||||
self.label_6.setText(_translate("MainWindow", "The Address book is useful for adding names or labels to other people\'s Bitmessage addresses so that you can recognize them more easily in your inbox. You can add entries here using the \'Add\' button, or from your inbox by right-clicking on a message.", None))
|
self.treeWidgetChans.headerItem().setText(0, _translate("MainWindow", "Chans", None))
|
||||||
self.pushButtonAddAddressBook.setText(_translate("MainWindow", "Add new entry", None))
|
self.pushButtonAddChan.setText(_translate("MainWindow", "Add Chan", None))
|
||||||
self.tableWidgetAddressBook.setSortingEnabled(True)
|
self.inboxSearchLineEditChans.setPlaceholderText(_translate("MainWindow", "Search", None))
|
||||||
item = self.tableWidgetAddressBook.horizontalHeaderItem(0)
|
self.inboxSearchOptionChans.setItemText(0, _translate("MainWindow", "All", None))
|
||||||
item.setText(_translate("MainWindow", "Name or Label", None))
|
self.inboxSearchOptionChans.setItemText(1, _translate("MainWindow", "To", None))
|
||||||
item = self.tableWidgetAddressBook.horizontalHeaderItem(1)
|
self.inboxSearchOptionChans.setItemText(2, _translate("MainWindow", "From", None))
|
||||||
item.setText(_translate("MainWindow", "Address", None))
|
self.inboxSearchOptionChans.setItemText(3, _translate("MainWindow", "Subject", None))
|
||||||
self.tabWidget.setTabText(self.tabWidget.indexOf(self.addressbook), _translate("MainWindow", "Address Book", None))
|
self.inboxSearchOptionChans.setItemText(4, _translate("MainWindow", "Message", None))
|
||||||
|
self.tableWidgetInboxChans.setSortingEnabled(True)
|
||||||
|
item = self.tableWidgetInboxChans.horizontalHeaderItem(0)
|
||||||
|
item.setText(_translate("MainWindow", "To", None))
|
||||||
|
item = self.tableWidgetInboxChans.horizontalHeaderItem(1)
|
||||||
|
item.setText(_translate("MainWindow", "From", None))
|
||||||
|
item = self.tableWidgetInboxChans.horizontalHeaderItem(2)
|
||||||
|
item.setText(_translate("MainWindow", "Subject", None))
|
||||||
|
item = self.tableWidgetInboxChans.horizontalHeaderItem(3)
|
||||||
|
item.setText(_translate("MainWindow", "Received", None))
|
||||||
|
self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_3), _translate("MainWindow", "Chans", None))
|
||||||
self.radioButtonBlacklist.setText(_translate("MainWindow", "Use a Blacklist (Allow all incoming messages except those on the Blacklist)", None))
|
self.radioButtonBlacklist.setText(_translate("MainWindow", "Use a Blacklist (Allow all incoming messages except those on the Blacklist)", None))
|
||||||
self.radioButtonWhitelist.setText(_translate("MainWindow", "Use a Whitelist (Block all incoming messages except those on the Whitelist)", None))
|
self.radioButtonWhitelist.setText(_translate("MainWindow", "Use a Whitelist (Block all incoming messages except those on the Whitelist)", None))
|
||||||
self.pushButtonAddBlacklist.setText(_translate("MainWindow", "Add new entry", None))
|
self.pushButtonAddBlacklist.setText(_translate("MainWindow", "Add new entry", None))
|
||||||
|
@ -692,3 +741,13 @@ class Ui_MainWindow(object):
|
||||||
self.actionJoinChan.setText(_translate("MainWindow", "Join / Create chan", None))
|
self.actionJoinChan.setText(_translate("MainWindow", "Join / Create chan", None))
|
||||||
|
|
||||||
import bitmessage_icons_rc
|
import bitmessage_icons_rc
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
import sys
|
||||||
|
app = QtGui.QApplication(sys.argv)
|
||||||
|
MainWindow = QtGui.QMainWindow()
|
||||||
|
ui = Ui_MainWindow()
|
||||||
|
ui.setupUi(MainWindow)
|
||||||
|
MainWindow.show()
|
||||||
|
sys.exit(app.exec_())
|
||||||
|
|
||||||
|
|
|
@ -21,10 +21,7 @@
|
||||||
<enum>QTabWidget::Rounded</enum>
|
<enum>QTabWidget::Rounded</enum>
|
||||||
</property>
|
</property>
|
||||||
<widget class="QWidget" name="centralwidget">
|
<widget class="QWidget" name="centralwidget">
|
||||||
<layout class="QGridLayout" name="gridLayout">
|
<layout class="QGridLayout" name="gridLayout_10">
|
||||||
<property name="margin">
|
|
||||||
<number>0</number>
|
|
||||||
</property>
|
|
||||||
<item row="0" column="0">
|
<item row="0" column="0">
|
||||||
<widget class="QTabWidget" name="tabWidget">
|
<widget class="QTabWidget" name="tabWidget">
|
||||||
<property name="sizePolicy">
|
<property name="sizePolicy">
|
||||||
|
@ -65,134 +62,176 @@
|
||||||
<normaloff>:/newPrefix/images/inbox.png</normaloff>:/newPrefix/images/inbox.png</iconset>
|
<normaloff>:/newPrefix/images/inbox.png</normaloff>:/newPrefix/images/inbox.png</iconset>
|
||||||
</attribute>
|
</attribute>
|
||||||
<attribute name="title">
|
<attribute name="title">
|
||||||
<string>Inbox</string>
|
<string>Messages</string>
|
||||||
</attribute>
|
</attribute>
|
||||||
<layout class="QVBoxLayout" name="verticalLayout_2">
|
<layout class="QGridLayout" name="gridLayout">
|
||||||
<item>
|
<item row="0" column="0">
|
||||||
<layout class="QHBoxLayout" name="horizontalLayoutSearch">
|
<layout class="QHBoxLayout" name="horizontalLayout_3">
|
||||||
<property name="topMargin">
|
|
||||||
<number>0</number>
|
|
||||||
</property>
|
|
||||||
<item>
|
<item>
|
||||||
<widget class="QLineEdit" name="inboxSearchLineEdit">
|
<layout class="QVBoxLayout" name="verticalLayout_12">
|
||||||
<property name="placeholderText">
|
<item>
|
||||||
<string>Search</string>
|
<widget class="QTreeWidget" name="treeWidgetYourIdentities">
|
||||||
</property>
|
<property name="maximumSize">
|
||||||
</widget>
|
<size>
|
||||||
|
<width>200</width>
|
||||||
|
<height>16777215</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<column>
|
||||||
|
<property name="text">
|
||||||
|
<string>Identities</string>
|
||||||
|
</property>
|
||||||
|
<property name="icon">
|
||||||
|
<iconset>
|
||||||
|
<selectedoff>:/newPrefix/images/identities.png</selectedoff>
|
||||||
|
</iconset>
|
||||||
|
</property>
|
||||||
|
</column>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QPushButton" name="pushButtonNewAddress">
|
||||||
|
<property name="maximumSize">
|
||||||
|
<size>
|
||||||
|
<width>200</width>
|
||||||
|
<height>16777215</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>New Indentitiy</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<widget class="QComboBox" name="inboxSearchOptionCB">
|
<layout class="QVBoxLayout" name="verticalLayout_7">
|
||||||
<item>
|
<item>
|
||||||
<property name="text">
|
<layout class="QHBoxLayout" name="horizontalLayoutSearch">
|
||||||
<string>All</string>
|
<property name="topMargin">
|
||||||
</property>
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<item>
|
||||||
|
<widget class="QLineEdit" name="inboxSearchLineEdit">
|
||||||
|
<property name="placeholderText">
|
||||||
|
<string>Search</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QComboBox" name="inboxSearchOption">
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>All</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>To</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>From</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>Subject</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>Message</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<property name="text">
|
<widget class="QTableWidget" name="tableWidgetInbox">
|
||||||
<string>To</string>
|
<property name="editTriggers">
|
||||||
</property>
|
<set>QAbstractItemView::NoEditTriggers</set>
|
||||||
|
</property>
|
||||||
|
<property name="alternatingRowColors">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
<property name="selectionMode">
|
||||||
|
<enum>QAbstractItemView::ExtendedSelection</enum>
|
||||||
|
</property>
|
||||||
|
<property name="selectionBehavior">
|
||||||
|
<enum>QAbstractItemView::SelectRows</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sortingEnabled">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
<property name="wordWrap">
|
||||||
|
<bool>false</bool>
|
||||||
|
</property>
|
||||||
|
<attribute name="horizontalHeaderCascadingSectionResizes">
|
||||||
|
<bool>true</bool>
|
||||||
|
</attribute>
|
||||||
|
<attribute name="horizontalHeaderDefaultSectionSize">
|
||||||
|
<number>200</number>
|
||||||
|
</attribute>
|
||||||
|
<attribute name="horizontalHeaderHighlightSections">
|
||||||
|
<bool>false</bool>
|
||||||
|
</attribute>
|
||||||
|
<attribute name="horizontalHeaderMinimumSectionSize">
|
||||||
|
<number>27</number>
|
||||||
|
</attribute>
|
||||||
|
<attribute name="horizontalHeaderShowSortIndicator" stdset="0">
|
||||||
|
<bool>false</bool>
|
||||||
|
</attribute>
|
||||||
|
<attribute name="horizontalHeaderStretchLastSection">
|
||||||
|
<bool>true</bool>
|
||||||
|
</attribute>
|
||||||
|
<attribute name="verticalHeaderVisible">
|
||||||
|
<bool>false</bool>
|
||||||
|
</attribute>
|
||||||
|
<attribute name="verticalHeaderDefaultSectionSize">
|
||||||
|
<number>26</number>
|
||||||
|
</attribute>
|
||||||
|
<column>
|
||||||
|
<property name="text">
|
||||||
|
<string>To</string>
|
||||||
|
</property>
|
||||||
|
</column>
|
||||||
|
<column>
|
||||||
|
<property name="text">
|
||||||
|
<string>From</string>
|
||||||
|
</property>
|
||||||
|
</column>
|
||||||
|
<column>
|
||||||
|
<property name="text">
|
||||||
|
<string>Subject</string>
|
||||||
|
</property>
|
||||||
|
</column>
|
||||||
|
<column>
|
||||||
|
<property name="text">
|
||||||
|
<string>Received</string>
|
||||||
|
</property>
|
||||||
|
</column>
|
||||||
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<property name="text">
|
<widget class="QTextEdit" name="textEditInboxMessage">
|
||||||
<string>From</string>
|
<property name="baseSize">
|
||||||
</property>
|
<size>
|
||||||
|
<width>0</width>
|
||||||
|
<height>500</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="readOnly">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
</layout>
|
||||||
<property name="text">
|
|
||||||
<string>Subject</string>
|
|
||||||
</property>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<property name="text">
|
|
||||||
<string>Message</string>
|
|
||||||
</property>
|
|
||||||
</item>
|
|
||||||
</widget>
|
|
||||||
</item>
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
|
||||||
<widget class="QSplitter" name="splitter">
|
|
||||||
<property name="orientation">
|
|
||||||
<enum>Qt::Vertical</enum>
|
|
||||||
</property>
|
|
||||||
<widget class="QTableWidget" name="tableWidgetInbox">
|
|
||||||
<property name="editTriggers">
|
|
||||||
<set>QAbstractItemView::NoEditTriggers</set>
|
|
||||||
</property>
|
|
||||||
<property name="alternatingRowColors">
|
|
||||||
<bool>true</bool>
|
|
||||||
</property>
|
|
||||||
<property name="selectionMode">
|
|
||||||
<enum>QAbstractItemView::ExtendedSelection</enum>
|
|
||||||
</property>
|
|
||||||
<property name="selectionBehavior">
|
|
||||||
<enum>QAbstractItemView::SelectRows</enum>
|
|
||||||
</property>
|
|
||||||
<property name="sortingEnabled">
|
|
||||||
<bool>true</bool>
|
|
||||||
</property>
|
|
||||||
<property name="wordWrap">
|
|
||||||
<bool>false</bool>
|
|
||||||
</property>
|
|
||||||
<attribute name="horizontalHeaderCascadingSectionResizes">
|
|
||||||
<bool>true</bool>
|
|
||||||
</attribute>
|
|
||||||
<attribute name="horizontalHeaderDefaultSectionSize">
|
|
||||||
<number>200</number>
|
|
||||||
</attribute>
|
|
||||||
<attribute name="horizontalHeaderHighlightSections">
|
|
||||||
<bool>false</bool>
|
|
||||||
</attribute>
|
|
||||||
<attribute name="horizontalHeaderMinimumSectionSize">
|
|
||||||
<number>27</number>
|
|
||||||
</attribute>
|
|
||||||
<attribute name="horizontalHeaderShowSortIndicator" stdset="0">
|
|
||||||
<bool>false</bool>
|
|
||||||
</attribute>
|
|
||||||
<attribute name="horizontalHeaderStretchLastSection">
|
|
||||||
<bool>true</bool>
|
|
||||||
</attribute>
|
|
||||||
<attribute name="verticalHeaderVisible">
|
|
||||||
<bool>false</bool>
|
|
||||||
</attribute>
|
|
||||||
<attribute name="verticalHeaderDefaultSectionSize">
|
|
||||||
<number>26</number>
|
|
||||||
</attribute>
|
|
||||||
<column>
|
|
||||||
<property name="text">
|
|
||||||
<string>To</string>
|
|
||||||
</property>
|
|
||||||
</column>
|
|
||||||
<column>
|
|
||||||
<property name="text">
|
|
||||||
<string>From</string>
|
|
||||||
</property>
|
|
||||||
</column>
|
|
||||||
<column>
|
|
||||||
<property name="text">
|
|
||||||
<string>Subject</string>
|
|
||||||
</property>
|
|
||||||
</column>
|
|
||||||
<column>
|
|
||||||
<property name="text">
|
|
||||||
<string>Received</string>
|
|
||||||
</property>
|
|
||||||
</column>
|
|
||||||
</widget>
|
|
||||||
<widget class="QTextEdit" name="textEditInboxMessage">
|
|
||||||
<property name="baseSize">
|
|
||||||
<size>
|
|
||||||
<width>0</width>
|
|
||||||
<height>500</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
<property name="readOnly">
|
|
||||||
<bool>true</bool>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
<widget class="QWidget" name="send">
|
<widget class="QWidget" name="send">
|
||||||
|
@ -203,498 +242,366 @@
|
||||||
<attribute name="title">
|
<attribute name="title">
|
||||||
<string>Send</string>
|
<string>Send</string>
|
||||||
</attribute>
|
</attribute>
|
||||||
<layout class="QGridLayout" name="gridLayout_2">
|
<layout class="QGridLayout" name="gridLayout_7">
|
||||||
<item row="3" column="2">
|
<item row="0" column="0">
|
||||||
<widget class="QPushButton" name="pushButtonLoadFromAddressBook">
|
|
||||||
<property name="font">
|
|
||||||
<font>
|
|
||||||
<pointsize>7</pointsize>
|
|
||||||
</font>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
|
||||||
<string>Load from Address book</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="4" column="0">
|
|
||||||
<widget class="QLabel" name="label_3">
|
|
||||||
<property name="text">
|
|
||||||
<string>Subject:</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="7" column="8">
|
|
||||||
<widget class="QPushButton" name="pushButtonSend">
|
|
||||||
<property name="text">
|
|
||||||
<string>Send</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="7" column="6">
|
|
||||||
<widget class="QSlider" name="horizontalSliderTTL">
|
|
||||||
<property name="minimumSize">
|
|
||||||
<size>
|
|
||||||
<width>35</width>
|
|
||||||
<height>0</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
<property name="maximumSize">
|
|
||||||
<size>
|
|
||||||
<width>70</width>
|
|
||||||
<height>16777215</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
<property name="orientation">
|
|
||||||
<enum>Qt::Horizontal</enum>
|
|
||||||
</property>
|
|
||||||
<property name="invertedAppearance">
|
|
||||||
<bool>false</bool>
|
|
||||||
</property>
|
|
||||||
<property name="invertedControls">
|
|
||||||
<bool>false</bool>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="6" column="0">
|
|
||||||
<spacer name="verticalSpacer">
|
|
||||||
<property name="orientation">
|
|
||||||
<enum>Qt::Vertical</enum>
|
|
||||||
</property>
|
|
||||||
<property name="sizeHint" stdset="0">
|
|
||||||
<size>
|
|
||||||
<width>20</width>
|
|
||||||
<height>297</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
</spacer>
|
|
||||||
</item>
|
|
||||||
<item row="2" column="1">
|
|
||||||
<widget class="QComboBox" name="comboBoxSendFrom">
|
|
||||||
<property name="minimumSize">
|
|
||||||
<size>
|
|
||||||
<width>300</width>
|
|
||||||
<height>0</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="7" column="7">
|
|
||||||
<widget class="QLabel" name="labelHumanFriendlyTTLDescription">
|
|
||||||
<property name="sizePolicy">
|
|
||||||
<sizepolicy hsizetype="Fixed" vsizetype="Preferred">
|
|
||||||
<horstretch>0</horstretch>
|
|
||||||
<verstretch>0</verstretch>
|
|
||||||
</sizepolicy>
|
|
||||||
</property>
|
|
||||||
<property name="minimumSize">
|
|
||||||
<size>
|
|
||||||
<width>45</width>
|
|
||||||
<height>0</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
<property name="maximumSize">
|
|
||||||
<size>
|
|
||||||
<width>45</width>
|
|
||||||
<height>16777215</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
|
||||||
<string>X days</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="5" column="0">
|
|
||||||
<widget class="QLabel" name="label_4">
|
|
||||||
<property name="text">
|
|
||||||
<string>Message:</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="3" column="0">
|
|
||||||
<widget class="QLabel" name="label">
|
|
||||||
<property name="text">
|
|
||||||
<string>To:</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="0" column="1">
|
|
||||||
<widget class="QRadioButton" name="radioButtonSpecific">
|
|
||||||
<property name="text">
|
|
||||||
<string>Send to one or more specific people</string>
|
|
||||||
</property>
|
|
||||||
<property name="checked">
|
|
||||||
<bool>true</bool>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="7" column="1" colspan="4">
|
|
||||||
<widget class="QLabel" name="labelSendBroadcastWarning">
|
|
||||||
<property name="enabled">
|
|
||||||
<bool>true</bool>
|
|
||||||
</property>
|
|
||||||
<property name="sizePolicy">
|
|
||||||
<sizepolicy hsizetype="Ignored" vsizetype="Preferred">
|
|
||||||
<horstretch>0</horstretch>
|
|
||||||
<verstretch>0</verstretch>
|
|
||||||
</sizepolicy>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
|
||||||
<string>Be aware that broadcasts are only encrypted with your address. Anyone who knows your address can read them.</string>
|
|
||||||
</property>
|
|
||||||
<property name="indent">
|
|
||||||
<number>-1</number>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="1" column="1" colspan="2">
|
|
||||||
<widget class="QRadioButton" name="radioButtonBroadcast">
|
|
||||||
<property name="text">
|
|
||||||
<string>Broadcast to everyone who is subscribed to your address</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="7" column="5">
|
|
||||||
<widget class="QPushButton" name="pushButtonTTL">
|
|
||||||
<property name="sizePolicy">
|
|
||||||
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
|
|
||||||
<horstretch>0</horstretch>
|
|
||||||
<verstretch>0</verstretch>
|
|
||||||
</sizepolicy>
|
|
||||||
</property>
|
|
||||||
<property name="maximumSize">
|
|
||||||
<size>
|
|
||||||
<width>32</width>
|
|
||||||
<height>16777215</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
<property name="palette">
|
|
||||||
<palette>
|
|
||||||
<active>
|
|
||||||
<colorrole role="ButtonText">
|
|
||||||
<brush brushstyle="SolidPattern">
|
|
||||||
<color alpha="255">
|
|
||||||
<red>0</red>
|
|
||||||
<green>0</green>
|
|
||||||
<blue>255</blue>
|
|
||||||
</color>
|
|
||||||
</brush>
|
|
||||||
</colorrole>
|
|
||||||
</active>
|
|
||||||
<inactive>
|
|
||||||
<colorrole role="ButtonText">
|
|
||||||
<brush brushstyle="SolidPattern">
|
|
||||||
<color alpha="255">
|
|
||||||
<red>0</red>
|
|
||||||
<green>0</green>
|
|
||||||
<blue>255</blue>
|
|
||||||
</color>
|
|
||||||
</brush>
|
|
||||||
</colorrole>
|
|
||||||
</inactive>
|
|
||||||
<disabled>
|
|
||||||
<colorrole role="ButtonText">
|
|
||||||
<brush brushstyle="SolidPattern">
|
|
||||||
<color alpha="255">
|
|
||||||
<red>120</red>
|
|
||||||
<green>120</green>
|
|
||||||
<blue>120</blue>
|
|
||||||
</color>
|
|
||||||
</brush>
|
|
||||||
</colorrole>
|
|
||||||
</disabled>
|
|
||||||
</palette>
|
|
||||||
</property>
|
|
||||||
<property name="font">
|
|
||||||
<font>
|
|
||||||
<underline>true</underline>
|
|
||||||
</font>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
|
||||||
<string>TTL:</string>
|
|
||||||
</property>
|
|
||||||
<property name="flat">
|
|
||||||
<bool>true</bool>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="2" column="0">
|
|
||||||
<widget class="QLabel" name="label_2">
|
|
||||||
<property name="text">
|
|
||||||
<string>From:</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="3" column="1">
|
|
||||||
<widget class="QLineEdit" name="lineEditTo"/>
|
|
||||||
</item>
|
|
||||||
<item row="5" column="1" rowspan="2" colspan="8">
|
|
||||||
<widget class="QTextEdit" name="textEditMessage">
|
|
||||||
<property name="html">
|
|
||||||
<string><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
|
|
||||||
<html><head><meta name="qrichtext" content="1" /><style type="text/css">
|
|
||||||
p, li { white-space: pre-wrap; }
|
|
||||||
</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:9pt; font-weight:400; font-style:normal;">
|
|
||||||
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p></body></html></string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="3" column="3">
|
|
||||||
<widget class="QPushButton" name="pushButtonFetchNamecoinID">
|
|
||||||
<property name="font">
|
|
||||||
<font>
|
|
||||||
<pointsize>7</pointsize>
|
|
||||||
</font>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
|
||||||
<string>Fetch Namecoin ID</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="2" column="2" colspan="7">
|
|
||||||
<widget class="QLabel" name="labelFrom">
|
|
||||||
<property name="text">
|
|
||||||
<string/>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="4" column="1" colspan="8">
|
|
||||||
<widget class="QLineEdit" name="lineEditSubject">
|
|
||||||
<property name="text">
|
|
||||||
<string/>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</widget>
|
|
||||||
<widget class="QWidget" name="sent">
|
|
||||||
<attribute name="icon">
|
|
||||||
<iconset resource="bitmessage_icons.qrc">
|
|
||||||
<normaloff>:/newPrefix/images/sent.png</normaloff>:/newPrefix/images/sent.png</iconset>
|
|
||||||
</attribute>
|
|
||||||
<attribute name="title">
|
|
||||||
<string>Sent</string>
|
|
||||||
</attribute>
|
|
||||||
<layout class="QVBoxLayout" name="verticalLayout">
|
|
||||||
<item>
|
|
||||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||||
<property name="topMargin">
|
|
||||||
<number>0</number>
|
|
||||||
</property>
|
|
||||||
<item>
|
<item>
|
||||||
<widget class="QLineEdit" name="sentSearchLineEdit">
|
<layout class="QVBoxLayout" name="verticalLayout_2">
|
||||||
<property name="placeholderText">
|
<item>
|
||||||
<string>Search</string>
|
<widget class="QTableWidget" name="tableWidgetAddressBook">
|
||||||
</property>
|
<property name="maximumSize">
|
||||||
</widget>
|
<size>
|
||||||
|
<width>200</width>
|
||||||
|
<height>16777215</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="alternatingRowColors">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
<property name="selectionMode">
|
||||||
|
<enum>QAbstractItemView::ExtendedSelection</enum>
|
||||||
|
</property>
|
||||||
|
<property name="selectionBehavior">
|
||||||
|
<enum>QAbstractItemView::SelectRows</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sortingEnabled">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
<attribute name="horizontalHeaderCascadingSectionResizes">
|
||||||
|
<bool>true</bool>
|
||||||
|
</attribute>
|
||||||
|
<attribute name="horizontalHeaderDefaultSectionSize">
|
||||||
|
<number>200</number>
|
||||||
|
</attribute>
|
||||||
|
<attribute name="horizontalHeaderHighlightSections">
|
||||||
|
<bool>false</bool>
|
||||||
|
</attribute>
|
||||||
|
<attribute name="horizontalHeaderStretchLastSection">
|
||||||
|
<bool>true</bool>
|
||||||
|
</attribute>
|
||||||
|
<attribute name="verticalHeaderVisible">
|
||||||
|
<bool>false</bool>
|
||||||
|
</attribute>
|
||||||
|
<column>
|
||||||
|
<property name="text">
|
||||||
|
<string>Address book</string>
|
||||||
|
</property>
|
||||||
|
<property name="icon">
|
||||||
|
<iconset>
|
||||||
|
<selectedoff>:/newPrefix/images/addressbook.png</selectedoff>
|
||||||
|
</iconset>
|
||||||
|
</property>
|
||||||
|
</column>
|
||||||
|
<column>
|
||||||
|
<property name="text">
|
||||||
|
<string>Address</string>
|
||||||
|
</property>
|
||||||
|
</column>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QPushButton" name="pushButtonAddAddressBook">
|
||||||
|
<property name="maximumSize">
|
||||||
|
<size>
|
||||||
|
<width>200</width>
|
||||||
|
<height>16777215</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Add Contact</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QPushButton" name="pushButtonFetchNamecoinID">
|
||||||
|
<property name="maximumSize">
|
||||||
|
<size>
|
||||||
|
<width>200</width>
|
||||||
|
<height>16777215</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<pointsize>9</pointsize>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Fetch Namecoin ID</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<widget class="QComboBox" name="sentSearchOptionCB">
|
<layout class="QVBoxLayout" name="verticalLayout">
|
||||||
<item>
|
<item>
|
||||||
<property name="text">
|
<widget class="QTabWidget" name="tabWidgetSend">
|
||||||
<string>All</string>
|
<property name="currentIndex">
|
||||||
</property>
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<widget class="QWidget" name="tab">
|
||||||
|
<attribute name="title">
|
||||||
|
<string>Send ordinary Message</string>
|
||||||
|
</attribute>
|
||||||
|
<layout class="QGridLayout" name="gridLayout_8">
|
||||||
|
<item row="0" column="0">
|
||||||
|
<layout class="QVBoxLayout" name="verticalLayout_5">
|
||||||
|
<item>
|
||||||
|
<layout class="QGridLayout" name="gridLayout_2">
|
||||||
|
<item row="2" column="0">
|
||||||
|
<widget class="QLabel" name="label_3">
|
||||||
|
<property name="text">
|
||||||
|
<string>Subject:</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="0">
|
||||||
|
<widget class="QLabel" name="label_2">
|
||||||
|
<property name="text">
|
||||||
|
<string>From:</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="2" column="1">
|
||||||
|
<widget class="QLineEdit" name="lineEditSubject">
|
||||||
|
<property name="text">
|
||||||
|
<string/>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="0">
|
||||||
|
<widget class="QLabel" name="label">
|
||||||
|
<property name="text">
|
||||||
|
<string>To:</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="1">
|
||||||
|
<widget class="QComboBox" name="comboBoxSendFrom">
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>300</width>
|
||||||
|
<height>0</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="1">
|
||||||
|
<widget class="QLineEdit" name="lineEditTo"/>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QTextEdit" name="textEditMessage">
|
||||||
|
<property name="html">
|
||||||
|
<string><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
|
||||||
|
<html><head><meta name="qrichtext" content="1" /><style type="text/css">
|
||||||
|
p, li { white-space: pre-wrap; }
|
||||||
|
</style></head><body style=" font-family:'Droid Sans'; font-size:9pt; font-weight:400; font-style:normal;">
|
||||||
|
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2';"><br /></p></body></html></string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
<widget class="QWidget" name="tab_2">
|
||||||
|
<attribute name="title">
|
||||||
|
<string>Send Message to your Subscribers</string>
|
||||||
|
</attribute>
|
||||||
|
<layout class="QGridLayout" name="gridLayout_9">
|
||||||
|
<item row="0" column="0">
|
||||||
|
<layout class="QVBoxLayout" name="verticalLayout_6">
|
||||||
|
<item>
|
||||||
|
<layout class="QGridLayout" name="gridLayout_5">
|
||||||
|
<item row="0" column="0">
|
||||||
|
<widget class="QLabel" name="label_8">
|
||||||
|
<property name="text">
|
||||||
|
<string>From:</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="1">
|
||||||
|
<widget class="QLineEdit" name="lineEditSubjectBroadcast">
|
||||||
|
<property name="text">
|
||||||
|
<string/>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="0">
|
||||||
|
<widget class="QLabel" name="label_7">
|
||||||
|
<property name="text">
|
||||||
|
<string>Subject:</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="1">
|
||||||
|
<widget class="QComboBox" name="comboBoxSendFromBroadcast">
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>300</width>
|
||||||
|
<height>0</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QTextEdit" name="textEditMessageBroadcast">
|
||||||
|
<property name="html">
|
||||||
|
<string><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
|
||||||
|
<html><head><meta name="qrichtext" content="1" /><style type="text/css">
|
||||||
|
p, li { white-space: pre-wrap; }
|
||||||
|
</style></head><body style=" font-family:'Droid Sans'; font-size:9pt; font-weight:400; font-style:normal;">
|
||||||
|
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2';"><br /></p></body></html></string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<property name="text">
|
<layout class="QHBoxLayout" name="horizontalLayout_5">
|
||||||
<string>To</string>
|
<item>
|
||||||
</property>
|
<widget class="QPushButton" name="pushButtonTTL">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="maximumSize">
|
||||||
|
<size>
|
||||||
|
<width>32</width>
|
||||||
|
<height>16777215</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="palette">
|
||||||
|
<palette>
|
||||||
|
<active>
|
||||||
|
<colorrole role="ButtonText">
|
||||||
|
<brush brushstyle="SolidPattern">
|
||||||
|
<color alpha="255">
|
||||||
|
<red>0</red>
|
||||||
|
<green>0</green>
|
||||||
|
<blue>255</blue>
|
||||||
|
</color>
|
||||||
|
</brush>
|
||||||
|
</colorrole>
|
||||||
|
</active>
|
||||||
|
<inactive>
|
||||||
|
<colorrole role="ButtonText">
|
||||||
|
<brush brushstyle="SolidPattern">
|
||||||
|
<color alpha="255">
|
||||||
|
<red>0</red>
|
||||||
|
<green>0</green>
|
||||||
|
<blue>255</blue>
|
||||||
|
</color>
|
||||||
|
</brush>
|
||||||
|
</colorrole>
|
||||||
|
</inactive>
|
||||||
|
<disabled>
|
||||||
|
<colorrole role="ButtonText">
|
||||||
|
<brush brushstyle="SolidPattern">
|
||||||
|
<color alpha="255">
|
||||||
|
<red>120</red>
|
||||||
|
<green>120</green>
|
||||||
|
<blue>120</blue>
|
||||||
|
</color>
|
||||||
|
</brush>
|
||||||
|
</colorrole>
|
||||||
|
</disabled>
|
||||||
|
</palette>
|
||||||
|
</property>
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<underline>true</underline>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>TTL:</string>
|
||||||
|
</property>
|
||||||
|
<property name="flat">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QSlider" name="horizontalSliderTTL">
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>35</width>
|
||||||
|
<height>0</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="maximumSize">
|
||||||
|
<size>
|
||||||
|
<width>70</width>
|
||||||
|
<height>16777215</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Horizontal</enum>
|
||||||
|
</property>
|
||||||
|
<property name="invertedAppearance">
|
||||||
|
<bool>false</bool>
|
||||||
|
</property>
|
||||||
|
<property name="invertedControls">
|
||||||
|
<bool>false</bool>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="labelHumanFriendlyTTLDescription">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Fixed" vsizetype="Preferred">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>45</width>
|
||||||
|
<height>0</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="maximumSize">
|
||||||
|
<size>
|
||||||
|
<width>45</width>
|
||||||
|
<height>16777215</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>X days</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QPushButton" name="pushButtonSend">
|
||||||
|
<property name="maximumSize">
|
||||||
|
<size>
|
||||||
|
<width>16777215</width>
|
||||||
|
<height>16777215</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Send</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
</layout>
|
||||||
<property name="text">
|
|
||||||
<string>From</string>
|
|
||||||
</property>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<property name="text">
|
|
||||||
<string>Subject</string>
|
|
||||||
</property>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<property name="text">
|
|
||||||
<string>Message</string>
|
|
||||||
</property>
|
|
||||||
</item>
|
|
||||||
</widget>
|
|
||||||
</item>
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
|
||||||
<widget class="QSplitter" name="splitter_2">
|
|
||||||
<property name="orientation">
|
|
||||||
<enum>Qt::Vertical</enum>
|
|
||||||
</property>
|
|
||||||
<widget class="QTableWidget" name="tableWidgetSent">
|
|
||||||
<property name="editTriggers">
|
|
||||||
<set>QAbstractItemView::NoEditTriggers</set>
|
|
||||||
</property>
|
|
||||||
<property name="dragDropMode">
|
|
||||||
<enum>QAbstractItemView::DragDrop</enum>
|
|
||||||
</property>
|
|
||||||
<property name="alternatingRowColors">
|
|
||||||
<bool>true</bool>
|
|
||||||
</property>
|
|
||||||
<property name="selectionMode">
|
|
||||||
<enum>QAbstractItemView::ExtendedSelection</enum>
|
|
||||||
</property>
|
|
||||||
<property name="selectionBehavior">
|
|
||||||
<enum>QAbstractItemView::SelectRows</enum>
|
|
||||||
</property>
|
|
||||||
<property name="sortingEnabled">
|
|
||||||
<bool>true</bool>
|
|
||||||
</property>
|
|
||||||
<property name="wordWrap">
|
|
||||||
<bool>false</bool>
|
|
||||||
</property>
|
|
||||||
<attribute name="horizontalHeaderCascadingSectionResizes">
|
|
||||||
<bool>true</bool>
|
|
||||||
</attribute>
|
|
||||||
<attribute name="horizontalHeaderDefaultSectionSize">
|
|
||||||
<number>130</number>
|
|
||||||
</attribute>
|
|
||||||
<attribute name="horizontalHeaderHighlightSections">
|
|
||||||
<bool>false</bool>
|
|
||||||
</attribute>
|
|
||||||
<attribute name="horizontalHeaderShowSortIndicator" stdset="0">
|
|
||||||
<bool>false</bool>
|
|
||||||
</attribute>
|
|
||||||
<attribute name="horizontalHeaderStretchLastSection">
|
|
||||||
<bool>true</bool>
|
|
||||||
</attribute>
|
|
||||||
<attribute name="verticalHeaderVisible">
|
|
||||||
<bool>false</bool>
|
|
||||||
</attribute>
|
|
||||||
<attribute name="verticalHeaderStretchLastSection">
|
|
||||||
<bool>false</bool>
|
|
||||||
</attribute>
|
|
||||||
<column>
|
|
||||||
<property name="text">
|
|
||||||
<string>To</string>
|
|
||||||
</property>
|
|
||||||
</column>
|
|
||||||
<column>
|
|
||||||
<property name="text">
|
|
||||||
<string>From</string>
|
|
||||||
</property>
|
|
||||||
</column>
|
|
||||||
<column>
|
|
||||||
<property name="text">
|
|
||||||
<string>Subject</string>
|
|
||||||
</property>
|
|
||||||
</column>
|
|
||||||
<column>
|
|
||||||
<property name="text">
|
|
||||||
<string>Status</string>
|
|
||||||
</property>
|
|
||||||
</column>
|
|
||||||
</widget>
|
|
||||||
<widget class="QTextEdit" name="textEditSentMessage">
|
|
||||||
<property name="readOnly">
|
|
||||||
<bool>true</bool>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</widget>
|
|
||||||
<widget class="QWidget" name="youridentities">
|
|
||||||
<attribute name="icon">
|
|
||||||
<iconset resource="bitmessage_icons.qrc">
|
|
||||||
<normaloff>:/newPrefix/images/identities.png</normaloff>:/newPrefix/images/identities.png</iconset>
|
|
||||||
</attribute>
|
|
||||||
<attribute name="title">
|
|
||||||
<string>Your Identities</string>
|
|
||||||
</attribute>
|
|
||||||
<layout class="QGridLayout" name="gridLayout_3">
|
|
||||||
<item row="0" column="0">
|
|
||||||
<widget class="QPushButton" name="pushButtonNewAddress">
|
|
||||||
<property name="text">
|
|
||||||
<string>New</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="0" column="1">
|
|
||||||
<spacer name="horizontalSpacer">
|
|
||||||
<property name="orientation">
|
|
||||||
<enum>Qt::Horizontal</enum>
|
|
||||||
</property>
|
|
||||||
<property name="sizeHint" stdset="0">
|
|
||||||
<size>
|
|
||||||
<width>689</width>
|
|
||||||
<height>20</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
</spacer>
|
|
||||||
</item>
|
|
||||||
<item row="1" column="0" colspan="2">
|
|
||||||
<widget class="QTableWidget" name="tableWidgetYourIdentities">
|
|
||||||
<property name="frameShadow">
|
|
||||||
<enum>QFrame::Sunken</enum>
|
|
||||||
</property>
|
|
||||||
<property name="lineWidth">
|
|
||||||
<number>1</number>
|
|
||||||
</property>
|
|
||||||
<property name="alternatingRowColors">
|
|
||||||
<bool>true</bool>
|
|
||||||
</property>
|
|
||||||
<property name="selectionMode">
|
|
||||||
<enum>QAbstractItemView::SingleSelection</enum>
|
|
||||||
</property>
|
|
||||||
<property name="selectionBehavior">
|
|
||||||
<enum>QAbstractItemView::SelectRows</enum>
|
|
||||||
</property>
|
|
||||||
<property name="sortingEnabled">
|
|
||||||
<bool>true</bool>
|
|
||||||
</property>
|
|
||||||
<attribute name="horizontalHeaderCascadingSectionResizes">
|
|
||||||
<bool>true</bool>
|
|
||||||
</attribute>
|
|
||||||
<attribute name="horizontalHeaderDefaultSectionSize">
|
|
||||||
<number>346</number>
|
|
||||||
</attribute>
|
|
||||||
<attribute name="horizontalHeaderMinimumSectionSize">
|
|
||||||
<number>52</number>
|
|
||||||
</attribute>
|
|
||||||
<attribute name="horizontalHeaderShowSortIndicator" stdset="0">
|
|
||||||
<bool>true</bool>
|
|
||||||
</attribute>
|
|
||||||
<attribute name="horizontalHeaderStretchLastSection">
|
|
||||||
<bool>true</bool>
|
|
||||||
</attribute>
|
|
||||||
<attribute name="verticalHeaderVisible">
|
|
||||||
<bool>false</bool>
|
|
||||||
</attribute>
|
|
||||||
<attribute name="verticalHeaderDefaultSectionSize">
|
|
||||||
<number>26</number>
|
|
||||||
</attribute>
|
|
||||||
<attribute name="verticalHeaderShowSortIndicator" stdset="0">
|
|
||||||
<bool>false</bool>
|
|
||||||
</attribute>
|
|
||||||
<attribute name="verticalHeaderStretchLastSection">
|
|
||||||
<bool>false</bool>
|
|
||||||
</attribute>
|
|
||||||
<column>
|
|
||||||
<property name="text">
|
|
||||||
<string>Label (not shown to anyone)</string>
|
|
||||||
</property>
|
|
||||||
<property name="font">
|
|
||||||
<font>
|
|
||||||
<kerning>true</kerning>
|
|
||||||
</font>
|
|
||||||
</property>
|
|
||||||
</column>
|
|
||||||
<column>
|
|
||||||
<property name="text">
|
|
||||||
<string>Address</string>
|
|
||||||
</property>
|
|
||||||
</column>
|
|
||||||
<column>
|
|
||||||
<property name="text">
|
|
||||||
<string>Stream</string>
|
|
||||||
</property>
|
|
||||||
</column>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
</layout>
|
</layout>
|
||||||
|
<zorder></zorder>
|
||||||
</widget>
|
</widget>
|
||||||
<widget class="QWidget" name="subscriptions">
|
<widget class="QWidget" name="subscriptions">
|
||||||
<attribute name="icon">
|
<attribute name="icon">
|
||||||
|
@ -704,162 +611,369 @@ p, li { white-space: pre-wrap; }
|
||||||
<attribute name="title">
|
<attribute name="title">
|
||||||
<string>Subscriptions</string>
|
<string>Subscriptions</string>
|
||||||
</attribute>
|
</attribute>
|
||||||
<layout class="QGridLayout" name="gridLayout_4">
|
<layout class="QGridLayout" name="gridLayout_3">
|
||||||
<item row="0" column="0" colspan="2">
|
<item row="0" column="0">
|
||||||
<widget class="QLabel" name="label_5">
|
<layout class="QHBoxLayout" name="horizontalLayout_4">
|
||||||
<property name="text">
|
<item>
|
||||||
<string>Here you can subscribe to 'broadcast messages' that are sent by other users. Messages will appear in your Inbox. Addresses here override those on the Blacklist tab.</string>
|
<layout class="QVBoxLayout" name="verticalLayout_3">
|
||||||
</property>
|
<item>
|
||||||
<property name="wordWrap">
|
<widget class="QTreeWidget" name="treeWidgetSubscriptions">
|
||||||
<bool>true</bool>
|
<property name="maximumSize">
|
||||||
</property>
|
<size>
|
||||||
</widget>
|
<width>200</width>
|
||||||
</item>
|
<height>16777215</height>
|
||||||
<item row="1" column="0">
|
</size>
|
||||||
<widget class="QPushButton" name="pushButtonAddSubscription">
|
</property>
|
||||||
<property name="text">
|
<property name="alternatingRowColors">
|
||||||
<string>Add new Subscription</string>
|
<bool>true</bool>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
<property name="selectionMode">
|
||||||
</item>
|
<enum>QAbstractItemView::SingleSelection</enum>
|
||||||
<item row="1" column="1">
|
</property>
|
||||||
<spacer name="horizontalSpacer_2">
|
<property name="selectionBehavior">
|
||||||
<property name="orientation">
|
<enum>QAbstractItemView::SelectRows</enum>
|
||||||
<enum>Qt::Horizontal</enum>
|
</property>
|
||||||
</property>
|
<column>
|
||||||
<property name="sizeHint" stdset="0">
|
<property name="text">
|
||||||
<size>
|
<string>Subscriptions</string>
|
||||||
<width>689</width>
|
</property>
|
||||||
<height>20</height>
|
<property name="icon">
|
||||||
</size>
|
<iconset>
|
||||||
</property>
|
<selectedoff>:/newPrefix/images/subscriptions.png</selectedoff>
|
||||||
</spacer>
|
</iconset>
|
||||||
</item>
|
</property>
|
||||||
<item row="2" column="0" colspan="2">
|
</column>
|
||||||
<widget class="QTableWidget" name="tableWidgetSubscriptions">
|
</widget>
|
||||||
<property name="alternatingRowColors">
|
</item>
|
||||||
<bool>true</bool>
|
<item>
|
||||||
</property>
|
<widget class="QPushButton" name="pushButtonAddSubscription">
|
||||||
<property name="selectionMode">
|
<property name="maximumSize">
|
||||||
<enum>QAbstractItemView::SingleSelection</enum>
|
<size>
|
||||||
</property>
|
<width>200</width>
|
||||||
<property name="selectionBehavior">
|
<height>16777215</height>
|
||||||
<enum>QAbstractItemView::SelectRows</enum>
|
</size>
|
||||||
</property>
|
</property>
|
||||||
<property name="sortingEnabled">
|
<property name="text">
|
||||||
<bool>true</bool>
|
<string>Add new Subscription</string>
|
||||||
</property>
|
</property>
|
||||||
<attribute name="horizontalHeaderCascadingSectionResizes">
|
</widget>
|
||||||
<bool>true</bool>
|
</item>
|
||||||
</attribute>
|
</layout>
|
||||||
<attribute name="horizontalHeaderDefaultSectionSize">
|
</item>
|
||||||
<number>400</number>
|
<item>
|
||||||
</attribute>
|
<layout class="QVBoxLayout" name="verticalLayout_4">
|
||||||
<attribute name="horizontalHeaderHighlightSections">
|
<item>
|
||||||
<bool>false</bool>
|
<layout class="QHBoxLayout" name="horizontalLayout_2">
|
||||||
</attribute>
|
<item>
|
||||||
<attribute name="horizontalHeaderShowSortIndicator" stdset="0">
|
<widget class="QLineEdit" name="inboxSearchLineEditSubscriptions">
|
||||||
<bool>false</bool>
|
<property name="placeholderText">
|
||||||
</attribute>
|
<string>Search</string>
|
||||||
<attribute name="horizontalHeaderStretchLastSection">
|
</property>
|
||||||
<bool>true</bool>
|
</widget>
|
||||||
</attribute>
|
</item>
|
||||||
<attribute name="verticalHeaderVisible">
|
<item>
|
||||||
<bool>false</bool>
|
<widget class="QComboBox" name="inboxSearchOptionSubscriptions">
|
||||||
</attribute>
|
<item>
|
||||||
<column>
|
<property name="text">
|
||||||
<property name="text">
|
<string>All</string>
|
||||||
<string>Label</string>
|
</property>
|
||||||
</property>
|
</item>
|
||||||
</column>
|
<item>
|
||||||
<column>
|
<property name="text">
|
||||||
<property name="text">
|
<string>To</string>
|
||||||
<string>Address</string>
|
</property>
|
||||||
</property>
|
</item>
|
||||||
</column>
|
<item>
|
||||||
</widget>
|
<property name="text">
|
||||||
|
<string>From</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>Subject</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>Message</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QTableWidget" name="tableWidgetInboxSubscriptions">
|
||||||
|
<property name="editTriggers">
|
||||||
|
<set>QAbstractItemView::NoEditTriggers</set>
|
||||||
|
</property>
|
||||||
|
<property name="alternatingRowColors">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
<property name="selectionMode">
|
||||||
|
<enum>QAbstractItemView::ExtendedSelection</enum>
|
||||||
|
</property>
|
||||||
|
<property name="selectionBehavior">
|
||||||
|
<enum>QAbstractItemView::SelectRows</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sortingEnabled">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
<property name="wordWrap">
|
||||||
|
<bool>false</bool>
|
||||||
|
</property>
|
||||||
|
<attribute name="horizontalHeaderCascadingSectionResizes">
|
||||||
|
<bool>true</bool>
|
||||||
|
</attribute>
|
||||||
|
<attribute name="horizontalHeaderDefaultSectionSize">
|
||||||
|
<number>200</number>
|
||||||
|
</attribute>
|
||||||
|
<attribute name="horizontalHeaderHighlightSections">
|
||||||
|
<bool>false</bool>
|
||||||
|
</attribute>
|
||||||
|
<attribute name="horizontalHeaderMinimumSectionSize">
|
||||||
|
<number>27</number>
|
||||||
|
</attribute>
|
||||||
|
<attribute name="horizontalHeaderShowSortIndicator" stdset="0">
|
||||||
|
<bool>false</bool>
|
||||||
|
</attribute>
|
||||||
|
<attribute name="horizontalHeaderStretchLastSection">
|
||||||
|
<bool>true</bool>
|
||||||
|
</attribute>
|
||||||
|
<attribute name="verticalHeaderVisible">
|
||||||
|
<bool>false</bool>
|
||||||
|
</attribute>
|
||||||
|
<attribute name="verticalHeaderDefaultSectionSize">
|
||||||
|
<number>26</number>
|
||||||
|
</attribute>
|
||||||
|
<column>
|
||||||
|
<property name="text">
|
||||||
|
<string>To</string>
|
||||||
|
</property>
|
||||||
|
</column>
|
||||||
|
<column>
|
||||||
|
<property name="text">
|
||||||
|
<string>From</string>
|
||||||
|
</property>
|
||||||
|
</column>
|
||||||
|
<column>
|
||||||
|
<property name="text">
|
||||||
|
<string>Subject</string>
|
||||||
|
</property>
|
||||||
|
</column>
|
||||||
|
<column>
|
||||||
|
<property name="text">
|
||||||
|
<string>Received</string>
|
||||||
|
</property>
|
||||||
|
</column>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QTextEdit" name="textEditInboxMessageSubscriptions">
|
||||||
|
<property name="baseSize">
|
||||||
|
<size>
|
||||||
|
<width>0</width>
|
||||||
|
<height>500</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="readOnly">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
</item>
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
<widget class="QWidget" name="addressbook">
|
<widget class="QWidget" name="tab_3">
|
||||||
<attribute name="icon">
|
<attribute name="icon">
|
||||||
<iconset resource="bitmessage_icons.qrc">
|
<iconset resource="bitmessage_icons.qrc">
|
||||||
<normaloff>:/newPrefix/images/addressbook.png</normaloff>:/newPrefix/images/addressbook.png</iconset>
|
<normaloff>:/newPrefix/images/can-icon-16px.png</normaloff>:/newPrefix/images/can-icon-16px.png</iconset>
|
||||||
</attribute>
|
</attribute>
|
||||||
<attribute name="title">
|
<attribute name="title">
|
||||||
<string>Address Book</string>
|
<string>Chans</string>
|
||||||
</attribute>
|
</attribute>
|
||||||
<layout class="QGridLayout" name="gridLayout_5">
|
<layout class="QGridLayout" name="gridLayout_4">
|
||||||
<item row="0" column="0" colspan="2">
|
<item row="0" column="0">
|
||||||
<widget class="QLabel" name="label_6">
|
<layout class="QHBoxLayout" name="horizontalLayout_7">
|
||||||
<property name="text">
|
<item>
|
||||||
<string>The Address book is useful for adding names or labels to other people's Bitmessage addresses so that you can recognize them more easily in your inbox. You can add entries here using the 'Add' button, or from your inbox by right-clicking on a message.</string>
|
<layout class="QVBoxLayout" name="verticalLayout_17">
|
||||||
</property>
|
<item>
|
||||||
<property name="wordWrap">
|
<widget class="QTreeWidget" name="treeWidgetChans">
|
||||||
<bool>true</bool>
|
<property name="maximumSize">
|
||||||
</property>
|
<size>
|
||||||
</widget>
|
<width>200</width>
|
||||||
</item>
|
<height>16777215</height>
|
||||||
<item row="1" column="0">
|
</size>
|
||||||
<widget class="QPushButton" name="pushButtonAddAddressBook">
|
</property>
|
||||||
<property name="text">
|
<property name="frameShadow">
|
||||||
<string>Add new entry</string>
|
<enum>QFrame::Sunken</enum>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
<property name="lineWidth">
|
||||||
</item>
|
<number>1</number>
|
||||||
<item row="1" column="1">
|
</property>
|
||||||
<spacer name="horizontalSpacer_5">
|
<property name="alternatingRowColors">
|
||||||
<property name="orientation">
|
<bool>true</bool>
|
||||||
<enum>Qt::Horizontal</enum>
|
</property>
|
||||||
</property>
|
<property name="selectionMode">
|
||||||
<property name="sizeHint" stdset="0">
|
<enum>QAbstractItemView::SingleSelection</enum>
|
||||||
<size>
|
</property>
|
||||||
<width>689</width>
|
<property name="selectionBehavior">
|
||||||
<height>20</height>
|
<enum>QAbstractItemView::SelectRows</enum>
|
||||||
</size>
|
</property>
|
||||||
</property>
|
<column>
|
||||||
</spacer>
|
<property name="text">
|
||||||
</item>
|
<string>Chans</string>
|
||||||
<item row="2" column="0" colspan="2">
|
</property>
|
||||||
<widget class="QTableWidget" name="tableWidgetAddressBook">
|
<property name="icon">
|
||||||
<property name="alternatingRowColors">
|
<iconset>
|
||||||
<bool>true</bool>
|
<selectedoff>:/newPrefix/images/can-icon-16px.png</selectedoff>
|
||||||
</property>
|
</iconset>
|
||||||
<property name="selectionMode">
|
</property>
|
||||||
<enum>QAbstractItemView::ExtendedSelection</enum>
|
</column>
|
||||||
</property>
|
</widget>
|
||||||
<property name="selectionBehavior">
|
</item>
|
||||||
<enum>QAbstractItemView::SelectRows</enum>
|
<item>
|
||||||
</property>
|
<widget class="QPushButton" name="pushButtonAddChan">
|
||||||
<property name="sortingEnabled">
|
<property name="maximumSize">
|
||||||
<bool>true</bool>
|
<size>
|
||||||
</property>
|
<width>200</width>
|
||||||
<attribute name="horizontalHeaderCascadingSectionResizes">
|
<height>16777215</height>
|
||||||
<bool>true</bool>
|
</size>
|
||||||
</attribute>
|
</property>
|
||||||
<attribute name="horizontalHeaderDefaultSectionSize">
|
<property name="text">
|
||||||
<number>400</number>
|
<string>Add Chan</string>
|
||||||
</attribute>
|
</property>
|
||||||
<attribute name="horizontalHeaderHighlightSections">
|
</widget>
|
||||||
<bool>false</bool>
|
</item>
|
||||||
</attribute>
|
</layout>
|
||||||
<attribute name="horizontalHeaderStretchLastSection">
|
</item>
|
||||||
<bool>true</bool>
|
<item>
|
||||||
</attribute>
|
<layout class="QVBoxLayout" name="verticalLayout_8">
|
||||||
<attribute name="verticalHeaderVisible">
|
<item>
|
||||||
<bool>false</bool>
|
<layout class="QHBoxLayout" name="horizontalLayout_6">
|
||||||
</attribute>
|
<item>
|
||||||
<column>
|
<widget class="QLineEdit" name="inboxSearchLineEditChans">
|
||||||
<property name="text">
|
<property name="placeholderText">
|
||||||
<string>Name or Label</string>
|
<string>Search</string>
|
||||||
</property>
|
</property>
|
||||||
</column>
|
</widget>
|
||||||
<column>
|
</item>
|
||||||
<property name="text">
|
<item>
|
||||||
<string>Address</string>
|
<widget class="QComboBox" name="inboxSearchOptionChans">
|
||||||
</property>
|
<item>
|
||||||
</column>
|
<property name="text">
|
||||||
</widget>
|
<string>All</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>To</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>From</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>Subject</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>Message</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QTableWidget" name="tableWidgetInboxChans">
|
||||||
|
<property name="editTriggers">
|
||||||
|
<set>QAbstractItemView::NoEditTriggers</set>
|
||||||
|
</property>
|
||||||
|
<property name="alternatingRowColors">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
<property name="selectionMode">
|
||||||
|
<enum>QAbstractItemView::ExtendedSelection</enum>
|
||||||
|
</property>
|
||||||
|
<property name="selectionBehavior">
|
||||||
|
<enum>QAbstractItemView::SelectRows</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sortingEnabled">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
<property name="wordWrap">
|
||||||
|
<bool>false</bool>
|
||||||
|
</property>
|
||||||
|
<attribute name="horizontalHeaderCascadingSectionResizes">
|
||||||
|
<bool>true</bool>
|
||||||
|
</attribute>
|
||||||
|
<attribute name="horizontalHeaderDefaultSectionSize">
|
||||||
|
<number>200</number>
|
||||||
|
</attribute>
|
||||||
|
<attribute name="horizontalHeaderHighlightSections">
|
||||||
|
<bool>false</bool>
|
||||||
|
</attribute>
|
||||||
|
<attribute name="horizontalHeaderMinimumSectionSize">
|
||||||
|
<number>27</number>
|
||||||
|
</attribute>
|
||||||
|
<attribute name="horizontalHeaderShowSortIndicator" stdset="0">
|
||||||
|
<bool>false</bool>
|
||||||
|
</attribute>
|
||||||
|
<attribute name="horizontalHeaderStretchLastSection">
|
||||||
|
<bool>true</bool>
|
||||||
|
</attribute>
|
||||||
|
<attribute name="verticalHeaderVisible">
|
||||||
|
<bool>false</bool>
|
||||||
|
</attribute>
|
||||||
|
<attribute name="verticalHeaderDefaultSectionSize">
|
||||||
|
<number>26</number>
|
||||||
|
</attribute>
|
||||||
|
<column>
|
||||||
|
<property name="text">
|
||||||
|
<string>To</string>
|
||||||
|
</property>
|
||||||
|
</column>
|
||||||
|
<column>
|
||||||
|
<property name="text">
|
||||||
|
<string>From</string>
|
||||||
|
</property>
|
||||||
|
</column>
|
||||||
|
<column>
|
||||||
|
<property name="text">
|
||||||
|
<string>Subject</string>
|
||||||
|
</property>
|
||||||
|
</column>
|
||||||
|
<column>
|
||||||
|
<property name="text">
|
||||||
|
<string>Received</string>
|
||||||
|
</property>
|
||||||
|
</column>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QTextEdit" name="textEditInboxMessageChans">
|
||||||
|
<property name="baseSize">
|
||||||
|
<size>
|
||||||
|
<width>0</width>
|
||||||
|
<height>500</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="readOnly">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
</item>
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
|
@ -1182,7 +1296,7 @@ p, li { white-space: pre-wrap; }
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>885</width>
|
<width>885</width>
|
||||||
<height>21</height>
|
<height>27</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<widget class="QMenu" name="menuFile">
|
<widget class="QMenu" name="menuFile">
|
||||||
|
@ -1192,7 +1306,6 @@ p, li { white-space: pre-wrap; }
|
||||||
<addaction name="actionManageKeys"/>
|
<addaction name="actionManageKeys"/>
|
||||||
<addaction name="actionDeleteAllTrashedMessages"/>
|
<addaction name="actionDeleteAllTrashedMessages"/>
|
||||||
<addaction name="actionRegenerateDeterministicAddresses"/>
|
<addaction name="actionRegenerateDeterministicAddresses"/>
|
||||||
<addaction name="actionJoinChan"/>
|
|
||||||
<addaction name="actionExit"/>
|
<addaction name="actionExit"/>
|
||||||
</widget>
|
</widget>
|
||||||
<widget class="QMenu" name="menuSettings">
|
<widget class="QMenu" name="menuSettings">
|
||||||
|
@ -1319,25 +1432,13 @@ p, li { white-space: pre-wrap; }
|
||||||
</action>
|
</action>
|
||||||
</widget>
|
</widget>
|
||||||
<tabstops>
|
<tabstops>
|
||||||
<tabstop>tabWidget</tabstop>
|
|
||||||
<tabstop>tableWidgetInbox</tabstop>
|
<tabstop>tableWidgetInbox</tabstop>
|
||||||
<tabstop>textEditInboxMessage</tabstop>
|
<tabstop>textEditInboxMessage</tabstop>
|
||||||
<tabstop>radioButtonSpecific</tabstop>
|
|
||||||
<tabstop>radioButtonBroadcast</tabstop>
|
|
||||||
<tabstop>comboBoxSendFrom</tabstop>
|
<tabstop>comboBoxSendFrom</tabstop>
|
||||||
<tabstop>lineEditTo</tabstop>
|
<tabstop>lineEditTo</tabstop>
|
||||||
<tabstop>pushButtonLoadFromAddressBook</tabstop>
|
|
||||||
<tabstop>lineEditSubject</tabstop>
|
<tabstop>lineEditSubject</tabstop>
|
||||||
<tabstop>textEditMessage</tabstop>
|
<tabstop>textEditMessage</tabstop>
|
||||||
<tabstop>pushButtonSend</tabstop>
|
|
||||||
<tabstop>tableWidgetSent</tabstop>
|
|
||||||
<tabstop>textEditSentMessage</tabstop>
|
|
||||||
<tabstop>pushButtonNewAddress</tabstop>
|
|
||||||
<tabstop>tableWidgetYourIdentities</tabstop>
|
|
||||||
<tabstop>pushButtonAddSubscription</tabstop>
|
<tabstop>pushButtonAddSubscription</tabstop>
|
||||||
<tabstop>tableWidgetSubscriptions</tabstop>
|
|
||||||
<tabstop>pushButtonAddAddressBook</tabstop>
|
|
||||||
<tabstop>tableWidgetAddressBook</tabstop>
|
|
||||||
<tabstop>radioButtonBlacklist</tabstop>
|
<tabstop>radioButtonBlacklist</tabstop>
|
||||||
<tabstop>radioButtonWhitelist</tabstop>
|
<tabstop>radioButtonWhitelist</tabstop>
|
||||||
<tabstop>pushButtonAddBlacklist</tabstop>
|
<tabstop>pushButtonAddBlacklist</tabstop>
|
||||||
|
@ -1348,54 +1449,5 @@ p, li { white-space: pre-wrap; }
|
||||||
<resources>
|
<resources>
|
||||||
<include location="bitmessage_icons.qrc"/>
|
<include location="bitmessage_icons.qrc"/>
|
||||||
</resources>
|
</resources>
|
||||||
<connections>
|
<connections/>
|
||||||
<connection>
|
|
||||||
<sender>radioButtonSpecific</sender>
|
|
||||||
<signal>toggled(bool)</signal>
|
|
||||||
<receiver>lineEditTo</receiver>
|
|
||||||
<slot>setEnabled(bool)</slot>
|
|
||||||
<hints>
|
|
||||||
<hint type="sourcelabel">
|
|
||||||
<x>121</x>
|
|
||||||
<y>60</y>
|
|
||||||
</hint>
|
|
||||||
<hint type="destinationlabel">
|
|
||||||
<x>175</x>
|
|
||||||
<y>147</y>
|
|
||||||
</hint>
|
|
||||||
</hints>
|
|
||||||
</connection>
|
|
||||||
<connection>
|
|
||||||
<sender>radioButtonSpecific</sender>
|
|
||||||
<signal>clicked(bool)</signal>
|
|
||||||
<receiver>labelSendBroadcastWarning</receiver>
|
|
||||||
<slot>hide()</slot>
|
|
||||||
<hints>
|
|
||||||
<hint type="sourcelabel">
|
|
||||||
<x>95</x>
|
|
||||||
<y>59</y>
|
|
||||||
</hint>
|
|
||||||
<hint type="destinationlabel">
|
|
||||||
<x>129</x>
|
|
||||||
<y>528</y>
|
|
||||||
</hint>
|
|
||||||
</hints>
|
|
||||||
</connection>
|
|
||||||
<connection>
|
|
||||||
<sender>radioButtonBroadcast</sender>
|
|
||||||
<signal>clicked()</signal>
|
|
||||||
<receiver>labelSendBroadcastWarning</receiver>
|
|
||||||
<slot>show()</slot>
|
|
||||||
<hints>
|
|
||||||
<hint type="sourcelabel">
|
|
||||||
<x>108</x>
|
|
||||||
<y>84</y>
|
|
||||||
</hint>
|
|
||||||
<hint type="destinationlabel">
|
|
||||||
<x>177</x>
|
|
||||||
<y>519</y>
|
|
||||||
</hint>
|
|
||||||
</hints>
|
|
||||||
</connection>
|
|
||||||
</connections>
|
|
||||||
</ui>
|
</ui>
|
||||||
|
|
Loading…
Reference in New Issue
Block a user