From: Kalle Dalheimer Date: Sat, 31 Mar 2001 08:39:24 +0000 (+0000) Subject: Qt2 compiles again X-Git-Tag: 1.6.10~21363 X-Git-Url: https://git.lyx.org/gitweb/?a=commitdiff_plain;h=37cf92155bf52d0c6b4190e2c30c1bae84e8ee62;p=features.git Qt2 compiles again Percolated fixes to citation search from XForms to Qt2 git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@1865 a592a061-630c-0410-9148-cb99ea01b6c8 --- diff --git a/src/frontends/qt2/.cvsignore b/src/frontends/qt2/.cvsignore index 6904cd62bd..638ccd4ddc 100644 --- a/src/frontends/qt2/.cvsignore +++ b/src/frontends/qt2/.cvsignore @@ -6,8 +6,6 @@ Makefile libqt2.la moc_*.C *_moc.C -FormDocumentDialogBase.h -FormDocumentDialogBase.C FormCitationDialog.h FormCitationDialog.C FormCopyrightDialog.C diff --git a/src/frontends/qt2/ChangeLog b/src/frontends/qt2/ChangeLog index 5adbb8fd01..007229a635 100644 --- a/src/frontends/qt2/ChangeLog +++ b/src/frontends/qt2/ChangeLog @@ -1,3 +1,9 @@ +2001-03-31 Kalle Dalheimer + + * FormCitationDialogImpl.C (doPreviousNext): Propagated search + fixes from XForms + * several files: MVC for citation dialog + 2001-03-30 Angus Leeming * Qt2Base.[Ch]: changed ControlBase to ControlButton. diff --git a/src/frontends/qt2/FormCitation.C b/src/frontends/qt2/FormCitation.C index 99431eccf7..53adc6a43b 100644 --- a/src/frontends/qt2/FormCitation.C +++ b/src/frontends/qt2/FormCitation.C @@ -20,6 +20,7 @@ #include "FormCitationDialogImpl.h" #include "FormCitation.h" +#include #include #include #include @@ -72,8 +73,8 @@ void FormCitation::build() // PENDING(kalle) Parent? dialog_.reset( new FormCitationDialogImpl( this )); - dialog_->searchTypePB->setOn( false ); - dialog_->searchTypePB->setText( _( "Simple" ) ); + dialog_->searchTypeCB->setChecked( false ); + dialog_->searchCaseCB->setChecked( false ); // Manage the ok, apply, restore and cancel/close buttons bc().setOK(dialog_->okPB); @@ -125,7 +126,8 @@ void FormCitation::updateBrowser( QListBox* browser, for (vector::const_iterator it = keys.begin(); it < keys.end(); ++it) { string key = frontStrip(strip(*it)); - browser->insertItem( key.c_str() ); + if( !key.empty() ) + browser->insertItem( key.c_str() ); } } diff --git a/src/frontends/qt2/FormCitationDialog.ui b/src/frontends/qt2/FormCitationDialog.ui index 6a45408305..50ca0bfd00 100644 --- a/src/frontends/qt2/FormCitationDialog.ui +++ b/src/frontends/qt2/FormCitationDialog.ui @@ -12,7 +12,7 @@ 0 0 369 - 497 + 525 @@ -297,11 +297,18 @@ spacing 6 + + QLineEdit + + name + searchED + + QLayoutWidget name - Layout35 + Layout37 @@ -313,12 +320,37 @@ 6 - QLineEdit + QCheckBox name - searchED + searchTypeCB + + + text + Regular E&xpression + + + name + Spacer2_2 + + + orientation + Horizontal + + + sizeType + Expanding + + + sizeHint + + 20 + 20 + + + QPushButton @@ -336,7 +368,7 @@ QLayoutWidget name - Layout36 + Layout38 @@ -348,28 +380,20 @@ 6 - QPushButton + QCheckBox name - searchTypePB + searchCaseCB text - Simple - - - toggleButton - true - - - toggleButton - true + &Case sensitive name - Spacer2_2 + Spacer3_2 orientation @@ -677,12 +701,6 @@ FormCitationDialog slotRestoreClicked() - - searchTypePB - toggled(bool) - FormCitationDialog - slotSearchTypeSelected(bool) - previousPB clicked() diff --git a/src/frontends/qt2/FormCitationDialogImpl.C b/src/frontends/qt2/FormCitationDialogImpl.C index 86d9a6d8df..07c1692e42 100644 --- a/src/frontends/qt2/FormCitationDialogImpl.C +++ b/src/frontends/qt2/FormCitationDialogImpl.C @@ -1,5 +1,5 @@ /** - * $Id: FormCitationDialogImpl.C,v 1.4 2001/03/29 21:17:17 kalle Exp $ + * $Id: FormCitationDialogImpl.C,v 1.5 2001/03/31 08:39:24 kalle Exp $ */ #include "FormCitationDialogImpl.h" @@ -9,6 +9,7 @@ #include "controllers/biblio.h" #include "controllers/ControlCitation.h" +#include #include #include #include @@ -56,33 +57,33 @@ FormCitationDialogImpl::~FormCitationDialogImpl() void FormCitationDialogImpl::slotBibSelected( int sel ) { biblio::InfoMap const & theMap = form_->controller().bibkeysInfo(); - + citeLB->clearSelection(); - + if (sel < 0 || sel >= (int)form_->bibkeys.size()) { form_->bc().input( ButtonPolicy::SMI_NOOP ); return; } - + // Put into browser_info the additional info associated with // the selected browser_bib key infoML->clear(); - + infoML->setText( biblio::getInfo( theMap, form_->bibkeys[sel-1] ).c_str() ); // Highlight the selected browser_bib key in browser_cite if // present vector::const_iterator cit = - std::find(form_->citekeys.begin(), form_->citekeys.end(), + std::find(form_->citekeys.begin(), form_->citekeys.end(), form_->bibkeys[sel]); - + if (cit != form_->citekeys.end()) { int const n = int(cit - form_->citekeys.begin()); citeLB->setSelected( n, true ); citeLB->setTopItem( n ); } - + if (!form_->controller().isReadonly()) { if (cit != form_->citekeys.end()) { form_->setBibButtons(FormCitation::OFF); @@ -105,21 +106,21 @@ void FormCitationDialogImpl::slotCiteSelected( int sel ) form_->bc().input( ButtonPolicy::SMI_NOOP ); return; } - + if (!form_->controller().isReadonly()) { form_->setBibButtons(FormCitation::OFF); form_->setCiteButtons(FormCitation::ON); } - + // Highlight the selected browser_cite key in browser_bib vector::const_iterator cit = std::find(form_->bibkeys.begin(), form_->bibkeys.end(), form_->citekeys[sel]); - + if (cit != form_->bibkeys.end()) { int const n = int(cit - form_->bibkeys.begin()); bibLB->setSelected( n, true ); bibLB->setTopItem( n ); - + // Put into browser_info the additional info associated // with the selected browser_cite key infoML->clear(); @@ -137,14 +138,14 @@ void FormCitationDialogImpl::slotAddClicked() form_->bc().input( ButtonPolicy::SMI_NOOP ); return; } - + // Add the selected browser_bib key to browser_cite citeLB->insertItem( form_->bibkeys[sel].c_str() ); form_->citekeys.push_back( form_->bibkeys[sel] ); int const n = int(form_->citekeys.size()); citeLB->setSelected( n-1, true ); - + form_->setBibButtons(FormCitation::OFF); form_->setCiteButtons(FormCitation::ON); @@ -159,11 +160,11 @@ void FormCitationDialogImpl::slotDelClicked() form_->bc().input( ButtonPolicy::SMI_NOOP ); return; } - + // Remove the selected key from browser_cite citeLB->removeItem( sel ); form_->citekeys.erase(form_->citekeys.begin() + sel ); - + form_->setBibButtons(FormCitation::ON); form_->setCiteButtons(FormCitation::OFF); @@ -178,14 +179,14 @@ void FormCitationDialogImpl::slotUpClicked() form_->bc().input( ButtonPolicy::SMI_NOOP ); return; } - + // Move the selected key up one line vector::iterator it = form_->citekeys.begin() + sel; string const tmp = *it; - + citeLB->removeItem( sel ); form_->citekeys.erase(it); - + citeLB->insertItem( tmp.c_str(), sel-1 ); citeLB->setSelected( sel-1, true ); form_->citekeys.insert(it-1, tmp); @@ -202,91 +203,82 @@ void FormCitationDialogImpl::slotDownClicked() form_->bc().input( ButtonPolicy::SMI_NOOP ); return; } - + // Move the selected key down one line vector::iterator it = form_->citekeys.begin() + sel; string const tmp = *it; - + citeLB->removeItem( sel ); form_->citekeys.erase(it); - + citeLB->insertItem( tmp.c_str(), sel+1 ); citeLB->setSelected( sel+1, true ); form_->citekeys.insert(it+1, tmp); form_->setCiteButtons(FormCitation::ON); - - form_->bc().input( ButtonPolicy::SMI_VALID ); -} - -void FormCitationDialogImpl::slotSearchTypeToggled( bool toggle ) -{ - if( toggle ) - searchTypePB->setText( _( "Regex" ) ); - else - searchTypePB->setText( _( "Simple" ) ); - - form_->bc().input( ButtonPolicy::SMI_NOOP ); + form_->bc().input( ButtonPolicy::SMI_VALID ); } void FormCitationDialogImpl::slotPreviousClicked() { doPreviousNext( false ); -} +} void FormCitationDialogImpl::slotNextClicked() { doPreviousNext( true ); -} +} void FormCitationDialogImpl::doPreviousNext( bool next ) { biblio::InfoMap const & theMap = form_->controller().bibkeysInfo(); string const str = searchED->text().latin1(); - + biblio::Direction const dir = next ? biblio::FORWARD : biblio::BACKWARD; - + biblio::Search const type = - searchTypePB->isOn() ? + searchTypeCB->isChecked() ? biblio::REGEX : biblio::SIMPLE; - + vector::const_iterator start = form_->bibkeys.begin(); int const sel = bibLB->currentItem(); if (sel >= 0 && sel <= int(form_->bibkeys.size()-1)) start += sel; - + // Find the NEXT instance... if (dir == biblio::FORWARD) start += 1; else start -= 1; - + + bool const caseSensitive = searchCaseCB->isChecked(); + vector::const_iterator const cit = biblio::searchKeys(theMap, form_->bibkeys, str, - start, type, dir); - + start, type, dir, caseSensitive ); + if (cit == form_->bibkeys.end()) { form_->bc().input( ButtonPolicy::SMI_NOOP ); return; } - + int const found = int(cit - form_->bibkeys.begin()); if (found == sel) { form_->bc().input( ButtonPolicy::SMI_NOOP ); return; } - + // Update the display int const top = max(found-5, 1); bibLB->setTopItem( top ); bibLB->setSelected( found, true ); slotBibSelected( 0 ); - + form_->bc().input( ButtonPolicy::SMI_VALID ); } diff --git a/src/frontends/qt2/FormCitationDialogImpl.h b/src/frontends/qt2/FormCitationDialogImpl.h index a65126e38a..e3c3bb8910 100644 --- a/src/frontends/qt2/FormCitationDialogImpl.h +++ b/src/frontends/qt2/FormCitationDialogImpl.h @@ -1,5 +1,5 @@ /** - * $Id: FormCitationDialogImpl.h,v 1.2 2001/03/29 21:17:17 kalle Exp $ + * $Id: FormCitationDialogImpl.h,v 1.3 2001/03/31 08:39:24 kalle Exp $ */ #ifndef FORMCITATIONDIALOGIMPL_H @@ -25,7 +25,6 @@ protected slots: virtual void slotDownClicked(); virtual void slotPreviousClicked(); virtual void slotNextClicked(); - virtual void slotSearchTypeToggled( bool ); virtual void slotCitationStyleSelected( int ); virtual void slotTextBeforeReturn(); virtual void slotTextAfterReturn(); diff --git a/src/frontends/qt2/FormCopyright.C b/src/frontends/qt2/FormCopyright.C index 67473e5afa..d90767a778 100644 --- a/src/frontends/qt2/FormCopyright.C +++ b/src/frontends/qt2/FormCopyright.C @@ -22,6 +22,7 @@ #include #include #undef emit +#include "ButtonControllerBase.h" #include "qt2BC.h" #include "ControlCopyright.h" #include "FormCopyright.h" @@ -40,11 +41,11 @@ void FormCopyright::build() dialog_.reset( new FormCopyrightDialogImpl() ); connect( dialog_.get()->closePB, SIGNAL( clicked() ), this, SLOT( slotCancel() ) ); - + dialog_->copyrightLA->setText( controller().getCopyright().c_str() ); dialog_->licenseLA->setText( controller().getLicence().c_str() ); dialog_->disclaimerLA->setText( controller().getDisclaimer().c_str() ); - + // Manage the cancel/close button bc().setCancel(dialog_->closePB); bc().refresh(); diff --git a/src/frontends/qt2/Qt2Base.C b/src/frontends/qt2/Qt2Base.C index b9ef03c270..0e2e63b7b0 100644 --- a/src/frontends/qt2/Qt2Base.C +++ b/src/frontends/qt2/Qt2Base.C @@ -28,7 +28,7 @@ #include -Qt2Base::Qt2Base(ControlButton & c, string const & t) +Qt2Base::Qt2Base(::ControlButton & c, QString const & t) : ViewBC(c), title_(t) {} @@ -39,13 +39,13 @@ void Qt2Base::show() if (!form()) { build(); } - + update(); // make sure its up-to-date - + if (form()->isVisible()) { form()->raise(); } else { - form()->setCaption( title_.c_str() ); + form()->setCaption( title_ ); form()->show(); } } diff --git a/src/frontends/qt2/Qt2Base.h b/src/frontends/qt2/Qt2Base.h index 5cbf618dc2..8dcb95f504 100644 --- a/src/frontends/qt2/Qt2Base.h +++ b/src/frontends/qt2/Qt2Base.h @@ -28,6 +28,7 @@ class QDialog; #include "ViewBase.h" #include "LString.h" #include "ButtonPolicies.h" +#include "ControlButton.h" class qt2BC; @@ -38,7 +39,7 @@ class Qt2Base : public QObject, public ViewBC Q_OBJECT public: /// - Qt2Base(ControlButton &, string const &); + Qt2Base(::ControlButton &, const QString &); /// virtual ~Qt2Base() {} @@ -75,7 +76,7 @@ private: private: /// dialog title, displayed by WM. - string title_; + QString title_; }; @@ -84,7 +85,7 @@ class Qt2DB: public Qt2Base { protected: /// - Qt2DB(ControlButton &, string const &); + Qt2DB(::ControlButton &, const QString&); /// Pointer to the actual instantiation of the Qt dialog virtual QDialog* form() const; /// Real GUI implementation. @@ -93,7 +94,7 @@ protected: template -Qt2DB::Qt2DB(ControlButton & c, string const & t) +Qt2DB::Qt2DB(::ControlButton & c, const QString& t) : Qt2Base(c, t) {} @@ -110,14 +111,14 @@ class Qt2CB: public Base { protected: /// - Qt2CB(ControlButton &, string const &); + Qt2CB(::ControlButton &, const QString&); /// The parent controller Controller & controller() const; }; template -Qt2CB::Qt2CB(ControlButton & c, string const & t) +Qt2CB::Qt2CB(::ControlButton & c, const QString& t) : Base(c, t) {} diff --git a/src/frontends/qt2/qt2BC.C b/src/frontends/qt2/qt2BC.C index 834c269905..c2d195fc98 100644 --- a/src/frontends/qt2/qt2BC.C +++ b/src/frontends/qt2/qt2BC.C @@ -48,9 +48,9 @@ void qt2BC::refresh() } if (cancel_) { if (bp().buttonStatus(ButtonPolicy::CANCEL)) { - cancel_->setText( cancel_label.c_str() ); + cancel_->setText( cancel_label_.c_str() ); } else { - cancel_->setText( close_label.c_str() ); + cancel_->setText( close_label_.c_str() ); } } if (!read_only_.empty()) { diff --git a/src/frontends/qt2/qt2BC.h b/src/frontends/qt2/qt2BC.h index d2dec836e3..1f7de47f16 100644 --- a/src/frontends/qt2/qt2BC.h +++ b/src/frontends/qt2/qt2BC.h @@ -28,6 +28,8 @@ class QWidget; class QButton; +#include +#include "ButtonControllerBase.h" #include "ButtonController.h" /** General purpose button controller for up to four buttons.