• Skip to content
  • Skip to link menu
KDE 4.3 API Reference
  • KDE API Reference
  • kdelibs
  • Sitemap
  • Contact Us
 

Kate

katedialogs.h

Go to the documentation of this file.
00001 /* This file is part of the KDE libraries
00002    Copyright (C) 2002, 2003 Anders Lund <anders.lund@lund.tdcadsl.dk>
00003    Copyright (C) 2003 Christoph Cullmann <cullmann@kde.org>
00004    Copyright (C) 2001 Joseph Wenninger <jowenn@kde.org>
00005    Copyright (C) 2006 Dominik Haumann <dhdev@gmx.de>
00006    Copyright (C) 2007 Mirko Stocker <me@misto.ch>
00007 
00008    Based on work of:
00009      Copyright (C) 1999 Jochen Wilhelmy <digisnap@cs.tu-berlin.de>
00010 
00011    This library is free software; you can redistribute it and/or
00012    modify it under the terms of the GNU Library General Public
00013    License version 2 as published by the Free Software Foundation.
00014 
00015    This library is distributed in the hope that it will be useful,
00016    but WITHOUT ANY WARRANTY; without even the implied warranty of
00017    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00018    Library General Public License for more details.
00019 
00020    You should have received a copy of the GNU Library General Public License
00021    along with this library; see the file COPYING.LIB.  If not, write to
00022    the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
00023    Boston, MA 02110-1301, USA.
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     //why?
00268     //KComboBox *m_encoding, *m_encodingDetection, *m_eol;
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, // 0 is QDialog::Rejected
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 // kate: space-indent on; indent-width 2; replace-tabs on;

Kate

Skip menu "Kate"
  • Main Page
  • Namespace List
  • Class Hierarchy
  • Alphabetical List
  • Class List
  • File List
  • Namespace Members
  • Class Members
  • Related Pages

kdelibs

Skip menu "kdelibs"
  • DNSSD
  • Interfaces
  •   KHexEdit
  •   KMediaPlayer
  •   KSpeech
  •   KTextEditor
  • Kate
  • kconf_update
  • KDE3Support
  •   KUnitTest
  • KDECore
  • KDED
  • KDEsu
  • KDEUI
  • KDocTools
  • KFile
  • KHTML
  • KImgIO
  • KInit
  • kio
  • KIOSlave
  • KJS
  •   KJS-API
  •   WTF
  • kjsembed
  • KNewStuff
  • KParts
  • KPty
  • Kross
  • KUtils
  • Nepomuk
  • Plasma
  • Solid
  • Sonnet
  • ThreadWeaver
Generated for kdelibs by doxygen 1.6.1
This website is maintained by Adriaan de Groot and Allen Winter.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal