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