Source Code (Use browser search to find items of interest.)
Class Index
kdelibs'SearchDialog (./kdelibs/kwrite/kwdialog.h:19)
class SearchDialog : public KDialogBase
{
Q_OBJECT
public:
SearchDialog( QWidget *parent, QStringList &searchFor, QStringList &replaceWith, int flags );
QString getSearchFor();
QString getReplaceWith();
int getFlags();
protected slots:
void slotOk();
protected:
QComboBox *m_search;
QComboBox *m_replace;
QCheckBox *m_opt1;
QCheckBox *m_opt2;
QCheckBox *m_opt3;
QCheckBox *m_opt4;
QCheckBox *m_opt5;
QCheckBox *m_opt6;
};
kdelibs'SearchDialog::SearchDialog() (./kdelibs/kwrite/kwdialog.cpp:34)
SearchDialog::SearchDialog( QWidget *parent, QStringList &searchFor, QStringList &replaceWith, int flags )
: KDialogBase( parent, 0L, true, i18n( "Find Text" ), Ok | Cancel, Ok )
, m_replace( 0L )
{
QWidget *page = new QWidget( this );
setMainWidget( page );
QVBoxLayout *topLayout = new QVBoxLayout( page, 0, spacingHint() );
m_search = new QComboBox( true, page );
m_search->insertStringList( searchFor );
m_search->setMinimumWidth( m_search->sizeHint().width() );
m_search->lineEdit()->selectAll();
QLabel *label = new QLabel( m_search, i18n( "&Text To Find:" ), page );
topLayout->addWidget( label );
topLayout->addWidget( m_search );
if( flags & sfReplace )
{
// make it a replace dialog
setCaption( i18n( "Replace Text" ) );
m_replace = new QComboBox( true, page );
m_replace->insertStringList( replaceWith );
m_replace->setMinimumWidth( m_search->sizeHint().width() );
label = new QLabel( m_replace, i18n( "&Replace With:" ), page );
topLayout->addWidget( label );
topLayout->addWidget( m_replace );
}
QGroupBox *group = new QGroupBox( i18n( "Options" ), page );
topLayout->addWidget( group, 10 );
QGridLayout *gbox = new QGridLayout( group, 5, 2, spacingHint() );
gbox->addRowSpacing( 0, fontMetrics().lineSpacing() );
gbox->setRowStretch( 4, 10 );
m_opt1 = new QCheckBox( i18n( "C&ase Sensitive" ), group );
gbox->addWidget( m_opt1, 1, 0 );
m_opt2 = new QCheckBox(i18n("&Whole Words Only" ), group );
gbox->addWidget( m_opt2, 2, 0 );
m_opt3 = new QCheckBox(i18n("&From Cursor" ), group );
gbox->addWidget( m_opt3, 3, 0 );
m_opt4 = new QCheckBox(i18n("Find &Backwards" ), group );
gbox->addWidget( m_opt4, 1, 1 );
m_opt5 = new QCheckBox(i18n("&Selected Text" ), group );
gbox->addWidget( m_opt5, 2, 1 );
m_opt1->setChecked( flags & sfCaseSensitive );
m_opt2->setChecked( flags & sfWholeWords );
m_opt3->setChecked( flags & sfFromCursor );
m_opt4->setChecked( flags & sfBackward );
m_opt5->setChecked( flags & sfSelected );
if( m_replace )
{
m_opt6 = new QCheckBox( i18n( "&Prompt On Replace" ), group );
m_opt6->setChecked( flags & sfPrompt );
gbox->addWidget( m_opt6, 3, 1 );
}
m_search->setFocus();
}
kdelibs'SearchDialog::getSearchFor() (./kdelibs/kwrite/kwdialog.cpp:101)
QString SearchDialog::getSearchFor()
{
return m_search->currentText();
}
kdelibs'SearchDialog::getReplaceWith() (./kdelibs/kwrite/kwdialog.cpp:106)
QString SearchDialog::getReplaceWith()
{
return m_replace->currentText();
}
kdelibs'SearchDialog::getFlags() (./kdelibs/kwrite/kwdialog.cpp:111)
int SearchDialog::getFlags()
{
int flags = 0;
if( m_opt1->isChecked() ) flags |= sfCaseSensitive;
if( m_opt2->isChecked() ) flags |= sfWholeWords;
if( m_opt3->isChecked() ) flags |= sfFromCursor;
if( m_opt4->isChecked() ) flags |= sfBackward;
if( m_opt5->isChecked() ) flags |= sfSelected;
if( m_replace )
{
if( m_opt6->isChecked() )
flags |= sfPrompt;
flags |= sfReplace;
}
return flags;
}
kdelibs'SearchDialog::slotOk() (./kdelibs/kwrite/kwdialog.cpp:131)
void SearchDialog::slotOk()
{
const char *text;
text = m_search->currentText();
if( text && *text )
accept();
}
// this dialog is not modal