refactor: remove redundant client / server staus labels, the status label provides this info already

This commit is contained in:
sithlord48
2025-02-19 19:51:22 -05:00
committed by Nick Bolton
parent e9c8965066
commit 10e5a305bb
7 changed files with 1 additions and 155 deletions

View File

@ -94,8 +94,6 @@ add_executable(${target} WIN32 MACOSX_BUNDLE
dialogs/SettingsDialog.cpp
dialogs/SettingsDialog.h
dialogs/SettingsDialog.ui
widgets/ClientStateLabel.cpp
widgets/ClientStateLabel.h
widgets/FingerprintPreview.h
widgets/FingerprintPreview.cpp
widgets/KeySequenceWidget.cpp
@ -104,8 +102,6 @@ add_executable(${target} WIN32 MACOSX_BUNDLE
widgets/NewScreenWidget.cpp
widgets/ScreenSetupView.cpp
widgets/ScreenSetupView.h
widgets/ServerStateLabel.cpp
widgets/ServerStateLabel.h
widgets/TrashScreenWidget.cpp
widgets/TrashScreenWidget.h
)

View File

@ -733,10 +733,8 @@ void MainWindow::checkConnected(const QString &line)
{
if (ui->rbModeServer->isChecked()) {
m_serverConnection.handleLogLine(line);
ui->labelServerState->updateServerState(line);
} else {
m_clientConnection.handleLogLine(line);
ui->m_pLabelClientState->updateClientState(line);
}
}

View File

@ -7,7 +7,7 @@
<x>0</x>
<y>0</y>
<width>883</width>
<height>650</height>
<height>583</height>
</rect>
</property>
<property name="sizePolicy">
@ -219,16 +219,6 @@
</layout>
</widget>
</item>
<item>
<widget class="deskflow::gui::widgets::ServerStateLabel" name="labelServerState">
<property name="text">
<string>No clients connected</string>
</property>
<property name="indent">
<number>20</number>
</property>
</widget>
</item>
<item>
<spacer name="verticalSpacer_2">
<property name="orientation">
@ -383,16 +373,6 @@
</item>
</layout>
</item>
<item>
<widget class="deskflow::gui::widgets::ClientStateLabel" name="m_pLabelClientState">
<property name="text">
<string>Connected to server</string>
</property>
<property name="indent">
<number>20</number>
</property>
</widget>
</item>
</layout>
</widget>
</item>
@ -512,18 +492,6 @@
</widget>
<widget class="QStatusBar" name="statusBar"/>
</widget>
<customwidgets>
<customwidget>
<class>deskflow::gui::widgets::ServerStateLabel</class>
<extends>QLabel</extends>
<header>widgets/ServerStateLabel.h</header>
</customwidget>
<customwidget>
<class>deskflow::gui::widgets::ClientStateLabel</class>
<extends>QLabel</extends>
<header>widgets/ClientStateLabel.h</header>
</customwidget>
</customwidgets>
<tabstops>
<tabstop>rbModeServer</tabstop>
<tabstop>lineClientIp</tabstop>

View File

@ -1,25 +0,0 @@
/*
* Deskflow -- mouse and keyboard sharing utility
* SPDX-FileCopyrightText: (C) 2021 Symless Ltd.
* SPDX-License-Identifier: GPL-2.0-only WITH LicenseRef-OpenSSL-Exception
*/
#include "ClientStateLabel.h"
namespace deskflow::gui::widgets {
ClientStateLabel::ClientStateLabel(QWidget *parent) : QLabel(parent)
{
hide();
}
void ClientStateLabel::updateClientState(const QString &line)
{
if (line.contains("connected to server")) {
show();
} else if (line.contains("disconnected from server") || line.contains("process exited")) {
hide();
}
}
} // namespace deskflow::gui::widgets

View File

@ -1,20 +0,0 @@
/*
* Deskflow -- mouse and keyboard sharing utility
* SPDX-FileCopyrightText: (C) 2021 Symless Ltd.
* SPDX-License-Identifier: GPL-2.0-only WITH LicenseRef-OpenSSL-Exception
*/
#pragma once
#include <QLabel>
namespace deskflow::gui::widgets {
class ClientStateLabel : public QLabel
{
public:
explicit ClientStateLabel(QWidget *parent = nullptr);
void updateClientState(const QString &line);
};
} // namespace deskflow::gui::widgets

View File

@ -1,45 +0,0 @@
/*
* Deskflow -- mouse and keyboard sharing utility
* SPDX-FileCopyrightText: (C) 2021 Symless Ltd.
* SPDX-License-Identifier: GPL-2.0-only WITH LicenseRef-OpenSSL-Exception
*/
#include "ServerStateLabel.h"
#include "gui/core/ServerMessage.h"
using namespace deskflow::gui;
namespace deskflow::gui::widgets {
ServerStateLabel::ServerStateLabel(QWidget *parent) : QLabel(parent)
{
}
void ServerStateLabel::updateServerState(const QString &line)
{
ServerMessage message(line);
if (message.isExitMessage()) {
m_clients.clear();
} else if (message.isConnectedMessage()) {
m_clients.append(message.getClientName());
} else if (message.isDisconnectedMessage()) {
m_clients.removeAll(message.getClientName());
}
if (m_clients.isEmpty()) {
setText(tr("No clients connected"));
} else {
// unfortunately, we can't rely on the clients list because we don't always
// catch the connect/disconnect messages. so clients tend to get stuck in
// the list even though they're offline.
// in order to properly show a list of clients, we would need the core to
// print a list of connected clients on every connect/disconnect event,
// which could be a bit noisy in the logs (perhaps an ipc message would be
// needed).
setText(tr("Client(s) are connected"));
}
}
} // namespace deskflow::gui::widgets

View File

@ -1,26 +0,0 @@
/*
* Deskflow -- mouse and keyboard sharing utility
* SPDX-FileCopyrightText: (C) 2021 Symless Ltd.
* SPDX-License-Identifier: GPL-2.0-only WITH LicenseRef-OpenSSL-Exception
*/
#pragma once
#include <QLabel>
#include <QStringList>
namespace deskflow::gui::widgets {
class ServerStateLabel : public QLabel
{
public:
explicit ServerStateLabel(QWidget *parent = nullptr);
void updateServerState(const QString &line);
private:
QStringList m_clients;
void updateState();
};
} // namespace deskflow::gui::widgets