Files
qt5-legatus-legacy/Lts/Tools/DBAdministration/db_administration.h
T
2026-08-13 18:33:10 +02:00

87 lines
2.2 KiB
C++
Executable File

/*
* @RDE_HEADER@
* <short description>
* $Id$
* $HeadURL$
* $Author$
* Created by Malte Schröder, SLSE, 2016-06-08
*/
#pragma once
#include <QMainWindow>
#include <QMap>
#include <QStandardItemModel>
#include <QVector>
#include <QCloseEvent>
#include <QProcess>
#include <QProgressDialog>
#include <QMenuBar>
#include <QSqlDatabase>
#include "logger.h"
#include "server_databases_model.h"
#include "local_databases_model.h"
#include "showLogFile.h"
#include "copy_exercise.h"
namespace Ui {
class DBAdministration;
}
namespace DBAdministration
{
class DBAdministration : public QMainWindow
{
Q_OBJECT
public:
explicit DBAdministration(QWidget *parent = nullptr);
~DBAdministration();
bool init();
private slots:
void onClosedClicked();
void onRemoveClicked();
void onActivateClicked();
void onCopyButtonClicked();
void onDropDbFinished(int exitCode, QProcess::ExitStatus exitStatus);
void onErrorOccured(QProcess::ProcessError error);
void incrementProgressBar();
void onShowLogFile();
void onStartApp();
void onStopApp();
void onPsauxFinished();
void onStartAppFinished(int exitCode, QProcess::ExitStatus exitStatus);
void onPsauxStopFinished();
void onStopAppFinished(int exitCode, QProcess::ExitStatus exitStatus);
void onCopyDbFailed();
void onCopyDbFinished();
private:
void enaDisa();
void handleProcInit(const QString &program, const QStringList &args);
void handleProcFinished(int exitCode, QProcess::ExitStatus exitStatus);
void disableButtons() { enaDisaButtons(false); }
void enableButtons() { enaDisaButtons(true); }
void enaDisaButtons(bool bEnable);
bool checkRunsOnEvaluationServer() const;
private:
Ui::DBAdministration *m_ui;
ServerDatabasesModel *m_serverDatabasesModel;
LocalDatabasesModel *m_localDatabasesModel;
ServerDatabasesProxyModel *m_proxyModelServer;
LocalDatabasesProxyModel *m_proxyModelLocal;
QProcess *m_proc;
QProgressDialog *m_progressDialog;
QTimer *m_timer;
QMenuBar *m_menuBar;
ShowLogFile *m_showLog;
LocalExercise m_localDatabaseToRemove;
CopyExercise *m_copyExercise;
bool m_bRunsOnEvaluationServer;
LOGGER_T m_logger;
};
} // namespace DBAdministration