/** * \file QRefDialog.C * This file is part of LyX, the document processor. * Licence details can be found in the file COPYING. * * \author Kalle Dalheimer * \author John Levon * * Full author contact details are available in file CREDITS. */ #include #include "QRefDialog.h" #include "QRef.h" #include #include #include //Added by qt3to4: #include namespace lyx { namespace frontend { QRefDialog::QRefDialog(QRef * form) : form_(form) { setupUi(this); connect(okPB, SIGNAL(clicked()), form_, SLOT(slotOK())); connect(applyPB, SIGNAL(clicked()), form_, SLOT(slotApply())); connect(closePB, SIGNAL(clicked()), form_, SLOT(slotClose())); connect( typeCO, SIGNAL( activated(int) ), this, SLOT( changed_adaptor() ) ); connect( referenceED, SIGNAL( textChanged(const QString&) ), this, SLOT( changed_adaptor() ) ); connect( nameED, SIGNAL( textChanged(const QString&) ), this, SLOT( changed_adaptor() ) ); connect( refsLB, SIGNAL( highlighted(const QString&) ), this, SLOT( refHighlighted(const QString&) ) ); connect( refsLB, SIGNAL( selected(const QString&) ), this, SLOT( refSelected(const QString&) ) ); connect( sortCB, SIGNAL( toggled(bool) ), this, SLOT( sortToggled(bool) ) ); connect( gotoPB, SIGNAL( clicked() ), this, SLOT( gotoClicked() ) ); connect( updatePB, SIGNAL( clicked() ), this, SLOT( updateClicked() ) ); connect( bufferCO, SIGNAL( activated(int) ), this, SLOT( updateClicked() ) ); } void QRefDialog::show() { QDialog::show(); refsLB->setFocus(); } void QRefDialog::changed_adaptor() { form_->changed(); } void QRefDialog::gotoClicked() { form_->gotoRef(); } void QRefDialog::refHighlighted(const QString & sel) { if (form_->readOnly()) return; int const cur_item = refsLB->currentItem(); bool const cur_item_selected = cur_item >= 0 ? refsLB->isSelected(cur_item) : false; if (cur_item_selected) referenceED->setText(sel); if (form_->at_ref_) form_->gotoRef(); gotoPB->setEnabled(true); if (form_->typeAllowed()) typeCO->setEnabled(true); if (form_->nameAllowed()) nameED->setEnabled(true); } void QRefDialog::refSelected(const QString & sel) { if (form_->readOnly()) return; int const cur_item = refsLB->currentItem(); bool const cur_item_selected = cur_item >= 0 ? refsLB->isSelected(cur_item) : false; if (cur_item_selected) referenceED->setText(sel); // or double click, inserts ref and closes dialog form_->slotOK(); } void QRefDialog::sortToggled(bool on) { form_->sort_ = on; form_->redoRefs(); } void QRefDialog::updateClicked() { form_->updateRefs(); } void QRefDialog::closeEvent(QCloseEvent * e) { form_->slotWMHide(); e->accept(); } } // namespace frontend } // namespace lyx