Browse Source

Merge branch 'newsettings' of https://github.com/tux3/qTox into newsettings

Conflicts:
	res.qrc
	widget/widget.cpp
pull/350/head
dubslow 11 years ago
parent
commit
6c365c2260
  1. 2
      README.md
  2. 5
      core.cpp
  3. 2
      core.h
  4. 26
      corestructs.h
  5. 36
      misc/smileypack.cpp
  6. 9
      misc/smileypack.h
  7. 4
      qtox.pro
  8. 2
      res.qrc
  9. BIN
      translations/de.qm
  10. 294
      translations/de.ts
  11. BIN
      translations/fr.qm
  12. 332
      translations/fr.ts
  13. BIN
      translations/it.qm
  14. 240
      translations/it.ts
  15. BIN
      translations/mannol.qm
  16. 458
      translations/mannol.ts
  17. BIN
      translations/pl.qm
  18. 462
      translations/pl.ts
  19. BIN
      translations/ru.qm
  20. 346
      translations/ru.ts
  21. 4
      ui/chatArea/innerStyle.css
  22. 15
      widget/chatareawidget.cpp
  23. 4
      widget/form/addfriendform.cpp
  24. 380
      widget/settingsdialog.cpp
  25. 64
      widget/settingsdialog.h
  26. 6
      widget/tool/chataction.cpp
  27. 7
      widget/widget.cpp
  28. 2
      widget/widget.h

2
README.md

@ -11,7 +11,7 @@ However, it is not a fork. @@ -11,7 +11,7 @@ However, it is not a fork.
- Group chats
- File transfers, with previewing of images
- Audio calls
- Video calls (alpha)
- Video calls
- Tox DNS
- Translations in various languages

5
core.cpp

@ -718,12 +718,11 @@ void Core::setUsername(const QString& username) @@ -718,12 +718,11 @@ void Core::setUsername(const QString& username)
}
}
QString Core::getSelfId()
ToxID Core::getSelfId()
{
uint8_t friendAddress[TOX_FRIEND_ADDRESS_SIZE];
tox_get_address(tox, friendAddress);
return CFriendAddress::toString(friendAddress);
return ToxID::fromString(CFriendAddress::toString(friendAddress));
}
QString Core::getStatusMessage()

2
core.h

@ -49,7 +49,7 @@ public: @@ -49,7 +49,7 @@ public:
QString getUsername();
QString getStatusMessage();
QString getSelfId();
ToxID getSelfId();
void increaseVideoBusyness();
void decreaseVideoBusyness();

26
corestructs.h

