Add 'Load Folder' menu option

merge-requests/60/head
Zach Hilman 2018-06-14 12:27:29 +07:00
parent 9f8fbce35b
commit f969ddb54e
3 changed files with 17 additions and 0 deletions

@ -278,6 +278,7 @@ void GMainWindow::ConnectWidgetEvents() {
void GMainWindow::ConnectMenuEvents() { void GMainWindow::ConnectMenuEvents() {
// File // File
connect(ui.action_Load_File, &QAction::triggered, this, &GMainWindow::OnMenuLoadFile); connect(ui.action_Load_File, &QAction::triggered, this, &GMainWindow::OnMenuLoadFile);
connect(ui.action_Load_Folder, &QAction::triggered, this, &GMainWindow::OnMenuLoadFolder);
connect(ui.action_Select_Game_List_Root, &QAction::triggered, this, connect(ui.action_Select_Game_List_Root, &QAction::triggered, this,
&GMainWindow::OnMenuSelectGameListRoot); &GMainWindow::OnMenuSelectGameListRoot);
connect(ui.action_Exit, &QAction::triggered, this, &QMainWindow::close); connect(ui.action_Exit, &QAction::triggered, this, &QMainWindow::close);
@ -564,6 +565,15 @@ void GMainWindow::OnMenuLoadFile() {
} }
} }
void GMainWindow::OnMenuLoadFolder() {
QDir dir = QFileDialog::getExistingDirectory(this, tr("Open Extracted ROM Directory"));
QStringList matchingMain = dir.entryList(QStringList() << "main", QDir::Files);
if (matchingMain.size() == 1) {
BootGame(matchingMain[0]);
}
}
void GMainWindow::OnMenuSelectGameListRoot() { void GMainWindow::OnMenuSelectGameListRoot() {
QString dir_path = QFileDialog::getExistingDirectory(this, tr("Select Directory")); QString dir_path = QFileDialog::getExistingDirectory(this, tr("Select Directory"));
if (!dir_path.isEmpty()) { if (!dir_path.isEmpty()) {

@ -123,6 +123,7 @@ private slots:
void OnGameListLoadFile(QString game_path); void OnGameListLoadFile(QString game_path);
void OnGameListOpenSaveFolder(u64 program_id); void OnGameListOpenSaveFolder(u64 program_id);
void OnMenuLoadFile(); void OnMenuLoadFile();
void OnMenuLoadFolder();
/// Called whenever a user selects the "File->Select Game List Root" menu item /// Called whenever a user selects the "File->Select Game List Root" menu item
void OnMenuSelectGameListRoot(); void OnMenuSelectGameListRoot();
void OnMenuRecentFile(); void OnMenuRecentFile();

@ -58,6 +58,7 @@
</property> </property>
</widget> </widget>
<addaction name="action_Load_File"/> <addaction name="action_Load_File"/>
<addaction name="action_Load_Folder"/>
<addaction name="separator"/> <addaction name="separator"/>
<addaction name="action_Select_Game_List_Root"/> <addaction name="action_Select_Game_List_Root"/>
<addaction name="menu_recent_files"/> <addaction name="menu_recent_files"/>
@ -106,6 +107,11 @@
<string>Load File...</string> <string>Load File...</string>
</property> </property>
</action> </action>
<action name="action_Load_Folder">
<property name="text">
<string>Load Folder...</string>
</property>
</action>
<action name="action_Load_Symbol_Map"> <action name="action_Load_Symbol_Map">
<property name="text"> <property name="text">
<string>Load Symbol Map...</string> <string>Load Symbol Map...</string>