X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fcontrib%2Flibqxt-2007-10-24%2Fsrc%2Fgui%2Fqxtstringspinbox.cpp;fp=src%2Fcontrib%2Flibqxt-2007-10-24%2Fsrc%2Fgui%2Fqxtstringspinbox.cpp;h=0000000000000000000000000000000000000000;hb=140d8a132103d2fa9baf55036e09b165624de167;hp=e04b67ea40ab34d47160d05d131521633bc86442;hpb=97d674034551438238c568e8b42efb08e1ba7354;p=quassel.git diff --git a/src/contrib/libqxt-2007-10-24/src/gui/qxtstringspinbox.cpp b/src/contrib/libqxt-2007-10-24/src/gui/qxtstringspinbox.cpp deleted file mode 100644 index e04b67ea..00000000 --- a/src/contrib/libqxt-2007-10-24/src/gui/qxtstringspinbox.cpp +++ /dev/null @@ -1,140 +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 "qxtstringspinbox.h" - -class QxtStringSpinBoxPrivate : public QxtPrivate -{ -public: - QXT_DECLARE_PUBLIC(QxtStringSpinBox); - int startsWith(const QString& start, QString& string) const; - QStringList strings; -}; - -int QxtStringSpinBoxPrivate::startsWith(const QString& start, QString& string) const -{ - const int size = strings.size(); - for (int i = 0; i < size; ++i) - { - if (strings.at(i).startsWith(start, Qt::CaseInsensitive)) - { - // found - string = strings.at(i); - return i; - } - } - // not found - return -1; -} - -/*! - \class QxtStringSpinBox QxtStringSpinBox - \ingroup QxtGui - \brief A spin box with string items. - - QxtStringSpinBox is spin box that takes strings. QxtStringSpinBox allows - the user to choose a value by clicking the up and down buttons or by - pressing Up or Down on the keyboard to increase or decrease the value - currently displayed. The user can also type the value in manually. - - \image html qxtstringspinbox.png "QxtStringSpinBox in Cleanlooks style." - */ - -/*! - Constructs a new QxtStringSpinBox with \a parent. - */ -QxtStringSpinBox::QxtStringSpinBox(QWidget* pParent) : QSpinBox(pParent) -{ - setRange(0, 0); -} - -/*! - Destructs the spin box. - */ -QxtStringSpinBox::~QxtStringSpinBox() -{} - -/*! - \property QxtStringSpinBox::strings - \brief This property holds the string items of the spin box. - */ -const QStringList& QxtStringSpinBox::strings() const -{ - return qxt_d().strings; -} - -void QxtStringSpinBox::setStrings(const QStringList& strings) -{ - qxt_d().strings = strings; - setRange(0, strings.size() - 1); - if (!strings.isEmpty()) - setValue(0); -} - -void QxtStringSpinBox::fixup(QString& input) const -{ - // just attempt to change the input string to be valid according to the string list - // no need to result in a valid string, callers of this function are responsible to - // re-test the validity afterwards - - // try finding a string from the list which starts with input - input = input.simplified(); - if (!input.isEmpty()) - { - qxt_d().startsWith(input, input); - } -} - -QValidator::State QxtStringSpinBox::validate(QString& input, int& pos) const -{ - // Invalid: input is invalid according to the string list - // Intermediate: it is likely that a little more editing will make the input acceptable - // (e.g. the user types "A" and stringlist contains "ABC") - // Acceptable: the input is valid. - Q_UNUSED(pos); - QString temp; - QValidator::State state = QValidator::Invalid; - if (qxt_d().strings.contains(input)) - { - // exact match - state = QValidator::Acceptable; - } - else if (input.isEmpty() || qxt_d().startsWith(input, temp) != -1) - { - // still empty or some string in the list starts with input - state = QValidator::Intermediate; - } - // else invalid - return state; -} - -QString QxtStringSpinBox::textFromValue(int value) const -{ - Q_ASSERT(qxt_d().strings.isEmpty() || (value >= 0 && value < qxt_d().strings.size())); - return qxt_d().strings.isEmpty() ? QLatin1String("") : qxt_d().strings.at(value); -} - -int QxtStringSpinBox::valueFromText(const QString& text) const -{ - return qxt_d().strings.indexOf(text); -}