https option in settings page, and make settings page scrollable
This commit is contained in:
@@ -165,6 +165,24 @@ void AppController::setDeviceType(const QString& type)
|
||||
}
|
||||
}
|
||||
|
||||
bool AppController::https() const
|
||||
{
|
||||
return m_settings->https();
|
||||
}
|
||||
|
||||
void AppController::setHttps(bool enabled)
|
||||
{
|
||||
if (m_settings->https() != enabled) {
|
||||
m_settings->setHttps(enabled);
|
||||
emit httpsChanged();
|
||||
|
||||
LocalSend::InfoDto info = buildInfoDto();
|
||||
m_server->setLocalInfo(info, m_security->fingerprint());
|
||||
m_discovery->setLocalInfo(info, m_security->fingerprint(), m_settings->port(),
|
||||
enabled ? LocalSend::ProtocolType::Https : LocalSend::ProtocolType::Http);
|
||||
}
|
||||
}
|
||||
|
||||
QVariantList AppController::devices() const
|
||||
{
|
||||
QVariantList result;
|
||||
|
||||
@@ -34,6 +34,7 @@ class AppController : public QObject
|
||||
Q_PROPERTY(int totalReceiveFiles READ totalReceiveFiles NOTIFY receivingChanged)
|
||||
Q_PROPERTY(QString currentReceiveSenderAlias READ currentReceiveSenderAlias NOTIFY receivingChanged)
|
||||
Q_PROPERTY(QString deviceType READ deviceType WRITE setDeviceType NOTIFY deviceTypeChanged)
|
||||
Q_PROPERTY(bool https READ https WRITE setHttps NOTIFY httpsChanged)
|
||||
|
||||
public:
|
||||
explicit AppController(QObject* parent = nullptr);
|
||||
@@ -76,6 +77,9 @@ public:
|
||||
QString deviceType() const;
|
||||
void setDeviceType(const QString& type);
|
||||
|
||||
bool https() const;
|
||||
void setHttps(bool enabled);
|
||||
|
||||
Q_INVOKABLE void startDiscovery();
|
||||
Q_INVOKABLE void stopDiscovery();
|
||||
Q_INVOKABLE void refreshDevices();
|
||||
@@ -116,6 +120,7 @@ signals:
|
||||
void receivingChanged();
|
||||
void receiveProgressChanged();
|
||||
void deviceTypeChanged();
|
||||
void httpsChanged();
|
||||
|
||||
private slots:
|
||||
void onDeviceDiscovered(const LocalSend::Device& device);
|
||||
|
||||
@@ -735,6 +735,16 @@ ApplicationWindow {
|
||||
anchors.margins: 16
|
||||
spacing: 16
|
||||
|
||||
ScrollView {
|
||||
Layout.fillWidth: true
|
||||
Layout.fillHeight: true
|
||||
contentWidth: availableWidth
|
||||
clip: true
|
||||
|
||||
ColumnLayout {
|
||||
width: parent.width
|
||||
spacing: 16
|
||||
|
||||
GridLayout {
|
||||
columns: 2
|
||||
Layout.fillWidth: true
|
||||
@@ -825,6 +835,28 @@ ApplicationWindow {
|
||||
}
|
||||
}
|
||||
|
||||
CheckBox {
|
||||
id: advancedCheck
|
||||
Layout.fillWidth: true
|
||||
text: qsTr("Advanced Options")
|
||||
checked: false
|
||||
}
|
||||
|
||||
GridLayout {
|
||||
columns: 2
|
||||
Layout.fillWidth: true
|
||||
visible: advancedCheck.checked
|
||||
|
||||
Label { text: qsTr("HTTPS:") }
|
||||
CheckBox {
|
||||
id: httpsCheck
|
||||
checked: appController.https
|
||||
onCheckedChanged: appController.https = checked
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
FolderDialog {
|
||||
id: folderDialog
|
||||
onAccepted: {
|
||||
@@ -833,9 +865,8 @@ ApplicationWindow {
|
||||
}
|
||||
}
|
||||
|
||||
Item { Layout.fillHeight: true }
|
||||
|
||||
Label {
|
||||
Layout.fillWidth: true
|
||||
text: qsTr("Server Status: %1").arg(appController.serverRunning ? qsTr("Running") : qsTr("Stopped"))
|
||||
color: appController.serverRunning ? "green" : "red"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user