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

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"));
//btnSaveLocalGlob->set_label(_("Save to global and local configuration"));
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"));
lblSave->set_label(_("Save"));
lblDownload->set_label(_("Download"));
@ -315,23 +317,23 @@ void MainWindow::download_local_cfg(){
this->fill_in_reg_zone(cmd);
this->update_hour_minute();
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";
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";
this->entry_hardware_clock(hw, hw_default);
info_warning_error(0);
}
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";
this->entry_dhcp_mess(cmd_get_dhcp, cmd_default_get_dhcp);
string cmd = "/usr/bin/ubconfig --default --source global get clock ZONE";
this->fill_in_reg_zone(cmd);
string hw = "/usr/bin/ubconfig get clock HWCLOCK_SYNC";
string hw_default = "/usr/bin/ubconfig --default get clock HWCLOCK_SYNC";
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);
info_warning_error(1);
}
@ -440,44 +442,51 @@ void MainWindow::hardware_clock_global(string &local, string &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;
struct Result<string> obj_result = this->wrapper_call(cmd);
if (obj_result.error == 0){
if (obj_result.response.find("localtime")!=string::npos){
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.response.find("utc")!=string::npos){
else if (obj_result_default.response.find("utc")!=string::npos){
cbHw->set_active(1);
}
}
else if (obj_result.error == 3){
else if (obj_result_default.error == 3){
if (error!=warning_info){
warning_info=error;
}
cbHw->set_active(-1);
}
else{
int error_1 = 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){
}
void MainWindow::entry_hardware_clock(string &cmd, string &cmd_default){
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){
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);
}
else{
this->entry_hardware_clock_default(cmd_default);
}
}
else if (obj_result_default.error != 0){
if (error_1!=warning_info){
else if (obj_result.error == 3){
if (error!=warning_info){
warning_info=error;
}
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){
wrapper_system(cmd_default, "&");
boxDateTime->set_sensitive(false);
}
else if (activ_index==1){
wrapper_system(cmd_dhcp, "&");
boxDateTime->set_sensitive(false);
}
else if (activ_index==2){
this->focus_ntp(cmd_set_ntp);
boxDateTime->set_sensitive(false);
}
else if (activ_index==3){
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){
error_info=start_error;
}
boxDateTime->set_sensitive(true);
}
}
void MainWindow::entry_dhcp_mess(string cmd_get_dhcp, string cmd_default_get_dhcp){
string cmd = cmd_get_dhcp;
boxDateTime->set_sensitive(false);
struct Result<string> obj_result = this->wrapper_call(cmd);
if (obj_result.error==0){
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_sensitive(false);
btnUpdateDateTime->set_sensitive(true);
boxDateTime->set_sensitive(true);
warning_info-=1;
}
}
@ -900,9 +907,9 @@ void MainWindow::append_region_zone(string region, string zone, Gtk::ComboBoxTex
}
// Cортировка пузырьком
if (size_vec==0){
size_vec = array_region_local.size();
for (int i = 0; i < size_vec; i++) {
for (int j = 0; j < size_vec-1; j++) {
int size_vec_sort = array_region_local.size();
for (int i = 0; i < size_vec_sort; i++) {
for (int j = 0; j < size_vec_sort-1; j++) {
if (array_region_local[j] > array_region_local[j + 1]) {
auto b = array_region_local[j];
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){
tmpCbReg->append(Glib::ustring(reg));
if (reg == string(_(region.c_str()))){
tmpCbReg->set_active_text(reg);
}
}
}
tmpCbZone->remove_all();
index = 0;
string zone_mixing = "";

@ -108,6 +108,7 @@ class MainWindow : public Gtk::ApplicationWindow {
unsigned int year=0;
unsigned int month=0;
unsigned int day=0;
string version_application = "1.3";
int error_info = 0;
int warning_info = 0;
int hour;
@ -131,6 +132,7 @@ class MainWindow : public Gtk::ApplicationWindow {
void info_warning_error(int mess);
void synopsis_show();
void entry_hardware_clock(string &cmd, string &cmd_default);
void entry_hardware_clock_default(string &cmd_default);
void save_global_local_cfg();
void fill_in_reg_zone(string &cmd);
void download_globl_cfg();

@ -88,7 +88,7 @@
<object class="GtkMenuItem" id="btnSynopsis">
<property name="visible">True</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>
<style>
<class name="menuitemtop"/>

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

Loading…
Cancel
Save