/* * @RDE_HEADER@ * * $Id$ * $HeadURL$ * $Author$ * Created by Malte Schröder, SLSE, 2016-06-08 */ #pragma once #include #include #include #include #include #include #include #include #include #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