1 /*
2   SPDX-FileCopyrightText: 2017-2021 Laurent Montel <montel@kde.org>
3 
4   SPDX-License-Identifier: GPL-2.0-or-later
5 */
6 
7 #include "jobtrackersearchwidget.h"
8 
9 #include <QCheckBox>
10 #include <QComboBox>
11 #include <QHBoxLayout>
12 #include <QLineEdit>
13 
JobTrackerSearchWidget(QWidget * parent)14 JobTrackerSearchWidget::JobTrackerSearchWidget(QWidget *parent)
15     : QWidget(parent)
16 {
17     auto mainLayout = new QHBoxLayout(this);
18     mainLayout->setObjectName(QStringLiteral("mainlayout"));
19     mainLayout->setContentsMargins(0, 0, 0, 0);
20 
21     mSearchLineEdit = new QLineEdit(this);
22     mSearchLineEdit->setObjectName(QStringLiteral("searchline"));
23     mSearchLineEdit->setClearButtonEnabled(true);
24     mSearchLineEdit->setPlaceholderText(QStringLiteral("Search..."));
25     mainLayout->addWidget(mSearchLineEdit);
26     connect(mSearchLineEdit, &QLineEdit::textChanged, this, &JobTrackerSearchWidget::searchTextChanged);
27 
28     mSelectOnlyError = new QCheckBox(QStringLiteral("Show Only Errors"), this);
29     mSelectOnlyError->setObjectName(QStringLiteral("selectonlyerror"));
30     mainLayout->addWidget(mSelectOnlyError);
31     connect(mSelectOnlyError, &QCheckBox::toggled, this, &JobTrackerSearchWidget::selectOnlyErrorChanged);
32 
33     mSelectColumn = new QComboBox(this);
34     mSelectColumn->setObjectName(QStringLiteral("selectcolumn"));
35     mainLayout->addWidget(mSelectColumn);
36     mSelectColumn->addItem(QStringLiteral("All Columns"), -1);
37     mSelectColumn->addItem(QStringLiteral("Job ID"), 0);
38     mSelectColumn->addItem(QStringLiteral("Created"), 1);
39     mSelectColumn->addItem(QStringLiteral("Wait time"), 2);
40     mSelectColumn->addItem(QStringLiteral("Job duration"), 3);
41     mSelectColumn->addItem(QStringLiteral("Job Type"), 4);
42     mSelectColumn->addItem(QStringLiteral("State"), 5);
43     mSelectColumn->addItem(QStringLiteral("Info"), 6);
44     connect(mSelectColumn, &QComboBox::currentIndexChanged, this, &JobTrackerSearchWidget::slotColumnChanged);
45 }
46 
~JobTrackerSearchWidget()47 JobTrackerSearchWidget::~JobTrackerSearchWidget()
48 {
49 }
50 
slotColumnChanged(int index)51 void JobTrackerSearchWidget::slotColumnChanged(int index)
52 {
53     QVariant var = mSelectColumn->itemData(index);
54     if (var.isValid()) {
55         Q_EMIT columnChanged(var.toInt());
56     }
57 }
58