Krita Source Code Documentation
Loading...
Searching...
No Matches
kedittoolbar_p.h
Go to the documentation of this file.
1/* This file is part of the KDE libraries
2 SPDX-FileCopyrightText: 2000 Kurt Granroth <granroth@kde.org>
3 SPDX-FileCopyrightText: 2006 Hamish Rodda <rodda@kde.org>
4
5 SPDX-License-Identifier: LGPL-2.0-only
6*/
7#ifndef KEDITTOOLBARP_H
8#define KEDITTOOLBARP_H
9
10#include "kxmlguiclient.h"
11#include <QDialog>
12#include <QListWidget>
13
14class QDialogButtonBox;
15class QLineEdit;
16class QCheckBox;
17
18namespace KDEPrivate
19{
20
21class ToolBarItem;
22class KisKEditToolBarWidgetPrivate;
23
24class ToolBarListWidget : public QListWidget
25{
26 Q_OBJECT
27public:
28 ToolBarListWidget(QWidget *parent = 0);
29
30 void makeVisible(QListWidgetItem *item)
31 {
32 scrollTo(indexFromItem(item));
33 }
34
35 ToolBarItem *currentItem() const;
36
37 void setActiveList(bool isActiveList)
38 {
39 m_activeList = isActiveList;
40 }
41
42Q_SIGNALS:
43 void dropped(ToolBarListWidget *list, int index, ToolBarItem *item, bool sourceIsActiveList);
44
45protected:
46 Qt::DropActions supportedDropActions() const override
47 {
48 return Qt::MoveAction;
49 }
50 QStringList mimeTypes() const override
51 {
52 return QStringList() << QStringLiteral("application/x-kde-action-list");
53 }
54
55#if (QT_VERSION < QT_VERSION_CHECK(6, 0, 0))
56 QMimeData *mimeData(const QList<QListWidgetItem *> items) const override;
57#else
58 QMimeData *mimeData(const QList<QListWidgetItem *> &items) const override;
59#endif
60 bool dropMimeData(int index, const QMimeData *data, Qt::DropAction action) override;
61
62 // Skip internal dnd handling in QListWidget ---- how is one supposed to figure this out
63 // without reading the QListWidget code !?
64 void dropEvent(QDropEvent *ev) override
65 {
66 QAbstractItemView::dropEvent(ev);
67 }
68
69private:
71};
72
73class IconTextEditDialog : public QDialog
74{
75 Q_OBJECT
76public:
77 explicit IconTextEditDialog(QWidget *parent = 0);
78
79public:
80 void setIconText(const QString &text);
81 QString iconText() const;
82
83 void setTextAlongsideIconHidden(bool hidden);
84 bool textAlongsideIconHidden() const;
85
86private Q_SLOTS:
87 void slotTextChanged(const QString &text);
88
89private:
90 QLineEdit *m_lineEdit;
91 QCheckBox *m_cbHidden;
92 QDialogButtonBox *m_buttonBox;
93};
94
114class KisKEditToolBarWidget : public QWidget, virtual public KisKXMLGUIClient
115{
116 Q_OBJECT
117public:
130 explicit KisKEditToolBarWidget(KisKActionCollection *collection,
131 QWidget *parent = 0L);
132
145 explicit KisKEditToolBarWidget(QWidget *parent = 0L);
146
152 ~KisKEditToolBarWidget() override;
153
179 void load(const QString &resourceFile,
180 bool global = true,
181 const QString &defaultToolBar = QString());
182
197 const QString &defaultToolBar = QString());
198
202 KisKActionCollection *actionCollection() const override;
203
211 void save();
212
217
218Q_SIGNALS:
222 void enableOk(bool);
223
224private:
225 Q_PRIVATE_SLOT(d, void slotToolBarSelected(int index))
226
227 Q_PRIVATE_SLOT(d, void slotInactiveSelectionChanged())
228 Q_PRIVATE_SLOT(d, void slotActiveSelectionChanged())
229
230 Q_PRIVATE_SLOT(d, void slotInsertButton())
231 Q_PRIVATE_SLOT(d, void slotRemoveButton())
232 Q_PRIVATE_SLOT(d, void slotUpButton())
233 Q_PRIVATE_SLOT(d, void slotDownButton())
234
235 Q_PRIVATE_SLOT(d, void slotDropped(ToolBarListWidget *, int, ToolBarItem *, bool))
236
237 Q_PRIVATE_SLOT(d, void slotChangeIconButton())
238
239private:
242
243 Q_DISABLE_COPY(KisKEditToolBarWidget)
244};
245
246}
247
248#endif
QList< QString > QStringList
IconTextEditDialog(QWidget *parent=0)
void setIconText(const QString &text)
void setTextAlongsideIconHidden(bool hidden)
void slotTextChanged(const QString &text)
A widget used to customize or configure toolbars.
KisKEditToolBarWidgetPrivate *const d
KisKActionCollection * actionCollection() const override
void load(const QString &resourceFile, bool global=true, const QString &defaultToolBar=QString())
bool dropMimeData(int index, const QMimeData *data, Qt::DropAction action) override
QStringList mimeTypes() const override
void dropped(ToolBarListWidget *list, int index, ToolBarItem *item, bool sourceIsActiveList)
void makeVisible(QListWidgetItem *item)
ToolBarItem * currentItem() const
void setActiveList(bool isActiveList)
void dropEvent(QDropEvent *ev) override
ToolBarListWidget(QWidget *parent=0)
QMimeData * mimeData(const QList< QListWidgetItem * > &items) const override
Qt::DropActions supportedDropActions() const override
A container for a set of QAction objects.
KisKXMLGUIFactory * factory() const
friend class KDEPrivate::KisKEditToolBarWidget