mirror of
https://github.com/Luca1991/NDSFactory.git
synced 2025-07-09 05:30:12 +02:00
Remember last used path in file/directory picker
This commit is contained in:
parent
e17d3805aa
commit
a2739a9ca8
@ -8,7 +8,7 @@ void MainWindow::on_fatExtractorLoadFatDataBtn_clicked()
|
|||||||
QString FatDataPath = QFileDialog::getOpenFileName(
|
QString FatDataPath = QFileDialog::getOpenFileName(
|
||||||
Q_NULLPTR,
|
Q_NULLPTR,
|
||||||
"NDS Fat Data",
|
"NDS Fat Data",
|
||||||
QDir::currentPath(),
|
"",
|
||||||
"NDS FAT_DATA (*.bin)");
|
"NDS FAT_DATA (*.bin)");
|
||||||
|
|
||||||
if (!FatDataPath.isNull())
|
if (!FatDataPath.isNull())
|
||||||
@ -22,7 +22,7 @@ void MainWindow::on_fatExtractorLoadFatBtn_clicked()
|
|||||||
QString FatPath = QFileDialog::getOpenFileName(
|
QString FatPath = QFileDialog::getOpenFileName(
|
||||||
Q_NULLPTR,
|
Q_NULLPTR,
|
||||||
"NDS Fat",
|
"NDS Fat",
|
||||||
QDir::currentPath(),
|
"",
|
||||||
"NDS FAT (*.bin)");
|
"NDS FAT (*.bin)");
|
||||||
|
|
||||||
if (!FatPath.isNull())
|
if (!FatPath.isNull())
|
||||||
@ -36,7 +36,7 @@ void MainWindow::on_fatExtractorLoadFntBtn_clicked()
|
|||||||
QString FntPath = QFileDialog::getOpenFileName(
|
QString FntPath = QFileDialog::getOpenFileName(
|
||||||
Q_NULLPTR,
|
Q_NULLPTR,
|
||||||
"NDS Fnt",
|
"NDS Fnt",
|
||||||
QDir::currentPath(),
|
"",
|
||||||
"NDS FNT (*.bin)");
|
"NDS FNT (*.bin)");
|
||||||
|
|
||||||
if (!FntPath.isNull())
|
if (!FntPath.isNull())
|
||||||
@ -68,7 +68,7 @@ void MainWindow::on_fatPatcherLoadFatBtn_clicked()
|
|||||||
QString fatPath = QFileDialog::getOpenFileName(
|
QString fatPath = QFileDialog::getOpenFileName(
|
||||||
Q_NULLPTR,
|
Q_NULLPTR,
|
||||||
"NDS Fat",
|
"NDS Fat",
|
||||||
QDir::currentPath(),
|
"",
|
||||||
"NDS Fat (*.bin)");
|
"NDS Fat (*.bin)");
|
||||||
|
|
||||||
if( !fatPath.isNull() )
|
if( !fatPath.isNull() )
|
||||||
|
@ -35,7 +35,7 @@ void MainWindow::on_packerLoadArm9BinBtn_clicked()
|
|||||||
QString arm9BinPath = QFileDialog::getOpenFileName(
|
QString arm9BinPath = QFileDialog::getOpenFileName(
|
||||||
Q_NULLPTR,
|
Q_NULLPTR,
|
||||||
"NDS Arm9Bin",
|
"NDS Arm9Bin",
|
||||||
QDir::currentPath(),
|
"",
|
||||||
"NDS Arm9Bin (*.bin)");
|
"NDS Arm9Bin (*.bin)");
|
||||||
|
|
||||||
if(!arm9BinPath.isNull())
|
if(!arm9BinPath.isNull())
|
||||||
@ -49,7 +49,7 @@ void MainWindow::on_packerLoadArm7BinBtn_clicked()
|
|||||||
QString arm7BinPath = QFileDialog::getOpenFileName(
|
QString arm7BinPath = QFileDialog::getOpenFileName(
|
||||||
Q_NULLPTR,
|
Q_NULLPTR,
|
||||||
"NDS Arm7Bin",
|
"NDS Arm7Bin",
|
||||||
QDir::currentPath(),
|
"",
|
||||||
"NDS Arm7Bin (*.bin)");
|
"NDS Arm7Bin (*.bin)");
|
||||||
|
|
||||||
if(!arm7BinPath.isNull())
|
if(!arm7BinPath.isNull())
|
||||||
@ -63,7 +63,7 @@ void MainWindow::on_packerLoadFntBtn_clicked()
|
|||||||
QString fntPath = QFileDialog::getOpenFileName(
|
QString fntPath = QFileDialog::getOpenFileName(
|
||||||
Q_NULLPTR,
|
Q_NULLPTR,
|
||||||
"NDS Fnt",
|
"NDS Fnt",
|
||||||
QDir::currentPath(),
|
"",
|
||||||
"NDS Fnt (*.bin)");
|
"NDS Fnt (*.bin)");
|
||||||
|
|
||||||
if(!fntPath.isNull())
|
if(!fntPath.isNull())
|
||||||
@ -77,7 +77,7 @@ void MainWindow::on_packerLoadFatBtn_clicked()
|
|||||||
QString fatPath = QFileDialog::getOpenFileName(
|
QString fatPath = QFileDialog::getOpenFileName(
|
||||||
Q_NULLPTR,
|
Q_NULLPTR,
|
||||||
"NDS Fat",
|
"NDS Fat",
|
||||||
QDir::currentPath(),
|
"",
|
||||||
"NDS Fat (*.bin)");
|
"NDS Fat (*.bin)");
|
||||||
|
|
||||||
if(!fatPath.isNull())
|
if(!fatPath.isNull())
|
||||||
@ -91,7 +91,7 @@ void MainWindow::on_packerLoadArm9OverlayBtn_clicked()
|
|||||||
QString arm9OverlayPath = QFileDialog::getOpenFileName(
|
QString arm9OverlayPath = QFileDialog::getOpenFileName(
|
||||||
Q_NULLPTR,
|
Q_NULLPTR,
|
||||||
"NDS Arm9Overlay",
|
"NDS Arm9Overlay",
|
||||||
QDir::currentPath(),
|
"",
|
||||||
"NDS A9OVR (*.bin)");
|
"NDS A9OVR (*.bin)");
|
||||||
|
|
||||||
if( !arm9OverlayPath.isNull() )
|
if( !arm9OverlayPath.isNull() )
|
||||||
@ -105,7 +105,7 @@ void MainWindow::on_packerLoadArm9OverlayFilesBtn_clicked()
|
|||||||
QString arm9OverlayFilesPath = QFileDialog::getOpenFileName(
|
QString arm9OverlayFilesPath = QFileDialog::getOpenFileName(
|
||||||
Q_NULLPTR,
|
Q_NULLPTR,
|
||||||
"NDS Arm9Overlay Data",
|
"NDS Arm9Overlay Data",
|
||||||
QDir::currentPath(),
|
"",
|
||||||
"NDS A9OVR_DATA (*.bin)");
|
"NDS A9OVR_DATA (*.bin)");
|
||||||
|
|
||||||
if(!arm9OverlayFilesPath.isNull())
|
if(!arm9OverlayFilesPath.isNull())
|
||||||
@ -119,7 +119,7 @@ void MainWindow::on_packerLoadArm7OverlayBtn_clicked()
|
|||||||
QString arm7OverlayPath = QFileDialog::getOpenFileName(
|
QString arm7OverlayPath = QFileDialog::getOpenFileName(
|
||||||
Q_NULLPTR,
|
Q_NULLPTR,
|
||||||
"NDS Arm7Overlay",
|
"NDS Arm7Overlay",
|
||||||
QDir::currentPath(),
|
"",
|
||||||
"NDS A7OVR (*.bin)");
|
"NDS A7OVR (*.bin)");
|
||||||
|
|
||||||
if(!arm7OverlayPath.isNull())
|
if(!arm7OverlayPath.isNull())
|
||||||
@ -133,7 +133,7 @@ void MainWindow::on_packerLoadArm7OverlayFilesBtn_clicked()
|
|||||||
QString arm7OverlayFilesPath = QFileDialog::getOpenFileName(
|
QString arm7OverlayFilesPath = QFileDialog::getOpenFileName(
|
||||||
Q_NULLPTR,
|
Q_NULLPTR,
|
||||||
"NDS Arm7Overlay Data",
|
"NDS Arm7Overlay Data",
|
||||||
QDir::currentPath(),
|
"",
|
||||||
"NDS A7OVR_DATA (*.bin)");
|
"NDS A7OVR_DATA (*.bin)");
|
||||||
|
|
||||||
if(!arm7OverlayFilesPath.isNull())
|
if(!arm7OverlayFilesPath.isNull())
|
||||||
@ -147,7 +147,7 @@ void MainWindow::on_packerLoadIconTitleBtn_clicked()
|
|||||||
QString iconTitlePath = QFileDialog::getOpenFileName(
|
QString iconTitlePath = QFileDialog::getOpenFileName(
|
||||||
Q_NULLPTR,
|
Q_NULLPTR,
|
||||||
"NDS IconTitleLogo",
|
"NDS IconTitleLogo",
|
||||||
QDir::currentPath(),
|
"",
|
||||||
"NDS ITL (*.bin)");
|
"NDS ITL (*.bin)");
|
||||||
|
|
||||||
if(!iconTitlePath.isNull())
|
if(!iconTitlePath.isNull())
|
||||||
@ -161,7 +161,7 @@ void MainWindow::on_packerLoadFatFilesBtn_clicked()
|
|||||||
QString fatFilesPath = QFileDialog::getOpenFileName(
|
QString fatFilesPath = QFileDialog::getOpenFileName(
|
||||||
Q_NULLPTR,
|
Q_NULLPTR,
|
||||||
"NDS Fat Data",
|
"NDS Fat Data",
|
||||||
QDir::currentPath(),
|
"",
|
||||||
"NDS FAT_DATA (*.bin)");
|
"NDS FAT_DATA (*.bin)");
|
||||||
|
|
||||||
if(!fatFilesPath.isNull())
|
if(!fatFilesPath.isNull())
|
||||||
|
@ -3,6 +3,7 @@
|
|||||||
#include <QMessageBox>
|
#include <QMessageBox>
|
||||||
#include "./../../mainwindow.h"
|
#include "./../../mainwindow.h"
|
||||||
#include "./../../ui_mainwindow.h"
|
#include "./../../ui_mainwindow.h"
|
||||||
|
#include "./../../utils/filepicker.h"
|
||||||
|
|
||||||
|
|
||||||
void MainWindow::on_loadRomBtn_clicked()
|
void MainWindow::on_loadRomBtn_clicked()
|
||||||
@ -34,11 +35,7 @@ void MainWindow::on_loadRomBtn_clicked()
|
|||||||
|
|
||||||
void MainWindow::on_unpackerDumpHeaderBtn_clicked()
|
void MainWindow::on_unpackerDumpHeaderBtn_clicked()
|
||||||
{
|
{
|
||||||
QString dirPath = QFileDialog::getSaveFileName(
|
QString dirPath = customSaveFileDialog("NDS Header", "header.bin", "Binary (*.bin)");
|
||||||
Q_NULLPTR,
|
|
||||||
"NDS Header",
|
|
||||||
"header.bin",
|
|
||||||
"Binary (*.bin)");
|
|
||||||
|
|
||||||
if (!dirPath.isNull())
|
if (!dirPath.isNull())
|
||||||
notifyExtractionResult(dumpHeader(dirPath.toStdString()));
|
notifyExtractionResult(dumpHeader(dirPath.toStdString()));
|
||||||
@ -46,11 +43,7 @@ void MainWindow::on_unpackerDumpHeaderBtn_clicked()
|
|||||||
|
|
||||||
void MainWindow::on_unpackerDumpArm9Btn_clicked()
|
void MainWindow::on_unpackerDumpArm9Btn_clicked()
|
||||||
{
|
{
|
||||||
QString dirPath = QFileDialog::getSaveFileName(
|
QString dirPath = customSaveFileDialog("NDS ARM9", "arm9.bin", "Binary (*.bin)");
|
||||||
Q_NULLPTR,
|
|
||||||
"NDS ARM9",
|
|
||||||
"arm9.bin",
|
|
||||||
"Binary (*.bin)");
|
|
||||||
|
|
||||||
QMessageBox::StandardButton dumpExtraBytes = QMessageBox::question(
|
QMessageBox::StandardButton dumpExtraBytes = QMessageBox::question(
|
||||||
this,
|
this,
|
||||||
@ -64,11 +57,7 @@ void MainWindow::on_unpackerDumpArm9Btn_clicked()
|
|||||||
|
|
||||||
void MainWindow::on_unpackerDumpArm7Btn_clicked()
|
void MainWindow::on_unpackerDumpArm7Btn_clicked()
|
||||||
{
|
{
|
||||||
QString dirPath = QFileDialog::getSaveFileName(
|
QString dirPath = customSaveFileDialog("NDS ARM7", "arm7.bin", "Binary (*.bin)");
|
||||||
Q_NULLPTR,
|
|
||||||
"NDS ARM7",
|
|
||||||
"arm7.bin",
|
|
||||||
"Binary (*.bin)");
|
|
||||||
|
|
||||||
if (!dirPath.isNull())
|
if (!dirPath.isNull())
|
||||||
notifyExtractionResult(dumpArm7Bin(dirPath.toStdString()));
|
notifyExtractionResult(dumpArm7Bin(dirPath.toStdString()));
|
||||||
@ -76,11 +65,7 @@ void MainWindow::on_unpackerDumpArm7Btn_clicked()
|
|||||||
|
|
||||||
void MainWindow::on_unpackerDumpFntBtn_clicked()
|
void MainWindow::on_unpackerDumpFntBtn_clicked()
|
||||||
{
|
{
|
||||||
QString dirPath = QFileDialog::getSaveFileName(
|
QString dirPath = customSaveFileDialog("NDS FNT", "fnt.bin", "Binary (*.bin)");
|
||||||
Q_NULLPTR,
|
|
||||||
"NDS FNT",
|
|
||||||
"fnt.bin",
|
|
||||||
"Binary (*.bin)");
|
|
||||||
|
|
||||||
if (!dirPath.isNull())
|
if (!dirPath.isNull())
|
||||||
notifyExtractionResult(dumpFnt(dirPath.toStdString()));
|
notifyExtractionResult(dumpFnt(dirPath.toStdString()));
|
||||||
@ -88,11 +73,7 @@ void MainWindow::on_unpackerDumpFntBtn_clicked()
|
|||||||
|
|
||||||
void MainWindow::on_unpackerDumpFatBtn_clicked()
|
void MainWindow::on_unpackerDumpFatBtn_clicked()
|
||||||
{
|
{
|
||||||
QString dirPath = QFileDialog::getSaveFileName(
|
QString dirPath = customSaveFileDialog("NDS FAT", "fat.bin", "Binary (*.bin)");
|
||||||
Q_NULLPTR,
|
|
||||||
"NDS FAT",
|
|
||||||
"fat.bin",
|
|
||||||
"Binary (*.bin)");
|
|
||||||
|
|
||||||
if (!dirPath.isNull())
|
if (!dirPath.isNull())
|
||||||
notifyExtractionResult(dumpFat(dirPath.toStdString()));
|
notifyExtractionResult(dumpFat(dirPath.toStdString()));
|
||||||
@ -100,11 +81,7 @@ void MainWindow::on_unpackerDumpFatBtn_clicked()
|
|||||||
|
|
||||||
void MainWindow::on_unpackerDumpArm9OverlayBtn_clicked()
|
void MainWindow::on_unpackerDumpArm9OverlayBtn_clicked()
|
||||||
{
|
{
|
||||||
QString dirPath = QFileDialog::getSaveFileName(
|
QString dirPath = customSaveFileDialog("NDS ARM9 Overlay", "a9ovr.bin", "Binary (*.bin)");
|
||||||
Q_NULLPTR,
|
|
||||||
"NDS ARM9 Overlay",
|
|
||||||
"a9ovr.bin",
|
|
||||||
"Binary (*.bin)");
|
|
||||||
|
|
||||||
if (!dirPath.isNull())
|
if (!dirPath.isNull())
|
||||||
notifyExtractionResult(dumpArm9Overlay(dirPath.toStdString()));
|
notifyExtractionResult(dumpArm9Overlay(dirPath.toStdString()));
|
||||||
@ -112,11 +89,7 @@ void MainWindow::on_unpackerDumpArm9OverlayBtn_clicked()
|
|||||||
|
|
||||||
void MainWindow::on_unpackerDumpArm7OverlayBtn_clicked()
|
void MainWindow::on_unpackerDumpArm7OverlayBtn_clicked()
|
||||||
{
|
{
|
||||||
QString dirPath = QFileDialog::getSaveFileName(
|
QString dirPath = customSaveFileDialog("NDS ARM7 Overlay", "a7ovr.bin", "Binary (*.bin)");
|
||||||
Q_NULLPTR,
|
|
||||||
"NDS ARM7 Overlay",
|
|
||||||
"a7ovr.bin",
|
|
||||||
"Binary (*.bin)");
|
|
||||||
|
|
||||||
if (!dirPath.isNull())
|
if (!dirPath.isNull())
|
||||||
notifyExtractionResult(dumpArm7Overlay(dirPath.toStdString()));
|
notifyExtractionResult(dumpArm7Overlay(dirPath.toStdString()));
|
||||||
@ -124,11 +97,7 @@ void MainWindow::on_unpackerDumpArm7OverlayBtn_clicked()
|
|||||||
|
|
||||||
void MainWindow::on_unpackerDumpIconTitleLogoBtn_clicked()
|
void MainWindow::on_unpackerDumpIconTitleLogoBtn_clicked()
|
||||||
{
|
{
|
||||||
QString dirPath = QFileDialog::getSaveFileName(
|
QString dirPath = customSaveFileDialog("NDS IconTitleLogo", "itl.bin", "Binary (*.bin)");
|
||||||
Q_NULLPTR,
|
|
||||||
"NDS IconTitleLogo",
|
|
||||||
"itl.bin",
|
|
||||||
"Binary (*.bin)");
|
|
||||||
|
|
||||||
if (!dirPath.isNull())
|
if (!dirPath.isNull())
|
||||||
notifyExtractionResult(dumpIconTitle(dirPath.toStdString()));
|
notifyExtractionResult(dumpIconTitle(dirPath.toStdString()));
|
||||||
@ -136,11 +105,7 @@ void MainWindow::on_unpackerDumpIconTitleLogoBtn_clicked()
|
|||||||
|
|
||||||
void MainWindow::on_unpackerDumpFatFilesBtn_clicked()
|
void MainWindow::on_unpackerDumpFatFilesBtn_clicked()
|
||||||
{
|
{
|
||||||
QString dirPath = QFileDialog::getSaveFileName(
|
QString dirPath = customSaveFileDialog("NDS FAT Files", "fat_data.bin", "Binary (*.bin)");
|
||||||
Q_NULLPTR,
|
|
||||||
"NDS FAT Files",
|
|
||||||
"fat_data.bin",
|
|
||||||
"Binary (*.bin)");
|
|
||||||
|
|
||||||
if (!dirPath.isNull())
|
if (!dirPath.isNull())
|
||||||
notifyExtractionResult(dumpFatFiles(dirPath.toStdString()));
|
notifyExtractionResult(dumpFatFiles(dirPath.toStdString()));
|
||||||
@ -148,11 +113,7 @@ void MainWindow::on_unpackerDumpFatFilesBtn_clicked()
|
|||||||
|
|
||||||
void MainWindow::on_unpackerDumpArm9OverlayFilesBtn_clicked()
|
void MainWindow::on_unpackerDumpArm9OverlayFilesBtn_clicked()
|
||||||
{
|
{
|
||||||
QString dirPath = QFileDialog::getSaveFileName(
|
QString dirPath = customSaveFileDialog("NDS ARM9 Overlay Data", "a9ovr_data.bin", "Binary (*.bin)");
|
||||||
Q_NULLPTR,
|
|
||||||
"NDS ARM9 Overlay Data",
|
|
||||||
"a9ovr_data.bin",
|
|
||||||
"Binary (*.bin)");
|
|
||||||
|
|
||||||
if (!dirPath.isNull())
|
if (!dirPath.isNull())
|
||||||
notifyExtractionResult(dumpArm9OverlayFiles(dirPath.toStdString()));
|
notifyExtractionResult(dumpArm9OverlayFiles(dirPath.toStdString()));
|
||||||
@ -160,11 +121,7 @@ void MainWindow::on_unpackerDumpArm9OverlayFilesBtn_clicked()
|
|||||||
|
|
||||||
void MainWindow::on_unpackerDumpArm7OverlayFilesBtn_clicked()
|
void MainWindow::on_unpackerDumpArm7OverlayFilesBtn_clicked()
|
||||||
{
|
{
|
||||||
QString dirPath = QFileDialog::getSaveFileName(
|
QString dirPath = customSaveFileDialog("NDS ARM7 Overlay Data", "a7ovr_data.bin", "Binary (*.bin)");
|
||||||
Q_NULLPTR,
|
|
||||||
"NDS ARM7 Overlay Data",
|
|
||||||
"a7ovr_data.bin",
|
|
||||||
"Binary (*.bin)");
|
|
||||||
|
|
||||||
if (!dirPath.isNull())
|
if (!dirPath.isNull())
|
||||||
notifyExtractionResult(dumpArm7OverlayFiles(dirPath.toStdString()));
|
notifyExtractionResult(dumpArm7OverlayFiles(dirPath.toStdString()));
|
||||||
|
21
ui/utils/filepicker.h
Normal file
21
ui/utils/filepicker.h
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
#pragma once
|
||||||
|
|
||||||
|
|
||||||
|
#include <QFileDialog>
|
||||||
|
|
||||||
|
QString customSaveFileDialog(const QString& title, const QString& defaultName, const QString& filter)
|
||||||
|
{
|
||||||
|
|
||||||
|
static QString lastUsedPath;
|
||||||
|
|
||||||
|
QString selectedPath = QFileDialog::getSaveFileName(
|
||||||
|
Q_NULLPTR,
|
||||||
|
title,
|
||||||
|
lastUsedPath + defaultName,
|
||||||
|
filter);
|
||||||
|
|
||||||
|
if (!selectedPath.isNull())
|
||||||
|
lastUsedPath = selectedPath.mid(0, selectedPath.lastIndexOf('/', Qt::CaseInsensitive)+1);
|
||||||
|
|
||||||
|
return selectedPath;
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user