plugins improvements

This commit is contained in:
ingvar1995 2017-03-15 23:17:38 +03:00
parent 8a502b4082
commit 7cc404ce52
5 changed files with 164 additions and 136 deletions

View File

@ -65,6 +65,7 @@ class MainWindow(QtGui.QMainWindow, Singleton):
self.audioSettings = QtGui.QAction(Form)
self.pluginData = QtGui.QAction(Form)
self.importPlugin = QtGui.QAction(Form)
self.reloadPlugins = QtGui.QAction(Form)
self.lockApp = QtGui.QAction(Form)
self.menuProfile.addAction(self.actionAdd_friend)
self.menuProfile.addAction(self.actionSettings)
@ -77,6 +78,7 @@ class MainWindow(QtGui.QMainWindow, Singleton):
self.menuSettings.addAction(self.updateSettings)
self.menuPlugins.addAction(self.pluginData)
self.menuPlugins.addAction(self.importPlugin)
self.menuPlugins.addAction(self.reloadPlugins)
self.menuAbout.addAction(self.actionAbout_program)
self.profile_button.setMenu(self.menuProfile)
@ -96,6 +98,7 @@ class MainWindow(QtGui.QMainWindow, Singleton):
self.pluginData.triggered.connect(self.plugins_menu)
self.lockApp.triggered.connect(self.lock_app)
self.importPlugin.triggered.connect(self.import_plugin)
self.reloadPlugins.triggered.connect(self.reload_plugins)
Form.setLayout(box)
QtCore.QMetaObject.connectSlotsByName(Form)
@ -140,6 +143,7 @@ class MainWindow(QtGui.QMainWindow, Singleton):
d = {0: 0, 1: 1, 2: 2, 3: 4, 1 | 4: 4, 2 | 4: 5}
self.online_contacts.setCurrentIndex(d[ind])
self.importPlugin.setText(QtGui.QApplication.translate("MainWindow", "Import plugin", None, QtGui.QApplication.UnicodeUTF8))
self.reloadPlugins.setText(QtGui.QApplication.translate("MainWindow", "Reload plugins", None, QtGui.QApplication.UnicodeUTF8))
def setup_right_bottom(self, Form):
Form.resize(650, 60)
@ -460,6 +464,13 @@ class MainWindow(QtGui.QMainWindow, Singleton):
self.update_s = UpdateSettings()
self.update_s.show()
def reload_plugins(self):
plugin_loader = plugin_support.PluginLoader.get_instance()
if plugin_loader is None:
return
plugin_loader.stop()
plugin_loader.load()
def import_plugin(self):
import util
directory = QtGui.QFileDialog.getExistingDirectory(self,
@ -599,7 +610,9 @@ class MainWindow(QtGui.QMainWindow, Singleton):
block_item = self.listMenu.addAction(QtGui.QApplication.translate("MainWindow", 'Block friend', None, QtGui.QApplication.UnicodeUTF8))
notes_item = self.listMenu.addAction(QtGui.QApplication.translate("MainWindow", 'Notes', None, QtGui.QApplication.UnicodeUTF8))
submenu = plugin_support.PluginLoader.get_instance().get_menu(self.listMenu, num)
plugins_loader = plugin_support.PluginLoader.get_instance()
if plugins_loader is not None:
submenu = plugins_loader.get_menu(self.listMenu, num)
if len(submenu):
plug = self.listMenu.addMenu(QtGui.QApplication.translate("MainWindow", 'Plugins', None, QtGui.QApplication.UnicodeUTF8))
plug.addActions(submenu)

View File

@ -84,47 +84,47 @@ can produce IP leak</source>
<context>
<name>MainWindow</name>
<message>
<location filename="mainscreen.py" line="120"/>
<location filename="mainscreen.py" line="123"/>
<source>Profile</source>
<translation></translation>
</message>
<message>
<location filename="mainscreen.py" line="126"/>
<location filename="mainscreen.py" line="129"/>
<source>Settings</source>
<translation></translation>
</message>
<message>
<location filename="mainscreen.py" line="422"/>
<location filename="mainscreen.py" line="426"/>
<source>About</source>
<translation></translation>
</message>
<message>
<location filename="mainscreen.py" line="119"/>
<location filename="mainscreen.py" line="122"/>
<source>Add contact</source>
<translation></translation>
</message>
<message>
<location filename="mainscreen.py" line="121"/>
<location filename="mainscreen.py" line="124"/>
<source>Privacy</source>
<translation></translation>
</message>
<message>
<location filename="mainscreen.py" line="122"/>
<location filename="mainscreen.py" line="125"/>
<source>Interface</source>
<translation></translation>
</message>
<message>
<location filename="mainscreen.py" line="123"/>
<location filename="mainscreen.py" line="126"/>
<source>Notifications</source>
<translation></translation>
</message>
<message>
<location filename="mainscreen.py" line="124"/>
<location filename="mainscreen.py" line="127"/>
<source>Network</source>
<translation></translation>
</message>
<message>
<location filename="mainscreen.py" line="125"/>
<location filename="mainscreen.py" line="128"/>
<source>About program</source>
<translation></translation>
</message>
@ -140,32 +140,32 @@ can produce IP leak</source>
<translation></translation>
</message>
<message>
<location filename="mainscreen.py" line="517"/>
<location filename="mainscreen.py" line="528"/>
<source>Choose file</source>
<translation>Choose file</translation>
</message>
<message>
<location filename="mainscreen.py" line="582"/>
<location filename="mainscreen.py" line="593"/>
<source>Disallow auto accept</source>
<translation></translation>
</message>
<message>
<location filename="mainscreen.py" line="583"/>
<location filename="mainscreen.py" line="594"/>
<source>Allow auto accept</source>
<translation></translation>
</message>
<message>
<location filename="mainscreen.py" line="585"/>
<location filename="mainscreen.py" line="596"/>
<source>Set alias</source>
<translation></translation>
</message>
<message>
<location filename="mainscreen.py" line="588"/>
<location filename="mainscreen.py" line="599"/>
<source>Clear history</source>
<translation></translation>
</message>
<message>
<location filename="mainscreen.py" line="598"/>
<location filename="mainscreen.py" line="609"/>
<source>Remove friend</source>
<translation></translation>
</message>
@ -175,7 +175,7 @@ can produce IP leak</source>
<translation>Enter new alias for friend {} or leave empty to use friend&apos;s name:</translation>
</message>
<message>
<location filename="mainscreen.py" line="127"/>
<location filename="mainscreen.py" line="130"/>
<source>Audio</source>
<translation>Audio</translation>
</message>
@ -190,7 +190,7 @@ can produce IP leak</source>
<translation>Friend added</translation>
</message>
<message>
<location filename="mainscreen.py" line="423"/>
<location filename="mainscreen.py" line="427"/>
<source>Toxygen is Tox client written on Python.
Version: </source>
<translation>Toxygen is Tox client written on Python.
@ -202,7 +202,7 @@ Version:</translation>
<translation>Friend added without sending friend request</translation>
</message>
<message>
<location filename="mainscreen.py" line="642"/>
<location filename="mainscreen.py" line="655"/>
<source>Choose folder</source>
<translation>Choose folder</translation>
</message>
@ -217,22 +217,22 @@ Version:</translation>
<translation type="obsolete">Send file</translation>
</message>
<message>
<location filename="mainscreen.py" line="130"/>
<location filename="mainscreen.py" line="133"/>
<source>Send message</source>
<translation>Send message</translation>
</message>
<message>
<location filename="mainscreen.py" line="131"/>
<location filename="mainscreen.py" line="134"/>
<source>Start audio call with friend</source>
<translation>Start audio call with friend</translation>
</message>
<message>
<location filename="mainscreen.py" line="604"/>
<location filename="mainscreen.py" line="617"/>
<source>Plugins</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainscreen.py" line="115"/>
<location filename="mainscreen.py" line="118"/>
<source>List of plugins</source>
<translation type="unfinished"></translation>
</message>
@ -242,22 +242,22 @@ Version:</translation>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainscreen.py" line="133"/>
<location filename="mainscreen.py" line="136"/>
<source>All</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainscreen.py" line="134"/>
<location filename="mainscreen.py" line="137"/>
<source>Online</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainscreen.py" line="600"/>
<location filename="mainscreen.py" line="611"/>
<source>Notes</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainscreen.py" line="626"/>
<location filename="mainscreen.py" line="639"/>
<source>Notes about user</source>
<translation type="unfinished"></translation>
</message>
@ -317,32 +317,32 @@ Version:</translation>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainscreen.py" line="113"/>
<location filename="mainscreen.py" line="116"/>
<source>Lock</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainscreen.py" line="490"/>
<location filename="mainscreen.py" line="501"/>
<source>Cannot lock app</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainscreen.py" line="493"/>
<location filename="mainscreen.py" line="504"/>
<source>Error. Profile password is not set.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainscreen.py" line="593"/>
<location filename="mainscreen.py" line="604"/>
<source>Name</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainscreen.py" line="594"/>
<location filename="mainscreen.py" line="605"/>
<source>Status message</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainscreen.py" line="595"/>
<location filename="mainscreen.py" line="606"/>
<source>Public key</source>
<translation type="unfinished"></translation>
</message>
@ -367,22 +367,22 @@ Version:</translation>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainscreen.py" line="142"/>
<location filename="mainscreen.py" line="145"/>
<source>Import plugin</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainscreen.py" line="468"/>
<location filename="mainscreen.py" line="479"/>
<source>Choose folder with plugin</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainscreen.py" line="477"/>
<location filename="mainscreen.py" line="488"/>
<source>Restart Toxygen</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainscreen.py" line="480"/>
<location filename="mainscreen.py" line="491"/>
<source>Plugin will be loaded after restart</source>
<translation type="unfinished"></translation>
</message>
@ -392,42 +392,42 @@ Version:</translation>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainscreen.py" line="587"/>
<location filename="mainscreen.py" line="598"/>
<source>Chat history</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainscreen.py" line="589"/>
<location filename="mainscreen.py" line="600"/>
<source>Export as text</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainscreen.py" line="590"/>
<location filename="mainscreen.py" line="601"/>
<source>Export as HTML</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainscreen.py" line="128"/>
<location filename="mainscreen.py" line="131"/>
<source>Updates</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainscreen.py" line="135"/>
<location filename="mainscreen.py" line="138"/>
<source>Online first</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainscreen.py" line="137"/>
<location filename="mainscreen.py" line="140"/>
<source>Online and by name</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainscreen.py" line="138"/>
<location filename="mainscreen.py" line="141"/>
<source>Online first and by name</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainscreen.py" line="599"/>
<location filename="mainscreen.py" line="610"/>
<source>Block friend</source>
<translation type="unfinished"></translation>
</message>
@ -441,6 +441,11 @@ Version:</translation>
<source>Text &quot;{}&quot; was not found</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainscreen.py" line="146"/>
<source>Reload plugins</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>MenuWindow</name>

View File

@ -84,47 +84,47 @@ can produce IP leak</source>
<context>
<name>MainWindow</name>
<message>
<location filename="mainscreen.py" line="120"/>
<location filename="mainscreen.py" line="123"/>
<source>Profile</source>
<translation>Profile</translation>
</message>
<message>
<location filename="mainscreen.py" line="126"/>
<location filename="mainscreen.py" line="129"/>
<source>Settings</source>
<translation>Paramêtres</translation>
</message>
<message>
<location filename="mainscreen.py" line="422"/>
<location filename="mainscreen.py" line="426"/>
<source>About</source>
<translation>À Propos</translation>
</message>
<message>
<location filename="mainscreen.py" line="119"/>
<location filename="mainscreen.py" line="122"/>
<source>Add contact</source>
<translation>Rajouter un contact</translation>
</message>
<message>
<location filename="mainscreen.py" line="121"/>
<location filename="mainscreen.py" line="124"/>
<source>Privacy</source>
<translation>Confidentialité</translation>
</message>
<message>
<location filename="mainscreen.py" line="122"/>
<location filename="mainscreen.py" line="125"/>
<source>Interface</source>
<translation>Interface</translation>
</message>
<message>
<location filename="mainscreen.py" line="123"/>
<location filename="mainscreen.py" line="126"/>
<source>Notifications</source>
<translation>Notifications</translation>
</message>
<message>
<location filename="mainscreen.py" line="124"/>
<location filename="mainscreen.py" line="127"/>
<source>Network</source>
<translation>Réseau</translation>
</message>
<message>
<location filename="mainscreen.py" line="125"/>
<location filename="mainscreen.py" line="128"/>
<source>About program</source>
<translation>À propos du programme</translation>
</message>
@ -145,27 +145,27 @@ can produce IP leak</source>
<translation type="obsolete">Toxygen est un client Tox écris en Python 2.7. Version : </translation>
</message>
<message>
<location filename="mainscreen.py" line="517"/>
<location filename="mainscreen.py" line="528"/>
<source>Choose file</source>
<translation>Choisir un fichier</translation>
</message>
<message>
<location filename="mainscreen.py" line="582"/>
<location filename="mainscreen.py" line="593"/>
<source>Disallow auto accept</source>
<translation>Désactiver l&apos;auto-réception</translation>
</message>
<message>
<location filename="mainscreen.py" line="583"/>
<location filename="mainscreen.py" line="594"/>
<source>Allow auto accept</source>
<translation>Activer l&apos;auto-réception</translation>
</message>
<message>
<location filename="mainscreen.py" line="585"/>
<location filename="mainscreen.py" line="596"/>
<source>Set alias</source>
<translation>Définir un alias</translation>
</message>
<message>
<location filename="mainscreen.py" line="588"/>
<location filename="mainscreen.py" line="599"/>
<source>Clear history</source>
<translation>Vider l&apos;historique</translation>
</message>
@ -175,7 +175,7 @@ can produce IP leak</source>
<translation type="obsolete">Copier la clé publique</translation>
</message>
<message>
<location filename="mainscreen.py" line="598"/>
<location filename="mainscreen.py" line="609"/>
<source>Remove friend</source>
<translation>Retirer un ami</translation>
</message>
@ -185,7 +185,7 @@ can produce IP leak</source>
<translation>Entrez un nouvel alias pour l&apos;ami {} ou laissez vide pour garder son nom de base :</translation>
</message>
<message>
<location filename="mainscreen.py" line="127"/>
<location filename="mainscreen.py" line="130"/>
<source>Audio</source>
<translation>Audio</translation>
</message>
@ -200,7 +200,7 @@ can produce IP leak</source>
<translation>Ami rajouté</translation>
</message>
<message>
<location filename="mainscreen.py" line="423"/>
<location filename="mainscreen.py" line="427"/>
<source>Toxygen is Tox client written on Python.
Version: </source>
<translation>Toxygen est un client Tox écrit en Python.
@ -212,7 +212,7 @@ Version :</translation>
<translation>Ami rajouté sans avoir envoyé de demande</translation>
</message>
<message>
<location filename="mainscreen.py" line="642"/>
<location filename="mainscreen.py" line="655"/>
<source>Choose folder</source>
<translation>Choisir le dossier</translation>
</message>
@ -227,22 +227,22 @@ Version :</translation>
<translation type="obsolete">Envoyer le fichier</translation>
</message>
<message>
<location filename="mainscreen.py" line="130"/>
<location filename="mainscreen.py" line="133"/>
<source>Send message</source>
<translation>Envoyer le message</translation>
</message>
<message>
<location filename="mainscreen.py" line="131"/>
<location filename="mainscreen.py" line="134"/>
<source>Start audio call with friend</source>
<translation>Lancer un appel audio avec un ami</translation>
</message>
<message>
<location filename="mainscreen.py" line="604"/>
<location filename="mainscreen.py" line="617"/>
<source>Plugins</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainscreen.py" line="115"/>
<location filename="mainscreen.py" line="118"/>
<source>List of plugins</source>
<translation type="unfinished"></translation>
</message>
@ -252,22 +252,22 @@ Version :</translation>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainscreen.py" line="133"/>
<location filename="mainscreen.py" line="136"/>
<source>All</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainscreen.py" line="134"/>
<location filename="mainscreen.py" line="137"/>
<source>Online</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainscreen.py" line="600"/>
<location filename="mainscreen.py" line="611"/>
<source>Notes</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainscreen.py" line="626"/>
<location filename="mainscreen.py" line="639"/>
<source>Notes about user</source>
<translation type="unfinished"></translation>
</message>
@ -327,32 +327,32 @@ Version :</translation>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainscreen.py" line="113"/>
<location filename="mainscreen.py" line="116"/>
<source>Lock</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainscreen.py" line="490"/>
<location filename="mainscreen.py" line="501"/>
<source>Cannot lock app</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainscreen.py" line="493"/>
<location filename="mainscreen.py" line="504"/>
<source>Error. Profile password is not set.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainscreen.py" line="593"/>
<location filename="mainscreen.py" line="604"/>
<source>Name</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainscreen.py" line="594"/>
<location filename="mainscreen.py" line="605"/>
<source>Status message</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainscreen.py" line="595"/>
<location filename="mainscreen.py" line="606"/>
<source>Public key</source>
<translation type="unfinished"></translation>
</message>
@ -377,22 +377,22 @@ Version :</translation>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainscreen.py" line="142"/>
<location filename="mainscreen.py" line="145"/>
<source>Import plugin</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainscreen.py" line="468"/>
<location filename="mainscreen.py" line="479"/>
<source>Choose folder with plugin</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainscreen.py" line="477"/>
<location filename="mainscreen.py" line="488"/>
<source>Restart Toxygen</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainscreen.py" line="480"/>
<location filename="mainscreen.py" line="491"/>
<source>Plugin will be loaded after restart</source>
<translation type="unfinished"></translation>
</message>
@ -402,42 +402,42 @@ Version :</translation>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainscreen.py" line="587"/>
<location filename="mainscreen.py" line="598"/>
<source>Chat history</source>
<translation type="unfinished">Historique de chat</translation>
</message>
<message>
<location filename="mainscreen.py" line="589"/>
<location filename="mainscreen.py" line="600"/>
<source>Export as text</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainscreen.py" line="590"/>
<location filename="mainscreen.py" line="601"/>
<source>Export as HTML</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainscreen.py" line="128"/>
<location filename="mainscreen.py" line="131"/>
<source>Updates</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainscreen.py" line="135"/>
<location filename="mainscreen.py" line="138"/>
<source>Online first</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainscreen.py" line="137"/>
<location filename="mainscreen.py" line="140"/>
<source>Online and by name</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainscreen.py" line="138"/>
<location filename="mainscreen.py" line="141"/>
<source>Online first and by name</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainscreen.py" line="599"/>
<location filename="mainscreen.py" line="610"/>
<source>Block friend</source>
<translation type="unfinished"></translation>
</message>
@ -451,6 +451,11 @@ Version :</translation>
<source>Text &quot;{}&quot; was not found</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="mainscreen.py" line="146"/>
<source>Reload plugins</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>MenuWindow</name>

Binary file not shown.

View File

@ -87,47 +87,47 @@ can produce IP leak</source>
<context>
<name>MainWindow</name>
<message>
<location filename="mainscreen.py" line="120"/>
<location filename="mainscreen.py" line="123"/>
<source>Profile</source>
<translation>Профиль</translation>
</message>
<message>
<location filename="mainscreen.py" line="126"/>
<location filename="mainscreen.py" line="129"/>
<source>Settings</source>
<translation>Настройки</translation>
</message>
<message>
<location filename="mainscreen.py" line="422"/>
<location filename="mainscreen.py" line="426"/>
<source>About</source>
<translation>О программе</translation>
</message>
<message>
<location filename="mainscreen.py" line="119"/>
<location filename="mainscreen.py" line="122"/>
<source>Add contact</source>
<translation>Добавить контакт</translation>
</message>
<message>
<location filename="mainscreen.py" line="121"/>
<location filename="mainscreen.py" line="124"/>
<source>Privacy</source>
<translation>Приватность</translation>
</message>
<message>
<location filename="mainscreen.py" line="122"/>
<location filename="mainscreen.py" line="125"/>
<source>Interface</source>
<translation>Интерфейс</translation>
</message>
<message>
<location filename="mainscreen.py" line="123"/>
<location filename="mainscreen.py" line="126"/>
<source>Notifications</source>
<translation>Уведомления</translation>
</message>
<message>
<location filename="mainscreen.py" line="124"/>
<location filename="mainscreen.py" line="127"/>
<source>Network</source>
<translation>Сеть</translation>
</message>
<message>
<location filename="mainscreen.py" line="125"/>
<location filename="mainscreen.py" line="128"/>
<source>About program</source>
<translation>О программе</translation>
</message>
@ -144,27 +144,27 @@ can produce IP leak</source>
<translation>Запрос на добавление в друзья</translation>
</message>
<message>
<location filename="mainscreen.py" line="517"/>
<location filename="mainscreen.py" line="528"/>
<source>Choose file</source>
<translation>Выберите файл</translation>
</message>
<message>
<location filename="mainscreen.py" line="582"/>
<location filename="mainscreen.py" line="593"/>
<source>Disallow auto accept</source>
<translation>Запретить автоматическое получение файлов</translation>
</message>
<message>
<location filename="mainscreen.py" line="583"/>
<location filename="mainscreen.py" line="594"/>
<source>Allow auto accept</source>
<translation>Разрешить автоматическое получение файлов</translation>
</message>
<message>
<location filename="mainscreen.py" line="585"/>
<location filename="mainscreen.py" line="596"/>
<source>Set alias</source>
<translation>Изменить псевдоним</translation>
</message>
<message>
<location filename="mainscreen.py" line="588"/>
<location filename="mainscreen.py" line="599"/>
<source>Clear history</source>
<translation>Очистить историю</translation>
</message>
@ -174,7 +174,7 @@ can produce IP leak</source>
<translation type="obsolete">Копировать публичный ключ</translation>
</message>
<message>
<location filename="mainscreen.py" line="598"/>
<location filename="mainscreen.py" line="609"/>
<source>Remove friend</source>
<translation>Удалить друга</translation>
</message>
@ -184,7 +184,7 @@ can produce IP leak</source>
<translation>Введите новый псевдоним для друга {} или оставьте пустым для использования его имени:</translation>
</message>
<message>
<location filename="mainscreen.py" line="127"/>
<location filename="mainscreen.py" line="130"/>
<source>Audio</source>
<translation>Аудио</translation>
</message>
@ -199,7 +199,7 @@ can produce IP leak</source>
<translation>Друг добавлен</translation>
</message>
<message>
<location filename="mainscreen.py" line="423"/>
<location filename="mainscreen.py" line="427"/>
<source>Toxygen is Tox client written on Python.
Version: </source>
<translation>Toxygen - клиент для мессенджера Tox, написанный на Python. Версия: </translation>
@ -210,7 +210,7 @@ Version: </source>
<translation>Друг добавлен без отправки запроса на добавление в друзья</translation>
</message>
<message>
<location filename="mainscreen.py" line="642"/>
<location filename="mainscreen.py" line="655"/>
<source>Choose folder</source>
<translation>Выбрать папку</translation>
</message>
@ -225,22 +225,22 @@ Version: </source>
<translation type="obsolete">Отправить файл</translation>
</message>
<message>
<location filename="mainscreen.py" line="130"/>
<location filename="mainscreen.py" line="133"/>
<source>Send message</source>
<translation>Отправить сообщение</translation>
</message>
<message>
<location filename="mainscreen.py" line="131"/>
<location filename="mainscreen.py" line="134"/>
<source>Start audio call with friend</source>
<translation>Начать аудиозвонок с другом</translation>
</message>
<message>
<location filename="mainscreen.py" line="604"/>
<location filename="mainscreen.py" line="617"/>
<source>Plugins</source>
<translation>Плагины</translation>
</message>
<message>
<location filename="mainscreen.py" line="115"/>
<location filename="mainscreen.py" line="118"/>
<source>List of plugins</source>
<translation>Список плагинов</translation>
</message>
@ -250,22 +250,22 @@ Version: </source>
<translation>Поиск</translation>
</message>
<message>
<location filename="mainscreen.py" line="133"/>
<location filename="mainscreen.py" line="136"/>
<source>All</source>
<translation>Все</translation>
</message>
<message>
<location filename="mainscreen.py" line="134"/>
<location filename="mainscreen.py" line="137"/>
<source>Online</source>
<translation>Онлайн</translation>
</message>
<message>
<location filename="mainscreen.py" line="600"/>
<location filename="mainscreen.py" line="611"/>
<source>Notes</source>
<translation>Заметки</translation>
</message>
<message>
<location filename="mainscreen.py" line="626"/>
<location filename="mainscreen.py" line="639"/>
<source>Notes about user</source>
<translation>Заметки о пользователе</translation>
</message>
@ -325,32 +325,32 @@ Version: </source>
<translation>Удалить сообщение</translation>
</message>
<message>
<location filename="mainscreen.py" line="113"/>
<location filename="mainscreen.py" line="116"/>
<source>Lock</source>
<translation>Заблокировать</translation>
</message>
<message>
<location filename="mainscreen.py" line="490"/>
<location filename="mainscreen.py" line="501"/>
<source>Cannot lock app</source>
<translation>Невозможно заблокировать приложение</translation>
</message>
<message>
<location filename="mainscreen.py" line="493"/>
<location filename="mainscreen.py" line="504"/>
<source>Error. Profile password is not set.</source>
<translation>Ошибка. Пароль профиля не установлен.</translation>
</message>
<message>
<location filename="mainscreen.py" line="593"/>
<location filename="mainscreen.py" line="604"/>
<source>Name</source>
<translation>Имя</translation>
</message>
<message>
<location filename="mainscreen.py" line="594"/>
<location filename="mainscreen.py" line="605"/>
<source>Status message</source>
<translation>Статус</translation>
</message>
<message>
<location filename="mainscreen.py" line="595"/>
<location filename="mainscreen.py" line="606"/>
<source>Public key</source>
<translation>Публичный ключ</translation>
</message>
@ -375,22 +375,22 @@ Version: </source>
<translation>Выберите папку с паком смайлов</translation>
</message>
<message>
<location filename="mainscreen.py" line="142"/>
<location filename="mainscreen.py" line="145"/>
<source>Import plugin</source>
<translation>Импортировать плагин</translation>
</message>
<message>
<location filename="mainscreen.py" line="468"/>
<location filename="mainscreen.py" line="479"/>
<source>Choose folder with plugin</source>
<translation>Выберите папку с плагином</translation>
</message>
<message>
<location filename="mainscreen.py" line="477"/>
<location filename="mainscreen.py" line="488"/>
<source>Restart Toxygen</source>
<translation>Перезапустите Toxygen</translation>
</message>
<message>
<location filename="mainscreen.py" line="480"/>
<location filename="mainscreen.py" line="491"/>
<source>Plugin will be loaded after restart</source>
<translation>Плагин будет загружен после перезапуска</translation>
</message>
@ -400,42 +400,42 @@ Version: </source>
<translation>Цитировать выбранный текст</translation>
</message>
<message>
<location filename="mainscreen.py" line="587"/>
<location filename="mainscreen.py" line="598"/>
<source>Chat history</source>
<translation>История чата</translation>
</message>
<message>
<location filename="mainscreen.py" line="589"/>
<location filename="mainscreen.py" line="600"/>
<source>Export as text</source>
<translation>Экспортировать как текст</translation>
</message>
<message>
<location filename="mainscreen.py" line="590"/>
<location filename="mainscreen.py" line="601"/>
<source>Export as HTML</source>
<translation>Экспортировать как HTML</translation>
</message>
<message>
<location filename="mainscreen.py" line="128"/>
<location filename="mainscreen.py" line="131"/>
<source>Updates</source>
<translation>Обновления</translation>
</message>
<message>
<location filename="mainscreen.py" line="135"/>
<location filename="mainscreen.py" line="138"/>
<source>Online first</source>
<translation>Сначала онлайн</translation>
</message>
<message>
<location filename="mainscreen.py" line="137"/>
<location filename="mainscreen.py" line="140"/>
<source>Online and by name</source>
<translation>Онлайн и по имени</translation>
</message>
<message>
<location filename="mainscreen.py" line="138"/>
<location filename="mainscreen.py" line="141"/>
<source>Online first and by name</source>
<translation>Сначала онлайн и по имени</translation>
</message>
<message>
<location filename="mainscreen.py" line="599"/>
<location filename="mainscreen.py" line="610"/>
<source>Block friend</source>
<translation>Заблокировать друга</translation>
</message>
@ -449,6 +449,11 @@ Version: </source>
<source>Text &quot;{}&quot; was not found</source>
<translation>Текст &quot;{}&quot; не был найден</translation>
</message>
<message>
<location filename="mainscreen.py" line="146"/>
<source>Reload plugins</source>
<translation>Перезагрузить плагины</translation>
</message>
</context>
<context>
<name>MenuWindow</name>