From 9ad5c7b5e23b4940e7a3ea3ca3a6fb77e6a8fab0 Mon Sep 17 00:00:00 2001 From: tpearson Date: Wed, 20 Jan 2010 02:37:40 +0000 Subject: Updated to final KDE3 ktorrent release (2.2.6) git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/applications/ktorrent@1077377 283d02a7-25f6-0310-bc7c-ecb5cbfe19da --- plugins/infowidget/floatspinbox.h | 93 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 93 insertions(+) create mode 100644 plugins/infowidget/floatspinbox.h (limited to 'plugins/infowidget/floatspinbox.h') diff --git a/plugins/infowidget/floatspinbox.h b/plugins/infowidget/floatspinbox.h new file mode 100644 index 0000000..42545bc --- /dev/null +++ b/plugins/infowidget/floatspinbox.h @@ -0,0 +1,93 @@ +/*************************************************************************** + * Copyright (C) 2005 by * + * Joris Guisson * + * Vincent Wagelaar * + * Jonas Widarsson * + * * + * 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. * + ***************************************************************************/ +#ifndef FLOATSPINBOX_H +#define FLOATSPINBOX_H + +#include + +namespace kt +{ + + /** + * @author Jonas Widarsson + * + * A Spinbox for float values which respects KGlobal::locale(). + * QSpinBox's internal integer value is only + * used for step detection. + */ + + class FloatSpinBox : public QSpinBox + { + Q_OBJECT + public: + FloatSpinBox( QWidget* parent=0, const char* name=0 ); + FloatSpinBox( int precision = 2, QWidget* parent=0, const char* name=0 ); + FloatSpinBox( float minValue, float maxValue, float step = 0.5, int precision = 2, + QWidget* parent=0, const char* name=0 ); + virtual ~FloatSpinBox(); + + QString mapValueToText( int value ); + + int mapTextToValue( bool *ok ); + + float minValue () const; + float maxValue () const; + float value () const; + int precision() const; + + public slots: + virtual void setMinValue ( float minValue ); + virtual void setMaxValue ( float maxValue ); + virtual void setValue ( float value ); + virtual void setStep ( float step ); + virtual void setPrecision( int value ); + virtual void stepUp(); + virtual void stepDown(); + + signals: + void valueChanged ( float value ); + void valueHasChanged (); + + private slots: + void internalValueChanged( int value ); + + private: + int m_precision_digits; + float m_value; + float m_minValue; + float m_maxValue; + bool m_useRange; + float m_step; + int m_oldIntVal; + float min( float a, float b) const + { + return (a < b) ? a : b; + } + + float max( float a, float b) const + { + return (a > b) ? a : b; + } + }; +} + +#endif -- cgit v1.2.1