added busy indicator when saving a list of clients, on the client info panel
This commit is contained in:
parent
24ea686e4d
commit
ce2a122d51
6 changed files with 42 additions and 11 deletions
|
@ -79,9 +79,11 @@ void ClientManagementModel::setData(const QModelIndex &index, QVariant data, int
|
|||
} else {
|
||||
return;
|
||||
}
|
||||
if (m_content[index.row()] != client) {
|
||||
m_content[index.row()] = client;
|
||||
emit dataChanged(index, index);
|
||||
}
|
||||
}
|
||||
|
||||
QHash<int, QByteArray> ClientManagementModel::roleNames() const
|
||||
{
|
||||
|
|
|
@ -21,6 +21,8 @@ void ClientInfoLogic::setCurrentClientId(int index)
|
|||
|
||||
void ClientInfoLogic::onUpdatePage()
|
||||
{
|
||||
set_busyIndicatorIsRunning(false);
|
||||
|
||||
DockerContainer selectedContainer = m_settings->defaultContainer(uiLogic()->selectedServerIndex);
|
||||
QString selectedContainerName = ContainerProps::containerHumanNames().value(selectedContainer);
|
||||
set_labelCurrentVpnProtocolText(tr("Service: ") + selectedContainerName);
|
||||
|
@ -44,6 +46,8 @@ void ClientInfoLogic::onUpdatePage()
|
|||
|
||||
void ClientInfoLogic::onLineEditNameAliasEditingFinished()
|
||||
{
|
||||
set_busyIndicatorIsRunning(true);
|
||||
|
||||
auto model = qobject_cast<ClientManagementModel*>(uiLogic()->clientManagementModel());
|
||||
auto modelIndex = model->index(m_currentClientIndex);
|
||||
model->setData(modelIndex, m_lineEditNameAliasText, ClientManagementModel::ClientRoles::NameRole);
|
||||
|
@ -63,6 +67,8 @@ void ClientInfoLogic::onLineEditNameAliasEditingFinished()
|
|||
tr("An error occurred while saving the list of clients.") + "\n" + errorString(error));
|
||||
}
|
||||
}
|
||||
|
||||
set_busyIndicatorIsRunning(false);
|
||||
}
|
||||
|
||||
void ClientInfoLogic::onRevokeOpenVpnCertificateClicked()
|
||||
|
|
|
@ -14,6 +14,7 @@ class ClientInfoLogic : public PageLogicBase
|
|||
AUTO_PROPERTY(QString, textAreaOpenVpnCertData)
|
||||
AUTO_PROPERTY(QString, labelCurrentVpnProtocolText)
|
||||
AUTO_PROPERTY(QString, textAreaWireGuardKeyData)
|
||||
AUTO_PROPERTY(bool, busyIndicatorIsRunning);
|
||||
|
||||
public:
|
||||
ClientInfoLogic(UiLogic *uiLogic, QObject *parent = nullptr);
|
||||
|
|
|
@ -9,6 +9,8 @@ import "../../Config"
|
|||
PageClientInfoBase {
|
||||
id: root
|
||||
protocol: ProtocolEnum.OpenVpn
|
||||
enabled: !ClientInfoLogic.busyIndicatorIsRunning
|
||||
|
||||
BackButton {
|
||||
id: back
|
||||
}
|
||||
|
@ -18,6 +20,14 @@ PageClientInfoBase {
|
|||
text: qsTr("Client Info")
|
||||
}
|
||||
|
||||
BusyIndicator {
|
||||
z: 99
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
visible: ClientInfoLogic.busyIndicatorIsRunning
|
||||
running: ClientInfoLogic.busyIndicatorIsRunning
|
||||
}
|
||||
|
||||
Flickable {
|
||||
id: fl
|
||||
width: root.width
|
||||
|
|
|
@ -9,6 +9,8 @@ import "../../Config"
|
|||
PageClientInfoBase {
|
||||
id: root
|
||||
protocol: ProtocolEnum.WireGuard
|
||||
enabled: !ClientInfoLogic.busyIndicatorIsRunning
|
||||
|
||||
BackButton {
|
||||
id: back
|
||||
}
|
||||
|
@ -18,6 +20,14 @@ PageClientInfoBase {
|
|||
text: qsTr("Client Info")
|
||||
}
|
||||
|
||||
BusyIndicator {
|
||||
z: 99
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
visible: ClientInfoLogic.busyIndicatorIsRunning
|
||||
running: ClientInfoLogic.busyIndicatorIsRunning
|
||||
}
|
||||
|
||||
Flickable {
|
||||
id: fl
|
||||
width: root.width
|
||||
|
|
|
@ -23,6 +23,14 @@ PageBase {
|
|||
text: qsTr("Clients Management")
|
||||
}
|
||||
|
||||
BusyIndicator {
|
||||
z: 99
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
visible: ClientManagementLogic.busyIndicatorIsRunning
|
||||
running: ClientManagementLogic.busyIndicatorIsRunning
|
||||
}
|
||||
|
||||
Flickable {
|
||||
id: fl
|
||||
width: root.width
|
||||
|
@ -47,12 +55,6 @@ PageBase {
|
|||
text: ClientManagementLogic.labelCurrentVpnProtocolText
|
||||
}
|
||||
|
||||
BusyIndicator {
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
visible: ClientManagementLogic.busyIndicatorIsRunning
|
||||
running: ClientManagementLogic.busyIndicatorIsRunning
|
||||
}
|
||||
|
||||
SortFilterProxyModel {
|
||||
id: proxyClientManagementModel
|
||||
sourceModel: UiLogic.clientManagementModel
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue