source: src/gui/tabwidget.cpp @ ca90cb1

qt5
Last change on this file since ca90cb1 was ca90cb1, checked in by uzakmat <uzakmat@…>, 12 years ago

A header with the proper copyright/lincence statement was added into each source/header file.

  • Property mode set to 100644
File size: 1.9 KB
Line 
1/*
2 * Copyright (C) 2010 Ixonos Plc.
3 *
4 * This file is part of fosdem-schedule.
5 *
6 * fosdem-schedule is free software: you can redistribute it and/or modify it
7 * under the terms of the GNU General Public License as published by the Free
8 * Software Foundation, either version 2 of the License, or (at your option)
9 * any later version.
10 *
11 * fosdem-schedule is distributed in the hope that it will be useful, but
12 * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
13 * or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
14 * more details.
15 *
16 * You should have received a copy of the GNU General Public License along with
17 * fosdem-schedule.  If not, see <http://www.gnu.org/licenses/>.
18 */
19#include "tabwidget.h"
20
21#include <QMouseEvent>
22#include <QPainter>
23#include <QTabBar>
24
25TabWidget::TabWidget(QWidget *aParent)
26    : QTabWidget(aParent)
27    , mPressPoint(0,0)
28{
29    mInfoImage = QImage(":/icons/info.png");
30}
31
32void TabWidget::paintEvent(QPaintEvent *event)
33{
34    Q_UNUSED(event);
35
36    int height = tabBar()->tabRect(currentIndex()).height();
37    QImage image = mInfoImage.scaled(QSize(height,height),Qt::KeepAspectRatioByExpanding,Qt::SmoothTransformation);
38    QPainter painter(this);
39    painter.drawImage(rect().topRight()-QPoint(image.width(),0),image);
40}
41
42void TabWidget::mousePressEvent(QMouseEvent *event)
43{
44    mPressPoint = event->pos();
45}
46
47void TabWidget::mouseReleaseEvent(QMouseEvent *event)
48{
49    int height = tabBar()->tabRect(currentIndex()).height();
50    QImage image = mInfoImage.scaled(QSize(height,height),Qt::KeepAspectRatioByExpanding,Qt::SmoothTransformation);
51    QPoint topLeft = rect().topRight()-QPoint(image.width(),0);
52    QRect infoRect = QRect(topLeft, topLeft+QPoint(image.width(),image.height()));
53    if( (infoRect.contains(event->pos())) && (infoRect.contains(mPressPoint)) )
54    {
55        emit(infoIconClicked());
56    }
57}
58
Note: See TracBrowser for help on using the repository browser.