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.audioSettings = QtGui.QAction(Form)
self.pluginData = QtGui.QAction(Form) self.pluginData = QtGui.QAction(Form)
self.importPlugin = QtGui.QAction(Form) self.importPlugin = QtGui.QAction(Form)
self.reloadPlugins = QtGui.QAction(Form)
self.lockApp = QtGui.QAction(Form) self.lockApp = QtGui.QAction(Form)
self.menuProfile.addAction(self.actionAdd_friend) self.menuProfile.addAction(self.actionAdd_friend)
self.menuProfile.addAction(self.actionSettings) self.menuProfile.addAction(self.actionSettings)
@ -77,6 +78,7 @@ class MainWindow(QtGui.QMainWindow, Singleton):
self.menuSettings.addAction(self.updateSettings) self.menuSettings.addAction(self.updateSettings)
self.menuPlugins.addAction(self.pluginData) self.menuPlugins.addAction(self.pluginData)
self.menuPlugins.addAction(self.importPlugin) self.menuPlugins.addAction(self.importPlugin)
self.menuPlugins.addAction(self.reloadPlugins)
self.menuAbout.addAction(self.actionAbout_program) self.menuAbout.addAction(self.actionAbout_program)
self.profile_button.setMenu(self.menuProfile) self.profile_button.setMenu(self.menuProfile)
@ -96,6 +98,7 @@ class MainWindow(QtGui.QMainWindow, Singleton):
self.pluginData.triggered.connect(self.plugins_menu) self.pluginData.triggered.connect(self.plugins_menu)
self.lockApp.triggered.connect(self.lock_app) self.lockApp.triggered.connect(self.lock_app)
self.importPlugin.triggered.connect(self.import_plugin) self.importPlugin.triggered.connect(self.import_plugin)
self.reloadPlugins.triggered.connect(self.reload_plugins)
Form.setLayout(box) Form.setLayout(box)
QtCore.QMetaObject.connectSlotsByName(Form) 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} d = {0: 0, 1: 1, 2: 2, 3: 4, 1 | 4: 4, 2 | 4: 5}
self.online_contacts.setCurrentIndex(d[ind]) self.online_contacts.setCurrentIndex(d[ind])
self.importPlugin.setText(QtGui.QApplication.translate("MainWindow", "Import plugin", None, QtGui.QApplication.UnicodeUTF8)) 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): def setup_right_bottom(self, Form):
Form.resize(650, 60) Form.resize(650, 60)
@ -460,6 +464,13 @@ class MainWindow(QtGui.QMainWindow, Singleton):
self.update_s = UpdateSettings() self.update_s = UpdateSettings()
self.update_s.show() 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): def import_plugin(self):
import util import util
directory = QtGui.QFileDialog.getExistingDirectory(self, 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)) 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)) 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): if len(submenu):
plug = self.listMenu.addMenu(QtGui.QApplication.translate("MainWindow", 'Plugins', None, QtGui.QApplication.UnicodeUTF8)) plug = self.listMenu.addMenu(QtGui.QApplication.translate("MainWindow", 'Plugins', None, QtGui.QApplication.UnicodeUTF8))
plug.addActions(submenu) plug.addActions(submenu)

View File

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

View File

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

Binary file not shown.

View File

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