From: Alexander von Renteln Date: Wed, 20 Feb 2008 14:54:21 +0000 (+0000) Subject: Added tooltip for networkItems and bufferItems X-Git-Tag: 0.2.0-alpha1~19 X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=commitdiff_plain;h=b709cbc76fc0bd0f14839b4c04ba8caf78d775f1 Added tooltip for networkItems and bufferItems --- diff --git a/src/client/networkmodel.cpp b/src/client/networkmodel.cpp index e96e3678..a72b71e9 100644 --- a/src/client/networkmodel.cpp +++ b/src/client/networkmodel.cpp @@ -282,6 +282,37 @@ void BufferItem::userModeChanged(IrcUser *ircUser) { addUserToCategory(ircUser); } +QString BufferItem::toolTip(int column) const { + Q_UNUSED(column); + QStringList toolTip; + + switch(bufferType()) { + case BufferInfo::StatusBuffer: { + QString netName = Client::network(bufferInfo().networkId())->networkName(); + toolTip.append(QString("Status buffer from %1").arg(netName)); + break; + } + case BufferInfo::ChannelBuffer: + toolTip.append(QString("Channel %1").arg(bufferName())); + if(isActive()) { + toolTip.append(QString("Topic: %1").arg(topic())); + toolTip.append(QString("Users: %1").arg(nickCount())); + } else { + toolTip.append(QString("Not active
Double-click to join")); + } + break; + case BufferInfo::QueryBuffer: + toolTip.append(QString("Query with %1").arg(bufferName())); + if(topic() != "") toolTip.append(QString("Away Message: %1").arg(topic())); + break; + default: //this should not happen + toolTip.append(QString("%1 - %2").arg(bufferInfo().bufferId().toInt()).arg(bufferName())); + break; + } + + return QString("

%1

").arg(toolTip.join("
")); +} + /* void BufferItem::setLastMsgInsert(QDateTime msgDate) { if(msgDate.isValid() && msgDate > _lastMsgInsert) @@ -405,6 +436,18 @@ void NetworkItem::setCurrentServer(const QString &serverName) { emit dataChanged(1); } + +QString NetworkItem::toolTip(int column) const { + Q_UNUSED(column); + + QStringList toolTip(QString("%1").arg(networkName())); + toolTip.append(QString("Server: %1").arg(currentServer())); + toolTip.append(QString("Users: %1").arg(nickCount())); + + return QString("

%1

").arg(toolTip.join("
")); +} + + /***************************************** * User Category Items (like @vh etc.) *****************************************/ diff --git a/src/client/networkmodel.h b/src/client/networkmodel.h index 6ac06f8e..208503c8 100644 --- a/src/client/networkmodel.h +++ b/src/client/networkmodel.h @@ -77,6 +77,8 @@ public: bool setLastSeen(); QDateTime lastSeen(); + virtual QString toolTip(int column) const; + public slots: void setTopic(const QString &topic); void join(IrcUser *ircUser); @@ -116,18 +118,20 @@ public: virtual QVariant data(int column, int row) const; bool isActive() const; - + QString networkName() const; QString currentServer() const; int nickCount() const; - + + virtual QString toolTip(int column) const; + public slots: void setNetworkName(const QString &networkName); void setCurrentServer(const QString &serverName); void attachNetwork(Network *network); void attachIrcChannel(const QString &channelName); - + private: NetworkId _networkId; diff --git a/src/qtui/mainwin.cpp b/src/qtui/mainwin.cpp index 5b430870..b44f7dde 100644 --- a/src/qtui/mainwin.cpp +++ b/src/qtui/mainwin.cpp @@ -266,9 +266,8 @@ void MainWin::setupTopicWidget() { void MainWin::setupSystray() { systray = new QSystemTrayIcon(this); systray->setIcon(QIcon(":/icons/quassel-icon.png")); - - QString toolTip("Left click to minimize the Quassel Client to tray"); - systray->setToolTip(toolTip); +// systray->setToolTip("left click to minimize the quassel client to tray"); +// systray->setToolTip(toolTip); systrayMenu = new QMenu(this); systrayMenu->addAction(ui.actionAboutQuassel); @@ -298,6 +297,7 @@ void MainWin::changeEvent(QEvent *event) { QtUiSettings s; if(s.value("UseSystemTrayIcon").toBool() && s.value("MinimizeOnMinimize").toBool()) { toggleVisibility(); + event->ignore(); } } } @@ -374,7 +374,7 @@ void MainWin::systrayActivated( QSystemTrayIcon::ActivationReason activationReas } void MainWin::toggleVisibility() { - if(isHidden() || !isActiveWindow()) { + if(isHidden() /*|| !isActiveWindow()*/) { show(); if(isMinimized()) if (isMaximized()) @@ -383,9 +383,11 @@ void MainWin::toggleVisibility() { showNormal(); raise(); - activateWindow(); + setFocus(Qt::ActiveWindowFocusReason); + // activateWindow(); } else { if(systray->isSystemTrayAvailable ()) { + clearFocus(); hide(); if(!systray->isVisible()) { systray->show(); diff --git a/src/uisupport/bufferview.cpp b/src/uisupport/bufferview.cpp index 27858a96..b99f9905 100644 --- a/src/uisupport/bufferview.cpp +++ b/src/uisupport/bufferview.cpp @@ -138,15 +138,18 @@ void BufferView::showContextMenu(const QPoint &pos) { QMenu *hideEventsMenu = new QMenu(tr("Hide Events"), this); QAction *hideJoinAction = hideEventsMenu->addAction(tr("Join Events")); - QAction *hidePartAction = hideEventsMenu->addAction(tr("PartEvents")); - QAction *hideQuitAction = hideEventsMenu->addAction(tr("QuitEvents")); + QAction *hidePartAction = hideEventsMenu->addAction(tr("Part Events")); + QAction *hideKillAction = hideEventsMenu->addAction(tr("Kill Events")); + QAction *hideQuitAction = hideEventsMenu->addAction(tr("Quit Events")); QAction *hideModeAction = hideEventsMenu->addAction(tr("Mode Events")); hideJoinAction->setCheckable(true); hidePartAction->setCheckable(true); + hideKillAction->setCheckable(true); hideQuitAction->setCheckable(true); hideModeAction->setCheckable(true); hideJoinAction->setEnabled(false); hidePartAction->setEnabled(false); + hideKillAction->setEnabled(false); hideQuitAction->setEnabled(false); hideModeAction->setEnabled(false); @@ -174,11 +177,17 @@ void BufferView::showContextMenu(const QPoint &pos) { contextMenu.addAction(ignoreListAction); contextMenu.addAction(whoBufferAction); - if(bufferInfo.type() == BufferInfo::ChannelBuffer && index.data(NetworkModel::ItemActiveRole).toBool()) { - removeBufferAction->setEnabled(false); - joinBufferAction->setVisible(false); + if(bufferInfo.type() == BufferInfo::ChannelBuffer) { + if(index.data(NetworkModel::ItemActiveRole).toBool()) { + removeBufferAction->setEnabled(false); + removeBufferAction->setToolTip("To delete the buffer, part the channel first."); + joinBufferAction->setVisible(false); + } else { + partBufferAction->setVisible(false); + } } else { - partBufferAction->setVisible(false); + joinBufferAction->setVisible(false); + partBufferAction->setVisible(false); } } diff --git a/version.inc b/version.inc index 16c1d3ca..da0bd119 100644 --- a/version.inc +++ b/version.inc @@ -5,7 +5,7 @@ quasselVersion = "0.2.0-pre"; quasselDate = "2008-02-19"; - quasselBuild = 559; + quasselBuild = 561; //! Minimum client build number the core needs clientBuildNeeded = 559;