diff options
Diffstat (limited to 'kmail/snippetitem.h')
-rw-r--r-- | kmail/snippetitem.h | 85 |
1 files changed, 85 insertions, 0 deletions
diff --git a/kmail/snippetitem.h b/kmail/snippetitem.h new file mode 100644 index 000000000..ce7cd1807 --- /dev/null +++ b/kmail/snippetitem.h @@ -0,0 +1,85 @@ +/*************************************************************************** + * snippet feature from kdevelop/plugins/snippet/ * + * * + * Copyright (C) 2007 by Robert Gruber * + * rgruber@users.sourceforge.net * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + ***************************************************************************/ + +#ifndef SNIPPETITEM_H +#define SNIPPETITEM_H + +#include <klistview.h> +#include <klocale.h> + +#include <qobject.h> + +class QString; +class KAction; +class SnippetGroup; + + +/** +This class represents one CodeSnippet-Item in the listview. +It also holds the needed data for one snippet. +@author Robert Gruber +*/ +class SnippetItem : public QObject, public QListViewItem { +friend class SnippetGroup; + + Q_OBJECT +public: + SnippetItem(QListViewItem * parent, QString name, QString text); + + ~SnippetItem(); + QString getName(); + QString getText(); + using QListViewItem::parent; + int getParent() { return iParent; } + void resetParent(); + void setText(QString text); + void setName(QString name); + void setAction( KAction* ); + KAction* getAction(); + static SnippetItem * findItemByName(QString name, QPtrList<SnippetItem> &list); + static SnippetGroup * findGroupById(int id, QPtrList<SnippetItem> &list); +signals: + void execute( QListViewItem * ); +public slots: + void slotExecute(); + +private: + SnippetItem(QListView * parent, QString name, QString text); + QString strName; + QString strText; + int iParent; + KAction *action; +}; + +/** +This class represents one group in the listview. +It is derived from SnippetItem in order to allow storing +it in the main QPtrList<SnippetItem>. +@author Robert Gruber +*/ +class SnippetGroup : public SnippetItem { +public: + SnippetGroup(QListView * parent, QString name, int id); + ~SnippetGroup(); + + int getId() { return iId; } + static int getMaxId() { return iMaxId; } + + void setId(int id); + +private: + static int iMaxId; + int iId; +}; + +#endif |