Small change to text element.
[jspeed] / src / graphicsscreen.cpp
index 006a33c..71dfbb8 100644 (file)
  *
  */
 
+#include <QtCore/QDebug>
 #include <QtGui/QApplication>
 #include <QtGui/QDesktopWidget>
 #include "graphicsscreen.h"
-#include "imageitem.h"
+#include "toolbaritem.h"
 #include "graphicsscene.h"
 #include "odometer.h"
 
 namespace
 {
-    int const PADDING = 8;
+    int const PADDING = 6;
+    QString const BACKGROUND_COLOR = "#000";
 }
 
 GraphicsScreen::GraphicsScreen(QWidget* parent): QGraphicsView(parent),
-AbstractScreen(), scene_(0)
+AbstractScreen(), scene_(0), isFlipped_(false)
 {
     QRect rect = QApplication::desktop()->availableGeometry();
 
     scene_ = new GraphicsScene(QRect(QPoint(0, 0), rect.size()));
     setScene(scene_);
 
+    setBackgroundBrush(QBrush(QColor(BACKGROUND_COLOR)));
+
     connect(scene_, SIGNAL(clicked()), this, SIGNAL(clicked()));
 
-    minimizeButton_ = new ImageItem(":/resources/minimize.png");
+    minimizeButton_ = new ToolbarItem(":/resources/minimize.png", ":/resources/minimize_active.png");
     minimizeButton_->setZValue(9999);
     scene_->addItem(minimizeButton_);
     connect(minimizeButton_, SIGNAL(clicked()), this, SIGNAL(minimizePressed()));
 
     imageWidth_ = minimizeButton_->pixmap().width();
 
-    closeButton_ = new ImageItem(":/resources/close.png");
+    closeButton_ = new ToolbarItem(":/resources/close.png", ":/resources/close_active.png");
     closeButton_->setZValue(9999);
     scene_->addItem(closeButton_);
     connect(closeButton_, SIGNAL(clicked()), this, SIGNAL(closePressed()));
 
-    settingsButton_ = new ImageItem(":/resources/settings.png");
+    settingsButton_ = new ToolbarItem(":/resources/settings.png", ":/resources/settings_active.png");
     settingsButton_->setZValue(9999);
     scene_->addItem(settingsButton_);
     connect(settingsButton_, SIGNAL(clicked()), this, SIGNAL(settingsPressed()));
@@ -71,21 +75,32 @@ void GraphicsScreen::reArrange()
     scene_->setSceneRect(rect);
     minimizeButton_->setPos(PADDING, PADDING);
     closeButton_->setPos(rect.width() - imageWidth_ - PADDING, PADDING);
-    settingsButton_->setPos((rect.width() / 2) - (imageWidth_ / 2) - (PADDING / 2), PADDING);
+    settingsButton_->setPos((rect.width() / 2) - (imageWidth_ / 2), PADDING);
 }
 
 void GraphicsScreen::flip()
 {
-    if(isTransformed())
+    if(isFlipped_)
     {
         resetMatrix();
-        return;
+        isFlipped_  = false;
+    }
+    else
+    {
+        setTransform(QTransform(1, 0, 0, 0, -1, 0, 0, 0, 1));
+        isFlipped_ = true;
     }
-
-    setTransform(QTransform(1, 0, 0, 0, -1, 0, 0, 0, 1));
 }
 
 GraphicsScene* GraphicsScreen::getScene() const
 {
     return scene_;
 }
+
+void GraphicsScreen::forceRepaint()
+{
+    QApplication::processEvents();
+    update();
+    viewport()->update();
+    QApplication::processEvents();
+}