view widgets/Slider.cpp @ 206:fa034c6ae8bf

resolve updateContextHelp for property boxes
author lbajardsilogic
date Thu, 31 Jan 2008 10:08:45 +0000
parents 76d4fbab5f20
children 70b88fbbfb5c
line wrap: on
line source
/* -*- c-basic-offset: 4 indent-tabs-mode: nil -*-  vi:set ts=8 sts=4 sw=4: */

/*	Sound Access	
		EASAIER client application.	
		Silogic 2007. Laure Bajard. 
	
	This program is free software; you can redistribute it and/or    
	modify it under the terms of the GNU General Public License as    
	published by the Free Software Foundation; either version 2 of the    
	License, or (at your option) any later version.  See the file    
	COPYING included with this distribution for more information.
*/

#include "Slider.h"

Slider::Slider(QWidget *parent) : QSlider(parent) ,
	m_showTooltip(true)
{
	connect(this, SIGNAL(valueChanged(int)),
                this, SLOT(updateToolTip()));
}

Slider::Slider(Qt::Orientation orientation, QWidget * parent) : QSlider(orientation, parent) ,
	m_showTooltip(true)
{
	connect(this, SIGNAL(valueChanged(int)),
                this, SLOT(updateToolTip()));
}

Slider::~Slider()
{
}

void
Slider::enterEvent(QEvent *e)
{
    QSlider::enterEvent(e);
	QPalette palette;
	palette.setColor(QPalette::Button,palette.color(QPalette::Highlight));
	setPalette(palette);
    emit mouseEntered();
}

void
Slider::leaveEvent(QEvent *e)
{
    QSlider::enterEvent(e);
	QPalette palette;
	setPalette(palette);
    emit mouseLeft();
}

void Slider::setShowToolTip(bool show)
{
    m_showTooltip = show;
    /*m_noMappedUpdate = true;
    updateMappedValue(value());
    m_noMappedUpdate = false;*/
	updateToolTip();
}

void Slider::updateToolTip()
{	
	if (m_showTooltip) {
        QString name = objectName();
        QString unit = "";
        QString text;
        //if (m_rangeMapper) unit = m_rangeMapper->getUnit();
        if (name != "") {
            text = tr("%1: %2%3").arg(name).arg(value()).arg(unit);
        } else {
            text = tr("%2%3").arg(value()).arg(unit);
        }
        setToolTip(text);
    }
}