kateexternaltools.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #ifndef _KATE_EXTERNAL_TOOLS_H_
00025 #define _KATE_EXTERNAL_TOOLS_H_
00026
00027 #include <kaction.h>
00028 #include <kdialogbase.h>
00029 #include <kate/document.h>
00030 #include <kmacroexpander.h>
00031 #include <qpixmap.h>
00032
00054 class KateExternalToolsMenuAction : public KActionMenu
00055 {
00056 friend class KateExternalToolAction;
00057
00058 Q_OBJECT
00059 public:
00060 KateExternalToolsMenuAction( const QString &text=QString::null, QObject *parent=0, const char* name=0, class KateMainWindow *mw=0 );
00061 ~KateExternalToolsMenuAction() {};
00062
00066 void reload();
00067
00068 class KActionCollection *actionCollection() { return m_actionCollection; }
00069
00070 private slots:
00071 void slotDocumentChanged();
00072
00073 private:
00074 class KActionCollection *m_actionCollection;
00075 class KateMainWindow *mainwindow;
00076 };
00077
00081 class KateExternalToolAction : public KAction, public KWordMacroExpander
00082 {
00083 Q_OBJECT
00084 public:
00085 KateExternalToolAction( QObject *parent, const char *name, class KateExternalTool *t );
00086
00087 protected:
00088 virtual bool expandMacro( const QString &str, QStringList &ret );
00089
00090 private slots:
00091 void slotRun();
00092
00093 private:
00094 class KateExternalTool *tool;
00095 };
00096
00100 class KateExternalTool
00101 {
00102 public:
00103 KateExternalTool( const QString &name=QString::null,
00104 const QString &command=QString::null,
00105 const QString &icon=QString::null,
00106 const QString &tryexec=QString::null,
00107 const QStringList &mimetypes=QStringList(),
00108 const QString &acname=QString::null );
00109 ~KateExternalTool() {};
00110
00111 QString name;
00112 QString command;
00113 QString icon;
00114 QString tryexec;
00115 QStringList mimetypes;
00116 bool hasexec;
00117 QString acname;
00118
00122 bool valid( QString mimetype ) const;
00128 bool checkExec();
00129
00130 private:
00131 QString m_exec;
00132 };
00133
00139 class KateExternalToolsConfigWidget : public Kate::ConfigPage
00140 {
00141 Q_OBJECT
00142 public:
00143 KateExternalToolsConfigWidget( QWidget *parent, const char* name);
00144 virtual ~KateExternalToolsConfigWidget() {};
00145
00146 virtual void apply();
00147 virtual void reload();
00148 virtual void reset() { reload(); }
00149 virtual void defaults() { reload(); }
00150
00151 private slots:
00152 void slotNew();
00153 void slotEdit();
00154 void slotRemove();
00155 void slotInsertSeparator();
00156
00157 void slotMoveUp();
00158 void slotMoveDown();
00159
00160 void slotSelectionChanged();
00161
00162 private:
00163 QPixmap blankIcon();
00164
00165 class KListBox *lbTools;
00166 class QPushButton *btnNew, *btnRemove, *btnEdit, *btnMoveUp, *btnMoveDwn;
00167 };
00168
00172 class KateExternalToolServiceEditor : public KDialogBase
00173 {
00174 Q_OBJECT
00175
00176 public:
00177
00178 KateExternalToolServiceEditor( KateExternalTool *tool=0,
00179 QWidget *parent=0, const char *name=0 );
00180
00181 class QLineEdit *leName, *leCommand, *leExecutable, *leMimetypes;
00182 class KIconButton *btnIcon;
00183
00184 private slots:
00188 void slotOk();
00189
00190 private:
00191 KateExternalTool *tool;
00192 };
00193 #endif //_KATE_EXTERNAL_TOOLS_H_
This file is part of the documentation for kate Library Version 3.3.2.