comparison widgets/NotifyingTabBar.cpp @ 190:53835534a9d3

* Allow user to activate a pane by clicking on the tab for its currently active layer. Formerly nothing happened if you clicked on the tab that was already topmost in a given property stack, because the tab widget only emitted a signal if the current tab changed. We want this to switch focus back to the pane if another one has been active in the mean time. * Make the thumbwheels look a bit round.
author Chris Cannam
date Mon, 22 Jan 2007 15:42:00 +0000
parents
children
comparison
equal deleted inserted replaced
189:5b7472db612b 190:53835534a9d3
1 /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
2
3 /*
4 Sonic Visualiser
5 An audio file viewer and annotation editor.
6 Centre for Digital Music, Queen Mary, University of London.
7 This file copyright 2007 QMUL.
8
9 This program is free software; you can redistribute it and/or
10 modify it under the terms of the GNU General Public License as
11 published by the Free Software Foundation; either version 2 of the
12 License, or (at your option) any later version. See the file
13 COPYING included with this distribution for more information.
14 */
15
16 #include "NotifyingTabBar.h"
17
18 #include <iostream>
19
20 NotifyingTabBar::NotifyingTabBar(QWidget *parent) :
21 QTabBar(parent)
22 {
23 }
24
25 NotifyingTabBar::~NotifyingTabBar()
26 {
27 }
28
29 void
30 NotifyingTabBar::mousePressEvent(QMouseEvent *e)
31 {
32 int i = currentIndex();
33 QTabBar::mousePressEvent(e);
34 if (currentIndex() == i) {
35 emit activeTabClicked();
36 }
37 }
38
39 void
40 NotifyingTabBar::enterEvent(QEvent *e)
41 {
42 QTabBar::enterEvent(e);
43 emit mouseEntered();
44 }
45
46 void
47 NotifyingTabBar::leaveEvent(QEvent *e)
48 {
49 QTabBar::enterEvent(e);
50 emit mouseLeft();
51 }
52