# HG changeset patch # User lbajardsilogic # Date 1201774125 0 # Node ID fa034c6ae8bffe1c0128be2b1401fcc591a02f8c # Parent 00cf9a7faa4d0fe4633c05a76fca12d9868e2018 resolve updateContextHelp for property boxes diff -r 00cf9a7faa4d -r fa034c6ae8bf sv/filter/TimeStretchFilter.h --- a/sv/filter/TimeStretchFilter.h Wed Jan 30 10:20:41 2008 +0000 +++ b/sv/filter/TimeStretchFilter.h Thu Jan 31 10:08:45 2008 +0000 @@ -29,6 +29,8 @@ TimeStretchFilter(); virtual ~TimeStretchFilter(); + virtual QString getPropertyContainerName() const {return "Time and Pitch filter";} + virtual PropertyList getProperties() const; virtual QString getPropertyLabel(const PropertyName &) const; virtual PropertyType getPropertyType(const PropertyName &) const; diff -r 00cf9a7faa4d -r fa034c6ae8bf sv/main/MainWindow.cpp --- a/sv/main/MainWindow.cpp Wed Jan 30 10:20:41 2008 +0000 +++ b/sv/main/MainWindow.cpp Thu Jan 31 10:08:45 2008 +0000 @@ -299,6 +299,9 @@ m_filterPropertyStack = new RealTimeFilterPropertyStack(); m_toolBox->addItem("Real-time filters",m_filterPropertyStack); + connect(m_filterPropertyStack, SIGNAL(contextHelpChanged(const QString &)), + this, SLOT(contextHelpChanged(const QString &))); + /******** only for logo ****/ QLabel *logo = new QLabel; logo->setPixmap(QPixmap(":icons/easaier.png")); @@ -5453,6 +5456,7 @@ connect(m_paneStack, SIGNAL(newPaneAdded(Pane*)),m_multiPaneLayerContainer,SLOT(paneAdded(Pane*))); connect(m_paneStack, SIGNAL(paneDeleted(Pane*)),m_multiPaneLayerContainer,SLOT(paneRemoved(Pane*))); connect(m_multiPaneLayerContainer, SIGNAL(removeSelectedItem()), this, SLOT(deleteCurrentLayer())); + connect(m_multiPaneLayerContainer, SIGNAL(contextHelpChanged(const QString &)), this, SLOT(contextHelpChanged(const QString &))); connect(this, SIGNAL(newCurrentPane(Pane*)), m_multiPaneLayerContainer, SLOT(currentPaneChanged(Pane*))); connect(m_multiPaneLayerContainer, SIGNAL(propertyContainerSelected(View *, PropertyContainer *)), m_paneStack, SLOT(propertyContainerSelected(View *, PropertyContainer *))); diff -r 00cf9a7faa4d -r fa034c6ae8bf widgets/MultiPaneLayerContainer.cpp --- a/widgets/MultiPaneLayerContainer.cpp Wed Jan 30 10:20:41 2008 +0000 +++ b/widgets/MultiPaneLayerContainer.cpp Thu Jan 31 10:08:45 2008 +0000 @@ -28,6 +28,7 @@ PropertyStack *propertyStack = new PropertyStack(0, pane); connect(propertyStack, SIGNAL(removeSelectedItem()), this, SIGNAL(removeSelectedItem())); connect(propertyStack, SIGNAL(propertyContainerSelected(View *, PropertyContainer *)), this, SIGNAL(propertyContainerSelected(View *, PropertyContainer *))); + connect(propertyStack, SIGNAL(contextHelpChanged(const QString &)), this, SIGNAL(contextHelpChanged(const QString &))); m_map->insert(pane,propertyStack); m_layout->addWidget(propertyStack); m_layout->setMargin(0); diff -r 00cf9a7faa4d -r fa034c6ae8bf widgets/MultiPaneLayerContainer.h --- a/widgets/MultiPaneLayerContainer.h Wed Jan 30 10:20:41 2008 +0000 +++ b/widgets/MultiPaneLayerContainer.h Thu Jan 31 10:08:45 2008 +0000 @@ -36,6 +36,7 @@ signals: void removeSelectedItem(); void propertyContainerSelected(View *client, PropertyContainer *container); + void contextHelpChanged(const QString &); public slots : void currentPaneChanged(Pane *pane); diff -r 00cf9a7faa4d -r fa034c6ae8bf widgets/PropertyBox.cpp --- a/widgets/PropertyBox.cpp Wed Jan 30 10:20:41 2008 +0000 +++ b/widgets/PropertyBox.cpp Thu Jan 31 10:08:45 2008 +0000 @@ -423,6 +423,7 @@ slider->setMinimum(min); slider->setMaximum(max); slider->setPageStep(1); + slider->setShowToolTip(true); connect(slider, SIGNAL(valueChanged(int)), this, SLOT(propertyControllerChanged(int))); connect(slider, SIGNAL(mouseEntered()), this, SLOT(mouseEnteredWidget())); @@ -746,6 +747,18 @@ } } + Slider *slider = dynamic_cast(w); + if (slider) { + float mv = slider->value(); + QString unit = ""; + //if (slider->rangeMapper()) unit = slider->rangeMapper()->getUnit(); + if (unit != "") { + extraText = tr(" (current value: %1%2)").arg(mv).arg(unit); + } else { + extraText = tr(" (current value: %1)").arg(mv); + } + } + if (w == m_showButton) { emit contextHelpChanged(tr("Toggle Visibility of %1").arg(cname)); } else if (w == m_playButton) { diff -r 00cf9a7faa4d -r fa034c6ae8bf widgets/PropertyStack.cpp --- a/widgets/PropertyStack.cpp Wed Jan 30 10:20:41 2008 +0000 +++ b/widgets/PropertyStack.cpp Thu Jan 31 10:08:45 2008 +0000 @@ -116,7 +116,8 @@ PropertyBox *box = new PropertyBox(container); connect(box, SIGNAL(showLayer(bool)), this, SLOT(showLayer(bool))); - connect(box, SIGNAL(contextHelpChanged(const QString &)), + + connect(box, SIGNAL(contextHelpChanged(const QString &)), this, SIGNAL(contextHelpChanged(const QString &))); Layer *layer = dynamic_cast(container); diff -r 00cf9a7faa4d -r fa034c6ae8bf widgets/RealTimeFilterPropertyStack.cpp --- a/widgets/RealTimeFilterPropertyStack.cpp Wed Jan 30 10:20:41 2008 +0000 +++ b/widgets/RealTimeFilterPropertyStack.cpp Thu Jan 31 10:08:45 2008 +0000 @@ -27,6 +27,9 @@ connect(filter, SIGNAL(propertiesChanged(PropertyContainer *)), box, SLOT(propertyContainerPropertyChanged(PropertyContainer *))); + connect(box, SIGNAL(contextHelpChanged(const QString &)), + this, SIGNAL(contextHelpChanged(const QString &))); + ItemAudioFilterList *itAudio = new ItemAudioFilterList; QString name(filter->objectName()); itAudio->setName(name); diff -r 00cf9a7faa4d -r fa034c6ae8bf widgets/RealTimeFilterPropertyStack.h --- a/widgets/RealTimeFilterPropertyStack.h Wed Jan 30 10:20:41 2008 +0000 +++ b/widgets/RealTimeFilterPropertyStack.h Thu Jan 31 10:08:45 2008 +0000 @@ -26,6 +26,9 @@ RealTimeFilterPropertyStack(); virtual ~RealTimeFilterPropertyStack(); +signals: + void contextHelpChanged(const QString &); + public slots: void filterAdded(Filter *); diff -r 00cf9a7faa4d -r fa034c6ae8bf widgets/Slider.cpp --- a/widgets/Slider.cpp Wed Jan 30 10:20:41 2008 +0000 +++ b/widgets/Slider.cpp Thu Jan 31 10:08:45 2008 +0000 @@ -13,6 +13,20 @@ #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() { } @@ -34,4 +48,29 @@ 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); + } } \ No newline at end of file diff -r 00cf9a7faa4d -r fa034c6ae8bf widgets/Slider.h --- a/widgets/Slider.h Wed Jan 30 10:20:41 2008 +0000 +++ b/widgets/Slider.h Thu Jan 31 10:08:45 2008 +0000 @@ -21,21 +21,26 @@ Q_OBJECT public: - Slider(QWidget *parent = 0) : - QSlider(parent) { } - - Slider(Qt::Orientation orientation, QWidget * parent = 0) : - QSlider(orientation, parent) { } + Slider(QWidget *parent = 0); + Slider(Qt::Orientation orientation, QWidget * parent = 0); virtual ~Slider(); + void setShowToolTip(bool show); + signals: void mouseEntered(); void mouseLeft(); +protected slots: + void updateToolTip(); + protected: virtual void enterEvent(QEvent *); virtual void leaveEvent(QEvent *); + + bool m_showTooltip; + }; #endif \ No newline at end of file