--- a/QTfrontend/chatwidget.cpp Mon Feb 22 22:51:21 2010 +0000
+++ b/QTfrontend/chatwidget.cpp Mon Feb 22 23:03:50 2010 +0000
@@ -78,6 +78,8 @@
chatNicks->setContextMenuPolicy(Qt::ActionsContextMenu);
connect(chatNicks, SIGNAL(itemDoubleClicked(QListWidgetItem *)),
this, SLOT(chatNickDoubleClicked(QListWidgetItem *)));
+ connect(chatNicks, SIGNAL(itemClicked(QListWidgetItem *)),
+ this, SLOT(chatNickClicked(QListWidgetItem *)));
mainLayout.addWidget(chatNicks, 0, 1);
@@ -91,7 +93,7 @@
connect(acFollow, SIGNAL(triggered(bool)), this, SLOT(onFollow()));
acIgnore = new QAction(QAction::tr("Ignore"), chatNicks);
connect(acIgnore, SIGNAL(triggered(bool)), this, SLOT(onIgnore()));
- acFriend = new QAction(QAction::tr("Friend"), chatNicks);
+ acFriend = new QAction(QAction::tr("Add friend"), chatNicks);
connect(acFriend, SIGNAL(triggered(bool)), this, SLOT(onFriend()));
chatNicks->insertAction(0, acInfo);
@@ -181,7 +183,7 @@
emit chatLine(chatEditLine->text());
chatEditLine->clear();
}
-#include <QMessageBox>
+
void HWChatWidget::onChatString(const QString& str)
{
if (chatStrings.size() > 250)
@@ -328,6 +330,23 @@
if (item) onFollow();
}
+void HWChatWidget::chatNickClicked(QListWidgetItem * item)
+{
+ if (!item)
+ return;
+
+ // update context menu labels according to possible action
+ if(ignoreList.contains(item->text(), Qt::CaseInsensitive))
+ acIgnore->setText(QAction::tr("Unignore"));
+ else
+ acIgnore->setText(QAction::tr("Ignore"));
+
+ if(friendsList.contains(item->text(), Qt::CaseInsensitive))
+ acFriend->setText(QAction::tr("Remove friend"));
+ else
+ acFriend->setText(QAction::tr("Add friend"));
+}
+
void HWChatWidget::setShowReady(bool s)
{
showReady = s;
@@ -342,11 +361,6 @@
return;
}
- /*if(isReady)
- items[0]->setIcon(QIcon(":/res/lightbulb_on.png"));
- else
- items[0]->setIcon(QIcon(":/res/lightbulb_off.png"));*/
-
items[0]->setData(Qt::UserRole, isReady); // bulb status
updateIcon(items[0]);