From 62b09f40624ac94ecdc9f2b36b94d90844915792 Mon Sep 17 00:00:00 2001 From: Nicolas Mailloux Date: Sun, 13 Mar 2022 14:06:29 -0400 Subject: [PATCH] Settings: Add an option to change timezone --- eink.qrc | 1 + resources/tzlist | 595 +++++++++++++++++++++++++++++++++++++++ settings.cpp | 27 ++ settings.h | 3 +- settings.ui | 704 ++++++++++++++++++++++++----------------------- 5 files changed, 992 insertions(+), 338 deletions(-) create mode 100644 resources/tzlist diff --git a/eink.qrc b/eink.qrc index b1d55db..739e06a 100644 --- a/eink.qrc +++ b/eink.qrc @@ -74,5 +74,6 @@ resources/clock-inverted.png resources/clock.png resources/eink-square-encfs.qss + resources/tzlist diff --git a/resources/tzlist b/resources/tzlist new file mode 100644 index 0000000..af83384 --- /dev/null +++ b/resources/tzlist @@ -0,0 +1,595 @@ +Pacific/Palau +Pacific/Nauru +Pacific/Auckland +Pacific/Port_Moresby +Pacific/Gambier +Pacific/Saipan +Pacific/Fakaofo +Pacific/Guadalcanal +Pacific/Truk +Pacific/Pago_Pago +Pacific/Bougainville +Pacific/Samoa +Pacific/Easter +Pacific/Tarawa +Pacific/Kosrae +Pacific/Apia +Pacific/Efate +Pacific/Fiji +Pacific/Wake +Pacific/Wallis +Pacific/Tahiti +Pacific/Chatham +Pacific/Guam +Pacific/Funafuti +Pacific/Kwajalein +Pacific/Rarotonga +Pacific/Galapagos +Pacific/Kiritimati +Pacific/Tongatapu +Pacific/Majuro +Pacific/Yap +Pacific/Niue +Pacific/Honolulu +Pacific/Pitcairn +Pacific/Ponape +Pacific/Marquesas +Pacific/Chuuk +Pacific/Enderbury +Pacific/Noumea +Pacific/Johnston +Pacific/Midway +Pacific/Norfolk +Pacific/Pohnpei +Arctic/Longyearbyen +PRC +Singapore +Australia/Yancowinna +Australia/LHI +Australia/Melbourne +Australia/Tasmania +Australia/Broken_Hill +Australia/Adelaide +Australia/Currie +Australia/North +Australia/Hobart +Australia/Eucla +Australia/ACT +Australia/Lord_Howe +Australia/Queensland +Australia/Brisbane +Australia/Canberra +Australia/Sydney +Australia/Perth +Australia/South +Australia/Lindeman +Australia/West +Australia/NSW +Australia/Darwin +Australia/Victoria +Greenwich +Atlantic/South_Georgia +Atlantic/Stanley +Atlantic/Cape_Verde +Atlantic/Madeira +Atlantic/Faeroe +Atlantic/Bermuda +Atlantic/St_Helena +Atlantic/Faroe +Atlantic/Jan_Mayen +Atlantic/Azores +Atlantic/Canary +Atlantic/Reykjavik +GMT-0 +GB +UTC +Africa/El_Aaiun +Africa/Nairobi +Africa/Maputo +Africa/Algiers +Africa/Bangui +Africa/Niamey +Africa/Juba +Africa/Ceuta +Africa/Maseru +Africa/Asmara +Africa/Kinshasa +Africa/Windhoek +Africa/Bamako +Africa/Mbabane +Africa/Asmera +Africa/Freetown +Africa/Conakry +Africa/Gaborone +Africa/Ndjamena +Africa/Khartoum +Africa/Ouagadougou +Africa/Luanda +Africa/Libreville +Africa/Tripoli +Africa/Timbuktu +Africa/Bujumbura +Africa/Porto-Novo +Africa/Monrovia +Africa/Abidjan +Africa/Casablanca +Africa/Lusaka +Africa/Nouakchott +Africa/Dakar +Africa/Lome +Africa/Addis_Ababa +Africa/Cairo +Africa/Blantyre +Africa/Johannesburg +Africa/Banjul +Africa/Sao_Tome +Africa/Tunis +Africa/Mogadishu +Africa/Malabo +Africa/Douala +Africa/Bissau +Africa/Lubumbashi +Africa/Harare +Africa/Accra +Africa/Brazzaville +Africa/Lagos +Africa/Dar_es_Salaam +Africa/Kigali +Africa/Djibouti +Africa/Kampala +CET +EST +EST5EDT +US/Alaska +US/Pacific +US/Indiana-Starke +US/Eastern +US/Central +US/Arizona +US/Samoa +US/Michigan +US/Mountain +US/East-Indiana +US/Hawaii +US/Aleutian +Israel +EET +Etc/GMT+10 +Etc/GMT+11 +Etc/GMT+12 +Etc/Greenwich +Etc/GMT-0 +Etc/GMT-10 +Etc/GMT-1 +Etc/GMT-11 +Etc/GMT-12 +Etc/GMT-2 +Etc/GMT-13 +Etc/GMT-3 +Etc/GMT-14 +Etc/GMT-4 +Etc/GMT-5 +Etc/GMT-6 +Etc/GMT-7 +Etc/GMT-8 +Etc/UTC +Etc/GMT-9 +Etc/Universal +Etc/GMT0 +Etc/Zulu +Etc/GMT+0 +Etc/GMT+1 +Etc/GMT +Etc/GMT+2 +Etc/GMT+3 +Etc/GMT+4 +Etc/GMT+5 +Etc/GMT+6 +Etc/GMT+7 +Etc/GMT+8 +Etc/GMT+9 +Etc/UCT +Universal +Brazil/DeNoronha +Brazil/East +Brazil/Acre +Brazil/West +posixrules +Poland +Jamaica +GMT0 +Mexico/BajaSur +Mexico/General +Mexico/BajaNorte +MST +Cuba +MET +NZ-CHAT +America/Atka +America/Mexico_City +America/Juneau +America/St_Barthelemy +America/St_Thomas +America/Montserrat +America/Cordoba +America/Dominica +America/Montreal +America/North_Dakota/Center +America/North_Dakota/New_Salem +America/North_Dakota/Beulah +America/Boa_Vista +America/Nassau +America/Scoresbysund +America/Thule +America/St_Johns +America/Kralendijk +America/Punta_Arenas +America/Tortola +America/Cancun +America/Shiprock +America/Menominee +America/Rainy_River +America/Blanc-Sablon +America/Toronto +America/Porto_Velho +America/Argentina/Cordoba +America/Argentina/Tucuman +America/Argentina/La_Rioja +America/Argentina/ComodRivadavia +America/Argentina/Catamarca +America/Argentina/Buenos_Aires +America/Argentina/Rio_Gallegos +America/Argentina/Salta +America/Argentina/Mendoza +America/Argentina/Ushuaia +America/Argentina/San_Juan +America/Argentina/Jujuy +America/Argentina/San_Luis +America/Rio_Branco +America/Grenada +America/Louisville +America/Cayman +America/Halifax +America/Santo_Domingo +America/Martinique +America/Campo_Grande +America/Marigot +America/Phoenix +America/Moncton +America/Port_of_Spain +America/Porto_Acre +America/Port-au-Prince +America/Nipigon +America/Inuvik +America/Paramaribo +America/Knox_IN +America/Araguaina +America/Rankin_Inlet +America/Cayenne +America/Belize +America/Indiana/Winamac +America/Indiana/Petersburg +America/Indiana/Vincennes +America/Indiana/Marengo +America/Indiana/Tell_City +America/Indiana/Vevay +America/Indiana/Knox +America/Indiana/Indianapolis +America/Merida +America/Jamaica +America/Santarem +America/Guayaquil +America/Cambridge_Bay +America/Catamarca +America/Creston +America/Mazatlan +America/Guatemala +America/New_York +America/Panama +America/Dawson +America/Swift_Current +America/Los_Angeles +America/Fort_Nelson +America/Sitka +America/Matamoros +America/Tijuana +America/St_Vincent +America/Yakutat +America/Anchorage +America/Cuiaba +America/Guyana +America/Havana +America/Glace_Bay +America/Metlakatla +America/St_Kitts +America/Lima +America/Pangnirtung +America/Buenos_Aires +America/Barbados +America/Detroit +America/Belem +America/Bahia_Banderas +America/Managua +America/Ojinaga +America/Nome +America/Asuncion +America/Yellowknife +America/Chicago +America/Boise +America/Curacao +America/Thunder_Bay +America/Danmarkshavn +America/Winnipeg +America/Denver +America/Goose_Bay +America/Resolute +America/Costa_Rica +America/Caracas +America/Antigua +America/Manaus +America/Maceio +America/Fortaleza +America/Bahia +America/Mendoza +America/Recife +America/Ensenada +America/Sao_Paulo +America/Bogota +America/La_Paz +America/Chihuahua +America/Vancouver +America/Fort_Wayne +America/Eirunepe +America/Anguilla +America/Santa_Isabel +America/Monterrey +America/Puerto_Rico +America/Godthab +America/Kentucky/Louisville +America/Kentucky/Monticello +America/Tegucigalpa +America/Regina +America/Lower_Princes +America/Rosario +America/Guadeloupe +America/St_Lucia +America/Dawson_Creek +America/Santiago +America/Coral_Harbour +America/Whitehorse +America/Jujuy +America/Hermosillo +America/Virgin +America/Indianapolis +America/Montevideo +America/Miquelon +America/El_Salvador +America/Grand_Turk +America/Noronha +America/Iqaluit +America/Nuuk +America/Aruba +America/Adak +America/Edmonton +America/Atikokan +Europe/Dublin +Europe/Amsterdam +Europe/Helsinki +Europe/Astrakhan +Europe/Tallinn +Europe/Bucharest +Europe/Tiraspol +Europe/Zurich +Europe/Gibraltar +Europe/Vatican +Europe/Simferopol +Europe/Jersey +Europe/Madrid +Europe/Brussels +Europe/Ulyanovsk +Europe/Budapest +Europe/Nicosia +Europe/Berlin +Europe/Volgograd +Europe/Belfast +Europe/Luxembourg +Europe/Chisinau +Europe/Podgorica +Europe/Vaduz +Europe/Isle_of_Man +Europe/Paris +Europe/Kiev +Europe/Rome +Europe/Ljubljana +Europe/Busingen +Europe/London +Europe/Istanbul +Europe/Sofia +Europe/Stockholm +Europe/Mariehamn +Europe/Uzhgorod +Europe/Lisbon +Europe/Samara +Europe/Monaco +Europe/Kaliningrad +Europe/Malta +Europe/Tirane +Europe/Prague +Europe/Minsk +Europe/Vilnius +Europe/Warsaw +Europe/Riga +Europe/Guernsey +Europe/Bratislava +Europe/Zagreb +Europe/Athens +Europe/Copenhagen +Europe/Andorra +Europe/San_Marino +Europe/Skopje +Europe/Vienna +Europe/Moscow +Europe/Oslo +Europe/Zaporozhye +Europe/Belgrade +Europe/Saratov +Europe/Kirov +Europe/Sarajevo +Zulu +WET +Portugal +GMT+0 +MST7MDT +GMT +Chile/Continental +Chile/EasterIsland +Turkey +Factory +CST6CDT +Kwajalein +Canada/Pacific +Canada/Newfoundland +Canada/Eastern +Canada/Atlantic +Canada/Central +Canada/Yukon +Canada/Saskatchewan +Canada/Mountain +W-SU +Egypt +ROC +Eire +Navajo +Libya +GB-Eire +ROK +Antarctica/McMurdo +Antarctica/Rothera +Antarctica/Macquarie +Antarctica/Palmer +Antarctica/South_Pole +Antarctica/Davis +Antarctica/DumontDUrville +Antarctica/Casey +Antarctica/Troll +Antarctica/Syowa +Antarctica/Mawson +Antarctica/Vostok +HST +NZ +Hongkong +Japan +Iran +PST8PDT +Asia/Jayapura +Asia/Srednekolymsk +Asia/Aqtobe +Asia/Qyzylorda +Asia/Urumqi +Asia/Dushanbe +Asia/Dili +Asia/Tel_Aviv +Asia/Macao +Asia/Singapore +Asia/Kuching +Asia/Macau +Asia/Aden +Asia/Qostanay +Asia/Beirut +Asia/Dubai +Asia/Brunei +Asia/Kathmandu +Asia/Omsk +Asia/Rangoon +Asia/Tbilisi +Asia/Tomsk +Asia/Taipei +Asia/Harbin +Asia/Nicosia +Asia/Baku +Asia/Ulaanbaatar +Asia/Makassar +Asia/Karachi +Asia/Amman +Asia/Vladivostok +Asia/Magadan +Asia/Riyadh +Asia/Sakhalin +Asia/Tehran +Asia/Pontianak +Asia/Qatar +Asia/Ashgabat +Asia/Katmandu +Asia/Istanbul +Asia/Ulan_Bator +Asia/Thimbu +Asia/Saigon +Asia/Ujung_Pandang +Asia/Barnaul +Asia/Jerusalem +Asia/Almaty +Asia/Famagusta +Asia/Yakutsk +Asia/Thimphu +Asia/Khandyga +Asia/Yangon +Asia/Atyrau +Asia/Manila +Asia/Colombo +Asia/Novosibirsk +Asia/Kamchatka +Asia/Krasnoyarsk +Asia/Pyongyang +Asia/Ashkhabad +Asia/Yerevan +Asia/Ust-Nera +Asia/Bangkok +Asia/Samarkand +Asia/Bahrain +Asia/Kuala_Lumpur +Asia/Phnom_Penh +Asia/Kabul +Asia/Oral +Asia/Chungking +Asia/Ho_Chi_Minh +Asia/Hong_Kong +Asia/Jakarta +Asia/Damascus +Asia/Chongqing +Asia/Gaza +Asia/Vientiane +Asia/Choibalsan +Asia/Aqtau +Asia/Hovd +Asia/Irkutsk +Asia/Kolkata +Asia/Chita +Asia/Yekaterinburg +Asia/Tashkent +Asia/Seoul +Asia/Baghdad +Asia/Muscat +Asia/Kuwait +Asia/Tokyo +Asia/Anadyr +Asia/Calcutta +Asia/Kashgar +Asia/Dhaka +Asia/Dacca +Asia/Bishkek +Asia/Novokuznetsk +Asia/Shanghai +Asia/Hebron +Indian/Chagos +Indian/Christmas +Indian/Comoro +Indian/Maldives +Indian/Mahe +Indian/Reunion +Indian/Mayotte +Indian/Antananarivo +Indian/Cocos +Indian/Mauritius +Indian/Kerguelen +UCT +Iceland diff --git a/settings.cpp b/settings.cpp index 8c0f34a..da03c0a 100644 --- a/settings.cpp +++ b/settings.cpp @@ -25,6 +25,7 @@ settings::settings(QWidget *parent) : ui->setupUi(this); settings::setFont(QFont("u001")); ui->comboBox->setFont(QFont("u001")); + ui->tzComboBox->setFont(QFont("u001")); ui->sleepTimeoutComboBox->setFont(QFont("u001")); ui->aboutBtn->setFont(QFont("u001")); ui->okBtn->setFont(QFont("Inter")); @@ -53,6 +54,7 @@ settings::settings(QWidget *parent) : ui->generateSystemReportBtn->setStyleSheet("font-size: 9pt"); ui->checkOtaUpdateBtn->setStyleSheet("font-size: 9pt"); ui->comboBox->setStyleSheet("font-size: 9pt"); + ui->tzComboBox->setStyleSheet("font-size: 9pt"); ui->sleepTimeoutComboBox->setStyleSheet("font-size: 9pt"); ui->setPasscodeBtn->setStyleSheet("font-size: 9pt"); ui->repackBtn->setStyleSheet("font-size: 9pt"); @@ -334,6 +336,16 @@ settings::settings(QWidget *parent) : ui->enableUiScalingCheckBox->click(); } + timezone_not_user_change = true; + ui->tzComboBox->addItems(QStringList(readFile(":/resources/tzlist").split("\n", Qt::SkipEmptyParts))); + // Timezone + if(readFile(".config/19-timezone/config-name").isEmpty()) { + ui->tzComboBox->setCurrentText("UTC"); + } + else { + ui->tzComboBox->setCurrentText(readFile(".config/19-timezone/config-name")); + } + 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) { @@ -999,3 +1011,18 @@ void settings::on_generateSystemReportBtn_clicked() } } } + +void settings::on_tzComboBox_currentTextChanged(const QString &arg1) +{ + if(timezone_not_user_change == true) { + timezone_not_user_change = false; + } + else { + setDefaultWorkDir(); + // Preventing unnecessary (e)MMC writes + if(readFile(".config/19-timezone/config-name") != arg1) { + QProcess::execute("ln", QStringList() << "-sf" << "/usr/share/zoneinfo/" + arg1 << ".config/19-timezone/config"); + string_writeconfig(".config/19-timezone/config-name", arg1.toStdString()); + } + } +} diff --git a/settings.h b/settings.h index 9acc77c..16fa198 100644 --- a/settings.h +++ b/settings.h @@ -24,6 +24,7 @@ public: bool ui_enable_changed = false; bool ui_not_user_change = false; bool not_user_change = true; + bool timezone_not_user_change = true; bool enableEncryptedStorageUserChange = false; explicit settings(QWidget *parent = nullptr); @@ -68,8 +69,8 @@ private slots: void disableStorageEncryption(); void cancelDisableStorageEncryption(); void on_repackBtn_clicked(); - void on_generateSystemReportBtn_clicked(); + void on_tzComboBox_currentTextChanged(const QString &arg1); signals: void showToast(QString messageToDisplay); diff --git a/settings.ui b/settings.ui index b6884cf..4c0f435 100644 --- a/settings.ui +++ b/settings.ui @@ -529,10 +529,176 @@ 0 - - + + + + QFrame::Plain + + + Qt::Horizontal + + + + + + + 0 + + + + + Reset this device + + + + + + + + 75 + true + + + + Reset + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + - Enable night mode + Enable lock screen and passcode + + + + + + + 0 + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + 75 + true + + + + Set + + + + + + + Set a passcode + + + + + + + + + 0 + + + + + Check for updates + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + 75 + true + + + + Check + + + + + + + + + + Chivo + true + + + + System + + + + + + + + Chivo + true + + + + Storage encryption + + + + + + + QFrame::Plain + + + Qt::Horizontal @@ -588,25 +754,131 @@ - - - - Enable + + + + 0 - + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + Update InkBox + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + + + 75 + true + + + + Update + + + + - - - - - Chivo - true - + + + + 0 - - Storage encryption + + 0 - + + + + System info + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + 75 + true + + + + Show + + + + + + + + + 0 + + + + + + 75 + true + + + + Generate + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + Generate system report + + + + @@ -677,315 +949,6 @@ - - - - QFrame::Plain - - - Qt::Horizontal - - - - - - - - Chivo - true - - - - System - - - - - - - Enable lock screen and passcode - - - - - - - QFrame::Plain - - - Qt::Horizontal - - - - - - - 0 - - - 0 - - - - - System info - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - - 75 - true - - - - Show - - - - - - - - - 0 - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - - 75 - true - - - - Set - - - - - - - Set a passcode - - - - - - - - - 0 - - - - - Check for updates - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - - 75 - true - - - - Check - - - - - - - - - - Chivo - true - - - - Security - - - - - - - 0 - - - - - Reset this device - - - - - - - - 75 - true - - - - Reset - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - - - 0 - - - - - - 75 - true - - - - Generate - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - Generate system report - - - - - - - - - 0 - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - Update InkBox - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - - - - - - 75 - true - - - - Update - - - - - - - - - QFrame::Plain - - - Qt::Horizontal - - - @@ -993,7 +956,27 @@ - + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + Enable night mode + + + + 0 @@ -1033,18 +1016,65 @@ - - + + + + + Chivo + true + + + + Security + + + + + + + QFrame::Plain + - Qt::Vertical + Qt::Horizontal - - - 20 - 40 - + + + + + + Enable - + + + + + + 0 + + + + + Timezone + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + +