aboutsummaryrefslogtreecommitdiffstats
path: root/src/modules
diff options
context:
space:
mode:
authorGravatar Noldor2009-09-30 21:57:58 +0000
committerGravatar Noldor2009-09-30 21:57:58 +0000
commit2181ad315bcc70741091456d729c8d26fbb18fa8 (patch)
tree73f9bc762eecde0c4de01a3f668b4115cf0c2aee /src/modules
parentremoved debug comment (diff)
downloadKVIrc-2181ad315bcc70741091456d729c8d26fbb18fa8.tar.gz
KVIrc-2181ad315bcc70741091456d729c8d26fbb18fa8.tar.bz2
KVIrc-2181ad315bcc70741091456d729c8d26fbb18fa8.zip
Some fixes in objects module
git-svn-id: https://svn.kvirc.de/svn/trunk/kvirc@3535 17fca916-40b9-46aa-a4ea-0a15b648b75c
Diffstat (limited to 'src/modules')
-rw-r--r--src/modules/objects/class_button.cpp2
-rw-r--r--src/modules/objects/class_combobox.cpp2
-rw-r--r--src/modules/objects/class_file.cpp1
-rw-r--r--src/modules/objects/class_ftp.cpp3
-rw-r--r--src/modules/objects/class_groupbox.cpp2
-rw-r--r--src/modules/objects/class_groupbox.h2
-rw-r--r--src/modules/objects/class_hbox.cpp2
-rw-r--r--src/modules/objects/class_hbox.h2
-rw-r--r--src/modules/objects/class_http.cpp2
-rw-r--r--src/modules/objects/class_label.cpp5
-rw-r--r--src/modules/objects/class_label.h2
-rw-r--r--src/modules/objects/class_layout.cpp4
-rw-r--r--src/modules/objects/class_layout.h2
-rw-r--r--src/modules/objects/class_painter.cpp14
-rw-r--r--src/modules/objects/class_painter.h4
-rw-r--r--src/modules/objects/class_tablewidget.cpp117
-rw-r--r--src/modules/objects/class_tablewidget.h29
-rw-r--r--src/modules/objects/class_treewidget.cpp51
-rw-r--r--src/modules/objects/class_treewidgetitem.cpp4
19 files changed, 193 insertions, 57 deletions
diff --git a/src/modules/objects/class_button.cpp b/src/modules/objects/class_button.cpp
index 2ac81395d..ca5c29911 100644
--- a/src/modules/objects/class_button.cpp
+++ b/src/modules/objects/class_button.cpp
@@ -91,7 +91,7 @@ KVSO_END_DESTRUCTOR(KviKvsObject_button)
bool KviKvsObject_button::init(KviKvsRunTimeContext *,KviKvsVariantList *)
{
SET_OBJECT(QPushButton);
- connect(widget(),SIGNAL(clicked()),this,SLOT(slotClicked()));
+ connect(widget(),SIGNAL(clicked()),this,SLOT(slotClicked()));
return true;
}
diff --git a/src/modules/objects/class_combobox.cpp b/src/modules/objects/class_combobox.cpp
index 60d88d032..d3f194e2a 100644
--- a/src/modules/objects/class_combobox.cpp
+++ b/src/modules/objects/class_combobox.cpp
@@ -355,7 +355,7 @@ void KviKvsObject_combobox::editTextChanged(const QString &text)
void KviKvsObject_combobox::slotActivated(int i)
{
- KviKvsVariantList params(new KviKvsVariant((kvs_int_t)i));
+ KviKvsVariantList params(new KviKvsVariant((kvs_int_t)i));
callFunction(this,"activatedEvent",&params);
}
diff --git a/src/modules/objects/class_file.cpp b/src/modules/objects/class_file.cpp
index dc3c6ea49..747e12a7d 100644
--- a/src/modules/objects/class_file.cpp
+++ b/src/modules/objects/class_file.cpp
@@ -536,7 +536,6 @@ KVSO_CLASS_FUNCTION(file,readLine)
QString buffer;
//bool ok=KviFileUtils::readLine(m_pFile,buffer);
buffer=m_pFile->readLine();
- // debug("ok %d",ok);
c->returnValue()->setString(buffer);
return true;
}
diff --git a/src/modules/objects/class_ftp.cpp b/src/modules/objects/class_ftp.cpp
index db9e93b76..2c12a088a 100644
--- a/src/modules/objects/class_ftp.cpp
+++ b/src/modules/objects/class_ftp.cpp
@@ -215,8 +215,7 @@ void KviKvsObject_ftp::slotCommandStarted ( int )
void KviKvsObject_ftp::slotDataTransferProgress ( qint64 done, qint64 total )
{
- //FIXME qint64 to kvs_int_t cast
- callFunction(this,"dataTransferProgressEvent",0,new KviKvsVariantList(
+ callFunction(this,"dataTransferProgressEvent",0,new KviKvsVariantList(
new KviKvsVariant((kvs_int_t) done),new KviKvsVariant((kvs_int_t) total)));
}
KVSO_CLASS_FUNCTION(ftp,dataTransferProgressEvent)
diff --git a/src/modules/objects/class_groupbox.cpp b/src/modules/objects/class_groupbox.cpp
index 667f74e61..41ad95ebb 100644
--- a/src/modules/objects/class_groupbox.cpp
+++ b/src/modules/objects/class_groupbox.cpp
@@ -5,7 +5,7 @@
// by Tonino Imbesi(Grifisx) and Alessandro Carbone(Noldor)
//
// This file is part of the KVirc irc client distribution
-// Copyright (C) 2005-2008 Alessandro Carbone (elfonol at gmail dot com)
+// Copyright (C) 2005-2009 Alessandro Carbone (elfonol at gmail dot com)
//
// This program is FREE software. You can redistribute it and/or
// modify it under the terms of the GNU General Public License
diff --git a/src/modules/objects/class_groupbox.h b/src/modules/objects/class_groupbox.h
index 34f9258dc..b1447e749 100644
--- a/src/modules/objects/class_groupbox.h
+++ b/src/modules/objects/class_groupbox.h
@@ -7,7 +7,7 @@
// by Tonino Imbesi(Grifisx) and Alessandro Carbone(Noldor)
//
// This file is part of the KVirc irc client distribution
-// Copyright (C) 2005-2008 Alessandro Carbone (elfonol at gmail dot com)
+// Copyright (C) 2005-2009 Alessandro Carbone (elfonol at gmail dot com)
//
// This program is FREE software. You can redistribute it and/or
// modify it under the terms of the GNU General Public License
diff --git a/src/modules/objects/class_hbox.cpp b/src/modules/objects/class_hbox.cpp
index b344d0b4d..091b7e13d 100644
--- a/src/modules/objects/class_hbox.cpp
+++ b/src/modules/objects/class_hbox.cpp
@@ -4,7 +4,7 @@
// Creation date : Wed Mar 01 2005 23:00:01 by Alessandro Carbone & Tonino Imbesi
//
// This file is part of the KVirc irc client distribution
-// Copyright (C) 2005-2008 Alessandro Carbone (elfonol at gmail dot com)
+// Copyright (C) 2005-2009 Alessandro Carbone (elfonol at gmail dot com)
//
// This program is FREE software. You can redistribute it and/or
// modify it under the terms of the GNU General Public License
diff --git a/src/modules/objects/class_hbox.h b/src/modules/objects/class_hbox.h
index 38d77ee66..2c73307af 100644
--- a/src/modules/objects/class_hbox.h
+++ b/src/modules/objects/class_hbox.h
@@ -6,7 +6,7 @@
// Creation date : Wed Mar 01 2005 23:00:01 by Alessandro Carbone & Tonino Imbesi
//
// This file is part of the KVirc irc client distribution
-// Copyright (C) 2005-2008 Alessandro Carbone (elfonol at gmail dot com)
+// Copyright (C) 2005-2009 Alessandro Carbone (elfonol at gmail dot com)
//
// This program is FREE software. You can redistribute it and/or
// modify it under the terms of the GNU General Public License
diff --git a/src/modules/objects/class_http.cpp b/src/modules/objects/class_http.cpp
index 155e9bd27..142481371 100644
--- a/src/modules/objects/class_http.cpp
+++ b/src/modules/objects/class_http.cpp
@@ -4,7 +4,7 @@
// Creation date : Fry Sep 5 18:13:45 2008 GMT by Carbone Alesssandro
//
// This file is part of the KVirc irc client distribution
-// Copyright (C) 2008 Alessandro Carbone (elfonol at gmail dot com)
+// Copyright (C) 2009 Alessandro Carbone (elfonol at gmail dot com)
//
// This program is FREE software. You can redistribute it and/or
// modify it under the terms of the GNU General Public License
diff --git a/src/modules/objects/class_label.cpp b/src/modules/objects/class_label.cpp
index da9e7d867..9b7e7eb08 100644
--- a/src/modules/objects/class_label.cpp
+++ b/src/modules/objects/class_label.cpp
@@ -5,7 +5,7 @@
//
// This file is part of the KVirc irc client distribution
// Copyright (C) 2000 Krzysztof Godlewski
-// Copyright (C) 2000-2008 Szymon Stefanek (pragma at kvirc dot net)
+// Copyright (C) 2000-2009 Szymon Stefanek (pragma at kvirc dot net)
//
// This program is FREE software. You can redistribute it and/or
// modify it under the terms of the GNU General Public License
@@ -208,6 +208,9 @@ KVSO_END_CONSTRUCTOR(KviKvsObject_label)
bool KviKvsObject_label::init(KviKvsRunTimeContext *,KviKvsVariantList *)
{
SET_OBJECT(QLabel)
+ int size=sizeof(*this);
+ debug ("sizeasd %d",size);
+
return true;
}
diff --git a/src/modules/objects/class_label.h b/src/modules/objects/class_label.h
index 6ebe00398..929bebe5a 100644
--- a/src/modules/objects/class_label.h
+++ b/src/modules/objects/class_label.h
@@ -7,7 +7,7 @@
//
// This file is part of the KVirc irc client distribution
// Copyright (C) 2000 Krzysztof Godlewski
-// Copyright (C) 2000-2008 Szymon Stefanek (pragma at kvirc dot net)
+// Copyright (C) 2000-2009 Szymon Stefanek (pragma at kvirc dot net)
//
// This program is FREE software. You can redistribute it and/or
// modify it under the terms of the GNU General Public License
diff --git a/src/modules/objects/class_layout.cpp b/src/modules/objects/class_layout.cpp
index b87636bbb..bb94692a3 100644
--- a/src/modules/objects/class_layout.cpp
+++ b/src/modules/objects/class_layout.cpp
@@ -4,7 +4,7 @@
// Creation date : Fri Now 22 2002 00:50:01 by Szymon Stefanek
//
// This file is part of the KVirc irc client distribution
-// Copyright (C) 2002-2008 Szymon Stefanek (pragma at kvirc dot net)
+// Copyright (C) 2002-2009 Szymon Stefanek (pragma at kvirc dot net)
//
// This program is FREE software. You can redistribute it and/or
// modify it under the terms of the GNU General Public License
@@ -45,7 +45,7 @@ const char * const align_tbl[] = {
const int align_cod[] = {
- Qt::AlignLeft,
+ Qt::AlignLeft,
Qt::AlignRight,
Qt::AlignHCenter,
Qt::AlignVCenter,
diff --git a/src/modules/objects/class_layout.h b/src/modules/objects/class_layout.h
index acd55550e..70a62cfe8 100644
--- a/src/modules/objects/class_layout.h
+++ b/src/modules/objects/class_layout.h
@@ -6,7 +6,7 @@
// Creation date : Fri Now 22 2002 00:50:01 by Szymon Stefanek
//
// This file is part of the KVirc irc client distribution
-// Copyright (C) 2002-2008 Szymon Stefanek (pragma at kvirc dot net)
+// Copyright (C) 2002-2009 Szymon Stefanek (pragma at kvirc dot net)
//
// This program is FREE software. You can redistribute it and/or
// modify it under the terms of the GNU General Public License
diff --git a/src/modules/objects/class_painter.cpp b/src/modules/objects/class_painter.cpp
index 071977426..8994e5dc3 100644
--- a/src/modules/objects/class_painter.cpp
+++ b/src/modules/objects/class_painter.cpp
@@ -521,6 +521,10 @@ KVSO_END_REGISTERCLASS(KviKvsObject_painter)
KVSO_BEGIN_CONSTRUCTOR(KviKvsObject_painter,KviKvsObject)
m_pPainter = new QPainter();
+ int size=sizeof(*this);
+ debug ("sizeasd %d",size);
+
+ bDonotdeleteinternalqpainter=false;
m_pPrinter = 0 ;
m_pDeviceObject=0;
m_pPainterPath=0;
@@ -534,7 +538,7 @@ if (m_pPainterPath) delete m_pPainterPath;
m_pPainterPath=0;
if (m_pGradient) delete m_pGradient;
m_pGradient=0;
-if (m_pPainter) delete m_pPainter;
+if (m_pPainter && !bDonotdeleteinternalqpainter) delete m_pPainter;
m_pPainter = 0;
if (m_pPrinter) delete m_pPrinter;
m_pPrinter = 0;
@@ -1733,8 +1737,12 @@ KVSO_CLASS_FUNCTION(painter,resetPath)
}
return true;
}
-
-
+void KviKvsObject_painter::setInternalPainter(QPainter *p)
+{
+ delete m_pPainter;
+ m_pPainter=p;
+ bDonotdeleteinternalqpainter=true;
+}
#ifndef COMPILE_USE_STANDALONE_MOC_SOURCES
#include "m_class_painter.moc"
#endif //COMPILE_USE_STANDALONE_MOC_SOURCES
diff --git a/src/modules/objects/class_painter.h b/src/modules/objects/class_painter.h
index 4177423d0..f0752323b 100644
--- a/src/modules/objects/class_painter.h
+++ b/src/modules/objects/class_painter.h
@@ -41,11 +41,13 @@ public:
KVSO_DECLARE_OBJECT(KviKvsObject_painter)
protected:
QPrinter * m_pPrinter;
- QPainter * m_pPainter;
+ bool bDonotdeleteinternalqpainter;
+ QPainter * m_pPainter;
QMatrix m_pMatrix;
QLinearGradient *m_pGradient;
QPainterPath *m_pPainterPath;
public:
+ void setInternalPainter(QPainter *p);
bool setFont(KviKvsObjectFunctionCall *c);
bool setFontSize(KviKvsObjectFunctionCall *c);
diff --git a/src/modules/objects/class_tablewidget.cpp b/src/modules/objects/class_tablewidget.cpp
index f74eccbca..51fbcf3bc 100644
--- a/src/modules/objects/class_tablewidget.cpp
+++ b/src/modules/objects/class_tablewidget.cpp
@@ -23,6 +23,7 @@
//=============================================================================
#include "kvi_debug.h"
+#include "kvi_app.h"
#include "kvi_locale.h"
#include "kvi_error.h"
#include "kvi_iconmanager.h"
@@ -30,6 +31,7 @@
#include "kvi_kvs_arraycast.h"
#include "class_tablewidget.h"
+#include "class_painter.h"
#include "class_pixmap.h"
#include <QTableWidget>
#include <QHeaderView>
@@ -41,6 +43,32 @@
#include <QPoint>
#include <QPaintEvent>
#include <QTableWidgetItem>
+#include <QRect>
+
+const int item_flags[] = {
+ Qt::NoItemFlags,
+ Qt::ItemIsSelectable,
+ Qt::ItemIsEditable,
+ Qt::ItemIsDragEnabled,
+ Qt::ItemIsDropEnabled,
+ Qt::ItemIsUserCheckable,
+ Qt::ItemIsEnabled,
+ Qt::ItemIsTristate
+};
+
+const char * const itemflags_tbl[] = {
+ "noitemflag",
+ "selectable",
+ "editable",
+ "dragEnabled",
+ "dropEnabled",
+ "userCheckable",
+ "enabled",
+ "tristate"
+};
+
+#define itemflags_num (sizeof(itemflags_tbl) / sizeof(itemflags_tbl[0]))
+
/*
@doc:tablewidget
@title:
@@ -110,10 +138,14 @@ KVSO_BEGIN_REGISTERCLASS(KviKvsObject_tablewidget,"tablewidget","widget")
KVSO_REGISTER_HANDLER_BY_NAME(KviKvsObject_tablewidget,setCellWidget)
KVSO_REGISTER_HANDLER_BY_NAME(KviKvsObject_tablewidget,setIcon)
KVSO_REGISTER_HANDLER_BY_NAME(KviKvsObject_tablewidget,clear)
+ KVSO_REGISTER_HANDLER_BY_NAME(KviKvsObject_tablewidget,setItemFlags);
KVSO_REGISTER_HANDLER(KviKvsObject_tablewidget,"itemEnteredEvent",itemEnteredEvent);
+ KVSO_REGISTER_STANDARD_TRUERETURN_HANDLER(KviKvsObject_tablewidget,"paintCellEvent")
+
+
KVSO_END_REGISTERCLASS(KviKvsObject_tablewidget)
KVSO_BEGIN_CONSTRUCTOR(KviKvsObject_tablewidget,KviKvsObject_widget)
@@ -122,13 +154,16 @@ KVSO_END_CONSTRUCTOR(KviKvsObject_tablewidget)
KVSO_BEGIN_DESTRUCTOR(KviKvsObject_tablewidget)
-
+delete m_pCellItemDelegate;
KVSO_END_DESTRUCTOR(KviKvsObject_tablewidget)
-bool KviKvsObject_tablewidget::init(KviKvsRunTimeContext *,KviKvsVariantList *)
+bool KviKvsObject_tablewidget::init(KviKvsRunTimeContext *c,KviKvsVariantList *)
{
SET_OBJECT(QTableWidget)
+ m_pCellItemDelegate=new KviCellItemDelegate(((QTableWidget *)widget()),this);
+ m_pContext=c;
+ ((QTableWidget *)widget())->setItemDelegate(m_pCellItemDelegate);
connect(widget(),SIGNAL(itemEntered(QTableWidgetItem *)),this,SLOT(slotItemEntered(QTableWidgetItem *)));
return true;
}
@@ -425,11 +460,46 @@ KVSO_CLASS_FUNCTION(tablewidget,showVerticalHeader)
((QTableWidget *)widget())->verticalHeader()->show();
return true;
}
+KVSO_CLASS_FUNCTION(tablewidget,setItemFlags)
+{
+ CHECK_INTERNAL_POINTER(widget())
+
+ QStringList itemflags;
+ kvs_int_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;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];
+ break;
+ }
+ }
+ if(flag){
+ // if (flag==Qt::ItemIsUserCheckable)
+ // pItem->setCheckState(0,Qt::Unchecked);
+ sum = sum | flag;
+ }
+ 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);
+ return true;
+}
+
void KviKvsObject_tablewidget::slotItemEntered(QTableWidgetItem * i)
{
// if (!i) callFunction(this,"itecurrentItemChangeEvent",0,0);
- debug("entered");
KviKvsVariantList params(new KviKvsVariant((kvs_int_t)i->row()),new KviKvsVariant((kvs_int_t)i->column()));
callFunction(this,"itemEnteredEvent",0,&params);
}
@@ -439,6 +509,47 @@ KVSO_CLASS_FUNCTION(tablewidget,itemEnteredEvent)
emitSignal("itemEntered",c,c->params());
return true;
}
+bool KviKvsObject_tablewidget::paint(QPainter * p, const QStyleOptionViewItem & option, const QModelIndex & index)
+{
+ p->save();
+ KviKvsObjectClass * pClass = KviKvsKernel::instance()->objectController()->lookupClass("painter");
+ KviKvsVariantList params;
+ KviKvsObject * pObject = pClass->allocateInstance(0,"internalpainter",m_pContext,&params);
+ ((KviKvsObject_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();
+ KviKvsVariantList parameters(new KviKvsVariant(handle),new KviKvsVariant((kvs_int_t) row),new KviKvsVariant((kvs_int_t) col));
+ bool ret=false;
+ KviKvsVariant *retv=new KviKvsVariant(ret);
+ callFunction(this,"paintCellEvent",retv,&parameters);
+ pObject->dieNow();
+ p->restore();
+ return retv->asBoolean();
+}
+
+KviCellItemDelegate::KviCellItemDelegate(QAbstractItemView * pWidget,KviKvsObject_tablewidget * parent)
+: QItemDelegate(pWidget), m_pParentScript(parent)
+{
+}
+
+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);
+}
+
+QSize KviCellItemDelegate::sizeHint(const QStyleOptionViewItem &option, const QModelIndex & index) const
+{
+ return QItemDelegate::sizeHint(option,index);
+}
+
+
#ifndef COMPILE_USE_STANDALONE_MOC_SOURCES
#include "m_class_tablewidget.moc"
#endif //COMPILE_USE_STANDALONE_MOC_SOURCES
diff --git a/src/modules/objects/class_tablewidget.h b/src/modules/objects/class_tablewidget.h
index 89ba41116..de81eeffc 100644
--- a/src/modules/objects/class_tablewidget.h
+++ b/src/modules/objects/class_tablewidget.h
@@ -31,6 +31,25 @@
#include "object_macros.h"
#include <QtSql>
#include <QTableWidgetItem>
+
+#include <QItemDelegate>
+#include <QAbstractItemView>
+#include "kvi_kvs_runtimecontext.h"
+class KviKvsObject_tablewidget;
+
+class KviCellItemDelegate : public QItemDelegate
+{
+public:
+ KviCellItemDelegate(QAbstractItemView * pWidget = 0,KviKvsObject_tablewidget *pParent=0);
+ ~KviCellItemDelegate();
+protected:
+// QAbstractItemView * m_pParent;
+ KviKvsObject_tablewidget *m_pParentScript;
+public:
+ QSize sizeHint(const QStyleOptionViewItem & option, const QModelIndex & index) const;
+ void paint(QPainter * pPainter, const QStyleOptionViewItem & option, const QModelIndex & index) const;
+};
+
class KviKvsObject_tablewidget : public KviKvsObject_widget
{
Q_OBJECT
@@ -38,15 +57,20 @@ public:
KVSO_DECLARE_OBJECT(KviKvsObject_tablewidget)
public:
QWidget * widget() { return (QWidget *)object(); };
-protected:
+ bool paint(QPainter * pPainter, const QStyleOptionViewItem & option, const QModelIndex & index);
+
+ protected:
QSqlQueryModel *model;
-protected:
+ KviKvsRunTimeContext *m_pContext;
+ KviCellItemDelegate *m_pCellItemDelegate;
+ protected:
virtual bool init(KviKvsRunTimeContext * pContext,KviKvsVariantList *pParams);
bool setText(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);
@@ -78,4 +102,5 @@ protected slots:
//void slotClicked();
};
+
#endif // !_CLASS_TABLEWIDGET_H_
diff --git a/src/modules/objects/class_treewidget.cpp b/src/modules/objects/class_treewidget.cpp
index 6f807fb99..1758f6ba5 100644
--- a/src/modules/objects/class_treewidget.cpp
+++ b/src/modules/objects/class_treewidget.cpp
@@ -99,7 +99,7 @@
!fn: $setSelectionMode(<mode:string>)
Sets the selection mode for this listview. <mode> can be one of "Single","NoSelection","Multi" or "Extended".
- !fn: <listviewitem> $selectedItem()
+ !fn: <listviewitem> $selectedItems()
Returns the currently selected [class]listviewitem[/class] or $null if no items are selected.
This function works only if the list view is in single selection mode.
@@ -128,10 +128,10 @@
In its argument is the newly selected item or 0 if the change made no item current.[br]
The default implementation emits the [classfnc]$currentChanged[/classfnc]() signal.
- !fn: $returnPressedEvent(<item:object>)
- This function is called by the framework when the enter key is pressed.[br]
- In its arument the currrent item.[br]
- The default implementation emits the [classfnc]$returnPressed[/classfnc]() signal.
+ !fn: $itemActivatedEvent(<item:object>)
+ This s signal is emitted when the user activates an item by single- or double-clicking or pressing 'Enter'.[br]
+ In its argument the currrent item.[br]
+ The default implementation emits the [classfnc]$itemActivated[/classfnc]() signal.
!fn: $spacePressedEvent(<item:object>)
This function is called by the framework when the space key is pressed.[br]
@@ -150,9 +150,9 @@
This event is called when an item has been collapsed, i.e. when the children of item are hidden.
The default implementation emits the [classfnc]$collapsed[/classfnc]() signal.
- !fn: $itemRenamedEvent(<item:object>,<col:integer>,<text:string>)
+ !fn: $itemChangedEvent(<item:object>,<col:integer>,<text:string>)
This event is called when the item has been renamed in text, e.g. by in in-place renaming, in column col.[br]
- The default implementation emits the [classfnc]$itemRenamed[/classfnc]() signal.
+ The default implementation emits the [classfnc]$itemChanged[/classfnc]() signal.
!fn: $rightButtonClickEvent(<item:object>,<x:integer>,>y:integer>)
This signal is emitted when the right button is clicked.[br]
@@ -165,8 +165,8 @@
This signal is emitted by the default implementation of [classfnc]$selectionChangedEvent[/classfnc]().
!sg: $currentChanged()
This signal is emitted by the default implementation of [classfnc]$currentChangedEvent[/classfnc]().
- !sg: $returnPressed()
- This signal is emitted by the default implementation of [classfnc]$returnPressedEvent[/classfnc]().
+ !sg: $itemActivated()
+ This signal is emitted by the default implementation of [classfnc]$itemActivatedEvent[/classfnc]().
!sg: $spacePressed()
This signal is emitted by the default implementation of [classfnc]$spacePredssedEvent[/classfnc]().
!sg: $onItem()
@@ -175,8 +175,8 @@
This signal is emitted by the default implementation of [classfnc]$itemExpandedEvent[/classfnc]().
!sg: $itemCollapsed()
This signal is emitted by the default implementation of [classfnc]$itemCollapsedEvent[/classfnc]().
- !sg: $itemRenamed()
- This signal is emitted by the default implementation of [classfnc]$itemRenamedEvent[/classfnc]().
+ !sg: $itemChanged()
+ This signal is emitted by the default implementation of [classfnc]$itemChangedEvent[/classfnc]().
!sg: $rightButtonClicked()
This signal is emitted by the default implementation of [classfnc]$rightButtonClickedEvent[/classfnc]().
@@ -200,10 +200,7 @@ KVSO_BEGIN_REGISTERCLASS(KviKvsObject_treewidget,"listview","widget")
KVSO_REGISTER_HANDLER_BY_NAME(KviKvsObject_treewidget,setRootIsDecorated)
KVSO_REGISTER_HANDLER_BY_NAME(KviKvsObject_treewidget,setAllColumnsShowFocus)
KVSO_REGISTER_HANDLER_BY_NAME(KviKvsObject_treewidget,clear)
- //FIXME
- KVSO_REGISTER_HANDLER(KviKvsObject_treewidget,"selectedItem",selectedItems)//<--- remove this
KVSO_REGISTER_HANDLER_BY_NAME(KviKvsObject_treewidget,selectedItems)
-
KVSO_REGISTER_HANDLER_BY_NAME(KviKvsObject_treewidget,currentItem)
KVSO_REGISTER_HANDLER_BY_NAME(KviKvsObject_treewidget,setSelectionMode)
KVSO_REGISTER_HANDLER_BY_NAME(KviKvsObject_treewidget,listViewHeaderIsVisible)
@@ -212,29 +209,23 @@ KVSO_BEGIN_REGISTERCLASS(KviKvsObject_treewidget,"listview","widget")
KVSO_REGISTER_HANDLER_BY_NAME(KviKvsObject_treewidget,hideListViewHeader)
KVSO_REGISTER_HANDLER_BY_NAME(KviKvsObject_treewidget,showListViewHeader)
KVSO_REGISTER_HANDLER_BY_NAME(KviKvsObject_treewidget,firstChild)
- KVSO_REGISTER_HANDLER_BY_NAME(KviKvsObject_treewidget,selectionChangedEvent);
- KVSO_REGISTER_HANDLER_BY_NAME(KviKvsObject_treewidget,currentChangedEvent);
- // FIX-ME
- KVSO_REGISTER_HANDLER(KviKvsObject_treewidget,"returnPressedEvent",itemActivatedEvent);//<- remove me
- KVSO_REGISTER_HANDLER_BY_NAME(KviKvsObject_treewidget,itemActivatedEvent);
- //
+
+
+
+ //events
+ KVSO_REGISTER_HANDLER_BY_NAME(KviKvsObject_treewidget,selectionChangedEvent);
+ KVSO_REGISTER_HANDLER_BY_NAME(KviKvsObject_treewidget,currentChangedEvent);
+ KVSO_REGISTER_HANDLER_BY_NAME(KviKvsObject_treewidget,itemActivatedEvent);
KVSO_REGISTER_HANDLER_BY_NAME(KviKvsObject_treewidget,onItemEvent);
KVSO_REGISTER_HANDLER_BY_NAME(KviKvsObject_treewidget,itemClickedEvent);
KVSO_REGISTER_HANDLER_BY_NAME(KviKvsObject_treewidget,itemExpandedEvent);
KVSO_REGISTER_HANDLER_BY_NAME(KviKvsObject_treewidget,itemCollapsedEvent);
-
- //FIXME
- KVSO_REGISTER_HANDLER(KviKvsObject_treewidget,"itemRenamedEvent",itemChangedEvent);//<- remove me
KVSO_REGISTER_HANDLER_BY_NAME(KviKvsObject_treewidget,itemChangedEvent);
- //
-
KVSO_REGISTER_HANDLER(KviKvsObject_treewidget,"rightButtonClickedEvent",customContextMenuRequestedEvent);
KVSO_REGISTER_HANDLER_BY_NAME(KviKvsObject_treewidget,customContextMenuRequestedEvent);
-
KVSO_REGISTER_HANDLER_BY_NAME(KviKvsObject_treewidget,setAcceptDrops);
-
KVSO_REGISTER_STANDARD_NOTHINGRETURN_HANDLER(KviKvsObject_treewidget,"fileDroppedEvent")
KVSO_END_REGISTERCLASS(KviKvsObject_treewidget)
@@ -519,11 +510,7 @@ void KviKvsObject_treewidget::slotCurrentChanged(QTreeWidgetItem * i,QTreeWidget
KVSO_CLASS_FUNCTION(treewidget,itemActivatedEvent)
{
- //FIXME: compatibility
- emitSignal("returnPressed",c,c->params());//<----remove me
- //
-
- emitSignal("itemActivated",c,c->params());
+ emitSignal("itemActivated",c,c->params());
return true;
}
diff --git a/src/modules/objects/class_treewidgetitem.cpp b/src/modules/objects/class_treewidgetitem.cpp
index 0b2dfe16c..e13b318db 100644
--- a/src/modules/objects/class_treewidgetitem.cpp
+++ b/src/modules/objects/class_treewidgetitem.cpp
@@ -32,6 +32,7 @@
#include "kvi_iconmanager.h"
const int item_flags[] = {
+ Qt::NoItemFlags,
Qt::ItemIsSelectable,
Qt::ItemIsEditable,
Qt::ItemIsDragEnabled,
@@ -42,7 +43,8 @@ const int item_flags[] = {
};
const char * const itemflags_tbl[] = {
- "selectable",
+ "noitemflag",
+ "selectable",
"editable",
"dragEnabled",
"dropEnabled",