/[svn]/gigedit/trunk/src/gigedit/mainwindow.cpp
ViewVC logotype

Diff of /gigedit/trunk/src/gigedit/mainwindow.cpp

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 3811 by schoenebeck, Fri Aug 14 11:54:49 2020 UTC revision 3814 by schoenebeck, Fri Aug 14 12:29:01 2020 UTC
# Line 4452  void MainWindow::on_action_remove_instru Line 4452  void MainWindow::on_action_remove_instru
4452      }      }
4453    
4454      Glib::RefPtr<Gtk::TreeSelection> sel = m_TreeViewInstruments.get_selection();      Glib::RefPtr<Gtk::TreeSelection> sel = m_TreeViewInstruments.get_selection();
4455      std::vector<Gtk::TreeModel::Path> rows = sel->get_selected_rows();      std::vector<Gtk::TreeModel::Path> rowsVisual = sel->get_selected_rows();
4456    
4457        // convert indeces of visual selection (i.e. if filtered) to indeces of model
4458        std::vector<Gtk::TreeModel::Path> rows;
4459        for (int rv = 0; rv < rowsVisual.size(); ++rv) {
4460            Gtk::TreeModel::Path path = m_refInstrumentsModelFilter->convert_path_to_child_path(rowsVisual[rv]);
4461            if (path)
4462                rows.push_back(path);
4463        }
4464    
4465      for (int r = rows.size() - 1; r >= 0; --r) {      for (int r = rows.size() - 1; r >= 0; --r) {
4466          Gtk::TreeModel::iterator it = m_refInstrumentsTreeModel->get_iter(rows[r]);          Gtk::TreeModel::iterator it = m_refInstrumentsTreeModel->get_iter(rows[r]);
4467          if (!it) continue;          if (!it) continue;
# Line 5147  void MainWindow::on_instruments_treeview Line 5156  void MainWindow::on_instruments_treeview
5156          Glib::RefPtr<Gtk::TreeSelection> sel = m_TreeViewInstruments.get_selection();          Glib::RefPtr<Gtk::TreeSelection> sel = m_TreeViewInstruments.get_selection();
5157          std::vector<Gtk::TreeModel::Path> rows = sel->get_selected_rows();          std::vector<Gtk::TreeModel::Path> rows = sel->get_selected_rows();
5158          if (!rows.empty()) {          if (!rows.empty()) {
5159              Gtk::TreeModel::iterator it = m_refInstrumentsTreeModel->get_iter(rows[0]);              // convert index of visual selection (i.e. if filtered) to index of model
5160                Gtk::TreeModel::Path path = m_refInstrumentsModelFilter->convert_path_to_child_path(rows[0]);
5161                Gtk::TreeModel::iterator it = m_refInstrumentsTreeModel->get_iter(path);
5162              if (it) {              if (it) {
5163                  Gtk::TreeModel::Row row = *it;                  Gtk::TreeModel::Row row = *it;
5164                  src = row[m_InstrumentsModel.m_col_instr];                  src = row[m_InstrumentsModel.m_col_instr];
# Line 5175  void MainWindow::on_instruments_treeview Line 5186  void MainWindow::on_instruments_treeview
5186          const bool found = m_TreeViewInstruments.get_path_at_pos(x, y, path);          const bool found = m_TreeViewInstruments.get_path_at_pos(x, y, path);
5187          if (!found) return;          if (!found) return;
5188    
5189            // convert index of visual selection (i.e. if filtered) to index of model
5190            path = m_refInstrumentsModelFilter->convert_path_to_child_path(path);
5191            if (!path) return;
5192    
5193          Gtk::TreeModel::iterator iter = m_refInstrumentsTreeModel->get_iter(path);          Gtk::TreeModel::iterator iter = m_refInstrumentsTreeModel->get_iter(path);
5194          if (!iter) return;          if (!iter) return;
5195          Gtk::TreeModel::Row row = *iter;          Gtk::TreeModel::Row row = *iter;
# Line 5427  void MainWindow::on_action_combine_instr Line 5442  void MainWindow::on_action_combine_instr
5442          Glib::RefPtr<Gtk::TreeSelection> sel = m_TreeViewInstruments.get_selection();          Glib::RefPtr<Gtk::TreeSelection> sel = m_TreeViewInstruments.get_selection();
5443          std::vector<Gtk::TreeModel::Path> rows = sel->get_selected_rows();          std::vector<Gtk::TreeModel::Path> rows = sel->get_selected_rows();
5444          for (int r = 0; r < rows.size(); ++r) {          for (int r = 0; r < rows.size(); ++r) {
5445              Gtk::TreeModel::iterator it = m_refInstrumentsTreeModel->get_iter(rows[r]);              // convert index of visual selection (i.e. if filtered) to index of model
5446                Gtk::TreeModel::Path path = m_refInstrumentsModelFilter->convert_path_to_child_path(rows[r]);
5447                Gtk::TreeModel::iterator it = m_refInstrumentsTreeModel->get_iter(path);
5448              if (it) {              if (it) {
5449                  Gtk::TreeModel::Row row = *it;                  Gtk::TreeModel::Row row = *it;
5450                  int index = row[m_InstrumentsModel.m_col_nr];                  int index = row[m_InstrumentsModel.m_col_nr];

Legend:
Removed from v.3811  
changed lines
  Added in v.3814

  ViewVC Help
Powered by ViewVC