Compare commits
31 commits
master
...
release/20
Author | SHA1 | Date | |
---|---|---|---|
|
004e7bc79a | ||
|
3335584931 | ||
|
f0aca93646 | ||
|
8b062714dc | ||
|
40c22d28ac | ||
|
dfc606eefd | ||
|
893ede6960 | ||
|
fbc827e373 | ||
|
7e51bfc170 | ||
|
f8d71dea54 | ||
|
dd2cb98e4e | ||
|
54257c1831 | ||
|
7911a08ece | ||
|
b11d141169 | ||
|
c45f116935 | ||
|
f582871d80 | ||
|
1449fbac30 | ||
|
e8861f9fce | ||
|
6cbecfcbfd | ||
|
3c810530e7 | ||
|
fce8bc1e53 | ||
|
ccde0558d5 | ||
|
25865ee9c6 | ||
|
7c80b1fcfb | ||
|
d9b3e92554 | ||
|
0fd56a6d82 | ||
|
d72984fe43 | ||
|
b840ed65c5 | ||
|
97bde9ce5e | ||
|
49e8b2dba8 | ||
|
3684b02b6b |
56 changed files with 233 additions and 100 deletions
|
@ -2,8 +2,8 @@ cmake_minimum_required(VERSION 3.0)
|
|||
|
||||
# KDE Release Service Version, managed by release script
|
||||
set (RELEASE_SERVICE_VERSION_MAJOR "20")
|
||||
set (RELEASE_SERVICE_VERSION_MINOR "11")
|
||||
set (RELEASE_SERVICE_VERSION_MICRO "70")
|
||||
set (RELEASE_SERVICE_VERSION_MINOR "12")
|
||||
set (RELEASE_SERVICE_VERSION_MICRO "3")
|
||||
set (RELEASE_SERVICE_VERSION "${RELEASE_SERVICE_VERSION_MAJOR}.${RELEASE_SERVICE_VERSION_MINOR}.${RELEASE_SERVICE_VERSION_MICRO}")
|
||||
|
||||
project(kdeconnect VERSION ${RELEASE_SERVICE_VERSION})
|
||||
|
|
|
@ -127,7 +127,7 @@ Comment[sv]=Gör alla enheter till en
|
|||
Comment[tr]=Tüm aygıtlarınızı birleştirin
|
||||
Comment[uk]=Поєднайте усі ваші пристрої
|
||||
Comment[x-test]=xxMake all your devices onexx
|
||||
Comment[zh_CN]=连接您所有设备
|
||||
Comment[zh_CN]=将您的所有设备合而为一
|
||||
Comment[zh_TW]=讓您的裝置內容全面同步
|
||||
Exec=kdeconnect-app
|
||||
Icon=kdeconnect
|
||||
|
|
|
@ -53,7 +53,7 @@ int main(int argc, char** argv)
|
|||
parser.addOption(QCommandLineOption(QStringLiteral("lock"), i18n("Lock the specified device")));
|
||||
parser.addOption(QCommandLineOption(QStringLiteral("send-sms"), i18n("Sends an SMS. Requires destination"), i18n("message")));
|
||||
parser.addOption(QCommandLineOption(QStringLiteral("destination"), i18n("Phone number to send the message"), i18n("phone number")));
|
||||
parser.addOption(QCommandLineOption(QStringLiteral("attachment"), i18n("File urls to send attachments with the message (can be passed multiple times)"), i18n("file urls")));
|
||||
//parser.addOption(QCommandLineOption(QStringLiteral("attachment"), i18n("File urls to send attachments with the message (can be passed multiple times)"), i18n("file urls"))); // Disabling this until we have Android support
|
||||
parser.addOption(QCommandLineOption(QStringList(QStringLiteral("device")) << QStringLiteral("d"), i18n("Device ID"), QStringLiteral("dev")));
|
||||
parser.addOption(QCommandLineOption(QStringList(QStringLiteral("name")) << QStringLiteral("n"), i18n("Device Name"), QStringLiteral("name")));
|
||||
parser.addOption(QCommandLineOption(QStringLiteral("encryption-info"), i18n("Get encryption info about said device")));
|
||||
|
|
|
@ -89,3 +89,8 @@ void BluetoothDeviceLink::dataReceived()
|
|||
QMetaObject::invokeMethod(this, &BluetoothDeviceLink::dataReceived, Qt::QueuedConnection);
|
||||
}
|
||||
}
|
||||
|
||||
QSslCertificate BluetoothDeviceLink::certificate() const
|
||||
{
|
||||
return {}; // TODO Not sure what to do here. For LanDeviceLink we use the SSL connection's certificate, but we don't have that here
|
||||
}
|
||||
|
|
|
@ -10,6 +10,7 @@
|
|||
#include <QObject>
|
||||
#include <QString>
|
||||
#include <QBluetoothSocket>
|
||||
#include <QSslCertificate>
|
||||
|
||||
#include "../devicelink.h"
|
||||
#include "../devicelinereader.h"
|
||||
|
@ -33,6 +34,7 @@ public:
|
|||
virtual void userRequestsUnpair() override;
|
||||
|
||||
virtual bool linkShouldBeKeptAlive() override;
|
||||
QSslCertificate certificate() const override;
|
||||
|
||||
private Q_SLOTS:
|
||||
void dataReceived();
|
||||
|
|
|
@ -15,6 +15,7 @@ class PairingHandler;
|
|||
class NetworkPacket;
|
||||
class LinkProvider;
|
||||
class Device;
|
||||
class QSslCertificate;
|
||||
|
||||
class DeviceLink
|
||||
: public QObject
|
||||
|
@ -44,6 +45,8 @@ public:
|
|||
//The daemon will periodically destroy unpaired links if this returns false
|
||||
virtual bool linkShouldBeKeptAlive() { return false; }
|
||||
|
||||
virtual QSslCertificate certificate() const = 0;
|
||||
|
||||
Q_SIGNALS:
|
||||
void pairingRequest(PairingHandler* handler);
|
||||
void pairingRequestExpired(PairingHandler* handler);
|
||||
|
|
|
@ -164,8 +164,7 @@ void LanDeviceLink::setPairStatus(PairStatus status)
|
|||
DeviceLink::setPairStatus(status);
|
||||
if (status == Paired) {
|
||||
Q_ASSERT(KdeConnectConfig::instance().trustedDevices().contains(deviceId()));
|
||||
Q_ASSERT(!m_socketLineReader->peerCertificate().isNull());
|
||||
KdeConnectConfig::instance().setDeviceProperty(deviceId(), QStringLiteral("certificate"), QString::fromLatin1(m_socketLineReader->peerCertificate().toPem().data()));
|
||||
KdeConnectConfig::instance().setDeviceProperty(deviceId(), QStringLiteral("certificate"), QString::fromLatin1(certificate().toPem()));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -42,7 +42,7 @@ public:
|
|||
bool linkShouldBeKeptAlive() override;
|
||||
|
||||
QHostAddress hostAddress() const;
|
||||
QSslCertificate certificate() const;
|
||||
QSslCertificate certificate() const override;
|
||||
|
||||
private Q_SLOTS:
|
||||
void dataReceived();
|
||||
|
|
|
@ -8,6 +8,7 @@
|
|||
#define LOOPBACKDEVICELINK_H
|
||||
|
||||
#include "../devicelink.h"
|
||||
#include <QSslCertificate>
|
||||
|
||||
class LoopbackLinkProvider;
|
||||
|
||||
|
@ -23,6 +24,8 @@ public:
|
|||
|
||||
void userRequestsPair() override { setPairStatus(Paired); }
|
||||
void userRequestsUnpair() override { setPairStatus(NotPaired); }
|
||||
|
||||
QSslCertificate certificate() const override { return QSslCertificate(); }
|
||||
};
|
||||
|
||||
#endif
|
||||
|
|
|
@ -9,6 +9,7 @@
|
|||
#include <QVector>
|
||||
#include <QSet>
|
||||
#include <QSslCertificate>
|
||||
#include <QSslKey>
|
||||
|
||||
#include <KSharedConfig>
|
||||
#include <KConfigGroup>
|
||||
|
@ -537,25 +538,47 @@ bool Device::isPluginEnabled(const QString& pluginName) const
|
|||
QString Device::encryptionInfo() const
|
||||
{
|
||||
QString result;
|
||||
QCryptographicHash::Algorithm digestAlgorithm = QCryptographicHash::Algorithm::Sha1;
|
||||
const QCryptographicHash::Algorithm digestAlgorithm = QCryptographicHash::Algorithm::Sha256;
|
||||
|
||||
QString localSha1 = QString::fromLatin1(KdeConnectConfig::instance().certificate().digest(digestAlgorithm).toHex());
|
||||
for (int i = 2; i<localSha1.size(); i += 3) {
|
||||
localSha1.insert(i, QStringLiteral(":")); // Improve readability
|
||||
QString localChecksum = QString::fromLatin1(KdeConnectConfig::instance().certificate().digest(digestAlgorithm).toHex());
|
||||
for (int i = 2; i<localChecksum.size(); i += 3) {
|
||||
localChecksum.insert(i, QStringLiteral(":")); // Improve readability
|
||||
}
|
||||
result += i18n("SHA1 fingerprint of your device certificate is: %1\n", localSha1);
|
||||
result += i18n("SHA256 fingerprint of your device certificate is: %1\n", localChecksum);
|
||||
|
||||
std::string remotePem = KdeConnectConfig::instance().getDeviceProperty(id(), QStringLiteral("certificate")).toStdString();
|
||||
QSslCertificate remoteCertificate = QSslCertificate(QByteArray(remotePem.c_str(), (int)remotePem.size()));
|
||||
QString remoteSha1 = QString::fromLatin1(remoteCertificate.digest(digestAlgorithm).toHex());
|
||||
for (int i = 2; i < remoteSha1.size(); i += 3) {
|
||||
remoteSha1.insert(i, QStringLiteral(":")); // Improve readability
|
||||
QString remoteChecksum = QString::fromLatin1(remoteCertificate.digest(digestAlgorithm).toHex());
|
||||
for (int i = 2; i < remoteChecksum.size(); i += 3) {
|
||||
remoteChecksum.insert(i, QStringLiteral(":")); // Improve readability
|
||||
}
|
||||
result += i18n("SHA1 fingerprint of remote device certificate is: %1\n", remoteSha1);
|
||||
result += i18n("SHA256 fingerprint of remote device certificate is: %1\n", remoteChecksum);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
QSslCertificate Device::certificate() const
|
||||
{
|
||||
if (!d->m_deviceLinks.isEmpty()) {
|
||||
return d->m_deviceLinks[0]->certificate();
|
||||
}
|
||||
return QSslCertificate();
|
||||
}
|
||||
|
||||
QByteArray Device::verificationKey() const
|
||||
{
|
||||
auto a = KdeConnectConfig::instance().certificate().publicKey().toDer();
|
||||
auto b = certificate().publicKey().toDer();
|
||||
if (a < b) {
|
||||
std::swap(a, b);
|
||||
}
|
||||
|
||||
QCryptographicHash hash(QCryptographicHash::Sha256);
|
||||
hash.addData(a);
|
||||
hash.addData(b);
|
||||
return hash.result().toHex();
|
||||
}
|
||||
|
||||
QString Device::pluginIconName(const QString& pluginName)
|
||||
{
|
||||
if (hasPlugin(pluginName)) {
|
||||
|
|
|
@ -64,6 +64,7 @@ public:
|
|||
QString type() const;
|
||||
QString iconName() const;
|
||||
QString statusIconName() const;
|
||||
Q_SCRIPTABLE QByteArray verificationKey() const;
|
||||
Q_SCRIPTABLE QString encryptionInfo() const;
|
||||
|
||||
//Add and remove links
|
||||
|
@ -132,6 +133,7 @@ private: //Methods
|
|||
void setName(const QString& name);
|
||||
void setType(const QString& strtype);
|
||||
QString iconForStatus(bool reachable, bool paired) const;
|
||||
QSslCertificate certificate() const;
|
||||
|
||||
private:
|
||||
class DevicePrivate;
|
||||
|
|
|
@ -48,14 +48,17 @@ public:
|
|||
notification->setIconName(QStringLiteral("dialog-information"));
|
||||
notification->setComponentName(QStringLiteral("kdeconnect"));
|
||||
notification->setTitle(QStringLiteral("KDE Connect"));
|
||||
notification->setText(i18n("Pairing request from %1", device->name().toHtmlEscaped()));
|
||||
notification->setText(i18n("Pairing request from %1\n<br/>Key: %2...", device->name().toHtmlEscaped(), QString::fromUtf8(device->verificationKey().left(8))));
|
||||
notification->setDefaultAction(i18n("Open"));
|
||||
notification->setActions(QStringList() << i18n("Accept") << i18n("Reject"));
|
||||
notification->setActions(QStringList() << i18n("Accept") << i18n("Reject") << i18n("View key"));
|
||||
connect(notification, &KNotification::action1Activated, device, &Device::acceptPairing);
|
||||
connect(notification, &KNotification::action2Activated, device, &Device::rejectPairing);
|
||||
connect(notification, QOverload<>::of(&KNotification::activated), this, [this, device] {
|
||||
openConfiguration(device->id());
|
||||
});
|
||||
QString deviceId = device->id();
|
||||
auto openSettings = [this, deviceId] {
|
||||
openConfiguration(deviceId);
|
||||
};
|
||||
connect(notification, &KNotification::action3Activated, openSettings);
|
||||
connect(notification, QOverload<>::of(&KNotification::activated), openSettings);
|
||||
notification->sendEvent();
|
||||
}
|
||||
|
||||
|
@ -126,6 +129,7 @@ int main(int argc, char* argv[])
|
|||
detectPlatform(argc, argv);
|
||||
|
||||
QApplication app(argc, argv);
|
||||
app.setAttribute(Qt::AA_UseHighDpiPixmaps, true);
|
||||
KAboutData aboutData(
|
||||
QStringLiteral("kdeconnect.daemon"),
|
||||
i18n("KDE Connect Daemon"),
|
||||
|
|
|
@ -5,7 +5,6 @@ X-KDE-StartupNotify=false
|
|||
X-KDE-autostart-phase=1
|
||||
X-KDE-Wayland-Interfaces=org_kde_kwin_fake_input
|
||||
X-GNOME-Autostart-enabled=true
|
||||
OnlyShowIn=KDE;GNOME;Unity;XFCE;
|
||||
NoDisplay=true
|
||||
Icon=kdeconnect
|
||||
|
||||
|
|
|
@ -21,6 +21,7 @@ Name[fr]=Envoyer via KDE Connect
|
|||
Name[gl]=Enviar por KDE Connect
|
||||
Name[hu]=Küldés a KDE Connecttel
|
||||
Name[ia]=Invia via KDE Connect
|
||||
Name[id]=Kirim via KDE Connect
|
||||
Name[it]=Invia tramite KDE Connect
|
||||
Name[ko]=KDE Connect로 통해 보내기
|
||||
Name[lt]=Siųsti per KDE Connect
|
||||
|
|
|
@ -21,6 +21,7 @@ Name[fr]=Envoyer via KDE Connect
|
|||
Name[gl]=Enviar por KDE Connect
|
||||
Name[hu]=Küldés a KDE Connecttel
|
||||
Name[ia]=Invia via KDE Connect
|
||||
Name[id]=Kirim via KDE Connect
|
||||
Name[it]=Invia tramite KDE Connect
|
||||
Name[ko]=KDE Connect로 통해 보내기
|
||||
Name[lt]=Siųsti per KDE Connect
|
||||
|
|
|
@ -105,6 +105,7 @@
|
|||
<p xml:lang="fi">KDE Connectin yhdistää ominaisuuksillaan puhelimesi ja tietokoneesi. Voit lähettää tiedostoja toiselle laitteelle, hallita mediatoistoa, lähettää syötettä etänä, nähdä laitteen ilmoitukset ja paljon muuta. Sen saa (myös mobiiliin) Linuxiin, Androidiin, FreeBSD:hen, Windowsiin ja macOSiin.</p>
|
||||
<p xml:lang="fr">KDE Connect vous offre de nombreuses fonctionnalités vous permettant d'intégrer votre téléphone et votre ordinateur. Il vous permet d'envoyer des fichiers à l'autre appareil, de contrôler sa lecture multimédia, d'envoyer des commandes à distance, d'afficher des notifications et bien plus encore. Il est disponible pour Linux (mobile), Android, FreeBSD, Windows et macOS.</p>
|
||||
<p xml:lang="gl">KDE Connect fornece varias funcionalidades para integrar o teléfono co computador. Permite enviar ficheiros ao outro dispositivo, controlar a súa reprodución multimedia, enviar entrada remota, ver as súas notificacións e moitas outras cousas. Está dispoñíbel para Linux (móbil), Android, FreeBSD, Windows e macOS.</p>
|
||||
<p xml:lang="id">KDE Connect menyediakan berbagai fitur untuk mengintegrasikan telepon dan komputermu. Ini memungkinkan kamu untuk mengirim file ke perangkat lain, mengontrol pemutaran medianya, mengirim input jarak jauh, melihat pemberitahuannya dan mungkin banyak lagi. Ini tersedia untuk (seluler) Linux, Android, FreeBSD, Windows dan macOS.</p>
|
||||
<p xml:lang="it">KDE Connect fornisce diverse funzionalità per integrare il tuo telefono e il tuo computer. Ti consente di inviare file all'altro dispositivo, controlla la riproduzione di file multimediali, inviare impulsi remoti, visualizzare le sue notifiche e fare dell'altro. È disponibile per Linux (mobile), Android, FreeBSD, Windows e macOS.</p>
|
||||
<p xml:lang="ko">KDE Connect를 사용하여 휴대폰과 컴퓨터를 통합할 수 있습니다. 다른 장치로 파일 보내기, 미디어 재생 제어, 원격 입력, 알림 보기 등 여러 기능을 제공합니다. (모바일) 리눅스, 안드로이드, FreeBSD, Windows, macOS에서 사용할 수 있습니다.</p>
|
||||
<p xml:lang="lt">KDE Connect pateikia įvairias ypatybes, skirtas integruoti jūsų telefoną ir kompiuterį. Programa leidžia siųsti failus į kitą įrenginį, valdyti jo medijos atkūrimą, siųsti nuotolinį įvedimą, žiūrėti jo pranešimus ir žymiai daugiau. Ji yra prieinama (mobiliosioms) Linux, Android, FreeBSD, Windows ir macOS.</p>
|
||||
|
@ -112,7 +113,7 @@
|
|||
<p xml:lang="nn">KDE Connect har fleire funksjonar for integrering av telefonen og datamaskina di. Du kan blant anna senda filer mellom einingar, styra medieavspeling, bruka fjerntastatur og sjå varslingar. Programmet er tilgjengeleg for (mobil) Linux, Android, FreeBSD, Windows og macOS.</p>
|
||||
<p xml:lang="pl">KDE Connect dostarcza wielu możliwości połączenie twojego telefonu z twoim komputerem. Umożliwia wysyłanie plików na inne urządzenia, sterowanie jego odtwarzaczem, sterowanie w ogólności, widzenie powiadomień i wiele więcej. Jest dostępny dla Linuksa (na urządzenia przenośne), Androida, FreeBSD, Windowsa oraz macOS.</p>
|
||||
<p xml:lang="pt">O KDE Connect oferece várias funcionalidades para integrar o seu telefone com o seu computador. Permite-lhe enviar ficheiros para o outro dispositivo, controlar a reprodução dos seus conteúdos, enviar dados remotos, ver as suas notificações, entre muitas outras coisas. Está disponível para o Linux (móvel), Android, FreeBSD, Windows e macOS.</p>
|
||||
<p xml:lang="pt-BR">O KDE Connect oferece várias funcionalidades para integrar o seu telefone com seu computador. Permite-lhe enviar arquivos para o outro dispositivo, controlar a reprodução de conteúdos multimídia, enviar dados remotos, ver as suas notificações, entre muitas outras coisas. Está disponível para Linux (móvel), Android, FreeBSD, Windows e macOS.</p>
|
||||
<p xml:lang="pt-BR">O KDE Connect oferece várias funcionalidades para integrar o seu celular com seu computador. Permite-lhe enviar arquivos para o outro dispositivo, controlar a reprodução de conteúdos multimídia, enviar dados remotos, ver as suas notificações, entre muitas outras coisas. Está disponível para Linux (móvel), Android, FreeBSD, Windows e macOS.</p>
|
||||
<p xml:lang="ro">KDE Connect vă oferă diferite caracteristici pentru integrarea telefonului cu calculatorul. Acesta vă permite să trimiteți fișiere spre celălalt dispozitiv, să controlați redarea multimedia, să introduceți date de la distanță, să-i vedeți notificările și multe altele. Este disponibil pentru Linux (mobil), Android, FreeBSD, Windows și MacOS.</p>
|
||||
<p xml:lang="ru">KDE Connect предоставляет разнообразный функционал для интеграции телефона и компьютера. Приложение позволяет передавать файлы между устройствами, управлять носителями, воспроизведением, перенаправлять удалённый ввод, просматривать уведомления и многое другое. Приложение доступно для Linux, Android, FreeBSD, Windows и macOS.</p>
|
||||
<p xml:lang="sk">Aplikácia KDE Connect poskytuje rôzne funkcie na integráciu vášho telefónu a vášho počítača. Umožňuje vám odosielať súbory do iného zariadenia, ovládať prehrávanie jeho médií, odosielať vzdialený vstup, zobrazovať jeho upozornenia a viac iných funkcií. Aplikácia je dostupná pre (mobilný) Linux, Android, FreeBSD, Windows a macOS.</p>
|
||||
|
@ -155,4 +156,10 @@
|
|||
<value key="KDE::f_droid">https://f-droid.org/en/packages/org.kde.kdeconnect_tp/</value>
|
||||
<value key="KDE::google_play">https://play.google.com/store/apps/details?id=org.kde.kdeconnect_tp</value>
|
||||
</custom>
|
||||
<releases>
|
||||
<release version="20.12.3" date="2021-03-04"/>
|
||||
<release version="20.12.2" date="2021-02-04"/>
|
||||
<release version="20.12.1" date="2021-01-07"/>
|
||||
<release version="20.12.0" date="2020-12-10"/>
|
||||
</releases>
|
||||
</component>
|
||||
|
|
|
@ -16,6 +16,7 @@ GenericName[fr]=Ouvrir sur un appareil connecté via KDE Connect
|
|||
GenericName[gl]=Abrir no dispositivo conectado por KDE Connect
|
||||
GenericName[hu]=Megnyitás a csatlakoztatott eszközön a KDE Connecttel
|
||||
GenericName[ia]=Aperi sur dispositivo connectite via KDE Connect
|
||||
GenericName[id]=Buka pada perangkat yang terkoneksi via KDE Connect
|
||||
GenericName[it]=Apri nel dispositivo connesso tramite KDE Connect
|
||||
GenericName[ko]=KDE Connect로 연결된 장치에서 열기
|
||||
GenericName[lt]=Atverti prijungtame įrenginyje per KDE Connect
|
||||
|
@ -50,6 +51,7 @@ Name[fr]=Ouvrir sur un appareil connecté via KDE Connect
|
|||
Name[gl]=Abrir no dispositivo conectado por KDE Connect
|
||||
Name[hu]=Megnyitás a csatlakoztatott eszközön a KDE Connecttel
|
||||
Name[ia]=Aperi sur dispositivo connectite via KDE Connect
|
||||
Name[id]=Buka pada perangkat yang terkoneksi via KDE Connect
|
||||
Name[it]=Apri nel dispositivo connesso tramite KDE Connect
|
||||
Name[ko]=KDE Connect로 연결된 장치에서 열기
|
||||
Name[lt]=Atverti prijungtame įrenginyje per KDE Connect
|
||||
|
@ -65,7 +67,7 @@ Name[sl]=Odpri na povezani napravi prek KDE Connect
|
|||
Name[sv]=Visa på ansluten apparat via KDE-anslut
|
||||
Name[uk]=Відкрити на з'єднаному пристрої за допомогою KDE Connect
|
||||
Name[x-test]=xxOpen on connected device via KDE Connectxx
|
||||
Name[zh_CN]=通过 KDE Connect 在已连接的设备上打开
|
||||
Name[zh_CN]=通过 KDE Connect在已连接的设备上打开
|
||||
Name[zh_TW]=使用 KDE 連線於連線裝置中開啟
|
||||
Comment=Open on a connected device using KDE Connect
|
||||
Comment[az]=Connectd cihazında KDE Connect istifadə edərək açmaq
|
||||
|
@ -83,6 +85,7 @@ Comment[fi]=Avaa kytketty laite KDE Connectilla
|
|||
Comment[fr]=Ouvrir sur un appareil connecté avec KDE Connect
|
||||
Comment[gl]=Abrir nun dispositivo conectado usando KDE Connect
|
||||
Comment[hu]=Megnyitás egy csatlakoztatott eszközön a KDE Connecttel
|
||||
Comment[id]=Buka pada perangkat yang terkoneksi menggunakan KDE Connect
|
||||
Comment[it]=Apri in un dispositivo connesso usando KDE Connect
|
||||
Comment[ko]=KDE Connect로 연결된 장치에서 열기
|
||||
Comment[lt]=Atverti prijungtame įrenginyje naudojant KDE Connect
|
||||
|
|
|
@ -16,6 +16,7 @@
|
|||
"Description[fi]": "Lähetä tiedosto KDE Connectilla toiseen laitteeseen",
|
||||
"Description[fr]": "Envoyer le fichier vers un autre appareil KDE Connect",
|
||||
"Description[gl]": "Enviar o ficheiro a outro dispositivo usando KDE Connect",
|
||||
"Description[id]": "Kirim file ke perangkat lain menggunakan KDE Connect",
|
||||
"Description[it]": "Invia file a un altro dispositivo utilizzando KDE Connect",
|
||||
"Description[ko]": "KDE Connect로 다른 장치에 파일 보내기",
|
||||
"Description[lt]": "Siųsti failą į kitą įrenginį naudojant KDE Connect",
|
||||
|
@ -31,7 +32,7 @@
|
|||
"Description[sv]": "Skicka fil till en annan enhet med användning av KDE:s anslutningstjänst",
|
||||
"Description[uk]": "Надіслати файл на інший пристрій за допомогою KDE Connect",
|
||||
"Description[x-test]": "xxSend file to other device using KDE Connectxx",
|
||||
"Description[zh_CN]": "使用 KDE Connect 将文件发送到其他设备",
|
||||
"Description[zh_CN]": "使用 KDE Connect将文件发送到其他设备",
|
||||
"Description[zh_TW]": "使用 KDE 連線傳送檔案至其他裝置",
|
||||
"Icon": "kdeconnect",
|
||||
"License": "GPL",
|
||||
|
@ -54,6 +55,7 @@
|
|||
"Name[fr]": "Envoyer le fichier via KDE Connect",
|
||||
"Name[gl]": "Enviar o ficheiro por KDE Connect",
|
||||
"Name[ia]": "Invia file via KDE Connect",
|
||||
"Name[id]": "Send file via KDE Connect",
|
||||
"Name[it]": "Invia file tramite KDE Connect",
|
||||
"Name[ko]": "KDE Connect로 파일 보내기",
|
||||
"Name[lt]": "Siųsti failą per KDE Connect",
|
||||
|
@ -69,7 +71,7 @@
|
|||
"Name[sv]": "Skicka fil via KDE:s anslutningstjänst",
|
||||
"Name[uk]": "Надіслати файл за допомогою KDE Connect",
|
||||
"Name[x-test]": "xxSend file via KDE Connectxx",
|
||||
"Name[zh_CN]": "通过 KDE Connect 发送文件",
|
||||
"Name[zh_CN]": "通过 KDE Connect发送文件",
|
||||
"Name[zh_TW]": "使用 KDE 連線傳送檔案",
|
||||
"ServiceTypes": [
|
||||
"KFileItemAction/Plugin"
|
||||
|
|
|
@ -31,6 +31,7 @@
|
|||
int main(int argc, char** argv)
|
||||
{
|
||||
QApplication app(argc, argv);
|
||||
app.setAttribute(Qt::AA_UseHighDpiPixmaps, true);
|
||||
KAboutData about(QStringLiteral("kdeconnect-indicator"),
|
||||
i18n("KDE Connect Indicator"),
|
||||
QStringLiteral(KDECONNECT_VERSION_STRING),
|
||||
|
|
|
@ -56,7 +56,7 @@ Comment[fr]=Afficher les informations de vos périphériques
|
|||
Comment[gl]=Mostrar información sobre os dispositivos
|
||||
Comment[he]=הצג מידע עך ההתקנים שלך
|
||||
Comment[hu]=Információk megjelenítése az eszközeiről
|
||||
Comment[id]=Displaikan informasi tentang perangkatmu
|
||||
Comment[id]=Tampilan informasi tentang perangkatmu
|
||||
Comment[it]=Visualizza le informazioni sui tuoi dispositivi
|
||||
Comment[ko]=장치 정보 표시
|
||||
Comment[lt]=Rodyti informaciją apie jūsų įrenginius
|
||||
|
@ -77,7 +77,7 @@ Comment[sv]=Visa information om enheter
|
|||
Comment[tr]=Aygıtlarınız hakkında bilgi görüntüleyin
|
||||
Comment[uk]=Показати дані щодо ваших пристроїв
|
||||
Comment[x-test]=xxDisplay information about your devicesxx
|
||||
Comment[zh_CN]=显示您设备的信息
|
||||
Comment[zh_CN]=显示设备信息
|
||||
Comment[zh_TW]=顯示關於您的裝置資訊
|
||||
Exec=kdeconnect-indicator
|
||||
Icon=kdeconnect
|
||||
|
|
|
@ -67,7 +67,7 @@ BatteryDbusInterface::BatteryDbusInterface(const QString& id, QObject* parent)
|
|||
BatteryDbusInterface::~BatteryDbusInterface() = default;
|
||||
|
||||
DeviceNotificationsDbusInterface::DeviceNotificationsDbusInterface(const QString& id, QObject* parent)
|
||||
: OrgKdeKdeconnectDeviceNotificationsInterface(DaemonDbusInterface::activatedService(), QStringLiteral("/modules/kdeconnect/devices/") +id, DBusHelper::sessionBus(), parent)
|
||||
: OrgKdeKdeconnectDeviceNotificationsInterface(DaemonDbusInterface::activatedService(), QStringLiteral("/modules/kdeconnect/devices/") + id + QStringLiteral("/notifications"), DBusHelper::sessionBus(), parent)
|
||||
{
|
||||
|
||||
}
|
||||
|
|
|
@ -88,7 +88,7 @@ public:
|
|||
~BatteryDbusInterface() override;
|
||||
|
||||
Q_SIGNALS:
|
||||
void refreshedProxy();
|
||||
void refreshedProxy(bool isCharging, int charge);
|
||||
};
|
||||
|
||||
class KDECONNECTINTERFACES_EXPORT DeviceNotificationsDbusInterface
|
||||
|
|
|
@ -221,6 +221,7 @@ void KdeConnectKcm::resetDeviceView()
|
|||
delete kcmUi->pluginSelector;
|
||||
kcmUi->pluginSelector = new KPluginSelector(this);
|
||||
kcmUi->deviceInfo_layout->addWidget(kcmUi->pluginSelector);
|
||||
kcmUi->verificationKey->setText(i18n("Key: %1", QString::fromUtf8(currentDevice->verificationKey())));
|
||||
|
||||
kcmUi->pluginSelector->setConfigurationArguments(QStringList(currentDevice->id()));
|
||||
|
||||
|
|
109
kcm/kcm.ui
109
kcm/kcm.ui
|
@ -6,7 +6,7 @@
|
|||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>965</width>
|
||||
<width>1198</width>
|
||||
<height>528</height>
|
||||
</rect>
|
||||
</property>
|
||||
|
@ -143,34 +143,85 @@
|
|||
<enum>QLayout::SetMaximumSize</enum>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QLabel" name="name_label">
|
||||
<property name="font">
|
||||
<font>
|
||||
<pointsize>10</pointsize>
|
||||
<weight>75</weight>
|
||||
<bold>true</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Device</string>
|
||||
</property>
|
||||
<property name="textFormat">
|
||||
<enum>Qt::PlainText</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="status_label">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>(status)</string>
|
||||
</property>
|
||||
</widget>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_2">
|
||||
<item>
|
||||
<widget class="QWidget" name="deviceAndStatus" native="true">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Minimum" vsizetype="Preferred">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<layout class="QHBoxLayout" name="deviceAndStatus_layout">
|
||||
<property name="spacing">
|
||||
<number>6</number>
|
||||
</property>
|
||||
<property name="leftMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="topMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="rightMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<property name="bottomMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QLabel" name="name_label">
|
||||
<property name="font">
|
||||
<font>
|
||||
<pointsize>10</pointsize>
|
||||
<weight>75</weight>
|
||||
<bold>true</bold>
|
||||
</font>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Device</string>
|
||||
</property>
|
||||
<property name="textFormat">
|
||||
<enum>Qt::PlainText</enum>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="status_label">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>(status)</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="horizontalSpacer_3">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="verificationKey">
|
||||
<property name="text">
|
||||
<string>🔑 abababab</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="horizontalSpacer">
|
||||
|
|
|
@ -88,7 +88,7 @@ Comment[sv]=Visa underrättelser från apparater med KDE anslut
|
|||
Comment[tr]=KDE Connect kullanılarak cihazınızdan bildirimleri görüntüleyin
|
||||
Comment[uk]=Показ сповіщень з ваших пристроїв за допомогою програми «З’єднання KDE»
|
||||
Comment[x-test]=xxShow notifications from your devices using KDE Connectxx
|
||||
Comment[zh_CN]=通过 KDE Connect 显示来自您的设备的通知
|
||||
Comment[zh_CN]=通过 KDE Connect 显示来自其他设备的通知
|
||||
Comment[zh_TW]=使用 KDE 連線來顯示您的裝置通知
|
||||
|
||||
Icon=kdeconnect
|
||||
|
|
|
@ -123,7 +123,7 @@ bool BatteryPlugin::receivePacket(const NetworkPacket& np)
|
|||
m_charge = np.get<int>(QStringLiteral("currentCharge"), -1);
|
||||
const int thresholdEvent = np.get<int>(QStringLiteral("thresholdEvent"), (int)ThresholdNone);
|
||||
|
||||
Q_EMIT refreshed();
|
||||
Q_EMIT refreshed(m_isCharging, m_charge);
|
||||
|
||||
if (thresholdEvent == ThresholdBatteryLow && !m_isCharging) {
|
||||
Daemon::instance()->sendSimpleNotification(QStringLiteral("batteryLow"), i18nc("device name: low battery", "%1: Low Battery", device()->name()), i18n("Battery at %1%", m_charge), QStringLiteral("battery-040"));
|
||||
|
|
|
@ -31,7 +31,7 @@ public:
|
|||
bool isCharging() const;
|
||||
|
||||
Q_SIGNALS:
|
||||
Q_SCRIPTABLE void refreshed();
|
||||
Q_SCRIPTABLE void refreshed(bool isCharging, int charge);
|
||||
|
||||
private:
|
||||
void slotChargeChanged();
|
||||
|
|
|
@ -54,7 +54,7 @@
|
|||
"Description[ca]": "Mostra la bateria del telèfon al costat de la bateria de l'ordinador",
|
||||
"Description[cs]": "Zobrazit baterii vedle baterie počítače",
|
||||
"Description[da]": "Vis din telefons batteri ved siden af dit computerbatteri",
|
||||
"Description[de]": "Zeigt den Akku Ihres Telefons neben dem Akku des Rechners",
|
||||
"Description[de]": "Den Akku Ihres Telefons neben dem Akku des Rechners anzeigen",
|
||||
"Description[el]": "Εμφάνιση μπαταρίας συσκευής δίπλα στη μπαταρία του υπολογιστή",
|
||||
"Description[en_GB]": "Show your phone battery next to your computer battery",
|
||||
"Description[es]": "Mostrar la batería del teléfono junto a la batería del equipo",
|
||||
|
|
|
@ -18,6 +18,7 @@
|
|||
"Name[fi]": "Aditya Mehra",
|
||||
"Name[fr]": "Aditya Mehra",
|
||||
"Name[ia]": "Aditya Mehra",
|
||||
"Name[id]": "Aditya Mehra",
|
||||
"Name[it]": "Aditya Mehra",
|
||||
"Name[ko]": "Aditya Mehra",
|
||||
"Name[lt]": "Aditya Mehra",
|
||||
|
@ -27,6 +28,7 @@
|
|||
"Name[pt]": "Aditya Mehra",
|
||||
"Name[pt_BR]": "Aditya Mehra",
|
||||
"Name[ro]": "Aditya Mehra",
|
||||
"Name[ru]": "Aditya Mehra",
|
||||
"Name[sk]": "Aditya Mehra",
|
||||
"Name[sl]": "Aditya Mehra",
|
||||
"Name[sv]": "Aditya Mehra",
|
||||
|
@ -49,12 +51,13 @@
|
|||
"Description[eu]": "Bigscreen plugina",
|
||||
"Description[fi]": "Bigscreen-liitännäinen",
|
||||
"Description[fr]": "Module externe « Bigscreen »",
|
||||
"Description[id]": "Plugin Bigscreen",
|
||||
"Description[it]": "Estensione Bigscreen",
|
||||
"Description[ko]": "큰 화면 플러그인",
|
||||
"Description[lt]": "Bigscreen papildinys",
|
||||
"Description[nl]": "Bigscreen plug-in",
|
||||
"Description[nn]": "Bigscreen-tillegg",
|
||||
"Description[pl]": "Wtyczka Bigscreen",
|
||||
"Description[pl]": "Wtyczka Dużego Ekranu",
|
||||
"Description[pt]": "'Plugin' de Ecrã Grande",
|
||||
"Description[pt_BR]": "Plugin de tela grande",
|
||||
"Description[ro]": "Extensia „ecran mare”",
|
||||
|
@ -82,12 +85,13 @@
|
|||
"Name[eu]": "Bigscreen",
|
||||
"Name[fi]": "Bigscreen",
|
||||
"Name[fr]": "Bigscreen",
|
||||
"Name[id]": "Bigscreen",
|
||||
"Name[it]": "Bigscreen",
|
||||
"Name[ko]": "큰 화면",
|
||||
"Name[lt]": "Bigscreen",
|
||||
"Name[nl]": "Bigscreen",
|
||||
"Name[nn]": "Bigscreen",
|
||||
"Name[pl]": "Bigscreen",
|
||||
"Name[pl]": "Duży Ekran",
|
||||
"Name[pt]": "Ecrã grande",
|
||||
"Name[pt_BR]": "Tela grande",
|
||||
"Name[ro]": "Ecran mare",
|
||||
|
|
|
@ -64,7 +64,7 @@
|
|||
"Description[fr]": "Partagez le presse-papiers entre périphériques",
|
||||
"Description[gl]": "Comparta o portapapeis entre os dispositivos",
|
||||
"Description[hu]": "A vágólap megosztása az eszközök között",
|
||||
"Description[id]": "Berbagi papan-klip antara perangkat",
|
||||
"Description[id]": "Berbagi clipboard antara perangkat",
|
||||
"Description[it]": "Condividi gli appunti tra i dispositivi",
|
||||
"Description[ja]": "デバイス間でクリップボードを共有",
|
||||
"Description[ko]": "장치간 클립보드 공유",
|
||||
|
@ -111,7 +111,7 @@
|
|||
"Name[gl]": "Portapapeis",
|
||||
"Name[hu]": "Vágólap",
|
||||
"Name[ia]": "Area de transferentia",
|
||||
"Name[id]": "Papan-klip",
|
||||
"Name[id]": "Clipboard",
|
||||
"Name[it]": "Appunti",
|
||||
"Name[ja]": "クリップボード",
|
||||
"Name[ko]": "클립보드",
|
||||
|
|
|
@ -56,7 +56,7 @@
|
|||
"Description[fi]": "Synkronoi yhteystiedot työpöydän ja yhdistetyn laitteen välillä",
|
||||
"Description[fr]": "Synchroniser les contacts entre l'ordinateur et le périphérique connecté",
|
||||
"Description[gl]": "Sincronizar contactos entre o escritorio e o dispositivo conectado",
|
||||
"Description[id]": "Sinkronkan Kontak Antara Desktop dengan Perangkat Terkoneksisi",
|
||||
"Description[id]": "Sinkronkan Kontak Antara Desktop dengan Perangkat yang Terkoneksi",
|
||||
"Description[it]": "Sincronizza i contatti tra il desktop e il dispositivo connesso",
|
||||
"Description[ko]": "데스크톱과 연결된 장치간 연락처 동기화",
|
||||
"Description[lt]": "Sinchronizuoti adresatus tarp darbalaukio ir prijungto įrenginio",
|
||||
|
|
|
@ -106,7 +106,7 @@
|
|||
"Description[fi]": "Löydä hukkaamasi puhelin laittamalla se soittamaan hälytysääntä",
|
||||
"Description[fr]": "Trouver votre téléphone perdu en déclenchant une alarme",
|
||||
"Description[gl]": "Reproducir un son de alarma nun teléfono móbil perdido para atopalo",
|
||||
"Description[id]": "Temukan teleponmu yang ketlingsut dengan membuatnya memutar suara alarm",
|
||||
"Description[id]": "Temukan teleponmu yang ketlingsut dengan membuatnya membunyikan suara alarm",
|
||||
"Description[it]": "Trova il tuo telefono smarrito facendogli suonare un allarme sonoro",
|
||||
"Description[ja]": "アラーム音を鳴らしてあなたがなくした端末を探します",
|
||||
"Description[ko]": "알람 소리를 울려서 잃어버린 휴대폰 찾기",
|
||||
|
@ -115,7 +115,7 @@
|
|||
"Description[nn]": "Finn telefonen ved å la han spela eit lydsignal",
|
||||
"Description[pl]": "Znajdź twój zgubiony telefon odgrywając na nim dźwięk",
|
||||
"Description[pt]": "Descobrir o seu telefone perdido, fazendo-o tocar um som de alarme",
|
||||
"Description[pt_BR]": "Encontre seu telefone fazendo-o reproduzir um som",
|
||||
"Description[pt_BR]": "Encontre seu celular fazendo-o reproduzir um som",
|
||||
"Description[ro]": "Găsiți telefonul pierdut făcându-l să sune o alarmă",
|
||||
"Description[ru]": "Поиск утерянного телефона при помощи звукового сигнала",
|
||||
"Description[sk]": "Nájdenie vášho strateného telefónu prehraním výstražného zvuku",
|
||||
|
@ -159,7 +159,7 @@
|
|||
"Name[nn]": "Ring telefonen",
|
||||
"Name[pl]": "Dzwonienie telefonem",
|
||||
"Name[pt]": "Tocar o meu telefone",
|
||||
"Name[pt_BR]": "Tocar meu telefone",
|
||||
"Name[pt_BR]": "Tocar meu celular",
|
||||
"Name[ro]": "Sună-mi telefonul",
|
||||
"Name[ru]": "Поиск телефона",
|
||||
"Name[sk]": "Prezvoniť môj telefón",
|
||||
|
|
|
@ -46,7 +46,7 @@
|
|||
"Description[ca]": "Troba aquest dispositiu fent que reprodueixi un so d'alarma",
|
||||
"Description[cs]": "Najděte toto zařízení tím, že jej necháte přehrát zvuk upomínky",
|
||||
"Description[da]": "Find denne enhed ved at få den til at afspille en alarmlyd",
|
||||
"Description[de]": "Finden Sie Ihr dieses Gerät, indem Sie mit ihm eine Warnton abspielen",
|
||||
"Description[de]": "Finden Sie dieses Gerät, indem Sie mit ihm eine Warnton abspielen",
|
||||
"Description[el]": "Βρείτε αυτή τη συσκευή με ηχητική ειδοποίηση",
|
||||
"Description[en_GB]": "Find this device by making it play an alarm sound",
|
||||
"Description[es]": "Encuentre este dispositivo haciéndole reproducir un sonido de alarma",
|
||||
|
@ -55,7 +55,7 @@
|
|||
"Description[fi]": "Etsi tämä laite soitattamalla sillä hälytysääntä",
|
||||
"Description[fr]": "Trouver ce périphérique en déclenchant une alarme",
|
||||
"Description[gl]": "Reproducir un son de alarma neste dispositivo para atopalo",
|
||||
"Description[id]": "Temukan perangkat ini dengan membuatnya memutar suara alarm",
|
||||
"Description[id]": "Temukan perangkat ini dengan membuatnya membunyikan suara alarm",
|
||||
"Description[it]": "Trova questo dispositivo facendogli suonare un allarme sonoro",
|
||||
"Description[ja]": "アラーム音を鳴らしてあなたのデバイスを探します",
|
||||
"Description[ko]": "알람 소리를 울려서 이 장치 찾기",
|
||||
|
|
|
@ -7,8 +7,8 @@ X-KDE-ParentComponents=kdeconnect_findthisdevice
|
|||
|
||||
Name=Find This Device plugin settings
|
||||
Name[az]=Bu cihaz qoşması ayarlarını tapmaq
|
||||
Name[ca]=Cerca els ajustaments d'aquest connector de dispositiu
|
||||
Name[ca@valencia]=Cerca els ajustaments d'aquest connector de dispositiu
|
||||
Name[ca]=Configuració del connector Cerca aquest dispositiu
|
||||
Name[ca@valencia]=Configuració del connector Cerca aquest dispositiu
|
||||
Name[cs]=Nastavení modulu Najít toto zařízení
|
||||
Name[da]=Indstilling af find denne enhed-plugin
|
||||
Name[de]=Modul-Einstellungen diese Geräts suchen
|
||||
|
|
|
@ -265,7 +265,7 @@ Comment[sv]=Någon ringer till dig
|
|||
Comment[tr]=Biri sizi arıyor
|
||||
Comment[uk]=Хтось телефонує вам
|
||||
Comment[x-test]=xxSomeone is calling youxx
|
||||
Comment[zh_CN]=某人正在呼叫您
|
||||
Comment[zh_CN]=有人正在呼叫您
|
||||
Comment[zh_TW]=有人打電話給您
|
||||
Action=Popup
|
||||
|
||||
|
@ -312,7 +312,7 @@ Name[sv]=Missat samtal
|
|||
Name[tr]=Cevapsız Çağrı
|
||||
Name[uk]=Пропущений дзвінок
|
||||
Name[x-test]=xxMissed Callxx
|
||||
Name[zh_CN]=错过的呼叫
|
||||
Name[zh_CN]=未接来电
|
||||
Name[zh_TW]=未接來電
|
||||
Comment=You have a missed call
|
||||
Comment[ar]=لقد فاتتك مكالمة
|
||||
|
@ -473,7 +473,7 @@ Name[gl]=Recibiuse un ping
|
|||
Name[he]=התקבל פינג
|
||||
Name[hu]=Ping érkezett
|
||||
Name[ia]=Ping Recipite
|
||||
Name[id]=Diterima Ping
|
||||
Name[id]=Menerima Ping
|
||||
Name[it]=Ping ricevuto
|
||||
Name[ko]=핑 수신
|
||||
Name[lt]=Gautas ryšio patikrinimas
|
||||
|
@ -518,7 +518,7 @@ Comment[gl]=Recibiuse un “ping”.
|
|||
Comment[he]=התקבל פינג
|
||||
Comment[hu]=Ping érkezett
|
||||
Comment[ia]=Ping recipite
|
||||
Comment[id]=Diterima ping
|
||||
Comment[id]=Menerima ping
|
||||
Comment[it]=Hai ricevuto un ping
|
||||
Comment[ko]=핑 수신
|
||||
Comment[lt]=Gautas ryšio patikrinimas
|
||||
|
@ -610,7 +610,7 @@ Comment[gl]=Recibiuse unha notificación.
|
|||
Comment[he]=התראה התקבלה
|
||||
Comment[hu]=Értesítés érkezett
|
||||
Comment[ia]=Notification recipite
|
||||
Comment[id]=Diterima notifikasi
|
||||
Comment[id]=Menerima notifikasi
|
||||
Comment[it]=Hai ricevuto una notifica
|
||||
Comment[ko]=수신된 알림
|
||||
Comment[lt]=Gautas pranešimas
|
||||
|
|
|
@ -73,7 +73,7 @@
|
|||
"Description[nn]": "Bruk telefonen som styreplate og tastatur",
|
||||
"Description[pl]": "Używaj swojego telefonu jako gładzika i klawiatury",
|
||||
"Description[pt]": "Use o seu telefone como um rato e teclado por toque",
|
||||
"Description[pt_BR]": "Use seu telefone como um touchpad e teclado",
|
||||
"Description[pt_BR]": "Use seu celular como um touchpad e teclado",
|
||||
"Description[ro]": "Folosiți telefonul ca zonă tactilă și tastatură",
|
||||
"Description[ru]": "Использование телефона в качестве сенсорной панели и клавиатуры",
|
||||
"Description[sk]": "Použitie vášho telefónu ako touchpad a klávesnica",
|
||||
|
|
|
@ -62,7 +62,7 @@
|
|||
"Description[fi]": "Ohjaa MPRIS-palveluita",
|
||||
"Description[fr]": "Contrôlez les services MPRIS",
|
||||
"Description[gl]": "Controle servizos de MPRIS",
|
||||
"Description[id]": "Layanan Kendali MPRIS",
|
||||
"Description[id]": "Kontrol layanan MPRIS",
|
||||
"Description[it]": "Servizi di controllo MPRIS",
|
||||
"Description[ko]": "MPRIS 서비스 제어",
|
||||
"Description[lt]": "Valdyti MPRIS paslaugas",
|
||||
|
|
|
@ -88,15 +88,16 @@ void Notification::createKNotification(const NetworkPacket& np)
|
|||
}
|
||||
|
||||
QString escapedTitle = m_title.toHtmlEscaped();
|
||||
// notification title text does not have markup, but in some cases below it is used in body text so we escape it
|
||||
QString escapedText = m_text.toHtmlEscaped();
|
||||
QString escapedTicker = m_ticker.toHtmlEscaped();
|
||||
|
||||
if (NotificationServerInfo::instance().supportedHints().testFlag(NotificationServerInfo::X_KDE_DISPLAY_APPNAME)) {
|
||||
m_notification->setTitle(escapedTitle);
|
||||
m_notification->setTitle(m_title);
|
||||
m_notification->setText(escapedText);
|
||||
m_notification->setHint(QStringLiteral("x-kde-display-appname"), m_appName.toHtmlEscaped());
|
||||
} else {
|
||||
m_notification->setTitle(m_appName.toHtmlEscaped());
|
||||
m_notification->setTitle(m_appName);
|
||||
|
||||
if (m_title.isEmpty() && m_text.isEmpty()) {
|
||||
m_notification->setText(escapedTicker);
|
||||
|
|
|
@ -10,8 +10,8 @@ Name[ar]=إعدادات ملحقة إلباث الموسيقى
|
|||
Name[az]=Musiqi qoşması ayarlarına fasilə
|
||||
Name[bg]=Настройки на приставката за поставяне на пауза
|
||||
Name[bs]=Zaustavi Muziku postavke dodatka
|
||||
Name[ca]=Ajustaments del connector Pausa a la música
|
||||
Name[ca@valencia]=Ajustaments del connector Pausa a la música
|
||||
Name[ca]=Configuració del connector Pausa a la música
|
||||
Name[ca@valencia]=Configuració del connector Pausa a la música
|
||||
Name[cs]=Nastavení modulu Pozastavení hudby
|
||||
Name[da]=Indstilling af plugin til at sætte musik på pause
|
||||
Name[de]=Modul-Einstellungen für das Anhalten der Musikwiedergabe
|
||||
|
@ -25,7 +25,7 @@ Name[fr]=Paramètres du module de mise en pause
|
|||
Name[gl]=Configuración do complemento para deter a música
|
||||
Name[he]=הגדרות התוספת השהיית המוזיקה
|
||||
Name[hu]=Zene szüneteltetése bővítmény beállításai
|
||||
Name[id]=Pengesetan plugin Pause Music
|
||||
Name[id]=Pengaturan plugin Pause Music
|
||||
Name[it]=Impostazioni dell'estensione Sospendi musica
|
||||
Name[ko]=음악 일시 정지 플러그인 설정
|
||||
Name[lt]=Pristabdyti muziką papildinio nuostatos
|
||||
|
|
|
@ -20,6 +20,7 @@
|
|||
"Name[fr]": "Nicolas Fella",
|
||||
"Name[gl]": "Nicolas Fella",
|
||||
"Name[ia]": "Nicolas Fella",
|
||||
"Name[id]": "Nicolas Fella",
|
||||
"Name[it]": "Nicolas Fella",
|
||||
"Name[ko]": "Nicolas Fella",
|
||||
"Name[lt]": "Nicolas Fella",
|
||||
|
@ -55,6 +56,7 @@
|
|||
"Description[fi]": "Ota yhdistetyllä laitteella valokuva",
|
||||
"Description[fr]": "Utiliser un périphérique connecté pour prendre une photo",
|
||||
"Description[gl]": "Usar un dispositivo conectado para sacar unha foto",
|
||||
"Description[id]": "Gunakan perangkat yang terkoneksi untuk mengambil foto",
|
||||
"Description[it]": "Usa un dispositivo connesso per scattare una foto",
|
||||
"Description[ko]": "연결된 장치로 사진 찍기",
|
||||
"Description[lt]": "Naudoti prijungtą įrenginį, siekiant padaryti nuotrauką",
|
||||
|
@ -93,6 +95,7 @@
|
|||
"Name[fr]": "Photo",
|
||||
"Name[gl]": "Foto",
|
||||
"Name[ia]": "Photo",
|
||||
"Name[id]": "Photo",
|
||||
"Name[it]": "Foto",
|
||||
"Name[ko]": "사진",
|
||||
"Name[lt]": "Nuotrauka",
|
||||
|
|
|
@ -61,6 +61,7 @@
|
|||
"Description[fi]": "Osoita mobiililaitteellasi asioita näytöllä",
|
||||
"Description[fr]": "Utilisez votre appareil mobile pour afficher des choses à l'écran",
|
||||
"Description[gl]": "Use o seu dispositivo móbil para apuntar a cousas na pantalla",
|
||||
"Description[id]": "Gunakan perangkat teleponmu untuk menunjuk berbagai hal di layar",
|
||||
"Description[it]": "Usa il tuo dispositivo mobile per indicare gli oggetti sullo schermo",
|
||||
"Description[ko]": "모바일 장치로 화면의 항목 가리키기",
|
||||
"Description[lt]": "Naudoti savo mobilųjį įrenginį, siekiant nurodyti į dalykus ekrane",
|
||||
|
@ -97,6 +98,7 @@
|
|||
"Name[fi]": "Esitys",
|
||||
"Name[fr]": "Présentateur",
|
||||
"Name[gl]": "Presentador",
|
||||
"Name[id]": "Presenter",
|
||||
"Name[it]": "Presentatore",
|
||||
"Name[ko]": "프레젠터",
|
||||
"Name[lt]": "Pristatytojas",
|
||||
|
|
|
@ -63,7 +63,7 @@
|
|||
"Description[fi]": "Ohjaa järjestelmiä etänä",
|
||||
"Description[fr]": "Contrôlez les systèmes distants",
|
||||
"Description[gl]": "Controla sistemas remotos",
|
||||
"Description[id]": "Sistem Kendali Jarak Jauh",
|
||||
"Description[id]": "Sistem Remot Kontrol",
|
||||
"Description[it]": "Controlla i sistemi remoti",
|
||||
"Description[ko]": "원격 시스템 제어",
|
||||
"Description[lt]": "Valdyti nuotolines sistemas",
|
||||
|
|
|
@ -20,6 +20,7 @@
|
|||
"Name[fr]": "Nicolas Fella",
|
||||
"Name[gl]": "Nicolas Fella",
|
||||
"Name[ia]": "Nicolas Fella",
|
||||
"Name[id]": "Nicolas Fella",
|
||||
"Name[it]": "Nicolas Fella",
|
||||
"Name[ko]": "Nicolas Fella",
|
||||
"Name[lt]": "Nicolas Fella",
|
||||
|
@ -55,6 +56,7 @@
|
|||
"Description[fi]": "Säädä kytketyn laitteen äänenvoimakkuutta",
|
||||
"Description[fr]": "Contrôler le volume du périphérique connecté",
|
||||
"Description[gl]": "Controlar o volume do dispositivo conectado",
|
||||
"Description[id]": "Kontrol volume dari perangkat yang terkoneksi",
|
||||
"Description[it]": "Controlla il volume del dispositivo connesso",
|
||||
"Description[ko]": "연결된 장치 음량 제어",
|
||||
"Description[lt]": "Valdyti prijungto įrenginio garsumą",
|
||||
|
@ -91,6 +93,7 @@
|
|||
"Name[fi]": "Etäjärjestelmän äänenvoimakkuus",
|
||||
"Name[fr]": "Volume du système distant",
|
||||
"Name[gl]": "Volume de sistema remoto",
|
||||
"Name[id]": "Remote system volume",
|
||||
"Name[it]": "Volume del sistema remoto",
|
||||
"Name[ja]": "リモートシステムの音量",
|
||||
"Name[ko]": "원격 시스템 음량",
|
||||
|
|
|
@ -9,8 +9,8 @@ Name=Run Command plugin settings
|
|||
Name[ar]=إعدادات ملحقة تشغيل الأوامر
|
||||
Name[ast]=Axustes del comandu Execución de comandos
|
||||
Name[az]=Əmr qoşması ayarlarını başlatmaq
|
||||
Name[ca]=Ajustaments del connector Executa ordres
|
||||
Name[ca@valencia]=Ajustaments del connector Executa ordres
|
||||
Name[ca]=Configuració del connector Executa ordres
|
||||
Name[ca@valencia]=Configuració del connector Executa ordres
|
||||
Name[cs]=Nastavení modulu Spustit příkaz
|
||||
Name[da]=Indstilling af kør kommando-plugin
|
||||
Name[de]=Modul-Einstellungen für Befehlsausführung
|
||||
|
@ -23,7 +23,7 @@ Name[fi]=Suorita komento -liitännäisen asetukset
|
|||
Name[fr]=Configuration du module externe d'exécution de commande
|
||||
Name[gl]=Configuración do complemento de orde de executar
|
||||
Name[he]=הגדרת התוסף הרץ פקודה
|
||||
Name[id]=Pengesetan plugin Run Command
|
||||
Name[id]=Pengaturan plugin Run Command
|
||||
Name[it]=Impostazioni dell'estensione Esegui comando
|
||||
Name[ko]=명령 실행 플러그인 설정
|
||||
Name[lt]=Vykdyti komandą papildinio nuostatos
|
||||
|
|
|
@ -8,8 +8,8 @@ X-KDE-ParentComponents=kdeconnect_sendnotifications
|
|||
Name=Notification synchronization plugin settings
|
||||
Name[ar]=إعدادات ملحقة مزامنة الإخطارات
|
||||
Name[az]=Bildiriş eyniləşdirmə qoşması ayarları
|
||||
Name[ca]=Ajustament del connector Sincronitza les notificacions
|
||||
Name[ca@valencia]=Ajustament del connector Sincronitza les notificacions
|
||||
Name[ca]=Configuració del connector Sincronitza les notificacions
|
||||
Name[ca@valencia]=Configuració del connector Sincronitza les notificacions
|
||||
Name[cs]=Nastavení modulu synchronizace upozornění
|
||||
Name[da]=Indstilling af plugin til bekendtgørelsessynkronisering
|
||||
Name[de]=Einstellungen für Benachrichtigungsabgleich-Modul
|
||||
|
@ -22,7 +22,7 @@ Name[fi]=Ilmoitusten synkronointiliitännäisen asetukset
|
|||
Name[fr]=Configuration du module externe de synchronisation des notifications
|
||||
Name[gl]=Configuración do complemento de sincronización de notificacións
|
||||
Name[he]=הגדרת התוסף סנכרון התראות
|
||||
Name[id]=Pengesetan plugin sinkronisasi notifikasi
|
||||
Name[id]=Pengaturan plugin sinkronisasi notifikasi
|
||||
Name[it]=Impostazioni dell'estensione di sincronizzazione delle notifiche
|
||||
Name[ko]=알림 동기화 플러그인 설정
|
||||
Name[lt]=Pranešimų sinchronizavimo papildinio nuostatos
|
||||
|
|
|
@ -53,7 +53,7 @@
|
|||
"Description[ca]": "Navega pel sistema de fitxers del dispositiu remot emprant SFTP",
|
||||
"Description[cs]": "Prohlížejte souborový systém zařízení pomocí SFTP",
|
||||
"Description[da]": "Gennemse den eksterne enheds filsystem med SFTP",
|
||||
"Description[de]": "Browsen im Dateisystem des entfernten Geräts mit SFTP",
|
||||
"Description[de]": "Das Dateisystem des entfernten Geräts über SFTP durchsuchen",
|
||||
"Description[el]": "Περιήγηση του απομακρυσμένου συστήματος αρχείων με χρήση SFTP",
|
||||
"Description[en_GB]": "Browse the remote device filesystem using SFTP",
|
||||
"Description[es]": "Navegar por el sistema de archivos del dispositivo remoto usando SFTP",
|
||||
|
|
|
@ -110,6 +110,7 @@
|
|||
"Name[fr]": "Partager et recevoir",
|
||||
"Name[gl]": "Compartir e recibir",
|
||||
"Name[hu]": "Megosztás és fogadás",
|
||||
"Name[id]": "Share and receive",
|
||||
"Name[it]": "Condividi e ricevi",
|
||||
"Name[ja]": "共有と受信",
|
||||
"Name[ko]": "공유하고 받기",
|
||||
|
|
|
@ -10,8 +10,8 @@ Name[ar]=إعدادات ملحقة المشاركة
|
|||
Name[az]=Qoşma ayarlarını paylaşmaq
|
||||
Name[bg]=Настройки на приставката за споделяне
|
||||
Name[bs]=Podijeli postavke dodatka
|
||||
Name[ca]=Ajustaments del connector Compartició
|
||||
Name[ca@valencia]=Ajustaments del connector Compartició
|
||||
Name[ca]=Configuració del connector Compartició
|
||||
Name[ca@valencia]=Configuració del connector Compartició
|
||||
Name[cs]=Nastavení modulu sdílení
|
||||
Name[da]=Indstilling af deling-plugin
|
||||
Name[de]=Modul-Einstellungen für Veröffentlichung
|
||||
|
@ -25,7 +25,7 @@ Name[fr]=Paramètres du module de partage
|
|||
Name[gl]=Configuración do complemento de compartir
|
||||
Name[he]=שתף את הגדרות התוספים
|
||||
Name[hu]=Megosztás bővítmény beállításai
|
||||
Name[id]=Pengesetan plugin Share
|
||||
Name[id]=Pengaturan plugin Share
|
||||
Name[it]=Impostazioni dell'estensione Condivisione
|
||||
Name[ko]=공유 플러그인 설정
|
||||
Name[lt]=Bendrinimo papildinio nuostatos
|
||||
|
|
|
@ -96,6 +96,7 @@
|
|||
"Name[fr]": "SMS",
|
||||
"Name[gl]": "SMS",
|
||||
"Name[ia]": "SMS",
|
||||
"Name[id]": "SMS",
|
||||
"Name[it]": "SMS",
|
||||
"Name[ja]": "SMS",
|
||||
"Name[ko]": "SMS",
|
||||
|
|
|
@ -21,6 +21,7 @@
|
|||
"Name[fr]": "Nicolas Fella",
|
||||
"Name[gl]": "Nicolas Fella",
|
||||
"Name[ia]": "Nicolas Fella",
|
||||
"Name[id]": "Nicolas Fella",
|
||||
"Name[it]": "Nicolas Fella",
|
||||
"Name[ko]": "Nicolas Fella",
|
||||
"Name[lt]": "Nicolas Fella",
|
||||
|
@ -56,6 +57,7 @@
|
|||
"Description[fi]": "Säädä järjestelmän äänenvoimakkuutta puhelimestasi",
|
||||
"Description[fr]": "Contrôler le volume du système depuis votre téléphone",
|
||||
"Description[gl]": "Controlar o volume do sistema desde o teléfono",
|
||||
"Description[id]": "Kontrol volume sistem dari teleponmu",
|
||||
"Description[it]": "Controlla il volume di sistema dal tuo telefono",
|
||||
"Description[ko]": "휴대폰에서 시스템 음량 제어",
|
||||
"Description[lt]": "Valdyti sistemos garsumą iš telefono",
|
||||
|
@ -63,7 +65,7 @@
|
|||
"Description[nn]": "Juster systemlydstyrken frå telefonen",
|
||||
"Description[pl]": "Steruj głośnością systemu z telefonu",
|
||||
"Description[pt]": "Controle o volume do sistema a partir do seu telemóvel",
|
||||
"Description[pt_BR]": "Controle o volume do sistema com o seu telefone",
|
||||
"Description[pt_BR]": "Controle o volume do sistema com o seu celular",
|
||||
"Description[ro]": "Controlează volumul sistemului de pe telefon",
|
||||
"Description[ru]": "Управление громкостью компьютера с подключённого устройства",
|
||||
"Description[sk]": "Ovládanie systémovej hlasitosti z vášho telefónu",
|
||||
|
@ -93,6 +95,7 @@
|
|||
"Name[fi]": "Järjestelmän äänenvoimakkuus",
|
||||
"Name[fr]": "Volume du système",
|
||||
"Name[gl]": "Volume do sistema",
|
||||
"Name[id]": "System volume",
|
||||
"Name[it]": "Volume di sistema",
|
||||
"Name[ko]": "시스템 음량",
|
||||
"Name[lt]": "Sistemos garsumas",
|
||||
|
|
|
@ -61,6 +61,7 @@
|
|||
"Description[fi]": "Näytä saapuvista puheluista ilmoitus",
|
||||
"Description[fr]": "Affiche des notifications pour les appels entrants",
|
||||
"Description[gl]": "Mostrar notificacións de chamadas entrantes",
|
||||
"Description[id]": "Tampilkan notifikasi untuk panggilan yang masuk",
|
||||
"Description[it]": "Mostra le notifiche per le chiamate in ingresso",
|
||||
"Description[ja]": "着信通知を表示",
|
||||
"Description[ko]": "수신 전화 알림 표시",
|
||||
|
|
|
@ -15,6 +15,7 @@ Name[fi]=Etsi laite
|
|||
Name[fr]= Trouver mon appareil
|
||||
Name[gl]=Atopar o meu dispositivo
|
||||
Name[ia]=Trova mi dispositivo
|
||||
Name[id]=Temukan perangkatku
|
||||
Name[it]= Trova il mio dispositivo
|
||||
Name[ko]= 내 장치 찾기
|
||||
Name[lt]= Rasti savo įrenginį
|
||||
|
@ -47,6 +48,7 @@ Comment[eu]=Jo konektatutako gailuen dei-doinua
|
|||
Comment[fi]=Soita yhdistettyihin laitteisiin
|
||||
Comment[fr]=Faire sonner les appareils connectés
|
||||
Comment[gl]=Facer soar os dispositivos conectados
|
||||
Comment[id]=Deringkan perangkat yang terkoneksi
|
||||
Comment[it]=Fa squillare i dispositivi connessi
|
||||
Comment[ko]=연결된 장치 벨소리 울리기
|
||||
Comment[lt]=Skambinti prijungtiems įrenginiams
|
||||
|
|
|
@ -15,6 +15,7 @@ Name[fi]=Suorita komento
|
|||
Name[fr]=Exécuter une commande
|
||||
Name[gl]=Executar unha orde
|
||||
Name[ia]=Executa Commando
|
||||
Name[id]=Jalankan perintah
|
||||
Name[it]=Esegui comando
|
||||
Name[ko]=명령 실행
|
||||
Name[lt]=Vykdyti komandą
|
||||
|
@ -47,6 +48,7 @@ Comment[eu]=Exekutatu komandoa konektatutako gailuetan
|
|||
Comment[fi]=Suorita komentoja yhdistetyillä laitteilla
|
||||
Comment[fr]=Exécuter des commandes sur les périphériques connectés
|
||||
Comment[gl]=Executar ordes nos dispositivos conectados
|
||||
Comment[id]=Jalankan perintah saat perangkat terkoneksi
|
||||
Comment[it]=Esegue dei comandi sui dispositivi connessi
|
||||
Comment[ko]=연결된 장치에서 명령 실행
|
||||
Comment[lt]=Vykdyti komandas prijungtuose įrenginiuose
|
||||
|
|
|
@ -44,7 +44,7 @@ Name[sv]=Inställning av KDE-anslut
|
|||
Name[tr]=KDE Connect Ayarları
|
||||
Name[uk]=Параметри KDE Connect
|
||||
Name[x-test]=xxKDE Connect Settingsxx
|
||||
Name[zh_CN]=KDE Connect设置
|
||||
Name[zh_CN]=KDE Connect 设置
|
||||
Name[zh_TW]=KDE 連線設定
|
||||
GenericName=Connect and sync your devices
|
||||
GenericName[ar]=اتّصل وزامن أجهزتك
|
||||
|
|
|
@ -133,6 +133,7 @@ ColumnLayout {
|
|||
|
||||
Controls.ToolButton {
|
||||
id: attachFilesButton
|
||||
visible: false // Disabling this element by hiding it until we have Android support
|
||||
enabled: true
|
||||
Layout.preferredWidth: Kirigami.Units.gridUnit * 2
|
||||
Layout.preferredHeight: Kirigami.Units.gridUnit * 2
|
||||
|
|
|
@ -15,6 +15,7 @@ Name[eu]=KDE Connect-en URL maneiatzailea
|
|||
Name[fi]=KDE Connectin verkko-osoitekäsittelijä
|
||||
Name[fr]=Gestionnaire d'URL de KDE Connect
|
||||
Name[ia]=Gerente de URL de KDE Connect
|
||||
Name[id]=Penanganan URL KDE Connect
|
||||
Name[it]=Gestore URL di KDE Connect
|
||||
Name[ko]=KDE Connect URL 처리기
|
||||
Name[lt]=KDE Connect URL doroklė
|
||||
|
@ -24,6 +25,7 @@ Name[pl]=Obsługa adresów URL dla KDE Connect
|
|||
Name[pt]=Tratamento de URL's do KDE Connect
|
||||
Name[pt_BR]=Tratamento de URLs do KDE Connect
|
||||
Name[ro]=Manipulant de URL KDE Connect
|
||||
Name[sk]=Obslužný program URL KDE Connect
|
||||
Name[sl]=Upravitelj naslovov KDE Connect
|
||||
Name[sv]=KDE-anslut webbadresshanterare
|
||||
Name[uk]=Обробник адрес KDE Connect
|
||||
|
|
Loading…
Reference in a new issue