| 65 | } |
| 66 | |
| 67 | EnvironmentWidget::EnvironmentWidget( QWidget *parent ) |
| 68 | : QWidget(parent) |
| 69 | , m_environmentProfileListModel(new EnvironmentProfileListModel(this)) |
| 70 | , m_environmentProfileModel(new EnvironmentProfileModel(m_environmentProfileListModel, this)) |
| 71 | , m_proxyModel(new QSortFilterProxyModel(this)) |
| 72 | { |
| 73 | // setup ui |
| 74 | ui.setupUi( this ); |
| 75 | |
| 76 | ui.profileSelect->setModel(m_environmentProfileListModel); |
| 77 | m_proxyModel->setSourceModel(m_environmentProfileModel); |
| 78 | |
| 79 | auto* topProxyModel = new PlaceholderItemProxyModel(this); |
| 80 | topProxyModel->setSourceModel(m_proxyModel); |
| 81 | topProxyModel->setColumnHint(0, i18nc("@info:placeholder", "Enter variable...")); |
| 82 | connect(topProxyModel, &PlaceholderItemProxyModel::dataInserted, this, &EnvironmentWidget::onVariableInserted); |
| 83 | |
| 84 | ui.variableTable->setModel( topProxyModel ); |
| 85 | ui.variableTable->horizontalHeader()->setSectionResizeMode( 0, QHeaderView::ResizeToContents ); |
| 86 | ui.variableTable->horizontalHeader()->setSectionResizeMode( 1, QHeaderView::Stretch ); |
| 87 | ui.removeVariableButton->setShortcut(Qt::Key_Delete); |
| 88 | |
| 89 | connect(ui.removeVariableButton, &QPushButton::clicked, |
| 90 | this, &EnvironmentWidget::removeSelectedVariables); |
| 91 | connect(ui.batchModeEditButton, &QPushButton::clicked, |
| 92 | this, &EnvironmentWidget::batchModeEditButtonClicked); |
| 93 | |
| 94 | connect(ui.cloneProfileButton, &QPushButton::clicked, this, &EnvironmentWidget::cloneSelectedProfile); |
| 95 | connect(ui.addProfileButton, &QPushButton::clicked, this, &EnvironmentWidget::addProfile); |
| 96 | connect(ui.removeProfileButton, &QPushButton::clicked, this, &EnvironmentWidget::removeSelectedProfile); |
| 97 | connect(ui.setAsDefaultProfileButton, &QPushButton::clicked, this, &EnvironmentWidget::setSelectedProfileAsDefault); |
| 98 | connect(ui.profileSelect, QOverload<int>::of(&KComboBox::currentIndexChanged), |
| 99 | this, &EnvironmentWidget::onSelectedProfileChanged); |
| 100 | |
| 101 | connect(m_environmentProfileListModel, &EnvironmentProfileListModel::defaultProfileChanged, |
| 102 | this, &EnvironmentWidget::onDefaultProfileChanged); |
| 103 | connect(m_environmentProfileListModel, &EnvironmentProfileListModel::rowsInserted, |
| 104 | this, &EnvironmentWidget::changed); |
| 105 | connect(m_environmentProfileListModel, &EnvironmentProfileListModel::rowsRemoved, |
| 106 | this, &EnvironmentWidget::changed); |
| 107 | connect(m_environmentProfileListModel, &EnvironmentProfileListModel::defaultProfileChanged, |
| 108 | this, &EnvironmentWidget::changed); |
| 109 | |
| 110 | connect(ui.variableTable->selectionModel(), &QItemSelectionModel::selectionChanged, |
| 111 | this, &EnvironmentWidget::updateDeleteVariableButton); |
| 112 | connect(m_environmentProfileModel, &EnvironmentProfileModel::rowsInserted, |
| 113 | this, &EnvironmentWidget::updateDeleteVariableButton); |
| 114 | connect(m_environmentProfileModel, &EnvironmentProfileModel::rowsRemoved, |
| 115 | this, &EnvironmentWidget::updateDeleteVariableButton); |
| 116 | connect(m_environmentProfileModel, &EnvironmentProfileModel::modelReset, |
| 117 | this, &EnvironmentWidget::updateDeleteVariableButton); |
| 118 | connect(m_environmentProfileModel, &EnvironmentProfileModel::dataChanged, |
| 119 | this, &EnvironmentWidget::changed); |
| 120 | connect(m_environmentProfileModel, &EnvironmentProfileModel::rowsInserted, |
| 121 | this, &EnvironmentWidget::changed); |
| 122 | connect(m_environmentProfileModel, &EnvironmentProfileModel::rowsRemoved, |
| 123 | this, &EnvironmentWidget::changed); |
| 124 | } |
nothing calls this directly
no test coverage detected