Mercurial > hg > easaier-soundaccess
changeset 206:fa034c6ae8bf
resolve updateContextHelp for property boxes
author | lbajardsilogic |
---|---|
date | Thu, 31 Jan 2008 10:08:45 +0000 |
parents | 00cf9a7faa4d |
children | 95d9c6de5a4f |
files | sv/filter/TimeStretchFilter.h sv/main/MainWindow.cpp widgets/MultiPaneLayerContainer.cpp widgets/MultiPaneLayerContainer.h widgets/PropertyBox.cpp widgets/PropertyStack.cpp widgets/RealTimeFilterPropertyStack.cpp widgets/RealTimeFilterPropertyStack.h widgets/Slider.cpp widgets/Slider.h |
diffstat | 10 files changed, 78 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- 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;
--- 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 *)));
--- 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);
--- 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);
--- 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<Slider *>(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) {
--- 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<Layer *>(container);
--- 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);
--- 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 *);
--- 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
--- 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