Krita Source Code Documentation
Loading...
Searching...
No Matches
KisDetailsPane Class Referenceabstract

#include <KisDetailsPane.h>

+ Inheritance diagram for KisDetailsPane:

Public Slots

void resizeSplitter (KisDetailsPane *sender, const QList< int > &sizes)
 This is used to keep all splitters in different details panes synced.
 

Signals

void openUrl (const QUrl &)
 Emitted when a file is requested to be opened.
 
void splitterResized (KisDetailsPane *sender, const QList< int > &sizes)
 This is used to keep all splitters in different details panes synced.
 

Public Member Functions

bool eventFilter (QObject *watched, QEvent *e) override
 
 KisDetailsPane (QWidget *parent, const QString &header)
 
QStandardItemModel * model () const
 
 ~KisDetailsPane () override
 

Protected Types

enum  Extents { IconExtent = 64 , PreviewExtent = 128 }
 

Protected Slots

void changePalette ()
 
virtual void openFile ()
 
virtual void openFile (const QModelIndex &index)=0
 
virtual void selectionChanged (const QModelIndex &index)=0
 This is called when the selection in the listview changed.
 

Private Attributes

KisDetailsPanePrivate *const d
 

Detailed Description

Definition at line 17 of file KisDetailsPane.h.

Member Enumeration Documentation

◆ Extents

enum KisDetailsPane::Extents
protected
Enumerator
IconExtent 
PreviewExtent 

Definition at line 50 of file KisDetailsPane.h.

50 {
51 IconExtent = 64,
52 PreviewExtent = 128
53 };

Constructor & Destructor Documentation

◆ KisDetailsPane()

KisDetailsPane::KisDetailsPane ( QWidget * parent,
const QString & header )

Definition at line 21 of file KisDetailsPane.cpp.

22 : QWidget(parent),
23 Ui_KisDetailsPaneBase(),
25{
26 d->m_model.setHorizontalHeaderItem(0, new QStandardItem(header));
27
28 setupUi(this);
29
30 m_documentList->installEventFilter(this);
31 m_documentList->setIconSize(QSize(IconExtent, IconExtent));
32 m_documentList->setModel(&d->m_model);
33 m_splitter->setSizes(QList<int>() << 2 << 1);
34
36
37 connect(m_documentList->selectionModel(), SIGNAL(currentChanged(QModelIndex,QModelIndex)),
38 this, SLOT(selectionChanged(QModelIndex)));
39 connect(m_documentList, SIGNAL(doubleClicked(QModelIndex)),
40 this, SLOT(openFile(QModelIndex)));
41 connect(m_openButton, SIGNAL(clicked()), this, SLOT(openFile()));
42}
connect(this, SIGNAL(optionsChanged()), this, SLOT(saveOptions()))
virtual void selectionChanged(const QModelIndex &index)=0
This is called when the selection in the listview changed.
virtual void openFile()
KisDetailsPanePrivate *const d
QStandardItemModel m_model

References changePalette(), connect(), d, IconExtent, KisDetailsPanePrivate::m_model, openFile(), and selectionChanged().

◆ ~KisDetailsPane()

KisDetailsPane::~KisDetailsPane ( )
override

Definition at line 44 of file KisDetailsPane.cpp.

45{
46 delete d;
47}

References d.

Member Function Documentation

◆ changePalette

void KisDetailsPane::changePalette ( )
protectedslot

Definition at line 82 of file KisDetailsPane.cpp.

83{
84 QPalette p = palette();
85 p.setBrush(QPalette::Base, QColor(Qt::transparent));
86 p.setColor(QPalette::Text, p.color(QPalette::Normal, QPalette::WindowText));
87 m_detailsLabel->setPalette(p);
88}
const Params2D p
rgba palette[MAX_PALETTE]
Definition palette.c:35

References p, and palette.

◆ eventFilter()

bool KisDetailsPane::eventFilter ( QObject * watched,
QEvent * e )
override

Definition at line 49 of file KisDetailsPane.cpp.

50{
51 if (watched == m_documentList) {
52 if ((e->type() == QEvent::Resize) && isVisible()) {
53 Q_EMIT splitterResized(this, m_splitter->sizes());
54 }
55
56 if ((e->type() == QEvent::KeyPress)) {
57 QKeyEvent* keyEvent = static_cast<QKeyEvent*>(e);
58
59 if (keyEvent->key() == Qt::Key_Enter || keyEvent->key() == Qt::Key_Return) {
60 openFile();
61 }
62 }
63 }
64
65 return false;
66}
void splitterResized(KisDetailsPane *sender, const QList< int > &sizes)
This is used to keep all splitters in different details panes synced.

References openFile(), and splitterResized().

◆ model()

QStandardItemModel * KisDetailsPane::model ( ) const
Returns
the model used in the document list

Definition at line 90 of file KisDetailsPane.cpp.

91{
92 return &d->m_model;
93}

References d, and KisDetailsPanePrivate::m_model.

◆ openFile [1/2]

void KisDetailsPane::openFile ( )
protectedvirtualslot

Definition at line 76 of file KisDetailsPane.cpp.

77{
78 QModelIndex index = m_documentList->selectionModel()->currentIndex();
79 openFile(index);
80}

References openFile().

◆ openFile [2/2]

virtual void KisDetailsPane::openFile ( const QModelIndex & index)
protectedpure virtualslot

◆ openUrl

void KisDetailsPane::openUrl ( const QUrl & )
signal

Emitted when a file is requested to be opened.

◆ resizeSplitter

void KisDetailsPane::resizeSplitter ( KisDetailsPane * sender,
const QList< int > & sizes )
slot

This is used to keep all splitters in different details panes synced.

Definition at line 68 of file KisDetailsPane.cpp.

69{
70 if (sender == this)
71 return;
72
73 m_splitter->setSizes(sizes);
74}

◆ selectionChanged

virtual void KisDetailsPane::selectionChanged ( const QModelIndex & index)
protectedpure virtualslot

This is called when the selection in the listview changed.

◆ splitterResized

void KisDetailsPane::splitterResized ( KisDetailsPane * sender,
const QList< int > & sizes )
signal

This is used to keep all splitters in different details panes synced.

Member Data Documentation

◆ d

KisDetailsPanePrivate* const KisDetailsPane::d
private

Definition at line 56 of file KisDetailsPane.h.


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