From 3582722faa9623061da29331a8f35fc9d3cd16ee Mon Sep 17 00:00:00 2001 From: ingvar1995 Date: Thu, 13 Sep 2018 23:23:25 +0300 Subject: [PATCH 01/10] fixed 2 bugs with gc --- toxygen/mainscreen.py | 2 +- toxygen/profile.py | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/toxygen/mainscreen.py b/toxygen/mainscreen.py index 7d7b9e7..93ec72d 100644 --- a/toxygen/mainscreen.py +++ b/toxygen/mainscreen.py @@ -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: diff --git a/toxygen/profile.py b/toxygen/profile.py index 16d117d..ec5b545 100644 --- a/toxygen/profile.py +++ b/toxygen/profile.py @@ -1316,6 +1316,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) From 1fa13db4e4343c60d66d78642c82b60eace067e6 Mon Sep 17 00:00:00 2001 From: ingvar1995 Date: Sat, 15 Sep 2018 22:29:30 +0300 Subject: [PATCH 02/10] fixed bug with history loading and qtox screenshots autoaccept --- toxygen/file_transfers.py | 2 +- toxygen/profile.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/toxygen/file_transfers.py b/toxygen/file_transfers.py index 7e0b193..1bbabe5 100644 --- a/toxygen/file_transfers.py +++ b/toxygen/file_transfers.py @@ -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): diff --git a/toxygen/profile.py b/toxygen/profile.py index ec5b545..ab73b69 100644 --- a/toxygen/profile.py +++ b/toxygen/profile.py @@ -567,7 +567,7 @@ class Profile(basecontact.BaseContact, Singleton): data.reverse() data = data[self._messages.count():self._messages.count() + PAGE_SIZE] for message in data: - if message.get_type() <= 1: # text message + if message.get_type() <= 1 or message.get_type() >= 5: # text message data = message.get_data() self.create_message_item(data[0], data[2], From 2aea5df33c4dd5d3155916c8e7ef25efdcf7cfc1 Mon Sep 17 00:00:00 2001 From: ingvar1995 Date: Sat, 15 Sep 2018 22:50:25 +0300 Subject: [PATCH 03/10] proper fix for gc history --- toxygen/profile.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/toxygen/profile.py b/toxygen/profile.py index ab73b69..47f15f2 100644 --- a/toxygen/profile.py +++ b/toxygen/profile.py @@ -567,7 +567,7 @@ class Profile(basecontact.BaseContact, Singleton): data.reverse() data = data[self._messages.count():self._messages.count() + PAGE_SIZE] for message in data: - if message.get_type() <= 1 or message.get_type() >= 5: # text message + if message.get_type() <= 1: # text message data = message.get_data() self.create_message_item(data[0], data[2], @@ -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]) self._load_history = True def export_db(self, directory): From a984b624b5b8894135856c576cc9152cb9c1913d Mon Sep 17 00:00:00 2001 From: ingvar1995 Date: Wed, 4 Mar 2020 00:34:10 +0300 Subject: [PATCH 04/10] Added ability to paste image --- toxygen/mainscreen_widgets.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/toxygen/mainscreen_widgets.py b/toxygen/mainscreen_widgets.py index 0d1c26b..dcbc075 100644 --- a/toxygen/mainscreen_widgets.py +++ b/toxygen/mainscreen_widgets.py @@ -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 From 1554d9e53a76490534797e1df53b991953e85249 Mon Sep 17 00:00:00 2001 From: ingvar1995 Date: Sat, 14 Mar 2020 15:33:57 +0300 Subject: [PATCH 05/10] Fixed bug with sending faux offline inlines --- toxygen/profile.py | 7 ++++--- toxygen/util.py | 2 +- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/toxygen/profile.py b/toxygen/profile.py index 47f15f2..8cc6c6e 100644 --- a/toxygen/profile.py +++ b/toxygen/profile.py @@ -1099,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): """ diff --git a/toxygen/util.py b/toxygen/util.py index d862d56..73959c6 100644 --- a/toxygen/util.py +++ b/toxygen/util.py @@ -5,7 +5,7 @@ import sys import re -program_version = '0.4.2' +program_version = '0.4.3' def cached(func): From 5019535c0d4dedf7e5a42f98f9f695d1346bfb3f Mon Sep 17 00:00:00 2001 From: ingvar1995 Date: Sat, 21 Mar 2020 22:05:17 +0300 Subject: [PATCH 06/10] Fixed bug with loading old messages for groups --- toxygen/profile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/toxygen/profile.py b/toxygen/profile.py index 8cc6c6e..cf15e02 100644 --- a/toxygen/profile.py +++ b/toxygen/profile.py @@ -597,7 +597,7 @@ class Profile(basecontact.BaseContact, Singleton): False) else: data = message.get_data() - self.create_gc_message_item(data[0], data[2], data[1], data[4], data[3]) + 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): From cf912b137dc85b40594b0f9c4c237d6bb2df943f Mon Sep 17 00:00:00 2001 From: ingvar1995 Date: Sat, 23 May 2020 18:15:54 +0300 Subject: [PATCH 07/10] Fixed travis build --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index cfabadd..e494641 100644 --- a/.travis.yml +++ b/.travis.yml @@ -12,10 +12,10 @@ before_install: - sudo apt-get install -y checkinstall build-essential - sudo apt-get install portaudio19-dev - sudo apt-get install libsecret-1-dev + - sudo apt install python3-pyqt5 - sudo apt-get install libconfig-dev libvpx-dev check -qq install: - pip install sip - - pip install pyqt5 - pip install pyaudio - pip install opencv-python before_script: From 2e285a84009244ddfdf3ef6328b75679b12226a5 Mon Sep 17 00:00:00 2001 From: ingvar1995 Date: Sat, 23 May 2020 18:23:50 +0300 Subject: [PATCH 08/10] Used pip3 explicitly --- .travis.yml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/.travis.yml b/.travis.yml index e494641..5f25553 100644 --- a/.travis.yml +++ b/.travis.yml @@ -15,9 +15,10 @@ before_install: - sudo apt install python3-pyqt5 - sudo apt-get install libconfig-dev libvpx-dev check -qq install: - - pip install sip - - pip install pyaudio - - pip install opencv-python + - pip3 install sip + - pip3 install pyaudio + - pip3 install pyqt5 + - pip3 install opencv-python before_script: # Opus - wget http://downloads.xiph.org/releases/opus/opus-1.0.3.tar.gz From 028de8176b472e372143eb84da26e0f9d02c393a Mon Sep 17 00:00:00 2001 From: ingvar1995 Date: Sat, 23 May 2020 18:27:34 +0300 Subject: [PATCH 09/10] Used pyqt5 v5.14 --- .travis.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 5f25553..7fc55ca 100644 --- a/.travis.yml +++ b/.travis.yml @@ -12,12 +12,12 @@ before_install: - sudo apt-get install -y checkinstall build-essential - sudo apt-get install portaudio19-dev - sudo apt-get install libsecret-1-dev - - sudo apt install python3-pyqt5 + - sudo apt-get install libconfig-dev libvpx-dev check -qq install: - pip3 install sip - pip3 install pyaudio - - pip3 install pyqt5 + - pip3 install pyqt5==5.14 - pip3 install opencv-python before_script: # Opus From cc37485fc0e7e3b45bd4079df4a522c74fc3c6f8 Mon Sep 17 00:00:00 2001 From: ingvar1995 Date: Sat, 23 May 2020 18:37:07 +0300 Subject: [PATCH 10/10] Removed dns test because toxme is down --- tests/tests.py | 15 --------------- 1 file changed, 15 deletions(-) diff --git a/tests/tests.py b/tests/tests.py index 27618af..bbb877c 100644 --- a/tests/tests.py +++ b/tests/tests.py @@ -36,21 +36,6 @@ class TestProfileHelper: assert os.path.exists(path + 'avatars/') -class TestDNS: - - def test_dns(self): - Settings._instance = Settings.get_default_settings() - bot_id = '56A1ADE4B65B86BCD51CC73E2CD4E542179F47959FE3E0E21B4B0ACDADE51855D34D34D37CB5' - tox_id = tox_dns('groupbot@toxme.io') - assert tox_id == bot_id - - def test_dns2(self): - Settings._instance = Settings.get_default_settings() - bot_id = '76518406F6A9F2217E8DC487CC783C25CC16A15EB36FF32E335A235342C48A39218F515C39A6' - tox_id = tox_dns('echobot@toxme.io') - assert tox_id == bot_id - - class TestEncryption: def test_encr_decr(self):