Код приведён к стандарту

pull/30/head
Igor Belitskiy 3 years ago
parent a4a14ef601
commit e980754b7e

@ -67,114 +67,114 @@ void MainWindow::settings(){
this->event(); this->event();
if (this->check_root()==0){ if (this->check_root()==0){
this->lacalization(); this->lacalization();
_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);
_numTimeMin->set_increments(1.0,1.0); numTimeMin->set_increments(1.0,1.0);
this->get_config(); this->get_config();
this->flag_block_gui(); this->flag_block_gui();
this->parse_text_date(); this->parse_text_date();
} }
else{ else{
_numTimeHrs->set_sensitive(false); numTimeHrs->set_sensitive(false);
_numTimeMin->set_sensitive(false); numTimeMin->set_sensitive(false);
_lblTime->set_sensitive(false); lblTime->set_sensitive(false);
_lblData->set_sensitive(false); lblData->set_sensitive(false);
_txtDate->set_sensitive(false); txtDate->set_sensitive(false);
_btnChooseDate->set_sensitive(false); btnChooseDate->set_sensitive(false);
_btnUpdateDateTime->set_sensitive(false); btnUpdateDateTime->set_sensitive(false);
_btnHardwareTime->set_sensitive(false); btnHardwareTime->set_sensitive(false);
_cbRegion->set_sensitive(false); cbRegion->set_sensitive(false);
_cbZone->set_sensitive(false); cbZone->set_sensitive(false);
_lblReg->set_sensitive(false); lblReg->set_sensitive(false);
_lblZone->set_sensitive(false); lblZone->set_sensitive(false);
_lblTimeZone->set_sensitive(false); lblTimeZone->set_sensitive(false);
_lblDateTimeSettingGlob->set_sensitive(false); lblDateTimeSettingGlob->set_sensitive(false);
_cbxSynchronizeNtpGlob->set_sensitive(false); cbxSynchronizeNtpGlob->set_sensitive(false);
_lblSynchronizebChkGLob->set_sensitive(false); lblSynchronizebChkGLob->set_sensitive(false);
_cbDhcp->set_sensitive(false); cbDhcp->set_sensitive(false);
_txtNtpServer->set_sensitive(false); txtNtpServer->set_sensitive(false);
_lblTimeZoneGlob->set_sensitive(false); lblTimeZoneGlob->set_sensitive(false);
_lblRegGlob->set_sensitive(false); lblRegGlob->set_sensitive(false);
_lblZone1Glob->set_sensitive(false); lblZone1Glob->set_sensitive(false);
_lblDateTimeSetting->set_sensitive(false); lblDateTimeSetting->set_sensitive(false);
} }
} }
int MainWindow::check_root(){ int MainWindow::check_root(){
if (geteuid()!=0){ if (geteuid()!=0){
_lblMessageSudo->set_text(gettext("The program must be run with \nsuperuser privileges!")); lblMessageSudo->set_text(gettext("The program must be run with \nsuperuser privileges!"));
_mess_sudo->show(); mess_sudo->show();
return 1; return 1;
} }
return 0; return 0;
} }
void MainWindow::lacalization(){ void MainWindow::lacalization(){
_txtDate->set_tooltip_text(gettext("Date of\nFormat: DD.MM.YYYY")); txtDate->set_tooltip_text(gettext("Date of\nFormat: DD.MM.YYYY"));
_lblSynchronizebChkGLob->set_text(gettext("Synchronize via NTP")); lblSynchronizebChkGLob->set_text(gettext("Synchronize via NTP"));
_cbDhcp->append(gettext("By default")); cbDhcp->append(gettext("By default"));
_cbDhcp->append(gettext("DHCP")); cbDhcp->append(gettext("DHCP"));
_cbDhcp->append(gettext("Manually")); cbDhcp->append(gettext("Manually"));
_lblDateTimeSetting->set_text(gettext("Local Configuration")); lblDateTimeSetting->set_text(gettext("Local Configuration"));
_lblHead->set_text(gettext("Settings the date and time")); lblHead->set_text(gettext("Settings the date and time"));
_lblTime->set_text(gettext("Time")); lblTime->set_text(gettext("Time"));
_lblData->set_text(gettext("Date")); lblData->set_text(gettext("Date"));
_lblTimeZone->set_text(gettext("Time zone")); lblTimeZone->set_text(gettext("Time zone"));
_lblReg->set_text(gettext("Region")); lblReg->set_text(gettext("Region"));
_lblZone->set_text(gettext("Zone")); lblZone->set_text(gettext("Zone"));
_lblRegGlob->set_text(gettext("Region")); lblRegGlob->set_text(gettext("Region"));
_lblZone1Glob->set_text(gettext("Zone")); lblZone1Glob->set_text(gettext("Zone"));
_lblTimeZoneGlob->set_text(gettext("Time zone")); lblTimeZoneGlob->set_text(gettext("Time zone"));
_lblSynchronizeBtn->set_text(gettext("Sync by")); lblSynchronizeBtn->set_text(gettext("Sync by"));
_lblDateTimeSettingGlob->set_text(gettext("Global customization")); lblDateTimeSettingGlob->set_text(gettext("Global customization"));
this->set_title(gettext("ubl-settings-datetime")); this->set_title(gettext("ubl-settings-datetime"));
_mess_dchp->set_title(gettext("Warning!")); mess_dchp->set_title(gettext("Warning!"));
_lblTimeBios->set_text(gettext("Synchronize hardware time")); lblTimeBios->set_text(gettext("Synchronize hardware time"));
//_lblSynchronizebChk->set_text(gettext("Synchronize via NTP")); //_lblSynchronizebChk->set_text(gettext("Synchronize via NTP"));
} }
void MainWindow::flag_block_gui(){ void MainWindow::flag_block_gui(){
if (flag_datetime==true){ if (flag_datetime==true){
//_numTimeHrs->set_sensitive(false); //numTimeHrs->set_sensitive(false);
//_numTimeMin->set_sensitive(false); //numTimeMin->set_sensitive(false);
//_txtDate->set_sensitive(false); //txtDate->set_sensitive(false);
_btnUpdateDateTime->set_sensitive(false); btnUpdateDateTime->set_sensitive(false);
_numTimeHrs->set_sensitive(false); numTimeHrs->set_sensitive(false);
_numTimeMin->set_sensitive(false); numTimeMin->set_sensitive(false);
_btnChooseDate->set_sensitive(false); btnChooseDate->set_sensitive(false);
_txtDate->set_sensitive(false); txtDate->set_sensitive(false);
_lblTimeBios->set_sensitive(false); lblTimeBios->set_sensitive(false);
_btnHardwareTime->set_sensitive(false); btnHardwareTime->set_sensitive(false);
_lblTime->set_sensitive(false); lblTime->set_sensitive(false);
_lblData->set_sensitive(false); lblData->set_sensitive(false);
//_cbxSynchronizeNtpGlob->set_sensitive(false); //cbxSynchronizeNtpGlob->set_sensitive(false);
} }
if (flag_timezone==true){ if (flag_timezone==true){
_cbRegion->set_sensitive(false); cbRegion->set_sensitive(false);
_cbZone->set_sensitive(false); cbZone->set_sensitive(false);
_cbRegionGlob->set_sensitive(false); cbRegionGlob->set_sensitive(false);
_cbZoneGlob->set_sensitive(false); cbZoneGlob->set_sensitive(false);
//_btnChooseDate->set_sensitive(false); //btnChooseDate->set_sensitive(false);
_cbDhcp->set_sensitive(false); cbDhcp->set_sensitive(false);
} }
if (flag_ntp==true){ if (flag_ntp==true){
_cbxSynchronizeNtpGlob->set_sensitive(false); cbxSynchronizeNtpGlob->set_sensitive(false);
_cbDhcp->set_sensitive(false); cbDhcp->set_sensitive(false);
_txtNtpServer->set_sensitive(false); txtNtpServer->set_sensitive(false);
} }
if (flag_update==true){ if (flag_update==true){
_lblDateTimeSettingGlob->set_sensitive(false); lblDateTimeSettingGlob->set_sensitive(false);
//_lblSynchronizebChkGLob->set_sensitive(false); //lblSynchronizebChkGLob->set_sensitive(false);
_cbxSynchronizeNtpGlob->set_sensitive(false); cbxSynchronizeNtpGlob->set_sensitive(false);
_lblTimeZoneGlob->set_sensitive(false); lblTimeZoneGlob->set_sensitive(false);
_lblRegGlob->set_sensitive(false); lblRegGlob->set_sensitive(false);
_cbRegionGlob->set_sensitive(false); cbRegionGlob->set_sensitive(false);
_lblZone1Glob->set_sensitive(false); lblZone1Glob->set_sensitive(false);
_cbZoneGlob->set_sensitive(false); cbZoneGlob->set_sensitive(false);
_txtNtpServer->set_sensitive(false); txtNtpServer->set_sensitive(false);
_cbDhcp->set_sensitive(false); cbDhcp->set_sensitive(false);
} }
} }
@ -184,58 +184,58 @@ void MainWindow::add_CSS(){
Glib::RefPtr<Gtk::StyleContext> styleContext = Gtk::StyleContext::create(); Glib::RefPtr<Gtk::StyleContext> styleContext = Gtk::StyleContext::create();
Glib::RefPtr<Gdk::Screen> screen = Gdk::Screen::get_default();//get default screen 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 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 = boxColor->get_style_context();
Glib::RefPtr<Gtk::StyleContext> context_lbl_head = _lblHead->get_style_context(); Glib::RefPtr<Gtk::StyleContext> context_lbl_head = lblHead->get_style_context();
context->add_class("cssboxColor1"); context->add_class("cssboxColor1");
context_lbl_head->add_class("textHead"); context_lbl_head->add_class("textHead");
} }
void MainWindow::get_builder(){ void MainWindow::get_builder(){
builder->set_translation_domain(path_app); builder->set_translation_domain(path_app);
builder->get_widget("boxColor", _boxColor); builder->get_widget("boxColor", boxColor);
builder->get_widget("btnUpdateDateTime", _btnUpdateDateTime); builder->get_widget("btnUpdateDateTime", btnUpdateDateTime);
builder->get_widget("btnChooseDate", _btnChooseDate); builder->get_widget("btnChooseDate", btnChooseDate);
builder->get_widget("btnMessClose", _btnMessClose); builder->get_widget("btnMessClose", btnMessClose);
builder->get_widget("cbxSynchronizeNtpGlob", _cbxSynchronizeNtpGlob); builder->get_widget("cbxSynchronizeNtpGlob", cbxSynchronizeNtpGlob);
builder->get_widget("popCalendar", _popCalendar); builder->get_widget("popCalendar", popCalendar);
builder->get_widget("numTimeHrs", _numTimeHrs); builder->get_widget("numTimeHrs", numTimeHrs);
builder->get_widget("numTimeMin", _numTimeMin); builder->get_widget("numTimeMin", numTimeMin);
builder->get_widget("cbDhcp", _cbDhcp); builder->get_widget("cbDhcp", cbDhcp);
builder->get_widget("txtDate", _txtDate); builder->get_widget("txtDate", txtDate);
builder->get_widget("cbRegion", _cbRegion); builder->get_widget("cbRegion", cbRegion);
builder->get_widget("cbRegionGlob", _cbRegionGlob); builder->get_widget("cbRegionGlob", cbRegionGlob);
builder->get_widget("cbZone", _cbZone); builder->get_widget("cbZone", cbZone);
builder->get_widget("cbZoneGlob", _cbZoneGlob); builder->get_widget("cbZoneGlob", cbZoneGlob);
builder->get_widget("txtNtpServer", _txtNtpServer); builder->get_widget("txtNtpServer", txtNtpServer);
builder->get_widget("cldrDate", _cldrDate); builder->get_widget("cldrDate", cldrDate);
builder->get_widget("mess_dchp", _mess_dchp); builder->get_widget("mess_dchp", mess_dchp);
builder->get_widget("lblMessage", _lblMessage); builder->get_widget("lblMessage", lblMessage);
builder->get_widget("lblDateTimeSetting",_lblDateTimeSetting); builder->get_widget("lblDateTimeSetting",lblDateTimeSetting);
builder->get_widget("lblHead",_lblHead); builder->get_widget("lblHead",lblHead);
builder->get_widget("lblTime",_lblTime); builder->get_widget("lblTime",lblTime);
builder->get_widget("lblData",_lblData); builder->get_widget("lblData",lblData);
builder->get_widget("lblTimeZone",_lblTimeZone); builder->get_widget("lblTimeZone",lblTimeZone);
builder->get_widget("lblReg",_lblReg); builder->get_widget("lblReg",lblReg);
builder->get_widget("lblZone",_lblZone); builder->get_widget("lblZone",lblZone);
builder->get_widget("lblRegGlob",_lblRegGlob); builder->get_widget("lblRegGlob",lblRegGlob);
builder->get_widget("lblZone1Glob",_lblZone1Glob); builder->get_widget("lblZone1Glob",lblZone1Glob);
builder->get_widget("lblTimeZoneGlob",_lblTimeZoneGlob); builder->get_widget("lblTimeZoneGlob",lblTimeZoneGlob);
//builder->get_widget("lblSynchronizebChk",_lblSynchronizebChk); //builder->get_widget("lblSynchronizebChk",_lblSynchronizebChk);
builder->get_widget("lblSynchronizebChkGLob",_lblSynchronizebChkGLob); builder->get_widget("lblSynchronizebChkGLob",lblSynchronizebChkGLob);
builder->get_widget("lblSynchronizeBtn",_lblSynchronizeBtn); builder->get_widget("lblSynchronizeBtn",lblSynchronizeBtn);
builder->get_widget("lblDateTimeSettingGlob",_lblDateTimeSettingGlob); builder->get_widget("lblDateTimeSettingGlob",lblDateTimeSettingGlob);
builder->get_widget("lblTimeBios",_lblTimeBios); builder->get_widget("lblTimeBios",lblTimeBios);
builder->get_widget("btnHardwareTime",_btnHardwareTime); builder->get_widget("btnHardwareTime",btnHardwareTime);
builder->get_widget("mess_sudo",_mess_sudo); builder->get_widget("mess_sudo",mess_sudo);
builder->get_widget("lblMessageSudo",_lblMessageSudo); builder->get_widget("lblMessageSudo",lblMessageSudo);
builder->get_widget("btnMessCloseSudo",_btnMessCloseSudo); builder->get_widget("btnMessCloseSudo",btnMessCloseSudo);
builder->get_widget("windowsNnpClose",_windowsNnpClose); builder->get_widget("windowsNnpClose",windowsNnpClose);
builder->get_widget("btnNtpStop",_btnNtpStop); builder->get_widget("btnNtpStop",btnNtpStop);
builder->get_widget("btnNtpWinClose",_btnNtpWinClose); builder->get_widget("btnNtpWinClose",btnNtpWinClose);
builder->get_widget("lblNtpStop",_lblNtpStop); builder->get_widget("lblNtpStop",lblNtpStop);
builder->get_widget("lblNtpClose",_lblNtpClose); builder->get_widget("lblNtpClose",lblNtpClose);
//builder->get_widget("cbxSynchronizeNtp",_cbxSynchronizeNtp); //builder->get_widget("cbxSynchronizeNtp",cbxSynchronizeNtp);
this->add_CSS(); this->add_CSS();
} }
@ -250,47 +250,50 @@ bool MainWindow::gui_exit_2(GdkEventAny* event){
} }
void MainWindow::event(){ void MainWindow::event(){
//_cbxSynchronizeNtpGlob->signal_toggled().connect(sigc::mem_fun(*this, &MainWindow::set_ntp_toggle)); //cbxSynchronizeNtpGlob->signal_toggled().connect(sigc::mem_fun(*this, &MainWindow::set_ntp_toggle));
_btnHardwareTime->signal_clicked().connect(sigc::mem_fun(*this, &MainWindow::hardware_clock)); btnHardwareTime->signal_clicked().connect(sigc::mem_fun(*this, &MainWindow::hardware_clock));
_btnMessClose->signal_clicked().connect(sigc::mem_fun(*this, &MainWindow::gui_mess_close)); btnMessClose->signal_clicked().connect(sigc::mem_fun(*this, &MainWindow::gui_mess_close));
_btnMessCloseSudo->signal_clicked().connect(sigc::mem_fun(*this, &MainWindow::gui_exit)); btnMessCloseSudo->signal_clicked().connect(sigc::mem_fun(*this, &MainWindow::gui_exit));
//_cldrDate->signal_day_selected().connect(sigc::mem_fun(*this, &MainWindow::get_calendar)); //cldrDate->signal_day_selected().connect(sigc::mem_fun(*this, &MainWindow::get_calendar));
_cbxSynchronizeNtpGlob->signal_toggled().connect(sigc::mem_fun(*this, &MainWindow::set_ntp_toggle_glob)); cbxSynchronizeNtpGlob->signal_toggled().connect(sigc::mem_fun(*this, &MainWindow::set_ntp_toggle_glob));
_btnUpdateDateTime->signal_clicked().connect(sigc::mem_fun(*this, &MainWindow::update_time_date)); btnUpdateDateTime->signal_clicked().connect(sigc::mem_fun(*this, &MainWindow::update_time_date));
_btnChooseDate->signal_clicked().connect(sigc::mem_fun(*this, &MainWindow::calendar_show)); btnChooseDate->signal_clicked().connect(sigc::mem_fun(*this, &MainWindow::calendar_show));
_cbDhcp->signal_changed().connect(sigc::mem_fun(*this, &MainWindow::event_entry_cbDhcp)); cbDhcp->signal_changed().connect(sigc::mem_fun(*this, &MainWindow::event_entrycbDhcp));
_cbRegion->signal_changed().connect(sigc::mem_fun(*this, &MainWindow::append_zone)); cbRegion->signal_changed().connect(sigc::mem_fun(*this, &MainWindow::append_zone));
_cbRegionGlob->signal_changed().connect(sigc::mem_fun(*this, &MainWindow::append_zone_glob)); cbRegionGlob->signal_changed().connect(sigc::mem_fun(*this, &MainWindow::append_zone_glob));
_cbZone->signal_changed().connect(sigc::mem_fun(*this, &MainWindow::enter_zone)); cbZone->signal_changed().connect(sigc::mem_fun(*this, &MainWindow::enter_zone));
_cbZoneGlob->signal_changed().connect(sigc::mem_fun(*this, &MainWindow::enter_zone_glob)); cbZoneGlob->signal_changed().connect(sigc::mem_fun(*this, &MainWindow::enter_zone_glob));
_txtNtpServer->signal_focus_out_event().connect(sigc::mem_fun(*this, &MainWindow::focus_ntp)); txtNtpServer->signal_focus_out_event().connect(sigc::mem_fun(*this, &MainWindow::focus_ntp));
_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));
_mess_sudo->signal_delete_event().connect(sigc::mem_fun(*this, &MainWindow::gui_exit_2)); mess_sudo->signal_delete_event().connect(sigc::mem_fun(*this, &MainWindow::gui_exit_2));
_btnNtpWinClose->signal_clicked().connect(sigc::mem_fun(*this, &MainWindow::wind_close_ntp)); btnNtpWinClose->signal_clicked().connect(sigc::mem_fun(*this, &MainWindow::wind_close_ntp));
_btnNtpStop->signal_clicked().connect(sigc::mem_fun(*this, &MainWindow::stop_ntp)); btnNtpStop->signal_clicked().connect(sigc::mem_fun(*this, &MainWindow::stop_ntp));
} }
void MainWindow::wind_close_ntp(){ void MainWindow::wind_close_ntp(){
_windowsNnpClose->hide(); windowsNnpClose->hide();
} }
void MainWindow::stop_ntp(){ void MainWindow::stop_ntp(){
windowsNnpClose->hide();
string cmd = "[[ systemctl --quiet is-active systemd-timesyncd &>/dev/null ]] && systemctl stop systemd-timesyncd";
system(cmd.c_str());
} }
void MainWindow::set_ntp_toggle(){ void MainWindow::set_ntp_toggle(){
bool flag = _cbxSynchronizeNtpGlob->get_active(); bool flag = cbxSynchronizeNtpGlob->get_active();
if (flag_ntp==true || flag_datetime==true){ if (flag_ntp==true || flag_datetime==true){
} }
else { else {
_numTimeHrs->set_sensitive(!flag); numTimeHrs->set_sensitive(!flag);
_numTimeMin->set_sensitive(!flag); numTimeMin->set_sensitive(!flag);
_btnChooseDate->set_sensitive(!flag); btnChooseDate->set_sensitive(!flag);
_txtDate->set_sensitive(!flag); txtDate->set_sensitive(!flag);
_lblTimeBios->set_sensitive(!flag); lblTimeBios->set_sensitive(!flag);
_btnUpdateDateTime->set_sensitive(!flag); btnUpdateDateTime->set_sensitive(!flag);
_lblTime->set_sensitive(!flag); lblTime->set_sensitive(!flag);
_lblData->set_sensitive(!flag); lblData->set_sensitive(!flag);
} }
string cmd = ""; string cmd = "";
if (flag==false){ if (flag==false){
@ -310,41 +313,41 @@ void MainWindow::hardware_clock(){
} }
void MainWindow::gui_mess_close(){ void MainWindow::gui_mess_close(){
_mess_dchp->hide(); mess_dchp->hide();
} }
bool MainWindow::focus_ntp(GdkEventFocus* event){ bool MainWindow::focus_ntp(GdkEventFocus* event){
if (event!=NULL){} if (event!=NULL){}
if (_txtNtpServer->get_text()=="" || _txtNtpServer->get_text()==" "){ if (txtNtpServer->get_text()=="" || txtNtpServer->get_text()==" "){
_lblMessage->set_text(gettext("Enter DHCP !")); lblMessage->set_text(gettext("Enter DHCP !"));
_mess_dchp->show(); mess_dchp->show();
} }
else{ else{
string cmd = ""; string cmd = "";
cmd = "/usr/bin/ubconfig set network NTPSERVERS=" + _txtNtpServer->get_text(); cmd = "/usr/bin/ubconfig set network NTPSERVERS=" + txtNtpServer->get_text();
this->call(cmd.c_str()); this->call(cmd.c_str());
} }
return true; return true;
} }
void MainWindow::event_entry_cbDhcp(){ void MainWindow::event_entrycbDhcp(){
Glib::ustring str_dhcp = _cbDhcp->get_active_text(); Glib::ustring str_dhcp = cbDhcp->get_active_text();
int activ_index = _cbDhcp->get_id_column(); int activ_index = cbDhcp->get_id_column();
if (str_dhcp.length()!=0){ if (str_dhcp.length()!=0){
if (activ_index==0){ if (activ_index==0){
string cmd = "/usr/bin/ubconfig set network NTPSERVERS=default"; string cmd = "/usr/bin/ubconfig set network NTPSERVERS=default";
system(cmd.c_str()); system(cmd.c_str());
_txtNtpServer->set_sensitive(false); txtNtpServer->set_sensitive(false);
_cbDhcp->set_active(activ_index); cbDhcp->set_active(activ_index);
_txtNtpServer->set_text(""); txtNtpServer->set_text("");
} }
else if (activ_index==1){ else if (activ_index==1){
string cmd = "/usr/bin/ubconfig set network NTPSERVERS=dhcp"; string cmd = "/usr/bin/ubconfig set network NTPSERVERS=dhcp";
system(cmd.c_str()); system(cmd.c_str());
_txtNtpServer->set_sensitive(false); txtNtpServer->set_sensitive(false);
_cbDhcp->set_active(activ_index); cbDhcp->set_active(activ_index);
_txtNtpServer->set_text(""); txtNtpServer->set_text("");
} }
else if (activ_index==2){ else if (activ_index==2){
string str_dhcp = this->call("/usr/bin/ubconfig get network NTPSERVERS"); string str_dhcp = this->call("/usr/bin/ubconfig get network NTPSERVERS");
@ -352,24 +355,24 @@ void MainWindow::event_entry_cbDhcp(){
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" && str_dhcp!="(null)"){ if (str_dhcp!="dhcp" && str_dhcp!="(null)"){
_txtNtpServer->set_text(str_dhcp); txtNtpServer->set_text(str_dhcp);
} }
_txtNtpServer->set_sensitive(true); txtNtpServer->set_sensitive(true);
_cbDhcp->set_active(activ_index); cbDhcp->set_active(activ_index);
} }
} }
} }
else{ else{
string cmd = "/usr/bin/ubconfig set network NTPSERVERS=dhcp"; string cmd = "/usr/bin/ubconfig set network NTPSERVERS=dhcp";
system(cmd.c_str()); system(cmd.c_str());
_cbDhcp->set_active(0); cbDhcp->set_active(0);
} }
} }
void MainWindow::get_calendar(){ void MainWindow::get_calendar(){
string str_month = ""; string str_month = "";
string str_day = ""; string str_day = "";
_cldrDate->get_date(year, month, day); cldrDate->get_date(year, month, day);
if (month <10){ if (month <10){
str_month = "0"+to_string(month+1); str_month = "0"+to_string(month+1);
} }
@ -383,8 +386,8 @@ void MainWindow::get_calendar(){
str_day = to_string(day); str_day = to_string(day);
} }
string date = str_day + '.' + str_month + '.' + to_string(year); string date = str_day + '.' + str_month + '.' + to_string(year);
_txtDate->set_text(date); txtDate->set_text(date);
_popCalendar->hide(); popCalendar->hide();
} }
void MainWindow::calendar_show(){ void MainWindow::calendar_show(){
@ -394,47 +397,47 @@ void MainWindow::calendar_show(){
unsigned int y=1900+ ltm->tm_year; unsigned int y=1900+ ltm->tm_year;
unsigned int m=ltm->tm_mon; unsigned int m=ltm->tm_mon;
unsigned int d=ltm->tm_mday; unsigned int d=ltm->tm_mday;
_cldrDate->select_month(m,y); cldrDate->select_month(m,y);
_cldrDate->select_day(d); cldrDate->select_day(d);
} }
else{ else{
_cldrDate->select_month(month,year); cldrDate->select_month(month,year);
_cldrDate->select_day(day); cldrDate->select_day(day);
} }
_popCalendar->show(); popCalendar->show();
} }
void MainWindow::enry_dhcp_mess(){ void MainWindow::enry_dhcp_mess(){
string str_dhcp = this->call("/usr/bin/ubconfig get network NTPSERVERS"); string str_dhcp = this->call("/usr/bin/ubconfig get network NTPSERVERS");
if ((str_dhcp!="") && (str_dhcp!="(null)")){ if ((str_dhcp!="") && (str_dhcp!="(null)")){
_cbxSynchronizeNtpGlob->set_active(1); cbxSynchronizeNtpGlob->set_active(1);
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"){
_cbDhcp->set_active(0); cbDhcp->set_active(0);
_txtNtpServer->set_sensitive(false); txtNtpServer->set_sensitive(false);
} }
else{ else{
if (str_dhcp==""){ if (str_dhcp==""){
_lblMessage->set_text(gettext("Enter DHCP !")); lblMessage->set_text(gettext("Enter DHCP !"));
_mess_dchp->show(); mess_dchp->show();
} }
else if (str_dhcp=="(null)"){ else if (str_dhcp=="(null)"){
_cbDhcp->set_active(0); cbDhcp->set_active(0);
_txtNtpServer->set_text(""); txtNtpServer->set_text("");
} }
else{ else{
_cbDhcp->set_active(1); cbDhcp->set_active(1);
_txtNtpServer->set_text(str_dhcp); txtNtpServer->set_text(str_dhcp);
} }
} }
this->set_ntp_toggle_glob(); this->set_ntp_toggle_glob();
} }
else{ else{
_cbxSynchronizeNtpGlob->set_active(0); cbxSynchronizeNtpGlob->set_active(0);
_cbDhcp->set_sensitive(0); cbDhcp->set_sensitive(0);
_txtNtpServer->set_sensitive(0); txtNtpServer->set_sensitive(0);
} }
} }
@ -445,20 +448,20 @@ void MainWindow::get_config(){
this->enry_dhcp_mess(); this->enry_dhcp_mess();
string str_ntp = this->call("systemctl status ntpd.service systemd-timesyncd.service | grep \"Active: active\""); string str_ntp = this->call("systemctl status ntpd.service systemd-timesyncd.service | grep \"Active: active\"");
if (str_ntp.length()<50) { if (str_ntp.length()<50) {
_cbxSynchronizeNtpGlob->set_active(false); cbxSynchronizeNtpGlob->set_active(false);
_numTimeHrs->set_sensitive(true); numTimeHrs->set_sensitive(true);
_numTimeMin->set_sensitive(true); numTimeMin->set_sensitive(true);
_btnChooseDate->set_sensitive(true); btnChooseDate->set_sensitive(true);
_txtDate->set_sensitive(true); txtDate->set_sensitive(true);
_lblTimeBios->set_sensitive(true); lblTimeBios->set_sensitive(true);
} }
else{ else{
_cbxSynchronizeNtpGlob->set_active(true); cbxSynchronizeNtpGlob->set_active(true);
_numTimeHrs->set_sensitive(false); numTimeHrs->set_sensitive(false);
_numTimeMin->set_sensitive(false); numTimeMin->set_sensitive(false);
_btnChooseDate->set_sensitive(false); btnChooseDate->set_sensitive(false);
_txtDate->set_sensitive(false); txtDate->set_sensitive(false);
_lblTimeBios->set_sensitive(false); lblTimeBios->set_sensitive(false);
} }
string read_reg_zon_cfg = this->call("/usr/bin/ubconfig get clock ZONE"); string read_reg_zon_cfg = this->call("/usr/bin/ubconfig get clock ZONE");
if ((read_reg_zon_cfg != "") && (strstr(read_reg_zon_cfg.c_str() ,"(null)")==NULL)){ if ((read_reg_zon_cfg != "") && (strstr(read_reg_zon_cfg.c_str() ,"(null)")==NULL)){
@ -476,8 +479,8 @@ void MainWindow::get_config(){
} }
void MainWindow::enter_zone(){ void MainWindow::enter_zone(){
Glib::ustring zone_text = _cbZone->get_active_text(); Glib::ustring zone_text = cbZone->get_active_text();
Glib::ustring reg_text = _cbRegion->get_active_text(); Glib::ustring reg_text = cbRegion->get_active_text();
if(!(zone_text.empty()) && !(reg_text.empty())){ if(!(zone_text.empty()) && !(reg_text.empty())){
str_zone=zone_text.substr(zone_text.find(") ")+2,zone_text.length()); str_zone=zone_text.substr(zone_text.find(") ")+2,zone_text.length());
str_region=reg_text; str_region=reg_text;
@ -493,7 +496,7 @@ void MainWindow::enter_zone(){
} }
void MainWindow::parse_text_date(){ void MainWindow::parse_text_date(){
string data = _txtDate->get_text(); string data = txtDate->get_text();
if (data.length()==10){ if (data.length()==10){
string day = data.substr(0,2); string day = data.substr(0,2);
string month1 = data.substr(3,2); string month1 = data.substr(3,2);
@ -502,8 +505,8 @@ void MainWindow::parse_text_date(){
} }
void MainWindow::enter_zone_glob(){ void MainWindow::enter_zone_glob(){
Glib::ustring zone_text = _cbZoneGlob->get_active_text(); Glib::ustring zone_text = cbZoneGlob->get_active_text();
Glib::ustring reg_text = _cbRegionGlob->get_active_text(); Glib::ustring reg_text = cbRegionGlob->get_active_text();
if(!(zone_text.empty()) && !(reg_text.empty())){ if(!(zone_text.empty()) && !(reg_text.empty())){
//str_zoneGlob = zone_text.substr(zone_text.find(") ")+2,zone_text.length()); //str_zoneGlob = zone_text.substr(zone_text.find(") ")+2,zone_text.length());
string cmd = "/usr/bin/ubconfig set clock ZONE=" +reg_text +"/" + zone_text; string cmd = "/usr/bin/ubconfig set clock ZONE=" +reg_text +"/" + zone_text;
@ -517,15 +520,15 @@ void MainWindow::enter_zone_glob(){
void MainWindow::set_ntp_toggle_glob(){ void MainWindow::set_ntp_toggle_glob(){
this->set_ntp_toggle(); this->set_ntp_toggle();
bool flag = _cbxSynchronizeNtpGlob->get_active(); bool flag = cbxSynchronizeNtpGlob->get_active();
if (flag==false){ if (flag==false){
system("/usr/bin/ubconfig remove network NTPSERVERS"); system("/usr/bin/ubconfig remove network NTPSERVERS");
_cbDhcp->set_sensitive(false); cbDhcp->set_sensitive(false);
_txtNtpServer->set_sensitive(false); txtNtpServer->set_sensitive(false);
} }
else{ else{
_cbDhcp->set_sensitive(true); cbDhcp->set_sensitive(true);
_txtNtpServer->set_sensitive(true); txtNtpServer->set_sensitive(true);
} }
} }
@ -533,23 +536,23 @@ void MainWindow::set_ntp_toggle_glob(){
void MainWindow::append_region_zone(string region, string zone){ void MainWindow::append_region_zone(string region, string zone){
int index = 0; int index = 0;
for ( const auto &text : time_reg_map ) { for ( const auto &text : time_reg_map ) {
_cbRegion->append(text.first); cbRegion->append(text.first);
_cbRegionGlob->append(text.first); cbRegionGlob->append(text.first);
if (text.first == region){ if (text.first == region){
_cbRegionGlob->set_active(index); cbRegionGlob->set_active(index);
_cbRegion->set_active(index); cbRegion->set_active(index);
} }
index+=1; index+=1;
} }
index = 0; index = 0;
cout << zone; cout << zone;
for (const auto &_str_zone : time_reg_map.at(region)){ for (const auto &_str_zone : time_reg_map.at(region)){
_cbZone->append(_str_zone); cbZone->append(_str_zone);
_cbZoneGlob->append(_str_zone); cbZoneGlob->append(_str_zone);
if (_str_zone!=""){ if (_str_zone!=""){
if (_str_zone == zone){ if (_str_zone == zone){
_cbZone->set_active(index); cbZone->set_active(index);
_cbZoneGlob->set_active(index); cbZoneGlob->set_active(index);
} }
} }
index+=1; index+=1;
@ -578,30 +581,30 @@ string MainWindow::call(string cmd){
} }
void MainWindow::append_zone(){ void MainWindow::append_zone(){
Glib::ustring text = _cbRegion->get_active_text(); Glib::ustring text = cbRegion->get_active_text();
_cbZone->remove_all(); cbZone->remove_all();
if(!(text.empty())){ if(!(text.empty())){
str_region = text; str_region = text;
for (const auto &_str_zone : time_reg_map.at(str_region)){ for (const auto &_str_zone : time_reg_map.at(str_region)){
_cbZone->append(_str_zone); cbZone->append(_str_zone);
} }
} }
} }
void MainWindow::append_zone_glob(){ void MainWindow::append_zone_glob(){
Glib::ustring text = _cbRegionGlob->get_active_text(); Glib::ustring text = cbRegionGlob->get_active_text();
_cbZoneGlob->remove_all(); cbZoneGlob->remove_all();
if(!(text.empty())){ if(!(text.empty())){
str_region_glob = text; str_region_glob = text;
for (const auto &_str_zone : time_reg_map.at(str_region_glob)){ for (const auto &_str_zone : time_reg_map.at(str_region_glob)){
_cbZoneGlob->append(_str_zone); cbZoneGlob->append(_str_zone);
} }
} }
} }
void MainWindow::update_time_date(){ void MainWindow::update_time_date(){
//this->enter_zone(); //this->enter_zone();
bool flag = _cbxSynchronizeNtpGlob->get_active(); bool flag = cbxSynchronizeNtpGlob->get_active();
string cmd = ""; string cmd = "";
if ((year!=0) && (month !=0) && (day !=0)){ if ((year!=0) && (month !=0) && (day !=0)){
string str_month = ""; string str_month = "";
@ -621,13 +624,13 @@ void MainWindow::update_time_date(){
} }
string str_data = ""; string str_data = "";
str_data = str_day+"." + str_month+"." + to_string(year); str_data = str_day+"." + str_month+"." + to_string(year);
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+"\"";
system(cmd.c_str()); system(cmd.c_str());
_txtDate->set_text(str_data); txtDate->set_text(str_data);
year=0; year=0;
month=0; month=0;
day=0; day=0;
@ -640,8 +643,8 @@ void MainWindow::update_time_date(){
this->post_entry_data(); this->post_entry_data();
} }
if (flag==false){ if (flag==false){
hour = _numTimeHrs->get_value_as_int(); hour = numTimeHrs->get_value_as_int();
minute = _numTimeMin->get_value_as_int(); minute = numTimeMin->get_value_as_int();
time_t now = time(0); time_t now = time(0);
tm *ltm = localtime(&now); tm *ltm = localtime(&now);
cmd = "date +%T -s \""+ cmd = "date +%T -s \""+
@ -653,7 +656,7 @@ void MainWindow::update_time_date(){
void MainWindow::post_entry_data(){ void MainWindow::post_entry_data(){
string cmd = ""; string cmd = "";
string data = _txtDate->get_text(); string data = txtDate->get_text();
if (data.length()==10){ if (data.length()==10){
string str_day = data.substr(0,2); string str_day = data.substr(0,2);
string str_month = data.substr(3,2); string str_month = data.substr(3,2);
@ -666,16 +669,16 @@ void MainWindow::post_entry_data(){
} }
} }
else{ else{
_lblMessage->set_text(gettext("Incorrect date format")); lblMessage->set_text(gettext("Incorrect date format"));
_mess_dchp->show(); mess_dchp->show();
} }
} }
void MainWindow::update_hour_minute(){ void MainWindow::update_hour_minute(){
time_t now = time(0); time_t now = time(0);
tm *ltm = localtime(&now); tm *ltm = localtime(&now);
_numTimeHrs->set_value(ltm->tm_hour); numTimeHrs->set_value(ltm->tm_hour);
_numTimeMin->set_value(ltm->tm_min); numTimeMin->set_value(ltm->tm_min);
} }
void MainWindow::update_calendar(){ void MainWindow::update_calendar(){
@ -700,7 +703,7 @@ void MainWindow::update_calendar(){
str_day = to_string(day); str_day = to_string(day);
} }
string date = str_day + '.' + str_month + '.' + to_string(year1); string date = str_day + '.' + str_month + '.' + to_string(year1);
_txtDate->set_text(date); txtDate->set_text(date);
} }
void MainWindow::read_file(){ void MainWindow::read_file(){

@ -56,7 +56,7 @@ class MainWindow : public Gtk::ApplicationWindow {
void event(); void event();
void gui_mess_close(); void gui_mess_close();
bool focus_ntp(GdkEventFocus* event); bool focus_ntp(GdkEventFocus* event);
void event_entry_cbDhcp(); void event_entrycbDhcp();
void get_calendar(); void get_calendar();
void calendar_show(); void calendar_show();
void enry_dhcp_mess(); void enry_dhcp_mess();
@ -83,49 +83,49 @@ class MainWindow : public Gtk::ApplicationWindow {
vector<std::string> split(const std::string &s, char delim); vector<std::string> split(const std::string &s, char delim);
private: private:
Glib::RefPtr<Gtk::Builder> builder; Glib::RefPtr<Gtk::Builder> builder;
Gtk::Button *_btnUpdateDateTime; Gtk::Button *btnUpdateDateTime;
Gtk::Button *_btnChooseDate; Gtk::Button *btnChooseDate;
Gtk::Button *_btnMessCloseSudo; Gtk::Button *btnMessCloseSudo;
Gtk::Button *_btnMessClose; Gtk::Button *btnMessClose;
Gtk::ComboBoxText *_cbDhcp; Gtk::ComboBoxText *cbDhcp;
Gtk::SpinButton *_numTimeHrs; Gtk::SpinButton *numTimeHrs;
Gtk::SpinButton *_numTimeMin; Gtk::SpinButton *numTimeMin;
Gtk::CheckButton *_cbxSynchronizeNtpGlob; Gtk::CheckButton *cbxSynchronizeNtpGlob;
Gtk::Box *_boxColor; Gtk::Box *boxColor;
Gtk::Entry *_txtDate; Gtk::ComboBoxText *cbRegion;
Gtk::ComboBoxText *_cbRegion; Gtk::ComboBoxText *cbRegionGlob;
Gtk::ComboBoxText *_cbRegionGlob; Gtk::ComboBoxText *cbZone;
Gtk::ComboBoxText *_cbZone; Gtk::ComboBoxText *cbZoneGlob;
Gtk::ComboBoxText *_cbZoneGlob; Gtk::Window *mess_dchp;
Gtk::Entry *_txtNtpServer; Gtk::Window *mess_sudo;
Gtk::Window *_mess_dchp; Gtk::Popover *popCalendar;
Gtk::Window *_mess_sudo; Gtk::Calendar *cldrDate;
Gtk::Popover *_popCalendar; Gtk::Label *lblMessage;
Gtk::Calendar *_cldrDate; Gtk::Label *lblMessageSudo;
Gtk::Label *_lblMessage; Gtk::Label *lblDateTimeSetting;
Gtk::Label *_lblMessageSudo; Gtk::Label *lblHead;
Gtk::Label *_lblDateTimeSetting; Gtk::Label *lblTime;
Gtk::Label *_lblHead; Gtk::Label *lblData;
Gtk::Label *_lblTime; Gtk::Label *lblTimeZone;
Gtk::Label *_lblData; Gtk::Label *lblReg;
Gtk::Label *_lblTimeZone; Gtk::Label *lblZone;
Gtk::Label *_lblReg; Gtk::Label *lblRegGlob;
Gtk::Label *_lblZone; Gtk::Label *lblZone1Glob;
Gtk::Label *_lblRegGlob; Gtk::Label *lblTimeZoneGlob;
Gtk::Label *_lblZone1Glob; Gtk::Label *lblSynchronizebChk;
Gtk::Label *_lblTimeZoneGlob; Gtk::Label *lblSynchronizebChkGLob;
Gtk::Label *_lblSynchronizebChk; Gtk::Label *lblSynchronizeBtn;
Gtk::Label *_lblSynchronizebChkGLob; Gtk::Label *lblDateTimeSettingGlob;
Gtk::Label *_lblSynchronizeBtn; Gtk::Label *lblTimeBios;
Gtk::Label *_lblDateTimeSettingGlob; Gtk::Button *btnHardwareTime;
Gtk::Label *_lblTimeBios; Gtk::CheckButton *cbxSynchronizeNtp;
Gtk::Button *_btnHardwareTime; Gtk::Window *windowsNnpClose;
Gtk::CheckButton *_cbxSynchronizeNtp; Gtk::Button *btnNtpStop;
Gtk::Window *_windowsNnpClose; Gtk::Button *btnNtpWinClose;
Gtk::Button *_btnNtpStop; Gtk::Label *lblNtpStop;
Gtk::Button *_btnNtpWinClose; Gtk::Label *lblNtpClose;
Gtk::Label *_lblNtpStop; Gtk::Entry *txtNtpServer;
Gtk::Label *_lblNtpClose; Gtk::Entry *txtDate;
std::map <string, vector<string>> time_reg_map; std::map <string, vector<string>> time_reg_map;
unsigned int year=0; unsigned int year=0;
unsigned int month=0; unsigned int month=0;
@ -135,7 +135,7 @@ class MainWindow : public Gtk::ApplicationWindow {
string str_region=""; string str_region="";
string str_region_glob=""; string str_region_glob="";
string str_txtDate; string str_txtDate;
string str_txtNtpServer; string strtxtNtpServer;
string str_zone=""; string str_zone="";
string str_zoneGlob; string str_zoneGlob;

Loading…
Cancel
Save