| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| |
|
| | #include <limits> |
| |
|
| | #include <zlib.h> |
| | #include <App/License.h> |
| | #include <Gui/AutoSaver.h> |
| |
|
| | #include "DlgSettingsDocumentImp.h" |
| | #include "ui_DlgSettingsDocument.h" |
| |
|
| |
|
| | using namespace Gui::Dialog; |
| |
|
| | |
| |
|
| | |
| | |
| | |
| | |
| | DlgSettingsDocumentImp::DlgSettingsDocumentImp(QWidget* parent) |
| | : PreferencePage(parent) |
| | , ui(new Ui_DlgSettingsDocument) |
| | { |
| | ui->setupUi(this); |
| | addLicenseTypes(); |
| |
|
| | ui->prefSaveTransaction->hide(); |
| | ui->prefDiscardTransaction->hide(); |
| |
|
| | QString tip = QStringLiteral( |
| | "<html><head/><body><p>%1</p>" |
| | "<p>%2: %Y%m%d-%H%M%S</p>" |
| | "</p></body></html>" |
| | ) |
| | .arg(tr("The format of the date to use."), tr("Default")); |
| | QString link = QString::fromLatin1( |
| | "<html><head/><body>" |
| | "<a href=\"http://www.cplusplus.com/reference/ctime/strftime/\">%1</a>" |
| | "</body></html>" |
| | ) |
| | .arg(tr("Show format documentation")); |
| | ui->prefSaveBackupDateFormat->setToolTip(tip); |
| | ui->FormatTimeDocsLabel->setText(link); |
| |
|
| | ui->prefCountBackupFiles->setMaximum(std::numeric_limits<int>::max()); |
| | ui->prefCompression->setMinimum(Z_NO_COMPRESSION); |
| | ui->prefCompression->setMaximum(Z_BEST_COMPRESSION); |
| | connect( |
| | ui->prefLicenseType, |
| | qOverload<int>(&QComboBox::currentIndexChanged), |
| | this, |
| | &DlgSettingsDocumentImp::onLicenseTypeChanged |
| | ); |
| | } |
| |
|
| | |
| | |
| | |
| | DlgSettingsDocumentImp::~DlgSettingsDocumentImp() = default; |
| |
|
| | void DlgSettingsDocumentImp::saveSettings() |
| | { |
| | ui->prefCheckNewDoc->onSave(); |
| | ui->prefCompression->onSave(); |
| |
|
| | ui->prefUndoRedo->onSave(); |
| | ui->prefUndoRedoSize->onSave(); |
| | ui->prefSaveTransaction->onSave(); |
| | ui->prefDiscardTransaction->onSave(); |
| | ui->prefSaveThumbnail->onSave(); |
| | ui->prefThumbnailSize->onSave(); |
| | ui->prefAddLogo->onSave(); |
| | ui->prefSaveBackupFiles->onSave(); |
| | ui->prefCountBackupFiles->onSave(); |
| | ui->prefSaveBackupExtension->onSave(); |
| | ui->prefSaveBackupDateFormat->onSave(); |
| | ui->prefDuplicateLabel->onSave(); |
| | ui->prefPartialLoading->onSave(); |
| | ui->prefLicenseType->onSave(); |
| | ui->prefLicenseUrl->onSave(); |
| | ui->prefAuthor->onSave(); |
| | ui->prefSetAuthorOnSave->onSave(); |
| | ui->prefCompany->onSave(); |
| | ui->prefRecovery->onSave(); |
| | ui->prefAutoSaveEnabled->onSave(); |
| | ui->prefAutoSaveTimeout->onSave(); |
| | ui->prefCanAbortRecompute->onSave(); |
| |
|
| | int timeout = ui->prefAutoSaveTimeout->value(); |
| | if (!ui->prefAutoSaveEnabled->isChecked()) { |
| | timeout = 0; |
| | } |
| | AutoSaver::instance()->setTimeout(timeout * 60000); |
| | } |
| |
|
| | void DlgSettingsDocumentImp::loadSettings() |
| | { |
| | ui->prefCheckNewDoc->onRestore(); |
| | ui->prefCompression->onRestore(); |
| |
|
| | ui->prefUndoRedo->onRestore(); |
| | ui->prefUndoRedoSize->onRestore(); |
| | ui->prefSaveTransaction->onRestore(); |
| | ui->prefDiscardTransaction->onRestore(); |
| | ui->prefSaveThumbnail->onRestore(); |
| | ui->prefThumbnailSize->onRestore(); |
| | ui->prefAddLogo->onRestore(); |
| | ui->prefSaveBackupFiles->onRestore(); |
| | ui->prefCountBackupFiles->onRestore(); |
| | ui->prefSaveBackupExtension->onRestore(); |
| | ui->prefSaveBackupDateFormat->onRestore(); |
| | ui->prefDuplicateLabel->onRestore(); |
| | ui->prefPartialLoading->onRestore(); |
| | ui->prefLicenseType->onRestore(); |
| | ui->prefLicenseUrl->onRestore(); |
| | ui->prefAuthor->onRestore(); |
| | ui->prefSetAuthorOnSave->onRestore(); |
| | ui->prefCompany->onRestore(); |
| | ui->prefRecovery->onRestore(); |
| | ui->prefAutoSaveEnabled->onRestore(); |
| | ui->prefAutoSaveTimeout->onRestore(); |
| | ui->prefCanAbortRecompute->onRestore(); |
| | } |
| |
|
| | |
| | |
| | |
| | void DlgSettingsDocumentImp::changeEvent(QEvent* e) |
| | { |
| | if (e->type() == QEvent::LanguageChange) { |
| | ui->retranslateUi(this); |
| | int index = ui->prefLicenseType->currentIndex(); |
| | addLicenseTypes(); |
| | ui->prefLicenseType->setCurrentIndex(index); |
| | } |
| | else { |
| | QWidget::changeEvent(e); |
| | } |
| | } |
| |
|
| | void DlgSettingsDocumentImp::addLicenseTypes() |
| | { |
| | auto add = [&](const char* what) { |
| | ui->prefLicenseType->addItem(QApplication::translate("Gui::Dialog::DlgSettingsDocument", what)); |
| | }; |
| |
|
| | ui->prefLicenseType->clear(); |
| | for (const auto& licenseItem : App::licenseItems) { |
| | add(licenseItem.at(App::posnOfFullName)); |
| | } |
| | add("Other"); |
| | } |
| |
|
| | |
| | |
| | |
| | void DlgSettingsDocumentImp::onLicenseTypeChanged(int index) |
| | { |
| | if (index >= 0 && index < App::countOfLicenses) { |
| | |
| | const char* url {App::licenseItems.at(index).at(App::posnOfUrl)}; |
| | ui->prefLicenseUrl->setText(QString::fromLatin1(url)); |
| | ui->prefLicenseUrl->setReadOnly(true); |
| | } |
| | else { |
| | |
| | ui->prefLicenseUrl->clear(); |
| | ui->prefLicenseUrl->setReadOnly(false); |
| | } |
| | } |
| |
|
| | #include "moc_DlgSettingsDocumentImp.cpp" |
| |
|