[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: [palapeli] src: BUG: 331594 Fix holders and preview not to obscure messages and dialogs.
From: Ian Wadham <iandw.au () gmail ! com>
Date: 2014-02-28 23:19:40
Message-ID: E1WJWiS-0007ea-Ib () scm ! kde ! org
[Download RAW message or body]
Git commit 49eb5b047e96ff83dc4d0c2b0386290c90e867f5 by Ian Wadham.
Committed on 28/02/2014 at 23:09.
Pushed by ianw into branch 'master'.
BUG: 331594 Fix holders and preview not to obscure messages and dialogs.
The windows needed to have parents but not Qt::WindowStaysOnTopHint.
M +2 -2 src/engine/gameplay.cpp
M +3 -2 src/engine/puzzlepreview.cpp
M +1 -1 src/engine/puzzlepreview.h
M +5 -5 src/window/pieceholder.cpp
M +2 -3 src/window/pieceholder.h
http://commits.kde.org/palapeli/49eb5b047e96ff83dc4d0c2b0386290c90e867f5
diff --git a/src/engine/gameplay.cpp b/src/engine/gameplay.cpp
index 8c3d798..ee6ae96 100644
--- a/src/engine/gameplay.cpp
+++ b/src/engine/gameplay.cpp
@@ -172,7 +172,7 @@ void Palapeli::GamePlay::playPuzzle(Palapeli::Puzzle* puzzle)
m_canExportPuzzle = m_mainWindow->actionCollection()->
action("game_export")->isEnabled();
m_centralWidget->setCurrentWidget(m_puzzleTable);
- m_puzzlePreview = new Palapeli::PuzzlePreview();
+ m_puzzlePreview = new Palapeli::PuzzlePreview(m_mainWindow);
if (m_loadingPuzzle || (!puzzle) || (m_puzzle == puzzle)) {
if (m_puzzle == puzzle) {
@@ -364,7 +364,7 @@ void Palapeli::GamePlay::createHolder()
void Palapeli::GamePlay::createHolder(const QString& name, bool sel)
{
Palapeli::PieceHolder* h =
- new Palapeli::PieceHolder(m_pieceAreaSize, name);
+ new Palapeli::PieceHolder(m_mainWindow, m_pieceAreaSize, name);
m_viewList << h;
connect(h, SIGNAL(selected(PieceHolder*)),
this, SLOT(changeSelectedHolder(PieceHolder*)));
diff --git a/src/engine/puzzlepreview.cpp b/src/engine/puzzlepreview.cpp
index 594470c..425d717 100644
--- a/src/engine/puzzlepreview.cpp
+++ b/src/engine/puzzlepreview.cpp
@@ -26,7 +26,7 @@
#include <QPainter>
#include <KLocalizedString>
-Palapeli::PuzzlePreview::PuzzlePreview()
+Palapeli::PuzzlePreview::PuzzlePreview(QWidget* parent)
{
m_settingsSaveTimer = new QTimer(this);
connect(m_settingsSaveTimer, SIGNAL(timeout()), this, SLOT(writeConfigIfGeometryChanged()));
@@ -37,8 +37,9 @@ Palapeli::PuzzlePreview::PuzzlePreview()
m_mousePos = QPoint();
setScene(new QGraphicsScene());
+ setParent(parent);
setWindowTitle(i18nc("Window title", "Preview of completed puzzle"));
- setWindowFlags(Qt::Tool | Qt::WindowTitleHint | Qt::WindowStaysOnTopHint);
+ setWindowFlags(Qt::Tool | Qt::WindowTitleHint);
setAttribute (Qt::WA_NoMousePropagation); // Accept all mouse events.
setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
diff --git a/src/engine/puzzlepreview.h b/src/engine/puzzlepreview.h
index 15a2ec3..59f77ac 100644
--- a/src/engine/puzzlepreview.h
+++ b/src/engine/puzzlepreview.h
@@ -30,7 +30,7 @@ namespace Palapeli
{
Q_OBJECT
public:
- PuzzlePreview();
+ PuzzlePreview(QWidget* parent);
void setImage(const QImage &image);
void loadImageFrom(const Palapeli::PuzzleMetadata& md);
diff --git a/src/window/pieceholder.cpp b/src/window/pieceholder.cpp
index 3c999ae..81eb439 100644
--- a/src/window/pieceholder.cpp
+++ b/src/window/pieceholder.cpp
@@ -27,17 +27,17 @@
const qreal minGrid = 2.0; // 2x2 pieces in close-up of minimum holder.
const qreal maxGrid = 6.0; // 6x6 pieces in distant view of min holder.
-Palapeli::PieceHolder::PieceHolder(const QSizeF& pieceArea, const QString& title)
- : View() // A parentless QWidget == a window.
- , m_scene(scene())
+Palapeli::PieceHolder::PieceHolder(QWidget* parent, const QSizeF& pieceArea,
+ const QString& title)
+ : m_scene(scene())
{
qDebug() << "CONSTRUCTING Palapeli::PieceHolder" << title;
+ setParent(parent);
+ setWindowFlags(Qt::Window | Qt::Tool | Qt::WindowTitleHint);
// Allow space for (2 * 2) pieces in minimum view initially.
m_scene->setPieceAreaSize(pieceArea);
m_scene->initializeGrid(QPointF(0.0, 0.0));
m_scene->setSceneRect(m_scene->piecesBoundingRect(minGrid));
- setWindowFlags(Qt::Tool | Qt::WindowTitleHint
- | Qt::WindowStaysOnTopHint);
setWindowTitle(title);
qreal s = calculateCloseUpScale();
QRectF r = m_scene->sceneRect();
diff --git a/src/window/pieceholder.h b/src/window/pieceholder.h
index 1147613..97f4350 100644
--- a/src/window/pieceholder.h
+++ b/src/window/pieceholder.h
@@ -45,9 +45,8 @@ namespace Palapeli
{
Q_OBJECT
public:
- PieceHolder(const QSizeF& pieceArea, const QString& title);
- // IDW TODO - void releasePieces(QList<Piece*> pieces);
- // IDW TODO - void repackPieces(QRectF& rect); // Belongs in scene()?
+ PieceHolder(QWidget* parent, const QSizeF& pieceArea,
+ const QString& title);
void initializeZooming();
void setSelected(bool onOff);
QString name() { return windowTitle(); }
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic