summaryrefslogtreecommitdiffstats
path: root/tqtinterface/qt4/src/widgets/tqdialogbuttons.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tqtinterface/qt4/src/widgets/tqdialogbuttons.cpp')
-rw-r--r--tqtinterface/qt4/src/widgets/tqdialogbuttons.cpp456
1 files changed, 0 insertions, 456 deletions
diff --git a/tqtinterface/qt4/src/widgets/tqdialogbuttons.cpp b/tqtinterface/qt4/src/widgets/tqdialogbuttons.cpp
deleted file mode 100644
index 18f5631..0000000
--- a/tqtinterface/qt4/src/widgets/tqdialogbuttons.cpp
+++ /dev/null
@@ -1,456 +0,0 @@
-/****************************************************************************
-**
-** Implementation of TQDialogButtons class
-**
-** Copyright (C) 2005-2008 Trolltech ASA. All rights reserved.
-**
-** This file is part of the widgets module of the TQt GUI Toolkit.
-**
-** This file may be used under the terms of the GNU General
-** Public License versions 2.0 or 3.0 as published by the Free
-** Software Foundation and appearing in the files LICENSE.GPL2
-** and LICENSE.GPL3 included in the packaging of this file.
-** Alternatively you may (at your option) use any later version
-** of the GNU General Public License if such license has been
-** publicly approved by Trolltech ASA (or its successors, if any)
-** and the KDE Free TQt Foundation.
-**
-** Please review the following information to ensure GNU General
-** Public Licensing requirements will be met:
-** http://trolltech.com/products/qt/licenses/licensing/opensource/.
-** If you are unsure which license is appropriate for your use, please
-** review the following information:
-** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
-** or contact the sales department at sales@trolltech.com.
-**
-** This file may be used under the terms of the Q Public License as
-** defined by Trolltech ASA and appearing in the file LICENSE.TQPL
-** included in the packaging of this file. Licensees holding valid TQt
-** Commercial licenses may use this file in accordance with the TQt
-** Commercial License Agreement provided with the Software.
-**
-** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
-** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
-** herein.
-**
-**********************************************************************/
-
-#include "tqdialogbuttons_p.h"
-#ifndef TQT_NO_DIALOGBUTTONS
-
-#include <tqapplication.h>
-#include <tqpushbutton.h>
-#include <tqguardedptr.h>
-#include <tqmap.h>
-#include <tqvariant.h>
-#ifndef TQT_NO_DIALOG
-#include <tqdialog.h>
-#endif // TQT_NO_DIALOG
-#include <tqlayout.h>
-#include <tqstyle.h>
-#include <tqmap.h>
-
-struct TQDialogButtonsPrivate
-{
- TQMap<int, TQString> text;
- TQMap<TQDialogButtons::Button, TQWidget *> buttons;
- TQGuardedPtr<TQWidget> custom;
- TQ_UINT32 enabled, visible;
- TQDialogButtons::Button def;
- Qt::Orientation orient;
- bool questionMode;
-};
-
-#ifndef TQT_NO_DIALOG
-TQDialogButtons::TQDialogButtons(TQDialog *parent, bool autoConnect, TQ_UINT32 buttons,
- Qt::Orientation orient, const char *name ) : TQWidget(parent, name)
-{
- init(buttons, orient);
- if(parent && autoConnect) {
- TQObject::connect(this, TQT_SIGNAL(acceptClicked()), parent, TQT_SLOT(accept()));
- TQObject::connect(this, TQT_SIGNAL(rejectClicked()), parent, TQT_SLOT(reject()));
- }
-}
-#endif // TQT_NO_DIALOG
-
-TQDialogButtons::TQDialogButtons(TQWidget *parent, TQ_UINT32 buttons,
- Qt::Orientation orient, const char *name ) : TQWidget(parent, name)
-{
- init(buttons, orient);
-}
-
-void
-TQDialogButtons::init(TQ_UINT32 buttons, Qt::Orientation orient)
-{
- if(buttons == All) {
- qWarning("TQDialogButtons: cannot specify All by itself!");
- buttons = None;
- }
- d = new TQDialogButtonsPrivate;
- d->questionMode = FALSE;
- d->orient = orient;
- d->def = (Button)tqstyle().tqstyleHint(TQStyle::SH_DialogButtons_DefaultButton, this);
- d->enabled = d->visible = buttons;
-}
-
-TQDialogButtons::~TQDialogButtons()
-{
- delete (TQWidget *)d->custom;
- delete d;
-}
-
-void
-TQDialogButtons::setQuestionMode(bool b)
-{
- d->questionMode = b;
-}
-
-bool
-TQDialogButtons::questionMode() const
-{
- return d->questionMode;
-}
-
-void
-TQDialogButtons::setButtonEnabled(Button button, bool enabled)
-{
- if(enabled)
- d->enabled |= button;
- else
- d->enabled ^= button;
- if(d->buttons.contains(button))
- d->buttons[button]->setEnabled(enabled);
-}
-
-bool
-TQDialogButtons::isButtonEnabled(Button button) const
-{
- return ((int)(d->enabled & button)) == button;
-}
-
-void
-TQDialogButtons::setButtonVisible(Button button, bool visible)
-{
- if(visible) {
- if(d->buttons.contains(button))
- d->buttons[button]->show();
- d->visible |= button;
- } else {
- if(d->buttons.contains(button))
- d->buttons[button]->hide();
- d->visible ^= button;
- }
- layoutButtons();
-}
-
-bool
-TQDialogButtons::isButtonVisible(Button button) const
-{
- return ((int)(d->visible & button)) == button;
-}
-
-void
-TQDialogButtons::addWidget(TQWidget *w)
-{
- TQBoxLayout *lay = NULL;
- if(!d->custom) {
- d->custom = new TQWidget(this, "dialog_custom_area");
- if(orientation() == Qt::Horizontal)
- lay = new TQHBoxLayout(d->custom);
- else
- lay = new TQVBoxLayout(d->custom);
- layoutButtons();
- } else {
- lay = (TQBoxLayout*)d->custom->tqlayout();
- }
- if(w->parent() != TQT_TQOBJECT(d->custom))
- w->reparent(d->custom, 0, TQPoint(0, 0), TRUE);
- lay->addWidget(w);
-}
-
-void
-TQDialogButtons::setDefaultButton(Button button)
-{
- if(!((int)(d->visible & button) == button)) {
- qWarning("TQDialogButtons: Button '%d' is not visible (so cannot be default)", button);
- return;
- }
- if(d->def != button) {
-#ifndef TQT_NO_PROPERTIES
- if(d->buttons.contains(d->def))
- d->buttons[d->def]->setProperty("default", TQVariant(FALSE,0));
-#endif
- d->def = button;
-#ifndef TQT_NO_PROPERTIES
- if(d->buttons.contains(d->def))
- d->buttons[d->def]->setProperty("default", TQVariant(FALSE,0));
-#endif
- }
-}
-
-TQDialogButtons::Button
-TQDialogButtons::defaultButton() const
-{
- return d->def;
-}
-
-void
-TQDialogButtons::setButtonText(Button button, const TQString &str)
-{
- d->text[button] = str;
-#ifndef TQT_NO_PROPERTIES
- if(d->buttons.contains(button))
- d->buttons[button]->setProperty("text", TQVariant(str));
-#endif
- layoutButtons();
-}
-
-TQString
-TQDialogButtons::buttonText(Button b) const
-{
- if(d->text.contains(b))
- return d->text[b];
- return TQString(); //null if it is default..
-}
-
-void
-TQDialogButtons::setOrientation(Qt::Orientation orient)
-{
- if(d->orient != orient) {
- d->orient = orient;
- if(d->custom && d->custom->tqlayout())
- ((TQBoxLayout*)d->custom->tqlayout())->setDirection(orient == Qt::Horizontal ? TQBoxLayout::LeftToRight :
- TQBoxLayout::TopToBottom);
- layoutButtons();
- }
-}
-
-Qt::Orientation
-TQDialogButtons::orientation() const
-{
- return d->orient;
-}
-
-TQWidget *
-TQDialogButtons::createButton(Button b)
-{
- TQPushButton *ret = new TQPushButton(this, "qdialog_button");
- TQObject::connect(ret, TQT_SIGNAL(clicked()), this, TQT_SLOT(handleClicked()));
- if(d->text.contains(b)) {
- ret->setText(d->text[b]);
- } else {
- switch(b) {
- case All: {
- TQString txt = buttonText(defaultButton());
- if(txt.isNull()) {
- if(defaultButton() == Accept) {
- if(questionMode())
- txt = tr("Yes to All");
- else
- txt = tr("OK to All");
- } else {
- if(questionMode())
- txt = tr("No to All");
- else
- txt = tr("Cancel All");
- }
- } else {
- txt += tr(" to All"); //ick, I can't really do this!!
- }
- ret->setText(txt);
- break; }
- case Accept:
- if(questionMode())
- ret->setText(tr("Yes"));
- else
- ret->setText(tr("OK"));
- break;
- case Reject:
- if(questionMode())
- ret->setText(tr("No"));
- else
- ret->setText(tr("Cancel"));
- break;
- case Apply:
- ret->setText(tr("Apply"));
- break;
- case Ignore:
- ret->setText(tr("Ignore"));
- break;
- case Retry:
- ret->setText(tr("Retry"));
- break;
- case Abort:
- ret->setText(tr("Abort"));
- break;
- case Help:
- ret->setText(tr("Help"));
- break;
- default:
- break;
- }
- }
- return ret;
-}
-
-void
-TQDialogButtons::handleClicked()
-{
- const TQObject *s = TQT_TQOBJECT(sender());
- if(!s)
- return;
-
- for(TQMapIterator<TQDialogButtons::Button, TQWidget *> it = d->buttons.begin(); it != d->buttons.end(); ++it) {
- if(TQT_TQOBJECT(it.data()) == s) {
- emit clicked((TQDialogButtons::Button)it.key());
- switch(it.key()) {
- case Retry:
- emit retryClicked();
- break;
- case Ignore:
- emit ignoreClicked();
- break;
- case Abort:
- emit abortClicked();
- break;
- case All:
- emit allClicked();
- break;
- case Accept:
- emit acceptClicked();
- break;
- case Reject:
- emit rejectClicked();
- break;
- case Apply:
- emit applyClicked();
- break;
- case Help:
- emit helpClicked();
- break;
- default:
- break;
- }
- return;
- }
- }
-}
-
-void
-TQDialogButtons::resizeEvent(TQResizeEvent *)
-{
- layoutButtons();
-}
-
-void
-TQDialogButtons::showEvent(TQShowEvent *)
-{
- layoutButtons();
-}
-
-void
-TQDialogButtons::styleChanged(TQStyle &old)
-{
- layoutButtons();
- TQWidget::styleChange(old);
-}
-
-void
-TQDialogButtons::layoutButtons()
-{
- if(!isVisible()) //nah..
- return;
-
- TQStyle::SubRect rects[] = {
- TQStyle::SR_DialogButtonAccept, TQStyle::SR_DialogButtonReject,
- TQStyle::SR_DialogButtonApply, TQStyle::SR_DialogButtonHelp,
- TQStyle::SR_DialogButtonCustom, TQStyle::SR_DialogButtonAll,
- TQStyle::SR_DialogButtonRetry, TQStyle::SR_DialogButtonIgnore,
- TQStyle::SR_DialogButtonAbort };
- for(unsigned int i = 0; i < (sizeof(rects) / sizeof(rects[0])); i++) {
- TQWidget *w = NULL;
- if(rects[i] == TQStyle::SR_DialogButtonCustom) {
- w = d->custom;
- } else {
- Button b = None;
- if(rects[i] == TQStyle::SR_DialogButtonApply)
- b = Apply;
- else if(rects[i] == TQStyle::SR_DialogButtonAll)
- b = All;
- else if(rects[i] == TQStyle::SR_DialogButtonAccept)
- b = Accept;
- else if(rects[i] == TQStyle::SR_DialogButtonReject)
- b = Reject;
- else if(rects[i] == TQStyle::SR_DialogButtonHelp)
- b = Help;
- else if(rects[i] == TQStyle::SR_DialogButtonRetry)
- b = Retry;
- else if(rects[i] == TQStyle::SR_DialogButtonAbort)
- b = Abort;
- else if(rects[i] == TQStyle::SR_DialogButtonIgnore)
- b = Ignore;
- if(b != None) {
- if(d->buttons.contains(b)) {
- w = d->buttons[b];
- if(!(d->visible & b)) {
- w->hide();
- continue;
- }
- } else if(d->visible & b) {
- w = createButton(b);
- d->buttons.insert(b, w);
- } else {
- continue;
- }
- if(w) {
- if(b == d->def) {
- w->setFocus();
-#ifndef TQT_NO_PROPERTIES
- w->setProperty("default", TQVariant(TRUE,0));
-#endif
- }
- w->setEnabled(d->enabled & b);
- }
- }
- }
- if(w) {
- w->show();
- w->setGeometry(tqstyle().subRect(rects[i], this));
- }
- }
-}
-
-TQSize
-TQDialogButtons::tqsizeHint() const
-{
- constPolish();
- TQSize s;
- if(d->custom)
- s = d->custom->tqsizeHint();
- return (tqstyle().tqsizeFromContents(TQStyle::CT_DialogButtons, this, s.
- expandedTo(TQApplication::globalStrut())));
-}
-
-TQSize
-TQDialogButtons::tqsizeHint(TQDialogButtons::Button button) const
-{
- TQWidget *w = NULL;
- if(d->visible & button) {
- if(!d->buttons.contains(button)) {
- TQDialogButtons *that = (TQDialogButtons*)this; //ick, constness..
- w = that->createButton(button);
- that->d->buttons.insert(button, w);
- } else {
- w = d->buttons[button];
- }
- }
- return w->tqsizeHint();
-}
-
-TQSize
-TQDialogButtons::tqminimumSizeHint() const
-{
- return tqsizeHint();
-}
-#endif