1
0
mirror of https://github.com/qTox/qTox.git synced 2024-03-22 14:00:36 +08:00

Merge branch 'master' into 1012-enhancement-quick-tox-id-access

Conflicts:
	src/widget/widget.h
This commit is contained in:
Ovidiu Sabou 2015-03-04 21:43:46 +02:00
commit 98fb61525b
12 changed files with 2328 additions and 137 deletions

View File

@ -5,7 +5,7 @@
#------------------------------------------------- #-------------------------------------------------
# Copyright (C) 2014 by Project Tox <https://tox.im> # Copyright (C) 2015 by Project Tox <https://tox.im>
# #
# This file is part of qTox, a Qt-based graphical interface for Tox. # This file is part of qTox, a Qt-based graphical interface for Tox.
# #
@ -100,6 +100,11 @@ contains(DISABLE_FILTER_AUDIO, YES) {
DEFINES += QTOX_FILTER_AUDIO DEFINES += QTOX_FILTER_AUDIO
} }
contains(HIGH_DPI, YES) {
QT_DEVICE_PIXEL_RATIO= auto
DEFINES += HIGH_DPI
}
contains(JENKINS,YES) { contains(JENKINS,YES) {
INCLUDEPATH += ./libs/include/ INCLUDEPATH += ./libs/include/
} else { } else {

View File

@ -53,6 +53,7 @@
<file>translations/es.qm</file> <file>translations/es.qm</file>
<file>translations/fi.qm</file> <file>translations/fi.qm</file>
<file>translations/fr.qm</file> <file>translations/fr.qm</file>
<file>translations/hu.qm</file>
<file>translations/it.qm</file> <file>translations/it.qm</file>
<file>translations/nl.qm</file> <file>translations/nl.qm</file>
<file>translations/lt.qm</file> <file>translations/lt.qm</file>

View File

@ -461,11 +461,11 @@ void FileTransferWidget::showPreview(const QString &filename)
if (imageSize.width() > maxSize.width() || imageSize.height() > maxSize.height()) if (imageSize.width() > maxSize.width() || imageSize.height() > maxSize.height())
{ {
imageSize.scale(maxSize.width(), maxSize.height(), Qt::KeepAspectRatio); imageSize.scale(maxSize.width(), maxSize.height(), Qt::KeepAspectRatio);
ui->previewLabel->setToolTip("<html><img src="+filename+" width="+QString::number(imageSize.width())+" height="+QString::number(imageSize.height())+"/></html>"); ui->previewLabel->setToolTip("<html><img src="+QUrl::toPercentEncoding(filename)+" width="+QString::number(imageSize.width())+" height="+QString::number(imageSize.height())+"/></html>");
} }
else else
{ {
ui->previewLabel->setToolTip("<html><img src"+filename+"/></html>"); ui->previewLabel->setToolTip("<html><img src"+QUrl::toPercentEncoding(filename)+"/></html>");
} }
} }
} }

View File

@ -62,6 +62,10 @@ int main(int argc, char *argv[])
a.setApplicationName("qTox"); a.setApplicationName("qTox");
a.setOrganizationName("Tox"); a.setOrganizationName("Tox");
a.setApplicationVersion("\nGit commit: " + QString(GIT_VERSION)); a.setApplicationVersion("\nGit commit: " + QString(GIT_VERSION));
#ifdef HIGH_DPI
a.setAttribute(Qt::AA_UseHighDpiPixmaps, true);
#endif
// Process arguments // Process arguments
QCommandLineParser parser; QCommandLineParser parser;

View File

