Compare commits

...
Sign in to create a new pull request.

6 commits
main ... master

Author SHA1 Message Date
ingvar1995
5019535c0d Fixed bug with loading old messages for groups 2020-03-21 22:05:17 +03:00
ingvar1995
1554d9e53a Fixed bug with sending faux offline inlines 2020-03-14 15:33:57 +03:00
ingvar1995
a984b624b5 Added ability to paste image 2020-03-04 00:34:10 +03:00
ingvar1995
2aea5df33c proper fix for gc history 2018-09-15 22:50:25 +03:00
ingvar1995
1fa13db4e4 fixed bug with history loading and qtox screenshots autoaccept 2018-09-15 22:29:30 +03:00
ingvar1995
3582722faa fixed 2 bugs with gc 2018-09-13 23:23:25 +03:00
5 changed files with 22 additions and 8 deletions

View file

@ -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):

View file

@ -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:

View file

@ -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

View file

@ -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)

View file

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