From b79957160d3d9b84411bf8816d436b68a9be4ff7 Mon Sep 17 00:00:00 2001 From: Igor Belitskiy Date: Fri, 3 Feb 2023 17:58:16 +0600 Subject: [PATCH 1/7] =?UTF-8?q?=D0=A3=D0=B1=D1=80=D0=B0=D0=BB=20=D0=BD?= =?UTF-8?q?=D0=B5=D0=BD=D1=83=D0=B6=D0=BD=D1=8B=D0=B9=20=D0=BA=D0=BE=D0=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- source/ubl-settings-datetime.cc | 9 --------- 1 file changed, 9 deletions(-) diff --git a/source/ubl-settings-datetime.cc b/source/ubl-settings-datetime.cc index 918dc24..532507a 100644 --- a/source/ubl-settings-datetime.cc +++ b/source/ubl-settings-datetime.cc @@ -280,15 +280,6 @@ void MainWindow::wind_close_ntp(){ void MainWindow::stop_ntp(){ windowsNnpClose->hide(); - /* - // string cmd = "systemd-timesyncd [[ systemctl --quiet is-active systemd-timesyncd &>/dev/null ]] && systemctl stop systemd-timesyncd"; - - string cmd = "sudo systemctl stop systemd-timesyncd; " ; - cmd += "sudo systemctl stop ntp.service; sudo systemctl stop ntpdate.service; "; - cmd += "sudo systemctl stop chronyd; sudo service ntpd stop; sudo systemctl stop ptp4l; "; - cmd += "sudo systemctl stop openntpd.service; sudo timedatectl set-ntp false"; - cmd += "sudo systemctl stop phc2sys"; - */ string cmd = ""; string response = ""; string array_servis[8] = {"systemd-timesyncd", "chronyd", "ntp.service", "ntpdate.service", From bf45c57066e95d618462deb39566256c610cd93d Mon Sep 17 00:00:00 2001 From: Igor Belitskiy Date: Mon, 6 Feb 2023 13:05:11 +0600 Subject: [PATCH 2/7] =?UTF-8?q?=D0=94=D0=BE=D0=BF=D0=BE=D0=BB=D0=BD=D0=B5?= =?UTF-8?q?=D0=BD=D0=B0=20=D0=BB=D0=BE=D0=BA=D0=B0=D0=BB=D0=B8=D0=B7=D0=B0?= =?UTF-8?q?=D1=86=D0=B8=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- source/ubl-settings-datetime.cc | 66 +- ubl-settings-datetime_ru.po | 1466 +++++++++++++++++++++++++++++++ 2 files changed, 1493 insertions(+), 39 deletions(-) diff --git a/source/ubl-settings-datetime.cc b/source/ubl-settings-datetime.cc index 532507a..fe0e88e 100644 --- a/source/ubl-settings-datetime.cc +++ b/source/ubl-settings-datetime.cc @@ -36,8 +36,7 @@ bool flag_ntp = false; bool flag_update = false; CmdArgParser::CmdArgParser(const std::string& p_name, const std::string& p_description, const std::string& p_help) -: Glib::OptionGroup{p_name, p_description, p_help} -{ +: Glib::OptionGroup{p_name, p_description, p_help}{ Glib::OptionEntry socketIDArg; socketIDArg.set_long_name("socket-id"); socketIDArg.set_short_name('s'); @@ -98,7 +97,6 @@ void MainWindow::settings(){ lblRegGlob->set_sensitive(false); lblZone1Glob->set_sensitive(false); lblDateTimeSetting->set_sensitive(false); - } } @@ -110,6 +108,7 @@ int MainWindow::check_root(){ } return 0; } + void MainWindow::lacalization(){ txtDate->set_tooltip_text(gettext("Date of\nFormat: DD.MM.YYYY")); lblSynchronizebChkGLob->set_text(gettext("Synchronize via NTP")); @@ -136,14 +135,10 @@ void MainWindow::lacalization(){ lblBanerStopNtp->set_text(gettext("Active service detected\nAutomatic time and date synchronization service detected")); lblNtpStop->set_text(gettext("Stop the synchronization service")); lblNtpClose->set_text(gettext("Close")); - //_lblSynchronizebChk->set_text(gettext("Synchronize via NTP")); } void MainWindow::flag_block_gui(){ if (flag_datetime==true){ - //numTimeHrs->set_sensitive(false); - //numTimeMin->set_sensitive(false); - //txtDate->set_sensitive(false); btnUpdateDateTime->set_sensitive(false); numTimeHrs->set_sensitive(false); numTimeMin->set_sensitive(false); @@ -153,14 +148,12 @@ void MainWindow::flag_block_gui(){ btnHardwareTime->set_sensitive(false); lblTime->set_sensitive(false); lblData->set_sensitive(false); - //cbxSynchronizeNtpGlob->set_sensitive(false); } if (flag_timezone==true){ cbRegion->set_sensitive(false); cbZone->set_sensitive(false); cbRegionGlob->set_sensitive(false); cbZoneGlob->set_sensitive(false); - //btnChooseDate->set_sensitive(false); cbDhcp->set_sensitive(false); } if (flag_ntp==true){ @@ -170,7 +163,6 @@ void MainWindow::flag_block_gui(){ } if (flag_update==true){ lblDateTimeSettingGlob->set_sensitive(false); - //lblSynchronizebChkGLob->set_sensitive(false); cbxSynchronizeNtpGlob->set_sensitive(false); lblTimeZoneGlob->set_sensitive(false); lblRegGlob->set_sensitive(false); @@ -186,8 +178,8 @@ void MainWindow::add_CSS(){ Glib::RefPtr cssProvider = Gtk::CssProvider::create(); cssProvider->load_from_path(path_css); Glib::RefPtr styleContext = Gtk::StyleContext::create(); - Glib::RefPtr screen = Gdk::Screen::get_default();//get default screen - styleContext->add_provider_for_screen(screen, cssProvider, GTK_STYLE_PROVIDER_PRIORITY_APPLICATION);//add provider for screen in all application + Glib::RefPtr screen = Gdk::Screen::get_default(); + styleContext->add_provider_for_screen(screen, cssProvider, GTK_STYLE_PROVIDER_PRIORITY_APPLICATION); Glib::RefPtr context = boxColor->get_style_context(); Glib::RefPtr context_lbl_head = lblHead->get_style_context(); context->add_class("cssboxColor1"); @@ -224,7 +216,6 @@ void MainWindow::get_builder(){ builder->get_widget("lblRegGlob",lblRegGlob); builder->get_widget("lblZone1Glob",lblZone1Glob); builder->get_widget("lblTimeZoneGlob",lblTimeZoneGlob); - //builder->get_widget("lblSynchronizebChk",_lblSynchronizebChk); builder->get_widget("lblSynchronizebChkGLob",lblSynchronizebChkGLob); builder->get_widget("lblSynchronizeBtn",lblSynchronizeBtn); builder->get_widget("lblDateTimeSettingGlob",lblDateTimeSettingGlob); @@ -239,11 +230,9 @@ void MainWindow::get_builder(){ builder->get_widget("lblNtpStop",lblNtpStop); builder->get_widget("lblNtpClose",lblNtpClose); builder->get_widget("lblBanerStopNtp",lblBanerStopNtp); - - //builder->get_widget("cbxSynchronizeNtp",cbxSynchronizeNtp); - this->add_CSS(); } + void MainWindow::gui_exit(){ exit(1); } @@ -274,6 +263,7 @@ void MainWindow::event(){ btnNtpWinClose->signal_clicked().connect(sigc::mem_fun(*this, &MainWindow::wind_close_ntp)); btnNtpStop->signal_clicked().connect(sigc::mem_fun(*this, &MainWindow::stop_ntp)); } + void MainWindow::wind_close_ntp(){ windowsNnpClose->hide(); } @@ -292,7 +282,6 @@ void MainWindow::stop_ntp(){ this->call(cmd.c_str()); } } - system(cmd.c_str()); this->update_time_date(); @@ -318,7 +307,6 @@ bool MainWindow::focus_ntp(GdkEventFocus* event){ cmd = "/usr/bin/ubconfig set network NTPSERVERS=" + txtNtpServer->get_text(); this->call(cmd.c_str()); } - return true; } @@ -459,8 +447,6 @@ void MainWindow::get_config(){ this->update_hour_minute(); this->update_calendar(); this->enry_dhcp_mess(); - - string read_reg_zon_cfg = this->call("/usr/bin/ubconfig get clock ZONE"); if ((read_reg_zon_cfg != "") && (strstr(read_reg_zon_cfg.c_str() ,"(null)")==NULL)){ read_reg_zon_cfg = read_reg_zon_cfg.substr(read_reg_zon_cfg.find("=")+1,read_reg_zon_cfg.length()); @@ -555,6 +541,7 @@ void MainWindow::append_region_zone(string region, string zone){ } } + string MainWindow::call(string cmd){ FILE *fp; int status; @@ -564,7 +551,6 @@ string MainWindow::call(string cmd){ exit(1); } while (fgets(path, PATH_MAX, fp) != NULL){ - //printf("%s", path); break; } status = pclose(fp); @@ -609,7 +595,6 @@ void MainWindow::wrapper_update_time_date(){ } void MainWindow::update_time_date(){ - //this->enter_zone(); string cmd = ""; if ((year!=0) && (month !=0) && (day !=0)){ string str_month = ""; @@ -657,24 +642,29 @@ void MainWindow::update_time_date(){ system(cmd.c_str()); } + void MainWindow::post_entry_data(){ string cmd = ""; - string data = txtDate->get_text(); - if (data.length()==10){ - string str_day = data.substr(0,2); - string str_month = data.substr(3,2); - string str_year = data.substr(6,data.length()); - cmd = "date +%Y%m%d -s \"" + str_year+ - str_month+str_day+"\""; - string str_error_clock = this->call(cmd); - size_t index = str_error_clock.find("date: "); - if (index==std::string::npos){ - } + string data = txtDate->get_text(); + if (data.length()==10){ + string str_day = data.substr(0,2); + string str_month = data.substr(3,2); + string str_year = data.substr(6,data.length()); + cmd = "date +%Y%m%d -s \"" + str_year+ + str_month+str_day+"\""; + string str_error_clock = this->call(cmd); + size_t index = str_error_clock.find("date: "); + if (index==std::string::npos){ } else{ lblMessage->set_text(gettext("Incorrect date format")); - mess_dchp->show(); + mess_dchp->show(); } + } + else{ + lblMessage->set_text(gettext("Incorrect date format")); + mess_dchp->show(); + } } void MainWindow::update_hour_minute(){ @@ -713,7 +703,7 @@ void MainWindow::read_file(){ std::string line; namespace fs = std::filesystem; for (const auto & entry : fs::directory_iterator("/usr/share/zoneinfo/")){ - std::ifstream in(entry.path()); // окрываем файл для чтения + std::ifstream in(entry.path()); if (in.is_open()){ string key_reg = entry.path().filename().string(); string path_dir = "/usr/share/zoneinfo/"+key_reg; @@ -725,7 +715,7 @@ void MainWindow::read_file(){ vector zone; zone.push_back(""); for (const auto & entry_zone : fs::directory_iterator(path_dir)){ - std::ifstream in1(entry_zone.path()); // окрываем файл для чтения + std::ifstream in1(entry_zone.path()); if (in1.is_open()){ string key_zone = entry_zone.path().filename().string(); if (key_zone.length()!=0 || key_zone!=" "){ @@ -734,7 +724,6 @@ void MainWindow::read_file(){ } in1.close(); } - key_reg = string(gettext(key_reg.c_str())); time_reg_map.insert({key_reg, zone}); }}}} @@ -755,8 +744,7 @@ vector MainWindow::split(const std::string &s, char delim){ } SettingsPlug::SettingsPlug(::Window p_socketID, Glib::RefPtr builder) -: Gtk::Plug{p_socketID} -{ +: Gtk::Plug{p_socketID}{ builder->get_widget("plugBox", plugBox); plugBox->get_parent()->remove(*plugBox); add(*plugBox); diff --git a/ubl-settings-datetime_ru.po b/ubl-settings-datetime_ru.po index b6a015e..62612d7 100644 --- a/ubl-settings-datetime_ru.po +++ b/ubl-settings-datetime_ru.po @@ -98,3 +98,1469 @@ msgstr "Синхронизировать аппаратное время" msgid "Warning!" msgstr "Внимание!" + +msgid "America" +msgstr "Америка" + +msgid "Brazil" +msgstr "Бразилия" + +msgid "Aruba" +msgstr "Аруба" + +msgid "Asia" +msgstr "Азия" + +msgid "Mexico_City" +msgstr "Мехико" + +msgid "Antarctica" +msgstr "Антарктида" + +msgid "Dubai" +msgstr "Дубай" + +msgid "Antigua" +msgstr "Антигуа" + +msgid "Lima" +msgstr "Лима" + +msgid "Manaus" +msgstr "Манаус" + +msgid "Africa" +msgstr "Африка" + +msgid "Chicago" +msgstr "Чикаго" + +msgid "Punta_Arenas" +msgstr "Пунта_Аренас" + +msgid "Europe" +msgstr "Европа" + +msgid "Djibouti" +msgstr "Джибути" + +msgid "Pyongyang" +msgstr "Пхеньян" + +msgid "Australia" +msgstr "Австралия" + +msgid "Mazatlan" +msgstr "Масатлан" + +msgid "Macau" +msgstr "Макао" + +msgid "Denver" +msgstr "Денвер" + +msgid "Yakutat" +msgstr "Якутат" + +msgid "Currie" +msgstr "Карри" + +msgid "Dar_es_Salaam" +msgstr "Дар-эс-Салам" + +msgid "Thunder_Bay" +msgstr "Тандер-Бей" + +msgid "Los_Angeles" +msgstr "Лос-Анджелес" + +msgid "Nome" +msgstr "Ном" + +msgid "Colombo" +msgstr "Коломбо" + +msgid "Nairobi" +msgstr "Найроби" + +msgid "Prague" +msgstr "Прага" + +msgid "Metlakatla" +msgstr "Метлакатла" + +msgid "Vostok" +msgstr "Восток" + +msgid "Blanc-Sablon" +msgstr "Блан-Саблон" + +msgid "Port_Moresby" +msgstr "Порт_Морсби" + +msgid "US" +msgstr "США" + +msgid "Ouagadougou" +msgstr "Уагадугу" + +msgid "Tashkent" +msgstr "Ташкент" + +msgid "Maputo" +msgstr "Мапуту" + +msgid "Qatar" +msgstr "Катар" + +msgid "Chita" +msgstr "Чита" + +msgid "Caracas" +msgstr "Каракас" + +msgid "Central" +msgstr "Центральный" + +msgid "Chatham" +msgstr "Чатем" + +msgid "Brussels" +msgstr "Брюссель" + +msgid "Zaporozhye" +msgstr "Запорожье" + +msgid "Cambridge_Bay" +msgstr "Кембридж_Бэй" + +msgid "Guayaquil" +msgstr "Гуаякиль" + +msgid "Coral_Harbour" +msgstr "Корал_Харбор" + +msgid "Kigali" +msgstr "Кигали" + +msgid "Zagreb" +msgstr "Загреб" + +msgid "Maseru" +msgstr "Масеру" + +msgid "Belgrade" +msgstr "Белград" + +msgid "Goose_Bay" +msgstr "Гуз-Бей" + +msgid "Monterrey" +msgstr "Монтеррей" + +msgid "Luxembourg" +msgstr "Люксембург" + +msgid "Cayman" +msgstr "Кайман" + +msgid "Alaska" +msgstr "Аляска" + +msgid "Skopje" +msgstr "Скопье" + +msgid "St_Kitts" +msgstr "Сент-Китс" + +msgid "Kampala" +msgstr "Кампала" + +msgid "Rankin_Inlet" +msgstr "Ранкин-Инлет" + +msgid "Kolkata" +msgstr "Калькутта" + +msgid "Canada" +msgstr "Канада" + +msgid "Dominica" +msgstr "Доминика" + +msgid "Bucharest" +msgstr "Бухарест" + +msgid "Zurich" +msgstr "Цюрих" + +msgid "Queensland" +msgstr "Квинсленд" + +msgid "Atikokan" +msgstr "Атикокан" + +msgid "Mbabane" +msgstr "Мбабане" + +msgid "Kathmandu" +msgstr "Катманду" + +msgid "Indian" +msgstr "Индиана" + +msgid "Khandyga" +msgstr "Хандыга" + +msgid "Guernsey" +msgstr "Гернси" + +msgid "Yerevan" +msgstr "Ереван" + +msgid "Buenos_Aires" +msgstr "Буэнос Айрес" + +msgid "Tunis" +msgstr "Тунис" + +msgid "Easter" +msgstr "Пасха" + +msgid "Matamoros" +msgstr "Матаморос" + +msgid "East-Indiana" +msgstr "Восточная Индиана" + +msgid "Singapore" +msgstr "Сингапур" + +msgid "Atlantic" +msgstr "Атлантика" + +msgid "Canary" +msgstr "Канари" + +msgid "Fort_Nelson" +msgstr "Форт_Нельсон" + +msgid "Recife" +msgstr "Ресифи" + +msgid "Malta" +msgstr "Мальта" + +msgid "Eucla" +msgstr "Евкла" + +msgid "Azores" +msgstr "Азорские острова" + +msgid "Santiago" +msgstr "Сантьяго" + +msgid "Aden" +msgstr "Аден" + +msgid "Merida" +msgstr "Мерида" + +msgid "Baku" +msgstr "Баку" + +msgid "Belem" +msgstr "Белен" + +msgid "Ceuta" +msgstr "Сеута" + +msgid "San_Marino" +msgstr "Сан_Марино" + +msgid "Barnaul" +msgstr "Барнаул" + +msgid "Damascus" +msgstr "Дамаск" + +msgid "Fakaofo" +msgstr "Факаофо" + +msgid "Dawson" +msgstr "Доусон" + +msgid "Irkutsk" +msgstr "Иркутск" + +msgid "Anguilla" +msgstr "Ангилья" + +msgid "Tijuana" +msgstr "Тихуана" + +msgid "Warsaw" +msgstr "Варшава" + +msgid "Adak" +msgstr "Адак" + +msgid "London" +msgstr "Лондон" + +msgid "Jayapura" +msgstr "Джаяпура" + +msgid "St_Vincent" +msgstr "Сент-Винсент" + +msgid "Darwin" +msgstr "Дарвин" + +msgid "Cayenne" +msgstr "Кайенна" + +msgid "St_Johns" +msgstr "Сент-Джонс" + +msgid "Khartoum" +msgstr "Хартум" + +msgid "Rainy_River" +msgstr "Рейни-Ривер" + +msgid "Samara" +msgstr "Самара" + +msgid "Vienna" +msgstr "Вена" + +msgid "Ndjamena" +msgstr "Нджамена" + +msgid "Vladivostok" +msgstr "Владивосток" + +msgid "Saratov" +msgstr "Саратов" + +msgid "Nuuk" +msgstr "Нуук" + +msgid "Chongqing" +msgstr "Чунцин" + +msgid "North" +msgstr "Север" + +msgid "Atka" +msgstr "Атка" + +msgid "Swift_Current" +msgstr "Суифт-Каррент" + +msgid "Bangkok" +msgstr "Бангкок" + +msgid "Blantyre" +msgstr "Блантайр" + +msgid "Algiers" +msgstr "Алжир" + +msgid "Freetown" +msgstr "Фритаун" + +msgid "GMT-1" +msgstr "ГМТ-1" + +msgid "Detroit" +msgstr "Детройт" + +msgid "Johannesburg" +msgstr "Йоханнесбург" + +msgid "Shanghai" +msgstr "Шанхай" + +msgid "Novokuznetsk" +msgstr "Новокузнецк" + +msgid "Dawson_Creek" +msgstr "Доусон_Крик" + +msgid "Srednekolymsk" +msgstr "Среднеколымск" + +msgid "Grenada" +msgstr "Гренада" + +msgid "Samoa" +msgstr "Самоа" + +msgid "Rarotonga" +msgstr "Раротонга" + +msgid "Broken_Hill" +msgstr "Брокен-Хилл" + +msgid "Winnipeg" +msgstr "Виннипег" + +msgid "Tripoli" +msgstr "Триполи" + +msgid "Perth" +msgstr "Перт" + +msgid "Comoro" +msgstr "Коморо" + +msgid "Tarawa" +msgstr "Тарава" + +msgid "DeNoronha" +msgstr "Фернанду-ди-Норонья" + +msgid "Rio_Branco" +msgstr "Рио_Бранко" + +msgid "St_Helena" +msgstr "Сент-Хелина" + +msgid "Famagusta" +msgstr "Фамагуста" + +msgid "Noronha" +msgstr "Норонья" + +msgid "Rangoon" +msgstr "Рангун" + +msgid "Hermosillo" +msgstr "Эрмосильо" + +msgid "Bahia" +msgstr "Баия" + +msgid "Tortola" +msgstr "Тортола" + +msgid "Sao_Paulo" +msgstr "Сан-Паулу" + +msgid "Dakar" +msgstr "Дакар" + +msgid "Jan_Mayen" +msgstr "Ян_Майен" + +msgid "Acre" +msgstr "акр" + +msgid "Choibalsan" +msgstr "Чойбалсан" + +msgid "Sitka" +msgstr "Ситка" + +msgid "Arizona" +msgstr "Аризона" + +msgid "Jersey" +msgstr "Джерси" + +msgid "Juneau" +msgstr "Джуно" + +msgid "Brisbane" +msgstr "Брисбен" + +msgid "Rome" +msgstr "Рим" + +msgid "Troll" +msgstr "Тролль" + +msgid "Ashkhabad" +msgstr "Ашхабад" + +msgid "Guatemala" +msgstr "Гватемала" + +msgid "Dublin" +msgstr "Дублин" + +msgid "Barbados" +msgstr "Барбадос" + +msgid "Conakry" +msgstr "Конакри" + +msgid "Montserrat" +msgstr "Монтсеррат" + +msgid "Sarajevo" +msgstr "Сараево" + +msgid "Abidjan" +msgstr "Абиджан" + +msgid "Scoresbysund" +msgstr "Скорсбисунд" + +msgid "Cancun" +msgstr "Канкун" + +msgid "Pohnpei" +msgstr "Понпеи" + +msgid "Pacific" +msgstr "Тихий океан" + +msgid "Chungking" +msgstr "Чунцин" + +msgid "Greenwich" +msgstr "Гринвич" + +msgid "Anchorage" +msgstr "Анкоридж" + +msgid "Chihuahua" +msgstr "Чихуахуа" + +msgid "Porto-Novo" +msgstr "Порто-Ново" + +msgid "Boise" +msgstr "Бойсе" + +msgid "Chile" +msgstr "Чили" + +msgid "Bratislava" +msgstr "Братислава" + +msgid "Bahrain" +msgstr "Бахрейн" + +msgid "Athens" +msgstr "Афины" + +msgid "Ulaanbaatar" +msgstr "Улан-Батор" + +msgid "Maceio" +msgstr "Масейо" + +msgid "Mawson" +msgstr "Моусон" + +msgid "Newfoundland" +msgstr "Ньюфаундленд" + +msgid "Tiraspol" +msgstr "Тирасполь" + +msgid "Aqtau" +msgstr "Актау" + +msgid "Bujumbura" +msgstr "Бужумбура" + +msgid "Saskatchewan" +msgstr "Саскачеван" + +msgid "Norfolk" +msgstr "Норфолк" + +msgid "Pontianak" +msgstr "Понтианак" + +msgid "Panama" +msgstr "Панама" + +msgid "Kuala_Lumpur" +msgstr "Куала-Лумпур" + +msgid "Ashgabat" +msgstr "Ашхабад" + +msgid "Whitehorse" +msgstr "Уайтхорс" + +msgid "Busingen" +msgstr "Бузинген" + +msgid "Lower_Princes" +msgstr "Лоуэр-Принс-Куотер" + +msgid "Niamey" +msgstr "Ниамей" + +msgid "El_Aaiun" +msgstr "Эль_Аайун" + +msgid "Ulyanovsk" +msgstr "Ульяновск" + +msgid "Minsk" +msgstr "Минск" + +msgid "Asmara" +msgstr "Асмэра" + +msgid "Taipei" +msgstr "Тайбэй" + +msgid "Danmarkshavn" +msgstr "Данмарксхавн" + +msgid "Casey" +msgstr "Кейси" + +msgid "Tbilisi" +msgstr "Тбилиси" + +msgid "Beirut" +msgstr "Бейрут" + +msgid "Stockholm" +msgstr "Стокгольм" + +msgid "Santa_Isabel" +msgstr "Санта_Изабель" + +msgid "Ho_Chi_Minh" +msgstr "Хо_Чи_Мин" + +msgid "Funafuti" +msgstr "Фунафути" + +msgid "Lubumbashi" +msgstr "Лубумбаши" + +msgid "Tahiti" +msgstr "Таити" + +msgid "Toronto" +msgstr "Торонто" + +msgid "Hebron" +msgstr "Хеврон" + +msgid "Lisbon" +msgstr "Лиссабон" + +msgid "Mogadishu" +msgstr "Могадишо" + +msgid "Edmonton" +msgstr "Эдмонтон" + +msgid "Chisinau" +msgstr "Кишинев" + +msgid "Grand_Turk" +msgstr "Гранд_Турк" + +msgid "Antananarivo" +msgstr "Антананариву" + +msgid "Dushanbe" +msgstr "Душанбе" + +msgid "McMurdo" +msgstr "МакМердо" + +msgid "Truk" +msgstr "Трук" + +msgid "Cordoba" +msgstr "Кордова" + +msgid "Indianapolis" +msgstr "Индианаполис" + +msgid "Wake" +msgstr "Уэйко" + +msgid "Qostanay" +msgstr "Костанай" + +msgid "Syowa" +msgstr "Сёва" + +msgid "Managua" +msgstr "Манагуа" + +msgid "Fortaleza" +msgstr "Форталеза" + +msgid "Ponape" +msgstr "Понапе" + +msgid "Havana" +msgstr "Гавана" + +msgid "Yukon" +msgstr "Юкон" + +msgid "Copenhagen" +msgstr "Копенгаген" + +msgid "Kamchatka" +msgstr "Камчатка" + +msgid "Amman" +msgstr "Амман" + +msgid "Pitcairn" +msgstr "Питкэрн" + +msgid "Yancowinna" +msgstr "Янковина" + +msgid "Mexico" +msgstr "Мексика" + +msgid "Harare" +msgstr "Хараре" + +msgid "Riyadh" +msgstr "Эр-Рияд" + +msgid "Lord_Howe" +msgstr "Лорд_Хау" + +msgid "Apia" +msgstr "Апиа" + +msgid "Monaco" +msgstr "Монако" + +msgid "Aleutian" +msgstr "алеутский" + +msgid "Montreal" +msgstr "Монреаль" + +msgid "Davis" +msgstr "Дэвис" + +msgid "Efate" +msgstr "Эфате" + +msgid "Honolulu" +msgstr "Гонолулу" + +msgid "Lagos" +msgstr "Лагос" + +msgid "Shiprock" +msgstr "Шипрок" + +msgid "Volgograd" +msgstr "Волгоград" + +msgid "Vilnius" +msgstr "Вильнюс" + +msgid "Oslo" +msgstr "Осло" + +msgid "Vientiane" +msgstr "Вьентьян" + +msgid "Dili" +msgstr "Дили" + +msgid "Seoul" +msgstr "Сеул" + +msgid "Kerguelen" +msgstr "Кергелен" + +msgid "Curacao" +msgstr "Кюрасао" + +msgid "Jujuy" +msgstr "Жужуй" + +msgid "Manila" +msgstr "Манила" + +msgid "Yap" +msgstr "Яп" + +msgid "Kuwait" +msgstr "Кувейт" + +msgid "Lindeman" +msgstr "Линдеман" + +msgid "Vaduz" +msgstr "Вадуц" + +msgid "Isle_of_Man" +msgstr "Остров Мэн" + +msgid "Nassau" +msgstr "Нассау" + +msgid "Zulu" +msgstr "Зулу" + +msgid "Campo_Grande" +msgstr "Кампо_Гранде" + +msgid "Libreville" +msgstr "Либревиль" + +msgid "Fiji" +msgstr "Фиджи" + +msgid "Yakutsk" +msgstr "Якутск" + +msgid "Ensenada" +msgstr "Энсенада" + +msgid "Kiritimati" +msgstr "Киритимати" + +msgid "Kaliningrad" +msgstr "Калининград" + +msgid "Creston" +msgstr "Крестон" + +msgid "Michigan" +msgstr "Мичиган" + +msgid "Oral" +msgstr "Уральск" + +msgid "Cocos" +msgstr "Кокос" + +msgid "Eastern" +msgstr "Восточный" + +msgid "BajaNorte" +msgstr "БахаНорте" + +msgid "Tel_Aviv" +msgstr "Тель-Авив" + +msgid "Sofia" +msgstr "София" + +msgid "Adelaide" +msgstr "Аделаида" + +msgid "Vatican" +msgstr "Ватикан" + +msgid "Calcutta" +msgstr "Калькутта" + +msgid "Lusaka" +msgstr "Лусака" + +msgid "St_Barthelemy" +msgstr "Святой Бартелеми" + +msgid "Bougainville" +msgstr "Бугенвиль" + +msgid "Tegucigalpa" +msgstr "Тегусигальпа" + +msgid "Sao_Tome" +msgstr "Сан-Томе" + +msgid "Moncton" +msgstr "Монктон" + +msgid "Reykjavik" +msgstr "Рейкьявик" + +msgid "St_Thomas" +msgstr "Сент-Томас" + +msgid "Baghdad" +msgstr "Багдад" + +msgid "Gibraltar" +msgstr "Гибралтар" + +msgid "Puerto_Rico" +msgstr "Пуэрто-Рико" + +msgid "Asmera" +msgstr "Асмера" + +msgid "Madrid" +msgstr "Мадрид" + +msgid "Sakhalin" +msgstr "Сахалин" + +msgid "Porto_Acre" +msgstr "Порту_Акр" + +msgid "General" +msgstr "Генерал-Сантос" + +msgid "Macao" +msgstr "Макао" + +msgid "Martinique" +msgstr "Мартиника" + +msgid "Mountain" +msgstr "Маунтин-Вью" + +msgid "Nipigon" +msgstr "Нипигон" + +msgid "Vancouver" +msgstr "Ванкувер" + +msgid "Bangui" +msgstr "Банги" + +msgid "Indiana-Starke" +msgstr "Индиана-Старке" + +msgid "Harbin" +msgstr "Харбин" + +msgid "Istanbul" +msgstr "Стамбул" + +msgid "Guadeloupe" +msgstr "Гваделупа" + +msgid "Simferopol" +msgstr "Симферополь" + +msgid "Paris" +msgstr "Париж" + +msgid "Christmas" +msgstr "Рождество" + +msgid "Accra" +msgstr "Аккра" + +msgid "Victoria" +msgstr "Виктория" + +msgid "Faeroe" +msgstr "Фарерские острова" + +msgid "Dacca" +msgstr "Дакка" + +msgid "Marigot" +msgstr "Мариго" + +msgid "Dhaka" +msgstr "Дакка" + +msgid "Kralendijk" +msgstr "Кралендейк" + +msgid "Aqtobe" +msgstr "Актобе" + +msgid "Pago_Pago" +msgstr "Паго_Паго" + +msgid "Bahia_Banderas" +msgstr "Баия_Бандерас" + +msgid "Continental" +msgstr "Континентальный" + +msgid "Midway" +msgstr "Мидуэй" + +msgid "Johnston" +msgstr "Джонстон" + +msgid "Tasmania" +msgstr "Тасмания" + +msgid "Reunion" +msgstr "Воссоединение" + +msgid "South_Pole" +msgstr "Южный полюс" + +msgid "Riga" +msgstr "Рига" + +msgid "La_Paz" +msgstr "Ла_Пас" + +msgid "Niue" +msgstr "Ниуэ" + +msgid "Nouakchott" +msgstr "Нуакшот" + +msgid "Berlin" +msgstr "Берлин" + +msgid "Kwajalein" +msgstr "Кваджалейн" + +msgid "St_Lucia" +msgstr "Святая Люсия" + +msgid "Jakarta" +msgstr "Джакарта" + +msgid "Chuuk" +msgstr "Чуук" + +msgid "Tallinn" +msgstr "Таллинн" + +msgid "Nicosia" +msgstr "Никосия" + +msgid "New_York" +msgstr "Нью-Йорк" + +msgid "Kuching" +msgstr "Кучинг" + +msgid "Porto_Velho" +msgstr "Порту-Велью" + +msgid "Canberra" +msgstr "Канберра" + +msgid "Douala" +msgstr "Дуала" + +msgid "Atyrau" +msgstr "Атырау" + +msgid "Madeira" +msgstr "Мадейра" + +msgid "Phoenix" +msgstr "Феникс" + +msgid "Santo_Domingo" +msgstr "Санто-Доминго" + +msgid "El_Salvador" +msgstr "Сальвадор" + +msgid "Anadyr" +msgstr "Анадырь" + +msgid "Boa_Vista" +msgstr "Боа_Виста" + +msgid "Godthab" +msgstr "Годтаб" + +msgid "Inuvik" +msgstr "Инувик" + +msgid "Cairo" +msgstr "Каир" + +msgid "Ojinaga" +msgstr "Охинага" + +msgid "Samarkand" +msgstr "Самарканд" + +msgid "Jerusalem" +msgstr "Иерусалим" + +msgid "Bishkek" +msgstr "Бишкек" + +msgid "Karachi" +msgstr "Карачи" + +msgid "Phnom_Penh" +msgstr "Пномпень" + +msgid "Qyzylorda" +msgstr "Кызылорда" + +msgid "Auckland" +msgstr "Окленд" + +msgid "Makassar" +msgstr "Макассар" + +msgid "Stanley" +msgstr "Стэнли" + +msgid "Virgin" +msgstr "Виргин" + +msgid "Noumea" +msgstr "Нумеа" + +msgid "Budapest" +msgstr "Будапешт" + +msgid "Tirane" +msgstr "Тиран" + +msgid "Miquelon" +msgstr "Микелон" + +msgid "Krasnoyarsk" +msgstr "Красноярск" + +msgid "Rosario" +msgstr "Росарио" + +msgid "LHI" +msgstr "LHI" + +msgid "Bamako" +msgstr "Бамако" + +msgid "Lome" +msgstr "Ломе" + +msgid "Astrakhan" +msgstr "Астрахань" + +msgid "Addis_Ababa" +msgstr "Аддис-Абеба" + +msgid "GMT-3" +msgstr "ГМТ-3" + +msgid "Tokyo" +msgstr "Токио" + +msgid "Saipan" +msgstr "Сайпан" + +msgid "Katmandu" +msgstr "Катманду" + +msgid "Monrovia" +msgstr "Монровия" + +msgid "Casablanca" +msgstr "Касабланка" + +msgid "Nauru" +msgstr "Науру" + +msgid "Guam" +msgstr "Гуам" + +msgid "Ust-Nera" +msgstr "Усть-Нера" + +msgid "Arctic" +msgstr "Арктический" + +msgid "Menominee" +msgstr "Меномини" + +msgid "Asuncion" +msgstr "Асунсьон" + +msgid "Rothera" +msgstr "Ротера" + +msgid "Luanda" +msgstr "Луанда" + +msgid "Tomsk" +msgstr "Томск" + +msgid "Guadalcanal" +msgstr "Гуадалканал" + +msgid "Chagos" +msgstr "Чагос" + +msgid "Thimphu" +msgstr "Тхимпху" + +msgid "Timbuktu" +msgstr "Тимбукту" + +msgid "Glace_Bay" +msgstr "Глейс-Бей" + +msgid "Marquesas" +msgstr "Маркизские острова" + +msgid "Brunei" +msgstr "Бруней" + +msgid "Pangnirtung" +msgstr "Пангниртунг" + +msgid "South" +msgstr "Саутф" + +msgid "Magadan" +msgstr "Магадан" + +msgid "Palau" +msgstr "Палау" + +msgid "Yangon" +msgstr "Янгон" + +msgid "Tongatapu" +msgstr "Тонгатапу" + +msgid "Hobart" +msgstr "Хобарт" + +msgid "Bogota" +msgstr "Богота" + +msgid "Urumqi" +msgstr "Урумчи" + +msgid "Kinshasa" +msgstr "Киншаса" + +msgid "Thule" +msgstr "Туле" + +msgid "Saigon" +msgstr "Сайгон" + +msgid "NSW" +msgstr "Новый Южный Уэльс" + +msgid "Halifax" +msgstr "Галифакс" + +msgid "Araguaina" +msgstr "Арагуайна" + +msgid "Muscat" +msgstr "Мускат" + +msgid "Kashgar" +msgstr "Кашгар" + +msgid "Port-au-Prince" +msgstr "Порт-о-Пренс" + +msgid "Resolute" +msgstr "Резольют" + +msgid "Kabul" +msgstr "Кабул" + +msgid "Kyiv" +msgstr "Киев" + +msgid "Omsk" +msgstr "Омск" + +msgid "Gaza" +msgstr "Газа" + +msgid "Malabo" +msgstr "Малабо" + +msgid "Hovd" +msgstr "Ховд" + +msgid "Jamaica" +msgstr "Ямайка" + +msgid "Faroe" +msgstr "Фарерские острова" + +msgid "Mahe" +msgstr "Маэ" + +msgid "Montevideo" +msgstr "Монтевидео" + +msgid "Eirunepe" +msgstr "Эйрунепе" + +msgid "Catamarca" +msgstr "Катамарка" + +msgid "Melbourne" +msgstr "Мельбурн" + +msgid "Hawaii" +msgstr "Гавайи" + +msgid "Macquarie" +msgstr "Маккуори" + +msgid "Belfast" +msgstr "Белфаст" + +msgid "Wallis" +msgstr "Уоллис" + +msgid "Moscow" +msgstr "Москва" + +msgid "Gaborone" +msgstr "Габороне" + +msgid "Port_of_Spain" +msgstr "Порт-оф-Спейн" + +msgid "Bissau" +msgstr "Бисау" + +msgid "Universal" +msgstr "Юнивёрсал-Сити" + +msgid "Regina" +msgstr "Реджайна" + +msgid "Ulan_Bator" +msgstr "Улан_Батор" + +msgid "Ujung_Pandang" +msgstr "Уджунг_Панданг" + +msgid "Costa_Rica" +msgstr "Коста_Рика" + +msgid "Galapagos" +msgstr "Галапагос" + +msgid "Tehran" +msgstr "Тегеран" + +msgid "DumontDUrville" +msgstr "Дюмон-д’Юрвиль" + +msgid "Enderbury" +msgstr "Эндербери" + +msgid "Ciudad_Juarez" +msgstr "Сьюдад_Хуарес" + +msgid "Mauritius" +msgstr "Маврикий" + +msgid "Podgorica" +msgstr "Подгорица" + +msgid "Kiev" +msgstr "Киев" + +msgid "Hong_Kong" +msgstr "Гонконг" + +msgid "Thimbu" +msgstr "Тимбу" + +msgid "Belize" +msgstr "Белиз" + +msgid "Gambier" +msgstr "Гамбье" + +msgid "Sydney" +msgstr "Сидней" + +msgid "Amsterdam" +msgstr "Амстердам" + +msgid "Juba" +msgstr "Джуба" + +msgid "Helsinki" +msgstr "Хельсинки" + +msgid "Santarem" +msgstr "Сантарен" + +msgid "Guyana" +msgstr "Гайана" + +msgid "Maldives" +msgstr "Мальдивы" + +msgid "Paramaribo" +msgstr "Парамарибо" + +msgid "Fort_Wayne" +msgstr "Форт_Уэйн" + +msgid "Yellowknife" +msgstr "Йеллоунайф" + +msgid "West" +msgstr "Запад" + +msgid "Almaty" +msgstr "Алматы" + +msgid "Novosibirsk" +msgstr "Новосибирск" + +msgid "Mariehamn" +msgstr "Мариехамн" + +msgid "Brazzaville" +msgstr "Браззавиль" + +msgid "Majuro" +msgstr "Маджуро" + +msgid "Uzhgorod" +msgstr "Ужгород" + +msgid "Ljubljana" +msgstr "Любляна" + +msgid "Knox_IN" +msgstr "Нокс_IN" + +msgid "Bermuda" +msgstr "Бермуды" + +msgid "Kirov" +msgstr "Киров" + +msgid "Cuiaba" +msgstr "Куяба" + +msgid "Mendoza" +msgstr "Мендоса" + +msgid "Kanton" +msgstr "Кантон" + +msgid "South_Georgia" +msgstr "Южная Грузия" + +msgid "Banjul" +msgstr "Банжул" + +msgid "Louisville" +msgstr "Луисвилл" + + From c8d763e64ac38bc2582289d4ea444133598277f9 Mon Sep 17 00:00:00 2001 From: Igor Belitskiy Date: Tue, 7 Feb 2023 17:36:23 +0600 Subject: [PATCH 3/7] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D0=BE=20=D0=B2=D1=80=D0=B5=D0=BC=D0=B5=D0=BD=D0=BD=D0=BE?= =?UTF-8?q?=D0=B5=20=D1=81=D0=BC=D0=B5=D1=89=D0=B5=D0=BD=D0=B8=D0=B5=20?= =?UTF-8?q?=D0=B8=20=D0=BF=D0=B5=D1=80=D0=B5=D0=B2=D0=BE=D0=B4=20=D0=B7?= =?UTF-8?q?=D0=BE=D0=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- source/CMakeLists.txt | 5 +- source/ubl-settings-datetime.cc | 208 ++++++++++++++++++++++++-------- source/ubl-settings-datetime.h | 12 ++ test | Bin 0 -> 17176 bytes 4 files changed, 170 insertions(+), 55 deletions(-) create mode 100755 test diff --git a/source/CMakeLists.txt b/source/CMakeLists.txt index 87ca686..5289d63 100644 --- a/source/CMakeLists.txt +++ b/source/CMakeLists.txt @@ -7,6 +7,7 @@ pkg_check_modules(GTK REQUIRED gtkmm-3.0) include_directories(${GTK_INCLUDE_DIRS}) link_directories(${GTK_LIBRARY_DIRS}) add_definitions(${GTK_CFLAGS_OTHER}) +find_package(ICU REQUIRED COMPONENTS uc dt in io) #set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pedantic -Wall -Wextra -Werror -Wmissing-declarations -fdiagnostics-color=always -std=c++2a -g") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pedantic -Wall -Wextra -Werror -Wmissing-declarations -fdiagnostics-color=always -g") @@ -21,5 +22,5 @@ set(LIBRARIES pthread) add_executable(ubl-settings-datetime ${SOURCE_FILES}) -target_link_libraries(ubl-settings-datetime ${LIBRARIES}) -install(TARGETS ubl-settings-datetime DESTINATION bin) +target_link_libraries(ubl-settings-datetime ${LIBRARIES} ${ICU_LIBRARIES}) +install(TARGETS ubl-settings-datetime DESTINATION bin) \ No newline at end of file diff --git a/source/ubl-settings-datetime.cc b/source/ubl-settings-datetime.cc index fe0e88e..3bc6bcf 100644 --- a/source/ubl-settings-datetime.cc +++ b/source/ubl-settings-datetime.cc @@ -22,6 +22,16 @@ #include #include #include +#include +#include +#include +#include +#include "unicode/utypes.h" +#include "unicode/utext.h" + +#include +#include +#include #include "ubl-settings-datetime.h" using namespace std; @@ -36,7 +46,8 @@ bool flag_ntp = false; bool flag_update = false; CmdArgParser::CmdArgParser(const std::string& p_name, const std::string& p_description, const std::string& p_help) -: Glib::OptionGroup{p_name, p_description, p_help}{ +: Glib::OptionGroup{p_name, p_description, p_help} +{ Glib::OptionEntry socketIDArg; socketIDArg.set_long_name("socket-id"); socketIDArg.set_short_name('s'); @@ -97,6 +108,7 @@ void MainWindow::settings(){ lblRegGlob->set_sensitive(false); lblZone1Glob->set_sensitive(false); lblDateTimeSetting->set_sensitive(false); + } } @@ -108,7 +120,6 @@ int MainWindow::check_root(){ } return 0; } - void MainWindow::lacalization(){ txtDate->set_tooltip_text(gettext("Date of\nFormat: DD.MM.YYYY")); lblSynchronizebChkGLob->set_text(gettext("Synchronize via NTP")); @@ -135,10 +146,14 @@ void MainWindow::lacalization(){ lblBanerStopNtp->set_text(gettext("Active service detected\nAutomatic time and date synchronization service detected")); lblNtpStop->set_text(gettext("Stop the synchronization service")); lblNtpClose->set_text(gettext("Close")); + //_lblSynchronizebChk->set_text(gettext("Synchronize via NTP")); } void MainWindow::flag_block_gui(){ if (flag_datetime==true){ + //numTimeHrs->set_sensitive(false); + //numTimeMin->set_sensitive(false); + //txtDate->set_sensitive(false); btnUpdateDateTime->set_sensitive(false); numTimeHrs->set_sensitive(false); numTimeMin->set_sensitive(false); @@ -148,12 +163,14 @@ void MainWindow::flag_block_gui(){ btnHardwareTime->set_sensitive(false); lblTime->set_sensitive(false); lblData->set_sensitive(false); + //cbxSynchronizeNtpGlob->set_sensitive(false); } if (flag_timezone==true){ cbRegion->set_sensitive(false); cbZone->set_sensitive(false); cbRegionGlob->set_sensitive(false); cbZoneGlob->set_sensitive(false); + //btnChooseDate->set_sensitive(false); cbDhcp->set_sensitive(false); } if (flag_ntp==true){ @@ -163,6 +180,7 @@ void MainWindow::flag_block_gui(){ } if (flag_update==true){ lblDateTimeSettingGlob->set_sensitive(false); + //lblSynchronizebChkGLob->set_sensitive(false); cbxSynchronizeNtpGlob->set_sensitive(false); lblTimeZoneGlob->set_sensitive(false); lblRegGlob->set_sensitive(false); @@ -178,8 +196,8 @@ void MainWindow::add_CSS(){ Glib::RefPtr cssProvider = Gtk::CssProvider::create(); cssProvider->load_from_path(path_css); Glib::RefPtr styleContext = Gtk::StyleContext::create(); - Glib::RefPtr screen = Gdk::Screen::get_default(); - styleContext->add_provider_for_screen(screen, cssProvider, GTK_STYLE_PROVIDER_PRIORITY_APPLICATION); + Glib::RefPtr screen = Gdk::Screen::get_default();//get default screen + styleContext->add_provider_for_screen(screen, cssProvider, GTK_STYLE_PROVIDER_PRIORITY_APPLICATION);//add provider for screen in all application Glib::RefPtr context = boxColor->get_style_context(); Glib::RefPtr context_lbl_head = lblHead->get_style_context(); context->add_class("cssboxColor1"); @@ -216,6 +234,7 @@ void MainWindow::get_builder(){ builder->get_widget("lblRegGlob",lblRegGlob); builder->get_widget("lblZone1Glob",lblZone1Glob); builder->get_widget("lblTimeZoneGlob",lblTimeZoneGlob); + //builder->get_widget("lblSynchronizebChk",_lblSynchronizebChk); builder->get_widget("lblSynchronizebChkGLob",lblSynchronizebChkGLob); builder->get_widget("lblSynchronizeBtn",lblSynchronizeBtn); builder->get_widget("lblDateTimeSettingGlob",lblDateTimeSettingGlob); @@ -230,9 +249,11 @@ void MainWindow::get_builder(){ builder->get_widget("lblNtpStop",lblNtpStop); builder->get_widget("lblNtpClose",lblNtpClose); builder->get_widget("lblBanerStopNtp",lblBanerStopNtp); + + //builder->get_widget("cbxSynchronizeNtp",cbxSynchronizeNtp); + this->add_CSS(); } - void MainWindow::gui_exit(){ exit(1); } @@ -263,7 +284,6 @@ void MainWindow::event(){ btnNtpWinClose->signal_clicked().connect(sigc::mem_fun(*this, &MainWindow::wind_close_ntp)); btnNtpStop->signal_clicked().connect(sigc::mem_fun(*this, &MainWindow::stop_ntp)); } - void MainWindow::wind_close_ntp(){ windowsNnpClose->hide(); } @@ -282,6 +302,7 @@ void MainWindow::stop_ntp(){ this->call(cmd.c_str()); } } + system(cmd.c_str()); this->update_time_date(); @@ -307,6 +328,7 @@ bool MainWindow::focus_ntp(GdkEventFocus* event){ cmd = "/usr/bin/ubconfig set network NTPSERVERS=" + txtNtpServer->get_text(); this->call(cmd.c_str()); } + return true; } @@ -447,6 +469,8 @@ void MainWindow::get_config(){ this->update_hour_minute(); this->update_calendar(); this->enry_dhcp_mess(); + + string read_reg_zon_cfg = this->call("/usr/bin/ubconfig get clock ZONE"); if ((read_reg_zon_cfg != "") && (strstr(read_reg_zon_cfg.c_str() ,"(null)")==NULL)){ read_reg_zon_cfg = read_reg_zon_cfg.substr(read_reg_zon_cfg.find("=")+1,read_reg_zon_cfg.length()); @@ -463,15 +487,29 @@ void MainWindow::get_config(){ } void MainWindow::enter_zone(){ - Glib::ustring zone_text = cbZone->get_active_text(); - Glib::ustring reg_text = cbRegion->get_active_text(); - if(!(zone_text.empty()) && !(reg_text.empty())){ - str_zone=zone_text.substr(zone_text.find(") ")+2,zone_text.length()); - str_region=reg_text; - string cmd = "rm -f /etc/localtime"; - system(cmd.c_str()); - string cmd1 = "ln -s /usr/share/zoneinfo/" + str_region + "/" + str_zone+" /etc/localtime"; - system(cmd1.c_str()); + string reg_text = cbRegion->get_active_text(); + int activ_index = cbZone->get_active_row_number(); + string zone_text = ""; + if(!(reg_text.empty())){ + int index=0; + for (const auto &zone :time_reg_map.at(reg_text)){ + if (index==activ_index){ + zone_text=zone; + } + index+=1; + } + if (!(zone_text.empty())){ + str_zone=zone_text; + str_region=reg_text; + string cmd = "rm -f /etc/localtime"; + system(cmd.c_str()); + string cmd1 = "ln -s /usr/share/zoneinfo/" + str_region + "/" + str_zone+" /etc/localtime"; + system(cmd1.c_str()); + } + else{ + str_zone=""; + str_region=""; + } } else{ str_zone=""; @@ -489,16 +527,30 @@ void MainWindow::parse_text_date(){ } void MainWindow::enter_zone_glob(){ - Glib::ustring zone_text = cbZoneGlob->get_active_text(); - Glib::ustring reg_text = cbRegionGlob->get_active_text(); - if(!(zone_text.empty()) && !(reg_text.empty())){ + string reg_text = cbRegionGlob->get_active_text(); + int activ_index = cbZoneGlob->get_active_row_number(); + string zone_text=""; + if(!(reg_text.empty())){ + int index=0; + for (const auto &zone :time_reg_map.at(reg_text)){ + if (index==activ_index){ + zone_text=zone; + } + index+=1; + } + if (!(zone_text.empty())){ //str_zoneGlob = zone_text.substr(zone_text.find(") ")+2,zone_text.length()); - string cmd = "/usr/bin/ubconfig set clock ZONE=" +reg_text +"/" + zone_text; - system(cmd.c_str()); + string cmd = "/usr/bin/ubconfig set clock ZONE=" +reg_text +"/" + zone_text; + system(cmd.c_str()); + } + else{ + str_zoneGlob=""; + str_region_glob=""; + } } else{ str_zoneGlob=""; - str_region_glob=""; + str_region_glob=""; } } @@ -518,9 +570,12 @@ void MainWindow::set_ntp_toggle_glob(){ void MainWindow::append_region_zone(string region, string zone){ int index = 0; - for ( const auto &text : time_reg_map ) { - cbRegion->append(text.first); - cbRegionGlob->append(text.first); + string reg_local = ""; + for (auto &text : time_reg_map ) { + reg_local = text.first; + //reg_local = string(gettext(reg_local.c_str())); + cbRegion->append(reg_local); + cbRegionGlob->append(reg_local); if (text.first == region){ cbRegionGlob->set_active(index); cbRegion->set_active(index); @@ -528,9 +583,13 @@ void MainWindow::append_region_zone(string region, string zone){ index+=1; } index = 0; + string zone_mixing = ""; + string path_dir = ""; for (const auto &_str_zone : time_reg_map.at(region)){ - cbZone->append(_str_zone); - cbZoneGlob->append(_str_zone); + path_dir=region+"/"+_str_zone; + zone_mixing = this->zone_file_read(path_dir) + string(gettext(_str_zone.c_str())); + cbZone->append(zone_mixing); + cbZoneGlob->append(zone_mixing); if (_str_zone!=""){ if (_str_zone == zone){ cbZone->set_active(index); @@ -541,7 +600,6 @@ void MainWindow::append_region_zone(string region, string zone){ } } - string MainWindow::call(string cmd){ FILE *fp; int status; @@ -551,6 +609,7 @@ string MainWindow::call(string cmd){ exit(1); } while (fgets(path, PATH_MAX, fp) != NULL){ + //printf("%s", path); break; } status = pclose(fp); @@ -562,23 +621,35 @@ string MainWindow::call(string cmd){ } void MainWindow::append_zone(){ - Glib::ustring text = cbRegion->get_active_text(); cbZone->remove_all(); + Glib::ustring text = cbRegion->get_active_text(); + string zone_mixing=""; + string path_dir=""; + if(!(text.empty())){ str_region = text; for (const auto &_str_zone : time_reg_map.at(str_region)){ - cbZone->append(_str_zone); + path_dir=str_region+"/"+_str_zone; + zone_mixing = this->zone_file_read(path_dir) + string(gettext(_str_zone.c_str())); + cbZone->append(zone_mixing); + //cbZone->append(_str_zone); } } } void MainWindow::append_zone_glob(){ - Glib::ustring text = cbRegionGlob->get_active_text(); cbZoneGlob->remove_all(); + Glib::ustring text = cbRegionGlob->get_active_text(); + string zone_mixing=""; + string path_dir=""; + if(!(text.empty())){ str_region_glob = text; for (const auto &_str_zone : time_reg_map.at(str_region_glob)){ - cbZoneGlob->append(_str_zone); + path_dir=str_region+"/"+_str_zone; + zone_mixing = this->zone_file_read(path_dir) + string(gettext(_str_zone.c_str())); + cbZoneGlob->append(zone_mixing); + //cbZoneGlob->append(_str_zone); } } } @@ -595,6 +666,7 @@ void MainWindow::wrapper_update_time_date(){ } void MainWindow::update_time_date(){ + //this->enter_zone(); string cmd = ""; if ((year!=0) && (month !=0) && (day !=0)){ string str_month = ""; @@ -642,29 +714,24 @@ void MainWindow::update_time_date(){ system(cmd.c_str()); } - void MainWindow::post_entry_data(){ string cmd = ""; - string data = txtDate->get_text(); - if (data.length()==10){ - string str_day = data.substr(0,2); - string str_month = data.substr(3,2); - string str_year = data.substr(6,data.length()); - cmd = "date +%Y%m%d -s \"" + str_year+ - str_month+str_day+"\""; - string str_error_clock = this->call(cmd); - size_t index = str_error_clock.find("date: "); - if (index==std::string::npos){ + string data = txtDate->get_text(); + if (data.length()==10){ + string str_day = data.substr(0,2); + string str_month = data.substr(3,2); + string str_year = data.substr(6,data.length()); + cmd = "date +%Y%m%d -s \"" + str_year+ + str_month+str_day+"\""; + string str_error_clock = this->call(cmd); + size_t index = str_error_clock.find("date: "); + if (index==std::string::npos){ + } } else{ lblMessage->set_text(gettext("Incorrect date format")); - mess_dchp->show(); + mess_dchp->show(); } - } - else{ - lblMessage->set_text(gettext("Incorrect date format")); - mess_dchp->show(); - } } void MainWindow::update_hour_minute(){ @@ -703,7 +770,7 @@ void MainWindow::read_file(){ std::string line; namespace fs = std::filesystem; for (const auto & entry : fs::directory_iterator("/usr/share/zoneinfo/")){ - std::ifstream in(entry.path()); + std::ifstream in(entry.path()); // окрываем файл для чтения if (in.is_open()){ string key_reg = entry.path().filename().string(); string path_dir = "/usr/share/zoneinfo/"+key_reg; @@ -715,16 +782,17 @@ void MainWindow::read_file(){ vector zone; zone.push_back(""); for (const auto & entry_zone : fs::directory_iterator(path_dir)){ - std::ifstream in1(entry_zone.path()); + std::ifstream in1(entry_zone.path()); // окрываем файл для чтения if (in1.is_open()){ string key_zone = entry_zone.path().filename().string(); if (key_zone.length()!=0 || key_zone!=" "){ - zone.push_back(string(gettext(key_zone.c_str()))); + zone.push_back(key_zone); } } in1.close(); } - key_reg = string(gettext(key_reg.c_str())); + + key_reg = string(key_reg); time_reg_map.insert({key_reg, zone}); }}}} } @@ -733,6 +801,39 @@ void MainWindow::read_file(){ } } +string MainWindow::zone_file_read(string zone){ + UErrorCode success = U_ZERO_ERROR; + UDate curDate; + int32_t stdOffset,dstOffset; + U_ICU_NAMESPACE::TimeZone *tzWest = U_ICU_NAMESPACE::TimeZone::createTimeZone(zone.c_str()); + U_ICU_NAMESPACE::Calendar* calendar = U_ICU_NAMESPACE::Calendar::createInstance(success); + curDate = calendar->getNow(); + tzWest->getOffset(curDate,true,stdOffset,dstOffset,success); + int offset = stdOffset/(1000*60*60); + string str_utc = ""; + if (offset>=0){ + if (offset<=9){ + str_utc = "(UTC +0" + to_string(offset) + ") "; + } + else{ + str_utc = "(UTC +" + to_string(offset) + ") "; + } + + } + else{ + if (offset>=-9){ + offset*=-1; + str_utc = "(UTC -0" + to_string(offset) + ") "; + } + else{ + str_utc = "(UTC " + to_string(offset) + ") "; + } + } + delete calendar; + delete tzWest; + return str_utc; +} + vector MainWindow::split(const std::string &s, char delim){ std::stringstream ss(s); std::string item; @@ -744,7 +845,8 @@ vector MainWindow::split(const std::string &s, char delim){ } SettingsPlug::SettingsPlug(::Window p_socketID, Glib::RefPtr builder) -: Gtk::Plug{p_socketID}{ +: Gtk::Plug{p_socketID} +{ builder->get_widget("plugBox", plugBox); plugBox->get_parent()->remove(*plugBox); add(*plugBox); diff --git a/source/ubl-settings-datetime.h b/source/ubl-settings-datetime.h index dd8ff92..33abbd2 100644 --- a/source/ubl-settings-datetime.h +++ b/source/ubl-settings-datetime.h @@ -21,6 +21,16 @@ #include #include #include +#include +#include +#include +#include +#include "unicode/utypes.h" +#include "unicode/utext.h" + +#include +#include +#include using namespace std; extern string path_app; @@ -81,6 +91,7 @@ class MainWindow : public Gtk::ApplicationWindow { void stop_ntp(); void wind_close_ntp(); void wrapper_update_time_date(); + string zone_file_read(string zone); string str_remove(std::string& source, const std::string to_remove); vector split(const std::string &s, char delim); private: @@ -130,6 +141,7 @@ class MainWindow : public Gtk::ApplicationWindow { Gtk::Entry *txtNtpServer; Gtk::Entry *txtDate; std::map > time_reg_map; + std::map time_reg_map_local; unsigned int year=0; unsigned int month=0; unsigned int day=0; diff --git a/test b/test new file mode 100755 index 0000000000000000000000000000000000000000..cd1ec7171f6f2a8941733fb3ebc34fcff844b698 GIT binary patch literal 17176 zcmeHOZ*WxA6~CJh2qGk4p!}(3q2PcvOO}KfKTeYnnZ2(8B)0sw`TIz=mb+D7Pw#H)HXqD|b_uljJ z_H~zPzt|7&%)2e7=WtBaD}q6-pz|g9yjT`gL;!>W~zEWz21tk#=t0BK3)58%SMmSdsswy$)%&+|S)GH?J2kBTntz z26h;i4@-2LJ7s&t?!!qLPvY`+vW-!*r=fmhG*S~aW9dvyrm>->p+1m`2R898V83eN zgU{5?J^NY75F1B~?0w9~<@tail}MTDQMU>{7wXkBbCYpnx zj$6ZyE;KglQ6m=7lfn9M($FoVEe7smVI$NTtlb|C#)K){EVeN?@#?cidbl9#aejN{vAbZ3o6A-}J=$0s9)P8zjIFix zOW8bG2i2^~G#BCwRV%S4?tc)b?NYW?%ITFROo=5dB<*Qkr1j|W#ps2xgk1LsZ@Na{ z85iCy_4^f3Px>TJ+#+yXJLD3_f%6WWe=iVf?1BToT4Km19rz*#KJCCO9Qcd_$G8zC z6j6c@GYGs*%N0?a2Mp_o{E8?cEzge!1l>KfaO#8>j zt&-e?I{aMuS>E&9=GOtvt-A=CINh-?6dVt}sE%%b4Rmr#F9jHTr#DbhjXN6{;OO>y!GStjb_Cg$8EYvF z{Z&xHq0i4o{%u@;^Dbl?F00vT_4HqFQBTj5s=nvdmoHmY;NUybL3!>% zZ$)*>tUdN`X!}C2W$C*8>hSi1pvlzi8`eT~WcwdM$SqajIvIw+JYRMZioQF~&i40g z?`#?4kN&3mKzBd*=u+=}^CY;-J`)8*%|3|{iKruU)~)A_geHUIFC5PR2qKI*bV?mv zx@-})|EijOVRGYTutF5dDJ*A0_vOi>+!(8?MD^I@Dk$`-759vT@=0|B3`UqbJYL&A zQm&3ZiEXK)yNA@#uYVDXBS*PTTXy&&yMXy-KtP~edFGw9)<4sR+VnU|6p-rUOt`6 z;g0|Nz&n6H@^&uwIPl;8EtfkFe8Z(&ZU#6K{-=rLJJQK~nM&WPtLK%E!OjSA{4c)) zd|ZzTE%W%#;%lLZ?VNlompcWVEvjr?w0u{^g2UxQ?3R_=Zm3(k24VXgz>$u2?s?ur zPgXOwiu|J={7ixW254{2=Rjy$RC%JLdEs1jxU_VG4|*c}d>g9%31jF4ZtIlnw(Fk* zcms@Wsk6R=S0lo5Ip3mY2+ZEH`%75t8Qk}IoRS5SA9Km$F8S9k8P9AXNygrC$#~|=S&wJ7knA%~@{kgp-8mr7 zTdfdk_W9*iQkLp$rIhJh7VXpU4_c(ZU(UsmkITbXbk-^(3v@>5f~==AMYqZR(HW`b z=md!G$wZM~r5R(20HqnjeJK*{NAVA2q)!OO?vsa_2p^Iirhb>pc+uG>YX4t3F&=Qk zRpH-IKE7$`2>$-#GW83#qg;MT*1s#|IkF!gH=}dq?tV1L8{8`SXC?2I{E*})B!5uy z?@IoZJJ9e2PZn`yYOp40r9I` zc$35zxNtldj^iCv7$@?N=f81WZ!Hlx|E&dzrzB4EAidAU?#mP0{}NWaTKI8Z3&r6K z=rgw1&MP4O-*7+6nEQGEJ;&kgR!CFucL0}N&#S0{38s>*u`h`sQ%ChEIF5_n zBkIrf+&@XPyt@c~58!yex|La7ERAq{B^z?#V-k0_i}OpNxZ%212*>rzj}5u#{UZ9; zz=Pp;>7ux%2!1o*h1z9$k69CoTSfrR_iG?%mfpuqI8hHkIBBJVujQvyy|XH>nR8 zS|mL%FbF0NNyDDxsai$~x|T@bx&AGX+7L^_!Tn78rXVzB^y=xTrA6a#GCvWIn&Cl_ zNT6wnloj1#WQ=gyGUKsLhl1^ODdX-d)F$*~@!Bm=tEFRC^sw2k@3Pt(HO-9UP@vcK z&{Ieru*@(YoQe4cAVG$P4%rA17+x|R=5noRGHqx3-W^TtV3O|9+BBJo(AwFwJEVp7 zv|v7m2CJeLQZ)gpEuBnjxnob$?zU#zdT(oMS7@KMuW3hn2rT|vo`->n36LnV7djd- zV_G_8L>yKhI{PCpr9$E936PS2*#~g5QgN*xMhpomEw=}fMsEOaX2I+Ynf7A0>c|7Z z2MK(+QZ?+BAmu@%b%?AD8y7vu&)~2t!A9IE4YFt`#&*OSDR1Q?=drj_Tx7xuMp|T< zFnAXr%34nABcAXO>B0(|;`7denf#vysf8gxKCX%lkl%!q^_)ujd}r~s<>>#2Sghz!P{ z3Bj$Ts5t~FK=4N82^!QTji`fYC3fqW%cjk_1j6 zAIHdqjf4f0C1zN0A7YjgKBx>$=>ujMOyb}jE&<-8a1S?{1z@rqfH|!6E!N3zHD7>W2v3@#A%5sPF` z`#cjcG$DK1uM(&IDX4Ig?nq>JLkahSWKa7);%lTP^`G>J-vjlyw4EIX;iE2l`d&<&ekUP)cmIDZ z?d@j#Qd4r=pE}8H|8uCs@soYAJZbXbwtvxO-{BXU#4nPe@g#qE1$e!{DCpL0*p8G9I;!5_!7r5-1BDHG;@0KDlvLjyQvhP-e zX1BDb_tb4q@=CBrU(|ov&t#-MwL|(iRwq@<_NBUAMfSz+KlwpU&#r9@g)!++k-z`p tz8~iT>JN=;K48>$DB3i^GhG?$c0KUaE-5aCLLvLwtwLkH%fKbFe*^ySdlvuz literal 0 HcmV?d00001 From bf90b3505e1e42ac955b9fe1997fafd75bcc6802 Mon Sep 17 00:00:00 2001 From: Igor Belitskiy Date: Wed, 8 Feb 2023 11:46:10 +0600 Subject: [PATCH 4/7] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=20=D0=B1=D0=B0=D0=B3=20=D1=81=20=D1=81=D0=B4=D0=B8?= =?UTF-8?q?=D0=B2=D0=B3=D0=BE=D0=BC=20=D0=B7=D0=BE=D0=BD=D1=8B=20=D0=B1?= =?UTF-8?q?=D0=B5=D0=B7=20=D1=81=D0=B0=D0=BC=D0=BE=D0=B9=20=D0=B7=D0=BE?= =?UTF-8?q?=D0=BD=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- source/main.cc | 16 ---------------- source/ubl-settings-datetime.cc | 9 +++++---- source/ubl-settings-datetime.h | 22 +--------------------- 3 files changed, 6 insertions(+), 41 deletions(-) diff --git a/source/main.cc b/source/main.cc index 2363a00..ec8c69f 100644 --- a/source/main.cc +++ b/source/main.cc @@ -1,22 +1,6 @@ #include -#include -#include -#include #include -#include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include #include "ubl-settings-datetime.h" int main(int argc, char* argv[]) { diff --git a/source/ubl-settings-datetime.cc b/source/ubl-settings-datetime.cc index 3bc6bcf..f64cccc 100644 --- a/source/ubl-settings-datetime.cc +++ b/source/ubl-settings-datetime.cc @@ -625,14 +625,12 @@ void MainWindow::append_zone(){ Glib::ustring text = cbRegion->get_active_text(); string zone_mixing=""; string path_dir=""; - if(!(text.empty())){ str_region = text; for (const auto &_str_zone : time_reg_map.at(str_region)){ path_dir=str_region+"/"+_str_zone; zone_mixing = this->zone_file_read(path_dir) + string(gettext(_str_zone.c_str())); cbZone->append(zone_mixing); - //cbZone->append(_str_zone); } } } @@ -649,7 +647,6 @@ void MainWindow::append_zone_glob(){ path_dir=str_region+"/"+_str_zone; zone_mixing = this->zone_file_read(path_dir) + string(gettext(_str_zone.c_str())); cbZoneGlob->append(zone_mixing); - //cbZoneGlob->append(_str_zone); } } } @@ -780,7 +777,7 @@ void MainWindow::read_file(){ if (key_reg!="Etc"){ if (key_reg!="right"){ vector zone; - zone.push_back(""); + //zone.push_back(""); for (const auto & entry_zone : fs::directory_iterator(path_dir)){ std::ifstream in1(entry_zone.path()); // окрываем файл для чтения if (in1.is_open()){ @@ -802,6 +799,10 @@ void MainWindow::read_file(){ } string MainWindow::zone_file_read(string zone){ + + if (zone.length()==1){ + return ""; + } UErrorCode success = U_ZERO_ERROR; UDate curDate; int32_t stdOffset,dstOffset; diff --git a/source/ubl-settings-datetime.h b/source/ubl-settings-datetime.h index 33abbd2..144e45b 100644 --- a/source/ubl-settings-datetime.h +++ b/source/ubl-settings-datetime.h @@ -1,36 +1,16 @@ #ifndef UBL_SETTINGS_DATETIME_H #define UBL_SETTINGS_DATETIME_H #include -#include -#include -#include #include -#include #include -#include #include -#include #include #include -#include -#include #include -#include #include #include -#include -#include -#include -#include -#include -#include -#include -#include "unicode/utypes.h" -#include "unicode/utext.h" -#include -#include -#include + using namespace std; extern string path_app; From 63c22343e31dc1a7b5a6348e65c0bd4a643d6641 Mon Sep 17 00:00:00 2001 From: Igor Belitskiy Date: Thu, 9 Feb 2023 15:59:18 +0600 Subject: [PATCH 5/7] =?UTF-8?q?=D0=A1=D0=B4=D0=B5=D0=BB=D0=B0=D0=BD=D0=B0?= =?UTF-8?q?=20=D0=BB=D0=BE=D0=BA=D0=B0=D0=BB=D0=B8=D0=B7=D0=B0=D1=86=D0=B8?= =?UTF-8?q?=D1=8F=20=D0=B7=D0=BE=D0=BD=20=D0=B8=20=D1=80=D0=B5=D0=B3=D0=B8?= =?UTF-8?q?=D0=BE=D0=BD=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- source/CMakeLists.txt | 4 +- source/ubl-settings-datetime.cc | 140 +++++++++++++++++--------------- source/ubl-settings-datetime.h | 18 +++- ubl-settings-datetime_ru.po | 49 ++++++++--- 4 files changed, 133 insertions(+), 78 deletions(-) diff --git a/source/CMakeLists.txt b/source/CMakeLists.txt index 5289d63..13840d1 100644 --- a/source/CMakeLists.txt +++ b/source/CMakeLists.txt @@ -9,8 +9,8 @@ link_directories(${GTK_LIBRARY_DIRS}) add_definitions(${GTK_CFLAGS_OTHER}) find_package(ICU REQUIRED COMPONENTS uc dt in io) -#set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pedantic -Wall -Wextra -Werror -Wmissing-declarations -fdiagnostics-color=always -std=c++2a -g") -set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pedantic -Wall -Wextra -Werror -Wmissing-declarations -fdiagnostics-color=always -g") +#set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pedantic -Wall -Wextra -Werror -Wmissing-declarations -fdiagnostics-color=always -std=c++2a") +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pedantic -Wall -Wextra -Werror -Wmissing-declarations -fdiagnostics-color=always") set(SOURCE_FILES main.cc diff --git a/source/ubl-settings-datetime.cc b/source/ubl-settings-datetime.cc index f64cccc..5401ac7 100644 --- a/source/ubl-settings-datetime.cc +++ b/source/ubl-settings-datetime.cc @@ -114,39 +114,39 @@ void MainWindow::settings(){ int MainWindow::check_root(){ if (geteuid()!=0){ - lblMessageSudo->set_text(gettext("The program must be run with \nsuperuser privileges!")); + lblMessageSudo->set_text(_("The program must be run with \nsuperuser privileges!")); mess_sudo->show(); return 1; } return 0; } void MainWindow::lacalization(){ - txtDate->set_tooltip_text(gettext("Date of\nFormat: DD.MM.YYYY")); - lblSynchronizebChkGLob->set_text(gettext("Synchronize via NTP")); - cbDhcp->append(gettext("By default")); - cbDhcp->append(gettext("DHCP")); - cbDhcp->append(gettext("Manually")); - lblDateTimeSetting->set_text(gettext("Local Configuration")); - lblHead->set_text(gettext("Settings the date and time")); - lblTime->set_text(gettext("Time")); - lblData->set_text(gettext("Date")); - lblTimeZone->set_text(gettext("Time zone")); - lblReg->set_text(gettext("Region")); - lblZone->set_text(gettext("Zone")); - lblRegGlob->set_text(gettext("Region")); - lblZone1Glob->set_text(gettext("Zone")); - lblTimeZoneGlob->set_text(gettext("Time zone")); - lblSynchronizeBtn->set_text(gettext("Sync by")); - lblDateTimeSettingGlob->set_text(gettext("Global customization")); - this->set_title(gettext("ubl-settings-datetime")); - windowsNnpClose->set_title(gettext("Warning!")); - mess_sudo->set_title(gettext("Warning!")); - mess_dchp->set_title(gettext("Warning!")); - lblTimeBios->set_text(gettext("Synchronize hardware time")); - lblBanerStopNtp->set_text(gettext("Active service detected\nAutomatic time and date synchronization service detected")); - lblNtpStop->set_text(gettext("Stop the synchronization service")); - lblNtpClose->set_text(gettext("Close")); - //_lblSynchronizebChk->set_text(gettext("Synchronize via NTP")); + txtDate->set_tooltip_text(_("Date of\nFormat: DD.MM.YYYY")); + lblSynchronizebChkGLob->set_text(_("Synchronize via NTP")); + cbDhcp->append(_("By default")); + cbDhcp->append(_("DHCP")); + cbDhcp->append(_("Manually")); + lblDateTimeSetting->set_text(_("Local Configuration")); + lblHead->set_text(_("Settings the date and time")); + lblTime->set_text(_("Time")); + lblData->set_text(_("Date")); + lblTimeZone->set_text(_("Time zone")); + lblReg->set_text(_("Region")); + lblZone->set_text(_("Zone")); + lblRegGlob->set_text(_("Region")); + lblZone1Glob->set_text(_("Zone")); + lblTimeZoneGlob->set_text(_("Time zone")); + lblSynchronizeBtn->set_text(_("Sync by")); + lblDateTimeSettingGlob->set_text(_("Global customization")); + this->set_title(_("ubl-settings-datetime")); + windowsNnpClose->set_title(_("Warning!")); + mess_sudo->set_title(_("Warning!")); + mess_dchp->set_title(_("Warning!")); + lblTimeBios->set_text(_("Synchronize hardware time")); + lblBanerStopNtp->set_text(_("Active service detected\nAutomatic time and date synchronization service detected")); + lblNtpStop->set_text(_("Stop the synchronization service")); + lblNtpClose->set_text(_("Close")); + //_lblSynchronizebChk->set_text(_("Synchronize via NTP")); } void MainWindow::flag_block_gui(){ @@ -320,7 +320,7 @@ void MainWindow::gui_mess_close(){ bool MainWindow::focus_ntp(GdkEventFocus* event){ if (event!=NULL){} if (txtNtpServer->get_text()=="" || txtNtpServer->get_text()==" "){ - lblMessage->set_text(gettext("Enter DHCP!")); + lblMessage->set_text(_("Enter DHCP!")); mess_dchp->show(); } else{ @@ -335,7 +335,6 @@ bool MainWindow::focus_ntp(GdkEventFocus* event){ void MainWindow::event_entry_cbDhcp(){ Glib::ustring str_dhcp = cbDhcp->get_active_text(); int activ_index = cbDhcp->get_active_row_number(); - cout << activ_index << endl; if (str_dhcp.length()!=0){ if (activ_index==0){ string cmd = "/usr/bin/ubconfig set network NTPSERVERS=default"; @@ -443,7 +442,7 @@ void MainWindow::enry_dhcp_mess(){ } else{ if (str_dhcp==""){ - lblMessage->set_text(gettext("Enter DHCP!")); + lblMessage->set_text(_("Enter DHCP!")); mess_dchp->show(); } else if (str_dhcp=="(null)"){ @@ -480,6 +479,7 @@ void MainWindow::get_config(){ str_filling_zon = str_filling_zon.substr(0,str_filling_zon.find("\n")); string str_zone_check = ""; this->append_region_zone(str_filling_reg,str_filling_zon); + //this->append_region_zone("Africa","Abidjan"); } else { this->append_region_zone("Africa","Abidjan"); @@ -487,8 +487,9 @@ void MainWindow::get_config(){ } void MainWindow::enter_zone(){ - string reg_text = cbRegion->get_active_text(); - int activ_index = cbZone->get_active_row_number(); + int activ_index_reg = cbRegion->get_active_row_number(); + string reg_text=array_region[activ_index_reg]; + int activ_index = cbZone->get_active_row_number(); string zone_text = ""; if(!(reg_text.empty())){ int index=0; @@ -527,7 +528,8 @@ void MainWindow::parse_text_date(){ } void MainWindow::enter_zone_glob(){ - string reg_text = cbRegionGlob->get_active_text(); + int activ_index_reg = cbRegionGlob->get_active_row_number(); + string reg_text=array_region[activ_index_reg]; int activ_index = cbZoneGlob->get_active_row_number(); string zone_text=""; if(!(reg_text.empty())){ @@ -569,29 +571,34 @@ void MainWindow::set_ntp_toggle_glob(){ } void MainWindow::append_region_zone(string region, string zone){ + str_region=region; + str_region_glob=region; int index = 0; - string reg_local = ""; - for (auto &text : time_reg_map ) { - reg_local = text.first; - //reg_local = string(gettext(reg_local.c_str())); - cbRegion->append(reg_local); - cbRegionGlob->append(reg_local); - if (text.first == region){ - cbRegionGlob->set_active(index); - cbRegion->set_active(index); + Glib::ustring reg_local = ""; + for (const auto &text : array_region) { + reg_local = text; + reg_local = string(_(reg_local.c_str())); + cbRegion->append(Glib::ustring(reg_local)); + cbRegionGlob->append(Glib::ustring(reg_local)); + if (text == region){ + cbRegionGlob->set_active_text(reg_local); + cbRegion->set_active_text(reg_local); } index+=1; } + index = 0; string zone_mixing = ""; - string path_dir = ""; - for (const auto &_str_zone : time_reg_map.at(region)){ - path_dir=region+"/"+_str_zone; - zone_mixing = this->zone_file_read(path_dir) + string(gettext(_str_zone.c_str())); + string path_reg_zone = ""; + string zone_offest = ""; + path_reg_zone=region+"/"+zone; + zone_offest = this->zone_file_read(path_reg_zone) + _(zone.c_str()); + for (string &_str_zone : time_reg_map_local.at(region)){ cbZone->append(zone_mixing); cbZoneGlob->append(zone_mixing); + cout <<_str_zone << endl; if (_str_zone!=""){ - if (_str_zone == zone){ + if (zone_offest == _str_zone){ cbZone->set_active(index); cbZoneGlob->set_active(index); } @@ -621,34 +628,33 @@ string MainWindow::call(string cmd){ } void MainWindow::append_zone(){ + //int length_zone = time_reg_map.at(str_region).size(); cbZone->remove_all(); - Glib::ustring text = cbRegion->get_active_text(); + int index = cbRegion->get_active_row_number(); + string str_region = array_region[index]; string zone_mixing=""; string path_dir=""; - if(!(text.empty())){ - str_region = text; - for (const auto &_str_zone : time_reg_map.at(str_region)){ - path_dir=str_region+"/"+_str_zone; - zone_mixing = this->zone_file_read(path_dir) + string(gettext(_str_zone.c_str())); - cbZone->append(zone_mixing); + if(str_region.length()!=0){ + for (const auto &_str_zone : time_reg_map_local.at(str_region)){ + cbZone->append(Glib::ustring(_str_zone)); } } + cbZone->set_active(0); } void MainWindow::append_zone_glob(){ cbZoneGlob->remove_all(); - Glib::ustring text = cbRegionGlob->get_active_text(); + int index = cbRegionGlob->get_active_row_number(); + string str_region_glob = array_region[index]; string zone_mixing=""; string path_dir=""; - if(!(text.empty())){ - str_region_glob = text; - for (const auto &_str_zone : time_reg_map.at(str_region_glob)){ - path_dir=str_region+"/"+_str_zone; - zone_mixing = this->zone_file_read(path_dir) + string(gettext(_str_zone.c_str())); - cbZoneGlob->append(zone_mixing); + if(str_region_glob.length()!=0){ + for (const auto &_str_zone : time_reg_map_local.at(str_region_glob)){ + cbZoneGlob->append(Glib::ustring(_str_zone)); } } + cbZoneGlob->set_active(0); } void MainWindow::wrapper_update_time_date(){ string cmd = "pidof systemd-timesyncd ntpd chronyd"; @@ -726,7 +732,7 @@ void MainWindow::post_entry_data(){ } } else{ - lblMessage->set_text(gettext("Incorrect date format")); + lblMessage->set_text(_("Incorrect date format")); mess_dchp->show(); } } @@ -765,6 +771,8 @@ void MainWindow::update_calendar(){ void MainWindow::read_file(){ std::string line; + string key_zone_local = ""; + string path_reg_zone = ""; namespace fs = std::filesystem; for (const auto & entry : fs::directory_iterator("/usr/share/zoneinfo/")){ std::ifstream in(entry.path()); // окрываем файл для чтения @@ -777,6 +785,7 @@ void MainWindow::read_file(){ if (key_reg!="Etc"){ if (key_reg!="right"){ vector zone; + vector zone_local; //zone.push_back(""); for (const auto & entry_zone : fs::directory_iterator(path_dir)){ std::ifstream in1(entry_zone.path()); // окрываем файл для чтения @@ -784,13 +793,16 @@ void MainWindow::read_file(){ string key_zone = entry_zone.path().filename().string(); if (key_zone.length()!=0 || key_zone!=" "){ zone.push_back(key_zone); + path_reg_zone=key_reg + "/" + key_zone; + key_zone_local = this->zone_file_read(path_reg_zone) +_(key_zone.c_str()); + zone_local.push_back(key_zone_local); } } in1.close(); } - key_reg = string(key_reg); - time_reg_map.insert({key_reg, zone}); + time_reg_map.insert({key_reg, zone}); + time_reg_map_local.insert({key_reg, zone_local}); }}}} } } diff --git a/source/ubl-settings-datetime.h b/source/ubl-settings-datetime.h index 144e45b..c71a2ec 100644 --- a/source/ubl-settings-datetime.h +++ b/source/ubl-settings-datetime.h @@ -121,7 +121,7 @@ class MainWindow : public Gtk::ApplicationWindow { Gtk::Entry *txtNtpServer; Gtk::Entry *txtDate; std::map > time_reg_map; - std::map time_reg_map_local; + std::map > time_reg_map_local; unsigned int year=0; unsigned int month=0; unsigned int day=0; @@ -133,7 +133,21 @@ class MainWindow : public Gtk::ApplicationWindow { string strtxtNtpServer; string str_zone=""; string str_zoneGlob; - + string array_region[14]={ + "Africa", + "America", + "Antarctica", + "Arctic", + "Asia", + "Atlantic", + "Australia", + "Brazil", + "Canada", + "Chile", + "Europe", + "Indian", + "Mexico", + "US"}; }; class SettingsPlug : public Gtk::Plug diff --git a/ubl-settings-datetime_ru.po b/ubl-settings-datetime_ru.po index 62612d7..4a9826f 100644 --- a/ubl-settings-datetime_ru.po +++ b/ubl-settings-datetime_ru.po @@ -6,6 +6,9 @@ msgid "" msgstr "" +msgid "Longyearbyen" +msgstr "Лонгйир" + msgid "Stop the synchronization service" msgstr "Остановить сервис синхронизации" @@ -232,13 +235,13 @@ msgid "Zaporozhye" msgstr "Запорожье" msgid "Cambridge_Bay" -msgstr "Кембридж_Бэй" +msgstr "Кембридж Бэй" msgid "Guayaquil" msgstr "Гуаякиль" msgid "Coral_Harbour" -msgstr "Корал_Харбор" +msgstr "Корал Харбор" msgid "Kigali" msgstr "Кигали" @@ -343,7 +346,7 @@ msgid "Canary" msgstr "Канари" msgid "Fort_Nelson" -msgstr "Форт_Нельсон" +msgstr "Форт Нельсон" msgid "Recife" msgstr "Ресифи" @@ -376,7 +379,7 @@ msgid "Ceuta" msgstr "Сеута" msgid "San_Marino" -msgstr "Сан_Марино" +msgstr "Сан Марино" msgid "Barnaul" msgstr "Барнаул" @@ -487,7 +490,7 @@ msgid "Novokuznetsk" msgstr "Новокузнецк" msgid "Dawson_Creek" -msgstr "Доусон_Крик" +msgstr "Доусон Крик" msgid "Srednekolymsk" msgstr "Среднеколымск" @@ -556,7 +559,7 @@ msgid "Jan_Mayen" msgstr "Ян_Майен" msgid "Acre" -msgstr "акр" +msgstr "Акр" msgid "Choibalsan" msgstr "Чойбалсан" @@ -841,7 +844,7 @@ msgid "Monaco" msgstr "Монако" msgid "Aleutian" -msgstr "алеутский" +msgstr "Алеутский" msgid "Montreal" msgstr "Монреаль" @@ -1231,7 +1234,7 @@ msgid "Rosario" msgstr "Росарио" msgid "LHI" -msgstr "LHI" +msgstr "Лхи" msgid "Bamako" msgstr "Бамако" @@ -1273,7 +1276,7 @@ msgid "Ust-Nera" msgstr "Усть-Нера" msgid "Arctic" -msgstr "Арктический" +msgstr "Арктика" msgid "Menominee" msgstr "Меномини" @@ -1453,7 +1456,7 @@ msgid "Tehran" msgstr "Тегеран" msgid "DumontDUrville" -msgstr "Дюмон-д’Юрвиль" +msgstr "Дюмон-д-Юрвиль" msgid "Enderbury" msgstr "Эндербери" @@ -1563,4 +1566,30 @@ msgstr "Банжул" msgid "Louisville" msgstr "Луисвилл" +msgid "Indiana" +msgstr "Индианан" + +msgid "North_Dokota" +msgstr "Северная Докота" + +msgid "Palmer" +msgstr "Палмер" + +msgid "Yekaterinburg" +msgstr "Екатеринбург" + +msgid "Cape_Vepde" +msgstr "Кабо-Верде" + +msgid "East" +msgstr "Восток" + +msgid "Easterlsland" +msgstr "Остров Пасхи" + +msgid "Mayotte" +msgstr "Майотта" + +msgid "BajaSur" +msgstr "Южная Нижняя Калифорния" From fd2a3a701918a07f59e0201bfb4bb733b8f66ace Mon Sep 17 00:00:00 2001 From: Igor Belitskiy Date: Thu, 9 Feb 2023 16:10:21 +0600 Subject: [PATCH 6/7] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=D0=BE=20=D0=BE=D1=82=D0=BA=D0=BB=D1=8E=D1=87=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D0=B5=20ntp?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- source/ubl-settings-datetime.cc | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/source/ubl-settings-datetime.cc b/source/ubl-settings-datetime.cc index 5401ac7..8e1ec81 100644 --- a/source/ubl-settings-datetime.cc +++ b/source/ubl-settings-datetime.cc @@ -295,10 +295,10 @@ void MainWindow::stop_ntp(){ string array_servis[8] = {"systemd-timesyncd", "chronyd", "ntp.service", "ntpdate.service", "ntpd", "ptp4l", "openntpd.service", "phc2sys"}; for (string &name_serive: array_servis){ - cmd = "sudo systemctl status " + name_serive + " | grep \"Active: active\""; + cmd = "systemctl status " + name_serive + " | grep \"Active: active\""; response = this->call(cmd.c_str()); if (response.length()!=0){ - cmd = "sudo systemctl stop " + name_serive; + cmd = "systemctl --quiet is-active " + name_serive + " &>/dev/null && systemctl stop " + name_serive; this->call(cmd.c_str()); } } @@ -596,7 +596,6 @@ void MainWindow::append_region_zone(string region, string zone){ for (string &_str_zone : time_reg_map_local.at(region)){ cbZone->append(zone_mixing); cbZoneGlob->append(zone_mixing); - cout <<_str_zone << endl; if (_str_zone!=""){ if (zone_offest == _str_zone){ cbZone->set_active(index); From 1fc0f67cc4d99060f27749700b60f489627f88fe Mon Sep 17 00:00:00 2001 From: Igor Belitskiy Date: Thu, 9 Feb 2023 16:14:39 +0600 Subject: [PATCH 7/7] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=20=D0=B1=D0=B0=D0=B3=20=D0=BE=D1=82=D0=BA=D0=BB?= =?UTF-8?q?=D1=8E=D1=87=D0=B5=D0=BD=D0=B8=D0=B5=D0=BC=20ntp?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- source/ubl-settings-datetime.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/ubl-settings-datetime.cc b/source/ubl-settings-datetime.cc index 8e1ec81..459a472 100644 --- a/source/ubl-settings-datetime.cc +++ b/source/ubl-settings-datetime.cc @@ -292,8 +292,8 @@ void MainWindow::stop_ntp(){ windowsNnpClose->hide(); string cmd = ""; string response = ""; - string array_servis[8] = {"systemd-timesyncd", "chronyd", "ntp.service", "ntpdate.service", - "ntpd", "ptp4l", "openntpd.service", "phc2sys"}; + string array_servis[8] = {"systemd-timesyncd", "chronyd.service", "ntp.service", "ntpdate.service", + "ntpd.service", "ptp4l.service", "openntpd.service", "phc2sys.service"}; for (string &name_serive: array_servis){ cmd = "systemctl status " + name_serive + " | grep \"Active: active\""; response = this->call(cmd.c_str());