]> git.sesse.net Git - kdenlive/blobdiff - src/colorpickerwidget.h
Const'ref
[kdenlive] / src / colorpickerwidget.h
index 60a5a3121d1b4ca55b08e171858b835948d05275..ac9913ead55399ba7e3083eea976e828e87341dc 100644 (file)
 
 #include <QtCore>
 #include <QWidget>
+#include <QFrame>
 
-class QSpinBox;
 class QFrame;
 #ifdef Q_WS_X11
 #include <X11/Xlib.h>
-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