/[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 3810 by schoenebeck, Fri Aug 14 11:45:08 2020 UTC revision 3813 by schoenebeck, Fri Aug 14 12:18:26 2020 UTC
# Line 4419  void MainWindow::on_action_duplicate_ins Line 4419  void MainWindow::on_action_duplicate_ins
4419      Glib::RefPtr<Gtk::TreeSelection> sel = m_TreeViewInstruments.get_selection();      Glib::RefPtr<Gtk::TreeSelection> sel = m_TreeViewInstruments.get_selection();
4420      std::vector<Gtk::TreeModel::Path> rows = sel->get_selected_rows();      std::vector<Gtk::TreeModel::Path> rows = sel->get_selected_rows();
4421      for (int r = 0; r < rows.size(); ++r) {      for (int r = 0; r < rows.size(); ++r) {
4422          Gtk::TreeModel::iterator it = m_refInstrumentsTreeModel->get_iter(rows[r]);          // convert index of visual selection (i.e. if filtered) to index of model
4423            Gtk::TreeModel::Path path = m_refInstrumentsModelFilter->convert_path_to_child_path(rows[r]);
4424            Gtk::TreeModel::iterator it = m_refInstrumentsTreeModel->get_iter(path);
4425          if (it) {          if (it) {
4426              Gtk::TreeModel::Row row = *it;              Gtk::TreeModel::Row row = *it;
4427              gig::Instrument* instrOrig = row[m_InstrumentsModel.m_col_instr];              gig::Instrument* instrOrig = row[m_InstrumentsModel.m_col_instr];
# Line 4450  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 5145  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 5173  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;

Legend:
Removed from v.3810  
changed lines
  Added in v.3813

  ViewVC Help
Powered by ViewVC