aboutsummaryrefslogtreecommitdiff
path: root/src/frontend
diff options
context:
space:
mode:
authorArisotura <thetotalworm@gmail.com>2020-04-25 20:43:09 +0200
committerArisotura <thetotalworm@gmail.com>2020-04-25 20:43:09 +0200
commit439ca1b2b557040f6d5a2fe1e70dd0f5e4d74484 (patch)
treeac109438cf3810db0356922aa9037c9cac29586a /src/frontend
parent0bdafb62951234eab93ea46ba82ea9e2a0fc1277 (diff)
get a Qt window showing up. 'tis a start, I guess.
Diffstat (limited to 'src/frontend')
-rw-r--r--src/frontend/qt_sdl/CMakeLists.txt7
-rw-r--r--src/frontend/qt_sdl/main.cpp27
-rw-r--r--src/frontend/qt_sdl/main.h14
3 files changed, 38 insertions, 10 deletions
diff --git a/src/frontend/qt_sdl/CMakeLists.txt b/src/frontend/qt_sdl/CMakeLists.txt
index ff2ed09..1ee7629 100644
--- a/src/frontend/qt_sdl/CMakeLists.txt
+++ b/src/frontend/qt_sdl/CMakeLists.txt
@@ -9,8 +9,11 @@ if (WIN32)
endif()
find_package(Qt5 COMPONENTS Core REQUIRED)
+find_package(Qt5 COMPONENTS Gui REQUIRED)
find_package(Qt5 COMPONENTS Widgets REQUIRED)
+set(CMAKE_AUTOMOC ON)
+
find_package(PkgConfig REQUIRED)
pkg_check_modules(SDL2 REQUIRED sdl2)
@@ -41,14 +44,14 @@ if (UNIX)
--generate-header "${CMAKE_SOURCE_DIR}/melon_grc.xml")
if (CMAKE_SYSTEM_NAME STREQUAL "Linux")
- target_link_libraries(melonDS dl Qt5::Core Qt5::Widgets)
+ target_link_libraries(melonDS dl Qt5::Core Qt5::Gui Qt5::Widgets)
endif ()
target_sources(melonDS PUBLIC melon_grc.c)
elseif (WIN32)
target_sources(melonDS PUBLIC "${CMAKE_SOURCE_DIR}/melon.rc")
target_include_directories(melonDS PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/../..")
- target_link_libraries(melonDS comctl32 d2d1 dwrite uxtheme ws2_32 iphlpapi gdi32 Qt5::Core Qt5::Widgets)
+ target_link_libraries(melonDS comctl32 d2d1 dwrite uxtheme ws2_32 iphlpapi gdi32 Qt5::Core Qt5::Gui Qt5::Widgets)
endif ()
install(FILES ../../net.kuribo64.melonDS.desktop DESTINATION ${CMAKE_INSTALL_PREFIX}/share/applications)
diff --git a/src/frontend/qt_sdl/main.cpp b/src/frontend/qt_sdl/main.cpp
index 0b9d15e..0eb84a5 100644
--- a/src/frontend/qt_sdl/main.cpp
+++ b/src/frontend/qt_sdl/main.cpp
@@ -21,15 +21,26 @@
#include <stdio.h>
#include <string.h>
-// Qt includes and shit here, I guess
-#include <QtCore/QBitArray>
+#include <QApplication>
+#include <QMainWindow>
#include "main.h"
#include "../../version.h"
-//
+MainWindow::MainWindow(QWidget* parent) : QMainWindow(parent)
+{
+ setWindowTitle("melonDS - assfucking Qt version");
+
+ // burp
+ QWidget *centralWidget = new QWidget(this);
+ setCentralWidget(centralWidget);
+}
+
+MainWindow::~MainWindow()
+{
+}
int main(int argc, char** argv)
@@ -39,10 +50,12 @@ int main(int argc, char** argv)
printf("melonDS " MELONDS_VERSION "\n");
printf(MELONDS_URL "\n");
- printf("Arisotura hereby admits defeat\n");
- printf("NI DIEU NI MAITRE\n");
+ QApplication melon(argc, argv);
+
+ MainWindow win;
+ win.show();
- return 0;
+ return melon.exec();
}
#ifdef __WIN32__
@@ -59,7 +72,7 @@ int CALLBACK WinMain(HINSTANCE hinst, HINSTANCE hprev, LPSTR cmdline, int cmdsho
for (int i = 0; i < argc; i++)
{
int len = WideCharToMultiByte(CP_UTF8, 0, argv_w[i], -1, NULL, 0, NULL, NULL);
- if (len < 1) return NULL;
+ if (len < 1) { argv[i] = nullarg; continue; }
argv[i] = new char[len];
int res = WideCharToMultiByte(CP_UTF8, 0, argv_w[i], -1, argv[i], len, NULL, NULL);
if (res != len) { delete[] argv[i]; argv[i] = nullarg; }
diff --git a/src/frontend/qt_sdl/main.h b/src/frontend/qt_sdl/main.h
index 65d6518..ad795ef 100644
--- a/src/frontend/qt_sdl/main.h
+++ b/src/frontend/qt_sdl/main.h
@@ -19,6 +19,18 @@
#ifndef MAIN_H
#define MAIN_H
-// put the class shit here
+#include <QMainWindow>
+
+class MainWindow : public QMainWindow
+{
+ Q_OBJECT
+
+public:
+ explicit MainWindow(QWidget* parent = nullptr);
+ ~MainWindow();
+
+private:
+ // private shit goes here
+};
#endif // MAIN_H