From cbe54c114d95ab1d94331af7e8070ee9f36346c2 Mon Sep 17 00:00:00 2001 From: Igor Belitskiy Date: Thu, 4 May 2023 15:30:38 +0600 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D0=B0=20=D0=B2=D0=B0=D0=BB=D0=B8=D0=B4=D0=B0=D1=86=D0=B8?= =?UTF-8?q?=D1=8F=20treeView=20"melody"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- source/ubl-settings-bootloader.cc | 22 ++++++++++++++++++++++ source/ubl-settings-bootloader.h | 1 + 2 files changed, 23 insertions(+) diff --git a/source/ubl-settings-bootloader.cc b/source/ubl-settings-bootloader.cc index 569aa6c..7ab2130 100755 --- a/source/ubl-settings-bootloader.cc +++ b/source/ubl-settings-bootloader.cc @@ -883,9 +883,31 @@ void MainWindow::remove_line_melody(const Gtk::TreeModel::Path&, const Gtk::Tree imgInfo->set_from_icon_name(icon_checked, Gtk::ICON_SIZE_MENU); lblWarning->set_text(""); } + this->validate_melody(); } +void MainWindow::validate_melody() { + Glib::RefPtr treeViewMelody_model = treeViewMelody->get_model(); + Gtk::TreeModel::Children children = treeViewMelody_model->children(); + int count = 0; + for(Gtk::TreeModel::iterator iter = children.begin(); iter != children.end(); ++iter) { + Gtk::TreeModel::Row row = *iter; + if (row[m_columns_melody.check_button]) { + count+=1; + } + } + if (count>1) { + for(Gtk::TreeModel::iterator iter = children.begin(); iter != children.end(); ++iter) { + Gtk::TreeModel::Row row = *iter; + if (row[m_columns_melody.check_button]) { + count-=1; + row[m_columns_melody.check_button] = false; + } + } + } +} + 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 f379116..21ec440 100644 --- a/source/ubl-settings-bootloader.h +++ b/source/ubl-settings-bootloader.h @@ -336,6 +336,7 @@ public: void remove_user(); void remove_melody(); void settings(); + void validate_melody(); void remove_line_melody(const Gtk::TreeModel::Path&, const Gtk::TreeModel::iterator& iter); void view_add_colums_user(Gtk::TreeView &treeView); void view_add_colums_melody(Gtk::TreeView &treeView);