diff options
author | Michele Calgaro <michele.calgaro@yahoo.it> | 2013-10-19 16:27:41 +0200 |
---|---|---|
committer | Slávek Banko <slavek.banko@axis.cz> | 2013-10-19 17:02:16 +0200 |
commit | 6b1b515330edfcba9de6c7d03307cf0e8fed8ea2 (patch) | |
tree | ee3de9b9c5b68c8a470dfa120dff35081857e488 /tdeui | |
parent | cced03e1d481e26d12b65e7929dfd650e4be571c (diff) | |
download | tdelibs-6b1b515330edfcba9de6c7d03307cf0e8fed8ea2.tar.gz tdelibs-6b1b515330edfcba9de6c7d03307cf0e8fed8ea2.zip |
Add option to control scroll tabs on mouse wheel
Diffstat (limited to 'tdeui')
-rw-r--r-- | tdeui/ktabwidget.cpp | 43 | ||||
-rw-r--r-- | tdeui/ktabwidget.h | 15 |
2 files changed, 42 insertions, 16 deletions
diff --git a/tdeui/ktabwidget.cpp b/tdeui/ktabwidget.cpp index 5eef3dd73..4e043ed09 100644 --- a/tdeui/ktabwidget.cpp +++ b/tdeui/ktabwidget.cpp @@ -16,6 +16,11 @@ along with this library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + + -------------------------------------------------------------- + Additional changes: + - 2013/10/14 Michele Calgaro: + add "scroll tabs on mouse wheel event" functionality */ #include <tqapplication.h> @@ -32,16 +37,16 @@ class KTabWidgetPrivate { public: bool m_automaticResizeTabs; - int m_maxLength; - int m_minLength; + int m_maxLength; + int m_minLength; unsigned int m_CurrentMaxLength; + bool m_mouseWheelScroll; - //holds the full names of the tab, otherwise all we - //know about is the shortened name + // Holds the full names of the tab, otherwise all we know about is the shortened name TQStringList m_tabNames; - KTabWidgetPrivate() { - m_automaticResizeTabs = false; + KTabWidgetPrivate() : m_automaticResizeTabs(false), m_mouseWheelScroll(true) + { TDEConfigGroupSaver groupsaver(TDEGlobal::config(), "General"); m_maxLength = TDEGlobal::config()->readNumEntry("MaximumTabLength", 30); m_minLength = TDEGlobal::config()->readNumEntry("MinimumTabLength", 3); @@ -122,6 +127,11 @@ bool KTabWidget::isTabBarHidden() const return !( tabBar()->isVisible() ); } +void KTabWidget::setMouseWheelScroll(bool mouseWheelScroll) +{ + d->m_mouseWheelScroll = mouseWheelScroll; +} + void KTabWidget::setTabColor( TQWidget *w, const TQColor& color ) { TQTab *t = tabBar()->tabAt( indexOf( w ) ); @@ -332,20 +342,21 @@ void KTabWidget::wheelEvent( TQWheelEvent *e ) e->ignore(); } -void KTabWidget::wheelDelta( int delta ) +void KTabWidget::wheelDelta(int delta) { - if ( count() < 2 ) - return; + if (count()<2 || !d->m_mouseWheelScroll) + return; int page = currentPageIndex(); - if ( delta < 0 ) - page = (page + 1) % count(); - else { - page--; - if ( page < 0 ) - page = count() - 1; + if (delta<0) + page = (page + 1) % count(); + else + { + page--; + if (page<0) + page = count() - 1; } - setCurrentPage( page ); + setCurrentPage(page); } #endif diff --git a/tdeui/ktabwidget.h b/tdeui/ktabwidget.h index ae8f43e5d..867048965 100644 --- a/tdeui/ktabwidget.h +++ b/tdeui/ktabwidget.h @@ -16,6 +16,11 @@ along with this library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + + -------------------------------------------------------------- + Additional changes: + - 2013/10/14 Michele Calgaro: + add "scroll tabs on mouse wheel event" functionality */ #ifndef KTABWIDGET_H @@ -44,14 +49,17 @@ class TDEUI_EXPORT KTabWidget : public TQTabWidget public: KTabWidget( TQWidget *parent = 0, const char *name = 0, WFlags f = 0 ); + /** * Destructor. */ virtual ~KTabWidget(); + /*! Set the tab of the given widget to \a color. */ void setTabColor( TQWidget *, const TQColor& color ); + /*! Returns the tab color for the given widget. */ @@ -103,6 +111,13 @@ public: bool isTabBarHidden() const; /*! + Enable/disable "scroll tabs on mouse wheel event" functionality + \a mouseWheelScroll true -> scroll enabled, false -> scroll disabled + @since 14.0 + */ + void setMouseWheelScroll(bool mouseWheelScroll); + + /*! Reimplemented for internal reasons. */ virtual void insertTab( TQWidget *, const TQString &, int index = -1 ); |