7#include "icondialog_p.h"
10#include <QQuickWindow>
14#include <QApplication>
16IconDialog::IconDialog(
QObject *parent)
25 connect(m_dialog.data(), &KIconDialog::newIconName,
this, [
this](
const QString &newIconName) {
26 if (m_iconName != newIconName) {
27 m_iconName = newIconName;
28 Q_EMIT iconNameChanged(newIconName);
34 m_dialog->installEventFilter(
this);
38IconDialog::~IconDialog()
45QString IconDialog::iconName()
const
50int IconDialog::iconSize()
const
55void IconDialog::setIconSize(
int iconSize)
57 if (m_dialog->iconSize() != iconSize) {
58 m_iconSize = iconSize;
59 Q_EMIT iconSizeChanged(iconSize);
63QString IconDialog::title()
const
65 return m_dialog->windowTitle();
68void IconDialog::setTitle(
const QString &title)
70 if (m_dialog->windowTitle() != title) {
71 m_dialog->setWindowTitle(title);
72 Q_EMIT titleChanged(title);
76bool IconDialog::user()
const
81void IconDialog::setUser(
bool user)
85 Q_EMIT userChanged(user);
89QString IconDialog::customLocation()
const
91 return m_customLocation;
94void IconDialog::setCustomLocation(
const QString &customLocation)
96 if (m_customLocation != customLocation) {
97 m_dialog->setCustomLocation(customLocation);
99 m_customLocation = customLocation;
100 Q_EMIT customLocationChanged(customLocation);
111 if (m_modality != modality) {
112 m_modality = modality;
113 Q_EMIT modalityChanged(modality);
117bool IconDialog::visible()
const
119 return m_dialog->isVisible();
122void IconDialog::setVisible(
bool visible)
131void IconDialog::open()
133 if (m_dialog->isVisible()) {
137 QQuickItem *parentItem = qobject_cast<QQuickItem *>(parent());
138 QQuickWindow *parentWindow = (parentItem ? parentItem->
window() : qobject_cast<QQuickWindow *>(parent()));
141 m_dialog->setModal(
false);
144 m_dialog->windowHandle()->setTransientParent(parentWindow);
145 m_dialog->setModal(
false);
147 m_dialog->setModal(
true);
150 m_dialog->setWindowModality(m_modality);
157void IconDialog::close()
159 if (!m_dialog->isVisible()) {
169 Q_EMIT visibleChanged();
175#include "moc_icondialog_p.cpp"
Dialog for interactive selection of icons.
@ Application
An icon that represents an application.
AKONADI_CALENDAR_EXPORT KCalendarCore::Event::Ptr event(const Akonadi::Item &item)
QAction * close(const QObject *recvr, const char *slot, QObject *parent)
QAction * open(const QObject *recvr, const char *slot, QObject *parent)
QCoreApplication * instance()
QQuickWindow * window() const const
QFuture< ArgsType< Signal > > connect(Sender *sender, Signal signal)