From 2181ad315bcc70741091456d729c8d26fbb18fa8 Mon Sep 17 00:00:00 2001 From: Noldor Date: Wed, 30 Sep 2009 21:57:58 +0000 Subject: Some fixes in objects module git-svn-id: https://svn.kvirc.de/svn/trunk/kvirc@3535 17fca916-40b9-46aa-a4ea-0a15b648b75c --- src/modules/objects/class_button.cpp | 2 +- src/modules/objects/class_combobox.cpp | 2 +- src/modules/objects/class_file.cpp | 1 - src/modules/objects/class_ftp.cpp | 3 +- src/modules/objects/class_groupbox.cpp | 2 +- src/modules/objects/class_groupbox.h | 2 +- src/modules/objects/class_hbox.cpp | 2 +- src/modules/objects/class_hbox.h | 2 +- src/modules/objects/class_http.cpp | 2 +- src/modules/objects/class_label.cpp | 5 +- src/modules/objects/class_label.h | 2 +- src/modules/objects/class_layout.cpp | 4 +- src/modules/objects/class_layout.h | 2 +- src/modules/objects/class_painter.cpp | 14 +++- src/modules/objects/class_painter.h | 4 +- src/modules/objects/class_tablewidget.cpp | 117 ++++++++++++++++++++++++++- src/modules/objects/class_tablewidget.h | 29 ++++++- src/modules/objects/class_treewidget.cpp | 51 +++++------- src/modules/objects/class_treewidgetitem.cpp | 4 +- 19 files changed, 193 insertions(+), 57 deletions(-) (limited to 'src') 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",¶ms); } 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 #include @@ -41,6 +43,32 @@ #include #include #include +#include + +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;isetCheckState(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,¶ms); } @@ -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,¶ms); + ((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,¶meters); + 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 #include + +#include +#include +#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() Sets the selection mode for this listview. can be one of "Single","NoSelection","Multi" or "Extended". - !fn: $selectedItem() + !fn: $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() - 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() + 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() 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(,,) + !fn: $itemChangedEvent(,,) 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(,,>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", -- cgit v1.3.1-10-gc9f91