Hello community, here is the log from the commit of package yast2-qt for openSUSE:Factory checked in at Thu May 19 09:36:10 CEST 2011.
-------- --- yast2-qt/yast2-qt.changes 2011-04-28 14:55:17.000000000 +0200 +++ /mounts/work_src_done/STABLE/yast2-qt/yast2-qt.changes 2011-05-18 17:05:50.000000000 +0200 @@ -1,0 +2,6 @@ +Wed May 18 17:04:43 CEST 2011 - [email protected] + +- Fixed selection in tree widgets (bnc #680107) +- V 2.21.4 + +------------------------------------------------------------------- calling whatdependson for head-i586 Old: ---- yast2-qt-2.21.3.tar.bz2 New: ---- yast2-qt-2.21.4.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ yast2-qt.spec ++++++ --- /var/tmp/diff_new_pack.kWfQEV/_old 2011-05-19 09:35:44.000000000 +0200 +++ /var/tmp/diff_new_pack.kWfQEV/_new 2011-05-19 09:35:44.000000000 +0200 @@ -18,13 +18,13 @@ Name: yast2-qt -Version: 2.21.3 +Version: 2.21.4 Release: 1 BuildRoot: %{_tmppath}/%{name}-%{version}-build -Source0: yast2-qt-2.21.3.tar.bz2 +Source0: yast2-qt-2.21.4.tar.bz2 Group: System/YaST -License: GPLv2+ +License: GPL v2 or later BuildRequires: docbook-xsl-stylesheets BuildRequires: doxygen BuildRequires: libdrm-devel @@ -60,7 +60,7 @@ X Window System. %package devel -License: GPLv2+ + Summary: Development package for graphical YaST2 user interfaces Group: Development/Libraries/YaST Requires: yast2-qt = %{version} ++++++ yast2-qt-2.21.3.tar.bz2 -> yast2-qt-2.21.4.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-qt-2.21.3/VERSION.cmake new/yast2-qt-2.21.4/VERSION.cmake --- old/yast2-qt-2.21.3/VERSION.cmake 2011-04-28 14:55:03.000000000 +0200 +++ new/yast2-qt-2.21.4/VERSION.cmake 2011-05-18 17:05:33.000000000 +0200 @@ -1,3 +1,3 @@ SET(VERSION_MAJOR "2") SET(VERSION_MINOR "21") -SET(VERSION_PATCH "3") +SET(VERSION_PATCH "4") diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-qt-2.21.3/package/yast2-qt.changes new/yast2-qt-2.21.4/package/yast2-qt.changes --- old/yast2-qt-2.21.3/package/yast2-qt.changes 2011-04-28 14:55:03.000000000 +0200 +++ new/yast2-qt-2.21.4/package/yast2-qt.changes 2011-05-18 17:05:33.000000000 +0200 @@ -1,4 +1,10 @@ ------------------------------------------------------------------- +Wed May 18 17:04:43 CEST 2011 - [email protected] + +- Fixed selection in tree widgets (bnc #680107) +- V 2.21.4 + +------------------------------------------------------------------- Thu Apr 28 14:54:04 CEST 2011 - [email protected] - Enable shadow for wizard title diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-qt-2.21.3/src/YQTree.cc new/yast2-qt-2.21.4/src/YQTree.cc --- old/yast2-qt-2.21.3/src/YQTree.cc 2011-04-28 14:55:03.000000000 +0200 +++ new/yast2-qt-2.21.4/src/YQTree.cc 2011-05-18 17:05:33.000000000 +0200 @@ -355,6 +355,14 @@ void YQTree::slotSelectionChanged( ) { + QList<QTreeWidgetItem *> items = _qt_treeWidget->selectedItems (); + + if ( ! hasMultiSelection() && ! items.empty() ) + { + QTreeWidgetItem *qItem = items.first(); + selectItem( dynamic_cast<YQTreeItem *> (qItem) ); + } + if ( notify() && ! YQUI::ui()->eventPendingFor( this ) ) YQUI::ui()->sendEvent( new YWidgetEvent( this, YEvent::SelectionChanged ) ); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-qt-2.21.3/src/YQTree.cc_backup new/yast2-qt-2.21.4/src/YQTree.cc_backup --- old/yast2-qt-2.21.3/src/YQTree.cc_backup 1970-01-01 01:00:00.000000000 +0100 +++ new/yast2-qt-2.21.4/src/YQTree.cc_backup 2011-05-18 17:05:33.000000000 +0200 @@ -0,0 +1,520 @@ +/************************************************************************** +Copyright (C) 2000 - 2010 Novell, Inc. +All Rights Reserved. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +**************************************************************************/ + + +/*---------------------------------------------------------------------\ +| | +| __ __ ____ _____ ____ | +| \ \ / /_ _/ ___|_ _|___ \ | +| \ V / _` \___ \ | | __) | | +| | | (_| |___) || | / __/ | +| |_|\__,_|____/ |_| |_____| | +| | +| core system | +| (C) SuSE GmbH | +\----------------------------------------------------------------------/ + + File: YQTree.cc + + Author: Stefan Hundhammer <[email protected]> + +/-*/ + +#include <QColorGroup> +#include <QHeaderView> +#include <QLabel> +#include <QTreeWidget> +#include <QVBoxLayout> +#include <QString> +#include <QPixmap> +#define YUILogComponent "qt-ui" +#include "YUILog.h" + +using std::min; +using std::max; + +#include "YQUI.h" +#include "YEvent.h" +#include "utf8.h" +#include "YQTree.h" +#include "YTreeItem.h" +#include "YQSignalBlocker.h" +#include "YQWidgetCaption.h" +#include "YQApplication.h" + + +#define VERBOSE_TREE_ITEMS 0 + + +YQTree::YQTree( YWidget * parent, const string & label, bool multiSelectionMode, bool recursiveSelection ) + : QFrame( (QWidget *) parent->widgetRep() ) + , YTree( parent, label, multiSelectionMode, recursiveSelection ) +{ + QVBoxLayout* layout = new QVBoxLayout( this ); + setLayout( layout ); + + setWidgetRep( this ); + + layout->setSpacing( YQWidgetSpacing ); + layout->setMargin ( YQWidgetMargin ); + + _nextSerialNo = 0; + + _caption = new YQWidgetCaption( this, label ); + YUI_CHECK_NEW( _caption ); + layout->addWidget( _caption ); + + _qt_treeWidget = new QTreeWidget( this ); + YUI_CHECK_NEW( _qt_treeWidget ); + layout->addWidget( _qt_treeWidget ); + + // _qt_treeWidget->setHeaderLabel(""); + // _qt_treeWidget->addColumn( "" ); + _qt_treeWidget->header()->hide(); + // _qt_treeWidget->setHeader(0L); + _qt_treeWidget->setRootIsDecorated ( true ); + + _qt_treeWidget->setContextMenuPolicy( Qt::CustomContextMenu ); + + _caption->setBuddy ( _qt_treeWidget ); + + connect( _qt_treeWidget, SIGNAL( itemSelectionChanged () ), + this, SLOT ( slotSelectionChanged () ) ); + + connect( _qt_treeWidget, SIGNAL( itemDoubleClicked( QTreeWidgetItem *, int ) ), + this, SLOT ( slotActivated ( QTreeWidgetItem * ) ) ); + + connect( _qt_treeWidget, SIGNAL( itemExpanded ( QTreeWidgetItem * ) ), + this, SLOT ( slotItemExpanded ( QTreeWidgetItem * ) ) ); + + connect( _qt_treeWidget, SIGNAL( itemCollapsed ( QTreeWidgetItem * ) ), + this, SLOT ( slotItemCollapsed( QTreeWidgetItem * ) ) ); + + connect( _qt_treeWidget, SIGNAL( customContextMenuRequested ( const QPoint & ) ), + this, SLOT ( slotContextMenu ( const QPoint & ) ) ); + +} + + +YQTree::~YQTree() +{ + // NOP +} + + +void YQTree::setLabel( const string & label ) +{ + _caption->setText( label ); + YTree::setLabel( label ); +} + + +void YQTree::rebuildTree() +{ + YQSignalBlocker sigBlocker( _qt_treeWidget ); + _qt_treeWidget->clear(); + + buildDisplayTree( 0, itemsBegin(), itemsEnd() ); + _qt_treeWidget->resizeColumnToContents( 0 ); +} + + +void YQTree::buildDisplayTree( YQTreeItem * parentItem, YItemIterator begin, YItemIterator end ) +{ + for ( YItemIterator it = begin; it < end; ++it ) + { + YTreeItem * orig = dynamic_cast<YTreeItem *> (*it); + YUI_CHECK_PTR( orig ); + + YQTreeItem * clone; + + if ( parentItem ) + clone = new YQTreeItem( this, parentItem, orig, _nextSerialNo++ ); + else + clone = new YQTreeItem( this, _qt_treeWidget, orig, _nextSerialNo++ ); + + YUI_CHECK_NEW( clone ); + + if ( orig->hasChildren() ) + buildDisplayTree( clone, orig->childrenBegin(), orig->childrenEnd() ); + } +} + + +void YQTree::selectItem( YItem * yItem, bool selected ) +{ + YQSignalBlocker sigBlocker( _qt_treeWidget ); + + // yuiDebug() << "Selecting item \"" << yItem->label() << "\" " << boolalpha << selected << endl; + YTreeItem * treeItem = dynamic_cast<YTreeItem *> (yItem); + YUI_CHECK_PTR( treeItem ); + + YQTreeItem * yqTreeItem = (YQTreeItem *) treeItem->data(); + YUI_CHECK_PTR( yqTreeItem ); + + + if ( selected ) + { + selectItem( yqTreeItem ); + } + else if ( yqTreeItem == _qt_treeWidget->currentItem() ) + { + deselectAllItems(); + } +} + + +void YQTree::selectItem( YQTreeItem * item ) +{ + if ( item ) + { + YQSignalBlocker sigBlocker( _qt_treeWidget ); + + _qt_treeWidget->setCurrentItem( item ); + item->setSelected( true ); + + if ( hasMultiSelection() ) + item->setCheckState( 0, Qt::Checked ); + + if ( item->parent() ) + openBranch( (YQTreeItem *) item->parent() ); + + YTree::selectItem( item->origItem(), true ); + + // yuiDebug() << "selected item: \"" << item->origItem()->label() << "\"" << endl; + + } +} + + +void YQTree::openBranch( YQTreeItem * item ) +{ + while ( item ) + { + item->setOpen( true ); // Takes care of origItem()->setOpen() + item = (YQTreeItem *) item->parent(); + } +} + +void YQTree::slotItemExpanded( QTreeWidgetItem * qItem ) +{ + YQTreeItem * item = dynamic_cast<YQTreeItem *> (qItem); + + if ( item ) + item->setOpen( true ); + + _qt_treeWidget->resizeColumnToContents( 0 ); +} + + +void YQTree::slotItemCollapsed( QTreeWidgetItem * qItem ) +{ + YQTreeItem * item = dynamic_cast<YQTreeItem *> (qItem); + + if ( item ) + item->setOpen( false ); + + _qt_treeWidget->resizeColumnToContents( 0 ); +} + + +void YQTree::slotItemChanged( QTreeWidgetItem * item ) +{ + + YQSignalBlocker sigBlocker( _qt_treeWidget ); + + if ( hasMultiSelection() ) + { + if ( recursiveSelection() ) + YQUI::ui()->busyCursor(); + + if ( item->checkState(0) == Qt::Checked ) + YQTree::selectItem( item, true, recursiveSelection() ); + else + YQTree::selectItem( item, false, recursiveSelection() ); + + + if ( recursiveSelection() ) + YQUI::ui()->normalCursor(); + + } + else + { + QList<QTreeWidgetItem *> items = _qt_treeWidget->selectedItems (); + + if ( ! items.empty() ) + { + QTreeWidgetItem *qItem = items.first(); + selectItem( dynamic_cast<YQTreeItem *> (qItem) ); + } + } + + + + if ( notify() && ! YQUI::ui()->eventPendingFor( this ) ) + YQUI::ui()->sendEvent( new YWidgetEvent( this, YEvent::ValueChanged ) ); + + +} + + +void YQTree::slotItemClicked( QTreeWidgetItem * item, int column ) +{ + _qt_treeWidget->setCurrentItem( item ); + + if ( notify() && ! YQUI::ui()->eventPendingFor( this ) ) + YQUI::ui()->sendEvent( new YWidgetEvent( this, YEvent::SelectionChanged ) ); +} + + +void YQTree::deselectAllItems() +{ + YQSignalBlocker sigBlocker( _qt_treeWidget ); + + YTree::deselectAllItems(); + _qt_treeWidget->clearSelection(); +} + + +void YQTree::deleteAllItems() +{ + YQSignalBlocker sigBlocker( _qt_treeWidget ); + + _qt_treeWidget->clear(); + YTree::deleteAllItems(); +} + + + +void YQTree::selectItem(QTreeWidgetItem * item, bool selected, bool recursive) +{ + + YQTreeItem * treeItem = dynamic_cast<YQTreeItem *> (item); + + if ( ! treeItem ) + return; + + YSelectionWidget::selectItem( treeItem->origItem(), selected ); + + if ( recursive ) + { + for (int i=0; i < item->childCount(); ++i) + { + QTreeWidgetItem* child = item->child(i); + child->setCheckState(0, ( selected )? Qt::Checked : Qt::Unchecked ); + YQTree::selectItem( child, selected, recursive ); + } + } + +} + + +void YQTree::slotSelectionChanged( ) +{ + QList<QTreeWidgetItem *> items = _qt_treeWidget->selectedItems (); + + if ( ! items.empty() ) + { + QTreeWidgetItem *qItem = items.first(); + selectItem( dynamic_cast<YQTreeItem *> (qItem) ); + } + + if ( notify() && ! YQUI::ui()->eventPendingFor( this ) ) + YQUI::ui()->sendEvent( new YWidgetEvent( this, YEvent::SelectionChanged ) ); +} + + +void YQTree::slotActivated( QTreeWidgetItem * qItem ) +{ + selectItem( dynamic_cast<YQTreeItem *> (qItem) ); + + if ( notify() ) + YQUI::ui()->sendEvent( new YWidgetEvent( this, YEvent::Activated ) ); +} + + +int YQTree::preferredWidth() +{ + int hintWidth = !_caption->isHidden() ? _caption->sizeHint().width() : 0; + return max( 80, hintWidth ); +} + + +int YQTree::preferredHeight() +{ + int hintHeight = !_caption->isHidden() ? _caption->sizeHint().height() : 0; + + // 80 is an arbitrary value. Use a MinSize or MinHeight widget to set a + // size that is useful for the application. + + return 80 + hintHeight; +} + + +void YQTree::setSize( int newWidth, int newHeight ) +{ + resize( newWidth, newHeight ); +} + + +void YQTree::setEnabled( bool enabled ) +{ + _caption->setEnabled( enabled ); + _qt_treeWidget->setEnabled( enabled ); + YWidget::setEnabled( enabled ); +} + + +bool YQTree::setKeyboardFocus() +{ + _qt_treeWidget->setFocus(); + + return true; +} + + +void YQTree::slotContextMenu ( const QPoint & pos ) +{ + if ( ! _qt_treeWidget || ! _qt_treeWidget->viewport() ) + return; + + YQUI::yqApp()->setContextMenuPos( _qt_treeWidget->viewport()->mapToGlobal( pos ) ); + if ( notifyContextMenu() ) + YQUI::ui()->sendEvent( new YWidgetEvent( this, YEvent::ContextMenuActivated ) ); +} + + +YTreeItem * +YQTree::currentItem() +{ + + QTreeWidgetItem * currentQItem = _qt_treeWidget->currentItem(); + + if ( currentQItem ) + { + YQTreeItem * item = dynamic_cast<YQTreeItem *> (currentQItem); + + if ( item ) + return item->origItem(); + } + + return 0; +} + + + +/*============================================================================*/ + + + +YQTreeItem::YQTreeItem( YQTree * tree, + QTreeWidget * listView, + YTreeItem * orig, + int serial ) + : QTreeWidgetItem( listView ) +{ + init( tree, orig, serial ); + +#if VERBOSE_TREE_ITEMS + yuiDebug() << "Creating toplevel tree item \"" << orig->label() << "\"" << endl; +#endif + +} + + +YQTreeItem::YQTreeItem( YQTree * tree, + YQTreeItem * parentItem, + YTreeItem * orig, + int serial ) + : QTreeWidgetItem( parentItem ) +{ + init( tree, orig, serial ); +#if VERBOSE_TREE_ITEMS + yuiDebug() << "Creating tree item \"" << orig->label() + << "\" as child of \"" << parentItem->origItem()->label() << "\"" + << endl; + +#endif + + + +} + + +void YQTreeItem::init( YQTree * tree, + YTreeItem * orig, + int serial ) +{ + YUI_CHECK_PTR( tree ); + YUI_CHECK_PTR( orig ); + + _tree = tree; + _serialNo = serial; + _origItem = orig; + + _origItem->setData( this ); + + setText( 0, fromUTF8 ( _origItem->label() ) ); + setOpen( _origItem->isOpen() ); + + if ( _origItem->hasIconName() ) + { + string iconName = _tree->iconFullPath( _origItem ); + QPixmap icon( iconName.c_str() ); + + if ( icon.isNull() ) + yuiWarning() << "Can't load icon " << iconName << endl; + else + setData( 0, Qt::DecorationRole, icon ); + } + + if ( tree->hasMultiSelection() ) + setCheckState(0,Qt::Unchecked); +} + + +void +YQTreeItem::setOpen( bool open ) +{ + QTreeWidgetItem::setExpanded( open ); + _origItem->setOpen( open ); +} + + + +QString +YQTreeItem::key( int column, bool ascending ) const +{ + /* + * Sorting key for QListView internal sorting: + * + * Always sort tree items by insertion order. The tree widget cannot + * maintain a meaningful sorting order of its own: All it could do is sort + * by names (ASCII sort). Better let the application handle this. + */ + + QString strKey; + strKey.sprintf( "%08d", _serialNo ); + + return strKey; +} + + +#include "YQTree.moc" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-qt-2.21.3/src/YQWizard.cc new/yast2-qt-2.21.4/src/YQWizard.cc --- old/yast2-qt-2.21.3/src/YQWizard.cc 2011-04-28 14:55:03.000000000 +0200 +++ new/yast2-qt-2.21.4/src/YQWizard.cc 2011-05-18 17:05:33.000000000 +0200 @@ -96,8 +96,6 @@ #define USE_ICON_ON_HELP_BUTTON 0 -#define SHADOW_WORKAROUND 1 - YQWizard *YQWizard::main_wizard = 0; YQWizard::YQWizard( YWidget * parent, @@ -758,18 +756,6 @@ _dialogHeading->setObjectName( "DialogHeading" ); - -#ifdef SHADOW_WORKAROUND - // Workaround for text shadow until qt bug is fixed - // see: http://bugreports.qt.nokia.com/browse/QTBUG-5087 - QGraphicsDropShadowEffect *effect = new QGraphicsDropShadowEffect(this); - effect->setBlurRadius(1); - effect->setColor(QColor("#DDDDDD")); - effect->setOffset(1,1); - _dialogHeading->setGraphicsEffect(effect); -#endif - - // // Client area (the part that belongs to the YCP application) // diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yast2-qt-2.21.3/src/diff new/yast2-qt-2.21.4/src/diff --- old/yast2-qt-2.21.3/src/diff 1970-01-01 01:00:00.000000000 +0100 +++ new/yast2-qt-2.21.4/src/diff 2011-05-18 17:05:33.000000000 +0200 @@ -0,0 +1,153 @@ +66c66 +< YQTree::YQTree( YWidget * parent, const string & label, bool multiSelectionMode, bool recursiveSelection ) +--- +> YQTree::YQTree( YWidget * parent, const string & label, bool multiSelectionMode, bool recursiveSelectionMode ) +68c68 +< , YTree( parent, label, multiSelectionMode, recursiveSelection ) +--- +> , YTree( parent, label, multiSelectionMode, recursiveSelectionMode ) +100a101,109 +> connect( _qt_treeWidget, SIGNAL( itemClicked ( QTreeWidgetItem *, int ) ), +> this, SLOT ( slotItemClicked ( QTreeWidgetItem *, int ) ) ); +> +> // connect( _qt_treeWidget, SIGNAL( itemChanged ( QTreeWidgetItem *, int ) ), +> // this, SLOT ( slotItemChanged () ) ); +> +> connect( _qt_treeWidget, SIGNAL( itemChanged ( QTreeWidgetItem *, int ) ), +> this, SLOT ( slotItemChanged (QTreeWidgetItem *) ) ); +> +171a181 +> +191a202,204 +> if ( hasMultiSelection() ) +> item->setCheckState( 0, Qt::Checked ); +> +197a211 +> +238a253,269 +> +> if ( hasMultiSelection() ) +> { +> QTreeWidgetItemIterator it( _qt_treeWidget); +> while (*it) +> { +> YQTreeItem * treeItem = dynamic_cast<YQTreeItem *> (*it); +> +> if ( treeItem ) +> { +> treeItem->setCheckState( 0, Qt::Unchecked ); +> treeItem->origItem()->setSelected( false ); +> } +> ++it; +> } +> } +> +251c282,305 +< void YQTree::slotSelectionChanged( ) +--- +> void YQTree::selectItem(QTreeWidgetItem * item, bool selected, bool recursive) +> { +> +> YQTreeItem * treeItem = dynamic_cast<YQTreeItem *> (item); +> +> if ( ! treeItem ) +> return; +> +> YSelectionWidget::selectItem( treeItem->origItem(), selected ); +> +> if ( recursive ) +> { +> for (int i=0; i < item->childCount(); ++i) +> { +> QTreeWidgetItem* child = item->child(i); +> child->setCheckState(0, ( selected )? Qt::Checked : Qt::Unchecked ); +> YQTree::selectItem( child, selected, recursive ); +> } +> } +> +> } +> +> +> void YQTree::slotItemChanged( QTreeWidgetItem * item ) +253d306 +< QList<QTreeWidgetItem *> items = _qt_treeWidget->selectedItems (); +255c308,310 +< if ( ! items.empty() ) +--- +> YQSignalBlocker sigBlocker( _qt_treeWidget ); +> +> if ( hasMultiSelection() ) +257,258c312,333 +< QTreeWidgetItem *qItem = items.first(); +< selectItem( dynamic_cast<YQTreeItem *> (qItem) ); +--- +> if ( recursiveSelection() ) +> YQUI::ui()->busyCursor(); +> +> if ( item->checkState(0) == Qt::Checked ) +> YQTree::selectItem( item, true, recursiveSelection() ); +> else +> YQTree::selectItem( item, false, recursiveSelection() ); +> +> +> if ( recursiveSelection() ) +> YQUI::ui()->normalCursor(); +> +> } +> else +> { +> QList<QTreeWidgetItem *> items = _qt_treeWidget->selectedItems (); +> +> if ( ! items.empty() ) +> { +> QTreeWidgetItem *qItem = items.first(); +> selectItem( dynamic_cast<YQTreeItem *> (qItem) ); +> } +261,271c336,358 +< //<<<<<<< .mine +< // if ( ! items.empty() ) +< // { +< // QTreeWidgetItem *qItem = items.first(); +< // selectItem( dynamic_cast<YQTreeItem *> (qItem) ); +< // } +< // } +< // +< // +< //======= +< ////>>>>>>> .r62870 +--- +> +> +> if ( notify() && ! YQUI::ui()->eventPendingFor( this ) ) +> YQUI::ui()->sendEvent( new YWidgetEvent( this, YEvent::ValueChanged ) ); +> +> +> } +> +> +> void YQTree::slotItemClicked( QTreeWidgetItem * item, int column ) +> { +> _qt_treeWidget->setCurrentItem( item ); +> +> if ( notify() && ! YQUI::ui()->eventPendingFor( this ) ) +> YQUI::ui()->sendEvent( new YWidgetEvent( this, YEvent::SelectionChanged ) ); +> } +> +> +> +> +> void YQTree::slotSelectionChanged( ) +> { +> +335a423 +> +369a458 +> +385a475,477 +> +> +> +414a507,509 +> +> if ( tree->hasMultiSelection() ) +> setCheckState(0,Qt::Unchecked); ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun... -- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
