MCPcopy Index your code
hub / github.com/Audio4Linux/JDSP4Linux / PresetRuleDialog

Method PresetRuleDialog

src/interface/dialog/PresetRuleDialog.cpp:16–51  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

14#include <QMessageBox>
15
16PresetRuleDialog::PresetRuleDialog(IAudioService* service, QWidget *parent) :
17 QDialog(parent),
18 ui(new Ui::PresetRuleDialog),
19 service(service),
20 deviceModel(new DeviceListModel(service, this)),
21 presetModel(PresetManager::instance().presetModel()),
22 ruleModel(new PresetRuleTableModel(this)),
23 ruleDelegate(new PresetRuleTableDelegate(this)),
24 addRuleFragment(new FragmentHost<PresetAddRuleFragment*>(new PresetAddRuleFragment(deviceModel, presetModel, ruleModel, this),
25 WAF::BottomSide, this))
26{
27 ui->setupUi(this);
28
29 ruleDelegate->attachModels(deviceModel, presetModel, ruleModel);
30 ui->ruleTable->setItemDelegate(ruleDelegate);
31 ui->ruleTable->setModel(ruleModel);
32 ui->ruleTable->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch);
33 ui->ruleTable->setEmptyViewEnabled(true);
34 ui->ruleTable->setEmptyViewTitle(tr("No rules defined"));
35
36 ruleModel->load();
37 deviceModel->load(service->outputDevices());
38 presetModel->rescan();
39
40 ui->remove->setEnabled(false);
41
42 connect(ui->ruleTable->selectionModel(), &QItemSelectionModel::selectionChanged, this, &PresetRuleDialog::onSelectionChanged);
43
44 connect(ui->buttonBox, &QDialogButtonBox::rejected, this, &PresetRuleDialog::reject);
45 connect(ui->buttonBox, &QDialogButtonBox::accepted, ruleModel, &PresetRuleTableModel::commit);
46 connect(ui->buttonBox, &QDialogButtonBox::accepted, this, &PresetRuleDialog::accept);
47
48 connect(ui->remove, &QPushButton::clicked, this, &PresetRuleDialog::onRemoveClicked);
49 connect(ui->add, &QPushButton::clicked, this, &PresetRuleDialog::onAddClicked);
50 connect(addRuleFragment->fragment(), &PresetAddRuleFragment::accepted, this, &PresetRuleDialog::onAddConfirmed);
51}
52
53PresetRuleDialog::~PresetRuleDialog()
54{

Callers

nothing calls this directly

Calls 10

connectFunction · 0.85
presetModelMethod · 0.80
attachModelsMethod · 0.80
rescanMethod · 0.80
setEnabledMethod · 0.80
setEmptyViewEnabledMethod · 0.45
setEmptyViewTitleMethod · 0.45
loadMethod · 0.45
outputDevicesMethod · 0.45
fragmentMethod · 0.45

Tested by

no test coverage detected