@ -10,6 +10,32 @@ class QTimer; @@ -10,6 +10,32 @@ class QTimer;
enum class Status : int {Online = 0, Away, Busy, Offline};
#define TOX_ID_PUBLIC_KEY_LENGTH 64
#define TOX_ID_NO_SPAM_LENGTH 8
#define TOX_ID_CHECKSUM_LENGTH 4
struct ToxID
{
QString publicKey;
QString noSpam;
QString checkSum;
QString toString() const
{
return publicKey + noSpam + checkSum;
}
ToxID static fromString(QString id)
{
ToxID toxID;
toxID.publicKey = id.left(TOX_ID_PUBLIC_KEY_LENGTH);
toxID.noSpam = id.mid(TOX_ID_PUBLIC_KEY_LENGTH, TOX_ID_NO_SPAM_LENGTH);
toxID.checkSum = id.right(TOX_ID_CHECKSUM_LENGTH);
return toxID;
}
};
struct DhtServer
{
QString name;

36
misc/smileypack.cpp

@ -40,24 +40,38 @@ SmileyPack& SmileyPack::getInstance() @@ -40,24 +40,38 @@ SmileyPack& SmileyPack::getInstance()
return smileyPack;
}
QList<QPair<QString, QString> > SmileyPack::listSmileyPacks(const QString &path)
QList<QPair<QString, QString> > SmileyPack::listSmileyPacks(const QStringList &paths)
{
QList<QPair<QString, QString> > smileyPacks;
QDir dir(path);
foreach (const QString& subdirectory, dir.entryList(QDir::Dirs | QDir::NoDotAndDotDot))
for (QString path : paths)
{
dir.cd(subdirectory);
if (path.leftRef(1) == "~")
path.replace(0, 1, QDir::homePath());
QFileInfoList entries = dir.entryInfoList(QStringList() << "emoticons.xml", QDir::Files);
if (entries.size() > 0) // does it contain a file called emoticons.xml?
QDir dir(path);
if (!dir.exists())
continue;
for (const QString& subdirectory : dir.entryList(QDir::Dirs | QDir::NoDotAndDotDot))
{
QString packageName = dir.dirName();
QString relPath = QDir(QCoreApplication::applicationDirPath()).relativeFilePath(entries[0].absoluteFilePath());
smileyPacks << QPair<QString, QString>(packageName, relPath);
dir.cd(subdirectory);
QFileInfoList entries = dir.entryInfoList(QStringList() << "emoticons.xml", QDir::Files);
if (entries.size() > 0) // does it contain a file called emoticons.xml?
{
QString packageName = dir.dirName();
QString absPath = entries[0].absoluteFilePath();
QString relPath = QDir(QCoreApplication::applicationDirPath()).relativeFilePath(absPath);
if (relPath.leftRef(2) == "..")
smileyPacks << QPair<QString, QString>(packageName, absPath);
else
smileyPacks << QPair<QString, QString>(packageName, relPath); // use relative path for subdirectories
}
dir.cdUp();
}
dir.cdUp();
}
return smileyPacks;

9
misc/smileypack.h

@ -22,7 +22,10 @@ @@ -22,7 +22,10 @@
#include <QString>
#include <QStringList>
#define SMILEYPACK_DEFAULT_PATH "./smileys"
#define SMILEYPACK_SEARCH_PATHS \
{ \
"./smileys", "/usr/share/qtox/smileys", "/usr/share/emoticons", "~/.kde4/share/emoticons", "~/.kde/share/emoticons" \
}
//maps emoticons to smileys
class SmileyPack : public QObject
@ -30,10 +33,10 @@ class SmileyPack : public QObject @@ -30,10 +33,10 @@ class SmileyPack : public QObject
Q_OBJECT
public:
static SmileyPack& getInstance();
static QList<QPair<QString, QString>> listSmileyPacks(const QString& path = SMILEYPACK_DEFAULT_PATH);
static QList<QPair<QString, QString> > listSmileyPacks(const QStringList& paths = SMILEYPACK_SEARCH_PATHS);
static bool isValid(const QString& filename);
bool load(const QString &filename);
bool load(const QString& filename);
QString smileyfied(QString msg);
QList<QStringList> getEmoticons() const;
QString getAsRichText(const QString& key);

4
qtox.pro

@ -32,7 +32,9 @@ CONFIG += c++11 @@ -32,7 +32,9 @@ CONFIG += c++11
TRANSLATIONS = translations/de.ts \
translations/fr.ts \
translations/it.ts \
translations/ru.ts
translations/ru.ts \
translations/pl.ts \
translations/mannol.ts
RESOURCES += res.qrc

2
res.qrc

@ -139,5 +139,7 @@ @@ -139,5 +139,7 @@
<file>img/settings/identity.png</file>
<file>img/settings/privacy.png</file>
<file>img/settings/av.png</file>
<file>translations/pl.qm</file>
<file>translations/mannol.qm</file>
</qresource>
</RCC>

BIN
translations/de.qm

Binary file not shown.

294
translations/de.ts

@ -1,75 +1,102 @@ @@ -1,75 +1,102 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="de_DE">
<context>
<name>AVPage</name>
<message>
<location filename="../widget/settingsdialog.cpp" line="132"/>
<source>Video Settings</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../widget/settingsdialog.cpp" line="136"/>
<location filename="../widget/settingsdialog.cpp" line="163"/>
<source>Show video preview</source>
<comment>On a button</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../widget/settingsdialog.cpp" line="157"/>
<source>Hide video preview</source>
<comment>On a button</comment>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>AddFriendForm</name>
<message>
<location filename="../widget/form/addfriendform.cpp" line="32"/>
<location filename="../widget/form/addfriendform.cpp" line="34"/>
<source>Add Friends</source>
<translation>Freunde hinzufügen</translation>
</message>
<message>
<location filename="../widget/form/addfriendform.cpp" line="35"/>
<location filename="../widget/form/addfriendform.cpp" line="37"/>
<source>Tox ID</source>
<comment>Tox ID of the person you&apos;re sending a friend request to</comment>
<translation>Tox ID</translation>
</message>
<message>
<location filename="../widget/form/addfriendform.cpp" line="36"/>
<location filename="../widget/form/addfriendform.cpp" line="38"/>
<source>Message</source>
<comment>The message you send in friend requests</comment>
<translation>Nachricht</translation>
</message>
<message>
<location filename="../widget/form/addfriendform.cpp" line="37"/>
<location filename="../widget/form/addfriendform.cpp" line="39"/>
<source>Send friend request</source>
<translation>Freundschaftseinladung versenden</translation>
</message>
<message>
<location filename="../widget/form/addfriendform.cpp" line="38"/>
<location filename="../widget/form/addfriendform.cpp" line="40"/>
<source>Tox me maybe?</source>
<comment>Default message in friend requests if the field is left blank. Write something appropriate!</comment>
<translation>Lass uns Toxen!</translation>
</message>
<message>
<location filename="../widget/form/addfriendform.cpp" line="93"/>
<location filename="../widget/form/addfriendform.cpp" line="96"/>
<source>Please fill in a valid Tox ID</source>
<comment>Tox ID of the friend you&apos;re sending a friend request to</comment>
<translation>Bitte gib eine gültige Tox ID ein</translation>
</message>
<message>
<location filename="../widget/form/addfriendform.cpp" line="110"/>
<location filename="../widget/form/addfriendform.cpp" line="99"/>
<source>You can&apos;t add yourself as a friend!</source>
<comment>When trying to add your own Tox ID as friend</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../widget/form/addfriendform.cpp" line="116"/>
<source>This address does not exist</source>
<comment>The DNS gives the Tox ID associated to toxme.se addresses</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../widget/form/addfriendform.cpp" line="114"/>
<location filename="../widget/form/addfriendform.cpp" line="120"/>
<source>Error while looking up DNS</source>
<comment>The DNS gives the Tox ID associated to toxme.se addresses</comment>
<translation>Fehler beim Auflösen des DNS</translation>
</message>
<message>
<location filename="../widget/form/addfriendform.cpp" line="120"/>
<location filename="../widget/form/addfriendform.cpp" line="126"/>
<source>Unexpected number of text records</source>
<comment>Error with the DNS</comment>
<translation>Unererwartete Anzahl von Texteinträgen</translation>
</message>
<message>
<location filename="../widget/form/addfriendform.cpp" line="126"/>
<location filename="../widget/form/addfriendform.cpp" line="132"/>
<source>Unexpected number of values in text record</source>
<comment>Error with the DNS</comment>
<translation>Unerwartete Anzahl von Werten innerhalb des Texteintrages</translation>
</message>
<message>
<location filename="../widget/form/addfriendform.cpp" line="133"/>
<location filename="../widget/form/addfriendform.cpp" line="139"/>
<source>The DNS lookup does not contain any Tox ID</source>
<comment>Error with the DNS</comment>
<translation>Der DNS Eintrag enthält keine gültige TOX ID</translation>
</message>
<message>
<location filename="../widget/form/addfriendform.cpp" line="139"/>
<location filename="../widget/form/addfriendform.cpp" line="145"/>
<location filename="../widget/form/addfriendform.cpp" line="151"/>
<source>The DNS lookup does not contain a valid Tox ID</source>
<comment>Error with the DNS</comment>
<translation>Der DNS Eintrag enthält keine gültige TOX ID</translation>
@ -78,74 +105,77 @@ @@ -78,74 +105,77 @@
<context>
<name>Camera</name>
<message>
<location filename="../widget/camera.cpp" line="161"/>
<source>Camera eror</source>
<translation>Kamerafehler</translation>
<translation type="vanished">Kamerafehler</translation>
</message>
<message>
<location filename="../widget/camera.cpp" line="162"/>
<source>Camera format %1 not supported, can&apos;t use the camera</source>
<translation>Kameraformat %1 wird nicht unterstützt. Die Kamera kann nicht verwendet werden</translation>
<translation type="vanished">Kameraformat %1 wird nicht unterstützt. Die Kamera kann nicht verwendet werden</translation>
</message>
</context>
<context>
<name>ChatForm</name>
<message>
<location filename="../widget/form/chatform.cpp" line="283"/>
<location filename="../widget/form/chatform.cpp" line="80"/>
<source>Send a file</source>
<translation>Datei versenden</translation>
</message>
<message>
<location filename="../widget/form/chatform.cpp" line="620"/>
<location filename="../widget/form/chatform.cpp" line="626"/>
<source>Save chat log</source>
<translation>Chatverlauf speichern</translation>
<translation type="vanished">Chatverlauf speichern</translation>
</message>
</context>
<context>
<name>CopyableElideLabel</name>
<message>
<location filename="../widget/tool/copyableelidelabel.cpp" line="29"/>
<source>Copy</source>
<translation>Kopieren</translation>
<translation type="vanished">Kopieren</translation>
</message>
</context>
<context>
<name>FileTransfertWidget</name>
<name>FileTransferInstance</name>
<message>
<location filename="../widget/filetransfertwidget.cpp" line="281"/>
<location filename="../filetransferinstance.cpp" line="191"/>
<source>Save a file</source>
<comment>Title of the file saving dialog</comment>
<translation>Datei speichern</translation>
<translation type="unfinished">Datei speichern</translation>
</message>
<message>
<location filename="../widget/filetransfertwidget.cpp" line="292"/>
<location filename="../filetransferinstance.cpp" line="202"/>
<source>Location not writable</source>
<comment>Title of permissions popup</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../widget/filetransfertwidget.cpp" line="292"/>
<location filename="../filetransferinstance.cpp" line="202"/>
<source>You do not have permission to write that location. Choose another, or cancel the save dialog.</source>
<comment>text of permissions popup</comment>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>FileTransfertWidget</name>
<message>
<source>Save a file</source>
<comment>Title of the file saving dialog</comment>
<translation type="vanished">Datei speichern</translation>
</message>
</context>
<context>
<name>FilesForm</name>
<message>
<location filename="../widget/form/filesform.cpp" line="25"/>
<location filename="../widget/form/filesform.cpp" line="30"/>
<source>Transfered Files</source>
<comment>&quot;Headline&quot; of the window</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../widget/form/filesform.cpp" line="33"/>
<location filename="../widget/form/filesform.cpp" line="38"/>
<source>Downloads</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../widget/form/filesform.cpp" line="34"/>
<location filename="../widget/form/filesform.cpp" line="39"/>
<source>Uploads</source>
<translation type="unfinished"></translation>
</message>
@ -189,69 +219,149 @@ @@ -189,69 +219,149 @@
<context>
<name>FriendWidget</name>
<message>
<location filename="../widget/friendwidget.cpp" line="86"/>
<location filename="../widget/friendwidget.cpp" line="84"/>
<source>Copy friend ID</source>
<comment>Menu to copy the Tox ID of that friend</comment>
<translation>Tox ID kopieren</translation>
</message>
<message>
<location filename="../widget/friendwidget.cpp" line="87"/>
<location filename="../widget/friendwidget.cpp" line="85"/>
<source>Invite in group</source>
<comment>Menu to invite a friend in a groupchat</comment>
<translation>In Gruppe einladen</translation>
</message>
<message>
<location filename="../widget/friendwidget.cpp" line="97"/>
<location filename="../widget/friendwidget.cpp" line="95"/>
<source>Remove friend</source>
<comment>Menu to remove the friend from our friendlist</comment>
<translation>Freund entfernen</translation>
</message>
</context>
<context>
<name>GeneralPage</name>
<message>
<location filename="../widget/settingsdialog.cpp" line="31"/>
<source>General Settings</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../widget/settingsdialog.cpp" line="34"/>
<source>Enable IPv6 (recommended)</source>
<comment>Text on a checkbox to enable IPv6</comment>
<translation type="unfinished">IPv6 aktivieren (empfohlen)</translation>
</message>
<message>
<location filename="../widget/settingsdialog.cpp" line="36"/>
<source>Use translations</source>
<comment>Text on a checkbox to enable translations</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../widget/settingsdialog.cpp" line="38"/>
<source>Make Tox portable</source>
<comment>Text on a checkbox to make qTox a portable application</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../widget/settingsdialog.cpp" line="39"/>
<source>Save settings to the working directory instead of the usual conf dir</source>
<comment>describes makeToxPortable checkbox</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../widget/settingsdialog.cpp" line="48"/>
<source>Theme</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../widget/settingsdialog.cpp" line="49"/>
<source>Smiley Pack</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>GenericChatForm</name>
<message>
<location filename="../widget/form/genericchatform.cpp" line="142"/>
<location filename="../widget/form/genericchatform.cpp" line="148"/>
<source>Save chat log</source>
<translation type="unfinished">Chatverlauf speichern</translation>
</message>
</context>
<context>
<name>GroupChatForm</name>
<message>
<location filename="../widget/form/groupchatform.cpp" line="49"/>
<location filename="../widget/form/groupchatform.cpp" line="41"/>
<source>%1 users in chat</source>
<comment>Number of users in chat</comment>
<translation>%1 Personen im Chat</translation>
</message>
<message>
<location filename="../widget/form/groupchatform.cpp" line="146"/>
<location filename="../widget/form/groupchatform.cpp" line="83"/>
<source>&lt;Unknown&gt;</source>
<translation>&lt;Unbekannt&gt;</translation>
</message>
<message>
<location filename="../widget/form/groupchatform.cpp" line="215"/>
<location filename="../widget/form/groupchatform.cpp" line="90"/>
<source>%1 users in chat</source>
<translation>%1 Personen im Chat</translation>
</message>
<message>
<location filename="../widget/form/groupchatform.cpp" line="234"/>
<source>Save chat log</source>
<translation>Chatverlauf speichern</translation>
<translation type="vanished">Chatverlauf speichern</translation>
</message>
</context>
<context>
<name>GroupWidget</name>
<message>
<location filename="../widget/groupwidget.cpp" line="54"/>
<location filename="../widget/groupwidget.cpp" line="141"/>
<location filename="../widget/groupwidget.cpp" line="58"/>
<location filename="../widget/groupwidget.cpp" line="100"/>
<source>%1 users in chat</source>
<translation>%1 Personen im Chat</translation>
</message>
<message>
<location filename="../widget/groupwidget.cpp" line="56"/>
<location filename="../widget/groupwidget.cpp" line="143"/>
<location filename="../widget/groupwidget.cpp" line="60"/>
<location filename="../widget/groupwidget.cpp" line="102"/>
<source>0 users in chat</source>
<translation>0 Personen im Chat</translation>
</message>
<message>
<location filename="../widget/groupwidget.cpp" line="84"/>
<location filename="../widget/groupwidget.cpp" line="83"/>
<source>Quit group</source>
<comment>Menu to quit a groupchat</comment>
<translation>Gruppe verlassen</translation>
</message>
</context>
<context>
<name>IdentityPage</name>
<message>
<location filename="../widget/settingsdialog.cpp" line="82"/>
<source>Public Information</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../widget/settingsdialog.cpp" line="83"/>
<source>Name</source>
<comment>Username/nick</comment>
<translation type="unfinished">Benutzername</translation>
</message>
<message>
<location filename="../widget/settingsdialog.cpp" line="85"/>
<source>Status</source>
<comment>Status message</comment>
<translation type="unfinished">Status</translation>
</message>
<message>
<location filename="../widget/settingsdialog.cpp" line="95"/>
<source>Tox ID</source>
<translation type="unfinished">Tox ID</translation>
</message>
<message>
<location filename="../widget/settingsdialog.cpp" line="96"/>
<source>Your Tox ID</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>MainWindow</name>
<message>
@ -303,73 +413,81 @@ @@ -303,73 +413,81 @@
<context>
<name>SelfCamView</name>
<message>
<location filename="../widget/selfcamview.cpp" line="32"/>
<location filename="../widget/selfcamview.cpp" line="33"/>
<source>Tox video test</source>
<comment>Title of the window to test the video/webcam</comment>
<translation>Tox Video testen</translation>
</message>
</context>
<context>
<name>SettingsForm</name>
<name>SettingsDialog</name>
<message>
<location filename="../widget/form/settingsform.cpp" line="34"/>
<source>User Settings</source>
<comment>&quot;Headline&quot; of the window</comment>
<translation>Einstellungen</translation>
<location filename="../widget/settingsdialog.cpp" line="197"/>
<source>qTox Settings</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../widget/form/settingsform.cpp" line="37"/>
<source>Name</source>
<comment>Username/nick</comment>
<translation>Benutzername</translation>
<location filename="../widget/settingsdialog.cpp" line="224"/>
<source>General</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../widget/form/settingsform.cpp" line="38"/>
<source>Status</source>
<comment>Status message</comment>
<translation>Status</translation>
<location filename="../widget/settingsdialog.cpp" line="230"/>
<source>Identity</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../widget/form/settingsform.cpp" line="39"/>
<source>(click here to copy)</source>
<comment>Click on this text to copy TID to clipboard</comment>
<location filename="../widget/settingsdialog.cpp" line="236"/>
<source>Privacy</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../widget/form/settingsform.cpp" line="47"/>
<source>Test video</source>
<comment>Text on a button to test the video/webcam</comment>
<translation>Video testen</translation>
<location filename="../widget/settingsdialog.cpp" line="242"/>
<source>Audio/Video</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../widget/form/settingsform.cpp" line="48"/>
<source>Enable IPv6 (recommended)</source>
<comment>Text on a checkbox to enable IPv6</comment>
<translation>IPv6 aktivieren (empfohlen)</translation>
<location filename="../widget/settingsdialog.cpp" line="251"/>
<source>Ok</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../widget/form/settingsform.cpp" line="50"/>
<source>Use translations</source>
<comment>Text on a checkbox to enable translations</comment>
<location filename="../widget/settingsdialog.cpp" line="252"/>
<source>Cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../widget/form/settingsform.cpp" line="52"/>
<source>Make Tox portable</source>
<comment>Text on a checkbox to make qTox a portable application</comment>
<location filename="../widget/settingsdialog.cpp" line="253"/>
<source>Apply</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>SettingsForm</name>
<message>
<location filename="../widget/form/settingsform.cpp" line="54"/>
<source>Save settings to the working directory instead of the usual conf dir</source>
<comment>describes makeToxPortable checkbox</comment>
<translation type="unfinished"></translation>
<source>User Settings</source>
<comment>&quot;Headline&quot; of the window</comment>
<translation type="vanished">Einstellungen</translation>
</message>
<message>
<location filename="../widget/form/settingsform.cpp" line="56"/>
<source>Smiley Pack</source>
<comment>Text on smiley pack label</comment>
<translation type="unfinished"></translation>
<source>Name</source>
<comment>Username/nick</comment>
<translation type="vanished">Benutzername</translation>
</message>
<message>
<source>Status</source>
<comment>Status message</comment>
<translation type="vanished">Status</translation>
</message>
<message>
<source>Test video</source>
<comment>Text on a button to test the video/webcam</comment>
<translation type="vanished">Video testen</translation>
</message>
<message>
<source>Enable IPv6 (recommended)</source>
<comment>Text on a checkbox to enable IPv6</comment>
<translation type="vanished">IPv6 aktivieren (empfohlen)</translation>
</message>
</context>
<context>
@ -395,22 +513,28 @@ @@ -395,22 +513,28 @@
<translation type="vanished">Strg+Q</translation>
</message>
<message>
<location filename="../widget/widget.cpp" line="128"/>
<location filename="../widget/widget.cpp" line="133"/>
<source>Online</source>
<comment>Button to set your status to &apos;Online&apos;</comment>
<translation type="unfinished">Online</translation>
</message>
<message>
<location filename="../widget/widget.cpp" line="130"/>
<location filename="../widget/widget.cpp" line="135"/>
<source>Away</source>
<comment>Button to set your status to &apos;Away&apos;</comment>
<translation type="unfinished">Abwesend</translation>
</message>
<message>
<location filename="../widget/widget.cpp" line="132"/>
<location filename="../widget/widget.cpp" line="137"/>
<source>Busy</source>
<comment>Button to set your status to &apos;Busy&apos;</comment>
<translation type="unfinished">Beschäftigt</translation>
</message>
<message>
<location filename="../widget/widget.cpp" line="605"/>
<source>&lt;Unknown&gt;</source>
<comment>Placeholder when we don&apos;t know someone&apos;s name in a group chat</comment>
<translation type="unfinished">&lt;Unbekannt&gt;</translation>
</message>
</context>
</TS>

BIN
translations/fr.qm

Binary file not shown.

332
translations/fr.ts

@ -1,75 +1,102 @@ @@ -1,75 +1,102 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="fr_FR">
<context>
<name>AVPage</name>
<message>
<location filename="../widget/settingsdialog.cpp" line="132"/>
<source>Video Settings</source>
<translation>Options vidéo</translation>
</message>
<message>
<location filename="../widget/settingsdialog.cpp" line="136"/>
<location filename="../widget/settingsdialog.cpp" line="163"/>
<source>Show video preview</source>
<comment>On a button</comment>
<translation>Montrer l&apos;aperçu vidéo</translation>
</message>
<message>
<location filename="../widget/settingsdialog.cpp" line="157"/>
<source>Hide video preview</source>
<comment>On a button</comment>
<translation>Cacher l&apos;aperçu vidéo</translation>
</message>
</context>
<context>
<name>AddFriendForm</name>
<message>
<location filename="../widget/form/addfriendform.cpp" line="32"/>
<location filename="../widget/form/addfriendform.cpp" line="34"/>
<source>Add Friends</source>
<translation>Ajouter des amis</translation>
</message>
<message>
<location filename="../widget/form/addfriendform.cpp" line="35"/>
<location filename="../widget/form/addfriendform.cpp" line="37"/>
<source>Tox ID</source>
<comment>Tox ID of the person you&apos;re sending a friend request to</comment>
<translation>ID Tox</translation>
</message>
<message>
<location filename="../widget/form/addfriendform.cpp" line="36"/>
<location filename="../widget/form/addfriendform.cpp" line="38"/>
<source>Message</source>
<comment>The message you send in friend requests</comment>
<translation>Message</translation>
</message>
<message>
<location filename="../widget/form/addfriendform.cpp" line="37"/>
<location filename="../widget/form/addfriendform.cpp" line="39"/>
<source>Send friend request</source>
<translation>Envoyer la demande d&apos;ami</translation>
</message>
<message>
<location filename="../widget/form/addfriendform.cpp" line="38"/>
<location filename="../widget/form/addfriendform.cpp" line="40"/>
<source>Tox me maybe?</source>
<comment>Default message in friend requests if the field is left blank. Write something appropriate!</comment>
<translation>Je souhaiterais vous ajouter à mes contacts</translation>
</message>
<message>
<location filename="../widget/form/addfriendform.cpp" line="93"/>
<location filename="../widget/form/addfriendform.cpp" line="96"/>
<source>Please fill in a valid Tox ID</source>
<comment>Tox ID of the friend you&apos;re sending a friend request to</comment>
<translation>Merci de remplir un ID Tox valide</translation>
</message>
<message>
<location filename="../widget/form/addfriendform.cpp" line="110"/>
<location filename="../widget/form/addfriendform.cpp" line="99"/>
<source>You can&apos;t add yourself as a friend!</source>
<comment>When trying to add your own Tox ID as friend</comment>
<translation>Vous ne pouvez pas vous ajouter vous même en temps qu&apos;ami!</translation>
</message>
<message>
<location filename="../widget/form/addfriendform.cpp" line="116"/>
<source>This address does not exist</source>
<comment>The DNS gives the Tox ID associated to toxme.se addresses</comment>
<translation type="unfinished"></translation>
<translation>Cette addresse n&apos;existe pas</translation>
</message>
<message>
<location filename="../widget/form/addfriendform.cpp" line="114"/>
<location filename="../widget/form/addfriendform.cpp" line="120"/>
<source>Error while looking up DNS</source>
<comment>The DNS gives the Tox ID associated to toxme.se addresses</comment>
<translation>Erreur en consultant le serveur DNS</translation>
</message>
<message>
<location filename="../widget/form/addfriendform.cpp" line="120"/>
<location filename="../widget/form/addfriendform.cpp" line="126"/>
<source>Unexpected number of text records</source>
<comment>Error with the DNS</comment>
<translation>Nombre d&apos;entrées texte innatendu</translation>
</message>
<message>
<location filename="../widget/form/addfriendform.cpp" line="126"/>
<location filename="../widget/form/addfriendform.cpp" line="132"/>
<source>Unexpected number of values in text record</source>
<comment>Error with the DNS</comment>
<translation>Nombre d&apos;entrées numériques dans l&apos;entrée texte innatendu</translation>
</message>
<message>
<location filename="../widget/form/addfriendform.cpp" line="133"/>
<location filename="../widget/form/addfriendform.cpp" line="139"/>
<source>The DNS lookup does not contain any Tox ID</source>
<comment>Error with the DNS</comment>
<translation>La réponse DNS ne contient aucun ID Tox</translation>
</message>
<message>
<location filename="../widget/form/addfriendform.cpp" line="139"/>
<location filename="../widget/form/addfriendform.cpp" line="145"/>
<location filename="../widget/form/addfriendform.cpp" line="151"/>
<source>The DNS lookup does not contain a valid Tox ID</source>
<comment>Error with the DNS</comment>
<translation>La réponse DNS ne contient pas d&apos;ID Tox valide</translation>
@ -78,76 +105,79 @@ @@ -78,76 +105,79 @@
<context>
<name>Camera</name>
<message>
<location filename="../widget/camera.cpp" line="161"/>
<source>Camera eror</source>
<translation>Erreur de caméra</translation>
<translation type="vanished">Erreur de caméra</translation>
</message>
<message>
<location filename="../widget/camera.cpp" line="162"/>
<source>Camera format %1 not supported, can&apos;t use the camera</source>
<translation>Format %1 de la caméra non supporté, impossible de l&apos;utiliser</translation>
<translation type="vanished">Format %1 de la caméra non supporté, impossible de l&apos;utiliser</translation>
</message>
</context>
<context>
<name>ChatForm</name>
<message>
<location filename="../widget/form/chatform.cpp" line="283"/>
<location filename="../widget/form/chatform.cpp" line="80"/>
<source>Send a file</source>
<translation>Envoyer un fichier</translation>
</message>
<message>
<location filename="../widget/form/chatform.cpp" line="620"/>
<location filename="../widget/form/chatform.cpp" line="626"/>
<source>Save chat log</source>
<translation>Sauvegarder l&apos;historique de conversation</translation>
<translation type="vanished">Sauvegarder l&apos;historique de conversation</translation>
</message>
</context>
<context>
<name>CopyableElideLabel</name>
<message>
<location filename="../widget/tool/copyableelidelabel.cpp" line="29"/>
<source>Copy</source>
<translation>Copier</translation>
<translation type="vanished">Copier</translation>
</message>
</context>
<context>
<name>FileTransfertWidget</name>
<name>FileTransferInstance</name>
<message>
<location filename="../widget/filetransfertwidget.cpp" line="281"/>
<location filename="../filetransferinstance.cpp" line="191"/>
<source>Save a file</source>
<comment>Title of the file saving dialog</comment>
<translation>Sauvegarder un fichier</translation>
</message>
<message>
<location filename="../widget/filetransfertwidget.cpp" line="292"/>
<location filename="../filetransferinstance.cpp" line="202"/>
<source>Location not writable</source>
<comment>Title of permissions popup</comment>
<translation type="unfinished"></translation>
<translation>Impossible d&apos;écrire ici</translation>
</message>
<message>
<location filename="../widget/filetransfertwidget.cpp" line="292"/>
<location filename="../filetransferinstance.cpp" line="202"/>
<source>You do not have permission to write that location. Choose another, or cancel the save dialog.</source>
<comment>text of permissions popup</comment>
<translation type="unfinished"></translation>
<translation>Vous n&apos;avez pas la permission d&apos;écrire ici. Choisissez un audre endroit, ou annulez.</translation>
</message>
</context>
<context>
<name>FileTransfertWidget</name>
<message>
<source>Save a file</source>
<comment>Title of the file saving dialog</comment>
<translation type="vanished">Sauvegarder un fichier</translation>
</message>
</context>
<context>
<name>FilesForm</name>
<message>
<location filename="../widget/form/filesform.cpp" line="25"/>
<location filename="../widget/form/filesform.cpp" line="30"/>
<source>Transfered Files</source>
<comment>&quot;Headline&quot; of the window</comment>
<translation type="unfinished"></translation>
<translation>Transfers</translation>
</message>
<message>
<location filename="../widget/form/filesform.cpp" line="33"/>
<location filename="../widget/form/filesform.cpp" line="38"/>
<source>Downloads</source>
<translation type="unfinished"></translation>
<translation>Téléchargements</translation>
</message>
<message>
<location filename="../widget/form/filesform.cpp" line="34"/>
<location filename="../widget/form/filesform.cpp" line="39"/>
<source>Uploads</source>
<translation type="unfinished"></translation>
<translation>Envois</translation>
</message>
</context>
<context>
@ -189,187 +219,275 @@ @@ -189,187 +219,275 @@
<context>
<name>FriendWidget</name>
<message>
<location filename="../widget/friendwidget.cpp" line="86"/>
<location filename="../widget/friendwidget.cpp" line="84"/>
<source>Copy friend ID</source>
<comment>Menu to copy the Tox ID of that friend</comment>
<translation>Copier l&apos;ID ami</translation>
</message>
<message>
<location filename="../widget/friendwidget.cpp" line="87"/>
<location filename="../widget/friendwidget.cpp" line="85"/>
<source>Invite in group</source>
<comment>Menu to invite a friend in a groupchat</comment>
<translation>Inviter dans un groupe</translation>
</message>
<message>
<location filename="../widget/friendwidget.cpp" line="97"/>
<location filename="../widget/friendwidget.cpp" line="95"/>
<source>Remove friend</source>
<comment>Menu to remove the friend from our friendlist</comment>
<translation>Supprimer ami</translation>
</message>
</context>
<context>
<name>GeneralPage</name>
<message>
<location filename="../widget/settingsdialog.cpp" line="31"/>
<source>General Settings</source>
<translation>Options Générales</translation>
</message>
<message>
<location filename="../widget/settingsdialog.cpp" line="34"/>
<source>Enable IPv6 (recommended)</source>
<comment>Text on a checkbox to enable IPv6</comment>
<translation>Activer IPv6 (recommandé)</translation>
</message>
<message>
<location filename="../widget/settingsdialog.cpp" line="36"/>
<source>Use translations</source>
<comment>Text on a checkbox to enable translations</comment>
<translation>Utiliser les traductions</translation>
</message>
<message>
<location filename="../widget/settingsdialog.cpp" line="38"/>
<source>Make Tox portable</source>
<comment>Text on a checkbox to make qTox a portable application</comment>
<translation>Rendre Tox portable</translation>
</message>
<message>
<location filename="../widget/settingsdialog.cpp" line="39"/>
<source>Save settings to the working directory instead of the usual conf dir</source>
<comment>describes makeToxPortable checkbox</comment>
<translation>Sauvegarde les options dans le dossier courant au lieu du dossier de configuration habituel</translation>
</message>
<message>
<location filename="../widget/settingsdialog.cpp" line="48"/>
<source>Theme</source>
<translation>Thème</translation>
</message>
<message>
<location filename="../widget/settingsdialog.cpp" line="49"/>
<source>Smiley Pack</source>
<translation>Pack de smileys</translation>
</message>
</context>
<context>
<name>GenericChatForm</name>
<message>
<location filename="../widget/form/genericchatform.cpp" line="142"/>
<location filename="../widget/form/genericchatform.cpp" line="148"/>
<source>Save chat log</source>
<translation>Sauvegarder l&apos;historique de conversation</translation>
</message>
</context>
<context>
<name>GroupChatForm</name>
<message>
<location filename="../widget/form/groupchatform.cpp" line="49"/>
<location filename="../widget/form/groupchatform.cpp" line="41"/>
<source>%1 users in chat</source>
<comment>Number of users in chat</comment>
<translation>%1 personnes</translation>
</message>
<message>
<location filename="../widget/form/groupchatform.cpp" line="146"/>
<location filename="../widget/form/groupchatform.cpp" line="83"/>
<source>&lt;Unknown&gt;</source>
<translation>&lt;Inconnu&gt;</translation>
</message>
<message>
<location filename="../widget/form/groupchatform.cpp" line="215"/>
<location filename="../widget/form/groupchatform.cpp" line="90"/>
<source>%1 users in chat</source>
<translation>%1 personnes</translation>
</message>
<message>
<location filename="../widget/form/groupchatform.cpp" line="234"/>
<source>Save chat log</source>
<translation>Sauvegarder l&apos;historique de conversation</translation>
<translation type="vanished">Sauvegarder l&apos;historique de conversation</translation>
</message>
</context>
<context>
<name>GroupWidget</name>
<message>
<location filename="../widget/groupwidget.cpp" line="54"/>
<location filename="../widget/groupwidget.cpp" line="141"/>
<location filename="../widget/groupwidget.cpp" line="58"/>
<location filename="../widget/groupwidget.cpp" line="100"/>
<source>%1 users in chat</source>
<translation>%1 personnes</translation>
</message>
<message>
<location filename="../widget/groupwidget.cpp" line="56"/>
<location filename="../widget/groupwidget.cpp" line="143"/>
<location filename="../widget/groupwidget.cpp" line="60"/>
<location filename="../widget/groupwidget.cpp" line="102"/>
<source>0 users in chat</source>
<translation>0 personnes</translation>
</message>
<message>
<location filename="../widget/groupwidget.cpp" line="84"/>
<location filename="../widget/groupwidget.cpp" line="83"/>
<source>Quit group</source>
<comment>Menu to quit a groupchat</comment>
<translation>Quitter le groupe</translation>
</message>
</context>
<context>
<name>IdentityPage</name>
<message>
<location filename="../widget/settingsdialog.cpp" line="82"/>
<source>Public Information</source>
<translation>Informations Publiques</translation>
</message>
<message>
<location filename="../widget/settingsdialog.cpp" line="83"/>
<source>Name</source>
<comment>Username/nick</comment>
<translation>Nom</translation>
</message>
<message>
<location filename="../widget/settingsdialog.cpp" line="85"/>
<source>Status</source>
<comment>Status message</comment>
<translation>Status</translation>
</message>
<message>
<location filename="../widget/settingsdialog.cpp" line="95"/>
<source>Tox ID</source>
<translation>ID Tox</translation>
</message>
<message>
<location filename="../widget/settingsdialog.cpp" line="96"/>
<source>Your Tox ID</source>
<translation>Votre ID Tox</translation>
</message>
</context>
<context>
<name>MainWindow</name>
<message>
<location filename="../mainwindow.ui" line="20"/>
<source>qTox</source>
<translation type="unfinished"></translation>
<translation>qTox</translation>
</message>
<message>
<location filename="../mainwindow.ui" line="1918"/>
<source>Your name</source>
<translation type="unfinished">Votre nom</translation>
<translation>Votre nom</translation>
</message>
<message>
<location filename="../mainwindow.ui" line="2000"/>
<source>Your status</source>
<translation type="unfinished">Votre status</translation>
<translation>Votre status</translation>
</message>
<message>
<location filename="../mainwindow.ui" line="2566"/>
<source>Add friends</source>
<translation type="unfinished"></translation>
<translation>Ajouter des amis</translation>
</message>
<message>
<location filename="../mainwindow.ui" line="2592"/>
<source>Create a group chat</source>
<translation type="unfinished"></translation>
<translation>Creer un groupe</translation>
</message>
<message>
<location filename="../mainwindow.ui" line="2624"/>
<source>View completed file transfers</source>
<translation type="unfinished"></translation>
<translation>Voir les transfers de fichiers terminés</translation>
</message>
<message>
<location filename="../mainwindow.ui" line="2656"/>
<source>Change your settings</source>
<translation type="unfinished"></translation>
<translation>Changer les options</translation>
</message>
<message>
<location filename="../mainwindow.ui" line="3238"/>
<source>Close</source>
<translation type="unfinished">Fermer</translation>
<translation>Fermer</translation>
</message>
<message>
<location filename="../mainwindow.ui" line="3241"/>
<source>Ctrl+Q</source>
<translation type="unfinished">Ctrl+Q</translation>
<translation>Ctrl+Q</translation>
</message>
</context>
<context>
<name>SelfCamView</name>
<message>
<location filename="../widget/selfcamview.cpp" line="32"/>
<location filename="../widget/selfcamview.cpp" line="33"/>
<source>Tox video test</source>
<comment>Title of the window to test the video/webcam</comment>
<translation>Test vidéo Tox</translation>
</message>
</context>
<context>
<name>SettingsDialog</name>
<message>
<location filename="../widget/settingsdialog.cpp" line="197"/>
<source>qTox Settings</source>
<translation>qTox Options</translation>
</message>
<message>
<location filename="../widget/settingsdialog.cpp" line="224"/>
<source>General</source>
<translation>General</translation>
</message>
<message>
<location filename="../widget/settingsdialog.cpp" line="230"/>
<source>Identity</source>
<translation>Identité</translation>
</message>
<message>
<location filename="../widget/settingsdialog.cpp" line="236"/>
<source>Privacy</source>
<translation>Vie Privée</translation>
</message>
<message>
<location filename="../widget/settingsdialog.cpp" line="242"/>
<source>Audio/Video</source>
<translation>Audio/Vidéo</translation>
</message>
<message>
<location filename="../widget/settingsdialog.cpp" line="251"/>
<source>Ok</source>
<translation>Ok</translation>
</message>
<message>
<location filename="../widget/settingsdialog.cpp" line="252"/>
<source>Cancel</source>
<translation>Annuler</translation>
</message>
<message>
<location filename="../widget/settingsdialog.cpp" line="253"/>
<source>Apply</source>
<translation>Appliquer</translation>
</message>
</context>
<context>
<name>SettingsForm</name>
<message>
<location filename="../widget/form/settingsform.cpp" line="34"/>
<source>User Settings</source>
<comment>&quot;Headline&quot; of the window</comment>
<translation>Configuration</translation>
<translation type="vanished">Configuration</translation>
</message>
<message>
<location filename="../widget/form/settingsform.cpp" line="37"/>
<source>Name</source>
<comment>Username/nick</comment>
<translation>Nom</translation>
<translation type="vanished">Nom</translation>
</message>
<message>
<location filename="../widget/form/settingsform.cpp" line="38"/>
<source>Status</source>
<comment>Status message</comment>
<translation>Status</translation>
</message>
<message>
<location filename="../widget/form/settingsform.cpp" line="39"/>
<source>(click here to copy)</source>
<comment>Click on this text to copy TID to clipboard</comment>
<translation type="unfinished"></translation>
<translation type="vanished">Status</translation>
</message>
<message>
<location filename="../widget/form/settingsform.cpp" line="47"/>
<source>Test video</source>
<comment>Text on a button to test the video/webcam</comment>
<translation>Tester la vidéo</translation>
<translation type="vanished">Tester la vidéo</translation>
</message>
<message>
<location filename="../widget/form/settingsform.cpp" line="48"/>
<source>Enable IPv6 (recommended)</source>
<comment>Text on a checkbox to enable IPv6</comment>
<translation>Activer IPv6 (recommandé)</translation>
</message>
<message>
<location filename="../widget/form/settingsform.cpp" line="50"/>
<source>Use translations</source>
<comment>Text on a checkbox to enable translations</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../widget/form/settingsform.cpp" line="52"/>
<source>Make Tox portable</source>
<comment>Text on a checkbox to make qTox a portable application</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../widget/form/settingsform.cpp" line="54"/>
<source>Save settings to the working directory instead of the usual conf dir</source>
<comment>describes makeToxPortable checkbox</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../widget/form/settingsform.cpp" line="56"/>
<source>Smiley Pack</source>
<comment>Text on smiley pack label</comment>
<translation type="unfinished"></translation>
<translation type="vanished">Activer IPv6 (recommandé)</translation>
</message>
</context>
<context>
@ -395,22 +513,28 @@ @@ -395,22 +513,28 @@
<translation type="vanished">Ctrl+Q</translation>
</message>
<message>
<location filename="../widget/widget.cpp" line="128"/>
<location filename="../widget/widget.cpp" line="133"/>
<source>Online</source>
<comment>Button to set your status to &apos;Online&apos;</comment>
<translation type="unfinished">Connecté</translation>
<translation>Connecté</translation>
</message>
<message>
<location filename="../widget/widget.cpp" line="130"/>
<location filename="../widget/widget.cpp" line="135"/>
<source>Away</source>
<comment>Button to set your status to &apos;Away&apos;</comment>
<translation type="unfinished">Indisponnible</translation>
<translation>Indisponnible</translation>
</message>
<message>
<location filename="../widget/widget.cpp" line="132"/>
<location filename="../widget/widget.cpp" line="137"/>
<source>Busy</source>
<comment>Button to set your status to &apos;Busy&apos;</comment>
<translation type="unfinished">Occupé</translation>
<translation>Occupé</translation>
</message>
<message>
<location filename="../widget/widget.cpp" line="605"/>
<source>&lt;Unknown&gt;</source>
<comment>Placeholder when we don&apos;t know someone&apos;s name in a group chat</comment>
<translation>&lt;Inconnu&gt;</translation>
</message>
</context>
</TS>

BIN
translations/it.qm

Binary file not shown.

240
translations/it.ts

@ -1,75 +1,102 @@ @@ -1,75 +1,102 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="it_IT">
<context>
<name>AVPage</name>
<message>
<location filename="../widget/settingsdialog.cpp" line="132"/>
<source>Video Settings</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../widget/settingsdialog.cpp" line="136"/>
<location filename="../widget/settingsdialog.cpp" line="163"/>
<source>Show video preview</source>
<comment>On a button</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../widget/settingsdialog.cpp" line="157"/>
<source>Hide video preview</source>
<comment>On a button</comment>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>AddFriendForm</name>
<message>
<location filename="../widget/form/addfriendform.cpp" line="32"/>
<location filename="../widget/form/addfriendform.cpp" line="34"/>
<source>Add Friends</source>
<translation>Aggiungi Contatto</translation>
</message>
<message>
<location filename="../widget/form/addfriendform.cpp" line="35"/>
<location filename="../widget/form/addfriendform.cpp" line="37"/>
<source>Tox ID</source>
<comment>Tox ID of the person you&apos;re sending a friend request to</comment>
<translation>Tox ID</translation>
</message>
<message>
<location filename="../widget/form/addfriendform.cpp" line="36"/>
<location filename="../widget/form/addfriendform.cpp" line="38"/>
<source>Message</source>
<comment>The message you send in friend requests</comment>
<translation>Messaggio</translation>
</message>
<message>
<location filename="../widget/form/addfriendform.cpp" line="37"/>
<location filename="../widget/form/addfriendform.cpp" line="39"/>
<source>Send friend request</source>
<translation>Invia richiesta d&apos;amicizia</translation>
</message>
<message>
<location filename="../widget/form/addfriendform.cpp" line="38"/>
<location filename="../widget/form/addfriendform.cpp" line="40"/>
<source>Tox me maybe?</source>
<comment>Default message in friend requests if the field is left blank. Write something appropriate!</comment>
<translation>Permettimi di aggiungerti alla mia lista contatti</translation>
</message>
<message>
<location filename="../widget/form/addfriendform.cpp" line="93"/>
<location filename="../widget/form/addfriendform.cpp" line="96"/>
<source>Please fill in a valid Tox ID</source>
<comment>Tox ID of the friend you&apos;re sending a friend request to</comment>
<translation>Inserisci un Tox ID valido</translation>
</message>
<message>
<location filename="../widget/form/addfriendform.cpp" line="110"/>
<location filename="../widget/form/addfriendform.cpp" line="99"/>
<source>You can&apos;t add yourself as a friend!</source>
<comment>When trying to add your own Tox ID as friend</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../widget/form/addfriendform.cpp" line="116"/>
<source>This address does not exist</source>
<comment>The DNS gives the Tox ID associated to toxme.se addresses</comment>
<translation>Questo indirizzo non esiste</translation>
</message>
<message>
<location filename="../widget/form/addfriendform.cpp" line="114"/>
<location filename="../widget/form/addfriendform.cpp" line="120"/>
<source>Error while looking up DNS</source>
<comment>The DNS gives the Tox ID associated to toxme.se addresses</comment>
<translation>Errore nel consultare il server DNS</translation>
</message>
<message>
<location filename="../widget/form/addfriendform.cpp" line="120"/>
<location filename="../widget/form/addfriendform.cpp" line="126"/>
<source>Unexpected number of text records</source>
<comment>Error with the DNS</comment>
<translation>Numero inaspettato di text-records</translation>
</message>
<message>
<location filename="../widget/form/addfriendform.cpp" line="126"/>
<location filename="../widget/form/addfriendform.cpp" line="132"/>
<source>Unexpected number of values in text record</source>
<comment>Error with the DNS</comment>
<translation>Numero inaspettato di valori nel text-record</translation>
</message>
<message>
<location filename="../widget/form/addfriendform.cpp" line="133"/>
<location filename="../widget/form/addfriendform.cpp" line="139"/>
<source>The DNS lookup does not contain any Tox ID</source>
<comment>Error with the DNS</comment>
<translation>La risposta del server DNS non contiene nessun Tox ID</translation>
</message>
<message>
<location filename="../widget/form/addfriendform.cpp" line="139"/>
<location filename="../widget/form/addfriendform.cpp" line="145"/>
<location filename="../widget/form/addfriendform.cpp" line="151"/>
<source>The DNS lookup does not contain a valid Tox ID</source>
<comment>Error with the DNS</comment>
<translation>La risposta del server DNS non contiene un Tox ID valido</translation>
@ -78,7 +105,7 @@ @@ -78,7 +105,7 @@
<context>
<name>ChatForm</name>
<message>
<location filename="../widget/form/chatform.cpp" line="73"/>
<location filename="../widget/form/chatform.cpp" line="80"/>
<source>Send a file</source>
<translation>Invia un file</translation>
</message>
@ -86,19 +113,19 @@ @@ -86,19 +113,19 @@
<context>
<name>FileTransferInstance</name>
<message>
<location filename="../filetransferinstance.cpp" line="162"/>
<location filename="../filetransferinstance.cpp" line="191"/>
<source>Save a file</source>
<comment>Title of the file saving dialog</comment>
<translation>Salva file</translation>
</message>
<message>
<location filename="../filetransferinstance.cpp" line="173"/>
<location filename="../filetransferinstance.cpp" line="202"/>
<source>Location not writable</source>
<comment>Title of permissions popup</comment>
<translation>Errore</translation>
</message>
<message>
<location filename="../filetransferinstance.cpp" line="173"/>
<location filename="../filetransferinstance.cpp" line="202"/>
<source>You do not have permission to write that location. Choose another, or cancel the save dialog.</source>
<comment>text of permissions popup</comment>
<translation>Non hai sufficienti permessi per scrivere in questa locazione. Scegli un&apos;altra posizione, o annulla il salvataggio.</translation>
@ -107,18 +134,18 @@ @@ -107,18 +134,18 @@
<context>
<name>FilesForm</name>
<message>
<location filename="../widget/form/filesform.cpp" line="25"/>
<location filename="../widget/form/filesform.cpp" line="30"/>
<source>Transfered Files</source>
<comment>&quot;Headline&quot; of the window</comment>
<translation>Files Trasferiti</translation>
</message>
<message>
<location filename="../widget/form/filesform.cpp" line="33"/>
<location filename="../widget/form/filesform.cpp" line="38"/>
<source>Downloads</source>
<translation>Ricevuti</translation>
</message>
<message>
<location filename="../widget/form/filesform.cpp" line="34"/>
<location filename="../widget/form/filesform.cpp" line="39"/>
<source>Uploads</source>
<translation>Inviati</translation>
</message>
@ -162,29 +189,71 @@ @@ -162,29 +189,71 @@
<context>
<name>FriendWidget</name>
<message>
<location filename="../widget/friendwidget.cpp" line="83"/>
<location filename="../widget/friendwidget.cpp" line="84"/>
<source>Copy friend ID</source>
<comment>Menu to copy the Tox ID of that friend</comment>
<translation>Copia Tox ID del contatto</translation>
</message>
<message>
<location filename="../widget/friendwidget.cpp" line="84"/>
<location filename="../widget/friendwidget.cpp" line="85"/>
<source>Invite in group</source>
<comment>Menu to invite a friend in a groupchat</comment>
<translation>Invita nel gruppo</translation>
</message>
<message>
<location filename="../widget/friendwidget.cpp" line="94"/>
<location filename="../widget/friendwidget.cpp" line="95"/>
<source>Remove friend</source>
<comment>Menu to remove the friend from our friendlist</comment>
<translation>Rimuovi contatto</translation>
</message>
</context>
<context>
<name>GeneralPage</name>
<message>
<location filename="../widget/settingsdialog.cpp" line="31"/>
<source>General Settings</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../widget/settingsdialog.cpp" line="34"/>
<source>Enable IPv6 (recommended)</source>
<comment>Text on a checkbox to enable IPv6</comment>
<translation type="unfinished">Abilita IPv6 (consigliato)</translation>
</message>
<message>
<location filename="../widget/settingsdialog.cpp" line="36"/>
<source>Use translations</source>
<comment>Text on a checkbox to enable translations</comment>
<translation type="unfinished">Abilita traduzioni</translation>
</message>
<message>
<location filename="../widget/settingsdialog.cpp" line="38"/>
<source>Make Tox portable</source>
<comment>Text on a checkbox to make qTox a portable application</comment>
<translation type="unfinished">Rendi qTox portabile</translation>
</message>
<message>
<location filename="../widget/settingsdialog.cpp" line="39"/>
<source>Save settings to the working directory instead of the usual conf dir</source>
<comment>describes makeToxPortable checkbox</comment>
<translation type="unfinished">Slava le impostazioni nella directory di lavoro corrente, invece della directory di default</translation>
</message>
<message>
<location filename="../widget/settingsdialog.cpp" line="48"/>
<source>Theme</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../widget/settingsdialog.cpp" line="49"/>
<source>Smiley Pack</source>
<translation type="unfinished">Emoticons</translation>
</message>
</context>
<context>
<name>GenericChatForm</name>
<message>
<location filename="../widget/form/genericchatform.cpp" line="158"/>
<location filename="../widget/form/genericchatform.cpp" line="164"/>
<location filename="../widget/form/genericchatform.cpp" line="142"/>
<location filename="../widget/form/genericchatform.cpp" line="148"/>
<source>Save chat log</source>
<translation>Salva il log della chat</translation>
</message>
@ -192,18 +261,18 @@ @@ -192,18 +261,18 @@
<context>
<name>GroupChatForm</name>
<message>
<location filename="../widget/form/groupchatform.cpp" line="39"/>
<location filename="../widget/form/groupchatform.cpp" line="41"/>
<source>%1 users in chat</source>
<comment>Number of users in chat</comment>
<translation>%1 utenti in chat</translation>
</message>
<message>
<location filename="../widget/form/groupchatform.cpp" line="81"/>
<location filename="../widget/form/groupchatform.cpp" line="83"/>
<source>&lt;Unknown&gt;</source>
<translation>&lt;Sconosciuto&gt;</translation>
</message>
<message>
<location filename="../widget/form/groupchatform.cpp" line="88"/>
<location filename="../widget/form/groupchatform.cpp" line="90"/>
<source>%1 users in chat</source>
<translation>%1 utenti in chat</translation>
</message>
@ -229,6 +298,36 @@ @@ -229,6 +298,36 @@
<translation>Esci dal gruppo</translation>
</message>
</context>
<context>
<name>IdentityPage</name>
<message>
<location filename="../widget/settingsdialog.cpp" line="82"/>
<source>Public Information</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../widget/settingsdialog.cpp" line="83"/>
<source>Name</source>
<comment>Username/nick</comment>
<translation type="unfinished">Nome</translation>
</message>
<message>
<location filename="../widget/settingsdialog.cpp" line="85"/>
<source>Status</source>
<comment>Status message</comment>
<translation type="unfinished">Stato</translation>
</message>
<message>
<location filename="../widget/settingsdialog.cpp" line="95"/>
<source>Tox ID</source>
<translation type="unfinished">Tox ID</translation>
</message>
<message>
<location filename="../widget/settingsdialog.cpp" line="96"/>
<source>Your Tox ID</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>MainWindow</name>
<message>
@ -280,94 +379,133 @@ @@ -280,94 +379,133 @@
<context>
<name>SelfCamView</name>
<message>
<location filename="../widget/selfcamview.cpp" line="30"/>
<location filename="../widget/selfcamview.cpp" line="33"/>
<source>Tox video test</source>
<comment>Title of the window to test the video/webcam</comment>
<translation>qTox video test</translation>
</message>
</context>
<context>
<name>SettingsDialog</name>
<message>
<location filename="../widget/settingsdialog.cpp" line="197"/>
<source>qTox Settings</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../widget/settingsdialog.cpp" line="224"/>
<source>General</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../widget/settingsdialog.cpp" line="230"/>
<source>Identity</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../widget/settingsdialog.cpp" line="236"/>
<source>Privacy</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../widget/settingsdialog.cpp" line="242"/>
<source>Audio/Video</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../widget/settingsdialog.cpp" line="251"/>
<source>Ok</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../widget/settingsdialog.cpp" line="252"/>
<source>Cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../widget/settingsdialog.cpp" line="253"/>
<source>Apply</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>SettingsForm</name>
<message>
<location filename="../widget/form/settingsform.cpp" line="34"/>
<source>User Settings</source>
<comment>&quot;Headline&quot; of the window</comment>
<translation>Impostazioni</translation>
<translation type="vanished">Impostazioni</translation>
</message>
<message>
<location filename="../widget/form/settingsform.cpp" line="37"/>
<source>Name</source>
<comment>Username/nick</comment>
<translation>Nome</translation>
<translation type="vanished">Nome</translation>
</message>
<message>
<location filename="../widget/form/settingsform.cpp" line="38"/>
<source>Status</source>
<comment>Status message</comment>
<translation>Stato</translation>
<translation type="vanished">Stato</translation>
</message>
<message>
<location filename="../widget/form/settingsform.cpp" line="39"/>
<source>(click here to copy)</source>
<comment>Click on this text to copy TID to clipboard</comment>
<translation>(clicca qui per copiare)</translation>
<translation type="vanished">(clicca qui per copiare)</translation>
</message>
<message>
<location filename="../widget/form/settingsform.cpp" line="47"/>
<source>Test video</source>
<comment>Text on a button to test the video/webcam</comment>
<translation>Prova la webcam</translation>
<translation type="vanished">Prova la webcam</translation>
</message>
<message>
<location filename="../widget/form/settingsform.cpp" line="48"/>
<source>Enable IPv6 (recommended)</source>
<comment>Text on a checkbox to enable IPv6</comment>
<translation>Abilita IPv6 (consigliato)</translation>
<translation type="vanished">Abilita IPv6 (consigliato)</translation>
</message>
<message>
<location filename="../widget/form/settingsform.cpp" line="50"/>
<source>Use translations</source>
<comment>Text on a checkbox to enable translations</comment>
<translation>Abilita traduzioni</translation>
<translation type="vanished">Abilita traduzioni</translation>
</message>
<message>
<location filename="../widget/form/settingsform.cpp" line="52"/>
<source>Make Tox portable</source>
<comment>Text on a checkbox to make qTox a portable application</comment>
<translation>Rendi qTox portabile</translation>
<translation type="vanished">Rendi qTox portabile</translation>
</message>
<message>
<location filename="../widget/form/settingsform.cpp" line="54"/>
<source>Save settings to the working directory instead of the usual conf dir</source>
<comment>describes makeToxPortable checkbox</comment>
<translation>Slava le impostazioni nella directory di lavoro corrente, invece della directory di default</translation>
<translation type="vanished">Slava le impostazioni nella directory di lavoro corrente, invece della directory di default</translation>
</message>
<message>
<location filename="../widget/form/settingsform.cpp" line="56"/>
<source>Smiley Pack</source>
<comment>Text on smiley pack label</comment>
<translation>Emoticons</translation>
<translation type="vanished">Emoticons</translation>
</message>
</context>
<context>
<name>Widget</name>
<message>
<location filename="../widget/widget.cpp" line="129"/>
<location filename="../widget/widget.cpp" line="133"/>
<source>Online</source>
<comment>Button to set your status to &apos;Online&apos;</comment>
<translation>Online</translation>
</message>
<message>
<location filename="../widget/widget.cpp" line="131"/>
<location filename="../widget/widget.cpp" line="135"/>
<source>Away</source>
<comment>Button to set your status to &apos;Away&apos;</comment>
<translation>Assente</translation>
</message>
<message>
<location filename="../widget/widget.cpp" line="133"/>
<location filename="../widget/widget.cpp" line="137"/>
<source>Busy</source>
<comment>Button to set your status to &apos;Busy&apos;</comment>
<translation>Occupato</translation>
</message>
<message>
<location filename="../widget/widget.cpp" line="605"/>
<source>&lt;Unknown&gt;</source>
<comment>Placeholder when we don&apos;t know someone&apos;s name in a group chat</comment>
<translation type="unfinished">&lt;Sconosciuto&gt;</translation>
</message>
</context>
</TS>

BIN
translations/mannol.qm

Binary file not shown.

458
translations/mannol.ts

@ -0,0 +1,458 @@ @@ -0,0 +1,458 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1">
<context>
<name>AVPage</name>
<message>
<location filename="../widget/settingsdialog.cpp" line="132"/>
<source>Video Settings</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../widget/settingsdialog.cpp" line="136"/>
<location filename="../widget/settingsdialog.cpp" line="163"/>
<source>Show video preview</source>
<comment>On a button</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../widget/settingsdialog.cpp" line="157"/>
<source>Hide video preview</source>
<comment>On a button</comment>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>AddFriendForm</name>
<message>
<location filename="../widget/form/addfriendform.cpp" line="34"/>
<source>Add Friends</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../widget/form/addfriendform.cpp" line="37"/>
<source>Tox ID</source>
<comment>Tox ID of the person you&apos;re sending a friend request to</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../widget/form/addfriendform.cpp" line="38"/>
<source>Message</source>
<comment>The message you send in friend requests</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../widget/form/addfriendform.cpp" line="39"/>
<source>Send friend request</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../widget/form/addfriendform.cpp" line="40"/>
<source>Tox me maybe?</source>
<comment>Default message in friend requests if the field is left blank. Write something appropriate!</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../widget/form/addfriendform.cpp" line="96"/>
<source>Please fill in a valid Tox ID</source>
<comment>Tox ID of the friend you&apos;re sending a friend request to</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../widget/form/addfriendform.cpp" line="99"/>
<source>You can&apos;t add yourself as a friend!</source>
<comment>When trying to add your own Tox ID as friend</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../widget/form/addfriendform.cpp" line="116"/>
<source>This address does not exist</source>
<comment>The DNS gives the Tox ID associated to toxme.se addresses</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../widget/form/addfriendform.cpp" line="120"/>
<source>Error while looking up DNS</source>
<comment>The DNS gives the Tox ID associated to toxme.se addresses</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../widget/form/addfriendform.cpp" line="126"/>
<source>Unexpected number of text records</source>
<comment>Error with the DNS</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../widget/form/addfriendform.cpp" line="132"/>
<source>Unexpected number of values in text record</source>
<comment>Error with the DNS</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../widget/form/addfriendform.cpp" line="139"/>
<source>The DNS lookup does not contain any Tox ID</source>
<comment>Error with the DNS</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../widget/form/addfriendform.cpp" line="145"/>
<location filename="../widget/form/addfriendform.cpp" line="151"/>
<source>The DNS lookup does not contain a valid Tox ID</source>
<comment>Error with the DNS</comment>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>ChatForm</name>
<message>
<location filename="../widget/form/chatform.cpp" line="80"/>
<source>Send a file</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>FileTransferInstance</name>
<message>
<location filename="../filetransferinstance.cpp" line="191"/>
<source>Save a file</source>
<comment>Title of the file saving dialog</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filetransferinstance.cpp" line="202"/>
<source>Location not writable</source>
<comment>Title of permissions popup</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../filetransferinstance.cpp" line="202"/>
<source>You do not have permission to write that location. Choose another, or cancel the save dialog.</source>
<comment>text of permissions popup</comment>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>FilesForm</name>
<message>
<location filename="../widget/form/filesform.cpp" line="30"/>
<source>Transfered Files</source>
<comment>&quot;Headline&quot; of the window</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../widget/form/filesform.cpp" line="38"/>
<source>Downloads</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../widget/form/filesform.cpp" line="39"/>
<source>Uploads</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>FriendRequestDialog</name>
<message>
<location filename="../widget/tool/friendrequestdialog.cpp" line="30"/>
<source>Friend request</source>
<comment>Title of the window to aceept/deny a friend request</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../widget/tool/friendrequestdialog.cpp" line="32"/>
<source>Someone wants to make friends with you</source>
<translation>Ayy ! You have mothafucking friend request you little bitch !</translation>
</message>
<message>
<location filename="../widget/tool/friendrequestdialog.cpp" line="33"/>
<source>User ID:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../widget/tool/friendrequestdialog.cpp" line="37"/>
<source>Friend request message:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../widget/tool/friendrequestdialog.cpp" line="44"/>
<source>Accept</source>
<comment>Accept a friend request</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../widget/tool/friendrequestdialog.cpp" line="45"/>
<source>Reject</source>
<comment>Reject a friend request</comment>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>FriendWidget</name>
<message>
<location filename="../widget/friendwidget.cpp" line="84"/>
<source>Copy friend ID</source>
<comment>Menu to copy the Tox ID of that friend</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../widget/friendwidget.cpp" line="85"/>
<source>Invite in group</source>
<comment>Menu to invite a friend in a groupchat</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../widget/friendwidget.cpp" line="95"/>
<source>Remove friend</source>
<comment>Menu to remove the friend from our friendlist</comment>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>GeneralPage</name>
<message>
<location filename="../widget/settingsdialog.cpp" line="31"/>
<source>General Settings</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../widget/settingsdialog.cpp" line="34"/>
<source>Enable IPv6 (recommended)</source>
<comment>Text on a checkbox to enable IPv6</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../widget/settingsdialog.cpp" line="36"/>
<source>Use translations</source>
<comment>Text on a checkbox to enable translations</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../widget/settingsdialog.cpp" line="38"/>
<source>Make Tox portable</source>
<comment>Text on a checkbox to make qTox a portable application</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../widget/settingsdialog.cpp" line="39"/>
<source>Save settings to the working directory instead of the usual conf dir</source>
<comment>describes makeToxPortable checkbox</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../widget/settingsdialog.cpp" line="48"/>
<source>Theme</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../widget/settingsdialog.cpp" line="49"/>
<source>Smiley Pack</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>GenericChatForm</name>
<message>
<location filename="../widget/form/genericchatform.cpp" line="142"/>
<location filename="../widget/form/genericchatform.cpp" line="148"/>
<source>Save chat log</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>GroupChatForm</name>
<message>
<location filename="../widget/form/groupchatform.cpp" line="41"/>
<source>%1 users in chat</source>
<comment>Number of users in chat</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../widget/form/groupchatform.cpp" line="83"/>
<source>&lt;Unknown&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../widget/form/groupchatform.cpp" line="90"/>
<source>%1 users in chat</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>GroupWidget</name>
<message>
<location filename="../widget/groupwidget.cpp" line="58"/>
<location filename="../widget/groupwidget.cpp" line="100"/>
<source>%1 users in chat</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../widget/groupwidget.cpp" line="60"/>
<location filename="../widget/groupwidget.cpp" line="102"/>
<source>0 users in chat</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../widget/groupwidget.cpp" line="83"/>
<source>Quit group</source>
<comment>Menu to quit a groupchat</comment>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>IdentityPage</name>
<message>
<location filename="../widget/settingsdialog.cpp" line="82"/>
<source>Public Information</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../widget/settingsdialog.cpp" line="83"/>
<source>Name</source>
<comment>Username/nick</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../widget/settingsdialog.cpp" line="85"/>
<source>Status</source>
<comment>Status message</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../widget/settingsdialog.cpp" line="95"/>
<source>Tox ID</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../widget/settingsdialog.cpp" line="96"/>
<source>Your Tox ID</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>MainWindow</name>
<message>
<location filename="../mainwindow.ui" line="20"/>
<source>qTox</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.ui" line="1918"/>
<source>Your name</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.ui" line="2000"/>
<source>Your status</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.ui" line="2566"/>
<source>Add friends</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.ui" line="2592"/>
<source>Create a group chat</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.ui" line="2624"/>
<source>View completed file transfers</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.ui" line="2656"/>
<source>Change your settings</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.ui" line="3238"/>
<source>Close</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../mainwindow.ui" line="3241"/>
<source>Ctrl+Q</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>SelfCamView</name>
<message>
<location filename="../widget/selfcamview.cpp" line="33"/>
<source>Tox video test</source>
<comment>Title of the window to test the video/webcam</comment>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>SettingsDialog</name>
<message>
<location filename="../widget/settingsdialog.cpp" line="197"/>
<source>qTox Settings</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../widget/settingsdialog.cpp" line="224"/>
<source>General</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../widget/settingsdialog.cpp" line="230"/>
<source>Identity</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../widget/settingsdialog.cpp" line="236"/>
<source>Privacy</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../widget/settingsdialog.cpp" line="242"/>
<source>Audio/Video</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../widget/settingsdialog.cpp" line="251"/>
<source>Ok</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../widget/settingsdialog.cpp" line="252"/>
<source>Cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../widget/settingsdialog.cpp" line="253"/>
<source>Apply</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>Widget</name>
<message>
<location filename="../widget/widget.cpp" line="133"/>
<source>Online</source>
<comment>Button to set your status to &apos;Online&apos;</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../widget/widget.cpp" line="135"/>
<source>Away</source>
<comment>Button to set your status to &apos;Away&apos;</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../widget/widget.cpp" line="137"/>
<source>Busy</source>
<comment>Button to set your status to &apos;Busy&apos;</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../widget/widget.cpp" line="605"/>
<source>&lt;Unknown&gt;</source>
<comment>Placeholder when we don&apos;t know someone&apos;s name in a group chat</comment>
<translation type="unfinished"></translation>
</message>
</context>
</TS>

BIN
translations/pl.qm

Binary file not shown.

462
translations/pl.ts

@ -0,0 +1,462 @@ @@ -0,0 +1,462 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="pl_PL">
<context>
<name>AVPage</name>
<message>
<location filename="../widget/settingsdialog.cpp" line="132"/>
<source>Video Settings</source>
<translation>Ustawienia wideo</translation>
</message>
<message>
<location filename="../widget/settingsdialog.cpp" line="136"/>
<location filename="../widget/settingsdialog.cpp" line="163"/>
<source>Show video preview</source>
<comment>On a button</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../widget/settingsdialog.cpp" line="157"/>
<source>Hide video preview</source>
<comment>On a button</comment>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>AddFriendForm</name>
<message>
<location filename="../widget/form/addfriendform.cpp" line="34"/>
<source>Add Friends</source>
<translation>Dodaj znajomych</translation>
</message>
<message>
<location filename="../widget/form/addfriendform.cpp" line="37"/>
<source>Tox ID</source>
<comment>Tox ID of the person you&apos;re sending a friend request to</comment>
<translation>Tox ID</translation>
</message>
<message>
<location filename="../widget/form/addfriendform.cpp" line="38"/>
<source>Message</source>
<comment>The message you send in friend requests</comment>
<translation>Wiadomość</translation>
</message>
<message>
<location filename="../widget/form/addfriendform.cpp" line="39"/>
<source>Send friend request</source>
<translation>Wyślij zapytanie do znajomego</translation>
</message>
<message>
<location filename="../widget/form/addfriendform.cpp" line="40"/>
<source>Tox me maybe?</source>
<comment>Default message in friend requests if the field is left blank. Write something appropriate!</comment>
<translation>Może Tox ze mną?</translation>
</message>
<message>
<location filename="../widget/form/addfriendform.cpp" line="96"/>
<source>Please fill in a valid Tox ID</source>
<comment>Tox ID of the friend you&apos;re sending a friend request to</comment>
<translation>Proszę wpisać poprawny Tox ID</translation>
</message>
<message>
<location filename="../widget/form/addfriendform.cpp" line="99"/>
<source>You can&apos;t add yourself as a friend!</source>
<comment>When trying to add your own Tox ID as friend</comment>
<translation>Nie możesz dodać siebie jako znajomego!</translation>
</message>
<message>
<location filename="../widget/form/addfriendform.cpp" line="116"/>
<source>This address does not exist</source>
<comment>The DNS gives the Tox ID associated to toxme.se addresses</comment>
<translation>Ten adres nie istnieje</translation>
</message>
<message>
<location filename="../widget/form/addfriendform.cpp" line="120"/>
<source>Error while looking up DNS</source>
<comment>The DNS gives the Tox ID associated to toxme.se addresses</comment>
<translation>Błąd podczas sprawdzania DNS</translation>
</message>
<message>
<location filename="../widget/form/addfriendform.cpp" line="126"/>
<source>Unexpected number of text records</source>
<comment>Error with the DNS</comment>
<translation>Nieoczekiwana liczba wpisów tekstowych</translation>
</message>
<message>
<location filename="../widget/form/addfriendform.cpp" line="132"/>
<source>Unexpected number of values in text record</source>
<comment>Error with the DNS</comment>
<translation>Nieoczekiwana liczba wartości we wpisie tekstowym</translation>
</message>
<message>
<location filename="../widget/form/addfriendform.cpp" line="139"/>
<source>The DNS lookup does not contain any Tox ID</source>
<comment>Error with the DNS</comment>
<translation>DNS nie zawiera żadnego Tox ID</translation>
</message>
<message>
<location filename="../widget/form/addfriendform.cpp" line="145"/>
<location filename="../widget/form/addfriendform.cpp" line="151"/>
<source>The DNS lookup does not contain a valid Tox ID</source>
<comment>Error with the DNS</comment>
<translation>DNS nie zawiera poprawnego Tox ID</translation>
</message>
</context>
<context>
<name>ChatForm</name>
<message>
<location filename="../widget/form/chatform.cpp" line="80"/>
<source>Send a file</source>
<translation>Wyślij plik</translation>
</message>
</context>
<context>
<name>FileTransferInstance</name>
<message>
<location filename="../filetransferinstance.cpp" line="191"/>
<source>Save a file</source>
<comment>Title of the file saving dialog</comment>
<translation>Zapisz plik</translation>
</message>
<message>
<location filename="../filetransferinstance.cpp" line="202"/>
<source>Location not writable</source>
<comment>Title of permissions popup</comment>
<translation>Nie można zapisać w lokacji</translation>
</message>
<message>
<location filename="../filetransferinstance.cpp" line="202"/>
<source>You do not have permission to write that location. Choose another, or cancel the save dialog.</source>
<comment>text of permissions popup</comment>
<translation>Nie masz uprawnienia by zapisać w tej lokacji. Wybierz inną lub anuluj zapis.</translation>
</message>
</context>
<context>
<name>FilesForm</name>
<message>
<location filename="../widget/form/filesform.cpp" line="30"/>
<source>Transfered Files</source>
<comment>&quot;Headline&quot; of the window</comment>
<translation>Przesłane pliki</translation>
</message>
<message>
<location filename="../widget/form/filesform.cpp" line="38"/>
<source>Downloads</source>
<translation>Pobrane</translation>
</message>
<message>
<location filename="../widget/form/filesform.cpp" line="39"/>
<source>Uploads</source>
<translation>Wysłane</translation>
</message>
</context>
<context>
<name>FriendRequestDialog</name>
<message>
<location filename="../widget/tool/friendrequestdialog.cpp" line="30"/>
<source>Friend request</source>
<comment>Title of the window to aceept/deny a friend request</comment>
<translatorcomment>no idea how it shoule be translated</translatorcomment>
<translation>Zapytanie znajomego</translation>
</message>
<message>
<location filename="../widget/tool/friendrequestdialog.cpp" line="32"/>
<source>Someone wants to make friends with you</source>
<translation>Ktoś chce być twoim znajomym</translation>
</message>
<message>
<location filename="../widget/tool/friendrequestdialog.cpp" line="33"/>
<source>User ID:</source>
<translation>ID użytkownika:</translation>
</message>
<message>
<location filename="../widget/tool/friendrequestdialog.cpp" line="37"/>
<source>Friend request message:</source>
<translatorcomment>better wording needed?</translatorcomment>
<translation>Wiadomość w zapytaniu do znajomej/go:</translation>
</message>
<message>
<location filename="../widget/tool/friendrequestdialog.cpp" line="44"/>
<source>Accept</source>
<comment>Accept a friend request</comment>
<translation>Zaakceptuj</translation>
</message>
<message>
<location filename="../widget/tool/friendrequestdialog.cpp" line="45"/>
<source>Reject</source>
<comment>Reject a friend request</comment>
<translation>Odrzuć</translation>
</message>
</context>
<context>
<name>FriendWidget</name>
<message>
<location filename="../widget/friendwidget.cpp" line="84"/>
<source>Copy friend ID</source>
<comment>Menu to copy the Tox ID of that friend</comment>
<translation>Kopiuj ID znajomej/go</translation>
</message>
<message>
<location filename="../widget/friendwidget.cpp" line="85"/>
<source>Invite in group</source>
<comment>Menu to invite a friend in a groupchat</comment>
<translation>Zaproś do grupy</translation>
</message>
<message>
<location filename="../widget/friendwidget.cpp" line="95"/>
<source>Remove friend</source>
<comment>Menu to remove the friend from our friendlist</comment>
<translation>Usuń znajomego</translation>
</message>
</context>
<context>
<name>GeneralPage</name>
<message>
<location filename="../widget/settingsdialog.cpp" line="31"/>
<source>General Settings</source>
<translation>Główne ustawienia</translation>
</message>
<message>
<location filename="../widget/settingsdialog.cpp" line="34"/>
<source>Enable IPv6 (recommended)</source>
<comment>Text on a checkbox to enable IPv6</comment>
<translation>Użyj IPv6 (rekomendowane)</translation>
</message>
<message>
<location filename="../widget/settingsdialog.cpp" line="36"/>
<source>Use translations</source>
<comment>Text on a checkbox to enable translations</comment>
<translation>Użyj tłumaczenia</translation>
</message>
<message>
<location filename="../widget/settingsdialog.cpp" line="38"/>
<source>Make Tox portable</source>
<comment>Text on a checkbox to make qTox a portable application</comment>
<translation>Zrób Tox przenośnym</translation>
</message>
<message>
<location filename="../widget/settingsdialog.cpp" line="39"/>
<source>Save settings to the working directory instead of the usual conf dir</source>
<comment>describes makeToxPortable checkbox</comment>
<translation>Zamiast domyślnego katalogu użyj obecnego do zapisania ustawień</translation>
</message>
<message>
<location filename="../widget/settingsdialog.cpp" line="48"/>
<source>Theme</source>
<translation>Motyw</translation>
</message>
<message>
<location filename="../widget/settingsdialog.cpp" line="49"/>
<source>Smiley Pack</source>
<translatorcomment>needs better translation</translatorcomment>
<translation>Paczka uśmiechów</translation>
</message>
</context>
<context>
<name>GenericChatForm</name>
<message>
<location filename="../widget/form/genericchatform.cpp" line="142"/>
<location filename="../widget/form/genericchatform.cpp" line="148"/>
<source>Save chat log</source>
<translation>Zapisz historię rozmowy</translation>
</message>
</context>
<context>
<name>GroupChatForm</name>
<message>
<location filename="../widget/form/groupchatform.cpp" line="41"/>
<source>%1 users in chat</source>
<comment>Number of users in chat</comment>
<translation>%1 użytkowników w czacie</translation>
</message>
<message>
<location filename="../widget/form/groupchatform.cpp" line="83"/>
<source>&lt;Unknown&gt;</source>
<translation>&lt;Nieznany/a&gt;</translation>
</message>
<message>
<location filename="../widget/form/groupchatform.cpp" line="90"/>
<source>%1 users in chat</source>
<translation>%1 użytkowników w czacie</translation>
</message>
</context>
<context>
<name>GroupWidget</name>
<message>
<location filename="../widget/groupwidget.cpp" line="58"/>
<location filename="../widget/groupwidget.cpp" line="100"/>
<source>%1 users in chat</source>
<translation>%1 użytkowników w czacie</translation>
</message>
<message>
<location filename="../widget/groupwidget.cpp" line="60"/>
<location filename="../widget/groupwidget.cpp" line="102"/>
<source>0 users in chat</source>
<translation>0 użytkowników w czacie</translation>
</message>
<message>
<location filename="../widget/groupwidget.cpp" line="83"/>
<source>Quit group</source>
<comment>Menu to quit a groupchat</comment>
<translation>Opuść grupę</translation>
</message>
</context>
<context>
<name>IdentityPage</name>
<message>
<location filename="../widget/settingsdialog.cpp" line="82"/>
<source>Public Information</source>
<translation>Informacja publiczna</translation>
</message>
<message>
<location filename="../widget/settingsdialog.cpp" line="83"/>
<source>Name</source>
<comment>Username/nick</comment>
<translation>Nick</translation>
</message>
<message>
<location filename="../widget/settingsdialog.cpp" line="85"/>
<source>Status</source>
<comment>Status message</comment>
<translation>Status</translation>
</message>
<message>
<location filename="../widget/settingsdialog.cpp" line="95"/>
<source>Tox ID</source>
<translation>Tox ID</translation>
</message>
<message>
<location filename="../widget/settingsdialog.cpp" line="96"/>
<source>Your Tox ID</source>
<translation>Twój Tox ID</translation>
</message>
</context>
<context>
<name>MainWindow</name>
<message>
<location filename="../mainwindow.ui" line="20"/>
<source>qTox</source>
<translation>qTox</translation>
</message>
<message>
<location filename="../mainwindow.ui" line="1918"/>
<source>Your name</source>
<translation>Twój nick</translation>
</message>
<message>
<location filename="../mainwindow.ui" line="2000"/>
<source>Your status</source>
<translation>Twój status</translation>
</message>
<message>
<location filename="../mainwindow.ui" line="2566"/>
<source>Add friends</source>
<translation>Dodaj znajomych</translation>
</message>
<message>
<location filename="../mainwindow.ui" line="2592"/>
<source>Create a group chat</source>
<translation>Utwórz czat grupowy</translation>
</message>
<message>
<location filename="../mainwindow.ui" line="2624"/>
<source>View completed file transfers</source>
<translation>Zobacz zakończone transfery plików</translation>
</message>
<message>
<location filename="../mainwindow.ui" line="2656"/>
<source>Change your settings</source>
<translatorcomment>translated as &quot;change settings&quot;; seems to be simpler this way</translatorcomment>
<translation>Zmień ustawienia</translation>
</message>
<message>
<location filename="../mainwindow.ui" line="3238"/>
<source>Close</source>
<translation>Zamknij</translation>
</message>
<message>
<location filename="../mainwindow.ui" line="3241"/>
<source>Ctrl+Q</source>
<translation>Ctrl+Q</translation>
</message>
</context>
<context>
<name>SelfCamView</name>
<message>
<location filename="../widget/selfcamview.cpp" line="33"/>
<source>Tox video test</source>
<comment>Title of the window to test the video/webcam</comment>
<translation>Tox test wideo</translation>
</message>
</context>
<context>
<name>SettingsDialog</name>
<message>
<location filename="../widget/settingsdialog.cpp" line="197"/>
<source>qTox Settings</source>
<translation>qTox Ustawienia</translation>
</message>
<message>
<location filename="../widget/settingsdialog.cpp" line="224"/>
<source>General</source>
<translation>Główne</translation>
</message>
<message>
<location filename="../widget/settingsdialog.cpp" line="230"/>
<source>Identity</source>
<translation>Tożsamość</translation>
</message>
<message>
<location filename="../widget/settingsdialog.cpp" line="236"/>
<source>Privacy</source>
<translation>Prywatność</translation>
</message>
<message>
<location filename="../widget/settingsdialog.cpp" line="242"/>
<source>Audio/Video</source>
<translation>Audio/Wideo</translation>
</message>
<message>
<location filename="../widget/settingsdialog.cpp" line="251"/>
<source>Ok</source>
<translation>Ok</translation>
</message>
<message>
<location filename="../widget/settingsdialog.cpp" line="252"/>
<source>Cancel</source>
<translation>Anuluj</translation>
</message>
<message>
<location filename="../widget/settingsdialog.cpp" line="253"/>
<source>Apply</source>
<translation>Zastosuj</translation>
</message>
</context>
<context>
<name>Widget</name>
<message>
<location filename="../widget/widget.cpp" line="133"/>
<source>Online</source>
<comment>Button to set your status to &apos;Online&apos;</comment>
<translation>Online</translation>
</message>
<message>
<location filename="../widget/widget.cpp" line="135"/>
<source>Away</source>
<comment>Button to set your status to &apos;Away&apos;</comment>
<translation>Nieobecny/a</translation>
</message>
<message>
<location filename="../widget/widget.cpp" line="137"/>
<source>Busy</source>
<comment>Button to set your status to &apos;Busy&apos;</comment>
<translation>Zajęty/a</translation>
</message>
<message>
<location filename="../widget/widget.cpp" line="605"/>
<source>&lt;Unknown&gt;</source>
<comment>Placeholder when we don&apos;t know someone&apos;s name in a group chat</comment>
<translation>&lt;Nieznany/a&gt;</translation>
</message>
</context>
</TS>

BIN
translations/ru.qm

Binary file not shown.

346
translations/ru.ts

@ -1,77 +1,109 @@ @@ -1,77 +1,109 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="ru_RU">
<context>
<name>AVPage</name>
<message>
<location filename="../widget/settingsdialog.cpp" line="132"/>
<source>Video Settings</source>
<translation>Настройки видео</translation>
</message>
<message>
<location filename="../widget/settingsdialog.cpp" line="136"/>
<location filename="../widget/settingsdialog.cpp" line="163"/>
<source>Show video preview</source>
<comment>On a button</comment>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../widget/settingsdialog.cpp" line="157"/>
<source>Hide video preview</source>
<comment>On a button</comment>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>AddFriendForm</name>
<message>
<location filename="../widget/form/addfriendform.cpp" line="32"/>
<location filename="../widget/form/addfriendform.cpp" line="34"/>
<source>Add Friends</source>
<translation>Добавление друзей</translation>
</message>
<message>
<location filename="../widget/form/addfriendform.cpp" line="35"/>
<location filename="../widget/form/addfriendform.cpp" line="37"/>
<source>Tox ID</source>
<comment>Tox ID of the person you&apos;re sending a friend request to</comment>
<translation>Tox ID</translation>
</message>
<message>
<location filename="../widget/form/addfriendform.cpp" line="36"/>
<location filename="../widget/form/addfriendform.cpp" line="38"/>
<source>Message</source>
<comment>The message you send in friend requests</comment>
<translation>Сообщение</translation>
</message>
<message>
<location filename="../widget/form/addfriendform.cpp" line="37"/>
<location filename="../widget/form/addfriendform.cpp" line="39"/>
<source>Send friend request</source>
<translatorcomment>Мне не нравится, но другого не придумал, и фейсбук использует это</translatorcomment>
<translation>Отправить запрос на добавление в друзья</translation>
</message>
<message>
<location filename="../widget/form/addfriendform.cpp" line="38"/>
<location filename="../widget/form/addfriendform.cpp" line="40"/>
<source>Tox me maybe?</source>
<comment>Default message in friend requests if the field is left blank. Write something appropriate!</comment>
<translatorcomment>Вот таким нехитрым и незамысловатым образом решаются сложные переводчиские проблемы</translatorcomment>
<translation>Добавь меня, а?</translation>
</message>
<message>
<location filename="../widget/form/addfriendform.cpp" line="93"/>
<location filename="../widget/form/addfriendform.cpp" line="96"/>
<source>Please fill in a valid Tox ID</source>
<comment>Tox ID of the friend you&apos;re sending a friend request to</comment>
<translation>Пожалуйста, введите корректный Tox ID</translation>
</message>
<message>
<location filename="../widget/form/addfriendform.cpp" line="110"/>
<location filename="../widget/form/addfriendform.cpp" line="99"/>
<source>You can&apos;t add yourself as a friend!</source>
<comment>When trying to add your own Tox ID as friend</comment>
<translation type="unfinished"></translation>
</message>
<message>
<source>You can&apos;t add yourself as a friend !</source>
<comment>When trying to add your own Tox ID as friend</comment>
<translation type="vanished">Нельзя добавить самого себя в друзья!</translation>
</message>
<message>
<location filename="../widget/form/addfriendform.cpp" line="116"/>
<source>This address does not exist</source>
<comment>The DNS gives the Tox ID associated to toxme.se addresses</comment>
<translation>Нет такого адреса</translation>
</message>
<message>
<location filename="../widget/form/addfriendform.cpp" line="114"/>
<location filename="../widget/form/addfriendform.cpp" line="120"/>
<source>Error while looking up DNS</source>
<comment>The DNS gives the Tox ID associated to toxme.se addresses</comment>
<translation>Ошибка при просмотре DNS</translation>
</message>
<message>
<location filename="../widget/form/addfriendform.cpp" line="120"/>
<location filename="../widget/form/addfriendform.cpp" line="126"/>
<source>Unexpected number of text records</source>
<comment>Error with the DNS</comment>
<translation>Непредвиденное количество текстовых записей</translation>
</message>
<message>
<location filename="../widget/form/addfriendform.cpp" line="126"/>
<location filename="../widget/form/addfriendform.cpp" line="132"/>
<source>Unexpected number of values in text record</source>
<comment>Error with the DNS</comment>
<translation>Непредвиденное количество значений в текстовой записи</translation>
</message>
<message>
<location filename="../widget/form/addfriendform.cpp" line="133"/>
<location filename="../widget/form/addfriendform.cpp" line="139"/>
<source>The DNS lookup does not contain any Tox ID</source>
<comment>Error with the DNS</comment>
<translation>В ответе DNS ни одного Tox ID</translation>
</message>
<message>
<location filename="../widget/form/addfriendform.cpp" line="139"/>
<location filename="../widget/form/addfriendform.cpp" line="145"/>
<location filename="../widget/form/addfriendform.cpp" line="151"/>
<source>The DNS lookup does not contain a valid Tox ID</source>
<comment>Error with the DNS</comment>
<translation>Ответ DNS не содержит корректных Tox ID</translation>
@ -80,74 +112,87 @@ @@ -80,74 +112,87 @@
<context>
<name>Camera</name>
<message>
<location filename="../widget/camera.cpp" line="161"/>
<source>Camera eror</source>
<translation>Ошибка камеры</translation>
<translation type="obsolete">Ошибка камеры</translation>
</message>
<message>
<location filename="../widget/camera.cpp" line="162"/>
<source>Camera format %1 not supported, can&apos;t use the camera</source>
<translation>Формат камеры %1 не поддерживается, невозможно использовать камеру</translation>
<translation type="obsolete">Формат камеры %1 не поддерживается, невозможно использовать камеру</translation>
</message>
</context>
<context>
<name>ChatForm</name>
<message>
<location filename="../widget/form/chatform.cpp" line="283"/>
<location filename="../widget/form/chatform.cpp" line="80"/>
<source>Send a file</source>
<translation>Отправить файл</translation>
</message>
<message>
<location filename="../widget/form/chatform.cpp" line="620"/>
<location filename="../widget/form/chatform.cpp" line="626"/>
<source>Save chat log</source>
<translation>Сохранить лог чата</translation>
<translation type="obsolete">Сохранить лог чата</translation>
</message>
</context>
<context>
<name>CopyableElideLabel</name>
<message>
<location filename="../widget/tool/copyableelidelabel.cpp" line="29"/>
<source>Copy</source>
<translation>Копировать</translation>
<translation type="obsolete">Копировать</translation>
</message>
</context>
<context>
<name>FileTransfertWidget</name>
<name>FileTransferInstance</name>
<message>
<location filename="../widget/filetransfertwidget.cpp" line="281"/>
<location filename="../filetransferinstance.cpp" line="191"/>
<source>Save a file</source>
<comment>Title of the file saving dialog</comment>
<translation>Сохранить файл</translation>
</message>
<message>
<location filename="../widget/filetransfertwidget.cpp" line="292"/>
<location filename="../filetransferinstance.cpp" line="202"/>
<source>Location not writable</source>
<comment>Title of permissions popup</comment>
<translation type="unfinished"></translation>
<translation>Непригодная для записи локация</translation>
</message>
<message>
<location filename="../widget/filetransfertwidget.cpp" line="292"/>
<location filename="../filetransferinstance.cpp" line="202"/>
<source>You do not have permission to write that location. Choose another, or cancel the save dialog.</source>
<comment>text of permissions popup</comment>
<translation type="unfinished"></translation>
<translation>У вас нет прав записи в эту локацию. Выберете другую или закройте диалог сохранения.</translation>
</message>
</context>
<context>
<name>FileTransfertWidget</name>
<message>
<source>Save a file</source>
<comment>Title of the file saving dialog</comment>
<translation type="obsolete">Сохранить файл</translation>
</message>
<message>
<source>Location not writable</source>
<comment>Title of permissions popup</comment>
<translation type="obsolete">Непригодная для записи локация</translation>
</message>
<message>
<source>You do not have permission to write that location. Choose another, or cancel the save dialog.</source>
<comment>text of permissions popup</comment>
<translation type="obsolete">У вас нет прав записи в эту локацию. Выберете другую или закройте диалог сохранения.</translation>
</message>
</context>
<context>
<name>FilesForm</name>
<message>
<location filename="../widget/form/filesform.cpp" line="25"/>
<location filename="../widget/form/filesform.cpp" line="30"/>
<source>Transfered Files</source>
<comment>&quot;Headline&quot; of the window</comment>
<translation>Переданные файлы</translation>
</message>
<message>
<location filename="../widget/form/filesform.cpp" line="33"/>
<location filename="../widget/form/filesform.cpp" line="38"/>
<source>Downloads</source>
<translation>Загрузки</translation>
</message>
<message>
<location filename="../widget/form/filesform.cpp" line="34"/>
<location filename="../widget/form/filesform.cpp" line="39"/>
<source>Uploads</source>
<translation>Выгрузки</translation>
</message>
@ -193,246 +238,369 @@ @@ -193,246 +238,369 @@
<context>
<name>FriendWidget</name>
<message>
<location filename="../widget/friendwidget.cpp" line="86"/>
<location filename="../widget/friendwidget.cpp" line="84"/>
<source>Copy friend ID</source>
<comment>Menu to copy the Tox ID of that friend</comment>
<translation>Копировать ID друга</translation>
</message>
<message>
<location filename="../widget/friendwidget.cpp" line="87"/>
<location filename="../widget/friendwidget.cpp" line="85"/>
<source>Invite in group</source>
<comment>Menu to invite a friend in a groupchat</comment>
<translation>Пригласить в группу</translation>
</message>
<message>
<location filename="../widget/friendwidget.cpp" line="97"/>
<location filename="../widget/friendwidget.cpp" line="95"/>
<source>Remove friend</source>
<comment>Menu to remove the friend from our friendlist</comment>
<translation>Удалить друга</translation>
</message>
</context>
<context>
<name>GeneralPage</name>
<message>
<location filename="../widget/settingsdialog.cpp" line="31"/>
<source>General Settings</source>
<translation>Основные настройки</translation>
</message>
<message>
<location filename="../widget/settingsdialog.cpp" line="34"/>
<source>Enable IPv6 (recommended)</source>
<comment>Text on a checkbox to enable IPv6</comment>
<translation>Включить IPv6 (рекомендуется)</translation>
</message>
<message>
<location filename="../widget/settingsdialog.cpp" line="36"/>
<source>Use translations</source>
<comment>Text on a checkbox to enable translations</comment>
<translation>Русскоязычный интерфейс</translation>
</message>
<message>
<location filename="../widget/settingsdialog.cpp" line="38"/>
<source>Make Tox portable</source>
<comment>Text on a checkbox to make qTox a portable application</comment>
<translation>Портативный режим</translation>
</message>
<message>
<location filename="../widget/settingsdialog.cpp" line="39"/>
<source>Save settings to the working directory instead of the usual conf dir</source>
<comment>describes makeToxPortable checkbox</comment>
<translation>Сохранять настройки в рабочую директорию вместо страндартной директории настроек</translation>
</message>
<message>
<location filename="../widget/settingsdialog.cpp" line="48"/>
<source>Theme</source>
<translation>Тема</translation>
</message>
<message>
<location filename="../widget/settingsdialog.cpp" line="49"/>
<source>Smiley Pack</source>
<translation>Набор смайликов</translation>
</message>
</context>
<context>
<name>GenericChatForm</name>
<message>
<location filename="../widget/form/genericchatform.cpp" line="142"/>
<location filename="../widget/form/genericchatform.cpp" line="148"/>
<source>Save chat log</source>
<translation>Сохранить лог чата</translation>
</message>
</context>
<context>
<name>GroupChatForm</name>
<message>
<location filename="../widget/form/groupchatform.cpp" line="49"/>
<location filename="../widget/form/groupchatform.cpp" line="41"/>
<source>%1 users in chat</source>
<comment>Number of users in chat</comment>
<translation>%1 пользователей в чате</translation>
</message>
<message>
<location filename="../widget/form/groupchatform.cpp" line="146"/>
<location filename="../widget/form/groupchatform.cpp" line="83"/>
<source>&lt;Unknown&gt;</source>
<translation>&lt;Неизвестно&gt;</translation>
</message>
<message>
<location filename="../widget/form/groupchatform.cpp" line="215"/>
<location filename="../widget/form/groupchatform.cpp" line="90"/>
<source>%1 users in chat</source>
<translation>%1 пользователей в чате</translation>
</message>
<message>
<location filename="../widget/form/groupchatform.cpp" line="234"/>
<source>Save chat log</source>
<translation>Сохранить лог чата</translation>
<translation type="obsolete">Сохранить лог чата</translation>
</message>
</context>
<context>
<name>GroupWidget</name>
<message>
<location filename="../widget/groupwidget.cpp" line="84"/>
<location filename="../widget/groupwidget.cpp" line="83"/>
<source>Quit group</source>
<comment>Menu to quit a groupchat</comment>
<translation>Покинуть группу</translation>
</message>
<message>
<location filename="../widget/groupwidget.cpp" line="54"/>
<location filename="../widget/groupwidget.cpp" line="141"/>
<location filename="../widget/groupwidget.cpp" line="58"/>
<location filename="../widget/groupwidget.cpp" line="100"/>
<source>%1 users in chat</source>
<translation>%1 пользователей в чате</translation>
</message>
<message>
<location filename="../widget/groupwidget.cpp" line="56"/>
<location filename="../widget/groupwidget.cpp" line="143"/>
<location filename="../widget/groupwidget.cpp" line="60"/>
<location filename="../widget/groupwidget.cpp" line="102"/>
<source>0 users in chat</source>
<translation>Ни одного пользователя в чате</translation>
</message>
</context>
<context>
<name>IdentityPage</name>
<message>
<location filename="../widget/settingsdialog.cpp" line="82"/>
<source>Public Information</source>
<translation>Публичные данные</translation>
</message>
<message>
<location filename="../widget/settingsdialog.cpp" line="83"/>
<source>Name</source>
<comment>Username/nick</comment>
<translation>Имя</translation>
</message>
<message>
<location filename="../widget/settingsdialog.cpp" line="85"/>
<source>Status</source>
<comment>Status message</comment>
<translation>Статус</translation>
</message>
<message>
<location filename="../widget/settingsdialog.cpp" line="95"/>
<source>Tox ID</source>
<translation>Tox ID</translation>
</message>
<message>
<location filename="../widget/settingsdialog.cpp" line="96"/>
<source>Your Tox ID</source>
<translation>Ваш Tox ID</translation>
</message>
</context>
<context>
<name>MainWindow</name>
<message>
<location filename="../mainwindow.ui" line="20"/>
<source>qTox</source>
<translation type="unfinished"></translation>
<translation>qTox</translation>
</message>
<message>
<location filename="../mainwindow.ui" line="1918"/>
<source>Your name</source>
<translation type="unfinished">Ваше имя</translation>
<translation>Ваше имя</translation>
</message>
<message>
<location filename="../mainwindow.ui" line="2000"/>
<source>Your status</source>
<translation type="unfinished">Ваш статус</translation>
<translation>Ваш статус</translation>
</message>
<message>
<location filename="../mainwindow.ui" line="2566"/>
<source>Add friends</source>
<translation type="unfinished">Добавить друзей</translation>
<translation>Добавить друзей</translation>
</message>
<message>
<location filename="../mainwindow.ui" line="2592"/>
<source>Create a group chat</source>
<translation type="unfinished">Создать групповой чат</translation>
<translation>Создать групповой чат</translation>
</message>
<message>
<location filename="../mainwindow.ui" line="2624"/>
<source>View completed file transfers</source>
<translation type="unfinished"></translation>
<translation>Завершённые файлопередачи</translation>
</message>
<message>
<location filename="../mainwindow.ui" line="2656"/>
<source>Change your settings</source>
<translation type="unfinished">Изменить ваши настройки</translation>
<translation>Изменить ваши настройки</translation>
</message>
<message>
<location filename="../mainwindow.ui" line="3238"/>
<source>Close</source>
<translation type="unfinished">Закрыть</translation>
<translation>Закрыть</translation>
</message>
<message>
<location filename="../mainwindow.ui" line="3241"/>
<source>Ctrl+Q</source>
<translation type="unfinished">Ctrl+Q</translation>
<translation>Ctrl+Q</translation>
</message>
</context>
<context>
<name>SelfCamView</name>
<message>
<location filename="../widget/selfcamview.cpp" line="32"/>
<location filename="../widget/selfcamview.cpp" line="33"/>
<source>Tox video test</source>
<comment>Title of the window to test the video/webcam</comment>
<translation>Проверка видео</translation>
</message>
</context>
<context>
<name>SettingsDialog</name>
<message>
<source>Settings Dialog</source>
<translation type="vanished">Диалог настроек</translation>
</message>
<message>
<location filename="../widget/settingsdialog.cpp" line="197"/>
<source>qTox Settings</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../widget/settingsdialog.cpp" line="224"/>
<source>General</source>
<translation>Основное</translation>
</message>
<message>
<location filename="../widget/settingsdialog.cpp" line="230"/>
<source>Identity</source>
<translation>Личные данные</translation>
</message>
<message>
<location filename="../widget/settingsdialog.cpp" line="236"/>
<source>Privacy</source>
<translation>Безопасность</translation>
</message>
<message>
<location filename="../widget/settingsdialog.cpp" line="242"/>
<source>Audio/Video</source>
<translation>Аудио и видео</translation>
</message>
<message>
<location filename="../widget/settingsdialog.cpp" line="251"/>
<source>Ok</source>
<translation>ОК</translation>
</message>
<message>
<location filename="../widget/settingsdialog.cpp" line="252"/>
<source>Cancel</source>
<translation>Отмена</translation>
</message>
<message>
<location filename="../widget/settingsdialog.cpp" line="253"/>
<source>Apply</source>
<translation>Применить</translation>
</message>
</context>
<context>
<name>SettingsForm</name>
<message>
<location filename="../widget/form/settingsform.cpp" line="34"/>
<source>User Settings</source>
<comment>&quot;Headline&quot; of the window</comment>
<translation>Пользовательские настройки</translation>
<translation type="obsolete">Пользовательские настройки</translation>
</message>
<message>
<location filename="../widget/form/settingsform.cpp" line="37"/>
<source>Name</source>
<comment>Username/nick</comment>
<translation>Имя</translation>
<translation type="obsolete">Имя</translation>
</message>
<message>
<location filename="../widget/form/settingsform.cpp" line="38"/>
<source>Status</source>
<comment>Status message</comment>
<translation>Статус</translation>
<translation type="obsolete">Статус</translation>
</message>
<message>
<location filename="../widget/form/settingsform.cpp" line="39"/>
<source>(click here to copy)</source>
<comment>Click on this text to copy TID to clipboard</comment>
<translation>(нажмите здесь чтобы скопировать)</translation>
<translation type="obsolete">(нажмите здесь чтобы скопировать)</translation>
</message>
<message>
<location filename="../widget/form/settingsform.cpp" line="47"/>
<source>Test video</source>
<comment>Text on a button to test the video/webcam</comment>
<translation>Проверить видео</translation>
<translation type="obsolete">Проверить видео</translation>
</message>
<message>
<location filename="../widget/form/settingsform.cpp" line="48"/>
<source>Enable IPv6 (recommended)</source>
<comment>Text on a checkbox to enable IPv6</comment>
<translation>Включить IPv6 (рекомендуется)</translation>
<translation type="obsolete">Включить IPv6 (рекомендуется)</translation>
</message>
<message>
<location filename="../widget/form/settingsform.cpp" line="50"/>
<source>Use translations</source>
<comment>Text on a checkbox to enable translations</comment>
<translatorcomment>Так гораздо понятнее, чем «использовать переводы»</translatorcomment>
<translation>Русскоязычный интерфейс</translation>
<translation type="obsolete">Русскоязычный интерфейс</translation>
</message>
<message>
<location filename="../widget/form/settingsform.cpp" line="52"/>
<source>Make Tox portable</source>
<comment>Text on a checkbox to make qTox a portable application</comment>
<translation>Портативный режим</translation>
<translation type="obsolete">Портативный режим</translation>
</message>
<message>
<location filename="../widget/form/settingsform.cpp" line="54"/>
<source>Save settings to the working directory instead of the usual conf dir</source>
<comment>describes makeToxPortable checkbox</comment>
<translation type="unfinished"></translation>
<translation type="obsolete">Сохранять настройки в рабочую директорию вместо страндартной директории настроек</translation>
</message>
<message>
<location filename="../widget/form/settingsform.cpp" line="56"/>
<source>Smiley Pack</source>
<comment>Text on smiley pack label</comment>
<translation type="unfinished"></translation>
<translation type="obsolete">Набор смайликов</translation>
</message>
</context>
<context>
<name>Widget</name>
<message>
<source>Tox</source>
<translation type="vanished">Tox</translation>
<translation type="obsolete">Tox</translation>
</message>
<message>
<source>Your name</source>
<translation type="vanished">Ваше имя</translation>
<translation type="obsolete">Ваше имя</translation>
</message>
<message>
<source>Your status</source>
<translation type="vanished">Ваш статус</translation>
<translation type="obsolete">Ваш статус</translation>
</message>
<message>
<source>Add friends</source>
<translation type="vanished">Добавить друзей</translation>
<translation type="obsolete">Добавить друзей</translation>
</message>
<message>
<source>Create a group chat</source>
<translation type="vanished">Создать групповой чат</translation>
<translation type="obsolete">Создать групповой чат</translation>
</message>
<message>
<source>(button inactive currently)</source>
<translation type="vanished">(кнопка на данный момент неактивна)</translation>
<translation type="obsolete">(кнопка на данный момент неактивна)</translation>
</message>
<message>
<source>Change your settings</source>
<translation type="vanished">Изменить ваши настройки</translation>
<translation type="obsolete">Изменить ваши настройки</translation>
</message>
<message>
<source>Close</source>
<translation type="vanished">Закрыть</translation>
<translation type="obsolete">Закрыть</translation>
</message>
<message>
<source>Ctrl+Q</source>
<translation type="vanished">Ctrl+Q</translation>
<translation type="obsolete">Ctrl+Q</translation>
</message>
<message>
<location filename="../widget/widget.cpp" line="128"/>
<location filename="../widget/widget.cpp" line="133"/>
<source>Online</source>
<comment>Button to set your status to &apos;Online&apos;</comment>
<translation type="unfinished">В сети</translation>
<translation>В сети</translation>
</message>
<message>
<location filename="../widget/widget.cpp" line="130"/>
<location filename="../widget/widget.cpp" line="135"/>
<source>Away</source>
<comment>Button to set your status to &apos;Away&apos;</comment>
<translatorcomment>Вероятно, это не столь долгое путешествие</translatorcomment>
<translation type="unfinished">Отошёл</translation>
<translation>Отошёл</translation>
</message>
<message>
<location filename="../widget/widget.cpp" line="132"/>
<location filename="../widget/widget.cpp" line="137"/>
<source>Busy</source>
<comment>Button to set your status to &apos;Busy&apos;</comment>
<translation type="unfinished">Занят</translation>
<translation>Занят</translation>
</message>
<message>
<location filename="../widget/widget.cpp" line="605"/>
<source>&lt;Unknown&gt;</source>
<comment>Placeholder when we don&apos;t know someone&apos;s name in a group chat</comment>
<translation>&lt;Неизвестно&gt;</translation>
</message>
</context>
</TS>

4
ui/chatArea/innerStyle.css

@ -22,8 +22,8 @@ div.date { @@ -22,8 +22,8 @@ div.date {
white-space: nowrap;
}
div.quote {
background-color: #6bc260;
span.quote {
color: #6bc260;
}
div.green {

15
widget/chatareawidget.cpp

@ -20,6 +20,7 @@ @@ -20,6 +20,7 @@
#include <QDesktopServices>
#include <QTextTable>
#include <QAbstractTextDocumentLayout>
#include <QCoreApplication>
ChatAreaWidget::ChatAreaWidget(QWidget *parent) :
QTextBrowser(parent)
@ -44,10 +45,10 @@ ChatAreaWidget::ChatAreaWidget(QWidget *parent) : @@ -44,10 +45,10 @@ ChatAreaWidget::ChatAreaWidget(QWidget *parent) :
chatTextTable->format().setCellSpacing(2);
chatTextTable->format().setWidth(QTextLength(QTextLength::PercentageLength,100));
nameFormat.setAlignment(Qt::AlignRight);
nameFormat.setNonBreakableLines(true);
dateFormat.setAlignment(Qt::AlignLeft);
dateFormat.setNonBreakableLines(true);
// nameFormat.setAlignment(Qt::AlignRight);
// nameFormat.setNonBreakableLines(true);
// dateFormat.setAlignment(Qt::AlignLeft);
// dateFormat.setNonBreakableLines(true);
connect(this, &ChatAreaWidget::anchorClicked, this, &ChatAreaWidget::onAnchorClicked);
connect(verticalScrollBar(), SIGNAL(rangeChanged(int,int)), this, SLOT(onSliderRangeChanged()));
@ -104,15 +105,13 @@ void ChatAreaWidget::insertMessage(ChatAction *msgAction) @@ -104,15 +105,13 @@ void ChatAreaWidget::insertMessage(ChatAction *msgAction)
checkSlider();
int row = chatTextTable->rows() - 1;
chatTextTable->cellAt(row,0).firstCursorPosition().setBlockFormat(nameFormat);
chatTextTable->cellAt(row,2).firstCursorPosition().setBlockFormat(dateFormat);
QTextCursor cur = chatTextTable->cellAt(row,1).firstCursorPosition();
cur.clearSelection();
cur.setKeepPositionOnInsert(true);
chatTextTable->appendRows(1);
chatTextTable->cellAt(row,0).firstCursorPosition().insertHtml(msgAction->getName());
chatTextTable->cellAt(row,1).firstCursorPosition().insertHtml(msgAction->getMessage());
chatTextTable->cellAt(row,2).firstCursorPosition().insertHtml(msgAction->getDate());
chatTextTable->appendRows(1);
chatTextTable->cellAt(row,2).firstCursorPosition().insertText(msgAction->getDate());
msgAction->setTextCursor(cur);

4
widget/form/addfriendform.cpp

@ -95,8 +95,8 @@ void AddFriendForm::onSendTriggered() @@ -95,8 +95,8 @@ void AddFriendForm::onSendTriggered()
if (id.isEmpty()) {
showWarning(tr("Please fill in a valid Tox ID","Tox ID of the friend you're sending a friend request to"));
} else if (isToxId(id)) {
if (id.toUpper() == Core::getInstance()->getSelfId().toUpper())
showWarning(tr("You can't add yourself as a friend !","When trying to add your own Tox ID as friend"));
if (id.toUpper() == Core::getInstance()->getSelfId().toString().toUpper())
showWarning(tr("You can't add yourself as a friend!","When trying to add your own Tox ID as friend"));
else
emit friendRequested(id, getMessage());
this->toxId.setText("");

380
widget/settingsdialog.cpp

@ -0,0 +1,380 @@ @@ -0,0 +1,380 @@
#include "settingsdialog.h"
#include "settings.h"
#include "widget.h"
#include "camera.h"
#include "selfcamview.h"
#include "core.h"
#include "smileypack.h"
#include <QListWidget>
#include <QListWidgetItem>
#include <QStackedWidget>
#include <QPushButton>
#include <QBoxLayout>
#include <QLabel>
#include <QGroupBox>
#include <QCheckBox>
#include <QLineEdit>
#include <QComboBox>
// =======================================
// settings pages
//========================================
class GeneralPage : public QWidget
{
Q_OBJECT
public:
GeneralPage(QWidget *parent = 0) :
QWidget(parent)
{
QGroupBox *group = new QGroupBox(tr("General Settings"), this);
enableIPv6 = new QCheckBox(this);
enableIPv6->setText(tr("Enable IPv6 (recommended)","Text on a checkbox to enable IPv6"));
useTranslations = new QCheckBox(this);
useTranslations->setText(tr("Use translations","Text on a checkbox to enable translations"));
makeToxPortable = new QCheckBox(this);
makeToxPortable->setText(tr("Make Tox portable","Text on a checkbox to make qTox a portable application"));
makeToxPortable->setToolTip(tr("Save settings to the working directory instead of the usual conf dir","describes makeToxPortable checkbox"));
QVBoxLayout *vLayout = new QVBoxLayout();
vLayout->addWidget(enableIPv6);
vLayout->addWidget(useTranslations);
vLayout->addWidget(makeToxPortable);
group->setLayout(vLayout);
// theme
QGroupBox* themeGroup = new QGroupBox(tr("Theme"));
QLabel* smileyLabel = new QLabel(tr("Smiley Pack"));
smileyPack = new QComboBox(this);
auto smileyPacks = SmileyPack::listSmileyPacks();
for(auto pack : smileyPacks)
smileyPack->addItem(QString("%1 (%2)").arg(pack.first).arg(pack.second), pack.second);
QVBoxLayout* themeLayout = new QVBoxLayout();
themeLayout->addWidget(smileyLabel);
themeLayout->addWidget(smileyPack);
themeGroup->setLayout(themeLayout);
QVBoxLayout *mainLayout = new QVBoxLayout();
mainLayout->addWidget(group);
mainLayout->addWidget(themeGroup);
mainLayout->addStretch(1);
setLayout(mainLayout);
}
QCheckBox* enableIPv6;
QCheckBox* useTranslations;
QCheckBox* makeToxPortable;
QComboBox* smileyPack;
};
class IdentityPage : public QWidget
{
Q_OBJECT
public:
IdentityPage(QWidget* parent = 0) :
QWidget(parent)
{
// public
QGroupBox *publicGroup = new QGroupBox(tr("Public Information"), this);
QLabel* userNameLabel = new QLabel(tr("Name","Username/nick"), this);
userName = new QLineEdit(this);
QLabel* statusMessageLabel = new QLabel(tr("Status","Status message"), this);
statusMessage = new QLineEdit(this);
QVBoxLayout *vLayout = new QVBoxLayout();
vLayout->addWidget(userNameLabel);
vLayout->addWidget(userName);
vLayout->addWidget(statusMessageLabel);
vLayout->addWidget(statusMessage);
publicGroup->setLayout(vLayout);
// tox
QGroupBox* toxGroup = new QGroupBox(tr("Tox ID"), this);
QLabel* toxIdLabel = new QLabel(tr("Your Tox ID"), this);
toxID = new QLineEdit(this);
toxID->setReadOnly(true);
QVBoxLayout* toxLayout = new QVBoxLayout();
toxLayout->addWidget(toxIdLabel);
toxLayout->addWidget(toxID);
toxGroup->setLayout(toxLayout);
QVBoxLayout *mainLayout = new QVBoxLayout();
mainLayout->setSpacing(30);
mainLayout->addWidget(publicGroup);
mainLayout->addWidget(toxGroup);
mainLayout->addStretch(1);
setLayout(mainLayout);
}
QLineEdit* userName;
QLineEdit* statusMessage;
QLineEdit* toxID;
};
class PrivacyPage : public QWidget
{
public:
PrivacyPage(QWidget* parent = 0) :
QWidget(parent)
{}
};
class AVPage : public QWidget
{
Q_OBJECT
public:
AVPage(SettingsDialog* parent = 0) :
QWidget(parent)
{
QGroupBox *group = new QGroupBox(tr("Video Settings"), this);
camView = new SelfCamView(parent->getWidget()->getCamera());
camView->hide(); // hide by default
testVideo = new QPushButton(tr("Show video preview","On a button"));
connect(testVideo, SIGNAL(clicked()), this, SLOT(onTestVideoPressed()));
QVBoxLayout *vLayout = new QVBoxLayout();
vLayout->addWidget(testVideo);
vLayout->addWidget(camView);
group->setLayout(vLayout);
QVBoxLayout *mainLayout = new QVBoxLayout();
mainLayout->addWidget(group);
mainLayout->addStretch(1);
setLayout(mainLayout);
}
~AVPage()
{
delete camView;
}
void showTestVideo()
{
testVideo->setText(tr("Hide video preview","On a button"));
camView->show();
}
void closeTestVideo()
{
testVideo->setText(tr("Show video preview","On a button"));
camView->close();
}
QPushButton* testVideo;
SelfCamView* camView;
public slots:
void onTestVideoPressed()
{
if (camView->isVisible()) {
closeTestVideo();
} else {
showTestVideo();
}
}
};
// allows Q_OBJECT macro inside cpp
#include "settingsdialog.moc"
// =======================================
// settings dialog
//========================================
SettingsDialog::SettingsDialog(Widget *parent) :
QDialog(parent),
widget(parent)
{
createPages();
createButtons();
createConnections();
createLayout();
setWindowTitle(tr("qTox – Settings"));
}
void SettingsDialog::createPages()
{
generalPage = new GeneralPage(this);
identityPage = new IdentityPage(this);
privacyPage = new PrivacyPage(this);
avPage = new AVPage(this);
contentsWidget = new QListWidget;
contentsWidget->setViewMode(QListView::IconMode);
contentsWidget->setIconSize(QSize(100, 73));
contentsWidget->setMovement(QListView::Static);
contentsWidget->setMaximumWidth(110);
contentsWidget->setMinimumWidth(110);
contentsWidget->setSpacing(0);
contentsWidget->setFlow(QListView::TopToBottom);
pagesWidget = new QStackedWidget;
pagesWidget->addWidget(generalPage);
pagesWidget->addWidget(identityPage);
pagesWidget->addWidget(privacyPage);
pagesWidget->addWidget(avPage);
QListWidgetItem *generalButton = new QListWidgetItem(contentsWidget);
generalButton->setIcon(QIcon(":/img/settings/general.png"));
generalButton->setText(tr("General"));
generalButton->setTextAlignment(Qt::AlignHCenter);
generalButton->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled);
QListWidgetItem *identity = new QListWidgetItem(contentsWidget);
identity->setIcon(QIcon(":/img/settings/identity.png"));
identity->setText(tr("Identity"));
identity->setTextAlignment(Qt::AlignHCenter);
identity->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled);
QListWidgetItem *privacy = new QListWidgetItem(contentsWidget);
privacy->setIcon(QIcon(":/img/settings/privacy.png"));
privacy->setText(tr("Privacy"));
privacy->setTextAlignment(Qt::AlignHCenter);
privacy->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled);
QListWidgetItem *av = new QListWidgetItem(contentsWidget);
av->setIcon(QIcon(":/img/settings/av.png"));
av->setText(tr("Audio/Video"));
av->setTextAlignment(Qt::AlignHCenter);
av->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled);
contentsWidget->setCurrentRow(0);
}
void SettingsDialog::createButtons()
{
okButton = new QPushButton(tr("Ok"), this);
cancelButton = new QPushButton(tr("Cancel"), this);
applyButton = new QPushButton(tr("Apply"), this);
}
void SettingsDialog::createConnections()
{
connect(okButton, SIGNAL(clicked()), this, SLOT(okPressed()));
connect(cancelButton, SIGNAL(clicked()), this, SLOT(close()));
connect(applyButton, SIGNAL(clicked()), this, SLOT(applyPressed()));
connect(
contentsWidget,
SIGNAL(currentItemChanged(QListWidgetItem*,QListWidgetItem*)),
this,
SLOT(changePage(QListWidgetItem*,QListWidgetItem*))
);
}
void SettingsDialog::createLayout()
{
setMinimumSize(800, 500);
QHBoxLayout *buttonsLayout = new QHBoxLayout();
buttonsLayout->addStretch(1);
buttonsLayout->addWidget(okButton);
buttonsLayout->addWidget(cancelButton);
buttonsLayout->addWidget(applyButton);
QHBoxLayout *hLayout = new QHBoxLayout();
hLayout->addWidget(contentsWidget);
hLayout->addWidget(pagesWidget, 1);
QVBoxLayout *mainLayout = new QVBoxLayout();
mainLayout->addLayout(hLayout);
mainLayout->addLayout(buttonsLayout);
setLayout(mainLayout);
}
void SettingsDialog::changePage(QListWidgetItem *current, QListWidgetItem *previous)
{
if (!current) {
current = previous;
}
pagesWidget->setCurrentIndex(contentsWidget->row(current));
}
void SettingsDialog::okPressed()
{
writeConfig();
close();
}
void SettingsDialog::cancelPressed()
{
close();
}
void SettingsDialog::applyPressed()
{
writeConfig();
}
void SettingsDialog::readConfig()
{
Settings& settings = Settings::getInstance();
Core* core = widget->getCore();
generalPage->enableIPv6->setChecked(settings.getEnableIPv6());
generalPage->useTranslations->setChecked(settings.getUseTranslations());
generalPage->makeToxPortable->setChecked(settings.getMakeToxPortable());
identityPage->userName->setText(core->getUsername());
identityPage->statusMessage->setText(core->getStatusMessage());
identityPage->toxID->setText(core->getSelfId().toString());
}
void SettingsDialog::writeConfig()
{
Settings& settings = Settings::getInstance();
Core* core = widget->getCore();
// only save settings if something changed
bool saveSettings = false;
if (settings.getEnableIPv6() != generalPage->enableIPv6->isChecked()) {
settings.setEnableIPv6(generalPage->enableIPv6->isChecked());
saveSettings = true;
}
if (settings.getUseTranslations() != generalPage->useTranslations->isChecked()) {
settings.setUseTranslations(generalPage->useTranslations->isChecked());
saveSettings = true;
}
if (settings.getMakeToxPortable() != generalPage->makeToxPortable->isChecked()) {
settings.setMakeToxPortable(generalPage->makeToxPortable->isChecked());
saveSettings = true;
}
if (settings.getSmileyPack() != generalPage->smileyPack->currentData().toString()) {
settings.setSmileyPack(generalPage->smileyPack->currentData().toString());
saveSettings = true;
}
if (saveSettings) {
settings.save();
}
// changing core settings will automatically save them
QString userName = identityPage->userName->text();
if (core->getUsername() != userName) {
core->setUsername(userName);
}
QString statusMessage = identityPage->statusMessage->text();
if (core->getStatusMessage() != statusMessage) {
core->setStatusMessage(statusMessage);
}
}
Widget* SettingsDialog::getWidget()
{
return widget;
}
void SettingsDialog::closeEvent(QCloseEvent* e){
avPage->closeTestVideo();
QDialog::closeEvent(e);
}

64
widget/settingsdialog.h

@ -0,0 +1,64 @@ @@ -0,0 +1,64 @@
#ifndef SETTINGSDIALOG_H
#define SETTINGSDIALOG_H
#include <QWidget>
#include <QDialog>
class Widget;
class SelfCamView;
class Camera;
class GeneralPage;
class IdentityPage;
class PrivacyPage;
class AVPage;
class QListWidget;
class QListWidgetItem;
class QStackedWidget;
class QPushButton;
class QCheckBox;
class QLineEdit;
// =======================================
// settings dialog
//========================================
class SettingsDialog : public QDialog
{
Q_OBJECT
public:
explicit SettingsDialog(Widget *parent);
void readConfig();
void writeConfig();
Widget* getWidget();
void closeEvent(QCloseEvent *);
public slots:
void changePage(QListWidgetItem *current, QListWidgetItem *previous);
void okPressed();
void cancelPressed();
void applyPressed();
private:
void createPages();
void createButtons();
void createConnections();
void createLayout();
Widget* widget;
// pages
GeneralPage* generalPage;
IdentityPage* identityPage;
PrivacyPage* privacyPage;
AVPage* avPage;
QListWidget* contentsWidget;
QStackedWidget* pagesWidget;
// buttons
QPushButton* okButton;
QPushButton* cancelButton;
QPushButton* applyButton;
};
#endif // SETTINGSDIALOG_H

6
widget/tool/chataction.cpp

@ -50,7 +50,7 @@ QString ChatAction::getName() @@ -50,7 +50,7 @@ QString ChatAction::getName()
QString ChatAction::getDate()
{
QString res = "<div class=date>" + date + "</div>";
QString res = date;
return res;
}
@ -102,9 +102,9 @@ QString MessageAction::getMessage() @@ -102,9 +102,9 @@ QString MessageAction::getMessage()
for (QString& s : messageLines)
{
if (QRegExp("^[ ]*&gt;.*").exactMatch(s))
message_ += "<div class=quote>" + s.right(s.length()-4) + "</div><br>";
message_ += "<span class=quote>>" + s.right(s.length()-4) + "</span><br/>";
else
message_ += s + "<br>";
message_ += s + "<br/>";
}
message_ = message_.left(message_.length()-4);

7
widget/widget.cpp

@ -155,7 +155,6 @@ Widget::Widget(QWidget *parent) @@ -155,7 +155,6 @@ Widget::Widget(QWidget *parent)
ui->statusButton->style()->polish(ui->statusButton);
camera = new Camera;
camview = new SelfCamView(camera);
// Disable some widgets until we're connected to the DHT
ui->statusButton->setEnabled(false);
@ -226,7 +225,6 @@ Widget::~Widget() @@ -226,7 +225,6 @@ Widget::~Widget()
if (!coreThread->isFinished())
coreThread->terminate();
delete core;
delete camview;
hideMainForms();
@ -653,11 +651,6 @@ Group *Widget::createGroup(int groupId) @@ -653,11 +651,6 @@ Group *Widget::createGroup(int groupId)
return newgroup;
}
void Widget::showTestCamview()
{
camview->show();
}
void Widget::onEmptyGroupCreated(int groupId)
{
createGroup(groupId);

2
widget/widget.h

@ -54,7 +54,6 @@ public: @@ -54,7 +54,6 @@ public:
QThread* getCoreThread();
Camera* getCamera();
static Widget* getInstance();
void showTestCamview();
void newMessageAlert();
bool isFriendWidgetCurActiveWidget(Friend* f);
bool getIsWindowMinimized();
@ -140,7 +139,6 @@ private: @@ -140,7 +139,6 @@ private:
static Widget* instance;
GenericChatroomWidget* activeChatroomWidget;
FriendListWidget* contactListWidget;
SelfCamView* camview;
Camera* camera;
bool notify(QObject *receiver, QEvent *event);
bool eventFilter(QObject *, QEvent *event);

Loading…
Cancel
Save