Source Code (Use browser search to find items of interest.)
Class Index
kedit'COptionDialog (./kdeutils/kedit/optiondialog.h:36)
class COptionDialog : public KDialogBase
{
Q_OBJECT
public:
enum Page
{
page_font = 0,
page_color,
page_spell,
page_misc,
page_max
};
COptionDialog( QWidget *parent = 0, char *name = 0, bool modal = false );
~COptionDialog( void );
void setFont( const SFontState &font );
void setColor( const SColorState &color );
void setSpell( const SSpellState &spell );
void setMisc( const SMiscState &misc );
void setState( const SOptionState &state );
protected slots:
virtual void slotDefault( void );
virtual void slotOk( void );
virtual void slotApply( void );
virtual void slotHelp( void );
private:
struct SFontWidgets
{
KFontChooser *chooser;
};
struct SColorWidgets
{
KColorButton *fgColor;
KColorButton *bgColor;
};
struct SSpellWidgets
{
KSpellConfig *config;
};
struct SMiscWidgets
{
QComboBox *wrapCombo;
QLabel *wrapLabel;
QLineEdit *wrapInput;
QCheckBox *backupCheck;
QLineEdit *mailInput;
};
private slots:
void wrapMode( int mode );
private:
void setupFontPage( void );
void setupColorPage( void );
void setupSpellPage( void );
void setupMiscPage( void );
signals:
void fontChoice( const SFontState &font );
void colorChoice( const SColorState &color );
void spellChoice( const SSpellState &spell );
void miscChoice( const SMiscState &misc );
private:
SOptionState mState;
SColorWidgets mColor;
SFontWidgets mFont;
SSpellWidgets mSpell;
SMiscWidgets mMisc;
};
kedit'COptionDialog::COptionDialog() (./kdeutils/kedit/optiondialog.cpp:42)
COptionDialog::COptionDialog( QWidget *parent, char *name, bool modal )
:KDialogBase( IconList, i18n("Configure"), Help|Default|Apply|Ok|Cancel,
Ok, parent, name, modal, true )
{
setHelp( "kedit/index.html", QString::null );
setupFontPage();
setupColorPage();
setupSpellPage();
setupMiscPage();
}
kedit'COptionDialog::~COptionDialog() (./kdeutils/kedit/optiondialog.cpp:54)
COptionDialog::~COptionDialog( void )
{
}
kedit'COptionDialog::setupFontPage() (./kdeutils/kedit/optiondialog.cpp:59)
void COptionDialog::setupFontPage( void )
{
//
// 2000-02-19 Espen Sand.
// It is ok to use a QVBox page here because the font dialog will use
// all vertical space correctly.
//
QVBox *page = addVBoxPage( i18n("Font"), i18n("Editor font" ),
UserIcon("fonts") );
mFont.chooser = new KFontChooser( page,"font",false,QStringList(),false,6 );
mFont.chooser->setSampleText( i18n("KEdit editor font") );
}
kedit'COptionDialog::setupColorPage() (./kdeutils/kedit/optiondialog.cpp:73)
void COptionDialog::setupColorPage( void )
{
QFrame *page = addPage( i18n("Color"), i18n("Text color in editor area"),
UserIcon("colors") );
QVBoxLayout *topLayout = new QVBoxLayout( page, 0, spacingHint() );
QGridLayout *gbox = new QGridLayout( 2, 2 );
topLayout->addLayout(gbox);
QLabel *label;
mColor.fgColor = new KColorButton( page );
mColor.bgColor = new KColorButton( page );
label = new QLabel( mColor.fgColor, "Foreground color:", page );
label = new QLabel( mColor.bgColor, "Background color:", page );
gbox->addWidget( label, 0, 0 );
gbox->addWidget( label, 1, 0 );
gbox->addWidget( mColor.fgColor, 0, 1 );
gbox->addWidget( mColor.bgColor, 1, 1 );
topLayout->addStretch(10);
}
kedit'COptionDialog::setupSpellPage() (./kdeutils/kedit/optiondialog.cpp:97)
void COptionDialog::setupSpellPage( void )
{
QFrame *page = addPage( i18n("Spelling"), i18n("Spell checker behavior"),
SmallIcon("spell") );
QVBoxLayout *topLayout = new QVBoxLayout( page, 0, spacingHint() );
mSpell.config = new KSpellConfig( page, "spell", 0, false );
topLayout->addWidget( mSpell.config );
topLayout->addStretch(10);
}
kedit'COptionDialog::setupMiscPage() (./kdeutils/kedit/optiondialog.cpp:110)
void COptionDialog::setupMiscPage( void )
{
QFrame *page = addPage( i18n("Miscellaneous"), i18n("Various properties"),
UserIcon("misc") );
QVBoxLayout *topLayout = new QVBoxLayout( page, 0, spacingHint() );
QGridLayout *gbox = new QGridLayout( 5, 2 );
topLayout->addLayout( gbox );
QString text;
text = i18n("Word Wrap:");
QLabel *label = new QLabel( text, page, "wraplabel" );
gbox->addWidget( label, 0, 0 );
QStringList wrapList;
wrapList.append( i18n("Disable wrapping") );
wrapList.append( i18n("Let editor width decide") );
wrapList.append( i18n("At specified column") );
mMisc.wrapCombo = new QComboBox( false, page );
connect(mMisc.wrapCombo,SIGNAL(activated(int)),this,SLOT(wrapMode(int)));
mMisc.wrapCombo->insertStringList( wrapList );
gbox->addWidget( mMisc.wrapCombo, 0, 1 );
text = i18n("Wrap Column:");
mMisc.wrapLabel = new QLabel( text, page, "wrapcolumn" );
gbox->addWidget( mMisc.wrapLabel, 1, 0 );
mMisc.wrapInput = new QLineEdit( page, "values" );
mMisc.wrapInput->setMinimumWidth( fontMetrics().maxWidth()*10 );
gbox->addWidget( mMisc.wrapInput, 1, 1 );
gbox->addRowSpacing( 2, spacingHint()*2 );
text = i18n("Make backup when saving a file");
mMisc.backupCheck = new QCheckBox( text, page, "backup" );
gbox->addMultiCellWidget( mMisc.backupCheck, 3, 3, 0, 1 );
mMisc.mailInput = new QLineEdit( page, "mailcmd" );
mMisc.mailInput->setMinimumWidth(fontMetrics().maxWidth()*10);
text = i18n("Mail Command:");
label = new QLabel( text, page,"mailcmdlabel" );
gbox->addWidget( label, 4, 0 );
gbox->addWidget( mMisc.mailInput, 4, 1 );
topLayout->addStretch(10);
}
kedit'COptionDialog::wrapMode() (./kdeutils/kedit/optiondialog.cpp:157)
void COptionDialog::wrapMode( int mode )
{
bool state = mode == 2 ? true : false;
mMisc.wrapInput->setEnabled( state );
mMisc.wrapLabel->setEnabled( state );
}
kedit'COptionDialog::slotOk() (./kdeutils/kedit/optiondialog.cpp:165)
void COptionDialog::slotOk( void )
{
slotApply();
accept();
}
kedit'COptionDialog::slotApply() (./kdeutils/kedit/optiondialog.cpp:172)
void COptionDialog::slotApply( void )
{
switch( activePageIndex() )
{
case page_font:
mState.font.font = mFont.chooser->font();
emit fontChoice( mState.font );
break;
case page_color:
mState.color.textFg = mColor.fgColor->color();
mState.color.textBg = mColor.bgColor->color();
emit colorChoice( mState.color );
break;
case page_spell:
mState.spell.config = *mSpell.config;
emit spellChoice( mState.spell );
break;
case page_misc:
mState.misc.wrapMode = mMisc.wrapCombo->currentItem();
mState.misc.backupCheck = mMisc.backupCheck->isChecked();
mState.misc.wrapColumn = mMisc.wrapInput->text().toInt();
mState.misc.mailCommand = mMisc.mailInput->text();
emit miscChoice( mState.misc );
break;
}
}
kedit'COptionDialog::slotDefault() (./kdeutils/kedit/optiondialog.cpp:203)
void COptionDialog::slotDefault( void )
{
//
// The constructors store the default settings.
//
switch( activePageIndex() )
{
case page_font:
setFont( SFontState() );
break;
case page_color:
setColor( SColorState() );
break;
case page_spell:
setSpell( SSpellState() );
break;
case page_misc:
setMisc( SMiscState() );
break;
}
}
kedit'COptionDialog::slotHelp() (./kdeutils/kedit/optiondialog.cpp:229)
void COptionDialog::slotHelp( void )
{
if( activePageIndex() == page_spell )
{
mSpell.config->activateHelp();
}
else
{
KDialogBase::slotHelp();
}
}
kedit'COptionDialog::setFont() (./kdeutils/kedit/optiondialog.cpp:242)
void COptionDialog::setFont( const SFontState &font )
{
mState.font = font;
mFont.chooser->setFont( font.font, false );
}
kedit'COptionDialog::setColor() (./kdeutils/kedit/optiondialog.cpp:249)
void COptionDialog::setColor( const SColorState &color )
{
mState.color = color;
mColor.fgColor->setColor( color.textFg );
mColor.bgColor->setColor( color.textBg );
}
kedit'COptionDialog::setSpell() (./kdeutils/kedit/optiondialog.cpp:257)
void COptionDialog::setSpell( const SSpellState &spell )
{
*mSpell.config = spell.config;
}
kedit'COptionDialog::setMisc() (./kdeutils/kedit/optiondialog.cpp:263)
void COptionDialog::setMisc( const SMiscState &misc )
{
mState.misc = misc;
mMisc.wrapCombo->setCurrentItem( misc.wrapMode );
mMisc.wrapInput->setText( QString().setNum(misc.wrapColumn) );
mMisc.backupCheck->setChecked( misc.backupCheck );
mMisc.mailInput->setText( misc.mailCommand );
wrapMode( mMisc.wrapCombo->currentItem() );
}
kedit'COptionDialog::setState() (./kdeutils/kedit/optiondialog.cpp:274)
void COptionDialog::setState( const SOptionState &state )
{
setFont( state.font );
setColor( state.color );
setSpell( state.spell );
setMisc( state.misc );
}