diff --git a/src/bitmessageqt/__init__.py b/src/bitmessageqt/__init__.py index 3e513295..5d48ee30 100644 --- a/src/bitmessageqt/__init__.py +++ b/src/bitmessageqt/__init__.py @@ -116,6 +116,10 @@ class MyForm(QtGui.QMainWindow): pass self.ui.labelSendBroadcastWarning.setVisible(False) + self.ui.removeBeforeSend.setChecked(shared.config.getboolean('bitmessagesettings', + 'removebeforesend')) + self.ui.pushButtonSend.setEnabled(not shared.config.getboolean('bitmessagesettings', + 'removebeforesend')) # FILE MENU and other buttons QtCore.QObject.connect(self.ui.actionExit, QtCore.SIGNAL( @@ -156,7 +160,9 @@ class MyForm(QtGui.QMainWindow): "triggered()"), self.click_actionAbout) QtCore.QObject.connect(self.ui.actionHelp, QtCore.SIGNAL( "triggered()"), self.click_actionHelp) - + QtCore.QObject.connect(self.ui.removeBeforeSend, QtCore.SIGNAL( + "toggled(bool)"), self.enableSendButton) + # Popup menu for the Inbox tab self.ui.inboxContextMenuToolbar = QtGui.QToolBar() # Actions @@ -1163,7 +1169,7 @@ class MyForm(QtGui.QMainWindow): addressVersionNumber = int( self.regenerateAddressesDialogInstance.ui.lineEditAddressVersionNumber.text()) # self.addressGenerator = addressGenerator() - # self.addressGenerator.setup(addressVersionNumber,streamNumberForAddress,"unused address",self.regenerateAddressesDialogInstance.ui.spinBoxNumberOfAddressesToMake.value(),self.regenerateAddressesDialogInstance.ui.lineEditPassphrase.text().toUtf8(),self.regenerateAddressesDialogInstance.ui.checkBoxEighteenByteRipe.isChecked()) + # self.addressGenerator.setup(addressVersionNumber,streamNumberForAddress,"unused address",self.regenerateAddressesDialogInstance.ui.spinBoxNumberOfAddressesToMake.value(),self.regenerateAddressesDialogInstance.ui.lineEditPassphrase.text().toUtf8(),self.regenerateAddressesDialogInstance.ui.EighteenByteRipe.isChecked()) # QtCore.QObject.connect(self.addressGenerator, SIGNAL("writeNewAddressToTable(PyQt_PyObject,PyQt_PyObject,PyQt_PyObject)"), self.writeNewAddressToTable) # QtCore.QObject.connect(self.addressGenerator, QtCore.SIGNAL("updateStatusBar(PyQt_PyObject)"), self.updateStatusBar) # self.addressGenerator.start() @@ -1535,6 +1541,9 @@ class MyForm(QtGui.QMainWindow): newItem.setTextColor(QtGui.QColor(128, 128, 128)) self.ui.tableWidgetSubscriptions.setItem(0, 1, newItem) + def enableSendButton(self): + self.ui.pushButtonSend.setEnabled(not self.ui.removeBeforeSend.isChecked()) + def click_pushButtonSend(self): self.statusBar().showMessage('') toAddresses = str(self.ui.lineEditTo.text()) @@ -1634,6 +1643,8 @@ class MyForm(QtGui.QMainWindow): self.ui.lineEditTo.setText('') self.ui.lineEditSubject.setText('') self.ui.textEditMessage.setText('') + self.ui.removeBeforeSend.setChecked(shared.config.getboolean('bitmessagesettings', + 'removebeforesend')) self.ui.tabWidget.setCurrentIndex(2) self.ui.tableWidgetSent.setCurrentCell(0, 0) else: @@ -2031,11 +2042,11 @@ class MyForm(QtGui.QMainWindow): self.settingsDialogInstance.ui.checkBoxStartInTray.isChecked())) shared.config.set('bitmessagesettings', 'willinglysendtomobile', str( self.settingsDialogInstance.ui.checkBoxWillinglySendToMobile.isChecked())) - + shared.config.set('bitmessagesettings', 'removebeforesend', str( + self.settingsDialogInstance.ui.checkBoxRemoveBeforeSendSetting.isChecked())) lang_ind = int(self.settingsDialogInstance.ui.languageComboBox.currentIndex()) if not languages[lang_ind] == 'other': shared.config.set('bitmessagesettings', 'userlocale', languages[lang_ind]) - if int(shared.config.get('bitmessagesettings', 'port')) != int(self.settingsDialogInstance.ui.lineEditTCPPort.text()): if not shared.safeConfigGetBoolean('bitmessagesettings', 'dontconnect'): QMessageBox.about(self, _translate("MainWindow", "Restart"), _translate( @@ -3046,7 +3057,9 @@ class settingsDialog(QtGui.QDialog): shared.config.getboolean('bitmessagesettings', 'startintray')) self.ui.checkBoxWillinglySendToMobile.setChecked( shared.safeConfigGetBoolean('bitmessagesettings', 'willinglysendtomobile')) - + self.ui.checkBoxRemoveBeforeSendSetting.setChecked( + shared.safeConfigGetBoolean('bitmessagesettings', 'removebeforesend')) + global languages languages = ['system','en','eo','fr','de','es','ru','en_pirate','other'] user_countrycode = str(shared.config.get('bitmessagesettings', 'userlocale')) diff --git a/src/bitmessageqt/bitmessageui.py b/src/bitmessageqt/bitmessageui.py index c051c076..c1a77669 100644 --- a/src/bitmessageqt/bitmessageui.py +++ b/src/bitmessageqt/bitmessageui.py @@ -2,7 +2,7 @@ # Form implementation generated from reading ui file 'bitmessageui.ui' # -# Created: Mon Aug 12 00:08:20 2013 +# Created: Thu Aug 29 14:14:15 2013 # by: PyQt4 UI code generator 4.10.2 # # WARNING! All changes made in this file will be lost! @@ -26,7 +26,7 @@ except AttributeError: class Ui_MainWindow(object): def setupUi(self, MainWindow): MainWindow.setObjectName(_fromUtf8("MainWindow")) - MainWindow.resize(795, 580) + MainWindow.resize(810, 580) icon = QtGui.QIcon() icon.addPixmap(QtGui.QPixmap(_fromUtf8(":/newPrefix/images/can-icon-24px.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off) MainWindow.setWindowIcon(icon) @@ -140,7 +140,7 @@ class Ui_MainWindow(object): 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.gridLayout_2.addWidget(self.textEditMessage, 5, 1, 2, 6) self.label = QtGui.QLabel(self.send) self.label.setObjectName(_fromUtf8("label")) self.gridLayout_2.addWidget(self.label, 3, 0, 1, 1) @@ -155,12 +155,13 @@ class Ui_MainWindow(object): 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) + self.gridLayout_2.addWidget(self.lineEditSubject, 4, 1, 1, 6) 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.setEnabled(False) self.pushButtonSend.setObjectName(_fromUtf8("pushButtonSend")) - self.gridLayout_2.addWidget(self.pushButtonSend, 7, 5, 1, 1) + self.gridLayout_2.addWidget(self.pushButtonSend, 7, 6, 1, 1) self.labelSendBroadcastWarning = QtGui.QLabel(self.send) self.labelSendBroadcastWarning.setEnabled(True) sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Ignored, QtGui.QSizePolicy.Preferred) @@ -171,6 +172,11 @@ class Ui_MainWindow(object): self.labelSendBroadcastWarning.setIndent(-1) self.labelSendBroadcastWarning.setObjectName(_fromUtf8("labelSendBroadcastWarning")) self.gridLayout_2.addWidget(self.labelSendBroadcastWarning, 7, 1, 1, 4) + self.removeBeforeSend = QtGui.QCheckBox(self.send) + self.removeBeforeSend.setEnabled(True) + self.removeBeforeSend.setChecked(True) + self.removeBeforeSend.setObjectName(_fromUtf8("removeBeforeSend")) + self.gridLayout_2.addWidget(self.removeBeforeSend, 3, 6, 1, 1) 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("")) @@ -428,7 +434,7 @@ class Ui_MainWindow(object): 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.setGeometry(QtCore.QRect(0, 0, 810, 18)) self.menubar.setObjectName(_fromUtf8("menubar")) self.menuFile = QtGui.QMenu(self.menubar) self.menuFile.setObjectName(_fromUtf8("menuFile")) @@ -490,7 +496,7 @@ class Ui_MainWindow(object): self.menubar.addAction(self.menuHelp.menuAction()) self.retranslateUi(MainWindow) - self.tabWidget.setCurrentIndex(0) + self.tabWidget.setCurrentIndex(1) 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) @@ -553,6 +559,7 @@ class Ui_MainWindow(object): 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.removeBeforeSend.setText(_translate("MainWindow", "Remove before Sending", None)) self.tabWidget.setTabText(self.tabWidget.indexOf(self.send), _translate("MainWindow", "Send", None)) self.sentSearchLineEdit.setPlaceholderText(_translate("MainWindow", "Search", None)) self.sentSearchOptionCB.setItemText(0, _translate("MainWindow", "All", None)) @@ -630,3 +637,13 @@ class Ui_MainWindow(object): self.actionJoinChan.setText(_translate("MainWindow", "Join / Create chan", 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_()) + diff --git a/src/bitmessageqt/bitmessageui.ui b/src/bitmessageqt/bitmessageui.ui index 683703d8..a2217185 100644 --- a/src/bitmessageqt/bitmessageui.ui +++ b/src/bitmessageqt/bitmessageui.ui @@ -6,7 +6,7 @@ 0 0 - 795 + 810 580 @@ -57,7 +57,7 @@ QTabWidget::Rounded - 0 + 1 @@ -263,7 +263,7 @@ - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> @@ -308,7 +308,7 @@ p, li { white-space: pre-wrap; } - + @@ -328,8 +328,11 @@ p, li { white-space: pre-wrap; } - + + + true + Send @@ -354,6 +357,19 @@ p, li { white-space: pre-wrap; } + + + + true + + + Remove before Sending + + + true + + + @@ -1022,7 +1038,7 @@ p, li { white-space: pre-wrap; } 0 0 - 795 + 810 18 diff --git a/src/bitmessageqt/settings.py b/src/bitmessageqt/settings.py index ad597773..b80c834a 100644 --- a/src/bitmessageqt/settings.py +++ b/src/bitmessageqt/settings.py @@ -2,7 +2,7 @@ # Form implementation generated from reading ui file 'settings.ui' # -# Created: Sat Aug 24 09:19:58 2013 +# Created: Thu Aug 29 14:40:14 2013 # by: PyQt4 UI code generator 4.10.2 # # WARNING! All changes made in this file will be lost! @@ -26,7 +26,7 @@ except AttributeError: class Ui_settingsDialog(object): def setupUi(self, settingsDialog): settingsDialog.setObjectName(_fromUtf8("settingsDialog")) - settingsDialog.resize(567, 343) + settingsDialog.resize(572, 343) self.gridLayout = QtGui.QGridLayout(settingsDialog) self.gridLayout.setObjectName(_fromUtf8("gridLayout")) self.buttonBox = QtGui.QDialogButtonBox(settingsDialog) @@ -83,6 +83,9 @@ class Ui_settingsDialog(object): self.languageComboBox.addItem(_fromUtf8("")) self.horizontalLayout_2.addWidget(self.languageComboBox) self.gridLayout_5.addWidget(self.groupBox, 10, 1, 1, 1) + self.checkBoxRemoveBeforeSendSetting = QtGui.QCheckBox(self.tabUserInterface) + self.checkBoxRemoveBeforeSendSetting.setObjectName(_fromUtf8("checkBoxRemoveBeforeSendSetting")) + self.gridLayout_5.addWidget(self.checkBoxRemoveBeforeSendSetting, 7, 0, 1, 1) self.tabWidgetSettings.addTab(self.tabUserInterface, _fromUtf8("")) self.tabNetworkSettings = QtGui.QWidget() self.tabNetworkSettings.setObjectName(_fromUtf8("tabNetworkSettings")) @@ -353,6 +356,7 @@ class Ui_settingsDialog(object): self.languageComboBox.setItemText(6, _translate("settingsDialog", "Russian", "ru")) self.languageComboBox.setItemText(7, _translate("settingsDialog", "Pirate English", "en_pirate")) self.languageComboBox.setItemText(8, _translate("settingsDialog", "Other (set in keys.dat)", "other")) + self.checkBoxRemoveBeforeSendSetting.setText(_translate("settingsDialog", "Add safety badge that needs to be removed before sending messages", None)) self.tabWidgetSettings.setTabText(self.tabWidgetSettings.indexOf(self.tabUserInterface), _translate("settingsDialog", "User Interface", None)) self.groupBox1.setTitle(_translate("settingsDialog", "Listening port", None)) self.label.setText(_translate("settingsDialog", "Listen for connections on port:", None)) diff --git a/src/bitmessageqt/settings.ui b/src/bitmessageqt/settings.ui index eec38d8d..e47c9e5d 100644 --- a/src/bitmessageqt/settings.ui +++ b/src/bitmessageqt/settings.ui @@ -6,7 +6,7 @@ 0 0 - 567 + 572 343 @@ -163,6 +163,13 @@ + + + + Add safety badge that needs to be removed before sending messages + + + diff --git a/src/helper_startup.py b/src/helper_startup.py index 24dc0156..a898c4c8 100644 --- a/src/helper_startup.py +++ b/src/helper_startup.py @@ -71,6 +71,7 @@ def loadConfig(): 'bitmessagesettings', 'maxacceptablepayloadlengthextrabytes', '0') shared.config.set('bitmessagesettings', 'dontconnect', 'true') shared.config.set('bitmessagesettings', 'userlocale', 'system') + shared.config.set('bitmessagesettings', 'removebeforesend', 'false') ensureNamecoinOptions() if storeConfigFilesInSameDirectoryAsProgramByDefault: