aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorGravatar Fabio Bas2008-10-09 15:23:15 +0000
committerGravatar Fabio Bas2008-10-09 15:23:15 +0000
commit86322326b9839f7af4547d330f6e7e80ef82274b (patch)
tree9f1cbe04d270d07b0f040a4e08ce6b9eec0ce27e /src
parentrenamed old KDE 3 define (diff)
downloadKVIrc-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.cpp28
-rw-r--r--src/kvirc/kernel/kvi_iconmanager.h6
-rw-r--r--src/kvirc/ui/kvi_ircview_events.cpp16
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);