Compare commits

...

6 Commits
main ... master

@ -29,7 +29,7 @@ ALLOWED_FILES = ('toxygen_inline.png', 'utox-inline.png', 'sticker.png')
def is_inline(file_name):
return file_name in ALLOWED_FILES or file_name.startswith('qTox_Screenshot_')
return file_name in ALLOWED_FILES or file_name.startswith('qTox_Screenshot_') or file_name.startswith('qTox_Image_')
class StateSignal(QtCore.QObject):

@ -618,7 +618,7 @@ class MainWindow(QtWidgets.QMainWindow, Singleton):
for i in range(len(chats)):
name, number = chats[i]
item = invite_menu.addAction(name)
item.triggered.connect(lambda: self.invite_friend_to_gc(num, number))
item.triggered.connect(lambda number=number: self.invite_friend_to_gc(num, number))
plugins_loader = plugin_support.PluginLoader.get_instance()
if plugins_loader is not None:

@ -73,8 +73,16 @@ class MessageArea(QtWidgets.QPlainTextEdit):
if text.startswith('file://'):
file_name = self.parse_file_name(text)
self.parent.profile.send_file(file_name)
else:
elif text:
self.insertPlainText(text)
else:
image = QtWidgets.QApplication.clipboard().image()
if image is not None:
byte_array = QtCore.QByteArray()
buffer = QtCore.QBuffer(byte_array)
buffer.open(QtCore.QIODevice.WriteOnly)
image.save(buffer, 'PNG')
self.parent.profile.send_screenshot(bytes(byte_array.data()))
def parse_file_name(self, file_name):
import urllib

@ -588,13 +588,16 @@ class Profile(basecontact.BaseContact, Singleton):
print('Incoming not started transfer - no info found')
elif message.get_type() == MESSAGE_TYPE['INLINE']: # inline image
self.create_inline_item(message.get_data(), False)
else: # info message
elif message.get_type() < 5: # info message
data = message.get_data()
self.create_message_item(data[0],
data[2],
'',
data[3],
False)
else:
data = message.get_data()
self.create_gc_message_item(data[0], data[2], data[1], data[4], data[3], False)
self._load_history = True
def export_db(self, directory):
@ -1096,10 +1099,11 @@ class Profile(basecontact.BaseContact, Singleton):
file_name,
friend.number,
st.get_file_number())
item = self.create_file_transfer_item(tm)
friend.append_message(tm)
st.set_state_changed_handler(item.update_transfer_state)
self._messages.scrollToBottom()
if friend_number == self.get_active_number():
item = self.create_file_transfer_item(tm)
st.set_state_changed_handler(item.update_transfer_state)
self._messages.scrollToBottom()
def send_file(self, path, number=None, is_resend=False, file_id=None):
"""
@ -1316,6 +1320,8 @@ class Profile(basecontact.BaseContact, Singleton):
return list(groups)[0]
def add_gc(self, number):
if number == -1:
return
widget = self.create_friend_item()
gc = GroupChat('Group chat #' + str(number), '', widget, self._tox, number)
self._contacts.append(gc)

@ -5,7 +5,7 @@ import sys
import re
program_version = '0.4.2'
program_version = '0.4.3'
def cached(func):

Loading…
Cancel
Save