messages - minimal working version
This commit is contained in:
parent
ad351030d9
commit
c8443b56dd
19 changed files with 174 additions and 148 deletions
|
@ -5,7 +5,7 @@ import util
|
|||
import pyaudio
|
||||
import wave
|
||||
from user_data import settings
|
||||
from util.util import curr_directory
|
||||
from util.util import *
|
||||
|
||||
|
||||
class IncomingCallWidget(widgets.CenteredWidget):
|
||||
|
|
|
@ -1,6 +1,8 @@
|
|||
from ui.list_items import *
|
||||
from ui.messages_widgets import *
|
||||
|
||||
# rename methods
|
||||
|
||||
|
||||
class ItemsFactory:
|
||||
|
||||
|
@ -9,6 +11,11 @@ class ItemsFactory:
|
|||
self._smiley_loader = smiley_loader
|
||||
self._messages = main_screen.messages
|
||||
self._friends_list = main_screen.friends_list
|
||||
self._message_edit = main_screen.messageEdit
|
||||
|
||||
def _create_message_browser(self, text, width, message_type, parent=None):
|
||||
return MessageBrowser(self._settings, self._message_edit, self._smiley_loader, self._plugin_loader,
|
||||
text, width, message_type, parent)
|
||||
|
||||
def friend_item(self):
|
||||
item = ContactItem(self._settings)
|
||||
|
@ -18,8 +25,8 @@ class ItemsFactory:
|
|||
self._friends_list.setItemWidget(elem, item)
|
||||
return item
|
||||
|
||||
def message_item(self, message, pixmap=None):
|
||||
item = MessageItem(message, self._messages)
|
||||
def message_item(self, message, append=True, pixmap=None):
|
||||
item = MessageItem(self._settings, self._create_message_browser, message, self._messages)
|
||||
if pixmap is not None:
|
||||
item.set_avatar(pixmap)
|
||||
elem = QtWidgets.QListWidgetItem()
|
||||
|
|
|
@ -2,7 +2,7 @@ from wrapper.toxcore_enums_and_consts import *
|
|||
from PyQt5 import QtCore, QtGui, QtWidgets
|
||||
from contacts import profile
|
||||
from file_transfers.file_transfers import TOX_FILE_TRANSFER_STATE, PAUSED_FILE_TRANSFERS, DO_NOT_SHOW_ACCEPT_BUTTON, ACTIVE_FILE_TRANSFERS, SHOW_PROGRESS_BAR
|
||||
from util.util import curr_directory, convert_time, curr_time
|
||||
from util.util import *
|
||||
from ui.widgets import DataLabel, create_menu
|
||||
import html as h
|
||||
import smileys
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
from PyQt5 import QtCore, QtGui, QtWidgets
|
||||
from user_data.settings import *
|
||||
from contacts.profile import Profile
|
||||
from util.util import curr_directory, copy, get_stickers_directory, join_path
|
||||
from util.util import *
|
||||
from ui.widgets import CenteredWidget, DataLabel, LineEdit, RubberBandWindow
|
||||
import pyaudio
|
||||
from user_data import toxes
|
||||
|
|
|
@ -6,9 +6,10 @@ import util.util as util
|
|||
import ui.menu as menu
|
||||
import html as h
|
||||
import re
|
||||
from messenger.messages import MESSAGE_AUTHOR
|
||||
|
||||
|
||||
class MessageEdit(QtWidgets.QTextBrowser):
|
||||
class MessageBrowser(QtWidgets.QTextBrowser):
|
||||
|
||||
def __init__(self, settings, message_edit, smileys_loader, plugin_loader, text, width, message_type, parent=None):
|
||||
super().__init__(parent)
|
||||
|
@ -122,7 +123,7 @@ class MessageItem(QtWidgets.QWidget):
|
|||
"""
|
||||
Message in messages list
|
||||
"""
|
||||
def __init__(self, settings, text_message, parent=None):
|
||||
def __init__(self, settings, message_browser_factory_method, text_message, parent=None):
|
||||
QtWidgets.QWidget.__init__(self, parent)
|
||||
self.name = widgets.DataLabel(self)
|
||||
self.name.setGeometry(QtCore.QRect(2, 2, 95, 23))
|
||||
|
@ -132,25 +133,26 @@ class MessageItem(QtWidgets.QWidget):
|
|||
font.setPointSize(11)
|
||||
font.setBold(True)
|
||||
self.name.setFont(font)
|
||||
self.name.setText(text_message.user)
|
||||
self.name.setText(text_message.author.name)
|
||||
|
||||
self.time = QtWidgets.QLabel(self)
|
||||
self.time.setGeometry(QtCore.QRect(parent.width() - 60, 0, 50, 25))
|
||||
font.setPointSize(10)
|
||||
font.setBold(False)
|
||||
self.time.setFont(font)
|
||||
self._time = time
|
||||
if not sent:
|
||||
self._time = text_message.time
|
||||
if text_message.author.type == MESSAGE_AUTHOR['NOT_SENT']:
|
||||
movie = QtGui.QMovie(util.join_path(util.get_images_directory(), 'spinner.gif'))
|
||||
self.time.setMovie(movie)
|
||||
movie.start()
|
||||
self.t = True
|
||||
else:
|
||||
self.time.setText(util.convert_time(time))
|
||||
self.time.setText(util.convert_time(text_message.time))
|
||||
self.t = False
|
||||
|
||||
self.message = MessageEdit(text, parent.width() - 160, message_type, self)
|
||||
if message_type != TOX_MESSAGE_TYPE['NORMAL']:
|
||||
self.message = message_browser_factory_method(text_message.text, parent.width() - 160,
|
||||
text_message.type, self)
|
||||
if text_message.type != TOX_MESSAGE_TYPE['NORMAL']:
|
||||
self.name.setStyleSheet("QLabel { color: #5CB3FF; }")
|
||||
self.message.setAlignment(QtCore.Qt.AlignCenter)
|
||||
self.time.setStyleSheet("QLabel { color: #5CB3FF; }")
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
from PyQt5 import QtWidgets, QtGui, QtCore
|
||||
from util.ui import tr
|
||||
from util.util import get_images_directory
|
||||
from util.util import *
|
||||
import os.path
|
||||
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue