Krita Source Code Documentation
Loading...
Searching...
No Matches
kis_pattern_chooser.cc
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2004 Adrian Page <adrian@pagenet.plus.com>
3 * SPDX-FileCopyrightText: 2011 Srikanth Tiyyagura <srikanth.tulasiram@gmail.com>
4 *
5 * SPDX-License-Identifier: GPL-2.0-or-later
6 */
7
9
10#include <math.h>
11#include <QLayout>
12#include <QVBoxLayout>
13#include <QResizeEvent>
14#include <QShowEvent>
15
16#include <klocalizedstring.h>
20
21#include "kis_signals_blocker.h"
22
23#include "kis_global.h"
24#include <kis_config.h>
25#include <resources/KoPattern.h>
26
27#include <ksqueezedtextlabel.h>
28
30 : QFrame(parent)
31{
32 m_lblName = new KSqueezedTextLabel(this);
33 m_lblName->setTextElideMode(Qt::ElideMiddle);
34 m_lblName->setSizePolicy(QSizePolicy::Ignored, QSizePolicy::Fixed);
35
38 m_itemChooser->setPreviewOrientation(Qt::Horizontal);
41
43 this, SLOT(update(KoResourceSP )));
44
46 this, SIGNAL(resourceSelected(KoResourceSP )));
47
48 QVBoxLayout *mainLayout = new QVBoxLayout(this);
49 mainLayout->setSizeConstraint(QLayout::SetMinAndMaxSize);
50 mainLayout->setContentsMargins(0, 0, 0, 0);
51 mainLayout->addWidget(m_lblName);
52 mainLayout->addWidget(m_itemChooser, 10);
53}
54
58
60{
61 KoResourceSP result = m_itemChooser->currentResource(includeHidden);
62
63 if (!result && includeHidden) {
65 if (rserver->resourceCount() > 0) {
68 result = rserver->firstResource();
69 }
70 }
71 return result;
72}
73
80
88
89void KisPatternChooser::setPreviewOrientation(Qt::Orientation orientation)
90{
92}
93
95{
96 if (!resource) return;
97
98 KoPatternSP pattern = resource.staticCast<KoPattern>();
99 m_lblName->setText(QString("%1 (%2 x %3)").arg(i18n(pattern->name().toUtf8().data())).arg(pattern->width()).arg(pattern->height()));
100}
101
103{
105}
106
107
connect(this, SIGNAL(optionsChanged()), this, SLOT(saveOptions()))
KisResourceItemChooser * m_itemChooser
void setPreviewOrientation(Qt::Orientation orientation)
determines whether the preview right or below the splitter
void setCurrentItem(int row)
void setGrayscalePreview(bool grayscale)
KSqueezedTextLabel * m_lblName
void setCurrentPattern(KoResourceSP resource)
void update(KoResourceSP resource)
void resourceSelected(KoResourceSP resource)
Emitted when a resource was selected.
KoResourceSP currentResource(bool includeHidden=false)
KisPatternChooser(QWidget *parent=0)
void setPreviewOrientation(Qt::Orientation orientation)
determines whether the preview right or below the splitter
void setPreviewTiled(bool tiled)
determines whether the preview should tile the resource's image or not
void setCurrentResource(KoResourceSP resource)
Sets the item representing the resource as selected.
void setGrayscalePreview(bool grayscale)
shows the preview converted to grayscale
KisTagFilterResourceProxyModel * tagFilterModel() const
Write API docs here.
Definition KoPattern.h:21
int resourceCount() const
QSharedPointer< T > firstResource() const
Return the first resource available.
const QString Patterns
static KoResourceServerProvider * instance()
KoResourceServer< KoPattern > * patternServer