diff options
| author | 2008-08-06 04:30:19 +0000 | |
|---|---|---|
| committer | 2008-08-06 04:30:19 +0000 | |
| commit | 33f69ec6e67cd0df799bc6b7c505716c01b22a57 (patch) | |
| tree | 62b05b68bccc8349217f99589b0e29683326f65e /src | |
| parent | Added unread text icon (diff) | |
| download | KVIrc-33f69ec6e67cd0df799bc6b7c505716c01b22a57.tar.gz KVIrc-33f69ec6e67cd0df799bc6b7c505716c01b22a57.tar.bz2 KVIrc-33f69ec6e67cd0df799bc6b7c505716c01b22a57.zip | |
added own marker icon and tooltip
git-svn-id: https://svn.kvirc.de/svn/trunk/kvirc@2199 17fca916-40b9-46aa-a4ea-0a15b648b75c
Diffstat (limited to 'src')
| -rw-r--r-- | src/kvirc/kernel/kvi_iconmanager.cpp | 3 | ||||
| -rw-r--r-- | src/kvirc/kernel/kvi_iconmanager.h | 3 | ||||
| -rw-r--r-- | src/kvirc/ui/kvi_ircview.cpp | 46 | ||||
| -rw-r--r-- | src/kvirc/ui/kvi_ircview.h | 2 | ||||
| -rw-r--r-- | src/modules/options/optw_ircview.cpp | 2 |
5 files changed, 43 insertions, 13 deletions
diff --git a/src/kvirc/kernel/kvi_iconmanager.cpp b/src/kvirc/kernel/kvi_iconmanager.cpp index 1e5fc22b5..ece07194b 100644 --- a/src/kvirc/kernel/kvi_iconmanager.cpp +++ b/src/kvirc/kernel/kvi_iconmanager.cpp @@ -342,7 +342,8 @@ static const char * g_szIconNames[KVI_NUM_SMALL_ICONS]= "screenshot", // 291 "update", // 292 "notupdate", // 293 - "failupdate" // 294 + "failupdate", // 294 + "unreadtext" // 295 }; KviIconWidget::KviIconWidget() diff --git a/src/kvirc/kernel/kvi_iconmanager.h b/src/kvirc/kernel/kvi_iconmanager.h index eb030892a..2f12ad8b7 100644 --- a/src/kvirc/kernel/kvi_iconmanager.h +++ b/src/kvirc/kernel/kvi_iconmanager.h @@ -331,8 +331,9 @@ #define KVI_SMALLICON_UPDATE 292 #define KVI_SMALLICON_NOTUPDATE 293 #define KVI_SMALLICON_FAILUPDATE 294 +#define KVI_SMALLICON_UNREADTEXT 295 -#define KVI_NUM_SMALL_ICONS 295 +#define KVI_NUM_SMALL_ICONS 296 #define KVI_BIGICON_DISCONNECTED "kvi_bigicon_disconnected.png" diff --git a/src/kvirc/ui/kvi_ircview.cpp b/src/kvirc/ui/kvi_ircview.cpp index 86eef7546..e946ee831 100644 --- a/src/kvirc/ui/kvi_ircview.cpp +++ b/src/kvirc/ui/kvi_ircview.cpp @@ -1,10 +1,10 @@ -//============================================================================= +//=========================================================================== // // File : kvi_ircview.cpp // Creation date : Tue Jul 6 1999 14:45:20 by Szymon Stefanek // // This file is part of the KVirc irc client distribution -// Copyright (C) 1999-2004 Szymon Stefanek (pragma at kvirc dot net) +// Copyright (C) 1999-2008 Szymon Stefanek (pragma at kvirc dot net) // // This program is FREE software. You can redistribute it and/or // modify it under the terms of the GNU General Public License @@ -20,7 +20,7 @@ // along with this program. If not, write to the Free Software Foundation, // Inc. ,59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. // -//============================================================================= +//=========================================================================== // Damn complex class ...but it works :) @@ -3483,7 +3483,7 @@ no_selection_paint: * y++; pa.drawLine(x-3,y,x+3,y); * y++; pa.drawLine(x-4,y,x+4,y); */ - QPixmap * pIcon = g_pIconManager->getSmallIcon(KVI_SMALLICON_PASTE); + QPixmap * pIcon = g_pIconManager->getSmallIcon(KVI_SMALLICON_UNREADTEXT); pa.drawPixmap(x,y,16,16,*pIcon); //pa.setRasterOp(CopyROP); } @@ -5022,7 +5022,6 @@ void KviIrcView::doLinkToolTip(const QRect &rct,QString &linkCmd,QString &linkTe } tip+="</nowrap></font></u></td></tr><tr><td>"; QResource::registerResource(g_pIconManager->getSmallIcon(KVI_SMALLICON_URL)->toImage().bits(), "/url_icon"); - //QMimeSourceFactory::defaultFactory()->setPixmap("url_icon",*(g_pIconManager->getSmallIcon(KVI_SMALLICON_URL))); tip += __tr2qs("Double-click to open this link"); tip += "</td></tr></table>"; } @@ -5040,7 +5039,6 @@ void KviIrcView::doLinkToolTip(const QRect &rct,QString &linkCmd,QString &linkTe } tip+="</nowrap></font></u></td></tr><tr><td>"; QResource::registerResource(g_pIconManager->getSmallIcon(KVI_SMALLICON_SERVER)->toImage().bits(), "/host_icon"); - //QMimeSourceFactory::defaultFactory()->setPixmap("host_icon",*(g_pIconManager->getSmallIcon(KVI_SMALLICON_SERVER))); if(linkText.indexOf('*') != -1) { @@ -5059,7 +5057,7 @@ void KviIrcView::doLinkToolTip(const QRect &rct,QString &linkCmd,QString &linkTe tip = "<table width=\"100%\">" \ "<tr><td valign=\"center\"><img src=\":/server_icon\"> <u><font color=\"blue\"><nowrap>"; QResource::registerResource(g_pIconManager->getSmallIcon(KVI_SMALLICON_IRC)->toImage().bits(), "/server_icon"); - //QMimeSourceFactory::defaultFactory()->setPixmap("server_icon",*(g_pIconManager->getSmallIcon(KVI_SMALLICON_IRC))); + if(linkText.length() > 50) { tip += linkText.left(47); @@ -5140,7 +5138,6 @@ void KviIrcView::doLinkToolTip(const QRect &rct,QString &linkCmd,QString &linkTe QString buf; tip = "<img src=\":/chan_icon\"> "; QResource::registerResource(g_pIconManager->getSmallIcon(KVI_SMALLICON_CHANNEL)->toImage().bits(), "/chan_icon"); - //QMimeSourceFactory::defaultFactory()->setPixmap("chan_icon",*(g_pIconManager->getSmallIcon(KVI_SMALLICON_CHANNEL))); if(szCmd.length()>0) szChan=szCmd; KviChannel * c = console()->connection()->findChannel(szChan); @@ -5201,6 +5198,26 @@ void KviIrcView::doLinkToolTip(const QRect &rct,QString &linkCmd,QString &linkTe m_pToolTip->doTip(rct,tip); } +void KviIrcView::doMarkerToolTip(const QRect &rct) +{ + QString tip; + tip = "<table width=\"100%\">" \ + "<tr><td valign=\"center\"><img src=\":/marker_icon\"> <u><font color=\"blue\"><nowrap>"; + tip += __tr2qs("Scroll up to read from the last read line"); + tip += "</nowrap></font></u></td></tr><tr><td>"; + QResource::registerResource(g_pIconManager->getSmallIcon(KVI_SMALLICON_UNREADTEXT)->toImage().bits(), "/marker_icon"); + tip += "</td></tr></table>"; + + if(tip.isEmpty())return; + + m_pToolTip->doTip(rct,tip); +} + +bool KviIrcView::checkMarkerArea(const QRect & area, const QPoint & mousePos) +{ + return (area.contains(mousePos)) ? true : false; +} + void KviIrcView::leaveEvent(QEvent * ) { if(m_pLastLinkUnderMouse) @@ -5254,14 +5271,25 @@ void KviIrcView::maybeTip(const QPoint &pnt) { QString linkCmd; QString linkText; - QRect rctLink; + QRect markerArea; + + // Check if the mouse is over the marker icon + // 16(width) + 5(border) = 21 + int widgetWidth = width()-m_pScrollBar->width(); + int x = widgetWidth - 21; + int y = KVI_IRCVIEW_VERTICAL_BORDER; + markerArea = QRect(QPoint(x,y),QSize(16,16)); + if(checkMarkerArea(markerArea,pnt)) doMarkerToolTip(markerArea); + + // Check if the mouse is over a link KviIrcViewWrappedBlock * linkUnderMouse = getLinkUnderMouse(pnt.x(),pnt.y(),&rctLink,&linkCmd,&linkText); if((linkUnderMouse == m_pLastLinkUnderMouse) && linkUnderMouse)doLinkToolTip(rctLink,linkCmd,linkText); else m_pLastLinkUnderMouse = 0; // } + #ifndef COMPILE_USE_STANDALONE_MOC_SOURCES #include "kvi_ircview.moc" #endif //!COMPILE_USE_STANDALONE_MOC_SOURCES diff --git a/src/kvirc/ui/kvi_ircview.h b/src/kvirc/ui/kvi_ircview.h index 74d912f84..756fc0d87 100644 --- a/src/kvirc/ui/kvi_ircview.h +++ b/src/kvirc/ui/kvi_ircview.h @@ -221,6 +221,8 @@ private: void calculateSelectionBounds(); KviIrcViewWrappedBlock * getLinkUnderMouse(int xPos,int yPos,QRect * pRect = 0,QString * linkCmd = 0,QString * linkText = 0); void doLinkToolTip(const QRect &rct,QString &linkCmd,QString &linkText); + void doMarkerToolTip(const QRect &rct); + bool checkMarkerArea(const QRect & area, const QPoint & mousePos); protected: virtual void paintEvent(QPaintEvent *); virtual void resizeEvent(QResizeEvent *); diff --git a/src/modules/options/optw_ircview.cpp b/src/modules/options/optw_ircview.cpp index 79eda20ef..785944f1d 100644 --- a/src/modules/options/optw_ircview.cpp +++ b/src/modules/options/optw_ircview.cpp @@ -188,8 +188,6 @@ KviIrcViewMarkerOptionsWidget::KviIrcViewMarkerOptionsWidget(QWidget * parent) m_pMarkerStyle->addItem(__tr2qs_ctx("DashDotLine","options")); m_pMarkerStyle->addItem(__tr2qs_ctx("DashDotDotLine","options")); - //switch( KVI_OPTION_UINT(KviOption_uintIrcViewMarkerStyle) & Qt::PenStyle) - //switch(Qt::PenStyle) switch(KVI_OPTION_UINT(KviOption_uintIrcViewMarkerStyle)) { case Qt::DashLine: |
