diff --git a/src/bitmessageqt/__init__.py b/src/bitmessageqt/__init__.py
index 9cea267a..e89b6286 100644
--- a/src/bitmessageqt/__init__.py
+++ b/src/bitmessageqt/__init__.py
@@ -1259,12 +1259,12 @@ class MyForm(QtGui.QMainWindow):
self.ui.tableWidgetSubscriptions.setRowCount(0)
shared.sqlLock.acquire()
shared.sqlSubmitQueue.put(
- 'SELECT label, address, enabled FROM subscriptions')
+ 'SELECT label, address, receiving_identity, enabled FROM subscriptions')
shared.sqlSubmitQueue.put('')
queryreturn = shared.sqlReturnQueue.get()
shared.sqlLock.release()
for row in queryreturn:
- label, address, enabled = row
+ label, address, receivingIdentity, enabled = row
self.ui.tableWidgetSubscriptions.insertRow(0)
newItem = QtGui.QTableWidgetItem(unicode(label, 'utf-8'))
if not enabled:
@@ -1276,6 +1276,10 @@ class MyForm(QtGui.QMainWindow):
if not enabled:
newItem.setTextColor(QtGui.QColor(128, 128, 128))
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):
self.statusBar().showMessage('')
@@ -1656,7 +1660,7 @@ class MyForm(QtGui.QMainWindow):
self.statusBar().showMessage(_translate(
"MainWindow", "The address you entered was invalid. Ignoring it."))
- def addSubscription(self, label, address):
+ def addSubscription(self, label, address, receivingIdentity):
address = addBMIfNotPresent(address)
#This should be handled outside of this function, for error displaying and such, but it must also be checked here.
if shared.isAddressInMySubscriptionsList(address):
@@ -1669,11 +1673,14 @@ class MyForm(QtGui.QMainWindow):
newItem = QtGui.QTableWidgetItem(address)
newItem.setFlags( QtCore.Qt.ItemIsSelectable | QtCore.Qt.ItemIsEnabled )
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)
#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.sqlSubmitQueue.put('''INSERT INTO subscriptions VALUES (?,?,?)''')
+ shared.sqlSubmitQueue.put('''INSERT INTO subscriptions (label, address, receiving_identity, enabled) VALUES (?,?,?,?)''')
shared.sqlSubmitQueue.put(t)
queryreturn = shared.sqlReturnQueue.get()
shared.sqlSubmitQueue.put('commit')
@@ -1682,7 +1689,7 @@ class MyForm(QtGui.QMainWindow):
shared.reloadBroadcastSendersForWhichImWatching()
def click_pushButtonAddSubscription(self):
- self.NewSubscriptionDialogInstance = NewSubscriptionDialog(self)
+ self.NewSubscriptionDialogInstance = NewSubscriptionDialog(self, True)
if self.NewSubscriptionDialogInstance.exec_():
if self.NewSubscriptionDialogInstance.ui.labelSubscriptionAddressCheck.text() != _translate("MainWindow", "Address is valid."):
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."))
return
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):
# 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."))
continue
labelAtCurrentRow = self.ui.tableWidgetAddressBook.item(currentRow,0).text().toUtf8()
- self.addSubscription(labelAtCurrentRow, addressAtCurrentRow)
+ self.addSubscription(labelAtCurrentRow, addressAtCurrentRow, '') # TODO
self.ui.tabWidget.setCurrentIndex(4)
def on_context_menuAddressBook(self, point):
@@ -2339,10 +2348,12 @@ class MyForm(QtGui.QMainWindow):
currentRow, 0).text().toUtf8()
addressAtCurrentRow = self.ui.tableWidgetSubscriptions.item(
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.sqlSubmitQueue.put(
- '''DELETE FROM subscriptions WHERE label=? AND address=?''')
+ '''DELETE FROM subscriptions WHERE label=? AND address=? AND receiving_identity=?''')
shared.sqlSubmitQueue.put(t)
shared.sqlReturnQueue.get()
shared.sqlSubmitQueue.put('commit')
@@ -2364,18 +2375,19 @@ class MyForm(QtGui.QMainWindow):
currentRow, 0).text().toUtf8()
addressAtCurrentRow = self.ui.tableWidgetSubscriptions.item(
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.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.sqlReturnQueue.get()
shared.sqlSubmitQueue.put('commit')
shared.sqlLock.release()
- self.ui.tableWidgetSubscriptions.item(
- currentRow, 0).setTextColor(QtGui.QColor(0, 0, 0))
- self.ui.tableWidgetSubscriptions.item(
- currentRow, 1).setTextColor(QtGui.QColor(0, 0, 0))
+ for i in range(3):
+ self.ui.tableWidgetSubscriptions.item(
+ currentRow, i).setTextColor(QtGui.QColor(0, 0, 0))
shared.reloadBroadcastSendersForWhichImWatching()
def on_action_SubscriptionsDisable(self):
@@ -2384,18 +2396,19 @@ class MyForm(QtGui.QMainWindow):
currentRow, 0).text().toUtf8()
addressAtCurrentRow = self.ui.tableWidgetSubscriptions.item(
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.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.sqlReturnQueue.get()
shared.sqlSubmitQueue.put('commit')
shared.sqlLock.release()
- self.ui.tableWidgetSubscriptions.item(
- currentRow, 0).setTextColor(QtGui.QColor(128, 128, 128))
- self.ui.tableWidgetSubscriptions.item(
- currentRow, 1).setTextColor(QtGui.QColor(128, 128, 128))
+ for i in range(3):
+ self.ui.tableWidgetSubscriptions.item(
+ currentRow, i).setTextColor(QtGui.QColor(128, 128, 128))
shared.reloadBroadcastSendersForWhichImWatching()
def on_context_menuSubscriptions(self, point):
@@ -2651,10 +2664,12 @@ class MyForm(QtGui.QMainWindow):
if currentRow >= 0:
addressAtCurrentRow = self.ui.tableWidgetSubscriptions.item(
currentRow, 1).text()
+ receivingIdentity = self.ui.tableWidgetSubscriptions.item(
+ currentRow, 2).text()
t = (str(self.ui.tableWidgetSubscriptions.item(
- currentRow, 0).text().toUtf8()), str(addressAtCurrentRow))
+ currentRow, 0).text().toUtf8()), str(addressAtCurrentRow), str(receivingIdentity))
shared.sqlSubmitQueue.put(
- '''UPDATE subscriptions set label=? WHERE address=?''')
+ '''UPDATE subscriptions set label=? WHERE address=? AND receiving_identity=?''')
shared.sqlSubmitQueue.put(t)
shared.sqlReturnQueue.get()
shared.sqlSubmitQueue.put('commit')
@@ -3027,7 +3042,7 @@ class SpecialAddressBehaviorDialog(QtGui.QDialog):
class NewSubscriptionDialog(QtGui.QDialog):
- def __init__(self, parent):
+ def __init__(self, parent, showReceivingIdentity=False):
QtGui.QWidget.__init__(self, parent)
self.ui = Ui_NewSubscriptionDialog()
self.ui.setupUi(self)
@@ -3035,6 +3050,29 @@ class NewSubscriptionDialog(QtGui.QDialog):
QtCore.QObject.connect(self.ui.lineEditSubscriptionAddress, QtCore.SIGNAL(
"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):
status, a, b, c = decodeAddress(str(QString))
if status == 'missingbm':
diff --git a/src/bitmessageqt/bitmessageui.py b/src/bitmessageqt/bitmessageui.py
index 1186e814..988c73fa 100644
--- a/src/bitmessageqt/bitmessageui.py
+++ b/src/bitmessageqt/bitmessageui.py
@@ -1,571 +1,565 @@
-# -*- coding: utf-8 -*-
-
-# Form implementation generated from reading ui file 'bitmessageui.ui'
-#
-# Created: Thu Jun 13 01:02:50 2013
-# by: PyQt4 UI code generator 4.10.1
-#
-# WARNING! All changes made in this file will be lost!
-
-from PyQt4 import QtCore, QtGui
-
-try:
- _fromUtf8 = QtCore.QString.fromUtf8
-except AttributeError:
- def _fromUtf8(s):
- return s
-
-try:
- _encoding = QtGui.QApplication.UnicodeUTF8
- def _translate(context, text, disambig):
- return QtGui.QApplication.translate(context, text, disambig, _encoding)
-except AttributeError:
- def _translate(context, text, disambig):
- return QtGui.QApplication.translate(context, text, disambig)
-
-class Ui_MainWindow(object):
- def setupUi(self, MainWindow):
- MainWindow.setObjectName(_fromUtf8("MainWindow"))
- MainWindow.resize(795, 561)
- icon = QtGui.QIcon()
- icon.addPixmap(QtGui.QPixmap(_fromUtf8(":/newPrefix/images/can-icon-24px.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
- MainWindow.setWindowIcon(icon)
- MainWindow.setTabShape(QtGui.QTabWidget.Rounded)
- self.centralwidget = QtGui.QWidget(MainWindow)
- self.centralwidget.setObjectName(_fromUtf8("centralwidget"))
- self.gridLayout = QtGui.QGridLayout(self.centralwidget)
- self.gridLayout.setMargin(0)
- self.gridLayout.setObjectName(_fromUtf8("gridLayout"))
- self.tabWidget = QtGui.QTabWidget(self.centralwidget)
- sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Expanding)
- sizePolicy.setHorizontalStretch(0)
- sizePolicy.setVerticalStretch(0)
- sizePolicy.setHeightForWidth(self.tabWidget.sizePolicy().hasHeightForWidth())
- self.tabWidget.setSizePolicy(sizePolicy)
- self.tabWidget.setMinimumSize(QtCore.QSize(0, 0))
- self.tabWidget.setBaseSize(QtCore.QSize(0, 0))
- font = QtGui.QFont()
- font.setPointSize(9)
- self.tabWidget.setFont(font)
- self.tabWidget.setTabPosition(QtGui.QTabWidget.North)
- self.tabWidget.setTabShape(QtGui.QTabWidget.Rounded)
- self.tabWidget.setObjectName(_fromUtf8("tabWidget"))
- self.inbox = QtGui.QWidget()
- self.inbox.setObjectName(_fromUtf8("inbox"))
- self.verticalLayout_2 = QtGui.QVBoxLayout(self.inbox)
- self.verticalLayout_2.setObjectName(_fromUtf8("verticalLayout_2"))
- self.tableWidgetInbox = QtGui.QTableWidget(self.inbox)
- self.tableWidgetInbox.setAlternatingRowColors(True)
- self.tableWidgetInbox.setSelectionMode(QtGui.QAbstractItemView.ExtendedSelection)
- self.tableWidgetInbox.setSelectionBehavior(QtGui.QAbstractItemView.SelectRows)
- self.tableWidgetInbox.setWordWrap(False)
- self.tableWidgetInbox.setObjectName(_fromUtf8("tableWidgetInbox"))
- self.tableWidgetInbox.setColumnCount(4)
- self.tableWidgetInbox.setRowCount(0)
- item = QtGui.QTableWidgetItem()
- self.tableWidgetInbox.setHorizontalHeaderItem(0, item)
- item = QtGui.QTableWidgetItem()
- self.tableWidgetInbox.setHorizontalHeaderItem(1, item)
- item = QtGui.QTableWidgetItem()
- self.tableWidgetInbox.setHorizontalHeaderItem(2, item)
- item = QtGui.QTableWidgetItem()
- self.tableWidgetInbox.setHorizontalHeaderItem(3, item)
- self.tableWidgetInbox.horizontalHeader().setCascadingSectionResizes(True)
- self.tableWidgetInbox.horizontalHeader().setDefaultSectionSize(200)
- self.tableWidgetInbox.horizontalHeader().setHighlightSections(False)
- self.tableWidgetInbox.horizontalHeader().setMinimumSectionSize(27)
- self.tableWidgetInbox.horizontalHeader().setSortIndicatorShown(False)
- self.tableWidgetInbox.horizontalHeader().setStretchLastSection(True)
- self.tableWidgetInbox.verticalHeader().setVisible(False)
- self.tableWidgetInbox.verticalHeader().setDefaultSectionSize(26)
- self.verticalLayout_2.addWidget(self.tableWidgetInbox)
- self.textEditInboxMessage = QtGui.QTextEdit(self.inbox)
- self.textEditInboxMessage.setBaseSize(QtCore.QSize(0, 500))
- self.textEditInboxMessage.setObjectName(_fromUtf8("textEditInboxMessage"))
- self.verticalLayout_2.addWidget(self.textEditInboxMessage)
- icon1 = QtGui.QIcon()
- icon1.addPixmap(QtGui.QPixmap(_fromUtf8(":/newPrefix/images/inbox.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
- self.tabWidget.addTab(self.inbox, icon1, _fromUtf8(""))
- self.send = QtGui.QWidget()
- self.send.setObjectName(_fromUtf8("send"))
- self.gridLayout_2 = QtGui.QGridLayout(self.send)
- self.gridLayout_2.setObjectName(_fromUtf8("gridLayout_2"))
- self.pushButtonLoadFromAddressBook = QtGui.QPushButton(self.send)
- font = QtGui.QFont()
- font.setPointSize(7)
- self.pushButtonLoadFromAddressBook.setFont(font)
- self.pushButtonLoadFromAddressBook.setObjectName(_fromUtf8("pushButtonLoadFromAddressBook"))
- self.gridLayout_2.addWidget(self.pushButtonLoadFromAddressBook, 3, 2, 1, 2)
- self.label_4 = QtGui.QLabel(self.send)
- self.label_4.setObjectName(_fromUtf8("label_4"))
- self.gridLayout_2.addWidget(self.label_4, 5, 0, 1, 1)
- self.comboBoxSendFrom = QtGui.QComboBox(self.send)
- self.comboBoxSendFrom.setMinimumSize(QtCore.QSize(300, 0))
- self.comboBoxSendFrom.setObjectName(_fromUtf8("comboBoxSendFrom"))
- self.gridLayout_2.addWidget(self.comboBoxSendFrom, 2, 1, 1, 1)
- self.label_3 = QtGui.QLabel(self.send)
- self.label_3.setObjectName(_fromUtf8("label_3"))
- self.gridLayout_2.addWidget(self.label_3, 4, 0, 1, 1)
- self.labelFrom = QtGui.QLabel(self.send)
- self.labelFrom.setText(_fromUtf8(""))
- self.labelFrom.setObjectName(_fromUtf8("labelFrom"))
- self.gridLayout_2.addWidget(self.labelFrom, 2, 2, 1, 3)
- self.radioButtonSpecific = QtGui.QRadioButton(self.send)
- self.radioButtonSpecific.setChecked(True)
- self.radioButtonSpecific.setObjectName(_fromUtf8("radioButtonSpecific"))
- self.gridLayout_2.addWidget(self.radioButtonSpecific, 0, 1, 1, 1)
- self.lineEditTo = QtGui.QLineEdit(self.send)
- self.lineEditTo.setObjectName(_fromUtf8("lineEditTo"))
- self.gridLayout_2.addWidget(self.lineEditTo, 3, 1, 1, 1)
- self.textEditMessage = QtGui.QTextEdit(self.send)
- self.textEditMessage.setObjectName(_fromUtf8("textEditMessage"))
- self.gridLayout_2.addWidget(self.textEditMessage, 5, 1, 2, 5)
- self.label = QtGui.QLabel(self.send)
- self.label.setObjectName(_fromUtf8("label"))
- self.gridLayout_2.addWidget(self.label, 3, 0, 1, 1)
- self.label_2 = QtGui.QLabel(self.send)
- self.label_2.setObjectName(_fromUtf8("label_2"))
- self.gridLayout_2.addWidget(self.label_2, 2, 0, 1, 1)
- spacerItem = QtGui.QSpacerItem(20, 297, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
- self.gridLayout_2.addItem(spacerItem, 6, 0, 1, 1)
- self.radioButtonBroadcast = QtGui.QRadioButton(self.send)
- self.radioButtonBroadcast.setObjectName(_fromUtf8("radioButtonBroadcast"))
- self.gridLayout_2.addWidget(self.radioButtonBroadcast, 1, 1, 1, 3)
- self.lineEditSubject = QtGui.QLineEdit(self.send)
- self.lineEditSubject.setText(_fromUtf8(""))
- self.lineEditSubject.setObjectName(_fromUtf8("lineEditSubject"))
- self.gridLayout_2.addWidget(self.lineEditSubject, 4, 1, 1, 5)
- spacerItem1 = QtGui.QSpacerItem(20, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
- self.gridLayout_2.addItem(spacerItem1, 3, 4, 1, 1)
- self.pushButtonSend = QtGui.QPushButton(self.send)
- self.pushButtonSend.setObjectName(_fromUtf8("pushButtonSend"))
- self.gridLayout_2.addWidget(self.pushButtonSend, 7, 5, 1, 1)
- self.labelSendBroadcastWarning = QtGui.QLabel(self.send)
- self.labelSendBroadcastWarning.setEnabled(True)
- sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Ignored, QtGui.QSizePolicy.Preferred)
- sizePolicy.setHorizontalStretch(0)
- sizePolicy.setVerticalStretch(0)
- sizePolicy.setHeightForWidth(self.labelSendBroadcastWarning.sizePolicy().hasHeightForWidth())
- self.labelSendBroadcastWarning.setSizePolicy(sizePolicy)
- self.labelSendBroadcastWarning.setIndent(-1)
- self.labelSendBroadcastWarning.setObjectName(_fromUtf8("labelSendBroadcastWarning"))
- self.gridLayout_2.addWidget(self.labelSendBroadcastWarning, 7, 1, 1, 4)
- icon2 = QtGui.QIcon()
- icon2.addPixmap(QtGui.QPixmap(_fromUtf8(":/newPrefix/images/send.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
- self.tabWidget.addTab(self.send, icon2, _fromUtf8(""))
- self.sent = QtGui.QWidget()
- self.sent.setObjectName(_fromUtf8("sent"))
- self.verticalLayout = QtGui.QVBoxLayout(self.sent)
- self.verticalLayout.setObjectName(_fromUtf8("verticalLayout"))
- self.tableWidgetSent = QtGui.QTableWidget(self.sent)
- self.tableWidgetSent.setDragDropMode(QtGui.QAbstractItemView.DragDrop)
- self.tableWidgetSent.setAlternatingRowColors(True)
- self.tableWidgetSent.setSelectionMode(QtGui.QAbstractItemView.ExtendedSelection)
- self.tableWidgetSent.setSelectionBehavior(QtGui.QAbstractItemView.SelectRows)
- self.tableWidgetSent.setWordWrap(False)
- self.tableWidgetSent.setObjectName(_fromUtf8("tableWidgetSent"))
- self.tableWidgetSent.setColumnCount(4)
- self.tableWidgetSent.setRowCount(0)
- item = QtGui.QTableWidgetItem()
- self.tableWidgetSent.setHorizontalHeaderItem(0, item)
- item = QtGui.QTableWidgetItem()
- self.tableWidgetSent.setHorizontalHeaderItem(1, item)
- item = QtGui.QTableWidgetItem()
- self.tableWidgetSent.setHorizontalHeaderItem(2, item)
- item = QtGui.QTableWidgetItem()
- self.tableWidgetSent.setHorizontalHeaderItem(3, item)
- self.tableWidgetSent.horizontalHeader().setCascadingSectionResizes(True)
- self.tableWidgetSent.horizontalHeader().setDefaultSectionSize(130)
- self.tableWidgetSent.horizontalHeader().setHighlightSections(False)
- self.tableWidgetSent.horizontalHeader().setSortIndicatorShown(False)
- self.tableWidgetSent.horizontalHeader().setStretchLastSection(True)
- self.tableWidgetSent.verticalHeader().setVisible(False)
- self.tableWidgetSent.verticalHeader().setStretchLastSection(False)
- self.verticalLayout.addWidget(self.tableWidgetSent)
- self.textEditSentMessage = QtGui.QTextEdit(self.sent)
- self.textEditSentMessage.setObjectName(_fromUtf8("textEditSentMessage"))
- self.verticalLayout.addWidget(self.textEditSentMessage)
- icon3 = QtGui.QIcon()
- icon3.addPixmap(QtGui.QPixmap(_fromUtf8(":/newPrefix/images/sent.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
- self.tabWidget.addTab(self.sent, icon3, _fromUtf8(""))
- self.youridentities = QtGui.QWidget()
- self.youridentities.setObjectName(_fromUtf8("youridentities"))
- self.gridLayout_3 = QtGui.QGridLayout(self.youridentities)
- self.gridLayout_3.setObjectName(_fromUtf8("gridLayout_3"))
- self.pushButtonNewAddress = QtGui.QPushButton(self.youridentities)
- self.pushButtonNewAddress.setObjectName(_fromUtf8("pushButtonNewAddress"))
- self.gridLayout_3.addWidget(self.pushButtonNewAddress, 0, 0, 1, 1)
- spacerItem2 = QtGui.QSpacerItem(689, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
- self.gridLayout_3.addItem(spacerItem2, 0, 1, 1, 1)
- self.tableWidgetYourIdentities = QtGui.QTableWidget(self.youridentities)
- self.tableWidgetYourIdentities.setFrameShadow(QtGui.QFrame.Sunken)
- self.tableWidgetYourIdentities.setLineWidth(1)
- self.tableWidgetYourIdentities.setAlternatingRowColors(True)
- self.tableWidgetYourIdentities.setSelectionMode(QtGui.QAbstractItemView.SingleSelection)
- self.tableWidgetYourIdentities.setSelectionBehavior(QtGui.QAbstractItemView.SelectRows)
- self.tableWidgetYourIdentities.setObjectName(_fromUtf8("tableWidgetYourIdentities"))
- self.tableWidgetYourIdentities.setColumnCount(3)
- self.tableWidgetYourIdentities.setRowCount(0)
- item = QtGui.QTableWidgetItem()
- font = QtGui.QFont()
- font.setKerning(True)
- item.setFont(font)
- self.tableWidgetYourIdentities.setHorizontalHeaderItem(0, item)
- item = QtGui.QTableWidgetItem()
- self.tableWidgetYourIdentities.setHorizontalHeaderItem(1, item)
- item = QtGui.QTableWidgetItem()
- self.tableWidgetYourIdentities.setHorizontalHeaderItem(2, item)
- self.tableWidgetYourIdentities.horizontalHeader().setCascadingSectionResizes(True)
- self.tableWidgetYourIdentities.horizontalHeader().setDefaultSectionSize(346)
- self.tableWidgetYourIdentities.horizontalHeader().setMinimumSectionSize(52)
- self.tableWidgetYourIdentities.horizontalHeader().setSortIndicatorShown(True)
- self.tableWidgetYourIdentities.horizontalHeader().setStretchLastSection(True)
- self.tableWidgetYourIdentities.verticalHeader().setVisible(False)
- self.tableWidgetYourIdentities.verticalHeader().setDefaultSectionSize(26)
- self.tableWidgetYourIdentities.verticalHeader().setSortIndicatorShown(False)
- self.tableWidgetYourIdentities.verticalHeader().setStretchLastSection(False)
- self.gridLayout_3.addWidget(self.tableWidgetYourIdentities, 1, 0, 1, 2)
- icon4 = QtGui.QIcon()
- icon4.addPixmap(QtGui.QPixmap(_fromUtf8(":/newPrefix/images/identities.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
- self.tabWidget.addTab(self.youridentities, icon4, _fromUtf8(""))
- self.subscriptions = QtGui.QWidget()
- self.subscriptions.setObjectName(_fromUtf8("subscriptions"))
- self.gridLayout_4 = QtGui.QGridLayout(self.subscriptions)
- self.gridLayout_4.setObjectName(_fromUtf8("gridLayout_4"))
- self.label_5 = QtGui.QLabel(self.subscriptions)
- self.label_5.setWordWrap(True)
- self.label_5.setObjectName(_fromUtf8("label_5"))
- self.gridLayout_4.addWidget(self.label_5, 0, 0, 1, 2)
- self.pushButtonAddSubscription = QtGui.QPushButton(self.subscriptions)
- self.pushButtonAddSubscription.setObjectName(_fromUtf8("pushButtonAddSubscription"))
- self.gridLayout_4.addWidget(self.pushButtonAddSubscription, 1, 0, 1, 1)
- spacerItem3 = QtGui.QSpacerItem(689, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
- self.gridLayout_4.addItem(spacerItem3, 1, 1, 1, 1)
- self.tableWidgetSubscriptions = QtGui.QTableWidget(self.subscriptions)
- self.tableWidgetSubscriptions.setAlternatingRowColors(True)
- self.tableWidgetSubscriptions.setSelectionMode(QtGui.QAbstractItemView.SingleSelection)
- self.tableWidgetSubscriptions.setSelectionBehavior(QtGui.QAbstractItemView.SelectRows)
- self.tableWidgetSubscriptions.setObjectName(_fromUtf8("tableWidgetSubscriptions"))
- self.tableWidgetSubscriptions.setColumnCount(2)
- self.tableWidgetSubscriptions.setRowCount(0)
- item = QtGui.QTableWidgetItem()
- self.tableWidgetSubscriptions.setHorizontalHeaderItem(0, item)
- item = QtGui.QTableWidgetItem()
- self.tableWidgetSubscriptions.setHorizontalHeaderItem(1, item)
- self.tableWidgetSubscriptions.horizontalHeader().setCascadingSectionResizes(True)
- self.tableWidgetSubscriptions.horizontalHeader().setDefaultSectionSize(400)
- self.tableWidgetSubscriptions.horizontalHeader().setHighlightSections(False)
- self.tableWidgetSubscriptions.horizontalHeader().setSortIndicatorShown(False)
- self.tableWidgetSubscriptions.horizontalHeader().setStretchLastSection(True)
- self.tableWidgetSubscriptions.verticalHeader().setVisible(False)
- self.gridLayout_4.addWidget(self.tableWidgetSubscriptions, 2, 0, 1, 2)
- icon5 = QtGui.QIcon()
- icon5.addPixmap(QtGui.QPixmap(_fromUtf8(":/newPrefix/images/subscriptions.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
- self.tabWidget.addTab(self.subscriptions, icon5, _fromUtf8(""))
- self.addressbook = QtGui.QWidget()
- self.addressbook.setObjectName(_fromUtf8("addressbook"))
- self.gridLayout_5 = QtGui.QGridLayout(self.addressbook)
- self.gridLayout_5.setObjectName(_fromUtf8("gridLayout_5"))
- self.label_6 = QtGui.QLabel(self.addressbook)
- self.label_6.setWordWrap(True)
- self.label_6.setObjectName(_fromUtf8("label_6"))
- self.gridLayout_5.addWidget(self.label_6, 0, 0, 1, 2)
- self.pushButtonAddAddressBook = QtGui.QPushButton(self.addressbook)
- self.pushButtonAddAddressBook.setObjectName(_fromUtf8("pushButtonAddAddressBook"))
- self.gridLayout_5.addWidget(self.pushButtonAddAddressBook, 1, 0, 1, 1)
- spacerItem4 = QtGui.QSpacerItem(689, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
- self.gridLayout_5.addItem(spacerItem4, 1, 1, 1, 1)
- self.tableWidgetAddressBook = QtGui.QTableWidget(self.addressbook)
- self.tableWidgetAddressBook.setAlternatingRowColors(True)
- self.tableWidgetAddressBook.setSelectionMode(QtGui.QAbstractItemView.ExtendedSelection)
- self.tableWidgetAddressBook.setSelectionBehavior(QtGui.QAbstractItemView.SelectRows)
- self.tableWidgetAddressBook.setObjectName(_fromUtf8("tableWidgetAddressBook"))
- self.tableWidgetAddressBook.setColumnCount(2)
- self.tableWidgetAddressBook.setRowCount(0)
- item = QtGui.QTableWidgetItem()
- self.tableWidgetAddressBook.setHorizontalHeaderItem(0, item)
- item = QtGui.QTableWidgetItem()
- self.tableWidgetAddressBook.setHorizontalHeaderItem(1, item)
- self.tableWidgetAddressBook.horizontalHeader().setCascadingSectionResizes(True)
- self.tableWidgetAddressBook.horizontalHeader().setDefaultSectionSize(400)
- self.tableWidgetAddressBook.horizontalHeader().setHighlightSections(False)
- self.tableWidgetAddressBook.horizontalHeader().setStretchLastSection(True)
- self.tableWidgetAddressBook.verticalHeader().setVisible(False)
- self.gridLayout_5.addWidget(self.tableWidgetAddressBook, 2, 0, 1, 2)
- icon6 = QtGui.QIcon()
- icon6.addPixmap(QtGui.QPixmap(_fromUtf8(":/newPrefix/images/addressbook.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
- self.tabWidget.addTab(self.addressbook, icon6, _fromUtf8(""))
- self.blackwhitelist = QtGui.QWidget()
- self.blackwhitelist.setObjectName(_fromUtf8("blackwhitelist"))
- self.gridLayout_6 = QtGui.QGridLayout(self.blackwhitelist)
- self.gridLayout_6.setObjectName(_fromUtf8("gridLayout_6"))
- self.radioButtonBlacklist = QtGui.QRadioButton(self.blackwhitelist)
- self.radioButtonBlacklist.setChecked(True)
- self.radioButtonBlacklist.setObjectName(_fromUtf8("radioButtonBlacklist"))
- self.gridLayout_6.addWidget(self.radioButtonBlacklist, 0, 0, 1, 2)
- self.radioButtonWhitelist = QtGui.QRadioButton(self.blackwhitelist)
- self.radioButtonWhitelist.setObjectName(_fromUtf8("radioButtonWhitelist"))
- self.gridLayout_6.addWidget(self.radioButtonWhitelist, 1, 0, 1, 2)
- self.pushButtonAddBlacklist = QtGui.QPushButton(self.blackwhitelist)
- self.pushButtonAddBlacklist.setObjectName(_fromUtf8("pushButtonAddBlacklist"))
- self.gridLayout_6.addWidget(self.pushButtonAddBlacklist, 2, 0, 1, 1)
- spacerItem5 = QtGui.QSpacerItem(689, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
- self.gridLayout_6.addItem(spacerItem5, 2, 1, 1, 1)
- self.tableWidgetBlacklist = QtGui.QTableWidget(self.blackwhitelist)
- self.tableWidgetBlacklist.setAlternatingRowColors(True)
- self.tableWidgetBlacklist.setSelectionMode(QtGui.QAbstractItemView.SingleSelection)
- self.tableWidgetBlacklist.setSelectionBehavior(QtGui.QAbstractItemView.SelectRows)
- self.tableWidgetBlacklist.setObjectName(_fromUtf8("tableWidgetBlacklist"))
- self.tableWidgetBlacklist.setColumnCount(2)
- self.tableWidgetBlacklist.setRowCount(0)
- item = QtGui.QTableWidgetItem()
- self.tableWidgetBlacklist.setHorizontalHeaderItem(0, item)
- item = QtGui.QTableWidgetItem()
- self.tableWidgetBlacklist.setHorizontalHeaderItem(1, item)
- self.tableWidgetBlacklist.horizontalHeader().setCascadingSectionResizes(True)
- self.tableWidgetBlacklist.horizontalHeader().setDefaultSectionSize(400)
- self.tableWidgetBlacklist.horizontalHeader().setHighlightSections(False)
- self.tableWidgetBlacklist.horizontalHeader().setSortIndicatorShown(False)
- self.tableWidgetBlacklist.horizontalHeader().setStretchLastSection(True)
- self.tableWidgetBlacklist.verticalHeader().setVisible(False)
- self.gridLayout_6.addWidget(self.tableWidgetBlacklist, 3, 0, 1, 2)
- icon7 = QtGui.QIcon()
- icon7.addPixmap(QtGui.QPixmap(_fromUtf8(":/newPrefix/images/blacklist.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
- self.tabWidget.addTab(self.blackwhitelist, icon7, _fromUtf8(""))
- self.networkstatus = QtGui.QWidget()
- self.networkstatus.setObjectName(_fromUtf8("networkstatus"))
- self.pushButtonStatusIcon = QtGui.QPushButton(self.networkstatus)
- self.pushButtonStatusIcon.setGeometry(QtCore.QRect(680, 440, 21, 23))
- self.pushButtonStatusIcon.setText(_fromUtf8(""))
- icon8 = QtGui.QIcon()
- icon8.addPixmap(QtGui.QPixmap(_fromUtf8(":/newPrefix/images/redicon.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
- self.pushButtonStatusIcon.setIcon(icon8)
- self.pushButtonStatusIcon.setFlat(True)
- self.pushButtonStatusIcon.setObjectName(_fromUtf8("pushButtonStatusIcon"))
- self.tableWidgetConnectionCount = QtGui.QTableWidget(self.networkstatus)
- self.tableWidgetConnectionCount.setGeometry(QtCore.QRect(20, 70, 241, 241))
- palette = QtGui.QPalette()
- brush = QtGui.QBrush(QtGui.QColor(212, 208, 200))
- brush.setStyle(QtCore.Qt.SolidPattern)
- palette.setBrush(QtGui.QPalette.Active, QtGui.QPalette.Base, brush)
- brush = QtGui.QBrush(QtGui.QColor(212, 208, 200))
- brush.setStyle(QtCore.Qt.SolidPattern)
- palette.setBrush(QtGui.QPalette.Inactive, QtGui.QPalette.Base, brush)
- brush = QtGui.QBrush(QtGui.QColor(212, 208, 200))
- brush.setStyle(QtCore.Qt.SolidPattern)
- palette.setBrush(QtGui.QPalette.Disabled, QtGui.QPalette.Base, brush)
- self.tableWidgetConnectionCount.setPalette(palette)
- self.tableWidgetConnectionCount.setFrameShape(QtGui.QFrame.Box)
- self.tableWidgetConnectionCount.setFrameShadow(QtGui.QFrame.Plain)
- self.tableWidgetConnectionCount.setProperty("showDropIndicator", False)
- self.tableWidgetConnectionCount.setAlternatingRowColors(True)
- self.tableWidgetConnectionCount.setSelectionMode(QtGui.QAbstractItemView.NoSelection)
- self.tableWidgetConnectionCount.setObjectName(_fromUtf8("tableWidgetConnectionCount"))
- self.tableWidgetConnectionCount.setColumnCount(2)
- self.tableWidgetConnectionCount.setRowCount(0)
- item = QtGui.QTableWidgetItem()
- self.tableWidgetConnectionCount.setHorizontalHeaderItem(0, item)
- item = QtGui.QTableWidgetItem()
- self.tableWidgetConnectionCount.setHorizontalHeaderItem(1, item)
- self.tableWidgetConnectionCount.horizontalHeader().setCascadingSectionResizes(True)
- self.tableWidgetConnectionCount.horizontalHeader().setHighlightSections(False)
- self.tableWidgetConnectionCount.horizontalHeader().setStretchLastSection(True)
- self.tableWidgetConnectionCount.verticalHeader().setVisible(False)
- self.labelTotalConnections = QtGui.QLabel(self.networkstatus)
- self.labelTotalConnections.setGeometry(QtCore.QRect(20, 30, 401, 16))
- self.labelTotalConnections.setObjectName(_fromUtf8("labelTotalConnections"))
- self.labelStartupTime = QtGui.QLabel(self.networkstatus)
- self.labelStartupTime.setGeometry(QtCore.QRect(320, 110, 331, 20))
- self.labelStartupTime.setObjectName(_fromUtf8("labelStartupTime"))
- self.labelMessageCount = QtGui.QLabel(self.networkstatus)
- self.labelMessageCount.setGeometry(QtCore.QRect(350, 130, 361, 16))
- self.labelMessageCount.setObjectName(_fromUtf8("labelMessageCount"))
- self.labelPubkeyCount = QtGui.QLabel(self.networkstatus)
- self.labelPubkeyCount.setGeometry(QtCore.QRect(350, 170, 331, 16))
- self.labelPubkeyCount.setObjectName(_fromUtf8("labelPubkeyCount"))
- self.labelBroadcastCount = QtGui.QLabel(self.networkstatus)
- self.labelBroadcastCount.setGeometry(QtCore.QRect(350, 150, 351, 16))
- self.labelBroadcastCount.setObjectName(_fromUtf8("labelBroadcastCount"))
- icon9 = QtGui.QIcon()
- icon9.addPixmap(QtGui.QPixmap(_fromUtf8(":/newPrefix/images/networkstatus.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
- self.tabWidget.addTab(self.networkstatus, icon9, _fromUtf8(""))
- self.gridLayout.addWidget(self.tabWidget, 0, 0, 1, 1)
- MainWindow.setCentralWidget(self.centralwidget)
- self.menubar = QtGui.QMenuBar(MainWindow)
- self.menubar.setGeometry(QtCore.QRect(0, 0, 795, 18))
- self.menubar.setObjectName(_fromUtf8("menubar"))
- self.menuFile = QtGui.QMenu(self.menubar)
- self.menuFile.setObjectName(_fromUtf8("menuFile"))
- self.menuSettings = QtGui.QMenu(self.menubar)
- self.menuSettings.setObjectName(_fromUtf8("menuSettings"))
- self.menuHelp = QtGui.QMenu(self.menubar)
- self.menuHelp.setObjectName(_fromUtf8("menuHelp"))
- MainWindow.setMenuBar(self.menubar)
- self.statusbar = QtGui.QStatusBar(MainWindow)
- self.statusbar.setMaximumSize(QtCore.QSize(16777215, 22))
- self.statusbar.setObjectName(_fromUtf8("statusbar"))
- MainWindow.setStatusBar(self.statusbar)
- self.actionImport_keys = QtGui.QAction(MainWindow)
- self.actionImport_keys.setObjectName(_fromUtf8("actionImport_keys"))
- self.actionManageKeys = QtGui.QAction(MainWindow)
- self.actionManageKeys.setCheckable(False)
- self.actionManageKeys.setEnabled(True)
- self.actionManageKeys.setObjectName(_fromUtf8("actionManageKeys"))
- self.actionExit = QtGui.QAction(MainWindow)
- self.actionExit.setObjectName(_fromUtf8("actionExit"))
- self.actionHelp = QtGui.QAction(MainWindow)
- self.actionHelp.setObjectName(_fromUtf8("actionHelp"))
- self.actionAbout = QtGui.QAction(MainWindow)
- self.actionAbout.setObjectName(_fromUtf8("actionAbout"))
- self.actionSettings = QtGui.QAction(MainWindow)
- self.actionSettings.setObjectName(_fromUtf8("actionSettings"))
- self.actionRegenerateDeterministicAddresses = QtGui.QAction(MainWindow)
- self.actionRegenerateDeterministicAddresses.setObjectName(_fromUtf8("actionRegenerateDeterministicAddresses"))
- self.actionDeleteAllTrashedMessages = QtGui.QAction(MainWindow)
- self.actionDeleteAllTrashedMessages.setObjectName(_fromUtf8("actionDeleteAllTrashedMessages"))
- self.menuFile.addAction(self.actionManageKeys)
- self.menuFile.addAction(self.actionDeleteAllTrashedMessages)
- self.menuFile.addAction(self.actionRegenerateDeterministicAddresses)
- self.menuFile.addAction(self.actionExit)
- self.menuSettings.addAction(self.actionSettings)
- self.menuHelp.addAction(self.actionHelp)
- self.menuHelp.addAction(self.actionAbout)
- self.menubar.addAction(self.menuFile.menuAction())
- self.menubar.addAction(self.menuSettings.menuAction())
- self.menubar.addAction(self.menuHelp.menuAction())
-
- self.retranslateUi(MainWindow)
- self.tabWidget.setCurrentIndex(0)
- QtCore.QObject.connect(self.radioButtonSpecific, QtCore.SIGNAL(_fromUtf8("toggled(bool)")), self.lineEditTo.setEnabled)
- QtCore.QObject.connect(self.radioButtonSpecific, QtCore.SIGNAL(_fromUtf8("clicked(bool)")), self.labelSendBroadcastWarning.hide)
- QtCore.QObject.connect(self.radioButtonBroadcast, QtCore.SIGNAL(_fromUtf8("clicked()")), self.labelSendBroadcastWarning.show)
- QtCore.QMetaObject.connectSlotsByName(MainWindow)
- MainWindow.setTabOrder(self.tabWidget, self.tableWidgetInbox)
- MainWindow.setTabOrder(self.tableWidgetInbox, self.textEditInboxMessage)
- MainWindow.setTabOrder(self.textEditInboxMessage, self.radioButtonSpecific)
- MainWindow.setTabOrder(self.radioButtonSpecific, self.radioButtonBroadcast)
- MainWindow.setTabOrder(self.radioButtonBroadcast, self.comboBoxSendFrom)
- MainWindow.setTabOrder(self.comboBoxSendFrom, self.lineEditTo)
- MainWindow.setTabOrder(self.lineEditTo, self.pushButtonLoadFromAddressBook)
- MainWindow.setTabOrder(self.pushButtonLoadFromAddressBook, self.lineEditSubject)
- MainWindow.setTabOrder(self.lineEditSubject, self.textEditMessage)
- MainWindow.setTabOrder(self.textEditMessage, self.pushButtonSend)
- MainWindow.setTabOrder(self.pushButtonSend, self.tableWidgetSent)
- MainWindow.setTabOrder(self.tableWidgetSent, self.textEditSentMessage)
- MainWindow.setTabOrder(self.textEditSentMessage, self.pushButtonNewAddress)
- MainWindow.setTabOrder(self.pushButtonNewAddress, self.tableWidgetYourIdentities)
- MainWindow.setTabOrder(self.tableWidgetYourIdentities, self.pushButtonAddSubscription)
- MainWindow.setTabOrder(self.pushButtonAddSubscription, self.tableWidgetSubscriptions)
- MainWindow.setTabOrder(self.tableWidgetSubscriptions, self.pushButtonAddAddressBook)
- MainWindow.setTabOrder(self.pushButtonAddAddressBook, self.tableWidgetAddressBook)
- MainWindow.setTabOrder(self.tableWidgetAddressBook, self.radioButtonBlacklist)
- MainWindow.setTabOrder(self.radioButtonBlacklist, self.radioButtonWhitelist)
- MainWindow.setTabOrder(self.radioButtonWhitelist, self.pushButtonAddBlacklist)
- MainWindow.setTabOrder(self.pushButtonAddBlacklist, self.tableWidgetBlacklist)
- MainWindow.setTabOrder(self.tableWidgetBlacklist, self.tableWidgetConnectionCount)
- MainWindow.setTabOrder(self.tableWidgetConnectionCount, self.pushButtonStatusIcon)
-
- def retranslateUi(self, MainWindow):
- MainWindow.setWindowTitle(_translate("MainWindow", "Bitmessage", None))
- self.tableWidgetInbox.setSortingEnabled(True)
- item = self.tableWidgetInbox.horizontalHeaderItem(0)
- item.setText(_translate("MainWindow", "To", None))
- item = self.tableWidgetInbox.horizontalHeaderItem(1)
- item.setText(_translate("MainWindow", "From", None))
- item = self.tableWidgetInbox.horizontalHeaderItem(2)
- item.setText(_translate("MainWindow", "Subject", None))
- item = self.tableWidgetInbox.horizontalHeaderItem(3)
- item.setText(_translate("MainWindow", "Received", None))
- self.tabWidget.setTabText(self.tabWidget.indexOf(self.inbox), _translate("MainWindow", "Inbox", None))
- self.pushButtonLoadFromAddressBook.setText(_translate("MainWindow", "Load from Address book", None))
- self.label_4.setText(_translate("MainWindow", "Message:", None))
- self.label_3.setText(_translate("MainWindow", "Subject:", None))
- self.radioButtonSpecific.setText(_translate("MainWindow", "Send to one or more specific people", None))
- self.textEditMessage.setHtml(_translate("MainWindow", "\n"
-"
\n"
-"
", None))
- self.label.setText(_translate("MainWindow", "To:", None))
- self.label_2.setText(_translate("MainWindow", "From:", None))
- self.radioButtonBroadcast.setText(_translate("MainWindow", "Broadcast to everyone who is subscribed to your address", None))
- self.pushButtonSend.setText(_translate("MainWindow", "Send", 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.tabWidget.setTabText(self.tabWidget.indexOf(self.send), _translate("MainWindow", "Send", None))
- self.tableWidgetSent.setSortingEnabled(True)
- item = self.tableWidgetSent.horizontalHeaderItem(0)
- item.setText(_translate("MainWindow", "To", None))
- item = self.tableWidgetSent.horizontalHeaderItem(1)
- item.setText(_translate("MainWindow", "From", None))
- item = self.tableWidgetSent.horizontalHeaderItem(2)
- item.setText(_translate("MainWindow", "Subject", None))
- item = self.tableWidgetSent.horizontalHeaderItem(3)
- item.setText(_translate("MainWindow", "Status", None))
- self.tabWidget.setTabText(self.tabWidget.indexOf(self.sent), _translate("MainWindow", "Sent", None))
- self.pushButtonNewAddress.setText(_translate("MainWindow", "New", None))
- self.tableWidgetYourIdentities.setSortingEnabled(True)
- item = self.tableWidgetYourIdentities.horizontalHeaderItem(0)
- item.setText(_translate("MainWindow", "Label (not shown to anyone)", None))
- item = self.tableWidgetYourIdentities.horizontalHeaderItem(1)
- item.setText(_translate("MainWindow", "Address", None))
- item = self.tableWidgetYourIdentities.horizontalHeaderItem(2)
- item.setText(_translate("MainWindow", "Stream", None))
- self.tabWidget.setTabText(self.tabWidget.indexOf(self.youridentities), _translate("MainWindow", "Your Identities", None))
- self.label_5.setText(_translate("MainWindow", "Here you can subscribe to \'broadcast messages\' that are sent by other users. Messages will appear in your Inbox. Addresses here override those on the Blacklist tab.", None))
- self.pushButtonAddSubscription.setText(_translate("MainWindow", "Add new Subscription", None))
- self.tableWidgetSubscriptions.setSortingEnabled(True)
- item = self.tableWidgetSubscriptions.horizontalHeaderItem(0)
- item.setText(_translate("MainWindow", "Label", None))
- item = self.tableWidgetSubscriptions.horizontalHeaderItem(1)
- item.setText(_translate("MainWindow", "Address", None))
- self.tabWidget.setTabText(self.tabWidget.indexOf(self.subscriptions), _translate("MainWindow", "Subscriptions", None))
- self.label_6.setText(_translate("MainWindow", "The Address book is useful for adding names or labels to other people\'s Bitmessage addresses so that you can recognize them more easily in your inbox. You can add entries here using the \'Add\' button, or from your inbox by right-clicking on a message.", None))
- self.pushButtonAddAddressBook.setText(_translate("MainWindow", "Add new entry", None))
- self.tableWidgetAddressBook.setSortingEnabled(True)
- item = self.tableWidgetAddressBook.horizontalHeaderItem(0)
- item.setText(_translate("MainWindow", "Name or Label", None))
- item = self.tableWidgetAddressBook.horizontalHeaderItem(1)
- item.setText(_translate("MainWindow", "Address", None))
- self.tabWidget.setTabText(self.tabWidget.indexOf(self.addressbook), _translate("MainWindow", "Address Book", None))
- self.radioButtonBlacklist.setText(_translate("MainWindow", "Use a Blacklist (Allow all incoming messages except those on the Blacklist)", None))
- self.radioButtonWhitelist.setText(_translate("MainWindow", "Use a Whitelist (Block all incoming messages except those on the Whitelist)", None))
- self.pushButtonAddBlacklist.setText(_translate("MainWindow", "Add new entry", None))
- self.tableWidgetBlacklist.setSortingEnabled(True)
- item = self.tableWidgetBlacklist.horizontalHeaderItem(0)
- item.setText(_translate("MainWindow", "Name or Label", None))
- item = self.tableWidgetBlacklist.horizontalHeaderItem(1)
- item.setText(_translate("MainWindow", "Address", None))
- self.tabWidget.setTabText(self.tabWidget.indexOf(self.blackwhitelist), _translate("MainWindow", "Blacklist", None))
- item = self.tableWidgetConnectionCount.horizontalHeaderItem(0)
- item.setText(_translate("MainWindow", "Stream #", None))
- item = self.tableWidgetConnectionCount.horizontalHeaderItem(1)
- item.setText(_translate("MainWindow", "Connections", None))
- self.labelTotalConnections.setText(_translate("MainWindow", "Total connections: 0", None))
- self.labelStartupTime.setText(_translate("MainWindow", "Since startup at asdf:", None))
- self.labelMessageCount.setText(_translate("MainWindow", "Processed 0 person-to-person message.", None))
- self.labelPubkeyCount.setText(_translate("MainWindow", "Processed 0 public key.", None))
- self.labelBroadcastCount.setText(_translate("MainWindow", "Processed 0 broadcast.", None))
- self.tabWidget.setTabText(self.tabWidget.indexOf(self.networkstatus), _translate("MainWindow", "Network Status", None))
- self.menuFile.setTitle(_translate("MainWindow", "File", None))
- self.menuSettings.setTitle(_translate("MainWindow", "Settings", None))
- self.menuHelp.setTitle(_translate("MainWindow", "Help", None))
- self.actionImport_keys.setText(_translate("MainWindow", "Import keys", None))
- self.actionManageKeys.setText(_translate("MainWindow", "Manage keys", None))
- self.actionExit.setText(_translate("MainWindow", "Quit", None))
- self.actionHelp.setText(_translate("MainWindow", "Help", None))
- self.actionAbout.setText(_translate("MainWindow", "About", None))
- self.actionSettings.setText(_translate("MainWindow", "Settings", None))
- self.actionRegenerateDeterministicAddresses.setText(_translate("MainWindow", "Regenerate deterministic addresses", None))
- self.actionDeleteAllTrashedMessages.setText(_translate("MainWindow", "Delete all trashed messages", None))
-
-import bitmessage_icons_rc
-
-if __name__ == "__main__":
- import sys
- app = QtGui.QApplication(sys.argv)
- MainWindow = QtGui.QMainWindow()
- ui = Ui_MainWindow()
- ui.setupUi(MainWindow)
- MainWindow.show()
- sys.exit(app.exec_())
-
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file 'bitmessageui.ui'
+#
+# Created: Wed Jul 10 18:36:45 2013
+# by: PyQt4 UI code generator 4.10.1
+#
+# WARNING! All changes made in this file will be lost!
+
+from PyQt4 import QtCore, QtGui
+
+try:
+ _fromUtf8 = QtCore.QString.fromUtf8
+except AttributeError:
+ def _fromUtf8(s):
+ return s
+
+try:
+ _encoding = QtGui.QApplication.UnicodeUTF8
+ def _translate(context, text, disambig):
+ return QtGui.QApplication.translate(context, text, disambig, _encoding)
+except AttributeError:
+ def _translate(context, text, disambig):
+ return QtGui.QApplication.translate(context, text, disambig)
+
+class Ui_MainWindow(object):
+ def setupUi(self, MainWindow):
+ MainWindow.setObjectName(_fromUtf8("MainWindow"))
+ MainWindow.resize(795, 561)
+ icon = QtGui.QIcon()
+ icon.addPixmap(QtGui.QPixmap(_fromUtf8(":/newPrefix/images/can-icon-24px.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ MainWindow.setWindowIcon(icon)
+ MainWindow.setTabShape(QtGui.QTabWidget.Rounded)
+ self.centralwidget = QtGui.QWidget(MainWindow)
+ self.centralwidget.setObjectName(_fromUtf8("centralwidget"))
+ self.gridLayout = QtGui.QGridLayout(self.centralwidget)
+ self.gridLayout.setMargin(0)
+ self.gridLayout.setObjectName(_fromUtf8("gridLayout"))
+ self.tabWidget = QtGui.QTabWidget(self.centralwidget)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Expanding)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.tabWidget.sizePolicy().hasHeightForWidth())
+ self.tabWidget.setSizePolicy(sizePolicy)
+ self.tabWidget.setMinimumSize(QtCore.QSize(0, 0))
+ self.tabWidget.setBaseSize(QtCore.QSize(0, 0))
+ font = QtGui.QFont()
+ font.setPointSize(9)
+ self.tabWidget.setFont(font)
+ self.tabWidget.setTabPosition(QtGui.QTabWidget.North)
+ self.tabWidget.setTabShape(QtGui.QTabWidget.Rounded)
+ self.tabWidget.setObjectName(_fromUtf8("tabWidget"))
+ self.inbox = QtGui.QWidget()
+ self.inbox.setObjectName(_fromUtf8("inbox"))
+ self.verticalLayout_2 = QtGui.QVBoxLayout(self.inbox)
+ self.verticalLayout_2.setObjectName(_fromUtf8("verticalLayout_2"))
+ self.tableWidgetInbox = QtGui.QTableWidget(self.inbox)
+ self.tableWidgetInbox.setAlternatingRowColors(True)
+ self.tableWidgetInbox.setSelectionMode(QtGui.QAbstractItemView.ExtendedSelection)
+ self.tableWidgetInbox.setSelectionBehavior(QtGui.QAbstractItemView.SelectRows)
+ self.tableWidgetInbox.setWordWrap(False)
+ self.tableWidgetInbox.setObjectName(_fromUtf8("tableWidgetInbox"))
+ self.tableWidgetInbox.setColumnCount(4)
+ self.tableWidgetInbox.setRowCount(0)
+ item = QtGui.QTableWidgetItem()
+ self.tableWidgetInbox.setHorizontalHeaderItem(0, item)
+ item = QtGui.QTableWidgetItem()
+ self.tableWidgetInbox.setHorizontalHeaderItem(1, item)
+ item = QtGui.QTableWidgetItem()
+ self.tableWidgetInbox.setHorizontalHeaderItem(2, item)
+ item = QtGui.QTableWidgetItem()
+ self.tableWidgetInbox.setHorizontalHeaderItem(3, item)
+ self.tableWidgetInbox.horizontalHeader().setCascadingSectionResizes(True)
+ self.tableWidgetInbox.horizontalHeader().setDefaultSectionSize(200)
+ self.tableWidgetInbox.horizontalHeader().setHighlightSections(False)
+ self.tableWidgetInbox.horizontalHeader().setMinimumSectionSize(27)
+ self.tableWidgetInbox.horizontalHeader().setSortIndicatorShown(False)
+ self.tableWidgetInbox.horizontalHeader().setStretchLastSection(True)
+ self.tableWidgetInbox.verticalHeader().setVisible(False)
+ self.tableWidgetInbox.verticalHeader().setDefaultSectionSize(26)
+ self.verticalLayout_2.addWidget(self.tableWidgetInbox)
+ self.textEditInboxMessage = QtGui.QTextEdit(self.inbox)
+ self.textEditInboxMessage.setBaseSize(QtCore.QSize(0, 500))
+ self.textEditInboxMessage.setObjectName(_fromUtf8("textEditInboxMessage"))
+ self.verticalLayout_2.addWidget(self.textEditInboxMessage)
+ icon1 = QtGui.QIcon()
+ icon1.addPixmap(QtGui.QPixmap(_fromUtf8(":/newPrefix/images/inbox.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.tabWidget.addTab(self.inbox, icon1, _fromUtf8(""))
+ self.send = QtGui.QWidget()
+ self.send.setObjectName(_fromUtf8("send"))
+ self.gridLayout_2 = QtGui.QGridLayout(self.send)
+ self.gridLayout_2.setObjectName(_fromUtf8("gridLayout_2"))
+ self.pushButtonLoadFromAddressBook = QtGui.QPushButton(self.send)
+ font = QtGui.QFont()
+ font.setPointSize(7)
+ self.pushButtonLoadFromAddressBook.setFont(font)
+ self.pushButtonLoadFromAddressBook.setObjectName(_fromUtf8("pushButtonLoadFromAddressBook"))
+ self.gridLayout_2.addWidget(self.pushButtonLoadFromAddressBook, 3, 2, 1, 2)
+ self.label_4 = QtGui.QLabel(self.send)
+ self.label_4.setObjectName(_fromUtf8("label_4"))
+ self.gridLayout_2.addWidget(self.label_4, 5, 0, 1, 1)
+ self.comboBoxSendFrom = QtGui.QComboBox(self.send)
+ self.comboBoxSendFrom.setMinimumSize(QtCore.QSize(300, 0))
+ self.comboBoxSendFrom.setObjectName(_fromUtf8("comboBoxSendFrom"))
+ self.gridLayout_2.addWidget(self.comboBoxSendFrom, 2, 1, 1, 1)
+ self.label_3 = QtGui.QLabel(self.send)
+ self.label_3.setObjectName(_fromUtf8("label_3"))
+ self.gridLayout_2.addWidget(self.label_3, 4, 0, 1, 1)
+ self.labelFrom = QtGui.QLabel(self.send)
+ self.labelFrom.setText(_fromUtf8(""))
+ self.labelFrom.setObjectName(_fromUtf8("labelFrom"))
+ self.gridLayout_2.addWidget(self.labelFrom, 2, 2, 1, 3)
+ self.radioButtonSpecific = QtGui.QRadioButton(self.send)
+ self.radioButtonSpecific.setChecked(True)
+ self.radioButtonSpecific.setObjectName(_fromUtf8("radioButtonSpecific"))
+ self.gridLayout_2.addWidget(self.radioButtonSpecific, 0, 1, 1, 1)
+ self.lineEditTo = QtGui.QLineEdit(self.send)
+ self.lineEditTo.setObjectName(_fromUtf8("lineEditTo"))
+ self.gridLayout_2.addWidget(self.lineEditTo, 3, 1, 1, 1)
+ self.textEditMessage = QtGui.QTextEdit(self.send)
+ self.textEditMessage.setObjectName(_fromUtf8("textEditMessage"))
+ self.gridLayout_2.addWidget(self.textEditMessage, 5, 1, 2, 5)
+ self.label = QtGui.QLabel(self.send)
+ self.label.setObjectName(_fromUtf8("label"))
+ self.gridLayout_2.addWidget(self.label, 3, 0, 1, 1)
+ self.label_2 = QtGui.QLabel(self.send)
+ self.label_2.setObjectName(_fromUtf8("label_2"))
+ self.gridLayout_2.addWidget(self.label_2, 2, 0, 1, 1)
+ spacerItem = QtGui.QSpacerItem(20, 297, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
+ self.gridLayout_2.addItem(spacerItem, 6, 0, 1, 1)
+ self.radioButtonBroadcast = QtGui.QRadioButton(self.send)
+ self.radioButtonBroadcast.setObjectName(_fromUtf8("radioButtonBroadcast"))
+ self.gridLayout_2.addWidget(self.radioButtonBroadcast, 1, 1, 1, 3)
+ self.lineEditSubject = QtGui.QLineEdit(self.send)
+ self.lineEditSubject.setText(_fromUtf8(""))
+ self.lineEditSubject.setObjectName(_fromUtf8("lineEditSubject"))
+ self.gridLayout_2.addWidget(self.lineEditSubject, 4, 1, 1, 5)
+ spacerItem1 = QtGui.QSpacerItem(20, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
+ self.gridLayout_2.addItem(spacerItem1, 3, 4, 1, 1)
+ self.pushButtonSend = QtGui.QPushButton(self.send)
+ self.pushButtonSend.setObjectName(_fromUtf8("pushButtonSend"))
+ self.gridLayout_2.addWidget(self.pushButtonSend, 7, 5, 1, 1)
+ self.labelSendBroadcastWarning = QtGui.QLabel(self.send)
+ self.labelSendBroadcastWarning.setEnabled(True)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Ignored, QtGui.QSizePolicy.Preferred)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.labelSendBroadcastWarning.sizePolicy().hasHeightForWidth())
+ self.labelSendBroadcastWarning.setSizePolicy(sizePolicy)
+ self.labelSendBroadcastWarning.setIndent(-1)
+ self.labelSendBroadcastWarning.setObjectName(_fromUtf8("labelSendBroadcastWarning"))
+ self.gridLayout_2.addWidget(self.labelSendBroadcastWarning, 7, 1, 1, 4)
+ icon2 = QtGui.QIcon()
+ icon2.addPixmap(QtGui.QPixmap(_fromUtf8(":/newPrefix/images/send.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.tabWidget.addTab(self.send, icon2, _fromUtf8(""))
+ self.sent = QtGui.QWidget()
+ self.sent.setObjectName(_fromUtf8("sent"))
+ self.verticalLayout = QtGui.QVBoxLayout(self.sent)
+ self.verticalLayout.setObjectName(_fromUtf8("verticalLayout"))
+ self.tableWidgetSent = QtGui.QTableWidget(self.sent)
+ self.tableWidgetSent.setDragDropMode(QtGui.QAbstractItemView.DragDrop)
+ self.tableWidgetSent.setAlternatingRowColors(True)
+ self.tableWidgetSent.setSelectionMode(QtGui.QAbstractItemView.ExtendedSelection)
+ self.tableWidgetSent.setSelectionBehavior(QtGui.QAbstractItemView.SelectRows)
+ self.tableWidgetSent.setWordWrap(False)
+ self.tableWidgetSent.setObjectName(_fromUtf8("tableWidgetSent"))
+ self.tableWidgetSent.setColumnCount(4)
+ self.tableWidgetSent.setRowCount(0)
+ item = QtGui.QTableWidgetItem()
+ self.tableWidgetSent.setHorizontalHeaderItem(0, item)
+ item = QtGui.QTableWidgetItem()
+ self.tableWidgetSent.setHorizontalHeaderItem(1, item)
+ item = QtGui.QTableWidgetItem()
+ self.tableWidgetSent.setHorizontalHeaderItem(2, item)
+ item = QtGui.QTableWidgetItem()
+ self.tableWidgetSent.setHorizontalHeaderItem(3, item)
+ self.tableWidgetSent.horizontalHeader().setCascadingSectionResizes(True)
+ self.tableWidgetSent.horizontalHeader().setDefaultSectionSize(130)
+ self.tableWidgetSent.horizontalHeader().setHighlightSections(False)
+ self.tableWidgetSent.horizontalHeader().setSortIndicatorShown(False)
+ self.tableWidgetSent.horizontalHeader().setStretchLastSection(True)
+ self.tableWidgetSent.verticalHeader().setVisible(False)
+ self.tableWidgetSent.verticalHeader().setStretchLastSection(False)
+ self.verticalLayout.addWidget(self.tableWidgetSent)
+ self.textEditSentMessage = QtGui.QTextEdit(self.sent)
+ self.textEditSentMessage.setObjectName(_fromUtf8("textEditSentMessage"))
+ self.verticalLayout.addWidget(self.textEditSentMessage)
+ icon3 = QtGui.QIcon()
+ icon3.addPixmap(QtGui.QPixmap(_fromUtf8(":/newPrefix/images/sent.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.tabWidget.addTab(self.sent, icon3, _fromUtf8(""))
+ self.youridentities = QtGui.QWidget()
+ self.youridentities.setObjectName(_fromUtf8("youridentities"))
+ self.gridLayout_3 = QtGui.QGridLayout(self.youridentities)
+ self.gridLayout_3.setObjectName(_fromUtf8("gridLayout_3"))
+ self.pushButtonNewAddress = QtGui.QPushButton(self.youridentities)
+ self.pushButtonNewAddress.setObjectName(_fromUtf8("pushButtonNewAddress"))
+ self.gridLayout_3.addWidget(self.pushButtonNewAddress, 0, 0, 1, 1)
+ spacerItem2 = QtGui.QSpacerItem(689, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
+ self.gridLayout_3.addItem(spacerItem2, 0, 1, 1, 1)
+ self.tableWidgetYourIdentities = QtGui.QTableWidget(self.youridentities)
+ self.tableWidgetYourIdentities.setFrameShadow(QtGui.QFrame.Sunken)
+ self.tableWidgetYourIdentities.setLineWidth(1)
+ self.tableWidgetYourIdentities.setAlternatingRowColors(True)
+ self.tableWidgetYourIdentities.setSelectionMode(QtGui.QAbstractItemView.SingleSelection)
+ self.tableWidgetYourIdentities.setSelectionBehavior(QtGui.QAbstractItemView.SelectRows)
+ self.tableWidgetYourIdentities.setObjectName(_fromUtf8("tableWidgetYourIdentities"))
+ self.tableWidgetYourIdentities.setColumnCount(3)
+ self.tableWidgetYourIdentities.setRowCount(0)
+ item = QtGui.QTableWidgetItem()
+ font = QtGui.QFont()
+ font.setKerning(True)
+ item.setFont(font)
+ self.tableWidgetYourIdentities.setHorizontalHeaderItem(0, item)
+ item = QtGui.QTableWidgetItem()
+ self.tableWidgetYourIdentities.setHorizontalHeaderItem(1, item)
+ item = QtGui.QTableWidgetItem()
+ self.tableWidgetYourIdentities.setHorizontalHeaderItem(2, item)
+ self.tableWidgetYourIdentities.horizontalHeader().setCascadingSectionResizes(True)
+ self.tableWidgetYourIdentities.horizontalHeader().setDefaultSectionSize(346)
+ self.tableWidgetYourIdentities.horizontalHeader().setMinimumSectionSize(52)
+ self.tableWidgetYourIdentities.horizontalHeader().setSortIndicatorShown(True)
+ self.tableWidgetYourIdentities.horizontalHeader().setStretchLastSection(True)
+ self.tableWidgetYourIdentities.verticalHeader().setVisible(False)
+ self.tableWidgetYourIdentities.verticalHeader().setDefaultSectionSize(26)
+ self.tableWidgetYourIdentities.verticalHeader().setSortIndicatorShown(False)
+ self.tableWidgetYourIdentities.verticalHeader().setStretchLastSection(False)
+ self.gridLayout_3.addWidget(self.tableWidgetYourIdentities, 1, 0, 1, 2)
+ icon4 = QtGui.QIcon()
+ icon4.addPixmap(QtGui.QPixmap(_fromUtf8(":/newPrefix/images/identities.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.tabWidget.addTab(self.youridentities, icon4, _fromUtf8(""))
+ self.subscriptions = QtGui.QWidget()
+ self.subscriptions.setObjectName(_fromUtf8("subscriptions"))
+ self.gridLayout_4 = QtGui.QGridLayout(self.subscriptions)
+ self.gridLayout_4.setObjectName(_fromUtf8("gridLayout_4"))
+ self.label_5 = QtGui.QLabel(self.subscriptions)
+ self.label_5.setWordWrap(True)
+ self.label_5.setObjectName(_fromUtf8("label_5"))
+ self.gridLayout_4.addWidget(self.label_5, 0, 0, 1, 2)
+ self.pushButtonAddSubscription = QtGui.QPushButton(self.subscriptions)
+ self.pushButtonAddSubscription.setObjectName(_fromUtf8("pushButtonAddSubscription"))
+ self.gridLayout_4.addWidget(self.pushButtonAddSubscription, 1, 0, 1, 1)
+ spacerItem3 = QtGui.QSpacerItem(689, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
+ self.gridLayout_4.addItem(spacerItem3, 1, 1, 1, 1)
+ self.tableWidgetSubscriptions = QtGui.QTableWidget(self.subscriptions)
+ self.tableWidgetSubscriptions.setAlternatingRowColors(True)
+ self.tableWidgetSubscriptions.setSelectionMode(QtGui.QAbstractItemView.SingleSelection)
+ self.tableWidgetSubscriptions.setSelectionBehavior(QtGui.QAbstractItemView.SelectRows)
+ self.tableWidgetSubscriptions.setObjectName(_fromUtf8("tableWidgetSubscriptions"))
+ self.tableWidgetSubscriptions.setColumnCount(3)
+ self.tableWidgetSubscriptions.setRowCount(0)
+ item = QtGui.QTableWidgetItem()
+ self.tableWidgetSubscriptions.setHorizontalHeaderItem(0, item)
+ item = QtGui.QTableWidgetItem()
+ self.tableWidgetSubscriptions.setHorizontalHeaderItem(1, item)
+ item = QtGui.QTableWidgetItem()
+ self.tableWidgetSubscriptions.setHorizontalHeaderItem(2, item)
+ self.tableWidgetSubscriptions.horizontalHeader().setCascadingSectionResizes(True)
+ self.tableWidgetSubscriptions.horizontalHeader().setDefaultSectionSize(245)
+ self.tableWidgetSubscriptions.horizontalHeader().setHighlightSections(False)
+ self.tableWidgetSubscriptions.horizontalHeader().setSortIndicatorShown(False)
+ self.tableWidgetSubscriptions.horizontalHeader().setStretchLastSection(True)
+ self.tableWidgetSubscriptions.verticalHeader().setVisible(False)
+ self.gridLayout_4.addWidget(self.tableWidgetSubscriptions, 2, 0, 1, 2)
+ icon5 = QtGui.QIcon()
+ icon5.addPixmap(QtGui.QPixmap(_fromUtf8(":/newPrefix/images/subscriptions.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.tabWidget.addTab(self.subscriptions, icon5, _fromUtf8(""))
+ self.addressbook = QtGui.QWidget()
+ self.addressbook.setObjectName(_fromUtf8("addressbook"))
+ self.gridLayout_5 = QtGui.QGridLayout(self.addressbook)
+ self.gridLayout_5.setObjectName(_fromUtf8("gridLayout_5"))
+ self.label_6 = QtGui.QLabel(self.addressbook)
+ self.label_6.setWordWrap(True)
+ self.label_6.setObjectName(_fromUtf8("label_6"))
+ self.gridLayout_5.addWidget(self.label_6, 0, 0, 1, 2)
+ self.pushButtonAddAddressBook = QtGui.QPushButton(self.addressbook)
+ self.pushButtonAddAddressBook.setObjectName(_fromUtf8("pushButtonAddAddressBook"))
+ self.gridLayout_5.addWidget(self.pushButtonAddAddressBook, 1, 0, 1, 1)
+ spacerItem4 = QtGui.QSpacerItem(689, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
+ self.gridLayout_5.addItem(spacerItem4, 1, 1, 1, 1)
+ self.tableWidgetAddressBook = QtGui.QTableWidget(self.addressbook)
+ self.tableWidgetAddressBook.setAlternatingRowColors(True)
+ self.tableWidgetAddressBook.setSelectionMode(QtGui.QAbstractItemView.ExtendedSelection)
+ self.tableWidgetAddressBook.setSelectionBehavior(QtGui.QAbstractItemView.SelectRows)
+ self.tableWidgetAddressBook.setObjectName(_fromUtf8("tableWidgetAddressBook"))
+ self.tableWidgetAddressBook.setColumnCount(2)
+ self.tableWidgetAddressBook.setRowCount(0)
+ item = QtGui.QTableWidgetItem()
+ self.tableWidgetAddressBook.setHorizontalHeaderItem(0, item)
+ item = QtGui.QTableWidgetItem()
+ self.tableWidgetAddressBook.setHorizontalHeaderItem(1, item)
+ self.tableWidgetAddressBook.horizontalHeader().setCascadingSectionResizes(True)
+ self.tableWidgetAddressBook.horizontalHeader().setDefaultSectionSize(400)
+ self.tableWidgetAddressBook.horizontalHeader().setHighlightSections(False)
+ self.tableWidgetAddressBook.horizontalHeader().setStretchLastSection(True)
+ self.tableWidgetAddressBook.verticalHeader().setVisible(False)
+ self.gridLayout_5.addWidget(self.tableWidgetAddressBook, 2, 0, 1, 2)
+ icon6 = QtGui.QIcon()
+ icon6.addPixmap(QtGui.QPixmap(_fromUtf8(":/newPrefix/images/addressbook.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.tabWidget.addTab(self.addressbook, icon6, _fromUtf8(""))
+ self.blackwhitelist = QtGui.QWidget()
+ self.blackwhitelist.setObjectName(_fromUtf8("blackwhitelist"))
+ self.gridLayout_6 = QtGui.QGridLayout(self.blackwhitelist)
+ self.gridLayout_6.setObjectName(_fromUtf8("gridLayout_6"))
+ self.radioButtonBlacklist = QtGui.QRadioButton(self.blackwhitelist)
+ self.radioButtonBlacklist.setChecked(True)
+ self.radioButtonBlacklist.setObjectName(_fromUtf8("radioButtonBlacklist"))
+ self.gridLayout_6.addWidget(self.radioButtonBlacklist, 0, 0, 1, 2)
+ self.radioButtonWhitelist = QtGui.QRadioButton(self.blackwhitelist)
+ self.radioButtonWhitelist.setObjectName(_fromUtf8("radioButtonWhitelist"))
+ self.gridLayout_6.addWidget(self.radioButtonWhitelist, 1, 0, 1, 2)
+ self.pushButtonAddBlacklist = QtGui.QPushButton(self.blackwhitelist)
+ self.pushButtonAddBlacklist.setObjectName(_fromUtf8("pushButtonAddBlacklist"))
+ self.gridLayout_6.addWidget(self.pushButtonAddBlacklist, 2, 0, 1, 1)
+ spacerItem5 = QtGui.QSpacerItem(689, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
+ self.gridLayout_6.addItem(spacerItem5, 2, 1, 1, 1)
+ self.tableWidgetBlacklist = QtGui.QTableWidget(self.blackwhitelist)
+ self.tableWidgetBlacklist.setAlternatingRowColors(True)
+ self.tableWidgetBlacklist.setSelectionMode(QtGui.QAbstractItemView.SingleSelection)
+ self.tableWidgetBlacklist.setSelectionBehavior(QtGui.QAbstractItemView.SelectRows)
+ self.tableWidgetBlacklist.setObjectName(_fromUtf8("tableWidgetBlacklist"))
+ self.tableWidgetBlacklist.setColumnCount(2)
+ self.tableWidgetBlacklist.setRowCount(0)
+ item = QtGui.QTableWidgetItem()
+ self.tableWidgetBlacklist.setHorizontalHeaderItem(0, item)
+ item = QtGui.QTableWidgetItem()
+ self.tableWidgetBlacklist.setHorizontalHeaderItem(1, item)
+ self.tableWidgetBlacklist.horizontalHeader().setCascadingSectionResizes(True)
+ self.tableWidgetBlacklist.horizontalHeader().setDefaultSectionSize(400)
+ self.tableWidgetBlacklist.horizontalHeader().setHighlightSections(False)
+ self.tableWidgetBlacklist.horizontalHeader().setSortIndicatorShown(False)
+ self.tableWidgetBlacklist.horizontalHeader().setStretchLastSection(True)
+ self.tableWidgetBlacklist.verticalHeader().setVisible(False)
+ self.gridLayout_6.addWidget(self.tableWidgetBlacklist, 3, 0, 1, 2)
+ icon7 = QtGui.QIcon()
+ icon7.addPixmap(QtGui.QPixmap(_fromUtf8(":/newPrefix/images/blacklist.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.tabWidget.addTab(self.blackwhitelist, icon7, _fromUtf8(""))
+ self.networkstatus = QtGui.QWidget()
+ self.networkstatus.setObjectName(_fromUtf8("networkstatus"))
+ self.pushButtonStatusIcon = QtGui.QPushButton(self.networkstatus)
+ self.pushButtonStatusIcon.setGeometry(QtCore.QRect(680, 440, 21, 23))
+ self.pushButtonStatusIcon.setText(_fromUtf8(""))
+ icon8 = QtGui.QIcon()
+ icon8.addPixmap(QtGui.QPixmap(_fromUtf8(":/newPrefix/images/redicon.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.pushButtonStatusIcon.setIcon(icon8)
+ self.pushButtonStatusIcon.setFlat(True)
+ self.pushButtonStatusIcon.setObjectName(_fromUtf8("pushButtonStatusIcon"))
+ self.tableWidgetConnectionCount = QtGui.QTableWidget(self.networkstatus)
+ self.tableWidgetConnectionCount.setGeometry(QtCore.QRect(20, 70, 241, 241))
+ palette = QtGui.QPalette()
+ brush = QtGui.QBrush(QtGui.QColor(212, 208, 200))
+ brush.setStyle(QtCore.Qt.SolidPattern)
+ palette.setBrush(QtGui.QPalette.Active, QtGui.QPalette.Base, brush)
+ brush = QtGui.QBrush(QtGui.QColor(212, 208, 200))
+ brush.setStyle(QtCore.Qt.SolidPattern)
+ palette.setBrush(QtGui.QPalette.Inactive, QtGui.QPalette.Base, brush)
+ brush = QtGui.QBrush(QtGui.QColor(212, 208, 200))
+ brush.setStyle(QtCore.Qt.SolidPattern)
+ palette.setBrush(QtGui.QPalette.Disabled, QtGui.QPalette.Base, brush)
+ self.tableWidgetConnectionCount.setPalette(palette)
+ self.tableWidgetConnectionCount.setFrameShape(QtGui.QFrame.Box)
+ self.tableWidgetConnectionCount.setFrameShadow(QtGui.QFrame.Plain)
+ self.tableWidgetConnectionCount.setProperty("showDropIndicator", False)
+ self.tableWidgetConnectionCount.setAlternatingRowColors(True)
+ self.tableWidgetConnectionCount.setSelectionMode(QtGui.QAbstractItemView.NoSelection)
+ self.tableWidgetConnectionCount.setObjectName(_fromUtf8("tableWidgetConnectionCount"))
+ self.tableWidgetConnectionCount.setColumnCount(2)
+ self.tableWidgetConnectionCount.setRowCount(0)
+ item = QtGui.QTableWidgetItem()
+ self.tableWidgetConnectionCount.setHorizontalHeaderItem(0, item)
+ item = QtGui.QTableWidgetItem()
+ self.tableWidgetConnectionCount.setHorizontalHeaderItem(1, item)
+ self.tableWidgetConnectionCount.horizontalHeader().setCascadingSectionResizes(True)
+ self.tableWidgetConnectionCount.horizontalHeader().setHighlightSections(False)
+ self.tableWidgetConnectionCount.horizontalHeader().setStretchLastSection(True)
+ self.tableWidgetConnectionCount.verticalHeader().setVisible(False)
+ self.labelTotalConnections = QtGui.QLabel(self.networkstatus)
+ self.labelTotalConnections.setGeometry(QtCore.QRect(20, 30, 401, 16))
+ self.labelTotalConnections.setObjectName(_fromUtf8("labelTotalConnections"))
+ self.labelStartupTime = QtGui.QLabel(self.networkstatus)
+ self.labelStartupTime.setGeometry(QtCore.QRect(320, 110, 331, 20))
+ self.labelStartupTime.setObjectName(_fromUtf8("labelStartupTime"))
+ self.labelMessageCount = QtGui.QLabel(self.networkstatus)
+ self.labelMessageCount.setGeometry(QtCore.QRect(350, 130, 361, 16))
+ self.labelMessageCount.setObjectName(_fromUtf8("labelMessageCount"))
+ self.labelPubkeyCount = QtGui.QLabel(self.networkstatus)
+ self.labelPubkeyCount.setGeometry(QtCore.QRect(350, 170, 331, 16))
+ self.labelPubkeyCount.setObjectName(_fromUtf8("labelPubkeyCount"))
+ self.labelBroadcastCount = QtGui.QLabel(self.networkstatus)
+ self.labelBroadcastCount.setGeometry(QtCore.QRect(350, 150, 351, 16))
+ self.labelBroadcastCount.setObjectName(_fromUtf8("labelBroadcastCount"))
+ icon9 = QtGui.QIcon()
+ icon9.addPixmap(QtGui.QPixmap(_fromUtf8(":/newPrefix/images/networkstatus.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
+ self.tabWidget.addTab(self.networkstatus, icon9, _fromUtf8(""))
+ self.gridLayout.addWidget(self.tabWidget, 0, 0, 1, 1)
+ MainWindow.setCentralWidget(self.centralwidget)
+ self.menubar = QtGui.QMenuBar(MainWindow)
+ self.menubar.setGeometry(QtCore.QRect(0, 0, 795, 18))
+ self.menubar.setObjectName(_fromUtf8("menubar"))
+ self.menuFile = QtGui.QMenu(self.menubar)
+ self.menuFile.setObjectName(_fromUtf8("menuFile"))
+ self.menuSettings = QtGui.QMenu(self.menubar)
+ self.menuSettings.setObjectName(_fromUtf8("menuSettings"))
+ self.menuHelp = QtGui.QMenu(self.menubar)
+ self.menuHelp.setObjectName(_fromUtf8("menuHelp"))
+ MainWindow.setMenuBar(self.menubar)
+ self.statusbar = QtGui.QStatusBar(MainWindow)
+ self.statusbar.setMaximumSize(QtCore.QSize(16777215, 22))
+ self.statusbar.setObjectName(_fromUtf8("statusbar"))
+ MainWindow.setStatusBar(self.statusbar)
+ self.actionImport_keys = QtGui.QAction(MainWindow)
+ self.actionImport_keys.setObjectName(_fromUtf8("actionImport_keys"))
+ self.actionManageKeys = QtGui.QAction(MainWindow)
+ self.actionManageKeys.setCheckable(False)
+ self.actionManageKeys.setEnabled(True)
+ self.actionManageKeys.setObjectName(_fromUtf8("actionManageKeys"))
+ self.actionExit = QtGui.QAction(MainWindow)
+ self.actionExit.setObjectName(_fromUtf8("actionExit"))
+ self.actionHelp = QtGui.QAction(MainWindow)
+ self.actionHelp.setObjectName(_fromUtf8("actionHelp"))
+ self.actionAbout = QtGui.QAction(MainWindow)
+ self.actionAbout.setObjectName(_fromUtf8("actionAbout"))
+ self.actionSettings = QtGui.QAction(MainWindow)
+ self.actionSettings.setObjectName(_fromUtf8("actionSettings"))
+ self.actionRegenerateDeterministicAddresses = QtGui.QAction(MainWindow)
+ self.actionRegenerateDeterministicAddresses.setObjectName(_fromUtf8("actionRegenerateDeterministicAddresses"))
+ self.actionDeleteAllTrashedMessages = QtGui.QAction(MainWindow)
+ self.actionDeleteAllTrashedMessages.setObjectName(_fromUtf8("actionDeleteAllTrashedMessages"))
+ self.menuFile.addAction(self.actionManageKeys)
+ self.menuFile.addAction(self.actionDeleteAllTrashedMessages)
+ self.menuFile.addAction(self.actionRegenerateDeterministicAddresses)
+ self.menuFile.addAction(self.actionExit)
+ self.menuSettings.addAction(self.actionSettings)
+ self.menuHelp.addAction(self.actionHelp)
+ self.menuHelp.addAction(self.actionAbout)
+ self.menubar.addAction(self.menuFile.menuAction())
+ self.menubar.addAction(self.menuSettings.menuAction())
+ self.menubar.addAction(self.menuHelp.menuAction())
+
+ self.retranslateUi(MainWindow)
+ self.tabWidget.setCurrentIndex(0)
+ QtCore.QObject.connect(self.radioButtonSpecific, QtCore.SIGNAL(_fromUtf8("toggled(bool)")), self.lineEditTo.setEnabled)
+ QtCore.QObject.connect(self.radioButtonSpecific, QtCore.SIGNAL(_fromUtf8("clicked(bool)")), self.labelSendBroadcastWarning.hide)
+ QtCore.QObject.connect(self.radioButtonBroadcast, QtCore.SIGNAL(_fromUtf8("clicked()")), self.labelSendBroadcastWarning.show)
+ QtCore.QMetaObject.connectSlotsByName(MainWindow)
+ MainWindow.setTabOrder(self.tabWidget, self.tableWidgetInbox)
+ MainWindow.setTabOrder(self.tableWidgetInbox, self.textEditInboxMessage)
+ MainWindow.setTabOrder(self.textEditInboxMessage, self.radioButtonSpecific)
+ MainWindow.setTabOrder(self.radioButtonSpecific, self.radioButtonBroadcast)
+ MainWindow.setTabOrder(self.radioButtonBroadcast, self.comboBoxSendFrom)
+ MainWindow.setTabOrder(self.comboBoxSendFrom, self.lineEditTo)
+ MainWindow.setTabOrder(self.lineEditTo, self.pushButtonLoadFromAddressBook)
+ MainWindow.setTabOrder(self.pushButtonLoadFromAddressBook, self.lineEditSubject)
+ MainWindow.setTabOrder(self.lineEditSubject, self.textEditMessage)
+ MainWindow.setTabOrder(self.textEditMessage, self.pushButtonSend)
+ MainWindow.setTabOrder(self.pushButtonSend, self.tableWidgetSent)
+ MainWindow.setTabOrder(self.tableWidgetSent, self.textEditSentMessage)
+ MainWindow.setTabOrder(self.textEditSentMessage, self.pushButtonNewAddress)
+ MainWindow.setTabOrder(self.pushButtonNewAddress, self.tableWidgetYourIdentities)
+ MainWindow.setTabOrder(self.tableWidgetYourIdentities, self.pushButtonAddSubscription)
+ MainWindow.setTabOrder(self.pushButtonAddSubscription, self.tableWidgetSubscriptions)
+ MainWindow.setTabOrder(self.tableWidgetSubscriptions, self.pushButtonAddAddressBook)
+ MainWindow.setTabOrder(self.pushButtonAddAddressBook, self.tableWidgetAddressBook)
+ MainWindow.setTabOrder(self.tableWidgetAddressBook, self.radioButtonBlacklist)
+ MainWindow.setTabOrder(self.radioButtonBlacklist, self.radioButtonWhitelist)
+ MainWindow.setTabOrder(self.radioButtonWhitelist, self.pushButtonAddBlacklist)
+ MainWindow.setTabOrder(self.pushButtonAddBlacklist, self.tableWidgetBlacklist)
+ MainWindow.setTabOrder(self.tableWidgetBlacklist, self.tableWidgetConnectionCount)
+ MainWindow.setTabOrder(self.tableWidgetConnectionCount, self.pushButtonStatusIcon)
+
+ def retranslateUi(self, MainWindow):
+ MainWindow.setWindowTitle(_translate("MainWindow", "Bitmessage", None))
+ self.tableWidgetInbox.setSortingEnabled(True)
+ item = self.tableWidgetInbox.horizontalHeaderItem(0)
+ item.setText(_translate("MainWindow", "To", None))
+ item = self.tableWidgetInbox.horizontalHeaderItem(1)
+ item.setText(_translate("MainWindow", "From", None))
+ item = self.tableWidgetInbox.horizontalHeaderItem(2)
+ item.setText(_translate("MainWindow", "Subject", None))
+ item = self.tableWidgetInbox.horizontalHeaderItem(3)
+ item.setText(_translate("MainWindow", "Received", None))
+ self.tabWidget.setTabText(self.tabWidget.indexOf(self.inbox), _translate("MainWindow", "Inbox", None))
+ self.pushButtonLoadFromAddressBook.setText(_translate("MainWindow", "Load from Address book", None))
+ self.label_4.setText(_translate("MainWindow", "Message:", None))
+ self.label_3.setText(_translate("MainWindow", "Subject:", None))
+ self.radioButtonSpecific.setText(_translate("MainWindow", "Send to one or more specific people", None))
+ self.textEditMessage.setHtml(_translate("MainWindow", "\n"
+"\n"
+"
", None))
+ self.label.setText(_translate("MainWindow", "To:", None))
+ self.label_2.setText(_translate("MainWindow", "From:", None))
+ self.radioButtonBroadcast.setText(_translate("MainWindow", "Broadcast to everyone who is subscribed to your address", None))
+ self.pushButtonSend.setText(_translate("MainWindow", "Send", 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.tabWidget.setTabText(self.tabWidget.indexOf(self.send), _translate("MainWindow", "Send", None))
+ self.tableWidgetSent.setSortingEnabled(True)
+ item = self.tableWidgetSent.horizontalHeaderItem(0)
+ item.setText(_translate("MainWindow", "To", None))
+ item = self.tableWidgetSent.horizontalHeaderItem(1)
+ item.setText(_translate("MainWindow", "From", None))
+ item = self.tableWidgetSent.horizontalHeaderItem(2)
+ item.setText(_translate("MainWindow", "Subject", None))
+ item = self.tableWidgetSent.horizontalHeaderItem(3)
+ item.setText(_translate("MainWindow", "Status", None))
+ self.tabWidget.setTabText(self.tabWidget.indexOf(self.sent), _translate("MainWindow", "Sent", None))
+ self.pushButtonNewAddress.setText(_translate("MainWindow", "New", None))
+ self.tableWidgetYourIdentities.setSortingEnabled(True)
+ item = self.tableWidgetYourIdentities.horizontalHeaderItem(0)
+ item.setText(_translate("MainWindow", "Label (not shown to anyone)", None))
+ item = self.tableWidgetYourIdentities.horizontalHeaderItem(1)
+ item.setText(_translate("MainWindow", "Address", None))
+ item = self.tableWidgetYourIdentities.horizontalHeaderItem(2)
+ item.setText(_translate("MainWindow", "Stream", None))
+ self.tabWidget.setTabText(self.tabWidget.indexOf(self.youridentities), _translate("MainWindow", "Your Identities", None))
+ self.label_5.setText(_translate("MainWindow", "Here you can subscribe to \'broadcast messages\' that are sent by other users. Messages will appear in your Inbox. Addresses here override those on the Blacklist tab.", None))
+ self.pushButtonAddSubscription.setText(_translate("MainWindow", "Add new Subscription", None))
+ self.tableWidgetSubscriptions.setSortingEnabled(True)
+ item = self.tableWidgetSubscriptions.horizontalHeaderItem(0)
+ item.setText(_translate("MainWindow", "Label", None))
+ item = self.tableWidgetSubscriptions.horizontalHeaderItem(1)
+ item.setText(_translate("MainWindow", "Address", None))
+ item = self.tableWidgetSubscriptions.horizontalHeaderItem(2)
+ item.setText(_translate("MainWindow", "Receiving Identity", None))
+ self.tabWidget.setTabText(self.tabWidget.indexOf(self.subscriptions), _translate("MainWindow", "Subscriptions", None))
+ self.label_6.setText(_translate("MainWindow", "The Address book is useful for adding names or labels to other people\'s Bitmessage addresses so that you can recognize them more easily in your inbox. You can add entries here using the \'Add\' button, or from your inbox by right-clicking on a message.", None))
+ self.pushButtonAddAddressBook.setText(_translate("MainWindow", "Add new entry", None))
+ self.tableWidgetAddressBook.setSortingEnabled(True)
+ item = self.tableWidgetAddressBook.horizontalHeaderItem(0)
+ item.setText(_translate("MainWindow", "Name or Label", None))
+ item = self.tableWidgetAddressBook.horizontalHeaderItem(1)
+ item.setText(_translate("MainWindow", "Address", None))
+ self.tabWidget.setTabText(self.tabWidget.indexOf(self.addressbook), _translate("MainWindow", "Address Book", None))
+ self.radioButtonBlacklist.setText(_translate("MainWindow", "Use a Blacklist (Allow all incoming messages except those on the Blacklist)", None))
+ self.radioButtonWhitelist.setText(_translate("MainWindow", "Use a Whitelist (Block all incoming messages except those on the Whitelist)", None))
+ self.pushButtonAddBlacklist.setText(_translate("MainWindow", "Add new entry", None))
+ self.tableWidgetBlacklist.setSortingEnabled(True)
+ item = self.tableWidgetBlacklist.horizontalHeaderItem(0)
+ item.setText(_translate("MainWindow", "Name or Label", None))
+ item = self.tableWidgetBlacklist.horizontalHeaderItem(1)
+ item.setText(_translate("MainWindow", "Address", None))
+ self.tabWidget.setTabText(self.tabWidget.indexOf(self.blackwhitelist), _translate("MainWindow", "Blacklist", None))
+ item = self.tableWidgetConnectionCount.horizontalHeaderItem(0)
+ item.setText(_translate("MainWindow", "Stream #", None))
+ item = self.tableWidgetConnectionCount.horizontalHeaderItem(1)
+ item.setText(_translate("MainWindow", "Connections", None))
+ self.labelTotalConnections.setText(_translate("MainWindow", "Total connections: 0", None))
+ self.labelStartupTime.setText(_translate("MainWindow", "Since startup at asdf:", None))
+ self.labelMessageCount.setText(_translate("MainWindow", "Processed 0 person-to-person message.", None))
+ self.labelPubkeyCount.setText(_translate("MainWindow", "Processed 0 public key.", None))
+ self.labelBroadcastCount.setText(_translate("MainWindow", "Processed 0 broadcast.", None))
+ self.tabWidget.setTabText(self.tabWidget.indexOf(self.networkstatus), _translate("MainWindow", "Network Status", None))
+ self.menuFile.setTitle(_translate("MainWindow", "File", None))
+ self.menuSettings.setTitle(_translate("MainWindow", "Settings", None))
+ self.menuHelp.setTitle(_translate("MainWindow", "Help", None))
+ self.actionImport_keys.setText(_translate("MainWindow", "Import keys", None))
+ self.actionManageKeys.setText(_translate("MainWindow", "Manage keys", None))
+ self.actionExit.setText(_translate("MainWindow", "Quit", None))
+ self.actionHelp.setText(_translate("MainWindow", "Help", None))
+ self.actionAbout.setText(_translate("MainWindow", "About", None))
+ self.actionSettings.setText(_translate("MainWindow", "Settings", None))
+ self.actionRegenerateDeterministicAddresses.setText(_translate("MainWindow", "Regenerate deterministic addresses", None))
+ self.actionDeleteAllTrashedMessages.setText(_translate("MainWindow", "Delete all trashed messages", None))
+
+import bitmessage_icons_rc
diff --git a/src/bitmessageqt/bitmessageui.ui b/src/bitmessageqt/bitmessageui.ui
index 48f5c224..6be46139 100644
--- a/src/bitmessageqt/bitmessageui.ui
+++ b/src/bitmessageqt/bitmessageui.ui
@@ -535,7 +535,7 @@ p, li { white-space: pre-wrap; }
true
- 400
+ 245
false
@@ -559,6 +559,11 @@ p, li { white-space: pre-wrap; }
Address
+
+
+ Receiving Identity
+
+
diff --git a/src/bitmessageqt/newsubscriptiondialog.py b/src/bitmessageqt/newsubscriptiondialog.py
index b849d50f..76a748de 100644
--- a/src/bitmessageqt/newsubscriptiondialog.py
+++ b/src/bitmessageqt/newsubscriptiondialog.py
@@ -1,60 +1,76 @@
-# -*- coding: utf-8 -*-
-
-# Form implementation generated from reading ui file 'newsubscriptiondialog.ui'
-#
-# Created: Fri Oct 19 15:30:41 2012
-# by: PyQt4 UI code generator 4.9.4
-#
-# WARNING! All changes made in this file will be lost!
-
-from PyQt4 import QtCore, QtGui
-
-try:
- _fromUtf8 = QtCore.QString.fromUtf8
-except AttributeError:
- _fromUtf8 = lambda s: s
-
-class Ui_NewSubscriptionDialog(object):
- def setupUi(self, NewSubscriptionDialog):
- NewSubscriptionDialog.setObjectName(_fromUtf8("NewSubscriptionDialog"))
- NewSubscriptionDialog.resize(368, 192)
- self.formLayout = QtGui.QFormLayout(NewSubscriptionDialog)
- self.formLayout.setFieldGrowthPolicy(QtGui.QFormLayout.AllNonFixedFieldsGrow)
- self.formLayout.setObjectName(_fromUtf8("formLayout"))
- self.label_2 = QtGui.QLabel(NewSubscriptionDialog)
- self.label_2.setObjectName(_fromUtf8("label_2"))
- self.formLayout.setWidget(0, QtGui.QFormLayout.SpanningRole, self.label_2)
- self.newsubscriptionlabel = QtGui.QLineEdit(NewSubscriptionDialog)
- self.newsubscriptionlabel.setObjectName(_fromUtf8("newsubscriptionlabel"))
- self.formLayout.setWidget(2, QtGui.QFormLayout.SpanningRole, self.newsubscriptionlabel)
- self.label = QtGui.QLabel(NewSubscriptionDialog)
- self.label.setObjectName(_fromUtf8("label"))
- self.formLayout.setWidget(4, QtGui.QFormLayout.LabelRole, self.label)
- spacerItem = QtGui.QSpacerItem(302, 10, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
- self.formLayout.setItem(4, QtGui.QFormLayout.FieldRole, spacerItem)
- self.lineEditSubscriptionAddress = QtGui.QLineEdit(NewSubscriptionDialog)
- self.lineEditSubscriptionAddress.setObjectName(_fromUtf8("lineEditSubscriptionAddress"))
- self.formLayout.setWidget(5, QtGui.QFormLayout.SpanningRole, self.lineEditSubscriptionAddress)
- self.buttonBox = QtGui.QDialogButtonBox(NewSubscriptionDialog)
- self.buttonBox.setOrientation(QtCore.Qt.Horizontal)
- self.buttonBox.setStandardButtons(QtGui.QDialogButtonBox.Cancel|QtGui.QDialogButtonBox.Ok)
- self.buttonBox.setObjectName(_fromUtf8("buttonBox"))
- self.formLayout.setWidget(8, QtGui.QFormLayout.FieldRole, self.buttonBox)
- spacerItem1 = QtGui.QSpacerItem(20, 10, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
- self.formLayout.setItem(7, QtGui.QFormLayout.FieldRole, spacerItem1)
- self.labelSubscriptionAddressCheck = QtGui.QLabel(NewSubscriptionDialog)
- self.labelSubscriptionAddressCheck.setText(_fromUtf8(""))
- self.labelSubscriptionAddressCheck.setWordWrap(True)
- self.labelSubscriptionAddressCheck.setObjectName(_fromUtf8("labelSubscriptionAddressCheck"))
- self.formLayout.setWidget(6, QtGui.QFormLayout.SpanningRole, self.labelSubscriptionAddressCheck)
-
- 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(QtGui.QApplication.translate("NewSubscriptionDialog", "Add new entry", None, QtGui.QApplication.UnicodeUTF8))
- self.label_2.setText(QtGui.QApplication.translate("NewSubscriptionDialog", "Label", None, QtGui.QApplication.UnicodeUTF8))
- self.label.setText(QtGui.QApplication.translate("NewSubscriptionDialog", "Address", None, QtGui.QApplication.UnicodeUTF8))
-
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file 'newsubscriptiondialog.ui'
+#
+# Created: Wed Jul 10 18:56:32 2013
+# by: PyQt4 UI code generator 4.10.1
+#
+# WARNING! All changes made in this file will be lost!
+
+from PyQt4 import QtCore, QtGui
+
+try:
+ _fromUtf8 = QtCore.QString.fromUtf8
+except AttributeError:
+ def _fromUtf8(s):
+ return s
+
+try:
+ _encoding = QtGui.QApplication.UnicodeUTF8
+ def _translate(context, text, disambig):
+ return QtGui.QApplication.translate(context, text, disambig, _encoding)
+except AttributeError:
+ def _translate(context, text, disambig):
+ return QtGui.QApplication.translate(context, text, disambig)
+
+class Ui_NewSubscriptionDialog(object):
+ def setupUi(self, NewSubscriptionDialog):
+ NewSubscriptionDialog.setObjectName(_fromUtf8("NewSubscriptionDialog"))
+ NewSubscriptionDialog.resize(413, 208)
+ self.formLayout = QtGui.QFormLayout(NewSubscriptionDialog)
+ self.formLayout.setFieldGrowthPolicy(QtGui.QFormLayout.AllNonFixedFieldsGrow)
+ self.formLayout.setObjectName(_fromUtf8("formLayout"))
+ self.label_2 = QtGui.QLabel(NewSubscriptionDialog)
+ self.label_2.setObjectName(_fromUtf8("label_2"))
+ self.formLayout.setWidget(0, QtGui.QFormLayout.SpanningRole, self.label_2)
+ self.newsubscriptionlabel = QtGui.QLineEdit(NewSubscriptionDialog)
+ self.newsubscriptionlabel.setObjectName(_fromUtf8("newsubscriptionlabel"))
+ self.formLayout.setWidget(2, QtGui.QFormLayout.SpanningRole, self.newsubscriptionlabel)
+ self.label = QtGui.QLabel(NewSubscriptionDialog)
+ self.label.setObjectName(_fromUtf8("label"))
+ self.formLayout.setWidget(4, QtGui.QFormLayout.LabelRole, self.label)
+ spacerItem = QtGui.QSpacerItem(302, 10, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
+ self.formLayout.setItem(4, QtGui.QFormLayout.FieldRole, spacerItem)
+ self.lineEditSubscriptionAddress = QtGui.QLineEdit(NewSubscriptionDialog)
+ self.lineEditSubscriptionAddress.setObjectName(_fromUtf8("lineEditSubscriptionAddress"))
+ self.formLayout.setWidget(5, QtGui.QFormLayout.SpanningRole, self.lineEditSubscriptionAddress)
+ self.labelSubscriptionAddressCheck = QtGui.QLabel(NewSubscriptionDialog)
+ self.labelSubscriptionAddressCheck.setText(_fromUtf8(""))
+ self.labelSubscriptionAddressCheck.setWordWrap(True)
+ self.labelSubscriptionAddressCheck.setObjectName(_fromUtf8("labelSubscriptionAddressCheck"))
+ self.formLayout.setWidget(6, QtGui.QFormLayout.SpanningRole, self.labelSubscriptionAddressCheck)
+ self.buttonBox = QtGui.QDialogButtonBox(NewSubscriptionDialog)
+ self.buttonBox.setOrientation(QtCore.Qt.Horizontal)
+ self.buttonBox.setStandardButtons(QtGui.QDialogButtonBox.Cancel|QtGui.QDialogButtonBox.Ok)
+ self.buttonBox.setObjectName(_fromUtf8("buttonBox"))
+ self.formLayout.setWidget(10, QtGui.QFormLayout.FieldRole, self.buttonBox)
+ spacerItem1 = QtGui.QSpacerItem(20, 10, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
+ self.formLayout.setItem(9, QtGui.QFormLayout.SpanningRole, spacerItem1)
+ 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))
+
diff --git a/src/bitmessageqt/newsubscriptiondialog.ui b/src/bitmessageqt/newsubscriptiondialog.ui
index 84475e09..24f5b848 100644
--- a/src/bitmessageqt/newsubscriptiondialog.ui
+++ b/src/bitmessageqt/newsubscriptiondialog.ui
@@ -6,8 +6,8 @@
0
0
- 368
- 192
+ 413
+ 208
@@ -50,7 +50,17 @@
-
- -
+
-
+
+
+
+
+
+ true
+
+
+
+ -
Qt::Horizontal
@@ -60,7 +70,7 @@
- -
+
-
Qt::Vertical
@@ -73,13 +83,13 @@
- -
-
+
-
+
+
+ -
+
-
-
-
- true
+ Receiving Identity
diff --git a/src/class_pop3Server.py b/src/class_pop3Server.py
index 5768d253..4f5ce428 100644
--- a/src/class_pop3Server.py
+++ b/src/class_pop3Server.py
@@ -293,7 +293,7 @@ class bitmessagePOP3Server(asyncore.dispatcher):
_ = bitmessagePOP3Connection(sock, peer_address, debug=self.debug)
@staticmethod
- def reformatMessageForReceipt(toAddress, fromAddress, body, subject):
+ def reformatMessageForReceipt(toAddress, fromAddress, body, subject, broadcast=False):
message = parser.Parser().parsestr(body)
with shared.printLock:
print(message)
@@ -310,7 +310,8 @@ class bitmessagePOP3Server(asyncore.dispatcher):
# Checksum to make sure incoming message hasn't been tampered with
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
if c == checksum:
@@ -323,33 +324,58 @@ class bitmessagePOP3Server(asyncore.dispatcher):
if 'Date' in message and 'From' in message:
body_is_valid = True
- if not body_is_valid:
- fromLabel = '{}@{}'.format(getBase58Capitaliation(fromAddress), fromAddress)
-
- t = (fromAddress,)
+ mailingListName = None
+ if broadcast:
+ # Determine a mailing list label, just in case
with shared.sqlLock:
+ t = (fromAddress,toAddress)
shared.sqlSubmitQueue.put(
- '''SELECT label FROM addressbook WHERE address=?''')
+ '''SELECT label FROM subscriptions WHERE address=? AND receiving_identity=?''')
shared.sqlSubmitQueue.put(t)
queryreturn = shared.sqlReturnQueue.get()
for row in queryreturn:
- fromLabel = '{} <{}>'.format(row[0], fromLabel)
+ mailingListName = row[0]
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['Date'] = utils.formatdate()
+ message['Date'] = utils.formatdate(localtime=False)
message['X-Bitmessage-Subject'] = subject
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)
- try:
- toLabel = '{} <{}>'.format(shared.config.get(toAddress, 'label'), toLabel)
- except:
- pass
+ if broadcast:
+ # The To: field on a broadcast is the mailing list, not you
+ toLabel = '{}@{}'.format(getBase58Capitaliation(fromAddress), fromAddress)
+ if mailingListName is not None:
+ 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
# Return-Path
diff --git a/src/class_receiveDataThread.py b/src/class_receiveDataThread.py
index 8fee0ad5..187eceac 100644
--- a/src/class_receiveDataThread.py
+++ b/src/class_receiveDataThread.py
@@ -702,27 +702,58 @@ class receiveDataThread(threading.Thread):
body = 'Unknown encoding type.\n\n' + repr(message)
subject = ''
- toAddress = '[Broadcast subscribers]'
if messageEncodingType != 0:
-
- t = (self.inventoryHash, toAddress, fromAddress, subject, int(
- time.time()), body, 'inbox', messageEncodingType, 0)
- helper_inbox.insert(t)
-
- shared.UISignalQueue.put(('displayNewInboxMessage', (
- self.inventoryHash, toAddress, fromAddress, subject, body)))
+ t = (fromAddress,)
+ shared.sqlLock.acquire()
+ shared.sqlSubmitQueue.put(
+ '''SELECT receiving_identity FROM subscriptions WHERE address=?''')
+ shared.sqlSubmitQueue.put(t)
+ queryreturn = shared.sqlReturnQueue.get()
+ shared.sqlLock.release()
- # 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"])
+ print('queryreturn: {}'.format(queryreturn))
+ for row in queryreturn:
+ receivingIdentity, = row
+
+ if receivingIdentity == '':
+ toAddress = '[Broadcast subscribers]'
+ formattedBody = body
+ formattedSubject = subject
+ elif not shared.safeConfigGetBoolean(receivingIdentity, 'enabled'):
+ continue
+ 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
with shared.printLock:
diff --git a/src/class_sqlThread.py b/src/class_sqlThread.py
index 84014a8c..cef7e98d 100644
--- a/src/class_sqlThread.py
+++ b/src/class_sqlThread.py
@@ -219,6 +219,18 @@ class sqlThread(threading.Thread):
parameters = (int(time.time()),)
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:
item = shared.sqlSubmitQueue.get()
if item == 'commit':