Skip to content

Commit 728aae3

Browse files
authored
Merge pull request #1577 from OutpostUniverse/Refactor/FileIODialog-show
Refactor/FileIoDialog show
2 parents ba0fa9b + 514e441 commit 728aae3

File tree

5 files changed

+24
-24
lines changed

5 files changed

+24
-24
lines changed

appOPHD/States/MainMenuState.cpp

+1-4
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,6 @@ void MainMenuState::initialize()
5555
button.size({200, 30});
5656
}
5757

58-
mFileIoDialog.setMode(FileIo::FileOperation::Load);
5958
mFileIoDialog.fileOperation().connect({this, &MainMenuState::onFileIoAction});
6059
mFileIoDialog.anchored(false);
6160
mFileIoDialog.hide();
@@ -210,9 +209,7 @@ void MainMenuState::onNewGame()
210209
void MainMenuState::onContinueGame()
211210
{
212211
if (mFileIoDialog.visible()) { return; }
213-
214-
mFileIoDialog.scanDirectory(constants::SaveGamePath);
215-
mFileIoDialog.show();
212+
mFileIoDialog.showOpen(constants::SaveGamePath);
216213
}
217214

218215

appOPHD/States/MapViewState.cpp

+2-6
Original file line numberDiff line numberDiff line change
@@ -503,15 +503,11 @@ void MapViewState::onKeyDown(NAS2D::KeyCode key, NAS2D::KeyModifier mod, bool /*
503503
break;
504504

505505
case NAS2D::KeyCode::F2:
506-
mFileIoDialog.scanDirectory(constants::SaveGamePath);
507-
mFileIoDialog.setMode(FileIo::FileOperation::Save);
508-
mFileIoDialog.show();
506+
mFileIoDialog.showSave(constants::SaveGamePath);
509507
break;
510508

511509
case NAS2D::KeyCode::F3:
512-
mFileIoDialog.scanDirectory(constants::SaveGamePath);
513-
mFileIoDialog.setMode(FileIo::FileOperation::Load);
514-
mFileIoDialog.show();
510+
mFileIoDialog.showOpen(constants::SaveGamePath);
515511
break;
516512

517513
case NAS2D::KeyCode::Escape:

appOPHD/States/MapViewStateUi.cpp

+2-8
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,6 @@ void MapViewState::initUi()
7474
mFactoryProduction.position(NAS2D::Point{renderer.center().x - mFactoryProduction.size().x / 2.0f, 175.0f});
7575
mFactoryProduction.hide();
7676

77-
mFileIoDialog.setMode(FileIo::FileOperation::Save);
7877
mFileIoDialog.fileOperation().connect({this, &MapViewState::onFileIoAction});
7978
mFileIoDialog.anchored(true);
8079
mFileIoDialog.hide();
@@ -610,9 +609,7 @@ void MapViewState::onDiggerSelectionDialog(Direction direction, Tile& tile)
610609
void MapViewState::onSaveGame()
611610
{
612611
mGameOptionsDialog.hide();
613-
mFileIoDialog.scanDirectory(constants::SaveGamePath);
614-
mFileIoDialog.setMode(FileIo::FileOperation::Save);
615-
mFileIoDialog.show();
612+
mFileIoDialog.showSave(constants::SaveGamePath);
616613
}
617614

618615

@@ -622,10 +619,7 @@ void MapViewState::onSaveGame()
622619
void MapViewState::onLoadGame()
623620
{
624621
mGameOptionsDialog.hide();
625-
mFileIoDialog.scanDirectory(constants::SaveGamePath);
626-
mFileIoDialog.setMode(FileIo::FileOperation::Load);
627-
mFileIoDialog.show();
628-
622+
mFileIoDialog.showOpen(constants::SaveGamePath);
629623
}
630624

631625

appOPHD/UI/FileIo.cpp

+16-4
Original file line numberDiff line numberDiff line change
@@ -95,11 +95,23 @@ void FileIo::onKeyDown(KeyCode key, KeyModifier /*mod*/, bool /*repeat*/)
9595
}
9696

9797

98-
void FileIo::setMode(FileOperation fileOp)
98+
void FileIo::showOpen(const std::string& directory)
9999
{
100-
mMode = fileOp;
101-
title(mMode == FileOperation::Load ? constants::WindowFileIoTitleLoad : constants::WindowFileIoTitleSave);
102-
mFileOperation.text(mMode == FileOperation::Load ? constants::WindowFileIoLoad : constants::WindowFileIoSave);
100+
scanDirectory(directory);
101+
mMode = FileOperation::Load;
102+
title(constants::WindowFileIoTitleLoad);
103+
mFileOperation.text(constants::WindowFileIoLoad);
104+
show();
105+
}
106+
107+
108+
void FileIo::showSave(const std::string& directory)
109+
{
110+
scanDirectory(directory);
111+
mMode = FileOperation::Save;
112+
title(constants::WindowFileIoTitleSave);
113+
mFileOperation.text(constants::WindowFileIoSave);
114+
show();
103115
}
104116

105117

appOPHD/UI/FileIo.h

+3-2
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,8 @@ class FileIo : public Window
2525
FileIo();
2626
~FileIo() override;
2727

28-
void setMode(FileOperation fileOp);
29-
void scanDirectory(const std::string& directory);
28+
void showOpen(const std::string& directory);
29+
void showSave(const std::string& directory);
3030

3131
FileOperationSignal::Source& fileOperation() { return mSignal; }
3232

@@ -37,6 +37,7 @@ class FileIo : public Window
3737
void onKeyDown(NAS2D::KeyCode key, NAS2D::KeyModifier mod, bool repeat);
3838

3939
private:
40+
void scanDirectory(const std::string& directory);
4041
void onOpenFolder() const;
4142
void onClose();
4243
void onFileIo();

0 commit comments

Comments
 (0)