Kate
katedialogs.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 #ifndef __KATE_DIALOGS_H__
00027 #define __KATE_DIALOGS_H__
00028
00029 #include "katehighlight.h"
00030 #include "kateviewhelpers.h"
00031
00032 #include <ktexteditor/attribute.h>
00033 #include <ktexteditor/modificationinterface.h>
00034 #include <ktexteditor/document.h>
00035 #include <ktexteditor/configpage.h>
00036
00037 #include <kdialog.h>
00038 #include <kmimetype.h>
00039
00040 #include <QtCore/QStringList>
00041 #include <QtGui/QColor>
00042 #include <QtGui/QTabWidget>
00043 #include <QtGui/QTreeWidget>
00044
00045 struct syntaxContextData;
00046
00047 class KateScriptConfigPage;
00048 class ModeConfigPage;
00049 class KateDocument;
00050 class KateView;
00051 class KatePartPluginInfo;
00052
00053 namespace KIO
00054 {
00055 class Job;
00056 class TransferJob;
00057 }
00058
00059 class KComboBox;
00060 class KShortcutsEditor;
00061 class KTemporaryFile;
00062 class KIntNumInput;
00063 class KPluginSelector;
00064 class KPluginInfo;
00065 class KProcess;
00066
00067 class QCheckBox;
00068 class QLabel;
00069 class QLineEdit;
00070 class QSpinBox;
00071 class QToolButton;
00072 class QCheckBox;
00073 class QKeyEvent;
00074
00075 namespace Ui
00076 {
00077 class ModOnHdWidget;
00078 class AppearanceConfigWidget;
00079 class CursorConfigWidget;
00080 class EditConfigWidget;
00081 class IndentationConfigWidget;
00082 class OpenSaveConfigWidget;
00083 class OpenSaveConfigAdvWidget;
00084 class CompletionConfigTab;
00085 }
00086
00087 class KateConfigPage : public KTextEditor::ConfigPage
00088 {
00089 Q_OBJECT
00090
00091 public:
00092 explicit KateConfigPage ( QWidget *parent=0, const char *name=0 );
00093 virtual ~KateConfigPage ();
00094
00095 public:
00096 bool hasChanged () { return m_changed; }
00097
00098 protected Q_SLOTS:
00099 void slotChanged();
00100
00101 private Q_SLOTS:
00102 void somethingHasChanged ();
00103
00104 protected:
00105 bool m_changed;
00106 };
00107
00108 class KateGotoBar : public KateViewBarWidget
00109 {
00110 Q_OBJECT
00111
00112 public:
00113 KateGotoBar(KateViewBar *parent);
00114
00115 public Q_SLOTS:
00116 void showBar();
00117
00118 protected Q_SLOTS:
00119 void gotoLine();
00120
00121 protected:
00122 virtual void keyPressEvent(QKeyEvent* event);
00123
00124 private:
00125 QSpinBox *gotoRange;
00126 QToolButton *btnOK;
00127 };
00128
00129 class KateIndentConfigTab : public KateConfigPage
00130 {
00131 Q_OBJECT
00132
00133 public:
00134 KateIndentConfigTab(QWidget *parent);
00135 ~KateIndentConfigTab();
00136
00137 protected:
00138 Ui::IndentationConfigWidget *ui;
00139
00140 public Q_SLOTS:
00141 void apply ();
00142 void reload ();
00143 void reset () {}
00144 void defaults () {}
00145
00146 private Q_SLOTS:
00147 void showWhatsThis(const QString& text);
00148 };
00149
00150 class KateCompletionConfigTab : public KateConfigPage
00151 {
00152 Q_OBJECT
00153
00154 public:
00155 KateCompletionConfigTab(QWidget *parent);
00156 ~KateCompletionConfigTab();
00157
00158 protected:
00159 Ui::CompletionConfigTab *ui;
00160
00161 public Q_SLOTS:
00162 void apply ();
00163 void reload ();
00164 void reset () {}
00165 void defaults () {}
00166
00167 private Q_SLOTS:
00168 void showWhatsThis(const QString& text);
00169 };
00170
00171 class KateSelectConfigTab : public KateConfigPage
00172 {
00173 Q_OBJECT
00174
00175 public:
00176 KateSelectConfigTab(QWidget *parent);
00177 ~KateSelectConfigTab();
00178
00179 private:
00180 Ui::CursorConfigWidget *ui;
00181
00182 public Q_SLOTS:
00183 void apply ();
00184 void reload ();
00185 void reset () {}
00186 void defaults () {}
00187 };
00188
00189 class KateEditConfigTab : public KateConfigPage
00190 {
00191 Q_OBJECT
00192
00193 public:
00194 KateEditConfigTab(QWidget *parent);
00195 ~KateEditConfigTab();
00196
00197 protected:
00198 Ui::EditConfigWidget *ui;
00199
00200 public Q_SLOTS:
00201 void apply ();
00202 void reload ();
00203 void reset ();
00204 void defaults ();
00205
00206 private:
00207 KateSelectConfigTab *selectConfigTab;
00208 KateIndentConfigTab *indentConfigTab;
00209 KateCompletionConfigTab *completionConfigTab;
00210 };
00211
00212 class KateViewDefaultsConfig : public KateConfigPage
00213 {
00214 Q_OBJECT
00215
00216 public:
00217 KateViewDefaultsConfig( QWidget *parent );
00218 ~KateViewDefaultsConfig();
00219
00220 public Q_SLOTS:
00221 void apply ();
00222 void reload ();
00223 void reset ();
00224 void defaults ();
00225
00226 private:
00227 Ui::AppearanceConfigWidget *ui;
00228 };
00229
00230 class KateEditKeyConfiguration: public KateConfigPage
00231 {
00232 Q_OBJECT
00233
00234 public:
00235 KateEditKeyConfiguration( QWidget* parent );
00236 ~KateEditKeyConfiguration();
00237
00238 public Q_SLOTS:
00239 void apply();
00240 void reload() {}
00241 void reset() {}
00242 void defaults() {}
00243
00244 protected:
00245 void showEvent ( QShowEvent * );
00246
00247 private:
00248 bool m_ready;
00249 KShortcutsEditor* m_shortcutsEditor;
00250 class KActionCollection *m_actionCollection;
00251
00252
00253 class KateDocument *m_doc;
00254 class KateView *m_view;
00255 };
00256
00257 class KateSaveConfigTab : public KateConfigPage
00258 {
00259 Q_OBJECT
00260
00261 public:
00262 KateSaveConfigTab( QWidget *parent );
00263 ~KateSaveConfigTab();
00264
00265 public Q_SLOTS:
00266 void apply();
00267 void reload();
00268 void reset();
00269 void defaults();
00270
00271 protected:
00272
00273
00274 QCheckBox *cbLocalFiles, *cbRemoteFiles;
00275 QCheckBox *replaceTabs, *removeSpaces, *allowEolDetection;
00276 QLineEdit *leBuPrefix;
00277 QLineEdit *leBuSuffix;
00278 KIntNumInput *dirSearchDepth;
00279 class QSpinBox *blockCount;
00280 class QLabel *blockCountLabel;
00281
00282 private:
00283 Ui::OpenSaveConfigWidget* ui;
00284 Ui::OpenSaveConfigAdvWidget* uiadv;
00285 ModeConfigPage *modeConfigPage;
00286 };
00287
00288 class KatePartPluginConfigPage : public KateConfigPage
00289 {
00290 Q_OBJECT
00291
00292 public:
00293 KatePartPluginConfigPage (QWidget *parent);
00294 ~KatePartPluginConfigPage ();
00295
00296 public Q_SLOTS:
00297 void apply ();
00298 void reload ();
00299 void reset ();
00300 void defaults ();
00301
00302 private:
00303 KPluginSelector *selector;
00304 QList<KPluginInfo> plugins;
00305 KateScriptConfigPage *scriptConfigPage;
00306 };
00307
00308 class KateScriptNewStuff;
00309
00310 class KateScriptConfigPage : public KateConfigPage
00311 {
00312 Q_OBJECT
00313
00314 public:
00315 KateScriptConfigPage(QWidget *parent);
00316 virtual ~KateScriptConfigPage();
00317 public Q_SLOTS:
00318 void apply ();
00319 void reload ();
00320 void reset () {}
00321 void defaults () {}
00322 private:
00323 KateScriptNewStuff *m_newStuff;
00324 };
00325
00326 class KateHlDownloadDialog: public KDialog
00327 {
00328 Q_OBJECT
00329
00330 public:
00331 KateHlDownloadDialog(QWidget *parent, const char *name, bool modal);
00332 ~KateHlDownloadDialog();
00333
00334 private:
00335 class QTreeWidget *list;
00336 class QString listData;
00337 KIO::TransferJob *transferJob;
00338
00339 private Q_SLOTS:
00340 void listDataReceived(KIO::Job *, const QByteArray &data);
00341
00342 public Q_SLOTS:
00343 void slotUser1();
00344 };
00345
00352 class KateModOnHdPrompt : public KDialog
00353 {
00354 Q_OBJECT
00355 public:
00356 enum Status {
00357 Reload = 1,
00358 Save,
00359 Overwrite,
00360 Ignore
00361 };
00362 KateModOnHdPrompt( KateDocument *doc,
00363 KTextEditor::ModificationInterface::ModifiedOnDiskReason modtype,
00364 const QString &reason, QWidget *parent );
00365 ~KateModOnHdPrompt();
00366
00367 public Q_SLOTS:
00373 void slotDiff();
00374
00375 protected Q_SLOTS:
00376 virtual void slotButtonClicked(int button);
00377
00378 private Q_SLOTS:
00379 void slotDataAvailable();
00380 void slotPDone();
00381
00382 private:
00383 Ui::ModOnHdWidget* ui;
00384 KateDocument *m_doc;
00385 KTextEditor::ModificationInterface::ModifiedOnDiskReason m_modtype;
00386 KProcess *m_proc;
00387 KTemporaryFile *m_diffFile;
00388 };
00389
00390 #endif
00391