diff --git a/src/bitmessageqt/__init__.py b/src/bitmessageqt/__init__.py index 164ef753..fb87fef8 100644 --- a/src/bitmessageqt/__init__.py +++ b/src/bitmessageqt/__init__.py @@ -1686,7 +1686,7 @@ class MyForm(settingsmixin.SMainWindow): QIcon(":/newPrefix/images/redicon.png")) shared.statusIconColor = 'red' # if the connection is lost then show a notification - if self.connected: + if self.connected and not shared.config.getboolean('bitmessagesettings', 'hidetrayconnectionnotifications'): self.notifierShow('Bitmessage', unicode(_translate( "MainWindow", "Connection lost").toUtf8(),'utf-8'), self.SOUND_DISCONNECTED, None) @@ -1703,7 +1703,7 @@ class MyForm(settingsmixin.SMainWindow): ":/newPrefix/images/yellowicon.png")) shared.statusIconColor = 'yellow' # if a new connection has been established then show a notification - if not self.connected: + if not self.connected and not shared.config.getboolean('bitmessagesettings', 'hidetrayconnectionnotifications'): self.notifierShow('Bitmessage', unicode(_translate( "MainWindow", "Connected").toUtf8(),'utf-8'), self.SOUND_CONNECTED, None) @@ -1719,7 +1719,7 @@ class MyForm(settingsmixin.SMainWindow): self.pushButtonStatusIcon.setIcon( QIcon(":/newPrefix/images/greenicon.png")) shared.statusIconColor = 'green' - if not self.connected: + if not self.connected and not shared.config.getboolean('bitmessagesettings', 'hidetrayconnectionnotifications'): self.notifierShow('Bitmessage', unicode(_translate( "MainWindow", "Connected").toUtf8(),'utf-8'), self.SOUND_CONNECTION_GREEN, None) @@ -2361,6 +2361,8 @@ class MyForm(settingsmixin.SMainWindow): self.settingsDialogInstance.ui.checkBoxMinimizeToTray.isChecked())) shared.config.set('bitmessagesettings', 'trayonclose', str( self.settingsDialogInstance.ui.checkBoxTrayOnClose.isChecked())) + shared.config.set('bitmessagesettings', 'hidetrayconnectionnotifications', str( + self.settingsDialogInstance.ui.checkBoxHideTrayConnectionNotifications.isChecked())) shared.config.set('bitmessagesettings', 'showtraynotifications', str( self.settingsDialogInstance.ui.checkBoxShowTrayNotifications.isChecked())) shared.config.set('bitmessagesettings', 'startintray', str( @@ -3990,6 +3992,8 @@ class settingsDialog(QtGui.QDialog): shared.config.getboolean('bitmessagesettings', 'minimizetotray')) self.ui.checkBoxTrayOnClose.setChecked( shared.safeConfigGetBoolean('bitmessagesettings', 'trayonclose')) + self.ui.checkBoxHideTrayConnectionNotifications.setChecked( + shared.config.getboolean("bitmessagesettings", "hidetrayconnectionnotifications")) self.ui.checkBoxShowTrayNotifications.setChecked( shared.config.getboolean('bitmessagesettings', 'showtraynotifications')) self.ui.checkBoxStartInTray.setChecked( diff --git a/src/bitmessageqt/settings.py b/src/bitmessageqt/settings.py index 6b7dd9b3..9b86ea5a 100644 --- a/src/bitmessageqt/settings.py +++ b/src/bitmessageqt/settings.py @@ -61,6 +61,10 @@ class Ui_settingsDialog(object): self.checkBoxTrayOnClose.setObjectName(_fromUtf8("checkBoxTrayOnClose")) self.formLayoutTray.setWidget(2, QtGui.QFormLayout.LabelRole, self.checkBoxTrayOnClose) self.formLayout.setWidget(1, QtGui.QFormLayout.SpanningRole, self.groupBoxTray) + self.checkBoxHideTrayConnectionNotifications = QtGui.QCheckBox(self.tabUserInterface) + self.checkBoxHideTrayConnectionNotifications.setChecked(False) + self.checkBoxHideTrayConnectionNotifications.setObjectName(_fromUtf8("checkBoxHideTrayConnectionNotifications")) + self.formLayout.setWidget(2, QtGui.QFormLayout.LabelRole, self.checkBoxHideTrayConnectionNotifications) self.checkBoxShowTrayNotifications = QtGui.QCheckBox(self.tabUserInterface) self.checkBoxShowTrayNotifications.setObjectName(_fromUtf8("checkBoxShowTrayNotifications")) self.formLayout.setWidget(3, QtGui.QFormLayout.LabelRole, self.checkBoxShowTrayNotifications) @@ -433,6 +437,7 @@ class Ui_settingsDialog(object): self.checkBoxStartInTray.setText(_translate("settingsDialog", "Start Bitmessage in the tray (don\'t show main window)", None)) self.checkBoxMinimizeToTray.setText(_translate("settingsDialog", "Minimize to tray", None)) self.checkBoxTrayOnClose.setText(_translate("settingsDialog", "Close to tray", None)) + self.checkBoxHideTrayConnectionNotifications.setText(_translate("settingsDialog", "Hide connection notifications", None)) self.checkBoxShowTrayNotifications.setText(_translate("settingsDialog", "Show notification when message received", None)) self.checkBoxPortableMode.setText(_translate("settingsDialog", "Run in Portable Mode", None)) self.PortableModeDescription.setText(_translate("settingsDialog", "In Portable Mode, messages and config files are stored in the same directory as the program rather than the normal application-data folder. This makes it convenient to run Bitmessage from a USB thumb drive.", None)) diff --git a/src/class_sqlThread.py b/src/class_sqlThread.py index 016386ab..9d45cdcf 100644 --- a/src/class_sqlThread.py +++ b/src/class_sqlThread.py @@ -427,6 +427,8 @@ class sqlThread(threading.Thread): shared.config.set('bitmessagesettings', 'onionbindip', '127.0.0.1') if not shared.config.has_option('bitmessagesettings', 'smtpdeliver'): shared.config.set('bitmessagesettings', 'smtpdeliver', '') + if not shared.config.has_option('bitmessagesettings', 'hidetrayconnectionnotifications'): + shared.config.set('bitmessagesettings', 'hidetrayconnectionnotifications', 'false') shared.writeKeysFile() # Are you hoping to add a new option to the keys.dat file of existing