Krita Source Code Documentation
Loading...
Searching...
No Matches
KisTagFilterWidget Class Reference

#include <KisTagFilterWidget.h>

+ Inheritance diagram for KisTagFilterWidget:

Classes

class  Private
 

Public Slots

void clear ()
 

Signals

void filterByTagChanged (const bool filterByTag)
 
void filterTextChanged (const QString &filterText)
 

Public Member Functions

bool isFilterByTagChecked ()
 
 KisTagFilterWidget (KisTagModel *model, QWidget *parent)
 
 ~KisTagFilterWidget () override
 

Private Slots

void onTextChanged (const QString &lineEditText)
 
void slotFilterByTagChanged (int filterByTag)
 

Private Attributes

Private *const d
 

Detailed Description

Definition at line 16 of file KisTagFilterWidget.h.

Constructor & Destructor Documentation

◆ KisTagFilterWidget()

KisTagFilterWidget::KisTagFilterWidget ( KisTagModel * model,
QWidget * parent )
explicit

Definition at line 39 of file KisTagFilterWidget.cpp.

40 : QWidget(parent)
41 , d(new Private())
42{
43 QString searchTooltipMaintext = i18nc(
44 "@info:tooltip",
45 "<p>Enter search terms to filter by name</p>");
46
47 QGridLayout* filterBarLayout = new QGridLayout(this);
48
49
50 d->tagSearchLineEdit = new QLineEdit(this);
51 d->tagSearchLineEdit->setClearButtonEnabled(true);
52 d->tagSearchLineEdit->setPlaceholderText(i18n("Search"));
53 d->tagSearchLineEdit->setToolTip(searchTooltipMaintext);
54 d->tagSearchLineEdit->setEnabled(true);
55
56 d->completer = new QCompleter(model, this);
57 d->completer->setCompletionRole(Qt::DisplayRole);
58 d->completer->setCaseSensitivity(Qt::CaseInsensitive);
59 d->tagSearchLineEdit->setCompleter(d->completer);
60
61 filterBarLayout->setContentsMargins(0, 0, 0, 0);
62 filterBarLayout->setColumnStretch(0, 1);
63 filterBarLayout->addWidget(d->tagSearchLineEdit, 0, 0);
64
65 d->filterByTagCheckbox = new QCheckBox(this);
66 d->filterByTagCheckbox->setText(i18nc("It appears in the checkbox next to the filter box "
67 "in resources dockers; must be short.", "Filter in Tag"));
68
69 KConfigGroup cfg = KSharedConfig::openConfig()->group(d->configGroup);
70 bool filterByTagCheckboxChecked = cfg.readEntry(d->configName, true);
71 d->filterByTagCheckbox->setChecked(filterByTagCheckboxChecked);
72
73
74 filterBarLayout->addWidget(d->filterByTagCheckbox, 0, 1);
75 connect(d->tagSearchLineEdit, SIGNAL(textChanged(QString)),
76 this, SLOT(onTextChanged(QString)));
77 connect(d->filterByTagCheckbox, SIGNAL(stateChanged(int)), this, SLOT(slotFilterByTagChanged(int)));
78}
connect(this, SIGNAL(optionsChanged()), this, SLOT(saveOptions()))
void slotFilterByTagChanged(int filterByTag)
void onTextChanged(const QString &lineEditText)

References KisTagFilterWidget::Private::completer, KisTagFilterWidget::Private::configGroup, KisTagFilterWidget::Private::configName, connect(), d, KisTagFilterWidget::Private::filterByTagCheckbox, onTextChanged(), slotFilterByTagChanged(), and KisTagFilterWidget::Private::tagSearchLineEdit.

◆ ~KisTagFilterWidget()

KisTagFilterWidget::~KisTagFilterWidget ( )
override

Definition at line 80 of file KisTagFilterWidget.cpp.

81{
82 delete d;
83}

References d.

Member Function Documentation

◆ clear

void KisTagFilterWidget::clear ( )
slot

Definition at line 85 of file KisTagFilterWidget.cpp.

86{
87 d->tagSearchLineEdit->clear();
88}

References d, and KisTagFilterWidget::Private::tagSearchLineEdit.

◆ filterByTagChanged

void KisTagFilterWidget::filterByTagChanged ( const bool filterByTag)
signal

◆ filterTextChanged

void KisTagFilterWidget::filterTextChanged ( const QString & filterText)
signal

◆ isFilterByTagChecked()

bool KisTagFilterWidget::isFilterByTagChecked ( )

Definition at line 90 of file KisTagFilterWidget.cpp.

91{
92 return d->filterByTagCheckbox->isChecked();
93}

References d, and KisTagFilterWidget::Private::filterByTagCheckbox.

◆ onTextChanged

void KisTagFilterWidget::onTextChanged ( const QString & lineEditText)
privateslot

Definition at line 96 of file KisTagFilterWidget.cpp.

97{
98 Q_EMIT filterTextChanged(lineEditText);
99}
void filterTextChanged(const QString &filterText)

References filterTextChanged().

◆ slotFilterByTagChanged

void KisTagFilterWidget::slotFilterByTagChanged ( int filterByTag)
privateslot

Definition at line 101 of file KisTagFilterWidget.cpp.

102{
103 Q_EMIT filterByTagChanged(filterByTag == Qt::Checked);
104 KConfigGroup cfg = KSharedConfig::openConfig()->group(d->configGroup);
105 cfg.writeEntry(d->configName, filterByTag == Qt::Checked);
106}
void filterByTagChanged(const bool filterByTag)

References KisTagFilterWidget::Private::configGroup, KisTagFilterWidget::Private::configName, d, and filterByTagChanged().

Member Data Documentation

◆ d

Private* const KisTagFilterWidget::d
private

Definition at line 37 of file KisTagFilterWidget.h.


The documentation for this class was generated from the following files: