Refactoring
[weightgraph] / weightgraph / weightgraphview.h
index 835b735..87ffcfa 100644 (file)
@@ -3,6 +3,7 @@
 
 #include <QWidget>
 #include <QKeyEvent>
 
 #include <QWidget>
 #include <QKeyEvent>
+#include <X11/Xlib.h>
 #include "weightdata.h"
 #include "settings.h"
 
 #include "weightdata.h"
 #include "settings.h"
 
@@ -12,31 +13,17 @@ class WeightGraphView : public QWidget
 public:
   explicit WeightGraphView(WeightDataModel *wdm, const QString &id, QWidget *parent = 0);
   QSize sizeHint() const;
 public:
   explicit WeightGraphView(WeightDataModel *wdm, const QString &id, QWidget *parent = 0);
   QSize sizeHint() const;
+  void grabZoomKeys(bool grab);
+  static void grabZoomKeysForWindow(WId winId, bool grab);
 signals:
   void clicked();
 public slots:
   void paintEvent(QPaintEvent *);
   void show();
 signals:
   void clicked();
 public slots:
   void paintEvent(QPaintEvent *);
   void show();
-  void update() {
-    grabZoomKeys(Settings::grabZoomKeys());
-    QWidget::update();
-  }
+  void update();
 
 
-  void grabZoomKeys(bool grab);
-  void incPeriod() {
-    if (period == 0)
-      period = wdm->getWeights().first().date.daysTo(wdm->getWeights().last().date) + 1;
-    else
-      period++;
-    update();
-  }
-  void decPeriod() {
-    if (period == 0)
-      period = wdm->getWeights().first().date.daysTo(wdm->getWeights().last().date) - 1;
-    else
-      period = qMax(1, period-1);
-    update();
-  }
+  void incPeriod();
+  void decPeriod();
   void setPeriod(int period) { this->period = period; update(); }
 protected:
   void mousePressEvent(QMouseEvent *);
   void setPeriod(int period) { this->period = period; update(); }
 protected:
   void mousePressEvent(QMouseEvent *);