From 7f4a63c76362a27343178c1b61ce0a09b8e74022 Mon Sep 17 00:00:00 2001 From: Igor Belitskiy Date: Tue, 2 May 2023 17:45:35 +0600 Subject: [PATCH] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=20=D0=B1=D0=B0=D0=B3=20=D1=81=20=D1=83=D0=B4=D0=B0?= =?UTF-8?q?=D0=BB=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=BF=D0=BE=D0=BB=D1=8C=D0=B7?= =?UTF-8?q?=D0=BE=D0=B2=D0=B0=D1=82=D0=B5=D0=BB=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- source/ubl-settings-bootloader.cc | 32 +++++++++++++++++++++++++++++++ source/ubl-settings-bootloader.h | 8 ++++++++ 2 files changed, 40 insertions(+) diff --git a/source/ubl-settings-bootloader.cc b/source/ubl-settings-bootloader.cc index 0c6a3fe..9667055 100755 --- a/source/ubl-settings-bootloader.cc +++ b/source/ubl-settings-bootloader.cc @@ -773,6 +773,8 @@ void MainWindow::cmd_entry_all(Gtk::Entry &entry, string cmd_settings, string cm } void MainWindow::event() { + btnRemoveUser->signal_clicked().connect([&]() {remove_user();}); + btnRemoveMusic->signal_clicked().connect([&]() {remove_music();}); btnAddUser->signal_clicked().connect([&]() {view_add_line_user(row_user, list_store_user);}); btnAddMusic->signal_clicked().connect([&]() {view_add_line_music(row_music, list_store_music);}); btnOpenMenuOS->signal_clicked().connect([&]() {obj_menu_os.show();}); @@ -806,11 +808,41 @@ void MainWindow::event() { entryKernel->signal_focus_in_event().connect(sigc::mem_fun(*this, &MainWindow::focus_in_txt_kernel)); entryIPT->signal_focus_in_event().connect(sigc::mem_fun(*this, &MainWindow::focus_in_txt_IPT)); entryOTT->signal_focus_in_event().connect(sigc::mem_fun(*this, &MainWindow::focus_in_txt_OTT)); + Glib::RefPtr treeViewUserModel = treeViewUser->get_model(); + treeViewUserModel->signal_row_changed().connect(sigc::mem_fun(*this, &MainWindow::remove_line_user)); + Glib::RefPtr treeViewMusicModel = treeViewMusic->get_model(); + treeViewMusicModel->signal_row_changed().connect(sigc::mem_fun(*this, &MainWindow::remove_line_music)); } this->signal_delete_event().connect(sigc::mem_fun(*this, &MainWindow::gui_exit)); chbLoadVariantSelectionTimer->signal_toggled().connect(sigc::mem_fun(*this, &MainWindow::set_active_boot_second)); } +void MainWindow::remove_user() { + if (flag_valide_del_user) { + list_store_user->erase(iter_user_del); + flag_valide_del_user = false; + } + flag_valide_del_user = false; +} + +void MainWindow::remove_music() { + if (flag_valide_del_music) { + list_store_user->erase(iter_music_del); + flag_valide_del_music = false; + } + flag_valide_del_music = false; +} + +void MainWindow::remove_line_user(const Gtk::TreeModel::Path&, const Gtk::TreeModel::iterator& iter) { + iter_user_del = iter; + flag_valide_del_user = true; +} + +void MainWindow::remove_line_music(const Gtk::TreeModel::Path&, const Gtk::TreeModel::iterator& iter) { + iter_music_del = iter; + flag_valide_del_music = true; +} + bool MainWindow::focus_tree_view(GdkEventFocus*) { treeViewKernel->set_can_focus(false); treeViewIPT->set_can_focus(false); diff --git a/source/ubl-settings-bootloader.h b/source/ubl-settings-bootloader.h index 51d825d..84169b8 100644 --- a/source/ubl-settings-bootloader.h +++ b/source/ubl-settings-bootloader.h @@ -286,6 +286,10 @@ public: std::map map_cmd_selection; std::map map_global_cmd_selection; std::map map_local_cmd_selection; + Gtk::TreeModel::iterator iter_user_del; + Gtk::TreeModel::iterator iter_music_del; + bool flag_valide_del_user = false; + bool flag_valide_del_music = false; Gtk::Label *lblDownloadMode; Lib_save::Save obj_save = Lib_save::Save(); @@ -318,6 +322,7 @@ public: MainWindow(Glib::RefPtr const &builder); ~MainWindow(); void open_browser(); + void remove_line_user(const Gtk::TreeModel::Path&, const Gtk::TreeModel::iterator& iter); void set_entry_to_tree_view(Glib::RefPtr &list_store, Gtk::Entry &entry, std::vector &vec_Option, int size, string key); void get_menu_boot(std::map &map_temp); void set_row_all(std::map &map_cmd, Glib::RefPtr &list_store, vector &list_params, size_t size, string key); @@ -329,7 +334,10 @@ public: void show_pass(); void localization(); void event(); + void remove_user(); + void remove_music(); void settings(); + void remove_line_music(const Gtk::TreeModel::Path&, const Gtk::TreeModel::iterator& iter); void view_add_colums_user(Gtk::TreeView &treeView); void view_add_colums_music(Gtk::TreeView &treeView); void set_bat_save(Gtk::Button *btnSave);