diff --git a/Makefile b/Makefile
index 370b374..0ba8841 100644
--- a/Makefile
+++ b/Makefile
@@ -74,8 +74,8 @@ uninstall:
$(RM) "/usr/share/locale/$${LANG}/LC_MESSAGES/$${FILE_MO}"; \
done
@for SIZE in 16x16 32x32 48x48 scalable; do \
- $(RM) "/usr/share/icons/hicolor/$${SIZE}/apps/${pkgname}.svg"; \
- $(RM) "/usr/share/icons/hicolor/$${SIZE}/apps/${pkgname}.png"; \
+ $(RM) "/usr/share/icons/hicolor/$${SIZE}/apps/ru.ublinux.${pkgname}.svg"; \
+ $(RM) "/usr/share/icons/hicolor/$${SIZE}/apps/ru.ublinux.${pkgname}.png"; \
done
@for FILE_SVG in $(wildcard *.svg); do \
for SIZE in 16x16 32x32 48x48 scalable; do \
@@ -85,7 +85,6 @@ uninstall:
@$(RM) "/usr/bin/${pkgname}"
@$(RM) "/usr/share/applications/${pkgname}.desktop"
@$(RM) "/usr/share/polkit-1/actions/ru.ublinux.pkexec.${pkgname}.exec.policy"
- @$(RM) -rd "/usr/share/${pkgname}"
@gtk-update-icon-cache -fiq /usr/share/icons/hicolor/ &>/dev/null
@update-desktop-database --quiet 2>/dev/null
@touch /usr/share/applications
@@ -103,22 +102,22 @@ install: check uninstall
done
@for SIZE in 16 32 48; do \
install -dm755 "${pkgdir}/usr/share/icons/hicolor/$${SIZE}x$${SIZE}/apps"; \
- rsvg-convert -w $${SIZE} -h $${SIZE} -f png --keep-image-data ${pkgname}.svg -o "${pkgdir}/usr/share/icons/hicolor/$${SIZE}x$${SIZE}/apps/${pkgname}.png"; \
+ rsvg-convert -w $${SIZE} -h $${SIZE} -f png --keep-image-data "ru.ublinux.${pkgname}.svg" -o "${pkgdir}/usr/share/icons/hicolor/$${SIZE}x$${SIZE}/apps/ru.ublinux.${pkgname}.png"; \
done
@install -dm755 "${pkgdir}/usr/share/icons/hicolor/scalable/apps"
- @install -Dm644 -t "${pkgdir}/usr/share/icons/hicolor/scalable/apps/" "${pkgname}.svg"
+ @install -Dm644 -t "${pkgdir}/usr/share/icons/hicolor/scalable/apps/" "ru.ublinux.${pkgname}.svg"
@install -Dm755 -t "${pkgdir}/usr/bin/" "${CMAKE_BUILD_DIR}/${pkgname}"
@install -Dm644 -t "${pkgdir}/usr/share/applications/" "${pkgname}.desktop"
@install -Dm644 -t "${pkgdir}/usr/share/polkit-1/actions/" "ru.ublinux.pkexec.${pkgname}.exec.policy"
@install -dm755 "${pkgdir}/usr/share/${pkgname}"/{ui,images,css}
@install -Dm644 -t "${pkgdir}/usr/share/${pkgname}/ui/" "${pkgname}.glade"
@install -Dm644 -t "${pkgdir}/usr/share/${pkgname}/css/" style.css
- @install -Dm644 -t "${pkgdir}/usr/share/${pkgname}/images/" "${pkgname}.svg"
- @install -Dm644 -t "${pkgdir}/usr/share/${pkgname}/images/" "${pkgname}.png"
- @install -Dm644 -t "${pkgdir}/usr/share/${pkgname}/images/" bg_top.png
- @install -Dm644 -t "${pkgdir}/usr/share/${pkgname}/images/" checked.svg
- @install -Dm644 -t "${pkgdir}/usr/share/${pkgname}/images/" warning.svg
- @gtk-update-icon-cache -fiq /usr/share/icons/hicolor/
+ @install -Dm644 -t "${pkgdir}/usr/share/${pkgname}/images/" "ru.ublinux.${pkgname}.svg"
+ @install -Dm644 -t "${pkgdir}/usr/share/${pkgname}/images/" "ru.ublinux.${pkgname}.png"
+ @install -Dm644 -t "${pkgdir}/usr/share/icons/hicolor/scalable/emblems/" "bg_top.png"
+ @install -Dm644 -t "${pkgdir}/usr/share/icons/hicolor/scalable/status/" "ru.ublinux.ubl-settings-datetime.checked.svg"
+ @install -Dm644 -t "${pkgdir}/usr/share/icons/hicolor/scalable/status/" "ru.ublinux.ubl-settings-datetime.warning.svg"
+ @gtk-update-icon-cache -fiq /usr/share/icons/hicolor/ &>/dev/null
@update-desktop-database --quiet 2>/dev/null
@touch /usr/share/applications
@echo "Install: OK"
diff --git a/close.svg b/close.svg
deleted file mode 100644
index d869d85..0000000
--- a/close.svg
+++ /dev/null
@@ -1,54 +0,0 @@
-
-
diff --git a/checked.svg b/ru.ublinux.ubl-settings-datetime.checked.svg
similarity index 100%
rename from checked.svg
rename to ru.ublinux.ubl-settings-datetime.checked.svg
diff --git a/ubl-settings-datetime.png b/ru.ublinux.ubl-settings-datetime.png
similarity index 100%
rename from ubl-settings-datetime.png
rename to ru.ublinux.ubl-settings-datetime.png
diff --git a/ubl-settings-datetime.svg b/ru.ublinux.ubl-settings-datetime.svg
similarity index 100%
rename from ubl-settings-datetime.svg
rename to ru.ublinux.ubl-settings-datetime.svg
diff --git a/warning.svg b/ru.ublinux.ubl-settings-datetime.warning.svg
similarity index 100%
rename from warning.svg
rename to ru.ublinux.ubl-settings-datetime.warning.svg
diff --git a/source/ubl-settings-datetime.cc b/source/ubl-settings-datetime.cc
index b6a0353..b01728f 100644
--- a/source/ubl-settings-datetime.cc
+++ b/source/ubl-settings-datetime.cc
@@ -15,8 +15,8 @@ bool flag_save = false;
bool flag_save_local = false;
bool flag_save_global = false;
bool flag_load_global = false;
-int socket_ext_id_I= 0;
-int socket_trd_id_I= 0;
+int socket_ext_id_I = 0;
+int socket_trd_id_I = 0;
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} {
@@ -24,17 +24,14 @@ CmdArgParser::CmdArgParser(const std::string& p_name, const std::string& p_descr
socketIDArg.set_long_name("socket-id");
socketIDArg.set_flags(Glib::OptionEntry::FLAG_IN_MAIN);
socketIDArg.set_description("Settings manager socket");
-
Glib::OptionEntry socketExtId;
socketExtId.set_long_name("socket-ext-id");
socketExtId.set_flags(Glib::OptionEntry::FLAG_IN_MAIN);
socketExtId.set_description("Settings manager secondary socket");
-
Glib::OptionEntry socketTrdId;
socketTrdId.set_long_name("socket-trd-id");
socketTrdId.set_flags(Glib::OptionEntry::FLAG_IN_MAIN);
socketTrdId.set_description("Settings manager secondary socket");
-
add_entry(socketIDArg, m_socketID);
add_entry(socketExtId, socket_ext_id_I);
add_entry(socketTrdId, socket_trd_id_I);
@@ -55,6 +52,33 @@ MainWindow::MainWindow(Glib::RefPtr const& builder) {
}
void MainWindow::settings() {
+ map_error["xdg-open https://wiki.ublinux.ru/ru/home"] = string(_(": \"xdg-open\""));
+ map_error["/usr/bin/ubconfig --default --source system get clock ZONE"] = string(_(": \"Time Zone\""));
+ map_error["hwclock --systohc"] = string(_(": \"Hardware time\""));
+ map_error["/usr/bin/ubconfig --default --source system get network NTPSERVERS"] = string(_(": \"NTP\""));
+ map_error["/usr/bin/ubconfig --source=default get NTPSERVERS_DEFAULT"] = string(_(": \"NTP\""));
+ map_error["/usr/bin/ubconfig --default --source system get clock HWCLOCK_SYNC"] = string(_(": \"Hardware time\""));
+ map_error["/usr/bin/ubconfig --default --source global get network NTPSERVERS"] = string(_(": \"NTP\""));
+ map_error["/usr/bin/ubconfig --default --source global get clock ZONE"] = string(_(": \"Time Zone\""));
+ map_error["/usr/bin/ubconfig --default --source global get clock HWCLOCK_SYNC"] = string(_(": \"Hardware time\""));
+ map_error["/usr/bin/ubconfig --source global get clock HWCLOCK_SYNC"] = string(_(": \"Hardware time\""));
+ map_error["/usr/bin/ubconfig --target system set clock ZONE="] = string(_(": \"Time Zone\""));
+ map_error["/usr/bin/ubconfig --target system set network NTPSERVERS=default"] = string(_(": \"NTP\""));
+ map_error["/usr/bin/ubconfig --target system set network NTPSERVERS=dhcp"] = string(_(": \"NTP\""));
+ map_error["/usr/bin/ubconfig --target system set network NTPSERVERS=\""] = string(_(": \"NTP\""));
+ map_error["/usr/bin/ubconfig --target system remove network NTPSERVERS"] = string(_(": \"NTP\""));
+ map_error["/usr/bin/ubconfig --target system set clock HWCLOCK_SYNC=localtime"] = string(_(": \"Hardware time\""));
+ map_error["/usr/bin/ubconfig --target system set clock HWCLOCK_SYNC=utc"] = string(_(": \"Hardware time\""));
+ map_error["/usr/bin/ubconfig --target global set clock ZONE="] = string(_(": \"Time Zone\""));
+ map_error["/usr/bin/ubconfig --target global set network NTPSERVERS=default"] = string(_(": \"NTP\""));
+ map_error["/usr/bin/ubconfig --target global set network NTPSERVERS=dhcp"] = string(_(": \"NTP\""));
+ map_error["/usr/bin/ubconfig --target global set network NTPSERVERS=\""] = string(_(": \"NTP\""));
+ map_error["/usr/bin/ubconfig --target global remove network NTPSERVERS"] = string(_(": \"NTP\""));
+ map_error["/usr/bin/ubconfig --target global set clock HWCLOCK_SYNC=localtime"] = string(_(": \"Hardware time\""));
+ map_error["/usr/bin/ubconfig --target global set clock HWCLOCK_SYNC=utc"] = string(_(": \"Hardware time\""));
+ map_error["date +%Y%m%d -s \""] = string(_(": \"Date\""));
+ map_error["date +%T -s \""] = string(_(": \"Date\""));
+ map_error["/usr/bin/ubconfig --source default get clock HWCLOCK_SYNC"] = string(_(": \"Hardware time\""));
this->get_builder();
this->add_CSS();
ubl_make_plugs(boxSave,boxButton, socket_ext_id_I, socket_trd_id_I);
@@ -72,10 +96,14 @@ void MainWindow::settings() {
btnBoxAboutDialog->set_visible(false);
this->event();
this->parse_text_date();
- this->download_local_cfg();
+ this->load_local_cfg();
}
else {
- btnDownload->set_sensitive(false);
+ lblHW->set_sensitive(false);
+ cbHw->set_sensitive(false);
+ boxButton->set_sensitive(false);
+ boxSave->set_sensitive(false);
+ btnLoad->set_sensitive(false);
numTimeHrs->set_sensitive(false);
numTimeMin->set_sensitive(false);
lblTime->set_sensitive(false);
@@ -95,28 +123,34 @@ void MainWindow::settings() {
lblDateTimeSetting->set_sensitive(false);
btnBoxAboutDialog->set_visible(false);
this->event();
- imgInfo->set("/usr/share/ubl-settings-datetime/images/checked.svg");
+ imgInfo->set_from_icon_name("ru.ublinux.ubl-settings-datetime.warning", Gtk::ICON_SIZE_MENU);
+ info_status_app("boxInfoMessError");
+ lblWarning->set_text(_("The program must be run as root"));
}
-
}
int MainWindow::check_root() {
if (geteuid() != 0) {
- lblMessageSudo->set_text(_("The program must be run with \nsuperuser privileges!"));
- mess_sudo->show();
+ lblMessageSudo->set_text(_("The program must be run as root"));
+ windowMessSudo->show();
return 1;
}
return 0;
}
void MainWindow::lacalization() {
- aboutWindows->set_comments(_("Setting the date and time"));
+ time_t now = time(0);
+ tm *ltm = localtime(&now);
+ unsigned int year = 1900+ ltm->tm_year;
+ string str_authors = string(_("Copyright © UBSoft LLC, 2022 - ")) + to_string(year);
+ aboutWindows->set_copyright(str_authors);
+ aboutWindows->set_comments(_("Date and Time"));
aboutWindows->set_website(_("https://wiki.ublinux.com"));
aboutWindows->set_version(_(version_application.c_str()));
aboutWindows->set_website_label(_("Project Home Page"));
lblSave->set_label(_("Save"));
- lblDownload->set_label(_("Download"));
+ lblLoad->set_label(_("Load"));
txtDate->set_tooltip_text(_("Date of\nFormat: DD.MM.YYYY"));
txtNtpServer->set_tooltip_text(_("Enter the name of the ntp-server or its ip-address.\nWhen entering multiple addresses, separate them with commas."));
lblSynchronizebChkGLob->set_text(_("Synchronize via NTP:"));
@@ -133,13 +167,12 @@ void MainWindow::lacalization() {
lblZone->set_text(_("Zone"));
lblSynchronizeBtn->set_text(_("Sync by"));
lblHeader->set_text(_("ubl-settings-datetime"));
- mess_sudo->set_title(_("Warning!"));
- mess_dchp->set_title(_("Warning!"));
+ windowMessSudo->set_title(_("Warning!"));
+ windowMessDchp->set_title(_("Warning!"));
lblTimeBios->set_text(_("Synchronize hardware time"));
lblHW->set_text(_("Synchronize hardware time:"));
cbHw->append(_("Local time"));
cbHw->append(_("UTC time"));
-
}
void MainWindow::flag_block_gui() {
@@ -167,7 +200,7 @@ void MainWindow::flag_block_gui() {
txtNtpServer->set_sensitive(false);
}
if (flag_load_global == true) {
- btnDonwlolGlob->set_sensitive(false);
+ btnLoadGlob->set_sensitive(false);
}
if (flag_save == true) {
btnSave->set_sensitive(false);
@@ -178,7 +211,6 @@ void MainWindow::flag_block_gui() {
if (flag_save_global == true) {
btnSaveGlob->set_sensitive(false);
}
-
}
void MainWindow::add_CSS() {
@@ -187,37 +219,16 @@ void MainWindow::add_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 context = boxColor->get_style_context();
- Glib::RefPtr context_lbl_head = lblHead->get_style_context();
- context->add_class("cssboxColor1");
- context_lbl_head->add_class("textHead");
- /*
+ Glib::RefPtr boxColor_css = boxColor->get_style_context();
+ boxColor_css->add_class("cssboxColor1");
+ Glib::RefPtr lblHead_css = lblHead->get_style_context();
Glib::RefPtr boxButton_css = boxButton->get_style_context();
Glib::RefPtr boxSave_css = boxSave->get_style_context();
- Glib::RefPtr btnDownload_css = btnDownload->get_style_context();
- Glib::RefPtr lblDownload_css = lblDownload->get_style_context();
- Glib::RefPtr imgDonwload_css = imgDonwload->get_style_context();
Glib::RefPtr headerBar_css = headerBar->get_style_context();
- headerBar_css->add_class("bkim");
- imgDonwload_css->add_class("bkim");
- lblDownload_css->add_class("bkim");
- btnDownload_css->add_class("bkim");
- boxButton_css->add_class("bkim");
- boxSave_css->add_class("bkim");
- double opacity= 1.0;
- headerBar->set_opacity(opacity);
- boxButton->set_opacity(opacity);
- boxSave->set_opacity(opacity);
- btnDownload->set_opacity(opacity);
- lblDownload->set_opacity(opacity);
- imgDonwload->set_opacity(opacity);
- btnSave->set_opacity(opacity);
- lblSave->set_opacity(opacity);
- btnSettings->set_opacity(opacity);
- imgSave->set_opacity(opacity);
- imgSettings->set_opacity(opacity);
- */
-
+ lblHead_css->add_class("textHead");
+ boxButton_css->add_class("bkimButton");
+ boxSave_css->add_class("bkimButton");
+ headerBar_css->add_class("bkimHeadBar");
}
@@ -242,24 +253,24 @@ void MainWindow::get_builder() {
builder->get_widget("cbZone", cbZone);
builder->get_widget("txtNtpServer", txtNtpServer);
builder->get_widget("cldrDate", cldrDate);
- builder->get_widget("mess_dchp", mess_dchp);
+ builder->get_widget("windowMessDchp", windowMessDchp);
builder->get_widget("lblMessage", lblMessage);
- builder->get_widget("lblDateTimeSetting",lblDateTimeSetting);
- builder->get_widget("lblHead",lblHead);
- builder->get_widget("lblTime",lblTime);
- builder->get_widget("lblData",lblData);
- builder->get_widget("lblTimeZone",lblTimeZone);
- builder->get_widget("lblReg",lblReg);
- builder->get_widget("lblZone",lblZone);
- builder->get_widget("lblSynchronizebChkGLob",lblSynchronizebChkGLob);
- builder->get_widget("lblSynchronizeBtn",lblSynchronizeBtn);
- builder->get_widget("lblTimeBios",lblTimeBios);
+ builder->get_widget("lblDateTimeSetting", lblDateTimeSetting);
+ builder->get_widget("lblHead", lblHead);
+ builder->get_widget("lblTime", lblTime);
+ builder->get_widget("lblData", lblData);
+ builder->get_widget("lblTimeZone", lblTimeZone);
+ builder->get_widget("lblReg", lblReg);
+ builder->get_widget("lblZone", lblZone);
+ builder->get_widget("lblSynchronizebChkGLob", lblSynchronizebChkGLob);
+ builder->get_widget("lblSynchronizeBtn", lblSynchronizeBtn);
+ builder->get_widget("lblTimeBios", lblTimeBios);
builder->get_widget("btnHardwareTime",btnHardwareTime);
- builder->get_widget("mess_sudo",mess_sudo);
- builder->get_widget("lblMessageSudo",lblMessageSudo);
+ builder->get_widget("windowMessSudo",windowMessSudo);
+ builder->get_widget("lblMessageSudo", lblMessageSudo);
builder->get_widget("btnMessCloseSudo",btnMessCloseSudo);
- builder->get_widget("lblSave",lblSave);
- builder->get_widget("lblDownload",lblDownload);
+ builder->get_widget("lblSave", lblSave);
+ builder->get_widget("lblLoad", lblLoad);
builder->get_widget("aboutWindows", aboutWindows);
builder->get_widget("btnBoxAboutDialog", btnBoxAboutDialog);
builder->get_widget("boxInfoError", boxInfoError);
@@ -267,11 +278,11 @@ void MainWindow::get_builder() {
builder->get_widget("imgInfo", imgInfo);
builder->get_widget("btnSave", btnSave);
builder->get_widget("btnSettings", btnSettings);
- builder->get_widget("btnDownload", btnDownload);
+ builder->get_widget("btnLoad", btnLoad);
builder->get_widget("btnSynopsis", btnSynopsis);
builder->get_widget("btnAbout", btnAbout);
- builder->get_widget("btnDonwlodLocal", btnDonwlodLocal);
- builder->get_widget("btnDonwlolGlob", btnDonwlolGlob);
+ builder->get_widget("btnLoadLocal", btnLoadLocal);
+ builder->get_widget("btnLoadGlob", btnLoadGlob);
builder->get_widget("btnSaveLocalGlob", btnSaveLocalGlob);
builder->get_widget("btnSaveLocal", btnSaveLocal);
builder->get_widget("btnSaveGlob", btnSaveGlob);
@@ -286,11 +297,9 @@ void MainWindow::get_builder() {
builder->get_widget("standartHead", standartHead);
builder->get_widget("plugBox", plugBox);
builder->get_widget("window" ,window);
- builder->get_widget("imgDonwload", imgDonwload);
- builder->get_widget("imgDonwload", imgDonwload);
+ builder->get_widget("imgLoad", imgLoad);
builder->get_widget("imgSettings", imgSettings);
builder->get_widget("imgSave", imgSave);
-
}
void MainWindow::gui_exit() {
@@ -314,15 +323,14 @@ void MainWindow::event() {
cbDhcp->signal_changed().connect(sigc::mem_fun(*this, &MainWindow::event_entry_cbDhcp));
cbRegion->signal_changed().connect(sigc::mem_fun(*this, &MainWindow::append_zone));
cldrDate->signal_day_selected_double_click().connect(sigc::mem_fun(*this, &MainWindow::get_calendar));
- mess_sudo->signal_delete_event().connect(sigc::mem_fun(*this, &MainWindow::gui_exit_2));
+ windowMessSudo->signal_delete_event().connect(sigc::mem_fun(*this, &MainWindow::gui_exit_2));
btnAbout->signal_activate().connect([&]() {aboutWindows->show();});
btnSynopsis->signal_activate().connect(sigc::mem_fun(*this, &MainWindow::synopsis_show));
- btnDonwlodLocal->signal_activate().connect(sigc::mem_fun(*this, &MainWindow::download_local_cfg));
- btnDonwlolGlob->signal_activate().connect(sigc::mem_fun(*this, &MainWindow::download_globl_cfg));
+ btnLoadLocal->signal_activate().connect(sigc::mem_fun(*this, &MainWindow::load_local_cfg));
+ btnLoadGlob->signal_activate().connect(sigc::mem_fun(*this, &MainWindow::load_globl_cfg));
btnSaveLocalGlob->signal_activate().connect([&]() {save_global_local_cfg();});
btnSaveLocal->signal_activate().connect([&]() {save_local_cfg();});
btnSaveGlob->signal_activate().connect([&]() {save_global_cfg();});
-
}
void MainWindow::synopsis_show() {
@@ -334,7 +342,7 @@ void MainWindow::synopsis_show() {
}
}
-void MainWindow::download_local_cfg() {
+void MainWindow::load_local_cfg() {
string cmd = "/usr/bin/ubconfig --default --source system get clock ZONE";
this->fill_in_reg_zone(cmd);
this->update_hour_minute();
@@ -343,20 +351,18 @@ void MainWindow::download_local_cfg() {
string cmd_default_get_dhcp = "/usr/bin/ubconfig --source=default get NTPSERVERS_DEFAULT";
this->entry_dhcp_mess(cmd_get_dhcp, cmd_default_get_dhcp);
string hw = "/usr/bin/ubconfig --default --source system get clock HWCLOCK_SYNC";
- string hw_default = "/usr/bin/ubconfig --default --source system get clock HWCLOCK_SYNC";
- this->entry_hardware_clock(hw, hw_default);
+ this->entry_hardware_clock(hw);
info_warning_error(0);
}
-void MainWindow::download_globl_cfg() {
+void MainWindow::load_globl_cfg() {
string cmd_get_dhcp = "/usr/bin/ubconfig --default --source global get network NTPSERVERS";
string cmd_default_get_dhcp = "/usr/bin/ubconfig --source=default get NTPSERVERS_DEFAULT";
this->entry_dhcp_mess(cmd_get_dhcp, cmd_default_get_dhcp);
string cmd_zone = "/usr/bin/ubconfig --default --source global get clock ZONE";
this->fill_in_reg_zone(cmd_zone);
- string hw = "/usr/bin/ubconfig --default --source global get clock HWCLOCK_SYNC";
- string hw_default = "/usr/bin/ubconfig --default --source global get clock HWCLOCK_SYNC";
- this->entry_hardware_clock(hw, hw_default);
+ string hw = "/usr/bin/ubconfig --source global get clock HWCLOCK_SYNC";
+ this->entry_hardware_clock(hw);
info_warning_error(1);
}
@@ -366,11 +372,11 @@ void MainWindow::save_local_cfg() {
string cmd_default = "/usr/bin/ubconfig --target system set network NTPSERVERS=default";
string cmd_dhcp = "/usr/bin/ubconfig --target system set network NTPSERVERS=dhcp";
string cmd_set_ntp = "/usr/bin/ubconfig --target system set network NTPSERVERS=\"";
- string remove = "/usr/bin/ubconfig --target system remove network NTPSERVERS";
- this->save_Dhcp(cmd_default, cmd_dhcp, remove, cmd_set_ntp);
+ string remove_ntp = "/usr/bin/ubconfig --target system remove network NTPSERVERS";
+ this->save_Dhcp(cmd_default, cmd_dhcp, remove_ntp, cmd_set_ntp);
string local = "/usr/bin/ubconfig --target system set clock HWCLOCK_SYNC=localtime";
- string hw = "/usr/bin/ubconfig --target system set clock HWCLOCK_SYNC=utc";
- this->hardware_clock_global(local, hw);
+ string hw = "/usr/bin/ubconfig --target system set clock HWCLOCK_SYNC=utc";
+ this->entry_hardware_clock(hw);
info_warning_error(2);
}
@@ -380,8 +386,8 @@ void MainWindow::save_global_cfg() {
string cmd_default = "/usr/bin/ubconfig --target global set network NTPSERVERS=default";
string cmd_dhcp = "/usr/bin/ubconfig --target global set network NTPSERVERS=dhcp";
string cmd_set_ntp = "/usr/bin/ubconfig --target global set network NTPSERVERS=\"";
- string remove = "/usr/bin/ubconfig --target global remove network NTPSERVERS";
- this->save_Dhcp(cmd_default, cmd_dhcp, remove, cmd_set_ntp);
+ string remove_ntp = "/usr/bin/ubconfig --target global remove network NTPSERVERS";
+ this->save_Dhcp(cmd_default, cmd_dhcp, remove_ntp, cmd_set_ntp);
string local = "/usr/bin/ubconfig --target global set clock HWCLOCK_SYNC=localtime";
string hw = "/usr/bin/ubconfig --target global set clock HWCLOCK_SYNC=utc";
this->hardware_clock_global(local, hw);
@@ -406,28 +412,35 @@ void MainWindow::save_global_local_cfg() {
void MainWindow::info_warning_error(int mess) {
if (error_info > 0 || warning_info > 0) {
info_status_app("boxInfoMessError");
- imgInfo->set("/usr/share/ubl-settings-datetime/images/warning.svg");
+ imgInfo->set_from_icon_name("ru.ublinux.ubl-settings-datetime.warning", Gtk::ICON_SIZE_MENU);
error_info = 0;
warning_info = 0;
+ string mess_error = "";
if (mess == 0) {
- lblWarning->set_text(_("Local configuration reading error"));
+ mess_error = string(_("Local configuration reading error")) + cmd_error;
+ lblWarning->set_text(mess_error);
}
else if (mess == 1) {
- lblWarning->set_text(_("Global configuration read error"));
+ mess_error = string(_("Global configuration read error")) + cmd_error;
+ lblWarning->set_text(mess_error);
}
else if (mess == 2) {
- lblWarning->set_text(_("Local configuration write error"));
+ mess_error = string(_("Local configuration write error")) + cmd_error;
+ lblWarning->set_text(mess_error);
}
else if (mess == 3) {
- lblWarning->set_text(_("Global configuration write error"));
+ mess_error = string(_("Global configuration write error")) + cmd_error;
+ lblWarning->set_text(mess_error);
}
else if (mess == 4) {
- lblWarning->set_text(_("Error saved local and global configuration"));
+ mess_error = string(_("Error saved local and global configuration")) + cmd_error;
+ lblWarning->set_text(mess_error);
}
+ cmd_error = "";
}
else {
info_status_app("boxInfoMessOK");
- imgInfo->set("/usr/share/ubl-settings-datetime/images/checked.svg");
+ imgInfo->set_from_icon_name("ru.ublinux.ubl-settings-datetime.checked", Gtk::ICON_SIZE_MENU);//Gtk::IconSize::INHERIT);
if (mess == 0) {
lblWarning->set_text(_("Local configuration downloaded successfully"));
}
@@ -448,12 +461,28 @@ void MainWindow::info_warning_error(int mess) {
void MainWindow::wrapper_system(string cmd, string thread_str = "") {
- cmd=cmd + " " + thread_str;
- int response_cmd = system(cmd.c_str());
- if (response_cmd!= 0) {
- error_info+= 1;
+ string cmd_new = cmd + " " + thread_str;
+ int response_cmd = system(cmd_new.c_str());
+ if (response_cmd != 0) {
+ error_info += 1;
+ this->log_mess_error(cmd);
}
+}
+void MainWindow::log_mess_error(string &cmd){
+ string key = "";
+ if (map_error.find(cmd) != map_error.end()){
+ cmd_error = map_error[cmd];
+ }
+ else {
+ for ( const auto &map_iter: map_error ) {
+ key = map_iter.first;
+ if (cmd.find(key) != std::string::npos){
+ cmd_error = map_iter.second;
+ break;
+ }
+ }
+ }
}
void MainWindow::hardware_clock_global(string &local, string &etc) {
@@ -466,51 +495,25 @@ void MainWindow::hardware_clock_global(string &local, string &etc) {
}
}
-void MainWindow::entry_hardware_clock_default(string &cmd_default) {
- int error = warning_info;
- struct Result obj_result_default = this->wrapper_call(cmd_default);
- if (obj_result_default.error == 0) {
- if (obj_result_default.response.find("localtime") !=string::npos) {
- cbHw->set_active(0);
- }
- else if (obj_result_default.response.find("utc") !=string::npos) {
- cbHw->set_active(1);
-
- }
-
- }
- else if (obj_result_default.error == 3) {
- if (error != warning_info) {
- warning_info = error;
- }
- cbHw->set_active(-1);
- }
-
-}
-
-void MainWindow::entry_hardware_clock(string &cmd, string &cmd_default) {
+void MainWindow::entry_hardware_clock(string &cmd) {
int error = warning_info;
struct Result obj_result = this->wrapper_call(cmd);
if (obj_result.error == 0) {
- if (obj_result.response.find("localtime") !=string::npos) {
+ if (obj_result.response.find("localtime") != string::npos) {
cbHw->set_active(0);
}
- else if (obj_result.response.find("utc") !=string::npos) {
+ else if (obj_result.response.find("utc") != string::npos) {
cbHw->set_active(1);
}
else {
- this->entry_hardware_clock_default(cmd_default);
+ cbHw->set_active(-1);
}
}
- else if (obj_result.error == 3) {
- if (error != warning_info) {
- warning_info = error;
- }
+ else {
cbHw->set_active(-1);
- this->entry_hardware_clock_default(cmd_default);
}
- else {
- this->entry_hardware_clock_default(cmd_default);
+ if (error != warning_info){
+ warning_info = error;
}
}
@@ -521,13 +524,13 @@ void MainWindow::hardware_clock() {
}
void MainWindow::gui_mess_close() {
- mess_dchp->hide();
+ windowMessDchp->hide();
}
bool MainWindow::focus_ntp(string &cmd_set_ntp) {
if (txtNtpServer->get_text() == "" || txtNtpServer->get_text() == " ") {
lblMessage->set_text(_("Enter DHCP!"));
- mess_dchp->show();
+ windowMessDchp->show();
}
else {
string cmd = "";
@@ -553,14 +556,13 @@ bool MainWindow::focus_ntp(string &cmd_set_ntp) {
else {
if (flag_error == true) {
lblMessage->set_text(_("An invalid character is entered"));
- mess_dchp->show();
+ windowMessDchp->show();
}
else if (flag_error_check_ntp == true) {
lblMessage->set_text(_("Error in the ntp name"));
- mess_dchp->show();
+ windowMessDchp->show();
}
}
-
}
return true;
}
@@ -636,7 +638,7 @@ bool MainWindow::check_ntp(string &str_ntp) {
struct MainWindow::Result MainWindow::wrapper_call(string cmd) {
struct Result obj_result;
- string response=this->call(cmd);
+ string response = this->call(cmd);
if ((response.find("(null)") == std::string::npos) && (response.length() != 0 )) {
if (response.find("=") != std::string::npos) {
if (response.find("\n") != std::string::npos) {
@@ -648,23 +650,30 @@ struct MainWindow::Result MainWindow::wrapper_call(string cmd) {
else {
obj_result.response = response;
obj_result.error = 1;
- warning_info+= 1;
+ warning_info += 1;
+ this->log_mess_error(cmd);
}
}
else {
obj_result.response = response;
obj_result.error = 2;
- warning_info+= 1;
+ warning_info += 1;
+ cmd_error = cmd;
+ this->log_mess_error(cmd);
}
}
else {
obj_result.response = response;
obj_result.error = 3;
- warning_info+= 1;
+ warning_info += 1;
+ cmd_error = cmd;
+ this->log_mess_error(cmd);
}
return obj_result;
}
+
+
void MainWindow::event_entry_cbDhcp() {
string str_dhcp = cbDhcp->get_active_text();
string cmd = "";
@@ -676,8 +685,6 @@ void MainWindow::event_entry_cbDhcp() {
txtNtpServer->set_text("");
btnUpdateDateTime->set_sensitive(false);
txtNtpServer->set_sensitive(false);
-
-
}
else if (activ_index == 1) {
btnUpdateDateTime->set_sensitive(false);
@@ -685,7 +692,7 @@ void MainWindow::event_entry_cbDhcp() {
txtNtpServer->set_text("");
}
else if (activ_index == 2) {
- if (flag_ntp_edit==false) {
+ if (flag_ntp_edit == false) {
txtNtpServer->set_sensitive(true);
}
}
@@ -703,7 +710,6 @@ void MainWindow::save_Dhcp(string &cmd_default, string &cmd_dhcp, string &remove
}
else if (activ_index == 0) {
wrapper_system(cmd_default, "&");
-
}
else if (activ_index == 1) {
wrapper_system(cmd_dhcp, "&");
@@ -752,7 +758,7 @@ void MainWindow::entry_dhcp_mess(string cmd_get_dhcp, string cmd_default_get_dhc
btnUpdateDateTime->set_sensitive(false);
if (str_dhcp == "") {
lblMessage->set_text(_("Enter DHCP!"));
- mess_dchp->show();
+ windowMessDchp->show();
}
else if (str_dhcp == "(null)") {
cbDhcp->set_active(0);
@@ -761,7 +767,7 @@ void MainWindow::entry_dhcp_mess(string cmd_get_dhcp, string cmd_default_get_dhc
else {
cbDhcp->set_active(2);
txtNtpServer->set_text(str_dhcp);
- if (flag_ntp_edit==false) {
+ if (flag_ntp_edit ==false) {
txtNtpServer->set_sensitive(true);
}
}
@@ -772,7 +778,7 @@ void MainWindow::entry_dhcp_mess(string cmd_get_dhcp, string cmd_default_get_dhc
txtNtpServer->set_text("");
txtNtpServer->set_sensitive(false);
btnUpdateDateTime->set_sensitive(true);
- warning_info-= 1;
+ warning_info -= 1;
}
}
@@ -846,8 +852,6 @@ void MainWindow::fill_in_reg_zone(string &cmd) {
}
}
-
-
void MainWindow::get_config() {
this->read_file();
this->update_hour_minute();
@@ -872,19 +876,18 @@ array MainWindow::split_region_zone(string &read_reg_zon_cfg) {
arr[1] = "";
}
return arr;
-
}
void MainWindow::enter_zone(string &cmd) {
int activ_index_reg = cbRegion->get_active_row_number();
- string reg_text=array_region[activ_index_reg];
+ 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;
for (const auto &zone: time_reg_map.at(reg_text)) {
- if (index==activ_index) {
+ if (index == activ_index) {
zone_text=zone;
}
index+= 1;
@@ -957,7 +960,7 @@ void MainWindow::append_region_zone(string region, string zone, Gtk::ComboBoxTex
string zone_mixing = "";
string path_reg_zone = "";
string zone_offest = "";
- path_reg_zone=region + "/" + zone;
+ path_reg_zone = region + "/" + zone;
zone_offest = this->zone_file_read(path_reg_zone) + _(zone.c_str());
if (region == "") {
tmpCbZone->append(" ");
@@ -994,6 +997,7 @@ void MainWindow::append_region_zone(string region, string zone, Gtk::ComboBoxTex
}
}
+
string MainWindow::call(string cmd) {
FILE *fp;
int status;
@@ -1008,8 +1012,7 @@ string MainWindow::call(string cmd) {
status = pclose(fp);
if (status == -1) {
exit(1);
- }
-
+ }
return path;
}
@@ -1018,8 +1021,8 @@ void MainWindow::append_zone() {
int index = cbRegion->get_active_row_number();
if (index!=-1) {
string str_region = array_region[index];
- string zone_mixing= "";
- string path_dir= "";
+ string zone_mixing = "";
+ string path_dir = "";
if(str_region.length() != 0) {
for (const auto &_str_zone : time_reg_map_local.at(str_region)) {
cbZone->append(Glib::ustring(_str_zone));
@@ -1031,6 +1034,7 @@ void MainWindow::append_zone() {
void MainWindow::update_time_date() {
string cmd = "";
+ string response = "";
if ((year != 0) && (month != 0) && (day != 0)) {
string str_month = "";
string str_day = "";
@@ -1078,22 +1082,24 @@ void MainWindow::update_time_date() {
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) {
- }
- }
- else {
+ 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) {
lblMessage->set_text(_("Incorrect date format"));
- mess_dchp->show();
+ windowMessDchp->show();
}
+ }
+ else {
+ lblMessage->set_text(_("Incorrect date format"));
+ windowMessDchp->show();
+ }
}
void MainWindow::update_hour_minute() {
@@ -1227,8 +1233,9 @@ void MainWindow::sort_zone(vector *time_reg_map_local,vector *ti
b = (*time_reg_map)[j];
(*time_reg_map)[j] = (*time_reg_map)[j + 1];
(*time_reg_map)[j + 1] = b;
- } }
- }
+ }
+ }
+ }
}
}
diff --git a/source/ubl-settings-datetime.h b/source/ubl-settings-datetime.h
index ce4b60e..9f32d1f 100755
--- a/source/ubl-settings-datetime.h
+++ b/source/ubl-settings-datetime.h
@@ -15,6 +15,7 @@
#include
#include
#include
+#include