| 244 | } |
| 245 | |
| 246 | GrepDialog::GrepDialog(GrepViewPlugin* plugin, GrepOutputView* toolView, QWidget* parent, bool show) |
| 247 | : QDialog(parent) |
| 248 | , Ui::GrepWidget() |
| 249 | , m_plugin(plugin) |
| 250 | , m_toolView(toolView) |
| 251 | , m_show(show) |
| 252 | { |
| 253 | setAttribute(Qt::WA_DeleteOnClose); |
| 254 | |
| 255 | // if we don't intend on showing the dialog, we can skip all UI setup |
| 256 | if (!m_show) { |
| 257 | return; |
| 258 | } |
| 259 | |
| 260 | setWindowTitle(i18nc("@title:window", "Find/Replace in Files")); |
| 261 | |
| 262 | setupUi(this); |
| 263 | patternCombo->lineEdit()->setClearButtonEnabled(true); |
| 264 | adjustSize(); |
| 265 | |
| 266 | auto searchButton = buttonBox->button(QDialogButtonBox::Ok); |
| 267 | Q_ASSERT(searchButton); |
| 268 | searchButton->setText(i18nc("@action:button", "Search...")); |
| 269 | searchButton->setIcon(QIcon::fromTheme(QStringLiteral("edit-find"))); |
| 270 | connect(searchButton, &QPushButton::clicked, this, &GrepDialog::startSearch); |
| 271 | connect(buttonBox, &QDialogButtonBox::rejected, this, &GrepDialog::reject); |
| 272 | |
| 273 | const DialogConfigReader configReader; |
| 274 | |
| 275 | patternCombo->addItems(configReader.patternList()); |
| 276 | patternCombo->setInsertPolicy(QComboBox::InsertAtTop); |
| 277 | patternCombo->setCompleter(nullptr); |
| 278 | |
| 279 | templateTypeCombo->addItems(template_desc()); |
| 280 | templateTypeCombo->setCurrentIndex(configReader.templateIndex()); |
| 281 | templateEdit->addItems(configReader.templateStringList()); |
| 282 | templateEdit->setEditable(true); |
| 283 | templateEdit->setCompletionMode(KCompletion::CompletionPopup); |
| 284 | KCompletion* comp = templateEdit->completionObject(); |
| 285 | connect(templateEdit, QOverload<const QString&>::of(&KComboBox::returnPressed), |
| 286 | comp, QOverload<const QString&>::of(&KCompletion::addItem)); |
| 287 | for(int i=0; i<templateEdit->count(); i++) |
| 288 | comp->addItem(templateEdit->itemText(i)); |
| 289 | replacementTemplateEdit->addItems(configReader.replacementTemplateStringList()); |
| 290 | replacementTemplateEdit->setEditable(true); |
| 291 | replacementTemplateEdit->setCompletionMode(KCompletion::CompletionPopup); |
| 292 | comp = replacementTemplateEdit->completionObject(); |
| 293 | connect(replacementTemplateEdit, QOverload<const QString&>::of(&KComboBox::returnPressed), |
| 294 | comp, QOverload<const QString&>::of(&KCompletion::addItem)); |
| 295 | for(int i=0; i<replacementTemplateEdit->count(); i++) |
| 296 | comp->addItem(replacementTemplateEdit->itemText(i)); |
| 297 | |
| 298 | regexCheck->setChecked(configReader.isRegex()); |
| 299 | |
| 300 | caseSensitiveCheck->setChecked(configReader.isCaseSensitive()); |
| 301 | |
| 302 | searchPaths->setCompletionObject(new KUrlCompletion()); |
| 303 | searchPaths->setAutoDeleteCompletionObject(true); |
nothing calls this directly
no test coverage detected