File indexing completed on 2024-04-28 04:21:19
0001 /* SPDX-FileCopyrightText: 2003-2014 Jesper K. Pedersen <blackie@kde.org> 0002 0003 SPDX-License-Identifier: GPL-2.0-or-later 0004 */ 0005 0006 #ifndef SETTINGS_CATEGORYITEM_H 0007 #define SETTINGS_CATEGORYITEM_H 0008 0009 // Qt includes 0010 #include <QListWidgetItem> 0011 0012 // Local includes 0013 #include <DB/Category.h> 0014 0015 namespace DB 0016 { 0017 0018 // Local classes 0019 class MemberMap; 0020 0021 } 0022 0023 namespace Settings 0024 { 0025 0026 class CategoryItem : public QObject, public QListWidgetItem 0027 { 0028 Q_OBJECT 0029 0030 public: 0031 CategoryItem( 0032 const QString &category, 0033 const QString &icon, 0034 DB::Category::ViewType type, 0035 int thumbnailSize, 0036 QListWidget *parent, 0037 bool positionable = false); 0038 void setLabel(const QString &label); 0039 void setPositionable(bool positionable); 0040 void submit(DB::MemberMap *memberMap); 0041 void removeFromDatabase(); 0042 bool positionable() const; 0043 int thumbnailSize() const; 0044 DB::Category::ViewType viewType() const; 0045 void setThumbnailSize(int size); 0046 void setViewType(DB::Category::ViewType type); 0047 QString icon() const; 0048 void setIcon(const QString &icon); 0049 QString originalName() const; 0050 void markAsNewCategory(); 0051 0052 protected: 0053 void renameCategory(DB::MemberMap *memberMap); 0054 0055 private: // Variables 0056 QString m_categoryOrig; 0057 QString m_iconOrig; 0058 bool m_positionable; 0059 bool m_positionableOrig; 0060 QString m_category; 0061 QString m_text; 0062 QString m_icon; 0063 DB::Category::ViewType m_type; 0064 DB::Category::ViewType m_typeOrig; 0065 int m_thumbnailSize; 0066 int m_thumbnailSizeOrig; 0067 }; 0068 0069 } 0070 0071 #endif // SETTINGS_CATEGORYITEM_H 0072 0073 // vi:expandtab:tabstop=4 shiftwidth=4: