refactor: use a client config dialog for client options
This commit is contained in:
committed by
Chris Rizzitello
parent
2cc19c9f1e
commit
f6b1546f8b
@ -66,6 +66,9 @@ add_library(${target} STATIC
|
||||
dialogs/ActionDialog.cpp
|
||||
dialogs/ActionDialog.h
|
||||
dialogs/ActionDialog.ui
|
||||
dialogs/ClientConfigDialog.h
|
||||
dialogs/ClientConfigDialog.cpp
|
||||
dialogs/ClientConfigDialog.ui
|
||||
dialogs/FingerprintDialog.cpp
|
||||
dialogs/FingerprintDialog.h
|
||||
dialogs/HotkeyDialog.cpp
|
||||
|
||||
@ -14,6 +14,7 @@
|
||||
#include "StyleUtils.h"
|
||||
|
||||
#include "dialogs/AboutDialog.h"
|
||||
#include "dialogs/ClientConfigDialog.h"
|
||||
#include "dialogs/FingerprintDialog.h"
|
||||
#include "dialogs/ServerConfigDialog.h"
|
||||
#include "dialogs/SettingsDialog.h"
|
||||
@ -198,6 +199,7 @@ void MainWindow::setupControls()
|
||||
secureSocket(false);
|
||||
|
||||
ui->btnConfigureServer->setIcon(QIcon::fromTheme(QStringLiteral("configure")));
|
||||
ui->btnConfigureClient->setIcon(QIcon::fromTheme(QStringLiteral("configure")));
|
||||
|
||||
if (Settings::value(Settings::Core::LastVersion).toString() != kVersion) {
|
||||
Settings::setValue(Settings::Core::LastVersion, kVersion);
|
||||
@ -315,6 +317,7 @@ void MainWindow::connectSlots()
|
||||
|
||||
connect(ui->btnSaveServerConfig, &QPushButton::clicked, this, &MainWindow::saveServerConfig);
|
||||
connect(ui->btnConfigureServer, &QPushButton::clicked, this, [this] { showConfigureServer(""); });
|
||||
connect(ui->btnConfigureClient, &QPushButton::clicked, this, [this] { showConfigureClient(); });
|
||||
connect(ui->lblComputerName, &QLabel::linkActivated, this, &MainWindow::openSettings);
|
||||
connect(m_btnFingerprint, &QPushButton::clicked, this, &MainWindow::showMyFingerprint);
|
||||
|
||||
@ -1100,6 +1103,14 @@ void MainWindow::showConfigureServer(const QString &message)
|
||||
}
|
||||
}
|
||||
|
||||
void MainWindow::showConfigureClient()
|
||||
{
|
||||
ClientConfigDialog dialog(this);
|
||||
if ((dialog.exec() == QDialog::Accepted) && m_coreProcess.isStarted()) {
|
||||
m_coreProcess.restart();
|
||||
}
|
||||
}
|
||||
|
||||
void MainWindow::secureSocket(bool secureSocket)
|
||||
{
|
||||
m_secureSocket = secureSocket;
|
||||
|
||||
@ -145,6 +145,7 @@ private:
|
||||
void updateScreenName();
|
||||
void saveSettings() const;
|
||||
void showConfigureServer(const QString &message);
|
||||
void showConfigureClient();
|
||||
void restoreWindow();
|
||||
void setupControls();
|
||||
void showFirstConnectedMessage();
|
||||
|
||||
@ -321,6 +321,47 @@
|
||||
<property name="bottomMargin">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<item>
|
||||
<widget class="QPushButton" name="btnConfigureClient">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Maximum" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>0</width>
|
||||
<height>32</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>16777215</width>
|
||||
<height>32</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>&Configure Client</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="horizontalSpacer_3">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Orientation::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeType">
|
||||
<enum>QSizePolicy::Policy::Fixed</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>5</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="m_pLabelServerName">
|
||||
<property name="sizePolicy">
|
||||
|
||||
102
src/lib/gui/dialogs/ClientConfigDialog.cpp
Normal file
102
src/lib/gui/dialogs/ClientConfigDialog.cpp
Normal file
@ -0,0 +1,102 @@
|
||||
/*
|
||||
* Deskflow -- mouse and keyboard sharing utility
|
||||
* SPDX-FileCopyrightText: (C) 2026 Deskflow Developers
|
||||
* SPDX-License-Identifier: GPL-2.0-only WITH LicenseRef-OpenSSL-Exception
|
||||
*/
|
||||
|
||||
#include "ClientConfigDialog.h"
|
||||
#include "ui_ClientConfigDialog.h"
|
||||
|
||||
#include "common/Settings.h"
|
||||
|
||||
#include <QPushButton>
|
||||
|
||||
ClientConfigDialog::ClientConfigDialog(QWidget *parent) : QDialog(parent), ui(new Ui::ClientConfigDialog)
|
||||
{
|
||||
ui->setupUi(this);
|
||||
updateText();
|
||||
initConnections();
|
||||
load();
|
||||
setButtonBoxEnabledButtons();
|
||||
}
|
||||
|
||||
ClientConfigDialog::~ClientConfigDialog()
|
||||
{
|
||||
delete ui;
|
||||
}
|
||||
|
||||
void ClientConfigDialog::changeEvent(QEvent *e)
|
||||
{
|
||||
QDialog::changeEvent(e);
|
||||
if (e->type() == QEvent::LanguageChange) {
|
||||
ui->retranslateUi(this);
|
||||
updateText();
|
||||
}
|
||||
}
|
||||
|
||||
void ClientConfigDialog::updateText() const
|
||||
{
|
||||
ui->buttonBox->button(QDialogButtonBox::Save)->setToolTip(tr("Close and save changes"));
|
||||
ui->buttonBox->button(QDialogButtonBox::Cancel)->setToolTip(tr("Close and forget changes"));
|
||||
ui->buttonBox->button(QDialogButtonBox::Reset)->setToolTip(tr("Reset to stored values"));
|
||||
ui->buttonBox->button(QDialogButtonBox::RestoreDefaults)->setToolTip(tr("Reset to default values"));
|
||||
}
|
||||
|
||||
void ClientConfigDialog::initConnections() const
|
||||
{
|
||||
connect(ui->buttonBox, &QDialogButtonBox::accepted, this, &ClientConfigDialog::save);
|
||||
connect(ui->buttonBox, &QDialogButtonBox::rejected, this, &QDialog::reject);
|
||||
connect(ui->buttonBox->button(QDialogButtonBox::Reset), &QPushButton::clicked, this, &ClientConfigDialog::load);
|
||||
connect(
|
||||
ui->buttonBox->button(QDialogButtonBox::RestoreDefaults), &QPushButton::clicked, this,
|
||||
&ClientConfigDialog::resetToDefault
|
||||
);
|
||||
|
||||
connect(ui->cbLanguageSync, &QCheckBox::checkStateChanged, this, &ClientConfigDialog::setButtonBoxEnabledButtons);
|
||||
connect(ui->cbYScrollInvert, &QCheckBox::checkStateChanged, this, &ClientConfigDialog::setButtonBoxEnabledButtons);
|
||||
connect(ui->sbYScrollScale, &QDoubleSpinBox::valueChanged, this, &ClientConfigDialog::setButtonBoxEnabledButtons);
|
||||
}
|
||||
|
||||
bool ClientConfigDialog::isModified() const
|
||||
{
|
||||
return (ui->cbLanguageSync->isChecked() != Settings::value(Settings::Client::LanguageSync).toBool()) ||
|
||||
(ui->cbYScrollInvert->isChecked() != Settings::value(Settings::Client::InvertYScroll).toBool()) ||
|
||||
(ui->sbYScrollScale->value() != Settings::value(Settings::Client::YScrollScale).toDouble());
|
||||
}
|
||||
|
||||
bool ClientConfigDialog::isDefault() const
|
||||
{
|
||||
return (ui->cbLanguageSync->isChecked() == Settings::defaultValue(Settings::Client::LanguageSync).toBool()) &&
|
||||
(ui->cbYScrollInvert->isChecked() == Settings::defaultValue(Settings::Client::InvertYScroll).toBool()) &&
|
||||
(ui->sbYScrollScale->value() == Settings::defaultValue(Settings::Client::YScrollScale).toDouble());
|
||||
}
|
||||
|
||||
void ClientConfigDialog::setButtonBoxEnabledButtons() const
|
||||
{
|
||||
const bool modified = isModified();
|
||||
ui->buttonBox->button(QDialogButtonBox::Save)->setEnabled(modified);
|
||||
ui->buttonBox->button(QDialogButtonBox::Reset)->setEnabled(modified);
|
||||
ui->buttonBox->button(QDialogButtonBox::RestoreDefaults)->setEnabled(!isDefault());
|
||||
}
|
||||
|
||||
void ClientConfigDialog::load()
|
||||
{
|
||||
ui->cbLanguageSync->setChecked(Settings::value(Settings::Client::LanguageSync).toBool());
|
||||
ui->cbYScrollInvert->setChecked(Settings::value(Settings::Client::InvertYScroll).toBool());
|
||||
ui->sbYScrollScale->setValue(Settings::value(Settings::Client::YScrollScale).toDouble());
|
||||
}
|
||||
|
||||
void ClientConfigDialog::resetToDefault()
|
||||
{
|
||||
ui->cbLanguageSync->setChecked(Settings::defaultValue(Settings::Client::LanguageSync).toBool());
|
||||
ui->cbYScrollInvert->setChecked(Settings::defaultValue(Settings::Client::InvertYScroll).toBool());
|
||||
ui->sbYScrollScale->setValue(Settings::defaultValue(Settings::Client::YScrollScale).toDouble());
|
||||
}
|
||||
|
||||
void ClientConfigDialog::save()
|
||||
{
|
||||
Settings::setValue(Settings::Client::LanguageSync, ui->cbLanguageSync->isChecked());
|
||||
Settings::setValue(Settings::Client::InvertYScroll, ui->cbYScrollInvert->isChecked());
|
||||
Settings::setValue(Settings::Client::YScrollScale, ui->sbYScrollScale->value());
|
||||
QDialog::accept();
|
||||
}
|
||||
76
src/lib/gui/dialogs/ClientConfigDialog.h
Normal file
76
src/lib/gui/dialogs/ClientConfigDialog.h
Normal file
@ -0,0 +1,76 @@
|
||||
/*
|
||||
* Deskflow -- mouse and keyboard sharing utility
|
||||
* SPDX-FileCopyrightText: (C) 2026 Deskflow Developers
|
||||
* SPDX-License-Identifier: GPL-2.0-only WITH LicenseRef-OpenSSL-Exception
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <QDialog>
|
||||
|
||||
namespace Ui {
|
||||
class ClientConfigDialog;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief The ClientConfigDialog class
|
||||
* Simple dialog to allow users to configure the Client settings
|
||||
*/
|
||||
class ClientConfigDialog : public QDialog
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
explicit ClientConfigDialog(QWidget *parent = nullptr);
|
||||
~ClientConfigDialog() override;
|
||||
|
||||
protected:
|
||||
void changeEvent(QEvent *e) override;
|
||||
|
||||
private:
|
||||
/**
|
||||
* @brief updateText update widget text
|
||||
*/
|
||||
void updateText() const;
|
||||
|
||||
/**
|
||||
* @brief initConnections
|
||||
* Sets up all the connections
|
||||
*/
|
||||
void initConnections() const;
|
||||
|
||||
/**
|
||||
* @brief isModified
|
||||
* @return true when any client settings in the gui do not match the stored settings values.
|
||||
*/
|
||||
bool isModified() const;
|
||||
|
||||
/**
|
||||
* @brief isDefault
|
||||
* @return true if all client settings match the default values
|
||||
*/
|
||||
bool isDefault() const;
|
||||
|
||||
/**
|
||||
* @brief setButtonBoxEnabledButtons
|
||||
* Enable / Disable the button box buttons based on the state of the gui
|
||||
*/
|
||||
void setButtonBoxEnabledButtons() const;
|
||||
|
||||
/**
|
||||
* @brief Load the client setting into the gui
|
||||
*/
|
||||
void load();
|
||||
|
||||
/**
|
||||
* @brief Set the gui values to the defalut values for all client settings
|
||||
*/
|
||||
void resetToDefault();
|
||||
|
||||
/**
|
||||
* @brief save to settings and then calls QDialog::accept
|
||||
*/
|
||||
void save();
|
||||
|
||||
Ui::ClientConfigDialog *ui = nullptr;
|
||||
};
|
||||
142
src/lib/gui/dialogs/ClientConfigDialog.ui
Normal file
142
src/lib/gui/dialogs/ClientConfigDialog.ui
Normal file
@ -0,0 +1,142 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ui version="4.0">
|
||||
<class>ClientConfigDialog</class>
|
||||
<widget class="QDialog" name="ClientConfigDialog">
|
||||
<property name="geometry">
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>425</width>
|
||||
<height>148</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Maximum" vsizetype="Maximum">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>Client Configuration</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<item>
|
||||
<widget class="QCheckBox" name="cbLanguageSync">
|
||||
<property name="text">
|
||||
<string>Use server's keyboard language on this computer</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="cbYScrollInvert">
|
||||
<property name="text">
|
||||
<string>Invert vertical scroll direction on this computer</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_2">
|
||||
<item>
|
||||
<widget class="QLabel" name="lblScrollSpeed">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Maximum" vsizetype="Preferred">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Vertical Scroll Scale</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QDoubleSpinBox" name="sbYScrollScale">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Maximum" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="accelerated">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="correctionMode">
|
||||
<enum>QAbstractSpinBox::CorrectionMode::CorrectToNearestValue</enum>
|
||||
</property>
|
||||
<property name="minimum">
|
||||
<double>0.100000000000000</double>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<double>10.000000000000000</double>
|
||||
</property>
|
||||
<property name="singleStep">
|
||||
<double>0.100000000000000</double>
|
||||
</property>
|
||||
<property name="value">
|
||||
<double>1.000000000000000</double>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="horizontalSpacer_4">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Orientation::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QDialogButtonBox" name="buttonBox">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Orientation::Horizontal</enum>
|
||||
</property>
|
||||
<property name="standardButtons">
|
||||
<set>QDialogButtonBox::StandardButton::Cancel|QDialogButtonBox::StandardButton::Reset|QDialogButtonBox::StandardButton::RestoreDefaults|QDialogButtonBox::StandardButton::Save</set>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<resources/>
|
||||
<connections>
|
||||
<connection>
|
||||
<sender>buttonBox</sender>
|
||||
<signal>accepted()</signal>
|
||||
<receiver>ClientConfigDialog</receiver>
|
||||
<slot>accept()</slot>
|
||||
<hints>
|
||||
<hint type="sourcelabel">
|
||||
<x>248</x>
|
||||
<y>254</y>
|
||||
</hint>
|
||||
<hint type="destinationlabel">
|
||||
<x>157</x>
|
||||
<y>274</y>
|
||||
</hint>
|
||||
</hints>
|
||||
</connection>
|
||||
<connection>
|
||||
<sender>buttonBox</sender>
|
||||
<signal>rejected()</signal>
|
||||
<receiver>ClientConfigDialog</receiver>
|
||||
<slot>reject()</slot>
|
||||
<hints>
|
||||
<hint type="sourcelabel">
|
||||
<x>316</x>
|
||||
<y>260</y>
|
||||
</hint>
|
||||
<hint type="destinationlabel">
|
||||
<x>286</x>
|
||||
<y>274</y>
|
||||
</hint>
|
||||
</hints>
|
||||
</connection>
|
||||
</connections>
|
||||
</ui>
|
||||
@ -181,12 +181,9 @@ void SettingsDialog::accept()
|
||||
Settings::setValue(Settings::Security::Certificate, ui->lineTlsCertPath->text());
|
||||
Settings::setValue(Settings::Security::KeySize, ui->comboTlsKeyLength->currentText().toInt());
|
||||
Settings::setValue(Settings::Security::TlsEnabled, ui->groupSecurity->isChecked());
|
||||
Settings::setValue(Settings::Client::LanguageSync, ui->cbLanguageSync->isChecked());
|
||||
Settings::setValue(Settings::Client::InvertYScroll, ui->cbScrollDirection->isChecked());
|
||||
Settings::setValue(Settings::Gui::CloseToTray, ui->cbCloseToTray->isChecked());
|
||||
Settings::setValue(Settings::Gui::SymbolicTrayIcon, ui->rbIconMono->isChecked());
|
||||
Settings::setValue(Settings::Security::CheckPeers, ui->cbRequireClientCert->isChecked());
|
||||
Settings::setValue(Settings::Client::YScrollScale, ui->sbYScrollScale->value());
|
||||
Settings::setValue(Settings::Core::Language, I18N::nativeTo639Name(ui->comboLanguage->currentText()));
|
||||
Settings::setValue(Settings::Log::GuiDebug, ui->cbGuiDebug->isChecked());
|
||||
Settings::setValue(Settings::Core::UseWlClipboard, ui->cbUseWlClipboard->isChecked());
|
||||
@ -210,12 +207,9 @@ void SettingsDialog::loadFromConfig()
|
||||
ui->lineLogFilename->setText(Settings::value(Settings::Log::File).toString());
|
||||
ui->cbAutoHide->setChecked(Settings::value(Settings::Gui::Autohide).toBool());
|
||||
ui->cbPreventSleep->setChecked(Settings::value(Settings::Core::PreventSleep).toBool());
|
||||
ui->cbLanguageSync->setChecked(Settings::value(Settings::Client::LanguageSync).toBool());
|
||||
ui->cbScrollDirection->setChecked(Settings::value(Settings::Client::InvertYScroll).toBool());
|
||||
ui->cbCloseToTray->setChecked(Settings::value(Settings::Gui::CloseToTray).toBool());
|
||||
ui->cbElevateDaemon->setChecked(Settings::value(Settings::Daemon::Elevate).toBool());
|
||||
ui->cbAutoUpdate->setChecked(Settings::value(Settings::Gui::AutoUpdateCheck).toBool());
|
||||
ui->sbYScrollScale->setValue(Settings::value(Settings::Client::YScrollScale).toDouble());
|
||||
ui->cbGuiDebug->setChecked(Settings::value(Settings::Log::GuiDebug).toBool());
|
||||
ui->cbUseWlClipboard->setChecked(Settings::value(Settings::Core::UseWlClipboard).toBool());
|
||||
ui->cbShowVersion->setChecked(Settings::value(Settings::Gui::ShowVersionInTitle).toBool());
|
||||
@ -331,8 +325,6 @@ void SettingsDialog::updateControls()
|
||||
ui->widgetWlClipboard->setVisible(false);
|
||||
}
|
||||
|
||||
ui->groupClientOptions->setEnabled(writable && isClientMode());
|
||||
|
||||
ui->widgetLogFilename->setEnabled(writable && logToFile);
|
||||
|
||||
updateTlsControls();
|
||||
|
||||
@ -33,93 +33,6 @@
|
||||
<string>&Regular</string>
|
||||
</attribute>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_3">
|
||||
<item>
|
||||
<widget class="QGroupBox" name="groupClientOptions">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Preferred" vsizetype="Maximum">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="title">
|
||||
<string>Client mode</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout">
|
||||
<item>
|
||||
<widget class="QCheckBox" name="cbLanguageSync">
|
||||
<property name="text">
|
||||
<string>Use server's keyboard language on this computer</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="cbScrollDirection">
|
||||
<property name="text">
|
||||
<string>Invert vertical scroll direction on this computer</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_2">
|
||||
<item>
|
||||
<widget class="QLabel" name="lblScrollSpeed">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Maximum" vsizetype="Preferred">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Vertical Scroll Scale</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QDoubleSpinBox" name="sbYScrollScale">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Maximum" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="accelerated">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="correctionMode">
|
||||
<enum>QAbstractSpinBox::CorrectionMode::CorrectToNearestValue</enum>
|
||||
</property>
|
||||
<property name="minimum">
|
||||
<double>0.100000000000000</double>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<double>10.000000000000000</double>
|
||||
</property>
|
||||
<property name="singleStep">
|
||||
<double>0.100000000000000</double>
|
||||
</property>
|
||||
<property name="value">
|
||||
<double>1.000000000000000</double>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="horizontalSpacer_4">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Orientation::Horizontal</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>40</width>
|
||||
<height>20</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QGroupBox" name="groupApp">
|
||||
<property name="sizePolicy">
|
||||
@ -357,6 +270,19 @@
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer name="verticalSpacer_3">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Orientation::Vertical</enum>
|
||||
</property>
|
||||
<property name="sizeHint" stdset="0">
|
||||
<size>
|
||||
<width>20</width>
|
||||
<height>40</height>
|
||||
</size>
|
||||
</property>
|
||||
</spacer>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<widget class="QWidget" name="tabAdvanced">
|
||||
|
||||
@ -139,6 +139,41 @@ p, li { white-space: pre-wrap; }
|
||||
<translation type="unfinished">Cambiar a </translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ClientConfigDialog</name>
|
||||
<message>
|
||||
<source>Client Configuration</source>
|
||||
<translation type="unfinished">Configuración del cliente</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Use server's keyboard language on this computer</source>
|
||||
<translation type="unfinished">Utilice el idioma del teclado del servidor en esta computadora</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Invert vertical scroll direction on this computer</source>
|
||||
<translation type="unfinished">Invertir la dirección del desplazamiento vertical en este ordenador</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Vertical Scroll Scale</source>
|
||||
<translation type="unfinished">Escala de desplazamiento vertical</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Close and save changes</source>
|
||||
<translation type="unfinished">Cerrar y guardar los cambios</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Close and forget changes</source>
|
||||
<translation type="unfinished">Cerrar y olvidar los cambios</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Reset to stored values</source>
|
||||
<translation type="unfinished">Restablecer los valores almacenados</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Reset to default values</source>
|
||||
<translation type="unfinished">Restablecer valores predeterminados</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>FingerprintDialog</name>
|
||||
<message>
|
||||
@ -538,6 +573,10 @@ Nombres válidos:
|
||||
<source>The Core executable could not be successfully started, although it does exist. Please check if you have sufficient permissions to run this program.</source>
|
||||
<translation type="unfinished">No se pudo iniciar el archivo ejecutable principal, aunque existe. Compruebe si tiene permisos suficientes para ejecutar este programa.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Configure Client</source>
|
||||
<translation type="unfinished">&Configurar cliente</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Connect to:</source>
|
||||
<translation type="unfinished">Conectarse a:</translation>
|
||||
@ -557,10 +596,6 @@ Nombres válidos:
|
||||
</context>
|
||||
<context>
|
||||
<name>QObject</name>
|
||||
<message>
|
||||
<source>%1 is already running</source>
|
||||
<translation type="unfinished">%1 ya se está ejecutando</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>fatal error</source>
|
||||
<translation type="unfinished">error fatal</translation>
|
||||
@ -740,6 +775,10 @@ Nombres válidos:
|
||||
<extracomment>%1 will be replaced by the certificate path</extracomment>
|
||||
<translation type="unfinished">No se pudo leer la clave RSA del archivo de certificado: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%1 is already running</source>
|
||||
<translation type="unfinished">%1 ya se está ejecutando</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ScreenSettingsDialog</name>
|
||||
@ -1104,14 +1143,6 @@ Al habilitar esta opción, se deshabilitará la interfaz gráfica de usuario (GU
|
||||
<source>&Regular</source>
|
||||
<translation type="unfinished">&Regular</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Client mode</source>
|
||||
<translation type="unfinished">Modo cliente</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Use server's keyboard language on this computer</source>
|
||||
<translation type="unfinished">Utilice el idioma del teclado del servidor en esta computadora</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>App</source>
|
||||
<translation type="unfinished">Aplicación</translation>
|
||||
@ -1316,14 +1347,6 @@ Al habilitar esta opción, se deshabilitará la interfaz gráfica de usuario (GU
|
||||
<source>Include version in the window title</source>
|
||||
<translation type="unfinished">Incluir la versión en el título de la ventana</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Invert vertical scroll direction on this computer</source>
|
||||
<translation type="unfinished">Invertir la dirección del desplazamiento vertical en este ordenador</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Vertical Scroll Scale</source>
|
||||
<translation type="unfinished">Escala de desplazamiento vertical</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>i18n</name>
|
||||
|
||||
@ -139,6 +139,41 @@ p, li { white-space: pre-wrap; }
|
||||
<translation>Passa a </translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ClientConfigDialog</name>
|
||||
<message>
|
||||
<source>Client Configuration</source>
|
||||
<translation type="unfinished">Configurazione del client</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Use server's keyboard language on this computer</source>
|
||||
<translation type="unfinished">Usa la lingua della tastiera del server su questo computer</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Invert vertical scroll direction on this computer</source>
|
||||
<translation type="unfinished">Inverti la direzione dello scorrimento verticale su questo computer</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Vertical Scroll Scale</source>
|
||||
<translation type="unfinished">Scala di scorrimento verticale</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Close and save changes</source>
|
||||
<translation type="unfinished">Chiudi e salva le modifiche</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Close and forget changes</source>
|
||||
<translation type="unfinished">Chiudi e dimentica le modifiche</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Reset to stored values</source>
|
||||
<translation type="unfinished">Ripristina i valori memorizzati</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Reset to default values</source>
|
||||
<translation type="unfinished">Ripristina i valori predefiniti</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>FingerprintDialog</name>
|
||||
<message>
|
||||
@ -538,6 +573,10 @@ Nomi validi:
|
||||
<source>The Core executable could not be successfully started, although it does exist. Please check if you have sufficient permissions to run this program.</source>
|
||||
<translation type="unfinished">Non è stato possibile avviare correttamente l'eseguibile Core, sebbene esista. Verifica di disporre delle autorizzazioni necessarie per eseguire questo programma.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Configure Client</source>
|
||||
<translation type="unfinished">&Configurare il client</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Connect to:</source>
|
||||
<translation type="unfinished">Connettiti a:</translation>
|
||||
@ -557,10 +596,6 @@ Nomi validi:
|
||||
</context>
|
||||
<context>
|
||||
<name>QObject</name>
|
||||
<message>
|
||||
<source>%1 is already running</source>
|
||||
<translation>%1 è già in esecuzione</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>fatal error</source>
|
||||
<translation>errore fatale</translation>
|
||||
@ -740,6 +775,10 @@ Nomi validi:
|
||||
<extracomment>%1 will be replaced by the certificate path</extracomment>
|
||||
<translation type="unfinished">impossibile leggere la chiave RSA dal file del certificato: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%1 is already running</source>
|
||||
<translation>%1 è già in esecuzione</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ScreenSettingsDialog</name>
|
||||
@ -1104,14 +1143,6 @@ L'abilitazione di questa impostazione disabiliterà l'interfaccia graf
|
||||
<source>&Regular</source>
|
||||
<translation>&Regolare</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Client mode</source>
|
||||
<translation>Modalità client</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Use server's keyboard language on this computer</source>
|
||||
<translation>Usa la lingua della tastiera del server su questo computer</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>App</source>
|
||||
<translation>App</translation>
|
||||
@ -1316,14 +1347,6 @@ L'abilitazione di questa impostazione disabiliterà l'interfaccia graf
|
||||
<source>Include version in the window title</source>
|
||||
<translation type="unfinished">Includi la versione nel titolo della finestra</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Invert vertical scroll direction on this computer</source>
|
||||
<translation type="unfinished">Inverti la direzione dello scorrimento verticale su questo computer</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Vertical Scroll Scale</source>
|
||||
<translation type="unfinished">Scala di scorrimento verticale</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>i18n</name>
|
||||
|
||||
@ -139,6 +139,41 @@ p, li { white-space: pre-wrap; }
|
||||
<translation>に切り替える</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ClientConfigDialog</name>
|
||||
<message>
|
||||
<source>Client Configuration</source>
|
||||
<translation type="unfinished">クライアント構成</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Use server's keyboard language on this computer</source>
|
||||
<translation type="unfinished">サーバー側のキーボード言語をこのコンピューターで使用する</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Invert vertical scroll direction on this computer</source>
|
||||
<translation type="unfinished">このコンピューターで垂直スクロールの方向を反転させる</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Vertical Scroll Scale</source>
|
||||
<translation type="unfinished">垂直スクロールスケール</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Close and save changes</source>
|
||||
<translation type="unfinished">閉じて変更を保存する</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Close and forget changes</source>
|
||||
<translation type="unfinished">変更を閉じて忘れる</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Reset to stored values</source>
|
||||
<translation type="unfinished">保存した値にリセット</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Reset to default values</source>
|
||||
<translation type="unfinished">デフォルト値にリセット</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>FingerprintDialog</name>
|
||||
<message>
|
||||
@ -537,6 +572,10 @@ Valid names:
|
||||
<source>The Core executable could not be successfully started, although it does exist. Please check if you have sufficient permissions to run this program.</source>
|
||||
<translation>コア実行ファイルは存在していますが、起動できませんでした。このプログラムを実行するのに十分な権限があることを確認してください。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Configure Client</source>
|
||||
<translation type="unfinished">クライアントの設定 (&C)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Connect to:</source>
|
||||
<translation type="unfinished">接続先:</translation>
|
||||
@ -556,10 +595,6 @@ Valid names:
|
||||
</context>
|
||||
<context>
|
||||
<name>QObject</name>
|
||||
<message>
|
||||
<source>%1 is already running</source>
|
||||
<translation>%1 は既に起動中です</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>fatal error</source>
|
||||
<translation>致命的なエラー</translation>
|
||||
@ -741,6 +776,10 @@ Valid names:
|
||||
<extracomment>%1 will be replaced by the certificate path</extracomment>
|
||||
<translation type="unfinished">証明書ファイルから RSA キーを読み取ることができませんでした: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%1 is already running</source>
|
||||
<translation>%1 は既に起動中です</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ScreenSettingsDialog</name>
|
||||
@ -1105,14 +1144,6 @@ Enabling this setting will disable the server config GUI.</source>
|
||||
<source>&Regular</source>
|
||||
<translation>基本(&R)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Client mode</source>
|
||||
<translation>クライアントモード</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Use server's keyboard language on this computer</source>
|
||||
<translation>サーバー側のキーボード言語をこのコンピューターで使用する</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>App</source>
|
||||
<translation>アプリケーション</translation>
|
||||
@ -1317,14 +1348,6 @@ Enabling this setting will disable the server config GUI.</source>
|
||||
<source>Include version in the window title</source>
|
||||
<translation type="unfinished">ウィンドウタイトルにバージョン情報を含める</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Invert vertical scroll direction on this computer</source>
|
||||
<translation type="unfinished">このコンピューターで垂直スクロールの方向を反転させる</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Vertical Scroll Scale</source>
|
||||
<translation type="unfinished">垂直スクロールスケール</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>i18n</name>
|
||||
|
||||
@ -139,6 +139,41 @@ p, li { white-space: pre-wrap; }
|
||||
<translation>전환: </translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ClientConfigDialog</name>
|
||||
<message>
|
||||
<source>Client Configuration</source>
|
||||
<translation type="unfinished">클라이언트 구성</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Use server's keyboard language on this computer</source>
|
||||
<translation type="unfinished">이 컴퓨터에서 서버의 키보드 언어 사용</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Invert vertical scroll direction on this computer</source>
|
||||
<translation type="unfinished">이 컴퓨터에서 세로 스크롤 방향을 반전합니다</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Vertical Scroll Scale</source>
|
||||
<translation type="unfinished">수직 스크롤 스케일</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Close and save changes</source>
|
||||
<translation type="unfinished">닫기 및 변경 사항 저장</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Close and forget changes</source>
|
||||
<translation type="unfinished">설정을 저장하고 나면 변경 사항은 더 이상 신경 쓸 필요가 없습니다</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Reset to stored values</source>
|
||||
<translation type="unfinished">저장된 값으로 재설정</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Reset to default values</source>
|
||||
<translation type="unfinished">기본값으로 재설정</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>FingerprintDialog</name>
|
||||
<message>
|
||||
@ -537,6 +572,10 @@ Valid names:
|
||||
<source>The Core executable could not be successfully started, although it does exist. Please check if you have sufficient permissions to run this program.</source>
|
||||
<translation>코어 실행 파일은 존재하지만 정상적으로 시작할 수 없습니다. 이 프로그램을 실행할 권한이 충분한지 확인하세요.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Configure Client</source>
|
||||
<translation type="unfinished">클라이언트 구성 (&C)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Connect to:</source>
|
||||
<translation type="unfinished">연결 대상:</translation>
|
||||
@ -556,10 +595,6 @@ Valid names:
|
||||
</context>
|
||||
<context>
|
||||
<name>QObject</name>
|
||||
<message>
|
||||
<source>%1 is already running</source>
|
||||
<translation>%1이(가) 이미 실행 중입니다</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>fatal error</source>
|
||||
<translation>치명적 오류</translation>
|
||||
@ -739,6 +774,10 @@ Valid names:
|
||||
<extracomment>%1 will be replaced by the certificate path</extracomment>
|
||||
<translation type="unfinished">인증서 파일에서 RSA 키를 읽지 못했습니다: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%1 is already running</source>
|
||||
<translation>%1이(가) 이미 실행 중입니다</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ScreenSettingsDialog</name>
|
||||
@ -1103,14 +1142,6 @@ Enabling this setting will disable the server config GUI.</source>
|
||||
<source>&Regular</source>
|
||||
<translation>일반(&R)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Client mode</source>
|
||||
<translation>클라이언트 모드</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Use server's keyboard language on this computer</source>
|
||||
<translation>이 컴퓨터에서 서버의 키보드 언어 사용</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>App</source>
|
||||
<translation>앱</translation>
|
||||
@ -1315,14 +1346,6 @@ Enabling this setting will disable the server config GUI.</source>
|
||||
<source>Include version in the window title</source>
|
||||
<translation type="unfinished">창 제목에 버전 정보 포함</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Invert vertical scroll direction on this computer</source>
|
||||
<translation type="unfinished">이 컴퓨터에서 세로 스크롤 방향을 반전합니다</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Vertical Scroll Scale</source>
|
||||
<translation type="unfinished">수직 스크롤 스케일</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>i18n</name>
|
||||
|
||||
@ -139,6 +139,41 @@ p, li { white-space: pre-wrap; }
|
||||
<translation>Переключиться на </translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ClientConfigDialog</name>
|
||||
<message>
|
||||
<source>Client Configuration</source>
|
||||
<translation type="unfinished">Конфигурация клиента</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Use server's keyboard language on this computer</source>
|
||||
<translation type="unfinished">Использовать язык клавиатуры сервера на этом компьютере</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Invert vertical scroll direction on this computer</source>
|
||||
<translation type="unfinished">Инвертировать направление вертикальной прокрутки на этом компьютере</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Vertical Scroll Scale</source>
|
||||
<translation type="unfinished">Вертикальная шкала прокрутки</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Close and save changes</source>
|
||||
<translation type="unfinished">Закрыть и сохранить изменения</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Close and forget changes</source>
|
||||
<translation type="unfinished">Закройте изменения и забудьте о них</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Reset to stored values</source>
|
||||
<translation type="unfinished">Сбросить до сохраненных значений</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Reset to default values</source>
|
||||
<translation type="unfinished">Сбросить до значений по умолчанию</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>FingerprintDialog</name>
|
||||
<message>
|
||||
@ -539,6 +574,10 @@ Valid names:
|
||||
<source>The Core executable could not be successfully started, although it does exist. Please check if you have sufficient permissions to run this program.</source>
|
||||
<translation>Не удалось запустить исполняемый файл ядра, хотя он существует. Проверьте наличие прав на запуск программы.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Configure Client</source>
|
||||
<translation type="unfinished">&Настройка клиента</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Connect to:</source>
|
||||
<translation type="unfinished">Подключиться к:</translation>
|
||||
@ -558,10 +597,6 @@ Valid names:
|
||||
</context>
|
||||
<context>
|
||||
<name>QObject</name>
|
||||
<message>
|
||||
<source>%1 is already running</source>
|
||||
<translation>%1 уже запущен</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>fatal error</source>
|
||||
<translation>критическая ошибка</translation>
|
||||
@ -741,6 +776,10 @@ Valid names:
|
||||
<extracomment>%1 will be replaced by the certificate path</extracomment>
|
||||
<translation>не удалось прочитать RSA-ключ из файла сертификата: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%1 is already running</source>
|
||||
<translation>%1 уже запущен</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ScreenSettingsDialog</name>
|
||||
@ -1103,14 +1142,6 @@ Enabling this setting will disable the server config GUI.</source>
|
||||
<source>&Regular</source>
|
||||
<translation>&Основные</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Client mode</source>
|
||||
<translation>Режим клиента</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Use server's keyboard language on this computer</source>
|
||||
<translation>Использовать язык клавиатуры сервера на этом компьютере</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>App</source>
|
||||
<translation>Приложение</translation>
|
||||
@ -1315,14 +1346,6 @@ Enabling this setting will disable the server config GUI.</source>
|
||||
<source>Include version in the window title</source>
|
||||
<translation type="unfinished">Включить номер версии в заголовок окна</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Invert vertical scroll direction on this computer</source>
|
||||
<translation type="unfinished">Инвертировать направление вертикальной прокрутки на этом компьютере</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Vertical Scroll Scale</source>
|
||||
<translation type="unfinished">Вертикальная шкала прокрутки</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>i18n</name>
|
||||
|
||||
@ -139,6 +139,41 @@ p, li { white-space: pre-wrap; }
|
||||
<translation>切换到 </translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ClientConfigDialog</name>
|
||||
<message>
|
||||
<source>Client Configuration</source>
|
||||
<translation type="unfinished">客户端配置</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Use server's keyboard language on this computer</source>
|
||||
<translation type="unfinished">在此计算机上使用服务器的键盘语言</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Invert vertical scroll direction on this computer</source>
|
||||
<translation type="unfinished">在此计算机上反转垂直滚动方向</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Vertical Scroll Scale</source>
|
||||
<translation type="unfinished">垂直滚动比例</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Close and save changes</source>
|
||||
<translation type="unfinished">关闭并保存更改</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Close and forget changes</source>
|
||||
<translation type="unfinished">关闭并忘记更改</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Reset to stored values</source>
|
||||
<translation type="unfinished">重置为存储值</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Reset to default values</source>
|
||||
<translation type="unfinished">重置为默认值</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>FingerprintDialog</name>
|
||||
<message>
|
||||
@ -537,6 +572,10 @@ Valid names:
|
||||
<source>The Core executable could not be successfully started, although it does exist. Please check if you have sufficient permissions to run this program.</source>
|
||||
<translation type="unfinished">Core 可执行文件虽然存在,但无法成功启动。请检查您是否拥有运行此程序的足够权限。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Configure Client</source>
|
||||
<translation type="unfinished">配置客户端(&C)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Connect to:</source>
|
||||
<translation type="unfinished">连接到:</translation>
|
||||
@ -556,10 +595,6 @@ Valid names:
|
||||
</context>
|
||||
<context>
|
||||
<name>QObject</name>
|
||||
<message>
|
||||
<source>%1 is already running</source>
|
||||
<translation>%1 已经在运行中</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>fatal error</source>
|
||||
<translation>致命错误</translation>
|
||||
@ -741,6 +776,10 @@ Valid names:
|
||||
<extracomment>%1 will be replaced by the certificate path</extracomment>
|
||||
<translation type="unfinished">无法从证书文件中读取 RSA 密钥:%1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%1 is already running</source>
|
||||
<translation>%1 已经在运行中</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ScreenSettingsDialog</name>
|
||||
@ -1105,14 +1144,6 @@ Enabling this setting will disable the server config GUI.</source>
|
||||
<source>&Regular</source>
|
||||
<translation>常规(&R)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Client mode</source>
|
||||
<translation>客户端模式</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Use server's keyboard language on this computer</source>
|
||||
<translation>在此计算机上使用服务器的键盘语言</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>App</source>
|
||||
<translation>应用程序</translation>
|
||||
@ -1317,14 +1348,6 @@ Enabling this setting will disable the server config GUI.</source>
|
||||
<source>Include version in the window title</source>
|
||||
<translation type="unfinished">在窗口标题中包含版本信息</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Invert vertical scroll direction on this computer</source>
|
||||
<translation type="unfinished">在此计算机上反转垂直滚动方向</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Vertical Scroll Scale</source>
|
||||
<translation type="unfinished">垂直滚动比例</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>i18n</name>
|
||||
|
||||
Reference in New Issue
Block a user