Исправлен баг с дублированием зон

pull/71/head
Igor Belitskiy 3 years ago
parent 104bc3a7fd
commit b9d529d95c

@ -127,6 +127,8 @@ void MainWindow::lacalization(){
//btnSaveLocal->set_label(_("Save to local configuration")); //btnSaveLocal->set_label(_("Save to local configuration"));
//btnSaveLocalGlob->set_label(_("Save to global and local configuration")); //btnSaveLocalGlob->set_label(_("Save to global and local configuration"));
aboutWindows->set_comments(_("Setting the date and time")); aboutWindows->set_comments(_("Setting the date and time"));
aboutWindows->set_website(_("https://wiki.ublinux.com"));
aboutWindows->set_version(_(version_application.c_str()));
aboutWindows->set_website_label(_("Project Home Page")); aboutWindows->set_website_label(_("Project Home Page"));
lblSave->set_label(_("Save")); lblSave->set_label(_("Save"));
lblDownload->set_label(_("Download")); lblDownload->set_label(_("Download"));
@ -315,23 +317,23 @@ void MainWindow::download_local_cfg(){
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 --source system get network NTPSERVERS"; string cmd_get_dhcp = "/usr/bin/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 = "/usr/bin/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 --source system get clock HWCLOCK_SYNC"; 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"; 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, hw_default);
info_warning_error(0); info_warning_error(0);
} }
void MainWindow::download_globl_cfg(){ void MainWindow::download_globl_cfg(){
string cmd_get_dhcp = "/usr/bin/ubconfig --source global get network NTPSERVERS"; 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"; string cmd_default_get_dhcp = "/usr/bin/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 = "/usr/bin/ubconfig --default --source global get clock ZONE"; string cmd = "/usr/bin/ubconfig --default --source global get clock ZONE";
this->fill_in_reg_zone(cmd); this->fill_in_reg_zone(cmd);
string hw = "/usr/bin/ubconfig get clock HWCLOCK_SYNC"; string hw = "/usr/bin/ubconfig --default --source global get clock HWCLOCK_SYNC";
string hw_default = "/usr/bin/ubconfig --default get clock HWCLOCK_SYNC"; string hw_default = "/usr/bin/ubconfig --default --source global get clock HWCLOCK_SYNC";
this->entry_hardware_clock(hw, hw_default); this->entry_hardware_clock(hw, hw_default);
info_warning_error(1); info_warning_error(1);
} }
@ -440,44 +442,51 @@ void MainWindow::hardware_clock_global(string &local, string &etc){
wrapper_system(etc, "&"); wrapper_system(etc, "&");
} }
} }
void MainWindow::entry_hardware_clock_default(string &cmd_default){
void MainWindow::entry_hardware_clock(string &cmd, string &cmd_default){
int error = warning_info; int error = warning_info;
struct Result<string> obj_result = this->wrapper_call(cmd); struct Result<string> obj_result_default = this->wrapper_call(cmd_default);
if (obj_result.error == 0){ if (obj_result_default.error == 0){
if (obj_result.response.find("localtime")!=string::npos){ if (obj_result_default.response.find("localtime")!=string::npos){
cbHw->set_active(0); cbHw->set_active(0);
} }
else if (obj_result.response.find("utc")!=string::npos){ else if (obj_result_default.response.find("utc")!=string::npos){
cbHw->set_active(1); cbHw->set_active(1);
} }
} }
else if (obj_result.error == 3){ else if (obj_result_default.error == 3){
if (error!=warning_info){ if (error!=warning_info){
warning_info=error; warning_info=error;
} }
cbHw->set_active(-1); cbHw->set_active(-1);
} }
else{
int error_1 = warning_info; }
struct Result<string> obj_result_default = this->wrapper_call(cmd_default); void MainWindow::entry_hardware_clock(string &cmd, string &cmd_default){
if (obj_result_default.error == 0){ int error = warning_info;
if (obj_result_default.response.find("localtime")!=string::npos){ struct Result<string> obj_result = this->wrapper_call(cmd);
if (obj_result.error == 0){
if (obj_result.response.find("localtime")!=string::npos){
cbHw->set_active(0); cbHw->set_active(0);
} }
else if (obj_result_default.response.find("utc")!=string::npos){ else if (obj_result.response.find("utc")!=string::npos){
cbHw->set_active(1); cbHw->set_active(1);
} }
else{
this->entry_hardware_clock_default(cmd_default);
}
} }
else if (obj_result_default.error != 0){ else if (obj_result.error == 3){
if (error_1!=warning_info){ if (error!=warning_info){
warning_info=error; warning_info=error;
} }
cbHw->set_active(-1); cbHw->set_active(-1);
this->entry_hardware_clock_default(cmd_default);
} }
else{
this->entry_hardware_clock_default(cmd_default);
} }
} }
@ -674,15 +683,15 @@ void MainWindow::save_Dhcp(string &cmd_default, string &cmd_dhcp, string &remove
} }
else if (activ_index==0){ else if (activ_index==0){
wrapper_system(cmd_default, "&"); wrapper_system(cmd_default, "&");
boxDateTime->set_sensitive(false);
} }
else if (activ_index==1){ else if (activ_index==1){
wrapper_system(cmd_dhcp, "&"); wrapper_system(cmd_dhcp, "&");
boxDateTime->set_sensitive(false);
} }
else if (activ_index==2){ else if (activ_index==2){
this->focus_ntp(cmd_set_ntp); this->focus_ntp(cmd_set_ntp);
boxDateTime->set_sensitive(false);
} }
else if (activ_index==3){ else if (activ_index==3){
int start_error = error_info; int start_error = error_info;
@ -690,13 +699,12 @@ void MainWindow::save_Dhcp(string &cmd_default, string &cmd_dhcp, string &remove
if (start_error != error_info){ if (start_error != error_info){
error_info=start_error; error_info=start_error;
} }
boxDateTime->set_sensitive(true);
} }
} }
void MainWindow::entry_dhcp_mess(string cmd_get_dhcp, string cmd_default_get_dhcp){ void MainWindow::entry_dhcp_mess(string cmd_get_dhcp, string cmd_default_get_dhcp){
string cmd = cmd_get_dhcp; string cmd = cmd_get_dhcp;
boxDateTime->set_sensitive(false);
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;
@ -747,7 +755,6 @@ void MainWindow::entry_dhcp_mess(string cmd_get_dhcp, string cmd_default_get_dhc
txtNtpServer->set_text(""); txtNtpServer->set_text("");
txtNtpServer->set_sensitive(false); txtNtpServer->set_sensitive(false);
btnUpdateDateTime->set_sensitive(true); btnUpdateDateTime->set_sensitive(true);
boxDateTime->set_sensitive(true);
warning_info-=1; warning_info-=1;
} }
} }
@ -900,9 +907,9 @@ void MainWindow::append_region_zone(string region, string zone, Gtk::ComboBoxTex
} }
// Cортировка пузырьком // Cортировка пузырьком
if (size_vec==0){ if (size_vec==0){
size_vec = array_region_local.size(); int size_vec_sort = array_region_local.size();
for (int i = 0; i < size_vec; i++) { for (int i = 0; i < size_vec_sort; i++) {
for (int j = 0; j < size_vec-1; j++) { for (int j = 0; j < size_vec_sort-1; j++) {
if (array_region_local[j] > array_region_local[j + 1]) { if (array_region_local[j] > array_region_local[j + 1]) {
auto b = array_region_local[j]; auto b = array_region_local[j];
array_region_local[j] = array_region_local[j + 1]; array_region_local[j] = array_region_local[j + 1];
@ -914,12 +921,14 @@ void MainWindow::append_region_zone(string region, string zone, Gtk::ComboBoxTex
} }
} }
} }
if (size_vec==0){
for (string &reg : array_region_local){ for (string &reg : array_region_local){
tmpCbReg->append(Glib::ustring(reg)); tmpCbReg->append(Glib::ustring(reg));
if (reg == string(_(region.c_str()))){ if (reg == string(_(region.c_str()))){
tmpCbReg->set_active_text(reg); tmpCbReg->set_active_text(reg);
} }
} }
}
tmpCbZone->remove_all(); tmpCbZone->remove_all();
index = 0; index = 0;
string zone_mixing = ""; string zone_mixing = "";

@ -108,6 +108,7 @@ class MainWindow : public Gtk::ApplicationWindow {
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.3";
int error_info = 0; int error_info = 0;
int warning_info = 0; int warning_info = 0;
int hour; int hour;
@ -131,6 +132,7 @@ class MainWindow : public Gtk::ApplicationWindow {
void info_warning_error(int mess); void info_warning_error(int mess);
void synopsis_show(); void synopsis_show();
void entry_hardware_clock(string &cmd, string &cmd_default); void entry_hardware_clock(string &cmd, string &cmd_default);
void entry_hardware_clock_default(string &cmd_default);
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 download_globl_cfg(); void download_globl_cfg();

@ -88,7 +88,7 @@
<object class="GtkMenuItem" id="btnSynopsis"> <object class="GtkMenuItem" id="btnSynopsis">
<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">Synopsis</property> <property name="label" translatable="yes">Help</property>
<property name="use-underline">True</property> <property name="use-underline">True</property>
<style> <style>
<class name="menuitemtop"/> <class name="menuitemtop"/>

@ -19,6 +19,9 @@ msgstr ""
msgid "Select the method of hardware time synchronization" msgid "Select the method of hardware time synchronization"
msgstr "Выберите способ синхронизации аппаратного времени" msgstr "Выберите способ синхронизации аппаратного времени"
msgid "https://wiki.ublinux.com"
msgstr "https://wiki.ublinux.ru"
msgid "Local time" msgid "Local time"
msgstr "Локальное время" msgstr "Локальное время"
@ -1759,7 +1762,7 @@ msgstr "Андорра"
msgid "About the program" msgid "About the program"
msgstr "О программе" msgstr "О программе"
msgid "Synopsis" msgid "Help"
msgstr "Справка" msgstr "Справка"
msgid "Local configuration reading error" msgid "Local configuration reading error"

Loading…
Cancel
Save