File indexing completed on 2024-05-12 05:12:46

0001 /*
0002   SPDX-FileCopyrightText: 2017-2024 Laurent Montel <montel@kde.org>
0003 
0004   SPDX-License-Identifier: GPL-2.0-or-later
0005 */
0006 
0007 #include "jobtrackersearchwidget.h"
0008 
0009 #include <KLocalizedString>
0010 #include <QCheckBox>
0011 #include <QComboBox>
0012 #include <QHBoxLayout>
0013 #include <QLineEdit>
0014 
0015 JobTrackerSearchWidget::JobTrackerSearchWidget(QWidget *parent)
0016     : QWidget(parent)
0017     , mSearchLineEdit(new QLineEdit(this))
0018     , mSelectColumn(new QComboBox(this))
0019     , mSelectOnlyError(new QCheckBox(i18n("Show Only Errors"), this))
0020 {
0021     auto mainLayout = new QHBoxLayout(this);
0022     mainLayout->setObjectName(QLatin1StringView("mainlayout"));
0023     mainLayout->setContentsMargins(0, 0, 0, 0);
0024 
0025     mSearchLineEdit->setObjectName(QLatin1StringView("searchline"));
0026     mSearchLineEdit->setClearButtonEnabled(true);
0027     mSearchLineEdit->setPlaceholderText(i18n("Search..."));
0028     mainLayout->addWidget(mSearchLineEdit);
0029     connect(mSearchLineEdit, &QLineEdit::textChanged, this, &JobTrackerSearchWidget::searchTextChanged);
0030 
0031     mSelectOnlyError->setObjectName(QLatin1StringView("selectonlyerror"));
0032     mainLayout->addWidget(mSelectOnlyError);
0033     connect(mSelectOnlyError, &QCheckBox::toggled, this, &JobTrackerSearchWidget::selectOnlyErrorChanged);
0034 
0035     mSelectColumn->setObjectName(QLatin1StringView("selectcolumn"));
0036     mainLayout->addWidget(mSelectColumn);
0037     mSelectColumn->addItem(i18n("All Columns"), -1);
0038     mSelectColumn->addItem(i18n("Job ID"), 0);
0039     mSelectColumn->addItem(i18n("Created"), 1);
0040     mSelectColumn->addItem(i18n("Wait time"), 2);
0041     mSelectColumn->addItem(i18n("Job duration"), 3);
0042     mSelectColumn->addItem(i18n("Job Type"), 4);
0043     mSelectColumn->addItem(i18n("State"), 5);
0044     mSelectColumn->addItem(i18n("Info"), 6);
0045     connect(mSelectColumn, &QComboBox::currentIndexChanged, this, &JobTrackerSearchWidget::slotColumnChanged);
0046 }
0047 
0048 JobTrackerSearchWidget::~JobTrackerSearchWidget() = default;
0049 
0050 void JobTrackerSearchWidget::slotColumnChanged(int index)
0051 {
0052     QVariant var = mSelectColumn->itemData(index);
0053     if (var.isValid()) {
0054         Q_EMIT columnChanged(var.toInt());
0055     }
0056 }
0057 
0058 #include "moc_jobtrackersearchwidget.cpp"