lib Library API Documentation

koAutoFormatDia.h

00001 /* This file is part of the KDE project
00002    Copyright (C) 1998, 1999 Reginald Stadlbauer <reggie@kde.org>
00003                  2001       Sven Leiber         <s.leiber@web.de>
00004 
00005    This library is free software; you can redistribute it and/or
00006    modify it under the terms of the GNU Library General Public
00007    License as published by the Free Software Foundation; either
00008    version 2 of the License, or (at your option) any later version.
00009 
00010    This library is distributed in the hope that it will be useful,
00011    but WITHOUT ANY WARRANTY; without even the implied warranty of
00012    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00013    Library General Public License for more details.
00014 
00015    You should have received a copy of the GNU Library General Public License
00016    along with this library; see the file COPYING.LIB.  If not, write to
00017    the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
00018    Boston, MA 02111-1307, USA.
00019 */
00020 
00021 #ifndef koautoformatdia_h
00022 #define koautoformatdia_h
00023 
00024 #include <kdialogbase.h>
00025 #include <qlineedit.h>
00026 #include <koAutoFormat.h>
00027 
00028 class QPushButton;
00029 class QCheckBox;
00030 class QVBox;
00031 class QHBox;
00032 class KCharSelect;
00033 class KListView;
00034 class KLineEdit;
00035 class QListBox;
00036 class QSpinBox;
00037 class KIntNumInput;
00041 class KoAutoFormatLineEdit : public QLineEdit
00042 {
00043     Q_OBJECT
00044 public:
00045     KoAutoFormatLineEdit ( QWidget * parent, const char * name=0 );
00046 
00047 protected:
00048     virtual void keyPressEvent ( QKeyEvent * );
00049  signals:
00050     void keyReturnPressed();
00051 };
00052 
00053 /******************************************************************/
00054 /* Class: KoAutoFormatExceptionWidget                             */
00055 /******************************************************************/
00056 
00057 class KoAutoFormatExceptionWidget : public QWidget
00058 {
00059     Q_OBJECT
00060 
00061 public:
00062     KoAutoFormatExceptionWidget(QWidget *_parent, const QString &name,const QStringList &_list, bool _autoInclude, bool _abbreviation=false);
00063 
00064     void setListException( const QStringList &list);
00065     QStringList getListException(){return m_listException;}
00066     bool autoInclude();
00067     void setAutoInclude( bool b );
00068 protected slots:
00069     void slotAddException();
00070     void slotRemoveException();
00071     void textChanged ( const QString & );
00072     void slotExceptionListSelected();
00073  private:
00074     QListBox *exceptionList;
00075     KoAutoFormatLineEdit *exceptionLine;
00076     QPushButton *pbAddException,*pbRemoveException;
00077     QCheckBox *cbAutoInclude;
00078     QStringList m_listException;
00079     bool m_bAbbreviation;
00080 };
00081 
00082 /******************************************************************/
00083 /* Class: KoAutoFormatDia                                         */
00084 /******************************************************************/
00085 
00086 class KoAutoFormatDia : public KDialogBase
00087 {
00088     Q_OBJECT
00089 
00090 public:
00091     KoAutoFormatDia( QWidget *parent, const char *name, KoAutoFormat * autoFormat );
00092     ~KoAutoFormatDia();
00093     void addEntryList(const QString &key, KoAutoFormatEntry *_autoEntry);
00094     void editEntryList(const QString &key,const QString &newFindString, KoAutoFormatEntry *_autoEntry);
00095 protected:
00096     bool applyConfig();
00097     void setupTab1();
00098     void setupTab2();
00099     void setupTab3();
00100     void setupTab4();
00101 
00102     void refreshEntryList();
00103 
00104     void initTab1();
00105     void initTab2();
00106     void initTab3();
00107     void initTab4();
00108 
00109     typedef QMap<QString, QString> KoExceptionLanguageName;
00110     KoExceptionLanguageName exceptionLanguageName;
00111 
00112     QWidget *tab1;
00113     QWidget *tab2;
00114     QWidget *tab3;
00115     QWidget *tab4;
00116 
00117     QComboBox *autoFormatLanguage;
00118 
00119     QCheckBox *cbTypographicSimpleQuotes, *cbTypographicDoubleQuotes,*cbUpperCase, *cbUpperUpper, *cbDetectUrl,
00120         *cbBackgroundSpellCheck, *cbAdvancedAutoCorrection,*cbIgnoreDoubleSpace , *cbRemoveSpaceBeginEndLine, *cbUseBulletStyle, *cbAutoChangeFormat, *cbAutoReplaceNumber, *cbUseNumberStyle, *cbAutoSuperScript, *cbAutoCorrectionWithFormat, *cbCapitalizeDaysName;
00121     QPushButton *pbDoubleQuote1, *pbDoubleQuote2,  *pbRemove, *pbAdd, *pbDoubleDefault,
00122                 *pbSpecialChar1, *pbSpecialChar2, *pbBulletStyle, *pbDefaultBulletStyle;
00123 
00124     QPushButton *pbSimpleQuote1, *pbSimpleQuote2, *pbSimpleDefault;
00125     QPushButton *pbChangeFormat, *pbClearFormat;
00126     KCharSelect *charselect;
00127     KoAutoFormatLineEdit *m_find, *m_replace;
00128     KListView *m_pListView;
00129 
00130     QChar oSimpleBegin, oSimpleEnd;
00131     QChar oDoubleBegin, oDoubleEnd;
00132 
00133     QChar bulletStyle;
00134     KoAutoFormat m_autoFormat; // The copy we're working on
00135     KoAutoFormat * m_docAutoFormat; // Pointer to the real one (in KWDocument)
00136 
00137     KoAutoFormatExceptionWidget *abbreviation;
00138     KoAutoFormatExceptionWidget *twoUpperLetter;
00139 
00140     KoAutoFormatEntry *newEntry;
00141 
00142     QString initialLanguage;
00143     bool noSignal;
00144     bool changeLanguage;
00145 
00146     bool autocorrectionEntryChanged;
00147 protected slots:
00148     virtual void slotOk();
00149     virtual void slotCancel();
00150 
00151     void slotBulletStyleToggled( bool );
00152     void slotItemRenamed(QListViewItem * item, const QString & newText, int column);
00153     void slotRemoveEntry();
00154     void slotEditEntry();
00155     void slotfind( const QString & );
00156     void slotfind2( const QString & );
00157     void chooseSpecialChar1();
00158     void chooseSpecialChar2();
00159     void chooseDoubleQuote1();
00160     void chooseDoubleQuote2();
00161     void defaultDoubleQuote();
00162 
00163     void chooseSimpleQuote1();
00164     void chooseSimpleQuote2();
00165     void defaultSimpleQuote();
00166 
00167     void slotChangeStateSimple(bool);
00168     void slotChangeStateDouble(bool);
00169 
00170     void slotAddEntry();
00171     void chooseBulletStyle();
00172     void defaultBulletStyle();
00173     void slotChangeTextFormatEntry();
00174     void slotResetConf();
00175     void changeAutoformatLanguage(const QString & );
00176     void slotClearTextFormatEntry();
00177     void slotChangeAdvancedAutoCorrection();
00178 };
00179 
00180 class KoCompletionDia : public KDialogBase
00181 {
00182     Q_OBJECT
00183 
00184 public:
00185     KoCompletionDia( QWidget *parent, const char *name, KoAutoFormat * autoFormat );
00186 protected slots:
00187     virtual void slotOk();
00188     void slotRemoveCompletionEntry();
00189     void slotCompletionWordSelected( const QString & );
00190     void slotSaveCompletionEntry();
00191     void slotAddCompletionEntry();
00192     void slotResetConf();
00193     bool applyConfig();
00194     void changeButtonStatus();
00195 protected:
00196     void setup();
00197     KoAutoFormat m_autoFormat; // The copy we're working on
00198     KoAutoFormat * m_docAutoFormat; // Pointer to the real one (in KWDocument)
00199     QStringList m_listCompletion; // The copy of the completion items - don't use m_autoFormat.getCompletion()!
00200     QCheckBox *cbAllowCompletion, *cbAppendSpace, *cbAddCompletionWord;
00201     QPushButton *pbRemoveCompletionEntry;
00202     QPushButton *pbSaveCompletionEntry;
00203     QPushButton *pbAddCompletionEntry;
00204     QListBox *m_lbListCompletion;
00205     KIntNumInput *m_minWordLength;
00206     KIntNumInput *m_maxNbWordCompletion;
00207 
00208 };
00209 #endif
00210 
00211 
KDE Logo
This file is part of the documentation for lib Library Version 1.3.5.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Fri Mar 11 11:47:40 2005 by doxygen 1.3.9.1 written by Dimitri van Heesch, © 1997-2003