From 6b1b515330edfcba9de6c7d03307cf0e8fed8ea2 Mon Sep 17 00:00:00 2001 From: Michele Calgaro Date: Sat, 19 Oct 2013 16:27:41 +0200 Subject: Add option to control scroll tabs on mouse wheel --- tdeui/ktabwidget.cpp | 43 +++++++++++++++++++++++++++---------------- tdeui/ktabwidget.h | 15 +++++++++++++++ 2 files changed, 42 insertions(+), 16 deletions(-) (limited to 'tdeui') 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 @@ -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. */ @@ -102,6 +110,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. */ -- cgit v1.2.1