From 2377caedbb5a6985cc561321bb35021952c29c1f Mon Sep 17 00:00:00 2001 From: Igor Belitskiy Date: Thu, 18 May 2023 11:23:53 +0600 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8=D0=BB=20?= =?UTF-8?q?=D0=BF=D1=80=D0=BE=D0=B2=D0=B5=D1=80=D0=BA=D1=83=20=D0=BF=D1=83?= =?UTF-8?q?=D1=81=D1=82=D0=BE=D0=B9=20=D1=81=D1=82=D1=80=D0=BE=D0=BA=D0=B8?= =?UTF-8?q?=20=D0=BF=D1=80=D0=B8=20=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=BF=D0=BE=D0=BB=D1=8C=D0=B7=D0=BE?= =?UTF-8?q?=D0=B2=D0=B0=D1=82=D0=B5=D0=BB=D1=8F=20=D0=B8=20=D0=BC=D0=B5?= =?UTF-8?q?=D0=BB=D0=BE=D0=B4=D0=B8=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- source/ubl-settings-bootloader.cc | 46 ++++++++++++++++++++++++++++--- source/ubl-settings-bootloader.h | 2 ++ 2 files changed, 44 insertions(+), 4 deletions(-) diff --git a/source/ubl-settings-bootloader.cc b/source/ubl-settings-bootloader.cc index 29b5162..c7b0558 100644 --- a/source/ubl-settings-bootloader.cc +++ b/source/ubl-settings-bootloader.cc @@ -642,10 +642,8 @@ void MainWindow::event() { g_signal_connect(G_OBJECT(aboutWindows->gobj()), "activate-link", G_CALLBACK(wrapper_help_show), NULL); btnRemoveUser->signal_clicked().connect([&]() {remove_user();}); btnRemoveMusic->signal_clicked().connect([&]() {remove_melody();}); - btnAddUser->signal_clicked().connect([&]() {string name = "", passwd = ""; - set_add_data_user(row_user, false, name, passwd);}); - btnAddMusic->signal_clicked().connect([&]() {string code = "", name = ""; - set_add_data_melody(row_melody, false,name, code);}); + btnAddUser->signal_clicked().connect([&]() {wrapper_add_data_user();}); + btnAddMusic->signal_clicked().connect([&]() {wrapper_add_data_melody();}); btnOpenMenuOS->signal_clicked().connect([&]() {obj_menu_os.show();}); btnCancelHelp->signal_clicked().connect([&]() {wndShowWeb->hide();}); chkAlwaysOpenHelp->signal_toggled().connect([&]() {flag_open_browser = true;}); @@ -801,6 +799,27 @@ void MainWindow::set_data_csv_melody() { } } +void MainWindow::wrapper_add_data_user() { + string name; + string password; + bool flag_no_add_user = false; + Glib::RefPtr treeViewUser_model = treeViewUser->get_model(); + Gtk::TreeModel::Children children = treeViewUser_model->children(); + for(Gtk::TreeModel::iterator iter = children.begin(); iter != children.end(); ++iter) { + Gtk::TreeModel::Row row = *iter; + name = row[m_columns_user.name] + ""; + password = row[m_columns_user.password] + ""; + if (name.length() == 0 || password.length() == 0) { + flag_no_add_user = true; + } + } + if (!flag_no_add_user) { + string name1 = ""; + string passwd = ""; + set_add_data_user(row_user, false, name1, passwd); + } +} + void MainWindow::set_add_data_user(Gtk::TreeModel::Row &row, bool flag, string &name, string &password) { row = *(list_store_user->append()); row[m_columns_user.check_button] = flag; @@ -836,6 +855,25 @@ void MainWindow::set_add_data_melody(Gtk::TreeModel::Row &row, bool flag, string row[m_columns_melody.melody_code] = code; len_old_melody += 1; } +void MainWindow::wrapper_add_data_melody() { + string code_melodyes = ""; + string melody_title = ""; + bool flag_no_add_melody = false; + Glib::RefPtr treeViewMelody_model = treeViewMelody->get_model(); + Gtk::TreeModel::Children children = treeViewMelody_model->children(); + for(Gtk::TreeModel::iterator iter = children.begin(); iter != children.end(); ++iter) { + Gtk::TreeModel::Row row = *iter; + code_melodyes = row[m_columns_melody.melody_code] + ""; + melody_title = row[m_columns_melody.title] + ""; + if (code_melodyes.length() == 0 || melody_title.length() == 0) { + flag_no_add_melody = true; + } + } + if (flag_no_add_melody == false) { + string code = "", name = ""; + set_add_data_melody(row_melody, false, name, code); + } +} void MainWindow::remove_user() { if (flag_validate_del_user && list_store_user->iter_is_valid(iter_user_del)) { diff --git a/source/ubl-settings-bootloader.h b/source/ubl-settings-bootloader.h index 6c7b31e..54c0200 100644 --- a/source/ubl-settings-bootloader.h +++ b/source/ubl-settings-bootloader.h @@ -404,6 +404,8 @@ public: void set_init_data_user(std::map &map_temp); void set_init_data_superuser(std::map &map_temp); bool intel_idle_cstate_check(int size, Glib::RefPtr &list_store, string key); + void wrapper_add_data_user(); + void wrapper_add_data_melody(); }; class SettingsPlug : public Gtk::Plug