kmail
snippet_widget.h00001
00002
00003
00004
00005
00006
00007
00008
00009 #ifndef __SNIPPET_WIDGET_H__
00010 #define __SNIPPET_WIDGET_H__
00011
00012 #include <qwidget.h>
00013 #include <qstring.h>
00014 #include <klistview.h>
00015 #include <qtooltip.h>
00016 #include <qrect.h>
00017
00018 #include <ktexteditor/editinterface.h>
00019 #include <ktexteditor/view.h>
00020 #include "snippetconfig.h"
00021
00022 class KDevProject;
00023 class SnippetPart;
00024 class QPushButton;
00025 class KListView;
00026 class QListViewItem;
00027 class QPoint;
00028 class SnippetDlg;
00029 class SnippetItem;
00030 class KTextEdit;
00031 class KConfig;
00032 class KMEdit;
00033
00040 class SnippetWidget : public KListView, public QToolTip
00041 {
00042 Q_OBJECT
00043
00044 public:
00045 SnippetWidget(KMEdit* editor, QWidget* parent = 0);
00046 ~SnippetWidget();
00047 QPtrList<SnippetItem> * getList() { return (&_list); }
00048 void writeConfig();
00049 SnippetConfig * getSnippetConfig() { return (&_SnippetConfig); }
00050
00051
00052 private slots:
00053 void initConfig();
00054
00055 protected:
00056 void maybeTip( const QPoint & );
00057 bool acceptDrag (QDropEvent *event) const;
00058
00059 private:
00060 void insertIntoActiveView(QString text);
00061 QString parseText(QString text, QString del="$");
00062 bool showMultiVarDialog(QMap<QString, QString> * map, QMap<QString, QString> * mapSave,
00063 int & iWidth, int & iBasicHeight, int & iOneHeight);
00064 QString showSingleVarDialog(QString var, QMap<QString, QString> * mapSave, QRect & dlgSize);
00065
00066 QPtrList<SnippetItem> _list;
00067 QMap<QString, QString> _mapSaved;
00068 KConfig * _cfg;
00069 SnippetConfig _SnippetConfig;
00070 KMEdit* mEditor;
00071
00072 public slots:
00073 void slotRemove();
00074 void slotEdit( QListViewItem* item_ = 0 );
00075 void slotEditGroup();
00076 void slotAdd();
00077 void slotAddGroup();
00078 void slotExecute();
00079
00080 protected slots:
00081 void showPopupMenu( QListViewItem * item, const QPoint & p, int );
00082 void slotExecuted(QListViewItem * item = 0);
00083 void slotDropped(QDropEvent *e, QListViewItem *after);
00084 void startDrag();
00085 };
00086
00087
00088 #endif
|