X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcontrib%2Flibqxt-2007-10-24%2Fsrc%2Fgui%2Fqxtlistwidget.cpp;fp=src%2Fcontrib%2Flibqxt-2007-10-24%2Fsrc%2Fgui%2Fqxtlistwidget.cpp;h=1477d498fecc55b9bba9c8d2d353dfe05c65e81c;hp=0000000000000000000000000000000000000000;hb=a634acadbcf6017474f68a3eaf7cb632660e9e49;hpb=cd122ca8e0d2c0ffc5397e0a813c75d791a7e6e3 diff --git a/src/contrib/libqxt-2007-10-24/src/gui/qxtlistwidget.cpp b/src/contrib/libqxt-2007-10-24/src/gui/qxtlistwidget.cpp new file mode 100644 index 00000000..1477d498 --- /dev/null +++ b/src/contrib/libqxt-2007-10-24/src/gui/qxtlistwidget.cpp @@ -0,0 +1,99 @@ +/**************************************************************************** +** +** Copyright (C) Qxt Foundation. Some rights reserved. +** +** This file is part of the QxtGui module of the Qt eXTension library +** +** This library is free software; you can redistribute it and/or modify it +** under the terms of th Common Public License, version 1.0, as published by +** IBM. +** +** This file is provided "AS IS", without WARRANTIES OR CONDITIONS OF ANY +** KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +** WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR +** FITNESS FOR A PARTICULAR PURPOSE. +** +** You should have received a copy of the CPL along with this file. +** See the LICENSE file and the cpl1.0.txt file included with the source +** distribution for more information. If you did not receive a copy of the +** license, contact the Qxt Foundation. +** +** +** +****************************************************************************/ +#include "qxtlistwidget.h" +#include "qxtitemdelegate.h" +#include "qxtlistwidget_p.h" + +QxtListWidgetPrivate::QxtListWidgetPrivate() +{} + +void QxtListWidgetPrivate::informStartEditing(const QModelIndex& index) +{ + QListWidgetItem* item = qxt_p().itemFromIndex(index); + Q_ASSERT(item); + emit qxt_p().itemEditingStarted(item); +} + +void QxtListWidgetPrivate::informFinishEditing(const QModelIndex& index) +{ + QListWidgetItem* item = qxt_p().itemFromIndex(index); + Q_ASSERT(item); + emit qxt_p().itemEditingFinished(item); +} + +/*! + \class QxtListWidget QxtListWidget + \ingroup QxtGui + \brief An extended QListWidget with additional signals. + + QxtListWidget offers a few most commonly requested signals. + + \image html qxtlistwidget.png "QxtListWidget in Plastique style." + */ + +/*! + \fn QxtListWidget::itemEditingStarted(QListWidgetItem* item) + + This signal is emitted after the editing of \a item has been started. + + \sa itemEditingFinished() + */ + +/*! + \fn QxtListWidget::itemEditingFinished(QListWidgetItem* item) + + This signal is emitted after the editing of \a item has been finished. + + \sa itemEditingStarted() + */ + +/*! + \fn QxtListWidget::itemCheckStateChanged(QxtListWidgetItem* item) + + This signal is emitted whenever the check state of \a item has changed. + + \note Use QxtListWidgetItem in order to enable this feature. + + \sa QxtListWidgetItem, QListWidgetItem::checkState() + */ + +/*! + Constructs a new QxtListWidget with \a parent. + */ +QxtListWidget::QxtListWidget(QWidget* parent) : QListWidget(parent) +{ + QXT_INIT_PRIVATE(QxtListWidget); + QxtItemDelegate* delegate = new QxtItemDelegate(this); + connect(delegate, SIGNAL(editingStarted(const QModelIndex&)), + &qxt_d(), SLOT(informStartEditing(const QModelIndex&))); + connect(delegate, SIGNAL(editingFinished(const QModelIndex&)), + &qxt_d(), SLOT(informFinishEditing(const QModelIndex&))); + setItemDelegate(delegate); +} + +/*! + Destructs the list widget. + */ +QxtListWidget::~QxtListWidget() +{}