lyx_mirror/src/frontends/qt4/QSpellcheckerDialog.C
Abdelrazak Younes 995da7bafc Qt4 compilation speedup patch by Bo Peng and me.
* configure.ac: removed frontends/qt4/moc compilation.
* frontends/qt4/: moc files (*_moc.cpp) are now included at the end of relevant source file (*.C)
* SConscript: adapted to "moc included in .C file" change.
* frontends/qt4/Makefile.am:  adapted to "moc included in .C file" change.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@13860 a592a061-630c-0410-9148-cb99ea01b6c8
2006-05-18 08:51:12 +00:00

111 lines
2.2 KiB
C

/**
* \file QSpellcheckerDialog.C
* This file is part of LyX, the document processor.
* Licence details can be found in the file COPYING.
*
* \author John Levon
*
* Full author contact details are available in file CREDITS.
*/
#include <config.h>
#include "QSpellcheckerDialog.h"
#include "QSpellchecker.h"
#include <QListWidget>
#include <QPushButton>
#include <QCloseEvent>
namespace lyx {
namespace frontend {
QSpellcheckerDialog::QSpellcheckerDialog(QSpellchecker * form)
: form_(form)
{
setupUi(this);
connect(closePB, SIGNAL(clicked()),
form, SLOT(slotClose()));
connect( replaceCO, SIGNAL( highlighted(const QString&) ),
this, SLOT( replaceChanged(const QString &) ) );
connect( replacePB, SIGNAL( clicked() ),
this, SLOT( replaceClicked() ) );
connect( ignorePB, SIGNAL( clicked() ),
this, SLOT( ignoreClicked() ) );
connect( replacePB_3, SIGNAL( clicked() ),
this, SLOT( acceptClicked() ) );
connect( addPB, SIGNAL( clicked() ),
this, SLOT( addClicked() ) );
connect( suggestionsLW, SIGNAL( itemDoubleClicked(QListWidgetItem*) ),
this, SLOT( replaceClicked() ) );
connect( suggestionsLW, SIGNAL( itemClicked(QListWidgetItem*) ),
this, SLOT( suggestionChanged(QListWidgetItem*) ) );
}
void QSpellcheckerDialog::acceptClicked()
{
form_->accept();
}
void QSpellcheckerDialog::addClicked()
{
form_->add();
}
void QSpellcheckerDialog::replaceClicked()
{
form_->replace();
}
void QSpellcheckerDialog::ignoreClicked()
{
form_->ignore();
}
void QSpellcheckerDialog::suggestionChanged(QListWidgetItem * item)
{
if (replaceCO->count() != 0)
replaceCO->changeItem(item->text(), 0);
else
replaceCO->insertItem(item->text());
replaceCO->setCurrentItem(0);
}
void QSpellcheckerDialog::replaceChanged(const QString & str)
{
if (suggestionsLW->currentItem()->text() == str)
return;
unsigned int i = 0;
for (; i < suggestionsLW->count(); ++i) {
if (suggestionsLW->item(i)->text() == str)
break;
}
if (i != suggestionsLW->count())
suggestionsLW->setCurrentRow(i);
}
void QSpellcheckerDialog::closeEvent(QCloseEvent * e)
{
form_->slotWMHide();
e->accept();
}
void QSpellcheckerDialog::reject()
{
form_->slotWMHide();
QDialog::reject();
}
} // namespace frontend
} // namespace lyx
#include "QSpellcheckerDialog_moc.cpp"