From 47c8a359c5276062c4bc17f0e82410f29081b502 Mon Sep 17 00:00:00 2001 From: tpearson Date: Sat, 31 Jul 2010 19:48:06 +0000 Subject: Trinity Qt initial conversion git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdenetwork@1157648 283d02a7-25f6-0310-bc7c-ecb5cbfe19da --- kopete/libkopete/kopetecontact.cpp | 220 ++++++++++++++++++------------------- 1 file changed, 110 insertions(+), 110 deletions(-) (limited to 'kopete/libkopete/kopetecontact.cpp') diff --git a/kopete/libkopete/kopetecontact.cpp b/kopete/libkopete/kopetecontact.cpp index 15cb27df..546958ef 100644 --- a/kopete/libkopete/kopetecontact.cpp +++ b/kopete/libkopete/kopetecontact.cpp @@ -19,7 +19,7 @@ #include "kopetecontact.h" -#include +#include #include @@ -47,14 +47,14 @@ #include "kopeteemoticons.h" //For the moving to another metacontact dialog -#include -#include -#include -#include +#include +#include +#include +#include #include -#include -#include -#include +#include +#include +#include namespace Kopete { @@ -68,19 +68,19 @@ public: MetaContact *metaContact; - QString contactId; - QString icon; + TQString contactId; + TQString icon; - QTime idleTimer; + TQTime idleTimer; unsigned long int idleTime; Kopete::ContactProperty::Map properties; }; -Contact::Contact( Account *account, const QString &contactId, - MetaContact *parent, const QString &icon ) - : QObject( parent ) +Contact::Contact( Account *account, const TQString &contactId, + MetaContact *parent, const TQString &icon ) + : TQObject( parent ) { d = new Private; @@ -98,7 +98,7 @@ Contact::Contact( Account *account, const QString &contactId, if ( account ) { account->registerContact( this ); - connect( account, SIGNAL( isConnectedChanged() ), SLOT( slotAccountIsConnectedChanged() ) ); + connect( account, TQT_SIGNAL( isConnectedChanged() ), TQT_SLOT( slotAccountIsConnectedChanged() ) ); } // Need to check this because myself() may have no parent @@ -106,8 +106,8 @@ Contact::Contact( Account *account, const QString &contactId, // (ex: for unit tests or chat window style preview) if( parent && protocol() ) { - connect( parent, SIGNAL( aboutToSave( Kopete::MetaContact * ) ), - protocol(), SLOT( slotMetaContactAboutToSave( Kopete::MetaContact * ) ) ); + connect( parent, TQT_SIGNAL( aboutToSave( Kopete::MetaContact * ) ), + protocol(), TQT_SLOT( slotMetaContactAboutToSave( Kopete::MetaContact * ) ) ); parent->addContact( this ); } @@ -146,7 +146,7 @@ void Contact::setOnlineStatus( const OnlineStatus &status ) if( oldStatus.status() == OnlineStatus::Offline && status.status() != OnlineStatus::Offline ) { - setProperty( globalProps->onlineSince(), QDateTime::currentDateTime() ); + setProperty( globalProps->onlineSince(), TQDateTime::currentDateTime() ); /*kdDebug(14010) << k_funcinfo << "REMOVING lastSeen property for " << d->displayName << endl;*/ removeProperty( globalProps->lastSeen() ); @@ -158,7 +158,7 @@ void Contact::setOnlineStatus( const OnlineStatus &status ) removeProperty( globalProps->onlineSince() ); /*kdDebug(14010) << k_funcinfo << "SETTING lastSeen property for " << d->displayName << endl;*/ - setProperty( globalProps->lastSeen(), QDateTime::currentDateTime() ); + setProperty( globalProps->lastSeen(), TQDateTime::currentDateTime() ); } if ( this == account()->myself() || account()->isConnected() ) @@ -177,7 +177,7 @@ void Contact::slotAccountIsConnectedChanged() } -void Contact::sendFile( const KURL &, const QString &, uint ) +void Contact::sendFile( const KURL &, const TQString &, uint ) { kdWarning( 14010 ) << k_funcinfo << "Plugin " << protocol()->pluginId() << " has enabled file sending, " @@ -199,18 +199,18 @@ KPopupMenu* Contact::popupMenu( ChatSession *manager ) KPopupMenu *menu = new KPopupMenu(); // insert title - QString titleText; - QString nick = property( Kopete::Global::Properties::self()->nickName() ).value().toString(); + TQString titleText; + TQString nick = property( Kopete::Global::Properties::self()->nickName() ).value().toString(); if( nick.isEmpty() ) - titleText = QString::fromLatin1( "%1 (%2)" ).arg( contactId(), onlineStatus().description() ); + titleText = TQString::fromLatin1( "%1 (%2)" ).arg( contactId(), onlineStatus().description() ); else - titleText = QString::fromLatin1( "%1 <%2> (%3)" ).arg( nick, contactId(), onlineStatus().description() ); + titleText = TQString::fromLatin1( "%1 <%2> (%3)" ).arg( nick, contactId(), onlineStatus().description() ); menu->insertTitle( titleText ); if( metaContact() && metaContact()->isTemporary() && contactId() != account()->myself()->contactId() ) { - KAction *actionAddContact = new KAction( i18n( "&Add to Your Contact List" ), QString::fromLatin1( "add_user" ), - 0, this, SLOT( slotAddContact() ), menu, "actionAddContact" ); + KAction *actionAddContact = new KAction( i18n( "&Add to Your Contact List" ), TQString::fromLatin1( "add_user" ), + 0, this, TQT_SLOT( slotAddContact() ), menu, "actionAddContact" ); actionAddContact->plug( menu ); menu->insertSeparator(); } @@ -219,15 +219,15 @@ KPopupMenu* Contact::popupMenu( ChatSession *manager ) bool reach = account()->isConnected() && isReachable(); bool myself = (this == account()->myself()); - KAction *actionSendMessage = KopeteStdAction::sendMessage( this, SLOT( sendMessage() ), menu, "actionSendMessage" ); + KAction *actionSendMessage = KopeteStdAction::sendMessage( this, TQT_SLOT( sendMessage() ), menu, "actionSendMessage" ); actionSendMessage->setEnabled( reach && !myself ); actionSendMessage->plug( menu ); - KAction *actionChat = KopeteStdAction::chat( this, SLOT( startChat() ), menu, "actionChat" ); + KAction *actionChat = KopeteStdAction::chat( this, TQT_SLOT( startChat() ), menu, "actionChat" ); actionChat->setEnabled( reach && !myself ); actionChat->plug( menu ); - KAction *actionSendFile = KopeteStdAction::sendFile( this, SLOT( sendFile() ), menu, "actionSendFile" ); + KAction *actionSendFile = KopeteStdAction::sendFile( this, TQT_SLOT( sendFile() ), menu, "actionSendFile" ); actionSendFile->setEnabled( reach && d->fileCapable && !myself ); actionSendFile->plug( menu ); @@ -235,7 +235,7 @@ KPopupMenu* Contact::popupMenu( ChatSession *manager ) // through the use of the customContextMenuActions() function // Get the custom actions from the protocols ( pure virtual function ) - QPtrList *customActions = customContextMenuActions( manager ); + TQPtrList *customActions = customContextMenuActions( manager ); if( customActions && !customActions->isEmpty() ) { menu->insertSeparator(); @@ -248,19 +248,19 @@ KPopupMenu* Contact::popupMenu( ChatSession *manager ) menu->insertSeparator(); if( metaContact() && !metaContact()->isTemporary() ) - KopeteStdAction::changeMetaContact( this, SLOT( changeMetaContact() ), menu, "actionChangeMetaContact" )->plug( menu ); + KopeteStdAction::changeMetaContact( this, TQT_SLOT( changeMetaContact() ), menu, "actionChangeMetaContact" )->plug( menu ); - KopeteStdAction::contactInfo( this, SLOT( slotUserInfo() ), menu, "actionUserInfo" )->plug( menu ); + KopeteStdAction::contactInfo( this, TQT_SLOT( slotUserInfo() ), menu, "actionUserInfo" )->plug( menu ); #if 0 //this is not fully implemented yet (and doesn't work). disable for now - Olivier 2005-01-11 if ( account()->isBlocked( d->contactId ) ) - KopeteStdAction::unblockContact( this, SLOT( slotUnblock() ), menu, "actionUnblockContact" )->plug( menu ); + KopeteStdAction::unblockContact( this, TQT_SLOT( slotUnblock() ), menu, "actionUnblockContact" )->plug( menu ); else - KopeteStdAction::blockContact( this, SLOT( slotBlock() ), menu, "actionBlockContact" )->plug( menu ); + KopeteStdAction::blockContact( this, TQT_SLOT( slotBlock() ), menu, "actionBlockContact" )->plug( menu ); #endif if( metaContact() && !metaContact()->isTemporary() ) - KopeteStdAction::deleteContact( this, SLOT( slotDelete() ), menu, "actionDeleteContact" )->plug( menu ); + KopeteStdAction::deleteContact( this, TQT_SLOT( slotDelete() ), menu, "actionDeleteContact" )->plug( menu ); return menu; } @@ -270,19 +270,19 @@ void Contact::changeMetaContact() KDialogBase *moveDialog = new KDialogBase( Kopete::UI::Global::mainWidget(), "moveDialog", true, i18n( "Move Contact" ), KDialogBase::Ok | KDialogBase::Cancel, KDialogBase::Ok, true ); - QVBox *w = new QVBox( moveDialog ); + TQVBox *w = new TQVBox( moveDialog ); w->setSpacing( KDialog::spacingHint() ); Kopete::UI::MetaContactSelectorWidget *selector = new Kopete::UI::MetaContactSelectorWidget(w); selector->setLabelMessage(i18n( "Select the meta contact to which you want to move this contact:" )); // exclude this metacontact as a target metacontact for the move selector->excludeMetaContact( metaContact() ); - QCheckBox *chkCreateNew = new QCheckBox( i18n( "Create a new metacontact for this contact" ), w ); - QWhatsThis::add( chkCreateNew , i18n( "If you select this option, a new metacontact will be created in the top-level group " + TQCheckBox *chkCreateNew = new TQCheckBox( i18n( "Create a new metacontact for this contact" ), w ); + TQWhatsThis::add( chkCreateNew , i18n( "If you select this option, a new metacontact will be created in the top-level group " "with the name of this contact and the contact will be moved to it." ) ); - QObject::connect( chkCreateNew , SIGNAL( toggled(bool) ) , selector , SLOT ( setDisabled(bool) ) ) ; + TQObject::connect( chkCreateNew , TQT_SIGNAL( toggled(bool) ) , selector , TQT_SLOT ( setDisabled(bool) ) ) ; moveDialog->setMainWidget(w); - if( moveDialog->exec() == QDialog::Accepted ) + if( moveDialog->exec() == TQDialog::Accepted ) { Kopete::MetaContact *mc = selector->metaContact(); if(chkCreateNew->isChecked()) @@ -314,14 +314,14 @@ void Contact::setMetaContact( MetaContact *m ) { //only one contact, including this one, that mean the contact will be empty efter the move result = KMessageBox::questionYesNoCancel( Kopete::UI::Global::mainWidget(), i18n( "You are moving the contact `%1' to the meta contact `%2'.\n" "`%3' will be empty afterwards. Do you want to delete this contact?" ) - .arg(contactId(), m ? m->displayName() : QString::null, old->displayName()) - , i18n( "Move Contact" ), KStdGuiItem::del(), i18n( "&Keep" ) , QString::fromLatin1("delete_old_contact_when_move") ); + .arg(contactId(), m ? m->displayName() : TQString::null, old->displayName()) + , i18n( "Move Contact" ), KStdGuiItem::del(), i18n( "&Keep" ) , TQString::fromLatin1("delete_old_contact_when_move") ); if(result==KMessageBox::Cancel) return; } old->removeContact( this ); - disconnect( old, SIGNAL( aboutToSave( Kopete::MetaContact * ) ), - protocol(), SLOT( slotMetaContactAboutToSave( Kopete::MetaContact * ) ) ); + disconnect( old, TQT_SIGNAL( aboutToSave( Kopete::MetaContact * ) ), + protocol(), TQT_SLOT( slotMetaContactAboutToSave( Kopete::MetaContact * ) ) ); if(result==KMessageBox::Yes) { @@ -346,19 +346,19 @@ void Contact::setMetaContact( MetaContact *m ) // between adding completely new contacts (which should be written to kabc) and restoring upon restart // (where no write is needed). KABCPersistence::self()->write( m ); - connect( d->metaContact, SIGNAL( aboutToSave( Kopete::MetaContact * ) ), - protocol(), SLOT( slotMetaContactAboutToSave( Kopete::MetaContact * ) ) ); + connect( d->metaContact, TQT_SIGNAL( aboutToSave( Kopete::MetaContact * ) ), + protocol(), TQT_SLOT( slotMetaContactAboutToSave( Kopete::MetaContact * ) ) ); } sync(); } -void Contact::serialize( QMap &/*serializedData*/, - QMap & /* addressBookData */ ) +void Contact::serialize( TQMap &/*serializedData*/, + TQMap & /* addressBookData */ ) { } -void Contact::serializeProperties(QMap &serializedData) +void Contact::serializeProperties(TQMap &serializedData) { Kopete::ContactProperty::Map::ConstIterator it;// = d->properties.ConstIterator; @@ -367,8 +367,8 @@ void Contact::serializeProperties(QMap &serializedData) if (!it.data().tmpl().persistent()) continue; - QVariant val = it.data().value(); - QString key = QString::fromLatin1("prop_%1_%2").arg(QString::fromLatin1(val.typeName()), it.key()); + TQVariant val = it.data().value(); + TQString key = TQString::fromLatin1("prop_%1_%2").arg(TQString::fromLatin1(val.typeName()), it.key()); serializedData[key] = val.toString(); @@ -376,28 +376,28 @@ void Contact::serializeProperties(QMap &serializedData) } // end serializeProperties() void Contact::deserializeProperties( - QMap &serializedData ) + TQMap &serializedData ) { - QMap::ConstIterator it; + TQMap::ConstIterator it; for ( it=serializedData.begin(); it != serializedData.end(); ++it ) { - QString key = it.key(); + TQString key = it.key(); - if ( !key.startsWith( QString::fromLatin1("prop_") ) ) // avoid parsing other serialized data + if ( !key.startsWith( TQString::fromLatin1("prop_") ) ) // avoid parsing other serialized data continue; - QStringList keyList = QStringList::split( QChar('_'), key, false ); + TQStringList keyList = TQStringList::split( TQChar('_'), key, false ); if( keyList.count() < 3 ) // invalid key, not enough parts in string "prop_X_Y" continue; key = keyList[2]; // overwrite key var with the real key name this property has - QString type( keyList[1] ); // needed for QVariant casting + TQString type( keyList[1] ); // needed for TQVariant casting - QVariant variant( it.data() ); - if( !variant.cast(QVariant::nameToType(type.latin1())) ) + TQVariant variant( it.data() ); + if( !variant.cast(TQVariant::nameToType(type.latin1())) ) { kdDebug(14010) << k_funcinfo << - "Casting QVariant to needed type FAILED" << + "Casting TQVariant to needed type FAILED" << "key=" << key << ", type=" << type << endl; continue; } @@ -425,14 +425,14 @@ bool Contact::isReachable() void Contact::startChat() { - KopeteView *v=manager( CanCreate )->view(true, QString::fromLatin1("kopete_chatwindow") ); + KopeteView *v=manager( CanCreate )->view(true, TQString::fromLatin1("kopete_chatwindow") ); if(v) v->raise(true); } void Contact::sendMessage() { - KopeteView *v=manager( CanCreate )->view(true, QString::fromLatin1("kopete_emailwindow") ); + KopeteView *v=manager( CanCreate )->view(true, TQString::fromLatin1("kopete_emailwindow") ); if(v) v->raise(true); } @@ -458,8 +458,8 @@ void Contact::slotDelete() { if ( KMessageBox::warningContinueCancel( Kopete::UI::Global::mainWidget(), i18n( "Are you sure you want to remove the contact '%1' from your contact list?" ). - arg( d->contactId ), i18n( "Remove Contact" ), KGuiItem(i18n("Remove"), QString::fromLatin1("delete_user") ), - QString::fromLatin1("askRemoveContact"), KMessageBox::Notify | KMessageBox::Dangerous ) + arg( d->contactId ), i18n( "Remove Contact" ), KGuiItem(i18n("Remove"), TQString::fromLatin1("delete_user") ), + TQString::fromLatin1("askRemoveContact"), KMessageBox::Notify | KMessageBox::Dangerous ) == KMessageBox::Continue ) { deleteContact(); @@ -478,7 +478,7 @@ MetaContact * Contact::metaContact() const return d->metaContact; } -QString Contact::contactId() const +TQString Contact::contactId() const { return d->contactId; } @@ -500,23 +500,23 @@ void Contact::sync(unsigned int) /* Default implementation does nothing */ } -QString& Contact::icon() const +TQString& Contact::icon() const { return d->icon; } -void Contact::setIcon( const QString& icon ) +void Contact::setIcon( const TQString& icon ) { d->icon = icon; return; } -QPtrList *Contact::customContextMenuActions() +TQPtrList *Contact::customContextMenuActions() { return 0L; } -QPtrList *Contact::customContextMenuActions( ChatSession * /* manager */ ) +TQPtrList *Contact::customContextMenuActions( ChatSession * /* manager */ ) { return customContextMenuActions(); } @@ -568,17 +568,17 @@ void Contact::setIdleTime( unsigned long int t ) } -QStringList Contact::properties() const +TQStringList Contact::properties() const { return d->properties.keys(); } -bool Contact::hasProperty(const QString &key) const +bool Contact::hasProperty(const TQString &key) const { return d->properties.contains(key); } -const ContactProperty &Contact::property(const QString &key) const +const ContactProperty &Contact::property(const TQString &key) const { if(hasProperty(key)) return d->properties[key]; @@ -597,7 +597,7 @@ const Kopete::ContactProperty &Contact::property( void Contact::setProperty(const Kopete::ContactPropertyTmpl &tmpl, - const QVariant &value) + const TQVariant &value) { if(tmpl.isNull() || tmpl.key().isEmpty()) { @@ -606,13 +606,13 @@ void Contact::setProperty(const Kopete::ContactPropertyTmpl &tmpl, return; } - if(value.isNull() || value.canCast(QVariant::String) && value.toString().isEmpty()) + if(value.isNull() || value.canCast(TQVariant::String) && value.toString().isEmpty()) { removeProperty(tmpl); } else { - QVariant oldValue = property(tmpl.key()).value(); + TQVariant oldValue = property(tmpl.key()).value(); if(oldValue != value) { @@ -629,29 +629,29 @@ void Contact::removeProperty(const Kopete::ContactPropertyTmpl &tmpl) if(!tmpl.isNull() && !tmpl.key().isEmpty()) { - QVariant oldValue = property(tmpl.key()).value(); + TQVariant oldValue = property(tmpl.key()).value(); d->properties.remove(tmpl.key()); - emit propertyChanged(this, tmpl.key(), oldValue, QVariant()); + emit propertyChanged(this, tmpl.key(), oldValue, TQVariant()); } } -QString Contact::toolTip() const +TQString Contact::toolTip() const { Kopete::ContactProperty p; - QString tip; - QStringList shownProps = KopetePrefs::prefs()->toolTipContents(); + TQString tip; + TQStringList shownProps = KopetePrefs::prefs()->toolTipContents(); // -------------------------------------------------------------------------- // Fixed part of tooltip - QString iconName = QString::fromLatin1("kopete-contact-icon:%1:%2:%3") + TQString iconName = TQString::fromLatin1("kopete-contact-icon:%1:%2:%3") .arg( KURL::encode_string( protocol()->pluginId() ), KURL::encode_string( account()->accountId() ), KURL::encode_string( contactId() ) ); // TODO: the nickname should be a configurable properties, like others. -Olivier - QString nick = property( Kopete::Global::Properties::self()->nickName() ).value().toString(); + TQString nick = property( Kopete::Global::Properties::self()->nickName() ).value().toString(); if ( nick.isEmpty() ) { tip = i18n( "DISPLAY NAME
 CONTACT STATUS", @@ -671,39 +671,39 @@ QString Contact::toolTip() const // -------------------------------------------------------------------------- // Configurable part of tooltip - for(QStringList::Iterator it=shownProps.begin(); it!=shownProps.end(); ++it) + for(TQStringList::Iterator it=shownProps.begin(); it!=shownProps.end(); ++it) { - if((*it) == QString::fromLatin1("FormattedName")) + if((*it) == TQString::fromLatin1("FormattedName")) { - QString name = formattedName(); + TQString name = formattedName(); if(!name.isEmpty()) { tip += i18n("
