From 5c1e1206ef0e7f288cccc64dd8cc0b6ff0f37d67 Mon Sep 17 00:00:00 2001
From: Daniel Kraft
Date: Tue, 28 Jan 2014 20:32:16 +0100
Subject: [PATCH 1/2] Use patch for email-like quoting with '>' chars.
Apply the patch from https://github.com/Bitmessage/PyBitmessage/pull/271
for email-like "reply below text" with '>' quoting. The patch is
slightly modified compared to the referenced pull request.
---
src/bitmessageqt/__init__.py | 24 +++++++++++++++++++++++-
1 file changed, 23 insertions(+), 1 deletion(-)
diff --git a/src/bitmessageqt/__init__.py b/src/bitmessageqt/__init__.py
index 7125cb60..3d5180f6 100644
--- a/src/bitmessageqt/__init__.py
+++ b/src/bitmessageqt/__init__.py
@@ -34,6 +34,7 @@ import hashlib
from pyelliptic.openssl import OpenSSL
import pickle
import platform
+import textwrap
import debug
from debug import logger
import subprocess
@@ -2613,6 +2614,25 @@ class MyForm(QtGui.QMainWindow):
# We could also select upwards, but then our problem would be with the topmost message.
# self.ui.tableWidgetInbox.clearSelection() manages to mark the message as read again.
+ # Format predefined text on message reply.
+ def quoted_text(self, message):
+ quoteWrapper = textwrap.TextWrapper(replace_whitespace = False,
+ initial_indent = '> ',
+ subsequent_indent = '> ',
+ break_long_words = False,
+ break_on_hyphens = False)
+ def quote_line(line):
+ # Do quote empty lines.
+ if line == '' or line.isspace():
+ return '> '
+ # Quote already quoted lines, but do not wrap them.
+ elif line[0:2] == '> ':
+ return '> ' + line
+ # Wrap and quote lines/paragraphs new to this message.
+ else:
+ return quoteWrapper.fill(line)
+ return '\n'.join([quote_line(l) for l in message.splitlines()]) + '\n\n'
+
def on_action_InboxReply(self):
currentInboxRow = self.ui.tableWidgetInbox.currentRow()
toAddressAtCurrentInboxRow = str(self.ui.tableWidgetInbox.item(
@@ -2655,7 +2675,9 @@ class MyForm(QtGui.QMainWindow):
else:
self.ui.comboBoxSendFrom.setCurrentIndex(0)
- self.ui.textEditMessage.setText('\n\n------------------------------------------------------\n' + unicode(messageAtCurrentInboxRow, 'utf-8)'))
+ #self.ui.textEditMessage.setText('\n\n------------------------------------------------------\n' + unicode(messageAtCurrentInboxRow, 'utf-8)'))
+ quotedText = self.quoted_text(unicode(messageAtCurrentInboxRow, 'utf-8'))
+ self.ui.textEditMessage.setText(quotedText)
if self.ui.tableWidgetInbox.item(currentInboxRow, 2).text()[0:3] in ['Re:', 'RE:']:
self.ui.lineEditSubject.setText(
self.ui.tableWidgetInbox.item(currentInboxRow, 2).text())
From 6326147d6ff4e42c4787be4966c11dd0a346b5f5 Mon Sep 17 00:00:00 2001
From: Daniel Kraft
Date: Tue, 28 Jan 2014 20:57:01 +0100
Subject: [PATCH 2/2] Make reply below quote opt-in.
Add a new preference for 'reply below quote' and only use the new
quoting style if it is set.
---
src/bitmessageqt/__init__.py | 8 +-
src/bitmessageqt/settings.py | 147 +++++++++++++++++------------------
src/bitmessageqt/settings.ui | 9 ++-
src/helper_startup.py | 3 +-
4 files changed, 88 insertions(+), 79 deletions(-)
diff --git a/src/bitmessageqt/__init__.py b/src/bitmessageqt/__init__.py
index 3d5180f6..c33a60b5 100644
--- a/src/bitmessageqt/__init__.py
+++ b/src/bitmessageqt/__init__.py
@@ -2251,6 +2251,8 @@ class MyForm(QtGui.QMainWindow):
self.settingsDialogInstance.ui.checkBoxWillinglySendToMobile.isChecked()))
shared.config.set('bitmessagesettings', 'useidenticons', str(
self.settingsDialogInstance.ui.checkBoxUseIdenticons.isChecked()))
+ shared.config.set('bitmessagesettings', 'replybelow', str(
+ self.settingsDialogInstance.ui.checkBoxReplyBelow.isChecked()))
lang_ind = int(self.settingsDialogInstance.ui.languageComboBox.currentIndex())
if not languages[lang_ind] == 'other':
@@ -2616,6 +2618,9 @@ class MyForm(QtGui.QMainWindow):
# Format predefined text on message reply.
def quoted_text(self, message):
+ if not shared.safeConfigGetBoolean('bitmessagesettings', 'replybelow'):
+ return '\n\n------------------------------------------------------\n' + message
+
quoteWrapper = textwrap.TextWrapper(replace_whitespace = False,
initial_indent = '> ',
subsequent_indent = '> ',
@@ -2675,7 +2680,6 @@ class MyForm(QtGui.QMainWindow):
else:
self.ui.comboBoxSendFrom.setCurrentIndex(0)
- #self.ui.textEditMessage.setText('\n\n------------------------------------------------------\n' + unicode(messageAtCurrentInboxRow, 'utf-8)'))
quotedText = self.quoted_text(unicode(messageAtCurrentInboxRow, 'utf-8'))
self.ui.textEditMessage.setText(quotedText)
if self.ui.tableWidgetInbox.item(currentInboxRow, 2).text()[0:3] in ['Re:', 'RE:']:
@@ -3340,6 +3344,8 @@ class settingsDialog(QtGui.QDialog):
shared.safeConfigGetBoolean('bitmessagesettings', 'willinglysendtomobile'))
self.ui.checkBoxUseIdenticons.setChecked(
shared.safeConfigGetBoolean('bitmessagesettings', 'useidenticons'))
+ self.ui.checkBoxReplyBelow.setChecked(
+ shared.safeConfigGetBoolean('bitmessagesettings', 'replybelow'))
global languages
languages = ['system','en','eo','fr','de','es','ru','no','ar','zh_cn','en_pirate','other']
diff --git a/src/bitmessageqt/settings.py b/src/bitmessageqt/settings.py
index 293c133b..a79976cd 100644
--- a/src/bitmessageqt/settings.py
+++ b/src/bitmessageqt/settings.py
@@ -2,8 +2,8 @@
# Form implementation generated from reading ui file 'settings.ui'
#
-# Created: Mon Jan 20 14:26:31 2014
-# by: PyQt4 UI code generator 4.10.3
+# Created: Tue Jan 28 20:46:24 2014
+# by: PyQt4 UI code generator 4.9.3
#
# WARNING! All changes made in this file will be lost!
@@ -12,16 +12,7 @@ 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)
+ _fromUtf8 = lambda s: s
class Ui_settingsDialog(object):
def setupUi(self, settingsDialog):
@@ -72,6 +63,9 @@ class Ui_settingsDialog(object):
self.checkBoxUseIdenticons = QtGui.QCheckBox(self.tabUserInterface)
self.checkBoxUseIdenticons.setObjectName(_fromUtf8("checkBoxUseIdenticons"))
self.formLayout.setWidget(7, QtGui.QFormLayout.LabelRole, self.checkBoxUseIdenticons)
+ self.checkBoxReplyBelow = QtGui.QCheckBox(self.tabUserInterface)
+ self.checkBoxReplyBelow.setObjectName(_fromUtf8("checkBoxReplyBelow"))
+ self.formLayout.setWidget(8, QtGui.QFormLayout.LabelRole, self.checkBoxReplyBelow)
self.groupBox = QtGui.QGroupBox(self.tabUserInterface)
self.groupBox.setObjectName(_fromUtf8("groupBox"))
self.formLayout_2 = QtGui.QFormLayout(self.groupBox)
@@ -92,7 +86,7 @@ class Ui_settingsDialog(object):
self.languageComboBox.addItem(_fromUtf8(""))
self.languageComboBox.addItem(_fromUtf8(""))
self.formLayout_2.setWidget(0, QtGui.QFormLayout.LabelRole, self.languageComboBox)
- self.formLayout.setWidget(8, QtGui.QFormLayout.FieldRole, self.groupBox)
+ self.formLayout.setWidget(9, QtGui.QFormLayout.FieldRole, self.groupBox)
self.tabWidgetSettings.addTab(self.tabUserInterface, _fromUtf8(""))
self.tabNetworkSettings = QtGui.QWidget()
self.tabNetworkSettings.setObjectName(_fromUtf8("tabNetworkSettings"))
@@ -383,68 +377,69 @@ class Ui_settingsDialog(object):
settingsDialog.setTabOrder(self.checkBoxSocksListen, self.buttonBox)
def retranslateUi(self, settingsDialog):
- settingsDialog.setWindowTitle(_translate("settingsDialog", "Settings", None))
- self.checkBoxStartOnLogon.setText(_translate("settingsDialog", "Start Bitmessage on user login", None))
- 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.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))
- self.checkBoxWillinglySendToMobile.setText(_translate("settingsDialog", "Willingly include unencrypted destination address when sending to a mobile device", None))
- self.checkBoxUseIdenticons.setText(_translate("settingsDialog", "Use Identicons", None))
- self.groupBox.setTitle(_translate("settingsDialog", "Interface Language", None))
- self.languageComboBox.setItemText(0, _translate("settingsDialog", "System Settings", "system"))
- self.languageComboBox.setItemText(1, _translate("settingsDialog", "English", "en"))
- self.languageComboBox.setItemText(2, _translate("settingsDialog", "Esperanto", "eo"))
- self.languageComboBox.setItemText(3, _translate("settingsDialog", "Français", "fr"))
- self.languageComboBox.setItemText(4, _translate("settingsDialog", "Deutsch", "de"))
- self.languageComboBox.setItemText(5, _translate("settingsDialog", "Españl", "es"))
- self.languageComboBox.setItemText(6, _translate("settingsDialog", "русский язык", "ru"))
- self.languageComboBox.setItemText(7, _translate("settingsDialog", "Norsk", "no"))
- self.languageComboBox.setItemText(8, _translate("settingsDialog", "العربية", "ar"))
- self.languageComboBox.setItemText(9, _translate("settingsDialog", "简体中文", "zh_cn"))
- self.languageComboBox.setItemText(10, _translate("settingsDialog", "Pirate English", "en_pirate"))
- self.languageComboBox.setItemText(11, _translate("settingsDialog", "Other (set in keys.dat)", "other"))
- 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))
- self.groupBox_2.setTitle(_translate("settingsDialog", "Proxy server / Tor", None))
- self.label_2.setText(_translate("settingsDialog", "Type:", None))
- self.label_3.setText(_translate("settingsDialog", "Server hostname:", None))
- self.label_4.setText(_translate("settingsDialog", "Port:", None))
- self.checkBoxAuthentication.setText(_translate("settingsDialog", "Authentication", None))
- self.label_5.setText(_translate("settingsDialog", "Username:", None))
- self.label_6.setText(_translate("settingsDialog", "Pass:", None))
- self.checkBoxSocksListen.setText(_translate("settingsDialog", "Listen for incoming connections when using proxy", None))
- self.comboBoxProxyType.setItemText(0, _translate("settingsDialog", "none", None))
- self.comboBoxProxyType.setItemText(1, _translate("settingsDialog", "SOCKS4a", None))
- self.comboBoxProxyType.setItemText(2, _translate("settingsDialog", "SOCKS5", None))
- self.tabWidgetSettings.setTabText(self.tabWidgetSettings.indexOf(self.tabNetworkSettings), _translate("settingsDialog", "Network Settings", None))
- self.label_9.setText(_translate("settingsDialog", "Total difficulty:", None))
- self.label_10.setText(_translate("settingsDialog", "The \'Total difficulty\' affects the absolute amount of work the sender must complete. Doubling this value doubles the amount of work.", None))
- self.label_11.setText(_translate("settingsDialog", "Small message difficulty:", None))
- self.label_8.setText(_translate("settingsDialog", "When someone sends you a message, their computer must first complete some work. The difficulty of this work, by default, is 1. You may raise this default for new addresses you create by changing the values here. Any new addresses you create will require senders to meet the higher difficulty. There is one exception: if you add a friend or acquaintance to your address book, Bitmessage will automatically notify them when you next send a message that they need only complete the minimum amount of work: difficulty 1. ", None))
- self.label_12.setText(_translate("settingsDialog", "The \'Small message difficulty\' mostly only affects the difficulty of sending small messages. Doubling this value makes it almost twice as difficult to send a small message but doesn\'t really affect large messages.", None))
- self.tabWidgetSettings.setTabText(self.tabWidgetSettings.indexOf(self.tabDemandedDifficulty), _translate("settingsDialog", "Demanded difficulty", None))
- self.label_15.setText(_translate("settingsDialog", "Here you may set the maximum amount of work you are willing to do to send a message to another person. Setting these values to 0 means that any value is acceptable.", None))
- self.label_13.setText(_translate("settingsDialog", "Maximum acceptable total difficulty:", None))
- self.label_14.setText(_translate("settingsDialog", "Maximum acceptable small message difficulty:", None))
- self.tabWidgetSettings.setTabText(self.tabWidgetSettings.indexOf(self.tabMaxAcceptableDifficulty), _translate("settingsDialog", "Max acceptable difficulty", None))
- self.label_16.setText(_translate("settingsDialog", "Bitmessage can utilize a different Bitcoin-based program called Namecoin to make addresses human-friendly. For example, instead of having to tell your friend your long Bitmessage address, you can simply tell him to send a message to test.
(Getting your own Bitmessage address into Namecoin is still rather difficult).
Bitmessage can use either namecoind directly or a running nmcontrol instance.
", None))
- self.label_17.setText(_translate("settingsDialog", "Host:", None))
- self.label_18.setText(_translate("settingsDialog", "Port:", None))
- self.labelNamecoinUser.setText(_translate("settingsDialog", "Username:", None))
- self.labelNamecoinPassword.setText(_translate("settingsDialog", "Password:", None))
- self.pushButtonNamecoinTest.setText(_translate("settingsDialog", "Test", None))
- self.label_21.setText(_translate("settingsDialog", "Connect to:", None))
- self.radioButtonNamecoinNamecoind.setText(_translate("settingsDialog", "Namecoind", None))
- self.radioButtonNamecoinNmcontrol.setText(_translate("settingsDialog", "NMControl", None))
- self.tabWidgetSettings.setTabText(self.tabWidgetSettings.indexOf(self.tabNamecoin), _translate("settingsDialog", "Namecoin integration", None))
- self.label_7.setText(_translate("settingsDialog", "
By default, if you send a message to someone and he is offline for more than two days, Bitmessage will send the message again after an additional two days. This will be continued with exponential backoff forever; messages will be resent after 5, 10, 20 days ect. until the receiver acknowledges them. Here you may change that behavior by having Bitmessage give up after a certain number of days or months.
Leave these input fields blank for the default behavior.
", None))
- self.label_19.setText(_translate("settingsDialog", "Give up after", None))
- self.label_20.setText(_translate("settingsDialog", "and", None))
- self.label_22.setText(_translate("settingsDialog", "days", None))
- self.label_23.setText(_translate("settingsDialog", "months.", None))
- self.tabWidgetSettings.setTabText(self.tabWidgetSettings.indexOf(self.tabResendsExpire), _translate("settingsDialog", "Resends Expire", None))
+ settingsDialog.setWindowTitle(QtGui.QApplication.translate("settingsDialog", "Settings", None, QtGui.QApplication.UnicodeUTF8))
+ self.checkBoxStartOnLogon.setText(QtGui.QApplication.translate("settingsDialog", "Start Bitmessage on user login", None, QtGui.QApplication.UnicodeUTF8))
+ self.checkBoxStartInTray.setText(QtGui.QApplication.translate("settingsDialog", "Start Bitmessage in the tray (don\'t show main window)", None, QtGui.QApplication.UnicodeUTF8))
+ self.checkBoxMinimizeToTray.setText(QtGui.QApplication.translate("settingsDialog", "Minimize to tray", None, QtGui.QApplication.UnicodeUTF8))
+ self.checkBoxShowTrayNotifications.setText(QtGui.QApplication.translate("settingsDialog", "Show notification when message received", None, QtGui.QApplication.UnicodeUTF8))
+ self.checkBoxPortableMode.setText(QtGui.QApplication.translate("settingsDialog", "Run in Portable Mode", None, QtGui.QApplication.UnicodeUTF8))
+ self.PortableModeDescription.setText(QtGui.QApplication.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, QtGui.QApplication.UnicodeUTF8))
+ self.checkBoxWillinglySendToMobile.setText(QtGui.QApplication.translate("settingsDialog", "Willingly include unencrypted destination address when sending to a mobile device", None, QtGui.QApplication.UnicodeUTF8))
+ self.checkBoxUseIdenticons.setText(QtGui.QApplication.translate("settingsDialog", "Use Identicons", None, QtGui.QApplication.UnicodeUTF8))
+ self.checkBoxReplyBelow.setText(QtGui.QApplication.translate("settingsDialog", "Reply below Quote", None, QtGui.QApplication.UnicodeUTF8))
+ self.groupBox.setTitle(QtGui.QApplication.translate("settingsDialog", "Interface Language", None, QtGui.QApplication.UnicodeUTF8))
+ self.languageComboBox.setItemText(0, QtGui.QApplication.translate("settingsDialog", "System Settings", "system", QtGui.QApplication.UnicodeUTF8))
+ self.languageComboBox.setItemText(1, QtGui.QApplication.translate("settingsDialog", "English", "en", QtGui.QApplication.UnicodeUTF8))
+ self.languageComboBox.setItemText(2, QtGui.QApplication.translate("settingsDialog", "Esperanto", "eo", QtGui.QApplication.UnicodeUTF8))
+ self.languageComboBox.setItemText(3, QtGui.QApplication.translate("settingsDialog", "Français", "fr", QtGui.QApplication.UnicodeUTF8))
+ self.languageComboBox.setItemText(4, QtGui.QApplication.translate("settingsDialog", "Deutsch", "de", QtGui.QApplication.UnicodeUTF8))
+ self.languageComboBox.setItemText(5, QtGui.QApplication.translate("settingsDialog", "Españl", "es", QtGui.QApplication.UnicodeUTF8))
+ self.languageComboBox.setItemText(6, QtGui.QApplication.translate("settingsDialog", "русский язык", "ru", QtGui.QApplication.UnicodeUTF8))
+ self.languageComboBox.setItemText(7, QtGui.QApplication.translate("settingsDialog", "Norsk", "no", QtGui.QApplication.UnicodeUTF8))
+ self.languageComboBox.setItemText(8, QtGui.QApplication.translate("settingsDialog", "العربية", "ar", QtGui.QApplication.UnicodeUTF8))
+ self.languageComboBox.setItemText(9, QtGui.QApplication.translate("settingsDialog", "简体中文", "zh_cn", QtGui.QApplication.UnicodeUTF8))
+ self.languageComboBox.setItemText(10, QtGui.QApplication.translate("settingsDialog", "Pirate English", "en_pirate", QtGui.QApplication.UnicodeUTF8))
+ self.languageComboBox.setItemText(11, QtGui.QApplication.translate("settingsDialog", "Other (set in keys.dat)", "other", QtGui.QApplication.UnicodeUTF8))
+ self.tabWidgetSettings.setTabText(self.tabWidgetSettings.indexOf(self.tabUserInterface), QtGui.QApplication.translate("settingsDialog", "User Interface", None, QtGui.QApplication.UnicodeUTF8))
+ self.groupBox1.setTitle(QtGui.QApplication.translate("settingsDialog", "Listening port", None, QtGui.QApplication.UnicodeUTF8))
+ self.label.setText(QtGui.QApplication.translate("settingsDialog", "Listen for connections on port:", None, QtGui.QApplication.UnicodeUTF8))
+ self.groupBox_2.setTitle(QtGui.QApplication.translate("settingsDialog", "Proxy server / Tor", None, QtGui.QApplication.UnicodeUTF8))
+ self.label_2.setText(QtGui.QApplication.translate("settingsDialog", "Type:", None, QtGui.QApplication.UnicodeUTF8))
+ self.label_3.setText(QtGui.QApplication.translate("settingsDialog", "Server hostname:", None, QtGui.QApplication.UnicodeUTF8))
+ self.label_4.setText(QtGui.QApplication.translate("settingsDialog", "Port:", None, QtGui.QApplication.UnicodeUTF8))
+ self.checkBoxAuthentication.setText(QtGui.QApplication.translate("settingsDialog", "Authentication", None, QtGui.QApplication.UnicodeUTF8))
+ self.label_5.setText(QtGui.QApplication.translate("settingsDialog", "Username:", None, QtGui.QApplication.UnicodeUTF8))
+ self.label_6.setText(QtGui.QApplication.translate("settingsDialog", "Pass:", None, QtGui.QApplication.UnicodeUTF8))
+ self.checkBoxSocksListen.setText(QtGui.QApplication.translate("settingsDialog", "Listen for incoming connections when using proxy", None, QtGui.QApplication.UnicodeUTF8))
+ self.comboBoxProxyType.setItemText(0, QtGui.QApplication.translate("settingsDialog", "none", None, QtGui.QApplication.UnicodeUTF8))
+ self.comboBoxProxyType.setItemText(1, QtGui.QApplication.translate("settingsDialog", "SOCKS4a", None, QtGui.QApplication.UnicodeUTF8))
+ self.comboBoxProxyType.setItemText(2, QtGui.QApplication.translate("settingsDialog", "SOCKS5", None, QtGui.QApplication.UnicodeUTF8))
+ self.tabWidgetSettings.setTabText(self.tabWidgetSettings.indexOf(self.tabNetworkSettings), QtGui.QApplication.translate("settingsDialog", "Network Settings", None, QtGui.QApplication.UnicodeUTF8))
+ self.label_9.setText(QtGui.QApplication.translate("settingsDialog", "Total difficulty:", None, QtGui.QApplication.UnicodeUTF8))
+ self.label_10.setText(QtGui.QApplication.translate("settingsDialog", "The \'Total difficulty\' affects the absolute amount of work the sender must complete. Doubling this value doubles the amount of work.", None, QtGui.QApplication.UnicodeUTF8))
+ self.label_11.setText(QtGui.QApplication.translate("settingsDialog", "Small message difficulty:", None, QtGui.QApplication.UnicodeUTF8))
+ self.label_8.setText(QtGui.QApplication.translate("settingsDialog", "When someone sends you a message, their computer must first complete some work. The difficulty of this work, by default, is 1. You may raise this default for new addresses you create by changing the values here. Any new addresses you create will require senders to meet the higher difficulty. There is one exception: if you add a friend or acquaintance to your address book, Bitmessage will automatically notify them when you next send a message that they need only complete the minimum amount of work: difficulty 1. ", None, QtGui.QApplication.UnicodeUTF8))
+ self.label_12.setText(QtGui.QApplication.translate("settingsDialog", "The \'Small message difficulty\' mostly only affects the difficulty of sending small messages. Doubling this value makes it almost twice as difficult to send a small message but doesn\'t really affect large messages.", None, QtGui.QApplication.UnicodeUTF8))
+ self.tabWidgetSettings.setTabText(self.tabWidgetSettings.indexOf(self.tabDemandedDifficulty), QtGui.QApplication.translate("settingsDialog", "Demanded difficulty", None, QtGui.QApplication.UnicodeUTF8))
+ self.label_15.setText(QtGui.QApplication.translate("settingsDialog", "Here you may set the maximum amount of work you are willing to do to send a message to another person. Setting these values to 0 means that any value is acceptable.", None, QtGui.QApplication.UnicodeUTF8))
+ self.label_13.setText(QtGui.QApplication.translate("settingsDialog", "Maximum acceptable total difficulty:", None, QtGui.QApplication.UnicodeUTF8))
+ self.label_14.setText(QtGui.QApplication.translate("settingsDialog", "Maximum acceptable small message difficulty:", None, QtGui.QApplication.UnicodeUTF8))
+ self.tabWidgetSettings.setTabText(self.tabWidgetSettings.indexOf(self.tabMaxAcceptableDifficulty), QtGui.QApplication.translate("settingsDialog", "Max acceptable difficulty", None, QtGui.QApplication.UnicodeUTF8))
+ self.label_16.setText(QtGui.QApplication.translate("settingsDialog", "Bitmessage can utilize a different Bitcoin-based program called Namecoin to make addresses human-friendly. For example, instead of having to tell your friend your long Bitmessage address, you can simply tell him to send a message to test.
(Getting your own Bitmessage address into Namecoin is still rather difficult).
Bitmessage can use either namecoind directly or a running nmcontrol instance.
", None, QtGui.QApplication.UnicodeUTF8))
+ self.label_17.setText(QtGui.QApplication.translate("settingsDialog", "Host:", None, QtGui.QApplication.UnicodeUTF8))
+ self.label_18.setText(QtGui.QApplication.translate("settingsDialog", "Port:", None, QtGui.QApplication.UnicodeUTF8))
+ self.labelNamecoinUser.setText(QtGui.QApplication.translate("settingsDialog", "Username:", None, QtGui.QApplication.UnicodeUTF8))
+ self.labelNamecoinPassword.setText(QtGui.QApplication.translate("settingsDialog", "Password:", None, QtGui.QApplication.UnicodeUTF8))
+ self.pushButtonNamecoinTest.setText(QtGui.QApplication.translate("settingsDialog", "Test", None, QtGui.QApplication.UnicodeUTF8))
+ self.label_21.setText(QtGui.QApplication.translate("settingsDialog", "Connect to:", None, QtGui.QApplication.UnicodeUTF8))
+ self.radioButtonNamecoinNamecoind.setText(QtGui.QApplication.translate("settingsDialog", "Namecoind", None, QtGui.QApplication.UnicodeUTF8))
+ self.radioButtonNamecoinNmcontrol.setText(QtGui.QApplication.translate("settingsDialog", "NMControl", None, QtGui.QApplication.UnicodeUTF8))
+ self.tabWidgetSettings.setTabText(self.tabWidgetSettings.indexOf(self.tabNamecoin), QtGui.QApplication.translate("settingsDialog", "Namecoin integration", None, QtGui.QApplication.UnicodeUTF8))
+ self.label_7.setText(QtGui.QApplication.translate("settingsDialog", "By default, if you send a message to someone and he is offline for more than two days, Bitmessage will send the message again after an additional two days. This will be continued with exponential backoff forever; messages will be resent after 5, 10, 20 days ect. until the receiver acknowledges them. Here you may change that behavior by having Bitmessage give up after a certain number of days or months.
Leave these input fields blank for the default behavior.
", None, QtGui.QApplication.UnicodeUTF8))
+ self.label_19.setText(QtGui.QApplication.translate("settingsDialog", "Give up after", None, QtGui.QApplication.UnicodeUTF8))
+ self.label_20.setText(QtGui.QApplication.translate("settingsDialog", "and", None, QtGui.QApplication.UnicodeUTF8))
+ self.label_22.setText(QtGui.QApplication.translate("settingsDialog", "days", None, QtGui.QApplication.UnicodeUTF8))
+ self.label_23.setText(QtGui.QApplication.translate("settingsDialog", "months.", None, QtGui.QApplication.UnicodeUTF8))
+ self.tabWidgetSettings.setTabText(self.tabWidgetSettings.indexOf(self.tabResendsExpire), QtGui.QApplication.translate("settingsDialog", "Resends Expire", None, QtGui.QApplication.UnicodeUTF8))
import bitmessage_icons_rc
diff --git a/src/bitmessageqt/settings.ui b/src/bitmessageqt/settings.ui
index 2af19613..4cb8fb4e 100644
--- a/src/bitmessageqt/settings.ui
+++ b/src/bitmessageqt/settings.ui
@@ -105,7 +105,14 @@
- -
+
-
+
+
+ Reply below Quote
+
+
+
+ -
Interface Language
diff --git a/src/helper_startup.py b/src/helper_startup.py
index abc4958f..4d7ffbfc 100644
--- a/src/helper_startup.py
+++ b/src/helper_startup.py
@@ -90,6 +90,7 @@ def loadConfig():
shared.config.set('bitmessagesettings', 'userlocale', 'system')
shared.config.set('bitmessagesettings', 'useidenticons', 'True')
shared.config.set('bitmessagesettings', 'identiconsuffix', ''.join(random.choice("123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz") for x in range(12))) # a twelve character pseudo-password to salt the identicons
+ shared.config.set('bitmessagesettings', 'replybelow', 'False')
#start:UI setting to stop trying to send messages after X days/months
shared.config.set(
@@ -130,4 +131,4 @@ def isOurOperatingSystemLimitedToHavingVeryFewHalfOpenConnections():
return False
except Exception as err:
print 'An Exception occurred within isOurOperatingSystemLimitedToHavingVeryFewHalfOpenConnections:', err
- return False
\ No newline at end of file
+ return False