diff options
Diffstat (limited to 'libs/bsapacker/src/ArchiveBuildDirector.cpp')
| -rw-r--r-- | libs/bsapacker/src/ArchiveBuildDirector.cpp | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/libs/bsapacker/src/ArchiveBuildDirector.cpp b/libs/bsapacker/src/ArchiveBuildDirector.cpp new file mode 100644 index 0000000..300d570 --- /dev/null +++ b/libs/bsapacker/src/ArchiveBuildDirector.cpp @@ -0,0 +1,28 @@ +#include <bsapacker/ArchiveBuildDirector.h> + +#include <QProgressDialog> + +namespace BsaPacker +{ + ArchiveBuildDirector::ArchiveBuildDirector( + const ISettingsService* settingsService, + IArchiveBuilder* archiveFileBuildService) + : m_ArchiveFileBuildService(archiveFileBuildService), + m_SettingsService(settingsService) + { + } + + void ArchiveBuildDirector::Construct() + { + QProgressDialog dialog("Adding to archive", + "Abort", + 0, + static_cast<int>(this->m_ArchiveFileBuildService->getFileCount())); + QObject::connect(&dialog, &QProgressDialog::canceled, this->m_ArchiveFileBuildService, &IArchiveBuilder::cancel); + QObject::connect(this->m_ArchiveFileBuildService, SIGNAL(valueChanged(int)), &dialog, SLOT(setValue(int))); + dialog.show(); + this->m_ArchiveFileBuildService->setShareData(true); + this->m_ArchiveFileBuildService->setFiles(); + dialog.close(); + } +} // namespace BsaPacker |
