mirror of
https://github.com/redstrate/Novus.git
synced 2025-04-26 13:47:46 +00:00
Add sdklauncher application
This commit is contained in:
parent
4002901dbd
commit
e66036c9fc
5 changed files with 92 additions and 1 deletions
|
@ -47,4 +47,5 @@ add_subdirectory(explorer)
|
|||
add_subdirectory(bonedecomp)
|
||||
add_subdirectory(parts)
|
||||
add_subdirectory(common)
|
||||
add_subdirectory(mdlviewer)
|
||||
add_subdirectory(mdlviewer)
|
||||
add_subdirectory(sdklauncher)
|
10
sdklauncher/CMakeLists.txt
Normal file
10
sdklauncher/CMakeLists.txt
Normal file
|
@ -0,0 +1,10 @@
|
|||
set(CMAKE_AUTOMOC ON)
|
||||
set(CMAKE_INCLUDE_CURRENT_DIR ON)
|
||||
|
||||
find_package(Qt5 COMPONENTS Widgets REQUIRED)
|
||||
|
||||
add_executable(sdklauncher
|
||||
src/main.cpp
|
||||
src/mainwindow.cpp)
|
||||
target_link_libraries(sdklauncher PUBLIC Qt5::Widgets)
|
||||
target_include_directories(sdklauncher PUBLIC include)
|
8
sdklauncher/include/mainwindow.h
Normal file
8
sdklauncher/include/mainwindow.h
Normal file
|
@ -0,0 +1,8 @@
|
|||
#pragma once
|
||||
|
||||
#include <QMainWindow>
|
||||
|
||||
class MainWindow : public QMainWindow {
|
||||
public:
|
||||
MainWindow();
|
||||
};
|
12
sdklauncher/src/main.cpp
Normal file
12
sdklauncher/src/main.cpp
Normal file
|
@ -0,0 +1,12 @@
|
|||
#include <QApplication>
|
||||
|
||||
#include "mainwindow.h"
|
||||
|
||||
int main(int argc, char* argv[]) {
|
||||
QApplication app(argc, argv);
|
||||
|
||||
MainWindow window;
|
||||
window.show();
|
||||
|
||||
return app.exec();
|
||||
}
|
60
sdklauncher/src/mainwindow.cpp
Normal file
60
sdklauncher/src/mainwindow.cpp
Normal file
|
@ -0,0 +1,60 @@
|
|||
#include "mainwindow.h"
|
||||
|
||||
#include <QListWidget>
|
||||
#include <QProcess>
|
||||
#include <QVBoxLayout>
|
||||
#include <QFormLayout>
|
||||
#include <QComboBox>
|
||||
#include <QDebug>
|
||||
|
||||
static QMap<QString, QString> applications = {
|
||||
{"Armoury", "armoury"},
|
||||
{"EXD Viewer", "exdviewer"},
|
||||
{"Explorer", "explorer"},
|
||||
{"Model Viewer", "mdlviewer"}
|
||||
};
|
||||
|
||||
MainWindow::MainWindow() {
|
||||
setWindowTitle("Novus SDK");
|
||||
|
||||
auto appList = new QListWidget();
|
||||
|
||||
auto applicationHeader = new QListWidgetItem();
|
||||
applicationHeader->setText("Applications");
|
||||
applicationHeader->setFlags(Qt::NoItemFlags);
|
||||
|
||||
appList->addItem(applicationHeader);
|
||||
|
||||
for(const auto& name : applications.keys()) {
|
||||
appList->addItem(name);
|
||||
}
|
||||
|
||||
connect(appList, &QListWidget::itemClicked, [this](QListWidgetItem* item) {
|
||||
QString exec = "./" + applications[item->text()];
|
||||
|
||||
qDebug() << "Launching" << exec;
|
||||
|
||||
QProcess::startDetached(exec, QStringList());
|
||||
});
|
||||
|
||||
auto appListLayout = new QVBoxLayout();
|
||||
appListLayout->addWidget(appList);
|
||||
|
||||
auto centralFrame = new QFrame();
|
||||
centralFrame->setLayout(appListLayout);
|
||||
|
||||
auto formLayout = new QFormLayout();
|
||||
|
||||
auto gameCombo = new QComboBox();
|
||||
formLayout->addRow("Current Game", gameCombo);
|
||||
formLayout->setFieldGrowthPolicy(QFormLayout::AllNonFixedFieldsGrow);
|
||||
gameCombo->addItem("Placeholder");
|
||||
|
||||
auto mainLayout = new QVBoxLayout();
|
||||
mainLayout->addWidget(centralFrame);
|
||||
mainLayout->addLayout(formLayout);
|
||||
auto centralWidget = new QWidget();
|
||||
centralWidget->setLayout(mainLayout);
|
||||
|
||||
setCentralWidget(centralWidget);
|
||||
}
|
Loading…
Add table
Reference in a new issue