X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Fcolorpickerwidget.h;h=ac9913ead55399ba7e3083eea976e828e87341dc;hb=29ceabd2afc227e0fb8b586c567eeaf7921b542e;hp=60a5a3121d1b4ca55b08e171858b835948d05275;hpb=61474e6475b9e26b4373942824b353929410b433;p=kdenlive diff --git a/src/colorpickerwidget.h b/src/colorpickerwidget.h index 60a5a312..ac9913ea 100644 --- a/src/colorpickerwidget.h +++ b/src/colorpickerwidget.h @@ -23,14 +23,27 @@ #include #include +#include -class QSpinBox; class QFrame; #ifdef Q_WS_X11 #include -class KCDPickerFilter; #endif + +class MyFrame : public QFrame +{ + Q_OBJECT +public: + explicit MyFrame(QWidget* parent = 0); + +protected: + void hideEvent ( QHideEvent * event ); + +signals: + void getColor(); +}; + /** * @class ColorPickerWidget * @brief A widget to pick a color anywhere on the screen. @@ -45,15 +58,15 @@ class ColorPickerWidget : public QWidget public: /** @brief Sets up the widget. */ - ColorPickerWidget(QWidget *parent = 0); + explicit ColorPickerWidget(QWidget *parent = 0); /** @brief Makes sure the event filter is removed. */ virtual ~ColorPickerWidget(); protected: - virtual void mousePressEvent(QMouseEvent *event); - virtual void mouseReleaseEvent(QMouseEvent *event); - virtual void mouseMoveEvent(QMouseEvent *event); - virtual void keyPressEvent(QKeyEvent *event); + void mousePressEvent(QMouseEvent *event); + void mouseReleaseEvent(QMouseEvent *event); + void mouseMoveEvent(QMouseEvent *event); + bool eventFilter(QObject *object, QEvent *event); private: /** @brief Closes the event filter and makes mouse and keyboard work again on other widgets/windows. */ @@ -70,11 +83,10 @@ private: QFrame *m_grabRectFrame; #ifdef Q_WS_X11 XImage *m_image; - KCDPickerFilter *m_filter; #else QImage m_image; #endif - + private slots: /** @brief Sets up an event filter for picking a color. */ void slotSetupEventFilter(); @@ -83,8 +95,10 @@ private slots: void slotGetAverageColor(); signals: - void colorPicked(QColor); + void colorPicked(const QColor&); void displayMessage(const QString&, int); + /** @brief When user wants to pick a color, it's better to disable filter so we get proper color values. */ + void disableCurrentFilter(bool); }; #endif