self.radioButtonCreateChan.setText(_translate("newChanDialog","Create a new chan",None))
self.radioButtonJoinChan.setText(_translate("newChanDialog","Join a chan",None))
self.groupBoxCreateChan.setTitle(_translate("newChanDialog","Create a chan",None))
self.label_4.setText(_translate("newChanDialog","Enter a name for your chan. If you choose a sufficiently complex chan name (like a strong and unique passphrase) and none of your friends share it publicly then the chan will be secure and private.",None))
self.label_4.setText(_translate("newChanDialog","<html><head/><body><p>Enter a name for your chan. If you choose a sufficiently complex chan name (like a strong and unique passphrase) and none of your friends share it publicly then the chan will be secure and private. If you and someone else both create a chan with the same chan name then it is currently very likely that they will be the same chan.</p></body></html>",None))
self.groupBoxJoinChan.setTitle(_translate("newChanDialog","Join a chan",None))
self.label.setText(_translate("newChanDialog","<html><head/><body><p>A chan exists when a group of people share the same decryption keys. The keys and bitmessage address used by a chan are generated from a human-friendly word or phrase (the chan name). To send a message to everyone in the chan, send a normal person-to-person message to the chan address.</p><p>Chans are experimental and completely unmoderatable.</p></body></html>",None))
<string>Enter a name for your chan. If you choose a sufficiently complex chan name (like a strong and unique passphrase) and none of your friends share it publicly then the chan will be secure and private.</string>
<string><html><head/><body><p>Enter a name for your chan. If you choose a sufficiently complex chan name (like a strong and unique passphrase) and none of your friends share it publicly then the chan will be secure and private. If you and someone else both create a chan with the same chan name then it is currently very likely that they will be the same chan.</p></body></html></string>
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.checkBoxMinimizeToTray.setText(_translate("settingsDialog","Minimize to tray",None))
self.label_7.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.checkBoxStartOnLogon.setText(_translate("settingsDialog","Start Bitmessage on user login",None))
self.checkBoxPortableMode.setText(_translate("settingsDialog","Run in Portable Mode",None))
self.checkBoxWillinglySendToMobile.setText(_translate("settingsDialog","Willingly include unencrypted destination address when sending to a mobile device",None))
# Mobile users may ask us to include their address's RIPE hash on a message
# unencrypted. Before we actually do it the sending human must check a box
# in the settings menu to allow it.
ifshared.isBitSetWithinBitfield(behaviorBitfield,30):# if receiver is a mobile device who expects that their address RIPE is included unencrypted on the front of the message..
ifnotshared.safeConfigGetBoolean('bitmessagesettings','willinglysendtomobile'):# if we are Not willing to include the receiver's RIPE hash on the message..
logger.info('The receiver is a mobile user but the sender (you) has not selected that you are willing to send to mobiles. Aborting send.')
shared.UISignalQueue.put(('updateSentItemStatusByAckdata',(ackdata,tr.translateText("MainWindow",'Problem: Destination is a mobile device who requests that the destination be included in the message but this is disallowed in your settings. %1').arg(unicode(strftime(shared.config.get('bitmessagesettings','timeformat'),localtime(int(time.time()))),'utf-8')))))
# if the human changes their setting and then sends another message or restarts their client, this one will send at that time.
continue
readPosition+=4# to bypass the bitfield of behaviors
# pubSigningKeyBase256 =
# pubkeyPayload[readPosition:readPosition+64] #We don't use this
@ -663,6 +673,10 @@ class singleWorker(threading.Thread):
withshared.printLock:
print'Not bothering to generate ackdata because we are sending to a chan.'
print'Not bothering to generate ackdata because the receiver said that they won\'t relay it anyway.'
fullAckPayload=''
else:
fullAckPayload=self.generateFullAckMessage(
ackdata,toStreamNumber,embeddedTime)# The fullAckPayload is a normal msg protocol message with the proof of work already completed that the receiver of this message can easily send out.