From 71c56edfd8589ac074c988407e5fda3db80d1a11 Mon Sep 17 00:00:00 2001 From: Martchus Date: Tue, 29 Nov 2022 23:06:15 +0100 Subject: [PATCH] Allow showing Syncthing Tray as normal application/window * Remove experimental pinning feature again and instead allow using a normal window * Pinning made it inconvenient to close the (frameless) window again * Pinning required hiding/showing the window which didn't look very nice (and setting flags directly via `QWindow` didn't work as well) * As normal application/window positioning issues on Wayland are less problematic (and those aren't going to be fixed any time soon, if at all) --- README.md | 5 + tray/gui/traymenu.cpp | 16 +- tray/gui/traymenu.h | 12 +- tray/gui/traywidget.cpp | 19 +- tray/gui/traywidget.h | 1 - tray/gui/traywidget.ui | 24 --- tray/translations/syncthingtray_cs_CZ.ts | 89 +++++---- tray/translations/syncthingtray_de_DE.ts | 87 +++++---- tray/translations/syncthingtray_en_US.ts | 89 +++++---- tray/translations/syncthingtray_zh_CN.ts | 89 +++++---- widgets/settings/appearanceoptionpage.ui | 58 ++++-- widgets/settings/settings.cpp | 4 +- widgets/settings/settings.h | 2 +- widgets/settings/settingsdialog.cpp | 2 + .../translations/syncthingwidgets_cs_CZ.ts | 171 ++++++++++-------- .../translations/syncthingwidgets_de_DE.ts | 171 ++++++++++-------- .../translations/syncthingwidgets_en_US.ts | 171 ++++++++++-------- .../translations/syncthingwidgets_zh_CN.ts | 171 ++++++++++-------- 18 files changed, 614 insertions(+), 567 deletions(-) diff --git a/README.md b/README.md index 19b572f..6f07547 100644 --- a/README.md +++ b/README.md @@ -519,6 +519,11 @@ configuration like this: for_window [title="^Syncthing Tray( \(.*\))?$"] floating enable, border none, resize set 450 400, move position 916 0 ``` +Alternatively, one can also configure Syncthing Tray to use a normal window in +the appearance settings. That doesn't fix the positioning issue but then it +looks just like a normal application so not being positioned in the tray area is +less problematic. + ### Workaround broken High-DPI scaling of Plasmoid under X11 Setting the environment variable `PLASMA_USE_QT_SCALING=1` should fix the [issue](https://bugs.kde.org/show_bug.cgi?id=356446) on recent Plasma versions but diff --git a/tray/gui/traymenu.cpp b/tray/gui/traymenu.cpp index 0a2a30a..25b65cf 100644 --- a/tray/gui/traymenu.cpp +++ b/tray/gui/traymenu.cpp @@ -8,6 +8,7 @@ #include #include +#include using namespace QtUtilities; @@ -16,7 +17,7 @@ namespace QtGui { TrayMenu::TrayMenu(TrayIcon *trayIcon, QWidget *parent) : QMenu(parent) , m_trayIcon(trayIcon) - , m_pinned(false) + , m_windowed(false) { setObjectName(QStringLiteral("QtGui::TrayMenu")); auto *const menuLayout = new QHBoxLayout; @@ -26,6 +27,7 @@ TrayMenu::TrayMenu(TrayIcon *trayIcon, QWidget *parent) setLayout(menuLayout); setPlatformMenu(nullptr); setWindowFlags(Qt::FramelessWindowHint | Qt::Popup); + setWindowIcon(m_trayWidget->windowIcon()); } QSize TrayMenu::sizeHint() const @@ -60,23 +62,23 @@ void TrayMenu::showUsingPositioningSettings() activateWindow(); } -void TrayMenu::setPinned(bool pinned) +void TrayMenu::setWindowed(bool windowed) { - setWindowFlags(Qt::FramelessWindowHint | ((m_pinned = pinned) ? Qt::Window : Qt::Popup)); - show(); - activateWindow(); + if (m_windowed != windowed) { + setWindowFlags((m_windowed = windowed) ? Qt::Window : Qt::FramelessWindowHint | Qt::Popup); + } } void TrayMenu::mousePressEvent(QMouseEvent *event) { - if (!m_pinned) { + if (!m_windowed) { QMenu::mousePressEvent(event); } } void TrayMenu::mouseReleaseEvent(QMouseEvent *event) { - if (!m_pinned) { + if (!m_windowed) { QMenu::mouseReleaseEvent(event); } } diff --git a/tray/gui/traymenu.h b/tray/gui/traymenu.h index b5bdddc..a7e77ff 100644 --- a/tray/gui/traymenu.h +++ b/tray/gui/traymenu.h @@ -10,7 +10,7 @@ class TrayWidget; class TrayMenu : public QMenu { Q_OBJECT - Q_PROPERTY(bool pinned READ isPinned WRITE setPinned) + Q_PROPERTY(bool windowed READ isWindowed WRITE setWindowed) public: explicit TrayMenu(TrayIcon *trayIcon = nullptr, QWidget *parent = nullptr); @@ -19,11 +19,11 @@ public: TrayWidget &widget(); const TrayWidget &widget() const; TrayIcon *icon(); - bool isPinned() const; + bool isWindowed() const; public Q_SLOTS: void showUsingPositioningSettings(); - void setPinned(bool pinned); + void setWindowed(bool windowed); protected: void mouseReleaseEvent(QMouseEvent *) override; @@ -32,7 +32,7 @@ protected: private: TrayWidget *m_trayWidget; TrayIcon *m_trayIcon; - bool m_pinned = false; + bool m_windowed = false; }; inline TrayWidget &TrayMenu::widget() @@ -50,9 +50,9 @@ inline TrayIcon *TrayMenu::icon() return m_trayIcon; } -inline bool TrayMenu::isPinned() const +inline bool TrayMenu::isWindowed() const { - return m_pinned; + return m_windowed; } } // namespace QtGui diff --git a/tray/gui/traywidget.cpp b/tray/gui/traywidget.cpp index 1faac08..c729d4e 100644 --- a/tray/gui/traywidget.cpp +++ b/tray/gui/traywidget.cpp @@ -220,11 +220,6 @@ TrayWidget::TrayWidget(TrayMenu *parent) if (const auto *const launcher = SyncthingLauncher::mainInstance()) { connect(launcher, &SyncthingLauncher::runningChanged, this, &TrayWidget::handleLauncherStatusChanged); } - if (m_menu && Settings::values().enableWipFeatures) { - connect(m_ui->pinPushButton, &QPushButton::toggled, this, &TrayWidget::handlePinnedChanged); - } else { - m_ui->pinPushButton->hide(); - } #ifdef LIB_SYNCTHING_CONNECTOR_SUPPORT_SYSTEMD if (const auto *const service = SyncthingService::mainInstance()) { connect(service, &SyncthingService::systemdAvailableChanged, this, &TrayWidget::handleSystemdStatusChanged); @@ -331,14 +326,6 @@ void TrayWidget::applySettingsChangesFromWizard() } } -void TrayWidget::handlePinnedChanged(bool pinned) -{ - Settings::values().appearance.pinned = pinned; - if (m_menu) { - m_menu->setPinned(pinned); - } -} - void TrayWidget::showAboutDialog() { if (!s_dialogParent) { @@ -604,7 +591,9 @@ void TrayWidget::applySettings(const QString &connectionConfig) } } } - m_ui->pinPushButton->setChecked(settings.appearance.pinned); + if (m_menu) { + m_menu->setWindowed(settings.appearance.windowed); + } // update status icon and text of tray icon because reconnect interval might have changed if (m_menu && m_menu->icon()) { @@ -941,7 +930,7 @@ void TrayWidget::concludeWizard(const QString &errorMessage) void TrayWidget::showDialog(QWidget *dlg, bool maximized) { - if (m_menu && !m_menu->isPinned()) { + if (m_menu && !m_menu->isWindowed()) { m_menu->close(); } if (maximized) { diff --git a/tray/gui/traywidget.h b/tray/gui/traywidget.h index 0e39af9..bca41a9 100644 --- a/tray/gui/traywidget.h +++ b/tray/gui/traywidget.h @@ -84,7 +84,6 @@ protected: private Q_SLOTS: void handleStatusChanged(Data::SyncthingStatus status); - void handlePinnedChanged(bool pinned); static void applySettingsOnAllInstances(); void openDir(const Data::SyncthingDir &dir); void openItemDir(const Data::SyncthingItemDownloadProgress &item); diff --git a/tray/gui/traywidget.ui b/tray/gui/traywidget.ui index 4d39cac..3c487a0 100644 --- a/tray/gui/traywidget.ui +++ b/tray/gui/traywidget.ui @@ -156,29 +156,6 @@ - - - - Pin window - - - - - - - :/icons/hicolor/scalable/actions/window-pin.svg:/icons/hicolor/scalable/actions/window-pin.svg - - - true - - - false - - - true - - - @@ -575,7 +552,6 @@ For <i>all</i> notifications, checkout the log - diff --git a/tray/translations/syncthingtray_cs_CZ.ts b/tray/translations/syncthingtray_cs_CZ.ts index a7c9ca8..0baa76e 100644 --- a/tray/translations/syncthingtray_cs_CZ.ts +++ b/tray/translations/syncthingtray_cs_CZ.ts @@ -162,20 +162,20 @@ - + About O Syncthing Tray - + Connect Připojit - - + + Start Spustit @@ -190,99 +190,94 @@ Otevřít Syncthing - + In Přích. - + Incoming traffic Příchozí provoz - - - - + + + + unknown neznámé - - Pin window - - - - + Global Globální - + Global overall statistics Globální celkové statistiky - + Local Místní - + Local overall statistics Místní celkové statistiky - + Out odchoz. - + Outgoing traffic Odchozí provoz - + Click to show <i>new</i> notifications<br> For <i>all</i> notifications, checkout the log Kliknutím na <i>nové </i> oznámení<br> (pro <i>alle</i> oznámení, nahlédněte do záznamu událostí) - + - + New notifications Nová oznámení - + Directories Adresáře - + Devices Zařízení - + Downloads Stahování - + Recent changes - + Show Zobrazit - + Dismiss Zahodit @@ -322,83 +317,83 @@ For <i>all</i> notifications, checkout the log Ukončit Syncthing Tray - + Do you really want to restart Syncthing? Opravdu chcete Syncthing restartovat? - + Not connected to Syncthing, click to connect Nepřipojeno k Syncthing, klikněte pro připojení se - + Unable to establish connection to Syncthing. - + Pause Pozastavit - + Syncthing is running, click to pause all devices Syncthing je spuštěné, kliknutím pozastavíte veškerá zařízení - + Continue Pokračovat - + At least one device is paused, click to resume Přinejmenším jedno zařízení je pozastaveno, kliknutím pokračujte - + The specified connection configuration <em>%1</em> is not defined and hence ignored. Zadané nastavení spojení <em>%1</em> není definováno a proto je ignorováno. - + The directory <i>%1</i> does not exist on the local machine. Adresář <i>%1</i> neexistuje místně. - + The containing directory <i>%1</i> does not exist on the local machine. Obsažený adresář <i>%1</i> neexistuje místně. - + Copy path Zkopírovat popis umístění - + Copy device ID - + Copy directory ID - - + + Stop Zastavit - + Stop Syncthing instance launched via tray icon Zastavit instanci Syncthing spuštěnou prostřednictvím ikony v oznamovací oblasti - + Start Syncthing with the built-in launcher configured in the settings Spustit Syncthing s vestavěným spouštěčem nastaveným v nastaveních diff --git a/tray/translations/syncthingtray_de_DE.ts b/tray/translations/syncthingtray_de_DE.ts index cff1a5d..4603007 100644 --- a/tray/translations/syncthingtray_de_DE.ts +++ b/tray/translations/syncthingtray_de_DE.ts @@ -162,20 +162,20 @@ - + About Über Syncthing Tray - + Connect Verbinden - - + + Start Starten @@ -190,100 +190,99 @@ Syncthing öffnen - + In eing. - + Incoming traffic Eingehender Datenverkehr - - - - + + + + unknown unbekannt - Pin window - Offen halten + Offen halten - + Global Global - + Global overall statistics Globale Gesamtstatistiken - + Local Lokal - + Local overall statistics Lokale Gesamtstatistiken - + Out ausg. - + Outgoing traffic Ausgehender Datenverkehr - + Click to show <i>new</i> notifications<br> For <i>all</i> notifications, checkout the log Klicke um <i>neue</i> Benachrichtigungen zu zeigen<br> (für <i>alle</i> Benachrichtigungen, in den Log schauen) - + - + New notifications Neue Benachrichtigungen - + Directories Verzeichnisse - + Devices Geräte - + Downloads - + Recent changes "Letzte Änderungen" is too long Änderungen - + Show Zeigen - + Dismiss Ignorieren @@ -323,83 +322,83 @@ For <i>all</i> notifications, checkout the log Syncthing Tray schließen - + Do you really want to restart Syncthing? Soll Syncthing wirklich neu gestartet werden? - + Not connected to Syncthing, click to connect Verbindung zu Syncthing getrennt, klicke um zu verbinden - + Unable to establish connection to Syncthing. Verbindung zu Syncthing kann nicht hergestellt werden. - + Pause Pausieren - + Syncthing is running, click to pause all devices Syncthing läuft, klicke um alle Geräte zu pausieren - + Continue Fortsetzen - + At least one device is paused, click to resume Mind. ein Gerät ist pausiert, klicke um fortzusetzen - + The specified connection configuration <em>%1</em> is not defined and hence ignored. Die angegebene Verbindungskonfiguration <em>%1</em> ist nicht definiert und wird daher ignoriert. - + The directory <i>%1</i> does not exist on the local machine. Das Verzeichnis <i>%1</i> existiert nicht lokal. - + The containing directory <i>%1</i> does not exist on the local machine. Das beinhaltende Verzeichnis <i>%1</i> existiert nicht lokal. - + Copy path Pfad kopieren - + Copy device ID Geräte-ID kopieren - + Copy directory ID Verzeichnis-ID kopieren - - + + Stop Stoppen - + Stop Syncthing instance launched via tray icon Stoppe Syncthing-Instanz, die mit dem internen Starter gestartet wurde - + Start Syncthing with the built-in launcher configured in the settings Starte Syncthing mit dem eingebauten Starter, der in den Einstellungen konfiguriert wird diff --git a/tray/translations/syncthingtray_en_US.ts b/tray/translations/syncthingtray_en_US.ts index cf9f077..d768085 100644 --- a/tray/translations/syncthingtray_en_US.ts +++ b/tray/translations/syncthingtray_en_US.ts @@ -162,20 +162,20 @@ - + About - + Connect - - + + Start @@ -190,98 +190,93 @@ - + In - + Incoming traffic - - - - + + + + unknown - - Pin window - - - - + Global - + Global overall statistics - + Local - + Local overall statistics - + Out - + Outgoing traffic - + Click to show <i>new</i> notifications<br> For <i>all</i> notifications, checkout the log - + - + New notifications - + Directories - + Devices - + Downloads - + Recent changes - + Show - + Dismiss @@ -321,83 +316,83 @@ For <i>all</i> notifications, checkout the log - + Do you really want to restart Syncthing? - + Not connected to Syncthing, click to connect - + Unable to establish connection to Syncthing. - + Pause - + Syncthing is running, click to pause all devices - + Continue - + At least one device is paused, click to resume - + The specified connection configuration <em>%1</em> is not defined and hence ignored. - + The directory <i>%1</i> does not exist on the local machine. - + The containing directory <i>%1</i> does not exist on the local machine. - + Copy path - + Copy device ID - + Copy directory ID - - + + Stop - + Stop Syncthing instance launched via tray icon - + Start Syncthing with the built-in launcher configured in the settings diff --git a/tray/translations/syncthingtray_zh_CN.ts b/tray/translations/syncthingtray_zh_CN.ts index 97a23c7..16e8e4c 100644 --- a/tray/translations/syncthingtray_zh_CN.ts +++ b/tray/translations/syncthingtray_zh_CN.ts @@ -162,20 +162,20 @@ - + Connect 连接 - - + + Start 启动 - + About 关于 @@ -190,99 +190,94 @@ 打开 Syncthing - - Pin window - - - - + Global 全局 - + Global overall statistics 全局总体数据 - - - - + + + + unknown 未知 - + Local 本地 - + Local overall statistics 本地总体数据 - + In 下载 - + Incoming traffic 下载流量 - + Out 上传 - + Outgoing traffic 上传流量 - + Click to show <i>new</i> notifications<br> For <i>all</i> notifications, checkout the log 点击显示<i>新</i>通知<br> 对于<i>所有</i>通知,请查看日志 - + - + New notifications 新通知 - + Directories 目录 - + Devices 设备 - + Downloads 下载 - + Recent changes 最后更改 - + Show 显示 - + Dismiss 解除 @@ -322,83 +317,83 @@ For <i>all</i> notifications, checkout the log 退出 Syncthing Tray - + Do you really want to restart Syncthing? 您真的想要重启 Syncthing 吗? - + Not connected to Syncthing, click to connect 未连接至 Syncthing,点击连接 - + Unable to establish connection to Syncthing. - + Pause 暂停 - + Syncthing is running, click to pause all devices Syncthing 运行中,点击暂停全部设备 - + Continue 继续 - + At least one device is paused, click to resume 至少有一个设备已暂停,点击恢复 - + The specified connection configuration <em>%1</em> is not defined and hence ignored. 指定的连接配置 <em>%1</em> 没有定义,因此被忽略。 - + The directory <i>%1</i> does not exist on the local machine. 本地设备上不存在目录 <i>%1</i>。 - + The containing directory <i>%1</i> does not exist on the local machine. 本地设备上不存在包含目录 <i>%1</i>。 - + Copy path 复制路径 - + Copy device ID 复制设备 ID - + Copy directory ID - - + + Stop 停止 - + Stop Syncthing instance launched via tray icon 停止通过托盘图标启动 Syncthing 实例 - + Start Syncthing with the built-in launcher configured in the settings 使用设置中配置的内置启动器启动 Syncthing diff --git a/widgets/settings/appearanceoptionpage.ui b/widgets/settings/appearanceoptionpage.ui index 407a57c..5dacc84 100644 --- a/widgets/settings/appearanceoptionpage.ui +++ b/widgets/settings/appearanceoptionpage.ui @@ -19,14 +19,17 @@ 4 - + + 9 + + Frame shape - + @@ -56,14 +59,14 @@ - + Frame shadow - + @@ -88,14 +91,14 @@ - + Tab position - + @@ -125,14 +128,14 @@ - + Menu size - + @@ -212,14 +215,14 @@ - + Optional GUI elements - + Positioning @@ -229,7 +232,7 @@ - + @@ -317,7 +320,7 @@ - + 0 @@ -338,7 +341,7 @@ - + 0 @@ -352,13 +355,40 @@ - + Icons + + + + + 0 + 0 + + + + + Popup + + + + + Normal window + + + + + + + + Window type + + + diff --git a/widgets/settings/settings.cpp b/widgets/settings/settings.cpp index efb48f4..347bafd 100644 --- a/widgets/settings/settings.cpp +++ b/widgets/settings/settings.cpp @@ -345,7 +345,7 @@ void restore() auto &appearance = v.appearance; appearance.showTraffic = settings.value(QStringLiteral("showTraffic"), appearance.showTraffic).toBool(); appearance.showTabTexts = settings.value(QStringLiteral("showTabTexts"), appearance.showTabTexts).toBool(); - appearance.pinned = settings.value(QStringLiteral("pinned"), appearance.showTabTexts).toBool(); + appearance.windowed = settings.value(QStringLiteral("windowed"), appearance.windowed).toBool(); appearance.trayMenuSize = settings.value(QStringLiteral("trayMenuSize"), appearance.trayMenuSize).toSize(); appearance.frameStyle = settings.value(QStringLiteral("frameStyle"), appearance.frameStyle).toInt(); appearance.tabPosition = settings.value(QStringLiteral("tabPos"), appearance.tabPosition).toInt(); @@ -462,7 +462,7 @@ void save() const auto &appearance = v.appearance; settings.setValue(QStringLiteral("showTraffic"), appearance.showTraffic); settings.setValue(QStringLiteral("showTabTexts"), appearance.showTabTexts); - settings.setValue(QStringLiteral("pinned"), appearance.pinned); + settings.setValue(QStringLiteral("windowed"), appearance.windowed); settings.setValue(QStringLiteral("trayMenuSize"), appearance.trayMenuSize); settings.setValue(QStringLiteral("frameStyle"), appearance.frameStyle); settings.setValue(QStringLiteral("tabPos"), appearance.tabPosition); diff --git a/widgets/settings/settings.h b/widgets/settings/settings.h index ea64d48..4db6720 100644 --- a/widgets/settings/settings.h +++ b/widgets/settings/settings.h @@ -63,7 +63,7 @@ struct SYNCTHINGWIDGETS_EXPORT NotifyOn { struct SYNCTHINGWIDGETS_EXPORT Appearance { bool showTraffic = true; bool showTabTexts = true; - bool pinned = false; + bool windowed = false; QSize trayMenuSize = QSize(575, 475); int frameStyle = static_cast(QFrame::NoFrame) | static_cast(QFrame::Plain); int tabPosition = QTabWidget::South; diff --git a/widgets/settings/settingsdialog.cpp b/widgets/settings/settingsdialog.cpp index 4deff1f..5ae4d86 100644 --- a/widgets/settings/settingsdialog.cpp +++ b/widgets/settings/settingsdialog.cpp @@ -465,6 +465,7 @@ bool AppearanceOptionPage::apply() { auto &v = values(); auto &settings = v.appearance; + settings.windowed = ui()->windowTypeComboBox->currentIndex() == 1; settings.trayMenuSize.setWidth(ui()->widthSpinBox->value()); settings.trayMenuSize.setHeight(ui()->heightSpinBox->value()); settings.showTraffic = ui()->showTrafficCheckBox->isChecked(); @@ -506,6 +507,7 @@ void AppearanceOptionPage::reset() { const auto &v = values(); const auto &settings = v.appearance; + ui()->windowTypeComboBox->setCurrentIndex(settings.windowed ? 1 : 0); ui()->widthSpinBox->setValue(settings.trayMenuSize.width()); ui()->heightSpinBox->setValue(settings.trayMenuSize.height()); ui()->showTrafficCheckBox->setChecked(settings.showTraffic); diff --git a/widgets/translations/syncthingwidgets_cs_CZ.ts b/widgets/translations/syncthingwidgets_cs_CZ.ts index 834499a..629d49d 100644 --- a/widgets/translations/syncthingwidgets_cs_CZ.ts +++ b/widgets/translations/syncthingwidgets_cs_CZ.ts @@ -17,143 +17,158 @@ - + x: - + y: - + Menu size - - - - + + + + px - + x - + Optional GUI elements - + Traffic statistics - + Frame shape - + No frame - + Box - + Panel - + Styled panel - + Frame shadow - + Plain - + Raised - + Sunken - + Tab position - + Top - + Bottom - + Left - + Right - + Positioning - + Use cursor position - + Otherwise assume tray icon coordinates to be: - + Show tab texts - + Prefer icons from theme over ForkAwesome icons (needs restart to apply) - + Icons + + + Popup + + + + + Normal window + + + + + Window type + + QtGui::ApplyWizardPage @@ -301,27 +316,27 @@ - + This is achieved by adding a *.desktop file under <i>~/.config/autostart</i> so the setting only affects the current user. - + This is achieved by adding a registry key under <i>HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run</i> so the setting only affects the current user. Note that the startup entry is invalidated when moving <i>syncthingtray.exe</i>. - + This is achieved by adding a *.plist file under <i>~/Library/LaunchAgents</i> so the setting only affects the current user. - + This feature has not been implemented for your platform (yet). - + unable to modify startup entry @@ -808,47 +823,47 @@ QtGui::IconsOptionPageBase - + UI icons - + System icons - + These icon settings are used within Syncthing Tray's UI. - + These icon settings are used for the system tray icon and the notifications. - + Use same settings as for UI icons - + Colorful background with gradient (default) - + Transparent background and dark foreground (for bright themes) - + Transparent background and bright foreground (for dark themes) - + %1 px (scaled to %2 px) @@ -977,7 +992,7 @@ - + Stop launched instance @@ -992,82 +1007,82 @@ - + %1-launcher - + Launch %1 when starting the tray icon - + %1 executable - + %1 log (interleaved stdout/stderr) - + Restore default - + Show Syncthing releases/downloads - + %1 exited with exit code %2 - + %1 crashed with exit code %2 - + failed to start (e.g. executable does not exist or not permission error) - + process crashed - + timeout error - + read error - + write error - + unknown process error - + An error occurred when running %1: %2 - + Kill launched instance @@ -1279,37 +1294,37 @@ QtGui::SettingsDialog - + Tray - + Web view - + Startup - + additional tool - + Extra launcher - + Settings - + Start wizard @@ -1470,8 +1485,8 @@ This dialog closes automatically when the process finally terminates. - - + + unknown @@ -1511,27 +1526,27 @@ This dialog closes automatically when the process finally terminates. - + Reload all unit files - + It is not possible to show the start/stop button for the systemd service and the internal launcher at the same time. The systemd service precedes. - + It is not possible to consider the systemd service and the internal launcher for reconnects at the same time. The systemd service precedes. - + specified unit is either inactive or doesn't exist - + since @@ -1548,7 +1563,7 @@ This dialog closes automatically when the process finally terminates. QtGui::WebPage - + Select path for Syncthing directory … @@ -1565,7 +1580,7 @@ This dialog closes automatically when the process finally terminates. QtGui::WebViewOptionPage - + General @@ -1595,7 +1610,7 @@ This dialog closes automatically when the process finally terminates. - + Syncthing Tray has not been built with vieb view support utilizing either Qt WebKit or Qt WebEngine. The Web UI will be opened in the default web browser instead. diff --git a/widgets/translations/syncthingwidgets_de_DE.ts b/widgets/translations/syncthingwidgets_de_DE.ts index 3146ab6..4a5e5d1 100644 --- a/widgets/translations/syncthingwidgets_de_DE.ts +++ b/widgets/translations/syncthingwidgets_de_DE.ts @@ -104,128 +104,143 @@ Erscheinungsbild - + Menu size Größe des Menüs - + Optional GUI elements Optionale Elemente - + Traffic statistics Traffic-Statistiken - + x: - + y: - + x - - - - + + + + px - + Frame shape Rahmenform - + Frame shadow Rahmenschatten - + No frame Kein Rahmen - + Box - + Panel - + Styled panel - + Plain Einfach - + Raised Angehoben - + Sunken Eingedrückt - + Tab position Position der Tabs - + Top Oben - + Bottom Unten - + Left Links - + Right Rechts - + Show tab texts Text-Beschriftung der Tab-Buttons - + Prefer icons from theme over ForkAwesome icons (needs restart to apply) Bevorzuge Symbole vom System-Theme anstelle von ForkAwesome-Symbolen (wird erst nach Neustart angewendet) - + Icons Symbole + + + Popup + + + + + Normal window + Normales Fenster + + + + Window type + Fensterart + Colors Farben @@ -235,17 +250,17 @@ Helle benutzerdefinierte Schriftfarben (für dunkles Farbschema gedacht) - + Positioning Menüposition - + Use cursor position Verwende Mausposition - + Otherwise assume tray icon coordinates to be: Andernfalls folgende Koordinaten verwenden: @@ -396,27 +411,27 @@ Tray-Icon beim Starten der Desktopumgebung automatisch starten - + This is achieved by adding a *.desktop file under <i>~/.config/autostart</i> so the setting only affects the current user. Durch das Hinzufügen einer *.desktop-Datei unter <i>~/.config/autostart</i> realisiert - betrifft also nur den aktuellen Benutzer. - + This is achieved by adding a registry key under <i>HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run</i> so the setting only affects the current user. Note that the startup entry is invalidated when moving <i>syncthingtray.exe</i>. Durch das Hinzufügen eines Registry-Schlüssels unter <i>HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run</i> realisiert - betrifft also nur den aktuellen Benutzer. - + This is achieved by adding a *.plist file under <i>~/Library/LaunchAgents</i> so the setting only affects the current user. Durch das Hinzufügen einer *.plist-Datei unter <i>~/Library/LaunchAgents</i> realisiert - betrifft also nur den aktuellen Benutzer. - + This feature has not been implemented for your platform (yet). Diese Funktion wurde für die aktuelle Plattform nicht nicht implementiert. - + unable to modify startup entry Fehler beim aktualisieren des Auto-Start-Eintrags @@ -914,7 +929,7 @@ QtGui::IconsOptionPageBase - + UI icons UI-Icons @@ -923,7 +938,7 @@ Diese Icon-Farben werden innerhalb der Oberfläche von Syncthing Tray verwendet. - + System icons System-Icons @@ -936,37 +951,37 @@ Die selben Farben wie für UI-Icons verwenden - + These icon settings are used within Syncthing Tray's UI. Diese Icon-Einstellungen werden innerhalb der Oberfläche von Syncthing Tray verwendet. - + These icon settings are used for the system tray icon and the notifications. Diese Icon-Einstellungen werden für das System-Tray-Icon und Benachrichtigungen verwendet. - + Use same settings as for UI icons Die selben Einstellungen wie für UI-Icons verwenden - + Colorful background with gradient (default) Hintergrund mit Farbverlauf (Standard) - + Transparent background and dark foreground (for bright themes) Transparenter Hintergrund und dunkler Vordergrund (für helle Themes) - + Transparent background and bright foreground (for dark themes) Transparenter Hintergrund und heller Vordergrund (für dunkle Themes) - + %1 px (scaled to %2 px) %1 px (skaliert zu %2 px) @@ -1112,7 +1127,7 @@ - + Stop launched instance Stoppen @@ -1127,12 +1142,12 @@ Log folgen - + %1-launcher %1-Starter - + Launch %1 when starting the tray icon Starte %1 beim Starten des Tray-Icons @@ -1141,72 +1156,72 @@ %1-Starter {1 ?} - + %1 executable Ausführbare Datei von %1 - + %1 log (interleaved stdout/stderr) Log von %1 (stdout/stderr) - + Restore default Auf Vorgabe zurücksetzen - + Show Syncthing releases/downloads Syncthing Releases/Downloads zeigen - + %1 exited with exit code %2 %1 wurde mit dem Statuscode %2 beendet - + %1 crashed with exit code %2 %1 ist mit dem Statuscode %2 abgestürzt - + failed to start (e.g. executable does not exist or not permission error) Start fehlgeschlagen (z. B. weil Programmdatei nicht existiert oder nicht ausführbar ist) - + process crashed Prozess ist abgestürzt - + timeout error Time-out - + read error Lesefehler - + write error Schreibfehler - + unknown process error unbekannter Fehler - + An error occurred when running %1: %2 Beim Ausführen von %1 ist ein Fehler aufgetreten: %2 - + Kill launched instance Töten @@ -1426,12 +1441,12 @@ QtGui::SettingsDialog - + Web view Weboberfläche - + Startup Starten @@ -1440,27 +1455,27 @@ Zusatztool - + Tray - + Extra launcher Extra-Starter - + additional tool Zusatztool - + Settings Einstellungen - + Start wizard Einrichtungsassistenten öffnen @@ -1653,8 +1668,8 @@ Dieser Dialog schließt sich automatisch, wenn der Prozess beendet wird. - - + + unknown unbekannt @@ -1687,27 +1702,27 @@ Dieser Dialog schließt sich automatisch, wenn der Prozess beendet wird.Stoppen - + Reload all unit files Alle Unit-Dateien neu laden - + It is not possible to show the start/stop button for the systemd service and the internal launcher at the same time. The systemd service precedes. Es ist nicht möglich, den Start-/Stop-Button für den Systemd-Dienst und den internen Starter gleichzeitig anzugeigen. Wenn verfügbar, wird der Button den Systemd-Dienst kontrollieren. - + It is not possible to consider the systemd service and the internal launcher for reconnects at the same time. The systemd service precedes. Es ist nicht möglich, den Status des Systemd-Dienstes und den des internen Starters gleichzeitig für Verbindungsveruche einzubeziehen. Wenn verfügbar, wird der Status des Systemd-Dienstes verwendet. - + specified unit is either inactive or doesn't exist angegebene Unit entweder nicht geladen oder existiert nicht - + since seit @@ -1728,7 +1743,7 @@ Dieser Dialog schließt sich automatisch, wenn der Prozess beendet wird.Pfad für Syncthing-Verzeichnis auswählen ... - + Select path for Syncthing directory … Pfad für Syncthing-Verzeichnis auswählen … @@ -1745,7 +1760,7 @@ Dieser Dialog schließt sich automatisch, wenn der Prozess beendet wird.QtGui::WebViewOptionPage - + General Allgemein @@ -1775,7 +1790,7 @@ Dieser Dialog schließt sich automatisch, wenn der Prozess beendet wird.Lasse Weboberfläche im Hintgergrund weiter offen, wenn Fenster nicht offen - + Syncthing Tray has not been built with vieb view support utilizing either Qt WebKit or Qt WebEngine. The Web UI will be opened in the default web browser instead. Syncthing Tray wurde nicht mit Unterstützung für die eingebaute Anzeige der Weboberfläche unter Verwendung von Qt WebKit oder Qt WebEngine gebaut. diff --git a/widgets/translations/syncthingwidgets_en_US.ts b/widgets/translations/syncthingwidgets_en_US.ts index 99ef89c..2642999 100644 --- a/widgets/translations/syncthingwidgets_en_US.ts +++ b/widgets/translations/syncthingwidgets_en_US.ts @@ -17,143 +17,158 @@ - + Menu size - + Optional GUI elements - + Traffic statistics - + x: - + y: - + x - - - - + + + + px - + Frame shape - + Frame shadow - + No frame - + Box - + Panel - + Styled panel - + Plain - + Raised - + Sunken - + Tab position - + Top - + Bottom - + Left - + Right - + Positioning - + Use cursor position - + Otherwise assume tray icon coordinates to be: - + Show tab texts - + Prefer icons from theme over ForkAwesome icons (needs restart to apply) - + Icons + + + Popup + + + + + Normal window + + + + + Window type + + QtGui::ApplyWizardPage @@ -301,27 +316,27 @@ - + This is achieved by adding a *.desktop file under <i>~/.config/autostart</i> so the setting only affects the current user. - + This is achieved by adding a registry key under <i>HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run</i> so the setting only affects the current user. Note that the startup entry is invalidated when moving <i>syncthingtray.exe</i>. - + This is achieved by adding a *.plist file under <i>~/Library/LaunchAgents</i> so the setting only affects the current user. - + This feature has not been implemented for your platform (yet). - + unable to modify startup entry @@ -807,47 +822,47 @@ QtGui::IconsOptionPageBase - + UI icons - + System icons - + These icon settings are used within Syncthing Tray's UI. - + These icon settings are used for the system tray icon and the notifications. - + Use same settings as for UI icons - + Colorful background with gradient (default) - + Transparent background and dark foreground (for bright themes) - + Transparent background and bright foreground (for dark themes) - + %1 px (scaled to %2 px) @@ -975,7 +990,7 @@ - + Stop launched instance @@ -990,82 +1005,82 @@ - + %1-launcher - + Launch %1 when starting the tray icon - + %1 executable - + %1 log (interleaved stdout/stderr) - + Restore default - + Show Syncthing releases/downloads - + %1 exited with exit code %2 - + %1 crashed with exit code %2 - + failed to start (e.g. executable does not exist or not permission error) - + process crashed - + timeout error - + read error - + write error - + unknown process error - + An error occurred when running %1: %2 - + Kill launched instance @@ -1277,37 +1292,37 @@ QtGui::SettingsDialog - + Tray - + Web view - + Startup - + additional tool - + Extra launcher - + Settings - + Start wizard @@ -1472,8 +1487,8 @@ This dialog closes automatically when the process finally terminates. - - + + unknown @@ -1513,27 +1528,27 @@ This dialog closes automatically when the process finally terminates. - + Reload all unit files - + It is not possible to show the start/stop button for the systemd service and the internal launcher at the same time. The systemd service precedes. - + It is not possible to consider the systemd service and the internal launcher for reconnects at the same time. The systemd service precedes. - + specified unit is either inactive or doesn't exist - + since @@ -1550,7 +1565,7 @@ This dialog closes automatically when the process finally terminates. QtGui::WebPage - + Select path for Syncthing directory … @@ -1567,7 +1582,7 @@ This dialog closes automatically when the process finally terminates. QtGui::WebViewOptionPage - + General @@ -1597,7 +1612,7 @@ This dialog closes automatically when the process finally terminates. - + Syncthing Tray has not been built with vieb view support utilizing either Qt WebKit or Qt WebEngine. The Web UI will be opened in the default web browser instead. diff --git a/widgets/translations/syncthingwidgets_zh_CN.ts b/widgets/translations/syncthingwidgets_zh_CN.ts index d2803ed..edd6fc0 100644 --- a/widgets/translations/syncthingwidgets_zh_CN.ts +++ b/widgets/translations/syncthingwidgets_zh_CN.ts @@ -17,90 +17,105 @@ 外观 - + Frame shape 框架形状 - + No frame 无框架 - + Box 盒子 - + Panel 面板 - + Styled panel 样式面板 - + Frame shadow 框架阴影 - + Plain 简单 - + Raised 提高 - + Sunken 凹陷 - + Tab position 标签位置 - + Top 顶部 - + Bottom 底部 - + Left 左边 - + Right 右边 - + Show tab texts - + Prefer icons from theme over ForkAwesome icons (needs restart to apply) - + Icons 图标 + + + Popup + + + + + Normal window + + + + + Window type + + Colors 颜色 @@ -110,55 +125,55 @@ 明亮的自定义文本颜色(用于深色方案) - + Optional GUI elements 可选 GUI 元素 - + Traffic statistics 流量数据 - + Positioning 定位 - + Use cursor position 使用光标位置 - + Otherwise assume tray icon coordinates to be: 否则假设托盘图标坐标为: - - - - + + + + px 像素 - + x: x: - + y: y: - + Menu size 菜单大小 - + x x @@ -309,27 +324,27 @@ 桌面环境启动时启动托盘图标 - + This is achieved by adding a *.desktop file under <i>~/.config/autostart</i> so the setting only affects the current user. 这是通过在 <i>~/.config/autostart</i> 下添加 *.desktop 文件来实现的,因此该设置仅影响当前用户。 - + This is achieved by adding a registry key under <i>HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run</i> so the setting only affects the current user. Note that the startup entry is invalidated when moving <i>syncthingtray.exe</i>. 这是通过在 <i>HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run</i> 下添加注册表项来实现的,因此该设置仅影响当前用户。 请注意,移动 <i>syncthingtray.exe</i> 时启动项无效。 - + This is achieved by adding a *.plist file under <i>~/Library/LaunchAgents</i> so the setting only affects the current user. 这是通过在 <i>~/Library/LaunchAgents</i> 下添加 *.plist 文件来实现的,因此该设置仅影响当前用户。 - + This feature has not been implemented for your platform (yet). 此功能尚未为您的平台实现。 - + unable to modify startup entry 无法修改启动项 @@ -818,47 +833,47 @@ QtGui::IconsOptionPageBase - + UI icons UI 图标 - + These icon settings are used within Syncthing Tray's UI. 这些图标设置在 Syncthing Tray 的 UI 中使用。 - + System icons 系统图标 - + These icon settings are used for the system tray icon and the notifications. 这些图标设置用于系统托盘图标和通知。 - + Use same settings as for UI icons 使用与 UI 图标相同的设置 - + Colorful background with gradient (default) 带渐变的彩色背景(默认) - + Transparent background and dark foreground (for bright themes) 透明背景和深色前景(适用于明亮的主题) - + Transparent background and bright foreground (for dark themes) 透明背景和明亮前景(用于深色主题) - + %1 px (scaled to %2 px) %1 像素(缩放到 %2 像素) @@ -993,7 +1008,7 @@ - + Stop launched instance 停止启动的实例 @@ -1008,82 +1023,82 @@ 确保最新日志可见 - + %1-launcher %1-启动器 - + Launch %1 when starting the tray icon 启动托盘图标时启动 %1 - + %1 executable %1 可执行文件 - + %1 log (interleaved stdout/stderr) %1 日志(交错的标准输出/标准错误) - + Restore default 还原至默认 - + Show Syncthing releases/downloads 显示 Syncthing 发布/下载 - + %1 exited with exit code %2 %1 退出,退出代码为 %2 - + %1 crashed with exit code %2 %1 崩溃,退出代码为 %2 - + failed to start (e.g. executable does not exist or not permission error) 启动失败(例如可执行文件不存在或没有权限) - + process crashed 进程崩溃 - + timeout error 超时错误 - + read error 读取错误 - + write error 写入错误 - + unknown process error 未知进程错误 - + An error occurred when running %1: %2 运行 %1 时出错: %2 - + Kill launched instance 强制终止启动的实例 @@ -1303,37 +1318,37 @@ QtGui::SettingsDialog - + Tray 托盘 - + Web view 网页视图 - + Startup 启动 - + additional tool 附加工具 - + Extra launcher 额外启动器 - + Settings 设置 - + Start wizard @@ -1517,8 +1532,8 @@ This dialog closes automatically when the process finally terminates. - - + + unknown 未知 @@ -1553,27 +1568,27 @@ This dialog closes automatically when the process finally terminates. 禁用 - + Reload all unit files - + It is not possible to show the start/stop button for the systemd service and the internal launcher at the same time. The systemd service precedes. 无法同时显示 systemd 服务和内部启动器的启动/停止按钮。 systemd 服务优先。 - + It is not possible to consider the systemd service and the internal launcher for reconnects at the same time. The systemd service precedes. 无法同时考虑 systemd 服务和内部启动器进行重新连接。 systemd 服务优先。 - + specified unit is either inactive or doesn't exist 指定的单位不活动或不存在 - + since 自从 @@ -1594,7 +1609,7 @@ This dialog closes automatically when the process finally terminates. 选择 Syncthing 目录的路径 ... - + Select path for Syncthing directory … @@ -1611,7 +1626,7 @@ This dialog closes automatically when the process finally terminates. QtGui::WebViewOptionPage - + General 一般 @@ -1641,7 +1656,7 @@ This dialog closes automatically when the process finally terminates. 当前未显示时保持网页视图运行 - + Syncthing Tray has not been built with vieb view support utilizing either Qt WebKit or Qt WebEngine. The Web UI will be opened in the default web browser instead. Syncthing Tray 尚未使用 Qt WebKit 或 Qt WebEngine 构建支持网页视图。