aboutsummaryrefslogtreecommitdiffstats
path: root/src/modules
diff options
context:
space:
mode:
authorGravatar Noldor2011-02-21 18:53:14 +0000
committerGravatar Noldor2011-02-21 18:53:14 +0000
commit0724d1b3373a0cef3e1685b52d84cf7eb946c22e (patch)
tree589c56698a9926f4cf070478a72051baa3ba2322 /src/modules
parentCode improvements in kvs class tablewidget (diff)
downloadKVIrc-0724d1b3373a0cef3e1685b52d84cf7eb946c22e.tar.gz
KVIrc-0724d1b3373a0cef3e1685b52d84cf7eb946c22e.tar.bz2
KVIrc-0724d1b3373a0cef3e1685b52d84cf7eb946c22e.zip
Code improvements in kvs class window(wip)
git-svn-id: https://svn.kvirc.de/svn/trunk/kvirc@5487 17fca916-40b9-46aa-a4ea-0a15b648b75c
Diffstat (limited to 'src/modules')
-rw-r--r--src/modules/objects/KvsObject_window.cpp22
-rw-r--r--src/modules/objects/KvsObject_window.h12
2 files changed, 31 insertions, 3 deletions
diff --git a/src/modules/objects/KvsObject_window.cpp b/src/modules/objects/KvsObject_window.cpp
index 9037a5404..603c1bd04 100644
--- a/src/modules/objects/KvsObject_window.cpp
+++ b/src/modules/objects/KvsObject_window.cpp
@@ -28,6 +28,7 @@
#include "KviError.h"
#include "kvi_debug.h"
+#include "KviIconManager.h"
#include "KviLocale.h"
#include "KviMainWindow.h"
@@ -37,6 +38,7 @@ KviKvsScriptWindowWindow::KviKvsScriptWindowWindow(KviMainWindow * pParent,const
: KviWindow(KviWindow::ScriptObject,pParent,szName)
{
m_pCentralWidget = 0;
+ m_pIcon = 0;
}
@@ -69,7 +71,11 @@ void KviKvsScriptWindowWindow::centralWidgetDestroyed()
}
-
+QPixmap * KviKvsScriptWindowWindow::myIconPtr()
+{
+ if (m_pIcon) return m_pIcon;
+ else return g_pIconManager->getSmallIcon(KviIconManager::DefaultIcon);
+}
/*
@doc: window
@@ -97,6 +103,7 @@ void KviKvsScriptWindowWindow::centralWidgetDestroyed()
KVSO_BEGIN_REGISTERCLASS(KvsObject_window,"window","widget")
KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_window,setWindowTitle)
+ KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_window,setIcon)
KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_window,setCentralWidget)
KVSO_END_REGISTERCLASS(KvsObject_window)
@@ -128,6 +135,19 @@ KVSO_CLASS_FUNCTION(window,setWindowTitle)
((KviKvsScriptWindowWindow *)widget())->setWindowTitleString(szCaption);
return true;
}
+
+KVSO_CLASS_FUNCTION(window,setIcon)
+{
+ CHECK_INTERNAL_POINTER(widget())
+ QString szIcon;
+ KVSO_PARAMETERS_BEGIN(c)
+ KVSO_PARAMETER("icon",KVS_PT_STRING,0,szIcon)
+ KVSO_PARAMETERS_END(c)
+ QPixmap * pix = g_pIconManager->getImage(szIcon);
+ if(pix) ((KviKvsScriptWindowWindow *)widget())->setIcon(pix);
+ return true;
+}
+
KVSO_CLASS_FUNCTION(window,setCentralWidget)
{
CHECK_INTERNAL_POINTER(widget())
diff --git a/src/modules/objects/KvsObject_window.h b/src/modules/objects/KvsObject_window.h
index 7131d8722..63468f434 100644
--- a/src/modules/objects/KvsObject_window.h
+++ b/src/modules/objects/KvsObject_window.h
@@ -38,7 +38,8 @@ public:
protected:
virtual bool init(KviKvsRunTimeContext * pContext,KviKvsVariantList *pParams);
- bool setWindowTitle(KviKvsObjectFunctionCall *c);
+ bool setWindowTitle(KviKvsObjectFunctionCall *c);
+ bool setIcon(KviKvsObjectFunctionCall *c);
bool setCentralWidget(KviKvsObjectFunctionCall *c);
};
@@ -53,9 +54,16 @@ public:
protected:
KvsObject_widget * m_pCentralWidgetObject;
QWidget * m_pCentralWidget;
+ QPixmap * m_pIcon;
public:
+ virtual QPixmap * myIconPtr();
+ void setIcon(QPixmap *pPixmap){m_pIcon = pPixmap;};
void setCentralWidget(KvsObject_widget *o,QWidget * w);
- void setWindowTitleString(const QString &s){ setFixedCaption(s); };
+ void setWindowTitleString(const QString &s)
+ {
+ setFixedCaption(s);
+ fillCaptionBuffers();
+ };
virtual void resizeEvent(QResizeEvent *e);
protected slots:
void centralWidgetObjectDestroyed();