@ -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<Gtk::Builder> 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 - > down load_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 \n superuser privileges! " ) ) ;
mess_s udo- > show ( ) ;
lblMessageSudo - > set_text ( _ ( " The program must be run as root " ) ) ;
windowMessS udo- > 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 " ) ) ;
lbl Load- > set_label ( _ ( " L oad" ) ) ;
txtDate - > set_tooltip_text ( _ ( " Date of \n Format: DD.MM.YYYY " ) ) ;
txtNtpServer - > set_tooltip_text ( _ ( " Enter the name of the ntp-server or its ip-address. \n When 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_s udo- > set_title ( _ ( " Warning! " ) ) ;
mess_d chp- > set_title ( _ ( " Warning! " ) ) ;
windowMessS udo- > set_title ( _ ( " Warning! " ) ) ;
windowMessD chp- > 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 ) {
btn Donwlol Glob- > set_sensitive ( false ) ;
btn Load Glob- > 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 < Gtk : : StyleContext > styleContext = Gtk : : StyleContext : : create ( ) ;
Glib : : RefPtr < Gdk : : Screen > 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 < Gtk : : StyleContext > context = boxColor - > get_style_context ( ) ;
Glib : : RefPtr < Gtk : : StyleContext > context_lbl_head = lblHead - > get_style_context ( ) ;
context - > add_class ( " cssboxColor1 " ) ;
context_lbl_head - > add_class ( " textHead " ) ;
/*
Glib : : RefPtr < Gtk : : StyleContext > boxColor_css = boxColor - > get_style_context ( ) ;
boxColor_css - > add_class ( " cssboxColor1 " ) ;
Glib : : RefPtr < Gtk : : StyleContext > lblHead_css = lblHead - > 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 > btnDownload_css = btnDownload - > get_style_context ( ) ;
Glib : : RefPtr < Gtk : : StyleContext > lblDownload_css = lblDownload - > get_style_context ( ) ;
Glib : : RefPtr < Gtk : : StyleContext > imgDonwload_css = imgDonwload - > get_style_context ( ) ;
Glib : : RefPtr < Gtk : : StyleContext > 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_d chp) ;
builder - > get_widget ( " windowMessDchp" , windowMessD chp) ;
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_s udo) ;
builder - > get_widget ( " lblMessageSudo " , lblMessageSudo ) ;
builder - > get_widget ( " windowMessSudo" , windowMessS udo) ;
builder - > get_widget ( " lblMessageSudo " , lblMessageSudo ) ;
builder - > get_widget ( " btnMessCloseSudo " , btnMessCloseSudo ) ;
builder - > get_widget ( " lblSave " , lblSave ) ;
builder - > get_widget ( " lbl Download" , lblDownl oad) ;
builder - > get_widget ( " lblSave " , lblSave ) ;
builder - > get_widget ( " lbl Load" , lblL oad) ;
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 ( " btn Download" , btnDownl oad) ;
builder - > get_widget ( " btn Load" , btnL oad) ;
builder - > get_widget ( " btnSynopsis " , btnSynopsis ) ;
builder - > get_widget ( " btnAbout " , btnAbout ) ;
builder - > get_widget ( " btn DonwlodLocal" , btnDonwlo dLocal) ;
builder - > get_widget ( " btn DonwlolGlob" , btnDonwlol Glob) ;
builder - > get_widget ( " btn LoadLocal" , btnLoa dLocal) ;
builder - > get_widget ( " btn LoadGlob" , btnLoad Glob) ;
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_s udo- > signal_delete_event ( ) . connect ( sigc : : mem_fun ( * this , & MainWindow : : gui_exit_2 ) ) ;
windowMessS udo- > 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 ) ) ;
btn Donwlo dLocal- > signal_activate ( ) . connect ( sigc : : mem_fun ( * this , & MainWindow : : down load_local_cfg) ) ;
btn Donwlol Glob- > signal_activate ( ) . connect ( sigc : : mem_fun ( * this , & MainWindow : : down load_globl_cfg) ) ;
btn Loa dLocal- > signal_activate ( ) . connect ( sigc : : mem_fun ( * this , & MainWindow : : load_local_cfg) ) ;
btn Load Glob- > 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 : : down load_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 : : down load_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 < string > 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 < string > 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_d chp- > hide ( ) ;
windowMessD chp- > hide ( ) ;
}
bool MainWindow : : focus_ntp ( string & cmd_set_ntp ) {
if ( txtNtpServer - > get_text ( ) = = " " | | txtNtpServer - > get_text ( ) = = " " ) {
lblMessage - > set_text ( _ ( " Enter DHCP! " ) ) ;
mess_d chp- > show ( ) ;
windowMessD chp- > 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_d chp- > show ( ) ;
windowMessD chp- > show ( ) ;
}
else if ( flag_error_check_ntp = = true ) {
lblMessage - > set_text ( _ ( " Error in the ntp name " ) ) ;
mess_d chp- > show ( ) ;
windowMessD chp- > show ( ) ;
}
}
}
return true ;
}
@ -636,7 +638,7 @@ bool MainWindow::check_ntp(string &str_ntp) {
struct MainWindow : : Result < string > MainWindow : : wrapper_call ( string cmd ) {
struct Result < string > 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<string> 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_d chp- > show ( ) ;
windowMessD chp- > 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<string, 2> 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_d chp- > 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<string> *time_reg_map_local,vector<string> *ti
b = ( * time_reg_map ) [ j ] ;
( * time_reg_map ) [ j ] = ( * time_reg_map ) [ j + 1 ] ;
( * time_reg_map ) [ j + 1 ] = b ;
} }
}
}
}
}
}
}