Compare commits
10 Commits
Author | SHA1 | Date | |
---|---|---|---|
cc37485fc0 | |||
028de8176b | |||
2e285a8400 | |||
cf912b137d | |||
5019535c0d | |||
1554d9e53a | |||
a984b624b5 | |||
2aea5df33c | |||
1fa13db4e4 | |||
3582722faa |
@ -12,12 +12,13 @@ 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-get install libconfig-dev libvpx-dev check -qq
|
||||
install:
|
||||
- pip install sip
|
||||
- pip install pyqt5
|
||||
- pip install pyaudio
|
||||
- pip install opencv-python
|
||||
- pip3 install sip
|
||||
- pip3 install pyaudio
|
||||
- pip3 install pyqt5==5.14
|
||||
- pip3 install opencv-python
|
||||
before_script:
|
||||
# Opus
|
||||
- wget http://downloads.xiph.org/releases/opus/opus-1.0.3.tar.gz
|
||||
|
@ -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):
|
||||
|
@ -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,8 +1099,9 @@ class Profile(basecontact.BaseContact, Singleton):
|
||||
file_name,
|
||||
friend.number,
|
||||
st.get_file_number())
|
||||
item = self.create_file_transfer_item(tm)
|
||||
friend.append_message(tm)
|
||||
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()
|
||||
|
||||
@ -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):
|
||||
|
Reference in New Issue
Block a user