File indexing completed on 2024-04-28 05:35:28
0001 /* 0002 SPDX-FileCopyrightText: 2004 Esben Mose Hansen <kde@mosehansen.dk> 0003 0004 SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 0007 #pragma once 0008 0009 #include "historyitem.h" 0010 0011 /** 0012 * A image entry in the clipboard history. 0013 */ 0014 class HistoryImageItem : public HistoryItem 0015 { 0016 public: 0017 explicit HistoryImageItem(const QImage &data); 0018 ~HistoryImageItem() override 0019 { 0020 } 0021 0022 HistoryItemType type() const override 0023 { 0024 return HistoryItemType::Image; 0025 } 0026 0027 QString text() const override; 0028 bool operator==(const HistoryItem &rhs) const override 0029 { 0030 if (const HistoryImageItem *casted_rhs = dynamic_cast<const HistoryImageItem *>(&rhs)) { 0031 return &casted_rhs->m_data == &m_data; // Not perfect, but better than nothing. 0032 } 0033 return false; 0034 } 0035 QImage image() const override; 0036 QMimeData *mimeData() const override; 0037 0038 void write(QDataStream &stream) const override; 0039 0040 private: 0041 /** 0042 * 0043 */ 0044 const QImage m_data; 0045 /** 0046 * Cache for m_data's string representation 0047 */ 0048 mutable QString m_text; 0049 };