@ -20,6 +20,7 @@
#include <QFileDialog> #include <QFileDialog>
#include <QHBoxLayout> #include <QHBoxLayout>
#include <QDebug> #include <QDebug>
#include <QShortcut>
#include "src/misc/smileypack.h" #include "src/misc/smileypack.h"
#include "src/widget/emoticonswidget.h" #include "src/widget/emoticonswidget.h"
@ -42,7 +43,6 @@ GenericChatForm::GenericChatForm(QWidget *parent)
, audioOutputFlag(false) , audioOutputFlag(false)
{ {
curRow = 0; curRow = 0;
headWidget = new QWidget(); headWidget = new QWidget();
nameLabel = new CroppingLabel(); nameLabel = new CroppingLabel();
@ -169,10 +169,24 @@ GenericChatForm::GenericChatForm(QWidget *parent)
connect(emoteButton, &QPushButton::clicked, this, &GenericChatForm::onEmoteButtonClicked); connect(emoteButton, &QPushButton::clicked, this, &GenericChatForm::onEmoteButtonClicked);
connect(chatWidget, &ChatLog::customContextMenuRequested, this, &GenericChatForm::onChatContextMenuRequested); connect(chatWidget, &ChatLog::customContextMenuRequested, this, &GenericChatForm::onChatContextMenuRequested);
new QShortcut(Qt::CTRL + Qt::Key_PageUp, this, SLOT(previousContact()));
new QShortcut(Qt::CTRL + Qt::Key_PageDown, this, SLOT(nextContact()));
new QShortcut(Qt::CTRL + Qt::SHIFT + Qt::Key_L, this, SLOT(clearChatArea()));
chatWidget->setStyleSheet(Style::getStylesheet(":/ui/chatArea/chatArea.css")); chatWidget->setStyleSheet(Style::getStylesheet(":/ui/chatArea/chatArea.css"));
headWidget->setStyleSheet(Style::getStylesheet(":/ui/chatArea/chatHead.css")); headWidget->setStyleSheet(Style::getStylesheet(":/ui/chatArea/chatHead.css"));
} }
void GenericChatForm::previousContact()
{
parent->previousContact();
}
void GenericChatForm::nextContact()
{
parent->nextContact();
}
bool GenericChatForm::isEmpty() bool GenericChatForm::isEmpty()
{ {
return chatWidget->isEmpty(); return chatWidget->isEmpty();
@ -322,6 +336,11 @@ void GenericChatForm::addSystemInfoMessage(const QString &message, ChatMessage::
insertChatMessage(ChatMessage::createChatInfoMessage(message, type, datetime)); insertChatMessage(ChatMessage::createChatInfoMessage(message, type, datetime));
} }
void GenericChatForm::clearChatArea()
{
clearChatArea(true);
}
void GenericChatForm::clearChatArea(bool notinform) void GenericChatForm::clearChatArea(bool notinform)
{ {
chatWidget->clear(); chatWidget->clear();

View File

@ -34,6 +34,7 @@ class CroppingLabel;
class ChatTextEdit; class ChatTextEdit;
class ChatLog; class ChatLog;
class MaskablePixmapWidget; class MaskablePixmapWidget;
class Widget;
struct ToxID; struct ToxID;
namespace Ui { namespace Ui {
@ -73,13 +74,17 @@ protected slots:
void onSaveLogClicked(); void onSaveLogClicked();
void onCopyLogClicked(); void onCopyLogClicked();
void clearChatArea(bool); void clearChatArea(bool);
void clearChatArea();
void onSelectAllClicked(); void onSelectAllClicked();
void previousContact();
void nextContact();
protected: protected:
QString resolveToxID(const ToxID &id); QString resolveToxID(const ToxID &id);
void insertChatMessage(ChatMessage::Ptr msg); void insertChatMessage(ChatMessage::Ptr msg);
ToxID previousId; ToxID previousId;
Widget *parent;
QMenu menu; QMenu menu;
int curRow; int curRow;
CroppingLabel *nameLabel; CroppingLabel *nameLabel;

View File

@ -30,8 +30,8 @@
#include "src/autoupdate.h" #include "src/autoupdate.h"
static QStringList locales = {"bg", "de", "en", "es", "fr", "it", "lt", "mannol", "nl", "pirate", "pl", "pt", "ru", "fi", "sv", "uk", "zh"}; static QStringList locales = {"bg", "de", "en", "es", "fr", "hu", "it", "lt", "mannol", "nl", "pirate", "pl", "pt", "ru", "fi", "sv", "uk", "zh"};
static QStringList langs = {"Български", "Deutsch", "English", "Español", "Français", "Italiano", "Lietuvių", "mannol", "Nederlands", "Pirate", "Polski", "Português", "Русский", "Suomi", "Svenska", "Українська", "简体中文"}; static QStringList langs = {"Български", "Deutsch", "English", "Español", "Français", "Magyar", "Italiano", "Lietuvių", "mannol", "Nederlands", "Pirate", "Polski", "Português", "Русский", "Suomi", "Svenska", "Українська", "简体中文"};
static QStringList timeFormats = {"hh:mm AP", "hh:mm", "hh:mm:ss AP", "hh:mm:ss"}; static QStringList timeFormats = {"hh:mm AP", "hh:mm", "hh:mm:ss AP", "hh:mm:ss"};

View File

@ -112,46 +112,6 @@ void Widget::init()
statusBusy->setIcon(QIcon(":img/status/dot_busy.png")); statusBusy->setIcon(QIcon(":img/status/dot_busy.png"));
connect(statusBusy, SIGNAL(triggered()), this, SLOT(setStatusBusy())); connect(statusBusy, SIGNAL(triggered()), this, SLOT(setStatusBusy()));
if (QSystemTrayIcon::isSystemTrayAvailable())
{
icon = new SystemTrayIcon;
updateTrayIcon();
trayMenu = new QMenu;
actionQuit = new QAction(tr("&Quit"), this);
connect(actionQuit, SIGNAL(triggered()), qApp, SLOT(quit()));
trayMenu->addAction(statusOnline);
trayMenu->addAction(statusAway);
trayMenu->addAction(statusBusy);
trayMenu->addSeparator();
trayMenu->addAction(actionQuit);
icon->setContextMenu(trayMenu);
connect(icon,
SIGNAL(activated(QSystemTrayIcon::ActivationReason)),
this,
SLOT(onIconClick(QSystemTrayIcon::ActivationReason)));
icon->show();
icon->hide();
if (Settings::getInstance().getShowSystemTray())
{
icon->show();
if (Settings::getInstance().getAutostartInTray() == false)
this->show();
}
else
this->show();
}
else
{
qWarning() << "Widget: No system tray detected!";
icon = nullptr;
this->show();
}
ui->statusbar->hide(); ui->statusbar->hide();
ui->menubar->hide(); ui->menubar->hide();
@ -231,6 +191,7 @@ void Widget::init()
connect(addFriendForm, SIGNAL(friendRequested(QString, QString)), this, SIGNAL(friendRequested(QString, QString))); connect(addFriendForm, SIGNAL(friendRequested(QString, QString)), this, SIGNAL(friendRequested(QString, QString)));
connect(timer, &QTimer::timeout, this, &Widget::onUserAwayCheck); connect(timer, &QTimer::timeout, this, &Widget::onUserAwayCheck);
connect(timer, &QTimer::timeout, this, &Widget::onEventIconTick); connect(timer, &QTimer::timeout, this, &Widget::onEventIconTick);
connect(timer, &QTimer::timeout, this, &Widget::onTryCreateTrayIcon);
connect(offlineMsgTimer, &QTimer::timeout, this, &Widget::processOfflineMsgs); connect(offlineMsgTimer, &QTimer::timeout, this, &Widget::processOfflineMsgs);
addFriendForm->show(*ui); addFriendForm->show(*ui);
@ -239,6 +200,8 @@ void Widget::init()
if (Settings::getInstance().getCheckUpdates()) if (Settings::getInstance().getCheckUpdates())
AutoUpdater::checkUpdatesAsyncInteractive(); AutoUpdater::checkUpdatesAsyncInteractive();
#endif #endif
if (!Settings::getInstance().getShowSystemTray())
show();
} }
void Widget::setTranslation() void Widget::setTranslation()
@ -280,7 +243,8 @@ Widget::~Widget()
{ {
qDebug() << "Widget: Deleting Widget"; qDebug() << "Widget: Deleting Widget";
AutoUpdater::abortUpdates(); AutoUpdater::abortUpdates();
icon->hide(); if (icon)
icon->hide();
hideMainForms(); hideMainForms();
delete profileForm; delete profileForm;
delete settingsWidget; delete settingsWidget;
@ -718,6 +682,7 @@ void Widget::onFriendUsernameChanged(int friendId, const QString& username)
void Widget::onChatroomWidgetClicked(GenericChatroomWidget *widget) void Widget::onChatroomWidgetClicked(GenericChatroomWidget *widget)
{ {
qDebug() << "active chat";
hideMainForms(); hideMainForms();
widget->setChatForm(*ui); widget->setChatForm(*ui);
if (activeChatroomWidget != nullptr) if (activeChatroomWidget != nullptr)
@ -1066,6 +1031,52 @@ void Widget::onEventIconTick()
} }
} }
void Widget::onTryCreateTrayIcon()
{
static int32_t tries = 15;
if (!icon && tries--)
{
if (QSystemTrayIcon::isSystemTrayAvailable())
{
icon = new SystemTrayIcon;
updateTrayIcon();
trayMenu = new QMenu;
actionQuit = new QAction(tr("&Quit"), this);
connect(actionQuit, SIGNAL(triggered()), qApp, SLOT(quit()));
trayMenu->addAction(statusOnline);
trayMenu->addAction(statusAway);
trayMenu->addAction(statusBusy);
trayMenu->addSeparator();
trayMenu->addAction(actionQuit);
icon->setContextMenu(trayMenu);
connect(icon, SIGNAL(activated(QSystemTrayIcon::ActivationReason)),
this, SLOT(onIconClick(QSystemTrayIcon::ActivationReason)));
if (Settings::getInstance().getShowSystemTray())
{
icon->show();
setHidden(Settings::getInstance().getAutostartInTray());
}
else
show();
}
else if (!isVisible())
show();
}
else
{
disconnect(timer, &QTimer::timeout, this, &Widget::onTryCreateTrayIcon);
if (!icon)
{
qWarning() << "Widget: No system tray detected!";
show();
}
}
}
void Widget::setStatusOnline() void Widget::setStatusOnline()
{ {
Nexus::getCore()->setStatus(Status::Online); Nexus::getCore()->setStatus(Status::Online);
@ -1109,8 +1120,10 @@ void Widget::onFriendTypingChanged(int friendId, bool isTyping)
f->getChatForm()->setFriendTyping(isTyping); f->getChatForm()->setFriendTyping(isTyping);
} }
void Widget::onSetShowSystemTray(bool newValue){ void Widget::onSetShowSystemTray(bool newValue)
icon->setVisible(newValue); {
if (icon)
icon->setVisible(newValue);
} }
void Widget::saveWindowGeometry() void Widget::saveWindowGeometry()
@ -1169,3 +1182,14 @@ void Widget::reloadTheme()
for (Group* g : GroupList::getAllGroups()) for (Group* g : GroupList::getAllGroups())
g->getGroupWidget()->reloadTheme(); g->getGroupWidget()->reloadTheme();
} }
void Widget::nextContact()
{
// dont know how to get current/previous/next contact from friendlistwidget
qDebug() << "next contact";
}
void Widget::previousContact()
{
qDebug() << "previous contact";
}

View File

@ -105,6 +105,8 @@ public slots:
void onGroupTitleChanged(int groupnumber, const QString& author, const QString& title); void onGroupTitleChanged(int groupnumber, const QString& author, const QString& title);
void playRingtone(); void playRingtone();
void onFriendTypingChanged(int friendId, bool isTyping); void onFriendTypingChanged(int friendId, bool isTyping);
void nextContact();
void previousContact();
signals: signals:
void friendRequestAccepted(const QString& userId); void friendRequestAccepted(const QString& userId);
@ -136,6 +138,7 @@ private slots:
void onIconClick(QSystemTrayIcon::ActivationReason); void onIconClick(QSystemTrayIcon::ActivationReason);
void onUserAwayCheck(); void onUserAwayCheck();
void onEventIconTick(); void onEventIconTick();
void onTryCreateTrayIcon();
void onSetShowSystemTray(bool newValue); void onSetShowSystemTray(bool newValue);
void onSplitterMoved(int pos, int index); void onSplitterMoved(int pos, int index);
void processOfflineMsgs(); void processOfflineMsgs();
@ -143,7 +146,7 @@ private slots:
private: private:
void hideMainForms(); void hideMainForms();
virtual bool event(QEvent * e); virtual bool event(QEvent * e);
Group* createGroup(int groupId); Group *createGroup(int groupId);
void removeFriend(Friend* f, bool fake = false); void removeFriend(Friend* f, bool fake = false);
void removeGroup(Group* g, bool fake = false); void removeGroup(Group* g, bool fake = false);
void saveWindowGeometry(); void saveWindowGeometry();
@ -158,18 +161,18 @@ private:
Ui::MainWindow *ui; Ui::MainWindow *ui;
QSplitter *centralLayout; QSplitter *centralLayout;
QPoint dragPosition; QPoint dragPosition;
AddFriendForm* addFriendForm; AddFriendForm *addFriendForm;
ProfileForm* profileForm; ProfileForm *profileForm;
SettingsWidget* settingsWidget; SettingsWidget *settingsWidget;
FilesForm* filesForm; FilesForm *filesForm;
static Widget* instance; static Widget *instance;
GenericChatroomWidget* activeChatroomWidget; GenericChatroomWidget *activeChatroomWidget;
FriendListWidget* contactListWidget; FriendListWidget *contactListWidget;
MaskablePixmapWidget* profilePicture; MaskablePixmapWidget *profilePicture;
bool notify(QObject *receiver, QEvent *event); bool notify(QObject *receiver, QEvent *event);
bool autoAwayActive = false; bool autoAwayActive = false;
Status beforeDisconnect = Status::Offline; Status beforeDisconnect = Status::Offline;
QTimer* timer, *offlineMsgTimer; QTimer *timer, *offlineMsgTimer;
QTranslator* translator; QTranslator* translator;
QRegExp nameMention, sanitizedNameMention; QRegExp nameMention, sanitizedNameMention;
bool eventFlag; bool eventFlag;

2129
translations/hu.ts vendored Normal file

File diff suppressed because it is too large Load Diff

View File

@ -5,6 +5,7 @@ TRANSLATIONS = translations/es.ts \
translations/de.ts \ translations/de.ts \
translations/fi.ts \ translations/fi.ts \
translations/fr.ts \ translations/fr.ts \
translations/hu.ts \
translations/it.ts \ translations/it.ts \
translations/nl.ts \ translations/nl.ts \
translations/lt.ts \ translations/lt.ts \

156
translations/lt.ts vendored
View File

@ -179,12 +179,12 @@ Ignoruoti įgaliotąjį serverį ir jungtis prie interneto tiesiogiai?</translat
<message> <message>
<location filename="../src/widget/form/settings/advancedform.cpp" line="35"/> <location filename="../src/widget/form/settings/advancedform.cpp" line="35"/>
<source>FULL - very safe, slowest (recommended)</source> <source>FULL - very safe, slowest (recommended)</source>
<translation>VISADA saugiai, bet lėtai (rekomenduojama)</translation> <translation>VISADA saugu, bet lėta (rekomenduojama)</translation>
</message> </message>
<message> <message>
<location filename="../src/widget/form/settings/advancedform.cpp" line="36"/> <location filename="../src/widget/form/settings/advancedform.cpp" line="36"/>
<source>NORMAL - almost as safe as FULL, about 20% faster than FULL</source> <source>NORMAL - almost as safe as FULL, about 20% faster than FULL</source>
<translation>ĮPRASTAI beveik taip pat saugiai, bet 20 % greičiau</translation> <translation>ĮPRASTAI beveik taip pat saugu, bet 20 % greičiau</translation>
</message> </message>
<message> <message>
<location filename="../src/widget/form/settings/advancedform.cpp" line="37"/> <location filename="../src/widget/form/settings/advancedform.cpp" line="37"/>
@ -337,31 +337,31 @@ Ignoruoti įgaliotąjį serverį ir jungtis prie interneto tiesiogiai?</translat
<translation type="obsolete">Įkelti pokalbių žurnalą...</translation> <translation type="obsolete">Įkelti pokalbių žurnalą...</translation>
</message> </message>
<message> <message>
<location filename="../src/widget/form/chatform.cpp" line="177"/> <location filename="../src/widget/form/chatform.cpp" line="178"/>
<source>Send a file</source> <source>Send a file</source>
<translation>Siųsti failą</translation> <translation>Siųsti failą</translation>
</message> </message>
<message> <message>
<location filename="../src/widget/form/chatform.cpp" line="185"/> <location filename="../src/widget/form/chatform.cpp" line="186"/>
<location filename="../src/widget/form/chatform.cpp" line="767"/> <location filename="../src/widget/form/chatform.cpp" line="768"/>
<source>File not read</source> <source>File not read</source>
<translation>Failas neperskaitomas</translation> <translation>Failas neperskaitomas</translation>
</message> </message>
<message> <message>
<location filename="../src/widget/form/chatform.cpp" line="185"/> <location filename="../src/widget/form/chatform.cpp" line="186"/>
<location filename="../src/widget/form/chatform.cpp" line="767"/> <location filename="../src/widget/form/chatform.cpp" line="768"/>
<source>qTox wasn&apos;t able to open %1</source> <source>qTox wasn&apos;t able to open %1</source>
<translation>qTox nepavyko atidaryti %1</translation> <translation>qTox nepavyko atidaryti %1</translation>
</message> </message>
<message> <message>
<location filename="../src/widget/form/chatform.cpp" line="190"/> <location filename="../src/widget/form/chatform.cpp" line="191"/>
<location filename="../src/widget/form/chatform.cpp" line="772"/> <location filename="../src/widget/form/chatform.cpp" line="773"/>
<source>Bad Idea</source> <source>Bad Idea</source>
<translation>Bloga mintis</translation> <translation>Bloga mintis</translation>
</message> </message>
<message> <message>
<location filename="../src/widget/form/chatform.cpp" line="190"/> <location filename="../src/widget/form/chatform.cpp" line="191"/>
<location filename="../src/widget/form/chatform.cpp" line="772"/> <location filename="../src/widget/form/chatform.cpp" line="773"/>
<source>You&apos;re trying to send a special (sequential) file, that&apos;s not going to work!</source> <source>You&apos;re trying to send a special (sequential) file, that&apos;s not going to work!</source>
<translation>Bandote siųsti ypatingą (nuoseklųjį) failą, tai nepavyks!</translation> <translation>Bandote siųsti ypatingą (nuoseklųjį) failą, tai nepavyks!</translation>
</message> </message>
@ -370,106 +370,106 @@ Ignoruoti įgaliotąjį serverį ir jungtis prie interneto tiesiogiai?</translat
<translation type="obsolete">%1 skambina</translation> <translation type="obsolete">%1 skambina</translation>
</message> </message>
<message> <message>
<location filename="../src/widget/form/chatform.cpp" line="78"/> <location filename="../src/widget/form/chatform.cpp" line="79"/>
<source>Load chat history...</source> <source>Load chat history...</source>
<translation>Įkelti pokalbių žurnalą...</translation> <translation>Įkelti pokalbių žurnalą...</translation>
</message> </message>
<message> <message>
<location filename="../src/widget/form/chatform.cpp" line="277"/> <location filename="../src/widget/form/chatform.cpp" line="278"/>
<source>Accept video call</source> <source>Accept video call</source>
<translation>Priimti vaizdo skambutį</translation> <translation>Priimti vaizdo skambutį</translation>
</message> </message>
<message> <message>
<location filename="../src/widget/form/chatform.cpp" line="289"/> <location filename="../src/widget/form/chatform.cpp" line="290"/>
<source>Accept audio call</source> <source>Accept audio call</source>
<translation>Atsiliepti</translation> <translation>Atsiliepti</translation>
</message> </message>
<message> <message>
<location filename="../src/widget/form/chatform.cpp" line="297"/> <location filename="../src/widget/form/chatform.cpp" line="298"/>
<source>%1 calling</source> <source>%1 calling</source>
<translation>%1 skambina</translation> <translation>%1 skambina</translation>
</message> </message>
<message> <message>
<location filename="../src/widget/form/chatform.cpp" line="326"/> <location filename="../src/widget/form/chatform.cpp" line="327"/>
<location filename="../src/widget/form/chatform.cpp" line="445"/> <location filename="../src/widget/form/chatform.cpp" line="446"/>
<source>End video call</source> <source>End video call</source>
<translation>Nutraukti vaizdo pokalbį</translation> <translation>Nutraukti vaizdo pokalbį</translation>
</message> </message>
<message> <message>
<location filename="../src/widget/form/chatform.cpp" line="335"/> <location filename="../src/widget/form/chatform.cpp" line="336"/>
<location filename="../src/widget/form/chatform.cpp" line="454"/> <location filename="../src/widget/form/chatform.cpp" line="455"/>
<source>End audio call</source> <source>End audio call</source>
<translation>Nutraukti pokalbį</translation> <translation>Nutraukti pokalbį</translation>
</message> </message>
<message> <message>
<location filename="../src/widget/form/chatform.cpp" line="346"/> <location filename="../src/widget/form/chatform.cpp" line="347"/>
<location filename="../src/widget/form/chatform.cpp" line="702"/> <location filename="../src/widget/form/chatform.cpp" line="703"/>
<source>Mute microphone</source> <source>Mute microphone</source>
<translation>Nutildyti mikrofoną</translation> <translation>Nutildyti mikrofoną</translation>
</message> </message>
<message> <message>
<location filename="../src/widget/form/chatform.cpp" line="349"/> <location filename="../src/widget/form/chatform.cpp" line="350"/>
<location filename="../src/widget/form/chatform.cpp" line="722"/> <location filename="../src/widget/form/chatform.cpp" line="723"/>
<source>Mute call</source> <source>Mute call</source>
<translation>Išjungti garsą</translation> <translation>Išjungti garsą</translation>
</message> </message>
<message> <message>
<location filename="../src/widget/form/chatform.cpp" line="374"/> <location filename="../src/widget/form/chatform.cpp" line="375"/>
<source>%1 stopped calling</source> <source>%1 stopped calling</source>
<translation>%1 nutraukė skambutį</translation> <translation>%1 nutraukė skambutį</translation>
</message> </message>
<message> <message>
<location filename="../src/widget/form/chatform.cpp" line="410"/> <location filename="../src/widget/form/chatform.cpp" line="411"/>
<source>Cancel video call</source> <source>Cancel video call</source>
<translation>Nutraukti vaizdo skambutį</translation> <translation>Nutraukti vaizdo skambutį</translation>
</message> </message>
<message> <message>
<location filename="../src/widget/form/chatform.cpp" line="418"/> <location filename="../src/widget/form/chatform.cpp" line="419"/>
<source>Cancel audio call</source> <source>Cancel audio call</source>
<translation>Nutraukti skambutį</translation> <translation>Nutraukti skambutį</translation>
</message> </message>
<message> <message>
<location filename="../src/widget/form/chatform.cpp" line="426"/> <location filename="../src/widget/form/chatform.cpp" line="427"/>
<source>Calling to %1</source> <source>Calling to %1</source>
<translation>Skambiname: %1</translation> <translation>Skambiname: %1</translation>
</message> </message>
<message> <message>
<location filename="../src/widget/form/chatform.cpp" line="524"/> <location filename="../src/widget/form/chatform.cpp" line="525"/>
<source>Call rejected</source> <source>Call rejected</source>
<translation>Skambutis atmestas</translation> <translation>Skambutis atmestas</translation>
</message> </message>
<message> <message>
<location filename="../src/widget/form/chatform.cpp" line="679"/> <location filename="../src/widget/form/chatform.cpp" line="680"/>
<source>Start audio call</source> <source>Start audio call</source>
<translation>Skambinti</translation> <translation>Skambinti</translation>
</message> </message>
<message> <message>
<location filename="../src/widget/form/chatform.cpp" line="682"/> <location filename="../src/widget/form/chatform.cpp" line="683"/>
<source>Start video call</source> <source>Start video call</source>
<translation>Pradėti vaizdo pokalbį</translation> <translation>Pradėti vaizdo pokalbį</translation>
</message> </message>
<message> <message>
<location filename="../src/widget/form/chatform.cpp" line="707"/> <location filename="../src/widget/form/chatform.cpp" line="708"/>
<source>Unmute microphone</source> <source>Unmute microphone</source>
<translation>Įjungti mikrofoną</translation> <translation>Įjungti mikrofoną</translation>
</message> </message>
<message> <message>
<location filename="../src/widget/form/chatform.cpp" line="727"/> <location filename="../src/widget/form/chatform.cpp" line="728"/>
<source>Unmute call</source> <source>Unmute call</source>
<translation>Įjungti garsą</translation> <translation>Įjungti garsą</translation>
</message> </message>
<message> <message>
<location filename="../src/widget/form/chatform.cpp" line="739"/> <location filename="../src/widget/form/chatform.cpp" line="740"/>
<source>Failed to send file &quot;%1&quot;</source> <source>Failed to send file &quot;%1&quot;</source>
<translation>Nepavyko nusiųsti failo „%1“</translation> <translation>Nepavyko nusiųsti failo „%1“</translation>
</message> </message>
<message> <message>
<location filename="../src/widget/form/chatform.cpp" line="903"/> <location filename="../src/widget/form/chatform.cpp" line="904"/>
<source>Call with %1 ended. %2</source> <source>Call with %1 ended. %2</source>
<translation>Pokalbis su %1 baigėsi. %2</translation> <translation>Pokalbis su %1 baigėsi. %2</translation>
</message> </message>
<message> <message>
<location filename="../src/widget/form/chatform.cpp" line="922"/> <location filename="../src/widget/form/chatform.cpp" line="923"/>
<source>Call duration: </source> <source>Call duration: </source>
<translation>Pokalbio trukmė: </translation> <translation>Pokalbio trukmė: </translation>
</message> </message>
@ -719,37 +719,37 @@ Norite išmėginti kitą slaptažodį?</translation>
<translation>[peržiūra]</translation> <translation>[peržiūra]</translation>
</message> </message>
<message> <message>
<location filename="../src/chatlog/content/filetransferwidget.cpp" line="84"/> <location filename="../src/chatlog/content/filetransferwidget.cpp" line="85"/>
<source>Waiting to send...</source> <source>Waiting to send...</source>
<comment>file transfer widget</comment> <comment>file transfer widget</comment>
<translation>Laukiama gavėjo...</translation> <translation>Laukiama gavėjo...</translation>
</message> </message>
<message> <message>
<location filename="../src/chatlog/content/filetransferwidget.cpp" line="87"/> <location filename="../src/chatlog/content/filetransferwidget.cpp" line="88"/>
<source>Accept to receive this file</source> <source>Accept to receive this file</source>
<comment>file transfer widget</comment> <comment>file transfer widget</comment>
<translation>Priimti failą</translation> <translation>Priimti failą</translation>
</message> </message>
<message> <message>
<location filename="../src/chatlog/content/filetransferwidget.cpp" line="129"/> <location filename="../src/chatlog/content/filetransferwidget.cpp" line="130"/>
<source>Location not writable</source> <source>Location not writable</source>
<comment>Title of permissions popup</comment> <comment>Title of permissions popup</comment>
<translation>Įrašyti failo čia neleidžiama</translation> <translation>Įrašyti failo čia neleidžiama</translation>
</message> </message>
<message> <message>
<location filename="../src/chatlog/content/filetransferwidget.cpp" line="130"/> <location filename="../src/chatlog/content/filetransferwidget.cpp" line="131"/>
<source>You do not have permission to write that location. Choose another, or cancel the save dialog.</source> <source>You do not have permission to write that location. Choose another, or cancel the save dialog.</source>
<comment>text of permissions popup</comment> <comment>text of permissions popup</comment>
<translation>Nėra teisių įrašyti failą šioje vietoje. Bandykite įrašyti kitur arba atšaukite dialogo langą.</translation> <translation>Nėra teisių įrašyti failą šioje vietoje. Bandykite įrašyti kitur arba atšaukite dialogo langą.</translation>
</message> </message>
<message> <message>
<location filename="../src/chatlog/content/filetransferwidget.cpp" line="302"/> <location filename="../src/chatlog/content/filetransferwidget.cpp" line="303"/>
<source>paused</source> <source>paused</source>
<comment>file transfer widget</comment> <comment>file transfer widget</comment>
<translation>Pristabdyta</translation> <translation>Pristabdyta</translation>
</message> </message>
<message> <message>
<location filename="../src/chatlog/content/filetransferwidget.cpp" line="425"/> <location filename="../src/chatlog/content/filetransferwidget.cpp" line="426"/>
<source>Save a file</source> <source>Save a file</source>
<comment>Title of the file saving dialog</comment> <comment>Title of the file saving dialog</comment>
<translation>Išsaugoti failą</translation> <translation>Išsaugoti failą</translation>
@ -813,47 +813,47 @@ Norite išmėginti kitą slaptažodį?</translation>
<context> <context>
<name>FriendWidget</name> <name>FriendWidget</name>
<message> <message>
<location filename="../src/widget/friendwidget.cpp" line="56"/> <location filename="../src/widget/friendwidget.cpp" line="58"/>
<source>Invite to group</source> <source>Invite to group</source>
<comment>Menu to invite a friend to a groupchat</comment> <comment>Menu to invite a friend to a groupchat</comment>
<translation>Pakviesti į grupės pokalbį</translation> <translation>Pakviesti į grupės pokalbį</translation>
</message> </message>
<message> <message>
<location filename="../src/widget/friendwidget.cpp" line="57"/> <location filename="../src/widget/friendwidget.cpp" line="59"/>
<source>Copy friend ID</source> <source>Copy friend ID</source>
<comment>Menu to copy the Tox ID of that friend</comment> <comment>Menu to copy the Tox ID of that friend</comment>
<translation>Nukopijuoti kontakto ID</translation> <translation>Nukopijuoti kontakto ID</translation>
</message> </message>
<message> <message>
<location filename="../src/widget/friendwidget.cpp" line="69"/> <location filename="../src/widget/friendwidget.cpp" line="71"/>
<source>Set alias...</source> <source>Set alias...</source>
<translation>Nustatyti slapyvardį...</translation> <translation>Nustatyti slapyvardį...</translation>
</message> </message>
<message> <message>
<location filename="../src/widget/friendwidget.cpp" line="72"/> <location filename="../src/widget/friendwidget.cpp" line="74"/>
<source>Auto accept files from this friend</source> <source>Auto accept files from this friend</source>
<comment>context menu entry</comment> <comment>context menu entry</comment>
<translation>Automatiškai priimti failus iš šio kontakto</translation> <translation>Automatiškai priimti failus iš šio kontakto</translation>
</message> </message>
<message> <message>
<location filename="../src/widget/friendwidget.cpp" line="77"/> <location filename="../src/widget/friendwidget.cpp" line="79"/>
<source>Remove friend</source> <source>Remove friend</source>
<comment>Menu to remove the friend from our friendlist</comment> <comment>Menu to remove the friend from our friendlist</comment>
<translation>Pašalinti kontaktą</translation> <translation>Pašalinti kontaktą</translation>
</message> </message>
<message> <message>
<location filename="../src/widget/friendwidget.cpp" line="110"/> <location filename="../src/widget/friendwidget.cpp" line="112"/>
<source>Choose an auto accept directory</source> <source>Choose an auto accept directory</source>
<comment>popup title</comment> <comment>popup title</comment>
<translation>Pasirinkite priimamų failų katalogą</translation> <translation>Pasirinkite priimamų failų katalogą</translation>
</message> </message>
<message> <message>
<location filename="../src/widget/friendwidget.cpp" line="249"/> <location filename="../src/widget/friendwidget.cpp" line="251"/>
<source>User alias</source> <source>User alias</source>
<translation>Naudotojo slapyvardis</translation> <translation>Naudotojo slapyvardis</translation>
</message> </message>
<message> <message>
<location filename="../src/widget/friendwidget.cpp" line="249"/> <location filename="../src/widget/friendwidget.cpp" line="251"/>
<source>You can also set this by clicking the chat form name. <source>You can also set this by clicking the chat form name.
Alias:</source> Alias:</source>
<translation>Slapyvardį pakeisti galima ir spustelėjus pokalbių lange. <translation>Slapyvardį pakeisti galima ir spustelėjus pokalbių lange.
@ -960,7 +960,7 @@ Slapyvardis:</translation>
<message> <message>
<location filename="../src/widget/form/settings/generalsettings.ui" line="137"/> <location filename="../src/widget/form/settings/generalsettings.ui" line="137"/>
<source>Start in tray</source> <source>Start in tray</source>
<translation>Paleidžiant paslėpti juostelėje</translation> <translation>Paslėpti paleidus</translation>
</message> </message>
<message> <message>
<location filename="../src/widget/form/settings/generalsettings.ui" line="150"/> <location filename="../src/widget/form/settings/generalsettings.ui" line="150"/>
@ -973,7 +973,7 @@ qTox pasislėps sistemos juostelėje.</translation>
<message> <message>
<location filename="../src/widget/form/settings/generalsettings.ui" line="154"/> <location filename="../src/widget/form/settings/generalsettings.ui" line="154"/>
<source>Close to tray</source> <source>Close to tray</source>
<translation>Uždarant paslėpti juostelėje</translation> <translation>Paslėpti uždarius</translation>
</message> </message>
<message> <message>
<location filename="../src/widget/form/settings/generalsettings.ui" line="167"/> <location filename="../src/widget/form/settings/generalsettings.ui" line="167"/>
@ -986,7 +986,7 @@ sistemos juostelėje, o ne programų juostoje.</translation>
<message> <message>
<location filename="../src/widget/form/settings/generalsettings.ui" line="171"/> <location filename="../src/widget/form/settings/generalsettings.ui" line="171"/>
<source>Minimize to tray</source> <source>Minimize to tray</source>
<translation>Sumažinant paslėpti juostelėje</translation> <translation>Paslėpti sumažinus</translation>
</message> </message>
<message> <message>
<location filename="../src/widget/form/settings/generalsettings.ui" line="121"/> <location filename="../src/widget/form/settings/generalsettings.ui" line="121"/>
@ -1347,39 +1347,39 @@ kontaktams, bus nusiųstos jiems prisijungus.</translation>
<translation>Pokalbyje %1 žmonių</translation> <translation>Pokalbyje %1 žmonių</translation>
</message> </message>
<message> <message>
<location filename="../src/widget/form/groupchatform.cpp" line="108"/> <location filename="../src/widget/form/groupchatform.cpp" line="114"/>
<source>%1 users in chat</source> <source>%1 users in chat</source>
<translation>Pokalbyje %1 žmonių</translation> <translation>Pokalbyje %1 žmonių</translation>
</message> </message>
<message> <message>
<location filename="../src/widget/form/groupchatform.cpp" line="154"/> <location filename="../src/widget/form/groupchatform.cpp" line="161"/>
<location filename="../src/widget/form/groupchatform.cpp" line="200"/> <location filename="../src/widget/form/groupchatform.cpp" line="207"/>
<source>Mute microphone</source> <source>Mute microphone</source>
<translation>Nutildyti mikrofoną</translation> <translation>Nutildyti mikrofoną</translation>
</message> </message>
<message> <message>
<location filename="../src/widget/form/groupchatform.cpp" line="160"/> <location filename="../src/widget/form/groupchatform.cpp" line="167"/>
<source>Unmute microphone</source> <source>Unmute microphone</source>
<translation>Įjungti mikrofoną</translation> <translation>Įjungti mikrofoną</translation>
</message> </message>
<message> <message>
<location filename="../src/widget/form/groupchatform.cpp" line="175"/> <location filename="../src/widget/form/groupchatform.cpp" line="182"/>
<location filename="../src/widget/form/groupchatform.cpp" line="203"/> <location filename="../src/widget/form/groupchatform.cpp" line="210"/>
<source>Mute call</source> <source>Mute call</source>
<translation>Išjungti garsą</translation> <translation>Išjungti garsą</translation>
</message> </message>
<message> <message>
<location filename="../src/widget/form/groupchatform.cpp" line="181"/> <location filename="../src/widget/form/groupchatform.cpp" line="188"/>
<source>Unmute call</source> <source>Unmute call</source>
<translation>Įjungti garsą</translation> <translation>Įjungti garsą</translation>
</message> </message>
<message> <message>
<location filename="../src/widget/form/groupchatform.cpp" line="197"/> <location filename="../src/widget/form/groupchatform.cpp" line="204"/>
<source>End audio call</source> <source>End audio call</source>
<translation>Nutraukti pokalbį</translation> <translation>Nutraukti pokalbį</translation>
</message> </message>
<message> <message>
<location filename="../src/widget/form/groupchatform.cpp" line="213"/> <location filename="../src/widget/form/groupchatform.cpp" line="220"/>
<source>Start audio call</source> <source>Start audio call</source>
<translation>Skambinti</translation> <translation>Skambinti</translation>
</message> </message>
@ -2073,7 +2073,7 @@ Ji bus įdiegta paleidus qTox iš naujo.</translation>
<message> <message>
<location filename="../src/chatlog/chatmessage.cpp" line="126"/> <location filename="../src/chatlog/chatmessage.cpp" line="126"/>
<source>Busy...</source> <source>Busy...</source>
<translation>Užsiėmęs...</translation> <translation>Įkeliama...</translation>
</message> </message>
<message> <message>
<location filename="../src/widget/callconfirmwidget.cpp" line="28"/> <location filename="../src/widget/callconfirmwidget.cpp" line="28"/>
@ -2327,92 +2327,92 @@ Deja tox1 protokolas turi saugumo spragų. Tęsti?</translation>
<translation>Toxcore neprisijungia su Jūsų įgaliotojo serverio nustatymais. qTox negali dirbti pakeiskite nustatymus ir prisijunkite iš naujo.</translation> <translation>Toxcore neprisijungia su Jūsų įgaliotojo serverio nustatymais. qTox negali dirbti pakeiskite nustatymus ir prisijunkite iš naujo.</translation>
</message> </message>
<message> <message>
<location filename="../src/widget/widget.cpp" line="487"/> <location filename="../src/widget/widget.cpp" line="489"/>
<source>Add friend</source> <source>Add friend</source>
<translation>Pridėti kontaktą</translation> <translation>Pridėti kontaktą</translation>
</message> </message>
<message> <message>
<location filename="../src/widget/widget.cpp" line="499"/> <location filename="../src/widget/widget.cpp" line="501"/>
<source>File transfers</source> <source>File transfers</source>
<translation>Failų siuntimai</translation> <translation>Failų siuntimai</translation>
</message> </message>
<message> <message>
<location filename="../src/widget/widget.cpp" line="509"/> <location filename="../src/widget/widget.cpp" line="511"/>
<source>Executable file</source> <source>Executable file</source>
<comment>popup title</comment> <comment>popup title</comment>
<translation>Vykdomasis failas</translation> <translation>Vykdomasis failas</translation>
</message> </message>
<message> <message>
<location filename="../src/widget/widget.cpp" line="509"/> <location filename="../src/widget/widget.cpp" line="511"/>
<source>You have asked qTox to open an executable file. Executable files can potentially damage your computer. Are you sure want to open this file?</source> <source>You have asked qTox to open an executable file. Executable files can potentially damage your computer. Are you sure want to open this file?</source>
<comment>popup text</comment> <comment>popup text</comment>
<translation>Nurodėte qTox atidaryti vykdomąjį failą (programą). Vykdomieji failai gali pakenkti Jūsų kompiuteriui. Ar norite tęsti?</translation> <translation>Nurodėte qTox atidaryti vykdomąjį failą (programą). Vykdomieji failai gali pakenkti Jūsų kompiuteriui. Ar norite tęsti?</translation>
</message> </message>
<message> <message>
<location filename="../src/widget/widget.cpp" line="565"/> <location filename="../src/widget/widget.cpp" line="567"/>
<source>Settings</source> <source>Settings</source>
<translation>Nuostatos</translation> <translation>Nuostatos</translation>
</message> </message>
<message> <message>
<location filename="../src/widget/widget.cpp" line="674"/> <location filename="../src/widget/widget.cpp" line="676"/>
<source>Couldn&apos;t request friendship</source> <source>Couldn&apos;t request friendship</source>
<translation>Nepavyko nusiųsti užklausos</translation> <translation>Nepavyko nusiųsti užklausos</translation>
</message> </message>
<message> <message>
<location filename="../src/widget/widget.cpp" line="702"/> <location filename="../src/widget/widget.cpp" line="704"/>
<source>away</source> <source>away</source>
<comment>contact status</comment> <comment>contact status</comment>
<translation>pasitraukęs (-usi)</translation> <translation>pasitraukęs (-usi)</translation>
</message> </message>
<message> <message>
<location filename="../src/widget/widget.cpp" line="704"/> <location filename="../src/widget/widget.cpp" line="706"/>
<source>busy</source> <source>busy</source>
<comment>contact status</comment> <comment>contact status</comment>
<translation>užsiėmęs (-usi)</translation> <translation>užsiėmęs (-usi)</translation>
</message> </message>
<message> <message>
<location filename="../src/widget/widget.cpp" line="706"/> <location filename="../src/widget/widget.cpp" line="708"/>
<source>offline</source> <source>offline</source>
<comment>contact status</comment> <comment>contact status</comment>
<translation>neprisijungęs (-usi)</translation> <translation>neprisijungęs (-usi)</translation>
</message> </message>
<message> <message>
<location filename="../src/widget/widget.cpp" line="710"/> <location filename="../src/widget/widget.cpp" line="712"/>
<source>online</source> <source>online</source>
<comment>contact status</comment> <comment>contact status</comment>
<translation>prisijungęs (-usi)</translation> <translation>prisijungęs (-usi)</translation>
</message> </message>
<message> <message>
<location filename="../src/widget/widget.cpp" line="713"/> <location filename="../src/widget/widget.cpp" line="715"/>
<source>%1 is now %2</source> <source>%1 is now %2</source>
<comment>e.g. &quot;Dubslow is now online&quot;</comment> <comment>e.g. &quot;Dubslow is now online&quot;</comment>
<translation>%1 dabar %2</translation> <translation>%1 dabar %2</translation>
</message> </message>
<message> <message>
<location filename="../src/widget/widget.cpp" line="889"/> <location filename="../src/widget/widget.cpp" line="891"/>
<source>Group invite</source> <source>Group invite</source>
<comment>popup title</comment> <comment>popup title</comment>
<translation>Pakvietimas į grupę</translation> <translation>Pakvietimas į grupę</translation>
</message> </message>
<message> <message>
<location filename="../src/widget/widget.cpp" line="889"/> <location filename="../src/widget/widget.cpp" line="891"/>
<source>%1 has invited you to a groupchat. Would you like to join?</source> <source>%1 has invited you to a groupchat. Would you like to join?</source>
<comment>popup text</comment> <comment>popup text</comment>
<translation>%1 Jus kviečia prisijungti prie grupės pokalbio. Norite prisijungti?</translation> <translation>%1 Jus kviečia prisijungti prie grupės pokalbio. Norite prisijungti?</translation>
</message> </message>
<message> <message>
<location filename="../src/widget/widget.cpp" line="944"/> <location filename="../src/widget/widget.cpp" line="946"/>
<source>&lt;Unknown&gt;</source> <source>&lt;Unknown&gt;</source>
<comment>Placeholder when we don&apos;t know someone&apos;s name in a group chat</comment> <comment>Placeholder when we don&apos;t know someone&apos;s name in a group chat</comment>
<translation>&lt;Nepažįstamas&gt;</translation> <translation>&lt;Nepažįstamas&gt;</translation>
</message> </message>
<message> <message>
<location filename="../src/widget/widget.cpp" line="970"/> <location filename="../src/widget/widget.cpp" line="972"/>
<source>%1 has set the title to %2</source> <source>%1 has set the title to %2</source>
<translation>%1 nustatė pavadinimą „%2“</translation> <translation>%1 nustatė pavadinimą „%2“</translation>
</message> </message>
<message> <message>
<location filename="../src/widget/widget.cpp" line="1127"/> <location filename="../src/widget/widget.cpp" line="1129"/>
<source>Message failed to send</source> <source>Message failed to send</source>
<translation>Nepavyko nusiųsti žinutės</translation> <translation>Nepavyko nusiųsti žinutės</translation>
</message> </message>