Merge pull request 'master' (#92) from Igor1/ubl-settings-datetime:master into develop

Reviewed-on: #92
pull/94/head
Dmitry Razumov 3 years ago
commit c26475a923

@ -21,7 +21,7 @@ all: init build
init: init:
@echo "Initialize ..."; \ @echo "Initialize ..."; \
sed -r "s/(version_application = ).*/\1\"$$(grep 'VERSION' VERSION.md | cut -d" " -f2)\";/" -i source/ubl-settings-datetime.h; \ sed -r "s/(version_application = ).*/\1\"$$(grep 'VERSION' VERSION.md | cut -d" " -f2)\";/" -i source/ubl-settings-datetime.cc; \
echo "-- Build path: ${CMAKE_BUILD_DIR}" echo "-- Build path: ${CMAKE_BUILD_DIR}"
depend: depend:

@ -32,10 +32,21 @@ $ sudo make uninstall
# Usage # Usage
```sh ```sh
$ ubl-settings-datetime --help $ ubl-settings-datetime --help
Usage: ubl-settings-datetime [--lock-timezone] [--lock-ntp] [--lock-datetime] [--lock-update] GTK settings datetime for UBLinux
Usage: ubl-settings-datetime [OPTIONS...]
Options: Options:
--lock-timezone Disable timezone field editing -h, --help Show this help
--lock-ntp Disable ntp field editing -V, --version Show package version
--lock-datetime Disable datetime field editing --lock-datetime Locking date and time changes
--lock-update Disable save changes --lock-timezone Locking time zone change
--lock-ntp-mode Locking the NTP mode selection
--lock-ntp-edit Blocking the list of NTP servers
--lock-save Locking of local and global configuration saving
--lock-save-local Locking the local configuration save
--lock-save-global Locking the global configuration save
--lock-load-global Lock load global configuration
$ ubl-settings-datetime --version
ubl-settings-datetime version: x.xx
``` ```

Binary file not shown.

Before

Width:  |  Height:  |  Size: 60 KiB

After

Width:  |  Height:  |  Size: 59 KiB

@ -46,9 +46,9 @@ int main(int argc, char* argv[]) {
} }
else if (str_argv.find("-") != std::string::npos || argc == 1){ else if (str_argv.find("-") != std::string::npos || argc == 1){
int len_argv = 1; int len_argv = 1;
pars_flag(1, argc, argv);
auto app = Gtk::Application::create(len_argv, argv, "org.gtkmm.example.plug"); auto app = Gtk::Application::create(len_argv, argv, "org.gtkmm.example.plug");
auto builder = Gtk::Builder::create_from_file(path_glade + "ubl-settings-datetime.glade"); auto builder = Gtk::Builder::create_from_file(path_glade + "ubl-settings-datetime.glade");
pars_flag(1, argc, argv);
MainWindow* wnd = nullptr; MainWindow* wnd = nullptr;
builder->get_widget_derived("window", wnd); builder->get_widget_derived("window", wnd);
auto r = app->run(*wnd); auto r = app->run(*wnd);
@ -67,7 +67,12 @@ void pars_flag(int index_start, int argc, char* argv[]){
str_argv = argv[i]; str_argv = argv[i];
if (str_argv == "--help" || str_argv == "-h"){ if (str_argv == "--help" || str_argv == "-h"){
help(); help();
exit (1); exit(1);
}
else if (str_argv == "--version" || str_argv == "-v"){
string version = string(gettext("ubl-settings-datetime version: ")) + version_application + "\n";
cout << version.c_str();
exit(1);
} }
else if (str_argv == "--lock-datetime"){ else if (str_argv == "--lock-datetime"){
flag_datetime = true; flag_datetime = true;
@ -83,6 +88,8 @@ void pars_flag(int index_start, int argc, char* argv[]){
} }
else if (str_argv == "--lock-save"){ else if (str_argv == "--lock-save"){
flag_save = true; flag_save = true;
flag_save_local = true;
flag_save_global = true;
} }
else if (str_argv == "--lock-save-local"){ else if (str_argv == "--lock-save-local"){
flag_save_local = true; flag_save_local = true;

@ -17,6 +17,7 @@ bool flag_save_global = false;
bool flag_load_global = false; bool flag_load_global = false;
int socket_ext_id_I = 0; int socket_ext_id_I = 0;
int socket_trd_id_I = 0; int socket_trd_id_I = 0;
string version_application = "1.4";
CmdArgParser::CmdArgParser(const std::string& p_name, const std::string& p_description, const std::string& p_help) 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} {
@ -53,32 +54,33 @@ MainWindow::MainWindow(Glib::RefPtr<Gtk::Builder> const& builder) {
void MainWindow::settings() { void MainWindow::settings() {
map_error["xdg-open https://wiki.ublinux.ru/ru/home"] = string(_(": \"xdg-open\"")); 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["ubconfig --default --source system get clock ZONE"] = string(_(": \"Time Zone\""));
map_error["hwclock --systohc"] = string(_(": \"Hardware time\"")); map_error["hwclock --systohc"] = string(_(": \"Hardware time\""));
map_error["/usr/bin/ubconfig --default --source system get network NTPSERVERS"] = string(_(": \"NTP\"")); map_error["ubconfig --default --source system get network NTPSERVERS"] = string(_(": \"NTP\""));
map_error["/usr/bin/ubconfig --source=default get NTPSERVERS_DEFAULT"] = string(_(": \"NTP\"")); map_error["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["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["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["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["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["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["ubconfig --target system set clock ZONE="] = string(_(": \"Time Zone\""));
map_error["/usr/bin/ubconfig --target system set network NTPSERVERS=default"] = string(_(": \"NTP\"")); map_error["ubconfig --target system set network NTPSERVERS=default"] = string(_(": \"NTP\""));
map_error["/usr/bin/ubconfig --target system set network NTPSERVERS=dhcp"] = string(_(": \"NTP\"")); map_error["ubconfig --target system set network NTPSERVERS=dhcp"] = string(_(": \"NTP\""));
map_error["/usr/bin/ubconfig --target system set network NTPSERVERS=\""] = string(_(": \"NTP\"")); map_error["ubconfig --target system set network NTPSERVERS=\""] = string(_(": \"NTP\""));
map_error["/usr/bin/ubconfig --target system remove network NTPSERVERS"] = string(_(": \"NTP\"")); map_error["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["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["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["ubconfig --target global set clock ZONE="] = string(_(": \"Time Zone\""));
map_error["/usr/bin/ubconfig --target global set network NTPSERVERS=default"] = string(_(": \"NTP\"")); map_error["ubconfig --target global set network NTPSERVERS=default"] = string(_(": \"NTP\""));
map_error["/usr/bin/ubconfig --target global set network NTPSERVERS=dhcp"] = string(_(": \"NTP\"")); map_error["ubconfig --target global set network NTPSERVERS=dhcp"] = string(_(": \"NTP\""));
map_error["/usr/bin/ubconfig --target global set network NTPSERVERS=\""] = string(_(": \"NTP\"")); map_error["ubconfig --target global set network NTPSERVERS=\""] = string(_(": \"NTP\""));
map_error["/usr/bin/ubconfig --target global remove network NTPSERVERS"] = string(_(": \"NTP\"")); map_error["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["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["ubconfig --target global set clock HWCLOCK_SYNC=utc"] = string(_(": \"Hardware time\""));
map_error["ubconfig --source default get [] NTPSERVERS_DEFAULT"] = string(_(": \"NTP\""));
map_error["date +%Y%m%d -s \""] = string(_(": \"Date\"")); map_error["date +%Y%m%d -s \""] = string(_(": \"Date\""));
map_error["date +%T -s \""] = string(_(": \"Date\"")); map_error["date +%T -s \""] = string(_(": \"Date\""));
map_error["/usr/bin/ubconfig --source default get clock HWCLOCK_SYNC"] = string(_(": \"Hardware time\"")); map_error["ubconfig --source default get clock HWCLOCK_SYNC"] = string(_(": \"Hardware time\""));
this->get_builder(); this->get_builder();
this->add_CSS(); this->add_CSS();
ubl_make_plugs(boxSave,boxButton, socket_ext_id_I, socket_trd_id_I); ubl_make_plugs(boxSave,boxButton, socket_ext_id_I, socket_trd_id_I);
@ -86,7 +88,7 @@ void MainWindow::settings() {
month = 0; month = 0;
day = 0; day = 0;
this->lacalization(); this->lacalization();
if (this->check_root() == 0) { if (geteuid() == 0) {
numTimeHrs->set_range(0, 23); numTimeHrs->set_range(0, 23);
numTimeMin->set_range(0, 59); numTimeMin->set_range(0, 59);
numTimeHrs->set_increments(1.0, 1.0); numTimeHrs->set_increments(1.0, 1.0);
@ -97,31 +99,15 @@ void MainWindow::settings() {
this->event(); this->event();
this->parse_text_date(); this->parse_text_date();
this->load_local_cfg(); this->load_local_cfg();
string cmd = "ubconfig --source default get [] NTPSERVERS_DEFAULT";
default_get_dhcp = this->get_ubconfig_value(cmd);
this->str_remove(default_get_dhcp, "\"");
} }
else { else {
lblHW->set_sensitive(false); lblHW->set_sensitive(false);
cbHw->set_sensitive(false); boxWidgetFunc->set_sensitive(false);
boxButton->set_sensitive(false); boxButton->set_sensitive(false);
boxSave->set_sensitive(false); btnSave->set_sensitive(false);
btnLoad->set_sensitive(false);
numTimeHrs->set_sensitive(false);
numTimeMin->set_sensitive(false);
lblTime->set_sensitive(false);
lblData->set_sensitive(false);
txtDate->set_sensitive(false);
btnChooseDate->set_sensitive(false);
btnUpdateDateTime->set_sensitive(false);
btnHardwareTime->set_sensitive(false);
cbRegion->set_sensitive(false);
cbZone->set_sensitive(false);
lblReg->set_sensitive(false);
lblZone->set_sensitive(false);
lblTimeZone->set_sensitive(false);
lblSynchronizebChkGLob->set_sensitive(false);
cbDhcp->set_sensitive(false);
txtNtpServer->set_sensitive(false);
lblDateTimeSetting->set_sensitive(false);
btnBoxAboutDialog->set_visible(false);
this->event(); this->event();
imgInfo->set_from_icon_name("ru.ublinux.ubl-settings-datetime.warning", Gtk::ICON_SIZE_MENU); imgInfo->set_from_icon_name("ru.ublinux.ubl-settings-datetime.warning", Gtk::ICON_SIZE_MENU);
info_status_app("boxInfoMessError"); info_status_app("boxInfoMessError");
@ -129,16 +115,6 @@ void MainWindow::settings() {
} }
} }
int MainWindow::check_root() {
if (geteuid() != 0) {
lblMessageSudo->set_text(_("The program must be run as root"));
windowMessSudo->show();
return 1;
}
return 0;
}
void MainWindow::lacalization() { void MainWindow::lacalization() {
time_t now = time(0); time_t now = time(0);
tm *ltm = localtime(&now); tm *ltm = localtime(&now);
@ -153,26 +129,45 @@ void MainWindow::lacalization() {
lblLoad->set_label(_("Load")); lblLoad->set_label(_("Load"));
txtDate->set_tooltip_text(_("Date of\nFormat: DD.MM.YYYY")); 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.")); 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:")); lblSynchronizebChkGLob->set_text(_("Synchronize via NTP"));
cbDhcp->append(_("Default")); cbDhcp->append(_("Default"));
cbDhcp->append(_("DHCP")); cbDhcp->append(_("DHCP"));
cbDhcp->append(_("Manual")); cbDhcp->append(_("Manual"));
cbDhcp->append(_("Disabled")); cbDhcp->append(_("Disabled"));
lblDateTimeSetting->set_text(_("Current date and time")); lblDateTimeSetting->set_text(_("Current date and time"));
lblHead->set_text(_("Setting the date and time")); lblHead->set_text(_("Setting the date and time"));
lblTime->set_text(_("Time")); lblTime->set_text(_("Time:"));
lblData->set_text(_("Date")); lblData->set_text(_("Date:"));
lblTimeZone->set_text(_("Time zone")); lblTimeZone->set_text(_("Time zone"));
lblReg->set_text(_("Region")); lblReg->set_text(_("Region:"));
lblZone->set_text(_("Zone")); lblZone->set_text(_("Zone:"));
lblSynchronizeBtn->set_text(_("Sync by")); lblSynchronizeBtn->set_text(_("Sync by"));
lblHeader->set_text(_("ubl-settings-datetime")); lblHeader->set_text(_("ubl-settings-datetime"));
windowMessSudo->set_title(_("Warning!"));
windowMessDchp->set_title(_("Warning!")); windowMessDchp->set_title(_("Warning!"));
lblTimeBios->set_text(_("Synchronize hardware time")); lblTimeBios->set_text(_("Synchronize hardware time"));
lblHW->set_text(_("Synchronize hardware time:")); lblHW->set_text(_("Synchronize hardware time:"));
cbHw->append(_("Local time")); array_hw_local[0] = _("UTC time");
cbHw->append(_("UTC time")); array_hw_local[1] = _("Local time");
array_hw[0] = "utc";
array_hw[1] = "localtime";
this->bubble_sort(array_hw, array_hw_local, 2);
cbHw->append(array_hw_local[0]);
cbHw->append(array_hw_local[1]);
}
void MainWindow::bubble_sort(string arr[],string arr_local[], int len_arr) {
while(len_arr--) {
bool swapped = false;
for(int i = 0; i < len_arr; i++) {
if(arr_local[i] > arr_local[i + 1]) {
swap(arr[i], arr[i + 1]);
swap(arr_local[i], arr_local[i + 1]);
swapped = true;
}
}
if(swapped == false)
break;
}
} }
void MainWindow::flag_block_gui() { void MainWindow::flag_block_gui() {
@ -202,14 +197,19 @@ void MainWindow::flag_block_gui() {
if (flag_load_global == true) { if (flag_load_global == true) {
btnLoadGlob->set_sensitive(false); btnLoadGlob->set_sensitive(false);
} }
if (flag_save_local == true && flag_save_global == true) {
btnSave->set_sensitive(false);
}
if (flag_save == true) { if (flag_save == true) {
btnSave->set_sensitive(false); btnSave->set_sensitive(false);
} }
if (flag_save_local == true) { if (flag_save_local == true) {
btnSaveLocal->set_sensitive(false); btnSaveLocal->set_sensitive(false);
btnSaveLocalGlob->set_sensitive(false);
} }
if (flag_save_global == true) { if (flag_save_global == true) {
btnSaveGlob->set_sensitive(false); btnSaveGlob->set_sensitive(false);
btnSaveLocalGlob->set_sensitive(false);
} }
} }
@ -225,10 +225,12 @@ void MainWindow::add_CSS() {
Glib::RefPtr<Gtk::StyleContext> boxButton_css = boxButton->get_style_context(); Glib::RefPtr<Gtk::StyleContext> boxButton_css = boxButton->get_style_context();
Glib::RefPtr<Gtk::StyleContext> boxSave_css = boxSave->get_style_context(); Glib::RefPtr<Gtk::StyleContext> boxSave_css = boxSave->get_style_context();
Glib::RefPtr<Gtk::StyleContext> headerBar_css = headerBar->get_style_context(); Glib::RefPtr<Gtk::StyleContext> headerBar_css = headerBar->get_style_context();
if (socket_trd_id_I == 0 && socket_ext_id_I == 0){
boxButton_css->add_class("bkim_no_plug");
boxSave_css->add_class("bkim_no_plug");
}
lblHead_css->add_class("textHead"); lblHead_css->add_class("textHead");
boxButton_css->add_class("bkimButton");
boxSave_css->add_class("bkimButton");
headerBar_css->add_class("bkimHeadBar");
} }
@ -266,7 +268,6 @@ void MainWindow::get_builder() {
builder->get_widget("lblSynchronizeBtn", lblSynchronizeBtn); builder->get_widget("lblSynchronizeBtn", lblSynchronizeBtn);
builder->get_widget("lblTimeBios", lblTimeBios); builder->get_widget("lblTimeBios", lblTimeBios);
builder->get_widget("btnHardwareTime",btnHardwareTime); builder->get_widget("btnHardwareTime",btnHardwareTime);
builder->get_widget("windowMessSudo",windowMessSudo);
builder->get_widget("lblMessageSudo", lblMessageSudo); builder->get_widget("lblMessageSudo", lblMessageSudo);
builder->get_widget("btnMessCloseSudo",btnMessCloseSudo); builder->get_widget("btnMessCloseSudo",btnMessCloseSudo);
builder->get_widget("lblSave", lblSave); builder->get_widget("lblSave", lblSave);
@ -300,17 +301,12 @@ void MainWindow::get_builder() {
builder->get_widget("imgLoad", imgLoad); builder->get_widget("imgLoad", imgLoad);
builder->get_widget("imgSettings", imgSettings); builder->get_widget("imgSettings", imgSettings);
builder->get_widget("imgSave", imgSave); builder->get_widget("imgSave", imgSave);
} builder->get_widget("boxWidgetFunc", boxWidgetFunc);
void MainWindow::gui_exit() {
exit(1);
} }
bool MainWindow::gui_exit_2(GdkEventAny* event) { void MainWindow::gui_exit() {
if (event != NULL) {
}
exit(1); exit(1);
return true;
} }
void MainWindow::event() { void MainWindow::event() {
@ -323,7 +319,6 @@ void MainWindow::event() {
cbDhcp->signal_changed().connect(sigc::mem_fun(*this, &MainWindow::event_entry_cbDhcp)); cbDhcp->signal_changed().connect(sigc::mem_fun(*this, &MainWindow::event_entry_cbDhcp));
cbRegion->signal_changed().connect(sigc::mem_fun(*this, &MainWindow::append_zone)); 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)); cldrDate->signal_day_selected_double_click().connect(sigc::mem_fun(*this, &MainWindow::get_calendar));
windowMessSudo->signal_delete_event().connect(sigc::mem_fun(*this, &MainWindow::gui_exit_2));
btnAbout->signal_activate().connect([&]() {aboutWindows->show();}); btnAbout->signal_activate().connect([&]() {aboutWindows->show();});
btnSynopsis->signal_activate().connect(sigc::mem_fun(*this, &MainWindow::synopsis_show)); btnSynopsis->signal_activate().connect(sigc::mem_fun(*this, &MainWindow::synopsis_show));
btnLoadLocal->signal_activate().connect(sigc::mem_fun(*this, &MainWindow::load_local_cfg)); btnLoadLocal->signal_activate().connect(sigc::mem_fun(*this, &MainWindow::load_local_cfg));
@ -335,65 +330,81 @@ void MainWindow::event() {
void MainWindow::synopsis_show() { void MainWindow::synopsis_show() {
int start_error = error_info; int start_error = error_info;
wrapper_system("xdg-open https://wiki.ublinux.ru/ru/home", "&"); string cmd = "xdg-open " + string(_("https://wiki.ublinux.com/ru/Программное_обеспечениерограммы_и_утилиты/Все/")) + app_name;
//gtk_show_uri_on_window(NULL, "https://wiki.ublinux.ru/ru/home", 0, 0); wrapper_system(cmd, "&");
if (start_error != error_info) { if (start_error != error_info) {
error_info = start_error; error_info = start_error;
} }
} }
void MainWindow::load_local_cfg() { void MainWindow::load_local_cfg() {
string cmd = "/usr/bin/ubconfig --default --source system get clock ZONE"; string cmd = "ubconfig --default --source system get clock ZONE";
this->fill_in_reg_zone(cmd); this->fill_in_reg_zone(cmd);
this->update_hour_minute(); this->update_hour_minute();
this->update_calendar(); this->update_calendar();
string cmd_get_dhcp = "/usr/bin/ubconfig --default --source system get network NTPSERVERS"; string cmd_get_dhcp = "ubconfig --default --source system get network NTPSERVERS";
string cmd_default_get_dhcp = "/usr/bin/ubconfig --source=default get NTPSERVERS_DEFAULT"; string cmd_default_get_dhcp = "ubconfig --source default get [] NTPSERVERS_DEFAULT";
this->entry_dhcp_mess(cmd_get_dhcp, cmd_default_get_dhcp); 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 = "ubconfig --default --source system get clock HWCLOCK_SYNC";
this->entry_hardware_clock(hw); this->get_hardware_clock(hw);
flag_load = false;
info_warning_error(0); info_warning_error(0);
} }
void MainWindow::load_globl_cfg() { void MainWindow::load_globl_cfg() {
string cmd_get_dhcp = "/usr/bin/ubconfig --default --source global get network NTPSERVERS"; string cmd_get_dhcp = "ubconfig --default --source global get network NTPSERVERS";
string cmd_default_get_dhcp = "/usr/bin/ubconfig --source=default get NTPSERVERS_DEFAULT"; string cmd_default_get_dhcp = "ubconfig --source default get [] NTPSERVERS_DEFAULT";
this->entry_dhcp_mess(cmd_get_dhcp, cmd_default_get_dhcp); this->entry_dhcp_mess(cmd_get_dhcp, cmd_default_get_dhcp);
string cmd_zone = "/usr/bin/ubconfig --default --source global get clock ZONE"; string cmd_zone = "ubconfig --default --source global get clock ZONE";
this->fill_in_reg_zone(cmd_zone); this->fill_in_reg_zone(cmd_zone);
string hw = "/usr/bin/ubconfig --source global get clock HWCLOCK_SYNC"; string hw = "ubconfig --source global get clock HWCLOCK_SYNC";
this->entry_hardware_clock(hw); this->get_hardware_clock(hw);
flag_load = true;
info_warning_error(1); info_warning_error(1);
} }
void MainWindow::save_local_cfg() { void MainWindow::save_local_cfg() {
string cmd_zone = "/usr/bin/ubconfig --target system set clock ZONE="; string cmd_zone = "ubconfig --target system set clock ZONE=";
this->enter_zone(cmd_zone); this->enter_zone(cmd_zone);
string cmd_default = "/usr/bin/ubconfig --target system set network NTPSERVERS=default"; string cmd_default = "ubconfig --target system set network NTPSERVERS=default";
string cmd_dhcp = "/usr/bin/ubconfig --target system set network NTPSERVERS=dhcp"; string cmd_dhcp = "ubconfig --target system set network NTPSERVERS=dhcp";
string cmd_set_ntp = "/usr/bin/ubconfig --target system set network NTPSERVERS=\""; string cmd_set_ntp = "ubconfig --target system set network NTPSERVERS=\"";
string remove_ntp = "/usr/bin/ubconfig --target system remove network NTPSERVERS"; string remove_ntp = "ubconfig --target system remove network NTPSERVERS";
this->save_Dhcp(cmd_default, cmd_dhcp, remove_ntp, cmd_set_ntp); 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 local = "ubconfig --target system set clock HWCLOCK_SYNC=localtime";
string hw = "/usr/bin/ubconfig --target system set clock HWCLOCK_SYNC=utc"; string hw = "ubconfig --target system set clock HWCLOCK_SYNC=utc";
this->entry_hardware_clock(hw); this->set_hardware_clock(local, hw);
info_warning_error(2); info_warning_error(2);
} }
void MainWindow::save_global_cfg() { void MainWindow::save_global_cfg() {
string cmd = "/usr/bin/ubconfig --target global set clock ZONE="; string cmd = "ubconfig --target global set clock ZONE=";
this->enter_zone(cmd); this->enter_zone(cmd);
string cmd_default = "/usr/bin/ubconfig --target global set network NTPSERVERS=default"; string cmd_default = "ubconfig --target global set network NTPSERVERS=default";
string cmd_dhcp = "/usr/bin/ubconfig --target global set network NTPSERVERS=dhcp"; string cmd_dhcp = "ubconfig --target global set network NTPSERVERS=dhcp";
string cmd_set_ntp = "/usr/bin/ubconfig --target global set network NTPSERVERS=\""; string cmd_set_ntp = "ubconfig --target global set network NTPSERVERS=\"";
string remove_ntp = "/usr/bin/ubconfig --target global remove network NTPSERVERS"; string remove_ntp = "ubconfig --target global remove network NTPSERVERS";
this->save_Dhcp(cmd_default, cmd_dhcp, remove_ntp, cmd_set_ntp); 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 local = "ubconfig --target global set clock HWCLOCK_SYNC=localtime";
string hw = "/usr/bin/ubconfig --target global set clock HWCLOCK_SYNC=utc"; string hw = "ubconfig --target global set clock HWCLOCK_SYNC=utc";
this->hardware_clock_global(local, hw); this->set_hardware_clock(local, hw);
info_warning_error(3); info_warning_error(3);
} }
string MainWindow::get_ubconfig_value(string &cmd){
struct Result<string> obj_result = this->wrapper_call(cmd);
if (obj_result.error == 0) {
return obj_result.response;
}
else {
if (obj_result.error != 0) {
warning_info-= 1;
}
return "";
}
}
void MainWindow::save_global_local_cfg() { void MainWindow::save_global_local_cfg() {
string cmd = ""; string cmd = "";
string cmd_default = ""; string cmd_default = "";
@ -485,26 +496,41 @@ void MainWindow::log_mess_error(string &cmd){
} }
} }
void MainWindow::hardware_clock_global(string &local, string &etc) { void MainWindow::set_hardware_clock(string &local, string &etc) {
int index = cbHw->get_active_row_number(); string str_hw = cbHw->get_active_text();
if (index == 0) { for (int index = 0; index < 2; index++) {
if (array_hw_local[index] == str_hw){
if (array_hw[index] == "utc"){
wrapper_system(etc, "&");
}
else{
wrapper_system(local, "&"); wrapper_system(local, "&");
} }
else if (index == 1) { }
wrapper_system(etc, "&");
} }
} }
void MainWindow::entry_hardware_clock(string &cmd) { void MainWindow::get_hardware_clock(string &cmd) {
int error = warning_info; int error = warning_info;
struct Result<string> obj_result = this->wrapper_call(cmd); struct Result<string> obj_result = this->wrapper_call(cmd);
if (obj_result.error == 0) { if (obj_result.error == 0) {
if (obj_result.response.find("localtime") != string::npos) { if (obj_result.response.find("localtime") != string::npos) {
if (array_hw[0] == "localtime"){
cbHw->set_active(0); cbHw->set_active(0);
} }
else{
cbHw->set_active(1);
}
}
else if (obj_result.response.find("utc") != string::npos) { else if (obj_result.response.find("utc") != string::npos) {
if (array_hw[0] == "utc"){
cbHw->set_active(0);
}
else{
cbHw->set_active(1); cbHw->set_active(1);
} }
}
else { else {
cbHw->set_active(-1); cbHw->set_active(-1);
} }
@ -682,24 +708,36 @@ void MainWindow::event_entry_cbDhcp() {
cbDhcp->set_active(0); cbDhcp->set_active(0);
} }
else if (activ_index == 0) { else if (activ_index == 0) {
txtNtpServer->set_text(""); txtNtpServer->set_text(default_get_dhcp);
btnUpdateDateTime->set_sensitive(false);
txtNtpServer->set_sensitive(false); txtNtpServer->set_sensitive(false);
} }
else if (activ_index == 1) { else if (activ_index == 1) {
btnUpdateDateTime->set_sensitive(false); // btnUpdateDateTime->set_sensitive(false);
txtNtpServer->set_sensitive(false); txtNtpServer->set_sensitive(false);
txtNtpServer->set_text(""); txtNtpServer->set_text("");
} }
else if (activ_index == 2) { else if (activ_index == 2) {
txtNtpServer->set_text("");
if (flag_ntp_edit == false) { if (flag_ntp_edit == false) {
string cmd = "";
if (flag_load == false) {
cmd = "ubconfig --default --source system get network NTPSERVERS";
}
else{
cmd = "ubconfig --default --source global get network NTPSERVERS";
}
string response = this->get_ubconfig_value(cmd);
if (response != "dhcp" && response != "default"){
txtNtpServer->set_text(response);
}
txtNtpServer->set_sensitive(true); txtNtpServer->set_sensitive(true);
} }
} }
else if (activ_index == 3) { else if (activ_index == 3) {
txtNtpServer->set_text(""); txtNtpServer->set_text("");
txtNtpServer->set_sensitive(false); txtNtpServer->set_sensitive(false);
btnUpdateDateTime->set_sensitive(true); // btnUpdateDateTime->set_sensitive(true);
} }
} }
@ -731,7 +769,7 @@ void MainWindow::entry_dhcp_mess(string cmd_get_dhcp, string cmd_default_get_dhc
struct Result<string> obj_result = this->wrapper_call(cmd); struct Result<string> obj_result = this->wrapper_call(cmd);
if (obj_result.error== 0) { if (obj_result.error== 0) {
string str_dhcp = obj_result.response; string str_dhcp = obj_result.response;
btnUpdateDateTime->set_sensitive(false); // btnUpdateDateTime->set_sensitive(false);
str_dhcp = str_dhcp.substr(str_dhcp.find("=")+1,str_dhcp.length()); str_dhcp = str_dhcp.substr(str_dhcp.find("=")+1,str_dhcp.length());
str_dhcp = str_dhcp.substr(0,str_dhcp.find("\n")); str_dhcp = str_dhcp.substr(0,str_dhcp.find("\n"));
if (str_dhcp == "dhcp") { if (str_dhcp == "dhcp") {
@ -740,7 +778,7 @@ void MainWindow::entry_dhcp_mess(string cmd_get_dhcp, string cmd_default_get_dhc
txtNtpServer->set_sensitive(false); txtNtpServer->set_sensitive(false);
} }
else if (str_dhcp == "default") { else if (str_dhcp == "default") {
btnUpdateDateTime->set_sensitive(false); // btnUpdateDateTime->set_sensitive(false);
cbDhcp->set_active(0); cbDhcp->set_active(0);
cmd = cmd_default_get_dhcp; cmd = cmd_default_get_dhcp;
struct Result<string> obj_result = this->wrapper_call(cmd); struct Result<string> obj_result = this->wrapper_call(cmd);
@ -755,7 +793,7 @@ void MainWindow::entry_dhcp_mess(string cmd_get_dhcp, string cmd_default_get_dhc
} }
} }
else { else {
btnUpdateDateTime->set_sensitive(false); // btnUpdateDateTime->set_sensitive(false);
if (str_dhcp == "") { if (str_dhcp == "") {
lblMessage->set_text(_("Enter DHCP!")); lblMessage->set_text(_("Enter DHCP!"));
windowMessDchp->show(); windowMessDchp->show();
@ -777,7 +815,7 @@ void MainWindow::entry_dhcp_mess(string cmd_get_dhcp, string cmd_default_get_dhc
cbDhcp->set_active(3); cbDhcp->set_active(3);
txtNtpServer->set_text(""); txtNtpServer->set_text("");
txtNtpServer->set_sensitive(false); txtNtpServer->set_sensitive(false);
btnUpdateDateTime->set_sensitive(true); // btnUpdateDateTime->set_sensitive(true);
warning_info -= 1; warning_info -= 1;
} }
} }
@ -1056,7 +1094,7 @@ void MainWindow::update_time_date() {
string str_data_entry = txtDate->get_text(); string str_data_entry = txtDate->get_text();
if (str_data == str_data_entry) { if (str_data == str_data_entry) {
cmd = "date +%Y%m%d -s \"" + to_string(year)+ cmd = "date +%Y%m%d -s \"" + to_string(year)+
str_month+str_day + "\""; str_month + str_day + "\"";
wrapper_system(cmd); wrapper_system(cmd);
txtDate->set_text(str_data); txtDate->set_text(str_data);
year = 0; year = 0;
@ -1296,11 +1334,23 @@ SettingsPlug::SettingsPlug(::Window p_socketID, Glib::RefPtr<Gtk::Builder> build
} }
void help() { void help() {
g_print(gettext("Usage: ubl-settings-datetime [--lock-timezone] [--lock-ntp] [--lock-datetime] [--lock-update]\n")); string version = string(gettext("ubl-settings-datetime version: ")) + version_application + "\n";
g_print(gettext("Options:\n")); cout << version.c_str();
g_print(gettext(" --lock-timezone Disable timezone field editing\n")); string help;
g_print(gettext(" --lock-ntp Disable ntp field editing\n")); help = "GTK settings datetime for UBLinux\n\n"
g_print(gettext(" --lock-datetime Disable datetime field editing\n")); "Usage: ubl-settings-datetime [OPTIONS...]\n"
g_print(gettext(" --lock-update Disable save changes\n")); "Options:\n"
" -h, --help Show this help\n"
" -V, --version Show package version\n"
" --lock-datetime Lock date and time changes\n"
" --lock-timezone Lock time zone changes\n"
" --lock-ntp-mode Lock NTP mode selection\n"
" --lock-ntp-edit Lock editing NTP servers\n"
" --lock-save Lock saving local and global configuration\n"
" --lock-save-local Lock save global configuration\n"
" --lock-save-global Lock load global configuration\n"
" --lock-load-global Lock load global configuration\n";
cout << gettext(help.c_str());
} }

@ -36,8 +36,8 @@ extern bool flag_save_global;
extern bool flag_load_global; extern bool flag_load_global;
extern int socket_ext_id_I; extern int socket_ext_id_I;
extern int socket_trd_id_I; extern int socket_trd_id_I;
class CmdArgParser : public Glib::OptionGroup extern string version_application;
{ class CmdArgParser : public Glib::OptionGroup {
public: public:
CmdArgParser(const std::string& p_name, const std::string& p_description, const std::string& p_help); CmdArgParser(const std::string& p_name, const std::string& p_description, const std::string& p_help);
::Window GetSocketID() const; ::Window GetSocketID() const;
@ -56,12 +56,10 @@ class MainWindow : public Gtk::ApplicationWindow {
Gtk::ComboBoxText *cbDhcp; Gtk::ComboBoxText *cbDhcp;
Gtk::SpinButton *numTimeHrs; Gtk::SpinButton *numTimeHrs;
Gtk::SpinButton *numTimeMin; Gtk::SpinButton *numTimeMin;
Gtk::CheckButton *cbxSynchronizeNtpGlob;
Gtk::Box *boxColor; Gtk::Box *boxColor;
Gtk::ComboBoxText *cbRegion; Gtk::ComboBoxText *cbRegion;
Gtk::ComboBoxText *cbZone; Gtk::ComboBoxText *cbZone;
Gtk::Window *windowMessDchp; Gtk::Window *windowMessDchp;
Gtk::Window *windowMessSudo;
Gtk::Popover *popCalendar; Gtk::Popover *popCalendar;
Gtk::Calendar *cldrDate; Gtk::Calendar *cldrDate;
Gtk::Label *lblMessage; Gtk::Label *lblMessage;
@ -88,7 +86,7 @@ class MainWindow : public Gtk::ApplicationWindow {
Gtk::Button *btnSettings; Gtk::Button *btnSettings;
Gtk::AboutDialog *aboutWindows; Gtk::AboutDialog *aboutWindows;
Gtk::ButtonBox *btnBoxAboutDialog; Gtk::ButtonBox *btnBoxAboutDialog;
Gtk::Box *boxWidgetFunc;
Gtk::Box *boxInfoError; Gtk::Box *boxInfoError;
Gtk::Label *lblWarning; Gtk::Label *lblWarning;
Gtk::Image *imgInfo; Gtk::Image *imgInfo;
@ -114,11 +112,13 @@ class MainWindow : public Gtk::ApplicationWindow {
Gtk::Image *imgLoad; Gtk::Image *imgLoad;
Gtk::Image *imgSave; Gtk::Image *imgSave;
Gtk::Image *imgSettings; Gtk::Image *imgSettings;
string array_hw[2];
string array_hw_local[2];
bool flag_load = false;
unsigned int year = 0; unsigned int year = 0;
unsigned int month = 0; unsigned int month = 0;
unsigned int day = 0; unsigned int day = 0;
string version_application = "1.4"; string default_get_dhcp = "";
int error_info = 0; int error_info = 0;
int warning_info = 0; int warning_info = 0;
string cmd_error = ""; string cmd_error = "";
@ -140,14 +140,15 @@ class MainWindow : public Gtk::ApplicationWindow {
MainWindow(Glib::RefPtr<Gtk::Builder> const& builder); MainWindow(Glib::RefPtr<Gtk::Builder> const& builder);
virtual ~MainWindow() = default; virtual ~MainWindow() = default;
void log_mess_error(string &cmd); void log_mess_error(string &cmd);
void hardware_clock_global(string &local, string &etc); void set_hardware_clock(string &local, string &etc);
void info_warning_error(int mess); void info_warning_error(int mess);
void synopsis_show(); void synopsis_show();
void entry_hardware_clock(string &cmd); void get_hardware_clock(string &cmd);
void save_global_local_cfg(); void save_global_local_cfg();
void fill_in_reg_zone(string &cmd); void fill_in_reg_zone(string &cmd);
void load_globl_cfg(); void load_globl_cfg();
void save_local_cfg(); void save_local_cfg();
string get_ubconfig_value(string &cmd);
void save_global_cfg(); void save_global_cfg();
void save_Dhcp(string &cmd_default, string &cmd_dhcp, string &remove, string &cmd_set_ntp); void save_Dhcp(string &cmd_default, string &cmd_dhcp, string &remove, string &cmd_set_ntp);
void load_local_cfg(); void load_local_cfg();
@ -172,15 +173,14 @@ class MainWindow : public Gtk::ApplicationWindow {
void append_zone(); void append_zone();
void append_zone_glob(); void append_zone_glob();
void update_time_date(); void update_time_date();
void bubble_sort(string arr[],string arr_local[], int len_arr);
void update_hour_minute(); void update_hour_minute();
void update_calendar(); void update_calendar();
void read_file(); void read_file();
void parse_text_date(); void parse_text_date();
void hardware_clock(); void hardware_clock();
void set_ntp_toggle_glob(); void set_ntp_toggle_glob();
int check_root();
void gui_exit(); void gui_exit();
bool gui_exit_2(GdkEventAny* event);
void wind_close_ntp(); void wind_close_ntp();
void wrapper_system(string cmd, string thread_str); void wrapper_system(string cmd, string thread_str);
void info_status_app(string stule); void info_status_app(string stule);

@ -44,6 +44,14 @@ inline void ubl_make_plugs(Gtk::Widget *LeftWidget, Gtk::Widget *RightWidget, in
if (left_plug_id>0&&LeftWidget){ if (left_plug_id>0&&LeftWidget){
GtkWidget *plug=gtk_plug_new(left_plug_id); GtkWidget *plug=gtk_plug_new(left_plug_id);
GtkWidget *toplug=GTK_WIDGET(LeftWidget->gobj()); GtkWidget *toplug=GTK_WIDGET(LeftWidget->gobj());
{GdkScreen *screen = gtk_widget_get_screen(plug);
gtk_widget_set_app_paintable(plug,TRUE);
GdkVisual *colormap = gdk_screen_get_rgba_visual(screen);
gtk_widget_set_visual(plug, colormap);}
{GdkScreen *screen = gtk_widget_get_screen(toplug);
gtk_widget_set_app_paintable(toplug,TRUE);
GdkVisual *colormap = gdk_screen_get_rgba_visual(screen);
gtk_widget_set_visual(toplug, colormap);}
if (gtk_widget_get_parent(GTK_WIDGET(toplug))){ if (gtk_widget_get_parent(GTK_WIDGET(toplug))){
g_object_ref(G_OBJECT(toplug)); g_object_ref(G_OBJECT(toplug));
GtkWidget *parent=gtk_widget_get_parent(toplug); GtkWidget *parent=gtk_widget_get_parent(toplug);
@ -52,16 +60,21 @@ inline void ubl_make_plugs(Gtk::Widget *LeftWidget, Gtk::Widget *RightWidget, in
} else } else
gtk_container_add(GTK_CONTAINER(plug),GTK_WIDGET(toplug)); gtk_container_add(GTK_CONTAINER(plug),GTK_WIDGET(toplug));
gtk_widget_show(GTK_WIDGET(plug)); gtk_widget_show(GTK_WIDGET(plug));
gtk_style_context_remove_class(gtk_widget_get_style_context(plug),"bkimButton"); gtk_style_context_add_class(gtk_widget_get_style_context(plug),"bkim");
gtk_style_context_remove_class(gtk_widget_get_style_context(toplug),"bkimButton"); gtk_style_context_add_class(gtk_widget_get_style_context(toplug),"bkim");
gtk_style_context_add_class(gtk_widget_get_style_context(plug),"noborder");
gtk_style_context_add_class(gtk_widget_get_style_context(toplug),"button");
gtk_style_context_add_class(gtk_widget_get_style_context(plug),"button");
gtk_style_context_add_class(gtk_widget_get_style_context(plug),"primary-toolbar"); gtk_style_context_add_class(gtk_widget_get_style_context(plug),"primary-toolbar");
} }
if (right_plug_id>0&&RightWidget){ if (right_plug_id>0&&RightWidget){
GtkWidget *plug=gtk_plug_new(right_plug_id); GtkWidget *plug=gtk_plug_new(right_plug_id);
GtkWidget *toplug=GTK_WIDGET(RightWidget->gobj()); GtkWidget *toplug=GTK_WIDGET(RightWidget->gobj());
{GdkScreen *screen = gtk_widget_get_screen(plug);
gtk_widget_set_app_paintable(plug,TRUE);
GdkVisual *colormap = gdk_screen_get_rgba_visual(screen);
gtk_widget_set_visual(plug, colormap);}
{GdkScreen *screen = gtk_widget_get_screen(toplug);
gtk_widget_set_app_paintable(toplug,TRUE);
GdkVisual *colormap = gdk_screen_get_rgba_visual(screen);
gtk_widget_set_visual(toplug, colormap);}
if (gtk_widget_get_parent(GTK_WIDGET(toplug))){ if (gtk_widget_get_parent(GTK_WIDGET(toplug))){
g_object_ref(G_OBJECT(toplug)); g_object_ref(G_OBJECT(toplug));
GtkWidget *parent=gtk_widget_get_parent(toplug); GtkWidget *parent=gtk_widget_get_parent(toplug);
@ -70,13 +83,9 @@ inline void ubl_make_plugs(Gtk::Widget *LeftWidget, Gtk::Widget *RightWidget, in
} else } else
gtk_container_add(GTK_CONTAINER(plug),GTK_WIDGET(toplug)); gtk_container_add(GTK_CONTAINER(plug),GTK_WIDGET(toplug));
gtk_widget_show(GTK_WIDGET(plug)); gtk_widget_show(GTK_WIDGET(plug));
gtk_style_context_remove_class(gtk_widget_get_style_context(plug),"bkimButton"); gtk_style_context_add_class(gtk_widget_get_style_context(plug),"bkim");
gtk_style_context_remove_class(gtk_widget_get_style_context(toplug),"bkimButton"); gtk_style_context_add_class(gtk_widget_get_style_context(toplug),"bkim");
gtk_style_context_add_class(gtk_widget_get_style_context(plug),"noborder");
gtk_style_context_add_class(gtk_widget_get_style_context(toplug),"button");
gtk_style_context_add_class(gtk_widget_get_style_context(plug),"button");
gtk_style_context_add_class(gtk_widget_get_style_context(plug),"primary-toolbar"); gtk_style_context_add_class(gtk_widget_get_style_context(plug),"primary-toolbar");
} }
} }
#endif #endif

@ -13,91 +13,68 @@
.textHeaderBar{ .textHeaderBar{
font-weight: bold; font-weight: bold;
} }
.menu:hover {
border-color:alpha(@theme_text_color, 0.01);
}
.menu:hover >* {
border-color:alpha(@theme_text_color, 0.01);
}
.menuitemtop{
margin-bottom:0px;
}
.menuitemtop *{ .menuitemtop *{
margin:2px 2px 0 2px; margin:2px 2px 0 2px;
padding: 5px 10px 3px 5px; padding: 5px 10px 3px 5px;
} }
.menuitemmiddle *{ .menuitemmiddle *{
margin:0 2px 0 2px; margin:0 2px 0 2px;
padding: 3px 10px 3px 5px; padding: 3px 10px 3px 5px;
} }
.menuitembottom *{ .menuitembottom *{
margin:0 2px 2px 2px; margin:0 2px 2px 2px;
padding: 3px 10px 5px 5px; padding: 3px 10px 5px 5px;
} }
.menuitemtop:hover { .menuitemtop:hover {
border-radius:3px; background:@theme_bg_color;
background:@theme_bg_color;
} }
.menuitemmiddle:hover { .menuitemmiddle:hover {
border-radius:3px; background:@theme_bg_color;
background:@theme_bg_color;
} }
.menuitembottom:hover { .menuitembottom:hover {
border-radius:3px; background:@theme_bg_color;
background:@theme_bg_color;
} }
.menuitemtop:hover* { .menuitemtop:hover* {
border-radius:3px; margin:2px 2px 0 2px;
margin:2px 2px 0 2px; padding: 5px 10px 3px 5px;
padding: 5px 10px 3px 5px; background:@theme_selected_bg_color;
background:@theme_selected_bg_color; border-radius:2px;
border-color:transparent;
} }
.menuitemmiddle:hover* { .menuitemmiddle:hover* {
border-radius:3px; margin:0 2px 0 2px;
margin:0 2px 0 2px; padding: 3px 10px 3px 5px;
padding: 3px 10px 3px 5px; background:@theme_selected_bg_color;
background:@theme_selected_bg_color; border-radius:2px;
border-color:transparent;
} }
.menuitembottom:hover* { .menuitembottom:hover* {
border-radius:3px; margin:0 2px 2px 2px;
margin:0 2px 2px 2px; padding: 3px 10px 5px 5px;
padding: 3px 10px 5px 5px; background:@theme_selected_bg_color;
background:@theme_selected_bg_color; border-radius:2px;
border-color:transparent;
}
.menuitembottom{
margin-top:0px;
}
.menuitemmiddle{
margin-top:0px;
margin-bottom:0px;
}
.menuitemtop{
margin-bottom:0px;
} }
.bkimHeadBar{
opacity:1.0;
}
.bkimButton{
background-color: transparent;
opacity:1.0;
}
.bkimButtonPlug{
background-color: transparent;
opacity:1.0;
}
.noborder{ .noborder{
border:none; border:none;
} }
.buttonPlug {
background-color: transparent; .bkim{
background-repeat: no-repeat; opacity:0.99;
border: none; border:none;
outline: none;
} }
.button { .bkim_no_plug{
background-image: -gtk-gradient(linear, background-color: transparent;
left top, left bottom, opacity:0.99;
from(@entry_background_a),
color-stop(0.20, @entry_background_b),
color-stop(0.85, @entry_background_c),
to(@entry_background_d));
} }

@ -143,6 +143,7 @@
</child> </child>
</object> </object>
<object class="GtkWindow" id="window"> <object class="GtkWindow" id="window">
<property name="width-request">659</property>
<property name="can-focus">False</property> <property name="can-focus">False</property>
<child> <child>
<object class="GtkBox" id="plugBox"> <object class="GtkBox" id="plugBox">
@ -314,7 +315,7 @@
</packing> </packing>
</child> </child>
<child> <child>
<object class="GtkBox"> <object class="GtkBox" id="boxWidgetFunc">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can-focus">False</property>
<property name="orientation">vertical</property> <property name="orientation">vertical</property>
@ -356,7 +357,7 @@
<property name="margin-end">5</property> <property name="margin-end">5</property>
<property name="margin-top">6</property> <property name="margin-top">6</property>
<property name="margin-bottom">6</property> <property name="margin-bottom">6</property>
<property name="label" translatable="yes" context="Time" comments="Time">Time</property> <property name="label" translatable="yes" context="Time" comments="Time">Time:</property>
<property name="wrap">True</property> <property name="wrap">True</property>
<property name="xalign">0</property> <property name="xalign">0</property>
</object> </object>
@ -428,7 +429,7 @@
<property name="margin-end">5</property> <property name="margin-end">5</property>
<property name="margin-top">6</property> <property name="margin-top">6</property>
<property name="margin-bottom">6</property> <property name="margin-bottom">6</property>
<property name="label" translatable="yes" context="Date" comments="Date">Date</property> <property name="label" translatable="yes" context="Date" comments="Date">Date:</property>
<property name="wrap">True</property> <property name="wrap">True</property>
<property name="xalign">0</property> <property name="xalign">0</property>
</object> </object>
@ -453,7 +454,7 @@ Format: DD.MM.YYYY</property>
<property name="margin-bottom">6</property> <property name="margin-bottom">6</property>
</object> </object>
<packing> <packing>
<property name="expand">False</property> <property name="expand">True</property>
<property name="fill">True</property> <property name="fill">True</property>
<property name="position">5</property> <property name="position">5</property>
</packing> </packing>
@ -706,7 +707,7 @@ Format: DD.MM.YYYY</property>
<object class="GtkLabel" id="lblSynchronizebChkGLob"> <object class="GtkLabel" id="lblSynchronizebChkGLob">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can-focus">False</property> <property name="can-focus">False</property>
<property name="label" translatable="yes" context="Setting date and time in global configuration" comments="Setting date and time in global configuration">Synchronize via NTP:</property> <property name="label" translatable="yes" context="Setting date and time in global configuration" comments="Setting date and time in global configuration">Synchronize via NTP</property>
</object> </object>
</child> </child>
</object> </object>
@ -756,22 +757,10 @@ Format: DD.MM.YYYY</property>
<property name="margin-bottom">13</property> <property name="margin-bottom">13</property>
<property name="label" translatable="yes">Synchronize hardware time:</property> <property name="label" translatable="yes">Synchronize hardware time:</property>
</object> </object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="margin-end">55</property>
</object>
<packing> <packing>
<property name="expand">False</property> <property name="expand">False</property>
<property name="fill">True</property> <property name="fill">True</property>
<property name="position">1</property> <property name="position">0</property>
</packing> </packing>
</child> </child>
<child> <child>
@ -825,7 +814,7 @@ Format: DD.MM.YYYY</property>
<property name="margin-end">5</property> <property name="margin-end">5</property>
<property name="margin-top">6</property> <property name="margin-top">6</property>
<property name="margin-bottom">13</property> <property name="margin-bottom">13</property>
<property name="label" translatable="yes" context="Region" comments="Region">Region</property> <property name="label" translatable="yes" context="Region" comments="Region">Region:</property>
<property name="xalign">0</property> <property name="xalign">0</property>
</object> </object>
<packing> <packing>
@ -863,7 +852,7 @@ Format: DD.MM.YYYY</property>
<property name="margin-end">5</property> <property name="margin-end">5</property>
<property name="margin-top">6</property> <property name="margin-top">6</property>
<property name="margin-bottom">13</property> <property name="margin-bottom">13</property>
<property name="label" translatable="yes" context="Zone" comments="Zone">Area</property> <property name="label" translatable="yes" context="Zone" comments="Zone">Area:</property>
<property name="xalign">0</property> <property name="xalign">0</property>
</object> </object>
<packing> <packing>
@ -1041,6 +1030,9 @@ Format: DD.MM.YYYY</property>
<property name="position">0</property> <property name="position">0</property>
</packing> </packing>
</child> </child>
<style>
<class name="primary-toolbar"/>
</style>
</object> </object>
<packing> <packing>
<property name="position">1</property> <property name="position">1</property>
@ -1126,6 +1118,9 @@ Format: DD.MM.YYYY</property>
<property name="position">1</property> <property name="position">1</property>
</packing> </packing>
</child> </child>
<style>
<class name="primary-toolbar"/>
</style>
</object> </object>
<packing> <packing>
<property name="pack-type">end</property> <property name="pack-type">end</property>
@ -1144,19 +1139,9 @@ Format: DD.MM.YYYY</property>
</widgets> </widgets>
</object> </object>
<object class="GtkSizeGroup"> <object class="GtkSizeGroup">
<property name="mode">both</property>
<property name="ignore-hidden">True</property>
<widgets> <widgets>
<widget name="btnUpdateDateTime"/> <widget name="btnUpdateDateTime"/>
<widget name="lblHW"/> <widget name="btnHardwareTime"/>
</widgets>
</object>
<object class="GtkSizeGroup">
<property name="mode">both</property>
<property name="ignore-hidden">True</property>
<widgets>
<widget name="cbHw"/>
<widget name="cbZone"/>
</widgets> </widgets>
</object> </object>
<object class="GtkPopover" id="popCalendar"> <object class="GtkPopover" id="popCalendar">

@ -16,6 +16,9 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
msgid "https://wiki.ublinux.com/ru/Программное_обеспечениерограммы_и_утилиты/Все/"
msgstr "https://wiki.ublinux.ru/ru/Программное_обеспечениерограммы_и_утилиты/Все/"
msgid "Copyright © UBSoft LLC, 2022 - " msgid "Copyright © UBSoft LLC, 2022 - "
msgstr "Авторские права © ООО \"Юбисофт\", 2022 - " msgstr "Авторские права © ООО \"Юбисофт\", 2022 - "
@ -94,8 +97,8 @@ msgstr "Изменить параметр NTPSERVERS"
msgid "ubl-settings-datetime" msgid "ubl-settings-datetime"
msgstr "Настройка даты и времени" msgstr "Настройка даты и времени"
msgid "Time" msgid "Time:"
msgstr "Время" msgstr "Время:"
msgid "Clock" msgid "Clock"
msgstr "Часы" msgstr "Часы"
@ -106,8 +109,8 @@ msgstr ":"
msgid "Minutes" msgid "Minutes"
msgstr "Минуты" msgstr "Минуты"
msgid "Date" msgid "Date:"
msgstr "Дата" msgstr "Дата:"
msgid "Date of\nFormat: DD.MM.YYYY" msgid "Date of\nFormat: DD.MM.YYYY"
msgstr "Дата\nФормат: ДД.ММ.ГГГГ" msgstr "Дата\nФормат: ДД.ММ.ГГГГ"
@ -118,11 +121,11 @@ msgstr "Интерактивный выбор даты"
msgid "Change zone setting" msgid "Change zone setting"
msgstr "Изменить параметр зоны" msgstr "Изменить параметр зоны"
msgid "Region" msgid "Region:"
msgstr "Регион" msgstr "Регион:"
msgid "Zone" msgid "Zone:"
msgstr "Зона" msgstr "Зона:"
msgid "Sync by" msgid "Sync by"
msgstr "Синхронизировать" msgstr "Синхронизировать"
@ -130,8 +133,8 @@ msgstr "Синхронизировать"
msgid "Automatic time synchronization" msgid "Automatic time synchronization"
msgstr "Автоматическая синхронизация времени" msgstr "Автоматическая синхронизация времени"
msgid "Synchronize via NTP:" msgid "Synchronize via NTP"
msgstr "Синхронизировать через NTP:" msgstr "Синхронизировать через NTP"
msgid "Time zone" msgid "Time zone"
msgstr "Часовой пояс" msgstr "Часовой пояс"
@ -1648,24 +1651,6 @@ msgstr "Введите имя ntp-сервера или его ip-адрес.\n
msgid "Cape_Verde" msgid "Cape_Verde"
msgstr "Кабо-Верде" msgstr "Кабо-Верде"
msgid "Usage: ubl-settings-datetime [--lock-timezone] [--lock-ntp] [--lock-datetime] [--lock-update]\n"
msgstr "Использование: ubl-settings-datetime [--lock-timezone] [--lock-ntp] [--lock-datetime] [--lock-update]\n"
msgid " --lock-timezone Disable timezone field editing\n"
msgstr " --lock-timezone Отключить редактирование поля часового пояса\n"
msgid " --lock-ntp Disable ntp field editing\n"
msgstr " --lock-ntp Отключить редактирование полей ntp\n"
msgid " --lock-datetime Disable datetime field editing\n"
msgstr " --lock-datetime Отключить редактирование полей даты и времени\n"
msgid " --lock-update Disable save changes\n"
msgstr " --lock-update Отключить сохранение изменений\n"
msgid "Options:\n"
msgstr "Опции:\n"
msgid "Save" msgid "Save"
msgstr "Сохранить" msgstr "Сохранить"
@ -1807,3 +1792,34 @@ msgstr "Успешно записана глобальная конфигура
msgid "Local configuration successfully written" msgid "Local configuration successfully written"
msgstr "Успешно записана локальная конфигурация" msgstr "Успешно записана локальная конфигурация"
msgid ""
"GTK settings datetime for UBLinux\n\n"
"Usage: ubl-settings-datetime [OPTIONS...]\n"
"Options:\n"
" -h, --help Show this help\n"
" -V, --version Show package version\n"
" --lock-datetime Lock date and time changes\n"
" --lock-timezone Lock time zone changes\n"
" --lock-ntp-mode Lock NTP mode selection\n"
" --lock-ntp-edit Lock editing NTP servers\n"
" --lock-save Lock saving local and global configuration\n"
" --lock-save-local Lock save global configuration\n"
" --lock-save-global Lock load global configuration\n"
" --lock-load-global Lock load global configuration\n"
msgstr ""
"GTK-утилита настройки даты и времени для UBLinux\n\n"
"Использование: ubl-settings-datetime [Параметры приложения...]\n"
"Параметры приложения:\n"
" -h, --help Показать параметры справки\n"
" -V, --version Показать версию пакета\n"
" --lock-datetime Блокировка изменения даты и времени\n"
" --lock-timezone Блокировка изменения часового пояса\n"
" --lock-ntp-mode Блокировка выбора режима NTP\n"
" --lock-ntp-edit Блокировка перечня NTP серверов\n"
" --lock-save Блокировка сохранения локальной и глобальной конфигурации\n"
" --lock-save-local Блокировка сохранения локальной конфигурации\n"
" --lock-save-global Блокировка сохранения глобальной конфигурации\n"
" --lock-load-global Блокировка загрузки глобальной конфигурации\n"
msgid "ubl-settings-datetime version: "
msgstr "ubl-settings-datetime версия: "

Loading…
Cancel
Save