summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichele Calgaro <michele.calgaro@yahoo.it>2013-10-19 16:27:41 +0200
committerSlávek Banko <slavek.banko@axis.cz>2013-10-19 17:02:16 +0200
commit6b1b515330edfcba9de6c7d03307cf0e8fed8ea2 (patch)
treeee3de9b9c5b68c8a470dfa120dff35081857e488
parentcced03e1d481e26d12b65e7929dfd650e4be571c (diff)
downloadtdelibs-6b1b515330edfcba9de6c7d03307cf0e8fed8ea2.tar.gz
tdelibs-6b1b515330edfcba9de6c7d03307cf0e8fed8ea2.zip
Add option to control scroll tabs on mouse wheel
-rw-r--r--tdeui/ktabwidget.cpp43
-rw-r--r--tdeui/ktabwidget.h15
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 );