Full Name: FORMATTED NAME", - "
Full Name: %1").arg(QStyleSheet::escape(name)); + "
Full Name: %1").arg(TQStyleSheet::escape(name)); } } - else if ((*it) == QString::fromLatin1("FormattedIdleTime")) + else if ((*it) == TQString::fromLatin1("FormattedIdleTime")) { - QString time = formattedIdleTime(); + TQString time = formattedIdleTime(); if(!time.isEmpty()) { tip += i18n("
Idle: FORMATTED IDLE TIME", "
Idle: %1").arg(time); } } - else if ((*it) == QString::fromLatin1("homePage")) + else if ((*it) == TQString::fromLatin1("homePage")) { - QString url = property(*it).value().toString(); + TQString url = property(*it).value().toString(); if(!url.isEmpty()) { tip += i18n("
Home Page: FORMATTED URL", "
Home Page: %2"). - arg( KURL::encode_string( url ), Kopete::Message::escape( QStyleSheet::escape(url) ) ); + arg( KURL::encode_string( url ), Kopete::Message::escape( TQStyleSheet::escape(url) ) ); } } - else if ((*it) == QString::fromLatin1("awayMessage")) + else if ((*it) == TQString::fromLatin1("awayMessage")) { - QString awaymsg = property(*it).value().toString(); + TQString awaymsg = property(*it).value().toString(); if(!awaymsg.isEmpty()) { tip += i18n("
Away Message: FORMATTED AWAY MESSAGE", @@ -715,20 +715,20 @@ QString Contact::toolTip() const p = property(*it); if(!p.isNull()) { - QVariant val = p.value(); - QString valueText; + TQVariant val = p.value(); + TQString valueText; switch(val.type()) { - case QVariant::DateTime: + case TQVariant::DateTime: valueText = KGlobal::locale()->formatDateTime(val.toDateTime()); valueText = Kopete::Message::escape( valueText ); break; - case QVariant::Date: + case TQVariant::Date: valueText = KGlobal::locale()->formatDate(val.toDate()); valueText = Kopete::Message::escape( valueText ); break; - case QVariant::Time: + case TQVariant::Time: valueText = KGlobal::locale()->formatTime(val.toTime()); valueText = Kopete::Message::escape( valueText ); break; @@ -745,7 +745,7 @@ QString Contact::toolTip() const tip += i18n("
PROPERTY LABEL: PROPERTY VALUE", "
%2: %1"). - arg( valueText, QStyleSheet::escape(p.tmpl().label()) ); + arg( valueText, TQStyleSheet::escape(p.tmpl().label()) ); } } } @@ -753,16 +753,16 @@ QString Contact::toolTip() const return tip; } -QString Kopete::Contact::formattedName() const +TQString Kopete::Contact::formattedName() const { - if( hasProperty(QString::fromLatin1("FormattedName")) ) - return property(QString::fromLatin1("FormattedName")).value().toString(); + if( hasProperty(TQString::fromLatin1("FormattedName")) ) + return property(TQString::fromLatin1("FormattedName")).value().toString(); - QString ret; + TQString ret; Kopete::ContactProperty first, last; - first = property(QString::fromLatin1("firstName")); - last = property(QString::fromLatin1("lastName")); + first = property(TQString::fromLatin1("firstName")); + last = property(TQString::fromLatin1("lastName")); if(!first.isNull()) { if(!last.isNull()) // contact has both first and last name @@ -784,9 +784,9 @@ QString Kopete::Contact::formattedName() const return ret; } -QString Kopete::Contact::formattedIdleTime() const +TQString Kopete::Contact::formattedIdleTime() const { - QString ret; + TQString ret; unsigned long int leftTime = idleTime(); if ( leftTime > 0 ) @@ -837,14 +837,14 @@ void Kopete::Contact::slotUnblock() account()->unblock( d->contactId ); } -void Kopete::Contact::setNickName( const QString &name ) +void Kopete::Contact::setNickName( const TQString &name ) { setProperty( Kopete::Global::Properties::self()->nickName(), name ); } -QString Kopete::Contact::nickName() const +TQString Kopete::Contact::nickName() const { - QString nick = property( Kopete::Global::Properties::self()->nickName() ).value().toString(); + TQString nick = property( Kopete::Global::Properties::self()->nickName() ).value().toString(); if( !nick.isEmpty() ) return nick; -- cgit v1.2.1