diff options
| author | 2008-10-09 15:23:15 +0000 | |
|---|---|---|
| committer | 2008-10-09 15:23:15 +0000 | |
| commit | 86322326b9839f7af4547d330f6e7e80ef82274b (patch) | |
| tree | 9f1cbe04d270d07b0f040a4e08ce6b9eec0ce27e /src | |
| parent | renamed old KDE 3 define (diff) | |
| download | KVIrc-86322326b9839f7af4547d330f6e7e80ef82274b.tar.gz KVIrc-86322326b9839f7af4547d330f6e7e80ef82274b.tar.bz2 KVIrc-86322326b9839f7af4547d330f6e7e80ef82274b.zip | |
implemented a qresource backend for the kvi_iconmanager
git-svn-id: https://svn.kvirc.de/svn/trunk/kvirc@2677 17fca916-40b9-46aa-a4ea-0a15b648b75c
Diffstat (limited to 'src')
| -rw-r--r-- | src/kvirc/kernel/kvi_iconmanager.cpp | 28 | ||||
| -rw-r--r-- | src/kvirc/kernel/kvi_iconmanager.h | 6 | ||||
| -rw-r--r-- | src/kvirc/ui/kvi_ircview_events.cpp | 16 |
3 files changed, 39 insertions, 11 deletions
diff --git a/src/kvirc/kernel/kvi_iconmanager.cpp b/src/kvirc/kernel/kvi_iconmanager.cpp index 716109113..6ef536ee2 100644 --- a/src/kvirc/kernel/kvi_iconmanager.cpp +++ b/src/kvirc/kernel/kvi_iconmanager.cpp @@ -39,6 +39,7 @@ #include <QEvent> #include <QCloseEvent> #include <QIcon> +#include <QDir> // kvi_app.cpp extern QPixmap * g_pUserChanStatePixmap; @@ -464,6 +465,7 @@ KviIconManager::KviIconManager() int i=0; for(i=0;i<KVI_NUM_SMALL_ICONS;i++)m_smallIcons[i] = 0; + initQResourceBackend(); //loadSmallIcons(); m_pCachedImages = new KviPointerHashTable<QString,KviCachedPixmap>(21,true); @@ -522,6 +524,32 @@ KviIconManager::~KviIconManager() if(m_pIconNames)delete m_pIconNames; } +void KviIconManager::initQResourceBackend() +{ + QString szPath; + + g_pApp->getLocalKvircDirectory(szPath,KviApp::Pics); + QDir::addSearchPath("icons", szPath); + + g_pApp->getGlobalKvircDirectory(szPath,KviApp::Pics); + QDir::addSearchPath("icons", szPath); + + g_pApp->getLocalKvircDirectory(szPath,KviApp::SmallIcons); + QDir::addSearchPath("smallicons", szPath); + + g_pApp->getGlobalKvircDirectory(szPath,KviApp::SmallIcons); + QDir::addSearchPath("smallicons", szPath); + +} + +QString KviIconManager::getSmallIconResourceName(int idx) +{ + QString szName("smallicons:kcs_"); + szName.append(g_szIconNames[idx]); + szName.append(".png"); + return szName; +} + const char * KviIconManager::getSmallIconName(int idx) { return g_szIconNames[idx]; diff --git a/src/kvirc/kernel/kvi_iconmanager.h b/src/kvirc/kernel/kvi_iconmanager.h index bcfdd700d..bb8b29c26 100644 --- a/src/kvirc/kernel/kvi_iconmanager.h +++ b/src/kvirc/kernel/kvi_iconmanager.h @@ -475,6 +475,9 @@ public: QPixmap * getSmallIcon(int idx){ return idx < KVI_NUM_SMALL_ICONS ? (m_smallIcons[idx] ? m_smallIcons[idx] : loadSmallIcon(idx) ) : 0; }; const char * getSmallIconName(int idx); + + QString getSmallIconResourceName(int idx); + int getSmallIconIdFromName(const QString &szName); // if szLocalPath is empty then szName can be the identification @@ -488,10 +491,13 @@ public: void reloadImages(); void cacheCleanup(); + protected: void addToCache(const QString &szName,KviCachedPixmap * p); //void loadSmallIcons(); QPixmap * loadSmallIcon(int idx); + + void initQResourceBackend(); public slots: void showIconWidget(); protected slots: diff --git a/src/kvirc/ui/kvi_ircview_events.cpp b/src/kvirc/ui/kvi_ircview_events.cpp index 74338aee0..b01fd1383 100644 --- a/src/kvirc/ui/kvi_ircview_events.cpp +++ b/src/kvirc/ui/kvi_ircview_events.cpp @@ -45,7 +45,6 @@ #include <QClipboard> #include <QEvent> #include <QMouseEvent> -#include <QResource> #include <QScrollBar> #include <QUrl> @@ -628,10 +627,9 @@ 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>"; + "<tr><td valign=\"center\"><img src=\"" + g_pIconManager->getSmallIconResourceName(KVI_SMALLICON_UNREADTEXT) + "\"> <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; @@ -653,7 +651,7 @@ void KviIrcView::doLinkToolTip(const QRect &rct,QString &linkCmd,QString &linkTe case 'u': // url link { tip = "<table width=\"100%\">" \ - "<tr><td valign=\"center\"><img src=\":/url_icon\"> <u><font color=\"blue\"><nowrap>"; + "<tr><td valign=\"center\"><img src=\"" + g_pIconManager->getSmallIconResourceName(KVI_SMALLICON_URL) + "\"> <u><font color=\"blue\"><nowrap>"; if(linkText.length() > 50) { tip += linkText.left(47); @@ -662,7 +660,6 @@ void KviIrcView::doLinkToolTip(const QRect &rct,QString &linkCmd,QString &linkTe tip += linkText; } tip+="</nowrap></font></u></td></tr><tr><td>"; - QResource::registerResource(g_pIconManager->getSmallIcon(KVI_SMALLICON_URL)->toImage().bits(), "/url_icon"); // Check clicks' number if(KVI_OPTION_UINT(KviOption_uintUrlMouseClickNum) == 1) @@ -675,7 +672,7 @@ void KviIrcView::doLinkToolTip(const QRect &rct,QString &linkCmd,QString &linkTe case 'h': // host link { tip = "<table width=\"100%\">" \ - "<tr><td valign=\"center\"><img src=\":/host_icon\"> <u><font color=\"blue\"><nowrap>"; + "<tr><td valign=\"center\"><img src=\"" + g_pIconManager->getSmallIconResourceName(KVI_SMALLICON_SERVER) + "\"> <u><font color=\"blue\"><nowrap>"; if(linkText.length() > 50) { tip += linkText.left(47); @@ -684,7 +681,6 @@ void KviIrcView::doLinkToolTip(const QRect &rct,QString &linkCmd,QString &linkTe tip += linkText; } tip+="</nowrap></font></u></td></tr><tr><td>"; - QResource::registerResource(g_pIconManager->getSmallIcon(KVI_SMALLICON_SERVER)->toImage().bits(), "/host_icon"); if(linkText.indexOf('*') != -1) { @@ -701,8 +697,7 @@ void KviIrcView::doLinkToolTip(const QRect &rct,QString &linkCmd,QString &linkTe // FIXME: #warning "Spit out some server info...hub ?...registered ?" 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"); + "<tr><td valign=\"center\"><img src=\"" + g_pIconManager->getSmallIconResourceName(KVI_SMALLICON_IRC) + "\"> <u><font color=\"blue\"><nowrap>"; if(linkText.length() > 50) { @@ -782,8 +777,7 @@ void KviIrcView::doLinkToolTip(const QRect &rct,QString &linkCmd,QString &linkTe { QString szChan = linkText; QString buf; - tip = "<img src=\":/chan_icon\"> "; - QResource::registerResource(g_pIconManager->getSmallIcon(KVI_SMALLICON_CHANNEL)->toImage().bits(), "/chan_icon"); + tip = "<img src=\"" + g_pIconManager->getSmallIconResourceName(KVI_SMALLICON_CHANNEL) + "\"> "; if(szCmd.length()>0) szChan=szCmd; KviChannel * c = console()->connection()->findChannel(szChan); |
