Files
qt5-legatus-legacy/Lts/Plugins/ServiceManagement/Gui/ServiceEdit/scm_dialog_service.h
T
2026-08-13 18:33:10 +02:00

60 lines
1.3 KiB
C++
Executable File

#pragma once
#include <ServiceManagement/scm_dtc.h> // for Core::RunningState
#include <QWidget>
namespace Ui
{
class ServiceWidget;
}
namespace ServiceManagement
{
class ServiceWidget : public QWidget
{
Q_OBJECT
public:
enum Status
{
UNKNOWN = 0,
STARTING,
STARTED,
STOPPING,
STOPPED,
};
ServiceWidget(int32_t id, long long pid, const QString &name,
const Core::RunningState &state, const QString &errorString, QWidget *parent = nullptr);
~ServiceWidget();
void setPid(long long pid);
void setName(const QString &name);
void setTimestamp(long long timestamp);
void setState(Core::RunningState state);
void setErrorString(const QString &errorString);
void setStatus(const Status status);
Status getStatus() const;
int32_t id() const { return m_id; }
private:
Ui::ServiceWidget *m_ui;
Status m_status;
int32_t m_id;
static QString greenStyleSheet() { return QLatin1String("background-color: rgb(124, 189, 124);"); }
static QString orangeStyleSheet() { return QLatin1String("background-color: rgb(212, 190, 128);"); }
static QString redStyleSheet() { return QLatin1String("background-color: rgb(202, 122, 122);"); }
signals:
void signalRestartService(int id);
private slots:
void slotRestartService();
};
} // namespace ServiceManagement