From 690dd7a33ddc90678367d73adf313533536e10f2 Mon Sep 17 00:00:00 2001 From: Alexey Sokolov Date: Fri, 29 Apr 2016 23:57:30 +0100 Subject: Apply clang-format --- src/modules/objects/KvsObject_button.cpp | 51 +- src/modules/objects/KvsObject_button.h | 14 +- src/modules/objects/KvsObject_buttonGroup.cpp | 43 +- src/modules/objects/KvsObject_buttonGroup.h | 17 +- src/modules/objects/KvsObject_checkBox.cpp | 37 +- src/modules/objects/KvsObject_checkBox.h | 18 +- src/modules/objects/KvsObject_colorDialog.cpp | 127 +- src/modules/objects/KvsObject_colorDialog.h | 23 +- src/modules/objects/KvsObject_comboBox.cpp | 191 +- src/modules/objects/KvsObject_comboBox.h | 53 +- src/modules/objects/KvsObject_dateTimeEdit.cpp | 86 +- src/modules/objects/KvsObject_dateTimeEdit.h | 20 +- src/modules/objects/KvsObject_dialog.cpp | 17 +- src/modules/objects/KvsObject_dialog.h | 4 +- src/modules/objects/KvsObject_dockWindow.cpp | 73 +- src/modules/objects/KvsObject_dockWindow.h | 4 +- src/modules/objects/KvsObject_file.cpp | 321 +-- src/modules/objects/KvsObject_file.h | 53 +- src/modules/objects/KvsObject_ftp.cpp | 234 +- src/modules/objects/KvsObject_ftp.h | 45 +- src/modules/objects/KvsObject_groupBox.cpp | 108 +- src/modules/objects/KvsObject_groupBox.h | 38 +- src/modules/objects/KvsObject_hBox.cpp | 86 +- src/modules/objects/KvsObject_hBox.h | 15 +- src/modules/objects/KvsObject_http.cpp | 511 ++-- src/modules/objects/KvsObject_http.h | 73 +- src/modules/objects/KvsObject_label.cpp | 95 +- src/modules/objects/KvsObject_label.h | 31 +- src/modules/objects/KvsObject_layout.cpp | 194 +- src/modules/objects/KvsObject_layout.h | 22 +- src/modules/objects/KvsObject_lcd.cpp | 84 +- src/modules/objects/KvsObject_lcd.h | 23 +- src/modules/objects/KvsObject_lineEdit.cpp | 245 +- src/modules/objects/KvsObject_lineEdit.h | 82 +- src/modules/objects/KvsObject_list.cpp | 131 +- src/modules/objects/KvsObject_list.h | 39 +- src/modules/objects/KvsObject_listWidget.cpp | 482 ++-- src/modules/objects/KvsObject_listWidget.h | 68 +- src/modules/objects/KvsObject_mainWindow.cpp | 27 +- src/modules/objects/KvsObject_mainWindow.h | 8 +- src/modules/objects/KvsObject_memoryBuffer.cpp | 62 +- src/modules/objects/KvsObject_memoryBuffer.h | 17 +- src/modules/objects/KvsObject_menuBar.cpp | 14 +- src/modules/objects/KvsObject_menuBar.h | 6 +- src/modules/objects/KvsObject_multiLineEdit.cpp | 374 ++- src/modules/objects/KvsObject_multiLineEdit.h | 104 +- src/modules/objects/KvsObject_painter.cpp | 1738 +++++++------ src/modules/objects/KvsObject_painter.h | 154 +- src/modules/objects/KvsObject_pixmap.cpp | 576 +++-- src/modules/objects/KvsObject_pixmap.h | 64 +- src/modules/objects/KvsObject_popupMenu.cpp | 190 +- src/modules/objects/KvsObject_popupMenu.h | 28 +- src/modules/objects/KvsObject_process.cpp | 102 +- src/modules/objects/KvsObject_process.h | 37 +- src/modules/objects/KvsObject_progressBar.cpp | 42 +- src/modules/objects/KvsObject_progressBar.h | 18 +- src/modules/objects/KvsObject_radioButton.cpp | 42 +- src/modules/objects/KvsObject_radioButton.h | 15 +- src/modules/objects/KvsObject_slider.cpp | 122 +- src/modules/objects/KvsObject_slider.h | 36 +- src/modules/objects/KvsObject_socket.cpp | 342 +-- src/modules/objects/KvsObject_socket.h | 56 +- src/modules/objects/KvsObject_spinBox.cpp | 94 +- src/modules/objects/KvsObject_spinBox.h | 34 +- src/modules/objects/KvsObject_sql.cpp | 376 +-- src/modules/objects/KvsObject_sql.h | 42 +- src/modules/objects/KvsObject_tabWidget.cpp | 262 +- src/modules/objects/KvsObject_tabWidget.h | 40 +- src/modules/objects/KvsObject_tableWidget.cpp | 535 ++-- src/modules/objects/KvsObject_tableWidget.h | 102 +- src/modules/objects/KvsObject_textBrowser.cpp | 44 +- src/modules/objects/KvsObject_textBrowser.h | 20 +- src/modules/objects/KvsObject_toolBar.cpp | 25 +- src/modules/objects/KvsObject_toolBar.h | 14 +- src/modules/objects/KvsObject_toolButton.cpp | 148 +- src/modules/objects/KvsObject_toolButton.h | 45 +- src/modules/objects/KvsObject_trayIcon.cpp | 138 +- src/modules/objects/KvsObject_trayIcon.h | 23 +- src/modules/objects/KvsObject_treeWidget.cpp | 394 +-- src/modules/objects/KvsObject_treeWidget.h | 80 +- src/modules/objects/KvsObject_treeWidgeteItem.cpp | 202 +- src/modules/objects/KvsObject_treeWidgeteItem.h | 46 +- src/modules/objects/KvsObject_vBox.cpp | 126 +- src/modules/objects/KvsObject_vBox.h | 14 +- src/modules/objects/KvsObject_webView.cpp | 898 +++---- src/modules/objects/KvsObject_webView.h | 58 +- src/modules/objects/KvsObject_widget.cpp | 1146 ++++---- src/modules/objects/KvsObject_widget.h | 108 +- src/modules/objects/KvsObject_window.cpp | 62 +- src/modules/objects/KvsObject_window.h | 27 +- src/modules/objects/KvsObject_wizard.cpp | 195 +- src/modules/objects/KvsObject_wizard.h | 41 +- src/modules/objects/KvsObject_workspace.cpp | 108 +- src/modules/objects/KvsObject_workspace.h | 28 +- src/modules/objects/KvsObject_wrapper.cpp | 94 +- src/modules/objects/KvsObject_wrapper.h | 14 +- src/modules/objects/KvsObject_xmlreader.cpp | 100 +- src/modules/objects/KvsObject_xmlreader.h | 7 +- src/modules/objects/libkviobjects.cpp | 282 +- src/modules/objects/object_macros.h | 114 +- src/modules/objects/qtftp/qftp.cpp | 2309 +++++++++-------- src/modules/objects/qtftp/qftp.h | 437 ++-- src/modules/objects/qtftp/qurlinfo.cpp | 416 ++- src/modules/objects/qtftp/qurlinfo.h | 114 +- src/modules/objects/qthttp/qhttp.cpp | 2876 +++++++++++---------- src/modules/objects/qthttp/qhttp.h | 332 +-- src/modules/objects/qthttp/qhttpauthenticator.cpp | 1675 ++++++------ src/modules/objects/qthttp/qhttpauthenticator_p.h | 128 +- src/modules/objects/qthttp/qringbuffer_p.h | 818 +++--- 109 files changed, 11893 insertions(+), 11230 deletions(-) (limited to 'src/modules/objects') diff --git a/src/modules/objects/KvsObject_button.cpp b/src/modules/objects/KvsObject_button.cpp index 1b70ea902..b3bdfe825 100644 --- a/src/modules/objects/KvsObject_button.cpp +++ b/src/modules/objects/KvsObject_button.cpp @@ -69,93 +69,94 @@ This property holds whether the label will scale its contents to fill all available space. */ -KVSO_BEGIN_REGISTERCLASS(KvsObject_button,"button","widget") +KVSO_BEGIN_REGISTERCLASS(KvsObject_button, "button", "widget") - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_button,setText) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_button,text) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_button,clickEvent) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_button,setImage) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_button, setText) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_button, text) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_button, clickEvent) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_button, setImage) KVSO_END_REGISTERCLASS(KvsObject_button) -KVSO_BEGIN_CONSTRUCTOR(KvsObject_button,KvsObject_widget) +KVSO_BEGIN_CONSTRUCTOR(KvsObject_button, KvsObject_widget) KVSO_END_CONSTRUCTOR(KvsObject_button) - KVSO_BEGIN_DESTRUCTOR(KvsObject_button) KVSO_END_DESTRUCTOR(KvsObject_button) -bool KvsObject_button::init(KviKvsRunTimeContext *,KviKvsVariantList *) +bool KvsObject_button::init(KviKvsRunTimeContext *, KviKvsVariantList *) { SET_OBJECT(QPushButton); - connect(widget(),SIGNAL(clicked()),this,SLOT(slotClicked())); + connect(widget(), SIGNAL(clicked()), this, SLOT(slotClicked())); return true; } -KVSO_CLASS_FUNCTION(button,text) +KVSO_CLASS_FUNCTION(button, text) { CHECK_INTERNAL_POINTER(widget()) c->returnValue()->setString(((QPushButton *)widget())->text()); return true; } -KVSO_CLASS_FUNCTION(button,setText) +KVSO_CLASS_FUNCTION(button, setText) { CHECK_INTERNAL_POINTER(widget()) QString szText; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("text",KVS_PT_STRING,0,szText) + KVSO_PARAMETER("text", KVS_PT_STRING, 0, szText) KVSO_PARAMETERS_END(c) ((QPushButton *)widget())->setText(szText); return true; } -KVSO_CLASS_FUNCTION(button,setImage) +KVSO_CLASS_FUNCTION(button, setImage) { CHECK_INTERNAL_POINTER(widget()) KviKvsVariant * pIcon; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("icon_or_hobject",KVS_PT_VARIANT,0,pIcon) + KVSO_PARAMETER("icon_or_hobject", KVS_PT_VARIANT, 0, pIcon) KVSO_PARAMETERS_END(c) if(!pIcon) { - c->warning(__tr2qs_ctx("Image parameter missing","object")); + c->warning(__tr2qs_ctx("Image parameter missing", "object")); return true; } if(pIcon->isHObject()) { kvs_hobject_t hObj; pIcon->asHObject(hObj); - KviKvsObject *pObject = KviKvsKernel::instance()->objectController()->lookupObject(hObj); - if (!pObject) + KviKvsObject * pObject = KviKvsKernel::instance()->objectController()->lookupObject(hObj); + if(!pObject) { - c->warning(__tr2qs_ctx("Pixmap parameter is not an object!","objects")); + c->warning(__tr2qs_ctx("Pixmap parameter is not an object!", "objects")); return true; } if(pObject->inheritsClass("pixmap")) ((QPushButton *)widget())->setIcon(QIcon(*((KvsObject_pixmap *)pObject)->getPixmap())); else - c->warning(__tr2qs_ctx("Object pixmap required!","object")); + c->warning(__tr2qs_ctx("Object pixmap required!", "object")); return true; } QString szIcon; pIcon->asString(szIcon); QPixmap * pix = g_pIconManager->getImage(szIcon); - if(pix) ((QPushButton *)widget())->setIcon(*pix); - else((QPushButton *)widget())->setIcon(QIcon()); + if(pix) + ((QPushButton *)widget())->setIcon(*pix); + else + ((QPushButton *)widget())->setIcon(QIcon()); return true; } -KVSO_CLASS_FUNCTION(button,clickEvent) +KVSO_CLASS_FUNCTION(button, clickEvent) { - emitSignal("clicked",c); + emitSignal("clicked", c); return true; } // slots void KvsObject_button::slotClicked() { - KviKvsVariantList *params=0; - callFunction(this,"clickEvent",params); + KviKvsVariantList * params = 0; + callFunction(this, "clickEvent", params); } diff --git a/src/modules/objects/KvsObject_button.h b/src/modules/objects/KvsObject_button.h index e61385fc0..45e1e3408 100644 --- a/src/modules/objects/KvsObject_button.h +++ b/src/modules/objects/KvsObject_button.h @@ -25,8 +25,6 @@ // //============================================================================= - - #include "KvsObject_widget.h" #include "object_macros.h" @@ -38,16 +36,16 @@ public: public: QWidget * widget() { return (QWidget *)object(); }; protected: - virtual bool init(KviKvsRunTimeContext * pContext,KviKvsVariantList *pParams); + virtual bool init(KviKvsRunTimeContext * pContext, KviKvsVariantList * pParams); - bool setText(KviKvsObjectFunctionCall *c); - bool text(KviKvsObjectFunctionCall *c); + bool setText(KviKvsObjectFunctionCall * c); + bool text(KviKvsObjectFunctionCall * c); - bool setImage(KviKvsObjectFunctionCall *c); - bool clickEvent(KviKvsObjectFunctionCall *c); + bool setImage(KviKvsObjectFunctionCall * c); + bool clickEvent(KviKvsObjectFunctionCall * c); protected slots: void slotClicked(); }; -#endif // !_CLASS_BUTTON_H_ +#endif // !_CLASS_BUTTON_H_ diff --git a/src/modules/objects/KvsObject_buttonGroup.cpp b/src/modules/objects/KvsObject_buttonGroup.cpp index a7ec6a034..94863fc0b 100644 --- a/src/modules/objects/KvsObject_buttonGroup.cpp +++ b/src/modules/objects/KvsObject_buttonGroup.cpp @@ -23,7 +23,6 @@ // //============================================================================= - #include "KvsObject_buttonGroup.h" #include "KviError.h" #include "kvi_debug.h" @@ -54,53 +53,53 @@ Returns the button group's checked button, or [b]0[/b] if no buttons are checked. */ -KVSO_BEGIN_REGISTERCLASS(KvsObject_buttonGroup,"buttongroup","object") - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_buttonGroup,addButton) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_buttonGroup,checkedButton) +KVSO_BEGIN_REGISTERCLASS(KvsObject_buttonGroup, "buttongroup", "object") +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_buttonGroup, addButton) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_buttonGroup, checkedButton) KVSO_END_REGISTERCLASS(KvsObject_buttonGroup) -KVSO_BEGIN_CONSTRUCTOR(KvsObject_buttonGroup,KviKvsObject) - m_iId=0; - btnDict.setAutoDelete(false); - m_pButtonGroup=new QButtonGroup(); +KVSO_BEGIN_CONSTRUCTOR(KvsObject_buttonGroup, KviKvsObject) +m_iId = 0; +btnDict.setAutoDelete(false); +m_pButtonGroup = new QButtonGroup(); KVSO_END_CONSTRUCTOR(KvsObject_buttonGroup) - KVSO_BEGIN_DESTRUCTOR(KvsObject_buttonGroup) - btnDict.clear(); - delete m_pButtonGroup; +btnDict.clear(); +delete m_pButtonGroup; KVSO_END_CONSTRUCTOR(KvsObject_buttonGroup) - -KVSO_CLASS_FUNCTION(buttonGroup,addButton) +KVSO_CLASS_FUNCTION(buttonGroup, addButton) { CHECK_INTERNAL_POINTER(m_pButtonGroup) KviKvsObject * pObject; kvs_hobject_t hObject; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("button",KVS_PT_HOBJECT,0,hObject) + KVSO_PARAMETER("button", KVS_PT_HOBJECT, 0, hObject) KVSO_PARAMETERS_END(c) - pObject=KviKvsKernel::instance()->objectController()->lookupObject(hObject); + pObject = KviKvsKernel::instance()->objectController()->lookupObject(hObject); CHECK_HOBJECT_IS_WIDGET(pObject) if(pObject->inheritsClass("radiobutton") || pObject->inheritsClass("checkbox")) { - m_pButtonGroup->addButton(((QRadioButton *)(pObject->object())),m_iId); + m_pButtonGroup->addButton(((QRadioButton *)(pObject->object())), m_iId); c->returnValue()->setInteger(m_iId); - btnDict.insert(m_iId,pObject); + btnDict.insert(m_iId, pObject); m_iId++; } else { - c->warning(__tr2qs_ctx("Buttongroup supports only checkbox and radiobox object","objects")); + c->warning(__tr2qs_ctx("Buttongroup supports only checkbox and radiobox object", "objects")); return true; } return true; } -KVSO_CLASS_FUNCTION(buttonGroup,checkedButton) +KVSO_CLASS_FUNCTION(buttonGroup, checkedButton) { CHECK_INTERNAL_POINTER(m_pButtonGroup) - int id=m_pButtonGroup->checkedId(); - if (id!=-1) c->returnValue()->setHObject(btnDict.find(id)->handle()); - else c->returnValue()->setNothing(); + int id = m_pButtonGroup->checkedId(); + if(id != -1) + c->returnValue()->setHObject(btnDict.find(id)->handle()); + else + c->returnValue()->setNothing(); return true; } diff --git a/src/modules/objects/KvsObject_buttonGroup.h b/src/modules/objects/KvsObject_buttonGroup.h index 286c26440..7610695b3 100644 --- a/src/modules/objects/KvsObject_buttonGroup.h +++ b/src/modules/objects/KvsObject_buttonGroup.h @@ -1,5 +1,5 @@ -#ifndef _CLASS_BUTTONGROUP_H_ -#define _CLASS_BUTTONGROUP_H_ +#ifndef _CLASS_BUTTONGROUP_H_ +#define _CLASS_BUTTONGROUP_H_ //============================================================================= // // File : KvsObject_buttonGroup.cpp @@ -25,8 +25,6 @@ // //============================================================================= - - #include #include "object_macros.h" @@ -35,11 +33,10 @@ class KvsObject_buttonGroup : public KviKvsObject public: KVSO_DECLARE_OBJECT(KvsObject_buttonGroup) protected: - QButtonGroup *m_pButtonGroup; + QButtonGroup * m_pButtonGroup; int m_iId; - KviPointerHashTable btnDict; - bool addButton(KviKvsObjectFunctionCall *c); - bool checkedButton(KviKvsObjectFunctionCall *c); - + KviPointerHashTable btnDict; + bool addButton(KviKvsObjectFunctionCall * c); + bool checkedButton(KviKvsObjectFunctionCall * c); }; -#endif //!_CLASS_GROUPBOX_H_ +#endif //!_CLASS_GROUPBOX_H_ diff --git a/src/modules/objects/KvsObject_checkBox.cpp b/src/modules/objects/KvsObject_checkBox.cpp index 25c605b1f..8f7aafb87 100644 --- a/src/modules/objects/KvsObject_checkBox.cpp +++ b/src/modules/objects/KvsObject_checkBox.cpp @@ -23,13 +23,11 @@ // //============================================================================= - #include "KviError.h" #include "kvi_debug.h" #include "KviLocale.h" #include "KvsObject_checkBox.h" - #include /* @@ -63,63 +61,62 @@ //--------------------------------------------------------------------------------- -KVSO_BEGIN_REGISTERCLASS(KvsObject_checkBox,"checkbox","button") - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_checkBox,setChecked) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_checkBox,isChecked) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_checkBox,toggleEvent) +KVSO_BEGIN_REGISTERCLASS(KvsObject_checkBox, "checkbox", "button") +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_checkBox, setChecked) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_checkBox, isChecked) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_checkBox, toggleEvent) KVSO_END_REGISTERCLASS(KvsObject_checkBox) -KVSO_BEGIN_CONSTRUCTOR(KvsObject_checkBox,KvsObject_button) +KVSO_BEGIN_CONSTRUCTOR(KvsObject_checkBox, KvsObject_button) KVSO_END_CONSTRUCTOR(KvsObject_checkBox) - KVSO_BEGIN_DESTRUCTOR(KvsObject_checkBox) KVSO_END_CONSTRUCTOR(KvsObject_checkBox) -bool KvsObject_checkBox::init(KviKvsRunTimeContext *,KviKvsVariantList *) +bool KvsObject_checkBox::init(KviKvsRunTimeContext *, KviKvsVariantList *) { - QCheckBox * cb = new QCheckBox(parentScriptWidget()); + QCheckBox * cb = new QCheckBox(parentScriptWidget()); cb->setObjectName(getName().toUtf8().data()); setObject(cb, true); - connect(cb,SIGNAL(toggled(bool)),this,SLOT(toggled(bool))); - connect(widget(),SIGNAL(clicked()),this,SLOT(slotClicked())); + connect(cb, SIGNAL(toggled(bool)), this, SLOT(toggled(bool))); + connect(widget(), SIGNAL(clicked()), this, SLOT(slotClicked())); return true; } -KVSO_CLASS_FUNCTION(checkBox,isChecked) +KVSO_CLASS_FUNCTION(checkBox, isChecked) { CHECK_INTERNAL_POINTER(widget()) c->returnValue()->setBoolean(((QCheckBox *)widget())->isChecked()); return true; } -KVSO_CLASS_FUNCTION(checkBox,setChecked) +KVSO_CLASS_FUNCTION(checkBox, setChecked) { CHECK_INTERNAL_POINTER(widget()) bool bChecked; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("bChecked",KVS_PT_BOOL,KVS_PF_OPTIONAL,bChecked) + KVSO_PARAMETER("bChecked", KVS_PT_BOOL, KVS_PF_OPTIONAL, bChecked) KVSO_PARAMETERS_END(c) ((QCheckBox *)widget())->setChecked(bChecked); return true; } -KVSO_CLASS_FUNCTION(checkBox,setText) +KVSO_CLASS_FUNCTION(checkBox, setText) { CHECK_INTERNAL_POINTER(widget()) QString szText; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("",KVS_PT_STRING,0,szText) + KVSO_PARAMETER("", KVS_PT_STRING, 0, szText) KVSO_PARAMETERS_END(c) ((QCheckBox *)widget())->setText(szText); return true; } -KVSO_CLASS_FUNCTION(checkBox,toggleEvent) +KVSO_CLASS_FUNCTION(checkBox, toggleEvent) { - emitSignal("toggled",c,c->params()); + emitSignal("toggled", c, c->params()); return true; } @@ -127,5 +124,5 @@ KVSO_CLASS_FUNCTION(checkBox,toggleEvent) void KvsObject_checkBox::toggled(bool b) { KviKvsVariantList params(new KviKvsVariant(b)); - callFunction(this,"toggleEvent",¶ms); + callFunction(this, "toggleEvent", ¶ms); } diff --git a/src/modules/objects/KvsObject_checkBox.h b/src/modules/objects/KvsObject_checkBox.h index e44bf00b9..3b11581d5 100644 --- a/src/modules/objects/KvsObject_checkBox.h +++ b/src/modules/objects/KvsObject_checkBox.h @@ -1,5 +1,5 @@ -#ifndef _CLASS_CHECKBOX_H_ -#define _CLASS_CHECKBOX_H_ +#ifndef _CLASS_CHECKBOX_H_ +#define _CLASS_CHECKBOX_H_ //============================================================================= // @@ -26,8 +26,6 @@ // //============================================================================= - - #include "KvsObject_button.h" #include "object_macros.h" @@ -39,12 +37,12 @@ public: public: QWidget * widget() { return (QWidget *)object(); }; protected: - virtual bool init(KviKvsRunTimeContext * pContext,KviKvsVariantList *pParams); - bool setChecked(KviKvsObjectFunctionCall *c); - bool isChecked(KviKvsObjectFunctionCall *c); - bool toggleEvent(KviKvsObjectFunctionCall *c); - bool setText(KviKvsObjectFunctionCall *c); + virtual bool init(KviKvsRunTimeContext * pContext, KviKvsVariantList * pParams); + bool setChecked(KviKvsObjectFunctionCall * c); + bool isChecked(KviKvsObjectFunctionCall * c); + bool toggleEvent(KviKvsObjectFunctionCall * c); + bool setText(KviKvsObjectFunctionCall * c); protected slots: void toggled(bool b); }; -#endif // !_CLASS_CHECKBOX_H_ +#endif // !_CLASS_CHECKBOX_H_ diff --git a/src/modules/objects/KvsObject_colorDialog.cpp b/src/modules/objects/KvsObject_colorDialog.cpp index 97b4bb1ea..a13f29c20 100644 --- a/src/modules/objects/KvsObject_colorDialog.cpp +++ b/src/modules/objects/KvsObject_colorDialog.cpp @@ -23,13 +23,11 @@ // //============================================================================= - #include "KviError.h" #include "kvi_debug.h" #include "KviLocale.h" #include "KvsObject_colorDialog.h" - #include const char * const option_tbl[] = { @@ -44,7 +42,7 @@ const int option_cod[] = { QColorDialog::DontUseNativeDialog }; -#define option_num (sizeof(option_tbl) / sizeof(option_tbl[0])) +#define option_num (sizeof(option_tbl) / sizeof(option_tbl[0])) /* @doc: colordialog @@ -77,55 +75,55 @@ const int option_cod[] = { //--------------------------------------------------------------------------------- -KVSO_BEGIN_REGISTERCLASS(KvsObject_colorDialog,"colorDialog","dialog") - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_colorDialog,setCurrentColor) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_colorDialog,setOptions) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_colorDialog,colorSelectedEvent) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_colorDialog,currentColorChangedEvent) +KVSO_BEGIN_REGISTERCLASS(KvsObject_colorDialog, "colorDialog", "dialog") +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_colorDialog, setCurrentColor) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_colorDialog, setOptions) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_colorDialog, colorSelectedEvent) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_colorDialog, currentColorChangedEvent) KVSO_END_REGISTERCLASS(KvsObject_colorDialog) -KVSO_BEGIN_CONSTRUCTOR(KvsObject_colorDialog,KvsObject_dialog) +KVSO_BEGIN_CONSTRUCTOR(KvsObject_colorDialog, KvsObject_dialog) KVSO_END_CONSTRUCTOR(KvsObject_colorDialog) - KVSO_BEGIN_DESTRUCTOR(KvsObject_colorDialog) KVSO_END_CONSTRUCTOR(KvsObject_colorDialog) -bool KvsObject_colorDialog::init(KviKvsRunTimeContext *,KviKvsVariantList *) +bool KvsObject_colorDialog::init(KviKvsRunTimeContext *, KviKvsVariantList *) { - QColorDialog * d = new QColorDialog(parentScriptWidget()); + QColorDialog * d = new QColorDialog(parentScriptWidget()); d->setObjectName(getName().toUtf8().data()); setObject(d, true); - connect(d,SIGNAL(colorSelected(const QColor &)),this,SLOT(slotColorSelected(const QColor &))); - connect(d,SIGNAL(currentColorChanged(const QColor &)),this,SLOT(slotCurrentColorChanged(const QColor &))); + connect(d, SIGNAL(colorSelected(const QColor &)), this, SLOT(slotColorSelected(const QColor &))); + connect(d, SIGNAL(currentColorChanged(const QColor &)), this, SLOT(slotCurrentColorChanged(const QColor &))); return true; } -KVSO_CLASS_FUNCTION(colorDialog,setCurrentColor) +KVSO_CLASS_FUNCTION(colorDialog, setCurrentColor) { CHECK_INTERNAL_POINTER(widget()) - kvs_int_t iCol1,iCol2,iCol3,iOpacity; - QString szColorMode,szColor; - KviKvsVariant *var1,*var2,*var3; + kvs_int_t iCol1, iCol2, iCol3, iOpacity; + QString szColorMode, szColor; + KviKvsVariant *var1, *var2, *var3; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("Color_1_Or_Colorname",KVS_PT_VARIANT,0,var1) - KVSO_PARAMETER("Color_2",KVS_PT_VARIANT,KVS_PF_OPTIONAL,var2) - KVSO_PARAMETER("Colo3_3",KVS_PT_VARIANT,KVS_PF_OPTIONAL,var3) - KVSO_PARAMETER("opacity",KVS_PT_INT,KVS_PF_OPTIONAL,iOpacity) - KVSO_PARAMETER("color_mode",KVS_PT_STRING,KVS_PF_OPTIONAL,szColorMode) + KVSO_PARAMETER("Color_1_Or_Colorname", KVS_PT_VARIANT, 0, var1) + KVSO_PARAMETER("Color_2", KVS_PT_VARIANT, KVS_PF_OPTIONAL, var2) + KVSO_PARAMETER("Colo3_3", KVS_PT_VARIANT, KVS_PF_OPTIONAL, var3) + KVSO_PARAMETER("opacity", KVS_PT_INT, KVS_PF_OPTIONAL, iOpacity) + KVSO_PARAMETER("color_mode", KVS_PT_STRING, KVS_PF_OPTIONAL, szColorMode) KVSO_PARAMETERS_END(c) QColor col; - if (!var1->asInteger(iCol1)) + if(!var1->asInteger(iCol1)) { var1->asString(szColor); - if (c->paramCount()<2) iOpacity=255; + if(c->paramCount() < 2) + iOpacity = 255; else { - if (!var2->asInteger(iOpacity)) + if(!var2->asInteger(iOpacity)) { - c->warning(__tr2qs_ctx("The opacity parameter didn't evaluate to integer","objects")); + c->warning(__tr2qs_ctx("The opacity parameter didn't evaluate to integer", "objects")); return true; } } @@ -134,26 +132,26 @@ KVSO_CLASS_FUNCTION(colorDialog,setCurrentColor) } else { - if(c->paramCount()<3) + if(c->paramCount() < 3) { - c->error(__tr2qs_ctx("Color name or triplet RGB/HSV value required","objects")); + c->error(__tr2qs_ctx("Color name or triplet RGB/HSV value required", "objects")); return true; } - if (!var2->asInteger(iCol2)||!var3->asInteger(iCol3)) + if(!var2->asInteger(iCol2) || !var3->asInteger(iCol3)) { - c->error(__tr2qs_ctx("One of the triplet parameters didn't evaluate to an integer","objects"));\ - return true; + c->error(__tr2qs_ctx("One of the triplet parameters didn't evaluate to an integer", "objects")); + return true; } - if (c->paramCount()<4) - iOpacity=255; + if(c->paramCount() < 4) + iOpacity = 255; else { - if (c->paramCount()>4) + if(c->paramCount() > 4) { if(KviQString::equalCI(szColorMode, "HSV")) - col.setHsv(iCol1,iCol2,iCol3,iOpacity); + col.setHsv(iCol1, iCol2, iCol3, iOpacity); else - col.setRgb(iCol1,iCol2,iCol3,iOpacity); + col.setRgb(iCol1, iCol2, iCol3, iOpacity); } } col.setAlpha(iOpacity); @@ -162,70 +160,67 @@ KVSO_CLASS_FUNCTION(colorDialog,setCurrentColor) return true; } -KVSO_CLASS_FUNCTION(colorDialog,setOptions) +KVSO_CLASS_FUNCTION(colorDialog, setOptions) { CHECK_INTERNAL_POINTER(widget()) QStringList szOptions; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("szOptions",KVS_PT_STRINGLIST,KVS_PF_OPTIONAL,szOptions) + KVSO_PARAMETER("szOptions", KVS_PT_STRINGLIST, KVS_PF_OPTIONAL, szOptions) KVSO_PARAMETERS_END(c) - if (!widget()) return true; - int colorDialogOption,sum = 0; - for ( QStringList::Iterator it = szOptions.begin(); it != szOptions.end(); ++it ) + if(!widget()) + return true; + int colorDialogOption, sum = 0; + for(QStringList::Iterator it = szOptions.begin(); it != szOptions.end(); ++it) { colorDialogOption = 0; for(unsigned int j = 0; j < option_num; j++) { if(KviQString::equalCI((*it), option_tbl[j])) { - colorDialogOption=option_cod[j]; + colorDialogOption = option_cod[j]; break; } } if(colorDialogOption) sum = sum | colorDialogOption; else - c->warning(__tr2qs_ctx("Unknown szOptions '%Q'","objects"),&(*it)); - + c->warning(__tr2qs_ctx("Unknown szOptions '%Q'", "objects"), &(*it)); } ((QColorDialog *)widget())->setOptions(QColorDialog::ColorDialogOptions(sum)); return true; } - - -KVSO_CLASS_FUNCTION(colorDialog,currentColorChangedEvent) +KVSO_CLASS_FUNCTION(colorDialog, currentColorChangedEvent) { - emitSignal("currentColorChanged",c,c->params()); + emitSignal("currentColorChanged", c, c->params()); return true; } - -KVSO_CLASS_FUNCTION(colorDialog,colorSelectedEvent) +KVSO_CLASS_FUNCTION(colorDialog, colorSelectedEvent) { - emitSignal("colorSelected",c,c->params()); + emitSignal("colorSelected", c, c->params()); return true; } //slots -void KvsObject_colorDialog::slotCurrentColorChanged(const QColor &col) +void KvsObject_colorDialog::slotCurrentColorChanged(const QColor & col) { - KviKvsHash *pHash = new KviKvsHash(); - KviKvsVariant *pColName = new KviKvsVariant(col.name()); - KviKvsVariant *pColAlpha = new KviKvsVariant((kvs_int_t)col.alpha()); - pHash->set("color",pColName); - pHash->set("opacity",pColAlpha); + KviKvsHash * pHash = new KviKvsHash(); + KviKvsVariant * pColName = new KviKvsVariant(col.name()); + KviKvsVariant * pColAlpha = new KviKvsVariant((kvs_int_t)col.alpha()); + pHash->set("color", pColName); + pHash->set("opacity", pColAlpha); KviKvsVariantList params(new KviKvsVariant(pHash)); - callFunction(this,"currentColorChangedEvent",¶ms); + callFunction(this, "currentColorChangedEvent", ¶ms); } -void KvsObject_colorDialog::slotColorSelected(const QColor &col) +void KvsObject_colorDialog::slotColorSelected(const QColor & col) { - KviKvsHash *pHash = new KviKvsHash(); - KviKvsVariant *pColName = new KviKvsVariant(col.name()); - KviKvsVariant *pColAlpha = new KviKvsVariant((kvs_int_t)col.alpha()); - pHash->set("color",pColName); - pHash->set("alpha",pColAlpha); + KviKvsHash * pHash = new KviKvsHash(); + KviKvsVariant * pColName = new KviKvsVariant(col.name()); + KviKvsVariant * pColAlpha = new KviKvsVariant((kvs_int_t)col.alpha()); + pHash->set("color", pColName); + pHash->set("alpha", pColAlpha); KviKvsVariantList params(new KviKvsVariant(pHash)); - callFunction(this,"colorSelectedEvent",¶ms); + callFunction(this, "colorSelectedEvent", ¶ms); } diff --git a/src/modules/objects/KvsObject_colorDialog.h b/src/modules/objects/KvsObject_colorDialog.h index fbb92bb0d..b7a293c3c 100644 --- a/src/modules/objects/KvsObject_colorDialog.h +++ b/src/modules/objects/KvsObject_colorDialog.h @@ -1,5 +1,5 @@ -#ifndef _CLASS_COLORDIALOG_H_ -#define _CLASS_COLORDIALOG_H_ +#ifndef _CLASS_COLORDIALOG_H_ +#define _CLASS_COLORDIALOG_H_ //============================================================================= // @@ -26,8 +26,6 @@ // //============================================================================= - - #include "KvsObject_dialog.h" #include "object_macros.h" @@ -39,14 +37,13 @@ public: public: QWidget * widget() { return (QWidget *)object(); } protected: - virtual bool init(KviKvsRunTimeContext * pContext,KviKvsVariantList *pParams); - bool setCurrentColor(KviKvsObjectFunctionCall *c); - bool currentColorChangedEvent(KviKvsObjectFunctionCall *c); - bool colorSelectedEvent(KviKvsObjectFunctionCall *c); - bool setOptions(KviKvsObjectFunctionCall *c); + virtual bool init(KviKvsRunTimeContext * pContext, KviKvsVariantList * pParams); + bool setCurrentColor(KviKvsObjectFunctionCall * c); + bool currentColorChangedEvent(KviKvsObjectFunctionCall * c); + bool colorSelectedEvent(KviKvsObjectFunctionCall * c); + bool setOptions(KviKvsObjectFunctionCall * c); protected slots: - void slotCurrentColorChanged(const QColor &col); - void slotColorSelected(const QColor &col); - + void slotCurrentColorChanged(const QColor & col); + void slotColorSelected(const QColor & col); }; -#endif // !_CLASS_COLORDIALOG_H_ +#endif // !_CLASS_COLORDIALOG_H_ diff --git a/src/modules/objects/KvsObject_comboBox.cpp b/src/modules/objects/KvsObject_comboBox.cpp index 454df7e0a..331f3fe5a 100644 --- a/src/modules/objects/KvsObject_comboBox.cpp +++ b/src/modules/objects/KvsObject_comboBox.cpp @@ -23,7 +23,6 @@ // //============================================================================= - #include "KviError.h" #include "KviLocale.h" #include "kvi_debug.h" @@ -99,263 +98,265 @@ */ -KVSO_BEGIN_REGISTERCLASS(KvsObject_comboBox,"combobox","widget") - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_comboBox,insertItem) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_comboBox,changeItem) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_comboBox,removeItem) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_comboBox,clear) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_comboBox,setMaxCount) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_comboBox,maxCount) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_comboBox,count) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_comboBox,current) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_comboBox,currentItem) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_comboBox,setEditable); - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_comboBox,editable) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_comboBox,setEditText) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_comboBox,textAt) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_comboBox,textLineEdit) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_comboBox,setTextLineEdit) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_comboBox,setCurrentItem) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_comboBox,popup) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_comboBox,setInsertionPolicy) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_comboBox,textChangedEvent) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_comboBox,activatedEvent) +KVSO_BEGIN_REGISTERCLASS(KvsObject_comboBox, "combobox", "widget") +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_comboBox, insertItem) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_comboBox, changeItem) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_comboBox, removeItem) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_comboBox, clear) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_comboBox, setMaxCount) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_comboBox, maxCount) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_comboBox, count) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_comboBox, current) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_comboBox, currentItem) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_comboBox, setEditable); +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_comboBox, editable) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_comboBox, setEditText) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_comboBox, textAt) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_comboBox, textLineEdit) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_comboBox, setTextLineEdit) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_comboBox, setCurrentItem) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_comboBox, popup) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_comboBox, setInsertionPolicy) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_comboBox, textChangedEvent) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_comboBox, activatedEvent) KVSO_END_REGISTERCLASS(KvsObject_comboBox) -KVSO_BEGIN_CONSTRUCTOR(KvsObject_comboBox,KvsObject_widget) +KVSO_BEGIN_CONSTRUCTOR(KvsObject_comboBox, KvsObject_widget) KVSO_END_CONSTRUCTOR(KvsObject_comboBox) - KVSO_BEGIN_DESTRUCTOR(KvsObject_comboBox) KVSO_END_CONSTRUCTOR(KvsObject_comboBox) -bool KvsObject_comboBox::init(KviKvsRunTimeContext *,KviKvsVariantList *) +bool KvsObject_comboBox::init(KviKvsRunTimeContext *, KviKvsVariantList *) { SET_OBJECT(QComboBox); - connect (((QComboBox *)widget()),SIGNAL(activated( int )),this,SLOT(slotActivated( int ))); - connect (((QComboBox *)widget()),SIGNAL(editTextChanged(const QString & )),this,SLOT(editTextChanged(const QString & ))); + connect(((QComboBox *)widget()), SIGNAL(activated(int)), this, SLOT(slotActivated(int))); + connect(((QComboBox *)widget()), SIGNAL(editTextChanged(const QString &)), this, SLOT(editTextChanged(const QString &))); return true; } -KVSO_CLASS_FUNCTION(comboBox,insertItem) +KVSO_CLASS_FUNCTION(comboBox, insertItem) { CHECK_INTERNAL_POINTER(widget()) kvs_int_t iIndex; QString szItem; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("item",KVS_PT_STRING,0,szItem) - KVSO_PARAMETER("index",KVS_PT_INT,KVS_PF_OPTIONAL,iIndex) + KVSO_PARAMETER("item", KVS_PT_STRING, 0, szItem) + KVSO_PARAMETER("index", KVS_PT_INT, KVS_PF_OPTIONAL, iIndex) KVSO_PARAMETERS_END(c) - if(c->paramCount()==1) + if(c->paramCount() == 1) ((QComboBox *)widget())->addItem(szItem); else - ((QComboBox *)widget())->insertItem( iIndex,szItem); + ((QComboBox *)widget())->insertItem(iIndex, szItem); return true; } -KVSO_CLASS_FUNCTION(comboBox,clear) +KVSO_CLASS_FUNCTION(comboBox, clear) { CHECK_INTERNAL_POINTER(widget()) ((QComboBox *)widget())->clear(); return true; } -KVSO_CLASS_FUNCTION(comboBox,changeItem) +KVSO_CLASS_FUNCTION(comboBox, changeItem) { CHECK_INTERNAL_POINTER(widget()) - kvs_uint_t uIndex,cnt; + kvs_uint_t uIndex, cnt; QString szText; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("text",KVS_PT_STRING,0,szText) - KVSO_PARAMETER("index",KVS_PT_UNSIGNEDINTEGER,0,uIndex) + KVSO_PARAMETER("text", KVS_PT_STRING, 0, szText) + KVSO_PARAMETER("index", KVS_PT_UNSIGNEDINTEGER, 0, uIndex) KVSO_PARAMETERS_END(c) - if (szText.isEmpty()) c->warning(__tr2qs_ctx("No string parameter given - using empty string","objects")); + if(szText.isEmpty()) + c->warning(__tr2qs_ctx("No string parameter given - using empty string", "objects")); if(uIndex >= (cnt = ((QComboBox *)widget())->count())) { - c->warning(__tr2qs_ctx("Item index [%d] is too big - defaulting to " \ - "$count() - 1 [%d]","objects"), uIndex, cnt); + c->warning(__tr2qs_ctx("Item index [%d] is too big - defaulting to " + "$count() - 1 [%d]", + "objects"), + uIndex, cnt); uIndex = cnt - 1; } - ((QComboBox *)widget())->setItemText( uIndex,szText); + ((QComboBox *)widget())->setItemText(uIndex, szText); return true; - } -KVSO_CLASS_FUNCTION(comboBox,removeItem) +KVSO_CLASS_FUNCTION(comboBox, removeItem) { CHECK_INTERNAL_POINTER(widget()) - kvs_uint_t uIndex,cnt; + kvs_uint_t uIndex, cnt; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("index",KVS_PT_UNSIGNEDINTEGER,0,uIndex) + KVSO_PARAMETER("index", KVS_PT_UNSIGNEDINTEGER, 0, uIndex) KVSO_PARAMETERS_END(c) if(uIndex >= (cnt = ((QComboBox *)widget())->count())) { - c->warning(__tr2qs_ctx("Item index [%d] is too big - defaulting to " \ - "$count() - 1 [%d]","objects"), uIndex, cnt); + c->warning(__tr2qs_ctx("Item index [%d] is too big - defaulting to " + "$count() - 1 [%d]", + "objects"), + uIndex, cnt); uIndex = cnt - 1; } ((QComboBox *)widget())->removeItem(uIndex); return true; - } -KVSO_CLASS_FUNCTION(comboBox,setMaxCount) +KVSO_CLASS_FUNCTION(comboBox, setMaxCount) { CHECK_INTERNAL_POINTER(widget()) kvs_uint_t iMax; QString szText; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("count",KVS_PT_UNSIGNEDINTEGER,0,iMax) + KVSO_PARAMETER("count", KVS_PT_UNSIGNEDINTEGER, 0, iMax) KVSO_PARAMETERS_END(c) ((QComboBox *)widget())->setMaxCount(iMax); return true; } -KVSO_CLASS_FUNCTION(comboBox,maxCount) +KVSO_CLASS_FUNCTION(comboBox, maxCount) { CHECK_INTERNAL_POINTER(widget()) c->returnValue()->setInteger(((QComboBox *)widget())->maxCount()); return true; } -KVSO_CLASS_FUNCTION(comboBox,count) +KVSO_CLASS_FUNCTION(comboBox, count) { CHECK_INTERNAL_POINTER(widget()) c->returnValue()->setInteger(((QComboBox *)widget())->count()); return true; } -KVSO_CLASS_FUNCTION(comboBox,current) +KVSO_CLASS_FUNCTION(comboBox, current) { CHECK_INTERNAL_POINTER(widget()) c->returnValue()->setString(((QComboBox *)widget())->currentText()); return true; } -KVSO_CLASS_FUNCTION(comboBox,currentItem) +KVSO_CLASS_FUNCTION(comboBox, currentItem) { CHECK_INTERNAL_POINTER(widget()) c->returnValue()->setInteger(((QComboBox *)widget())->currentIndex()); return true; } -KVSO_CLASS_FUNCTION(comboBox,textLineEdit) +KVSO_CLASS_FUNCTION(comboBox, textLineEdit) { CHECK_INTERNAL_POINTER(widget()) c->returnValue()->setString(((QComboBox *)widget())->lineEdit()->text()); return true; } -KVSO_CLASS_FUNCTION(comboBox,setEditable) +KVSO_CLASS_FUNCTION(comboBox, setEditable) { CHECK_INTERNAL_POINTER(widget()) bool bFlag; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("bflag",KVS_PT_BOOLEAN,0,bFlag) + KVSO_PARAMETER("bflag", KVS_PT_BOOLEAN, 0, bFlag) KVSO_PARAMETERS_END(c) ((QComboBox *)widget())->setEditable(bFlag); return true; } -KVSO_CLASS_FUNCTION(comboBox,setTextLineEdit) +KVSO_CLASS_FUNCTION(comboBox, setTextLineEdit) { CHECK_INTERNAL_POINTER(widget()) QString szText; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("text",KVS_PT_STRING,0,szText) + KVSO_PARAMETER("text", KVS_PT_STRING, 0, szText) KVSO_PARAMETERS_END(c) ((QComboBox *)widget())->lineEdit()->setText(szText); return true; } -KVSO_CLASS_FUNCTION(comboBox,editable) +KVSO_CLASS_FUNCTION(comboBox, editable) { CHECK_INTERNAL_POINTER(widget()) c->returnValue()->setBoolean(((QComboBox *)widget())->isEditable()); return true; } -KVSO_CLASS_FUNCTION(comboBox,setEditText) +KVSO_CLASS_FUNCTION(comboBox, setEditText) { CHECK_INTERNAL_POINTER(widget()) QString szText; - bool bQuiet=false; + bool bQuiet = false; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("text",KVS_PT_STRING,0,szText) - KVSO_PARAMETER("quiet",KVS_PT_BOOLEAN,KVS_PF_OPTIONAL,bQuiet) + KVSO_PARAMETER("text", KVS_PT_STRING, 0, szText) + KVSO_PARAMETER("quiet", KVS_PT_BOOLEAN, KVS_PF_OPTIONAL, bQuiet) KVSO_PARAMETERS_END(c) - if (szText.isEmpty() && !bQuiet) c->warning(__tr2qs_ctx("No string parameter given - using empty string","objects")); + if(szText.isEmpty() && !bQuiet) + c->warning(__tr2qs_ctx("No string parameter given - using empty string", "objects")); ((QComboBox *)widget())->setEditText(szText); return true; } -KVSO_CLASS_FUNCTION(comboBox,textAt) +KVSO_CLASS_FUNCTION(comboBox, textAt) { CHECK_INTERNAL_POINTER(widget()) kvs_uint_t uIndex; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("index",KVS_PT_UNSIGNEDINTEGER,0,uIndex) + KVSO_PARAMETER("index", KVS_PT_UNSIGNEDINTEGER, 0, uIndex) KVSO_PARAMETERS_END(c) c->returnValue()->setString(((QComboBox *)widget())->itemText(uIndex)); return true; } -KVSO_CLASS_FUNCTION(comboBox,setCurrentItem) +KVSO_CLASS_FUNCTION(comboBox, setCurrentItem) { CHECK_INTERNAL_POINTER(widget()) kvs_uint_t uIndex; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("index",KVS_PT_UNSIGNEDINTEGER,0,uIndex) + KVSO_PARAMETER("index", KVS_PT_UNSIGNEDINTEGER, 0, uIndex) KVSO_PARAMETERS_END(c) ((QComboBox *)widget())->setCurrentIndex(uIndex); return true; } -KVSO_CLASS_FUNCTION(comboBox,popup) +KVSO_CLASS_FUNCTION(comboBox, popup) { Q_UNUSED(c); if(widget()) - ((QComboBox *)widget())->showPopup(); + ((QComboBox *)widget())->showPopup(); return true; } -KVSO_CLASS_FUNCTION(comboBox,setInsertionPolicy) +KVSO_CLASS_FUNCTION(comboBox, setInsertionPolicy) { CHECK_INTERNAL_POINTER(widget()) QString szPolicy; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("policy",KVS_PT_STRING,0,szPolicy) + KVSO_PARAMETER("policy", KVS_PT_STRING, 0, szPolicy) KVSO_PARAMETERS_END(c) - if(KviQString::equalCI(szPolicy,"NoInsertion")) - ((QComboBox *)widget())->setInsertPolicy(QComboBox::NoInsert); - else if(KviQString::equalCI(szPolicy,"AtTop")) - ((QComboBox *)widget())->setInsertPolicy(QComboBox::InsertAtTop); - else if(KviQString::equalCI(szPolicy,"AtBotton")) - ((QComboBox *)widget())->setInsertPolicy(QComboBox::InsertAtBottom); - else if(KviQString::equalCI(szPolicy,"AtCurrent")) - ((QComboBox *)widget())->setInsertPolicy(QComboBox::InsertAtCurrent); - else if(KviQString::equalCI(szPolicy,"AfterCurrent")) - ((QComboBox *)widget())->setInsertPolicy(QComboBox::InsertAfterCurrent); - else if(KviQString::equalCI(szPolicy,"BeforeCurrent")) - ((QComboBox *)widget())->setInsertPolicy(QComboBox::InsertBeforeCurrent); - else c->warning(__tr2qs_ctx("Invalid insertion policy '%Q'","objects"),&szPolicy); + if(KviQString::equalCI(szPolicy, "NoInsertion")) + ((QComboBox *)widget())->setInsertPolicy(QComboBox::NoInsert); + else if(KviQString::equalCI(szPolicy, "AtTop")) + ((QComboBox *)widget())->setInsertPolicy(QComboBox::InsertAtTop); + else if(KviQString::equalCI(szPolicy, "AtBotton")) + ((QComboBox *)widget())->setInsertPolicy(QComboBox::InsertAtBottom); + else if(KviQString::equalCI(szPolicy, "AtCurrent")) + ((QComboBox *)widget())->setInsertPolicy(QComboBox::InsertAtCurrent); + else if(KviQString::equalCI(szPolicy, "AfterCurrent")) + ((QComboBox *)widget())->setInsertPolicy(QComboBox::InsertAfterCurrent); + else if(KviQString::equalCI(szPolicy, "BeforeCurrent")) + ((QComboBox *)widget())->setInsertPolicy(QComboBox::InsertBeforeCurrent); + else + c->warning(__tr2qs_ctx("Invalid insertion policy '%Q'", "objects"), &szPolicy); return true; } -KVSO_CLASS_FUNCTION(comboBox,textChangedEvent) +KVSO_CLASS_FUNCTION(comboBox, textChangedEvent) { - emitSignal("textChanged",c,c->params()); + emitSignal("textChanged", c, c->params()); return true; } - - -KVSO_CLASS_FUNCTION(comboBox,activatedEvent) +KVSO_CLASS_FUNCTION(comboBox, activatedEvent) { - emitSignal("activated",c,c->params()); + emitSignal("activated", c, c->params()); return true; } //slots -void KvsObject_comboBox::editTextChanged(const QString &text) +void KvsObject_comboBox::editTextChanged(const QString & text) { KviKvsVariantList params(new KviKvsVariant(text)); - callFunction(this,"textChangedEvent",¶ms); + callFunction(this, "textChangedEvent", ¶ms); } void KvsObject_comboBox::slotActivated(int i) { KviKvsVariantList params(new KviKvsVariant((kvs_int_t)i)); - callFunction(this,"activatedEvent",¶ms); + callFunction(this, "activatedEvent", ¶ms); } diff --git a/src/modules/objects/KvsObject_comboBox.h b/src/modules/objects/KvsObject_comboBox.h index ed3133232..22af362cd 100644 --- a/src/modules/objects/KvsObject_comboBox.h +++ b/src/modules/objects/KvsObject_comboBox.h @@ -1,5 +1,5 @@ -#ifndef _CLASS_COMBOBOX_H_ -#define _CLASS_COMBOBOX_H_ +#ifndef _CLASS_COMBOBOX_H_ +#define _CLASS_COMBOBOX_H_ //============================================================================= // @@ -26,7 +26,6 @@ // //============================================================================= - #include #include "KvsObject_widget.h" #include "object_macros.h" @@ -39,36 +38,36 @@ public: public: QWidget * widget() { return (QWidget *)object(); }; protected: - virtual bool init(KviKvsRunTimeContext * pContext,KviKvsVariantList *pParams); + virtual bool init(KviKvsRunTimeContext * pContext, KviKvsVariantList * pParams); - bool insertItem(KviKvsObjectFunctionCall *c); - bool changeItem(KviKvsObjectFunctionCall *c); - bool removeItem(KviKvsObjectFunctionCall *c); - bool clear(KviKvsObjectFunctionCall *c); -//#warning "$insertPixItem" -//#warning "$changePixItem" + bool insertItem(KviKvsObjectFunctionCall * c); + bool changeItem(KviKvsObjectFunctionCall * c); + bool removeItem(KviKvsObjectFunctionCall * c); + bool clear(KviKvsObjectFunctionCall * c); + //#warning "$insertPixItem" + //#warning "$changePixItem" - bool count(KviKvsObjectFunctionCall *c); - bool setMaxCount(KviKvsObjectFunctionCall *c); - bool maxCount(KviKvsObjectFunctionCall *c); - bool current(KviKvsObjectFunctionCall *c); - bool currentItem(KviKvsObjectFunctionCall *c); - bool setEditable(KviKvsObjectFunctionCall *c); - bool editable(KviKvsObjectFunctionCall *c); - bool setEditText(KviKvsObjectFunctionCall *c); - bool textAt(KviKvsObjectFunctionCall *c); - bool textLineEdit(KviKvsObjectFunctionCall *c); - bool setTextLineEdit(KviKvsObjectFunctionCall *c); + bool count(KviKvsObjectFunctionCall * c); + bool setMaxCount(KviKvsObjectFunctionCall * c); + bool maxCount(KviKvsObjectFunctionCall * c); + bool current(KviKvsObjectFunctionCall * c); + bool currentItem(KviKvsObjectFunctionCall * c); + bool setEditable(KviKvsObjectFunctionCall * c); + bool editable(KviKvsObjectFunctionCall * c); + bool setEditText(KviKvsObjectFunctionCall * c); + bool textAt(KviKvsObjectFunctionCall * c); + bool textLineEdit(KviKvsObjectFunctionCall * c); + bool setTextLineEdit(KviKvsObjectFunctionCall * c); - bool setInsertionPolicy(KviKvsObjectFunctionCall *c); + bool setInsertionPolicy(KviKvsObjectFunctionCall * c); - bool setCurrentItem(KviKvsObjectFunctionCall *c); - bool popup(KviKvsObjectFunctionCall *c); - bool textChangedEvent(KviKvsObjectFunctionCall *c); - bool activatedEvent(KviKvsObjectFunctionCall *c); + bool setCurrentItem(KviKvsObjectFunctionCall * c); + bool popup(KviKvsObjectFunctionCall * c); + bool textChangedEvent(KviKvsObjectFunctionCall * c); + bool activatedEvent(KviKvsObjectFunctionCall * c); protected slots: void editTextChanged(const QString &); void slotActivated(int); }; -#endif // !_CLASS_COMBOBOX_H_ +#endif // !_CLASS_COMBOBOX_H_ diff --git a/src/modules/objects/KvsObject_dateTimeEdit.cpp b/src/modules/objects/KvsObject_dateTimeEdit.cpp index d81692d2e..f4c7044ea 100644 --- a/src/modules/objects/KvsObject_dateTimeEdit.cpp +++ b/src/modules/objects/KvsObject_dateTimeEdit.cpp @@ -76,91 +76,90 @@ Returns the widget time according to format. */ -KVSO_BEGIN_REGISTERCLASS(KvsObject_dateTimeEdit,"datetimeedit","widget") +KVSO_BEGIN_REGISTERCLASS(KvsObject_dateTimeEdit, "datetimeedit", "widget") - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_dateTimeEdit,date) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_dateTimeEdit,setDate) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_dateTimeEdit,setTime) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_dateTimeEdit,time) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_dateTimeEdit, date) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_dateTimeEdit, setDate) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_dateTimeEdit, setTime) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_dateTimeEdit, time) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_dateTimeEdit,timeChangedEvent) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_dateTimeEdit,dateTimeChangedEvent) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_dateTimeEdit,dateChangedEvent) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_dateTimeEdit, timeChangedEvent) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_dateTimeEdit, dateTimeChangedEvent) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_dateTimeEdit, dateChangedEvent) KVSO_END_REGISTERCLASS(KvsObject_dateTimeEdit) -KVSO_BEGIN_CONSTRUCTOR(KvsObject_dateTimeEdit,KvsObject_widget) +KVSO_BEGIN_CONSTRUCTOR(KvsObject_dateTimeEdit, KvsObject_widget) KVSO_END_CONSTRUCTOR(KvsObject_dateTimeEdit) - KVSO_BEGIN_DESTRUCTOR(KvsObject_dateTimeEdit) KVSO_END_DESTRUCTOR(KvsObject_dateTimeEdit) -bool KvsObject_dateTimeEdit::init(KviKvsRunTimeContext *,KviKvsVariantList *) +bool KvsObject_dateTimeEdit::init(KviKvsRunTimeContext *, KviKvsVariantList *) { - QDateTimeEdit *obj=new QDateTimeEdit(QDate::currentDate(),parentScriptWidget()); + QDateTimeEdit * obj = new QDateTimeEdit(QDate::currentDate(), parentScriptWidget()); obj->setObjectName(getName()); - connect(obj,SIGNAL(dateChanged(const QDate &)),this,SLOT(slotDateChanged(const QDate &))); - connect(obj,SIGNAL(dateTimeChanged(const QDateTime & )),this,SLOT(slotDateTimeChanged(const QDateTime &))); - connect(obj,SIGNAL(timeChanged(const QTime &)),this,SLOT(slotTimeChanged(const QTime &))); + connect(obj, SIGNAL(dateChanged(const QDate &)), this, SLOT(slotDateChanged(const QDate &))); + connect(obj, SIGNAL(dateTimeChanged(const QDateTime &)), this, SLOT(slotDateTimeChanged(const QDateTime &))); + connect(obj, SIGNAL(timeChanged(const QTime &)), this, SLOT(slotTimeChanged(const QTime &))); - setObject(obj,true); + setObject(obj, true); return true; } -KVSO_CLASS_FUNCTION(dateTimeEdit,date) +KVSO_CLASS_FUNCTION(dateTimeEdit, date) { CHECK_INTERNAL_POINTER(widget()) QString szFormat; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("format",KVS_PT_STRING,0,szFormat) + KVSO_PARAMETER("format", KVS_PT_STRING, 0, szFormat) KVSO_PARAMETERS_END(c) c->returnValue()->setString(((QDateTimeEdit *)widget())->date().toString(szFormat)); return true; } -KVSO_CLASS_FUNCTION(dateTimeEdit,setDate) +KVSO_CLASS_FUNCTION(dateTimeEdit, setDate) { CHECK_INTERNAL_POINTER(widget()) - QString szFormat,szDate; + QString szFormat, szDate; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("format",KVS_PT_STRING,0,szFormat) - KVSO_PARAMETER("date",KVS_PT_STRING,0,szDate) + KVSO_PARAMETER("format", KVS_PT_STRING, 0, szFormat) + KVSO_PARAMETER("date", KVS_PT_STRING, 0, szDate) KVSO_PARAMETERS_END(c) QDate date; - date=date.fromString(szDate,szFormat); + date = date.fromString(szDate, szFormat); ((QDateTimeEdit *)widget())->setDate(date); return true; } -KVSO_CLASS_FUNCTION(dateTimeEdit,time) +KVSO_CLASS_FUNCTION(dateTimeEdit, time) { CHECK_INTERNAL_POINTER(widget()) QString szFormat; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("format",KVS_PT_STRING,0,szFormat) + KVSO_PARAMETER("format", KVS_PT_STRING, 0, szFormat) KVSO_PARAMETERS_END(c) c->returnValue()->setString(((QDateTimeEdit *)widget())->time().toString(szFormat)); return true; } -KVSO_CLASS_FUNCTION(dateTimeEdit,setTime) +KVSO_CLASS_FUNCTION(dateTimeEdit, setTime) { CHECK_INTERNAL_POINTER(widget()) - QString szFormat,szTime; + QString szFormat, szTime; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("format",KVS_PT_STRING,0,szFormat) - KVSO_PARAMETER("date",KVS_PT_STRING,0,szTime) + KVSO_PARAMETER("format", KVS_PT_STRING, 0, szFormat) + KVSO_PARAMETER("date", KVS_PT_STRING, 0, szTime) KVSO_PARAMETERS_END(c) QTime time; - time=time.fromString(szTime,szFormat); + time = time.fromString(szTime, szFormat); ((QDateTimeEdit *)widget())->setTime(time); return true; } @@ -168,41 +167,38 @@ KVSO_CLASS_FUNCTION(dateTimeEdit,setTime) // slots void KvsObject_dateTimeEdit::slotDateTimeChanged(const QDateTime &) { - KviKvsVariantList *params=0; - callFunction(this,"dateTimeChangedEvent",params); + KviKvsVariantList * params = 0; + callFunction(this, "dateTimeChangedEvent", params); } - -KVSO_CLASS_FUNCTION(dateTimeEdit,dateTimeChangedEvent) +KVSO_CLASS_FUNCTION(dateTimeEdit, dateTimeChangedEvent) { - emitSignal("dateTimeChanged",c); + emitSignal("dateTimeChanged", c); return true; } - - -KVSO_CLASS_FUNCTION(dateTimeEdit,timeChangedEvent) +KVSO_CLASS_FUNCTION(dateTimeEdit, timeChangedEvent) { - emitSignal("timeChanged",c); + emitSignal("timeChanged", c); return true; } // slots void KvsObject_dateTimeEdit::slotTimeChanged(const QTime &) { - KviKvsVariantList *params=0; - callFunction(this,"timeChangedEvent",params); + KviKvsVariantList * params = 0; + callFunction(this, "timeChangedEvent", params); } -KVSO_CLASS_FUNCTION(dateTimeEdit,dateChangedEvent) +KVSO_CLASS_FUNCTION(dateTimeEdit, dateChangedEvent) { - emitSignal("dateChanged",c); + emitSignal("dateChanged", c); return true; } // slots void KvsObject_dateTimeEdit::slotDateChanged(const QDate &) { - KviKvsVariantList *params=0; - callFunction(this,"dateChangedEvent",params); + KviKvsVariantList * params = 0; + callFunction(this, "dateChangedEvent", params); } diff --git a/src/modules/objects/KvsObject_dateTimeEdit.h b/src/modules/objects/KvsObject_dateTimeEdit.h index 7ea89ef58..f10340900 100644 --- a/src/modules/objects/KvsObject_dateTimeEdit.h +++ b/src/modules/objects/KvsObject_dateTimeEdit.h @@ -24,8 +24,6 @@ // //============================================================================= - - #include "KvsObject_widget.h" #include "object_macros.h" @@ -41,16 +39,16 @@ public: public: QWidget * widget() { return (QWidget *)object(); }; protected: - virtual bool init(KviKvsRunTimeContext * pContext,KviKvsVariantList *pParams); + virtual bool init(KviKvsRunTimeContext * pContext, KviKvsVariantList * pParams); - bool date(KviKvsObjectFunctionCall *c); - bool setDate(KviKvsObjectFunctionCall *c); - bool time(KviKvsObjectFunctionCall *c); - bool setTime(KviKvsObjectFunctionCall *c); + bool date(KviKvsObjectFunctionCall * c); + bool setDate(KviKvsObjectFunctionCall * c); + bool time(KviKvsObjectFunctionCall * c); + bool setTime(KviKvsObjectFunctionCall * c); - bool timeChangedEvent(KviKvsObjectFunctionCall *c); - bool dateTimeChangedEvent(KviKvsObjectFunctionCall *c); - bool dateChangedEvent(KviKvsObjectFunctionCall *c); + bool timeChangedEvent(KviKvsObjectFunctionCall * c); + bool dateTimeChangedEvent(KviKvsObjectFunctionCall * c); + bool dateChangedEvent(KviKvsObjectFunctionCall * c); protected slots: void slotDateTimeChanged(const QDateTime &); @@ -58,4 +56,4 @@ protected slots: void slotTimeChanged(const QTime &); }; -#endif // !_CLASS_datetimeedit_H_ +#endif // !_CLASS_datetimeedit_H_ diff --git a/src/modules/objects/KvsObject_dialog.cpp b/src/modules/objects/KvsObject_dialog.cpp index afda7bb4a..9205eb722 100644 --- a/src/modules/objects/KvsObject_dialog.cpp +++ b/src/modules/objects/KvsObject_dialog.cpp @@ -31,7 +31,6 @@ #include - /* @doc: dialog @title: @@ -54,35 +53,35 @@ @functions: */ -KVSO_BEGIN_REGISTERCLASS(KvsObject_dialog,"dialog","widget") - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_dialog,setModal) +KVSO_BEGIN_REGISTERCLASS(KvsObject_dialog, "dialog", "widget") +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_dialog, setModal) KVSO_END_REGISTERCLASS(KvsObject_dialog) -KVSO_BEGIN_CONSTRUCTOR(KvsObject_dialog,KvsObject_widget) +KVSO_BEGIN_CONSTRUCTOR(KvsObject_dialog, KvsObject_widget) KVSO_END_CONSTRUCTOR(KvsObject_dialog) - KVSO_BEGIN_DESTRUCTOR(KvsObject_dialog) KVSO_END_CONSTRUCTOR(KvsObject_dialog) -bool KvsObject_dialog::init(KviKvsRunTimeContext *,KviKvsVariantList *) +bool KvsObject_dialog::init(KviKvsRunTimeContext *, KviKvsVariantList *) { QWidget * w = g_pApp->activeModalWidget(); - if(!w)w = g_pMainWindow; + if(!w) + w = g_pMainWindow; QDialog * d = new QDialog(parentScriptWidget() ? parentScriptWidget() : w); d->setObjectName(getName()); //d->setModal(true); setObject(d); return true; } -KVSO_CLASS_FUNCTION(dialog,setModal) +KVSO_CLASS_FUNCTION(dialog, setModal) { CHECK_INTERNAL_POINTER(widget()) bool bEnabled; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("bEnabled",KVS_PT_BOOL,0,bEnabled) + KVSO_PARAMETER("bEnabled", KVS_PT_BOOL, 0, bEnabled) KVSO_PARAMETERS_END(c) ((QDialog *)widget())->setModal(bEnabled); return true; diff --git a/src/modules/objects/KvsObject_dialog.h b/src/modules/objects/KvsObject_dialog.h index 6c99d0cd8..14c2b668c 100644 --- a/src/modules/objects/KvsObject_dialog.h +++ b/src/modules/objects/KvsObject_dialog.h @@ -35,8 +35,8 @@ public: public: QWidget * widget() { return (QWidget *)object(); }; protected: - virtual bool init(KviKvsRunTimeContext * pContext,KviKvsVariantList *pParams); - bool setModal(KviKvsObjectFunctionCall *c); + virtual bool init(KviKvsRunTimeContext * pContext, KviKvsVariantList * pParams); + bool setModal(KviKvsObjectFunctionCall * c); }; #endif // !_CLASS_DIALOG_H_ diff --git a/src/modules/objects/KvsObject_dockWindow.cpp b/src/modules/objects/KvsObject_dockWindow.cpp index 02b0545e8..66fe4a5f4 100644 --- a/src/modules/objects/KvsObject_dockWindow.cpp +++ b/src/modules/objects/KvsObject_dockWindow.cpp @@ -59,23 +59,21 @@ Docks this dock window to the specified dockarea of the main KVIrc window which can be one of "l" (left dock area), "t" (top dock area), "r" (right dock area), "b" (bottom dock area), "f" (floating) and "m" (minimized). */ -KVSO_BEGIN_REGISTERCLASS(KvsObject_dockWindow,"dockwindow","widget") - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_dockWindow,addWidget) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_dockWindow,setAllowedDockAreas) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_dockWindow,dock) +KVSO_BEGIN_REGISTERCLASS(KvsObject_dockWindow, "dockwindow", "widget") +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_dockWindow, addWidget) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_dockWindow, setAllowedDockAreas) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_dockWindow, dock) KVSO_END_REGISTERCLASS(KvsObject_dockWindow) - -KVSO_BEGIN_CONSTRUCTOR(KvsObject_dockWindow,KvsObject_widget) +KVSO_BEGIN_CONSTRUCTOR(KvsObject_dockWindow, KvsObject_widget) KVSO_END_CONSTRUCTOR(KvsObject_dockWindow) - KVSO_BEGIN_DESTRUCTOR(KvsObject_dockWindow) KVSO_END_DESTRUCTOR(KvsObject_dockWindow) #define _pDockWindow ((QDockWidget *)widget()) -bool KvsObject_dockWindow::init(KviKvsRunTimeContext *,KviKvsVariantList *) +bool KvsObject_dockWindow::init(KviKvsRunTimeContext *, KviKvsVariantList *) { QDockWidget * pWidget = new QDockWidget(g_pMainWindow); pWidget->setObjectName(getName()); @@ -83,94 +81,99 @@ bool KvsObject_dockWindow::init(KviKvsRunTimeContext *,KviKvsVariantList *) return true; } -KVSO_CLASS_FUNCTION(dockWindow,addWidget) +KVSO_CLASS_FUNCTION(dockWindow, addWidget) { CHECK_INTERNAL_POINTER(widget()) kvs_hobject_t hWidget; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("widget",KVS_PT_HOBJECT,0,hWidget) + KVSO_PARAMETER("widget", KVS_PT_HOBJECT, 0, hWidget) KVSO_PARAMETERS_END(c) if(hWidget == (kvs_hobject_t)0) { // null widget ? - c->warning(__tr2qs_ctx("Can't add a null object","objects")); + c->warning(__tr2qs_ctx("Can't add a null object", "objects")); return true; } KviKvsObject * pWidget = KviKvsKernel::instance()->objectController()->lookupObject(hWidget); if(!pWidget) { - c->warning(__tr2qs_ctx("Invalid object handle passed as parameter (the object no longer exists?)","objects")); + c->warning(__tr2qs_ctx("Invalid object handle passed as parameter (the object no longer exists?)", "objects")); return true; } if(!pWidget->object()) { - c->warning(__tr2qs_ctx("Object in invalid state","objects")); + c->warning(__tr2qs_ctx("Object in invalid state", "objects")); return true; } if(!pWidget->object()->isWidgetType()) { - c->warning(__tr2qs_ctx("Can't set a non-widget object to be the main widget of a dock window","objects")); + c->warning(__tr2qs_ctx("Can't set a non-widget object to be the main widget of a dock window", "objects")); return true; } if(((QWidget *)(pWidget->object()))->parent() != (QObject *)_pDockWindow) { - c->warning(__tr2qs_ctx("The added widget is not a child of this dock window","objects")); + c->warning(__tr2qs_ctx("The added widget is not a child of this dock window", "objects")); } _pDockWindow->setWidget((QWidget *)(pWidget->object())); return true; } - -KVSO_CLASS_FUNCTION(dockWindow,setAllowedDockAreas) +KVSO_CLASS_FUNCTION(dockWindow, setAllowedDockAreas) { CHECK_INTERNAL_POINTER(widget()) QString szFlags; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("docks",KVS_PT_STRING,0,szFlags) + KVSO_PARAMETER("docks", KVS_PT_STRING, 0, szFlags) KVSO_PARAMETERS_END(c) Qt::DockWidgetAreas fAreas = Qt::NoDockWidgetArea; - if(szFlags.indexOf('t',Qt::CaseInsensitive) >= 0) + if(szFlags.indexOf('t', Qt::CaseInsensitive) >= 0) fAreas |= Qt::TopDockWidgetArea; - if(szFlags.indexOf('l',Qt::CaseInsensitive) >= 0) + if(szFlags.indexOf('l', Qt::CaseInsensitive) >= 0) fAreas |= Qt::LeftDockWidgetArea; - if(szFlags.indexOf('r',Qt::CaseInsensitive) >= 0) + if(szFlags.indexOf('r', Qt::CaseInsensitive) >= 0) fAreas |= Qt::RightDockWidgetArea; - if(szFlags.indexOf('b',Qt::CaseInsensitive) >= 0) + if(szFlags.indexOf('b', Qt::CaseInsensitive) >= 0) fAreas |= Qt::BottomDockWidgetArea; _pDockWindow->setAllowedAreas(fAreas); QDockWidget::DockWidgetFeatures fFeatures = _pDockWindow->features(); - if(szFlags.indexOf('f',Qt::CaseInsensitive)) + if(szFlags.indexOf('f', Qt::CaseInsensitive)) fFeatures |= QDockWidget::DockWidgetFloatable; else fFeatures &= ~QDockWidget::DockWidgetFloatable; // no support for minimized dock widgets _pDockWindow->setFeatures(fFeatures); - return true; } - -KVSO_CLASS_FUNCTION(dockWindow,dock) +KVSO_CLASS_FUNCTION(dockWindow, dock) { CHECK_INTERNAL_POINTER(widget()) QString szDock; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("dock",KVS_PT_STRING,0,szDock) + KVSO_PARAMETER("dock", KVS_PT_STRING, 0, szDock) KVSO_PARAMETERS_END(c) g_pMainWindow->removeDockWidget(_pDockWindow); - if(szDock.indexOf('m',Qt::CaseInsensitive) == -1)_pDockWindow->setFloating(false); - if(szDock.indexOf('t',Qt::CaseInsensitive) != -1)g_pMainWindow->addDockWidget(Qt::TopDockWidgetArea,_pDockWindow); - else if(szDock.indexOf('l',Qt::CaseInsensitive) != -1)g_pMainWindow->addDockWidget(Qt::LeftDockWidgetArea,_pDockWindow); - else if(szDock.indexOf('r',Qt::CaseInsensitive) != -1)g_pMainWindow->addDockWidget(Qt::RightDockWidgetArea,_pDockWindow); - else if(szDock.indexOf('b',Qt::CaseInsensitive) != -1)g_pMainWindow->addDockWidget(Qt::BottomDockWidgetArea,_pDockWindow); - else if(szDock.indexOf('f',Qt::CaseInsensitive) != -1)_pDockWindow->setFloating(true); - else if(szDock.indexOf('m',Qt::CaseInsensitive) != -1)qDebug("Sorry: no support for minimized dock widgets in Qt4"); - else c->warning(__tr2qs_ctx("Invalid dock area specified","objects")); + if(szDock.indexOf('m', Qt::CaseInsensitive) == -1) + _pDockWindow->setFloating(false); + if(szDock.indexOf('t', Qt::CaseInsensitive) != -1) + g_pMainWindow->addDockWidget(Qt::TopDockWidgetArea, _pDockWindow); + else if(szDock.indexOf('l', Qt::CaseInsensitive) != -1) + g_pMainWindow->addDockWidget(Qt::LeftDockWidgetArea, _pDockWindow); + else if(szDock.indexOf('r', Qt::CaseInsensitive) != -1) + g_pMainWindow->addDockWidget(Qt::RightDockWidgetArea, _pDockWindow); + else if(szDock.indexOf('b', Qt::CaseInsensitive) != -1) + g_pMainWindow->addDockWidget(Qt::BottomDockWidgetArea, _pDockWindow); + else if(szDock.indexOf('f', Qt::CaseInsensitive) != -1) + _pDockWindow->setFloating(true); + else if(szDock.indexOf('m', Qt::CaseInsensitive) != -1) + qDebug("Sorry: no support for minimized dock widgets in Qt4"); + else + c->warning(__tr2qs_ctx("Invalid dock area specified", "objects")); return true; } diff --git a/src/modules/objects/KvsObject_dockWindow.h b/src/modules/objects/KvsObject_dockWindow.h index c94c36a2a..dab239f54 100644 --- a/src/modules/objects/KvsObject_dockWindow.h +++ b/src/modules/objects/KvsObject_dockWindow.h @@ -34,9 +34,9 @@ class KvsObject_dockWindow : public KvsObject_widget public: KVSO_DECLARE_OBJECT(KvsObject_dockWindow) protected: - virtual bool init(KviKvsRunTimeContext * pContext,KviKvsVariantList *pParams); + virtual bool init(KviKvsRunTimeContext * pContext, KviKvsVariantList * pParams); - bool addWidget(KviKvsObjectFunctionCall *c); + bool addWidget(KviKvsObjectFunctionCall * c); bool setAllowedDockAreas(KviKvsObjectFunctionCall * c); bool dock(KviKvsObjectFunctionCall * c); }; diff --git a/src/modules/objects/KvsObject_file.cpp b/src/modules/objects/KvsObject_file.cpp index e0542287a..098ef7d99 100644 --- a/src/modules/objects/KvsObject_file.cpp +++ b/src/modules/objects/KvsObject_file.cpp @@ -23,7 +23,6 @@ // //============================================================================= - #include "KvsObject_file.h" #include "kvi_debug.h" #include "KviLocale.h" @@ -36,8 +35,12 @@ //#include #include -#define CHECK_FILE_IS_OPEN if (!m_pFile->isOpen())\ - {c->warning(__tr2qs_ctx("File is not open!","objects"));return true;} +#define CHECK_FILE_IS_OPEN \ + if(!m_pFile->isOpen()) \ + { \ + c->warning(__tr2qs_ctx("File is not open!", "objects")); \ + return true; \ + } // needed for $open() @@ -59,7 +62,7 @@ const QIODevice::OpenMode mod_cod[] = { QIODevice::Truncate }; -#define mod_num (sizeof(mod_tbl) / sizeof(mod_tbl[0])) +#define mod_num (sizeof(mod_tbl) / sizeof(mod_tbl[0])) /* @doc: file @@ -149,119 +152,119 @@ const QIODevice::OpenMode mod_cod[] = { $writeBlock() */ -KVSO_BEGIN_REGISTERCLASS(KvsObject_file,"file","object") - KVSO_REGISTER_HANDLER(KvsObject_file,"setName",setName) - KVSO_REGISTER_HANDLER(KvsObject_file,"name",name) +KVSO_BEGIN_REGISTERCLASS(KvsObject_file, "file", "object") +KVSO_REGISTER_HANDLER(KvsObject_file, "setName", setName) +KVSO_REGISTER_HANDLER(KvsObject_file, "name", name) - KVSO_REGISTER_HANDLER(KvsObject_file,"open",open) - KVSO_REGISTER_HANDLER(KvsObject_file,"isOpen",isOpen) - KVSO_REGISTER_HANDLER(KvsObject_file,"close",close) - KVSO_REGISTER_HANDLER(KvsObject_file,"flush",flush) +KVSO_REGISTER_HANDLER(KvsObject_file, "open", open) +KVSO_REGISTER_HANDLER(KvsObject_file, "isOpen", isOpen) +KVSO_REGISTER_HANDLER(KvsObject_file, "close", close) +KVSO_REGISTER_HANDLER(KvsObject_file, "flush", flush) - KVSO_REGISTER_HANDLER(KvsObject_file,"size",size) - KVSO_REGISTER_HANDLER(KvsObject_file,"resize",resize) +KVSO_REGISTER_HANDLER(KvsObject_file, "size", size) +KVSO_REGISTER_HANDLER(KvsObject_file, "resize", resize) - KVSO_REGISTER_HANDLER(KvsObject_file,"atEnd",atEnd) - KVSO_REGISTER_HANDLER(KvsObject_file,"where",where) - KVSO_REGISTER_HANDLER(KvsObject_file,"seek",seek) +KVSO_REGISTER_HANDLER(KvsObject_file, "atEnd", atEnd) +KVSO_REGISTER_HANDLER(KvsObject_file, "where", where) +KVSO_REGISTER_HANDLER(KvsObject_file, "seek", seek) - KVSO_REGISTER_HANDLER(KvsObject_file,"putch",putch) - KVSO_REGISTER_HANDLER(KvsObject_file,"getch",getch) - KVSO_REGISTER_HANDLER(KvsObject_file,"ungetch",unGetch) - KVSO_REGISTER_HANDLER(KvsObject_file,"readByte",readByte) +KVSO_REGISTER_HANDLER(KvsObject_file, "putch", putch) +KVSO_REGISTER_HANDLER(KvsObject_file, "getch", getch) +KVSO_REGISTER_HANDLER(KvsObject_file, "ungetch", unGetch) +KVSO_REGISTER_HANDLER(KvsObject_file, "readByte", readByte) - KVSO_REGISTER_HANDLER(KvsObject_file,"readBlock",readBlock) - KVSO_REGISTER_HANDLER(KvsObject_file,"writeBlock", writeBlock) +KVSO_REGISTER_HANDLER(KvsObject_file, "readBlock", readBlock) +KVSO_REGISTER_HANDLER(KvsObject_file, "writeBlock", writeBlock) - KVSO_REGISTER_HANDLER(KvsObject_file,"readHexBlock",readHexBlock) - KVSO_REGISTER_HANDLER(KvsObject_file,"writeHexBlock",writeHexBlock) +KVSO_REGISTER_HANDLER(KvsObject_file, "readHexBlock", readHexBlock) +KVSO_REGISTER_HANDLER(KvsObject_file, "writeHexBlock", writeHexBlock) - KVSO_REGISTER_HANDLER(KvsObject_file,"readLine",readLine) - KVSO_REGISTER_HANDLER(KvsObject_file,"writeLine",writeLine) - - KVSO_REGISTER_HANDLER(KvsObject_file,"write",write) - KVSO_REGISTER_HANDLER(KvsObject_file,"read",read) +KVSO_REGISTER_HANDLER(KvsObject_file, "readLine", readLine) +KVSO_REGISTER_HANDLER(KvsObject_file, "writeLine", writeLine) +KVSO_REGISTER_HANDLER(KvsObject_file, "write", write) +KVSO_REGISTER_HANDLER(KvsObject_file, "read", read) KVSO_END_REGISTERCLASS(KvsObject_file) - -KVSO_BEGIN_CONSTRUCTOR(KvsObject_file,KvsObject_widget) - m_pFile = new KviFile(); +KVSO_BEGIN_CONSTRUCTOR(KvsObject_file, KvsObject_widget) +m_pFile = new KviFile(); KVSO_END_CONSTRUCTOR(KvsObject_file) KVSO_BEGIN_DESTRUCTOR(KvsObject_file) - if (m_pFile) delete m_pFile; +if(m_pFile) + delete m_pFile; KVSO_END_CONSTRUCTOR(KvsObject_file) -KVSO_CLASS_FUNCTION(file,setName) +KVSO_CLASS_FUNCTION(file, setName) { CHECK_INTERNAL_POINTER(m_pFile) QString szName; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("file_name",KVS_PT_STRING,0,szName) + KVSO_PARAMETER("file_name", KVS_PT_STRING, 0, szName) KVSO_PARAMETERS_END(c) m_pFile->setFileName(szName); return true; } -KVSO_CLASS_FUNCTION(file,name) +KVSO_CLASS_FUNCTION(file, name) { CHECK_INTERNAL_POINTER(m_pFile) c->returnValue()->setString(m_pFile->fileName()); return true; } -KVSO_CLASS_FUNCTION(file,open) +KVSO_CLASS_FUNCTION(file, open) { CHECK_INTERNAL_POINTER(m_pFile) QStringList modes; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("file_mode",KVS_PT_STRINGLIST,KVS_PF_OPTIONAL,modes) + KVSO_PARAMETER("file_mode", KVS_PT_STRINGLIST, KVS_PF_OPTIONAL, modes) KVSO_PARAMETERS_END(c) if(m_pFile->fileName().isEmpty()) { - c->warning(__tr2qs_ctx("Empty filename string","objects")); + c->warning(__tr2qs_ctx("Empty filename string", "objects")); return true; } - QIODevice::OpenMode mod,sum; - if (modes.empty()) sum = QIODevice::ReadWrite|QIODevice::Append; // if no parameters given, default to ReadWrite | Append + QIODevice::OpenMode mod, sum; + if(modes.empty()) + sum = QIODevice::ReadWrite | QIODevice::Append; // if no parameters given, default to ReadWrite | Append else { - for ( int idx=0;idxwarning(__tr2qs_ctx("No such open mode '%Q'","objects"),&modes.at(idx)); + c->warning(__tr2qs_ctx("No such open mode '%Q'", "objects"), &modes.at(idx)); } } c->returnValue()->setBoolean(m_pFile->open(sum)); return true; } -KVSO_CLASS_FUNCTION(file,isOpen) +KVSO_CLASS_FUNCTION(file, isOpen) { CHECK_INTERNAL_POINTER(m_pFile) c->returnValue()->setBoolean(m_pFile->isOpen()); return true; } -KVSO_CLASS_FUNCTION(file,close) +KVSO_CLASS_FUNCTION(file, close) { CHECK_INTERNAL_POINTER(m_pFile) CHECK_FILE_IS_OPEN @@ -269,7 +272,7 @@ KVSO_CLASS_FUNCTION(file,close) return true; } -KVSO_CLASS_FUNCTION(file,flush) +KVSO_CLASS_FUNCTION(file, flush) { CHECK_INTERNAL_POINTER(m_pFile) CHECK_FILE_IS_OPEN @@ -277,21 +280,21 @@ KVSO_CLASS_FUNCTION(file,flush) return true; } -KVSO_CLASS_FUNCTION(file,size) +KVSO_CLASS_FUNCTION(file, size) { CHECK_INTERNAL_POINTER(m_pFile) c->returnValue()->setInteger((kvs_int_t)(m_pFile->size())); return true; } -KVSO_CLASS_FUNCTION(file,atEnd) +KVSO_CLASS_FUNCTION(file, atEnd) { CHECK_INTERNAL_POINTER(m_pFile) c->returnValue()->setInteger((kvs_int_t)(m_pFile->atEnd())); return true; } -KVSO_CLASS_FUNCTION(file,where) +KVSO_CLASS_FUNCTION(file, where) { CHECK_INTERNAL_POINTER(m_pFile) CHECK_FILE_IS_OPEN @@ -299,81 +302,85 @@ KVSO_CLASS_FUNCTION(file,where) return true; } -KVSO_CLASS_FUNCTION(file,seek) +KVSO_CLASS_FUNCTION(file, seek) { CHECK_INTERNAL_POINTER(m_pFile) kvs_uint_t uIndex; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("index",KVS_PT_UNSIGNEDINTEGER,0,uIndex) + KVSO_PARAMETER("index", KVS_PT_UNSIGNEDINTEGER, 0, uIndex) KVSO_PARAMETERS_END(c) CHECK_FILE_IS_OPEN m_pFile->seek(uIndex); return true; } - -KVSO_CLASS_FUNCTION(file,resize) +KVSO_CLASS_FUNCTION(file, resize) { CHECK_INTERNAL_POINTER(m_pFile) kvs_int_t iSize; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("size",KVS_PT_INTEGER,0,iSize) + KVSO_PARAMETER("size", KVS_PT_INTEGER, 0, iSize) KVSO_PARAMETERS_END(c) CHECK_FILE_IS_OPEN m_pFile->resize(iSize); return true; } -KVSO_CLASS_FUNCTION(file,putch) +KVSO_CLASS_FUNCTION(file, putch) { CHECK_INTERNAL_POINTER(m_pFile) QString szChar; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("char",KVS_PT_STRING,0,szChar) + KVSO_PARAMETER("char", KVS_PT_STRING, 0, szChar) KVSO_PARAMETERS_END(c) - if (szChar.length()>1)c->warning(__tr2qs_ctx("Argument too long, using only first char","objects")); - const char *ch=szChar.toUtf8().data(); - if (!m_pFile->putChar(ch[0])) c->warning(__tr2qs_ctx("Write error occurred!","objects")); + if(szChar.length() > 1) + c->warning(__tr2qs_ctx("Argument too long, using only first char", "objects")); + const char * ch = szChar.toUtf8().data(); + if(!m_pFile->putChar(ch[0])) + c->warning(__tr2qs_ctx("Write error occurred!", "objects")); return true; } -KVSO_CLASS_FUNCTION(file,getch) +KVSO_CLASS_FUNCTION(file, getch) { CHECK_INTERNAL_POINTER(m_pFile) CHECK_FILE_IS_OPEN char ch; - if (!m_pFile->getChar(&ch)) c->warning(__tr2qs_ctx("Read error occurred!","objects")); // c->error ? + if(!m_pFile->getChar(&ch)) + c->warning(__tr2qs_ctx("Read error occurred!", "objects")); // c->error ? QString szChar = QChar(ch); c->returnValue()->setString(szChar); return true; } -KVSO_CLASS_FUNCTION(file,readByte) +KVSO_CLASS_FUNCTION(file, readByte) { CHECK_INTERNAL_POINTER(m_pFile) CHECK_FILE_IS_OPEN char ch; - if (!m_pFile->getChar(&ch)) c->warning(__tr2qs_ctx("Read error occurred!","objects")); // c->error ? + if(!m_pFile->getChar(&ch)) + c->warning(__tr2qs_ctx("Read error occurred!", "objects")); // c->error ? //QString szChar = QChar(ch); - c->returnValue()->setInteger((kvs_int_t) ch); + c->returnValue()->setInteger((kvs_int_t)ch); return true; } -KVSO_CLASS_FUNCTION(file,unGetch) +KVSO_CLASS_FUNCTION(file, unGetch) { CHECK_INTERNAL_POINTER(m_pFile) CHECK_FILE_IS_OPEN QString szChar; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("char",KVS_PT_STRING,0,szChar) + KVSO_PARAMETER("char", KVS_PT_STRING, 0, szChar) KVSO_PARAMETERS_END(c) - if (szChar.length()>1) c->warning(__tr2qs_ctx("Argument too long, using only the first char","objects")); - const char *ch=szChar.toUtf8().data(); + if(szChar.length() > 1) + c->warning(__tr2qs_ctx("Argument too long, using only the first char", "objects")); + const char * ch = szChar.toUtf8().data(); m_pFile->ungetChar(ch[0]); return true; } -KVSO_CLASS_FUNCTION(file,readBlock) +KVSO_CLASS_FUNCTION(file, readBlock) { CHECK_INTERNAL_POINTER(m_pFile) CHECK_FILE_IS_OPEN @@ -381,22 +388,22 @@ KVSO_CLASS_FUNCTION(file,readBlock) KviKvsObject * pObject; kvs_hobject_t hObject; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("length",KVS_PT_UNSIGNEDINTEGER,0,uLen) - KVSO_PARAMETER("hobject",KVS_PT_HOBJECT,KVS_PF_OPTIONAL,hObject) + KVSO_PARAMETER("length", KVS_PT_UNSIGNEDINTEGER, 0, uLen) + KVSO_PARAMETER("hobject", KVS_PT_HOBJECT, KVS_PF_OPTIONAL, hObject) KVSO_PARAMETERS_END(c) - if (uLen>(kvs_uint_t)m_pFile->size()) - uLen=m_pFile->size(); - if (hObject) + if(uLen > (kvs_uint_t)m_pFile->size()) + uLen = m_pFile->size(); + if(hObject) { - pObject=KviKvsKernel::instance()->objectController()->lookupObject(hObject); - if (!pObject) + pObject = KviKvsKernel::instance()->objectController()->lookupObject(hObject); + if(!pObject) { - c->warning(__tr2qs_ctx("Buffer parameter is not an object","objects")); + c->warning(__tr2qs_ctx("Buffer parameter is not an object", "objects")); return true; } - if (!pObject->inheritsClass("memorybuffer")) + if(!pObject->inheritsClass("memorybuffer")) { - c->warning(__tr2qs_ctx("Buffer parameter is not a memorybuffer object","objects")); + c->warning(__tr2qs_ctx("Buffer parameter is not a memorybuffer object", "objects")); return true; } //m_pFile->flush(); @@ -416,13 +423,13 @@ KVSO_CLASS_FUNCTION(file,readBlock) return true; } -KVSO_CLASS_FUNCTION(file,read) +KVSO_CLASS_FUNCTION(file, read) { CHECK_INTERNAL_POINTER(m_pFile) CHECK_FILE_IS_OPEN QString szType; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("type",KVS_PT_STRING,0,szType) + KVSO_PARAMETER("type", KVS_PT_STRING, 0, szType) KVSO_PARAMETERS_END(c) if(KviQString::equalCI(szType, "String")) { @@ -440,21 +447,21 @@ KVSO_CLASS_FUNCTION(file,read) { QString szData; m_pFile->load(szData); - KviKvsVariant *pVar = KviKvsVariant::unserialize(szData); - if (pVar->isArray()) + KviKvsVariant * pVar = KviKvsVariant::unserialize(szData); + if(pVar->isArray()) c->returnValue()->setArray(pVar->array()); else - c->warning(__tr2qs_ctx("The incoming data is not an array","objects")); + c->warning(__tr2qs_ctx("The incoming data is not an array", "objects")); } else if(KviQString::equalCI(szType, "Dict")) { QString szData; m_pFile->load(szData); - KviKvsVariant *pVar = KviKvsVariant::unserialize(szData); - if (pVar->isHash()) + KviKvsVariant * pVar = KviKvsVariant::unserialize(szData); + if(pVar->isHash()) c->returnValue()->setHash(pVar->hash()); else - c->warning(__tr2qs_ctx("The incoming data is not a dictionary","objects")); + c->warning(__tr2qs_ctx("The incoming data is not a dictionary", "objects")); } else if(KviQString::equalCI(szType, "String")) { @@ -464,26 +471,26 @@ KVSO_CLASS_FUNCTION(file,read) } else { - c->warning(__tr2qs_ctx("Unsupported datatype '%Q'","objects"),&szType); + c->warning(__tr2qs_ctx("Unsupported datatype '%Q'", "objects"), &szType); } return true; } -KVSO_CLASS_FUNCTION(file,write) +KVSO_CLASS_FUNCTION(file, write) { CHECK_INTERNAL_POINTER(m_pFile) CHECK_FILE_IS_OPEN KviKvsVariant * pVariantData; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("variant_data",KVS_PT_VARIANT,0,pVariantData) + KVSO_PARAMETER("variant_data", KVS_PT_VARIANT, 0, pVariantData) KVSO_PARAMETERS_END(c) - if (pVariantData->isInteger()) + if(pVariantData->isInteger()) { kvs_int_t num; pVariantData->asInteger(num); m_pFile->save(num); } - if (pVariantData->isHash() || pVariantData->isArray() || pVariantData->isString()) + if(pVariantData->isHash() || pVariantData->isArray() || pVariantData->isString()) { QString szTmp; pVariantData->serialize(szTmp); @@ -492,7 +499,7 @@ KVSO_CLASS_FUNCTION(file,write) return true; } -KVSO_CLASS_FUNCTION(file,writeBlock) +KVSO_CLASS_FUNCTION(file, writeBlock) { CHECK_INTERNAL_POINTER(m_pFile) kvs_uint_t uLen; @@ -500,51 +507,54 @@ KVSO_CLASS_FUNCTION(file,writeBlock) KviKvsVariant * pVariantData; kvs_hobject_t hObject; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("string_or_hobject",KVS_PT_VARIANT,0,pVariantData) - KVSO_PARAMETER("length",KVS_PT_UNSIGNEDINTEGER,KVS_PF_OPTIONAL,uLen) + KVSO_PARAMETER("string_or_hobject", KVS_PT_VARIANT, 0, pVariantData) + KVSO_PARAMETER("length", KVS_PT_UNSIGNEDINTEGER, KVS_PF_OPTIONAL, uLen) KVSO_PARAMETERS_END(c) - if(!m_pFile->isOpen())c->warning(__tr2qs_ctx("File is not open!","objects")); + if(!m_pFile->isOpen()) + c->warning(__tr2qs_ctx("File is not open!", "objects")); else { - if (pVariantData->isHObject()) + if(pVariantData->isHObject()) { pVariantData->asHObject(hObject); - pObject=KviKvsKernel::instance()->objectController()->lookupObject(hObject); - if (!pObject) + pObject = KviKvsKernel::instance()->objectController()->lookupObject(hObject); + if(!pObject) { - c->warning(__tr2qs_ctx("Buffer parameter is not an object","objects")); + c->warning(__tr2qs_ctx("Buffer parameter is not an object", "objects")); return true; } - if (pObject->inheritsClass("memorybuffer")) + if(pObject->inheritsClass("memorybuffer")) { - if (!uLen) + if(!uLen) { - if (((KvsObject_memoryBuffer *)pObject)->pBuffer()->size()) - uLen=((KvsObject_memoryBuffer *)pObject)->pBuffer()->size(); + if(((KvsObject_memoryBuffer *)pObject)->pBuffer()->size()) + uLen = ((KvsObject_memoryBuffer *)pObject)->pBuffer()->size(); else { - c->warning(__tr2qs_ctx("The memoryBuffer object is empty: nothing will be saved","objects")); + c->warning(__tr2qs_ctx("The memoryBuffer object is empty: nothing will be saved", "objects")); } } - const char *pData=((KvsObject_memoryBuffer *)pObject)->pBuffer()->data(); - int rlen=m_pFile->write(pData,uLen); + const char * pData = ((KvsObject_memoryBuffer *)pObject)->pBuffer()->data(); + int rlen = m_pFile->write(pData, uLen); c->returnValue()->setInteger(rlen); //m_pFile->flush(); - } else { - c->warning(__tr2qs_ctx("Buffer parameter is not a memorybuffer object","objects")); + } + else + { + c->warning(__tr2qs_ctx("Buffer parameter is not a memorybuffer object", "objects")); return true; } - } else { - if (!pVariantData->isString()){ - c->warning(__tr2qs_ctx("Block parameter must be a string or a memorybuffer object","objects")); + if(!pVariantData->isString()) + { + c->warning(__tr2qs_ctx("Block parameter must be a string or a memorybuffer object", "objects")); return true; } QString szBlock; pVariantData->asString(szBlock); - const char *block=szBlock.toUtf8().data(); + const char * block = szBlock.toUtf8().data(); int rlen = m_pFile->write(block, uLen); c->returnValue()->setInteger(rlen); //m_pFile->flush(); @@ -553,96 +563,101 @@ KVSO_CLASS_FUNCTION(file,writeBlock) return true; } -KVSO_CLASS_FUNCTION(file,readLine) +KVSO_CLASS_FUNCTION(file, readLine) { CHECK_INTERNAL_POINTER(m_pFile) CHECK_FILE_IS_OPEN QString buffer; //bool ok=KviFileUtils::readLine(m_pFile,buffer); - buffer=m_pFile->readLine(); + buffer = m_pFile->readLine(); c->returnValue()->setString(buffer); return true; } -KVSO_CLASS_FUNCTION(file,writeLine) +KVSO_CLASS_FUNCTION(file, writeLine) { CHECK_INTERNAL_POINTER(m_pFile) CHECK_FILE_IS_OPEN QString szLine; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("text_line",KVS_PT_STRING,0,szLine) + KVSO_PARAMETER("text_line", KVS_PT_STRING, 0, szLine) KVSO_PARAMETERS_END(c) QTextStream ts(m_pFile); ts << szLine; return true; } -KVSO_CLASS_FUNCTION(file,readHexBlock) +KVSO_CLASS_FUNCTION(file, readHexBlock) { CHECK_INTERNAL_POINTER(m_pFile) CHECK_FILE_IS_OPEN kvs_uint_t uLen; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("length",KVS_PT_UNSIGNEDINTEGER,0,uLen) + KVSO_PARAMETER("length", KVS_PT_UNSIGNEDINTEGER, 0, uLen) KVSO_PARAMETERS_END(c) - if (uLen>(kvs_uint_t)m_pFile->size()) uLen=m_pFile->size(); + if(uLen > (kvs_uint_t)m_pFile->size()) + uLen = m_pFile->size(); char * buff = new char[uLen]; - char * str = new char [(uLen*2)+1]; + char * str = new char[(uLen * 2) + 1]; m_pFile->flush(); // advice from QFile man page (to avoid trash) int rlen = m_pFile->read(buff, uLen); - int index=0; - unsigned char byte,msb,lsb=0; - for (int i=0;i>4; - msb>9?msb+='7':msb+='0'; - lsb>9?lsb+='7':lsb+='0'; - str[index++]=msb; - str[index++]=lsb; + byte = (unsigned char)buff[i]; + lsb = byte & 0x0f; + msb = byte >> 4; + msb > 9 ? msb += '7' : msb += '0'; + lsb > 9 ? lsb += '7' : lsb += '0'; + str[index++] = msb; + str[index++] = lsb; } - str[index]='\0'; + str[index] = '\0'; c->returnValue()->setString(str); delete[] str; delete[] buff; return true; } -KVSO_CLASS_FUNCTION(file,writeHexBlock) +KVSO_CLASS_FUNCTION(file, writeHexBlock) { CHECK_INTERNAL_POINTER(m_pFile) CHECK_FILE_IS_OPEN QString szBlock; kvs_uint_t uLen; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("text_block",KVS_PT_STRING,0,szBlock) - KVSO_PARAMETER("length",KVS_PT_UNSIGNEDINTEGER,KVS_PF_OPTIONAL,uLen) + KVSO_PARAMETER("text_block", KVS_PT_STRING, 0, szBlock) + KVSO_PARAMETER("length", KVS_PT_UNSIGNEDINTEGER, KVS_PF_OPTIONAL, uLen) KVSO_PARAMETERS_END(c) - if (szBlock.length()%2) + if(szBlock.length() % 2) { - c->warning(__tr2qs_ctx("Length of hex string is not multiple of 2","objects")); + c->warning(__tr2qs_ctx("Length of hex string is not multiple of 2", "objects")); return true; } - if (uLen>((uint)szBlock.length()/2)|| !uLen) uLen=szBlock.length(); - else uLen*=2; - unsigned char byte,lsb,msb; - for(unsigned int i=0;i ((uint)szBlock.length() / 2) || !uLen) + uLen = szBlock.length(); + else + uLen *= 2; + unsigned char byte, lsb, msb; + for(unsigned int i = 0; i < uLen; i += 2) { - msb=szBlock.at(i).toLatin1(); - lsb=szBlock.at(i+1).toLatin1(); + msb = szBlock.at(i).toLatin1(); + lsb = szBlock.at(i + 1).toLatin1(); - if (((msb>='A' && msb<='F')||(msb>='0' && msb<='9')) && ((lsb>='A' && lsb<='F')|| (lsb>='0' && lsb<='9'))) + if(((msb >= 'A' && msb <= 'F') || (msb >= '0' && msb <= '9')) && ((lsb >= 'A' && lsb <= 'F') || (lsb >= '0' && lsb <= '9'))) + { + msb >= 'A' ? msb -= '7' : msb -= '0'; + lsb >= 'A' ? lsb -= '7' : lsb -= '0'; + } + else { - msb>='A'?msb-='7':msb-='0'; - lsb>='A'?lsb-='7':lsb-='0'; - } else{ - c->warning(__tr2qs_ctx("The hex string is not correct!","objects")); + c->warning(__tr2qs_ctx("The hex string is not correct!", "objects")); return true; } - byte=(msb*16)+lsb; + byte = (msb * 16) + lsb; m_pFile->putChar(byte); } - c->returnValue()->setInteger(uLen/2); + c->returnValue()->setInteger(uLen / 2); return true; } diff --git a/src/modules/objects/KvsObject_file.h b/src/modules/objects/KvsObject_file.h index b28d19588..a19a0c220 100644 --- a/src/modules/objects/KvsObject_file.h +++ b/src/modules/objects/KvsObject_file.h @@ -29,46 +29,45 @@ #include "KvsObject_widget.h" #include "KviFile.h" - class KvsObject_file : public KvsObject_widget { public: KVSO_DECLARE_OBJECT(KvsObject_file) protected: KviFile * m_pFile; -public: - KviFile * file(){ return m_pFile; }; - bool setName(KviKvsObjectFunctionCall *c); - bool name(KviKvsObjectFunctionCall *c); - bool open(KviKvsObjectFunctionCall *c); - bool isOpen(KviKvsObjectFunctionCall *c); - bool close(KviKvsObjectFunctionCall *c); - bool flush(KviKvsObjectFunctionCall *c); - bool size(KviKvsObjectFunctionCall *c); - bool resize(KviKvsObjectFunctionCall *c); +public: + KviFile * file() { return m_pFile; }; + bool setName(KviKvsObjectFunctionCall * c); + bool name(KviKvsObjectFunctionCall * c); + bool open(KviKvsObjectFunctionCall * c); + bool isOpen(KviKvsObjectFunctionCall * c); + bool close(KviKvsObjectFunctionCall * c); + bool flush(KviKvsObjectFunctionCall * c); + bool size(KviKvsObjectFunctionCall * c); + bool resize(KviKvsObjectFunctionCall * c); - bool atEnd(KviKvsObjectFunctionCall *c); + bool atEnd(KviKvsObjectFunctionCall * c); // int QFile at() const - bool where(KviKvsObjectFunctionCall *c); + bool where(KviKvsObjectFunctionCall * c); // void QFile at(int) - bool seek(KviKvsObjectFunctionCall *c); - bool putch(KviKvsObjectFunctionCall *c); - bool getch(KviKvsObjectFunctionCall *c); - bool readByte(KviKvsObjectFunctionCall *c); - bool unGetch(KviKvsObjectFunctionCall *c); + bool seek(KviKvsObjectFunctionCall * c); + bool putch(KviKvsObjectFunctionCall * c); + bool getch(KviKvsObjectFunctionCall * c); + bool readByte(KviKvsObjectFunctionCall * c); + bool unGetch(KviKvsObjectFunctionCall * c); - bool readBlock(KviKvsObjectFunctionCall *c); - bool writeBlock(KviKvsObjectFunctionCall *c); + bool readBlock(KviKvsObjectFunctionCall * c); + bool writeBlock(KviKvsObjectFunctionCall * c); - bool readLine(KviKvsObjectFunctionCall *c); - bool writeLine(KviKvsObjectFunctionCall *c); + bool readLine(KviKvsObjectFunctionCall * c); + bool writeLine(KviKvsObjectFunctionCall * c); - bool readHexBlock(KviKvsObjectFunctionCall *c); - bool writeHexBlock(KviKvsObjectFunctionCall *c); + bool readHexBlock(KviKvsObjectFunctionCall * c); + bool writeHexBlock(KviKvsObjectFunctionCall * c); - bool write(KviKvsObjectFunctionCall *c); - bool read(KviKvsObjectFunctionCall *c); + bool write(KviKvsObjectFunctionCall * c); + bool read(KviKvsObjectFunctionCall * c); }; -#endif // !_CLASS_FILE_H_ +#endif // !_CLASS_FILE_H_ diff --git a/src/modules/objects/KvsObject_ftp.cpp b/src/modules/objects/KvsObject_ftp.cpp index 5b25cda6a..183edcdb0 100644 --- a/src/modules/objects/KvsObject_ftp.cpp +++ b/src/modules/objects/KvsObject_ftp.cpp @@ -24,7 +24,6 @@ #include "KvsObject_ftp.h" - #include "kvi_debug.h" #include "KviError.h" @@ -91,131 +90,129 @@ This signal is emitted by the default implementation of [classfnc]$dataTransferProgressEvent[/classfnc]() */ -KVSO_BEGIN_REGISTERCLASS(KvsObject_ftp,"ftp","object") - KVSO_REGISTER_HANDLER(KvsObject_ftp,"connect",functionConnect) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_ftp,abort) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_ftp,close) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_ftp,login) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_ftp,get) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_ftp,put) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_ftp,cd) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_ftp,list) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_ftp,commandFinishedEvent) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_ftp,listInfoEvent) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_ftp,stateChangedEvent) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_ftp,dataTransferProgressEvent) +KVSO_BEGIN_REGISTERCLASS(KvsObject_ftp, "ftp", "object") +KVSO_REGISTER_HANDLER(KvsObject_ftp, "connect", functionConnect) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_ftp, abort) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_ftp, close) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_ftp, login) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_ftp, get) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_ftp, put) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_ftp, cd) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_ftp, list) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_ftp, commandFinishedEvent) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_ftp, listInfoEvent) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_ftp, stateChangedEvent) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_ftp, dataTransferProgressEvent) KVSO_END_REGISTERCLASS(KvsObject_ftp) - -KVSO_BEGIN_CONSTRUCTOR(KvsObject_ftp,KviKvsObject) - m_pFtp = new QFtp(); - connect(m_pFtp,SIGNAL(commandFinished(int,bool)),this,SLOT(slotCommandFinished(int,bool))); - connect(m_pFtp,SIGNAL(commandStarted(int)),this,SLOT(slotCommandStarted(int))); - connect(m_pFtp,SIGNAL(dataTransferProgress(qint64,qint64)),this,SLOT(slotDataTransferProgress(qint64,qint64))); - connect(m_pFtp,SIGNAL(done(bool)),this,SLOT(slotDone(bool))); - connect(m_pFtp,SIGNAL(listInfo(const QUrlInfo)),this,SLOT(slotListInfo(const QUrlInfo))); - connect(m_pFtp,SIGNAL(readyRead()),this,SLOT(slotReadyRead())); - connect(m_pFtp,SIGNAL(stateChanged(int)),this,SLOT(slotStateChanged(int))); +KVSO_BEGIN_CONSTRUCTOR(KvsObject_ftp, KviKvsObject) +m_pFtp = new QFtp(); +connect(m_pFtp, SIGNAL(commandFinished(int, bool)), this, SLOT(slotCommandFinished(int, bool))); +connect(m_pFtp, SIGNAL(commandStarted(int)), this, SLOT(slotCommandStarted(int))); +connect(m_pFtp, SIGNAL(dataTransferProgress(qint64, qint64)), this, SLOT(slotDataTransferProgress(qint64, qint64))); +connect(m_pFtp, SIGNAL(done(bool)), this, SLOT(slotDone(bool))); +connect(m_pFtp, SIGNAL(listInfo(const QUrlInfo)), this, SLOT(slotListInfo(const QUrlInfo))); +connect(m_pFtp, SIGNAL(readyRead()), this, SLOT(slotReadyRead())); +connect(m_pFtp, SIGNAL(stateChanged(int)), this, SLOT(slotStateChanged(int))); KVSO_END_CONSTRUCTOR(KvsObject_ftp) KVSO_BEGIN_DESTRUCTOR(KvsObject_ftp) - delete m_pFtp; +delete m_pFtp; KVSO_END_DESTRUCTOR(KvsObject_ftp) //---------------------- - - -KVSO_CLASS_FUNCTION(ftp,functionConnect) +KVSO_CLASS_FUNCTION(ftp, functionConnect) { CHECK_INTERNAL_POINTER(m_pFtp) QString szHost; kvs_uint_t uRemotePort; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("host",KVS_PT_STRING,0,szHost) - KVSO_PARAMETER("remote_port",KVS_PT_UNSIGNEDINTEGER,KVS_PF_OPTIONAL,uRemotePort) + KVSO_PARAMETER("host", KVS_PT_STRING, 0, szHost) + KVSO_PARAMETER("remote_port", KVS_PT_UNSIGNEDINTEGER, KVS_PF_OPTIONAL, uRemotePort) KVSO_PARAMETERS_END(c) - if (!uRemotePort) uRemotePort=21; - kvs_uint_t id=0; - id=m_pFtp->connectToHost(szHost, uRemotePort); + if(!uRemotePort) + uRemotePort = 21; + kvs_uint_t id = 0; + id = m_pFtp->connectToHost(szHost, uRemotePort); c->returnValue()->setInteger(id); return true; } -KVSO_CLASS_FUNCTION(ftp,login) +KVSO_CLASS_FUNCTION(ftp, login) { CHECK_INTERNAL_POINTER(m_pFtp) - QString szUser,szPass; + QString szUser, szPass; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("user",KVS_PT_STRING,0,szUser) - KVSO_PARAMETER("password",KVS_PT_STRING,0,szPass) + KVSO_PARAMETER("user", KVS_PT_STRING, 0, szUser) + KVSO_PARAMETER("password", KVS_PT_STRING, 0, szPass) KVSO_PARAMETERS_END(c) - int id=m_pFtp->login(szUser, szPass); + int id = m_pFtp->login(szUser, szPass); c->returnValue()->setInteger(id); return true; } -KVSO_CLASS_FUNCTION(ftp,get) +KVSO_CLASS_FUNCTION(ftp, get) { CHECK_INTERNAL_POINTER(m_pFtp) - QString szFile,szDest; + QString szFile, szDest; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("remote_filename",KVS_PT_STRING,0,szFile) - KVSO_PARAMETER("local_filename",KVS_PT_STRING,0,szDest) + KVSO_PARAMETER("remote_filename", KVS_PT_STRING, 0, szFile) + KVSO_PARAMETER("local_filename", KVS_PT_STRING, 0, szDest) KVSO_PARAMETERS_END(c) - QFile *pFile; - pFile=new QFile(szDest); + QFile * pFile; + pFile = new QFile(szDest); pFile->open(QIODevice::WriteOnly); - int id=m_pFtp->get(szFile,pFile); + int id = m_pFtp->get(szFile, pFile); c->returnValue()->setInteger(id); return true; } -KVSO_CLASS_FUNCTION(ftp,put) +KVSO_CLASS_FUNCTION(ftp, put) { CHECK_INTERNAL_POINTER(m_pFtp) - QString szRemoteFile,szLocaleFile; + QString szRemoteFile, szLocaleFile; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("locale_filename",KVS_PT_STRING,0,szLocaleFile) - KVSO_PARAMETER("remote_filename",KVS_PT_STRING,0,szRemoteFile) + KVSO_PARAMETER("locale_filename", KVS_PT_STRING, 0, szLocaleFile) + KVSO_PARAMETER("remote_filename", KVS_PT_STRING, 0, szRemoteFile) KVSO_PARAMETERS_END(c) - QFile *pFile; - pFile=new QFile(szLocaleFile); + QFile * pFile; + pFile = new QFile(szLocaleFile); pFile->open(QIODevice::ReadOnly); - int id=m_pFtp->put(pFile,szRemoteFile); + int id = m_pFtp->put(pFile, szRemoteFile); c->returnValue()->setInteger(id); return true; } -KVSO_CLASS_FUNCTION(ftp,cd) +KVSO_CLASS_FUNCTION(ftp, cd) { CHECK_INTERNAL_POINTER(m_pFtp) QString szPath; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("remote_filename",KVS_PT_STRING,0,szPath) + KVSO_PARAMETER("remote_filename", KVS_PT_STRING, 0, szPath) KVSO_PARAMETERS_END(c) - int id=m_pFtp->cd(szPath); + int id = m_pFtp->cd(szPath); c->returnValue()->setInteger(id); return true; } -KVSO_CLASS_FUNCTION(ftp,list) +KVSO_CLASS_FUNCTION(ftp, list) { CHECK_INTERNAL_POINTER(m_pFtp) QString szPath; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("remote_dir",KVS_PT_STRING,0,szPath) + KVSO_PARAMETER("remote_dir", KVS_PT_STRING, 0, szPath) KVSO_PARAMETERS_END(c) - int id=m_pFtp->list(szPath); + int id = m_pFtp->list(szPath); c->returnValue()->setInteger(id); return true; } -KVSO_CLASS_FUNCTION(ftp,abort) +KVSO_CLASS_FUNCTION(ftp, abort) { CHECK_INTERNAL_POINTER(m_pFtp) m_pFtp->abort(); return true; } -KVSO_CLASS_FUNCTION(ftp,close) +KVSO_CLASS_FUNCTION(ftp, close) { CHECK_INTERNAL_POINTER(m_pFtp) m_pFtp->close(); @@ -223,9 +220,9 @@ KVSO_CLASS_FUNCTION(ftp,close) } //signals & slots -KVSO_CLASS_FUNCTION(ftp,commandFinishedEvent) +KVSO_CLASS_FUNCTION(ftp, commandFinishedEvent) { - emitSignal("commandFinished",c,c->params()); + emitSignal("commandFinished", c, c->params()); return true; } @@ -235,14 +232,30 @@ void KvsObject_ftp::slotCommandFinished(int iId, bool bError) switch(m_pFtp->currentCommand()) { - case QFtp::None: szCommand = "none"; break; - case QFtp::SetTransferMode: szCommand = "setTransferMode"; break; - case QFtp::SetProxy: szCommand = "setProxy"; break; - case QFtp::ConnectToHost: szCommand = "connectToHost"; break; - case QFtp::Login: szCommand = "login"; break; - case QFtp::Close: szCommand = "close"; break; - case QFtp::List: szCommand = "list"; break; - case QFtp::Cd: szCommand = "cd"; break; + case QFtp::None: + szCommand = "none"; + break; + case QFtp::SetTransferMode: + szCommand = "setTransferMode"; + break; + case QFtp::SetProxy: + szCommand = "setProxy"; + break; + case QFtp::ConnectToHost: + szCommand = "connectToHost"; + break; + case QFtp::Login: + szCommand = "login"; + break; + case QFtp::Close: + szCommand = "close"; + break; + case QFtp::List: + szCommand = "list"; + break; + case QFtp::Cd: + szCommand = "cd"; + break; case QFtp::Get: { delete m_pFtp->currentDevice(); @@ -255,80 +268,97 @@ void KvsObject_ftp::slotCommandFinished(int iId, bool bError) szCommand = "put"; break; } - case QFtp::Remove: szCommand = "remove"; break; - case QFtp::Mkdir: szCommand = "mkdir"; break; - case QFtp::Rmdir: szCommand = "rmdir"; break; - case QFtp::Rename: szCommand = "rename"; break; - case QFtp::RawCommand: szCommand = "rawCommand"; break; + case QFtp::Remove: + szCommand = "remove"; + break; + case QFtp::Mkdir: + szCommand = "mkdir"; + break; + case QFtp::Rmdir: + szCommand = "rmdir"; + break; + case QFtp::Rename: + szCommand = "rename"; + break; + case QFtp::RawCommand: + szCommand = "rawCommand"; + break; } KviKvsVariantList lParams; 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); + if(bError) + lParams.append(new KviKvsVariant(m_pFtp->errorString())); + callFunction(this, "commandFinishedEvent", 0, &lParams); } -void KvsObject_ftp::slotCommandStarted ( int ) +void KvsObject_ftp::slotCommandStarted(int) { } -void KvsObject_ftp::slotDataTransferProgress ( qint64 done, qint64 total ) +void KvsObject_ftp::slotDataTransferProgress(qint64 done, qint64 total) { KviKvsVariantList lParams; - lParams.append(new KviKvsVariant((kvs_int_t) done)); - lParams.append(new KviKvsVariant((kvs_int_t) total)); - callFunction(this,"dataTransferProgressEvent",0,&lParams); + lParams.append(new KviKvsVariant((kvs_int_t)done)); + lParams.append(new KviKvsVariant((kvs_int_t)total)); + callFunction(this, "dataTransferProgressEvent", 0, &lParams); } -KVSO_CLASS_FUNCTION(ftp,dataTransferProgressEvent) +KVSO_CLASS_FUNCTION(ftp, dataTransferProgressEvent) { - emitSignal("dataTransferProgress",c,c->params()); + emitSignal("dataTransferProgress", c, c->params()); return true; } -void KvsObject_ftp::slotDone ( bool ) +void KvsObject_ftp::slotDone(bool) { } -void KvsObject_ftp::slotListInfo ( const QUrlInfo & i ) +void KvsObject_ftp::slotListInfo(const QUrlInfo & i) { KviKvsVariantList lParams; lParams.append(new KviKvsVariant(i.name())); - callFunction(this,"listInfoEvent",0,&lParams); + callFunction(this, "listInfoEvent", 0, &lParams); } -KVSO_CLASS_FUNCTION(ftp,listInfoEvent) +KVSO_CLASS_FUNCTION(ftp, listInfoEvent) { - emitSignal("listInfo",c,c->params()); + emitSignal("listInfo", c, c->params()); return true; } -void KvsObject_ftp::slotReadyRead () +void KvsObject_ftp::slotReadyRead() { } -void KvsObject_ftp::slotRawCommandReply (int, const QString & ) +void KvsObject_ftp::slotRawCommandReply(int, const QString &) { } -void KvsObject_ftp::slotStateChanged (int state) +void KvsObject_ftp::slotStateChanged(int state) { - QString szState=""; - if (state==QFtp::Unconnected) szState="Unconnected"; - else if (state==QFtp::HostLookup) szState="HostLookup"; - else if (state==QFtp::Connecting) szState="Connecting"; - else if (state==QFtp::Connected) szState="Connected"; - else if (state==QFtp::LoggedIn) szState="LoggedIn"; - else if (state==QFtp::Closing) szState="Closing"; + QString szState = ""; + if(state == QFtp::Unconnected) + szState = "Unconnected"; + else if(state == QFtp::HostLookup) + szState = "HostLookup"; + else if(state == QFtp::Connecting) + szState = "Connecting"; + else if(state == QFtp::Connected) + szState = "Connected"; + else if(state == QFtp::LoggedIn) + szState = "LoggedIn"; + else if(state == QFtp::Closing) + szState = "Closing"; KviKvsVariantList lParams; lParams.append(new KviKvsVariant(szState)); - callFunction(this,"stateChangedEvent",0,&lParams); + callFunction(this, "stateChangedEvent", 0, &lParams); } -KVSO_CLASS_FUNCTION(ftp,stateChangedEvent) +KVSO_CLASS_FUNCTION(ftp, stateChangedEvent) { - emitSignal("stateChanged",c,c->params()); + emitSignal("stateChanged", c, c->params()); return true; } diff --git a/src/modules/objects/KvsObject_ftp.h b/src/modules/objects/KvsObject_ftp.h index 653a382fe..cfd28cb5f 100644 --- a/src/modules/objects/KvsObject_ftp.h +++ b/src/modules/objects/KvsObject_ftp.h @@ -26,7 +26,6 @@ #include "object_macros.h" - class QFtp; class QUrlInfo; @@ -39,30 +38,30 @@ class KvsObject_ftp : public KviKvsObject public: KVSO_DECLARE_OBJECT(KvsObject_ftp) protected: - QFtp *m_pFtp; + QFtp * m_pFtp; + protected: - bool functionConnect(KviKvsObjectFunctionCall *c); - bool get(KviKvsObjectFunctionCall *c); - bool put(KviKvsObjectFunctionCall *c); - bool login(KviKvsObjectFunctionCall *c); - bool cd(KviKvsObjectFunctionCall *c); - bool list(KviKvsObjectFunctionCall *c); - bool dataTransferProgressEvent(KviKvsObjectFunctionCall *c); - bool listInfoEvent(KviKvsObjectFunctionCall *c); - bool commandFinishedEvent(KviKvsObjectFunctionCall *c); - bool stateChangedEvent(KviKvsObjectFunctionCall *c); - bool abort(KviKvsObjectFunctionCall *c); - bool close(KviKvsObjectFunctionCall *c); + bool functionConnect(KviKvsObjectFunctionCall * c); + bool get(KviKvsObjectFunctionCall * c); + bool put(KviKvsObjectFunctionCall * c); + bool login(KviKvsObjectFunctionCall * c); + bool cd(KviKvsObjectFunctionCall * c); + bool list(KviKvsObjectFunctionCall * c); + bool dataTransferProgressEvent(KviKvsObjectFunctionCall * c); + bool listInfoEvent(KviKvsObjectFunctionCall * c); + bool commandFinishedEvent(KviKvsObjectFunctionCall * c); + bool stateChangedEvent(KviKvsObjectFunctionCall * c); + bool abort(KviKvsObjectFunctionCall * c); + bool close(KviKvsObjectFunctionCall * c); protected slots: - void slotCommandFinished ( int id, bool error ); - void slotCommandStarted ( int id ); - void slotDataTransferProgress ( qint64 done, qint64 total ); - void slotDone ( bool error ); - void slotListInfo ( const QUrlInfo & i ); - void slotRawCommandReply ( int replyCode, const QString & detail ); - void slotReadyRead (); - void slotStateChanged ( int state); + void slotCommandFinished(int id, bool error); + void slotCommandStarted(int id); + void slotDataTransferProgress(qint64 done, qint64 total); + void slotDone(bool error); + void slotListInfo(const QUrlInfo & i); + void slotRawCommandReply(int replyCode, const QString & detail); + void slotReadyRead(); + void slotStateChanged(int state); }; - #endif //_CLASS_FTP_H_ diff --git a/src/modules/objects/KvsObject_groupBox.cpp b/src/modules/objects/KvsObject_groupBox.cpp index 74d9236fe..7ba81e693 100644 --- a/src/modules/objects/KvsObject_groupBox.cpp +++ b/src/modules/objects/KvsObject_groupBox.cpp @@ -31,7 +31,6 @@ #include "KviLocale.h" #include "KviIconManager.h" - // Tables used in $setAlignment, $alignment and in $setOrientation & $orientation const char * const align_tbl[] = { @@ -46,7 +45,7 @@ const int align_cod[] = { Qt::AlignHCenter }; -#define align_num (sizeof(align_tbl) / sizeof(align_tbl[0])) +#define align_num (sizeof(align_tbl) / sizeof(align_tbl[0])) /* @doc: groupbox @@ -130,159 +129,158 @@ const int align_cod[] = { [/example] */ -KVSO_BEGIN_REGISTERCLASS(KvsObject_groupBox,"groupbox","widget") - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_groupBox,setTitle) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_groupBox,title) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_groupBox,setFlat) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_groupBox,isFlat) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_groupBox,setCheckable) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_groupBox,isCheckable) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_groupBox,setInsideMargin) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_groupBox,insideMargin) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_groupBox,setInsideSpacing) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_groupBox,insideSpacing) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_groupBox,addSpace) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_groupBox,alignment) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_groupBox,setAlignment) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_groupBox,setOrientation) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_groupBox,isChecked) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_groupBox,setChecked) +KVSO_BEGIN_REGISTERCLASS(KvsObject_groupBox, "groupbox", "widget") +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_groupBox, setTitle) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_groupBox, title) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_groupBox, setFlat) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_groupBox, isFlat) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_groupBox, setCheckable) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_groupBox, isCheckable) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_groupBox, setInsideMargin) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_groupBox, insideMargin) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_groupBox, setInsideSpacing) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_groupBox, insideSpacing) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_groupBox, addSpace) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_groupBox, alignment) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_groupBox, setAlignment) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_groupBox, setOrientation) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_groupBox, isChecked) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_groupBox, setChecked) KVSO_END_REGISTERCLASS(KvsObject_groupBox) -KVSO_BEGIN_CONSTRUCTOR(KvsObject_groupBox,KvsObject_widget) +KVSO_BEGIN_CONSTRUCTOR(KvsObject_groupBox, KvsObject_widget) KVSO_END_CONSTRUCTOR(KvsObject_groupBox) - KVSO_BEGIN_DESTRUCTOR(KvsObject_groupBox) KVSO_END_CONSTRUCTOR(KvsObject_groupBox) -bool KvsObject_groupBox::init(KviKvsRunTimeContext *,KviKvsVariantList *) +bool KvsObject_groupBox::init(KviKvsRunTimeContext *, KviKvsVariantList *) { - KviTalGroupBox *groupbox=new KviTalGroupBox(getName(),parentScriptWidget()); + KviTalGroupBox * groupbox = new KviTalGroupBox(getName(), parentScriptWidget()); groupbox->setOrientation(Qt::Horizontal); groupbox->setObjectName(getName()); - setObject(groupbox,true); + setObject(groupbox, true); return true; } -KVSO_CLASS_FUNCTION(groupBox,setTitle) +KVSO_CLASS_FUNCTION(groupBox, setTitle) { CHECK_INTERNAL_POINTER(widget()) QString szTitle; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("title",KVS_PT_STRING,0,szTitle) + KVSO_PARAMETER("title", KVS_PT_STRING, 0, szTitle) KVSO_PARAMETERS_END(c) ((KviTalGroupBox *)widget())->setTitle(szTitle); return true; } -KVSO_CLASS_FUNCTION(groupBox,title) +KVSO_CLASS_FUNCTION(groupBox, title) { CHECK_INTERNAL_POINTER(widget()) c->returnValue()->setString(((KviTalGroupBox *)widget())->title()); return true; } -KVSO_CLASS_FUNCTION(groupBox,setFlat) +KVSO_CLASS_FUNCTION(groupBox, setFlat) { CHECK_INTERNAL_POINTER(widget()) bool bEnabled; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("bFlag",KVS_PT_BOOL,0,bEnabled) + KVSO_PARAMETER("bFlag", KVS_PT_BOOL, 0, bEnabled) KVSO_PARAMETERS_END(c) ((KviTalGroupBox *)widget())->setFlat(bEnabled); return true; } -KVSO_CLASS_FUNCTION(groupBox,isFlat) +KVSO_CLASS_FUNCTION(groupBox, isFlat) { CHECK_INTERNAL_POINTER(widget()) c->returnValue()->setBoolean(((KviTalGroupBox *)widget())->isFlat()); return true; } -KVSO_CLASS_FUNCTION(groupBox,setCheckable) +KVSO_CLASS_FUNCTION(groupBox, setCheckable) { CHECK_INTERNAL_POINTER(widget()) bool bEnabled; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("bFlag",KVS_PT_BOOL,0,bEnabled) + KVSO_PARAMETER("bFlag", KVS_PT_BOOL, 0, bEnabled) KVSO_PARAMETERS_END(c) ((KviTalGroupBox *)widget())->setCheckable(bEnabled); return true; } -KVSO_CLASS_FUNCTION(groupBox,isCheckable) +KVSO_CLASS_FUNCTION(groupBox, isCheckable) { CHECK_INTERNAL_POINTER(widget()) c->returnValue()->setBoolean(((KviTalGroupBox *)widget())->isCheckable()); return true; } -KVSO_CLASS_FUNCTION(groupBox,setChecked) +KVSO_CLASS_FUNCTION(groupBox, setChecked) { CHECK_INTERNAL_POINTER(widget()) bool bEnabled; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("bFlag",KVS_PT_BOOL,0,bEnabled) + KVSO_PARAMETER("bFlag", KVS_PT_BOOL, 0, bEnabled) KVSO_PARAMETERS_END(c) ((KviTalGroupBox *)widget())->setChecked(bEnabled); return true; } -KVSO_CLASS_FUNCTION(groupBox,isChecked) +KVSO_CLASS_FUNCTION(groupBox, isChecked) { CHECK_INTERNAL_POINTER(widget()) c->returnValue()->setBoolean(((KviTalGroupBox *)widget())->isChecked()); return true; } -KVSO_CLASS_FUNCTION(groupBox,setInsideMargin) +KVSO_CLASS_FUNCTION(groupBox, setInsideMargin) { CHECK_INTERNAL_POINTER(widget()) kvs_uint_t uMargin; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("margin",KVS_PT_UNSIGNEDINTEGER,0,uMargin) + KVSO_PARAMETER("margin", KVS_PT_UNSIGNEDINTEGER, 0, uMargin) KVSO_PARAMETERS_END(c) ((KviTalGroupBox *)widget())->setInsideMargin(uMargin); return true; } -KVSO_CLASS_FUNCTION(groupBox,insideMargin) +KVSO_CLASS_FUNCTION(groupBox, insideMargin) { CHECK_INTERNAL_POINTER(widget()) c->returnValue()->setInteger(((KviTalGroupBox *)widget())->insideMargin()); return true; } -KVSO_CLASS_FUNCTION(groupBox,setInsideSpacing) +KVSO_CLASS_FUNCTION(groupBox, setInsideSpacing) { CHECK_INTERNAL_POINTER(widget()) kvs_uint_t uSpacing; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("spacing",KVS_PT_UNSIGNEDINTEGER,0,uSpacing) + KVSO_PARAMETER("spacing", KVS_PT_UNSIGNEDINTEGER, 0, uSpacing) KVSO_PARAMETERS_END(c) ((KviTalGroupBox *)widget())->setInsideSpacing(uSpacing); return true; } -KVSO_CLASS_FUNCTION(groupBox,insideSpacing) +KVSO_CLASS_FUNCTION(groupBox, insideSpacing) { CHECK_INTERNAL_POINTER(widget()) c->returnValue()->setInteger(((KviTalGroupBox *)widget())->insideSpacing()); return true; } -KVSO_CLASS_FUNCTION(groupBox,addSpace) +KVSO_CLASS_FUNCTION(groupBox, addSpace) { CHECK_INTERNAL_POINTER(widget()) kvs_uint_t iSpace; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("columns",KVS_PT_UNSIGNEDINTEGER,0,iSpace) + KVSO_PARAMETER("columns", KVS_PT_UNSIGNEDINTEGER, 0, iSpace) KVSO_PARAMETERS_END(c) (((KviTalGroupBox *)widget())->addSpace(iSpace)); return true; } -KVSO_CLASS_FUNCTION(groupBox,setAlignment) +KVSO_CLASS_FUNCTION(groupBox, setAlignment) { CHECK_INTERNAL_POINTER(widget()) QString szAlign; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("alignment",KVS_PT_STRING,0,szAlign) + KVSO_PARAMETER("alignment", KVS_PT_STRING, 0, szAlign) KVSO_PARAMETERS_END(c) for(unsigned int i = 0; i < align_num; i++) { @@ -292,20 +290,20 @@ KVSO_CLASS_FUNCTION(groupBox,setAlignment) return true; } } - c->warning(__tr2qs_ctx("Unknown alignment '%Q'","objets"),&szAlign); + c->warning(__tr2qs_ctx("Unknown alignment '%Q'", "objets"), &szAlign); return true; } -KVSO_CLASS_FUNCTION(groupBox,alignment) +KVSO_CLASS_FUNCTION(groupBox, alignment) { CHECK_INTERNAL_POINTER(widget()) int mode = ((KviTalGroupBox *)widget())->alignment(); - QString szAlignment=""; + QString szAlignment = ""; for(unsigned int i = 0; i < align_num; i++) { if(mode == align_cod[i]) { - szAlignment=align_tbl[i]; + szAlignment = align_tbl[i]; break; } } @@ -313,19 +311,19 @@ KVSO_CLASS_FUNCTION(groupBox,alignment) return true; } -KVSO_CLASS_FUNCTION(groupBox,setOrientation) +KVSO_CLASS_FUNCTION(groupBox, setOrientation) { CHECK_INTERNAL_POINTER(widget()) QString szMode; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("orientation",KVS_PT_STRING,0,szMode) + KVSO_PARAMETER("orientation", KVS_PT_STRING, 0, szMode) KVSO_PARAMETERS_END(c) if(KviQString::equalCI(szMode, "Horizontal")) ((KviTalGroupBox *)widget())->setOrientation(Qt::Vertical); - else - if(KviQString::equalCI(szMode, "Vertical")) + else if(KviQString::equalCI(szMode, "Vertical")) ((KviTalGroupBox *)widget())->setOrientation(Qt::Horizontal); - else c->warning( __tr2qs_ctx("Unknown orientation '%Q'","objects"),&szMode); + else + c->warning(__tr2qs_ctx("Unknown orientation '%Q'", "objects"), &szMode); return true; } diff --git a/src/modules/objects/KvsObject_groupBox.h b/src/modules/objects/KvsObject_groupBox.h index 610a9c1e9..50cf5a78e 100644 --- a/src/modules/objects/KvsObject_groupBox.h +++ b/src/modules/objects/KvsObject_groupBox.h @@ -25,8 +25,6 @@ // //============================================================================= - - #include #include "KvsObject_widget.h" #include "object_macros.h" @@ -38,25 +36,23 @@ public: public: QWidget * widget() { return (QWidget *)object(); }; protected: - virtual bool init(KviKvsRunTimeContext * pContext,KviKvsVariantList *pParams); - - - bool setTitle(KviKvsObjectFunctionCall *c); - bool title(KviKvsObjectFunctionCall *c); - bool setFlat(KviKvsObjectFunctionCall *c); - bool isFlat(KviKvsObjectFunctionCall *c); - bool setCheckable(KviKvsObjectFunctionCall *c); - bool isCheckable(KviKvsObjectFunctionCall *c); - bool setInsideMargin(KviKvsObjectFunctionCall *c); - bool insideMargin(KviKvsObjectFunctionCall *c); - bool setInsideSpacing(KviKvsObjectFunctionCall *c); - bool insideSpacing(KviKvsObjectFunctionCall *c); - bool addSpace(KviKvsObjectFunctionCall *c); - bool alignment(KviKvsObjectFunctionCall *c); - bool setAlignment(KviKvsObjectFunctionCall *c); - bool setOrientation(KviKvsObjectFunctionCall *c); - bool isChecked(KviKvsObjectFunctionCall *c); - bool setChecked(KviKvsObjectFunctionCall *c); + virtual bool init(KviKvsRunTimeContext * pContext, KviKvsVariantList * pParams); + bool setTitle(KviKvsObjectFunctionCall * c); + bool title(KviKvsObjectFunctionCall * c); + bool setFlat(KviKvsObjectFunctionCall * c); + bool isFlat(KviKvsObjectFunctionCall * c); + bool setCheckable(KviKvsObjectFunctionCall * c); + bool isCheckable(KviKvsObjectFunctionCall * c); + bool setInsideMargin(KviKvsObjectFunctionCall * c); + bool insideMargin(KviKvsObjectFunctionCall * c); + bool setInsideSpacing(KviKvsObjectFunctionCall * c); + bool insideSpacing(KviKvsObjectFunctionCall * c); + bool addSpace(KviKvsObjectFunctionCall * c); + bool alignment(KviKvsObjectFunctionCall * c); + bool setAlignment(KviKvsObjectFunctionCall * c); + bool setOrientation(KviKvsObjectFunctionCall * c); + bool isChecked(KviKvsObjectFunctionCall * c); + bool setChecked(KviKvsObjectFunctionCall * c); }; #endif //!_CLASS_GROUPBOX_H_ diff --git a/src/modules/objects/KvsObject_hBox.cpp b/src/modules/objects/KvsObject_hBox.cpp index 190055c96..7ee0e4f59 100644 --- a/src/modules/objects/KvsObject_hBox.cpp +++ b/src/modules/objects/KvsObject_hBox.cpp @@ -40,8 +40,6 @@ const char * const align_tbl[] = { "Justify" }; - - const int align_cod[] = { Qt::AlignLeft, Qt::AlignRight, @@ -53,7 +51,7 @@ const int align_cod[] = { Qt::AlignJustify, }; -#define align_num (sizeof(align_tbl) / sizeof(align_tbl[0])) +#define align_num (sizeof(align_tbl) / sizeof(align_tbl[0])) /* @doc: hbox @@ -83,120 +81,118 @@ const int align_cod[] = { Valid flags are: Right, Left, Top, Bottom, HCenter, VCenter, Center, Justify */ -KVSO_BEGIN_REGISTERCLASS(KvsObject_hBox,"hbox","widget") - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_hBox,setMargin) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_hBox,setSpacing) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_hBox,setStretchFactor ) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_hBox,addStretch ) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_hBox,setAlignment ) +KVSO_BEGIN_REGISTERCLASS(KvsObject_hBox, "hbox", "widget") +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_hBox, setMargin) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_hBox, setSpacing) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_hBox, setStretchFactor) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_hBox, addStretch) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_hBox, setAlignment) KVSO_END_REGISTERCLASS(KvsObject_hBox) -KVSO_BEGIN_CONSTRUCTOR(KvsObject_hBox,KvsObject_widget) +KVSO_BEGIN_CONSTRUCTOR(KvsObject_hBox, KvsObject_widget) KVSO_END_CONSTRUCTOR(KvsObject_hBox) - KVSO_BEGIN_DESTRUCTOR(KvsObject_hBox) KVSO_END_CONSTRUCTOR(KvsObject_hBox) -bool KvsObject_hBox::init(KviKvsRunTimeContext *,KviKvsVariantList *) +bool KvsObject_hBox::init(KviKvsRunTimeContext *, KviKvsVariantList *) { setObject(new KviTalHBox(parentScriptWidget()), true); return true; } -KVSO_CLASS_FUNCTION(hBox,setMargin) +KVSO_CLASS_FUNCTION(hBox, setMargin) { CHECK_INTERNAL_POINTER(widget()) kvs_uint_t uMargin; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("margin",KVS_PT_UNSIGNEDINTEGER,0,uMargin) + KVSO_PARAMETER("margin", KVS_PT_UNSIGNEDINTEGER, 0, uMargin) KVSO_PARAMETERS_END(c) ((KviTalHBox *)widget())->setMargin(uMargin); return true; } -KVSO_CLASS_FUNCTION(hBox,setSpacing) +KVSO_CLASS_FUNCTION(hBox, setSpacing) { CHECK_INTERNAL_POINTER(widget()) kvs_uint_t uSpacing; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("spacing",KVS_PT_UNSIGNEDINTEGER,0,uSpacing) + KVSO_PARAMETER("spacing", KVS_PT_UNSIGNEDINTEGER, 0, uSpacing) KVSO_PARAMETERS_END(c) ((KviTalHBox *)widget())->setSpacing(uSpacing); return true; } -KVSO_CLASS_FUNCTION(hBox,setStretchFactor) +KVSO_CLASS_FUNCTION(hBox, setStretchFactor) { CHECK_INTERNAL_POINTER(widget()) KviKvsObject * pObject; kvs_hobject_t hObject; kvs_uint_t uStretch; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("widget",KVS_PT_HOBJECT,0,hObject) - KVSO_PARAMETER("stretch",KVS_PT_UNSIGNEDINTEGER,0,uStretch) + KVSO_PARAMETER("widget", KVS_PT_HOBJECT, 0, hObject) + KVSO_PARAMETER("stretch", KVS_PT_UNSIGNEDINTEGER, 0, uStretch) KVSO_PARAMETERS_END(c) - pObject=KviKvsKernel::instance()->objectController()->lookupObject(hObject); + pObject = KviKvsKernel::instance()->objectController()->lookupObject(hObject); CHECK_HOBJECT_IS_WIDGET(pObject) if(((KvsObject_widget *)pObject)->widget()->parentWidget() != widget()) { - c->warning(__tr2qs_ctx("The widget must be a child of this hbox","objects")); + c->warning(__tr2qs_ctx("The widget must be a child of this hbox", "objects")); return true; } - ((KviTalHBox *)widget())->setStretchFactor(((QWidget *)(pObject->object())),uStretch); + ((KviTalHBox *)widget())->setStretchFactor(((QWidget *)(pObject->object())), uStretch); return true; } -KVSO_CLASS_FUNCTION(hBox,addStretch) +KVSO_CLASS_FUNCTION(hBox, addStretch) { CHECK_INTERNAL_POINTER(widget()) kvs_int_t iStretch; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("stretch",KVS_PT_INT,0,iStretch) + KVSO_PARAMETER("stretch", KVS_PT_INT, 0, iStretch) KVSO_PARAMETERS_END(c) ((KviTalHBox *)widget())->addStretch(iStretch); return true; } -KVSO_CLASS_FUNCTION(hBox,setAlignment) +KVSO_CLASS_FUNCTION(hBox, setAlignment) { CHECK_INTERNAL_POINTER(widget()) QStringList alignment; KviKvsObject * pObject; kvs_hobject_t hObject; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("widget",KVS_PT_HOBJECT,0,hObject) - KVSO_PARAMETER("alignment",KVS_PT_STRINGLIST,KVS_PF_OPTIONAL,alignment) + KVSO_PARAMETER("widget", KVS_PT_HOBJECT, 0, hObject) + KVSO_PARAMETER("alignment", KVS_PT_STRINGLIST, KVS_PF_OPTIONAL, alignment) KVSO_PARAMETERS_END(c) - pObject=KviKvsKernel::instance()->objectController()->lookupObject(hObject); + pObject = KviKvsKernel::instance()->objectController()->lookupObject(hObject); CHECK_HOBJECT_IS_WIDGET(pObject) if(((KvsObject_widget *)pObject)->widget()->parentWidget() != widget()) { - c->warning(__tr2qs_ctx("The widget must be a child of this hbox","objects")); + c->warning(__tr2qs_ctx("The widget must be a child of this hbox", "objects")); return true; } - int align,sum=0; - for ( QStringList::Iterator it = alignment.begin(); it != alignment.end(); ++it ) - { + int align, sum = 0; + for(QStringList::Iterator it = alignment.begin(); it != alignment.end(); ++it) + { - align = 0; - for(unsigned int j = 0; j < align_num; j++) + align = 0; + for(unsigned int j = 0; j < align_num; j++) + { + if(KviQString::equalCI((*it), align_tbl[j])) { - if(KviQString::equalCI((*it), align_tbl[j])) - { - align=align_cod[j]; - break; - } + align = align_cod[j]; + break; } - if(align) - sum = sum | align; - else - c->warning(__tr2qs_ctx("Unknown alignment '%Q'","objects"),&(*it)); - } - ((KviTalHBox *)widget())->setAlignment(((QWidget *)(pObject->object())),(Qt::Alignment)sum); + if(align) + sum = sum | align; + else + c->warning(__tr2qs_ctx("Unknown alignment '%Q'", "objects"), &(*it)); + } + ((KviTalHBox *)widget())->setAlignment(((QWidget *)(pObject->object())), (Qt::Alignment)sum); return true; } diff --git a/src/modules/objects/KvsObject_hBox.h b/src/modules/objects/KvsObject_hBox.h index 862aebf3b..ef2ce93ca 100644 --- a/src/modules/objects/KvsObject_hBox.h +++ b/src/modules/objects/KvsObject_hBox.h @@ -34,16 +34,13 @@ public: public: QWidget * widget() { return (QWidget *)object(); }; protected: - virtual bool init(KviKvsRunTimeContext * pContext,KviKvsVariantList *pParams); - - bool setMargin(KviKvsObjectFunctionCall *c); - bool setSpacing(KviKvsObjectFunctionCall *c); - bool setStretchFactor(KviKvsObjectFunctionCall *c); - bool addStretch(KviKvsObjectFunctionCall *c); - bool setAlignment(KviKvsObjectFunctionCall *c); - + virtual bool init(KviKvsRunTimeContext * pContext, KviKvsVariantList * pParams); + bool setMargin(KviKvsObjectFunctionCall * c); + bool setSpacing(KviKvsObjectFunctionCall * c); + bool setStretchFactor(KviKvsObjectFunctionCall * c); + bool addStretch(KviKvsObjectFunctionCall * c); + bool setAlignment(KviKvsObjectFunctionCall * c); }; - #endif //_CLASS_HBOX_H_ diff --git a/src/modules/objects/KvsObject_http.cpp b/src/modules/objects/KvsObject_http.cpp index 7a83bbc10..2840b08d3 100644 --- a/src/modules/objects/KvsObject_http.cpp +++ b/src/modules/objects/KvsObject_http.cpp @@ -35,35 +35,35 @@ #include #ifndef QT_NO_OPENSSL - #include - - const char * const ssl_errors_tbl[] = { - "NoError", - "UnableToGetIssuerCertificate", - "UnableToDecryptCertificateSignature", - "UnableToDecodeIssuerPublicKey", - "CertificateSignatureFailed", - "CertificateNotYetValid", - "CertificateExpired", - "InvalidNotBeforeField", - "InvalidNotAfterField", - "SelfSignedCertificate", - "SelfSignedCertificateInChain", - "UnableToGetLocalIssuerCertificate", - "UnableToVerifyFirstCertificate", - "CertificateRevoked", - "InvalidCaCertificate", - "PathLengthExceeded", - "InvalidPurpose", - "CertificateUntrusted", - "CertificateRejected", - "SubjectIssuerMismatch", - "AuthorityIssuerSerialNumberMismatch", - "NoPeerCertificate", - "HostNameMismatch", - "UnspecifiedError", - "NoSslSupport" - }; +#include + +const char * const ssl_errors_tbl[] = { + "NoError", + "UnableToGetIssuerCertificate", + "UnableToDecryptCertificateSignature", + "UnableToDecodeIssuerPublicKey", + "CertificateSignatureFailed", + "CertificateNotYetValid", + "CertificateExpired", + "InvalidNotBeforeField", + "InvalidNotAfterField", + "SelfSignedCertificate", + "SelfSignedCertificateInChain", + "UnableToGetLocalIssuerCertificate", + "UnableToVerifyFirstCertificate", + "CertificateRevoked", + "InvalidCaCertificate", + "PathLengthExceeded", + "InvalidPurpose", + "CertificateUntrusted", + "CertificateRejected", + "SubjectIssuerMismatch", + "AuthorityIssuerSerialNumberMismatch", + "NoPeerCertificate", + "HostNameMismatch", + "UnspecifiedError", + "NoSslSupport" +}; #endif /* @@ -151,410 +151,451 @@ This signal is emitted by the default implementation of [classfnc]$responseHeaderReceivedEvent[/classfnc]. */ -KVSO_BEGIN_REGISTERCLASS(KvsObject_http,"http","object") - KVSO_REGISTER_HANDLER(KvsObject_http,"get",functionGet) - KVSO_REGISTER_HANDLER(KvsObject_http,"post",functionPost) - KVSO_REGISTER_HANDLER(KvsObject_http,"abort",functionAbort) - KVSO_REGISTER_HANDLER(KvsObject_http,"setHost",functionSetHost) - KVSO_REGISTER_HANDLER(KvsObject_http,"setProxy",functionSetProxy) - KVSO_REGISTER_HANDLER(KvsObject_http,"currentId",functionCurrentId) - KVSO_REGISTER_HANDLER(KvsObject_http,"setUser",functionSetUser) - KVSO_REGISTER_HANDLER(KvsObject_http,"readAll",functionReadAll) - KVSO_REGISTER_HANDLER(KvsObject_http,"errorString",functionErrorString) - KVSO_REGISTER_HANDLER(KvsObject_http,"setFollowRedirect",functionFollowRedirect) - - // events - KVSO_REGISTER_HANDLER(KvsObject_http,"doneEvent",functionDoneEvent) - KVSO_REGISTER_HANDLER(KvsObject_http,"requestFinishedEvent",functionRequestFinishedEvent) - KVSO_REGISTER_HANDLER(KvsObject_http,"requestStartedEvent",functionRequestStartedEvent) - KVSO_REGISTER_HANDLER(KvsObject_http,"responseHeaderReceivedEvent",functionResponseHeaderReceivedEvent) - KVSO_REGISTER_HANDLER(KvsObject_http,"dataReadProgressEvent",functionDataReadProgressEvent) - KVSO_REGISTER_HANDLER(KvsObject_http,"dataSendProgressEvent",functionDataSendProgressEvent) - KVSO_REGISTER_HANDLER(KvsObject_http,"stateChangedEvent",functionStateChangedEvent) - KVSO_REGISTER_HANDLER(KvsObject_http,"readyReadEvent",functionReadyReadEvent) - #ifndef QT_NO_OPENSSL - KVSO_REGISTER_HANDLER(KvsObject_http,"sslErrorsEvent",functionSslErrorsEvent) - KVSO_REGISTER_HANDLER(KvsObject_http,"ignoreSSlErrors",functionIgnoreSslErrors) - #endif +KVSO_BEGIN_REGISTERCLASS(KvsObject_http, "http", "object") +KVSO_REGISTER_HANDLER(KvsObject_http, "get", functionGet) +KVSO_REGISTER_HANDLER(KvsObject_http, "post", functionPost) +KVSO_REGISTER_HANDLER(KvsObject_http, "abort", functionAbort) +KVSO_REGISTER_HANDLER(KvsObject_http, "setHost", functionSetHost) +KVSO_REGISTER_HANDLER(KvsObject_http, "setProxy", functionSetProxy) +KVSO_REGISTER_HANDLER(KvsObject_http, "currentId", functionCurrentId) +KVSO_REGISTER_HANDLER(KvsObject_http, "setUser", functionSetUser) +KVSO_REGISTER_HANDLER(KvsObject_http, "readAll", functionReadAll) +KVSO_REGISTER_HANDLER(KvsObject_http, "errorString", functionErrorString) +KVSO_REGISTER_HANDLER(KvsObject_http, "setFollowRedirect", functionFollowRedirect) + +// events +KVSO_REGISTER_HANDLER(KvsObject_http, "doneEvent", functionDoneEvent) +KVSO_REGISTER_HANDLER(KvsObject_http, "requestFinishedEvent", functionRequestFinishedEvent) +KVSO_REGISTER_HANDLER(KvsObject_http, "requestStartedEvent", functionRequestStartedEvent) +KVSO_REGISTER_HANDLER(KvsObject_http, "responseHeaderReceivedEvent", functionResponseHeaderReceivedEvent) +KVSO_REGISTER_HANDLER(KvsObject_http, "dataReadProgressEvent", functionDataReadProgressEvent) +KVSO_REGISTER_HANDLER(KvsObject_http, "dataSendProgressEvent", functionDataSendProgressEvent) +KVSO_REGISTER_HANDLER(KvsObject_http, "stateChangedEvent", functionStateChangedEvent) +KVSO_REGISTER_HANDLER(KvsObject_http, "readyReadEvent", functionReadyReadEvent) +#ifndef QT_NO_OPENSSL +KVSO_REGISTER_HANDLER(KvsObject_http, "sslErrorsEvent", functionSslErrorsEvent) +KVSO_REGISTER_HANDLER(KvsObject_http, "ignoreSSlErrors", functionIgnoreSslErrors) +#endif KVSO_END_REGISTERCLASS(KvsObject_http) - -KVSO_BEGIN_CONSTRUCTOR(KvsObject_http,KviKvsObject) - m_pHttp = new QHttp(); - m_bAbort=false; - m_bEnableForceRedirect=false; - connect(m_pHttp,SIGNAL(requestFinished(int,bool)),this,SLOT(slotRequestFinished(int,bool))); - connect(m_pHttp,SIGNAL(done(bool)),this,SLOT(slotDone(bool))); - - connect(m_pHttp,SIGNAL(requestStarted(int)),this,SLOT(slotRequestStarted(int))); - connect(m_pHttp,SIGNAL(dataSendProgress(int,int)),this,SLOT(slotDataSendProgress(int,int))); - connect(m_pHttp,SIGNAL(dataReadProgress(int,int)),this,SLOT(slotDataReadProgress(int,int))); - connect(m_pHttp,SIGNAL(responseHeaderReceived ( const QHttpResponseHeader & )),this,SLOT(slotResponseHeaderReceived(const QHttpResponseHeader &))); - connect(m_pHttp,SIGNAL(readyRead ( const QHttpResponseHeader & )),this,SLOT(slotReadyRead(const QHttpResponseHeader &))); - #ifndef QT_NO_OPENSSL - connect(m_pHttp,SIGNAL(sslErrors ( const QList & )),this,SLOT(slotSslErrors(const QList & ))); - #endif - connect(m_pHttp,SIGNAL(stateChanged(int)),this,SLOT(slotStateChanged(int))); +KVSO_BEGIN_CONSTRUCTOR(KvsObject_http, KviKvsObject) +m_pHttp = new QHttp(); +m_bAbort = false; +m_bEnableForceRedirect = false; +connect(m_pHttp, SIGNAL(requestFinished(int, bool)), this, SLOT(slotRequestFinished(int, bool))); +connect(m_pHttp, SIGNAL(done(bool)), this, SLOT(slotDone(bool))); + +connect(m_pHttp, SIGNAL(requestStarted(int)), this, SLOT(slotRequestStarted(int))); +connect(m_pHttp, SIGNAL(dataSendProgress(int, int)), this, SLOT(slotDataSendProgress(int, int))); +connect(m_pHttp, SIGNAL(dataReadProgress(int, int)), this, SLOT(slotDataReadProgress(int, int))); +connect(m_pHttp, SIGNAL(responseHeaderReceived(const QHttpResponseHeader &)), this, SLOT(slotResponseHeaderReceived(const QHttpResponseHeader &))); +connect(m_pHttp, SIGNAL(readyRead(const QHttpResponseHeader &)), this, SLOT(slotReadyRead(const QHttpResponseHeader &))); +#ifndef QT_NO_OPENSSL +connect(m_pHttp, SIGNAL(sslErrors(const QList &)), this, SLOT(slotSslErrors(const QList &))); +#endif +connect(m_pHttp, SIGNAL(stateChanged(int)), this, SLOT(slotStateChanged(int))); KVSO_END_CONSTRUCTOR(KvsObject_http) KVSO_BEGIN_DESTRUCTOR(KvsObject_http) - QHashIterator t(getDict); - while (t.hasNext()) - { - t.next(); - int key=t.key(); - QFile *pFile=getDict.value(key); - pFile->close(); - delete pFile; - } - getDict.clear(); - delete m_pHttp; +QHashIterator t(getDict); +while(t.hasNext()) +{ + t.next(); + int key = t.key(); + QFile * pFile = getDict.value(key); + pFile->close(); + delete pFile; +} +getDict.clear(); +delete m_pHttp; KVSO_END_DESTRUCTOR(KvsObject_http) //---------------------- - -bool KvsObject_http::functionSetHost(KviKvsObjectFunctionCall *c) +bool KvsObject_http::functionSetHost(KviKvsObjectFunctionCall * c) { CHECK_INTERNAL_POINTER(m_pHttp) QString szHost; QString szConnectionType; kvs_uint_t uRemotePort; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("host",KVS_PT_STRING,0,szHost) - KVSO_PARAMETER("remote_port",KVS_PT_UNSIGNEDINTEGER,KVS_PF_OPTIONAL,uRemotePort) + KVSO_PARAMETER("host", KVS_PT_STRING, 0, szHost) + KVSO_PARAMETER("remote_port", KVS_PT_UNSIGNEDINTEGER, KVS_PF_OPTIONAL, uRemotePort) KVSO_PARAMETERS_END(c) QUrl url(szHost); - if (!url.isValid()) + if(!url.isValid()) { - c->warning(__tr2qs_ctx("Host '%Q' is not a valid URL","objects"),&szHost); + c->warning(__tr2qs_ctx("Host '%Q' is not a valid URL", "objects"), &szHost); return true; } - if (!szHost.isEmpty() && url.host().isEmpty()) url.setHost(szHost); - if (!uRemotePort) uRemotePort=80; - kvs_uint_t id=0; + if(!szHost.isEmpty() && url.host().isEmpty()) + url.setHost(szHost); + if(!uRemotePort) + uRemotePort = 80; + kvs_uint_t id = 0; QHttp::ConnectionMode mode; - if(url.scheme().toLower()=="https") mode=QHttp::ConnectionModeHttps; - else {mode=QHttp::ConnectionModeHttp;url.setScheme("http");} - if (mode==QHttp::ConnectionModeHttps) uRemotePort=443; - id=m_pHttp->setHost(url.host(), mode, uRemotePort); + if(url.scheme().toLower() == "https") + mode = QHttp::ConnectionModeHttps; + else + { + mode = QHttp::ConnectionModeHttp; + url.setScheme("http"); + } + if(mode == QHttp::ConnectionModeHttps) + uRemotePort = 443; + id = m_pHttp->setHost(url.host(), mode, uRemotePort); c->returnValue()->setInteger(id); return true; } -bool KvsObject_http::functionCurrentId(KviKvsObjectFunctionCall *c) +bool KvsObject_http::functionCurrentId(KviKvsObjectFunctionCall * c) { CHECK_INTERNAL_POINTER(m_pHttp) c->returnValue()->setInteger(m_pHttp->currentId()); return true; } -bool KvsObject_http::functionSetUser(KviKvsObjectFunctionCall *c) +bool KvsObject_http::functionSetUser(KviKvsObjectFunctionCall * c) { CHECK_INTERNAL_POINTER(m_pHttp) QString szUser; QString szPass; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("user",KVS_PT_STRING,0,szUser) - KVSO_PARAMETER("password",KVS_PT_STRING,0,szPass) + KVSO_PARAMETER("user", KVS_PT_STRING, 0, szUser) + KVSO_PARAMETER("password", KVS_PT_STRING, 0, szPass) KVSO_PARAMETERS_END(c) - m_pHttp->setUser(szUser,szPass); + m_pHttp->setUser(szUser, szPass); return true; } -bool KvsObject_http::functionSetProxy(KviKvsObjectFunctionCall *c) +bool KvsObject_http::functionSetProxy(KviKvsObjectFunctionCall * c) { CHECK_INTERNAL_POINTER(m_pHttp) QString szHost; - QString szUser,szPass; + QString szUser, szPass; kvs_uint_t uRemotePort; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("host",KVS_PT_STRING,0,szHost) - KVSO_PARAMETER("remote_port",KVS_PT_UNSIGNEDINTEGER,KVS_PF_OPTIONAL,uRemotePort) - KVSO_PARAMETER("user",KVS_PT_STRING,KVS_PF_OPTIONAL,szUser) - KVSO_PARAMETER("pass",KVS_PT_STRING,KVS_PF_OPTIONAL,szPass) + KVSO_PARAMETER("host", KVS_PT_STRING, 0, szHost) + KVSO_PARAMETER("remote_port", KVS_PT_UNSIGNEDINTEGER, KVS_PF_OPTIONAL, uRemotePort) + KVSO_PARAMETER("user", KVS_PT_STRING, KVS_PF_OPTIONAL, szUser) + KVSO_PARAMETER("pass", KVS_PT_STRING, KVS_PF_OPTIONAL, szPass) KVSO_PARAMETERS_END(c) - m_pHttp->setProxy(szHost,uRemotePort,szUser,szPass); + m_pHttp->setProxy(szHost, uRemotePort, szUser, szPass); return true; } -bool KvsObject_http::functionGet(KviKvsObjectFunctionCall *c) +bool KvsObject_http::functionGet(KviKvsObjectFunctionCall * c) { CHECK_INTERNAL_POINTER(m_pHttp) - QString szPath,szDest; + QString szPath, szDest; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("remote_path",KVS_PT_STRING,0,szPath) - KVSO_PARAMETER("local_filename",KVS_PT_STRING,KVS_PF_OPTIONAL,szDest) + KVSO_PARAMETER("remote_path", KVS_PT_STRING, 0, szPath) + KVSO_PARAMETER("local_filename", KVS_PT_STRING, KVS_PF_OPTIONAL, szDest) KVSO_PARAMETERS_END(c) - QFile * pFile=0; - if (!szDest.isEmpty()) + QFile * pFile = 0; + if(!szDest.isEmpty()) { - pFile=new QFile(szDest); - if (pFile) + pFile = new QFile(szDest); + if(pFile) { pFile->open(QIODevice::WriteOnly); - } else { - c->warning(__tr2qs_ctx("'%Q' is not a valid file path","objects"),&szDest); + } + else + { + c->warning(__tr2qs_ctx("'%Q' is not a valid file path", "objects"), &szDest); c->returnValue()->setInteger(-1); return true; } } - if (szPath.isEmpty()) szPath="/"; - int id=m_pHttp->get(szPath,pFile); - if (pFile) getDict[id]=pFile; + if(szPath.isEmpty()) + szPath = "/"; + int id = m_pHttp->get(szPath, pFile); + if(pFile) + getDict[id] = pFile; c->returnValue()->setInteger(id); return true; } -bool KvsObject_http::functionPost(KviKvsObjectFunctionCall *c) +bool KvsObject_http::functionPost(KviKvsObjectFunctionCall * c) { CHECK_INTERNAL_POINTER(m_pHttp) - QString szPath,szDest,szData; + QString szPath, szDest, szData; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("remote_path",KVS_PT_STRING,0,szPath) - KVSO_PARAMETER("post_data",KVS_PT_STRING,0,szData) - KVSO_PARAMETER("local_filename",KVS_PT_STRING,0,szDest) + KVSO_PARAMETER("remote_path", KVS_PT_STRING, 0, szPath) + KVSO_PARAMETER("post_data", KVS_PT_STRING, 0, szData) + KVSO_PARAMETER("local_filename", KVS_PT_STRING, 0, szDest) KVSO_PARAMETERS_END(c) - QFile *pFile=0; - if (!szDest.isEmpty()){ - pFile=new QFile(szDest); - if (pFile) + QFile * pFile = 0; + if(!szDest.isEmpty()) + { + pFile = new QFile(szDest); + if(pFile) { pFile->open(QIODevice::WriteOnly); } } - if (szPath.isEmpty()) szPath="/"; - int id=m_pHttp->post(szPath,szDest.toUtf8(),pFile); - if (pFile) getDict[id]=pFile; + if(szPath.isEmpty()) + szPath = "/"; + int id = m_pHttp->post(szPath, szDest.toUtf8(), pFile); + if(pFile) + getDict[id] = pFile; c->returnValue()->setInteger(id); return true; } -bool KvsObject_http::functionAbort(KviKvsObjectFunctionCall *c) +bool KvsObject_http::functionAbort(KviKvsObjectFunctionCall * c) { CHECK_INTERNAL_POINTER(m_pHttp) - m_bAbort=true; + m_bAbort = true; m_pHttp->abort(); return true; } -bool KvsObject_http::functionReadAll(KviKvsObjectFunctionCall *c) +bool KvsObject_http::functionReadAll(KviKvsObjectFunctionCall * c) { CHECK_INTERNAL_POINTER(m_pHttp) c->returnValue()->setString(m_pHttp->readAll()); return true; } -bool KvsObject_http::functionErrorString(KviKvsObjectFunctionCall *c) +bool KvsObject_http::functionErrorString(KviKvsObjectFunctionCall * c) { CHECK_INTERNAL_POINTER(m_pHttp) c->returnValue()->setString(m_pHttp->errorString()); return true; } -bool KvsObject_http::functionFollowRedirect(KviKvsObjectFunctionCall *c) +bool KvsObject_http::functionFollowRedirect(KviKvsObjectFunctionCall * c) { bool bEnabled; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("enable",KVS_PT_BOOLEAN,0,bEnabled) + KVSO_PARAMETER("enable", KVS_PT_BOOLEAN, 0, bEnabled) KVSO_PARAMETERS_END(c) - m_bEnableForceRedirect=bEnabled; + m_bEnableForceRedirect = bEnabled; return true; } //signals & slots -bool KvsObject_http::functionRequestFinishedEvent(KviKvsObjectFunctionCall *c) +bool KvsObject_http::functionRequestFinishedEvent(KviKvsObjectFunctionCall * c) { - emitSignal("requestFinished",c,c->params()); + emitSignal("requestFinished", c, c->params()); return true; } -void KvsObject_http::slotRequestFinished ( int id, bool error ) +void KvsObject_http::slotRequestFinished(int id, bool error) { - if (m_bAbort) + if(m_bAbort) { - m_bAbort=false; - QHashIterator t(getDict); - while (t.hasNext()) + m_bAbort = false; + QHashIterator t(getDict); + while(t.hasNext()) { t.next(); - int key=t.key(); - QFile *pFile=getDict.value(key); + int key = t.key(); + QFile * pFile = getDict.value(key); pFile->close(); delete pFile; } getDict.clear(); return; } - QFile *pFile=getDict.value(id); - if (pFile) + QFile * pFile = getDict.value(id); + if(pFile) { - QString name=pFile->fileName(); + QString name = pFile->fileName(); pFile->close(); getDict.remove(id); - int res=m_pHttp->lastResponse().statusCode(); - if ((res==301 || res==302 || res==307) && m_bEnableForceRedirect) - redirect(name,m_pHttp->lastResponse()); + int res = m_pHttp->lastResponse().statusCode(); + if((res == 301 || res == 302 || res == 307) && m_bEnableForceRedirect) + redirect(name, m_pHttp->lastResponse()); delete pFile; } KviKvsVariantList lParams; - lParams.append(new KviKvsVariant((kvs_int_t) id)); + lParams.append(new KviKvsVariant((kvs_int_t)id)); lParams.append(new KviKvsVariant(error)); - callFunction(this,"requestFinishedEvent",0,&lParams); + callFunction(this, "requestFinishedEvent", 0, &lParams); } -bool KvsObject_http::functionRequestStartedEvent(KviKvsObjectFunctionCall *c) +bool KvsObject_http::functionRequestStartedEvent(KviKvsObjectFunctionCall * c) { - emitSignal("requestStarted",c,c->params()); + emitSignal("requestStarted", c, c->params()); return true; } -void KvsObject_http::slotRequestStarted ( int id ) +void KvsObject_http::slotRequestStarted(int id) { KviKvsVariantList lParams; - lParams.append(new KviKvsVariant((kvs_int_t) id)); - callFunction(this,"requestStartedEvent",0,&lParams); + lParams.append(new KviKvsVariant((kvs_int_t)id)); + callFunction(this, "requestStartedEvent", 0, &lParams); } -void KvsObject_http::slotDataReadProgress ( int done,int total ) +void KvsObject_http::slotDataReadProgress(int done, int total) { KviKvsVariantList lParams; - lParams.append(new KviKvsVariant((kvs_int_t) done)); - lParams.append(new KviKvsVariant((kvs_int_t) total)); - callFunction(this,"dataReadProgressEvent",0,&lParams); + lParams.append(new KviKvsVariant((kvs_int_t)done)); + lParams.append(new KviKvsVariant((kvs_int_t)total)); + callFunction(this, "dataReadProgressEvent", 0, &lParams); } -bool KvsObject_http::functionDataReadProgressEvent(KviKvsObjectFunctionCall *c) +bool KvsObject_http::functionDataReadProgressEvent(KviKvsObjectFunctionCall * c) { - emitSignal("dataReadProgress",c,c->params()); + emitSignal("dataReadProgress", c, c->params()); return true; } -void KvsObject_http::slotDataSendProgress ( int done,int total ) +void KvsObject_http::slotDataSendProgress(int done, int total) { KviKvsVariantList lParams; - lParams.append(new KviKvsVariant((kvs_int_t) done)); - lParams.append(new KviKvsVariant((kvs_int_t) total)); - callFunction(this,"dataSendProgressEvent",0,&lParams); + lParams.append(new KviKvsVariant((kvs_int_t)done)); + lParams.append(new KviKvsVariant((kvs_int_t)total)); + callFunction(this, "dataSendProgressEvent", 0, &lParams); } -bool KvsObject_http::functionDataSendProgressEvent(KviKvsObjectFunctionCall *c) +bool KvsObject_http::functionDataSendProgressEvent(KviKvsObjectFunctionCall * c) { - emitSignal("dataSendProgress",c,c->params()); + emitSignal("dataSendProgress", c, c->params()); return true; } -bool KvsObject_http::functionDoneEvent(KviKvsObjectFunctionCall *c) +bool KvsObject_http::functionDoneEvent(KviKvsObjectFunctionCall * c) { - emitSignal("done",c,c->params()); + emitSignal("done", c, c->params()); return true; } -void KvsObject_http::slotDone ( bool error ) +void KvsObject_http::slotDone(bool error) { KviKvsVariantList lParams; lParams.append(new KviKvsVariant(error)); - callFunction(this,"doneEvent",0,&lParams); + callFunction(this, "doneEvent", 0, &lParams); } -bool KvsObject_http::functionResponseHeaderReceivedEvent(KviKvsObjectFunctionCall *c) +bool KvsObject_http::functionResponseHeaderReceivedEvent(KviKvsObjectFunctionCall * c) { - emitSignal("responseHeaderReceived",c,c->params()); + emitSignal("responseHeaderReceived", c, c->params()); return true; } -bool KvsObject_http::functionReadyReadEvent(KviKvsObjectFunctionCall *c) +bool KvsObject_http::functionReadyReadEvent(KviKvsObjectFunctionCall * c) { - emitSignal("readyRead",c,c->params()); + emitSignal("readyRead", c, c->params()); return true; } -void KvsObject_http::redirect(QString &file,const QHttpResponseHeader &r) +void KvsObject_http::redirect(QString & file, const QHttpResponseHeader & r) { QUrl url(r.value("location")); m_pHttp->setHost(url.host()); - QFile *pFile=0; - pFile=new QFile(file); + QFile * pFile = 0; + pFile = new QFile(file); pFile->open(QIODevice::WriteOnly); - int id=m_pHttp->get(url.path(),pFile); - getDict[id]=pFile; + int id = m_pHttp->get(url.path(), pFile); + getDict[id] = pFile; } -void KvsObject_http::slotResponseHeaderReceived(const QHttpResponseHeader &r) +void KvsObject_http::slotResponseHeaderReceived(const QHttpResponseHeader & r) { QString szResponse; - switch (r.statusCode()) { - case 200: szResponse="OK" ;break; - case 301: szResponse="Moved Permanently" ;break; - case 302: szResponse="Found" ;break; - case 303: szResponse="See Other" ;break; - case 307: szResponse="Temporary Redirect" ;break; - default: szResponse=r.reasonPhrase(); - m_bAbort=true; + switch(r.statusCode()) + { + case 200: + szResponse = "OK"; + break; + case 301: + szResponse = "Moved Permanently"; + break; + case 302: + szResponse = "Found"; + break; + case 303: + szResponse = "See Other"; + break; + case 307: + szResponse = "Temporary Redirect"; + break; + default: + szResponse = r.reasonPhrase(); + m_bAbort = true; } - if (r.statusCode()==400) + if(r.statusCode() == 400) { - m_bAbort=true; + m_bAbort = true; m_pHttp->abort(); } KviKvsVariantList lParams; lParams.append(new KviKvsVariant(szResponse)); - callFunction(this,"responseHeaderReceivedEvent",0,&lParams); - + callFunction(this, "responseHeaderReceivedEvent", 0, &lParams); } -void KvsObject_http::slotReadyRead(const QHttpResponseHeader &r) +void KvsObject_http::slotReadyRead(const QHttpResponseHeader & r) { QString szResponse; - switch (r.statusCode()) { - case 200: szResponse="OK" ;break; - case 301: szResponse="Moved Permanently" ;break; - case 302: szResponse="Found" ;break; - case 303: szResponse="See Other" ;break; - case 307: szResponse="Temporary Redirect" ;break; - default: szResponse=r.reasonPhrase(); - m_bAbort=true; + switch(r.statusCode()) + { + case 200: + szResponse = "OK"; + break; + case 301: + szResponse = "Moved Permanently"; + break; + case 302: + szResponse = "Found"; + break; + case 303: + szResponse = "See Other"; + break; + case 307: + szResponse = "Temporary Redirect"; + break; + default: + szResponse = r.reasonPhrase(); + m_bAbort = true; } KviKvsVariantList lParams; lParams.append(new KviKvsVariant(szResponse)); - callFunction(this,"readyreadEvent",0,&lParams); + callFunction(this, "readyreadEvent", 0, &lParams); } - - - -void KvsObject_http::slotStateChanged ( int state) +void KvsObject_http::slotStateChanged(int state) { - QString szState=""; - if (state==QHttp::Unconnected) szState="Unconnected"; - else if (state==QHttp::HostLookup) szState="HostLookup"; - else if (state==QHttp::Connecting) szState="Connecting"; - else if (state==QHttp::Connected) szState="Connected"; - else if (state==QHttp::Sending) szState="Sending"; - else if (state==QHttp::Reading) szState="Reading"; - - else if (state==QHttp::Closing) szState="Closing"; + QString szState = ""; + if(state == QHttp::Unconnected) + szState = "Unconnected"; + else if(state == QHttp::HostLookup) + szState = "HostLookup"; + else if(state == QHttp::Connecting) + szState = "Connecting"; + else if(state == QHttp::Connected) + szState = "Connected"; + else if(state == QHttp::Sending) + szState = "Sending"; + else if(state == QHttp::Reading) + szState = "Reading"; + + else if(state == QHttp::Closing) + szState = "Closing"; KviKvsVariantList lParams; lParams.append(new KviKvsVariant(szState)); - callFunction(this,"stateChangedEvent",0,&lParams); + callFunction(this, "stateChangedEvent", 0, &lParams); } -bool KvsObject_http::functionStateChangedEvent(KviKvsObjectFunctionCall *c) +bool KvsObject_http::functionStateChangedEvent(KviKvsObjectFunctionCall * c) { - emitSignal("stateChanged",c,c->params()); + emitSignal("stateChanged", c, c->params()); return true; } #ifndef QT_NO_OPENSSL -bool KvsObject_http::functionIgnoreSslErrors(KviKvsObjectFunctionCall *) +bool KvsObject_http::functionIgnoreSslErrors(KviKvsObjectFunctionCall *) { - if (m_pHttp) m_pHttp->ignoreSslErrors(); + if(m_pHttp) + m_pHttp->ignoreSslErrors(); return true; } void KvsObject_http::slotSslErrors(QList sslerrors) { - KviKvsArray *pArray=0; - pArray=new KviKvsArray(); - for(int i=0;iset(i,new KviKvsVariant(ssl_errors_tbl[sslerrors.at(i).error()])); + pArray->set(i, new KviKvsVariant(ssl_errors_tbl[sslerrors.at(i).error()])); } KviKvsVariantList lParams; lParams.append(new KviKvsVariant(pArray)); - callFunction(this,"sslErrorEvent",0,&lParams); - } + callFunction(this, "sslErrorEvent", 0, &lParams); +} -bool KvsObject_http::functionSslErrorsEvent(KviKvsObjectFunctionCall *c) +bool KvsObject_http::functionSslErrorsEvent(KviKvsObjectFunctionCall * c) { - emitSignal("sslErrors",c,c->params()); + emitSignal("sslErrors", c, c->params()); return true; } #endif diff --git a/src/modules/objects/KvsObject_http.h b/src/modules/objects/KvsObject_http.h index 2813bd730..9a1a34ea6 100644 --- a/src/modules/objects/KvsObject_http.h +++ b/src/modules/objects/KvsObject_http.h @@ -24,7 +24,6 @@ // //============================================================================= - //=============================================================== #include "object_macros.h" @@ -41,49 +40,49 @@ class KvsObject_http : public KviKvsObject public: KVSO_DECLARE_OBJECT(KvsObject_http) protected: - QHttp *m_pHttp; - QHash getDict; + QHttp * m_pHttp; + QHash getDict; bool m_bAbort; bool m_bEnableForceRedirect; + protected: - bool functionSetHost(KviKvsObjectFunctionCall *c); - bool functionGet(KviKvsObjectFunctionCall *c); - bool functionSetUser(KviKvsObjectFunctionCall *c); - bool functionSetProxy(KviKvsObjectFunctionCall *c); - bool functionRequestFinishedEvent(KviKvsObjectFunctionCall *c); - bool functionRequestStartedEvent(KviKvsObjectFunctionCall *c); - bool functionDataReadProgressEvent(KviKvsObjectFunctionCall *c); - bool functionDataSendProgressEvent(KviKvsObjectFunctionCall *c); - bool functionResponseHeaderReceivedEvent(KviKvsObjectFunctionCall *c); - bool functionAbort(KviKvsObjectFunctionCall *c); - bool functionDoneEvent(KviKvsObjectFunctionCall *c); - bool functionStateChangedEvent(KviKvsObjectFunctionCall *c); - bool functionReadAll(KviKvsObjectFunctionCall *c); - bool functionReadyReadEvent(KviKvsObjectFunctionCall *c); - bool functionErrorString(KviKvsObjectFunctionCall *c); - bool functionPost(KviKvsObjectFunctionCall *c); - bool functionFollowRedirect(KviKvsObjectFunctionCall *c); - bool functionCurrentId(KviKvsObjectFunctionCall *c); - void redirect(QString &file,const QHttpResponseHeader &r); + bool functionSetHost(KviKvsObjectFunctionCall * c); + bool functionGet(KviKvsObjectFunctionCall * c); + bool functionSetUser(KviKvsObjectFunctionCall * c); + bool functionSetProxy(KviKvsObjectFunctionCall * c); + bool functionRequestFinishedEvent(KviKvsObjectFunctionCall * c); + bool functionRequestStartedEvent(KviKvsObjectFunctionCall * c); + bool functionDataReadProgressEvent(KviKvsObjectFunctionCall * c); + bool functionDataSendProgressEvent(KviKvsObjectFunctionCall * c); + bool functionResponseHeaderReceivedEvent(KviKvsObjectFunctionCall * c); + bool functionAbort(KviKvsObjectFunctionCall * c); + bool functionDoneEvent(KviKvsObjectFunctionCall * c); + bool functionStateChangedEvent(KviKvsObjectFunctionCall * c); + bool functionReadAll(KviKvsObjectFunctionCall * c); + bool functionReadyReadEvent(KviKvsObjectFunctionCall * c); + bool functionErrorString(KviKvsObjectFunctionCall * c); + bool functionPost(KviKvsObjectFunctionCall * c); + bool functionFollowRedirect(KviKvsObjectFunctionCall * c); + bool functionCurrentId(KviKvsObjectFunctionCall * c); + void redirect(QString & file, const QHttpResponseHeader & r); - #ifndef QT_NO_OPENSSL - bool functionIgnoreSslErrors(KviKvsObjectFunctionCall *c); - bool functionSslErrorsEvent(KviKvsObjectFunctionCall *c); - #endif +#ifndef QT_NO_OPENSSL + bool functionIgnoreSslErrors(KviKvsObjectFunctionCall * c); + bool functionSslErrorsEvent(KviKvsObjectFunctionCall * c); +#endif protected slots: - void slotRequestFinished ( int id, bool error ); - void slotDone (bool error ); - void slotRequestStarted ( int id ); - void slotDataSendProgress ( int done, int total ); - void slotDataReadProgress ( int done, int total ); - #ifndef QT_NO_OPENSSL + void slotRequestFinished(int id, bool error); + void slotDone(bool error); + void slotRequestStarted(int id); + void slotDataSendProgress(int done, int total); + void slotDataReadProgress(int done, int total); +#ifndef QT_NO_OPENSSL void slotSslErrors(QList); - #endif - void slotResponseHeaderReceived(const QHttpResponseHeader &r); - void slotReadyRead(const QHttpResponseHeader &r); - void slotStateChanged ( int state); - +#endif + void slotResponseHeaderReceived(const QHttpResponseHeader & r); + void slotReadyRead(const QHttpResponseHeader & r); + void slotStateChanged(int state); }; #endif //_CLASS_HTTP_H_ diff --git a/src/modules/objects/KvsObject_label.cpp b/src/modules/objects/KvsObject_label.cpp index e096604b6..3c3baff78 100644 --- a/src/modules/objects/KvsObject_label.cpp +++ b/src/modules/objects/KvsObject_label.cpp @@ -35,8 +35,6 @@ #include #include - - // Tables used in $setAlignment & $alignment const char * const align_tbl[] = { "Left", @@ -60,7 +58,7 @@ const int align_cod[] = { Qt::AlignJustify, }; -#define align_num (sizeof(align_tbl) / sizeof(align_tbl[0])) +#define align_num (sizeof(align_tbl) / sizeof(align_tbl[0])) // used in $frameStyle & $setFrameStyle const char * const frame_tbl[] = { @@ -86,7 +84,7 @@ const int frame_cod[] = { QFrame::Sunken }; -#define frame_num (sizeof(frame_tbl) / sizeof(frame_tbl[0])) +#define frame_num (sizeof(frame_tbl) / sizeof(frame_tbl[0])) /* @doc: label @@ -175,29 +173,28 @@ const int frame_cod[] = { */ -KVSO_BEGIN_REGISTERCLASS(KvsObject_label,"label","widget") - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_label,setText) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_label,text) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_label,margin) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_label,setMargin) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_label,alignment) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_label,setAlignment) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_label,clear) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_label,frameStyle) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_label,setFrameStyle) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_label,setImage) +KVSO_BEGIN_REGISTERCLASS(KvsObject_label, "label", "widget") +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_label, setText) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_label, text) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_label, margin) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_label, setMargin) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_label, alignment) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_label, setAlignment) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_label, clear) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_label, frameStyle) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_label, setFrameStyle) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_label, setImage) KVSO_END_REGISTERCLASS(KvsObject_label) -KVSO_BEGIN_CONSTRUCTOR(KvsObject_label,KvsObject_widget) +KVSO_BEGIN_CONSTRUCTOR(KvsObject_label, KvsObject_widget) KVSO_END_CONSTRUCTOR(KvsObject_label) - KVSO_BEGIN_DESTRUCTOR(KvsObject_label) KVSO_END_CONSTRUCTOR(KvsObject_label) -bool KvsObject_label::init(KviKvsRunTimeContext *,KviKvsVariantList *) +bool KvsObject_label::init(KviKvsRunTimeContext *, KviKvsVariantList *) { SET_OBJECT(QLabel) ((QLabel *)widget())->setWordWrap(true); @@ -205,50 +202,50 @@ bool KvsObject_label::init(KviKvsRunTimeContext *,KviKvsVariantList *) return true; } -KVSO_CLASS_FUNCTION(label,setText) +KVSO_CLASS_FUNCTION(label, setText) { CHECK_INTERNAL_POINTER(widget()) QString szText; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("text",KVS_PT_STRING,0,szText) + KVSO_PARAMETER("text", KVS_PT_STRING, 0, szText) KVSO_PARAMETERS_END(c) ((QLabel *)widget())->setText(szText); return true; } -KVSO_CLASS_FUNCTION(label,text) +KVSO_CLASS_FUNCTION(label, text) { CHECK_INTERNAL_POINTER(widget()) c->returnValue()->setString(((QLabel *)widget())->text()); return true; } -KVSO_CLASS_FUNCTION(label,setMargin) +KVSO_CLASS_FUNCTION(label, setMargin) { CHECK_INTERNAL_POINTER(widget()) kvs_uint_t iMargin; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("margin",KVS_PT_UNSIGNEDINTEGER,0,iMargin) + KVSO_PARAMETER("margin", KVS_PT_UNSIGNEDINTEGER, 0, iMargin) KVSO_PARAMETERS_END(c) ((QLabel *)widget())->setMargin(iMargin); return true; } -KVSO_CLASS_FUNCTION(label,margin) +KVSO_CLASS_FUNCTION(label, margin) { CHECK_INTERNAL_POINTER(widget()) c->returnValue()->setInteger(((QLabel *)widget())->margin()); return true; } -KVSO_CLASS_FUNCTION(label,setAlignment) +KVSO_CLASS_FUNCTION(label, setAlignment) { CHECK_INTERNAL_POINTER(widget()) QStringList alignment; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("alignment",KVS_PT_STRINGLIST,KVS_PF_OPTIONAL,alignment) + KVSO_PARAMETER("alignment", KVS_PT_STRINGLIST, KVS_PF_OPTIONAL, alignment) KVSO_PARAMETERS_END(c) - int align,sum=0; - for ( QStringList::Iterator it = alignment.begin(); it != alignment.end(); ++it ) + int align, sum = 0; + for(QStringList::Iterator it = alignment.begin(); it != alignment.end(); ++it) { align = 0; @@ -256,30 +253,29 @@ KVSO_CLASS_FUNCTION(label,setAlignment) { if(KviQString::equalCI((*it), align_tbl[j])) { - align=align_cod[j]; + align = align_cod[j]; break; } } if(align) sum = sum | align; else - c->warning(__tr2qs_ctx("Unknown alignment '%Q'","objects"),&(*it)); - + c->warning(__tr2qs_ctx("Unknown alignment '%Q'", "objects"), &(*it)); } ((QLabel *)widget())->setAlignment((Qt::Alignment)sum); return true; } -KVSO_CLASS_FUNCTION(label,alignment) +KVSO_CLASS_FUNCTION(label, alignment) { CHECK_INTERNAL_POINTER(widget()) int mode = ((QLabel *)widget())->alignment(); - QString szAlignment=""; + QString szAlignment = ""; for(unsigned int i = 0; i < align_num; i++) { if(mode == align_cod[i]) { - szAlignment=align_tbl[i]; + szAlignment = align_tbl[i]; break; } } @@ -287,53 +283,53 @@ KVSO_CLASS_FUNCTION(label,alignment) return true; } -KVSO_CLASS_FUNCTION(label,clear) +KVSO_CLASS_FUNCTION(label, clear) { CHECK_INTERNAL_POINTER(widget()) ((QLabel *)widget())->clear(); return true; } -KVSO_CLASS_FUNCTION(label,setFrameStyle) +KVSO_CLASS_FUNCTION(label, setFrameStyle) { CHECK_INTERNAL_POINTER(widget()) QStringList style; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("style",KVS_PT_STRINGLIST,KVS_PF_OPTIONAL,style) + KVSO_PARAMETER("style", KVS_PT_STRINGLIST, KVS_PF_OPTIONAL, style) KVSO_PARAMETERS_END(c) - if (!widget()) return true; - int framestyle,sum=0; - for ( QStringList::Iterator it = style.begin(); it != style.end(); ++it ) + if(!widget()) + return true; + int framestyle, sum = 0; + for(QStringList::Iterator it = style.begin(); it != style.end(); ++it) { framestyle = 0; for(unsigned int j = 0; j < align_num; j++) { if(KviQString::equalCI((*it), frame_tbl[j])) { - framestyle=frame_cod[j]; + framestyle = frame_cod[j]; break; } } if(framestyle) sum = sum | framestyle; else - c->warning(__tr2qs_ctx("Unknown style '%Q'","objects"),&(*it)); - + c->warning(__tr2qs_ctx("Unknown style '%Q'", "objects"), &(*it)); } ((QLabel *)widget())->setFrameStyle(sum); return true; } -KVSO_CLASS_FUNCTION(label,frameStyle) +KVSO_CLASS_FUNCTION(label, frameStyle) { CHECK_INTERNAL_POINTER(widget()) int mode = ((QLabel *)widget())->frameStyle(); - QString szStyle=""; + QString szStyle = ""; for(unsigned int i = 0; i < frame_num; i++) { if(mode == frame_cod[i]) { - szStyle=frame_tbl[i]; + szStyle = frame_tbl[i]; break; } } @@ -341,14 +337,15 @@ KVSO_CLASS_FUNCTION(label,frameStyle) return true; } -KVSO_CLASS_FUNCTION(label,setImage) +KVSO_CLASS_FUNCTION(label, setImage) { CHECK_INTERNAL_POINTER(widget()) QString icon; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("icon",KVS_PT_STRING,0,icon) + KVSO_PARAMETER("icon", KVS_PT_STRING, 0, icon) KVSO_PARAMETERS_END(c) QPixmap * pix = g_pIconManager->getImage(icon); - if(pix) ((QLabel *)widget())->setPixmap(*pix); + if(pix) + ((QLabel *)widget())->setPixmap(*pix); return true; } diff --git a/src/modules/objects/KvsObject_label.h b/src/modules/objects/KvsObject_label.h index 7b626cc46..1382c60f6 100644 --- a/src/modules/objects/KvsObject_label.h +++ b/src/modules/objects/KvsObject_label.h @@ -1,5 +1,5 @@ -#ifndef _CLASS_LABEL_H_ -#define _CLASS_LABEL_H_ +#ifndef _CLASS_LABEL_H_ +#define _CLASS_LABEL_H_ //============================================================================= // // File : KvsObject_label.h @@ -25,7 +25,6 @@ // //============================================================================= - #include "KvsObject_widget.h" #include "object_macros.h" @@ -36,18 +35,18 @@ public: public: QWidget * widget() { return (QWidget *)object(); }; protected: - virtual bool init(KviKvsRunTimeContext * pContext,KviKvsVariantList *pParams); + virtual bool init(KviKvsRunTimeContext * pContext, KviKvsVariantList * pParams); - bool setTitle(KviKvsObjectFunctionCall *c); - bool setText(KviKvsObjectFunctionCall *c); - bool text(KviKvsObjectFunctionCall *c); - bool margin(KviKvsObjectFunctionCall *c); - bool setMargin(KviKvsObjectFunctionCall *c); - bool alignment(KviKvsObjectFunctionCall *c); - bool setAlignment(KviKvsObjectFunctionCall *c); - bool clear(KviKvsObjectFunctionCall *c); - bool frameStyle(KviKvsObjectFunctionCall *c); - bool setFrameStyle(KviKvsObjectFunctionCall *c); - bool setImage(KviKvsObjectFunctionCall *c); + bool setTitle(KviKvsObjectFunctionCall * c); + bool setText(KviKvsObjectFunctionCall * c); + bool text(KviKvsObjectFunctionCall * c); + bool margin(KviKvsObjectFunctionCall * c); + bool setMargin(KviKvsObjectFunctionCall * c); + bool alignment(KviKvsObjectFunctionCall * c); + bool setAlignment(KviKvsObjectFunctionCall * c); + bool clear(KviKvsObjectFunctionCall * c); + bool frameStyle(KviKvsObjectFunctionCall * c); + bool setFrameStyle(KviKvsObjectFunctionCall * c); + bool setImage(KviKvsObjectFunctionCall * c); }; -#endif // !_CLASS_LABEL_H_ +#endif // !_CLASS_LABEL_H_ diff --git a/src/modules/objects/KvsObject_layout.cpp b/src/modules/objects/KvsObject_layout.cpp index f938e94a7..79beb9e79 100644 --- a/src/modules/objects/KvsObject_layout.cpp +++ b/src/modules/objects/KvsObject_layout.cpp @@ -29,29 +29,27 @@ #include - // Tables used in $setAlignment & $alignment const char * const align_tbl[] = { - "Left", - "Right", - "HCenter", - "VCenter", - "Center", - "Top", - "Bottom", - }; - + "Left", + "Right", + "HCenter", + "VCenter", + "Center", + "Top", + "Bottom", +}; const int align_cod[] = { - Qt::AlignLeft, - Qt::AlignRight, - Qt::AlignHCenter, - Qt::AlignVCenter, - Qt::AlignCenter, - Qt::AlignTop, - Qt::AlignBottom, - }; -#define align_num (sizeof(align_tbl) / sizeof(align_tbl[0])) + Qt::AlignLeft, + Qt::AlignRight, + Qt::AlignHCenter, + Qt::AlignVCenter, + Qt::AlignCenter, + Qt::AlignTop, + Qt::AlignBottom, +}; +#define align_num (sizeof(align_tbl) / sizeof(align_tbl[0])) /* @doc: layout @@ -107,196 +105,200 @@ const int align_cod[] = { [/pre] */ -KVSO_BEGIN_REGISTERCLASS(KvsObject_layout,"layout","object") - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_layout,addWidget) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_layout,addMultiCellWidget) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_layout,setRowStretch) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_layout,setColumnStretch) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_layout,addRowSpacing) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_layout,addColSpacing) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_layout,setMargin) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_layout,setSpacing) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_layout,setResizeMode) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_layout,setAlignment ) +KVSO_BEGIN_REGISTERCLASS(KvsObject_layout, "layout", "object") +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_layout, addWidget) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_layout, addMultiCellWidget) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_layout, setRowStretch) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_layout, setColumnStretch) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_layout, addRowSpacing) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_layout, addColSpacing) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_layout, setMargin) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_layout, setSpacing) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_layout, setResizeMode) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_layout, setAlignment) KVSO_END_REGISTERCLASS(KvsObject_layout) -KVSO_BEGIN_CONSTRUCTOR(KvsObject_layout,KviKvsObject) +KVSO_BEGIN_CONSTRUCTOR(KvsObject_layout, KviKvsObject) KVSO_END_CONSTRUCTOR(KvsObject_layout) - KVSO_BEGIN_DESTRUCTOR(KvsObject_layout) KVSO_END_CONSTRUCTOR(KvsObject_layout) -bool KvsObject_layout::init(KviKvsRunTimeContext * pContext,KviKvsVariantList *) +bool KvsObject_layout::init(KviKvsRunTimeContext * pContext, KviKvsVariantList *) { QWidget * w = parentScriptWidget(); if(!w) { - pContext->warning(__tr2qs_ctx("The parent of a layout must be a widget!","objects")); + pContext->warning(__tr2qs_ctx("The parent of a layout must be a widget!", "objects")); return false; } if(w->inherits("QToolBar")) { - pContext->warning(__tr2qs_ctx("Qt does not support setting layouts on toolbar objects","objects")); + pContext->warning(__tr2qs_ctx("Qt does not support setting layouts on toolbar objects", "objects")); return false; } // If there already is a layout manager installed on this widget, QWidget won't let you install another. - if(w->layout()) delete w->layout(); - setObject(new QGridLayout(w)); - ((QGridLayout *)object())->setVerticalSpacing(0); - ((QGridLayout *)object())->setHorizontalSpacing(0); - setObjectName(getName()); - return true; + if(w->layout()) + delete w->layout(); + setObject(new QGridLayout(w)); + ((QGridLayout *)object())->setVerticalSpacing(0); + ((QGridLayout *)object())->setHorizontalSpacing(0); + setObjectName(getName()); + return true; } -KVSO_CLASS_FUNCTION(layout,addWidget) +KVSO_CLASS_FUNCTION(layout, addWidget) { CHECK_INTERNAL_POINTER(widget()) KviKvsObject * pObject; kvs_hobject_t hObject; - kvs_uint_t uCol,uRow; + kvs_uint_t uCol, uRow; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("widget",KVS_PT_HOBJECT,0,hObject) - KVSO_PARAMETER("row",KVS_PT_UNSIGNEDINTEGER,0,uRow) - KVSO_PARAMETER("col",KVS_PT_UNSIGNEDINTEGER,0,uCol) + KVSO_PARAMETER("widget", KVS_PT_HOBJECT, 0, hObject) + KVSO_PARAMETER("row", KVS_PT_UNSIGNEDINTEGER, 0, uRow) + KVSO_PARAMETER("col", KVS_PT_UNSIGNEDINTEGER, 0, uCol) KVSO_PARAMETERS_END(c) - pObject=KviKvsKernel::instance()->objectController()->lookupObject(hObject); + pObject = KviKvsKernel::instance()->objectController()->lookupObject(hObject); CHECK_HOBJECT_IS_WIDGET(pObject) - ((QGridLayout *)object())->addWidget(((QWidget *)(pObject->object())),uRow,uCol); + ((QGridLayout *)object())->addWidget(((QWidget *)(pObject->object())), uRow, uCol); return true; } -KVSO_CLASS_FUNCTION(layout,addMultiCellWidget) +KVSO_CLASS_FUNCTION(layout, addMultiCellWidget) { CHECK_INTERNAL_POINTER(widget()) KviKvsObject * pObject; kvs_hobject_t hObject; - kvs_uint_t uStartCol,uStartRow,uEndCol,uEndRow; + kvs_uint_t uStartCol, uStartRow, uEndCol, uEndRow; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("widget",KVS_PT_HOBJECT,0,hObject) - KVSO_PARAMETER("start_row",KVS_PT_UNSIGNEDINTEGER,0,uStartRow) - KVSO_PARAMETER("end_row",KVS_PT_UNSIGNEDINTEGER,0,uEndRow) - KVSO_PARAMETER("start_column",KVS_PT_UNSIGNEDINTEGER,0,uStartCol) - KVSO_PARAMETER("end_column",KVS_PT_UNSIGNEDINTEGER,0,uEndCol) + KVSO_PARAMETER("widget", KVS_PT_HOBJECT, 0, hObject) + KVSO_PARAMETER("start_row", KVS_PT_UNSIGNEDINTEGER, 0, uStartRow) + KVSO_PARAMETER("end_row", KVS_PT_UNSIGNEDINTEGER, 0, uEndRow) + KVSO_PARAMETER("start_column", KVS_PT_UNSIGNEDINTEGER, 0, uStartCol) + KVSO_PARAMETER("end_column", KVS_PT_UNSIGNEDINTEGER, 0, uEndCol) KVSO_PARAMETERS_END(c) - pObject=KviKvsKernel::instance()->objectController()->lookupObject(hObject); + pObject = KviKvsKernel::instance()->objectController()->lookupObject(hObject); CHECK_HOBJECT_IS_WIDGET(pObject) - ((QGridLayout *)object())->addWidget(((QWidget *)(pObject->object())),uStartRow, uStartCol, uEndRow - uStartRow + 1, uEndCol - uStartCol + 1); + ((QGridLayout *)object())->addWidget(((QWidget *)(pObject->object())), uStartRow, uStartCol, uEndRow - uStartRow + 1, uEndCol - uStartCol + 1); return true; } -KVSO_CLASS_FUNCTION(layout,setRowStretch) +KVSO_CLASS_FUNCTION(layout, setRowStretch) { CHECK_INTERNAL_POINTER(widget()) - kvs_uint_t uRow,uStretch; + kvs_uint_t uRow, uStretch; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("row",KVS_PT_UNSIGNEDINTEGER,0,uRow) - KVSO_PARAMETER("stretch",KVS_PT_UNSIGNEDINTEGER,0,uStretch) + KVSO_PARAMETER("row", KVS_PT_UNSIGNEDINTEGER, 0, uRow) + KVSO_PARAMETER("stretch", KVS_PT_UNSIGNEDINTEGER, 0, uStretch) KVSO_PARAMETERS_END(c) - ((QGridLayout *)object())->setRowStretch(uRow,uStretch); + ((QGridLayout *)object())->setRowStretch(uRow, uStretch); return true; } -KVSO_CLASS_FUNCTION(layout,setColumnStretch) +KVSO_CLASS_FUNCTION(layout, setColumnStretch) { CHECK_INTERNAL_POINTER(widget()) - kvs_uint_t uCol,uStretch; + kvs_uint_t uCol, uStretch; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("column",KVS_PT_UNSIGNEDINTEGER,0,uCol) - KVSO_PARAMETER("stretch",KVS_PT_UNSIGNEDINTEGER,0,uStretch) + KVSO_PARAMETER("column", KVS_PT_UNSIGNEDINTEGER, 0, uCol) + KVSO_PARAMETER("stretch", KVS_PT_UNSIGNEDINTEGER, 0, uStretch) KVSO_PARAMETERS_END(c) - ((QGridLayout *)object())->setColumnStretch(uCol,uStretch); + ((QGridLayout *)object())->setColumnStretch(uCol, uStretch); return true; } -KVSO_CLASS_FUNCTION(layout,setMargin) +KVSO_CLASS_FUNCTION(layout, setMargin) { CHECK_INTERNAL_POINTER(widget()) kvs_uint_t uMargin; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("margin",KVS_PT_UNSIGNEDINTEGER,0,uMargin) + KVSO_PARAMETER("margin", KVS_PT_UNSIGNEDINTEGER, 0, uMargin) KVSO_PARAMETERS_END(c) ((QGridLayout *)object())->setMargin(uMargin); return true; } -KVSO_CLASS_FUNCTION(layout,setSpacing) +KVSO_CLASS_FUNCTION(layout, setSpacing) { CHECK_INTERNAL_POINTER(widget()) kvs_uint_t uSpacing; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("spacing",KVS_PT_UNSIGNEDINTEGER,0,uSpacing) + KVSO_PARAMETER("spacing", KVS_PT_UNSIGNEDINTEGER, 0, uSpacing) KVSO_PARAMETERS_END(c) ((QGridLayout *)object())->setSpacing(uSpacing); return true; } -KVSO_CLASS_FUNCTION(layout,addRowSpacing) +KVSO_CLASS_FUNCTION(layout, addRowSpacing) { CHECK_INTERNAL_POINTER(widget()) - kvs_uint_t uSpacing,uRow; + kvs_uint_t uSpacing, uRow; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("row",KVS_PT_UNSIGNEDINTEGER,0,uRow) - KVSO_PARAMETER("spacing",KVS_PT_UNSIGNEDINTEGER,0,uSpacing) + KVSO_PARAMETER("row", KVS_PT_UNSIGNEDINTEGER, 0, uRow) + KVSO_PARAMETER("spacing", KVS_PT_UNSIGNEDINTEGER, 0, uSpacing) KVSO_PARAMETERS_END(c) ((QGridLayout *)object())->addItem(new QSpacerItem(0, uSpacing), uRow, 0); return true; } -KVSO_CLASS_FUNCTION(layout,addColSpacing) +KVSO_CLASS_FUNCTION(layout, addColSpacing) { CHECK_INTERNAL_POINTER(widget()) - kvs_uint_t uSpacing,uCol; + kvs_uint_t uSpacing, uCol; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("column",KVS_PT_UNSIGNEDINTEGER,0,uCol) - KVSO_PARAMETER("spacing",KVS_PT_UNSIGNEDINTEGER,0,uSpacing) + KVSO_PARAMETER("column", KVS_PT_UNSIGNEDINTEGER, 0, uCol) + KVSO_PARAMETER("spacing", KVS_PT_UNSIGNEDINTEGER, 0, uSpacing) KVSO_PARAMETERS_END(c) - ((QGridLayout *)object())->addItem(new QSpacerItem(uSpacing,0), 0, uCol); + ((QGridLayout *)object())->addItem(new QSpacerItem(uSpacing, 0), 0, uCol); return true; } -KVSO_CLASS_FUNCTION(layout,setResizeMode) +KVSO_CLASS_FUNCTION(layout, setResizeMode) { CHECK_INTERNAL_POINTER(widget()) QString szMode; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("resize_mode",KVS_PT_STRING,0,szMode) + KVSO_PARAMETER("resize_mode", KVS_PT_STRING, 0, szMode) KVSO_PARAMETERS_END(c) QLayout::SizeConstraint r = QLayout::SetDefaultConstraint; - if(KviQString::equalCI(szMode,"FreeResize")) r = QLayout::SetNoConstraint; - else if(KviQString::equalCI(szMode,"Minimum")) r = QLayout::SetMinimumSize; - else if(KviQString::equalCI(szMode,"Fixed"))r = QLayout::SetFixedSize; - else c->warning(__tr2qs_ctx("Invalid resize mode defaulting to Auto","objects")); + if(KviQString::equalCI(szMode, "FreeResize")) + r = QLayout::SetNoConstraint; + else if(KviQString::equalCI(szMode, "Minimum")) + r = QLayout::SetMinimumSize; + else if(KviQString::equalCI(szMode, "Fixed")) + r = QLayout::SetFixedSize; + else + c->warning(__tr2qs_ctx("Invalid resize mode defaulting to Auto", "objects")); ((QGridLayout *)object())->setSizeConstraint(r); return true; } -KVSO_CLASS_FUNCTION(layout,setAlignment) +KVSO_CLASS_FUNCTION(layout, setAlignment) { CHECK_INTERNAL_POINTER(widget()) QStringList alignment; KviKvsObject * pObject; kvs_hobject_t hObject; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("widget",KVS_PT_HOBJECT,0,hObject) - KVSO_PARAMETER("alignment",KVS_PT_STRINGLIST,KVS_PF_OPTIONAL,alignment) + KVSO_PARAMETER("widget", KVS_PT_HOBJECT, 0, hObject) + KVSO_PARAMETER("alignment", KVS_PT_STRINGLIST, KVS_PF_OPTIONAL, alignment) KVSO_PARAMETERS_END(c) - pObject=KviKvsKernel::instance()->objectController()->lookupObject(hObject); + pObject = KviKvsKernel::instance()->objectController()->lookupObject(hObject); CHECK_HOBJECT_IS_WIDGET(pObject) - int index=((QGridLayout *)widget())->indexOf(((QWidget *)(pObject->object()))); + int index = ((QGridLayout *)widget())->indexOf(((QWidget *)(pObject->object()))); if(index == -1) { - c->warning(__tr2qs_ctx("The widget must be a child of this layout","objects")); + c->warning(__tr2qs_ctx("The widget must be a child of this layout", "objects")); return true; } int align, sum = 0; - for(auto& it : alignment) + for(auto & it : alignment) { align = 0; for(size_t j{}; j < align_num; j++) @@ -310,10 +312,10 @@ KVSO_CLASS_FUNCTION(layout,setAlignment) if(align) sum = sum | align; else - c->warning(__tr2qs_ctx("Unknown alignment: '%Q'","objects"),&it); + c->warning(__tr2qs_ctx("Unknown alignment: '%Q'", "objects"), &it); } if(widget()) - ((QGridLayout *)widget())->setAlignment(((QWidget *)(pObject->object())),(Qt::Alignment)sum); - return true; + ((QGridLayout *)widget())->setAlignment(((QWidget *)(pObject->object())), (Qt::Alignment)sum); + return true; } diff --git a/src/modules/objects/KvsObject_layout.h b/src/modules/objects/KvsObject_layout.h index 621ff3605..99b0c1238 100644 --- a/src/modules/objects/KvsObject_layout.h +++ b/src/modules/objects/KvsObject_layout.h @@ -33,18 +33,18 @@ public: public: QWidget * widget() { return (QWidget *)object(); }; protected: - virtual bool init(KviKvsRunTimeContext * pContext,KviKvsVariantList *pParams); + virtual bool init(KviKvsRunTimeContext * pContext, KviKvsVariantList * pParams); - bool addWidget(KviKvsObjectFunctionCall *c); - bool addMultiCellWidget(KviKvsObjectFunctionCall *c); - bool setRowStretch(KviKvsObjectFunctionCall *c); - bool setColumnStretch(KviKvsObjectFunctionCall *c); - bool setMargin(KviKvsObjectFunctionCall *c); - bool setSpacing(KviKvsObjectFunctionCall *c); - bool addRowSpacing(KviKvsObjectFunctionCall *c); - bool addColSpacing(KviKvsObjectFunctionCall *c); - bool setResizeMode(KviKvsObjectFunctionCall *c); - bool setAlignment(KviKvsObjectFunctionCall *c); + bool addWidget(KviKvsObjectFunctionCall * c); + bool addMultiCellWidget(KviKvsObjectFunctionCall * c); + bool setRowStretch(KviKvsObjectFunctionCall * c); + bool setColumnStretch(KviKvsObjectFunctionCall * c); + bool setMargin(KviKvsObjectFunctionCall * c); + bool setSpacing(KviKvsObjectFunctionCall * c); + bool addRowSpacing(KviKvsObjectFunctionCall * c); + bool addColSpacing(KviKvsObjectFunctionCall * c); + bool setResizeMode(KviKvsObjectFunctionCall * c); + bool setAlignment(KviKvsObjectFunctionCall * c); }; #endif //_CLASS_LAYOUT_H_ diff --git a/src/modules/objects/KvsObject_lcd.cpp b/src/modules/objects/KvsObject_lcd.cpp index 39c8f3489..13b466f5e 100644 --- a/src/modules/objects/KvsObject_lcd.cpp +++ b/src/modules/objects/KvsObject_lcd.cpp @@ -68,123 +68,131 @@ Returns 1 (true) if the number is too big to be displayed in its entirety; otherwise returns 0 (false). */ -KVSO_BEGIN_REGISTERCLASS(KvsObject_lcd,"lcdnumber","widget") - - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_lcd,displayStr) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_lcd,displayInt) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_lcd,displayDouble) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_lcd,setMode) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_lcd,setSegmentStyle) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_lcd,setNumDigits) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_lcd,setSmallDecimalPoint) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_lcd,checkOverflow) +KVSO_BEGIN_REGISTERCLASS(KvsObject_lcd, "lcdnumber", "widget") + +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_lcd, displayStr) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_lcd, displayInt) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_lcd, displayDouble) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_lcd, setMode) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_lcd, setSegmentStyle) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_lcd, setNumDigits) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_lcd, setSmallDecimalPoint) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_lcd, checkOverflow) KVSO_END_REGISTERCLASS(KvsObject_lcd) -KVSO_BEGIN_CONSTRUCTOR(KvsObject_lcd,KvsObject_widget) +KVSO_BEGIN_CONSTRUCTOR(KvsObject_lcd, KvsObject_widget) KVSO_END_CONSTRUCTOR(KvsObject_lcd) - KVSO_BEGIN_DESTRUCTOR(KvsObject_lcd) KVSO_END_CONSTRUCTOR(KvsObject_lcd) -bool KvsObject_lcd::init(KviKvsRunTimeContext *,KviKvsVariantList *) +bool KvsObject_lcd::init(KviKvsRunTimeContext *, KviKvsVariantList *) { SET_OBJECT(QLCDNumber) return true; } -KVSO_CLASS_FUNCTION(lcd,displayInt) +KVSO_CLASS_FUNCTION(lcd, displayInt) { CHECK_INTERNAL_POINTER(widget()) kvs_int_t iDigit; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("number",KVS_PT_INT,0,iDigit) + KVSO_PARAMETER("number", KVS_PT_INT, 0, iDigit) KVSO_PARAMETERS_END(c) ((QLCDNumber *)widget())->display((int)iDigit); return true; } -KVSO_CLASS_FUNCTION(lcd,displayStr) +KVSO_CLASS_FUNCTION(lcd, displayStr) { CHECK_INTERNAL_POINTER(widget()) QString szText; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("number",KVS_PT_STRING,0,szText) + KVSO_PARAMETER("number", KVS_PT_STRING, 0, szText) KVSO_PARAMETERS_END(c) ((QLCDNumber *)widget())->display(szText); return true; } -KVSO_CLASS_FUNCTION(lcd,displayDouble) +KVSO_CLASS_FUNCTION(lcd, displayDouble) { CHECK_INTERNAL_POINTER(widget()) kvs_real_t dDigit; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("number",KVS_PT_DOUBLE,0,dDigit) + KVSO_PARAMETER("number", KVS_PT_DOUBLE, 0, dDigit) KVSO_PARAMETERS_END(c) ((QLCDNumber *)widget())->display(dDigit); return true; } -KVSO_CLASS_FUNCTION(lcd,setMode) +KVSO_CLASS_FUNCTION(lcd, setMode) { CHECK_INTERNAL_POINTER(widget()) QString szMode; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("mode",KVS_PT_STRING,0,szMode) + KVSO_PARAMETER("mode", KVS_PT_STRING, 0, szMode) KVSO_PARAMETERS_END(c) - if(KviQString::equalCI(szMode, "HEX")) ((QLCDNumber *)widget())->setHexMode(); - else if(KviQString::equalCI(szMode, "DEC")) ((QLCDNumber *)widget())->setDecMode(); - else if(KviQString::equalCI(szMode, "BIN")) ((QLCDNumber *)widget())->setBinMode(); - else if(KviQString::equalCI(szMode, "OCT")) ((QLCDNumber *)widget())->setOctMode(); - else c->warning( __tr2qs_ctx("Unknown mode '%Q'","objects"),&szMode); + if(KviQString::equalCI(szMode, "HEX")) + ((QLCDNumber *)widget())->setHexMode(); + else if(KviQString::equalCI(szMode, "DEC")) + ((QLCDNumber *)widget())->setDecMode(); + else if(KviQString::equalCI(szMode, "BIN")) + ((QLCDNumber *)widget())->setBinMode(); + else if(KviQString::equalCI(szMode, "OCT")) + ((QLCDNumber *)widget())->setOctMode(); + else + c->warning(__tr2qs_ctx("Unknown mode '%Q'", "objects"), &szMode); return true; } -KVSO_CLASS_FUNCTION(lcd,setSegmentStyle) +KVSO_CLASS_FUNCTION(lcd, setSegmentStyle) { CHECK_INTERNAL_POINTER(widget()) QString szStyle; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("style",KVS_PT_STRING,0,szStyle) + KVSO_PARAMETER("style", KVS_PT_STRING, 0, szStyle) KVSO_PARAMETERS_END(c) - if(KviQString::equalCI(szStyle, "Outline")) ((QLCDNumber *)widget())->setSegmentStyle(QLCDNumber::Outline); - else if(KviQString::equalCI(szStyle, "Filled")) ((QLCDNumber *)widget())->setSegmentStyle(QLCDNumber::Filled); - else if(KviQString::equalCI(szStyle, "Flat")) ((QLCDNumber *)widget())->setSegmentStyle(QLCDNumber::Flat); - else c->warning( __tr2qs_ctx("Unknown segment style '%Q'","objects"),&szStyle); + if(KviQString::equalCI(szStyle, "Outline")) + ((QLCDNumber *)widget())->setSegmentStyle(QLCDNumber::Outline); + else if(KviQString::equalCI(szStyle, "Filled")) + ((QLCDNumber *)widget())->setSegmentStyle(QLCDNumber::Filled); + else if(KviQString::equalCI(szStyle, "Flat")) + ((QLCDNumber *)widget())->setSegmentStyle(QLCDNumber::Flat); + else + c->warning(__tr2qs_ctx("Unknown segment style '%Q'", "objects"), &szStyle); return true; } -KVSO_CLASS_FUNCTION(lcd,setNumDigits) +KVSO_CLASS_FUNCTION(lcd, setNumDigits) { CHECK_INTERNAL_POINTER(widget()) kvs_real_t digit; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("digit",KVS_PT_DOUBLE,0,digit) + KVSO_PARAMETER("digit", KVS_PT_DOUBLE, 0, digit) KVSO_PARAMETERS_END(c) ((QLCDNumber *)widget())->setDigitCount((int)digit); return true; } -KVSO_CLASS_FUNCTION(lcd,setSmallDecimalPoint) +KVSO_CLASS_FUNCTION(lcd, setSmallDecimalPoint) { CHECK_INTERNAL_POINTER(widget()) bool bFlag; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("bFlag",KVS_PT_BOOLEAN,0,bFlag) + KVSO_PARAMETER("bFlag", KVS_PT_BOOLEAN, 0, bFlag) KVSO_PARAMETERS_END(c) ((QLCDNumber *)widget())->setSmallDecimalPoint(bFlag); return true; } -KVSO_CLASS_FUNCTION(lcd,checkOverflow) +KVSO_CLASS_FUNCTION(lcd, checkOverflow) { CHECK_INTERNAL_POINTER(widget()) kvs_real_t iDigit; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("digit",KVS_PT_DOUBLE,0,iDigit) + KVSO_PARAMETER("digit", KVS_PT_DOUBLE, 0, iDigit) KVSO_PARAMETERS_END(c) c->returnValue()->setBoolean(((QLCDNumber *)widget())->checkOverflow(iDigit)); return true; diff --git a/src/modules/objects/KvsObject_lcd.h b/src/modules/objects/KvsObject_lcd.h index 86212e76b..3595aa164 100644 --- a/src/modules/objects/KvsObject_lcd.h +++ b/src/modules/objects/KvsObject_lcd.h @@ -25,11 +25,8 @@ // //============================================================================= - - #include "KvsObject_widget.h" - class KvsObject_lcd : public KvsObject_widget { public: @@ -37,16 +34,16 @@ public: public: QWidget * widget() { return (QWidget *)object(); }; protected: - virtual bool init(KviKvsRunTimeContext * pContext,KviKvsVariantList *pParams); + virtual bool init(KviKvsRunTimeContext * pContext, KviKvsVariantList * pParams); - bool displayStr(KviKvsObjectFunctionCall *c); - bool setMode(KviKvsObjectFunctionCall *c); - bool setSegmentStyle(KviKvsObjectFunctionCall *c); - bool setNumDigits(KviKvsObjectFunctionCall *c); - bool setSmallDecimalPoint(KviKvsObjectFunctionCall *c); - bool checkOverflow(KviKvsObjectFunctionCall *c); - bool displayInt(KviKvsObjectFunctionCall *c); - bool displayDouble(KviKvsObjectFunctionCall *c); + bool displayStr(KviKvsObjectFunctionCall * c); + bool setMode(KviKvsObjectFunctionCall * c); + bool setSegmentStyle(KviKvsObjectFunctionCall * c); + bool setNumDigits(KviKvsObjectFunctionCall * c); + bool setSmallDecimalPoint(KviKvsObjectFunctionCall * c); + bool checkOverflow(KviKvsObjectFunctionCall * c); + bool displayInt(KviKvsObjectFunctionCall * c); + bool displayDouble(KviKvsObjectFunctionCall * c); }; -#endif // !_CLASS_LCD_H_ +#endif // !_CLASS_LCD_H_ diff --git a/src/modules/objects/KvsObject_lineEdit.cpp b/src/modules/objects/KvsObject_lineEdit.cpp index 7ab7aae0f..a843a6928 100644 --- a/src/modules/objects/KvsObject_lineEdit.cpp +++ b/src/modules/objects/KvsObject_lineEdit.cpp @@ -31,18 +31,18 @@ #include #include static const char * mode_tbl[] = { - "Normal", - "NoEcho", - "Password" - }; + "Normal", + "NoEcho", + "Password" +}; -static const int mode_cod[] = { - QLineEdit::Normal, - QLineEdit::NoEcho, - QLineEdit::Password - }; +static const int mode_cod[] = { + QLineEdit::Normal, + QLineEdit::NoEcho, + QLineEdit::Password +}; -#define mode_num (sizeof(mode_tbl) / sizeof(mode_tbl[0])) +#define mode_num (sizeof(mode_tbl) / sizeof(mode_tbl[0])) /* @doc: lineedit @@ -189,197 +189,194 @@ static const int mode_cod[] = { This signal is emitted by the default implementation of [classfnc]$textChangedEvent[/classfnc](). */ -KVSO_BEGIN_REGISTERCLASS(KvsObject_lineEdit,"lineedit","widget") - - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_lineEdit,text) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_lineEdit,setText) - - // completer - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_lineEdit,setCompleter) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_lineEdit,enableCompleter) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_lineEdit,disableCompleter) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_lineEdit,unsetCompleter) - - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_lineEdit,maxLength) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_lineEdit,setMaxLength) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_lineEdit,frame) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_lineEdit,setCursorPosition) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_lineEdit,cursorPosition) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_lineEdit,setFrame) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_lineEdit,selectAll) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_lineEdit,setSelection) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_lineEdit,copy) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_lineEdit,cut) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_lineEdit,paste) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_lineEdit,echoMode) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_lineEdit,setEchoMode) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_lineEdit,clear) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_lineEdit,dragAndDrop) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_lineEdit,setInputMask) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_lineEdit,setReadOnly) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_lineEdit,returnPressedEvent) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_lineEdit,lostFocusEvent) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_lineEdit,textChangedEvent) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_lineEdit,setInputValidator) - +KVSO_BEGIN_REGISTERCLASS(KvsObject_lineEdit, "lineedit", "widget") + +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_lineEdit, text) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_lineEdit, setText) + +// completer +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_lineEdit, setCompleter) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_lineEdit, enableCompleter) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_lineEdit, disableCompleter) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_lineEdit, unsetCompleter) + +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_lineEdit, maxLength) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_lineEdit, setMaxLength) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_lineEdit, frame) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_lineEdit, setCursorPosition) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_lineEdit, cursorPosition) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_lineEdit, setFrame) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_lineEdit, selectAll) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_lineEdit, setSelection) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_lineEdit, copy) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_lineEdit, cut) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_lineEdit, paste) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_lineEdit, echoMode) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_lineEdit, setEchoMode) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_lineEdit, clear) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_lineEdit, dragAndDrop) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_lineEdit, setInputMask) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_lineEdit, setReadOnly) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_lineEdit, returnPressedEvent) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_lineEdit, lostFocusEvent) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_lineEdit, textChangedEvent) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_lineEdit, setInputValidator) KVSO_END_REGISTERCLASS(KvsObject_lineEdit) - -KVSO_BEGIN_CONSTRUCTOR(KvsObject_lineEdit,KvsObject_widget) - m_pCompleter=0; +KVSO_BEGIN_CONSTRUCTOR(KvsObject_lineEdit, KvsObject_widget) +m_pCompleter = 0; KVSO_END_CONSTRUCTOR(KvsObject_lineEdit) KVSO_BEGIN_DESTRUCTOR(KvsObject_lineEdit) - if (m_pCompleter) - { - delete m_pCompleter; - m_pCompleter=0; - } +if(m_pCompleter) +{ + delete m_pCompleter; + m_pCompleter = 0; +} KVSO_END_CONSTRUCTOR(KvsObject_lineEdit) - -bool KvsObject_lineEdit::init(KviKvsRunTimeContext *,KviKvsVariantList *) +bool KvsObject_lineEdit::init(KviKvsRunTimeContext *, KviKvsVariantList *) { SET_OBJECT(QLineEdit) - connect(widget(),SIGNAL(returnPressed()),this,SLOT(slotreturnPressed())); - connect(widget(),SIGNAL(editingFinished()),this,SLOT(slotlostFocus())); - connect(widget(),SIGNAL(textChanged(const QString & )),this,SLOT(slottextChanged(const QString & ))); + connect(widget(), SIGNAL(returnPressed()), this, SLOT(slotreturnPressed())); + connect(widget(), SIGNAL(editingFinished()), this, SLOT(slotlostFocus())); + connect(widget(), SIGNAL(textChanged(const QString &)), this, SLOT(slottextChanged(const QString &))); return true; } -KVSO_CLASS_FUNCTION(lineEdit,text) +KVSO_CLASS_FUNCTION(lineEdit, text) { CHECK_INTERNAL_POINTER(widget()) c->returnValue()->setString(((QLineEdit *)widget())->text()); return true; } -KVSO_CLASS_FUNCTION(lineEdit,setText) +KVSO_CLASS_FUNCTION(lineEdit, setText) { CHECK_INTERNAL_POINTER(widget()) QString szText; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("text",KVS_PT_STRING,0,szText) + KVSO_PARAMETER("text", KVS_PT_STRING, 0, szText) KVSO_PARAMETERS_END(c) ((QLineEdit *)widget())->setText(szText); return true; } -KVSO_CLASS_FUNCTION(lineEdit,setInputValidator) +KVSO_CLASS_FUNCTION(lineEdit, setInputValidator) { CHECK_INTERNAL_POINTER(widget()) QString szReg; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("reg_expression",KVS_PT_STRING,0,szReg) + KVSO_PARAMETER("reg_expression", KVS_PT_STRING, 0, szReg) KVSO_PARAMETERS_END(c) - ((QLineEdit *)widget())->setValidator(new QRegExpValidator(QRegExp(szReg),((QLineEdit *)widget()))); + ((QLineEdit *)widget())->setValidator(new QRegExpValidator(QRegExp(szReg), ((QLineEdit *)widget()))); return true; } -KVSO_CLASS_FUNCTION(lineEdit,maxLength) +KVSO_CLASS_FUNCTION(lineEdit, maxLength) { CHECK_INTERNAL_POINTER(widget()) c->returnValue()->setInteger(((QLineEdit *)widget())->maxLength()); return true; } -KVSO_CLASS_FUNCTION(lineEdit,setMaxLength) +KVSO_CLASS_FUNCTION(lineEdit, setMaxLength) { CHECK_INTERNAL_POINTER(widget()) kvs_uint_t iMaxlen; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("maxlen",KVS_PT_UNSIGNEDINTEGER,0,iMaxlen) + KVSO_PARAMETER("maxlen", KVS_PT_UNSIGNEDINTEGER, 0, iMaxlen) KVSO_PARAMETERS_END(c) ((QLineEdit *)widget())->setMaxLength(iMaxlen); return true; } -KVSO_CLASS_FUNCTION(lineEdit,frame) +KVSO_CLASS_FUNCTION(lineEdit, frame) { CHECK_INTERNAL_POINTER(widget()) c->returnValue()->setBoolean(((QLineEdit *)widget())->hasFrame()); return true; } -KVSO_CLASS_FUNCTION(lineEdit,setFrame) +KVSO_CLASS_FUNCTION(lineEdit, setFrame) { CHECK_INTERNAL_POINTER(widget()) bool bFrame; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("bFrame",KVS_PT_BOOL,0,bFrame) + KVSO_PARAMETER("bFrame", KVS_PT_BOOL, 0, bFrame) KVSO_PARAMETERS_END(c) ((QLineEdit *)widget())->setFrame(bFrame); return true; } -KVSO_CLASS_FUNCTION(lineEdit,cursorPosition) +KVSO_CLASS_FUNCTION(lineEdit, cursorPosition) { CHECK_INTERNAL_POINTER(widget()) c->returnValue()->setInteger(((QLineEdit *)widget())->cursorPosition()); return true; } -KVSO_CLASS_FUNCTION(lineEdit,setCursorPosition) +KVSO_CLASS_FUNCTION(lineEdit, setCursorPosition) { CHECK_INTERNAL_POINTER(widget()) kvs_uint_t iPos; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("position",KVS_PT_UNSIGNEDINTEGER,0,iPos) + KVSO_PARAMETER("position", KVS_PT_UNSIGNEDINTEGER, 0, iPos) KVSO_PARAMETERS_END(c) ((QLineEdit *)widget())->setCursorPosition(iPos); return true; } -KVSO_CLASS_FUNCTION(lineEdit,selectAll) +KVSO_CLASS_FUNCTION(lineEdit, selectAll) { CHECK_INTERNAL_POINTER(widget()) ((QLineEdit *)widget())->selectAll(); return true; } -KVSO_CLASS_FUNCTION(lineEdit,setSelection) +KVSO_CLASS_FUNCTION(lineEdit, setSelection) { CHECK_INTERNAL_POINTER(widget()) - kvs_uint_t uStart,uLen; + kvs_uint_t uStart, uLen; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("start",KVS_PT_UNSIGNEDINTEGER,0,uStart) - KVSO_PARAMETER("len",KVS_PT_UNSIGNEDINTEGER,0,uLen) + KVSO_PARAMETER("start", KVS_PT_UNSIGNEDINTEGER, 0, uStart) + KVSO_PARAMETER("len", KVS_PT_UNSIGNEDINTEGER, 0, uLen) KVSO_PARAMETERS_END(c) ((QLineEdit *)widget())->setSelection(uStart, uLen); return true; } -KVSO_CLASS_FUNCTION(lineEdit,copy) +KVSO_CLASS_FUNCTION(lineEdit, copy) { CHECK_INTERNAL_POINTER(widget()) ((QLineEdit *)widget())->copy(); return true; } -KVSO_CLASS_FUNCTION(lineEdit,cut) +KVSO_CLASS_FUNCTION(lineEdit, cut) { CHECK_INTERNAL_POINTER(widget()) ((QLineEdit *)widget())->cut(); return true; } -KVSO_CLASS_FUNCTION(lineEdit,paste) +KVSO_CLASS_FUNCTION(lineEdit, paste) { CHECK_INTERNAL_POINTER(widget()) ((QLineEdit *)widget())->paste(); return true; } -KVSO_CLASS_FUNCTION(lineEdit,echoMode) +KVSO_CLASS_FUNCTION(lineEdit, echoMode) { CHECK_INTERNAL_POINTER(widget()) int mode = ((QLineEdit *)widget())->echoMode(); - QString szEchomode=""; + QString szEchomode = ""; for(unsigned int i = 0; i < mode_num; i++) { if(mode == mode_cod[i]) { - szEchomode=mode_tbl[i]; + szEchomode = mode_tbl[i]; break; } } @@ -387,27 +384,26 @@ KVSO_CLASS_FUNCTION(lineEdit,echoMode) return true; } -KVSO_CLASS_FUNCTION(lineEdit,setEchoMode) +KVSO_CLASS_FUNCTION(lineEdit, setEchoMode) { CHECK_INTERNAL_POINTER(widget()) QString szMode; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("mode",KVS_PT_STRING,0,szMode) + KVSO_PARAMETER("mode", KVS_PT_STRING, 0, szMode) KVSO_PARAMETERS_END(c) for(unsigned int i = 0; i < mode_num; i++) { if(KviQString::equalCI(szMode, mode_tbl[i])) { - ((QLineEdit *)widget())->setEchoMode( \ - ((QLineEdit::EchoMode)mode_cod[i])); + ((QLineEdit *)widget())->setEchoMode(((QLineEdit::EchoMode)mode_cod[i])); return true; } } - c->warning(__tr2qs_ctx("Unknown echo mode '%Q'","objects"),&szMode); + c->warning(__tr2qs_ctx("Unknown echo mode '%Q'", "objects"), &szMode); return true; } -KVSO_CLASS_FUNCTION(lineEdit,clear) +KVSO_CLASS_FUNCTION(lineEdit, clear) { CHECK_INTERNAL_POINTER(widget()) ((QLineEdit *)widget())->clear(); @@ -415,47 +411,47 @@ KVSO_CLASS_FUNCTION(lineEdit,clear) } //-| Grifisx & Noldor |-Start: -KVSO_CLASS_FUNCTION(lineEdit,dragAndDrop) +KVSO_CLASS_FUNCTION(lineEdit, dragAndDrop) { CHECK_INTERNAL_POINTER(widget()) bool bEnabled; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("bEnabled",KVS_PT_BOOL,0,bEnabled) + KVSO_PARAMETER("bEnabled", KVS_PT_BOOL, 0, bEnabled) KVSO_PARAMETERS_END(c) ((QLineEdit *)widget())->setDragEnabled(bEnabled); return true; } -KVSO_CLASS_FUNCTION(lineEdit,setReadOnly) +KVSO_CLASS_FUNCTION(lineEdit, setReadOnly) { CHECK_INTERNAL_POINTER(widget()) bool bEnabled; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("bReadonly",KVS_PT_BOOL,0,bEnabled) + KVSO_PARAMETER("bReadonly", KVS_PT_BOOL, 0, bEnabled) KVSO_PARAMETERS_END(c) ((QLineEdit *)widget())->setReadOnly(bEnabled); return true; } -KVSO_CLASS_FUNCTION(lineEdit,setInputMask) +KVSO_CLASS_FUNCTION(lineEdit, setInputMask) { CHECK_INTERNAL_POINTER(widget()) QString szMask; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("mask",KVS_PT_STRING,0,szMask) + KVSO_PARAMETER("mask", KVS_PT_STRING, 0, szMask) KVSO_PARAMETERS_END(c) ((QLineEdit *)widget())->setInputMask(szMask); return true; } -KVSO_CLASS_FUNCTION(lineEdit,setCompleter) +KVSO_CLASS_FUNCTION(lineEdit, setCompleter) { CHECK_INTERNAL_POINTER(widget()) - KviKvsArray *a; + KviKvsArray * a; QString szMode; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("mode",KVS_PT_STRING,KVS_PF_OPTIONAL,szMode) - KVSO_PARAMETER("completion_list",KVS_PT_ARRAY,0,a) + KVSO_PARAMETER("mode", KVS_PT_STRING, KVS_PF_OPTIONAL, szMode) + KVSO_PARAMETER("completion_list", KVS_PT_ARRAY, 0, a) KVSO_PARAMETERS_END(c) if(m_pCompleter) delete m_pCompleter; @@ -473,79 +469,80 @@ KVSO_CLASS_FUNCTION(lineEdit,setCompleter) v->asString(tmp); szCompletionList.append(tmp); } - else szCompletionList.append(""); + else + szCompletionList.append(""); uIdx++; } } - m_pCompleter=new QCompleter(szCompletionList); - QCompleter::CompletionMode mode=QCompleter::PopupCompletion; - if(KviQString::equalCI(szMode,"InlineCompletion")) mode=QCompleter::InlineCompletion; - else if(KviQString::equalCI(szMode,"UnfilteredPopupCompletion")) mode=QCompleter::UnfilteredPopupCompletion; - else if(!KviQString::equalCI(szMode,"PopupCompletion")) - c->warning(__tr2qs_ctx("Unknown '%Q' completion mode, switching to default PopupCompletion","objects"),&szMode); + m_pCompleter = new QCompleter(szCompletionList); + QCompleter::CompletionMode mode = QCompleter::PopupCompletion; + if(KviQString::equalCI(szMode, "InlineCompletion")) + mode = QCompleter::InlineCompletion; + else if(KviQString::equalCI(szMode, "UnfilteredPopupCompletion")) + mode = QCompleter::UnfilteredPopupCompletion; + else if(!KviQString::equalCI(szMode, "PopupCompletion")) + c->warning(__tr2qs_ctx("Unknown '%Q' completion mode, switching to default PopupCompletion", "objects"), &szMode); m_pCompleter->setCompletionMode(mode); ((QLineEdit *)widget())->setCompleter(m_pCompleter); return true; } -KVSO_CLASS_FUNCTION(lineEdit,enableCompleter) +KVSO_CLASS_FUNCTION(lineEdit, enableCompleter) { CHECK_INTERNAL_POINTER(widget()) - if (m_pCompleter) ((QLineEdit *)widget())->setCompleter(m_pCompleter); + if(m_pCompleter) + ((QLineEdit *)widget())->setCompleter(m_pCompleter); return true; } -KVSO_CLASS_FUNCTION(lineEdit,disableCompleter) +KVSO_CLASS_FUNCTION(lineEdit, disableCompleter) { CHECK_INTERNAL_POINTER(widget()) ((QLineEdit *)widget())->setCompleter(0); return true; } -KVSO_CLASS_FUNCTION(lineEdit,unsetCompleter) +KVSO_CLASS_FUNCTION(lineEdit, unsetCompleter) { CHECK_INTERNAL_POINTER(widget()) - if (m_pCompleter) + if(m_pCompleter) { ((QLineEdit *)widget())->setCompleter(0); delete m_pCompleter; - m_pCompleter=0; + m_pCompleter = 0; } return true; } - -KVSO_CLASS_FUNCTION(lineEdit,returnPressedEvent) +KVSO_CLASS_FUNCTION(lineEdit, returnPressedEvent) { - emitSignal("returnPressed",c); + emitSignal("returnPressed", c); return true; } void KvsObject_lineEdit::slotreturnPressed() { KviKvsVariantList * params = 0; - callFunction(this,"returnPressedEvent",params); - + callFunction(this, "returnPressedEvent", params); } -KVSO_CLASS_FUNCTION(lineEdit,lostFocusEvent) +KVSO_CLASS_FUNCTION(lineEdit, lostFocusEvent) { - emitSignal("lostFocus",c); + emitSignal("lostFocus", c); return true; } void KvsObject_lineEdit::slotlostFocus() { KviKvsVariantList * params = 0; - callFunction(this,"lostFocusEvent",params); + callFunction(this, "lostFocusEvent", params); } -KVSO_CLASS_FUNCTION(lineEdit,textChangedEvent) +KVSO_CLASS_FUNCTION(lineEdit, textChangedEvent) { - emitSignal("textChanged",c,c->params()); + emitSignal("textChanged", c, c->params()); return true; - } -void KvsObject_lineEdit::slottextChanged(const QString &text) +void KvsObject_lineEdit::slottextChanged(const QString & text) { KviKvsVariantList params(new KviKvsVariant(text)); - callFunction(this,"textChangedEvent",¶ms); + callFunction(this, "textChangedEvent", ¶ms); } diff --git a/src/modules/objects/KvsObject_lineEdit.h b/src/modules/objects/KvsObject_lineEdit.h index d6dbe87bc..a004190a2 100644 --- a/src/modules/objects/KvsObject_lineEdit.h +++ b/src/modules/objects/KvsObject_lineEdit.h @@ -1,5 +1,5 @@ -#ifndef _CLASS_LINEEDIT_H_ -#define _CLASS_LINEEDIT_H_ +#ifndef _CLASS_LINEEDIT_H_ +#define _CLASS_LINEEDIT_H_ //============================================================================= // // File : KvsObject_lineEdit.h @@ -25,8 +25,6 @@ // //============================================================================= - - #include "KvsObject_widget.h" //#warning "Signals!" @@ -42,49 +40,47 @@ public: QWidget * widget() { return (QWidget *)object(); }; protected: QCompleter * m_pCompleter; -protected: - virtual bool init(KviKvsRunTimeContext * pContext,KviKvsVariantList *pParams); - - bool setCompleter(KviKvsObjectFunctionCall *c); - bool enableCompleter(KviKvsObjectFunctionCall *c); - bool disableCompleter(KviKvsObjectFunctionCall *c); - bool unsetCompleter(KviKvsObjectFunctionCall *c); - - bool text(KviKvsObjectFunctionCall *c); - bool setText(KviKvsObjectFunctionCall *c); - bool maxLength(KviKvsObjectFunctionCall *c); - bool setMaxLength(KviKvsObjectFunctionCall *c); - bool frame(KviKvsObjectFunctionCall *c); - bool setCursorPosition(KviKvsObjectFunctionCall *c); - bool cursorPosition(KviKvsObjectFunctionCall *c); - bool setFrame(KviKvsObjectFunctionCall *c); - bool selectAll(KviKvsObjectFunctionCall *c); - bool setSelection(KviKvsObjectFunctionCall *c); - bool copy(KviKvsObjectFunctionCall *c); - bool cut(KviKvsObjectFunctionCall *c); - - bool paste(KviKvsObjectFunctionCall *c); - bool echoMode(KviKvsObjectFunctionCall *c); - bool setEchoMode(KviKvsObjectFunctionCall *c); - bool clear(KviKvsObjectFunctionCall *c); - bool dragAndDrop(KviKvsObjectFunctionCall *c); - bool setInputMask(KviKvsObjectFunctionCall *c); - bool setReadOnly(KviKvsObjectFunctionCall *c); - - bool returnPressedEvent(KviKvsObjectFunctionCall *c); - bool lostFocusEvent(KviKvsObjectFunctionCall *c); - - bool textChangedEvent(KviKvsObjectFunctionCall *c); - - - bool setInputValidator(KviKvsObjectFunctionCall *c); +protected: + virtual bool init(KviKvsRunTimeContext * pContext, KviKvsVariantList * pParams); + + bool setCompleter(KviKvsObjectFunctionCall * c); + bool enableCompleter(KviKvsObjectFunctionCall * c); + bool disableCompleter(KviKvsObjectFunctionCall * c); + bool unsetCompleter(KviKvsObjectFunctionCall * c); + + bool text(KviKvsObjectFunctionCall * c); + bool setText(KviKvsObjectFunctionCall * c); + bool maxLength(KviKvsObjectFunctionCall * c); + bool setMaxLength(KviKvsObjectFunctionCall * c); + bool frame(KviKvsObjectFunctionCall * c); + bool setCursorPosition(KviKvsObjectFunctionCall * c); + bool cursorPosition(KviKvsObjectFunctionCall * c); + bool setFrame(KviKvsObjectFunctionCall * c); + bool selectAll(KviKvsObjectFunctionCall * c); + bool setSelection(KviKvsObjectFunctionCall * c); + bool copy(KviKvsObjectFunctionCall * c); + bool cut(KviKvsObjectFunctionCall * c); + + bool paste(KviKvsObjectFunctionCall * c); + bool echoMode(KviKvsObjectFunctionCall * c); + bool setEchoMode(KviKvsObjectFunctionCall * c); + bool clear(KviKvsObjectFunctionCall * c); + bool dragAndDrop(KviKvsObjectFunctionCall * c); + bool setInputMask(KviKvsObjectFunctionCall * c); + bool setReadOnly(KviKvsObjectFunctionCall * c); + + bool returnPressedEvent(KviKvsObjectFunctionCall * c); + + bool lostFocusEvent(KviKvsObjectFunctionCall * c); + + bool textChangedEvent(KviKvsObjectFunctionCall * c); + + bool setInputValidator(KviKvsObjectFunctionCall * c); protected slots: void slotreturnPressed(); void slotlostFocus(); void slottextChanged(const QString &); - }; - -#endif // ! _CLASS_LINEEDIT_H_ +#endif // ! _CLASS_LINEEDIT_H_ diff --git a/src/modules/objects/KvsObject_list.cpp b/src/modules/objects/KvsObject_list.cpp index a996df2cc..f5996d173 100644 --- a/src/modules/objects/KvsObject_list.cpp +++ b/src/modules/objects/KvsObject_list.cpp @@ -28,7 +28,6 @@ #include "KvsObject_list.h" #include - /* @doc: list @keyterms: @@ -115,45 +114,42 @@ beyond the end of the list). */ - -KVSO_BEGIN_REGISTERCLASS(KvsObject_list,"list","object") - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_list,count) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_list,isEmpty) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_list,clear) - KVSO_REGISTER_HANDLER(KvsObject_list,"removeAll",clear) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_list,append) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_list,prepend) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_list,insert) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_list,insert) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_list,at) - KVSO_REGISTER_HANDLER(KvsObject_list,"item",at) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_list,remove) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_list,removeFirst) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_list,removeLast) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_list,removeCurrent) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_list,moveFirst) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_list,moveNext) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_list,movePrev) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_list,moveLast) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_list,sort) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_list,eof) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_list,current) +KVSO_BEGIN_REGISTERCLASS(KvsObject_list, "list", "object") +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_list, count) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_list, isEmpty) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_list, clear) +KVSO_REGISTER_HANDLER(KvsObject_list, "removeAll", clear) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_list, append) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_list, prepend) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_list, insert) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_list, insert) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_list, at) +KVSO_REGISTER_HANDLER(KvsObject_list, "item", at) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_list, remove) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_list, removeFirst) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_list, removeLast) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_list, removeCurrent) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_list, moveFirst) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_list, moveNext) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_list, movePrev) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_list, moveLast) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_list, sort) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_list, eof) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_list, current) KVSO_END_REGISTERCLASS(KvsObject_list) - -KVSO_BEGIN_CONSTRUCTOR(KvsObject_list,KviKvsObject) - m_pDataList = new KviPointerList; - m_pDataList->setAutoDelete(true); - m_pDataList->first(); +KVSO_BEGIN_CONSTRUCTOR(KvsObject_list, KviKvsObject) +m_pDataList = new KviPointerList; +m_pDataList->setAutoDelete(true); +m_pDataList->first(); KVSO_END_CONSTRUCTOR(KvsObject_list) - KVSO_BEGIN_DESTRUCTOR(KvsObject_list) - delete m_pDataList; - m_pDataList = 0; +delete m_pDataList; +m_pDataList = 0; KVSO_END_CONSTRUCTOR(KvsObject_list) -KVSO_CLASS_FUNCTION(list,current) +KVSO_CLASS_FUNCTION(list, current) { CHECK_INTERNAL_POINTER(m_pDataList) if(!m_pDataList->count()) @@ -162,160 +158,167 @@ KVSO_CLASS_FUNCTION(list,current) return true; } KviKvsVariant * v = m_pDataList->safeCurrent(); - if(v)c->returnValue()->copyFrom(*v); - else c->returnValue()->setNothing(); + if(v) + c->returnValue()->copyFrom(*v); + else + c->returnValue()->setNothing(); return true; } -KVSO_CLASS_FUNCTION(list,eof) +KVSO_CLASS_FUNCTION(list, eof) { CHECK_INTERNAL_POINTER(m_pDataList) c->returnValue()->setBoolean(m_pDataList->current() != 0); return true; } -KVSO_CLASS_FUNCTION(list,moveLast) +KVSO_CLASS_FUNCTION(list, moveLast) { CHECK_INTERNAL_POINTER(m_pDataList) c->returnValue()->setBoolean(m_pDataList->last() != 0); return true; } -KVSO_CLASS_FUNCTION(list,movePrev) +KVSO_CLASS_FUNCTION(list, movePrev) { CHECK_INTERNAL_POINTER(m_pDataList) c->returnValue()->setBoolean(m_pDataList->prev() != 0); return true; } -KVSO_CLASS_FUNCTION(list,moveNext) +KVSO_CLASS_FUNCTION(list, moveNext) { CHECK_INTERNAL_POINTER(m_pDataList) c->returnValue()->setBoolean(m_pDataList->next() != 0); return true; } -KVSO_CLASS_FUNCTION(list,moveFirst) +KVSO_CLASS_FUNCTION(list, moveFirst) { CHECK_INTERNAL_POINTER(m_pDataList) c->returnValue()->setBoolean(m_pDataList->first() != 0); return true; } -KVSO_CLASS_FUNCTION(list,removeLast) +KVSO_CLASS_FUNCTION(list, removeLast) { CHECK_INTERNAL_POINTER(m_pDataList) c->returnValue()->setBoolean(m_pDataList->removeLast()); return true; } -KVSO_CLASS_FUNCTION(list,removeCurrent) +KVSO_CLASS_FUNCTION(list, removeCurrent) { CHECK_INTERNAL_POINTER(m_pDataList) if(m_pDataList->count()) { m_pDataList->removeCurrent(); c->returnValue()->setBoolean(true); - } else { + } + else + { c->returnValue()->setBoolean(false); } return true; } -KVSO_CLASS_FUNCTION(list,removeFirst) +KVSO_CLASS_FUNCTION(list, removeFirst) { CHECK_INTERNAL_POINTER(m_pDataList) c->returnValue()->setBoolean(m_pDataList->removeFirst()); return true; } -KVSO_CLASS_FUNCTION(list,remove) +KVSO_CLASS_FUNCTION(list, remove) { CHECK_INTERNAL_POINTER(m_pDataList) kvs_uint_t uIndex; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("index",KVS_PT_UINT,0,uIndex) + KVSO_PARAMETER("index", KVS_PT_UINT, 0, uIndex) KVSO_PARAMETERS_END(c) c->returnValue()->setBoolean(m_pDataList->remove(uIndex)); return true; } -KVSO_CLASS_FUNCTION(list,at) +KVSO_CLASS_FUNCTION(list, at) { CHECK_INTERNAL_POINTER(m_pDataList) kvs_uint_t uIndex; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("index",KVS_PT_UINT,0,uIndex) + KVSO_PARAMETER("index", KVS_PT_UINT, 0, uIndex) KVSO_PARAMETERS_END(c) KviKvsVariant * v = m_pDataList->at(uIndex); - if(v)c->returnValue()->copyFrom(*v); - else c->returnValue()->setNothing(); + if(v) + c->returnValue()->copyFrom(*v); + else + c->returnValue()->setNothing(); return true; } -KVSO_CLASS_FUNCTION(list,insert) +KVSO_CLASS_FUNCTION(list, insert) { CHECK_INTERNAL_POINTER(m_pDataList) kvs_uint_t uIndex; KviKvsVariant * pVar; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("index",KVS_PT_UINT,0,uIndex) - KVSO_PARAMETER("item",KVS_PT_VARIANT,0,pVar) + KVSO_PARAMETER("index", KVS_PT_UINT, 0, uIndex) + KVSO_PARAMETER("item", KVS_PT_VARIANT, 0, pVar) KVSO_PARAMETERS_END(c) - m_pDataList->insert(uIndex,new KviKvsVariant(*pVar)); + m_pDataList->insert(uIndex, new KviKvsVariant(*pVar)); return true; } -KVSO_CLASS_FUNCTION(list,prepend) +KVSO_CLASS_FUNCTION(list, prepend) { CHECK_INTERNAL_POINTER(m_pDataList) KviKvsVariant * pVar; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("item",KVS_PT_VARIANT,0,pVar) + KVSO_PARAMETER("item", KVS_PT_VARIANT, 0, pVar) KVSO_PARAMETERS_END(c) m_pDataList->prepend(new KviKvsVariant(*pVar)); return true; } -KVSO_CLASS_FUNCTION(list,append) +KVSO_CLASS_FUNCTION(list, append) { CHECK_INTERNAL_POINTER(m_pDataList) KviKvsVariant * pVar; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("item",KVS_PT_VARIANT,0,pVar) + KVSO_PARAMETER("item", KVS_PT_VARIANT, 0, pVar) KVSO_PARAMETERS_END(c) m_pDataList->append(new KviKvsVariant(*pVar)); - if (m_pDataList->count()==1) m_pDataList->first(); + if(m_pDataList->count() == 1) + m_pDataList->first(); return true; } -KVSO_CLASS_FUNCTION(list,clear) +KVSO_CLASS_FUNCTION(list, clear) { CHECK_INTERNAL_POINTER(m_pDataList) m_pDataList->clear(); return true; } -inline int kvi_compare(const KviKvsVariant * p1,const KviKvsVariant * p2) +inline int kvi_compare(const KviKvsVariant * p1, const KviKvsVariant * p2) { return p1->compare(p2); } -KVSO_CLASS_FUNCTION(list,sort) +KVSO_CLASS_FUNCTION(list, sort) { CHECK_INTERNAL_POINTER(m_pDataList) m_pDataList->sort(); return true; } -KVSO_CLASS_FUNCTION(list,isEmpty) +KVSO_CLASS_FUNCTION(list, isEmpty) { CHECK_INTERNAL_POINTER(m_pDataList) c->returnValue()->setBoolean(m_pDataList->isEmpty()); return true; } -KVSO_CLASS_FUNCTION(list,count) +KVSO_CLASS_FUNCTION(list, count) { CHECK_INTERNAL_POINTER(m_pDataList) c->returnValue()->setInteger(m_pDataList->count()); diff --git a/src/modules/objects/KvsObject_list.h b/src/modules/objects/KvsObject_list.h index 0403b0418..3edff1ec0 100644 --- a/src/modules/objects/KvsObject_list.h +++ b/src/modules/objects/KvsObject_list.h @@ -30,35 +30,34 @@ #include "KviKvsVariant.h" #include "object_macros.h" - class KvsObject_list : public KviKvsObject { public: KVSO_DECLARE_OBJECT(KvsObject_list) protected: KviPointerList * m_pDataList; + protected: KviPointerList * dataList() const { return m_pDataList; }; public: - bool count(KviKvsObjectFunctionCall *c); - bool isEmpty(KviKvsObjectFunctionCall *c); - bool clear(KviKvsObjectFunctionCall *c); - bool append(KviKvsObjectFunctionCall *c); - bool prepend(KviKvsObjectFunctionCall *c); - bool insert(KviKvsObjectFunctionCall *c); - bool at(KviKvsObjectFunctionCall *c); - bool remove(KviKvsObjectFunctionCall *c); - bool removeFirst(KviKvsObjectFunctionCall *c); - bool removeLast(KviKvsObjectFunctionCall *c); - bool removeCurrent(KviKvsObjectFunctionCall *c); - bool moveFirst(KviKvsObjectFunctionCall *c); - bool moveNext(KviKvsObjectFunctionCall *c); - bool movePrev(KviKvsObjectFunctionCall *c); - bool moveLast(KviKvsObjectFunctionCall *c); - bool eof(KviKvsObjectFunctionCall *c); - bool current(KviKvsObjectFunctionCall *c); - bool sort(KviKvsObjectFunctionCall *c); + bool count(KviKvsObjectFunctionCall * c); + bool isEmpty(KviKvsObjectFunctionCall * c); + bool clear(KviKvsObjectFunctionCall * c); + bool append(KviKvsObjectFunctionCall * c); + bool prepend(KviKvsObjectFunctionCall * c); + bool insert(KviKvsObjectFunctionCall * c); + bool at(KviKvsObjectFunctionCall * c); + bool remove(KviKvsObjectFunctionCall * c); + bool removeFirst(KviKvsObjectFunctionCall * c); + bool removeLast(KviKvsObjectFunctionCall * c); + bool removeCurrent(KviKvsObjectFunctionCall * c); + bool moveFirst(KviKvsObjectFunctionCall * c); + bool moveNext(KviKvsObjectFunctionCall * c); + bool movePrev(KviKvsObjectFunctionCall * c); + bool moveLast(KviKvsObjectFunctionCall * c); + bool eof(KviKvsObjectFunctionCall * c); + bool current(KviKvsObjectFunctionCall * c); + bool sort(KviKvsObjectFunctionCall * c); }; - #endif //_CLASS_LIST_H_ diff --git a/src/modules/objects/KvsObject_listWidget.cpp b/src/modules/objects/KvsObject_listWidget.cpp index 59c860509..80115a989 100644 --- a/src/modules/objects/KvsObject_listWidget.cpp +++ b/src/modules/objects/KvsObject_listWidget.cpp @@ -53,7 +53,7 @@ const char * const itemflags_tbl[] = { "tristate" }; -#define itemflags_num (sizeof(itemflags_tbl) / sizeof(itemflags_tbl[0])) +#define itemflags_num (sizeof(itemflags_tbl) / sizeof(itemflags_tbl[0])) /* @doc:listbox @@ -155,241 +155,266 @@ const char * const itemflags_tbl[] = { This signal is emitted by the default implementation of [classfnc]$selectionChangedEvent[/classfnc]().[br] */ -KVSO_BEGIN_REGISTERCLASS(KvsObject_listWidget,"listbox","widget") - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_listWidget,insertItem) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_listWidget,insertWidgetItem) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_listWidget,changeItem) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_listWidget,removeItem) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_listWidget,clear) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_listWidget,count) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_listWidget,currentText) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_listWidget,currentItem) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_listWidget,textAt); - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_listWidget,itemAt); - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_listWidget,itemRect); - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_listWidget,setCurrentItem); - - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_listWidget,selectedItems); - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_listWidget,setSelected); - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_listWidget,isSelected); - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_listWidget,setFont); - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_listWidget,setIcon); - - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_listWidget,setFlags) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_listWidget,setChecked); - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_listWidget,isChecked); - - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_listWidget,setSelectionMode); - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_listWidget,selectionMode); - - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_listWidget,setForeground); - - // events - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_listWidget,currentItemChangedEvent); - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_listWidget,itemChangedEvent); - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_listWidget,itemEnteredEvent); - KVSO_REGISTER_STANDARD_NOTHINGRETURN_HANDLER(KvsObject_listWidget,"selectionChangedEvent") - +KVSO_BEGIN_REGISTERCLASS(KvsObject_listWidget, "listbox", "widget") +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_listWidget, insertItem) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_listWidget, insertWidgetItem) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_listWidget, changeItem) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_listWidget, removeItem) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_listWidget, clear) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_listWidget, count) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_listWidget, currentText) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_listWidget, currentItem) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_listWidget, textAt); +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_listWidget, itemAt); +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_listWidget, itemRect); +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_listWidget, setCurrentItem); + +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_listWidget, selectedItems); +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_listWidget, setSelected); +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_listWidget, isSelected); +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_listWidget, setFont); +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_listWidget, setIcon); + +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_listWidget, setFlags) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_listWidget, setChecked); +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_listWidget, isChecked); + +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_listWidget, setSelectionMode); +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_listWidget, selectionMode); + +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_listWidget, setForeground); + +// events +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_listWidget, currentItemChangedEvent); +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_listWidget, itemChangedEvent); +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_listWidget, itemEnteredEvent); +KVSO_REGISTER_STANDARD_NOTHINGRETURN_HANDLER(KvsObject_listWidget, "selectionChangedEvent") KVSO_END_REGISTERCLASS(KvsObject_listWidget) -KVSO_BEGIN_CONSTRUCTOR(KvsObject_listWidget,KvsObject_widget) +KVSO_BEGIN_CONSTRUCTOR(KvsObject_listWidget, KvsObject_widget) KVSO_END_CONSTRUCTOR(KvsObject_listWidget) - KVSO_BEGIN_DESTRUCTOR(KvsObject_listWidget) KVSO_END_CONSTRUCTOR(KvsObject_listWidget) -bool KvsObject_listWidget::init(KviKvsRunTimeContext *,KviKvsVariantList *) +bool KvsObject_listWidget::init(KviKvsRunTimeContext *, KviKvsVariantList *) { SET_OBJECT(QListWidget) obj->setSelectionMode(QAbstractItemView::SingleSelection); - connect(obj,SIGNAL(itemSelectionChanged()),this,SLOT(selectionChanged())); - connect(obj,SIGNAL(currentItemChanged(QListWidgetItem *,QListWidgetItem *)),this,SLOT(currentItemChanged(QListWidgetItem *,QListWidgetItem *))); - connect(obj,SIGNAL(itemEntered(QListWidgetItem *)),this,SLOT(slotItemEntered(QListWidgetItem *))); - connect(obj,SIGNAL(itemChanged(QListWidgetItem *)),this,SLOT(slotItemChanged(QListWidgetItem *))); + connect(obj, SIGNAL(itemSelectionChanged()), this, SLOT(selectionChanged())); + connect(obj, SIGNAL(currentItemChanged(QListWidgetItem *, QListWidgetItem *)), this, SLOT(currentItemChanged(QListWidgetItem *, QListWidgetItem *))); + connect(obj, SIGNAL(itemEntered(QListWidgetItem *)), this, SLOT(slotItemEntered(QListWidgetItem *))); + connect(obj, SIGNAL(itemChanged(QListWidgetItem *)), this, SLOT(slotItemChanged(QListWidgetItem *))); return true; } -KVSO_CLASS_FUNCTION(listWidget,insertItem) +KVSO_CLASS_FUNCTION(listWidget, insertItem) { CHECK_INTERNAL_POINTER(widget()) kvs_int_t iRow; QString szText; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("text",KVS_PT_STRING,0,szText) - KVSO_PARAMETER("index",KVS_PT_INT,KVS_PF_OPTIONAL,iRow) + KVSO_PARAMETER("text", KVS_PT_STRING, 0, szText) + KVSO_PARAMETER("index", KVS_PT_INT, KVS_PF_OPTIONAL, iRow) KVSO_PARAMETERS_END(c) - if (c->parameterCount()==2) ((QListWidget *)widget())->insertItem(iRow, szText); - else ((QListWidget *)widget())->addItem(szText); + if(c->parameterCount() == 2) + ((QListWidget *)widget())->insertItem(iRow, szText); + else + ((QListWidget *)widget())->addItem(szText); return true; } -KVSO_CLASS_FUNCTION(listWidget,setFlags) +KVSO_CLASS_FUNCTION(listWidget, setFlags) { CHECK_INTERNAL_POINTER(widget()) QStringList itemflags; kvs_uint_t iIdx; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("index",KVS_PT_UNSIGNEDINTEGER,0,iIdx) - KVSO_PARAMETER("flags",KVS_PT_STRINGLIST,KVS_PF_OPTIONAL,itemflags) + KVSO_PARAMETER("index", KVS_PT_UNSIGNEDINTEGER, 0, iIdx) + KVSO_PARAMETER("flags", KVS_PT_STRINGLIST, KVS_PF_OPTIONAL, itemflags) KVSO_PARAMETERS_END(c) - int flag,sum=0; - QListWidgetItem *pItem=((QListWidget *)widget())->item(iIdx); - if(!pItem) return true; - for ( int i=0;iitem(iIdx); + if(!pItem) + return true; + for(int i = 0; i < itemflags.count(); i++) { flag = 0; for(unsigned int j = 0; j < itemflags_num; j++) { if(KviQString::equalCI(itemflags.at(i), itemflags_tbl[j])) { - flag=item_flags[j]; + flag = item_flags[j]; break; } } - if(flag){ - if (flag==Qt::ItemIsUserCheckable) - pItem->setCheckState(Qt::Unchecked); + if(flag) + { + if(flag == Qt::ItemIsUserCheckable) + pItem->setCheckState(Qt::Unchecked); sum = sum | flag; } else - c->warning(__tr2qs_ctx("Unknown item flag '%Q'","objects"),&itemflags.at(i)); + c->warning(__tr2qs_ctx("Unknown item flag '%Q'", "objects"), &itemflags.at(i)); } pItem->setFlags((Qt::ItemFlags)sum); return true; } -KVSO_CLASS_FUNCTION(listWidget,setChecked) +KVSO_CLASS_FUNCTION(listWidget, setChecked) { bool bChecked; kvs_uint_t iIdx; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("index",KVS_PT_UNSIGNEDINTEGER,0,iIdx) - KVSO_PARAMETER("bChecked",KVS_PT_BOOL,0,bChecked) + KVSO_PARAMETER("index", KVS_PT_UNSIGNEDINTEGER, 0, iIdx) + KVSO_PARAMETER("bChecked", KVS_PT_BOOL, 0, bChecked) KVSO_PARAMETERS_END(c) - QListWidgetItem *pItem=((QListWidget *)widget())->item(iIdx); - if(!pItem) return true; - pItem->setCheckState(bChecked?Qt::Checked:Qt::Unchecked); + QListWidgetItem * pItem = ((QListWidget *)widget())->item(iIdx); + if(!pItem) + return true; + pItem->setCheckState(bChecked ? Qt::Checked : Qt::Unchecked); return true; } -KVSO_CLASS_FUNCTION(listWidget,isChecked) +KVSO_CLASS_FUNCTION(listWidget, isChecked) { kvs_uint_t iIdx; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("index",KVS_PT_UNSIGNEDINTEGER,0,iIdx) + KVSO_PARAMETER("index", KVS_PT_UNSIGNEDINTEGER, 0, iIdx) KVSO_PARAMETERS_END(c) - QListWidgetItem *pItem=((QListWidget *)widget())->item(iIdx); - if(!pItem) return true; - c->returnValue()->setBoolean(pItem->checkState()==Qt::Checked?1:0); + QListWidgetItem * pItem = ((QListWidget *)widget())->item(iIdx); + if(!pItem) + return true; + c->returnValue()->setBoolean(pItem->checkState() == Qt::Checked ? 1 : 0); return true; } -KVSO_CLASS_FUNCTION(listWidget,setFont) +KVSO_CLASS_FUNCTION(listWidget, setFont) { CHECK_INTERNAL_POINTER(widget()) QString szFamily; QStringList szListStyle; - kvs_int_t iSize,iIdx; + kvs_int_t iSize, iIdx; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("index",KVS_PT_INTEGER,0,iIdx) - KVSO_PARAMETER("size",KVS_PT_INTEGER,0,iSize) - KVSO_PARAMETER("family",KVS_PT_STRING,0,szFamily) - KVSO_PARAMETER("style",KVS_PT_STRINGLIST,KVS_PF_OPTIONAL,szListStyle) + KVSO_PARAMETER("index", KVS_PT_INTEGER, 0, iIdx) + KVSO_PARAMETER("size", KVS_PT_INTEGER, 0, iSize) + KVSO_PARAMETER("family", KVS_PT_STRING, 0, szFamily) + KVSO_PARAMETER("style", KVS_PT_STRINGLIST, KVS_PF_OPTIONAL, szListStyle) KVSO_PARAMETERS_END(c) - QListWidgetItem *pItem=((QListWidget *)widget())->item(iIdx); - if(!pItem) return true; - QFont font=widget()->font(); - if(!szFamily.isEmpty()) font.setFamily(szFamily); - if(iSize) font.setPointSize(iSize); + QListWidgetItem * pItem = ((QListWidget *)widget())->item(iIdx); + if(!pItem) + return true; + QFont font = widget()->font(); + if(!szFamily.isEmpty()) + font.setFamily(szFamily); + if(iSize) + font.setPointSize(iSize); QString szStyle; - for(int i=0;iwarning(__tr2qs_ctx("Unknown style '%Q'","objects"),&szStyle); + szStyle = szListStyle.at(i); + if(KviQString::equalCI(szStyle, "italic")) + font.setItalic(true); + else if(KviQString::equalCI(szStyle, "bold")) + font.setBold(true); + else if(KviQString::equalCI(szStyle, "underline")) + font.setUnderline(true); + else if(KviQString::equalCI(szStyle, "overline")) + font.setOverline(true); + else if(KviQString::equalCI(szStyle, "strikeout")) + font.setStrikeOut(true); + else if(KviQString::equalCI(szStyle, "fixedpitch")) + font.setFixedPitch(true); + else + c->warning(__tr2qs_ctx("Unknown style '%Q'", "objects"), &szStyle); } pItem->setFont(font); return true; } -KVSO_CLASS_FUNCTION(listWidget,setIcon) +KVSO_CLASS_FUNCTION(listWidget, setIcon) { CHECK_INTERNAL_POINTER(widget()) kvs_uint_t uIdx; - KviKvsObject *obPixmap; + KviKvsObject * obPixmap; kvs_hobject_t obHpixmap; KviKvsVariant * vPixmap; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("column",KVS_PT_UNSIGNEDINTEGER,0,uIdx) - KVSO_PARAMETER("pixmap",KVS_PT_VARIANT,0,vPixmap) + KVSO_PARAMETER("column", KVS_PT_UNSIGNEDINTEGER, 0, uIdx) + KVSO_PARAMETER("pixmap", KVS_PT_VARIANT, 0, vPixmap) KVSO_PARAMETERS_END(c) - QListWidgetItem *pItem=((QListWidget *)widget())->item(uIdx); - if(!pItem) return true; + QListWidgetItem * pItem = ((QListWidget *)widget())->item(uIdx); + if(!pItem) + return true; - QPixmap *pix = 0; - if (vPixmap->isEmpty()) {pItem->setIcon(QIcon());return true;} + QPixmap * pix = 0; + if(vPixmap->isEmpty()) + { + pItem->setIcon(QIcon()); + return true; + } if(vPixmap->isHObject()) { vPixmap->asHObject(obHpixmap); - obPixmap=KviKvsKernel::instance()->objectController()->lookupObject(obHpixmap); - if (!obPixmap->inheritsClass("pixmap")) + obPixmap = KviKvsKernel::instance()->objectController()->lookupObject(obHpixmap); + if(!obPixmap->inheritsClass("pixmap")) { - c->warning(__tr2qs_ctx("Pixmap object or image ID required","objects")); + c->warning(__tr2qs_ctx("Pixmap object or image ID required", "objects")); return true; } - pix=((KvsObject_pixmap *)obPixmap)->getPixmap(); - } else { + pix = ((KvsObject_pixmap *)obPixmap)->getPixmap(); + } + else + { QString szPix; vPixmap->asString(szPix); - pix=g_pIconManager->getImage(szPix); + pix = g_pIconManager->getImage(szPix); if(!pix) { - c->warning(__tr2qs_ctx("Error occurred: the suitable file '%Q' is not of the correct format or it is not a valid icon number.","objects"),&szPix); + c->warning(__tr2qs_ctx("Error occurred: the suitable file '%Q' is not of the correct format or it is not a valid icon number.", "objects"), &szPix); return true; } } - if(pix){ + if(pix) + { pItem->setIcon(*pix); } - else{ + else + { pItem->setIcon(QIcon()); } return true; } -KVSO_CLASS_FUNCTION(listWidget,setForeground) +KVSO_CLASS_FUNCTION(listWidget, setForeground) { CHECK_INTERNAL_POINTER(widget()) - kvs_int_t iCol1,iCol2,iCol3,iOpacity,iIdx; - QString szColorMode,szColor; - KviKvsVariant *var1,*var2,*var3; + kvs_int_t iCol1, iCol2, iCol3, iOpacity, iIdx; + QString szColorMode, szColor; + KviKvsVariant *var1, *var2, *var3; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("index",KVS_PT_INTEGER,0,iIdx) - KVSO_PARAMETER("Color_1_Or_Colorname",KVS_PT_VARIANT,0,var1) - KVSO_PARAMETER("Color_2",KVS_PT_VARIANT,KVS_PF_OPTIONAL,var2) - KVSO_PARAMETER("Colo3_3",KVS_PT_VARIANT,KVS_PF_OPTIONAL,var3) - KVSO_PARAMETER("color_mode",KVS_PT_STRING,KVS_PF_OPTIONAL,szColorMode) - KVSO_PARAMETER("opacity",KVS_PT_INT,KVS_PF_OPTIONAL,iOpacity) + KVSO_PARAMETER("index", KVS_PT_INTEGER, 0, iIdx) + KVSO_PARAMETER("Color_1_Or_Colorname", KVS_PT_VARIANT, 0, var1) + KVSO_PARAMETER("Color_2", KVS_PT_VARIANT, KVS_PF_OPTIONAL, var2) + KVSO_PARAMETER("Colo3_3", KVS_PT_VARIANT, KVS_PF_OPTIONAL, var3) + KVSO_PARAMETER("color_mode", KVS_PT_STRING, KVS_PF_OPTIONAL, szColorMode) + KVSO_PARAMETER("opacity", KVS_PT_INT, KVS_PF_OPTIONAL, iOpacity) KVSO_PARAMETERS_END(c) - QListWidgetItem *pItem=((QListWidget *)widget())->item(iIdx); - if(!pItem) return true; + QListWidgetItem * pItem = ((QListWidget *)widget())->item(iIdx); + if(!pItem) + return true; QColor col; - if (!var1->asInteger(iCol1)) + if(!var1->asInteger(iCol1)) { var1->asString(szColor); - if (c->paramCount()<3) iOpacity=255; + if(c->paramCount() < 3) + iOpacity = 255; else { - if (!var2->asInteger(iOpacity)) + if(!var2->asInteger(iOpacity)) { - c->warning(__tr2qs_ctx("The opacity parameter didn't evaluate to integer","objects")); + c->warning(__tr2qs_ctx("The opacity parameter didn't evaluate to integer", "objects")); return true; } } @@ -398,278 +423,299 @@ KVSO_CLASS_FUNCTION(listWidget,setForeground) } else { - if(c->paramCount()<4) + if(c->paramCount() < 4) { - c->error(__tr2qs_ctx("Color name or triplet RGB/HSV value required","objects")); + c->error(__tr2qs_ctx("Color name or triplet RGB/HSV value required", "objects")); return true; } - if (!var2->asInteger(iCol2)||!var3->asInteger(iCol3)) + if(!var2->asInteger(iCol2) || !var3->asInteger(iCol3)) { - c->error(__tr2qs_ctx("One of the triplet parameters didn't evaluate to an integer","objects"));\ + c->error(__tr2qs_ctx("One of the triplet parameters didn't evaluate to an integer", "objects")); return true; } - if (c->paramCount()<5) iOpacity=255; + if(c->paramCount() < 5) + iOpacity = 255; if(KviQString::equalCI(szColorMode, "HSV")) - col.setHsv(iCol1,iCol2,iCol3,iOpacity); + col.setHsv(iCol1, iCol2, iCol3, iOpacity); else - col.setRgb(iCol1,iCol2,iCol3,iOpacity); + col.setRgb(iCol1, iCol2, iCol3, iOpacity); } - QBrush brush=pItem->foreground(); + QBrush brush = pItem->foreground(); brush.setColor(col); pItem->setForeground(brush); return true; } -KVSO_CLASS_FUNCTION(listWidget,clear) +KVSO_CLASS_FUNCTION(listWidget, clear) { CHECK_INTERNAL_POINTER(widget()) ((QListWidget *)widget())->clear(); return true; } -KVSO_CLASS_FUNCTION(listWidget,changeItem) +KVSO_CLASS_FUNCTION(listWidget, changeItem) { CHECK_INTERNAL_POINTER(widget()) - kvs_uint_t iIndex,cnt; + kvs_uint_t iIndex, cnt; QString szText; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("text",KVS_PT_STRING,0,szText) - KVSO_PARAMETER("index",KVS_PT_UNSIGNEDINTEGER,0,iIndex) + KVSO_PARAMETER("text", KVS_PT_STRING, 0, szText) + KVSO_PARAMETER("index", KVS_PT_UNSIGNEDINTEGER, 0, iIndex) KVSO_PARAMETERS_END(c) - if (szText.isEmpty()) c->warning(__tr2qs_ctx("No string parameter given - using empty string","objects")); + if(szText.isEmpty()) + c->warning(__tr2qs_ctx("No string parameter given - using empty string", "objects")); if(iIndex >= (cnt = ((QListWidget *)widget())->count())) { c->warning(__tr2qs_ctx("Item index [%d] is too big - defaulting to " - "$count() - 1 [%d]","objects"), iIndex, cnt); + "$count() - 1 [%d]", + "objects"), + iIndex, cnt); iIndex = cnt - 1; } ((QListWidget *)widget())->item(iIndex)->setText(szText); return true; } - -KVSO_CLASS_FUNCTION(listWidget,removeItem) +KVSO_CLASS_FUNCTION(listWidget, removeItem) { CHECK_INTERNAL_POINTER(widget()) - kvs_uint_t iIndex,cnt; + kvs_uint_t iIndex, cnt; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("index",KVS_PT_UNSIGNEDINTEGER,0,iIndex) + KVSO_PARAMETER("index", KVS_PT_UNSIGNEDINTEGER, 0, iIndex) KVSO_PARAMETERS_END(c) if(iIndex >= (cnt = ((QListWidget *)widget())->count())) { - c->warning(__tr2qs_ctx("Item index [%d] is too big - defaulting to " \ - "$count() - 1 [%d]","objects"), iIndex, cnt); + c->warning(__tr2qs_ctx("Item index [%d] is too big - defaulting to " + "$count() - 1 [%d]", + "objects"), + iIndex, cnt); iIndex = cnt - 1; } - delete ((QListWidget *)widget())->takeItem(iIndex); + delete((QListWidget *)widget())->takeItem(iIndex); return true; } -KVSO_CLASS_FUNCTION(listWidget,count) +KVSO_CLASS_FUNCTION(listWidget, count) { CHECK_INTERNAL_POINTER(widget()) c->returnValue()->setInteger(((QListWidget *)widget())->count()); return true; } -KVSO_CLASS_FUNCTION(listWidget,currentText) +KVSO_CLASS_FUNCTION(listWidget, currentText) { CHECK_INTERNAL_POINTER(widget()) QString text; - QListWidgetItem *item=((QListWidget *)widget())->currentItem(); - if (item) text=item->text(); - else text=""; + QListWidgetItem * item = ((QListWidget *)widget())->currentItem(); + if(item) + text = item->text(); + else + text = ""; c->returnValue()->setString(text); return true; } -KVSO_CLASS_FUNCTION(listWidget,currentItem) +KVSO_CLASS_FUNCTION(listWidget, currentItem) { CHECK_INTERNAL_POINTER(widget()) c->returnValue()->setInteger(((QListWidget *)widget())->currentRow()); return true; } -KVSO_CLASS_FUNCTION(listWidget,textAt) +KVSO_CLASS_FUNCTION(listWidget, textAt) { CHECK_INTERNAL_POINTER(widget()) kvs_uint_t iIndex; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("index",KVS_PT_UNSIGNEDINTEGER,0,iIndex) + KVSO_PARAMETER("index", KVS_PT_UNSIGNEDINTEGER, 0, iIndex) KVSO_PARAMETERS_END(c) c->returnValue()->setString(((QListWidget *)widget())->item(iIndex)->text()); return true; } -KVSO_CLASS_FUNCTION(listWidget,setCurrentItem) +KVSO_CLASS_FUNCTION(listWidget, setCurrentItem) { CHECK_INTERNAL_POINTER(widget()) kvs_uint_t iIndex; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("index",KVS_PT_UNSIGNEDINTEGER,0,iIndex) + KVSO_PARAMETER("index", KVS_PT_UNSIGNEDINTEGER, 0, iIndex) KVSO_PARAMETERS_END(c) ((QListWidget *)widget())->setCurrentRow(iIndex); return true; } -KVSO_CLASS_FUNCTION(listWidget,setSelectionMode) +KVSO_CLASS_FUNCTION(listWidget, setSelectionMode) { CHECK_INTERNAL_POINTER(widget()) QString szMode; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("selection_mode",KVS_PT_STRING,0,szMode) + KVSO_PARAMETER("selection_mode", KVS_PT_STRING, 0, szMode) KVSO_PARAMETERS_END(c) QAbstractItemView::SelectionMode iMode = QAbstractItemView::SingleSelection; - if(KviQString::equalCI(szMode,"single")) iMode = QAbstractItemView::SingleSelection; - else if(KviQString::equalCI(szMode,"multi")) iMode = QAbstractItemView::MultiSelection; - else if(KviQString::equalCI(szMode,"extended")) iMode = QAbstractItemView::ExtendedSelection; - else if(KviQString::equalCI(szMode,"none")) iMode = QAbstractItemView::NoSelection; - else c->warning(__tr2qs_ctx("Invalid selection mode '%Q' assuming single","objects"),&szMode); + if(KviQString::equalCI(szMode, "single")) + iMode = QAbstractItemView::SingleSelection; + else if(KviQString::equalCI(szMode, "multi")) + iMode = QAbstractItemView::MultiSelection; + else if(KviQString::equalCI(szMode, "extended")) + iMode = QAbstractItemView::ExtendedSelection; + else if(KviQString::equalCI(szMode, "none")) + iMode = QAbstractItemView::NoSelection; + else + c->warning(__tr2qs_ctx("Invalid selection mode '%Q' assuming single", "objects"), &szMode); ((QListWidget *)widget())->setSelectionMode(iMode); return true; } -KVSO_CLASS_FUNCTION(listWidget,selectionMode) +KVSO_CLASS_FUNCTION(listWidget, selectionMode) { CHECK_INTERNAL_POINTER(widget()) switch(((QListWidget *)widget())->selectionMode()) { - case QAbstractItemView::SingleSelection: c->returnValue()->setString("single"); break; - case QAbstractItemView::MultiSelection: c->returnValue()->setString("multi"); break; - case QAbstractItemView::ExtendedSelection: c->returnValue()->setString("extended"); break; - case QAbstractItemView::NoSelection: c->returnValue()->setString("none"); break; - default: c->returnValue()->setString("single"); break; + case QAbstractItemView::SingleSelection: + c->returnValue()->setString("single"); + break; + case QAbstractItemView::MultiSelection: + c->returnValue()->setString("multi"); + break; + case QAbstractItemView::ExtendedSelection: + c->returnValue()->setString("extended"); + break; + case QAbstractItemView::NoSelection: + c->returnValue()->setString("none"); + break; + default: + c->returnValue()->setString("single"); + break; } return true; } -KVSO_CLASS_FUNCTION(listWidget,insertWidgetItem) +KVSO_CLASS_FUNCTION(listWidget, insertWidgetItem) { CHECK_INTERNAL_POINTER(widget()) - KviKvsObject *pObject; + KviKvsObject * pObject; kvs_int_t iIndex; kvs_hobject_t hWid; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("widget",KVS_PT_HOBJECT,0,hWid) - KVSO_PARAMETER("index",KVS_PT_INT,0,iIndex) + KVSO_PARAMETER("widget", KVS_PT_HOBJECT, 0, hWid) + KVSO_PARAMETER("index", KVS_PT_INT, 0, iIndex) KVSO_PARAMETERS_END(c) - pObject=KviKvsKernel::instance()->objectController()->lookupObject(hWid); - if(pObject==this) + pObject = KviKvsKernel::instance()->objectController()->lookupObject(hWid); + if(pObject == this) { - c->warning(__tr2qs_ctx("Can't insert the listwidget itself!","objects")); + c->warning(__tr2qs_ctx("Can't insert the listwidget itself!", "objects")); return true; } if(!pObject->object()->isWidgetType()) { - c->warning(__tr2qs_ctx("Can't insert a non-widget object","objects")); + c->warning(__tr2qs_ctx("Can't insert a non-widget object", "objects")); return true; } - QWidget *wi=((QWidget *)(pObject->object())); - QListWidgetItem *item=((QListWidget *)widget())->item(iIndex); - ((QListWidget *)widget())->setItemWidget(item,wi); + QWidget * wi = ((QWidget *)(pObject->object())); + QListWidgetItem * item = ((QListWidget *)widget())->item(iIndex); + ((QListWidget *)widget())->setItemWidget(item, wi); return true; } -KVSO_CLASS_FUNCTION(listWidget,selectedItems) +KVSO_CLASS_FUNCTION(listWidget, selectedItems) { CHECK_INTERNAL_POINTER(widget()) - QList list=((QListWidget *)widget())->selectedItems(); + QList list = ((QListWidget *)widget())->selectedItems(); KviKvsArray * pArray = new KviKvsArray(); c->returnValue()->setArray(pArray); - for (int i=0;irow(list.at(i)); - pArray->set(i,new KviKvsVariant(index)); + kvs_int_t index = ((QListWidget *)widget())->row(list.at(i)); + pArray->set(i, new KviKvsVariant(index)); } return true; } -KVSO_CLASS_FUNCTION(listWidget,setSelected) +KVSO_CLASS_FUNCTION(listWidget, setSelected) { CHECK_INTERNAL_POINTER(widget()) bool bSel; kvs_uint_t uIndex; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("index",KVS_PT_UNSIGNEDINTEGER,0,uIndex) - KVSO_PARAMETER("bEnabled",KVS_PT_BOOLEAN,0,bSel) + KVSO_PARAMETER("index", KVS_PT_UNSIGNEDINTEGER, 0, uIndex) + KVSO_PARAMETER("bEnabled", KVS_PT_BOOLEAN, 0, bSel) KVSO_PARAMETERS_END(c) ((QListWidget *)widget())->item(uIndex)->setSelected(bSel); return true; } -KVSO_CLASS_FUNCTION(listWidget,isSelected) +KVSO_CLASS_FUNCTION(listWidget, isSelected) { CHECK_INTERNAL_POINTER(widget()) kvs_uint_t uIndex; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("index",KVS_PT_UNSIGNEDINTEGER,0,uIndex) + KVSO_PARAMETER("index", KVS_PT_UNSIGNEDINTEGER, 0, uIndex) KVSO_PARAMETERS_END(c) c->returnValue()->setBoolean(((QListWidget *)widget())->item(uIndex)->isSelected()); return true; } -KVSO_CLASS_FUNCTION(listWidget,itemAt) +KVSO_CLASS_FUNCTION(listWidget, itemAt) { CHECK_INTERNAL_POINTER(widget()) - kvs_uint_t uX,uY; + kvs_uint_t uX, uY; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("uX",KVS_PT_UNSIGNEDINTEGER,0,uX) - KVSO_PARAMETER("uY",KVS_PT_UNSIGNEDINTEGER,0,uY) + KVSO_PARAMETER("uX", KVS_PT_UNSIGNEDINTEGER, 0, uX) + KVSO_PARAMETER("uY", KVS_PT_UNSIGNEDINTEGER, 0, uY) KVSO_PARAMETERS_END(c) - c->returnValue()->setInteger(((QListWidget *)widget())->row(((QListWidget *)widget())->itemAt(QPoint(uX,uY)))); + c->returnValue()->setInteger(((QListWidget *)widget())->row(((QListWidget *)widget())->itemAt(QPoint(uX, uY)))); return true; } -KVSO_CLASS_FUNCTION(listWidget,itemRect) +KVSO_CLASS_FUNCTION(listWidget, itemRect) { CHECK_INTERNAL_POINTER(widget()) kvs_uint_t uIndex; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("iIndex",KVS_PT_UNSIGNEDINTEGER,0,uIndex) + KVSO_PARAMETER("iIndex", KVS_PT_UNSIGNEDINTEGER, 0, uIndex) KVSO_PARAMETERS_END(c) - QRect rect=((QListWidget *)widget())->visualItemRect(((QListWidget *)widget())->item(uIndex)); + QRect rect = ((QListWidget *)widget())->visualItemRect(((QListWidget *)widget())->item(uIndex)); KviKvsArray * a = new KviKvsArray(); - a->set(0,new KviKvsVariant((kvs_int_t)rect.left())); - a->set(1,new KviKvsVariant((kvs_int_t)rect.top())); - a->set(2,new KviKvsVariant((kvs_int_t)rect.width())); - a->set(3,new KviKvsVariant((kvs_int_t)rect.height())); + a->set(0, new KviKvsVariant((kvs_int_t)rect.left())); + a->set(1, new KviKvsVariant((kvs_int_t)rect.top())); + a->set(2, new KviKvsVariant((kvs_int_t)rect.width())); + a->set(3, new KviKvsVariant((kvs_int_t)rect.height())); c->returnValue()->setArray(a); return true; } -KVSO_CLASS_FUNCTION(listWidget,currentItemChangedEvent) +KVSO_CLASS_FUNCTION(listWidget, currentItemChangedEvent) { - emitSignal("currentItemChanged",c,c->params()); + emitSignal("currentItemChanged", c, c->params()); return true; } -KVSO_CLASS_FUNCTION(listWidget,itemChangedEvent) +KVSO_CLASS_FUNCTION(listWidget, itemChangedEvent) { - emitSignal("itemChanged",c,c->params()); + emitSignal("itemChanged", c, c->params()); return true; } -KVSO_CLASS_FUNCTION(listWidget,itemEnteredEvent) +KVSO_CLASS_FUNCTION(listWidget, itemEnteredEvent) { - emitSignal("itemEntered",c,c->params()); + emitSignal("itemEntered", c, c->params()); return true; } //slots -void KvsObject_listWidget::currentItemChanged(QListWidgetItem *currentItem,QListWidgetItem *) +void KvsObject_listWidget::currentItemChanged(QListWidgetItem * currentItem, QListWidgetItem *) { - if (!currentItem) callFunction(this,"currentItemChangedEvent",0,0); + if(!currentItem) + callFunction(this, "currentItemChangedEvent", 0, 0); else { KviKvsVariantList params(new KviKvsVariant(currentItem->text())); - callFunction(this,"currentItemChangedEvent",0,¶ms); + callFunction(this, "currentItemChangedEvent", 0, ¶ms); } - } void KvsObject_listWidget::selectionChanged() { - callFunction(this,"selectionChangedEvent",0,0); + callFunction(this, "selectionChangedEvent", 0, 0); } - -void KvsObject_listWidget::slotItemEntered(QListWidgetItem *item) +void KvsObject_listWidget::slotItemEntered(QListWidgetItem * item) { KviKvsVariantList params(new KviKvsVariant((kvs_int_t)((QListWidget *)widget())->row(item))); - callFunction(this,"itemEnteredEvent",0,¶ms); + callFunction(this, "itemEnteredEvent", 0, ¶ms); } -void KvsObject_listWidget::slotItemChanged(QListWidgetItem *item) +void KvsObject_listWidget::slotItemChanged(QListWidgetItem * item) { KviKvsVariantList params(new KviKvsVariant((kvs_int_t)((QListWidget *)widget())->row(item))); - callFunction(this,"itemChangedEvent",0,¶ms); + callFunction(this, "itemChangedEvent", 0, ¶ms); } diff --git a/src/modules/objects/KvsObject_listWidget.h b/src/modules/objects/KvsObject_listWidget.h index 70427b21f..c1eb80fcb 100644 --- a/src/modules/objects/KvsObject_listWidget.h +++ b/src/modules/objects/KvsObject_listWidget.h @@ -24,12 +24,11 @@ // //============================================================================= - #include "KvsObject_widget.h" #include #include "object_macros.h" -class KvsObject_listWidget: public KvsObject_widget +class KvsObject_listWidget : public KvsObject_widget { Q_OBJECT public: @@ -37,45 +36,42 @@ public: public: QWidget * widget() { return (QWidget *)object(); }; protected: - virtual bool init(KviKvsRunTimeContext * pContext,KviKvsVariantList *pParams); - + virtual bool init(KviKvsRunTimeContext * pContext, KviKvsVariantList * pParams); - bool insertItem(KviKvsObjectFunctionCall *c); - bool changeItem(KviKvsObjectFunctionCall *c); - bool removeItem(KviKvsObjectFunctionCall *c); - bool count(KviKvsObjectFunctionCall *c); - bool currentText(KviKvsObjectFunctionCall *c); - bool currentItem(KviKvsObjectFunctionCall *c); - bool textAt(KviKvsObjectFunctionCall *c); - bool setCurrentItem(KviKvsObjectFunctionCall *c); - bool clear(KviKvsObjectFunctionCall *c); - bool setSelectionMode(KviKvsObjectFunctionCall *c); - bool selectionMode(KviKvsObjectFunctionCall *c); - bool insertWidgetItem(KviKvsObjectFunctionCall *c); - bool isSelected(KviKvsObjectFunctionCall *c); - bool setSelected(KviKvsObjectFunctionCall *c); - bool setFlags(KviKvsObjectFunctionCall *c); - bool selectedItems(KviKvsObjectFunctionCall *c); - bool setForeground(KviKvsObjectFunctionCall *c); - bool setIcon(KviKvsObjectFunctionCall *c); - bool setChecked(KviKvsObjectFunctionCall *c); - bool setFont(KviKvsObjectFunctionCall *c); - bool isChecked(KviKvsObjectFunctionCall *c); - bool itemAt(KviKvsObjectFunctionCall *c); - bool itemRect(KviKvsObjectFunctionCall *c); + bool insertItem(KviKvsObjectFunctionCall * c); + bool changeItem(KviKvsObjectFunctionCall * c); + bool removeItem(KviKvsObjectFunctionCall * c); + bool count(KviKvsObjectFunctionCall * c); + bool currentText(KviKvsObjectFunctionCall * c); + bool currentItem(KviKvsObjectFunctionCall * c); + bool textAt(KviKvsObjectFunctionCall * c); + bool setCurrentItem(KviKvsObjectFunctionCall * c); + bool clear(KviKvsObjectFunctionCall * c); + bool setSelectionMode(KviKvsObjectFunctionCall * c); + bool selectionMode(KviKvsObjectFunctionCall * c); + bool insertWidgetItem(KviKvsObjectFunctionCall * c); + bool isSelected(KviKvsObjectFunctionCall * c); + bool setSelected(KviKvsObjectFunctionCall * c); + bool setFlags(KviKvsObjectFunctionCall * c); + bool selectedItems(KviKvsObjectFunctionCall * c); + bool setForeground(KviKvsObjectFunctionCall * c); + bool setIcon(KviKvsObjectFunctionCall * c); + bool setChecked(KviKvsObjectFunctionCall * c); + bool setFont(KviKvsObjectFunctionCall * c); + bool isChecked(KviKvsObjectFunctionCall * c); + bool itemAt(KviKvsObjectFunctionCall * c); + bool itemRect(KviKvsObjectFunctionCall * c); // events - bool currentItemChangedEvent(KviKvsObjectFunctionCall *c); - bool itemChangedEvent(KviKvsObjectFunctionCall *c); - bool itemEnteredEvent(KviKvsObjectFunctionCall *c); + bool currentItemChangedEvent(KviKvsObjectFunctionCall * c); + bool itemChangedEvent(KviKvsObjectFunctionCall * c); + bool itemEnteredEvent(KviKvsObjectFunctionCall * c); protected slots: void selectionChanged(); - void currentItemChanged(QListWidgetItem *,QListWidgetItem *); - void slotItemEntered(QListWidgetItem *item); - void slotItemChanged(QListWidgetItem *item); - + void currentItemChanged(QListWidgetItem *, QListWidgetItem *); + void slotItemEntered(QListWidgetItem * item); + void slotItemChanged(QListWidgetItem * item); }; - -#endif // !_CLASS_COMBOBOX_H_ +#endif // !_CLASS_COMBOBOX_H_ diff --git a/src/modules/objects/KvsObject_mainWindow.cpp b/src/modules/objects/KvsObject_mainWindow.cpp index f5c35eaa2..d368af58b 100644 --- a/src/modules/objects/KvsObject_mainWindow.cpp +++ b/src/modules/objects/KvsObject_mainWindow.cpp @@ -50,50 +50,49 @@ Sets the central widget for the main window to . */ -KVSO_BEGIN_REGISTERCLASS(KvsObject_mainWindow,"mainwindow","widget") - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_mainWindow,setCentralWidget) +KVSO_BEGIN_REGISTERCLASS(KvsObject_mainWindow, "mainwindow", "widget") +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_mainWindow, setCentralWidget) KVSO_END_REGISTERCLASS(KvsObject_mainWindow) -KVSO_BEGIN_CONSTRUCTOR(KvsObject_mainWindow,KvsObject_widget) +KVSO_BEGIN_CONSTRUCTOR(KvsObject_mainWindow, KvsObject_widget) KVSO_END_CONSTRUCTOR(KvsObject_mainWindow) - KVSO_BEGIN_DESTRUCTOR(KvsObject_mainWindow) KVSO_END_CONSTRUCTOR(KvsObject_mainWindow) -bool KvsObject_mainWindow::init(KviKvsRunTimeContext *,KviKvsVariantList *) +bool KvsObject_mainWindow::init(KviKvsRunTimeContext *, KviKvsVariantList *) { setObject(new KviTalMainWindow(parentScriptWidget(), getName().toUtf8().data()), true); return true; } -KVSO_CLASS_FUNCTION(mainWindow,setCentralWidget) +KVSO_CLASS_FUNCTION(mainWindow, setCentralWidget) { CHECK_INTERNAL_POINTER(widget()) KviKvsObject * pObject; kvs_hobject_t hObject; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("widget",KVS_PT_HOBJECT,0,hObject) + KVSO_PARAMETER("widget", KVS_PT_HOBJECT, 0, hObject) KVSO_PARAMETERS_END(c) - pObject=KviKvsKernel::instance()->objectController()->lookupObject(hObject); - if (!pObject) + pObject = KviKvsKernel::instance()->objectController()->lookupObject(hObject); + if(!pObject) { - c->warning(__tr2qs_ctx("Widget parameter is not an object","objects")); + c->warning(__tr2qs_ctx("Widget parameter is not an object", "objects")); return true; } - if (!pObject->object()) + if(!pObject->object()) { - c->warning(__tr2qs_ctx("Widget parameter is not a valid object","objects")); + c->warning(__tr2qs_ctx("Widget parameter is not a valid object", "objects")); return true; } if(!pObject->inheritsClass("widget")) { - c->warning(__tr2qs_ctx("Widget object required","objects")); + c->warning(__tr2qs_ctx("Widget object required", "objects")); return true; } - ((KviTalMainWindow *)widget())->setCentralWidget(((QWidget *)(pObject->object()))); + ((KviTalMainWindow *)widget())->setCentralWidget(((QWidget *)(pObject->object()))); return true; } diff --git a/src/modules/objects/KvsObject_mainWindow.h b/src/modules/objects/KvsObject_mainWindow.h index 9c227630e..88eb727bd 100644 --- a/src/modules/objects/KvsObject_mainWindow.h +++ b/src/modules/objects/KvsObject_mainWindow.h @@ -25,7 +25,6 @@ // //============================================================================= - #include "KvsObject_widget.h" #include "object_macros.h" @@ -36,10 +35,9 @@ public: public: QWidget * widget() { return (QWidget *)object(); }; protected: - virtual bool init(KviKvsRunTimeContext * pContext,KviKvsVariantList *pParams); + virtual bool init(KviKvsRunTimeContext * pContext, KviKvsVariantList * pParams); - bool setCentralWidget(KviKvsObjectFunctionCall *c); + bool setCentralWidget(KviKvsObjectFunctionCall * c); }; - -#endif //!_CLASS_MAINWINDOW_H_ +#endif //!_CLASS_MAINWINDOW_H_ diff --git a/src/modules/objects/KvsObject_memoryBuffer.cpp b/src/modules/objects/KvsObject_memoryBuffer.cpp index 8d6bf7ff9..85becc88c 100644 --- a/src/modules/objects/KvsObject_memoryBuffer.cpp +++ b/src/modules/objects/KvsObject_memoryBuffer.cpp @@ -59,98 +59,98 @@ */ -KVSO_BEGIN_REGISTERCLASS(KvsObject_memoryBuffer,"memorybuffer","object") - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_memoryBuffer,loadFromFile); - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_memoryBuffer,clear); - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_memoryBuffer,saveToFile); - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_memoryBuffer,size); - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_memoryBuffer,readByteAt); +KVSO_BEGIN_REGISTERCLASS(KvsObject_memoryBuffer, "memorybuffer", "object") +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_memoryBuffer, loadFromFile); +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_memoryBuffer, clear); +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_memoryBuffer, saveToFile); +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_memoryBuffer, size); +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_memoryBuffer, readByteAt); KVSO_END_REGISTERCLASS(KvsObject_memoryBuffer) +KVSO_BEGIN_CONSTRUCTOR(KvsObject_memoryBuffer, KviKvsObject) -KVSO_BEGIN_CONSTRUCTOR(KvsObject_memoryBuffer,KviKvsObject) - - mIdx=0; - m_pBuffer = new QByteArray(); +mIdx = 0; +m_pBuffer = new QByteArray(); KVSO_END_CONSTRUCTOR(KvsObject_memoryBuffer) KVSO_BEGIN_DESTRUCTOR(KvsObject_memoryBuffer) - delete m_pBuffer; +delete m_pBuffer; KVSO_END_CONSTRUCTOR(KvsObject_memoryBuffer) - -KVSO_CLASS_FUNCTION(memoryBuffer,clear) +KVSO_CLASS_FUNCTION(memoryBuffer, clear) { CHECK_INTERNAL_POINTER(m_pBuffer) m_pBuffer->clear(); return true; } -KVSO_CLASS_FUNCTION(memoryBuffer,loadFromFile) +KVSO_CLASS_FUNCTION(memoryBuffer, loadFromFile) { CHECK_INTERNAL_POINTER(m_pBuffer) QString szFileName; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("filename",KVS_PT_NONEMPTYSTRING,0,szFileName) + KVSO_PARAMETER("filename", KVS_PT_NONEMPTYSTRING, 0, szFileName) KVSO_PARAMETERS_END(c) if(KviFileUtils::fileExists(szFileName)) { KviFile f(szFileName); - qDebug("loading file %s",szFileName.toUtf8().data()); - if (f.open(QIODevice::ReadOnly)) + qDebug("loading file %s", szFileName.toUtf8().data()); + if(f.open(QIODevice::ReadOnly)) { m_pBuffer->resize(f.size()); - f.read(m_pBuffer->data(),f.size()); + f.read(m_pBuffer->data(), f.size()); f.close(); } - else qDebug("Error in loaded file!"); + else + qDebug("Error in loaded file!"); } - else c->warning(__tr2qs_ctx("The file '%Q' doesn't exist","objects"),&szFileName); + else + c->warning(__tr2qs_ctx("The file '%Q' doesn't exist", "objects"), &szFileName); return true; } -KVSO_CLASS_FUNCTION(memoryBuffer,size) +KVSO_CLASS_FUNCTION(memoryBuffer, size) { CHECK_INTERNAL_POINTER(m_pBuffer) c->returnValue()->setInteger((kvs_int_t)m_pBuffer->size()); return true; } -KVSO_CLASS_FUNCTION(memoryBuffer,readByteAt) +KVSO_CLASS_FUNCTION(memoryBuffer, readByteAt) { CHECK_INTERNAL_POINTER(m_pBuffer) kvs_int_t iIdx; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("index",KVS_PT_INT,0,iIdx) + KVSO_PARAMETER("index", KVS_PT_INT, 0, iIdx) KVSO_PARAMETERS_END(c) - if(iIdx>m_pBuffer->size()) + if(iIdx > m_pBuffer->size()) { - c->warning(__tr2qs_ctx("Index '%I' out of the buffer size","objects"),&iIdx); + c->warning(__tr2qs_ctx("Index '%I' out of the buffer size", "objects"), &iIdx); return true; } unsigned char ch = m_pBuffer->at(iIdx); - c->returnValue()->setInteger( ch); + c->returnValue()->setInteger(ch); return true; } -KVSO_CLASS_FUNCTION(memoryBuffer,saveToFile) +KVSO_CLASS_FUNCTION(memoryBuffer, saveToFile) { CHECK_INTERNAL_POINTER(m_pBuffer) QString szFileName; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("filename",KVS_PT_NONEMPTYSTRING,0,szFileName) + KVSO_PARAMETER("filename", KVS_PT_NONEMPTYSTRING, 0, szFileName) KVSO_PARAMETERS_END(c) KviFile f(szFileName); - if (f.open(QIODevice::WriteOnly)) + if(f.open(QIODevice::WriteOnly)) { - f.write(m_pBuffer->data(),m_pBuffer->size()); + f.write(m_pBuffer->data(), m_pBuffer->size()); f.close(); } else { - c->warning(__tr2qs_ctx("Can't open file '%Q' for writing","objects"),&szFileName); + c->warning(__tr2qs_ctx("Can't open file '%Q' for writing", "objects"), &szFileName); } return true; } diff --git a/src/modules/objects/KvsObject_memoryBuffer.h b/src/modules/objects/KvsObject_memoryBuffer.h index 18522e469..835097a88 100644 --- a/src/modules/objects/KvsObject_memoryBuffer.h +++ b/src/modules/objects/KvsObject_memoryBuffer.h @@ -29,8 +29,6 @@ #include "object_macros.h" - - class KvsObject_memoryBuffer : public KviKvsObject { public: @@ -38,20 +36,21 @@ public: protected: QByteArray * m_pBuffer; int mIdx; + public: QByteArray dataBuffer() { return *m_pBuffer; }; - QByteArray *pBuffer() + QByteArray * pBuffer() { return m_pBuffer; }; - bool loadFromFile(KviKvsObjectFunctionCall *c); - bool clear(KviKvsObjectFunctionCall *c); - bool size(KviKvsObjectFunctionCall *c); - bool readByteAt(KviKvsObjectFunctionCall *c); - bool saveToFile(KviKvsObjectFunctionCall *c); + bool loadFromFile(KviKvsObjectFunctionCall * c); + bool clear(KviKvsObjectFunctionCall * c); + bool size(KviKvsObjectFunctionCall * c); + bool readByteAt(KviKvsObjectFunctionCall * c); + bool saveToFile(KviKvsObjectFunctionCall * c); }; -#endif // !_CLASS_MEMORYBUFFER_H_ +#endif // !_CLASS_MEMORYBUFFER_H_ diff --git a/src/modules/objects/KvsObject_menuBar.cpp b/src/modules/objects/KvsObject_menuBar.cpp index c47da7cb6..068cea37d 100644 --- a/src/modules/objects/KvsObject_menuBar.cpp +++ b/src/modules/objects/KvsObject_menuBar.cpp @@ -22,7 +22,6 @@ // //============================================================================= - #include "KvsObject_menuBar.h" #include "KviError.h" #include "kvi_debug.h" @@ -46,31 +45,30 @@ Returns an integer that identifies the inserted item. */ -KVSO_BEGIN_REGISTERCLASS(KvsObject_menuBar,"menubar","widget") - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_menuBar,insertItem) +KVSO_BEGIN_REGISTERCLASS(KvsObject_menuBar, "menubar", "widget") +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_menuBar, insertItem) KVSO_END_REGISTERCLASS(KvsObject_menuBar) -KVSO_BEGIN_CONSTRUCTOR(KvsObject_menuBar,KvsObject_widget) +KVSO_BEGIN_CONSTRUCTOR(KvsObject_menuBar, KvsObject_widget) KVSO_END_CONSTRUCTOR(KvsObject_menuBar) - KVSO_BEGIN_DESTRUCTOR(KvsObject_menuBar) KVSO_END_CONSTRUCTOR(KvsObject_menuBar) -bool KvsObject_menuBar::init(KviKvsRunTimeContext *,KviKvsVariantList *) +bool KvsObject_menuBar::init(KviKvsRunTimeContext *, KviKvsVariantList *) { SET_OBJECT(QMenuBar) return true; } -KVSO_CLASS_FUNCTION(menuBar,insertItem) +KVSO_CLASS_FUNCTION(menuBar, insertItem) { CHECK_INTERNAL_POINTER(widget()) QString szItem; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("item",KVS_PT_STRING,0,szItem) + KVSO_PARAMETER("item", KVS_PT_STRING, 0, szItem) KVSO_PARAMETERS_END(c) ((QMenuBar *)widget())->addAction(szItem); return true; diff --git a/src/modules/objects/KvsObject_menuBar.h b/src/modules/objects/KvsObject_menuBar.h index 8a04d742c..f0bcd5c14 100644 --- a/src/modules/objects/KvsObject_menuBar.h +++ b/src/modules/objects/KvsObject_menuBar.h @@ -35,8 +35,8 @@ public: public: QWidget * widget() { return (QWidget *)object(); }; protected: - virtual bool init(KviKvsRunTimeContext * pContext,KviKvsVariantList *pParams); + virtual bool init(KviKvsRunTimeContext * pContext, KviKvsVariantList * pParams); - bool insertItem(KviKvsObjectFunctionCall *c); + bool insertItem(KviKvsObjectFunctionCall * c); }; -#endif // !_CLASS_MENUBAR_H_ +#endif // !_CLASS_MENUBAR_H_ diff --git a/src/modules/objects/KvsObject_multiLineEdit.cpp b/src/modules/objects/KvsObject_multiLineEdit.cpp index 9bef80f03..6d51dedb5 100644 --- a/src/modules/objects/KvsObject_multiLineEdit.cpp +++ b/src/modules/objects/KvsObject_multiLineEdit.cpp @@ -172,89 +172,82 @@ [/example] */ - -KVSO_BEGIN_REGISTERCLASS(KvsObject_textedit,"multilineedit","widget") - - KVSO_REGISTER_HANDLER(KvsObject_textedit,"textLine", functionTextLine) - KVSO_REGISTER_HANDLER(KvsObject_textedit,"setWordWrap", functionSetWordWrap) - KVSO_REGISTER_HANDLER(KvsObject_textedit,"wordWrap", functionWordWrap) - - KVSO_REGISTER_HANDLER(KvsObject_textedit,"atEnd", functionAtEnd) - KVSO_REGISTER_HANDLER(KvsObject_textedit,"numLines", functionNumLines) - KVSO_REGISTER_HANDLER(KvsObject_textedit,"atBeginning", functionAtBeginning) - KVSO_REGISTER_HANDLER(KvsObject_textedit,"cursorPosition", functionCursorPosition) - KVSO_REGISTER_HANDLER(KvsObject_textedit,"text", functionText) - KVSO_REGISTER_HANDLER(KvsObject_textedit,"insert", functionInsert) - KVSO_REGISTER_HANDLER(KvsObject_textedit,"maxLines", functionMaxLines) - KVSO_REGISTER_HANDLER(KvsObject_textedit,"setMaxLines", functionSetMaxLines) - KVSO_REGISTER_HANDLER(KvsObject_textedit,"append", functionAppend) - KVSO_REGISTER_HANDLER(KvsObject_textedit,"copy", functionCopy) - KVSO_REGISTER_HANDLER(KvsObject_textedit,"cut", functionCut) - KVSO_REGISTER_HANDLER(KvsObject_textedit,"paste", functionPaste) - - //->Set Style - KVSO_REGISTER_HANDLER(KvsObject_textedit,"setFamily", functionsetFamily) - KVSO_REGISTER_HANDLER(KvsObject_textedit,"setItalic", functionsetItalic) - KVSO_REGISTER_HANDLER(KvsObject_textedit,"setBold", functionsetBold) - KVSO_REGISTER_HANDLER(KvsObject_textedit,"setUnderline", functionsetUnderline) - KVSO_REGISTER_HANDLER(KvsObject_textedit,"italic", functionitalic) - KVSO_REGISTER_HANDLER(KvsObject_textedit,"bold", functionbold) - KVSO_REGISTER_HANDLER(KvsObject_textedit,"underline", functionunderline) - - //->Zoom In, Out, To - KVSO_REGISTER_HANDLER(KvsObject_textedit,"zoomIn", functionzoomIn) - KVSO_REGISTER_HANDLER(KvsObject_textedit,"zoomOut", functionzoomOut) - - //->Undo & Redo - KVSO_REGISTER_HANDLER(KvsObject_textedit,"undo", functionundo) - KVSO_REGISTER_HANDLER(KvsObject_textedit,"redo", functionredo) - KVSO_REGISTER_HANDLER(KvsObject_textedit,"clear", functionclear) - KVSO_REGISTER_HANDLER(KvsObject_textedit,"setUndoRedoEnabled", functionsetUndoRedoEnabled) - - - KVSO_REGISTER_HANDLER(KvsObject_textedit,"isUndoRedoEnabled", functionisUndoRedoEnabled) - - //->Text color & others - KVSO_REGISTER_HANDLER(KvsObject_textedit,"setText", functionsetText) - KVSO_REGISTER_HANDLER(KvsObject_textedit,"setColor", functionsetColor) - KVSO_REGISTER_HANDLER(KvsObject_textedit,"setModified", functionsetModified) - - KVSO_REGISTER_HANDLER(KvsObject_textedit,"setPointSize", functionsetPointSize) - KVSO_REGISTER_HANDLER(KvsObject_textedit,"setReadOnly",functionSetReadOnly) - - KVSO_REGISTER_HANDLER(KvsObject_textedit,"setTextFormat", functionsetTextFormat) - KVSO_REGISTER_HANDLER(KvsObject_textedit,"textFormat", functiontextFormat) - KVSO_REGISTER_HANDLER(KvsObject_textedit,"loadFile", functionloadFile); - KVSO_REGISTER_HANDLER(KvsObject_textedit,"setAlignment", functionsetAlignment) - - KVSO_REGISTER_HANDLER(KvsObject_textedit,"lines", functionlines) - KVSO_REGISTER_HANDLER(KvsObject_textedit,"selectAll", functionselectAll) +KVSO_BEGIN_REGISTERCLASS(KvsObject_textedit, "multilineedit", "widget") + +KVSO_REGISTER_HANDLER(KvsObject_textedit, "textLine", functionTextLine) +KVSO_REGISTER_HANDLER(KvsObject_textedit, "setWordWrap", functionSetWordWrap) +KVSO_REGISTER_HANDLER(KvsObject_textedit, "wordWrap", functionWordWrap) + +KVSO_REGISTER_HANDLER(KvsObject_textedit, "atEnd", functionAtEnd) +KVSO_REGISTER_HANDLER(KvsObject_textedit, "numLines", functionNumLines) +KVSO_REGISTER_HANDLER(KvsObject_textedit, "atBeginning", functionAtBeginning) +KVSO_REGISTER_HANDLER(KvsObject_textedit, "cursorPosition", functionCursorPosition) +KVSO_REGISTER_HANDLER(KvsObject_textedit, "text", functionText) +KVSO_REGISTER_HANDLER(KvsObject_textedit, "insert", functionInsert) +KVSO_REGISTER_HANDLER(KvsObject_textedit, "maxLines", functionMaxLines) +KVSO_REGISTER_HANDLER(KvsObject_textedit, "setMaxLines", functionSetMaxLines) +KVSO_REGISTER_HANDLER(KvsObject_textedit, "append", functionAppend) +KVSO_REGISTER_HANDLER(KvsObject_textedit, "copy", functionCopy) +KVSO_REGISTER_HANDLER(KvsObject_textedit, "cut", functionCut) +KVSO_REGISTER_HANDLER(KvsObject_textedit, "paste", functionPaste) + +//->Set Style +KVSO_REGISTER_HANDLER(KvsObject_textedit, "setFamily", functionsetFamily) +KVSO_REGISTER_HANDLER(KvsObject_textedit, "setItalic", functionsetItalic) +KVSO_REGISTER_HANDLER(KvsObject_textedit, "setBold", functionsetBold) +KVSO_REGISTER_HANDLER(KvsObject_textedit, "setUnderline", functionsetUnderline) +KVSO_REGISTER_HANDLER(KvsObject_textedit, "italic", functionitalic) +KVSO_REGISTER_HANDLER(KvsObject_textedit, "bold", functionbold) +KVSO_REGISTER_HANDLER(KvsObject_textedit, "underline", functionunderline) + +//->Zoom In, Out, To +KVSO_REGISTER_HANDLER(KvsObject_textedit, "zoomIn", functionzoomIn) +KVSO_REGISTER_HANDLER(KvsObject_textedit, "zoomOut", functionzoomOut) + +//->Undo & Redo +KVSO_REGISTER_HANDLER(KvsObject_textedit, "undo", functionundo) +KVSO_REGISTER_HANDLER(KvsObject_textedit, "redo", functionredo) +KVSO_REGISTER_HANDLER(KvsObject_textedit, "clear", functionclear) +KVSO_REGISTER_HANDLER(KvsObject_textedit, "setUndoRedoEnabled", functionsetUndoRedoEnabled) + +KVSO_REGISTER_HANDLER(KvsObject_textedit, "isUndoRedoEnabled", functionisUndoRedoEnabled) + +//->Text color & others +KVSO_REGISTER_HANDLER(KvsObject_textedit, "setText", functionsetText) +KVSO_REGISTER_HANDLER(KvsObject_textedit, "setColor", functionsetColor) +KVSO_REGISTER_HANDLER(KvsObject_textedit, "setModified", functionsetModified) + +KVSO_REGISTER_HANDLER(KvsObject_textedit, "setPointSize", functionsetPointSize) +KVSO_REGISTER_HANDLER(KvsObject_textedit, "setReadOnly", functionSetReadOnly) + +KVSO_REGISTER_HANDLER(KvsObject_textedit, "setTextFormat", functionsetTextFormat) +KVSO_REGISTER_HANDLER(KvsObject_textedit, "textFormat", functiontextFormat) +KVSO_REGISTER_HANDLER(KvsObject_textedit, "loadFile", functionloadFile); +KVSO_REGISTER_HANDLER(KvsObject_textedit, "setAlignment", functionsetAlignment) + +KVSO_REGISTER_HANDLER(KvsObject_textedit, "lines", functionlines) +KVSO_REGISTER_HANDLER(KvsObject_textedit, "selectAll", functionselectAll) KVSO_END_REGISTERCLASS(KvsObject_textedit) - -KVSO_BEGIN_CONSTRUCTOR(KvsObject_textedit,KvsObject_widget) - +KVSO_BEGIN_CONSTRUCTOR(KvsObject_textedit, KvsObject_widget) KVSO_END_CONSTRUCTOR(KvsObject_textedit) - KVSO_BEGIN_DESTRUCTOR(KvsObject_textedit) KVSO_END_CONSTRUCTOR(KvsObject_textedit) -bool KvsObject_textedit::init(KviKvsRunTimeContext *,KviKvsVariantList *) +bool KvsObject_textedit::init(KviKvsRunTimeContext *, KviKvsVariantList *) { SET_OBJECT(QTextEdit); return true; } - - bool KvsObject_textedit::functionSetReadOnly(KviKvsObjectFunctionCall * c) { bool bEnabled; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("bEnabled",KVS_PT_BOOL,0,bEnabled) + KVSO_PARAMETER("bEnabled", KVS_PT_BOOL, 0, bEnabled) KVSO_PARAMETERS_END(c) if(widget()) ((QTextEdit *)widget())->setReadOnly(bEnabled); @@ -265,12 +258,12 @@ bool KvsObject_textedit::functionTextLine(KviKvsObjectFunctionCall * c) { kvs_int_t iBlock; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("line",KVS_PT_INT,0,iBlock) + KVSO_PARAMETER("line", KVS_PT_INT, 0, iBlock) KVSO_PARAMETERS_END(c) if(!widget()) return true; if(iBlock > ((QTextEdit *)widget())->document()->blockCount() || iBlock < 0) - c->warning(__tr2qs_ctx("No such line '%d'","objects"),&iBlock); + c->warning(__tr2qs_ctx("No such line '%d'", "objects"), &iBlock); else c->returnValue()->setString(((QTextEdit *)widget())->document()->findBlockByNumber(iBlock).text()); @@ -284,63 +277,71 @@ bool KvsObject_textedit::functionNumLines(KviKvsObjectFunctionCall * c) } bool KvsObject_textedit::functionCursorPosition(KviKvsObjectFunctionCall * c) { - if(!widget()) return true; - int iRow=((QTextEdit *)widget())->textCursor().blockNumber(); - int iCol=((QTextEdit *)widget())->textCursor().columnNumber(); + if(!widget()) + return true; + int iRow = ((QTextEdit *)widget())->textCursor().blockNumber(); + int iCol = ((QTextEdit *)widget())->textCursor().columnNumber(); KviKvsArray * a = new KviKvsArray(); - a->set(0,new KviKvsVariant((kvs_int_t)iRow)); - a->set(1,new KviKvsVariant((kvs_int_t)iCol)); + a->set(0, new KviKvsVariant((kvs_int_t)iRow)); + a->set(1, new KviKvsVariant((kvs_int_t)iCol)); c->returnValue()->setArray(a); return true; } bool KvsObject_textedit::functionAtBeginning(KviKvsObjectFunctionCall * c) { - if(!widget()) return true; + if(!widget()) + return true; c->returnValue()->setBoolean(((QTextEdit *)widget())->textCursor().atStart()); return true; } bool KvsObject_textedit::functionAtEnd(KviKvsObjectFunctionCall * c) { - if(!widget()) return true; + if(!widget()) + return true; c->returnValue()->setBoolean(((QTextEdit *)widget())->textCursor().atEnd()); return true; } bool KvsObject_textedit::functionSetWordWrap(KviKvsObjectFunctionCall * c) { - if(!widget())return true; + if(!widget()) + return true; QString szWrap; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("word_wrap",KVS_PT_STRING,0,szWrap) + KVSO_PARAMETER("word_wrap", KVS_PT_STRING, 0, szWrap) KVSO_PARAMETERS_END(c) - if(KviQString::equalCI(szWrap,"NoWrap")) + if(KviQString::equalCI(szWrap, "NoWrap")) ((QTextEdit *)widget())->setLineWrapMode(QTextEdit::NoWrap); - else if(KviQString::equalCI(szWrap,"WidgetWidth")) + else if(KviQString::equalCI(szWrap, "WidgetWidth")) ((QTextEdit *)widget())->setLineWrapMode(QTextEdit::WidgetWidth); - else if(KviQString::equalCI(szWrap,"FixedPixelWidth")) + else if(KviQString::equalCI(szWrap, "FixedPixelWidth")) ((QTextEdit *)widget())->setLineWrapMode(QTextEdit::FixedPixelWidth); - else if(KviQString::equalCI(szWrap,"FixedColumnWidth")) + else if(KviQString::equalCI(szWrap, "FixedColumnWidth")) ((QTextEdit *)widget())->setLineWrapMode(QTextEdit::FixedColumnWidth); - else - c->warning(__tr2qs_ctx("Unknown word wrap '%Q'","objects"),&szWrap); + else + c->warning(__tr2qs_ctx("Unknown word wrap '%Q'", "objects"), &szWrap); return true; } - -bool KvsObject_textedit::functionWordWrap(KviKvsObjectFunctionCall *c) +bool KvsObject_textedit::functionWordWrap(KviKvsObjectFunctionCall * c) { - if(!widget()) return true; - QTextEdit::LineWrapMode mode=((QTextEdit *)widget())->lineWrapMode(); + if(!widget()) + return true; + QTextEdit::LineWrapMode mode = ((QTextEdit *)widget())->lineWrapMode(); QString szWrapMode; - if (mode==QTextEdit::NoWrap) szWrapMode="NoWrap"; - else if (mode==QTextEdit::WidgetWidth) szWrapMode="WidgetWidth"; - else if (mode==QTextEdit::FixedPixelWidth) szWrapMode="FixedPixelWidth"; - else szWrapMode="FixedColumnWidth"; + if(mode == QTextEdit::NoWrap) + szWrapMode = "NoWrap"; + else if(mode == QTextEdit::WidgetWidth) + szWrapMode = "WidgetWidth"; + else if(mode == QTextEdit::FixedPixelWidth) + szWrapMode = "FixedPixelWidth"; + else + szWrapMode = "FixedColumnWidth"; c->returnValue()->setString(szWrapMode); return true; @@ -357,7 +358,7 @@ bool KvsObject_textedit::functionSetMaxLines(KviKvsObjectFunctionCall * c) { kvs_uint_t imaxLines; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("max_lines",KVS_PT_UNSIGNEDINTEGER,0,imaxLines) + KVSO_PARAMETER("max_lines", KVS_PT_UNSIGNEDINTEGER, 0, imaxLines) KVSO_PARAMETERS_END(c) if(widget()) ((QTextEdit *)widget())->document()->setMaximumBlockCount(imaxLines); @@ -375,11 +376,11 @@ bool KvsObject_textedit::functionInsert(KviKvsObjectFunctionCall * c) { QString szInsert; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("text",KVS_PT_STRING,0,szInsert) + KVSO_PARAMETER("text", KVS_PT_STRING, 0, szInsert) KVSO_PARAMETERS_END(c) - if (widget()) + if(widget()) { - QTextCursor cursor=((QTextEdit *)widget())->textCursor(); + QTextCursor cursor = ((QTextEdit *)widget())->textCursor(); cursor.insertText(szInsert); ((QTextEdit *)widget())->setTextCursor(cursor); } @@ -390,9 +391,9 @@ bool KvsObject_textedit::functionAppend(KviKvsObjectFunctionCall * c) { QString szAppend; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("text",KVS_PT_STRING,0,szAppend) + KVSO_PARAMETER("text", KVS_PT_STRING, 0, szAppend) KVSO_PARAMETERS_END(c) - if (widget()) + if(widget()) ((QTextEdit *)widget())->append(szAppend); return true; } @@ -423,10 +424,10 @@ bool KvsObject_textedit::functionsetBold(KviKvsObjectFunctionCall * c) { bool bFlag; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("bBold",KVS_PT_BOOL,0,bFlag) + KVSO_PARAMETER("bBold", KVS_PT_BOOL, 0, bFlag) KVSO_PARAMETERS_END(c) - if (widget()) - ((QTextEdit *)widget())->setFontWeight(bFlag?QFont::Bold:QFont::Normal); + if(widget()) + ((QTextEdit *)widget())->setFontWeight(bFlag ? QFont::Bold : QFont::Normal); return true; } @@ -434,9 +435,9 @@ bool KvsObject_textedit::functionsetUnderline(KviKvsObjectFunctionCall * c) { bool bFlag; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("bUnderline",KVS_PT_BOOL,0,bFlag) + KVSO_PARAMETER("bUnderline", KVS_PT_BOOL, 0, bFlag) KVSO_PARAMETERS_END(c) - if (widget()) + if(widget()) ((QTextEdit *)widget())->setFontUnderline(bFlag); return true; } @@ -445,9 +446,9 @@ bool KvsObject_textedit::functionsetItalic(KviKvsObjectFunctionCall * c) { bool bFlag; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("bItalic",KVS_PT_BOOL,0,bFlag) + KVSO_PARAMETER("bItalic", KVS_PT_BOOL, 0, bFlag) KVSO_PARAMETERS_END(c) - if (widget()) + if(widget()) ((QTextEdit *)widget())->setFontItalic(bFlag); return true; } @@ -456,7 +457,7 @@ bool KvsObject_textedit::functionsetItalic(KviKvsObjectFunctionCall * c) bool KvsObject_textedit::functionbold(KviKvsObjectFunctionCall * c) { if(widget()) - c->returnValue()->setBoolean(((QTextEdit *)widget())->fontWeight() >= QFont::Bold ); + c->returnValue()->setBoolean(((QTextEdit *)widget())->fontWeight() >= QFont::Bold); return true; } @@ -479,10 +480,11 @@ bool KvsObject_textedit::functionzoomIn(KviKvsObjectFunctionCall * c) { kvs_int_t iZoom; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("zoom_value",KVS_PT_INT,KVS_PF_OPTIONAL,iZoom) + KVSO_PARAMETER("zoom_value", KVS_PT_INT, KVS_PF_OPTIONAL, iZoom) KVSO_PARAMETERS_END(c) - if (!widget()) return true; - if (!iZoom) + if(!widget()) + return true; + if(!iZoom) ((QTextEdit *)object())->zoomIn(); else ((QTextEdit *)object())->zoomIn(iZoom); @@ -493,18 +495,17 @@ bool KvsObject_textedit::functionzoomOut(KviKvsObjectFunctionCall * c) { kvs_int_t iZoom; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("zoom_value",KVS_PT_INT,KVS_PF_OPTIONAL,iZoom) + KVSO_PARAMETER("zoom_value", KVS_PT_INT, KVS_PF_OPTIONAL, iZoom) KVSO_PARAMETERS_END(c) - if (!widget()) return true; - if (!iZoom) + if(!widget()) + return true; + if(!iZoom) ((QTextEdit *)object())->zoomOut(); else ((QTextEdit *)object())->zoomOut(iZoom); return true; } - - //-> Undo & Redo functions bool KvsObject_textedit::functionundo(KviKvsObjectFunctionCall *) { @@ -527,15 +528,13 @@ bool KvsObject_textedit::functionclear(KviKvsObjectFunctionCall *) return true; } - - bool KvsObject_textedit::functionsetUndoRedoEnabled(KviKvsObjectFunctionCall * c) { bool bFlag; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("bUndoredo",KVS_PT_BOOL,0,bFlag) + KVSO_PARAMETER("bUndoredo", KVS_PT_BOOL, 0, bFlag) KVSO_PARAMETERS_END(c) - if (widget()) + if(widget()) ((QTextEdit *)widget())->setUndoRedoEnabled(bFlag); return true; } @@ -547,15 +546,14 @@ bool KvsObject_textedit::functionisUndoRedoEnabled(KviKvsObjectFunctionCall * c) return true; } - //-->Text & Color & Family bool KvsObject_textedit::functionsetText(KviKvsObjectFunctionCall * c) { QString szText; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("text",KVS_PT_STRING,0,szText) + KVSO_PARAMETER("text", KVS_PT_STRING, 0, szText) KVSO_PARAMETERS_END(c) - if (widget()) + if(widget()) ((QTextEdit *)widget())->setText(szText); return true; } @@ -564,9 +562,9 @@ bool KvsObject_textedit::functionsetPlainText(KviKvsObjectFunctionCall * c) { QString szText; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("text",KVS_PT_STRING,0,szText) + KVSO_PARAMETER("text", KVS_PT_STRING, 0, szText) KVSO_PARAMETERS_END(c) - if (widget()) + if(widget()) ((QTextEdit *)widget())->setPlainText(szText); return true; } @@ -575,9 +573,9 @@ bool KvsObject_textedit::functionsetHtmlText(KviKvsObjectFunctionCall * c) { QString szText; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("text",KVS_PT_STRING,0,szText) + KVSO_PARAMETER("text", KVS_PT_STRING, 0, szText) KVSO_PARAMETERS_END(c) - if (widget()) + if(widget()) ((QTextEdit *)widget())->setHtml(szText); return true; } @@ -585,17 +583,17 @@ bool KvsObject_textedit::functionsetHtmlText(KviKvsObjectFunctionCall * c) bool KvsObject_textedit::functionsetColor(KviKvsObjectFunctionCall * c) { KviKvsVariant * pColArray; - kvs_int_t iColR,iColG,iColB; + kvs_int_t iColR, iColG, iColB; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("red_or_array",KVS_PT_VARIANT,0,pColArray) - KVSO_PARAMETER("green",KVS_PT_INT,KVS_PF_OPTIONAL,iColG) - KVSO_PARAMETER("blue",KVS_PT_INT,KVS_PF_OPTIONAL,iColB) + KVSO_PARAMETER("red_or_array", KVS_PT_VARIANT, 0, pColArray) + KVSO_PARAMETER("green", KVS_PT_INT, KVS_PF_OPTIONAL, iColG) + KVSO_PARAMETER("blue", KVS_PT_INT, KVS_PF_OPTIONAL, iColB) KVSO_PARAMETERS_END(c) if(pColArray->isArray()) { if(pColArray->array()->size() < 3) { - c->error(__tr2qs_ctx("The array passed as parameter must contain at least 3 elements","objects")); + c->error(__tr2qs_ctx("The array passed as parameter must contain at least 3 elements", "objects")); return false; } KviKvsVariant * pColR = pColArray->array()->at(0); @@ -604,52 +602,55 @@ bool KvsObject_textedit::functionsetColor(KviKvsObjectFunctionCall * c) if(!(pColR && pColG && pColB)) { - c->error(__tr2qs_ctx("One of the colors array parameters is empty","objects")); + c->error(__tr2qs_ctx("One of the colors array parameters is empty", "objects")); return false; } if(!(pColR->asInteger(iColR) && pColG->asInteger(iColG) && pColB->asInteger(iColB))) { - c->error(__tr2qs_ctx("One of the colors array parameters didn't evaluate to an integer","objects")); + c->error(__tr2qs_ctx("One of the colors array parameters didn't evaluate to an integer", "objects")); return false; } - - } else { - if (c->params()->count()==1) + } + else + { + if(c->params()->count() == 1) { - bool bOk,bOk1,bOk2; + bool bOk, bOk1, bOk2; QString value; pColArray->asString(value); - if (value.length()!=6) + if(value.length() != 6) { - c->warning(__tr2qs_ctx("A string of 6 hex digits is required","objects")); + c->warning(__tr2qs_ctx("A string of 6 hex digits is required", "objects")); return true; } - QString buffer(value.mid(0,2)); - iColR=buffer.toInt(&bOk,16); - buffer=value.mid(2,2); - iColG=buffer.toInt(&bOk1,16); - buffer=value.mid(4,2); - iColB=buffer.toInt(&bOk2,16); - if (!bOk || !bOk1 || !bOk2) + QString buffer(value.mid(0, 2)); + iColR = buffer.toInt(&bOk, 16); + buffer = value.mid(2, 2); + iColG = buffer.toInt(&bOk1, 16); + buffer = value.mid(4, 2); + iColB = buffer.toInt(&bOk2, 16); + if(!bOk || !bOk1 || !bOk2) { - c->warning(__tr2qs_ctx("Not an hex digit","objects")); + c->warning(__tr2qs_ctx("Not an hex digit", "objects")); return true; } - if (widget()) ((QTextEdit *)widget())->setTextColor(QColor(iColR,iColG,iColB)); + if(widget()) + ((QTextEdit *)widget())->setTextColor(QColor(iColR, iColG, iColB)); return true; } if(c->params()->count() < 3) { - c->error(__tr2qs_ctx("$setColor requires either an array as first parameter or three integers","objects")); + c->error(__tr2qs_ctx("$setColor requires either an array as first parameter or three integers", "objects")); return false; } if(!pColArray->asInteger(iColR)) { - c->error(__tr2qs_ctx("The first parameter didn't evaluate to an array nor an integer","objects")); + c->error(__tr2qs_ctx("The first parameter didn't evaluate to an array nor an integer", "objects")); return false; } } - if (widget()) ((QTextEdit *)widget())->setTextColor(QColor(iColR,iColG,iColB)); + if(widget()) + ((QTextEdit *)widget())->setTextColor(QColor(iColR, iColG, iColB)); return true; } @@ -657,22 +658,20 @@ bool KvsObject_textedit::functionsetPointSize(KviKvsObjectFunctionCall * c) { kvs_real_t dPointSize; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("point_size",KVS_PT_REAL,0,dPointSize) + KVSO_PARAMETER("point_size", KVS_PT_REAL, 0, dPointSize) KVSO_PARAMETERS_END(c) - if (widget()) + if(widget()) ((QTextEdit *)widget())->setFontPointSize(dPointSize); return true; } - - bool KvsObject_textedit::functionsetFamily(KviKvsObjectFunctionCall * c) { QString szFamily; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("family",KVS_PT_STRING,0,szFamily) + KVSO_PARAMETER("family", KVS_PT_STRING, 0, szFamily) KVSO_PARAMETERS_END(c) - if (widget()) + if(widget()) ((QTextEdit *)widget())->setFontFamily(szFamily); return true; } @@ -681,9 +680,9 @@ bool KvsObject_textedit::functionsetModified(KviKvsObjectFunctionCall * c) { bool bFlag; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("bModified",KVS_PT_BOOL,0,bFlag) + KVSO_PARAMETER("bModified", KVS_PT_BOOL, 0, bFlag) KVSO_PARAMETERS_END(c) - if (widget()) + if(widget()) ((QTextEdit *)widget())->document()->setModified(bFlag); return true; } @@ -695,10 +694,10 @@ bool KvsObject_textedit::functionModified(KviKvsObjectFunctionCall * c) return true; } - -bool KvsObject_textedit::functiontextFormat(KviKvsObjectFunctionCall *c) +bool KvsObject_textedit::functiontextFormat(KviKvsObjectFunctionCall * c) { - if(!widget())return true; + if(!widget()) + return true; if(((QTextEdit *)widget())->acceptRichText()) c->returnValue()->setString(QString("RichText")); else @@ -710,44 +709,42 @@ bool KvsObject_textedit::functionsetTextFormat(KviKvsObjectFunctionCall * c) { QString szFormat; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("textformat",KVS_PT_STRING,0,szFormat) + KVSO_PARAMETER("textformat", KVS_PT_STRING, 0, szFormat) KVSO_PARAMETERS_END(c) - if(!widget()) return true; - if(KviQString::equalCI(szFormat,"PlainText")) + if(!widget()) + return true; + if(KviQString::equalCI(szFormat, "PlainText")) ((QTextEdit *)widget())->setAcceptRichText(false); - else if(KviQString::equalCI(szFormat,"RichText")) + else if(KviQString::equalCI(szFormat, "RichText")) ((QTextEdit *)widget())->setAcceptRichText(true); - else - c->warning(__tr2qs_ctx("Unknown text format '%Q'","objects"),&szFormat); + else + c->warning(__tr2qs_ctx("Unknown text format '%Q'", "objects"), &szFormat); return true; } - - - bool KvsObject_textedit::functionloadFile(KviKvsObjectFunctionCall * c) { QString szFile; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("file_name",KVS_PT_STRING,0,szFile) + KVSO_PARAMETER("file_name", KVS_PT_STRING, 0, szFile) KVSO_PARAMETERS_END(c) - if ( !QFile::exists(szFile)) + if(!QFile::exists(szFile)) { - c->warning(__tr2qs_ctx("I can't find the specified file '%Q'.","objects"),&szFile); + c->warning(__tr2qs_ctx("I can't find the specified file '%Q'.", "objects"), &szFile); return true; } - QFile file( szFile ); - if ( !file.open( QIODevice::ReadOnly ) ) + QFile file(szFile); + if(!file.open(QIODevice::ReadOnly)) { - c->warning(__tr2qs_ctx("I can't read the file '%Q'.","objects"),&szFile); + c->warning(__tr2qs_ctx("I can't read the file '%Q'.", "objects"), &szFile); return true; } - QTextStream ts( &file ); + QTextStream ts(&file); QString txt = ts.readAll(); //settext tries to understand if the text is html or plain - ((QTextEdit *)widget())->setText( txt ); + ((QTextEdit *)widget())->setText(txt); file.close(); return true; @@ -757,25 +754,23 @@ bool KvsObject_textedit::functionsetAlignment(KviKvsObjectFunctionCall * c) { QString szAlignment; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("alignment",KVS_PT_STRING,0,szAlignment) + KVSO_PARAMETER("alignment", KVS_PT_STRING, 0, szAlignment) KVSO_PARAMETERS_END(c) - if(!widget()) return true; - if(KviQString::equalCI(szAlignment,"Left")) + if(!widget()) + return true; + if(KviQString::equalCI(szAlignment, "Left")) ((QTextEdit *)widget())->setAlignment(Qt::AlignLeft); - else if(KviQString::equalCI(szAlignment,"Right")) + else if(KviQString::equalCI(szAlignment, "Right")) ((QTextEdit *)widget())->setAlignment(Qt::AlignRight); - else if(KviQString::equalCI(szAlignment,"Center")) + else if(KviQString::equalCI(szAlignment, "Center")) ((QTextEdit *)widget())->setAlignment(Qt::AlignCenter); - else if(KviQString::equalCI(szAlignment,"Justify")) + else if(KviQString::equalCI(szAlignment, "Justify")) ((QTextEdit *)widget())->setAlignment(Qt::AlignJustify); - else - c->warning(__tr2qs_ctx("Unknown alignment '%Q'","objects"),&szAlignment); + else + c->warning(__tr2qs_ctx("Unknown alignment '%Q'", "objects"), &szAlignment); return true; } - - - bool KvsObject_textedit::functionlines(KviKvsObjectFunctionCall * c) { if(widget()) @@ -783,12 +778,9 @@ bool KvsObject_textedit::functionlines(KviKvsObjectFunctionCall * c) return true; } - - - bool KvsObject_textedit::functionselectAll(KviKvsObjectFunctionCall *) { - if (widget()) + if(widget()) ((QTextEdit *)widget())->selectAll(); return true; } diff --git a/src/modules/objects/KvsObject_multiLineEdit.h b/src/modules/objects/KvsObject_multiLineEdit.h index 9f8123655..d0a8e2b83 100644 --- a/src/modules/objects/KvsObject_multiLineEdit.h +++ b/src/modules/objects/KvsObject_multiLineEdit.h @@ -25,7 +25,6 @@ // //============================================================================= - #include "KvsObject_widget.h" #include "object_macros.h" @@ -37,57 +36,56 @@ public: public: QWidget * widget() { return (QWidget *)object(); }; protected: - virtual bool init(KviKvsRunTimeContext * pContext,KviKvsVariantList *pParams); - bool functionTextLine(KviKvsObjectFunctionCall *c); - bool functionInsertLine(KviKvsObjectFunctionCall *c); - bool functionRemoveLine(KviKvsObjectFunctionCall *c); - bool functionNumLines(KviKvsObjectFunctionCall *c); - bool functionAtBeginning(KviKvsObjectFunctionCall *c); - bool functionAtEnd(KviKvsObjectFunctionCall *c); - bool functionSetWordWrap(KviKvsObjectFunctionCall *c); - bool functionWordWrap(KviKvsObjectFunctionCall *c); - bool functionCursorPosition(KviKvsObjectFunctionCall *c); - bool functionText(KviKvsObjectFunctionCall *c); - bool functionLength(KviKvsObjectFunctionCall *c); - bool functionSetMaxLines(KviKvsObjectFunctionCall *c); - bool functionMaxLines(KviKvsObjectFunctionCall *c); - bool functionSetReadOnly(KviKvsObjectFunctionCall *c); - bool functionInsert(KviKvsObjectFunctionCall *c); - bool functionAppend(KviKvsObjectFunctionCall *c); - bool functionCopy(KviKvsObjectFunctionCall *c); - bool functionPaste(KviKvsObjectFunctionCall *c); - bool functionCut(KviKvsObjectFunctionCall *c); - bool functionsetItalic(KviKvsObjectFunctionCall *c); - bool functionitalic(KviKvsObjectFunctionCall *c); - bool functionsetBold(KviKvsObjectFunctionCall *c); - bool functionbold(KviKvsObjectFunctionCall *c); - bool functionsetUnderline(KviKvsObjectFunctionCall *c); - bool functionunderline(KviKvsObjectFunctionCall *c); - bool functionzoomIn(KviKvsObjectFunctionCall *c); - bool functionzoomOut(KviKvsObjectFunctionCall *c); - bool functionundo(KviKvsObjectFunctionCall *c); - bool functionredo(KviKvsObjectFunctionCall *c); - bool functiondel(KviKvsObjectFunctionCall *c); - bool functionclear(KviKvsObjectFunctionCall *c); - bool functionsetUndoRedoEnabled(KviKvsObjectFunctionCall *c); - bool functionisUndoRedoEnabled(KviKvsObjectFunctionCall *c); - bool functionsetText(KviKvsObjectFunctionCall *c); - bool functionsetHtmlText(KviKvsObjectFunctionCall *c); - bool functionsetPlainText(KviKvsObjectFunctionCall *c); - bool functionsetPointSize(KviKvsObjectFunctionCall *c); - bool functionsetColor(KviKvsObjectFunctionCall *c); - bool functionisUndoAvailable(KviKvsObjectFunctionCall *c); - bool functionisRedoAvailable(KviKvsObjectFunctionCall *c); - bool functionsetFamily(KviKvsObjectFunctionCall *c); - bool functionsetTextFormat(KviKvsObjectFunctionCall *c); - bool functiontextFormat(KviKvsObjectFunctionCall *c); - bool functionloadFile(KviKvsObjectFunctionCall *c); - bool functionlines(KviKvsObjectFunctionCall *c); - bool functionselectAll(KviKvsObjectFunctionCall *c); - bool functionsetModified(KviKvsObjectFunctionCall *c); - bool functionModified(KviKvsObjectFunctionCall *c); - bool functionsetAlignment(KviKvsObjectFunctionCall *c); - + virtual bool init(KviKvsRunTimeContext * pContext, KviKvsVariantList * pParams); + bool functionTextLine(KviKvsObjectFunctionCall * c); + bool functionInsertLine(KviKvsObjectFunctionCall * c); + bool functionRemoveLine(KviKvsObjectFunctionCall * c); + bool functionNumLines(KviKvsObjectFunctionCall * c); + bool functionAtBeginning(KviKvsObjectFunctionCall * c); + bool functionAtEnd(KviKvsObjectFunctionCall * c); + bool functionSetWordWrap(KviKvsObjectFunctionCall * c); + bool functionWordWrap(KviKvsObjectFunctionCall * c); + bool functionCursorPosition(KviKvsObjectFunctionCall * c); + bool functionText(KviKvsObjectFunctionCall * c); + bool functionLength(KviKvsObjectFunctionCall * c); + bool functionSetMaxLines(KviKvsObjectFunctionCall * c); + bool functionMaxLines(KviKvsObjectFunctionCall * c); + bool functionSetReadOnly(KviKvsObjectFunctionCall * c); + bool functionInsert(KviKvsObjectFunctionCall * c); + bool functionAppend(KviKvsObjectFunctionCall * c); + bool functionCopy(KviKvsObjectFunctionCall * c); + bool functionPaste(KviKvsObjectFunctionCall * c); + bool functionCut(KviKvsObjectFunctionCall * c); + bool functionsetItalic(KviKvsObjectFunctionCall * c); + bool functionitalic(KviKvsObjectFunctionCall * c); + bool functionsetBold(KviKvsObjectFunctionCall * c); + bool functionbold(KviKvsObjectFunctionCall * c); + bool functionsetUnderline(KviKvsObjectFunctionCall * c); + bool functionunderline(KviKvsObjectFunctionCall * c); + bool functionzoomIn(KviKvsObjectFunctionCall * c); + bool functionzoomOut(KviKvsObjectFunctionCall * c); + bool functionundo(KviKvsObjectFunctionCall * c); + bool functionredo(KviKvsObjectFunctionCall * c); + bool functiondel(KviKvsObjectFunctionCall * c); + bool functionclear(KviKvsObjectFunctionCall * c); + bool functionsetUndoRedoEnabled(KviKvsObjectFunctionCall * c); + bool functionisUndoRedoEnabled(KviKvsObjectFunctionCall * c); + bool functionsetText(KviKvsObjectFunctionCall * c); + bool functionsetHtmlText(KviKvsObjectFunctionCall * c); + bool functionsetPlainText(KviKvsObjectFunctionCall * c); + bool functionsetPointSize(KviKvsObjectFunctionCall * c); + bool functionsetColor(KviKvsObjectFunctionCall * c); + bool functionisUndoAvailable(KviKvsObjectFunctionCall * c); + bool functionisRedoAvailable(KviKvsObjectFunctionCall * c); + bool functionsetFamily(KviKvsObjectFunctionCall * c); + bool functionsetTextFormat(KviKvsObjectFunctionCall * c); + bool functiontextFormat(KviKvsObjectFunctionCall * c); + bool functionloadFile(KviKvsObjectFunctionCall * c); + bool functionlines(KviKvsObjectFunctionCall * c); + bool functionselectAll(KviKvsObjectFunctionCall * c); + bool functionsetModified(KviKvsObjectFunctionCall * c); + bool functionModified(KviKvsObjectFunctionCall * c); + bool functionsetAlignment(KviKvsObjectFunctionCall * c); }; -#endif //!_CLASS_MULTILINEEDIT_H_ +#endif //!_CLASS_MULTILINEEDIT_H_ diff --git a/src/modules/objects/KvsObject_painter.cpp b/src/modules/objects/KvsObject_painter.cpp index 2d64ea223..1ab46746c 100644 --- a/src/modules/objects/KvsObject_painter.cpp +++ b/src/modules/objects/KvsObject_painter.cpp @@ -37,26 +37,25 @@ #include #include -#define PAINTER_ROTATE(__angle,__axis)\ - QTransform transform;\ - transform.rotate(__angle,__axis);\ - m_pPainter->setTransform(transform,true); - -#define PAINTER_TRANSLATE(__x,__y)\ - QTransform transform;\ - transform.translate(__x,__y);\ - m_pPainter->setTransform(transform,true); - -#define PAINTER_SHEAR(__sH,__sV)\ - QTransform transform;\ - transform.shear(__sH,__sV);\ - m_pPainter->setTransform(transform,true); - -#define PAINTER_SCALE(__sX,__sY)\ - QTransform transform;\ - transform.scale(__sX,__sY);\ - m_pPainter->setTransform(transform,true); - +#define PAINTER_ROTATE(__angle, __axis) \ + QTransform transform; \ + transform.rotate(__angle, __axis); \ + m_pPainter->setTransform(transform, true); + +#define PAINTER_TRANSLATE(__x, __y) \ + QTransform transform; \ + transform.translate(__x, __y); \ + m_pPainter->setTransform(transform, true); + +#define PAINTER_SHEAR(__sH, __sV) \ + QTransform transform; \ + transform.shear(__sH, __sV); \ + m_pPainter->setTransform(transform, true); + +#define PAINTER_SCALE(__sX, __sY) \ + QTransform transform; \ + transform.scale(__sX, __sY); \ + m_pPainter->setTransform(transform, true); const Qt::PenStyle penstyles_cod[] = { Qt::NoPen, @@ -103,8 +102,7 @@ const char * const align_tbl[] = { "TextWordWrap", "TextIncludeTrailingSpaces" }; -#define align_num (sizeof(align_tbl) / sizeof(align_tbl[0])) - +#define align_num (sizeof(align_tbl) / sizeof(align_tbl[0])) const QPainter::CompositionMode composition_cod[] = { QPainter::CompositionMode_SourceOver, @@ -159,9 +157,9 @@ const char * const composition_tbl[] = { "Exclusion" }; -#define penstyles_num (sizeof(penstyles_tbl) / sizeof(penstyles_tbl[0])) +#define penstyles_num (sizeof(penstyles_tbl) / sizeof(penstyles_tbl[0])) -#define composition_num (sizeof(composition_tbl) / sizeof(composition_tbl[0])) +#define composition_num (sizeof(composition_tbl) / sizeof(composition_tbl[0])) const Qt::BrushStyle brushstyles_cod[] = { Qt::NoBrush, @@ -199,7 +197,7 @@ const char * const brushstyles_tbl[] = { "DiagCrossPattern" }; -#define brushstyles_num (sizeof(brushstyles_tbl) / sizeof(brushstyles_tbl[0])) +#define brushstyles_num (sizeof(brushstyles_tbl) / sizeof(brushstyles_tbl[0])) /* @doc: painter @@ -522,442 +520,455 @@ const char * const brushstyles_tbl[] = { */ // ======================================================================== -KVSO_BEGIN_REGISTERCLASS(KvsObject_painter,"painter","object") - - // Fonts - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_painter,setFont) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_painter,setFontSize) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_painter,fontAscent) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_painter,fontDescent) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_painter,fontMetricsHeight) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_painter,fontMetricsWidth) - - // Draws - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_painter,drawRect) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_painter,drawLine) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_painter,drawRoundRect) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_painter,drawPoint) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_painter,drawArc) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_painter,drawEllipse) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_painter,drawPie) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_painter,drawChord) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_painter,fillRect) - - // Text & Pixmap & Icons - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_painter,drawText) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_painter,drawPixmap) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_painter,drawPixmapMirrored) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_painter,drawPixmapWithColorEffect) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_painter,drawIcon) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_painter,drawHtmlText) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_painter,htmlTextSize) - - - // Transform Operation - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_painter,rotate) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_painter,shear) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_painter,scale) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_painter,translate) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_painter,reset) - - - - // ?? - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_painter,setOpacity) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_painter,setTextAntialiasing) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_painter,setAntialiasing) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_painter,setSmoothPixmapTransform) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_painter,setBackGroundMode) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_painter,setCompositionMode) - - - // QPainterPath stuff - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_painter,drawPath) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_painter,resetPath) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_painter,pathAddText) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_painter,pathMoveTo) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_painter,pathLineTo) - - // Pen - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_painter,setPenJoinStyle) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_painter,setPenCapStyle) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_painter,setPenWidth) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_painter,setPenStyle) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_painter,setPen) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_painter,pen) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_painter,colorNames) - - - // Brush - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_painter,setBrush) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_painter,setBrushStyle) - - - // Gradients - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_painter,setGradientStart) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_painter,setGradientStop) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_painter,setGradientColor) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_painter,setGradientAsBrush) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_painter,clearGradient) - - // painter state - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_painter,save) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_painter,restore) - - // painter device - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_painter,painterDeviceWidth) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_painter,painterDeviceHeight) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_painter,begin) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_painter,end) - - // extra - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_painter,beginPdf) - - +KVSO_BEGIN_REGISTERCLASS(KvsObject_painter, "painter", "object") + +// Fonts +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_painter, setFont) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_painter, setFontSize) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_painter, fontAscent) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_painter, fontDescent) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_painter, fontMetricsHeight) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_painter, fontMetricsWidth) + +// Draws +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_painter, drawRect) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_painter, drawLine) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_painter, drawRoundRect) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_painter, drawPoint) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_painter, drawArc) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_painter, drawEllipse) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_painter, drawPie) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_painter, drawChord) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_painter, fillRect) + +// Text & Pixmap & Icons +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_painter, drawText) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_painter, drawPixmap) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_painter, drawPixmapMirrored) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_painter, drawPixmapWithColorEffect) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_painter, drawIcon) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_painter, drawHtmlText) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_painter, htmlTextSize) + +// Transform Operation +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_painter, rotate) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_painter, shear) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_painter, scale) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_painter, translate) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_painter, reset) + +// ?? +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_painter, setOpacity) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_painter, setTextAntialiasing) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_painter, setAntialiasing) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_painter, setSmoothPixmapTransform) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_painter, setBackGroundMode) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_painter, setCompositionMode) + +// QPainterPath stuff +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_painter, drawPath) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_painter, resetPath) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_painter, pathAddText) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_painter, pathMoveTo) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_painter, pathLineTo) + +// Pen +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_painter, setPenJoinStyle) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_painter, setPenCapStyle) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_painter, setPenWidth) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_painter, setPenStyle) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_painter, setPen) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_painter, pen) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_painter, colorNames) + +// Brush +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_painter, setBrush) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_painter, setBrushStyle) + +// Gradients +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_painter, setGradientStart) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_painter, setGradientStop) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_painter, setGradientColor) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_painter, setGradientAsBrush) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_painter, clearGradient) + +// painter state +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_painter, save) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_painter, restore) + +// painter device +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_painter, painterDeviceWidth) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_painter, painterDeviceHeight) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_painter, begin) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_painter, end) + +// extra +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_painter, beginPdf) KVSO_END_REGISTERCLASS(KvsObject_painter) +KVSO_BEGIN_CONSTRUCTOR(KvsObject_painter, KviKvsObject) -KVSO_BEGIN_CONSTRUCTOR(KvsObject_painter,KviKvsObject) - - m_pPainter = new QPainter(); - bDonotdeleteinternalqpainter=false; - m_pPrinter = 0 ; - m_pDeviceObject=0; - m_pPainterPath=0; - m_pGradient=0; +m_pPainter = new QPainter(); +bDonotdeleteinternalqpainter = false; +m_pPrinter = 0; +m_pDeviceObject = 0; +m_pPainterPath = 0; +m_pGradient = 0; KVSO_END_CONSTRUCTOR(KvsObject_painter) KVSO_BEGIN_DESTRUCTOR(KvsObject_painter) - if (m_pPainterPath) delete m_pPainterPath; - m_pPainterPath=0; - if (m_pGradient) delete m_pGradient; - m_pGradient=0; - if (m_pPainter && !bDonotdeleteinternalqpainter) delete m_pPainter; - m_pPainter = 0; - if (m_pPrinter) delete m_pPrinter; - m_pPrinter = 0; +if(m_pPainterPath) + delete m_pPainterPath; +m_pPainterPath = 0; +if(m_pGradient) + delete m_pGradient; +m_pGradient = 0; +if(m_pPainter && !bDonotdeleteinternalqpainter) + delete m_pPainter; +m_pPainter = 0; +if(m_pPrinter) + delete m_pPrinter; +m_pPrinter = 0; KVSO_END_CONSTRUCTOR(KvsObject_painter) -#define KVSO_PARAMETERS_PAINTER(__pXOrArray,__iY,__iW,__iH)\ -if(__pXOrArray->isArray())\ - {\ - if(__pXOrArray->array()->size() < 4)\ - {\ - c->error(__tr2qs_ctx("The array passed as parameter must contain at least 4 elements","objects"));\ - return false;\ - }\ - KviKvsVariant * pX = __pXOrArray->array()->at(0);\ - KviKvsVariant * pY = __pXOrArray->array()->at(1);\ - KviKvsVariant * pW = __pXOrArray->array()->at(2);\ - KviKvsVariant * pH = __pXOrArray->array()->at(3);\ - if(!(pX && pY && pW && pH))\ - {\ - c->error(__tr2qs_ctx("One of the geometry array parameters is empty","objects"));\ - return false;\ - }\ - if(!(pX->asInteger(iX) && pY->asInteger(__iY) && pW->asInteger(__iW) && pH->asInteger(__iH)))\ - {\ - c->error(__tr2qs_ctx("One of the geometry array parameters didn't evaluate to an integer","objects"));\ - return false;\ - }\ - } else {\ - if(c->params()->count() < 4)\ - {\ - QString error=function+__tr2qs_ctx(" requires either an array as first parameter or four integers","objects");\ - c->error(error);\ - return false;\ - }\ - if(!__pXOrArray->asInteger(iX))\ - {\ - c->error(__tr2qs_ctx("The first parameter didn't evaluate to an array nor an integer","objects"));\ - return false;\ - }\ - }\ - -#define KVSO_2ARRAYPARAMETERS(__pXOrArray,__iY)\ -if(__pXOrArray->isArray())\ - {\ - if(__pXOrArray->array()->size() < 2)\ - {\ - c->error(__tr2qs_ctx("The array passed as parameter must contain at least 2 elements","objects"));\ - return false;\ - }\ - KviKvsVariant * pX = __pXOrArray->array()->at(0);\ - KviKvsVariant * pY = __pXOrArray->array()->at(1);\ - if(!(pX && pY ))\ - {\ - c->error(__tr2qs_ctx("One of the array parameters is empty","objects"));\ - return false;\ - }\ - if(!(pX->asInteger(iX) && pY->asInteger(__iY)))\ - {\ - c->error(__tr2qs_ctx("One of the array parameters didn't evaluate to an integer","objects"));\ - return false;\ - }\ - } else {\ - if(c->params()->count() < 2)\ - {\ - QString error=function+__tr2qs_ctx(" requires either an array as first parameter or two integers","objects");\ - c->error(error);\ - return false;\ - }\ - if(!__pXOrArray->asInteger(iX))\ - {\ - c->error(__tr2qs_ctx("The first parameter didn't evaluate to an array nor an integer","objects"));\ - return false;\ - }\ - }\ - -#define KVSO_3OR4ARRAYPARAMETERS(__pCol1OrArray,__iCol2,__iCol3,__iOpacity)\ -if(__pCol1OrArray->isArray())\ - {\ - if(__pCol1OrArray->array()->size() < 3)\ - {\ - c->error(__tr2qs_ctx("The array passed as parameter must contain at least 3 elements","objects"));\ - return false;\ - }\ - KviKvsVariant * c1 = __pCol1OrArray->array()->at(0);\ - KviKvsVariant * c2 = __pCol1OrArray->array()->at(1);\ - KviKvsVariant * c3 = __pCol1OrArray->array()->at(2);\ - if(!(c1 && c2 && c3))\ - {\ - c->error(__tr2qs_ctx("One of the array parameters is empty","objects"));\ - return false;\ - }\ - if(!(c1->asInteger(iCol1) && c2->asInteger(__iCol2) && c3->asInteger(__iCol3)))\ - {\ - c->error(__tr2qs_ctx("One of the array parameters didn't evaluate to an integer","objects"));\ - return false;\ - }\ - if(__pCol1OrArray->array()->size() > 3)\ - {\ - KviKvsVariant * c4 = __pCol1OrArray->array()->at(3);\ - if(!(c4->asInteger(__iOpacity)))\ - {\ - c->error(__tr2qs_ctx("The opacity value didn't evaluate to an integer","objects"));\ - return false;\ - }\ - }\ - } else {\ - if(c->params()->count() < 3)\ - {\ - QString error=function+__tr2qs_ctx(" requires either an array as first parameter or 3 integers","objects");\ - c->error(error);\ - return false;\ - }\ - if(!__pCol1OrArray->asInteger(iCol1))\ - {\ - c->error(__tr2qs_ctx("The first parameter didn't evaluate to an array nor an integer","objects"));\ - return false;\ - }\ - }\ - -KVSO_CLASS_FUNCTION(painter,setFont) +#define KVSO_PARAMETERS_PAINTER(__pXOrArray, __iY, __iW, __iH) \ + if(__pXOrArray->isArray()) \ + { \ + if(__pXOrArray->array()->size() < 4) \ + { \ + c->error(__tr2qs_ctx("The array passed as parameter must contain at least 4 elements", "objects")); \ + return false; \ + } \ + KviKvsVariant * pX = __pXOrArray->array()->at(0); \ + KviKvsVariant * pY = __pXOrArray->array()->at(1); \ + KviKvsVariant * pW = __pXOrArray->array()->at(2); \ + KviKvsVariant * pH = __pXOrArray->array()->at(3); \ + if(!(pX && pY && pW && pH)) \ + { \ + c->error(__tr2qs_ctx("One of the geometry array parameters is empty", "objects")); \ + return false; \ + } \ + if(!(pX->asInteger(iX) && pY->asInteger(__iY) && pW->asInteger(__iW) && pH->asInteger(__iH))) \ + { \ + c->error(__tr2qs_ctx("One of the geometry array parameters didn't evaluate to an integer", "objects")); \ + return false; \ + } \ + } \ + else \ + { \ + if(c->params()->count() < 4) \ + { \ + QString error = function + __tr2qs_ctx(" requires either an array as first parameter or four integers", "objects"); \ + c->error(error); \ + return false; \ + } \ + if(!__pXOrArray->asInteger(iX)) \ + { \ + c->error(__tr2qs_ctx("The first parameter didn't evaluate to an array nor an integer", "objects")); \ + return false; \ + } \ + } + +#define KVSO_2ARRAYPARAMETERS(__pXOrArray, __iY) \ + if(__pXOrArray->isArray()) \ + { \ + if(__pXOrArray->array()->size() < 2) \ + { \ + c->error(__tr2qs_ctx("The array passed as parameter must contain at least 2 elements", "objects")); \ + return false; \ + } \ + KviKvsVariant * pX = __pXOrArray->array()->at(0); \ + KviKvsVariant * pY = __pXOrArray->array()->at(1); \ + if(!(pX && pY)) \ + { \ + c->error(__tr2qs_ctx("One of the array parameters is empty", "objects")); \ + return false; \ + } \ + if(!(pX->asInteger(iX) && pY->asInteger(__iY))) \ + { \ + c->error(__tr2qs_ctx("One of the array parameters didn't evaluate to an integer", "objects")); \ + return false; \ + } \ + } \ + else \ + { \ + if(c->params()->count() < 2) \ + { \ + QString error = function + __tr2qs_ctx(" requires either an array as first parameter or two integers", "objects"); \ + c->error(error); \ + return false; \ + } \ + if(!__pXOrArray->asInteger(iX)) \ + { \ + c->error(__tr2qs_ctx("The first parameter didn't evaluate to an array nor an integer", "objects")); \ + return false; \ + } \ + } + +#define KVSO_3OR4ARRAYPARAMETERS(__pCol1OrArray, __iCol2, __iCol3, __iOpacity) \ + if(__pCol1OrArray->isArray()) \ + { \ + if(__pCol1OrArray->array()->size() < 3) \ + { \ + c->error(__tr2qs_ctx("The array passed as parameter must contain at least 3 elements", "objects")); \ + return false; \ + } \ + KviKvsVariant * c1 = __pCol1OrArray->array()->at(0); \ + KviKvsVariant * c2 = __pCol1OrArray->array()->at(1); \ + KviKvsVariant * c3 = __pCol1OrArray->array()->at(2); \ + if(!(c1 && c2 && c3)) \ + { \ + c->error(__tr2qs_ctx("One of the array parameters is empty", "objects")); \ + return false; \ + } \ + if(!(c1->asInteger(iCol1) && c2->asInteger(__iCol2) && c3->asInteger(__iCol3))) \ + { \ + c->error(__tr2qs_ctx("One of the array parameters didn't evaluate to an integer", "objects")); \ + return false; \ + } \ + if(__pCol1OrArray->array()->size() > 3) \ + { \ + KviKvsVariant * c4 = __pCol1OrArray->array()->at(3); \ + if(!(c4->asInteger(__iOpacity))) \ + { \ + c->error(__tr2qs_ctx("The opacity value didn't evaluate to an integer", "objects")); \ + return false; \ + } \ + } \ + } \ + else \ + { \ + if(c->params()->count() < 3) \ + { \ + QString error = function + __tr2qs_ctx(" requires either an array as first parameter or 3 integers", "objects"); \ + c->error(error); \ + return false; \ + } \ + if(!__pCol1OrArray->asInteger(iCol1)) \ + { \ + c->error(__tr2qs_ctx("The first parameter didn't evaluate to an array nor an integer", "objects")); \ + return false; \ + } \ + } + +KVSO_CLASS_FUNCTION(painter, setFont) { CHECK_INTERNAL_POINTER(m_pPainter) QString szFamily; QStringList szListStyle; kvs_int_t iSize; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("size",KVS_PT_INTEGER,0,iSize) - KVSO_PARAMETER("family",KVS_PT_STRING,0,szFamily) - KVSO_PARAMETER("style",KVS_PT_STRINGLIST,KVS_PF_OPTIONAL,szListStyle) + KVSO_PARAMETER("size", KVS_PT_INTEGER, 0, iSize) + KVSO_PARAMETER("family", KVS_PT_STRING, 0, szFamily) + KVSO_PARAMETER("style", KVS_PT_STRINGLIST, KVS_PF_OPTIONAL, szListStyle) KVSO_PARAMETERS_END(c) - QFont font=m_pPainter->font(); + QFont font = m_pPainter->font(); font.setFamily(szFamily); font.setPointSize(iSize); QString szStyle; - for(int i=0;iwarning(__tr2qs_ctx("Unknown style '%Q'","objects"),&szStyle); + szStyle = szListStyle.at(i); + if(KviQString::equalCI(szStyle, "italic")) + font.setItalic(true); + else if(KviQString::equalCI(szStyle, "bold")) + font.setBold(true); + else if(KviQString::equalCI(szStyle, "underline")) + font.setUnderline(true); + else if(KviQString::equalCI(szStyle, "overline")) + font.setOverline(true); + else if(KviQString::equalCI(szStyle, "strikeout")) + font.setStrikeOut(true); + else if(KviQString::equalCI(szStyle, "fixedpitch")) + font.setFixedPitch(true); + else + c->warning(__tr2qs_ctx("Unknown style '%Q'", "objects"), &szStyle); } m_pPainter->setFont(font); return true; } -KVSO_CLASS_FUNCTION(painter,setFontSize) +KVSO_CLASS_FUNCTION(painter, setFontSize) { CHECK_INTERNAL_POINTER(m_pPainter) kvs_uint_t uSize; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("size",KVS_PT_UNSIGNEDINTEGER,0,uSize) + KVSO_PARAMETER("size", KVS_PT_UNSIGNEDINTEGER, 0, uSize) KVSO_PARAMETERS_END(c) - QFont font=m_pPainter->font(); + QFont font = m_pPainter->font(); font.setPointSize(uSize); m_pPainter->setFont(font); return true; } -KVSO_CLASS_FUNCTION(painter,setBackGroundMode) +KVSO_CLASS_FUNCTION(painter, setBackGroundMode) { CHECK_INTERNAL_POINTER(m_pPainter) QString szMode; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("background mode",KVS_PT_STRING,0,szMode) + KVSO_PARAMETER("background mode", KVS_PT_STRING, 0, szMode) KVSO_PARAMETERS_END(c) - if(KviQString::equalCI(szMode,"Transparent")) m_pPainter->setBackgroundMode(Qt::TransparentMode); - else if(KviQString::equalCI(szMode,"Opaque")) m_pPainter->setBackgroundMode(Qt::OpaqueMode); - else c->warning( __tr2qs_ctx("Unknown '%Q' background mode","objects"),&szMode); + if(KviQString::equalCI(szMode, "Transparent")) + m_pPainter->setBackgroundMode(Qt::TransparentMode); + else if(KviQString::equalCI(szMode, "Opaque")) + m_pPainter->setBackgroundMode(Qt::OpaqueMode); + else + c->warning(__tr2qs_ctx("Unknown '%Q' background mode", "objects"), &szMode); return true; } -KVSO_CLASS_FUNCTION(painter,drawLine) +KVSO_CLASS_FUNCTION(painter, drawLine) { CHECK_INTERNAL_POINTER(m_pPainter) KviKvsVariant * pXOrArray; - kvs_int_t iX,iY,iX1,iY1; + kvs_int_t iX, iY, iX1, iY1; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("x_or_array",KVS_PT_VARIANT,0,pXOrArray) - KVSO_PARAMETER("y",KVS_PT_INT,KVS_PF_OPTIONAL,iY) - KVSO_PARAMETER("x1",KVS_PT_INT,KVS_PF_OPTIONAL,iX1) - KVSO_PARAMETER("y1",KVS_PT_INT,KVS_PF_OPTIONAL,iY1) + KVSO_PARAMETER("x_or_array", KVS_PT_VARIANT, 0, pXOrArray) + KVSO_PARAMETER("y", KVS_PT_INT, KVS_PF_OPTIONAL, iY) + KVSO_PARAMETER("x1", KVS_PT_INT, KVS_PF_OPTIONAL, iX1) + KVSO_PARAMETER("y1", KVS_PT_INT, KVS_PF_OPTIONAL, iY1) KVSO_PARAMETERS_END(c) - QString function="$drawLine"; - KVSO_PARAMETERS_PAINTER(pXOrArray,iY,iX1,iY1) - if(m_pPainter) m_pPainter->drawLine(iX,iY,iX1,iY1); + QString function = "$drawLine"; + KVSO_PARAMETERS_PAINTER(pXOrArray, iY, iX1, iY1) + if(m_pPainter) + m_pPainter->drawLine(iX, iY, iX1, iY1); return true; } -KVSO_CLASS_FUNCTION(painter,drawRect) +KVSO_CLASS_FUNCTION(painter, drawRect) { CHECK_INTERNAL_POINTER(m_pPainter) KviKvsVariant * pXOrArray; - kvs_int_t iX,iY,iW,iH; + kvs_int_t iX, iY, iW, iH; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("x_or_array",KVS_PT_VARIANT,0,pXOrArray) - KVSO_PARAMETER("y",KVS_PT_INT,KVS_PF_OPTIONAL,iY) - KVSO_PARAMETER("w",KVS_PT_INT,KVS_PF_OPTIONAL,iW) - KVSO_PARAMETER("h",KVS_PT_INT,KVS_PF_OPTIONAL,iH) + KVSO_PARAMETER("x_or_array", KVS_PT_VARIANT, 0, pXOrArray) + KVSO_PARAMETER("y", KVS_PT_INT, KVS_PF_OPTIONAL, iY) + KVSO_PARAMETER("w", KVS_PT_INT, KVS_PF_OPTIONAL, iW) + KVSO_PARAMETER("h", KVS_PT_INT, KVS_PF_OPTIONAL, iH) KVSO_PARAMETERS_END(c) - QString function="$drawRect"; - KVSO_PARAMETERS_PAINTER(pXOrArray,iY,iW,iH) - m_pPainter->drawRect(iX,iY,iW,iH); + QString function = "$drawRect"; + KVSO_PARAMETERS_PAINTER(pXOrArray, iY, iW, iH) + m_pPainter->drawRect(iX, iY, iW, iH); return true; } - -KVSO_CLASS_FUNCTION(painter,drawEllipse) +KVSO_CLASS_FUNCTION(painter, drawEllipse) { CHECK_INTERNAL_POINTER(m_pPainter) KviKvsVariant * pXOrArray; - kvs_int_t iX,iY,iW,iH; + kvs_int_t iX, iY, iW, iH; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("x_or_array",KVS_PT_VARIANT,0,pXOrArray) - KVSO_PARAMETER("y",KVS_PT_INT,KVS_PF_OPTIONAL,iY) - KVSO_PARAMETER("w",KVS_PT_INT,KVS_PF_OPTIONAL,iW) - KVSO_PARAMETER("h",KVS_PT_INT,KVS_PF_OPTIONAL,iH) + KVSO_PARAMETER("x_or_array", KVS_PT_VARIANT, 0, pXOrArray) + KVSO_PARAMETER("y", KVS_PT_INT, KVS_PF_OPTIONAL, iY) + KVSO_PARAMETER("w", KVS_PT_INT, KVS_PF_OPTIONAL, iW) + KVSO_PARAMETER("h", KVS_PT_INT, KVS_PF_OPTIONAL, iH) KVSO_PARAMETERS_END(c) - QString function="$drawEllipse"; - KVSO_PARAMETERS_PAINTER(pXOrArray,iY,iW,iH) - m_pPainter->drawEllipse(iX,iY,iW,iH); + QString function = "$drawEllipse"; + KVSO_PARAMETERS_PAINTER(pXOrArray, iY, iW, iH) + m_pPainter->drawEllipse(iX, iY, iW, iH); return true; } -KVSO_CLASS_FUNCTION(painter,drawRoundRect) +KVSO_CLASS_FUNCTION(painter, drawRoundRect) { CHECK_INTERNAL_POINTER(m_pPainter) KviKvsVariant * pXOrArray; - kvs_int_t iXrnd,iYrnd,iX,iY,iW,iH; + kvs_int_t iXrnd, iYrnd, iX, iY, iW, iH; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("x_round",KVS_PT_INT,0,iXrnd) - KVSO_PARAMETER("y_round",KVS_PT_INT,0,iYrnd) - KVSO_PARAMETER("x_or_array",KVS_PT_VARIANT,0,pXOrArray) - KVSO_PARAMETER("y",KVS_PT_INT,KVS_PF_OPTIONAL,iY) - KVSO_PARAMETER("w",KVS_PT_INT,KVS_PF_OPTIONAL,iW) - KVSO_PARAMETER("h",KVS_PT_INT,KVS_PF_OPTIONAL,iH) + KVSO_PARAMETER("x_round", KVS_PT_INT, 0, iXrnd) + KVSO_PARAMETER("y_round", KVS_PT_INT, 0, iYrnd) + KVSO_PARAMETER("x_or_array", KVS_PT_VARIANT, 0, pXOrArray) + KVSO_PARAMETER("y", KVS_PT_INT, KVS_PF_OPTIONAL, iY) + KVSO_PARAMETER("w", KVS_PT_INT, KVS_PF_OPTIONAL, iW) + KVSO_PARAMETER("h", KVS_PT_INT, KVS_PF_OPTIONAL, iH) KVSO_PARAMETERS_END(c) - QString function="$drawRoundRect"; - KVSO_PARAMETERS_PAINTER(pXOrArray,iY,iW,iH) - m_pPainter->drawRoundRect(iX,iY,iW,iH,iXrnd,iYrnd); + QString function = "$drawRoundRect"; + KVSO_PARAMETERS_PAINTER(pXOrArray, iY, iW, iH) + m_pPainter->drawRoundRect(iX, iY, iW, iH, iXrnd, iYrnd); return true; } -KVSO_CLASS_FUNCTION(painter,drawArc) +KVSO_CLASS_FUNCTION(painter, drawArc) { CHECK_INTERNAL_POINTER(m_pPainter) KviKvsVariant * pXOrArray; - kvs_int_t iSangle,iLena,iX,iY,iW,iH; + kvs_int_t iSangle, iLena, iX, iY, iW, iH; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("start_angle",KVS_PT_INT,0,iSangle) - KVSO_PARAMETER("a_lenght",KVS_PT_INT,0,iLena) - KVSO_PARAMETER("x_or_array",KVS_PT_VARIANT,0,pXOrArray) - KVSO_PARAMETER("y",KVS_PT_INT,KVS_PF_OPTIONAL,iY) - KVSO_PARAMETER("w",KVS_PT_INT,KVS_PF_OPTIONAL,iW) - KVSO_PARAMETER("h",KVS_PT_INT,KVS_PF_OPTIONAL,iH) + KVSO_PARAMETER("start_angle", KVS_PT_INT, 0, iSangle) + KVSO_PARAMETER("a_lenght", KVS_PT_INT, 0, iLena) + KVSO_PARAMETER("x_or_array", KVS_PT_VARIANT, 0, pXOrArray) + KVSO_PARAMETER("y", KVS_PT_INT, KVS_PF_OPTIONAL, iY) + KVSO_PARAMETER("w", KVS_PT_INT, KVS_PF_OPTIONAL, iW) + KVSO_PARAMETER("h", KVS_PT_INT, KVS_PF_OPTIONAL, iH) KVSO_PARAMETERS_END(c) - QString function="$drawArc"; - KVSO_PARAMETERS_PAINTER(pXOrArray,iY,iW,iH) - m_pPainter->drawArc(iX,iY,iW,iH,iSangle,iLena); + QString function = "$drawArc"; + KVSO_PARAMETERS_PAINTER(pXOrArray, iY, iW, iH) + m_pPainter->drawArc(iX, iY, iW, iH, iSangle, iLena); return true; } -KVSO_CLASS_FUNCTION(painter,drawChord) +KVSO_CLASS_FUNCTION(painter, drawChord) { CHECK_INTERNAL_POINTER(m_pPainter) KviKvsVariant * pXOrArray; - kvs_int_t iSangle,iLena,iX,iY,iW,iH; + kvs_int_t iSangle, iLena, iX, iY, iW, iH; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("start_angle",KVS_PT_INT,0,iSangle) - KVSO_PARAMETER("a_lenght",KVS_PT_INT,0,iLena) - KVSO_PARAMETER("x_or_array",KVS_PT_VARIANT,0,pXOrArray) - KVSO_PARAMETER("y",KVS_PT_INT,KVS_PF_OPTIONAL,iY) - KVSO_PARAMETER("w",KVS_PT_INT,KVS_PF_OPTIONAL,iW) - KVSO_PARAMETER("h",KVS_PT_INT,KVS_PF_OPTIONAL,iH) + KVSO_PARAMETER("start_angle", KVS_PT_INT, 0, iSangle) + KVSO_PARAMETER("a_lenght", KVS_PT_INT, 0, iLena) + KVSO_PARAMETER("x_or_array", KVS_PT_VARIANT, 0, pXOrArray) + KVSO_PARAMETER("y", KVS_PT_INT, KVS_PF_OPTIONAL, iY) + KVSO_PARAMETER("w", KVS_PT_INT, KVS_PF_OPTIONAL, iW) + KVSO_PARAMETER("h", KVS_PT_INT, KVS_PF_OPTIONAL, iH) KVSO_PARAMETERS_END(c) - QString function="$drawChord"; - KVSO_PARAMETERS_PAINTER(pXOrArray,iY,iW,iH) - m_pPainter->drawChord(iX,iY,iW,iH,iSangle,iLena); + QString function = "$drawChord"; + KVSO_PARAMETERS_PAINTER(pXOrArray, iY, iW, iH) + m_pPainter->drawChord(iX, iY, iW, iH, iSangle, iLena); return true; } -KVSO_CLASS_FUNCTION(painter,setBrush) +KVSO_CLASS_FUNCTION(painter, setBrush) { CHECK_INTERNAL_POINTER(m_pPainter) - kvs_int_t iCol1,iCol2,iCol3,iOpacity; - KviKvsVariant *var1,*var2,*var3; - QString szColorMode,szColor; + kvs_int_t iCol1, iCol2, iCol3, iOpacity; + KviKvsVariant *var1, *var2, *var3; + QString szColorMode, szColor; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("Color_1_Or_Colorname_Or_Pixmap",KVS_PT_VARIANT,0,var1) - KVSO_PARAMETER("Color_2",KVS_PT_VARIANT,KVS_PF_OPTIONAL,var2) - KVSO_PARAMETER("Colo3_3",KVS_PT_VARIANT,KVS_PF_OPTIONAL,var3) - KVSO_PARAMETER("color_mode",KVS_PT_STRING,KVS_PF_OPTIONAL,szColorMode) - KVSO_PARAMETER("opacity",KVS_PT_INT,KVS_PF_OPTIONAL,iOpacity) + KVSO_PARAMETER("Color_1_Or_Colorname_Or_Pixmap", KVS_PT_VARIANT, 0, var1) + KVSO_PARAMETER("Color_2", KVS_PT_VARIANT, KVS_PF_OPTIONAL, var2) + KVSO_PARAMETER("Colo3_3", KVS_PT_VARIANT, KVS_PF_OPTIONAL, var3) + KVSO_PARAMETER("color_mode", KVS_PT_STRING, KVS_PF_OPTIONAL, szColorMode) + KVSO_PARAMETER("opacity", KVS_PT_INT, KVS_PF_OPTIONAL, iOpacity) KVSO_PARAMETERS_END(c) if(var1->isHObject()) { kvs_hobject_t hObj; var1->asHObject(hObj); - KviKvsObject *pObject=KviKvsKernel::instance()->objectController()->lookupObject(hObj); - if (!pObject) + KviKvsObject * pObject = KviKvsKernel::instance()->objectController()->lookupObject(hObj); + if(!pObject) { - c->warning(__tr2qs_ctx("Pixmap parameter is not an object!","objects")); + c->warning(__tr2qs_ctx("Pixmap parameter is not an object!", "objects")); return true; } if(pObject->inheritsClass("pixmap")) m_pPainter->setBrush(*((KvsObject_pixmap *)pObject)->getImage()); - else c->warning(__tr2qs_ctx("Object Pixmap required!","objects")); + else + c->warning(__tr2qs_ctx("Object Pixmap required!", "objects")); return true; } - if (!var1->asInteger(iCol1)) + if(!var1->asInteger(iCol1)) { var1->asString(szColor); - if (c->paramCount()<2) iOpacity=255; + if(c->paramCount() < 2) + iOpacity = 255; else { - if (!var2->asInteger(iOpacity)) + if(!var2->asInteger(iOpacity)) { - c->warning(__tr2qs_ctx("The opacity parameter didn't evaluate to integer","objects")); + c->warning(__tr2qs_ctx("The opacity parameter didn't evaluate to integer", "objects")); return true; } } @@ -967,78 +978,83 @@ KVSO_CLASS_FUNCTION(painter,setBrush) } else { - if(c->paramCount()<3) + if(c->paramCount() < 3) { - c->error(__tr2qs_ctx("Color name or triplet RGB/HSV value required","objects")); + c->error(__tr2qs_ctx("Color name or triplet RGB/HSV value required", "objects")); return true; } - if (!var2->asInteger(iCol2)||!var3->asInteger(iCol3)) + if(!var2->asInteger(iCol2) || !var3->asInteger(iCol3)) { - c->error(__tr2qs_ctx("One of the triplet parameters didn't evaluate to an integer","objects"));\ - return true; + c->error(__tr2qs_ctx("One of the triplet parameters didn't evaluate to an integer", "objects")); + return true; } - if (c->paramCount()<5) iOpacity=255; + if(c->paramCount() < 5) + iOpacity = 255; QColor col; if(KviQString::equalCI(szColorMode, "HSV")) - col.setHsv(iCol1,iCol2,iCol3,iOpacity); + col.setHsv(iCol1, iCol2, iCol3, iOpacity); else - col.setRgb(iCol1,iCol2,iCol3,iOpacity); + col.setRgb(iCol1, iCol2, iCol3, iOpacity); m_pPainter->setBrush(col); - } return true; } -KVSO_CLASS_FUNCTION(painter,pen) +KVSO_CLASS_FUNCTION(painter, pen) { CHECK_INTERNAL_POINTER(m_pPainter) QString szFlags; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("flags",KVS_PT_STRING,KVS_PF_OPTIONAL,szFlags) + KVSO_PARAMETER("flags", KVS_PT_STRING, KVS_PF_OPTIONAL, szFlags) KVSO_PARAMETERS_END(c) - if(szFlags.isEmpty()){ + if(szFlags.isEmpty()) + { c->returnValue()->setString(m_pPainter->pen().color().name()); return true; } - QColor col=m_pPainter->pen().color(); - KviKvsVariant *pRed = new KviKvsVariant((kvs_int_t)col.red()); - KviKvsVariant *pGreen = new KviKvsVariant((kvs_int_t)col.green()); - KviKvsVariant *pBlue = new KviKvsVariant((kvs_int_t)col.blue()); - if (szFlags.indexOf('a',0,Qt::CaseInsensitive) != -1){ - KviKvsArray *pArray = new KviKvsArray(); - pArray->set(0,pRed); - pArray->set(1,pGreen); - pArray->set(2,pBlue); + QColor col = m_pPainter->pen().color(); + KviKvsVariant * pRed = new KviKvsVariant((kvs_int_t)col.red()); + KviKvsVariant * pGreen = new KviKvsVariant((kvs_int_t)col.green()); + KviKvsVariant * pBlue = new KviKvsVariant((kvs_int_t)col.blue()); + if(szFlags.indexOf('a', 0, Qt::CaseInsensitive) != -1) + { + KviKvsArray * pArray = new KviKvsArray(); + pArray->set(0, pRed); + pArray->set(1, pGreen); + pArray->set(2, pBlue); c->returnValue()->setArray(pArray); - } else if (szFlags.indexOf('h',0,Qt::CaseInsensitive) != -1){ - KviKvsHash *pHash = new KviKvsHash(); - pHash->set("red",pRed); - pHash->set("green",pGreen); - pHash->set("blue",pBlue); + } + else if(szFlags.indexOf('h', 0, Qt::CaseInsensitive) != -1) + { + KviKvsHash * pHash = new KviKvsHash(); + pHash->set("red", pRed); + pHash->set("green", pGreen); + pHash->set("blue", pBlue); } return true; } -KVSO_CLASS_FUNCTION(painter,setPen) +KVSO_CLASS_FUNCTION(painter, setPen) { CHECK_INTERNAL_POINTER(m_pPainter) - kvs_int_t iCol1,iCol2,iCol3,iOpacity; - QString szColorMode,szColor; - KviKvsVariant *var1,*var2,*var3; + kvs_int_t iCol1, iCol2, iCol3, iOpacity; + QString szColorMode, szColor; + KviKvsVariant *var1, *var2, *var3; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("Color_1_Or_Colorname",KVS_PT_VARIANT,0,var1) - KVSO_PARAMETER("Color_2",KVS_PT_VARIANT,KVS_PF_OPTIONAL,var2) - KVSO_PARAMETER("Colo3_3",KVS_PT_VARIANT,KVS_PF_OPTIONAL,var3) - KVSO_PARAMETER("color_mode",KVS_PT_STRING,KVS_PF_OPTIONAL,szColorMode) - KVSO_PARAMETER("opacity",KVS_PT_INT,KVS_PF_OPTIONAL,iOpacity) + KVSO_PARAMETER("Color_1_Or_Colorname", KVS_PT_VARIANT, 0, var1) + KVSO_PARAMETER("Color_2", KVS_PT_VARIANT, KVS_PF_OPTIONAL, var2) + KVSO_PARAMETER("Colo3_3", KVS_PT_VARIANT, KVS_PF_OPTIONAL, var3) + KVSO_PARAMETER("color_mode", KVS_PT_STRING, KVS_PF_OPTIONAL, szColorMode) + KVSO_PARAMETER("opacity", KVS_PT_INT, KVS_PF_OPTIONAL, iOpacity) KVSO_PARAMETERS_END(c) - if (!var1->asInteger(iCol1)) + if(!var1->asInteger(iCol1)) { var1->asString(szColor); - if (c->paramCount()<2) iOpacity=255; + if(c->paramCount() < 2) + iOpacity = 255; else { - if (!var2->asInteger(iOpacity)) + if(!var2->asInteger(iOpacity)) { - c->warning(__tr2qs_ctx("The opacity parameter didn't evaluate to integer","objects")); + c->warning(__tr2qs_ctx("The opacity parameter didn't evaluate to integer", "objects")); return true; } } @@ -1048,266 +1064,280 @@ KVSO_CLASS_FUNCTION(painter,setPen) } else { - if(c->paramCount()<3) + if(c->paramCount() < 3) { - c->error(__tr2qs_ctx("Color name or triplet RGB/HSV value required","objects")); + c->error(__tr2qs_ctx("Color name or triplet RGB/HSV value required", "objects")); return true; } - if (!var2->asInteger(iCol2)||!var3->asInteger(iCol3)) + if(!var2->asInteger(iCol2) || !var3->asInteger(iCol3)) { - c->error(__tr2qs_ctx("One of the triplet parameters didn't evaluate to an integer","objects"));\ - return true; + c->error(__tr2qs_ctx("One of the triplet parameters didn't evaluate to an integer", "objects")); + return true; } - if (c->paramCount()<5) iOpacity=255; + if(c->paramCount() < 5) + iOpacity = 255; QColor col; if(KviQString::equalCI(szColorMode, "HSV")) - col.setHsv(iCol1,iCol2,iCol3,iOpacity); + col.setHsv(iCol1, iCol2, iCol3, iOpacity); else - col.setRgb(iCol1,iCol2,iCol3,iOpacity); + col.setRgb(iCol1, iCol2, iCol3, iOpacity); m_pPainter->setPen(col); - } return true; } -KVSO_CLASS_FUNCTION(painter,drawPie) +KVSO_CLASS_FUNCTION(painter, drawPie) { CHECK_INTERNAL_POINTER(m_pPainter) KviKvsVariant * pXOrArray; - kvs_int_t iSangle,iLena,iX,iY,iW,iH; + kvs_int_t iSangle, iLena, iX, iY, iW, iH; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("start_angle",KVS_PT_INT,0,iSangle) - KVSO_PARAMETER("a_lenght",KVS_PT_INT,0,iLena) - KVSO_PARAMETER("x_or_array",KVS_PT_VARIANT,0,pXOrArray) - KVSO_PARAMETER("y",KVS_PT_INT,KVS_PF_OPTIONAL,iY) - KVSO_PARAMETER("w",KVS_PT_INT,KVS_PF_OPTIONAL,iW) - KVSO_PARAMETER("h",KVS_PT_INT,KVS_PF_OPTIONAL,iH) + KVSO_PARAMETER("start_angle", KVS_PT_INT, 0, iSangle) + KVSO_PARAMETER("a_lenght", KVS_PT_INT, 0, iLena) + KVSO_PARAMETER("x_or_array", KVS_PT_VARIANT, 0, pXOrArray) + KVSO_PARAMETER("y", KVS_PT_INT, KVS_PF_OPTIONAL, iY) + KVSO_PARAMETER("w", KVS_PT_INT, KVS_PF_OPTIONAL, iW) + KVSO_PARAMETER("h", KVS_PT_INT, KVS_PF_OPTIONAL, iH) KVSO_PARAMETERS_END(c) - QString function="$drawPie"; - KVSO_PARAMETERS_PAINTER(pXOrArray,iY,iW,iH) - m_pPainter->drawPie(iX,iY,iW,iH,iSangle,iLena); + QString function = "$drawPie"; + KVSO_PARAMETERS_PAINTER(pXOrArray, iY, iW, iH) + m_pPainter->drawPie(iX, iY, iW, iH, iSangle, iLena); return true; } -KVSO_CLASS_FUNCTION(painter,drawPoint) +KVSO_CLASS_FUNCTION(painter, drawPoint) { CHECK_INTERNAL_POINTER(m_pPainter) KviKvsVariant * pXOrArray; - kvs_int_t iX,iY; + kvs_int_t iX, iY; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("x_or_array",KVS_PT_VARIANT,0,pXOrArray) - KVSO_PARAMETER("y",KVS_PT_INT,KVS_PF_OPTIONAL,iY) + KVSO_PARAMETER("x_or_array", KVS_PT_VARIANT, 0, pXOrArray) + KVSO_PARAMETER("y", KVS_PT_INT, KVS_PF_OPTIONAL, iY) KVSO_PARAMETERS_END(c) - QString function="$drawPoint"; - KVSO_2ARRAYPARAMETERS(pXOrArray,iY) - m_pPainter->drawPoint(iX,iY); + QString function = "$drawPoint"; + KVSO_2ARRAYPARAMETERS(pXOrArray, iY) + m_pPainter->drawPoint(iX, iY); return true; } -KVSO_CLASS_FUNCTION(painter,fontDescent) +KVSO_CLASS_FUNCTION(painter, fontDescent) { CHECK_INTERNAL_POINTER(m_pPainter) c->returnValue()->setInteger(m_pPainter->fontMetrics().descent()); return true; } -KVSO_CLASS_FUNCTION(painter,fontAscent) +KVSO_CLASS_FUNCTION(painter, fontAscent) { CHECK_INTERNAL_POINTER(m_pPainter) c->returnValue()->setInteger(m_pPainter->fontMetrics().ascent()); return true; - } -KVSO_CLASS_FUNCTION(painter,fontMetricsWidth) +KVSO_CLASS_FUNCTION(painter, fontMetricsWidth) { CHECK_INTERNAL_POINTER(m_pPainter) QString szText; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("text",KVS_PT_STRING,0,szText) + KVSO_PARAMETER("text", KVS_PT_STRING, 0, szText) KVSO_PARAMETERS_END(c) - if (m_pPainter->isActive()) + if(m_pPainter->isActive()) c->returnValue()->setInteger(m_pPainter->fontMetrics().width(szText)); else - c->warning(__tr2qs_ctx("$fontMetricsWidth: the painter is not active!","objects")); + c->warning(__tr2qs_ctx("$fontMetricsWidth: the painter is not active!", "objects")); return true; } -KVSO_CLASS_FUNCTION(painter,fontMetricsHeight) +KVSO_CLASS_FUNCTION(painter, fontMetricsHeight) { CHECK_INTERNAL_POINTER(m_pPainter) - if (m_pPainter->isActive()) + if(m_pPainter->isActive()) c->returnValue()->setInteger(m_pPainter->fontMetrics().height()); else - c->warning(__tr2qs_ctx("$fontMetricsHeight: the painter is not active!","objects")); + c->warning(__tr2qs_ctx("$fontMetricsHeight: the painter is not active!", "objects")); return true; } -KVSO_CLASS_FUNCTION(painter,begin) +KVSO_CLASS_FUNCTION(painter, begin) { CHECK_INTERNAL_POINTER(m_pPainter) KviKvsObject * pObject; kvs_hobject_t hObject; - KviKvsVariant *v; + KviKvsVariant * v; QString szFileName; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("paint_device",KVS_PT_VARIANT,0,v) - KVSO_PARAMETER("file_name",KVS_PT_STRING,KVS_PF_OPTIONAL,szFileName) + KVSO_PARAMETER("paint_device", KVS_PT_VARIANT, 0, v) + KVSO_PARAMETER("file_name", KVS_PT_STRING, KVS_PF_OPTIONAL, szFileName) KVSO_PARAMETERS_END(c) QPaintDevice * pd; if(v->isString()) { QString szDev; v->asString(szDev); - if(KviQString::equalCI(szDev,"printer") || KviQString::equalCI(szDev,"pdf")) + if(KviQString::equalCI(szDev, "printer") || KviQString::equalCI(szDev, "pdf")) { - if (m_pPrinter) delete m_pPrinter; - m_pPrinter=new QPrinter(); - if ( KviQString::equalCI(szDev,"pdf")) + if(m_pPrinter) + delete m_pPrinter; + m_pPrinter = new QPrinter(); + if(KviQString::equalCI(szDev, "pdf")) { //m_pPrinter=new QPrinter(); if(szFileName.isEmpty()) { - c->warning(__tr2qs_ctx("Missing filename","objects")); + c->warning(__tr2qs_ctx("Missing filename", "objects")); return true; } m_pPrinter->setOutputFormat(QPrinter::PdfFormat); m_pPrinter->setOutputFileName(szFileName); - } else { + } + else + { QPrintDialog printDialog(m_pPrinter, 0); - if (printDialog.exec() == QDialog::Accepted) + if(printDialog.exec() == QDialog::Accepted) { - qDebug("papersize %d",m_pPrinter->paperSize()); + qDebug("papersize %d", m_pPrinter->paperSize()); m_pPainter->begin(m_pPrinter); return true; - } else { - m_pPrinter=0; + } + else + { + m_pPrinter = 0; return true; } } //if (i==3) m_pPrinter->setPaperSize(QPrinter::A3); //if (i==4) m_pPrinter->setPaperSize(QPrinter::A4); - } else { - c->warning(__tr2qs_ctx("No valid paint device","objects")); - return true; + } + else + { + c->warning(__tr2qs_ctx("No valid paint device", "objects")); + return true; } m_pPainter->begin(m_pPrinter); return true; - } else if (v->isHObject()) { + } + else if(v->isHObject()) + { v->asHObject(hObject); - pObject=KviKvsKernel::instance()->objectController()->lookupObject(hObject); - if (!pObject) + pObject = KviKvsKernel::instance()->objectController()->lookupObject(hObject); + if(!pObject) { - c->warning(__tr2qs_ctx("Pixmap or Widget parameter is not an object","objects")); + c->warning(__tr2qs_ctx("Pixmap or Widget parameter is not an object", "objects")); return true; } if(pObject->inheritsClass("pixmap")) - pd=((KvsObject_pixmap *)pObject)->getImage(); - else if (pObject->inheritsClass("widget")) - pd=((KvsObject_widget *)pObject)->widget(); + pd = ((KvsObject_pixmap *)pObject)->getImage(); + else if(pObject->inheritsClass("widget")) + pd = ((KvsObject_widget *)pObject)->widget(); else { - c->warning(__tr2qs_ctx("Widget or pixmap required ","objects")); + c->warning(__tr2qs_ctx("Widget or pixmap required ", "objects")); return true; } - } else { - c->warning(__tr2qs_ctx("No valid paint device","objects")); + } + else + { + c->warning(__tr2qs_ctx("No valid paint device", "objects")); return true; } - attachDevice(pObject,pd); + attachDevice(pObject, pd); //if (pObject->inheritsClass("pixmap")) ((KvsObject_pixmap *)pObject)->pixmapChanged(); return true; } -void KvsObject_painter::attachDevice(KviKvsObject * o,QPaintDevice * p) +void KvsObject_painter::attachDevice(KviKvsObject * o, QPaintDevice * p) { - if(m_pDeviceObject)detachDevice(); + if(m_pDeviceObject) + detachDevice(); m_pDeviceObject = o; // KvsObject_pixmap and KvsObject_widget object have this signal // it is emitted BEFORE the real QPaintDevice is deleted, so we can eventually // call m_pPainter->end() in time - QObject::connect(m_pDeviceObject,SIGNAL(aboutToDie()),this,SLOT(detachDevice())); + QObject::connect(m_pDeviceObject, SIGNAL(aboutToDie()), this, SLOT(detachDevice())); m_pPainter->begin(p); } void KvsObject_painter::detachDevice() { - if(!m_pDeviceObject)return; - disconnect(m_pDeviceObject,SIGNAL(aboutToDie()),this,SLOT(detachDevice())); + if(!m_pDeviceObject) + return; + disconnect(m_pDeviceObject, SIGNAL(aboutToDie()), this, SLOT(detachDevice())); m_pPainter->end(); - if (m_pPrinter) + if(m_pPrinter) { delete m_pPrinter; - m_pPrinter=0; + m_pPrinter = 0; } m_pDeviceObject = 0; } -KVSO_CLASS_FUNCTION(painter,end) +KVSO_CLASS_FUNCTION(painter, end) { Q_UNUSED(c); if(!m_pDeviceObject) { m_pPainter->end(); - if (m_pPrinter) + if(m_pPrinter) { delete m_pPrinter; - m_pPrinter=0; + m_pPrinter = 0; } } - else detachDevice(); + else + detachDevice(); return true; } -KVSO_CLASS_FUNCTION(painter,beginPdf) +KVSO_CLASS_FUNCTION(painter, beginPdf) { CHECK_INTERNAL_POINTER(m_pPainter) QString szFileName; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("file_name",KVS_PT_STRING,0,szFileName) + KVSO_PARAMETER("file_name", KVS_PT_STRING, 0, szFileName) KVSO_PARAMETERS_END(c) - if (m_pPrinter) delete m_pPrinter; - m_pPrinter=new QPrinter();//QPrinter::HighResolution); + if(m_pPrinter) + delete m_pPrinter; + m_pPrinter = new QPrinter(); //QPrinter::HighResolution); m_pPrinter->setOutputFormat(QPrinter::PdfFormat); m_pPrinter->setOutputFileName(szFileName); m_pPainter->begin(m_pPrinter); return true; } -KVSO_CLASS_FUNCTION(painter,drawText) +KVSO_CLASS_FUNCTION(painter, drawText) { CHECK_INTERNAL_POINTER(m_pPainter) QString szText; QStringList szAlignList; - kvs_int_t iX,iY,iW,iH; //,iN=-1; + kvs_int_t iX, iY, iW, iH; //,iN=-1; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("x",KVS_PT_INT,0,iX) - KVSO_PARAMETER("y",KVS_PT_INT,0,iY) - KVSO_PARAMETER("w",KVS_PT_INT,0,iW) - KVSO_PARAMETER("h",KVS_PT_INT,0,iH) - KVSO_PARAMETER("text",KVS_PT_STRING,0,szText) - KVSO_PARAMETER("align",KVS_PT_STRINGLIST,KVS_PF_OPTIONAL,szAlignList) + KVSO_PARAMETER("x", KVS_PT_INT, 0, iX) + KVSO_PARAMETER("y", KVS_PT_INT, 0, iY) + KVSO_PARAMETER("w", KVS_PT_INT, 0, iW) + KVSO_PARAMETER("h", KVS_PT_INT, 0, iH) + KVSO_PARAMETER("text", KVS_PT_STRING, 0, szText) + KVSO_PARAMETER("align", KVS_PT_STRINGLIST, KVS_PF_OPTIONAL, szAlignList) KVSO_PARAMETERS_END(c) - int align,sum=0; + int align, sum = 0; if(szAlignList.count()) { - for ( QStringList::Iterator it = szAlignList.begin(); it != szAlignList.end(); ++it ) + for(QStringList::Iterator it = szAlignList.begin(); it != szAlignList.end(); ++it) { align = 0; for(unsigned int j = 0; j < align_num; j++) { if(KviQString::equalCI((*it), align_tbl[j])) { - align=align_cod[j]; + align = align_cod[j]; break; } } if(align) sum = sum | align; else - c->warning(__tr2qs_ctx("Unknown alignment '%Q'","objects"),&(*it)); + c->warning(__tr2qs_ctx("Unknown alignment '%Q'", "objects"), &(*it)); } } QRect rect; @@ -1315,742 +1345,773 @@ KVSO_CLASS_FUNCTION(painter,drawText) rect.setY(iY); rect.setWidth(iW); rect.setHeight(iH); - if(szAlignList.count()){ - m_pPainter->drawText(rect,sum,szText); + if(szAlignList.count()) + { + m_pPainter->drawText(rect, sum, szText); } - else m_pPainter->drawText(rect,szText); + else + m_pPainter->drawText(rect, szText); return true; } -KVSO_CLASS_FUNCTION(painter,drawPixmap) +KVSO_CLASS_FUNCTION(painter, drawPixmap) { CHECK_INTERNAL_POINTER(m_pPainter) - kvs_real_t iX,iY,iWidth,iHeight,iStartx,iStarty; + kvs_real_t iX, iY, iWidth, iHeight, iStartx, iStarty; bool bTiled; - KviKvsObject *obj; + KviKvsObject * obj; kvs_hobject_t hObject; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("x",KVS_PT_REAL,0,iX) - KVSO_PARAMETER("y",KVS_PT_REAL,0,iY) - KVSO_PARAMETER("pixmap",KVS_PT_HOBJECT,0,hObject) - KVSO_PARAMETER("start_x",KVS_PT_REAL,0,iStartx) - KVSO_PARAMETER("start_y",KVS_PT_REAL,0,iStarty) - KVSO_PARAMETER("end_x",KVS_PT_REAL,0,iWidth) - KVSO_PARAMETER("end_y",KVS_PT_REAL,0,iHeight) - KVSO_PARAMETER("b_Tiled",KVS_PT_BOOLEAN,KVS_PF_OPTIONAL,bTiled) + KVSO_PARAMETER("x", KVS_PT_REAL, 0, iX) + KVSO_PARAMETER("y", KVS_PT_REAL, 0, iY) + KVSO_PARAMETER("pixmap", KVS_PT_HOBJECT, 0, hObject) + KVSO_PARAMETER("start_x", KVS_PT_REAL, 0, iStartx) + KVSO_PARAMETER("start_y", KVS_PT_REAL, 0, iStarty) + KVSO_PARAMETER("end_x", KVS_PT_REAL, 0, iWidth) + KVSO_PARAMETER("end_y", KVS_PT_REAL, 0, iHeight) + KVSO_PARAMETER("b_Tiled", KVS_PT_BOOLEAN, KVS_PF_OPTIONAL, bTiled) KVSO_PARAMETERS_END(c) - obj=KviKvsKernel::instance()->objectController()->lookupObject(hObject); - if (!obj) + obj = KviKvsKernel::instance()->objectController()->lookupObject(hObject); + if(!obj) { - c->warning(__tr2qs_ctx("Pixmap parameter is not an object","objects")); + c->warning(__tr2qs_ctx("Pixmap parameter is not an object", "objects")); return true; } - if (!obj->inheritsClass("pixmap")) + if(!obj->inheritsClass("pixmap")) { - c->warning(__tr2qs_ctx("Pixmap object required","objects")); + c->warning(__tr2qs_ctx("Pixmap object required", "objects")); return true; } - if(bTiled){ - QPixmap *pPixmap=((KvsObject_pixmap *)obj)->getPixmap(); + if(bTiled) + { + QPixmap * pPixmap = ((KvsObject_pixmap *)obj)->getPixmap(); //QPoint point(iX,iY); //QRectF rectf(QPointF(iStartx,iStarty),QSizeF(iWidth,iHeight)); //m_pPainter->drawTiledPixmap(rectf,*pPixmap,pointf); //m_pPainter->drawTiledPixmap((int)iX,(int)iY,(int)iWidth,(int)iHeight,*pPixmap,(int)iStartx,(int)iStarty); - qDebug("drawing at x %i - y %i - w %i - h %i - startpx %i - startpy %i casted",(int)iX,(int)iY,(int)iWidth,(int)iHeight,(int)iStartx,(int)iStarty); - m_pPainter->drawTiledPixmap(iX,iY,iWidth,iHeight,*pPixmap,iStartx,iStarty); + qDebug("drawing at x %i - y %i - w %i - h %i - startpx %i - startpy %i casted", (int)iX, (int)iY, (int)iWidth, (int)iHeight, (int)iStartx, (int)iStarty); + m_pPainter->drawTiledPixmap(iX, iY, iWidth, iHeight, *pPixmap, iStartx, iStarty); } - else{ - QImage *pImage=((KvsObject_pixmap *)obj)->getImage(); - QPoint pointf(iX,iY); - QRectF rectf(QPointF(iStartx,iStarty),QSizeF(iWidth,iHeight)); - m_pPainter->drawImage(pointf,*pImage,rectf); + else + { + QImage * pImage = ((KvsObject_pixmap *)obj)->getImage(); + QPoint pointf(iX, iY); + QRectF rectf(QPointF(iStartx, iStarty), QSizeF(iWidth, iHeight)); + m_pPainter->drawImage(pointf, *pImage, rectf); } return true; } -KVSO_CLASS_FUNCTION(painter,drawPixmapWithColorEffect) +KVSO_CLASS_FUNCTION(painter, drawPixmapWithColorEffect) { CHECK_INTERNAL_POINTER(m_pPainter) QString szEffect; - kvs_real_t rX,rY; - kvs_int_t r,g,b,iX,iY,iW,iH; - KviKvsObject *obj; + kvs_real_t rX, rY; + kvs_int_t r, g, b, iX, iY, iW, iH; + KviKvsObject * obj; kvs_hobject_t hObject; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("string_effect",KVS_PT_STRING,0,szEffect) - KVSO_PARAMETER("x",KVS_PT_REAL,0,rX) - KVSO_PARAMETER("y",KVS_PT_REAL,0,rY) - KVSO_PARAMETER("pixmap",KVS_PT_HOBJECT,0,hObject) - KVSO_PARAMETER("red",KVS_PT_INT,KVS_PF_OPTIONAL,r) - KVSO_PARAMETER("green",KVS_PT_INT,KVS_PF_OPTIONAL,g) - KVSO_PARAMETER("blue",KVS_PT_INT,KVS_PF_OPTIONAL,b) - KVSO_PARAMETER("start_x",KVS_PT_INT,KVS_PF_OPTIONAL,iX) - KVSO_PARAMETER("start_y",KVS_PT_INT,KVS_PF_OPTIONAL,iY) - KVSO_PARAMETER("width",KVS_PT_INT,KVS_PF_OPTIONAL,iW) - KVSO_PARAMETER("height",KVS_PT_INT,KVS_PF_OPTIONAL,iH) + KVSO_PARAMETER("string_effect", KVS_PT_STRING, 0, szEffect) + KVSO_PARAMETER("x", KVS_PT_REAL, 0, rX) + KVSO_PARAMETER("y", KVS_PT_REAL, 0, rY) + KVSO_PARAMETER("pixmap", KVS_PT_HOBJECT, 0, hObject) + KVSO_PARAMETER("red", KVS_PT_INT, KVS_PF_OPTIONAL, r) + KVSO_PARAMETER("green", KVS_PT_INT, KVS_PF_OPTIONAL, g) + KVSO_PARAMETER("blue", KVS_PT_INT, KVS_PF_OPTIONAL, b) + KVSO_PARAMETER("start_x", KVS_PT_INT, KVS_PF_OPTIONAL, iX) + KVSO_PARAMETER("start_y", KVS_PT_INT, KVS_PF_OPTIONAL, iY) + KVSO_PARAMETER("width", KVS_PT_INT, KVS_PF_OPTIONAL, iW) + KVSO_PARAMETER("height", KVS_PT_INT, KVS_PF_OPTIONAL, iH) KVSO_PARAMETERS_END(c) - obj=KviKvsKernel::instance()->objectController()->lookupObject(hObject); - if (!obj) + obj = KviKvsKernel::instance()->objectController()->lookupObject(hObject); + if(!obj) { - c->warning(__tr2qs_ctx("Pixmap parameter is not an object","objects")); + c->warning(__tr2qs_ctx("Pixmap parameter is not an object", "objects")); return true; } - if (!obj->inheritsClass("pixmap")) + if(!obj->inheritsClass("pixmap")) { - c->warning(__tr2qs_ctx("Pixmap object required","objects")); + c->warning(__tr2qs_ctx("Pixmap object required", "objects")); return true; } - QImage *pImage=((KvsObject_pixmap *)obj)->getImage(); + QImage * pImage = ((KvsObject_pixmap *)obj)->getImage(); //QImage pDest(pImage->width(),pImage->height(),QImage::Format_ARGB32); - QRgb col ; - QRgb *dataSource; - QRgb *dataDest; - int w=pImage->width(); - int h=pImage->height(); - if(!iW) iW=w; - if(!iH) iH=h; - QImage pDest(iW,iH,QImage::Format_ARGB32); - - int iXend=iX+iW; - int iYend=iY+iH; - - if(KviQString::equalCI(szEffect,"addrgb")) + QRgb col; + QRgb * dataSource; + QRgb * dataDest; + int w = pImage->width(); + int h = pImage->height(); + if(!iW) + iW = w; + if(!iH) + iH = h; + QImage pDest(iW, iH, QImage::Format_ARGB32); + + int iXend = iX + iW; + int iYend = iY + iH; + + if(KviQString::equalCI(szEffect, "addrgb")) { - int sumR, sumG, sumB,idx=0; - for(int y=iY; yscanLine(y)+iX; - dataDest = (QRgb *) pDest.scanLine(idx); - idx++; - for (int x=iX; xscanLine(y) + iX; + dataDest = (QRgb *)pDest.scanLine(idx); + idx++; + for(int x = iX; x < iXend; x++) + { + col = *dataSource; + sumR = qRed(col) + r; + sumG = qGreen(col) + g; + sumB = qBlue(col) + b; + *dataDest++ = qRgba(sumR < 255 ? sumR : 255, + sumG < 255 ? sumG : 255, + sumB < 255 ? sumB : 255, + qAlpha(col)); + dataSource++; + } + } } - else if(KviQString::equalCI(szEffect,"subrgb")) + else if(KviQString::equalCI(szEffect, "subrgb")) { - int subR, subG, subB,idx=0; - for(int y=iY; yscanLine(y)+iX; - dataDest = (QRgb *) pDest.scanLine(idx); - idx++; - for (int x=iX; x0 ? subR : 0, - subG>0 ? subG : 0, - subB>0 ? subB : 0, - qAlpha(col)); - dataSource++; - } - } + int subR, subG, subB, idx = 0; + for(int y = iY; y < iYend; y++) + { + dataSource = (QRgb *)pImage->scanLine(y) + iX; + dataDest = (QRgb *)pDest.scanLine(idx); + idx++; + for(int x = iX; x < iXend; x++) + { + col = *dataSource; + subR = qRed(col) - r; + subG = qGreen(col) - g; + subB = qBlue(col) - b; + *dataDest++ = qRgba(subR > 0 ? subR : 0, + subG > 0 ? subG : 0, + subB > 0 ? subB : 0, + qAlpha(col)); + dataSource++; + } + } } - else if(KviQString::equalCI(szEffect,"grayscale")) + else if(KviQString::equalCI(szEffect, "grayscale")) { QRgb col; - int res,idx=0; - for(int y=iY; yscanLine(y)+iX; - dataDest = (QRgb *) pDest.scanLine(idx); - for (int x=iX; xscanLine(y) + iX; + dataDest = (QRgb *)pDest.scanLine(idx); + for(int x = iX; x < iXend; x++) { col = *dataSource; - res = (qRed(col)+qGreen(col)+qBlue(col))/3; - *dataDest++ = qRgba(res, res, res,qAlpha(col)); + res = (qRed(col) + qGreen(col) + qBlue(col)) / 3; + *dataDest++ = qRgba(res, res, res, qAlpha(col)); dataSource++; } idx++; } } - m_pPainter->drawImage(QPointF(rX,rY),pDest); + m_pPainter->drawImage(QPointF(rX, rY), pDest); return true; } -KVSO_CLASS_FUNCTION(painter,drawPixmapMirrored) +KVSO_CLASS_FUNCTION(painter, drawPixmapMirrored) { CHECK_INTERNAL_POINTER(m_pPainter) - bool bHorizontal,bVertical; - kvs_int_t iX,iY,iW,iH; - KviKvsObject *obj; + bool bHorizontal, bVertical; + kvs_int_t iX, iY, iW, iH; + KviKvsObject * obj; kvs_hobject_t hObject; - kvs_real_t rX,rY; + kvs_real_t rX, rY; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("x",KVS_PT_REAL,0,rX) - KVSO_PARAMETER("y",KVS_PT_REAL,0,rY) - KVSO_PARAMETER("pixmap",KVS_PT_HOBJECT,0,hObject) - KVSO_PARAMETER("bHorizontal",KVS_PT_BOOLEAN,0,bHorizontal) - KVSO_PARAMETER("bVertical",KVS_PT_BOOLEAN,0,bVertical) - KVSO_PARAMETER("start_x",KVS_PT_INT,KVS_PF_OPTIONAL,iX) - KVSO_PARAMETER("start_y",KVS_PT_INT,KVS_PF_OPTIONAL,iY) - KVSO_PARAMETER("width",KVS_PT_INT,KVS_PF_OPTIONAL,iW) - KVSO_PARAMETER("height",KVS_PT_INT,KVS_PF_OPTIONAL,iH) + KVSO_PARAMETER("x", KVS_PT_REAL, 0, rX) + KVSO_PARAMETER("y", KVS_PT_REAL, 0, rY) + KVSO_PARAMETER("pixmap", KVS_PT_HOBJECT, 0, hObject) + KVSO_PARAMETER("bHorizontal", KVS_PT_BOOLEAN, 0, bHorizontal) + KVSO_PARAMETER("bVertical", KVS_PT_BOOLEAN, 0, bVertical) + KVSO_PARAMETER("start_x", KVS_PT_INT, KVS_PF_OPTIONAL, iX) + KVSO_PARAMETER("start_y", KVS_PT_INT, KVS_PF_OPTIONAL, iY) + KVSO_PARAMETER("width", KVS_PT_INT, KVS_PF_OPTIONAL, iW) + KVSO_PARAMETER("height", KVS_PT_INT, KVS_PF_OPTIONAL, iH) KVSO_PARAMETERS_END(c) - obj=KviKvsKernel::instance()->objectController()->lookupObject(hObject); - if (!obj) + obj = KviKvsKernel::instance()->objectController()->lookupObject(hObject); + if(!obj) { - c->warning(__tr2qs_ctx("Pixmap parameter is not an object","objects")); + c->warning(__tr2qs_ctx("Pixmap parameter is not an object", "objects")); return true; } - if (!obj->inheritsClass("pixmap")) + if(!obj->inheritsClass("pixmap")) { - c->warning(__tr2qs_ctx("Pixmap object required","objects")); + c->warning(__tr2qs_ctx("Pixmap object required", "objects")); return true; } - QImage *pImage=((KvsObject_pixmap *)obj)->getImage(); - QPoint sourceXY(0,0); - if(c->parameterCount()>=5) + QImage * pImage = ((KvsObject_pixmap *)obj)->getImage(); + QPoint sourceXY(0, 0); + if(c->parameterCount() >= 5) { - sourceXY.setX(iX); - sourceXY.setY(iY); + sourceXY.setX(iX); + sourceXY.setY(iY); } - QSize sourceWH(pImage->width(),pImage->height()); - if(c->parameterCount()>=5) + QSize sourceWH(pImage->width(), pImage->height()); + if(c->parameterCount() >= 5) { - sourceWH.setWidth(iW); - sourceWH.setHeight(iH); + sourceWH.setWidth(iW); + sourceWH.setHeight(iH); } - QImage mirrored = pImage->mirrored(bHorizontal,bVertical); - m_pPainter->drawImage(rX,rY,mirrored, sourceXY.x(), sourceXY.y(),sourceWH.width(),sourceWH.height()); + QImage mirrored = pImage->mirrored(bHorizontal, bVertical); + m_pPainter->drawImage(rX, rY, mirrored, sourceXY.x(), sourceXY.y(), sourceWH.width(), sourceWH.height()); return true; } -KVSO_CLASS_FUNCTION(painter,rotate) +KVSO_CLASS_FUNCTION(painter, rotate) { CHECK_INTERNAL_POINTER(m_pPainter) kvs_real_t dAngle; QString szAxis; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("angle",KVS_PT_DOUBLE,0,dAngle) - KVSO_PARAMETER("axis",KVS_PT_STRING,KVS_PF_OPTIONAL,szAxis) + KVSO_PARAMETER("angle", KVS_PT_DOUBLE, 0, dAngle) + KVSO_PARAMETER("axis", KVS_PT_STRING, KVS_PF_OPTIONAL, szAxis) KVSO_PARAMETERS_END(c) Qt::Axis axis = Qt::ZAxis; if(!szAxis.isEmpty()) { - if (KviQString::equalCI(szAxis,"XAxis"))axis=Qt::XAxis; - else if (KviQString::equalCI(szAxis,"YAxis")) axis=Qt::YAxis; - else if (KviQString::equalCI(szAxis,"ZAxis")) axis=Qt::ZAxis; - else c->warning(__tr2qs_ctx("Unknown axis '%Q' switching to default ZAxis","objects"),&szAxis); + if(KviQString::equalCI(szAxis, "XAxis")) + axis = Qt::XAxis; + else if(KviQString::equalCI(szAxis, "YAxis")) + axis = Qt::YAxis; + else if(KviQString::equalCI(szAxis, "ZAxis")) + axis = Qt::ZAxis; + else + c->warning(__tr2qs_ctx("Unknown axis '%Q' switching to default ZAxis", "objects"), &szAxis); } - PAINTER_ROTATE(dAngle,axis) + PAINTER_ROTATE(dAngle, axis) return true; } -KVSO_CLASS_FUNCTION(painter,translate) +KVSO_CLASS_FUNCTION(painter, translate) { CHECK_INTERNAL_POINTER(m_pPainter) - kvs_real_t dXtrasl,dYtrasl; + kvs_real_t dXtrasl, dYtrasl; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("trasl_x",KVS_PT_DOUBLE,0,dXtrasl) - KVSO_PARAMETER("trasl_y",KVS_PT_DOUBLE,0,dYtrasl) + KVSO_PARAMETER("trasl_x", KVS_PT_DOUBLE, 0, dXtrasl) + KVSO_PARAMETER("trasl_y", KVS_PT_DOUBLE, 0, dYtrasl) KVSO_PARAMETERS_END(c) - PAINTER_TRANSLATE(dXtrasl,dYtrasl) + PAINTER_TRANSLATE(dXtrasl, dYtrasl) return true; } -KVSO_CLASS_FUNCTION(painter,shear) +KVSO_CLASS_FUNCTION(painter, shear) { CHECK_INTERNAL_POINTER(m_pPainter) - kvs_real_t dShearh,dShearv; + kvs_real_t dShearh, dShearv; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("shear_h",KVS_PT_DOUBLE,0,dShearh) - KVSO_PARAMETER("shear_v",KVS_PT_DOUBLE,0,dShearv) + KVSO_PARAMETER("shear_h", KVS_PT_DOUBLE, 0, dShearh) + KVSO_PARAMETER("shear_v", KVS_PT_DOUBLE, 0, dShearv) KVSO_PARAMETERS_END(c) - PAINTER_SHEAR(dShearh,dShearv); + PAINTER_SHEAR(dShearh, dShearv); return true; } -KVSO_CLASS_FUNCTION(painter,scale) +KVSO_CLASS_FUNCTION(painter, scale) { CHECK_INTERNAL_POINTER(m_pPainter) - kvs_real_t dScalex,dScaley; + kvs_real_t dScalex, dScaley; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("scale_x",KVS_PT_DOUBLE,0,dScalex) - KVSO_PARAMETER("scale_y",KVS_PT_DOUBLE,0,dScaley) + KVSO_PARAMETER("scale_x", KVS_PT_DOUBLE, 0, dScalex) + KVSO_PARAMETER("scale_y", KVS_PT_DOUBLE, 0, dScaley) KVSO_PARAMETERS_END(c) - PAINTER_SCALE(dScalex,dScaley); + PAINTER_SCALE(dScalex, dScaley); return true; } -KVSO_CLASS_FUNCTION(painter,reset) +KVSO_CLASS_FUNCTION(painter, reset) { CHECK_INTERNAL_POINTER(m_pPainter) m_pPainter->resetTransform(); return true; } -KVSO_CLASS_FUNCTION(painter,drawHtmlText) +KVSO_CLASS_FUNCTION(painter, drawHtmlText) { CHECK_INTERNAL_POINTER(m_pPainter) QString szText; - kvs_int_t iX,iY,iW,iH; + kvs_int_t iX, iY, iW, iH; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("x",KVS_PT_INT,0,iX) - KVSO_PARAMETER("y",KVS_PT_INT,0,iY) - KVSO_PARAMETER("text",KVS_PT_STRING,0,szText) - KVSO_PARAMETER("w",KVS_PT_INT,0,iW) - KVSO_PARAMETER("h",KVS_PT_INT,0,iH) + KVSO_PARAMETER("x", KVS_PT_INT, 0, iX) + KVSO_PARAMETER("y", KVS_PT_INT, 0, iY) + KVSO_PARAMETER("text", KVS_PT_STRING, 0, szText) + KVSO_PARAMETER("w", KVS_PT_INT, 0, iW) + KVSO_PARAMETER("h", KVS_PT_INT, 0, iH) KVSO_PARAMETERS_END(c) QTextDocument doc; doc.setHtml(szText); doc.setDefaultFont(m_pPainter->font()); m_pPainter->save(); - m_pPainter->translate(iX,iY); - doc.setPageSize(QSize(iW,iH)); + m_pPainter->translate(iX, iY); + doc.setPageSize(QSize(iW, iH)); doc.drawContents(m_pPainter); m_pPainter->restore(); return true; } -KVSO_CLASS_FUNCTION(painter,htmlTextSize) +KVSO_CLASS_FUNCTION(painter, htmlTextSize) { CHECK_INTERNAL_POINTER(m_pPainter) QString szText; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("text",KVS_PT_STRING,0,szText) + KVSO_PARAMETER("text", KVS_PT_STRING, 0, szText) KVSO_PARAMETERS_END(c) QTextDocument doc; doc.setHtml(szText); doc.setDefaultFont(m_pPainter->font()); - QSizeF size=doc.size(); + QSizeF size = doc.size(); KviKvsArray * a = new KviKvsArray(); - a->set(0,new KviKvsVariant((kvs_real_t)size.width())); - a->set(1,new KviKvsVariant((kvs_real_t)size.height())); + a->set(0, new KviKvsVariant((kvs_real_t)size.width())); + a->set(1, new KviKvsVariant((kvs_real_t)size.height())); c->returnValue()->setArray(a); return true; } -KVSO_CLASS_FUNCTION(painter,drawIcon) +KVSO_CLASS_FUNCTION(painter, drawIcon) { CHECK_INTERNAL_POINTER(m_pPainter) - QString szIcon,szState; - kvs_int_t iX,iY,iW,iH; + QString szIcon, szState; + kvs_int_t iX, iY, iW, iH; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("x",KVS_PT_INT,0,iX) - KVSO_PARAMETER("y",KVS_PT_INT,0,iY) - KVSO_PARAMETER("icon",KVS_PT_STRING,0,szIcon) - KVSO_PARAMETER("state",KVS_PT_STRING,KVS_PF_OPTIONAL,szState) - KVSO_PARAMETER("w",KVS_PT_INT,KVS_PF_OPTIONAL,iW) - KVSO_PARAMETER("h",KVS_PT_INT,KVS_PF_OPTIONAL,iH) + KVSO_PARAMETER("x", KVS_PT_INT, 0, iX) + KVSO_PARAMETER("y", KVS_PT_INT, 0, iY) + KVSO_PARAMETER("icon", KVS_PT_STRING, 0, szIcon) + KVSO_PARAMETER("state", KVS_PT_STRING, KVS_PF_OPTIONAL, szState) + KVSO_PARAMETER("w", KVS_PT_INT, KVS_PF_OPTIONAL, iW) + KVSO_PARAMETER("h", KVS_PT_INT, KVS_PF_OPTIONAL, iH) KVSO_PARAMETERS_END(c) - QPixmap *pix=g_pIconManager->getImage(szIcon); - if (!pix) + QPixmap * pix = g_pIconManager->getImage(szIcon); + if(!pix) { - c->warning("The icon '%Q' does not exist",&szIcon); + c->warning("The icon '%Q' does not exist", &szIcon); return true; } - QSize pixsize(pix->width(),pix->height()); + QSize pixsize(pix->width(), pix->height()); QIcon ico(*pix); - QIcon::Mode mode=QIcon::Normal; + QIcon::Mode mode = QIcon::Normal; if(!ico.isNull()) { - if (KviQString::equalCI(szState,"Disabled")) - mode=QIcon::Disabled; - else if (KviQString::equalCI(szState,"Active"))mode=QIcon::Active; - else if (KviQString::equalCI(szState,"Selected"))mode=QIcon::Selected; - if (c->parameterCount()<5) - m_pPainter->drawPixmap(iX,iY,ico.pixmap(pixsize,mode)); + if(KviQString::equalCI(szState, "Disabled")) + mode = QIcon::Disabled; + else if(KviQString::equalCI(szState, "Active")) + mode = QIcon::Active; + else if(KviQString::equalCI(szState, "Selected")) + mode = QIcon::Selected; + if(c->parameterCount() < 5) + m_pPainter->drawPixmap(iX, iY, ico.pixmap(pixsize, mode)); else - m_pPainter->drawPixmap(iX,iY,ico.pixmap(QSize(iW,iH),mode)); + m_pPainter->drawPixmap(iX, iY, ico.pixmap(QSize(iW, iH), mode)); } return true; } -KVSO_CLASS_FUNCTION(painter,setOpacity) +KVSO_CLASS_FUNCTION(painter, setOpacity) { CHECK_INTERNAL_POINTER(m_pPainter) kvs_real_t dOpacity; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("opacity_factor",KVS_PT_DOUBLE,0,dOpacity) + KVSO_PARAMETER("opacity_factor", KVS_PT_DOUBLE, 0, dOpacity) KVSO_PARAMETERS_END(c) m_pPainter->setOpacity(dOpacity); return true; } -KVSO_CLASS_FUNCTION(painter,setTextAntialiasing) +KVSO_CLASS_FUNCTION(painter, setTextAntialiasing) { CHECK_INTERNAL_POINTER(m_pPainter) bool bEnabled; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("bEnabled",KVS_PT_BOOL,0,bEnabled) + KVSO_PARAMETER("bEnabled", KVS_PT_BOOL, 0, bEnabled) KVSO_PARAMETERS_END(c) - m_pPainter->setRenderHint(QPainter::TextAntialiasing,bEnabled); + m_pPainter->setRenderHint(QPainter::TextAntialiasing, bEnabled); return true; } -KVSO_CLASS_FUNCTION(painter,setAntialiasing) +KVSO_CLASS_FUNCTION(painter, setAntialiasing) { CHECK_INTERNAL_POINTER(m_pPainter) bool bEnabled; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("bEnabled",KVS_PT_BOOL,0,bEnabled) + KVSO_PARAMETER("bEnabled", KVS_PT_BOOL, 0, bEnabled) KVSO_PARAMETERS_END(c) - m_pPainter->setRenderHint(QPainter::Antialiasing,bEnabled); + m_pPainter->setRenderHint(QPainter::Antialiasing, bEnabled); return true; } -KVSO_CLASS_FUNCTION(painter,setSmoothPixmapTransform) +KVSO_CLASS_FUNCTION(painter, setSmoothPixmapTransform) { CHECK_INTERNAL_POINTER(m_pPainter) bool bEnabled; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("bEnabled",KVS_PT_BOOL,0,bEnabled) + KVSO_PARAMETER("bEnabled", KVS_PT_BOOL, 0, bEnabled) KVSO_PARAMETERS_END(c) - m_pPainter->setRenderHint(QPainter::SmoothPixmapTransform,bEnabled); + m_pPainter->setRenderHint(QPainter::SmoothPixmapTransform, bEnabled); return true; } -KVSO_CLASS_FUNCTION(painter,setPenJoinStyle) +KVSO_CLASS_FUNCTION(painter, setPenJoinStyle) { CHECK_INTERNAL_POINTER(m_pPainter) QString szStyle; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("style",KVS_PT_STRING,0,szStyle) + KVSO_PARAMETER("style", KVS_PT_STRING, 0, szStyle) KVSO_PARAMETERS_END(c) - Qt::PenJoinStyle style=Qt::BevelJoin; - if(KviQString::equalCI(szStyle,"Milter"))style=Qt::MiterJoin; - else if (KviQString::equalCI(szStyle,"Round"))style=Qt::RoundJoin; - QPen pen=m_pPainter->pen(); + Qt::PenJoinStyle style = Qt::BevelJoin; + if(KviQString::equalCI(szStyle, "Milter")) + style = Qt::MiterJoin; + else if(KviQString::equalCI(szStyle, "Round")) + style = Qt::RoundJoin; + QPen pen = m_pPainter->pen(); pen.setJoinStyle(style); m_pPainter->setPen(pen); return true; } -KVSO_CLASS_FUNCTION(painter,setPenCapStyle) +KVSO_CLASS_FUNCTION(painter, setPenCapStyle) { CHECK_INTERNAL_POINTER(m_pPainter) QString szStyle; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("style",KVS_PT_STRING,0,szStyle) + KVSO_PARAMETER("style", KVS_PT_STRING, 0, szStyle) KVSO_PARAMETERS_END(c) - Qt::PenCapStyle style=Qt::SquareCap; - if(KviQString::equalCI(szStyle,"Flat")) style=Qt::FlatCap; - else if (KviQString::equalCI(szStyle,"Round"))style=Qt::RoundCap; - QPen pen=m_pPainter->pen(); + Qt::PenCapStyle style = Qt::SquareCap; + if(KviQString::equalCI(szStyle, "Flat")) + style = Qt::FlatCap; + else if(KviQString::equalCI(szStyle, "Round")) + style = Qt::RoundCap; + QPen pen = m_pPainter->pen(); pen.setCapStyle(style); m_pPainter->setPen(pen); return true; } -KVSO_CLASS_FUNCTION(painter,save) +KVSO_CLASS_FUNCTION(painter, save) { CHECK_INTERNAL_POINTER(m_pPainter) m_pPainter->save(); return true; } -KVSO_CLASS_FUNCTION(painter,restore) +KVSO_CLASS_FUNCTION(painter, restore) { CHECK_INTERNAL_POINTER(m_pPainter) m_pPainter->restore(); return true; } -KVSO_CLASS_FUNCTION(painter,setPenStyle) +KVSO_CLASS_FUNCTION(painter, setPenStyle) { CHECK_INTERNAL_POINTER(m_pPainter) QString szStyle; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("style",KVS_PT_STRING,0,szStyle) + KVSO_PARAMETER("style", KVS_PT_STRING, 0, szStyle) KVSO_PARAMETERS_END(c) - bool found=false; + bool found = false; unsigned int j = 0; for(; j < penstyles_num; j++) { - if(KviQString::equalCI(szStyle,penstyles_tbl[j])) + if(KviQString::equalCI(szStyle, penstyles_tbl[j])) { - found=true; + found = true; break; } } - QPen pen=m_pPainter->pen(); - if (found) + QPen pen = m_pPainter->pen(); + if(found) { pen.setStyle(penstyles_cod[j]); m_pPainter->setPen(pen); } - else c->warning(__tr2qs_ctx("Unknown pen style '%Q'","objects"),&szStyle); + else + c->warning(__tr2qs_ctx("Unknown pen style '%Q'", "objects"), &szStyle); return true; } -KVSO_CLASS_FUNCTION(painter,setBrushStyle) +KVSO_CLASS_FUNCTION(painter, setBrushStyle) { CHECK_INTERNAL_POINTER(m_pPainter) QString szStyle; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("style",KVS_PT_STRING,0,szStyle) + KVSO_PARAMETER("style", KVS_PT_STRING, 0, szStyle) KVSO_PARAMETERS_END(c) - bool found=false; + bool found = false; unsigned int j = 0; for(; j < brushstyles_num; j++) { - if(KviQString::equalCI(szStyle,brushstyles_tbl[j])) + if(KviQString::equalCI(szStyle, brushstyles_tbl[j])) { - found=true; + found = true; break; } } - QBrush brush=m_pPainter->brush(); - if (found) + QBrush brush = m_pPainter->brush(); + if(found) { brush.setStyle(brushstyles_cod[j]); m_pPainter->setBrush(brush); } - else c->warning(__tr2qs_ctx("Unknown brush style '%Q'","objects"),&szStyle); + else + c->warning(__tr2qs_ctx("Unknown brush style '%Q'", "objects"), &szStyle); return true; } -KVSO_CLASS_FUNCTION(painter,setGradientStart) +KVSO_CLASS_FUNCTION(painter, setGradientStart) { CHECK_INTERNAL_POINTER(m_pPainter) - kvs_real_t dX,dY; + kvs_real_t dX, dY; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("x_Point",KVS_PT_DOUBLE,0,dX) - KVSO_PARAMETER("y_Point",KVS_PT_DOUBLE,0,dY) + KVSO_PARAMETER("x_Point", KVS_PT_DOUBLE, 0, dX) + KVSO_PARAMETER("y_Point", KVS_PT_DOUBLE, 0, dY) KVSO_PARAMETERS_END(c) - if (!m_pGradient) m_pGradient=new(QLinearGradient); - m_pGradient->setStart(dX,dY); + if(!m_pGradient) + m_pGradient = new(QLinearGradient); + m_pGradient->setStart(dX, dY); return true; } -KVSO_CLASS_FUNCTION(painter,setGradientStop) +KVSO_CLASS_FUNCTION(painter, setGradientStop) { CHECK_INTERNAL_POINTER(m_pPainter) - kvs_real_t dX,dY; + kvs_real_t dX, dY; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("x_Point",KVS_PT_DOUBLE,0,dX) - KVSO_PARAMETER("y_Point",KVS_PT_DOUBLE,0,dY) + KVSO_PARAMETER("x_Point", KVS_PT_DOUBLE, 0, dX) + KVSO_PARAMETER("y_Point", KVS_PT_DOUBLE, 0, dY) KVSO_PARAMETERS_END(c) - if (!m_pGradient) m_pGradient=new(QLinearGradient); - m_pGradient->setFinalStop(dX,dY); + if(!m_pGradient) + m_pGradient = new(QLinearGradient); + m_pGradient->setFinalStop(dX, dY); return true; } -KVSO_CLASS_FUNCTION(painter,setGradientColor) +KVSO_CLASS_FUNCTION(painter, setGradientColor) { CHECK_INTERNAL_POINTER(m_pPainter) kvs_real_t dAt; - kvs_int_t iCol1,iCol2,iCol3,iOpacity; - KviKvsVariant *var1,*var2,*var3; - QString szColorMode,szColor; + kvs_int_t iCol1, iCol2, iCol3, iOpacity; + KviKvsVariant *var1, *var2, *var3; + QString szColorMode, szColor; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("at",KVS_PT_DOUBLE,0,dAt) - KVSO_PARAMETER("Color_1_Or_Colorname",KVS_PT_VARIANT,0,var1) - KVSO_PARAMETER("Color_2",KVS_PT_VARIANT,KVS_PF_OPTIONAL,var2) - KVSO_PARAMETER("Colo3_3",KVS_PT_VARIANT,KVS_PF_OPTIONAL,var3) - KVSO_PARAMETER("color_mode",KVS_PT_STRING,KVS_PF_OPTIONAL,szColorMode) - KVSO_PARAMETER("opacity",KVS_PT_INT,KVS_PF_OPTIONAL,iOpacity) + KVSO_PARAMETER("at", KVS_PT_DOUBLE, 0, dAt) + KVSO_PARAMETER("Color_1_Or_Colorname", KVS_PT_VARIANT, 0, var1) + KVSO_PARAMETER("Color_2", KVS_PT_VARIANT, KVS_PF_OPTIONAL, var2) + KVSO_PARAMETER("Colo3_3", KVS_PT_VARIANT, KVS_PF_OPTIONAL, var3) + KVSO_PARAMETER("color_mode", KVS_PT_STRING, KVS_PF_OPTIONAL, szColorMode) + KVSO_PARAMETER("opacity", KVS_PT_INT, KVS_PF_OPTIONAL, iOpacity) KVSO_PARAMETERS_END(c) - if (!var1->asInteger(iCol1)) + if(!var1->asInteger(iCol1)) { var1->asString(szColor); - if (c->paramCount()<3) iOpacity=255; + if(c->paramCount() < 3) + iOpacity = 255; else { - if (!var2->asInteger(iOpacity)) + if(!var2->asInteger(iOpacity)) { - c->warning(__tr2qs_ctx("The opacity parameter didn't evaluate to integer","objects")); + c->warning(__tr2qs_ctx("The opacity parameter didn't evaluate to integer", "objects")); return true; } } - if (!m_pGradient) m_pGradient=new(QLinearGradient); + if(!m_pGradient) + m_pGradient = new(QLinearGradient); QColor col(szColor); col.setAlpha(iOpacity); - m_pGradient->setColorAt(dAt,col); - } else { - if(c->paramCount()<4) + m_pGradient->setColorAt(dAt, col); + } + else + { + if(c->paramCount() < 4) { - c->error(__tr2qs_ctx("Color name or triplet RGB/HSV values required","objects")); + c->error(__tr2qs_ctx("Color name or triplet RGB/HSV values required", "objects")); return true; } - if ( !var2->asInteger(iCol2)||!var3->asInteger(iCol3)) + if(!var2->asInteger(iCol2) || !var3->asInteger(iCol3)) { - c->error(__tr2qs_ctx("One of the triplet parameters didn't evaluate to an integer","objects"));\ - return true; + c->error(__tr2qs_ctx("One of the triplet parameters didn't evaluate to an integer", "objects")); + return true; } - if (c->paramCount()<5) - iOpacity=255; + if(c->paramCount() < 5) + iOpacity = 255; QColor col; if(KviQString::equalCI(szColorMode, "HSV")) - col.setHsv(iCol1,iCol2,iCol3,iOpacity); + col.setHsv(iCol1, iCol2, iCol3, iOpacity); else - col.setRgb(iCol1,iCol2,iCol3,iOpacity); - if (!m_pGradient) - m_pGradient=new(QLinearGradient); - m_pGradient->setColorAt(dAt,col); - + col.setRgb(iCol1, iCol2, iCol3, iOpacity); + if(!m_pGradient) + m_pGradient = new(QLinearGradient); + m_pGradient->setColorAt(dAt, col); } return true; } -KVSO_CLASS_FUNCTION(painter,setGradientAsBrush) +KVSO_CLASS_FUNCTION(painter, setGradientAsBrush) { CHECK_INTERNAL_POINTER(m_pPainter) - if (!m_pGradient) m_pGradient=new(QLinearGradient); + if(!m_pGradient) + m_pGradient = new(QLinearGradient); m_pPainter->setBrush(*m_pGradient); return true; } -KVSO_CLASS_FUNCTION(painter,clearGradient) +KVSO_CLASS_FUNCTION(painter, clearGradient) { Q_UNUSED(c); - if (!m_pGradient) delete m_pGradient; - m_pGradient=0; + if(!m_pGradient) + delete m_pGradient; + m_pGradient = 0; return true; } -KVSO_CLASS_FUNCTION(painter,setPenWidth) +KVSO_CLASS_FUNCTION(painter, setPenWidth) { CHECK_INTERNAL_POINTER(m_pPainter) kvs_real_t iWidth; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("width",KVS_PT_REAL,0,iWidth) + KVSO_PARAMETER("width", KVS_PT_REAL, 0, iWidth) KVSO_PARAMETERS_END(c) - QPen pen=m_pPainter->pen(); + QPen pen = m_pPainter->pen(); pen.setWidthF(iWidth); m_pPainter->setPen(pen); return true; } -KVSO_CLASS_FUNCTION(painter,fillRect) +KVSO_CLASS_FUNCTION(painter, fillRect) { CHECK_INTERNAL_POINTER(m_pPainter) - kvs_int_t iX,iY,iW,iH; - kvs_int_t iCol1,iCol2,iCol3,iOpacity; - QString szColorMode,szColor; - KviKvsVariant *var1,*var2,*var3; + kvs_int_t iX, iY, iW, iH; + kvs_int_t iCol1, iCol2, iCol3, iOpacity; + QString szColorMode, szColor; + KviKvsVariant *var1, *var2, *var3; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("x",KVS_PT_INT,0,iX) - KVSO_PARAMETER("y",KVS_PT_INT,0,iY) - KVSO_PARAMETER("w",KVS_PT_INT,0,iW) - KVSO_PARAMETER("h",KVS_PT_INT,0,iH) - KVSO_PARAMETER("Color_1_Or_Colorname",KVS_PT_VARIANT,0,var1) - KVSO_PARAMETER("Color_2",KVS_PT_VARIANT,KVS_PF_OPTIONAL,var2) - KVSO_PARAMETER("Colo3_3",KVS_PT_VARIANT,KVS_PF_OPTIONAL,var3) - KVSO_PARAMETER("opacity",KVS_PT_INT,KVS_PF_OPTIONAL,iOpacity) - KVSO_PARAMETER("color_mode",KVS_PT_STRING,KVS_PF_OPTIONAL,szColorMode) + KVSO_PARAMETER("x", KVS_PT_INT, 0, iX) + KVSO_PARAMETER("y", KVS_PT_INT, 0, iY) + KVSO_PARAMETER("w", KVS_PT_INT, 0, iW) + KVSO_PARAMETER("h", KVS_PT_INT, 0, iH) + KVSO_PARAMETER("Color_1_Or_Colorname", KVS_PT_VARIANT, 0, var1) + KVSO_PARAMETER("Color_2", KVS_PT_VARIANT, KVS_PF_OPTIONAL, var2) + KVSO_PARAMETER("Colo3_3", KVS_PT_VARIANT, KVS_PF_OPTIONAL, var3) + KVSO_PARAMETER("opacity", KVS_PT_INT, KVS_PF_OPTIONAL, iOpacity) + KVSO_PARAMETER("color_mode", KVS_PT_STRING, KVS_PF_OPTIONAL, szColorMode) KVSO_PARAMETERS_END(c) QColor col; - if (!var1->asInteger(iCol1)) + if(!var1->asInteger(iCol1)) { var1->asString(szColor); - if (c->paramCount()<6) iOpacity=255; + if(c->paramCount() < 6) + iOpacity = 255; else { - if (!var2->asInteger(iOpacity)) + if(!var2->asInteger(iOpacity)) { - c->warning(__tr2qs_ctx("The opacity parameter didn't evaluate to integer","objects")); + c->warning(__tr2qs_ctx("The opacity parameter didn't evaluate to integer", "objects")); return true; } } col.setNamedColor(szColor); col.setAlpha(iOpacity); - } else { - if(c->paramCount()<7) + } + else + { + if(c->paramCount() < 7) { - c->error(__tr2qs_ctx("Color name or triplet RGB/HSV value required","objects")); + c->error(__tr2qs_ctx("Color name or triplet RGB/HSV value required", "objects")); return true; } - if (!var2->asInteger(iCol2)||!var3->asInteger(iCol3)) + if(!var2->asInteger(iCol2) || !var3->asInteger(iCol3)) { - c->error(__tr2qs_ctx("One of the triplet parameters didn't evaluate to an integer","objects"));\ - return true; + c->error(__tr2qs_ctx("One of the triplet parameters didn't evaluate to an integer", "objects")); + return true; } - if (c->paramCount()<5) - iOpacity=255; + if(c->paramCount() < 5) + iOpacity = 255; QColor col; if(KviQString::equalCI(szColorMode, "HSV")) - col.setHsv(iCol1,iCol2,iCol3,iOpacity); + col.setHsv(iCol1, iCol2, iCol3, iOpacity); else - col.setRgb(iCol1,iCol2,iCol3,iOpacity); + col.setRgb(iCol1, iCol2, iCol3, iOpacity); } - m_pPainter->fillRect(iX,iY,iW,iH,QBrush(col)); + m_pPainter->fillRect(iX, iY, iW, iH, QBrush(col)); return true; } -KVSO_CLASS_FUNCTION(painter,colorNames) +KVSO_CLASS_FUNCTION(painter, colorNames) { CHECK_INTERNAL_POINTER(m_pPainter) - QStringList color=QColor::colorNames(); + QStringList color = QColor::colorNames(); KviKvsArray * a = new KviKvsArray(); //a->set(0,new KviKvsVariant((kvs_int_t)col.red())); - for(int i=0;iset(i,new KviKvsVariant(color.at(i))); + a->set(i, new KviKvsVariant(color.at(i))); } c->returnValue()->setArray(a); return true; } -KVSO_CLASS_FUNCTION(painter,painterDeviceWidth) +KVSO_CLASS_FUNCTION(painter, painterDeviceWidth) { CHECK_INTERNAL_POINTER(m_pPainter) - kvs_int_t width=m_pPainter->device()->width(); + kvs_int_t width = m_pPainter->device()->width(); c->returnValue()->setInteger(width); return true; } -KVSO_CLASS_FUNCTION(painter,painterDeviceHeight) +KVSO_CLASS_FUNCTION(painter, painterDeviceHeight) { CHECK_INTERNAL_POINTER(m_pPainter) - kvs_int_t height=m_pPainter->device()->height(); + kvs_int_t height = m_pPainter->device()->height(); c->returnValue()->setInteger(height); return true; } -KVSO_CLASS_FUNCTION(painter,pathMoveTo) +KVSO_CLASS_FUNCTION(painter, pathMoveTo) { CHECK_INTERNAL_POINTER(m_pPainter) - kvs_real_t dX,dY; + kvs_real_t dX, dY; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("x",KVS_PT_REAL,0,dX) - KVSO_PARAMETER("y",KVS_PT_REAL,0,dY) + KVSO_PARAMETER("x", KVS_PT_REAL, 0, dX) + KVSO_PARAMETER("y", KVS_PT_REAL, 0, dY) KVSO_PARAMETERS_END(c) - if (!m_pPainterPath) m_pPainterPath=new QPainterPath(QPointF(0,0)); - m_pPainterPath->moveTo(dX,dY); + if(!m_pPainterPath) + m_pPainterPath = new QPainterPath(QPointF(0, 0)); + m_pPainterPath->moveTo(dX, dY); return true; } -KVSO_CLASS_FUNCTION(painter,pathLineTo) +KVSO_CLASS_FUNCTION(painter, pathLineTo) { CHECK_INTERNAL_POINTER(m_pPainter) - kvs_real_t dX,dY; + kvs_real_t dX, dY; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("x",KVS_PT_REAL,0,dX) - KVSO_PARAMETER("y",KVS_PT_REAL,0,dY) + KVSO_PARAMETER("x", KVS_PT_REAL, 0, dX) + KVSO_PARAMETER("y", KVS_PT_REAL, 0, dY) KVSO_PARAMETERS_END(c) - if (!m_pPainterPath) m_pPainterPath=new QPainterPath(QPointF(0,0)); - m_pPainterPath->lineTo(dX,dY); + if(!m_pPainterPath) + m_pPainterPath = new QPainterPath(QPointF(0, 0)); + m_pPainterPath->lineTo(dX, dY); return true; } -KVSO_CLASS_FUNCTION(painter,pathAddText) +KVSO_CLASS_FUNCTION(painter, pathAddText) { CHECK_INTERNAL_POINTER(m_pPainter) - kvs_real_t dX,dY; + kvs_real_t dX, dY; QString szText; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("x",KVS_PT_REAL,0,dX) - KVSO_PARAMETER("y",KVS_PT_REAL,0,dY) - KVSO_PARAMETER("text",KVS_PT_STRING,0,szText) + KVSO_PARAMETER("x", KVS_PT_REAL, 0, dX) + KVSO_PARAMETER("y", KVS_PT_REAL, 0, dY) + KVSO_PARAMETER("text", KVS_PT_STRING, 0, szText) KVSO_PARAMETERS_END(c) - if (!m_pPainterPath) m_pPainterPath=new QPainterPath(QPointF(0,0)); - m_pPainterPath->addText(dX,dY,m_pPainter->font(),szText); + if(!m_pPainterPath) + m_pPainterPath = new QPainterPath(QPointF(0, 0)); + m_pPainterPath->addText(dX, dY, m_pPainter->font(), szText); return true; } -KVSO_CLASS_FUNCTION(painter,drawPath) +KVSO_CLASS_FUNCTION(painter, drawPath) { CHECK_INTERNAL_POINTER(m_pPainter) m_pPainter->drawPath(*m_pPainterPath); @@ -2059,43 +2120,44 @@ KVSO_CLASS_FUNCTION(painter,drawPath) return true; } -KVSO_CLASS_FUNCTION(painter,setCompositionMode) +KVSO_CLASS_FUNCTION(painter, setCompositionMode) { CHECK_INTERNAL_POINTER(m_pPainter) QString szComposition; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("style",KVS_PT_STRING,0,szComposition) + KVSO_PARAMETER("style", KVS_PT_STRING, 0, szComposition) KVSO_PARAMETERS_END(c) - bool found=false; + bool found = false; unsigned int j = 0; for(; j < composition_num; j++) { - if(KviQString::equalCI(szComposition,composition_tbl[j])) + if(KviQString::equalCI(szComposition, composition_tbl[j])) { - found=true; + found = true; break; } } - if (found) + if(found) { m_pPainter->setCompositionMode(composition_cod[j]); } - else c->warning(__tr2qs_ctx("Unknown composition mode '%Q'","objects"),&szComposition); + else + c->warning(__tr2qs_ctx("Unknown composition mode '%Q'", "objects"), &szComposition); return true; } -KVSO_CLASS_FUNCTION(painter,resetPath) +KVSO_CLASS_FUNCTION(painter, resetPath) { Q_UNUSED(c); - if (m_pPainterPath) + if(m_pPainterPath) { delete m_pPainterPath; - m_pPainterPath=0; + m_pPainterPath = 0; } return true; } -void KvsObject_painter::setInternalPainter(QPainter *p) +void KvsObject_painter::setInternalPainter(QPainter * p) { delete m_pPainter; - m_pPainter=p; - bDonotdeleteinternalqpainter=true; + m_pPainter = p; + bDonotdeleteinternalqpainter = true; } diff --git a/src/modules/objects/KvsObject_painter.h b/src/modules/objects/KvsObject_painter.h index afd41e976..dff1dc755 100644 --- a/src/modules/objects/KvsObject_painter.h +++ b/src/modules/objects/KvsObject_painter.h @@ -33,7 +33,6 @@ #include "KviCString.h" #include - class KvsObject_painter : public KviKvsObject { Q_OBJECT @@ -43,88 +42,87 @@ protected: QPrinter * m_pPrinter; bool bDonotdeleteinternalqpainter; QPainter * m_pPainter; - QLinearGradient *m_pGradient; - QPainterPath *m_pPainterPath; -public: - void setInternalPainter(QPainter *p); - bool setFont(KviKvsObjectFunctionCall *c); - bool setFontSize(KviKvsObjectFunctionCall *c); - - bool fontAscent(KviKvsObjectFunctionCall *c); - bool fontDescent(KviKvsObjectFunctionCall *c); - bool fontMetricsWidth(KviKvsObjectFunctionCall *c); - bool fontMetricsHeight(KviKvsObjectFunctionCall *c); - bool setBrush(KviKvsObjectFunctionCall *c); - bool setPen(KviKvsObjectFunctionCall *c); - bool pen(KviKvsObjectFunctionCall *c); - bool setBackGroundMode(KviKvsObjectFunctionCall *c); - - bool drawRect(KviKvsObjectFunctionCall *c); - bool drawWinFocusRect(KviKvsObjectFunctionCall *c); - bool drawLine(KviKvsObjectFunctionCall *c); - bool drawRoundRect(KviKvsObjectFunctionCall *c); - bool drawPoint(KviKvsObjectFunctionCall *c); - bool drawArc(KviKvsObjectFunctionCall *c); - bool drawChord(KviKvsObjectFunctionCall *c); - bool drawPie(KviKvsObjectFunctionCall *c); - bool drawEllipse(KviKvsObjectFunctionCall *c); - - bool drawText(KviKvsObjectFunctionCall *c); - bool drawPixmap(KviKvsObjectFunctionCall *c); - - - bool begin(KviKvsObjectFunctionCall *c); - bool end(KviKvsObjectFunctionCall *c); - bool save(KviKvsObjectFunctionCall *c); - bool restore(KviKvsObjectFunctionCall *c); - - - bool scale(KviKvsObjectFunctionCall *c); - bool shear(KviKvsObjectFunctionCall *c); - bool rotate(KviKvsObjectFunctionCall *c); - bool reset(KviKvsObjectFunctionCall *c); - bool translate(KviKvsObjectFunctionCall *c); - bool setPenStyle(KviKvsObjectFunctionCall *c); - bool setBrushStyle(KviKvsObjectFunctionCall *c); - bool setCompositionMode(KviKvsObjectFunctionCall *c); - -// QT4 - bool setOpacity(KviKvsObjectFunctionCall *c); - bool setSmoothPixmapTransform(KviKvsObjectFunctionCall *c); - bool setTextAntialiasing(KviKvsObjectFunctionCall *c); - bool setAntialiasing(KviKvsObjectFunctionCall *c); - bool setGradientStart(KviKvsObjectFunctionCall *c); - bool setGradientStop(KviKvsObjectFunctionCall *c); - bool setGradientColor(KviKvsObjectFunctionCall *c); - bool setGradientAsBrush(KviKvsObjectFunctionCall *c); - bool clearGradient(KviKvsObjectFunctionCall *c); - - bool drawIcon(KviKvsObjectFunctionCall *c); - bool drawHtmlText(KviKvsObjectFunctionCall *c); - bool htmlTextSize(KviKvsObjectFunctionCall *c); - bool fillRect(KviKvsObjectFunctionCall *c); - bool setPenWidth(KviKvsObjectFunctionCall *c); - bool colorNames(KviKvsObjectFunctionCall *c); - bool pathMoveTo(KviKvsObjectFunctionCall *c); - bool pathLineTo(KviKvsObjectFunctionCall *c); - bool drawPath(KviKvsObjectFunctionCall *c); - bool setPenJoinStyle(KviKvsObjectFunctionCall *c); - bool setPenCapStyle(KviKvsObjectFunctionCall *c); - bool pathAddText(KviKvsObjectFunctionCall *c); - bool resetPath(KviKvsObjectFunctionCall *c); - - bool beginPdf(KviKvsObjectFunctionCall *c); - bool drawPixmapWithColorEffect(KviKvsObjectFunctionCall *c); - bool drawPixmapMirrored(KviKvsObjectFunctionCall *c); - bool painterDeviceWidth(KviKvsObjectFunctionCall *c); - bool painterDeviceHeight(KviKvsObjectFunctionCall *c); + QLinearGradient * m_pGradient; + QPainterPath * m_pPainterPath; +public: + void setInternalPainter(QPainter * p); + bool setFont(KviKvsObjectFunctionCall * c); + bool setFontSize(KviKvsObjectFunctionCall * c); + + bool fontAscent(KviKvsObjectFunctionCall * c); + bool fontDescent(KviKvsObjectFunctionCall * c); + bool fontMetricsWidth(KviKvsObjectFunctionCall * c); + bool fontMetricsHeight(KviKvsObjectFunctionCall * c); + bool setBrush(KviKvsObjectFunctionCall * c); + bool setPen(KviKvsObjectFunctionCall * c); + bool pen(KviKvsObjectFunctionCall * c); + bool setBackGroundMode(KviKvsObjectFunctionCall * c); + + bool drawRect(KviKvsObjectFunctionCall * c); + bool drawWinFocusRect(KviKvsObjectFunctionCall * c); + bool drawLine(KviKvsObjectFunctionCall * c); + bool drawRoundRect(KviKvsObjectFunctionCall * c); + bool drawPoint(KviKvsObjectFunctionCall * c); + bool drawArc(KviKvsObjectFunctionCall * c); + bool drawChord(KviKvsObjectFunctionCall * c); + bool drawPie(KviKvsObjectFunctionCall * c); + bool drawEllipse(KviKvsObjectFunctionCall * c); + + bool drawText(KviKvsObjectFunctionCall * c); + bool drawPixmap(KviKvsObjectFunctionCall * c); + + bool begin(KviKvsObjectFunctionCall * c); + bool end(KviKvsObjectFunctionCall * c); + bool save(KviKvsObjectFunctionCall * c); + bool restore(KviKvsObjectFunctionCall * c); + + bool scale(KviKvsObjectFunctionCall * c); + bool shear(KviKvsObjectFunctionCall * c); + bool rotate(KviKvsObjectFunctionCall * c); + bool reset(KviKvsObjectFunctionCall * c); + bool translate(KviKvsObjectFunctionCall * c); + bool setPenStyle(KviKvsObjectFunctionCall * c); + bool setBrushStyle(KviKvsObjectFunctionCall * c); + bool setCompositionMode(KviKvsObjectFunctionCall * c); + + // QT4 + bool setOpacity(KviKvsObjectFunctionCall * c); + bool setSmoothPixmapTransform(KviKvsObjectFunctionCall * c); + bool setTextAntialiasing(KviKvsObjectFunctionCall * c); + bool setAntialiasing(KviKvsObjectFunctionCall * c); + bool setGradientStart(KviKvsObjectFunctionCall * c); + bool setGradientStop(KviKvsObjectFunctionCall * c); + bool setGradientColor(KviKvsObjectFunctionCall * c); + bool setGradientAsBrush(KviKvsObjectFunctionCall * c); + bool clearGradient(KviKvsObjectFunctionCall * c); + + bool drawIcon(KviKvsObjectFunctionCall * c); + bool drawHtmlText(KviKvsObjectFunctionCall * c); + bool htmlTextSize(KviKvsObjectFunctionCall * c); + bool fillRect(KviKvsObjectFunctionCall * c); + bool setPenWidth(KviKvsObjectFunctionCall * c); + bool colorNames(KviKvsObjectFunctionCall * c); + bool pathMoveTo(KviKvsObjectFunctionCall * c); + bool pathLineTo(KviKvsObjectFunctionCall * c); + bool drawPath(KviKvsObjectFunctionCall * c); + bool setPenJoinStyle(KviKvsObjectFunctionCall * c); + bool setPenCapStyle(KviKvsObjectFunctionCall * c); + bool pathAddText(KviKvsObjectFunctionCall * c); + bool resetPath(KviKvsObjectFunctionCall * c); + + bool beginPdf(KviKvsObjectFunctionCall * c); + bool drawPixmapWithColorEffect(KviKvsObjectFunctionCall * c); + bool drawPixmapMirrored(KviKvsObjectFunctionCall * c); + bool painterDeviceWidth(KviKvsObjectFunctionCall * c); + bool painterDeviceHeight(KviKvsObjectFunctionCall * c); protected: - void attachDevice(KviKvsObject * o,QPaintDevice * p); + void attachDevice(KviKvsObject * o, QPaintDevice * p); protected slots: void detachDevice(); + private: KviKvsObject * m_pDeviceObject; }; -#endif // !_CLASS_PAINTER_H_ +#endif // !_CLASS_PAINTER_H_ diff --git a/src/modules/objects/KvsObject_pixmap.cpp b/src/modules/objects/KvsObject_pixmap.cpp index 52eeda284..8505b606f 100644 --- a/src/modules/objects/KvsObject_pixmap.cpp +++ b/src/modules/objects/KvsObject_pixmap.cpp @@ -84,97 +84,96 @@ This signal is emitted by the default implementation of [classfnc]$frameChangedEvent[/classfnc]().[br] */ -KVSO_BEGIN_REGISTERCLASS(KvsObject_pixmap,"pixmap","object") - - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_pixmap,fill) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_pixmap,resize) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_pixmap,scale) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_pixmap,load) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_pixmap,loadAnimation) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_pixmap,save) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_pixmap,startAnimation) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_pixmap,stopAnimation) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_pixmap,loadFromMemoryBuffer) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_pixmap,height) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_pixmap,width) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_pixmap,rotate) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_pixmap,mirrored) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_pixmap,setPixel) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_pixmap,pixel) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_pixmap,grabWidget) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_pixmap,frameChangedEvent) - +KVSO_BEGIN_REGISTERCLASS(KvsObject_pixmap, "pixmap", "object") + +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_pixmap, fill) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_pixmap, resize) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_pixmap, scale) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_pixmap, load) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_pixmap, loadAnimation) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_pixmap, save) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_pixmap, startAnimation) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_pixmap, stopAnimation) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_pixmap, loadFromMemoryBuffer) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_pixmap, height) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_pixmap, width) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_pixmap, rotate) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_pixmap, mirrored) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_pixmap, setPixel) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_pixmap, pixel) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_pixmap, grabWidget) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_pixmap, frameChangedEvent) KVSO_END_REGISTERCLASS(KvsObject_pixmap) - -KVSO_BEGIN_CONSTRUCTOR(KvsObject_pixmap,KviKvsObject) - m_pAnimatedPixmap = 0; - m_currentType = Image; - m_pPixmap = 0; - m_pImage = 0; +KVSO_BEGIN_CONSTRUCTOR(KvsObject_pixmap, KviKvsObject) +m_pAnimatedPixmap = 0; +m_currentType = Image; +m_pPixmap = 0; +m_pImage = 0; KVSO_END_CONSTRUCTOR(KvsObject_pixmap) - KVSO_BEGIN_DESTRUCTOR(KvsObject_pixmap) - emit aboutToDie(); - if (m_pPixmap) - delete m_pPixmap; - if (m_pAnimatedPixmap) - delete m_pAnimatedPixmap; - if (m_pImage) - delete m_pImage; +emit aboutToDie(); +if(m_pPixmap) + delete m_pPixmap; +if(m_pAnimatedPixmap) + delete m_pAnimatedPixmap; +if(m_pImage) + delete m_pImage; KVSO_END_CONSTRUCTOR(KvsObject_pixmap) - -KVSO_CLASS_FUNCTION(pixmap,fill) +KVSO_CLASS_FUNCTION(pixmap, fill) { - kvs_int_t iCol1,iCol2,iCol3,iOpacity; - QString szColorMode,szColor; - KviKvsVariant *var1,*var2,*var3; + kvs_int_t iCol1, iCol2, iCol3, iOpacity; + QString szColorMode, szColor; + KviKvsVariant *var1, *var2, *var3; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("Color_1_Or_Colorname",KVS_PT_VARIANT,0,var1) - KVSO_PARAMETER("Color_2",KVS_PT_VARIANT,KVS_PF_OPTIONAL,var2) - KVSO_PARAMETER("Colo3_3",KVS_PT_VARIANT,KVS_PF_OPTIONAL,var3) - KVSO_PARAMETER("color_mode",KVS_PT_STRING,KVS_PF_OPTIONAL,szColorMode) - KVSO_PARAMETER("opacity",KVS_PT_INT,KVS_PF_OPTIONAL,iOpacity) + KVSO_PARAMETER("Color_1_Or_Colorname", KVS_PT_VARIANT, 0, var1) + KVSO_PARAMETER("Color_2", KVS_PT_VARIANT, KVS_PF_OPTIONAL, var2) + KVSO_PARAMETER("Colo3_3", KVS_PT_VARIANT, KVS_PF_OPTIONAL, var3) + KVSO_PARAMETER("color_mode", KVS_PT_STRING, KVS_PF_OPTIONAL, szColorMode) + KVSO_PARAMETER("opacity", KVS_PT_INT, KVS_PF_OPTIONAL, iOpacity) KVSO_PARAMETERS_END(c) QColor col; - if (!var1->asInteger(iCol1)) + if(!var1->asInteger(iCol1)) { var1->asString(szColor); - if (c->paramCount()<2) - iOpacity=255; - else { - if (!var2->asInteger(iOpacity)) + if(c->paramCount() < 2) + iOpacity = 255; + else + { + if(!var2->asInteger(iOpacity)) { - c->warning(__tr2qs_ctx("The opacity parameter didn't evaluate to integer","objects")); + c->warning(__tr2qs_ctx("The opacity parameter didn't evaluate to integer", "objects")); return true; } } col.setNamedColor(szColor); col.setAlpha(iOpacity); - } else { - if(c->paramCount()<3) + } + else + { + if(c->paramCount() < 3) { - c->error(__tr2qs_ctx("Color name or triplet RGB/HSV value required","objects")); + c->error(__tr2qs_ctx("Color name or triplet RGB/HSV value required", "objects")); return true; } - if (!var2->asInteger(iCol2)||!var3->asInteger(iCol3)) + if(!var2->asInteger(iCol2) || !var3->asInteger(iCol3)) { - c->error(__tr2qs_ctx("One of the triplet parameters didn't evaluate to an integer","objects"));\ + c->error(__tr2qs_ctx("One of the triplet parameters didn't evaluate to an integer", "objects")); return true; } - if (c->paramCount()<5) - iOpacity=255; + if(c->paramCount() < 5) + iOpacity = 255; if(KviQString::equalCI(szColorMode, "HSV")) - col.setHsv(iCol1,iCol2,iCol3,iOpacity); + col.setHsv(iCol1, iCol2, iCol3, iOpacity); else - col.setRgb(iCol1,iCol2,iCol3,iOpacity); + col.setRgb(iCol1, iCol2, iCol3, iOpacity); } - if(m_currentType==Image) + if(m_currentType == Image) { if(m_pImage) { @@ -183,29 +182,33 @@ KVSO_CLASS_FUNCTION(pixmap,fill) *m_pPixmap = QPixmap::fromImage(*m_pImage); delete m_pImage; m_pImage = 0; - } else { + } + else + { m_pPixmap = 0; } - } else if(m_currentType==AnimatedPixmap) { - delete m_pAnimatedPixmap; - m_pAnimatedPixmap=0; + } + else if(m_currentType == AnimatedPixmap) + { + delete m_pAnimatedPixmap; + m_pAnimatedPixmap = 0; } m_currentType = Pixmap; if(!m_pPixmap) - m_pPixmap=new QPixmap(); + m_pPixmap = new QPixmap(); m_pPixmap->fill(col); return true; } -KVSO_CLASS_FUNCTION(pixmap,resize) +KVSO_CLASS_FUNCTION(pixmap, resize) { - kvs_int_t iWidth,iHeight; + kvs_int_t iWidth, iHeight; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("width",KVS_PT_INTEGER,0,iWidth) - KVSO_PARAMETER("height",KVS_PT_INTEGER,0,iHeight) + KVSO_PARAMETER("width", KVS_PT_INTEGER, 0, iWidth) + KVSO_PARAMETER("height", KVS_PT_INTEGER, 0, iHeight) KVSO_PARAMETERS_END(c) - if(m_currentType==Image) + if(m_currentType == Image) { if(m_pImage) { @@ -213,110 +216,125 @@ KVSO_CLASS_FUNCTION(pixmap,resize) m_pImage = 0; } } - else if(m_currentType==AnimatedPixmap) { + else if(m_currentType == AnimatedPixmap) + { if(m_pAnimatedPixmap) { delete m_pAnimatedPixmap; - m_pAnimatedPixmap=0; + m_pAnimatedPixmap = 0; } - } else if(m_pPixmap) { + } + else if(m_pPixmap) + { delete m_pPixmap; } m_currentType = Image; - m_pImage=new QImage(iWidth,iHeight,QImage::Format_ARGB32_Premultiplied); + m_pImage = new QImage(iWidth, iHeight, QImage::Format_ARGB32_Premultiplied); m_pImage->fill(Qt::transparent); return true; } -KVSO_CLASS_FUNCTION(pixmap,setPixel) +KVSO_CLASS_FUNCTION(pixmap, setPixel) { - kvs_int_t iCol1,iCol2,iCol3,iOpacity,iX,iY; - QString szColorMode,szColor; - KviKvsVariant *var1,*var2,*var3; + kvs_int_t iCol1, iCol2, iCol3, iOpacity, iX, iY; + QString szColorMode, szColor; + KviKvsVariant *var1, *var2, *var3; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("x",KVS_PT_INTEGER,0,iX) - KVSO_PARAMETER("y",KVS_PT_INTEGER,0,iY) - KVSO_PARAMETER("Color_1_Or_Colorname",KVS_PT_VARIANT,0,var1) - KVSO_PARAMETER("Color_2",KVS_PT_VARIANT,KVS_PF_OPTIONAL,var2) - KVSO_PARAMETER("Colo3_3",KVS_PT_VARIANT,KVS_PF_OPTIONAL,var3) - KVSO_PARAMETER("color_mode",KVS_PT_STRING,KVS_PF_OPTIONAL,szColorMode) - KVSO_PARAMETER("opacity",KVS_PT_INT,KVS_PF_OPTIONAL,iOpacity) + KVSO_PARAMETER("x", KVS_PT_INTEGER, 0, iX) + KVSO_PARAMETER("y", KVS_PT_INTEGER, 0, iY) + KVSO_PARAMETER("Color_1_Or_Colorname", KVS_PT_VARIANT, 0, var1) + KVSO_PARAMETER("Color_2", KVS_PT_VARIANT, KVS_PF_OPTIONAL, var2) + KVSO_PARAMETER("Colo3_3", KVS_PT_VARIANT, KVS_PF_OPTIONAL, var3) + KVSO_PARAMETER("color_mode", KVS_PT_STRING, KVS_PF_OPTIONAL, szColorMode) + KVSO_PARAMETER("opacity", KVS_PT_INT, KVS_PF_OPTIONAL, iOpacity) KVSO_PARAMETERS_END(c) QColor col; - if (!var1->asInteger(iCol1)) + if(!var1->asInteger(iCol1)) { var1->asString(szColor); - if (c->paramCount()<4) + if(c->paramCount() < 4) + { + iOpacity = 255; + } + else { - iOpacity=255; - } else { - if (!var2->asInteger(iOpacity)) + if(!var2->asInteger(iOpacity)) { - c->warning(__tr2qs_ctx("The opacity parameter didn't evaluate to integer","objects")); + c->warning(__tr2qs_ctx("The opacity parameter didn't evaluate to integer", "objects")); return true; } } col.setNamedColor(szColor); col.setAlpha(iOpacity); - } else { - if(c->paramCount()<5) + } + else + { + if(c->paramCount() < 5) { - c->error(__tr2qs_ctx("Color name or triplet RGB/HSV value required","objects")); + c->error(__tr2qs_ctx("Color name or triplet RGB/HSV value required", "objects")); return true; } - if (!var2->asInteger(iCol2)||!var3->asInteger(iCol3)) + if(!var2->asInteger(iCol2) || !var3->asInteger(iCol3)) { - c->error(__tr2qs_ctx("One of the triplet parameters didn't evaluate to an integer","objects"));\ + c->error(__tr2qs_ctx("One of the triplet parameters didn't evaluate to an integer", "objects")); return true; } - if (c->paramCount()<7) - iOpacity=255; + if(c->paramCount() < 7) + iOpacity = 255; if(KviQString::equalCI(szColorMode, "HSV")) - col.setHsv(iCol1,iCol2,iCol3,iOpacity); + col.setHsv(iCol1, iCol2, iCol3, iOpacity); else - col.setRgb(iCol1,iCol2,iCol3,iOpacity); + col.setRgb(iCol1, iCol2, iCol3, iOpacity); } - if(m_currentType==AnimatedPixmap) + if(m_currentType == AnimatedPixmap) { - c->warning(__tr2qs_ctx("AnimatedPixmap not supported","objects")); + c->warning(__tr2qs_ctx("AnimatedPixmap not supported", "objects")); return true; - } else if((m_currentType==Image && !m_pImage) || (m_currentType==Pixmap && !m_pPixmap)) { - c->error(__tr2qs_ctx("The pixmap is null","objects")); + } + else if((m_currentType == Image && !m_pImage) || (m_currentType == Pixmap && !m_pPixmap)) + { + c->error(__tr2qs_ctx("The pixmap is null", "objects")); return false; - } else if(m_currentType==Pixmap) { + } + else if(m_currentType == Pixmap) + { delete m_pImage; m_pImage = new QImage(); *m_pImage = m_pPixmap->toImage(); delete m_pPixmap; } m_currentType = Image; - m_pImage->setPixel(iX,iY,col.rgba()); + m_pImage->setPixel(iX, iY, col.rgba()); return true; } -KVSO_CLASS_FUNCTION(pixmap,pixel) +KVSO_CLASS_FUNCTION(pixmap, pixel) { - kvs_int_t iX,iY; + kvs_int_t iX, iY; QString szFlags; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("x",KVS_PT_INTEGER,0,iX) - KVSO_PARAMETER("y",KVS_PT_INTEGER,0,iY) - KVSO_PARAMETER("b",KVS_PT_STRING,KVS_PF_OPTIONAL,szFlags) + KVSO_PARAMETER("x", KVS_PT_INTEGER, 0, iX) + KVSO_PARAMETER("y", KVS_PT_INTEGER, 0, iY) + KVSO_PARAMETER("b", KVS_PT_STRING, KVS_PF_OPTIONAL, szFlags) KVSO_PARAMETERS_END(c) - if(m_currentType==AnimatedPixmap) + if(m_currentType == AnimatedPixmap) { - c->warning(__tr2qs_ctx("AnimatedPixmap not supported","objects")); + c->warning(__tr2qs_ctx("AnimatedPixmap not supported", "objects")); return true; - } else if((m_currentType==Image && !m_pImage) || (m_currentType==Pixmap && !m_pPixmap)) { - c->error(__tr2qs_ctx("The pixmap is null","objects")); + } + else if((m_currentType == Image && !m_pImage) || (m_currentType == Pixmap && !m_pPixmap)) + { + c->error(__tr2qs_ctx("The pixmap is null", "objects")); return false; - } else if(m_currentType==Pixmap) { -// qDebug("mpimage %i",m_pImage); -// qDebug("pixmap %i %i",m_pPixmap->width(),m_pPixmap->height()); + } + else if(m_currentType == Pixmap) + { + // qDebug("mpimage %i",m_pImage); + // qDebug("pixmap %i %i",m_pPixmap->width(),m_pPixmap->height()); delete m_pImage; m_pImage = new QImage(); *m_pImage = m_pPixmap->toImage(); @@ -324,215 +342,231 @@ KVSO_CLASS_FUNCTION(pixmap,pixel) m_pPixmap = 0; } m_currentType = Image; - QRgb rgb= m_pImage->pixel(iX,iY); + QRgb rgb = m_pImage->pixel(iX, iY); QColor col(rgb); - if(szFlags.isEmpty()){ + if(szFlags.isEmpty()) + { c->returnValue()->setString(col.name()); return true; } - KviKvsVariant *pRed = new KviKvsVariant((kvs_int_t)col.red()); - KviKvsVariant *pGreen = new KviKvsVariant((kvs_int_t)col.green()); - KviKvsVariant *pBlue = new KviKvsVariant((kvs_int_t)col.blue()); - if (szFlags.indexOf('a',0,Qt::CaseInsensitive) != -1){ - KviKvsArray *pArray = new KviKvsArray(); - pArray->set(0,pRed); - pArray->set(1,pGreen); - pArray->set(2,pBlue); + KviKvsVariant * pRed = new KviKvsVariant((kvs_int_t)col.red()); + KviKvsVariant * pGreen = new KviKvsVariant((kvs_int_t)col.green()); + KviKvsVariant * pBlue = new KviKvsVariant((kvs_int_t)col.blue()); + if(szFlags.indexOf('a', 0, Qt::CaseInsensitive) != -1) + { + KviKvsArray * pArray = new KviKvsArray(); + pArray->set(0, pRed); + pArray->set(1, pGreen); + pArray->set(2, pBlue); c->returnValue()->setArray(pArray); - } else if (szFlags.indexOf('h',0,Qt::CaseInsensitive) != -1){ - KviKvsHash *pHash = new KviKvsHash(); - pHash->set("red",pRed); - pHash->set("green",pGreen); - pHash->set("blue",pBlue); + } + else if(szFlags.indexOf('h', 0, Qt::CaseInsensitive) != -1) + { + KviKvsHash * pHash = new KviKvsHash(); + pHash->set("red", pRed); + pHash->set("green", pGreen); + pHash->set("blue", pBlue); } return true; } -KVSO_CLASS_FUNCTION(pixmap,rotate) +KVSO_CLASS_FUNCTION(pixmap, rotate) { kvs_real_t dAngle; QString szAxis; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("angle",KVS_PT_DOUBLE,0,dAngle) - KVSO_PARAMETER("axis",KVS_PT_STRING,KVS_PF_OPTIONAL,szAxis) + KVSO_PARAMETER("angle", KVS_PT_DOUBLE, 0, dAngle) + KVSO_PARAMETER("axis", KVS_PT_STRING, KVS_PF_OPTIONAL, szAxis) KVSO_PARAMETERS_END(c) Qt::Axis axis = Qt::ZAxis; if(!szAxis.isEmpty()) { - if (KviQString::equalCI(szAxis,"XAxis")) - axis=Qt::XAxis; - else if (KviQString::equalCI(szAxis,"YAxis")) - axis=Qt::YAxis; - else if (KviQString::equalCI(szAxis,"ZAxis")) - axis=Qt::ZAxis; + if(KviQString::equalCI(szAxis, "XAxis")) + axis = Qt::XAxis; + else if(KviQString::equalCI(szAxis, "YAxis")) + axis = Qt::YAxis; + else if(KviQString::equalCI(szAxis, "ZAxis")) + axis = Qt::ZAxis; else - c->warning(__tr2qs_ctx("Unknown axis '%Q' switching to default ZAxis","objects"),&szAxis); + c->warning(__tr2qs_ctx("Unknown axis '%Q' switching to default ZAxis", "objects"), &szAxis); } - if(m_currentType==Pixmap) + if(m_currentType == Pixmap) { if(m_pPixmap) { if(!m_pImage) m_pImage = new QImage(); *m_pImage = m_pPixmap->toImage(); - } else { - c->error(__tr2qs_ctx("The pixmap is null","objects")); + } + else + { + c->error(__tr2qs_ctx("The pixmap is null", "objects")); return false; } - } else if(m_currentType==AnimatedPixmap) { - c->warning(__tr2qs_ctx("AnimatedPixmap not supported","objects")); + } + else if(m_currentType == AnimatedPixmap) + { + c->warning(__tr2qs_ctx("AnimatedPixmap not supported", "objects")); return true; } if(!m_pImage) { - c->error(__tr2qs_ctx("The pixmap is null","objects")); + c->error(__tr2qs_ctx("The pixmap is null", "objects")); return false; } m_currentType = Image; QTransform transform; - transform.rotate(dAngle,axis); - *m_pImage=m_pImage->transformed(transform); + transform.rotate(dAngle, axis); + *m_pImage = m_pImage->transformed(transform); return true; } - -KVSO_CLASS_FUNCTION(pixmap,mirrored) +KVSO_CLASS_FUNCTION(pixmap, mirrored) { - bool bHorizontal,bVertical; + bool bHorizontal, bVertical; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("bHorizontal",KVS_PT_BOOLEAN,0,bHorizontal) - KVSO_PARAMETER("bVertical",KVS_PT_BOOLEAN,0,bVertical) + KVSO_PARAMETER("bHorizontal", KVS_PT_BOOLEAN, 0, bHorizontal) + KVSO_PARAMETER("bVertical", KVS_PT_BOOLEAN, 0, bVertical) KVSO_PARAMETERS_END(c) - if(m_currentType==Pixmap) + if(m_currentType == Pixmap) { if(m_pPixmap) { - if(!m_pImage) m_pImage = new QImage(); + if(!m_pImage) + m_pImage = new QImage(); *m_pImage = m_pPixmap->toImage(); - } else { - c->error(__tr2qs_ctx("The pixmap is null","objects")); + } + else + { + c->error(__tr2qs_ctx("The pixmap is null", "objects")); return false; } - } else if(m_currentType==AnimatedPixmap) { - c->warning(__tr2qs_ctx("AnimatedPixmap not supported","objects")); + } + else if(m_currentType == AnimatedPixmap) + { + c->warning(__tr2qs_ctx("AnimatedPixmap not supported", "objects")); return true; } if(!m_pImage) { - c->error(__tr2qs_ctx("The pixmap is null","objects")); + c->error(__tr2qs_ctx("The pixmap is null", "objects")); return false; } m_currentType = Image; - *m_pImage=m_pImage->mirrored(bHorizontal,bVertical); + *m_pImage = m_pImage->mirrored(bHorizontal, bVertical); return true; } - - -KVSO_CLASS_FUNCTION(pixmap,scale) +KVSO_CLASS_FUNCTION(pixmap, scale) { - kvs_int_t iWidth,iHeight; - QString szAspectRatio; - KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("width",KVS_PT_INTEGER,0,iWidth) - KVSO_PARAMETER("height",KVS_PT_INTEGER,0,iHeight) - KVSO_PARAMETER("aspect_ratio",KVS_PT_STRING,KVS_PF_OPTIONAL,szAspectRatio) - KVSO_PARAMETERS_END(c) - Qt::AspectRatioMode ratio=Qt::KeepAspectRatio; - if(!szAspectRatio.isEmpty()) - { - if(KviQString::equalCI(szAspectRatio,"IgnoreAspectRatio")) ratio=Qt::IgnoreAspectRatio; - else if (KviQString::equalCI(szAspectRatio,"KeepAspectRatio")) ratio=Qt::KeepAspectRatio; - else if (KviQString::equalCI(szAspectRatio,"KeepAspectRatioByExpanding")) ratio=Qt::KeepAspectRatioByExpanding; - else c->warning(__tr2qs_ctx("Unknown aspect ratio %Q - Switching to KeepAspectRatio ratio","objects"),&szAspectRatio); - } - if(m_currentType==Pixmap) - { - if(m_pPixmap) - *m_pPixmap=m_pPixmap->scaled(iWidth,iHeight,ratio,Qt::SmoothTransformation); - else{ - c->error(__tr2qs_ctx("The pixmap is null","objects")); - return false; - } - } - else if (m_currentType==AnimatedPixmap) - m_pAnimatedPixmap->resize(QSize(iWidth,iHeight),ratio); - else if(m_currentType==Image) - { + kvs_int_t iWidth, iHeight; + QString szAspectRatio; + KVSO_PARAMETERS_BEGIN(c) + KVSO_PARAMETER("width", KVS_PT_INTEGER, 0, iWidth) + KVSO_PARAMETER("height", KVS_PT_INTEGER, 0, iHeight) + KVSO_PARAMETER("aspect_ratio", KVS_PT_STRING, KVS_PF_OPTIONAL, szAspectRatio) + KVSO_PARAMETERS_END(c) + Qt::AspectRatioMode ratio = Qt::KeepAspectRatio; + if(!szAspectRatio.isEmpty()) + { + if(KviQString::equalCI(szAspectRatio, "IgnoreAspectRatio")) + ratio = Qt::IgnoreAspectRatio; + else if(KviQString::equalCI(szAspectRatio, "KeepAspectRatio")) + ratio = Qt::KeepAspectRatio; + else if(KviQString::equalCI(szAspectRatio, "KeepAspectRatioByExpanding")) + ratio = Qt::KeepAspectRatioByExpanding; + else + c->warning(__tr2qs_ctx("Unknown aspect ratio %Q - Switching to KeepAspectRatio ratio", "objects"), &szAspectRatio); + } + if(m_currentType == Pixmap) + { + if(m_pPixmap) + *m_pPixmap = m_pPixmap->scaled(iWidth, iHeight, ratio, Qt::SmoothTransformation); + else + { + c->error(__tr2qs_ctx("The pixmap is null", "objects")); + return false; + } + } + else if(m_currentType == AnimatedPixmap) + m_pAnimatedPixmap->resize(QSize(iWidth, iHeight), ratio); + else if(m_currentType == Image) + { if(!m_pImage) { - c->error(__tr2qs_ctx("The pixmap is null","objects")); + c->error(__tr2qs_ctx("The pixmap is null", "objects")); return false; } - *m_pImage=m_pImage->scaled(iWidth,iHeight,ratio,Qt::SmoothTransformation); - } - return true; + *m_pImage = m_pImage->scaled(iWidth, iHeight, ratio, Qt::SmoothTransformation); + } + return true; } -KVSO_CLASS_FUNCTION(pixmap,loadAnimation) +KVSO_CLASS_FUNCTION(pixmap, loadAnimation) { QString szFile; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("file",KVS_PT_STRING,0,szFile) + 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); + c->warning(__tr2qs_ctx("I can't find the specified file '%Q'.", "objects"), &szFile); return true; } - if (m_pAnimatedPixmap) { + if(m_pAnimatedPixmap) + { delete m_pAnimatedPixmap; m_pAnimatedPixmap = 0; } - if (m_pPixmap) + if(m_pPixmap) { delete m_pPixmap; - m_pPixmap=0; + m_pPixmap = 0; } - m_pAnimatedPixmap= new KviAnimatedPixmap(szFile); - connect(m_pAnimatedPixmap,SIGNAL(frameChanged()),this,SLOT(frameChanged())); + m_pAnimatedPixmap = new KviAnimatedPixmap(szFile); + connect(m_pAnimatedPixmap, SIGNAL(frameChanged()), this, SLOT(frameChanged())); return true; } -KVSO_CLASS_FUNCTION(pixmap,startAnimation) +KVSO_CLASS_FUNCTION(pixmap, startAnimation) { Q_UNUSED(c); - if (m_pAnimatedPixmap) + if(m_pAnimatedPixmap) m_pAnimatedPixmap->start(); return true; } -KVSO_CLASS_FUNCTION(pixmap,stopAnimation) +KVSO_CLASS_FUNCTION(pixmap, stopAnimation) { Q_UNUSED(c); - if (m_pAnimatedPixmap) + if(m_pAnimatedPixmap) m_pAnimatedPixmap->stop(); return true; } -KVSO_CLASS_FUNCTION(pixmap,load) +KVSO_CLASS_FUNCTION(pixmap, load) { QString szFile; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("file",KVS_PT_STRING,0,szFile) + 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); + c->warning(__tr2qs_ctx("I can't find the specified file '%Q'.", "objects"), &szFile); return true; } if(!m_pImage) - m_pImage=new QImage(); + m_pImage = new QImage(); m_currentType = Image; m_pImage->load(szFile); return true; -/* + /* * FIXME UNUSED CODE if (m_currentType==Image && m_pImage) delete m_pImage; @@ -546,106 +580,114 @@ KVSO_CLASS_FUNCTION(pixmap,load) */ } -KVSO_CLASS_FUNCTION(pixmap,save) +KVSO_CLASS_FUNCTION(pixmap, save) { QString szFile; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("file",KVS_PT_STRING,0,szFile) + KVSO_PARAMETER("file", KVS_PT_STRING, 0, szFile) KVSO_PARAMETERS_END(c) - if(m_currentType==Pixmap) + if(m_currentType == Pixmap) { if(m_pPixmap) { m_pPixmap->save(szFile); - } else { - c->error(__tr2qs_ctx("The pixmap is null","objects")); + } + else + { + c->error(__tr2qs_ctx("The pixmap is null", "objects")); return false; } - } else if(m_currentType==Image) { + } + else if(m_currentType == Image) + { if(m_pImage) { m_pImage->save(szFile); - } else { - c->error(__tr2qs_ctx("The pixmap is null","objects")); + } + else + { + c->error(__tr2qs_ctx("The pixmap is null", "objects")); return false; } - } else { + } + else + { m_pAnimatedPixmap->pixmap()->save(szFile); } return true; } -void KvsObject_pixmap::setInternalPixmap(QPixmap *pPixmap) +void KvsObject_pixmap::setInternalPixmap(QPixmap * pPixmap) { - if(m_currentType==Image && m_pImage) + if(m_currentType == Image && m_pImage) delete m_pImage; - else if(m_currentType==Pixmap && m_pPixmap) + else if(m_currentType == Pixmap && m_pPixmap) delete m_pPixmap; - m_currentType=Pixmap; - m_pPixmap=pPixmap; + m_currentType = Pixmap; + m_pPixmap = pPixmap; } -void KvsObject_pixmap::setInternalImage(QImage *pImage) +void KvsObject_pixmap::setInternalImage(QImage * pImage) { - if(m_currentType==Image && m_pImage) + if(m_currentType == Image && m_pImage) delete m_pImage; - else if(m_currentType==Pixmap && m_pPixmap) + else if(m_currentType == Pixmap && m_pPixmap) delete m_pPixmap; - m_currentType=Image; - m_pImage=pImage; + m_currentType = Image; + m_pImage = pImage; } -KVSO_CLASS_FUNCTION(pixmap,loadFromMemoryBuffer) +KVSO_CLASS_FUNCTION(pixmap, loadFromMemoryBuffer) { KviKvsObject * pObject; kvs_hobject_t hObject; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("hobject",KVS_PT_HOBJECT,0,hObject) + KVSO_PARAMETER("hobject", KVS_PT_HOBJECT, 0, hObject) KVSO_PARAMETERS_END(c) - pObject=KviKvsKernel::instance()->objectController()->lookupObject(hObject); - if (!pObject) + pObject = KviKvsKernel::instance()->objectController()->lookupObject(hObject); + if(!pObject) { - c->warning(__tr2qs_ctx("Buffer parameter is not an object","objects")); + c->warning(__tr2qs_ctx("Buffer parameter is not an object", "objects")); return true; } - if (!pObject->inheritsClass("memorybuffer")) + if(!pObject->inheritsClass("memorybuffer")) { - c->warning(__tr2qs_ctx("Buffer parameter is not a memorybuffer object","objects")); + c->warning(__tr2qs_ctx("Buffer parameter is not a memorybuffer object", "objects")); return true; } - if (m_pAnimatedPixmap) + if(m_pAnimatedPixmap) { delete m_pAnimatedPixmap; - m_pAnimatedPixmap=0; + m_pAnimatedPixmap = 0; } - if (!m_pPixmap) - m_pPixmap=new QPixmap(); + if(!m_pPixmap) + m_pPixmap = new QPixmap(); m_pPixmap->loadFromData(((KvsObject_memoryBuffer *)pObject)->dataBuffer()); return true; } -KVSO_CLASS_FUNCTION(pixmap,grabWidget) +KVSO_CLASS_FUNCTION(pixmap, grabWidget) { CHECK_INTERNAL_POINTER(m_pPixmap) KviKvsObject * pObject; kvs_hobject_t hObject; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("widget",KVS_PT_HOBJECT,0,hObject) + KVSO_PARAMETER("widget", KVS_PT_HOBJECT, 0, hObject) KVSO_PARAMETERS_END(c) - pObject=KviKvsKernel::instance()->objectController()->lookupObject(hObject); + pObject = KviKvsKernel::instance()->objectController()->lookupObject(hObject); CHECK_HOBJECT_IS_WIDGET(pObject) - if (m_pAnimatedPixmap) + if(m_pAnimatedPixmap) { delete m_pAnimatedPixmap; - m_pAnimatedPixmap=0; + m_pAnimatedPixmap = 0; } - if (!m_pPixmap) - m_pPixmap=new QPixmap(); - *m_pPixmap=QPixmap::grabWidget(((KvsObject_widget *)pObject)->widget()); + if(!m_pPixmap) + m_pPixmap = new QPixmap(); + *m_pPixmap = QPixmap::grabWidget(((KvsObject_widget *)pObject)->widget()); return true; -/* FIXME UNUSED CODE + /* FIXME UNUSED CODE QString szFileName; KVSO_PARAMETERS_BEGIN(c) KVSO_PARAMETER("file_name",KVS_PT_STRING,0,szFileName) @@ -661,11 +703,11 @@ KVSO_CLASS_FUNCTION(pixmap,grabWidget) */ } -KVSO_CLASS_FUNCTION(pixmap,height) +KVSO_CLASS_FUNCTION(pixmap, height) { - if (m_currentType==Image && m_pImage) - c->returnValue()->setInteger(m_pImage->height()); - else if(m_currentType==Pixmap && m_pPixmap) + if(m_currentType == Image && m_pImage) + c->returnValue()->setInteger(m_pImage->height()); + else if(m_currentType == Pixmap && m_pPixmap) c->returnValue()->setInteger(m_pPixmap->height()); else c->returnValue()->setInteger(0); @@ -674,17 +716,17 @@ KVSO_CLASS_FUNCTION(pixmap,height) return true; } -KVSO_CLASS_FUNCTION(pixmap,width) +KVSO_CLASS_FUNCTION(pixmap, width) { - if (m_currentType==Image && m_pImage) + if(m_currentType == Image && m_pImage) c->returnValue()->setInteger(m_pImage->width()); - else if(m_currentType==Pixmap && m_pPixmap) + else if(m_currentType == Pixmap && m_pPixmap) c->returnValue()->setInteger(m_pPixmap->width()); else c->returnValue()->setInteger(0); //else if(m_pAnimatedPixmap) c->returnValue()->setInteger(m_pAnimatedPixmap->size().height()); //else c->returnValue()->setInteger(m_pPixmap->height()); - return true; + return true; } /*QPixmap * KvsObject_pixmap::getPixmap() @@ -693,15 +735,15 @@ KVSO_CLASS_FUNCTION(pixmap,width) else if(m_pAnimatedPixmap) return m_pAnimatedPixmap->pixmap(); else return m_pPixmap; }*/ -KVSO_CLASS_FUNCTION(pixmap,frameChangedEvent) +KVSO_CLASS_FUNCTION(pixmap, frameChangedEvent) { - emitSignal("frameChanged",c); + emitSignal("frameChanged", c); return true; } // slots void KvsObject_pixmap::frameChanged() { - KviKvsVariantList *params=0; - callFunction(this,"frameChangedEvent",params); + KviKvsVariantList * params = 0; + callFunction(this, "frameChangedEvent", params); } diff --git a/src/modules/objects/KvsObject_pixmap.h b/src/modules/objects/KvsObject_pixmap.h index 11c529d0b..35874f1f6 100644 --- a/src/modules/objects/KvsObject_pixmap.h +++ b/src/modules/objects/KvsObject_pixmap.h @@ -1,5 +1,5 @@ -#ifndef _CLASS_PIXMAP_H_ -#define _CLASS_PIXMAP_H_ +#ifndef _CLASS_PIXMAP_H_ +#define _CLASS_PIXMAP_H_ //============================================================================= // // File : KvsObject_pixmap.h @@ -25,33 +25,34 @@ // //============================================================================= - - #include #include #include #include "KviCString.h" - #include "object_macros.h" - class KvsObject_pixmap : public KviKvsObject { Q_OBJECT -// Q_PROPERTY(QPixmap pixmap READ getPixmap) + // Q_PROPERTY(QPixmap pixmap READ getPixmap) public: KVSO_DECLARE_OBJECT(KvsObject_pixmap) - enum Type { Pixmap, AnimatedPixmap, Image }; + enum Type + { + Pixmap, + AnimatedPixmap, + Image + }; Type m_currentType; - void setInternalPixmap(QPixmap *pPixmap); - void setInternalImage(QImage *pImage); + void setInternalPixmap(QPixmap * pPixmap); + void setInternalImage(QImage * pImage); QImage * getImage() { if(!m_pImage) m_pImage = new QImage(); - if(m_currentType==Pixmap) + if(m_currentType == Pixmap) { if(m_pPixmap) { @@ -68,7 +69,7 @@ public: { if(!m_pPixmap) m_pPixmap = new QPixmap(); - if(m_currentType==Image) + if(m_currentType == Image) { if(m_pImage) { @@ -87,28 +88,29 @@ protected: QImage * m_pImage; signals: void aboutToDie(); + protected: - bool fill(KviKvsObjectFunctionCall *c); - bool resize(KviKvsObjectFunctionCall *c); - bool scale(KviKvsObjectFunctionCall *c); + bool fill(KviKvsObjectFunctionCall * c); + bool resize(KviKvsObjectFunctionCall * c); + bool scale(KviKvsObjectFunctionCall * c); //bool rotate(KviKvsObjectFunctionCall *c); - bool save(KviKvsObjectFunctionCall *c); - bool startAnimation(KviKvsObjectFunctionCall *c); - bool stopAnimation(KviKvsObjectFunctionCall *c); - bool loadAnimation(KviKvsObjectFunctionCall *c); - bool load(KviKvsObjectFunctionCall *c); - bool height(KviKvsObjectFunctionCall *c); - bool width(KviKvsObjectFunctionCall *c); - bool mirrored(KviKvsObjectFunctionCall *c); - bool grabWidget(KviKvsObjectFunctionCall *c); - bool loadFromMemoryBuffer(KviKvsObjectFunctionCall *c); - bool rotate(KviKvsObjectFunctionCall *c); - bool toGrayScale(KviKvsObjectFunctionCall *c); - bool setPixel(KviKvsObjectFunctionCall *c); - bool pixel(KviKvsObjectFunctionCall *c); - bool frameChangedEvent(KviKvsObjectFunctionCall *c); + bool save(KviKvsObjectFunctionCall * c); + bool startAnimation(KviKvsObjectFunctionCall * c); + bool stopAnimation(KviKvsObjectFunctionCall * c); + bool loadAnimation(KviKvsObjectFunctionCall * c); + bool load(KviKvsObjectFunctionCall * c); + bool height(KviKvsObjectFunctionCall * c); + bool width(KviKvsObjectFunctionCall * c); + bool mirrored(KviKvsObjectFunctionCall * c); + bool grabWidget(KviKvsObjectFunctionCall * c); + bool loadFromMemoryBuffer(KviKvsObjectFunctionCall * c); + bool rotate(KviKvsObjectFunctionCall * c); + bool toGrayScale(KviKvsObjectFunctionCall * c); + bool setPixel(KviKvsObjectFunctionCall * c); + bool pixel(KviKvsObjectFunctionCall * c); + bool frameChangedEvent(KviKvsObjectFunctionCall * c); protected slots: void frameChanged(); }; -#endif // !_CLASS_PIXMAP_H_ +#endif // !_CLASS_PIXMAP_H_ diff --git a/src/modules/objects/KvsObject_popupMenu.cpp b/src/modules/objects/KvsObject_popupMenu.cpp index 8524c171c..9a5531835 100644 --- a/src/modules/objects/KvsObject_popupMenu.cpp +++ b/src/modules/objects/KvsObject_popupMenu.cpp @@ -23,7 +23,6 @@ // //============================================================================= - #include "KvsObject_popupMenu.h" #include "KviError.h" @@ -35,8 +34,6 @@ #include #include - - /* @doc: popupmenu @keyterms: @@ -165,28 +162,28 @@ [/example] */ -static QHash actionsDict; -static int iIdentifier=0; +static QHash actionsDict; +static int iIdentifier = 0; - -static int addActionToDict(QAction *pAction) +static int addActionToDict(QAction * pAction) { - actionsDict.insert(iIdentifier,pAction); + actionsDict.insert(iIdentifier, pAction); iIdentifier++; - return (iIdentifier-1); + return (iIdentifier - 1); } -static void removeMenuAllActions(QMenu *pMenu) +static void removeMenuAllActions(QMenu * pMenu) { - QList pActionsList=pMenu->actions(); - QList pActionsListDictValues=actionsDict.values(); - for(int i=0;i pActionsList = pMenu->actions(); + QList pActionsListDictValues = actionsDict.values(); + for(int i = 0; i < pActionsList.count(); i++) { - int iIdx=pActionsListDictValues.indexOf(pActionsList.at(i)); - if (iIdx>=0) actionsDict.remove(actionsDict.key(pActionsList.at(i))); + int iIdx = pActionsListDictValues.indexOf(pActionsList.at(i)); + if(iIdx >= 0) + actionsDict.remove(actionsDict.key(pActionsList.at(i))); } } -static QAction* getAction(int idx) +static QAction * getAction(int idx) { return actionsDict.value(idx); } @@ -195,76 +192,77 @@ static void removeAction(int idx) actionsDict.remove(idx); } +KVSO_BEGIN_REGISTERCLASS(KvsObject_popupMenu, "popupmenu", "widget") +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_popupMenu, insertItem) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_popupMenu, setTitle) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_popupMenu, exec) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_popupMenu, insertSeparator) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_popupMenu, removeItem) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_popupMenu, addMenu) -KVSO_BEGIN_REGISTERCLASS(KvsObject_popupMenu,"popupmenu","widget") - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_popupMenu,insertItem) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_popupMenu,setTitle) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_popupMenu,exec) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_popupMenu,insertSeparator) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_popupMenu,removeItem) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_popupMenu,addMenu) - - // events - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_popupMenu,highlightedEvent) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_popupMenu,activatedEvent) +// events +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_popupMenu, highlightedEvent) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_popupMenu, activatedEvent) KVSO_END_REGISTERCLASS(KvsObject_popupMenu) -KVSO_BEGIN_CONSTRUCTOR(KvsObject_popupMenu,KvsObject_widget) +KVSO_BEGIN_CONSTRUCTOR(KvsObject_popupMenu, KvsObject_widget) KVSO_END_CONSTRUCTOR(KvsObject_popupMenu) - KVSO_BEGIN_DESTRUCTOR(KvsObject_popupMenu) KVSO_END_DESTRUCTOR(KvsObject_popupMenu) -bool KvsObject_popupMenu::init(KviKvsRunTimeContext *,KviKvsVariantList *) +bool KvsObject_popupMenu::init(KviKvsRunTimeContext *, KviKvsVariantList *) { SET_OBJECT(QMenu) - connect(widget(),SIGNAL(triggered(QAction *)),this,SLOT(slottriggered(QAction *))); - connect(widget(),SIGNAL(destroyed(QObject *)),this,SLOT(aboutToDie(QObject *))); - connect(widget(),SIGNAL(hovered(QAction *)),this,SLOT(slothovered(QAction *))); + connect(widget(), SIGNAL(triggered(QAction *)), this, SLOT(slottriggered(QAction *))); + connect(widget(), SIGNAL(destroyed(QObject *)), this, SLOT(aboutToDie(QObject *))); + connect(widget(), SIGNAL(hovered(QAction *)), this, SLOT(slothovered(QAction *))); return true; } -KVSO_CLASS_FUNCTION(popupMenu,insertItem) +KVSO_CLASS_FUNCTION(popupMenu, insertItem) { CHECK_INTERNAL_POINTER(widget()) - QString szItem,szIcon; + QString szItem, szIcon; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("text",KVS_PT_STRING,0,szItem) - KVSO_PARAMETER("icon_id",KVS_PT_STRING,KVS_PF_OPTIONAL,szIcon) + KVSO_PARAMETER("text", KVS_PT_STRING, 0, szItem) + KVSO_PARAMETER("icon_id", KVS_PT_STRING, KVS_PF_OPTIONAL, szIcon) KVSO_PARAMETERS_END(c) - QPixmap *pix = 0; + QPixmap * pix = 0; QAction * pAction = 0; if(!szIcon.isEmpty()) { pix = g_pIconManager->getImage(szIcon); - if (pix) pAction=((QMenu *)widget())->addAction(*pix,szItem); - else c->warning(__tr2qs_ctx("Icon '%Q' doesn't exist","objects"),&szIcon); + if(pix) + pAction = ((QMenu *)widget())->addAction(*pix, szItem); + else + c->warning(__tr2qs_ctx("Icon '%Q' doesn't exist", "objects"), &szIcon); } else - pAction=((QMenu *)widget())->addAction(szItem); - int identifier=addActionToDict(pAction); + pAction = ((QMenu *)widget())->addAction(szItem); + int identifier = addActionToDict(pAction); c->returnValue()->setInteger((kvs_int_t)identifier); return true; } -KVSO_CLASS_FUNCTION(popupMenu,setTitle) +KVSO_CLASS_FUNCTION(popupMenu, setTitle) { QString szTitle; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("title",KVS_PT_STRING,0,szTitle) + KVSO_PARAMETER("title", KVS_PT_STRING, 0, szTitle) KVSO_PARAMETERS_END(c) - if(!widget())return true; + if(!widget()) + return true; ((QMenu *)widget())->setTitle(szTitle); return true; } -KVSO_CLASS_FUNCTION(popupMenu,exec) +KVSO_CLASS_FUNCTION(popupMenu, exec) { CHECK_INTERNAL_POINTER(widget()) if(!c->params()->count()) @@ -273,73 +271,73 @@ KVSO_CLASS_FUNCTION(popupMenu,exec) return true; } - KviKvsObject *pObject; - kvs_uint_t iX,iY; - QString szLabel,szIcon; + KviKvsObject * pObject; + kvs_uint_t iX, iY; + QString szLabel, szIcon; kvs_hobject_t hObject; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("widget",KVS_PT_HOBJECT,0,hObject) - KVSO_PARAMETER("x",KVS_PT_UNSIGNEDINTEGER,0,iX) - KVSO_PARAMETER("y",KVS_PT_UNSIGNEDINTEGER,0,iY) + KVSO_PARAMETER("widget", KVS_PT_HOBJECT, 0, hObject) + KVSO_PARAMETER("x", KVS_PT_UNSIGNEDINTEGER, 0, iX) + KVSO_PARAMETER("y", KVS_PT_UNSIGNEDINTEGER, 0, iY) KVSO_PARAMETERS_END(c) - pObject=KviKvsKernel::instance()->objectController()->lookupObject(hObject); + pObject = KviKvsKernel::instance()->objectController()->lookupObject(hObject); CHECK_HOBJECT_IS_WIDGET(pObject) - ((QMenu *)widget())->exec(((QWidget *)(pObject->object()))->mapToGlobal(QPoint(iX,iY)) ); + ((QMenu *)widget())->exec(((QWidget *)(pObject->object()))->mapToGlobal(QPoint(iX, iY))); return true; } - - -KVSO_CLASS_FUNCTION(popupMenu,addMenu) +KVSO_CLASS_FUNCTION(popupMenu, addMenu) { CHECK_INTERNAL_POINTER(widget()) - KviKvsObject *pObject; + KviKvsObject * pObject; kvs_uint_t iIdx; kvs_hobject_t hObject; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("popupmenu",KVS_PT_HOBJECT,0,hObject) - KVSO_PARAMETER("index",KVS_PT_UNSIGNEDINTEGER,KVS_PF_OPTIONAL,iIdx) + KVSO_PARAMETER("popupmenu", KVS_PT_HOBJECT, 0, hObject) + KVSO_PARAMETER("index", KVS_PT_UNSIGNEDINTEGER, KVS_PF_OPTIONAL, iIdx) KVSO_PARAMETERS_END(c) - pObject=KviKvsKernel::instance()->objectController()->lookupObject(hObject); - if (!pObject) + pObject = KviKvsKernel::instance()->objectController()->lookupObject(hObject); + if(!pObject) { - c->warning(__tr2qs_ctx("Popup menu parameter is not an object","objects")); + c->warning(__tr2qs_ctx("Popup menu parameter is not an object", "objects")); return true; } - if (!pObject->object()) + if(!pObject->object()) { - c->warning(__tr2qs_ctx("Popup menu parameter is not a valid object","objects")); + c->warning(__tr2qs_ctx("Popup menu parameter is not a valid object", "objects")); return true; } if(!pObject->inheritsClass("popupmenu")) { - c->warning(__tr2qs_ctx("Popupmenu object required","objects")); + c->warning(__tr2qs_ctx("Popupmenu object required", "objects")); return true; } - QAction *pAction; + QAction * pAction; if(iIdx) { - QAction *pActionBefore=actionsDict[iIdx]; - pAction=((QMenu *)widget())->insertMenu(pActionBefore,(QMenu*)pObject->object()); - } else { - pAction=((QMenu *)widget())->addMenu((QMenu*)pObject->object()); + QAction * pActionBefore = actionsDict[iIdx]; + pAction = ((QMenu *)widget())->insertMenu(pActionBefore, (QMenu *)pObject->object()); + } + else + { + pAction = ((QMenu *)widget())->addMenu((QMenu *)pObject->object()); } - int identifier=addActionToDict(pAction); + int identifier = addActionToDict(pAction); c->returnValue()->setInteger((kvs_int_t)identifier); identifier++; return true; } -KVSO_CLASS_FUNCTION(popupMenu,removeItem) +KVSO_CLASS_FUNCTION(popupMenu, removeItem) { CHECK_INTERNAL_POINTER(widget()) kvs_int_t iIdx; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("item_id",KVS_PT_INTEGER,0,iIdx) + KVSO_PARAMETER("item_id", KVS_PT_INTEGER, 0, iIdx) KVSO_PARAMETERS_END(c) - QAction * pAction=getAction(iIdx); + QAction * pAction = getAction(iIdx); if(pAction) { ((QMenu *)widget())->removeAction(pAction); @@ -348,29 +346,29 @@ KVSO_CLASS_FUNCTION(popupMenu,removeItem) return true; } -KVSO_CLASS_FUNCTION(popupMenu,insertSeparator) +KVSO_CLASS_FUNCTION(popupMenu, insertSeparator) { CHECK_INTERNAL_POINTER(widget()) kvs_uint_t iIndex; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("index",KVS_PT_UNSIGNEDINTEGER,0,iIndex) + KVSO_PARAMETER("index", KVS_PT_UNSIGNEDINTEGER, 0, iIndex) KVSO_PARAMETERS_END(c) - QAction * pAction=getAction(iIndex); + QAction * pAction = getAction(iIndex); if(pAction) - ((QMenu *)widget())->insertSeparator(pAction); + ((QMenu *)widget())->insertSeparator(pAction); return true; } -void KvsObject_popupMenu::slothovered(QAction *a) +void KvsObject_popupMenu::slothovered(QAction * a) { QHashIterator i(actionsDict); - bool bFound=false; - while (i.hasNext()) + bool bFound = false; + while(i.hasNext()) { i.next(); - if (i.value()== a) + if(i.value() == a) { - bFound=true; + bFound = true; break; } } @@ -379,30 +377,30 @@ void KvsObject_popupMenu::slothovered(QAction *a) if(bFound) { KviKvsVariantList params(new KviKvsVariant((kvs_int_t)i.key())); - callFunction(this,"highlightedEvent",¶ms); + callFunction(this, "highlightedEvent", ¶ms); } } -void KvsObject_popupMenu::aboutToDie(QObject *pObject) +void KvsObject_popupMenu::aboutToDie(QObject * pObject) { qDebug("Removing popup from kvs dict"); removeMenuAllActions((QMenu *)pObject); } -KVSO_CLASS_FUNCTION(popupMenu,highlightedEvent) +KVSO_CLASS_FUNCTION(popupMenu, highlightedEvent) { - emitSignal("highlighted",c,c->params()); + emitSignal("highlighted", c, c->params()); return true; } -void KvsObject_popupMenu::slottriggered(QAction *a) +void KvsObject_popupMenu::slottriggered(QAction * a) { QHashIterator i(actionsDict); - bool bFound=false; - while (i.hasNext()) + bool bFound = false; + while(i.hasNext()) { i.next(); - if (i.value()== a) + if(i.value() == a) { - bFound=true; + bFound = true; break; } } @@ -411,12 +409,12 @@ void KvsObject_popupMenu::slottriggered(QAction *a) if(bFound) { KviKvsVariantList params(new KviKvsVariant((kvs_int_t)i.key())); - callFunction(this,"activatedEvent",¶ms); + callFunction(this, "activatedEvent", ¶ms); } } -KVSO_CLASS_FUNCTION(popupMenu,activatedEvent) +KVSO_CLASS_FUNCTION(popupMenu, activatedEvent) { - emitSignal("activated",c,c->params()); + emitSignal("activated", c, c->params()); return true; } diff --git a/src/modules/objects/KvsObject_popupMenu.h b/src/modules/objects/KvsObject_popupMenu.h index 799f8f9ce..67624bf72 100644 --- a/src/modules/objects/KvsObject_popupMenu.h +++ b/src/modules/objects/KvsObject_popupMenu.h @@ -25,15 +25,11 @@ // //============================================================================= - #include "KvsObject_widget.h" #include "object_macros.h" #include #include - - - class KvsObject_popupMenu : public KvsObject_widget { Q_OBJECT @@ -42,17 +38,17 @@ public: public: QWidget * widget() { return (QWidget *)object(); }; protected: - virtual bool init(KviKvsRunTimeContext * pContext,KviKvsVariantList *pParams); - - bool insertItem(KviKvsObjectFunctionCall *c); - bool setTitle(KviKvsObjectFunctionCall *c); - bool addMenu(KviKvsObjectFunctionCall *c); - bool exec(KviKvsObjectFunctionCall *c); - bool removeItem(KviKvsObjectFunctionCall *c); - bool removeItemAt(KviKvsObjectFunctionCall *c); - bool insertSeparator(KviKvsObjectFunctionCall *c); - bool activatedEvent(KviKvsObjectFunctionCall *c); - bool highlightedEvent(KviKvsObjectFunctionCall *c); + virtual bool init(KviKvsRunTimeContext * pContext, KviKvsVariantList * pParams); + + bool insertItem(KviKvsObjectFunctionCall * c); + bool setTitle(KviKvsObjectFunctionCall * c); + bool addMenu(KviKvsObjectFunctionCall * c); + bool exec(KviKvsObjectFunctionCall * c); + bool removeItem(KviKvsObjectFunctionCall * c); + bool removeItemAt(KviKvsObjectFunctionCall * c); + bool insertSeparator(KviKvsObjectFunctionCall * c); + bool activatedEvent(KviKvsObjectFunctionCall * c); + bool highlightedEvent(KviKvsObjectFunctionCall * c); protected slots: void slottriggered(QAction *); @@ -60,4 +56,4 @@ protected slots: void aboutToDie(QObject *); }; -#endif // !_CLASS_POPUPMENU_H_ +#endif // !_CLASS_POPUPMENU_H_ diff --git a/src/modules/objects/KvsObject_process.cpp b/src/modules/objects/KvsObject_process.cpp index d58ec3f64..73a8ed92a 100644 --- a/src/modules/objects/KvsObject_process.cpp +++ b/src/modules/objects/KvsObject_process.cpp @@ -162,56 +162,53 @@ This signal is emitted by the default implementation of [classfnc]$readyReadStderrEvent[/classfnc](). */ -KVSO_BEGIN_REGISTERCLASS(KvsObject_process,"process","object") +KVSO_BEGIN_REGISTERCLASS(KvsObject_process, "process", "object") - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_process,addArgument); - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_process,startProcess); - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_process,readStdout); - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_process,readStderr); - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_process,writeToStdin); - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_process,closekill); - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_process,kill); - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_process,tryTerminate); - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_process,closeStdin); - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_process,isRunning); - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_process,normalExit); +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_process, addArgument); +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_process, startProcess); +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_process, readStdout); +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_process, readStderr); +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_process, writeToStdin); +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_process, closekill); +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_process, kill); +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_process, tryTerminate); +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_process, closeStdin); +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_process, isRunning); +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_process, normalExit); - // Events - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_process,readyReadStdoutEvent); - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_process,readyReadStderrEvent); +// Events +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_process, readyReadStdoutEvent); +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_process, readyReadStderrEvent); - KVSO_END_REGISTERCLASS(KvsObject_process) +KVSO_END_REGISTERCLASS(KvsObject_process) +KVSO_BEGIN_CONSTRUCTOR(KvsObject_process, KviKvsObject) -KVSO_BEGIN_CONSTRUCTOR(KvsObject_process,KviKvsObject) - - m_pProcess = new QProcess(); - connect(m_pProcess,SIGNAL(readyReadStandardOutput()),this,SLOT(slotReadStdout())); - connect(m_pProcess,SIGNAL(readyReadStandardError()),this,SLOT(slotReadStderr())); +m_pProcess = new QProcess(); +connect(m_pProcess, SIGNAL(readyReadStandardOutput()), this, SLOT(slotReadStdout())); +connect(m_pProcess, SIGNAL(readyReadStandardError()), this, SLOT(slotReadStderr())); KVSO_END_CONSTRUCTOR(KvsObject_process) KVSO_BEGIN_DESTRUCTOR(KvsObject_process) - delete m_pProcess; +delete m_pProcess; KVSO_END_CONSTRUCTOR(KvsObject_process) - - -KVSO_CLASS_FUNCTION(process,addArgument) +KVSO_CLASS_FUNCTION(process, addArgument) { QString szArgument; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("argument",KVS_PT_NONEMPTYSTRING,0,szArgument) + KVSO_PARAMETER("argument", KVS_PT_NONEMPTYSTRING, 0, szArgument) KVSO_PARAMETERS_END(c) m_szArgs.append(szArgument); return true; } //->Start the process. -KVSO_CLASS_FUNCTION(process,startProcess) +KVSO_CLASS_FUNCTION(process, startProcess) { CHECK_INTERNAL_POINTER(m_pProcess) QString szcmd; @@ -219,14 +216,14 @@ KVSO_CLASS_FUNCTION(process,startProcess) szcmd = m_szArgs.takeFirst(); m_pProcess->start(szcmd, m_szArgs); - if(m_pProcess->state()==QProcess::NotRunning) + if(m_pProcess->state() == QProcess::NotRunning) { - c->warning( __tr2qs_ctx("Process could not be started.","objects")); + c->warning(__tr2qs_ctx("Process could not be started.", "objects")); } return true; } //-->Read the standard output. -KVSO_CLASS_FUNCTION(process,readStderr) +KVSO_CLASS_FUNCTION(process, readStderr) { CHECK_INTERNAL_POINTER(m_pProcess) QString ng_Process = m_pProcess->readAllStandardError(); @@ -235,87 +232,88 @@ KVSO_CLASS_FUNCTION(process,readStderr) } //-->Read the standard error. -KVSO_CLASS_FUNCTION(process,readStdout) +KVSO_CLASS_FUNCTION(process, readStdout) { CHECK_INTERNAL_POINTER(m_pProcess) - QString ng_Process =m_pProcess->readAllStandardOutput(); + QString ng_Process = m_pProcess->readAllStandardOutput(); c->returnValue()->setString(ng_Process); return true; } //-->Signals and slot to manage reading output and error from the process. -KVSO_CLASS_FUNCTION(process,readyReadStdoutEvent) +KVSO_CLASS_FUNCTION(process, readyReadStdoutEvent) { - emitSignal("readyReadStdout",c); + emitSignal("readyReadStdout", c); return true; } -KVSO_CLASS_FUNCTION(process,readyReadStderrEvent) +KVSO_CLASS_FUNCTION(process, readyReadStderrEvent) { - emitSignal("readyReadStderr",c); + emitSignal("readyReadStderr", c); return true; } -KVSO_CLASS_FUNCTION(process,writeToStdin) +KVSO_CLASS_FUNCTION(process, writeToStdin) { CHECK_INTERNAL_POINTER(m_pProcess) QString szCommand; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("command",KVS_PT_STRING,0,szCommand) + KVSO_PARAMETER("command", KVS_PT_STRING, 0, szCommand) KVSO_PARAMETERS_END(c) - if (m_pProcess) m_pProcess->write(szCommand.toUtf8().data()); + if(m_pProcess) + m_pProcess->write(szCommand.toUtf8().data()); return true; } //-->The 3 Closing process functions -KVSO_CLASS_FUNCTION(process,closekill) +KVSO_CLASS_FUNCTION(process, closekill) { CHECK_INTERNAL_POINTER(m_pProcess) //I try to to terminate the process the nice way.... m_pProcess->terminate(); //If the process is still running after 5 seconds, I'll terminate the process in the hard way. - QTimer::singleShot( 5000, m_pProcess, SLOT( kill() ) ); + QTimer::singleShot(5000, m_pProcess, SLOT(kill())); return true; } -KVSO_CLASS_FUNCTION(process,kill) +KVSO_CLASS_FUNCTION(process, kill) { CHECK_INTERNAL_POINTER(m_pProcess) m_pProcess->kill(); return true; } -KVSO_CLASS_FUNCTION(process,tryTerminate) +KVSO_CLASS_FUNCTION(process, tryTerminate) { CHECK_INTERNAL_POINTER(m_pProcess) m_pProcess->terminate(); return true; } //-->Close the standard input. -KVSO_CLASS_FUNCTION(process,closeStdin) +KVSO_CLASS_FUNCTION(process, closeStdin) { CHECK_INTERNAL_POINTER(m_pProcess) m_pProcess->closeReadChannel(QProcess::StandardOutput); return true; } //->Returns if the process still runnig -KVSO_CLASS_FUNCTION(process,isRunning) +KVSO_CLASS_FUNCTION(process, isRunning) { CHECK_INTERNAL_POINTER(m_pProcess) - c->returnValue()->setBoolean(m_pProcess->state()==QProcess::Running); + c->returnValue()->setBoolean(m_pProcess->state() == QProcess::Running); return true; } //->Returns if the process exited. -KVSO_CLASS_FUNCTION(process,normalExit) +KVSO_CLASS_FUNCTION(process, normalExit) { CHECK_INTERNAL_POINTER(m_pProcess) - c->returnValue()->setBoolean(m_pProcess->state()==QProcess::NotRunning && m_pProcess->exitStatus()==QProcess::NormalExit); + c->returnValue()->setBoolean(m_pProcess->state() == QProcess::NotRunning && m_pProcess->exitStatus() == QProcess::NormalExit); return true; } void KvsObject_process::slotReadStdout() { - KviKvsVariantList *params=0; - callFunction(this,"readyReadStdoutEvent",params); + KviKvsVariantList * params = 0; + callFunction(this, "readyReadStdoutEvent", params); } void KvsObject_process::slotReadStderr() { - KviKvsVariantList *params=0; - callFunction(this,"readyReadStderrEvent",params); + KviKvsVariantList * params = 0; + callFunction(this, "readyReadStderrEvent", params); } diff --git a/src/modules/objects/KvsObject_process.h b/src/modules/objects/KvsObject_process.h index 0124c6e4c..86451c2a8 100644 --- a/src/modules/objects/KvsObject_process.h +++ b/src/modules/objects/KvsObject_process.h @@ -25,15 +25,12 @@ // //============================================================================= - #include #include "KvsObject_widget.h" - #include "object_macros.h" #include "QProcess" - class KvsObject_process : public KviKvsObject { Q_OBJECT @@ -41,29 +38,29 @@ public: KVSO_DECLARE_OBJECT(KvsObject_process) protected: QProcess * m_pProcess; + private: - QStringList m_szArgs; -public: + QStringList m_szArgs; - bool addArgument(KviKvsObjectFunctionCall *c); - bool startProcess(KviKvsObjectFunctionCall *c); - bool readStdout(KviKvsObjectFunctionCall *c); - bool readStderr(KviKvsObjectFunctionCall *c); - bool writeToStdin(KviKvsObjectFunctionCall *c); - bool closekill(KviKvsObjectFunctionCall *c); - bool closeStdin(KviKvsObjectFunctionCall *c); - bool kill(KviKvsObjectFunctionCall *c); - bool tryTerminate(KviKvsObjectFunctionCall *c); - bool normalExit(KviKvsObjectFunctionCall *c); - bool isRunning(KviKvsObjectFunctionCall *c); +public: + bool addArgument(KviKvsObjectFunctionCall * c); + bool startProcess(KviKvsObjectFunctionCall * c); + bool readStdout(KviKvsObjectFunctionCall * c); + bool readStderr(KviKvsObjectFunctionCall * c); + bool writeToStdin(KviKvsObjectFunctionCall * c); + bool closekill(KviKvsObjectFunctionCall * c); + bool closeStdin(KviKvsObjectFunctionCall * c); + bool kill(KviKvsObjectFunctionCall * c); + bool tryTerminate(KviKvsObjectFunctionCall * c); + bool normalExit(KviKvsObjectFunctionCall * c); + bool isRunning(KviKvsObjectFunctionCall * c); - bool readyReadStdoutEvent(KviKvsObjectFunctionCall *c); - bool readyReadStderrEvent(KviKvsObjectFunctionCall *c); + bool readyReadStdoutEvent(KviKvsObjectFunctionCall * c); + bool readyReadStderrEvent(KviKvsObjectFunctionCall * c); protected slots: void slotReadStdout(); void slotReadStderr(); }; - -#endif // !_CLASS_PROCESS_H_ +#endif // !_CLASS_PROCESS_H_ diff --git a/src/modules/objects/KvsObject_progressBar.cpp b/src/modules/objects/KvsObject_progressBar.cpp index 43335eef3..5acf3a5a4 100644 --- a/src/modules/objects/KvsObject_progressBar.cpp +++ b/src/modules/objects/KvsObject_progressBar.cpp @@ -64,80 +64,78 @@ See also [classfnc]$setPercentageVisible[/classfnc]() */ -KVSO_BEGIN_REGISTERCLASS(KvsObject_progressBar,"progressbar","widget") - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_progressBar,setProgress) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_progressBar,setFormat) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_progressBar,setTotalSteps) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_progressBar,reset) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_progressBar,setPercentageVisible) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_progressBar,percentageVisible) +KVSO_BEGIN_REGISTERCLASS(KvsObject_progressBar, "progressbar", "widget") +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_progressBar, setProgress) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_progressBar, setFormat) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_progressBar, setTotalSteps) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_progressBar, reset) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_progressBar, setPercentageVisible) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_progressBar, percentageVisible) KVSO_END_REGISTERCLASS(KvsObject_progressBar) -KVSO_BEGIN_CONSTRUCTOR(KvsObject_progressBar,KvsObject_widget) +KVSO_BEGIN_CONSTRUCTOR(KvsObject_progressBar, KvsObject_widget) KVSO_END_CONSTRUCTOR(KvsObject_progressBar) - KVSO_BEGIN_DESTRUCTOR(KvsObject_progressBar) KVSO_END_CONSTRUCTOR(KvsObject_progressBar) -bool KvsObject_progressBar::init(KviKvsRunTimeContext *,KviKvsVariantList *) +bool KvsObject_progressBar::init(KviKvsRunTimeContext *, KviKvsVariantList *) { - SET_OBJECT (QProgressBar) + SET_OBJECT(QProgressBar) return true; } -KVSO_CLASS_FUNCTION(progressBar,setProgress) +KVSO_CLASS_FUNCTION(progressBar, setProgress) { CHECK_INTERNAL_POINTER(widget()) kvs_uint_t iValue; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("step_value",KVS_PT_UNSIGNEDINTEGER,0,iValue) + KVSO_PARAMETER("step_value", KVS_PT_UNSIGNEDINTEGER, 0, iValue) KVSO_PARAMETERS_END(c) ((QProgressBar *)widget())->setValue(iValue); return true; } -KVSO_CLASS_FUNCTION(progressBar,setTotalSteps) +KVSO_CLASS_FUNCTION(progressBar, setTotalSteps) { CHECK_INTERNAL_POINTER(widget()) kvs_uint_t iMax; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("total_steps",KVS_PT_UNSIGNEDINTEGER,0,iMax) + KVSO_PARAMETER("total_steps", KVS_PT_UNSIGNEDINTEGER, 0, iMax) KVSO_PARAMETERS_END(c) ((QProgressBar *)widget())->setMaximum(iMax); return true; } -KVSO_CLASS_FUNCTION(progressBar,reset) +KVSO_CLASS_FUNCTION(progressBar, reset) { CHECK_INTERNAL_POINTER(widget()) ((QProgressBar *)widget())->reset(); return true; } - -KVSO_CLASS_FUNCTION(progressBar,setPercentageVisible) +KVSO_CLASS_FUNCTION(progressBar, setPercentageVisible) { CHECK_INTERNAL_POINTER(widget()) bool bEnabled; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("bEnabled",KVS_PT_BOOL,0,bEnabled) + KVSO_PARAMETER("bEnabled", KVS_PT_BOOL, 0, bEnabled) KVSO_PARAMETERS_END(c) ((QProgressBar *)widget())->setTextVisible(bEnabled); return true; } -KVSO_CLASS_FUNCTION(progressBar,setFormat) +KVSO_CLASS_FUNCTION(progressBar, setFormat) { CHECK_INTERNAL_POINTER(widget()) QString szFormat; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("bEnabled",KVS_PT_STRING,0,szFormat) + KVSO_PARAMETER("bEnabled", KVS_PT_STRING, 0, szFormat) KVSO_PARAMETERS_END(c) ((QProgressBar *)widget())->setFormat(szFormat); return true; } -KVSO_CLASS_FUNCTION(progressBar,percentageVisible) +KVSO_CLASS_FUNCTION(progressBar, percentageVisible) { CHECK_INTERNAL_POINTER(widget()) c->returnValue()->setBoolean(((QProgressBar *)widget())->isTextVisible()); diff --git a/src/modules/objects/KvsObject_progressBar.h b/src/modules/objects/KvsObject_progressBar.h index c22fa1116..4a957ae20 100644 --- a/src/modules/objects/KvsObject_progressBar.h +++ b/src/modules/objects/KvsObject_progressBar.h @@ -25,7 +25,6 @@ // //============================================================================= - #include "KvsObject_widget.h" #include "object_macros.h" @@ -36,15 +35,14 @@ public: public: QWidget * widget() { return (QWidget *)object(); }; protected: - virtual bool init(KviKvsRunTimeContext * pContext,KviKvsVariantList *pParams); + virtual bool init(KviKvsRunTimeContext * pContext, KviKvsVariantList * pParams); - bool setProgress(KviKvsObjectFunctionCall *c); - bool setTotalSteps(KviKvsObjectFunctionCall *c); - bool reset(KviKvsObjectFunctionCall *c); - bool setPercentageVisible(KviKvsObjectFunctionCall *c); - bool percentageVisible(KviKvsObjectFunctionCall *c); - bool setFormat(KviKvsObjectFunctionCall *c); + bool setProgress(KviKvsObjectFunctionCall * c); + bool setTotalSteps(KviKvsObjectFunctionCall * c); + bool reset(KviKvsObjectFunctionCall * c); + bool setPercentageVisible(KviKvsObjectFunctionCall * c); + bool percentageVisible(KviKvsObjectFunctionCall * c); + bool setFormat(KviKvsObjectFunctionCall * c); }; - -#endif //!_CLASS_PROGRESSBAR_H_ +#endif //!_CLASS_PROGRESSBAR_H_ diff --git a/src/modules/objects/KvsObject_radioButton.cpp b/src/modules/objects/KvsObject_radioButton.cpp index 05d732224..123b734f0 100644 --- a/src/modules/objects/KvsObject_radioButton.cpp +++ b/src/modules/objects/KvsObject_radioButton.cpp @@ -62,77 +62,77 @@ This signal is emitted by the default implementation of [classfnc]$toggleEvent[/classfnc]().[br] */ -KVSO_BEGIN_REGISTERCLASS(KvsObject_radioButton,"radiobutton","widget") +KVSO_BEGIN_REGISTERCLASS(KvsObject_radioButton, "radiobutton", "widget") - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_radioButton,setText) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_radioButton,setChecked) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_radioButton,isChecked) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_radioButton,setImage) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_radioButton,toggleEvent) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_radioButton, setText) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_radioButton, setChecked) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_radioButton, isChecked) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_radioButton, setImage) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_radioButton, toggleEvent) KVSO_END_REGISTERCLASS(KvsObject_radioButton) -KVSO_BEGIN_CONSTRUCTOR(KvsObject_radioButton,KvsObject_widget) +KVSO_BEGIN_CONSTRUCTOR(KvsObject_radioButton, KvsObject_widget) KVSO_END_CONSTRUCTOR(KvsObject_radioButton) - KVSO_BEGIN_DESTRUCTOR(KvsObject_radioButton) KVSO_END_CONSTRUCTOR(KvsObject_radioButton) -bool KvsObject_radioButton::init(KviKvsRunTimeContext *,KviKvsVariantList *) +bool KvsObject_radioButton::init(KviKvsRunTimeContext *, KviKvsVariantList *) { SET_OBJECT(QRadioButton) - connect(widget(),SIGNAL(toggled(bool)),this,SLOT(toggled(bool))); + connect(widget(), SIGNAL(toggled(bool)), this, SLOT(toggled(bool))); return true; } -KVSO_CLASS_FUNCTION(radioButton,setText) +KVSO_CLASS_FUNCTION(radioButton, setText) { CHECK_INTERNAL_POINTER(widget()) QString szText; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("text",KVS_PT_STRING,0,szText) + KVSO_PARAMETER("text", KVS_PT_STRING, 0, szText) KVSO_PARAMETERS_END(c) ((QRadioButton *)widget())->setText(szText); return true; } -KVSO_CLASS_FUNCTION(radioButton,isChecked) +KVSO_CLASS_FUNCTION(radioButton, isChecked) { CHECK_INTERNAL_POINTER(widget()) c->returnValue()->setBoolean(((QRadioButton *)widget())->isChecked()); return true; } -KVSO_CLASS_FUNCTION(radioButton,setChecked) +KVSO_CLASS_FUNCTION(radioButton, setChecked) { CHECK_INTERNAL_POINTER(widget()) bool bChecked; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("bChecked",KVS_PT_BOOL,0,bChecked) + KVSO_PARAMETER("bChecked", KVS_PT_BOOL, 0, bChecked) KVSO_PARAMETERS_END(c) ((QRadioButton *)widget())->setChecked(bChecked); return true; } -KVSO_CLASS_FUNCTION(radioButton,setImage) +KVSO_CLASS_FUNCTION(radioButton, setImage) { CHECK_INTERNAL_POINTER(widget()) QString icon; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("icon_id",KVS_PT_STRING,0,icon) + KVSO_PARAMETER("icon_id", KVS_PT_STRING, 0, icon) KVSO_PARAMETERS_END(c) QPixmap * pix = g_pIconManager->getImage(icon); - if(pix)((QRadioButton *)widget())->setIcon(*pix); + if(pix) + ((QRadioButton *)widget())->setIcon(*pix); return true; } -KVSO_CLASS_FUNCTION(radioButton,toggleEvent) +KVSO_CLASS_FUNCTION(radioButton, toggleEvent) { - emitSignal("toggled",c,c->params()); + emitSignal("toggled", c, c->params()); return true; } void KvsObject_radioButton::toggled(bool b) { KviKvsVariantList params(new KviKvsVariant(b)); - callFunction(this,"toggleEvent",¶ms); + callFunction(this, "toggleEvent", ¶ms); } diff --git a/src/modules/objects/KvsObject_radioButton.h b/src/modules/objects/KvsObject_radioButton.h index 96c65d8b3..b57cd3801 100644 --- a/src/modules/objects/KvsObject_radioButton.h +++ b/src/modules/objects/KvsObject_radioButton.h @@ -36,16 +36,15 @@ public: public: QWidget * widget() { return (QWidget *)object(); }; protected: - virtual bool init(KviKvsRunTimeContext * pContext,KviKvsVariantList *pParams); + virtual bool init(KviKvsRunTimeContext * pContext, KviKvsVariantList * pParams); - bool setText(KviKvsObjectFunctionCall *c); - bool isChecked(KviKvsObjectFunctionCall *c); - bool setChecked(KviKvsObjectFunctionCall *c); - bool setImage(KviKvsObjectFunctionCall *c); - bool toggleEvent(KviKvsObjectFunctionCall *c); + bool setText(KviKvsObjectFunctionCall * c); + bool isChecked(KviKvsObjectFunctionCall * c); + bool setChecked(KviKvsObjectFunctionCall * c); + bool setImage(KviKvsObjectFunctionCall * c); + bool toggleEvent(KviKvsObjectFunctionCall * c); protected slots: void toggled(bool b); - }; -#endif //!_CLASS_RADIOBUTTON_H_ +#endif //!_CLASS_RADIOBUTTON_H_ diff --git a/src/modules/objects/KvsObject_slider.cpp b/src/modules/objects/KvsObject_slider.cpp index 3eac95140..73b71937e 100644 --- a/src/modules/objects/KvsObject_slider.cpp +++ b/src/modules/objects/KvsObject_slider.cpp @@ -98,196 +98,194 @@ If you reimplement that function you will have to emit the signal manually (if you still need it). */ -KVSO_BEGIN_REGISTERCLASS(KvsObject_slider,"slider","widget") +KVSO_BEGIN_REGISTERCLASS(KvsObject_slider, "slider", "widget") +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_slider, setTracking); +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_slider, setValue); +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_slider, setMinValue); +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_slider, setMaxValue); +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_slider, setLineStep); +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_slider, setPageStep); +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_slider, setTickInterval); +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_slider, value); +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_slider, minValue); +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_slider, maxValue); +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_slider, lineStep); +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_slider, pageStep); +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_slider, setTickmarks); +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_slider, setOrientation); - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_slider,setTracking); - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_slider,setValue); - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_slider,setMinValue); - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_slider,setMaxValue); - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_slider,setLineStep); - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_slider,setPageStep); - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_slider,setTickInterval); - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_slider,value); - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_slider,minValue); - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_slider,maxValue); - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_slider,lineStep); - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_slider,pageStep); - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_slider,setTickmarks); - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_slider,setOrientation); - - - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_slider,valueChangedEvent); +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_slider, valueChangedEvent); KVSO_END_REGISTERCLASS(KvsObject_slider) -KVSO_BEGIN_CONSTRUCTOR(KvsObject_slider,KvsObject_widget) +KVSO_BEGIN_CONSTRUCTOR(KvsObject_slider, KvsObject_widget) KVSO_END_CONSTRUCTOR(KvsObject_slider) - KVSO_BEGIN_DESTRUCTOR(KvsObject_slider) KVSO_END_CONSTRUCTOR(KvsObject_slider) -bool KvsObject_slider::init(KviKvsRunTimeContext *,KviKvsVariantList *) +bool KvsObject_slider::init(KviKvsRunTimeContext *, KviKvsVariantList *) { SET_OBJECT(QSlider) - connect(widget(),SIGNAL(valueChanged(int)),this,SLOT(valueChanged(int))); + connect(widget(), SIGNAL(valueChanged(int)), this, SLOT(valueChanged(int))); return true; } -KVSO_CLASS_FUNCTION(slider,setTracking) +KVSO_CLASS_FUNCTION(slider, setTracking) { CHECK_INTERNAL_POINTER(widget()) bool bEnabled; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("bEnabled",KVS_PT_BOOL,0,bEnabled) + KVSO_PARAMETER("bEnabled", KVS_PT_BOOL, 0, bEnabled) KVSO_PARAMETERS_END(c) ((QSlider *)widget())->setTracking(bEnabled); return true; } - -KVSO_CLASS_FUNCTION(slider,setValue) +KVSO_CLASS_FUNCTION(slider, setValue) { CHECK_INTERNAL_POINTER(widget()) kvs_int_t iValue; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("value",KVS_PT_INT,0,iValue) + KVSO_PARAMETER("value", KVS_PT_INT, 0, iValue) KVSO_PARAMETERS_END(c) ((QSlider *)widget())->setValue(iValue); return true; } -KVSO_CLASS_FUNCTION(slider,setMinValue) +KVSO_CLASS_FUNCTION(slider, setMinValue) { CHECK_INTERNAL_POINTER(widget()) kvs_int_t iMinvalue; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("minimum_value",KVS_PT_INT,0,iMinvalue) + KVSO_PARAMETER("minimum_value", KVS_PT_INT, 0, iMinvalue) KVSO_PARAMETERS_END(c) ((QSlider *)widget())->setMinimum(iMinvalue); return true; } -KVSO_CLASS_FUNCTION(slider,setMaxValue) +KVSO_CLASS_FUNCTION(slider, setMaxValue) { CHECK_INTERNAL_POINTER(widget()) kvs_int_t iMaxvalue; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("max_value",KVS_PT_INT,0,iMaxvalue) + KVSO_PARAMETER("max_value", KVS_PT_INT, 0, iMaxvalue) KVSO_PARAMETERS_END(c) ((QSlider *)widget())->setMaximum(iMaxvalue); return true; } -KVSO_CLASS_FUNCTION(slider,setLineStep) +KVSO_CLASS_FUNCTION(slider, setLineStep) { CHECK_INTERNAL_POINTER(widget()) kvs_int_t iLinestep; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("line_step",KVS_PT_INT,0,iLinestep) + KVSO_PARAMETER("line_step", KVS_PT_INT, 0, iLinestep) KVSO_PARAMETERS_END(c) ((QSlider *)widget())->setSingleStep(iLinestep); return true; } -KVSO_CLASS_FUNCTION(slider,setPageStep) +KVSO_CLASS_FUNCTION(slider, setPageStep) { CHECK_INTERNAL_POINTER(widget()) kvs_int_t iPagestep; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("page_step",KVS_PT_INT,0,iPagestep) + KVSO_PARAMETER("page_step", KVS_PT_INT, 0, iPagestep) KVSO_PARAMETERS_END(c) - if (widget()) ((QSlider *)widget())->setPageStep(iPagestep); + if(widget()) + ((QSlider *)widget())->setPageStep(iPagestep); return true; } -KVSO_CLASS_FUNCTION(slider,setTickInterval) +KVSO_CLASS_FUNCTION(slider, setTickInterval) { kvs_int_t iInterval; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("tick_interval",KVS_PT_INT,0,iInterval) + KVSO_PARAMETER("tick_interval", KVS_PT_INT, 0, iInterval) KVSO_PARAMETERS_END(c) ((QSlider *)widget())->setTickInterval(iInterval); return true; } -KVSO_CLASS_FUNCTION(slider,value) +KVSO_CLASS_FUNCTION(slider, value) { CHECK_INTERNAL_POINTER(widget()) c->returnValue()->setInteger(((QSlider *)widget())->value()); return true; } -KVSO_CLASS_FUNCTION(slider,minValue) +KVSO_CLASS_FUNCTION(slider, minValue) { CHECK_INTERNAL_POINTER(widget()) c->returnValue()->setInteger(((QSlider *)widget())->minimum()); return true; } -KVSO_CLASS_FUNCTION(slider,maxValue) +KVSO_CLASS_FUNCTION(slider, maxValue) { CHECK_INTERNAL_POINTER(widget()) c->returnValue()->setInteger(((QSlider *)widget())->maximum()); return true; } -KVSO_CLASS_FUNCTION(slider,lineStep) +KVSO_CLASS_FUNCTION(slider, lineStep) { CHECK_INTERNAL_POINTER(widget()) c->returnValue()->setInteger(((QSlider *)widget())->singleStep()); return true; } -KVSO_CLASS_FUNCTION(slider,pageStep) +KVSO_CLASS_FUNCTION(slider, pageStep) { CHECK_INTERNAL_POINTER(widget()) c->returnValue()->setInteger(((QSlider *)widget())->pageStep()); return true; } - -KVSO_CLASS_FUNCTION(slider,setTickmarks) +KVSO_CLASS_FUNCTION(slider, setTickmarks) { CHECK_INTERNAL_POINTER(widget()) QString szTick; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("tick_marks",KVS_PT_STRING,0,szTick) + KVSO_PARAMETER("tick_marks", KVS_PT_STRING, 0, szTick) KVSO_PARAMETERS_END(c) - if(KviQString::equalCI(szTick,"NoMarks")) + if(KviQString::equalCI(szTick, "NoMarks")) ((QSlider *)widget())->setTickPosition(QSlider::NoTicks); - else if(KviQString::equalCI(szTick,"Both")) + else if(KviQString::equalCI(szTick, "Both")) ((QSlider *)widget())->setTickPosition(QSlider::TicksBothSides); - else if(KviQString::equalCI(szTick,"Above")) + else if(KviQString::equalCI(szTick, "Above")) ((QSlider *)widget())->setTickPosition(QSlider::TicksAbove); - else if(KviQString::equalCI(szTick,"Below")) + else if(KviQString::equalCI(szTick, "Below")) ((QSlider *)widget())->setTickPosition(QSlider::TicksBelow); - else if(KviQString::equalCI(szTick,"Left")) + else if(KviQString::equalCI(szTick, "Left")) ((QSlider *)widget())->setTickPosition(QSlider::TicksLeft); - else if(KviQString::equalCI(szTick,"Right")) - ((QSlider *)widget())->setTickPosition(QSlider::TicksRight); - else c->warning( __tr2qs_ctx("Unknown tickmark '%Q'","objects"),&szTick); + else if(KviQString::equalCI(szTick, "Right")) + ((QSlider *)widget())->setTickPosition(QSlider::TicksRight); + else + c->warning(__tr2qs_ctx("Unknown tickmark '%Q'", "objects"), &szTick); return true; } -KVSO_CLASS_FUNCTION(slider,setOrientation) +KVSO_CLASS_FUNCTION(slider, setOrientation) { CHECK_INTERNAL_POINTER(widget()) QString szOrientation; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("orientation",KVS_PT_STRING,0,szOrientation) + KVSO_PARAMETER("orientation", KVS_PT_STRING, 0, szOrientation) KVSO_PARAMETERS_END(c) - if(KviQString::equalCI(szOrientation,"Horizontal")) + if(KviQString::equalCI(szOrientation, "Horizontal")) ((QSlider *)widget())->setOrientation(Qt::Horizontal); - else if(KviQString::equalCI(szOrientation,"Vertical")) + else if(KviQString::equalCI(szOrientation, "Vertical")) ((QSlider *)widget())->setOrientation(Qt::Vertical); - else c->warning( __tr2qs_ctx("Unknown orientation '%Q'","objects"),&szOrientation); + else + c->warning(__tr2qs_ctx("Unknown orientation '%Q'", "objects"), &szOrientation); return true; } -KVSO_CLASS_FUNCTION(slider,valueChangedEvent) +KVSO_CLASS_FUNCTION(slider, valueChangedEvent) { - emitSignal("valueChanged",c,c->params()); + emitSignal("valueChanged", c, c->params()); return true; } void KvsObject_slider::valueChanged(int value) { KviKvsVariantList params(new KviKvsVariant((kvs_int_t)value)); - callFunction(this,"valueChangedEvent",¶ms); + callFunction(this, "valueChangedEvent", ¶ms); } diff --git a/src/modules/objects/KvsObject_slider.h b/src/modules/objects/KvsObject_slider.h index 5b91589b3..953add8a9 100644 --- a/src/modules/objects/KvsObject_slider.h +++ b/src/modules/objects/KvsObject_slider.h @@ -36,28 +36,26 @@ public: public: QWidget * widget() { return (QWidget *)object(); }; protected: - virtual bool init(KviKvsRunTimeContext * pContext,KviKvsVariantList *pParams); + virtual bool init(KviKvsRunTimeContext * pContext, KviKvsVariantList * pParams); - bool setTracking(KviKvsObjectFunctionCall *c); - bool setValue(KviKvsObjectFunctionCall *c); - bool setMinValue(KviKvsObjectFunctionCall *c); - bool setMaxValue(KviKvsObjectFunctionCall *c); - bool setLineStep(KviKvsObjectFunctionCall *c); - bool setPageStep(KviKvsObjectFunctionCall *c); - bool setTickInterval(KviKvsObjectFunctionCall *c); - bool value(KviKvsObjectFunctionCall *c); - bool minValue(KviKvsObjectFunctionCall *c); - bool maxValue(KviKvsObjectFunctionCall *c); - bool lineStep(KviKvsObjectFunctionCall *c); - bool pageStep(KviKvsObjectFunctionCall *c); - bool setTickmarks(KviKvsObjectFunctionCall *c); - bool setOrientation(KviKvsObjectFunctionCall *c); - bool valueChangedEvent(KviKvsObjectFunctionCall *c); + bool setTracking(KviKvsObjectFunctionCall * c); + bool setValue(KviKvsObjectFunctionCall * c); + bool setMinValue(KviKvsObjectFunctionCall * c); + bool setMaxValue(KviKvsObjectFunctionCall * c); + bool setLineStep(KviKvsObjectFunctionCall * c); + bool setPageStep(KviKvsObjectFunctionCall * c); + bool setTickInterval(KviKvsObjectFunctionCall * c); + bool value(KviKvsObjectFunctionCall * c); + bool minValue(KviKvsObjectFunctionCall * c); + bool maxValue(KviKvsObjectFunctionCall * c); + bool lineStep(KviKvsObjectFunctionCall * c); + bool pageStep(KviKvsObjectFunctionCall * c); + bool setTickmarks(KviKvsObjectFunctionCall * c); + bool setOrientation(KviKvsObjectFunctionCall * c); + bool valueChangedEvent(KviKvsObjectFunctionCall * c); protected slots: void valueChanged(int); }; - - -#endif // !_CLASS_SLIDER_H_ +#endif // !_CLASS_SLIDER_H_ diff --git a/src/modules/objects/KvsObject_socket.cpp b/src/modules/objects/KvsObject_socket.cpp index d1d2f5fc5..0d386d3cb 100644 --- a/src/modules/objects/KvsObject_socket.cpp +++ b/src/modules/objects/KvsObject_socket.cpp @@ -26,8 +26,6 @@ #include "KvsObject_memoryBuffer.h" #include "KvsObject_file.h" - - #include "kvi_settings.h" #include "KviQString.h" @@ -268,33 +266,33 @@ const char * const sockerrors_tbl[] = { [/example] */ -KVSO_BEGIN_REGISTERCLASS(KvsObject_socket,"socket","object") - - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_socket,status) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_socket,remotePort) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_socket,remoteIp) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_socket,localIp) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_socket,localPort) - KVSO_REGISTER_HANDLER(KvsObject_socket,"connect",functionConnect) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_socket,close) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_socket,read) - 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) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_socket,incomingConnectionEvent) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_socket,connectedEvent) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_socket,disconnectedEvent) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_socket,errorEvent) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_socket,hostFoundEvent) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_socket,stateChangedEvent) +KVSO_BEGIN_REGISTERCLASS(KvsObject_socket, "socket", "object") + +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_socket, status) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_socket, remotePort) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_socket, remoteIp) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_socket, localIp) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_socket, localPort) +KVSO_REGISTER_HANDLER(KvsObject_socket, "connect", functionConnect) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_socket, close) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_socket, read) +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) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_socket, incomingConnectionEvent) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_socket, connectedEvent) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_socket, disconnectedEvent) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_socket, errorEvent) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_socket, hostFoundEvent) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_socket, stateChangedEvent) KVSO_END_REGISTERCLASS(KvsObject_socket) -bool KvsObject_socket::init(KviKvsRunTimeContext *c,KviKvsVariantList *) +bool KvsObject_socket::init(KviKvsRunTimeContext * c, KviKvsVariantList *) { m_pSocket = new QTcpSocket(); m_pServer = nullptr; @@ -304,101 +302,104 @@ bool KvsObject_socket::init(KviKvsRunTimeContext *c,KviKvsVariantList *) return true; } - -KVSO_BEGIN_CONSTRUCTOR(KvsObject_socket,KviKvsObject) +KVSO_BEGIN_CONSTRUCTOR(KvsObject_socket, KviKvsObject) KVSO_END_CONSTRUCTOR(KvsObject_socket) KVSO_BEGIN_DESTRUCTOR(KvsObject_socket) - if (m_pSocket && !bIsSetFromExternal) - { - m_pSocket->close(); - delete m_pSocket; - } - m_pSocket = nullptr; - if(m_pServer) - delete m_pServer; - m_pServer = nullptr; +if(m_pSocket && !bIsSetFromExternal) +{ + m_pSocket->close(); + delete m_pSocket; +} +m_pSocket = nullptr; +if(m_pServer) + delete m_pServer; +m_pServer = nullptr; KVSO_END_DESTRUCTOR(KvsObject_socket) //---------------------- - -KVSO_CLASS_FUNCTION(socket,status) +KVSO_CLASS_FUNCTION(socket, status) { c->returnValue()->setString(getStateString(m_pSocket->state())); return true; } -KVSO_CLASS_FUNCTION(socket,close) +KVSO_CLASS_FUNCTION(socket, close) { Q_UNUSED(c); m_pSocket->disconnectFromHost(); return true; } -KVSO_CLASS_FUNCTION(socket,remotePort) +KVSO_CLASS_FUNCTION(socket, remotePort) { c->returnValue()->setInteger(m_pSocket->peerPort()); return true; } -KVSO_CLASS_FUNCTION(socket,remoteIp) +KVSO_CLASS_FUNCTION(socket, remoteIp) { c->returnValue()->setString(m_pSocket->peerAddress().toString()); return true; } -KVSO_CLASS_FUNCTION(socket,localPort) +KVSO_CLASS_FUNCTION(socket, localPort) { c->returnValue()->setInteger(m_pSocket->localPort()); return true; } -KVSO_CLASS_FUNCTION(socket,bytesAvailable) +KVSO_CLASS_FUNCTION(socket, bytesAvailable) { c->returnValue()->setInteger(m_pSocket->bytesAvailable()); return true; } -KVSO_CLASS_FUNCTION(socket,localIp) +KVSO_CLASS_FUNCTION(socket, localIp) { c->returnValue()->setString(m_pSocket->localAddress().toString()); return true; } -KVSO_CLASS_FUNCTION(socket,read) +KVSO_CLASS_FUNCTION(socket, read) { kvs_int_t iLen; KviKvsObject * pObject; kvs_hobject_t hObject; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("length",KVS_PT_INTEGER,KVS_PF_OPTIONAL,iLen) - KVSO_PARAMETER("hobject",KVS_PT_HOBJECT,KVS_PF_OPTIONAL,hObject) + KVSO_PARAMETER("length", KVS_PT_INTEGER, KVS_PF_OPTIONAL, iLen) + KVSO_PARAMETER("hobject", KVS_PT_HOBJECT, KVS_PF_OPTIONAL, hObject) KVSO_PARAMETERS_END(c) - if (iLen>m_pSocket->bytesAvailable() || !iLen) iLen=m_pSocket->bytesAvailable(); - if (hObject) + if(iLen > m_pSocket->bytesAvailable() || !iLen) + iLen = m_pSocket->bytesAvailable(); + if(hObject) { - pObject=KviKvsKernel::instance()->objectController()->lookupObject(hObject); + pObject = KviKvsKernel::instance()->objectController()->lookupObject(hObject); if(!pObject) { - c->warning(__tr2qs_ctx("Buffer parameter is not an object","objects")); + c->warning(__tr2qs_ctx("Buffer parameter is not an object", "objects")); return true; } if(pObject->inheritsClass("memorybuffer")) { - QByteArray *pBuffer=((KvsObject_memoryBuffer *)pObject)->pBuffer(); - int oldsize=pBuffer->size(); - pBuffer->resize(oldsize+iLen); - m_pSocket->read(pBuffer->data()+oldsize,iLen); - } else if(pObject->inheritsClass("file")) { - KviFile *pFile=((KvsObject_file *)pObject)->file(); - if (!pFile->isOpen()) + QByteArray * pBuffer = ((KvsObject_memoryBuffer *)pObject)->pBuffer(); + int oldsize = pBuffer->size(); + pBuffer->resize(oldsize + iLen); + m_pSocket->read(pBuffer->data() + oldsize, iLen); + } + else if(pObject->inheritsClass("file")) + { + KviFile * pFile = ((KvsObject_file *)pObject)->file(); + if(!pFile->isOpen()) { - c->warning(__tr2qs_ctx("File is not open!","objects")); + c->warning(__tr2qs_ctx("File is not open!", "objects")); return true; } pFile->write(m_pSocket->read(iLen)); - } else { - c->warning(__tr2qs_ctx("Buffer parameter is not a memorybuffer object","objects")); + } + else + { + c->warning(__tr2qs_ctx("Buffer parameter is not a memorybuffer object", "objects")); return true; } return true; @@ -406,63 +407,71 @@ KVSO_CLASS_FUNCTION(socket,read) if(iLen > 0) { // convert NULLS to char 255 - char * buffer = (char*) KviMemory::allocate(iLen); - m_pSocket->read(buffer,iLen); - for(size_t i{};i < iLen;i++) + char * buffer = (char *)KviMemory::allocate(iLen); + m_pSocket->read(buffer, iLen); + for(size_t i{}; i < iLen; i++) { - if(!buffer[i]) buffer[i] = (char)(255); + if(!buffer[i]) + buffer[i] = (char)(255); } - QString tmpBuffer = QString::fromUtf8(buffer,iLen); + QString tmpBuffer = QString::fromUtf8(buffer, iLen); c->returnValue()->setString(tmpBuffer); KviMemory::free(buffer); } return true; } -KVSO_CLASS_FUNCTION(socket,write) +KVSO_CLASS_FUNCTION(socket, write) { kvs_uint_t uLen; KviKvsObject * pObject; KviKvsVariant * pVariantData; kvs_hobject_t hObject; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("data_or_file_or_memorybuffer",KVS_PT_VARIANT,0,pVariantData) - KVSO_PARAMETER("length",KVS_PT_UNSIGNEDINTEGER,KVS_PF_OPTIONAL,uLen) + KVSO_PARAMETER("data_or_file_or_memorybuffer", KVS_PT_VARIANT, 0, pVariantData) + KVSO_PARAMETER("length", KVS_PT_UNSIGNEDINTEGER, KVS_PF_OPTIONAL, uLen) KVSO_PARAMETERS_END(c) - if (pVariantData->isHObject()) + if(pVariantData->isHObject()) { pVariantData->asHObject(hObject); pObject = KviKvsKernel::instance()->objectController()->lookupObject(hObject); if(!pObject) { - c->warning(__tr2qs_ctx("Buffer parameter is not an object","objects")); + c->warning(__tr2qs_ctx("Buffer parameter is not an object", "objects")); return true; } if(pObject->inheritsClass("memorybuffer")) { - QByteArray *p=((KvsObject_memoryBuffer *)pObject)->pBuffer(); + QByteArray * p = ((KvsObject_memoryBuffer *)pObject)->pBuffer(); m_pSocket->write(*p); - } else if(pObject->inheritsClass("file")) { + } + else if(pObject->inheritsClass("file")) + { KviFile * pFile = ((KvsObject_file *)pObject)->file(); if(!pFile->isOpen()) { - c->warning(__tr2qs_ctx("File is not open!","objects")); + c->warning(__tr2qs_ctx("File is not open!", "objects")); return true; } - if(!uLen) uLen = pFile->size(); + if(!uLen) + uLen = pFile->size(); kvs_int_t size = pFile->size(); pFile->flush(); - m_pSocket->write((const char*)pFile->read(uLen).data(),uLen); - c->returnValue()->setBoolean((size-pFile->pos()==0)); - } else { - c->warning(__tr2qs_ctx("Buffer parameter is not a memorybuffer or file object","objects")); + m_pSocket->write((const char *)pFile->read(uLen).data(), uLen); + c->returnValue()->setBoolean((size - pFile->pos() == 0)); + } + else + { + c->warning(__tr2qs_ctx("Buffer parameter is not a memorybuffer or file object", "objects")); return true; } - } else { + } + else + { if(pVariantData->isArray()) { KviKvsArray * pArray = pVariantData->array(); - for(unsigned int i=0; i < pArray->size(); i++) + for(unsigned int i = 0; i < pArray->size(); i++) { KviKvsVariant * pVar = pArray->at(i); kvs_int_t iValue; @@ -472,19 +481,25 @@ KVSO_CLASS_FUNCTION(socket,write) { m_pSocket->putChar(iValue); continue; - } else { - c->warning(__tr2qs_ctx("Only values in the range of 0-255 are allowed: integer %d is out of range","objects"),iValue); + } + else + { + c->warning(__tr2qs_ctx("Only values in the range of 0-255 are allowed: integer %d is out of range", "objects"), iValue); return true; } - } else { + } + else + { if(pVar->isString()) { QString szData; pVar->asString(szData); QByteArray szData8 = szData.toUtf8(); - m_pSocket->write((const char*)szData8.data(),szData8.length()); - } else { - c->warning(__tr2qs_ctx("Datatype not supported","objects")); + m_pSocket->write((const char *)szData8.data(), szData8.length()); + } + else + { + c->warning(__tr2qs_ctx("Datatype not supported", "objects")); return true; } } @@ -498,46 +513,51 @@ KVSO_CLASS_FUNCTION(socket,write) QByteArray szData8 = szData.toUtf8(); if(szData8.length() > 0) { - qDebug("write on socket %s",szData8.data()); - kvs_int_t bytes=m_pSocket->write((const char*)szData8.data(),szData8.length()); + qDebug("write on socket %s", szData8.data()); + kvs_int_t bytes = m_pSocket->write((const char *)szData8.data(), szData8.length()); c->returnValue()->setInteger(bytes); } - } else { + } + else + { KviFile f(szData); f.open(QIODevice::ReadOnly); QByteArray ar = f.readAll(); - m_pSocket->write((const char*)ar.data(),ar.size()); + m_pSocket->write((const char *)ar.data(), ar.size()); f.close(); } } return true; } -KVSO_CLASS_FUNCTION(socket,setProtocol) +KVSO_CLASS_FUNCTION(socket, setProtocol) { QString szProto; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("protocol",KVS_PT_STRING,0,szProto) + KVSO_PARAMETER("protocol", KVS_PT_STRING, 0, szProto) KVSO_PARAMETERS_END(c) - if (m_pSocket) delete m_pSocket; - if(KviQString::equalCI(szProto,"udp")) m_pSocket = new QUdpSocket(); - else m_pSocket = new QTcpSocket(); + if(m_pSocket) + delete m_pSocket; + if(KviQString::equalCI(szProto, "udp")) + m_pSocket = new QUdpSocket(); + else + m_pSocket = new QTcpSocket(); makeConnections(); return true; } -KVSO_CLASS_FUNCTION(socket,functionConnect) +KVSO_CLASS_FUNCTION(socket, functionConnect) { kvs_uint_t uRemotePort; QString szRemoteIp; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("remote_ip",KVS_PT_STRING,0,szRemoteIp) - KVSO_PARAMETER("remote_port",KVS_PT_UNSIGNEDINTEGER,0,uRemotePort) + KVSO_PARAMETER("remote_ip", KVS_PT_STRING, 0, szRemoteIp) + KVSO_PARAMETER("remote_port", KVS_PT_UNSIGNEDINTEGER, 0, uRemotePort) KVSO_PARAMETERS_END(c) - if (uRemotePort>65535) + if(uRemotePort > 65535) { - c->warning(__tr2qs_ctx("Value %d for port is out of range (values allowed are from 0 to 65535)","objects"),uRemotePort); + c->warning(__tr2qs_ctx("Value %d for port is out of range (values allowed are from 0 to 65535)", "objects"), uRemotePort); return true; } - m_pSocket->connectToHost(szRemoteIp,uRemotePort); + m_pSocket->connectToHost(szRemoteIp, uRemotePort); c->returnValue()->setBoolean(true); return true; } @@ -554,75 +574,76 @@ KVSO_CLASS_FUNCTION(socket,functionsetReadBufferSize) } */ -KVSO_CLASS_FUNCTION(socket,listen) +KVSO_CLASS_FUNCTION(socket, listen) { kvs_uint_t uLocalPort; QString m_szLocalIp; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("local_port",KVS_PT_UNSIGNEDINTEGER,0,uLocalPort) - KVSO_PARAMETER("interface",KVS_PT_STRING,KVS_PF_OPTIONAL,m_szLocalIp) + KVSO_PARAMETER("local_port", KVS_PT_UNSIGNEDINTEGER, 0, uLocalPort) + KVSO_PARAMETER("interface", KVS_PT_STRING, KVS_PF_OPTIONAL, m_szLocalIp) KVSO_PARAMETERS_END(c) - if (uLocalPort>65535) + if(uLocalPort > 65535) { - c->warning(__tr2qs_ctx("Value %d for port is out of range (values allowed are from 0 to 65535): switch to random value","objects"),uLocalPort); - uLocalPort=0; + c->warning(__tr2qs_ctx("Value %d for port is out of range (values allowed are from 0 to 65535): switch to random value", "objects"), uLocalPort); + uLocalPort = 0; } - if(m_pServer) delete m_pServer; + if(m_pServer) + delete m_pServer; m_pServer = new QTcpServer(); QHostAddress address(m_szLocalIp); - bool bOk=m_pServer->listen(address,uLocalPort); - connect(m_pServer,SIGNAL(newConnection()),this,SLOT(slotNewConnection())); + bool bOk = m_pServer->listen(address, uLocalPort); + connect(m_pServer, SIGNAL(newConnection()), this, SLOT(slotNewConnection())); c->returnValue()->setBoolean(bOk); return true; } void KvsObject_socket::makeConnections() { - connect(m_pSocket,SIGNAL(connected()),this,SLOT(slotConnected())); - connect(m_pSocket,SIGNAL(readyRead()),this,SLOT(slotReadyRead())); - connect(m_pSocket,SIGNAL(disconnected()),this,SLOT(slotDisconnected())); - connect(m_pSocket,SIGNAL(error( QAbstractSocket::SocketError)),this,SLOT(slotError(QAbstractSocket::SocketError))); - connect(m_pSocket,SIGNAL(hostFound()),this,SLOT(slotHostFound())); - connect(m_pSocket,SIGNAL(stateChanged(QAbstractSocket::SocketState)),this,SLOT(slotStateChanged(QAbstractSocket::SocketState))); + connect(m_pSocket, SIGNAL(connected()), this, SLOT(slotConnected())); + connect(m_pSocket, SIGNAL(readyRead()), this, SLOT(slotReadyRead())); + connect(m_pSocket, SIGNAL(disconnected()), this, SLOT(slotDisconnected())); + connect(m_pSocket, SIGNAL(error(QAbstractSocket::SocketError)), this, SLOT(slotError(QAbstractSocket::SocketError))); + connect(m_pSocket, SIGNAL(hostFound()), this, SLOT(slotHostFound())); + connect(m_pSocket, SIGNAL(stateChanged(QAbstractSocket::SocketState)), this, SLOT(slotStateChanged(QAbstractSocket::SocketState))); //proxyAuthenticationRequired ( const QNetworkProxy & proxy, QAuthenticator * authenticator ) } const char * KvsObject_socket::getStateString(QAbstractSocket::SocketState state) { - int idx=0; + int idx = 0; switch(state) { case QAbstractSocket::UnconnectedState: { - idx=0; + idx = 0; break; } case QAbstractSocket::HostLookupState: { - idx=1; + idx = 1; break; } case QAbstractSocket::ConnectingState: { - idx=2; + idx = 2; break; } case QAbstractSocket::ConnectedState: { - idx=3; + idx = 3; break; } case QAbstractSocket::BoundState: { - idx=4; + idx = 4; break; } case QAbstractSocket::ListeningState: { - idx=5; + idx = 5; break; } case QAbstractSocket::ClosingState: { - idx=6; + idx = 6; break; } default: @@ -638,99 +659,100 @@ void KvsObject_socket::slotReadyRead() { KviKvsVariantList lParams; lParams.append(new KviKvsVariant((kvs_int_t)m_pSocket->bytesAvailable())); - callFunction(this,"dataAvailableEvent",&lParams); + callFunction(this, "dataAvailableEvent", &lParams); } void KvsObject_socket::slotConnected() { - KviKvsVariantList *lParams=0; - callFunction(this,"connectedEvent",lParams); + KviKvsVariantList * lParams = 0; + callFunction(this, "connectedEvent", lParams); } void KvsObject_socket::slotDisconnected() { - KviKvsVariantList *lParams=0; - callFunction(this,"disconnectedEvent",lParams); + KviKvsVariantList * lParams = 0; + callFunction(this, "disconnectedEvent", lParams); } -void KvsObject_socket::slotError( QAbstractSocket::SocketError socketError ) +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() { - KviKvsVariantList *lParams=0; - callFunction(this,"hostFoundEvent",lParams); + KviKvsVariantList * lParams = 0; + callFunction(this, "hostFoundEvent", lParams); } -void KvsObject_socket::slotStateChanged( QAbstractSocket::SocketState socketState ) +void KvsObject_socket::slotStateChanged(QAbstractSocket::SocketState socketState) { KviKvsVariantList lParams; QString szState = getStateString(socketState); lParams.append(new KviKvsVariant(szState)); - callFunction(this,"stateChangedEvent",&lParams); + callFunction(this, "stateChangedEvent", &lParams); } void KvsObject_socket::slotNewConnection() { - QTcpSocket *pSocket = m_pServer->nextPendingConnection(); + QTcpSocket * pSocket = m_pServer->nextPendingConnection(); KviKvsObjectClass * pClass = KviKvsKernel::instance()->objectController()->lookupClass("socket"); KviKvsVariantList lParams; - KviKvsObject * pObject = pClass->allocateInstance(this,"internalsocket",m_pContext,&lParams); + KviKvsObject * pObject = pClass->allocateInstance(this, "internalsocket", m_pContext, &lParams); ((KvsObject_socket *)pObject)->setInternalSocket(pSocket); - kvs_hobject_t hobj=pObject->handle(); + kvs_hobject_t hobj = pObject->handle(); KviKvsVariantList params(new KviKvsVariant(hobj)); - bool ret=false; + bool ret = false; KviKvsVariant retv(ret); - callFunction(this,"incomingConnectionEvent",&retv,¶ms); - ret=retv.asBoolean(); - if (ret) + callFunction(this, "incomingConnectionEvent", &retv, ¶ms); + ret = retv.asBoolean(); + if(ret) { - pObject=KviKvsKernel::instance()->objectController()->lookupObject(hobj); - if (pObject) pObject->dieNow(); + pObject = KviKvsKernel::instance()->objectController()->lookupObject(hobj); + if(pObject) + pObject->dieNow(); } } -KVSO_CLASS_FUNCTION(socket,incomingConnectionEvent) +KVSO_CLASS_FUNCTION(socket, incomingConnectionEvent) { - emitSignal("incomingConnection",c,c->params()); + emitSignal("incomingConnection", c, c->params()); return true; } -KVSO_CLASS_FUNCTION(socket,dataAvailableEvent) +KVSO_CLASS_FUNCTION(socket, dataAvailableEvent) { - emitSignal("dataAvailable",c,c->params()); + emitSignal("dataAvailable", c, c->params()); return true; } -KVSO_CLASS_FUNCTION(socket,connectedEvent) +KVSO_CLASS_FUNCTION(socket, connectedEvent) { - emitSignal("connected",c,c->params()); + emitSignal("connected", c, c->params()); return true; } -KVSO_CLASS_FUNCTION(socket,disconnectedEvent) +KVSO_CLASS_FUNCTION(socket, disconnectedEvent) { - emitSignal("disconnected",c,c->params()); + emitSignal("disconnected", c, c->params()); return true; } -KVSO_CLASS_FUNCTION(socket,errorEvent) +KVSO_CLASS_FUNCTION(socket, errorEvent) { - emitSignal("error",c,c->params()); + emitSignal("error", c, c->params()); return true; } -KVSO_CLASS_FUNCTION(socket,hostFoundEvent) +KVSO_CLASS_FUNCTION(socket, hostFoundEvent) { - emitSignal("hostFound",c,c->params()); + emitSignal("hostFound", c, c->params()); return true; } -KVSO_CLASS_FUNCTION(socket,stateChangedEvent) +KVSO_CLASS_FUNCTION(socket, stateChangedEvent) { - emitSignal("stateChanged",c,c->params()); + emitSignal("stateChanged", c, c->params()); return true; } diff --git a/src/modules/objects/KvsObject_socket.h b/src/modules/objects/KvsObject_socket.h index bec11b60f..2bb623be9 100644 --- a/src/modules/objects/KvsObject_socket.h +++ b/src/modules/objects/KvsObject_socket.h @@ -29,49 +29,49 @@ #include "object_macros.h" - class KvsObject_socket : public KviKvsObject { Q_OBJECT public: KVSO_DECLARE_OBJECT(KvsObject_socket) protected: - QAbstractSocket *m_pSocket; - QTcpServer *m_pServer; - KviKvsRunTimeContext *m_pContext; + QAbstractSocket * m_pSocket; + QTcpServer * m_pServer; + KviKvsRunTimeContext * m_pContext; bool bIsSetFromExternal; + protected: - virtual bool init(KviKvsRunTimeContext * pContext,KviKvsVariantList *pParams); + virtual bool init(KviKvsRunTimeContext * pContext, KviKvsVariantList * pParams); const char * getStateString(QAbstractSocket::SocketState); - void setInternalSocket(QAbstractSocket *pSocket) + void setInternalSocket(QAbstractSocket * pSocket) { delete m_pSocket; - m_pSocket=pSocket; + m_pSocket = pSocket; bIsSetFromExternal = true; makeConnections(); } - bool status(KviKvsObjectFunctionCall *c); - bool remotePort(KviKvsObjectFunctionCall *c); - bool remoteIp(KviKvsObjectFunctionCall *c); - bool localPort(KviKvsObjectFunctionCall *c); - bool localIp(KviKvsObjectFunctionCall *c); - bool functionConnect(KviKvsObjectFunctionCall *c); - bool close(KviKvsObjectFunctionCall *c); - bool read(KviKvsObjectFunctionCall *c); - bool write(KviKvsObjectFunctionCall *c); - bool bytesAvailable(KviKvsObjectFunctionCall *c); - bool setProtocol(KviKvsObjectFunctionCall *c); + bool status(KviKvsObjectFunctionCall * c); + bool remotePort(KviKvsObjectFunctionCall * c); + bool remoteIp(KviKvsObjectFunctionCall * c); + bool localPort(KviKvsObjectFunctionCall * c); + bool localIp(KviKvsObjectFunctionCall * c); + bool functionConnect(KviKvsObjectFunctionCall * c); + bool close(KviKvsObjectFunctionCall * c); + bool read(KviKvsObjectFunctionCall * c); + bool write(KviKvsObjectFunctionCall * c); + bool bytesAvailable(KviKvsObjectFunctionCall * c); + bool setProtocol(KviKvsObjectFunctionCall * c); //bool setReadBufferSize(KviKvsObjectFunctionCall *c); - bool listen(KviKvsObjectFunctionCall *c); - bool dataAvailableEvent(KviKvsObjectFunctionCall *c); - bool incomingConnectionEvent(KviKvsObjectFunctionCall *c); - bool connectedEvent(KviKvsObjectFunctionCall *c); - bool disconnectedEvent(KviKvsObjectFunctionCall *c); - bool errorEvent(KviKvsObjectFunctionCall *c); - bool hostFoundEvent(KviKvsObjectFunctionCall *c); - bool stateChangedEvent(KviKvsObjectFunctionCall *c); + bool listen(KviKvsObjectFunctionCall * c); + bool dataAvailableEvent(KviKvsObjectFunctionCall * c); + bool incomingConnectionEvent(KviKvsObjectFunctionCall * c); + bool connectedEvent(KviKvsObjectFunctionCall * c); + bool disconnectedEvent(KviKvsObjectFunctionCall * c); + bool errorEvent(KviKvsObjectFunctionCall * c); + bool hostFoundEvent(KviKvsObjectFunctionCall * c); + bool stateChangedEvent(KviKvsObjectFunctionCall * c); void makeConnections(); protected slots: @@ -79,8 +79,8 @@ protected slots: void slotNewConnection(); void slotConnected(); void slotDisconnected(); - void slotError( QAbstractSocket::SocketError socketError ); + void slotError(QAbstractSocket::SocketError socketError); void slotHostFound(); - void slotStateChanged( QAbstractSocket::SocketState socketState ); + void slotStateChanged(QAbstractSocket::SocketState socketState); }; #endif //_CLASS_SOCKET_H_ diff --git a/src/modules/objects/KvsObject_spinBox.cpp b/src/modules/objects/KvsObject_spinBox.cpp index 991c82211..393f8bf97 100644 --- a/src/modules/objects/KvsObject_spinBox.cpp +++ b/src/modules/objects/KvsObject_spinBox.cpp @@ -99,164 +99,154 @@ If you reimplement that function you will have to emit the signal manually (if you still need it). */ - -KVSO_BEGIN_REGISTERCLASS(KvsObject_spinBox,"spinbox","widget") - - - - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_spinBox,setValue); - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_spinBox,setMinValue); - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_spinBox,setMaxValue); - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_spinBox,setLineStep); - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_spinBox,setSpecialValueText); - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_spinBox,value); - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_spinBox,minValue); - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_spinBox,maxValue); - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_spinBox,lineStep); - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_spinBox,specialValueText); - - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_spinBox,setPrefix); - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_spinBox,setSuffix); - - - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_spinBox,valueChangedEvent); +KVSO_BEGIN_REGISTERCLASS(KvsObject_spinBox, "spinbox", "widget") + +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_spinBox, setValue); +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_spinBox, setMinValue); +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_spinBox, setMaxValue); +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_spinBox, setLineStep); +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_spinBox, setSpecialValueText); +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_spinBox, value); +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_spinBox, minValue); +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_spinBox, maxValue); +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_spinBox, lineStep); +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_spinBox, specialValueText); + +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_spinBox, setPrefix); +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_spinBox, setSuffix); + +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_spinBox, valueChangedEvent); KVSO_END_REGISTERCLASS(KvsObject_spinBox) -KVSO_BEGIN_CONSTRUCTOR(KvsObject_spinBox,KvsObject_widget) +KVSO_BEGIN_CONSTRUCTOR(KvsObject_spinBox, KvsObject_widget) KVSO_END_CONSTRUCTOR(KvsObject_spinBox) - KVSO_BEGIN_DESTRUCTOR(KvsObject_spinBox) KVSO_END_CONSTRUCTOR(KvsObject_spinBox) -bool KvsObject_spinBox::init(KviKvsRunTimeContext *,KviKvsVariantList *) +bool KvsObject_spinBox::init(KviKvsRunTimeContext *, KviKvsVariantList *) { SET_OBJECT(QSpinBox) - connect(widget(),SIGNAL(valueChanged(int)),this,SLOT(valueChanged(int))); + connect(widget(), SIGNAL(valueChanged(int)), this, SLOT(valueChanged(int))); return true; } - - -KVSO_CLASS_FUNCTION(spinBox,setValue) +KVSO_CLASS_FUNCTION(spinBox, setValue) { CHECK_INTERNAL_POINTER(widget()) kvs_int_t iValue; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("value",KVS_PT_INT,0,iValue) + KVSO_PARAMETER("value", KVS_PT_INT, 0, iValue) KVSO_PARAMETERS_END(c) ((QSpinBox *)widget())->setValue(iValue); return true; } -KVSO_CLASS_FUNCTION(spinBox,setMinValue) +KVSO_CLASS_FUNCTION(spinBox, setMinValue) { CHECK_INTERNAL_POINTER(widget()) kvs_int_t iMinvalue; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("min_value",KVS_PT_INT,0,iMinvalue) + KVSO_PARAMETER("min_value", KVS_PT_INT, 0, iMinvalue) KVSO_PARAMETERS_END(c) ((QSpinBox *)widget())->setMinimum(iMinvalue); return true; } -KVSO_CLASS_FUNCTION(spinBox,setMaxValue) +KVSO_CLASS_FUNCTION(spinBox, setMaxValue) { CHECK_INTERNAL_POINTER(widget()) kvs_int_t iMaxvalue; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("max_value",KVS_PT_INT,0,iMaxvalue) + KVSO_PARAMETER("max_value", KVS_PT_INT, 0, iMaxvalue) KVSO_PARAMETERS_END(c) ((QSpinBox *)widget())->setMaximum(iMaxvalue); return true; } -KVSO_CLASS_FUNCTION(spinBox,setLineStep) +KVSO_CLASS_FUNCTION(spinBox, setLineStep) { CHECK_INTERNAL_POINTER(widget()) kvs_int_t iLinestep; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("line_step",KVS_PT_INT,0,iLinestep) + KVSO_PARAMETER("line_step", KVS_PT_INT, 0, iLinestep) KVSO_PARAMETERS_END(c) ((QSpinBox *)widget())->setSingleStep(iLinestep); return true; } - -KVSO_CLASS_FUNCTION(spinBox,value) +KVSO_CLASS_FUNCTION(spinBox, value) { CHECK_INTERNAL_POINTER(widget()) c->returnValue()->setInteger(((QSpinBox *)widget())->value()); return true; } -KVSO_CLASS_FUNCTION(spinBox,minValue) +KVSO_CLASS_FUNCTION(spinBox, minValue) { CHECK_INTERNAL_POINTER(widget()) c->returnValue()->setInteger(((QSpinBox *)widget())->minimum()); return true; } -KVSO_CLASS_FUNCTION(spinBox,maxValue) +KVSO_CLASS_FUNCTION(spinBox, maxValue) { CHECK_INTERNAL_POINTER(widget()) c->returnValue()->setInteger(((QSpinBox *)widget())->maximum()); return true; } -KVSO_CLASS_FUNCTION(spinBox,lineStep) +KVSO_CLASS_FUNCTION(spinBox, lineStep) { CHECK_INTERNAL_POINTER(widget()) c->returnValue()->setInteger(((QSpinBox *)widget())->singleStep()); return true; } - -KVSO_CLASS_FUNCTION(spinBox,specialValueText) +KVSO_CLASS_FUNCTION(spinBox, specialValueText) { CHECK_INTERNAL_POINTER(widget()) c->returnValue()->setString(((QSpinBox *)widget())->specialValueText()); return true; } - -KVSO_CLASS_FUNCTION(spinBox,setSpecialValueText) +KVSO_CLASS_FUNCTION(spinBox, setSpecialValueText) { CHECK_INTERNAL_POINTER(widget()) QString szText; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("text",KVS_PT_STRING,0,szText) + KVSO_PARAMETER("text", KVS_PT_STRING, 0, szText) KVSO_PARAMETERS_END(c) ((QSpinBox *)widget())->setSpecialValueText(szText); return true; } -KVSO_CLASS_FUNCTION(spinBox,setPrefix) +KVSO_CLASS_FUNCTION(spinBox, setPrefix) { CHECK_INTERNAL_POINTER(widget()) QString szPrefix; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("text",KVS_PT_STRING,0,szPrefix) + KVSO_PARAMETER("text", KVS_PT_STRING, 0, szPrefix) KVSO_PARAMETERS_END(c) ((QSpinBox *)widget())->setPrefix(szPrefix); return true; } -KVSO_CLASS_FUNCTION(spinBox,setSuffix) +KVSO_CLASS_FUNCTION(spinBox, setSuffix) { CHECK_INTERNAL_POINTER(widget()) QString szSuffix; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("text",KVS_PT_STRING,0,szSuffix) + KVSO_PARAMETER("text", KVS_PT_STRING, 0, szSuffix) KVSO_PARAMETERS_END(c) ((QSpinBox *)widget())->setSuffix(szSuffix); return true; } -KVSO_CLASS_FUNCTION(spinBox,valueChangedEvent) +KVSO_CLASS_FUNCTION(spinBox, valueChangedEvent) { - emitSignal("valueChanged",c,c->params()); + emitSignal("valueChanged", c, c->params()); return true; } void KvsObject_spinBox::valueChanged(int value) { KviKvsVariantList params(new KviKvsVariant((kvs_int_t)value)); - callFunction(this,"valueChangedEvent",¶ms); + callFunction(this, "valueChangedEvent", ¶ms); } diff --git a/src/modules/objects/KvsObject_spinBox.h b/src/modules/objects/KvsObject_spinBox.h index 20069d06c..f0eb2313d 100644 --- a/src/modules/objects/KvsObject_spinBox.h +++ b/src/modules/objects/KvsObject_spinBox.h @@ -25,8 +25,6 @@ // //============================================================================= - - #include "KvsObject_widget.h" #include "object_macros.h" @@ -38,27 +36,27 @@ public: public: QWidget * widget() { return (QWidget *)object(); }; protected: - virtual bool init(KviKvsRunTimeContext * pContext,KviKvsVariantList *pParams); + virtual bool init(KviKvsRunTimeContext * pContext, KviKvsVariantList * pParams); - bool setTracking(KviKvsObjectFunctionCall *c); + bool setTracking(KviKvsObjectFunctionCall * c); - bool setValue(KviKvsObjectFunctionCall *c); - bool setMinValue(KviKvsObjectFunctionCall *c); - bool setMaxValue(KviKvsObjectFunctionCall *c); - bool setLineStep(KviKvsObjectFunctionCall *c); - bool setPrefix(KviKvsObjectFunctionCall *c); - bool setSuffix(KviKvsObjectFunctionCall *c); - bool value(KviKvsObjectFunctionCall *c); - bool minValue(KviKvsObjectFunctionCall *c); - bool maxValue(KviKvsObjectFunctionCall *c); - bool lineStep(KviKvsObjectFunctionCall *c); - bool setSpecialValueText(KviKvsObjectFunctionCall *c); - bool specialValueText(KviKvsObjectFunctionCall *c); + bool setValue(KviKvsObjectFunctionCall * c); + bool setMinValue(KviKvsObjectFunctionCall * c); + bool setMaxValue(KviKvsObjectFunctionCall * c); + bool setLineStep(KviKvsObjectFunctionCall * c); + bool setPrefix(KviKvsObjectFunctionCall * c); + bool setSuffix(KviKvsObjectFunctionCall * c); + bool value(KviKvsObjectFunctionCall * c); + bool minValue(KviKvsObjectFunctionCall * c); + bool maxValue(KviKvsObjectFunctionCall * c); + bool lineStep(KviKvsObjectFunctionCall * c); + bool setSpecialValueText(KviKvsObjectFunctionCall * c); + bool specialValueText(KviKvsObjectFunctionCall * c); - bool valueChangedEvent(KviKvsObjectFunctionCall *c); + bool valueChangedEvent(KviKvsObjectFunctionCall * c); protected slots: void valueChanged(int); }; -#endif //!_CLASS_SPINBOX_H_ +#endif //!_CLASS_SPINBOX_H_ diff --git a/src/modules/objects/KvsObject_sql.cpp b/src/modules/objects/KvsObject_sql.cpp index 9e212c8b8..e4de050f1 100644 --- a/src/modules/objects/KvsObject_sql.cpp +++ b/src/modules/objects/KvsObject_sql.cpp @@ -33,10 +33,12 @@ #include #include -#define CHECK_QUERY_IS_INIT if (!m_pCurrentSQlQuery)\ - {\ - c->error("No connection has been initialized!");\ - return false;} +#define CHECK_QUERY_IS_INIT \ + if(!m_pCurrentSQlQuery) \ + { \ + c->error("No connection has been initialized!"); \ + return false; \ + } /* @doc: sql @@ -107,63 +109,63 @@ Sets the current query to inactive. */ -KVSO_BEGIN_REGISTERCLASS(KvsObject_sql,"sql","object") - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_sql,queryLastInsertId) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_sql,commit) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_sql,beginTransaction) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_sql,setConnection) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_sql,connectionNames) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_sql,tablesList) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_sql,closeConnection) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_sql,queryFinish) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_sql,queryResultsSize) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_sql,queryExec) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_sql,queryPrepare) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_sql,queryBindValue) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_sql,queryPrevious) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_sql,queryNext) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_sql,queryLast) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_sql,queryFirst) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_sql,queryRecord) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_sql,lastError) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_sql,features) +KVSO_BEGIN_REGISTERCLASS(KvsObject_sql, "sql", "object") +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_sql, queryLastInsertId) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_sql, commit) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_sql, beginTransaction) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_sql, setConnection) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_sql, connectionNames) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_sql, tablesList) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_sql, closeConnection) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_sql, queryFinish) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_sql, queryResultsSize) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_sql, queryExec) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_sql, queryPrepare) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_sql, queryBindValue) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_sql, queryPrevious) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_sql, queryNext) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_sql, queryLast) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_sql, queryFirst) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_sql, queryRecord) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_sql, lastError) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_sql, features) KVSO_END_REGISTERCLASS(KvsObject_sql) +KVSO_BEGIN_CONSTRUCTOR(KvsObject_sql, KviKvsObject) -KVSO_BEGIN_CONSTRUCTOR(KvsObject_sql,KviKvsObject) - - m_pCurrentSQlQuery=0; +m_pCurrentSQlQuery = 0; KVSO_END_CONSTRUCTOR(KvsObject_sql) - KVSO_BEGIN_DESTRUCTOR(KvsObject_sql) - if(m_pCurrentSQlQuery) delete m_pCurrentSQlQuery; - m_pCurrentSQlQuery=0; +if(m_pCurrentSQlQuery) + delete m_pCurrentSQlQuery; +m_pCurrentSQlQuery = 0; KVSO_END_DESTRUCTOR(KvsObject_sql) -KVSO_CLASS_FUNCTION(sql,setConnection) +KVSO_CLASS_FUNCTION(sql, setConnection) { - QString szConnectionName,szDbName,szDbDriver,szUserName,szHostName,szPassword; + QString szConnectionName, szDbName, szDbDriver, szUserName, szHostName, szPassword; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("database_name",KVS_PT_STRING,0,szDbName) - KVSO_PARAMETER("connection_name",KVS_PT_STRING,KVS_PF_OPTIONAL,szConnectionName) - KVSO_PARAMETER("user_name",KVS_PT_STRING,KVS_PF_OPTIONAL,szUserName) - KVSO_PARAMETER("host_name",KVS_PT_STRING,KVS_PF_OPTIONAL,szHostName) - KVSO_PARAMETER("password",KVS_PT_STRING,KVS_PF_OPTIONAL,szPassword) - KVSO_PARAMETER("database_type",KVS_PT_STRING,KVS_PF_OPTIONAL,szDbDriver) + KVSO_PARAMETER("database_name", KVS_PT_STRING, 0, szDbName) + KVSO_PARAMETER("connection_name", KVS_PT_STRING, KVS_PF_OPTIONAL, szConnectionName) + KVSO_PARAMETER("user_name", KVS_PT_STRING, KVS_PF_OPTIONAL, szUserName) + KVSO_PARAMETER("host_name", KVS_PT_STRING, KVS_PF_OPTIONAL, szHostName) + KVSO_PARAMETER("password", KVS_PT_STRING, KVS_PF_OPTIONAL, szPassword) + KVSO_PARAMETER("database_type", KVS_PT_STRING, KVS_PF_OPTIONAL, szDbDriver) KVSO_PARAMETERS_END(c) if(!szDbDriver.isEmpty()) { QStringList drivers = QSqlDatabase::drivers(); - if (!drivers.contains(szDbDriver)) + if(!drivers.contains(szDbDriver)) { - c->error(__tr2qs_ctx("Missing Qt plugin for database %Q","objects"),&szDbDriver); + c->error(__tr2qs_ctx("Missing Qt plugin for database %Q", "objects"), &szDbDriver); return false; } } - else szDbDriver="QSQLITE"; + else + szDbDriver = "QSQLITE"; QSqlDatabase db; - db=QSqlDatabase::addDatabase(szDbDriver,szConnectionName); + db = QSqlDatabase::addDatabase(szDbDriver, szConnectionName); mSzConnectionName = szConnectionName; db.setDatabaseName(szDbName); db.setHostName(szHostName); @@ -172,308 +174,342 @@ KVSO_CLASS_FUNCTION(sql,setConnection) bool bOk = db.open(); if(bOk) { - if(m_pCurrentSQlQuery) delete m_pCurrentSQlQuery; - m_pCurrentSQlQuery = new QSqlQuery(db); + if(m_pCurrentSQlQuery) + delete m_pCurrentSQlQuery; + m_pCurrentSQlQuery = new QSqlQuery(db); } - else m_pCurrentSQlQuery = 0; + else + m_pCurrentSQlQuery = 0; c->returnValue()->setBoolean(bOk); return true; } -KVSO_CLASS_FUNCTION(sql,connectionNames) +KVSO_CLASS_FUNCTION(sql, connectionNames) { QString szFlag; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("stringreturnflag",KVS_PT_STRING,KVS_PF_OPTIONAL,szFlag) + KVSO_PARAMETER("stringreturnflag", KVS_PT_STRING, KVS_PF_OPTIONAL, szFlag) KVSO_PARAMETERS_END(c) - QStringList szConnectionsList=QSqlDatabase::connectionNames(); - if(szFlag.indexOf('s',0,Qt::CaseInsensitive) != -1) + QStringList szConnectionsList = QSqlDatabase::connectionNames(); + if(szFlag.indexOf('s', 0, Qt::CaseInsensitive) != -1) { - QString szConnections=szConnectionsList.join(","); + QString szConnections = szConnectionsList.join(","); c->returnValue()->setString(szConnections); - } else { - KviKvsArray *pArray=new KviKvsArray(); - for(int i=0;iset(i,new KviKvsVariant(szConnectionsList.at(i))); + pArray->set(i, new KviKvsVariant(szConnectionsList.at(i))); } c->returnValue()->setArray(pArray); } return true; } -KVSO_CLASS_FUNCTION(sql,queryLastInsertId) +KVSO_CLASS_FUNCTION(sql, queryLastInsertId) { CHECK_QUERY_IS_INIT - QVariant value=m_pCurrentSQlQuery->lastInsertId(); - if (value.type()==QVariant::LongLong) - c->returnValue()->setInteger((kvs_int_t) value.toLongLong()); - qDebug("type %i",value.type()); + QVariant value = m_pCurrentSQlQuery->lastInsertId(); + if(value.type() == QVariant::LongLong) + c->returnValue()->setInteger((kvs_int_t)value.toLongLong()); + qDebug("type %i", value.type()); return true; } -KVSO_CLASS_FUNCTION(sql,features) +KVSO_CLASS_FUNCTION(sql, features) { QString szConnectionName; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("connectionName",KVS_PT_STRING,0,szConnectionName) + KVSO_PARAMETER("connectionName", KVS_PT_STRING, 0, szConnectionName) KVSO_PARAMETERS_END(c) QStringList connections = QSqlDatabase::connectionNames(); - if (!connections.contains(szConnectionName)) + if(!connections.contains(szConnectionName)) { - c->warning(__tr2qs_ctx("Connection %Q doesn't exist","objects"),&szConnectionName); + c->warning(__tr2qs_ctx("Connection %Q doesn't exist", "objects"), &szConnectionName); return true; } - QSqlDatabase db=QSqlDatabase::database(szConnectionName); - QSqlDriver *sqlDriver=db.driver(); + QSqlDatabase db = QSqlDatabase::database(szConnectionName); + QSqlDriver * sqlDriver = db.driver(); QStringList features; - if (sqlDriver->hasFeature(QSqlDriver::Transactions)) features.append("transactions"); - if (sqlDriver->hasFeature(QSqlDriver::QuerySize)) features.append("querysize"); - if (sqlDriver->hasFeature(QSqlDriver::BLOB)) features.append("blob"); - if (sqlDriver->hasFeature(QSqlDriver::PreparedQueries)) features.append("preparedqueries"); - if (sqlDriver->hasFeature(QSqlDriver::NamedPlaceholders)) features.append("namedplaceholders"); - if (sqlDriver->hasFeature(QSqlDriver::PositionalPlaceholders)) features.append("positionaplaceholders"); - if (sqlDriver->hasFeature(QSqlDriver::LastInsertId)) features.append("lastinsertid"); - if (sqlDriver->hasFeature(QSqlDriver::BatchOperations)) features.append("batchoperations"); - if (sqlDriver->hasFeature(QSqlDriver::SimpleLocking)) features.append("simplelocking"); - if (sqlDriver->hasFeature(QSqlDriver::LowPrecisionNumbers)) features.append("lowprecisionnumbers"); - if (sqlDriver->hasFeature(QSqlDriver::EventNotifications)) features.append("eventnotifications"); - if (sqlDriver->hasFeature(QSqlDriver::FinishQuery)) features.append("finishquery"); - if (sqlDriver->hasFeature(QSqlDriver::MultipleResultSets)) features.append("multipleresults"); + if(sqlDriver->hasFeature(QSqlDriver::Transactions)) + features.append("transactions"); + if(sqlDriver->hasFeature(QSqlDriver::QuerySize)) + features.append("querysize"); + if(sqlDriver->hasFeature(QSqlDriver::BLOB)) + features.append("blob"); + if(sqlDriver->hasFeature(QSqlDriver::PreparedQueries)) + features.append("preparedqueries"); + if(sqlDriver->hasFeature(QSqlDriver::NamedPlaceholders)) + features.append("namedplaceholders"); + if(sqlDriver->hasFeature(QSqlDriver::PositionalPlaceholders)) + features.append("positionaplaceholders"); + if(sqlDriver->hasFeature(QSqlDriver::LastInsertId)) + features.append("lastinsertid"); + if(sqlDriver->hasFeature(QSqlDriver::BatchOperations)) + features.append("batchoperations"); + if(sqlDriver->hasFeature(QSqlDriver::SimpleLocking)) + features.append("simplelocking"); + if(sqlDriver->hasFeature(QSqlDriver::LowPrecisionNumbers)) + features.append("lowprecisionnumbers"); + if(sqlDriver->hasFeature(QSqlDriver::EventNotifications)) + features.append("eventnotifications"); + if(sqlDriver->hasFeature(QSqlDriver::FinishQuery)) + features.append("finishquery"); + if(sqlDriver->hasFeature(QSqlDriver::MultipleResultSets)) + features.append("multipleresults"); c->returnValue()->setString(features.join(",")); return true; } -KVSO_CLASS_FUNCTION(sql,beginTransaction) +KVSO_CLASS_FUNCTION(sql, beginTransaction) { QSqlDatabase db = QSqlDatabase::database(mSzConnectionName); if(!db.isValid()) { - c->error("No connection has been initialized!"); - return false; + c->error("No connection has been initialized!"); + return false; } db.transaction(); return true; } -KVSO_CLASS_FUNCTION(sql,commit) +KVSO_CLASS_FUNCTION(sql, commit) { QSqlDatabase db = QSqlDatabase::database(mSzConnectionName); if(!db.isValid()) { - c->error("No connection has been initialized!"); - return false; + c->error("No connection has been initialized!"); + return false; } - db.commit(); + db.commit(); return true; } -KVSO_CLASS_FUNCTION(sql,closeConnection) +KVSO_CLASS_FUNCTION(sql, closeConnection) { QString szConnectionName; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("connection_name",KVS_PT_STRING,KVS_PF_OPTIONAL,szConnectionName) + KVSO_PARAMETER("connection_name", KVS_PT_STRING, KVS_PF_OPTIONAL, szConnectionName) KVSO_PARAMETERS_END(c) if(!szConnectionName.isEmpty()) { - QStringList connections = QSqlDatabase::connectionNames(); - if (!connections.contains(szConnectionName)) - { - c->warning(__tr2qs_ctx("Connection %Q doesn't exist","objects"),&szConnectionName); + QStringList connections = QSqlDatabase::connectionNames(); + if(!connections.contains(szConnectionName)) + { + c->warning(__tr2qs_ctx("Connection %Q doesn't exist", "objects"), &szConnectionName); + return true; + } + if(m_pCurrentSQlQuery) + { + delete m_pCurrentSQlQuery; + m_pCurrentSQlQuery = 0; + } + QSqlDatabase::removeDatabase(szConnectionName); return true; - } - if(m_pCurrentSQlQuery) - { - delete m_pCurrentSQlQuery; - m_pCurrentSQlQuery = 0; - } - QSqlDatabase::removeDatabase(szConnectionName); - return true; } if(m_pCurrentSQlQuery) { - delete m_pCurrentSQlQuery; - m_pCurrentSQlQuery = 0; + delete m_pCurrentSQlQuery; + m_pCurrentSQlQuery = 0; } QSqlDatabase::removeDatabase(mSzConnectionName); return true; } -KVSO_CLASS_FUNCTION(sql,tablesList) +KVSO_CLASS_FUNCTION(sql, tablesList) { - QSqlDatabase db = QSqlDatabase::database(mSzConnectionName); + QSqlDatabase db = QSqlDatabase::database(mSzConnectionName); if(!db.isValid()) { - c->error("No connection has been initialized!"); - return false; + c->error("No connection has been initialized!"); + return false; } - QStringList tables=db.tables(); - KviKvsArray *pArray=new KviKvsArray(); - for(int i=0;iset(i,new KviKvsVariant(tables.at(i))); + pArray->set(i, new KviKvsVariant(tables.at(i))); } c->returnValue()->setArray(pArray); return true; } -KVSO_CLASS_FUNCTION(sql,queryFinish) +KVSO_CLASS_FUNCTION(sql, queryFinish) { CHECK_QUERY_IS_INIT m_pCurrentSQlQuery->finish(); return true; } -KVSO_CLASS_FUNCTION(sql,queryPrepare) +KVSO_CLASS_FUNCTION(sql, queryPrepare) { CHECK_QUERY_IS_INIT QString szQuery; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("query",KVS_PT_STRING,0,szQuery) + KVSO_PARAMETER("query", KVS_PT_STRING, 0, szQuery) KVSO_PARAMETERS_END(c) c->returnValue()->setBoolean(m_pCurrentSQlQuery->prepare(szQuery)); return true; } -KVSO_CLASS_FUNCTION(sql,queryBindValue) +KVSO_CLASS_FUNCTION(sql, queryBindValue) { CHECK_QUERY_IS_INIT QString szFieldName; - KviKvsVariant *v; + KviKvsVariant * v; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("bindName",KVS_PT_STRING,0,szFieldName) - KVSO_PARAMETER("value",KVS_PT_VARIANT,0,v) + KVSO_PARAMETER("bindName", KVS_PT_STRING, 0, szFieldName) + KVSO_PARAMETER("value", KVS_PT_VARIANT, 0, v) KVSO_PARAMETERS_END(c) QString szType; v->getTypeName(szType); - if (v->isString()|| v->isNothing()) + if(v->isString() || v->isNothing()) { QString szText; v->asString(szText); - m_pCurrentSQlQuery->bindValue(szFieldName,QVariant(szText)); + m_pCurrentSQlQuery->bindValue(szFieldName, QVariant(szText)); } - else if (v->isReal()) + else if(v->isReal()) { kvs_real_t i; v->asReal(i); - m_pCurrentSQlQuery->bindValue(szFieldName,QVariant((double)i)); + m_pCurrentSQlQuery->bindValue(szFieldName, QVariant((double)i)); } - else if (v->isInteger()) + else if(v->isInteger()) { kvs_int_t i; v->asInteger(i); - m_pCurrentSQlQuery->bindValue(szFieldName,QVariant((int)i)); + m_pCurrentSQlQuery->bindValue(szFieldName, QVariant((int)i)); } - else if (v->isBoolean()) + else if(v->isBoolean()) { - bool b=v->asBoolean(); - m_pCurrentSQlQuery->bindValue(szFieldName,QVariant(b)); + bool b = v->asBoolean(); + m_pCurrentSQlQuery->bindValue(szFieldName, QVariant(b)); } - else if (v->isHObject()) + else if(v->isHObject()) { kvs_hobject_t hOb; v->asHObject(hOb); - KviKvsObject *pObject; - pObject=KviKvsKernel::instance()->objectController()->lookupObject(hOb); - if (pObject->inheritsClass("memorybuffer")) - m_pCurrentSQlQuery->bindValue(szFieldName,QVariant(*((KvsObject_memoryBuffer *)pObject)->pBuffer())); - else c->warning(__tr2qs_ctx("Only memorybuffer class object is supported","objects")); + KviKvsObject * pObject; + pObject = KviKvsKernel::instance()->objectController()->lookupObject(hOb); + if(pObject->inheritsClass("memorybuffer")) + m_pCurrentSQlQuery->bindValue(szFieldName, QVariant(*((KvsObject_memoryBuffer *)pObject)->pBuffer())); + else + c->warning(__tr2qs_ctx("Only memorybuffer class object is supported", "objects")); } else { QString szTypeName; v->getTypeName(szTypeName); - c->warning(__tr2qs_ctx("Type value %Q not supported","objects"),&szTypeName); + c->warning(__tr2qs_ctx("Type value %Q not supported", "objects"), &szTypeName); } return true; } -KVSO_CLASS_FUNCTION(sql,queryExec) +KVSO_CLASS_FUNCTION(sql, queryExec) { CHECK_QUERY_IS_INIT QString szQuery; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("query",KVS_PT_STRING,KVS_PF_OPTIONAL,szQuery) + KVSO_PARAMETER("query", KVS_PT_STRING, KVS_PF_OPTIONAL, szQuery) KVSO_PARAMETERS_END(c) bool bOk; - if (szQuery.isEmpty()) bOk=m_pCurrentSQlQuery->exec(); - else bOk=m_pCurrentSQlQuery->exec(szQuery.toLatin1()); + if(szQuery.isEmpty()) + bOk = m_pCurrentSQlQuery->exec(); + else + bOk = m_pCurrentSQlQuery->exec(szQuery.toLatin1()); c->returnValue()->setBoolean(bOk); return true; } -KVSO_CLASS_FUNCTION(sql,queryNext) +KVSO_CLASS_FUNCTION(sql, queryNext) { CHECK_QUERY_IS_INIT - if (m_pCurrentSQlQuery->isActive() && m_pCurrentSQlQuery->isSelect()) c->returnValue()->setBoolean(m_pCurrentSQlQuery->next()); - else c->returnValue()->setNothing(); + if(m_pCurrentSQlQuery->isActive() && m_pCurrentSQlQuery->isSelect()) + c->returnValue()->setBoolean(m_pCurrentSQlQuery->next()); + else + c->returnValue()->setNothing(); return true; } -KVSO_CLASS_FUNCTION(sql,queryPrevious) +KVSO_CLASS_FUNCTION(sql, queryPrevious) { CHECK_QUERY_IS_INIT - if (m_pCurrentSQlQuery->isActive() && m_pCurrentSQlQuery->isSelect()) c->returnValue()->setBoolean(m_pCurrentSQlQuery->previous()); - else c->returnValue()->setNothing(); + if(m_pCurrentSQlQuery->isActive() && m_pCurrentSQlQuery->isSelect()) + c->returnValue()->setBoolean(m_pCurrentSQlQuery->previous()); + else + c->returnValue()->setNothing(); return true; } -KVSO_CLASS_FUNCTION(sql,queryResultsSize) +KVSO_CLASS_FUNCTION(sql, queryResultsSize) { CHECK_QUERY_IS_INIT c->returnValue()->setInteger(m_pCurrentSQlQuery->size()); return true; } -KVSO_CLASS_FUNCTION(sql,queryFirst) +KVSO_CLASS_FUNCTION(sql, queryFirst) { CHECK_QUERY_IS_INIT - if (m_pCurrentSQlQuery->isActive() && m_pCurrentSQlQuery->isSelect()) c->returnValue()->setBoolean(m_pCurrentSQlQuery->first()); + if(m_pCurrentSQlQuery->isActive() && m_pCurrentSQlQuery->isSelect()) + c->returnValue()->setBoolean(m_pCurrentSQlQuery->first()); return true; } -KVSO_CLASS_FUNCTION(sql,queryLast) +KVSO_CLASS_FUNCTION(sql, queryLast) { CHECK_QUERY_IS_INIT - if (m_pCurrentSQlQuery->isActive() && m_pCurrentSQlQuery->isSelect()) c->returnValue()->setBoolean(m_pCurrentSQlQuery->last()); + if(m_pCurrentSQlQuery->isActive() && m_pCurrentSQlQuery->isSelect()) + c->returnValue()->setBoolean(m_pCurrentSQlQuery->last()); return true; } -KVSO_CLASS_FUNCTION(sql,queryRecord) +KVSO_CLASS_FUNCTION(sql, queryRecord) { CHECK_QUERY_IS_INIT - KviKvsHash *pHash=new KviKvsHash(); - QSqlRecord record=m_pCurrentSQlQuery->record(); - for(int i=0;irecord(); + for(int i = 0; i < record.count(); i++) { - KviKvsVariant *pValue=0; - QVariant value=record.value(i); - if (value.type()==QVariant::LongLong) pValue=new KviKvsVariant((kvs_int_t) value.toLongLong()); - else if (value.type()==QVariant::String) pValue=new KviKvsVariant(value.toString()); - else if (value.type()==QVariant::ByteArray) + KviKvsVariant * pValue = 0; + QVariant value = record.value(i); + if(value.type() == QVariant::LongLong) + pValue = new KviKvsVariant((kvs_int_t)value.toLongLong()); + else if(value.type() == QVariant::String) + pValue = new KviKvsVariant(value.toString()); + else if(value.type() == QVariant::ByteArray) { KviKvsObjectClass * pClass = KviKvsKernel::instance()->objectController()->lookupClass("memoryBuffer"); KviKvsVariantList params(new KviKvsVariant(QString())); - KviKvsObject * pObject = pClass->allocateInstance(0,"",c->context(),¶ms); - *((KvsObject_memoryBuffer *)pObject)->pBuffer()=value.toByteArray(); - pValue=new KviKvsVariant(pObject->handle()); + KviKvsObject * pObject = pClass->allocateInstance(0, "", c->context(), ¶ms); + *((KvsObject_memoryBuffer *)pObject)->pBuffer() = value.toByteArray(); + pValue = new KviKvsVariant(pObject->handle()); } - else pValue=new KviKvsVariant(QString()); - pHash->set(record.fieldName(i),pValue); - KviKvsVariant *value2=pHash->get(record.fieldName(i)); + else + pValue = new KviKvsVariant(QString()); + pHash->set(record.fieldName(i), pValue); + KviKvsVariant * value2 = pHash->get(record.fieldName(i)); value2->type(); } c->returnValue()->setHash(pHash); return true; } -KVSO_CLASS_FUNCTION(sql,lastError) +KVSO_CLASS_FUNCTION(sql, lastError) { CHECK_QUERY_IS_INIT bool bMoreErrorDetails; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("more",KVS_PT_BOOLEAN,KVS_PF_OPTIONAL,bMoreErrorDetails) + KVSO_PARAMETER("more", KVS_PT_BOOLEAN, KVS_PF_OPTIONAL, bMoreErrorDetails) KVSO_PARAMETERS_END(c) QString szError; - QSqlError error=m_pCurrentSQlQuery->lastError(); - if (bMoreErrorDetails) szError=error.text(); + QSqlError error = m_pCurrentSQlQuery->lastError(); + if(bMoreErrorDetails) + szError = error.text(); else { - if (error.type()==QSqlError::StatementError) szError="SyntaxError"; - else if (error.type()==QSqlError::ConnectionError) szError="ConnectionError"; - else if (error.type()==QSqlError::TransactionError) szError="TransactionError"; - else szError="UnkonwnError"; + if(error.type() == QSqlError::StatementError) + szError = "SyntaxError"; + else if(error.type() == QSqlError::ConnectionError) + szError = "ConnectionError"; + else if(error.type() == QSqlError::TransactionError) + szError = "TransactionError"; + else + szError = "UnkonwnError"; } c->returnValue()->setString(szError); return true; diff --git a/src/modules/objects/KvsObject_sql.h b/src/modules/objects/KvsObject_sql.h index dff227903..71451610e 100644 --- a/src/modules/objects/KvsObject_sql.h +++ b/src/modules/objects/KvsObject_sql.h @@ -37,33 +37,31 @@ class KvsObject_sql : public KviKvsObject public: KVSO_DECLARE_OBJECT(KvsObject_sql) protected: - QSqlQuery *m_pCurrentSQlQuery; + QSqlQuery * m_pCurrentSQlQuery; QString mSzConnectionName; public: - bool setConnection(KviKvsObjectFunctionCall *c); - bool connectionNames(KviKvsObjectFunctionCall *c); - bool features(KviKvsObjectFunctionCall *c); - bool queryLastInsertId(KviKvsObjectFunctionCall *c); + bool setConnection(KviKvsObjectFunctionCall * c); + bool connectionNames(KviKvsObjectFunctionCall * c); + bool features(KviKvsObjectFunctionCall * c); + bool queryLastInsertId(KviKvsObjectFunctionCall * c); - bool tablesList(KviKvsObjectFunctionCall *c); - bool beginTransaction(KviKvsObjectFunctionCall *c); - bool commit(KviKvsObjectFunctionCall *c); - - bool queryResultsSize(KviKvsObjectFunctionCall *c); - bool queryNext(KviKvsObjectFunctionCall *c); - bool queryPrevious(KviKvsObjectFunctionCall *c); - bool queryFirst(KviKvsObjectFunctionCall *c); - bool queryLast(KviKvsObjectFunctionCall *c); - bool queryExec(KviKvsObjectFunctionCall *c); - bool queryRecord(KviKvsObjectFunctionCall *c); - bool queryPrepare(KviKvsObjectFunctionCall *c); - bool queryBindValue(KviKvsObjectFunctionCall *c); - bool queryFinish(KviKvsObjectFunctionCall *c); - bool closeConnection(KviKvsObjectFunctionCall *c); - bool lastError(KviKvsObjectFunctionCall *c); + bool tablesList(KviKvsObjectFunctionCall * c); + bool beginTransaction(KviKvsObjectFunctionCall * c); + bool commit(KviKvsObjectFunctionCall * c); + bool queryResultsSize(KviKvsObjectFunctionCall * c); + bool queryNext(KviKvsObjectFunctionCall * c); + bool queryPrevious(KviKvsObjectFunctionCall * c); + bool queryFirst(KviKvsObjectFunctionCall * c); + bool queryLast(KviKvsObjectFunctionCall * c); + bool queryExec(KviKvsObjectFunctionCall * c); + bool queryRecord(KviKvsObjectFunctionCall * c); + bool queryPrepare(KviKvsObjectFunctionCall * c); + bool queryBindValue(KviKvsObjectFunctionCall * c); + bool queryFinish(KviKvsObjectFunctionCall * c); + bool closeConnection(KviKvsObjectFunctionCall * c); + bool lastError(KviKvsObjectFunctionCall * c); }; - #endif //_CLASS_SQLITE_H_ diff --git a/src/modules/objects/KvsObject_tabWidget.cpp b/src/modules/objects/KvsObject_tabWidget.cpp index 69a9ea652..018ed70b1 100644 --- a/src/modules/objects/KvsObject_tabWidget.cpp +++ b/src/modules/objects/KvsObject_tabWidget.cpp @@ -148,233 +148,230 @@ This signal is emitted by the default implementation of [classfnc]tabCloseRequestEvent[/classfnc]().[br] */ -KVSO_BEGIN_REGISTERCLASS(KvsObject_tabWidget,"tabWidget","widget") - - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_tabWidget,addTab) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_tabWidget,insertTab) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_tabWidget,setTabToolTip) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_tabWidget,removeTabToolTip) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_tabWidget,setTabLabel) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_tabWidget,changeTab) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_tabWidget,setCurrentPage) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_tabWidget,currentPageIndex) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_tabWidget,tabLabel) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_tabWidget,currentTabLabel) - - 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) - - // events - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_tabWidget,currentChangedEvent) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_tabWidget,tabCloseRequestEvent) - - +KVSO_BEGIN_REGISTERCLASS(KvsObject_tabWidget, "tabWidget", "widget") + +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_tabWidget, addTab) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_tabWidget, insertTab) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_tabWidget, setTabToolTip) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_tabWidget, removeTabToolTip) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_tabWidget, setTabLabel) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_tabWidget, changeTab) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_tabWidget, setCurrentPage) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_tabWidget, currentPageIndex) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_tabWidget, tabLabel) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_tabWidget, currentTabLabel) + +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) + +// events +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_tabWidget, currentChangedEvent) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_tabWidget, tabCloseRequestEvent) KVSO_END_REGISTERCLASS(KvsObject_tabWidget) -KVSO_BEGIN_CONSTRUCTOR(KvsObject_tabWidget,KvsObject_widget) +KVSO_BEGIN_CONSTRUCTOR(KvsObject_tabWidget, KvsObject_widget) KVSO_END_CONSTRUCTOR(KvsObject_tabWidget) - KVSO_BEGIN_DESTRUCTOR(KvsObject_tabWidget) tabsList.clear(); KVSO_END_DESTRUCTOR(KvsObject_tabWidget) -bool KvsObject_tabWidget::init(KviKvsRunTimeContext *,KviKvsVariantList *) +bool KvsObject_tabWidget::init(KviKvsRunTimeContext *, KviKvsVariantList *) { SET_OBJECT(QTabWidget) - connect(widget(),SIGNAL(currentChanged(int)),this,SLOT(slotCurrentChanged(int))); - connect(widget(),SIGNAL(tabCloseRequested(int)),this,SLOT(slotTabCloseRequest(int))); + connect(widget(), SIGNAL(currentChanged(int)), this, SLOT(slotCurrentChanged(int))); + connect(widget(), SIGNAL(tabCloseRequested(int)), this, SLOT(slotTabCloseRequest(int))); return true; } -KVSO_CLASS_FUNCTION(tabWidget,setTabsClosable) +KVSO_CLASS_FUNCTION(tabWidget, setTabsClosable) { CHECK_INTERNAL_POINTER(widget()) bool bClosable; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("bool_flag",KVS_PT_BOOLEAN,0,bClosable) + KVSO_PARAMETER("bool_flag", KVS_PT_BOOLEAN, 0, bClosable) KVSO_PARAMETERS_END(c) ((QTabWidget *)widget())->setTabsClosable(bClosable); return true; } -KVSO_CLASS_FUNCTION(tabWidget,addTab) +KVSO_CLASS_FUNCTION(tabWidget, addTab) { CHECK_INTERNAL_POINTER(widget()) - KviKvsObject *pObject; - QString szLabel,szIcon; + KviKvsObject * pObject; + QString szLabel, szIcon; kvs_hobject_t hObject; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("widget",KVS_PT_HOBJECT,0,hObject) - KVSO_PARAMETER("label",KVS_PT_STRING,0,szLabel) - KVSO_PARAMETER("icon_id",KVS_PT_STRING,KVS_PF_OPTIONAL,szIcon) + KVSO_PARAMETER("widget", KVS_PT_HOBJECT, 0, hObject) + KVSO_PARAMETER("label", KVS_PT_STRING, 0, szLabel) + KVSO_PARAMETER("icon_id", KVS_PT_STRING, KVS_PF_OPTIONAL, szIcon) KVSO_PARAMETERS_END(c) - pObject=KviKvsKernel::instance()->objectController()->lookupObject(hObject); + pObject = KviKvsKernel::instance()->objectController()->lookupObject(hObject); CHECK_HOBJECT_IS_WIDGET(pObject) QPixmap * pix = g_pIconManager->getImage(szIcon); - if(pix){ - ((QTabWidget *)widget())->addTab(((QWidget *)(pObject->object())),QIcon(*pix),szLabel); + if(pix) + { + ((QTabWidget *)widget())->addTab(((QWidget *)(pObject->object())), QIcon(*pix), szLabel); } - else((QTabWidget *)widget())->addTab(((QWidget *)(pObject->object())),szLabel); + else + ((QTabWidget *)widget())->addTab(((QWidget *)(pObject->object())), szLabel); this->children(); tabsList.append(hObject); return true; } -KVSO_CLASS_FUNCTION(tabWidget,indexOf) +KVSO_CLASS_FUNCTION(tabWidget, indexOf) { CHECK_INTERNAL_POINTER(widget()) - KviKvsObject *pObject; - QString szLabel,szIcon; + KviKvsObject * pObject; + QString szLabel, szIcon; kvs_hobject_t hObject; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("widget",KVS_PT_HOBJECT,0,hObject) + KVSO_PARAMETER("widget", KVS_PT_HOBJECT, 0, hObject) KVSO_PARAMETERS_END(c) - pObject=KviKvsKernel::instance()->objectController()->lookupObject(hObject); + pObject = KviKvsKernel::instance()->objectController()->lookupObject(hObject); CHECK_HOBJECT_IS_WIDGET(pObject) - int iIdx=((QTabWidget *)widget())->indexOf(((KvsObject_widget*)pObject)->widget()); + int iIdx = ((QTabWidget *)widget())->indexOf(((KvsObject_widget *)pObject)->widget()); c->returnValue()->setInteger((kvs_int_t)iIdx); return true; } - -KVSO_CLASS_FUNCTION(tabWidget,widgetAt) +KVSO_CLASS_FUNCTION(tabWidget, widgetAt) { CHECK_INTERNAL_POINTER(widget()) kvs_int_t iIndex; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("index",KVS_PT_INTEGER,0,iIndex) + KVSO_PARAMETER("index", KVS_PT_INTEGER, 0, iIndex) KVSO_PARAMETERS_END(c) - if (iIndex>=tabsList.count()||iIndex<0) + if(iIndex >= tabsList.count() || iIndex < 0) c->returnValue()->setHObject((kvs_hobject_t)0); else c->returnValue()->setHObject(tabsList.at(iIndex)); return true; } -KVSO_CLASS_FUNCTION(tabWidget,insertTab) +KVSO_CLASS_FUNCTION(tabWidget, insertTab) { CHECK_INTERNAL_POINTER(widget()) - KviKvsObject *pObject; - QString szLabel,szIcon; + KviKvsObject * pObject; + QString szLabel, szIcon; kvs_uint_t uIndex; kvs_hobject_t hObject; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("tab_widget",KVS_PT_HOBJECT,0,hObject) - KVSO_PARAMETER("label",KVS_PT_STRING,0,szLabel) - KVSO_PARAMETER("index",KVS_PT_UNSIGNEDINTEGER,0,uIndex) - KVSO_PARAMETER("icon_id",KVS_PT_STRING,KVS_PF_OPTIONAL,szIcon) + KVSO_PARAMETER("tab_widget", KVS_PT_HOBJECT, 0, hObject) + KVSO_PARAMETER("label", KVS_PT_STRING, 0, szLabel) + KVSO_PARAMETER("index", KVS_PT_UNSIGNEDINTEGER, 0, uIndex) + KVSO_PARAMETER("icon_id", KVS_PT_STRING, KVS_PF_OPTIONAL, szIcon) KVSO_PARAMETERS_END(c) - pObject=KviKvsKernel::instance()->objectController()->lookupObject(hObject); + pObject = KviKvsKernel::instance()->objectController()->lookupObject(hObject); CHECK_HOBJECT_IS_WIDGET(pObject) QPixmap * pix = g_pIconManager->getImage(szIcon); if(pix) - ((QTabWidget *)widget())->insertTab(uIndex,(QWidget *)(pObject->object()),QIcon(*pix),szLabel); + ((QTabWidget *)widget())->insertTab(uIndex, (QWidget *)(pObject->object()), QIcon(*pix), szLabel); else - ((QTabWidget *)widget())->insertTab(uIndex,((QWidget *)(pObject->object())),szLabel); - tabsList.insert(uIndex,hObject); + ((QTabWidget *)widget())->insertTab(uIndex, ((QWidget *)(pObject->object())), szLabel); + tabsList.insert(uIndex, hObject); return true; } -KVSO_CLASS_FUNCTION(tabWidget,setCurrentPage) +KVSO_CLASS_FUNCTION(tabWidget, setCurrentPage) { CHECK_INTERNAL_POINTER(widget()) kvs_uint_t iIndex; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("index",KVS_PT_UNSIGNEDINTEGER,0,iIndex) + KVSO_PARAMETER("index", KVS_PT_UNSIGNEDINTEGER, 0, iIndex) KVSO_PARAMETERS_END(c) ((QTabWidget *)widget())->setCurrentIndex(iIndex); return true; } -KVSO_CLASS_FUNCTION(tabWidget,setTabToolTip) +KVSO_CLASS_FUNCTION(tabWidget, setTabToolTip) { CHECK_INTERNAL_POINTER(widget()) - KviKvsObject *pObject; + KviKvsObject * pObject; QString szTooltip; kvs_hobject_t hObject; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("tab_widget",KVS_PT_HOBJECT,0,hObject) - KVSO_PARAMETER("tooltip",KVS_PT_STRING,0,szTooltip) + KVSO_PARAMETER("tab_widget", KVS_PT_HOBJECT, 0, hObject) + KVSO_PARAMETER("tooltip", KVS_PT_STRING, 0, szTooltip) KVSO_PARAMETERS_END(c) - pObject=KviKvsKernel::instance()->objectController()->lookupObject(hObject); + pObject = KviKvsKernel::instance()->objectController()->lookupObject(hObject); CHECK_HOBJECT_IS_WIDGET(pObject) - int iIdx = ((QTabWidget *)widget())->indexOf (((QWidget *)(pObject->object()))); - if (iIdx == -1) + int iIdx = ((QTabWidget *)widget())->indexOf(((QWidget *)(pObject->object()))); + if(iIdx == -1) { - c->warning(__tr2qs_ctx("Can't find the tab ","objects")); + c->warning(__tr2qs_ctx("Can't find the tab ", "objects")); return true; } - ((QTabWidget *)widget())->setTabToolTip(iIdx,szTooltip); + ((QTabWidget *)widget())->setTabToolTip(iIdx, szTooltip); return true; } -KVSO_CLASS_FUNCTION(tabWidget,removeTabToolTip) +KVSO_CLASS_FUNCTION(tabWidget, removeTabToolTip) { CHECK_INTERNAL_POINTER(widget()) - KviKvsObject *pObject; + KviKvsObject * pObject; kvs_hobject_t hObject; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("tab_widget",KVS_PT_HOBJECT,0,hObject) + KVSO_PARAMETER("tab_widget", KVS_PT_HOBJECT, 0, hObject) KVSO_PARAMETERS_END(c) - pObject=KviKvsKernel::instance()->objectController()->lookupObject(hObject); + pObject = KviKvsKernel::instance()->objectController()->lookupObject(hObject); CHECK_HOBJECT_IS_WIDGET(pObject) - int iIdx = ((QTabWidget *)widget())->indexOf (((QWidget *)(pObject->object()))) ; - if (iIdx==-1) + int iIdx = ((QTabWidget *)widget())->indexOf(((QWidget *)(pObject->object()))); + if(iIdx == -1) { - c->warning(__tr2qs_ctx("Can't find the tab ","objects")); + c->warning(__tr2qs_ctx("Can't find the tab ", "objects")); return true; } - ((QTabWidget *)widget())->setTabToolTip(iIdx,QString()); + ((QTabWidget *)widget())->setTabToolTip(iIdx, QString()); return true; } -KVSO_CLASS_FUNCTION(tabWidget,setTabLabel) +KVSO_CLASS_FUNCTION(tabWidget, setTabLabel) { CHECK_INTERNAL_POINTER(widget()) - KviKvsObject *pObject; + KviKvsObject * pObject; QString szLabel; kvs_hobject_t hObject; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("tab_widget",KVS_PT_HOBJECT,0, hObject) - KVSO_PARAMETER("tooltip",KVS_PT_STRING,0,szLabel) + KVSO_PARAMETER("tab_widget", KVS_PT_HOBJECT, 0, hObject) + KVSO_PARAMETER("tooltip", KVS_PT_STRING, 0, szLabel) KVSO_PARAMETERS_END(c) - pObject=KviKvsKernel::instance()->objectController()->lookupObject(hObject); + pObject = KviKvsKernel::instance()->objectController()->lookupObject(hObject); CHECK_HOBJECT_IS_WIDGET(pObject) - int iIdx = ((QTabWidget *)widget())->indexOf (((QWidget *)(pObject->object()))); - if (iIdx == -1) + int iIdx = ((QTabWidget *)widget())->indexOf(((QWidget *)(pObject->object()))); + if(iIdx == -1) { - c->warning(__tr2qs_ctx("Can't find the tab ","objects")); + c->warning(__tr2qs_ctx("Can't find the tab ", "objects")); return true; } - ((QTabWidget *)widget())->setTabText(iIdx,szLabel); + ((QTabWidget *)widget())->setTabText(iIdx, szLabel); return true; } -KVSO_CLASS_FUNCTION(tabWidget,currentPageIndex) +KVSO_CLASS_FUNCTION(tabWidget, currentPageIndex) { CHECK_INTERNAL_POINTER(widget()) - int index=((QTabWidget *)widget())->currentIndex(); + int index = ((QTabWidget *)widget())->currentIndex(); c->returnValue()->setInteger(index); return true; } -KVSO_CLASS_FUNCTION(tabWidget,tabLabel) +KVSO_CLASS_FUNCTION(tabWidget, tabLabel) { CHECK_INTERNAL_POINTER(widget()) kvs_int_t uIndex; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("index",KVS_PT_INT,0,uIndex) + KVSO_PARAMETER("index", KVS_PT_INT, 0, uIndex) KVSO_PARAMETERS_END(c) - QString label=((QTabWidget *)widget())->tabText(uIndex); + QString label = ((QTabWidget *)widget())->tabText(uIndex); c->returnValue()->setString(label); return true; } - -KVSO_CLASS_FUNCTION(tabWidget,count) +KVSO_CLASS_FUNCTION(tabWidget, count) { CHECK_INTERNAL_POINTER(widget()) int count = ((QTabWidget *)widget())->count(); @@ -382,28 +379,28 @@ KVSO_CLASS_FUNCTION(tabWidget,count) return true; } -KVSO_CLASS_FUNCTION(tabWidget,currentTabLabel) +KVSO_CLASS_FUNCTION(tabWidget, currentTabLabel) { CHECK_INTERNAL_POINTER(widget()) - int i= ((QTabWidget *)widget())->currentIndex(); - QString label=((QTabWidget *)widget())->tabText(i); + int i = ((QTabWidget *)widget())->currentIndex(); + QString label = ((QTabWidget *)widget())->tabText(i); c->returnValue()->setString(label); - return true; + return true; } -KVSO_CLASS_FUNCTION(tabWidget,removePage) +KVSO_CLASS_FUNCTION(tabWidget, removePage) { CHECK_INTERNAL_POINTER(widget()) - KviKvsObject *pObject; + KviKvsObject * pObject; kvs_hobject_t hObject; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("tab_widget",KVS_PT_HOBJECT,0,hObject) + KVSO_PARAMETER("tab_widget", KVS_PT_HOBJECT, 0, hObject) KVSO_PARAMETERS_END(c) - pObject=KviKvsKernel::instance()->objectController()->lookupObject(hObject); + pObject = KviKvsKernel::instance()->objectController()->lookupObject(hObject); CHECK_HOBJECT_IS_WIDGET(pObject) - int iIdx = ((QTabWidget *)widget())->indexOf (((QWidget *)(pObject->object()))); - if (iIdx == -1) + int iIdx = ((QTabWidget *)widget())->indexOf(((QWidget *)(pObject->object()))); + if(iIdx == -1) { - c->warning(__tr2qs_ctx("Can't find the tab ","objects")); + c->warning(__tr2qs_ctx("Can't find the tab ", "objects")); return true; } ((QTabWidget *)widget())->removeTab(iIdx); @@ -411,67 +408,68 @@ KVSO_CLASS_FUNCTION(tabWidget,removePage) return true; } -KVSO_CLASS_FUNCTION(tabWidget,changeTab) +KVSO_CLASS_FUNCTION(tabWidget, changeTab) { CHECK_INTERNAL_POINTER(widget()) - KviKvsObject *pObject; - QString szLabel,szIcon; + KviKvsObject * pObject; + QString szLabel, szIcon; kvs_hobject_t hObject; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("tab_widget",KVS_PT_HOBJECT,0,hObject) - KVSO_PARAMETER("label",KVS_PT_STRING,0,szLabel) - KVSO_PARAMETER("icon_id",KVS_PT_STRING,KVS_PF_OPTIONAL,szIcon) + KVSO_PARAMETER("tab_widget", KVS_PT_HOBJECT, 0, hObject) + KVSO_PARAMETER("label", KVS_PT_STRING, 0, szLabel) + KVSO_PARAMETER("icon_id", KVS_PT_STRING, KVS_PF_OPTIONAL, szIcon) KVSO_PARAMETERS_END(c) - pObject=KviKvsKernel::instance()->objectController()->lookupObject(hObject); + pObject = KviKvsKernel::instance()->objectController()->lookupObject(hObject); CHECK_HOBJECT_IS_WIDGET(pObject) - int iIdx = ((QTabWidget *)widget())->indexOf (((QWidget *)(pObject->object()))); - if (iIdx == -1) + int iIdx = ((QTabWidget *)widget())->indexOf(((QWidget *)(pObject->object()))); + if(iIdx == -1) { - c->warning(__tr2qs_ctx("Can't find the tab","objects")); + c->warning(__tr2qs_ctx("Can't find the tab", "objects")); return true; } QPixmap * pix = g_pIconManager->getImage(szIcon); - if(pix)((QTabWidget *)widget())->setTabIcon(iIdx,QIcon(*pix)); - ((QTabWidget *)widget())->setTabText(iIdx,szLabel); + if(pix) + ((QTabWidget *)widget())->setTabIcon(iIdx, QIcon(*pix)); + ((QTabWidget *)widget())->setTabText(iIdx, szLabel); return true; } -KVSO_CLASS_FUNCTION(tabWidget,setTabPosition) +KVSO_CLASS_FUNCTION(tabWidget, setTabPosition) { CHECK_INTERNAL_POINTER(widget()) QString szPos; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("tab_position",KVS_PT_STRING,0,szPos) + KVSO_PARAMETER("tab_position", KVS_PT_STRING, 0, szPos) KVSO_PARAMETERS_END(c) - if(KviQString::equalCI(szPos,"Top")) + if(KviQString::equalCI(szPos, "Top")) ((QTabWidget *)widget())->setTabPosition(QTabWidget::North); - else if(KviQString::equalCI(szPos,"Bottom")) + else if(KviQString::equalCI(szPos, "Bottom")) ((QTabWidget *)widget())->setTabPosition(QTabWidget::South); else - c->warning( __tr2qs_ctx("Unknown position '%Q'","objects"),&szPos); + c->warning(__tr2qs_ctx("Unknown position '%Q'", "objects"), &szPos); return true; } -KVSO_CLASS_FUNCTION(tabWidget,currentChangedEvent) +KVSO_CLASS_FUNCTION(tabWidget, currentChangedEvent) { - emitSignal("currentChanged",c,c->params()); + emitSignal("currentChanged", c, c->params()); return true; } void KvsObject_tabWidget::slotCurrentChanged(int value) { KviKvsVariantList params(new KviKvsVariant((kvs_int_t)value)); - callFunction(this,"currentChangedEvent",¶ms); + callFunction(this, "currentChangedEvent", ¶ms); } -KVSO_CLASS_FUNCTION(tabWidget,tabCloseRequestEvent) +KVSO_CLASS_FUNCTION(tabWidget, tabCloseRequestEvent) { - emitSignal("tabCloseRequested",c,c->params()); + emitSignal("tabCloseRequested", c, c->params()); return true; } void KvsObject_tabWidget::slotTabCloseRequest(int iIndex) { KviKvsVariantList params(new KviKvsVariant((kvs_int_t)iIndex)); - callFunction(this,"tabCloseRequestEvent",¶ms); + callFunction(this, "tabCloseRequestEvent", ¶ms); } diff --git a/src/modules/objects/KvsObject_tabWidget.h b/src/modules/objects/KvsObject_tabWidget.h index 68f83a76f..9b0b14d1c 100644 --- a/src/modules/objects/KvsObject_tabWidget.h +++ b/src/modules/objects/KvsObject_tabWidget.h @@ -36,33 +36,33 @@ public: public: QWidget * widget() { return (QWidget *)object(); }; protected: - virtual bool init(KviKvsRunTimeContext * pContext,KviKvsVariantList *pParams); + virtual bool init(KviKvsRunTimeContext * pContext, KviKvsVariantList * pParams); QList tabsList; - bool addTab(KviKvsObjectFunctionCall *c); - bool indexOf(KviKvsObjectFunctionCall *c); - bool insertTab(KviKvsObjectFunctionCall *c); - bool setTabToolTip(KviKvsObjectFunctionCall *c); - bool removeTabToolTip(KviKvsObjectFunctionCall *c); - bool setTabLabel(KviKvsObjectFunctionCall *c); - bool setCurrentPage(KviKvsObjectFunctionCall *c); - bool currentPageIndex(KviKvsObjectFunctionCall *c); - bool tabLabel(KviKvsObjectFunctionCall *c); - bool currentTabLabel(KviKvsObjectFunctionCall *c); - bool count(KviKvsObjectFunctionCall *c); - bool changeTab(KviKvsObjectFunctionCall *c); - bool removePage(KviKvsObjectFunctionCall *c); - bool setTabPosition(KviKvsObjectFunctionCall *c); - bool setTabsClosable(KviKvsObjectFunctionCall *c); - bool widgetAt(KviKvsObjectFunctionCall *c); + bool addTab(KviKvsObjectFunctionCall * c); + bool indexOf(KviKvsObjectFunctionCall * c); + bool insertTab(KviKvsObjectFunctionCall * c); + bool setTabToolTip(KviKvsObjectFunctionCall * c); + bool removeTabToolTip(KviKvsObjectFunctionCall * c); + bool setTabLabel(KviKvsObjectFunctionCall * c); + bool setCurrentPage(KviKvsObjectFunctionCall * c); + bool currentPageIndex(KviKvsObjectFunctionCall * c); + bool tabLabel(KviKvsObjectFunctionCall * c); + bool currentTabLabel(KviKvsObjectFunctionCall * c); + bool count(KviKvsObjectFunctionCall * c); + bool changeTab(KviKvsObjectFunctionCall * c); + bool removePage(KviKvsObjectFunctionCall * c); + bool setTabPosition(KviKvsObjectFunctionCall * c); + bool setTabsClosable(KviKvsObjectFunctionCall * c); + bool widgetAt(KviKvsObjectFunctionCall * c); // events - bool currentChangedEvent(KviKvsObjectFunctionCall *c); - bool tabCloseRequestEvent(KviKvsObjectFunctionCall *c); + bool currentChangedEvent(KviKvsObjectFunctionCall * c); + bool tabCloseRequestEvent(KviKvsObjectFunctionCall * c); protected slots: void slotCurrentChanged(int); void slotTabCloseRequest(int); }; -#endif //!_CLASS_TABWIDGET_H_ +#endif //!_CLASS_TABWIDGET_H_ diff --git a/src/modules/objects/KvsObject_tableWidget.cpp b/src/modules/objects/KvsObject_tableWidget.cpp index 7cf4b869e..63e9cd49e 100644 --- a/src/modules/objects/KvsObject_tableWidget.cpp +++ b/src/modules/objects/KvsObject_tableWidget.cpp @@ -65,7 +65,7 @@ const char * const itemflags_tbl[] = { "tristate" }; -#define itemflags_num (sizeof(itemflags_tbl) / sizeof(itemflags_tbl[0])) +#define itemflags_num (sizeof(itemflags_tbl) / sizeof(itemflags_tbl[0])) /* @doc:tablewidget @@ -181,67 +181,64 @@ const char * const itemflags_tbl[] = { This signal is emitted by the default implementation of [classfnc]$clickEvent[/classfnc](). */ -KVSO_BEGIN_REGISTERCLASS(KvsObject_tableWidget,"tablewidget","widget") - - // Horizontal Header - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_tableWidget,setHorizontalHeaderLabels) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_tableWidget,hideHorizontalHeader) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_tableWidget,hideVerticalHeader) - - // Vertical Header - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_tableWidget,setVerticalHeaderLabels) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_tableWidget,showHorizontalHeader) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_tableWidget,showVerticalHeader) - - // Rows-Columns - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_tableWidget,setRowCount) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_tableWidget,insertRow) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_tableWidget,insertColumn) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_tableWidget,removeRow) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_tableWidget,removeColumn) - - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_tableWidget,rowCount) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_tableWidget,currentRow) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_tableWidget,setColumnCount) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_tableWidget,columnCount) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_tableWidget,currentColumn) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_tableWidget,itemRowColAt) - - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_tableWidget,hideRow) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_tableWidget,showRow) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_tableWidget,hideColumn) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_tableWidget,showColumn) - - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_tableWidget,resizeRowsToContents) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_tableWidget,resizeColumnsToContents) - - // Item (text. icon, widget) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_tableWidget,setText) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_tableWidget,setNumber) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_tableWidget,setToolTip) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_tableWidget,setForeground) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_tableWidget,text) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_tableWidget,setCellWidget) - - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_tableWidget,setIcon) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_tableWidget,clear) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_tableWidget,setItemFlags); - - KVSO_REGISTER_HANDLER(KvsObject_tableWidget,"itemEnteredEvent",itemEnteredEvent); - KVSO_REGISTER_HANDLER(KvsObject_tableWidget,"cellActivatedEvent",cellActivatedEvent); - KVSO_REGISTER_HANDLER(KvsObject_tableWidget,"cellDoubleClickedEvent",cellDoubleClickedEvent); - KVSO_REGISTER_STANDARD_TRUERETURN_HANDLER(KvsObject_tableWidget,"paintCellEvent") - KVSO_REGISTER_STANDARD_NOTHINGRETURN_HANDLER(KvsObject_tableWidget,"sizeHintCellRequestEvent") - - +KVSO_BEGIN_REGISTERCLASS(KvsObject_tableWidget, "tablewidget", "widget") + +// Horizontal Header +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_tableWidget, setHorizontalHeaderLabels) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_tableWidget, hideHorizontalHeader) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_tableWidget, hideVerticalHeader) + +// Vertical Header +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_tableWidget, setVerticalHeaderLabels) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_tableWidget, showHorizontalHeader) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_tableWidget, showVerticalHeader) + +// Rows-Columns +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_tableWidget, setRowCount) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_tableWidget, insertRow) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_tableWidget, insertColumn) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_tableWidget, removeRow) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_tableWidget, removeColumn) + +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_tableWidget, rowCount) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_tableWidget, currentRow) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_tableWidget, setColumnCount) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_tableWidget, columnCount) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_tableWidget, currentColumn) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_tableWidget, itemRowColAt) + +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_tableWidget, hideRow) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_tableWidget, showRow) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_tableWidget, hideColumn) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_tableWidget, showColumn) + +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_tableWidget, resizeRowsToContents) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_tableWidget, resizeColumnsToContents) + +// Item (text. icon, widget) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_tableWidget, setText) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_tableWidget, setNumber) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_tableWidget, setToolTip) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_tableWidget, setForeground) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_tableWidget, text) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_tableWidget, setCellWidget) + +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_tableWidget, setIcon) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_tableWidget, clear) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_tableWidget, setItemFlags); + +KVSO_REGISTER_HANDLER(KvsObject_tableWidget, "itemEnteredEvent", itemEnteredEvent); +KVSO_REGISTER_HANDLER(KvsObject_tableWidget, "cellActivatedEvent", cellActivatedEvent); +KVSO_REGISTER_HANDLER(KvsObject_tableWidget, "cellDoubleClickedEvent", cellDoubleClickedEvent); +KVSO_REGISTER_STANDARD_TRUERETURN_HANDLER(KvsObject_tableWidget, "paintCellEvent") +KVSO_REGISTER_STANDARD_NOTHINGRETURN_HANDLER(KvsObject_tableWidget, "sizeHintCellRequestEvent") KVSO_END_REGISTERCLASS(KvsObject_tableWidget) -KVSO_BEGIN_CONSTRUCTOR(KvsObject_tableWidget,KvsObject_widget) +KVSO_BEGIN_CONSTRUCTOR(KvsObject_tableWidget, KvsObject_widget) KVSO_END_CONSTRUCTOR(KvsObject_tableWidget) - KVSO_BEGIN_DESTRUCTOR(KvsObject_tableWidget) /*if (m_pCellItemDelegate) { @@ -250,31 +247,31 @@ KVSO_BEGIN_DESTRUCTOR(KvsObject_tableWidget) }*/ KVSO_END_DESTRUCTOR(KvsObject_tableWidget) -bool KvsObject_tableWidget::init(KviKvsRunTimeContext *c,KviKvsVariantList *) +bool KvsObject_tableWidget::init(KviKvsRunTimeContext * c, KviKvsVariantList *) { SET_OBJECT(QTableWidget) - m_pCellItemDelegate=new KviCellItemDelegate(((QTableWidget *)widget()),this); + m_pCellItemDelegate = new KviCellItemDelegate(((QTableWidget *)widget()), this); - m_pContext=c; + m_pContext = c; ((QTableWidget *)widget())->setItemDelegate(m_pCellItemDelegate); - ((QTableWidget *)widget())->verticalHeader()->resizeSections(QHeaderView::Custom ); - ((QTableWidget *)widget())->horizontalHeader()->resizeSections(QHeaderView::Custom ); + ((QTableWidget *)widget())->verticalHeader()->resizeSections(QHeaderView::Custom); + ((QTableWidget *)widget())->horizontalHeader()->resizeSections(QHeaderView::Custom); - connect(widget(),SIGNAL(itemEntered(QTableWidgetItem *)),this,SLOT(slotItemEntered(QTableWidgetItem *))); - connect(widget(),SIGNAL(cellActivated(int,int)),this,SLOT(cellActivated(int,int))); - connect(widget(),SIGNAL(cellDoubleClicked(int,int)),this,SLOT(cellDoubleClicked(int,int))); + connect(widget(), SIGNAL(itemEntered(QTableWidgetItem *)), this, SLOT(slotItemEntered(QTableWidgetItem *))); + connect(widget(), SIGNAL(cellActivated(int, int)), this, SLOT(cellActivated(int, int))); + connect(widget(), SIGNAL(cellDoubleClicked(int, int)), this, SLOT(cellDoubleClicked(int, int))); return true; } -KVSO_CLASS_FUNCTION(tableWidget,clear) +KVSO_CLASS_FUNCTION(tableWidget, clear) { CHECK_INTERNAL_POINTER(widget()) ((QTableWidget *)widget())->clear(); return true; } -KVSO_CLASS_FUNCTION(tableWidget,resizeRowsToContents) +KVSO_CLASS_FUNCTION(tableWidget, resizeRowsToContents) { CHECK_INTERNAL_POINTER(widget()) //qDebug("resize row to contents"); @@ -283,7 +280,7 @@ KVSO_CLASS_FUNCTION(tableWidget,resizeRowsToContents) return true; } -KVSO_CLASS_FUNCTION(tableWidget,resizeColumnsToContents) +KVSO_CLASS_FUNCTION(tableWidget, resizeColumnsToContents) { CHECK_INTERNAL_POINTER(widget()) //qDebug("resize coluns to contents"); @@ -291,31 +288,30 @@ KVSO_CLASS_FUNCTION(tableWidget,resizeColumnsToContents) return true; } - -KVSO_CLASS_FUNCTION(tableWidget,setForeground) +KVSO_CLASS_FUNCTION(tableWidget, setForeground) { CHECK_INTERNAL_POINTER(widget()) KviKvsVariant * pColArray; - kvs_uint_t uCol,uRow; - kvs_int_t iColR,iColG,iColB; + kvs_uint_t uCol, uRow; + kvs_int_t iColR, iColG, iColB; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("row",KVS_PT_UNSIGNEDINTEGER,0,uRow) - KVSO_PARAMETER("col",KVS_PT_UNSIGNEDINTEGER,0,uCol) - KVSO_PARAMETER("hex_rgb_array_or_red_colorname",KVS_PT_VARIANT,0,pColArray) - KVSO_PARAMETER("green",KVS_PT_INT,KVS_PF_OPTIONAL,iColG) - KVSO_PARAMETER("blue",KVS_PT_INT,KVS_PF_OPTIONAL,iColB) + KVSO_PARAMETER("row", KVS_PT_UNSIGNEDINTEGER, 0, uRow) + KVSO_PARAMETER("col", KVS_PT_UNSIGNEDINTEGER, 0, uCol) + KVSO_PARAMETER("hex_rgb_array_or_red_colorname", KVS_PT_VARIANT, 0, pColArray) + KVSO_PARAMETER("green", KVS_PT_INT, KVS_PF_OPTIONAL, iColG) + KVSO_PARAMETER("blue", KVS_PT_INT, KVS_PF_OPTIONAL, iColB) KVSO_PARAMETERS_END(c) - QTableWidgetItem * pItem = ((QTableWidget *)widget())->item(uRow,uCol); + QTableWidgetItem * pItem = ((QTableWidget *)widget())->item(uRow, uCol); if(!pItem) { - pItem = new QTableWidgetItem(); - ((QTableWidget *)widget())->setItem(uRow,uCol,pItem); + pItem = new QTableWidgetItem(); + ((QTableWidget *)widget())->setItem(uRow, uCol, pItem); } if(pColArray->isArray()) { if(pColArray->array()->size() < 3) { - c->error(__tr2qs_ctx("The array passed as parameter must contain at least 3 elements","objects")); + c->error(__tr2qs_ctx("The array passed as parameter must contain at least 3 elements", "objects")); return false; } KviKvsVariant * pColR = pColArray->array()->at(0); @@ -324,348 +320,354 @@ KVSO_CLASS_FUNCTION(tableWidget,setForeground) if(!(pColR && pColG && pColB)) { - c->error(__tr2qs_ctx("One of the colors array parameters is empty","objects")); + c->error(__tr2qs_ctx("One of the colors array parameters is empty", "objects")); return false; } if(!(pColR->asInteger(iColR) && pColG->asInteger(iColG) && pColB->asInteger(iColB))) { - c->error(__tr2qs_ctx("One of the colors array parameters didn't evaluate to an integer","objects")); + c->error(__tr2qs_ctx("One of the colors array parameters didn't evaluate to an integer", "objects")); return false; } } else { QColor color; - if (c->params()->count()==3) + if(c->params()->count() == 3) { - if(pColArray->isString()) + if(pColArray->isString()) + { + QString szColor; + pColArray->asString(szColor); + // maybe a color name? + color.setNamedColor(szColor); + if(!color.isValid()) { - QString szColor; - pColArray->asString(szColor); - // maybe a color name? - color.setNamedColor(szColor); - if (!color.isValid()) + // isn't a color name: lets try with an hex triplet + color.setNamedColor("#" + szColor); + if(!color.isValid()) { - // isn't a color name: lets try with an hex triplet - color.setNamedColor("#"+szColor); - if (!color.isValid()) - { - c->warning(__tr2qs_ctx("Not a valid color!","objects")); - return true; - } + c->warning(__tr2qs_ctx("Not a valid color!", "objects")); + return true; } } - else { - c->warning(__tr2qs_ctx("Not a valid color!","objects")); - return true; - } - QBrush brush(color); - pItem->setForeground(brush); + } + else + { + c->warning(__tr2qs_ctx("Not a valid color!", "objects")); return true; + } + QBrush brush(color); + pItem->setForeground(brush); + return true; } if(c->params()->count() < 5) { - c->error(__tr2qs_ctx("$setForegroundColor requires either an array as first parameter, one hex string or color name, or three integers","objects")); + c->error(__tr2qs_ctx("$setForegroundColor requires either an array as first parameter, one hex string or color name, or three integers", "objects")); return false; } if(!pColArray->asInteger(iColR)) { - c->error(__tr2qs_ctx("The first parameter didn't evaluate to an array nor an integer","objects")); + c->error(__tr2qs_ctx("The first parameter didn't evaluate to an array nor an integer", "objects")); return false; } } - QBrush brush(QColor(iColR,iColG,iColB)); + QBrush brush(QColor(iColR, iColG, iColB)); pItem->setForeground(brush); return true; } - -KVSO_CLASS_FUNCTION(tableWidget,setText) +KVSO_CLASS_FUNCTION(tableWidget, setText) { CHECK_INTERNAL_POINTER(widget()) - kvs_uint_t uCol,uRow; + kvs_uint_t uCol, uRow; QString szText; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("row",KVS_PT_UNSIGNEDINTEGER,0,uRow) - KVSO_PARAMETER("col",KVS_PT_UNSIGNEDINTEGER,0,uCol) - KVSO_PARAMETER("text",KVS_PT_STRING,0,szText) + KVSO_PARAMETER("row", KVS_PT_UNSIGNEDINTEGER, 0, uRow) + KVSO_PARAMETER("col", KVS_PT_UNSIGNEDINTEGER, 0, uCol) + KVSO_PARAMETER("text", KVS_PT_STRING, 0, szText) KVSO_PARAMETERS_END(c) if(uRow >= (uint)((QTableWidget *)widget())->rowCount() || uRow >= (uint)((QTableWidget *)widget())->rowCount()) - c->warning(__tr2qs_ctx("Item out of the tablewidget size","objects")); - QTableWidgetItem * pItem = ((QTableWidget *)widget())->item(uRow,uCol); + c->warning(__tr2qs_ctx("Item out of the tablewidget size", "objects")); + QTableWidgetItem * pItem = ((QTableWidget *)widget())->item(uRow, uCol); if(!pItem) { pItem = new QTableWidgetItem(); - ((QTableWidget *)widget())->setItem(uRow,uCol,pItem); + ((QTableWidget *)widget())->setItem(uRow, uCol, pItem); } pItem->setText(szText); return true; } -KVSO_CLASS_FUNCTION(tableWidget,setNumber) +KVSO_CLASS_FUNCTION(tableWidget, setNumber) { CHECK_INTERNAL_POINTER(widget()) - kvs_uint_t uCol,uRow; + kvs_uint_t uCol, uRow; kvs_int_t iNumber; QString szText; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("row",KVS_PT_UNSIGNEDINTEGER,0,uRow) - KVSO_PARAMETER("col",KVS_PT_UNSIGNEDINTEGER,0,uCol) - KVSO_PARAMETER("number",KVS_PT_INT,0,iNumber) + KVSO_PARAMETER("row", KVS_PT_UNSIGNEDINTEGER, 0, uRow) + KVSO_PARAMETER("col", KVS_PT_UNSIGNEDINTEGER, 0, uCol) + KVSO_PARAMETER("number", KVS_PT_INT, 0, iNumber) KVSO_PARAMETERS_END(c) if(uRow >= (uint)((QTableWidget *)widget())->rowCount() || uRow >= (uint)((QTableWidget *)widget())->rowCount()) - c->warning(__tr2qs_ctx("Item out of the tablewidget size","objects")); - QTableWidgetItem * pItem = ((QTableWidget *)widget())->item(uRow,uCol); + c->warning(__tr2qs_ctx("Item out of the tablewidget size", "objects")); + QTableWidgetItem * pItem = ((QTableWidget *)widget())->item(uRow, uCol); if(!pItem) { pItem = new QTableWidgetItem(); - ((QTableWidget *)widget())->setItem(uRow,uCol,pItem); + ((QTableWidget *)widget())->setItem(uRow, uCol, pItem); } - pItem->setData(0,(int)iNumber); + pItem->setData(0, (int)iNumber); return true; } -KVSO_CLASS_FUNCTION(tableWidget,insertRow) +KVSO_CLASS_FUNCTION(tableWidget, insertRow) { CHECK_INTERNAL_POINTER(widget()) kvs_uint_t uRow; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("row",KVS_PT_UNSIGNEDINTEGER,0,uRow) + KVSO_PARAMETER("row", KVS_PT_UNSIGNEDINTEGER, 0, uRow) KVSO_PARAMETERS_END(c) ((QTableWidget *)widget())->insertRow(uRow); return true; } -KVSO_CLASS_FUNCTION(tableWidget,insertColumn) +KVSO_CLASS_FUNCTION(tableWidget, insertColumn) { CHECK_INTERNAL_POINTER(widget()) kvs_uint_t uCol; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("row",KVS_PT_UNSIGNEDINTEGER,0,uCol) + KVSO_PARAMETER("row", KVS_PT_UNSIGNEDINTEGER, 0, uCol) KVSO_PARAMETERS_END(c) ((QTableWidget *)widget())->insertColumn(uCol); return true; } -KVSO_CLASS_FUNCTION(tableWidget,removeRow) +KVSO_CLASS_FUNCTION(tableWidget, removeRow) { CHECK_INTERNAL_POINTER(widget()) kvs_uint_t uRow; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("row",KVS_PT_UNSIGNEDINTEGER,0,uRow) + KVSO_PARAMETER("row", KVS_PT_UNSIGNEDINTEGER, 0, uRow) KVSO_PARAMETERS_END(c) ((QTableWidget *)widget())->removeRow(uRow); return true; } -KVSO_CLASS_FUNCTION(tableWidget,removeColumn) +KVSO_CLASS_FUNCTION(tableWidget, removeColumn) { CHECK_INTERNAL_POINTER(widget()) kvs_uint_t uCol; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("row",KVS_PT_UNSIGNEDINTEGER,0,uCol) + KVSO_PARAMETER("row", KVS_PT_UNSIGNEDINTEGER, 0, uCol) KVSO_PARAMETERS_END(c) ((QTableWidget *)widget())->removeColumn(uCol); return true; } - -KVSO_CLASS_FUNCTION(tableWidget,setIcon) +KVSO_CLASS_FUNCTION(tableWidget, setIcon) { - kvs_uint_t uCol,uRow; - KviKvsObject *obPixmap; + kvs_uint_t uCol, uRow; + KviKvsObject * obPixmap; kvs_hobject_t obHpixmap; KviKvsVariant * vPixmap; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("row",KVS_PT_UNSIGNEDINTEGER,0,uRow) - KVSO_PARAMETER("col",KVS_PT_UNSIGNEDINTEGER,0,uCol) - KVSO_PARAMETER("icon",KVS_PT_VARIANT,0,vPixmap) + KVSO_PARAMETER("row", KVS_PT_UNSIGNEDINTEGER, 0, uRow) + KVSO_PARAMETER("col", KVS_PT_UNSIGNEDINTEGER, 0, uCol) + KVSO_PARAMETER("icon", KVS_PT_VARIANT, 0, vPixmap) KVSO_PARAMETERS_END(c) QPixmap * pix = 0; if(vPixmap->isHObject()) { vPixmap->asHObject(obHpixmap); - obPixmap=KviKvsKernel::instance()->objectController()->lookupObject(obHpixmap); + obPixmap = KviKvsKernel::instance()->objectController()->lookupObject(obHpixmap); if(!obPixmap->inheritsClass("pixmap")) { - c->warning(__tr2qs_ctx("Pixmap object or image Id required","objects")); + c->warning(__tr2qs_ctx("Pixmap object or image Id required", "objects")); + return true; + } + pix = ((KvsObject_pixmap *)obPixmap)->getPixmap(); + } + else + { + QString szPix; + vPixmap->asString(szPix); + pix = g_pIconManager->getImage(szPix); + if(!pix) + { + c->warning(__tr2qs_ctx("Error occurred: the suitable file '%Q' is not of the correct format or it is not a valid icon number.", "objects"), &szPix); return true; } - pix=((KvsObject_pixmap *)obPixmap)->getPixmap(); - } else { - QString szPix; - vPixmap->asString(szPix); - pix=g_pIconManager->getImage(szPix); - if(!pix) - { - c->warning(__tr2qs_ctx("Error occurred: the suitable file '%Q' is not of the correct format or it is not a valid icon number.","objects"),&szPix); - return true; - } } - QTableWidgetItem * pItem = ((QTableWidget *)widget())->item(uRow,uCol); + QTableWidgetItem * pItem = ((QTableWidget *)widget())->item(uRow, uCol); if(!pItem) { pItem = new QTableWidgetItem(); - ((QTableWidget *)widget())->setItem(uRow,uCol,pItem); + ((QTableWidget *)widget())->setItem(uRow, uCol, pItem); } pItem->setIcon(QIcon(*pix)); return true; } -KVSO_CLASS_FUNCTION(tableWidget,text) +KVSO_CLASS_FUNCTION(tableWidget, text) { CHECK_INTERNAL_POINTER(widget()) - kvs_uint_t uCol,uRow; + kvs_uint_t uCol, uRow; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("row",KVS_PT_UNSIGNEDINTEGER,0,uRow) - KVSO_PARAMETER("col",KVS_PT_UNSIGNEDINTEGER,0,uCol) + KVSO_PARAMETER("row", KVS_PT_UNSIGNEDINTEGER, 0, uRow) + KVSO_PARAMETER("col", KVS_PT_UNSIGNEDINTEGER, 0, uCol) KVSO_PARAMETERS_END(c) - QTableWidgetItem * pItem = ((QTableWidget *)widget())->item(uRow,uCol); - if(!pItem) c->returnValue()->setNothing(); - else c->returnValue()->setString(((QTableWidget *)widget())->item(uRow,uCol)->text()); + QTableWidgetItem * pItem = ((QTableWidget *)widget())->item(uRow, uCol); + if(!pItem) + c->returnValue()->setNothing(); + else + c->returnValue()->setString(((QTableWidget *)widget())->item(uRow, uCol)->text()); return true; } -KVSO_CLASS_FUNCTION(tableWidget,setRowCount) +KVSO_CLASS_FUNCTION(tableWidget, setRowCount) { CHECK_INTERNAL_POINTER(widget()) kvs_uint_t uRow; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("row",KVS_PT_UNSIGNEDINTEGER,0,uRow) + KVSO_PARAMETER("row", KVS_PT_UNSIGNEDINTEGER, 0, uRow) KVSO_PARAMETERS_END(c) ((QTableWidget *)widget())->setRowCount(uRow); return true; } -KVSO_CLASS_FUNCTION(tableWidget,rowCount) +KVSO_CLASS_FUNCTION(tableWidget, rowCount) { CHECK_INTERNAL_POINTER(widget()) c->returnValue()->setInteger(((QTableWidget *)widget())->rowCount()); return true; } -KVSO_CLASS_FUNCTION(tableWidget,currentRow) +KVSO_CLASS_FUNCTION(tableWidget, currentRow) { CHECK_INTERNAL_POINTER(widget()) c->returnValue()->setInteger(((QTableWidget *)widget())->currentRow()); return true; } -KVSO_CLASS_FUNCTION(tableWidget,currentColumn) +KVSO_CLASS_FUNCTION(tableWidget, currentColumn) { CHECK_INTERNAL_POINTER(widget()) c->returnValue()->setInteger(((QTableWidget *)widget())->currentColumn()); return true; } -KVSO_CLASS_FUNCTION(tableWidget,columnCount) +KVSO_CLASS_FUNCTION(tableWidget, columnCount) { CHECK_INTERNAL_POINTER(widget()) c->returnValue()->setInteger(((QTableWidget *)widget())->columnCount()); return true; } -KVSO_CLASS_FUNCTION(tableWidget,itemRowColAt) +KVSO_CLASS_FUNCTION(tableWidget, itemRowColAt) { CHECK_INTERNAL_POINTER(widget()) - kvs_int_t iXpos,iYpos; + kvs_int_t iXpos, iYpos; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("x_pos",KVS_PT_INT,0,iXpos) - KVSO_PARAMETER("y_pos",KVS_PT_INT,0,iYpos) + KVSO_PARAMETER("x_pos", KVS_PT_INT, 0, iXpos) + KVSO_PARAMETER("y_pos", KVS_PT_INT, 0, iYpos) KVSO_PARAMETERS_END(c) - KviKvsArray *pArray; - QPoint pPoint=((QTableWidget *)widget())->viewport()->mapFromGlobal(QPoint(iXpos,iYpos)); - QTableWidgetItem *pItem=((QTableWidget *)widget())->itemAt(pPoint.x(),pPoint.y()); - pArray=new KviKvsArray(); - if (!pItem) { - pArray->set(0,new KviKvsVariant((kvs_int_t)-1)); - pArray->set(1,new KviKvsVariant((kvs_int_t)-1)); + KviKvsArray * pArray; + QPoint pPoint = ((QTableWidget *)widget())->viewport()->mapFromGlobal(QPoint(iXpos, iYpos)); + QTableWidgetItem * pItem = ((QTableWidget *)widget())->itemAt(pPoint.x(), pPoint.y()); + pArray = new KviKvsArray(); + if(!pItem) + { + pArray->set(0, new KviKvsVariant((kvs_int_t)-1)); + pArray->set(1, new KviKvsVariant((kvs_int_t)-1)); } - else { - pArray->set(0,new KviKvsVariant((kvs_int_t)pItem->row())); - pArray->set(1,new KviKvsVariant((kvs_int_t)pItem->column())); + else + { + pArray->set(0, new KviKvsVariant((kvs_int_t)pItem->row())); + pArray->set(1, new KviKvsVariant((kvs_int_t)pItem->column())); } c->returnValue()->setArray(pArray); return true; } -KVSO_CLASS_FUNCTION(tableWidget,setToolTip) +KVSO_CLASS_FUNCTION(tableWidget, setToolTip) { CHECK_INTERNAL_POINTER(widget()) QString szTooltip; - kvs_uint_t uRow,uCol; + kvs_uint_t uRow, uCol; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("row",KVS_PT_UNSIGNEDINTEGER,0,uRow) - KVSO_PARAMETER("col",KVS_PT_UNSIGNEDINTEGER,0,uCol) - KVSO_PARAMETER("tooltip",KVS_PT_STRING,0,szTooltip) + KVSO_PARAMETER("row", KVS_PT_UNSIGNEDINTEGER, 0, uRow) + KVSO_PARAMETER("col", KVS_PT_UNSIGNEDINTEGER, 0, uCol) + KVSO_PARAMETER("tooltip", KVS_PT_STRING, 0, szTooltip) KVSO_PARAMETERS_END(c) - QTableWidgetItem *pItem=((QTableWidget *)widget())->item(uRow,uCol); - if (pItem) pItem->setToolTip(szTooltip); + QTableWidgetItem * pItem = ((QTableWidget *)widget())->item(uRow, uCol); + if(pItem) + pItem->setToolTip(szTooltip); return true; } -KVSO_CLASS_FUNCTION(tableWidget,setColumnCount) +KVSO_CLASS_FUNCTION(tableWidget, setColumnCount) { CHECK_INTERNAL_POINTER(widget()) kvs_uint_t uCol; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("col",KVS_PT_UNSIGNEDINTEGER,0,uCol) + KVSO_PARAMETER("col", KVS_PT_UNSIGNEDINTEGER, 0, uCol) KVSO_PARAMETERS_END(c) ((QTableWidget *)widget())->setColumnCount(uCol); return true; } -KVSO_CLASS_FUNCTION(tableWidget,hideColumn) +KVSO_CLASS_FUNCTION(tableWidget, hideColumn) { CHECK_INTERNAL_POINTER(widget()) kvs_uint_t uCol; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("col",KVS_PT_UNSIGNEDINTEGER,0,uCol) + KVSO_PARAMETER("col", KVS_PT_UNSIGNEDINTEGER, 0, uCol) KVSO_PARAMETERS_END(c) ((QTableWidget *)widget())->hideColumn(uCol); return true; } -KVSO_CLASS_FUNCTION(tableWidget,showColumn) +KVSO_CLASS_FUNCTION(tableWidget, showColumn) { CHECK_INTERNAL_POINTER(widget()) kvs_uint_t uCol; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("col",KVS_PT_UNSIGNEDINTEGER,0,uCol) + KVSO_PARAMETER("col", KVS_PT_UNSIGNEDINTEGER, 0, uCol) KVSO_PARAMETERS_END(c) ((QTableWidget *)widget())->showColumn(uCol); return true; } -KVSO_CLASS_FUNCTION(tableWidget,hideRow) +KVSO_CLASS_FUNCTION(tableWidget, hideRow) { CHECK_INTERNAL_POINTER(widget()) kvs_uint_t uRow; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("col",KVS_PT_UNSIGNEDINTEGER,0,uRow) + KVSO_PARAMETER("col", KVS_PT_UNSIGNEDINTEGER, 0, uRow) KVSO_PARAMETERS_END(c) ((QTableWidget *)widget())->hideRow(uRow); return true; } -KVSO_CLASS_FUNCTION(tableWidget,showRow) +KVSO_CLASS_FUNCTION(tableWidget, showRow) { CHECK_INTERNAL_POINTER(widget()) kvs_uint_t uRow; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("col",KVS_PT_UNSIGNEDINTEGER,0,uRow) + KVSO_PARAMETER("col", KVS_PT_UNSIGNEDINTEGER, 0, uRow) KVSO_PARAMETERS_END(c) ((QTableWidget *)widget())->showRow(uRow); return true; } -KVSO_CLASS_FUNCTION(tableWidget,setHorizontalHeaderLabels) +KVSO_CLASS_FUNCTION(tableWidget, setHorizontalHeaderLabels) { CHECK_INTERNAL_POINTER(widget()) KviKvsArrayCast ac; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("labels",KVS_PT_ARRAYCAST,0,ac) + KVSO_PARAMETER("labels", KVS_PT_ARRAYCAST, 0, ac) KVSO_PARAMETERS_END(c) QStringList szColumns; if(KviKvsArray * a = ac.array()) @@ -681,7 +683,8 @@ KVSO_CLASS_FUNCTION(tableWidget,setHorizontalHeaderLabels) v->asString(tmp); szColumns.append(tmp); } - else szColumns.append(""); + else + szColumns.append(""); uIdx++; } } @@ -689,12 +692,12 @@ KVSO_CLASS_FUNCTION(tableWidget,setHorizontalHeaderLabels) return true; } -KVSO_CLASS_FUNCTION(tableWidget,setVerticalHeaderLabels) +KVSO_CLASS_FUNCTION(tableWidget, setVerticalHeaderLabels) { CHECK_INTERNAL_POINTER(widget()) KviKvsArrayCast ac; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("labels",KVS_PT_ARRAYCAST,0,ac) + KVSO_PARAMETER("labels", KVS_PT_ARRAYCAST, 0, ac) KVSO_PARAMETERS_END(c) QStringList szColumns; if(KviKvsArray * a = ac.array()) @@ -710,7 +713,8 @@ KVSO_CLASS_FUNCTION(tableWidget,setVerticalHeaderLabels) v->asString(tmp); szColumns.append(tmp); } - else szColumns.append(""); + else + szColumns.append(""); uIdx++; } } @@ -718,70 +722,70 @@ KVSO_CLASS_FUNCTION(tableWidget,setVerticalHeaderLabels) return true; } -KVSO_CLASS_FUNCTION(tableWidget,setCellWidget) +KVSO_CLASS_FUNCTION(tableWidget, setCellWidget) { CHECK_INTERNAL_POINTER(widget()) KviKvsObject * pObject; kvs_hobject_t hObject; - kvs_uint_t uRow,uCol; + kvs_uint_t uRow, uCol; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("row",KVS_PT_UNSIGNEDINTEGER,0,uRow) - KVSO_PARAMETER("column",KVS_PT_UNSIGNEDINTEGER,0,uCol) - KVSO_PARAMETER("widget",KVS_PT_HOBJECT,0,hObject) - KVSO_PARAMETERS_END(c) - pObject=KviKvsKernel::instance()->objectController()->lookupObject(hObject); + KVSO_PARAMETER("row", KVS_PT_UNSIGNEDINTEGER, 0, uRow) + KVSO_PARAMETER("column", KVS_PT_UNSIGNEDINTEGER, 0, uCol) + KVSO_PARAMETER("widget", KVS_PT_HOBJECT, 0, hObject) + KVSO_PARAMETERS_END(c) + pObject = KviKvsKernel::instance()->objectController()->lookupObject(hObject); CHECK_HOBJECT_IS_WIDGET(pObject) - ((QTableWidget *)object())->setCellWidget(uRow,uCol,((QWidget *)(pObject->object()))); + ((QTableWidget *)object())->setCellWidget(uRow, uCol, ((QWidget *)(pObject->object()))); return true; } -KVSO_CLASS_FUNCTION(tableWidget,hideHorizontalHeader) +KVSO_CLASS_FUNCTION(tableWidget, hideHorizontalHeader) { Q_UNUSED(c); ((QTableWidget *)widget())->horizontalHeader()->hide(); return true; } -KVSO_CLASS_FUNCTION(tableWidget,hideVerticalHeader) +KVSO_CLASS_FUNCTION(tableWidget, hideVerticalHeader) { Q_UNUSED(c); ((QTableWidget *)widget())->verticalHeader()->hide(); return true; } -KVSO_CLASS_FUNCTION(tableWidget,showHorizontalHeader) +KVSO_CLASS_FUNCTION(tableWidget, showHorizontalHeader) { Q_UNUSED(c); ((QTableWidget *)widget())->horizontalHeader()->show(); return true; } -KVSO_CLASS_FUNCTION(tableWidget,showVerticalHeader) +KVSO_CLASS_FUNCTION(tableWidget, showVerticalHeader) { Q_UNUSED(c); ((QTableWidget *)widget())->verticalHeader()->show(); return true; } -KVSO_CLASS_FUNCTION(tableWidget,setItemFlags) +KVSO_CLASS_FUNCTION(tableWidget, setItemFlags) { CHECK_INTERNAL_POINTER(widget()) QStringList itemflags; - kvs_uint_t iRow,iCol; + kvs_uint_t iRow, iCol; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("row",KVS_PT_UNSIGNEDINTEGER,0,iRow) - KVSO_PARAMETER("column",KVS_PT_UNSIGNEDINTEGER,0,iCol) - KVSO_PARAMETER("flags",KVS_PT_STRINGLIST,KVS_PF_OPTIONAL,itemflags) - KVSO_PARAMETERS_END(c) - int flag,sum=0; - for ( int i=0;isetCheckState(0,Qt::Unchecked); sum = sum | flag; - } else { - c->warning(__tr2qs_ctx("Unknown item flag '%Q'","objects"),&itemflags.at(i)); + } + else + { + c->warning(__tr2qs_ctx("Unknown item flag '%Q'", "objects"), &itemflags.at(i)); } } - QTableWidgetItem *pItem=((QTableWidget *)widget())->item(iRow,iCol); - if(pItem) pItem->setFlags((Qt::ItemFlags)sum); + QTableWidgetItem * pItem = ((QTableWidget *)widget())->item(iRow, iCol); + if(pItem) + pItem->setFlags((Qt::ItemFlags)sum); return true; } void KvsObject_tableWidget::slotItemEntered(QTableWidgetItem * i) { - KviKvsVariantList params(new KviKvsVariant((kvs_int_t)i->row()),new KviKvsVariant((kvs_int_t)i->column())); - callFunction(this,"itemEnteredEvent",0,¶ms); + KviKvsVariantList params(new KviKvsVariant((kvs_int_t)i->row()), new KviKvsVariant((kvs_int_t)i->column())); + callFunction(this, "itemEnteredEvent", 0, ¶ms); } -KVSO_CLASS_FUNCTION(tableWidget,itemEnteredEvent) +KVSO_CLASS_FUNCTION(tableWidget, itemEnteredEvent) { - emitSignal("itemEntered",c,c->params()); + emitSignal("itemEntered", c, c->params()); return true; } -void KvsObject_tableWidget::cellActivated(int iRow,int iCol) +void KvsObject_tableWidget::cellActivated(int iRow, int iCol) { - KviKvsVariantList params(new KviKvsVariant((kvs_int_t)iRow),new KviKvsVariant((kvs_int_t)iCol)); - callFunction(this,"cellActivatedEvent",0,¶ms); + KviKvsVariantList params(new KviKvsVariant((kvs_int_t)iRow), new KviKvsVariant((kvs_int_t)iCol)); + callFunction(this, "cellActivatedEvent", 0, ¶ms); } -KVSO_CLASS_FUNCTION(tableWidget,cellActivatedEvent) +KVSO_CLASS_FUNCTION(tableWidget, cellActivatedEvent) { - emitSignal("cellActivated",c,c->params()); + emitSignal("cellActivated", c, c->params()); return true; } -void KvsObject_tableWidget::cellDoubleClicked(int iRow,int iCol) +void KvsObject_tableWidget::cellDoubleClicked(int iRow, int iCol) { - KviKvsVariantList params(new KviKvsVariant((kvs_int_t)iRow),new KviKvsVariant((kvs_int_t)iCol)); - callFunction(this,"cellDoubleClickedEvent",0,¶ms); + KviKvsVariantList params(new KviKvsVariant((kvs_int_t)iRow), new KviKvsVariant((kvs_int_t)iCol)); + callFunction(this, "cellDoubleClickedEvent", 0, ¶ms); } -KVSO_CLASS_FUNCTION(tableWidget,cellDoubleClickedEvent) +KVSO_CLASS_FUNCTION(tableWidget, cellDoubleClickedEvent) { - emitSignal("cellDoubleClicked",c,c->params()); + emitSignal("cellDoubleClicked", c, c->params()); return true; } bool KvsObject_tableWidget::paint(QPainter * p, const QStyleOptionViewItem & option, const QModelIndex & index) @@ -839,28 +846,28 @@ bool KvsObject_tableWidget::paint(QPainter * p, const QStyleOptionViewItem & opt p->save(); KviKvsObjectClass * pClass = KviKvsKernel::instance()->objectController()->lookupClass("painter"); KviKvsVariantList params; - KviKvsObject * pObject = pClass->allocateInstance(0,"internalpainter",m_pContext,¶ms); + KviKvsObject * pObject = pClass->allocateInstance(0, "internalpainter", m_pContext, ¶ms); ((KvsObject_painter *)pObject)->setInternalPainter(p); p->setClipRect(option.rect); - p->translate(option.rect.x(),option.rect.y()); - int col=index.column(); - int row=index.row(); - kvs_hobject_t handle=pObject->handle(); - kvs_int_t cell_height=(kvs_int_t)option.rect.height(); - kvs_int_t cell_width=(kvs_int_t)option.rect.width(); - KviKvsVariantList parameters(new KviKvsVariant(handle),new KviKvsVariant((kvs_int_t) row),new KviKvsVariant((kvs_int_t) col),new KviKvsVariant(cell_width),new KviKvsVariant(cell_height)); - bool ret=false; + p->translate(option.rect.x(), option.rect.y()); + int col = index.column(); + int row = index.row(); + kvs_hobject_t handle = pObject->handle(); + kvs_int_t cell_height = (kvs_int_t)option.rect.height(); + kvs_int_t cell_width = (kvs_int_t)option.rect.width(); + KviKvsVariantList parameters(new KviKvsVariant(handle), new KviKvsVariant((kvs_int_t)row), new KviKvsVariant((kvs_int_t)col), new KviKvsVariant(cell_width), new KviKvsVariant(cell_height)); + bool ret = false; KviKvsVariant oReturnBuffer(ret); - callFunction(this,"paintCellEvent",&oReturnBuffer,¶meters); - pObject=KviKvsKernel::instance()->objectController()->lookupObject(handle); - if (pObject) + callFunction(this, "paintCellEvent", &oReturnBuffer, ¶meters); + pObject = KviKvsKernel::instance()->objectController()->lookupObject(handle); + if(pObject) pObject->dieNow(); p->restore(); return oReturnBuffer.asBoolean(); } -KviCellItemDelegate::KviCellItemDelegate(QAbstractItemView * pWidget,KvsObject_tableWidget * parent) -: QItemDelegate(pWidget), m_pParentScript(parent) +KviCellItemDelegate::KviCellItemDelegate(QAbstractItemView * pWidget, KvsObject_tableWidget * parent) + : QItemDelegate(pWidget), m_pParentScript(parent) { } @@ -870,24 +877,24 @@ KviCellItemDelegate::~KviCellItemDelegate() void KviCellItemDelegate::paint(QPainter * pPainter, const QStyleOptionViewItem & option, const QModelIndex & index) const { - if (m_pParentScript->paint(pPainter,option,index)) - QItemDelegate::paint(pPainter,option,index); + if(m_pParentScript->paint(pPainter, option, index)) + QItemDelegate::paint(pPainter, option, index); } -QSize KviCellItemDelegate::sizeHint(const QStyleOptionViewItem &option, const QModelIndex & index) const +QSize KviCellItemDelegate::sizeHint(const QStyleOptionViewItem & option, const QModelIndex & index) const { KviKvsVariant vSizeBuffer; - KviKvsVariantList parameters(new KviKvsVariant((kvs_int_t) index.row()),new KviKvsVariant((kvs_int_t) index.column())); - m_pParentScript->callFunction(m_pParentScript,"sizeHintCellRequestEvent",&vSizeBuffer,¶meters); + KviKvsVariantList parameters(new KviKvsVariant((kvs_int_t)index.row()), new KviKvsVariant((kvs_int_t)index.column())); + m_pParentScript->callFunction(m_pParentScript, "sizeHintCellRequestEvent", &vSizeBuffer, ¶meters); if(vSizeBuffer.isArray()) { - if(vSizeBuffer.array()->size()==2) + if(vSizeBuffer.array()->size() == 2) { - kvs_int_t w,h; + kvs_int_t w, h; if(vSizeBuffer.array()->at(0)->asInteger(w) && vSizeBuffer.array()->at(1)->asInteger(h)) - return QSize(w,h); + return QSize(w, h); } } - return QItemDelegate::sizeHint(option,index); + return QItemDelegate::sizeHint(option, index); } diff --git a/src/modules/objects/KvsObject_tableWidget.h b/src/modules/objects/KvsObject_tableWidget.h index 4b7455d42..b25613c36 100644 --- a/src/modules/objects/KvsObject_tableWidget.h +++ b/src/modules/objects/KvsObject_tableWidget.h @@ -39,10 +39,12 @@ class KvsObject_tableWidget; class KviCellItemDelegate : public QItemDelegate { public: - KviCellItemDelegate(QAbstractItemView * pWidget = 0,KvsObject_tableWidget *pParent=0); + KviCellItemDelegate(QAbstractItemView * pWidget = 0, KvsObject_tableWidget * pParent = 0); ~KviCellItemDelegate(); + protected: - KvsObject_tableWidget *m_pParentScript; + KvsObject_tableWidget * m_pParentScript; + public: QSize sizeHint(const QStyleOptionViewItem & option, const QModelIndex & index) const; void paint(QPainter * pPainter, const QStyleOptionViewItem & option, const QModelIndex & index) const; @@ -59,56 +61,56 @@ public: protected: KviKvsRunTimeContext * m_pContext; - KviCellItemDelegate * m_pCellItemDelegate; + KviCellItemDelegate * m_pCellItemDelegate; + protected: - virtual bool init(KviKvsRunTimeContext * pContext,KviKvsVariantList *pParams); - - bool setText(KviKvsObjectFunctionCall *c); - bool setForeground(KviKvsObjectFunctionCall *c); - bool setNumber(KviKvsObjectFunctionCall *c); - bool setToolTip(KviKvsObjectFunctionCall *c); - bool text(KviKvsObjectFunctionCall *c); - bool setIcon(KviKvsObjectFunctionCall *c); - bool setItemFlags(KviKvsObjectFunctionCall *c); - - bool setColumnCount(KviKvsObjectFunctionCall *c); - bool columnCount(KviKvsObjectFunctionCall *c); - bool setRowCount(KviKvsObjectFunctionCall *c); - bool currentRow(KviKvsObjectFunctionCall *c); - bool currentColumn(KviKvsObjectFunctionCall *c); - bool itemRowColAt(KviKvsObjectFunctionCall *c); - - bool rowCount(KviKvsObjectFunctionCall *c); - - bool insertRow(KviKvsObjectFunctionCall *c); - bool insertColumn(KviKvsObjectFunctionCall *c); - bool removeRow(KviKvsObjectFunctionCall *c); - bool removeColumn(KviKvsObjectFunctionCall *c); - - - bool setHorizontalHeaderLabels(KviKvsObjectFunctionCall *c); - bool setVerticalHeaderLabels(KviKvsObjectFunctionCall *c); - bool setCellWidget(KviKvsObjectFunctionCall *c); - - bool hideHorizontalHeader(KviKvsObjectFunctionCall *c); - bool showHorizontalHeader(KviKvsObjectFunctionCall *c); - bool hideVerticalHeader(KviKvsObjectFunctionCall *c); - bool showVerticalHeader(KviKvsObjectFunctionCall *c); - bool clear(KviKvsObjectFunctionCall *c); - bool itemEnteredEvent(KviKvsObjectFunctionCall *c); - bool cellActivatedEvent(KviKvsObjectFunctionCall *c); - bool cellDoubleClickedEvent(KviKvsObjectFunctionCall *c); - - bool hideColumn(KviKvsObjectFunctionCall *c); - bool showColumn(KviKvsObjectFunctionCall *c); - bool hideRow(KviKvsObjectFunctionCall *c); - bool showRow(KviKvsObjectFunctionCall *c); - bool resizeRowsToContents(KviKvsObjectFunctionCall *c); - bool resizeColumnsToContents(KviKvsObjectFunctionCall *c); + virtual bool init(KviKvsRunTimeContext * pContext, KviKvsVariantList * pParams); + + bool setText(KviKvsObjectFunctionCall * c); + bool setForeground(KviKvsObjectFunctionCall * c); + bool setNumber(KviKvsObjectFunctionCall * c); + bool setToolTip(KviKvsObjectFunctionCall * c); + bool text(KviKvsObjectFunctionCall * c); + bool setIcon(KviKvsObjectFunctionCall * c); + bool setItemFlags(KviKvsObjectFunctionCall * c); + + bool setColumnCount(KviKvsObjectFunctionCall * c); + bool columnCount(KviKvsObjectFunctionCall * c); + bool setRowCount(KviKvsObjectFunctionCall * c); + bool currentRow(KviKvsObjectFunctionCall * c); + bool currentColumn(KviKvsObjectFunctionCall * c); + bool itemRowColAt(KviKvsObjectFunctionCall * c); + + bool rowCount(KviKvsObjectFunctionCall * c); + + bool insertRow(KviKvsObjectFunctionCall * c); + bool insertColumn(KviKvsObjectFunctionCall * c); + bool removeRow(KviKvsObjectFunctionCall * c); + bool removeColumn(KviKvsObjectFunctionCall * c); + + bool setHorizontalHeaderLabels(KviKvsObjectFunctionCall * c); + bool setVerticalHeaderLabels(KviKvsObjectFunctionCall * c); + bool setCellWidget(KviKvsObjectFunctionCall * c); + + bool hideHorizontalHeader(KviKvsObjectFunctionCall * c); + bool showHorizontalHeader(KviKvsObjectFunctionCall * c); + bool hideVerticalHeader(KviKvsObjectFunctionCall * c); + bool showVerticalHeader(KviKvsObjectFunctionCall * c); + bool clear(KviKvsObjectFunctionCall * c); + bool itemEnteredEvent(KviKvsObjectFunctionCall * c); + bool cellActivatedEvent(KviKvsObjectFunctionCall * c); + bool cellDoubleClickedEvent(KviKvsObjectFunctionCall * c); + + bool hideColumn(KviKvsObjectFunctionCall * c); + bool showColumn(KviKvsObjectFunctionCall * c); + bool hideRow(KviKvsObjectFunctionCall * c); + bool showRow(KviKvsObjectFunctionCall * c); + bool resizeRowsToContents(KviKvsObjectFunctionCall * c); + bool resizeColumnsToContents(KviKvsObjectFunctionCall * c); protected slots: void slotItemEntered(QTableWidgetItem *); - void cellActivated(int iRow,int iCol); - void cellDoubleClicked(int iRow,int iCol); + void cellActivated(int iRow, int iCol); + void cellDoubleClicked(int iRow, int iCol); }; -#endif // !_CLASS_TABLEWIDGET_H_ +#endif // !_CLASS_TABLEWIDGET_H_ diff --git a/src/modules/objects/KvsObject_textBrowser.cpp b/src/modules/objects/KvsObject_textBrowser.cpp index 428fa9644..be89766f2 100644 --- a/src/modules/objects/KvsObject_textBrowser.cpp +++ b/src/modules/objects/KvsObject_textBrowser.cpp @@ -23,7 +23,6 @@ // //============================================================================= - #include "KvsObject_textBrowser.h" #include "KviError.h" #include "kvi_debug.h" @@ -66,41 +65,40 @@ This signal is emitted by the default implementation of the [classfnc]$linkClickedEvent[/classfnc]() function. */ -KVSO_BEGIN_REGISTERCLASS(KvsObject_textBrowser,"textBrowser","multilineedit") - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_textBrowser,setSource) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_textBrowser,forward) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_textBrowser,backward) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_textBrowser,home) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_textBrowser,reload) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_textBrowser,linkClickedEvent) +KVSO_BEGIN_REGISTERCLASS(KvsObject_textBrowser, "textBrowser", "multilineedit") +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_textBrowser, setSource) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_textBrowser, forward) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_textBrowser, backward) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_textBrowser, home) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_textBrowser, reload) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_textBrowser, linkClickedEvent) KVSO_END_REGISTERCLASS(KvsObject_textBrowser) -KVSO_BEGIN_CONSTRUCTOR(KvsObject_textBrowser,KvsObject_textedit) +KVSO_BEGIN_CONSTRUCTOR(KvsObject_textBrowser, KvsObject_textedit) KVSO_END_CONSTRUCTOR(KvsObject_textBrowser) - KVSO_BEGIN_DESTRUCTOR(KvsObject_textBrowser) KVSO_END_CONSTRUCTOR(KvsObject_textBrowser) -bool KvsObject_textBrowser::init(KviKvsRunTimeContext *,KviKvsVariantList *) +bool KvsObject_textBrowser::init(KviKvsRunTimeContext *, KviKvsVariantList *) { SET_OBJECT(QTextBrowser); - connect(obj,SIGNAL(anchorClicked(const QUrl &)),this,SLOT(anchorClicked(const QUrl &))); + connect(obj, SIGNAL(anchorClicked(const QUrl &)), this, SLOT(anchorClicked(const QUrl &))); return true; } -KVSO_CLASS_FUNCTION(textBrowser,setSource) +KVSO_CLASS_FUNCTION(textBrowser, setSource) { CHECK_INTERNAL_POINTER(widget()) QString szFile; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("file_name",KVS_PT_STRING,0,szFile) + KVSO_PARAMETER("file_name", 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); + c->warning(__tr2qs_ctx("I can't find the specified file '%Q'.", "objects"), &szFile); return true; } QUrl url; @@ -109,42 +107,42 @@ KVSO_CLASS_FUNCTION(textBrowser,setSource) return true; } -KVSO_CLASS_FUNCTION(textBrowser,forward) +KVSO_CLASS_FUNCTION(textBrowser, forward) { CHECK_INTERNAL_POINTER(widget()) ((QTextBrowser *)widget())->forward(); return true; } -KVSO_CLASS_FUNCTION(textBrowser,backward) +KVSO_CLASS_FUNCTION(textBrowser, backward) { CHECK_INTERNAL_POINTER(widget()) ((QTextBrowser *)widget())->backward(); return true; } -KVSO_CLASS_FUNCTION(textBrowser,home) +KVSO_CLASS_FUNCTION(textBrowser, home) { CHECK_INTERNAL_POINTER(widget()) ((QTextBrowser *)widget())->home(); return true; } -KVSO_CLASS_FUNCTION(textBrowser,reload) +KVSO_CLASS_FUNCTION(textBrowser, reload) { CHECK_INTERNAL_POINTER(widget()) ((QTextBrowser *)widget())->reload(); return true; } -void KvsObject_textBrowser::anchorClicked(const QUrl &url) +void KvsObject_textBrowser::anchorClicked(const QUrl & url) { KviKvsVariantList parms(new KviKvsVariant(url.path())); - callFunction(this,"linkClickedEvent",0,&parms); + callFunction(this, "linkClickedEvent", 0, &parms); } -KVSO_CLASS_FUNCTION(textBrowser,linkClickedEvent) +KVSO_CLASS_FUNCTION(textBrowser, linkClickedEvent) { - emitSignal("linkClicked",c,c->params()); + emitSignal("linkClicked", c, c->params()); return true; } diff --git a/src/modules/objects/KvsObject_textBrowser.h b/src/modules/objects/KvsObject_textBrowser.h index 2adcc36f3..a4fc36041 100644 --- a/src/modules/objects/KvsObject_textBrowser.h +++ b/src/modules/objects/KvsObject_textBrowser.h @@ -1,5 +1,5 @@ -#ifndef _CLASS_TBROWSER_H_ -#define _CLASS_TBROWSER_H_ +#ifndef _CLASS_TBROWSER_H_ +#define _CLASS_TBROWSER_H_ //============================================================================= // // File : KvsObject_textBrowser.h @@ -38,16 +38,16 @@ public: public: QWidget * widget() { return (QWidget *)object(); }; protected: - virtual bool init(KviKvsRunTimeContext * pContext,KviKvsVariantList *pParams); + virtual bool init(KviKvsRunTimeContext * pContext, KviKvsVariantList * pParams); - bool setSource(KviKvsObjectFunctionCall *c); - bool forward(KviKvsObjectFunctionCall *c); - bool backward(KviKvsObjectFunctionCall *c); - bool home(KviKvsObjectFunctionCall *c); - bool reload(KviKvsObjectFunctionCall *c); - bool linkClickedEvent(KviKvsObjectFunctionCall *c); + bool setSource(KviKvsObjectFunctionCall * c); + bool forward(KviKvsObjectFunctionCall * c); + bool backward(KviKvsObjectFunctionCall * c); + bool home(KviKvsObjectFunctionCall * c); + bool reload(KviKvsObjectFunctionCall * c); + bool linkClickedEvent(KviKvsObjectFunctionCall * c); protected slots: void anchorClicked(const QUrl &); }; -#endif //!_CLASS_TBROWSER_H_ +#endif //!_CLASS_TBROWSER_H_ diff --git a/src/modules/objects/KvsObject_toolBar.cpp b/src/modules/objects/KvsObject_toolBar.cpp index 861b51c79..dd16f73e7 100644 --- a/src/modules/objects/KvsObject_toolBar.cpp +++ b/src/modules/objects/KvsObject_toolBar.cpp @@ -59,51 +59,50 @@ Deletes all the toolbars child widgets. */ -KVSO_BEGIN_REGISTERCLASS(KvsObject_toolBar,"toolbar","widget") - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_toolBar,addSeparator) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_toolBar,setLabel) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_toolBar,label) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_toolBar,clear) +KVSO_BEGIN_REGISTERCLASS(KvsObject_toolBar, "toolbar", "widget") +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_toolBar, addSeparator) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_toolBar, setLabel) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_toolBar, label) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_toolBar, clear) KVSO_END_REGISTERCLASS(KvsObject_toolBar) -KVSO_BEGIN_CONSTRUCTOR(KvsObject_toolBar,KvsObject_widget) +KVSO_BEGIN_CONSTRUCTOR(KvsObject_toolBar, KvsObject_widget) KVSO_END_CONSTRUCTOR(KvsObject_toolBar) - KVSO_BEGIN_DESTRUCTOR(KvsObject_toolBar) KVSO_END_CONSTRUCTOR(KvsObject_toolBar) -bool KvsObject_toolBar::init(KviKvsRunTimeContext * ,KviKvsVariantList *) +bool KvsObject_toolBar::init(KviKvsRunTimeContext *, KviKvsVariantList *) { SET_OBJECT(QToolBar) return true; } -KVSO_CLASS_FUNCTION(toolBar,addSeparator) +KVSO_CLASS_FUNCTION(toolBar, addSeparator) { CHECK_INTERNAL_POINTER(widget()) ((QToolBar *)widget())->addSeparator(); return true; } -KVSO_CLASS_FUNCTION(toolBar,setLabel) +KVSO_CLASS_FUNCTION(toolBar, setLabel) { CHECK_INTERNAL_POINTER(widget()) QString szLabel; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("label",KVS_PT_STRING,0,szLabel) + KVSO_PARAMETER("label", KVS_PT_STRING, 0, szLabel) KVSO_PARAMETERS_END(c) ((QToolBar *)widget())->setWindowTitle(szLabel); return true; } -KVSO_CLASS_FUNCTION(toolBar,label) +KVSO_CLASS_FUNCTION(toolBar, label) { CHECK_INTERNAL_POINTER(widget()) c->returnValue()->setString(((QToolBar *)widget())->windowTitle()); return true; } -KVSO_CLASS_FUNCTION(toolBar,clear) +KVSO_CLASS_FUNCTION(toolBar, clear) { CHECK_INTERNAL_POINTER(widget()) ((QToolBar *)object())->clear(); diff --git a/src/modules/objects/KvsObject_toolBar.h b/src/modules/objects/KvsObject_toolBar.h index 21f733519..ce6fa0620 100644 --- a/src/modules/objects/KvsObject_toolBar.h +++ b/src/modules/objects/KvsObject_toolBar.h @@ -35,13 +35,13 @@ public: public: QWidget * widget() { return (QWidget *)object(); }; protected: - virtual bool init(KviKvsRunTimeContext * pContext,KviKvsVariantList *pParams); + virtual bool init(KviKvsRunTimeContext * pContext, KviKvsVariantList * pParams); - bool addSeparator(KviKvsObjectFunctionCall *c); - bool setLabel(KviKvsObjectFunctionCall *c); - bool label(KviKvsObjectFunctionCall *c); - bool setStretchableWidget(KviKvsObjectFunctionCall *c); - bool clear(KviKvsObjectFunctionCall *c); + bool addSeparator(KviKvsObjectFunctionCall * c); + bool setLabel(KviKvsObjectFunctionCall * c); + bool label(KviKvsObjectFunctionCall * c); + bool setStretchableWidget(KviKvsObjectFunctionCall * c); + bool clear(KviKvsObjectFunctionCall * c); }; -#endif //!_CLASS_TOOLBAR_H_ +#endif //!_CLASS_TOOLBAR_H_ diff --git a/src/modules/objects/KvsObject_toolButton.cpp b/src/modules/objects/KvsObject_toolButton.cpp index d768ff30a..6ada08c2d 100644 --- a/src/modules/objects/KvsObject_toolButton.cpp +++ b/src/modules/objects/KvsObject_toolButton.cpp @@ -91,53 +91,50 @@ This signal is emitted by the default implementation of [classfnc]$clickEvent[/classfnc]().[br] */ - -KVSO_BEGIN_REGISTERCLASS(KvsObject_toolButton,"toolbutton","widget") - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_toolButton,setImage) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_toolButton,setUsesBigPixmap) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_toolButton,usesBigPixmap) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_toolButton,setUsesTextLabel) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_toolButton,usesTextLabel) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_toolButton,setAutoRaise) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_toolButton,autoRaise) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_toolButton,setTextLabel) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_toolButton,textLabel) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_toolButton,setPopup) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_toolButton,openPopup) - - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_toolButton,setToggleButton) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_toolButton,toggle) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_toolButton,setOn) - - - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_toolButton,setTextPosition) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_toolButton,textPosition) - - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_toolButton,clickEvent) +KVSO_BEGIN_REGISTERCLASS(KvsObject_toolButton, "toolbutton", "widget") +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_toolButton, setImage) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_toolButton, setUsesBigPixmap) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_toolButton, usesBigPixmap) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_toolButton, setUsesTextLabel) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_toolButton, usesTextLabel) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_toolButton, setAutoRaise) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_toolButton, autoRaise) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_toolButton, setTextLabel) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_toolButton, textLabel) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_toolButton, setPopup) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_toolButton, openPopup) + +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_toolButton, setToggleButton) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_toolButton, toggle) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_toolButton, setOn) + +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_toolButton, setTextPosition) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_toolButton, textPosition) + +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_toolButton, clickEvent) KVSO_END_REGISTERCLASS(KvsObject_toolButton) -KVSO_BEGIN_CONSTRUCTOR(KvsObject_toolButton,KvsObject_widget) +KVSO_BEGIN_CONSTRUCTOR(KvsObject_toolButton, KvsObject_widget) KVSO_END_CONSTRUCTOR(KvsObject_toolButton) - KVSO_BEGIN_DESTRUCTOR(KvsObject_toolButton) KVSO_END_CONSTRUCTOR(KvsObject_toolButton) -bool KvsObject_toolButton::init(KviKvsRunTimeContext *,KviKvsVariantList *) +bool KvsObject_toolButton::init(KviKvsRunTimeContext *, KviKvsVariantList *) { SET_OBJECT(QToolButton); - connect(widget(),SIGNAL(clicked()),this,SLOT(slotClicked())); + connect(widget(), SIGNAL(clicked()), this, SLOT(slotClicked())); return true; } -KVSO_CLASS_FUNCTION(toolButton,setImage) +KVSO_CLASS_FUNCTION(toolButton, setImage) { CHECK_INTERNAL_POINTER(widget()) QString icon; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("icon_id",KVS_PT_STRING,0,icon) + KVSO_PARAMETER("icon_id", KVS_PT_STRING, 0, icon) KVSO_PARAMETERS_END(c) QPixmap * pix = g_pIconManager->getImage(icon); if(pix) @@ -147,138 +144,139 @@ KVSO_CLASS_FUNCTION(toolButton,setImage) return true; } -KVSO_CLASS_FUNCTION(toolButton,setUsesBigPixmap) +KVSO_CLASS_FUNCTION(toolButton, setUsesBigPixmap) { CHECK_INTERNAL_POINTER(widget()) bool bEnabled; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("bEnabled",KVS_PT_BOOL,0,bEnabled) + KVSO_PARAMETER("bEnabled", KVS_PT_BOOL, 0, bEnabled) KVSO_PARAMETERS_END(c) - ((QToolButton *)widget())->setIconSize(bEnabled ? QSize(32,32) : QSize(22,22)); + ((QToolButton *)widget())->setIconSize(bEnabled ? QSize(32, 32) : QSize(22, 22)); return true; } -KVSO_CLASS_FUNCTION(toolButton,usesBigPixmap) +KVSO_CLASS_FUNCTION(toolButton, usesBigPixmap) { CHECK_INTERNAL_POINTER(widget()) c->returnValue()->setBoolean(((QToolButton *)widget())->iconSize().height() > 22); return true; } -KVSO_CLASS_FUNCTION(toolButton,setUsesTextLabel) +KVSO_CLASS_FUNCTION(toolButton, setUsesTextLabel) { CHECK_INTERNAL_POINTER(widget()) bool bEnabled; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("bEnabled",KVS_PT_BOOL,0,bEnabled) + KVSO_PARAMETER("bEnabled", KVS_PT_BOOL, 0, bEnabled) KVSO_PARAMETERS_END(c) - ((QToolButton *)widget())->setToolButtonStyle(bEnabled?Qt::ToolButtonTextUnderIcon : Qt::ToolButtonIconOnly); + ((QToolButton *)widget())->setToolButtonStyle(bEnabled ? Qt::ToolButtonTextUnderIcon : Qt::ToolButtonIconOnly); return true; } -KVSO_CLASS_FUNCTION(toolButton,usesTextLabel) +KVSO_CLASS_FUNCTION(toolButton, usesTextLabel) { CHECK_INTERNAL_POINTER(widget()) c->returnValue()->setBoolean(((QToolButton *)widget())->toolButtonStyle() != Qt::ToolButtonIconOnly); return true; } -KVSO_CLASS_FUNCTION(toolButton,setAutoRaise) +KVSO_CLASS_FUNCTION(toolButton, setAutoRaise) { CHECK_INTERNAL_POINTER(widget()) bool bEnabled; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("bEnabled",KVS_PT_BOOL,0,bEnabled) + KVSO_PARAMETER("bEnabled", KVS_PT_BOOL, 0, bEnabled) KVSO_PARAMETERS_END(c) ((QToolButton *)widget())->setAutoRaise(bEnabled); return true; } -KVSO_CLASS_FUNCTION(toolButton,autoRaise) +KVSO_CLASS_FUNCTION(toolButton, autoRaise) { CHECK_INTERNAL_POINTER(widget()) c->returnValue()->setBoolean(((QToolButton *)widget())->autoRaise()); return true; } -KVSO_CLASS_FUNCTION(toolButton,setOn) +KVSO_CLASS_FUNCTION(toolButton, setOn) { CHECK_INTERNAL_POINTER(widget()) bool bEnabled; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("bEnabled",KVS_PT_BOOL,0,bEnabled) + KVSO_PARAMETER("bEnabled", KVS_PT_BOOL, 0, bEnabled) KVSO_PARAMETERS_END(c) ((QToolButton *)widget())->setChecked(bEnabled); return true; } -KVSO_CLASS_FUNCTION(toolButton,setToggleButton) +KVSO_CLASS_FUNCTION(toolButton, setToggleButton) { CHECK_INTERNAL_POINTER(widget()) bool bEnabled; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("bEnabled",KVS_PT_BOOL,0,bEnabled) + KVSO_PARAMETER("bEnabled", KVS_PT_BOOL, 0, bEnabled) KVSO_PARAMETERS_END(c) ((QToolButton *)widget())->setCheckable(bEnabled); return true; } -KVSO_CLASS_FUNCTION(toolButton,toggle) +KVSO_CLASS_FUNCTION(toolButton, toggle) { CHECK_INTERNAL_POINTER(widget()) ((QToolButton *)widget())->toggle(); return true; } -KVSO_CLASS_FUNCTION(toolButton,setTextLabel) +KVSO_CLASS_FUNCTION(toolButton, setTextLabel) { CHECK_INTERNAL_POINTER(widget()) - QString szLabel,szTip; + QString szLabel, szTip; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("label",KVS_PT_STRING,0,szLabel) - KVSO_PARAMETER("tooltip",KVS_PT_STRING,KVS_PF_OPTIONAL,szTip) + KVSO_PARAMETER("label", KVS_PT_STRING, 0, szLabel) + KVSO_PARAMETER("tooltip", KVS_PT_STRING, KVS_PF_OPTIONAL, szTip) KVSO_PARAMETERS_END(c) ((QToolButton *)widget())->setText(szLabel); - if (!szTip.isEmpty()) ((QToolButton *)widget())->setToolTip(szTip); + if(!szTip.isEmpty()) + ((QToolButton *)widget())->setToolTip(szTip); return true; } -KVSO_CLASS_FUNCTION(toolButton,textLabel) +KVSO_CLASS_FUNCTION(toolButton, textLabel) { CHECK_INTERNAL_POINTER(widget()) c->returnValue()->setString(((QToolButton *)widget())->text()); return true; } -KVSO_CLASS_FUNCTION(toolButton,setPopup) +KVSO_CLASS_FUNCTION(toolButton, setPopup) { CHECK_INTERNAL_POINTER(widget()) - KviKvsObject *ob; + KviKvsObject * ob; kvs_hobject_t hObject; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("widget",KVS_PT_HOBJECT,0,hObject) + KVSO_PARAMETER("widget", KVS_PT_HOBJECT, 0, hObject) KVSO_PARAMETERS_END(c) - ob=KviKvsKernel::instance()->objectController()->lookupObject(hObject); - if (!ob) + ob = KviKvsKernel::instance()->objectController()->lookupObject(hObject); + if(!ob) { - c->warning(__tr2qs_ctx("Widget parameter is not an object","objects")); + c->warning(__tr2qs_ctx("Widget parameter is not an object", "objects")); return true; } - if (!ob->object()) + if(!ob->object()) { - c->warning(__tr2qs_ctx("Widget parameter is not a valid object","objects")); + c->warning(__tr2qs_ctx("Widget parameter is not a valid object", "objects")); return true; } if(!ob->inheritsClass("popupmenu")) { - c->warning(__tr2qs_ctx("Can't add a non-popupmenu object","objects")); + c->warning(__tr2qs_ctx("Can't add a non-popupmenu object", "objects")); return true; } - ((QToolButton *)widget())->setMenu(((QMenu *)(ob->object()))); + ((QToolButton *)widget())->setMenu(((QMenu *)(ob->object()))); return true; } -KVSO_CLASS_FUNCTION(toolButton,openPopup) +KVSO_CLASS_FUNCTION(toolButton, openPopup) { CHECK_INTERNAL_POINTER(widget()) ((QToolButton *)widget())->showMenu(); @@ -302,40 +300,40 @@ KVSO_CLASS_FUNCTION(toolButton,popupDelay) return true; } */ -KVSO_CLASS_FUNCTION(toolButton,setTextPosition) +KVSO_CLASS_FUNCTION(toolButton, setTextPosition) { CHECK_INTERNAL_POINTER(widget()) QString szPos; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("position",KVS_PT_STRING,0,szPos) + KVSO_PARAMETER("position", KVS_PT_STRING, 0, szPos) KVSO_PARAMETERS_END(c) - if(KviQString::equalCI(szPos,"BesideIcon")) + if(KviQString::equalCI(szPos, "BesideIcon")) ((QToolButton *)widget())->setToolButtonStyle(Qt::ToolButtonTextBesideIcon); - else if(KviQString::equalCI(szPos,"BelowIcon")) + else if(KviQString::equalCI(szPos, "BelowIcon")) ((QToolButton *)widget())->setToolButtonStyle(Qt::ToolButtonTextUnderIcon); else - c->warning(__tr2qs_ctx("Unknown text position '%Q'","objects"),&szPos); + c->warning(__tr2qs_ctx("Unknown text position '%Q'", "objects"), &szPos); return true; } -KVSO_CLASS_FUNCTION(toolButton,textPosition) +KVSO_CLASS_FUNCTION(toolButton, textPosition) { CHECK_INTERNAL_POINTER(widget()) - QString szPos="BelowIcon"; - if ((((QToolButton *)widget())->toolButtonStyle())==(Qt::ToolButtonTextBesideIcon)) - szPos="BesideIcon"; + QString szPos = "BelowIcon"; + if((((QToolButton *)widget())->toolButtonStyle()) == (Qt::ToolButtonTextBesideIcon)) + szPos = "BesideIcon"; c->returnValue()->setString(szPos); return true; } -KVSO_CLASS_FUNCTION(toolButton,clickEvent) +KVSO_CLASS_FUNCTION(toolButton, clickEvent) { - emitSignal("clicked",c); + emitSignal("clicked", c); return true; } void KvsObject_toolButton::slotClicked() { - KviKvsVariantList *params=0; - callFunction(this,"clickEvent",params); + KviKvsVariantList * params = 0; + callFunction(this, "clickEvent", params); } diff --git a/src/modules/objects/KvsObject_toolButton.h b/src/modules/objects/KvsObject_toolButton.h index d4b35b2a1..f9dcbb7d7 100644 --- a/src/modules/objects/KvsObject_toolButton.h +++ b/src/modules/objects/KvsObject_toolButton.h @@ -25,8 +25,6 @@ // //============================================================================= - - #include "KvsObject_widget.h" #include "object_macros.h" @@ -38,33 +36,32 @@ public: public: QWidget * widget() { return (QWidget *)object(); }; protected: - virtual bool init(KviKvsRunTimeContext * pContext,KviKvsVariantList *pParams); + virtual bool init(KviKvsRunTimeContext * pContext, KviKvsVariantList * pParams); - bool setImage(KviKvsObjectFunctionCall *c); - bool setUsesBigPixmap(KviKvsObjectFunctionCall *c); - bool usesBigPixmap(KviKvsObjectFunctionCall *c); - bool setUsesTextLabel(KviKvsObjectFunctionCall *c); - bool usesTextLabel(KviKvsObjectFunctionCall *c); - bool setTextLabel(KviKvsObjectFunctionCall *c); - bool textLabel(KviKvsObjectFunctionCall *c); - bool setPopup(KviKvsObjectFunctionCall *c); - bool openPopup(KviKvsObjectFunctionCall *c); - bool setOn(KviKvsObjectFunctionCall *c); - bool setToggleButton(KviKvsObjectFunctionCall *c); - bool toggle(KviKvsObjectFunctionCall *c); -// bool setPopupDelay(KviKvsObjectFunctionCall *c); -// bool popupDelay(KviKvsObjectFunctionCall *c); - bool setTextPosition(KviKvsObjectFunctionCall *c); - bool textPosition(KviKvsObjectFunctionCall *c); + bool setImage(KviKvsObjectFunctionCall * c); + bool setUsesBigPixmap(KviKvsObjectFunctionCall * c); + bool usesBigPixmap(KviKvsObjectFunctionCall * c); + bool setUsesTextLabel(KviKvsObjectFunctionCall * c); + bool usesTextLabel(KviKvsObjectFunctionCall * c); + bool setTextLabel(KviKvsObjectFunctionCall * c); + bool textLabel(KviKvsObjectFunctionCall * c); + bool setPopup(KviKvsObjectFunctionCall * c); + bool openPopup(KviKvsObjectFunctionCall * c); + bool setOn(KviKvsObjectFunctionCall * c); + bool setToggleButton(KviKvsObjectFunctionCall * c); + bool toggle(KviKvsObjectFunctionCall * c); + // bool setPopupDelay(KviKvsObjectFunctionCall *c); + // bool popupDelay(KviKvsObjectFunctionCall *c); + bool setTextPosition(KviKvsObjectFunctionCall * c); + bool textPosition(KviKvsObjectFunctionCall * c); - bool setAutoRaise(KviKvsObjectFunctionCall *c); - bool autoRaise(KviKvsObjectFunctionCall *c); - bool clickEvent(KviKvsObjectFunctionCall *c); + bool setAutoRaise(KviKvsObjectFunctionCall * c); + bool autoRaise(KviKvsObjectFunctionCall * c); + bool clickEvent(KviKvsObjectFunctionCall * c); signals: void clicked(); protected slots: void slotClicked(); }; - -#endif //!_CLASS_TOOLBUTTON_H_ +#endif //!_CLASS_TOOLBUTTON_H_ diff --git a/src/modules/objects/KvsObject_trayIcon.cpp b/src/modules/objects/KvsObject_trayIcon.cpp index e2591be50..2b0211c76 100644 --- a/src/modules/objects/KvsObject_trayIcon.cpp +++ b/src/modules/objects/KvsObject_trayIcon.cpp @@ -31,9 +31,6 @@ #include - - - /* @doc: trayicon @keyterms: @@ -94,149 +91,154 @@ This signal is emitted by the default implementation of [classfnc]$messageClickedEvent[/classfnc]. */ -KVSO_BEGIN_REGISTERCLASS(KvsObject_trayIcon,"trayicon","object") - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_trayIcon,show) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_trayIcon,hide) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_trayIcon,isVisible) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_trayIcon,setIcon) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_trayIcon,setTooltip) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_trayIcon,showMessage) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_trayIcon,setContextMenu) - // events - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_trayIcon,activatedEvent) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_trayIcon,messageClickedEvent) +KVSO_BEGIN_REGISTERCLASS(KvsObject_trayIcon, "trayicon", "object") +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_trayIcon, show) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_trayIcon, hide) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_trayIcon, isVisible) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_trayIcon, setIcon) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_trayIcon, setTooltip) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_trayIcon, showMessage) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_trayIcon, setContextMenu) +// events +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_trayIcon, activatedEvent) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_trayIcon, messageClickedEvent) KVSO_END_REGISTERCLASS(KvsObject_trayIcon) - -KVSO_BEGIN_CONSTRUCTOR(KvsObject_trayIcon,KviKvsObject) - m_pTrayIcon = new QSystemTrayIcon(0); - connect(m_pTrayIcon,SIGNAL(activated(QSystemTrayIcon::ActivationReason)),this,SLOT(slotActivated(QSystemTrayIcon::ActivationReason))); - connect(m_pTrayIcon,SIGNAL(messageClicked()),this,SLOT(slotMessageClicked())); +KVSO_BEGIN_CONSTRUCTOR(KvsObject_trayIcon, KviKvsObject) +m_pTrayIcon = new QSystemTrayIcon(0); +connect(m_pTrayIcon, SIGNAL(activated(QSystemTrayIcon::ActivationReason)), this, SLOT(slotActivated(QSystemTrayIcon::ActivationReason))); +connect(m_pTrayIcon, SIGNAL(messageClicked()), this, SLOT(slotMessageClicked())); KVSO_END_CONSTRUCTOR(KvsObject_trayIcon) KVSO_BEGIN_DESTRUCTOR(KvsObject_trayIcon) - delete m_pTrayIcon; +delete m_pTrayIcon; KVSO_END_DESTRUCTOR(KvsObject_trayIcon) - -KVSO_CLASS_FUNCTION(trayIcon,setIcon) +KVSO_CLASS_FUNCTION(trayIcon, setIcon) { CHECK_INTERNAL_POINTER(m_pTrayIcon) QString szIcon; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("icon",KVS_PT_STRING,0,szIcon) + KVSO_PARAMETER("icon", KVS_PT_STRING, 0, szIcon) KVSO_PARAMETERS_END(c) QPixmap * pix = g_pIconManager->getImage(szIcon); - if(pix) m_pTrayIcon->setIcon(*pix); + if(pix) + m_pTrayIcon->setIcon(*pix); return true; } -KVSO_CLASS_FUNCTION(trayIcon,setTooltip) +KVSO_CLASS_FUNCTION(trayIcon, setTooltip) { CHECK_INTERNAL_POINTER(m_pTrayIcon) QString szTooltip; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("icon",KVS_PT_STRING,0,szTooltip) + KVSO_PARAMETER("icon", KVS_PT_STRING, 0, szTooltip) KVSO_PARAMETERS_END(c) m_pTrayIcon->setToolTip(szTooltip); return true; } -KVSO_CLASS_FUNCTION(trayIcon,show) +KVSO_CLASS_FUNCTION(trayIcon, show) { CHECK_INTERNAL_POINTER(m_pTrayIcon) m_pTrayIcon->show(); return true; } -KVSO_CLASS_FUNCTION(trayIcon,hide) +KVSO_CLASS_FUNCTION(trayIcon, hide) { CHECK_INTERNAL_POINTER(m_pTrayIcon) m_pTrayIcon->show(); return true; } -KVSO_CLASS_FUNCTION(trayIcon,isVisible) +KVSO_CLASS_FUNCTION(trayIcon, isVisible) { CHECK_INTERNAL_POINTER(m_pTrayIcon) c->returnValue()->setBoolean(m_pTrayIcon->isVisible()); return true; } -KVSO_CLASS_FUNCTION(trayIcon,showMessage) +KVSO_CLASS_FUNCTION(trayIcon, showMessage) { CHECK_INTERNAL_POINTER(m_pTrayIcon) - QString szMessage,szTitle,szMessageIcon; + QString szMessage, szTitle, szMessageIcon; kvs_uint_t uTimeout; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("title",KVS_PT_STRING,0,szTitle) - KVSO_PARAMETER("message",KVS_PT_STRING,0,szMessage) - KVSO_PARAMETER("icon",KVS_PT_STRING,0,szMessageIcon) - KVSO_PARAMETER("timeout",KVS_PT_UINT,0,uTimeout) + KVSO_PARAMETER("title", KVS_PT_STRING, 0, szTitle) + KVSO_PARAMETER("message", KVS_PT_STRING, 0, szMessage) + KVSO_PARAMETER("icon", KVS_PT_STRING, 0, szMessageIcon) + KVSO_PARAMETER("timeout", KVS_PT_UINT, 0, uTimeout) KVSO_PARAMETERS_END(c) - QSystemTrayIcon::MessageIcon message=QSystemTrayIcon::NoIcon; - if(KviQString::equalCI(szMessageIcon,"NoIcon")) message= QSystemTrayIcon::NoIcon; - else if(KviQString::equalCI(szMessageIcon,"Information"))message= QSystemTrayIcon::Information; - else if(KviQString::equalCI(szMessageIcon,"Warning")) message= QSystemTrayIcon::Warning; - else if(KviQString::equalCI(szMessageIcon,"Critical")) message= QSystemTrayIcon::Critical; - else c->warning(__tr2qs_ctx("Invalid message Icon: switch to default NoIcon '%Q'","objects"),&szMessageIcon); - m_pTrayIcon->showMessage(szTitle,szMessage,message,uTimeout); + QSystemTrayIcon::MessageIcon message = QSystemTrayIcon::NoIcon; + if(KviQString::equalCI(szMessageIcon, "NoIcon")) + message = QSystemTrayIcon::NoIcon; + else if(KviQString::equalCI(szMessageIcon, "Information")) + message = QSystemTrayIcon::Information; + else if(KviQString::equalCI(szMessageIcon, "Warning")) + message = QSystemTrayIcon::Warning; + else if(KviQString::equalCI(szMessageIcon, "Critical")) + message = QSystemTrayIcon::Critical; + else + c->warning(__tr2qs_ctx("Invalid message Icon: switch to default NoIcon '%Q'", "objects"), &szMessageIcon); + m_pTrayIcon->showMessage(szTitle, szMessage, message, uTimeout); return true; } -KVSO_CLASS_FUNCTION(trayIcon,setContextMenu) +KVSO_CLASS_FUNCTION(trayIcon, setContextMenu) { CHECK_INTERNAL_POINTER(m_pTrayIcon) - KviKvsObject *ob; + KviKvsObject * ob; kvs_hobject_t hObject; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("widget",KVS_PT_HOBJECT,0,hObject) + KVSO_PARAMETER("widget", KVS_PT_HOBJECT, 0, hObject) KVSO_PARAMETERS_END(c) - ob=KviKvsKernel::instance()->objectController()->lookupObject(hObject); - if (!ob) + ob = KviKvsKernel::instance()->objectController()->lookupObject(hObject); + if(!ob) { - c->warning(__tr2qs_ctx("Widget parameter is not an object","objects")); + c->warning(__tr2qs_ctx("Widget parameter is not an object", "objects")); return true; } - if (!ob->object()) + if(!ob->object()) { - c->warning(__tr2qs_ctx("Widget parameter is not a valid object","objects")); + c->warning(__tr2qs_ctx("Widget parameter is not a valid object", "objects")); return true; } if(!ob->inheritsClass("popupmenu")) { - c->warning(__tr2qs_ctx("Can't add a non-popupmenu object","objects")); + c->warning(__tr2qs_ctx("Can't add a non-popupmenu object", "objects")); return true; } - m_pTrayIcon->setContextMenu(((QMenu *)(ob->object()))); + m_pTrayIcon->setContextMenu(((QMenu *)(ob->object()))); return true; } -KVSO_CLASS_FUNCTION(trayIcon,activatedEvent) +KVSO_CLASS_FUNCTION(trayIcon, activatedEvent) { - emitSignal("activated",c,c->params()); + emitSignal("activated", c, c->params()); return true; } -KVSO_CLASS_FUNCTION(trayIcon,messageClickedEvent) +KVSO_CLASS_FUNCTION(trayIcon, messageClickedEvent) { - emitSignal("messageClicked",c,c->params()); + emitSignal("messageClicked", c, c->params()); return true; } void KvsObject_trayIcon::slotMessageClicked() { - KviKvsVariantList *lParams=0; - callFunction(this,"messageClickedEvent",0,lParams); + KviKvsVariantList * lParams = 0; + callFunction(this, "messageClickedEvent", 0, lParams); } void KvsObject_trayIcon::slotActivated(QSystemTrayIcon::ActivationReason reason) { QString szReason; - if (reason==QSystemTrayIcon::Unknown) - szReason="Unknown"; - else if(reason==QSystemTrayIcon::Context) - szReason="Context"; - else if(reason==QSystemTrayIcon::DoubleClick) - szReason="DoubleClick"; - else if(reason==QSystemTrayIcon::Trigger) - szReason="Trigger"; - else szReason="MiddleClick"; + if(reason == QSystemTrayIcon::Unknown) + szReason = "Unknown"; + else if(reason == QSystemTrayIcon::Context) + szReason = "Context"; + else if(reason == QSystemTrayIcon::DoubleClick) + szReason = "DoubleClick"; + else if(reason == QSystemTrayIcon::Trigger) + szReason = "Trigger"; + else + szReason = "MiddleClick"; KviKvsVariantList lParams; lParams.append(new KviKvsVariant(szReason)); - callFunction(this,"activatedEvent",0,&lParams); + callFunction(this, "activatedEvent", 0, &lParams); } diff --git a/src/modules/objects/KvsObject_trayIcon.h b/src/modules/objects/KvsObject_trayIcon.h index fa9019750..9e4c9a740 100644 --- a/src/modules/objects/KvsObject_trayIcon.h +++ b/src/modules/objects/KvsObject_trayIcon.h @@ -24,8 +24,6 @@ // //============================================================================= - - #include "object_macros.h" #include #include @@ -36,17 +34,18 @@ class KvsObject_trayIcon : public KviKvsObject public: KVSO_DECLARE_OBJECT(KvsObject_trayIcon) protected: - QSystemTrayIcon *m_pTrayIcon; + QSystemTrayIcon * m_pTrayIcon; + protected: - bool setIcon(KviKvsObjectFunctionCall *c); - bool show(KviKvsObjectFunctionCall *c); - bool hide(KviKvsObjectFunctionCall *c); - bool isVisible(KviKvsObjectFunctionCall *c); - bool setTooltip(KviKvsObjectFunctionCall *c); - bool showMessage(KviKvsObjectFunctionCall *c); - bool setContextMenu(KviKvsObjectFunctionCall *c); - bool activatedEvent(KviKvsObjectFunctionCall *c); - bool messageClickedEvent(KviKvsObjectFunctionCall *c); + bool setIcon(KviKvsObjectFunctionCall * c); + bool show(KviKvsObjectFunctionCall * c); + bool hide(KviKvsObjectFunctionCall * c); + bool isVisible(KviKvsObjectFunctionCall * c); + bool setTooltip(KviKvsObjectFunctionCall * c); + bool showMessage(KviKvsObjectFunctionCall * c); + bool setContextMenu(KviKvsObjectFunctionCall * c); + bool activatedEvent(KviKvsObjectFunctionCall * c); + bool messageClickedEvent(KviKvsObjectFunctionCall * c); protected slots: void slotActivated(QSystemTrayIcon::ActivationReason); diff --git a/src/modules/objects/KvsObject_treeWidget.cpp b/src/modules/objects/KvsObject_treeWidget.cpp index cd62e31fc..d8be9006e 100644 --- a/src/modules/objects/KvsObject_treeWidget.cpp +++ b/src/modules/objects/KvsObject_treeWidget.cpp @@ -154,198 +154,204 @@ This signal is emitted by the default implementation of [classfnc]$rightButtonClickedEvent[/classfnc](). */ -KVSO_BEGIN_REGISTERCLASS(KvsObject_treeWidget,"listview","widget") - - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_treeWidget,setHeaderLabels) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_treeWidget,addColumn) - - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_treeWidget,setColumnText) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_treeWidget,setColumnCount) - - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_treeWidget,setSorting) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_treeWidget,setSortingEnabled) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_treeWidget,setRootIsDecorated) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_treeWidget,setAllColumnsShowFocus) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_treeWidget,clear) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_treeWidget,selectedItems) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_treeWidget,currentItem) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_treeWidget,setSelectionMode) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_treeWidget,listViewHeaderIsVisible) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_treeWidget,itemAt) - - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_treeWidget,hideListViewHeader) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_treeWidget,showListViewHeader) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_treeWidget,firstChild) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_treeWidget,topLevelItem) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_treeWidget,topLevelItemCount) - - - - - //events - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_treeWidget,selectionChangedEvent); - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_treeWidget,currentChangedEvent); - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_treeWidget,itemActivatedEvent); - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_treeWidget,onItemEvent); - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_treeWidget,itemClickedEvent); - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_treeWidget,itemExpandedEvent); - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_treeWidget,itemCollapsedEvent); - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_treeWidget,itemChangedEvent); - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_treeWidget,setAcceptDrops); - KVSO_REGISTER_STANDARD_NOTHINGRETURN_HANDLER(KvsObject_treeWidget,"fileDroppedEvent") +KVSO_BEGIN_REGISTERCLASS(KvsObject_treeWidget, "listview", "widget") + +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_treeWidget, setHeaderLabels) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_treeWidget, addColumn) + +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_treeWidget, setColumnText) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_treeWidget, setColumnCount) + +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_treeWidget, setSorting) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_treeWidget, setSortingEnabled) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_treeWidget, setRootIsDecorated) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_treeWidget, setAllColumnsShowFocus) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_treeWidget, clear) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_treeWidget, selectedItems) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_treeWidget, currentItem) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_treeWidget, setSelectionMode) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_treeWidget, listViewHeaderIsVisible) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_treeWidget, itemAt) + +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_treeWidget, hideListViewHeader) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_treeWidget, showListViewHeader) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_treeWidget, firstChild) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_treeWidget, topLevelItem) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_treeWidget, topLevelItemCount) + +//events +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_treeWidget, selectionChangedEvent); +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_treeWidget, currentChangedEvent); +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_treeWidget, itemActivatedEvent); +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_treeWidget, onItemEvent); +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_treeWidget, itemClickedEvent); +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_treeWidget, itemExpandedEvent); +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_treeWidget, itemCollapsedEvent); +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_treeWidget, itemChangedEvent); +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_treeWidget, setAcceptDrops); +KVSO_REGISTER_STANDARD_NOTHINGRETURN_HANDLER(KvsObject_treeWidget, "fileDroppedEvent") KVSO_END_REGISTERCLASS(KvsObject_treeWidget) -KVSO_BEGIN_CONSTRUCTOR(KvsObject_treeWidget,KvsObject_widget) +KVSO_BEGIN_CONSTRUCTOR(KvsObject_treeWidget, KvsObject_widget) KVSO_END_CONSTRUCTOR(KvsObject_treeWidget) - KVSO_BEGIN_DESTRUCTOR(KvsObject_treeWidget) KVSO_END_CONSTRUCTOR(KvsObject_treeWidget) -bool KvsObject_treeWidget::init(KviKvsRunTimeContext *,KviKvsVariantList *) +bool KvsObject_treeWidget::init(KviKvsRunTimeContext *, KviKvsVariantList *) { - setObject(new KviKvsTreeWidget(parentScriptWidget(),getName().toUtf8().data(),this),true); + setObject(new KviKvsTreeWidget(parentScriptWidget(), getName().toUtf8().data(), this), true); // hack for compatibility with "old" addColumn method; - ((QTreeWidget*) widget())->setColumnCount(0); - - connect(widget(),SIGNAL(itemClicked(QTreeWidgetItem *,int)),this,SLOT(slotClicked(QTreeWidgetItem *,int))); - connect(widget(),SIGNAL(itemSelectionChanged()),this,SLOT(slotSelectionChanged())); - connect(widget(),SIGNAL(currentItemChanged(QTreeWidgetItem *,QTreeWidgetItem *)),this,SLOT(slotCurrentChanged(QTreeWidgetItem *,QTreeWidgetItem *))); - connect(widget(),SIGNAL(itemActivated(QTreeWidgetItem *,int)),this,SLOT(slotItemActivated(QTreeWidgetItem *,int))); - connect(widget(),SIGNAL(itemEntered(QTreeWidgetItem *,int)),this,SLOT(slotOnItemEntered(QTreeWidgetItem *,int))); - connect(widget(),SIGNAL(itemExpanded(QTreeWidgetItem *)),this,SLOT(slotItemExpanded(QTreeWidgetItem *))); - connect(widget(),SIGNAL(itemCollapsed(QTreeWidgetItem *)),this,SLOT(slotItemCollapsed(QTreeWidgetItem *))); - connect(widget(),SIGNAL(itemChanged(QTreeWidgetItem *,int)),this,SLOT(slotItemChanged(QTreeWidgetItem *,int))); + ((QTreeWidget *)widget())->setColumnCount(0); + + connect(widget(), SIGNAL(itemClicked(QTreeWidgetItem *, int)), this, SLOT(slotClicked(QTreeWidgetItem *, int))); + connect(widget(), SIGNAL(itemSelectionChanged()), this, SLOT(slotSelectionChanged())); + connect(widget(), SIGNAL(currentItemChanged(QTreeWidgetItem *, QTreeWidgetItem *)), this, SLOT(slotCurrentChanged(QTreeWidgetItem *, QTreeWidgetItem *))); + connect(widget(), SIGNAL(itemActivated(QTreeWidgetItem *, int)), this, SLOT(slotItemActivated(QTreeWidgetItem *, int))); + connect(widget(), SIGNAL(itemEntered(QTreeWidgetItem *, int)), this, SLOT(slotOnItemEntered(QTreeWidgetItem *, int))); + connect(widget(), SIGNAL(itemExpanded(QTreeWidgetItem *)), this, SLOT(slotItemExpanded(QTreeWidgetItem *))); + connect(widget(), SIGNAL(itemCollapsed(QTreeWidgetItem *)), this, SLOT(slotItemCollapsed(QTreeWidgetItem *))); + connect(widget(), SIGNAL(itemChanged(QTreeWidgetItem *, int)), this, SLOT(slotItemChanged(QTreeWidgetItem *, int))); return true; } -KVSO_CLASS_FUNCTION(treeWidget,setHeaderLabels) +KVSO_CLASS_FUNCTION(treeWidget, setHeaderLabels) { QStringList columns; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("labels",KVS_PT_STRINGLIST,KVS_PF_OPTIONAL,columns) + KVSO_PARAMETER("labels", KVS_PT_STRINGLIST, KVS_PF_OPTIONAL, columns) KVSO_PARAMETERS_END(c) - if (widget()) + if(widget()) ((QTreeWidget *)object())->setHeaderLabels(columns); return true; } -KVSO_CLASS_FUNCTION(treeWidget,setColumnText) +KVSO_CLASS_FUNCTION(treeWidget, setColumnText) { - if (!widget()) return true; + if(!widget()) + return true; QString szLabel; kvs_int_t iCol; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("column",KVS_PT_INT,0,iCol) - KVSO_PARAMETER("label",KVS_PT_STRING,0,szLabel) + KVSO_PARAMETER("column", KVS_PT_INT, 0, iCol) + KVSO_PARAMETER("label", KVS_PT_STRING, 0, szLabel) KVSO_PARAMETERS_END(c) - QTreeWidgetItem *header=((QTreeWidget *)widget())->headerItem(); - header->setText(iCol,szLabel); + QTreeWidgetItem * header = ((QTreeWidget *)widget())->headerItem(); + header->setText(iCol, szLabel); return true; } -KVSO_CLASS_FUNCTION(treeWidget,topLevelItem) +KVSO_CLASS_FUNCTION(treeWidget, topLevelItem) { - if (!widget()) return true; + if(!widget()) + return true; kvs_int_t iIdx; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("index",KVS_PT_INT,0,iIdx) + KVSO_PARAMETER("index", KVS_PT_INT, 0, iIdx) KVSO_PARAMETERS_END(c) - QTreeWidgetItem *pItem=((QTreeWidget *)widget())->topLevelItem(iIdx); - if (!pItem) c->returnValue()->setHObject((kvs_hobject_t)0); - else c->returnValue()->setHObject(KvsObject_treeWidgetItem::itemToHandle(pItem)); + QTreeWidgetItem * pItem = ((QTreeWidget *)widget())->topLevelItem(iIdx); + if(!pItem) + c->returnValue()->setHObject((kvs_hobject_t)0); + else + c->returnValue()->setHObject(KvsObject_treeWidgetItem::itemToHandle(pItem)); return true; } -KVSO_CLASS_FUNCTION(treeWidget,itemAt) +KVSO_CLASS_FUNCTION(treeWidget, itemAt) { - if (!widget()) return true; - kvs_int_t iXpos,iYpos; + if(!widget()) + return true; + kvs_int_t iXpos, iYpos; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("x_pos",KVS_PT_INT,0,iXpos) - KVSO_PARAMETER("y_pos",KVS_PT_INT,0,iYpos) + KVSO_PARAMETER("x_pos", KVS_PT_INT, 0, iXpos) + KVSO_PARAMETER("y_pos", KVS_PT_INT, 0, iYpos) KVSO_PARAMETERS_END(c) - QPoint pPoint=((QTreeWidget *)widget())->viewport()->mapFromGlobal(QPoint(iXpos,iYpos)); - QTreeWidgetItem *pItem=((QTreeWidget *)widget())->itemAt(pPoint); - if (!pItem) c->returnValue()->setHObject((kvs_hobject_t)0); - else c->returnValue()->setHObject(KvsObject_treeWidgetItem::itemToHandle(pItem)); + QPoint pPoint = ((QTreeWidget *)widget())->viewport()->mapFromGlobal(QPoint(iXpos, iYpos)); + QTreeWidgetItem * pItem = ((QTreeWidget *)widget())->itemAt(pPoint); + if(!pItem) + c->returnValue()->setHObject((kvs_hobject_t)0); + else + c->returnValue()->setHObject(KvsObject_treeWidgetItem::itemToHandle(pItem)); return true; } -KVSO_CLASS_FUNCTION(treeWidget,topLevelItemCount) +KVSO_CLASS_FUNCTION(treeWidget, topLevelItemCount) { - if (!widget()) return true; + if(!widget()) + return true; c->returnValue()->setInteger(((QTreeWidget *)widget())->topLevelItemCount()); return true; } -KVSO_CLASS_FUNCTION(treeWidget,addColumn) +KVSO_CLASS_FUNCTION(treeWidget, addColumn) { - if (!widget()) return true; + if(!widget()) + return true; QString szLabel; kvs_int_t iW; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("label",KVS_PT_STRING,0,szLabel) - KVSO_PARAMETER("width",KVS_PT_INT,KVS_PF_OPTIONAL,iW) + KVSO_PARAMETER("label", KVS_PT_STRING, 0, szLabel) + KVSO_PARAMETER("width", KVS_PT_INT, KVS_PF_OPTIONAL, iW) KVSO_PARAMETERS_END(c) - int col=((QTreeWidget *)widget())->columnCount(); - QTreeWidgetItem *header=((QTreeWidget *)widget())->headerItem(); - header->setText(col,szLabel); - if(iW) ((QTreeWidget *)widget())->setColumnWidth(col,iW); + int col = ((QTreeWidget *)widget())->columnCount(); + QTreeWidgetItem * header = ((QTreeWidget *)widget())->headerItem(); + header->setText(col, szLabel); + if(iW) + ((QTreeWidget *)widget())->setColumnWidth(col, iW); col++; ((QTreeWidget *)widget())->setColumnCount(col); //col++; return true; } -KVSO_CLASS_FUNCTION(treeWidget,setAcceptDrops) +KVSO_CLASS_FUNCTION(treeWidget, setAcceptDrops) { bool bEnable; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("bEnable",KVS_PT_BOOLEAN,0,bEnable) + KVSO_PARAMETER("bEnable", KVS_PT_BOOLEAN, 0, bEnable) KVSO_PARAMETERS_END(c) - if (widget()) + if(widget()) ((QTreeWidget *)object())->setAcceptDrops(bEnable); return true; } -KVSO_CLASS_FUNCTION(treeWidget,clear) +KVSO_CLASS_FUNCTION(treeWidget, clear) { Q_UNUSED(c); - if (widget()) + if(widget()) ((QTreeWidget *)object())->clear(); return true; } -KVSO_CLASS_FUNCTION(treeWidget,selectedItems) +KVSO_CLASS_FUNCTION(treeWidget, selectedItems) { if(widget()) { - QList list=((QTreeWidget *)widget())->selectedItems(); + QList list = ((QTreeWidget *)widget())->selectedItems(); KviKvsArray * pArray = new KviKvsArray(); c->returnValue()->setArray(pArray); - for (int i=0;iset(i,new KviKvsVariant(KvsObject_treeWidgetItem::itemToHandle((QTreeWidgetItem*)list.at(i)))); + for(int i = 0; i < list.count(); i++) + pArray->set(i, new KviKvsVariant(KvsObject_treeWidgetItem::itemToHandle((QTreeWidgetItem *)list.at(i)))); } else c->returnValue()->setHObject((kvs_hobject_t)0); return true; } -KVSO_CLASS_FUNCTION(treeWidget,firstChild) +KVSO_CLASS_FUNCTION(treeWidget, firstChild) { if(widget()) - c->returnValue()->setHObject(KvsObject_treeWidgetItem::itemToHandle((QTreeWidgetItem*)((QTreeWidget *)widget())->topLevelItem(0))); + c->returnValue()->setHObject(KvsObject_treeWidgetItem::itemToHandle((QTreeWidgetItem *)((QTreeWidget *)widget())->topLevelItem(0))); else c->returnValue()->setHObject((kvs_hobject_t)0); return true; } -KVSO_CLASS_FUNCTION(treeWidget,currentItem) +KVSO_CLASS_FUNCTION(treeWidget, currentItem) { if(widget()) - c->returnValue()->setHObject(KvsObject_treeWidgetItem::itemToHandle((QTreeWidgetItem*)((QTreeWidget *)widget())->currentItem())); + c->returnValue()->setHObject(KvsObject_treeWidgetItem::itemToHandle((QTreeWidgetItem *)((QTreeWidget *)widget())->currentItem())); else c->returnValue()->setHObject((kvs_hobject_t)0); return true; @@ -363,220 +369,232 @@ KVSO_CLASS_FUNCTION(treeWidget,setColumnText) return true; } */ -KVSO_CLASS_FUNCTION(treeWidget,setColumnCount) +KVSO_CLASS_FUNCTION(treeWidget, setColumnCount) { kvs_uint_t uCol; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("column",KVS_PT_UNSIGNEDINTEGER,0,uCol) + KVSO_PARAMETER("column", KVS_PT_UNSIGNEDINTEGER, 0, uCol) KVSO_PARAMETERS_END(c) - if (widget())((QTreeWidget *)widget())->setColumnCount(uCol); + if(widget()) + ((QTreeWidget *)widget())->setColumnCount(uCol); return true; } -KVSO_CLASS_FUNCTION(treeWidget,setSelectionMode) +KVSO_CLASS_FUNCTION(treeWidget, setSelectionMode) { QString szMode; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("mode",KVS_PT_NONEMPTYSTRING,0,szMode) - KVSO_PARAMETERS_END(c) - if(!widget())return true; - if(KviQString::equalCI(szMode,"NoSelection")) + KVSO_PARAMETER("mode", KVS_PT_NONEMPTYSTRING, 0, szMode) + KVSO_PARAMETERS_END(c) + if(!widget()) + return true; + if(KviQString::equalCI(szMode, "NoSelection")) ((QTreeWidget *)widget())->setSelectionMode(QAbstractItemView::NoSelection); - else if(KviQString::equalCI(szMode,"Multi")) + else if(KviQString::equalCI(szMode, "Multi")) ((QTreeWidget *)widget())->setSelectionMode(QTreeWidget::MultiSelection); - else if(KviQString::equalCI(szMode,"Extended")) + else if(KviQString::equalCI(szMode, "Extended")) ((QTreeWidget *)widget())->setSelectionMode(QTreeWidget::ExtendedSelection); - else if(KviQString::equalCI(szMode,"Single")) + else if(KviQString::equalCI(szMode, "Single")) ((QTreeWidget *)widget())->setSelectionMode(QTreeWidget::SingleSelection); - else c->warning(__tr2qs_ctx("Invalid selection mode '%Q'","objects"),&szMode); + else + c->warning(__tr2qs_ctx("Invalid selection mode '%Q'", "objects"), &szMode); return true; } -KVSO_CLASS_FUNCTION(treeWidget,setSorting) +KVSO_CLASS_FUNCTION(treeWidget, setSorting) { kvs_int_t iCol; QString szOrder; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("column",KVS_PT_INT,0,iCol) - KVSO_PARAMETER("sort_order",KVS_PT_STRING,0,szOrder) + KVSO_PARAMETER("column", KVS_PT_INT, 0, iCol) + KVSO_PARAMETER("sort_order", KVS_PT_STRING, 0, szOrder) KVSO_PARAMETERS_END(c) - if (!widget())return true; - if (KviQString::equalCI(szOrder,"ascending")) ((QTreeWidget *)widget())->sortItems(iCol,Qt::AscendingOrder); - else if (KviQString::equalCI(szOrder,"descending")) ((QTreeWidget *)widget())->sortItems(iCol,Qt::DescendingOrder); - else c->warning(__tr2qs_ctx("Unknown '%Q' sort order: switching to ascending order","objects"),&szOrder); + if(!widget()) + return true; + if(KviQString::equalCI(szOrder, "ascending")) + ((QTreeWidget *)widget())->sortItems(iCol, Qt::AscendingOrder); + else if(KviQString::equalCI(szOrder, "descending")) + ((QTreeWidget *)widget())->sortItems(iCol, Qt::DescendingOrder); + else + c->warning(__tr2qs_ctx("Unknown '%Q' sort order: switching to ascending order", "objects"), &szOrder); return true; } -KVSO_CLASS_FUNCTION(treeWidget,setSortingEnabled) +KVSO_CLASS_FUNCTION(treeWidget, setSortingEnabled) { bool bEnables; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("bEnables",KVS_PT_BOOLEAN,0,bEnables) + KVSO_PARAMETER("bEnables", KVS_PT_BOOLEAN, 0, bEnables) KVSO_PARAMETERS_END(c) - if (!widget())return true; + if(!widget()) + return true; ((QTreeWidget *)widget())->setSortingEnabled(bEnables); return true; } -KVSO_CLASS_FUNCTION(treeWidget,setRootIsDecorated) +KVSO_CLASS_FUNCTION(treeWidget, setRootIsDecorated) { bool bEnabled; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("bEnabled",KVS_PT_BOOL,0,bEnabled) + KVSO_PARAMETER("bEnabled", KVS_PT_BOOL, 0, bEnabled) KVSO_PARAMETERS_END(c) - if (widget()) ((QTreeWidget *)widget())->setRootIsDecorated(bEnabled); + if(widget()) + ((QTreeWidget *)widget())->setRootIsDecorated(bEnabled); return true; } -KVSO_CLASS_FUNCTION(treeWidget,setAllColumnsShowFocus) +KVSO_CLASS_FUNCTION(treeWidget, setAllColumnsShowFocus) { bool bEnabled; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("bAllColumnsShowFocus",KVS_PT_BOOL,0,bEnabled) + KVSO_PARAMETER("bAllColumnsShowFocus", KVS_PT_BOOL, 0, bEnabled) KVSO_PARAMETERS_END(c) - if (widget())((QTreeWidget *)widget())->setAllColumnsShowFocus(bEnabled); + if(widget()) + ((QTreeWidget *)widget())->setAllColumnsShowFocus(bEnabled); return true; } -KVSO_CLASS_FUNCTION(treeWidget,hideListViewHeader) +KVSO_CLASS_FUNCTION(treeWidget, hideListViewHeader) { Q_UNUSED(c); ((QTreeWidget *)widget())->header()->hide(); return true; } -KVSO_CLASS_FUNCTION(treeWidget,showListViewHeader) +KVSO_CLASS_FUNCTION(treeWidget, showListViewHeader) { Q_UNUSED(c); ((QTreeWidget *)widget())->header()->show(); return true; } -KVSO_CLASS_FUNCTION(treeWidget,listViewHeaderIsVisible) +KVSO_CLASS_FUNCTION(treeWidget, listViewHeaderIsVisible) { c->returnValue()->setBoolean(((QTreeWidget *)widget())->header()->isVisible()); return true; } -KVSO_CLASS_FUNCTION(treeWidget,itemClickedEvent) +KVSO_CLASS_FUNCTION(treeWidget, itemClickedEvent) { - emitSignal("itemClicked",c,c->params()); + emitSignal("itemClicked", c, c->params()); return true; } -void KvsObject_treeWidget::slotClicked(QTreeWidgetItem * i,int col) +void KvsObject_treeWidget::slotClicked(QTreeWidgetItem * i, int col) { - KviKvsVariant *column=new KviKvsVariant((kvs_int_t)col); + KviKvsVariant * column = new KviKvsVariant((kvs_int_t)col); - KviKvsVariantList params(new KviKvsVariant(KvsObject_treeWidgetItem::itemToHandle(i)),column); - callFunction(this,"itemClickedEvent",0,¶ms); + KviKvsVariantList params(new KviKvsVariant(KvsObject_treeWidgetItem::itemToHandle(i)), column); + callFunction(this, "itemClickedEvent", 0, ¶ms); } -KVSO_CLASS_FUNCTION(treeWidget,selectionChangedEvent) +KVSO_CLASS_FUNCTION(treeWidget, selectionChangedEvent) { - emitSignal("selectionChanged",c,c->params()); + emitSignal("selectionChanged", c, c->params()); return true; } void KvsObject_treeWidget::slotSelectionChanged() { - if (((QTreeWidget *)widget())->selectionMode()==QTreeWidget::SingleSelection) + if(((QTreeWidget *)widget())->selectionMode() == QTreeWidget::SingleSelection) { - QTreeWidgetItem *it=(QTreeWidgetItem *) ((QTreeWidget *)widget())->currentItem(); + QTreeWidgetItem * it = (QTreeWidgetItem *)((QTreeWidget *)widget())->currentItem(); KviKvsVariantList params(new KviKvsVariant(KvsObject_treeWidgetItem::itemToHandle(it))); - callFunction(this,"selectionChangedEvent",0,¶ms); - } else { + callFunction(this, "selectionChangedEvent", 0, ¶ms); + } + else + { KviKvsVariantList params(new KviKvsVariant((kvs_hobject_t)0)); - callFunction(this,"selectionChangedEvent",0,¶ms); + callFunction(this, "selectionChangedEvent", 0, ¶ms); } } -KVSO_CLASS_FUNCTION(treeWidget,currentChangedEvent) +KVSO_CLASS_FUNCTION(treeWidget, currentChangedEvent) { - emitSignal("currentChanged",c,c->params()); + emitSignal("currentChanged", c, c->params()); return true; } -void KvsObject_treeWidget::slotCurrentChanged(QTreeWidgetItem * i,QTreeWidgetItem *prev) +void KvsObject_treeWidget::slotCurrentChanged(QTreeWidgetItem * i, QTreeWidgetItem * prev) { - KviKvsVariantList params(new KviKvsVariant(KvsObject_treeWidgetItem::itemToHandle(i)),new KviKvsVariant(KvsObject_treeWidgetItem::itemToHandle(prev))); - callFunction(this,"currentChangedEvent",0,¶ms); + KviKvsVariantList params(new KviKvsVariant(KvsObject_treeWidgetItem::itemToHandle(i)), new KviKvsVariant(KvsObject_treeWidgetItem::itemToHandle(prev))); + callFunction(this, "currentChangedEvent", 0, ¶ms); } -KVSO_CLASS_FUNCTION(treeWidget,itemActivatedEvent) +KVSO_CLASS_FUNCTION(treeWidget, itemActivatedEvent) { - emitSignal("itemActivated",c,c->params()); + emitSignal("itemActivated", c, c->params()); return true; } -void KvsObject_treeWidget::slotItemActivated(QTreeWidgetItem * i,int col) +void KvsObject_treeWidget::slotItemActivated(QTreeWidgetItem * i, int col) { - KviKvsVariant *column=new KviKvsVariant((kvs_int_t)col); - KviKvsVariantList params(new KviKvsVariant(KvsObject_treeWidgetItem::itemToHandle(i)),column); - callFunction(this,"itemActivatedEvent",0,¶ms); + KviKvsVariant * column = new KviKvsVariant((kvs_int_t)col); + KviKvsVariantList params(new KviKvsVariant(KvsObject_treeWidgetItem::itemToHandle(i)), column); + callFunction(this, "itemActivatedEvent", 0, ¶ms); } -KVSO_CLASS_FUNCTION(treeWidget,onItemEvent) +KVSO_CLASS_FUNCTION(treeWidget, onItemEvent) { - emitSignal("onItem",c,c->params()); + emitSignal("onItem", c, c->params()); return true; } -void KvsObject_treeWidget::slotOnItemEntered(QTreeWidgetItem * i,int col) +void KvsObject_treeWidget::slotOnItemEntered(QTreeWidgetItem * i, int col) { - KviKvsVariant *column=new KviKvsVariant((kvs_int_t)col); + KviKvsVariant * column = new KviKvsVariant((kvs_int_t)col); - KviKvsVariantList params(new KviKvsVariant(KvsObject_treeWidgetItem::itemToHandle(i)),column); - callFunction(this,"onItemEvent",0,¶ms); + KviKvsVariantList params(new KviKvsVariant(KvsObject_treeWidgetItem::itemToHandle(i)), column); + callFunction(this, "onItemEvent", 0, ¶ms); } -KVSO_CLASS_FUNCTION(treeWidget,itemExpandedEvent) +KVSO_CLASS_FUNCTION(treeWidget, itemExpandedEvent) { - emitSignal("itemExpanded",c,c->params()); + emitSignal("itemExpanded", c, c->params()); return true; } void KvsObject_treeWidget::slotItemExpanded(QTreeWidgetItem * i) { KviKvsVariantList params(new KviKvsVariant(KvsObject_treeWidgetItem::itemToHandle(i))); - callFunction(this,"itemExpandedEvent",0,¶ms); + callFunction(this, "itemExpandedEvent", 0, ¶ms); } -KVSO_CLASS_FUNCTION(treeWidget,itemCollapsedEvent) +KVSO_CLASS_FUNCTION(treeWidget, itemCollapsedEvent) { - emitSignal("itemCollapsed",c,c->params()); + emitSignal("itemCollapsed", c, c->params()); return true; } void KvsObject_treeWidget::slotItemCollapsed(QTreeWidgetItem * i) { KviKvsVariantList params(new KviKvsVariant(KvsObject_treeWidgetItem::itemToHandle(i))); - callFunction(this,"itemCollapsedEvent",0,¶ms); + callFunction(this, "itemCollapsedEvent", 0, ¶ms); } -KVSO_CLASS_FUNCTION(treeWidget,itemChangedEvent) +KVSO_CLASS_FUNCTION(treeWidget, itemChangedEvent) { - emitSignal("itemChanged",c,c->params()); + emitSignal("itemChanged", c, c->params()); return true; } -void KvsObject_treeWidget::slotItemChanged(QTreeWidgetItem *item,int col) +void KvsObject_treeWidget::slotItemChanged(QTreeWidgetItem * item, int col) { - KviKvsVariant *column=new KviKvsVariant((kvs_int_t)col); - KviKvsVariantList params(new KviKvsVariant(KvsObject_treeWidgetItem::itemToHandle(item)),column); - callFunction(this,"itemChangedEvent",0,¶ms); + KviKvsVariant * column = new KviKvsVariant((kvs_int_t)col); + KviKvsVariantList params(new KviKvsVariant(KvsObject_treeWidgetItem::itemToHandle(item)), column); + callFunction(this, "itemChangedEvent", 0, ¶ms); } -void KvsObject_treeWidget::fileDropped(QString &szFile,QTreeWidgetItem *item) +void KvsObject_treeWidget::fileDropped(QString & szFile, QTreeWidgetItem * item) { - KviKvsVariant *file=new KviKvsVariant(szFile); - KviKvsVariantList params(new KviKvsVariant(KvsObject_treeWidgetItem::itemToHandle(item)),file); - callFunction(this,"fileDroppedEvent",0,¶ms); + KviKvsVariant * file = new KviKvsVariant(szFile); + KviKvsVariantList params(new KviKvsVariant(KvsObject_treeWidgetItem::itemToHandle(item)), file); + callFunction(this, "fileDroppedEvent", 0, ¶ms); } -KviKvsTreeWidget::KviKvsTreeWidget(QWidget * par,const char *,KvsObject_treeWidget *parent) -:QTreeWidget(par) +KviKvsTreeWidget::KviKvsTreeWidget(QWidget * par, const char *, KvsObject_treeWidget * parent) + : QTreeWidget(par) { - m_pParentScript=parent; + m_pParentScript = parent; setAcceptDrops(true); setDragEnabled(true); setDropIndicatorShown(true); @@ -588,9 +606,9 @@ KviKvsTreeWidget::~KviKvsTreeWidget() { } -void KviKvsTreeWidget::dragEnterEvent( QDragEnterEvent * e ) +void KviKvsTreeWidget::dragEnterEvent(QDragEnterEvent * e) { - if(!e->mimeData()->hasUrls()) + if(!e->mimeData()->hasUrls()) { e->ignore(); return; @@ -598,9 +616,9 @@ void KviKvsTreeWidget::dragEnterEvent( QDragEnterEvent * e ) e->acceptProposedAction(); } -void KviKvsTreeWidget::dragMoveEvent( QDragMoveEvent * ) +void KviKvsTreeWidget::dragMoveEvent(QDragMoveEvent *) { - // ?#! + // ?#! } void KviKvsTreeWidget::dropEvent(QDropEvent * e) @@ -614,13 +632,13 @@ void KviKvsTreeWidget::dropEvent(QDropEvent * e) if(!list.isEmpty()) { QList::Iterator it = list.begin(); - for( ; it != list.end(); ++it ) + for(; it != list.end(); ++it) { QUrl url = *it; QString path = url.toLocalFile(); - qDebug("path %s",path.toUtf8().data()); - QTreeWidgetItem *i = itemAt( e->pos() ); - m_pParentScript->fileDropped(path,i); + qDebug("path %s", path.toUtf8().data()); + QTreeWidgetItem * i = itemAt(e->pos()); + m_pParentScript->fileDropped(path, i); } } } diff --git a/src/modules/objects/KvsObject_treeWidget.h b/src/modules/objects/KvsObject_treeWidget.h index cdd5a75bd..db277c107 100644 --- a/src/modules/objects/KvsObject_treeWidget.h +++ b/src/modules/objects/KvsObject_treeWidget.h @@ -39,50 +39,50 @@ public: public: QWidget * widget() { return (QWidget *)object(); }; - void fileDropped(QString &,QTreeWidgetItem *); -protected: - virtual bool init(KviKvsRunTimeContext * pContext,KviKvsVariantList *pParams); + void fileDropped(QString &, QTreeWidgetItem *); +protected: + virtual bool init(KviKvsRunTimeContext * pContext, KviKvsVariantList * pParams); - bool setBackgroundImage(KviKvsObjectFunctionCall *c); - bool addColumn(KviKvsObjectFunctionCall *c); - bool setColumnText(KviKvsObjectFunctionCall *c); - bool takeItem(KviKvsObjectFunctionCall *c); - bool setSorting(KviKvsObjectFunctionCall *c); - bool setSortingEnabled(KviKvsObjectFunctionCall *c); - bool setRootIsDecorated(KviKvsObjectFunctionCall *c); - bool clear(KviKvsObjectFunctionCall *c); - bool setAllColumnsShowFocus(KviKvsObjectFunctionCall *c); - bool itemClickedEvent(KviKvsObjectFunctionCall *c); - bool selectionChangedEvent(KviKvsObjectFunctionCall *c); - bool currentChangedEvent(KviKvsObjectFunctionCall *c); - bool itemActivatedEvent(KviKvsObjectFunctionCall *c); - bool onItemEvent(KviKvsObjectFunctionCall *c); - bool itemExpandedEvent(KviKvsObjectFunctionCall *c); - bool itemCollapsedEvent(KviKvsObjectFunctionCall *c); - bool itemChangedEvent(KviKvsObjectFunctionCall *c); - bool selectedItems(KviKvsObjectFunctionCall *c); - bool currentItem(KviKvsObjectFunctionCall *c); - bool setSelectionMode(KviKvsObjectFunctionCall *c); - bool firstChild(KviKvsObjectFunctionCall *c); - bool listViewHeaderIsVisible(KviKvsObjectFunctionCall *c); - bool showListViewHeader(KviKvsObjectFunctionCall *c); - bool hideListViewHeader(KviKvsObjectFunctionCall *c); - bool setAcceptDrops(KviKvsObjectFunctionCall *c); - bool setHeaderLabels(KviKvsObjectFunctionCall *c); - bool setColumnCount(KviKvsObjectFunctionCall *c); - bool topLevelItem(KviKvsObjectFunctionCall *c); - bool topLevelItemCount(KviKvsObjectFunctionCall *c); - bool itemAt(KviKvsObjectFunctionCall *c); + bool setBackgroundImage(KviKvsObjectFunctionCall * c); + bool addColumn(KviKvsObjectFunctionCall * c); + bool setColumnText(KviKvsObjectFunctionCall * c); + bool takeItem(KviKvsObjectFunctionCall * c); + bool setSorting(KviKvsObjectFunctionCall * c); + bool setSortingEnabled(KviKvsObjectFunctionCall * c); + bool setRootIsDecorated(KviKvsObjectFunctionCall * c); + bool clear(KviKvsObjectFunctionCall * c); + bool setAllColumnsShowFocus(KviKvsObjectFunctionCall * c); + bool itemClickedEvent(KviKvsObjectFunctionCall * c); + bool selectionChangedEvent(KviKvsObjectFunctionCall * c); + bool currentChangedEvent(KviKvsObjectFunctionCall * c); + bool itemActivatedEvent(KviKvsObjectFunctionCall * c); + bool onItemEvent(KviKvsObjectFunctionCall * c); + bool itemExpandedEvent(KviKvsObjectFunctionCall * c); + bool itemCollapsedEvent(KviKvsObjectFunctionCall * c); + bool itemChangedEvent(KviKvsObjectFunctionCall * c); + bool selectedItems(KviKvsObjectFunctionCall * c); + bool currentItem(KviKvsObjectFunctionCall * c); + bool setSelectionMode(KviKvsObjectFunctionCall * c); + bool firstChild(KviKvsObjectFunctionCall * c); + bool listViewHeaderIsVisible(KviKvsObjectFunctionCall * c); + bool showListViewHeader(KviKvsObjectFunctionCall * c); + bool hideListViewHeader(KviKvsObjectFunctionCall * c); + bool setAcceptDrops(KviKvsObjectFunctionCall * c); + bool setHeaderLabels(KviKvsObjectFunctionCall * c); + bool setColumnCount(KviKvsObjectFunctionCall * c); + bool topLevelItem(KviKvsObjectFunctionCall * c); + bool topLevelItemCount(KviKvsObjectFunctionCall * c); + bool itemAt(KviKvsObjectFunctionCall * c); protected slots: - void slotClicked(QTreeWidgetItem *,int); + void slotClicked(QTreeWidgetItem *, int); void slotSelectionChanged(); - void slotCurrentChanged(QTreeWidgetItem *,QTreeWidgetItem *); - void slotItemActivated(QTreeWidgetItem *,int col); - void slotOnItemEntered(QTreeWidgetItem *,int col); + void slotCurrentChanged(QTreeWidgetItem *, QTreeWidgetItem *); + void slotItemActivated(QTreeWidgetItem *, int col); + void slotOnItemEntered(QTreeWidgetItem *, int col); void slotItemExpanded(QTreeWidgetItem *); void slotItemCollapsed(QTreeWidgetItem *); - void slotItemChanged(QTreeWidgetItem *,int); + void slotItemChanged(QTreeWidgetItem *, int); }; class KviKvsTreeWidget : public QTreeWidget @@ -91,12 +91,14 @@ class KviKvsTreeWidget : public QTreeWidget public: KviKvsTreeWidget(QWidget * par, const char * name, KvsObject_treeWidget *); virtual ~KviKvsTreeWidget(); + protected: KvsObject_treeWidget * m_pParentScript; + protected: void dropEvent(QDropEvent * e); void dragEnterEvent(QDragEnterEvent * e); - void dragMoveEvent( QDragMoveEvent * e ); + void dragMoveEvent(QDragMoveEvent * e); }; #endif // _CLASS_TREEWIDGET_H_ diff --git a/src/modules/objects/KvsObject_treeWidgeteItem.cpp b/src/modules/objects/KvsObject_treeWidgeteItem.cpp index fb584a9e4..ad4a37e26 100644 --- a/src/modules/objects/KvsObject_treeWidgeteItem.cpp +++ b/src/modules/objects/KvsObject_treeWidgeteItem.cpp @@ -54,7 +54,7 @@ const char * const itemflags_tbl[] = { "tristate" }; -#define itemflags_num (sizeof(itemflags_tbl) / sizeof(itemflags_tbl[0])) +#define itemflags_num (sizeof(itemflags_tbl) / sizeof(itemflags_tbl[0])) /* @doc: listviewitem @@ -125,53 +125,55 @@ const char * const itemflags_tbl[] = { [/pre] */ -KVSO_BEGIN_REGISTERCLASS(KvsObject_treeWidgetItem,"listviewitem","object") - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_treeWidgetItem,setText) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_treeWidgetItem,text) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_treeWidgetItem,setPixmap); - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_treeWidgetItem,setItemEditable); - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_treeWidgetItem,isItemEditable); - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_treeWidgetItem,setEnabled); - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_treeWidgetItem,isEnabled); - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_treeWidgetItem,setOpen); - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_treeWidgetItem,isOpen); - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_treeWidgetItem,setCheckable); - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_treeWidgetItem,isCheckable); - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_treeWidgetItem,setChecked); - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_treeWidgetItem,isChecked); - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_treeWidgetItem,setFlags); +KVSO_BEGIN_REGISTERCLASS(KvsObject_treeWidgetItem, "listviewitem", "object") +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_treeWidgetItem, setText) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_treeWidgetItem, text) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_treeWidgetItem, setPixmap); +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_treeWidgetItem, setItemEditable); +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_treeWidgetItem, isItemEditable); +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_treeWidgetItem, setEnabled); +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_treeWidgetItem, isEnabled); +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_treeWidgetItem, setOpen); +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_treeWidgetItem, isOpen); +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_treeWidgetItem, setCheckable); +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_treeWidgetItem, isCheckable); +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_treeWidgetItem, setChecked); +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_treeWidgetItem, isChecked); +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_treeWidgetItem, setFlags); KVSO_END_REGISTERCLASS(KvsObject_treeWidgetItem) +KVSO_BEGIN_CONSTRUCTOR(KvsObject_treeWidgetItem, KviKvsObject) -KVSO_BEGIN_CONSTRUCTOR(KvsObject_treeWidgetItem,KviKvsObject) - - m_pTreeWidgetItem = 0; +m_pTreeWidgetItem = 0; KVSO_END_CONSTRUCTOR(KvsObject_treeWidgetItem) - KVSO_BEGIN_DESTRUCTOR(KvsObject_treeWidgetItem) - if(m_pTreeWidgetItem)delete m_pTreeWidgetItem; +if(m_pTreeWidgetItem) + delete m_pTreeWidgetItem; KVSO_END_CONSTRUCTOR(KvsObject_treeWidgetItem) -bool KvsObject_treeWidgetItem::init(KviKvsRunTimeContext * pContext,KviKvsVariantList *) +bool KvsObject_treeWidgetItem::init(KviKvsRunTimeContext * pContext, KviKvsVariantList *) { - if (!parentObject()) + if(!parentObject()) { - pContext->error(__tr2qs_ctx("The listviewitem can't be parentless","objects")); + pContext->error(__tr2qs_ctx("The listviewitem can't be parentless", "objects")); return false; } if(parentObject()->inheritsClass("listviewitem")) { - m_pTreeWidgetItem = new KviKvsStandardTreeWidgetItem(this,((KvsObject_treeWidgetItem *)parentObject())->m_pTreeWidgetItem); - } else { + m_pTreeWidgetItem = new KviKvsStandardTreeWidgetItem(this, ((KvsObject_treeWidgetItem *)parentObject())->m_pTreeWidgetItem); + } + else + { if(parentObject()->inheritsClass("listview")) - m_pTreeWidgetItem = new KviKvsStandardTreeWidgetItem(this,((QTreeWidget *)parentScriptWidget())); - else { - pContext->error(__tr2qs_ctx("The parent of the listviewitem must be either another listviewitem or a listview","objects")); + m_pTreeWidgetItem = new KviKvsStandardTreeWidgetItem(this, ((QTreeWidget *)parentScriptWidget())); + else + { + pContext->error(__tr2qs_ctx("The parent of the listviewitem must be either another listviewitem or a listview", "objects")); return false; } } @@ -181,94 +183,98 @@ bool KvsObject_treeWidgetItem::init(KviKvsRunTimeContext * pContext,KviKvsVarian void KvsObject_treeWidgetItem::childDestroyed() { - if(m_pTreeWidgetItem == 0)return; + if(m_pTreeWidgetItem == 0) + return; m_pTreeWidgetItem = 0; die(); } -KviKvsStandardTreeWidgetItem::KviKvsStandardTreeWidgetItem(KvsObject_treeWidgetItem * ob,QTreeWidget * par) -:QTreeWidgetItem(par), m_pMasterObject(ob) +KviKvsStandardTreeWidgetItem::KviKvsStandardTreeWidgetItem(KvsObject_treeWidgetItem * ob, QTreeWidget * par) + : QTreeWidgetItem(par), m_pMasterObject(ob) { } -KviKvsStandardTreeWidgetItem::KviKvsStandardTreeWidgetItem(KvsObject_treeWidgetItem * ob,QTreeWidgetItem * par) -:QTreeWidgetItem(par), m_pMasterObject(ob) +KviKvsStandardTreeWidgetItem::KviKvsStandardTreeWidgetItem(KvsObject_treeWidgetItem * ob, QTreeWidgetItem * par) + : QTreeWidgetItem(par), m_pMasterObject(ob) { } KviKvsStandardTreeWidgetItem::~KviKvsStandardTreeWidgetItem() { - if(m_pMasterObject)m_pMasterObject->childDestroyed(); + if(m_pMasterObject) + m_pMasterObject->childDestroyed(); } kvs_hobject_t KvsObject_treeWidgetItem::itemToHandle(QTreeWidgetItem * it) { - if(!it)return (kvs_hobject_t)0; + if(!it) + return (kvs_hobject_t)0; KvsObject_treeWidgetItem * pObject; pObject = ((KviKvsStandardTreeWidgetItem *)it)->masterObject(); - if(!pObject)return (kvs_hobject_t)0; + if(!pObject) + return (kvs_hobject_t)0; return pObject->handle(); } -KVSO_CLASS_FUNCTION(treeWidgetItem,setText) +KVSO_CLASS_FUNCTION(treeWidgetItem, setText) { kvs_uint_t uCol; QString szText; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("column",KVS_PT_UNSIGNEDINTEGER,0,uCol) - KVSO_PARAMETER("text",KVS_PT_STRING,0,szText) - KVSO_PARAMETERS_END(c) + KVSO_PARAMETER("column", KVS_PT_UNSIGNEDINTEGER, 0, uCol) + KVSO_PARAMETER("text", KVS_PT_STRING, 0, szText) + KVSO_PARAMETERS_END(c) if(m_pTreeWidgetItem) - m_pTreeWidgetItem->setText(uCol,szText); + m_pTreeWidgetItem->setText(uCol, szText); return true; } - -KVSO_CLASS_FUNCTION(treeWidgetItem,setItemEditable) +KVSO_CLASS_FUNCTION(treeWidgetItem, setItemEditable) { bool bEnabled; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("bEnabled",KVS_PT_BOOL,0,bEnabled) + KVSO_PARAMETER("bEnabled", KVS_PT_BOOL, 0, bEnabled) KVSO_PARAMETERS_END(c) if(m_pTreeWidgetItem) - m_pTreeWidgetItem->setFlags(bEnabled?m_pTreeWidgetItem->flags()|Qt::ItemIsEditable:m_pTreeWidgetItem->flags()&~Qt::ItemIsEditable); + m_pTreeWidgetItem->setFlags(bEnabled ? m_pTreeWidgetItem->flags() | Qt::ItemIsEditable : m_pTreeWidgetItem->flags() & ~Qt::ItemIsEditable); return true; } -KVSO_CLASS_FUNCTION(treeWidgetItem,isItemEditable) +KVSO_CLASS_FUNCTION(treeWidgetItem, isItemEditable) { if(!m_pTreeWidgetItem) { c->returnValue()->setBoolean(false); return true; } - c->returnValue()->setBoolean(m_pTreeWidgetItem->flags()&Qt::ItemIsEditable); + c->returnValue()->setBoolean(m_pTreeWidgetItem->flags() & Qt::ItemIsEditable); return true; } -KVSO_CLASS_FUNCTION(treeWidgetItem,setFlags) +KVSO_CLASS_FUNCTION(treeWidgetItem, setFlags) { QStringList itemflags; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("flags",KVS_PT_STRINGLIST,KVS_PF_OPTIONAL,itemflags) + KVSO_PARAMETER("flags", KVS_PT_STRINGLIST, KVS_PF_OPTIONAL, itemflags) KVSO_PARAMETERS_END(c) - int flag,sum=0; - for ( int i=0;isetCheckState(0,Qt::Unchecked); + if(flag) + { + if(flag == Qt::ItemIsUserCheckable) + m_pTreeWidgetItem->setCheckState(0, Qt::Unchecked); sum = sum | flag; } else - c->warning(__tr2qs_ctx("Unknown item flag '%Q'","objects"),&itemflags.at(i)); + c->warning(__tr2qs_ctx("Unknown item flag '%Q'", "objects"), &itemflags.at(i)); } if(m_pTreeWidgetItem) m_pTreeWidgetItem->setFlags((Qt::ItemFlags)sum); @@ -276,40 +282,40 @@ KVSO_CLASS_FUNCTION(treeWidgetItem,setFlags) return true; } -KVSO_CLASS_FUNCTION(treeWidgetItem,setEnabled) +KVSO_CLASS_FUNCTION(treeWidgetItem, setEnabled) { bool bEnabled; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("bEnabled",KVS_PT_BOOL,0,bEnabled) - KVSO_PARAMETERS_END(c) + KVSO_PARAMETER("bEnabled", KVS_PT_BOOL, 0, bEnabled) + KVSO_PARAMETERS_END(c) if(m_pTreeWidgetItem) - m_pTreeWidgetItem->setFlags(bEnabled?m_pTreeWidgetItem->flags()|Qt::ItemIsEnabled:m_pTreeWidgetItem->flags()&~Qt::ItemIsEnabled); + m_pTreeWidgetItem->setFlags(bEnabled ? m_pTreeWidgetItem->flags() | Qt::ItemIsEnabled : m_pTreeWidgetItem->flags() & ~Qt::ItemIsEnabled); return true; } -KVSO_CLASS_FUNCTION(treeWidgetItem,isEnabled) +KVSO_CLASS_FUNCTION(treeWidgetItem, isEnabled) { if(!m_pTreeWidgetItem) { c->returnValue()->setBoolean(false); return true; } - c->returnValue()->setBoolean(m_pTreeWidgetItem->flags()&Qt::ItemIsEnabled); + c->returnValue()->setBoolean(m_pTreeWidgetItem->flags() & Qt::ItemIsEnabled); return true; } -KVSO_CLASS_FUNCTION(treeWidgetItem,setOpen) +KVSO_CLASS_FUNCTION(treeWidgetItem, setOpen) { bool bEnabled; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("bEnabled",KVS_PT_BOOL,0,bEnabled) + KVSO_PARAMETER("bEnabled", KVS_PT_BOOL, 0, bEnabled) KVSO_PARAMETERS_END(c) if(m_pTreeWidgetItem) m_pTreeWidgetItem->setExpanded(bEnabled); return true; } -KVSO_CLASS_FUNCTION(treeWidgetItem,isOpen) +KVSO_CLASS_FUNCTION(treeWidgetItem, isOpen) { if(!m_pTreeWidgetItem) { @@ -320,93 +326,101 @@ KVSO_CLASS_FUNCTION(treeWidgetItem,isOpen) return true; } -KVSO_CLASS_FUNCTION(treeWidgetItem,setChecked) +KVSO_CLASS_FUNCTION(treeWidgetItem, setChecked) { bool bChecked; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("bChecked",KVS_PT_BOOL,0,bChecked) + KVSO_PARAMETER("bChecked", KVS_PT_BOOL, 0, bChecked) KVSO_PARAMETERS_END(c) - if(!m_pTreeWidgetItem)return true; - ((QTreeWidgetItem *)m_pTreeWidgetItem)->setCheckState(0,bChecked?Qt::Checked:Qt::Unchecked); + if(!m_pTreeWidgetItem) + return true; + ((QTreeWidgetItem *)m_pTreeWidgetItem)->setCheckState(0, bChecked ? Qt::Checked : Qt::Unchecked); return true; } -KVSO_CLASS_FUNCTION(treeWidgetItem,isChecked) +KVSO_CLASS_FUNCTION(treeWidgetItem, isChecked) { if(!m_pTreeWidgetItem) { c->returnValue()->setBoolean(false); return true; } - c->returnValue()->setBoolean(((QTreeWidgetItem *)m_pTreeWidgetItem)->checkState(0)==Qt::Checked?1:0); + c->returnValue()->setBoolean(((QTreeWidgetItem *)m_pTreeWidgetItem)->checkState(0) == Qt::Checked ? 1 : 0); return true; } -KVSO_CLASS_FUNCTION(treeWidgetItem,setCheckable) +KVSO_CLASS_FUNCTION(treeWidgetItem, setCheckable) { bool bEnabled; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("bCheckable",KVS_PT_BOOL,0,bEnabled) + KVSO_PARAMETER("bCheckable", KVS_PT_BOOL, 0, bEnabled) KVSO_PARAMETERS_END(c) - if(!m_pTreeWidgetItem)return true; - m_pTreeWidgetItem->setFlags(bEnabled?m_pTreeWidgetItem->flags()|Qt::ItemIsUserCheckable:m_pTreeWidgetItem->flags()&~Qt::ItemIsUserCheckable); + if(!m_pTreeWidgetItem) + return true; + m_pTreeWidgetItem->setFlags(bEnabled ? m_pTreeWidgetItem->flags() | Qt::ItemIsUserCheckable : m_pTreeWidgetItem->flags() & ~Qt::ItemIsUserCheckable); return true; } -KVSO_CLASS_FUNCTION(treeWidgetItem,isCheckable) +KVSO_CLASS_FUNCTION(treeWidgetItem, isCheckable) { if(!m_pTreeWidgetItem) { c->returnValue()->setBoolean(false); return true; } - c->returnValue()->setBoolean(m_pTreeWidgetItem->flags()&Qt::ItemIsUserCheckable); + c->returnValue()->setBoolean(m_pTreeWidgetItem->flags() & Qt::ItemIsUserCheckable); return true; } -KVSO_CLASS_FUNCTION(treeWidgetItem,text) +KVSO_CLASS_FUNCTION(treeWidgetItem, text) { kvs_uint_t uCol; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("column",KVS_PT_UNSIGNEDINTEGER,0,uCol) + KVSO_PARAMETER("column", KVS_PT_UNSIGNEDINTEGER, 0, uCol) KVSO_PARAMETERS_END(c) if(m_pTreeWidgetItem) c->returnValue()->setString(m_pTreeWidgetItem->text(uCol)); return true; } -KVSO_CLASS_FUNCTION(treeWidgetItem,setPixmap) +KVSO_CLASS_FUNCTION(treeWidgetItem, setPixmap) { kvs_uint_t uCol; - KviKvsObject *obPixmap; + KviKvsObject * obPixmap; kvs_hobject_t obHpixmap; KviKvsVariant * vPixmap; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("column",KVS_PT_UNSIGNEDINTEGER,0,uCol) - KVSO_PARAMETER("pixmap",KVS_PT_VARIANT,0,vPixmap) + KVSO_PARAMETER("column", KVS_PT_UNSIGNEDINTEGER, 0, uCol) + KVSO_PARAMETER("pixmap", KVS_PT_VARIANT, 0, vPixmap) KVSO_PARAMETERS_END(c) - QPixmap *pix = 0; - if (vPixmap->isEmpty()) {m_pTreeWidgetItem->setIcon(uCol,QIcon());return true;} + QPixmap * pix = 0; + if(vPixmap->isEmpty()) + { + m_pTreeWidgetItem->setIcon(uCol, QIcon()); + return true; + } if(vPixmap->isHObject()) { vPixmap->asHObject(obHpixmap); - obPixmap=KviKvsKernel::instance()->objectController()->lookupObject(obHpixmap); - if (!obPixmap->inheritsClass("pixmap")) + obPixmap = KviKvsKernel::instance()->objectController()->lookupObject(obHpixmap); + if(!obPixmap->inheritsClass("pixmap")) { - c->warning(__tr2qs_ctx("Pixmap object or image Id required","objects")); + c->warning(__tr2qs_ctx("Pixmap object or image Id required", "objects")); return true; } - pix=((KvsObject_pixmap *)obPixmap)->getPixmap(); - } else { + pix = ((KvsObject_pixmap *)obPixmap)->getPixmap(); + } + else + { QString szPix; vPixmap->asString(szPix); - pix=g_pIconManager->getImage(szPix); + pix = g_pIconManager->getImage(szPix); if(!pix) { - c->warning(__tr2qs_ctx("Error occurred: the suitable file '%Q' is not of the correct format or it is not a valid icon number.","objects"),&szPix); + c->warning(__tr2qs_ctx("Error occurred: the suitable file '%Q' is not of the correct format or it is not a valid icon number.", "objects"), &szPix); return true; } } - m_pTreeWidgetItem->setIcon(uCol,QIcon(*pix)); + m_pTreeWidgetItem->setIcon(uCol, QIcon(*pix)); return true; } diff --git a/src/modules/objects/KvsObject_treeWidgeteItem.h b/src/modules/objects/KvsObject_treeWidgeteItem.h index 821b8579a..8d3aa01f6 100644 --- a/src/modules/objects/KvsObject_treeWidgeteItem.h +++ b/src/modules/objects/KvsObject_treeWidgeteItem.h @@ -25,7 +25,6 @@ // //============================================================================= - #include "KvsObject_widget.h" #include "object_macros.h" @@ -36,43 +35,46 @@ class KvsObject_treeWidgetItem : public KviKvsObject public: KVSO_DECLARE_OBJECT(KvsObject_treeWidgetItem) void childDestroyed(); + protected: QTreeWidgetItem * m_pTreeWidgetItem; + protected: - virtual bool init(KviKvsRunTimeContext * pContext,KviKvsVariantList *pParams); + virtual bool init(KviKvsRunTimeContext * pContext, KviKvsVariantList * pParams); + protected: - bool setText(KviKvsObjectFunctionCall *c); - bool insertItem(KviKvsObjectFunctionCall *c); - bool setPixmap(KviKvsObjectFunctionCall *c); - bool setItemEditable(KviKvsObjectFunctionCall *c); - bool isItemEditable(KviKvsObjectFunctionCall *c); - bool setEnabled(KviKvsObjectFunctionCall *c); - bool isEnabled(KviKvsObjectFunctionCall *c); - bool setOpen(KviKvsObjectFunctionCall *c); - bool isOpen(KviKvsObjectFunctionCall *c); - bool text(KviKvsObjectFunctionCall *c); - bool setCheckable(KviKvsObjectFunctionCall *c); - bool isCheckable(KviKvsObjectFunctionCall *c); - bool setChecked(KviKvsObjectFunctionCall *c); - bool isChecked(KviKvsObjectFunctionCall *c); - bool setFlags(KviKvsObjectFunctionCall *c); + bool setText(KviKvsObjectFunctionCall * c); + bool insertItem(KviKvsObjectFunctionCall * c); + bool setPixmap(KviKvsObjectFunctionCall * c); + bool setItemEditable(KviKvsObjectFunctionCall * c); + bool isItemEditable(KviKvsObjectFunctionCall * c); + bool setEnabled(KviKvsObjectFunctionCall * c); + bool isEnabled(KviKvsObjectFunctionCall * c); + bool setOpen(KviKvsObjectFunctionCall * c); + bool isOpen(KviKvsObjectFunctionCall * c); + bool text(KviKvsObjectFunctionCall * c); + bool setCheckable(KviKvsObjectFunctionCall * c); + bool isCheckable(KviKvsObjectFunctionCall * c); + bool setChecked(KviKvsObjectFunctionCall * c); + bool isChecked(KviKvsObjectFunctionCall * c); + bool setFlags(KviKvsObjectFunctionCall * c); public: static kvs_hobject_t itemToHandle(QTreeWidgetItem * it); }; - class KviKvsStandardTreeWidgetItem : public QTreeWidgetItem { public: - KviKvsStandardTreeWidgetItem(KvsObject_treeWidgetItem * ob,QTreeWidget * par); - KviKvsStandardTreeWidgetItem(KvsObject_treeWidgetItem * ob,QTreeWidgetItem * par); + KviKvsStandardTreeWidgetItem(KvsObject_treeWidgetItem * ob, QTreeWidget * par); + KviKvsStandardTreeWidgetItem(KvsObject_treeWidgetItem * ob, QTreeWidgetItem * par); virtual ~KviKvsStandardTreeWidgetItem(); + protected: KvsObject_treeWidgetItem * m_pMasterObject; + public: - KvsObject_treeWidgetItem * masterObject(){ return m_pMasterObject; } + KvsObject_treeWidgetItem * masterObject() { return m_pMasterObject; } }; - #endif // _CLASS_TREEWIDGETITEM_H_ diff --git a/src/modules/objects/KvsObject_vBox.cpp b/src/modules/objects/KvsObject_vBox.cpp index 1f8067d44..a8a17d282 100644 --- a/src/modules/objects/KvsObject_vBox.cpp +++ b/src/modules/objects/KvsObject_vBox.cpp @@ -32,33 +32,30 @@ #include "KviTalVBox.h" - // Tables used in $setAlignment & $alignment const char * const align_tbl[] = { - "Left", - "Right", - "HCenter", - "VCenter", - "Center", - "Top", - "Bottom", - "Justify" - }; - - + "Left", + "Right", + "HCenter", + "VCenter", + "Center", + "Top", + "Bottom", + "Justify" +}; const int align_cod[] = { - Qt::AlignLeft, - Qt::AlignRight, - Qt::AlignHCenter, - Qt::AlignVCenter, - Qt::AlignCenter, - Qt::AlignTop, - Qt::AlignBottom, - Qt::AlignJustify, - }; - -#define align_num (sizeof(align_tbl) / sizeof(align_tbl[0])) + Qt::AlignLeft, + Qt::AlignRight, + Qt::AlignHCenter, + Qt::AlignVCenter, + Qt::AlignCenter, + Qt::AlignTop, + Qt::AlignBottom, + Qt::AlignJustify, +}; + +#define align_num (sizeof(align_tbl) / sizeof(align_tbl[0])) /* @doc: vbox @@ -98,24 +95,23 @@ const int align_cod[] = { [/pre] */ -KVSO_BEGIN_REGISTERCLASS(KvsObject_vBox,"vbox","widget") - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_vBox,setMargin) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_vBox,setSpacing) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_vBox,setStretchFactor) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_vBox,addStretch) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_vBox,setAlignment) +KVSO_BEGIN_REGISTERCLASS(KvsObject_vBox, "vbox", "widget") +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_vBox, setMargin) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_vBox, setSpacing) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_vBox, setStretchFactor) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_vBox, addStretch) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_vBox, setAlignment) KVSO_END_REGISTERCLASS(KvsObject_vBox) -KVSO_BEGIN_CONSTRUCTOR(KvsObject_vBox,KvsObject_widget) +KVSO_BEGIN_CONSTRUCTOR(KvsObject_vBox, KvsObject_widget) KVSO_END_CONSTRUCTOR(KvsObject_vBox) - KVSO_BEGIN_DESTRUCTOR(KvsObject_vBox) KVSO_END_CONSTRUCTOR(KvsObject_vBox) -bool KvsObject_vBox::init(KviKvsRunTimeContext * pContext,KviKvsVariantList *pParams) +bool KvsObject_vBox::init(KviKvsRunTimeContext * pContext, KviKvsVariantList * pParams) { Q_UNUSED(pContext); Q_UNUSED(pParams); @@ -124,96 +120,96 @@ bool KvsObject_vBox::init(KviKvsRunTimeContext * pContext,KviKvsVariantList *pPa return true; } -KVSO_CLASS_FUNCTION(vBox,setMargin) +KVSO_CLASS_FUNCTION(vBox, setMargin) { CHECK_INTERNAL_POINTER(widget()) kvs_int_t iMargin; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("margin",KVS_PT_INT,0,iMargin) + KVSO_PARAMETER("margin", KVS_PT_INT, 0, iMargin) KVSO_PARAMETERS_END(c) ((KviTalVBox *)widget())->setMargin(iMargin); return true; } -KVSO_CLASS_FUNCTION(vBox,setSpacing) +KVSO_CLASS_FUNCTION(vBox, setSpacing) { CHECK_INTERNAL_POINTER(widget()) kvs_int_t iSpacing; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("spacing",KVS_PT_INT,0,iSpacing) + KVSO_PARAMETER("spacing", KVS_PT_INT, 0, iSpacing) KVSO_PARAMETERS_END(c) ((KviTalVBox *)widget())->setSpacing(iSpacing); return true; } -KVSO_CLASS_FUNCTION(vBox,setStretchFactor) +KVSO_CLASS_FUNCTION(vBox, setStretchFactor) { CHECK_INTERNAL_POINTER(widget()) KviKvsObject * pObject; kvs_hobject_t hObject; kvs_uint_t uStretch; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("widget",KVS_PT_HOBJECT,0,hObject) - KVSO_PARAMETER("stretch",KVS_PT_UNSIGNEDINTEGER,0,uStretch) + KVSO_PARAMETER("widget", KVS_PT_HOBJECT, 0, hObject) + KVSO_PARAMETER("stretch", KVS_PT_UNSIGNEDINTEGER, 0, uStretch) KVSO_PARAMETERS_END(c) - pObject=KviKvsKernel::instance()->objectController()->lookupObject(hObject); + pObject = KviKvsKernel::instance()->objectController()->lookupObject(hObject); return true; CHECK_HOBJECT_IS_WIDGET(pObject) if(((KvsObject_widget *)pObject)->widget()->parentWidget() != widget()) { - c->warning(__tr2qs_ctx("The widget must be a child of this vbox","objects")); + c->warning(__tr2qs_ctx("The widget must be a child of this vbox", "objects")); return true; } - ((KviTalVBox *)widget())->setStretchFactor(((QWidget *)(pObject->object())),uStretch); + ((KviTalVBox *)widget())->setStretchFactor(((QWidget *)(pObject->object())), uStretch); return true; } -KVSO_CLASS_FUNCTION(vBox,addStretch) +KVSO_CLASS_FUNCTION(vBox, addStretch) { CHECK_INTERNAL_POINTER(widget()) kvs_int_t iStretch; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("stretch",KVS_PT_INT,0,iStretch) + KVSO_PARAMETER("stretch", KVS_PT_INT, 0, iStretch) KVSO_PARAMETERS_END(c) ((KviTalVBox *)widget())->addStretch(iStretch); return true; } -KVSO_CLASS_FUNCTION(vBox,setAlignment) +KVSO_CLASS_FUNCTION(vBox, setAlignment) { CHECK_INTERNAL_POINTER(widget()) QStringList alignment; KviKvsObject * pObject; kvs_hobject_t hObject; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("widget",KVS_PT_HOBJECT,0,hObject) - KVSO_PARAMETER("alignment",KVS_PT_STRINGLIST,KVS_PF_OPTIONAL,alignment) + KVSO_PARAMETER("widget", KVS_PT_HOBJECT, 0, hObject) + KVSO_PARAMETER("alignment", KVS_PT_STRINGLIST, KVS_PF_OPTIONAL, alignment) KVSO_PARAMETERS_END(c) - pObject=KviKvsKernel::instance()->objectController()->lookupObject(hObject); + pObject = KviKvsKernel::instance()->objectController()->lookupObject(hObject); CHECK_HOBJECT_IS_WIDGET(pObject) if(((KvsObject_widget *)pObject)->widget()->parentWidget() != widget()) { - c->warning(__tr2qs_ctx("The widget must be a child of this hbox","objects")); + c->warning(__tr2qs_ctx("The widget must be a child of this hbox", "objects")); return true; } - int align,sum=0; - for ( QStringList::Iterator it = alignment.begin(); it != alignment.end(); ++it ) - { + int align, sum = 0; + for(QStringList::Iterator it = alignment.begin(); it != alignment.end(); ++it) + { - align = 0; - for(unsigned int j = 0; j < align_num; j++) + align = 0; + for(unsigned int j = 0; j < align_num; j++) + { + if(KviQString::equalCI((*it), align_tbl[j])) { - if(KviQString::equalCI((*it), align_tbl[j])) - { - align=align_cod[j]; - break; - } + align = align_cod[j]; + break; } - if(align) - sum = sum | align; - else - c->warning(__tr2qs_ctx("Unknown alignment: '%Q'","objects"),&(*it)); - } - if (widget()) ((KviTalHBox *)widget())->setAlignment(((QWidget *)(pObject->object())),(Qt::Alignment)sum); + if(align) + sum = sum | align; + else + c->warning(__tr2qs_ctx("Unknown alignment: '%Q'", "objects"), &(*it)); + } + if(widget()) + ((KviTalHBox *)widget())->setAlignment(((QWidget *)(pObject->object())), (Qt::Alignment)sum); return true; } diff --git a/src/modules/objects/KvsObject_vBox.h b/src/modules/objects/KvsObject_vBox.h index 8c1ed4a48..24b7ae590 100644 --- a/src/modules/objects/KvsObject_vBox.h +++ b/src/modules/objects/KvsObject_vBox.h @@ -36,14 +36,12 @@ public: public: QWidget * widget() { return (QWidget *)object(); }; protected: - virtual bool init(KviKvsRunTimeContext * pContext,KviKvsVariantList *pParams); - bool setMargin(KviKvsObjectFunctionCall *c); - bool setSpacing(KviKvsObjectFunctionCall *c); - bool setStretchFactor(KviKvsObjectFunctionCall *c); - bool addStretch(KviKvsObjectFunctionCall *c); - bool setAlignment(KviKvsObjectFunctionCall *c); - + virtual bool init(KviKvsRunTimeContext * pContext, KviKvsVariantList * pParams); + bool setMargin(KviKvsObjectFunctionCall * c); + bool setSpacing(KviKvsObjectFunctionCall * c); + bool setStretchFactor(KviKvsObjectFunctionCall * c); + bool addStretch(KviKvsObjectFunctionCall * c); + bool setAlignment(KviKvsObjectFunctionCall * c); }; - #endif //_CLASS_HBOX_H_ diff --git a/src/modules/objects/KvsObject_webView.cpp b/src/modules/objects/KvsObject_webView.cpp index da6f4b8fc..41a774b80 100644 --- a/src/modules/objects/KvsObject_webView.cpp +++ b/src/modules/objects/KvsObject_webView.cpp @@ -47,22 +47,22 @@ #include static int g_iDownloadId = 1; -KviKvsDownloadHandler::KviKvsDownloadHandler(KvsObject_webView * pParent,QFile *pFile,QNetworkReply *pNetReply,int iId) -:QObject(pParent) +KviKvsDownloadHandler::KviKvsDownloadHandler(KvsObject_webView * pParent, QFile * pFile, QNetworkReply * pNetReply, int iId) + : QObject(pParent) { m_Id = iId; m_pParentScript = pParent; m_pReply = pNetReply; m_pFile = pFile; - connect(m_pReply,SIGNAL(finished()),this,SLOT(slotReplyFinished())); - connect(m_pReply,SIGNAL(readyRead()),this,SLOT(slotReadyRead())); + connect(m_pReply, SIGNAL(finished()), this, SLOT(slotReplyFinished())); + connect(m_pReply, SIGNAL(readyRead()), this, SLOT(slotReadyRead())); } void KviKvsDownloadHandler::slotReplyFinished() { KviKvsVariantList params(new KviKvsVariant((kvs_int_t)m_Id)); - m_pParentScript->callFunction(m_pParentScript,"downloadCompletedEvent",¶ms); + m_pParentScript->callFunction(m_pParentScript, "downloadCompletedEvent", ¶ms); m_pFile->close(); delete m_pFile; m_pFile = 0; @@ -96,9 +96,9 @@ void KviKvsDownloadHandler::slotReadyRead() } QByteArray bytes = m_pReply->readAll(); - KviKvsVariantList params(new KviKvsVariant((kvs_int_t)bytes.count()),\ - new KviKvsVariant((kvs_int_t)m_Id),new KviKvsVariant((kvs_int_t)iSize)); - m_pParentScript->callFunction(m_pParentScript,"downloadProgressEvent",¶ms); + KviKvsVariantList params(new KviKvsVariant((kvs_int_t)bytes.count()), + new KviKvsVariant((kvs_int_t)m_Id), new KviKvsVariant((kvs_int_t)iSize)); + m_pParentScript->callFunction(m_pParentScript, "downloadProgressEvent", ¶ms); m_pFile->write(bytes); } @@ -116,8 +116,7 @@ const QWebSettings::WebAttribute webattributes_cod[] = { QWebSettings::PluginsEnabled, QWebSettings::JavascriptCanOpenWindows, QWebSettings::JavascriptCanAccessClipboard, - QWebSettings::ZoomTextOnly - , + QWebSettings::ZoomTextOnly, QWebSettings::LocalContentCanAccessFileUrls }; @@ -125,13 +124,15 @@ const char * const findflag_tbl[] = { "FindBackward", "FindCaseSensitively", "FindWrapsAroundDocument", - "HighlightAllOccurrences"}; + "HighlightAllOccurrences" +}; const QWebPage::FindFlag findflag_cod[] = { QWebPage::FindBackward, QWebPage::FindCaseSensitively, QWebPage::FindWrapsAroundDocument, - QWebPage::HighlightAllOccurrences}; + QWebPage::HighlightAllOccurrences +}; const QWebPage::WebAction actions_cod[] = { QWebPage::OpenLink, @@ -148,7 +149,8 @@ const QWebPage::WebAction actions_cod[] = { QWebPage::Copy, QWebPage::Paste, QWebPage::InspectElement, - QWebPage::SelectAll}; + QWebPage::SelectAll +}; const char * const actions_tbl[] = { "OpenLink", @@ -165,7 +167,8 @@ const char * const actions_tbl[] = { "Copy", "Paste", "InspectElement", - "SelectAll"}; + "SelectAll" +}; #define webattributes_num (sizeof(webattributes_tbl) / sizeof(webattributes_tbl[0])) #define findflag_num (sizeof(findflag_tbl) / sizeof(findflag_tbl[0])) @@ -305,114 +308,113 @@ const char * const actions_tbl[] = { This signal is emitted by the default implementation of [classfnc:webview]downloadCompletedEvent[/classfnc](). */ -KVSO_BEGIN_REGISTERCLASS(KvsObject_webView,"webview","widget") - - // page related - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_webView,load) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_webView,setHtml) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_webView,frames) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_webView,makePreview) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_webView,appendWebViewActionToMenu) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_webView,setLinkDelegationPolicy) - - // navigationn through the dom's tree - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_webView,firstChild) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_webView,lastChild) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_webView,appendInside) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_webView,appendOutside) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_webView,parentElement) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_webView,nextSibling) - - // find dom's elements - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_webView,findAll) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_webView,findFirst) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_webView,findText) - - // element info - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_webView,elementTagName) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_webView,getDocumentElement) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_webView,elementAttributeNames) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_webView,setElementAttribute) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_webView,elementAttribute) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_webView,hitTestContent) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_webView,toPlainText) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_webView,setPlainText) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_webView,removeFromDocument) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_webView,removeClass) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_webView,addClass) - - // css - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_webView,setStyleProperty) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_webView,styleProperty) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_webView,setWebSetting) - - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_webView,classes) - - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_webView,setEventFilter) - - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_webView,addToJavaScriptWindowObject) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_webView,evaluateJavaScript) - - // events - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_webView,jsChangeEvent) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_webView,jsSubmitEvent) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_webView,jsClickEvent) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_webView,jsMouseOverEvent) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_webView,jsMouseOutEvent) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_webView,linkClickedEvent) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_webView,loadFinishedEvent) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_webView,loadProgressEvent) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_webView,loadStartedEvent) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_webView,downloadCompletedEvent) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_webView,downloadRequestEvent) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_webView,downloadProgressEvent) +KVSO_BEGIN_REGISTERCLASS(KvsObject_webView, "webview", "widget") + +// page related +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_webView, load) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_webView, setHtml) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_webView, frames) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_webView, makePreview) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_webView, appendWebViewActionToMenu) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_webView, setLinkDelegationPolicy) + +// navigationn through the dom's tree +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_webView, firstChild) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_webView, lastChild) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_webView, appendInside) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_webView, appendOutside) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_webView, parentElement) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_webView, nextSibling) + +// find dom's elements +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_webView, findAll) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_webView, findFirst) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_webView, findText) + +// element info +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_webView, elementTagName) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_webView, getDocumentElement) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_webView, elementAttributeNames) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_webView, setElementAttribute) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_webView, elementAttribute) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_webView, hitTestContent) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_webView, toPlainText) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_webView, setPlainText) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_webView, removeFromDocument) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_webView, removeClass) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_webView, addClass) + +// css +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_webView, setStyleProperty) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_webView, styleProperty) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_webView, setWebSetting) + +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_webView, classes) + +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_webView, setEventFilter) + +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_webView, addToJavaScriptWindowObject) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_webView, evaluateJavaScript) + +// events +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_webView, jsChangeEvent) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_webView, jsSubmitEvent) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_webView, jsClickEvent) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_webView, jsMouseOverEvent) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_webView, jsMouseOutEvent) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_webView, linkClickedEvent) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_webView, loadFinishedEvent) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_webView, loadProgressEvent) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_webView, loadStartedEvent) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_webView, downloadCompletedEvent) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_webView, downloadRequestEvent) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_webView, downloadProgressEvent) KVSO_END_REGISTERCLASS(KvsObject_webView) -KVSO_BEGIN_CONSTRUCTOR(KvsObject_webView,KviKvsObject) +KVSO_BEGIN_CONSTRUCTOR(KvsObject_webView, KviKvsObject) KVSO_END_CONSTRUCTOR(KvsObject_webView) - KVSO_BEGIN_DESTRUCTOR(KvsObject_webView) - m_elementMapper.clear(); KVSO_END_CONSTRUCTOR(KvsObject_webView) -bool KvsObject_webView::init(KviKvsRunTimeContext *c ,KviKvsVariantList *) +bool KvsObject_webView::init(KviKvsRunTimeContext * c, KviKvsVariantList *) { //SET_OBJECT(KviKvsWebview); - setObject(new KviKvsWebView(parentScriptWidget(), getName().toUtf8().data(),this), true); - elementMapId=1; + setObject(new KviKvsWebView(parentScriptWidget(), getName().toUtf8().data(), this), true); + elementMapId = 1; m_pContext = c; m_pNetworkManager = new QNetworkAccessManager(this); - QWebPage *pPage = ((QWebView *)widget())->page(); - connect(((QWebView *)widget()),SIGNAL(loadStarted()),this,SLOT(slotLoadStarted())); - connect(((QWebView *)widget()),SIGNAL(loadFinished(bool)),this,SLOT(slotLoadFinished(bool))); - connect(((QWebView *)widget()),SIGNAL(loadProgress(int)),this,SLOT(slotLoadProgress(int))); - connect(pPage,SIGNAL(linkClicked(const QUrl &)),this,SLOT(slotLinkClicked(const QUrl &))); - connect(pPage,SIGNAL(downloadRequested(const QNetworkRequest &)),this,SLOT(slotDownloadRequest(const QNetworkRequest &))); + QWebPage * pPage = ((QWebView *)widget())->page(); + connect(((QWebView *)widget()), SIGNAL(loadStarted()), this, SLOT(slotLoadStarted())); + connect(((QWebView *)widget()), SIGNAL(loadFinished(bool)), this, SLOT(slotLoadFinished(bool))); + connect(((QWebView *)widget()), SIGNAL(loadProgress(int)), this, SLOT(slotLoadProgress(int))); + connect(pPage, SIGNAL(linkClicked(const QUrl &)), this, SLOT(slotLinkClicked(const QUrl &))); + connect(pPage, SIGNAL(downloadRequested(const QNetworkRequest &)), this, SLOT(slotDownloadRequest(const QNetworkRequest &))); return true; } -int KvsObject_webView::insertElement(const QWebElement &ele) +int KvsObject_webView::insertElement(const QWebElement & ele) { - int eleid=getElementId(ele); - if (!eleid) + int eleid = getElementId(ele); + if(!eleid) { - m_elementMapper[elementMapId]=ele; + m_elementMapper[elementMapId] = ele; return elementMapId++; } - else return eleid; + else + return eleid; } -int KvsObject_webView::getElementId(const QWebElement &ele) +int KvsObject_webView::getElementId(const QWebElement & ele) { - QHashIterator it(m_elementMapper); - while (it.hasNext()) + QHashIterator it(m_elementMapper); + while(it.hasNext()) { - it.next(); - if(it.value()==ele) - return it.key(); + it.next(); + if(it.value() == ele) + return it.key(); } return 0; } @@ -421,80 +423,82 @@ QWebElement KvsObject_webView::getElement(int iIdx) { return m_elementMapper.value(iIdx); } -void KvsObject_webView::getFrames(QWebFrame *pCurFrame, QStringList &szFramesNames) +void KvsObject_webView::getFrames(QWebFrame * pCurFrame, QStringList & szFramesNames) { szFramesNames.append(pCurFrame->title()); QList lFrames = pCurFrame->childFrames(); - for(int i=0; i < lFrames.count(); i++) + for(int i = 0; i < lFrames.count(); i++) { - QWebFrame *pChildFrame = lFrames.at(i); + QWebFrame * pChildFrame = lFrames.at(i); if(pChildFrame->childFrames().count()) - getFrames(pChildFrame,szFramesNames); + getFrames(pChildFrame, szFramesNames); } } -QWebFrame * KvsObject_webView::findFrame(QWebFrame *pCurFrame, QString &szFrameName) +QWebFrame * KvsObject_webView::findFrame(QWebFrame * pCurFrame, QString & szFrameName) { - if(pCurFrame->title()==szFrameName) return pCurFrame; + if(pCurFrame->title() == szFrameName) + return pCurFrame; QList lFrames = pCurFrame->childFrames(); - for(int i=0; i < lFrames.count(); i++) + for(int i = 0; i < lFrames.count(); i++) { - QWebFrame *pChildFrame = lFrames.at(i); + QWebFrame * pChildFrame = lFrames.at(i); if(pChildFrame->childFrames().count()) { - pCurFrame=findFrame(pChildFrame,szFrameName); - if(pCurFrame) return pCurFrame; + pCurFrame = findFrame(pChildFrame, szFrameName); + if(pCurFrame) + return pCurFrame; } } return 0; } -KVSO_CLASS_FUNCTION(webView,setLinkDelegationPolicy) +KVSO_CLASS_FUNCTION(webView, setLinkDelegationPolicy) { CHECK_INTERNAL_POINTER(widget()) QString szPolicy; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("policy",KVS_PT_STRING,0,szPolicy) + KVSO_PARAMETER("policy", KVS_PT_STRING, 0, szPolicy) KVSO_PARAMETERS_END(c) QWebPage::LinkDelegationPolicy policy = QWebPage::DontDelegateLinks; - if(KviQString::equalCI(szPolicy,"DontDelegateLinks")) - policy=QWebPage::DontDelegateLinks; - else if(KviQString::equalCI(szPolicy,"DelegateExternalLinks")) - policy=QWebPage::DelegateExternalLinks; - else if(KviQString::equalCI(szPolicy,"DelegateAllLinks")) - policy=QWebPage::DelegateAllLinks; + if(KviQString::equalCI(szPolicy, "DontDelegateLinks")) + policy = QWebPage::DontDelegateLinks; + else if(KviQString::equalCI(szPolicy, "DelegateExternalLinks")) + policy = QWebPage::DelegateExternalLinks; + else if(KviQString::equalCI(szPolicy, "DelegateAllLinks")) + policy = QWebPage::DelegateAllLinks; else - c->warning(__tr2qs_ctx("Unknown delegation policy '%Q'- Switch do default dontDelegateLinks","objects"),&szPolicy); + c->warning(__tr2qs_ctx("Unknown delegation policy '%Q'- Switch do default dontDelegateLinks", "objects"), &szPolicy); ((QWebView *)widget())->page()->setLinkDelegationPolicy(policy); return true; } -KVSO_CLASS_FUNCTION(webView,load) +KVSO_CLASS_FUNCTION(webView, load) { CHECK_INTERNAL_POINTER(widget()) QString szUrl; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("url",KVS_PT_STRING,0,szUrl) + KVSO_PARAMETER("url", KVS_PT_STRING, 0, szUrl) KVSO_PARAMETERS_END(c) ((QWebView *)widget())->load(QUrl(szUrl)); return true; } -KVSO_CLASS_FUNCTION(webView,setHtml) +KVSO_CLASS_FUNCTION(webView, setHtml) { CHECK_INTERNAL_POINTER(widget()) QString szHtml, szUrlBase; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("szHtml",KVS_PT_STRING,0,szHtml) - KVSO_PARAMETER("urlbase",KVS_PT_STRING,KVS_PF_OPTIONAL,szUrlBase) + KVSO_PARAMETER("szHtml", KVS_PT_STRING, 0, szHtml) + KVSO_PARAMETER("urlbase", KVS_PT_STRING, KVS_PF_OPTIONAL, szUrlBase) KVSO_PARAMETERS_END(c) - ((QWebView *)widget())->setHtml(szHtml,QUrl(szUrlBase)); + ((QWebView *)widget())->setHtml(szHtml, QUrl(szUrlBase)); return true; } -KVSO_CLASS_FUNCTION(webView,makePreview) +KVSO_CLASS_FUNCTION(webView, makePreview) { CHECK_INTERNAL_POINTER(widget()) - QSize size=((QWebView *)widget())->page()->mainFrame()->contentsSize(); - QImage *pImage=new QImage(212,142, QImage::Format_RGB32); - QWebFrame *pFrame=((QWebView *)widget())->page()->mainFrame(); + QSize size = ((QWebView *)widget())->page()->mainFrame()->contentsSize(); + QImage * pImage = new QImage(212, 142, QImage::Format_RGB32); + QWebFrame * pFrame = ((QWebView *)widget())->page()->mainFrame(); QPainter painter(pImage); painter.setRenderHint(QPainter::Antialiasing, true); painter.setRenderHint(QPainter::TextAntialiasing, true); @@ -504,114 +508,116 @@ KVSO_CLASS_FUNCTION(webView,makePreview) if((size.height() * dWScale) < 142) { // solution 1 is to fill the missing bacgkround - painter.fillRect(0,0,212,142,QColor(255,255,255)); + painter.fillRect(0, 0, 212, 142, QColor(255, 255, 255)); // solution 2 is to stretch the contents, but this doesn't work well because // the frame reports a size that doesn't exactly match the document //dHScale = 142.0 / (double)(size.height()); } - painter.scale(dWScale,dHScale); + painter.scale(dWScale, dHScale); pFrame->documentElement().render(&painter); painter.end(); KviKvsObjectClass * pClass = KviKvsKernel::instance()->objectController()->lookupClass("pixmap"); KviKvsVariantList params; - KviKvsObject * pObject = pClass->allocateInstance(0,"internalpixmap",c->context(),¶ms); + KviKvsObject * pObject = pClass->allocateInstance(0, "internalpixmap", c->context(), ¶ms); ((KvsObject_pixmap *)pObject)->setInternalImage(pImage); c->returnValue()->setHObject(pObject->handle()); return true; } -KVSO_CLASS_FUNCTION(webView,findAll) +KVSO_CLASS_FUNCTION(webView, findAll) { CHECK_INTERNAL_POINTER(widget()) QString szQuery; - KviKvsArray *pArray; + KviKvsArray * pArray; kvs_int_t iEleId; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("element_identifier",KVS_PT_INTEGER,0,iEleId) - KVSO_PARAMETER("query",KVS_PT_STRING,0,szQuery) + KVSO_PARAMETER("element_identifier", KVS_PT_INTEGER, 0, iEleId) + KVSO_PARAMETER("query", KVS_PT_STRING, 0, szQuery) KVSO_PARAMETERS_END(c) - QWebElement element=getElement(iEleId); - if (element.isNull()) + QWebElement element = getElement(iEleId); + if(element.isNull()) { - c->warning(__tr2qs_ctx("Document element with ID %d doesn't exist","objects"),iEleId); + c->warning(__tr2qs_ctx("Document element with ID %d doesn't exist", "objects"), iEleId); return true; } - QWebElementCollection elementCollection=element.findAll(szQuery); - if(!elementCollection.count()) return true; + QWebElementCollection elementCollection = element.findAll(szQuery); + if(!elementCollection.count()) + return true; //qDebug("collection %i",elementCollection.count()); - int idx=0; - pArray=new KviKvsArray(); - for(int i=0;iset(idx,new KviKvsVariant((kvs_int_t)id)); + QWebElement element = elementCollection.at(i); + int id = insertElement(element); + pArray->set(idx, new KviKvsVariant((kvs_int_t)id)); idx++; } c->returnValue()->setArray(pArray); return true; } -KVSO_CLASS_FUNCTION(webView,evaluateJavaScript) +KVSO_CLASS_FUNCTION(webView, evaluateJavaScript) { CHECK_INTERNAL_POINTER(widget()) QString szScript; kvs_int_t iEleId; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("element_identifier",KVS_PT_INTEGER,0,iEleId) - KVSO_PARAMETER("script_code",KVS_PT_STRING,0,szScript) + KVSO_PARAMETER("element_identifier", KVS_PT_INTEGER, 0, iEleId) + KVSO_PARAMETER("script_code", KVS_PT_STRING, 0, szScript) KVSO_PARAMETERS_END(c) - QWebElement element=getElement(iEleId); - if (element.isNull()) + QWebElement element = getElement(iEleId); + if(element.isNull()) { - c->warning(__tr2qs_ctx("Document element is null: you must call getDocumentElement first","objects")); + c->warning(__tr2qs_ctx("Document element is null: you must call getDocumentElement first", "objects")); return true; } - QVariant vRes=element.evaluateJavaScript(szScript); - if(vRes.type()==QVariant::String) + QVariant vRes = element.evaluateJavaScript(szScript); + if(vRes.type() == QVariant::String) { - QString szVal=vRes.toString(); + QString szVal = vRes.toString(); c->returnValue()->setString(szVal); } - else c->warning(__tr2qs_ctx("Unsupported datatype","objects")); + else + c->warning(__tr2qs_ctx("Unsupported datatype", "objects")); return true; } -KVSO_CLASS_FUNCTION(webView,findFirst) +KVSO_CLASS_FUNCTION(webView, findFirst) { QString szQuery; kvs_int_t iEleId; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("element_identifier",KVS_PT_INTEGER,0,iEleId) - KVSO_PARAMETER("query",KVS_PT_STRING,0,szQuery) + KVSO_PARAMETER("element_identifier", KVS_PT_INTEGER, 0, iEleId) + KVSO_PARAMETER("query", KVS_PT_STRING, 0, szQuery) KVSO_PARAMETERS_END(c) - QWebElement element=getElement(iEleId); - if (element.isNull()) + QWebElement element = getElement(iEleId); + if(element.isNull()) { - c->warning(__tr2qs_ctx("Document element with ID %d doesn't exist","objects"),iEleId); + c->warning(__tr2qs_ctx("Document element with ID %d doesn't exist", "objects"), iEleId); return true; } - QWebElement tempElement=element.findFirst(szQuery); - if (tempElement.isNull()) + QWebElement tempElement = element.findFirst(szQuery); + if(tempElement.isNull()) { c->returnValue()->setInteger(-1); return true; } - int id=insertElement(tempElement); - c->returnValue()->setInteger((kvs_int_t) id); + int id = insertElement(tempElement); + c->returnValue()->setInteger((kvs_int_t)id); return true; } -KVSO_CLASS_FUNCTION(webView,removeFromDocument) +KVSO_CLASS_FUNCTION(webView, removeFromDocument) { kvs_int_t iEleId; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("element_identifier",KVS_PT_INTEGER,0,iEleId) + KVSO_PARAMETER("element_identifier", KVS_PT_INTEGER, 0, iEleId) KVSO_PARAMETERS_END(c) - QWebElement element=getElement(iEleId); - if (element.isNull()) + QWebElement element = getElement(iEleId); + if(element.isNull()) { - c->warning(__tr2qs_ctx("Document element with ID %d doesn't exist","objects"),iEleId); + c->warning(__tr2qs_ctx("Document element with ID %d doesn't exist", "objects"), iEleId); return true; } element.removeFromDocument(); @@ -635,227 +641,225 @@ KVSO_CLASS_FUNCTION(webView,removeFromDocument) return true; } */ -KVSO_CLASS_FUNCTION(webView,appendInside) +KVSO_CLASS_FUNCTION(webView, appendInside) { kvs_int_t iEleId; QString szCode; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("element_identifier",KVS_PT_INTEGER,0,iEleId) - KVSO_PARAMETER("name",KVS_PT_NONEMPTYSTRING,0,szCode) + KVSO_PARAMETER("element_identifier", KVS_PT_INTEGER, 0, iEleId) + KVSO_PARAMETER("name", KVS_PT_NONEMPTYSTRING, 0, szCode) KVSO_PARAMETERS_END(c) - QWebElement element=getElement(iEleId); - if (element.isNull()) + QWebElement element = getElement(iEleId); + if(element.isNull()) { - c->warning(__tr2qs_ctx("Document element with ID %d doesn't exist","objects"),iEleId); + c->warning(__tr2qs_ctx("Document element with ID %d doesn't exist", "objects"), iEleId); return true; } element.appendInside(szCode); return true; } -KVSO_CLASS_FUNCTION(webView,appendOutside) +KVSO_CLASS_FUNCTION(webView, appendOutside) { kvs_int_t iEleId; QString szCode; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("element_identifier",KVS_PT_INTEGER,0,iEleId) - KVSO_PARAMETER("name",KVS_PT_NONEMPTYSTRING,0,szCode) + KVSO_PARAMETER("element_identifier", KVS_PT_INTEGER, 0, iEleId) + KVSO_PARAMETER("name", KVS_PT_NONEMPTYSTRING, 0, szCode) KVSO_PARAMETERS_END(c) - QWebElement element=getElement(iEleId); - if (element.isNull()) + QWebElement element = getElement(iEleId); + if(element.isNull()) { - c->warning(__tr2qs_ctx("Document element with ID %d doesn't exist","objects"),iEleId); + c->warning(__tr2qs_ctx("Document element with ID %d doesn't exist", "objects"), iEleId); return true; } element.appendOutside(szCode); return true; } -KVSO_CLASS_FUNCTION(webView,nextSibling) +KVSO_CLASS_FUNCTION(webView, nextSibling) { CHECK_INTERNAL_POINTER(widget()) kvs_int_t iEleId; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("element_identifier",KVS_PT_INTEGER,0,iEleId) + KVSO_PARAMETER("element_identifier", KVS_PT_INTEGER, 0, iEleId) KVSO_PARAMETERS_END(c) - QWebElement element=getElement(iEleId); - if (element.isNull()) + QWebElement element = getElement(iEleId); + if(element.isNull()) { - c->warning(__tr2qs_ctx("Document element with ID %d doesn't exist","objects"),iEleId); + c->warning(__tr2qs_ctx("Document element with ID %d doesn't exist", "objects"), iEleId); return true; } - QWebElement tempElement=element.nextSibling(); - if (tempElement.isNull()) + QWebElement tempElement = element.nextSibling(); + if(tempElement.isNull()) { c->returnValue()->setInteger(-1); return true; } - int id=insertElement(tempElement); - c->returnValue()->setInteger((kvs_int_t) id); + int id = insertElement(tempElement); + c->returnValue()->setInteger((kvs_int_t)id); return true; } - -KVSO_CLASS_FUNCTION(webView,frames) +KVSO_CLASS_FUNCTION(webView, frames) { CHECK_INTERNAL_POINTER(widget()) - QWebFrame *pFrame=((QWebView *)widget())->page()->mainFrame(); + QWebFrame * pFrame = ((QWebView *)widget())->page()->mainFrame(); QStringList szFramesNames; - getFrames(pFrame,szFramesNames); - KviKvsArray *pArray=new KviKvsArray(); + getFrames(pFrame, szFramesNames); + KviKvsArray * pArray = new KviKvsArray(); c->returnValue()->setArray(pArray); return true; } -KVSO_CLASS_FUNCTION(webView,elementTagName) +KVSO_CLASS_FUNCTION(webView, elementTagName) { CHECK_INTERNAL_POINTER(widget()) kvs_int_t iEleId; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("element_identifier",KVS_PT_INTEGER,0,iEleId) + KVSO_PARAMETER("element_identifier", KVS_PT_INTEGER, 0, iEleId) KVSO_PARAMETERS_END(c) - QWebElement element=getElement(iEleId); - if (element.isNull()) + QWebElement element = getElement(iEleId); + if(element.isNull()) { - // qDebug("isnull ad index %i",iEleId); - c->warning(__tr2qs_ctx("Document element with ID %d doesn't exist","objects"),iEleId); + // qDebug("isnull ad index %i",iEleId); + c->warning(__tr2qs_ctx("Document element with ID %d doesn't exist", "objects"), iEleId); return true; } c->returnValue()->setString(element.tagName()); return true; } -KVSO_CLASS_FUNCTION(webView,setElementAttribute) +KVSO_CLASS_FUNCTION(webView, setElementAttribute) { CHECK_INTERNAL_POINTER(widget()) - QString szName,szValue; + QString szName, szValue; kvs_int_t iEleId; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("element_identifier",KVS_PT_INTEGER,0,iEleId) - KVSO_PARAMETER("name",KVS_PT_NONEMPTYSTRING,0,szName) - KVSO_PARAMETER("value",KVS_PT_STRING,0,szValue) + KVSO_PARAMETER("element_identifier", KVS_PT_INTEGER, 0, iEleId) + KVSO_PARAMETER("name", KVS_PT_NONEMPTYSTRING, 0, szName) + KVSO_PARAMETER("value", KVS_PT_STRING, 0, szValue) KVSO_PARAMETERS_END(c) - QWebElement element=getElement(iEleId); - if (element.isNull()) + QWebElement element = getElement(iEleId); + if(element.isNull()) { - c->warning(__tr2qs_ctx("Document element with ID %d doesn't exist","objects"),iEleId); + c->warning(__tr2qs_ctx("Document element with ID %d doesn't exist", "objects"), iEleId); return true; } - element.setAttribute(szName,szValue); + element.setAttribute(szName, szValue); return true; } -KVSO_CLASS_FUNCTION(webView,removeClass) +KVSO_CLASS_FUNCTION(webView, removeClass) { CHECK_INTERNAL_POINTER(widget()) QString szClassName; kvs_int_t iEleId; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("element_identifier",KVS_PT_INTEGER,0,iEleId) - KVSO_PARAMETER("class_name",KVS_PT_NONEMPTYSTRING,0,szClassName) + KVSO_PARAMETER("element_identifier", KVS_PT_INTEGER, 0, iEleId) + KVSO_PARAMETER("class_name", KVS_PT_NONEMPTYSTRING, 0, szClassName) KVSO_PARAMETERS_END(c) - QWebElement element=getElement(iEleId); - if (element.isNull()) + QWebElement element = getElement(iEleId); + if(element.isNull()) { - c->warning(__tr2qs_ctx("Document element with ID %d doesn't exist","objects"),iEleId); + c->warning(__tr2qs_ctx("Document element with ID %d doesn't exist", "objects"), iEleId); return true; } element.removeClass(szClassName); return true; } -KVSO_CLASS_FUNCTION(webView,addClass) +KVSO_CLASS_FUNCTION(webView, addClass) { CHECK_INTERNAL_POINTER(widget()) QString szClassName; kvs_int_t iEleId; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("element_identifier",KVS_PT_INTEGER,0,iEleId) - KVSO_PARAMETER("class_name",KVS_PT_NONEMPTYSTRING,0,szClassName) + KVSO_PARAMETER("element_identifier", KVS_PT_INTEGER, 0, iEleId) + KVSO_PARAMETER("class_name", KVS_PT_NONEMPTYSTRING, 0, szClassName) KVSO_PARAMETERS_END(c) - QWebElement element=getElement(iEleId); - if (element.isNull()) + QWebElement element = getElement(iEleId); + if(element.isNull()) { - c->warning(__tr2qs_ctx("Document element with ID %d doesn't exist","objects"),iEleId); + c->warning(__tr2qs_ctx("Document element with ID %d doesn't exist", "objects"), iEleId); return true; } element.addClass(szClassName); return true; } -KVSO_CLASS_FUNCTION(webView,setWebSetting) +KVSO_CLASS_FUNCTION(webView, setWebSetting) { CHECK_INTERNAL_POINTER(widget()) QString szName; bool bEnabled; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("name",KVS_PT_NONEMPTYSTRING,0,szName) - KVSO_PARAMETER("value",KVS_PT_BOOLEAN,0,bEnabled) + KVSO_PARAMETER("name", KVS_PT_NONEMPTYSTRING, 0, szName) + KVSO_PARAMETER("value", KVS_PT_BOOLEAN, 0, bEnabled) KVSO_PARAMETERS_END(c) - bool found=false; + bool found = false; unsigned int j = 0; for(; j < webattributes_num; j++) { - if(KviQString::equalCI(szName,webattributes_tbl[j])) + if(KviQString::equalCI(szName, webattributes_tbl[j])) { - found=true; + found = true; break; } } - if (found) - ((QWebView *)widget())->settings()->setAttribute(webattributes_cod[j],bEnabled); + if(found) + ((QWebView *)widget())->settings()->setAttribute(webattributes_cod[j], bEnabled); else - c->warning(__tr2qs_ctx("Unknown web setting '%Q'","objects"),&szName); + c->warning(__tr2qs_ctx("Unknown web setting '%Q'", "objects"), &szName); return true; } -KVSO_CLASS_FUNCTION(webView,findText) +KVSO_CLASS_FUNCTION(webView, findText) { CHECK_INTERNAL_POINTER(widget()) QString szName; QStringList szFindFlag; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("find_text",KVS_PT_NONEMPTYSTRING,0,szName) - KVSO_PARAMETER("find_flag",KVS_PT_STRINGLIST,KVS_PF_OPTIONAL,szFindFlag) + KVSO_PARAMETER("find_text", KVS_PT_NONEMPTYSTRING, 0, szName) + KVSO_PARAMETER("find_flag", KVS_PT_STRINGLIST, KVS_PF_OPTIONAL, szFindFlag) KVSO_PARAMETERS_END(c) - int findflag=0; - int sum=0; - for ( QStringList::Iterator it = szFindFlag.begin(); it != szFindFlag.end(); ++it ) + int findflag = 0; + int sum = 0; + for(QStringList::Iterator it = szFindFlag.begin(); it != szFindFlag.end(); ++it) { findflag = 0; for(unsigned int j = 0; j < findflag_num; j++) { if(KviQString::equalCI((*it), findflag_tbl[j])) { - findflag=findflag_cod[j]; + findflag = findflag_cod[j]; break; } } if(findflag) sum = sum | findflag; else - c->warning(__tr2qs_ctx("Unknown findflag '%Q'","objects"),&(*it)); - + c->warning(__tr2qs_ctx("Unknown findflag '%Q'", "objects"), &(*it)); } - ((QWebView *)widget())->findText(szName,(QWebPage::FindFlags)findflag); + ((QWebView *)widget())->findText(szName, (QWebPage::FindFlags)findflag); return true; } -KVSO_CLASS_FUNCTION(webView,elementAttribute) +KVSO_CLASS_FUNCTION(webView, elementAttribute) { CHECK_INTERNAL_POINTER(widget()) QString szName; kvs_int_t iEleId; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("element_identifier",KVS_PT_INTEGER,0,iEleId) - KVSO_PARAMETER("name",KVS_PT_NONEMPTYSTRING,0,szName) + KVSO_PARAMETER("element_identifier", KVS_PT_INTEGER, 0, iEleId) + KVSO_PARAMETER("name", KVS_PT_NONEMPTYSTRING, 0, szName) KVSO_PARAMETERS_END(c) - QWebElement element=getElement(iEleId); - if (element.isNull()) + QWebElement element = getElement(iEleId); + if(element.isNull()) { - c->warning(__tr2qs_ctx("Document element with ID %d doesn't exist","objects"),iEleId); + c->warning(__tr2qs_ctx("Document element with ID %d doesn't exist", "objects"), iEleId); return true; } // workaround for this issue: https://bugreports.qt.nokia.com//browse/QTWEBKIT-88 - if(KviQString::equalCI(element.tagName(),"input")) + if(KviQString::equalCI(element.tagName(), "input")) { - QVariant value=element.evaluateJavaScript("this."+szName); + QVariant value = element.evaluateJavaScript("this." + szName); c->returnValue()->setString(value.toString()); return true; } @@ -863,405 +867,407 @@ KVSO_CLASS_FUNCTION(webView,elementAttribute) return true; } -KVSO_CLASS_FUNCTION(webView,elementAttributeNames) +KVSO_CLASS_FUNCTION(webView, elementAttributeNames) { CHECK_INTERNAL_POINTER(widget()) kvs_int_t iEleId; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("identifier",KVS_PT_INTEGER,0,iEleId) + KVSO_PARAMETER("identifier", KVS_PT_INTEGER, 0, iEleId) KVSO_PARAMETERS_END(c) QString szAttributeNames; - QWebElement element=getElement(iEleId); - if (element.isNull()) + QWebElement element = getElement(iEleId); + if(element.isNull()) { - c->warning(__tr2qs_ctx("Document element with ID %d doesn't exist","objects"),iEleId); + c->warning(__tr2qs_ctx("Document element with ID %d doesn't exist", "objects"), iEleId); return true; } - szAttributeNames=element.attributeNames().join(","); + szAttributeNames = element.attributeNames().join(","); c->returnValue()->setString(szAttributeNames); return true; } -KVSO_CLASS_FUNCTION(webView,classes) +KVSO_CLASS_FUNCTION(webView, classes) { CHECK_INTERNAL_POINTER(widget()) kvs_int_t iEleId; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("identifier",KVS_PT_INTEGER,0,iEleId) + KVSO_PARAMETER("identifier", KVS_PT_INTEGER, 0, iEleId) KVSO_PARAMETERS_END(c) - QWebElement element=getElement(iEleId); - if (element.isNull()) + QWebElement element = getElement(iEleId); + if(element.isNull()) { - c->warning(__tr2qs_ctx("Document element with ID %d doesn't exist","objects"),iEleId); + c->warning(__tr2qs_ctx("Document element with ID %d doesn't exist", "objects"), iEleId); return true; } QString szClasses; - szClasses=element.classes().join(","); + szClasses = element.classes().join(","); c->returnValue()->setString(szClasses); return true; } -KVSO_CLASS_FUNCTION(webView,toPlainText) +KVSO_CLASS_FUNCTION(webView, toPlainText) { CHECK_INTERNAL_POINTER(widget()) kvs_int_t iEleId; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("identifier",KVS_PT_INTEGER,0,iEleId) + KVSO_PARAMETER("identifier", KVS_PT_INTEGER, 0, iEleId) KVSO_PARAMETERS_END(c) - QWebElement element=getElement(iEleId); - if (element.isNull()) + QWebElement element = getElement(iEleId); + if(element.isNull()) { - c->warning(__tr2qs_ctx("Document element with ID %d doesn't exist","objects"),iEleId); + c->warning(__tr2qs_ctx("Document element with ID %d doesn't exist", "objects"), iEleId); return true; } c->returnValue()->setString(element.toPlainText()); return true; } -KVSO_CLASS_FUNCTION(webView,setPlainText) +KVSO_CLASS_FUNCTION(webView, setPlainText) { CHECK_INTERNAL_POINTER(widget()) QString szText; kvs_int_t iEleId; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("identifier",KVS_PT_INTEGER,0,iEleId) - KVSO_PARAMETER("plaintext",KVS_PT_STRING,0,szText) + KVSO_PARAMETER("identifier", KVS_PT_INTEGER, 0, iEleId) + KVSO_PARAMETER("plaintext", KVS_PT_STRING, 0, szText) KVSO_PARAMETERS_END(c) - QWebElement element=getElement(iEleId); - if (element.isNull()) + QWebElement element = getElement(iEleId); + if(element.isNull()) { - c->warning(__tr2qs_ctx("Document element with ID %d doesn't exist","objects"),iEleId); + c->warning(__tr2qs_ctx("Document element with ID %d doesn't exist", "objects"), iEleId); return true; } element.setPlainText(szText); return true; } - -KVSO_CLASS_FUNCTION(webView,firstChild) +KVSO_CLASS_FUNCTION(webView, firstChild) { CHECK_INTERNAL_POINTER(widget()) kvs_int_t iEleId; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("identifier",KVS_PT_INTEGER,0,iEleId) + KVSO_PARAMETER("identifier", KVS_PT_INTEGER, 0, iEleId) KVSO_PARAMETERS_END(c) - QWebElement element=getElement(iEleId); - if (element.isNull()) + QWebElement element = getElement(iEleId); + if(element.isNull()) { - c->warning(__tr2qs_ctx("Document element with ID %d doesn't exist","objects"),iEleId); + c->warning(__tr2qs_ctx("Document element with ID %d doesn't exist", "objects"), iEleId); return true; } - QWebElement tempElement=element.firstChild(); - if (tempElement.isNull()) + QWebElement tempElement = element.firstChild(); + if(tempElement.isNull()) { c->returnValue()->setInteger(-1); return true; } - int id=insertElement(tempElement); - c->returnValue()->setInteger((kvs_int_t) id); + int id = insertElement(tempElement); + c->returnValue()->setInteger((kvs_int_t)id); return true; } -KVSO_CLASS_FUNCTION(webView,lastChild) +KVSO_CLASS_FUNCTION(webView, lastChild) { CHECK_INTERNAL_POINTER(widget()) kvs_int_t iEleId; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("identifier",KVS_PT_INTEGER,0,iEleId) + KVSO_PARAMETER("identifier", KVS_PT_INTEGER, 0, iEleId) KVSO_PARAMETERS_END(c) - QWebElement element=getElement(iEleId); - if (element.isNull()) + QWebElement element = getElement(iEleId); + if(element.isNull()) { - c->warning(__tr2qs_ctx("Document element with ID %d doesn't exist","objects"),iEleId); + c->warning(__tr2qs_ctx("Document element with ID %d doesn't exist", "objects"), iEleId); return true; } - QWebElement tempElement=element.lastChild(); - if (tempElement.isNull()) + QWebElement tempElement = element.lastChild(); + if(tempElement.isNull()) { c->returnValue()->setInteger(-1); return true; } - int id=insertElement(tempElement); - c->returnValue()->setInteger((kvs_int_t) id); + int id = insertElement(tempElement); + c->returnValue()->setInteger((kvs_int_t)id); return true; } -KVSO_CLASS_FUNCTION(webView,parentElement) +KVSO_CLASS_FUNCTION(webView, parentElement) { CHECK_INTERNAL_POINTER(widget()) kvs_int_t iEleId; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("identifier",KVS_PT_INTEGER,0,iEleId) + KVSO_PARAMETER("identifier", KVS_PT_INTEGER, 0, iEleId) KVSO_PARAMETERS_END(c) - QWebElement element=getElement(iEleId); - if (element.isNull()) + QWebElement element = getElement(iEleId); + if(element.isNull()) { - c->warning(__tr2qs_ctx("Document element with ID %d doesn't exist","objects"),iEleId); + c->warning(__tr2qs_ctx("Document element with ID %d doesn't exist", "objects"), iEleId); return true; } - QWebElement tempElement=element.parent(); - if (tempElement.isNull()) + QWebElement tempElement = element.parent(); + if(tempElement.isNull()) { c->returnValue()->setInteger(-1); return true; } - int id=insertElement(tempElement); - c->returnValue()->setInteger((kvs_int_t) id); + int id = insertElement(tempElement); + c->returnValue()->setInteger((kvs_int_t)id); return true; } - -KVSO_CLASS_FUNCTION(webView,styleProperty) +KVSO_CLASS_FUNCTION(webView, styleProperty) { CHECK_INTERNAL_POINTER(widget()) - QString szName,szStyleResolveStrategy; + QString szName, szStyleResolveStrategy; kvs_int_t iEleId; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("identifier",KVS_PT_INTEGER,0,iEleId) - KVSO_PARAMETER("name",KVS_PT_NONEMPTYSTRING,0,szName) - KVSO_PARAMETER("style_resolve_strategy",KVS_PT_STRING,KVS_PF_OPTIONAL,szStyleResolveStrategy) + KVSO_PARAMETER("identifier", KVS_PT_INTEGER, 0, iEleId) + KVSO_PARAMETER("name", KVS_PT_NONEMPTYSTRING, 0, szName) + KVSO_PARAMETER("style_resolve_strategy", KVS_PT_STRING, KVS_PF_OPTIONAL, szStyleResolveStrategy) KVSO_PARAMETERS_END(c) - QWebElement element=getElement(iEleId); - if (element.isNull()) + QWebElement element = getElement(iEleId); + if(element.isNull()) { - c->warning(__tr2qs_ctx("Document element with ID %d doesn't exist","objects"),iEleId); + c->warning(__tr2qs_ctx("Document element with ID %d doesn't exist", "objects"), iEleId); return true; } - QWebElement::StyleResolveStrategy styleStrategy=QWebElement::CascadedStyle; + QWebElement::StyleResolveStrategy styleStrategy = QWebElement::CascadedStyle; if(!szStyleResolveStrategy.isEmpty()) { - if(KviQString::equalCI(szStyleResolveStrategy, "InlineStyle")) styleStrategy=QWebElement::InlineStyle; - else if(KviQString::equalCI(szStyleResolveStrategy, "CascadedStyle")) styleStrategy=QWebElement::CascadedStyle; - else if(KviQString::equalCI(szStyleResolveStrategy, "ComputedStyle")) styleStrategy=QWebElement::ComputedStyle; + if(KviQString::equalCI(szStyleResolveStrategy, "InlineStyle")) + styleStrategy = QWebElement::InlineStyle; + else if(KviQString::equalCI(szStyleResolveStrategy, "CascadedStyle")) + styleStrategy = QWebElement::CascadedStyle; + else if(KviQString::equalCI(szStyleResolveStrategy, "ComputedStyle")) + styleStrategy = QWebElement::ComputedStyle; else { - c->warning(__tr2qs_ctx("Unknown styleResolveStrategy: '%Q' - Switching to default CascadedStyle strategy","objects"),&szStyleResolveStrategy); + c->warning(__tr2qs_ctx("Unknown styleResolveStrategy: '%Q' - Switching to default CascadedStyle strategy", "objects"), &szStyleResolveStrategy); } } c->returnValue()->setString(element.styleProperty(szName, styleStrategy)); return true; } -KVSO_CLASS_FUNCTION(webView,setStyleProperty) +KVSO_CLASS_FUNCTION(webView, setStyleProperty) { CHECK_INTERNAL_POINTER(widget()) - QString szProperty,szValue; + QString szProperty, szValue; kvs_int_t iEleId; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("identifier",KVS_PT_INTEGER,0,iEleId) - KVSO_PARAMETER("property",KVS_PT_STRING,0,szProperty) - KVSO_PARAMETER("value",KVS_PT_STRING,0,szValue) + KVSO_PARAMETER("identifier", KVS_PT_INTEGER, 0, iEleId) + KVSO_PARAMETER("property", KVS_PT_STRING, 0, szProperty) + KVSO_PARAMETER("value", KVS_PT_STRING, 0, szValue) KVSO_PARAMETERS_END(c) - QWebElement element=getElement(iEleId); - if (element.isNull()) + QWebElement element = getElement(iEleId); + if(element.isNull()) { - c->warning(__tr2qs_ctx("Document element with ID %d doesn't exist","objects"),iEleId); + c->warning(__tr2qs_ctx("Document element with ID %d doesn't exist", "objects"), iEleId); return true; } - element.setStyleProperty(szProperty,szValue); + element.setStyleProperty(szProperty, szValue); return true; } -KVSO_CLASS_FUNCTION(webView,getDocumentElement) +KVSO_CLASS_FUNCTION(webView, getDocumentElement) { CHECK_INTERNAL_POINTER(widget()) QString szFrameName; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("frame_name",KVS_PT_STRING,KVS_PF_OPTIONAL,szFrameName) + KVSO_PARAMETER("frame_name", KVS_PT_STRING, KVS_PF_OPTIONAL, szFrameName) KVSO_PARAMETERS_END(c) - QWebFrame *pFrame; - pFrame=((QWebView *)widget())->page()->mainFrame(); + QWebFrame * pFrame; + pFrame = ((QWebView *)widget())->page()->mainFrame(); if(!szFrameName.isEmpty()) { - pFrame=findFrame(pFrame,szFrameName); + pFrame = findFrame(pFrame, szFrameName); if(!pFrame) { - c->warning(__tr2qs_ctx("Unknown frame '%Q'","objects"),&szFrameName); + c->warning(__tr2qs_ctx("Unknown frame '%Q'", "objects"), &szFrameName); return true; } } - int id=insertElement(pFrame->documentElement()); - c->returnValue()->setInteger((kvs_int_t) id); + int id = insertElement(pFrame->documentElement()); + c->returnValue()->setInteger((kvs_int_t)id); return true; } -KVSO_CLASS_FUNCTION(webView,addToJavaScriptWindowObject) +KVSO_CLASS_FUNCTION(webView, addToJavaScriptWindowObject) { CHECK_INTERNAL_POINTER(widget()) QString szFrameName, szObjectName; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("object_name",KVS_PT_NONEMPTYSTRING,0,szObjectName) - KVSO_PARAMETER("frame_name",KVS_PT_STRING,KVS_PF_OPTIONAL,szFrameName) + KVSO_PARAMETER("object_name", KVS_PT_NONEMPTYSTRING, 0, szObjectName) + KVSO_PARAMETER("frame_name", KVS_PT_STRING, KVS_PF_OPTIONAL, szFrameName) KVSO_PARAMETERS_END(c) - QWebFrame *pFrame; - pFrame=((QWebView *)widget())->page()->mainFrame(); + QWebFrame * pFrame; + pFrame = ((QWebView *)widget())->page()->mainFrame(); if(!szFrameName.isEmpty()) { - pFrame=findFrame(pFrame,szFrameName); + pFrame = findFrame(pFrame, szFrameName); if(!pFrame) { - c->warning(__tr2qs_ctx("Unknown frame '%Q'","objects"),&szFrameName); + c->warning(__tr2qs_ctx("Unknown frame '%Q'", "objects"), &szFrameName); return true; } } - pFrame->addToJavaScriptWindowObject(szObjectName,this); + pFrame->addToJavaScriptWindowObject(szObjectName, this); return true; } -KVSO_CLASS_FUNCTION(webView,setEventFilter) +KVSO_CLASS_FUNCTION(webView, setEventFilter) { Q_UNUSED(c); - QWebFrame *pFrame; - pFrame=((QWebView *)widget())->page()->mainFrame(); - pFrame->addToJavaScriptWindowObject("kvs",this); + QWebFrame * pFrame; + pFrame = ((QWebView *)widget())->page()->mainFrame(); + pFrame->addToJavaScriptWindowObject("kvs", this); return true; } -KVSO_CLASS_FUNCTION(webView,hitTestContent) +KVSO_CLASS_FUNCTION(webView, hitTestContent) { CHECK_INTERNAL_POINTER(widget()) - kvs_int_t iYPos,iXPos; + kvs_int_t iYPos, iXPos; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("x_pos",KVS_PT_INT,0,iXPos) - KVSO_PARAMETER("y_pos",KVS_PT_INT,0,iYPos) + KVSO_PARAMETER("x_pos", KVS_PT_INT, 0, iXPos) + KVSO_PARAMETER("y_pos", KVS_PT_INT, 0, iYPos) KVSO_PARAMETERS_END(c) - QWebFrame *pFrame; - pFrame=((QWebView *)widget())->page()->mainFrame(); - QWebHitTestResult res=pFrame->hitTestContent(QPoint(iXPos,iYPos)); - if(res.isNull()) return true; - KviKvsHash *pHash=new KviKvsHash(); - pHash->set("imageurl",new KviKvsVariant(res.imageUrl().toString())); - pHash->set("linktitle",new KviKvsVariant(res.linkTitle().toString())); - pHash->set("linktext",new KviKvsVariant(res.linkText())); - pHash->set("linkelement",new KviKvsVariant((kvs_int_t)insertElement(res.linkElement()))); - pHash->set("enclosingelement",new KviKvsVariant((kvs_int_t)insertElement(res.enclosingBlockElement()))); - pHash->set("element",new KviKvsVariant((kvs_int_t)insertElement(res.element()))); + QWebFrame * pFrame; + pFrame = ((QWebView *)widget())->page()->mainFrame(); + QWebHitTestResult res = pFrame->hitTestContent(QPoint(iXPos, iYPos)); + if(res.isNull()) + return true; + KviKvsHash * pHash = new KviKvsHash(); + pHash->set("imageurl", new KviKvsVariant(res.imageUrl().toString())); + pHash->set("linktitle", new KviKvsVariant(res.linkTitle().toString())); + pHash->set("linktext", new KviKvsVariant(res.linkText())); + pHash->set("linkelement", new KviKvsVariant((kvs_int_t)insertElement(res.linkElement()))); + pHash->set("enclosingelement", new KviKvsVariant((kvs_int_t)insertElement(res.enclosingBlockElement()))); + pHash->set("element", new KviKvsVariant((kvs_int_t)insertElement(res.element()))); c->returnValue()->setHash(pHash); return true; } -KVSO_CLASS_FUNCTION(webView,appendWebViewActionToMenu) +KVSO_CLASS_FUNCTION(webView, appendWebViewActionToMenu) { CHECK_INTERNAL_POINTER(widget()) - KviKvsObject *ob; + KviKvsObject * ob; kvs_hobject_t hObject; - QString szActionName,szIcon; + QString szActionName, szIcon; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("popup",KVS_PT_HOBJECT,0,hObject) - KVSO_PARAMETER("action_name",KVS_PT_NONEMPTYSTRING,0,szActionName) - KVSO_PARAMETER("icon",KVS_PT_STRING,KVS_PF_OPTIONAL,szIcon) + KVSO_PARAMETER("popup", KVS_PT_HOBJECT, 0, hObject) + KVSO_PARAMETER("action_name", KVS_PT_NONEMPTYSTRING, 0, szActionName) + KVSO_PARAMETER("icon", KVS_PT_STRING, KVS_PF_OPTIONAL, szIcon) KVSO_PARAMETERS_END(c) - ob=KviKvsKernel::instance()->objectController()->lookupObject(hObject); - if (!ob) + ob = KviKvsKernel::instance()->objectController()->lookupObject(hObject); + if(!ob) { - c->warning(__tr2qs_ctx("Widget parameter is not an object","objects")); + c->warning(__tr2qs_ctx("Widget parameter is not an object", "objects")); return true; } - if (!ob->object()) + if(!ob->object()) { - c->warning(__tr2qs_ctx("Widget parameter is not a valid object","objects")); + c->warning(__tr2qs_ctx("Widget parameter is not a valid object", "objects")); return true; } if(!ob->inheritsClass("popupmenu")) { - c->warning(__tr2qs_ctx("Can't add a non-popupmenu object","objects")); + c->warning(__tr2qs_ctx("Can't add a non-popupmenu object", "objects")); return true; } - QAction *pAction=0; + QAction * pAction = 0; for(unsigned int i = 0; i < actions_num; i++) { if(KviQString::equalCI(szActionName, actions_tbl[i])) { - pAction=((QWebView *)widget())->pageAction(actions_cod[i]); + pAction = ((QWebView *)widget())->pageAction(actions_cod[i]); break; } } if(!pAction) { - c->warning(__tr2qs_ctx("Unknown action '%Q':","objects"),&szActionName); + c->warning(__tr2qs_ctx("Unknown action '%Q':", "objects"), &szActionName); return true; } if(!szIcon.isEmpty()) { - QPixmap *pix; + QPixmap * pix; pix = g_pIconManager->getImage(szIcon); - if (pix) pAction->setIcon(*pix); - else c->warning(__tr2qs_ctx("Icon '%Q' doesn't exist","objects"),&szIcon); + if(pix) + pAction->setIcon(*pix); + else + c->warning(__tr2qs_ctx("Icon '%Q' doesn't exist", "objects"), &szIcon); } - ((QMenu *)(ob->object()))->addAction(pAction); + ((QMenu *)(ob->object()))->addAction(pAction); return true; } - -KVSO_CLASS_FUNCTION(webView,loadFinishedEvent) +KVSO_CLASS_FUNCTION(webView, loadFinishedEvent) { - emitSignal("loadFinished",c,c->params()); + emitSignal("loadFinished", c, c->params()); return true; } -KVSO_CLASS_FUNCTION(webView,loadProgressEvent) +KVSO_CLASS_FUNCTION(webView, loadProgressEvent) { - emitSignal("loadProgress",c,c->params()); + emitSignal("loadProgress", c, c->params()); return true; } -KVSO_CLASS_FUNCTION(webView,loadStartedEvent) +KVSO_CLASS_FUNCTION(webView, loadStartedEvent) { - emitSignal("loadStarted",c); + emitSignal("loadStarted", c); return true; } -KVSO_CLASS_FUNCTION(webView,downloadCompletedEvent) +KVSO_CLASS_FUNCTION(webView, downloadCompletedEvent) { - emitSignal("downloadCompleted",c,c->params()); + emitSignal("downloadCompleted", c, c->params()); return true; } -KVSO_CLASS_FUNCTION(webView,downloadProgressEvent) +KVSO_CLASS_FUNCTION(webView, downloadProgressEvent) { - emitSignal("downloadProgress",c,c->params()); + emitSignal("downloadProgress", c, c->params()); return true; } -KVSO_CLASS_FUNCTION(webView,linkClickedEvent) +KVSO_CLASS_FUNCTION(webView, linkClickedEvent) { - emitSignal("linkClicked",c,c->params()); + emitSignal("linkClicked", c, c->params()); return true; } -KVSO_CLASS_FUNCTION(webView,downloadRequestEvent) +KVSO_CLASS_FUNCTION(webView, downloadRequestEvent) { - emitSignal("downloadRequest",c,c->params()); + emitSignal("downloadRequest", c, c->params()); return true; } - -KVSO_CLASS_FUNCTION(webView,jsSubmitEvent) +KVSO_CLASS_FUNCTION(webView, jsSubmitEvent) { - emitSignal("jssubmit",c,c->params()); + emitSignal("jssubmit", c, c->params()); return true; } -KVSO_CLASS_FUNCTION(webView,jsChangeEvent) +KVSO_CLASS_FUNCTION(webView, jsChangeEvent) { - emitSignal("jschange",c,c->params()); + emitSignal("jschange", c, c->params()); return true; } -KVSO_CLASS_FUNCTION(webView,jsClickEvent) +KVSO_CLASS_FUNCTION(webView, jsClickEvent) { - emitSignal("jsclick",c,c->params()); + emitSignal("jsclick", c, c->params()); return true; } -KVSO_CLASS_FUNCTION(webView,jsMouseOverEvent) +KVSO_CLASS_FUNCTION(webView, jsMouseOverEvent) { - emitSignal("jsmouseover",c,c->params()); + emitSignal("jsmouseover", c, c->params()); return true; } -KVSO_CLASS_FUNCTION(webView,jsMouseOutEvent) +KVSO_CLASS_FUNCTION(webView, jsMouseOutEvent) { - emitSignal("jsmouseout",c,c->params()); + emitSignal("jsmouseout", c, c->params()); return true; } void KvsObject_webView::slotOnChange(QString szParam) { //qDebug("change"); KviKvsVariantList params(new KviKvsVariant(szParam)); - callFunction(this,"jsChangeEvent",¶ms); + callFunction(this, "jsChangeEvent", ¶ms); } void KvsObject_webView::slotOnSubmit(QString szParam) @@ -1269,26 +1275,25 @@ void KvsObject_webView::slotOnSubmit(QString szParam) // ,QString szParam2,QString szParam3 //qDebug("slotonsubmit"); KviKvsVariantList params(new KviKvsVariant(szParam)); - callFunction(this,"jsSubmitEvent",¶ms); + callFunction(this, "jsSubmitEvent", ¶ms); } void KvsObject_webView::slotOnClick(QString szParam) { KviKvsVariantList params(new KviKvsVariant(szParam)); - callFunction(this,"jsClickEvent",¶ms); + callFunction(this, "jsClickEvent", ¶ms); } void KvsObject_webView::slotOnMouseOver(QString szParam) { - KviKvsVariantList params(new KviKvsVariant(szParam)); - callFunction(this,"jsMouseOverEvent",¶ms); + KviKvsVariantList params(new KviKvsVariant(szParam)); + callFunction(this, "jsMouseOverEvent", ¶ms); } void KvsObject_webView::slotOnMouseOut(QString szParam) { KviKvsVariantList params(new KviKvsVariant(szParam)); - callFunction(this,"jsMouseOutEvent",¶ms); + callFunction(this, "jsMouseOutEvent", ¶ms); } - /*KVSO_CLASS_FUNCTION(webView,jsWindowObjectClearedEvent) { emitSignal("jsWindowObjectCleared",c,c->params()); @@ -1298,29 +1303,29 @@ void KvsObject_webView::slotOnMouseOut(QString szParam) void KvsObject_webView::slotLoadFinished(bool bOk) { - if (bOk) - m_currentElement=((QWebView *)widget())->page()->mainFrame()->documentElement(); + if(bOk) + m_currentElement = ((QWebView *)widget())->page()->mainFrame()->documentElement(); KviKvsVariantList params(new KviKvsVariant(bOk)); - callFunction(this,"loadFinishedEvent",¶ms); + callFunction(this, "loadFinishedEvent", ¶ms); } void KvsObject_webView::slotLoadStarted() { - KviKvsVariantList *lParams=0; - callFunction(this,"loadStartedEvent",lParams); + KviKvsVariantList * lParams = 0; + callFunction(this, "loadStartedEvent", lParams); } void KvsObject_webView::slotLoadProgress(int iProgress) { - KviKvsVariantList params(new KviKvsVariant((kvs_int_t) iProgress)); - callFunction(this,"loadProgressEvent" ,¶ms); + KviKvsVariantList params(new KviKvsVariant((kvs_int_t)iProgress)); + callFunction(this, "loadProgressEvent", ¶ms); } -void KvsObject_webView::slotLinkClicked(const QUrl &url) +void KvsObject_webView::slotLinkClicked(const QUrl & url) { - QString szUrl=url.toString(); + QString szUrl = url.toString(); KviKvsVariantList params(new KviKvsVariant(szUrl)); - callFunction(this,"linkClickedEvent" ,¶ms); + callFunction(this, "linkClickedEvent", ¶ms); } /*void KvsObject_webView::javaScriptWindowObjectCleared(const QUrl &url) { @@ -1329,58 +1334,59 @@ void KvsObject_webView::slotLinkClicked(const QUrl &url) addToJavaScriptWindowObject }*/ -void KvsObject_webView::slotDownloadRequest(const QNetworkRequest &r) +void KvsObject_webView::slotDownloadRequest(const QNetworkRequest & r) { - QNetworkReply *pReply=m_pNetworkManager->get(r); - QString szFilePath=""; - KviKvsVariant *filepathret=new KviKvsVariant(szFilePath); + QNetworkReply * pReply = m_pNetworkManager->get(r); + QString szFilePath = ""; + KviKvsVariant * filepathret = new KviKvsVariant(szFilePath); KviKvsVariantList params(new KviKvsVariant(r.url().toString())); - callFunction(this,"downloadRequestEvent",filepathret,¶ms); + callFunction(this, "downloadRequestEvent", filepathret, ¶ms); filepathret->asString(szFilePath); - if (!szFilePath.isEmpty()) + if(!szFilePath.isEmpty()) { - QFile *pFile=new QFile(szFilePath); + QFile * pFile = new QFile(szFilePath); if(!pFile->open(QIODevice::WriteOnly)) { - m_pContext->warning(__tr2qs_ctx("Invalid file path '%Q'","objects"),&szFilePath); + m_pContext->warning(__tr2qs_ctx("Invalid file path '%Q'", "objects"), &szFilePath); pReply->abort(); pReply->deleteLater(); return; } - KviKvsDownloadHandler *pHandler = new KviKvsDownloadHandler(this,pFile,pReply,g_iDownloadId); + KviKvsDownloadHandler * pHandler = new KviKvsDownloadHandler(this, pFile, pReply, g_iDownloadId); Q_UNUSED(pHandler); g_iDownloadId++; } } -KviKvsWebView::KviKvsWebView(QWidget * par,const char * name,KvsObject_webView * parent) -:QWebView(par) +KviKvsWebView::KviKvsWebView(QWidget * par, const char * name, KvsObject_webView * parent) + : QWebView(par) { - m_pParentScript=parent; + m_pParentScript = parent; setObjectName(name); } - -void KviKvsWebView::mouseMoveEvent( QMouseEvent * ev ) +void KviKvsWebView::mouseMoveEvent(QMouseEvent * ev) { KviKvsVariant vRetValue; KviKvsVariantList lParams; lParams.append(new KviKvsVariant((kvs_int_t)ev->x())); lParams.append(new KviKvsVariant((kvs_int_t)ev->y())); - if (!m_pParentScript->callFunction(m_pParentScript,"mouseMoveEvent",&vRetValue,&lParams)) QWebView::mouseMoveEvent(ev); // ignore results of a broken event handler + if(!m_pParentScript->callFunction(m_pParentScript, "mouseMoveEvent", &vRetValue, &lParams)) + QWebView::mouseMoveEvent(ev); // ignore results of a broken event handler else { if(!vRetValue.asBoolean()) QWebView::mouseMoveEvent(ev); } } -void KviKvsWebView::contextMenuEvent( QContextMenuEvent * ev ) +void KviKvsWebView::contextMenuEvent(QContextMenuEvent * ev) { KviKvsVariant vRetValue; KviKvsVariantList lParams; lParams.append(new KviKvsVariant((kvs_int_t)ev->x())); lParams.append(new KviKvsVariant((kvs_int_t)ev->y())); - if (!m_pParentScript->callFunction(m_pParentScript,"customContextMenuRequestedEvent",&vRetValue,&lParams)) QWebView::contextMenuEvent(ev); // ignore results of a broken event handler + if(!m_pParentScript->callFunction(m_pParentScript, "customContextMenuRequestedEvent", &vRetValue, &lParams)) + QWebView::contextMenuEvent(ev); // ignore results of a broken event handler else { if(!vRetValue.asBoolean()) @@ -1390,17 +1396,17 @@ void KviKvsWebView::contextMenuEvent( QContextMenuEvent * ev ) bool KviKvsWebView::event(QEvent * e) { - if(e->type()==QEvent::ToolTip) + if(e->type() == QEvent::ToolTip) { - QHelpEvent *helpEvent = static_cast(e); - QString szTooltip=""; - KviKvsVariant *tipret=new KviKvsVariant(szTooltip); - KviKvsVariantList params(new KviKvsVariant((kvs_int_t)helpEvent->x()),new KviKvsVariant((kvs_int_t)helpEvent->y())); - m_pParentScript->callFunction(m_pParentScript,"maybeTipEvent",tipret,¶ms); + QHelpEvent * helpEvent = static_cast(e); + QString szTooltip = ""; + KviKvsVariant * tipret = new KviKvsVariant(szTooltip); + KviKvsVariantList params(new KviKvsVariant((kvs_int_t)helpEvent->x()), new KviKvsVariant((kvs_int_t)helpEvent->y())); + m_pParentScript->callFunction(m_pParentScript, "maybeTipEvent", tipret, ¶ms); tipret->asString(szTooltip); - if (!szTooltip.isEmpty()) + if(!szTooltip.isEmpty()) { - QToolTip::showText(helpEvent->globalPos(),szTooltip); + QToolTip::showText(helpEvent->globalPos(), szTooltip); return false; } } diff --git a/src/modules/objects/KvsObject_webView.h b/src/modules/objects/KvsObject_webView.h index 107d8d8c8..45de20ceb 100644 --- a/src/modules/objects/KvsObject_webView.h +++ b/src/modules/objects/KvsObject_webView.h @@ -37,51 +37,52 @@ #include class KvsObject_webView; -class KviKvsWebView : public QWebView +class KviKvsWebView : public QWebView { Q_OBJECT public: - KviKvsWebView(QWidget * par,const char * name,KvsObject_webView *); + KviKvsWebView(QWidget * par, const char * name, KvsObject_webView *); //void accept(); //void reject(); virtual ~KviKvsWebView(); + protected: - KvsObject_webView *m_pParentScript; + KvsObject_webView * m_pParentScript; + protected: - virtual void mouseMoveEvent( QMouseEvent * ev ); - virtual void contextMenuEvent(QContextMenuEvent *); - virtual bool event(QEvent * e); -/*protected slots: + virtual void mouseMoveEvent(QMouseEvent * ev); + virtual void contextMenuEvent(QContextMenuEvent *); + virtual bool event(QEvent * e); + /*protected slots: void slotNextClicked(); void slotBackClicked(); */ }; - class KvsObject_webView : public KviKvsObject { Q_OBJECT public: KVSO_DECLARE_OBJECT(KvsObject_webView) protected: - KviKvsRunTimeContext * m_pContext; + KviKvsRunTimeContext * m_pContext; int elementMapId; - int insertElement(const QWebElement &ele); + int insertElement(const QWebElement & ele); QWebElement getElement(int iIdx); int getElementId(const QWebElement &); - QHash m_elementMapper; - KviPointerList * lWebelement; - QHash m_dictCache; + QHash m_elementMapper; + KviPointerList * lWebelement; + QHash m_dictCache; KviPointerList * m_pReplyList; - QNetworkAccessManager * m_pNetworkManager; - QWebElementCollection m_webElementCollection; - QWebElement m_currentElement; -public: + QNetworkAccessManager * m_pNetworkManager; + QWebElementCollection m_webElementCollection; + QWebElement m_currentElement; - QWidget * widget(){ return (QWidget *)object(); } +public: + QWidget * widget() { return (QWidget *)object(); } protected: - void getFrames(QWebFrame *pCurFrame, QStringList &szFramesNames); - QWebFrame * findFrame(QWebFrame *pCurFrame, QString &szFrameName); + void getFrames(QWebFrame * pCurFrame, QStringList & szFramesNames); + QWebFrame * findFrame(QWebFrame * pCurFrame, QString & szFrameName); virtual bool init(KviKvsRunTimeContext * pContext, KviKvsVariantList * pParams); bool removeFromDocument(KviKvsObjectFunctionCall * c); bool makePreview(KviKvsObjectFunctionCall * c); @@ -91,7 +92,6 @@ protected: bool classes(KviKvsObjectFunctionCall * c); - bool firstChild(KviKvsObjectFunctionCall * c); bool lastChild(KviKvsObjectFunctionCall * c); bool parentElement(KviKvsObjectFunctionCall * c); @@ -147,10 +147,10 @@ protected slots: void slotDownloadRequest(const QNetworkRequest &); void slotLinkClicked(const QUrl &); - void slotOnChange(QString ); - void slotOnSubmit(QString ); - void slotOnClick(QString ); - void slotOnMouseOver(QString); + void slotOnChange(QString); + void slotOnSubmit(QString); + void slotOnClick(QString); + void slotOnMouseOver(QString); void slotOnMouseOut(QString); }; @@ -161,15 +161,15 @@ public: KviKvsDownloadHandler(KvsObject_webView * pParent, QFile * pFile, QNetworkReply * pNetReply, int iId); virtual ~KviKvsDownloadHandler(); + protected: KvsObject_webView * m_pParentScript; - QFile * m_pFile; - QNetworkReply * m_pReply; - int m_Id; + QFile * m_pFile; + QNetworkReply * m_pReply; + int m_Id; protected slots: void slotReadyRead(); void slotReplyFinished(); - }; #endif // COMPILE_WEBKIT_SUPPORT diff --git a/src/modules/objects/KvsObject_widget.cpp b/src/modules/objects/KvsObject_widget.cpp index 6da81a999..c6fcfaca8 100644 --- a/src/modules/objects/KvsObject_widget.cpp +++ b/src/modules/objects/KvsObject_widget.cpp @@ -37,7 +37,6 @@ #include "KviStatusBar.h" #include "KvsObject_painter.h" - #include #include #include @@ -58,11 +57,11 @@ #include #ifdef COMPILE_KDE4_SUPPORT - #include +#include #endif -KviKvsWidget::KviKvsWidget(KvsObject_widget * object,QWidget * par) -:QWidget(par), m_pObject(object) +KviKvsWidget::KviKvsWidget(KvsObject_widget * object, QWidget * par) + : QWidget(par), m_pObject(object) { } @@ -72,17 +71,17 @@ KviKvsWidget::~KviKvsWidget() QSize KviKvsWidget::sizeHint() const { - QSize size=QWidget::sizeHint(); + QSize size = QWidget::sizeHint(); KviKvsVariant oReturnBuffer; - KviKvsVariantList params(new KviKvsVariant((kvs_int_t)size.width()),new KviKvsVariant((kvs_int_t)size.height())); - m_pObject->callFunction(m_pObject,"sizeHintRequestEvent",&oReturnBuffer,¶ms); - if (oReturnBuffer.isArray()) + KviKvsVariantList params(new KviKvsVariant((kvs_int_t)size.width()), new KviKvsVariant((kvs_int_t)size.height())); + m_pObject->callFunction(m_pObject, "sizeHintRequestEvent", &oReturnBuffer, ¶ms); + if(oReturnBuffer.isArray()) { - if (oReturnBuffer.array()->size()==2) + if(oReturnBuffer.array()->size() == 2) { - kvs_int_t w,h; - if (oReturnBuffer.array()->at(0)->asInteger(w) && oReturnBuffer.array()->at(1)->asInteger(h)) - return QSize(w,h); + kvs_int_t w, h; + if(oReturnBuffer.array()->at(0)->asInteger(w) && oReturnBuffer.array()->at(1)->asInteger(h)) + return QSize(w, h); } } return QWidget::sizeHint(); @@ -102,7 +101,7 @@ const char * const widgetattributes_tbl[] = { "noMousePropagation" }; -#define widgetattributes_num (sizeof(widgetattributes_tbl) / sizeof(widgetattributes_tbl[0])) +#define widgetattributes_num (sizeof(widgetattributes_tbl) / sizeof(widgetattributes_tbl[0])) const QPalette::ColorRole colorrole_cod[] = { QPalette::Window, @@ -134,8 +133,7 @@ const char * const colorrole_tbl[] = { "HighlightedText" }; -#define colorrole_num (sizeof(colorrole_tbl) / sizeof(colorrole_tbl[0])) - +#define colorrole_num (sizeof(colorrole_tbl) / sizeof(colorrole_tbl[0])) const Qt::WindowType widgettypes_cod[] = { Qt::Window, @@ -151,7 +149,6 @@ const Qt::WindowType widgettypes_cod[] = { Qt::FramelessWindowHint }; - const char * const widgettypes_tbl[] = { "Window", "Dialog", @@ -166,9 +163,7 @@ const char * const widgettypes_tbl[] = { "FramelessWindow" }; - -#define widgettypes_num (sizeof(widgettypes_tbl) / sizeof(widgettypes_tbl[0])) - +#define widgettypes_num (sizeof(widgettypes_tbl) / sizeof(widgettypes_tbl[0])) #define QT_WIDGET_TABFOCUS Qt::TabFocus #define QT_WIDGET_CLICKFOCUS Qt::ClickFocus @@ -603,373 +598,400 @@ const char * const widgettypes_tbl[] = { // return no errors and results that have to be assumed // as invalid (this allows the minimum overhead: if widget() -KVSO_BEGIN_REGISTERCLASS(KvsObject_widget,"widget","object") - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_widget,setParent) - // apparence - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_widget,show) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_widget,hide) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_widget,update) - - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_widget,repaint) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_widget,isTopLevel) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_widget,isVisible) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_widget,raise) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_widget,lower) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_widget,setEnabled) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_widget,isEnabled) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_widget,setMouseTracking) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_widget,setWindowTitle) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_widget,setWindowTitle) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_widget,windowTitle) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_widget,windowTitle) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_widget,hasFocus) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_widget,setFocus) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_widget,setToolTip) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_widget,setWFlags) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_widget,setWindowIcon) - // fonts - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_widget,fontDescent) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_widget,fontAscent) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_widget,fontMetricsLineSpacing) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_widget,fontMetricsWidth) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_widget,fontMetricsHeight) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_widget,setFont) - // geometry - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_widget,screenResolution) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_widget,centerToScreen) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_widget,geometry) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_widget,setGeometry) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_widget,mapToGlobal) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_widget,mapFromGlobal) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_widget,y) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_widget,x) - - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_widget,globalCursorX) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_widget,globalCursorY) - - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_widget,width) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_widget,height) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_widget,setMinimumWidth) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_widget,setMinimumHeight) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_widget,setMaximumWidth) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_widget,setMaximumHeight) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_widget,move) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_widget,sizeHint) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_widget,resize) - - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_widget,setFocusPolicy) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_widget,addWidgetToWrappedLayout) - - // colors and image - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_widget,setForegroundColor) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_widget,setBackgroundColor) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_widget,setBackgroundImage) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_widget,backgroundColor) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_widget,foregroundColor) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_widget,setMask) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_widget,setAttribute) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_widget,colorPalette) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_widget,setStyleSheet) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_widget,setKeyShortcut) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_widget,grab) - // statusbar - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_widget,insertIntoStatusBar) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_widget,removeFromStatusBar) - // events - KVSO_REGISTER_STANDARD_NOTHINGRETURN_HANDLER(KvsObject_widget,"mousePressEvent") - KVSO_REGISTER_STANDARD_NOTHINGRETURN_HANDLER(KvsObject_widget,"mouseReleaseEvent") - KVSO_REGISTER_STANDARD_NOTHINGRETURN_HANDLER(KvsObject_widget,"mouseDoubleClickEvent") - KVSO_REGISTER_STANDARD_NOTHINGRETURN_HANDLER(KvsObject_widget,"mouseMoveEvent") - KVSO_REGISTER_STANDARD_NOTHINGRETURN_HANDLER(KvsObject_widget,"focusInEvent") - KVSO_REGISTER_STANDARD_NOTHINGRETURN_HANDLER(KvsObject_widget,"focusOutEvent") - KVSO_REGISTER_STANDARD_NOTHINGRETURN_HANDLER(KvsObject_widget,"mouseLeaveEvent") - KVSO_REGISTER_STANDARD_NOTHINGRETURN_HANDLER(KvsObject_widget,"mouseEnterEvent") - KVSO_REGISTER_STANDARD_NOTHINGRETURN_HANDLER(KvsObject_widget,"showEvent") - KVSO_REGISTER_STANDARD_NOTHINGRETURN_HANDLER(KvsObject_widget,"hideEvent") - KVSO_REGISTER_STANDARD_NOTHINGRETURN_HANDLER(KvsObject_widget,"closeEvent") - KVSO_REGISTER_STANDARD_NOTHINGRETURN_HANDLER(KvsObject_widget,"resizeEvent") - KVSO_REGISTER_STANDARD_NOTHINGRETURN_HANDLER(KvsObject_widget,"moveEvent") - KVSO_REGISTER_STANDARD_NOTHINGRETURN_HANDLER(KvsObject_widget,"paintEvent") - KVSO_REGISTER_STANDARD_NOTHINGRETURN_HANDLER(KvsObject_widget,"keyPressEvent") - KVSO_REGISTER_STANDARD_NOTHINGRETURN_HANDLER(KvsObject_widget,"sizeHintRequestEvent") - KVSO_REGISTER_STANDARD_NOTHINGRETURN_HANDLER(KvsObject_widget,"maybeTipEvent") - KVSO_REGISTER_STANDARD_NOTHINGRETURN_HANDLER(KvsObject_widget,"shortCutEvent") - KVSO_REGISTER_STANDARD_NOTHINGRETURN_HANDLER(KvsObject_widget,"customContextMenuRequestedEvent") +KVSO_BEGIN_REGISTERCLASS(KvsObject_widget, "widget", "object") +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_widget, setParent) +// apparence +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_widget, show) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_widget, hide) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_widget, update) + +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_widget, repaint) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_widget, isTopLevel) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_widget, isVisible) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_widget, raise) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_widget, lower) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_widget, setEnabled) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_widget, isEnabled) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_widget, setMouseTracking) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_widget, setWindowTitle) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_widget, setWindowTitle) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_widget, windowTitle) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_widget, windowTitle) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_widget, hasFocus) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_widget, setFocus) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_widget, setToolTip) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_widget, setWFlags) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_widget, setWindowIcon) +// fonts +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_widget, fontDescent) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_widget, fontAscent) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_widget, fontMetricsLineSpacing) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_widget, fontMetricsWidth) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_widget, fontMetricsHeight) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_widget, setFont) +// geometry +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_widget, screenResolution) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_widget, centerToScreen) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_widget, geometry) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_widget, setGeometry) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_widget, mapToGlobal) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_widget, mapFromGlobal) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_widget, y) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_widget, x) + +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_widget, globalCursorX) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_widget, globalCursorY) + +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_widget, width) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_widget, height) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_widget, setMinimumWidth) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_widget, setMinimumHeight) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_widget, setMaximumWidth) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_widget, setMaximumHeight) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_widget, move) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_widget, sizeHint) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_widget, resize) + +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_widget, setFocusPolicy) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_widget, addWidgetToWrappedLayout) + +// colors and image +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_widget, setForegroundColor) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_widget, setBackgroundColor) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_widget, setBackgroundImage) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_widget, backgroundColor) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_widget, foregroundColor) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_widget, setMask) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_widget, setAttribute) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_widget, colorPalette) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_widget, setStyleSheet) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_widget, setKeyShortcut) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_widget, grab) +// statusbar +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_widget, insertIntoStatusBar) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_widget, removeFromStatusBar) +// events +KVSO_REGISTER_STANDARD_NOTHINGRETURN_HANDLER(KvsObject_widget, "mousePressEvent") +KVSO_REGISTER_STANDARD_NOTHINGRETURN_HANDLER(KvsObject_widget, "mouseReleaseEvent") +KVSO_REGISTER_STANDARD_NOTHINGRETURN_HANDLER(KvsObject_widget, "mouseDoubleClickEvent") +KVSO_REGISTER_STANDARD_NOTHINGRETURN_HANDLER(KvsObject_widget, "mouseMoveEvent") +KVSO_REGISTER_STANDARD_NOTHINGRETURN_HANDLER(KvsObject_widget, "focusInEvent") +KVSO_REGISTER_STANDARD_NOTHINGRETURN_HANDLER(KvsObject_widget, "focusOutEvent") +KVSO_REGISTER_STANDARD_NOTHINGRETURN_HANDLER(KvsObject_widget, "mouseLeaveEvent") +KVSO_REGISTER_STANDARD_NOTHINGRETURN_HANDLER(KvsObject_widget, "mouseEnterEvent") +KVSO_REGISTER_STANDARD_NOTHINGRETURN_HANDLER(KvsObject_widget, "showEvent") +KVSO_REGISTER_STANDARD_NOTHINGRETURN_HANDLER(KvsObject_widget, "hideEvent") +KVSO_REGISTER_STANDARD_NOTHINGRETURN_HANDLER(KvsObject_widget, "closeEvent") +KVSO_REGISTER_STANDARD_NOTHINGRETURN_HANDLER(KvsObject_widget, "resizeEvent") +KVSO_REGISTER_STANDARD_NOTHINGRETURN_HANDLER(KvsObject_widget, "moveEvent") +KVSO_REGISTER_STANDARD_NOTHINGRETURN_HANDLER(KvsObject_widget, "paintEvent") +KVSO_REGISTER_STANDARD_NOTHINGRETURN_HANDLER(KvsObject_widget, "keyPressEvent") +KVSO_REGISTER_STANDARD_NOTHINGRETURN_HANDLER(KvsObject_widget, "sizeHintRequestEvent") +KVSO_REGISTER_STANDARD_NOTHINGRETURN_HANDLER(KvsObject_widget, "maybeTipEvent") +KVSO_REGISTER_STANDARD_NOTHINGRETURN_HANDLER(KvsObject_widget, "shortCutEvent") +KVSO_REGISTER_STANDARD_NOTHINGRETURN_HANDLER(KvsObject_widget, "customContextMenuRequestedEvent") KVSO_END_REGISTERCLASS(KvsObject_widget) - -KVSO_BEGIN_CONSTRUCTOR(KvsObject_widget,KviKvsObject) +KVSO_BEGIN_CONSTRUCTOR(KvsObject_widget, KviKvsObject) KVSO_END_CONSTRUCTOR(KvsObject_widget) KVSO_BEGIN_DESTRUCTOR(KvsObject_widget) - emit aboutToDie(); +emit aboutToDie(); KVSO_END_CONSTRUCTOR(KvsObject_widget) -bool KvsObject_widget::init(KviKvsRunTimeContext *c,KviKvsVariantList *) +bool KvsObject_widget::init(KviKvsRunTimeContext * c, KviKvsVariantList *) { - setObject(new KviKvsWidget(this,parentScriptWidget())); - m_pContext=c; + setObject(new KviKvsWidget(this, parentScriptWidget())); + m_pContext = c; widget()->setObjectName(getName()); return true; } -bool KvsObject_widget::eventFilter(QObject *o,QEvent *e) +bool KvsObject_widget::eventFilter(QObject * o, QEvent * e) { if(o == object()) { - bool ret=false; + bool ret = false; int aparam; - bool brokenhandler=false; + bool brokenhandler = false; KviKvsVariant oReturnBuffer(ret); switch(e->type()) { case QEvent::ContextMenu: { - QPoint iPoint=widget()->mapFromGlobal(((QContextMenuEvent *)e)->globalPos()); - KviKvsVariantList params(new KviKvsVariant((kvs_int_t)iPoint.x()),new KviKvsVariant((kvs_int_t)iPoint.y())); - callFunction(this,"customContextMenuRequestedEvent",&oReturnBuffer,¶ms); + QPoint iPoint = widget()->mapFromGlobal(((QContextMenuEvent *)e)->globalPos()); + KviKvsVariantList params(new KviKvsVariant((kvs_int_t)iPoint.x()), new KviKvsVariant((kvs_int_t)iPoint.y())); + callFunction(this, "customContextMenuRequestedEvent", &oReturnBuffer, ¶ms); break; } case QEvent::Shortcut: { KviKvsVariantList params(new KviKvsVariant((kvs_int_t)((QShortcutEvent *)e)->shortcutId())); - callFunction(this,"shortCutEvent",&oReturnBuffer,¶ms); + callFunction(this, "shortCutEvent", &oReturnBuffer, ¶ms); break; } case QEvent::ToolTip: { - QHelpEvent *helpEvent = static_cast(e); - QPoint point=helpEvent->pos(); - QString szTooltip=""; - KviKvsVariant *tipret=new KviKvsVariant(szTooltip); - KviKvsVariantList params(new KviKvsVariant((kvs_int_t)point.x()),new KviKvsVariant((kvs_int_t)point.y())); - callFunction(this,"maybeTipEvent",tipret,¶ms); + QHelpEvent * helpEvent = static_cast(e); + QPoint point = helpEvent->pos(); + QString szTooltip = ""; + KviKvsVariant * tipret = new KviKvsVariant(szTooltip); + KviKvsVariantList params(new KviKvsVariant((kvs_int_t)point.x()), new KviKvsVariant((kvs_int_t)point.y())); + callFunction(this, "maybeTipEvent", tipret, ¶ms); tipret->asString(szTooltip); - if (!szTooltip.isEmpty()) QToolTip::showText(helpEvent->globalPos(),szTooltip); + if(!szTooltip.isEmpty()) + QToolTip::showText(helpEvent->globalPos(), szTooltip); break; } case QEvent::Paint: { - QRect rect=((QPaintEvent *)e)->rect(); + QRect rect = ((QPaintEvent *)e)->rect(); KviKvsObjectClass * pClass = KviKvsKernel::instance()->objectController()->lookupClass("painter"); KviKvsVariantList params; - KviKvsObject * pObject = pClass->allocateInstance(0,"internalpainter",m_pContext,¶ms); + KviKvsObject * pObject = pClass->allocateInstance(0, "internalpainter", m_pContext, ¶ms); QPainter p(widget()); ((KvsObject_painter *)pObject)->setInternalPainter(&p); p.setClipRect(rect); - kvs_hobject_t hobj=pObject->handle(); - KviKvsVariantList params2(new KviKvsVariant(hobj),new KviKvsVariant((kvs_int_t)rect.x()),new KviKvsVariant((kvs_int_t)rect.y()),new KviKvsVariant((kvs_int_t)rect.width()),new KviKvsVariant((kvs_int_t)rect.height())); - callFunction(this,"paintEvent",&oReturnBuffer,¶ms2); - pObject=KviKvsKernel::instance()->objectController()->lookupObject(hobj); - if (pObject) pObject->dieNow(); + kvs_hobject_t hobj = pObject->handle(); + KviKvsVariantList params2(new KviKvsVariant(hobj), new KviKvsVariant((kvs_int_t)rect.x()), new KviKvsVariant((kvs_int_t)rect.y()), new KviKvsVariant((kvs_int_t)rect.width()), new KviKvsVariant((kvs_int_t)rect.height())); + callFunction(this, "paintEvent", &oReturnBuffer, ¶ms2); + pObject = KviKvsKernel::instance()->objectController()->lookupObject(hobj); + if(pObject) + pObject->dieNow(); break; } - case QEvent::KeyPress: + case QEvent::KeyPress: { - QString tmp=""; + QString tmp = ""; switch(((QKeyEvent *)e)->key()) { - case Qt::Key_Return: - tmp="Return"; - break; - case Qt::Key_Down: - tmp="Down"; - break; - case Qt::Key_Up: - tmp="Up"; - break; - case Qt::Key_Left: - tmp="Left"; - break; - case Qt::Key_Right: - tmp="Right"; - break; - case Qt::Key_Shift: - tmp="Shift"; - break; - case Qt::Key_Control: - tmp="Ctrl"; - break; - case Qt::Key_Alt: - tmp="Alt"; - break; - case Qt::Key_CapsLock: - tmp="CapsLock"; - break; - case Qt::Key_Backspace: - tmp="Backspace"; - break; - case Qt::Key_Delete: - tmp="Del"; - break; - case Qt::Key_Enter: - tmp="Enter"; - break; - case Qt::Key_Escape: - tmp="Esc"; - break; - case Qt::Key_0: - tmp="0"; - break; - case Qt::Key_1: - tmp="1"; - break; - case Qt::Key_2: - tmp="2"; - break; - case Qt::Key_3: - tmp="3"; - break; - case Qt::Key_4: - tmp="4"; - break; - case Qt::Key_5: - tmp="5"; - break; - case Qt::Key_6: - tmp="6"; - break; - case Qt::Key_7: - tmp="7"; - break; - case Qt::Key_8: - tmp="8"; - break; - case Qt::Key_9: - tmp="9"; - break; - case Qt::Key_Plus: - tmp="+"; - break; - case Qt::Key_Minus: - tmp="-"; - break; - case Qt::Key_Slash: - tmp="/"; - break; - case Qt::Key_Asterisk: - tmp="*"; - break; - case Qt::Key_Period: - tmp="."; - break; - case Qt::Key_ParenLeft: - tmp="("; - break; - case Qt::Key_ParenRight: - tmp=")"; - break; - case Qt::Key_Equal: - tmp="="; - break; - case Qt::Key_AsciiCircum: - tmp="^"; - break; - default: - if (!((QKeyEvent *)e)->text().isEmpty()) tmp = ((QKeyEvent *)e)->text(); + case Qt::Key_Return: + tmp = "Return"; + break; + case Qt::Key_Down: + tmp = "Down"; + break; + case Qt::Key_Up: + tmp = "Up"; + break; + case Qt::Key_Left: + tmp = "Left"; + break; + case Qt::Key_Right: + tmp = "Right"; + break; + case Qt::Key_Shift: + tmp = "Shift"; + break; + case Qt::Key_Control: + tmp = "Ctrl"; + break; + case Qt::Key_Alt: + tmp = "Alt"; + break; + case Qt::Key_CapsLock: + tmp = "CapsLock"; + break; + case Qt::Key_Backspace: + tmp = "Backspace"; + break; + case Qt::Key_Delete: + tmp = "Del"; + break; + case Qt::Key_Enter: + tmp = "Enter"; + break; + case Qt::Key_Escape: + tmp = "Esc"; + break; + case Qt::Key_0: + tmp = "0"; + break; + case Qt::Key_1: + tmp = "1"; + break; + case Qt::Key_2: + tmp = "2"; + break; + case Qt::Key_3: + tmp = "3"; + break; + case Qt::Key_4: + tmp = "4"; + break; + case Qt::Key_5: + tmp = "5"; + break; + case Qt::Key_6: + tmp = "6"; + break; + case Qt::Key_7: + tmp = "7"; + break; + case Qt::Key_8: + tmp = "8"; + break; + case Qt::Key_9: + tmp = "9"; + break; + case Qt::Key_Plus: + tmp = "+"; + break; + case Qt::Key_Minus: + tmp = "-"; + break; + case Qt::Key_Slash: + tmp = "/"; + break; + case Qt::Key_Asterisk: + tmp = "*"; + break; + case Qt::Key_Period: + tmp = "."; + break; + case Qt::Key_ParenLeft: + tmp = "("; + break; + case Qt::Key_ParenRight: + tmp = ")"; + break; + case Qt::Key_Equal: + tmp = "="; + break; + case Qt::Key_AsciiCircum: + tmp = "^"; + break; + default: + if(!((QKeyEvent *)e)->text().isEmpty()) + tmp = ((QKeyEvent *)e)->text(); } KviKvsVariantList params(new KviKvsVariant(tmp)); - callFunction(this,"keyPressEvent",0,¶ms); + callFunction(this, "keyPressEvent", 0, ¶ms); } break; case QEvent::MouseButtonPress: { - if(((QMouseEvent *)e)->button() & Qt::LeftButton)aparam = 0; - else { - if(((QMouseEvent *)e)->button() & Qt::RightButton)aparam = 1; - else aparam = 2; + if(((QMouseEvent *)e)->button() & Qt::LeftButton) + aparam = 0; + else + { + if(((QMouseEvent *)e)->button() & Qt::RightButton) + aparam = 1; + else + aparam = 2; } KviKvsVariantList lParams; lParams.append(new KviKvsVariant((kvs_int_t)aparam)); lParams.append(new KviKvsVariant((kvs_int_t)((QMouseEvent *)e)->pos().x())); lParams.append(new KviKvsVariant((kvs_int_t)((QMouseEvent *)e)->pos().y())); - if (!callFunction(this,"mousePressEvent",&oReturnBuffer,&lParams)) brokenhandler = true; // ignore results of a broken event handler + if(!callFunction(this, "mousePressEvent", &oReturnBuffer, &lParams)) + brokenhandler = true; // ignore results of a broken event handler } break; case QEvent::MouseButtonRelease: { - if(((QMouseEvent *)e)->button() & Qt::LeftButton)aparam = 0; - else { - if(((QMouseEvent *)e)->button() & Qt::RightButton)aparam = 1; - else aparam = 2; + if(((QMouseEvent *)e)->button() & Qt::LeftButton) + aparam = 0; + else + { + if(((QMouseEvent *)e)->button() & Qt::RightButton) + aparam = 1; + else + aparam = 2; } KviKvsVariantList lParams; lParams.append(new KviKvsVariant((kvs_int_t)aparam)); lParams.append(new KviKvsVariant((kvs_int_t)((QMouseEvent *)e)->pos().x())); lParams.append(new KviKvsVariant((kvs_int_t)((QMouseEvent *)e)->pos().y())); - if (!callFunction(this,"mouseReleaseEvent",&oReturnBuffer,&lParams)) brokenhandler = true; // ignore results of a broken event handler + if(!callFunction(this, "mouseReleaseEvent", &oReturnBuffer, &lParams)) + brokenhandler = true; // ignore results of a broken event handler } break; case QEvent::MouseButtonDblClick: { - if(( (QMouseEvent *)e)->button() & Qt::LeftButton)aparam = 0; - else { - if(((QMouseEvent *)e)->button() & Qt::RightButton)aparam = 1; - else aparam = 2; + if(((QMouseEvent *)e)->button() & Qt::LeftButton) + aparam = 0; + else + { + if(((QMouseEvent *)e)->button() & Qt::RightButton) + aparam = 1; + else + aparam = 2; } KviKvsVariantList lParams; lParams.append(new KviKvsVariant((kvs_int_t)aparam)); lParams.append(new KviKvsVariant((kvs_int_t)((QMouseEvent *)e)->pos().x())); lParams.append(new KviKvsVariant((kvs_int_t)((QMouseEvent *)e)->pos().y())); - if (!callFunction(this,"mouseDoubleClickEvent",0,&lParams)) brokenhandler = true; // ignore results of a broken event handler + if(!callFunction(this, "mouseDoubleClickEvent", 0, &lParams)) + brokenhandler = true; // ignore results of a broken event handler } break; - case QEvent::MouseMove: + case QEvent::MouseMove: { KviKvsVariantList lParams; lParams.append(new KviKvsVariant((kvs_int_t)((QMouseEvent *)e)->pos().x())); lParams.append(new KviKvsVariant((kvs_int_t)((QMouseEvent *)e)->pos().y())); - if (!callFunction(this,"mouseMoveEvent",0,&lParams)) brokenhandler = true; // ignore results of a broken event handler + if(!callFunction(this, "mouseMoveEvent", 0, &lParams)) + brokenhandler = true; // ignore results of a broken event handler } break; case QEvent::FocusIn: - if(!callFunction(this,"focusInEvent",&oReturnBuffer,0))brokenhandler = true; - break; + if(!callFunction(this, "focusInEvent", &oReturnBuffer, 0)) + brokenhandler = true; + break; case QEvent::FocusOut: - if(!callFunction(this,"focusOutEvent",&oReturnBuffer,0))brokenhandler = true; - break; + if(!callFunction(this, "focusOutEvent", &oReturnBuffer, 0)) + brokenhandler = true; + break; case QEvent::Resize: { KviKvsVariantList lParams; lParams.append(new KviKvsVariant((kvs_int_t)((QResizeEvent *)e)->size().width())); lParams.append(new KviKvsVariant((kvs_int_t)((QResizeEvent *)e)->size().height())); - if(!callFunction(this,"resizeEvent",&oReturnBuffer,&lParams))brokenhandler = true; + if(!callFunction(this, "resizeEvent", &oReturnBuffer, &lParams)) + brokenhandler = true; break; } case QEvent::Move: - if(!callFunction(this,"moveEvent",&oReturnBuffer,0))brokenhandler = true; - break; + if(!callFunction(this, "moveEvent", &oReturnBuffer, 0)) + brokenhandler = true; + break; case QEvent::Close: - if(!callFunction(this,"closeEvent",&oReturnBuffer,0))brokenhandler = true; - break; + if(!callFunction(this, "closeEvent", &oReturnBuffer, 0)) + brokenhandler = true; + break; case QEvent::Enter: - if(!callFunction(this,"mouseEnterEvent",&oReturnBuffer,0))brokenhandler = true; - break; + if(!callFunction(this, "mouseEnterEvent", &oReturnBuffer, 0)) + brokenhandler = true; + break; case QEvent::Leave: - if(!callFunction(this,"mouseLeaveEvent",&oReturnBuffer,0))brokenhandler = true; - break; + if(!callFunction(this, "mouseLeaveEvent", &oReturnBuffer, 0)) + brokenhandler = true; + break; case QEvent::Show: - if(!callFunction(this,"showEvent",&oReturnBuffer,0))brokenhandler = true; - break; + if(!callFunction(this, "showEvent", &oReturnBuffer, 0)) + brokenhandler = true; + break; case QEvent::Hide: - if(!callFunction(this,"hideEvent",&oReturnBuffer,0))ret =false; - break; + if(!callFunction(this, "hideEvent", &oReturnBuffer, 0)) + ret = false; + break; default: - return KviKvsObject::eventFilter(o,e); - break; - + return KviKvsObject::eventFilter(o, e); + break; } - if (!brokenhandler){ + if(!brokenhandler) + { ret = oReturnBuffer.asBoolean(); //qDebug ("Propagation %i",ret); - return ret; - } + return ret; + } } /* if(o->parent()) @@ -979,55 +1001,54 @@ bool KvsObject_widget::eventFilter(QObject *o,QEvent *e) } else { qDebug("Propagation to object"); */ - return KviKvsObject::eventFilter(o,e); + return KviKvsObject::eventFilter(o, e); //} } - -KVSO_CLASS_FUNCTION(widget,show) +KVSO_CLASS_FUNCTION(widget, show) { CHECK_INTERNAL_POINTER(widget()) - QWidget *wid=widget(); + QWidget * wid = widget(); wid->show(); return true; } -KVSO_CLASS_FUNCTION(widget,update) +KVSO_CLASS_FUNCTION(widget, update) { CHECK_INTERNAL_POINTER(widget()) - kvs_int_t iX,iY,iW,iH; + kvs_int_t iX, iY, iW, iH; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("x",KVS_PT_INT,KVS_PF_OPTIONAL,iX) - KVSO_PARAMETER("y",KVS_PT_INT,KVS_PF_OPTIONAL,iY) - KVSO_PARAMETER("w",KVS_PT_INT,KVS_PF_OPTIONAL,iW) - KVSO_PARAMETER("h",KVS_PT_INT,KVS_PF_OPTIONAL,iH) + KVSO_PARAMETER("x", KVS_PT_INT, KVS_PF_OPTIONAL, iX) + KVSO_PARAMETER("y", KVS_PT_INT, KVS_PF_OPTIONAL, iY) + KVSO_PARAMETER("w", KVS_PT_INT, KVS_PF_OPTIONAL, iW) + KVSO_PARAMETER("h", KVS_PT_INT, KVS_PF_OPTIONAL, iH) KVSO_PARAMETERS_END(c) - if (iW || iH) - widget()->update(QRect(iX,iY,iW,iH)); + if(iW || iH) + widget()->update(QRect(iX, iY, iW, iH)); else widget()->update(); return true; } -KVSO_CLASS_FUNCTION(widget,setEnabled) +KVSO_CLASS_FUNCTION(widget, setEnabled) { CHECK_INTERNAL_POINTER(widget()) bool bEnabled; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("bEnabled",KVS_PT_BOOL,0,bEnabled) + KVSO_PARAMETER("bEnabled", KVS_PT_BOOL, 0, bEnabled) KVSO_PARAMETERS_END(c) widget()->setEnabled(bEnabled); return true; } -KVSO_CLASS_FUNCTION(widget,isEnabled) +KVSO_CLASS_FUNCTION(widget, isEnabled) { CHECK_INTERNAL_POINTER(widget()) c->returnValue()->setBoolean(widget()->isEnabled()); return true; } -KVSO_CLASS_FUNCTION(widget,fontDescent) +KVSO_CLASS_FUNCTION(widget, fontDescent) { CHECK_INTERNAL_POINTER(widget()) QFontMetrics fm = widget()->fontMetrics(); @@ -1036,82 +1057,81 @@ KVSO_CLASS_FUNCTION(widget,fontDescent) return true; } -KVSO_CLASS_FUNCTION(widget,fontAscent) +KVSO_CLASS_FUNCTION(widget, fontAscent) { CHECK_INTERNAL_POINTER(widget()) QFontMetrics fm = widget()->fontMetrics(); int d = fm.ascent(); c->returnValue()->setInteger(d); return true; - } -KVSO_CLASS_FUNCTION(widget,repaint) +KVSO_CLASS_FUNCTION(widget, repaint) { CHECK_INTERNAL_POINTER(widget()) widget()->repaint(); return true; } -KVSO_CLASS_FUNCTION(widget,fontMetricsWidth) +KVSO_CLASS_FUNCTION(widget, fontMetricsWidth) { CHECK_INTERNAL_POINTER(widget()) QString m_szStr; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("string",KVS_PT_STRING,0,m_szStr) + KVSO_PARAMETER("string", KVS_PT_STRING, 0, m_szStr) KVSO_PARAMETERS_END(c) c->returnValue()->setInteger(widget()->fontMetrics().width(m_szStr)); return true; } -KVSO_CLASS_FUNCTION(widget,fontMetricsHeight) +KVSO_CLASS_FUNCTION(widget, fontMetricsHeight) { CHECK_INTERNAL_POINTER(widget()) int fm = widget()->fontMetrics().height(); c->returnValue()->setInteger(fm); return true; } -KVSO_CLASS_FUNCTION(widget,fontMetricsLineSpacing) +KVSO_CLASS_FUNCTION(widget, fontMetricsLineSpacing) { CHECK_INTERNAL_POINTER(widget()) int fm = widget()->fontMetrics().lineSpacing(); c->returnValue()->setInteger(fm); return true; } -KVSO_CLASS_FUNCTION(widget,screenResolution) +KVSO_CLASS_FUNCTION(widget, screenResolution) { CHECK_INTERNAL_POINTER(widget()) KviKvsArray * a = new KviKvsArray(); QRect rect = g_pApp->desktop()->screenGeometry(g_pApp->desktop()->primaryScreen()); - a->set(0,new KviKvsVariant((kvs_int_t)rect.width())); - a->set(1,new KviKvsVariant((kvs_int_t)rect.height())); + a->set(0, new KviKvsVariant((kvs_int_t)rect.width())); + a->set(1, new KviKvsVariant((kvs_int_t)rect.height())); c->returnValue()->setArray(a); return true; } -KVSO_CLASS_FUNCTION(widget,geometry) +KVSO_CLASS_FUNCTION(widget, geometry) { CHECK_INTERNAL_POINTER(widget()) - QRect r = widget() ? widget()->geometry() : QRect(0,0,0,0); + QRect r = widget() ? widget()->geometry() : QRect(0, 0, 0, 0); KviKvsArray * a = new KviKvsArray(); - a->set(0,new KviKvsVariant((kvs_int_t)r.x())); - a->set(1,new KviKvsVariant((kvs_int_t)r.y())); - a->set(2,new KviKvsVariant((kvs_int_t)r.width())); - a->set(3,new KviKvsVariant((kvs_int_t)r.height())); + a->set(0, new KviKvsVariant((kvs_int_t)r.x())); + a->set(1, new KviKvsVariant((kvs_int_t)r.y())); + a->set(2, new KviKvsVariant((kvs_int_t)r.width())); + a->set(3, new KviKvsVariant((kvs_int_t)r.height())); c->returnValue()->setArray(a); return true; } -KVSO_CLASS_FUNCTION(widget,setGeometry) +KVSO_CLASS_FUNCTION(widget, setGeometry) { CHECK_INTERNAL_POINTER(widget()) KviKvsVariant * pXOrArray; - kvs_int_t iX,iY,iW,iH; + kvs_int_t iX, iY, iW, iH; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("x_or_array",KVS_PT_VARIANT,0,pXOrArray) - KVSO_PARAMETER("y",KVS_PT_INT,KVS_PF_OPTIONAL,iY) - KVSO_PARAMETER("w",KVS_PT_INT,KVS_PF_OPTIONAL,iW) - KVSO_PARAMETER("h",KVS_PT_INT,KVS_PF_OPTIONAL,iH) + KVSO_PARAMETER("x_or_array", KVS_PT_VARIANT, 0, pXOrArray) + KVSO_PARAMETER("y", KVS_PT_INT, KVS_PF_OPTIONAL, iY) + KVSO_PARAMETER("w", KVS_PT_INT, KVS_PF_OPTIONAL, iW) + KVSO_PARAMETER("h", KVS_PT_INT, KVS_PF_OPTIONAL, iH) KVSO_PARAMETERS_END(c) // this is a little bit tricky: we accept two syntax versions @@ -1132,7 +1152,7 @@ KVSO_CLASS_FUNCTION(widget,setGeometry) // make sure it has at least 4 elements if(pXOrArray->array()->size() < 4) { - c->error(__tr2qs_ctx("The array passed as parameter must contain at least 4 elements","objects")); + c->error(__tr2qs_ctx("The array passed as parameter must contain at least 4 elements", "objects")); return false; } // we must also manually extract the data from the array @@ -1145,92 +1165,94 @@ KVSO_CLASS_FUNCTION(widget,setGeometry) // no parameter was set in that place if(!(pX && pY && pW && pH)) { - c->error(__tr2qs_ctx("One of the geometry array parameters is empty","objects")); + c->error(__tr2qs_ctx("One of the geometry array parameters is empty", "objects")); return false; } if(!(pX->asInteger(iX) && pY->asInteger(iY) && pW->asInteger(iW) && pH->asInteger(iH))) { - c->error(__tr2qs_ctx("One of the geometry array parameters didn't evaluate to an integer","objects")); + c->error(__tr2qs_ctx("One of the geometry array parameters didn't evaluate to an integer", "objects")); return false; } // ok: the params are correct - } else { + } + else + { // The user passed something else as first parameter // make sure that it is an integer. // Also make sure that we really have 4 parameters if(c->params()->count() < 4) { - c->error(__tr2qs_ctx("$setGeometry() requires either an array as first parameter or four integers","objects")); + c->error(__tr2qs_ctx("$setGeometry() requires either an array as first parameter or four integers", "objects")); return false; } if(!pXOrArray->asInteger(iX)) { - c->error(__tr2qs_ctx("The first parameter didn't evaluate to an array nor an integer","objects")); + c->error(__tr2qs_ctx("The first parameter didn't evaluate to an array nor an integer", "objects")); return false; } // ok: the params are correct } - widget()->setGeometry(iX,iY,iW,iH); + widget()->setGeometry(iX, iY, iW, iH); return true; } -KVSO_CLASS_FUNCTION(widget,mapToGlobal) +KVSO_CLASS_FUNCTION(widget, mapToGlobal) { CHECK_INTERNAL_POINTER(widget()) - kvs_int_t iX,iY; + kvs_int_t iX, iY; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("x",KVS_PT_INT,0,iX) - KVSO_PARAMETER("y",KVS_PT_INT,0,iY) + KVSO_PARAMETER("x", KVS_PT_INT, 0, iX) + KVSO_PARAMETER("y", KVS_PT_INT, 0, iY) KVSO_PARAMETERS_END(c) - QPoint point=widget()->mapToGlobal(QPoint(iX,iY)); + QPoint point = widget()->mapToGlobal(QPoint(iX, iY)); KviKvsArray * a = new KviKvsArray(); - a->set(0,new KviKvsVariant((kvs_int_t)point.x())); - a->set(1,new KviKvsVariant((kvs_int_t)point.y())); + a->set(0, new KviKvsVariant((kvs_int_t)point.x())); + a->set(1, new KviKvsVariant((kvs_int_t)point.y())); c->returnValue()->setArray(a); return true; } -KVSO_CLASS_FUNCTION(widget,mapFromGlobal) +KVSO_CLASS_FUNCTION(widget, mapFromGlobal) { CHECK_INTERNAL_POINTER(widget()) - kvs_int_t iX,iY; + kvs_int_t iX, iY; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("x",KVS_PT_INT,0,iX) - KVSO_PARAMETER("y",KVS_PT_INT,0,iY) + KVSO_PARAMETER("x", KVS_PT_INT, 0, iX) + KVSO_PARAMETER("y", KVS_PT_INT, 0, iY) KVSO_PARAMETERS_END(c) - QPoint point=widget()->mapFromGlobal(QPoint(iX,iY)); + QPoint point = widget()->mapFromGlobal(QPoint(iX, iY)); KviKvsArray * a = new KviKvsArray(); - a->set(0,new KviKvsVariant((kvs_int_t)point.x())); - a->set(1,new KviKvsVariant((kvs_int_t)point.y())); + a->set(0, new KviKvsVariant((kvs_int_t)point.x())); + a->set(1, new KviKvsVariant((kvs_int_t)point.y())); c->returnValue()->setArray(a); return true; } -KVSO_CLASS_FUNCTION(widget,centerToScreen) +KVSO_CLASS_FUNCTION(widget, centerToScreen) { CHECK_INTERNAL_POINTER(widget()) QRect rect = g_pApp->desktop()->screenGeometry(g_pApp->desktop()->primaryScreen()); - widget()->move((rect.width() - widget()->width())/2,(rect.height() - widget()->height())/2); + widget()->move((rect.width() - widget()->width()) / 2, (rect.height() - widget()->height()) / 2); return true; } -KVSO_CLASS_FUNCTION(widget,setForegroundColor) +KVSO_CLASS_FUNCTION(widget, setForegroundColor) { CHECK_INTERNAL_POINTER(widget()) KviKvsVariant * pColArray; - kvs_int_t iColR,iColG,iColB; + kvs_int_t iColR, iColG, iColB; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("hex_rgb_array_or_red",KVS_PT_VARIANT,0,pColArray) - KVSO_PARAMETER("green",KVS_PT_INT,KVS_PF_OPTIONAL,iColG) - KVSO_PARAMETER("blue",KVS_PT_INT,KVS_PF_OPTIONAL,iColB) + KVSO_PARAMETER("hex_rgb_array_or_red", KVS_PT_VARIANT, 0, pColArray) + KVSO_PARAMETER("green", KVS_PT_INT, KVS_PF_OPTIONAL, iColG) + KVSO_PARAMETER("blue", KVS_PT_INT, KVS_PF_OPTIONAL, iColB) KVSO_PARAMETERS_END(c) if(pColArray->isArray()) { if(pColArray->array()->size() < 3) { - c->error(__tr2qs_ctx("The array passed as parameter must contain at least 3 elements","objects")); + c->error(__tr2qs_ctx("The array passed as parameter must contain at least 3 elements", "objects")); return false; } KviKvsVariant * pColR = pColArray->array()->at(0); @@ -1239,20 +1261,20 @@ KVSO_CLASS_FUNCTION(widget,setForegroundColor) if(!(pColR && pColG && pColB)) { - c->error(__tr2qs_ctx("One of the colors array parameters is empty","objects")); + c->error(__tr2qs_ctx("One of the colors array parameters is empty", "objects")); return false; } if(!(pColR->asInteger(iColR) && pColG->asInteger(iColG) && pColB->asInteger(iColB))) { - c->error(__tr2qs_ctx("One of the colors array parameters didn't evaluate to an integer","objects")); + c->error(__tr2qs_ctx("One of the colors array parameters didn't evaluate to an integer", "objects")); return false; } } else { QColor color; - if (c->params()->count()==1) + if(c->params()->count() == 1) { if(pColArray->isString()) { @@ -1260,18 +1282,20 @@ KVSO_CLASS_FUNCTION(widget,setForegroundColor) pColArray->asString(szColor); // maybe a color name? color.setNamedColor(szColor); - if (!color.isValid()) + if(!color.isValid()) { // itsn't a color name: let try with an hex triplette - color.setNamedColor("#"+szColor); - if (!color.isValid()) + color.setNamedColor("#" + szColor); + if(!color.isValid()) { - c->warning(__tr2qs_ctx("Not a valid color!","objects")); + c->warning(__tr2qs_ctx("Not a valid color!", "objects")); return true; } } - } else { - c->warning(__tr2qs_ctx("Not a valid color!","objects")); + } + else + { + c->warning(__tr2qs_ctx("Not a valid color!", "objects")); return true; } QPalette p = widget()->palette(); @@ -1281,37 +1305,37 @@ KVSO_CLASS_FUNCTION(widget,setForegroundColor) } if(c->params()->count() < 3) { - c->error(__tr2qs_ctx("$setForegroundColor requires either an array as first parameter, one hex string or color name, or three integers","objects")); + c->error(__tr2qs_ctx("$setForegroundColor requires either an array as first parameter, one hex string or color name, or three integers", "objects")); return false; } if(!pColArray->asInteger(iColR)) { - c->error(__tr2qs_ctx("The first parameter didn't evaluate to an array nor an integer","objects")); + c->error(__tr2qs_ctx("The first parameter didn't evaluate to an array nor an integer", "objects")); return false; } } QPalette p = widget()->palette(); - p.setColor(widget()->foregroundRole(), QColor(iColR,iColG,iColB)); + p.setColor(widget()->foregroundRole(), QColor(iColR, iColG, iColB)); widget()->setPalette(p); return true; } -KVSO_CLASS_FUNCTION(widget,setBackgroundColor) +KVSO_CLASS_FUNCTION(widget, setBackgroundColor) { CHECK_INTERNAL_POINTER(widget()) KviKvsVariant * pColArray; - kvs_int_t iColR,iColG,iColB; + kvs_int_t iColR, iColG, iColB; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("name_hex_rgb_array_or_red",KVS_PT_VARIANT,0,pColArray) - KVSO_PARAMETER("green",KVS_PT_INT,KVS_PF_OPTIONAL,iColG) - KVSO_PARAMETER("blue",KVS_PT_INT,KVS_PF_OPTIONAL,iColB) + KVSO_PARAMETER("name_hex_rgb_array_or_red", KVS_PT_VARIANT, 0, pColArray) + KVSO_PARAMETER("green", KVS_PT_INT, KVS_PF_OPTIONAL, iColG) + KVSO_PARAMETER("blue", KVS_PT_INT, KVS_PF_OPTIONAL, iColB) KVSO_PARAMETERS_END(c) if(pColArray->isArray()) { if(pColArray->array()->size() < 3) { - c->error(__tr2qs_ctx("The array passed as parameter must contain at least 3 elements","objects")); + c->error(__tr2qs_ctx("The array passed as parameter must contain at least 3 elements", "objects")); return false; } KviKvsVariant * pColR = pColArray->array()->at(0); @@ -1320,20 +1344,20 @@ KVSO_CLASS_FUNCTION(widget,setBackgroundColor) if(!(pColR && pColG && pColB)) { - c->error(__tr2qs_ctx("One of the colors array parameters is empty","objects")); + c->error(__tr2qs_ctx("One of the colors array parameters is empty", "objects")); return false; } if(!(pColR->asInteger(iColR) && pColG->asInteger(iColG) && pColB->asInteger(iColB))) { - c->error(__tr2qs_ctx("One of the colors array parameters didn't evaluate to an integer","objects")); + c->error(__tr2qs_ctx("One of the colors array parameters didn't evaluate to an integer", "objects")); return false; } } else { QColor color; - if (c->params()->count()==1) + if(c->params()->count() == 1) { if(pColArray->isString()) { @@ -1341,18 +1365,20 @@ KVSO_CLASS_FUNCTION(widget,setBackgroundColor) pColArray->asString(szColor); // maybe a color name? color.setNamedColor(szColor); - if (!color.isValid()) + if(!color.isValid()) { // itsn't a color name: let try with an hex triplette - color.setNamedColor("#"+szColor); - if (!color.isValid()) + color.setNamedColor("#" + szColor); + if(!color.isValid()) { - c->warning(__tr2qs_ctx("Not a valid color!","objects")); + c->warning(__tr2qs_ctx("Not a valid color!", "objects")); return true; } } - } else { - c->warning(__tr2qs_ctx("Not a valid color!","objects")); + } + else + { + c->warning(__tr2qs_ctx("Not a valid color!", "objects")); return true; } QPalette p = widget()->palette(); @@ -1362,442 +1388,453 @@ KVSO_CLASS_FUNCTION(widget,setBackgroundColor) } if(c->params()->count() < 3) { - c->error(__tr2qs_ctx("$setBackgroundColor requires either an array as first parameter, one hex string or color name, or three integers","objects")); + c->error(__tr2qs_ctx("$setBackgroundColor requires either an array as first parameter, one hex string or color name, or three integers", "objects")); return false; } if(!pColArray->asInteger(iColR)) { - c->error(__tr2qs_ctx("The first parameter didn't evaluate to an array nor an integer","objects")); + c->error(__tr2qs_ctx("The first parameter didn't evaluate to an array nor an integer", "objects")); return false; } } QPalette p = widget()->palette(); - p.setColor(widget()->backgroundRole(), QColor(iColR,iColG,iColB)); + p.setColor(widget()->backgroundRole(), QColor(iColR, iColG, iColB)); widget()->setPalette(p); return true; } -KVSO_CLASS_FUNCTION(widget,backgroundColor) +KVSO_CLASS_FUNCTION(widget, backgroundColor) { CHECK_INTERNAL_POINTER(widget()) QColor col = widget()->palette().color(widget()->backgroundRole()); KviKvsArray * a = new KviKvsArray(); - a->set(0,new KviKvsVariant((kvs_int_t)col.red())); - a->set(1,new KviKvsVariant((kvs_int_t)col.green())); - a->set(2,new KviKvsVariant((kvs_int_t)col.blue())); + a->set(0, new KviKvsVariant((kvs_int_t)col.red())); + a->set(1, new KviKvsVariant((kvs_int_t)col.green())); + a->set(2, new KviKvsVariant((kvs_int_t)col.blue())); c->returnValue()->setArray(a); return true; } -KVSO_CLASS_FUNCTION(widget,foregroundColor) +KVSO_CLASS_FUNCTION(widget, foregroundColor) { CHECK_INTERNAL_POINTER(widget()) QColor col = widget()->palette().color(widget()->foregroundRole()); KviKvsArray * a = new KviKvsArray(); - a->set(0,new KviKvsVariant((kvs_int_t)col.red())); - a->set(1,new KviKvsVariant((kvs_int_t)col.green())); - a->set(2,new KviKvsVariant((kvs_int_t)col.blue())); + a->set(0, new KviKvsVariant((kvs_int_t)col.red())); + a->set(1, new KviKvsVariant((kvs_int_t)col.green())); + a->set(2, new KviKvsVariant((kvs_int_t)col.blue())); c->returnValue()->setArray(a); return true; } -KVSO_CLASS_FUNCTION(widget,parentWidget) +KVSO_CLASS_FUNCTION(widget, parentWidget) { CHECK_INTERNAL_POINTER(widget()) - if(parentScriptWidget()) c->returnValue()->setHObject(parentObject()->handle()); + if(parentScriptWidget()) + c->returnValue()->setHObject(parentObject()->handle()); else c->returnValue()->setHObject((kvs_hobject_t)0); return true; - } -KVSO_CLASS_FUNCTION(widget,setMouseTracking) +KVSO_CLASS_FUNCTION(widget, setMouseTracking) { CHECK_INTERNAL_POINTER(widget()) bool bEnabled; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("bEnabled",KVS_PT_BOOL,0,bEnabled) + KVSO_PARAMETER("bEnabled", KVS_PT_BOOL, 0, bEnabled) KVSO_PARAMETERS_END(c) widget()->setMouseTracking(bEnabled); return true; } -KVSO_CLASS_FUNCTION(widget,setWindowTitle) +KVSO_CLASS_FUNCTION(widget, setWindowTitle) { CHECK_INTERNAL_POINTER(widget()) QString szWindowTitle; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("title",KVS_PT_STRING,0,szWindowTitle) + KVSO_PARAMETER("title", KVS_PT_STRING, 0, szWindowTitle) KVSO_PARAMETERS_END(c) widget()->setWindowTitle(szWindowTitle); return true; } -KVSO_CLASS_FUNCTION(widget,windowTitle) +KVSO_CLASS_FUNCTION(widget, windowTitle) { CHECK_INTERNAL_POINTER(widget()) c->returnValue()->setString(widget()->windowTitle().toUtf8().data()); return true; } -KVSO_CLASS_FUNCTION(widget,isTopLevel) +KVSO_CLASS_FUNCTION(widget, isTopLevel) { CHECK_INTERNAL_POINTER(widget()) c->returnValue()->setBoolean(widget()->isTopLevel()); return true; } -KVSO_CLASS_FUNCTION(widget,isVisible) +KVSO_CLASS_FUNCTION(widget, isVisible) { CHECK_INTERNAL_POINTER(widget()) c->returnValue()->setBoolean(widget()->isVisible()); return true; } -KVSO_CLASS_FUNCTION(widget,raise) +KVSO_CLASS_FUNCTION(widget, raise) { CHECK_INTERNAL_POINTER(widget()) widget()->raise(); return true; } -KVSO_CLASS_FUNCTION(widget,lower) +KVSO_CLASS_FUNCTION(widget, lower) { CHECK_INTERNAL_POINTER(widget()) widget()->lower(); return true; } -KVSO_CLASS_FUNCTION(widget,hasFocus) +KVSO_CLASS_FUNCTION(widget, hasFocus) { CHECK_INTERNAL_POINTER(widget()) c->returnValue()->setBoolean(widget()->hasFocus()); return true; } -KVSO_CLASS_FUNCTION(widget,setFocus) +KVSO_CLASS_FUNCTION(widget, setFocus) { CHECK_INTERNAL_POINTER(widget()) widget()->setFocus(); return true; } -KVSO_CLASS_FUNCTION(widget,hide) +KVSO_CLASS_FUNCTION(widget, hide) { CHECK_INTERNAL_POINTER(widget()) widget()->hide(); return true; } -KVSO_CLASS_FUNCTION(widget,setToolTip) +KVSO_CLASS_FUNCTION(widget, setToolTip) { CHECK_INTERNAL_POINTER(widget()) QString szTooltip; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("tooltip",KVS_PT_STRING,0,szTooltip) + KVSO_PARAMETER("tooltip", KVS_PT_STRING, 0, szTooltip) KVSO_PARAMETERS_END(c) widget()->setToolTip(szTooltip); return true; } -KVSO_CLASS_FUNCTION(widget,x) +KVSO_CLASS_FUNCTION(widget, x) { CHECK_INTERNAL_POINTER(widget()) c->returnValue()->setInteger(widget()->x()); return true; } -KVSO_CLASS_FUNCTION(widget,y) +KVSO_CLASS_FUNCTION(widget, y) { CHECK_INTERNAL_POINTER(widget()) c->returnValue()->setInteger(widget()->y()); return true; } -KVSO_CLASS_FUNCTION(widget,width) +KVSO_CLASS_FUNCTION(widget, width) { CHECK_INTERNAL_POINTER(widget()) c->returnValue()->setInteger(widget()->width()); return true; } -KVSO_CLASS_FUNCTION(widget,height) +KVSO_CLASS_FUNCTION(widget, height) { CHECK_INTERNAL_POINTER(widget()) c->returnValue()->setInteger(widget()->height()); return true; } -KVSO_CLASS_FUNCTION(widget,setMinimumWidth) +KVSO_CLASS_FUNCTION(widget, setMinimumWidth) { CHECK_INTERNAL_POINTER(widget()) kvs_int_t iW; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("w",KVS_PT_INT,0,iW) + KVSO_PARAMETER("w", KVS_PT_INT, 0, iW) KVSO_PARAMETERS_END(c) widget()->setMinimumWidth(iW); return true; } -KVSO_CLASS_FUNCTION(widget,setMinimumHeight) +KVSO_CLASS_FUNCTION(widget, setMinimumHeight) { CHECK_INTERNAL_POINTER(widget()) kvs_int_t iH; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("h",KVS_PT_INT,0,iH) + KVSO_PARAMETER("h", KVS_PT_INT, 0, iH) KVSO_PARAMETERS_END(c) widget()->setMinimumHeight(iH); return true; } -KVSO_CLASS_FUNCTION(widget,setMaximumWidth) +KVSO_CLASS_FUNCTION(widget, setMaximumWidth) { CHECK_INTERNAL_POINTER(widget()) kvs_int_t iW; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("w",KVS_PT_INT,0,iW) + KVSO_PARAMETER("w", KVS_PT_INT, 0, iW) KVSO_PARAMETERS_END(c) widget()->setMaximumWidth(iW); return true; } -KVSO_CLASS_FUNCTION(widget,setMaximumHeight) +KVSO_CLASS_FUNCTION(widget, setMaximumHeight) { CHECK_INTERNAL_POINTER(widget()) kvs_int_t iH; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("h",KVS_PT_INT,0,iH) + KVSO_PARAMETER("h", KVS_PT_INT, 0, iH) KVSO_PARAMETERS_END(c) widget()->setMaximumHeight(iH); return true; } -KVSO_CLASS_FUNCTION(widget,move) +KVSO_CLASS_FUNCTION(widget, move) { CHECK_INTERNAL_POINTER(widget()) - kvs_int_t iX,iY; + kvs_int_t iX, iY; KviKvsVariant * pXOrArray; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("x_or_array",KVS_PT_VARIANT,0,pXOrArray) - KVSO_PARAMETER("y",KVS_PT_INT,KVS_PF_OPTIONAL,iY) + KVSO_PARAMETER("x_or_array", KVS_PT_VARIANT, 0, pXOrArray) + KVSO_PARAMETER("y", KVS_PT_INT, KVS_PF_OPTIONAL, iY) KVSO_PARAMETERS_END(c) if(pXOrArray->isArray()) { if(pXOrArray->array()->size() < 2) { - c->error(__tr2qs_ctx("The array passed as parameter must contain at least 2 elements","objects")); + c->error(__tr2qs_ctx("The array passed as parameter must contain at least 2 elements", "objects")); return false; } KviKvsVariant * pX = pXOrArray->array()->at(0); KviKvsVariant * pY = pXOrArray->array()->at(1); if(!(pX && pY)) { - c->error(__tr2qs_ctx("One of the move array parameters is empty","objects")); + c->error(__tr2qs_ctx("One of the move array parameters is empty", "objects")); return false; } if(!(pX->asInteger(iX) && pY->asInteger(iY))) { - c->error(__tr2qs_ctx("One of the move array parameters didn't evaluate to an integer","objects")); + c->error(__tr2qs_ctx("One of the move array parameters didn't evaluate to an integer", "objects")); return false; } // ok: the params are correct - } else { + } + else + { if(c->params()->count() < 2) { - c->error(__tr2qs_ctx("$move() requires either an array as first parameter or two integers","objects")); + c->error(__tr2qs_ctx("$move() requires either an array as first parameter or two integers", "objects")); return false; } if(!pXOrArray->asInteger(iX)) { - c->error(__tr2qs_ctx("The first parameter didn't evaluate to an array nor an integer","objects")); + c->error(__tr2qs_ctx("The first parameter didn't evaluate to an array nor an integer", "objects")); return false; } // ok: the params are correct } - widget()->move(QPoint(iX,iY)); + widget()->move(QPoint(iX, iY)); return true; } -KVSO_CLASS_FUNCTION(widget,sizeHint) +KVSO_CLASS_FUNCTION(widget, sizeHint) { CHECK_INTERNAL_POINTER(widget()) - QSize sizehint =widget()->sizeHint(); + QSize sizehint = widget()->sizeHint(); KviKvsArray * a = new KviKvsArray(); - a->set(0,new KviKvsVariant((kvs_int_t)sizehint.width())); - a->set(1,new KviKvsVariant((kvs_int_t)sizehint.height())); + a->set(0, new KviKvsVariant((kvs_int_t)sizehint.width())); + a->set(1, new KviKvsVariant((kvs_int_t)sizehint.height())); c->returnValue()->setArray(a); return true; } -KVSO_CLASS_FUNCTION(widget,resize) +KVSO_CLASS_FUNCTION(widget, resize) { CHECK_INTERNAL_POINTER(widget()) KviKvsVariant * pWOrArray; - kvs_int_t iW,iH; + kvs_int_t iW, iH; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("width_or_array",KVS_PT_VARIANT,0,pWOrArray) - KVSO_PARAMETER("height",KVS_PT_INT,KVS_PF_OPTIONAL,iH) + KVSO_PARAMETER("width_or_array", KVS_PT_VARIANT, 0, pWOrArray) + KVSO_PARAMETER("height", KVS_PT_INT, KVS_PF_OPTIONAL, iH) KVSO_PARAMETERS_END(c) if(pWOrArray->isArray()) { if(pWOrArray->array()->size() < 2) { - c->error(__tr2qs_ctx("The array passed as parameter must contain at least 2 elements","objects")); + c->error(__tr2qs_ctx("The array passed as parameter must contain at least 2 elements", "objects")); return false; } KviKvsVariant * pW = pWOrArray->array()->at(0); KviKvsVariant * pH = pWOrArray->array()->at(1); if(!(pW && pH)) { - c->error(__tr2qs_ctx("One of the resize array parameters is empty","objects")); + c->error(__tr2qs_ctx("One of the resize array parameters is empty", "objects")); return false; } if(!(pW->asInteger(iW) && pH->asInteger(iH))) { - c->error(__tr2qs_ctx("One of the resize array parameters didn't evaluate to an integer","objects")); + c->error(__tr2qs_ctx("One of the resize array parameters didn't evaluate to an integer", "objects")); return false; } // ok: the params are correct - } else { + } + else + { if(c->params()->count() < 2) { - c->error(__tr2qs_ctx("$resize() requires either an array as first parameter or two integers","objects")); + c->error(__tr2qs_ctx("$resize() requires either an array as first parameter or two integers", "objects")); return false; } if(!pWOrArray->asInteger(iW)) { - c->error(__tr2qs_ctx("The first parameter didn't evaluate to an array nor an integer","objects")); + c->error(__tr2qs_ctx("The first parameter didn't evaluate to an array nor an integer", "objects")); return false; } // ok: the params are correct } - widget()->resize(QSize(iW,iH)); + widget()->resize(QSize(iW, iH)); return true; } -KVSO_CLASS_FUNCTION(widget,setFocusPolicy) +KVSO_CLASS_FUNCTION(widget, setFocusPolicy) { CHECK_INTERNAL_POINTER(widget()) QString szMode; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("focus",KVS_PT_STRING,0,szMode) + KVSO_PARAMETER("focus", KVS_PT_STRING, 0, szMode) KVSO_PARAMETERS_END(c) - if(KviQString::equalCI(szMode,"TabFocus")) + if(KviQString::equalCI(szMode, "TabFocus")) widget()->setFocusPolicy(QT_WIDGET_TABFOCUS); - else - if(KviQString::equalCI(szMode,"ClickFocus")) + else if(KviQString::equalCI(szMode, "ClickFocus")) widget()->setFocusPolicy(QT_WIDGET_CLICKFOCUS); - else - if(KviQString::equalCI(szMode,"StrongFocus")) + else if(KviQString::equalCI(szMode, "StrongFocus")) widget()->setFocusPolicy(QT_WIDGET_STRONGFOCUS); - else - if(KviQString::equalCI(szMode,"NoFocus")) + else if(KviQString::equalCI(szMode, "NoFocus")) widget()->setFocusPolicy(QT_WIDGET_NOFOCUS); - else c->warning(__tr2qs_ctx("Invalid parameters","objects")); + else + c->warning(__tr2qs_ctx("Invalid parameters", "objects")); return true; } -KVSO_CLASS_FUNCTION(widget,setWFlags) +KVSO_CLASS_FUNCTION(widget, setWFlags) { CHECK_INTERNAL_POINTER(widget()) QStringList wflags; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("widget_flags",KVS_PT_STRINGLIST,KVS_PF_OPTIONAL,wflags) + KVSO_PARAMETER("widget_flags", KVS_PT_STRINGLIST, KVS_PF_OPTIONAL, wflags) KVSO_PARAMETERS_END(c) Qt::WindowFlags flag, sum = 0; - for(auto& it : wflags) + for(auto & it : wflags) { flag = 0; for(size_t j{}; j < widgettypes_num; j++) { if(KviQString::equalCI(it, widgettypes_tbl[j])) { - flag=widgettypes_cod[j]; + flag = widgettypes_cod[j]; break; } } if(flag) sum = sum | flag; else - c->warning(__tr2qs_ctx("Unknown widget flag '%Q'","objects"),&it); + c->warning(__tr2qs_ctx("Unknown widget flag '%Q'", "objects"), &it); } widget()->setWindowFlags(sum); return true; } -KVSO_CLASS_FUNCTION(widget,setFont) +KVSO_CLASS_FUNCTION(widget, setFont) { CHECK_INTERNAL_POINTER(widget()) QString szFamily; QStringList szListStyle; kvs_int_t iSize; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("family",KVS_PT_STRING,0,szFamily) - KVSO_PARAMETER("size",KVS_PT_INTEGER,0,iSize) - KVSO_PARAMETER("style",KVS_PT_STRINGLIST,KVS_PF_OPTIONAL,szListStyle) + KVSO_PARAMETER("family", KVS_PT_STRING, 0, szFamily) + KVSO_PARAMETER("size", KVS_PT_INTEGER, 0, iSize) + KVSO_PARAMETER("style", KVS_PT_STRINGLIST, KVS_PF_OPTIONAL, szListStyle) KVSO_PARAMETERS_END(c) - QFont font=widget()->font(); - if(!szFamily.isEmpty()) font.setFamily(szFamily); - if(iSize) font.setPointSize(iSize); + QFont font = widget()->font(); + if(!szFamily.isEmpty()) + font.setFamily(szFamily); + if(iSize) + font.setPointSize(iSize); QString szStyle; - for(int i=0;iwarning(__tr2qs_ctx("Unknown style '%Q'","objects"),&szStyle); + szStyle = szListStyle.at(i); + if(KviQString::equalCI(szStyle, "italic")) + font.setItalic(true); + else if(KviQString::equalCI(szStyle, "bold")) + font.setBold(true); + else if(KviQString::equalCI(szStyle, "underline")) + font.setUnderline(true); + else if(KviQString::equalCI(szStyle, "overline")) + font.setOverline(true); + else if(KviQString::equalCI(szStyle, "strikeout")) + font.setStrikeOut(true); + else if(KviQString::equalCI(szStyle, "fixedpitch")) + font.setFixedPitch(true); + else + c->warning(__tr2qs_ctx("Unknown style '%Q'", "objects"), &szStyle); } widget()->setFont(font); return true; } -KVSO_CLASS_FUNCTION(widget,addWidgetToWrappedLayout) +KVSO_CLASS_FUNCTION(widget, addWidgetToWrappedLayout) { CHECK_INTERNAL_POINTER(widget()) - KviKvsObject *ob; - kvs_uint_t uCol,uRow; + KviKvsObject * ob; + kvs_uint_t uCol, uRow; kvs_hobject_t hObject; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("widget",KVS_PT_HOBJECT,0,hObject) - KVSO_PARAMETER("col",KVS_PT_UNSIGNEDINTEGER,0,uCol) - KVSO_PARAMETER("row",KVS_PT_UNSIGNEDINTEGER,0,uRow) + KVSO_PARAMETER("widget", KVS_PT_HOBJECT, 0, hObject) + KVSO_PARAMETER("col", KVS_PT_UNSIGNEDINTEGER, 0, uCol) + KVSO_PARAMETER("row", KVS_PT_UNSIGNEDINTEGER, 0, uRow) KVSO_PARAMETERS_END(c) - ob=KviKvsKernel::instance()->objectController()->lookupObject(hObject); - if (!ob) + ob = KviKvsKernel::instance()->objectController()->lookupObject(hObject); + if(!ob) { - c->warning(__tr2qs_ctx("Widget parameter is not an object","objects")); + c->warning(__tr2qs_ctx("Widget parameter is not an object", "objects")); return true; } - if (!ob->object()) + if(!ob->object()) { - c->warning(__tr2qs_ctx("Widget parameter is not a valid object","objects")); + c->warning(__tr2qs_ctx("Widget parameter is not a valid object", "objects")); return true; } - QLayout *lay=widget()->layout(); - if (!lay) + QLayout * lay = widget()->layout(); + if(!lay) { - c->warning(__tr2qs_ctx("No Layout associated to the widget ","objects")); + c->warning(__tr2qs_ctx("No Layout associated to the widget ", "objects")); return true; } if(!ob->object()->isWidgetType()) { - c->warning(__tr2qs_ctx("Can't add a non-widget object","objects")); + c->warning(__tr2qs_ctx("Can't add a non-widget object", "objects")); return true; } lay->addWidget(((QWidget *)(ob->object()))); return true; } -KVSO_CLASS_FUNCTION(widget,setParent) +KVSO_CLASS_FUNCTION(widget, setParent) { CHECK_INTERNAL_POINTER(widget()) - KviKvsObject *ob; + KviKvsObject * ob; kvs_hobject_t hObject; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("widget",KVS_PT_HOBJECT,KVS_PF_OPTIONAL,hObject) + KVSO_PARAMETER("widget", KVS_PT_HOBJECT, KVS_PF_OPTIONAL, hObject) KVSO_PARAMETERS_END(c) ob = KviKvsKernel::instance()->objectController()->lookupObject(hObject); @@ -1809,220 +1846,227 @@ KVSO_CLASS_FUNCTION(widget,setParent) widget()->setParent(0); return true; } - else - if(!ob->object()->isWidgetType()) + else if(!ob->object()->isWidgetType()) { - c->warning(__tr2qs_ctx("Parent must be a widget object","objects")); + c->warning(__tr2qs_ctx("Parent must be a widget object", "objects")); return true; } widget()->setParent(((QWidget *)(ob->object()))); return true; } -KVSO_CLASS_FUNCTION(widget,setWindowIcon) +KVSO_CLASS_FUNCTION(widget, setWindowIcon) { CHECK_INTERNAL_POINTER(widget()) QString icon; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("icon",KVS_PT_STRING,0,icon) + KVSO_PARAMETER("icon", KVS_PT_STRING, 0, icon) KVSO_PARAMETERS_END(c) QPixmap * pix = g_pIconManager->getImage(icon); - if(pix)widget()->setWindowIcon(QIcon(*pix)); + if(pix) + widget()->setWindowIcon(QIcon(*pix)); return true; } -KVSO_CLASS_FUNCTION(widget,setBackgroundImage) +KVSO_CLASS_FUNCTION(widget, setBackgroundImage) { CHECK_INTERNAL_POINTER(widget()) QString image; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("image",KVS_PT_STRING,0,image) + KVSO_PARAMETER("image", KVS_PT_STRING, 0, image) KVSO_PARAMETERS_END(c) QPixmap * pix = g_pIconManager->getImage(image); - if(pix){ - QPalette palette=widget()->palette(); + if(pix) + { + QPalette palette = widget()->palette(); palette.setBrush(widget()->backgroundRole(), QBrush(*pix)); widget()->setPalette(palette); } else { - c->warning(__tr2qs_ctx("The pixmap is not valid","objects")); + c->warning(__tr2qs_ctx("The pixmap is not valid", "objects")); return true; } return true; } -KVSO_CLASS_FUNCTION(widget,globalCursorX) +KVSO_CLASS_FUNCTION(widget, globalCursorX) { CHECK_INTERNAL_POINTER(widget()) c->returnValue()->setInteger(QCursor::pos().x()); return true; } -KVSO_CLASS_FUNCTION(widget,globalCursorY) +KVSO_CLASS_FUNCTION(widget, globalCursorY) { CHECK_INTERNAL_POINTER(widget()) c->returnValue()->setInteger(QCursor::pos().y()); return true; } -KVSO_CLASS_FUNCTION(widget,setMask) +KVSO_CLASS_FUNCTION(widget, setMask) { CHECK_INTERNAL_POINTER(widget()) - KviKvsObject *obj; + KviKvsObject * obj; kvs_hobject_t hObject; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("pixmap",KVS_PT_HOBJECT,0,hObject) + KVSO_PARAMETER("pixmap", KVS_PT_HOBJECT, 0, hObject) KVSO_PARAMETERS_END(c) - obj=KviKvsKernel::instance()->objectController()->lookupObject(hObject); - if (!obj) + obj = KviKvsKernel::instance()->objectController()->lookupObject(hObject); + if(!obj) { - c->warning(__tr2qs_ctx("Pixmap parameter is not an object","objects")); + c->warning(__tr2qs_ctx("Pixmap parameter is not an object", "objects")); return true; } - if (!obj->inheritsClass("pixmap")) + if(!obj->inheritsClass("pixmap")) { - c->warning(__tr2qs_ctx("Pixmap object required","objects")); + c->warning(__tr2qs_ctx("Pixmap object required", "objects")); return true; } - QPixmap * pm=((KvsObject_pixmap *)obj)->getPixmap(); + QPixmap * pm = ((KvsObject_pixmap *)obj)->getPixmap(); QBitmap mask(pm->mask()); - if (mask.isNull()) c->warning(__tr2qs_ctx("Null mask","objects")); + if(mask.isNull()) + c->warning(__tr2qs_ctx("Null mask", "objects")); widget()->setMask(mask); return true; } -KVSO_CLASS_FUNCTION(widget,setAttribute) +KVSO_CLASS_FUNCTION(widget, setAttribute) { CHECK_INTERNAL_POINTER(widget()) QString attribute; bool bFlag; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("widget_atribute",KVS_PT_STRING,0,attribute) - KVSO_PARAMETER("bool_flag",KVS_PT_BOOLEAN,0,bFlag) + KVSO_PARAMETER("widget_atribute", KVS_PT_STRING, 0, attribute) + KVSO_PARAMETER("bool_flag", KVS_PT_BOOLEAN, 0, bFlag) KVSO_PARAMETERS_END(c) - bool found=false; + bool found = false; unsigned int j = 0; for(; j < widgetattributes_num; j++) { if(KviQString::equalCI(attribute, widgetattributes_tbl[j])) { - found=true; + found = true; break; } } - if(found)widget()->setAttribute(widgetattributes_cod[j],bFlag); - else c->warning(__tr2qs_ctx("Unknown widget attribute '%Q'","objects"),&attribute); + if(found) + widget()->setAttribute(widgetattributes_cod[j], bFlag); + else + c->warning(__tr2qs_ctx("Unknown widget attribute '%Q'", "objects"), &attribute); return true; } -KVSO_CLASS_FUNCTION(widget,colorPalette) +KVSO_CLASS_FUNCTION(widget, colorPalette) { CHECK_INTERNAL_POINTER(widget()) - QString szColorRole,szColorGroup; + QString szColorRole, szColorGroup; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("color_role",KVS_PT_STRING,0,szColorRole) - KVSO_PARAMETER("color_group",KVS_PT_STRING,0,szColorGroup) + KVSO_PARAMETER("color_role", KVS_PT_STRING, 0, szColorRole) + KVSO_PARAMETER("color_group", KVS_PT_STRING, 0, szColorGroup) KVSO_PARAMETERS_END(c) - bool found=false; + bool found = false; unsigned int j = 0; for(; j < colorrole_num; j++) { if(KviQString::equalCI(szColorRole, colorrole_tbl[j])) { - found=true; + found = true; break; } } if(!found) { - c->warning(__tr2qs_ctx("Unknown Color Role '%Q'","objects"),&szColorRole); + c->warning(__tr2qs_ctx("Unknown Color Role '%Q'", "objects"), &szColorRole); return true; } QPalette::ColorGroup cg; - if (KviQString::equalCI(szColorGroup,"Disabled")) cg=QPalette::Disabled; - else if (KviQString::equalCI(szColorGroup,"Active")) cg=QPalette::Active; - else if (KviQString::equalCI(szColorGroup,"Inactive")) cg=QPalette::Inactive; + if(KviQString::equalCI(szColorGroup, "Disabled")) + cg = QPalette::Disabled; + else if(KviQString::equalCI(szColorGroup, "Active")) + cg = QPalette::Active; + else if(KviQString::equalCI(szColorGroup, "Inactive")) + cg = QPalette::Inactive; else { - c->warning(__tr2qs_ctx("Unknown Color Group '%Q'","objects"),&szColorGroup); + c->warning(__tr2qs_ctx("Unknown Color Group '%Q'", "objects"), &szColorGroup); return true; } - QColor col=widget()->palette().color(cg,colorrole_cod[j]); + QColor col = widget()->palette().color(cg, colorrole_cod[j]); KviKvsArray * a = new KviKvsArray(); - a->set(0,new KviKvsVariant((kvs_int_t)col.red())); - a->set(1,new KviKvsVariant((kvs_int_t)col.green())); - a->set(2,new KviKvsVariant((kvs_int_t)col.blue())); + a->set(0, new KviKvsVariant((kvs_int_t)col.red())); + a->set(1, new KviKvsVariant((kvs_int_t)col.green())); + a->set(2, new KviKvsVariant((kvs_int_t)col.blue())); c->returnValue()->setArray(a); return true; } -KVSO_CLASS_FUNCTION(widget,setStyleSheet) +KVSO_CLASS_FUNCTION(widget, setStyleSheet) { CHECK_INTERNAL_POINTER(widget()) QString szStyleSheet; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("style_sheet",KVS_PT_STRING,0,szStyleSheet) + KVSO_PARAMETER("style_sheet", KVS_PT_STRING, 0, szStyleSheet) KVSO_PARAMETERS_END(c) widget()->setStyleSheet(szStyleSheet); return true; } -KVSO_CLASS_FUNCTION(widget,setKeyShortcut) +KVSO_CLASS_FUNCTION(widget, setKeyShortcut) { CHECK_INTERNAL_POINTER(widget()) QString szKey; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("key",KVS_PT_STRING,0,szKey) + KVSO_PARAMETER("key", KVS_PT_STRING, 0, szKey) KVSO_PARAMETERS_END(c) szKey.prepend("&"); c->returnValue()->setInteger((kvs_int_t)widget()->grabShortcut(QKeySequence::mnemonic(szKey))); return true; } -KVSO_CLASS_FUNCTION(widget,insertIntoStatusBar) +KVSO_CLASS_FUNCTION(widget, insertIntoStatusBar) { CHECK_INTERNAL_POINTER(widget()) - if (g_pMainWindow->mainStatusBar()) - g_pMainWindow->mainStatusBar()->insertPermanentWidgetAtTheEnd(widget(),0); + if(g_pMainWindow->mainStatusBar()) + g_pMainWindow->mainStatusBar()->insertPermanentWidgetAtTheEnd(widget(), 0); return true; } -KVSO_CLASS_FUNCTION(widget,removeFromStatusBar) +KVSO_CLASS_FUNCTION(widget, removeFromStatusBar) { CHECK_INTERNAL_POINTER(widget()) g_pMainWindow->statusBar()->removeWidget(widget()); return true; } -KVSO_CLASS_FUNCTION(widget,grab) +KVSO_CLASS_FUNCTION(widget, grab) { qDebug("Grab"); CHECK_INTERNAL_POINTER(widget()) - KviKvsObject *ob; + KviKvsObject * ob; kvs_hobject_t hObject; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("widget",KVS_PT_HOBJECT,0,hObject) + KVSO_PARAMETER("widget", KVS_PT_HOBJECT, 0, hObject) KVSO_PARAMETERS_END(c) qDebug("Get widget"); - ob=KviKvsKernel::instance()->objectController()->lookupObject(hObject); - if (!ob) + ob = KviKvsKernel::instance()->objectController()->lookupObject(hObject); + if(!ob) { - c->warning(__tr2qs_ctx("Widget parameter is not an object","objects")); + c->warning(__tr2qs_ctx("Widget parameter is not an object", "objects")); return true; } qDebug("check widgetype"); if(!ob->object()->isWidgetType()) { - c->warning(__tr2qs_ctx("Widget object required","objects")); + c->warning(__tr2qs_ctx("Widget object required", "objects")); return true; } - QPixmap *pPixmap=new QPixmap(); + QPixmap * pPixmap = new QPixmap(); qDebug("grabbing"); - *pPixmap=QPixmap::grabWidget(((QWidget *)(ob->object()))); + *pPixmap = QPixmap::grabWidget(((QWidget *)(ob->object()))); KviKvsObjectClass * pClass = KviKvsKernel::instance()->objectController()->lookupClass("pixmap"); KviKvsVariantList params; - KviKvsObject * pObject = pClass->allocateInstance(0,"internalpixmap",c->context(),¶ms); + KviKvsObject * pObject = pClass->allocateInstance(0, "internalpixmap", c->context(), ¶ms); ((KvsObject_pixmap *)pObject)->setInternalPixmap(pPixmap); c->returnValue()->setHObject(pObject->handle()); return true; diff --git a/src/modules/objects/KvsObject_widget.h b/src/modules/objects/KvsObject_widget.h index 0f49ce25d..888aae80a 100644 --- a/src/modules/objects/KvsObject_widget.h +++ b/src/modules/objects/KvsObject_widget.h @@ -33,7 +33,7 @@ #include #ifdef COMPILE_WEBKIT_SUPPORT - #include +#include #endif class KvsObject_widget : public KviKvsObject @@ -46,14 +46,14 @@ public: QWidget * widget() { return (QWidget *)object(); }; protected: - virtual bool init(KviKvsRunTimeContext * pContext,KviKvsVariantList *pParams); + virtual bool init(KviKvsRunTimeContext * pContext, KviKvsVariantList * pParams); #ifdef COMPILE_WEBKIT_SUPPORT QWebView * m_pWebview; #endif - virtual bool eventFilter(QObject *o,QEvent *e); - KviKvsRunTimeContext *m_pContext; - QGraphicsDropShadowEffect *pGraphicsEffect; + virtual bool eventFilter(QObject * o, QEvent * e); + KviKvsRunTimeContext * m_pContext; + QGraphicsDropShadowEffect * pGraphicsEffect; // ok, it is clear that we're messing with the naming conventions for the // object classes :D // let's try to use this one: @@ -64,70 +64,70 @@ protected: // let's also try to keep alphabetic order for the functions here.. so one can find them quickly - bool addWidgetToWrappedLayout(KviKvsObjectFunctionCall *c); - bool backgroundColor(KviKvsObjectFunctionCall *c); - bool centerToScreen(KviKvsObjectFunctionCall *c); - bool colorPalette(KviKvsObjectFunctionCall *c); + bool addWidgetToWrappedLayout(KviKvsObjectFunctionCall * c); + bool backgroundColor(KviKvsObjectFunctionCall * c); + bool centerToScreen(KviKvsObjectFunctionCall * c); + bool colorPalette(KviKvsObjectFunctionCall * c); bool fontAscent(KviKvsObjectFunctionCall * c); bool fontDescent(KviKvsObjectFunctionCall * c); bool fontMetricsHeight(KviKvsObjectFunctionCall * c); bool fontMetricsWidth(KviKvsObjectFunctionCall * c); bool fontMetricsLineSpacing(KviKvsObjectFunctionCall * c); - bool foregroundColor(KviKvsObjectFunctionCall *c); - bool geometry(KviKvsObjectFunctionCall *c); - bool globalCursorX(KviKvsObjectFunctionCall *c); - bool globalCursorY(KviKvsObjectFunctionCall *c); - bool hasFocus(KviKvsObjectFunctionCall *c); + bool foregroundColor(KviKvsObjectFunctionCall * c); + bool geometry(KviKvsObjectFunctionCall * c); + bool globalCursorX(KviKvsObjectFunctionCall * c); + bool globalCursorY(KviKvsObjectFunctionCall * c); + bool hasFocus(KviKvsObjectFunctionCall * c); bool height(KviKvsObjectFunctionCall *); bool hide(KviKvsObjectFunctionCall *); - bool isEnabled(KviKvsObjectFunctionCall *c); - bool isTopLevel(KviKvsObjectFunctionCall *c); - bool isVisible(KviKvsObjectFunctionCall *c); - bool loadInterface(KviKvsObjectFunctionCall *c); + bool isEnabled(KviKvsObjectFunctionCall * c); + bool isTopLevel(KviKvsObjectFunctionCall * c); + bool isVisible(KviKvsObjectFunctionCall * c); + bool loadInterface(KviKvsObjectFunctionCall * c); bool lower(KviKvsObjectFunctionCall *); - bool mapFromGlobal(KviKvsObjectFunctionCall *c); - bool mapToGlobal(KviKvsObjectFunctionCall *c); - bool move(KviKvsObjectFunctionCall *c); - bool parentWidget(KviKvsObjectFunctionCall *c); + bool mapFromGlobal(KviKvsObjectFunctionCall * c); + bool mapToGlobal(KviKvsObjectFunctionCall * c); + bool move(KviKvsObjectFunctionCall * c); + bool parentWidget(KviKvsObjectFunctionCall * c); bool raise(KviKvsObjectFunctionCall *); - bool repaint(KviKvsObjectFunctionCall *c); - bool insertIntoStatusBar(KviKvsObjectFunctionCall *c); - bool removeFromStatusBar(KviKvsObjectFunctionCall *c); - bool setParent(KviKvsObjectFunctionCall *c); - bool resize(KviKvsObjectFunctionCall *c); + bool repaint(KviKvsObjectFunctionCall * c); + bool insertIntoStatusBar(KviKvsObjectFunctionCall * c); + bool removeFromStatusBar(KviKvsObjectFunctionCall * c); + bool setParent(KviKvsObjectFunctionCall * c); + bool resize(KviKvsObjectFunctionCall * c); bool screenResolution(KviKvsObjectFunctionCall * c); - bool setAttribute(KviKvsObjectFunctionCall *c); - bool setBackgroundColor(KviKvsObjectFunctionCall *c); - bool setBackgroundImage(KviKvsObjectFunctionCall *c); - bool setEnabled(KviKvsObjectFunctionCall *c); - bool setFocus(KviKvsObjectFunctionCall *c); - bool setFocusPolicy(KviKvsObjectFunctionCall *c); - bool setFont(KviKvsObjectFunctionCall *c); - bool setGeometry(KviKvsObjectFunctionCall *c); - bool setKeyShortcut(KviKvsObjectFunctionCall *c); - bool setMask(KviKvsObjectFunctionCall *c); - bool setMaximumHeight(KviKvsObjectFunctionCall *c); - bool setMaximumWidth(KviKvsObjectFunctionCall *c); - bool setMinimumHeight(KviKvsObjectFunctionCall *c); - bool setMinimumWidth(KviKvsObjectFunctionCall *c); - bool setMouseTracking(KviKvsObjectFunctionCall *c); - bool setForegroundColor(KviKvsObjectFunctionCall *c); - bool setStyleSheet(KviKvsObjectFunctionCall *c); + bool setAttribute(KviKvsObjectFunctionCall * c); + bool setBackgroundColor(KviKvsObjectFunctionCall * c); + bool setBackgroundImage(KviKvsObjectFunctionCall * c); + bool setEnabled(KviKvsObjectFunctionCall * c); + bool setFocus(KviKvsObjectFunctionCall * c); + bool setFocusPolicy(KviKvsObjectFunctionCall * c); + bool setFont(KviKvsObjectFunctionCall * c); + bool setGeometry(KviKvsObjectFunctionCall * c); + bool setKeyShortcut(KviKvsObjectFunctionCall * c); + bool setMask(KviKvsObjectFunctionCall * c); + bool setMaximumHeight(KviKvsObjectFunctionCall * c); + bool setMaximumWidth(KviKvsObjectFunctionCall * c); + bool setMinimumHeight(KviKvsObjectFunctionCall * c); + bool setMinimumWidth(KviKvsObjectFunctionCall * c); + bool setMouseTracking(KviKvsObjectFunctionCall * c); + bool setForegroundColor(KviKvsObjectFunctionCall * c); + bool setStyleSheet(KviKvsObjectFunctionCall * c); bool setToolTip(KviKvsObjectFunctionCall *); - bool setWindowIcon(KviKvsObjectFunctionCall *c); - bool setWindowTitle(KviKvsObjectFunctionCall *c); - bool setWFlags(KviKvsObjectFunctionCall *c); - bool show(KviKvsObjectFunctionCall *c); - bool sizeHint(KviKvsObjectFunctionCall *c); - bool update(KviKvsObjectFunctionCall *c); + bool setWindowIcon(KviKvsObjectFunctionCall * c); + bool setWindowTitle(KviKvsObjectFunctionCall * c); + bool setWFlags(KviKvsObjectFunctionCall * c); + bool show(KviKvsObjectFunctionCall * c); + bool sizeHint(KviKvsObjectFunctionCall * c); + bool update(KviKvsObjectFunctionCall * c); bool width(KviKvsObjectFunctionCall *); - bool windowTitle(KviKvsObjectFunctionCall *c); + bool windowTitle(KviKvsObjectFunctionCall * c); bool x(KviKvsObjectFunctionCall *); bool y(KviKvsObjectFunctionCall *); bool grab(KviKvsObjectFunctionCall *); #ifdef COMPILE_WEBKIT_SUPPORT - bool setWebView(KviKvsObjectFunctionCall *c); + bool setWebView(KviKvsObjectFunctionCall * c); #endif signals: @@ -139,10 +139,12 @@ class KviKvsWidget : public QWidget Q_OBJECT Q_PROPERTY(QSize sizeHint READ sizeHint) public: - KviKvsWidget(KvsObject_widget * ob,QWidget * par); + KviKvsWidget(KvsObject_widget * ob, QWidget * par); virtual ~KviKvsWidget(); + protected: KvsObject_widget * m_pObject; + public: QSize sizeHint() const; }; diff --git a/src/modules/objects/KvsObject_window.cpp b/src/modules/objects/KvsObject_window.cpp index 2f45829b7..34ede2ed8 100644 --- a/src/modules/objects/KvsObject_window.cpp +++ b/src/modules/objects/KvsObject_window.cpp @@ -22,7 +22,6 @@ // //============================================================================= - #include "KvsObject_window.h" #include "KviError.h" @@ -32,10 +31,8 @@ #include "KviLocale.h" #include "KviMainWindow.h" - - -KviKvsScriptWindowWindow::KviKvsScriptWindowWindow(const QString &szName) -: KviWindow(KviWindow::ScriptObject,szName) +KviKvsScriptWindowWindow::KviKvsScriptWindowWindow(const QString & szName) + : KviWindow(KviWindow::ScriptObject, szName) { m_pCentralWidget = 0; m_pIcon = 0; @@ -45,7 +42,7 @@ KviKvsScriptWindowWindow::~KviKvsScriptWindowWindow() { } -void KviKvsScriptWindowWindow::setCentralWidget(KvsObject_widget *o,QWidget * w) +void KviKvsScriptWindowWindow::setCentralWidget(KvsObject_widget * o, QWidget * w) { m_pCentralWidgetObject = o; m_pCentralWidget = w; @@ -54,7 +51,7 @@ void KviKvsScriptWindowWindow::setCentralWidget(KvsObject_widget *o,QWidget * w) void KviKvsScriptWindowWindow::resizeEvent(QResizeEvent *) { if(m_pCentralWidget) - m_pCentralWidget->setGeometry(0,0,width(),height()); + m_pCentralWidget->setGeometry(0, 0, width(), height()); } void KviKvsScriptWindowWindow::centralWidgetObjectDestroyed() @@ -69,11 +66,12 @@ void KviKvsScriptWindowWindow::centralWidgetDestroyed() m_pCentralWidgetObject = 0; } - QPixmap * KviKvsScriptWindowWindow::myIconPtr() { - if (m_pIcon) return m_pIcon; - else return g_pIconManager->getSmallIcon(KviIconManager::DefaultIcon); + if(m_pIcon) + return m_pIcon; + else + return g_pIconManager->getSmallIcon(KviIconManager::DefaultIcon); } /* @@ -99,74 +97,74 @@ QPixmap * KviKvsScriptWindowWindow::myIconPtr() @functions: */ -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_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) -KVSO_BEGIN_CONSTRUCTOR(KvsObject_window,KvsObject_widget) +KVSO_BEGIN_CONSTRUCTOR(KvsObject_window, KvsObject_widget) KVSO_END_CONSTRUCTOR(KvsObject_window) - KVSO_BEGIN_DESTRUCTOR(KvsObject_window) - if(widget()) - g_pMainWindow->closeWindow(((KviKvsScriptWindowWindow *)widget())); +if(widget()) + g_pMainWindow->closeWindow(((KviKvsScriptWindowWindow *)widget())); KVSO_END_CONSTRUCTOR(KvsObject_window) -bool KvsObject_window::init(KviKvsRunTimeContext *,KviKvsVariantList *) +bool KvsObject_window::init(KviKvsRunTimeContext *, KviKvsVariantList *) { KviKvsScriptWindowWindow * w = new KviKvsScriptWindowWindow(getName()); setObject(w); - g_pMainWindow->addWindow(w,false); + g_pMainWindow->addWindow(w, false); //w->minimize(); // must be minimized before children are added, otherwise the focus handling goes nuts... return true; } -KVSO_CLASS_FUNCTION(window,setWindowTitle) +KVSO_CLASS_FUNCTION(window, setWindowTitle) { CHECK_INTERNAL_POINTER(widget()) QString szCaption; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("caption",KVS_PT_STRING,0,szCaption) + KVSO_PARAMETER("caption", KVS_PT_STRING, 0, szCaption) KVSO_PARAMETERS_END(c) ((KviKvsScriptWindowWindow *)widget())->setWindowTitleString(szCaption); return true; } -KVSO_CLASS_FUNCTION(window,setIcon) +KVSO_CLASS_FUNCTION(window, setIcon) { CHECK_INTERNAL_POINTER(widget()) QString szIcon; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("icon",KVS_PT_STRING,0,szIcon) + KVSO_PARAMETER("icon", KVS_PT_STRING, 0, szIcon) KVSO_PARAMETERS_END(c) QPixmap * pix = g_pIconManager->getImage(szIcon); - if(pix) ((KviKvsScriptWindowWindow *)widget())->setIcon(pix); + if(pix) + ((KviKvsScriptWindowWindow *)widget())->setIcon(pix); return true; } -KVSO_CLASS_FUNCTION(window,setCentralWidget) +KVSO_CLASS_FUNCTION(window, setCentralWidget) { CHECK_INTERNAL_POINTER(widget()) - KviKvsObject *ob; + KviKvsObject * ob; kvs_hobject_t hObject; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("widget",KVS_PT_HOBJECT,0,hObject) + KVSO_PARAMETER("widget", KVS_PT_HOBJECT, 0, hObject) KVSO_PARAMETERS_END(c) - ob=KviKvsKernel::instance()->objectController()->lookupObject(hObject); + ob = KviKvsKernel::instance()->objectController()->lookupObject(hObject); if(!ob->object()->isWidgetType()) { - c->warning(__tr2qs_ctx("Can't add a non-widget object","objects")); + c->warning(__tr2qs_ctx("Can't add a non-widget object", "objects")); return true; } if(!ob->inheritsClass("widget")) { - c->warning(__tr2qs_ctx("Can't add a non-widget object","objects")); + c->warning(__tr2qs_ctx("Can't add a non-widget object", "objects")); return true; } - ((KviKvsScriptWindowWindow *)widget())->setCentralWidget((KvsObject_widget *)ob,((KvsObject_widget *)ob)->widget()); + ((KviKvsScriptWindowWindow *)widget())->setCentralWidget((KvsObject_widget *)ob, ((KvsObject_widget *)ob)->widget()); return true; } diff --git a/src/modules/objects/KvsObject_window.h b/src/modules/objects/KvsObject_window.h index f05e29b97..172db20de 100644 --- a/src/modules/objects/KvsObject_window.h +++ b/src/modules/objects/KvsObject_window.h @@ -28,34 +28,33 @@ #include "KviWindow.h" #include "object_macros.h" - - class KviKvsScriptWindowWindow : public KviWindow { Q_OBJECT public: - KviKvsScriptWindowWindow(const QString &szName); + KviKvsScriptWindowWindow(const QString & szName); ~KviKvsScriptWindowWindow(); + 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) + void setIcon(QPixmap * pPixmap) { m_pIcon = pPixmap; }; + void setCentralWidget(KvsObject_widget * o, QWidget * w); + void setWindowTitleString(const QString & s) { setFixedCaption(s); fillCaptionBuffers(); }; - virtual void resizeEvent(QResizeEvent *e); + virtual void resizeEvent(QResizeEvent * e); protected slots: void centralWidgetObjectDestroyed(); void centralWidgetDestroyed(); }; - class KvsObject_window : public KvsObject_widget { public: @@ -64,13 +63,11 @@ public: QWidget * widget() { return (QWidget *)object(); }; protected: - virtual bool init(KviKvsRunTimeContext * pContext,KviKvsVariantList *pParams); - - bool setWindowTitle(KviKvsObjectFunctionCall *c); - bool setIcon(KviKvsObjectFunctionCall *c); - bool setCentralWidget(KviKvsObjectFunctionCall *c); + virtual bool init(KviKvsRunTimeContext * pContext, KviKvsVariantList * pParams); + bool setWindowTitle(KviKvsObjectFunctionCall * c); + bool setIcon(KviKvsObjectFunctionCall * c); + bool setCentralWidget(KviKvsObjectFunctionCall * c); }; - -#endif // !_CLASS_WINDOW_H_ +#endif // !_CLASS_WINDOW_H_ diff --git a/src/modules/objects/KvsObject_wizard.cpp b/src/modules/objects/KvsObject_wizard.cpp index a4db80553..509ae7ecd 100644 --- a/src/modules/objects/KvsObject_wizard.cpp +++ b/src/modules/objects/KvsObject_wizard.cpp @@ -91,227 +91,224 @@ */ -KVSO_BEGIN_REGISTERCLASS(KvsObject_wizard,"wizard","widget") +KVSO_BEGIN_REGISTERCLASS(KvsObject_wizard, "wizard", "widget") - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_wizard,addPage) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_wizard,insertPage) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_wizard,setTitle) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_wizard, addPage) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_wizard, insertPage) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_wizard, setTitle) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_wizard,setBackEnabled); - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_wizard,setNextEnabled); - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_wizard,setFinishEnabled); - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_wizard,setHelpEnabled); +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_wizard, setBackEnabled); +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_wizard, setNextEnabled); +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_wizard, setFinishEnabled); +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_wizard, setHelpEnabled); - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_wizard,setBackBtnText); - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_wizard,setNextBtnText); - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_wizard,setFinishBtnText); - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_wizard,setHelpBtnText); - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_wizard,nextClickedEvent); - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_wizard,backClickedEvent); +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_wizard, setBackBtnText); +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_wizard, setNextBtnText); +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_wizard, setFinishBtnText); +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_wizard, setHelpBtnText); +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_wizard, nextClickedEvent); +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_wizard, backClickedEvent); - - KVSO_REGISTER_STANDARD_NOTHINGRETURN_HANDLER(KvsObject_wizard,"acceptEvent") - KVSO_REGISTER_STANDARD_NOTHINGRETURN_HANDLER(KvsObject_wizard,"rejectEvent") +KVSO_REGISTER_STANDARD_NOTHINGRETURN_HANDLER(KvsObject_wizard, "acceptEvent") +KVSO_REGISTER_STANDARD_NOTHINGRETURN_HANDLER(KvsObject_wizard, "rejectEvent") KVSO_END_REGISTERCLASS(KvsObject_wizard) -KVSO_BEGIN_CONSTRUCTOR(KvsObject_wizard,KvsObject_widget) +KVSO_BEGIN_CONSTRUCTOR(KvsObject_wizard, KvsObject_widget) KVSO_END_CONSTRUCTOR(KvsObject_wizard) - KVSO_BEGIN_DESTRUCTOR(KvsObject_wizard) KVSO_END_CONSTRUCTOR(KvsObject_wizard) -bool KvsObject_wizard::init(KviKvsRunTimeContext *,KviKvsVariantList *) +bool KvsObject_wizard::init(KviKvsRunTimeContext *, KviKvsVariantList *) { - setObject(new KviKvsMdmWizard(parentScriptWidget(), getName().toUtf8().data(),this), true); + setObject(new KviKvsMdmWizard(parentScriptWidget(), getName().toUtf8().data(), this), true); return true; } -KVSO_CLASS_FUNCTION(wizard,addPage) +KVSO_CLASS_FUNCTION(wizard, addPage) { CHECK_INTERNAL_POINTER(widget()) - KviKvsObject *ob; + KviKvsObject * ob; QString szLabel; kvs_hobject_t hObject; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("page_widget",KVS_PT_HOBJECT,0,hObject) - KVSO_PARAMETER("label",KVS_PT_STRING,0,szLabel) + KVSO_PARAMETER("page_widget", KVS_PT_HOBJECT, 0, hObject) + KVSO_PARAMETER("label", KVS_PT_STRING, 0, szLabel) KVSO_PARAMETERS_END(c) - ob=KviKvsKernel::instance()->objectController()->lookupObject(hObject); + ob = KviKvsKernel::instance()->objectController()->lookupObject(hObject); if(!ob->object()->isWidgetType()) { - c->warning(__tr2qs_ctx("Can't add a non-widget object","objects")); + c->warning(__tr2qs_ctx("Can't add a non-widget object", "objects")); return true; } - ((KviTalWizard *)widget())->addPage(((QWidget *)(ob->object())),szLabel); + ((KviTalWizard *)widget())->addPage(((QWidget *)(ob->object())), szLabel); return true; } -KVSO_CLASS_FUNCTION(wizard,insertPage) +KVSO_CLASS_FUNCTION(wizard, insertPage) { CHECK_INTERNAL_POINTER(widget()) - KviKvsObject *ob; + KviKvsObject * ob; QString szLabel; kvs_uint_t uIndex; kvs_hobject_t hObject; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("page_widget",KVS_PT_HOBJECT,0,hObject) - KVSO_PARAMETER("label",KVS_PT_STRING,0,szLabel) - KVSO_PARAMETER("index",KVS_PT_UNSIGNEDINTEGER,0,uIndex) + KVSO_PARAMETER("page_widget", KVS_PT_HOBJECT, 0, hObject) + KVSO_PARAMETER("label", KVS_PT_STRING, 0, szLabel) + KVSO_PARAMETER("index", KVS_PT_UNSIGNEDINTEGER, 0, uIndex) KVSO_PARAMETERS_END(c) - ob=KviKvsKernel::instance()->objectController()->lookupObject(hObject); + ob = KviKvsKernel::instance()->objectController()->lookupObject(hObject); if(!ob->object()->isWidgetType()) { - c->warning(__tr2qs_ctx("Can't add a non-widget object","objects")); + c->warning(__tr2qs_ctx("Can't add a non-widget object", "objects")); return true; } - ((KviTalWizard *)widget())->insertPage(((QWidget *)(ob->object())),szLabel,uIndex); + ((KviTalWizard *)widget())->insertPage(((QWidget *)(ob->object())), szLabel, uIndex); return true; } - -KVSO_CLASS_FUNCTION(wizard,setTitle) +KVSO_CLASS_FUNCTION(wizard, setTitle) { CHECK_INTERNAL_POINTER(widget()) - KviKvsObject *ob; + KviKvsObject * ob; QString szTitle; kvs_hobject_t hObject; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("page_widget",KVS_PT_HOBJECT,0,hObject) - KVSO_PARAMETER("title",KVS_PT_STRING,0,szTitle) + KVSO_PARAMETER("page_widget", KVS_PT_HOBJECT, 0, hObject) + KVSO_PARAMETER("title", KVS_PT_STRING, 0, szTitle) KVSO_PARAMETERS_END(c) - ob=KviKvsKernel::instance()->objectController()->lookupObject(hObject); + ob = KviKvsKernel::instance()->objectController()->lookupObject(hObject); if(!ob->object()->isWidgetType()) { - c->warning(__tr2qs_ctx("Widget object required","objects")); + c->warning(__tr2qs_ctx("Widget object required", "objects")); return true; } - ((KviTalWizard *)widget())->setPageTitle(((QWidget *)(ob->object())),szTitle); + ((KviTalWizard *)widget())->setPageTitle(((QWidget *)(ob->object())), szTitle); return true; } -KVSO_CLASS_FUNCTION(wizard,setBackEnabled) +KVSO_CLASS_FUNCTION(wizard, setBackEnabled) { CHECK_INTERNAL_POINTER(widget()) bool bEnabled; - KviKvsObject *ob; + KviKvsObject * ob; kvs_hobject_t hObject; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("page_widget",KVS_PT_HOBJECT,0,hObject) - KVSO_PARAMETER("bEnabled",KVS_PT_BOOL,0,bEnabled) + KVSO_PARAMETER("page_widget", KVS_PT_HOBJECT, 0, hObject) + KVSO_PARAMETER("bEnabled", KVS_PT_BOOL, 0, bEnabled) KVSO_PARAMETERS_END(c) - ob=KviKvsKernel::instance()->objectController()->lookupObject(hObject); + ob = KviKvsKernel::instance()->objectController()->lookupObject(hObject); if(!ob->object()->isWidgetType()) { - c->warning(__tr2qs_ctx("Widget object required","objects")); + c->warning(__tr2qs_ctx("Widget object required", "objects")); return true; } - ((KviTalWizard *)widget())->setBackEnabled(((QWidget *)(ob->object())),bEnabled); + ((KviTalWizard *)widget())->setBackEnabled(((QWidget *)(ob->object())), bEnabled); return true; } -KVSO_CLASS_FUNCTION(wizard,setNextEnabled) +KVSO_CLASS_FUNCTION(wizard, setNextEnabled) { CHECK_INTERNAL_POINTER(widget()) bool bEnabled; - KviKvsObject *ob; + KviKvsObject * ob; kvs_hobject_t hObject; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("page_widget",KVS_PT_HOBJECT,0,hObject) - KVSO_PARAMETER("bEnabled",KVS_PT_BOOL,0,bEnabled) + KVSO_PARAMETER("page_widget", KVS_PT_HOBJECT, 0, hObject) + KVSO_PARAMETER("bEnabled", KVS_PT_BOOL, 0, bEnabled) KVSO_PARAMETERS_END(c) - ob=KviKvsKernel::instance()->objectController()->lookupObject(hObject); + ob = KviKvsKernel::instance()->objectController()->lookupObject(hObject); if(!ob->object()->isWidgetType()) { - c->warning(__tr2qs_ctx("Widget object required","objects")); + c->warning(__tr2qs_ctx("Widget object required", "objects")); return true; } - ((KviTalWizard *)widget())->setNextEnabled(((QWidget *)(ob->object())),bEnabled); + ((KviTalWizard *)widget())->setNextEnabled(((QWidget *)(ob->object())), bEnabled); return true; } -KVSO_CLASS_FUNCTION(wizard,setFinishEnabled) +KVSO_CLASS_FUNCTION(wizard, setFinishEnabled) { CHECK_INTERNAL_POINTER(widget()) bool bEnabled; - KviKvsObject *ob; + KviKvsObject * ob; kvs_hobject_t hObject; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("page_widget",KVS_PT_HOBJECT,0,hObject) - KVSO_PARAMETER("bEnabled",KVS_PT_BOOL,0,bEnabled) + KVSO_PARAMETER("page_widget", KVS_PT_HOBJECT, 0, hObject) + KVSO_PARAMETER("bEnabled", KVS_PT_BOOL, 0, bEnabled) KVSO_PARAMETERS_END(c) - ob=KviKvsKernel::instance()->objectController()->lookupObject(hObject); + ob = KviKvsKernel::instance()->objectController()->lookupObject(hObject); if(!ob->object()->isWidgetType()) { - c->warning(__tr2qs_ctx("Widget object required","objects")); + c->warning(__tr2qs_ctx("Widget object required", "objects")); return true; } - ((KviTalWizard *)widget())->setFinishEnabled(((QWidget *)(ob->object())),bEnabled); + ((KviTalWizard *)widget())->setFinishEnabled(((QWidget *)(ob->object())), bEnabled); return true; } -KVSO_CLASS_FUNCTION(wizard,setHelpEnabled) +KVSO_CLASS_FUNCTION(wizard, setHelpEnabled) { CHECK_INTERNAL_POINTER(widget()) bool bEnabled; - KviKvsObject *ob; + KviKvsObject * ob; kvs_hobject_t hObject; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("page_widget",KVS_PT_HOBJECT,0,hObject) - KVSO_PARAMETER("bEnabled",KVS_PT_BOOL,0,bEnabled) + KVSO_PARAMETER("page_widget", KVS_PT_HOBJECT, 0, hObject) + KVSO_PARAMETER("bEnabled", KVS_PT_BOOL, 0, bEnabled) KVSO_PARAMETERS_END(c) - ob=KviKvsKernel::instance()->objectController()->lookupObject(hObject); + ob = KviKvsKernel::instance()->objectController()->lookupObject(hObject); if(!ob->object()->isWidgetType()) { - c->warning(__tr2qs_ctx("Widget object required","objects")); + c->warning(__tr2qs_ctx("Widget object required", "objects")); return true; } - ((KviTalWizard *)widget())->setHelpEnabled(((QWidget *)(ob->object())),bEnabled); + ((KviTalWizard *)widget())->setHelpEnabled(((QWidget *)(ob->object())), bEnabled); return true; } -KVSO_CLASS_FUNCTION(wizard,setBackBtnText) +KVSO_CLASS_FUNCTION(wizard, setBackBtnText) { CHECK_INTERNAL_POINTER(widget()) QString szText; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("text",KVS_PT_STRING,0,szText) + KVSO_PARAMETER("text", KVS_PT_STRING, 0, szText) KVSO_PARAMETERS_END(c) ((KviTalWizard *)widget())->KviTalWizard::backButton()->setText(szText); return true; } -KVSO_CLASS_FUNCTION(wizard,setNextBtnText) +KVSO_CLASS_FUNCTION(wizard, setNextBtnText) { CHECK_INTERNAL_POINTER(widget()) QString szText; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("text",KVS_PT_STRING,0,szText) + KVSO_PARAMETER("text", KVS_PT_STRING, 0, szText) KVSO_PARAMETERS_END(c) ((KviTalWizard *)widget())->KviTalWizard::nextButton()->setText(szText); return true; } -KVSO_CLASS_FUNCTION(wizard,setHelpBtnText) +KVSO_CLASS_FUNCTION(wizard, setHelpBtnText) { CHECK_INTERNAL_POINTER(widget()) QString szText; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("text",KVS_PT_STRING,0,szText) + KVSO_PARAMETER("text", KVS_PT_STRING, 0, szText) KVSO_PARAMETERS_END(c) ((KviTalWizard *)widget())->KviTalWizard::helpButton()->setText(szText); return true; } -KVSO_CLASS_FUNCTION(wizard,setFinishBtnText) +KVSO_CLASS_FUNCTION(wizard, setFinishBtnText) { CHECK_INTERNAL_POINTER(widget()) QString szText; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("text",KVS_PT_STRING,0,szText) + KVSO_PARAMETER("text", KVS_PT_STRING, 0, szText) KVSO_PARAMETERS_END(c) ((KviTalWizard *)widget())->KviTalWizard::finishButton()->setText(szText); return true; @@ -319,54 +316,54 @@ KVSO_CLASS_FUNCTION(wizard,setFinishBtnText) bool KvsObject_wizard::accept() { KviKvsVariantList * pParams = 0; - callFunction(this,"acceptEvent",0,pParams); + callFunction(this, "acceptEvent", 0, pParams); return true; } bool KvsObject_wizard::reject() { KviKvsVariantList * pParams = 0; - callFunction(this,"rejectEvent",0,pParams); + callFunction(this, "rejectEvent", 0, pParams); return true; } -KVSO_CLASS_FUNCTION(wizard,nextClickedEvent) +KVSO_CLASS_FUNCTION(wizard, nextClickedEvent) { - emitSignal("nextClicked",c); + emitSignal("nextClicked", c); return true; } void KvsObject_wizard::nextClicked() { - KviKvsVariantList *params=0; - callFunction(this,"nextClickedEvent",params); + KviKvsVariantList * params = 0; + callFunction(this, "nextClickedEvent", params); } -KVSO_CLASS_FUNCTION(wizard,backClickedEvent) +KVSO_CLASS_FUNCTION(wizard, backClickedEvent) { - emitSignal("backClicked",c); + emitSignal("backClicked", c); return true; } void KvsObject_wizard::backClicked() { - KviKvsVariantList *params=0; - callFunction(this,"backClickedEvent",params); + KviKvsVariantList * params = 0; + callFunction(this, "backClickedEvent", params); } -KviKvsMdmWizard::KviKvsMdmWizard(QWidget * par,const char * name,KvsObject_wizard * parent) -:KviTalWizard(par) +KviKvsMdmWizard::KviKvsMdmWizard(QWidget * par, const char * name, KvsObject_wizard * parent) + : KviTalWizard(par) { - m_pParentScript=parent; + m_pParentScript = parent; setObjectName(name); - connect (this->backButton(),SIGNAL(clicked()),this,SLOT(slotBackClicked())); - connect (this->nextButton(),SIGNAL(clicked()),this,SLOT(slotNextClicked())); + connect(this->backButton(), SIGNAL(clicked()), this, SLOT(slotBackClicked())); + connect(this->nextButton(), SIGNAL(clicked()), this, SLOT(slotNextClicked())); } void KviKvsMdmWizard::accept() { - if(m_pParentScript->accept())KviTalWizard::accept(); - + if(m_pParentScript->accept()) + KviTalWizard::accept(); } void KviKvsMdmWizard::reject() { - if(m_pParentScript->reject())KviTalWizard::reject(); - + if(m_pParentScript->reject()) + KviTalWizard::reject(); } void KviKvsMdmWizard::slotNextClicked() { diff --git a/src/modules/objects/KvsObject_wizard.h b/src/modules/objects/KvsObject_wizard.h index ec5ab8e06..976e25f93 100644 --- a/src/modules/objects/KvsObject_wizard.h +++ b/src/modules/objects/KvsObject_wizard.h @@ -40,41 +40,40 @@ public: void nextClicked(); void backClicked(); - protected: - virtual bool init(KviKvsRunTimeContext * pContext,KviKvsVariantList *pParams); - - bool addPage(KviKvsObjectFunctionCall *c); - bool insertPage(KviKvsObjectFunctionCall *c); - bool removePage(KviKvsObjectFunctionCall *c); - bool setTitle(KviKvsObjectFunctionCall *c); - bool setBackEnabled(KviKvsObjectFunctionCall *c); - bool setNextEnabled(KviKvsObjectFunctionCall *c); - bool setFinishEnabled(KviKvsObjectFunctionCall *c); - bool setHelpEnabled(KviKvsObjectFunctionCall *c); + virtual bool init(KviKvsRunTimeContext * pContext, KviKvsVariantList * pParams); - bool setBackBtnText(KviKvsObjectFunctionCall *c); - bool setNextBtnText(KviKvsObjectFunctionCall *c); - bool setFinishBtnText(KviKvsObjectFunctionCall *c); - bool setHelpBtnText(KviKvsObjectFunctionCall *c); + bool addPage(KviKvsObjectFunctionCall * c); + bool insertPage(KviKvsObjectFunctionCall * c); + bool removePage(KviKvsObjectFunctionCall * c); + bool setTitle(KviKvsObjectFunctionCall * c); + bool setBackEnabled(KviKvsObjectFunctionCall * c); + bool setNextEnabled(KviKvsObjectFunctionCall * c); + bool setFinishEnabled(KviKvsObjectFunctionCall * c); + bool setHelpEnabled(KviKvsObjectFunctionCall * c); - bool nextClickedEvent(KviKvsObjectFunctionCall *c); - bool backClickedEvent(KviKvsObjectFunctionCall *c); + bool setBackBtnText(KviKvsObjectFunctionCall * c); + bool setNextBtnText(KviKvsObjectFunctionCall * c); + bool setFinishBtnText(KviKvsObjectFunctionCall * c); + bool setHelpBtnText(KviKvsObjectFunctionCall * c); + bool nextClickedEvent(KviKvsObjectFunctionCall * c); + bool backClickedEvent(KviKvsObjectFunctionCall * c); }; -class KviKvsMdmWizard : public KviTalWizard +class KviKvsMdmWizard : public KviTalWizard { Q_OBJECT public: - KviKvsMdmWizard(QWidget * par,const char * name,KvsObject_wizard *); + KviKvsMdmWizard(QWidget * par, const char * name, KvsObject_wizard *); void accept(); void reject(); virtual ~KviKvsMdmWizard(); + protected: - KvsObject_wizard *m_pParentScript; + KvsObject_wizard * m_pParentScript; protected slots: void slotNextClicked(); void slotBackClicked(); }; -#endif //!_CLASS_WIZARD_H_ +#endif //!_CLASS_WIZARD_H_ diff --git a/src/modules/objects/KvsObject_workspace.cpp b/src/modules/objects/KvsObject_workspace.cpp index 3ec7346fa..c0413f703 100644 --- a/src/modules/objects/KvsObject_workspace.cpp +++ b/src/modules/objects/KvsObject_workspace.cpp @@ -23,7 +23,6 @@ // //============================================================================= - #include "KvsObject_workspace.h" #include "KviError.h" #include "kvi_debug.h" @@ -168,31 +167,31 @@ [/example] */ -KVSO_BEGIN_REGISTERCLASS(KvsObject_workspace,"workspace","widget") - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_workspace,addSubWindow); - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_workspace,removeSubWindow); - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_workspace,activeWindow); - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_workspace,scrollBarsEnabled); - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_workspace,setscrollBarsEnabled); - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_workspace,cascade); - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_workspace,tile); - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_workspace,closeActiveWindow); - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_workspace,closeAllWindows); - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_workspace,activateNextWindow); - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_workspace,activatePrevWindow); +KVSO_BEGIN_REGISTERCLASS(KvsObject_workspace, "workspace", "widget") +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_workspace, addSubWindow); +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_workspace, removeSubWindow); +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_workspace, activeWindow); +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_workspace, scrollBarsEnabled); +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_workspace, setscrollBarsEnabled); +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_workspace, cascade); +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_workspace, tile); +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_workspace, closeActiveWindow); +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_workspace, closeAllWindows); +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_workspace, activateNextWindow); +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_workspace, activatePrevWindow); KVSO_END_REGISTERCLASS(KvsObject_workspace) -KVSO_BEGIN_CONSTRUCTOR(KvsObject_workspace,KvsObject_widget) - pWidgetDict=new QHash; +KVSO_BEGIN_CONSTRUCTOR(KvsObject_workspace, KvsObject_widget) +pWidgetDict = new QHash; KVSO_END_CONSTRUCTOR(KvsObject_workspace) KVSO_BEGIN_DESTRUCTOR(KvsObject_workspace) - if (pWidgetDict) - { - pWidgetDict->clear(); - delete pWidgetDict; - pWidgetDict=0; - } +if(pWidgetDict) +{ + pWidgetDict->clear(); + delete pWidgetDict; + pWidgetDict = 0; +} KVSO_END_CONSTRUCTOR(KvsObject_workspace) bool KvsObject_workspace::init(KviKvsRunTimeContext *, KviKvsVariantList *) @@ -201,125 +200,128 @@ bool KvsObject_workspace::init(KviKvsRunTimeContext *, KviKvsVariantList *) return true; } -KVSO_CLASS_FUNCTION(workspace,addSubWindow) +KVSO_CLASS_FUNCTION(workspace, addSubWindow) { CHECK_INTERNAL_POINTER(widget()) KviKvsObject * pObject; kvs_hobject_t hObject; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("widget",KVS_PT_HOBJECT,0,hObject) + KVSO_PARAMETER("widget", KVS_PT_HOBJECT, 0, hObject) KVSO_PARAMETERS_END(c) - pObject=KviKvsKernel::instance()->objectController()->lookupObject(hObject); + pObject = KviKvsKernel::instance()->objectController()->lookupObject(hObject); CHECK_HOBJECT_IS_WIDGET(pObject) - QMdiSubWindow *pMdi=((QMdiArea *)object())->addSubWindow(((QWidget *)(pObject->object()))); - pWidgetDict->insert(hObject,pMdi); + QMdiSubWindow * pMdi = ((QMdiArea *)object())->addSubWindow(((QWidget *)(pObject->object()))); + pWidgetDict->insert(hObject, pMdi); ((QMdiArea *)object())->setActiveSubWindow(pMdi); return true; } -KVSO_CLASS_FUNCTION(workspace,removeSubWindow) +KVSO_CLASS_FUNCTION(workspace, removeSubWindow) { CHECK_INTERNAL_POINTER(widget()) KviKvsObject * pObject; kvs_hobject_t hObject; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("widget",KVS_PT_HOBJECT,0,hObject) + KVSO_PARAMETER("widget", KVS_PT_HOBJECT, 0, hObject) KVSO_PARAMETERS_END(c) - pObject=KviKvsKernel::instance()->objectController()->lookupObject(hObject); + pObject = KviKvsKernel::instance()->objectController()->lookupObject(hObject); CHECK_HOBJECT_IS_WIDGET(pObject) - QMdiSubWindow *pMdiSubWindow=pWidgetDict->value(hObject); + QMdiSubWindow * pMdiSubWindow = pWidgetDict->value(hObject); if(pMdiSubWindow) { ((QMdiArea *)object())->removeSubWindow(pMdiSubWindow); pWidgetDict->remove(hObject); - } else { - c->warning(__tr2qs_ctx("The widget must be a subwindow of this workspace","objects")); + } + else + { + c->warning(__tr2qs_ctx("The widget must be a subwindow of this workspace", "objects")); } return true; } -KVSO_CLASS_FUNCTION(workspace,cascade) +KVSO_CLASS_FUNCTION(workspace, cascade) { CHECK_INTERNAL_POINTER(widget()) ((QMdiArea *)widget())->cascadeSubWindows(); return true; } -KVSO_CLASS_FUNCTION(workspace,tile) +KVSO_CLASS_FUNCTION(workspace, tile) { CHECK_INTERNAL_POINTER(widget()) ((QMdiArea *)widget())->tileSubWindows(); return true; } -KVSO_CLASS_FUNCTION(workspace,closeActiveWindow) +KVSO_CLASS_FUNCTION(workspace, closeActiveWindow) { CHECK_INTERNAL_POINTER(widget()) ((QMdiArea *)widget())->closeActiveSubWindow(); return true; } -KVSO_CLASS_FUNCTION(workspace,closeAllWindows) +KVSO_CLASS_FUNCTION(workspace, closeAllWindows) { CHECK_INTERNAL_POINTER(widget()) ((QMdiArea *)widget())->closeAllSubWindows(); return true; } -KVSO_CLASS_FUNCTION(workspace,activateNextWindow) +KVSO_CLASS_FUNCTION(workspace, activateNextWindow) { CHECK_INTERNAL_POINTER(widget()) ((QMdiArea *)widget())->activateNextSubWindow(); return true; } -KVSO_CLASS_FUNCTION(workspace,activatePrevWindow) +KVSO_CLASS_FUNCTION(workspace, activatePrevWindow) { CHECK_INTERNAL_POINTER(widget()) ((QMdiArea *)widget())->activatePreviousSubWindow(); return true; } -KVSO_CLASS_FUNCTION(workspace,activeWindow) +KVSO_CLASS_FUNCTION(workspace, activeWindow) { CHECK_INTERNAL_POINTER(widget()) - QMdiSubWindow *pActiveMdi=((QMdiArea *)widget())->activeSubWindow(); - if (pActiveMdi) + QMdiSubWindow * pActiveMdi = ((QMdiArea *)widget())->activeSubWindow(); + if(pActiveMdi) { - QHashIterator t(*pWidgetDict); - while (t.hasNext()) + QHashIterator t(*pWidgetDict); + while(t.hasNext()) { t.next(); - kvs_hobject_t hObject=t.key(); - QMdiSubWindow *pMdi=t.value(); - if (pMdi==pActiveMdi) + kvs_hobject_t hObject = t.key(); + QMdiSubWindow * pMdi = t.value(); + if(pMdi == pActiveMdi) { c->returnValue()->setHObject(hObject); break; } } } - else c->returnValue()->setHObject((kvs_hobject_t)0); + else + c->returnValue()->setHObject((kvs_hobject_t)0); return true; } -KVSO_CLASS_FUNCTION(workspace,scrollBarsEnabled) +KVSO_CLASS_FUNCTION(workspace, scrollBarsEnabled) { CHECK_INTERNAL_POINTER(widget()) bool bEnabled; - if(((QMdiArea *)widget())->verticalScrollBarPolicy()!=Qt::ScrollBarAlwaysOff) - bEnabled=true; + if(((QMdiArea *)widget())->verticalScrollBarPolicy() != Qt::ScrollBarAlwaysOff) + bEnabled = true; else - bEnabled=false; + bEnabled = false; c->returnValue()->setBoolean(bEnabled); return true; } -KVSO_CLASS_FUNCTION(workspace,setscrollBarsEnabled) +KVSO_CLASS_FUNCTION(workspace, setscrollBarsEnabled) { CHECK_INTERNAL_POINTER(widget()) bool bEnabled; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("bEnabled",KVS_PT_BOOL,0,bEnabled) + KVSO_PARAMETER("bEnabled", KVS_PT_BOOL, 0, bEnabled) KVSO_PARAMETERS_END(c) if(bEnabled) { diff --git a/src/modules/objects/KvsObject_workspace.h b/src/modules/objects/KvsObject_workspace.h index 3657f3b56..3a8aa1c0a 100644 --- a/src/modules/objects/KvsObject_workspace.h +++ b/src/modules/objects/KvsObject_workspace.h @@ -35,21 +35,21 @@ public: public: QWidget * widget() { return (QWidget *)object(); }; protected: - QHash *pWidgetDict; - virtual bool init(KviKvsRunTimeContext * pContext,KviKvsVariantList *pParams); + QHash * pWidgetDict; + virtual bool init(KviKvsRunTimeContext * pContext, KviKvsVariantList * pParams); - bool addSubWindow(KviKvsObjectFunctionCall *c); - bool removeSubWindow(KviKvsObjectFunctionCall *c); - bool cascade(KviKvsObjectFunctionCall *c); - bool tile(KviKvsObjectFunctionCall *c); - bool closeActiveWindow(KviKvsObjectFunctionCall *c); - bool closeAllWindows(KviKvsObjectFunctionCall *c); - bool activateNextWindow(KviKvsObjectFunctionCall *c); - bool activatePrevWindow(KviKvsObjectFunctionCall *c); - bool scrollBarsEnabled(KviKvsObjectFunctionCall *c); - bool setscrollBarsEnabled(KviKvsObjectFunctionCall *c); + bool addSubWindow(KviKvsObjectFunctionCall * c); + bool removeSubWindow(KviKvsObjectFunctionCall * c); + bool cascade(KviKvsObjectFunctionCall * c); + bool tile(KviKvsObjectFunctionCall * c); + bool closeActiveWindow(KviKvsObjectFunctionCall * c); + bool closeAllWindows(KviKvsObjectFunctionCall * c); + bool activateNextWindow(KviKvsObjectFunctionCall * c); + bool activatePrevWindow(KviKvsObjectFunctionCall * c); + bool scrollBarsEnabled(KviKvsObjectFunctionCall * c); + bool setscrollBarsEnabled(KviKvsObjectFunctionCall * c); - bool activeWindow(KviKvsObjectFunctionCall *c); + bool activeWindow(KviKvsObjectFunctionCall * c); }; -#endif //!_CLASS_WORKSPACE_H_ +#endif //!_CLASS_WORKSPACE_H_ diff --git a/src/modules/objects/KvsObject_wrapper.cpp b/src/modules/objects/KvsObject_wrapper.cpp index 2e73a61a1..585014d5e 100644 --- a/src/modules/objects/KvsObject_wrapper.cpp +++ b/src/modules/objects/KvsObject_wrapper.cpp @@ -155,32 +155,31 @@ Experiment with it :) */ -KVSO_BEGIN_REGISTERCLASS(KvsObject_wrapper,"wrapper","widget") +KVSO_BEGIN_REGISTERCLASS(KvsObject_wrapper, "wrapper", "widget") KVSO_END_REGISTERCLASS(KvsObject_wrapper) -KVSO_BEGIN_CONSTRUCTOR(KvsObject_wrapper,KvsObject_widget) +KVSO_BEGIN_CONSTRUCTOR(KvsObject_wrapper, KvsObject_widget) KVSO_END_CONSTRUCTOR(KvsObject_wrapper) - KVSO_BEGIN_DESTRUCTOR(KvsObject_wrapper) KVSO_END_CONSTRUCTOR(KvsObject_wrapper) -bool KvsObject_wrapper::init(KviKvsRunTimeContext * pContext,KviKvsVariantList *pParams) +bool KvsObject_wrapper::init(KviKvsRunTimeContext * pContext, KviKvsVariantList * pParams) { if(!pParams) return false; - QWidget *pWidget = NULL; + QWidget * pWidget = NULL; unsigned int i = 0; while(i < pParams->count()) { QString szClass; QString szName; - QString s=0; + QString s = 0; pParams->at(i)->asString(s); i++; @@ -192,11 +191,11 @@ bool KvsObject_wrapper::init(KviKvsRunTimeContext * pContext,KviKvsVariantList * if(s.startsWith("*")) { - s.remove(0,1); + s.remove(0, 1); bRecursive = true; if(s.isEmpty()) { - pContext->error(__tr2qs_ctx("The search specifier can't be empty","objects")); + pContext->error(__tr2qs_ctx("The search specifier can't be empty", "objects")); return false; } } @@ -205,27 +204,28 @@ bool KvsObject_wrapper::init(KviKvsRunTimeContext * pContext,KviKvsVariantList * if(idx != -1) { szClass = s.left(idx); - szName = s.right(s.length() - idx - 2); - } else { + szName = s.right(s.length() - idx - 2); + } + else + { szClass = s; - szName = ""; + szName = ""; } if( - KviQString::equalCI(szClass,"!Window") || - KviQString::equalCI(szClass,"WinId") // compat - ) + KviQString::equalCI(szClass, "!Window") || KviQString::equalCI(szClass, "WinId") // compat + ) { if(pWidget) - pContext->warning(__tr2qs_ctx("The window identifier preceded by '!Window' should be the first in the search path","objects")); + pContext->warning(__tr2qs_ctx("The window identifier preceded by '!Window' should be the first in the search path", "objects")); pWidget = g_pApp->findWindow(szName); - - } else if(KviQString::equalCI(szClass,"!Parent")) + } + else if(KviQString::equalCI(szClass, "!Parent")) { if(!pWidget) { - pContext->warning(__tr2qs_ctx("The '!Parent' specifier can't be used as first in the search path","objects")); + pContext->warning(__tr2qs_ctx("The '!Parent' specifier can't be used as first in the search path", "objects")); return false; } @@ -236,7 +236,7 @@ bool KvsObject_wrapper::init(KviKvsRunTimeContext * pContext,KviKvsVariantList * int iLevels = szName.toInt(&ok); if(!ok) { - pContext->warning(__tr2qs_ctx("Bad number of levels for the '!Parent' specifier","objects")); + pContext->warning(__tr2qs_ctx("Bad number of levels for the '!Parent' specifier", "objects")); return false; } } @@ -247,62 +247,59 @@ bool KvsObject_wrapper::init(KviKvsRunTimeContext * pContext,KviKvsVariantList * if(!pWidget) { - pContext->warning(__tr2qs_ctx("The '!Parent' specifier was applied to a widget that has no parent","objects")); + pContext->warning(__tr2qs_ctx("The '!Parent' specifier was applied to a widget that has no parent", "objects")); return false; } iLevels--; } - } else { + } + else + { if(pWidget) - pWidget = findWidgetToWrap(szClass,szName,pWidget,bRecursive); + pWidget = findWidgetToWrap(szClass, szName, pWidget, bRecursive); else - pWidget = findTopLevelWidgetToWrap(szClass,szName,bRecursive); + pWidget = findTopLevelWidgetToWrap(szClass, szName, bRecursive); } if(!pWidget) { - pContext->error(__tr2qs_ctx("Failed to find one of the wrap path widgets ('%Q::%Q')","objects"),&szClass,&szName); + pContext->error(__tr2qs_ctx("Failed to find one of the wrap path widgets ('%Q::%Q')", "objects"), &szClass, &szName); return false; } } if(!pWidget) { - pContext->error(__tr2qs_ctx("Failed to find the widget to wrap","objects")); + pContext->error(__tr2qs_ctx("Failed to find the widget to wrap", "objects")); return false; } - setObject(pWidget,false); + setObject(pWidget, false); return true; } -QWidget * KvsObject_wrapper::findTopLevelWidgetToWrap(const QString &szClass,const QString &szName,bool bRecursive) +QWidget * KvsObject_wrapper::findTopLevelWidgetToWrap(const QString & szClass, const QString & szName, bool bRecursive) { QWidgetList list = g_pApp->topLevelWidgets(); if(list.isEmpty()) return NULL; - Q_FOREACH(QWidget * w,list) + Q_FOREACH(QWidget * w, list) { //qDebug("TLW: %s::%s (look for %s::%s)",w->metaObject()->className(),w->objectName().toUtf8().data(),szClass.toUtf8().data(),szName.toUtf8().data()); if( - ( - szClass.isEmpty() || - KviQString::equalCI(w->metaObject()->className(),szClass) - ) && ( - szName.isEmpty() || - KviQString::equalCI(w->objectName(),szName) - ) - ) + ( + szClass.isEmpty() || KviQString::equalCI(w->metaObject()->className(), szClass)) + && (szName.isEmpty() || KviQString::equalCI(w->objectName(), szName))) return w; } if(bRecursive) { - Q_FOREACH(QWidget * w,list) + Q_FOREACH(QWidget * w, list) { - w = findWidgetToWrap(szClass,szName,w,bRecursive); + w = findWidgetToWrap(szClass, szName, w, bRecursive); if(w) return w; } @@ -311,38 +308,33 @@ QWidget * KvsObject_wrapper::findTopLevelWidgetToWrap(const QString &szClass,con return NULL; } -QWidget * KvsObject_wrapper::findWidgetToWrap(const QString &szClass, const QString &szName, QWidget *pParent,bool bRecursive) +QWidget * KvsObject_wrapper::findWidgetToWrap(const QString & szClass, const QString & szName, QWidget * pParent, bool bRecursive) { QList list = pParent->children(); if(list.isEmpty()) return NULL; - Q_FOREACH(QObject * obj,list) + Q_FOREACH(QObject * obj, list) { if(!obj->isWidgetType()) continue; - QWidget *w = (QWidget *)obj; + QWidget * w = (QWidget *)obj; if( - ( - szClass.isEmpty() || - KviQString::equalCI(w->metaObject()->className(),szClass) - ) && ( - szName.isEmpty() || - KviQString::equalCI(w->objectName(),szName) - ) - ) + ( + szClass.isEmpty() || KviQString::equalCI(w->metaObject()->className(), szClass)) + && (szName.isEmpty() || KviQString::equalCI(w->objectName(), szName))) return w; } if(bRecursive) { - Q_FOREACH(QObject * obj,list) + Q_FOREACH(QObject * obj, list) { if(!obj->isWidgetType()) continue; - QWidget * w = findWidgetToWrap(szClass,szName,(QWidget *)obj,bRecursive); + QWidget * w = findWidgetToWrap(szClass, szName, (QWidget *)obj, bRecursive); if(w) return w; } diff --git a/src/modules/objects/KvsObject_wrapper.h b/src/modules/objects/KvsObject_wrapper.h index 813373401..523ffe6c6 100644 --- a/src/modules/objects/KvsObject_wrapper.h +++ b/src/modules/objects/KvsObject_wrapper.h @@ -28,9 +28,6 @@ #include "KvsObject_widget.h" #include "qlistview.h" - - - #include "object_macros.h" class KvsObject_wrapper : public KvsObject_widget @@ -40,12 +37,9 @@ public: public: QWidget * widget() { return (QWidget *)object(); }; protected: - virtual bool init(KviKvsRunTimeContext * pContext,KviKvsVariantList *pParams); - QWidget * findTopLevelWidgetToWrap(const QString &szClass, const QString &szName,bool bRecursive); - QWidget * findWidgetToWrap(const QString &szClass, const QString &szName, QWidget *pParent,bool bRecursive); - + virtual bool init(KviKvsRunTimeContext * pContext, KviKvsVariantList * pParams); + QWidget * findTopLevelWidgetToWrap(const QString & szClass, const QString & szName, bool bRecursive); + QWidget * findWidgetToWrap(const QString & szClass, const QString & szName, QWidget * pParent, bool bRecursive); }; - - -#endif //!_CLASS_WRAPPER_H_ +#endif //!_CLASS_WRAPPER_H_ diff --git a/src/modules/objects/KvsObject_xmlreader.cpp b/src/modules/objects/KvsObject_xmlreader.cpp index bda202b57..6cdd96b54 100644 --- a/src/modules/objects/KvsObject_xmlreader.cpp +++ b/src/modules/objects/KvsObject_xmlreader.cpp @@ -124,6 +124,7 @@ class KviXmlHandler : public QXmlDefaultHandler protected: KvsObject_xmlReader * m_pReader; QString m_szErrorString; + public: KviXmlHandler(KvsObject_xmlReader * pReader) { @@ -132,23 +133,24 @@ public: ~KviXmlHandler() { } + private: bool kvsCodeFailure() { - m_szErrorString = __tr2qs_ctx("Error in KVS class implementation: processing aborted","objects"); + m_szErrorString = __tr2qs_ctx("Error in KVS class implementation: processing aborted", "objects"); return false; } bool kvsCodeAbort() { - m_szErrorString = __tr2qs_ctx("Processing aborted","objects"); + m_szErrorString = __tr2qs_ctx("Processing aborted", "objects"); return false; } - void decodeException(QString &szMsg,bool bError,const QXmlParseException &exception) + void decodeException(QString & szMsg, bool bError, const QXmlParseException & exception) { if(bError) - szMsg = QString(__tr2qs_ctx("Error near line %1, column %2","objects")).arg(exception.lineNumber()).arg(exception.columnNumber()); + szMsg = QString(__tr2qs_ctx("Error near line %1, column %2", "objects")).arg(exception.lineNumber()).arg(exception.columnNumber()); else - szMsg = QString(__tr2qs_ctx("Warning near line %1, column %2","objects")).arg(exception.lineNumber()).arg(exception.columnNumber()); + szMsg = QString(__tr2qs_ctx("Warning near line %1, column %2", "objects")).arg(exception.lineNumber()).arg(exception.columnNumber()); szMsg += ": "; szMsg += exception.message(); } @@ -158,11 +160,12 @@ private: return kvsCodeAbort(); return true; } + public: virtual bool startDocument() { KviKvsVariant ret; - if(!m_pReader->callFunction(m_pReader,"onDocumentStart",&ret)) + if(!m_pReader->callFunction(m_pReader, "onDocumentStart", &ret)) return kvsCodeFailure(); return handleKvsCallReturnValue(&ret); } @@ -170,12 +173,12 @@ public: virtual bool endDocument() { KviKvsVariant ret; - if(!m_pReader->callFunction(m_pReader,"onDocumentEnd",&ret)) + if(!m_pReader->callFunction(m_pReader, "onDocumentEnd", &ret)) return kvsCodeFailure(); return handleKvsCallReturnValue(&ret); } - virtual bool startElement(const QString &szNamespaceUri,const QString &szLocalName,const QString &szQualifiedName,const QXmlAttributes &attrs) + virtual bool startElement(const QString & szNamespaceUri, const QString & szLocalName, const QString & szQualifiedName, const QXmlAttributes & attrs) { KviKvsVariant ret; KviKvsVariantList par; @@ -186,14 +189,14 @@ public: par.append(new KviKvsVariant(szNamespaceUri)); par.append(new KviKvsVariant(szLocalName)); int c = attrs.count(); - for(int i=0;iset(attrs.qName(i),new KviKvsVariant(attrs.value(i))); - if(!m_pReader->callFunction(m_pReader,"onElementStart",&ret,&par)) + for(int i = 0; i < c; i++) + pHash->set(attrs.qName(i), new KviKvsVariant(attrs.value(i))); + if(!m_pReader->callFunction(m_pReader, "onElementStart", &ret, &par)) return kvsCodeFailure(); return handleKvsCallReturnValue(&ret); } - virtual bool endElement(const QString &szNamespaceUri,const QString &szLocalName,const QString &szQualifiedName) + virtual bool endElement(const QString & szNamespaceUri, const QString & szLocalName, const QString & szQualifiedName) { KviKvsVariant ret; KviKvsVariantList par; @@ -201,56 +204,56 @@ public: par.append(new KviKvsVariant(szQualifiedName)); par.append(new KviKvsVariant(szNamespaceUri)); par.append(new KviKvsVariant(szLocalName)); - if(!m_pReader->callFunction(m_pReader,"onElementEnd",&ret,&par)) + if(!m_pReader->callFunction(m_pReader, "onElementEnd", &ret, &par)) return kvsCodeFailure(); return handleKvsCallReturnValue(&ret); } - virtual bool characters(const QString &szChars) + virtual bool characters(const QString & szChars) { KviKvsVariant ret; KviKvsVariantList par; par.setAutoDelete(true); par.append(new KviKvsVariant(szChars)); - if(!m_pReader->callFunction(m_pReader,"onText",&ret,&par)) + if(!m_pReader->callFunction(m_pReader, "onText", &ret, &par)) return kvsCodeFailure(); return handleKvsCallReturnValue(&ret); } - virtual bool warning(const QXmlParseException &exception) + virtual bool warning(const QXmlParseException & exception) { // recoverable QString szMsg; - decodeException(szMsg,false,exception); + decodeException(szMsg, false, exception); KviKvsVariant ret; KviKvsVariantList par; par.setAutoDelete(true); par.append(new KviKvsVariant(szMsg)); - if(!m_pReader->callFunction(m_pReader,"onWarning",&ret,&par)) + if(!m_pReader->callFunction(m_pReader, "onWarning", &ret, &par)) return kvsCodeFailure(); return handleKvsCallReturnValue(&ret); } - virtual bool error(const QXmlParseException &exception) + virtual bool error(const QXmlParseException & exception) { // recoverable QString szMsg; - decodeException(szMsg,false,exception); + decodeException(szMsg, false, exception); KviKvsVariant ret; KviKvsVariantList par; par.setAutoDelete(true); par.append(new KviKvsVariant(szMsg)); - if(!m_pReader->callFunction(m_pReader,"onWarning",&ret,&par)) + if(!m_pReader->callFunction(m_pReader, "onWarning", &ret, &par)) return kvsCodeFailure(); return handleKvsCallReturnValue(&ret); } - virtual bool fatalError(const QXmlParseException &exception) + virtual bool fatalError(const QXmlParseException & exception) { QString szMsg; - decodeException(szMsg,true,exception); + decodeException(szMsg, true, exception); m_pReader->fatalError(szMsg); return true; } @@ -263,68 +266,67 @@ public: #endif // !QT_NO_XML +KVSO_BEGIN_REGISTERCLASS(KvsObject_xmlReader, "xmlreader", "object") +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_xmlReader, lastError) +KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_xmlReader, parse) -KVSO_BEGIN_REGISTERCLASS(KvsObject_xmlReader,"xmlreader","object") - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_xmlReader,lastError) - KVSO_REGISTER_HANDLER_BY_NAME(KvsObject_xmlReader,parse) - - KVSO_REGISTER_STANDARD_TRUERETURN_HANDLER(KvsObject_xmlReader,"onDocumentStart") - KVSO_REGISTER_STANDARD_TRUERETURN_HANDLER(KvsObject_xmlReader,"onDocumentEnd") - KVSO_REGISTER_STANDARD_TRUERETURN_HANDLER(KvsObject_xmlReader,"onElementStart") - KVSO_REGISTER_STANDARD_TRUERETURN_HANDLER(KvsObject_xmlReader,"onElementEnd") - KVSO_REGISTER_STANDARD_TRUERETURN_HANDLER(KvsObject_xmlReader,"onText") - KVSO_REGISTER_STANDARD_TRUERETURN_HANDLER(KvsObject_xmlReader,"onWarning") - KVSO_REGISTER_STANDARD_TRUERETURN_HANDLER(KvsObject_xmlReader,"onError") +KVSO_REGISTER_STANDARD_TRUERETURN_HANDLER(KvsObject_xmlReader, "onDocumentStart") +KVSO_REGISTER_STANDARD_TRUERETURN_HANDLER(KvsObject_xmlReader, "onDocumentEnd") +KVSO_REGISTER_STANDARD_TRUERETURN_HANDLER(KvsObject_xmlReader, "onElementStart") +KVSO_REGISTER_STANDARD_TRUERETURN_HANDLER(KvsObject_xmlReader, "onElementEnd") +KVSO_REGISTER_STANDARD_TRUERETURN_HANDLER(KvsObject_xmlReader, "onText") +KVSO_REGISTER_STANDARD_TRUERETURN_HANDLER(KvsObject_xmlReader, "onWarning") +KVSO_REGISTER_STANDARD_TRUERETURN_HANDLER(KvsObject_xmlReader, "onError") KVSO_END_REGISTERCLASS(KvsObject_xmlReader) -KVSO_BEGIN_CONSTRUCTOR(KvsObject_xmlReader,KviKvsObject) +KVSO_BEGIN_CONSTRUCTOR(KvsObject_xmlReader, KviKvsObject) KVSO_END_CONSTRUCTOR(KvsObject_xmlReader) KVSO_BEGIN_DESTRUCTOR(KvsObject_xmlReader) KVSO_END_DESTRUCTOR(KvsObject_xmlReader) -void KvsObject_xmlReader::fatalError(const QString &szError) +void KvsObject_xmlReader::fatalError(const QString & szError) { m_szLastError = szError; KviKvsVariantList vArgs; vArgs.append(new KviKvsVariant(m_szLastError)); - callFunction(this,"onError",&vArgs); + callFunction(this, "onError", &vArgs); } -KVSO_CLASS_FUNCTION(xmlReader,parse) +KVSO_CLASS_FUNCTION(xmlReader, parse) { KviKvsVariant * pVariantData; KVSO_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("string_or_memorybuffer_object",KVS_PT_VARIANT,0,pVariantData) + KVSO_PARAMETER("string_or_memorybuffer_object", KVS_PT_VARIANT, 0, pVariantData) KVSO_PARAMETERS_END(c) - #ifdef QT_NO_XML +#ifdef QT_NO_XML fatalError(__tr2qs_ctx("XML support not available in the Qt library")); c->returnValue()->setBoolean(false); - #else +#else m_szLastError = ""; KviXmlHandler handler(this); QXmlInputSource source; - if (pVariantData->isHObject()) + if(pVariantData->isHObject()) { KviKvsObject * pObject; kvs_hobject_t hObject; pVariantData->asHObject(hObject); - pObject=KviKvsKernel::instance()->objectController()->lookupObject(hObject); - if (!pObject) + pObject = KviKvsKernel::instance()->objectController()->lookupObject(hObject); + if(!pObject) { - c->warning(__tr2qs_ctx("Data parameter is not an object","objects")); + c->warning(__tr2qs_ctx("Data parameter is not an object", "objects")); return true; } - if (pObject->inheritsClass("memorybuffer")) + if(pObject->inheritsClass("memorybuffer")) { source.setData(*((KvsObject_memoryBuffer *)pObject)->pBuffer()); } else { - c->warning(__tr2qs_ctx("Data parameter is not a memorybuffer object","objects")); + c->warning(__tr2qs_ctx("Data parameter is not a memorybuffer object", "objects")); return true; } } @@ -343,7 +345,7 @@ KVSO_CLASS_FUNCTION(xmlReader,parse) } else { - c->warning(__tr2qs_ctx("Data is not a memorybuffer object or string","objects")); + c->warning(__tr2qs_ctx("Data is not a memorybuffer object or string", "objects")); return true; } QXmlSimpleReader reader; @@ -354,7 +356,7 @@ KVSO_CLASS_FUNCTION(xmlReader,parse) return true; } -KVSO_CLASS_FUNCTION(xmlReader,lastError) +KVSO_CLASS_FUNCTION(xmlReader, lastError) { c->returnValue()->setString(m_szLastError); return true; diff --git a/src/modules/objects/KvsObject_xmlreader.h b/src/modules/objects/KvsObject_xmlreader.h index ea9b38ff1..4f23ab12a 100644 --- a/src/modules/objects/KvsObject_xmlreader.h +++ b/src/modules/objects/KvsObject_xmlreader.h @@ -34,10 +34,11 @@ class KvsObject_xmlReader : public KviKvsObject public: KVSO_DECLARE_OBJECT(KvsObject_xmlReader) public: - bool parse(KviKvsObjectFunctionCall *c); - bool lastError(KviKvsObjectFunctionCall *c); + bool parse(KviKvsObjectFunctionCall * c); + bool lastError(KviKvsObjectFunctionCall * c); + + void fatalError(const QString & szError); - void fatalError(const QString &szError); protected: QString m_szLastError; }; diff --git a/src/modules/objects/libkviobjects.cpp b/src/modules/objects/libkviobjects.cpp index caf3f8a04..99c348974 100644 --- a/src/modules/objects/libkviobjects.cpp +++ b/src/modules/objects/libkviobjects.cpp @@ -77,7 +77,6 @@ #include "KvsObject_sql.h" #include "KvsObject_dateTimeEdit.h" - #include "KviIconManager.h" #include "KviWindow.h" #include "kvi_out.h" @@ -94,16 +93,15 @@ #include #include - -static void dumpChildObjects(KviWindow *pWnd, QObject *parent, const char *spacing, bool bWidgetsOnly, KviKvsArray *n, int &idx); +static void dumpChildObjects(KviWindow * pWnd, QObject * parent, const char * spacing, bool bWidgetsOnly, KviKvsArray * n, int & idx); 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. - #if defined(COMPILE_WEBKIT_SUPPORT) +// Don't attempt to change the order of these calls. +// Derived classes must be unregistered before the base ones. +#if defined(COMPILE_WEBKIT_SUPPORT) KvsObject_webView::unregisterSelf(); - #endif +#endif KvsObject_memoryBuffer::unregisterSelf(); KvsObject_process::unregisterSelf(); KvsObject_trayIcon::unregisterSelf(); @@ -182,22 +180,24 @@ static bool objects_kvs_cmd_killClass(KviKvsModuleCommandCall * c) [doc:objects]Objects documentation[/doc] */ - QString szClass; KVSM_PARAMETERS_BEGIN(c) - KVSM_PARAMETER("class",KVS_PT_NONEMPTYSTRING,0,szClass) + KVSM_PARAMETER("class", KVS_PT_NONEMPTYSTRING, 0, szClass) KVSM_PARAMETERS_END(c) - KviKvsObjectClass * pClass=KviKvsKernel::instance()->objectController()->lookupClass(szClass); + KviKvsObjectClass * pClass = KviKvsKernel::instance()->objectController()->lookupClass(szClass); if(pClass) { if(pClass->isBuiltin()) { KviKvsKernel::instance()->objectController()->killAllObjectsWithClass(pClass); - } else { + } + else + { KviKvsKernel::instance()->objectController()->deleteClass(pClass); //Yahoo!! } } - else if(!c->hasSwitch('q',"quiet"))c->warning(__tr2qs_ctx("Class '%Q' is not defined","objects"),&szClass); + else if(!c->hasSwitch('q', "quiet")) + c->warning(__tr2qs_ctx("Class '%Q' is not defined", "objects"), &szClass); return true; } @@ -227,7 +227,8 @@ static bool objects_kvs_cmd_clearObjects(KviKvsModuleCommandCall * c) */ KviKvsKernel::instance()->objectController()->clearInstances(); - if(!c->switches()->find('i',"ii")) KviKvsKernel::instance()->objectController()->clearUserClasses(); + if(!c->switches()->find('i', "ii")) + KviKvsKernel::instance()->objectController()->clearUserClasses(); return true; } @@ -256,32 +257,31 @@ static bool objects_kvs_cmd_connect(KviKvsModuleCommandCall * c) [cmd]class[/cmd], [cmd]object.disconnect[/cmd], [doc:objects]objects documentation[/doc] */ - - KviKvsObject *obSrc; - KviKvsObject *obTrg; - QString szSignal,szSlot; - kvs_hobject_t hSrc,hTrg; + KviKvsObject * obSrc; + KviKvsObject * obTrg; + QString szSignal, szSlot; + kvs_hobject_t hSrc, hTrg; KVSM_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("object source",KVS_PT_HOBJECT,0,hSrc) - KVSM_PARAMETER("signal name",KVS_PT_NONEMPTYSTRING,0,szSignal) - KVSO_PARAMETER("object target",KVS_PT_HOBJECT,0,hTrg) - KVSM_PARAMETER("slot",KVS_PT_NONEMPTYSTRING,0,szSlot) + KVSO_PARAMETER("object source", KVS_PT_HOBJECT, 0, hSrc) + KVSM_PARAMETER("signal name", KVS_PT_NONEMPTYSTRING, 0, szSignal) + KVSO_PARAMETER("object target", KVS_PT_HOBJECT, 0, hTrg) + KVSM_PARAMETER("slot", KVS_PT_NONEMPTYSTRING, 0, szSlot) KVSM_PARAMETERS_END(c) - obTrg=KviKvsKernel::instance()->objectController()->lookupObject(hTrg); - obSrc=KviKvsKernel::instance()->objectController()->lookupObject(hSrc); + obTrg = KviKvsKernel::instance()->objectController()->lookupObject(hTrg); + obSrc = KviKvsKernel::instance()->objectController()->lookupObject(hSrc); if(!obTrg) { - c->warning(__tr2qs_ctx("non-existent target object for objects.connect","objects")); + c->warning(__tr2qs_ctx("non-existent target object for objects.connect", "objects")); return true; } if(!obSrc) { - c->warning(__tr2qs_ctx("non-existent source object for objects.connect","objects")); + c->warning(__tr2qs_ctx("non-existent source object for objects.connect", "objects")); return true; } - if(!obSrc->connectSignal(szSignal,obTrg,szSlot)) + if(!obSrc->connectSignal(szSignal, obTrg, szSlot)) { - c->warning(__tr2qs_ctx("non-existent target slot '%Q' for objects.connect","objects"),&szSlot); + c->warning(__tr2qs_ctx("non-existent target slot '%Q' for objects.connect", "objects"), &szSlot); return true; } return true; @@ -305,12 +305,11 @@ static bool objects_kvs_fnc_exists(KviKvsModuleFunctionCall * c) [doc:objects]objects documentation[/doc] */ - kvs_hobject_t hObj; KVSM_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("object",KVS_PT_HOBJECT,0,hObj) + KVSO_PARAMETER("object", KVS_PT_HOBJECT, 0, hObj) KVSM_PARAMETERS_END(c) - KviKvsObject *ob=KviKvsKernel::instance()->objectController()->lookupObject(hObj); + KviKvsObject * ob = KviKvsKernel::instance()->objectController()->lookupObject(hObj); c->returnValue()->setBoolean(ob ? true : false); return true; } @@ -355,8 +354,8 @@ static bool objects_kvs_fnc_instances(KviKvsModuleFunctionCall * c) QString szClassName; QString szFlags; KVSM_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("class name",KVS_PT_NONEMPTYSTRING,0,szClassName) - KVSO_PARAMETER("flags",KVS_PT_STRING,KVS_PF_OPTIONAL,szFlags) + KVSO_PARAMETER("class name", KVS_PT_NONEMPTYSTRING, 0, szClassName) + KVSO_PARAMETER("flags", KVS_PT_STRING, KVS_PF_OPTIONAL, szFlags) KVSM_PARAMETERS_END(c) KviKvsArray * pArry = new KviKvsArray(); @@ -366,12 +365,12 @@ static bool objects_kvs_fnc_instances(KviKvsModuleFunctionCall * c) if(!pClass) { if(!szFlags.contains(QChar('q'))) - c->warning(__tr2qs_ctx("The class '%Q' doesn't exist","objects"),&szClassName); + c->warning(__tr2qs_ctx("The class '%Q' doesn't exist", "objects"), &szClassName); return true; } - KviPointerHashTable * od = KviKvsKernel::instance()->objectController()->objectDict(); + KviPointerHashTable * od = KviKvsKernel::instance()->objectController()->objectDict(); - KviPointerHashTableIterator it(*od); + KviPointerHashTableIterator it(*od); kvs_uint_t uIdx = 0; if(szFlags.contains(QChar('s'))) { @@ -379,17 +378,19 @@ static bool objects_kvs_fnc_instances(KviKvsModuleFunctionCall * c) { if(ob->getExactClass() == pClass) { - pArry->set(uIdx,new KviKvsVariant(ob->handle())); + pArry->set(uIdx, new KviKvsVariant(ob->handle())); uIdx++; } ++it; } - } else { + } + else + { while(KviKvsObject * ob = it.current()) { if(ob->inheritsClass(pClass)) { - pArry->set(uIdx,new KviKvsVariant(ob->handle())); + pArry->set(uIdx, new KviKvsVariant(ob->handle())); uIdx++; } ++it; @@ -418,26 +419,23 @@ static bool objects_kvs_fnc_variables(KviKvsModuleFunctionCall * c) kvs_hobject_t hObj; KVSM_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("object",KVS_PT_HOBJECT,0,hObj) + KVSO_PARAMETER("object", KVS_PT_HOBJECT, 0, hObj) KVSM_PARAMETERS_END(c) - KviKvsObject *ob=KviKvsKernel::instance()->objectController()->lookupObject(hObj); - if (!ob) + KviKvsObject * ob = KviKvsKernel::instance()->objectController()->lookupObject(hObj); + if(!ob) { - c->warning(__tr2qs_ctx("Object doesn't exist","objects")); + c->warning(__tr2qs_ctx("Object doesn't exist", "objects")); return true; } - KviPointerHashTableIterator it(* ob->dataContainer()->dict()); - KviKvsHash* pHash = new KviKvsHash(); + KviPointerHashTableIterator it(*ob->dataContainer()->dict()); + KviKvsHash * pHash = new KviKvsHash(); c->returnValue()->setHash(pHash); while(KviKvsVariant * t = it.current()) { - pHash->set(it.currentKey(),new KviKvsVariant(*t)); + pHash->set(it.currentKey(), new KviKvsVariant(*t)); ++it; } return true; - - - } static bool objects_kvs_fnc_classAllHandlers(KviKvsModuleFunctionCall * c) @@ -460,24 +458,24 @@ static bool objects_kvs_fnc_classAllHandlers(KviKvsModuleFunctionCall * c) QString szClassName; KVSM_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("class name",KVS_PT_NONEMPTYSTRING,0,szClassName) + KVSO_PARAMETER("class name", KVS_PT_NONEMPTYSTRING, 0, szClassName) KVSM_PARAMETERS_END(c) KviKvsObjectClass * pClass = KviKvsKernel::instance()->objectController()->lookupClass(szClassName); if(!pClass) { - c->warning(__tr2qs_ctx("The class '%Q' doesn't exist","objects"),&szClassName); + c->warning(__tr2qs_ctx("The class '%Q' doesn't exist", "objects"), &szClassName); return true; } - KviPointerHashTableIterator it(* pClass->getHandlers()); - KviKvsHash* pHash = new KviKvsHash(); + KviPointerHashTableIterator it(*pClass->getHandlers()); + KviKvsHash * pHash = new KviKvsHash(); c->returnValue()->setHash(pHash); while(it.current()) { QString szCode; - KviKvsObjectFunctionHandler *handler=pClass->lookupFunctionHandler(it.currentKey()); - pClass->getFunctionCode(szCode,*handler); - pHash->set(it.currentKey(),new KviKvsVariant(szCode)); + KviKvsObjectFunctionHandler * handler = pClass->lookupFunctionHandler(it.currentKey()); + pClass->getFunctionCode(szCode, *handler); + pHash->set(it.currentKey(), new KviKvsVariant(szCode)); ++it; } @@ -505,39 +503,40 @@ static bool objects_kvs_fnc_classes(KviKvsModuleFunctionCall * c) KviKvsArray * pArry = new KviKvsArray(); c->returnValue()->setArray(pArry); - KviPointerHashTableIterator it(*KviKvsKernel::instance()->objectController()->classDict()); - KviPointerHashTable *classdict=new KviPointerHashTable; + KviPointerHashTableIterator it(*KviKvsKernel::instance()->objectController()->classDict()); + KviPointerHashTable * classdict = new KviPointerHashTable; classdict->setAutoDelete(false); - bool bFake=true; - while(KviKvsObjectClass * pClass=it.current()) + bool bFake = true; + while(KviKvsObjectClass * pClass = it.current()) { - if (!pClass->isBuiltin())classdict->insert(it.currentKey(),&bFake); + if(!pClass->isBuiltin()) + classdict->insert(it.currentKey(), &bFake); ++it; } QString szPath; - g_pApp->getLocalKvircDirectory(szPath,KviApplication::Classes); + g_pApp->getLocalKvircDirectory(szPath, KviApplication::Classes); QDir d(szPath); QStringList sl; sl = d.entryList(QDir::Files); - for(QStringList::Iterator it2 = sl.begin();it2 != sl.end();++it2) + for(QStringList::Iterator it2 = sl.begin(); it2 != sl.end(); ++it2) { - QString szName=*it2; - szName.replace("--","::"); - if (szName!=".." && szName!=".") classdict->insert(szName.left(szName.length()-4),&bFake); + QString szName = *it2; + szName.replace("--", "::"); + if(szName != ".." && szName != ".") + classdict->insert(szName.left(szName.length() - 4), &bFake); } - KviKvsArray* pArray = new KviKvsArray(); + KviKvsArray * pArray = new KviKvsArray(); c->returnValue()->setArray(pArray); - int idx=0; - KviPointerHashTableIterator strIt(*classdict); + int idx = 0; + KviPointerHashTableIterator strIt(*classdict); while(strIt.current()) { - pArray->set(idx,new KviKvsVariant(strIt.currentKey())); + pArray->set(idx, new KviKvsVariant(strIt.currentKey())); idx++; ++strIt; } delete classdict; return true; - } static bool objects_kvs_fnc_name(KviKvsModuleFunctionCall * c) @@ -561,13 +560,13 @@ static bool objects_kvs_fnc_name(KviKvsModuleFunctionCall * c) KviKvsObject * obSrcClass; kvs_hobject_t hClass; KVSM_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("object class",KVS_PT_HOBJECT,0,hClass) + KVSO_PARAMETER("object class", KVS_PT_HOBJECT, 0, hClass) KVSM_PARAMETERS_END(c) obSrcClass = KviKvsKernel::instance()->objectController()->lookupObject(hClass); if(!obSrcClass) { - c->warning(__tr2qs_ctx("non-existent class object for objects.name","objects")); + c->warning(__tr2qs_ctx("non-existent class object for objects.name", "objects")); return true; } @@ -596,29 +595,29 @@ static bool objects_kvs_cmd_disconnect(KviKvsModuleCommandCall * c) [cmd]class[/cmd], [cmd]objects.connect[/cmd], [doc:objects]objects documentation[/doc] */ - KviKvsObject *obSrc; - KviKvsObject *obTrg; - QString szSignal,szSlot; - kvs_hobject_t hSrc,hTrg; + KviKvsObject * obSrc; + KviKvsObject * obTrg; + QString szSignal, szSlot; + kvs_hobject_t hSrc, hTrg; KVSM_PARAMETERS_BEGIN(c) - KVSO_PARAMETER("object source",KVS_PT_HOBJECT,0,hSrc) - KVSM_PARAMETER("signal name",KVS_PT_NONEMPTYSTRING,0,szSignal) - KVSO_PARAMETER("object target",KVS_PT_HOBJECT,0,hTrg) - KVSM_PARAMETER("slot",KVS_PT_NONEMPTYSTRING,0,szSlot) + KVSO_PARAMETER("object source", KVS_PT_HOBJECT, 0, hSrc) + KVSM_PARAMETER("signal name", KVS_PT_NONEMPTYSTRING, 0, szSignal) + KVSO_PARAMETER("object target", KVS_PT_HOBJECT, 0, hTrg) + KVSM_PARAMETER("slot", KVS_PT_NONEMPTYSTRING, 0, szSlot) KVSM_PARAMETERS_END(c) - obTrg=KviKvsKernel::instance()->objectController()->lookupObject(hTrg); - obSrc=KviKvsKernel::instance()->objectController()->lookupObject(hSrc); + obTrg = KviKvsKernel::instance()->objectController()->lookupObject(hTrg); + obSrc = KviKvsKernel::instance()->objectController()->lookupObject(hSrc); if(!obTrg) { - c->warning(__tr2qs_ctx("non-existent target object for objects.disconnect","objects")); + c->warning(__tr2qs_ctx("non-existent target object for objects.disconnect", "objects")); return true; } if(!obSrc) { - c->warning(__tr2qs_ctx("non-existent source object for objects.disconnect","objects")); + c->warning(__tr2qs_ctx("non-existent source object for objects.disconnect", "objects")); return true; } - obSrc->disconnectSignal(szSignal,obTrg,szSlot); + obSrc->disconnectSignal(szSignal, obTrg, szSlot); return true; } @@ -651,45 +650,44 @@ static bool objects_kvs_fnc_listObjects(KviKvsModuleFunctionCall * cmd) [/example] */ - bool bFlag; KVSO_PARAMETERS_BEGIN(cmd) - KVSO_PARAMETER("print on current window",KVS_PT_BOOL,0,bFlag) + KVSO_PARAMETER("print on current window", KVS_PT_BOOL, 0, bFlag) KVSO_PARAMETERS_END(cmd) - if (bFlag) + if(bFlag) cmd->window()->output(80, "Objects dump:"); QWidgetList list = g_pApp->topLevelWidgets(); KviCString spacing = ">"; - QString szTemp; + QString szTemp; KviKvsArray * n = new KviKvsArray(); - int idx=0; - for(int i=0;iisWidgetType()) + if(list.at(i)->isWidgetType()) { - if (bFlag) + if(bFlag) { cmd->window()->output(80, "Ptr %u: top level object: %c%s%c, class %s, %s, rect = %d, %d, %d, %d", - list.at(i), - KviControlCodes::Bold, list.at(i)->objectName().toUtf8().data(), KviControlCodes::Bold, - list.at(i)->metaObject()->className(), - list.at(i)->isVisible() ? "visible" : "hidden", - list.at(i)->x(), list.at(i)->y(), list.at(i)->width(), list.at(i)->height()); + list.at(i), + KviControlCodes::Bold, list.at(i)->objectName().toUtf8().data(), KviControlCodes::Bold, + list.at(i)->metaObject()->className(), + list.at(i)->isVisible() ? "visible" : "hidden", + list.at(i)->x(), list.at(i)->y(), list.at(i)->width(), list.at(i)->height()); } - QString szClass=list.at(i)->metaObject()->className(); - QString szObj=list.at(i)->objectName(); + QString szClass = list.at(i)->metaObject()->className(); + QString szObj = list.at(i)->objectName(); QString szTemp; szTemp = szClass + "::" + szObj; KviKvsVariant v; v.setString(szTemp); - n->set(idx,new KviKvsVariant(v)); + n->set(idx, new KviKvsVariant(v)); /*qDebug("string %s",szTemp.toUtf8().data()); qDebug("class %s",szClass.toUtf8().data()); qDebug("Obj %s",szObj.toUtf8().data());*/ idx++; - dumpChildObjects(cmd->window(), list.at(i), spacing.ptr(), bFlag,n,idx); + dumpChildObjects(cmd->window(), list.at(i), spacing.ptr(), bFlag, n, idx); } } @@ -697,36 +695,35 @@ static bool objects_kvs_fnc_listObjects(KviKvsModuleFunctionCall * cmd) return true; } -static void dumpChildObjects(KviWindow *pWnd, QObject *parent, const char *spacing, bool bFlag, KviKvsArray *n, int &idx) +static void dumpChildObjects(KviWindow * pWnd, QObject * parent, const char * spacing, bool bFlag, KviKvsArray * n, int & idx) { const QObjectList list = parent->children(); - if( !list.count() ) return; + if(!list.count()) + return; QString sp(spacing); sp.append(">"); - for(int i=0;iisWidgetType() ) + if(list.at(i)->isWidgetType()) { - if (bFlag) + if(bFlag) { pWnd->output(80, "%sPtr %u: object: %c%s%c, class %s", - spacing, list.at(i), KviControlCodes::Bold, - list.at(i)->objectName().toUtf8().data(), KviControlCodes::Bold, list.at(i)->metaObject()->className() - ); + spacing, list.at(i), KviControlCodes::Bold, + list.at(i)->objectName().toUtf8().data(), KviControlCodes::Bold, list.at(i)->metaObject()->className()); } - QString szClass=list.at(i)->metaObject()->className(); - QString szObj=list.at(i)->objectName(); + QString szClass = list.at(i)->metaObject()->className(); + QString szObj = list.at(i)->objectName(); QString szTemp; - szTemp=spacing+szClass+"::"+szObj; + szTemp = spacing + szClass + "::" + szObj; KviKvsVariant v; v.setString(szTemp); - n->set(idx,new KviKvsVariant(v)); - //qDebug("string %s",szTemp.toUtf8().data()); + n->set(idx, new KviKvsVariant(v)); + //qDebug("string %s",szTemp.toUtf8().data()); idx++; - dumpChildObjects(pWnd, list.at(i), sp.toUtf8().data(), bFlag, n, idx ); + dumpChildObjects(pWnd, list.at(i), sp.toUtf8().data(), bFlag, n, idx); } } - } static bool objects_module_can_unload(KviModule *) @@ -739,19 +736,19 @@ static bool objects_module_can_unload(KviModule *) static bool objects_module_init(KviModule * m) { // functions - KVSM_REGISTER_FUNCTION(m,"classAllHandlers",objects_kvs_fnc_classAllHandlers); - KVSM_REGISTER_FUNCTION(m,"classes",objects_kvs_fnc_classes); - KVSM_REGISTER_FUNCTION(m,"dump",objects_kvs_fnc_listObjects); - KVSM_REGISTER_FUNCTION(m,"exists",objects_kvs_fnc_exists); - KVSM_REGISTER_FUNCTION(m,"instances",objects_kvs_fnc_instances); - KVSM_REGISTER_FUNCTION(m,"name",objects_kvs_fnc_name); - KVSM_REGISTER_FUNCTION(m,"variables",objects_kvs_fnc_variables); + KVSM_REGISTER_FUNCTION(m, "classAllHandlers", objects_kvs_fnc_classAllHandlers); + KVSM_REGISTER_FUNCTION(m, "classes", objects_kvs_fnc_classes); + KVSM_REGISTER_FUNCTION(m, "dump", objects_kvs_fnc_listObjects); + KVSM_REGISTER_FUNCTION(m, "exists", objects_kvs_fnc_exists); + KVSM_REGISTER_FUNCTION(m, "instances", objects_kvs_fnc_instances); + KVSM_REGISTER_FUNCTION(m, "name", objects_kvs_fnc_name); + KVSM_REGISTER_FUNCTION(m, "variables", objects_kvs_fnc_variables); // commands - KVSM_REGISTER_SIMPLE_COMMAND(m,"clearObjects",objects_kvs_cmd_clearObjects); - KVSM_REGISTER_SIMPLE_COMMAND(m,"connect",objects_kvs_cmd_connect); - KVSM_REGISTER_SIMPLE_COMMAND(m,"disconnect",objects_kvs_cmd_disconnect); - KVSM_REGISTER_SIMPLE_COMMAND(m,"killClass",objects_kvs_cmd_killClass); + KVSM_REGISTER_SIMPLE_COMMAND(m, "clearObjects", objects_kvs_cmd_clearObjects); + KVSM_REGISTER_SIMPLE_COMMAND(m, "connect", objects_kvs_cmd_connect); + KVSM_REGISTER_SIMPLE_COMMAND(m, "disconnect", objects_kvs_cmd_disconnect); + KVSM_REGISTER_SIMPLE_COMMAND(m, "killClass", objects_kvs_cmd_killClass); // Don't attempt to change the order of these calls. // Derived classes must be registered after the base ones. @@ -811,17 +808,16 @@ static bool objects_module_init(KviModule * m) } KVIRC_MODULE( - "Objects", - "4.0.0", - "Copyright (C) 2000-2006:\n" \ - " Szymon Stefanek (pragma at kvirc dot net)\n" \ - " Krzysztof Godlewski (kristoff at poczta dot wprost dot pl)\n" \ - " Tonino Imbesi (grifisx at barmes dot org)\n" \ - " Alessandro Carbone (elfonol at gmail dot com)", - "Object classes for KVIrc scripting language\n", - objects_module_init, - objects_module_can_unload, - 0, - objects_module_cleanup, - "objects" -) + "Objects", + "4.0.0", + "Copyright (C) 2000-2006:\n" + " Szymon Stefanek (pragma at kvirc dot net)\n" + " Krzysztof Godlewski (kristoff at poczta dot wprost dot pl)\n" + " Tonino Imbesi (grifisx at barmes dot org)\n" + " Alessandro Carbone (elfonol at gmail dot com)", + "Object classes for KVIrc scripting language\n", + objects_module_init, + objects_module_can_unload, + 0, + objects_module_cleanup, + "objects") diff --git a/src/modules/objects/object_macros.h b/src/modules/objects/object_macros.h index d6225dfb1..f89318575 100644 --- a/src/modules/objects/object_macros.h +++ b/src/modules/objects/object_macros.h @@ -30,94 +30,90 @@ #include "KviKvsObjectController.h" #include "KviKvsObjectFunctionCall.h" -#define KVSO_DECLARE_OBJECT(__className) \ - __className(KviKvsObjectClass * pClass,KviKvsObject * pParent,const QString &szName); \ - ~__className(); \ - static void registerSelf(); \ +#define KVSO_DECLARE_OBJECT(__className) \ + __className(KviKvsObjectClass * pClass, KviKvsObject * pParent, const QString & szName); \ + ~__className(); \ + static void registerSelf(); \ static void unregisterSelf(); -#define SET_OBJECT(__className) \ - __className *obj=new __className(parentScriptWidget()); \ - obj->setObjectName(getName()); \ - setObject(obj,true); +#define SET_OBJECT(__className) \ + __className * obj = new __className(parentScriptWidget()); \ + obj->setObjectName(getName()); \ + setObject(obj, true); -#define KVSO_REGISTER_HANDLER(__className,__szName,__proc) \ - g_pKvs##__className##Class->registerFunctionHandler(__szName,(KviKvsObjectFunctionHandlerProc)(KVI_PTR2MEMBER(__className::__proc))); +#define KVSO_REGISTER_HANDLER(__className, __szName, __proc) \ + g_pKvs##__className##Class->registerFunctionHandler(__szName, (KviKvsObjectFunctionHandlerProc)(KVI_PTR2MEMBER(__className::__proc))); // TEST -#define KVSO_REGISTER_HANDLER_BY_NAME(__className,__szName) \ -g_pKvs##__className##Class->registerFunctionHandler(#__szName,(KviKvsObjectFunctionHandlerProc)(KVI_PTR2MEMBER(__className::__szName))); +#define KVSO_REGISTER_HANDLER_BY_NAME(__className, __szName) \ + g_pKvs##__className##Class->registerFunctionHandler(#__szName, (KviKvsObjectFunctionHandlerProc)(KVI_PTR2MEMBER(__className::__szName))); -#define KVSO_REGISTER_STANDARD_NOTHINGRETURN_HANDLER(__className,__szName) \ +#define KVSO_REGISTER_STANDARD_NOTHINGRETURN_HANDLER(__className, __szName) \ g_pKvs##__className##Class->registerStandardNothingReturnFunctionHandler(__szName); -#define KVSO_REGISTER_STANDARD_TRUERETURN_HANDLER(__className,__szName) \ +#define KVSO_REGISTER_STANDARD_TRUERETURN_HANDLER(__className, __szName) \ g_pKvs##__className##Class->registerStandardTrueReturnFunctionHandler(__szName); -#define KVSO_REGISTER_STANDARD_FALSERETURN_HANDLER(__className,__szName) \ +#define KVSO_REGISTER_STANDARD_FALSERETURN_HANDLER(__className, __szName) \ g_pKvs##__className##Class->registerStandardFalseReturnFunctionHandler(__szName); -#define KVSO_BEGIN_REGISTERCLASS(__className,__stringName,__baseClass) \ - static KviKvsObjectClass * g_pKvs##__className##Class = 0; \ - static KviKvsObject * kvs_##__className##_createInstance(KviKvsObjectClass * pClass,KviKvsObject * pParent,const QString &szName) \ - { \ - return new __className(pClass,pParent,szName); \ - } \ - void __className::unregisterSelf() \ - { \ - delete g_pKvs##__className##Class; \ - g_pKvs##__className##Class = 0; \ - } \ - void __className::registerSelf() \ - { \ - KviKvsObjectClass * base = KviKvsKernel::instance()->objectController()->lookupClass(__baseClass); \ - g_pKvs##__className##Class = new KviKvsObjectClass(base,__stringName,kvs_##__className##_createInstance,true); - - +#define KVSO_BEGIN_REGISTERCLASS(__className, __stringName, __baseClass) \ + static KviKvsObjectClass * g_pKvs##__className##Class = 0; \ + static KviKvsObject * kvs_##__className##_createInstance(KviKvsObjectClass * pClass, KviKvsObject * pParent, const QString & szName) \ + { \ + return new __className(pClass, pParent, szName); \ + } \ + void __className::unregisterSelf() \ + { \ + delete g_pKvs##__className##Class; \ + g_pKvs##__className##Class = 0; \ + } \ + void __className::registerSelf() \ + { \ + KviKvsObjectClass * base = KviKvsKernel::instance()->objectController()->lookupClass(__baseClass); \ + g_pKvs##__className##Class = new KviKvsObjectClass(base, __stringName, kvs_##__className##_createInstance, true); #define KVSO_END_REGISTERCLASS(__className) \ } - -#define KVSO_BEGIN_CONSTRUCTOR(__className,__baseClass) \ - __className::__className(KviKvsObjectClass * pClass,KviKvsObject * pParent,const QString &szName) \ - : __baseClass(pClass,pParent,szName) \ +#define KVSO_BEGIN_CONSTRUCTOR(__className, __baseClass) \ + __className::__className(KviKvsObjectClass * pClass, KviKvsObject * pParent, const QString & szName) \ + : __baseClass(pClass, pParent, szName) \ { #define KVSO_END_CONSTRUCTOR(__className) \ } #define KVSO_BEGIN_DESTRUCTOR(__className) \ - __className::~__className() \ + __className::~__className() \ { - #define KVSO_END_DESTRUCTOR(__className) \ } -#define KVSO_CLASS_FUNCTION(__className,__functionName)\ +#define KVSO_CLASS_FUNCTION(__className, __functionName) \ bool KvsObject_##__className::__functionName(KviKvsObjectFunctionCall * c) -#define CHECK_INTERNAL_POINTER(__pointer)\ - if(!__pointer) \ - { \ - c->error(__tr2qs_ctx("Internal error: no valid pointer for this object","objects")); \ - return false; \ +#define CHECK_INTERNAL_POINTER(__pointer) \ + if(!__pointer) \ + { \ + c->error(__tr2qs_ctx("Internal error: no valid pointer for this object", "objects")); \ + return false; \ } -#define CHECK_HOBJECT_IS_WIDGET(__pObject)\ -if (!__pObject)\ - {\ - c->warning(__tr2qs_ctx("Widget parameter is not an object","objects"));\ - return true;\ - }\ - if (!__pObject->object())\ - {\ - c->warning(__tr2qs_ctx("Widget parameter is not a valid object","objects"));\ - return true;\ - }\ - if(!__pObject->object()->isWidgetType())\ - {\ - c->warning(__tr2qs_ctx("Widget object required","objects"));\ - return true;\ +#define CHECK_HOBJECT_IS_WIDGET(__pObject) \ + if(!__pObject) \ + { \ + c->warning(__tr2qs_ctx("Widget parameter is not an object", "objects")); \ + return true; \ + } \ + if(!__pObject->object()) \ + { \ + c->warning(__tr2qs_ctx("Widget parameter is not a valid object", "objects")); \ + return true; \ + } \ + if(!__pObject->object()->isWidgetType()) \ + { \ + c->warning(__tr2qs_ctx("Widget object required", "objects")); \ + return true; \ } #endif diff --git a/src/modules/objects/qtftp/qftp.cpp b/src/modules/objects/qtftp/qftp.cpp index f0fcecb57..626aaae70 100644 --- a/src/modules/objects/qtftp/qftp.cpp +++ b/src/modules/objects/qtftp/qftp.cpp @@ -60,7 +60,6 @@ QT_BEGIN_NAMESPACE - /********************************************************************** * * QFtpCommand implemenatation @@ -69,45 +68,46 @@ QT_BEGIN_NAMESPACE class QFtpCommand { public: - QFtpCommand(QFtp::Command cmd, QStringList raw, const QByteArray &ba); - QFtpCommand(QFtp::Command cmd, QStringList raw, QIODevice *dev = 0); - ~QFtpCommand(); - - int id; - QFtp::Command command; - QStringList rawCmds; - - // If is_ba is true, ba is used; ba is never 0. - // Otherwise dev is used; dev can be 0 or not. - union { - QByteArray *ba; - QIODevice *dev; - } data; - bool is_ba; - - static QBasicAtomicInt idCounter; + QFtpCommand(QFtp::Command cmd, QStringList raw, const QByteArray & ba); + QFtpCommand(QFtp::Command cmd, QStringList raw, QIODevice * dev = 0); + ~QFtpCommand(); + + int id; + QFtp::Command command; + QStringList rawCmds; + + // If is_ba is true, ba is used; ba is never 0. + // Otherwise dev is used; dev can be 0 or not. + union + { + QByteArray * ba; + QIODevice * dev; + } data; + bool is_ba; + + static QBasicAtomicInt idCounter; }; QBasicAtomicInt QFtpCommand::idCounter = Q_BASIC_ATOMIC_INITIALIZER(1); -QFtpCommand::QFtpCommand(QFtp::Command cmd, QStringList raw, const QByteArray &ba) +QFtpCommand::QFtpCommand(QFtp::Command cmd, QStringList raw, const QByteArray & ba) : command(cmd), rawCmds(raw), is_ba(true) { - id = idCounter.fetchAndAddRelaxed(1); - data.ba = new QByteArray(ba); + id = idCounter.fetchAndAddRelaxed(1); + data.ba = new QByteArray(ba); } -QFtpCommand::QFtpCommand(QFtp::Command cmd, QStringList raw, QIODevice *dev) +QFtpCommand::QFtpCommand(QFtp::Command cmd, QStringList raw, QIODevice * dev) : command(cmd), rawCmds(raw), is_ba(false) { - id = idCounter.fetchAndAddRelaxed(1); - data.dev = dev; + id = idCounter.fetchAndAddRelaxed(1); + data.dev = dev; } QFtpCommand::~QFtpCommand() { - if (is_ba) - delete data.ba; + if(is_ba) + delete data.ba; } /********************************************************************** @@ -115,506 +115,550 @@ QFtpCommand::~QFtpCommand() * QFtpDTP implemenatation * *********************************************************************/ -QFtpDTP::QFtpDTP(QFtpPI *p, QObject *parent) : - QObject(parent), - socket(0), - listener(this), - pi(p), - callWriteData(false) +QFtpDTP::QFtpDTP(QFtpPI * p, QObject * parent) : QObject(parent), + socket(0), + listener(this), + pi(p), + callWriteData(false) { - clearData(); - listener.setObjectName(QLatin1String("QFtpDTP active state server")); - connect(&listener, SIGNAL(newConnection()), SLOT(setupSocket())); + clearData(); + listener.setObjectName(QLatin1String("QFtpDTP active state server")); + connect(&listener, SIGNAL(newConnection()), SLOT(setupSocket())); } -void QFtpDTP::setData(QByteArray *ba) +void QFtpDTP::setData(QByteArray * ba) { - is_ba = true; - data.ba = ba; + is_ba = true; + data.ba = ba; } -void QFtpDTP::setDevice(QIODevice *dev) +void QFtpDTP::setDevice(QIODevice * dev) { - is_ba = false; - data.dev = dev; + is_ba = false; + data.dev = dev; } void QFtpDTP::setBytesTotal(qint64 bytes) { - bytesTotal = bytes; - bytesDone = 0; - emit dataTransferProgress(bytesDone, bytesTotal); + bytesTotal = bytes; + bytesDone = 0; + emit dataTransferProgress(bytesDone, bytesTotal); } void QFtpDTP::connectToHost(const QString & host, quint16 port) { - bytesFromSocket.clear(); + bytesFromSocket.clear(); - if (socket) { - delete socket; - socket = 0; - } - socket = new QTcpSocket(this); + if(socket) + { + delete socket; + socket = 0; + } + socket = new QTcpSocket(this); #ifndef QT_NO_BEARERMANAGEMENT - //copy network session down to the socket - socket->setProperty("_q_networksession", property("_q_networksession")); + //copy network session down to the socket + socket->setProperty("_q_networksession", property("_q_networksession")); #endif - socket->setObjectName(QLatin1String("QFtpDTP Passive state socket")); - connect(socket, SIGNAL(connected()), SLOT(socketConnected())); - connect(socket, SIGNAL(readyRead()), SLOT(socketReadyRead())); - connect(socket, SIGNAL(error(QAbstractSocket::SocketError)), SLOT(socketError(QAbstractSocket::SocketError))); - connect(socket, SIGNAL(disconnected()), SLOT(socketConnectionClosed())); - connect(socket, SIGNAL(bytesWritten(qint64)), SLOT(socketBytesWritten(qint64))); + socket->setObjectName(QLatin1String("QFtpDTP Passive state socket")); + connect(socket, SIGNAL(connected()), SLOT(socketConnected())); + connect(socket, SIGNAL(readyRead()), SLOT(socketReadyRead())); + connect(socket, SIGNAL(error(QAbstractSocket::SocketError)), SLOT(socketError(QAbstractSocket::SocketError))); + connect(socket, SIGNAL(disconnected()), SLOT(socketConnectionClosed())); + connect(socket, SIGNAL(bytesWritten(qint64)), SLOT(socketBytesWritten(qint64))); - socket->connectToHost(host, port); + socket->connectToHost(host, port); } -int QFtpDTP::setupListener(const QHostAddress &address) +int QFtpDTP::setupListener(const QHostAddress & address) { #ifndef QT_NO_BEARERMANAGEMENT - //copy network session down to the socket - listener.setProperty("_q_networksession", property("_q_networksession")); + //copy network session down to the socket + listener.setProperty("_q_networksession", property("_q_networksession")); #endif - if (!listener.isListening() && !listener.listen(address, 0)) - return -1; - return listener.serverPort(); + if(!listener.isListening() && !listener.listen(address, 0)) + return -1; + return listener.serverPort(); } void QFtpDTP::waitForConnection() { - // This function is only interesting in Active transfer mode; it works - // around a limitation in QFtp's design by blocking, waiting for an - // incoming connection. For the default Passive mode, it does nothing. - if (listener.isListening()) - listener.waitForNewConnection(); + // This function is only interesting in Active transfer mode; it works + // around a limitation in QFtp's design by blocking, waiting for an + // incoming connection. For the default Passive mode, it does nothing. + if(listener.isListening()) + listener.waitForNewConnection(); } QTcpSocket::SocketState QFtpDTP::state() const { - return socket ? socket->state() : QTcpSocket::UnconnectedState; + return socket ? socket->state() : QTcpSocket::UnconnectedState; } qint64 QFtpDTP::bytesAvailable() const { - if (!socket || socket->state() != QTcpSocket::ConnectedState) - return (qint64) bytesFromSocket.size(); - return socket->bytesAvailable(); + if(!socket || socket->state() != QTcpSocket::ConnectedState) + return (qint64)bytesFromSocket.size(); + return socket->bytesAvailable(); } -qint64 QFtpDTP::read(char *data, qint64 maxlen) +qint64 QFtpDTP::read(char * data, qint64 maxlen) { - qint64 read; - if (socket && socket->state() == QTcpSocket::ConnectedState) { - read = socket->read(data, maxlen); - } else { - read = qMin(maxlen, qint64(bytesFromSocket.size())); - memcpy(data, bytesFromSocket.data(), read); - bytesFromSocket.remove(0, read); - } + qint64 read; + if(socket && socket->state() == QTcpSocket::ConnectedState) + { + read = socket->read(data, maxlen); + } + else + { + read = qMin(maxlen, qint64(bytesFromSocket.size())); + memcpy(data, bytesFromSocket.data(), read); + bytesFromSocket.remove(0, read); + } - bytesDone += read; - return read; + bytesDone += read; + return read; } QByteArray QFtpDTP::readAll() { - QByteArray tmp; - if (socket && socket->state() == QTcpSocket::ConnectedState) { - tmp = socket->readAll(); - bytesDone += tmp.size(); - } else { - tmp = bytesFromSocket; - bytesFromSocket.clear(); - } - return tmp; + QByteArray tmp; + if(socket && socket->state() == QTcpSocket::ConnectedState) + { + tmp = socket->readAll(); + bytesDone += tmp.size(); + } + else + { + tmp = bytesFromSocket; + bytesFromSocket.clear(); + } + return tmp; } void QFtpDTP::writeData() { - if (!socket) - return; + if(!socket) + return; - if (is_ba) { + if(is_ba) + { #if defined(QFTPDTP_DEBUG) - qDebug("QFtpDTP::writeData: write %d bytes", data.ba->size()); + qDebug("QFtpDTP::writeData: write %d bytes", data.ba->size()); #endif - if (data.ba->size() == 0) - emit dataTransferProgress(0, bytesTotal); - else - socket->write(data.ba->data(), data.ba->size()); - - socket->close(); - - clearData(); - } else if (data.dev) { - callWriteData = false; - const qint64 blockSize = 16*1024; - char buf[16*1024]; - qint64 read = data.dev->read(buf, blockSize); + if(data.ba->size() == 0) + emit dataTransferProgress(0, bytesTotal); + else + socket->write(data.ba->data(), data.ba->size()); + + socket->close(); + + clearData(); + } + else if(data.dev) + { + callWriteData = false; + const qint64 blockSize = 16 * 1024; + char buf[16 * 1024]; + qint64 read = data.dev->read(buf, blockSize); #if defined(QFTPDTP_DEBUG) - qDebug("QFtpDTP::writeData: write() of size %lli bytes", read); + qDebug("QFtpDTP::writeData: write() of size %lli bytes", read); #endif - if (read > 0) { - socket->write(buf, read); - } else if (read == -1 || (!data.dev->isSequential() && data.dev->atEnd())) { - // error or EOF - if (bytesDone == 0 && socket->bytesToWrite() == 0) - emit dataTransferProgress(0, bytesTotal); - socket->close(); - clearData(); - } - - // do we continue uploading? - callWriteData = data.dev != 0; - } + if(read > 0) + { + socket->write(buf, read); + } + else if(read == -1 || (!data.dev->isSequential() && data.dev->atEnd())) + { + // error or EOF + if(bytesDone == 0 && socket->bytesToWrite() == 0) + emit dataTransferProgress(0, bytesTotal); + socket->close(); + clearData(); + } + + // do we continue uploading? + callWriteData = data.dev != 0; + } } void QFtpDTP::dataReadyRead() { - writeData(); + writeData(); } inline bool QFtpDTP::hasError() const { - return !err.isNull(); + return !err.isNull(); } inline QString QFtpDTP::errorMessage() const { - return err; + return err; } inline void QFtpDTP::clearError() { - err.clear(); + err.clear(); } void QFtpDTP::abortConnection() { #if defined(QFTPDTP_DEBUG) - qDebug("QFtpDTP::abortConnection, bytesAvailable == %lli", - socket ? socket->bytesAvailable() : (qint64) 0); + qDebug("QFtpDTP::abortConnection, bytesAvailable == %lli", + socket ? socket->bytesAvailable() : (qint64)0); #endif - callWriteData = false; - clearData(); - - if (socket) - socket->abort(); -} - -static void _q_fixupDateTime(QDateTime *dateTime) -{ - // Adjust for future tolerance. - const int futureTolerance = 86400; - if (dateTime->secsTo(QDateTime::currentDateTime()) < -futureTolerance) { - QDate d = dateTime->date(); - d.setDate(d.year() - 1, d.month(), d.day()); - dateTime->setDate(d); - } -} - -static void _q_parseUnixDir(const QStringList &tokens, const QString &userName, QUrlInfo *info) -{ - // Unix style, 7 + 1 entries - // -rw-r--r-- 1 ftp ftp 17358091 Aug 10 2004 qt-x11-free-3.3.3.tar.gz - // drwxr-xr-x 3 ftp ftp 4096 Apr 14 2000 compiled-examples - // lrwxrwxrwx 1 ftp ftp 9 Oct 29 2005 qtscape -> qtmozilla - if (tokens.size() != 8) - return; - - char first = tokens.at(1).at(0).toLatin1(); - if (first == 'd') { - info->setDir(true); - info->setFile(false); - info->setSymLink(false); - } else if (first == '-') { - info->setDir(false); - info->setFile(true); - info->setSymLink(false); - } else if (first == 'l') { - info->setDir(true); - info->setFile(false); - info->setSymLink(true); - } - - // Resolve filename - QString name = tokens.at(7); - if (info->isSymLink()) { - int linkPos = name.indexOf(QLatin1String(" ->")); - if (linkPos != -1) - name.resize(linkPos); - } - info->setName(name); - - // Resolve owner & group - info->setOwner(tokens.at(3)); - info->setGroup(tokens.at(4)); - - // Resolve size - info->setSize(tokens.at(5).toLongLong()); - - QStringList formats; - formats << QLatin1String("MMM dd yyyy") << QLatin1String("MMM dd hh:mm") << QLatin1String("MMM d yyyy") - << QLatin1String("MMM d hh:mm") << QLatin1String("MMM d yyyy") << QLatin1String("MMM dd yyyy"); - - QString dateString = tokens.at(6); - dateString[0] = dateString[0].toUpper(); - - // Resolve the modification date by parsing all possible formats - QDateTime dateTime; - int n = 0; + callWriteData = false; + clearData(); + + if(socket) + socket->abort(); +} + +static void _q_fixupDateTime(QDateTime * dateTime) +{ + // Adjust for future tolerance. + const int futureTolerance = 86400; + if(dateTime->secsTo(QDateTime::currentDateTime()) < -futureTolerance) + { + QDate d = dateTime->date(); + d.setDate(d.year() - 1, d.month(), d.day()); + dateTime->setDate(d); + } +} + +static void _q_parseUnixDir(const QStringList & tokens, const QString & userName, QUrlInfo * info) +{ + // Unix style, 7 + 1 entries + // -rw-r--r-- 1 ftp ftp 17358091 Aug 10 2004 qt-x11-free-3.3.3.tar.gz + // drwxr-xr-x 3 ftp ftp 4096 Apr 14 2000 compiled-examples + // lrwxrwxrwx 1 ftp ftp 9 Oct 29 2005 qtscape -> qtmozilla + if(tokens.size() != 8) + return; + + char first = tokens.at(1).at(0).toLatin1(); + if(first == 'd') + { + info->setDir(true); + info->setFile(false); + info->setSymLink(false); + } + else if(first == '-') + { + info->setDir(false); + info->setFile(true); + info->setSymLink(false); + } + else if(first == 'l') + { + info->setDir(true); + info->setFile(false); + info->setSymLink(true); + } + + // Resolve filename + QString name = tokens.at(7); + if(info->isSymLink()) + { + int linkPos = name.indexOf(QLatin1String(" ->")); + if(linkPos != -1) + name.resize(linkPos); + } + info->setName(name); + + // Resolve owner & group + info->setOwner(tokens.at(3)); + info->setGroup(tokens.at(4)); + + // Resolve size + info->setSize(tokens.at(5).toLongLong()); + + QStringList formats; + formats << QLatin1String("MMM dd yyyy") << QLatin1String("MMM dd hh:mm") << QLatin1String("MMM d yyyy") + << QLatin1String("MMM d hh:mm") << QLatin1String("MMM d yyyy") << QLatin1String("MMM dd yyyy"); + + QString dateString = tokens.at(6); + dateString[0] = dateString[0].toUpper(); + + // Resolve the modification date by parsing all possible formats + QDateTime dateTime; + int n = 0; #ifndef QT_NO_DATESTRING - do { - dateTime = QLocale::c().toDateTime(dateString, formats.at(n++)); - } while (n < formats.size() && (!dateTime.isValid())); + do + { + dateTime = QLocale::c().toDateTime(dateString, formats.at(n++)); + } while(n < formats.size() && (!dateTime.isValid())); #endif - if (n == 2 || n == 4) { - // Guess the year. - dateTime.setDate(QDate(QDate::currentDate().year(), - dateTime.date().month(), - dateTime.date().day())); - _q_fixupDateTime(&dateTime); - } - if (dateTime.isValid()) - info->setLastModified(dateTime); - - // Resolve permissions - int permissions = 0; - QString p = tokens.at(2); - permissions |= (p[0] == QLatin1Char('r') ? QUrlInfo::ReadOwner : 0); - permissions |= (p[1] == QLatin1Char('w') ? QUrlInfo::WriteOwner : 0); - permissions |= (p[2] == QLatin1Char('x') ? QUrlInfo::ExeOwner : 0); - permissions |= (p[3] == QLatin1Char('r') ? QUrlInfo::ReadGroup : 0); - permissions |= (p[4] == QLatin1Char('w') ? QUrlInfo::WriteGroup : 0); - permissions |= (p[5] == QLatin1Char('x') ? QUrlInfo::ExeGroup : 0); - permissions |= (p[6] == QLatin1Char('r') ? QUrlInfo::ReadOther : 0); - permissions |= (p[7] == QLatin1Char('w') ? QUrlInfo::WriteOther : 0); - permissions |= (p[8] == QLatin1Char('x') ? QUrlInfo::ExeOther : 0); - info->setPermissions(permissions); - - bool isOwner = info->owner() == userName; - info->setReadable((permissions & QUrlInfo::ReadOther) || ((permissions & QUrlInfo::ReadOwner) && isOwner)); - info->setWritable((permissions & QUrlInfo::WriteOther) || ((permissions & QUrlInfo::WriteOwner) && isOwner)); -} - -static void _q_parseDosDir(const QStringList &tokens, const QString &userName, QUrlInfo *info) -{ - // DOS style, 3 + 1 entries - // 01-16-02 11:14AM epsgroup - // 06-05-03 03:19PM 1973 readme.txt - if (tokens.size() != 4) - return; - - Q_UNUSED(userName); - - QString name = tokens.at(3); - info->setName(name); - info->setSymLink(name.toLower().endsWith(QLatin1String(".lnk"))); - - if (tokens.at(2) == QLatin1String("")) { - info->setFile(false); - info->setDir(true); - } else { - info->setFile(true); - info->setDir(false); - info->setSize(tokens.at(2).toLongLong()); - } - - // Note: We cannot use QFileInfo; permissions are for the server-side - // machine, and QFileInfo's behavior depends on the local platform. - int permissions = QUrlInfo::ReadOwner | QUrlInfo::WriteOwner - | QUrlInfo::ReadGroup | QUrlInfo::WriteGroup - | QUrlInfo::ReadOther | QUrlInfo::WriteOther; - QString ext; - int extIndex = name.lastIndexOf(QLatin1Char('.')); - if (extIndex != -1) - ext = name.mid(extIndex + 1); - if (ext == QLatin1String("exe") || ext == QLatin1String("bat") || ext == QLatin1String("com")) - permissions |= QUrlInfo::ExeOwner | QUrlInfo::ExeGroup | QUrlInfo::ExeOther; - info->setPermissions(permissions); - - info->setReadable(true); - info->setWritable(info->isFile()); - - QDateTime dateTime; + if(n == 2 || n == 4) + { + // Guess the year. + dateTime.setDate(QDate(QDate::currentDate().year(), + dateTime.date().month(), + dateTime.date().day())); + _q_fixupDateTime(&dateTime); + } + if(dateTime.isValid()) + info->setLastModified(dateTime); + + // Resolve permissions + int permissions = 0; + QString p = tokens.at(2); + permissions |= (p[0] == QLatin1Char('r') ? QUrlInfo::ReadOwner : 0); + permissions |= (p[1] == QLatin1Char('w') ? QUrlInfo::WriteOwner : 0); + permissions |= (p[2] == QLatin1Char('x') ? QUrlInfo::ExeOwner : 0); + permissions |= (p[3] == QLatin1Char('r') ? QUrlInfo::ReadGroup : 0); + permissions |= (p[4] == QLatin1Char('w') ? QUrlInfo::WriteGroup : 0); + permissions |= (p[5] == QLatin1Char('x') ? QUrlInfo::ExeGroup : 0); + permissions |= (p[6] == QLatin1Char('r') ? QUrlInfo::ReadOther : 0); + permissions |= (p[7] == QLatin1Char('w') ? QUrlInfo::WriteOther : 0); + permissions |= (p[8] == QLatin1Char('x') ? QUrlInfo::ExeOther : 0); + info->setPermissions(permissions); + + bool isOwner = info->owner() == userName; + info->setReadable((permissions & QUrlInfo::ReadOther) || ((permissions & QUrlInfo::ReadOwner) && isOwner)); + info->setWritable((permissions & QUrlInfo::WriteOther) || ((permissions & QUrlInfo::WriteOwner) && isOwner)); +} + +static void _q_parseDosDir(const QStringList & tokens, const QString & userName, QUrlInfo * info) +{ + // DOS style, 3 + 1 entries + // 01-16-02 11:14AM epsgroup + // 06-05-03 03:19PM 1973 readme.txt + if(tokens.size() != 4) + return; + + Q_UNUSED(userName); + + QString name = tokens.at(3); + info->setName(name); + info->setSymLink(name.toLower().endsWith(QLatin1String(".lnk"))); + + if(tokens.at(2) == QLatin1String("")) + { + info->setFile(false); + info->setDir(true); + } + else + { + info->setFile(true); + info->setDir(false); + info->setSize(tokens.at(2).toLongLong()); + } + + // Note: We cannot use QFileInfo; permissions are for the server-side + // machine, and QFileInfo's behavior depends on the local platform. + int permissions = QUrlInfo::ReadOwner | QUrlInfo::WriteOwner + | QUrlInfo::ReadGroup | QUrlInfo::WriteGroup + | QUrlInfo::ReadOther | QUrlInfo::WriteOther; + QString ext; + int extIndex = name.lastIndexOf(QLatin1Char('.')); + if(extIndex != -1) + ext = name.mid(extIndex + 1); + if(ext == QLatin1String("exe") || ext == QLatin1String("bat") || ext == QLatin1String("com")) + permissions |= QUrlInfo::ExeOwner | QUrlInfo::ExeGroup | QUrlInfo::ExeOther; + info->setPermissions(permissions); + + info->setReadable(true); + info->setWritable(info->isFile()); + + QDateTime dateTime; #ifndef QT_NO_DATESTRING - dateTime = QLocale::c().toDateTime(tokens.at(1), QLatin1String("MM-dd-yy hh:mmAP")); - if (dateTime.date().year() < 1971) { - dateTime.setDate(QDate(dateTime.date().year() + 100, - dateTime.date().month(), - dateTime.date().day())); - } + dateTime = QLocale::c().toDateTime(tokens.at(1), QLatin1String("MM-dd-yy hh:mmAP")); + if(dateTime.date().year() < 1971) + { + dateTime.setDate(QDate(dateTime.date().year() + 100, + dateTime.date().month(), + dateTime.date().day())); + } #endif - info->setLastModified(dateTime); - + info->setLastModified(dateTime); } -bool QFtpDTP::parseDir(const QByteArray &buffer, const QString &userName, QUrlInfo *info) +bool QFtpDTP::parseDir(const QByteArray & buffer, const QString & userName, QUrlInfo * info) { - if (buffer.isEmpty()) - return false; + if(buffer.isEmpty()) + return false; - QString bufferStr = QString::fromLatin1(buffer).trimmed(); + QString bufferStr = QString::fromLatin1(buffer).trimmed(); - // Unix style FTP servers - QRegExp unixPattern(QLatin1String("^([\\-dl])([a-zA-Z\\-]{9,9})\\s+\\d+\\s+(\\S*)\\s+" - "(\\S*)\\s+(\\d+)\\s+(\\S+\\s+\\S+\\s+\\S+)\\s+(\\S.*)")); - if (unixPattern.indexIn(bufferStr) == 0) { - _q_parseUnixDir(unixPattern.capturedTexts(), userName, info); - return true; - } + // Unix style FTP servers + QRegExp unixPattern(QLatin1String("^([\\-dl])([a-zA-Z\\-]{9,9})\\s+\\d+\\s+(\\S*)\\s+" + "(\\S*)\\s+(\\d+)\\s+(\\S+\\s+\\S+\\s+\\S+)\\s+(\\S.*)")); + if(unixPattern.indexIn(bufferStr) == 0) + { + _q_parseUnixDir(unixPattern.capturedTexts(), userName, info); + return true; + } - // DOS style FTP servers - QRegExp dosPattern(QLatin1String("^(\\d\\d-\\d\\d-\\d\\d\\d?\\d?\\ \\ \\d\\d:\\d\\d[AP]M)\\s+" - "(|\\d+)\\s+(\\S.*)$")); - if (dosPattern.indexIn(bufferStr) == 0) { - _q_parseDosDir(dosPattern.capturedTexts(), userName, info); - return true; - } + // DOS style FTP servers + QRegExp dosPattern(QLatin1String("^(\\d\\d-\\d\\d-\\d\\d\\d?\\d?\\ \\ \\d\\d:\\d\\d[AP]M)\\s+" + "(|\\d+)\\s+(\\S.*)$")); + if(dosPattern.indexIn(bufferStr) == 0) + { + _q_parseDosDir(dosPattern.capturedTexts(), userName, info); + return true; + } - // Unsupported - return false; + // Unsupported + return false; } void QFtpDTP::socketConnected() { - bytesDone = 0; + bytesDone = 0; #if defined(QFTPDTP_DEBUG) - qDebug("QFtpDTP::connectState(CsConnected)"); + qDebug("QFtpDTP::connectState(CsConnected)"); #endif - emit connectState(QFtpDTP::CsConnected); + emit connectState(QFtpDTP::CsConnected); } void QFtpDTP::socketReadyRead() { - if (!socket) - return; + if(!socket) + return; - if (pi->currentCommand().isEmpty()) { - socket->close(); + if(pi->currentCommand().isEmpty()) + { + socket->close(); #if defined(QFTPDTP_DEBUG) - qDebug("QFtpDTP::connectState(CsClosed)"); + qDebug("QFtpDTP::connectState(CsClosed)"); #endif - emit connectState(QFtpDTP::CsClosed); - return; - } - - if (pi->abortState == QFtpPI::AbortStarted) { - // discard data - socket->readAll(); - return; - } - - if (pi->currentCommand().startsWith(QLatin1String("LIST"))) { - while (socket->canReadLine()) { - QUrlInfo i; - QByteArray line = socket->readLine(); + emit connectState(QFtpDTP::CsClosed); + return; + } + + if(pi->abortState == QFtpPI::AbortStarted) + { + // discard data + socket->readAll(); + return; + } + + if(pi->currentCommand().startsWith(QLatin1String("LIST"))) + { + while(socket->canReadLine()) + { + QUrlInfo i; + QByteArray line = socket->readLine(); #if defined(QFTPDTP_DEBUG) - qDebug("QFtpDTP read (list): '%s'", line.constData()); + qDebug("QFtpDTP read (list): '%s'", line.constData()); #endif - if (parseDir(line, QLatin1String(""), &i)) { - emit listInfo(i); - } else { - // some FTP servers don't return a 550 if the file or directory - // does not exist, but rather write a text to the data socket - // -- try to catch these cases - if (line.endsWith("No such file or directory\r\n")) - err = QString::fromLatin1(line); - } - } - } else { - if (!is_ba && data.dev) { - do { - QByteArray ba; - ba.resize(socket->bytesAvailable()); - qint64 bytesRead = socket->read(ba.data(), ba.size()); - if (bytesRead < 0) { - // a read following a readyRead() signal will - // never fail. - return; - } - ba.resize(bytesRead); - bytesDone += bytesRead; + if(parseDir(line, QLatin1String(""), &i)) + { + emit listInfo(i); + } + else + { + // some FTP servers don't return a 550 if the file or directory + // does not exist, but rather write a text to the data socket + // -- try to catch these cases + if(line.endsWith("No such file or directory\r\n")) + err = QString::fromLatin1(line); + } + } + } + else + { + if(!is_ba && data.dev) + { + do + { + QByteArray ba; + ba.resize(socket->bytesAvailable()); + qint64 bytesRead = socket->read(ba.data(), ba.size()); + if(bytesRead < 0) + { + // a read following a readyRead() signal will + // never fail. + return; + } + ba.resize(bytesRead); + bytesDone += bytesRead; #if defined(QFTPDTP_DEBUG) - qDebug("QFtpDTP read: %lli bytes (total %lli bytes)", bytesRead, bytesDone); + qDebug("QFtpDTP read: %lli bytes (total %lli bytes)", bytesRead, bytesDone); #endif - if (data.dev) // make sure it wasn't deleted in the slot - data.dev->write(ba); - emit dataTransferProgress(bytesDone, bytesTotal); - - // Need to loop; dataTransferProgress is often connected to - // slots that update the GUI (e.g., progress bar values), and - // if events are processed, more data may have arrived. - } while (socket->bytesAvailable()); - } else { + if(data.dev) // make sure it wasn't deleted in the slot + data.dev->write(ba); + emit dataTransferProgress(bytesDone, bytesTotal); + + // Need to loop; dataTransferProgress is often connected to + // slots that update the GUI (e.g., progress bar values), and + // if events are processed, more data may have arrived. + } while(socket->bytesAvailable()); + } + else + { #if defined(QFTPDTP_DEBUG) - qDebug("QFtpDTP readyRead: %lli bytes available (total %lli bytes read)", - bytesAvailable(), bytesDone); + qDebug("QFtpDTP readyRead: %lli bytes available (total %lli bytes read)", + bytesAvailable(), bytesDone); #endif - emit dataTransferProgress(bytesDone+socket->bytesAvailable(), bytesTotal); - emit readyRead(); - } - } + emit dataTransferProgress(bytesDone + socket->bytesAvailable(), bytesTotal); + emit readyRead(); + } + } } void QFtpDTP::socketError(QAbstractSocket::SocketError e) { - if (e == QTcpSocket::HostNotFoundError) { + if(e == QTcpSocket::HostNotFoundError) + { #if defined(QFTPDTP_DEBUG) - qDebug("QFtpDTP::connectState(CsHostNotFound)"); + qDebug("QFtpDTP::connectState(CsHostNotFound)"); #endif - emit connectState(QFtpDTP::CsHostNotFound); - } else if (e == QTcpSocket::ConnectionRefusedError) { + emit connectState(QFtpDTP::CsHostNotFound); + } + else if(e == QTcpSocket::ConnectionRefusedError) + { #if defined(QFTPDTP_DEBUG) - qDebug("QFtpDTP::connectState(CsConnectionRefused)"); + qDebug("QFtpDTP::connectState(CsConnectionRefused)"); #endif - emit connectState(QFtpDTP::CsConnectionRefused); - } + emit connectState(QFtpDTP::CsConnectionRefused); + } } void QFtpDTP::socketConnectionClosed() { - if (!is_ba && data.dev) { - clearData(); - } + if(!is_ba && data.dev) + { + clearData(); + } - bytesFromSocket = socket->readAll(); + bytesFromSocket = socket->readAll(); #if defined(QFTPDTP_DEBUG) - qDebug("QFtpDTP::connectState(CsClosed)"); + qDebug("QFtpDTP::connectState(CsClosed)"); #endif - emit connectState(QFtpDTP::CsClosed); + emit connectState(QFtpDTP::CsClosed); } void QFtpDTP::socketBytesWritten(qint64 bytes) { - bytesDone += bytes; + bytesDone += bytes; #if defined(QFTPDTP_DEBUG) - qDebug("QFtpDTP::bytesWritten(%lli)", bytesDone); + qDebug("QFtpDTP::bytesWritten(%lli)", bytesDone); #endif - emit dataTransferProgress(bytesDone, bytesTotal); - if (callWriteData) - writeData(); + emit dataTransferProgress(bytesDone, bytesTotal); + if(callWriteData) + writeData(); } void QFtpDTP::setupSocket() { - socket = listener.nextPendingConnection(); - socket->setObjectName(QLatin1String("QFtpDTP Active state socket")); - connect(socket, SIGNAL(connected()), SLOT(socketConnected())); - connect(socket, SIGNAL(readyRead()), SLOT(socketReadyRead())); - connect(socket, SIGNAL(error(QAbstractSocket::SocketError)), SLOT(socketError(QAbstractSocket::SocketError))); - connect(socket, SIGNAL(disconnected()), SLOT(socketConnectionClosed())); - connect(socket, SIGNAL(bytesWritten(qint64)), SLOT(socketBytesWritten(qint64))); + socket = listener.nextPendingConnection(); + socket->setObjectName(QLatin1String("QFtpDTP Active state socket")); + connect(socket, SIGNAL(connected()), SLOT(socketConnected())); + connect(socket, SIGNAL(readyRead()), SLOT(socketReadyRead())); + connect(socket, SIGNAL(error(QAbstractSocket::SocketError)), SLOT(socketError(QAbstractSocket::SocketError))); + connect(socket, SIGNAL(disconnected()), SLOT(socketConnectionClosed())); + connect(socket, SIGNAL(bytesWritten(qint64)), SLOT(socketBytesWritten(qint64))); - listener.close(); + listener.close(); } void QFtpDTP::clearData() { - is_ba = false; - data.dev = 0; + is_ba = false; + data.dev = 0; } /********************************************************************** @@ -622,42 +666,41 @@ void QFtpDTP::clearData() * QFtpPI implemenatation * *********************************************************************/ -QFtpPI::QFtpPI(QObject *parent) : - QObject(parent), - rawCommand(false), - transferConnectionExtended(true), - dtp(this), - commandSocket(0), - state(Begin), abortState(None), - currentCmd(QString()), - waitForDtpToConnect(false), - waitForDtpToClose(false) -{ - commandSocket.setObjectName(QLatin1String("QFtpPI_socket")); - connect(&commandSocket, SIGNAL(hostFound()), - SLOT(hostFound())); - connect(&commandSocket, SIGNAL(connected()), - SLOT(connected())); - connect(&commandSocket, SIGNAL(disconnected()), - SLOT(connectionClosed())); - connect(&commandSocket, SIGNAL(readyRead()), - SLOT(readyRead())); - connect(&commandSocket, SIGNAL(error(QAbstractSocket::SocketError)), - SLOT(error(QAbstractSocket::SocketError))); - - connect(&dtp, SIGNAL(connectState(int)), - SLOT(dtpConnectState(int))); -} - -void QFtpPI::connectToHost(const QString &host, quint16 port) -{ - emit connectState(QFtp::HostLookup); +QFtpPI::QFtpPI(QObject * parent) : QObject(parent), + rawCommand(false), + transferConnectionExtended(true), + dtp(this), + commandSocket(0), + state(Begin), abortState(None), + currentCmd(QString()), + waitForDtpToConnect(false), + waitForDtpToClose(false) +{ + commandSocket.setObjectName(QLatin1String("QFtpPI_socket")); + connect(&commandSocket, SIGNAL(hostFound()), + SLOT(hostFound())); + connect(&commandSocket, SIGNAL(connected()), + SLOT(connected())); + connect(&commandSocket, SIGNAL(disconnected()), + SLOT(connectionClosed())); + connect(&commandSocket, SIGNAL(readyRead()), + SLOT(readyRead())); + connect(&commandSocket, SIGNAL(error(QAbstractSocket::SocketError)), + SLOT(error(QAbstractSocket::SocketError))); + + connect(&dtp, SIGNAL(connectState(int)), + SLOT(dtpConnectState(int))); +} + +void QFtpPI::connectToHost(const QString & host, quint16 port) +{ + emit connectState(QFtp::HostLookup); #ifndef QT_NO_BEARERMANAGEMENT - //copy network session down to the socket & DTP - commandSocket.setProperty("_q_networksession", property("_q_networksession")); - dtp.setProperty("_q_networksession", property("_q_networksession")); + //copy network session down to the socket & DTP + commandSocket.setProperty("_q_networksession", property("_q_networksession")); + dtp.setProperty("_q_networksession", property("_q_networksession")); #endif - commandSocket.connectToHost(host, port); + commandSocket.connectToHost(host, port); } /* @@ -668,141 +711,153 @@ void QFtpPI::connectToHost(const QString &host, quint16 port) If there are pending commands in the queue this functions returns false and the \a cmds are not added to the queue; otherwise it returns true. */ -bool QFtpPI::sendCommands(const QStringList &cmds) +bool QFtpPI::sendCommands(const QStringList & cmds) { - if (!pendingCommands.isEmpty()) - return false; + if(!pendingCommands.isEmpty()) + return false; - if (commandSocket.state() != QTcpSocket::ConnectedState || state!=Idle) { - emit error(QFtp::NotConnected, QFtp::tr("Not connected")); - return true; // there are no pending commands - } + if(commandSocket.state() != QTcpSocket::ConnectedState || state != Idle) + { + emit error(QFtp::NotConnected, QFtp::tr("Not connected")); + return true; // there are no pending commands + } - pendingCommands = cmds; - startNextCmd(); - return true; + pendingCommands = cmds; + startNextCmd(); + return true; } void QFtpPI::clearPendingCommands() { - pendingCommands.clear(); - dtp.abortConnection(); - currentCmd.clear(); - state = Idle; + pendingCommands.clear(); + dtp.abortConnection(); + currentCmd.clear(); + state = Idle; } void QFtpPI::abort() { - pendingCommands.clear(); + pendingCommands.clear(); - if (abortState != None) - // ABOR already sent - return; + if(abortState != None) + // ABOR already sent + return; - abortState = AbortStarted; + abortState = AbortStarted; #if defined(QFTPPI_DEBUG) - qDebug("QFtpPI send: ABOR"); + qDebug("QFtpPI send: ABOR"); #endif - commandSocket.write("ABOR\r\n", 6); + commandSocket.write("ABOR\r\n", 6); - if (currentCmd.startsWith(QLatin1String("STOR "))) - dtp.abortConnection(); + if(currentCmd.startsWith(QLatin1String("STOR "))) + dtp.abortConnection(); } void QFtpPI::hostFound() { - emit connectState(QFtp::Connecting); + emit connectState(QFtp::Connecting); } void QFtpPI::connected() { - state = Begin; + state = Begin; #if defined(QFTPPI_DEBUG) // qDebug("QFtpPI state: %d [connected()]", state); #endif - // try to improve performance by setting TCP_NODELAY - commandSocket.setSocketOption(QAbstractSocket::LowDelayOption, 1); + // try to improve performance by setting TCP_NODELAY + commandSocket.setSocketOption(QAbstractSocket::LowDelayOption, 1); - emit connectState(QFtp::Connected); + emit connectState(QFtp::Connected); } void QFtpPI::connectionClosed() { - commandSocket.close(); - emit connectState(QFtp::Unconnected); + commandSocket.close(); + emit connectState(QFtp::Unconnected); } void QFtpPI::delayedCloseFinished() { - emit connectState(QFtp::Unconnected); + emit connectState(QFtp::Unconnected); } void QFtpPI::error(QAbstractSocket::SocketError e) { - if (e == QTcpSocket::HostNotFoundError) { - emit connectState(QFtp::Unconnected); - emit error(QFtp::HostNotFound, - QFtp::tr("Host %1 not found").arg(commandSocket.peerName())); - } else if (e == QTcpSocket::ConnectionRefusedError) { - emit connectState(QFtp::Unconnected); - emit error(QFtp::ConnectionRefused, - QFtp::tr("Connection refused to host %1").arg(commandSocket.peerName())); - } else if (e == QTcpSocket::SocketTimeoutError) { - emit connectState(QFtp::Unconnected); - emit error(QFtp::ConnectionRefused, - QFtp::tr("Connection timed out to host %1").arg(commandSocket.peerName())); - } + if(e == QTcpSocket::HostNotFoundError) + { + emit connectState(QFtp::Unconnected); + emit error(QFtp::HostNotFound, + QFtp::tr("Host %1 not found").arg(commandSocket.peerName())); + } + else if(e == QTcpSocket::ConnectionRefusedError) + { + emit connectState(QFtp::Unconnected); + emit error(QFtp::ConnectionRefused, + QFtp::tr("Connection refused to host %1").arg(commandSocket.peerName())); + } + else if(e == QTcpSocket::SocketTimeoutError) + { + emit connectState(QFtp::Unconnected); + emit error(QFtp::ConnectionRefused, + QFtp::tr("Connection timed out to host %1").arg(commandSocket.peerName())); + } } void QFtpPI::readyRead() { - if (waitForDtpToClose) - return; - - while (commandSocket.canReadLine()) { - // read line with respect to line continuation - QString line = QString::fromLatin1(commandSocket.readLine()); - if (replyText.isEmpty()) { - if (line.length() < 3) { - // protocol error - return; - } - const int lowerLimit[3] = {1,0,0}; - const int upperLimit[3] = {5,5,9}; - for (int i=0; i<3; i++) { - replyCode[i] = line[i].digitValue(); - if (replyCode[i]upperLimit[i]) { - // protocol error - return; - } - } - } - QString endOfMultiLine; - endOfMultiLine[0] = '0' + replyCode[0]; - endOfMultiLine[1] = '0' + replyCode[1]; - endOfMultiLine[2] = '0' + replyCode[2]; - endOfMultiLine[3] = QLatin1Char(' '); - QString lineCont(endOfMultiLine); - lineCont[3] = QLatin1Char('-'); - QString lineLeft4 = line.left(4); - - while (lineLeft4 != endOfMultiLine) { - if (lineLeft4 == lineCont) - replyText += line.mid(4); // strip 'xyz-' - else - replyText += line; - if (!commandSocket.canReadLine()) - return; - line = QString::fromLatin1(commandSocket.readLine()); - lineLeft4 = line.left(4); - } - replyText += line.mid(4); // strip reply code 'xyz ' - if (replyText.endsWith(QLatin1String("\r\n"))) - replyText.chop(2); - - if (processReply()) - replyText = QLatin1String(""); - } + if(waitForDtpToClose) + return; + + while(commandSocket.canReadLine()) + { + // read line with respect to line continuation + QString line = QString::fromLatin1(commandSocket.readLine()); + if(replyText.isEmpty()) + { + if(line.length() < 3) + { + // protocol error + return; + } + const int lowerLimit[3] = { 1, 0, 0 }; + const int upperLimit[3] = { 5, 5, 9 }; + for(int i = 0; i < 3; i++) + { + replyCode[i] = line[i].digitValue(); + if(replyCode[i] < lowerLimit[i] || replyCode[i] > upperLimit[i]) + { + // protocol error + return; + } + } + } + QString endOfMultiLine; + endOfMultiLine[0] = '0' + replyCode[0]; + endOfMultiLine[1] = '0' + replyCode[1]; + endOfMultiLine[2] = '0' + replyCode[2]; + endOfMultiLine[3] = QLatin1Char(' '); + QString lineCont(endOfMultiLine); + lineCont[3] = QLatin1Char('-'); + QString lineLeft4 = line.left(4); + + while(lineLeft4 != endOfMultiLine) + { + if(lineLeft4 == lineCont) + replyText += line.mid(4); // strip 'xyz-' + else + replyText += line; + if(!commandSocket.canReadLine()) + return; + line = QString::fromLatin1(commandSocket.readLine()); + lineLeft4 = line.left(4); + } + replyText += line.mid(4); // strip reply code 'xyz ' + if(replyText.endsWith(QLatin1String("\r\n"))) + replyText.chop(2); + + if(processReply()) + replyText = QLatin1String(""); + } } /* @@ -814,175 +869,206 @@ void QFtpPI::readyRead() bool QFtpPI::processReply() { #if defined(QFTPPI_DEBUG) -// qDebug("QFtpPI state: %d [processReply() begin]", state); - if (replyText.length() < 400) - qDebug("QFtpPI recv: %d %s", 100*replyCode[0]+10*replyCode[1]+replyCode[2], replyText.toLatin1().constData()); - else - qDebug("QFtpPI recv: %d (text skipped)", 100*replyCode[0]+10*replyCode[1]+replyCode[2]); + // qDebug("QFtpPI state: %d [processReply() begin]", state); + if(replyText.length() < 400) + qDebug("QFtpPI recv: %d %s", 100 * replyCode[0] + 10 * replyCode[1] + replyCode[2], replyText.toLatin1().constData()); + else + qDebug("QFtpPI recv: %d (text skipped)", 100 * replyCode[0] + 10 * replyCode[1] + replyCode[2]); #endif - int replyCodeInt = 100*replyCode[0] + 10*replyCode[1] + replyCode[2]; - - // process 226 replies ("Closing Data Connection") only when the data - // connection is really closed to avoid short reads of the DTP - if (replyCodeInt == 226 || (replyCodeInt == 250 && currentCmd.startsWith(QLatin1String("RETR")))) { - if (dtp.state() != QTcpSocket::UnconnectedState) { - waitForDtpToClose = true; - return false; - } - } - - switch (abortState) { - case AbortStarted: - abortState = WaitForAbortToFinish; - break; - case WaitForAbortToFinish: - abortState = None; - return true; - default: - break; - } - - // get new state - static const State table[5] = { - /* 1yz 2yz 3yz 4yz 5yz */ - Waiting, Success, Idle, Failure, Failure - }; - switch (state) { - case Begin: - if (replyCode[0] == 1) { - return true; - } else if (replyCode[0] == 2) { - state = Idle; - emit finished(QFtp::tr("Connected to host %1").arg(commandSocket.peerName())); - break; - } - // reply codes not starting with 1 or 2 are not handled. - return true; - case Waiting: - if (static_cast(replyCode[0]) < 0 || replyCode[0] > 5) - state = Failure; - else + int replyCodeInt = 100 * replyCode[0] + 10 * replyCode[1] + replyCode[2]; + + // process 226 replies ("Closing Data Connection") only when the data + // connection is really closed to avoid short reads of the DTP + if(replyCodeInt == 226 || (replyCodeInt == 250 && currentCmd.startsWith(QLatin1String("RETR")))) + { + if(dtp.state() != QTcpSocket::UnconnectedState) + { + waitForDtpToClose = true; + return false; + } + } + + switch(abortState) + { + case AbortStarted: + abortState = WaitForAbortToFinish; + break; + case WaitForAbortToFinish: + abortState = None; + return true; + default: + break; + } + + // get new state + static const State table[5] = { + /* 1yz 2yz 3yz 4yz 5yz */ + Waiting, Success, Idle, Failure, Failure + }; + switch(state) + { + case Begin: + if(replyCode[0] == 1) + { + return true; + } + else if(replyCode[0] == 2) + { + state = Idle; + emit finished(QFtp::tr("Connected to host %1").arg(commandSocket.peerName())); + break; + } + // reply codes not starting with 1 or 2 are not handled. + return true; + case Waiting: + if(static_cast(replyCode[0]) < 0 || replyCode[0] > 5) + state = Failure; + else #if defined(Q_OS_IRIX) && defined(Q_CC_GNU) - { - // work around a crash on 64 bit gcc IRIX - State *t = (State *) table; - state = t[replyCode[0] - 1]; - } + { + // work around a crash on 64 bit gcc IRIX + State * t = (State *)table; + state = t[replyCode[0] - 1]; + } #else - if (replyCodeInt == 202) - state = Failure; - else - state = table[replyCode[0] - 1]; + if(replyCodeInt == 202) + state = Failure; + else + state = table[replyCode[0] - 1]; #endif - break; - default: - // ignore unrequested message - return true; - } + break; + default: + // ignore unrequested message + return true; + } #if defined(QFTPPI_DEBUG) // qDebug("QFtpPI state: %d [processReply() intermediate]", state); #endif - // special actions on certain replies - emit rawFtpReply(replyCodeInt, replyText); - if (rawCommand) { - rawCommand = false; - } else if (replyCodeInt == 227) { - // 227 Entering Passive Mode (h1,h2,h3,h4,p1,p2) - // rfc959 does not define this response precisely, and gives - // both examples where the parenthesis are used, and where - // they are missing. We need to scan for the address and host - // info. - QRegExp addrPortPattern(QLatin1String("(\\d+),(\\d+),(\\d+),(\\d+),(\\d+),(\\d+)")); - if (addrPortPattern.indexIn(replyText) == -1) { + // special actions on certain replies + emit rawFtpReply(replyCodeInt, replyText); + if(rawCommand) + { + rawCommand = false; + } + else if(replyCodeInt == 227) + { + // 227 Entering Passive Mode (h1,h2,h3,h4,p1,p2) + // rfc959 does not define this response precisely, and gives + // both examples where the parenthesis are used, and where + // they are missing. We need to scan for the address and host + // info. + QRegExp addrPortPattern(QLatin1String("(\\d+),(\\d+),(\\d+),(\\d+),(\\d+),(\\d+)")); + if(addrPortPattern.indexIn(replyText) == -1) + { #if defined(QFTPPI_DEBUG) - qDebug("QFtp: bad 227 response -- address and port information missing"); + qDebug("QFtp: bad 227 response -- address and port information missing"); #endif - // this error should be reported - } else { - QStringList lst = addrPortPattern.capturedTexts(); - QString host = lst[1] + QLatin1Char('.') + lst[2] + QLatin1Char('.') + lst[3] + QLatin1Char('.') + lst[4]; - quint16 port = (lst[5].toUInt() << 8) + lst[6].toUInt(); - waitForDtpToConnect = true; - dtp.connectToHost(host, port); - } - } else if (replyCodeInt == 229) { - // 229 Extended Passive mode OK (|||10982|) - int portPos = replyText.indexOf(QLatin1Char('(')); - if (portPos == -1) { + // this error should be reported + } + else + { + QStringList lst = addrPortPattern.capturedTexts(); + QString host = lst[1] + QLatin1Char('.') + lst[2] + QLatin1Char('.') + lst[3] + QLatin1Char('.') + lst[4]; + quint16 port = (lst[5].toUInt() << 8) + lst[6].toUInt(); + waitForDtpToConnect = true; + dtp.connectToHost(host, port); + } + } + else if(replyCodeInt == 229) + { + // 229 Extended Passive mode OK (|||10982|) + int portPos = replyText.indexOf(QLatin1Char('(')); + if(portPos == -1) + { #if defined(QFTPPI_DEBUG) - qDebug("QFtp: bad 229 response -- port information missing"); + qDebug("QFtp: bad 229 response -- port information missing"); #endif - // this error should be reported - } else { - ++portPos; - QChar delimiter = replyText.at(portPos); - QStringList epsvParameters = replyText.mid(portPos).split(delimiter); - - waitForDtpToConnect = true; - dtp.connectToHost(commandSocket.peerAddress().toString(), - epsvParameters.at(3).toInt()); - } - - } else if (replyCodeInt == 230) { - if (currentCmd.startsWith(QLatin1String("USER ")) && pendingCommands.count()>0 && - pendingCommands.first().startsWith(QLatin1String("PASS "))) { - // no need to send the PASS -- we are already logged in - pendingCommands.pop_front(); - } - // 230 User logged in, proceed. - emit connectState(QFtp::LoggedIn); - } else if (replyCodeInt == 213) { - // 213 File status. - if (currentCmd.startsWith(QLatin1String("SIZE "))) - dtp.setBytesTotal(replyText.simplified().toLongLong()); - } else if (replyCode[0]==1 && currentCmd.startsWith(QLatin1String("STOR "))) { - dtp.waitForConnection(); - dtp.writeData(); - } - - // react on new state - switch (state) { - case Begin: - // should never happen - break; - case Success: - // success handling - state = Idle; - // no break! - case Idle: - if (dtp.hasError()) { - emit error(QFtp::UnknownError, dtp.errorMessage()); - dtp.clearError(); - } - startNextCmd(); - break; - case Waiting: - // do nothing - break; - case Failure: - // If the EPSV or EPRT commands fail, replace them with - // the old PASV and PORT instead and try again. - if (currentCmd.startsWith(QLatin1String("EPSV"))) { - transferConnectionExtended = false; - pendingCommands.prepend(QLatin1String("PASV\r\n")); - } else if (currentCmd.startsWith(QLatin1String("EPRT"))) { - transferConnectionExtended = false; - pendingCommands.prepend(QLatin1String("PORT\r\n")); - } else { - emit error(QFtp::UnknownError, replyText); - } - if (state != Waiting) { - state = Idle; - startNextCmd(); - } - break; - } + // this error should be reported + } + else + { + ++portPos; + QChar delimiter = replyText.at(portPos); + QStringList epsvParameters = replyText.mid(portPos).split(delimiter); + + waitForDtpToConnect = true; + dtp.connectToHost(commandSocket.peerAddress().toString(), + epsvParameters.at(3).toInt()); + } + } + else if(replyCodeInt == 230) + { + if(currentCmd.startsWith(QLatin1String("USER ")) && pendingCommands.count() > 0 && pendingCommands.first().startsWith(QLatin1String("PASS "))) + { + // no need to send the PASS -- we are already logged in + pendingCommands.pop_front(); + } + // 230 User logged in, proceed. + emit connectState(QFtp::LoggedIn); + } + else if(replyCodeInt == 213) + { + // 213 File status. + if(currentCmd.startsWith(QLatin1String("SIZE "))) + dtp.setBytesTotal(replyText.simplified().toLongLong()); + } + else if(replyCode[0] == 1 && currentCmd.startsWith(QLatin1String("STOR "))) + { + dtp.waitForConnection(); + dtp.writeData(); + } + + // react on new state + switch(state) + { + case Begin: + // should never happen + break; + case Success: + // success handling + state = Idle; + // no break! + case Idle: + if(dtp.hasError()) + { + emit error(QFtp::UnknownError, dtp.errorMessage()); + dtp.clearError(); + } + startNextCmd(); + break; + case Waiting: + // do nothing + break; + case Failure: + // If the EPSV or EPRT commands fail, replace them with + // the old PASV and PORT instead and try again. + if(currentCmd.startsWith(QLatin1String("EPSV"))) + { + transferConnectionExtended = false; + pendingCommands.prepend(QLatin1String("PASV\r\n")); + } + else if(currentCmd.startsWith(QLatin1String("EPRT"))) + { + transferConnectionExtended = false; + pendingCommands.prepend(QLatin1String("PORT\r\n")); + } + else + { + emit error(QFtp::UnknownError, replyText); + } + if(state != Waiting) + { + state = Idle; + startNextCmd(); + } + break; + } #if defined(QFTPPI_DEBUG) // qDebug("QFtpPI state: %d [processReply() end]", state); #endif - return true; + return true; } /* @@ -991,94 +1077,105 @@ bool QFtpPI::processReply() */ bool QFtpPI::startNextCmd() { - if (waitForDtpToConnect) - // don't process any new commands until we are connected - return true; + if(waitForDtpToConnect) + // don't process any new commands until we are connected + return true; #if defined(QFTPPI_DEBUG) - if (state != Idle) - qDebug("QFtpPI startNextCmd: internal error! QFtpPI called in non-idle state %d", state); + if(state != Idle) + qDebug("QFtpPI startNextCmd: internal error! QFtpPI called in non-idle state %d", state); #endif - if (pendingCommands.isEmpty()) { - currentCmd.clear(); - emit finished(replyText); - return false; - } - currentCmd = pendingCommands.first(); - - // PORT and PASV are edited in-place, depending on whether we - // should try the extended transfer connection commands EPRT and - // EPSV. The PORT command also triggers setting up a listener, and - // the address/port arguments are edited in. - QHostAddress address = commandSocket.localAddress(); - if (currentCmd.startsWith(QLatin1String("PORT"))) { - if ((address.protocol() == QTcpSocket::IPv6Protocol) && transferConnectionExtended) { - int port = dtp.setupListener(address); - currentCmd = QLatin1String("EPRT |"); - currentCmd += (address.protocol() == QTcpSocket::IPv4Protocol) ? QLatin1Char('1') : QLatin1Char('2'); - currentCmd += QLatin1Char('|') + address.toString() + QLatin1Char('|') + QString::number(port); - currentCmd += QLatin1Char('|'); - } else if (address.protocol() == QTcpSocket::IPv4Protocol) { - int port = dtp.setupListener(address); - QString portArg; - quint32 ip = address.toIPv4Address(); - portArg += QString::number((ip & 0xff000000) >> 24); - portArg += QLatin1Char(',') + QString::number((ip & 0xff0000) >> 16); - portArg += QLatin1Char(',') + QString::number((ip & 0xff00) >> 8); - portArg += QLatin1Char(',') + QString::number(ip & 0xff); - portArg += QLatin1Char(',') + QString::number((port & 0xff00) >> 8); - portArg += QLatin1Char(',') + QString::number(port & 0xff); - - currentCmd = QLatin1String("PORT "); - currentCmd += portArg; - } else { - // No IPv6 connection can be set up with the PORT - // command. - return false; - } - - currentCmd += QLatin1String("\r\n"); - } else if (currentCmd.startsWith(QLatin1String("PASV"))) { - if ((address.protocol() == QTcpSocket::IPv6Protocol) && transferConnectionExtended) - currentCmd = QLatin1String("EPSV\r\n"); - } - - pendingCommands.pop_front(); + if(pendingCommands.isEmpty()) + { + currentCmd.clear(); + emit finished(replyText); + return false; + } + currentCmd = pendingCommands.first(); + + // PORT and PASV are edited in-place, depending on whether we + // should try the extended transfer connection commands EPRT and + // EPSV. The PORT command also triggers setting up a listener, and + // the address/port arguments are edited in. + QHostAddress address = commandSocket.localAddress(); + if(currentCmd.startsWith(QLatin1String("PORT"))) + { + if((address.protocol() == QTcpSocket::IPv6Protocol) && transferConnectionExtended) + { + int port = dtp.setupListener(address); + currentCmd = QLatin1String("EPRT |"); + currentCmd += (address.protocol() == QTcpSocket::IPv4Protocol) ? QLatin1Char('1') : QLatin1Char('2'); + currentCmd += QLatin1Char('|') + address.toString() + QLatin1Char('|') + QString::number(port); + currentCmd += QLatin1Char('|'); + } + else if(address.protocol() == QTcpSocket::IPv4Protocol) + { + int port = dtp.setupListener(address); + QString portArg; + quint32 ip = address.toIPv4Address(); + portArg += QString::number((ip & 0xff000000) >> 24); + portArg += QLatin1Char(',') + QString::number((ip & 0xff0000) >> 16); + portArg += QLatin1Char(',') + QString::number((ip & 0xff00) >> 8); + portArg += QLatin1Char(',') + QString::number(ip & 0xff); + portArg += QLatin1Char(',') + QString::number((port & 0xff00) >> 8); + portArg += QLatin1Char(',') + QString::number(port & 0xff); + + currentCmd = QLatin1String("PORT "); + currentCmd += portArg; + } + else + { + // No IPv6 connection can be set up with the PORT + // command. + return false; + } + + currentCmd += QLatin1String("\r\n"); + } + else if(currentCmd.startsWith(QLatin1String("PASV"))) + { + if((address.protocol() == QTcpSocket::IPv6Protocol) && transferConnectionExtended) + currentCmd = QLatin1String("EPSV\r\n"); + } + + pendingCommands.pop_front(); #if defined(QFTPPI_DEBUG) - qDebug("QFtpPI send: %s", currentCmd.left(currentCmd.length()-2).toLatin1().constData()); + qDebug("QFtpPI send: %s", currentCmd.left(currentCmd.length() - 2).toLatin1().constData()); #endif - state = Waiting; - commandSocket.write(currentCmd.toLatin1()); - return true; + state = Waiting; + commandSocket.write(currentCmd.toLatin1()); + return true; } void QFtpPI::dtpConnectState(int s) { - switch (s) { - case QFtpDTP::CsClosed: - if (waitForDtpToClose) { - // there is an unprocessed reply - if (processReply()) - replyText = QLatin1String(""); - else - return; - } - waitForDtpToClose = false; - readyRead(); - return; - case QFtpDTP::CsConnected: - waitForDtpToConnect = false; - startNextCmd(); - return; - case QFtpDTP::CsHostNotFound: - case QFtpDTP::CsConnectionRefused: - emit error(QFtp::ConnectionRefused, - QFtp::tr("Connection refused for data connection")); - startNextCmd(); - return; - default: - return; - } + switch(s) + { + case QFtpDTP::CsClosed: + if(waitForDtpToClose) + { + // there is an unprocessed reply + if(processReply()) + replyText = QLatin1String(""); + else + return; + } + waitForDtpToClose = false; + readyRead(); + return; + case QFtpDTP::CsConnected: + waitForDtpToConnect = false; + startNextCmd(); + return; + case QFtpDTP::CsHostNotFound: + case QFtpDTP::CsConnectionRefused: + emit error(QFtp::ConnectionRefused, + QFtp::tr("Connection refused for data connection")); + startNextCmd(); + return; + default: + return; + } } /********************************************************************** @@ -1089,48 +1186,53 @@ void QFtpPI::dtpConnectState(int s) class QFtpPrivate { - Q_DECLARE_PUBLIC(QFtp) + Q_DECLARE_PUBLIC(QFtp) public: - - inline QFtpPrivate(QFtp *owner) : close_waitForStateChange(false), state(QFtp::Unconnected), - transferMode(QFtp::Passive), error(QFtp::NoError), q_ptr(owner) - { } - - ~QFtpPrivate() { while (!pending.isEmpty()) delete pending.takeFirst(); } - - // private slots - void _q_startNextCommand(); - void _q_piFinished(const QString&); - void _q_piError(int, const QString&); - void _q_piConnectState(int); - void _q_piFtpReply(int, const QString&); - - int addCommand(QFtpCommand *cmd); - - QFtpPI pi; - QList pending; - bool close_waitForStateChange; - QFtp::State state; - QFtp::TransferMode transferMode; - QFtp::Error error; - QString errorString; - - QString host; - quint16 port; - QString proxyHost; - quint16 proxyPort; - QFtp *q_ptr; + inline QFtpPrivate(QFtp * owner) : close_waitForStateChange(false), state(QFtp::Unconnected), + transferMode(QFtp::Passive), error(QFtp::NoError), q_ptr(owner) + { + } + + ~QFtpPrivate() + { + while(!pending.isEmpty()) + delete pending.takeFirst(); + } + + // private slots + void _q_startNextCommand(); + void _q_piFinished(const QString &); + void _q_piError(int, const QString &); + void _q_piConnectState(int); + void _q_piFtpReply(int, const QString &); + + int addCommand(QFtpCommand * cmd); + + QFtpPI pi; + QList pending; + bool close_waitForStateChange; + QFtp::State state; + QFtp::TransferMode transferMode; + QFtp::Error error; + QString errorString; + + QString host; + quint16 port; + QString proxyHost; + quint16 proxyPort; + QFtp * q_ptr; }; -int QFtpPrivate::addCommand(QFtpCommand *cmd) +int QFtpPrivate::addCommand(QFtpCommand * cmd) { - pending.append(cmd); + pending.append(cmd); - if (pending.count() == 1) { - // don't emit the commandStarted() signal before the ID is returned - QTimer::singleShot(0, q_func(), SLOT(_q_startNextCommand())); - } - return cmd->id; + if(pending.count() == 1) + { + // don't emit the commandStarted() signal before the ID is returned + QTimer::singleShot(0, q_func(), SLOT(_q_startNextCommand())); + } + return cmd->id; } /********************************************************************** @@ -1240,54 +1342,52 @@ int QFtpPrivate::addCommand(QFtpCommand *cmd) {FTP Example} */ - /*! Constructs a QFtp object with the given \a parent. */ -QFtp::QFtp(QObject *parent) +QFtp::QFtp(QObject * parent) : QObject(parent), d(new QFtpPrivate(this)) { - d->errorString = tr("Unknown error"); + d->errorString = tr("Unknown error"); - connect(&d->pi, SIGNAL(connectState(int)), - SLOT(_q_piConnectState(int))); - connect(&d->pi, SIGNAL(finished(QString)), - SLOT(_q_piFinished(QString))); - connect(&d->pi, SIGNAL(error(int,QString)), - SLOT(_q_piError(int,QString))); - connect(&d->pi, SIGNAL(rawFtpReply(int,QString)), - SLOT(_q_piFtpReply(int,QString))); + connect(&d->pi, SIGNAL(connectState(int)), + SLOT(_q_piConnectState(int))); + connect(&d->pi, SIGNAL(finished(QString)), + SLOT(_q_piFinished(QString))); + connect(&d->pi, SIGNAL(error(int, QString)), + SLOT(_q_piError(int, QString))); + connect(&d->pi, SIGNAL(rawFtpReply(int, QString)), + SLOT(_q_piFtpReply(int, QString))); - connect(&d->pi.dtp, SIGNAL(readyRead()), - SIGNAL(readyRead())); - connect(&d->pi.dtp, SIGNAL(dataTransferProgress(qint64,qint64)), - SIGNAL(dataTransferProgress(qint64,qint64))); - connect(&d->pi.dtp, SIGNAL(listInfo(QUrlInfo)), - SIGNAL(listInfo(QUrlInfo))); + connect(&d->pi.dtp, SIGNAL(readyRead()), + SIGNAL(readyRead())); + connect(&d->pi.dtp, SIGNAL(dataTransferProgress(qint64, qint64)), + SIGNAL(dataTransferProgress(qint64, qint64))); + connect(&d->pi.dtp, SIGNAL(listInfo(QUrlInfo)), + SIGNAL(listInfo(QUrlInfo))); } void QFtp::_q_startNextCommand() { d->_q_startNextCommand(); } -void QFtp::_q_piFinished(const QString&a) +void QFtp::_q_piFinished(const QString & a) { d->_q_piFinished(a); } -void QFtp::_q_piError(int a, const QString&b) +void QFtp::_q_piError(int a, const QString & b) { - d->_q_piError(a,b); + d->_q_piError(a, b); } void QFtp::_q_piConnectState(int a) { d->_q_piConnectState(a); } -void QFtp::_q_piFtpReply(int a, const QString&b) +void QFtp::_q_piFtpReply(int a, const QString & b) { - d->_q_piFtpReply(a,b); + d->_q_piFtpReply(a, b); } - /*! \enum QFtp::State @@ -1498,14 +1598,14 @@ void QFtp::_q_piFtpReply(int a, const QString&b) \sa stateChanged() commandStarted() commandFinished() */ -int QFtp::connectToHost(const QString &host, quint16 port) +int QFtp::connectToHost(const QString & host, quint16 port) { - QStringList cmds; - cmds << host; - cmds << QString::number((uint)port); - int id = d->addCommand(new QFtpCommand(ConnectToHost, cmds)); - d->pi.transferConnectionExtended = true; - return id; + QStringList cmds; + cmds << host; + cmds << QString::number((uint)port); + int id = d->addCommand(new QFtpCommand(ConnectToHost, cmds)); + d->pi.transferConnectionExtended = true; + return id; } /*! @@ -1526,12 +1626,12 @@ int QFtp::connectToHost(const QString &host, quint16 port) \sa commandStarted() commandFinished() */ -int QFtp::login(const QString &user, const QString &password) +int QFtp::login(const QString & user, const QString & password) { - QStringList cmds; - cmds << (QLatin1String("USER ") + (user.isNull() ? QLatin1String("anonymous") : user) + QLatin1String("\r\n")); - cmds << (QLatin1String("PASS ") + (password.isNull() ? QLatin1String("anonymous@") : password) + QLatin1String("\r\n")); - return d->addCommand(new QFtpCommand(Login, cmds)); + QStringList cmds; + cmds << (QLatin1String("USER ") + (user.isNull() ? QLatin1String("anonymous") : user) + QLatin1String("\r\n")); + cmds << (QLatin1String("PASS ") + (password.isNull() ? QLatin1String("anonymous@") : password) + QLatin1String("\r\n")); + return d->addCommand(new QFtpCommand(Login, cmds)); } /*! @@ -1554,7 +1654,7 @@ int QFtp::login(const QString &user, const QString &password) */ int QFtp::close() { - return d->addCommand(new QFtpCommand(Close, QStringList(QLatin1String("QUIT\r\n")))); + return d->addCommand(new QFtpCommand(Close, QStringList(QLatin1String("QUIT\r\n")))); } /*! @@ -1564,10 +1664,10 @@ int QFtp::close() */ int QFtp::setTransferMode(TransferMode mode) { - int id = d->addCommand(new QFtpCommand(SetTransferMode, QStringList())); - d->pi.transferConnectionExtended = true; - d->transferMode = mode; - return id; + int id = d->addCommand(new QFtpCommand(SetTransferMode, QStringList())); + d->pi.transferConnectionExtended = true; + d->transferMode = mode; + return id; } /*! @@ -1577,11 +1677,11 @@ int QFtp::setTransferMode(TransferMode mode) QFtp does not support FTP-over-HTTP proxy servers. Use QNetworkAccessManager for this. */ -int QFtp::setProxy(const QString &host, quint16 port) +int QFtp::setProxy(const QString & host, quint16 port) { - QStringList args; - args << host << QString::number(port); - return d->addCommand(new QFtpCommand(SetProxy, args)); + QStringList args; + args << host << QString::number(port); + return d->addCommand(new QFtpCommand(SetProxy, args)); } /*! @@ -1601,16 +1701,16 @@ int QFtp::setProxy(const QString &host, quint16 port) \sa listInfo() commandStarted() commandFinished() */ -int QFtp::list(const QString &dir) +int QFtp::list(const QString & dir) { - QStringList cmds; - cmds << QLatin1String("TYPE A\r\n"); - cmds << QLatin1String(d->transferMode == Passive ? "PASV\r\n" : "PORT\r\n"); - if (dir.isEmpty()) - cmds << QLatin1String("LIST\r\n"); - else - cmds << (QLatin1String("LIST ") + dir + QLatin1String("\r\n")); - return d->addCommand(new QFtpCommand(List, cmds)); + QStringList cmds; + cmds << QLatin1String("TYPE A\r\n"); + cmds << QLatin1String(d->transferMode == Passive ? "PASV\r\n" : "PORT\r\n"); + if(dir.isEmpty()) + cmds << QLatin1String("LIST\r\n"); + else + cmds << (QLatin1String("LIST ") + dir + QLatin1String("\r\n")); + return d->addCommand(new QFtpCommand(List, cmds)); } /*! @@ -1627,9 +1727,9 @@ int QFtp::list(const QString &dir) \sa commandStarted() commandFinished() */ -int QFtp::cd(const QString &dir) +int QFtp::cd(const QString & dir) { - return d->addCommand(new QFtpCommand(Cd, QStringList(QLatin1String("CWD ") + dir + QLatin1String("\r\n")))); + return d->addCommand(new QFtpCommand(Cd, QStringList(QLatin1String("CWD ") + dir + QLatin1String("\r\n")))); } /*! @@ -1672,17 +1772,17 @@ int QFtp::cd(const QString &dir) \sa readyRead() dataTransferProgress() commandStarted() commandFinished() */ -int QFtp::get(const QString &file, QIODevice *dev, TransferType type) +int QFtp::get(const QString & file, QIODevice * dev, TransferType type) { - QStringList cmds; - if (type == Binary) - cmds << QLatin1String("TYPE I\r\n"); - else - cmds << QLatin1String("TYPE A\r\n"); - cmds << QLatin1String("SIZE ") + file + QLatin1String("\r\n"); - cmds << QLatin1String(d->transferMode == Passive ? "PASV\r\n" : "PORT\r\n"); - cmds << QLatin1String("RETR ") + file + QLatin1String("\r\n"); - return d->addCommand(new QFtpCommand(Get, cmds, dev)); + QStringList cmds; + if(type == Binary) + cmds << QLatin1String("TYPE I\r\n"); + else + cmds << QLatin1String("TYPE A\r\n"); + cmds << QLatin1String("SIZE ") + file + QLatin1String("\r\n"); + cmds << QLatin1String(d->transferMode == Passive ? "PASV\r\n" : "PORT\r\n"); + cmds << QLatin1String("RETR ") + file + QLatin1String("\r\n"); + return d->addCommand(new QFtpCommand(Get, cmds, dev)); } /*! @@ -1709,17 +1809,17 @@ int QFtp::get(const QString &file, QIODevice *dev, TransferType type) \sa dataTransferProgress() commandStarted() commandFinished() */ -int QFtp::put(const QByteArray &data, const QString &file, TransferType type) +int QFtp::put(const QByteArray & data, const QString & file, TransferType type) { - QStringList cmds; - if (type == Binary) - cmds << QLatin1String("TYPE I\r\n"); - else - cmds << QLatin1String("TYPE A\r\n"); - cmds << QLatin1String(d->transferMode == Passive ? "PASV\r\n" : "PORT\r\n"); - cmds << QLatin1String("ALLO ") + QString::number(data.size()) + QLatin1String("\r\n"); - cmds << QLatin1String("STOR ") + file + QLatin1String("\r\n"); - return d->addCommand(new QFtpCommand(Put, cmds, data)); + QStringList cmds; + if(type == Binary) + cmds << QLatin1String("TYPE I\r\n"); + else + cmds << QLatin1String("TYPE A\r\n"); + cmds << QLatin1String(d->transferMode == Passive ? "PASV\r\n" : "PORT\r\n"); + cmds << QLatin1String("ALLO ") + QString::number(data.size()) + QLatin1String("\r\n"); + cmds << QLatin1String("STOR ") + file + QLatin1String("\r\n"); + return d->addCommand(new QFtpCommand(Put, cmds, data)); } /*! @@ -1736,18 +1836,18 @@ int QFtp::put(const QByteArray &data, const QString &file, TransferType type) operation (it is safe to delete it when the commandFinished() is emitted). */ -int QFtp::put(QIODevice *dev, const QString &file, TransferType type) +int QFtp::put(QIODevice * dev, const QString & file, TransferType type) { - QStringList cmds; - if (type == Binary) - cmds << QLatin1String("TYPE I\r\n"); - else - cmds << QLatin1String("TYPE A\r\n"); - cmds << QLatin1String(d->transferMode == Passive ? "PASV\r\n" : "PORT\r\n"); - if (!dev->isSequential()) - cmds << QLatin1String("ALLO ") + QString::number(dev->size()) + QLatin1String("\r\n"); - cmds << QLatin1String("STOR ") + file + QLatin1String("\r\n"); - return d->addCommand(new QFtpCommand(Put, cmds, dev)); + QStringList cmds; + if(type == Binary) + cmds << QLatin1String("TYPE I\r\n"); + else + cmds << QLatin1String("TYPE A\r\n"); + cmds << QLatin1String(d->transferMode == Passive ? "PASV\r\n" : "PORT\r\n"); + if(!dev->isSequential()) + cmds << QLatin1String("ALLO ") + QString::number(dev->size()) + QLatin1String("\r\n"); + cmds << QLatin1String("STOR ") + file + QLatin1String("\r\n"); + return d->addCommand(new QFtpCommand(Put, cmds, dev)); } /*! @@ -1764,9 +1864,9 @@ int QFtp::put(QIODevice *dev, const QString &file, TransferType type) \sa commandStarted() commandFinished() */ -int QFtp::remove(const QString &file) +int QFtp::remove(const QString & file) { - return d->addCommand(new QFtpCommand(Remove, QStringList(QLatin1String("DELE ") + file + QLatin1String("\r\n")))); + return d->addCommand(new QFtpCommand(Remove, QStringList(QLatin1String("DELE ") + file + QLatin1String("\r\n")))); } /*! @@ -1783,9 +1883,9 @@ int QFtp::remove(const QString &file) \sa commandStarted() commandFinished() */ -int QFtp::mkdir(const QString &dir) +int QFtp::mkdir(const QString & dir) { - return d->addCommand(new QFtpCommand(Mkdir, QStringList(QLatin1String("MKD ") + dir + QLatin1String("\r\n")))); + return d->addCommand(new QFtpCommand(Mkdir, QStringList(QLatin1String("MKD ") + dir + QLatin1String("\r\n")))); } /*! @@ -1802,9 +1902,9 @@ int QFtp::mkdir(const QString &dir) \sa commandStarted() commandFinished() */ -int QFtp::rmdir(const QString &dir) +int QFtp::rmdir(const QString & dir) { - return d->addCommand(new QFtpCommand(Rmdir, QStringList(QLatin1String("RMD ") + dir + QLatin1String("\r\n")))); + return d->addCommand(new QFtpCommand(Rmdir, QStringList(QLatin1String("RMD ") + dir + QLatin1String("\r\n")))); } /*! @@ -1821,12 +1921,12 @@ int QFtp::rmdir(const QString &dir) \sa commandStarted() commandFinished() */ -int QFtp::rename(const QString &oldname, const QString &newname) +int QFtp::rename(const QString & oldname, const QString & newname) { - QStringList cmds; - cmds << QLatin1String("RNFR ") + oldname + QLatin1String("\r\n"); - cmds << QLatin1String("RNTO ") + newname + QLatin1String("\r\n"); - return d->addCommand(new QFtpCommand(Rename, cmds)); + QStringList cmds; + cmds << QLatin1String("RNFR ") + oldname + QLatin1String("\r\n"); + cmds << QLatin1String("RNTO ") + newname + QLatin1String("\r\n"); + return d->addCommand(new QFtpCommand(Rename, cmds)); } /*! @@ -1847,10 +1947,10 @@ int QFtp::rename(const QString &oldname, const QString &newname) \sa rawCommandReply() commandStarted() commandFinished() */ -int QFtp::rawCommand(const QString &command) +int QFtp::rawCommand(const QString & command) { - QString cmd = command.trimmed() + QLatin1String("\r\n"); - return d->addCommand(new QFtpCommand(RawCommand, QStringList(cmd))); + QString cmd = command.trimmed() + QLatin1String("\r\n"); + return d->addCommand(new QFtpCommand(RawCommand, QStringList(cmd))); } /*! @@ -1861,7 +1961,7 @@ int QFtp::rawCommand(const QString &command) */ qint64 QFtp::bytesAvailable() const { - return d->pi.dtp.bytesAvailable(); + return d->pi.dtp.bytesAvailable(); } /*! \fn qint64 QFtp::readBlock(char *data, quint64 maxlen) @@ -1875,9 +1975,9 @@ qint64 QFtp::bytesAvailable() const \sa get() readyRead() bytesAvailable() readAll() */ -qint64 QFtp::read(char *data, qint64 maxlen) +qint64 QFtp::read(char * data, qint64 maxlen) { - return d->pi.dtp.read(data, maxlen); + return d->pi.dtp.read(data, maxlen); } /*! @@ -1888,7 +1988,7 @@ qint64 QFtp::read(char *data, qint64 maxlen) */ QByteArray QFtp::readAll() { - return d->pi.dtp.readAll(); + return d->pi.dtp.readAll(); } /*! @@ -1922,11 +2022,11 @@ QByteArray QFtp::readAll() */ void QFtp::abort() { - if (d->pending.isEmpty()) - return; + if(d->pending.isEmpty()) + return; - clearPendingCommands(); - d->pi.abort(); + clearPendingCommands(); + d->pi.abort(); } /*! @@ -1937,9 +2037,9 @@ void QFtp::abort() */ int QFtp::currentId() const { - if (d->pending.isEmpty()) - return 0; - return d->pending.first()->id; + if(d->pending.isEmpty()) + return 0; + return d->pending.first()->id; } /*! @@ -1950,9 +2050,9 @@ int QFtp::currentId() const */ QFtp::Command QFtp::currentCommand() const { - if (d->pending.isEmpty()) - return None; - return d->pending.first()->command; + if(d->pending.isEmpty()) + return None; + return d->pending.first()->command; } /*! @@ -1965,14 +2065,14 @@ QFtp::Command QFtp::currentCommand() const \sa get() put() */ -QIODevice* QFtp::currentDevice() const +QIODevice * QFtp::currentDevice() const { - if (d->pending.isEmpty()) - return 0; - QFtpCommand *c = d->pending.first(); - if (c->is_ba) - return 0; - return c->data.dev; + if(d->pending.isEmpty()) + return 0; + QFtpCommand * c = d->pending.first(); + if(c->is_ba) + return 0; + return c->data.dev; } /*! @@ -1986,7 +2086,7 @@ QIODevice* QFtp::currentDevice() const */ bool QFtp::hasPendingCommands() const { - return d->pending.count() > 1; + return d->pending.count() > 1; } /*! @@ -1998,9 +2098,9 @@ bool QFtp::hasPendingCommands() const */ void QFtp::clearPendingCommands() { - // delete all entires except the first one - while (d->pending.count() > 1) - delete d->pending.takeLast(); + // delete all entires except the first one + while(d->pending.count() > 1) + delete d->pending.takeLast(); } /*! @@ -2011,7 +2111,7 @@ void QFtp::clearPendingCommands() */ QFtp::State QFtp::state() const { - return d->state; + return d->state; } /*! @@ -2023,7 +2123,7 @@ QFtp::State QFtp::state() const */ QFtp::Error QFtp::error() const { - return d->error; + return d->error; } /*! @@ -2039,208 +2139,243 @@ QFtp::Error QFtp::error() const */ QString QFtp::errorString() const { - return d->errorString; + return d->errorString; } /*! \internal */ void QFtpPrivate::_q_startNextCommand() { - Q_Q(QFtp); - if (pending.isEmpty()) - return; - QFtpCommand *c = pending.first(); - - error = QFtp::NoError; - errorString = QT_TRANSLATE_NOOP(QFtp, QLatin1String("Unknown error")); - - if (q->bytesAvailable()) - q->readAll(); // clear the data - emit q->commandStarted(c->id); - - // Proxy support, replace the Login argument in place, then fall - // through. - if (c->command == QFtp::Login && !proxyHost.isEmpty()) { - QString loginString = c->rawCmds.first().trimmed(); - loginString += QLatin1Char('@') + host; - if (port && port != 21) - loginString += QLatin1Char(':') + QString::number(port); - loginString += QLatin1String("\r\n"); - c->rawCmds[0] = loginString; - } - - if (c->command == QFtp::SetTransferMode) { - _q_piFinished(QLatin1String("Transfer mode set")); - } else if (c->command == QFtp::SetProxy) { - proxyHost = c->rawCmds[0]; - proxyPort = c->rawCmds[1].toUInt(); - c->rawCmds.clear(); - _q_piFinished(QLatin1String("Proxy set to ") + proxyHost + QLatin1Char(':') + QString::number(proxyPort)); - } else if (c->command == QFtp::ConnectToHost) { + Q_Q(QFtp); + if(pending.isEmpty()) + return; + QFtpCommand * c = pending.first(); + + error = QFtp::NoError; + errorString = QT_TRANSLATE_NOOP(QFtp, QLatin1String("Unknown error")); + + if(q->bytesAvailable()) + q->readAll(); // clear the data + emit q->commandStarted(c->id); + + // Proxy support, replace the Login argument in place, then fall + // through. + if(c->command == QFtp::Login && !proxyHost.isEmpty()) + { + QString loginString = c->rawCmds.first().trimmed(); + loginString += QLatin1Char('@') + host; + if(port && port != 21) + loginString += QLatin1Char(':') + QString::number(port); + loginString += QLatin1String("\r\n"); + c->rawCmds[0] = loginString; + } + + if(c->command == QFtp::SetTransferMode) + { + _q_piFinished(QLatin1String("Transfer mode set")); + } + else if(c->command == QFtp::SetProxy) + { + proxyHost = c->rawCmds[0]; + proxyPort = c->rawCmds[1].toUInt(); + c->rawCmds.clear(); + _q_piFinished(QLatin1String("Proxy set to ") + proxyHost + QLatin1Char(':') + QString::number(proxyPort)); + } + else if(c->command == QFtp::ConnectToHost) + { #ifndef QT_NO_BEARERMANAGEMENT - //copy network session down to the PI - pi.setProperty("_q_networksession", q->property("_q_networksession")); + //copy network session down to the PI + pi.setProperty("_q_networksession", q->property("_q_networksession")); #endif - if (!proxyHost.isEmpty()) { - host = c->rawCmds[0]; - port = c->rawCmds[1].toUInt(); - pi.connectToHost(proxyHost, proxyPort); - } else { - pi.connectToHost(c->rawCmds[0], c->rawCmds[1].toUInt()); - } - } else { - if (c->command == QFtp::Put) { - if (c->is_ba) { - pi.dtp.setData(c->data.ba); - pi.dtp.setBytesTotal(c->data.ba->size()); - } else if (c->data.dev && (c->data.dev->isOpen() || c->data.dev->open(QIODevice::ReadOnly))) { - pi.dtp.setDevice(c->data.dev); - if (c->data.dev->isSequential()) { - pi.dtp.setBytesTotal(0); - pi.dtp.connect(c->data.dev, SIGNAL(readyRead()), SLOT(dataReadyRead())); - pi.dtp.connect(c->data.dev, SIGNAL(readChannelFinished()), SLOT(dataReadyRead())); - } else { - pi.dtp.setBytesTotal(c->data.dev->size()); - } - } - } else if (c->command == QFtp::Get) { - if (!c->is_ba && c->data.dev) { - pi.dtp.setDevice(c->data.dev); - } - } else if (c->command == QFtp::Close) { - state = QFtp::Closing; - emit q->stateChanged(state); - } - pi.sendCommands(c->rawCmds); - } + if(!proxyHost.isEmpty()) + { + host = c->rawCmds[0]; + port = c->rawCmds[1].toUInt(); + pi.connectToHost(proxyHost, proxyPort); + } + else + { + pi.connectToHost(c->rawCmds[0], c->rawCmds[1].toUInt()); + } + } + else + { + if(c->command == QFtp::Put) + { + if(c->is_ba) + { + pi.dtp.setData(c->data.ba); + pi.dtp.setBytesTotal(c->data.ba->size()); + } + else if(c->data.dev && (c->data.dev->isOpen() || c->data.dev->open(QIODevice::ReadOnly))) + { + pi.dtp.setDevice(c->data.dev); + if(c->data.dev->isSequential()) + { + pi.dtp.setBytesTotal(0); + pi.dtp.connect(c->data.dev, SIGNAL(readyRead()), SLOT(dataReadyRead())); + pi.dtp.connect(c->data.dev, SIGNAL(readChannelFinished()), SLOT(dataReadyRead())); + } + else + { + pi.dtp.setBytesTotal(c->data.dev->size()); + } + } + } + else if(c->command == QFtp::Get) + { + if(!c->is_ba && c->data.dev) + { + pi.dtp.setDevice(c->data.dev); + } + } + else if(c->command == QFtp::Close) + { + state = QFtp::Closing; + emit q->stateChanged(state); + } + pi.sendCommands(c->rawCmds); + } } /*! \internal */ -void QFtpPrivate::_q_piFinished(const QString&) -{ - if (pending.isEmpty()) - return; - QFtpCommand *c = pending.first(); - - if (c->command == QFtp::Close) { - // The order of in which the slots are called is arbitrary, so - // disconnect the SIGNAL-SIGNAL temporary to make sure that we - // don't get the commandFinished() signal before the stateChanged() - // signal. - if (state != QFtp::Unconnected) { - close_waitForStateChange = true; - return; - } - } - emit q_func()->commandFinished(c->id, false); - pending.removeFirst(); - - delete c; - - if (pending.isEmpty()) { - emit q_func()->done(false); - } else { - _q_startNextCommand(); - } +void QFtpPrivate::_q_piFinished(const QString &) +{ + if(pending.isEmpty()) + return; + QFtpCommand * c = pending.first(); + + if(c->command == QFtp::Close) + { + // The order of in which the slots are called is arbitrary, so + // disconnect the SIGNAL-SIGNAL temporary to make sure that we + // don't get the commandFinished() signal before the stateChanged() + // signal. + if(state != QFtp::Unconnected) + { + close_waitForStateChange = true; + return; + } + } + emit q_func()->commandFinished(c->id, false); + pending.removeFirst(); + + delete c; + + if(pending.isEmpty()) + { + emit q_func()->done(false); + } + else + { + _q_startNextCommand(); + } } /*! \internal */ -void QFtpPrivate::_q_piError(int errorCode, const QString &text) -{ - Q_Q(QFtp); - - if (pending.isEmpty()) { - qWarning("QFtpPrivate::_q_piError was called without pending command!"); - return; - } - - QFtpCommand *c = pending.first(); - - // non-fatal errors - if (c->command == QFtp::Get && pi.currentCommand().startsWith(QLatin1String("SIZE "))) { - pi.dtp.setBytesTotal(0); - return; - } else if (c->command==QFtp::Put && pi.currentCommand().startsWith(QLatin1String("ALLO "))) { - return; - } - - error = QFtp::Error(errorCode); - switch (q->currentCommand()) { - case QFtp::ConnectToHost: - errorString = QString::fromLatin1(QT_TRANSLATE_NOOP("QFtp", "Connecting to host failed:\n%1")) - .arg(text); - break; - case QFtp::Login: - errorString = QString::fromLatin1(QT_TRANSLATE_NOOP("QFtp", "Login failed:\n%1")) - .arg(text); - break; - case QFtp::List: - errorString = QString::fromLatin1(QT_TRANSLATE_NOOP("QFtp", "Listing directory failed:\n%1")) - .arg(text); - break; - case QFtp::Cd: - errorString = QString::fromLatin1(QT_TRANSLATE_NOOP("QFtp", "Changing directory failed:\n%1")) - .arg(text); - break; - case QFtp::Get: - errorString = QString::fromLatin1(QT_TRANSLATE_NOOP("QFtp", "Downloading file failed:\n%1")) - .arg(text); - break; - case QFtp::Put: - errorString = QString::fromLatin1(QT_TRANSLATE_NOOP("QFtp", "Uploading file failed:\n%1")) - .arg(text); - break; - case QFtp::Remove: - errorString = QString::fromLatin1(QT_TRANSLATE_NOOP("QFtp", "Removing file failed:\n%1")) - .arg(text); - break; - case QFtp::Mkdir: - errorString = QString::fromLatin1(QT_TRANSLATE_NOOP("QFtp", "Creating directory failed:\n%1")) - .arg(text); - break; - case QFtp::Rmdir: - errorString = QString::fromLatin1(QT_TRANSLATE_NOOP("QFtp", "Removing directory failed:\n%1")) - .arg(text); - break; - default: - errorString = text; - break; - } - - pi.clearPendingCommands(); - q->clearPendingCommands(); - emit q->commandFinished(c->id, true); - - pending.removeFirst(); - delete c; - if (pending.isEmpty()) - emit q->done(true); - else - _q_startNextCommand(); +void QFtpPrivate::_q_piError(int errorCode, const QString & text) +{ + Q_Q(QFtp); + + if(pending.isEmpty()) + { + qWarning("QFtpPrivate::_q_piError was called without pending command!"); + return; + } + + QFtpCommand * c = pending.first(); + + // non-fatal errors + if(c->command == QFtp::Get && pi.currentCommand().startsWith(QLatin1String("SIZE "))) + { + pi.dtp.setBytesTotal(0); + return; + } + else if(c->command == QFtp::Put && pi.currentCommand().startsWith(QLatin1String("ALLO "))) + { + return; + } + + error = QFtp::Error(errorCode); + switch(q->currentCommand()) + { + case QFtp::ConnectToHost: + errorString = QString::fromLatin1(QT_TRANSLATE_NOOP("QFtp", "Connecting to host failed:\n%1")) + .arg(text); + break; + case QFtp::Login: + errorString = QString::fromLatin1(QT_TRANSLATE_NOOP("QFtp", "Login failed:\n%1")) + .arg(text); + break; + case QFtp::List: + errorString = QString::fromLatin1(QT_TRANSLATE_NOOP("QFtp", "Listing directory failed:\n%1")) + .arg(text); + break; + case QFtp::Cd: + errorString = QString::fromLatin1(QT_TRANSLATE_NOOP("QFtp", "Changing directory failed:\n%1")) + .arg(text); + break; + case QFtp::Get: + errorString = QString::fromLatin1(QT_TRANSLATE_NOOP("QFtp", "Downloading file failed:\n%1")) + .arg(text); + break; + case QFtp::Put: + errorString = QString::fromLatin1(QT_TRANSLATE_NOOP("QFtp", "Uploading file failed:\n%1")) + .arg(text); + break; + case QFtp::Remove: + errorString = QString::fromLatin1(QT_TRANSLATE_NOOP("QFtp", "Removing file failed:\n%1")) + .arg(text); + break; + case QFtp::Mkdir: + errorString = QString::fromLatin1(QT_TRANSLATE_NOOP("QFtp", "Creating directory failed:\n%1")) + .arg(text); + break; + case QFtp::Rmdir: + errorString = QString::fromLatin1(QT_TRANSLATE_NOOP("QFtp", "Removing directory failed:\n%1")) + .arg(text); + break; + default: + errorString = text; + break; + } + + pi.clearPendingCommands(); + q->clearPendingCommands(); + emit q->commandFinished(c->id, true); + + pending.removeFirst(); + delete c; + if(pending.isEmpty()) + emit q->done(true); + else + _q_startNextCommand(); } /*! \internal */ void QFtpPrivate::_q_piConnectState(int connectState) { - state = QFtp::State(connectState); - emit q_func()->stateChanged(state); - if (close_waitForStateChange) { - close_waitForStateChange = false; - _q_piFinished(QLatin1String(QT_TRANSLATE_NOOP("QFtp", "Connection closed"))); - } + state = QFtp::State(connectState); + emit q_func()->stateChanged(state); + if(close_waitForStateChange) + { + close_waitForStateChange = false; + _q_piFinished(QLatin1String(QT_TRANSLATE_NOOP("QFtp", "Connection closed"))); + } } /*! \internal */ -void QFtpPrivate::_q_piFtpReply(int code, const QString &text) +void QFtpPrivate::_q_piFtpReply(int code, const QString & text) { - if (q_func()->currentCommand() == QFtp::RawCommand) { - pi.rawCommand = true; - emit q_func()->rawCommandReply(code, text); - } + if(q_func()->currentCommand() == QFtp::RawCommand) + { + pi.rawCommand = true; + emit q_func()->rawCommandReply(code, text); + } } /*! @@ -2248,8 +2383,8 @@ void QFtpPrivate::_q_piFtpReply(int code, const QString &text) */ QFtp::~QFtp() { - abort(); - close(); + abort(); + close(); } QT_END_NAMESPACE diff --git a/src/modules/objects/qtftp/qftp.h b/src/modules/objects/qtftp/qftp.h index 7035b4d5a..68c14e46d 100644 --- a/src/modules/objects/qtftp/qftp.h +++ b/src/modules/objects/qtftp/qftp.h @@ -56,113 +56,114 @@ class QFtpPrivate; class QFtp : public QObject { - Q_OBJECT + Q_OBJECT public: - explicit QFtp(QObject *parent = 0); - virtual ~QFtp(); - - enum State { - Unconnected, - HostLookup, - Connecting, - Connected, - LoggedIn, - Closing - }; - enum Error { - NoError, - UnknownError, - HostNotFound, - ConnectionRefused, - NotConnected - }; - enum Command { - None, - SetTransferMode, - SetProxy, - ConnectToHost, - Login, - Close, - List, - Cd, - Get, - Put, - Remove, - Mkdir, - Rmdir, - Rename, - RawCommand - }; - enum TransferMode { - Active, - Passive - }; - enum TransferType { - Binary, - Ascii - }; - - int setProxy(const QString &host, quint16 port); - int connectToHost(const QString &host, quint16 port=21); - int login(const QString &user = QString(), const QString &password = QString()); - int close(); - int setTransferMode(TransferMode mode); - int list(const QString &dir = QString()); - int cd(const QString &dir); - int get(const QString &file, QIODevice *dev=0, TransferType type = Binary); - int put(const QByteArray &data, const QString &file, TransferType type = Binary); - int put(QIODevice *dev, const QString &file, TransferType type = Binary); - int remove(const QString &file); - int mkdir(const QString &dir); - int rmdir(const QString &dir); - int rename(const QString &oldname, const QString &newname); - - int rawCommand(const QString &command); - - qint64 bytesAvailable() const; - qint64 read(char *data, qint64 maxlen); - QByteArray readAll(); - - int currentId() const; - QIODevice* currentDevice() const; - Command currentCommand() const; - bool hasPendingCommands() const; - void clearPendingCommands(); - - State state() const; - - Error error() const; - QString errorString() const; + explicit QFtp(QObject * parent = 0); + virtual ~QFtp(); + + enum State + { + Unconnected, + HostLookup, + Connecting, + Connected, + LoggedIn, + Closing + }; + enum Error + { + NoError, + UnknownError, + HostNotFound, + ConnectionRefused, + NotConnected + }; + enum Command + { + None, + SetTransferMode, + SetProxy, + ConnectToHost, + Login, + Close, + List, + Cd, + Get, + Put, + Remove, + Mkdir, + Rmdir, + Rename, + RawCommand + }; + enum TransferMode + { + Active, + Passive + }; + enum TransferType + { + Binary, + Ascii + }; + + int setProxy(const QString & host, quint16 port); + int connectToHost(const QString & host, quint16 port = 21); + int login(const QString & user = QString(), const QString & password = QString()); + int close(); + int setTransferMode(TransferMode mode); + int list(const QString & dir = QString()); + int cd(const QString & dir); + int get(const QString & file, QIODevice * dev = 0, TransferType type = Binary); + int put(const QByteArray & data, const QString & file, TransferType type = Binary); + int put(QIODevice * dev, const QString & file, TransferType type = Binary); + int remove(const QString & file); + int mkdir(const QString & dir); + int rmdir(const QString & dir); + int rename(const QString & oldname, const QString & newname); + + int rawCommand(const QString & command); + + qint64 bytesAvailable() const; + qint64 read(char * data, qint64 maxlen); + QByteArray readAll(); + + int currentId() const; + QIODevice * currentDevice() const; + Command currentCommand() const; + bool hasPendingCommands() const; + void clearPendingCommands(); + + State state() const; + + Error error() const; + QString errorString() const; public Q_SLOTS: - void abort(); + void abort(); -Q_SIGNALS: - void stateChanged(int); - void listInfo(const QUrlInfo&); - void readyRead(); - void dataTransferProgress(qint64, qint64); - void rawCommandReply(int, const QString&); + Q_SIGNALS : void stateChanged(int); + void listInfo(const QUrlInfo &); + void readyRead(); + void dataTransferProgress(qint64, qint64); + void rawCommandReply(int, const QString &); - void commandStarted(int); - void commandFinished(int, bool); - void done(bool); + void commandStarted(int); + void commandFinished(int, bool); + void done(bool); private: - Q_DISABLE_COPY(QFtp) - QScopedPointer d; - - void _q_startNextCommand(); - void _q_piFinished(const QString&); - void _q_piError(int, const QString&); - void _q_piConnectState(int); - void _q_piFtpReply(int, const QString&); + Q_DISABLE_COPY(QFtp) + QScopedPointer d; + + void _q_startNextCommand(); + void _q_piFinished(const QString &); + void _q_piError(int, const QString &); + void _q_piConnectState(int); + void _q_piFtpReply(int, const QString &); }; - - - class QFtpPI; /* @@ -171,79 +172,81 @@ class QFtpPI; */ class QFtpDTP : public QObject { - Q_OBJECT + Q_OBJECT public: - enum ConnectState { - CsHostFound, - CsConnected, - CsClosed, - CsHostNotFound, - CsConnectionRefused - }; + enum ConnectState + { + CsHostFound, + CsConnected, + CsClosed, + CsHostNotFound, + CsConnectionRefused + }; - QFtpDTP(QFtpPI *p, QObject *parent = 0); + QFtpDTP(QFtpPI * p, QObject * parent = 0); - void setData(QByteArray *); - void setDevice(QIODevice *); - void writeData(); - void setBytesTotal(qint64 bytes); + void setData(QByteArray *); + void setDevice(QIODevice *); + void writeData(); + void setBytesTotal(qint64 bytes); - bool hasError() const; - QString errorMessage() const; - void clearError(); + bool hasError() const; + QString errorMessage() const; + void clearError(); - void connectToHost(const QString & host, quint16 port); - int setupListener(const QHostAddress &address); - void waitForConnection(); + void connectToHost(const QString & host, quint16 port); + int setupListener(const QHostAddress & address); + void waitForConnection(); - QTcpSocket::SocketState state() const; - qint64 bytesAvailable() const; - qint64 read(char *data, qint64 maxlen); - QByteArray readAll(); + QTcpSocket::SocketState state() const; + qint64 bytesAvailable() const; + qint64 read(char * data, qint64 maxlen); + QByteArray readAll(); - void abortConnection(); + void abortConnection(); - static bool parseDir(const QByteArray &buffer, const QString &userName, QUrlInfo *info); + static bool parseDir(const QByteArray & buffer, const QString & userName, QUrlInfo * info); signals: - void listInfo(const QUrlInfo&); - void readyRead(); - void dataTransferProgress(qint64, qint64); + void listInfo(const QUrlInfo &); + void readyRead(); + void dataTransferProgress(qint64, qint64); - void connectState(int); + void connectState(int); private slots: - void socketConnected(); - void socketReadyRead(); - void socketError(QAbstractSocket::SocketError); - void socketConnectionClosed(); - void socketBytesWritten(qint64); - void setupSocket(); + void socketConnected(); + void socketReadyRead(); + void socketError(QAbstractSocket::SocketError); + void socketConnectionClosed(); + void socketBytesWritten(qint64); + void setupSocket(); - void dataReadyRead(); + void dataReadyRead(); private: - void clearData(); - - QTcpSocket *socket; - QTcpServer listener; - - QFtpPI *pi; - QString err; - qint64 bytesDone; - qint64 bytesTotal; - bool callWriteData; - - // If is_ba is true, ba is used; ba is never 0. - // Otherwise dev is used; dev can be 0 or not. - union { - QByteArray *ba; - QIODevice *dev; - } data; - bool is_ba; - - QByteArray bytesFromSocket; + void clearData(); + + QTcpSocket * socket; + QTcpServer listener; + + QFtpPI * pi; + QString err; + qint64 bytesDone; + qint64 bytesTotal; + bool callWriteData; + + // If is_ba is true, ba is used; ba is never 0. + // Otherwise dev is used; dev can be 0 or not. + union + { + QByteArray * ba; + QIODevice * dev; + } data; + bool is_ba; + + QByteArray bytesFromSocket; }; /********************************************************************** @@ -254,86 +257,86 @@ private: class QFtpPI : public QObject { - Q_OBJECT + Q_OBJECT public: - QFtpPI(QObject *parent = 0); + QFtpPI(QObject * parent = 0); - void connectToHost(const QString &host, quint16 port); + void connectToHost(const QString & host, quint16 port); - bool sendCommands(const QStringList &cmds); - bool sendCommand(const QString &cmd) - { return sendCommands(QStringList(cmd)); } + bool sendCommands(const QStringList & cmds); + bool sendCommand(const QString & cmd) + { + return sendCommands(QStringList(cmd)); + } - void clearPendingCommands(); - void abort(); + void clearPendingCommands(); + void abort(); - QString currentCommand() const - { return currentCmd; } + QString currentCommand() const + { + return currentCmd; + } - bool rawCommand; - bool transferConnectionExtended; + bool rawCommand; + bool transferConnectionExtended; - QFtpDTP dtp; // the PI has a DTP which is not the design of RFC 959, but it - // makes the design simpler this way + QFtpDTP dtp; // the PI has a DTP which is not the design of RFC 959, but it + // makes the design simpler this way signals: - void connectState(int); - void finished(const QString&); - void error(int, const QString&); - void rawFtpReply(int, const QString&); + void connectState(int); + void finished(const QString &); + void error(int, const QString &); + void rawFtpReply(int, const QString &); private slots: - void hostFound(); - void connected(); - void connectionClosed(); - void delayedCloseFinished(); - void readyRead(); - void error(QAbstractSocket::SocketError); + void hostFound(); + void connected(); + void connectionClosed(); + void delayedCloseFinished(); + void readyRead(); + void error(QAbstractSocket::SocketError); - void dtpConnectState(int); + void dtpConnectState(int); private: - // the states are modelled after the generalized state diagram of RFC 959, - // page 58 - enum State { - Begin, - Idle, - Waiting, - Success, - Failure - }; - - enum AbortState { - None, - AbortStarted, - WaitForAbortToFinish - }; - - bool processReply(); - bool startNextCmd(); - - QTcpSocket commandSocket; - QString replyText; - char replyCode[3]; - State state; - AbortState abortState; - QStringList pendingCommands; - QString currentCmd; - - bool waitForDtpToConnect; - bool waitForDtpToClose; - - QByteArray bytesFromSocket; - - friend class QFtpDTP; + // the states are modelled after the generalized state diagram of RFC 959, + // page 58 + enum State + { + Begin, + Idle, + Waiting, + Success, + Failure + }; + + enum AbortState + { + None, + AbortStarted, + WaitForAbortToFinish + }; + + bool processReply(); + bool startNextCmd(); + + QTcpSocket commandSocket; + QString replyText; + char replyCode[3]; + State state; + AbortState abortState; + QStringList pendingCommands; + QString currentCmd; + + bool waitForDtpToConnect; + bool waitForDtpToClose; + + QByteArray bytesFromSocket; + + friend class QFtpDTP; }; - - - - - - QT_END_NAMESPACE #endif // QFTP_H diff --git a/src/modules/objects/qtftp/qurlinfo.cpp b/src/modules/objects/qtftp/qurlinfo.cpp index 3429542bc..9e7849354 100644 --- a/src/modules/objects/qtftp/qurlinfo.cpp +++ b/src/modules/objects/qtftp/qurlinfo.cpp @@ -50,34 +50,33 @@ QT_BEGIN_NAMESPACE class QUrlInfoPrivate { public: - QUrlInfoPrivate() : - permissions(0), - size(0), - isDir(false), - isFile(true), - isSymLink(false), - isWritable(true), - isReadable(true), - isExecutable(false) - {} - - QString name; - int permissions; - QString owner; - QString group; - qint64 size; - - QDateTime lastModified; - QDateTime lastRead; - bool isDir; - bool isFile; - bool isSymLink; - bool isWritable; - bool isReadable; - bool isExecutable; + QUrlInfoPrivate() : permissions(0), + size(0), + isDir(false), + isFile(true), + isSymLink(false), + isWritable(true), + isReadable(true), + isExecutable(false) + { + } + + QString name; + int permissions; + QString owner; + QString group; + qint64 size; + + QDateTime lastModified; + QDateTime lastRead; + bool isDir; + bool isFile; + bool isSymLink; + bool isWritable; + bool isReadable; + bool isExecutable; }; - /*! \class QUrlInfo \brief The QUrlInfo class stores information about URLs. @@ -127,21 +126,24 @@ public: QUrlInfo::QUrlInfo() { - d = 0; + d = 0; } /*! Copy constructor, copies \a ui to this URL info object. */ -QUrlInfo::QUrlInfo(const QUrlInfo &ui) +QUrlInfo::QUrlInfo(const QUrlInfo & ui) { - if (ui.d) { - d = new QUrlInfoPrivate; - *d = *ui.d; - } else { - d = 0; - } + if(ui.d) + { + d = new QUrlInfoPrivate; + *d = *ui.d; + } + else + { + d = 0; + } } /*! @@ -156,28 +158,27 @@ QUrlInfo::QUrlInfo(const QUrlInfo &ui) isExecutable. */ -QUrlInfo::QUrlInfo(const QString &name, int permissions, const QString &owner, - const QString &group, qint64 size, const QDateTime &lastModified, - const QDateTime &lastRead, bool isDir, bool isFile, bool isSymLink, - bool isWritable, bool isReadable, bool isExecutable) +QUrlInfo::QUrlInfo(const QString & name, int permissions, const QString & owner, + const QString & group, qint64 size, const QDateTime & lastModified, + const QDateTime & lastRead, bool isDir, bool isFile, bool isSymLink, + bool isWritable, bool isReadable, bool isExecutable) { - d = new QUrlInfoPrivate; - d->name = name; - d->permissions = permissions; - d->owner = owner; - d->group = group; - d->size = size; - d->lastModified = lastModified; - d->lastRead = lastRead; - d->isDir = isDir; - d->isFile = isFile; - d->isSymLink = isSymLink; - d->isWritable = isWritable; - d->isReadable = isReadable; - d->isExecutable = isExecutable; + d = new QUrlInfoPrivate; + d->name = name; + d->permissions = permissions; + d->owner = owner; + d->group = group; + d->size = size; + d->lastModified = lastModified; + d->lastRead = lastRead; + d->isDir = isDir; + d->isFile = isFile; + d->isSymLink = isSymLink; + d->isWritable = isWritable; + d->isReadable = isReadable; + d->isExecutable = isExecutable; } - /*! Constructs a QUrlInfo object by specifying all the URL's information. @@ -190,28 +191,27 @@ QUrlInfo::QUrlInfo(const QString &name, int permissions, const QString &owner, isExecutable. */ -QUrlInfo::QUrlInfo(const QUrl &url, int permissions, const QString &owner, - const QString &group, qint64 size, const QDateTime &lastModified, - const QDateTime &lastRead, bool isDir, bool isFile, bool isSymLink, - bool isWritable, bool isReadable, bool isExecutable) +QUrlInfo::QUrlInfo(const QUrl & url, int permissions, const QString & owner, + const QString & group, qint64 size, const QDateTime & lastModified, + const QDateTime & lastRead, bool isDir, bool isFile, bool isSymLink, + bool isWritable, bool isReadable, bool isExecutable) { - d = new QUrlInfoPrivate; - d->name = QFileInfo(url.path()).fileName(); - d->permissions = permissions; - d->owner = owner; - d->group = group; - d->size = size; - d->lastModified = lastModified; - d->lastRead = lastRead; - d->isDir = isDir; - d->isFile = isFile; - d->isSymLink = isSymLink; - d->isWritable = isWritable; - d->isReadable = isReadable; - d->isExecutable = isExecutable; + d = new QUrlInfoPrivate; + d->name = QFileInfo(url.path()).fileName(); + d->permissions = permissions; + d->owner = owner; + d->group = group; + d->size = size; + d->lastModified = lastModified; + d->lastRead = lastRead; + d->isDir = isDir; + d->isFile = isFile; + d->isSymLink = isSymLink; + d->isWritable = isWritable; + d->isReadable = isReadable; + d->isExecutable = isExecutable; } - /*! Sets the name of the URL to \a name. The name is the full text, for example, "http://qt.nokia.com/doc/qurlinfo.html". @@ -222,14 +222,13 @@ QUrlInfo::QUrlInfo(const QUrl &url, int permissions, const QString &owner, \sa isValid() */ -void QUrlInfo::setName(const QString &name) +void QUrlInfo::setName(const QString & name) { - if (!d) - d = new QUrlInfoPrivate; - d->name = name; + if(!d) + d = new QUrlInfoPrivate; + d->name = name; } - /*! If \a b is true then the URL is set to be a directory; if \a b is false then the URL is set not to be a directory (which normally @@ -244,12 +243,11 @@ void QUrlInfo::setName(const QString &name) void QUrlInfo::setDir(bool b) { - if (!d) - d = new QUrlInfoPrivate; - d->isDir = b; + if(!d) + d = new QUrlInfoPrivate; + d->isDir = b; } - /*! If \a b is true then the URL is set to be a file; if \b is false then the URL is set not to be a file (which normally means it is a @@ -264,12 +262,11 @@ void QUrlInfo::setDir(bool b) void QUrlInfo::setFile(bool b) { - if (!d) - d = new QUrlInfoPrivate; - d->isFile = b; + if(!d) + d = new QUrlInfoPrivate; + d->isFile = b; } - /*! Specifies that the URL refers to a symbolic link if \a b is true and that it does not if \a b is false. @@ -282,12 +279,11 @@ void QUrlInfo::setFile(bool b) void QUrlInfo::setSymLink(bool b) { - if (!d) - d = new QUrlInfoPrivate; - d->isSymLink = b; + if(!d) + d = new QUrlInfoPrivate; + d->isSymLink = b; } - /*! Specifies that the URL is writable if \a b is true and not writable if \a b is false. @@ -300,12 +296,11 @@ void QUrlInfo::setSymLink(bool b) void QUrlInfo::setWritable(bool b) { - if (!d) - d = new QUrlInfoPrivate; - d->isWritable = b; + if(!d) + d = new QUrlInfoPrivate; + d->isWritable = b; } - /*! Specifies that the URL is readable if \a b is true and not readable if \a b is false. @@ -318,9 +313,9 @@ void QUrlInfo::setWritable(bool b) void QUrlInfo::setReadable(bool b) { - if (!d) - d = new QUrlInfoPrivate; - d->isReadable = b; + if(!d) + d = new QUrlInfoPrivate; + d->isReadable = b; } /*! @@ -332,11 +327,11 @@ void QUrlInfo::setReadable(bool b) \sa isValid() */ -void QUrlInfo::setOwner(const QString &s) +void QUrlInfo::setOwner(const QString & s) { - if (!d) - d = new QUrlInfoPrivate; - d->owner = s; + if(!d) + d = new QUrlInfoPrivate; + d->owner = s; } /*! @@ -348,11 +343,11 @@ void QUrlInfo::setOwner(const QString &s) \sa isValid() */ -void QUrlInfo::setGroup(const QString &s) +void QUrlInfo::setGroup(const QString & s) { - if (!d) - d = new QUrlInfoPrivate; - d->group = s; + if(!d) + d = new QUrlInfoPrivate; + d->group = s; } /*! @@ -366,9 +361,9 @@ void QUrlInfo::setGroup(const QString &s) void QUrlInfo::setSize(qint64 size) { - if (!d) - d = new QUrlInfoPrivate; - d->size = size; + if(!d) + d = new QUrlInfoPrivate; + d->size = size; } /*! @@ -382,9 +377,9 @@ void QUrlInfo::setSize(qint64 size) void QUrlInfo::setPermissions(int p) { - if (!d) - d = new QUrlInfoPrivate; - d->permissions = p; + if(!d) + d = new QUrlInfoPrivate; + d->permissions = p; } /*! @@ -397,11 +392,11 @@ void QUrlInfo::setPermissions(int p) \sa isValid() */ -void QUrlInfo::setLastModified(const QDateTime &dt) +void QUrlInfo::setLastModified(const QDateTime & dt) { - if (!d) - d = new QUrlInfoPrivate; - d->lastModified = dt; + if(!d) + d = new QUrlInfoPrivate; + d->lastModified = dt; } /*! @@ -416,11 +411,11 @@ void QUrlInfo::setLastModified(const QDateTime &dt) \sa isValid() */ -void QUrlInfo::setLastRead(const QDateTime &dt) +void QUrlInfo::setLastRead(const QDateTime & dt) { - if (!d) - d = new QUrlInfoPrivate; - d->lastRead = dt; + if(!d) + d = new QUrlInfoPrivate; + d->lastRead = dt; } /*! @@ -429,24 +424,27 @@ void QUrlInfo::setLastRead(const QDateTime &dt) QUrlInfo::~QUrlInfo() { - delete d; + delete d; } /*! Assigns the values of \a ui to this QUrlInfo object. */ -QUrlInfo &QUrlInfo::operator=(const QUrlInfo &ui) +QUrlInfo & QUrlInfo::operator=(const QUrlInfo & ui) { - if (ui.d) { - if (!d) - d= new QUrlInfoPrivate; - *d = *ui.d; - } else { - delete d; - d = 0; - } - return *this; + if(ui.d) + { + if(!d) + d = new QUrlInfoPrivate; + *d = *ui.d; + } + else + { + delete d; + d = 0; + } + return *this; } /*! @@ -457,9 +455,9 @@ QUrlInfo &QUrlInfo::operator=(const QUrlInfo &ui) QString QUrlInfo::name() const { - if (!d) - return QString(); - return d->name; + if(!d) + return QString(); + return d->name; } /*! @@ -471,9 +469,9 @@ QString QUrlInfo::name() const int QUrlInfo::permissions() const { - if (!d) - return 0; - return d->permissions; + if(!d) + return 0; + return d->permissions; } /*! @@ -484,9 +482,9 @@ int QUrlInfo::permissions() const QString QUrlInfo::owner() const { - if (!d) - return QString(); - return d->owner; + if(!d) + return QString(); + return d->owner; } /*! @@ -497,9 +495,9 @@ QString QUrlInfo::owner() const QString QUrlInfo::group() const { - if (!d) - return QString(); - return d->group; + if(!d) + return QString(); + return d->group; } /*! @@ -510,9 +508,9 @@ QString QUrlInfo::group() const qint64 QUrlInfo::size() const { - if (!d) - return 0; - return d->size; + if(!d) + return 0; + return d->size; } /*! @@ -523,9 +521,9 @@ qint64 QUrlInfo::size() const QDateTime QUrlInfo::lastModified() const { - if (!d) - return QDateTime(); - return d->lastModified; + if(!d) + return QDateTime(); + return d->lastModified; } /*! @@ -536,9 +534,9 @@ QDateTime QUrlInfo::lastModified() const QDateTime QUrlInfo::lastRead() const { - if (!d) - return QDateTime(); - return d->lastRead; + if(!d) + return QDateTime(); + return d->lastRead; } /*! @@ -549,9 +547,9 @@ QDateTime QUrlInfo::lastRead() const bool QUrlInfo::isDir() const { - if (!d) - return false; - return d->isDir; + if(!d) + return false; + return d->isDir; } /*! @@ -562,9 +560,9 @@ bool QUrlInfo::isDir() const bool QUrlInfo::isFile() const { - if (!d) - return false; - return d->isFile; + if(!d) + return false; + return d->isFile; } /*! @@ -575,9 +573,9 @@ bool QUrlInfo::isFile() const bool QUrlInfo::isSymLink() const { - if (!d) - return false; - return d->isSymLink; + if(!d) + return false; + return d->isSymLink; } /*! @@ -588,9 +586,9 @@ bool QUrlInfo::isSymLink() const bool QUrlInfo::isWritable() const { - if (!d) - return false; - return d->isWritable; + if(!d) + return false; + return d->isWritable; } /*! @@ -601,9 +599,9 @@ bool QUrlInfo::isWritable() const bool QUrlInfo::isReadable() const { - if (!d) - return false; - return d->isReadable; + if(!d) + return false; + return d->isReadable; } /*! @@ -614,9 +612,9 @@ bool QUrlInfo::isReadable() const bool QUrlInfo::isExecutable() const { - if (!d) - return false; - return d->isExecutable; + if(!d) + return false; + return d->isExecutable; } /*! @@ -626,19 +624,20 @@ bool QUrlInfo::isExecutable() const QDir::Size. */ -bool QUrlInfo::greaterThan(const QUrlInfo &i1, const QUrlInfo &i2, - int sortBy) +bool QUrlInfo::greaterThan(const QUrlInfo & i1, const QUrlInfo & i2, + int sortBy) { - switch (sortBy) { - case QDir::Name: - return i1.name() > i2.name(); - case QDir::Time: - return i1.lastModified() > i2.lastModified(); - case QDir::Size: - return i1.size() > i2.size(); - default: - return false; - } + switch(sortBy) + { + case QDir::Name: + return i1.name() > i2.name(); + case QDir::Time: + return i1.lastModified() > i2.lastModified(); + case QDir::Size: + return i1.size() > i2.size(); + default: + return false; + } } /*! @@ -647,10 +646,10 @@ bool QUrlInfo::greaterThan(const QUrlInfo &i1, const QUrlInfo &i2, sortBy. This must be one of QDir::Name, QDir::Time or QDir::Size. */ -bool QUrlInfo::lessThan(const QUrlInfo &i1, const QUrlInfo &i2, - int sortBy) +bool QUrlInfo::lessThan(const QUrlInfo & i1, const QUrlInfo & i2, + int sortBy) { - return !greaterThan(i1, i2, sortBy); + return !greaterThan(i1, i2, sortBy); } /*! @@ -659,19 +658,20 @@ bool QUrlInfo::lessThan(const QUrlInfo &i1, const QUrlInfo &i2, sortBy. This must be one of QDir::Name, QDir::Time or QDir::Size. */ -bool QUrlInfo::equal(const QUrlInfo &i1, const QUrlInfo &i2, - int sortBy) +bool QUrlInfo::equal(const QUrlInfo & i1, const QUrlInfo & i2, + int sortBy) { - switch (sortBy) { - case QDir::Name: - return i1.name() == i2.name(); - case QDir::Time: - return i1.lastModified() == i2.lastModified(); - case QDir::Size: - return i1.size() == i2.size(); - default: - return false; - } + switch(sortBy) + { + case QDir::Name: + return i1.name() == i2.name(); + case QDir::Time: + return i1.lastModified() == i2.lastModified(); + case QDir::Size: + return i1.size() == i2.size(); + default: + return false; + } } /*! @@ -681,26 +681,14 @@ bool QUrlInfo::equal(const QUrlInfo &i1, const QUrlInfo &i2, \sa lessThan(), equal() */ -bool QUrlInfo::operator==(const QUrlInfo &other) const +bool QUrlInfo::operator==(const QUrlInfo & other) const { - if (!d) - return other.d == 0; - if (!other.d) - return false; + if(!d) + return other.d == 0; + if(!other.d) + return false; - return (d->name == other.d->name && - d->permissions == other.d->permissions && - d->owner == other.d->owner && - d->group == other.d->group && - d->size == other.d->size && - d->lastModified == other.d->lastModified && - d->lastRead == other.d->lastRead && - d->isDir == other.d->isDir && - d->isFile == other.d->isFile && - d->isSymLink == other.d->isSymLink && - d->isWritable == other.d->isWritable && - d->isReadable == other.d->isReadable && - d->isExecutable == other.d->isExecutable); + return (d->name == other.d->name && d->permissions == other.d->permissions && d->owner == other.d->owner && d->group == other.d->group && d->size == other.d->size && d->lastModified == other.d->lastModified && d->lastRead == other.d->lastRead && d->isDir == other.d->isDir && d->isFile == other.d->isFile && d->isSymLink == other.d->isSymLink && d->isWritable == other.d->isWritable && d->isReadable == other.d->isReadable && d->isExecutable == other.d->isExecutable); } /*! @@ -722,7 +710,7 @@ bool QUrlInfo::operator==(const QUrlInfo &other) const */ bool QUrlInfo::isValid() const { - return d != 0; + return d != 0; } QT_END_NAMESPACE diff --git a/src/modules/objects/qtftp/qurlinfo.h b/src/modules/objects/qtftp/qurlinfo.h index 8bd15d6a4..c9630d61c 100644 --- a/src/modules/objects/qtftp/qurlinfo.h +++ b/src/modules/objects/qtftp/qurlinfo.h @@ -54,66 +54,76 @@ class QUrlInfoPrivate; class QUrlInfo { public: - enum PermissionSpec { - ReadOwner = 00400, WriteOwner = 00200, ExeOwner = 00100, - ReadGroup = 00040, WriteGroup = 00020, ExeGroup = 00010, - ReadOther = 00004, WriteOther = 00002, ExeOther = 00001 }; + enum PermissionSpec + { + ReadOwner = 00400, + WriteOwner = 00200, + ExeOwner = 00100, + ReadGroup = 00040, + WriteGroup = 00020, + ExeGroup = 00010, + ReadOther = 00004, + WriteOther = 00002, + ExeOther = 00001 + }; - QUrlInfo(); - QUrlInfo(const QUrlInfo &ui); - QUrlInfo(const QString &name, int permissions, const QString &owner, - const QString &group, qint64 size, const QDateTime &lastModified, - const QDateTime &lastRead, bool isDir, bool isFile, bool isSymLink, - bool isWritable, bool isReadable, bool isExecutable); - QUrlInfo(const QUrl &url, int permissions, const QString &owner, - const QString &group, qint64 size, const QDateTime &lastModified, - const QDateTime &lastRead, bool isDir, bool isFile, bool isSymLink, - bool isWritable, bool isReadable, bool isExecutable); - QUrlInfo &operator=(const QUrlInfo &ui); - virtual ~QUrlInfo(); + QUrlInfo(); + QUrlInfo(const QUrlInfo & ui); + QUrlInfo(const QString & name, int permissions, const QString & owner, + const QString & group, qint64 size, const QDateTime & lastModified, + const QDateTime & lastRead, bool isDir, bool isFile, bool isSymLink, + bool isWritable, bool isReadable, bool isExecutable); + QUrlInfo(const QUrl & url, int permissions, const QString & owner, + const QString & group, qint64 size, const QDateTime & lastModified, + const QDateTime & lastRead, bool isDir, bool isFile, bool isSymLink, + bool isWritable, bool isReadable, bool isExecutable); + QUrlInfo & operator=(const QUrlInfo & ui); + virtual ~QUrlInfo(); - virtual void setName(const QString &name); - virtual void setDir(bool b); - virtual void setFile(bool b); - virtual void setSymLink(bool b); - virtual void setOwner(const QString &s); - virtual void setGroup(const QString &s); - virtual void setSize(qint64 size); - virtual void setWritable(bool b); - virtual void setReadable(bool b); - virtual void setPermissions(int p); - virtual void setLastModified(const QDateTime &dt); - void setLastRead(const QDateTime &dt); + virtual void setName(const QString & name); + virtual void setDir(bool b); + virtual void setFile(bool b); + virtual void setSymLink(bool b); + virtual void setOwner(const QString & s); + virtual void setGroup(const QString & s); + virtual void setSize(qint64 size); + virtual void setWritable(bool b); + virtual void setReadable(bool b); + virtual void setPermissions(int p); + virtual void setLastModified(const QDateTime & dt); + void setLastRead(const QDateTime & dt); - bool isValid() const; + bool isValid() const; - QString name() const; - int permissions() const; - QString owner() const; - QString group() const; - qint64 size() const; - QDateTime lastModified() const; - QDateTime lastRead() const; - bool isDir() const; - bool isFile() const; - bool isSymLink() const; - bool isWritable() const; - bool isReadable() const; - bool isExecutable() const; + QString name() const; + int permissions() const; + QString owner() const; + QString group() const; + qint64 size() const; + QDateTime lastModified() const; + QDateTime lastRead() const; + bool isDir() const; + bool isFile() const; + bool isSymLink() const; + bool isWritable() const; + bool isReadable() const; + bool isExecutable() const; - static bool greaterThan(const QUrlInfo &i1, const QUrlInfo &i2, - int sortBy); - static bool lessThan(const QUrlInfo &i1, const QUrlInfo &i2, - int sortBy); - static bool equal(const QUrlInfo &i1, const QUrlInfo &i2, - int sortBy); + static bool greaterThan(const QUrlInfo & i1, const QUrlInfo & i2, + int sortBy); + static bool lessThan(const QUrlInfo & i1, const QUrlInfo & i2, + int sortBy); + static bool equal(const QUrlInfo & i1, const QUrlInfo & i2, + int sortBy); - bool operator==(const QUrlInfo &i) const; - inline bool operator!=(const QUrlInfo &i) const - { return !operator==(i); } + bool operator==(const QUrlInfo & i) const; + inline bool operator!=(const QUrlInfo & i) const + { + return !operator==(i); + } private: - QUrlInfoPrivate *d; + QUrlInfoPrivate * d; }; QT_END_NAMESPACE diff --git a/src/modules/objects/qthttp/qhttp.cpp b/src/modules/objects/qthttp/qhttp.cpp index 33b885580..8dd437451 100644 --- a/src/modules/objects/qthttp/qhttp.cpp +++ b/src/modules/objects/qthttp/qhttp.cpp @@ -45,22 +45,22 @@ #include "qhttp.h" #ifndef QT_NO_HTTP -# include "qtcpsocket.h" -# include "qsslsocket.h" -# include "qtextstream.h" -# include "qmap.h" -# include "qlist.h" -# include "qstring.h" -# include "qstringlist.h" -# include "qbuffer.h" -# include "qringbuffer_p.h" -# include "qcoreevent.h" -# include "qurl.h" -# include "qnetworkproxy.h" -# include "qauthenticator.h" -# include "qhttpauthenticator_p.h" -# include "qdebug.h" -# include "qtimer.h" +#include "qtcpsocket.h" +#include "qsslsocket.h" +#include "qtextstream.h" +#include "qmap.h" +#include "qlist.h" +#include "qstring.h" +#include "qstringlist.h" +#include "qbuffer.h" +#include "qringbuffer_p.h" +#include "qcoreevent.h" +#include "qurl.h" +#include "qnetworkproxy.h" +#include "qauthenticator.h" +#include "qhttpauthenticator_p.h" +#include "qdebug.h" +#include "qtimer.h" #endif #ifndef QT_NO_HTTP @@ -71,125 +71,128 @@ class QHttpNormalRequest; class QHttpRequest { public: - QHttpRequest() : finished(false) - { id = idCounter.fetchAndAddRelaxed(1); } - virtual ~QHttpRequest() - { } + QHttpRequest() : finished(false) + { + id = idCounter.fetchAndAddRelaxed(1); + } + virtual ~QHttpRequest() + { + } - virtual void start(QHttp *) = 0; - virtual bool hasRequestHeader(); - virtual QHttpRequestHeader requestHeader(); + virtual void start(QHttp *) = 0; + virtual bool hasRequestHeader(); + virtual QHttpRequestHeader requestHeader(); - virtual QIODevice *sourceDevice() = 0; - virtual QIODevice *destinationDevice() = 0; + virtual QIODevice * sourceDevice() = 0; + virtual QIODevice * destinationDevice() = 0; - int id; - bool finished; + int id; + bool finished; private: - static QBasicAtomicInt idCounter; + static QBasicAtomicInt idCounter; }; class QHttpPrivate { public: - Q_DECLARE_PUBLIC(QHttp) - - inline QHttpPrivate(QHttp* parent) - : socket(0), reconnectAttempts(2), - deleteSocket(0), state(QHttp::Unconnected), - error(QHttp::NoError), port(0), mode(QHttp::ConnectionModeHttp), - toDevice(0), postDevice(0), bytesDone(0), chunkedSize(-1), - repost(false), pendingPost(false), q_ptr(parent) - { - } - - inline ~QHttpPrivate() - { - while (!pending.isEmpty()) - delete pending.takeFirst(); - - if (deleteSocket) - delete socket; - } - - // private slots - void _q_startNextRequest(); - void _q_slotReadyRead(); - void _q_slotConnected(); - void _q_slotError(QAbstractSocket::SocketError); - void _q_slotClosed(); - void _q_slotBytesWritten(qint64 numBytes); + Q_DECLARE_PUBLIC(QHttp) + + inline QHttpPrivate(QHttp * parent) + : socket(0), reconnectAttempts(2), + deleteSocket(0), state(QHttp::Unconnected), + error(QHttp::NoError), port(0), mode(QHttp::ConnectionModeHttp), + toDevice(0), postDevice(0), bytesDone(0), chunkedSize(-1), + repost(false), pendingPost(false), q_ptr(parent) + { + } + + inline ~QHttpPrivate() + { + while(!pending.isEmpty()) + delete pending.takeFirst(); + + if(deleteSocket) + delete socket; + } + + // private slots + void _q_startNextRequest(); + void _q_slotReadyRead(); + void _q_slotConnected(); + void _q_slotError(QAbstractSocket::SocketError); + void _q_slotClosed(); + void _q_slotBytesWritten(qint64 numBytes); #ifndef QT_NO_OPENSSL - void _q_slotEncryptedBytesWritten(qint64 numBytes); + void _q_slotEncryptedBytesWritten(qint64 numBytes); #endif - void _q_slotDoFinished(); - void _q_slotSendRequest(); - void _q_continuePost(); + void _q_slotDoFinished(); + void _q_slotSendRequest(); + void _q_continuePost(); - int addRequest(QHttpNormalRequest *); - int addRequest(QHttpRequest *); - void finishedWithSuccess(); - void finishedWithError(const QString &detail, int errorCode); + int addRequest(QHttpNormalRequest *); + int addRequest(QHttpRequest *); + void finishedWithSuccess(); + void finishedWithError(const QString & detail, int errorCode); - void init(); - void setState(int); - void closeConn(); - void setSock(QTcpSocket *sock); + void init(); + void setState(int); + void closeConn(); + void setSock(QTcpSocket * sock); - void postMoreData(); + void postMoreData(); - QTcpSocket *socket; - int reconnectAttempts; - bool deleteSocket; - QList pending; + QTcpSocket * socket; + int reconnectAttempts; + bool deleteSocket; + QList pending; - QHttp::State state; - QHttp::Error error; - QString errorString; + QHttp::State state; + QHttp::Error error; + QString errorString; - QString hostName; - quint16 port; - QHttp::ConnectionMode mode; + QString hostName; + quint16 port; + QHttp::ConnectionMode mode; - QByteArray buffer; - QIODevice *toDevice; - QIODevice *postDevice; + QByteArray buffer; + QIODevice * toDevice; + QIODevice * postDevice; - qint64 bytesDone; - qint64 bytesTotal; - qint64 chunkedSize; + qint64 bytesDone; + qint64 bytesTotal; + qint64 chunkedSize; - QHttpRequestHeader header; + QHttpRequestHeader header; - bool readHeader; - QString headerStr; - QHttpResponseHeader response; + bool readHeader; + QString headerStr; + QHttpResponseHeader response; - QRingBuffer rba; + QRingBuffer rba; #ifndef QT_NO_NETWORKPROXY - QNetworkProxy proxy; - QHttpAuthenticator proxyAuthenticator; + QNetworkProxy proxy; + QHttpAuthenticator proxyAuthenticator; #endif - QHttpAuthenticator authenticator; - bool repost; - bool hasFinishedWithError; - bool pendingPost; - QTimer post100ContinueTimer; - QHttp *q_ptr; + QHttpAuthenticator authenticator; + bool repost; + bool hasFinishedWithError; + bool pendingPost; + QTimer post100ContinueTimer; + QHttp * q_ptr; }; QBasicAtomicInt QHttpRequest::idCounter = Q_BASIC_ATOMIC_INITIALIZER(1); bool QHttpRequest::hasRequestHeader() { - return false; + return false; } QHttpRequestHeader QHttpRequest::requestHeader() { - return QHttpRequestHeader(); + return QHttpRequestHeader(); } /**************************************************** @@ -201,99 +204,104 @@ QHttpRequestHeader QHttpRequest::requestHeader() class QHttpNormalRequest : public QHttpRequest { public: - QHttpNormalRequest(const QHttpRequestHeader &h, QIODevice *d, QIODevice *t) : - header(h), to(t) - { - is_ba = false; - data.dev = d; - } - - QHttpNormalRequest(const QHttpRequestHeader &h, QByteArray *d, QIODevice *t) : - header(h), to(t) - { - is_ba = true; - data.ba = d; - } - - ~QHttpNormalRequest() - { - if (is_ba) - delete data.ba; - } - - void start(QHttp *); - bool hasRequestHeader(); - QHttpRequestHeader requestHeader(); - inline void setRequestHeader(const QHttpRequestHeader &h) { header = h; } - - QIODevice *sourceDevice(); - QIODevice *destinationDevice(); + QHttpNormalRequest(const QHttpRequestHeader & h, QIODevice * d, QIODevice * t) : header(h), to(t) + { + is_ba = false; + data.dev = d; + } + + QHttpNormalRequest(const QHttpRequestHeader & h, QByteArray * d, QIODevice * t) : header(h), to(t) + { + is_ba = true; + data.ba = d; + } + + ~QHttpNormalRequest() + { + if(is_ba) + delete data.ba; + } + + void start(QHttp *); + bool hasRequestHeader(); + QHttpRequestHeader requestHeader(); + inline void setRequestHeader(const QHttpRequestHeader & h) { header = h; } + + QIODevice * sourceDevice(); + QIODevice * destinationDevice(); protected: - QHttpRequestHeader header; + QHttpRequestHeader header; private: - union { - QByteArray *ba; - QIODevice *dev; - } data; - bool is_ba; - QIODevice *to; + union + { + QByteArray * ba; + QIODevice * dev; + } data; + bool is_ba; + QIODevice * to; }; -void QHttpNormalRequest::start(QHttp *http) -{ - if (!http->d->socket) - http->d->setSock(0); - http->d->header = header; - - if (is_ba) { - http->d->buffer = *data.ba; - if (http->d->buffer.size() >= 0) - http->d->header.setContentLength(http->d->buffer.size()); - - http->d->postDevice = 0; - } else { - http->d->buffer = QByteArray(); - - if (data.dev && (data.dev->isOpen() || data.dev->open(QIODevice::ReadOnly))) { - http->d->postDevice = data.dev; - if (http->d->postDevice->size() >= 0) - http->d->header.setContentLength(http->d->postDevice->size()); - } else { - http->d->postDevice = 0; - } - } - - if (to && (to->isOpen() || to->open(QIODevice::WriteOnly))) - http->d->toDevice = to; - else - http->d->toDevice = 0; - - http->d->reconnectAttempts = 2; - http->d->_q_slotSendRequest(); +void QHttpNormalRequest::start(QHttp * http) +{ + if(!http->d->socket) + http->d->setSock(0); + http->d->header = header; + + if(is_ba) + { + http->d->buffer = *data.ba; + if(http->d->buffer.size() >= 0) + http->d->header.setContentLength(http->d->buffer.size()); + + http->d->postDevice = 0; + } + else + { + http->d->buffer = QByteArray(); + + if(data.dev && (data.dev->isOpen() || data.dev->open(QIODevice::ReadOnly))) + { + http->d->postDevice = data.dev; + if(http->d->postDevice->size() >= 0) + http->d->header.setContentLength(http->d->postDevice->size()); + } + else + { + http->d->postDevice = 0; + } + } + + if(to && (to->isOpen() || to->open(QIODevice::WriteOnly))) + http->d->toDevice = to; + else + http->d->toDevice = 0; + + http->d->reconnectAttempts = 2; + http->d->_q_slotSendRequest(); } bool QHttpNormalRequest::hasRequestHeader() { - return true; + return true; } QHttpRequestHeader QHttpNormalRequest::requestHeader() { - return header; + return header; } -QIODevice *QHttpNormalRequest::sourceDevice() +QIODevice * QHttpNormalRequest::sourceDevice() { - if (is_ba) - return 0; - return data.dev; + if(is_ba) + return 0; + return data.dev; } -QIODevice *QHttpNormalRequest::destinationDevice() +QIODevice * QHttpNormalRequest::destinationDevice() { - return to; + return to; } /**************************************************** @@ -309,27 +317,28 @@ QIODevice *QHttpNormalRequest::destinationDevice() class QHttpPGHRequest : public QHttpNormalRequest { public: - QHttpPGHRequest(const QHttpRequestHeader &h, QIODevice *d, QIODevice *t) : - QHttpNormalRequest(h, d, t) - { } + QHttpPGHRequest(const QHttpRequestHeader & h, QIODevice * d, QIODevice * t) : QHttpNormalRequest(h, d, t) + { + } - QHttpPGHRequest(const QHttpRequestHeader &h, QByteArray *d, QIODevice *t) : - QHttpNormalRequest(h, d, t) - { } + QHttpPGHRequest(const QHttpRequestHeader & h, QByteArray * d, QIODevice * t) : QHttpNormalRequest(h, d, t) + { + } - ~QHttpPGHRequest() - { } + ~QHttpPGHRequest() + { + } - void start(QHttp *); + void start(QHttp *); }; -void QHttpPGHRequest::start(QHttp *http) +void QHttpPGHRequest::start(QHttp * http) { - if (http->d->port && http->d->port != 80) - header.setValue(QLatin1String("Host"), http->d->hostName + QLatin1Char(':') + QString::number(http->d->port)); - else - header.setValue(QLatin1String("Host"), http->d->hostName); - QHttpNormalRequest::start(http); + if(http->d->port && http->d->port != 80) + header.setValue(QLatin1String("Host"), http->d->hostName + QLatin1Char(':') + QString::number(http->d->port)); + else + header.setValue(QLatin1String("Host"), http->d->hostName); + QHttpNormalRequest::start(http); } /**************************************************** @@ -341,39 +350,45 @@ void QHttpPGHRequest::start(QHttp *http) class QHttpSetHostRequest : public QHttpRequest { public: - QHttpSetHostRequest(const QString &h, quint16 p, QHttp::ConnectionMode m) - : hostName(h), port(p), mode(m) - { } - - void start(QHttp *); - - QIODevice *sourceDevice() - { return 0; } - QIODevice *destinationDevice() - { return 0; } + QHttpSetHostRequest(const QString & h, quint16 p, QHttp::ConnectionMode m) + : hostName(h), port(p), mode(m) + { + } + + void start(QHttp *); + + QIODevice * sourceDevice() + { + return 0; + } + QIODevice * destinationDevice() + { + return 0; + } private: - QString hostName; - quint16 port; - QHttp::ConnectionMode mode; + QString hostName; + quint16 port; + QHttp::ConnectionMode mode; }; -void QHttpSetHostRequest::start(QHttp *http) +void QHttpSetHostRequest::start(QHttp * http) { - http->d->hostName = hostName; - http->d->port = port; - http->d->mode = mode; + http->d->hostName = hostName; + http->d->port = port; + http->d->mode = mode; #ifdef QT_NO_OPENSSL - if (mode == QHttp::ConnectionModeHttps) { - // SSL requested but no SSL support compiled in - http->d->finishedWithError(QLatin1String(QT_TRANSLATE_NOOP("QHttp", "HTTPS connection requested but SSL support not compiled in")), - QHttp::UnknownError); - return; - } + if(mode == QHttp::ConnectionModeHttps) + { + // SSL requested but no SSL support compiled in + http->d->finishedWithError(QLatin1String(QT_TRANSLATE_NOOP("QHttp", "HTTPS connection requested but SSL support not compiled in")), + QHttp::UnknownError); + return; + } #endif - http->d->finishedWithSuccess(); + http->d->finishedWithSuccess(); } /**************************************************** @@ -385,27 +400,31 @@ void QHttpSetHostRequest::start(QHttp *http) class QHttpSetUserRequest : public QHttpRequest { public: - QHttpSetUserRequest(const QString &userName, const QString &password) : - user(userName), pass(password) - { } + QHttpSetUserRequest(const QString & userName, const QString & password) : user(userName), pass(password) + { + } - void start(QHttp *); + void start(QHttp *); - QIODevice *sourceDevice() - { return 0; } - QIODevice *destinationDevice() - { return 0; } + QIODevice * sourceDevice() + { + return 0; + } + QIODevice * destinationDevice() + { + return 0; + } private: - QString user; - QString pass; + QString user; + QString pass; }; -void QHttpSetUserRequest::start(QHttp *http) +void QHttpSetUserRequest::start(QHttp * http) { - http->d->authenticator.setUser(user); - http->d->authenticator.setPassword(pass); - http->d->finishedWithSuccess(); + http->d->authenticator.setUser(user); + http->d->authenticator.setPassword(pass); + http->d->finishedWithSuccess(); } #ifndef QT_NO_NETWORKPROXY @@ -419,29 +438,34 @@ void QHttpSetUserRequest::start(QHttp *http) class QHttpSetProxyRequest : public QHttpRequest { public: - inline QHttpSetProxyRequest(const QNetworkProxy &proxy) - { - this->proxy = proxy; - } - - inline void start(QHttp *http) - { - http->d->proxy = proxy; - QString user = proxy.user(); - if (!user.isEmpty()) - http->d->proxyAuthenticator.setUser(user); - QString password = proxy.password(); - if (!password.isEmpty()) - http->d->proxyAuthenticator.setPassword(password); - http->d->finishedWithSuccess(); - } - - inline QIODevice *sourceDevice() - { return 0; } - inline QIODevice *destinationDevice() - { return 0; } + inline QHttpSetProxyRequest(const QNetworkProxy & proxy) + { + this->proxy = proxy; + } + + inline void start(QHttp * http) + { + http->d->proxy = proxy; + QString user = proxy.user(); + if(!user.isEmpty()) + http->d->proxyAuthenticator.setUser(user); + QString password = proxy.password(); + if(!password.isEmpty()) + http->d->proxyAuthenticator.setPassword(password); + http->d->finishedWithSuccess(); + } + + inline QIODevice * sourceDevice() + { + return 0; + } + inline QIODevice * destinationDevice() + { + return 0; + } + private: - QNetworkProxy proxy; + QNetworkProxy proxy; }; #endif // QT_NO_NETWORKPROXY @@ -455,24 +479,29 @@ private: class QHttpSetSocketRequest : public QHttpRequest { public: - QHttpSetSocketRequest(QTcpSocket *s) : socket(s) - { } + QHttpSetSocketRequest(QTcpSocket * s) : socket(s) + { + } - void start(QHttp *); + void start(QHttp *); - QIODevice *sourceDevice() - { return 0; } - QIODevice *destinationDevice() - { return 0; } + QIODevice * sourceDevice() + { + return 0; + } + QIODevice * destinationDevice() + { + return 0; + } private: - QTcpSocket *socket; + QTcpSocket * socket; }; -void QHttpSetSocketRequest::start(QHttp *http) +void QHttpSetSocketRequest::start(QHttp * http) { - http->d->setSock(socket); - http->d->finishedWithSuccess(); + http->d->setSock(socket); + http->d->finishedWithSuccess(); } /**************************************************** @@ -484,30 +513,35 @@ void QHttpSetSocketRequest::start(QHttp *http) class QHttpCloseRequest : public QHttpRequest { public: - QHttpCloseRequest() - { } - void start(QHttp *); - - QIODevice *sourceDevice() - { return 0; } - QIODevice *destinationDevice() - { return 0; } + QHttpCloseRequest() + { + } + void start(QHttp *); + + QIODevice * sourceDevice() + { + return 0; + } + QIODevice * destinationDevice() + { + return 0; + } }; -void QHttpCloseRequest::start(QHttp *http) +void QHttpCloseRequest::start(QHttp * http) { - http->d->closeConn(); + http->d->closeConn(); } class QHttpHeaderPrivate { - Q_DECLARE_PUBLIC(QHttpHeader) + Q_DECLARE_PUBLIC(QHttpHeader) public: - inline virtual ~QHttpHeaderPrivate() {} + inline virtual ~QHttpHeaderPrivate() {} - QList > values; - bool valid; - QHttpHeader *q_ptr; + QList> values; + bool valid; + QHttpHeader * q_ptr; }; /**************************************************** @@ -569,21 +603,21 @@ public: QHttpHeader::QHttpHeader() : d_ptr(new QHttpHeaderPrivate) { - Q_D(QHttpHeader); - d->q_ptr = this; - d->valid = true; + Q_D(QHttpHeader); + d->q_ptr = this; + d->valid = true; } /*! Constructs a copy of \a header. */ -QHttpHeader::QHttpHeader(const QHttpHeader &header) +QHttpHeader::QHttpHeader(const QHttpHeader & header) : d_ptr(new QHttpHeaderPrivate) { - Q_D(QHttpHeader); - d->q_ptr = this; - d->valid = header.d_func()->valid; - d->values = header.d_func()->values; + Q_D(QHttpHeader); + d->q_ptr = this; + d->valid = header.d_func()->valid; + d->values = header.d_func()->values; } /*! @@ -594,36 +628,36 @@ QHttpHeader::QHttpHeader(const QHttpHeader &header) "\r\n" delimited lines; each of these lines should have the format key, colon, space, value. */ -QHttpHeader::QHttpHeader(const QString &str) +QHttpHeader::QHttpHeader(const QString & str) : d_ptr(new QHttpHeaderPrivate) { - Q_D(QHttpHeader); - d->q_ptr = this; - d->valid = true; - parse(str); + Q_D(QHttpHeader); + d->q_ptr = this; + d->valid = true; + parse(str); } /*! \internal */ -QHttpHeader::QHttpHeader(QHttpHeaderPrivate &dd, const QString &str) +QHttpHeader::QHttpHeader(QHttpHeaderPrivate & dd, const QString & str) : d_ptr(&dd) { - Q_D(QHttpHeader); - d->q_ptr = this; - d->valid = true; - if (!str.isEmpty()) - parse(str); + Q_D(QHttpHeader); + d->q_ptr = this; + d->valid = true; + if(!str.isEmpty()) + parse(str); } /*! \internal */ -QHttpHeader::QHttpHeader(QHttpHeaderPrivate &dd, const QHttpHeader &header) +QHttpHeader::QHttpHeader(QHttpHeaderPrivate & dd, const QHttpHeader & header) : d_ptr(&dd) { - Q_D(QHttpHeader); - d->q_ptr = this; - d->valid = header.d_func()->valid; - d->values = header.d_func()->values; + Q_D(QHttpHeader); + d->q_ptr = this; + d->valid = header.d_func()->valid; + d->values = header.d_func()->values; } /*! Destructor. @@ -635,12 +669,12 @@ QHttpHeader::~QHttpHeader() /*! Assigns \a h and returns a reference to this http header. */ -QHttpHeader &QHttpHeader::operator=(const QHttpHeader &h) +QHttpHeader & QHttpHeader::operator=(const QHttpHeader & h) { - Q_D(QHttpHeader); - d->values = h.d_func()->values; - d->valid = h.d_func()->valid; - return *this; + Q_D(QHttpHeader); + d->values = h.d_func()->values; + d->valid = h.d_func()->valid; + return *this; } /*! @@ -650,8 +684,8 @@ QHttpHeader &QHttpHeader::operator=(const QHttpHeader &h) */ bool QHttpHeader::isValid() const { - Q_D(const QHttpHeader); - return d->valid; + Q_D(const QHttpHeader); + return d->valid; } /*! \internal @@ -663,52 +697,60 @@ bool QHttpHeader::isValid() const \sa toString() */ -bool QHttpHeader::parse(const QString &str) -{ - Q_D(QHttpHeader); - QStringList lst; - int pos = str.indexOf(QLatin1Char('\n')); - if (pos > 0 && str.at(pos - 1) == QLatin1Char('\r')) - lst = str.trimmed().split(QLatin1String("\r\n")); - else - lst = str.trimmed().split(QLatin1String("\n")); - lst.removeAll(QString()); // No empties - - if (lst.isEmpty()) - return true; - - QStringList lines; - QStringList::Iterator it = lst.begin(); - for (; it != lst.end(); ++it) { - if (!(*it).isEmpty()) { - if ((*it)[0].isSpace()) { - if (!lines.isEmpty()) { - lines.last() += QLatin1Char(' '); - lines.last() += (*it).trimmed(); - } - } else { - lines.append((*it)); - } - } - } - - int number = 0; - it = lines.begin(); - for (; it != lines.end(); ++it) { - if (!parseLine(*it, number++)) { - d->valid = false; - return false; - } - } - return true; +bool QHttpHeader::parse(const QString & str) +{ + Q_D(QHttpHeader); + QStringList lst; + int pos = str.indexOf(QLatin1Char('\n')); + if(pos > 0 && str.at(pos - 1) == QLatin1Char('\r')) + lst = str.trimmed().split(QLatin1String("\r\n")); + else + lst = str.trimmed().split(QLatin1String("\n")); + lst.removeAll(QString()); // No empties + + if(lst.isEmpty()) + return true; + + QStringList lines; + QStringList::Iterator it = lst.begin(); + for(; it != lst.end(); ++it) + { + if(!(*it).isEmpty()) + { + if((*it)[0].isSpace()) + { + if(!lines.isEmpty()) + { + lines.last() += QLatin1Char(' '); + lines.last() += (*it).trimmed(); + } + } + else + { + lines.append((*it)); + } + } + } + + int number = 0; + it = lines.begin(); + for(; it != lines.end(); ++it) + { + if(!parseLine(*it, number++)) + { + d->valid = false; + return false; + } + } + return true; } /*! \internal */ void QHttpHeader::setValid(bool v) { - Q_D(QHttpHeader); - d->valid = v; + Q_D(QHttpHeader); + d->valid = v; } /*! @@ -717,35 +759,37 @@ void QHttpHeader::setValid(bool v) \sa setValue() removeValue() hasKey() keys() */ -QString QHttpHeader::value(const QString &key) const +QString QHttpHeader::value(const QString & key) const { - Q_D(const QHttpHeader); - QString lowercaseKey = key.toLower(); - QList >::ConstIterator it = d->values.constBegin(); - while (it != d->values.constEnd()) { - if ((*it).first.toLower() == lowercaseKey) - return (*it).second; - ++it; - } - return QString(); + Q_D(const QHttpHeader); + QString lowercaseKey = key.toLower(); + QList>::ConstIterator it = d->values.constBegin(); + while(it != d->values.constEnd()) + { + if((*it).first.toLower() == lowercaseKey) + return (*it).second; + ++it; + } + return QString(); } /*! Returns all the entries with the given \a key. If no entry has this \a key, an empty string list is returned. */ -QStringList QHttpHeader::allValues(const QString &key) const +QStringList QHttpHeader::allValues(const QString & key) const { - Q_D(const QHttpHeader); - QString lowercaseKey = key.toLower(); - QStringList valueList; - QList >::ConstIterator it = d->values.constBegin(); - while (it != d->values.constEnd()) { - if ((*it).first.toLower() == lowercaseKey) - valueList.append((*it).second); - ++it; - } - return valueList; + Q_D(const QHttpHeader); + QString lowercaseKey = key.toLower(); + QStringList valueList; + QList>::ConstIterator it = d->values.constBegin(); + while(it != d->values.constEnd()) + { + if((*it).first.toLower() == lowercaseKey) + valueList.append((*it).second); + ++it; + } + return valueList; } /*! @@ -755,20 +799,22 @@ QStringList QHttpHeader::allValues(const QString &key) const */ QStringList QHttpHeader::keys() const { - Q_D(const QHttpHeader); - QStringList keyList; - QSet seenKeys; - QList >::ConstIterator it = d->values.constBegin(); - while (it != d->values.constEnd()) { - const QString &key = (*it).first; - QString lowercaseKey = key.toLower(); - if (!seenKeys.contains(lowercaseKey)) { - keyList.append(key); - seenKeys.insert(lowercaseKey); - } - ++it; - } - return keyList; + Q_D(const QHttpHeader); + QStringList keyList; + QSet seenKeys; + QList>::ConstIterator it = d->values.constBegin(); + while(it != d->values.constEnd()) + { + const QString & key = (*it).first; + QString lowercaseKey = key.toLower(); + if(!seenKeys.contains(lowercaseKey)) + { + keyList.append(key); + seenKeys.insert(lowercaseKey); + } + ++it; + } + return keyList; } /*! @@ -777,17 +823,18 @@ QStringList QHttpHeader::keys() const \sa value() setValue() keys() */ -bool QHttpHeader::hasKey(const QString &key) const +bool QHttpHeader::hasKey(const QString & key) const { - Q_D(const QHttpHeader); - QString lowercaseKey = key.toLower(); - QList >::ConstIterator it = d->values.constBegin(); - while (it != d->values.constEnd()) { - if ((*it).first.toLower() == lowercaseKey) - return true; - ++it; - } - return false; + Q_D(const QHttpHeader); + QString lowercaseKey = key.toLower(); + QList>::ConstIterator it = d->values.constBegin(); + while(it != d->values.constEnd()) + { + if((*it).first.toLower() == lowercaseKey) + return true; + ++it; + } + return false; } /*! @@ -800,47 +847,49 @@ bool QHttpHeader::hasKey(const QString &key) const \sa value() hasKey() removeValue() */ -void QHttpHeader::setValue(const QString &key, const QString &value) +void QHttpHeader::setValue(const QString & key, const QString & value) { - Q_D(QHttpHeader); - QString lowercaseKey = key.toLower(); - QList >::Iterator it = d->values.begin(); - while (it != d->values.end()) { - if ((*it).first.toLower() == lowercaseKey) { - (*it).second = value; - return; - } - ++it; - } - // not found so add - addValue(key, value); + Q_D(QHttpHeader); + QString lowercaseKey = key.toLower(); + QList>::Iterator it = d->values.begin(); + while(it != d->values.end()) + { + if((*it).first.toLower() == lowercaseKey) + { + (*it).second = value; + return; + } + ++it; + } + // not found so add + addValue(key, value); } /*! Sets the header entries to be the list of key value pairs in \a values. */ -void QHttpHeader::setValues(const QList > &values) +void QHttpHeader::setValues(const QList> & values) { - Q_D(QHttpHeader); - d->values = values; + Q_D(QHttpHeader); + d->values = values; } /*! Adds a new entry with the \a key and \a value. */ -void QHttpHeader::addValue(const QString &key, const QString &value) +void QHttpHeader::addValue(const QString & key, const QString & value) { - Q_D(QHttpHeader); - d->values.append(qMakePair(key, value)); + Q_D(QHttpHeader); + d->values.append(qMakePair(key, value)); } /*! Returns all the entries in the header. */ -QList > QHttpHeader::values() const +QList> QHttpHeader::values() const { - Q_D(const QHttpHeader); - return d->values; + Q_D(const QHttpHeader); + return d->values; } /*! @@ -848,35 +897,39 @@ QList > QHttpHeader::values() const \sa value() setValue() */ -void QHttpHeader::removeValue(const QString &key) +void QHttpHeader::removeValue(const QString & key) { - Q_D(QHttpHeader); - QString lowercaseKey = key.toLower(); - QList >::Iterator it = d->values.begin(); - while (it != d->values.end()) { - if ((*it).first.toLower() == lowercaseKey) { - d->values.erase(it); - return; - } - ++it; - } + Q_D(QHttpHeader); + QString lowercaseKey = key.toLower(); + QList>::Iterator it = d->values.begin(); + while(it != d->values.end()) + { + if((*it).first.toLower() == lowercaseKey) + { + d->values.erase(it); + return; + } + ++it; + } } /*! Removes all the entries with the key \a key from the HTTP header. */ -void QHttpHeader::removeAllValues(const QString &key) +void QHttpHeader::removeAllValues(const QString & key) { - Q_D(QHttpHeader); - QString lowercaseKey = key.toLower(); - QList >::Iterator it = d->values.begin(); - while (it != d->values.end()) { - if ((*it).first.toLower() == lowercaseKey) { - it = d->values.erase(it); - continue; - } - ++it; - } + Q_D(QHttpHeader); + QString lowercaseKey = key.toLower(); + QList>::Iterator it = d->values.begin(); + while(it != d->values.end()) + { + if((*it).first.toLower() == lowercaseKey) + { + it = d->values.erase(it); + continue; + } + ++it; + } } /*! \internal @@ -887,15 +940,15 @@ void QHttpHeader::removeAllValues(const QString &key) \sa parse() */ -bool QHttpHeader::parseLine(const QString &line, int) +bool QHttpHeader::parseLine(const QString & line, int) { - int i = line.indexOf(QLatin1Char(':')); - if (i == -1) - return false; + int i = line.indexOf(QLatin1Char(':')); + if(i == -1) + return false; - addValue(line.left(i).trimmed(), line.mid(i + 1).trimmed()); + addValue(line.left(i).trimmed(), line.mid(i + 1).trimmed()); - return true; + return true; } /*! @@ -907,18 +960,19 @@ bool QHttpHeader::parseLine(const QString &line, int) */ QString QHttpHeader::toString() const { - Q_D(const QHttpHeader); - if (!isValid()) - return QLatin1String(""); + Q_D(const QHttpHeader); + if(!isValid()) + return QLatin1String(""); - QString ret = QLatin1String(""); + QString ret = QLatin1String(""); - QList >::ConstIterator it = d->values.constBegin(); - while (it != d->values.constEnd()) { - ret += (*it).first + QLatin1String(": ") + (*it).second + QLatin1String("\r\n"); - ++it; - } - return ret; + QList>::ConstIterator it = d->values.constBegin(); + while(it != d->values.constEnd()) + { + ret += (*it).first + QLatin1String(": ") + (*it).second + QLatin1String("\r\n"); + ++it; + } + return ret; } /*! @@ -929,7 +983,7 @@ QString QHttpHeader::toString() const */ bool QHttpHeader::hasContentLength() const { - return hasKey(QLatin1String("content-length")); + return hasKey(QLatin1String("content-length")); } /*! @@ -940,7 +994,7 @@ bool QHttpHeader::hasContentLength() const */ uint QHttpHeader::contentLength() const { - return value(QLatin1String("content-length")).toUInt(); + return value(QLatin1String("content-length")).toUInt(); } /*! @@ -951,7 +1005,7 @@ uint QHttpHeader::contentLength() const */ void QHttpHeader::setContentLength(int len) { - setValue(QLatin1String("content-length"), QString::number(len)); + setValue(QLatin1String("content-length"), QString::number(len)); } /*! @@ -962,7 +1016,7 @@ void QHttpHeader::setContentLength(int len) */ bool QHttpHeader::hasContentType() const { - return hasKey(QLatin1String("content-type")); + return hasKey(QLatin1String("content-type")); } /*! @@ -972,15 +1026,15 @@ bool QHttpHeader::hasContentType() const */ QString QHttpHeader::contentType() const { - QString type = value(QLatin1String("content-type")); - if (type.isEmpty()) - return QString(); + QString type = value(QLatin1String("content-type")); + if(type.isEmpty()) + return QString(); - int pos = type.indexOf(QLatin1Char(';')); - if (pos == -1) - return type; + int pos = type.indexOf(QLatin1Char(';')); + if(pos == -1) + return type; - return type.left(pos).trimmed(); + return type.left(pos).trimmed(); } /*! @@ -989,19 +1043,19 @@ QString QHttpHeader::contentType() const \sa contentType() hasContentType() */ -void QHttpHeader::setContentType(const QString &type) +void QHttpHeader::setContentType(const QString & type) { - setValue(QLatin1String("content-type"), type); + setValue(QLatin1String("content-type"), type); } class QHttpResponseHeaderPrivate : public QHttpHeaderPrivate { - Q_DECLARE_PUBLIC(QHttpResponseHeader) + Q_DECLARE_PUBLIC(QHttpResponseHeader) public: - int statCode; - QString reasonPhr; - int majVer; - int minVer; + int statCode; + QString reasonPhr; + int majVer; + int minVer; }; /**************************************************** @@ -1037,34 +1091,34 @@ public: QHttpResponseHeader::QHttpResponseHeader() : QHttpHeader(*new QHttpResponseHeaderPrivate) { - setValid(false); + setValid(false); } /*! Constructs a copy of \a header. */ -QHttpResponseHeader::QHttpResponseHeader(const QHttpResponseHeader &header) +QHttpResponseHeader::QHttpResponseHeader(const QHttpResponseHeader & header) : QHttpHeader(*new QHttpResponseHeaderPrivate, header) { - Q_D(QHttpResponseHeader); - d->statCode = header.d_func()->statCode; - d->reasonPhr = header.d_func()->reasonPhr; - d->majVer = header.d_func()->majVer; - d->minVer = header.d_func()->minVer; + Q_D(QHttpResponseHeader); + d->statCode = header.d_func()->statCode; + d->reasonPhr = header.d_func()->reasonPhr; + d->majVer = header.d_func()->majVer; + d->minVer = header.d_func()->minVer; } /*! Copies the contents of \a header into this QHttpResponseHeader. */ -QHttpResponseHeader &QHttpResponseHeader::operator=(const QHttpResponseHeader &header) +QHttpResponseHeader & QHttpResponseHeader::operator=(const QHttpResponseHeader & header) { - Q_D(QHttpResponseHeader); - QHttpHeader::operator=(header); - d->statCode = header.d_func()->statCode; - d->reasonPhr = header.d_func()->reasonPhr; - d->majVer = header.d_func()->majVer; - d->minVer = header.d_func()->minVer; - return *this; + Q_D(QHttpResponseHeader); + QHttpHeader::operator=(header); + d->statCode = header.d_func()->statCode; + d->reasonPhr = header.d_func()->reasonPhr; + d->majVer = header.d_func()->majVer; + d->minVer = header.d_func()->minVer; + return *this; } /*! @@ -1075,10 +1129,10 @@ QHttpResponseHeader &QHttpResponseHeader::operator=(const QHttpResponseHeader &h reason-phrase); each of remaining lines should have the format key, colon, space, value. */ -QHttpResponseHeader::QHttpResponseHeader(const QString &str) +QHttpResponseHeader::QHttpResponseHeader(const QString & str) : QHttpHeader(*new QHttpResponseHeaderPrivate) { - parse(str); + parse(str); } /*! @@ -1090,10 +1144,10 @@ QHttpResponseHeader::QHttpResponseHeader(const QString &str) \sa statusCode() reasonPhrase() majorVersion() minorVersion() */ -QHttpResponseHeader::QHttpResponseHeader(int code, const QString &text, int majorVer, int minorVer) +QHttpResponseHeader::QHttpResponseHeader(int code, const QString & text, int majorVer, int minorVer) : QHttpHeader(*new QHttpResponseHeaderPrivate) { - setStatusLine(code, text, majorVer, minorVer); + setStatusLine(code, text, majorVer, minorVer); } /*! @@ -1104,14 +1158,14 @@ QHttpResponseHeader::QHttpResponseHeader(int code, const QString &text, int majo \sa statusCode() reasonPhrase() majorVersion() minorVersion() */ -void QHttpResponseHeader::setStatusLine(int code, const QString &text, int majorVer, int minorVer) +void QHttpResponseHeader::setStatusLine(int code, const QString & text, int majorVer, int minorVer) { - Q_D(QHttpResponseHeader); - setValid(true); - d->statCode = code; - d->reasonPhr = text; - d->majVer = majorVer; - d->minVer = minorVer; + Q_D(QHttpResponseHeader); + setValid(true); + d->statCode = code; + d->reasonPhr = text; + d->majVer = majorVer; + d->minVer = minorVer; } /*! @@ -1121,8 +1175,8 @@ void QHttpResponseHeader::setStatusLine(int code, const QString &text, int major */ int QHttpResponseHeader::statusCode() const { - Q_D(const QHttpResponseHeader); - return d->statCode; + Q_D(const QHttpResponseHeader); + return d->statCode; } /*! @@ -1132,8 +1186,8 @@ int QHttpResponseHeader::statusCode() const */ QString QHttpResponseHeader::reasonPhrase() const { - Q_D(const QHttpResponseHeader); - return d->reasonPhr; + Q_D(const QHttpResponseHeader); + return d->reasonPhr; } /*! @@ -1143,8 +1197,8 @@ QString QHttpResponseHeader::reasonPhrase() const */ int QHttpResponseHeader::majorVersion() const { - Q_D(const QHttpResponseHeader); - return d->majVer; + Q_D(const QHttpResponseHeader); + return d->majVer; } /*! @@ -1154,59 +1208,64 @@ int QHttpResponseHeader::majorVersion() const */ int QHttpResponseHeader::minorVersion() const { - Q_D(const QHttpResponseHeader); - return d->minVer; + Q_D(const QHttpResponseHeader); + return d->minVer; } /*! \internal */ -bool QHttpResponseHeader::parseLine(const QString &line, int number) -{ - Q_D(QHttpResponseHeader); - if (number != 0) - return QHttpHeader::parseLine(line, number); - - QString l = line.simplified(); - if (l.length() < 10) - return false; - - if (l.left(5) == QLatin1String("HTTP/") && l[5].isDigit() && l[6] == QLatin1Char('.') && - l[7].isDigit() && l[8] == QLatin1Char(' ') && l[9].isDigit()) { - d->majVer = l[5].toLatin1() - '0'; - d->minVer = l[7].toLatin1() - '0'; - - int pos = l.indexOf(QLatin1Char(' '), 9); - if (pos != -1) { - d->reasonPhr = l.mid(pos + 1); - d->statCode = l.mid(9, pos - 9).toInt(); - } else { - d->statCode = l.mid(9).toInt(); - d->reasonPhr.clear(); - } - } else { - return false; - } - - return true; +bool QHttpResponseHeader::parseLine(const QString & line, int number) +{ + Q_D(QHttpResponseHeader); + if(number != 0) + return QHttpHeader::parseLine(line, number); + + QString l = line.simplified(); + if(l.length() < 10) + return false; + + if(l.left(5) == QLatin1String("HTTP/") && l[5].isDigit() && l[6] == QLatin1Char('.') && l[7].isDigit() && l[8] == QLatin1Char(' ') && l[9].isDigit()) + { + d->majVer = l[5].toLatin1() - '0'; + d->minVer = l[7].toLatin1() - '0'; + + int pos = l.indexOf(QLatin1Char(' '), 9); + if(pos != -1) + { + d->reasonPhr = l.mid(pos + 1); + d->statCode = l.mid(9, pos - 9).toInt(); + } + else + { + d->statCode = l.mid(9).toInt(); + d->reasonPhr.clear(); + } + } + else + { + return false; + } + + return true; } /*! \reimp */ QString QHttpResponseHeader::toString() const { - Q_D(const QHttpResponseHeader); - QString ret(QLatin1String("HTTP/%1.%2 %3 %4\r\n%5\r\n")); - return ret.arg(d->majVer).arg(d->minVer).arg(d->statCode).arg(d->reasonPhr).arg(QHttpHeader::toString()); + Q_D(const QHttpResponseHeader); + QString ret(QLatin1String("HTTP/%1.%2 %3 %4\r\n%5\r\n")); + return ret.arg(d->majVer).arg(d->minVer).arg(d->statCode).arg(d->reasonPhr).arg(QHttpHeader::toString()); } class QHttpRequestHeaderPrivate : public QHttpHeaderPrivate { - Q_DECLARE_PUBLIC(QHttpRequestHeader) + Q_DECLARE_PUBLIC(QHttpRequestHeader) public: - QString m; - QString p; - int majVer; - int minVer; + QString m; + QString p; + int majVer; + int minVer; }; /**************************************************** @@ -1252,7 +1311,7 @@ public: QHttpRequestHeader::QHttpRequestHeader() : QHttpHeader(*new QHttpRequestHeaderPrivate) { - setValid(false); + setValid(false); } /*! @@ -1261,41 +1320,41 @@ QHttpRequestHeader::QHttpRequestHeader() minorVer. The \a path argument must be properly encoded for an HTTP request. */ -QHttpRequestHeader::QHttpRequestHeader(const QString &method, const QString &path, int majorVer, int minorVer) +QHttpRequestHeader::QHttpRequestHeader(const QString & method, const QString & path, int majorVer, int minorVer) : QHttpHeader(*new QHttpRequestHeaderPrivate) { - Q_D(QHttpRequestHeader); - d->m = method; - d->p = path; - d->majVer = majorVer; - d->minVer = minorVer; + Q_D(QHttpRequestHeader); + d->m = method; + d->p = path; + d->majVer = majorVer; + d->minVer = minorVer; } /*! Constructs a copy of \a header. */ -QHttpRequestHeader::QHttpRequestHeader(const QHttpRequestHeader &header) +QHttpRequestHeader::QHttpRequestHeader(const QHttpRequestHeader & header) : QHttpHeader(*new QHttpRequestHeaderPrivate, header) { - Q_D(QHttpRequestHeader); - d->m = header.d_func()->m; - d->p = header.d_func()->p; - d->majVer = header.d_func()->majVer; - d->minVer = header.d_func()->minVer; + Q_D(QHttpRequestHeader); + d->m = header.d_func()->m; + d->p = header.d_func()->p; + d->majVer = header.d_func()->majVer; + d->minVer = header.d_func()->minVer; } /*! Copies the content of \a header into this QHttpRequestHeader */ -QHttpRequestHeader &QHttpRequestHeader::operator=(const QHttpRequestHeader &header) +QHttpRequestHeader & QHttpRequestHeader::operator=(const QHttpRequestHeader & header) { - Q_D(QHttpRequestHeader); - QHttpHeader::operator=(header); - d->m = header.d_func()->m; - d->p = header.d_func()->p; - d->majVer = header.d_func()->majVer; - d->minVer = header.d_func()->minVer; - return *this; + Q_D(QHttpRequestHeader); + QHttpHeader::operator=(header); + d->m = header.d_func()->m; + d->p = header.d_func()->p; + d->majVer = header.d_func()->majVer; + d->minVer = header.d_func()->minVer; + return *this; } /*! @@ -1305,10 +1364,10 @@ QHttpRequestHeader &QHttpRequestHeader::operator=(const QHttpRequestHeader &head HTTP-version); each of the remaining lines should have the format key, colon, space, value. */ -QHttpRequestHeader::QHttpRequestHeader(const QString &str) +QHttpRequestHeader::QHttpRequestHeader(const QString & str) : QHttpHeader(*new QHttpRequestHeaderPrivate) { - parse(str); + parse(str); } /*! @@ -1319,14 +1378,14 @@ QHttpRequestHeader::QHttpRequestHeader(const QString &str) \sa method() path() majorVersion() minorVersion() */ -void QHttpRequestHeader::setRequest(const QString &method, const QString &path, int majorVer, int minorVer) +void QHttpRequestHeader::setRequest(const QString & method, const QString & path, int majorVer, int minorVer) { - Q_D(QHttpRequestHeader); - setValid(true); - d->m = method; - d->p = path; - d->majVer = majorVer; - d->minVer = minorVer; + Q_D(QHttpRequestHeader); + setValid(true); + d->m = method; + d->p = path; + d->majVer = majorVer; + d->minVer = minorVer; } /*! @@ -1336,8 +1395,8 @@ void QHttpRequestHeader::setRequest(const QString &method, const QString &path, */ QString QHttpRequestHeader::method() const { - Q_D(const QHttpRequestHeader); - return d->m; + Q_D(const QHttpRequestHeader); + return d->m; } /*! @@ -1347,8 +1406,8 @@ QString QHttpRequestHeader::method() const */ QString QHttpRequestHeader::path() const { - Q_D(const QHttpRequestHeader); - return d->p; + Q_D(const QHttpRequestHeader); + return d->p; } /*! @@ -1358,8 +1417,8 @@ QString QHttpRequestHeader::path() const */ int QHttpRequestHeader::majorVersion() const { - Q_D(const QHttpRequestHeader); - return d->majVer; + Q_D(const QHttpRequestHeader); + return d->majVer; } /*! @@ -1369,50 +1428,51 @@ int QHttpRequestHeader::majorVersion() const */ int QHttpRequestHeader::minorVersion() const { - Q_D(const QHttpRequestHeader); - return d->minVer; + Q_D(const QHttpRequestHeader); + return d->minVer; } /*! \internal */ -bool QHttpRequestHeader::parseLine(const QString &line, int number) -{ - Q_D(QHttpRequestHeader); - if (number != 0) - return QHttpHeader::parseLine(line, number); - - QStringList lst = line.simplified().split(QLatin1String(" ")); - if (lst.count() > 0) { - d->m = lst[0]; - if (lst.count() > 1) { - d->p = lst[1]; - if (lst.count() > 2) { - QString v = lst[2]; - if (v.length() >= 8 && v.left(5) == QLatin1String("HTTP/") && - v[5].isDigit() && v[6] == QLatin1Char('.') && v[7].isDigit()) { - d->majVer = v[5].toLatin1() - '0'; - d->minVer = v[7].toLatin1() - '0'; - return true; - } - } - } - } - - return false; +bool QHttpRequestHeader::parseLine(const QString & line, int number) +{ + Q_D(QHttpRequestHeader); + if(number != 0) + return QHttpHeader::parseLine(line, number); + + QStringList lst = line.simplified().split(QLatin1String(" ")); + if(lst.count() > 0) + { + d->m = lst[0]; + if(lst.count() > 1) + { + d->p = lst[1]; + if(lst.count() > 2) + { + QString v = lst[2]; + if(v.length() >= 8 && v.left(5) == QLatin1String("HTTP/") && v[5].isDigit() && v[6] == QLatin1Char('.') && v[7].isDigit()) + { + d->majVer = v[5].toLatin1() - '0'; + d->minVer = v[7].toLatin1() - '0'; + return true; + } + } + } + } + + return false; } /*! \reimp */ QString QHttpRequestHeader::toString() const { - Q_D(const QHttpRequestHeader); - QString first(QLatin1String("%1 %2")); - QString last(QLatin1String(" HTTP/%3.%4\r\n%5\r\n")); - return first.arg(d->m).arg(d->p) + - last.arg(d->majVer).arg(d->minVer).arg(QHttpHeader::toString()); + Q_D(const QHttpRequestHeader); + QString first(QLatin1String("%1 %2")); + QString last(QLatin1String(" HTTP/%3.%4\r\n%5\r\n")); + return first.arg(d->m).arg(d->p) + last.arg(d->majVer).arg(d->minVer).arg(QHttpHeader::toString()); } - /**************************************************** * * QHttp @@ -1526,10 +1586,10 @@ QString QHttpRequestHeader::toString() const Constructs a QHttp object. The \a parent parameter is passed on to the QObject constructor. */ -QHttp::QHttp(QObject *parent) +QHttp::QHttp(QObject * parent) : QObject(parent), d(new QHttpPrivate(this)) { - d->init(); + d->init(); } /*! @@ -1540,13 +1600,13 @@ QHttp::QHttp(QObject *parent) \sa setHost() */ -QHttp::QHttp(const QString &hostName, quint16 port, QObject *parent) +QHttp::QHttp(const QString & hostName, quint16 port, QObject * parent) : QObject(parent), d(new QHttpPrivate(this)) { - d->init(); + d->init(); - d->hostName = hostName; - d->port = port; + d->hostName = hostName; + d->port = port; } /*! @@ -1561,25 +1621,25 @@ QHttp::QHttp(const QString &hostName, quint16 port, QObject *parent) \sa setHost() */ -QHttp::QHttp(const QString &hostName, ConnectionMode mode, quint16 port, QObject *parent) +QHttp::QHttp(const QString & hostName, ConnectionMode mode, quint16 port, QObject * parent) : QObject(parent), d(new QHttpPrivate(this)) { - d->init(); + d->init(); - d->hostName = hostName; - if (port == 0) - port = (mode == ConnectionModeHttp) ? 80 : 443; - d->port = port; - d->mode = mode; + d->hostName = hostName; + if(port == 0) + port = (mode == ConnectionModeHttp) ? 80 : 443; + d->port = port; + d->mode = mode; } void QHttpPrivate::init() { - Q_Q(QHttp); - errorString = QLatin1String(QT_TRANSLATE_NOOP("QHttp", "Unknown error")); - QMetaObject::invokeMethod(q, "_q_slotDoFinished", Qt::QueuedConnection); - post100ContinueTimer.setSingleShot(true); - QObject::connect(&post100ContinueTimer, SIGNAL(timeout()), q, SLOT(_q_continuePost())); + Q_Q(QHttp); + errorString = QLatin1String(QT_TRANSLATE_NOOP("QHttp", "Unknown error")); + QMetaObject::invokeMethod(q, "_q_slotDoFinished", Qt::QueuedConnection); + post100ContinueTimer.setSingleShot(true); + QObject::connect(&post100ContinueTimer, SIGNAL(timeout()), q, SLOT(_q_continuePost())); } /*! @@ -1588,7 +1648,7 @@ void QHttpPrivate::init() */ QHttp::~QHttp() { - abort(); + abort(); } void QHttp::_q_startNextRequest() @@ -1867,14 +1927,14 @@ void QHttp::_q_continuePost() */ void QHttp::abort() { - if (d->pending.isEmpty()) - return; + if(d->pending.isEmpty()) + return; - d->finishedWithError(tr("Request aborted"), Aborted); - clearPendingRequests(); - if (d->socket) - d->socket->abort(); - d->closeConn(); + d->finishedWithError(tr("Request aborted"), Aborted); + clearPendingRequests(); + if(d->socket) + d->socket->abort(); + d->closeConn(); } /*! @@ -1886,9 +1946,9 @@ void QHttp::abort() qint64 QHttp::bytesAvailable() const { #if defined(QHTTP_DEBUG) - qDebug("QHttp::bytesAvailable(): %d bytes", (int)d->rba.size()); + qDebug("QHttp::bytesAvailable(): %d bytes", (int)d->rba.size()); #endif - return qint64(d->rba.size()); + return qint64(d->rba.size()); } /*! \fn qint64 QHttp::readBlock(char *data, quint64 maxlen) @@ -1902,28 +1962,30 @@ qint64 QHttp::bytesAvailable() const \sa get() post() request() readyRead() bytesAvailable() readAll() */ -qint64 QHttp::read(char *data, qint64 maxlen) -{ - if (data == 0 && maxlen != 0) { - qWarning("QHttp::read: Null pointer error"); - return -1; - } - if (maxlen >= d->rba.size()) - maxlen = d->rba.size(); - int readSoFar = 0; - while (!d->rba.isEmpty() && readSoFar < maxlen) { - int nextBlockSize = d->rba.nextDataBlockSize(); - int bytesToRead = qMin(maxlen - readSoFar, nextBlockSize); - memcpy(data + readSoFar, d->rba.readPointer(), bytesToRead); - d->rba.free(bytesToRead); - readSoFar += bytesToRead; - } - - d->bytesDone += maxlen; +qint64 QHttp::read(char * data, qint64 maxlen) +{ + if(data == 0 && maxlen != 0) + { + qWarning("QHttp::read: Null pointer error"); + return -1; + } + if(maxlen >= d->rba.size()) + maxlen = d->rba.size(); + int readSoFar = 0; + while(!d->rba.isEmpty() && readSoFar < maxlen) + { + int nextBlockSize = d->rba.nextDataBlockSize(); + int bytesToRead = qMin(maxlen - readSoFar, nextBlockSize); + memcpy(data + readSoFar, d->rba.readPointer(), bytesToRead); + d->rba.free(bytesToRead); + readSoFar += bytesToRead; + } + + d->bytesDone += maxlen; #if defined(QHTTP_DEBUG) - qDebug("QHttp::read(): read %lld bytes (%lld bytes done)", maxlen, d->bytesDone); + qDebug("QHttp::read(): read %lld bytes (%lld bytes done)", maxlen, d->bytesDone); #endif - return maxlen; + return maxlen; } /*! @@ -1933,12 +1995,12 @@ qint64 QHttp::read(char *data, qint64 maxlen) */ QByteArray QHttp::readAll() { - qint64 avail = bytesAvailable(); - QByteArray tmp; - tmp.resize(int(avail)); - qint64 got = read(tmp.data(), int(avail)); - tmp.resize(got); - return tmp; + qint64 avail = bytesAvailable(); + QByteArray tmp; + tmp.resize(int(avail)); + qint64 got = read(tmp.data(), int(avail)); + tmp.resize(got); + return tmp; } /*! @@ -1949,9 +2011,9 @@ QByteArray QHttp::readAll() */ int QHttp::currentId() const { - if (d->pending.isEmpty()) - return 0; - return d->pending.first()->id; + if(d->pending.isEmpty()) + return 0; + return d->pending.first()->id; } /*! @@ -1964,12 +2026,13 @@ int QHttp::currentId() const */ QHttpRequestHeader QHttp::currentRequest() const { - if (!d->pending.isEmpty()) { - QHttpRequest *r = d->pending.first(); - if (r->hasRequestHeader()) - return r->requestHeader(); - } - return QHttpRequestHeader(); + if(!d->pending.isEmpty()) + { + QHttpRequest * r = d->pending.first(); + if(r->hasRequestHeader()) + return r->requestHeader(); + } + return QHttpRequestHeader(); } /*! @@ -1981,7 +2044,7 @@ QHttpRequestHeader QHttp::currentRequest() const */ QHttpResponseHeader QHttp::lastResponse() const { - return d->response; + return d->response; } /*! @@ -1994,11 +2057,11 @@ QHttpResponseHeader QHttp::lastResponse() const \sa currentDestinationDevice() post() request() */ -QIODevice *QHttp::currentSourceDevice() const +QIODevice * QHttp::currentSourceDevice() const { - if (d->pending.isEmpty()) - return 0; - return d->pending.first()->sourceDevice(); + if(d->pending.isEmpty()) + return 0; + return d->pending.first()->sourceDevice(); } /*! @@ -2011,11 +2074,11 @@ QIODevice *QHttp::currentSourceDevice() const \sa currentSourceDevice() get() post() request() */ -QIODevice *QHttp::currentDestinationDevice() const +QIODevice * QHttp::currentDestinationDevice() const { - if (d->pending.isEmpty()) - return 0; - return d->pending.first()->destinationDevice(); + if(d->pending.isEmpty()) + return 0; + return d->pending.first()->destinationDevice(); } /*! @@ -2029,7 +2092,7 @@ QIODevice *QHttp::currentDestinationDevice() const */ bool QHttp::hasPendingRequests() const { - return d->pending.count() > 1; + return d->pending.count() > 1; } /*! @@ -2041,9 +2104,9 @@ bool QHttp::hasPendingRequests() const */ void QHttp::clearPendingRequests() { - // delete all entires except the first one - while (d->pending.count() > 1) - delete d->pending.takeLast(); + // delete all entires except the first one + while(d->pending.count() > 1) + delete d->pending.takeLast(); } /*! @@ -2061,9 +2124,9 @@ void QHttp::clearPendingRequests() \sa get() post() head() request() requestStarted() requestFinished() done() */ -int QHttp::setHost(const QString &hostName, quint16 port) +int QHttp::setHost(const QString & hostName, quint16 port) { - return d->addRequest(new QHttpSetHostRequest(hostName, port, ConnectionModeHttp)); + return d->addRequest(new QHttpSetHostRequest(hostName, port, ConnectionModeHttp)); } /*! @@ -2084,15 +2147,15 @@ int QHttp::setHost(const QString &hostName, quint16 port) \sa get() post() head() request() requestStarted() requestFinished() done() */ -int QHttp::setHost(const QString &hostName, ConnectionMode mode, quint16 port) +int QHttp::setHost(const QString & hostName, ConnectionMode mode, quint16 port) { #ifdef QT_NO_OPENSSL - if (mode == ConnectionModeHttps) - qWarning("QHttp::setHost: HTTPS connection requested but SSL support not compiled in"); + if(mode == ConnectionModeHttps) + qWarning("QHttp::setHost: HTTPS connection requested but SSL support not compiled in"); #endif - if (port == 0) - port = (mode == ConnectionModeHttp) ? 80 : 443; - return d->addRequest(new QHttpSetHostRequest(hostName, port, mode)); + if(port == 0) + port = (mode == ConnectionModeHttp) ? 80 : 443; + return d->addRequest(new QHttpSetHostRequest(hostName, port, mode)); } /*! @@ -2116,9 +2179,9 @@ int QHttp::setHost(const QString &hostName, ConnectionMode mode, quint16 port) \sa QObject::moveToThread(), {Thread Support in Qt} */ -int QHttp::setSocket(QTcpSocket *socket) +int QHttp::setSocket(QTcpSocket * socket) { - return d->addRequest(new QHttpSetSocketRequest(socket)); + return d->addRequest(new QHttpSetSocketRequest(socket)); } /*! @@ -2134,9 +2197,9 @@ int QHttp::setSocket(QTcpSocket *socket) emitted. When it is finished the requestFinished() signal is emitted. */ -int QHttp::setUser(const QString &userName, const QString &password) +int QHttp::setUser(const QString & userName, const QString & password) { - return d->addRequest(new QHttpSetUserRequest(userName, password)); + return d->addRequest(new QHttpSetUserRequest(userName, password)); } #ifndef QT_NO_NETWORKPROXY @@ -2160,11 +2223,11 @@ int QHttp::setUser(const QString &userName, const QString &password) \sa QFtp::setProxy() */ -int QHttp::setProxy(const QString &host, int port, - const QString &username, const QString &password) +int QHttp::setProxy(const QString & host, int port, + const QString & username, const QString & password) { - QNetworkProxy proxy(QNetworkProxy::HttpProxy, host, port, username, password); - return d->addRequest(new QHttpSetProxyRequest(proxy)); + QNetworkProxy proxy(QNetworkProxy::HttpProxy, host, port, username, password); + return d->addRequest(new QHttpSetProxyRequest(proxy)); } /*! @@ -2181,9 +2244,9 @@ int QHttp::setProxy(const QString &host, int port, is, ConnectionModeHttp), QHttp will treat the proxy as a caching proxy. */ -int QHttp::setProxy(const QNetworkProxy &proxy) +int QHttp::setProxy(const QNetworkProxy & proxy) { - return d->addRequest(new QHttpSetProxyRequest(proxy)); + return d->addRequest(new QHttpSetProxyRequest(proxy)); } #endif @@ -2219,11 +2282,11 @@ int QHttp::setProxy(const QNetworkProxy &proxy) \sa setHost(), post(), head(), request(), requestStarted(), requestFinished(), done() */ -int QHttp::get(const QString &path, QIODevice *to) +int QHttp::get(const QString & path, QIODevice * to) { - QHttpRequestHeader header(QLatin1String("GET"), path); - header.setValue(QLatin1String("Connection"), QLatin1String("Keep-Alive")); - return d->addRequest(new QHttpPGHRequest(header, (QIODevice *) 0, to)); + QHttpRequestHeader header(QLatin1String("GET"), path); + header.setValue(QLatin1String("Connection"), QLatin1String("Keep-Alive")); + return d->addRequest(new QHttpPGHRequest(header, (QIODevice *)0, to)); } /*! @@ -2256,11 +2319,11 @@ int QHttp::get(const QString &path, QIODevice *to) \sa setHost() get() head() request() requestStarted() requestFinished() done() */ -int QHttp::post(const QString &path, QIODevice *data, QIODevice *to ) +int QHttp::post(const QString & path, QIODevice * data, QIODevice * to) { - QHttpRequestHeader header(QLatin1String("POST"), path); - header.setValue(QLatin1String("Connection"), QLatin1String("Keep-Alive")); - return d->addRequest(new QHttpPGHRequest(header, data, to)); + QHttpRequestHeader header(QLatin1String("POST"), path); + header.setValue(QLatin1String("Connection"), QLatin1String("Keep-Alive")); + return d->addRequest(new QHttpPGHRequest(header, data, to)); } /*! @@ -2268,11 +2331,11 @@ int QHttp::post(const QString &path, QIODevice *data, QIODevice *to ) \a data is used as the content data of the HTTP request. */ -int QHttp::post(const QString &path, const QByteArray &data, QIODevice *to) +int QHttp::post(const QString & path, const QByteArray & data, QIODevice * to) { - QHttpRequestHeader header(QLatin1String("POST"), path); - header.setValue(QLatin1String("Connection"), QLatin1String("Keep-Alive")); - return d->addRequest(new QHttpPGHRequest(header, new QByteArray(data), to)); + QHttpRequestHeader header(QLatin1String("POST"), path); + header.setValue(QLatin1String("Connection"), QLatin1String("Keep-Alive")); + return d->addRequest(new QHttpPGHRequest(header, new QByteArray(data), to)); } /*! @@ -2293,11 +2356,11 @@ int QHttp::post(const QString &path, const QByteArray &data, QIODevice *to) \sa setHost() get() post() request() requestStarted() requestFinished() done() */ -int QHttp::head(const QString &path) +int QHttp::head(const QString & path) { - QHttpRequestHeader header(QLatin1String("HEAD"), path); - header.setValue(QLatin1String("Connection"), QLatin1String("Keep-Alive")); - return d->addRequest(new QHttpPGHRequest(header, (QIODevice*)0, 0)); + QHttpRequestHeader header(QLatin1String("HEAD"), path); + header.setValue(QLatin1String("Connection"), QLatin1String("Keep-Alive")); + return d->addRequest(new QHttpPGHRequest(header, (QIODevice *)0, 0)); } /*! @@ -2327,9 +2390,9 @@ int QHttp::head(const QString &path) \sa setHost() get() post() head() requestStarted() requestFinished() done() */ -int QHttp::request(const QHttpRequestHeader &header, QIODevice *data, QIODevice *to) +int QHttp::request(const QHttpRequestHeader & header, QIODevice * data, QIODevice * to) { - return d->addRequest(new QHttpNormalRequest(header, data, to)); + return d->addRequest(new QHttpNormalRequest(header, data, to)); } /*! @@ -2337,9 +2400,9 @@ int QHttp::request(const QHttpRequestHeader &header, QIODevice *data, QIODevice \a data is used as the content data of the HTTP request. */ -int QHttp::request(const QHttpRequestHeader &header, const QByteArray &data, QIODevice *to ) +int QHttp::request(const QHttpRequestHeader & header, const QByteArray & data, QIODevice * to) { - return d->addRequest(new QHttpNormalRequest(header, new QByteArray(data), to)); + return d->addRequest(new QHttpNormalRequest(header, new QByteArray(data), to)); } /*! @@ -2368,7 +2431,7 @@ int QHttp::request(const QHttpRequestHeader &header, const QByteArray &data, QIO */ int QHttp::close() { - return d->addRequest(new QHttpCloseRequest()); + return d->addRequest(new QHttpCloseRequest()); } /*! @@ -2378,679 +2441,777 @@ int QHttp::close() */ int QHttp::closeConnection() { - return d->addRequest(new QHttpCloseRequest()); + return d->addRequest(new QHttpCloseRequest()); } -int QHttpPrivate::addRequest(QHttpNormalRequest *req) +int QHttpPrivate::addRequest(QHttpNormalRequest * req) { - QHttpRequestHeader h = req->requestHeader(); - if (h.path().isEmpty()) { - // note: the following qWarning is autotested. If you change it, change the test too. - qWarning("QHttp: empty path requested is invalid -- using '/'"); - h.setRequest(h.method(), QLatin1String("/"), h.majorVersion(), h.minorVersion()); - req->setRequestHeader(h); - } + QHttpRequestHeader h = req->requestHeader(); + if(h.path().isEmpty()) + { + // note: the following qWarning is autotested. If you change it, change the test too. + qWarning("QHttp: empty path requested is invalid -- using '/'"); + h.setRequest(h.method(), QLatin1String("/"), h.majorVersion(), h.minorVersion()); + req->setRequestHeader(h); + } - // contine below - return addRequest(static_cast(req)); + // contine below + return addRequest(static_cast(req)); } -int QHttpPrivate::addRequest(QHttpRequest *req) +int QHttpPrivate::addRequest(QHttpRequest * req) { - Q_Q(QHttp); - pending.append(req); + Q_Q(QHttp); + pending.append(req); - if (pending.count() == 1) { - // don't emit the requestStarted() signal before the id is returned - QMetaObject::invokeMethod(q, "_q_startNextRequest", Qt::QueuedConnection); - } - return req->id; + if(pending.count() == 1) + { + // don't emit the requestStarted() signal before the id is returned + QMetaObject::invokeMethod(q, "_q_startNextRequest", Qt::QueuedConnection); + } + return req->id; } void QHttpPrivate::_q_startNextRequest() { - Q_Q(QHttp); - if (pending.isEmpty()) - return; - QHttpRequest *r = pending.first(); + Q_Q(QHttp); + if(pending.isEmpty()) + return; + QHttpRequest * r = pending.first(); - error = QHttp::NoError; - errorString = QLatin1String(QT_TRANSLATE_NOOP("QHttp", "Unknown error")); + error = QHttp::NoError; + errorString = QLatin1String(QT_TRANSLATE_NOOP("QHttp", "Unknown error")); - if (q->bytesAvailable() != 0) - q->readAll(); // clear the data - emit q->requestStarted(r->id); - r->start(q); + if(q->bytesAvailable() != 0) + q->readAll(); // clear the data + emit q->requestStarted(r->id); + r->start(q); } void QHttpPrivate::_q_slotSendRequest() { - if (hostName.isNull()) { - finishedWithError(QLatin1String(QT_TRANSLATE_NOOP("QHttp", "No server set to connect to")), - QHttp::UnknownError); - return; - } + if(hostName.isNull()) + { + finishedWithError(QLatin1String(QT_TRANSLATE_NOOP("QHttp", "No server set to connect to")), + QHttp::UnknownError); + return; + } - QString connectionHost = hostName; - int connectionPort = port; - bool sslInUse = false; + QString connectionHost = hostName; + int connectionPort = port; + bool sslInUse = false; #ifndef QT_NO_OPENSSL - QSslSocket *sslSocket = qobject_cast(socket); - if (mode == QHttp::ConnectionModeHttps || (sslSocket && sslSocket->isEncrypted())) - sslInUse = true; + QSslSocket * sslSocket = qobject_cast(socket); + if(mode == QHttp::ConnectionModeHttps || (sslSocket && sslSocket->isEncrypted())) + sslInUse = true; #endif #ifndef QT_NO_NETWORKPROXY - bool cachingProxyInUse = false; - bool transparentProxyInUse = false; - if (proxy.type() == QNetworkProxy::DefaultProxy) - proxy = QNetworkProxy::applicationProxy(); - - if (proxy.type() == QNetworkProxy::HttpCachingProxy) { - if (proxy.hostName().isEmpty()) - proxy.setType(QNetworkProxy::NoProxy); - else - cachingProxyInUse = true; - } else if (proxy.type() == QNetworkProxy::HttpProxy) { - // Compatibility behaviour: HttpProxy can be used to mean both - // transparent and caching proxy - if (proxy.hostName().isEmpty()) { - proxy.setType(QNetworkProxy::NoProxy); - } else if (sslInUse) { - // Disallow use of caching proxy with HTTPS; instead fall back to - // transparent HTTP CONNECT proxying. - transparentProxyInUse = true; - } else { - proxy.setType(QNetworkProxy::HttpCachingProxy); - cachingProxyInUse = true; - } - } - - // Proxy support. Insert the Proxy-Authorization item into the - // header before it's sent off to the proxy. - if (cachingProxyInUse) { - QUrl proxyUrl; - proxyUrl.setScheme(QLatin1String("http")); - proxyUrl.setHost(hostName); - if (port && port != 80) - proxyUrl.setPort(port); - QString request = QString::fromLatin1(proxyUrl.resolved(QUrl::fromEncoded(header.path().toLatin1())).toEncoded()); - - header.setRequest(header.method(), request, header.majorVersion(), header.minorVersion()); - header.setValue(QLatin1String("Proxy-Connection"), QLatin1String("keep-alive")); - - QHttpAuthenticatorPrivate *auth = QHttpAuthenticatorPrivate::getPrivate(proxyAuthenticator); - if (auth && auth->method != QHttpAuthenticatorPrivate::None) { - QByteArray response = auth->calculateResponse(header.method().toLatin1(), header.path().toLatin1()); - header.setValue(QLatin1String("Proxy-Authorization"), QString::fromLatin1(response)); - } - - connectionHost = proxy.hostName(); - connectionPort = proxy.port(); - } - - if (transparentProxyInUse || sslInUse) { - socket->setProxy(proxy); - } + bool cachingProxyInUse = false; + bool transparentProxyInUse = false; + if(proxy.type() == QNetworkProxy::DefaultProxy) + proxy = QNetworkProxy::applicationProxy(); + + if(proxy.type() == QNetworkProxy::HttpCachingProxy) + { + if(proxy.hostName().isEmpty()) + proxy.setType(QNetworkProxy::NoProxy); + else + cachingProxyInUse = true; + } + else if(proxy.type() == QNetworkProxy::HttpProxy) + { + // Compatibility behaviour: HttpProxy can be used to mean both + // transparent and caching proxy + if(proxy.hostName().isEmpty()) + { + proxy.setType(QNetworkProxy::NoProxy); + } + else if(sslInUse) + { + // Disallow use of caching proxy with HTTPS; instead fall back to + // transparent HTTP CONNECT proxying. + transparentProxyInUse = true; + } + else + { + proxy.setType(QNetworkProxy::HttpCachingProxy); + cachingProxyInUse = true; + } + } + + // Proxy support. Insert the Proxy-Authorization item into the + // header before it's sent off to the proxy. + if(cachingProxyInUse) + { + QUrl proxyUrl; + proxyUrl.setScheme(QLatin1String("http")); + proxyUrl.setHost(hostName); + if(port && port != 80) + proxyUrl.setPort(port); + QString request = QString::fromLatin1(proxyUrl.resolved(QUrl::fromEncoded(header.path().toLatin1())).toEncoded()); + + header.setRequest(header.method(), request, header.majorVersion(), header.minorVersion()); + header.setValue(QLatin1String("Proxy-Connection"), QLatin1String("keep-alive")); + + QHttpAuthenticatorPrivate * auth = QHttpAuthenticatorPrivate::getPrivate(proxyAuthenticator); + if(auth && auth->method != QHttpAuthenticatorPrivate::None) + { + QByteArray response = auth->calculateResponse(header.method().toLatin1(), header.path().toLatin1()); + header.setValue(QLatin1String("Proxy-Authorization"), QString::fromLatin1(response)); + } + + connectionHost = proxy.hostName(); + connectionPort = proxy.port(); + } + + if(transparentProxyInUse || sslInUse) + { + socket->setProxy(proxy); + } #endif - // Username support. Insert the user and password into the query - // string. - QHttpAuthenticatorPrivate *auth = QHttpAuthenticatorPrivate::getPrivate(authenticator); - if (auth && auth->method != QHttpAuthenticatorPrivate::None) { - QByteArray response = auth->calculateResponse(header.method().toLatin1(), header.path().toLatin1()); - header.setValue(QLatin1String("Authorization"), QString::fromLatin1(response)); - } - - // Do we need to setup a new connection or can we reuse an - // existing one? - if (socket->peerName() != connectionHost || socket->peerPort() != connectionPort - || socket->state() != QTcpSocket::ConnectedState + // Username support. Insert the user and password into the query + // string. + QHttpAuthenticatorPrivate * auth = QHttpAuthenticatorPrivate::getPrivate(authenticator); + if(auth && auth->method != QHttpAuthenticatorPrivate::None) + { + QByteArray response = auth->calculateResponse(header.method().toLatin1(), header.path().toLatin1()); + header.setValue(QLatin1String("Authorization"), QString::fromLatin1(response)); + } + + // Do we need to setup a new connection or can we reuse an + // existing one? + if(socket->peerName() != connectionHost || socket->peerPort() != connectionPort + || socket->state() != QTcpSocket::ConnectedState #ifndef QT_NO_OPENSSL - || (sslSocket && sslSocket->isEncrypted() != (mode == QHttp::ConnectionModeHttps)) + || (sslSocket && sslSocket->isEncrypted() != (mode == QHttp::ConnectionModeHttps)) #endif - ) { - socket->blockSignals(true); - socket->abort(); - socket->blockSignals(false); + ) + { + socket->blockSignals(true); + socket->abort(); + socket->blockSignals(false); - setState(QHttp::Connecting); + setState(QHttp::Connecting); #ifndef QT_NO_OPENSSL - if (sslSocket && mode == QHttp::ConnectionModeHttps) { - sslSocket->connectToHostEncrypted(hostName, port); - } else + if(sslSocket && mode == QHttp::ConnectionModeHttps) + { + sslSocket->connectToHostEncrypted(hostName, port); + } + else #endif - { - socket->connectToHost(connectionHost, connectionPort); - } - } else { - _q_slotConnected(); - } - + { + socket->connectToHost(connectionHost, connectionPort); + } + } + else + { + _q_slotConnected(); + } } void QHttpPrivate::finishedWithSuccess() { - Q_Q(QHttp); - if (pending.isEmpty()) - return; - QHttpRequest *r = pending.first(); - - // did we recurse? - if (r->finished) - return; - r->finished = true; - hasFinishedWithError = false; - - emit q->requestFinished(r->id, false); - if (hasFinishedWithError) { - // we recursed and changed into an error. The finishedWithError function - // below has emitted the done(bool) signal and cleared the queue by now. - return; - } - - pending.removeFirst(); - delete r; - - if (pending.isEmpty()) { - emit q->done(false); - } else { - _q_startNextRequest(); - } -} - -void QHttpPrivate::finishedWithError(const QString &detail, int errorCode) -{ - Q_Q(QHttp); - if (pending.isEmpty()) - return; - QHttpRequest *r = pending.first(); - hasFinishedWithError = true; - - error = QHttp::Error(errorCode); - errorString = detail; - - // did we recurse? - if (!r->finished) { - r->finished = true; - emit q->requestFinished(r->id, true); - } - - while (!pending.isEmpty()) - delete pending.takeFirst(); - emit q->done(hasFinishedWithError); + Q_Q(QHttp); + if(pending.isEmpty()) + return; + QHttpRequest * r = pending.first(); + + // did we recurse? + if(r->finished) + return; + r->finished = true; + hasFinishedWithError = false; + + emit q->requestFinished(r->id, false); + if(hasFinishedWithError) + { + // we recursed and changed into an error. The finishedWithError function + // below has emitted the done(bool) signal and cleared the queue by now. + return; + } + + pending.removeFirst(); + delete r; + + if(pending.isEmpty()) + { + emit q->done(false); + } + else + { + _q_startNextRequest(); + } +} + +void QHttpPrivate::finishedWithError(const QString & detail, int errorCode) +{ + Q_Q(QHttp); + if(pending.isEmpty()) + return; + QHttpRequest * r = pending.first(); + hasFinishedWithError = true; + + error = QHttp::Error(errorCode); + errorString = detail; + + // did we recurse? + if(!r->finished) + { + r->finished = true; + emit q->requestFinished(r->id, true); + } + + while(!pending.isEmpty()) + delete pending.takeFirst(); + emit q->done(hasFinishedWithError); } void QHttpPrivate::_q_slotClosed() { - Q_Q(QHttp); - - if (state == QHttp::Reading) { - if (response.hasKey(QLatin1String("content-length"))) { - // We got Content-Length, so did we get all bytes? - if (bytesDone + q->bytesAvailable() != response.contentLength()) { - finishedWithError(QLatin1String(QT_TRANSLATE_NOOP("QHttp", "Wrong content length")), QHttp::WrongContentLength); - } - } - } else if (state == QHttp::Connecting || state == QHttp::Sending) { - finishedWithError(QLatin1String(QT_TRANSLATE_NOOP("QHttp", "Server closed connection unexpectedly")), QHttp::UnexpectedClose); - } - - postDevice = 0; - if (state != QHttp::Closing) - setState(QHttp::Closing); - QMetaObject::invokeMethod(q, "_q_slotDoFinished", Qt::QueuedConnection); + Q_Q(QHttp); + + if(state == QHttp::Reading) + { + if(response.hasKey(QLatin1String("content-length"))) + { + // We got Content-Length, so did we get all bytes? + if(bytesDone + q->bytesAvailable() != response.contentLength()) + { + finishedWithError(QLatin1String(QT_TRANSLATE_NOOP("QHttp", "Wrong content length")), QHttp::WrongContentLength); + } + } + } + else if(state == QHttp::Connecting || state == QHttp::Sending) + { + finishedWithError(QLatin1String(QT_TRANSLATE_NOOP("QHttp", "Server closed connection unexpectedly")), QHttp::UnexpectedClose); + } + + postDevice = 0; + if(state != QHttp::Closing) + setState(QHttp::Closing); + QMetaObject::invokeMethod(q, "_q_slotDoFinished", Qt::QueuedConnection); } void QHttpPrivate::_q_continuePost() { - if (pendingPost) { - pendingPost = false; - setState(QHttp::Sending); - _q_slotBytesWritten(0); - } + if(pendingPost) + { + pendingPost = false; + setState(QHttp::Sending); + _q_slotBytesWritten(0); + } } void QHttpPrivate::_q_slotConnected() { - if (state != QHttp::Sending) { - bytesDone = 0; - setState(QHttp::Sending); - } + if(state != QHttp::Sending) + { + bytesDone = 0; + setState(QHttp::Sending); + } - QString str = header.toString(); - bytesTotal = str.length(); - socket->write(str.toLatin1(), bytesTotal); + QString str = header.toString(); + bytesTotal = str.length(); + socket->write(str.toLatin1(), bytesTotal); #if defined(QHTTP_DEBUG) - qDebug("QHttp: write request header %p:\n---{\n%s}---", &header, str.toLatin1().constData()); + qDebug("QHttp: write request header %p:\n---{\n%s}---", &header, str.toLatin1().constData()); #endif - if (postDevice) { - postDevice->seek(0); // reposition the device - bytesTotal += postDevice->size(); - //check for 100-continue - if (header.value(QLatin1String("expect")).contains(QLatin1String("100-continue"), Qt::CaseInsensitive)) { - //create a time out for 2 secs. - pendingPost = true; - post100ContinueTimer.start(2000); - } - } else { - bytesTotal += buffer.size(); - socket->write(buffer, buffer.size()); - } + if(postDevice) + { + postDevice->seek(0); // reposition the device + bytesTotal += postDevice->size(); + //check for 100-continue + if(header.value(QLatin1String("expect")).contains(QLatin1String("100-continue"), Qt::CaseInsensitive)) + { + //create a time out for 2 secs. + pendingPost = true; + post100ContinueTimer.start(2000); + } + } + else + { + bytesTotal += buffer.size(); + socket->write(buffer, buffer.size()); + } } void QHttpPrivate::_q_slotError(QAbstractSocket::SocketError err) { - Q_Q(QHttp); - postDevice = 0; - - if (state == QHttp::Connecting || state == QHttp::Reading || state == QHttp::Sending) { - switch (err) { - case QTcpSocket::ConnectionRefusedError: - finishedWithError(QLatin1String(QT_TRANSLATE_NOOP("QHttp", "Connection refused (or timed out)")), QHttp::ConnectionRefused); - break; - case QTcpSocket::HostNotFoundError: - finishedWithError(QString::fromLatin1(QT_TRANSLATE_NOOP("QHttp", "Host %1 not found")) - .arg(socket->peerName()), QHttp::HostNotFound); - break; - case QTcpSocket::RemoteHostClosedError: - if (state == QHttp::Sending && reconnectAttempts--) { - setState(QHttp::Closing); - setState(QHttp::Unconnected); - socket->blockSignals(true); - socket->abort(); - socket->blockSignals(false); - QMetaObject::invokeMethod(q, "_q_slotSendRequest", Qt::QueuedConnection); - return; - } - break; + Q_Q(QHttp); + postDevice = 0; + + if(state == QHttp::Connecting || state == QHttp::Reading || state == QHttp::Sending) + { + switch(err) + { + case QTcpSocket::ConnectionRefusedError: + finishedWithError(QLatin1String(QT_TRANSLATE_NOOP("QHttp", "Connection refused (or timed out)")), QHttp::ConnectionRefused); + break; + case QTcpSocket::HostNotFoundError: + finishedWithError(QString::fromLatin1(QT_TRANSLATE_NOOP("QHttp", "Host %1 not found")) + .arg(socket->peerName()), + QHttp::HostNotFound); + break; + case QTcpSocket::RemoteHostClosedError: + if(state == QHttp::Sending && reconnectAttempts--) + { + setState(QHttp::Closing); + setState(QHttp::Unconnected); + socket->blockSignals(true); + socket->abort(); + socket->blockSignals(false); + QMetaObject::invokeMethod(q, "_q_slotSendRequest", Qt::QueuedConnection); + return; + } + break; #ifndef QT_NO_NETWORKPROXY - case QTcpSocket::ProxyAuthenticationRequiredError: - finishedWithError(socket->errorString(), QHttp::ProxyAuthenticationRequiredError); - break; + case QTcpSocket::ProxyAuthenticationRequiredError: + finishedWithError(socket->errorString(), QHttp::ProxyAuthenticationRequiredError); + break; #endif - default: - finishedWithError(QLatin1String(QT_TRANSLATE_NOOP("QHttp", "HTTP request failed")), QHttp::UnknownError); - break; - } - } + default: + finishedWithError(QLatin1String(QT_TRANSLATE_NOOP("QHttp", "HTTP request failed")), QHttp::UnknownError); + break; + } + } - closeConn(); + closeConn(); } #ifndef QT_NO_OPENSSL void QHttpPrivate::_q_slotEncryptedBytesWritten(qint64 written) { - Q_UNUSED(written); - postMoreData(); + Q_UNUSED(written); + postMoreData(); } #endif void QHttpPrivate::_q_slotBytesWritten(qint64 written) { - Q_Q(QHttp); - bytesDone += written; - emit q->dataSendProgress(bytesDone, bytesTotal); - postMoreData(); + Q_Q(QHttp); + bytesDone += written; + emit q->dataSendProgress(bytesDone, bytesTotal); + postMoreData(); } // Send the POST data void QHttpPrivate::postMoreData() { - if (pendingPost) - return; + if(pendingPost) + return; - if (!postDevice) - return; + if(!postDevice) + return; - // the following is backported code from Qt 4.6 QNetworkAccessManager. - // We also have to check the encryptedBytesToWrite() if it is an SSL socket. +// the following is backported code from Qt 4.6 QNetworkAccessManager. +// We also have to check the encryptedBytesToWrite() if it is an SSL socket. #ifndef QT_NO_OPENSSL - QSslSocket *sslSocket = qobject_cast(socket); - // if it is really an ssl socket, check more than just bytesToWrite() - if ((socket->bytesToWrite() + (sslSocket ? sslSocket->encryptedBytesToWrite() : 0)) == 0) { + QSslSocket * sslSocket = qobject_cast(socket); + // if it is really an ssl socket, check more than just bytesToWrite() + if((socket->bytesToWrite() + (sslSocket ? sslSocket->encryptedBytesToWrite() : 0)) == 0) + { #else - if (socket->bytesToWrite() == 0) { + if(socket->bytesToWrite() == 0) + { #endif - int max = qMin(4096, postDevice->size() - postDevice->pos()); - QByteArray arr; - arr.resize(max); - - int n = postDevice->read(arr.data(), max); - if (n < 0) { - qWarning("Could not read enough bytes from the device"); - closeConn(); - return; - } - if (postDevice->atEnd()) { - postDevice = 0; - } - - socket->write(arr, n); - } + int max = qMin(4096, postDevice->size() - postDevice->pos()); + QByteArray arr; + arr.resize(max); + + int n = postDevice->read(arr.data(), max); + if(n < 0) + { + qWarning("Could not read enough bytes from the device"); + closeConn(); + return; + } + if(postDevice->atEnd()) + { + postDevice = 0; + } + + socket->write(arr, n); + } } void QHttpPrivate::_q_slotReadyRead() { - Q_Q(QHttp); - QHttp::State oldState = state; - if (state != QHttp::Reading) { - setState(QHttp::Reading); - readHeader = true; - headerStr = QLatin1String(""); - bytesDone = 0; - chunkedSize = -1; - repost = false; - } - - while (readHeader) { - bool end = false; - QString tmp; - while (!end && socket->canReadLine()) { - tmp = QString::fromLatin1(socket->readLine()); - if (tmp == QLatin1String("\r\n") || tmp == QLatin1String("\n") || tmp.isEmpty()) - end = true; - else - headerStr += tmp; - } - - if (!end) - return; - - response = QHttpResponseHeader(headerStr); - headerStr = QLatin1String(""); + Q_Q(QHttp); + QHttp::State oldState = state; + if(state != QHttp::Reading) + { + setState(QHttp::Reading); + readHeader = true; + headerStr = QLatin1String(""); + bytesDone = 0; + chunkedSize = -1; + repost = false; + } + + while(readHeader) + { + bool end = false; + QString tmp; + while(!end && socket->canReadLine()) + { + tmp = QString::fromLatin1(socket->readLine()); + if(tmp == QLatin1String("\r\n") || tmp == QLatin1String("\n") || tmp.isEmpty()) + end = true; + else + headerStr += tmp; + } + + if(!end) + return; + + response = QHttpResponseHeader(headerStr); + headerStr = QLatin1String(""); #if defined(QHTTP_DEBUG) - qDebug("QHttp: read response header:\n---{\n%s}---", response.toString().toLatin1().constData()); + qDebug("QHttp: read response header:\n---{\n%s}---", response.toString().toLatin1().constData()); #endif - // Check header - if (!response.isValid()) { - finishedWithError(QLatin1String(QT_TRANSLATE_NOOP("QHttp", "Invalid HTTP response header")), - QHttp::InvalidResponseHeader); - closeConn(); - return; - } - - int statusCode = response.statusCode(); - if (statusCode == 401 || statusCode == 407) { // (Proxy) Authentication required - QHttpAuthenticator *auth = + // Check header + if(!response.isValid()) + { + finishedWithError(QLatin1String(QT_TRANSLATE_NOOP("QHttp", "Invalid HTTP response header")), + QHttp::InvalidResponseHeader); + closeConn(); + return; + } + + int statusCode = response.statusCode(); + if(statusCode == 401 || statusCode == 407) + { // (Proxy) Authentication required + QHttpAuthenticator * auth = #ifndef QT_NO_NETWORKPROXY - statusCode == 407 - ? &proxyAuthenticator : + statusCode == 407 + ? &proxyAuthenticator + : #endif - &authenticator; - if (auth->isNull()) - auth->detach(); - QHttpAuthenticatorPrivate *priv = QHttpAuthenticatorPrivate::getPrivate(*auth); - priv->parseHttpResponse(response, (statusCode == 407)); - if (priv->phase == QHttpAuthenticatorPrivate::Done) { - socket->blockSignals(true); + &authenticator; + if(auth->isNull()) + auth->detach(); + QHttpAuthenticatorPrivate * priv = QHttpAuthenticatorPrivate::getPrivate(*auth); + priv->parseHttpResponse(response, (statusCode == 407)); + if(priv->phase == QHttpAuthenticatorPrivate::Done) + { + socket->blockSignals(true); #ifndef QT_NO_NETWORKPROXY - if (statusCode == 407) { - //need to emit a QAuthenticator to maintain source compatibility - QAuthenticator qauthClean = auth->toQAuthenticator(); - QAuthenticator qauthToEmit = qauthClean; - emit q->proxyAuthenticationRequired(proxy, &qauthToEmit); - if (qauthClean != qauthToEmit) { - //user changed something, copy back (which will reset our state) - *auth = qauthToEmit; - } - } else + if(statusCode == 407) + { + //need to emit a QAuthenticator to maintain source compatibility + QAuthenticator qauthClean = auth->toQAuthenticator(); + QAuthenticator qauthToEmit = qauthClean; + emit q->proxyAuthenticationRequired(proxy, &qauthToEmit); + if(qauthClean != qauthToEmit) + { + //user changed something, copy back (which will reset our state) + *auth = qauthToEmit; + } + } + else #endif - { - //need to emit a QAuthenticator to maintain source compatibility - QAuthenticator qauthClean = auth->toQAuthenticator(); - QAuthenticator qauthToEmit = qauthClean; - emit q->authenticationRequired(hostName, port, &qauthToEmit); - if (qauthClean != qauthToEmit) { - //user changed something, copy back (which will reset our state) - *auth = qauthToEmit; - } - } - socket->blockSignals(false); - } else if (priv->phase == QHttpAuthenticatorPrivate::Invalid) { - finishedWithError(QLatin1String(QT_TRANSLATE_NOOP("QHttp", "Unknown authentication method")), - QHttp::AuthenticationRequiredError); - closeConn(); - return; - } - - // priv->phase will get reset to QHttpAuthenticatorPrivate::Start if the authenticator got modified in the signal above. - if (priv->phase == QHttpAuthenticatorPrivate::Done) { + { + //need to emit a QAuthenticator to maintain source compatibility + QAuthenticator qauthClean = auth->toQAuthenticator(); + QAuthenticator qauthToEmit = qauthClean; + emit q->authenticationRequired(hostName, port, &qauthToEmit); + if(qauthClean != qauthToEmit) + { + //user changed something, copy back (which will reset our state) + *auth = qauthToEmit; + } + } + socket->blockSignals(false); + } + else if(priv->phase == QHttpAuthenticatorPrivate::Invalid) + { + finishedWithError(QLatin1String(QT_TRANSLATE_NOOP("QHttp", "Unknown authentication method")), + QHttp::AuthenticationRequiredError); + closeConn(); + return; + } + + // priv->phase will get reset to QHttpAuthenticatorPrivate::Start if the authenticator got modified in the signal above. + if(priv->phase == QHttpAuthenticatorPrivate::Done) + { #ifndef QT_NO_NETWORKPROXY - if (statusCode == 407) - finishedWithError(QLatin1String(QT_TRANSLATE_NOOP("QHttp", "Proxy authentication required")), - QHttp::ProxyAuthenticationRequiredError); - else + if(statusCode == 407) + finishedWithError(QLatin1String(QT_TRANSLATE_NOOP("QHttp", "Proxy authentication required")), + QHttp::ProxyAuthenticationRequiredError); + else #endif - finishedWithError(QLatin1String(QT_TRANSLATE_NOOP("QHttp", "Authentication required")), - QHttp::AuthenticationRequiredError); - closeConn(); - return; - } else { - // close the connection if it isn't already and reconnect using the chosen authentication method - bool willClose = (response.value(QLatin1String("proxy-connection")).toLower() == QLatin1String("close")) - || (response.value(QLatin1String("connection")).toLower() == QLatin1String("close")); - if (willClose) { - if (socket) { - setState(QHttp::Closing); - socket->blockSignals(true); - socket->close(); - socket->blockSignals(false); - socket->readAll(); - } - _q_slotSendRequest(); - return; - } else { - repost = true; - } - } - } else { - buffer.clear(); - } - - if (response.statusCode() == 100 && pendingPost) { - // if we have pending POST, start sending data otherwise ignore - post100ContinueTimer.stop(); - QMetaObject::invokeMethod(q, "_q_continuePost", Qt::QueuedConnection); - return; - } - - // The 100-continue header is ignored (in case of no 'expect:100-continue' header), - // because when using the POST method, we send both the request header and data in - // one chunk. - if (response.statusCode() != 100) { - post100ContinueTimer.stop(); - pendingPost = false; - readHeader = false; - if (response.hasKey(QLatin1String("transfer-encoding")) && - response.value(QLatin1String("transfer-encoding")).toLower().contains(QLatin1String("chunked"))) - chunkedSize = 0; - - if (!repost) - emit q->responseHeaderReceived(response); - if (state == QHttp::Unconnected || state == QHttp::Closing) - return; - } else { - // Restore the state, the next incoming data will be treated as if - // we never say the 100 response. - state = oldState; - } - } - - bool everythingRead = false; - - if (q->currentRequest().method() == QLatin1String("HEAD") || - response.statusCode() == 304 || response.statusCode() == 204 || - response.statusCode() == 205) { - // HEAD requests have only headers as replies - // These status codes never have a body: - // 304 Not Modified - // 204 No Content - // 205 Reset Content - everythingRead = true; - } else { - qint64 n = socket->bytesAvailable(); - QByteArray *arr = 0; - if (chunkedSize != -1) { - // transfer-encoding is chunked - for (;;) { - // get chunk size - if (chunkedSize == 0) { - if (!socket->canReadLine()) - break; - QString sizeString = QString::fromLatin1(socket->readLine()); - int tPos = sizeString.indexOf(QLatin1Char(';')); - if (tPos != -1) - sizeString.truncate(tPos); - bool ok; - chunkedSize = sizeString.toInt(&ok, 16); - if (!ok) { - finishedWithError(QLatin1String(QT_TRANSLATE_NOOP("QHttp", "Invalid HTTP chunked body")), - QHttp::WrongContentLength); - closeConn(); - delete arr; - return; - } - if (chunkedSize == 0) // last-chunk - chunkedSize = -2; - } - - // read trailer - while (chunkedSize == -2 && socket->canReadLine()) { - QString read = QString::fromLatin1(socket->readLine()); - if (read == QLatin1String("\r\n") || read == QLatin1String("\n")) - chunkedSize = -1; - } - if (chunkedSize == -1) { - everythingRead = true; - break; - } - - // make sure that you can read the terminating CRLF, - // otherwise wait until next time... - n = socket->bytesAvailable(); - if (n == 0) - break; - if (n == chunkedSize || n == chunkedSize+1) { - n = chunkedSize - 1; - if (n == 0) - break; - } - - // read data - qint64 toRead = chunkedSize < 0 ? n : qMin(n, chunkedSize); - if (!arr) - arr = new QByteArray; - uint oldArrSize = arr->size(); - arr->resize(oldArrSize + toRead); - qint64 read = socket->read(arr->data()+oldArrSize, toRead); - arr->resize(oldArrSize + read); - - chunkedSize -= read; - - if (chunkedSize == 0 && n - read >= 2) { - // read terminating CRLF - char tmp[2]; - socket->read(tmp, 2); - if (tmp[0] != '\r' || tmp[1] != '\n') { - finishedWithError(QLatin1String(QT_TRANSLATE_NOOP("QHttp", "Invalid HTTP chunked body")), - QHttp::WrongContentLength); - closeConn(); - delete arr; - return; - } - } - } - } else if (response.hasContentLength()) { - if (repost && (n < response.contentLength())) { - // wait for the content to be available fully - // if repost is required, the content is ignored - return; - } - n = qMin(qint64(response.contentLength() - bytesDone), n); - if (n > 0) { - arr = new QByteArray; - arr->resize(n); - qint64 read = socket->read(arr->data(), n); - arr->resize(read); - } - if (bytesDone + q->bytesAvailable() + n == response.contentLength()) - everythingRead = true; - } else if (n > 0) { - // workaround for VC++ bug - QByteArray temp = socket->readAll(); - arr = new QByteArray(temp); - } - - if (arr && !repost) { - n = arr->size(); - if (toDevice) { - qint64 bytesWritten; - bytesWritten = toDevice->write(*arr, n); - delete arr; - arr = 0; - // if writing to the device does not succeed, quit with error - if (bytesWritten == -1 || bytesWritten < n) { - finishedWithError(QLatin1String(QT_TRANSLATE_NOOP("QHttp", "Error writing response to device")), QHttp::UnknownError); - } else { - bytesDone += bytesWritten; + finishedWithError(QLatin1String(QT_TRANSLATE_NOOP("QHttp", "Authentication required")), + QHttp::AuthenticationRequiredError); + closeConn(); + return; + } + else + { + // close the connection if it isn't already and reconnect using the chosen authentication method + bool willClose = (response.value(QLatin1String("proxy-connection")).toLower() == QLatin1String("close")) + || (response.value(QLatin1String("connection")).toLower() == QLatin1String("close")); + if(willClose) + { + if(socket) + { + setState(QHttp::Closing); + socket->blockSignals(true); + socket->close(); + socket->blockSignals(false); + socket->readAll(); + } + _q_slotSendRequest(); + return; + } + else + { + repost = true; + } + } + } + else + { + buffer.clear(); + } + + if(response.statusCode() == 100 && pendingPost) + { + // if we have pending POST, start sending data otherwise ignore + post100ContinueTimer.stop(); + QMetaObject::invokeMethod(q, "_q_continuePost", Qt::QueuedConnection); + return; + } + + // The 100-continue header is ignored (in case of no 'expect:100-continue' header), + // because when using the POST method, we send both the request header and data in + // one chunk. + if(response.statusCode() != 100) + { + post100ContinueTimer.stop(); + pendingPost = false; + readHeader = false; + if(response.hasKey(QLatin1String("transfer-encoding")) && response.value(QLatin1String("transfer-encoding")).toLower().contains(QLatin1String("chunked"))) + chunkedSize = 0; + + if(!repost) + emit q->responseHeaderReceived(response); + if(state == QHttp::Unconnected || state == QHttp::Closing) + return; + } + else + { + // Restore the state, the next incoming data will be treated as if + // we never say the 100 response. + state = oldState; + } + } + + bool everythingRead = false; + + if(q->currentRequest().method() == QLatin1String("HEAD") || response.statusCode() == 304 || response.statusCode() == 204 || response.statusCode() == 205) + { + // HEAD requests have only headers as replies + // These status codes never have a body: + // 304 Not Modified + // 204 No Content + // 205 Reset Content + everythingRead = true; + } + else + { + qint64 n = socket->bytesAvailable(); + QByteArray * arr = 0; + if(chunkedSize != -1) + { + // transfer-encoding is chunked + for(;;) + { + // get chunk size + if(chunkedSize == 0) + { + if(!socket->canReadLine()) + break; + QString sizeString = QString::fromLatin1(socket->readLine()); + int tPos = sizeString.indexOf(QLatin1Char(';')); + if(tPos != -1) + sizeString.truncate(tPos); + bool ok; + chunkedSize = sizeString.toInt(&ok, 16); + if(!ok) + { + finishedWithError(QLatin1String(QT_TRANSLATE_NOOP("QHttp", "Invalid HTTP chunked body")), + QHttp::WrongContentLength); + closeConn(); + delete arr; + return; + } + if(chunkedSize == 0) // last-chunk + chunkedSize = -2; + } + + // read trailer + while(chunkedSize == -2 && socket->canReadLine()) + { + QString read = QString::fromLatin1(socket->readLine()); + if(read == QLatin1String("\r\n") || read == QLatin1String("\n")) + chunkedSize = -1; + } + if(chunkedSize == -1) + { + everythingRead = true; + break; + } + + // make sure that you can read the terminating CRLF, + // otherwise wait until next time... + n = socket->bytesAvailable(); + if(n == 0) + break; + if(n == chunkedSize || n == chunkedSize + 1) + { + n = chunkedSize - 1; + if(n == 0) + break; + } + + // read data + qint64 toRead = chunkedSize < 0 ? n : qMin(n, chunkedSize); + if(!arr) + arr = new QByteArray; + uint oldArrSize = arr->size(); + arr->resize(oldArrSize + toRead); + qint64 read = socket->read(arr->data() + oldArrSize, toRead); + arr->resize(oldArrSize + read); + + chunkedSize -= read; + + if(chunkedSize == 0 && n - read >= 2) + { + // read terminating CRLF + char tmp[2]; + socket->read(tmp, 2); + if(tmp[0] != '\r' || tmp[1] != '\n') + { + finishedWithError(QLatin1String(QT_TRANSLATE_NOOP("QHttp", "Invalid HTTP chunked body")), + QHttp::WrongContentLength); + closeConn(); + delete arr; + return; + } + } + } + } + else if(response.hasContentLength()) + { + if(repost && (n < response.contentLength())) + { + // wait for the content to be available fully + // if repost is required, the content is ignored + return; + } + n = qMin(qint64(response.contentLength() - bytesDone), n); + if(n > 0) + { + arr = new QByteArray; + arr->resize(n); + qint64 read = socket->read(arr->data(), n); + arr->resize(read); + } + if(bytesDone + q->bytesAvailable() + n == response.contentLength()) + everythingRead = true; + } + else if(n > 0) + { + // workaround for VC++ bug + QByteArray temp = socket->readAll(); + arr = new QByteArray(temp); + } + + if(arr && !repost) + { + n = arr->size(); + if(toDevice) + { + qint64 bytesWritten; + bytesWritten = toDevice->write(*arr, n); + delete arr; + arr = 0; + // if writing to the device does not succeed, quit with error + if(bytesWritten == -1 || bytesWritten < n) + { + finishedWithError(QLatin1String(QT_TRANSLATE_NOOP("QHttp", "Error writing response to device")), QHttp::UnknownError); + } + else + { + bytesDone += bytesWritten; #if defined(QHTTP_DEBUG) - qDebug("QHttp::_q_slotReadyRead(): read %lld bytes (%lld bytes done)", n, bytesDone); + qDebug("QHttp::_q_slotReadyRead(): read %lld bytes (%lld bytes done)", n, bytesDone); #endif - } - if (response.hasContentLength()) - emit q->dataReadProgress(bytesDone, response.contentLength()); - else - emit q->dataReadProgress(bytesDone, 0); - } else { - char *ptr = rba.reserve(arr->size()); - memcpy(ptr, arr->data(), arr->size()); - delete arr; - arr = 0; + } + if(response.hasContentLength()) + emit q->dataReadProgress(bytesDone, response.contentLength()); + else + emit q->dataReadProgress(bytesDone, 0); + } + else + { + char * ptr = rba.reserve(arr->size()); + memcpy(ptr, arr->data(), arr->size()); + delete arr; + arr = 0; #if defined(QHTTP_DEBUG) - qDebug("QHttp::_q_slotReadyRead(): read %lld bytes (%lld bytes done)", n, bytesDone + q->bytesAvailable()); + qDebug("QHttp::_q_slotReadyRead(): read %lld bytes (%lld bytes done)", n, bytesDone + q->bytesAvailable()); #endif - if (response.hasContentLength()) - emit q->dataReadProgress(bytesDone + q->bytesAvailable(), response.contentLength()); - else - emit q->dataReadProgress(bytesDone + q->bytesAvailable(), 0); - emit q->readyRead(response); - } - } - - delete arr; - } - - if (everythingRead) { - if (repost) { - _q_slotSendRequest(); - return; - } - // Handle "Connection: close" - if (response.value(QLatin1String("connection")).toLower() == QLatin1String("close")) { - closeConn(); - } else { - setState(QHttp::Connected); - // Start a timer, so that we emit the keep alive signal - // "after" this method returned. - QMetaObject::invokeMethod(q, "_q_slotDoFinished", Qt::QueuedConnection); - } - } + if(response.hasContentLength()) + emit q->dataReadProgress(bytesDone + q->bytesAvailable(), response.contentLength()); + else + emit q->dataReadProgress(bytesDone + q->bytesAvailable(), 0); + emit q->readyRead(response); + } + } + + delete arr; + } + + if(everythingRead) + { + if(repost) + { + _q_slotSendRequest(); + return; + } + // Handle "Connection: close" + if(response.value(QLatin1String("connection")).toLower() == QLatin1String("close")) + { + closeConn(); + } + else + { + setState(QHttp::Connected); + // Start a timer, so that we emit the keep alive signal + // "after" this method returned. + QMetaObject::invokeMethod(q, "_q_slotDoFinished", Qt::QueuedConnection); + } + } } void QHttpPrivate::_q_slotDoFinished() { - if (state == QHttp::Connected) { - finishedWithSuccess(); - } else if (state != QHttp::Unconnected) { - setState(QHttp::Unconnected); - finishedWithSuccess(); - } + if(state == QHttp::Connected) + { + finishedWithSuccess(); + } + else if(state != QHttp::Unconnected) + { + setState(QHttp::Unconnected); + finishedWithSuccess(); + } } - /*! Returns the current state of the object. When the state changes, the stateChanged() signal is emitted. @@ -3059,7 +3220,7 @@ void QHttpPrivate::_q_slotDoFinished() */ QHttp::State QHttp::state() const { - return d->state; + return d->state; } /*! @@ -3071,7 +3232,7 @@ QHttp::State QHttp::state() const */ QHttp::Error QHttp::error() const { - return d->error; + return d->error; } /*! @@ -3082,79 +3243,84 @@ QHttp::Error QHttp::error() const */ QString QHttp::errorString() const { - return d->errorString; + return d->errorString; } void QHttpPrivate::setState(int s) { - Q_Q(QHttp); + Q_Q(QHttp); #if defined(QHTTP_DEBUG) - qDebug("QHttp state changed %d -> %d", state, s); + qDebug("QHttp state changed %d -> %d", state, s); #endif - state = QHttp::State(s); - emit q->stateChanged(s); + state = QHttp::State(s); + emit q->stateChanged(s); } void QHttpPrivate::closeConn() { - Q_Q(QHttp); - // If no connection is open -> ignore - if (state == QHttp::Closing || state == QHttp::Unconnected) - return; - - postDevice = 0; - setState(QHttp::Closing); - - // Already closed ? - if (!socket || !socket->isOpen()) { - QMetaObject::invokeMethod(q, "_q_slotDoFinished", Qt::QueuedConnection); - } else { - // Close now. - socket->close(); - } -} - -void QHttpPrivate::setSock(QTcpSocket *sock) -{ - Q_Q(const QHttp); - - // disconnect all existing signals - if (socket) - socket->disconnect(); - if (deleteSocket) - delete socket; - - // use the new QTcpSocket socket, or create one if socket is 0. - deleteSocket = (sock == 0); - socket = sock; - if (!socket) { + Q_Q(QHttp); + // If no connection is open -> ignore + if(state == QHttp::Closing || state == QHttp::Unconnected) + return; + + postDevice = 0; + setState(QHttp::Closing); + + // Already closed ? + if(!socket || !socket->isOpen()) + { + QMetaObject::invokeMethod(q, "_q_slotDoFinished", Qt::QueuedConnection); + } + else + { + // Close now. + socket->close(); + } +} + +void QHttpPrivate::setSock(QTcpSocket * sock) +{ + Q_Q(const QHttp); + + // disconnect all existing signals + if(socket) + socket->disconnect(); + if(deleteSocket) + delete socket; + + // use the new QTcpSocket socket, or create one if socket is 0. + deleteSocket = (sock == 0); + socket = sock; + if(!socket) + { #ifndef QT_NO_OPENSSL - if (QSslSocket::supportsSsl()) - socket = new QSslSocket(); - else + if(QSslSocket::supportsSsl()) + socket = new QSslSocket(); + else #endif - socket = new QTcpSocket(); - } - - // connect all signals - QObject::connect(socket, SIGNAL(connected()), q, SLOT(_q_slotConnected())); - QObject::connect(socket, SIGNAL(disconnected()), q, SLOT(_q_slotClosed())); - QObject::connect(socket, SIGNAL(readyRead()), q, SLOT(_q_slotReadyRead())); - QObject::connect(socket, SIGNAL(error(QAbstractSocket::SocketError)), q, SLOT(_q_slotError(QAbstractSocket::SocketError))); - QObject::connect(socket, SIGNAL(bytesWritten(qint64)), - q, SLOT(_q_slotBytesWritten(qint64))); + socket = new QTcpSocket(); + } + + // connect all signals + QObject::connect(socket, SIGNAL(connected()), q, SLOT(_q_slotConnected())); + QObject::connect(socket, SIGNAL(disconnected()), q, SLOT(_q_slotClosed())); + QObject::connect(socket, SIGNAL(readyRead()), q, SLOT(_q_slotReadyRead())); + QObject::connect(socket, SIGNAL(error(QAbstractSocket::SocketError)), q, SLOT(_q_slotError(QAbstractSocket::SocketError))); + QObject::connect(socket, SIGNAL(bytesWritten(qint64)), + q, SLOT(_q_slotBytesWritten(qint64))); #ifndef QT_NO_NETWORKPROXY - QObject::connect(socket, SIGNAL(proxyAuthenticationRequired(QNetworkProxy,QAuthenticator*)), - q, SIGNAL(proxyAuthenticationRequired(QNetworkProxy,QAuthenticator*))); + QObject::connect(socket, SIGNAL(proxyAuthenticationRequired(QNetworkProxy, QAuthenticator *)), + q, SIGNAL(proxyAuthenticationRequired(QNetworkProxy, QAuthenticator *))); #endif #ifndef QT_NO_OPENSSL - if (qobject_cast(socket)) { - QObject::connect(socket, SIGNAL(sslErrors(QList)), - q, SIGNAL(sslErrors(QList))); - QObject::connect(socket, SIGNAL(encryptedBytesWritten(qint64)), - q, SLOT(_q_slotEncryptedBytesWritten(qint64))); - } + if(qobject_cast(socket)) + { + QObject::connect(socket, SIGNAL(sslErrors(QList)), + q, SIGNAL(sslErrors(QList))); + QObject::connect(socket, SIGNAL(encryptedBytesWritten(qint64)), + q, SLOT(_q_slotEncryptedBytesWritten(qint64))); + } #endif } @@ -3170,9 +3336,9 @@ void QHttpPrivate::setSock(QTcpSocket *sock) #ifndef QT_NO_OPENSSL void QHttp::ignoreSslErrors() { - QSslSocket *sslSocket = qobject_cast(d->socket); - if (sslSocket) - sslSocket->ignoreSslErrors(); + QSslSocket * sslSocket = qobject_cast(d->socket); + if(sslSocket) + sslSocket->ignoreSslErrors(); } #endif diff --git a/src/modules/objects/qthttp/qhttp.h b/src/modules/objects/qthttp/qhttp.h index f8fe7614c..f40361656 100644 --- a/src/modules/objects/qthttp/qhttp.h +++ b/src/modules/objects/qthttp/qhttp.h @@ -64,237 +64,239 @@ class QHttpHeaderPrivate; class QHttpHeader { public: - QHttpHeader(); - QHttpHeader(const QHttpHeader &header); - QHttpHeader(const QString &str); - virtual ~QHttpHeader(); - - QHttpHeader &operator=(const QHttpHeader &h); - - void setValue(const QString &key, const QString &value); - void setValues(const QList > &values); - void addValue(const QString &key, const QString &value); - QList > values() const; - bool hasKey(const QString &key) const; - QStringList keys() const; - QString value(const QString &key) const; - QStringList allValues(const QString &key) const; - void removeValue(const QString &key); - void removeAllValues(const QString &key); - - // ### Qt 5: change to qint64 - bool hasContentLength() const; - uint contentLength() const; - void setContentLength(int len); - - bool hasContentType() const; - QString contentType() const; - void setContentType(const QString &type); - - virtual QString toString() const; - bool isValid() const; - - virtual int majorVersion() const = 0; - virtual int minorVersion() const = 0; + QHttpHeader(); + QHttpHeader(const QHttpHeader & header); + QHttpHeader(const QString & str); + virtual ~QHttpHeader(); + + QHttpHeader & operator=(const QHttpHeader & h); + + void setValue(const QString & key, const QString & value); + void setValues(const QList> & values); + void addValue(const QString & key, const QString & value); + QList> values() const; + bool hasKey(const QString & key) const; + QStringList keys() const; + QString value(const QString & key) const; + QStringList allValues(const QString & key) const; + void removeValue(const QString & key); + void removeAllValues(const QString & key); + + // ### Qt 5: change to qint64 + bool hasContentLength() const; + uint contentLength() const; + void setContentLength(int len); + + bool hasContentType() const; + QString contentType() const; + void setContentType(const QString & type); + + virtual QString toString() const; + bool isValid() const; + + virtual int majorVersion() const = 0; + virtual int minorVersion() const = 0; protected: - virtual bool parseLine(const QString &line, int number); - bool parse(const QString &str); - void setValid(bool); + virtual bool parseLine(const QString & line, int number); + bool parse(const QString & str); + void setValid(bool); - QHttpHeader(QHttpHeaderPrivate &dd, const QString &str = QString()); - QHttpHeader(QHttpHeaderPrivate &dd, const QHttpHeader &header); - QScopedPointer d_ptr; + QHttpHeader(QHttpHeaderPrivate & dd, const QString & str = QString()); + QHttpHeader(QHttpHeaderPrivate & dd, const QHttpHeader & header); + QScopedPointer d_ptr; private: - Q_DECLARE_PRIVATE(QHttpHeader) + Q_DECLARE_PRIVATE(QHttpHeader) }; class QHttpResponseHeaderPrivate; class QHttpResponseHeader : public QHttpHeader { public: - QHttpResponseHeader(); - QHttpResponseHeader(const QHttpResponseHeader &header); - QHttpResponseHeader(const QString &str); - QHttpResponseHeader(int code, const QString &text = QString(), int majorVer = 1, int minorVer = 1); - QHttpResponseHeader &operator=(const QHttpResponseHeader &header); + QHttpResponseHeader(); + QHttpResponseHeader(const QHttpResponseHeader & header); + QHttpResponseHeader(const QString & str); + QHttpResponseHeader(int code, const QString & text = QString(), int majorVer = 1, int minorVer = 1); + QHttpResponseHeader & operator=(const QHttpResponseHeader & header); - void setStatusLine(int code, const QString &text = QString(), int majorVer = 1, int minorVer = 1); + void setStatusLine(int code, const QString & text = QString(), int majorVer = 1, int minorVer = 1); - int statusCode() const; - QString reasonPhrase() const; + int statusCode() const; + QString reasonPhrase() const; - int majorVersion() const; - int minorVersion() const; + int majorVersion() const; + int minorVersion() const; - QString toString() const; + QString toString() const; protected: - bool parseLine(const QString &line, int number); + bool parseLine(const QString & line, int number); private: - Q_DECLARE_PRIVATE(QHttpResponseHeader) - friend class QHttpPrivate; + Q_DECLARE_PRIVATE(QHttpResponseHeader) + friend class QHttpPrivate; }; class QHttpRequestHeaderPrivate; class QHttpRequestHeader : public QHttpHeader { public: - QHttpRequestHeader(); - QHttpRequestHeader(const QString &method, const QString &path, int majorVer = 1, int minorVer = 1); - QHttpRequestHeader(const QHttpRequestHeader &header); - QHttpRequestHeader(const QString &str); - QHttpRequestHeader &operator=(const QHttpRequestHeader &header); + QHttpRequestHeader(); + QHttpRequestHeader(const QString & method, const QString & path, int majorVer = 1, int minorVer = 1); + QHttpRequestHeader(const QHttpRequestHeader & header); + QHttpRequestHeader(const QString & str); + QHttpRequestHeader & operator=(const QHttpRequestHeader & header); - void setRequest(const QString &method, const QString &path, int majorVer = 1, int minorVer = 1); + void setRequest(const QString & method, const QString & path, int majorVer = 1, int minorVer = 1); - QString method() const; - QString path() const; + QString method() const; + QString path() const; - int majorVersion() const; - int minorVersion() const; + int majorVersion() const; + int minorVersion() const; - QString toString() const; + QString toString() const; protected: - bool parseLine(const QString &line, int number); + bool parseLine(const QString & line, int number); private: - Q_DECLARE_PRIVATE(QHttpRequestHeader) + Q_DECLARE_PRIVATE(QHttpRequestHeader) }; class QHttp : public QObject { - Q_OBJECT + Q_OBJECT public: - enum ConnectionMode { - ConnectionModeHttp, - ConnectionModeHttps - }; - - explicit QHttp(QObject *parent = 0); - QHttp(const QString &hostname, quint16 port = 80, QObject *parent = 0); - QHttp(const QString &hostname, ConnectionMode mode, quint16 port = 0, QObject *parent = 0); - virtual ~QHttp(); - - enum State { - Unconnected, - HostLookup, - Connecting, - Sending, - Reading, - Connected, - Closing - }; - enum Error { - NoError, - UnknownError, - HostNotFound, - ConnectionRefused, - UnexpectedClose, - InvalidResponseHeader, - WrongContentLength, - Aborted, - AuthenticationRequiredError, - ProxyAuthenticationRequiredError - }; - - int setHost(const QString &hostname, quint16 port = 80); - int setHost(const QString &hostname, ConnectionMode mode, quint16 port = 0); - - int setSocket(QTcpSocket *socket); - int setUser(const QString &username, const QString &password = QString()); + enum ConnectionMode + { + ConnectionModeHttp, + ConnectionModeHttps + }; + + explicit QHttp(QObject * parent = 0); + QHttp(const QString & hostname, quint16 port = 80, QObject * parent = 0); + QHttp(const QString & hostname, ConnectionMode mode, quint16 port = 0, QObject * parent = 0); + virtual ~QHttp(); + + enum State + { + Unconnected, + HostLookup, + Connecting, + Sending, + Reading, + Connected, + Closing + }; + enum Error + { + NoError, + UnknownError, + HostNotFound, + ConnectionRefused, + UnexpectedClose, + InvalidResponseHeader, + WrongContentLength, + Aborted, + AuthenticationRequiredError, + ProxyAuthenticationRequiredError + }; + + int setHost(const QString & hostname, quint16 port = 80); + int setHost(const QString & hostname, ConnectionMode mode, quint16 port = 0); + + int setSocket(QTcpSocket * socket); + int setUser(const QString & username, const QString & password = QString()); #ifndef QT_NO_NETWORKPROXY - int setProxy(const QString &host, int port, - const QString &username = QString(), - const QString &password = QString()); - int setProxy(const QNetworkProxy &proxy); + int setProxy(const QString & host, int port, + const QString & username = QString(), + const QString & password = QString()); + int setProxy(const QNetworkProxy & proxy); #endif - int get(const QString &path, QIODevice *to=0); - int post(const QString &path, QIODevice *data, QIODevice *to=0 ); - int post(const QString &path, const QByteArray &data, QIODevice *to=0); - int head(const QString &path); - int request(const QHttpRequestHeader &header, QIODevice *device=0, QIODevice *to=0); - int request(const QHttpRequestHeader &header, const QByteArray &data, QIODevice *to=0); + int get(const QString & path, QIODevice * to = 0); + int post(const QString & path, QIODevice * data, QIODevice * to = 0); + int post(const QString & path, const QByteArray & data, QIODevice * to = 0); + int head(const QString & path); + int request(const QHttpRequestHeader & header, QIODevice * device = 0, QIODevice * to = 0); + int request(const QHttpRequestHeader & header, const QByteArray & data, QIODevice * to = 0); - int closeConnection(); - int close(); + int closeConnection(); + int close(); - qint64 bytesAvailable() const; - qint64 read(char *data, qint64 maxlen); - QByteArray readAll(); + qint64 bytesAvailable() const; + qint64 read(char * data, qint64 maxlen); + QByteArray readAll(); - int currentId() const; - QIODevice *currentSourceDevice() const; - QIODevice *currentDestinationDevice() const; - QHttpRequestHeader currentRequest() const; - QHttpResponseHeader lastResponse() const; - bool hasPendingRequests() const; - void clearPendingRequests(); + int currentId() const; + QIODevice * currentSourceDevice() const; + QIODevice * currentDestinationDevice() const; + QHttpRequestHeader currentRequest() const; + QHttpResponseHeader lastResponse() const; + bool hasPendingRequests() const; + void clearPendingRequests(); - State state() const; + State state() const; - Error error() const; - QString errorString() const; + Error error() const; + QString errorString() const; public Q_SLOTS: - void abort(); + void abort(); #ifndef QT_NO_OPENSSL - void ignoreSslErrors(); + void ignoreSslErrors(); #endif -Q_SIGNALS: - void stateChanged(int); - void responseHeaderReceived(const QHttpResponseHeader &resp); - void readyRead(const QHttpResponseHeader &resp); + Q_SIGNALS : void stateChanged(int); + void responseHeaderReceived(const QHttpResponseHeader & resp); + void readyRead(const QHttpResponseHeader & resp); - // ### Qt 5: change to qint64 - void dataSendProgress(int, int); - void dataReadProgress(int, int); + // ### Qt 5: change to qint64 + void dataSendProgress(int, int); + void dataReadProgress(int, int); - void requestStarted(int); - void requestFinished(int, bool); - void done(bool); + void requestStarted(int); + void requestFinished(int, bool); + void done(bool); #ifndef QT_NO_NETWORKPROXY - void proxyAuthenticationRequired(const QNetworkProxy &proxy, QAuthenticator *); + void proxyAuthenticationRequired(const QNetworkProxy & proxy, QAuthenticator *); #endif - void authenticationRequired(const QString &hostname, quint16 port, QAuthenticator *); + void authenticationRequired(const QString & hostname, quint16 port, QAuthenticator *); #ifndef QT_NO_OPENSSL - void sslErrors(const QList &errors); + void sslErrors(const QList & errors); #endif private: - Q_DISABLE_COPY(QHttp) - QScopedPointer d; - - void _q_startNextRequest(); - void _q_slotReadyRead(); - void _q_slotConnected(); - void _q_slotError(QAbstractSocket::SocketError e); - void _q_slotClosed(); - void _q_slotBytesWritten(qint64 numBytes); + Q_DISABLE_COPY(QHttp) + QScopedPointer d; + + void _q_startNextRequest(); + void _q_slotReadyRead(); + void _q_slotConnected(); + void _q_slotError(QAbstractSocket::SocketError e); + void _q_slotClosed(); + void _q_slotBytesWritten(qint64 numBytes); #ifndef QT_NO_OPENSSL - void _q_slotEncryptedBytesWritten(qint64 numBytes); + void _q_slotEncryptedBytesWritten(qint64 numBytes); #endif - void _q_slotDoFinished(); - void _q_slotSendRequest(); - void _q_continuePost(); - - friend class QHttpNormalRequest; - friend class QHttpSetHostRequest; - friend class QHttpSetSocketRequest; - friend class QHttpSetUserRequest; - friend class QHttpSetProxyRequest; - friend class QHttpCloseRequest; - friend class QHttpPGHRequest; + void _q_slotDoFinished(); + void _q_slotSendRequest(); + void _q_continuePost(); + + friend class QHttpNormalRequest; + friend class QHttpSetHostRequest; + friend class QHttpSetSocketRequest; + friend class QHttpSetUserRequest; + friend class QHttpSetProxyRequest; + friend class QHttpCloseRequest; + friend class QHttpPGHRequest; }; QT_END_HEADER diff --git a/src/modules/objects/qthttp/qhttpauthenticator.cpp b/src/modules/objects/qthttp/qhttpauthenticator.cpp index ad622a2a7..afe462a98 100644 --- a/src/modules/objects/qthttp/qhttpauthenticator.cpp +++ b/src/modules/objects/qthttp/qhttpauthenticator.cpp @@ -60,7 +60,7 @@ QT_BEGIN_NAMESPACE #endif static QByteArray qNtlmPhase1(); -static QByteArray qNtlmPhase3(QHttpAuthenticatorPrivate *ctx, const QByteArray& phase2data); +static QByteArray qNtlmPhase3(QHttpAuthenticatorPrivate * ctx, const QByteArray & phase2data); /*! \class QHttpAuthenticator @@ -128,7 +128,6 @@ static QByteArray qNtlmPhase3(QHttpAuthenticatorPrivate *ctx, const QByteArray& \sa QSslSocket */ - /*! Constructs an empty authentication object */ @@ -142,72 +141,71 @@ QHttpAuthenticator::QHttpAuthenticator() */ QHttpAuthenticator::~QHttpAuthenticator() { - if (d && !d->ref.deref()) - delete d; + if(d && !d->ref.deref()) + delete d; } /*! Constructs a copy of \a other. */ -QHttpAuthenticator::QHttpAuthenticator(const QHttpAuthenticator &other) +QHttpAuthenticator::QHttpAuthenticator(const QHttpAuthenticator & other) : d(other.d) { - if (d) - d->ref.ref(); + if(d) + d->ref.ref(); } /*! Assigns the contents of \a other to this authenticator. */ -QHttpAuthenticator &QHttpAuthenticator::operator=(const QHttpAuthenticator &other) +QHttpAuthenticator & QHttpAuthenticator::operator=(const QHttpAuthenticator & other) { - if (d == other.d) - return *this; + if(d == other.d) + return *this; - if (d && !d->ref.deref()) - delete d; + if(d && !d->ref.deref()) + delete d; - d = other.d; - if (d) - d->ref.ref(); - return *this; + d = other.d; + if(d) + d->ref.ref(); + return *this; } /*! Returns true if this authenticator is identical to \a other; otherwise returns false. */ -bool QHttpAuthenticator::operator==(const QHttpAuthenticator &other) const +bool QHttpAuthenticator::operator==(const QHttpAuthenticator & other) const { - if (d == other.d) - return true; - return d->user == other.d->user - && d->password == other.d->password - && d->realm == other.d->realm - && d->method == other.d->method - && d->options == other.d->options; + if(d == other.d) + return true; + return d->user == other.d->user + && d->password == other.d->password + && d->realm == other.d->realm + && d->method == other.d->method + && d->options == other.d->options; } -QHttpAuthenticator &QHttpAuthenticator::operator=(const QAuthenticator& auth) +QHttpAuthenticator & QHttpAuthenticator::operator=(const QAuthenticator & auth) { - detach(); - d->user = auth.user(); - d->password = auth.password(); - d->options = auth.options(); - return *this; + detach(); + d->user = auth.user(); + d->password = auth.password(); + d->options = auth.options(); + return *this; } QAuthenticator QHttpAuthenticator::toQAuthenticator() { - QAuthenticator rv; - rv.setUser(d->user); - rv.setPassword(d->password); - foreach (const QString& option, d->options.keys()) - rv.setOption(option, d->options.value(option)); - return rv; + QAuthenticator rv; + rv.setUser(d->user); + rv.setPassword(d->password); + foreach(const QString & option, d->options.keys()) + rv.setOption(option, d->options.value(option)); + return rv; } - /*! \fn bool QHttpAuthenticator::operator!=(const QHttpAuthenticator &other) const @@ -220,7 +218,7 @@ QAuthenticator QHttpAuthenticator::toQAuthenticator() */ QString QHttpAuthenticator::user() const { - return d ? d->user : QString(); + return d ? d->user : QString(); } /*! @@ -228,31 +226,35 @@ QString QHttpAuthenticator::user() const \sa QNetworkAccessManager::authenticationRequired() */ -void QHttpAuthenticator::setUser(const QString &user) +void QHttpAuthenticator::setUser(const QString & user) { - detach(); - int separatorPosn = 0; - - switch(d->method) { - case QHttpAuthenticatorPrivate::Ntlm: - if((separatorPosn = user.indexOf(QLatin1String("\\"))) != -1) { - //domain name is present - d->realm.clear(); - d->userDomain = user.left(separatorPosn); - d->extractedUser = user.mid(separatorPosn + 1); - d->user = user; - } else { - d->extractedUser = user; - d->user = user; - d->realm.clear(); - d->userDomain.clear(); - } - break; - default: - d->user = user; - d->userDomain.clear(); - break; - } + detach(); + int separatorPosn = 0; + + switch(d->method) + { + case QHttpAuthenticatorPrivate::Ntlm: + if((separatorPosn = user.indexOf(QLatin1String("\\"))) != -1) + { + //domain name is present + d->realm.clear(); + d->userDomain = user.left(separatorPosn); + d->extractedUser = user.mid(separatorPosn + 1); + d->user = user; + } + else + { + d->extractedUser = user; + d->user = user; + d->realm.clear(); + d->userDomain.clear(); + } + break; + default: + d->user = user; + d->userDomain.clear(); + break; + } } /*! @@ -260,7 +262,7 @@ void QHttpAuthenticator::setUser(const QString &user) */ QString QHttpAuthenticator::password() const { - return d ? d->password : QString(); + return d ? d->password : QString(); } /*! @@ -268,10 +270,10 @@ QString QHttpAuthenticator::password() const \sa QNetworkAccessManager::authenticationRequired() */ -void QHttpAuthenticator::setPassword(const QString &password) +void QHttpAuthenticator::setPassword(const QString & password) { - detach(); - d->password = password; + detach(); + d->password = password; } /*! @@ -279,14 +281,15 @@ void QHttpAuthenticator::setPassword(const QString &password) */ void QHttpAuthenticator::detach() { - if (!d) { - d = new QHttpAuthenticatorPrivate; - d->ref.store(1); - return; - } - - qAtomicDetach(d); - d->phase = QHttpAuthenticatorPrivate::Start; + if(!d) + { + d = new QHttpAuthenticatorPrivate; + d->ref.store(1); + return; + } + + qAtomicDetach(d); + d->phase = QHttpAuthenticatorPrivate::Start; } /*! @@ -294,7 +297,7 @@ void QHttpAuthenticator::detach() */ QString QHttpAuthenticator::realm() const { - return d ? d->realm : QString(); + return d ? d->realm : QString(); } /*! @@ -305,9 +308,9 @@ QString QHttpAuthenticator::realm() const \sa options(), QHttpAuthenticator#Options */ -QVariant QHttpAuthenticator::option(const QString &opt) const +QVariant QHttpAuthenticator::option(const QString & opt) const { - return d ? d->options.value(opt) : QVariant(); + return d ? d->options.value(opt) : QVariant(); } /*! @@ -320,7 +323,7 @@ QVariant QHttpAuthenticator::option(const QString &opt) const */ QVariantHash QHttpAuthenticator::options() const { - return d ? d->options : QVariantHash(); + return d ? d->options : QVariantHash(); } /*! @@ -331,54 +334,50 @@ QVariantHash QHttpAuthenticator::options() const \sa options(), option(), QHttpAuthenticator#Options */ -void QHttpAuthenticator::setOption(const QString &opt, const QVariant &value) +void QHttpAuthenticator::setOption(const QString & opt, const QVariant & value) { - detach(); - d->options.insert(opt, value); + detach(); + d->options.insert(opt, value); } - /*! Returns true if the authenticator is null. */ bool QHttpAuthenticator::isNull() const { - return !d; + return !d; } QHttpAuthenticatorPrivate::QHttpAuthenticatorPrivate() - : ref(0) - , method(None) - , hasFailed(false) - , phase(Start) - , nonceCount(0) + : ref(0), method(None), hasFailed(false), phase(Start), nonceCount(0) { - cnonce = QCryptographicHash::hash(QByteArray::number(qrand(), 16) + QByteArray::number(qrand(), 16), - QCryptographicHash::Md5).toHex(); - nonceCount = 0; + cnonce = QCryptographicHash::hash(QByteArray::number(qrand(), 16) + QByteArray::number(qrand(), 16), + QCryptographicHash::Md5) + .toHex(); + nonceCount = 0; } #ifndef QT_NO_HTTP -void QHttpAuthenticatorPrivate::parseHttpResponse(const QHttpResponseHeader &header, bool isProxy) +void QHttpAuthenticatorPrivate::parseHttpResponse(const QHttpResponseHeader & header, bool isProxy) { - const QList > values = header.values(); - QList > rawValues; + const QList> values = header.values(); + QList> rawValues; - QList >::const_iterator it, end; - for (it = values.constBegin(), end = values.constEnd(); it != end; ++it) - rawValues.append(qMakePair(it->first.toLatin1(), it->second.toUtf8())); + QList>::const_iterator it, end; + for(it = values.constBegin(), end = values.constEnd(); it != end; ++it) + rawValues.append(qMakePair(it->first.toLatin1(), it->second.toUtf8())); - // continue in byte array form - parseHttpResponse(rawValues, isProxy); + // continue in byte array form + parseHttpResponse(rawValues, isProxy); } #endif -void QHttpAuthenticatorPrivate::parseHttpResponse(const QList > &values, bool isProxy) +void QHttpAuthenticatorPrivate::parseHttpResponse(const QList> & values, bool isProxy) { - const char *search = isProxy ? "proxy-authenticate" : "www-authenticate"; + const char * search = isProxy ? "proxy-authenticate" : "www-authenticate"; - method = None; - /* + method = None; + /* Fun from the HTTP 1.1 specs, that we currently ignore: User agents are advised to take special care in parsing the WWW- @@ -388,170 +387,192 @@ void QHttpAuthenticatorPrivate::parseHttpResponse(const QList ¤t = values.at(i); - if (current.first.toLower() != search) - continue; - QByteArray str = current.second.toLower(); - if (method < Basic && str.startsWith("basic")) { - method = Basic; - headerVal = current.second.mid(6); - } else if (method < Ntlm && str.startsWith("ntlm")) { - method = Ntlm; - headerVal = current.second.mid(5); - } else if (method < DigestMd5 && str.startsWith("digest")) { - method = DigestMd5; - headerVal = current.second.mid(7); - } - } - - challenge = headerVal.trimmed(); - QHash options = parseDigestAuthenticationChallenge(challenge); - - switch(method) { - case Basic: - this->options[QLatin1String("realm")] = realm = QString::fromLatin1(options.value("realm")); - if (user.isEmpty() && password.isEmpty()) - phase = Done; - break; - case Ntlm: - // #### extract from header - break; - case DigestMd5: { - this->options[QLatin1String("realm")] = realm = QString::fromLatin1(options.value("realm")); - if (options.value("stale").toLower() == "true") - phase = Start; - if (user.isEmpty() && password.isEmpty()) - phase = Done; - break; - } - default: - realm.clear(); - challenge = QByteArray(); - phase = Invalid; - } + QByteArray headerVal; + for(int i = 0; i < values.size(); ++i) + { + const QPair & current = values.at(i); + if(current.first.toLower() != search) + continue; + QByteArray str = current.second.toLower(); + if(method < Basic && str.startsWith("basic")) + { + method = Basic; + headerVal = current.second.mid(6); + } + else if(method < Ntlm && str.startsWith("ntlm")) + { + method = Ntlm; + headerVal = current.second.mid(5); + } + else if(method < DigestMd5 && str.startsWith("digest")) + { + method = DigestMd5; + headerVal = current.second.mid(7); + } + } + + challenge = headerVal.trimmed(); + QHash options = parseDigestAuthenticationChallenge(challenge); + + switch(method) + { + case Basic: + this->options[QLatin1String("realm")] = realm = QString::fromLatin1(options.value("realm")); + if(user.isEmpty() && password.isEmpty()) + phase = Done; + break; + case Ntlm: + // #### extract from header + break; + case DigestMd5: + { + this->options[QLatin1String("realm")] = realm = QString::fromLatin1(options.value("realm")); + if(options.value("stale").toLower() == "true") + phase = Start; + if(user.isEmpty() && password.isEmpty()) + phase = Done; + break; + } + default: + realm.clear(); + challenge = QByteArray(); + phase = Invalid; + } } -QByteArray QHttpAuthenticatorPrivate::calculateResponse(const QByteArray &requestMethod, const QByteArray &path) +QByteArray QHttpAuthenticatorPrivate::calculateResponse(const QByteArray & requestMethod, const QByteArray & path) { - QByteArray response; - const char *methodString = 0; - switch(method) { - case QHttpAuthenticatorPrivate::None: - methodString = ""; - phase = Done; - break; - case QHttpAuthenticatorPrivate::Plain: - response = '\0' + user.toUtf8() + '\0' + password.toUtf8(); - phase = Done; - break; - case QHttpAuthenticatorPrivate::Basic: - methodString = "Basic "; - response = user.toLatin1() + ':' + password.toLatin1(); - response = response.toBase64(); - phase = Done; - break; - case QHttpAuthenticatorPrivate::Login: - if (challenge.contains("VXNlciBOYW1lAA==")) { - response = user.toUtf8().toBase64(); - phase = Phase2; - } else if (challenge.contains("UGFzc3dvcmQA")) { - response = password.toUtf8().toBase64(); - phase = Done; - } - break; - case QHttpAuthenticatorPrivate::CramMd5: - break; - case QHttpAuthenticatorPrivate::DigestMd5: - methodString = "Digest "; - response = digestMd5Response(challenge, requestMethod, path); - phase = Done; - break; - case QHttpAuthenticatorPrivate::Ntlm: - methodString = "NTLM "; - if (challenge.isEmpty()) { - response = qNtlmPhase1().toBase64(); - if (user.isEmpty()) - phase = Done; - else - phase = Phase2; - } else { - response = qNtlmPhase3(this, QByteArray::fromBase64(challenge)).toBase64(); - phase = Done; - } - - break; - } - return QByteArray(methodString) + response; + QByteArray response; + const char * methodString = 0; + switch(method) + { + case QHttpAuthenticatorPrivate::None: + methodString = ""; + phase = Done; + break; + case QHttpAuthenticatorPrivate::Plain: + response = '\0' + user.toUtf8() + '\0' + password.toUtf8(); + phase = Done; + break; + case QHttpAuthenticatorPrivate::Basic: + methodString = "Basic "; + response = user.toLatin1() + ':' + password.toLatin1(); + response = response.toBase64(); + phase = Done; + break; + case QHttpAuthenticatorPrivate::Login: + if(challenge.contains("VXNlciBOYW1lAA==")) + { + response = user.toUtf8().toBase64(); + phase = Phase2; + } + else if(challenge.contains("UGFzc3dvcmQA")) + { + response = password.toUtf8().toBase64(); + phase = Done; + } + break; + case QHttpAuthenticatorPrivate::CramMd5: + break; + case QHttpAuthenticatorPrivate::DigestMd5: + methodString = "Digest "; + response = digestMd5Response(challenge, requestMethod, path); + phase = Done; + break; + case QHttpAuthenticatorPrivate::Ntlm: + methodString = "NTLM "; + if(challenge.isEmpty()) + { + response = qNtlmPhase1().toBase64(); + if(user.isEmpty()) + phase = Done; + else + phase = Phase2; + } + else + { + response = qNtlmPhase3(this, QByteArray::fromBase64(challenge)).toBase64(); + phase = Done; + } + + break; + } + return QByteArray(methodString) + response; } - // ---------------------------- Digest Md5 code ---------------------------------------- -QHash QHttpAuthenticatorPrivate::parseDigestAuthenticationChallenge(const QByteArray &challenge) +QHash QHttpAuthenticatorPrivate::parseDigestAuthenticationChallenge(const QByteArray & challenge) { - QHash options; - // parse the challenge - const char *d = challenge.constData(); - const char *end = d + challenge.length(); - while (d < end) { - while (d < end && (*d == ' ' || *d == '\n' || *d == '\r')) - ++d; - const char *start = d; - while (d < end && *d != '=') - ++d; - QByteArray key = QByteArray(start, d - start); - ++d; - if (d >= end) - break; - bool quote = (*d == '"'); - if (quote) - ++d; - if (d >= end) - break; - start = d; - QByteArray value; - while (d < end) { - bool backslash = false; - if (*d == '\\' && d < end - 1) { - ++d; - backslash = true; - } - if (!backslash) { - if (quote) { - if (*d == '"') - break; - } else { - if (*d == ',') - break; - } - } - value += *d; - ++d; - } - while (d < end && *d != ',') - ++d; - ++d; - options[key] = value; - } - - QByteArray qop = options.value("qop"); - if (!qop.isEmpty()) { - QList qopoptions = qop.split(','); - if (!qopoptions.contains("auth")) - return QHash(); - // #### can't do auth-int currently -// if (qop.contains("auth-int")) -// qop = "auth-int"; -// else if (qop.contains("auth")) -// qop = "auth"; -// else -// qop = QByteArray(); - options["qop"] = "auth"; - } - - return options; + QHash options; + // parse the challenge + const char * d = challenge.constData(); + const char * end = d + challenge.length(); + while(d < end) + { + while(d < end && (*d == ' ' || *d == '\n' || *d == '\r')) + ++d; + const char * start = d; + while(d < end && *d != '=') + ++d; + QByteArray key = QByteArray(start, d - start); + ++d; + if(d >= end) + break; + bool quote = (*d == '"'); + if(quote) + ++d; + if(d >= end) + break; + start = d; + QByteArray value; + while(d < end) + { + bool backslash = false; + if(*d == '\\' && d < end - 1) + { + ++d; + backslash = true; + } + if(!backslash) + { + if(quote) + { + if(*d == '"') + break; + } + else + { + if(*d == ',') + break; + } + } + value += *d; + ++d; + } + while(d < end && *d != ',') + ++d; + ++d; + options[key] = value; + } + + QByteArray qop = options.value("qop"); + if(!qop.isEmpty()) + { + QList qopoptions = qop.split(','); + if(!qopoptions.contains("auth")) + return QHash(); + // #### can't do auth-int currently + // if (qop.contains("auth-int")) + // qop = "auth-int"; + // else if (qop.contains("auth")) + // qop = "auth"; + // else + // qop = QByteArray(); + options["qop"] = "auth"; + } + + return options; } /* @@ -562,117 +583,117 @@ QHash QHttpAuthenticatorPrivate::parseDigestAuthenticati Currently we don't support the full SASL authentication mechanism (which includes cyphers) */ - /* calculate request-digest/response-digest as per HTTP Digest spec */ static QByteArray digestMd5ResponseHelper( - const QByteArray &alg, - const QByteArray &userName, - const QByteArray &realm, - const QByteArray &password, - const QByteArray &nonce, /* nonce from server */ - const QByteArray &nonceCount, /* 8 hex digits */ - const QByteArray &cNonce, /* client nonce */ - const QByteArray &qop, /* qop-value: "", "auth", "auth-int" */ - const QByteArray &method, /* method from the request */ - const QByteArray &digestUri, /* requested URL */ - const QByteArray &hEntity /* H(entity body) if qop="auth-int" */ + const QByteArray & alg, + const QByteArray & userName, + const QByteArray & realm, + const QByteArray & password, + const QByteArray & nonce, /* nonce from server */ + const QByteArray & nonceCount, /* 8 hex digits */ + const QByteArray & cNonce, /* client nonce */ + const QByteArray & qop, /* qop-value: "", "auth", "auth-int" */ + const QByteArray & method, /* method from the request */ + const QByteArray & digestUri, /* requested URL */ + const QByteArray & hEntity /* H(entity body) if qop="auth-int" */ ) { - QCryptographicHash hash(QCryptographicHash::Md5); - hash.addData(userName); - hash.addData(":", 1); - hash.addData(realm); - hash.addData(":", 1); - hash.addData(password); - QByteArray ha1 = hash.result(); - if (alg.toLower() == "md5-sess") { - hash.reset(); - // RFC 2617 contains an error, it was: - // hash.addData(ha1); - // but according to the errata page at http://www.rfc-editor.org/errata_list.php, ID 1649, it - // must be the following line: - hash.addData(ha1.toHex()); - hash.addData(":", 1); - hash.addData(nonce); - hash.addData(":", 1); - hash.addData(cNonce); - ha1 = hash.result(); - }; - ha1 = ha1.toHex(); - - // calculate H(A2) - hash.reset(); - hash.addData(method); - hash.addData(":", 1); - hash.addData(digestUri); - if (qop.toLower() == "auth-int") { - hash.addData(":", 1); - hash.addData(hEntity); - } - QByteArray ha2hex = hash.result().toHex(); - - // calculate response - hash.reset(); - hash.addData(ha1); - hash.addData(":", 1); - hash.addData(nonce); - hash.addData(":", 1); - if (!qop.isNull()) { - hash.addData(nonceCount); - hash.addData(":", 1); - hash.addData(cNonce); - hash.addData(":", 1); - hash.addData(qop); - hash.addData(":", 1); - } - hash.addData(ha2hex); - return hash.result().toHex(); + QCryptographicHash hash(QCryptographicHash::Md5); + hash.addData(userName); + hash.addData(":", 1); + hash.addData(realm); + hash.addData(":", 1); + hash.addData(password); + QByteArray ha1 = hash.result(); + if(alg.toLower() == "md5-sess") + { + hash.reset(); + // RFC 2617 contains an error, it was: + // hash.addData(ha1); + // but according to the errata page at http://www.rfc-editor.org/errata_list.php, ID 1649, it + // must be the following line: + hash.addData(ha1.toHex()); + hash.addData(":", 1); + hash.addData(nonce); + hash.addData(":", 1); + hash.addData(cNonce); + ha1 = hash.result(); + }; + ha1 = ha1.toHex(); + + // calculate H(A2) + hash.reset(); + hash.addData(method); + hash.addData(":", 1); + hash.addData(digestUri); + if(qop.toLower() == "auth-int") + { + hash.addData(":", 1); + hash.addData(hEntity); + } + QByteArray ha2hex = hash.result().toHex(); + + // calculate response + hash.reset(); + hash.addData(ha1); + hash.addData(":", 1); + hash.addData(nonce); + hash.addData(":", 1); + if(!qop.isNull()) + { + hash.addData(nonceCount); + hash.addData(":", 1); + hash.addData(cNonce); + hash.addData(":", 1); + hash.addData(qop); + hash.addData(":", 1); + } + hash.addData(ha2hex); + return hash.result().toHex(); } -QByteArray QHttpAuthenticatorPrivate::digestMd5Response(const QByteArray &challenge, const QByteArray &method, const QByteArray &path) +QByteArray QHttpAuthenticatorPrivate::digestMd5Response(const QByteArray & challenge, const QByteArray & method, const QByteArray & path) { - QHash options = parseDigestAuthenticationChallenge(challenge); - - ++nonceCount; - QByteArray nonceCountString = QByteArray::number(nonceCount, 16); - while (nonceCountString.length() < 8) - nonceCountString.prepend('0'); - - QByteArray nonce = options.value("nonce"); - QByteArray opaque = options.value("opaque"); - QByteArray qop = options.value("qop"); - -// qDebug() << "calculating digest: method=" << method << "path=" << path; - QByteArray response = digestMd5ResponseHelper(options.value("algorithm"), user.toLatin1(), - realm.toLatin1(), password.toLatin1(), - nonce, nonceCountString, - cnonce, qop, method, - path, QByteArray()); - - - QByteArray credentials; - credentials += "username=\"" + user.toLatin1() + "\", "; - credentials += "realm=\"" + realm.toLatin1() + "\", "; - credentials += "nonce=\"" + nonce + "\", "; - credentials += "uri=\"" + path + "\", "; - if (!opaque.isEmpty()) - credentials += "opaque=\"" + opaque + "\", "; - credentials += "response=\"" + response + '\"'; - if (!options.value("algorithm").isEmpty()) - credentials += ", algorithm=" + options.value("algorithm"); - if (!options.value("qop").isEmpty()) { - credentials += ", qop=" + qop + ", "; - credentials += "nc=" + nonceCountString + ", "; - credentials += "cnonce=\"" + cnonce + '\"'; - } - - return credentials; + QHash options = parseDigestAuthenticationChallenge(challenge); + + ++nonceCount; + QByteArray nonceCountString = QByteArray::number(nonceCount, 16); + while(nonceCountString.length() < 8) + nonceCountString.prepend('0'); + + QByteArray nonce = options.value("nonce"); + QByteArray opaque = options.value("opaque"); + QByteArray qop = options.value("qop"); + + // qDebug() << "calculating digest: method=" << method << "path=" << path; + QByteArray response = digestMd5ResponseHelper(options.value("algorithm"), user.toLatin1(), + realm.toLatin1(), password.toLatin1(), + nonce, nonceCountString, + cnonce, qop, method, + path, QByteArray()); + + QByteArray credentials; + credentials += "username=\"" + user.toLatin1() + "\", "; + credentials += "realm=\"" + realm.toLatin1() + "\", "; + credentials += "nonce=\"" + nonce + "\", "; + credentials += "uri=\"" + path + "\", "; + if(!opaque.isEmpty()) + credentials += "opaque=\"" + opaque + "\", "; + credentials += "response=\"" + response + '\"'; + if(!options.value("algorithm").isEmpty()) + credentials += ", algorithm=" + options.value("algorithm"); + if(!options.value("qop").isEmpty()) + { + credentials += ", qop=" + qop + ", "; + credentials += "nc=" + nonceCountString + ", "; + credentials += "cnonce=\"" + cnonce + '\"'; + } + + return credentials; } // ---------------------------- Digest Md5 code ---------------------------------------- - - /* * NTLM message flags. * @@ -813,10 +834,9 @@ QByteArray QHttpAuthenticatorPrivate::digestMd5Response(const QByteArray &challe //#define NTLMV1_CLIENT - //************************Global variables*************************** -const int blockSize = 64; //As per RFC2104 Block-size is 512 bits +const int blockSize = 64; //As per RFC2104 Block-size is 512 bits const int nDigestLen = 16; //Trunctaion Length of the Hmac-Md5 digest const quint8 respversion = 1; const quint8 hirespversion = 1; @@ -838,269 +858,276 @@ const quint8 hirespversion = 1; - add v2 handling */ -class QNtlmBuffer { +class QNtlmBuffer +{ public: - QNtlmBuffer() : len(0), maxLen(0), offset(0) {} - quint16 len; - quint16 maxLen; - quint32 offset; - enum { Size = 8 }; + QNtlmBuffer() : len(0), maxLen(0), offset(0) {} + quint16 len; + quint16 maxLen; + quint32 offset; + enum + { + Size = 8 + }; }; class QNtlmPhase1BlockBase { public: - char magic[8]; - quint32 type; - quint32 flags; - QNtlmBuffer domain; - QNtlmBuffer workstation; - enum { Size = 32 }; + char magic[8]; + quint32 type; + quint32 flags; + QNtlmBuffer domain; + QNtlmBuffer workstation; + enum + { + Size = 32 + }; }; // ################# check paddings class QNtlmPhase2BlockBase { public: - char magic[8]; - quint32 type; - QNtlmBuffer targetName; - quint32 flags; - unsigned char challenge[8]; - quint32 context[2]; - QNtlmBuffer targetInfo; - enum { Size = 48 }; + char magic[8]; + quint32 type; + QNtlmBuffer targetName; + quint32 flags; + unsigned char challenge[8]; + quint32 context[2]; + QNtlmBuffer targetInfo; + enum + { + Size = 48 + }; }; -class QNtlmPhase3BlockBase { +class QNtlmPhase3BlockBase +{ public: - char magic[8]; - quint32 type; - QNtlmBuffer lmResponse; - QNtlmBuffer ntlmResponse; - QNtlmBuffer domain; - QNtlmBuffer user; - QNtlmBuffer workstation; - QNtlmBuffer sessionKey; - quint32 flags; - enum { Size = 64 }; + char magic[8]; + quint32 type; + QNtlmBuffer lmResponse; + QNtlmBuffer ntlmResponse; + QNtlmBuffer domain; + QNtlmBuffer user; + QNtlmBuffer workstation; + QNtlmBuffer sessionKey; + quint32 flags; + enum + { + Size = 64 + }; }; -static void qStreamNtlmBuffer(QDataStream& ds, const QByteArray& s) +static void qStreamNtlmBuffer(QDataStream & ds, const QByteArray & s) { - ds.writeRawData(s.constData(), s.size()); + ds.writeRawData(s.constData(), s.size()); } - -static void qStreamNtlmString(QDataStream& ds, const QString& s, bool unicode) +static void qStreamNtlmString(QDataStream & ds, const QString & s, bool unicode) { - if (!unicode) { - qStreamNtlmBuffer(ds, s.toLatin1()); - return; - } - const ushort *d = s.utf16(); - for (int i = 0; i < s.length(); ++i) - ds << d[i]; + if(!unicode) + { + qStreamNtlmBuffer(ds, s.toLatin1()); + return; + } + const ushort * d = s.utf16(); + for(int i = 0; i < s.length(); ++i) + ds << d[i]; } - - -static int qEncodeNtlmBuffer(QNtlmBuffer& buf, int offset, const QByteArray& s) +static int qEncodeNtlmBuffer(QNtlmBuffer & buf, int offset, const QByteArray & s) { - buf.len = s.size(); - buf.maxLen = buf.len; - buf.offset = (offset + 1) & ~1; - return buf.offset + buf.len; + buf.len = s.size(); + buf.maxLen = buf.len; + buf.offset = (offset + 1) & ~1; + return buf.offset + buf.len; } - -static int qEncodeNtlmString(QNtlmBuffer& buf, int offset, const QString& s, bool unicode) +static int qEncodeNtlmString(QNtlmBuffer & buf, int offset, const QString & s, bool unicode) { - if (!unicode) - return qEncodeNtlmBuffer(buf, offset, s.toLatin1()); - buf.len = 2 * s.length(); - buf.maxLen = buf.len; - buf.offset = (offset + 1) & ~1; - return buf.offset + buf.len; + if(!unicode) + return qEncodeNtlmBuffer(buf, offset, s.toLatin1()); + buf.len = 2 * s.length(); + buf.maxLen = buf.len; + buf.offset = (offset + 1) & ~1; + return buf.offset + buf.len; } - -static QDataStream& operator<<(QDataStream& s, const QNtlmBuffer& b) +static QDataStream & operator<<(QDataStream & s, const QNtlmBuffer & b) { - s << b.len << b.maxLen << b.offset; - return s; + s << b.len << b.maxLen << b.offset; + return s; } -static QDataStream& operator>>(QDataStream& s, QNtlmBuffer& b) +static QDataStream & operator>>(QDataStream & s, QNtlmBuffer & b) { - s >> b.len >> b.maxLen >> b.offset; - return s; + s >> b.len >> b.maxLen >> b.offset; + return s; } - class QNtlmPhase1Block : public QNtlmPhase1BlockBase -{ // request +{ // request public: - QNtlmPhase1Block() { - qstrncpy(magic, "NTLMSSP", 8); - type = 1; - flags = NTLMSSP_NEGOTIATE_UNICODE | NTLMSSP_NEGOTIATE_NTLM | NTLMSSP_REQUEST_TARGET; - } - - // extracted - QString domainStr, workstationStr; + QNtlmPhase1Block() + { + qstrncpy(magic, "NTLMSSP", 8); + type = 1; + flags = NTLMSSP_NEGOTIATE_UNICODE | NTLMSSP_NEGOTIATE_NTLM | NTLMSSP_REQUEST_TARGET; + } + + // extracted + QString domainStr, workstationStr; }; - class QNtlmPhase2Block : public QNtlmPhase2BlockBase -{ // challenge +{ // challenge public: - QNtlmPhase2Block() { - magic[0] = 0; - type = 0xffffffff; - } - - // extracted - QString targetNameStr, targetInfoStr; - QByteArray targetInfoBuff; + QNtlmPhase2Block() + { + magic[0] = 0; + type = 0xffffffff; + } + + // extracted + QString targetNameStr, targetInfoStr; + QByteArray targetInfoBuff; }; - - -class QNtlmPhase3Block : public QNtlmPhase3BlockBase { // response +class QNtlmPhase3Block : public QNtlmPhase3BlockBase +{ // response public: - QNtlmPhase3Block() { - qstrncpy(magic, "NTLMSSP", 8); - type = 3; - flags = NTLMSSP_NEGOTIATE_UNICODE | NTLMSSP_NEGOTIATE_NTLM | NTLMSSP_NEGOTIATE_TARGET_INFO; - } - - // extracted - QByteArray lmResponseBuf, ntlmResponseBuf; - QString domainStr, userStr, workstationStr, sessionKeyStr; - QByteArray v2Hash; + QNtlmPhase3Block() + { + qstrncpy(magic, "NTLMSSP", 8); + type = 3; + flags = NTLMSSP_NEGOTIATE_UNICODE | NTLMSSP_NEGOTIATE_NTLM | NTLMSSP_NEGOTIATE_TARGET_INFO; + } + + // extracted + QByteArray lmResponseBuf, ntlmResponseBuf; + QString domainStr, userStr, workstationStr, sessionKeyStr; + QByteArray v2Hash; }; - -static QDataStream& operator<<(QDataStream& s, const QNtlmPhase1Block& b) { - bool unicode = (b.flags & NTLMSSP_NEGOTIATE_UNICODE); - - s.writeRawData(b.magic, sizeof(b.magic)); - s << b.type; - s << b.flags; - s << b.domain; - s << b.workstation; - if (!b.domainStr.isEmpty()) - qStreamNtlmString(s, b.domainStr, unicode); - if (!b.workstationStr.isEmpty()) - qStreamNtlmString(s, b.workstationStr, unicode); - return s; +static QDataStream & operator<<(QDataStream & s, const QNtlmPhase1Block & b) +{ + bool unicode = (b.flags & NTLMSSP_NEGOTIATE_UNICODE); + + s.writeRawData(b.magic, sizeof(b.magic)); + s << b.type; + s << b.flags; + s << b.domain; + s << b.workstation; + if(!b.domainStr.isEmpty()) + qStreamNtlmString(s, b.domainStr, unicode); + if(!b.workstationStr.isEmpty()) + qStreamNtlmString(s, b.workstationStr, unicode); + return s; } - -static QDataStream& operator<<(QDataStream& s, const QNtlmPhase3Block& b) { - bool unicode = (b.flags & NTLMSSP_NEGOTIATE_UNICODE); - s.writeRawData(b.magic, sizeof(b.magic)); - s << b.type; - s << b.lmResponse; - s << b.ntlmResponse; - s << b.domain; - s << b.user; - s << b.workstation; - s << b.sessionKey; - s << b.flags; - - if (!b.domainStr.isEmpty()) - qStreamNtlmString(s, b.domainStr, unicode); - - qStreamNtlmString(s, b.userStr, unicode); - - if (!b.workstationStr.isEmpty()) - qStreamNtlmString(s, b.workstationStr, unicode); - - // Send auth info - qStreamNtlmBuffer(s, b.lmResponseBuf); - qStreamNtlmBuffer(s, b.ntlmResponseBuf); - - - return s; +static QDataStream & operator<<(QDataStream & s, const QNtlmPhase3Block & b) +{ + bool unicode = (b.flags & NTLMSSP_NEGOTIATE_UNICODE); + s.writeRawData(b.magic, sizeof(b.magic)); + s << b.type; + s << b.lmResponse; + s << b.ntlmResponse; + s << b.domain; + s << b.user; + s << b.workstation; + s << b.sessionKey; + s << b.flags; + + if(!b.domainStr.isEmpty()) + qStreamNtlmString(s, b.domainStr, unicode); + + qStreamNtlmString(s, b.userStr, unicode); + + if(!b.workstationStr.isEmpty()) + qStreamNtlmString(s, b.workstationStr, unicode); + + // Send auth info + qStreamNtlmBuffer(s, b.lmResponseBuf); + qStreamNtlmBuffer(s, b.ntlmResponseBuf); + + return s; } - static QByteArray qNtlmPhase1() { - QByteArray rc; - QDataStream ds(&rc, QIODevice::WriteOnly); - ds.setByteOrder(QDataStream::LittleEndian); - QNtlmPhase1Block pb; - ds << pb; - return rc; + QByteArray rc; + QDataStream ds(&rc, QIODevice::WriteOnly); + ds.setByteOrder(QDataStream::LittleEndian); + QNtlmPhase1Block pb; + ds << pb; + return rc; } - -static QByteArray qStringAsUcs2Le(const QString& src) +static QByteArray qStringAsUcs2Le(const QString & src) { - QByteArray rc(2*src.length(), 0); - const unsigned short *s = src.utf16(); - unsigned short *d = (unsigned short*)rc.data(); - for (int i = 0; i < src.length(); ++i) { - d[i] = qToLittleEndian(s[i]); - } - return rc; + QByteArray rc(2 * src.length(), 0); + const unsigned short * s = src.utf16(); + unsigned short * d = (unsigned short *)rc.data(); + for(int i = 0; i < src.length(); ++i) + { + d[i] = qToLittleEndian(s[i]); + } + return rc; } - -static QString qStringFromUcs2Le(const QByteArray& src) +static QString qStringFromUcs2Le(const QByteArray & src) { - Q_ASSERT(src.size() % 2 == 0); - unsigned short *d = (unsigned short*)src.data(); - for (int i = 0; i < src.length() / 2; ++i) { - d[i] = qFromLittleEndian(d[i]); - } - return QString((const QChar *)src.data(), src.size()/2); + Q_ASSERT(src.size() % 2 == 0); + unsigned short * d = (unsigned short *)src.data(); + for(int i = 0; i < src.length() / 2; ++i) + { + d[i] = qFromLittleEndian(d[i]); + } + return QString((const QChar *)src.data(), src.size() / 2); } #ifdef NTLMV1_CLIENT -static QByteArray qEncodeNtlmResponse(const QHttpAuthenticatorPrivate *ctx, const QNtlmPhase2Block& ch) +static QByteArray qEncodeNtlmResponse(const QHttpAuthenticatorPrivate * ctx, const QNtlmPhase2Block & ch) { - QCryptographicHash md4(QCryptographicHash::Md4); - QByteArray asUcs2Le = qStringAsUcs2Le(ctx->password); - md4.addData(asUcs2Le.data(), asUcs2Le.size()); - - unsigned char md4hash[22]; - memset(md4hash, 0, sizeof(md4hash)); - QByteArray hash = md4.result(); - Q_ASSERT(hash.size() == 16); - memcpy(md4hash, hash.constData(), 16); - - QByteArray rc(24, 0); - deshash((unsigned char *)rc.data(), md4hash, (unsigned char *)ch.challenge); - deshash((unsigned char *)rc.data() + 8, md4hash + 7, (unsigned char *)ch.challenge); - deshash((unsigned char *)rc.data() + 16, md4hash + 14, (unsigned char *)ch.challenge); - - hash.fill(0); - return rc; + QCryptographicHash md4(QCryptographicHash::Md4); + QByteArray asUcs2Le = qStringAsUcs2Le(ctx->password); + md4.addData(asUcs2Le.data(), asUcs2Le.size()); + + unsigned char md4hash[22]; + memset(md4hash, 0, sizeof(md4hash)); + QByteArray hash = md4.result(); + Q_ASSERT(hash.size() == 16); + memcpy(md4hash, hash.constData(), 16); + + QByteArray rc(24, 0); + deshash((unsigned char *)rc.data(), md4hash, (unsigned char *)ch.challenge); + deshash((unsigned char *)rc.data() + 8, md4hash + 7, (unsigned char *)ch.challenge); + deshash((unsigned char *)rc.data() + 16, md4hash + 14, (unsigned char *)ch.challenge); + + hash.fill(0); + return rc; } - -static QByteArray qEncodeLmResponse(const QHttpAuthenticatorPrivate *ctx, const QNtlmPhase2Block& ch) +static QByteArray qEncodeLmResponse(const QHttpAuthenticatorPrivate * ctx, const QNtlmPhase2Block & ch) { - QByteArray hash(21, 0); - QByteArray key(14, 0); - qstrncpy(key.data(), ctx->password.toUpper().toLatin1(), 14); - const char *block = "KGS!@#$%"; - - deshash((unsigned char *)hash.data(), (unsigned char *)key.data(), (unsigned char *)block); - deshash((unsigned char *)hash.data() + 8, (unsigned char *)key.data() + 7, (unsigned char *)block); - key.fill(0); - - QByteArray rc(24, 0); - deshash((unsigned char *)rc.data(), (unsigned char *)hash.data(), ch.challenge); - deshash((unsigned char *)rc.data() + 8, (unsigned char *)hash.data() + 7, ch.challenge); - deshash((unsigned char *)rc.data() + 16, (unsigned char *)hash.data() + 14, ch.challenge); - - hash.fill(0); - return rc; + QByteArray hash(21, 0); + QByteArray key(14, 0); + qstrncpy(key.data(), ctx->password.toUpper().toLatin1(), 14); + const char * block = "KGS!@#$%"; + + deshash((unsigned char *)hash.data(), (unsigned char *)key.data(), (unsigned char *)block); + deshash((unsigned char *)hash.data() + 8, (unsigned char *)key.data() + 7, (unsigned char *)block); + key.fill(0); + + QByteArray rc(24, 0); + deshash((unsigned char *)rc.data(), (unsigned char *)hash.data(), ch.challenge); + deshash((unsigned char *)rc.data() + 8, (unsigned char *)hash.data() + 7, ch.challenge); + deshash((unsigned char *)rc.data() + 16, (unsigned char *)hash.data() + 14, ch.challenge); + + hash.fill(0); + return rc; } #endif @@ -1126,320 +1153,330 @@ static QByteArray qEncodeLmResponse(const QHttpAuthenticatorPrivate *ctx, const * --------------------------------------- * *********************************************************************/ -QByteArray qEncodeHmacMd5(QByteArray &key, const QByteArray &message) +QByteArray qEncodeHmacMd5(QByteArray & key, const QByteArray & message) { - Q_ASSERT_X(!(message.isEmpty()),"qEncodeHmacMd5", "Empty message check"); - Q_ASSERT_X(!(key.isEmpty()),"qEncodeHmacMd5", "Empty key check"); + Q_ASSERT_X(!(message.isEmpty()), "qEncodeHmacMd5", "Empty message check"); + Q_ASSERT_X(!(key.isEmpty()), "qEncodeHmacMd5", "Empty key check"); - QCryptographicHash hash(QCryptographicHash::Md5); - QByteArray hMsg; + QCryptographicHash hash(QCryptographicHash::Md5); + QByteArray hMsg; - QByteArray iKeyPad(blockSize, 0x36); - QByteArray oKeyPad(blockSize, 0x5c); + QByteArray iKeyPad(blockSize, 0x36); + QByteArray oKeyPad(blockSize, 0x5c); - hash.reset(); - // Adjust the key length to blockSize + hash.reset(); + // Adjust the key length to blockSize - if(blockSize < key.length()) { - hash.addData(key); - key = hash.result(); //MD5 will always return 16 bytes length output - } + if(blockSize < key.length()) + { + hash.addData(key); + key = hash.result(); //MD5 will always return 16 bytes length output + } - //Key will be <= 16 or 20 bytes as hash function (MD5 or SHA hash algorithms) - //key size can be max of Block size only - key = key.leftJustified(blockSize,0,true); + //Key will be <= 16 or 20 bytes as hash function (MD5 or SHA hash algorithms) + //key size can be max of Block size only + key = key.leftJustified(blockSize, 0, true); - //iKeyPad, oKeyPad and key are all of same size "blockSize" + //iKeyPad, oKeyPad and key are all of same size "blockSize" - //xor of iKeyPad with Key and store the result into iKeyPad - for(int i = 0; iv2Hash.size() == 0) { - QCryptographicHash md4(QCryptographicHash::Md4); - QByteArray passUnicode = qStringAsUcs2Le(ctx->password); - md4.addData(passUnicode.data(), passUnicode.size()); - - QByteArray hashKey = md4.result(); - Q_ASSERT(hashKey.size() == 16); - // Assuming the user and domain is always unicode in challenge - QByteArray message = - qStringAsUcs2Le(ctx->extractedUser.toUpper()) + - qStringAsUcs2Le(phase3->domainStr); - - phase3->v2Hash = qEncodeHmacMd5(hashKey, message); - } - return phase3->v2Hash; + Q_ASSERT(phase3 != 0); + // since v2 Hash is need for both NTLMv2 and LMv2 it is calculated + // only once and stored and reused + if(phase3->v2Hash.size() == 0) + { + QCryptographicHash md4(QCryptographicHash::Md4); + QByteArray passUnicode = qStringAsUcs2Le(ctx->password); + md4.addData(passUnicode.data(), passUnicode.size()); + + QByteArray hashKey = md4.result(); + Q_ASSERT(hashKey.size() == 16); + // Assuming the user and domain is always unicode in challenge + QByteArray message = qStringAsUcs2Le(ctx->extractedUser.toUpper()) + qStringAsUcs2Le(phase3->domainStr); + + phase3->v2Hash = qEncodeHmacMd5(hashKey, message); + } + return phase3->v2Hash; } -static QByteArray clientChallenge(const QHttpAuthenticatorPrivate *ctx) +static QByteArray clientChallenge(const QHttpAuthenticatorPrivate * ctx) { - Q_ASSERT(ctx->cnonce.size() >= 8); - QByteArray clientCh = ctx->cnonce.right(8); - return clientCh; + Q_ASSERT(ctx->cnonce.size() >= 8); + QByteArray clientCh = ctx->cnonce.right(8); + return clientCh; } // caller has to ensure a valid targetInfoBuff -static QByteArray qExtractServerTime(const QByteArray& targetInfoBuff) +static QByteArray qExtractServerTime(const QByteArray & targetInfoBuff) { - QByteArray timeArray; - QDataStream ds(targetInfoBuff); - ds.setByteOrder(QDataStream::LittleEndian); - - quint16 avId; - quint16 avLen; - - ds >> avId; - ds >> avLen; - while(avId != 0) { - if(avId == AVTIMESTAMP) { - timeArray.resize(avLen); - //avLen size of QByteArray is allocated - ds.readRawData(timeArray.data(), avLen); - break; - } - ds.skipRawData(avLen); - ds >> avId; - ds >> avLen; - } - return timeArray; + QByteArray timeArray; + QDataStream ds(targetInfoBuff); + ds.setByteOrder(QDataStream::LittleEndian); + + quint16 avId; + quint16 avLen; + + ds >> avId; + ds >> avLen; + while(avId != 0) + { + if(avId == AVTIMESTAMP) + { + timeArray.resize(avLen); + //avLen size of QByteArray is allocated + ds.readRawData(timeArray.data(), avLen); + break; + } + ds.skipRawData(avLen); + ds >> avId; + ds >> avLen; + } + return timeArray; } -static QByteArray qEncodeNtlmv2Response(const QHttpAuthenticatorPrivate *ctx, - const QNtlmPhase2Block& ch, - QNtlmPhase3Block *phase3) +static QByteArray qEncodeNtlmv2Response(const QHttpAuthenticatorPrivate * ctx, + const QNtlmPhase2Block & ch, + QNtlmPhase3Block * phase3) { - Q_ASSERT(phase3 != 0); - // return value stored in phase3 - qCreatev2Hash(ctx, phase3); - - QByteArray temp; - QDataStream ds(&temp, QIODevice::WriteOnly); - ds.setByteOrder(QDataStream::LittleEndian); - - ds << respversion; - ds << hirespversion; - - //Reserved - QByteArray reserved1(6, 0); - ds.writeRawData(reserved1.constData(), reserved1.size()); - - quint64 time = 0; - QByteArray timeArray; - - if(ch.targetInfo.len) - { - timeArray = qExtractServerTime(ch.targetInfoBuff); - } - - //if server sends time, use it instead of current time - if(timeArray.size()) { - ds.writeRawData(timeArray.constData(), timeArray.size()); - } else { - QDateTime currentTime(QDate::currentDate(), - QTime::currentTime(), Qt::UTC); - - // number of seconds between 1601 and epoc(1970) - // 369 years, 89 leap years - // ((369 * 365) + 89) * 24 * 3600 = 11644473600 - - time = Q_UINT64_C(currentTime.toTime_t() + 11644473600); - - // represented as 100 nano seconds - time = Q_UINT64_C(time * 10000000); - ds << time; - } - - //8 byte client challenge - QByteArray clientCh = clientChallenge(ctx); - ds.writeRawData(clientCh.constData(), clientCh.size()); - - //Reserved - QByteArray reserved2(4, 0); - ds.writeRawData(reserved2.constData(), reserved2.size()); - - if (ch.targetInfo.len > 0) { - ds.writeRawData(ch.targetInfoBuff.constData(), - ch.targetInfoBuff.size()); - } - - //Reserved - QByteArray reserved3(4, 0); - ds.writeRawData(reserved3.constData(), reserved3.size()); - - QByteArray message((const char*)ch.challenge, sizeof(ch.challenge)); - message.append(temp); - - QByteArray ntChallengeResp = qEncodeHmacMd5(phase3->v2Hash, message); - ntChallengeResp.append(temp); - - return ntChallengeResp; + Q_ASSERT(phase3 != 0); + // return value stored in phase3 + qCreatev2Hash(ctx, phase3); + + QByteArray temp; + QDataStream ds(&temp, QIODevice::WriteOnly); + ds.setByteOrder(QDataStream::LittleEndian); + + ds << respversion; + ds << hirespversion; + + //Reserved + QByteArray reserved1(6, 0); + ds.writeRawData(reserved1.constData(), reserved1.size()); + + quint64 time = 0; + QByteArray timeArray; + + if(ch.targetInfo.len) + { + timeArray = qExtractServerTime(ch.targetInfoBuff); + } + + //if server sends time, use it instead of current time + if(timeArray.size()) + { + ds.writeRawData(timeArray.constData(), timeArray.size()); + } + else + { + QDateTime currentTime(QDate::currentDate(), + QTime::currentTime(), Qt::UTC); + + // number of seconds between 1601 and epoc(1970) + // 369 years, 89 leap years + // ((369 * 365) + 89) * 24 * 3600 = 11644473600 + + time = Q_UINT64_C(currentTime.toTime_t() + 11644473600); + + // represented as 100 nano seconds + time = Q_UINT64_C(time * 10000000); + ds << time; + } + + //8 byte client challenge + QByteArray clientCh = clientChallenge(ctx); + ds.writeRawData(clientCh.constData(), clientCh.size()); + + //Reserved + QByteArray reserved2(4, 0); + ds.writeRawData(reserved2.constData(), reserved2.size()); + + if(ch.targetInfo.len > 0) + { + ds.writeRawData(ch.targetInfoBuff.constData(), + ch.targetInfoBuff.size()); + } + + //Reserved + QByteArray reserved3(4, 0); + ds.writeRawData(reserved3.constData(), reserved3.size()); + + QByteArray message((const char *)ch.challenge, sizeof(ch.challenge)); + message.append(temp); + + QByteArray ntChallengeResp = qEncodeHmacMd5(phase3->v2Hash, message); + ntChallengeResp.append(temp); + + return ntChallengeResp; } -static QByteArray qEncodeLmv2Response(const QHttpAuthenticatorPrivate *ctx, - const QNtlmPhase2Block& ch, - QNtlmPhase3Block *phase3) +static QByteArray qEncodeLmv2Response(const QHttpAuthenticatorPrivate * ctx, + const QNtlmPhase2Block & ch, + QNtlmPhase3Block * phase3) { - Q_ASSERT(phase3 != 0); - // return value stored in phase3 - qCreatev2Hash(ctx, phase3); + Q_ASSERT(phase3 != 0); + // return value stored in phase3 + qCreatev2Hash(ctx, phase3); - QByteArray message((const char*)ch.challenge, sizeof(ch.challenge)); - QByteArray clientCh = clientChallenge(ctx); + QByteArray message((const char *)ch.challenge, sizeof(ch.challenge)); + QByteArray clientCh = clientChallenge(ctx); - message.append(clientCh); + message.append(clientCh); - QByteArray lmChallengeResp = qEncodeHmacMd5(phase3->v2Hash, message); - lmChallengeResp.append(clientCh); + QByteArray lmChallengeResp = qEncodeHmacMd5(phase3->v2Hash, message); + lmChallengeResp.append(clientCh); - return lmChallengeResp; + return lmChallengeResp; } -static bool qNtlmDecodePhase2(const QByteArray& data, QNtlmPhase2Block& ch) +static bool qNtlmDecodePhase2(const QByteArray & data, QNtlmPhase2Block & ch) { - Q_ASSERT(QNtlmPhase2BlockBase::Size == sizeof(QNtlmPhase2BlockBase)); - if (data.size() < QNtlmPhase2BlockBase::Size) - return false; - - - QDataStream ds(data); - ds.setByteOrder(QDataStream::LittleEndian); - if (ds.readRawData(ch.magic, 8) < 8) - return false; - if (strncmp(ch.magic, "NTLMSSP", 8) != 0) - return false; - - ds >> ch.type; - if (ch.type != 2) - return false; - - ds >> ch.targetName; - ds >> ch.flags; - if (ds.readRawData((char *)ch.challenge, 8) < 8) - return false; - ds >> ch.context[0] >> ch.context[1]; - ds >> ch.targetInfo; - - if (ch.targetName.len > 0) { - if (ch.targetName.len + ch.targetName.offset >= (unsigned)data.size()) - return false; - - ch.targetNameStr = qStringFromUcs2Le(data.mid(ch.targetName.offset, ch.targetName.len)); - } - - if (ch.targetInfo.len > 0) { - if (ch.targetInfo.len + ch.targetInfo.offset > (unsigned)data.size()) - return false; - - ch.targetInfoBuff = data.mid(ch.targetInfo.offset, ch.targetInfo.len); - } - - return true; + Q_ASSERT(QNtlmPhase2BlockBase::Size == sizeof(QNtlmPhase2BlockBase)); + if(data.size() < QNtlmPhase2BlockBase::Size) + return false; + + QDataStream ds(data); + ds.setByteOrder(QDataStream::LittleEndian); + if(ds.readRawData(ch.magic, 8) < 8) + return false; + if(strncmp(ch.magic, "NTLMSSP", 8) != 0) + return false; + + ds >> ch.type; + if(ch.type != 2) + return false; + + ds >> ch.targetName; + ds >> ch.flags; + if(ds.readRawData((char *)ch.challenge, 8) < 8) + return false; + ds >> ch.context[0] >> ch.context[1]; + ds >> ch.targetInfo; + + if(ch.targetName.len > 0) + { + if(ch.targetName.len + ch.targetName.offset >= (unsigned)data.size()) + return false; + + ch.targetNameStr = qStringFromUcs2Le(data.mid(ch.targetName.offset, ch.targetName.len)); + } + + if(ch.targetInfo.len > 0) + { + if(ch.targetInfo.len + ch.targetInfo.offset > (unsigned)data.size()) + return false; + + ch.targetInfoBuff = data.mid(ch.targetInfo.offset, ch.targetInfo.len); + } + + return true; } - -static QByteArray qNtlmPhase3(QHttpAuthenticatorPrivate *ctx, const QByteArray& phase2data) +static QByteArray qNtlmPhase3(QHttpAuthenticatorPrivate * ctx, const QByteArray & phase2data) { - QNtlmPhase2Block ch; - if (!qNtlmDecodePhase2(phase2data, ch)) - return QByteArray(); - - QByteArray rc; - QDataStream ds(&rc, QIODevice::WriteOnly); - ds.setByteOrder(QDataStream::LittleEndian); - QNtlmPhase3Block pb; - - bool unicode = ch.flags & NTLMSSP_NEGOTIATE_UNICODE; - - pb.flags = NTLMSSP_NEGOTIATE_NTLM; - if (unicode) - pb.flags |= NTLMSSP_NEGOTIATE_UNICODE; - else - pb.flags |= NTLMSSP_NEGOTIATE_OEM; - - - int offset = QNtlmPhase3BlockBase::Size; - Q_ASSERT(QNtlmPhase3BlockBase::Size == sizeof(QNtlmPhase3BlockBase)); - - // for kerberos style user@domain logins, NTLM domain string should be left empty - if (ctx->userDomain.isEmpty() && !ctx->extractedUser.contains(QLatin1Char('@'))) { - offset = qEncodeNtlmString(pb.domain, offset, ch.targetNameStr, unicode); - pb.domainStr = ch.targetNameStr; - } else { - offset = qEncodeNtlmString(pb.domain, offset, ctx->userDomain, unicode); - pb.domainStr = ctx->userDomain; - } - - offset = qEncodeNtlmString(pb.user, offset, ctx->extractedUser, unicode); - pb.userStr = ctx->extractedUser; - - offset = qEncodeNtlmString(pb.workstation, offset, ctx->workstation, unicode); - pb.workstationStr = ctx->workstation; - - // Get LM response + QNtlmPhase2Block ch; + if(!qNtlmDecodePhase2(phase2data, ch)) + return QByteArray(); + + QByteArray rc; + QDataStream ds(&rc, QIODevice::WriteOnly); + ds.setByteOrder(QDataStream::LittleEndian); + QNtlmPhase3Block pb; + + bool unicode = ch.flags & NTLMSSP_NEGOTIATE_UNICODE; + + pb.flags = NTLMSSP_NEGOTIATE_NTLM; + if(unicode) + pb.flags |= NTLMSSP_NEGOTIATE_UNICODE; + else + pb.flags |= NTLMSSP_NEGOTIATE_OEM; + + int offset = QNtlmPhase3BlockBase::Size; + Q_ASSERT(QNtlmPhase3BlockBase::Size == sizeof(QNtlmPhase3BlockBase)); + + // for kerberos style user@domain logins, NTLM domain string should be left empty + if(ctx->userDomain.isEmpty() && !ctx->extractedUser.contains(QLatin1Char('@'))) + { + offset = qEncodeNtlmString(pb.domain, offset, ch.targetNameStr, unicode); + pb.domainStr = ch.targetNameStr; + } + else + { + offset = qEncodeNtlmString(pb.domain, offset, ctx->userDomain, unicode); + pb.domainStr = ctx->userDomain; + } + + offset = qEncodeNtlmString(pb.user, offset, ctx->extractedUser, unicode); + pb.userStr = ctx->extractedUser; + + offset = qEncodeNtlmString(pb.workstation, offset, ctx->workstation, unicode); + pb.workstationStr = ctx->workstation; + +// Get LM response #ifdef NTLMV1_CLIENT - pb.lmResponseBuf = qEncodeLmResponse(ctx, ch); + pb.lmResponseBuf = qEncodeLmResponse(ctx, ch); #else - if (ch.targetInfo.len > 0) { - pb.lmResponseBuf = QByteArray(); - } else { - pb.lmResponseBuf = qEncodeLmv2Response(ctx, ch, &pb); - } + if(ch.targetInfo.len > 0) + { + pb.lmResponseBuf = QByteArray(); + } + else + { + pb.lmResponseBuf = qEncodeLmv2Response(ctx, ch, &pb); + } #endif - offset = qEncodeNtlmBuffer(pb.lmResponse, offset, pb.lmResponseBuf); + offset = qEncodeNtlmBuffer(pb.lmResponse, offset, pb.lmResponseBuf); - // Get NTLM response +// Get NTLM response #ifdef NTLMV1_CLIENT - pb.ntlmResponseBuf = qEncodeNtlmResponse(ctx, ch); + pb.ntlmResponseBuf = qEncodeNtlmResponse(ctx, ch); #else - pb.ntlmResponseBuf = qEncodeNtlmv2Response(ctx, ch, &pb); + pb.ntlmResponseBuf = qEncodeNtlmv2Response(ctx, ch, &pb); #endif - offset = qEncodeNtlmBuffer(pb.ntlmResponse, offset, pb.ntlmResponseBuf); - + offset = qEncodeNtlmBuffer(pb.ntlmResponse, offset, pb.ntlmResponseBuf); - // Encode and send - ds << pb; + // Encode and send + ds << pb; - return rc; + return rc; } - - QT_END_NAMESPACE diff --git a/src/modules/objects/qthttp/qhttpauthenticator_p.h b/src/modules/objects/qthttp/qhttpauthenticator_p.h index 54b4c3536..1c9a26b76 100644 --- a/src/modules/objects/qthttp/qhttpauthenticator_p.h +++ b/src/modules/objects/qthttp/qhttpauthenticator_p.h @@ -67,82 +67,92 @@ class QUrl; class QHttpAuthenticator { public: - QHttpAuthenticator(); - ~QHttpAuthenticator(); + QHttpAuthenticator(); + ~QHttpAuthenticator(); - QHttpAuthenticator(const QHttpAuthenticator &other); - QHttpAuthenticator &operator=(const QHttpAuthenticator &other); + QHttpAuthenticator(const QHttpAuthenticator & other); + QHttpAuthenticator & operator=(const QHttpAuthenticator & other); - bool operator==(const QHttpAuthenticator &other) const; - inline bool operator!=(const QHttpAuthenticator &other) const { return !operator==(other); } + bool operator==(const QHttpAuthenticator & other) const; + inline bool operator!=(const QHttpAuthenticator & other) const { return !operator==(other); } - QString user() const; - void setUser(const QString &user); + QString user() const; + void setUser(const QString & user); - QString password() const; - void setPassword(const QString &password); + QString password() const; + void setPassword(const QString & password); - QString realm() const; + QString realm() const; - QVariant option(const QString &opt) const; - QVariantHash options() const; - void setOption(const QString &opt, const QVariant &value); + QVariant option(const QString & opt) const; + QVariantHash options() const; + void setOption(const QString & opt, const QVariant & value); - bool isNull() const; - void detach(); + bool isNull() const; + void detach(); + + QHttpAuthenticator & operator=(const QAuthenticator & auth); + QAuthenticator toQAuthenticator(); - QHttpAuthenticator &operator=(const QAuthenticator& auth); - QAuthenticator toQAuthenticator(); private: - friend class QHttpAuthenticatorPrivate; - QHttpAuthenticatorPrivate *d; + friend class QHttpAuthenticatorPrivate; + QHttpAuthenticatorPrivate * d; }; class QHttpAuthenticatorPrivate { public: - enum Method { None, Basic, Plain, Login, Ntlm, CramMd5, DigestMd5 }; - QHttpAuthenticatorPrivate(); - - QAtomicInt ref; - QString user; - QString extractedUser; - QString password; - QVariantHash options; - Method method; - QString realm; - QByteArray challenge; - bool hasFailed; //credentials have been tried but rejected by server. - - enum Phase { - Start, - Phase2, - Done, - Invalid - }; - Phase phase; - - // digest specific - QByteArray cnonce; - int nonceCount; - - // ntlm specific - QString workstation; - QString userDomain; - - QByteArray calculateResponse(const QByteArray &method, const QByteArray &path); - - inline static QHttpAuthenticatorPrivate *getPrivate(QHttpAuthenticator &auth) { return auth.d; } - inline static const QHttpAuthenticatorPrivate *getPrivate(const QHttpAuthenticator &auth) { return auth.d; } - - QByteArray digestMd5Response(const QByteArray &challenge, const QByteArray &method, const QByteArray &path); - static QHash parseDigestAuthenticationChallenge(const QByteArray &challenge); + enum Method + { + None, + Basic, + Plain, + Login, + Ntlm, + CramMd5, + DigestMd5 + }; + QHttpAuthenticatorPrivate(); + + QAtomicInt ref; + QString user; + QString extractedUser; + QString password; + QVariantHash options; + Method method; + QString realm; + QByteArray challenge; + bool hasFailed; //credentials have been tried but rejected by server. + + enum Phase + { + Start, + Phase2, + Done, + Invalid + }; + Phase phase; + + // digest specific + QByteArray cnonce; + int nonceCount; + + // ntlm specific + QString workstation; + QString userDomain; + + QByteArray calculateResponse(const QByteArray & method, const QByteArray & path); + + inline static QHttpAuthenticatorPrivate * getPrivate(QHttpAuthenticator & auth) { return auth.d; } + inline static const QHttpAuthenticatorPrivate * getPrivate(const QHttpAuthenticator & auth) { return auth.d; } + + QByteArray digestMd5Response(const QByteArray & challenge, const QByteArray & method, const QByteArray & path); + static QHash parseDigestAuthenticationChallenge(const QByteArray & challenge); #ifndef QT_NO_HTTP - void parseHttpResponse(const QHttpResponseHeader &, bool isProxy); + void parseHttpResponse(const QHttpResponseHeader &, bool isProxy); #endif - void parseHttpResponse(const QList >&, bool isProxy); - + void parseHttpResponse(const QList> &, bool isProxy); }; #endif diff --git a/src/modules/objects/qthttp/qringbuffer_p.h b/src/modules/objects/qthttp/qringbuffer_p.h index ff762fab2..b1690af52 100644 --- a/src/modules/objects/qthttp/qringbuffer_p.h +++ b/src/modules/objects/qthttp/qringbuffer_p.h @@ -59,389 +59,445 @@ class QRingBuffer { public: - inline QRingBuffer(int growth = 4096) : basicBlockSize(growth) { - buffers << QByteArray(); - clear(); - } - - inline int nextDataBlockSize() const { - return (tailBuffer == 0 ? tail : buffers.first().size()) - head; - } - - inline const char *readPointer() const { - return buffers.isEmpty() ? 0 : (buffers.first().constData() + head); - } - - // access the bytes at a specified position - // the out-variable length will contain the amount of bytes readable - // from there, e.g. the amount still the same QByteArray - inline const char *readPointerAtPosition(qint64 pos, qint64 &length) const { - if (buffers.isEmpty()) { - length = 0; - return 0; - } - - if (pos >= bufferSize) { - length = 0; - return 0; - } - - // special case: it is in the first buffer - int nextDataBlockSizeValue = nextDataBlockSize(); - if (pos - head < nextDataBlockSizeValue) { - length = nextDataBlockSizeValue - pos; - return buffers.at(0).constData() + head + pos; - } - - // special case: we only had one buffer and tried to read over it - if (buffers.length() == 1) { - length = 0; - return 0; - } - - // skip the first - pos -= nextDataBlockSizeValue; - - // normal case: it is somewhere in the second to the-one-before-the-tailBuffer - for (int i = 1; i < tailBuffer; i++) { - if (pos >= buffers[i].size()) { - pos -= buffers[i].size(); - continue; - } - - length = buffers[i].length() - pos; - return buffers[i].constData() + pos; - } - - // it is in the tail buffer - length = tail - pos; - return buffers[tailBuffer].constData() + pos; - } - - inline void free(int bytes) { - bufferSize -= bytes; - if (bufferSize < 0) - bufferSize = 0; - - for (;;) { - int nextBlockSize = nextDataBlockSize(); - if (bytes < nextBlockSize) { - head += bytes; - if (head == tail && tailBuffer == 0) - head = tail = 0; - break; - } - - bytes -= nextBlockSize; - if (buffers.count() == 1) { - if (buffers.at(0).size() != basicBlockSize) - buffers[0].resize(basicBlockSize); - head = tail = 0; - tailBuffer = 0; - break; - } - - buffers.removeAt(0); - --tailBuffer; - head = 0; - } - - if (isEmpty()) - clear(); // try to minify/squeeze us - } - - inline char *reserve(int bytes) { - // if this is a fresh empty QRingBuffer - if (bufferSize == 0) { - buffers[0].resize(qMax(basicBlockSize, bytes)); - bufferSize += bytes; - tail = bytes; - return buffers[tailBuffer].data(); - } - - bufferSize += bytes; - - // if there is already enough space, simply return. - if (tail + bytes <= buffers.at(tailBuffer).size()) { - char *writePtr = buffers[tailBuffer].data() + tail; - tail += bytes; - return writePtr; - } - - // if our buffer isn't half full yet, simply resize it. - if (tail < buffers.at(tailBuffer).size() / 2) { - buffers[tailBuffer].resize(tail + bytes); - char *writePtr = buffers[tailBuffer].data() + tail; - tail += bytes; - return writePtr; - } - - // shrink this buffer to its current size - buffers[tailBuffer].resize(tail); - - // create a new QByteArray with the right size - buffers << QByteArray(); - ++tailBuffer; - buffers[tailBuffer].resize(qMax(basicBlockSize, bytes)); - tail = bytes; - return buffers[tailBuffer].data(); - } - - inline void truncate(int pos) { - if (pos < size()) - chop(size() - pos); - } - - inline void chop(int bytes) { - bufferSize -= bytes; - if (bufferSize < 0) - bufferSize = 0; - - for (;;) { - // special case: head and tail are in the same buffer - if (tailBuffer == 0) { - tail -= bytes; - if (tail <= head) - tail = head = 0; - return; - } - - if (bytes <= tail) { - tail -= bytes; - return; - } - - bytes -= tail; - buffers.removeAt(tailBuffer); - - --tailBuffer; - tail = buffers.at(tailBuffer).size(); - } - - if (isEmpty()) - clear(); // try to minify/squeeze us - } - - inline bool isEmpty() const { - return tailBuffer == 0 && tail == 0; - } - - inline int getChar() { - if (isEmpty()) - return -1; - char c = *readPointer(); - free(1); - return int(uchar(c)); - } - - inline void putChar(char c) { - char *ptr = reserve(1); - *ptr = c; - } - - inline void ungetChar(char c) { - --head; - if (head < 0) { - buffers.prepend(QByteArray()); - buffers[0].resize(basicBlockSize); - head = basicBlockSize - 1; - ++tailBuffer; - } - buffers[0][head] = c; - ++bufferSize; - } - - inline int size() const { - return bufferSize; - } - - inline void clear() { - buffers.erase(buffers.begin() + 1, buffers.end()); - buffers[0].resize(0); - buffers[0].squeeze(); - - head = tail = 0; - tailBuffer = 0; - bufferSize = 0; - } - - inline int indexOf(char c) const { - int index = 0; - for (int i = 0; i < buffers.size(); ++i) { - int start = 0; - int end = buffers.at(i).size(); - - if (i == 0) - start = head; - if (i == tailBuffer) - end = tail; - const char *ptr = buffers.at(i).data() + start; - for (int j = start; j < end; ++j) { - if (*ptr++ == c) - return index; - ++index; - } - } - return -1; - } - - inline int indexOf(char c, int maxLength) const { - int index = 0; - int remain = qMin(size(), maxLength); - for (int i = 0; remain && i < buffers.size(); ++i) { - int start = 0; - int end = buffers.at(i).size(); - - if (i == 0) - start = head; - if (i == tailBuffer) - end = tail; - if (remain < end - start) { - end = start + remain; - remain = 0; - } else { - remain -= end - start; - } - const char *ptr = buffers.at(i).data() + start; - for (int j = start; j < end; ++j) { - if (*ptr++ == c) - return index; - ++index; - } - } - return -1; - } - - inline int read(char *data, int maxLength) { - int bytesToRead = qMin(size(), maxLength); - int readSoFar = 0; - while (readSoFar < bytesToRead) { - const char *ptr = readPointer(); - int bytesToReadFromThisBlock = qMin(bytesToRead - readSoFar, nextDataBlockSize()); - if (data) - memcpy(data + readSoFar, ptr, bytesToReadFromThisBlock); - readSoFar += bytesToReadFromThisBlock; - free(bytesToReadFromThisBlock); - } - return readSoFar; - } - - inline QByteArray read(int maxLength) { - QByteArray tmp; - tmp.resize(qMin(maxLength, size())); - read(tmp.data(), tmp.size()); - return tmp; - } - - inline QByteArray readAll() { - return read(size()); - } - - // read an unspecified amount (will read the first buffer) - inline QByteArray read() { - if (bufferSize == 0) - return QByteArray(); - - // multiple buffers, just take the first one - if (head == 0 && tailBuffer != 0) { - QByteArray qba = buffers.takeFirst(); - --tailBuffer; - bufferSize -= qba.length(); - return qba; - } - - // one buffer with good value for head. Just take it. - if (head == 0 && tailBuffer == 0) { - QByteArray qba = buffers.takeFirst(); - qba.resize(tail); - buffers << QByteArray(); - bufferSize = 0; - tail = 0; - return qba; - } - - // Bad case: We have to memcpy. - // We can avoid by initializing the QRingBuffer with basicBlockSize of 0 - // and only using this read() function. - QByteArray qba(readPointer(), nextDataBlockSize()); - buffers.removeFirst(); - head = 0; - if (tailBuffer == 0) { - buffers << QByteArray(); - tail = 0; - } else { - --tailBuffer; - } - bufferSize -= qba.length(); - return qba; - } - - // append a new buffer to the end - inline void append(const QByteArray &qba) { - buffers[tailBuffer].resize(tail); - buffers << qba; - ++tailBuffer; - tail = qba.length(); - bufferSize += qba.length(); - } - - inline QByteArray peek(int maxLength) const { - int bytesToRead = qMin(size(), maxLength); - if(maxLength <= 0) - return QByteArray(); - QByteArray ret; - ret.resize(bytesToRead); - int readSoFar = 0; - for (int i = 0; readSoFar < bytesToRead && i < buffers.size(); ++i) { - int start = 0; - int end = buffers.at(i).size(); - if (i == 0) - start = head; - if (i == tailBuffer) - end = tail; - const int len = qMin(ret.size()-readSoFar, end-start); - memcpy(ret.data()+readSoFar, buffers.at(i).constData()+start, len); - readSoFar += len; - } - Q_ASSERT(readSoFar == ret.size()); - return ret; - } - - inline int skip(int length) { - return read(0, length); - } - - inline int readLine(char *data, int maxLength) { - int index = indexOf('\n'); - if (index == -1) - return read(data, maxLength); - if (maxLength <= 0) - return -1; - - int readSoFar = 0; - while (readSoFar < index + 1 && readSoFar < maxLength - 1) { - int bytesToRead = qMin((index + 1) - readSoFar, nextDataBlockSize()); - bytesToRead = qMin(bytesToRead, (maxLength - 1) - readSoFar); - memcpy(data + readSoFar, readPointer(), bytesToRead); - readSoFar += bytesToRead; - free(bytesToRead); - } - - // Terminate it. - data[readSoFar] = '\0'; - return readSoFar; - } - - inline bool canReadLine() const { - return indexOf('\n') != -1; - } + inline QRingBuffer(int growth = 4096) : basicBlockSize(growth) + { + buffers << QByteArray(); + clear(); + } + + inline int nextDataBlockSize() const + { + return (tailBuffer == 0 ? tail : buffers.first().size()) - head; + } + + inline const char * readPointer() const + { + return buffers.isEmpty() ? 0 : (buffers.first().constData() + head); + } + + // access the bytes at a specified position + // the out-variable length will contain the amount of bytes readable + // from there, e.g. the amount still the same QByteArray + inline const char * readPointerAtPosition(qint64 pos, qint64 & length) const + { + if(buffers.isEmpty()) + { + length = 0; + return 0; + } + + if(pos >= bufferSize) + { + length = 0; + return 0; + } + + // special case: it is in the first buffer + int nextDataBlockSizeValue = nextDataBlockSize(); + if(pos - head < nextDataBlockSizeValue) + { + length = nextDataBlockSizeValue - pos; + return buffers.at(0).constData() + head + pos; + } + + // special case: we only had one buffer and tried to read over it + if(buffers.length() == 1) + { + length = 0; + return 0; + } + + // skip the first + pos -= nextDataBlockSizeValue; + + // normal case: it is somewhere in the second to the-one-before-the-tailBuffer + for(int i = 1; i < tailBuffer; i++) + { + if(pos >= buffers[i].size()) + { + pos -= buffers[i].size(); + continue; + } + + length = buffers[i].length() - pos; + return buffers[i].constData() + pos; + } + + // it is in the tail buffer + length = tail - pos; + return buffers[tailBuffer].constData() + pos; + } + + inline void free(int bytes) + { + bufferSize -= bytes; + if(bufferSize < 0) + bufferSize = 0; + + for(;;) + { + int nextBlockSize = nextDataBlockSize(); + if(bytes < nextBlockSize) + { + head += bytes; + if(head == tail && tailBuffer == 0) + head = tail = 0; + break; + } + + bytes -= nextBlockSize; + if(buffers.count() == 1) + { + if(buffers.at(0).size() != basicBlockSize) + buffers[0].resize(basicBlockSize); + head = tail = 0; + tailBuffer = 0; + break; + } + + buffers.removeAt(0); + --tailBuffer; + head = 0; + } + + if(isEmpty()) + clear(); // try to minify/squeeze us + } + + inline char * reserve(int bytes) + { + // if this is a fresh empty QRingBuffer + if(bufferSize == 0) + { + buffers[0].resize(qMax(basicBlockSize, bytes)); + bufferSize += bytes; + tail = bytes; + return buffers[tailBuffer].data(); + } + + bufferSize += bytes; + + // if there is already enough space, simply return. + if(tail + bytes <= buffers.at(tailBuffer).size()) + { + char * writePtr = buffers[tailBuffer].data() + tail; + tail += bytes; + return writePtr; + } + + // if our buffer isn't half full yet, simply resize it. + if(tail < buffers.at(tailBuffer).size() / 2) + { + buffers[tailBuffer].resize(tail + bytes); + char * writePtr = buffers[tailBuffer].data() + tail; + tail += bytes; + return writePtr; + } + + // shrink this buffer to its current size + buffers[tailBuffer].resize(tail); + + // create a new QByteArray with the right size + buffers << QByteArray(); + ++tailBuffer; + buffers[tailBuffer].resize(qMax(basicBlockSize, bytes)); + tail = bytes; + return buffers[tailBuffer].data(); + } + + inline void truncate(int pos) + { + if(pos < size()) + chop(size() - pos); + } + + inline void chop(int bytes) + { + bufferSize -= bytes; + if(bufferSize < 0) + bufferSize = 0; + + for(;;) + { + // special case: head and tail are in the same buffer + if(tailBuffer == 0) + { + tail -= bytes; + if(tail <= head) + tail = head = 0; + return; + } + + if(bytes <= tail) + { + tail -= bytes; + return; + } + + bytes -= tail; + buffers.removeAt(tailBuffer); + + --tailBuffer; + tail = buffers.at(tailBuffer).size(); + } + + if(isEmpty()) + clear(); // try to minify/squeeze us + } + + inline bool isEmpty() const + { + return tailBuffer == 0 && tail == 0; + } + + inline int getChar() + { + if(isEmpty()) + return -1; + char c = *readPointer(); + free(1); + return int(uchar(c)); + } + + inline void putChar(char c) + { + char * ptr = reserve(1); + *ptr = c; + } + + inline void ungetChar(char c) + { + --head; + if(head < 0) + { + buffers.prepend(QByteArray()); + buffers[0].resize(basicBlockSize); + head = basicBlockSize - 1; + ++tailBuffer; + } + buffers[0][head] = c; + ++bufferSize; + } + + inline int size() const + { + return bufferSize; + } + + inline void clear() + { + buffers.erase(buffers.begin() + 1, buffers.end()); + buffers[0].resize(0); + buffers[0].squeeze(); + + head = tail = 0; + tailBuffer = 0; + bufferSize = 0; + } + + inline int indexOf(char c) const + { + int index = 0; + for(int i = 0; i < buffers.size(); ++i) + { + int start = 0; + int end = buffers.at(i).size(); + + if(i == 0) + start = head; + if(i == tailBuffer) + end = tail; + const char * ptr = buffers.at(i).data() + start; + for(int j = start; j < end; ++j) + { + if(*ptr++ == c) + return index; + ++index; + } + } + return -1; + } + + inline int indexOf(char c, int maxLength) const + { + int index = 0; + int remain = qMin(size(), maxLength); + for(int i = 0; remain && i < buffers.size(); ++i) + { + int start = 0; + int end = buffers.at(i).size(); + + if(i == 0) + start = head; + if(i == tailBuffer) + end = tail; + if(remain < end - start) + { + end = start + remain; + remain = 0; + } + else + { + remain -= end - start; + } + const char * ptr = buffers.at(i).data() + start; + for(int j = start; j < end; ++j) + { + if(*ptr++ == c) + return index; + ++index; + } + } + return -1; + } + + inline int read(char * data, int maxLength) + { + int bytesToRead = qMin(size(), maxLength); + int readSoFar = 0; + while(readSoFar < bytesToRead) + { + const char * ptr = readPointer(); + int bytesToReadFromThisBlock = qMin(bytesToRead - readSoFar, nextDataBlockSize()); + if(data) + memcpy(data + readSoFar, ptr, bytesToReadFromThisBlock); + readSoFar += bytesToReadFromThisBlock; + free(bytesToReadFromThisBlock); + } + return readSoFar; + } + + inline QByteArray read(int maxLength) + { + QByteArray tmp; + tmp.resize(qMin(maxLength, size())); + read(tmp.data(), tmp.size()); + return tmp; + } + + inline QByteArray readAll() + { + return read(size()); + } + + // read an unspecified amount (will read the first buffer) + inline QByteArray read() + { + if(bufferSize == 0) + return QByteArray(); + + // multiple buffers, just take the first one + if(head == 0 && tailBuffer != 0) + { + QByteArray qba = buffers.takeFirst(); + --tailBuffer; + bufferSize -= qba.length(); + return qba; + } + + // one buffer with good value for head. Just take it. + if(head == 0 && tailBuffer == 0) + { + QByteArray qba = buffers.takeFirst(); + qba.resize(tail); + buffers << QByteArray(); + bufferSize = 0; + tail = 0; + return qba; + } + + // Bad case: We have to memcpy. + // We can avoid by initializing the QRingBuffer with basicBlockSize of 0 + // and only using this read() function. + QByteArray qba(readPointer(), nextDataBlockSize()); + buffers.removeFirst(); + head = 0; + if(tailBuffer == 0) + { + buffers << QByteArray(); + tail = 0; + } + else + { + --tailBuffer; + } + bufferSize -= qba.length(); + return qba; + } + + // append a new buffer to the end + inline void append(const QByteArray & qba) + { + buffers[tailBuffer].resize(tail); + buffers << qba; + ++tailBuffer; + tail = qba.length(); + bufferSize += qba.length(); + } + + inline QByteArray peek(int maxLength) const + { + int bytesToRead = qMin(size(), maxLength); + if(maxLength <= 0) + return QByteArray(); + QByteArray ret; + ret.resize(bytesToRead); + int readSoFar = 0; + for(int i = 0; readSoFar < bytesToRead && i < buffers.size(); ++i) + { + int start = 0; + int end = buffers.at(i).size(); + if(i == 0) + start = head; + if(i == tailBuffer) + end = tail; + const int len = qMin(ret.size() - readSoFar, end - start); + memcpy(ret.data() + readSoFar, buffers.at(i).constData() + start, len); + readSoFar += len; + } + Q_ASSERT(readSoFar == ret.size()); + return ret; + } + + inline int skip(int length) + { + return read(0, length); + } + + inline int readLine(char * data, int maxLength) + { + int index = indexOf('\n'); + if(index == -1) + return read(data, maxLength); + if(maxLength <= 0) + return -1; + + int readSoFar = 0; + while(readSoFar < index + 1 && readSoFar < maxLength - 1) + { + int bytesToRead = qMin((index + 1) - readSoFar, nextDataBlockSize()); + bytesToRead = qMin(bytesToRead, (maxLength - 1) - readSoFar); + memcpy(data + readSoFar, readPointer(), bytesToRead); + readSoFar += bytesToRead; + free(bytesToRead); + } + + // Terminate it. + data[readSoFar] = '\0'; + return readSoFar; + } + + inline bool canReadLine() const + { + return indexOf('\n') != -1; + } private: - QList buffers; - int head, tail; - int tailBuffer; // always buffers.size() - 1 - int basicBlockSize; - int bufferSize; + QList buffers; + int head, tail; + int tailBuffer; // always buffers.size() - 1 + int basicBlockSize; + int bufferSize; }; #endif // QRINGBUFFER_P_H -- cgit v1.3.1-10-gc9f91