diff --git a/functions.h b/functions.h index 8065d4b..38342fa 100644 --- a/functions.h +++ b/functions.h @@ -63,6 +63,8 @@ namespace { QString batt_level; QString kernelVersion; int batt_level_int; + int defaultEpubPageWidth; + int defaultEpubPageHeight; bool checked_box = false; bool checkconfig(QString file) { QFile config(file); @@ -318,5 +320,16 @@ namespace { QString returnedMetadata = proc->readAllStandardOutput(); return returnedMetadata; } + void defineDefaultPageSize() { + string_checkconfig_ro("/opt/inkbox_device"); + if(checkconfig_str_val == "n705\n") { + defaultEpubPageWidth = 425; + defaultEpubPageHeight = 425; + } + if(checkconfig_str_val == "n905\n") { + defaultEpubPageHeight = 425; + defaultEpubPageWidth = 425; + } + } } #endif // FUNCTIONS_H diff --git a/reader.cpp b/reader.cpp index d696f92..f8619b8 100644 --- a/reader.cpp +++ b/reader.cpp @@ -89,7 +89,7 @@ reader::reader(QWidget *parent) : string_checkconfig(".config/04-book/font"); if(checkconfig_str_val == "") { ui->fontChooser->setCurrentText(checkconfig_str_val); - ui->text->setFont(QFont("Inter")); + ui->text->setFont(QFont("Source Serif Pro")); } else { if(checkconfig_str_val == "Crimson Pro") { @@ -1225,9 +1225,8 @@ void reader::openCriticalBatteryAlertWindow() { } void reader::convertMuPdfVars() { + setPageStyle(); mupdf::fontSize = 12; - mupdf::width = 400; - mupdf::height = 460; mupdf::fontSize_qstr = QString::number(mupdf::fontSize); mupdf::width_qstr = QString::number(mupdf::width); mupdf::height_qstr = QString::number(mupdf::height); @@ -1236,29 +1235,38 @@ void reader::convertMuPdfVars() { void reader::setPageStyle() { // General page size - string_checkconfig_ro("/opt/inkbox_device"); - if(checkconfig_str_val == "n705\n") { - string_checkconfig_ro(".config/04-book/font"); - if(checkconfig_str_val == "Crimson Pro") { - mupdf::width = 415; - mupdf::height = 490; - } - else { - mupdf::width = 400; - mupdf::height = 460; - } + defineDefaultPageSize(); + + string_checkconfig_ro(".config/13-epub_page_size/width"); + if(checkconfig_str_val != "") { + ; } - else if(checkconfig_str_val == "n905\n") { - string_checkconfig_ro(".config/04-book/font"); - if(checkconfig_str_val == "Crimson Pro") { - mupdf::width = 415; - mupdf::height = 490; - } - else { - mupdf::width = 400; - mupdf::height = 460; - } + else { + std::string pageWidth = std::to_string(defaultEpubPageWidth); + string_writeconfig(".config/13-epub_page_size/width", pageWidth); + string_writeconfig(".config/13-epub_page_size/set", "true"); + string_checkconfig_ro(".config/13-epub_page_size/width"); } + mupdf::width = checkconfig_str_val.toInt(); + + string_checkconfig_ro(".config/13-epub_page_size/height"); + if(checkconfig_str_val != "") { + ; + } + else { + std::string pageHeight = std::to_string(defaultEpubPageHeight); + string_writeconfig(".config/13-epub_page_size/height", pageHeight); + string_writeconfig(".config/13-epub_page_size/set", "true"); + string_checkconfig_ro(".config/13-epub_page_size/height"); + } + mupdf::height = checkconfig_str_val.toInt(); +} + +void reader::delay(int seconds) { + // https://stackoverflow.com/questions/3752742/how-do-i-create-a-pause-wait-function-using-qt + QTime dieTime= QTime::currentTime().addSecs(seconds); + while (QTime::currentTime() < dieTime) + QCoreApplication::processEvents(QEventLoop::AllEvents, 100); } void reader::on_text_selectionChanged() { @@ -1296,10 +1304,3 @@ void reader::on_text_selectionChanged() { } } } - -void reader::delay(int seconds) { - // https://stackoverflow.com/questions/3752742/how-do-i-create-a-pause-wait-function-using-qt - QTime dieTime= QTime::currentTime().addSecs(seconds); - while (QTime::currentTime() < dieTime) - QCoreApplication::processEvents(QEventLoop::AllEvents, 100); -} diff --git a/settings.cpp b/settings.cpp index a49ad98..f3824c5 100644 --- a/settings.cpp +++ b/settings.cpp @@ -66,6 +66,9 @@ settings::settings(QWidget *parent) : ui->uiScalingSlider->hide(); ui->uiScalingLabel->hide(); + // Variables + defineDefaultPageSize(); + // Settings tweaking + enabling specific features whether it's running on the provided integrated OS or Kobo firmware if(checkconfig(".config/01-demo/config") == true) { ui->demoCheckBox->click(); @@ -90,6 +93,32 @@ settings::settings(QWidget *parent) : ui->wordsNumber->setValue(words_number); } + // ePUB page size + if(checkconfig(".config/13-epub_page_size/set") == true) { + string_checkconfig_ro(".config/13-epub_page_size/width"); + if(checkconfig_str_val != "") { + int pageWidth = checkconfig_str_val.toInt(); + ui->pageSizeWidthSpinBox->setValue(pageWidth); + } + else { + // Failsafe: setting default + ui->pageSizeWidthSpinBox->setValue(defaultEpubPageWidth); + } + string_checkconfig_ro(".config/13-epub_page_size/height"); + if(checkconfig_str_val != "") { + int pageHeight = checkconfig_str_val.toInt(); + ui->pageSizeHeightSpinBox->setValue(pageHeight); + } + else { + // Failsafe: setting default + ui->pageSizeHeightSpinBox->setValue(defaultEpubPageHeight); + } + } + else { + ui->pageSizeWidthSpinBox->setValue(defaultEpubPageWidth); + ui->pageSizeHeightSpinBox->setValue(defaultEpubPageHeight); + } + // Sticky menubar if(checkconfig(".config/11-menubar/sticky") == true) { ui->menuBarCheckBox->click(); @@ -660,3 +689,17 @@ void settings::on_showSystemInfoBtn_clicked() generalDialogWindow->setAttribute(Qt::WA_DeleteOnClose); generalDialogWindow->show(); } + +void settings::on_pageSizeWidthSpinBox_valueChanged(int arg1) +{ + std::string value = std::to_string(arg1); + string_writeconfig(".config/13-epub_page_size/width", value); + string_writeconfig(".config/13-epub_page_size/set", "true"); +} + +void settings::on_pageSizeHeightSpinBox_valueChanged(int arg1) +{ + std::string value = std::to_string(arg1); + string_writeconfig(".config/13-epub_page_size/height", value); + string_writeconfig(".config/13-epub_page_size/set", "true"); +} diff --git a/settings.h b/settings.h index 0c4ad64..5eee262 100644 --- a/settings.h +++ b/settings.h @@ -46,8 +46,9 @@ private slots: void on_setPasscodeBtn_clicked(); void on_enableLockscreenCheckBox_toggled(bool checked); void on_enableUiScalingCheckBox_toggled(bool checked); - void on_showSystemInfoBtn_clicked(); + void on_pageSizeWidthSpinBox_valueChanged(int arg1); + void on_pageSizeHeightSpinBox_valueChanged(int arg1); private: Ui::settings *ui; diff --git a/settings.ui b/settings.ui index 5eb220a..c67918c 100644 --- a/settings.ui +++ b/settings.ui @@ -191,14 +191,7 @@ OK 0 - - - Clock: Show seconds - - - - - + QFrame::Plain @@ -208,6 +201,26 @@ OK + + + QFrame::Plain + + + Qt::Horizontal + + + + + + + QFrame::Plain + + + Qt::Horizontal + + + + 0 @@ -247,27 +260,114 @@ OK - - - - QFrame::Plain + + + + + Chivo + true + - - Qt::Horizontal + + Networking - - - - QFrame::Plain - - - Qt::Horizontal + + + + Disable authors quotes - + + + + Disable "Welcome to InkBox" message + + + + + + + 0 + + + + + Request DHCP lease + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + 75 + true + + + + Request + + + + + + + + + Always show status bar + + + + + + + + Chivo + true + + + + Reading + + + + + + + Clock: Show seconds + + + + + + + + Chivo + true + + + + Storage + + + + 0 @@ -338,43 +438,6 @@ OK - - - - QFrame::Plain - - - Qt::Horizontal - - - - - - - Disable authors quotes - - - - - - - Always show status bar - - - - - - - - Chivo - true - - - - Reading - - - @@ -396,7 +459,7 @@ OK - Words number per page (plain text files) + Words number/page (plain text files) @@ -418,7 +481,7 @@ OK - + @@ -431,53 +494,57 @@ OK - - - - - Chivo - true - + + + + QFrame::Plain - - Storage + + Qt::Horizontal - - - - - Chivo - true - - - - Networking - - - - - - - Disable "Welcome to InkBox" message - - - - - + + 0 - - + + - Request DHCP lease + Height: + + + + + + + Width: + + + + + + + 300 + + + 700 + + + 25 + + + + + + + ePUB page size - + Qt::Horizontal @@ -489,16 +556,16 @@ OK - - - - - 75 - true - + + + + 300 - - Request + + 700 + + + 25