[graphics/drawy] src: Prepare to add delegate
Laurent Montel <[email protected]>
| Newsgroups | gmane.comp.kde.cvs |
|---|---|
| Message-ID | <[email protected]> |
Git commit 2c6da67a10165c90f086c2001b8139c7e46c3d01 by Laurent Montel.
Committed on 29/07/2026 at 05:20.
Pushed by mlaurent into branch 'master'.
Prepare to add delegate
M +1 -1 src/gui/customelements/customelementsmodel.cpp
M +1 -1 src/gui/customelements/customelementsmodel.hpp
M +2 -0 src/widgets/CMakeLists.txt
M +2 -0 src/widgets/customelementswidget/customelementslistview.cpp
A +26 -0 src/widgets/customelementswidget/customelementslistviewdelegate.cpp [License: GPL(v3.0+)]
A +17 -0 src/widgets/customelementswidget/customelementslistviewdelegate.hpp [License: GPL(v3.0+)]
https://invent.kde.org/graphics/drawy/-/commit/2c6da67a10165c90f086c2001b8139c7e46c3d01
diff --git a/src/gui/customelements/customelementsmodel.cpp b/src/gui/customelements/customelementsmodel.cpp
index ef2b044c..8b021a06 100644
--- a/src/gui/customelements/customelementsmodel.cpp
+++ b/src/gui/customelements/customelementsmodel.cpp
@@ -30,7 +30,7 @@ QVariant CustomElementsModel::data(const QModelIndex &index, int role) const
switch (role) {
case TimeStamp:
return customElement.timeStamp();
- case Icon:
+ case Pixmap:
return {};
}
return {};
diff --git a/src/gui/customelements/customelementsmodel.hpp b/src/gui/customelements/customelementsmodel.hpp
index 92a684a5..0aa6bbb7 100644
--- a/src/gui/customelements/customelementsmodel.hpp
+++ b/src/gui/customelements/customelementsmodel.hpp
@@ -16,7 +16,7 @@ class LIBDRAWYGUI_EXPORT CustomElementsModel : public QAbstractListModel
public:
enum CustomElementRoles {
TimeStamp = Qt::UserRole + 1,
- Icon,
+ Pixmap,
};
Q_ENUM(CustomElementRoles)
diff --git a/src/widgets/CMakeLists.txt b/src/widgets/CMakeLists.txt
index 9c13a5ec..ed2e2794 100644
--- a/src/widgets/CMakeLists.txt
+++ b/src/widgets/CMakeLists.txt
@@ -256,6 +256,8 @@ target_sources(
customelementswidget/customelementswidget.cpp
customelementswidget/customelementslistview.hpp
customelementswidget/customelementslistview.cpp
+ customelementswidget/customelementslistviewdelegate.hpp
+ customelementswidget/customelementslistviewdelegate.cpp
)
if(USE_DBUS)
diff --git a/src/widgets/customelementswidget/customelementslistview.cpp b/src/widgets/customelementswidget/customelementslistview.cpp
index 58e890d0..e31bef49 100644
--- a/src/widgets/customelementswidget/customelementslistview.cpp
+++ b/src/widgets/customelementswidget/customelementslistview.cpp
@@ -4,6 +4,7 @@
* SPDX-License-Identifier: GPL-3.0-or-later
*/
#include "customelementslistview.hpp"
+#include "customelementslistviewdelegate.hpp"
CustomElementsListView::CustomElementsListView(QWidget *parent)
: QListView(parent)
@@ -11,6 +12,7 @@ CustomElementsListView::CustomElementsListView(QWidget *parent)
setMouseTracking(true);
setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
setVerticalScrollMode(QAbstractItemView::ScrollPerPixel);
+ setItemDelegate(new CustomElementsListViewDelegate(this));
}
CustomElementsListView::~CustomElementsListView() = default;
diff --git a/src/widgets/customelementswidget/customelementslistviewdelegate.cpp b/src/widgets/customelementswidget/customelementslistviewdelegate.cpp
new file mode 100644
index 00000000..82e4cf4f
--- /dev/null
+++ b/src/widgets/customelementswidget/customelementslistviewdelegate.cpp
@@ -0,0 +1,26 @@
+/*
+ * SPDX-FileCopyrightText: 2026 Laurent Montel <[email protected]>
+ *
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ */
+#include "customelementslistviewdelegate.hpp"
+#include "customelements/customelementsmodel.hpp"
+
+CustomElementsListViewDelegate::CustomElementsListViewDelegate(QObject *parent)
+ : QStyledItemDelegate{parent}
+{
+}
+
+CustomElementsListViewDelegate::~CustomElementsListViewDelegate() = default;
+
+void CustomElementsListViewDelegate::paint([[maybe_unused]] QPainter *painter,
+ [[maybe_unused]] const QStyleOptionViewItem &option,
+ [[maybe_unused]] const QModelIndex &index) const
+{
+ // TODO
+}
+
+QSize CustomElementsListViewDelegate::sizeHint([[maybe_unused]] const QStyleOptionViewItem &option, [[maybe_unused]] const QModelIndex &index) const
+{
+ return {};
+}
diff --git a/src/widgets/customelementswidget/customelementslistviewdelegate.hpp b/src/widgets/customelementswidget/customelementslistviewdelegate.hpp
new file mode 100644
index 00000000..c431a03b
--- /dev/null
+++ b/src/widgets/customelementswidget/customelementslistviewdelegate.hpp
@@ -0,0 +1,17 @@
+/*
+ * SPDX-FileCopyrightText: 2026 Laurent Montel <[email protected]>
+ *
+ * SPDX-License-Identifier: GPL-3.0-or-later
+ */
+#pragma once
+
+#include <QStyledItemDelegate>
+
+class CustomElementsListViewDelegate : public QStyledItemDelegate
+{
+public:
+ explicit CustomElementsListViewDelegate(QObject *parent = nullptr);
+ ~CustomElementsListViewDelegate() override;
+ void paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const override;
+ [[nodiscard]] QSize sizeHint(const QStyleOptionViewItem &option, const QModelIndex &index) const override;
+};