aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Noldor2011-03-12 13:43:52 +0000
committerGravatar Noldor2011-03-12 13:43:52 +0000
commite7e52e90397c8573b0d02598eb44f180e24996fc (patch)
treea951bc98830f34749f0a300e948d2e5ac98f8bef
parent'...' correctness, remove trailing <br>s in the trayicon tooltip (diff)
downloadKVIrc-e7e52e90397c8573b0d02598eb44f180e24996fc.tar.gz
KVIrc-e7e52e90397c8573b0d02598eb44f180e24996fc.tar.bz2
KVIrc-e7e52e90397c8573b0d02598eb44f180e24996fc.zip
First public version of webkit kvs interfacing (wip)... missing doc
git-svn-id: https://svn.kvirc.de/svn/trunk/kvirc@5565 17fca916-40b9-46aa-a4ea-0a15b648b75c
-rw-r--r--src/modules/objects/CMakeLists.txt2
-rw-r--r--src/modules/objects/KvsObject_ftp.cpp1
-rw-r--r--src/modules/objects/KvsObject_pixmap.cpp23
-rw-r--r--src/modules/objects/KvsObject_pixmap.h3
-rw-r--r--src/modules/objects/KvsObject_popupMenu.cpp2
-rw-r--r--src/modules/objects/KvsObject_socket.cpp14
-rw-r--r--src/modules/objects/KvsObject_socket.h1
-rw-r--r--src/modules/objects/KvsObject_tabWidget.cpp24
-rw-r--r--src/modules/objects/KvsObject_tabWidget.h1
-rw-r--r--src/modules/objects/KvsObject_widget.cpp24
-rw-r--r--src/modules/objects/libkviobjects.cpp13
11 files changed, 59 insertions, 49 deletions
diff --git a/src/modules/objects/CMakeLists.txt b/src/modules/objects/CMakeLists.txt
index da456fe1b..b7d9e5e09 100644
--- a/src/modules/objects/CMakeLists.txt
+++ b/src/modules/objects/CMakeLists.txt
@@ -32,6 +32,7 @@ SET(kviobjects_MOC_HDRS
KvsObject_textBrowser.h
KvsObject_toolButton.h
KvsObject_treeWidget.h
+ KvsObject_webView.h
KvsObject_widget.h
KvsObject_window.h
KvsObject_wizard.h
@@ -80,6 +81,7 @@ SET(kviobjects_SRCS
KvsObject_treeWidget.cpp
KvsObject_treeWidgeteItem.cpp
KvsObject_vBox.cpp
+ KvsObject_webView.cpp
KvsObject_widget.cpp
KvsObject_window.cpp
KvsObject_wizard.cpp
diff --git a/src/modules/objects/KvsObject_ftp.cpp b/src/modules/objects/KvsObject_ftp.cpp
index 5fd27968d..26d25cdaf 100644
--- a/src/modules/objects/KvsObject_ftp.cpp
+++ b/src/modules/objects/KvsObject_ftp.cpp
@@ -260,6 +260,7 @@ void KvsObject_ftp::slotCommandFinished(int iId, bool bError)
lParams.append(new KviKvsVariant((kvs_int_t)iId));
lParams.append(new KviKvsVariant(szCommand));
lParams.append(new KviKvsVariant(bError));
+ if(bError) lParams.append(new KviKvsVariant(m_pFtp->errorString()));
callFunction(this,"commandFinishedEvent",0,&lParams);
}
diff --git a/src/modules/objects/KvsObject_pixmap.cpp b/src/modules/objects/KvsObject_pixmap.cpp
index 64128ef5d..a84798f3f 100644
--- a/src/modules/objects/KvsObject_pixmap.cpp
+++ b/src/modules/objects/KvsObject_pixmap.cpp
@@ -239,27 +239,12 @@ KVSO_CLASS_FUNCTION(pixmap,save)
else if(m_pPixmap) m_pPixmap->save(szFile);
return true;
}
-/*
-KVSO_CLASS_FUNCTION(pixmap,save)
-{
- //CHECK_INTERNAL_POINTER(m_pPixmap)
- QString szFile;
- KVSO_PARAMETERS_BEGIN(c)
- KVSO_PARAMETER("file",KVS_PT_STRING,0,szFile)
- KVSO_PARAMETERS_END(c)
- if(!QFile::exists(szFile))
- {
- c->warning(__tr2qs_ctx("I can't find the specified file '%Q'.","objects"),&szFile);
- return true;
- }
- if (m_pAnimatedPixmap) delete m_pAnimatedPixmap;
- m_pAnimatedPixmap= new KviAnimatedPixmap(szFile);
- connect(m_pAnimatedPixmap,SIGNAL(frameChanged()),this,SLOT(frameChanged()));
- //bPixmapModified=true;
- return true;
+void KvsObject_pixmap::setInternalPixmap(QPixmap *pPixmap)
+{
+ delete m_pPixmap;
+ m_pPixmap=pPixmap;
}
-*/
KVSO_CLASS_FUNCTION(pixmap,loadFromMemoryBuffer)
{
KviKvsObject * pObject;
diff --git a/src/modules/objects/KvsObject_pixmap.h b/src/modules/objects/KvsObject_pixmap.h
index a1e2eeb3a..154713872 100644
--- a/src/modules/objects/KvsObject_pixmap.h
+++ b/src/modules/objects/KvsObject_pixmap.h
@@ -44,7 +44,7 @@ class KvsObject_pixmap : public KviKvsObject
public:
KVSO_DECLARE_OBJECT(KvsObject_pixmap)
QPixmap * getPixmap();
-
+ void setInternalPixmap(QPixmap *p);
//QPixmap * pixmap(){ return m_pPixmap; }
protected:
KviAnimatedPixmap * m_pAnimatedPixmap;
@@ -52,6 +52,7 @@ protected:
signals:
void aboutToDie();
protected:
+
bool fill(KviKvsObjectFunctionCall *c);
bool resize(KviKvsObjectFunctionCall *c);
bool scale(KviKvsObjectFunctionCall *c);
diff --git a/src/modules/objects/KvsObject_popupMenu.cpp b/src/modules/objects/KvsObject_popupMenu.cpp
index 25cc28cac..307f19f60 100644
--- a/src/modules/objects/KvsObject_popupMenu.cpp
+++ b/src/modules/objects/KvsObject_popupMenu.cpp
@@ -218,7 +218,7 @@ KVSO_END_CONSTRUCTOR(KvsObject_popupMenu)
KVSO_BEGIN_DESTRUCTOR(KvsObject_popupMenu)
-KVSO_END_CONSTRUCTOR(KvsObject_popupMenu)
+KVSO_END_DESTRUCTOR(KvsObject_popupMenu)
bool KvsObject_popupMenu::init(KviKvsRunTimeContext *,KviKvsVariantList *)
{
diff --git a/src/modules/objects/KvsObject_socket.cpp b/src/modules/objects/KvsObject_socket.cpp
index bdf504ee9..ac93d2c8c 100644
--- a/src/modules/objects/KvsObject_socket.cpp
+++ b/src/modules/objects/KvsObject_socket.cpp
@@ -297,6 +297,7 @@ KVSO_BEGIN_REGISTERCLASS(KvsObject_socket,"socket","object")
KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_socket,write)
KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_socket,bytesAvailable)
+ //KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_socket,setReadBufferSize)
KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_socket,setProtocol)
KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_socket,listen)
KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_socket,dataAvailableEvent)
@@ -558,6 +559,17 @@ KVSO_CLASS_FUNCTION(socket,functionConnect)
c->returnValue()->setBoolean(true);
return true;
}
+/*
+KVSO_CLASS_FUNCTION(socket,functionsetReadBufferSize)
+{
+ kvs_int_t iBufferSize;
+ KVSO_PARAMETERS_BEGIN(c)
+ KVSO_PARAMETER("buffer_size",KVS_PT_INTEGER,0,iBufferSize)
+ KVSO_PARAMETERS_END(c)
+ m_pSocket->setReadBufferSize(iBufferSize);
+ return true;
+}
+*/
KVSO_CLASS_FUNCTION(socket,listen)
{
@@ -662,7 +674,7 @@ void KvsObject_socket::slotError( QAbstractSocket::SocketError socketError )
KviKvsVariantList lParams;
QString szError = sockerrors_tbl[socketError];
lParams.append(new KviKvsVariant(szError));
- callFunction(this,"errorEvent",&lParams);
+ callFunction(this,"errorEvent",&lParams);
}
void KvsObject_socket::slotHostFound()
diff --git a/src/modules/objects/KvsObject_socket.h b/src/modules/objects/KvsObject_socket.h
index b823b0b91..0cc3d95d0 100644
--- a/src/modules/objects/KvsObject_socket.h
+++ b/src/modules/objects/KvsObject_socket.h
@@ -61,6 +61,7 @@ protected:
bool write(KviKvsObjectFunctionCall *c);
bool bytesAvailable(KviKvsObjectFunctionCall *c);
bool setProtocol(KviKvsObjectFunctionCall *c);
+ //bool setReadBufferSize(KviKvsObjectFunctionCall *c);
bool listen(KviKvsObjectFunctionCall *c);
diff --git a/src/modules/objects/KvsObject_tabWidget.cpp b/src/modules/objects/KvsObject_tabWidget.cpp
index 0d7cc8a34..215cb4c81 100644
--- a/src/modules/objects/KvsObject_tabWidget.cpp
+++ b/src/modules/objects/KvsObject_tabWidget.cpp
@@ -72,6 +72,8 @@
Returns the tab label of the <index>.
!fn: <hobject> $widgetAt(<index:integer>)
Returns the tab widget of the <index> or 0 if index is out of the tabs count.
+ !fn: <index:integer> $indexOf(<widget:hobject>)
+ Returns the <index> of the <widget> in the tabs.
!fn: <string> $currentTabLabel()
Returns the label of the current tab.
!fn: $removePage(<tab_widget:object>)
@@ -160,6 +162,7 @@ KVSO_BEGIN_REGISTERCLASS(KvsObject_tabWidget,"tabWidget","widget")
KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_tabWidget,count)
KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_tabWidget,removePage)
KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_tabWidget,widgetAt)
+ KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_tabWidget,indexOf)
KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_tabWidget,setTabPosition)
KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_tabWidget,setTabsClosable)
@@ -178,7 +181,7 @@ KVSO_END_CONSTRUCTOR(KvsObject_tabWidget)
KVSO_BEGIN_DESTRUCTOR(KvsObject_tabWidget)
tabsList.clear();;
-KVSO_END_CONSTRUCTOR(KvsObject_tabWidget)
+KVSO_END_DESTRUCTOR(KvsObject_tabWidget)
bool KvsObject_tabWidget::init(KviKvsRunTimeContext *,KviKvsVariantList *)
{
@@ -217,9 +220,28 @@ KVSO_CLASS_FUNCTION(tabWidget,addTab)
((QTabWidget *)widget())->addTab(((QWidget *)(pObject->object())),QIcon(*pix),szLabel);
}
else((QTabWidget *)widget())->addTab(((QWidget *)(pObject->object())),szLabel);
+ this->children();
tabsList.append(hObject);
return true;
}
+
+KVSO_CLASS_FUNCTION(tabWidget,indexOf)
+{
+ CHECK_INTERNAL_POINTER(widget())
+ KviKvsObject *pObject;
+ QString szLabel,szIcon;
+ kvs_hobject_t hObject;
+ KVSO_PARAMETERS_BEGIN(c)
+ KVSO_PARAMETER("widget",KVS_PT_HOBJECT,0,hObject)
+ KVSO_PARAMETERS_END(c)
+ pObject=KviKvsKernel::instance()->objectController()->lookupObject(hObject);
+ CHECK_HOBJECT_IS_WIDGET(pObject)
+ int iIdx=((QTabWidget *)widget())->indexOf(((KvsObject_widget*)pObject)->widget());
+ c->returnValue()->setInteger((kvs_int_t)iIdx);
+ return true;
+}
+
+
KVSO_CLASS_FUNCTION(tabWidget,widgetAt)
{
CHECK_INTERNAL_POINTER(widget())
diff --git a/src/modules/objects/KvsObject_tabWidget.h b/src/modules/objects/KvsObject_tabWidget.h
index 72f893758..a3c76db66 100644
--- a/src/modules/objects/KvsObject_tabWidget.h
+++ b/src/modules/objects/KvsObject_tabWidget.h
@@ -40,6 +40,7 @@ protected:
QList<kvs_hobject_t> tabsList;
bool addTab(KviKvsObjectFunctionCall *c);
+ bool indexOf(KviKvsObjectFunctionCall *c);
bool insertTab(KviKvsObjectFunctionCall *c);
bool setTabToolTip(KviKvsObjectFunctionCall *c);
bool removeTabToolTip(KviKvsObjectFunctionCall *c);
diff --git a/src/modules/objects/KvsObject_widget.cpp b/src/modules/objects/KvsObject_widget.cpp
index 289dbc751..5c8333665 100644
--- a/src/modules/objects/KvsObject_widget.cpp
+++ b/src/modules/objects/KvsObject_widget.cpp
@@ -57,9 +57,6 @@
#include <QPoint>
#include <QContextMenuEvent>
-#ifdef COMPILE_WEBKIT_SUPPORT
- #include <QtWebKit/QWebView>
-#endif
KviKvsWidget::KviKvsWidget(KvsObject_widget * object,QWidget * par)
:QWidget(par), m_pObject(object)
@@ -710,9 +707,6 @@ KVSO_BEGIN_REGISTERCLASS(KvsObject_widget,"widget","object")
KVSO_REGISTER_STANDARD_NOTHINGRETURN_HANDLER(KvsObject_widget,"shortCutEvent")
KVSO_REGISTER_STANDARD_NOTHINGRETURN_HANDLER(KvsObject_widget,"customContextMenuRequestedEvent")
-#ifdef COMPILE_WEBKIT_SUPPORT
- KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_widget,setWebView)
-#endif
KVSO_END_REGISTERCLASS(KvsObject_widget)
@@ -720,7 +714,6 @@ KVSO_BEGIN_CONSTRUCTOR(KvsObject_widget,KviKvsObject)
KVSO_END_CONSTRUCTOR(KvsObject_widget)
KVSO_BEGIN_DESTRUCTOR(KvsObject_widget)
emit aboutToDie();
-// if (webview) delete webview;
KVSO_END_CONSTRUCTOR(KvsObject_widget)
bool KvsObject_widget::init(KviKvsRunTimeContext *c,KviKvsVariantList *)
@@ -2001,23 +1994,6 @@ KVSO_CLASS_FUNCTION(widget,removeFromStatusBar)
}
-
-#ifdef COMPILE_WEBKIT_SUPPORT
-KVSO_CLASS_FUNCTION(widget,setWebView)
-{
- CHECK_INTERNAL_POINTER(widget())
- QString szUrl;
- KVSO_PARAMETERS_BEGIN(c)
- KVSO_PARAMETER("text",KVS_PT_STRING,0,szUrl)
- KVSO_PARAMETERS_END(c)
- m_pWebview = new QWebView(widget());
- m_pWebview->load(QUrl(szUrl));
- m_pWebview->show();
- //if (widget()) g_pMainWindow->statusBar()->removeWidget(widget());
- return true;
-}
-#endif //COMPILE_WEBKIT_SUPPORT
-
#ifndef COMPILE_USE_STANDALONE_MOC_SOURCES
#include "m_KvsObject_widget.moc"
#endif //COMPILE_USE_STANDALONE_MOC_SOURCES
diff --git a/src/modules/objects/libkviobjects.cpp b/src/modules/objects/libkviobjects.cpp
index 99f1d9574..d3e7fa28b 100644
--- a/src/modules/objects/libkviobjects.cpp
+++ b/src/modules/objects/libkviobjects.cpp
@@ -22,6 +22,8 @@
//
//=============================================================================
+#include "kvi_settings.h"
+
#include "KvsObject_button.h"
#include "KvsObject_checkBox.h"
#include "KvsObject_comboBox.h"
@@ -61,6 +63,9 @@
#include "KvsObject_treeWidget.h"
#include "KvsObject_treeWidgeteItem.h"
#include "KvsObject_vBox.h"
+#ifdef COMPILE_WEBKIT_SUPPORT
+#include "KvsObject_webView.h"
+#endif
#include "KvsObject_widget.h"
#include "KvsObject_window.h"
#include "KvsObject_wizard.h"
@@ -94,7 +99,9 @@ static bool objects_module_cleanup(KviModule *)
{
// Don't attempt to change the order of these calls.
// Derived classes must be unregistered before the base ones.
-
+ #ifdef COMPILE_WEBKIT_SUPPORT
+ KvsObject_webView::unregisterSelf();
+ #endif
KvsObject_memoryBuffer::unregisterSelf();
KvsObject_process::unregisterSelf();
KvsObject_trayIcon::unregisterSelf();
@@ -800,7 +807,9 @@ static bool objects_module_init(KviModule * m)
KvsObject_trayIcon::registerSelf();
KvsObject_process::registerSelf();
KvsObject_memoryBuffer::registerSelf();
-
+ #ifdef COMPILE_WEBKIT_SUPPORT
+ KvsObject_webView::registerSelf();
+ #endif
return true;
}