Supporting broadcasts and delivery to specific recipients

This commit is contained in:
Chuck 2013-07-10 20:24:33 +07:00
parent cccb043b67
commit ebce2e29dd
8 changed files with 834 additions and 702 deletions

View File

@ -1259,12 +1259,12 @@ class MyForm(QtGui.QMainWindow):
self.ui.tableWidgetSubscriptions.setRowCount(0) self.ui.tableWidgetSubscriptions.setRowCount(0)
shared.sqlLock.acquire() shared.sqlLock.acquire()
shared.sqlSubmitQueue.put( shared.sqlSubmitQueue.put(
'SELECT label, address, enabled FROM subscriptions') 'SELECT label, address, receiving_identity, enabled FROM subscriptions')
shared.sqlSubmitQueue.put('') shared.sqlSubmitQueue.put('')
queryreturn = shared.sqlReturnQueue.get() queryreturn = shared.sqlReturnQueue.get()
shared.sqlLock.release() shared.sqlLock.release()
for row in queryreturn: for row in queryreturn:
label, address, enabled = row label, address, receivingIdentity, enabled = row
self.ui.tableWidgetSubscriptions.insertRow(0) self.ui.tableWidgetSubscriptions.insertRow(0)
newItem = QtGui.QTableWidgetItem(unicode(label, 'utf-8')) newItem = QtGui.QTableWidgetItem(unicode(label, 'utf-8'))
if not enabled: if not enabled:
@ -1276,6 +1276,10 @@ class MyForm(QtGui.QMainWindow):
if not enabled: if not enabled:
newItem.setTextColor(QtGui.QColor(128, 128, 128)) newItem.setTextColor(QtGui.QColor(128, 128, 128))
self.ui.tableWidgetSubscriptions.setItem(0, 1, newItem) self.ui.tableWidgetSubscriptions.setItem(0, 1, newItem)
newItem = QtGui.QTableWidgetItem(unicode(receivingIdentity, 'utf-8'))
newItem.setFlags(
QtCore.Qt.ItemIsSelectable | QtCore.Qt.ItemIsEnabled)
self.ui.tableWidgetSubscriptions.setItem(0, 2, newItem)
def click_pushButtonSend(self): def click_pushButtonSend(self):
self.statusBar().showMessage('') self.statusBar().showMessage('')
@ -1656,7 +1660,7 @@ class MyForm(QtGui.QMainWindow):
self.statusBar().showMessage(_translate( self.statusBar().showMessage(_translate(
"MainWindow", "The address you entered was invalid. Ignoring it.")) "MainWindow", "The address you entered was invalid. Ignoring it."))
def addSubscription(self, label, address): def addSubscription(self, label, address, receivingIdentity):
address = addBMIfNotPresent(address) address = addBMIfNotPresent(address)
#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):
@ -1669,11 +1673,14 @@ class MyForm(QtGui.QMainWindow):
newItem = QtGui.QTableWidgetItem(address) newItem = QtGui.QTableWidgetItem(address)
newItem.setFlags( QtCore.Qt.ItemIsSelectable | QtCore.Qt.ItemIsEnabled ) newItem.setFlags( QtCore.Qt.ItemIsSelectable | QtCore.Qt.ItemIsEnabled )
self.ui.tableWidgetSubscriptions.setItem(0,1,newItem) self.ui.tableWidgetSubscriptions.setItem(0,1,newItem)
newItem = QtGui.QTableWidgetItem(unicode(receivingIdentity, 'utf-8'))
newItem.setFlags( QtCore.Qt.ItemIsSelectable | QtCore.Qt.ItemIsEnabled )
self.ui.tableWidgetSubscriptions.setItem(0,2,newItem)
self.ui.tableWidgetSubscriptions.setSortingEnabled(True) 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)
t = (str(label),address,True) t = (str(label),address,receivingIdentity,True)
shared.sqlLock.acquire() shared.sqlLock.acquire()
shared.sqlSubmitQueue.put('''INSERT INTO subscriptions VALUES (?,?,?)''') shared.sqlSubmitQueue.put('''INSERT INTO subscriptions (label, address, receiving_identity, enabled) VALUES (?,?,?,?)''')
shared.sqlSubmitQueue.put(t) shared.sqlSubmitQueue.put(t)
queryreturn = shared.sqlReturnQueue.get() queryreturn = shared.sqlReturnQueue.get()
shared.sqlSubmitQueue.put('commit') shared.sqlSubmitQueue.put('commit')
@ -1682,7 +1689,7 @@ class MyForm(QtGui.QMainWindow):
shared.reloadBroadcastSendersForWhichImWatching() shared.reloadBroadcastSendersForWhichImWatching()
def click_pushButtonAddSubscription(self): def click_pushButtonAddSubscription(self):
self.NewSubscriptionDialogInstance = NewSubscriptionDialog(self) self.NewSubscriptionDialogInstance = NewSubscriptionDialog(self, True)
if self.NewSubscriptionDialogInstance.exec_(): if self.NewSubscriptionDialogInstance.exec_():
if self.NewSubscriptionDialogInstance.ui.labelSubscriptionAddressCheck.text() != _translate("MainWindow", "Address is valid."): if self.NewSubscriptionDialogInstance.ui.labelSubscriptionAddressCheck.text() != _translate("MainWindow", "Address is valid."):
self.statusBar().showMessage(_translate("MainWindow", "The address you entered was invalid. Ignoring it.")) self.statusBar().showMessage(_translate("MainWindow", "The address you entered was invalid. Ignoring it."))
@ -1693,7 +1700,9 @@ class MyForm(QtGui.QMainWindow):
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 subsciptions 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(label, address) comboBoxIndex = self.NewSubscriptionDialogInstance.ui.comboBoxReceivingIdentity.currentIndex()
receivingIdentity = str(self.NewSubscriptionDialogInstance.ui.comboBoxReceivingIdentity.itemData(comboBoxIndex).toPyObject())
self.addSubscription(label, address, receivingIdentity)
def loadBlackWhiteList(self): def loadBlackWhiteList(self):
# Initialize the Blacklist or Whitelist table # Initialize the Blacklist or Whitelist table
@ -2321,7 +2330,7 @@ class MyForm(QtGui.QMainWindow):
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 subsciptions 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(labelAtCurrentRow, addressAtCurrentRow) self.addSubscription(labelAtCurrentRow, addressAtCurrentRow, '') # TODO
self.ui.tabWidget.setCurrentIndex(4) self.ui.tabWidget.setCurrentIndex(4)
def on_context_menuAddressBook(self, point): def on_context_menuAddressBook(self, point):
@ -2339,10 +2348,12 @@ class MyForm(QtGui.QMainWindow):
currentRow, 0).text().toUtf8() currentRow, 0).text().toUtf8()
addressAtCurrentRow = self.ui.tableWidgetSubscriptions.item( addressAtCurrentRow = self.ui.tableWidgetSubscriptions.item(
currentRow, 1).text() currentRow, 1).text()
t = (str(labelAtCurrentRow), str(addressAtCurrentRow)) receivingIdentity = self.ui.tableWidgetSubscriptions.item(
currentRow, 2).text()
t = (str(labelAtCurrentRow), str(addressAtCurrentRow), str(receivingIdentity))
shared.sqlLock.acquire() shared.sqlLock.acquire()
shared.sqlSubmitQueue.put( shared.sqlSubmitQueue.put(
'''DELETE FROM subscriptions WHERE label=? AND address=?''') '''DELETE FROM subscriptions WHERE label=? AND address=? AND receiving_identity=?''')
shared.sqlSubmitQueue.put(t) shared.sqlSubmitQueue.put(t)
shared.sqlReturnQueue.get() shared.sqlReturnQueue.get()
shared.sqlSubmitQueue.put('commit') shared.sqlSubmitQueue.put('commit')
@ -2364,18 +2375,19 @@ class MyForm(QtGui.QMainWindow):
currentRow, 0).text().toUtf8() currentRow, 0).text().toUtf8()
addressAtCurrentRow = self.ui.tableWidgetSubscriptions.item( addressAtCurrentRow = self.ui.tableWidgetSubscriptions.item(
currentRow, 1).text() currentRow, 1).text()
t = (str(labelAtCurrentRow), str(addressAtCurrentRow)) receivingIdentity = self.ui.tableWidgetSubscriptions.item(
currentRow, 2).text()
t = (str(labelAtCurrentRow), str(addressAtCurrentRow), str(receivingIdentity))
shared.sqlLock.acquire() shared.sqlLock.acquire()
shared.sqlSubmitQueue.put( shared.sqlSubmitQueue.put(
'''update subscriptions set enabled=1 WHERE label=? AND address=?''') '''update subscriptions set enabled=1 WHERE label=? AND address=? AND receiving_identity=?''')
shared.sqlSubmitQueue.put(t) shared.sqlSubmitQueue.put(t)
shared.sqlReturnQueue.get() shared.sqlReturnQueue.get()
shared.sqlSubmitQueue.put('commit') shared.sqlSubmitQueue.put('commit')
shared.sqlLock.release() shared.sqlLock.release()
self.ui.tableWidgetSubscriptions.item( for i in range(3):
currentRow, 0).setTextColor(QtGui.QColor(0, 0, 0)) self.ui.tableWidgetSubscriptions.item(
self.ui.tableWidgetSubscriptions.item( currentRow, i).setTextColor(QtGui.QColor(0, 0, 0))
currentRow, 1).setTextColor(QtGui.QColor(0, 0, 0))
shared.reloadBroadcastSendersForWhichImWatching() shared.reloadBroadcastSendersForWhichImWatching()
def on_action_SubscriptionsDisable(self): def on_action_SubscriptionsDisable(self):
@ -2384,18 +2396,19 @@ class MyForm(QtGui.QMainWindow):
currentRow, 0).text().toUtf8() currentRow, 0).text().toUtf8()
addressAtCurrentRow = self.ui.tableWidgetSubscriptions.item( addressAtCurrentRow = self.ui.tableWidgetSubscriptions.item(
currentRow, 1).text() currentRow, 1).text()
t = (str(labelAtCurrentRow), str(addressAtCurrentRow)) receivingIdentity = self.ui.tableWidgetSubscriptions.item(
currentRow, 2).text()
t = (str(labelAtCurrentRow), str(addressAtCurrentRow), str(receivingIdentity))
shared.sqlLock.acquire() shared.sqlLock.acquire()
shared.sqlSubmitQueue.put( shared.sqlSubmitQueue.put(
'''update subscriptions set enabled=0 WHERE label=? AND address=?''') '''update subscriptions set enabled=0 WHERE label=? AND address=? AND receiving_identity=?''')
shared.sqlSubmitQueue.put(t) shared.sqlSubmitQueue.put(t)
shared.sqlReturnQueue.get() shared.sqlReturnQueue.get()
shared.sqlSubmitQueue.put('commit') shared.sqlSubmitQueue.put('commit')
shared.sqlLock.release() shared.sqlLock.release()
self.ui.tableWidgetSubscriptions.item( for i in range(3):
currentRow, 0).setTextColor(QtGui.QColor(128, 128, 128)) self.ui.tableWidgetSubscriptions.item(
self.ui.tableWidgetSubscriptions.item( currentRow, i).setTextColor(QtGui.QColor(128, 128, 128))
currentRow, 1).setTextColor(QtGui.QColor(128, 128, 128))
shared.reloadBroadcastSendersForWhichImWatching() shared.reloadBroadcastSendersForWhichImWatching()
def on_context_menuSubscriptions(self, point): def on_context_menuSubscriptions(self, point):
@ -2651,10 +2664,12 @@ class MyForm(QtGui.QMainWindow):
if currentRow >= 0: if currentRow >= 0:
addressAtCurrentRow = self.ui.tableWidgetSubscriptions.item( addressAtCurrentRow = self.ui.tableWidgetSubscriptions.item(
currentRow, 1).text() currentRow, 1).text()
receivingIdentity = self.ui.tableWidgetSubscriptions.item(
currentRow, 2).text()
t = (str(self.ui.tableWidgetSubscriptions.item( t = (str(self.ui.tableWidgetSubscriptions.item(
currentRow, 0).text().toUtf8()), str(addressAtCurrentRow)) currentRow, 0).text().toUtf8()), str(addressAtCurrentRow), str(receivingIdentity))
shared.sqlSubmitQueue.put( shared.sqlSubmitQueue.put(
'''UPDATE subscriptions set label=? WHERE address=?''') '''UPDATE subscriptions set label=? WHERE address=? AND receiving_identity=?''')
shared.sqlSubmitQueue.put(t) shared.sqlSubmitQueue.put(t)
shared.sqlReturnQueue.get() shared.sqlReturnQueue.get()
shared.sqlSubmitQueue.put('commit') shared.sqlSubmitQueue.put('commit')
@ -3027,7 +3042,7 @@ class SpecialAddressBehaviorDialog(QtGui.QDialog):
class NewSubscriptionDialog(QtGui.QDialog): class NewSubscriptionDialog(QtGui.QDialog):
def __init__(self, parent): def __init__(self, parent, showReceivingIdentity=False):
QtGui.QWidget.__init__(self, parent) QtGui.QWidget.__init__(self, parent)
self.ui = Ui_NewSubscriptionDialog() self.ui = Ui_NewSubscriptionDialog()
self.ui.setupUi(self) self.ui.setupUi(self)
@ -3035,6 +3050,29 @@ class NewSubscriptionDialog(QtGui.QDialog):
QtCore.QObject.connect(self.ui.lineEditSubscriptionAddress, QtCore.SIGNAL( QtCore.QObject.connect(self.ui.lineEditSubscriptionAddress, QtCore.SIGNAL(
"textChanged(QString)"), self.subscriptionAddressChanged) "textChanged(QString)"), self.subscriptionAddressChanged)
if showReceivingIdentity:
self.ui.label_3.setVisible(True)
self.ui.comboBoxReceivingIdentity.setVisible(True)
configSections = shared.config.sections()
for addressInKeysFile in configSections:
if addressInKeysFile != 'bitmessagesettings':
status, addressVersionNumber, streamNumber, hash = decodeAddress(
addressInKeysFile)
if status != 'success':
continue
isEnabled = shared.config.getboolean(
addressInKeysFile, 'enabled')
if not isEnabled:
continue
self.ui.comboBoxReceivingIdentity.insertItem(0, unicode("{} - {}".format(shared.config.get(
addressInKeysFile, 'label'), addressInKeysFile), 'utf-8'), addressInKeysFile)
else:
self.ui.label_3.setVisible(False)
self.ui.comboBoxReceivingIdentity.setVisible(False)
def subscriptionAddressChanged(self, QString): def subscriptionAddressChanged(self, QString):
status, a, b, c = decodeAddress(str(QString)) status, a, b, c = decodeAddress(str(QString))
if status == 'missingbm': if status == 'missingbm':

