diff options
Diffstat (limited to 'src/webquery.cpp')
-rw-r--r-- | src/webquery.cpp | 186 |
1 files changed, 93 insertions, 93 deletions
diff --git a/src/webquery.cpp b/src/webquery.cpp index f1b44e3..dd15343 100644 --- a/src/webquery.cpp +++ b/src/webquery.cpp @@ -17,19 +17,19 @@ * Free Software Foundation, Inc., * * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ -#include <qtimer.h> -#include <qheader.h> -#include <qwidget.h> -#include <qlayout.h> -#include <qtooltip.h> -#include <qframe.h> -#include <qwidgetstack.h> -#include <qlabel.h> -#include <qcheckbox.h> -#include <qspinbox.h> -#include <qapplication.h> -#include <qeventloop.h> -#include <qbuffer.h> +#include <ntqtimer.h> +#include <ntqheader.h> +#include <ntqwidget.h> +#include <ntqlayout.h> +#include <ntqtooltip.h> +#include <ntqframe.h> +#include <ntqwidgetstack.h> +#include <ntqlabel.h> +#include <ntqcheckbox.h> +#include <ntqspinbox.h> +#include <ntqapplication.h> +#include <ntqeventloop.h> +#include <ntqbuffer.h> #include <klocale.h> #include <kcombobox.h> @@ -70,8 +70,8 @@ namespace KBibTeX { - WebQueryWidget::WebQueryWidget( QWidget *parent, const char *name ) - : QWidget( parent, name ), lineEditQuery( NULL ), spinBoxMaxHits( NULL ) + WebQueryWidget::WebQueryWidget( TQWidget *parent, const char *name ) + : TQWidget( parent, name ), lineEditQuery( NULL ), spinBoxMaxHits( NULL ) { // nothing } @@ -83,28 +83,28 @@ namespace KBibTeX void WebQueryWidget::init() { - QVBoxLayout *vLayout = new QVBoxLayout( this, 0, KDialog::spacingHint() ); + TQVBoxLayout *vLayout = new TQVBoxLayout( this, 0, KDialog::spacingHint() ); - QHBoxLayout *hLayout = new QHBoxLayout( ); + TQHBoxLayout *hLayout = new TQHBoxLayout( ); vLayout->addLayout( hLayout ); KPushButton *clearSearchText = new KPushButton( this ); - clearSearchText->setIconSet( QIconSet( SmallIcon( "locationbar_erase" ) ) ); + clearSearchText->setIconSet( TQIconSet( SmallIcon( "locationbar_erase" ) ) ); hLayout->addWidget( clearSearchText ); - QLabel *label = new QLabel( i18n( "Search &term:" ), this ); + TQLabel *label = new TQLabel( i18n( "Search &term:" ), this ); hLayout->addWidget( label ); lineEditQuery = new KLineEdit( this ); hLayout->addWidget( lineEditQuery ); label->setBuddy( lineEditQuery ); hLayout->addSpacing( KDialog::spacingHint() * 2 ); connect( clearSearchText, SIGNAL( clicked() ), lineEditQuery, SLOT( clear() ) ); - connect( lineEditQuery, SIGNAL( textChanged( const QString& ) ), this, SLOT( slotTextChanged( const QString& ) ) ); + connect( lineEditQuery, SIGNAL( textChanged( const TQString& ) ), this, SLOT( slotTextChanged( const TQString& ) ) ); hLayout->setStretchFactor( lineEditQuery, 4 ); KCompletion *completionQuery = lineEditQuery->completionObject(); - label = new QLabel( i18n( "&Number of results:" ), this ); + label = new TQLabel( i18n( "&Number of results:" ), this ); hLayout->addWidget( label ); - spinBoxMaxHits = new QSpinBox( 1, 250, 1, this ); + spinBoxMaxHits = new TQSpinBox( 1, 250, 1, this ); spinBoxMaxHits->setValue( 10 ); hLayout->addWidget( spinBoxMaxHits ); label->setBuddy( spinBoxMaxHits ); @@ -112,19 +112,19 @@ namespace KBibTeX vLayout->addStretch( 0 ); connect( lineEditQuery, SIGNAL( returnPressed() ), this, SIGNAL( startSearch() ) ); - connect( lineEditQuery, SIGNAL( returnPressed( const QString& ) ), completionQuery, SLOT( addItem( const QString& ) ) ); + connect( lineEditQuery, SIGNAL( returnPressed( const TQString& ) ), completionQuery, SLOT( addItem( const TQString& ) ) ); } - void WebQueryWidget::slotTextChanged( const QString& text ) + void WebQueryWidget::slotTextChanged( const TQString& text ) { slotTextChanged( text, false ); } - void WebQueryWidget::slotTextChanged( const QString& text, bool delayed ) + void WebQueryWidget::slotTextChanged( const TQString& text, bool delayed ) { bool doEnable = !text.stripWhiteSpace().replace( '$', "" ).isEmpty(); if ( delayed && doEnable ) - QTimer::singleShot( 100, this, SLOT( slotEnableSearchTrue() ) ); + TQTimer::singleShot( 100, this, SLOT( slotEnableSearchTrue() ) ); else if ( !delayed ) emit enableSearch( doEnable ); } @@ -134,7 +134,7 @@ namespace KBibTeX emit enableSearch( true ); } - WebQuery::WebQuery( QWidget *parent ): QObject(), m_parent( parent ), m_progressDialog( NULL ), m_currentJob( NULL ) + WebQuery::WebQuery( TQWidget *parent ): TQObject(), m_parent( parent ), m_progressDialog( NULL ), m_currentJob( NULL ) { // nothing } @@ -150,7 +150,7 @@ namespace KBibTeX if ( m_progressDialog != NULL ) delete m_progressDialog; m_aborted = false; - m_progressDialog = new KProgressDialog( m_parent, "WebQuery_progressDialog", i18n( "Searching" ), QString( i18n( "Searching %1" ) ).arg( title() ) ); + m_progressDialog = new KProgressDialog( m_parent, "WebQuery_progressDialog", i18n( "Searching" ), TQString( i18n( "Searching %1" ) ).arg( title() ) ); m_progressDialog->progressBar()->setMinimumWidth( 256 ); m_progressDialog->setAutoClose( true ); m_progressDialog->setMinimumDuration( 10 ); @@ -190,54 +190,54 @@ namespace KBibTeX m_progressDialog->progressBar()->setProgress( m_currentStage * 100 ); } - QString WebQuery::download( const KURL& url ) + TQString WebQuery::download( const KURL& url ) { - QString data = downloadHTML( url ); - if ( data == QString::null ) - return QString::null; + TQString data = downloadHTML( url ); + if ( data == TQString::null ) + return TQString::null; /** post-processing */ - if ( data != QString::null ) + if ( data != TQString::null ) { - data.replace( QRegExp( "</?(p|br)[^>]*>" ), "\n" ); - data.replace( QRegExp( "</?[^>]*>" ), "" ); + data.replace( TQRegExp( "</?(p|br)[^>]*>" ), "\n" ); + data.replace( TQRegExp( "</?[^>]*>" ), "" ); data.replace( "@import", "" );/// JavaScript import? } return data; } - QString WebQuery::downloadHTML( const KURL& url ) + TQString WebQuery::downloadHTML( const KURL& url ) { - if ( m_currentJob != NULL ) return QString::null; + if ( m_currentJob != NULL ) return TQString::null; - qDebug( "WebQuery::download( %s )", url.prettyURL().latin1() ); + tqDebug( "WebQuery::download( %s )", url.prettyURL().latin1() ); m_incomingData = ""; m_currentJobTotalSize = -1; m_currentJob = KIO::get( url, false, false ); connect( m_currentJob, SIGNAL( totalSize( KIO::Job*, KIO::filesize_t ) ), this, SLOT( slotSetJobTotalSize( KIO::Job*, KIO::filesize_t ) ) ); connect( m_currentJob, SIGNAL( processedSize( KIO::Job*, KIO::filesize_t ) ), this, SLOT( slotSetJobProcessedSize( KIO::Job*, KIO::filesize_t ) ) ); - connect( m_currentJob, SIGNAL( data( KIO::Job*, const QByteArray & ) ), this, SLOT( slotJobData( KIO::Job*, const QByteArray & ) ) ); + connect( m_currentJob, SIGNAL( data( KIO::Job*, const TQByteArray & ) ), this, SLOT( slotJobData( KIO::Job*, const TQByteArray & ) ) ); connect( m_currentJob, SIGNAL( result( KIO::Job* ) ), this, SLOT( slotJobFinished( KIO::Job* ) ) ); - qApp->eventLoop()->enterLoop(); + tqApp->eventLoop()->enterLoop(); return m_incomingData; } - BibTeX::File *WebQuery::downloadBibTeXFile( const KURL& url, QTextStream::Encoding encoding ) + BibTeX::File *WebQuery::downloadBibTeXFile( const KURL& url, TQTextStream::Encoding encoding ) { - QString data = download( url ); - if ( data == QString::null ) + TQString data = download( url ); + if ( data == TQString::null ) return NULL; BibTeX::FileImporterBibTeX importer( FALSE ); importer.setIgnoreComments( TRUE ); - QBuffer buffer; + TQBuffer buffer; buffer.open( IO_WriteOnly ); - QTextStream ts( &buffer ); + TQTextStream ts( &buffer ); ts.setEncoding( encoding ); ts << data << endl; buffer.close(); @@ -262,10 +262,10 @@ namespace KBibTeX m_progressDialog->progressBar()->setProgress( m_currentStage * 100 + min( 100, size * 100 / m_currentJobTotalSize ) ); } - void WebQuery::slotJobData( KIO::Job *job, const QByteArray &data ) + void WebQuery::slotJobData( KIO::Job *job, const TQByteArray &data ) { if ( job != m_currentJob ) return; - QCString dataStr = QCString( data, data.size() + 1 ); + TQCString dataStr = TQCString( data, data.size() + 1 ); if ( data.size() > 0 ) m_incomingData.append( dataStr ); } @@ -277,13 +277,13 @@ namespace KBibTeX if ( job->error() ) { job->showErrorDialog(); - m_incomingData = QString::null; + m_incomingData = TQString::null; } enterNextStage(); - qApp->eventLoop()->exitLoop(); + tqApp->eventLoop()->exitLoop(); } - WebQueryWizard::WebQueryWizard( KDialogBase *dlg, const char* name ) : QWidget( dlg, name ), m_dlg( dlg ), m_pushButtonSearch( NULL ) + WebQueryWizard::WebQueryWizard( KDialogBase *dlg, const char* name ) : TQWidget( dlg, name ), m_dlg( dlg ), m_pushButtonSearch( NULL ) { setupGUI( ); @@ -301,14 +301,14 @@ namespace KBibTeX saveWindowSize( config ); } - void WebQueryWizard::showEvent( QShowEvent * ) + void WebQueryWizard::showEvent( TQShowEvent * ) { KConfig * config = kapp->config(); config->setGroup( "WebQueryWizard" ); restoreWindowSize( config ); } - int WebQueryWizard::execute( QWidget *parent, QValueList<BibTeX::Entry*> &results ) + int WebQueryWizard::execute( TQWidget *parent, TQValueList<BibTeX::Entry*> &results ) { KDialogBase *dlg = new KDialogBase( parent, "WebQueryWizard", true, i18n( "Import" ), KDialogBase::Ok | KDialogBase::Cancel, ( KDialogBase::ButtonCode )0, true ); WebQueryWizard *wiz = new WebQueryWizard( dlg, "WebQueryWizard" ); @@ -319,9 +319,9 @@ namespace KBibTeX results.clear(); int result = dlg->exec(); - if ( result == QDialog::Accepted ) + if ( result == TQDialog::Accepted ) { - QListViewItemIterator it = wiz->m_checkBoxImportAll->isChecked() ? QListViewItemIterator( wiz->m_listViewResults ) : QListViewItemIterator( wiz->m_listViewResults, QListViewItemIterator::Selected ); + TQListViewItemIterator it = wiz->m_checkBoxImportAll->isChecked() ? TQListViewItemIterator( wiz->m_listViewResults ) : TQListViewItemIterator( wiz->m_listViewResults, TQListViewItemIterator::Selected ); while ( it.current() ) { ResultsListViewItem *item = dynamic_cast<ResultsListViewItem*>( it.current() ); @@ -339,7 +339,7 @@ namespace KBibTeX return result; } - void WebQueryWizard::previewEntry( QListViewItem *item ) + void WebQueryWizard::previewEntry( TQListViewItem *item ) { ResultsListViewItem *rlvi = dynamic_cast<ResultsListViewItem*>( item ); if ( rlvi != NULL ) @@ -351,7 +351,7 @@ namespace KBibTeX void WebQueryWizard::importEnableChanging( ) { - QListViewItemIterator it( m_listViewResults, QListViewItemIterator::Selected ); + TQListViewItemIterator it( m_listViewResults, TQListViewItemIterator::Selected ); emit changeButtonOK(( m_checkBoxImportAll->isChecked() && m_listViewResults->childCount() > 0 ) || it.current() != NULL ); } @@ -360,11 +360,11 @@ namespace KBibTeX { if ( index < 0 || index >= ( int )m_webQueries.size() ) return; - m_pushButtonSearch->setCaption( QString( i18n( "Search %1" ) ).arg( m_webQueries[index]->title() ) ); + m_pushButtonSearch->setCaption( TQString( i18n( "Search %1" ) ).arg( m_webQueries[index]->title() ) ); m_disclaimerLabel->setText( m_webQueries[index]->disclaimer() ); m_disclaimerLabel->setURL( m_webQueries[index]->disclaimerURL() ); - QToolTip::remove( m_disclaimerLabel ); - QToolTip::add( m_disclaimerLabel, m_webQueries[index]->disclaimerURL() ); + TQToolTip::remove( m_disclaimerLabel ); + TQToolTip::add( m_disclaimerLabel, m_webQueries[index]->disclaimerURL() ); m_widgetStackQueries->raiseWidget( m_webQueries[index]->widget() ); m_pushButtonSearch->setEnabled( m_webQueries[index]->widget()->searchPossible() ); } @@ -381,7 +381,7 @@ namespace KBibTeX setEnabled( FALSE ); m_dlg->enableButtonCancel( FALSE ); - QApplication::setOverrideCursor( Qt::waitCursor ); + TQApplication::setOverrideCursor( TQt::waitCursor ); m_listViewResults->clear(); connect( m_webQueries[index], SIGNAL( foundEntry( BibTeX::Entry*, bool ) ), this, SLOT( addHit( BibTeX::Entry*, bool ) ) ); connect( m_webQueries[index], SIGNAL( endSearch( WebQuery::Status ) ), this, SLOT( endSearch( WebQuery::Status ) ) ); @@ -397,7 +397,7 @@ namespace KBibTeX setEnabled( TRUE ); m_dlg->enableButtonCancel( TRUE ); importEnableChanging(); - QApplication::restoreOverrideCursor(); + TQApplication::restoreOverrideCursor(); if ( status == WebQuery::statusInsufficientPermissions ) KMessageBox::sorry( this, i18n( "You do not have the necessary permissions to query data from this service." ) ); } @@ -415,7 +415,7 @@ namespace KBibTeX m_pushButtonSearch->setEnabled( enabled ); } - void WebQueryWizard::openURL( const QString& url ) + void WebQueryWizard::openURL( const TQString& url ) { Settings::openUrl( KURL( url ), this ); } @@ -424,24 +424,24 @@ namespace KBibTeX { Settings * settings = Settings::self(); setMinimumSize( 640, 384 ); - QGridLayout *layout = new QGridLayout( this, 5, 4, 0, KDialog::spacingHint() ); + TQGridLayout *layout = new TQGridLayout( this, 5, 4, 0, KDialog::spacingHint() ); layout->setColStretch( 2, 1 ); layout->setRowStretch( 3, 1 ); - QLabel *label = new QLabel( i18n( "&Engine:" ), this ); + TQLabel *label = new TQLabel( i18n( "&Engine:" ), this ); layout->addWidget( label, 0, 0 ); m_comboBoxEngines = new KComboBox( FALSE, this ); label->setBuddy( m_comboBoxEngines ); layout->addWidget( m_comboBoxEngines, 0, 1 ); connect( m_comboBoxEngines, SIGNAL( activated( int ) ), this, SLOT( otherEngineSelected( int ) ) ); - m_widgetStackQueries = new QWidgetStack( this ); + m_widgetStackQueries = new TQWidgetStack( this ); layout->addMultiCellWidget( m_widgetStackQueries, 1, 2, 0, 2 ); setupQueries(); m_pushButtonSearch = new KPushButton( i18n( "&Search" ), this ); layout->addWidget( m_pushButtonSearch, 0, 3 ); - m_pushButtonSearch->setIconSet( QIconSet( SmallIcon( "find" ) ) ); + m_pushButtonSearch->setIconSet( TQIconSet( SmallIcon( "find" ) ) ); m_pushButtonSearch->setEnabled( FALSE ); m_listViewResults = new KListView( this ); @@ -455,23 +455,23 @@ namespace KBibTeX m_listViewResults->header() ->setFont( KGlobalSettings::generalFont() ); m_listViewResults->setAllColumnsShowFocus( TRUE ); m_listViewResults->setFullWidth( true ); - m_listViewResults->setSelectionMode( QListView::Extended ); + m_listViewResults->setSelectionMode( TQListView::Extended ); layout->addMultiCellWidget( m_listViewResults, 3, 3, 0, 3 ); - connect( m_listViewResults, SIGNAL( executed( QListViewItem* ) ), this, SLOT( previewEntry( QListViewItem* ) ) ); - connect( m_listViewResults, SIGNAL( returnPressed( QListViewItem* ) ), this, SLOT( previewEntry( QListViewItem* ) ) ); + connect( m_listViewResults, SIGNAL( executed( TQListViewItem* ) ), this, SLOT( previewEntry( TQListViewItem* ) ) ); + connect( m_listViewResults, SIGNAL( returnPressed( TQListViewItem* ) ), this, SLOT( previewEntry( TQListViewItem* ) ) ); - QHBoxLayout *horizontalLayout = new QHBoxLayout(); + TQHBoxLayout *horizontalLayout = new TQHBoxLayout(); layout->addMultiCellLayout( horizontalLayout, 4, 4, 0, 3 ); m_disclaimerLabel = new KURLLabel( this ); horizontalLayout->addWidget( m_disclaimerLabel ); horizontalLayout->setStretchFactor( m_disclaimerLabel, 4 ); - m_checkBoxImportAll = new QCheckBox( i18n( "Import all hits" ), this ); - m_checkBoxImportAll->setSizePolicy( QSizePolicy::Minimum, QSizePolicy::Minimum ); + m_checkBoxImportAll = new TQCheckBox( i18n( "Import all hits" ), this ); + m_checkBoxImportAll->setSizePolicy( TQSizePolicy::Minimum, TQSizePolicy::Minimum ); horizontalLayout->addWidget( m_checkBoxImportAll ); - connect( m_disclaimerLabel, SIGNAL( leftClickedURL( const QString& ) ), this, SLOT( openURL( const QString& ) ) ); + connect( m_disclaimerLabel, SIGNAL( leftClickedURL( const TQString& ) ), this, SLOT( openURL( const TQString& ) ) ); connect( m_listViewResults, SIGNAL( selectionChanged( ) ), this, SLOT( importEnableChanging( ) ) ); - connect( m_listViewResults, SIGNAL( clicked( QListViewItem* ) ), this, SLOT( importEnableChanging( ) ) ); + connect( m_listViewResults, SIGNAL( clicked( TQListViewItem* ) ), this, SLOT( importEnableChanging( ) ) ); connect( m_checkBoxImportAll, SIGNAL( toggled( bool ) ), this, SLOT( importEnableChanging( ) ) ); connect( m_pushButtonSearch, SIGNAL( clicked() ), this, SLOT( startSearch() ) ); } @@ -511,7 +511,7 @@ namespace KBibTeX query = new WebQueryZMATH( this ); m_webQueries.append( query ); - for ( QValueList<WebQuery*>::Iterator it = m_webQueries.begin(); it != m_webQueries.end(); ++it ) + for ( TQValueList<WebQuery*>::Iterator it = m_webQueries.begin(); it != m_webQueries.end(); ++it ) { m_comboBoxEngines->insertItem(( *it )->title() ); m_widgetStackQueries->addWidget(( *it )->widget() ); @@ -523,8 +523,8 @@ namespace KBibTeX /* This function was taken form KMainWindow of KDE 3.5 and modified to fit KBibTeX */ void WebQueryWizard::saveWindowSize( KConfig *config ) const { - int scnum = QApplication::desktop()->screenNumber( parentWidget() ); - QRect desk = QApplication::desktop()->screenGeometry( scnum ); + int scnum = TQApplication::desktop()->screenNumber( parentWidget() ); + TQRect desk = TQApplication::desktop()->screenGeometry( scnum ); int w, h; #if defined Q_WS_X11 // save maximalization as desktop size + 1 in that direction @@ -539,10 +539,10 @@ namespace KBibTeX } //TODO: add "Maximized" property instead "+1" hack #endif - QRect size( desk.width(), w, desk.height(), h ); + TQRect size( desk.width(), w, desk.height(), h ); bool defaultSize = false;//( size == d->defaultWindowSize ); - QString widthString = QString::fromLatin1( "Width %1" ).arg( desk.width() ); - QString heightString = QString::fromLatin1( "Height %1" ).arg( desk.height() ); + TQString widthString = TQString::fromLatin1( "Width %1" ).arg( desk.width() ); + TQString heightString = TQString::fromLatin1( "Height %1" ).arg( desk.height() ); if ( !config->hasDefault( widthString ) && defaultSize ) config->revertToDefault( widthString ); else @@ -558,20 +558,20 @@ namespace KBibTeX void WebQueryWizard::restoreWindowSize( KConfig *config ) { // restore the size - int scnum = QApplication::desktop()->screenNumber( parentWidget() ); - QRect desk = QApplication::desktop()->screenGeometry( scnum ); - QSize size( config->readNumEntry( QString::fromLatin1( "Width %1" ).arg( desk.width() ), 0 ), - config->readNumEntry( QString::fromLatin1( "Height %1" ).arg( desk.height() ), 0 ) ); + int scnum = TQApplication::desktop()->screenNumber( parentWidget() ); + TQRect desk = TQApplication::desktop()->screenGeometry( scnum ); + TQSize size( config->readNumEntry( TQString::fromLatin1( "Width %1" ).arg( desk.width() ), 0 ), + config->readNumEntry( TQString::fromLatin1( "Height %1" ).arg( desk.height() ), 0 ) ); if ( size.isEmpty() ) { // try the KDE 2.0 way - size = QSize( config->readNumEntry( QString::fromLatin1( "Width" ), 0 ), - config->readNumEntry( QString::fromLatin1( "Height" ), 0 ) ); + size = TQSize( config->readNumEntry( TQString::fromLatin1( "Width" ), 0 ), + config->readNumEntry( TQString::fromLatin1( "Height" ), 0 ) ); if ( !size.isEmpty() ) { // make sure the other resolutions don't get old settings - config->writeEntry( QString::fromLatin1( "Width" ), 0 ); - config->writeEntry( QString::fromLatin1( "Height" ), 0 ); + config->writeEntry( TQString::fromLatin1( "Width" ), 0 ); + config->writeEntry( TQString::fromLatin1( "Height" ), 0 ); } } if ( !size.isEmpty() ) @@ -587,7 +587,7 @@ namespace KBibTeX m_dlg->resize( size.width(), height() ); else m_dlg->resize( size ); - // QWidget::showMaximized() is both insufficient and broken + // TQWidget::showMaximized() is both insufficient and broken KWin::setState( m_dlg->winId(), state ); #else if ( size.width() > desk.width() || size.height() > desk.height() ) @@ -598,7 +598,7 @@ namespace KBibTeX } } - ResultsListViewItem::ResultsListViewItem( QListView * parent, BibTeX::Entry * entry ) : QListViewItem( parent ), m_entry( entry ) + ResultsListViewItem::ResultsListViewItem( TQListView * parent, BibTeX::Entry * entry ) : TQListViewItem( parent ), m_entry( entry ) { BibTeX::EntryField * field = entry->getField( BibTeX::EntryField::ftTitle ); if ( field != NULL && field->value() != NULL ) @@ -609,9 +609,9 @@ namespace KBibTeX BibTeX::PersonContainer* personContainer = dynamic_cast<BibTeX::PersonContainer*>( field->value()->items.first() ); if ( personContainer != NULL ) { - QStringList authors; - QValueList<BibTeX::Person*> list = personContainer->persons; - for ( QValueList<BibTeX::Person*>::ConstIterator it = list.begin(); it != list.end(); ++it ) + TQStringList authors; + TQValueList<BibTeX::Person*> list = personContainer->persons; + for ( TQValueList<BibTeX::Person*>::ConstIterator it = list.begin(); it != list.end(); ++it ) authors.append(( *it ) ->text() ); setText( 1, authors.join( " and " ).replace( '{', "" ).replace( '}', "" ).replace( '~', ' ' ) ); } |