From a9e9f1207b5b56fea84365896c8ada67539787f8 Mon Sep 17 00:00:00 2001 From: Jacob Gustafson Date: Thu, 18 May 2017 22:16:58 -0400 Subject: [PATCH] added launcher --- games/ENLIVEN/etc/header.xcf | Bin 0 -> 10578 bytes games/ENLIVEN/etc/icon.xcf | Bin 0 -> 29344 bytes games/ENLIVEN/menu/header.png | Bin 0 -> 1567 bytes games/ENLIVEN/menu/icon.png | Bin 0 -> 3508 bytes .../destination/ENLIVEN/ENLIVEN.pro | 20 ++ .../destination/ENLIVEN/ENLIVEN.pro.user | 318 ++++++++++++++++++ .../destination/ENLIVEN/main.cpp | 12 + .../destination/ENLIVEN/mainwindow.cpp | 148 ++++++++ .../destination/ENLIVEN/mainwindow.h | 33 ++ .../destination/ENLIVEN/mainwindow.ui | 85 +++++ 10 files changed, 616 insertions(+) create mode 100644 games/ENLIVEN/etc/header.xcf create mode 100644 games/ENLIVEN/etc/icon.xcf create mode 100644 games/ENLIVEN/menu/header.png create mode 100644 games/ENLIVEN/menu/icon.png create mode 100644 install-windows-client/destination/ENLIVEN/ENLIVEN.pro create mode 100644 install-windows-client/destination/ENLIVEN/ENLIVEN.pro.user create mode 100644 install-windows-client/destination/ENLIVEN/main.cpp create mode 100644 install-windows-client/destination/ENLIVEN/mainwindow.cpp create mode 100644 install-windows-client/destination/ENLIVEN/mainwindow.h create mode 100644 install-windows-client/destination/ENLIVEN/mainwindow.ui diff --git a/games/ENLIVEN/etc/header.xcf b/games/ENLIVEN/etc/header.xcf new file mode 100644 index 0000000000000000000000000000000000000000..8f7fc0571be217ade1749b49b48d5bcfe1d2e738 GIT binary patch literal 10578 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 HTS)#F<7(#^ literal 0 HcmV?d00001 diff --git a/games/ENLIVEN/etc/icon.xcf b/games/ENLIVEN/etc/icon.xcf new file mode 100644 index 0000000000000000000000000000000000000000..502897b5766494b66102ef3ce04a38b9241bbc69 GIT binary patch literal 29344 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 ?ZZzr>v4mp~9uB4Yihulvn>&ogioq23Cy3@b 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 i&pdks`Tak98vg~~Syqyjv&t&~0000 + + + + + EnvironmentId + {45478e01-c3a6-4ce2-8136-072af7df2437} + + + ProjectExplorer.Project.ActiveTarget + 0 + + + ProjectExplorer.Project.EditorSettings + + true + false + true + + Cpp + + CppGlobal + + + + QmlJS + + QmlJSGlobal + + + 2 + UTF-8 + false + 4 + false + 80 + true + true + 1 + true + false + 0 + true + true + 0 + 8 + true + 1 + true + true + true + false + + + + ProjectExplorer.Project.PluginSettings + + + + ProjectExplorer.Project.Target.0 + + Desktop Qt 5.7.0 MinGW 32bit + Desktop Qt 5.7.0 MinGW 32bit + qt.57.win32_mingw53_kit + 1 + 0 + 0 + + C:/Users/Owner/Documents/GitHub/build-ENLIVEN-Desktop_Qt_5_7_0_MinGW_32bit-Debug + + + true + qmake + + QtProjectManager.QMakeBuildStep + true + + false + false + false + + + true + Make + + Qt4ProjectManager.MakeStep + + false + + + + 2 + Build + + ProjectExplorer.BuildSteps.Build + + + + true + Make + + Qt4ProjectManager.MakeStep + + true + clean + + + 1 + Clean + + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Debug + + Qt4ProjectManager.Qt4BuildConfiguration + 2 + true + + + C:/Users/Owner/Documents/GitHub/build-ENLIVEN-Desktop_Qt_5_7_0_MinGW_32bit-Release + + + true + qmake + + QtProjectManager.QMakeBuildStep + false + + false + false + false + + + true + Make + + Qt4ProjectManager.MakeStep + + false + + + + 2 + Build + + ProjectExplorer.BuildSteps.Build + + + + true + Make + + Qt4ProjectManager.MakeStep + + true + clean + + + 1 + Clean + + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Release + + Qt4ProjectManager.Qt4BuildConfiguration + 0 + true + + + C:/Users/Owner/Documents/GitHub/build-ENLIVEN-Desktop_Qt_5_7_0_MinGW_32bit-Profile + + + true + qmake + + QtProjectManager.QMakeBuildStep + true + + false + true + false + + + true + Make + + Qt4ProjectManager.MakeStep + + false + + + + 2 + Build + + ProjectExplorer.BuildSteps.Build + + + + true + Make + + Qt4ProjectManager.MakeStep + + true + clean + + + 1 + Clean + + ProjectExplorer.BuildSteps.Clean + + 2 + false + + Profile + + Qt4ProjectManager.Qt4BuildConfiguration + 0 + true + + 3 + + + 0 + Deploy + + ProjectExplorer.BuildSteps.Deploy + + 1 + Deploy locally + + ProjectExplorer.DefaultDeployConfiguration + + 1 + + + false + false + 1000 + + true + + false + false + false + false + true + 0.01 + 10 + true + 1 + 25 + + 1 + true + false + true + valgrind + + 0 + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + + 2 + + ENLIVEN + + Qt4ProjectManager.Qt4RunConfiguration:C:/Users/Owner/Documents/GitHub/EnlivenMinetest/install-windows-client/destination/ENLIVEN/ENLIVEN.pro + true + + ENLIVEN.pro + false + + C:/Users/Owner/Documents/GitHub/build-ENLIVEN-Desktop_Qt_5_7_0_MinGW_32bit-Release + 3768 + false + true + false + false + true + + 1 + + + + ProjectExplorer.Project.TargetCount + 1 + + + ProjectExplorer.Project.Updater.FileVersion + 18 + + + Version + 18 + + diff --git a/install-windows-client/destination/ENLIVEN/main.cpp b/install-windows-client/destination/ENLIVEN/main.cpp new file mode 100644 index 0000000..80c95f8 --- /dev/null +++ b/install-windows-client/destination/ENLIVEN/main.cpp @@ -0,0 +1,12 @@ +#include "mainwindow.h" +#include + +int main(int argc, char *argv[]) +{ + QApplication a(argc, argv); + MainWindow w; + //a.connect( &a, SIGNAL( lastWindowClosed() ), &a, SLOT( quit() ) ); + w.show(); + + return a.exec(); +} diff --git a/install-windows-client/destination/ENLIVEN/mainwindow.cpp b/install-windows-client/destination/ENLIVEN/mainwindow.cpp new file mode 100644 index 0000000..1e9d05b --- /dev/null +++ b/install-windows-client/destination/ENLIVEN/mainwindow.cpp @@ -0,0 +1,148 @@ +#include "mainwindow.h" +#include "ui_mainwindow.h" +#include +#include +//#include +//#include +#include +//#include +#include +#include +#include +#include +#include +#include + +MainWindow::MainWindow(QWidget *parent) : + QMainWindow(parent), + ui(new Ui::MainWindow) +{ + ui->setupUi(this); + this->scaleFactor = 1.0; + + ui->upperImageLabel->setBackgroundRole(QPalette::Base); + ui->upperImageLabel->setSizePolicy(QSizePolicy::Ignored, QSizePolicy::Ignored); + ui->upperImageLabel->setScaledContents(true); + ui->lowerImageLabel->setBackgroundRole(QPalette::Base); + ui->lowerImageLabel->setSizePolicy(QSizePolicy::Ignored, QSizePolicy::Ignored); + ui->lowerImageLabel->setScaledContents(true); + //setCentralWidget(verticalLayout); + createActions(); + //resize(QGuiApplication::primaryScreen()->availableSize() * 3 / 5); + //resize(ui->lowerImageLabel->width()); + QFileInfo selfFI(QCoreApplication::applicationFilePath()); + QDir selfDir=selfFI.absoluteDir(); + QDir binDir(selfDir.absoluteFilePath("bin")); + QString minetestExePath = binDir.absoluteFilePath("minetest.exe"); + bool success_enable = false; + if (!QFileInfo(minetestExePath).exists()) { + QString try_path="C:\\games\\ENLIVEN\\bin\\minetest.exe"; + if (QFileInfo(try_path).exists()) { + minetestExePath = try_path; + } + } + if (!QFileInfo(minetestExePath).exists()) { + QString try_path="C:\\Program Files (x86)\\ENLIVEN\\bin\\minetest.exe"; + if (QFileInfo(try_path).exists()) { + minetestExePath = try_path; + } + } + if (QFileInfo(minetestExePath).exists()) { + QProcess* newProcess = new QProcess(); + QDir workingDir = QFileInfo(minetestExePath).absoluteDir(); + // Will not launch the application + newProcess->setWorkingDirectory(workingDir.absolutePath()); + newProcess->start(minetestExePath); + success_enable = true; + qDebug() << "launched " << minetestExePath; + } + if (success_enable) QTimer::singleShot(1000, this, &QApplication::closeAllWindows); // Qt 5 + //QApplication::closeAllWindows(); +} + +MainWindow::~MainWindow() +{ + delete ui; +} + +void MainWindow::setImage(const QImage &newImage, int imageIndex) //QLabel* imageLabel) +{ + if (imageIndex==0) { + upperImage = newImage; + ui->upperImageLabel->setPixmap(QPixmap::fromImage(upperImage)); + } + else { + lowerImage = newImage; + ui->lowerImageLabel->setPixmap(QPixmap::fromImage(lowerImage)); + } + scaleFactor = 1.0; + + //scrollArea->setVisible(true); + //printAct->setEnabled(true); + //fitToWindowAct->setEnabled(true); + //updateActions(); + + //if (!fitToWindowAct->isChecked()) + // imageLabel->adjustSize(); +} + +void MainWindow::createActions() +{ + //see http://doc.qt.io/qt-5/qtwidgets-widgets-imageviewer-example.html + QFileInfo selfFI(QCoreApplication::applicationFilePath()); + QDir selfDir=selfFI.absoluteDir(); + QDir gamesDir(selfDir.absoluteFilePath("games")); + QDir enlivenDir(gamesDir.absoluteFilePath("ENLIVEN")); + QDir menuImagesDir(enlivenDir.absoluteFilePath("menu")); + QString upperImagePath=menuImagesDir.absoluteFilePath("header.png"); + QString lowerImagePath=menuImagesDir.absoluteFilePath("icon.png"); + if (QFileInfo(upperImagePath).exists()) { + loadImage(upperImagePath, 0);// ui->upperImageLabel); + //below is NONWORKING from http://stackoverflow.com/questions/1357960/qt-jpg-image-display + //QGraphicsPixmapItem upperItem(QPixmap(upperImagePath)); + //QGraphicsScene upperScene; + //ui->upperGraphicsView->setScene(&upperScene); + //upperScene.addItem(&upperItem); + } + else qDebug() << tr("missing ") << upperImagePath; + if (QFileInfo(lowerImagePath).exists()) { + loadImage(lowerImagePath, 1);//ui->lowerImageLabel); + //below is NONWORKING from http://stackoverflow.com/questions/1357960/qt-jpg-image-display + //QGraphicsPixmapItem lowerItem(QPixmap(lowerImagePath)); + //QGraphicsScene lowerScene; + //ui->upperGraphicsView->setScene(&lowerScene); + //lowerScene.addItem(&lowerItem); + } + else qDebug() << tr("missing ") << lowerImagePath; +} + +bool MainWindow::loadImage(QString &fileName, int imageIndex) //, QLabel* imageLabel) +{ + QImageReader reader(fileName); + reader.setAutoTransform(true); + const QImage newImage = reader.read(); + if (newImage.isNull()) { + QMessageBox::information(this, QGuiApplication::applicationDisplayName(), + tr("Cannot load %1: %2") + .arg(QDir::toNativeSeparators(fileName), reader.errorString())); + return false; + } + setImage(newImage, imageIndex);// imageLabel); + //ui->scrollArea->setVisible(true); + //printAct->setEnabled(true); + //fitToWindowAct->setEnabled(true); + //updateActions(); + + //if (!fitToWindowAct->isChecked()) + //imageLabel->adjustSize(); +} + +void MainWindow::showGraphics() +{ + +} + +void MainWindow::launchGame() +{ + +} diff --git a/install-windows-client/destination/ENLIVEN/mainwindow.h b/install-windows-client/destination/ENLIVEN/mainwindow.h new file mode 100644 index 0000000..9f50f3a --- /dev/null +++ b/install-windows-client/destination/ENLIVEN/mainwindow.h @@ -0,0 +1,33 @@ +#ifndef MAINWINDOW_H +#define MAINWINDOW_H + +#include +#include + +namespace Ui { +class MainWindow; +} + +class MainWindow : public QMainWindow +{ + Q_OBJECT + +public: + explicit MainWindow(QWidget *parent = 0); + ~MainWindow(); + +private: + double scaleFactor; + void setImage(const QImage &newImage, int imageIndex); // QLabel* imageLabel); + void createActions(); + bool loadImage(QString &fileName, int imageIndex); // QLabel* imageLabel); + Ui::MainWindow *ui; + QImage upperImage; + QImage lowerImage; + +public slots: + void showGraphics(); + void launchGame(); +}; + +#endif // MAINWINDOW_H diff --git a/install-windows-client/destination/ENLIVEN/mainwindow.ui b/install-windows-client/destination/ENLIVEN/mainwindow.ui new file mode 100644 index 0000000..e8d3111 --- /dev/null +++ b/install-windows-client/destination/ENLIVEN/mainwindow.ui @@ -0,0 +1,85 @@ + + + MainWindow + + + + 0 + 0 + 256 + 256 + + + + + 0 + 0 + + + + + 256 + 256 + + + + + 256 + 256 + + + + ENLIVEN + + + + + + 10 + 10 + 231 + 51 + + + + + + + + + + 40 + 70 + 161 + 141 + + + + + + + + + + + 0 + 0 + 256 + 21 + + + + + + TopToolBarArea + + + false + + + + + + + +