X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Fdragvalue.h;h=2ca950ed668124506310b2b0b75c6f330b363eec;hb=56aee6aedeeed3efd10ada8fe3c229eddc01ef05;hp=53adb2b8b3e639c2785584eb463e2283807ef50f;hpb=6898a01de5854d00ebb724b4b77e3d59c0d2d9be;p=kdenlive diff --git a/src/dragvalue.h b/src/dragvalue.h index 53adb2b8..2ca950ed 100644 --- a/src/dragvalue.h +++ b/src/dragvalue.h @@ -26,9 +26,6 @@ #include #include -class QValidator; -class QToolButton; -class QLineEdit; class QAction; class QMenu; class KSelectAction; @@ -38,26 +35,26 @@ class CustomLabel : public QProgressBar { Q_OBJECT public: - CustomLabel(const QString &label, bool showSlider = true, int precision = 0, QWidget *parent = 0); + explicit CustomLabel(const QString &label, bool showSlider = true, int range = 1000, QWidget *parent = 0); void setProgressValue(double value); void setStep(double step); protected: //virtual void mouseDoubleClickEvent(QMouseEvent * event); - virtual void mousePressEvent(QMouseEvent * event); - virtual void mouseReleaseEvent(QMouseEvent *event); - virtual void mouseMoveEvent(QMouseEvent *event); + void mousePressEvent(QMouseEvent * event); + void mouseReleaseEvent(QMouseEvent *event); + void mouseMoveEvent(QMouseEvent *event); //virtual void paintEvent(QPaintEvent *event); - virtual void wheelEvent(QWheelEvent * event); + void wheelEvent(QWheelEvent * event); + void focusInEvent(QFocusEvent *e); + void focusOutEvent(QFocusEvent *e); private: QPoint m_dragStartPosition; QPoint m_dragLastPosition; bool m_dragMode; - double m_step; bool m_showSlider; - double m_precision; - double m_value; + double m_step; void slotValueInc(double factor = 1); void slotValueDec(double factor = 1); void setNewValue(double, bool); @@ -77,7 +74,18 @@ class DragValue : public QWidget Q_OBJECT public: - DragValue(const QString &label, double defaultValue, int decimals, int id, const QString suffix, bool showSlider = true, QWidget* parent = 0); + /** + * @brief Default constructor. + * @param label The label that will be displayed in the progress bar + * @param defaultValue The default value + * @param decimals The number of decimals for the parameter. 0 means it is an integer + * @param min The minimum value + * @param max The maximum value + * @param id Used to identify this widget. If this parameter is set, "Show in Timeline" will be available in context menu. + * @param suffix The suffix that will be displayed in the spinbox (for example '%') + * @param showSlider If disabled, user can still drag on the label but no progress bar is shown + */ + explicit DragValue(const QString &label, double defaultValue, int decimals, double min = 0, double max = 100, int id = -1, const QString &suffix = QString(), bool showSlider = true, QWidget* parent = 0); virtual ~DragValue(); /** @brief Returns the precision = number of decimals */ @@ -110,11 +118,11 @@ public: public slots: /** @brief Sets the value (forced to be in the valid range) and emits valueChanged. */ void setValue(double value, bool final = true); + void setValueFromProgress(double value, bool final); /** @brief Resets to default value */ void slotReset(); signals: - void valueChanged(int value, bool final = true); void valueChanged(double value, bool final = true); void inTimeline(int); @@ -130,6 +138,7 @@ protected: virtual void mouseReleaseEvent(QMouseEvent *e);*/ /** @brief Forwards tab focus to lineedit since it is disabled. */ virtual void focusInEvent(QFocusEvent *e); + virtual void focusOutEvent(QFocusEvent *e); //virtual void keyPressEvent(QKeyEvent *e); //virtual void wheelEvent(QWheelEvent *e); //virtual void paintEvent( QPaintEvent * event );