From bace986e441fc02b1ec9c9c3096fea1e5529aa52 Mon Sep 17 00:00:00 2001 From: Aotrix <9aotrix@protonmail.com> Date: Sat, 7 Feb 2026 05:07:49 +0100 Subject: added .json filter --- gameView/main.cpp | 33 +++++++++++++++++++++++++++++---- 1 file changed, 29 insertions(+), 4 deletions(-) (limited to 'gameView') diff --git a/gameView/main.cpp b/gameView/main.cpp index 838f147..6f4e145 100644 --- a/gameView/main.cpp +++ b/gameView/main.cpp @@ -1,13 +1,33 @@ #include #include +#include #include #include #include #include #include #include +#include #include +void configureMainMenuBar(QMenuBar &iMenuBar) { + QMenu *aOpenMenu = iMenuBar.addMenu("File"); + aOpenMenu->addAction("Open JSON file", [] { + QFileDialog aFileDialog; + aFileDialog.setWindowTitle("Choose JSON file"); + QDir aCurrentDir{QDir::currentPath()}; + aFileDialog.setDirectory(aCurrentDir); + aFileDialog.setFileMode(QFileDialog::ExistingFile); + aFileDialog.setOption(QFileDialog::ShowDirsOnly, false); + aFileDialog.setNameFilter("*.json"); + aFileDialog.exec(); + const QStringList kFilePaths{aFileDialog.selectedFiles()}; + if (kFilePaths.size() > 0) { + std::cout << kFilePaths[0].toStdString(); + } + }); +} + int main(int argc, char *argv[]) { QApplication aApplication(argc, argv); QWidget aWindow; @@ -16,10 +36,15 @@ int main(int argc, char *argv[]) { aWindow.setWindowFlag(Qt::WindowType::Dialog); QGridLayout aLayout(&aWindow); - QListWidget aListWidget; - aListWidget.insertItem(0, "first card"); - aListWidget.insertItem(1, "second card"); - aLayout.addWidget(&aListWidget, 0, 0); + QMenuBar aMenuBar; + configureMainMenuBar(aMenuBar); + + QListWidget aListOfCards; + aListOfCards.insertItem(0, "first card"); + aListOfCards.insertItem(1, "second card"); + + aLayout.addWidget(&aMenuBar, 0, 0); + aLayout.addWidget(&aListOfCards, 1, 0); aWindow.show(); aWindow.setWindowTitle("Hearthstone simulator"); -- cgit v1.2.3