*
*/
+#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()));
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();
+}