View File

@ -1,571 +1,565 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'bitmessageui.ui' # Form implementation generated from reading ui file 'bitmessageui.ui'
# #
# Created: Thu Jun 13 01:02:50 2013 # Created: Wed Jul 10 18:36:45 2013
# by: PyQt4 UI code generator 4.10.1 # by: PyQt4 UI code generator 4.10.1
# #
# WARNING! All changes made in this file will be lost! # WARNING! All changes made in this file will be lost!
from PyQt4 import QtCore, QtGui from PyQt4 import QtCore, QtGui
try: try:
_fromUtf8 = QtCore.QString.fromUtf8 _fromUtf8 = QtCore.QString.fromUtf8
except AttributeError: except AttributeError:
def _fromUtf8(s): def _fromUtf8(s):
return s return s
try: try:
_encoding = QtGui.QApplication.UnicodeUTF8 _encoding = QtGui.QApplication.UnicodeUTF8
def _translate(context, text, disambig): def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig, _encoding) return QtGui.QApplication.translate(context, text, disambig, _encoding)
except AttributeError: except AttributeError:
def _translate(context, text, disambig): def _translate(context, text, disambig):
return QtGui.QApplication.translate(context, text, disambig) return QtGui.QApplication.translate(context, text, disambig)
class Ui_MainWindow(object): class Ui_MainWindow(object):
def setupUi(self, MainWindow): def setupUi(self, MainWindow):
MainWindow.setObjectName(_fromUtf8("MainWindow")) MainWindow.setObjectName(_fromUtf8("MainWindow"))
MainWindow.resize(795, 561) MainWindow.resize(795, 561)
icon = QtGui.QIcon() icon = QtGui.QIcon()
icon.addPixmap(QtGui.QPixmap(_fromUtf8(":/newPrefix/images/can-icon-24px.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off) icon.addPixmap(QtGui.QPixmap(_fromUtf8(":/newPrefix/images/can-icon-24px.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
MainWindow.setWindowIcon(icon) MainWindow.setWindowIcon(icon)
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 = QtGui.QGridLayout(self.centralwidget)
self.gridLayout.setMargin(0) self.gridLayout.setMargin(0)
self.gridLayout.setObjectName(_fromUtf8("gridLayout")) 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)
sizePolicy.setVerticalStretch(0) sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.tabWidget.sizePolicy().hasHeightForWidth()) sizePolicy.setHeightForWidth(self.tabWidget.sizePolicy().hasHeightForWidth())
self.tabWidget.setSizePolicy(sizePolicy) self.tabWidget.setSizePolicy(sizePolicy)
self.tabWidget.setMinimumSize(QtCore.QSize(0, 0)) self.tabWidget.setMinimumSize(QtCore.QSize(0, 0))
self.tabWidget.setBaseSize(QtCore.QSize(0, 0)) self.tabWidget.setBaseSize(QtCore.QSize(0, 0))
font = QtGui.QFont() font = QtGui.QFont()
font.setPointSize(9) font.setPointSize(9)
self.tabWidget.setFont(font) self.tabWidget.setFont(font)
self.tabWidget.setTabPosition(QtGui.QTabWidget.North) self.tabWidget.setTabPosition(QtGui.QTabWidget.North)
self.tabWidget.setTabShape(QtGui.QTabWidget.Rounded) self.tabWidget.setTabShape(QtGui.QTabWidget.Rounded)
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.verticalLayout_2 = QtGui.QVBoxLayout(self.inbox)
self.verticalLayout_2.setObjectName(_fromUtf8("verticalLayout_2")) self.verticalLayout_2.setObjectName(_fromUtf8("verticalLayout_2"))
self.tableWidgetInbox = QtGui.QTableWidget(self.inbox) self.tableWidgetInbox = QtGui.QTableWidget(self.inbox)
self.tableWidgetInbox.setAlternatingRowColors(True) self.tableWidgetInbox.setAlternatingRowColors(True)
self.tableWidgetInbox.setSelectionMode(QtGui.QAbstractItemView.ExtendedSelection) self.tableWidgetInbox.setSelectionMode(QtGui.QAbstractItemView.ExtendedSelection)
self.tableWidgetInbox.setSelectionBehavior(QtGui.QAbstractItemView.SelectRows) self.tableWidgetInbox.setSelectionBehavior(QtGui.QAbstractItemView.SelectRows)
self.tableWidgetInbox.setWordWrap(False) self.tableWidgetInbox.setWordWrap(False)
self.tableWidgetInbox.setObjectName(_fromUtf8("tableWidgetInbox")) self.tableWidgetInbox.setObjectName(_fromUtf8("tableWidgetInbox"))
self.tableWidgetInbox.setColumnCount(4) self.tableWidgetInbox.setColumnCount(4)
self.tableWidgetInbox.setRowCount(0) self.tableWidgetInbox.setRowCount(0)
item = QtGui.QTableWidgetItem() item = QtGui.QTableWidgetItem()
self.tableWidgetInbox.setHorizontalHeaderItem(0, item) self.tableWidgetInbox.setHorizontalHeaderItem(0, item)
item = QtGui.QTableWidgetItem() item = QtGui.QTableWidgetItem()
self.tableWidgetInbox.setHorizontalHeaderItem(1, item) self.tableWidgetInbox.setHorizontalHeaderItem(1, item)
item = QtGui.QTableWidgetItem() item = QtGui.QTableWidgetItem()
self.tableWidgetInbox.setHorizontalHeaderItem(2, item) self.tableWidgetInbox.setHorizontalHeaderItem(2, item)
item = QtGui.QTableWidgetItem() item = QtGui.QTableWidgetItem()
self.tableWidgetInbox.setHorizontalHeaderItem(3, item) self.tableWidgetInbox.setHorizontalHeaderItem(3, item)
self.tableWidgetInbox.horizontalHeader().setCascadingSectionResizes(True) self.tableWidgetInbox.horizontalHeader().setCascadingSectionResizes(True)
self.tableWidgetInbox.horizontalHeader().setDefaultSectionSize(200) self.tableWidgetInbox.horizontalHeader().setDefaultSectionSize(200)
self.tableWidgetInbox.horizontalHeader().setHighlightSections(False) self.tableWidgetInbox.horizontalHeader().setHighlightSections(False)
self.tableWidgetInbox.horizontalHeader().setMinimumSectionSize(27) self.tableWidgetInbox.horizontalHeader().setMinimumSectionSize(27)
self.tableWidgetInbox.horizontalHeader().setSortIndicatorShown(False) self.tableWidgetInbox.horizontalHeader().setSortIndicatorShown(False)
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.verticalLayout_2.addWidget(self.tableWidgetInbox) self.verticalLayout_2.addWidget(self.tableWidgetInbox)
self.textEditInboxMessage = QtGui.QTextEdit(self.inbox) self.textEditInboxMessage = QtGui.QTextEdit(self.inbox)
self.textEditInboxMessage.setBaseSize(QtCore.QSize(0, 500)) self.textEditInboxMessage.setBaseSize(QtCore.QSize(0, 500))
self.textEditInboxMessage.setObjectName(_fromUtf8("textEditInboxMessage")) self.textEditInboxMessage.setObjectName(_fromUtf8("textEditInboxMessage"))
self.verticalLayout_2.addWidget(self.textEditInboxMessage) self.verticalLayout_2.addWidget(self.textEditInboxMessage)
icon1 = QtGui.QIcon() icon1 = QtGui.QIcon()
icon1.addPixmap(QtGui.QPixmap(_fromUtf8(":/newPrefix/images/inbox.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off) icon1.addPixmap(QtGui.QPixmap(_fromUtf8(":/newPrefix/images/inbox.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.tabWidget.addTab(self.inbox, icon1, _fromUtf8("")) self.tabWidget.addTab(self.inbox, icon1, _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_2 = QtGui.QGridLayout(self.send)
self.gridLayout_2.setObjectName(_fromUtf8("gridLayout_2")) self.gridLayout_2.setObjectName(_fromUtf8("gridLayout_2"))
self.pushButtonLoadFromAddressBook = QtGui.QPushButton(self.send) self.pushButtonLoadFromAddressBook = QtGui.QPushButton(self.send)
font = QtGui.QFont() font = QtGui.QFont()
font.setPointSize(7) font.setPointSize(7)
self.pushButtonLoadFromAddressBook.setFont(font) self.pushButtonLoadFromAddressBook.setFont(font)
self.pushButtonLoadFromAddressBook.setObjectName(_fromUtf8("pushButtonLoadFromAddressBook")) self.pushButtonLoadFromAddressBook.setObjectName(_fromUtf8("pushButtonLoadFromAddressBook"))
self.gridLayout_2.addWidget(self.pushButtonLoadFromAddressBook, 3, 2, 1, 2) self.gridLayout_2.addWidget(self.pushButtonLoadFromAddressBook, 3, 2, 1, 2)
self.label_4 = QtGui.QLabel(self.send) self.label_4 = QtGui.QLabel(self.send)
self.label_4.setObjectName(_fromUtf8("label_4")) self.label_4.setObjectName(_fromUtf8("label_4"))
self.gridLayout_2.addWidget(self.label_4, 5, 0, 1, 1) self.gridLayout_2.addWidget(self.label_4, 5, 0, 1, 1)
self.comboBoxSendFrom = QtGui.QComboBox(self.send) 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, 2, 1, 1, 1)
self.label_3 = QtGui.QLabel(self.send) self.label_3 = QtGui.QLabel(self.send)
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, 4, 0, 1, 1)
self.labelFrom = QtGui.QLabel(self.send) self.labelFrom = QtGui.QLabel(self.send)
self.labelFrom.setText(_fromUtf8("")) self.labelFrom.setText(_fromUtf8(""))
self.labelFrom.setObjectName(_fromUtf8("labelFrom")) self.labelFrom.setObjectName(_fromUtf8("labelFrom"))
self.gridLayout_2.addWidget(self.labelFrom, 2, 2, 1, 3) self.gridLayout_2.addWidget(self.labelFrom, 2, 2, 1, 3)
self.radioButtonSpecific = QtGui.QRadioButton(self.send) self.radioButtonSpecific = QtGui.QRadioButton(self.send)
self.radioButtonSpecific.setChecked(True) self.radioButtonSpecific.setChecked(True)
self.radioButtonSpecific.setObjectName(_fromUtf8("radioButtonSpecific")) self.radioButtonSpecific.setObjectName(_fromUtf8("radioButtonSpecific"))
self.gridLayout_2.addWidget(self.radioButtonSpecific, 0, 1, 1, 1) self.gridLayout_2.addWidget(self.radioButtonSpecific, 0, 1, 1, 1)
self.lineEditTo = QtGui.QLineEdit(self.send) self.lineEditTo = QtGui.QLineEdit(self.send)
self.lineEditTo.setObjectName(_fromUtf8("lineEditTo")) self.lineEditTo.setObjectName(_fromUtf8("lineEditTo"))
self.gridLayout_2.addWidget(self.lineEditTo, 3, 1, 1, 1) self.gridLayout_2.addWidget(self.lineEditTo, 3, 1, 1, 1)
self.textEditMessage = QtGui.QTextEdit(self.send) self.textEditMessage = QtGui.QTextEdit(self.send)
self.textEditMessage.setObjectName(_fromUtf8("textEditMessage")) self.textEditMessage.setObjectName(_fromUtf8("textEditMessage"))
self.gridLayout_2.addWidget(self.textEditMessage, 5, 1, 2, 5) self.gridLayout_2.addWidget(self.textEditMessage, 5, 1, 2, 5)
self.label = QtGui.QLabel(self.send) self.label = QtGui.QLabel(self.send)
self.label.setObjectName(_fromUtf8("label")) self.label.setObjectName(_fromUtf8("label"))
self.gridLayout_2.addWidget(self.label, 3, 0, 1, 1) self.gridLayout_2.addWidget(self.label, 3, 0, 1, 1)
self.label_2 = QtGui.QLabel(self.send) self.label_2 = QtGui.QLabel(self.send)
self.label_2.setObjectName(_fromUtf8("label_2")) self.label_2.setObjectName(_fromUtf8("label_2"))
self.gridLayout_2.addWidget(self.label_2, 2, 0, 1, 1) self.gridLayout_2.addWidget(self.label_2, 2, 0, 1, 1)
spacerItem = QtGui.QSpacerItem(20, 297, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding) spacerItem = QtGui.QSpacerItem(20, 297, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
self.gridLayout_2.addItem(spacerItem, 6, 0, 1, 1) self.gridLayout_2.addItem(spacerItem, 6, 0, 1, 1)
self.radioButtonBroadcast = QtGui.QRadioButton(self.send) self.radioButtonBroadcast = QtGui.QRadioButton(self.send)
self.radioButtonBroadcast.setObjectName(_fromUtf8("radioButtonBroadcast")) self.radioButtonBroadcast.setObjectName(_fromUtf8("radioButtonBroadcast"))
self.gridLayout_2.addWidget(self.radioButtonBroadcast, 1, 1, 1, 3) self.gridLayout_2.addWidget(self.radioButtonBroadcast, 1, 1, 1, 3)
self.lineEditSubject = QtGui.QLineEdit(self.send) self.lineEditSubject = QtGui.QLineEdit(self.send)
self.lineEditSubject.setText(_fromUtf8("")) self.lineEditSubject.setText(_fromUtf8(""))
self.lineEditSubject.setObjectName(_fromUtf8("lineEditSubject")) self.lineEditSubject.setObjectName(_fromUtf8("lineEditSubject"))
self.gridLayout_2.addWidget(self.lineEditSubject, 4, 1, 1, 5) self.gridLayout_2.addWidget(self.lineEditSubject, 4, 1, 1, 5)
spacerItem1 = QtGui.QSpacerItem(20, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) spacerItem1 = QtGui.QSpacerItem(20, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
self.gridLayout_2.addItem(spacerItem1, 3, 4, 1, 1) self.gridLayout_2.addItem(spacerItem1, 3, 4, 1, 1)
self.pushButtonSend = QtGui.QPushButton(self.send) self.pushButtonSend = QtGui.QPushButton(self.send)
self.pushButtonSend.setObjectName(_fromUtf8("pushButtonSend")) self.pushButtonSend.setObjectName(_fromUtf8("pushButtonSend"))
self.gridLayout_2.addWidget(self.pushButtonSend, 7, 5, 1, 1) self.gridLayout_2.addWidget(self.pushButtonSend, 7, 5, 1, 1)
self.labelSendBroadcastWarning = QtGui.QLabel(self.send) self.labelSendBroadcastWarning = QtGui.QLabel(self.send)
self.labelSendBroadcastWarning.setEnabled(True) self.labelSendBroadcastWarning.setEnabled(True)
sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Ignored, QtGui.QSizePolicy.Preferred) sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Ignored, QtGui.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0) sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0) sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.labelSendBroadcastWarning.sizePolicy().hasHeightForWidth()) sizePolicy.setHeightForWidth(self.labelSendBroadcastWarning.sizePolicy().hasHeightForWidth())
self.labelSendBroadcastWarning.setSizePolicy(sizePolicy) self.labelSendBroadcastWarning.setSizePolicy(sizePolicy)
self.labelSendBroadcastWarning.setIndent(-1) self.labelSendBroadcastWarning.setIndent(-1)
self.labelSendBroadcastWarning.setObjectName(_fromUtf8("labelSendBroadcastWarning")) self.labelSendBroadcastWarning.setObjectName(_fromUtf8("labelSendBroadcastWarning"))
self.gridLayout_2.addWidget(self.labelSendBroadcastWarning, 7, 1, 1, 4) self.gridLayout_2.addWidget(self.labelSendBroadcastWarning, 7, 1, 1, 4)
icon2 = QtGui.QIcon() icon2 = QtGui.QIcon()
icon2.addPixmap(QtGui.QPixmap(_fromUtf8(":/newPrefix/images/send.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off) icon2.addPixmap(QtGui.QPixmap(_fromUtf8(":/newPrefix/images/send.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.tabWidget.addTab(self.send, icon2, _fromUtf8("")) self.tabWidget.addTab(self.send, icon2, _fromUtf8(""))
self.sent = QtGui.QWidget() self.sent = QtGui.QWidget()
self.sent.setObjectName(_fromUtf8("sent")) self.sent.setObjectName(_fromUtf8("sent"))
self.verticalLayout = QtGui.QVBoxLayout(self.sent) self.verticalLayout = QtGui.QVBoxLayout(self.sent)
self.verticalLayout.setObjectName(_fromUtf8("verticalLayout")) self.verticalLayout.setObjectName(_fromUtf8("verticalLayout"))
self.tableWidgetSent = QtGui.QTableWidget(self.sent) self.tableWidgetSent = QtGui.QTableWidget(self.sent)
self.tableWidgetSent.setDragDropMode(QtGui.QAbstractItemView.DragDrop) self.tableWidgetSent.setDragDropMode(QtGui.QAbstractItemView.DragDrop)
self.tableWidgetSent.setAlternatingRowColors(True) self.tableWidgetSent.setAlternatingRowColors(True)
self.tableWidgetSent.setSelectionMode(QtGui.QAbstractItemView.ExtendedSelection) self.tableWidgetSent.setSelectionMode(QtGui.QAbstractItemView.ExtendedSelection)
self.tableWidgetSent.setSelectionBehavior(QtGui.QAbstractItemView.SelectRows) self.tableWidgetSent.setSelectionBehavior(QtGui.QAbstractItemView.SelectRows)
self.tableWidgetSent.setWordWrap(False) self.tableWidgetSent.setWordWrap(False)
self.tableWidgetSent.setObjectName(_fromUtf8("tableWidgetSent")) self.tableWidgetSent.setObjectName(_fromUtf8("tableWidgetSent"))
self.tableWidgetSent.setColumnCount(4) self.tableWidgetSent.setColumnCount(4)
self.tableWidgetSent.setRowCount(0) self.tableWidgetSent.setRowCount(0)
item = QtGui.QTableWidgetItem() item = QtGui.QTableWidgetItem()
self.tableWidgetSent.setHorizontalHeaderItem(0, item) self.tableWidgetSent.setHorizontalHeaderItem(0, item)
item = QtGui.QTableWidgetItem() item = QtGui.QTableWidgetItem()
self.tableWidgetSent.setHorizontalHeaderItem(1, item) self.tableWidgetSent.setHorizontalHeaderItem(1, item)
item = QtGui.QTableWidgetItem() item = QtGui.QTableWidgetItem()
self.tableWidgetSent.setHorizontalHeaderItem(2, item) self.tableWidgetSent.setHorizontalHeaderItem(2, item)
item = QtGui.QTableWidgetItem() item = QtGui.QTableWidgetItem()
self.tableWidgetSent.setHorizontalHeaderItem(3, item) self.tableWidgetSent.setHorizontalHeaderItem(3, item)
self.tableWidgetSent.horizontalHeader().setCascadingSectionResizes(True) self.tableWidgetSent.horizontalHeader().setCascadingSectionResizes(True)
self.tableWidgetSent.horizontalHeader().setDefaultSectionSize(130) self.tableWidgetSent.horizontalHeader().setDefaultSectionSize(130)
self.tableWidgetSent.horizontalHeader().setHighlightSections(False) self.tableWidgetSent.horizontalHeader().setHighlightSections(False)
self.tableWidgetSent.horizontalHeader().setSortIndicatorShown(False) self.tableWidgetSent.horizontalHeader().setSortIndicatorShown(False)
self.tableWidgetSent.horizontalHeader().setStretchLastSection(True) self.tableWidgetSent.horizontalHeader().setStretchLastSection(True)
self.tableWidgetSent.verticalHeader().setVisible(False) self.tableWidgetSent.verticalHeader().setVisible(False)
self.tableWidgetSent.verticalHeader().setStretchLastSection(False) self.tableWidgetSent.verticalHeader().setStretchLastSection(False)
self.verticalLayout.addWidget(self.tableWidgetSent) self.verticalLayout.addWidget(self.tableWidgetSent)
self.textEditSentMessage = QtGui.QTextEdit(self.sent) self.textEditSentMessage = QtGui.QTextEdit(self.sent)
self.textEditSentMessage.setObjectName(_fromUtf8("textEditSentMessage")) self.textEditSentMessage.setObjectName(_fromUtf8("textEditSentMessage"))
self.verticalLayout.addWidget(self.textEditSentMessage) self.verticalLayout.addWidget(self.textEditSentMessage)
icon3 = QtGui.QIcon() icon3 = QtGui.QIcon()
icon3.addPixmap(QtGui.QPixmap(_fromUtf8(":/newPrefix/images/sent.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off) icon3.addPixmap(QtGui.QPixmap(_fromUtf8(":/newPrefix/images/sent.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.tabWidget.addTab(self.sent, icon3, _fromUtf8("")) self.tabWidget.addTab(self.sent, icon3, _fromUtf8(""))
self.youridentities = QtGui.QWidget() self.youridentities = QtGui.QWidget()
self.youridentities.setObjectName(_fromUtf8("youridentities")) self.youridentities.setObjectName(_fromUtf8("youridentities"))
self.gridLayout_3 = QtGui.QGridLayout(self.youridentities) self.gridLayout_3 = QtGui.QGridLayout(self.youridentities)
self.gridLayout_3.setObjectName(_fromUtf8("gridLayout_3")) self.gridLayout_3.setObjectName(_fromUtf8("gridLayout_3"))
self.pushButtonNewAddress = QtGui.QPushButton(self.youridentities) self.pushButtonNewAddress = QtGui.QPushButton(self.youridentities)
self.pushButtonNewAddress.setObjectName(_fromUtf8("pushButtonNewAddress")) self.pushButtonNewAddress.setObjectName(_fromUtf8("pushButtonNewAddress"))
self.gridLayout_3.addWidget(self.pushButtonNewAddress, 0, 0, 1, 1) self.gridLayout_3.addWidget(self.pushButtonNewAddress, 0, 0, 1, 1)
spacerItem2 = QtGui.QSpacerItem(689, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) spacerItem2 = QtGui.QSpacerItem(689, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
self.gridLayout_3.addItem(spacerItem2, 0, 1, 1, 1) self.gridLayout_3.addItem(spacerItem2, 0, 1, 1, 1)
self.tableWidgetYourIdentities = QtGui.QTableWidget(self.youridentities) self.tableWidgetYourIdentities = QtGui.QTableWidget(self.youridentities)
self.tableWidgetYourIdentities.setFrameShadow(QtGui.QFrame.Sunken) self.tableWidgetYourIdentities.setFrameShadow(QtGui.QFrame.Sunken)
self.tableWidgetYourIdentities.setLineWidth(1) self.tableWidgetYourIdentities.setLineWidth(1)
self.tableWidgetYourIdentities.setAlternatingRowColors(True) self.tableWidgetYourIdentities.setAlternatingRowColors(True)
self.tableWidgetYourIdentities.setSelectionMode(QtGui.QAbstractItemView.SingleSelection) self.tableWidgetYourIdentities.setSelectionMode(QtGui.QAbstractItemView.SingleSelection)
self.tableWidgetYourIdentities.setSelectionBehavior(QtGui.QAbstractItemView.SelectRows) self.tableWidgetYourIdentities.setSelectionBehavior(QtGui.QAbstractItemView.SelectRows)
self.tableWidgetYourIdentities.setObjectName(_fromUtf8("tableWidgetYourIdentities")) self.tableWidgetYourIdentities.setObjectName(_fromUtf8("tableWidgetYourIdentities"))
self.tableWidgetYourIdentities.setColumnCount(3) self.tableWidgetYourIdentities.setColumnCount(3)
self.tableWidgetYourIdentities.setRowCount(0) self.tableWidgetYourIdentities.setRowCount(0)
item = QtGui.QTableWidgetItem() item = QtGui.QTableWidgetItem()
font = QtGui.QFont() font = QtGui.QFont()
font.setKerning(True) font.setKerning(True)
item.setFont(font) item.setFont(font)
self.tableWidgetYourIdentities.setHorizontalHeaderItem(0, item) self.tableWidgetYourIdentities.setHorizontalHeaderItem(0, item)
item = QtGui.QTableWidgetItem() item = QtGui.QTableWidgetItem()
self.tableWidgetYourIdentities.setHorizontalHeaderItem(1, item) self.tableWidgetYourIdentities.setHorizontalHeaderItem(1, item)
item = QtGui.QTableWidgetItem() item = QtGui.QTableWidgetItem()
self.tableWidgetYourIdentities.setHorizontalHeaderItem(2, item) self.tableWidgetYourIdentities.setHorizontalHeaderItem(2, item)
self.tableWidgetYourIdentities.horizontalHeader().setCascadingSectionResizes(True) self.tableWidgetYourIdentities.horizontalHeader().setCascadingSectionResizes(True)
self.tableWidgetYourIdentities.horizontalHeader().setDefaultSectionSize(346) self.tableWidgetYourIdentities.horizontalHeader().setDefaultSectionSize(346)
self.tableWidgetYourIdentities.horizontalHeader().setMinimumSectionSize(52) self.tableWidgetYourIdentities.horizontalHeader().setMinimumSectionSize(52)
self.tableWidgetYourIdentities.horizontalHeader().setSortIndicatorShown(True) self.tableWidgetYourIdentities.horizontalHeader().setSortIndicatorShown(True)
self.tableWidgetYourIdentities.horizontalHeader().setStretchLastSection(True) self.tableWidgetYourIdentities.horizontalHeader().setStretchLastSection(True)
self.tableWidgetYourIdentities.verticalHeader().setVisible(False) self.tableWidgetYourIdentities.verticalHeader().setVisible(False)
self.tableWidgetYourIdentities.verticalHeader().setDefaultSectionSize(26) self.tableWidgetYourIdentities.verticalHeader().setDefaultSectionSize(26)
self.tableWidgetYourIdentities.verticalHeader().setSortIndicatorShown(False) self.tableWidgetYourIdentities.verticalHeader().setSortIndicatorShown(False)
self.tableWidgetYourIdentities.verticalHeader().setStretchLastSection(False) self.tableWidgetYourIdentities.verticalHeader().setStretchLastSection(False)
self.gridLayout_3.addWidget(self.tableWidgetYourIdentities, 1, 0, 1, 2) 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/identities.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.tabWidget.addTab(self.youridentities, icon4, _fromUtf8("")) self.tabWidget.addTab(self.youridentities, 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_4 = QtGui.QGridLayout(self.subscriptions)
self.gridLayout_4.setObjectName(_fromUtf8("gridLayout_4")) self.gridLayout_4.setObjectName(_fromUtf8("gridLayout_4"))
self.label_5 = QtGui.QLabel(self.subscriptions) self.label_5 = QtGui.QLabel(self.subscriptions)
self.label_5.setWordWrap(True) self.label_5.setWordWrap(True)
self.label_5.setObjectName(_fromUtf8("label_5")) self.label_5.setObjectName(_fromUtf8("label_5"))
self.gridLayout_4.addWidget(self.label_5, 0, 0, 1, 2) self.gridLayout_4.addWidget(self.label_5, 0, 0, 1, 2)
self.pushButtonAddSubscription = QtGui.QPushButton(self.subscriptions) self.pushButtonAddSubscription = QtGui.QPushButton(self.subscriptions)
self.pushButtonAddSubscription.setObjectName(_fromUtf8("pushButtonAddSubscription")) self.pushButtonAddSubscription.setObjectName(_fromUtf8("pushButtonAddSubscription"))
self.gridLayout_4.addWidget(self.pushButtonAddSubscription, 1, 0, 1, 1) self.gridLayout_4.addWidget(self.pushButtonAddSubscription, 1, 0, 1, 1)
spacerItem3 = QtGui.QSpacerItem(689, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) spacerItem3 = QtGui.QSpacerItem(689, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
self.gridLayout_4.addItem(spacerItem3, 1, 1, 1, 1) self.gridLayout_4.addItem(spacerItem3, 1, 1, 1, 1)
self.tableWidgetSubscriptions = QtGui.QTableWidget(self.subscriptions) self.tableWidgetSubscriptions = QtGui.QTableWidget(self.subscriptions)
self.tableWidgetSubscriptions.setAlternatingRowColors(True) self.tableWidgetSubscriptions.setAlternatingRowColors(True)
self.tableWidgetSubscriptions.setSelectionMode(QtGui.QAbstractItemView.SingleSelection) self.tableWidgetSubscriptions.setSelectionMode(QtGui.QAbstractItemView.SingleSelection)
self.tableWidgetSubscriptions.setSelectionBehavior(QtGui.QAbstractItemView.SelectRows) self.tableWidgetSubscriptions.setSelectionBehavior(QtGui.QAbstractItemView.SelectRows)
self.tableWidgetSubscriptions.setObjectName(_fromUtf8("tableWidgetSubscriptions")) self.tableWidgetSubscriptions.setObjectName(_fromUtf8("tableWidgetSubscriptions"))
self.tableWidgetSubscriptions.setColumnCount(2) self.tableWidgetSubscriptions.setColumnCount(3)
self.tableWidgetSubscriptions.setRowCount(0) self.tableWidgetSubscriptions.setRowCount(0)
item = QtGui.QTableWidgetItem() item = QtGui.QTableWidgetItem()
self.tableWidgetSubscriptions.setHorizontalHeaderItem(0, item) self.tableWidgetSubscriptions.setHorizontalHeaderItem(0, item)
item = QtGui.QTableWidgetItem() item = QtGui.QTableWidgetItem()
self.tableWidgetSubscriptions.setHorizontalHeaderItem(1, item) self.tableWidgetSubscriptions.setHorizontalHeaderItem(1, item)
self.tableWidgetSubscriptions.horizontalHeader().setCascadingSectionResizes(True) item = QtGui.QTableWidgetItem()
self.tableWidgetSubscriptions.horizontalHeader().setDefaultSectionSize(400) self.tableWidgetSubscriptions.setHorizontalHeaderItem(2, item)
self.tableWidgetSubscriptions.horizontalHeader().setHighlightSections(False) self.tableWidgetSubscriptions.horizontalHeader().setCascadingSectionResizes(True)
self.tableWidgetSubscriptions.horizontalHeader().setSortIndicatorShown(False) self.tableWidgetSubscriptions.horizontalHeader().setDefaultSectionSize(245)
self.tableWidgetSubscriptions.horizontalHeader().setStretchLastSection(True) self.tableWidgetSubscriptions.horizontalHeader().setHighlightSections(False)
self.tableWidgetSubscriptions.verticalHeader().setVisible(False) self.tableWidgetSubscriptions.horizontalHeader().setSortIndicatorShown(False)
self.gridLayout_4.addWidget(self.tableWidgetSubscriptions, 2, 0, 1, 2) self.tableWidgetSubscriptions.horizontalHeader().setStretchLastSection(True)
icon5 = QtGui.QIcon() self.tableWidgetSubscriptions.verticalHeader().setVisible(False)
icon5.addPixmap(QtGui.QPixmap(_fromUtf8(":/newPrefix/images/subscriptions.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.gridLayout_4.addWidget(self.tableWidgetSubscriptions, 2, 0, 1, 2)
self.tabWidget.addTab(self.subscriptions, icon5, _fromUtf8("")) icon5 = QtGui.QIcon()
self.addressbook = QtGui.QWidget() icon5.addPixmap(QtGui.QPixmap(_fromUtf8(":/newPrefix/images/subscriptions.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.addressbook.setObjectName(_fromUtf8("addressbook")) self.tabWidget.addTab(self.subscriptions, icon5, _fromUtf8(""))
self.gridLayout_5 = QtGui.QGridLayout(self.addressbook) self.addressbook = QtGui.QWidget()
self.gridLayout_5.setObjectName(_fromUtf8("gridLayout_5")) self.addressbook.setObjectName(_fromUtf8("addressbook"))
self.label_6 = QtGui.QLabel(self.addressbook) self.gridLayout_5 = QtGui.QGridLayout(self.addressbook)
self.label_6.setWordWrap(True) self.gridLayout_5.setObjectName(_fromUtf8("gridLayout_5"))
self.label_6.setObjectName(_fromUtf8("label_6")) self.label_6 = QtGui.QLabel(self.addressbook)
self.gridLayout_5.addWidget(self.label_6, 0, 0, 1, 2) self.label_6.setWordWrap(True)
self.pushButtonAddAddressBook = QtGui.QPushButton(self.addressbook) self.label_6.setObjectName(_fromUtf8("label_6"))
self.pushButtonAddAddressBook.setObjectName(_fromUtf8("pushButtonAddAddressBook")) self.gridLayout_5.addWidget(self.label_6, 0, 0, 1, 2)
self.gridLayout_5.addWidget(self.pushButtonAddAddressBook, 1, 0, 1, 1) self.pushButtonAddAddressBook = QtGui.QPushButton(self.addressbook)
spacerItem4 = QtGui.QSpacerItem(689, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) self.pushButtonAddAddressBook.setObjectName(_fromUtf8("pushButtonAddAddressBook"))
self.gridLayout_5.addItem(spacerItem4, 1, 1, 1, 1) self.gridLayout_5.addWidget(self.pushButtonAddAddressBook, 1, 0, 1, 1)
self.tableWidgetAddressBook = QtGui.QTableWidget(self.addressbook) spacerItem4 = QtGui.QSpacerItem(689, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
self.tableWidgetAddressBook.setAlternatingRowColors(True) self.gridLayout_5.addItem(spacerItem4, 1, 1, 1, 1)
self.tableWidgetAddressBook.setSelectionMode(QtGui.QAbstractItemView.ExtendedSelection) self.tableWidgetAddressBook = QtGui.QTableWidget(self.addressbook)
self.tableWidgetAddressBook.setSelectionBehavior(QtGui.QAbstractItemView.SelectRows) self.tableWidgetAddressBook.setAlternatingRowColors(True)
self.tableWidgetAddressBook.setObjectName(_fromUtf8("tableWidgetAddressBook")) self.tableWidgetAddressBook.setSelectionMode(QtGui.QAbstractItemView.ExtendedSelection)
self.tableWidgetAddressBook.setColumnCount(2) self.tableWidgetAddressBook.setSelectionBehavior(QtGui.QAbstractItemView.SelectRows)
self.tableWidgetAddressBook.setRowCount(0) self.tableWidgetAddressBook.setObjectName(_fromUtf8("tableWidgetAddressBook"))
item = QtGui.QTableWidgetItem() self.tableWidgetAddressBook.setColumnCount(2)
self.tableWidgetAddressBook.setHorizontalHeaderItem(0, item) self.tableWidgetAddressBook.setRowCount(0)
item = QtGui.QTableWidgetItem() item = QtGui.QTableWidgetItem()
self.tableWidgetAddressBook.setHorizontalHeaderItem(1, item) self.tableWidgetAddressBook.setHorizontalHeaderItem(0, item)
self.tableWidgetAddressBook.horizontalHeader().setCascadingSectionResizes(True) item = QtGui.QTableWidgetItem()
self.tableWidgetAddressBook.horizontalHeader().setDefaultSectionSize(400) self.tableWidgetAddressBook.setHorizontalHeaderItem(1, item)
self.tableWidgetAddressBook.horizontalHeader().setHighlightSections(False) self.tableWidgetAddressBook.horizontalHeader().setCascadingSectionResizes(True)
self.tableWidgetAddressBook.horizontalHeader().setStretchLastSection(True) self.tableWidgetAddressBook.horizontalHeader().setDefaultSectionSize(400)
self.tableWidgetAddressBook.verticalHeader().setVisible(False) self.tableWidgetAddressBook.horizontalHeader().setHighlightSections(False)
self.gridLayout_5.addWidget(self.tableWidgetAddressBook, 2, 0, 1, 2) self.tableWidgetAddressBook.horizontalHeader().setStretchLastSection(True)
icon6 = QtGui.QIcon() self.tableWidgetAddressBook.verticalHeader().setVisible(False)
icon6.addPixmap(QtGui.QPixmap(_fromUtf8(":/newPrefix/images/addressbook.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.gridLayout_5.addWidget(self.tableWidgetAddressBook, 2, 0, 1, 2)
self.tabWidget.addTab(self.addressbook, icon6, _fromUtf8("")) icon6 = QtGui.QIcon()
self.blackwhitelist = QtGui.QWidget() icon6.addPixmap(QtGui.QPixmap(_fromUtf8(":/newPrefix/images/addressbook.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.blackwhitelist.setObjectName(_fromUtf8("blackwhitelist")) self.tabWidget.addTab(self.addressbook, icon6, _fromUtf8(""))
self.gridLayout_6 = QtGui.QGridLayout(self.blackwhitelist) self.blackwhitelist = QtGui.QWidget()
self.gridLayout_6.setObjectName(_fromUtf8("gridLayout_6")) self.blackwhitelist.setObjectName(_fromUtf8("blackwhitelist"))
self.radioButtonBlacklist = QtGui.QRadioButton(self.blackwhitelist) self.gridLayout_6 = QtGui.QGridLayout(self.blackwhitelist)
self.radioButtonBlacklist.setChecked(True) self.gridLayout_6.setObjectName(_fromUtf8("gridLayout_6"))
self.radioButtonBlacklist.setObjectName(_fromUtf8("radioButtonBlacklist")) self.radioButtonBlacklist = QtGui.QRadioButton(self.blackwhitelist)
self.gridLayout_6.addWidget(self.radioButtonBlacklist, 0, 0, 1, 2) self.radioButtonBlacklist.setChecked(True)
self.radioButtonWhitelist = QtGui.QRadioButton(self.blackwhitelist) self.radioButtonBlacklist.setObjectName(_fromUtf8("radioButtonBlacklist"))
self.radioButtonWhitelist.setObjectName(_fromUtf8("radioButtonWhitelist")) self.gridLayout_6.addWidget(self.radioButtonBlacklist, 0, 0, 1, 2)
self.gridLayout_6.addWidget(self.radioButtonWhitelist, 1, 0, 1, 2) self.radioButtonWhitelist = QtGui.QRadioButton(self.blackwhitelist)
self.pushButtonAddBlacklist = QtGui.QPushButton(self.blackwhitelist) self.radioButtonWhitelist.setObjectName(_fromUtf8("radioButtonWhitelist"))
self.pushButtonAddBlacklist.setObjectName(_fromUtf8("pushButtonAddBlacklist")) self.gridLayout_6.addWidget(self.radioButtonWhitelist, 1, 0, 1, 2)
self.gridLayout_6.addWidget(self.pushButtonAddBlacklist, 2, 0, 1, 1) self.pushButtonAddBlacklist = QtGui.QPushButton(self.blackwhitelist)
spacerItem5 = QtGui.QSpacerItem(689, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum) self.pushButtonAddBlacklist.setObjectName(_fromUtf8("pushButtonAddBlacklist"))
self.gridLayout_6.addItem(spacerItem5, 2, 1, 1, 1) self.gridLayout_6.addWidget(self.pushButtonAddBlacklist, 2, 0, 1, 1)
self.tableWidgetBlacklist = QtGui.QTableWidget(self.blackwhitelist) spacerItem5 = QtGui.QSpacerItem(689, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
self.tableWidgetBlacklist.setAlternatingRowColors(True) self.gridLayout_6.addItem(spacerItem5, 2, 1, 1, 1)
self.tableWidgetBlacklist.setSelectionMode(QtGui.QAbstractItemView.SingleSelection) self.tableWidgetBlacklist = QtGui.QTableWidget(self.blackwhitelist)
self.tableWidgetBlacklist.setSelectionBehavior(QtGui.QAbstractItemView.SelectRows) self.tableWidgetBlacklist.setAlternatingRowColors(True)
self.tableWidgetBlacklist.setObjectName(_fromUtf8("tableWidgetBlacklist")) self.tableWidgetBlacklist.setSelectionMode(QtGui.QAbstractItemView.SingleSelection)
self.tableWidgetBlacklist.setColumnCount(2) self.tableWidgetBlacklist.setSelectionBehavior(QtGui.QAbstractItemView.SelectRows)
self.tableWidgetBlacklist.setRowCount(0) self.tableWidgetBlacklist.setObjectName(_fromUtf8("tableWidgetBlacklist"))
item = QtGui.QTableWidgetItem() self.tableWidgetBlacklist.setColumnCount(2)
self.tableWidgetBlacklist.setHorizontalHeaderItem(0, item) self.tableWidgetBlacklist.setRowCount(0)
item = QtGui.QTableWidgetItem() item = QtGui.QTableWidgetItem()
self.tableWidgetBlacklist.setHorizontalHeaderItem(1, item) self.tableWidgetBlacklist.setHorizontalHeaderItem(0, item)
self.tableWidgetBlacklist.horizontalHeader().setCascadingSectionResizes(True) item = QtGui.QTableWidgetItem()
self.tableWidgetBlacklist.horizontalHeader().setDefaultSectionSize(400) self.tableWidgetBlacklist.setHorizontalHeaderItem(1, item)
self.tableWidgetBlacklist.horizontalHeader().setHighlightSections(False) self.tableWidgetBlacklist.horizontalHeader().setCascadingSectionResizes(True)
self.tableWidgetBlacklist.horizontalHeader().setSortIndicatorShown(False) self.tableWidgetBlacklist.horizontalHeader().setDefaultSectionSize(400)
self.tableWidgetBlacklist.horizontalHeader().setStretchLastSection(True) self.tableWidgetBlacklist.horizontalHeader().setHighlightSections(False)
self.tableWidgetBlacklist.verticalHeader().setVisible(False) self.tableWidgetBlacklist.horizontalHeader().setSortIndicatorShown(False)
self.gridLayout_6.addWidget(self.tableWidgetBlacklist, 3, 0, 1, 2) self.tableWidgetBlacklist.horizontalHeader().setStretchLastSection(True)
icon7 = QtGui.QIcon() self.tableWidgetBlacklist.verticalHeader().setVisible(False)
icon7.addPixmap(QtGui.QPixmap(_fromUtf8(":/newPrefix/images/blacklist.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.gridLayout_6.addWidget(self.tableWidgetBlacklist, 3, 0, 1, 2)
self.tabWidget.addTab(self.blackwhitelist, icon7, _fromUtf8("")) icon7 = QtGui.QIcon()
self.networkstatus = QtGui.QWidget() icon7.addPixmap(QtGui.QPixmap(_fromUtf8(":/newPrefix/images/blacklist.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.networkstatus.setObjectName(_fromUtf8("networkstatus")) self.tabWidget.addTab(self.blackwhitelist, icon7, _fromUtf8(""))
self.pushButtonStatusIcon = QtGui.QPushButton(self.networkstatus) self.networkstatus = QtGui.QWidget()
self.pushButtonStatusIcon.setGeometry(QtCore.QRect(680, 440, 21, 23)) self.networkstatus.setObjectName(_fromUtf8("networkstatus"))
self.pushButtonStatusIcon.setText(_fromUtf8("")) self.pushButtonStatusIcon = QtGui.QPushButton(self.networkstatus)
icon8 = QtGui.QIcon() self.pushButtonStatusIcon.setGeometry(QtCore.QRect(680, 440, 21, 23))
icon8.addPixmap(QtGui.QPixmap(_fromUtf8(":/newPrefix/images/redicon.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.pushButtonStatusIcon.setText(_fromUtf8(""))
self.pushButtonStatusIcon.setIcon(icon8) icon8 = QtGui.QIcon()
self.pushButtonStatusIcon.setFlat(True) icon8.addPixmap(QtGui.QPixmap(_fromUtf8(":/newPrefix/images/redicon.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.pushButtonStatusIcon.setObjectName(_fromUtf8("pushButtonStatusIcon")) self.pushButtonStatusIcon.setIcon(icon8)
self.tableWidgetConnectionCount = QtGui.QTableWidget(self.networkstatus) self.pushButtonStatusIcon.setFlat(True)
self.tableWidgetConnectionCount.setGeometry(QtCore.QRect(20, 70, 241, 241)) self.pushButtonStatusIcon.setObjectName(_fromUtf8("pushButtonStatusIcon"))
palette = QtGui.QPalette() self.tableWidgetConnectionCount = QtGui.QTableWidget(self.networkstatus)
brush = QtGui.QBrush(QtGui.QColor(212, 208, 200)) self.tableWidgetConnectionCount.setGeometry(QtCore.QRect(20, 70, 241, 241))
brush.setStyle(QtCore.Qt.SolidPattern) palette = QtGui.QPalette()
palette.setBrush(QtGui.QPalette.Active, QtGui.QPalette.Base, brush) brush = QtGui.QBrush(QtGui.QColor(212, 208, 200))
brush = QtGui.QBrush(QtGui.QColor(212, 208, 200)) brush.setStyle(QtCore.Qt.SolidPattern)
brush.setStyle(QtCore.Qt.SolidPattern) palette.setBrush(QtGui.QPalette.Active, QtGui.QPalette.Base, brush)
palette.setBrush(QtGui.QPalette.Inactive, QtGui.QPalette.Base, brush) brush = QtGui.QBrush(QtGui.QColor(212, 208, 200))
brush = QtGui.QBrush(QtGui.QColor(212, 208, 200)) brush.setStyle(QtCore.Qt.SolidPattern)
brush.setStyle(QtCore.Qt.SolidPattern) palette.setBrush(QtGui.QPalette.Inactive, QtGui.QPalette.Base, brush)
palette.setBrush(QtGui.QPalette.Disabled, QtGui.QPalette.Base, brush) brush = QtGui.QBrush(QtGui.QColor(212, 208, 200))
self.tableWidgetConnectionCount.setPalette(palette) brush.setStyle(QtCore.Qt.SolidPattern)
self.tableWidgetConnectionCount.setFrameShape(QtGui.QFrame.Box) palette.setBrush(QtGui.QPalette.Disabled, QtGui.QPalette.Base, brush)
self.tableWidgetConnectionCount.setFrameShadow(QtGui.QFrame.Plain) self.tableWidgetConnectionCount.setPalette(palette)
self.tableWidgetConnectionCount.setProperty("showDropIndicator", False) self.tableWidgetConnectionCount.setFrameShape(QtGui.QFrame.Box)
self.tableWidgetConnectionCount.setAlternatingRowColors(True) self.tableWidgetConnectionCount.setFrameShadow(QtGui.QFrame.Plain)
self.tableWidgetConnectionCount.setSelectionMode(QtGui.QAbstractItemView.NoSelection) self.tableWidgetConnectionCount.setProperty("showDropIndicator", False)
self.tableWidgetConnectionCount.setObjectName(_fromUtf8("tableWidgetConnectionCount")) self.tableWidgetConnectionCount.setAlternatingRowColors(True)
self.tableWidgetConnectionCount.setColumnCount(2) self.tableWidgetConnectionCount.setSelectionMode(QtGui.QAbstractItemView.NoSelection)
self.tableWidgetConnectionCount.setRowCount(0) self.tableWidgetConnectionCount.setObjectName(_fromUtf8("tableWidgetConnectionCount"))
item = QtGui.QTableWidgetItem() self.tableWidgetConnectionCount.setColumnCount(2)
self.tableWidgetConnectionCount.setHorizontalHeaderItem(0, item) self.tableWidgetConnectionCount.setRowCount(0)
item = QtGui.QTableWidgetItem() item = QtGui.QTableWidgetItem()
self.tableWidgetConnectionCount.setHorizontalHeaderItem(1, item) self.tableWidgetConnectionCount.setHorizontalHeaderItem(0, item)
self.tableWidgetConnectionCount.horizontalHeader().setCascadingSectionResizes(True) item = QtGui.QTableWidgetItem()
self.tableWidgetConnectionCount.horizontalHeader().setHighlightSections(False) self.tableWidgetConnectionCount.setHorizontalHeaderItem(1, item)
self.tableWidgetConnectionCount.horizontalHeader().setStretchLastSection(True) self.tableWidgetConnectionCount.horizontalHeader().setCascadingSectionResizes(True)
self.tableWidgetConnectionCount.verticalHeader().setVisible(False) self.tableWidgetConnectionCount.horizontalHeader().setHighlightSections(False)
self.labelTotalConnections = QtGui.QLabel(self.networkstatus) self.tableWidgetConnectionCount.horizontalHeader().setStretchLastSection(True)
self.labelTotalConnections.setGeometry(QtCore.QRect(20, 30, 401, 16)) self.tableWidgetConnectionCount.verticalHeader().setVisible(False)
self.labelTotalConnections.setObjectName(_fromUtf8("labelTotalConnections")) self.labelTotalConnections = QtGui.QLabel(self.networkstatus)
self.labelStartupTime = QtGui.QLabel(self.networkstatus) self.labelTotalConnections.setGeometry(QtCore.QRect(20, 30, 401, 16))
self.labelStartupTime.setGeometry(QtCore.QRect(320, 110, 331, 20)) self.labelTotalConnections.setObjectName(_fromUtf8("labelTotalConnections"))
self.labelStartupTime.setObjectName(_fromUtf8("labelStartupTime")) self.labelStartupTime = QtGui.QLabel(self.networkstatus)
self.labelMessageCount = QtGui.QLabel(self.networkstatus) self.labelStartupTime.setGeometry(QtCore.QRect(320, 110, 331, 20))
self.labelMessageCount.setGeometry(QtCore.QRect(350, 130, 361, 16)) self.labelStartupTime.setObjectName(_fromUtf8("labelStartupTime"))
self.labelMessageCount.setObjectName(_fromUtf8("labelMessageCount")) self.labelMessageCount = QtGui.QLabel(self.networkstatus)
self.labelPubkeyCount = QtGui.QLabel(self.networkstatus) self.labelMessageCount.setGeometry(QtCore.QRect(350, 130, 361, 16))
self.labelPubkeyCount.setGeometry(QtCore.QRect(350, 170, 331, 16)) self.labelMessageCount.setObjectName(_fromUtf8("labelMessageCount"))
self.labelPubkeyCount.setObjectName(_fromUtf8("labelPubkeyCount")) self.labelPubkeyCount = QtGui.QLabel(self.networkstatus)
self.labelBroadcastCount = QtGui.QLabel(self.networkstatus) self.labelPubkeyCount.setGeometry(QtCore.QRect(350, 170, 331, 16))
self.labelBroadcastCount.setGeometry(QtCore.QRect(350, 150, 351, 16)) self.labelPubkeyCount.setObjectName(_fromUtf8("labelPubkeyCount"))
self.labelBroadcastCount.setObjectName(_fromUtf8("labelBroadcastCount")) self.labelBroadcastCount = QtGui.QLabel(self.networkstatus)
icon9 = QtGui.QIcon() self.labelBroadcastCount.setGeometry(QtCore.QRect(350, 150, 351, 16))
icon9.addPixmap(QtGui.QPixmap(_fromUtf8(":/newPrefix/images/networkstatus.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.labelBroadcastCount.setObjectName(_fromUtf8("labelBroadcastCount"))
self.tabWidget.addTab(self.networkstatus, icon9, _fromUtf8("")) icon9 = QtGui.QIcon()
self.gridLayout.addWidget(self.tabWidget, 0, 0, 1, 1) icon9.addPixmap(QtGui.QPixmap(_fromUtf8(":/newPrefix/images/networkstatus.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
MainWindow.setCentralWidget(self.centralwidget) self.tabWidget.addTab(self.networkstatus, icon9, _fromUtf8(""))
self.menubar = QtGui.QMenuBar(MainWindow) self.gridLayout.addWidget(self.tabWidget, 0, 0, 1, 1)
self.menubar.setGeometry(QtCore.QRect(0, 0, 795, 18)) MainWindow.setCentralWidget(self.centralwidget)
self.menubar.setObjectName(_fromUtf8("menubar")) self.menubar = QtGui.QMenuBar(MainWindow)
self.menuFile = QtGui.QMenu(self.menubar) self.menubar.setGeometry(QtCore.QRect(0, 0, 795, 18))
self.menuFile.setObjectName(_fromUtf8("menuFile")) self.menubar.setObjectName(_fromUtf8("menubar"))
self.menuSettings = QtGui.QMenu(self.menubar) self.menuFile = QtGui.QMenu(self.menubar)
self.menuSettings.setObjectName(_fromUtf8("menuSettings")) self.menuFile.setObjectName(_fromUtf8("menuFile"))
self.menuHelp = QtGui.QMenu(self.menubar) self.menuSettings = QtGui.QMenu(self.menubar)
self.menuHelp.setObjectName(_fromUtf8("menuHelp")) self.menuSettings.setObjectName(_fromUtf8("menuSettings"))
MainWindow.setMenuBar(self.menubar) self.menuHelp = QtGui.QMenu(self.menubar)
self.statusbar = QtGui.QStatusBar(MainWindow) self.menuHelp.setObjectName(_fromUtf8("menuHelp"))
self.statusbar.setMaximumSize(QtCore.QSize(16777215, 22)) MainWindow.setMenuBar(self.menubar)
self.statusbar.setObjectName(_fromUtf8("statusbar")) self.statusbar = QtGui.QStatusBar(MainWindow)
MainWindow.setStatusBar(self.statusbar) self.statusbar.setMaximumSize(QtCore.QSize(16777215, 22))
self.actionImport_keys = QtGui.QAction(MainWindow) self.statusbar.setObjectName(_fromUtf8("statusbar"))
self.actionImport_keys.setObjectName(_fromUtf8("actionImport_keys")) MainWindow.setStatusBar(self.statusbar)
self.actionManageKeys = QtGui.QAction(MainWindow) self.actionImport_keys = QtGui.QAction(MainWindow)
self.actionManageKeys.setCheckable(False) self.actionImport_keys.setObjectName(_fromUtf8("actionImport_keys"))
self.actionManageKeys.setEnabled(True) self.actionManageKeys = QtGui.QAction(MainWindow)
self.actionManageKeys.setObjectName(_fromUtf8("actionManageKeys")) self.actionManageKeys.setCheckable(False)
self.actionExit = QtGui.QAction(MainWindow) self.actionManageKeys.setEnabled(True)
self.actionExit.setObjectName(_fromUtf8("actionExit")) self.actionManageKeys.setObjectName(_fromUtf8("actionManageKeys"))
self.actionHelp = QtGui.QAction(MainWindow) self.actionExit = QtGui.QAction(MainWindow)
self.actionHelp.setObjectName(_fromUtf8("actionHelp")) self.actionExit.setObjectName(_fromUtf8("actionExit"))
self.actionAbout = QtGui.QAction(MainWindow) self.actionHelp = QtGui.QAction(MainWindow)
self.actionAbout.setObjectName(_fromUtf8("actionAbout")) self.actionHelp.setObjectName(_fromUtf8("actionHelp"))
self.actionSettings = QtGui.QAction(MainWindow) self.actionAbout = QtGui.QAction(MainWindow)
self.actionSettings.setObjectName(_fromUtf8("actionSettings")) self.actionAbout.setObjectName(_fromUtf8("actionAbout"))
self.actionRegenerateDeterministicAddresses = QtGui.QAction(MainWindow) self.actionSettings = QtGui.QAction(MainWindow)
self.actionRegenerateDeterministicAddresses.setObjectName(_fromUtf8("actionRegenerateDeterministicAddresses")) self.actionSettings.setObjectName(_fromUtf8("actionSettings"))
self.actionDeleteAllTrashedMessages = QtGui.QAction(MainWindow) self.actionRegenerateDeterministicAddresses = QtGui.QAction(MainWindow)
self.actionDeleteAllTrashedMessages.setObjectName(_fromUtf8("actionDeleteAllTrashedMessages")) self.actionRegenerateDeterministicAddresses.setObjectName(_fromUtf8("actionRegenerateDeterministicAddresses"))
self.menuFile.addAction(self.actionManageKeys) self.actionDeleteAllTrashedMessages = QtGui.QAction(MainWindow)
self.menuFile.addAction(self.actionDeleteAllTrashedMessages) self.actionDeleteAllTrashedMessages.setObjectName(_fromUtf8("actionDeleteAllTrashedMessages"))
self.menuFile.addAction(self.actionRegenerateDeterministicAddresses) self.menuFile.addAction(self.actionManageKeys)
self.menuFile.addAction(self.actionExit) self.menuFile.addAction(self.actionDeleteAllTrashedMessages)
self.menuSettings.addAction(self.actionSettings) self.menuFile.addAction(self.actionRegenerateDeterministicAddresses)
self.menuHelp.addAction(self.actionHelp) self.menuFile.addAction(self.actionExit)
self.menuHelp.addAction(self.actionAbout) self.menuSettings.addAction(self.actionSettings)
self.menubar.addAction(self.menuFile.menuAction()) self.menuHelp.addAction(self.actionHelp)
self.menubar.addAction(self.menuSettings.menuAction()) self.menuHelp.addAction(self.actionAbout)
self.menubar.addAction(self.menuHelp.menuAction()) self.menubar.addAction(self.menuFile.menuAction())
self.menubar.addAction(self.menuSettings.menuAction())
self.retranslateUi(MainWindow) self.menubar.addAction(self.menuHelp.menuAction())
self.tabWidget.setCurrentIndex(0)
QtCore.QObject.connect(self.radioButtonSpecific, QtCore.SIGNAL(_fromUtf8("toggled(bool)")), self.lineEditTo.setEnabled) self.retranslateUi(MainWindow)
QtCore.QObject.connect(self.radioButtonSpecific, QtCore.SIGNAL(_fromUtf8("clicked(bool)")), self.labelSendBroadcastWarning.hide) self.tabWidget.setCurrentIndex(0)
QtCore.QObject.connect(self.radioButtonBroadcast, QtCore.SIGNAL(_fromUtf8("clicked()")), self.labelSendBroadcastWarning.show) QtCore.QObject.connect(self.radioButtonSpecific, QtCore.SIGNAL(_fromUtf8("toggled(bool)")), self.lineEditTo.setEnabled)
QtCore.QMetaObject.connectSlotsByName(MainWindow) QtCore.QObject.connect(self.radioButtonSpecific, QtCore.SIGNAL(_fromUtf8("clicked(bool)")), self.labelSendBroadcastWarning.hide)
MainWindow.setTabOrder(self.tabWidget, self.tableWidgetInbox) QtCore.QObject.connect(self.radioButtonBroadcast, QtCore.SIGNAL(_fromUtf8("clicked()")), self.labelSendBroadcastWarning.show)
MainWindow.setTabOrder(self.tableWidgetInbox, self.textEditInboxMessage) QtCore.QMetaObject.connectSlotsByName(MainWindow)
MainWindow.setTabOrder(self.textEditInboxMessage, self.radioButtonSpecific) MainWindow.setTabOrder(self.tabWidget, self.tableWidgetInbox)
MainWindow.setTabOrder(self.radioButtonSpecific, self.radioButtonBroadcast) MainWindow.setTabOrder(self.tableWidgetInbox, self.textEditInboxMessage)
MainWindow.setTabOrder(self.radioButtonBroadcast, self.comboBoxSendFrom) MainWindow.setTabOrder(self.textEditInboxMessage, self.radioButtonSpecific)
MainWindow.setTabOrder(self.comboBoxSendFrom, self.lineEditTo) MainWindow.setTabOrder(self.radioButtonSpecific, self.radioButtonBroadcast)
MainWindow.setTabOrder(self.lineEditTo, self.pushButtonLoadFromAddressBook) MainWindow.setTabOrder(self.radioButtonBroadcast, self.comboBoxSendFrom)
MainWindow.setTabOrder(self.pushButtonLoadFromAddressBook, self.lineEditSubject) MainWindow.setTabOrder(self.comboBoxSendFrom, self.lineEditTo)
MainWindow.setTabOrder(self.lineEditSubject, self.textEditMessage) MainWindow.setTabOrder(self.lineEditTo, self.pushButtonLoadFromAddressBook)
MainWindow.setTabOrder(self.textEditMessage, self.pushButtonSend) MainWindow.setTabOrder(self.pushButtonLoadFromAddressBook, self.lineEditSubject)
MainWindow.setTabOrder(self.pushButtonSend, self.tableWidgetSent) MainWindow.setTabOrder(self.lineEditSubject, self.textEditMessage)
MainWindow.setTabOrder(self.tableWidgetSent, self.textEditSentMessage) MainWindow.setTabOrder(self.textEditMessage, self.pushButtonSend)
MainWindow.setTabOrder(self.textEditSentMessage, self.pushButtonNewAddress) MainWindow.setTabOrder(self.pushButtonSend, self.tableWidgetSent)
MainWindow.setTabOrder(self.pushButtonNewAddress, self.tableWidgetYourIdentities) MainWindow.setTabOrder(self.tableWidgetSent, self.textEditSentMessage)
MainWindow.setTabOrder(self.tableWidgetYourIdentities, self.pushButtonAddSubscription) MainWindow.setTabOrder(self.textEditSentMessage, self.pushButtonNewAddress)
MainWindow.setTabOrder(self.pushButtonAddSubscription, self.tableWidgetSubscriptions) MainWindow.setTabOrder(self.pushButtonNewAddress, self.tableWidgetYourIdentities)
MainWindow.setTabOrder(self.tableWidgetSubscriptions, self.pushButtonAddAddressBook) MainWindow.setTabOrder(self.tableWidgetYourIdentities, self.pushButtonAddSubscription)
MainWindow.setTabOrder(self.pushButtonAddAddressBook, self.tableWidgetAddressBook) MainWindow.setTabOrder(self.pushButtonAddSubscription, self.tableWidgetSubscriptions)
MainWindow.setTabOrder(self.tableWidgetAddressBook, self.radioButtonBlacklist) MainWindow.setTabOrder(self.tableWidgetSubscriptions, self.pushButtonAddAddressBook)
MainWindow.setTabOrder(self.radioButtonBlacklist, self.radioButtonWhitelist) MainWindow.setTabOrder(self.pushButtonAddAddressBook, self.tableWidgetAddressBook)
MainWindow.setTabOrder(self.radioButtonWhitelist, self.pushButtonAddBlacklist) MainWindow.setTabOrder(self.tableWidgetAddressBook, self.radioButtonBlacklist)
MainWindow.setTabOrder(self.pushButtonAddBlacklist, self.tableWidgetBlacklist) MainWindow.setTabOrder(self.radioButtonBlacklist, self.radioButtonWhitelist)
MainWindow.setTabOrder(self.tableWidgetBlacklist, self.tableWidgetConnectionCount) MainWindow.setTabOrder(self.radioButtonWhitelist, self.pushButtonAddBlacklist)
MainWindow.setTabOrder(self.tableWidgetConnectionCount, self.pushButtonStatusIcon) MainWindow.setTabOrder(self.pushButtonAddBlacklist, self.tableWidgetBlacklist)
MainWindow.setTabOrder(self.tableWidgetBlacklist, self.tableWidgetConnectionCount)
def retranslateUi(self, MainWindow): MainWindow.setTabOrder(self.tableWidgetConnectionCount, self.pushButtonStatusIcon)
MainWindow.setWindowTitle(_translate("MainWindow", "Bitmessage", None))
self.tableWidgetInbox.setSortingEnabled(True) def retranslateUi(self, MainWindow):
item = self.tableWidgetInbox.horizontalHeaderItem(0) MainWindow.setWindowTitle(_translate("MainWindow", "Bitmessage", None))
item.setText(_translate("MainWindow", "To", None)) self.tableWidgetInbox.setSortingEnabled(True)
item = self.tableWidgetInbox.horizontalHeaderItem(1) item = self.tableWidgetInbox.horizontalHeaderItem(0)
item.setText(_translate("MainWindow", "From", None)) item.setText(_translate("MainWindow", "To", None))
item = self.tableWidgetInbox.horizontalHeaderItem(2) item = self.tableWidgetInbox.horizontalHeaderItem(1)
item.setText(_translate("MainWindow", "Subject", None)) item.setText(_translate("MainWindow", "From", None))
item = self.tableWidgetInbox.horizontalHeaderItem(3) item = self.tableWidgetInbox.horizontalHeaderItem(2)
item.setText(_translate("MainWindow", "Received", None)) item.setText(_translate("MainWindow", "Subject", None))
self.tabWidget.setTabText(self.tabWidget.indexOf(self.inbox), _translate("MainWindow", "Inbox", None)) item = self.tableWidgetInbox.horizontalHeaderItem(3)
self.pushButtonLoadFromAddressBook.setText(_translate("MainWindow", "Load from Address book", None)) item.setText(_translate("MainWindow", "Received", None))
self.label_4.setText(_translate("MainWindow", "Message:", None)) self.tabWidget.setTabText(self.tabWidget.indexOf(self.inbox), _translate("MainWindow", "Inbox", None))
self.label_3.setText(_translate("MainWindow", "Subject:", None)) self.pushButtonLoadFromAddressBook.setText(_translate("MainWindow", "Load from Address book", None))
self.radioButtonSpecific.setText(_translate("MainWindow", "Send to one or more specific people", None)) self.label_4.setText(_translate("MainWindow", "Message:", 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.label_3.setText(_translate("MainWindow", "Subject:", None))
"<html><head><meta name=\"qrichtext\" content=\"1\" /><style type=\"text/css\">\n" self.radioButtonSpecific.setText(_translate("MainWindow", "Send to one or more specific people", None))
"p, li { white-space: pre-wrap; }\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"
"</style></head><body style=\" font-family:\'MS Shell Dlg 2\'; font-size:9pt; font-weight:400; font-style:normal;\">\n" "<html><head><meta name=\"qrichtext\" content=\"1\" /><style type=\"text/css\">\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, li { white-space: pre-wrap; }\n"
self.label.setText(_translate("MainWindow", "To:", None)) "</style></head><body style=\" font-family:\'MS Shell Dlg 2\'; font-size:9pt; font-weight:400; font-style:normal;\">\n"
self.label_2.setText(_translate("MainWindow", "From:", 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;\"><br /></p></body></html>", None))
self.radioButtonBroadcast.setText(_translate("MainWindow", "Broadcast to everyone who is subscribed to your address", None)) self.label.setText(_translate("MainWindow", "To:", None))
self.pushButtonSend.setText(_translate("MainWindow", "Send", None)) self.label_2.setText(_translate("MainWindow", "From:", 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.tabWidget.setTabText(self.tabWidget.indexOf(self.send), _translate("MainWindow", "Send", None)) self.pushButtonSend.setText(_translate("MainWindow", "Send", None))
self.tableWidgetSent.setSortingEnabled(True) self.labelSendBroadcastWarning.setText(_translate("MainWindow", "Be aware that broadcasts are only encrypted with your address. Anyone who knows your address can read them.", None))
item = self.tableWidgetSent.horizontalHeaderItem(0) self.tabWidget.setTabText(self.tabWidget.indexOf(self.send), _translate("MainWindow", "Send", None))
item.setText(_translate("MainWindow", "To", None)) self.tableWidgetSent.setSortingEnabled(True)
item = self.tableWidgetSent.horizontalHeaderItem(1) item = self.tableWidgetSent.horizontalHeaderItem(0)
item.setText(_translate("MainWindow", "From", None)) item.setText(_translate("MainWindow", "To", None))
item = self.tableWidgetSent.horizontalHeaderItem(2) item = self.tableWidgetSent.horizontalHeaderItem(1)
item.setText(_translate("MainWindow", "Subject", None)) item.setText(_translate("MainWindow", "From", None))
item = self.tableWidgetSent.horizontalHeaderItem(3) item = self.tableWidgetSent.horizontalHeaderItem(2)
item.setText(_translate("MainWindow", "Status", None)) item.setText(_translate("MainWindow", "Subject", None))
self.tabWidget.setTabText(self.tabWidget.indexOf(self.sent), _translate("MainWindow", "Sent", None)) item = self.tableWidgetSent.horizontalHeaderItem(3)
self.pushButtonNewAddress.setText(_translate("MainWindow", "New", None)) item.setText(_translate("MainWindow", "Status", None))
self.tableWidgetYourIdentities.setSortingEnabled(True) self.tabWidget.setTabText(self.tabWidget.indexOf(self.sent), _translate("MainWindow", "Sent", None))
item = self.tableWidgetYourIdentities.horizontalHeaderItem(0) self.pushButtonNewAddress.setText(_translate("MainWindow", "New", None))
item.setText(_translate("MainWindow", "Label (not shown to anyone)", None)) self.tableWidgetYourIdentities.setSortingEnabled(True)
item = self.tableWidgetYourIdentities.horizontalHeaderItem(1) item = self.tableWidgetYourIdentities.horizontalHeaderItem(0)
item.setText(_translate("MainWindow", "Address", None)) item.setText(_translate("MainWindow", "Label (not shown to anyone)", None))
item = self.tableWidgetYourIdentities.horizontalHeaderItem(2) item = self.tableWidgetYourIdentities.horizontalHeaderItem(1)
item.setText(_translate("MainWindow", "Stream", None)) item.setText(_translate("MainWindow", "Address", None))
self.tabWidget.setTabText(self.tabWidget.indexOf(self.youridentities), _translate("MainWindow", "Your Identities", None)) item = self.tableWidgetYourIdentities.horizontalHeaderItem(2)
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)) item.setText(_translate("MainWindow", "Stream", None))
self.pushButtonAddSubscription.setText(_translate("MainWindow", "Add new Subscription", None)) self.tabWidget.setTabText(self.tabWidget.indexOf(self.youridentities), _translate("MainWindow", "Your Identities", None))
self.tableWidgetSubscriptions.setSortingEnabled(True) 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))
item = self.tableWidgetSubscriptions.horizontalHeaderItem(0) self.pushButtonAddSubscription.setText(_translate("MainWindow", "Add new Subscription", None))
item.setText(_translate("MainWindow", "Label", None)) self.tableWidgetSubscriptions.setSortingEnabled(True)
item = self.tableWidgetSubscriptions.horizontalHeaderItem(1) item = self.tableWidgetSubscriptions.horizontalHeaderItem(0)
item.setText(_translate("MainWindow", "Address", None)) item.setText(_translate("MainWindow", "Label", None))
self.tabWidget.setTabText(self.tabWidget.indexOf(self.subscriptions), _translate("MainWindow", "Subscriptions", None)) item = self.tableWidgetSubscriptions.horizontalHeaderItem(1)
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)) item.setText(_translate("MainWindow", "Address", None))
self.pushButtonAddAddressBook.setText(_translate("MainWindow", "Add new entry", None)) item = self.tableWidgetSubscriptions.horizontalHeaderItem(2)
self.tableWidgetAddressBook.setSortingEnabled(True) item.setText(_translate("MainWindow", "Receiving Identity", None))
item = self.tableWidgetAddressBook.horizontalHeaderItem(0) self.tabWidget.setTabText(self.tabWidget.indexOf(self.subscriptions), _translate("MainWindow", "Subscriptions", None))
item.setText(_translate("MainWindow", "Name or Label", 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))
item = self.tableWidgetAddressBook.horizontalHeaderItem(1) self.pushButtonAddAddressBook.setText(_translate("MainWindow", "Add new entry", None))
item.setText(_translate("MainWindow", "Address", None)) self.tableWidgetAddressBook.setSortingEnabled(True)
self.tabWidget.setTabText(self.tabWidget.indexOf(self.addressbook), _translate("MainWindow", "Address Book", None)) item = self.tableWidgetAddressBook.horizontalHeaderItem(0)
self.radioButtonBlacklist.setText(_translate("MainWindow", "Use a Blacklist (Allow all incoming messages except those on the Blacklist)", None)) item.setText(_translate("MainWindow", "Name or Label", None))
self.radioButtonWhitelist.setText(_translate("MainWindow", "Use a Whitelist (Block all incoming messages except those on the Whitelist)", None)) item = self.tableWidgetAddressBook.horizontalHeaderItem(1)
self.pushButtonAddBlacklist.setText(_translate("MainWindow", "Add new entry", None)) item.setText(_translate("MainWindow", "Address", None))
self.tableWidgetBlacklist.setSortingEnabled(True) self.tabWidget.setTabText(self.tabWidget.indexOf(self.addressbook), _translate("MainWindow", "Address Book", None))
item = self.tableWidgetBlacklist.horizontalHeaderItem(0) self.radioButtonBlacklist.setText(_translate("MainWindow", "Use a Blacklist (Allow all incoming messages except those on the Blacklist)", None))
item.setText(_translate("MainWindow", "Name or Label", None)) self.radioButtonWhitelist.setText(_translate("MainWindow", "Use a Whitelist (Block all incoming messages except those on the Whitelist)", None))
item = self.tableWidgetBlacklist.horizontalHeaderItem(1) self.pushButtonAddBlacklist.setText(_translate("MainWindow", "Add new entry", None))
item.setText(_translate("MainWindow", "Address", None)) self.tableWidgetBlacklist.setSortingEnabled(True)
self.tabWidget.setTabText(self.tabWidget.indexOf(self.blackwhitelist), _translate("MainWindow", "Blacklist", None)) item = self.tableWidgetBlacklist.horizontalHeaderItem(0)
item = self.tableWidgetConnectionCount.horizontalHeaderItem(0) item.setText(_translate("MainWindow", "Name or Label", None))
item.setText(_translate("MainWindow", "Stream #", None)) item = self.tableWidgetBlacklist.horizontalHeaderItem(1)
item = self.tableWidgetConnectionCount.horizontalHeaderItem(1) item.setText(_translate("MainWindow", "Address", None))
item.setText(_translate("MainWindow", "Connections", None)) self.tabWidget.setTabText(self.tabWidget.indexOf(self.blackwhitelist), _translate("MainWindow", "Blacklist", None))
self.labelTotalConnections.setText(_translate("MainWindow", "Total connections: 0", None)) item = self.tableWidgetConnectionCount.horizontalHeaderItem(0)
self.labelStartupTime.setText(_translate("MainWindow", "Since startup at asdf:", None)) item.setText(_translate("MainWindow", "Stream #", None))
self.labelMessageCount.setText(_translate("MainWindow", "Processed 0 person-to-person message.", None)) item = self.tableWidgetConnectionCount.horizontalHeaderItem(1)
self.labelPubkeyCount.setText(_translate("MainWindow", "Processed 0 public key.", None)) item.setText(_translate("MainWindow", "Connections", None))
self.labelBroadcastCount.setText(_translate("MainWindow", "Processed 0 broadcast.", None)) self.labelTotalConnections.setText(_translate("MainWindow", "Total connections: 0", None))
self.tabWidget.setTabText(self.tabWidget.indexOf(self.networkstatus), _translate("MainWindow", "Network Status", None)) self.labelStartupTime.setText(_translate("MainWindow", "Since startup at asdf:", None))
self.menuFile.setTitle(_translate("MainWindow", "File", None)) self.labelMessageCount.setText(_translate("MainWindow", "Processed 0 person-to-person message.", None))
self.menuSettings.setTitle(_translate("MainWindow", "Settings", None)) self.labelPubkeyCount.setText(_translate("MainWindow", "Processed 0 public key.", None))
self.menuHelp.setTitle(_translate("MainWindow", "Help", None)) self.labelBroadcastCount.setText(_translate("MainWindow", "Processed 0 broadcast.", None))
self.actionImport_keys.setText(_translate("MainWindow", "Import keys", None)) self.tabWidget.setTabText(self.tabWidget.indexOf(self.networkstatus), _translate("MainWindow", "Network Status", None))
self.actionManageKeys.setText(_translate("MainWindow", "Manage keys", None)) self.menuFile.setTitle(_translate("MainWindow", "File", None))
self.actionExit.setText(_translate("MainWindow", "Quit", None)) self.menuSettings.setTitle(_translate("MainWindow", "Settings", None))
self.actionHelp.setText(_translate("MainWindow", "Help", None)) self.menuHelp.setTitle(_translate("MainWindow", "Help", None))
self.actionAbout.setText(_translate("MainWindow", "About", None)) self.actionImport_keys.setText(_translate("MainWindow", "Import keys", None))
self.actionSettings.setText(_translate("MainWindow", "Settings", None)) self.actionManageKeys.setText(_translate("MainWindow", "Manage keys", None))
self.actionRegenerateDeterministicAddresses.setText(_translate("MainWindow", "Regenerate deterministic addresses", None)) self.actionExit.setText(_translate("MainWindow", "Quit", None))
self.actionDeleteAllTrashedMessages.setText(_translate("MainWindow", "Delete all trashed messages", None)) self.actionHelp.setText(_translate("MainWindow", "Help", None))
self.actionAbout.setText(_translate("MainWindow", "About", None))
import bitmessage_icons_rc self.actionSettings.setText(_translate("MainWindow", "Settings", None))
self.actionRegenerateDeterministicAddresses.setText(_translate("MainWindow", "Regenerate deterministic addresses", None))
if __name__ == "__main__": self.actionDeleteAllTrashedMessages.setText(_translate("MainWindow", "Delete all trashed messages", None))
import sys
app = QtGui.QApplication(sys.argv) import bitmessage_icons_rc
MainWindow = QtGui.QMainWindow()
ui = Ui_MainWindow()
ui.setupUi(MainWindow)
MainWindow.show()
sys.exit(app.exec_())

View File

@ -535,7 +535,7 @@ p, li { white-space: pre-wrap; }
<bool>true</bool> <bool>true</bool>
</attribute> </attribute>
<attribute name="horizontalHeaderDefaultSectionSize"> <attribute name="horizontalHeaderDefaultSectionSize">
<number>400</number> <number>245</number>
</attribute> </attribute>
<attribute name="horizontalHeaderHighlightSections"> <attribute name="horizontalHeaderHighlightSections">
<bool>false</bool> <bool>false</bool>
@ -559,6 +559,11 @@ p, li { white-space: pre-wrap; }
<string>Address</string> <string>Address</string>
</property> </property>
</column> </column>
<column>
<property name="text">
<string>Receiving Identity</string>
</property>
</column>
</widget> </widget>
</item> </item>
</layout> </layout>

View File

@ -1,60 +1,76 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'newsubscriptiondialog.ui' # Form implementation generated from reading ui file 'newsubscriptiondialog.ui'
# #
# Created: Fri Oct 19 15:30:41 2012 # Created: Wed Jul 10 18:56:32 2013
# by: PyQt4 UI code generator 4.9.4 # by: PyQt4 UI code generator 4.10.1
# #
# WARNING! All changes made in this file will be lost! # WARNING! All changes made in this file will be lost!
from PyQt4 import QtCore, QtGui from PyQt4 import QtCore, QtGui
try: try:
_fromUtf8 = QtCore.QString.fromUtf8 _fromUtf8 = QtCore.QString.fromUtf8
except AttributeError: except AttributeError:
_fromUtf8 = lambda s: s def _fromUtf8(s):
return s
class Ui_NewSubscriptionDialog(object):
def setupUi(self, NewSubscriptionDialog): try:
NewSubscriptionDialog.setObjectName(_fromUtf8("NewSubscriptionDialog")) _encoding = QtGui.QApplication.UnicodeUTF8
NewSubscriptionDialog.resize(368, 192) def _translate(context, text, disambig):
self.formLayout = QtGui.QFormLayout(NewSubscriptionDialog) return QtGui.QApplication.translate(context, text, disambig, _encoding)
self.formLayout.setFieldGrowthPolicy(QtGui.QFormLayout.AllNonFixedFieldsGrow) except AttributeError:
self.formLayout.setObjectName(_fromUtf8("formLayout")) def _translate(context, text, disambig):
self.label_2 = QtGui.QLabel(NewSubscriptionDialog) return QtGui.QApplication.translate(context, text, disambig)
self.label_2.setObjectName(_fromUtf8("label_2"))
self.formLayout.setWidget(0, QtGui.QFormLayout.SpanningRole, self.label_2) class Ui_NewSubscriptionDialog(object):
self.newsubscriptionlabel = QtGui.QLineEdit(NewSubscriptionDialog) def setupUi(self, NewSubscriptionDialog):
self.newsubscriptionlabel.setObjectName(_fromUtf8("newsubscriptionlabel")) NewSubscriptionDialog.setObjectName(_fromUtf8("NewSubscriptionDialog"))
self.formLayout.setWidget(2, QtGui.QFormLayout.SpanningRole, self.newsubscriptionlabel) NewSubscriptionDialog.resize(413, 208)
self.label = QtGui.QLabel(NewSubscriptionDialog) self.formLayout = QtGui.QFormLayout(NewSubscriptionDialog)
self.label.setObjectName(_fromUtf8("label")) self.formLayout.setFieldGrowthPolicy(QtGui.QFormLayout.AllNonFixedFieldsGrow)
self.formLayout.setWidget(4, QtGui.QFormLayout.LabelRole, self.label) self.formLayout.setObjectName(_fromUtf8("formLayout"))
spacerItem = QtGui.QSpacerItem(302, 10, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding) self.label_2 = QtGui.QLabel(NewSubscriptionDialog)
self.formLayout.setItem(4, QtGui.QFormLayout.FieldRole, spacerItem) self.label_2.setObjectName(_fromUtf8("label_2"))
self.lineEditSubscriptionAddress = QtGui.QLineEdit(NewSubscriptionDialog) self.formLayout.setWidget(0, QtGui.QFormLayout.SpanningRole, self.label_2)
self.lineEditSubscriptionAddress.setObjectName(_fromUtf8("lineEditSubscriptionAddress")) self.newsubscriptionlabel = QtGui.QLineEdit(NewSubscriptionDialog)
self.formLayout.setWidget(5, QtGui.QFormLayout.SpanningRole, self.lineEditSubscriptionAddress) self.newsubscriptionlabel.setObjectName(_fromUtf8("newsubscriptionlabel"))
self.buttonBox = QtGui.QDialogButtonBox(NewSubscriptionDialog) self.formLayout.setWidget(2, QtGui.QFormLayout.SpanningRole, self.newsubscriptionlabel)
self.buttonBox.setOrientation(QtCore.Qt.Horizontal) self.label = QtGui.QLabel(NewSubscriptionDialog)
self.buttonBox.setStandardButtons(QtGui.QDialogButtonBox.Cancel|QtGui.QDialogButtonBox.Ok) self.label.setObjectName(_fromUtf8("label"))
self.buttonBox.setObjectName(_fromUtf8("buttonBox")) self.formLayout.setWidget(4, QtGui.QFormLayout.LabelRole, self.label)
self.formLayout.setWidget(8, QtGui.QFormLayout.FieldRole, self.buttonBox) spacerItem = QtGui.QSpacerItem(302, 10, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
spacerItem1 = QtGui.QSpacerItem(20, 10, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding) self.formLayout.setItem(4, QtGui.QFormLayout.FieldRole, spacerItem)
self.formLayout.setItem(7, QtGui.QFormLayout.FieldRole, spacerItem1) self.lineEditSubscriptionAddress = QtGui.QLineEdit(NewSubscriptionDialog)
self.labelSubscriptionAddressCheck = QtGui.QLabel(NewSubscriptionDialog) self.lineEditSubscriptionAddress.setObjectName(_fromUtf8("lineEditSubscriptionAddress"))
self.labelSubscriptionAddressCheck.setText(_fromUtf8("")) self.formLayout.setWidget(5, QtGui.QFormLayout.SpanningRole, self.lineEditSubscriptionAddress)
self.labelSubscriptionAddressCheck.setWordWrap(True) self.labelSubscriptionAddressCheck = QtGui.QLabel(NewSubscriptionDialog)
self.labelSubscriptionAddressCheck.setObjectName(_fromUtf8("labelSubscriptionAddressCheck")) self.labelSubscriptionAddressCheck.setText(_fromUtf8(""))
self.formLayout.setWidget(6, QtGui.QFormLayout.SpanningRole, self.labelSubscriptionAddressCheck) self.labelSubscriptionAddressCheck.setWordWrap(True)
self.labelSubscriptionAddressCheck.setObjectName(_fromUtf8("labelSubscriptionAddressCheck"))
self.retranslateUi(NewSubscriptionDialog) self.formLayout.setWidget(6, QtGui.QFormLayout.SpanningRole, self.labelSubscriptionAddressCheck)
QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(_fromUtf8("accepted()")), NewSubscriptionDialog.accept) self.buttonBox = QtGui.QDialogButtonBox(NewSubscriptionDialog)
QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(_fromUtf8("rejected()")), NewSubscriptionDialog.reject) self.buttonBox.setOrientation(QtCore.Qt.Horizontal)
QtCore.QMetaObject.connectSlotsByName(NewSubscriptionDialog) self.buttonBox.setStandardButtons(QtGui.QDialogButtonBox.Cancel|QtGui.QDialogButtonBox.Ok)
self.buttonBox.setObjectName(_fromUtf8("buttonBox"))
def retranslateUi(self, NewSubscriptionDialog): self.formLayout.setWidget(10, QtGui.QFormLayout.FieldRole, self.buttonBox)
NewSubscriptionDialog.setWindowTitle(QtGui.QApplication.translate("NewSubscriptionDialog", "Add new entry", None, QtGui.QApplication.UnicodeUTF8)) spacerItem1 = QtGui.QSpacerItem(20, 10, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
self.label_2.setText(QtGui.QApplication.translate("NewSubscriptionDialog", "Label", None, QtGui.QApplication.UnicodeUTF8)) self.formLayout.setItem(9, QtGui.QFormLayout.SpanningRole, spacerItem1)
self.label.setText(QtGui.QApplication.translate("NewSubscriptionDialog", "Address", None, QtGui.QApplication.UnicodeUTF8)) self.comboBoxReceivingIdentity = QtGui.QComboBox(NewSubscriptionDialog)
self.comboBoxReceivingIdentity.setObjectName(_fromUtf8("comboBoxReceivingIdentity"))
self.formLayout.setWidget(8, QtGui.QFormLayout.SpanningRole, self.comboBoxReceivingIdentity)
self.label_3 = QtGui.QLabel(NewSubscriptionDialog)
self.label_3.setObjectName(_fromUtf8("label_3"))
self.formLayout.setWidget(7, QtGui.QFormLayout.LabelRole, self.label_3)
self.retranslateUi(NewSubscriptionDialog)
QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(_fromUtf8("accepted()")), NewSubscriptionDialog.accept)
QtCore.QObject.connect(self.buttonBox, QtCore.SIGNAL(_fromUtf8("rejected()")), NewSubscriptionDialog.reject)
QtCore.QMetaObject.connectSlotsByName(NewSubscriptionDialog)
def retranslateUi(self, NewSubscriptionDialog):
NewSubscriptionDialog.setWindowTitle(_translate("NewSubscriptionDialog", "Add new entry", None))
self.label_2.setText(_translate("NewSubscriptionDialog", "Label", None))
self.label.setText(_translate("NewSubscriptionDialog", "Address", None))
self.label_3.setText(_translate("NewSubscriptionDialog", "Receiving Identity", None))

View File

@ -6,8 +6,8 @@
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>368</width> <width>413</width>
<height>192</height> <height>208</height>
</rect> </rect>
</property> </property>
<property name="windowTitle"> <property name="windowTitle">
@ -50,7 +50,17 @@
<item row="5" column="0" colspan="2"> <item row="5" column="0" colspan="2">
<widget class="QLineEdit" name="lineEditSubscriptionAddress"/> <widget class="QLineEdit" name="lineEditSubscriptionAddress"/>
</item> </item>
<item row="8" column="1"> <item row="6" column="0" colspan="2">
<widget class="QLabel" name="labelSubscriptionAddressCheck">
<property name="text">
<string/>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="10" column="1">
<widget class="QDialogButtonBox" name="buttonBox"> <widget class="QDialogButtonBox" name="buttonBox">
<property name="orientation"> <property name="orientation">
<enum>Qt::Horizontal</enum> <enum>Qt::Horizontal</enum>
@ -60,7 +70,7 @@
</property> </property>
</widget> </widget>
</item> </item>
<item row="7" column="1"> <item row="9" column="0" colspan="2">
<spacer name="verticalSpacer_2"> <spacer name="verticalSpacer_2">
<property name="orientation"> <property name="orientation">
<enum>Qt::Vertical</enum> <enum>Qt::Vertical</enum>
@ -73,13 +83,13 @@
</property> </property>
</spacer> </spacer>
</item> </item>
<item row="6" column="0" colspan="2"> <item row="8" column="0" colspan="2">
<widget class="QLabel" name="labelSubscriptionAddressCheck"> <widget class="QComboBox" name="comboBoxReceivingIdentity"/>
</item>
<item row="7" column="0">
<widget class="QLabel" name="label_3">
<property name="text"> <property name="text">
<string/> <string>Receiving Identity</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property> </property>
</widget> </widget>
</item> </item>

View File

@ -293,7 +293,7 @@ class bitmessagePOP3Server(asyncore.dispatcher):
_ = bitmessagePOP3Connection(sock, peer_address, debug=self.debug) _ = bitmessagePOP3Connection(sock, peer_address, debug=self.debug)
@staticmethod @staticmethod
def reformatMessageForReceipt(toAddress, fromAddress, body, subject): def reformatMessageForReceipt(toAddress, fromAddress, body, subject, broadcast=False):
message = parser.Parser().parsestr(body) message = parser.Parser().parsestr(body)
with shared.printLock: with shared.printLock:
print(message) print(message)
@ -310,7 +310,8 @@ class bitmessagePOP3Server(asyncore.dispatcher):
# Checksum to make sure incoming message hasn't been tampered with # Checksum to make sure incoming message hasn't been tampered with
c = hashlib.sha256(body).digest()[:2] c = hashlib.sha256(body).digest()[:2]
c = (ord(checksum[0]) << 8) | ord(checksum[1]) #c = (ord(checksum[0]) << 8) | ord(checksum[1])
print(c, checksum)
# Valid Bitmessage subject line already # Valid Bitmessage subject line already
if c == checksum: if c == checksum:
@ -323,33 +324,58 @@ class bitmessagePOP3Server(asyncore.dispatcher):
if 'Date' in message and 'From' in message: if 'Date' in message and 'From' in message:
body_is_valid = True body_is_valid = True
if not body_is_valid: mailingListName = None
fromLabel = '{}@{}'.format(getBase58Capitaliation(fromAddress), fromAddress) if broadcast:
# Determine a mailing list label, just in case
t = (fromAddress,)
with shared.sqlLock: with shared.sqlLock:
t = (fromAddress,toAddress)
shared.sqlSubmitQueue.put( shared.sqlSubmitQueue.put(
'''SELECT label FROM addressbook WHERE address=?''') '''SELECT label FROM subscriptions WHERE address=? AND receiving_identity=?''')
shared.sqlSubmitQueue.put(t) shared.sqlSubmitQueue.put(t)
queryreturn = shared.sqlReturnQueue.get() queryreturn = shared.sqlReturnQueue.get()
for row in queryreturn: for row in queryreturn:
fromLabel = '{} <{}>'.format(row[0], fromLabel) mailingListName = row[0]
break break
if not body_is_valid:
fromLabel = '{}@{}'.format(getBase58Capitaliation(fromAddress), fromAddress)
if broadcast and mailingListName is not None:
fromLabel = '{} <{}>'.format(mailingListName, fromLabel)
else:
with shared.sqlLock:
t = (fromAddress,)
shared.sqlSubmitQueue.put(
'''SELECT label FROM addressbook WHERE address=?''')
shared.sqlSubmitQueue.put(t)
queryreturn = shared.sqlReturnQueue.get()
for row in queryreturn:
fromLabel = '{} <{}>'.format(row[0], fromLabel)
break
message['From'] = fromLabel message['From'] = fromLabel
message['Date'] = utils.formatdate() message['Date'] = utils.formatdate(localtime=False)
message['X-Bitmessage-Subject'] = subject message['X-Bitmessage-Subject'] = subject
if not subject_is_valid and 'Subject' not in message: if not subject_is_valid and 'Subject' not in message:
message['Subject'] = subject if mailingListName is not None:
message['Subject'] = bitmessagePOP3Server.addMailingListNameToSubject(subject, mailingListName)
else:
message['Subject'] = subject
toLabel = '{}@{}'.format(getBase58Capitaliation(toAddress), toAddress) if broadcast:
try: # The To: field on a broadcast is the mailing list, not you
toLabel = '{} <{}>'.format(shared.config.get(toAddress, 'label'), toLabel) toLabel = '{}@{}'.format(getBase58Capitaliation(fromAddress), fromAddress)
except: if mailingListName is not None:
pass toLabel = '{} <{}>'.format(mailingListName, toLabel)
message['To'] = toLabel
elif 'To' not in message:
toLabel = '{}@{}'.format(getBase58Capitaliation(toAddress), toAddress)
try:
toLabel = '{} <{}>'.format(shared.config.get(toAddress, 'label'), toLabel)
except:
pass
if "To" not in message:
message['To'] = toLabel message['To'] = toLabel
# Return-Path # Return-Path

View File

@ -702,27 +702,58 @@ class receiveDataThread(threading.Thread):
body = 'Unknown encoding type.\n\n' + repr(message) body = 'Unknown encoding type.\n\n' + repr(message)
subject = '' subject = ''
toAddress = '[Broadcast subscribers]'
if messageEncodingType != 0: if messageEncodingType != 0:
t = (fromAddress,)
t = (self.inventoryHash, toAddress, fromAddress, subject, int( shared.sqlLock.acquire()
time.time()), body, 'inbox', messageEncodingType, 0) shared.sqlSubmitQueue.put(
helper_inbox.insert(t) '''SELECT receiving_identity FROM subscriptions WHERE address=?''')
shared.sqlSubmitQueue.put(t)
shared.UISignalQueue.put(('displayNewInboxMessage', ( queryreturn = shared.sqlReturnQueue.get()
self.inventoryHash, toAddress, fromAddress, subject, body))) shared.sqlLock.release()
# If we are behaving as an API then we might need to run an print('queryreturn: {}'.format(queryreturn))
# outside command to let some program know that a new message for row in queryreturn:
# has arrived. receivingIdentity, = row
if shared.safeConfigGetBoolean('bitmessagesettings', 'apienabled'):
try: if receivingIdentity == '':
apiNotifyPath = shared.config.get( toAddress = '[Broadcast subscribers]'
'bitmessagesettings', 'apinotifypath') formattedBody = body
except: formattedSubject = subject
apiNotifyPath = '' elif not shared.safeConfigGetBoolean(receivingIdentity, 'enabled'):
if apiNotifyPath != '': continue
call([apiNotifyPath, "newBroadcast"]) else:
try:
isEmailAddress = shared.config.getboolean(receivingIdentity, 'foremail')
except:
isEmailAddress = False
# TODO - kinda stinks that the 'inbox' toAddress is used for both the recipient AND broadcast flag
toAddress = receivingIdentity
if isEmailAddress:
formattedBody, formattedSubject = bitmessagePOP3Server.reformatMessageForReceipt(receivingIdentity, fromAddress, body, subject, broadcast=True)
else:
formattedBody = body
formattedSubject = subject
t = (self.inventoryHash, toAddress, fromAddress, formattedSubject, int(
time.time()), formattedBody, 'inbox', messageEncodingType, 0)
helper_inbox.insert(t)
shared.UISignalQueue.put(('displayNewInboxMessage', (
self.inventoryHash, toAddress, fromAddress, formattedSubject, formattedBody)))
# If we are behaving as an API then we might need to run an
# outside command to let some program know that a new message
# has arrived.
if shared.safeConfigGetBoolean('bitmessagesettings', 'apienabled'):
try:
apiNotifyPath = shared.config.get(
'bitmessagesettings', 'apinotifypath')
except:
apiNotifyPath = ''
if apiNotifyPath != '':
call([apiNotifyPath, "newBroadcast"])
# Display timing data # Display timing data
with shared.printLock: with shared.printLock:

View File

@ -219,6 +219,18 @@ class sqlThread(threading.Thread):
parameters = (int(time.time()),) parameters = (int(time.time()),)
self.cur.execute(item, parameters) self.cur.execute(item, parameters)
# We need a receiving identity in subscriptions table. This allows us to
# Route broadcast messages to a number of individual identities (some
# can be wrapped with E-mail, some can be left in the users inbox)
item = '''SELECT value FROM settings WHERE key='subscriptionidentities';'''
parameters = ''
self.cur.execute(item, parameters)
queryreturn = self.cur.fetchall()
if len(queryreturn) == 0:
print 'Modifying subscriptions table to include a receiving identity'
self.cur.execute('''ALTER TABLE subscriptions ADD COLUMN receiving_identity TEXT DEFAULT '';''')
self.cur.execute('''INSERT INTO settings (value, key) VALUES ('1', 'subscriptionidentities');''')
while True: while True:
item = shared.sqlSubmitQueue.get() item = shared.sqlSubmitQueue.get()
if item == 'commit': if item == 'commit':