diff --git a/src/bitmessageqt/__init__.py b/src/bitmessageqt/__init__.py
index 05759d24..38407272 100644
--- a/src/bitmessageqt/__init__.py
+++ b/src/bitmessageqt/__init__.py
@@ -60,7 +60,8 @@ class MyForm(QtGui.QMainWindow):
self.ui.setupUi(self)
#init attach array
- self.attach=[]
+ self.attach=[] #send aattach array
+ self.attachArray=[] # receive attach array
# Ask the user if we may delete their old version 1 addresses if they
# have any.
@@ -363,7 +364,7 @@ class MyForm(QtGui.QMainWindow):
"itemSelectionChanged ()"), self.tableWidgetInboxItemClicked)
QtCore.QObject.connect(self.ui.textEditInboxMessage,
- QtCore.SIGNAL("anchorClicked(const QUrl&)"), self.openURL)
+ QtCore.SIGNAL("anchorClicked(const QUrl&)"), self.saveAttach)
QtCore.QObject.connect(self.ui.AddAttach, QtCore.SIGNAL("clicked()"), self.AddAttach)
@@ -441,9 +442,23 @@ class MyForm(QtGui.QMainWindow):
newBroadcastItem = None
- def openURL(self,link):
- print "jest link"
-
+ def saveAttach(self,link):
+ link=link.toString()
+
+ filename=self.attachArray[int(link)]['filename']
+ filename=filename.replace('"','')
+
+ f = open("Downloads/"+filename, 'w')
+ data=self.attachArray[int(link)]['content'].replace('\n','')
+ if(self.attachArray[int(link)]['encode'].find('base64')>-1):
+ data=base64.b64decode(data)
+
+ f.write(data)
+ f.close()
+ QtGui.QMessageBox.information(self, 'Save success', 'Attach file save success.',
+ QMessageBox.Ok)
+
+
def AddAttach(self):
attachFile=QtGui.QFileDialog.getOpenFileName(self, 'Open file', '')
f = open(attachFile, 'r')
@@ -2136,11 +2151,26 @@ class MyForm(QtGui.QMainWindow):
lines[i])
elif lines[i] == '------------------------------------------------------':
lines[i] = '
'
+
content = ''
- for i in xrange(len(lines)):
- content += lines[i]
- content = content.replace('\n\n', '
')
- self.ui.textEditInboxMessage.setHtml(QtCore.QString(content))
+ if(len(self.attachArray)==0 ):
+ for i in xrange(len(lines)):
+ content += lines[i]
+ content = content.replace('\n\n', '
')
+ self.ui.textEditInboxMessage.setHtml(QtCore.QString(content))
+ else:
+ for i in range(len(self.attachArray) ):
+ if(i==0):
+
+ content += "
".join(self.attachArray[i]['data'])+"
"
+ content += "Attachments |
"
+
+ content += ""+self.attachArray[i]['filename']+" | Download |
"
+
+ content +="
"
+ print content
+ self.ui.textEditInboxMessage.setHtml(QtCore.QString(content))
+
def on_action_InboxReply(self):
currentInboxRow = self.ui.tableWidgetInbox.currentRow()
@@ -2636,7 +2666,10 @@ class MyForm(QtGui.QMainWindow):
self.loadSent(searchOption, searchKeyword)
def tableWidgetInboxItemClicked(self):
+ self.attachArray=[]
currentRow = self.ui.tableWidgetInbox.currentRow()
+ attachs=False
+
if currentRow >= 0:
fromAddress = str(self.ui.tableWidgetInbox.item(
currentRow, 1).data(Qt.UserRole).toPyObject())
@@ -2654,32 +2687,41 @@ class MyForm(QtGui.QMainWindow):
for i in range( len(mess_list) ):
content=mess_list[i].split(':')
- print content
if(len(content)>1 ):
value=content[1].split(';')
- if(content[0].find('Content-Type')!=-1):
+ if(content[0].find('Content-Type')!=-1 and (value[0].find('image')>-1 or value[0].find('octet-stream')>-1 ) ):
+ attachs=True
print "jest zalacznik"
- attachArray.append({'Content-Type':value[0]})
+ self.attachArray.append({'Content-Type':value[0],'data': mess_list[0:i]})
licznik+=1
zal=True
-
+ if(content[0].find('Content-Transfer-Encoding')>-1 and zal==True):
+ print "encoding : "+value[0]
+ self.attachArray[licznik-1]['encode']=value[0]
+
+ if(content[0].find('Content-Disposition')>-1 and zal==True):
+ print "filename : "+value[0]
+ self.attachArray[licznik-1]['filename']=value[1].split('=')[-1]
+
if(mess_list[i]=="\n" and zal == True):
print "jest zal"+str(i)
for s in range( i+1,len(mess_list) ):
print "jest spraw"+str(i)
- print len(mess_list[s+1])
+
if(len(mess_list[s])>2):
print "dodaje"
dane+=mess_list[s]
else:
- attachArray[licznik-1]['content']=dane
+ self.attachArray[licznik-1]['content']=dane
dane=''
zal=False
break
- print attachArray
+ if(attachs==True):
+ self.on_action_InboxMessageForceHtml()
+ return
if decodeAddress(fromAddress)[3] in shared.broadcastSendersForWhichImWatching or shared.isAddressInMyAddressBook(fromAddress):
diff --git a/src/bitmessageqt/bitmessageui.py b/src/bitmessageqt/bitmessageui.py
index 32c0d81c..a3385738 100644
--- a/src/bitmessageqt/bitmessageui.py
+++ b/src/bitmessageqt/bitmessageui.py
@@ -2,13 +2,8 @@
# Form implementation generated from reading ui file 'bitmessageui.ui'
#
-<<<<<<< HEAD
-# Created: Fri Jul 12 22:39:30 2013
-# by: PyQt4 UI code generator 4.9.3
-=======
-# Created: Sat Jul 13 20:23:44 2013
-# by: PyQt4 UI code generator 4.10.2
->>>>>>> d93d92336438bc165839c4089cfaa80c519db730
+# Created: Sun Jul 14 13:49:53 2013
+# by: PyQt4 UI code generator 4.10
#
# WARNING! All changes made in this file will be lost!
@@ -17,7 +12,16 @@ from PyQt4 import QtCore, QtGui
try:
_fromUtf8 = QtCore.QString.fromUtf8
except AttributeError:
- _fromUtf8 = lambda s: s
+ 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):
@@ -510,9 +514,6 @@ class Ui_MainWindow(object):
MainWindow.setTabOrder(self.tableWidgetConnectionCount, self.pushButtonStatusIcon)
def retranslateUi(self, MainWindow):
-<<<<<<< HEAD
- MainWindow.setWindowTitle(QtGui.QApplication.translate("MainWindow", "Bitmessage", None, QtGui.QApplication.UnicodeUTF8))
-=======
MainWindow.setWindowTitle(_translate("MainWindow", "Bitmessage", None))
self.inboxSearchLineEdit.setPlaceholderText(_translate("MainWindow", "Search", None))
self.inboxSearchOptionCB.setItemText(0, _translate("MainWindow", "All", None))
@@ -520,43 +521,32 @@ class Ui_MainWindow(object):
self.inboxSearchOptionCB.setItemText(2, _translate("MainWindow", "From", None))
self.inboxSearchOptionCB.setItemText(3, _translate("MainWindow", "Subject", None))
self.inboxSearchOptionCB.setItemText(4, _translate("MainWindow", "Message", None))
->>>>>>> d93d92336438bc165839c4089cfaa80c519db730
self.tableWidgetInbox.setSortingEnabled(True)
item = self.tableWidgetInbox.horizontalHeaderItem(0)
- item.setText(QtGui.QApplication.translate("MainWindow", "To", None, QtGui.QApplication.UnicodeUTF8))
+ item.setText(_translate("MainWindow", "To", None))
item = self.tableWidgetInbox.horizontalHeaderItem(1)
- item.setText(QtGui.QApplication.translate("MainWindow", "From", None, QtGui.QApplication.UnicodeUTF8))
+ item.setText(_translate("MainWindow", "From", None))
item = self.tableWidgetInbox.horizontalHeaderItem(2)
- item.setText(QtGui.QApplication.translate("MainWindow", "Subject", None, QtGui.QApplication.UnicodeUTF8))
+ item.setText(_translate("MainWindow", "Subject", None))
item = self.tableWidgetInbox.horizontalHeaderItem(3)
- item.setText(QtGui.QApplication.translate("MainWindow", "Received", None, QtGui.QApplication.UnicodeUTF8))
- self.tabWidget.setTabText(self.tabWidget.indexOf(self.inbox), QtGui.QApplication.translate("MainWindow", "Inbox", None, QtGui.QApplication.UnicodeUTF8))
- self.label_4.setText(QtGui.QApplication.translate("MainWindow", "Message:", None, QtGui.QApplication.UnicodeUTF8))
- self.label_3.setText(QtGui.QApplication.translate("MainWindow", "Subject:", None, QtGui.QApplication.UnicodeUTF8))
- self.radioButtonSpecific.setText(QtGui.QApplication.translate("MainWindow", "Send to one or more specific people", None, QtGui.QApplication.UnicodeUTF8))
- self.textEditMessage.setHtml(QtGui.QApplication.translate("MainWindow", "\n"
+ item.setText(_translate("MainWindow", "Received", None))
+ self.tabWidget.setTabText(self.tabWidget.indexOf(self.inbox), _translate("MainWindow", "Inbox", 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, QtGui.QApplication.UnicodeUTF8))
- self.radioButtonBroadcast.setText(QtGui.QApplication.translate("MainWindow", "Broadcast to everyone who is subscribed to your address", None, QtGui.QApplication.UnicodeUTF8))
- self.label.setText(QtGui.QApplication.translate("MainWindow", "To:", None, QtGui.QApplication.UnicodeUTF8))
- self.label_2.setText(QtGui.QApplication.translate("MainWindow", "From:", None, QtGui.QApplication.UnicodeUTF8))
- self.pushButtonSend.setText(QtGui.QApplication.translate("MainWindow", "Send", None, QtGui.QApplication.UnicodeUTF8))
- self.labelSendBroadcastWarning.setText(QtGui.QApplication.translate("MainWindow", "Be aware that broadcasts are only encrypted with your address. Anyone who knows your address can read them.", None, QtGui.QApplication.UnicodeUTF8))
- self.pushButtonLoadFromAddressBook.setText(QtGui.QApplication.translate("MainWindow", "Load from Address book", None, QtGui.QApplication.UnicodeUTF8))
- self.DelAttach.setText(QtGui.QApplication.translate("MainWindow", "Delete attach", None, QtGui.QApplication.UnicodeUTF8))
- self.AddAttach.setText(QtGui.QApplication.translate("MainWindow", "Add attach", None, QtGui.QApplication.UnicodeUTF8))
- self.tabWidget.setTabText(self.tabWidget.indexOf(self.send), QtGui.QApplication.translate("MainWindow", "Send", None, QtGui.QApplication.UnicodeUTF8))
-=======
-"\n"
-"