本文整理汇总了C++中KviIrcMask::user方法的典型用法代码示例。如果您正苦于以下问题:C++ KviIrcMask::user方法的具体用法?C++ KviIrcMask::user怎么用?C++ KviIrcMask::user使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类KviIrcMask
的用法示例。
在下文中一共展示了KviIrcMask::user方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: doMatchUser
bool KviIsOnNotifyListManager::doMatchUser(const QString & notifyString, const KviIrcMask & mask)
{
const auto i = m_pRegUserDict.find(notifyString);
if(i != m_pRegUserDict.end())
{
const QString & nam = i->second;
// ok... find the user
if(KviRegisteredUser * u = g_pRegisteredUserDataBase->findUserByName(nam))
{
// ok... match the user
if(u->matchesFixed(mask))
{
// new user online
if(!(m_pConsole->notifyListView()->findEntry(mask.nick())))
{
notifyOnLine(mask.nick(), mask.user(), mask.host());
} // else already online, and matching... all ok
}
else
{
// not matched.... has he been online before ?
if(m_pConsole->notifyListView()->findEntry(mask.nick()))
{
// has been online just a sec ago, but now the mask does not match
// either reguserdb has changed, or the user went offline and another one got his nick
// in the meantime... (ugly situation anyway)
notifyOffLine(mask.nick(), mask.user(), mask.host(), __tr2qs("registration mask changed, or nickname is being used by someone else"));
}
else
{
// has never been online
if(_OUTPUT_VERBOSE)
m_pConsole->output(KVI_OUT_SYSTEMMESSAGE, __tr2qs("Notify list: \r!n\r%Q\r appears to be online, but the mask [%[email protected]\r!h\r%Q\r] does not match (registration mask does not match, or nickname is being used by someone else)"), &(mask.nick()), &(mask.user()), &(mask.host()));
}
}
}
else
{
// oops... unexpected inconsistency.... reguser db modified ?
m_pConsole->output(KVI_OUT_SYSTEMWARNING, __tr2qs("Notify list: Unexpected inconsistency, registered user DB modified? (restarting)"));
stop();
start();
return false; // critical... exit from the call stack
}
}
else
{
// oops... unexpected inconsistency
m_pConsole->output(KVI_OUT_SYSTEMWARNING, __tr2qs("Notify list: Unexpected inconsistency, expected \r!n\r%Q\r in the registered user DB"), ¬ifyString);
}
return true;
}
示例2: addMaskClicked
void RegisteredUserEntryDialog::addMaskClicked()
{
KviIrcMask mk;
RegisteredUserMaskDialog * dlg = new RegisteredUserMaskDialog(this,&mk);
if(dlg->exec() == QDialog::Accepted)
{
QString m = mk.nick();
m += QChar('!');
m += mk.user();
m += QChar('@');
m += mk.host();
m_pMaskListBox->addItem(m);
}
delete dlg;
}
示例3: KviTalTabDialog
RegisteredUserEntryDialog::RegisteredUserEntryDialog(QWidget *p,KviRegisteredUser * r,bool bModal)
: KviTalTabDialog(p,"reguser_entry_editor",bModal)
{
m_pUser = r;
m_pCustomColor = new QColor();
if(r)
{
QString col=r->getProperty("customColor");
KviStringConversion::fromString(col,(*m_pCustomColor));
}
m_pPropertyDict = new KviPointerHashTable<QString,QString>(17,false);
m_pPropertyDict->setAutoDelete(true);
//setMinimumSize(400,450);
setWindowIcon(*(g_pIconManager->getSmallIcon(KviIconManager::Linux)));
setWindowTitle(__tr2qs_ctx("Registered User Entry","register"));
QWidget * p1 = new QWidget(this);
QGridLayout * g = new QGridLayout(p1);
QLabel * l = new QLabel(__tr2qs_ctx("Name:","register"),p1);
g->addWidget(l,0,0);
m_pNameEdit = new QLineEdit(p1);
g->addWidget(m_pNameEdit,0,1);
l = new QLabel(__tr2qs_ctx("Comment:","register"),p1);
g->addWidget(l,1,0);
m_pCommentEdit = new QLineEdit(p1);
g->addWidget(m_pCommentEdit,1,1);
QFrame * f = new QFrame(p1);
g->addWidget(f,2,0,1,2);
f->setFrameStyle(QFrame::HLine | QFrame::Sunken);
l = new QLabel(__tr2qs_ctx("Masks:","register"),p1);
g->addWidget(l,3,0,1,2);
m_pMaskListBox = new QListWidget(p1);
connect(m_pMaskListBox,SIGNAL(itemSelectionChanged()),this,SLOT(maskCurrentChanged()));
m_pMaskListBox->setMinimumSize(300,200);
g->addWidget(m_pMaskListBox,4,0,1,2);
KviTalHBox * b = new KviTalHBox(p1);
g->addWidget(b,5,0,1,2);
b->setSpacing(4);
m_pAddMaskButton = new QPushButton(__tr2qs_ctx("&Add...","register"),b);
connect(m_pAddMaskButton,SIGNAL(clicked()),this,SLOT(addMaskClicked()));
m_pAddMaskButton->setIcon(*(g_pIconManager->getSmallIcon(KviIconManager::NewItem)));
m_pDelMaskButton = new QPushButton(__tr2qs_ctx("Re&move","register"),b);
m_pDelMaskButton->setEnabled(false);
connect(m_pDelMaskButton,SIGNAL(clicked()),this,SLOT(delMaskClicked()));
m_pDelMaskButton->setIcon(*(g_pIconManager->getSmallIcon(KviIconManager::DeleteItem)));
m_pEditMaskButton = new QPushButton(__tr2qs_ctx("&Edit","register"),b);
m_pEditMaskButton->setEnabled(false);
connect(m_pEditMaskButton,SIGNAL(clicked()),this,SLOT(editMaskClicked()));
m_pEditMaskButton->setIcon(*(g_pIconManager->getSmallIcon(KviIconManager::EditItem)));
g->setRowStretch(4,1);
g->setColumnStretch(1,1);
addTab(p1,__tr2qs_ctx("Identity","register"));
QWidget * p2 = new QWidget(this);
g = new QGridLayout(p2);
m_pNotifyCheck = new QCheckBox(__tr2qs_ctx("Notify when user is online","register"),p2);
g->addWidget(m_pNotifyCheck,0,0,1,3);
m_pNotifyLabel = new QLabel(__tr2qs_ctx("Notify nicknames:","register"),p2);
m_pNotifyLabel->setEnabled(m_pNotifyCheck->isChecked());
g->addWidget(m_pNotifyLabel,1,0);
m_pNotifyCheck->setToolTip(__tr2qs_ctx("<center>You can enter a space separated list of nicknames.</center>","register"));
m_pNotifyNick = new QLineEdit(p2);
m_pNotifyNick->setEnabled(false);
g->addWidget(m_pNotifyNick,1,1,1,2);
connect(m_pNotifyCheck,SIGNAL(toggled(bool)),this,SLOT(notifyCheckClicked(bool)));
f = new QFrame(p2);
f->setFrameStyle(QFrame::HLine | QFrame::Sunken);
g->addWidget(f,2,0,1,3);
m_pAvatar = 0;
if(r)
{
const QString av = r->getProperty("avatar");
//.........这里部分代码省略.........
示例4: doMatchUser
bool KviWatchNotifyListManager::doMatchUser(KviIrcMessage * msg, const QString & notifyString, const KviIrcMask & mask)
{
QString * nam = m_pRegUserDict->find(notifyString);
if(nam)
{
// ok...find the user
if(KviRegisteredUser * u = g_pRegisteredUserDataBase->findUserByName(*nam))
{
// ok ... match the user
if(u->matchesFixed(mask))
{
// new user online
if(!(m_pConsole->notifyListView()->findEntry(mask.nick())))
{
notifyOnLine(mask.nick(), mask.user(), mask.host(), "watch");
}
else
{
// else already online, and matching...all ok
if(msg->numeric() == RPL_NOWON)
{
// This is a reply to a /watch +something (should not happen, unless the user is messing) or to /watch l (user requested)
notifyOnLine(mask.nick(), mask.user(), mask.host(),
__tr2qs("watch entry listing requested by user"), false);
}
else
{
// This is a RPL_LOGON....we're desynched ?
notifyOnLine(mask.nick(), mask.user(), mask.host(),
__tr2qs("possible watch list desync"), false);
}
}
}
else
{
// not matched.... has he been online before ?
if(m_pConsole->notifyListView()->findEntry(mask.nick()))
{
// has been online just a sec ago, but now the mask does not match
// prolly the reguserdb has been changed
notifyOffLine(mask.nick(), mask.user(), mask.host(),
__tr2qs("registration mask changed or desync with the watch service"));
}
else
{
// has never been online
if(_OUTPUT_VERBOSE)
m_pConsole->output(KVI_OUT_SYSTEMMESSAGE,
__tr("Notify list: \r!n\r%Q\r appears to be online, but the mask [%[email protected]\r!h\r%Q\r] does not match (watch: registration mask does not match, or nickname is being used by someone else)"),
&(mask.nick()), &(mask.user()), &(mask.host()));
}
}
}
else
{
// ops... unexpected inconsistency .... reguser db modified ?
m_pConsole->output(KVI_OUT_SYSTEMWARNING,
__tr2qs("Notify list: Unexpected inconsistency, registered user DB modified? (watch: restarting)"));
stop();
start();
return false; // critical ... exit from the call stack
}
}
else
{
// not in our dictionary
// prolly someone used /WATCH behind our back... bad boy!
if(!(m_pConsole->notifyListView()->findEntry(mask.nick())))
{
notifyOnLine(mask.nick(), mask.user(), mask.host(), __tr2qs("watch entry added by user"));
}
}
return true;
}