From 119f11157d00ed2e5a94c3b8181b7abdc6504039 Mon Sep 17 00:00:00 2001 From: Nicolas Mailloux Date: Fri, 29 Dec 2023 13:01:05 -0500 Subject: [PATCH] InkBox settings: major redesign --- src/eink.qrc | 3 +- src/resources/usbms-inverted.png | Bin 0 -> 31447 bytes src/settings/settings.cpp | 226 +-- src/settings/settings.h | 15 +- src/settings/settings.ui | 2626 ++++++++++++++++-------------- 5 files changed, 1509 insertions(+), 1361 deletions(-) create mode 100644 src/resources/usbms-inverted.png diff --git a/src/eink.qrc b/src/eink.qrc index 24db7e4..981b094 100644 --- a/src/eink.qrc +++ b/src/eink.qrc @@ -111,7 +111,7 @@ resources/checkbox-indeterminate.png resources/egg/0.jpg resources/egg/1.jpg - resources/music-note.png + resources/music-note.png resources/music-library.png resources/next.png resources/music-queue.png @@ -119,5 +119,6 @@ resources/previous.png resources/pause.png resources/clean.png + resources/usbms-inverted.png diff --git a/src/resources/usbms-inverted.png b/src/resources/usbms-inverted.png new file mode 100644 index 0000000000000000000000000000000000000000..5ea6bcc91b72f0b49fc0c6984840b033f312bd7d GIT binary patch literal 31447 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"u001")); ui->uiScaleNumberLabel->setFont(QFont("Inter")); ui->aboutBtn->setFont(QFont("u001")); + ui->headerBtn->setFont(QFont("Inter")); + ui->headerLabel->setFont(QFont("Chivo")); + ui->readingSettingsBtn->setFont(QFont("Chivo")); + ui->homeSettingsBtn->setFont(QFont("Chivo")); + ui->librarySettingsBtn->setFont(QFont("Chivo")); + ui->storageSettingsBtn->setFont(QFont("Chivo")); + ui->systemSettingsBtn->setFont(QFont("Chivo")); + ui->securitySettingsBtn->setFont(QFont("Chivo")); ui->okBtn->setFont(QFont("Inter")); ui->setPasscodeBtn->setProperty("type", "borderless"); @@ -40,8 +48,6 @@ settings::settings(QWidget *parent) : ui->showSystemInfoBtn->setProperty("type", "borderless"); ui->generateSystemReportBtn->setProperty("type", "borderless"); ui->checkOtaUpdateBtn->setProperty("type", "borderless"); - ui->previousBtn->setProperty("type", "borderless"); - ui->nextBtn->setProperty("type", "borderless"); ui->repackBtn->setProperty("type", "borderless"); ui->exportHighlightsBtn->setProperty("type", "borderless"); ui->label->setStyleSheet("font-size: 10.5pt; font-weight: bold"); @@ -61,35 +67,75 @@ settings::settings(QWidget *parent) : ui->exportHighlightsBtn->setStyleSheet("font-size: 9pt"); ui->uiScaleNumberLabel->setStyleSheet("font-size: 9pt; font-weight: bold"); - if(global::deviceID == "n705\n" or global::deviceID == "n905\n" or global::deviceID == "kt\n") { - ui->previousBtn->setStyleSheet("padding: 7.5px;"); - ui->nextBtn->setStyleSheet("padding: 7.5px;"); + // Getting the screen's size + sW = QGuiApplication::screens()[0]->size().width(); + sH = QGuiApplication::screens()[0]->size().height(); + + // Defining what the default icon size will be + if(global::deviceID == "n705\n") { + homeIconWidth = sW / 18; + homeIconHeight = sW / 18; } else { - ui->previousBtn->setStyleSheet("padding: 10px;"); - ui->nextBtn->setStyleSheet("padding: 10px"); + homeIconWidth = sW / 20; + homeIconHeight = sW / 20; } - ui->previousBtn->setText(""); - ui->previousBtn->setIcon(QIcon(":/resources/chevron-left.png")); - ui->nextBtn->setText(""); - ui->nextBtn->setIcon(QIcon(":/resources/chevron-right.png")); + ui->headerBtn->hide(); + ui->headerLabel->hide(); + ui->line_12->hide(); + ui->headerBtn->setIcon(QIcon(":/resources/chevron-left.png")); + //ui->headerBtn->setIconSize(QSize(homeIconWidth, homeIconHeight)); + + ui->headerBtn->setProperty("type", "borderless"); + ui->headerBtn->setStyleSheet("font-size: 9pt; font-weight: bold; padding: 15px"); + ui->headerLabel->setStyleSheet("padding: 15px"); + + ui->readingSettingsBtn->setText("\t\t\tReading"); + ui->readingSettingsBtn->setProperty("type", "borderless"); + ui->readingSettingsBtn->setStyleSheet("padding: 25px; Text-align: left"); + ui->readingSettingsBtn->setIcon(QIcon(":/resources/book.png")); + ui->readingSettingsBtn->setIconSize(QSize(homeIconWidth, homeIconHeight)); + + ui->homeSettingsBtn->setText("\t\t\tHome"); + ui->homeSettingsBtn->setProperty("type", "borderless"); + ui->homeSettingsBtn->setStyleSheet("padding: 25px; Text-align:left"); + ui->homeSettingsBtn->setIcon(QIcon(":/resources/home.png")); + ui->homeSettingsBtn->setIconSize(QSize(homeIconWidth, homeIconHeight)); + + ui->librarySettingsBtn->setText("\t\t\tLibrary"); + ui->librarySettingsBtn->setProperty("type", "borderless"); + ui->librarySettingsBtn->setStyleSheet("padding: 25px; Text-align:left"); + ui->librarySettingsBtn->setIcon(QIcon(":/resources/online-library.png")); + ui->storageSettingsBtn->setIconSize(QSize(homeIconWidth, homeIconHeight)); + + ui->storageSettingsBtn->setText("\t\t\tStorage"); + ui->storageSettingsBtn->setProperty("type", "borderless"); + ui->storageSettingsBtn->setStyleSheet("padding: 25px; Text-align:left"); + ui->storageSettingsBtn->setIcon(QIcon(":/resources/usbms-inverted.png")); + ui->storageSettingsBtn->setIconSize(QSize(homeIconWidth, homeIconHeight)); + + ui->systemSettingsBtn->setText("\t\t\tSystem"); + ui->systemSettingsBtn->setProperty("type", "borderless"); + ui->systemSettingsBtn->setStyleSheet("padding: 25px; Text-align:left"); + ui->systemSettingsBtn->setIcon(QIcon(":/resources/settings.png")); + ui->systemSettingsBtn->setIconSize(QSize(homeIconWidth, homeIconHeight)); + + ui->securitySettingsBtn->setText("\t\t\tSecurity"); + ui->securitySettingsBtn->setProperty("type", "borderless"); + ui->securitySettingsBtn->setStyleSheet("padding: 25px; Text-align:left"); + ui->securitySettingsBtn->setIcon(QIcon(":/resources/lock.png")); + ui->securitySettingsBtn->setIconSize(QSize(homeIconWidth, homeIconHeight)); ui->requestLeaseBtn->hide(); ui->usbmsBtn->hide(); - ui->label_3->hide(); ui->label_4->hide(); - ui->label_5->hide(); ui->label_6->hide(); - ui->line_3->hide(); - ui->line_7->hide(); ui->updateBtn->hide(); ui->updateLabel->hide(); ui->enableLockscreenCheckBox->hide(); ui->setPasscodeBtn->hide(); ui->setPasscodeLabel->hide(); - ui->securityLabel->hide(); - ui->line_2->hide(); // Variables defineDefaultPageSize(0); @@ -386,25 +432,16 @@ settings::settings(QWidget *parent) : if(checkconfig("/external_root/opt/root/rooted") == true) { ui->requestLeaseBtn->show(); ui->label_4->show(); - ui->label_3->show(); - ui->line_3->show(); } else { ui->requestLeaseBtn->hide(); ui->label_4->hide(); - ui->label_3->hide(); - ui->line_3->hide(); } - ui->securityLabel->show(); - ui->line_2->show(); ui->enableLockscreenCheckBox->show(); ui->setPasscodeBtn->show(); ui->setPasscodeLabel->show(); ui->usbmsBtn->show(); - ui->label_5->show(); ui->label_6->show(); - ui->line_7->show(); - ui->okBtn->setText("OK"); } else { ui->label_8->setText("Reset InkBox"); @@ -548,85 +585,6 @@ void settings::on_usbmsBtn_clicked() usbms_launch(); } -// Now I know that QStackedWidgets exist... ;p - -void settings::on_previousBtn_clicked() -{ - log("'Previous' button clicked", className); - settings_page = settings_page - 1; - if(settings_page == 1) { - ui->stackedWidget->setCurrentIndex(0); - - if(checkconfig("/opt/inkbox_genuine") == true) { - // Enforcing security policy if the user has not rooted the device - if(checkconfig("/external_root/opt/root/rooted") == true) { - ui->requestLeaseBtn->show(); - ui->label_4->show(); - ui->label_3->show(); - ui->line_3->show(); - } - else { - ui->requestLeaseBtn->hide(); - ui->label_4->hide(); - ui->label_3->hide(); - ui->line_3->hide(); - } - } - } - else { - if(settings_page == 2) { - ui->stackedWidget->setCurrentIndex(1); - if(checkconfig("/opt/inkbox_genuine") == true) { - if(checkconfig("/mnt/onboard/onboard/.inkbox/can_update") == true) { - ui->updateBtn->show(); - ui->updateLabel->show(); - } - else { - ui->updateBtn->show(); - ui->updateLabel->show(); - } - } - } - if(settings_page <= 0) { - // Prevent unwanted accesses - settings_page = settings_page + 1; - } - } -} - -void settings::on_nextBtn_clicked() -{ - log("'Next' button clicked", className); - settings_page = settings_page + 1; - if(settings_page == 2) { - ui->stackedWidget->setCurrentIndex(1); - - if(checkconfig("/opt/inkbox_genuine") == true) { - // Enforcing security policy if the user has not rooted the device - if(checkconfig("/external_root/opt/root/rooted") == true) { - ui->requestLeaseBtn->show(); - ui->label_4->show(); - ui->label_3->show(); - ui->line_3->show(); - } - else { - ui->requestLeaseBtn->hide(); - ui->label_4->hide(); - ui->label_3->hide(); - ui->line_3->hide(); - } - - if(checkconfig("/mnt/onboard/onboard/.inkbox/can_update") == true) { - ui->updateBtn->show(); - ui->updateLabel->show(); - } - } - } - if(settings_page >= 3) { - settings_page = settings_page - 1; - } -} - void settings::on_updateBtn_clicked() { log("'Update' button clicked", className); @@ -1162,3 +1120,61 @@ void settings::on_lockscreenBackgroundComboBox_currentTextChanged(const QString log("Set lockscreen background to 'background'", className); } } + +void settings::on_settingsStackedWidget_currentChanged(int arg1) +{ + if(ui->settingsStackedWidget->currentIndex() != 0) { + ui->headerLabel->setText(ui->settingsStackedWidget->currentWidget()->objectName()); + ui->headerBtn->show(); + ui->headerLabel->show(); + ui->line_12->show(); + } + else { + ui->headerBtn->hide(); + ui->headerLabel->hide(); + ui->line_12->hide(); + } +} + + +void settings::on_readingSettingsBtn_clicked() +{ + ui->settingsStackedWidget->setCurrentIndex(1); +} + + +void settings::on_homeSettingsBtn_clicked() +{ + ui->settingsStackedWidget->setCurrentIndex(2); +} + + +void settings::on_librarySettingsBtn_clicked() +{ + ui->settingsStackedWidget->setCurrentIndex(3); +} + + +void settings::on_storageSettingsBtn_clicked() +{ + ui->settingsStackedWidget->setCurrentIndex(4); +} + + +void settings::on_systemSettingsBtn_clicked() +{ + ui->settingsStackedWidget->setCurrentIndex(5); +} + + +void settings::on_securitySettingsBtn_clicked() +{ + ui->settingsStackedWidget->setCurrentIndex(6); +} + + +void settings::on_headerBtn_clicked() +{ + // "Home" button + ui->settingsStackedWidget->setCurrentIndex(0); +} diff --git a/src/settings/settings.h b/src/settings/settings.h index e6f1138..d8ec4c9 100644 --- a/src/settings/settings.h +++ b/src/settings/settings.h @@ -28,6 +28,11 @@ public: bool timezone_not_user_change = true; bool enableEncryptedStorageUserChange = false; + float sW; + float sH; + float homeIconWidth; + float homeIconHeight; + explicit settings(QWidget *parent = nullptr); ~settings(); @@ -39,8 +44,6 @@ private slots: void on_quoteCheckBox_toggled(bool checked); void on_requestLeaseBtn_clicked(); void on_usbmsBtn_clicked(); - void on_previousBtn_clicked(); - void on_nextBtn_clicked(); void on_updateBtn_clicked(); void on_darkModeCheckBox_toggled(bool checked); void on_uiScalingSlider_valueChanged(int value); @@ -79,6 +82,14 @@ private slots: void on_autoCheckUpdatesBox_clicked(bool checked); void on_lockscreenBackgroundComboBox_currentTextChanged(const QString &arg1); void saveDeferredSettings(); + void on_settingsStackedWidget_currentChanged(int arg1); + void on_readingSettingsBtn_clicked(); + void on_homeSettingsBtn_clicked(); + void on_librarySettingsBtn_clicked(); + void on_storageSettingsBtn_clicked(); + void on_systemSettingsBtn_clicked(); + void on_securitySettingsBtn_clicked(); + void on_headerBtn_clicked(); signals: void showToast(QString messageToDisplay); diff --git a/src/settings/settings.ui b/src/settings/settings.ui index e24de5c..097cd52 100644 --- a/src/settings/settings.ui +++ b/src/settings/settings.ui @@ -16,27 +16,7 @@ - - - - About InkBox - - - - - - - QFrame::Plain - - - 5 - - - Qt::Horizontal - - - - + QFrame::Plain @@ -49,1182 +29,38 @@ - - - - QFrame::NoFrame - - - QFrame::Plain - - - 0 - - - true - - - - - 0 - 0 - 457 - 650 - - - - - 0 - - - 0 - - - 0 - - - 0 - - - - - 0 - - - 0 - - - - - 6 - - - 0 - - - 0 - - - 0 - - - 0 - - - - - 0 - - - 0 - - - - - 0 - - - - - Screen refresh - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - - Every page - - - - - 1 page - - - - - 2 pages - - - - - 3 pages - - - - - 4 pages - - - - - 5 pages - - - - - 6 pages - - - - - Never refresh - - - - - - - - - - Always show status bar - - - - - - - QFrame::Plain - - - Qt::Horizontal - - - - - - - QFrame::Plain - - - Qt::Horizontal - - - - - - - - Chivo - true - - - - Local library - - - - - - - Show folders - - - - - - - Disable authors quotes - - - - - - - Disable "Welcome to InkBox" message - - - - - - - Show scroll bar if needed - - - - - - - Qt::Vertical - - - QSizePolicy::MinimumExpanding - - - - 0 - 0 - - - - - - - - QFrame::Plain - - - Qt::Horizontal - - - - - - - 0 - - - - - Export highlights - - - - - - - - true - - - - Export - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - - - 0 - - - - - - - - - :/resources/plus.png:/resources/plus.png - - - - - - - 30 - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - Words number/page (plain text files) - - - - - - - - - - - :/resources/minus.png:/resources/minus.png - - - - - - - - - 0 - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - Enter USB Mass Storage session - - - - - - - - true - - - - Go - - - - - - - - - - Chivo - true - - - - USB networking - - - - - - - 0 - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - Request DHCP lease - - - - - - - - true - - - - Request - - - - - - - - - Global reading settings - - - - - - - 0 - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - - - - - :/resources/minus.png:/resources/minus.png - - - - - - - - - - - :/resources/minus.png:/resources/minus.png - - - - - - - - - - - :/resources/plus.png:/resources/plus.png - - - - - - - - - - - :/resources/plus.png:/resources/plus.png - - - - - - - ePUB size: - - - - - - - Width: - - - - - - - 450 - - - - - - - Height: - - - - - - - 450 - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - - - - Chivo - true - false - - - - Reading - - - - - - - QFrame::Plain - - - Qt::Horizontal - - - - - - - - Chivo - true - false - - - - Home - - - - - - - Clock: Show seconds - - - - - - - QFrame::Plain - - - Qt::Horizontal - - - - - - - - Chivo - true - false - - - - Storage - - - - - - - Show USB Mass Storage dialog - - - - - - - - - - - 0 - - - 0 - - - 0 - - - 0 - - - - - 0 - - - - - - Chivo - true - - - - System - - - - - - - QFrame::Plain - - - Qt::Horizontal - - - - - - - 0 - - - - - - true - - - - Generate - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - Generate system report - - - - - - - - - - Chivo - true - - - - Storage encryption - - - - - - - - Chivo - true - - - - Security - - - - - - - QFrame::Plain - - - Qt::Horizontal - - - - - - - Enable lock screen and passcode - - - - - - - 0 - - - - - Timezone - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - - - - - - 0 - - - 0 - - - - - System info - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - - true - - - - Show - - - - - - - - - 0 - - - - - - true - - - - 1 - - - - - - - 0 - - - 2 - - - 1 - - - 1 - - - 0 - - - Qt::Horizontal - - - - - - - UI scaling factor - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - - - - - - - QFrame::Plain - - - Qt::Horizontal - - - - - - - 0 - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - Lockscreen background - - - - - - - - Blank - - - - - Screensaver picture - - - - - Device's screen - - - - - - - - - - 0 - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - - true - - - - Set - - - - - - - Set a passcode - - - - - - - - - 0 - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - Check for updates - - - - - - - - true - - - - Check - - - - - - - - - 0 - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - Repack - - - - - - - - true - - - - Repack - - - - - - - - - Enable - - - - - - - Enable night mode - - - - - - - 0 - - - - - Reset this device - - - - - - - - true - - - - Reset - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - - - Qt::Vertical - - - - 20 - 40 - - - - - - - - - 0 - 0 - - - - Automatically check for updates - - - - - - - 0 - - - - - Update InkBox - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - - true - - - - Update - - - - - - - - - - - - - - - 0 + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + @@ -1239,84 +75,1368 @@ - - - - Next - - - - - - - Previous - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - + 0 - - - - - true - - - - -OK - - - - - - - - QFrame::Plain - - - 2 + + + + + + 0 + + + + + Back + + + + Qt::Horizontal + + + 40 + 20 + + + + + + + + headerLabel + + + + + QFrame::Plain + + + 2 + + + Qt::Horizontal + + + + + + + 0 + + + + + 0 + + + 0 + + + 0 + + + 0 + + + + + + + QFrame::NoFrame + + + true + + + + + 0 + 0 + 457 + 610 + + + + + 0 + + + 0 + + + 0 + + + 0 + + + + + Reading + + + + + + + QFrame::Plain + + + Qt::Horizontal + + + + + + + Home + + + + + + + QFrame::Plain + + + Qt::Horizontal + + + + + + + Library + + + + + + + QFrame::Plain + + + Qt::Horizontal + + + + + + + Storage + + + + + + + QFrame::Plain + + + Qt::Horizontal + + + + + + + System + + + + + + + QFrame::Plain + + + Qt::Horizontal + + + + + + + Security + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + + + + + QFrame::Plain + + + 2 + + + Qt::Horizontal + + + + + + + About InkBox + + + + + + + QFrame::Plain + + + 2 + + + Qt::Horizontal + + + + + + + + true + + + + +Save && Quit + + + + + + + + + + + + 0 + + + 0 + + + 0 + + + 0 + + + + + + + Words number/page (plain text files) + + + + + + + + + + + :/resources/minus.png:/resources/minus.png + + + + + + + 30 + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + + + + :/resources/plus.png:/resources/plus.png + + + + + + + + + 0 + + + + + + + + + :/resources/minus.png:/resources/minus.png + + + + + + + + + + + :/resources/minus.png:/resources/minus.png + + + + + + + + + + + :/resources/plus.png:/resources/plus.png + + + + + + + + + + + :/resources/plus.png:/resources/plus.png + + + + + + + 450 + + + + + + + Height: + + + + + + + 450 + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + Width: + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + ePUB size: + + + + + + + + + 0 + + + + + Screen refresh + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + Every page + + + + + 1 page + + + + + 2 pages + + + + + 3 pages + + + + + 4 pages + + + + + 5 pages + + + + + 6 pages + + + + + Never refresh + + + + + + + + + + Global reading settings + + + + + + + Show scroll bar if needed + + + + + + + Always show status bar + + + + + + + 0 + + + + + + true + + + + Export + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + Export highlights + + + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + + + 0 + + + 0 + + + 0 + + + 0 + + + + + + + Disable authors quotes + + + + + + + Disable "Welcome to InkBox" message + + + + + + + Clock: Show seconds + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + + + + + 0 + + + 0 + + + 0 + + + 0 + + + + + + + Show folders + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + + + + + 0 + + + 0 + + + 0 + + + 0 + + + + + 0 + + + + + 0 + + + + + Enter USB Mass Storage session + + + + + + + + true + + + + Go + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + + Show USB Mass Storage dialog + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + + + + + 0 + + + 0 + + + 0 + + + 0 + + + + + 0 + + + + + 0 + + + + + + true + + + + Reset + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + Reset this device + + + + + + + + + 0 + + + + + + true + + + + Update + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + Update InkBox + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + + + + 0 + + + + + + true + + + + 1 + + + + + + + 0 + + + 2 + + + 1 + + + 1 + + + 0 + + + Qt::Horizontal + + + + + + + UI scaling factor + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + + + + 0 + + + + + + true + + + + Request + + + + + + + Request DHCP lease + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + + 0 + + + 0 + + + + + System info + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + true + + + + Show + + + + + + + + + 0 + + + + + + true + + + + Generate + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + Generate system report + + + + + + + + + Enable night mode + + + + + + + + 0 + 0 + + + + Automatically check for updates + + + + + + + 0 + + + + + + true + + + + Check + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + Check for updates + + + + + + + + + 0 + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + + + Timezone + + + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + + + + + 0 + + + 0 + + + 0 + + + 0 + + + + + 0 + + + + + 0 + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + Repack + + + + + + + + true + + + + Repack + + + + + + + + + 0 + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + Blank + + + + + Screensaver picture + + + + + Device's screen + + + + + + + + Lockscreen background + + + + + + + + + Enable + + + + + + + Enable lock screen and passcode + + + + + + + + Chivo + true + + + + Storage encryption + + + + + + + QFrame::Plain + + + Qt::Horizontal + + + + + + + 0 + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + Set a passcode + + + + + + + + true + + + + Set + + + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + + + + + 0 + + + 0 + + + 0 + + + 0 + + + + +