summaryrefslogtreecommitdiffstats
path: root/examples/draganddrop
diff options
context:
space:
mode:
authorDavid Boddie <david.boddie@nokia.com>2011-04-27 17:16:41 (GMT)
committerDavid Boddie <david.boddie@nokia.com>2011-05-04 16:34:57 (GMT)
commitb727e5b95c1f0bd308b228fcf0445b42847ae583 (patch)
treee120ca1ec5c2e303fb6fca97bc9754403e0f25f2 /examples/draganddrop
parent6d1e0faa19be784f79730d65af9c1a162245c7dc (diff)
downloadQt-b727e5b95c1f0bd308b228fcf0445b42847ae583.zip
Qt-b727e5b95c1f0bd308b228fcf0445b42847ae583.tar.gz
Qt-b727e5b95c1f0bd308b228fcf0445b42847ae583.tar.bz2
Squashed commit of the changes from the mobile-examples repository
(4.7-generated-declarative branch). (cherry picked from commit 539311f7b2687e3148ea695ce06fee768abe7b44)
Diffstat (limited to 'examples/draganddrop')
-rw-r--r--examples/draganddrop/delayedencoding/delayedencoding.pro9
-rw-r--r--examples/draganddrop/delayedencoding/main.cpp4
-rw-r--r--examples/draganddrop/delayedencoding/sourcewidget.cpp1
-rw-r--r--examples/draganddrop/draggableicons/draggableicons.pro1
-rw-r--r--examples/draganddrop/draggableicons/dragwidget.cpp9
-rw-r--r--examples/draganddrop/draggableicons/main.cpp4
-rw-r--r--examples/draganddrop/draggabletext/draggabletext.pro2
-rw-r--r--examples/draganddrop/draggabletext/dragwidget.cpp4
-rw-r--r--examples/draganddrop/draggabletext/main.cpp4
-rw-r--r--examples/draganddrop/dropsite/dropsite.pro4
-rw-r--r--examples/draganddrop/fridgemagnets/dragwidget.cpp4
-rw-r--r--examples/draganddrop/fridgemagnets/fridgemagnets.pro2
-rw-r--r--examples/draganddrop/fridgemagnets/main.cpp5
-rw-r--r--examples/draganddrop/puzzle/main.cpp4
-rw-r--r--examples/draganddrop/puzzle/mainwindow.cpp16
-rw-r--r--examples/draganddrop/puzzle/pieceslist.cpp6
-rw-r--r--examples/draganddrop/puzzle/pieceslist.h4
-rw-r--r--examples/draganddrop/puzzle/puzzle.pro1
-rw-r--r--examples/draganddrop/puzzle/puzzlewidget.cpp26
-rw-r--r--examples/draganddrop/puzzle/puzzlewidget.h6
20 files changed, 92 insertions, 24 deletions
diff --git a/examples/draganddrop/delayedencoding/delayedencoding.pro b/examples/draganddrop/delayedencoding/delayedencoding.pro
index 7315ac5..b1ebc14 100644
--- a/examples/draganddrop/delayedencoding/delayedencoding.pro
+++ b/examples/draganddrop/delayedencoding/delayedencoding.pro
@@ -13,4 +13,11 @@ sources.files = $$SOURCES $$HEADERS *.pro
sources.path = $$[QT_INSTALL_EXAMPLES]/itemviews/delayedencoding
INSTALLS += target sources
-symbian:TARGET.UID3 = 0xA000C614 \ No newline at end of file
+symbian {
+ TARGET.UID3 = 0xA000C614
+ include($$QT_SOURCE_TREE/examples/symbianpkgrules.pri)
+}
+maemo5: include($$QT_SOURCE_TREE/examples/maemo5pkgrules.pri)
+symbian: warning(This example does not work on Symbian platform)
+maemo5: warning(This example does not work on Maemo platform)
+simulator: warning(This example does not work on Simulator platform)
diff --git a/examples/draganddrop/delayedencoding/main.cpp b/examples/draganddrop/delayedencoding/main.cpp
index a8d8e53..b1fa160 100644
--- a/examples/draganddrop/delayedencoding/main.cpp
+++ b/examples/draganddrop/delayedencoding/main.cpp
@@ -45,7 +45,11 @@ int main(int argc, char *argv[])
{
QApplication app(argc, argv);
SourceWidget window;
+#ifdef Q_OS_SYMBIAN
+ window.showMaximized();
+#else
window.show();
+#endif
return app.exec();
}
diff --git a/examples/draganddrop/delayedencoding/sourcewidget.cpp b/examples/draganddrop/delayedencoding/sourcewidget.cpp
index 9620502..0fbeb11 100644
--- a/examples/draganddrop/delayedencoding/sourcewidget.cpp
+++ b/examples/draganddrop/delayedencoding/sourcewidget.cpp
@@ -60,6 +60,7 @@ SourceWidget::SourceWidget(QWidget *parent)
QLabel *instructTopLabel = new QLabel(tr("This is an SVG drawing:"));
QLabel *instructBottomLabel = new QLabel(
tr("Drag the icon to copy the drawing as a PNG file:"));
+ instructBottomLabel->setWordWrap(true);
QPushButton *dragIcon = new QPushButton(tr("Export"));
dragIcon->setIcon(QIcon(":/images/drag.png"));
diff --git a/examples/draganddrop/draggableicons/draggableicons.pro b/examples/draganddrop/draggableicons/draggableicons.pro
index 9def1bc..81ca20f 100644
--- a/examples/draganddrop/draggableicons/draggableicons.pro
+++ b/examples/draganddrop/draggableicons/draggableicons.pro
@@ -13,3 +13,4 @@ symbian {
TARGET.UID3 = 0xA000C615
include($$QT_SOURCE_TREE/examples/symbianpkgrules.pri)
}
+maemo5: include($$QT_SOURCE_TREE/examples/maemo5pkgrules.pri)
diff --git a/examples/draganddrop/draggableicons/dragwidget.cpp b/examples/draganddrop/draggableicons/dragwidget.cpp
index c8c3b13..46bfff9 100644
--- a/examples/draganddrop/draggableicons/dragwidget.cpp
+++ b/examples/draganddrop/draggableicons/dragwidget.cpp
@@ -46,25 +46,28 @@
DragWidget::DragWidget(QWidget *parent)
: QFrame(parent)
{
+#if defined(Q_OS_SYMBIAN) || defined(Q_WS_MAEMO_5) || defined(Q_WS_SIMULATOR)
+#else
setMinimumSize(200, 200);
+#endif
setFrameStyle(QFrame::Sunken | QFrame::StyledPanel);
setAcceptDrops(true);
QLabel *boatIcon = new QLabel(this);
boatIcon->setPixmap(QPixmap(":/images/boat.png"));
- boatIcon->move(20, 20);
+ boatIcon->move(10, 10);
boatIcon->show();
boatIcon->setAttribute(Qt::WA_DeleteOnClose);
QLabel *carIcon = new QLabel(this);
carIcon->setPixmap(QPixmap(":/images/car.png"));
- carIcon->move(120, 20);
+ carIcon->move(100, 10);
carIcon->show();
carIcon->setAttribute(Qt::WA_DeleteOnClose);
QLabel *houseIcon = new QLabel(this);
houseIcon->setPixmap(QPixmap(":/images/house.png"));
- houseIcon->move(20, 120);
+ houseIcon->move(10, 80);
houseIcon->show();
houseIcon->setAttribute(Qt::WA_DeleteOnClose);
}
diff --git a/examples/draganddrop/draggableicons/main.cpp b/examples/draganddrop/draggableicons/main.cpp
index 7a80b92..a6ade67 100644
--- a/examples/draganddrop/draggableicons/main.cpp
+++ b/examples/draganddrop/draggableicons/main.cpp
@@ -55,7 +55,11 @@ int main(int argc, char *argv[])
mainWidget.setLayout(horizontalLayout);
mainWidget.setWindowTitle(QObject::tr("Draggable Icons"));
+#ifdef Q_OS_SYMBIAN
+ mainWidget.showMaximized();
+#else
mainWidget.show();
+#endif
return app.exec();
}
diff --git a/examples/draganddrop/draggabletext/draggabletext.pro b/examples/draganddrop/draggabletext/draggabletext.pro
index 7c2cfbb..583c938 100644
--- a/examples/draganddrop/draggabletext/draggabletext.pro
+++ b/examples/draganddrop/draggabletext/draggabletext.pro
@@ -15,3 +15,5 @@ symbian {
TARGET.UID3 = 0xA000CF64
include($$QT_SOURCE_TREE/examples/symbianpkgrules.pri)
}
+maemo5: include($$QT_SOURCE_TREE/examples/maemo5pkgrules.pri)
+simulator: warning(This example might not fully work on Simulator platform)
diff --git a/examples/draganddrop/draggabletext/dragwidget.cpp b/examples/draganddrop/draggabletext/dragwidget.cpp
index df61c39..060d41d 100644
--- a/examples/draganddrop/draggabletext/dragwidget.cpp
+++ b/examples/draganddrop/draggabletext/dragwidget.cpp
@@ -62,16 +62,18 @@ DragWidget::DragWidget(QWidget *parent)
wordLabel->show();
wordLabel->setAttribute(Qt::WA_DeleteOnClose);
x += wordLabel->width() + 2;
- if (x >= 195) {
+ if (x >= 245) {
x = 5;
y += wordLabel->height() + 2;
}
}
}
+ /*
QPalette newPalette = palette();
newPalette.setColor(QPalette::Window, Qt::white);
setPalette(newPalette);
+ */
setAcceptDrops(true);
setMinimumSize(400, qMax(200, y));
diff --git a/examples/draganddrop/draggabletext/main.cpp b/examples/draganddrop/draggabletext/main.cpp
index 4d0a121..0ae794b 100644
--- a/examples/draganddrop/draggabletext/main.cpp
+++ b/examples/draganddrop/draggabletext/main.cpp
@@ -47,6 +47,10 @@ int main(int argc, char *argv[])
QApplication app(argc, argv);
DragWidget window;
+#ifdef Q_OS_SYMBIAN
+ window.showMaximized();
+#else
window.show();
+#endif
return app.exec();
}
diff --git a/examples/draganddrop/dropsite/dropsite.pro b/examples/draganddrop/dropsite/dropsite.pro
index 5f81b09..2bde25e 100644
--- a/examples/draganddrop/dropsite/dropsite.pro
+++ b/examples/draganddrop/dropsite/dropsite.pro
@@ -11,3 +11,7 @@ sources.path = $$[QT_INSTALL_EXAMPLES]/draganddrop/dropsite
INSTALLS += target sources
symbian: include($$QT_SOURCE_TREE/examples/symbianpkgrules.pri)
+maemo5: include($$QT_SOURCE_TREE/examples/maemo5pkgrules.pri)
+symbian: warning(This example might not fully work on Symbian platform)
+maemo5: warning(This example might not fully work on Maemo platform)
+simulator: warning(This example might not fully work on Simulator platform)
diff --git a/examples/draganddrop/fridgemagnets/dragwidget.cpp b/examples/draganddrop/fridgemagnets/dragwidget.cpp
index aeab3ad..19abfb6 100644
--- a/examples/draganddrop/fridgemagnets/dragwidget.cpp
+++ b/examples/draganddrop/fridgemagnets/dragwidget.cpp
@@ -65,7 +65,11 @@ DragWidget::DragWidget(QWidget *parent)
wordLabel->show();
wordLabel->setAttribute(Qt::WA_DeleteOnClose);
x += wordLabel->width() + 2;
+#if defined(Q_WS_MAEMO_5) || defined(Q_WS_SIMULATOR)
+ if (x >= 345) {
+#else
if (x >= 245) {
+#endif
x = 5;
y += wordLabel->height() + 2;
}
diff --git a/examples/draganddrop/fridgemagnets/fridgemagnets.pro b/examples/draganddrop/fridgemagnets/fridgemagnets.pro
index ea40a74..f2da3bc 100644
--- a/examples/draganddrop/fridgemagnets/fridgemagnets.pro
+++ b/examples/draganddrop/fridgemagnets/fridgemagnets.pro
@@ -16,4 +16,4 @@ symbian {
include($$QT_SOURCE_TREE/examples/symbianpkgrules.pri)
}
-
+maemo5: include($$QT_SOURCE_TREE/examples/maemo5pkgrules.pri)
diff --git a/examples/draganddrop/fridgemagnets/main.cpp b/examples/draganddrop/fridgemagnets/main.cpp
index 1166abb..623e6d2 100644
--- a/examples/draganddrop/fridgemagnets/main.cpp
+++ b/examples/draganddrop/fridgemagnets/main.cpp
@@ -51,10 +51,15 @@ int main(int argc, char *argv[])
#endif
DragWidget window;
+#if defined(Q_OS_SYMBIAN) || defined(Q_WS_MAEMO_5) || defined(Q_WS_SIMULATOR)
+ window.showMaximized();
+#else
bool smallScreen = QApplication::arguments().contains("-small-screen");
if (smallScreen)
window.showFullScreen();
else
window.show();
+#endif
+
return app.exec();
}
diff --git a/examples/draganddrop/puzzle/main.cpp b/examples/draganddrop/puzzle/main.cpp
index 6034194..b432ddc 100644
--- a/examples/draganddrop/puzzle/main.cpp
+++ b/examples/draganddrop/puzzle/main.cpp
@@ -49,6 +49,10 @@ int main(int argc, char *argv[])
QApplication app(argc, argv);
MainWindow window;
window.openImage(":/images/example.jpg");
+#ifdef Q_OS_SYMBIAN
+ window.showMaximized();
+#else
window.show();
+#endif
return app.exec();
}
diff --git a/examples/draganddrop/puzzle/mainwindow.cpp b/examples/draganddrop/puzzle/mainwindow.cpp
index ea7cff1..09fcaf7 100644
--- a/examples/draganddrop/puzzle/mainwindow.cpp
+++ b/examples/draganddrop/puzzle/mainwindow.cpp
@@ -90,14 +90,15 @@ void MainWindow::setupPuzzle()
{
int size = qMin(puzzleImage.width(), puzzleImage.height());
puzzleImage = puzzleImage.copy((puzzleImage.width() - size)/2,
- (puzzleImage.height() - size)/2, size, size).scaled(400,
- 400, Qt::IgnoreAspectRatio, Qt::SmoothTransformation);
+ (puzzleImage.height() - size)/2, size, size).scaled(puzzleWidget->width(),
+ puzzleWidget->height(), Qt::IgnoreAspectRatio, Qt::SmoothTransformation);
piecesList->clear();
for (int y = 0; y < 5; ++y) {
for (int x = 0; x < 5; ++x) {
- QPixmap pieceImage = puzzleImage.copy(x*80, y*80, 80, 80);
+ int pieceSize = puzzleWidget->pieceSize();
+ QPixmap pieceImage = puzzleImage.copy(x * pieceSize, y * pieceSize, pieceSize, pieceSize);
piecesList->addPiece(pieceImage, QPoint(x, y));
}
}
@@ -137,9 +138,14 @@ void MainWindow::setupWidgets()
{
QFrame *frame = new QFrame;
QHBoxLayout *frameLayout = new QHBoxLayout(frame);
+#if defined(Q_OS_SYMBIAN) || defined(Q_WS_SIMULATOR)
+ puzzleWidget = new PuzzleWidget(260);
+#else
+ puzzleWidget = new PuzzleWidget(400);
+#endif
+
+ piecesList = new PiecesList(puzzleWidget->pieceSize(), this);
- piecesList = new PiecesList;
- puzzleWidget = new PuzzleWidget;
connect(puzzleWidget, SIGNAL(puzzleCompleted()),
this, SLOT(setCompleted()), Qt::QueuedConnection);
diff --git a/examples/draganddrop/puzzle/pieceslist.cpp b/examples/draganddrop/puzzle/pieceslist.cpp
index db27e7a..5eb4984 100644
--- a/examples/draganddrop/puzzle/pieceslist.cpp
+++ b/examples/draganddrop/puzzle/pieceslist.cpp
@@ -42,12 +42,12 @@
#include "pieceslist.h"
-PiecesList::PiecesList(QWidget *parent)
- : QListWidget(parent)
+PiecesList::PiecesList(int pieceSize, QWidget *parent)
+ : QListWidget(parent), m_PieceSize(pieceSize)
{
setDragEnabled(true);
setViewMode(QListView::IconMode);
- setIconSize(QSize(60, 60));
+ setIconSize(QSize(m_PieceSize, m_PieceSize));
setSpacing(10);
setAcceptDrops(true);
setDropIndicatorShown(true);
diff --git a/examples/draganddrop/puzzle/pieceslist.h b/examples/draganddrop/puzzle/pieceslist.h
index 2068dce..967ade0 100644
--- a/examples/draganddrop/puzzle/pieceslist.h
+++ b/examples/draganddrop/puzzle/pieceslist.h
@@ -48,7 +48,7 @@ class PiecesList : public QListWidget
Q_OBJECT
public:
- PiecesList(QWidget *parent = 0);
+ PiecesList(int pieceSize, QWidget *parent = 0);
void addPiece(QPixmap pixmap, QPoint location);
protected:
@@ -56,6 +56,8 @@ protected:
void dragMoveEvent(QDragMoveEvent *event);
void dropEvent(QDropEvent *event);
void startDrag(Qt::DropActions supportedActions);
+
+ int m_PieceSize;
};
#endif
diff --git a/examples/draganddrop/puzzle/puzzle.pro b/examples/draganddrop/puzzle/puzzle.pro
index c0400d8..ee4a570 100644
--- a/examples/draganddrop/puzzle/puzzle.pro
+++ b/examples/draganddrop/puzzle/puzzle.pro
@@ -27,3 +27,4 @@ wince*: {
addFile.path = .
DEPLOYMENT += addFile
}
+maemo5: include($$QT_SOURCE_TREE/examples/maemo5pkgrules.pri)
diff --git a/examples/draganddrop/puzzle/puzzlewidget.cpp b/examples/draganddrop/puzzle/puzzlewidget.cpp
index 355c6d5..e83f248 100644
--- a/examples/draganddrop/puzzle/puzzlewidget.cpp
+++ b/examples/draganddrop/puzzle/puzzlewidget.cpp
@@ -42,12 +42,12 @@
#include "puzzlewidget.h"
-PuzzleWidget::PuzzleWidget(QWidget *parent)
- : QWidget(parent)
+PuzzleWidget::PuzzleWidget(int imageSize, QWidget *parent)
+ : QWidget(parent), m_ImageSize(imageSize)
{
setAcceptDrops(true);
- setMinimumSize(400, 400);
- setMaximumSize(400, 400);
+ setMinimumSize(m_ImageSize, m_ImageSize);
+ setMaximumSize(m_ImageSize, m_ImageSize);
}
void PuzzleWidget::clear()
@@ -116,7 +116,7 @@ void PuzzleWidget::dropEvent(QDropEvent *event)
event->setDropAction(Qt::MoveAction);
event->accept();
- if (location == QPoint(square.x()/80, square.y()/80)) {
+ if (location == QPoint(square.x()/pieceSize(), square.y()/pieceSize())) {
inPlace++;
if (inPlace == 25)
emit puzzleCompleted();
@@ -151,7 +151,7 @@ void PuzzleWidget::mousePressEvent(QMouseEvent *event)
piecePixmaps.removeAt(found);
pieceRects.removeAt(found);
- if (location == QPoint(square.x()/80, square.y()/80))
+ if (location == QPoint(square.x()/pieceSize(), square.y()/pieceSize()))
inPlace--;
update(square);
@@ -175,7 +175,7 @@ void PuzzleWidget::mousePressEvent(QMouseEvent *event)
pieceRects.insert(found, square);
update(targetSquare(event->pos()));
- if (location == QPoint(square.x()/80, square.y()/80))
+ if (location == QPoint(square.x()/pieceSize(), square.y()/pieceSize()))
inPlace++;
}
}
@@ -200,5 +200,15 @@ void PuzzleWidget::paintEvent(QPaintEvent *event)
const QRect PuzzleWidget::targetSquare(const QPoint &position) const
{
- return QRect(position.x()/80 * 80, position.y()/80 * 80, 80, 80);
+ return QRect(position.x()/pieceSize() * pieceSize(), position.y()/pieceSize() * pieceSize(), pieceSize(), pieceSize());
+}
+
+int PuzzleWidget::pieceSize() const
+{
+ return m_ImageSize / 5;
+}
+
+int PuzzleWidget::imageSize() const
+{
+ return m_ImageSize;
}
diff --git a/examples/draganddrop/puzzle/puzzlewidget.h b/examples/draganddrop/puzzle/puzzlewidget.h
index e0356b4..2cc789c 100644
--- a/examples/draganddrop/puzzle/puzzlewidget.h
+++ b/examples/draganddrop/puzzle/puzzlewidget.h
@@ -57,9 +57,12 @@ class PuzzleWidget : public QWidget
Q_OBJECT
public:
- PuzzleWidget(QWidget *parent = 0);
+ PuzzleWidget(int imageSize, QWidget *parent = 0);
void clear();
+ int pieceSize() const;
+ int imageSize() const;
+
signals:
void puzzleCompleted();
@@ -80,6 +83,7 @@ private:
QList<QPoint> pieceLocations;
QRect highlightedRect;
int inPlace;
+ int m_ImageSize;
};
#endif