(4.7-generated-declarative branch).
\example network/broadcastreceiver
\title Broadcast Receiver Example
- The Broadcast Receiever example shows how to receive information that is broadcasted
+ The Broadcast Receiver example shows how to receive information that is broadcasted
over a local network.
\image broadcastreceiver-example.png
\example itemviews/combowidgetmapper
\title Combo Widget Mapper Example
- The Delegate Widget Mapper example shows how to use a custom delegate to
+ The Combo Widget Mapper example shows how to use a custom delegate to
map information from a model to specific widgets on a form.
\image combowidgetmapper-example.png
\example graphicsview/dragdroprobot
\title Drag and Drop Robot Example
- This GraphicsView example shows how to implement Drag and Drop in a
+ The Drag and Drop Robot example shows how to implement Drag and Drop in a
QGraphicsItem subclass, as well as how to animate items using Qt's
\l{Animation Framework}.
\example graphicsview/elasticnodes
\title Elastic Nodes Example
- This GraphicsView example shows how to implement edges between nodes in a
+ The Elastic Nodes example shows how to implement edges between nodes in a
graph, with basic interaction. You can click to drag a node around, and
zoom in and out using the mouse wheel or the keyboard. Hitting the space
bar will randomize the nodes. The example is also resolution independent;
\example xml/rsslisting
\title RSS-Listing Example
- This example shows how to create a widget that displays news items
+ The RSS-Listing example shows how to create a widget that displays news items
from RDF news sources.
\image rsslistingexample.png
array of the data elements that the user can change. The table widget can be
integrated into a program flow by reading and writing the data elements that
the table widget provides.
-
This method is very intuitive and useful in many applications, but displaying
and editing a database table with a standard table widget can be problematic.
Two copies of the data have to be coordinated: one outside the
TARGET.UID3 = 0xA000D7D1
CONFIG += qt_example
}
+maemo5: include($$QT_SOURCE_TREE/examples/maemo5pkgrules.pri)
view->setBackgroundBrush(bgPix);
view->setCacheMode(QGraphicsView::CacheBackground);
view->setRenderHints(QPainter::Antialiasing | QPainter::SmoothPixmapTransform);
+#ifdef Q_OS_SYMBIAN
+ view->showMaximized();
+#else
view->show();
+#endif
QStateMachine states;
states.addState(rootState);
TARGET.UID3 = 0xA000E3F5
CONFIG += qt_example
}
+maemo5: include($$QT_SOURCE_TREE/examples/maemo5pkgrules.pri)
QPixmap p;
};
+class GraphicsView : public QGraphicsView
+{
+ Q_OBJECT
+public:
+ GraphicsView(QGraphicsScene *scene, QWidget *parent = 0) : QGraphicsView(scene, parent)
+ {
+ }
+
+ virtual void resizeEvent(QResizeEvent *event)
+ {
+ fitInView(sceneRect(), Qt::KeepAspectRatio);
+ }
+};
+
+
void createStates(const QObjectList &objects,
const QRect &selectedRect, QState *parent)
{
p3->setObjectName("p3");
p4->setObjectName("p4");
- p1->setGeometry(QRectF(0.0, 0.0, 64.0, 64.0));
- p2->setGeometry(QRectF(236.0, 0.0, 64.0, 64.0));
+ p1->setGeometry(QRectF( 0.0, 0.0, 64.0, 64.0));
+ p2->setGeometry(QRectF(236.0, 0.0, 64.0, 64.0));
p3->setGeometry(QRectF(236.0, 236.0, 64.0, 64.0));
- p4->setGeometry(QRectF(0.0, 236.0, 64.0, 64.0));
+ p4->setGeometry(QRectF( 0.0, 236.0, 64.0, 64.0));
QGraphicsScene scene(0, 0, 300, 300);
scene.setBackgroundBrush(Qt::white);
scene.addItem(p3);
scene.addItem(p4);
- QGraphicsView window(&scene);
+ GraphicsView window(&scene);
window.setFrameStyle(0);
window.setAlignment(Qt::AlignLeft | Qt::AlignTop);
window.setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
QState *group = new QState(&machine);
group->setObjectName("group");
+
QRect selectedRect(86, 86, 128, 128);
QState *idleState = new QState(group);
group->setInitialState(idleState);
- QObjectList objects;
+ QObjectList objects;
objects << p1 << p2 << p3 << p4;
createStates(objects, selectedRect, group);
createAnimations(objects, &machine);
machine.setInitialState(group);
machine.start();
+#if defined(Q_WS_S60) || defined(Q_WS_MAEMO_5)
+ window.showMaximized();
+#else
window.resize(300, 300);
window.show();
+#endif
return app.exec();
}
FORMS = form.ui
-RESOURCES = easing.qrc
+RESOURCES = easing.qrc
# install
target.path = $$[QT_INSTALL_EXAMPLES]/qtbase/animation/easing
TARGET.UID3 = 0xA000E3F6
CONFIG += qt_example
}
+
+maemo5: CONFIG += qt_example
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="QGroupBox" name="groupBox_2">
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>16777215</height>
+ </size>
+ </property>
<property name="title">
<string>Path type</string>
</property>
- <layout class="QVBoxLayout" name="verticalLayout_2">
- <item>
+ <layout class="QGridLayout" name="gridLayout_2">
+ <item row="0" column="0">
<widget class="QRadioButton" name="lineRadio">
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>40</height>
+ </size>
+ </property>
+ <property name="layoutDirection">
+ <enum>Qt::LeftToRight</enum>
+ </property>
<property name="text">
<string>Line</string>
</property>
</attribute>
</widget>
</item>
- <item>
+ <item row="1" column="0">
<widget class="QRadioButton" name="circleRadio">
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>40</height>
+ </size>
+ </property>
<property name="text">
<string>Circle</string>
</property>
</property>
<item row="0" column="0">
<widget class="QLabel" name="label">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>30</height>
+ </size>
+ </property>
<property name="text">
<string>Period</string>
</property>
<property name="enabled">
<bool>false</bool>
</property>
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>30</height>
+ </size>
+ </property>
<property name="minimum">
<double>-1.000000000000000</double>
</property>
</property>
</widget>
</item>
- <item row="1" column="0">
- <widget class="QLabel" name="label_2">
- <property name="text">
- <string>Amplitude</string>
- </property>
- </widget>
- </item>
- <item row="1" column="1">
+ <item row="2" column="1">
<widget class="QDoubleSpinBox" name="amplitudeSpinBox">
<property name="enabled">
<bool>false</bool>
</property>
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>30</height>
+ </size>
+ </property>
<property name="minimum">
<double>-1.000000000000000</double>
</property>
</property>
</widget>
</item>
- <item row="2" column="0">
+ <item row="4" column="0">
<widget class="QLabel" name="label_3">
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>30</height>
+ </size>
+ </property>
<property name="text">
<string>Overshoot</string>
</property>
</widget>
</item>
- <item row="2" column="1">
+ <item row="4" column="1">
<widget class="QDoubleSpinBox" name="overshootSpinBox">
<property name="enabled">
<bool>false</bool>
</property>
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>30</height>
+ </size>
+ </property>
<property name="minimum">
<double>-1.000000000000000</double>
</property>
</property>
</widget>
</item>
+ <item row="2" column="0">
+ <widget class="QLabel" name="label_2">
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>30</height>
+ </size>
+ </property>
+ <property name="text">
+ <string>Amplitude</string>
+ </property>
+ </widget>
+ </item>
</layout>
</widget>
</item>
Q_INIT_RESOURCE(easing);
QApplication app(argc, argv);
Window w;
+
+#if defined(Q_OS_SYMBIAN)
+ w.showMaximized();
+#elif defined(Q_WS_MAEMO_5) || defined(Q_WS_SIMULATOR)
+ w.show();
+#else
w.resize(400, 400);
w.show();
+#endif
+
return app.exec();
}
#include "window.h"
Window::Window(QWidget *parent)
- : QWidget(parent), m_iconSize(64, 64)
+ : QWidget(parent),
+#if defined(Q_OS_SYMBIAN) || defined(Q_WS_SIMULATOR)
+ m_iconSize(32, 32)
+#else
+ m_iconSize(64, 64)
+#endif
{
m_ui.setupUi(this);
QButtonGroup *buttonGroup = findChild<QButtonGroup *>(); // ### workaround for uic in 4.4
****************************************************************************/
#include <QtGui>
-
#include "ui_form.h"
#include "animation.h"
PixmapItem *m_item;
Animation *m_anim;
QSize m_iconSize;
-
-
};
}
//![13]
+
+class GraphicsView : public QGraphicsView
+{
+ Q_OBJECT
+public:
+ GraphicsView(QGraphicsScene *scene, QWidget *parent = NULL) : QGraphicsView(scene, parent)
+ {
+ }
+
+protected:
+ virtual void resizeEvent(QResizeEvent *event)
+ {
+ fitInView(scene()->sceneRect());
+ QGraphicsView::resizeEvent(event);
+ }
+};
+
+
int main(int argc, char **argv)
{
QApplication app(argc, argv);
-#if 0
- QWidget window;
- QPalette palette;
- palette.setBrush(QPalette::Window, Qt::black);
- window.setPalette(palette);
- QPushButton *button1 = new QPushButton("A", &window);
- QPushButton *button2 = new QPushButton("B", &window);
- QPushButton *button3 = new QPushButton("C", &window);
- QPushButton *button4 = new QPushButton("D", &window);
-
- button1->setObjectName("button1");
- button2->setObjectName("button2");
- button3->setObjectName("button3");
- button4->setObjectName("button4");
-#else
//![1]
QGraphicsRectWidget *button1 = new QGraphicsRectWidget;
QGraphicsRectWidget *button2 = new QGraphicsRectWidget;
scene.addItem(button3);
scene.addItem(button4);
//![1]
- QGraphicsView window(&scene);
+ GraphicsView window(&scene);
window.setFrameStyle(0);
window.setAlignment(Qt::AlignLeft | Qt::AlignTop);
window.setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
window.setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
-#endif
//![2]
QStateMachine machine;
machine.start();
//![9]
+#if defined(Q_WS_S60) || defined(Q_WS_MAEMO_5)
+ window.showMaximized();
+ window.fitInView(scene.sceneRect() );
+#else
window.resize(300, 300);
window.show();
+#endif
qsrand(QTime(0,0,0).secsTo(QTime::currentTime()));
TARGET.UID3 = 0xA000E3F7
CONFIG += qt_example
}
+maemo5: include($$QT_SOURCE_TREE/examples/maemo5pkgrules.pri)
QPixmap p;
};
+class GraphicsView : public QGraphicsView
+{
+public:
+ GraphicsView(QGraphicsScene *scene) : QGraphicsView(scene)
+ {
+ }
+
+ virtual void resizeEvent(QResizeEvent *event)
+ {
+ fitInView(sceneRect(), Qt::KeepAspectRatio);
+ }
+};
+
int main(int argc, char *argv[])
{
Q_INIT_RESOURCE(states);
state1->assignProperty(button, "text", "Switch to state 2");
state1->assignProperty(widget, "geometry", QRectF(0, 0, 400, 150));
state1->assignProperty(box, "geometry", QRect(-200, 150, 200, 150));
- state1->assignProperty(p1, "pos", QPointF(68, 185));
- state1->assignProperty(p2, "pos", QPointF(168, 185));
- state1->assignProperty(p3, "pos", QPointF(268, 185));
- state1->assignProperty(p4, "pos", QPointF(68-150, 48-150));
- state1->assignProperty(p5, "pos", QPointF(168, 48-150));
- state1->assignProperty(p6, "pos", QPointF(268+150, 48-150));
+ state1->assignProperty(p1, "pos", QPointF(68, 200)); // 185));
+ state1->assignProperty(p2, "pos", QPointF(168, 200)); // 185));
+ state1->assignProperty(p3, "pos", QPointF(268, 200)); // 185));
+ state1->assignProperty(p4, "pos", QPointF(68 - 150, 48 - 150));
+ state1->assignProperty(p5, "pos", QPointF(168, 48 - 150));
+ state1->assignProperty(p6, "pos", QPointF(268 + 150, 48 - 150));
state1->assignProperty(p1, "rotation", qreal(0));
state1->assignProperty(p2, "rotation", qreal(0));
state1->assignProperty(p3, "rotation", qreal(0));
state2->assignProperty(button, "text", "Switch to state 3");
state2->assignProperty(widget, "geometry", QRectF(200, 150, 200, 150));
state2->assignProperty(box, "geometry", QRect(9, 150, 190, 150));
- state2->assignProperty(p1, "pos", QPointF(68-150, 185+150));
- state2->assignProperty(p2, "pos", QPointF(168, 185+150));
- state2->assignProperty(p3, "pos", QPointF(268+150, 185+150));
+ state2->assignProperty(p1, "pos", QPointF(68 - 150, 185 + 150));
+ state2->assignProperty(p2, "pos", QPointF(168, 185 + 150));
+ state2->assignProperty(p3, "pos", QPointF(268 + 150, 185 + 150));
state2->assignProperty(p4, "pos", QPointF(64, 48));
state2->assignProperty(p5, "pos", QPointF(168, 48));
state2->assignProperty(p6, "pos", QPointF(268, 48));
machine.start();
- QGraphicsView view(&scene);
+ GraphicsView view(&scene);
+
+#if defined(Q_OS_SYMBIAN)
+ view.showMaximized();
+#else
view.show();
+#endif
return app.exec();
}
TARGET.UID3 = 0xA000E3F8
CONFIG += qt_example
}
+maemo5: include($$QT_SOURCE_TREE/examples/maemo5pkgrules.pri)
emit keyPressed(Qt::Key(e->key()));
}
-
+void GraphicsView::resizeEvent(QResizeEvent *event)
+{
+ fitInView(scene()->sceneRect());
+}
GraphicsView(QWidget *parent = 0);
protected:
+ virtual void resizeEvent(QResizeEvent *event);
void keyPressEvent(QKeyEvent *);
signals:
m_machine->start();
}
-void LifeCycle::addActivity(const QString &fileName, Qt::Key key)
+void LifeCycle::addActivity(const QString &fileName, Qt::Key key, QObject *sender, const char *signal)
{
QState *state = makeState(m_alive, fileName);
m_alive->addTransition(new KeyPressTransition(m_keyReceiver, key, state));
+
+ if((sender != NULL) || (signal != NULL)) {
+ m_alive->addTransition(sender, signal, state);
+ }
}
QState *LifeCycle::makeState(QState *parentState, const QString &animationFileName)
class QState;
class QAbstractState;
class QAbstractTransition;
+class QObject;
QT_END_NAMESPACE
class GraphicsView;
class LifeCycle
~LifeCycle();
void setDeathAnimation(const QString &fileName);
- void addActivity(const QString &fileName, Qt::Key key);
+ void addActivity(const QString &fileName, Qt::Key key, QObject *sender = NULL, const char *signal = NULL);
void start();
#include "lifecycle.h"
#include "stickman.h"
#include "graphicsview.h"
+#include "rectbutton.h"
#include <QtCore>
#include <QtGui>
StickMan *stickMan = new StickMan;
stickMan->setDrawSticks(false);
+#if defined(Q_WS_S60) || defined(Q_WS_MAEMO_5) || defined(Q_WS_SIMULATOR)
+ RectButton *buttonJump = new RectButton("Jump"); buttonJump->setPos(100, 125);
+ RectButton *buttonDance = new RectButton("Dance"); buttonDance->setPos(100, 200);
+ RectButton *buttonChill = new RectButton("Chill"); buttonChill->setPos(100, 275);
+#else
QGraphicsTextItem *textItem = new QGraphicsTextItem();
textItem->setHtml("<font color=\"white\"><b>Stickman</b>"
"<p>"
qreal w = textItem->boundingRect().width();
QRectF stickManBoundingRect = stickMan->mapToScene(stickMan->boundingRect()).boundingRect();
textItem->setPos(-w / 2.0, stickManBoundingRect.bottom() + 25.0);
+#endif
QGraphicsScene scene;
scene.addItem(stickMan);
+
+#if defined(Q_WS_S60) || defined(Q_WS_MAEMO_5) || defined(Q_WS_SIMULATOR)
+ scene.addItem(buttonJump);
+ scene.addItem(buttonDance);
+ scene.addItem(buttonChill);
+#else
scene.addItem(textItem);
+#endif
scene.setBackgroundBrush(Qt::black);
GraphicsView view;
view.setRenderHints(QPainter::Antialiasing);
view.setTransformationAnchor(QGraphicsView::NoAnchor);
view.setScene(&scene);
- view.show();
- view.setFocus();
QRectF sceneRect = scene.sceneRect();
// making enough room in the scene for stickman to jump and die
view.resize(sceneRect.width() + 100, sceneRect.height() + 100);
view.setSceneRect(sceneRect);
+#if defined(Q_WS_S60) || defined(Q_WS_MAEMO_5) || defined(Q_WS_SIMULATOR)
+ view.setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
+ view.setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
+ view.showMaximized();
+ view.fitInView(scene.sceneRect(), Qt::KeepAspectRatio);
+#else
+ view.show();
+ view.setFocus();
+#endif
+
LifeCycle cycle(stickMan, &view);
cycle.setDeathAnimation(":/animations/dead");
+#if defined(Q_WS_S60) || defined(Q_WS_MAEMO_5) || defined(Q_WS_SIMULATOR)
+ cycle.addActivity(":/animations/jumping", Qt::Key_J, buttonJump, SIGNAL(clicked()));
+ cycle.addActivity(":/animations/dancing", Qt::Key_D, buttonDance, SIGNAL(clicked()));
+ cycle.addActivity(":/animations/chilling", Qt::Key_C, buttonChill, SIGNAL(clicked()));
+#else
cycle.addActivity(":/animations/jumping", Qt::Key_J);
cycle.addActivity(":/animations/dancing", Qt::Key_D);
cycle.addActivity(":/animations/chilling", Qt::Key_C);
+#endif
+
cycle.start();
+
return app.exec();
}
animation.h \
node.h \
lifecycle.h \
- graphicsview.h
+ graphicsview.h \
+ rectbutton.h
SOURCES += main.cpp \
stickman.cpp \
animation.cpp \
node.cpp \
lifecycle.cpp \
- graphicsview.cpp
+ graphicsview.cpp \
+ rectbutton.cpp
RESOURCES += stickman.qrc
TARGET.UID3 = 0xA000E3F9
CONFIG += qt_example
}
+maemo5: include($$QT_SOURCE_TREE/examples/maemo5pkgrules.pri)
TEMPLATE = app
-TARGET =
DEPENDPATH += .
INCLUDEPATH += .
QT -= gui
INSTALLS += target sources
symbian: CONFIG += qt_example
+maemo5: CONFIG += qt_example
+symbian: warning(This example does not work on Symbian platform)
+simulator: warning(This example does not work on Simulator platform)
TEMPLATE = app
-TARGET =
DEPENDPATH += .
INCLUDEPATH += .
QT -= gui
INSTALLS += target sources
symbian: CONFIG += qt_example
+maemo5: CONFIG += qt_example
+symbian: warning(This example does not work on Symbian platform)
+simulator: warning(This example does not work on Simulator platform)
TEMPLATE = app
-TARGET =
DEPENDPATH += .
INCLUDEPATH += .
CONFIG += qdbus
INSTALLS += target sources
symbian: CONFIG += qt_example
+maemo5: CONFIG += qt_example
+symbian: warning(This example does not work on Symbian platform)
+simulator: warning(This example does not work on Simulator platform)
INSTALLS += sources
symbian: CONFIG += qt_example
+maemo5: CONFIG += qt_example
TEMPLATE = app
-TARGET =
DEPENDPATH += .
INCLUDEPATH += .
QT -= gui
INSTALLS += target sources
symbian: CONFIG += qt_example
-
+maemo5: CONFIG += qt_example
+symbian: warning(This example does not work on Symbian platform)
+simulator: warning(This example does not work on Simulator platform)
INSTALLS += target sources
symbian: CONFIG += qt_example
+maemo5: CONFIG += qt_example
+symbian: warning(This example does not work on Symbian platform)
+simulator: warning(This example does not work on Simulator platform)
INSTALLS += target sources
symbian: CONFIG += qt_example
+maemo5: CONFIG += qt_example
+symbian: warning(This example does not work on Symbian platform)
+simulator: warning(This example does not work on Simulator platform)
######################################################################
TEMPLATE = app
-TARGET =
DEPENDPATH += .
INCLUDEPATH += .
CONFIG += qdbus
INSTALLS += target sources
symbian: CONFIG += qt_example
+maemo5: CONFIG += qt_example
+symbian: warning(This example does not work on Symbian platform)
+simulator: warning(This example does not work on Simulator platform)
######################################################################
TEMPLATE = app
-TARGET =
DEPENDPATH += .
INCLUDEPATH += .
CONFIG += qdbus
INSTALLS += target sources
symbian: CONFIG += qt_example
+maemo5: CONFIG += qt_example
+symbian: warning(This example does not work on Symbian platform)
+simulator: warning(This example does not work on Simulator platform)
INSTALLS += sources
symbian: CONFIG += qt_example
+maemo5: CONFIG += qt_example
INSTALLS += target sources
symbian: CONFIG += qt_example
+maemo5: CONFIG += qt_example
INSTALLS += target sources
symbian: CONFIG += qt_example
+maemo5: CONFIG += qt_example
+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)
INSTALLS += target sources
symbian: CONFIG += qt_example
+maemo5: CONFIG += qt_example
+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)
symbian: CONFIG += qt_example
wince50standard-x86-msvc2005: LIBS += libcmt.lib corelibc.lib ole32.lib oleaut32.lib uuid.lib commctrl.lib coredll.lib winsock.lib ws2.lib
+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)
INSTALLS += sources
symbian: CONFIG += qt_example
+maemo5: CONFIG += qt_example
INSTALLS += target sources
symbian: CONFIG += qt_example
+maemo5: CONFIG += qt_example
+simulator: warning(This example might not fully work on Simulator platform)
//! [0]
moreButton->setAutoDefault(false);
- buttonBox = new QDialogButtonBox(Qt::Vertical);
- buttonBox->addButton(findButton, QDialogButtonBox::ActionRole);
- buttonBox->addButton(moreButton, QDialogButtonBox::ActionRole);
//! [1]
//! [2]
//! [2]
//! [3]
+#if defined(Q_OS_SYMBIAN) || defined(Q_WS_SIMULATOR)
+ // Create menu
+ QMenu *menu = new QMenu(this);
+
+ // Create Find menu item
+ menu->addAction(tr("Find"));
+
+ // Create More menu item
+ QAction *moreAction = menu->addAction(tr("More"));
+ moreAction->setCheckable(true);
+
+ // Create Options CBA
+ QAction *optionAction = new QAction(tr("Options"), this);
+
+ // Set defined menu into Options button
+ optionAction->setMenu(menu);
+ optionAction->setSoftKeyRole(QAction::PositiveSoftKey);
+ addAction(optionAction);
+
+ // Connect More menu item to setVisible slot
+ connect(moreAction, SIGNAL(triggered(bool)), extension, SLOT(setVisible(bool)));
+
+ // Create Exit CBA
+ QAction *backSoftKeyAction = new QAction(QString(tr("Exit")), this);
+ backSoftKeyAction->setSoftKeyRole(QAction::NegativeSoftKey);
+
+ // Exit button closes the application
+ connect(backSoftKeyAction, SIGNAL(triggered()), qApp, SLOT(quit()));
+ addAction(backSoftKeyAction);
+#else
+ buttonBox = new QDialogButtonBox(Qt::Vertical);
+ buttonBox->addButton(findButton, QDialogButtonBox::ActionRole);
+ buttonBox->addButton(moreButton, QDialogButtonBox::ActionRole);
+
connect(moreButton, SIGNAL(toggled(bool)), extension, SLOT(setVisible(bool)));
+#endif
QVBoxLayout *extensionLayout = new QVBoxLayout;
extensionLayout->setMargin(0);
leftLayout->addLayout(topLeftLayout);
leftLayout->addWidget(caseCheckBox);
leftLayout->addWidget(fromStartCheckBox);
- leftLayout->addStretch(1);
QGridLayout *mainLayout = new QGridLayout;
+#if !defined(Q_OS_SYMBIAN) && !defined(Q_WS_MAEMO_5) && !defined(Q_WS_SIMULATOR)
mainLayout->setSizeConstraint(QLayout::SetFixedSize);
+#endif
mainLayout->addLayout(leftLayout, 0, 0);
+#if !defined(Q_OS_SYMBIAN) && !defined(Q_WS_SIMULATOR)
mainLayout->addWidget(buttonBox, 0, 1);
+#endif
mainLayout->addWidget(extension, 1, 0, 1, 2);
+ mainLayout->setRowStretch(2, 1);
+
setLayout(mainLayout);
setWindowTitle(tr("Extension"));
{
QApplication app(argc, argv);
FindDialog dialog;
- return dialog.exec();
+
+#ifdef Q_OS_SYMBIAN
+ dialog.showMaximized();
+#else
+ dialog.show();
+#endif
+
+ return app.exec();
}
INSTALLS += target sources
symbian: CONFIG += qt_example
+maemo5: CONFIG += qt_example
{
QApplication app(argc, argv);
Window window;
+#ifdef Q_OS_SYMBIAN
+ window.showMaximized();
+#else
window.show();
+#endif
return app.exec();
}
//! [0]
Window::Window(QWidget *parent)
- : QDialog(parent)
+ : QWidget(parent)
{
browseButton = createButton(tr("&Browse..."), SLOT(browse()));
findButton = createButton(tr("&Find"), SLOT(find()));
//! [0]
//! [1]
- QHBoxLayout *buttonsLayout = new QHBoxLayout;
- buttonsLayout->addStretch();
- buttonsLayout->addWidget(findButton);
-
QGridLayout *mainLayout = new QGridLayout;
+ mainLayout->setSizeConstraint(QLayout::SetNoConstraint);
mainLayout->addWidget(fileLabel, 0, 0);
mainLayout->addWidget(fileComboBox, 0, 1, 1, 2);
mainLayout->addWidget(textLabel, 1, 0);
mainLayout->addWidget(directoryComboBox, 2, 1);
mainLayout->addWidget(browseButton, 2, 2);
mainLayout->addWidget(filesTable, 3, 0, 1, 3);
- mainLayout->addWidget(filesFoundLabel, 4, 0, 1, 3);
- mainLayout->addLayout(buttonsLayout, 5, 0, 1, 3);
+ mainLayout->addWidget(filesFoundLabel, 4, 0, 1, 2);
+ mainLayout->addWidget(findButton, 4, 2);
setLayout(mainLayout);
setWindowTitle(tr("Find Files"));
+#if !defined(Q_OS_SYMBIAN) && !defined(Q_WS_MAEMO_5) && !defined(Q_WS_SIMULATOR)
resize(700, 300);
+#endif
}
//! [1]
filesTable->setItem(row, 1, sizeItem);
}
filesFoundLabel->setText(tr("%1 file(s) found").arg(files.size()) +
+#if defined(Q_OS_SYMBIAN) || defined(Q_WS_MAEMO_5)
+ (" (Select file to open it)"));
+#else
(" (Double click on a file to open it)"));
+#endif
+ filesFoundLabel->setWordWrap(true);
}
//! [8]
comboBox->setEditable(true);
comboBox->addItem(text);
comboBox->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred);
+#if defined(Q_OS_SYMBIAN) || defined(Q_WS_MAEMO_5) || defined(Q_WS_SIMULATOR)
+ comboBox->setMinimumContentsLength(3);
+#endif
return comboBox;
}
//! [10]
filesTable->setSelectionBehavior(QAbstractItemView::SelectRows);
QStringList labels;
- labels << tr("File Name") << tr("Size");
+ labels << tr("Filename") << tr("Size");
filesTable->setHorizontalHeaderLabels(labels);
filesTable->horizontalHeader()->setResizeMode(0, QHeaderView::Stretch);
filesTable->verticalHeader()->hide();
#ifndef WINDOW_H
#define WINDOW_H
-#include <QDialog>
+#include <QWidget>
#include <QDir>
QT_BEGIN_NAMESPACE
QT_END_NAMESPACE
//! [0]
-class Window : public QDialog
+class Window : public QWidget
{
Q_OBJECT
INSTALLS += target sources
symbian: CONFIG += qt_example
+maemo5: CONFIG += qt_example
+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)
symbian: CONFIG += qt_example
wince50standard-x86-msvc2005: LIBS += libcmt.lib corelibc.lib ole32.lib oleaut32.lib uuid.lib commctrl.lib coredll.lib winsock.lib ws2.lib
-
+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)
"will activate the detected escape button (if any).")
Dialog::Dialog(QWidget *parent)
- : QDialog(parent)
+ : QWidget(parent)
{
errorMessageDialog = new QErrorMessage(this);
native = new QCheckBox(this);
native->setText("Use native file dialog.");
native->setChecked(true);
+
QGridLayout *layout = new QGridLayout;
layout->setColumnStretch(1, 1);
layout->setColumnMinimumWidth(1, 250);
layout->addWidget(errorButton, 14, 0);
layout->addWidget(errorLabel, 14, 1);
layout->addWidget(native, 15, 0);
+#if defined(Q_OS_SYMBIAN) || defined(Q_WS_MAEMO_5) || defined(Q_WS_SIMULATOR)
+ QWidget *widget = new QWidget;
+ widget->setLayout(layout);
+
+ QScrollArea *scrollArea = new QScrollArea(this);
+ scrollArea->setWidget(widget);
+
+ QHBoxLayout *mainLayout = new QHBoxLayout;
+ mainLayout->addWidget(scrollArea);
+ setLayout(mainLayout);
+#else
setLayout(layout);
+#endif
setWindowTitle(tr("Standard Dialogs"));
}
#ifndef DIALOG_H
#define DIALOG_H
-#include <QDialog>
+#include <QWidget>
QT_BEGIN_NAMESPACE
class QCheckBox;
class QErrorMessage;
QT_END_NAMESPACE
-class Dialog : public QDialog
+class Dialog : public QWidget
{
Q_OBJECT
app.installTranslator(translator);
Dialog dialog;
- return dialog.exec();
+#ifdef Q_OS_SYMBIAN
+ dialog.showMaximized();
+#else
+ dialog.show();
+#endif
+
+ return app.exec();
}
symbian: CONFIG += qt_example
wince50standard-x86-msvc2005: LIBS += libcmt.lib corelibc.lib ole32.lib oleaut32.lib uuid.lib commctrl.lib coredll.lib winsock.lib ws2.lib
+maemo5: include($$QT_SOURCE_TREE/examples/maemo5pkgrules.pri)
fileName = ".";
TabDialog tabdialog(fileName);
- return tabdialog.exec();
+#ifdef Q_OS_SYMBIAN
+ tabdialog.showMaximized();
+#else
+ tabdialog.show();
+#endif
+
+ return app.exec();
}
//! [4]
QVBoxLayout *mainLayout = new QVBoxLayout;
+ mainLayout->setSizeConstraint(QLayout::SetNoConstraint);
mainLayout->addWidget(tabWidget);
mainLayout->addWidget(buttonBox);
setLayout(mainLayout);
symbian: CONFIG += qt_example
wince50standard-x86-msvc2005: LIBS += libcmt.lib corelibc.lib ole32.lib oleaut32.lib uuid.lib commctrl.lib coredll.lib winsock.lib ws2.lib
+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)
wizard.addPage(createConclusionPage());
wizard.setWindowTitle("Trivial Wizard");
+#ifdef Q_OS_SYMBIAN
+ wizard.showMaximized();
+#else
wizard.show();
+#endif
return app.exec();
}
INSTALLS += target sources
symbian: CONFIG += qt_example
+maemo5: CONFIG += qt_example
+symbian: warning(This example might not fully work on Symbian platform)
+simulator: warning(This example might not fully work on Simulator platform)
TARGET.UID3 = 0xA000C615
CONFIG += qt_example
}
+maemo5: include($$QT_SOURCE_TREE/examples/maemo5pkgrules.pri)
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);
}
mainWidget.setLayout(horizontalLayout);
mainWidget.setWindowTitle(QObject::tr("Draggable Icons"));
+#ifdef Q_OS_SYMBIAN
+ mainWidget.showMaximized();
+#else
mainWidget.show();
+#endif
return app.exec();
}
TARGET.UID3 = 0xA000CF64
CONFIG += qt_example
}
+maemo5: include($$QT_SOURCE_TREE/examples/maemo5pkgrules.pri)
+simulator: warning(This example might not fully work on Simulator platform)
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));
QApplication app(argc, argv);
DragWidget window;
+#ifdef Q_OS_SYMBIAN
+ window.showMaximized();
+#else
window.show();
+#endif
return app.exec();
}
INSTALLS += target sources
symbian: CONFIG += qt_example
+maemo5: CONFIG += qt_example
+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)
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;
}
CONFIG += qt_example
}
-
+maemo5: include($$QT_SOURCE_TREE/examples/maemo5pkgrules.pri)
#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();
}
QApplication app(argc, argv);
MainWindow window;
window.openImage(":/images/example.jpg");
+#ifdef Q_OS_SYMBIAN
+ window.showMaximized();
+#else
window.show();
+#endif
return app.exec();
}
{
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));
}
}
{
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);
#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);
Q_OBJECT
public:
- PiecesList(QWidget *parent = 0);
+ PiecesList(int pieceSize, QWidget *parent = 0);
void addPiece(QPixmap pixmap, QPoint location);
protected:
void dragMoveEvent(QDragMoveEvent *event);
void dropEvent(QDropEvent *event);
void startDrag(Qt::DropActions supportedActions);
+
+ int m_PieceSize;
};
#endif
addFile.path = .
DEPLOYMENT += addFile
}
+maemo5: include($$QT_SOURCE_TREE/examples/maemo5pkgrules.pri)
#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()
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();
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);
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++;
}
}
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;
}
Q_OBJECT
public:
- PuzzleWidget(QWidget *parent = 0);
+ PuzzleWidget(int imageSize, QWidget *parent = 0);
void clear();
+ int pieceSize() const;
+ int imageSize() const;
+
signals:
void puzzleCompleted();
QList<QPoint> pieceLocations;
QRect highlightedRect;
int inPlace;
+ int m_ImageSize;
};
#endif
break;
}
if (m_animation.state() == QAbstractAnimation::Stopped && delta) {
- m_animation.setEndValue(m_index + delta);
- m_animation.start();
- event->accept();
+ m_animation.setEndValue(m_index + delta);
+ m_animation.start();
+ event->accept();
+ }
+}
+
+void BlurPicker::resizeEvent(QResizeEvent */*event*/)
+{
+#if defined(Q_WS_S60) || defined(Q_WS_MAEMO_5) || defined(Q_WS_SIMULATOR)
+ fitInView(sceneRect(), Qt::KeepAspectRatio);
+#endif
+}
+
+void BlurPicker::mousePressEvent(QMouseEvent *event)
+{
+ int delta = 0;
+ if(event->x() > (width() / 2))
+ {
+ delta = 1;
+ }
+ else
+ {
+ delta = -1;
+ }
+
+ if (m_animation.state() == QAbstractAnimation::Stopped && delta) {
+ m_animation.setEndValue(m_index + delta);
+ m_animation.start();
+ event->accept();
}
}
protected:
void keyPressEvent(QKeyEvent *event);
+ void resizeEvent(QResizeEvent *event);
+ void mousePressEvent(QMouseEvent *event);
private:
void setupScene();
sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS blurpicker.pro
sources.path = $$[QT_INSTALL_EXAMPLES]/qtbase/effects/blurpicker
INSTALLS += target sources
+
+symbian: include($$QT_SOURCE_TREE/examples/symbianpkgrules.pri)
+maemo5: include($$QT_SOURCE_TREE/examples/maemo5pkgrules.pri)
BlurPicker blurPicker;
blurPicker.setWindowTitle(QT_TRANSLATE_NOOP(QGraphicsView, "Application Picker"));
+
+#if defined(Q_WS_S60) || defined(Q_WS_MAEMO_5) || defined(Q_WS_SIMULATOR)
+ blurPicker.showMaximized();
+#else
blurPicker.setFixedSize(400, 300);
blurPicker.show();
+#endif
return app.exec();
}
m_animation->setStartValue(0);
m_animation->setEndValue(1);
-
setRenderHint(QPainter::Antialiasing, true);
setFrameStyle(QFrame::NoFrame);
}
void FadeMessage::setupScene()
{
- QGraphicsRectItem *parent = m_scene.addRect(0, 0, 400, 600);
+ QGraphicsRectItem *parent = m_scene.addRect(0, 0, 800, 600);
parent->setPen(Qt::NoPen);
parent->setZValue(0);
for (int i = 1; i < 5; ++i)
for (int j = 2; j < 5; ++j) {
- QGraphicsRectItem *item = m_scene.addRect(i * 50, j * 50, 38, 38);
+ QGraphicsRectItem *item = m_scene.addRect(i * 50, (j - 1) * 50, 38, 38);
item->setParentItem(parent);
item->setZValue(1);
int hue = 12 * (i * 5 + j);
press->setText(tr("Press me"));
connect(press, SIGNAL(clicked()), SLOT(togglePopup()));
m_scene.addWidget(press);
+
+#if defined(Q_WS_S60) || defined(Q_WS_MAEMO_5)
+ press->move(200, 210);
+#else
press->move(300, 500);
+#endif
}
-
fademessage.pro
sources.path = $$[QT_INSTALL_EXAMPLES]/qtbase/effects/fademessage
-DEPLOYMENT_PLUGIN += qjpeg
+symbian: 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)
FadeMessage widget;
widget.setWindowTitle(QT_TRANSLATE_NOOP(QGraphicsView, "Popup Message with Effect"));
+#if defined(Q_WS_S60) || defined(Q_WS_MAEMO_5)
+ widget.showMaximized();
+#else
widget.setFixedSize(400, 600);
widget.show();
+#endif
return app.exec();
}
m_scene.update();
}
+void Lighting::resizeEvent(QResizeEvent */*event*/)
+{
+#if defined(Q_OS_SYMBIAN) || defined(Q_WS_MAEMO_5) || defined(Q_WS_SIMULATOR)
+ fitInView(sceneRect(), Qt::KeepAspectRatio);
+#endif
+}
private:
void setupScene();
+protected:
+ void resizeEvent(QResizeEvent *event);
+
private:
qreal angle;
QGraphicsScene m_scene;
sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS lighting.pro
sources.path = $$[QT_INSTALL_EXAMPLES]/qtbase/effects/lighting
INSTALLS += target sources
+
+symbian: include($$QT_SOURCE_TREE/examples/symbianpkgrules.pri)
+maemo5: include($$QT_SOURCE_TREE/examples/maemo5pkgrules.pri)
+
Lighting lighting;
lighting.setWindowTitle(QT_TRANSLATE_NOOP(QGraphicsView, "Lighting and Shadows"));
+
+#if defined(Q_OS_SYMBIAN) || defined(Q_WS_MAEMO_5) || defined(Q_WS_SIMULATOR)
+ lighting.showMaximized();
+#else
lighting.resize(640, 480);
lighting.show();
+#endif
return app.exec();
}
INSTALLS += sources
symbian: CONFIG += qt_example
+maemo5: CONFIG += qt_example
TARGET.UID3 = 0xA000D7D0
CONFIG += qt_example
}
+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)
INSTALLS += target sources
TARGET = anchorlayout
+
+symbian: 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)
scene.addItem(w);
scene.setBackgroundBrush(Qt::darkGreen);
QGraphicsView view(&scene);
+
+#if defined(Q_WS_S60)
+ view.showMaximized();
+#else
view.show();
+#endif
return app.exec();
}
TARGET.UID3 = 0xA000A645
CONFIG += qt_example
}
+maemo5: include($$QT_SOURCE_TREE/examples/maemo5pkgrules.pri)
+simulator: warning(This example might not fully work on Simulator platform)
Window *window = new Window;
scene.addItem(window);
QGraphicsView view(&scene);
+#if defined(Q_WS_S60) || defined(Q_WS_MAEMO_5) || defined(Q_WS_SIMULATOR)
+ view.showMaximized();
+#else
view.resize(600, 600);
view.show();
+#endif
return app.exec();
}
TARGET.UID3 = 0xA000A643
CONFIG += qt_example
}
+maemo5: include($$QT_SOURCE_TREE/examples/maemo5pkgrules.pri)
+simulator: warning(This example might not fully work on Simulator platform)
view.setDragMode(QGraphicsView::ScrollHandDrag);
//! [5] //! [6]
view.setWindowTitle(QT_TRANSLATE_NOOP(QGraphicsView, "Colliding Mice"));
+#if defined(Q_WS_S60) || defined(Q_WS_MAEMO_5) || defined(Q_WS_SIMULATOR)
+ view.showMaximized();
+#else
view.resize(400, 300);
view.show();
+#endif
QTimer timer;
QObject::connect(&timer, SIGNAL(timeout()), &scene, SLOT(advance()));
INSTALLS += target sources
symbian: CONFIG += qt_example
+maemo5: CONFIG += qt_example
+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)
INSTALLS += target sources
symbian: CONFIG += qt_example
+maemo5: CONFIG += qt_example
+
+simulator: warning(This example might not fully work on Simulator platform)
#include <math.h>
+class GraphicsView : public QGraphicsView
+{
+public:
+ GraphicsView(QGraphicsScene *scene) : QGraphicsView(scene)
+ {
+ }
+
+protected:
+ virtual void resizeEvent(QResizeEvent *event)
+ {
+#if defined(Q_OS_SYMBIAN)
+ fitInView(sceneRect(), Qt::KeepAspectRatio);
+#endif
+ }
+};
+
//! [0]
int main(int argc, char **argv)
{
scene.addItem(robot);
//! [1]
//! [2]
- QGraphicsView view(&scene);
+ GraphicsView view(&scene);
view.setRenderHint(QPainter::Antialiasing);
view.setViewportUpdateMode(QGraphicsView::BoundingRectViewportUpdate);
view.setBackgroundBrush(QColor(230, 200, 167));
view.setWindowTitle("Drag and Drop Robot");
- view.show();
+#if defined(Q_OS_SYMBIAN)
+ view.showMaximized();
+#else
+ view.show();
+#endif
return app.exec();
}
painter->setBrush(Qt::black);
painter->drawPolygon(QPolygonF() << line.p1() << sourceArrowP1 << sourceArrowP2);
- painter->drawPolygon(QPolygonF() << line.p2() << destArrowP1 << destArrowP2);
+ painter->drawPolygon(QPolygonF() << line.p2() << destArrowP1 << destArrowP2);
}
//! [6]
TARGET.UID3 = 0xA000A642
CONFIG += qt_example
}
+maemo5: include($$QT_SOURCE_TREE/examples/maemo5pkgrules.pri)
+
+simulator: warning(This example might not fully work on Simulator platform)
centerNode->moveBy(20, 0);
break;
case Qt::Key_Plus:
- scaleView(qreal(1.2));
+ zoomIn();
break;
case Qt::Key_Minus:
- scaleView(1 / qreal(1.2));
+ zoomOut();
break;
case Qt::Key_Space:
case Qt::Key_Enter:
- foreach (QGraphicsItem *item, scene()->items()) {
- if (qgraphicsitem_cast<Node *>(item))
- item->setPos(-150 + qrand() % 300, -150 + qrand() % 300);
- }
+ shuffle();
break;
default:
QGraphicsView::keyPressEvent(event);
painter->setBrush(Qt::NoBrush);
painter->drawRect(sceneRect);
+#if !defined(Q_OS_SYMBIAN) && !defined(Q_WS_MAEMO_5)
// Text
QRectF textRect(sceneRect.left() + 4, sceneRect.top() + 4,
sceneRect.width() - 4, sceneRect.height() - 4);
painter->drawText(textRect.translated(2, 2), message);
painter->setPen(Qt::black);
painter->drawText(textRect, message);
+#endif
}
//! [6]
scale(scaleFactor, scaleFactor);
}
//! [7]
+
+void GraphWidget::shuffle()
+{
+ foreach (QGraphicsItem *item, scene()->items()) {
+ if (qgraphicsitem_cast<Node *>(item))
+ item->setPos(-150 + qrand() % 300, -150 + qrand() % 300);
+ }
+}
+
+void GraphWidget::zoomIn()
+{
+ scaleView(qreal(1.2));
+}
+
+void GraphWidget::zoomOut()
+{
+ scaleView(1 / qreal(1.2));
+}
void itemMoved();
+public slots:
+ void shuffle();
+ void zoomIn();
+ void zoomOut();
+
protected:
void keyPressEvent(QKeyEvent *event);
void timerEvent(QTimerEvent *event);
QApplication app(argc, argv);
qsrand(QTime(0,0,0).secsTo(QTime::currentTime()));
- GraphWidget widget;
- widget.show();
+ GraphWidget *widget = new GraphWidget;
+
+ QMainWindow mainWindow;
+ mainWindow.setCentralWidget(widget);
+
+#if defined(Q_OS_SYMBIAN) || defined(Q_WS_MAEMO_5)
+ mainWindow.menuBar()->addAction("Shuffle", widget, SLOT(shuffle()));
+ mainWindow.menuBar()->addAction("Zoom In", widget, SLOT(zoomIn()));
+ mainWindow.menuBar()->addAction("Zoom Out", widget, SLOT(zoomOut()));
+ mainWindow.showMaximized();
+#else
+ mainWindow.show();
+#endif
return app.exec();
}
//! [8]
QRectF Node::boundingRect() const
{
+#if defined(Q_OS_SYMBIAN) || defined(Q_WS_MAEMO_5)
+ // Add some extra space around the circle for easier touching with finger
+ qreal adjust = 30;
+ return QRectF( -10 - adjust, -10 - adjust,
+ 20 + adjust * 2, 20 + adjust * 2);
+#else
qreal adjust = 2;
- return QRectF(-10 - adjust, -10 - adjust,
+ return QRectF( -10 - adjust, -10 - adjust,
23 + adjust, 23 + adjust);
+#endif
}
//! [8]
QPainterPath Node::shape() const
{
QPainterPath path;
+#if defined(Q_OS_SYMBIAN) || defined(Q_WS_MAEMO_5)
+ // Add some extra space around the circle for easier touching with finger
+ path.addEllipse( -40, -40, 80, 80);
+#else
path.addEllipse(-10, -10, 20, 20);
+#endif
return path;
}
//! [9]
gradient.setColorAt(1, Qt::darkYellow);
}
painter->setBrush(gradient);
+
painter->setPen(QPen(Qt::black, 0));
painter->drawEllipse(-10, -10, 20, 20);
}
TEMPLATE = app
-TARGET =
DEPENDPATH += .
INCLUDEPATH += .
# Input
HEADERS += flowlayout.h window.h
SOURCES += flowlayout.cpp main.cpp window.cpp
+
+symbian: 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)
QGraphicsView *view = new QGraphicsView(&scene);
Window *w = new Window;
scene.addItem(w);
+
+#if defined(Q_OS_SYMBIAN)
+ view->showMaximized();
+#else
view->resize(400, 300);
view->show();
+#endif
+
return app.exec();
}
INSTALLS += target sources
symbian: CONFIG += qt_example
+maemo5: CONFIG += qt_example
Q_INIT_RESOURCE(padnavigator);
PadNavigator navigator(QSize(3, 3));
+#if defined(Q_OS_SYMBIAN)
+ navigator.showMaximized();
+#else
navigator.show();
-
+#endif
return app.exec();
}
//! [0]
TARGET.UID3 = 0xA000A644
CONFIG += qt_example
}
+maemo5: include($$QT_SOURCE_TREE/examples/maemo5pkgrules.pri)
+
+simulator: warning(This example might not fully work on Simulator platform)
QGraphicsView *view = new QGraphicsView();
view->setScene(scene);
view->setWindowTitle(QApplication::translate("simpleanchorlayout", "Simple Anchor Layout"));
+
+#if defined(Q_OS_SYMBIAN)
+ view->showMaximized();
+#elif defined(Q_WS_MAEMO_5)
+ view-show();
+#else
view->resize(360, 320);
view->show();
+#endif
return app.exec();
}
INSTALLS += target sources
TARGET = simpleanchorlayout
+
+symbian: 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)
#include <QGraphicsSceneResizeEvent>
+class GraphicsView : public QGraphicsView
+{
+public:
+ GraphicsView(QGraphicsScene *scene, QGraphicsWidget *widget) : QGraphicsView(scene), w(widget)
+ {
+ }
+
+ virtual void resizeEvent(QResizeEvent *event)
+ {
+ w->setGeometry(0, 0, event->size().width(), event->size().height());
+ }
+
+ QGraphicsWidget *w;
+};
+
class PixmapWidget : public QGraphicsLayoutItem
{
QApplication app(argc, argv);
QGraphicsScene scene;
+#if defined(Q_OS_SYMBIAN)
+#else
scene.setSceneRect(0, 0, 800, 480);
+#endif
// pixmaps widgets
PixmapWidget *title = new PixmapWidget(QPixmap(":/images/title.jpg"));
// QGV setup
scene.addItem(w);
scene.setBackgroundBrush(Qt::white);
+#if defined(Q_OS_SYMBIAN)
+ GraphicsView *view = new GraphicsView(&scene, w);
+ view->showMaximized();
+#else
QGraphicsView *view = new QGraphicsView(&scene);
view->show();
+#endif
return app.exec();
}
sources.path = $$[QT_INSTALL_EXAMPLES]/qtbase/graphicsview/weatheranchorlayout
INSTALLS += target sources
+symbian: 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)
INSTALLS += sources
symbian: CONFIG += qt_example
+maemo5: CONFIG += qt_example
#include "client.h"
Client::Client(QWidget *parent)
+#ifdef Q_WS_MAEMO_5
+ : QWidget(parent)
+#else
: QDialog(parent)
+#endif
{
hostLabel = new QLabel(tr("&Server name:"));
hostLineEdit = new QLineEdit("fortune");
statusLabel = new QLabel(tr("This examples requires that you run the "
"Fortune Server example as well."));
+ statusLabel->setWordWrap(true);
getFortuneButton = new QPushButton(tr("Get Fortune"));
getFortuneButton->setDefault(true);
#ifndef CLIENT_H
#define CLIENT_H
+#ifdef Q_WS_MAEMO_5
+#include <QWidget>
+#else
#include <QDialog>
+#endif
+
#include <qlocalsocket.h>
QT_BEGIN_NAMESPACE
class QLocalSocket;
QT_END_NAMESPACE
+#ifdef Q_WS_MAEMO_5
+class Client : public QWidget
+#else
class Client : public QDialog
+#endif
{
Q_OBJECT
INSTALLS += target sources
symbian: CONFIG += qt_example
+maemo5: CONFIG += qt_example
-
+symbian: 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)
{
QApplication app(argc, argv);
Client client;
+#if defined(Q_WS_S60)
+ client.showMaximized();
+#else
client.show();
- return client.exec();
+#endif
+ return app.exec();
}
INSTALLS += target sources
symbian: CONFIG += qt_example
+maemo5: CONFIG += qt_example
-
+simulator: warning(This example might not fully work on Simulator platform)
{
QApplication app(argc, argv);
Server server;
+#if defined(Q_WS_S60)
+ server.showMaximized();
+#else
server.show();
+#endif
qsrand(QTime(0,0,0).secsTo(QTime::currentTime()));
- return server.exec();
+ return app.exec();
}
#include <qlocalsocket.h>
Server::Server(QWidget *parent)
+#ifdef Q_WS_MAEMO_5
+ : QWidget(parent)
+#else
: QDialog(parent)
+#endif
{
statusLabel = new QLabel;
+ statusLabel->setWordWrap(true);
quitButton = new QPushButton(tr("Quit"));
quitButton->setAutoDefault(false);
#ifndef SERVER_H
#define SERVER_H
+#ifdef Q_WS_MAEMO_5
+#include <QWidget>
+#else
#include <QDialog>
+#endif
QT_BEGIN_NAMESPACE
class QLabel;
class QLocalServer;
QT_END_NAMESPACE
+#ifdef Q_WS_MAEMO_5
+class Server : public QWidget
+#else
class Server : public QDialog
+#endif
{
Q_OBJECT
INSTALLS += target sources
symbian: CONFIG += qt_example
+maemo5: CONFIG += qt_example
+
+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)
TARGET.UID3 = 0xA000A646
CONFIG += qt_example
}
+maemo5: include($$QT_SOURCE_TREE/examples/maemo5pkgrules.pri)
+
{
QApplication app(argc, argv);
MainWindow mw;
+#if defined(Q_OS_SYMBIAN)
+ mw.showMaximized();
+#else
mw.show();
+#endif
return app.exec();
}
//! [0]
INSTALLS += target sources
symbian: CONFIG += qt_example
+maemo5: CONFIG += qt_example
QApplication app(argc, argv);
Window window;
window.setSourceModel(createMailModel(&window));
+#if defined(Q_OS_SYMBIAN)
+ window.showMaximized();
+#else
window.show();
+#endif
return app.exec();
}
proxyModel = new QSortFilterProxyModel;
proxyModel->setDynamicSortFilter(true);
- sourceGroupBox = new QGroupBox(tr("Original Model"));
- proxyGroupBox = new QGroupBox(tr("Sorted/Filtered Model"));
-
sourceView = new QTreeView;
sourceView->setRootIsDecorated(false);
sourceView->setAlternatingRowColors(true);
connect(sortCaseSensitivityCheckBox, SIGNAL(toggled(bool)),
this, SLOT(sortChanged()));
+#if defined(Q_OS_SYMBIAN) || defined(Q_WS_MAEMO_5) || defined(Q_WS_SIMULATOR)
+ sourceWidget = new QWidget;
+ filterWidget = new QWidget;
+ proxyWidget = new QWidget;
+
+ QHBoxLayout *sourceLayout = new QHBoxLayout;
+ sourceLayout->addWidget(sourceView);
+ sourceWidget->setLayout(sourceLayout);
+
+ QGridLayout *filterLayout = new QGridLayout;
+ filterLayout->addWidget(filterPatternLabel, 1, 0);
+ filterLayout->addWidget(filterPatternLineEdit, 1, 1, 1, 2);
+ filterLayout->addWidget(filterSyntaxLabel, 2, 0);
+ filterLayout->addWidget(filterSyntaxComboBox, 2, 1, 1, 2);
+ filterLayout->addWidget(filterColumnLabel, 3, 0);
+ filterLayout->addWidget(filterColumnComboBox, 3, 1, 1, 2);
+ filterLayout->addWidget(filterCaseSensitivityCheckBox, 4, 0, 1, 2);
+ filterLayout->addWidget(sortCaseSensitivityCheckBox, 4, 2);
+ filterWidget->setLayout(filterLayout);
+
+ QHBoxLayout *proxyLayout = new QHBoxLayout;
+ proxyLayout->addWidget(proxyView);
+ proxyWidget->setLayout(proxyLayout);
+
+ QVBoxLayout *mainLayout = new QVBoxLayout;
+
+ QTabWidget *tabWidget = new QTabWidget;
+ tabWidget->addTab(sourceWidget, "Source");
+ tabWidget->addTab(filterWidget, "Filters");
+ tabWidget->addTab(proxyWidget, "Proxy");
+ mainLayout->addWidget(tabWidget);
+#else
+ sourceGroupBox = new QGroupBox(tr("Original Model"));
+ proxyGroupBox = new QGroupBox(tr("Sorted/Filtered Model"));
+
QHBoxLayout *sourceLayout = new QHBoxLayout;
sourceLayout->addWidget(sourceView);
sourceGroupBox->setLayout(sourceLayout);
proxyGroupBox->setLayout(proxyLayout);
QVBoxLayout *mainLayout = new QVBoxLayout;
+
mainLayout->addWidget(sourceGroupBox);
mainLayout->addWidget(proxyGroupBox);
+#endif
+
setLayout(mainLayout);
setWindowTitle(tr("Basic Sort/Filter Model"));
private:
QSortFilterProxyModel *proxyModel;
+#if defined(Q_OS_SYMBIAN) || defined(Q_WS_MAEMO_5) || defined(Q_WS_SIMULATOR)
+ QWidget *sourceWidget;
+ QWidget *filterWidget;
+ QWidget *proxyWidget;
+#else
QGroupBox *sourceGroupBox;
QGroupBox *proxyGroupBox;
+#endif
QTreeView *sourceView;
QTreeView *proxyView;
QCheckBox *filterCaseSensitivityCheckBox;
TARGET.UID3 = 0xA000A647
CONFIG += qt_example
}
+maemo5: include($$QT_SOURCE_TREE/examples/maemo5pkgrules.pri)
+
QApplication app(argc, argv);
MainWindow window;
+#if defined(Q_OS_SYMBIAN)
+ window.showMaximized();
+#else
window.show();
+#endif
return app.exec();
}
INSTALLS += target sources
symbian: CONFIG += qt_example
+maemo5: CONFIG += qt_example
+
+symbian: warning(This example might not fully work on Symbian platform)
+maemo5: warning(This example might not fully work on Maemo platform)
QApplication app(argv, args);
Window window;
+#if defined(Q_OS_SYMBIAN)
+ window.showMaximized();
+#else
window.show();
+#endif
return app.exec();
}
sources.files = $$SOURCES $$HEADERS *.pro
sources.path = $$[QT_INSTALL_EXAMPLES]/qtbase/itemviews/combowidgetmapper
INSTALLS += target sources
+
+symbian: include($$QT_SOURCE_TREE/examples/symbianpkgrules.pri)
+maemo5: include($$QT_SOURCE_TREE/examples/maemo5pkgrules.pri)
{
QApplication app(argc, argv);
Window window;
+#if defined(Q_OS_SYMBIAN)
+ window.showMaximized();
+#else
window.show();
+#endif
return app.exec();
}
INSTALLS += target sources
symbian: CONFIG += qt_example
+maemo5: CONFIG += qt_example
QApplication app(argc, argv);
Window window;
window.setSourceModel(createMailModel(&window));
+#if defined(Q_OS_SYMBIAN)
+ window.showMaximized();
+#else
window.show();
+#endif
return app.exec();
}
//! [0]
{
proxyModel = new MySortFilterProxyModel(this);
proxyModel->setDynamicSortFilter(true);
-//! [0]
+ //! [0]
-//! [1]
+ //! [1]
sourceView = new QTreeView;
sourceView->setRootIsDecorated(false);
sourceView->setAlternatingRowColors(true);
-//! [1]
+ //! [1]
QHBoxLayout *sourceLayout = new QHBoxLayout;
-//! [2]
+ //! [2]
sourceLayout->addWidget(sourceView);
+#if defined(Q_OS_SYMBIAN) || defined(Q_WS_MAEMO_5) || defined(Q_WS_SIMULATOR)
+ sourceWidget = new QWidget;
+ sourceWidget->setLayout(sourceLayout);
+#else
sourceGroupBox = new QGroupBox(tr("Original Model"));
sourceGroupBox->setLayout(sourceLayout);
-//! [2]
+#endif
+ //! [2]
-//! [3]
+ //! [3]
filterCaseSensitivityCheckBox = new QCheckBox(tr("Case sensitive filter"));
filterCaseSensitivityCheckBox->setChecked(true);
connect(fromDateEdit, SIGNAL(dateChanged(QDate)),
this, SLOT(dateFilterChanged()));
connect(toDateEdit, SIGNAL(dateChanged(QDate)),
-//! [3] //! [4]
+ //! [3] //! [4]
this, SLOT(dateFilterChanged()));
-//! [4]
+ //! [4]
-//! [5]
+ //! [5]
proxyView = new QTreeView;
proxyView->setRootIsDecorated(false);
proxyView->setAlternatingRowColors(true);
proxyView->setSortingEnabled(true);
proxyView->sortByColumn(1, Qt::AscendingOrder);
+#if defined(Q_OS_SYMBIAN) || defined(Q_WS_MAEMO_5) || defined(Q_WS_SIMULATOR)
+ QGridLayout *filterLayout = new QGridLayout;
+ filterLayout->addWidget(filterPatternLabel, 0, 0);
+ filterLayout->addWidget(filterPatternLineEdit, 0, 1);
+ filterLayout->addWidget(filterSyntaxComboBox, 0, 2);
+ filterLayout->addWidget(filterCaseSensitivityCheckBox, 1, 0, 1, 3);
+ filterLayout->addWidget(fromLabel, 2, 0);
+ filterLayout->addWidget(fromDateEdit, 2, 1, 1, 2);
+ filterLayout->addWidget(toLabel, 3, 0);
+ filterLayout->addWidget(toDateEdit, 3, 1, 1, 2);
+
+ filterWidget = new QWidget;
+ filterWidget->setLayout(filterLayout);
+
+ QHBoxLayout *proxyLayout = new QHBoxLayout;
+ proxyLayout->addWidget(proxyView);
+
+ proxyWidget = new QWidget;
+ proxyWidget->setLayout(proxyLayout);
+#else
QGridLayout *proxyLayout = new QGridLayout;
proxyLayout->addWidget(proxyView, 0, 0, 1, 3);
proxyLayout->addWidget(filterPatternLabel, 1, 0);
proxyGroupBox = new QGroupBox(tr("Sorted/Filtered Model"));
proxyGroupBox->setLayout(proxyLayout);
-//! [5]
+#endif
+ //! [5]
-//! [6]
+ //! [6]
+#if defined(Q_OS_SYMBIAN) || defined(Q_WS_MAEMO_5) || defined(Q_WS_SIMULATOR)
+ QTabWidget *tabWidget = new QTabWidget;
+ tabWidget->addTab(sourceWidget, "Original");
+ tabWidget->addTab(filterWidget, "Filters");
+ tabWidget->addTab(proxyWidget, "Sorted");
+
+ QVBoxLayout *mainLayout = new QVBoxLayout;
+ mainLayout->addWidget(tabWidget);
+ setLayout(mainLayout);
+ setWindowTitle(tr("Custom Model"));
+#else
QVBoxLayout *mainLayout = new QVBoxLayout;
mainLayout->addWidget(sourceGroupBox);
mainLayout->addWidget(proxyGroupBox);
setWindowTitle(tr("Custom Sort/Filter Model"));
resize(500, 450);
+#endif
}
//! [6]
filterSyntaxComboBox->currentIndex()).toInt());
Qt::CaseSensitivity caseSensitivity =
filterCaseSensitivityCheckBox->isChecked() ? Qt::CaseSensitive
- : Qt::CaseInsensitive;
+ : Qt::CaseInsensitive;
QRegExp regExp(filterPatternLineEdit->text(), caseSensitivity, syntax);
proxyModel->setFilterRegExp(regExp);
private:
MySortFilterProxyModel *proxyModel;
+#if defined(Q_OS_SYMBIAN) || defined(Q_WS_MAEMO_5 ) || defined(Q_WS_SIMULATOR)
+ QWidget *sourceWidget;
+ QWidget *filterWidget;
+ QWidget *proxyWidget;
+#else
QGroupBox *sourceGroupBox;
QGroupBox *proxyGroupBox;
+#endif
QTreeView *sourceView;
QTreeView *proxyView;
QCheckBox *filterCaseSensitivityCheckBox;
INSTALLS += target sources
symbian: CONFIG += qt_example
+maemo5: CONFIG += qt_example
tree.setSortingEnabled(true);
tree.setWindowTitle(QObject::tr("Dir View"));
+#if defined(Q_OS_SYMBIAN) || defined(Q_WS_MAEMO_5)
+ tree.showMaximized();
+#else
tree.resize(640, 480);
tree.show();
+#endif
return app.exec();
}
INSTALLS += target sources
symbian: CONFIG += qt_example
+maemo5: CONFIG += qt_example
QApplication app(argc, argv);
MainWindow window;
+#if defined(Q_OS_SYMBIAN)
+ window.showMaximized();
+#else
window.show();
+#endif
return app.exec();
}
{
setupUi(this);
+#ifdef Q_WS_MAEMO_5
+ // Alternating row colors look bad on Maemo
+ view->setAlternatingRowColors(false);
+#endif
+
QStringList headers;
headers << tr("Title") << tr("Description");
sources.path = $$[QT_INSTALL_EXAMPLES]/qtbase/itemviews/fetchmore
INSTALLS += target sources
+symbian: include($$QT_SOURCE_TREE/examples/symbianpkgrules.pri)
+maemo5: include($$QT_SOURCE_TREE/examples/maemo5pkgrules.pri)
{
QApplication app(argc, argv);
Window window;
+#if defined(Q_OS_SYMBIAN)
+ window.showMaximized();
+#else
window.show();
+#endif
return app.exec();
}
sources.files = $$SOURCES $$HEADERS $$RESOURCES *.pro
sources.path = $$[QT_INSTALL_EXAMPLES]/qtbase/itemviews/frozencolumn
INSTALLS += target sources
+
+symbian: include($$QT_SOURCE_TREE/examples/symbianpkgrules.pri)
+maemo5: include($$QT_SOURCE_TREE/examples/maemo5pkgrules.pri)
FreezeTableWidget *tableView = new FreezeTableWidget(model);
tableView->setWindowTitle(QObject::tr("Frozen Column Example"));
+#if defined(Q_OS_SYMBIAN)
+ tableView->showMaximized();
+#elif defined(Q_WS_MAEMO_5)
+ tableView->show();
+#else
tableView->resize(560,680);
tableView->show();
+#endif
return app.exec();
}
SUBDIRS = addressbook \
basicsortfiltermodel \
chart \
- coloreditorfactory \
combowidgetmapper \
customsortfiltermodel \
dirview \
simpledommodel \
simpletreemodel \
simplewidgetmapper \
- spinboxdelegate \
- stardelegate
-
-symbian: SUBDIRS = \
- addressbook \
- chart
+ spinboxdelegate
# install
sources.files = README *.pro
INSTALLS += sources
symbian: CONFIG += qt_example
+maemo5: CONFIG += qt_example
QApplication app(argc, argv);
MainWindow window;
+#if defined(Q_OS_SYMBIAN)
+ window.showMaximized();
+#else
window.show();
+#endif
window.openImage(":/images/qt.png");
return app.exec();
}
INSTALLS += target sources
symbian: CONFIG += qt_example
+maemo5: CONFIG += qt_example
painter->setBrush(option.palette.highlightedText());
else
//! [2]
- painter->setBrush(QBrush(Qt::black));
+ painter->setBrush(option.palette.text());
//! [9]
//! [10]
QApplication app(argc, argv);
MainWindow window;
window.openImage(":/images/example.jpg");
+#if defined(Q_OS_SYMBIAN)
+ window.showMaximized();
+#else
window.show();
+#endif
return app.exec();
}
{
setupMenus();
setupWidgets();
- model = new PiecesModel(this);
+ model = new PiecesModel(puzzleWidget->pieceSize(), this);
piecesList->setModel(model);
setSizePolicy(QSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed));
{
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->imageSize(),
+ puzzleWidget->imageSize(), Qt::IgnoreAspectRatio, Qt::SmoothTransformation);
qsrand(QCursor::pos().x() ^ QCursor::pos().y());
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 QListView;
piecesList->setDragEnabled(true);
piecesList->setViewMode(QListView::IconMode);
- piecesList->setIconSize(QSize(60, 60));
- piecesList->setGridSize(QSize(80, 80));
+ piecesList->setIconSize(QSize(puzzleWidget->pieceSize() - 20, puzzleWidget->pieceSize() - 20));
+ piecesList->setGridSize(QSize(puzzleWidget->pieceSize(), puzzleWidget->pieceSize()));
piecesList->setSpacing(10);
piecesList->setMovement(QListView::Snap);
piecesList->setAcceptDrops(true);
piecesList->setDropIndicatorShown(true);
- PiecesModel *model = new PiecesModel(this);
+ PiecesModel *model = new PiecesModel(puzzleWidget->pieceSize(), this);
piecesList->setModel(model);
- puzzleWidget = new PuzzleWidget;
-
connect(puzzleWidget, SIGNAL(puzzleCompleted()),
this, SLOT(setCompleted()), Qt::QueuedConnection);
#include "piecesmodel.h"
-PiecesModel::PiecesModel(QObject *parent)
- : QAbstractListModel(parent)
+PiecesModel::PiecesModel(int pieceSize, QObject *parent)
+ : QAbstractListModel(parent), m_PieceSize(pieceSize)
{
}
return QVariant();
if (role == Qt::DecorationRole)
- return QIcon(pixmaps.value(index.row()).scaled(60, 60,
+ return QIcon(pixmaps.value(index.row()).scaled(m_PieceSize, m_PieceSize,
Qt::KeepAspectRatio, Qt::SmoothTransformation));
else if (role == Qt::UserRole)
return pixmaps.value(index.row());
endRemoveRows();
for (int y = 0; y < 5; ++y) {
for (int x = 0; x < 5; ++x) {
- QPixmap pieceImage = pixmap.copy(x*80, y*80, 80, 80);
+ QPixmap pieceImage = pixmap.copy(x*m_PieceSize, y*m_PieceSize, m_PieceSize, m_PieceSize);
addPiece(pieceImage, QPoint(x, y));
}
}
Q_OBJECT
public:
- PiecesModel(QObject *parent = 0);
+ PiecesModel(int pieceSize, QObject *parent = 0);
QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const;
Qt::ItemFlags flags(const QModelIndex &index) const;
private:
QList<QPoint> locations;
QList<QPixmap> pixmaps;
+
+ int m_PieceSize;
};
#endif
DEPLOYMENT_PLUGIN += qjpeg qgif qtiff
}
+maemo5: include($$QT_SOURCE_TREE/examples/maemo5pkgrules.pri)
+
#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()
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();
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);
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++;
}
}
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;
}
Q_OBJECT
public:
- PuzzleWidget(QWidget *parent = 0);
+ PuzzleWidget(int imageSize, QWidget *parent = 0);
void clear();
+ int pieceSize() const;
+ int imageSize() const;
+
signals:
void puzzleCompleted();
QList<QPoint> pieceLocations;
QRect highlightedRect;
int inPlace;
+ int m_ImageSize;
};
#endif
{
QApplication app(argc, argv);
MainWindow window;
+#if defined(Q_OS_SYMBIAN)
+ window.showMaximized();
+#elif defined(Q_WS_MAEMO_5)
+ window.show();
+#else
window.resize(640, 480);
window.show();
+#endif
return app.exec();
}
INSTALLS += target sources
symbian: CONFIG += qt_example
+maemo5: CONFIG += qt_example
QTreeView view;
view.setModel(&model);
view.setWindowTitle(QObject::tr("Simple Tree Model"));
+#if defined(Q_OS_SYMBIAN)
+ view.showMaximized();
+#else
view.show();
+#endif
return app.exec();
}
INSTALLS += target sources
symbian: CONFIG += qt_example
+maemo5: CONFIG += qt_example
{
QApplication app(argc, argv);
Window window;
+#if defined(Q_OS_SYMBIAN)
+ window.showMaximized();
+#else
window.show();
+#endif
return app.exec();
}
INSTALLS += target sources
symbian: CONFIG += qt_example
+maemo5: CONFIG += qt_example
//! [3]
tableView.setWindowTitle(QObject::tr("Spin Box Delegate"));
+#if defined(Q_OS_SYMBIAN)
+ tableView.showMaximized();
+#else
tableView.show();
+#endif
return app.exec();
}
//! [3]
INSTALLS += target sources
symbian: CONFIG += qt_example
+maemo5: CONFIG += qt_example
+
+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)
tableWidget.resizeColumnsToContents();
tableWidget.resize(500, 300);
+#if defined(Q_OS_SYMBIAN)
+ tableWidget.showMaximized();
+#else
tableWidget.show();
+#endif
return app.exec();
}
INSTALLS += target sources
symbian: CONFIG += qt_example
+maemo5: CONFIG += qt_example
+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)
INSTALLS += target sources
symbian: CONFIG += qt_example
+maemo5: CONFIG += qt_example
INSTALLS += target sources
symbian: CONFIG += qt_example
+maemo5: CONFIG += qt_example
+
+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)
{
QApplication app(argc, argv);
Dialog dialog;
- return dialog.exec();
+#if defined(Q_OS_SYMBIAN)
+ dialog.showMaximized();
+#else
+ dialog.show();
+#endif
+
+ return app.exec();
}
INSTALLS += target sources
symbian: CONFIG += qt_example
+maemo5: CONFIG += qt_example
{
QApplication app(argc, argv);
Window window;
+#if defined(Q_OS_SYMBIAN)
+ window.showMaximized();
+#else
window.show();
+#endif
return app.exec();
}
#include "dialog.h"
Dialog::Dialog(QWidget *parent)
+#if defined(Q_OS_SYMBIAN) || defined(Q_WS_MAEMO_5) || defined(Q_WS_SIMULATOR)
+ : QWidget(parent)
+#else
: QDialog(parent)
+#endif
{
createRotableGroupBox();
createOptionsGroupBox();
#ifndef DIALOG_H
#define DIALOG_H
+#include <QMainWindow>
#include <QDialog>
#include <QQueue>
class QPushButton;
QT_END_NAMESPACE
+#if defined(Q_OS_SYMBIAN) || defined(Q_WS_MAEMO_5) || defined(Q_WS_SIMULATOR)
+class Dialog : public QWidget
+#else
class Dialog : public QDialog
+#endif
{
Q_OBJECT
INSTALLS += target sources
symbian: CONFIG += qt_example
+maemo5: CONFIG += qt_example
+
+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)
{
QApplication app(argc, argv);
Dialog dialog;
- return dialog.exec();
+#if defined(Q_OS_SYMBIAN)
+ dialog.showMaximized();
+#else
+ dialog.show();
+#endif
+ return app.exec();
}
INSTALLS += target sources
symbian: CONFIG += qt_example
+maemo5: CONFIG += qt_example
{
QApplication app(argc, argv);
Window window;
+#if defined(Q_OS_SYMBIAN)
+ window.showMaximized();
+#else
window.show();
+#endif
return app.exec();
}
setWindowTitle(tr("Flow Layout"));
}
-//! [1]
\ No newline at end of file
+//! [1]
INSTALLS += sources
symbian: CONFIG += qt_example
+maemo5: CONFIG += qt_example
INSTALLS += target sources
symbian: CONFIG += qt_example
+maemo5: CONFIG += qt_example
+
+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)
INSTALLS += target sources
symbian: CONFIG += qt_example
+maemo5: CONFIG += qt_example
+
+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)
INSTALLS += sources
symbian: CONFIG += qt_example
+maemo5: CONFIG += qt_example
INSTALLS += target sources
symbian: CONFIG += qt_example
+maemo5: CONFIG += qt_example
+
+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)
INSTALLS += target sources
symbian: CONFIG += qt_example
+maemo5: CONFIG += qt_example
+
+symbian: warning(This example might not fully work on Symbian platform)
+simulator: warning(This example might not fully work on Simulator platform)
app.setOrganizationName("Trolltech");
app.setApplicationName("Application Example");
MainWindow mainWin;
+#if defined(Q_OS_SYMBIAN)
+ mainWin.showMaximized();
+#else
mainWin.show();
+#endif
return app.exec();
}
//! [0]
INSTALLS += target sources
symbian: CONFIG += qt_example
+maemo5: CONFIG += qt_example
+
+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)
TEMPLATE = subdirs
SUBDIRS = application \
- dockwidgets \
mdi \
menus \
recentfiles \
sdi
-symbian: SUBDIRS = \
- menus
-
-
# install
target.path = $$[QT_INSTALL_EXAMPLES]/qtbase/mainwindows
sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS mainwindows.pro README
INSTALLS += target sources
symbian: CONFIG += qt_example
+maemo5: CONFIG += qt_example
QApplication app(argc, argv);
MainWindow mainWin;
+#if defined(Q_OS_SYMBIAN)
+ mainWin.showMaximized();
+#else
mainWin.show();
+#endif
return app.exec();
}
INSTALLS += target sources
symbian: CONFIG += qt_example
+maemo5: CONFIG += qt_example
+
+symbian: warning(This example might not fully work on Symbian platform)
+simulator: warning(This example might not fully work on Simulator platform)
{
QApplication app(argc, argv);
MainWindow window;
+#if defined(Q_OS_SYMBIAN)
+ window.showMaximized();
+#else
window.show();
+#endif
return app.exec();
}
QWidget *topFiller = new QWidget;
topFiller->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
+#ifdef Q_OS_SYMBIAN
+ infoLabel = new QLabel(tr("<i>Choose a menu option</i>"));
+#else
infoLabel = new QLabel(tr("<i>Choose a menu option, or right-click to "
"invoke a context menu</i>"));
+#endif
infoLabel->setFrameStyle(QFrame::StyledPanel | QFrame::Sunken);
infoLabel->setAlignment(Qt::AlignCenter);
createActions();
createMenus();
+#ifndef Q_OS_SYMBIAN
QString message = tr("A context menu is available by right-clicking");
statusBar()->showMessage(message);
+#endif
setWindowTitle(tr("Menus"));
setMinimumSize(160, 160);
TARGET.UID3 = 0xA000CF66
CONFIG += qt_example
}
+maemo5: include($$QT_SOURCE_TREE/examples/maemo5pkgrules.pri)
+
+simulator: warning(This example might not fully work on Simulator platform)
app.setOrganizationName("Trolltech");
app.setApplicationName("Recent Files Example");
MainWindow *mainWin = new MainWindow;
+#if defined(Q_OS_SYMBIAN)
+ mainWin->showMaximized();
+#else
mainWin->show();
+#endif
return app.exec();
}
INSTALLS += target sources
symbian: CONFIG += qt_example
+maemo5: CONFIG += qt_example
+
+simulator: warning(This example might not fully work on Simulator platform)
app.setApplicationName("SDI Example");
app.setOrganizationName("Trolltech");
MainWindow *mainWin = new MainWindow;
+#if defined(Q_OS_SYMBIAN)
+ mainWin->showMaximized();
+#else
mainWin->show();
+#endif
return app.exec();
}
INSTALLS += target sources
symbian: CONFIG += qt_example
+maemo5: CONFIG += qt_example
+
+symbian: warning(This example might not fully work on Symbian platform)
+simulator: warning(This example might not fully work on Simulator platform)
delete tabWidget->currentWidget();
sessionGroup->hide();
#endif
-#if defined(Q_OS_SYMBIAN) || defined(Q_OS_WINCE) || defined(MAEMO_UI)
+#if defined(Q_OS_SYMBIAN) || defined(Q_OS_WINCE) || defined(MAEMO_UI) || defined(Q_WS_SIMULATOR)
setWindowState(Qt::WindowMaximized);
#endif
updateConfigurations();
this, SLOT(configurationChanged(const QNetworkConfiguration)));
connect(&manager, SIGNAL(updateCompleted()), this, SLOT(updateConfigurations()));
-#ifdef Q_OS_WIN
+#if defined(Q_OS_WIN)
connect(registerButton, SIGNAL(clicked()), this, SLOT(registerNetwork()));
connect(unregisterButton, SIGNAL(clicked()), this, SLOT(unregisterNetwork()));
#else
if (defaultConfiguration.type() == QNetworkConfiguration::ServiceNetwork)
updateSnapConfiguration(defaultItem, defaultConfiguration);
- } else if (defaultConfiguration.isValid()) {
+ } else {
configurationAdded(defaultConfiguration);
}
onlineState->setText(tr("Offline"));
}
-#ifdef Q_OS_WIN
+#if defined(Q_OS_WIN)
void BearerMonitor::registerNetwork()
{
QTreeWidgetItem *item = treeWidget->currentItem();
#include <qnetworkconfigmanager.h>
#include <qnetworksession.h>
-#if defined (Q_OS_SYMBIAN) || defined(Q_OS_WINCE)
+#if defined (Q_OS_SYMBIAN) || defined(Q_OS_WINCE) || defined(Q_WS_SIMULATOR)
#include "ui_bearermonitor_240_320.h"
#elif defined(MAEMO_UI)
#include "ui_bearermonitor_maemo.h"
void onlineStateChanged(bool isOnline);
-#ifdef Q_OS_WIN
+#if defined(Q_OS_WIN) || defined(Q_WS_SIMULATOR)
void registerNetwork();
void unregisterNetwork();
#endif
CONFIG += console
-symbian:TARGET.CAPABILITY = NetworkServices ReadUserData
+symbian: {
+ TARGET.CAPABILITY = NetworkServices ReadUserData
+ 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)
#include "blockingclient.h"
BlockingClient::BlockingClient(QWidget *parent)
- : QDialog(parent)
+ : QWidget(parent)
{
hostLabel = new QLabel(tr("&Server name:"));
portLabel = new QLabel(tr("S&erver port:"));
portLineEdit = new QLineEdit;
portLineEdit->setValidator(new QIntValidator(1, 65535, this));
+#if defined(Q_OS_SYMBIAN) || defined(Q_WS_MAEMO_5) || defined(Q_WS_SIMULATOR)
+ Qt::InputMethodHint hints = Qt::ImhDigitsOnly;
+ portLineEdit->setInputMethodHints(hints);
+#endif
+
hostLabel->setBuddy(hostLineEdit);
portLabel->setBuddy(portLineEdit);
statusLabel = new QLabel(tr("This examples requires that you run the "
"Fortune Server example as well."));
+ statusLabel->setWordWrap(true);
+
+#ifdef Q_OS_SYMBIAN
+ QMenu *menu = new QMenu(this);
+ fortuneAction = menu->addAction(tr("Get Fortune"));
+ fortuneAction->setVisible(false);
+
+ QAction *optionsAction = new QAction(tr("Options"), this);
+ optionsAction->setMenu(menu);
+ optionsAction->setSoftKeyRole(QAction::PositiveSoftKey);
+ addAction(optionsAction);
+
+ exitAction = new QAction(tr("Exit"), this);
+ exitAction->setSoftKeyRole(QAction::NegativeSoftKey);
+ addAction(exitAction);
+ connect(fortuneAction, SIGNAL(triggered()), this, SLOT(requestNewFortune()));
+ connect(exitAction, SIGNAL(triggered()), this, SLOT(close()));
+#else
getFortuneButton = new QPushButton(tr("Get Fortune"));
getFortuneButton->setDefault(true);
getFortuneButton->setEnabled(false);
buttonBox->addButton(getFortuneButton, QDialogButtonBox::ActionRole);
buttonBox->addButton(quitButton, QDialogButtonBox::RejectRole);
+ connect(getFortuneButton, SIGNAL(clicked()), this, SLOT(requestNewFortune()));
+ connect(quitButton, SIGNAL(clicked()), this, SLOT(close()));
+#endif
+
connect(hostLineEdit, SIGNAL(textChanged(QString)),
this, SLOT(enableGetFortuneButton()));
connect(portLineEdit, SIGNAL(textChanged(QString)),
this, SLOT(enableGetFortuneButton()));
- connect(getFortuneButton, SIGNAL(clicked()),
- this, SLOT(requestNewFortune()));
- connect(quitButton, SIGNAL(clicked()), this, SLOT(close()));
//! [0]
connect(&thread, SIGNAL(newFortune(QString)),
this, SLOT(showFortune(QString)));
mainLayout->addWidget(portLabel, 1, 0);
mainLayout->addWidget(portLineEdit, 1, 1);
mainLayout->addWidget(statusLabel, 2, 0, 1, 2);
+#ifndef Q_OS_SYMBIAN
mainLayout->addWidget(buttonBox, 3, 0, 1, 2);
+#endif
setLayout(mainLayout);
setWindowTitle(tr("Blocking Fortune Client"));
//! [2]
void BlockingClient::requestNewFortune()
{
+#ifdef Q_OS_SYMBIAN
+ fortuneAction->setVisible(false);
+#else
getFortuneButton->setEnabled(false);
+#endif
thread.requestNewFortune(hostLineEdit->text(),
portLineEdit->text().toInt());
}
//! [4]
currentFortune = nextFortune;
statusLabel->setText(currentFortune);
+#ifdef Q_OS_SYMBIAN
+ fortuneAction->setVisible(true);
+#else
getFortuneButton->setEnabled(true);
+#endif
}
//! [4]
.arg(message));
}
+#ifdef Q_OS_SYMBIAN
+ fortuneAction->setVisible(true);
+#else
getFortuneButton->setEnabled(true);
+#endif
}
void BlockingClient::enableGetFortuneButton()
{
- getFortuneButton->setEnabled(!hostLineEdit->text().isEmpty()
- && !portLineEdit->text().isEmpty());
+ bool enable(!hostLineEdit->text().isEmpty() && !portLineEdit->text().isEmpty());
+#ifdef Q_OS_SYMBIAN
+ fortuneAction->setVisible(enable);
+#else
+ getFortuneButton->setEnabled(enable);
+#endif
}
#ifndef BLOCKINGCLIENT_H
#define BLOCKINGCLIENT_H
-#include <QDialog>
+#include <QWidget>
#include "fortunethread.h"
class QLabel;
class QLineEdit;
class QPushButton;
+class QAction;
QT_END_NAMESPACE
//! [0]
-class BlockingClient : public QDialog
+class BlockingClient : public QWidget
{
Q_OBJECT
QLineEdit *hostLineEdit;
QLineEdit *portLineEdit;
QLabel *statusLabel;
+#ifdef Q_OS_SYMBIAN
+ QAction *fortuneAction;
+ QAction *exitAction;
+#else
QPushButton *getFortuneButton;
QPushButton *quitButton;
QDialogButtonBox *buttonBox;
+#endif
FortuneThread thread;
QString currentFortune;
sources.path = $$[QT_INSTALL_EXAMPLES]/qtbase/network/blockingfortuneclient
INSTALLS += target sources
-symbian: CONFIG += qt_example
+symbian: {
+ CONFIG += qt_example
+ TARGET.CAPABILITY = NetworkServices
+}
+maemo5: CONFIG += qt_example
+
+symbian: warning(This example might not fully work on Symbian platform)
+maemo5: warning(This example might not fully work on Maemo platform)
{
QApplication app(argc, argv);
BlockingClient client;
+#ifdef Q_OS_SYMBIAN
+ client.showMaximized();
+#else
client.show();
- return client.exec();
+#endif
+ return app.exec();
}
sources.path = $$[QT_INSTALL_EXAMPLES]/qtbase/network/broadcastreceiver
INSTALLS += target sources
-symbian: CONFIG += qt_example
+symbian: {
+ CONFIG += qt_example
+ TARGET.CAPABILITY = NetworkServices
+}
+maemo5: CONFIG += qt_example
{
QApplication app(argc, argv);
Receiver receiver;
+#ifdef Q_OS_SYMBIAN
+ receiver.showMaximized();
+#else
receiver.show();
- return receiver.exec();
+#endif
+ return app.exec();
}
#include "receiver.h"
Receiver::Receiver(QWidget *parent)
- : QDialog(parent)
+ : QWidget(parent)
{
statusLabel = new QLabel(tr("Listening for broadcasted messages"));
+ statusLabel->setWordWrap(true);
+
+#ifdef Q_OS_SYMBIAN
+ quitAction = new QAction(tr("Exit"), this);
+ quitAction->setSoftKeyRole(QAction::NegativeSoftKey);
+ addAction(quitAction);
+#else
quitButton = new QPushButton(tr("&Quit"));
+#endif
//! [0]
udpSocket = new QUdpSocket(this);
connect(udpSocket, SIGNAL(readyRead()),
this, SLOT(processPendingDatagrams()));
//! [1]
+#ifdef Q_OS_SYMBIAN
+ connect(quitAction, SIGNAL(triggered()), this, SLOT(close()));
+
+ QVBoxLayout *mainLayout = new QVBoxLayout;
+ mainLayout->addWidget(statusLabel);
+ setLayout(mainLayout);
+#else
connect(quitButton, SIGNAL(clicked()), this, SLOT(close()));
QHBoxLayout *buttonLayout = new QHBoxLayout;
mainLayout->addWidget(statusLabel);
mainLayout->addLayout(buttonLayout);
setLayout(mainLayout);
+#endif
setWindowTitle(tr("Broadcast Receiver"));
}
#ifndef RECEIVER_H
#define RECEIVER_H
-#include <QDialog>
+#include <QWidget>
QT_BEGIN_NAMESPACE
class QLabel;
class QPushButton;
class QUdpSocket;
+class QAction;
QT_END_NAMESPACE
-class Receiver : public QDialog
+class Receiver : public QWidget
{
Q_OBJECT
private:
QLabel *statusLabel;
+#ifdef Q_OS_SYMBIAN
+ QAction *quitAction;
+#else
QPushButton *quitButton;
+#endif
QUdpSocket *udpSocket;
};
sources.path = $$[QT_INSTALL_EXAMPLES]/qtbase/network/broadcastsender
INSTALLS += target sources
-symbian: CONFIG += qt_example
+symbian: {
+ CONFIG += qt_example
+ TARGET.CAPABILITY = NetworkServices
+}
+maemo5: CONFIG += qt_example
{
QApplication app(argc, argv);
Sender sender;
+#ifdef Q_OS_SYMBIAN
+ sender.showMaximized();
+#else
sender.show();
- return sender.exec();
+#endif
+ return app.exec();
}
#include "sender.h"
Sender::Sender(QWidget *parent)
- : QDialog(parent)
+ : QWidget(parent)
{
statusLabel = new QLabel(tr("Ready to broadcast datagrams on port 45454"));
+ statusLabel->setWordWrap(true);
startButton = new QPushButton(tr("&Start"));
quitButton = new QPushButton(tr("&Quit"));
#ifndef SENDER_H
#define SENDER_H
-#include <QDialog>
+#include <QWidget>
QT_BEGIN_NAMESPACE
class QDialogButtonBox;
class QUdpSocket;
QT_END_NAMESPACE
-class Sender : public QDialog
+class Sender : public QWidget
{
Q_OBJECT
######################################################################
TEMPLATE = app
-TARGET =
DEPENDPATH += .
INCLUDEPATH += .
QT = core network
INSTALLS += target sources
symbian: CONFIG += qt_example
+maemo5: CONFIG += qt_example
+
+symbian: warning(This example might not fully work on Symbian platform)
+simulator: warning(This example might not fully work on Simulator platform)
######################################################################
TEMPLATE = app
-TARGET =
DEPENDPATH += .
INCLUDEPATH += .
QT = core network
INSTALLS += target sources
symbian: CONFIG += qt_example
+maemo5: CONFIG += qt_example
+
+OTHER_FILES += \
+ debian/changelog \
+ debian/compat \
+ debian/control \
+ debian/copyright \
+ debian/README \
+ debian/rules
+symbian: warning(This example might not fully work on Symbian platform)
+simulator: warning(This example might not fully work on Simulator platform)
TARGET.CAPABILITY = "NetworkServices ReadUserData WriteUserData"
TARGET.EPOCHEAPSIZE = 0x20000 0x2000000
}
+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)
TARGET.CAPABILITY = "NetworkServices ReadUserData"
TARGET.EPOCHEAPSIZE = 0x20000 0x2000000
}
+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)
sources.files = $$SOURCES $$HEADERS *.pro
sources.path = $$[QT_INSTALL_EXAMPLES]/qtbase/network/googlesuggest
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)
sources.path = $$[QT_INSTALL_EXAMPLES]/qtbase/network/http
INSTALLS += target sources
-symbian: CONFIG += qt_example
+symbian: {
+ CONFIG += qt_example
+ TARGET.CAPABILITY = NetworkServices
+}
+maemo5: CONFIG += qt_example
#include "ui_authenticationdialog.h"
HttpWindow::HttpWindow(QWidget *parent)
+#ifdef Q_WS_MAEMO_5
+ : QWidget(parent)
+#else
: QDialog(parent)
+#endif
{
#ifndef QT_NO_OPENSSL
urlLineEdit = new QLineEdit("https://qt.nokia.com/");
urlLabel->setBuddy(urlLineEdit);
statusLabel = new QLabel(tr("Please enter the URL of a file you want to "
"download."));
+ statusLabel->setWordWrap(true);
downloadButton = new QPushButton(tr("Download"));
downloadButton->setDefault(true);
buttonBox->addButton(downloadButton, QDialogButtonBox::ActionRole);
buttonBox->addButton(quitButton, QDialogButtonBox::RejectRole);
+#ifndef Q_WS_MAEMO_5
progressDialog = new QProgressDialog(this);
+#endif
connect(urlLineEdit, SIGNAL(textChanged(QString)),
this, SLOT(enableDownloadButton()));
connect(&qnam, SIGNAL(sslErrors(QNetworkReply*,QList<QSslError>)),
this, SLOT(sslErrors(QNetworkReply*,QList<QSslError>)));
#endif
+#ifndef Q_WS_MAEMO_5
connect(progressDialog, SIGNAL(canceled()), this, SLOT(cancelDownload()));
+#endif
connect(downloadButton, SIGNAL(clicked()), this, SLOT(downloadFile()));
connect(quitButton, SIGNAL(clicked()), this, SLOT(close()));
fileName = "index.html";
if (QFile::exists(fileName)) {
- if (QMessageBox::question(this, tr("HTTP"),
+ if (QMessageBox::question(this, tr("HTTP"),
tr("There already exists a file called %1 in "
"the current directory. Overwrite?").arg(fileName),
QMessageBox::Yes|QMessageBox::No, QMessageBox::No)
return;
}
-
+#ifndef Q_WS_MAEMO_5
progressDialog->setWindowTitle(tr("HTTP"));
progressDialog->setLabelText(tr("Downloading %1.").arg(fileName));
+#endif
downloadButton->setEnabled(false);
// schedule the request
file = 0;
}
reply->deleteLater();
+#ifndef Q_WS_MAEMO_5
progressDialog->hide();
+#endif
return;
}
+#ifndef Q_WS_MAEMO_5
progressDialog->hide();
+#endif
file->flush();
file->close();
}
} else {
QString fileName = QFileInfo(QUrl(urlLineEdit->text()).path()).fileName();
- statusLabel->setText(tr("Downloaded %1 to current directory.").arg(fileName));
+ statusLabel->setText(tr("Downloaded %1 to %2.").arg(fileName).arg(QDir::currentPath()));
downloadButton->setEnabled(true);
}
if (httpRequestAborted)
return;
+#ifndef Q_WS_MAEMO_5
progressDialog->setMaximum(totalBytes);
progressDialog->setValue(bytesRead);
+#else
+ Q_UNUSED(bytesRead);
+ Q_UNUSED(totalBytes);
+#endif
}
void HttpWindow::enableDownloadButton()
#ifndef HTTPWINDOW_H
#define HTTPWINDOW_H
+#ifdef Q_WS_MAEMO_5
+#include <QWidget>
+#else
#include <QDialog>
+#endif
#include <QNetworkAccessManager>
#include <QUrl>
QT_END_NAMESPACE
+#ifdef Q_WS_MAEMO_5
+class HttpWindow : public QWidget
+#else
class HttpWindow : public QDialog
+#endif
{
Q_OBJECT
QLabel *statusLabel;
QLabel *urlLabel;
QLineEdit *urlLineEdit;
+#ifndef Q_WS_MAEMO_5
QProgressDialog *progressDialog;
+#endif
QPushButton *downloadButton;
QPushButton *quitButton;
QDialogButtonBox *buttonBox;
****************************************************************************/
#include <QApplication>
+#include <QDir>
#include "httpwindow.h"
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
+
+#if defined(Q_OS_SYMBIAN)
+ // Change current directory from default private to c:\data
+ // in order that user can access the downloaded content
+ QDir::setCurrent("c:\\data");
+#elif defined(Q_WS_MAEMO_5)
+ QDir::setCurrent("/home/user");
+#endif
+
HttpWindow httpWin;
+
+#if defined(Q_OS_SYMBIAN)
+ httpWin.showMaximized();
+#else
httpWin.show();
- return httpWin.exec();
+#endif
+ return app.exec();
}
serverProgressBar = new QProgressBar;
serverStatusLabel = new QLabel(tr("Server ready"));
+#ifdef Q_OS_SYMBIAN
+ QMenu *menu = new QMenu(this);
+
+ QAction *optionsAction = new QAction(tr("Options"), this);
+ optionsAction->setSoftKeyRole(QAction::PositiveSoftKey);
+ optionsAction->setMenu(menu);
+ addAction(optionsAction);
+
+ startAction = menu->addAction(tr("Start"), this, SLOT(start()));
+
+ quitAction = new QAction(tr("Exit"), this);
+ quitAction->setSoftKeyRole(QAction::NegativeSoftKey);
+ addAction(quitAction);
+
+ connect(quitAction, SIGNAL(triggered()), this, SLOT(close()));
+#else
startButton = new QPushButton(tr("&Start"));
quitButton = new QPushButton(tr("&Quit"));
connect(startButton, SIGNAL(clicked()), this, SLOT(start()));
connect(quitButton, SIGNAL(clicked()), this, SLOT(close()));
+#endif
connect(&tcpServer, SIGNAL(newConnection()),
this, SLOT(acceptConnection()));
connect(&tcpClient, SIGNAL(connected()), this, SLOT(startTransfer()));
mainLayout->addWidget(serverStatusLabel);
mainLayout->addStretch(1);
mainLayout->addSpacing(10);
+#ifndef Q_OS_SYMBIAN
mainLayout->addWidget(buttonBox);
+#endif
setLayout(mainLayout);
setWindowTitle(tr("Loopback"));
void Dialog::start()
{
+#ifdef Q_OS_SYMBIAN
+ startAction->setVisible(false);
+#else
startButton->setEnabled(false);
+#endif
#ifndef QT_NO_CURSOR
QApplication::setOverrideCursor(Qt::WaitCursor);
if (bytesReceived == TotalBytes) {
tcpServerConnection->close();
+#ifdef Q_OS_SYMBIAN
+ startAction->setVisible(true);
+#else
startButton->setEnabled(true);
+#endif
#ifndef QT_NO_CURSOR
QApplication::restoreOverrideCursor();
#endif
serverProgressBar->reset();
clientStatusLabel->setText(tr("Client ready"));
serverStatusLabel->setText(tr("Server ready"));
+#ifdef Q_OS_SYMBIAN
+ startAction->setVisible(true);
+#else
startButton->setEnabled(true);
+#endif
#ifndef QT_NO_CURSOR
QApplication::restoreOverrideCursor();
#endif
class QPushButton;
class QTcpServer;
class QTcpSocket;
+class QAction;
QT_END_NAMESPACE
class Dialog : public QDialog
QProgressBar *serverProgressBar;
QLabel *clientStatusLabel;
QLabel *serverStatusLabel;
+
+#ifdef Q_OS_SYMBIAN
+ QAction *startAction;
+ QAction *quitAction;
+#else
QPushButton *startButton;
QPushButton *quitButton;
QDialogButtonBox *buttonBox;
+#endif
QTcpServer tcpServer;
QTcpSocket tcpClient;
sources.path = $$[QT_INSTALL_EXAMPLES]/qtbase/network/loopback
INSTALLS += target sources
-symbian: CONFIG += qt_example
+symbian: {
+ CONFIG += qt_example
+ TARGET.CAPABILITY = NetworkServices
+}
+maemo5: CONFIG += qt_example
{
QApplication app(argc, argv);
Dialog dialog;
+#ifdef Q_OS_SYMBIAN
+ dialog.showMaximized();
+#else
dialog.show();
- return dialog.exec();
+#endif
+ return app.exec();
}
TARGET.CAPABILITY = "NetworkServices ReadUserData WriteUserData"
TARGET.EPOCHEAPSIZE = 0x20000 0x2000000
}
+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)
INSTALLS += sources
symbian: CONFIG += qt_example
+maemo5: CONFIG += qt_example
ftpServerLabel->setBuddy(ftpServerLineEdit);
statusLabel = new QLabel(tr("Please enter the name of an FTP server."));
-#ifdef Q_OS_SYMBIAN
+#if defined(Q_OS_SYMBIAN) || defined(Q_WS_MAEMO_5) || defined(Q_WS_SIMULATOR)
// Use word wrapping to fit the text on screen
statusLabel->setWordWrap( true );
#endif
void FtpWindow::cancelDownload()
{
ftp->abort();
+
+ if (file->exists()) {
+ file->close();
+ file->remove();
+ }
+ delete file;
}
//![5]
INCLUDEPATH += $$APP_LAYER_SYSTEMINCLUDE
TARGET.CAPABILITY="NetworkServices ReadUserData WriteUserData"
}
+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)
form = new Ui_CertificateInfo;
form->setupUi(this);
- connect(form->certificationPathView, SIGNAL(currentRowChanged(int)),
+ connect(form->certificationPathView, SIGNAL(currentIndexChanged(int)),
this, SLOT(updateCertificateInfo(int)));
}
.arg(cert.subjectInfo(QSslCertificate::CommonName)));
}
- form->certificationPathView->setCurrentRow(0);
+ form->certificationPathView->setCurrentIndex(0);
}
void CertificateInfo::updateCertificateInfo(int index)
-<ui version="4.0" >
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
<class>CertificateInfo</class>
- <widget class="QDialog" name="CertificateInfo" >
- <property name="geometry" >
+ <widget class="QDialog" name="CertificateInfo">
+ <property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<height>397</height>
</rect>
</property>
- <property name="windowTitle" >
+ <property name="windowTitle">
<string>Display Certificate Information</string>
</property>
- <layout class="QVBoxLayout" >
+ <layout class="QVBoxLayout">
+ <property name="sizeConstraint">
+ <enum>QLayout::SetDefaultConstraint</enum>
+ </property>
<item>
- <widget class="QGroupBox" name="groupBox" >
- <property name="title" >
+ <widget class="QLabel" name="label">
+ <property name="text">
<string>Certification Path</string>
</property>
- <layout class="QHBoxLayout" >
- <item>
- <widget class="QListWidget" name="certificationPathView" />
- </item>
- </layout>
</widget>
</item>
<item>
- <widget class="QGroupBox" name="groupBox_2" >
- <property name="title" >
+ <widget class="QComboBox" name="certificationPathView">
+ <property name="minimumContentsLength">
+ <number>3</number>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="label_2">
+ <property name="text">
<string>Certificate Information</string>
</property>
- <layout class="QHBoxLayout" >
- <item>
- <widget class="QListWidget" name="certificateInfoView" />
- </item>
- </layout>
</widget>
</item>
<item>
- <layout class="QHBoxLayout" >
+ <widget class="QListWidget" name="certificateInfoView">
+ <property name="font">
+ <font>
+ <pointsize>8</pointsize>
+ </font>
+ </property>
+ <property name="wordWrap">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <layout class="QHBoxLayout">
+ <property name="sizeConstraint">
+ <enum>QLayout::SetDefaultConstraint</enum>
+ </property>
<item>
<spacer>
- <property name="orientation" >
+ <property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
- <property name="sizeHint" >
+ <property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</spacer>
</item>
<item>
- <widget class="QDialogButtonBox" name="buttonBox" >
- <property name="standardButtons" >
+ <widget class="QDialogButtonBox" name="buttonBox">
+ <property name="standardButtons">
<set>QDialogButtonBox::Close</set>
</property>
</widget>
<receiver>CertificateInfo</receiver>
<slot>accept()</slot>
<hints>
- <hint type="sourcelabel" >
+ <hint type="sourcelabel">
<x>343</x>
<y>374</y>
</hint>
- <hint type="destinationlabel" >
+ <hint type="destinationlabel">
<x>352</x>
<y>422</y>
</hint>
}
SslClient client;
+#ifdef Q_OS_SYMBIAN
+ client.showMaximized();
+#else
client.show();
+#endif
return app.exec();
}
symbian {
TARGET.UID3 = 0xA000CF67
CONFIG += qt_example
+ TARGET.CAPABILITY = NetworkServices
}
+maemo5: CONFIG += qt_example
+
form->connectButton->setEnabled(unconnected && !form->hostNameEdit->text().isEmpty());
bool connected = socket && socket->state() == QAbstractSocket::ConnectedState;
- form->sessionBox->setEnabled(connected);
form->sessionOutput->setEnabled(connected);
form->sessionInput->setEnabled(connected);
form->sessionInputLabel->setEnabled(connected);
ui.sslErrorList->addItem(error.errorString());
executingDialog = true;
+#ifdef Q_OS_SYMBIAN
+ errorDialog.showMaximized();
+#endif
if (errorDialog.exec() == QDialog::Accepted)
socket->ignoreSslErrors();
executingDialog = false;
{
CertificateInfo *info = new CertificateInfo(this);
info->setCertificateChain(socket->peerCertificateChain());
+#ifdef Q_OS_SYMBIAN
+ info->showMaximized();
+#endif
info->exec();
info->deleteLater();
}
-<ui version="4.0" >
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
<class>Form</class>
- <widget class="QWidget" name="Form" >
- <property name="geometry" >
+ <widget class="QWidget" name="Form">
+ <property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<height>320</height>
</rect>
</property>
- <property name="windowTitle" >
+ <property name="windowTitle">
<string>Secure Socket Client</string>
</property>
- <layout class="QVBoxLayout" >
- <item>
- <layout class="QGridLayout" >
- <item row="0" column="0" >
- <widget class="QLabel" name="hostNameLabel" >
- <property name="text" >
+ <layout class="QGridLayout" name="gridLayout">
+ <item row="0" column="0" colspan="2">
+ <layout class="QGridLayout">
+ <item row="0" column="0">
+ <widget class="QLabel" name="hostNameLabel">
+ <property name="text">
<string>Host name:</string>
</property>
</widget>
</item>
- <item row="0" column="1" >
- <widget class="QLineEdit" name="hostNameEdit" >
- <property name="text" >
+ <item row="0" column="1">
+ <widget class="QLineEdit" name="hostNameEdit">
+ <property name="text">
<string>imap.example.com</string>
</property>
</widget>
</item>
- <item row="1" column="0" >
- <widget class="QLabel" name="portLabel" >
- <property name="text" >
+ <item row="1" column="0">
+ <widget class="QLabel" name="portLabel">
+ <property name="text">
<string>Port:</string>
</property>
</widget>
</item>
- <item row="1" column="1" >
- <widget class="QSpinBox" name="portBox" >
- <property name="minimum" >
+ <item row="1" column="1">
+ <widget class="QSpinBox" name="portBox">
+ <property name="minimum">
<number>1</number>
</property>
- <property name="maximum" >
+ <property name="maximum">
<number>65535</number>
</property>
- <property name="value" >
+ <property name="value">
<number>993</number>
</property>
</widget>
</item>
</layout>
</item>
- <item>
- <widget class="QPushButton" name="connectButton" >
- <property name="enabled" >
+ <item row="1" column="0">
+ <widget class="QLabel" name="label">
+ <property name="text">
+ <string>Active session</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QPushButton" name="connectButton">
+ <property name="enabled">
<bool>true</bool>
</property>
- <property name="text" >
+ <property name="text">
<string>Connect to host</string>
</property>
- <property name="default" >
+ <property name="default">
<bool>true</bool>
</property>
</widget>
</item>
- <item>
- <widget class="QGroupBox" name="sessionBox" >
- <property name="enabled" >
+ <item row="2" column="0" colspan="2">
+ <layout class="QHBoxLayout">
+ <item>
+ <widget class="QLabel" name="cipherText">
+ <property name="text">
+ <string>Cryptographic Cipher:</string>
+ </property>
+ <property name="wordWrap">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="cipherLabel">
+ <property name="text">
+ <string><none></string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ <property name="wordWrap">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item row="3" column="0" colspan="2">
+ <widget class="QTextEdit" name="sessionOutput">
+ <property name="enabled">
<bool>false</bool>
</property>
- <property name="title" >
- <string>Active session</string>
+ <property name="focusPolicy">
+ <enum>Qt::StrongFocus</enum>
</property>
- <layout class="QVBoxLayout" >
- <item>
- <layout class="QHBoxLayout" >
- <item>
- <widget class="QLabel" name="cipherText" >
- <property name="text" >
- <string>Cryptographic Cipher:</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QLabel" name="cipherLabel" >
- <property name="text" >
- <string><none></string>
- </property>
- <property name="alignment" >
- <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- <item>
- <widget class="QTextEdit" name="sessionOutput" >
- <property name="enabled" >
- <bool>false</bool>
- </property>
- <property name="focusPolicy" >
- <enum>Qt::NoFocus</enum>
- </property>
- <property name="readOnly" >
- <bool>true</bool>
- </property>
- <property name="html" >
- <string><html><head><meta name="qrichtext" content="1" /><style type="text/css">
+ <property name="readOnly">
+ <bool>true</bool>
+ </property>
+ <property name="html">
+ <string><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
+<html><head><meta name="qrichtext" content="1" /><style type="text/css">
p, li { white-space: pre-wrap; }
-</style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;">
-<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p></body></html></string>
- </property>
- </widget>
- </item>
- <item>
- <layout class="QHBoxLayout" >
- <item>
- <widget class="QLabel" name="sessionInputLabel" >
- <property name="text" >
- <string>Input:</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QLineEdit" name="sessionInput" >
- <property name="enabled" >
- <bool>false</bool>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QPushButton" name="sendButton" >
- <property name="enabled" >
- <bool>false</bool>
- </property>
- <property name="focusPolicy" >
- <enum>Qt::TabFocus</enum>
- </property>
- <property name="text" >
- <string>&Send</string>
- </property>
- <property name="default" >
- <bool>true</bool>
- </property>
- </widget>
- </item>
- </layout>
- </item>
- </layout>
+</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;">
+<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif'; font-size:9pt;"></p></body></html></string>
+ </property>
</widget>
</item>
+ <item row="4" column="0" colspan="2">
+ <layout class="QHBoxLayout">
+ <item>
+ <widget class="QLabel" name="sessionInputLabel">
+ <property name="text">
+ <string>Input:</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLineEdit" name="sessionInput">
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="sendButton">
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="focusPolicy">
+ <enum>Qt::TabFocus</enum>
+ </property>
+ <property name="text">
+ <string>&Send</string>
+ </property>
+ <property name="default">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
</layout>
</widget>
<resources/>
<receiver>connectButton</receiver>
<slot>animateClick()</slot>
<hints>
- <hint type="sourcelabel" >
+ <hint type="sourcelabel">
<x>126</x>
<y>20</y>
</hint>
- <hint type="destinationlabel" >
+ <hint type="destinationlabel">
<x>142</x>
<y>78</y>
</hint>
<receiver>sendButton</receiver>
<slot>animateClick()</slot>
<hints>
- <hint type="sourcelabel" >
+ <hint type="sourcelabel">
<x>142</x>
<y>241</y>
</hint>
- <hint type="destinationlabel" >
+ <hint type="destinationlabel">
<x>297</x>
<y>234</y>
</hint>
-<ui version="4.0" >
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
<class>SslErrors</class>
- <widget class="QDialog" name="SslErrors" >
- <property name="geometry" >
+ <widget class="QDialog" name="SslErrors">
+ <property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<height>216</height>
</rect>
</property>
- <property name="windowTitle" >
+ <property name="windowTitle">
<string>Unable To Validate The Connection</string>
</property>
- <layout class="QVBoxLayout" >
+ <layout class="QVBoxLayout">
<item>
- <widget class="QLabel" name="label" >
- <property name="text" >
- <string><html><head><meta name="qrichtext" content="1" /><style type="text/css">
+ <widget class="QLabel" name="label">
+ <property name="text">
+ <string><html><head><meta name="qrichtext" content="1" /><style type="text/css">
p, li { white-space: pre-wrap; }
-</style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;">
-<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600; color:#ff0000;">Warning</span><span style=" color:#ff0000;">:</span><span style=" color:#000000;"> One or more errors with this connection prevent validating the authenticity of the host you are connecting to. Please review the following list of errors, and click </span><span style=" color:#000000;">Ignore</span><span style=" color:#000000;"> to continue, or </span><span style=" color:#000000;">Cancel</span><span style=" color:#000000;"> to abort the connection.</span></p></body></html></string>
+</style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;">
+<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-weight:600; color:#ff0000;">Warning</span><span style=" color:#ff0000;">:</span><span style=" color:#000000;"> One or more errors with this connection prevent validating the authenticity of the host you are connecting to. Please review the following list of errors, and click </span><span style=" color:#000000;">Ignore</span><span style=" color:#000000;"> to continue, or </span><span style=" color:#000000;">Cancel</span><span style=" color:#000000;"> to abort the connection.</span></p></body></html></string>
</property>
- <property name="wordWrap" >
+ <property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item>
- <widget class="QListWidget" name="sslErrorList" />
+ <widget class="QListWidget" name="sslErrorList">
+ <property name="wordWrap">
+ <bool>true</bool>
+ </property>
+ </widget>
</item>
<item>
- <layout class="QHBoxLayout" >
+ <layout class="QHBoxLayout">
<item>
- <widget class="QPushButton" name="certificateChainButton" >
- <property name="text" >
+ <widget class="QPushButton" name="certificateChainButton">
+ <property name="text">
<string>View Certificate Chain</string>
</property>
- <property name="autoDefault" >
+ <property name="autoDefault">
<bool>false</bool>
</property>
</widget>
</item>
<item>
<spacer>
- <property name="orientation" >
+ <property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
- <property name="sizeHint" >
+ <property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</spacer>
</item>
<item>
- <widget class="QPushButton" name="pushButton" >
- <property name="text" >
+ <widget class="QPushButton" name="pushButton">
+ <property name="text">
<string>Ignore</string>
</property>
</widget>
</item>
<item>
- <widget class="QPushButton" name="pushButton_2" >
- <property name="text" >
+ <widget class="QPushButton" name="pushButton_2">
+ <property name="text">
<string>Cancel</string>
</property>
</widget>
<receiver>SslErrors</receiver>
<slot>accept()</slot>
<hints>
- <hint type="sourcelabel" >
+ <hint type="sourcelabel">
<x>235</x>
<y>185</y>
</hint>
- <hint type="destinationlabel" >
+ <hint type="destinationlabel">
<x>228</x>
<y>287</y>
</hint>
<receiver>SslErrors</receiver>
<slot>reject()</slot>
<hints>
- <hint type="sourcelabel" >
+ <hint type="sourcelabel">
<x>325</x>
<y>192</y>
</hint>
- <hint type="destinationlabel" >
+ <hint type="destinationlabel">
<x>333</x>
<y>231</y>
</hint>
#include "fortuneserver.h"
Dialog::Dialog(QWidget *parent)
- : QDialog(parent)
+ : QWidget(parent)
{
statusLabel = new QLabel;
+ statusLabel->setWordWrap(true);
+#ifdef Q_OS_SYMBIAN
+ QAction *quitAction = new QAction(tr("Exit"), this);
+ quitAction->setSoftKeyRole(QAction::NegativeSoftKey);
+ addAction(quitAction);
+#else
quitButton = new QPushButton(tr("Quit"));
quitButton->setAutoDefault(false);
+#endif
if (!server.listen()) {
QMessageBox::critical(this, tr("Threaded Fortune Server"),
"Run the Fortune Client example now.")
.arg(ipAddress).arg(server.serverPort()));
+#ifdef Q_OS_SYMBIAN
+ connect(quitAction, SIGNAL(triggered()), this, SLOT(close()));
+
+ QVBoxLayout *mainLayout = new QVBoxLayout;
+ mainLayout->addWidget(statusLabel);
+ setLayout(mainLayout);
+#else
connect(quitButton, SIGNAL(clicked()), this, SLOT(close()));
QHBoxLayout *buttonLayout = new QHBoxLayout;
mainLayout->addWidget(statusLabel);
mainLayout->addLayout(buttonLayout);
setLayout(mainLayout);
-
+#endif
setWindowTitle(tr("Threaded Fortune Server"));
}
#ifndef DIALOG_H
#define DIALOG_H
-#include <QDialog>
+#include <QWidget>
#include "fortuneserver.h"
QT_BEGIN_NAMESPACE
class QPushButton;
QT_END_NAMESPACE
-class Dialog : public QDialog
+class Dialog : public QWidget
{
Q_OBJECT
{
QApplication app(argc, argv);
Dialog dialog;
+#ifdef Q_OS_SYMBIAN
+ dialog.showMaximized();
+#else
dialog.show();
+#endif
qsrand(QTime(0,0,0).secsTo(QTime::currentTime()));
- return dialog.exec();
+ return app.exec();
}
sources.path = $$[QT_INSTALL_EXAMPLES]/qtbase/network/threadedfortuneserver
INSTALLS += target sources
-symbian: CONFIG += qt_example
+symbian: {
+ CONFIG += qt_example
+ TARGET.CAPABILITY = NetworkServices
+}
+maemo5: CONFIG += qt_example
+
+symbian: warning(This example might not fully work on Symbian platform)
+maemo5: warning(This example might not fully work on Maemo platform)
INSTALLS += target sources
symbian: CONFIG += qt_example
+maemo5: CONFIG += qt_example
+
+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)
INSTALLS += target sources
symbian: CONFIG += qt_example
+maemo5: CONFIG += qt_example
+
+symbian: warning(This example might not fully work on Symbian platform)
+simulator: warning(This example might not fully work on Simulator platform)
INSTALLS += target sources
symbian: CONFIG += qt_example
+maemo5: CONFIG += qt_example
+
+symbian: warning(This example might not fully work on Symbian platform)
+maemo5: warning(This example does not work on Maemo platform)
+simulator: warning(This example might not fully work on Simulator platform)
INSTALLS += target sources
symbian: CONFIG += qt_example
+maemo5: CONFIG += qt_example
+
+symbian: warning(This example might not fully work on Symbian platform)
+maemo5: warning(This example does not work on Maemo platform)
+simulator: warning(This example might not fully work on Simulator platform)
INSTALLS += target sources
symbian: CONFIG += qt_example
+maemo5: CONFIG += qt_example
+
+symbian: warning(This example might not fully work on Symbian platform)
+maemo5: warning(This example does not work on Maemo platform)
+simulator: warning(This example might not fully work on Simulator platform)
######################################################################
TEMPLATE = app
-TARGET =
DEPENDPATH += .
INCLUDEPATH += .
sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS hellogl_es.pro
sources.path = $$[QT_INSTALL_EXAMPLES]/qtbase/opengl/hellogl_es
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 does not work on Maemo platform)
+simulator: warning(This example might not fully work on Simulator platform)
######################################################################
TEMPLATE = app
-TARGET =
DEPENDPATH += .
INCLUDEPATH += .
sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS hellogl_es2.pro
sources.path = $$[QT_INSTALL_EXAMPLES]/qtbase/opengl/hellogl_es2
INSTALLS += target sources
+
+symbian: include($$QT_SOURCE_TREE/examples/symbianpkgrules.pri)
+
+maemo5 {
+ # Debian package name may not contain numbers or special characters
+ # such as '_', lets change this in Maemo.
+ TARGET = helloglestwo
+ include($$QT_SOURCE_TREE/examples/maemo5pkgrules.pri)
+}
+
+symbian: warning(This example might not fully work on Symbian platform)
+simulator: warning(This example might not fully work on Simulator platform)
}
} else {
SUBDIRS = 2dpainting \
+ cube \
grabber \
hellogl \
overpainting \
INSTALLS += target sources
symbian: CONFIG += qt_example
+maemo5: CONFIG += qt_example
sources.path = $$[QT_INSTALL_EXAMPLES]/qtbase/opengl/overpainting
INSTALLS += target \
sources
+
symbian:CONFIG += qt_example
+maemo5: CONFIG += qt_example
+
+symbian: warning(This example might not fully work on Symbian platform)
+maemo5: warning(This example does not work on Maemo platform)
+simulator: warning(This example might not fully work on Simulator platform)
sources.path = $$[QT_INSTALL_EXAMPLES]/qtbase/opengl/pbuffers
INSTALLS += target \
sources
+
symbian:CONFIG += qt_example
+maemo5: CONFIG += qt_example
+
+symbian: warning(This example might not fully work on Symbian platform)
+maemo5: warning(This example does not work on Maemo platform)
+simulator: warning(This example might not fully work on Simulator platform)
######################################################################
TEMPLATE = app
-TARGET =
DEPENDPATH += .
INCLUDEPATH += .
INSTALLS += target sources
symbian: CONFIG += qt_example
+maemo5: CONFIG += qt_example
+
+symbian: warning(This example might not fully work on Symbian platform)
+maemo5: warning(This example does not work on Maemo platform)
+simulator: warning(This example might not fully work on Simulator platform)
INSTALLS += target sources
symbian: CONFIG += qt_example
+maemo5: CONFIG += qt_example
+
+symbian: warning(This example might not fully work on Symbian platform)
+maemo5: warning(This example does not work on Maemo platform)
+simulator: warning(This example might not fully work on Simulator platform)
INSTALLS += target sources
symbian: CONFIG += qt_example
+maemo5: CONFIG += qt_example
+
+symbian: warning(This example might not fully work on Symbian platform)
+simulator: warning(This example might not fully work on Simulator platform)
sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS openvg.pro README
sources.path = $$[QT_INSTALL_EXAMPLES]/qtbase/openvg
INSTALLS += target sources
+
TARGET.UID3 = 0xA000A649
CONFIG += qt_example
}
+maemo5: include($$QT_SOURCE_TREE/examples/maemo5pkgrules.pri)
+
+simulator: warning(This example might not fully work on Simulator platform)
QApplication app(argc, argv);
Window window;
+#if defined(Q_OS_SYMBIAN)
+ window.showMaximized();
+#else
window.show();
+#endif
return app.exec();
}
//! [2]
penWidthSpinBox = new QSpinBox;
penWidthSpinBox->setRange(0, 20);
+#if defined(Q_OS_SYMBIAN) || defined(Q_WS_MAEMO_5) || defined(Q_WS_SIMULATOR)
+ penWidthSpinBox->setSpecialValueText(tr("0"));
+#else
penWidthSpinBox->setSpecialValueText(tr("0 (cosmetic pen)"));
+#endif
penWidthLabel = new QLabel(tr("Pen &Width:"));
penWidthLabel->setBuddy(penWidthSpinBox);
brushStyleComboBox->addItem(tr("Dense 7"), Qt::Dense7Pattern);
brushStyleComboBox->addItem(tr("None"), Qt::NoBrush);
- brushStyleLabel = new QLabel(tr("&Brush Style:"));
+ brushStyleLabel = new QLabel(tr("&Brush:"));
brushStyleLabel->setBuddy(brushStyleComboBox);
//! [4]
//! [5]
- otherOptionsLabel = new QLabel(tr("Other Options:"));
+ otherOptionsLabel = new QLabel(tr("Options:"));
//! [5] //! [6]
antialiasingCheckBox = new QCheckBox(tr("&Antialiasing"));
//! [6] //! [7]
//! [9]
QGridLayout *mainLayout = new QGridLayout;
//! [9] //! [10]
+#if defined(Q_OS_SYMBIAN) || defined(Q_WS_MAEMO_5) || defined(Q_WS_SIMULATOR)
+ mainLayout->setSizeConstraint(QLayout::SetNoConstraint);
+#endif
mainLayout->setColumnStretch(0, 1);
mainLayout->setColumnStretch(3, 1);
mainLayout->addWidget(renderArea, 0, 0, 1, 4);
- mainLayout->setRowMinimumHeight(1, 6);
- mainLayout->addWidget(shapeLabel, 2, 1, Qt::AlignRight);
- mainLayout->addWidget(shapeComboBox, 2, 2);
- mainLayout->addWidget(penWidthLabel, 3, 1, Qt::AlignRight);
- mainLayout->addWidget(penWidthSpinBox, 3, 2);
- mainLayout->addWidget(penStyleLabel, 4, 1, Qt::AlignRight);
- mainLayout->addWidget(penStyleComboBox, 4, 2);
- mainLayout->addWidget(penCapLabel, 5, 1, Qt::AlignRight);
- mainLayout->addWidget(penCapComboBox, 5, 2);
- mainLayout->addWidget(penJoinLabel, 6, 1, Qt::AlignRight);
- mainLayout->addWidget(penJoinComboBox, 6, 2);
- mainLayout->addWidget(brushStyleLabel, 7, 1, Qt::AlignRight);
- mainLayout->addWidget(brushStyleComboBox, 7, 2);
- mainLayout->setRowMinimumHeight(8, 6);
- mainLayout->addWidget(otherOptionsLabel, 9, 1, Qt::AlignRight);
- mainLayout->addWidget(antialiasingCheckBox, 9, 2);
- mainLayout->addWidget(transformationsCheckBox, 10, 2);
+ mainLayout->addWidget(shapeLabel, 2, 0, Qt::AlignRight);
+ mainLayout->addWidget(shapeComboBox, 2, 1);
+ mainLayout->addWidget(penWidthLabel, 3, 0, Qt::AlignRight);
+ mainLayout->addWidget(penWidthSpinBox, 3, 1);
+ mainLayout->addWidget(penStyleLabel, 4, 0, Qt::AlignRight);
+ mainLayout->addWidget(penStyleComboBox, 4, 1);
+ mainLayout->addWidget(penCapLabel, 3, 2, Qt::AlignRight);
+ mainLayout->addWidget(penCapComboBox, 3, 3);
+ mainLayout->addWidget(penJoinLabel, 2, 2, Qt::AlignRight);
+ mainLayout->addWidget(penJoinComboBox, 2, 3);
+ mainLayout->addWidget(brushStyleLabel, 4, 2, Qt::AlignRight);
+ mainLayout->addWidget(brushStyleComboBox, 4, 3);
+ mainLayout->addWidget(otherOptionsLabel, 5, 0, Qt::AlignRight);
+ mainLayout->addWidget(antialiasingCheckBox, 5, 1, 1, 1, Qt::AlignRight);
+ mainLayout->addWidget(transformationsCheckBox, 5, 2, 1, 2, Qt::AlignRight);
setLayout(mainLayout);
shapeChanged();
TARGET.UID3 = 0xA000A64A
CONFIG += qt_example
}
+maemo5: include($$QT_SOURCE_TREE/examples/maemo5pkgrules.pri)
+
{
QApplication app(argc, argv);
Window window;
+#if defined(Q_OS_SYMBIAN)
+ window.showMaximized();
+#else
window.show();
+#endif
return app.exec();
}
INSTALLS += target sources
symbian: CONFIG += qt_example
+maemo5: CONFIG += qt_example
{
QApplication app(argc, argv);
MainWindow window;
+#if defined(Q_OS_SYMBIAN)
+ window.showMaximized();
+#else
window.show();
+#endif
return app.exec();
}
{
setupUi(this);
+#if defined(Q_OS_SYMBIAN)
+ addDockWidget(Qt::BottomDockWidgetArea, dockWidget);
+#endif
+
sampleSizes << 32 << 24 << 16 << 14 << 12 << 8 << 4 << 2 << 1;
markedCount = 0;
setupFontTree();
QString oldText = textEdit->toPlainText().trimmed();
bool modified = textEdit->document()->isModified();
textEdit->clear();
+#if defined(Q_OS_SYMBIAN)
+ textEdit->document()->setDefaultFont(QFont(family, 10, weight, italic));
+#else
textEdit->document()->setDefaultFont(QFont(family, 32, weight, italic));
+#endif
QTextCursor cursor = textEdit->textCursor();
QTextBlockFormat blockFormat;
printPreviewAction->setEnabled(markedCount > 0);
}
+QMap<QString, StyleItems> MainWindow::currentPageMap()
+{
+ QMap<QString, StyleItems> pageMap;
+
+ for (int row = 0; row < fontTree->topLevelItemCount(); ++row) {
+ QTreeWidgetItem *familyItem = fontTree->topLevelItem(row);
+ QString family;
+
+ if (familyItem->checkState(0) == Qt::Checked) {
+ family = familyItem->text(0);
+ pageMap[family] = StyleItems();
+ }
+
+ for (int childRow = 0; childRow < familyItem->childCount(); ++childRow) {
+ QTreeWidgetItem *styleItem = familyItem->child(childRow);
+ if (styleItem->checkState(0) == Qt::Checked)
+ pageMap[family].append(styleItem);
+ }
+ }
+
+ return pageMap;
+}
+
+#ifndef QT_NO_PRINTER
void MainWindow::on_printAction_triggered()
{
pageMap = currentPageMap();
preview.exec();
}
-QMap<QString, StyleItems> MainWindow::currentPageMap()
-{
- QMap<QString, StyleItems> pageMap;
-
- for (int row = 0; row < fontTree->topLevelItemCount(); ++row) {
- QTreeWidgetItem *familyItem = fontTree->topLevelItem(row);
- QString family;
-
- if (familyItem->checkState(0) == Qt::Checked) {
- family = familyItem->text(0);
- pageMap[family] = StyleItems();
- }
-
- for (int childRow = 0; childRow < familyItem->childCount(); ++childRow) {
- QTreeWidgetItem *styleItem = familyItem->child(childRow);
- if (styleItem->checkState(0) == Qt::Checked)
- pageMap[family].append(styleItem);
- }
- }
-
- return pageMap;
-}
-
void MainWindow::printPage(int index, QPainter *painter, QPrinter *printer)
{
QString family = pageMap.keys()[index];
painter->restore();
}
+#endif
public slots:
void on_clearAction_triggered();
void on_markAction_triggered();
+#ifndef QT_NO_PRINTER
void on_printAction_triggered();
void on_printPreviewAction_triggered();
+#endif
void on_unmarkAction_triggered();
+#ifndef QT_NO_PRINTER
void printDocument(QPrinter *printer);
void printPage(int index, QPainter *painter, QPrinter *printer);
+#endif
void showFont(QTreeWidgetItem *item);
void updateStyles(QTreeWidgetItem *item, int column);
-<ui version="4.0" >
- <author></author>
- <comment></comment>
- <exportmacro></exportmacro>
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
<class>MainWindowBase</class>
- <widget class="QMainWindow" name="MainWindowBase" >
- <property name="geometry" >
+ <widget class="QMainWindow" name="MainWindowBase">
+ <property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<height>345</height>
</rect>
</property>
- <property name="windowTitle" >
+ <property name="windowTitle">
<string>Font Sampler</string>
</property>
- <widget class="QWidget" name="centralwidget" >
- <layout class="QVBoxLayout" >
- <property name="margin" >
- <number>9</number>
- </property>
- <property name="spacing" >
+ <widget class="QWidget" name="centralwidget">
+ <layout class="QVBoxLayout">
+ <property name="spacing">
<number>6</number>
</property>
+ <property name="margin">
+ <number>9</number>
+ </property>
<item>
- <widget class="QTextEdit" name="textEdit" />
+ <widget class="QTextEdit" name="textEdit"/>
</item>
</layout>
</widget>
- <widget class="QMenuBar" name="menubar" >
- <property name="geometry" >
+ <widget class="QMenuBar" name="menubar">
+ <property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>800</width>
- <height>24</height>
+ <height>18</height>
</rect>
</property>
- <widget class="QMenu" name="menu_Selection" >
- <property name="title" >
+ <widget class="QMenu" name="menu_Selection">
+ <property name="title">
<string>&Selection</string>
</property>
- <addaction name="markAction" />
- <addaction name="unmarkAction" />
- <addaction name="clearAction" />
+ <addaction name="markAction"/>
+ <addaction name="unmarkAction"/>
+ <addaction name="clearAction"/>
</widget>
- <widget class="QMenu" name="menu_File" >
- <property name="title" >
+ <widget class="QMenu" name="menu_File">
+ <property name="title">
<string>&File</string>
</property>
- <addaction name="printPreviewAction" />
- <addaction name="printAction" />
- <addaction name="quitAction" />
+ <addaction name="printPreviewAction"/>
+ <addaction name="printAction"/>
+ <addaction name="quitAction"/>
</widget>
- <addaction name="menu_File" />
- <addaction name="menu_Selection" />
+ <addaction name="menu_File"/>
+ <addaction name="menu_Selection"/>
</widget>
- <widget class="QStatusBar" name="statusbar" />
- <widget class="QDockWidget" name="dockWidget" >
- <property name="features" >
- <set>QDockWidget::DockWidgetFloatable|QDockWidget::DockWidgetMovable|QDockWidget::NoDockWidgetFeatures</set>
+ <widget class="QStatusBar" name="statusbar"/>
+ <widget class="QDockWidget" name="dockWidget">
+ <property name="features">
+ <set>QDockWidget::DockWidgetFloatable|QDockWidget::DockWidgetMovable</set>
</property>
- <property name="windowTitle" >
+ <property name="windowTitle">
<string>Available Fonts</string>
</property>
- <attribute name="dockWidgetArea" >
+ <attribute name="dockWidgetArea">
<number>1</number>
</attribute>
- <widget class="QWidget" name="dockWidgetContents" >
- <layout class="QVBoxLayout" >
- <property name="margin" >
- <number>9</number>
- </property>
- <property name="spacing" >
+ <widget class="QWidget" name="dockWidgetContents">
+ <layout class="QVBoxLayout">
+ <property name="spacing">
<number>6</number>
</property>
+ <property name="margin">
+ <number>9</number>
+ </property>
<item>
- <widget class="QTreeWidget" name="fontTree" >
- <property name="selectionMode" >
+ <widget class="QTreeWidget" name="fontTree">
+ <property name="selectionMode">
<enum>QAbstractItemView::ExtendedSelection</enum>
</property>
+ <column>
+ <property name="text">
+ <string notr="true">1</string>
+ </property>
+ </column>
</widget>
</item>
</layout>
</widget>
</widget>
- <action name="printAction" >
- <property name="enabled" >
+ <action name="printAction">
+ <property name="enabled">
<bool>false</bool>
</property>
- <property name="text" >
+ <property name="text">
<string>&Print...</string>
</property>
- <property name="shortcut" >
+ <property name="shortcut">
<string>Ctrl+P</string>
</property>
</action>
- <action name="quitAction" >
- <property name="text" >
+ <action name="quitAction">
+ <property name="text">
<string>E&xit</string>
</property>
- <property name="shortcut" >
+ <property name="shortcut">
<string>Ctrl+Q</string>
</property>
</action>
- <action name="markAction" >
- <property name="text" >
+ <action name="markAction">
+ <property name="text">
<string>&Mark</string>
</property>
- <property name="shortcut" >
+ <property name="shortcut">
<string>Ctrl+M</string>
</property>
</action>
- <action name="unmarkAction" >
- <property name="text" >
+ <action name="unmarkAction">
+ <property name="text">
<string>&Unmark</string>
</property>
- <property name="shortcut" >
+ <property name="shortcut">
<string>Ctrl+U</string>
</property>
</action>
- <action name="clearAction" >
- <property name="text" >
+ <action name="clearAction">
+ <property name="text">
<string>&Clear</string>
</property>
</action>
- <action name="printPreviewAction" >
- <property name="enabled" >
+ <action name="printPreviewAction">
+ <property name="enabled">
<bool>false</bool>
</property>
- <property name="text" >
+ <property name="text">
<string>Print Preview...</string>
</property>
</action>
</widget>
- <pixmapfunction></pixmapfunction>
<resources/>
<connections/>
</ui>
#include "imagecomposer.h"
//! [0]
+#if defined(Q_OS_SYMBIAN) || defined(Q_WS_SIMULATOR)
+static const QSize resultSize(50, 50);
+#else
static const QSize resultSize(200, 200);
+#endif
//! [0]
//! [1]
mainLayout->addWidget(destinationButton, 0, 2, 3, 1);
mainLayout->addWidget(equalLabel, 1, 3);
mainLayout->addWidget(resultLabel, 0, 4, 3, 1);
+#if defined(Q_OS_SYMBIAN) || defined(Q_WS_MAEMO_5) || defined(Q_WS_SIMULATOR)
+#else
mainLayout->setSizeConstraint(QLayout::SetFixedSize);
+#endif
setLayout(mainLayout);
//! [4]
{
image->load(fileName);
+ // Scale the image to given size
+ *image = image->scaled(resultSize, Qt::KeepAspectRatio);
+
QImage fixedImage(resultSize, QImage::Format_ARGB32_Premultiplied);
QPainter painter(&fixedImage);
painter.setCompositionMode(QPainter::CompositionMode_Source);
TARGET.UID3 = 0xA000A64B
CONFIG += qt_example
}
+maemo5: include($$QT_SOURCE_TREE/examples/maemo5pkgrules.pri)
+
QApplication app(argc, argv);
ImageComposer composer;
+#if defined(Q_OS_SYMBIAN)
+ composer.showMaximized();
+#else
composer.show();
+#endif
return app.exec();
}
//! [0]
{
QApplication app(argc, argv);
Window window;
+#if defined(Q_OS_SYMBIAN)
+ window.showMaximized();
+#else
window.show();
+#endif
return app.exec();
}
TARGET.UID3 = 0xA000A64C
CONFIG += qt_example
}
+maemo5: include($$QT_SOURCE_TREE/examples/maemo5pkgrules.pri)
+
//! [9]
//! [10]
- renderAreas[0] = new RenderArea(rectPath);
- renderAreas[1] = new RenderArea(roundRectPath);
- renderAreas[2] = new RenderArea(ellipsePath);
- renderAreas[3] = new RenderArea(piePath);
- renderAreas[4] = new RenderArea(polygonPath);
- renderAreas[5] = new RenderArea(groupPath);
- renderAreas[6] = new RenderArea(textPath);
- renderAreas[7] = new RenderArea(bezierPath);
- renderAreas[8] = new RenderArea(starPath);
- Q_ASSERT(NumRenderAreas == 9);
+#if !defined(Q_OS_SYMBIAN) && !defined(Q_WS_MAEMO_5) && !defined(Q_WS_SIMULATOR)
+ renderAreas.push_back(new RenderArea(rectPath));
+ renderAreas.push_back(new RenderArea(roundRectPath));
+ renderAreas.push_back(new RenderArea(ellipsePath));
+ renderAreas.push_back(new RenderArea(piePath));
+ renderAreas.push_back(new RenderArea(polygonPath));
+ renderAreas.push_back(new RenderArea(groupPath));
+#endif
+ renderAreas.push_back(new RenderArea(textPath));
+ renderAreas.push_back(new RenderArea(bezierPath));
+ renderAreas.push_back(new RenderArea(starPath));
//! [10]
//! [11]
connect(penColorComboBox, SIGNAL(activated(int)),
this, SLOT(penColorChanged()));
- for (int i = 0; i < NumRenderAreas; ++i) {
+ for(QList<RenderArea*>::iterator it = renderAreas.begin(); it != renderAreas.end(); it++) {
connect(penWidthSpinBox, SIGNAL(valueChanged(int)),
- renderAreas[i], SLOT(setPenWidth(int)));
+ *it, SLOT(setPenWidth(int)));
connect(rotationAngleSpinBox, SIGNAL(valueChanged(int)),
- renderAreas[i], SLOT(setRotationAngle(int)));
+ *it, SLOT(setRotationAngle(int)));
}
//! [16] //! [17]
QGridLayout *topLayout = new QGridLayout;
- for (int i = 0; i < NumRenderAreas; ++i)
- topLayout->addWidget(renderAreas[i], i / 3, i % 3);
+#if defined(Q_OS_SYMBIAN) || defined(Q_WS_MAEMO_5) || defined(Q_WS_SIMULATOR)
+ topLayout->setSizeConstraint(QLayout::SetNoConstraint);
+#endif
+
+ int i=0;
+ for(QList<RenderArea*>::iterator it = renderAreas.begin(); it != renderAreas.end(); it++, i++)
+ topLayout->addWidget(*it, i / 3, i % 3);
QGridLayout *mainLayout = new QGridLayout;
+#if defined(Q_OS_SYMBIAN) || defined(Q_WS_MAEMO_5) || defined(Q_WS_SIMULATOR)
+ mainLayout->setSizeConstraint(QLayout::SetNoConstraint);
+#endif
mainLayout->addLayout(topLayout, 0, 0, 1, 4);
mainLayout->addWidget(fillRuleLabel, 1, 0);
mainLayout->addWidget(fillRuleComboBox, 1, 1, 1, 3);
mainLayout->addWidget(penWidthSpinBox, 3, 1, 1, 3);
mainLayout->addWidget(penColorLabel, 4, 0);
mainLayout->addWidget(penColorComboBox, 4, 1, 1, 3);
+#if !defined(Q_OS_SYMBIAN) && !defined(Q_WS_MAEMO_5) && !defined(Q_WS_SIMULATOR)
mainLayout->addWidget(rotationAngleLabel, 5, 0);
mainLayout->addWidget(rotationAngleSpinBox, 5, 1, 1, 3);
+#endif
setLayout(mainLayout);
//! [17]
{
Qt::FillRule rule = (Qt::FillRule)currentItemData(fillRuleComboBox).toInt();
- for (int i = 0; i < NumRenderAreas; ++i)
- renderAreas[i]->setFillRule(rule);
+ for(QList<RenderArea*>::iterator it = renderAreas.begin(); it != renderAreas.end(); it++)
+ (*it)->setFillRule(rule);
}
//! [19]
QColor color1 = qvariant_cast<QColor>(currentItemData(fillColor1ComboBox));
QColor color2 = qvariant_cast<QColor>(currentItemData(fillColor2ComboBox));
- for (int i = 0; i < NumRenderAreas; ++i)
- renderAreas[i]->setFillGradient(color1, color2);
+ for(QList<RenderArea*>::iterator it = renderAreas.begin(); it != renderAreas.end(); it++)
+ (*it)->setFillGradient(color1, color2);
}
//! [20]
{
QColor color = qvariant_cast<QColor>(currentItemData(penColorComboBox));
- for (int i = 0; i < NumRenderAreas; ++i)
- renderAreas[i]->setPenColor(color);
+ for(QList<RenderArea*>::iterator it = renderAreas.begin(); it != renderAreas.end(); it++)
+ (*it)->setPenColor(color);
}
//! [21]
//! [1]
//! [2]
- enum { NumRenderAreas = 9 };
-
- RenderArea *renderAreas[NumRenderAreas];
+ QList<RenderArea*> renderAreas;
QLabel *fillRuleLabel;
QLabel *fillGradientLabel;
QLabel *fillToLabel;
concentriccircles \
imagecomposition \
painterpaths \
- transformations
-
-!wince*:!symbian: SUBDIRS += fontsampler
+ transformations \
+ fontsampler
# install
target.path = $$[QT_INSTALL_EXAMPLES]/qtbase/painting
INSTALLS += target sources
symbian: CONFIG += qt_example
+maemo5: CONFIG += qt_example
{
QApplication app(argc, argv);
Window window;
+#if defined(Q_OS_SYMBIAN)
+ window.showMaximized();
+#else
window.show();
+#endif
return app.exec();
}
TARGET.UID3 = 0xA000A64D
CONFIG += qt_example
}
+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)
symbian: CONFIG += qt_example
wince*: DEPLOYMENT_PLUGIN += qgif qjpeg qtiff
+maemo5: include($$QT_SOURCE_TREE/examples/maemo5pkgrules.pri)
+
+simulator: warning(This example does not work on Simulator platform)
QApplication app(argc,argv);
Images imageView;
+#if defined(Q_WS_S60) || defined(Q_WS_MAEMO_5)
+ imageView.showMaximized();
+#else
imageView.show();
+#endif
return app.exec();
}
#else
-int main()
+int main(int argc, char *argv[])
{
- qDebug() << "Qt Concurrent is not supported on this platform";
+ QApplication app(argc, argv);
+ QString text("Qt Concurrent is not supported on this platform");
+
+ QLabel *label = new QLabel(text);
+ label->setWordWrap(true);
+
+#if defined(Q_WS_S60) || defined(Q_WS_MAEMO_5)
+ label->showMaximized();
+#else
+ label->show();
+#endif
+ qDebug() << text;
+
+ app.exec();
}
#endif
#else
-int main()
+#include <QLabel>
+
+int main(int argc, char *argv[])
{
- qDebug() << "Qt Concurrent is not yet supported on this platform";
+ QApplication app(argc, argv);
+ QString text("Qt Concurrent is not yet supported on this platform");
+
+ QLabel *label = new QLabel(text);
+ label->setWordWrap(true);
+
+#if defined(Q_WS_S60) || defined(Q_WS_MAEMO_5)
+ label->showMaximized();
+#else
+ label->show();
+#endif
+ qDebug() << text;
+
+ app.exec();
}
#endif
INSTALLS += target sources
symbian: CONFIG += qt_example
+maemo5: CONFIG += qt_example
+
+simulator: warning(This example does not work on Simulator platform)
#else
-int main()
+int main(int argc, char *argv[])
{
- qDebug() << "Qt Concurrent is not yet supported on this platform";
+ QApplication app(argc, argv);
+ QString text("Qt Concurrent is not yet supported on this platform");
+
+ QLabel *label = new QLabel(text);
+ label->setWordWrap(true);
+
+#if defined(Q_WS_S60) || defined(Q_WS_MAEMO_5)
+ label->showMaximized();
+#else
+ label->show();
+#endif
+ qDebug() << text;
+
+ app.exec();
}
#endif
TEMPLATE = app
-TARGET +=
DEPENDPATH += .
INCLUDEPATH += .
INSTALLS += target sources
symbian: CONFIG += qt_example
+maemo5: CONFIG += qt_example
+
+simulator: warning(This example does not work on Simulator platform)
INSTALLS += target sources
symbian: CONFIG += qt_example
+maemo5: CONFIG += qt_example
#else
-int main()
+#include <QLabel>
+
+int main(int argc, char *argv[])
{
- qDebug() << "Qt Concurrent is not yet supported on this platform";
+ QApplication app(argc, argv);
+ QString text("Qt Concurrent is not yet supported on this platform");
+
+ QLabel *label = new QLabel(text);
+ label->setWordWrap(true);
+
+#if defined(Q_WS_S60) || defined(Q_WS_MAEMO_5)
+ label->showMaximized();
+#else
+ label->show();
+#endif
+ qDebug() << text;
+
+ app.exec();
}
#endif
TEMPLATE = app
-TARGET +=
DEPENDPATH += .
INCLUDEPATH += .
INSTALLS += target sources
symbian: CONFIG += qt_example
+maemo5: CONFIG += qt_example
+
+simulator: warning(This example does not work on Simulator platform)
{
QApplication app(argc, argv);
qDebug() << "finding files...";
+#ifdef Q_WS_MAEMO_5
+ QStringList files = findFiles("/usr/", QStringList() << "*.sh");
+#else
QStringList files = findFiles("../../", QStringList() << "*.cpp" << "*.h");
+#endif
qDebug() << files.count() << "files";
qDebug() << "warmup";
#else
-int main()
+#include <QLabel>
+
+int main(int argc, char *argv[])
{
- qDebug() << "Qt Concurrent is not yet supported on this platform";
+ QApplication app(argc, argv);
+ QString text("Qt Concurrent is not yet supported on this platform");
+
+ QLabel *label = new QLabel(text);
+ label->setWordWrap(true);
+
+#if defined(Q_WS_S60) || defined(Q_WS_MAEMO_5)
+ label->showMaximized();
+#else
+ label->show();
+#endif
+ qDebug() << text;
+
+ app.exec();
}
#endif
TEMPLATE = app
-TARGET +=
DEPENDPATH += .
INCLUDEPATH += .
INSTALLS += target sources
symbian: CONFIG += qt_example
+maemo5: CONFIG += qt_example
+
+simulator: warning(This example does not work on Simulator platform)
INSTALLS += target sources
symbian: CONFIG += qt_example
+maemo5: CONFIG += qt_example
TARGET.UID3 = 0xA000C60B
CONFIG += qt_example
}
+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)
TARGET.UID3 = 0xA000C60C
CONFIG += qt_example
}
+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)
TARGET.UID3 = 0xA000C60D
CONFIG += qt_example
}
+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)
TARGET.UID3 = 0xA000C60E
CONFIG += qt_example
}
+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)
TARGET.UID3 = 0xA000C60F
CONFIG += qt_example
}
+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)
SOURCES = dbscreendriverplugin.cpp \
dbscreen.cpp
+symbian: 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)
+simulator: warning(This example does not work on Simulator platform)
sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS framebuffer.pro
sources.path = $$[QT_INSTALL_EXAMPLES]/qtbase/qws/framebuffer
INSTALLS += target sources
+
+symbian: 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)
+simulator: warning(This example does not work on Simulator platform)
sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS *.pro
sources.path = $$[QT_INSTALL_EXAMPLES]/qtbase/qws/mousecalibration
INSTALLS += target sources
+
+symbian: 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 might not fully work on Maemo platform)
+simulator: warning(This example does not work on Simulator platform)
sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS *.pro
sources.path = $$[QT_INSTALL_EXAMPLES]/qtbase/qws/simpledecoration
INSTALLS += target sources
+
+symbian: 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 might not fully work on Maemo platform)
+simulator: warning(This example does not work on Simulator platform)
svgalibpaintdevice.cpp \
svgalibplugin.cpp
+symbian: 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 might not fully work on Maemo platform)
+simulator: warning(This example does not work on Simulator platform)
SOURCES = main.cpp \
mainwindow.cpp
+# App cannot be with name "calendar" in Symbian due to same named system component.
+symbian: TARGET = calendarapp
+
# install
target.path = $$[QT_INSTALL_EXAMPLES]/qtbase/richtext/calendar
sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS calendar.pro
INSTALLS += target sources
symbian: CONFIG += qt_example
+maemo5: CONFIG += qt_example
{
QApplication app(argc, argv);
MainWindow window;
+#if defined(Q_OS_SYMBIAN)
+ window.showMaximized();
+#elif defined(Q_WS_MAEMO_5) || defined(Q_WS_SIMULATOR)
+ window.show();
+#else
window.resize(640, 256);
window.show();
+#endif
return app.exec();
}
QLabel *fontSizeLabel = new QLabel(tr("Font size:"));
QSpinBox *fontSizeSpinBox = new QSpinBox;
fontSizeSpinBox->setRange(1, 64);
- fontSizeSpinBox->setValue(10);
editor = new QTextBrowser;
insertCalendar();
this, SLOT(setFontSize(int)));
//! [3]
+#if defined(Q_OS_SYMBIAN) || defined(Q_WS_SIMULATOR)
+ fontSizeSpinBox->setValue(4);
+#else
+ fontSizeSpinBox->setValue(10);
+#endif
+
//! [4]
QHBoxLayout *controlsLayout = new QHBoxLayout;
controlsLayout->addWidget(dateLabel);
nameEdit = new QLineEdit;
addressEdit = new QTextEdit;
+#if defined(Q_OS_SYMBIAN) || defined(Q_WS_SIMULATOR)
+ offersCheckBox = new QCheckBox(tr("Send information about\n"
+ "products and special offers"));
+#else
offersCheckBox = new QCheckBox(tr("Send information about products and "
"special offers"));
+#endif
setupItemsTable();
//! [0]
//! [1]
+#if defined(Q_OS_SYMBIAN) || defined(Q_WS_MAEMO_5) || defined(Q_WS_SIMULATOR)
+ QWidget *widgetSubscriber = new QWidget;
+ QGridLayout *subscriberLayout = new QGridLayout;
+ subscriberLayout->addWidget(nameLabel, 0, 0);
+ subscriberLayout->addWidget(nameEdit, 0, 1);
+ subscriberLayout->addWidget(addressLabel, 1, 0);
+ subscriberLayout->addWidget(addressEdit, 1, 1);
+ subscriberLayout->addWidget(offersCheckBox, 2, 0, 1, 2);
+ widgetSubscriber->setLayout(subscriberLayout);
+
+ QWidget *widgetOrder = new QWidget;
+ QVBoxLayout *orderLayout = new QVBoxLayout;
+ orderLayout->addWidget(itemsTable);
+ widgetOrder->setLayout(orderLayout);
+
+ QTabWidget *tabWidget = new QTabWidget;
+ tabWidget->addTab(widgetSubscriber, "Subscriber");
+ tabWidget->addTab(widgetOrder, "Order");
+
+ QVBoxLayout *mainLayout = new QVBoxLayout;
+ mainLayout->addWidget(tabWidget);
+ mainLayout->addWidget(buttonBox);
+ setLayout(mainLayout);
+#else
QGridLayout *mainLayout = new QGridLayout;
mainLayout->addWidget(nameLabel, 0, 0);
mainLayout->addWidget(nameEdit, 0, 1);
mainLayout->addWidget(offersCheckBox, 2, 1, 1, 2);
mainLayout->addWidget(buttonBox, 3, 0, 1, 3);
setLayout(mainLayout);
+#endif
setWindowTitle(title);
}
{
QApplication app(argc, argv);
MainWindow window;
+#if defined(Q_OS_SYMBIAN)
+ window.showMaximized();
+#elif defined(Q_WS_MAEMO_5) || defined(Q_WS_SIMULATOR)
+ windows.show();
+#else
window.resize(640, 480);
window.show();
+#endif
window.createSample();
return app.exec();
}
INSTALLS += target sources
symbian: CONFIG += qt_example
+maemo5: CONFIG += qt_example
INSTALLS += target sources
symbian: CONFIG += qt_example
+maemo5: CONFIG += qt_example
{
QApplication app(argc, argv);
MainWindow window;
+#if defined(Q_OS_SYMBIAN)
+ window.showMaximized();
+#elif defined(Q_WS_MAEMO_5) || defined(Q_WS_SIMULATOR)
+ window.show();
+#else
window.resize(640, 512);
window.show();
+#endif
return app.exec();
}
addFiles.path = .
DEPLOYMENT += addFiles
}
+maemo5: include($$QT_SOURCE_TREE/examples/maemo5pkgrules.pri)
+
INSTALLS += target sources
symbian: CONFIG += qt_example
+maemo5: CONFIG += qt_example
return 1;
TableEditor editor("person");
+#if defined(Q_OS_SYMBIAN)
+ editor.showMaximized();
+#else
editor.show();
- return editor.exec();
+#endif
+ return app.exec();
}
//! [0]
//! [0]
TableEditor::TableEditor(const QString &tableName, QWidget *parent)
- : QDialog(parent)
+ : QWidget(parent)
{
model = new QSqlTableModel(this);
model->setTable(tableName);
//! [0] //! [1]
QTableView *view = new QTableView;
view->setModel(model);
+ view->resizeColumnsToContents();
//! [1]
//! [2]
QT_END_NAMESPACE
//! [0]
-class TableEditor : public QDialog
+class TableEditor : public QWidget
{
Q_OBJECT
TARGET.UID3 = 0xA000C612
CONFIG += qt_example
}
+maemo5: include($$QT_SOURCE_TREE/examples/maemo5pkgrules.pri)
+
+simulator: warning(This example might not fully work on Simulator platform)
locationId = id;
displayedImage = imageFileEditor->currentText();
- setWindowFlags(Qt::Window);
+ // Commented the following line. Now the window will look like dialog and the Qt will place the QDialogBox buttons to menu area in Symbian.
+ // Too bad that the revert button is missing, Should the Qt place the buttons under Option menu in the menu area?!
+ // If the Qt::Window flag was used, the background of window is white in symbian and the QLabels can't be regognized from the background.
+
+ //setWindowFlags(Qt::Window);
enableButtons(false);
setWindowTitle(tr("Office: %1").arg(locationText->text()));
}
#ifndef Q_OS_SYMBIAN
view.show();
#else
- view.showFullScreen();
+ view.showMaximized();
#endif
#ifdef QT_KEYPAD_NAVIGATION
QApplication::setNavigationMode(Qt::NavigationModeCursorAuto);
QGraphicsPixmapItem *logo = scene->addPixmap(QPixmap(":/logo.png"));
logo->setPos(30, 515);
-#ifndef Q_OS_SYMBIAN
+#if !defined(Q_OS_SYMBIAN) && !defined(Q_WS_MAEMO_5)
setMinimumSize(470, 620);
setMaximumSize(470, 620);
#else
QFile *albumDetails = new QFile("albumdetails.xml");
MainWindow window("artists", "albums", albumDetails);
+#if defined(Q_OS_SYMBIAN)
+ window.showMaximized();
+#else
window.show();
+#endif
return app.exec();
}
layout->addWidget(artists, 0, 0);
layout->addWidget(albums, 1, 0);
layout->addWidget(details, 0, 1, 2, 1);
+#if !defined(Q_OS_SYMBIAN) && !defined(Q_WS_MAEMO_5)
layout->setColumnStretch(1, 1);
layout->setColumnMinimumWidth(0, 500);
+#endif
QWidget *widget = new QWidget;
widget->setLayout(layout);
createMenuBar();
showImageLabel();
+#if !defined(Q_OS_SYMBIAN) && !defined(Q_WS_MAEMO_5)
resize(850, 400);
+#endif
setWindowTitle(tr("Music Archive"));
}
TARGET.UID3 = 0xA000D7CF
CONFIG += qt_example
}
+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)
model->setHeaderData(2, Qt::Horizontal, QObject::tr("Last name"));
}
-void createView(const QString &title, QSqlQueryModel *model)
+QTableView* createView(QSqlQueryModel *model, const QString &title = "")
{
- static int offset = 0;
-
QTableView *view = new QTableView;
view->setModel(model);
+#if defined(Q_OS_SYMBIAN) || defined(Q_WS_MAEMO_5) || defined(Q_WS_SIMULATOR)
+ Q_UNUSED(title);
+ view->resizeColumnsToContents();
+#else
+ static int offset = 0;
+
view->setWindowTitle(title);
view->move(100 + offset, 100 + offset);
offset += 20;
view->show();
+#endif
+
+ return view;
}
int main(int argc, char *argv[])
initializeModel(&editableModel);
initializeModel(&customModel);
- createView(QObject::tr("Plain Query Model"), &plainModel);
- createView(QObject::tr("Editable Query Model"), &editableModel);
- createView(QObject::tr("Custom Query Model"), &customModel);
+#if defined(Q_OS_SYMBIAN) || defined(Q_WS_MAEMO_5) || defined(Q_WS_SIMULATOR)
+ QTabWidget *tabWidget = new QTabWidget;
+ tabWidget->addTab(createView(&plainModel), QObject::tr("Plain"));
+ tabWidget->addTab(createView(&editableModel), QObject::tr("Editable"));
+ tabWidget->addTab(createView(&customModel), QObject::tr("Custom"));
+ tabWidget->showMaximized();
+#else
+ createView(&plainModel, QObject::tr("Plain Query Model"));
+ createView(&editableModel, QObject::tr("Editable Query Model"));
+ createView(&customModel, QObject::tr("Custom Query Model"));
+#endif
return app.exec();
}
INSTALLS += target sources
symbian: CONFIG += qt_example
+maemo5: CONFIG += qt_example
initializeModel(&model);
QTableView *view = createView(QObject::tr("Relational Table Model"), &model);
+#if defined(Q_OS_SYMBIAN)
+ view->showMaximized();
+#else
view->show();
+#endif
return app.exec();
}
INSTALLS += target sources
symbian: CONFIG += qt_example
+maemo5: CONFIG += qt_example
INSTALLS += sources
symbian: CONFIG += qt_example
+maemo5: CONFIG += qt_example
{
QApplication app(argc, argv);
Window window;
+#if defined(Q_OS_SYMBIAN)
+ window.showMaximized();
+#else
window.show();
+#endif
return app.exec();
}
wince*: DEPLOYMENT_PLUGIN += qsqlite
+symbian: include($$QT_SOURCE_TREE/examples/symbianpkgrules.pri)
+maemo5: include($$QT_SOURCE_TREE/examples/maemo5pkgrules.pri)
+
model->setHeaderData(2, Qt::Horizontal, QObject::tr("Last name"));
}
-QTableView *createView(const QString &title, QSqlTableModel *model)
+QTableView *createView(QSqlTableModel *model, const QString &title = "")
{
QTableView *view = new QTableView;
view->setModel(model);
+#if defined(Q_OS_SYMBIAN) || defined(Q_WS_MAEMO_5) || defined(Q_WS_SIMULATOR)
+ Q_UNUSED(title)
+#else
view->setWindowTitle(title);
+#endif
return view;
}
initializeModel(&model);
- QTableView *view1 = createView(QObject::tr("Table Model (View 1)"), &model);
- QTableView *view2 = createView(QObject::tr("Table Model (View 2)"), &model);
+#if defined(Q_OS_SYMBIAN) || defined(Q_WS_MAEMO_5) || defined(Q_WS_SIMULATOR)
+ QTabWidget *tabWidget = new QTabWidget;
+ tabWidget->addTab(createView(&model), "View 1");
+ tabWidget->addTab(createView(&model), "View 2");
+
+ tabWidget->showMaximized();
+#else
+ QTableView *view1 = createView(&model, QObject::tr("Table Model (View 1)"));
+ QTableView *view2 = createView(&model, QObject::tr("Table Model (View 2)"));
view1->show();
view2->move(view1->x() + view1->width() + 20, view1->y());
view2->show();
+#endif
return app.exec();
}
INSTALLS += target sources
symbian: CONFIG += qt_example
+maemo5: CONFIG += qt_example
sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS eventtransitions.pro
sources.path = $$[QT_INSTALL_EXAMPLES]/qtbase/statemachine/eventtransitions
INSTALLS += target sources
+
+symbian: 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)
: QWidget(parent)
{
QPushButton *button = new QPushButton(this);
- button->setGeometry(QRect(100, 100, 100, 100));
+ button->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
+
+ QVBoxLayout *layout = new QVBoxLayout;
+ layout->addWidget(button);
+ layout->setContentsMargins(80, 80, 80, 80);
+ setLayout(layout);
//! [0]
//! [1]
QApplication app(argc, argv);
Window window;
window.resize(300, 300);
+#if defined(Q_OS_SYMBIAN)
+ window.showMaximized();
+#else
window.show();
+#endif
return app.exec();
}
sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS factorial.pro
sources.path = $$[QT_INSTALL_EXAMPLES]/qtbase/statemachine/factorial
INSTALLS += target sources
+
+symbian: 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)
sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS pingpong.pro
sources.path = $$[QT_INSTALL_EXAMPLES]/qtbase/statemachine/pingpong
INSTALLS += target sources
+
+symbian: 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)
QApplication app(argv, args);
Window window;
+#if defined(Q_OS_SYMBIAN)
+ window.showMaximized();
+#else
window.show();
+#endif
return app.exec();
}
int key = keyEvent->key();
return key == Qt::Key_2 || key == Qt::Key_8 || key == Qt::Key_6 ||
- key == Qt::Key_4;
+ key == Qt::Key_4 || key == Qt::Key_Down || key == Qt::Key_Up ||
+ key == Qt::Key_Right || key == Qt::Key_Left;
}
return false;
}
int key = keyEvent->key();
switch (key) {
+ case Qt::Key_Left:
case Qt::Key_4:
window->movePlayer(Window::Left);
break;
+ case Qt::Key_Up:
case Qt::Key_8:
window->movePlayer(Window::Up);
break;
+ case Qt::Key_Right:
case Qt::Key_6:
window->movePlayer(Window::Right);
break;
+ case Qt::Key_Down:
case Qt::Key_2:
window->movePlayer(Window::Down);
break;
sources.path = $$[QT_INSTALL_EXAMPLES]/qtbase/statemachine/rogue
INSTALLS += target sources
+symbian: include($$QT_SOURCE_TREE/examples/symbianpkgrules.pri)
+maemo5: include($$QT_SOURCE_TREE/examples/maemo5pkgrules.pri)
+
QFontDatabase database;
QFont font;
- if (database.families().contains("Monospace"))
- font = QFont("Monospace", 12);
+ if (database.families().contains("Monospace")) {
+ font = QFont("Monospace");
+ }
else {
foreach (QString family, database.families()) {
if (database.isFixedPitch(family)) {
- font = QFont(family, 12);
+ font = QFont(family);
break;
}
}
}
+#if defined(Q_OS_SYMBIAN) || defined(Q_WS_SIMULATOR)
+ font.setPointSize(5);
+#else
+ font.setPointSize(12);
+#endif
setFont(font);
//![1]
class QTransition;
QT_END_NAMESPACE
+#if defined(Q_OS_SYMBIAN) || defined(Q_WS_SIMULATOR)
+#define WIDTH 43
+#define HEIGHT 14
+#else
#define WIDTH 35
#define HEIGHT 20
+#endif
//![0]
class Window : public QWidget
: QWidget(parent)
{
QVBoxLayout *vbox = new QVBoxLayout(this);
+#ifdef Q_WS_MAEMO_5
+ vbox->setContentsMargins(320, 0, 320, 0);
+#endif
m_red = new LightWidget(Qt::red);
vbox->addWidget(m_red);
m_yellow = new LightWidget(Qt::yellow);
QApplication app(argc, argv);
TrafficLight widget;
+#if defined(Q_OS_SYMBIAN)
+ widget.showMaximized();
+#elif defined(Q_WS_MAEMO_5) || defined(Q_WS_SIMULATOR)
+ widget.show();
+#else
widget.resize(110, 300);
widget.show();
+#endif
return app.exec();
}
sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS trafficlight.pro
sources.path = $$[QT_INSTALL_EXAMPLES]/qtbase/statemachine/trafficlight
INSTALLS += target sources
+
+symbian: include($$QT_SOURCE_TREE/examples/symbianpkgrules.pri)
+maemo5: include($$QT_SOURCE_TREE/examples/maemo5pkgrules.pri)
+
//! [4]
//! [5]
+#if defined(Q_OS_SYMBIAN)
+ button.showMaximized();
+#elif defined(Q_WS_MAEMO_5) || defined(Q_WS_SIMULATOR)
+ button.show();
+#else
button.resize(100, 50);
button.show();
+#endif
return app.exec();
}
//! [5]
sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS twowaybutton.pro
sources.path = $$[QT_INSTALL_EXAMPLES]/qtbase/statemachine/twowaybutton
INSTALLS += target sources
+
+symbian: include($$QT_SOURCE_TREE/examples/symbianpkgrules.pri)
+maemo5: include($$QT_SOURCE_TREE/examples/maemo5pkgrules.pri)
+
{
QApplication app(argc, argv);
MandelbrotWidget widget;
+#if defined(Q_WS_S60)
+ widget.showMaximized();
+#else
widget.show();
+#endif
return app.exec();
}
//! [0]
INSTALLS += target sources
symbian: CONFIG += qt_example
+maemo5: CONFIG += qt_example
#include "mandelbrotwidget.h"
+
//! [0]
const double DefaultCenterX = -0.637011f;
const double DefaultCenterY = -0.0395159f;
setCursor(Qt::CrossCursor);
#endif
resize(550, 400);
+
+#if defined(Q_WS_S60) || defined(Q_WS_MAEMO_5) || defined(Q_WS_SIMULATOR)
+ ZoomButton *zoomIn = new ZoomButton(tr("Zoom In"), ZoomInFactor, this);
+ ZoomButton *zoomOut = new ZoomButton(tr("Zoom Out"), ZoomOutFactor, this);
+
+ QGridLayout *layout = new QGridLayout(this);
+ layout->addWidget(zoomIn, 0, 1);
+ layout->addWidget(zoomOut, 1, 1);
+ layout->setColumnStretch(0, 10);
+ layout->setRowStretch(2, 10);
+ setLayout(layout);
+
+ connect(zoomIn, SIGNAL(zoom(double)), this, SLOT(zoom(double)));
+ connect(zoomOut, SIGNAL(zoom(double)), this, SLOT(zoom(double)));
+#endif
}
//! [1]
}
//! [8] //! [9]
+#if !defined(Q_WS_S60) && !defined(Q_WS_MAEMO_5) && !defined(Q_WS_SIMULATOR)
QString text = tr("Use mouse wheel or the '+' and '-' keys to zoom. "
"Press and hold left mouse button to scroll.");
QFontMetrics metrics = painter.fontMetrics();
painter.setPen(Qt::white);
painter.drawText((width() - textWidth) / 2,
metrics.leading() + metrics.ascent(), text);
+#endif
}
//! [9]
#include <QPixmap>
#include <QWidget>
-
#include "renderthread.h"
+#if defined(Q_WS_S60) || defined(Q_WS_MAEMO_5) || defined(Q_WS_SIMULATOR)
+#include <QPushButton>
+
+class ZoomButton : public QPushButton
+{
+ Q_OBJECT
+public:
+ ZoomButton(const QString &text, double zoomFactor, QWidget *parent = NULL)
+ : QPushButton(text, parent), m_ZoomFactor(zoomFactor)
+ {
+ connect(this, SIGNAL(clicked()), this, SLOT(handleClick()));
+ }
+
+signals:
+ void zoom(double zoomFactor);
+
+private slots:
+ void handleClick()
+ {
+ emit zoom(m_ZoomFactor);
+ }
+
+private:
+ const double m_ZoomFactor;
+};
+#endif
+
//! [0]
class MandelbrotWidget : public QWidget
{
private slots:
void updatePixmap(const QImage &image, double scaleFactor);
+ void zoom(double zoomFactor);
private:
- void zoom(double zoomFactor);
void scroll(int deltaX, int deltaY);
RenderThread thread;
qsrand(QTime::currentTime().elapsed());
Window window;
+#if defined(Q_WS_S60)
+ window.showMaximized();
+#else
window.show();
+#endif
window.loadImage(createImage(256, 256));
//! [main finish]
block.cpp \
renderthread.cpp \
window.cpp
+
+# install
+target.path = $$[QT_INSTALL_EXAMPLES]/threads/mandelbrot
+sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS mandelbrot.pro
+sources.path = $$[QT_INSTALL_EXAMPLES]/threads/mandelbrot
+INSTALLS += target sources
+
+symbian: include($$QT_SOURCE_TREE/examples/symbianpkgrules.pri)
+maemo5: include($$QT_SOURCE_TREE/examples/maemo5pkgrules.pri)
+
**
****************************************************************************/
-#include <QtCore>
+#include <QtGui>
#include <stdio.h>
#include <stdlib.h>
//! [0]
+#ifdef Q_WS_S60
+const int DataSize = 300;
+#else
const int DataSize = 100000;
+#endif
+
const int BufferSize = 8192;
char buffer[BufferSize];
//! [1] //! [2]
{
public:
- void run();
-};
-
-void Producer::run()
-{
- qsrand(QTime(0,0,0).secsTo(QTime::currentTime()));
- for (int i = 0; i < DataSize; ++i) {
- freeBytes.acquire();
- buffer[i % BufferSize] = "ACGT"[(int)qrand() % 4];
- usedBytes.release();
+ void run()
+ {
+ qsrand(QTime(0,0,0).secsTo(QTime::currentTime()));
+ for (int i = 0; i < DataSize; ++i) {
+ freeBytes.acquire();
+ buffer[i % BufferSize] = "ACGT"[(int)qrand() % 4];
+ usedBytes.release();
+ }
}
-}
+};
//! [2]
//! [3]
class Consumer : public QThread
//! [3] //! [4]
{
+ Q_OBJECT
public:
- void run();
-};
-
-void Consumer::run()
-{
- for (int i = 0; i < DataSize; ++i) {
- usedBytes.acquire();
- fprintf(stderr, "%c", buffer[i % BufferSize]);
- freeBytes.release();
+ void run()
+ {
+ for (int i = 0; i < DataSize; ++i) {
+ usedBytes.acquire();
+ #ifdef Q_WS_S60
+ QString text(buffer[i % BufferSize]);
+ freeBytes.release();
+ emit stringConsumed(text);
+ #else
+ fprintf(stderr, "%c", buffer[i % BufferSize]);
+ freeBytes.release();
+ #endif
+ }
+ fprintf(stderr, "\n");
}
- fprintf(stderr, "\n");
-}
+
+signals:
+ void stringConsumed(const QString &text);
+
+protected:
+ bool finish;
+};
//! [4]
//! [5]
int main(int argc, char *argv[])
//! [5] //! [6]
{
+#ifdef Q_WS_S60
+ // Self made console for Symbian
+ QApplication app(argc, argv);
+ QPlainTextEdit console;
+ console.setReadOnly(true);
+ console.setTextInteractionFlags(Qt::NoTextInteraction);
+ console.showMaximized();
+
+ Producer producer;
+ Consumer consumer;
+
+ QObject::connect(&consumer, SIGNAL(stringConsumed(const QString&)), &console, SLOT(insertPlainText(QString)), Qt::BlockingQueuedConnection);
+
+ producer.start();
+ consumer.start();
+
+ app.exec();
+#else
QCoreApplication app(argc, argv);
Producer producer;
Consumer consumer;
producer.wait();
consumer.wait();
return 0;
+#endif
}
//! [6]
+
+#include "semaphores.moc"
SOURCES += semaphores.cpp
-QT = core
+QT = core gui
+
CONFIG -= app_bundle
CONFIG += console
INSTALLS += target sources
symbian: CONFIG += qt_example
+maemo5: CONFIG += qt_example
+
+simulator: warning(This example might not fully work on Simulator platform)
INSTALLS += target sources
symbian: CONFIG += qt_example
+maemo5: CONFIG += qt_example
**
****************************************************************************/
-#include <QtCore>
+#include <QtGui>
#include <stdio.h>
#include <stdlib.h>
//! [0]
+#ifdef Q_WS_S60
+const int DataSize = 300;
+#else
const int DataSize = 100000;
+#endif
+
const int BufferSize = 8192;
char buffer[BufferSize];
//! [1] //! [2]
{
public:
- void run();
-};
+ Producer(QObject *parent = NULL) : QThread(parent)
+ {
+ }
-void Producer::run()
-{
- qsrand(QTime(0,0,0).secsTo(QTime::currentTime()));
-
- for (int i = 0; i < DataSize; ++i) {
- mutex.lock();
- if (numUsedBytes == BufferSize)
- bufferNotFull.wait(&mutex);
- mutex.unlock();
-
- buffer[i % BufferSize] = "ACGT"[(int)qrand() % 4];
-
- mutex.lock();
- ++numUsedBytes;
- bufferNotEmpty.wakeAll();
- mutex.unlock();
+ void run()
+ {
+ qsrand(QTime(0,0,0).secsTo(QTime::currentTime()));
+
+ for (int i = 0; i < DataSize; ++i) {
+ mutex.lock();
+ if (numUsedBytes == BufferSize)
+ bufferNotFull.wait(&mutex);
+ mutex.unlock();
+
+ buffer[i % BufferSize] = "ACGT"[(int)qrand() % 4];
+
+ mutex.lock();
+ ++numUsedBytes;
+ bufferNotEmpty.wakeAll();
+ mutex.unlock();
+ }
}
-}
+};
//! [2]
//! [3]
class Consumer : public QThread
//! [3] //! [4]
{
+ Q_OBJECT
public:
- void run();
+ Consumer(QObject *parent = NULL) : QThread(parent)
+ {
+ }
+
+ void run()
+ {
+ for (int i = 0; i < DataSize; ++i) {
+ mutex.lock();
+ if (numUsedBytes == 0)
+ bufferNotEmpty.wait(&mutex);
+ mutex.unlock();
+
+ #ifdef Q_WS_S60
+ emit stringConsumed(QString(buffer[i % BufferSize]));
+ #else
+ fprintf(stderr, "%c", buffer[i % BufferSize]);
+ #endif
+
+ mutex.lock();
+ --numUsedBytes;
+ bufferNotFull.wakeAll();
+ mutex.unlock();
+ }
+ fprintf(stderr, "\n");
+ }
+
+signals:
+ void stringConsumed(const QString &text);
};
+//! [4]
-void Consumer::run()
+#ifdef Q_WS_S60
+class PlainTextEdit : public QPlainTextEdit
{
- for (int i = 0; i < DataSize; ++i) {
- mutex.lock();
- if (numUsedBytes == 0)
- bufferNotEmpty.wait(&mutex);
- mutex.unlock();
-
- fprintf(stderr, "%c", buffer[i % BufferSize]);
-
- mutex.lock();
- --numUsedBytes;
- bufferNotFull.wakeAll();
- mutex.unlock();
+ Q_OBJECT
+public:
+ PlainTextEdit(QWidget *parent = NULL) : QPlainTextEdit(parent), producer(NULL), consumer(NULL)
+ {
+ setTextInteractionFlags(Qt::NoTextInteraction);
+
+ producer = new Producer(this);
+ consumer = new Consumer(this);
+
+ QObject::connect(consumer, SIGNAL(stringConsumed(const QString &)), SLOT(insertPlainText(const QString &)), Qt::BlockingQueuedConnection);
+
+ QTimer::singleShot(0, this, SLOT(startThreads()));
}
- fprintf(stderr, "\n");
-}
-//! [4]
+
+protected:
+ Producer *producer;
+ Consumer *consumer;
+
+protected slots:
+ void startThreads()
+ {
+ producer->start();
+ consumer->start();
+ }
+};
+#endif
//! [5]
int main(int argc, char *argv[])
//! [5] //! [6]
{
+#ifdef Q_WS_S60
+ QApplication app(argc, argv);
+
+ PlainTextEdit console;
+ console.showMaximized();
+
+ return app.exec();
+#else
QCoreApplication app(argc, argv);
Producer producer;
Consumer consumer;
producer.wait();
consumer.wait();
return 0;
+#endif
}
//! [6]
+
+#include "waitconditions.moc"
######################################################################
TEMPLATE = app
+QT = core gui
CONFIG -= moc app_bundle
-QT -= gui
DEPENDPATH += .
INCLUDEPATH += .
INSTALLS += target sources
symbian: CONFIG += qt_example
+maemo5: CONFIG += qt_example
+
+simulator: warning(This example might not fully work on Simulator platform)
INSTALLS += target sources
symbian: CONFIG += qt_example
+maemo5: CONFIG += qt_example
+
+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)
INSTALLS += target sources
symbian: CONFIG += qt_example
+maemo5: CONFIG += qt_example
+
+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)
sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS contiguouscache.pro
sources.path = $$[QT_INSTALL_EXAMPLES]/qtbase/tools/contiguouscache
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)
INSTALLS += target sources
symbian: CONFIG += qt_example
+maemo5: CONFIG += qt_example
+
+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)
HEADERS = message.h
SOURCES = main.cpp \
message.cpp
+
+# install
+target.path = $$[QT_INSTALL_EXAMPLES]/tools/customcompleter
+sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS customcompleter.pro resources
+sources.path = $$[QT_INSTALL_EXAMPLES]/tools/customcompleter
+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)
SOURCES = main.cpp \
message.cpp \
window.cpp
+
+# install
+target.path = $$[QT_INSTALL_EXAMPLES]/tools/customcompleter
+sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS customcompleter.pro resources
+sources.path = $$[QT_INSTALL_EXAMPLES]/tools/customcompleter
+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)
INSTALLS += target sources
symbian: CONFIG += qt_example
+maemo5: CONFIG += qt_example
INSTALLS += target sources
symbian: CONFIG += qt_example
+maemo5: CONFIG += qt_example
+
+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)
sources.path = $$[QT_INSTALL_EXAMPLES]/qtbase/tools/echoplugin/plugin
INSTALLS += target sources
-symbian: CONFIG += qt_example
+symbian {
+ CONFIG += qt_example
+ TARGET.EPOCALLOWDLLDATA = 1
+}
-symbian:TARGET.EPOCALLOWDLLDATA = 1
+maemo5: CONFIG += qt_example
+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)
INSTALLS += target sources
symbian: CONFIG += qt_example
+maemo5: CONFIG += qt_example
+
+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)
INSTALLS += target sources
symbian: CONFIG += qt_example
+maemo5: CONFIG += qt_example
+
+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)
INSTALLS += target sources
symbian: CONFIG += qt_example
+maemo5: CONFIG += qt_example
+
+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)
INSTALLS += target sources
symbian: CONFIG += qt_example
+maemo5: CONFIG += qt_example
symbian: CONFIG += qt_example
symbian:TARGET.EPOCALLOWDLLDATA = 1
+maemo5: include($$QT_SOURCE_TREE/examples/maemo5pkgrules.pri)
INSTALLS += target sources
symbian: CONFIG += qt_example
+maemo5: CONFIG += qt_example
INSTALLS += target sources
symbian: CONFIG += qt_example
+maemo5: CONFIG += qt_example
+
+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)
INSTALLS += target sources
symbian: CONFIG += qt_example
+maemo5: CONFIG += qt_example
+
+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)
symbian: CONFIG += qt_example
symbian:TARGET.EPOCALLOWDLLDATA = 1
+maemo5: include($$QT_SOURCE_TREE/examples/maemo5pkgrules.pri)
INSTALLS += target sources
symbian: CONFIG += qt_example
+maemo5: CONFIG += qt_example
INSTALLS += target sources
symbian: CONFIG += qt_example
+maemo5: CONFIG += qt_example
INSTALLS += target sources
symbian: CONFIG += qt_example
+maemo5: CONFIG += qt_example
INSTALLS += target sources
symbian: CONFIG += qt_example
+maemo5: CONFIG += qt_example
+
+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)
INSTALLS += target sources
symbian: CONFIG += qt_example
+maemo5: CONFIG += qt_example
+
+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)
sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS dials.pro
sources.path = $$[QT_INSTALL_EXAMPLES]/qtbase/touch/dials
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)
sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS fingerpaint.pro
sources.path = $$[QT_INSTALL_EXAMPLES]/qtbase/touch/fingerpaint
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)
sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS knobs.pro
sources.path = $$[QT_INSTALL_EXAMPLES]/qtbase/touch/knobs
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)
sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS pinchzoom.pro images
sources.path = $$[QT_INSTALL_EXAMPLES]/qtbase/touch/pinchzoom
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)
sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS addressbook-fr.pro README
sources.path = $$[QT_INSTALL_EXAMPLES]/qtbase/tutorials/addressbook-fr
INSTALLS += target sources
+
sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS part1.pro
sources.path = $$[QT_INSTALL_EXAMPLES]/qtbase/tutorials/addressbook/part1
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)
sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS part2.pro
sources.path = $$[QT_INSTALL_EXAMPLES]/qtbase/tutorials/addressbook/part2
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)
sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS part3.pro
sources.path = $$[QT_INSTALL_EXAMPLES]/qtbase/tutorials/addressbook/part3
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)
sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS part4.pro
sources.path = $$[QT_INSTALL_EXAMPLES]/qtbase/tutorials/addressbook/part4
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)
sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS part5.pro
sources.path = $$[QT_INSTALL_EXAMPLES]/qtbase/tutorials/addressbook/part5
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)
sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS part6.pro
sources.path = $$[QT_INSTALL_EXAMPLES]/qtbase/tutorials/addressbook/part6
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)
sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS part7.pro
sources.path = $$[QT_INSTALL_EXAMPLES]/qtbase/tutorials/addressbook/part7
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)
INSTALLS += target sources
symbian: CONFIG += qt_example
+maemo5: CONFIG += qt_example
INSTALLS += target sources
symbian: CONFIG += qt_example
+maemo5: CONFIG += qt_example
+
+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)
INSTALLS += target sources
symbian: CONFIG += qt_example
+maemo5: CONFIG += qt_example
+
+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)
INSTALLS += target sources
symbian: CONFIG += qt_example
+maemo5: CONFIG += qt_example
+
+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)
INSTALLS += target sources
symbian: CONFIG += qt_example
+maemo5: CONFIG += qt_example
+
+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)
INSTALLS += target sources
symbian: CONFIG += qt_example
+maemo5: CONFIG += qt_example
+
+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)
INSTALLS += target sources
symbian: CONFIG += qt_example
+maemo5: CONFIG += qt_example
+
+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)
INSTALLS += target sources
symbian: CONFIG += qt_example
+maemo5: CONFIG += qt_example
+
+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)
INSTALLS += target sources
symbian: CONFIG += qt_example
+maemo5: CONFIG += qt_example
+
+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)
INSTALLS += target sources
symbian: CONFIG += qt_example
+maemo5: CONFIG += qt_example
+
+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)
INSTALLS += target sources
symbian: CONFIG += qt_example
+maemo5: CONFIG += qt_example
+
+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)
INSTALLS += target sources
symbian: CONFIG += qt_example
+maemo5: CONFIG += qt_example
+
+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)
INSTALLS += target sources
symbian: CONFIG += qt_example
+maemo5: CONFIG += qt_example
+
+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)
INSTALLS += target sources
symbian: CONFIG += qt_example
+maemo5: CONFIG += qt_example
+
+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)
INSTALLS += target sources
symbian: CONFIG += qt_example
+maemo5: CONFIG += qt_example
+
+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)
INSTALLS += target sources
symbian: CONFIG += qt_example
+maemo5: CONFIG += qt_example
sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS childwidget.pro
sources.path = $$[QT_INSTALL_EXAMPLES]/qtbase/tutorials/widgets/childwidget
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)
sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS nestedlayouts.pro
sources.path = $$[QT_INSTALL_EXAMPLES]/qtbase/tutorials/widgets/nestedlayouts
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)
sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS toplevel.pro
sources.path = $$[QT_INSTALL_EXAMPLES]/qtbase/tutorials/widgets/toplevel
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)
sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS windowlayout.pro
sources.path = $$[QT_INSTALL_EXAMPLES]/qtbase/tutorials/widgets/windowlayout
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)
{
QApplication app(argc, argv);
CalculatorForm calculator;
+#if defined(Q_OS_SYMBIAN)
+ calculator.showMaximized();
+#else
calculator.show();
+#endif
return app.exec();
}
//! [0]
TARGET.UID3 = 0xA000D7C1
CONFIG += qt_example
}
+maemo5: include($$QT_SOURCE_TREE/examples/maemo5pkgrules.pri)
+
INSTALLS += target sources
symbian: CONFIG += qt_example
+maemo5: CONFIG += qt_example
+
+symbian: warning(This example does not work on Symbian platform)
+simulator: warning(This example does not work on Simulator platform)
INSTALLS += target sources
symbian: CONFIG += qt_example
+maemo5: CONFIG += qt_example
TARGET.UID3 = 0xA000A64F
CONFIG += qt_example
}
+maemo5: include($$QT_SOURCE_TREE/examples/maemo5pkgrules.pri)
+
{
QApplication app(argc, argv);
AnalogClock clock;
+#if defined(Q_OS_SYMBIAN)
+ clock.showMaximized();
+#else
clock.show();
+#endif
return app.exec();
}
//! [0]
Calculator::Calculator(QWidget *parent)
- : QDialog(parent)
+ : QWidget(parent)
{
sumInMemory = 0.0;
sumSoFar = 0.0;
//! [5]
QGridLayout *mainLayout = new QGridLayout;
//! [5] //! [6]
+#if defined(Q_OS_SYMBIAN) || defined(Q_WS_MAEMO_5) || defined(Q_WS_SIMULATOR)
+ mainLayout->setSizeConstraint(QLayout::SetNoConstraint);
+#else
mainLayout->setSizeConstraint(QLayout::SetFixedSize);
-
+#endif
mainLayout->addWidget(display, 0, 0, 1, 6);
mainLayout->addWidget(backspaceButton, 1, 0, 1, 2);
mainLayout->addWidget(clearButton, 1, 2, 1, 2);
#ifndef CALCULATOR_H
#define CALCULATOR_H
-#include <QDialog>
+#include <QWidget>
QT_BEGIN_NAMESPACE
class QLineEdit;
class Button;
//! [0]
-class Calculator : public QDialog
+class Calculator : public QWidget
{
Q_OBJECT
TARGET.UID3 = 0xA000C602
CONFIG += qt_example
}
+maemo5: include($$QT_SOURCE_TREE/examples/maemo5pkgrules.pri)
+
{
QApplication app(argc, argv);
Calculator calc;
+#if defined(Q_OS_SYMBIAN)
+ calc.showMaximized();
+#else
calc.show();
+#endif
return app.exec();
}
TARGET.UID3 = 0xA000C603
CONFIG += qt_example
}
+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)
INSTALLS += target sources
symbian: CONFIG += qt_example
+maemo5: CONFIG += qt_example
+
+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)
sources.path = $$[QT_INSTALL_EXAMPLES]/qtbase/widgets/codeeditor
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)
CodeEditor editor;
editor.setWindowTitle(QObject::tr("Code Editor Example"));
+#if defined(Q_OS_SYMBIAN)
+ editor.showMaximized();
+#else
editor.show();
+#endif
return app.exec();
}
INSTALLS += target sources
symbian: CONFIG += qt_example
+maemo5: CONFIG += qt_example
{
QApplication app(argc, argv);
DigitalClock clock;
+#if defined(Q_OS_SYMBIAN)
+ clock.showMaximized();
+#else
clock.show();
+#endif
return app.exec();
}
INSTALLS += target sources
symbian: CONFIG += qt_example
+maemo5: CONFIG += qt_example
+
+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)
{
QApplication app(argc, argv);
Window window;
+#if defined(Q_OS_SYMBIAN)
+ window.showMaximized();
+#else
window.show();
+#endif
return app.exec();
}
}
DEPLOYMENT += imageFiles
}
+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)
{
QApplication app(argc, argv);
MainWindow mainWin;
+#if defined(Q_OS_SYMBIAN)
+ mainWin.showMaximized();
+#else
mainWin.show();
+#endif
return app.exec();
}
symbian: CONFIG += qt_example
+#Symbian has built-in component named imageviewer so we use different target
+symbian: TARGET = imageviewerexample
+
wince*: {
DEPLOYMENT_PLUGIN += qjpeg qmng qgif
}
+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)
{
QApplication app(argc, argv);
ImageViewer imageViewer;
+#if defined(Q_OS_SYMBIAN)
+ imageViewer.showMaximized();
+#else
imageViewer.show();
+#endif
return app.exec();
}
TARGET.UID3 = 0xA000C604
CONFIG += qt_example
}
+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)
{
QApplication app(argc, argv);
Window window;
+#if defined(Q_OS_SYMBIAN)
+ window.showMaximized();
+#else
window.show();
+#endif
return app.exec();
}
QApplication app(argc, argv);
MoviePlayer player;
player.show();
+#if defined(Q_OS_SYMBIAN)
+ player.showMaximized();
+#else
+ player.show();
+#endif
return app.exec();
}
DEPLOYMENT_PLUGIN += qmng
}
+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)
{
QApplication app(argc, argv);
MainWindow window;
+#if defined(Q_OS_SYMBIAN)
+ window.showMaximized();
+#else
window.show();
+#endif
return app.exec();
}
INSTALLS += target sources
symbian: CONFIG += qt_example
+maemo5: CONFIG += qt_example
{
QApplication app(argc, argv);
ShapedClock clock;
+#if defined(Q_OS_SYMBIAN)
+ clock.showMaximized();
+#else
clock.show();
+#endif
return app.exec();
}
TARGET.UID3 = 0xA000C605
CONFIG += qt_example
}
+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)
{
QApplication app(argc, argv);
Window window;
+#if defined(Q_OS_SYMBIAN)
+ window.showMaximized();
+#else
window.show();
+#endif
return app.exec();
}
INSTALLS += target sources
symbian: CONFIG += qt_example
+maemo5: CONFIG += qt_example
+
+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)
TARGET.UID3 = 0xA000CF6B
CONFIG += qt_example
}
+maemo5: include($$QT_SOURCE_TREE/examples/maemo5pkgrules.pri)
+
{
QApplication app(argc, argv);
Window window;
+#if defined(Q_OS_SYMBIAN)
+ window.showMaximized();
+#else
window.show();
+#endif
return app.exec();
}
INSTALLS += target sources
symbian: CONFIG += qt_example
+maemo5: CONFIG += qt_example
+
+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)
INSTALLS += target sources
symbian: CONFIG += qt_example
+maemo5: CONFIG += qt_example
+
+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)
QApplication app(argc, argv);
MainWindow window;
+#if defined(Q_OS_SYMBIAN)
+ window.showMaximized();
+#else
window.show();
+#endif
return app.exec();
}
INSTALLS += target sources
symbian: CONFIG += qt_example
+maemo5: CONFIG += qt_example
+
+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)
app.setCanvas(canvas);
MainWindow mainWindow(canvas);
+#if defined(Q_OS_SYMBIAN)
+ mainWindow.showMaximized();
+#elif defined(Q_WS_MAEMO_5) || defined(Q_WS_SIMULATOR)
+ mainWindow.show();
+#else
mainWindow.resize(500, 500);
mainWindow.show();
-
+#endif
return app.exec();
}
//! [0]
INSTALLS += target sources
symbian: CONFIG += qt_example
+maemo5: CONFIG += qt_example
+
+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)
{
QApplication app(argc, argv);
TetrixWindow window;
+#if defined(Q_OS_SYMBIAN)
+ window.showMaximized();
+#else
window.show();
+#endif
qsrand(QTime(0,0,0).secsTo(QTime::currentTime()));
return app.exec();
}
TARGET.UID3 = 0xA000C606
CONFIG += qt_example
}
+maemo5: include($$QT_SOURCE_TREE/examples/maemo5pkgrules.pri)
+
QApplication app(argc, argv);
qsrand(QTime(0,0,0).secsTo(QTime::currentTime()));
SortingBox sortingBox;
+#if defined(Q_OS_SYMBIAN)
+ sortingBox.showMaximized();
+#else
sortingBox.show();
+#endif
return app.exec();
}
INSTALLS += target sources
symbian: CONFIG += qt_example
+maemo5: CONFIG += qt_example
QApplication app(argc, argv);
ValidatorWidget w;
+#if defined(Q_OS_SYMBIAN)
+ w.showMaximized();
+#else
w.show();
+#endif
return app.exec();
}
INSTALLS += target sources
symbian: CONFIG += qt_example
+maemo5: CONFIG += qt_example
+
+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)
TEMPLATE = subdirs
SUBDIRS = analogclock \
+ applicationicon \
calculator \
calendarwidget \
charactermap \
codeeditor \
digitalclock \
+ elidedlabel \
groupbox \
icons \
imageviewer \
lineedits \
movie \
+ orientation \
scribble \
shapedclock \
sliders \
tooltips \
validators \
wiggly \
- windowflags
+ windowflags \
symbian: SUBDIRS = \
analogclock \
calendarwidget \
lineedits \
shapedclock \
+ symbianvibration \
tetrix \
wiggly \
softkeys
+MAEMO5: SUBDIRS += maemovibration
+
contains(styles, motif): SUBDIRS += styles
# install
INSTALLS += target sources
symbian: CONFIG += qt_example
+maemo5: CONFIG += qt_example
QApplication app(argc, argv);
bool smallScreen = QApplication::arguments().contains("-small-screen");
+#if defined(Q_OS_SYMBIAN) || defined(Q_WS_HILDON) || defined(Q_WS_MAEMO_5) || defined(Q_WS_SIMULATOR)
+ smallScreen = true;
+#endif
+
Dialog dialog(0, smallScreen);
if (!smallScreen)
TARGET.UID3 = 0xA000C607
CONFIG += qt_example
}
+maemo5: include($$QT_SOURCE_TREE/examples/maemo5pkgrules.pri)
+
{
QApplication app(argc, argv);
ControllerWindow controller;
+#if defined(Q_OS_SYMBIAN)
+ controller.showMaximized();
+#else
controller.show();
+#endif
return app.exec();
}
INSTALLS += target sources
symbian: CONFIG += qt_example
+maemo5: CONFIG += qt_example
+
+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)
symbian: CONFIG += qt_example
+symbian: {
+ include($$QT_SOURCE_TREE/examples/symbianpkgrules.pri)
+ addFiles.sources = frank.xbel jennifer.xbel
+ addFiles.path = files
+ DEPLOYMENT += addFiles
+}
+
wince*: {
- addFiles.files = frank.xbel jennifer.xbel
- addFiles.path = "\\My Documents"
- DEPLOYMENT += addFiles
+ addFiles.files = frank.xbel jennifer.xbel
+ addFiles.path = "\\My Documents"
+ DEPLOYMENT += addFiles
}
+maemo5: include($$QT_SOURCE_TREE/examples/maemo5pkgrules.pri)
+
{
QApplication app(argc, argv);
MainWindow mainWin;
+#if defined(Q_OS_SYMBIAN)
+ mainWin.showMaximized();
+#else
mainWin.show();
+#endif
+
mainWin.open();
return app.exec();
}
void MainWindow::open()
{
+#if defined(Q_OS_SYMBIAN)
+ // Look for bookmarks on the same drive where the application is installed to,
+ // if drive is not read only. QDesktopServices::DataLocation does this check,
+ // and returns writable drive.
+ QString bookmarksFolder =
+ QDesktopServices::storageLocation(QDesktopServices::DataLocation).left(1);
+ bookmarksFolder.append(":/Data/qt/saxbookmarks");
+ QDir::setCurrent(bookmarksFolder);
+#endif
QString fileName =
QFileDialog::getOpenFileName(this, tr("Open Bookmark File"),
QDir::currentPath(),
void MainWindow::saveAs()
{
+#if defined(Q_OS_SYMBIAN)
+ // Look for bookmarks on the same drive where the application is installed to,
+ // if drive is not read only. QDesktopServices::DataLocation does this check,
+ // and returns writable drive.
+ QString bookmarksFolder =
+ QDesktopServices::storageLocation(QDesktopServices::DataLocation).left(1);
+ bookmarksFolder.append(":/Data/qt/saxbookmarks");
+ QDir::setCurrent(bookmarksFolder);
+#endif
QString fileName =
QFileDialog::getSaveFileName(this, tr("Save Bookmark File"),
QDir::currentPath(),
SOURCES += main.cpp
QT -= gui
+RESOURCES = resources.qrc
+
+win32: CONFIG += console
+
wince*|symbian:{
htmlfiles.files = *.html
htmlfiles.path = .
TARGET.UID3 = 0xA000C609
CONFIG += qt_example
}
+maemo5: CONFIG += qt_example
+
+symbian: warning(This example does not work on Symbian platform)
QStringList filter;
filter << "*.htm";
filter << "*.html";
- QStringList htmlFiles = QDir::current().entryList(filter, QDir::Files);
+
+ QStringList htmlFiles = QDir(":/").entryList(filter, QDir::Files);
QTextStream out(stdout);
// parse each html file and write the result to file/stream
foreach(QString file, htmlFiles)
- parseHtmlFile(out, file);
+ parseHtmlFile(out, ":/" + file);
return 0;
}
{
QApplication app(argc, argv);
RSSListing *rsslisting = new RSSListing;
+#if defined(Q_OS_SYMBIAN)
+ rsslisting->showMaximized();
+#else
rsslisting->show();
+#endif
return app.exec();
}
RSSListing::RSSListing(QWidget *parent)
: QWidget(parent), currentReply(0)
{
+#ifdef Q_OS_SYMBIAN
+ // Set Internet Access Point
+ QNetworkConfigurationManager manager;
+ const bool canStartIAP = manager.capabilities() & QNetworkConfigurationManager::CanStartAndStopInterfaces;
+
+ // Is there default access point, use it
+ QNetworkConfiguration cfg = manager.defaultConfiguration();
+ if (!cfg.isValid() || !canStartIAP) {
+ // Available Access Points not found
+ QMessageBox::warning(this, "Error", "No access point");
+ return;
+ }
+
+ m_session = new QNetworkSession(cfg);
+ m_session->open();
+ m_session->waitForOpened();
+#endif
+
lineEdit = new QLineEdit(this);
lineEdit->setText("http://labs.qt.nokia.com/blogs/feed");
layout->addWidget(treeWidget);
setWindowTitle(tr("RSS listing example"));
+#if !defined(Q_OS_SYMBIAN) && !defined(Q_WS_MAEMO_5)
resize(640,480);
+#endif
}
/*
#include <QXmlStreamReader>
#include <QUrl>
+#ifdef Q_OS_SYMBIAN
+// Bearer
+#include <QNetworkConfigurationManager>
+#include <QNetworkSession>
+#include <QPointer>
+
+// QtMobility namespace
+QTM_USE_NAMESPACE
+#endif
+
QT_BEGIN_NAMESPACE
class QLineEdit;
class QTreeWidget;
QLineEdit *lineEdit;
QTreeWidget *treeWidget;
QPushButton *fetchButton;
+
+#ifdef Q_OS_SYMBIAN
+ // for bearer management
+ QPointer<QNetworkSession> m_session;
+#endif
};
#endif
sources.path = $$[QT_INSTALL_EXAMPLES]/qtbase/xml/rsslisting
INSTALLS += target sources
-symbian: CONFIG += qt_example
+symbian {
+ CONFIG += qt_example
+ # For QtMobility
+ CONFIG += mobility
+ MOBILITY = bearer
+
+ # For QtMobility
+ TARGET.CAPABILITY = NetworkServices
+}
+
+maemo5: CONFIG += qt_example
addFiles.path = /data/qt/saxbookmarks
DEPLOYMENT += addFiles
}
+maemo5: include($$QT_SOURCE_TREE/examples/maemo5pkgrules.pri)
+
{
QApplication app(argc, argv);
MainWindow mainWin;
+#ifdef Q_OS_SYMBIAN
+ mainWin.showFullScreen();
+#endif
mainWin.show();
mainWin.open();
return app.exec();
//! [1]
void MainWindow::open()
{
+#if defined(Q_OS_SYMBIAN)
+ // Look for bookmarks on the same drive where the application is installed to,
+ // if drive is not read only. QDesktopServices::DataLocation does this check,
+ // and returns writable drive.
+ QString bookmarksFolder =
+ QDesktopServices::storageLocation(QDesktopServices::DataLocation).left(1);
+ bookmarksFolder.append(":/Data/qt/saxbookmarks");
+ QDir::setCurrent(bookmarksFolder);
+#endif
QString fileName =
QFileDialog::getOpenFileName(this, tr("Open Bookmark File"),
QDir::currentPath(),
//! [2]
void MainWindow::saveAs()
{
+#if defined(Q_OS_SYMBIAN)
+ // Look for bookmarks on the same drive where the application is installed to,
+ // if drive is not read only. QDesktopServices::DataLocation does this check,
+ // and returns writable drive.
+ QString bookmarksFolder =
+ QDesktopServices::storageLocation(QDesktopServices::DataLocation).left(1);
+ bookmarksFolder.append(":/Data/qt/saxbookmarks");
+ QDir::setCurrent(bookmarksFolder);
+#endif
QString fileName =
QFileDialog::getSaveFileName(this, tr("Save Bookmark File"),
QDir::currentPath(),
sources.path = $$[QT_INSTALL_EXAMPLES]/qtbase/xml/streambookmarks
INSTALLS += target sources
-symbian: CONFIG += qt_example
+symbian: {
+ CONFIG += qt_example
+ addFiles.sources = frank.xbel jennifer.xbel
+ addFiles.path = /data/qt/streambookmarks
+ DEPLOYMENT += addFiles
+}
+maemo5: CONFIG += qt_example
INSTALLS += target sources
symbian: CONFIG += qt_example
+maemo5: CONFIG += qt_example
INSTALLS += target sources
symbian: CONFIG += qt_example
+maemo5: CONFIG += qt_example
+
+symbian: warning(This example does not work on Symbian platform)
+simulator: warning(This example does not work on Simulator platform)
const SymbianLocalizationList &symbianLocalizationList);
QString generateLocFileName();
+
protected:
MakefileGenerator *generator;
[super setInitialFirstResponder:view];
}
+- (void)setInitialFirstResponder:(NSView *)view
+{
+ // This method is called the first time the window is placed on screen and
+ // is the earliest point in time we can connect OpenGL contexts to NSViews.
+ QWidget *qwidget = [[QT_MANGLE_NAMESPACE(QCocoaWindowDelegate) sharedDelegate] qt_qwidgetForWindow:self];
+ if (qwidget) {
+ qt_event_request_window_change(qwidget);
+ qt_mac_send_posted_gl_updates(qwidget);
+ }
+
+ [super setInitialFirstResponder:view];
+}
+
- (BOOL)makeFirstResponder:(NSResponder *)responder
{
// For some reason Cocoa wants to flip the first responder
\brief The QWidget class is the base class of all user interface objects.
\ingroup basicwidgets
-
+
The widget is the atom of the user interface: it receives mouse, keyboard
and other events from the window system, and paints a representation of
itself on the screen. Every widget is rectangular, and they are sorted in a