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 QSpinBox;
00070 class QToolButton;
00071 class QCheckBox;
00072 class QKeyEvent;
00073
00074 namespace Ui
00075 {
00076 class ModOnHdWidget;
00077 class AppearanceConfigWidget;
00078 class CursorConfigWidget;
00079 class EditConfigWidget;
00080 class IndentationConfigWidget;
00081 class OpenSaveConfigWidget;
00082 class OpenSaveConfigAdvWidget;
00083 class CompletionConfigTab;
00084 class ViInputModeConfigWidget;
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 explicit KateGotoBar(KateView *view, QWidget *parent = 0);
00114
00115 void updateData();
00116
00117 protected Q_SLOTS:
00118 void gotoLine();
00119
00120 protected:
00121 virtual void keyPressEvent(QKeyEvent* event);
00122
00123 private:
00124 KateView* m_view;
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 KateViInputModeConfigTab : public KateConfigPage
00190 {
00191 Q_OBJECT
00192
00193 public:
00194 KateViInputModeConfigTab(QWidget *parent);
00195 ~KateViInputModeConfigTab();
00196
00197 protected:
00198 Ui::ViInputModeConfigWidget *ui;
00199
00200 public Q_SLOTS:
00201 void apply ();
00202 void reload ();
00203 void reset () {}
00204 void defaults () {}
00205
00206 private Q_SLOTS:
00207 void showWhatsThis(const QString& text);
00208 };
00209
00210 class KateEditConfigTab : public KateConfigPage
00211 {
00212 Q_OBJECT
00213
00214 public:
00215 KateEditConfigTab(QWidget *parent);
00216 ~KateEditConfigTab();
00217
00218 protected:
00219 Ui::EditConfigWidget *ui;
00220
00221 public Q_SLOTS:
00222 void apply ();
00223 void reload ();
00224 void reset ();
00225 void defaults ();
00226
00227 private:
00228 KateSelectConfigTab *selectConfigTab;
00229 KateIndentConfigTab *indentConfigTab;
00230 KateCompletionConfigTab *completionConfigTab;
00231 KateViInputModeConfigTab *viInputModeConfigTab;
00232 };
00233
00234 class KateViewDefaultsConfig : public KateConfigPage
00235 {
00236 Q_OBJECT
00237
00238 public:
00239 KateViewDefaultsConfig( QWidget *parent );
00240 ~KateViewDefaultsConfig();
00241
00242 public Q_SLOTS:
00243 void apply ();
00244 void reload ();
00245 void reset ();
00246 void defaults ();
00247
00248 private:
00249 Ui::AppearanceConfigWidget *ui;
00250 };
00251
00252 class KateSaveConfigTab : public KateConfigPage
00253 {
00254 Q_OBJECT
00255
00256 public:
00257 KateSaveConfigTab( QWidget *parent );
00258 ~KateSaveConfigTab();
00259
00260 public Q_SLOTS:
00261 void apply();
00262 void reload();
00263 void reset();
00264 void defaults();
00265
00266 protected:
00267
00268
00269 QCheckBox *cbLocalFiles, *cbRemoteFiles;
00270 QCheckBox *replaceTabs, *removeSpaces, *allowEolDetection;
00271 KIntNumInput *dirSearchDepth;
00272 class QSpinBox *blockCount;
00273 class QLabel *blockCountLabel;
00274
00275 private:
00276 Ui::OpenSaveConfigWidget* ui;
00277 Ui::OpenSaveConfigAdvWidget* uiadv;
00278 ModeConfigPage *modeConfigPage;
00279 };
00280
00281 class KatePartPluginConfigPage : public KateConfigPage
00282 {
00283 Q_OBJECT
00284
00285 public:
00286 KatePartPluginConfigPage (QWidget *parent);
00287 ~KatePartPluginConfigPage ();
00288
00289 public Q_SLOTS:
00290 void apply ();
00291 void reload ();
00292 void reset ();
00293 void defaults ();
00294
00295 private:
00296 KPluginSelector *selector;
00297 QList<KPluginInfo> plugins;
00298 KateScriptConfigPage *scriptConfigPage;
00299 };
00300
00301 class KateScriptNewStuff;
00302
00303 class KateScriptConfigPage : public KateConfigPage
00304 {
00305 Q_OBJECT
00306
00307 public:
00308 KateScriptConfigPage(QWidget *parent);
00309 virtual ~KateScriptConfigPage();
00310 public Q_SLOTS:
00311 void apply ();
00312 void reload ();
00313 void reset () {}
00314 void defaults () {}
00315 private:
00316 KateScriptNewStuff *m_newStuff;
00317 };
00318
00319 class KateHlDownloadDialog: public KDialog
00320 {
00321 Q_OBJECT
00322
00323 public:
00324 KateHlDownloadDialog(QWidget *parent, const char *name, bool modal);
00325 ~KateHlDownloadDialog();
00326
00327 private:
00328 class QTreeWidget *list;
00329 class QString listData;
00330 KIO::TransferJob *transferJob;
00331
00332 private Q_SLOTS:
00333 void listDataReceived(KIO::Job *, const QByteArray &data);
00334
00335 public Q_SLOTS:
00336 void slotUser1();
00337 };
00338
00345 class KateModOnHdPrompt : public KDialog
00346 {
00347 Q_OBJECT
00348 public:
00349 enum Status {
00350 Reload = 1,
00351 Save,
00352 Overwrite,
00353 Ignore
00354 };
00355 KateModOnHdPrompt( KateDocument *doc,
00356 KTextEditor::ModificationInterface::ModifiedOnDiskReason modtype,
00357 const QString &reason, QWidget *parent );
00358 ~KateModOnHdPrompt();
00359
00360 public Q_SLOTS:
00366 void slotDiff();
00367
00368 protected Q_SLOTS:
00369 virtual void slotButtonClicked(int button);
00370
00371 private Q_SLOTS:
00372 void slotDataAvailable();
00373 void slotPDone();
00374
00375 private:
00376 Ui::ModOnHdWidget* ui;
00377 KateDocument *m_doc;
00378 KTextEditor::ModificationInterface::ModifiedOnDiskReason m_modtype;
00379 KProcess *m_proc;
00380 KTemporaryFile *m_diffFile;
00381 };
00382
00383 #endif
00384