|
|
@ -167,6 +167,7 @@ GMainWindow::GMainWindow() : emu_thread(nullptr) |
|
|
connect(game_list, SIGNAL(GameChosen(QString)), this, SLOT(OnGameListLoadFile(QString))); |
|
|
connect(game_list, SIGNAL(GameChosen(QString)), this, SLOT(OnGameListLoadFile(QString))); |
|
|
connect(ui.action_Load_File, SIGNAL(triggered()), this, SLOT(OnMenuLoadFile())); |
|
|
connect(ui.action_Load_File, SIGNAL(triggered()), this, SLOT(OnMenuLoadFile())); |
|
|
connect(ui.action_Load_Symbol_Map, SIGNAL(triggered()), this, SLOT(OnMenuLoadSymbolMap())); |
|
|
connect(ui.action_Load_Symbol_Map, SIGNAL(triggered()), this, SLOT(OnMenuLoadSymbolMap())); |
|
|
|
|
|
connect(ui.action_Select_Game_List_Root, SIGNAL(triggered()), this, SLOT(OnMenuSelectGameListRoot())); |
|
|
connect(ui.action_Start, SIGNAL(triggered()), this, SLOT(OnStartGame())); |
|
|
connect(ui.action_Start, SIGNAL(triggered()), this, SLOT(OnStartGame())); |
|
|
connect(ui.action_Pause, SIGNAL(triggered()), this, SLOT(OnPauseGame())); |
|
|
connect(ui.action_Pause, SIGNAL(triggered()), this, SLOT(OnPauseGame())); |
|
|
connect(ui.action_Stop, SIGNAL(triggered()), this, SLOT(OnStopGame())); |
|
|
connect(ui.action_Stop, SIGNAL(triggered()), this, SLOT(OnStopGame())); |
|
|
@ -380,6 +381,16 @@ void GMainWindow::OnMenuLoadSymbolMap() { |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
void GMainWindow::OnMenuSelectGameListRoot() { |
|
|
|
|
|
QSettings settings; |
|
|
|
|
|
|
|
|
|
|
|
QString dir_path = QFileDialog::getExistingDirectory(this, tr("Select Directory")); |
|
|
|
|
|
if (!dir_path.isEmpty()) { |
|
|
|
|
|
settings.setValue("gameListRootDir", dir_path); |
|
|
|
|
|
game_list->PopulateAsync(dir_path, settings.value("gameListDeepScan").toBool()); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
void GMainWindow::OnMenuRecentFile() { |
|
|
void GMainWindow::OnMenuRecentFile() { |
|
|
QAction* action = qobject_cast<QAction*>(sender()); |
|
|
QAction* action = qobject_cast<QAction*>(sender()); |
|
|
assert(action); |
|
|
assert(action); |
|
|
|