X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcontrib%2Flibqxt-2007-10-24%2Fsrc%2Fgui%2Fqxtgroupbox.cpp;fp=src%2Fcontrib%2Flibqxt-2007-10-24%2Fsrc%2Fgui%2Fqxtgroupbox.cpp;h=0000000000000000000000000000000000000000;hp=c56349cc58ef8eb319431231e9d3a1b66a5abe1c;hb=140d8a132103d2fa9baf55036e09b165624de167;hpb=97d674034551438238c568e8b42efb08e1ba7354 diff --git a/src/contrib/libqxt-2007-10-24/src/gui/qxtgroupbox.cpp b/src/contrib/libqxt-2007-10-24/src/gui/qxtgroupbox.cpp deleted file mode 100644 index c56349cc..00000000 --- a/src/contrib/libqxt-2007-10-24/src/gui/qxtgroupbox.cpp +++ /dev/null @@ -1,149 +0,0 @@ -/**************************************************************************** -** -** 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 "qxtgroupbox.h" - -#include - -class QxtGroupBoxPrivate : public QxtPrivate -{ -public: - QXT_DECLARE_PUBLIC(QxtGroupBox); - - QxtGroupBoxPrivate(); - void init(); - bool collapsive; -}; - -QxtGroupBoxPrivate::QxtGroupBoxPrivate() : collapsive(true) -{} - -void QxtGroupBoxPrivate::init() -{ - qxt_p().setCheckable(true); - qxt_p().setChecked(true); - QObject::connect(&qxt_p(), SIGNAL(toggled(bool)), &qxt_p(), SLOT(setExpanded(bool))); -} - -/*! - \class QxtGroupBox QxtGroupBox - \ingroup QxtGui - \brief A collapsive and checkable QGroupBox. - - QxtGroupBox is a checkable group box automatically expanding/collapsing - its content according to the check state. QxtGroupBox shows its children - when checked and hides its children when unchecked. - - \image html qxtgroupbox.png "Two QxtGroupBoxes - an expanded and a collapsed - on top of each other." - */ - -/*! - Constructs a new QxtGroupBox with \a parent. - */ -QxtGroupBox::QxtGroupBox(QWidget* parent) - : QGroupBox(parent) -{ - QXT_INIT_PRIVATE(QxtGroupBox); - qxt_d().init(); -} - -/*! - Constructs a new QxtGroupBox with \a title and \a parent. - */ -QxtGroupBox::QxtGroupBox(const QString& title, QWidget* parent) - : QGroupBox(title, parent) -{ - QXT_INIT_PRIVATE(QxtGroupBox); - qxt_d().init(); -} - -/*! - Destructs the group box. - */ -QxtGroupBox::~QxtGroupBox() -{} - -/*! - \property QxtGroupBox::collapsive - \brief This property holds whether the group box is collapsive - */ -bool QxtGroupBox::isCollapsive() const -{ - return qxt_d().collapsive; -} - -void QxtGroupBox::setCollapsive(bool enable) -{ - if (qxt_d().collapsive != enable) - { - qxt_d().collapsive = enable; - if (!enable) - setExpanded(true); - else if (!isChecked()) - setExpanded(false); - } -} - -/*! - Sets the group box \a collapsed. - - A collapsed group box hides its children. - - \sa setExpanded(), QGroupBox::toggled() - */ -void QxtGroupBox::setCollapsed(bool collapsed) -{ - setExpanded(!collapsed); -} - -/*! - Sets the group box \a expanded. - - An expanded group box shows its children. - - \sa setCollapsed(), QGroupBox::toggled() - */ -void QxtGroupBox::setExpanded(bool expanded) -{ - if (qxt_d().collapsive || expanded) - { - // show/hide direct children - foreach (QObject* child, children()) - { - if (child->isWidgetType()) - static_cast(child)->setVisible(expanded); - } - setFlat(!expanded); - } -} - -void QxtGroupBox::childEvent(QChildEvent* event) -{ - QObject* child = event->child(); - if (event->added() && child->isWidgetType()) - { - QWidget* widget = static_cast(child); - if (qxt_d().collapsive && !isChecked()) - widget->hide(); - } -}