From 9a9193d3a2aa3e95efcb36b4903204095e921031 Mon Sep 17 00:00:00 2001 From: Bent Bisballe Nyeng Date: Thu, 4 Oct 2018 19:23:40 +0200 Subject: Force changes instantly. --- src/filelist.cc | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/src/filelist.cc b/src/filelist.cc index b9b1462..da7f399 100644 --- a/src/filelist.cc +++ b/src/filelist.cc @@ -63,6 +63,16 @@ public: if(index.column() == 2) { auto w = new QCheckBox(parent); + auto audiofile_ids = instrument.getAudioFileList(); + auto audiofile_id = audiofile_ids.begin() + index.row(); + auto& audiofile = instrument.getAudioFile(*audiofile_id); + + connect(w, &QCheckBox::stateChanged, + [&audiofile](int state) + { + audiofile.setMainChannel(state == Qt::Checked); + }); + return w; } @@ -70,6 +80,16 @@ public: if(index.column() == 3) { auto w = new QLineEdit(parent); + + auto audiofile_ids = instrument.getAudioFileList(); + auto audiofile_id = audiofile_ids.begin() + index.row(); + auto& audiofile = instrument.getAudioFile(*audiofile_id); + + connect(w, &QLineEdit::textEdited, + [&audiofile](const QString& name) + { + audiofile.setName(name); + }); return w; } @@ -84,6 +104,20 @@ public: const auto& channel = instrument.getProject().getChannel(channel_id); w->addItem(channel.getChannelName(), channel.getId()); } + + auto audiofile_ids = instrument.getAudioFileList(); + auto audiofile_id = audiofile_ids.begin() + index.row(); + auto& audiofile = instrument.getAudioFile(*audiofile_id); + + connect(w, + // This wierd line points the compiler to the correct overloaded + // version of QComboBox::currentIndexChanged + // ie. chooses the (int) version over the (const QString&) version + QOverload::of(&QComboBox::currentIndexChanged), + [w, &audiofile](int idx) + { + audiofile.setChannelMapId(w->itemData(idx).toInt()); + }); return w; } -- cgit v1.2.3