From 0cbcc61ef35b9bce1d65d048853c79004b755b87 Mon Sep 17 00:00:00 2001 From: David Boddie Date: Wed, 11 May 2011 17:35:46 +0200 Subject: [PATCH] Squashed commit of changes from the 4.8-temp branch. --- doc/src/examples/applicationicon.qdoc | 88 ++++++++ doc/src/examples/cube.qdoc | 178 ++++++++++++++++ doc/src/examples/elidedlabel.qdoc | 162 +++++++++++++++ doc/src/examples/maemovibration.qdoc | 164 +++++++++++++++ doc/src/examples/orientation.qdoc | 143 +++++++++++++ doc/src/examples/symbianvibration.qdoc | 192 ++++++++++++++++++ doc/src/images/appicon_packagecontents.png | Bin 0 -> 21266 bytes doc/src/images/appicon_screenshot.png | Bin 0 -> 150183 bytes doc/src/images/cube.png | Bin 0 -> 40459 bytes doc/src/images/cube_faces.png | Bin 0 -> 63082 bytes doc/src/images/elidedlabel-example.png | Bin 0 -> 24876 bytes doc/src/images/maemovibration-example.png | Bin 0 -> 54782 bytes doc/src/images/orientation-landscape-ui.png | Bin 0 -> 18077 bytes doc/src/images/orientation-landscape.png | Bin 0 -> 46496 bytes doc/src/images/orientation-portrait-ui.png | Bin 0 -> 9785 bytes doc/src/images/orientation-portrait.png | Bin 0 -> 17377 bytes doc/src/images/symbianvibration-example.png | Bin 0 -> 23217 bytes .../textdocument-listitemstyles/main.cpp | 52 +++++ .../mainwindow.cpp | 84 ++++++++ .../textdocument-listitemstyles/mainwindow.h | 65 ++++++ .../textdocument-listitemstyles.pro | 3 + .../animatedtiles/animatedtiles.desktop | 11 + .../animation/appchooser/appchooser.desktop | 11 + examples/animation/easing/easing.desktop | 11 + .../animation/moveblocks/moveblocks.desktop | 11 + examples/animation/states/states.desktop | 11 + examples/animation/stickman/rectbutton.cpp | 33 +++ examples/animation/stickman/rectbutton.h | 25 +++ examples/animation/stickman/stickman.desktop | 11 + .../dbus/complexpingpong/complexping.desktop | 11 + .../dbus/complexpingpong/complexpong.desktop | 11 + examples/dbus/dbus-chat/dbus-chat.desktop | 11 + examples/dbus/listnames/listnames.desktop | 11 + examples/dbus/pingpong/ping.desktop | 11 + examples/dbus/pingpong/pong.desktop | 11 + .../dbus/remotecontrolledcar/car/car.desktop | 11 + .../controller/controller.desktop | 11 + .../desktop/screenshot/screenshot.desktop | 11 + examples/desktop/systray/systray.desktop | 11 + .../dialogs/classwizard/classwizard.desktop | 11 + .../dialogs/configdialog/configdialog.desktop | 11 + examples/dialogs/extension/extension.desktop | 11 + examples/dialogs/findfiles/findfiles.desktop | 11 + .../licensewizard/licensewizard.desktop | 11 + examples/dialogs/sipdialog/sipdialog.desktop | 11 + .../standarddialogs/standarddialogs.desktop | 11 + examples/dialogs/tabdialog/tabdialog.desktop | 11 + .../trivialwizard/trivialwizard.desktop | 11 + .../delayedencoding/delayedencoding.desktop | 11 + .../draggableicons/draggableicons.desktop | 11 + .../draggabletext/draggabletext.desktop | 11 + .../draganddrop/dropsite/dropsite.desktop | 11 + .../fridgemagnets/fridgemagnets.desktop | 11 + examples/draganddrop/puzzle/puzzle.desktop | 11 + .../effects/blurpicker/blurpicker.desktop | 11 + .../effects/fademessage/fademessage.desktop | 11 + examples/effects/lighting/lighting.desktop | 11 + .../imagegestures/imagegestures.desktop | 11 + .../anchorlayout/anchorlayout.desktop | 11 + .../basicgraphicslayouts.desktop | 11 + .../collidingmice/collidingmice.desktop | 11 + .../dragdroprobot/dragdroprobot.desktop | 11 + .../elasticnodes/elasticnodes.desktop | 11 + .../flowlayout/flowlayout.desktop | 11 + .../padnavigator/padnavigator.desktop | 11 + .../portedasteroids/portedasteroids.desktop | 11 + .../portedcanvas/portedcanvas.desktop | 11 + .../simpleanchorlayout.desktop | 11 + .../weatheranchorlayout.desktop | 11 + .../localfortuneclient.desktop | 11 + .../localfortuneserver.desktop | 11 + .../ipc/sharedmemory/sharedmemory.desktop | 11 + .../itemviews/addressbook/addressbook.desktop | 11 + .../basicsortfiltermodel.desktop | 11 + examples/itemviews/chart/chart.desktop | 11 + .../coloreditorfactory.desktop | 11 + .../combowidgetmapper.desktop | 11 + .../customsortfiltermodel.desktop | 11 + examples/itemviews/dirview/dirview.desktop | 11 + .../editabletreemodel.desktop | 11 + .../itemviews/fetchmore/fetchmore.desktop | 11 + .../frozencolumn/frozencolumn.desktop | 11 + .../itemviews/pixelator/pixelator.desktop | 11 + examples/itemviews/puzzle/puzzle.desktop | 11 + .../simpledommodel/simpledommodel.desktop | 11 + .../simpletreemodel/simpletreemodel.desktop | 11 + .../simplewidgetmapper.desktop | 11 + .../spinboxdelegate/spinboxdelegate.desktop | 11 + .../stardelegate/stardelegate.desktop | 11 + .../layouts/basiclayouts/basiclayouts.desktop | 11 + .../layouts/borderlayout/borderlayout.desktop | 11 + .../dynamiclayouts/dynamiclayouts.desktop | 11 + .../layouts/flowlayout/flowlayout.desktop | 11 + .../application/application.desktop | 11 + .../dockwidgets/dockwidgets.desktop | 11 + examples/mainwindows/mdi/mdi.desktop | 11 + examples/mainwindows/menus/menus.desktop | 11 + .../recentfiles/recentfiles.desktop | 11 + examples/mainwindows/sdi/sdi.desktop | 11 + .../network/bearercloud/bearercloud.desktop | 11 + .../bearermonitor/bearermonitor.desktop | 11 + .../blockingfortuneclient.desktop | 11 + .../broadcastreceiver.desktop | 11 + .../broadcastsender/broadcastsender.desktop | 11 + examples/network/download/download.desktop | 11 + .../downloadmanager/downloadmanager.desktop | 11 + .../fortuneclient/fortuneclient.desktop | 11 + .../fortuneserver/fortuneserver.desktop | 11 + .../googlesuggest/googlesuggest.desktop | 11 + examples/network/http/http.desktop | 11 + examples/network/loopback/loopback.desktop | 11 + .../network/network-chat/network-chat.desktop | 11 + examples/network/qftp/qftp.desktop | 11 + .../securesocketclient.desktop | 11 + .../threadedfortuneserver.desktop | 11 + examples/network/torrent/torrent.desktop | 11 + examples/opengl/2dpainting/2dpainting.desktop | 11 + examples/opengl/cube/cube.desktop | 11 + examples/opengl/cube/cube.png | Bin 0 -> 30341 bytes examples/opengl/cube/cube.pro | 40 ++++ examples/opengl/cube/fshader.glsl | 18 ++ examples/opengl/cube/geometryengine.cpp | 130 ++++++++++++ examples/opengl/cube/geometryengine.h | 24 +++ examples/opengl/cube/main.cpp | 22 ++ examples/opengl/cube/mainwidget.cpp | 192 ++++++++++++++++++ examples/opengl/cube/mainwidget.h | 53 +++++ examples/opengl/cube/shaders.qrc | 6 + examples/opengl/cube/textures.qrc | 5 + examples/opengl/cube/vshader.glsl | 24 +++ .../framebufferobject.desktop | 11 + .../framebufferobject2.desktop | 11 + examples/opengl/grabber/grabber.desktop | 11 + examples/opengl/hellogl/hellogl.desktop | 11 + examples/opengl/hellogl_es/hellogl_es.desktop | 11 + .../opengl/hellogl_es2/hellogl_es2.desktop | 11 + .../opengl/overpainting/overpainting.desktop | 11 + examples/opengl/pbuffers/pbuffers.desktop | 11 + examples/opengl/pbuffers2/pbuffers2.desktop | 11 + .../samplebuffers/samplebuffers.desktop | 11 + examples/opengl/textures/textures.desktop | 11 + examples/openvg/openvg.desktop | 11 + .../basicdrawing/basicdrawing.desktop | 11 + .../concentriccircles.desktop | 11 + .../painting/fontsampler/fontsampler.desktop | 11 + .../imagecomposition/imagecomposition.desktop | 11 + .../painterpaths/painterpaths.desktop | 11 + .../svggenerator/svggenerator.desktop | 11 + examples/painting/svgviewer/svgviewer.desktop | 11 + .../transformations/transformations.desktop | 11 + .../imagescaling/imagescaling.desktop | 11 + examples/qtconcurrent/map/map.desktop | 11 + .../progressdialog/progressdialog.desktop | 11 + .../runfunction/runfunction.desktop | 11 + .../qtconcurrent/wordcount/wordcount.desktop | 11 + examples/qtestlib/tutorial1/tutorial1.desktop | 11 + examples/qtestlib/tutorial2/tutorial2.desktop | 11 + examples/qtestlib/tutorial3/tutorial3.desktop | 11 + examples/qtestlib/tutorial4/tutorial4.desktop | 11 + examples/qtestlib/tutorial5/tutorial5.desktop | 11 + examples/qws/dbscreen/dbscreen.desktop | 11 + examples/qws/framebuffer/framebuffer.desktop | 11 + .../mousecalibration/mousecalibration.desktop | 11 + .../simpledecoration/simpledecoration.desktop | 11 + examples/qws/svgalib/svgalib.desktop | 11 + examples/richtext/calendar/calendar.desktop | 11 + examples/richtext/orderform/orderform.desktop | 11 + .../syntaxhighlighter.desktop | 11 + examples/sql/cachedtable/cachedtable.desktop | 11 + examples/sql/drilldown/drilldown.desktop | 11 + .../sql/masterdetail/masterdetail.desktop | 11 + examples/sql/querymodel/querymodel.desktop | 11 + .../relationaltablemodel.desktop | 11 + .../sqlwidgetmapper/sqlwidgetmapper.desktop | 11 + examples/sql/tablemodel/tablemodel.desktop | 11 + .../eventtransitions/eventtransitions.desktop | 11 + .../statemachine/factorial/factorial.desktop | 11 + .../statemachine/pingpong/pingpong.desktop | 11 + examples/statemachine/rogue/rogue.desktop | 11 + .../trafficlight/trafficlight.desktop | 11 + .../twowaybutton/twowaybutton.desktop | 11 + .../threads/mandelbrot/mandelbrot.desktop | 11 + .../queuedcustomtype/queuedcustomtype.desktop | 11 + .../threads/semaphores/semaphores.desktop | 11 + .../waitconditions/waitconditions.desktop | 11 + examples/tools/codecs/codecs.desktop | 11 + examples/tools/completer/completer.desktop | 11 + .../contiguouscache/contiguouscache.desktop | 11 + .../customcompleter/customcompleter.desktop | 11 + examples/tools/customtype/customtype.desktop | 11 + .../customtypesending.desktop | 11 + .../echoplugin/echowindow/echowindow.desktop | 11 + .../tools/echoplugin/plugin/plugin.desktop | 11 + examples/tools/i18n/i18n.desktop | 11 + examples/tools/inputpanel/inputpanel.desktop | 11 + .../tools/plugandpaint/plugandpaint.desktop | 11 + examples/tools/regexp/regexp.desktop | 11 + .../settingseditor/settingseditor.desktop | 11 + .../treemodelcompleter.desktop | 11 + .../tools/undoframework/undoframework.desktop | 11 + examples/touch/dials/dials.desktop | 11 + .../touch/fingerpaint/fingerpaint.desktop | 11 + examples/touch/knobs/knobs.desktop | 11 + examples/touch/pinchzoom/pinchzoom.desktop | 11 + .../addressbook-fr/part1/part1.desktop | 11 + .../addressbook-fr/part2/part2.desktop | 11 + .../addressbook-fr/part3/part3.desktop | 11 + .../addressbook-fr/part4/part4.desktop | 11 + .../addressbook-fr/part5/part5.desktop | 11 + .../addressbook-fr/part6/part6.desktop | 11 + .../addressbook-fr/part7/part7.desktop | 11 + .../tutorials/addressbook/part1/part1.desktop | 11 + .../tutorials/addressbook/part2/part2.desktop | 11 + .../tutorials/addressbook/part3/part3.desktop | 11 + .../tutorials/addressbook/part4/part4.desktop | 11 + .../tutorials/addressbook/part5/part5.desktop | 11 + .../tutorials/addressbook/part6/part6.desktop | 11 + .../tutorials/addressbook/part7/part7.desktop | 11 + .../gettingStarted/gsQt/part1/part1.pro | 8 + .../gettingStarted/gsQt/part2/part2.pro | 9 + .../gettingStarted/gsQt/part3/part3.pro | 9 + .../gettingStarted/gsQt/part4/part4.pro | 9 + .../gettingStarted/gsQt/part5/part5.pro | 9 + .../modelview/1_readonly/1_readonly.desktop | 11 + .../2_formatting/2_formatting.desktop | 11 + .../3_changingmodel/3_changingmodel.desktop | 11 + .../modelview/4_headers/4_headers.desktop | 11 + .../tutorials/modelview/5_edit/5_edit.desktop | 11 + .../modelview/6_treeview/6_treeview.desktop | 11 + .../7_selections/7_selections.desktop | 11 + .../widgets/childwidget/childwidget.desktop | 11 + .../nestedlayouts/nestedlayouts.desktop | 11 + .../widgets/toplevel/toplevel.desktop | 11 + .../widgets/windowlayout/windowlayout.desktop | 11 + .../multipleinheritance.desktop | 11 + .../uitools/textfinder/textfinder.desktop | 11 + .../widgets/analogclock/analogclock.desktop | 11 + .../applicationicon/applicationicon.desktop | 11 + .../applicationicon/applicationicon.png | Bin 0 -> 4023 bytes .../applicationicon/applicationicon.pro | 30 +++ .../widgets/calculator/calculator.desktop | 11 + examples/widgets/calculator/releasenotes.txt | 4 + .../calendarwidget/calendarwidget.desktop | 11 + .../widgets/charactermap/charactermap.desktop | 11 + .../widgets/codeeditor/codeeditor.desktop | 11 + .../widgets/digitalclock/digitalclock.desktop | 11 + .../widgets/elidedlabel/elidedlabel.desktop | 11 + examples/widgets/elidedlabel/elidedlabel.pro | 31 +++ examples/widgets/groupbox/groupbox.desktop | 11 + examples/widgets/icons/icons.desktop | 11 + .../widgets/imageviewer/imageviewer.desktop | 11 + examples/widgets/lineedits/lineedits.desktop | 11 + .../widgets/maemovibration/buttonwidget.cpp | 26 +++ .../widgets/maemovibration/buttonwidget.h | 24 +++ .../data/48x48/maemovibration.png | Bin 0 -> 2406 bytes .../data/64x64/maemovibration.png | Bin 0 -> 2989 bytes .../data/maemovibration.desktop | 12 ++ .../data/maemovibration.service | 3 + .../widgets/maemovibration/maemovibration.pro | 52 +++++ examples/widgets/maemovibration/main.cpp | 44 ++++ .../widgets/maemovibration/mcevibrator.cpp | 79 +++++++ examples/widgets/maemovibration/mcevibrator.h | 31 +++ examples/widgets/movie/movie.desktop | 11 + examples/widgets/orientation/image_a.png | Bin 0 -> 1075 bytes examples/widgets/orientation/image_b.png | Bin 0 -> 1020 bytes examples/widgets/orientation/image_c.png | Bin 0 -> 1163 bytes examples/widgets/orientation/images.qrc | 7 + examples/widgets/orientation/landscape.ui | 114 +++++++++++ examples/widgets/orientation/main.cpp | 15 ++ examples/widgets/orientation/mainwindow.cpp | 75 +++++++ examples/widgets/orientation/mainwindow.h | 33 +++ .../widgets/orientation/orientation.desktop | 11 + examples/widgets/orientation/orientation.pro | 30 +++ examples/widgets/orientation/portrait.ui | 61 ++++++ examples/widgets/scribble/scribble.desktop | 11 + .../widgets/shapedclock/shapedclock.desktop | 11 + examples/widgets/sliders/sliders.desktop | 11 + examples/widgets/softkeys/softkeys.desktop | 11 + examples/widgets/spinboxes/spinboxes.desktop | 11 + examples/widgets/styles/styles.desktop | 11 + .../widgets/stylesheet/stylesheet.desktop | 11 + examples/widgets/symbianvibration/main.cpp | 14 ++ .../widgets/symbianvibration/mainwindow.cpp | 23 +++ .../widgets/symbianvibration/mainwindow.h | 23 +++ .../symbianvibration/symbianvibration.pro | 39 ++++ .../symbianvibration/vibrationsurface.cpp | 117 +++++++++++ .../symbianvibration/vibrationsurface.h | 31 +++ examples/widgets/symbianvibration/xqvibra.cpp | 170 ++++++++++++++++ examples/widgets/symbianvibration/xqvibra.h | 61 ++++++ .../widgets/symbianvibration/xqvibra_p.cpp | 131 ++++++++++++ examples/widgets/symbianvibration/xqvibra_p.h | 39 ++++ examples/widgets/tablet/tablet.desktop | 11 + examples/widgets/tetrix/tetrix.desktop | 11 + examples/widgets/tooltips/tooltips.desktop | 11 + .../widgets/validators/validators.desktop | 11 + examples/widgets/wiggly/wiggly.desktop | 11 + .../widgets/windowflags/windowflags.desktop | 11 + .../xml/dombookmarks/dombookmarks.desktop | 11 + examples/xml/htmlinfo/htmlinfo.desktop | 11 + examples/xml/rsslisting/rsslisting.desktop | 11 + .../xml/saxbookmarks/saxbookmarks.desktop | 11 + .../streambookmarks/streambookmarks.desktop | 11 + .../xml/xmlstreamlint/xmlstreamlint.desktop | 11 + 302 files changed, 5585 insertions(+) create mode 100644 doc/src/examples/applicationicon.qdoc create mode 100644 doc/src/examples/cube.qdoc create mode 100644 doc/src/examples/elidedlabel.qdoc create mode 100644 doc/src/examples/maemovibration.qdoc create mode 100644 doc/src/examples/orientation.qdoc create mode 100644 doc/src/examples/symbianvibration.qdoc create mode 100644 doc/src/images/appicon_packagecontents.png create mode 100644 doc/src/images/appicon_screenshot.png create mode 100644 doc/src/images/cube.png create mode 100644 doc/src/images/cube_faces.png create mode 100644 doc/src/images/elidedlabel-example.png create mode 100644 doc/src/images/maemovibration-example.png create mode 100644 doc/src/images/orientation-landscape-ui.png create mode 100644 doc/src/images/orientation-landscape.png create mode 100644 doc/src/images/orientation-portrait-ui.png create mode 100644 doc/src/images/orientation-portrait.png create mode 100644 doc/src/images/symbianvibration-example.png create mode 100644 doc/src/snippets/textdocument-listitemstyles/main.cpp create mode 100644 doc/src/snippets/textdocument-listitemstyles/mainwindow.cpp create mode 100644 doc/src/snippets/textdocument-listitemstyles/mainwindow.h create mode 100644 doc/src/snippets/textdocument-listitemstyles/textdocument-listitemstyles.pro create mode 100644 examples/animation/animatedtiles/animatedtiles.desktop create mode 100644 examples/animation/appchooser/appchooser.desktop create mode 100644 examples/animation/easing/easing.desktop create mode 100644 examples/animation/moveblocks/moveblocks.desktop create mode 100644 examples/animation/states/states.desktop create mode 100644 examples/animation/stickman/rectbutton.cpp create mode 100644 examples/animation/stickman/rectbutton.h create mode 100644 examples/animation/stickman/stickman.desktop create mode 100644 examples/dbus/complexpingpong/complexping.desktop create mode 100644 examples/dbus/complexpingpong/complexpong.desktop create mode 100644 examples/dbus/dbus-chat/dbus-chat.desktop create mode 100644 examples/dbus/listnames/listnames.desktop create mode 100644 examples/dbus/pingpong/ping.desktop create mode 100644 examples/dbus/pingpong/pong.desktop create mode 100644 examples/dbus/remotecontrolledcar/car/car.desktop create mode 100644 examples/dbus/remotecontrolledcar/controller/controller.desktop create mode 100644 examples/desktop/screenshot/screenshot.desktop create mode 100644 examples/desktop/systray/systray.desktop create mode 100644 examples/dialogs/classwizard/classwizard.desktop create mode 100644 examples/dialogs/configdialog/configdialog.desktop create mode 100644 examples/dialogs/extension/extension.desktop create mode 100644 examples/dialogs/findfiles/findfiles.desktop create mode 100644 examples/dialogs/licensewizard/licensewizard.desktop create mode 100644 examples/dialogs/sipdialog/sipdialog.desktop create mode 100644 examples/dialogs/standarddialogs/standarddialogs.desktop create mode 100644 examples/dialogs/tabdialog/tabdialog.desktop create mode 100644 examples/dialogs/trivialwizard/trivialwizard.desktop create mode 100644 examples/draganddrop/delayedencoding/delayedencoding.desktop create mode 100644 examples/draganddrop/draggableicons/draggableicons.desktop create mode 100644 examples/draganddrop/draggabletext/draggabletext.desktop create mode 100644 examples/draganddrop/dropsite/dropsite.desktop create mode 100644 examples/draganddrop/fridgemagnets/fridgemagnets.desktop create mode 100644 examples/draganddrop/puzzle/puzzle.desktop create mode 100644 examples/effects/blurpicker/blurpicker.desktop create mode 100644 examples/effects/fademessage/fademessage.desktop create mode 100644 examples/effects/lighting/lighting.desktop create mode 100644 examples/gestures/imagegestures/imagegestures.desktop create mode 100644 examples/graphicsview/anchorlayout/anchorlayout.desktop create mode 100644 examples/graphicsview/basicgraphicslayouts/basicgraphicslayouts.desktop create mode 100644 examples/graphicsview/collidingmice/collidingmice.desktop create mode 100644 examples/graphicsview/dragdroprobot/dragdroprobot.desktop create mode 100644 examples/graphicsview/elasticnodes/elasticnodes.desktop create mode 100644 examples/graphicsview/flowlayout/flowlayout.desktop create mode 100644 examples/graphicsview/padnavigator/padnavigator.desktop create mode 100644 examples/graphicsview/portedasteroids/portedasteroids.desktop create mode 100644 examples/graphicsview/portedcanvas/portedcanvas.desktop create mode 100644 examples/graphicsview/simpleanchorlayout/simpleanchorlayout.desktop create mode 100644 examples/graphicsview/weatheranchorlayout/weatheranchorlayout.desktop create mode 100644 examples/ipc/localfortuneclient/localfortuneclient.desktop create mode 100644 examples/ipc/localfortuneserver/localfortuneserver.desktop create mode 100644 examples/ipc/sharedmemory/sharedmemory.desktop create mode 100644 examples/itemviews/addressbook/addressbook.desktop create mode 100644 examples/itemviews/basicsortfiltermodel/basicsortfiltermodel.desktop create mode 100644 examples/itemviews/chart/chart.desktop create mode 100644 examples/itemviews/coloreditorfactory/coloreditorfactory.desktop create mode 100644 examples/itemviews/combowidgetmapper/combowidgetmapper.desktop create mode 100644 examples/itemviews/customsortfiltermodel/customsortfiltermodel.desktop create mode 100644 examples/itemviews/dirview/dirview.desktop create mode 100644 examples/itemviews/editabletreemodel/editabletreemodel.desktop create mode 100644 examples/itemviews/fetchmore/fetchmore.desktop create mode 100644 examples/itemviews/frozencolumn/frozencolumn.desktop create mode 100644 examples/itemviews/pixelator/pixelator.desktop create mode 100644 examples/itemviews/puzzle/puzzle.desktop create mode 100644 examples/itemviews/simpledommodel/simpledommodel.desktop create mode 100644 examples/itemviews/simpletreemodel/simpletreemodel.desktop create mode 100644 examples/itemviews/simplewidgetmapper/simplewidgetmapper.desktop create mode 100644 examples/itemviews/spinboxdelegate/spinboxdelegate.desktop create mode 100644 examples/itemviews/stardelegate/stardelegate.desktop create mode 100644 examples/layouts/basiclayouts/basiclayouts.desktop create mode 100644 examples/layouts/borderlayout/borderlayout.desktop create mode 100644 examples/layouts/dynamiclayouts/dynamiclayouts.desktop create mode 100644 examples/layouts/flowlayout/flowlayout.desktop create mode 100644 examples/mainwindows/application/application.desktop create mode 100644 examples/mainwindows/dockwidgets/dockwidgets.desktop create mode 100644 examples/mainwindows/mdi/mdi.desktop create mode 100644 examples/mainwindows/menus/menus.desktop create mode 100644 examples/mainwindows/recentfiles/recentfiles.desktop create mode 100644 examples/mainwindows/sdi/sdi.desktop create mode 100644 examples/network/bearercloud/bearercloud.desktop create mode 100644 examples/network/bearermonitor/bearermonitor.desktop create mode 100644 examples/network/blockingfortuneclient/blockingfortuneclient.desktop create mode 100644 examples/network/broadcastreceiver/broadcastreceiver.desktop create mode 100644 examples/network/broadcastsender/broadcastsender.desktop create mode 100644 examples/network/download/download.desktop create mode 100644 examples/network/downloadmanager/downloadmanager.desktop create mode 100644 examples/network/fortuneclient/fortuneclient.desktop create mode 100644 examples/network/fortuneserver/fortuneserver.desktop create mode 100644 examples/network/googlesuggest/googlesuggest.desktop create mode 100644 examples/network/http/http.desktop create mode 100644 examples/network/loopback/loopback.desktop create mode 100644 examples/network/network-chat/network-chat.desktop create mode 100644 examples/network/qftp/qftp.desktop create mode 100644 examples/network/securesocketclient/securesocketclient.desktop create mode 100644 examples/network/threadedfortuneserver/threadedfortuneserver.desktop create mode 100644 examples/network/torrent/torrent.desktop create mode 100644 examples/opengl/2dpainting/2dpainting.desktop create mode 100644 examples/opengl/cube/cube.desktop create mode 100644 examples/opengl/cube/cube.png create mode 100644 examples/opengl/cube/cube.pro create mode 100644 examples/opengl/cube/fshader.glsl create mode 100644 examples/opengl/cube/geometryengine.cpp create mode 100644 examples/opengl/cube/geometryengine.h create mode 100644 examples/opengl/cube/main.cpp create mode 100644 examples/opengl/cube/mainwidget.cpp create mode 100644 examples/opengl/cube/mainwidget.h create mode 100644 examples/opengl/cube/shaders.qrc create mode 100644 examples/opengl/cube/textures.qrc create mode 100644 examples/opengl/cube/vshader.glsl create mode 100644 examples/opengl/framebufferobject/framebufferobject.desktop create mode 100644 examples/opengl/framebufferobject2/framebufferobject2.desktop create mode 100644 examples/opengl/grabber/grabber.desktop create mode 100644 examples/opengl/hellogl/hellogl.desktop create mode 100644 examples/opengl/hellogl_es/hellogl_es.desktop create mode 100644 examples/opengl/hellogl_es2/hellogl_es2.desktop create mode 100644 examples/opengl/overpainting/overpainting.desktop create mode 100644 examples/opengl/pbuffers/pbuffers.desktop create mode 100644 examples/opengl/pbuffers2/pbuffers2.desktop create mode 100644 examples/opengl/samplebuffers/samplebuffers.desktop create mode 100644 examples/opengl/textures/textures.desktop create mode 100644 examples/openvg/openvg.desktop create mode 100644 examples/painting/basicdrawing/basicdrawing.desktop create mode 100644 examples/painting/concentriccircles/concentriccircles.desktop create mode 100644 examples/painting/fontsampler/fontsampler.desktop create mode 100644 examples/painting/imagecomposition/imagecomposition.desktop create mode 100644 examples/painting/painterpaths/painterpaths.desktop create mode 100644 examples/painting/svggenerator/svggenerator.desktop create mode 100644 examples/painting/svgviewer/svgviewer.desktop create mode 100644 examples/painting/transformations/transformations.desktop create mode 100644 examples/qtconcurrent/imagescaling/imagescaling.desktop create mode 100644 examples/qtconcurrent/map/map.desktop create mode 100644 examples/qtconcurrent/progressdialog/progressdialog.desktop create mode 100644 examples/qtconcurrent/runfunction/runfunction.desktop create mode 100644 examples/qtconcurrent/wordcount/wordcount.desktop create mode 100644 examples/qtestlib/tutorial1/tutorial1.desktop create mode 100644 examples/qtestlib/tutorial2/tutorial2.desktop create mode 100644 examples/qtestlib/tutorial3/tutorial3.desktop create mode 100644 examples/qtestlib/tutorial4/tutorial4.desktop create mode 100644 examples/qtestlib/tutorial5/tutorial5.desktop create mode 100644 examples/qws/dbscreen/dbscreen.desktop create mode 100644 examples/qws/framebuffer/framebuffer.desktop create mode 100644 examples/qws/mousecalibration/mousecalibration.desktop create mode 100644 examples/qws/simpledecoration/simpledecoration.desktop create mode 100644 examples/qws/svgalib/svgalib.desktop create mode 100644 examples/richtext/calendar/calendar.desktop create mode 100644 examples/richtext/orderform/orderform.desktop create mode 100644 examples/richtext/syntaxhighlighter/syntaxhighlighter.desktop create mode 100644 examples/sql/cachedtable/cachedtable.desktop create mode 100644 examples/sql/drilldown/drilldown.desktop create mode 100644 examples/sql/masterdetail/masterdetail.desktop create mode 100644 examples/sql/querymodel/querymodel.desktop create mode 100644 examples/sql/relationaltablemodel/relationaltablemodel.desktop create mode 100644 examples/sql/sqlwidgetmapper/sqlwidgetmapper.desktop create mode 100644 examples/sql/tablemodel/tablemodel.desktop create mode 100644 examples/statemachine/eventtransitions/eventtransitions.desktop create mode 100644 examples/statemachine/factorial/factorial.desktop create mode 100644 examples/statemachine/pingpong/pingpong.desktop create mode 100644 examples/statemachine/rogue/rogue.desktop create mode 100644 examples/statemachine/trafficlight/trafficlight.desktop create mode 100644 examples/statemachine/twowaybutton/twowaybutton.desktop create mode 100644 examples/threads/mandelbrot/mandelbrot.desktop create mode 100644 examples/threads/queuedcustomtype/queuedcustomtype.desktop create mode 100644 examples/threads/semaphores/semaphores.desktop create mode 100644 examples/threads/waitconditions/waitconditions.desktop create mode 100644 examples/tools/codecs/codecs.desktop create mode 100644 examples/tools/completer/completer.desktop create mode 100644 examples/tools/contiguouscache/contiguouscache.desktop create mode 100644 examples/tools/customcompleter/customcompleter.desktop create mode 100644 examples/tools/customtype/customtype.desktop create mode 100644 examples/tools/customtypesending/customtypesending.desktop create mode 100644 examples/tools/echoplugin/echowindow/echowindow.desktop create mode 100644 examples/tools/echoplugin/plugin/plugin.desktop create mode 100644 examples/tools/i18n/i18n.desktop create mode 100644 examples/tools/inputpanel/inputpanel.desktop create mode 100644 examples/tools/plugandpaint/plugandpaint.desktop create mode 100644 examples/tools/regexp/regexp.desktop create mode 100644 examples/tools/settingseditor/settingseditor.desktop create mode 100644 examples/tools/treemodelcompleter/treemodelcompleter.desktop create mode 100644 examples/tools/undoframework/undoframework.desktop create mode 100644 examples/touch/dials/dials.desktop create mode 100644 examples/touch/fingerpaint/fingerpaint.desktop create mode 100644 examples/touch/knobs/knobs.desktop create mode 100644 examples/touch/pinchzoom/pinchzoom.desktop create mode 100644 examples/tutorials/addressbook-fr/part1/part1.desktop create mode 100644 examples/tutorials/addressbook-fr/part2/part2.desktop create mode 100644 examples/tutorials/addressbook-fr/part3/part3.desktop create mode 100644 examples/tutorials/addressbook-fr/part4/part4.desktop create mode 100644 examples/tutorials/addressbook-fr/part5/part5.desktop create mode 100644 examples/tutorials/addressbook-fr/part6/part6.desktop create mode 100644 examples/tutorials/addressbook-fr/part7/part7.desktop create mode 100644 examples/tutorials/addressbook/part1/part1.desktop create mode 100644 examples/tutorials/addressbook/part2/part2.desktop create mode 100644 examples/tutorials/addressbook/part3/part3.desktop create mode 100644 examples/tutorials/addressbook/part4/part4.desktop create mode 100644 examples/tutorials/addressbook/part5/part5.desktop create mode 100644 examples/tutorials/addressbook/part6/part6.desktop create mode 100644 examples/tutorials/addressbook/part7/part7.desktop create mode 100755 examples/tutorials/gettingStarted/gsQt/part1/part1.pro create mode 100755 examples/tutorials/gettingStarted/gsQt/part2/part2.pro create mode 100755 examples/tutorials/gettingStarted/gsQt/part3/part3.pro create mode 100755 examples/tutorials/gettingStarted/gsQt/part4/part4.pro create mode 100755 examples/tutorials/gettingStarted/gsQt/part5/part5.pro create mode 100644 examples/tutorials/modelview/1_readonly/1_readonly.desktop create mode 100644 examples/tutorials/modelview/2_formatting/2_formatting.desktop create mode 100644 examples/tutorials/modelview/3_changingmodel/3_changingmodel.desktop create mode 100644 examples/tutorials/modelview/4_headers/4_headers.desktop create mode 100644 examples/tutorials/modelview/5_edit/5_edit.desktop create mode 100644 examples/tutorials/modelview/6_treeview/6_treeview.desktop create mode 100644 examples/tutorials/modelview/7_selections/7_selections.desktop create mode 100644 examples/tutorials/widgets/childwidget/childwidget.desktop create mode 100644 examples/tutorials/widgets/nestedlayouts/nestedlayouts.desktop create mode 100644 examples/tutorials/widgets/toplevel/toplevel.desktop create mode 100644 examples/tutorials/widgets/windowlayout/windowlayout.desktop create mode 100644 examples/uitools/multipleinheritance/multipleinheritance.desktop create mode 100644 examples/uitools/textfinder/textfinder.desktop create mode 100644 examples/widgets/analogclock/analogclock.desktop create mode 100644 examples/widgets/applicationicon/applicationicon.desktop create mode 100644 examples/widgets/applicationicon/applicationicon.png create mode 100644 examples/widgets/applicationicon/applicationicon.pro create mode 100644 examples/widgets/calculator/calculator.desktop create mode 100644 examples/widgets/calculator/releasenotes.txt create mode 100644 examples/widgets/calendarwidget/calendarwidget.desktop create mode 100644 examples/widgets/charactermap/charactermap.desktop create mode 100644 examples/widgets/codeeditor/codeeditor.desktop create mode 100644 examples/widgets/digitalclock/digitalclock.desktop create mode 100644 examples/widgets/elidedlabel/elidedlabel.desktop create mode 100644 examples/widgets/elidedlabel/elidedlabel.pro create mode 100644 examples/widgets/groupbox/groupbox.desktop create mode 100644 examples/widgets/icons/icons.desktop create mode 100644 examples/widgets/imageviewer/imageviewer.desktop create mode 100644 examples/widgets/lineedits/lineedits.desktop create mode 100644 examples/widgets/maemovibration/buttonwidget.cpp create mode 100644 examples/widgets/maemovibration/buttonwidget.h create mode 100644 examples/widgets/maemovibration/data/48x48/maemovibration.png create mode 100644 examples/widgets/maemovibration/data/64x64/maemovibration.png create mode 100644 examples/widgets/maemovibration/data/maemovibration.desktop create mode 100644 examples/widgets/maemovibration/data/maemovibration.service create mode 100644 examples/widgets/maemovibration/maemovibration.pro create mode 100644 examples/widgets/maemovibration/main.cpp create mode 100644 examples/widgets/maemovibration/mcevibrator.cpp create mode 100644 examples/widgets/maemovibration/mcevibrator.h create mode 100644 examples/widgets/movie/movie.desktop create mode 100644 examples/widgets/orientation/image_a.png create mode 100644 examples/widgets/orientation/image_b.png create mode 100644 examples/widgets/orientation/image_c.png create mode 100644 examples/widgets/orientation/images.qrc create mode 100644 examples/widgets/orientation/landscape.ui create mode 100644 examples/widgets/orientation/main.cpp create mode 100644 examples/widgets/orientation/mainwindow.cpp create mode 100644 examples/widgets/orientation/mainwindow.h create mode 100644 examples/widgets/orientation/orientation.desktop create mode 100644 examples/widgets/orientation/orientation.pro create mode 100644 examples/widgets/orientation/portrait.ui create mode 100644 examples/widgets/scribble/scribble.desktop create mode 100644 examples/widgets/shapedclock/shapedclock.desktop create mode 100644 examples/widgets/sliders/sliders.desktop create mode 100644 examples/widgets/softkeys/softkeys.desktop create mode 100644 examples/widgets/spinboxes/spinboxes.desktop create mode 100644 examples/widgets/styles/styles.desktop create mode 100644 examples/widgets/stylesheet/stylesheet.desktop create mode 100644 examples/widgets/symbianvibration/main.cpp create mode 100644 examples/widgets/symbianvibration/mainwindow.cpp create mode 100644 examples/widgets/symbianvibration/mainwindow.h create mode 100644 examples/widgets/symbianvibration/symbianvibration.pro create mode 100644 examples/widgets/symbianvibration/vibrationsurface.cpp create mode 100644 examples/widgets/symbianvibration/vibrationsurface.h create mode 100644 examples/widgets/symbianvibration/xqvibra.cpp create mode 100644 examples/widgets/symbianvibration/xqvibra.h create mode 100644 examples/widgets/symbianvibration/xqvibra_p.cpp create mode 100644 examples/widgets/symbianvibration/xqvibra_p.h create mode 100644 examples/widgets/tablet/tablet.desktop create mode 100644 examples/widgets/tetrix/tetrix.desktop create mode 100644 examples/widgets/tooltips/tooltips.desktop create mode 100644 examples/widgets/validators/validators.desktop create mode 100644 examples/widgets/wiggly/wiggly.desktop create mode 100644 examples/widgets/windowflags/windowflags.desktop create mode 100644 examples/xml/dombookmarks/dombookmarks.desktop create mode 100644 examples/xml/htmlinfo/htmlinfo.desktop create mode 100644 examples/xml/rsslisting/rsslisting.desktop create mode 100644 examples/xml/saxbookmarks/saxbookmarks.desktop create mode 100644 examples/xml/streambookmarks/streambookmarks.desktop create mode 100644 examples/xml/xmlstreamlint/xmlstreamlint.desktop diff --git a/doc/src/examples/applicationicon.qdoc b/doc/src/examples/applicationicon.qdoc new file mode 100644 index 00000000000..d03bf3634a7 --- /dev/null +++ b/doc/src/examples/applicationicon.qdoc @@ -0,0 +1,88 @@ +/**************************************************************************** +** +** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the documentation of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:FDL$ +** Commercial Usage +** Licensees holding valid Qt Commercial licenses may use this file in +** accordance with the Qt Commercial License Agreement provided with the +** Software or, alternatively, in accordance with the terms contained in a +** written agreement between you and Nokia. +** +** GNU Free Documentation License +** Alternatively, this file may be used under the terms of the GNU Free +** Documentation License version 1.3 as published by the Free Software +** Foundation and appearing in the file included in the packaging of this +** file. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +/*! \example widgets/applicationicon + \group all-examples + \title Application Icon Example + + The example shows how to add an application icon to a mobile application. + + \image appicon_screenshot.png The icon on a Nokia XPressMusic 5800 + + \section1 Creating an icon for Maemo + + Maemo expects the icon of an application to be a 64x64 PNG image file. The + file name of the icon should be the same as the executable with a \c .png + extension. You also need a \c .desktop file that gives the window manager + hints about the application, such as name, type and icon. + + \quotefile examples/widgets/applicationicon/applicationicon.desktop + + The \c Icon field should also contain the name of the executable. On the + device, application icons are stored in the + \c /usr/share/icons/hicolor/64x64/apps directory + and desktop files in the \c /usr/share/applications/hildon directory. + + \section1 Creating an icon for Symbian + + Symbian uses Scalable Vector Graphics (SVG Tiny 1.1+) to render + application icons in the application menu. Therefore icons could be + created manually with a text editor, since SVG files are plain text with + XML syntax, but usually you would use a vector graphics program that is + able to output SVG files. Popular graphics programs such as Adobe + Illustrator or Inkscape are able to do so. + + For best results, the icon should be created on a 44x44 pixel canvas. + Otherwise the image might be scaled in unexpected ways. + + Once you have created your icon, make sure that it is stored according to + the SVG-Tiny 1.1+ standard. Inkscape, for instance, is not able to save + images that way, but there are tools that can convert general SVG files + into the Tiny format. For instance, the svg2svgt tool that is bundled with + Symbian 3rd and 5th editon SDKs under the folder s60tools can do this + conversion to some extent. Another tool to convert SVG to SVG Tiny is SVG + Pony. + + \section1 Adding the icons to the project + + Edit the .pro file and specify the ICON variable for the symbian target. + For Maemo, we need to add that the \c .desktop and icon file should be + installed. + + \quotefile examples/widgets/applicationicon/applicationicon.pro + + Currently, Qt Creator doesn't include the icon and desktop files in the + application package for Maemo, merely the executable file is included. As a + workaround for this, the files can be added manually in the Projects tab. + In the "Create Package" build step for the Maemo target, the \c .desktop + file and icon can be added to be a part of the package contents. + Unfortunately, these additions are only stored as a part of the + \c .pro.user file. This issue will be resolved in a future release of + Qt Creator. + + \image appicon_packagecontents.png Manual addition of files to the "Create Package" build step +*/ diff --git a/doc/src/examples/cube.qdoc b/doc/src/examples/cube.qdoc new file mode 100644 index 00000000000..0603941c7bf --- /dev/null +++ b/doc/src/examples/cube.qdoc @@ -0,0 +1,178 @@ +/**************************************************************************** +** +** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the documentation of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +/*! + \example opengl/cube + \group all-examples + \title Cube OpenGL ES 2.0 example + + The Cube OpenGL ES 2.0 example shows how to write mouse rotateable + textured 3D cube using OpenGL ES 2.0 with Qt. It shows how to handle + polygon geometries efficiently and how to write simple vertex and + fragment shader for programmable graphics pipeline. In addition it + shows how to use quaternions for representing 3D object orientation. + + This example has been written for OpenGL ES 2.0 but it works also on + desktop OpenGL because this example is simple enough and for the + most parts desktop OpenGL API is same. It compiles also without OpenGL + support but then it just shows a label stating that OpenGL support is + required. + + \image cube.png Screenshot of the Cube example running on N900 + + The example consist of two classes: + + \list + \o \c MainWidget extends QGLWidget and contains OpenGL ES 2.0 + initialization and drawing and mouse and timer event handling + \o \c GeometryEngine handles polygon geometries. Transfers polygon geometry + to vertex buffer objects and draws geometries from vertex buffer objects. + \endlist + + We'll start by initializing OpenGL ES 2.0 in \c MainWidget. + + \tableofcontents + + \section1 Initializing OpenGL ES 2.0 + + Since OpenGL ES 2.0 doesn't support fixed graphics pipeline anymore it has to + be implemented by ourselves. This makes graphics pipeline very flexible but + in the same time it becomes more difficult because user has to implement graphics + pipeline to get even the simplest example running. It also makes graphics pipeline + more efficient because user can decide what kind of pipeline is needed for the + application. + + First we have to implement vertex shader. It gets vertex data and + model-view-projection matrix (MVP) as parameters. It transforms vertex position + using MVP matrix to screen space and passes texture coordinate to + fragment shader. Texture coordinate will be automatically interpolated on polygon + faces. + + \snippet examples/opengl/cube/vshader.glsl 0 + + After that we need to implement second part of the graphics pipeline - fragment + shader. For this exercise we need to implement fragment shader that handles + texturing. It gets interpolated texture coordinate as a parameter and looks up + fragment color from the given texture. + + \snippet examples/opengl/cube/fshader.glsl 0 + + Using \c QGLShaderProgram we can compile, link and bind shader code to + graphics pipeline. This code uses Qt Resource files to access shader source code. + + \snippet examples/opengl/cube/mainwidget.cpp 3 + + The following code enables depth buffering and back face culling. + + \snippet examples/opengl/cube/mainwidget.cpp 2 + + \section1 Loading textures from Qt Resource files + + \c QGLWidget interface implements methods for loading textures from QImage to GL + texture memory. We still need to use OpenGL provided functions for specifying + the GL texture unit and configuring texture filtering options. + + \snippet examples/opengl/cube/mainwidget.cpp 4 + + \section1 Cube Geometry + + There are many ways to render polygons in OpenGL but the most efficient way is + to use only triangle strip primitives and render vertices from graphics hardware + memory. OpenGL has a mechanism to create buffer objects to this memory area and + transfer vertex data to these buffers. In OpenGL terminology these are referred + as Vertex Buffer Objects (VBO). + + \image cube_faces.png Cube faces and vertices + + This is how cube faces break down to triangles. Vertices are ordered this way + to get vertex ordering correct using triangle strips. OpenGL determines triangle + front and back face based on vertex ordering. By default OpenGL uses + counter-clockwise order for front faces. This information is used by back face + culling which improves rendering performance by not rendering back faces of the + triangles. This way graphics pipeline can omit rendering sides of the triangle that + aren't facing towards screen. + + Creating vertex buffer objects and transferring data to them is quite simple using + OpenGL provided functions. + + \snippet examples/opengl/cube/geometryengine.cpp 0 + + \snippet examples/opengl/cube/geometryengine.cpp 1 + + Drawing primitives from VBOs and telling programmable graphics pipeline how to + locate vertex data requires few steps. First we need to bind VBOs to be used. + After that we bind shader program attribute names and configure what + kind of data it has in the bound VBO. Finally we'll draw triangle + strip primitives using indices from the other VBO. + + \snippet examples/opengl/cube/geometryengine.cpp 2 + + \section1 Perspective projection + + Using \c QMatrix4x4 helper methods it's really easy to calculate perpective + projection matrix. This matrix is used to project vertices to screen space. + + \snippet examples/opengl/cube/mainwidget.cpp 5 + + \section1 Orientation of the 3D object + + Quaternions are handy way to represent orientation of the 3D object. Quaternions + involve quite complex mathematics but fortunately all the necessary mathematics + behind quaternions is implemented in \c QQuaternion. That allows us to store + cube orientation in quaternion and rotating cube around given axis is quite + simple. + + The following code calculates rotation axis and angular speed based on mouse events. + + \snippet examples/opengl/cube/mainwidget.cpp 0 + + \c QBasicTimer is used to animate scene and update cube orientation. Rotations + can be concatenated simply by multiplying quaternions. + + \snippet examples/opengl/cube/mainwidget.cpp 1 + + Model-view matrix is calculated using the quaternion and by moving world by Z axis. + This matrix is multiplied with the projection matrix to get MVP matrix for shader + program. + + \snippet examples/opengl/cube/mainwidget.cpp 6 + +*/ diff --git a/doc/src/examples/elidedlabel.qdoc b/doc/src/examples/elidedlabel.qdoc new file mode 100644 index 00000000000..4c6e8e81287 --- /dev/null +++ b/doc/src/examples/elidedlabel.qdoc @@ -0,0 +1,162 @@ +/**************************************************************************** +** +** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the documentation of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:FDL$ +** Commercial Usage +** Licensees holding valid Qt Commercial licenses may use this file in +** accordance with the Qt Commercial License Agreement provided with the +** Software or, alternatively, in accordance with the terms contained in a +** written agreement between you and Nokia. +** +** GNU Free Documentation License +** Alternatively, this file may be used under the terms of the GNU Free +** Documentation License version 1.3 as published by the Free Software +** Foundation and appearing in the file included in the packaging of this +** file. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +/*! + \example widgets/elidedlabel + \group all-examples + \title Elided Label Example + + This example creates a widget similar to QLabel, that elides the last + visible line, if the text is too long to fit the widget's geometry. + + \image elidedlabel-example.png Elided Label example on XPressMusic 5800 + + When text of varying length has to be displayed in a uniformly sized + area, for instance within a list or grid view where all list items have the + same size, it can be useful to give the user a visual clue when not all + text is visible. QLabel can elide text that doesn't fit within it, but only + in one line. The \c ElidedLabel widget shown in this example word wraps its + text by its width, and elides the last visible line if some text is left + out. \c TestWidget gives control to the features of \c ElidedWidget and + forms the example application. + + + \section1 ElidedLabel Class Definition + + Like QLabel, \c ElidedLabel inherits from QFrame. Here's the definition of + the \c ElidedLabel class: + + + \snippet examples/widgets/elidedlabel/elidedlabel.h 0 + + The \c isElided property depends the font, text content and geometry of the + widget. Whenever any of these change, the \c elisionChanged() signal might + trigger. We cache the current elision value in \c elided, so that it + doesn't have to be recomputed every time it's asked for. + + + \section1 ElidedLabel Class Implementation + + Except for initializing the member variables, the constructor sets the size + policy to be horizontally expanding, since it's meant to fill the width of + its container and grow vertically. + + \snippet examples/widgets/elidedlabel/elidedlabel.cpp 0 + + Changing the \c content require a repaint of the widget. + + \snippet examples/widgets/elidedlabel/elidedlabel.cpp 1 + + QTextLayout is used in the \c paintEvent() to divide the \c content into + lines, that wrap on word boundaries. Each line, except the last visible + one, is drawn \c lineSpacing pixels below the previous one. The \c draw() + method of QTextLine will draw the line using the coordinate point as the + top left corner. + + \snippet examples/widgets/elidedlabel/elidedlabel.cpp 2 + + Unfortunately, QTextLayout does not elide text, so the last visible line + has to be treated differently. This last line is elided if it is too wide. + The \c drawText() method of QPainter draws the text starting from the base + line, which is \c ascecnt() pixels below the last drawn line. + + Finally, one more line is created to see if everything fit on this line. + + \snippet examples/widgets/elidedlabel/elidedlabel.cpp 3 + + If the text was elided and wasn't before or vice versa, cache it in + \c elided and emit the change. + + \snippet examples/widgets/elidedlabel/elidedlabel.cpp 4 + + + \section1 TestWidget Class Definition + + \c TestWidget is a QWidget and is the main window of the example. It + contains an \c ElidedLabel which can be resized with two QSlider widgets. + + \snippet examples/widgets/elidedlabel/testwidget.h 0 + + \section1 TestWidget Class Implementation + + The constructor initializes the whole widget. Strings of different length + are stored in \c textSamples. The user is able to switch between these. + + \snippet examples/widgets/elidedlabel/testwidget.cpp 0 + + An \c ElidedLabel is created to contain the first of the sample strings. + The frame is made visible to make it easier to see the actual size of the + widget. + + \snippet examples/widgets/elidedlabel/testwidget.cpp 1 + + The buttons and the elision label are created. By connecting the + \c elisionChanged() signal to the \c setVisible() slot of the \c label, + it will act as an indicator to when the text is elided or not. This signal + could, for instance, be used to make a "More" button visible, or similar. + + \snippet examples/widgets/elidedlabel/testwidget.cpp 2 + + The \c widthSlider and \c heightSlider specify the size of the + \c elidedText. Since the y-axis is inverted, the \c heightSlider has to be + inverted to act appropriately. + + \snippet examples/widgets/elidedlabel/testwidget.cpp 3 + + The components are all stored in a QGridLayout, which is made the layout of + the \c TestWidget. + + \snippet examples/widgets/elidedlabel/testwidget.cpp 4 + + On the Maemo platform, windows are stuck in landscape mode by default. With + this attribute set, the window manager is aware that this window can be + rotated. + + \snippet examples/widgets/elidedlabel/testwidget.cpp 5 + + The \c widthSlider and \c heightSlider have the exact same length as the + dimensions of the \c elidedText. The maximum value for both of them is + thus their lengths, and each tick indicates one pixel. + + \snippet examples/widgets/elidedlabel/testwidget.cpp 6 + + The \c switchText() slot simply cycles through all the available sample + texts. + + \snippet examples/widgets/elidedlabel/testwidget.cpp 7 + + These slots set the width and height of the \c elided text, in response to + changes in the sliders. + + \section1 The \c main() Function + + The \c main() function creates an instance of \c TestWidget fullscreen and + enters the message loop. + + \snippet examples/widgets/elidedlabel/main.cpp 0 +*/ + diff --git a/doc/src/examples/maemovibration.qdoc b/doc/src/examples/maemovibration.qdoc new file mode 100644 index 00000000000..280dc30c990 --- /dev/null +++ b/doc/src/examples/maemovibration.qdoc @@ -0,0 +1,164 @@ +/**************************************************************************** +** +** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the documentation of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:FDL$ +** Commercial Usage +** Licensees holding valid Qt Commercial licenses may use this file in +** accordance with the Qt Commercial License Agreement provided with the +** Software or, alternatively, in accordance with the terms contained in a +** written agreement between you and Nokia. +** +** GNU Free Documentation License +** Alternatively, this file may be used under the terms of the GNU Free +** Documentation License version 1.3 as published by the Free Software +** Foundation and appearing in the file included in the packaging of this +** file. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +/*! + \example widgets/maemovibration + \group all-examples + \title Maemo Vibration Example + + The Maemo Vibration example shows how to tell the Maemo Mode Control Entity + (MCE) to vibrate a maemo device. + + The MCE is a system service on Maemo that, among other things, provides an + D-Bus interface to trigger vibrations. The vibrations are specified as + patterns and are defined in a system configuration file. + + The example program reads the configuration file to look for possible + vibration patterns and display a button for each. Pressing a button will + make the device vibrate accordingly, until the application closes, or + another pattern is started. + + \image maemovibration-example.png Screenshot of the Maemo Vibration Example + + The code makes use of two classes: + + \list + \o \c MceVibrator connects to the MCE service and can start a certain + vibrator pattern. It also is responsible to parse the configuration + file. + + \o \c ButtonWidget provides a button for each pattern. Pressing the button + activates the pattern in question. + \endlist + + + \section1 MceVibrator Class Definition + + \snippet examples/widgets/maemovibration/mcevibrator.h 0 + + The \c MceVibrator class inherits from QObject and provides a specialized + and Qt friendly interface to the MCE vibration facilty. The slot \c vibrate() + can be called to make the device vibrate according to a specific pattern + name. We will connect it to a signal of a \c ButtonWidget object later. The + static method \c ParsePatternNames() can be called to find out which patterns + are available to us. + + \list + \o \c mceInterface is our D-Bus handle to the MCE service. We use it to + invoke methods on the MCE request object. + + \o \c lastPatternName contains the pattern that was activated last time. We + have to keep track of this, because the last pattern has to be + deactivated before activating a new pattern. + \endlist + + + \section1 MceVibrator Class Implementation + + To connect to the service, we initialize the D-Bus interface handle. The + system header \c "mce/dbus-names.h" contains definitions of the D-Bus + service name and request object path and interface. These are passed to the + constructor of the handle, and Qt will automatically establish a connection + to it, if it is possible. + + The MCE expects us to first enable the vibrator before we can use it. This + is done with the call to the \c MCE_ENABLE_VIBRATOR D-Bus method. + + \snippet examples/widgets/maemovibration/mcevibrator.cpp 0 + + From now on we can activate vibration patterns. Each time a vibration + pattern is activated, the last pattern has to be deactivated first. In the + vibrate slot we use the MCE interface to call the activation method. + + \snippet examples/widgets/maemovibration/mcevibrator.cpp 1 + + The calls to the private method deactivate simply makes sure to deactivate + the last pattern used, if there was one. + + \snippet examples/widgets/maemovibration/mcevibrator.cpp 2 + + Calling either the activate or deactivate MCE D-Bus method with invalid + pattern names are ignored. + + Finally, the destructor disables the vibrator. When the destructor of the + MCE interface handle is called, the connection is also closed. + + \snippet examples/widgets/maemovibration/mcevibrator.cpp 3 + + The MCE configuration file contains options for many different things. We + are only interested in one line that contains the vibration patterns. It + has the following format: + + + \code + VibratorPatterns=semicolon;separated;list;of;values + \endcode + + The static method \c ParsePatternNames looks for this line and returns a + QStringList containing the values, which are the pattern names we can use. + + \snippet examples/widgets/maemovibration/mcevibrator.cpp 4 + + The helper function \c checkError() saves us some code duplication. None of the + called methods return anything of use to us, so we're only interested in + getting error messages for debugging. + + \snippet examples/widgets/maemovibration/mcevibrator.cpp 5 + + + \section1 ButtonWidget Class Definition + + \snippet examples/widgets/maemovibration/buttonwidget.h 0 + + The \c ButtonWidget class inherits from QWidget and provides the main user + interface for the application. It creates a grid of buttons, one for each + string in the stringlist passed to the constructor. Pressing a button emits + the \c clicked() signal, where the string is the text of the button that + was pressed. + + This class is taken from the QSignalMapper documentation. The only change + is the number of columns in the grid from three to two, to make the button + labels fit. + + + \section1 ButtonWidget Class Implementation + + \snippet examples/widgets/maemovibration/buttonwidget.cpp 0 + + + \section1 \c main() Function + + The main function begins with looking up the patterns available to us. + + \snippet examples/widgets/maemovibration/main.cpp 0 + + Then we create one instance of both classes, and connects the + \c ButtonWidget's clicked signal to the \c MceVibrator's \c vibrate() slot. + This works, since the button texts are the same as the pattern names. + + \snippet examples/widgets/maemovibration/main.cpp 1 +*/ diff --git a/doc/src/examples/orientation.qdoc b/doc/src/examples/orientation.qdoc new file mode 100644 index 00000000000..cfe17576e79 --- /dev/null +++ b/doc/src/examples/orientation.qdoc @@ -0,0 +1,143 @@ +/**************************************************************************** +** +** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the documentation of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:FDL$ +** Commercial Usage +** Licensees holding valid Qt Commercial licenses may use this file in +** accordance with the Qt Commercial License Agreement provided with the +** Software or, alternatively, in accordance with the terms contained in a +** written agreement between you and Nokia. +** +** GNU Free Documentation License +** Alternatively, this file may be used under the terms of the GNU Free +** Documentation License version 1.3 as published by the Free Software +** Foundation and appearing in the file included in the packaging of this +** file. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +/*! \example widgets/orientation + \group all-examples + \title Orientation Example + + The example shows a simple way to use different UIs depending on the screen + orientation of a mobile device. + + \image orientation-landscape.png The UI in landscape mode + \image orientation-portrait.png The UI in portrait mode + + The screen on many mobile devices can be viewed in both portrait and + landscape orientation. The orientation can be swiched with the help of a + hardware or software trigger. Due to the often small physical screen size, + user interfaces has to be very simple and compact to stay usable, and + applications usually occupy the whole screen. Designing a user interface + that works equally well in both landscape and portrait mode is not always + possible, however, so making a different layout for each case usually pays + off. + + The example application makes use of two different UI widgets created with + the Qt Designer, one for portrait and one for landscape orientation. The + application has a widget that contains an image and the user is able to + select one of three images for it to show. In addition to the two UIs, the + application consists of a \c MainWindow class. + + \section1 Landscape UI + + If the screen is in landscape mode, the user probably holds the device with + both hands and is ready to give full attention to the application. The + landscape UI looks like this: + + \image orientation-landscape-ui.png The landscape UI + + To the left is a QWidget called \c choiceWidget, which will show the + current image, and to the right are three QRadioButton instances. The + active radio button specifies the image to show. + + \section1 Portrait UI + + When the device is in portrait mode, it usually means that the user holds + it with one hand, and can comfortably use the thumb for small amounts of + input. The layout is simpler, and is focused on consuming content. The + portrait UI looks like this: + + \image orientation-portrait-ui.png The portrait UI + + Similarly, it contains a QWidget, also called \c choiceWidget, that will + show the current image. In contrast to the landscape UI, this one doesn't + provide any controls to change the image. + + \section1 MainWindow Class Definition + + \c MainWindow inherits from QWidget and acts as the top level widget of the + application. + + \snippet examples/widgets/orientation/mainwindow.h 0 + + The \c resizeEvent() method is re-implemented, and used to check which + UI to show. The \c onRadioButtonClicked() slot is connected to the + landscape UI's radio button group and selects the current image. + + \c landscapeWidget and \c portraitWidget will contain the UI layouts. Only + one of them is visible at a time. + + \section1 MainWindow Class Implementation + + In the constructor, the widgets that will hold the UIs are created and set + up. + + \snippet examples/widgets/orientation/mainwindow.cpp 0 + + Since the exit buttons on the layouts are different from each other, both + of them have to have their \c clicked() signal connected to the \c close() + slot of the main widget. The first image is also made current with the call + to \c onRadioButtonClicked(). + + \snippet examples/widgets/orientation/mainwindow.cpp 1 + + On the Maemo platform, windows are stuck in landscape mode by default. The + application has to explicitly say that rotation is supported. + + \snippet examples/widgets/orientation/mainwindow.cpp 2 + + The \c resizeEvent() is called when the main window is first created, and + also whenever the window has been resized. If the window is shown in + full screen, this is an indication that the orientation of the screen has + changed. + + The dimensions of \c landscapeWidget is the transpose of the dimensions of + \c portraitWidget. When the orientation is known, both are set to the + (possibly transposed) size of the window. Depending on the orientation, one + widget is made visible and the other invisible. + + \snippet examples/widgets/orientation/mainwindow.cpp 3 + + When the user selects one of the radio buttons in the landscape UI, the + current image is changed. The image is displayed by specifying the + background style of the choice widget. Since both \c portrait and + \c landscape have a \c choiceWidget of their own, the change has to be + reflected in both instances. + + \snippet examples/widgets/orientation/mainwindow.cpp 4 + + Synchronizing both UIs like this might become unfeasible when there are + many things that can change. In that case it is better to make use of the + \l{Introduction to Model/View Programming}{Model-View-Controller pattern} + more extensively and share the content between both portrait and landscape + widgets. Then an interface for displaying and manipulating it can be tailor + made for both orientations. + + \section1 The \c main() Function + + The main function creates a \c MainWindow instance and shows it full + screen. + \snippet examples/widgets/orientation/main.cpp 0 +*/ diff --git a/doc/src/examples/symbianvibration.qdoc b/doc/src/examples/symbianvibration.qdoc new file mode 100644 index 00000000000..a0de23685d4 --- /dev/null +++ b/doc/src/examples/symbianvibration.qdoc @@ -0,0 +1,192 @@ +/**************************************************************************** +** +** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the documentation of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:FDL$ +** Commercial Usage +** Licensees holding valid Qt Commercial licenses may use this file in +** accordance with the Qt Commercial License Agreement provided with the +** Software or, alternatively, in accordance with the terms contained in a +** written agreement between you and Nokia. +** +** GNU Free Documentation License +** Alternatively, this file may be used under the terms of the GNU Free +** Documentation License version 1.3 as published by the Free Software +** Foundation and appearing in the file included in the packaging of this +** file. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +/*! \example widgets/symbianvibration + \group all-examples + \title Symbian Vibration Example + + The Symbian Vibrator example shows how to get fine-grained vibration + control on Symbian devices. + + Native Symbian APIs have to be used to enable vibration, since QtMobility + doesn't provide an interface for it yet. It is, however, planned to be + included in a future release. In anticipation for that, we make use of the + \c XQVibra class that was a part of the Mobile Extensions Technology Preview + API for Qt for Symbian. The pre-compiled libraries are no longer compatible + with Qt 4.6, but we can include the source code itself with the project. + + \image symbianvibration-example.png Screenshot of the Symbian Vibration example + + The example application divides the window into rectangles, which can be + pressed to make the device vibrate. Pressing different rectangles make the + device vibrate with different intensities. Each rectangle has a different + color and its intensity number is drawn on top of it. Moving the cursor + from one rectangle to another changes the vibration intensity to that of + the new one. Vibration stops when the mouse button has been released. It + is also possible to launch a short burst of vibration through the menu. + + The example consists of four classes: + + \list + \o \c XQVibra is the vibration interface class taken from the Mobile + Extensions for Qt for Symbian. + + \o \c XQVibraPrivate is the Symbian specific private implementation of the + vibration implementation. + + \o \c VibrationSurface is a custom widget that uses a XQVibra instance to + vibrate the device depending on where the user presses. + + \o \c MainWindow inherits from QMainWindow and contains a \c VibrationSurface + as its central widget, and also has a menu from which it is possible to + make the phone vibrate. + \endlist + + \section1 XQVibra Class Definition + + The \c XQVibra class uses the pimpl-idiom to hide the platform specific + implementation behind a common interface. Technically it would be possible + to support more target platforms, with only the addition of a private + implementation. The rest of the code would work the same, since only the + common interface is used. + + \snippet examples/widgets/symbianvibration/xqvibra.h 0 + + \c XQVibra provides a very simple interface for us to use. The interesting + part are the three slots \c start(), \c stop() and \c setIntensity(). Calling the start + method initiates vibration for the specified duration. Calling it while the + device is already vibrating causes it to stop the current one and start the + new one, even if the intensities are the same. The \c setIntensity() method + should be called before starting vibration. + + + \section1 VibrationSurface Class Definition + + \c VibrationSurface inherits from QWidget and acts like a controller for a + \c XQVibra object. It responds to mouse events and performs custom painting. + + \snippet examples/widgets/symbianvibration/vibrationsurface.h 0 + + The virtual event methods are reimplemented from QWidget. As can be seen, + there is no public programmable interface beyond what QWidget provides. + + + \section1 VibrationSurface Class Implementation + + Mouse events control the intensity of the vibration. + + \snippet examples/widgets/symbianvibration/vibrationsurface.cpp 0 + \codeline + \snippet examples/widgets/symbianvibration/vibrationsurface.cpp 1 + \codeline + \snippet examples/widgets/symbianvibration/vibrationsurface.cpp 2 + + Presses starts the vibration, movement changes the intensity and releases + stops the vibration. To set the right amount of vibration, the private + method \c applyIntensity() is used. It sets the vibration intensity according to + which rectangle the mouse currently resides in. + + \snippet examples/widgets/symbianvibration/vibrationsurface.cpp 3 + + We make sure only to change the intensity if it is different than last + time, so that the vibrator isn't stopped and restarted unnecessarily. + + The range of vibration intensity ranges from 0 to XQVibra::MaxIntensity. We + divide this range into a set of levels. The number of levels and the intensity + increase for each level are stored in two constants. + + \snippet examples/widgets/symbianvibration/vibrationsurface.cpp 4 + + Each rectangle has an intensity of one \c IntensityPerLevel more than the + previous one. + + \snippet examples/widgets/symbianvibration/vibrationsurface.cpp 5 + + The rectangles are either put in a row, if the widget's width is greater + than its height (landscape), otherwise they are put in a column (portrait). + Each rectangle's size is thus dependent on the length of the width or the + height of the widget, whichever is longer. The length is then divided by + the number of levels, which gets us either the height or the width of each + rectangle. The dx and dy specify the distance from one rectangle to the + next, which is the same as either the width or height of the rectangle. + + \snippet examples/widgets/symbianvibration/vibrationsurface.cpp 6 + + For each level of intensity, we draw a rectangle with increasing + brightness. On top of the rectangle a text label is drawn, specifying the + intesity of this level. We use the rectangle rect as a template for + drawing, and move it down or right at each iteration. + + The intensity is calculated by dividing the greater of the width and height + into \c NumberOfLevels slices. + + \snippet examples/widgets/symbianvibration/vibrationsurface.cpp 7 + + In case the widget's geometry is too small to fit all the levels, the user + interface will not work. For simplicity, we just return 0. + + When we know the axis along which the rectangles lie, we can find the one + in which the mouse cursor lie. + + \snippet examples/widgets/symbianvibration/vibrationsurface.cpp 8 + + The final clamp of the intensity value at the end is necessary in case the + mouse coordinate lies outside the widget's geometry. + + + \section1 MainWindow Class Definition + + Here's the definition of the \c MainWindow class: + + \snippet examples/widgets/symbianvibration/mainwindow.h 0 + + \c MainWindow is a top level window that uses a \c XQVibra and a + \c VibrationSurface. It also adds a menu option to the menu bar which can + start a short vibration. + + \section1 MainWindow Class Implementation + + In the \c MainWindow constructor the \c XQVibra and the \c VibrationSurface + are created. An action is added to the menu and is connected to the vibrate + slot. + + \snippet examples/widgets/symbianvibration/mainwindow.cpp 0 + + The \c vibrate() slot offers a way to invoke the vibration in case no + mouse is present on the device. + + \snippet examples/widgets/symbianvibration/mainwindow.cpp 1 + + \section1 Symbian Vibration Library + + The \c XQVibra class requires a platform library to be included. It is + included in the \c .pro file for the symbian target. + + \quotefromfile examples/widgets/symbianvibration/symbianvibration.pro + \skipto /^symbian \{/ + \printuntil /^\}/ +*/ diff --git a/doc/src/images/appicon_packagecontents.png b/doc/src/images/appicon_packagecontents.png new file mode 100644 index 0000000000000000000000000000000000000000..49cb1e42294c00b655352946cf92f8685475918f GIT binary patch literal 21266 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 DAdxAL literal 0 HcmV?d00001 diff --git a/doc/src/images/cube.png b/doc/src/images/cube.png new file mode 100644 index 0000000000000000000000000000000000000000..95dfc984dd95f9299647f7b7e65629e7d8c68ed3 GIT binary patch literal 40459 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 TclYSBDKFO3GK7_B+K2rQ16&O; literal 0 HcmV?d00001 diff --git a/doc/src/images/cube_faces.png b/doc/src/images/cube_faces.png new file mode 100644 index 0000000000000000000000000000000000000000..2c7102a94c360991d4cee3987755b219ddd1fcd2 GIT binary patch literal 63082 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 literal 0 HcmV?d00001 diff --git a/doc/src/images/elidedlabel-example.png b/doc/src/images/elidedlabel-example.png new file mode 100644 index 0000000000000000000000000000000000000000..741d2896e7f41f3892146a4e65bb9e164c353305 GIT binary patch literal 24876 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­Ko;Fz8*(3;E{n^ z(9?S4pu`+r3L^jzXGUI_P!}o586yTrEYpIjACb377@kDWVli_uvV5tbBg2uwsl4a9 zaPyj25?ExxqP^5Dbnm(MkE)1CD$mv5XV<^sL9V`9M>~$CEkRf_Wgsg}h2}dt;EN8% z0&j9?33Lm}Ebjt|WtXKE=#0}pdF0l>rSwIi3B3ShoQ4nv;aHaksV@RhEzp&kSONZL zEOhSMf;|MCbrL{=K?s@&XLDYrx}YP=Ty(^R;3*+4y4^p$LEj^y%K&t{8Gv;mgfb=( zSfEY~&^fhqDI)ZsLroXtq90yhL4as;AK-|h%SHZ0Uq1r;9i1WvfuQTZAZWzd4V0Pz z#?Y8?i)1$EpL&wgPIP?L9~dek-Zli z+C^?q+Rr~8edfV`JVU>G+v8ID$lgm4aVo>nQbNB?tS<(s|BoOpIR!69)7*}Mme`R9(2xO))8m3}ppZX!d(Izi0s)w``+*VwUld^2eEyG7 zphtqBiKFNHH;D`X5fLqk5XnE5Q%ippNafKb?fDqs#1DAB;Omc(palYcw;(RW?FFd1 zl+Fc_|FvPDshj#w>d+R6wte)WT^ySmtzUGR&)@p3w1!>U!=uYU#NSf5G~44p57C2| z&o5oVlYi5AX|*(HWfRJ*qx#Z6+9}{r= zH(oJ$F(3b)W?};WshvM&h2{z9J^ literal 0 HcmV?d00001 diff --git a/doc/src/images/maemovibration-example.png b/doc/src/images/maemovibration-example.png new file mode 100644 index 0000000000000000000000000000000000000000..be975fc10adf7cbba2d8b3aafc5a67feda2e622c GIT binary patch literal 54782 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 PfcPlMzn80$G5z{~nx%6R literal 0 HcmV?d00001 diff --git a/doc/src/images/orientation-portrait-ui.png b/doc/src/images/orientation-portrait-ui.png new file mode 100644 index 0000000000000000000000000000000000000000..304835b93e1a4b1701bde2c42469eb58833fae6a GIT binary patch literal 9785 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 literal 0 HcmV?d00001 diff --git a/doc/src/images/orientation-portrait.png b/doc/src/images/orientation-portrait.png new file mode 100644 index 0000000000000000000000000000000000000000..3d778e8d90c44cab8f1a2f1489bf7c1d68d46488 GIT binary patch literal 17377 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 literal 0 HcmV?d00001 diff --git a/doc/src/images/symbianvibration-example.png b/doc/src/images/symbianvibration-example.png new file mode 100644 index 0000000000000000000000000000000000000000..21461b6a19605d83925c948deb200db95b649cf4 GIT binary patch literal 23217 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≥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 literal 0 HcmV?d00001 diff --git a/doc/src/snippets/textdocument-listitemstyles/main.cpp b/doc/src/snippets/textdocument-listitemstyles/main.cpp new file mode 100644 index 00000000000..6e40492c297 --- /dev/null +++ b/doc/src/snippets/textdocument-listitemstyles/main.cpp @@ -0,0 +1,52 @@ +/**************************************************************************** +** +** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the documentation of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:BSD$ +** You may use this file under the terms of the BSD license as follows: +** +** "Redistribution and use in source and binary forms, with or without +** modification, are permitted provided that the following conditions are +** met: +** * Redistributions of source code must retain the above copyright +** notice, this list of conditions and the following disclaimer. +** * Redistributions in binary form must reproduce the above copyright +** notice, this list of conditions and the following disclaimer in +** the documentation and/or other materials provided with the +** distribution. +** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor +** the names of its contributors may be used to endorse or promote +** products derived from this software without specific prior written +** permission. +** +** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include + +#include "mainwindow.h" + +int main(int argc, char *argv[]) +{ + QApplication app(argc, argv); + MainWindow *window = new MainWindow; + window->resize(640, 480); + window->show(); + return app.exec(); +} diff --git a/doc/src/snippets/textdocument-listitemstyles/mainwindow.cpp b/doc/src/snippets/textdocument-listitemstyles/mainwindow.cpp new file mode 100644 index 00000000000..94e98b34008 --- /dev/null +++ b/doc/src/snippets/textdocument-listitemstyles/mainwindow.cpp @@ -0,0 +1,84 @@ +/**************************************************************************** +** +** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the documentation of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:BSD$ +** You may use this file under the terms of the BSD license as follows: +** +** "Redistribution and use in source and binary forms, with or without +** modification, are permitted provided that the following conditions are +** met: +** * Redistributions of source code must retain the above copyright +** notice, this list of conditions and the following disclaimer. +** * Redistributions in binary form must reproduce the above copyright +** notice, this list of conditions and the following disclaimer in +** the documentation and/or other materials provided with the +** distribution. +** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor +** the names of its contributors may be used to endorse or promote +** products derived from this software without specific prior written +** permission. +** +** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include + +#include "mainwindow.h" + +MainWindow::MainWindow() +{ + QMenu *fileMenu = new QMenu(tr("&File")); + + fileMenu->addAction(tr("E&xit"), this, SLOT(close()), + QKeySequence(tr("Ctrl+Q", "File|Exit"))); + + QMenu *insertMenu = new QMenu(tr("&Insert")); + + insertMenu->addAction(tr("&List"), this, SLOT(insertList()), + QKeySequence(tr("Ctrl+L", "Insert|List"))); + + menuBar()->addMenu(fileMenu); + menuBar()->addMenu(insertMenu); + + editor = new QTextEdit(this); + document = new QTextDocument(this); + editor->setDocument(document); + + setCentralWidget(editor); + setWindowTitle(tr("Text Document List Item Styles")); +} + +void MainWindow::insertList() +{ + QTextCursor cursor = editor->textCursor(); + cursor.beginEditBlock(); + + //! [add a styled, ordered list] + QTextListFormat listFormat; + + listFormat.setStyle(QTextListFormat::ListDecimal); + listFormat.setNumberPrefix("("); + listFormat.setNumberSuffix(")"); + + cursor.insertList(listFormat); + //! [add a styled, ordered list] + + cursor.endEditBlock(); +} diff --git a/doc/src/snippets/textdocument-listitemstyles/mainwindow.h b/doc/src/snippets/textdocument-listitemstyles/mainwindow.h new file mode 100644 index 00000000000..649a47bb16b --- /dev/null +++ b/doc/src/snippets/textdocument-listitemstyles/mainwindow.h @@ -0,0 +1,65 @@ +/**************************************************************************** +** +** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the documentation of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:BSD$ +** You may use this file under the terms of the BSD license as follows: +** +** "Redistribution and use in source and binary forms, with or without +** modification, are permitted provided that the following conditions are +** met: +** * Redistributions of source code must retain the above copyright +** notice, this list of conditions and the following disclaimer. +** * Redistributions in binary form must reproduce the above copyright +** notice, this list of conditions and the following disclaimer in +** the documentation and/or other materials provided with the +** distribution. +** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor +** the names of its contributors may be used to endorse or promote +** products derived from this software without specific prior written +** permission. +** +** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef WINDOW_H +#define WINDOW_H + +#include + +class QTextDocument; +class QTextEdit; + +class MainWindow : public QMainWindow +{ + Q_OBJECT + +public: + MainWindow(); + +public slots: + void insertList(); + +private: + QString currentFile; + QTextEdit *editor; + QTextDocument *document; +}; + +#endif diff --git a/doc/src/snippets/textdocument-listitemstyles/textdocument-listitemstyles.pro b/doc/src/snippets/textdocument-listitemstyles/textdocument-listitemstyles.pro new file mode 100644 index 00000000000..5da8d6e1a19 --- /dev/null +++ b/doc/src/snippets/textdocument-listitemstyles/textdocument-listitemstyles.pro @@ -0,0 +1,3 @@ +HEADERS = mainwindow.h +SOURCES = main.cpp \ + mainwindow.cpp diff --git a/examples/animation/animatedtiles/animatedtiles.desktop b/examples/animation/animatedtiles/animatedtiles.desktop new file mode 100644 index 00000000000..97e646fdf89 --- /dev/null +++ b/examples/animation/animatedtiles/animatedtiles.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Animated Tiles +Exec=/opt/usr/bin/animatedtiles +Icon=animatedtiles +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/animation/appchooser/appchooser.desktop b/examples/animation/appchooser/appchooser.desktop new file mode 100644 index 00000000000..8e413e96c20 --- /dev/null +++ b/examples/animation/appchooser/appchooser.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Application Chooser +Exec=/opt/usr/bin/appchooser +Icon=appchooser +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/animation/easing/easing.desktop b/examples/animation/easing/easing.desktop new file mode 100644 index 00000000000..56d122217a2 --- /dev/null +++ b/examples/animation/easing/easing.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Easing Curves +Exec=/opt/usr/bin/easing +Icon=easing +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/animation/moveblocks/moveblocks.desktop b/examples/animation/moveblocks/moveblocks.desktop new file mode 100644 index 00000000000..4100f448dfb --- /dev/null +++ b/examples/animation/moveblocks/moveblocks.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Move Blocks +Exec=/opt/usr/bin/moveblocks +Icon=moveblocks +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/animation/states/states.desktop b/examples/animation/states/states.desktop new file mode 100644 index 00000000000..8429979f23b --- /dev/null +++ b/examples/animation/states/states.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=States +Exec=/opt/usr/bin/states +Icon=states +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/animation/stickman/rectbutton.cpp b/examples/animation/stickman/rectbutton.cpp new file mode 100644 index 00000000000..f8b00daa9df --- /dev/null +++ b/examples/animation/stickman/rectbutton.cpp @@ -0,0 +1,33 @@ +#include "rectbutton.h" +#include + +RectButton::RectButton(QString buttonText) : m_ButtonText(buttonText) +{ +} + + +RectButton::~RectButton() +{ +} + + +void RectButton::mousePressEvent (QGraphicsSceneMouseEvent *event) +{ + emit clicked(); +} + + +QRectF RectButton::boundingRect() const +{ + return QRectF(0.0, 0.0, 90.0, 40.0); +} + + +void RectButton::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) +{ + painter->setBrush(Qt::gray); + painter->drawRoundedRect(boundingRect(), 5, 5); + + painter->setPen(Qt::white); + painter->drawText(20, 25, m_ButtonText); +} diff --git a/examples/animation/stickman/rectbutton.h b/examples/animation/stickman/rectbutton.h new file mode 100644 index 00000000000..95ca2e2a215 --- /dev/null +++ b/examples/animation/stickman/rectbutton.h @@ -0,0 +1,25 @@ +#ifndef RECTBUTTON_H +#define RECTBUTTON_H + +#include + +class RectButton : public QGraphicsObject +{ + Q_OBJECT +public: + RectButton(QString buttonText); + ~RectButton(); + + virtual QRectF boundingRect() const; + virtual void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget); + +protected: + QString m_ButtonText; + + virtual void mousePressEvent (QGraphicsSceneMouseEvent *event); + +signals: + void clicked(); +}; + +#endif // RECTBUTTON_H diff --git a/examples/animation/stickman/stickman.desktop b/examples/animation/stickman/stickman.desktop new file mode 100644 index 00000000000..1722d4db3ef --- /dev/null +++ b/examples/animation/stickman/stickman.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Stickman +Exec=/opt/usr/bin/stickman +Icon=stickman +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/dbus/complexpingpong/complexping.desktop b/examples/dbus/complexpingpong/complexping.desktop new file mode 100644 index 00000000000..0075856c740 --- /dev/null +++ b/examples/dbus/complexpingpong/complexping.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Complex Ping +Exec=/opt/usr/bin/complexping +Icon=complexping +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/dbus/complexpingpong/complexpong.desktop b/examples/dbus/complexpingpong/complexpong.desktop new file mode 100644 index 00000000000..2af77c54dea --- /dev/null +++ b/examples/dbus/complexpingpong/complexpong.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Complex Pong +Exec=/opt/usr/bin/complexpong +Icon=complexpong +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/dbus/dbus-chat/dbus-chat.desktop b/examples/dbus/dbus-chat/dbus-chat.desktop new file mode 100644 index 00000000000..d25c82e4ceb --- /dev/null +++ b/examples/dbus/dbus-chat/dbus-chat.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=D-Bus Chat +Exec=/opt/usr/bin/dbus-chat +Icon=dbus-chat +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/dbus/listnames/listnames.desktop b/examples/dbus/listnames/listnames.desktop new file mode 100644 index 00000000000..4b2047f32ad --- /dev/null +++ b/examples/dbus/listnames/listnames.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=D-Bus List Names +Exec=/opt/usr/bin/listnames +Icon=listnames +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/dbus/pingpong/ping.desktop b/examples/dbus/pingpong/ping.desktop new file mode 100644 index 00000000000..b80ea8862ad --- /dev/null +++ b/examples/dbus/pingpong/ping.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=D-Bus Ping +Exec=/opt/usr/bin/ping +Icon=ping +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/dbus/pingpong/pong.desktop b/examples/dbus/pingpong/pong.desktop new file mode 100644 index 00000000000..4b5ddc8eaef --- /dev/null +++ b/examples/dbus/pingpong/pong.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=D-Bus Pong +Exec=/opt/usr/bin/pong +Icon=pong +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/dbus/remotecontrolledcar/car/car.desktop b/examples/dbus/remotecontrolledcar/car/car.desktop new file mode 100644 index 00000000000..ab2c53be0e5 --- /dev/null +++ b/examples/dbus/remotecontrolledcar/car/car.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=D-Bus Remote Controlled Car +Exec=/opt/usr/bin/car +Icon=car +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/dbus/remotecontrolledcar/controller/controller.desktop b/examples/dbus/remotecontrolledcar/controller/controller.desktop new file mode 100644 index 00000000000..1ae6aa178e4 --- /dev/null +++ b/examples/dbus/remotecontrolledcar/controller/controller.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=D-Bus Remote Controller +Exec=/opt/usr/bin/controller +Icon=controller +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/desktop/screenshot/screenshot.desktop b/examples/desktop/screenshot/screenshot.desktop new file mode 100644 index 00000000000..236d3601233 --- /dev/null +++ b/examples/desktop/screenshot/screenshot.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Screenshot +Exec=/opt/usr/bin/screenshot +Icon=screenshot +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/desktop/systray/systray.desktop b/examples/desktop/systray/systray.desktop new file mode 100644 index 00000000000..0490e715481 --- /dev/null +++ b/examples/desktop/systray/systray.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=System Tray Icon +Exec=/opt/usr/bin/systray +Icon=systray +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/dialogs/classwizard/classwizard.desktop b/examples/dialogs/classwizard/classwizard.desktop new file mode 100644 index 00000000000..7f7d2320923 --- /dev/null +++ b/examples/dialogs/classwizard/classwizard.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Class Wizard +Exec=/opt/usr/bin/classwizard +Icon=classwizard +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/dialogs/configdialog/configdialog.desktop b/examples/dialogs/configdialog/configdialog.desktop new file mode 100644 index 00000000000..11a326813a4 --- /dev/null +++ b/examples/dialogs/configdialog/configdialog.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Config Dialog +Exec=/opt/usr/bin/configdialog +Icon=configdialog +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/dialogs/extension/extension.desktop b/examples/dialogs/extension/extension.desktop new file mode 100644 index 00000000000..374b1c83407 --- /dev/null +++ b/examples/dialogs/extension/extension.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Extension +Exec=/opt/usr/bin/extension +Icon=extension +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/dialogs/findfiles/findfiles.desktop b/examples/dialogs/findfiles/findfiles.desktop new file mode 100644 index 00000000000..04c91cd76d6 --- /dev/null +++ b/examples/dialogs/findfiles/findfiles.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Find Files +Exec=/opt/usr/bin/findfiles +Icon=findfiles +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/dialogs/licensewizard/licensewizard.desktop b/examples/dialogs/licensewizard/licensewizard.desktop new file mode 100644 index 00000000000..423d81e9b34 --- /dev/null +++ b/examples/dialogs/licensewizard/licensewizard.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=License Wizard +Exec=/opt/usr/bin/licensewizard +Icon=licensewizard +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/dialogs/sipdialog/sipdialog.desktop b/examples/dialogs/sipdialog/sipdialog.desktop new file mode 100644 index 00000000000..b9c9955339a --- /dev/null +++ b/examples/dialogs/sipdialog/sipdialog.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=SIP Dialog +Exec=/opt/usr/bin/sipdialog +Icon=sipdialog +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/dialogs/standarddialogs/standarddialogs.desktop b/examples/dialogs/standarddialogs/standarddialogs.desktop new file mode 100644 index 00000000000..f74830317ae --- /dev/null +++ b/examples/dialogs/standarddialogs/standarddialogs.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Standard Dialogs +Exec=/opt/usr/bin/standarddialogs +Icon=standarddialogs +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/dialogs/tabdialog/tabdialog.desktop b/examples/dialogs/tabdialog/tabdialog.desktop new file mode 100644 index 00000000000..651f7d4068d --- /dev/null +++ b/examples/dialogs/tabdialog/tabdialog.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Tab Dialog +Exec=/opt/usr/bin/tabdialog +Icon=tabdialog +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/dialogs/trivialwizard/trivialwizard.desktop b/examples/dialogs/trivialwizard/trivialwizard.desktop new file mode 100644 index 00000000000..fad568ecc84 --- /dev/null +++ b/examples/dialogs/trivialwizard/trivialwizard.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Trivial Wizard +Exec=/opt/usr/bin/trivialwizard +Icon=trivialwizard +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/draganddrop/delayedencoding/delayedencoding.desktop b/examples/draganddrop/delayedencoding/delayedencoding.desktop new file mode 100644 index 00000000000..629c497b6b5 --- /dev/null +++ b/examples/draganddrop/delayedencoding/delayedencoding.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Delayed Encoding +Exec=/opt/usr/bin/delayedencoding +Icon=delayedencoding +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/draganddrop/draggableicons/draggableicons.desktop b/examples/draganddrop/draggableicons/draggableicons.desktop new file mode 100644 index 00000000000..d14f758ce6b --- /dev/null +++ b/examples/draganddrop/draggableicons/draggableicons.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Draggable Icons +Exec=/opt/usr/bin/draggableicons +Icon=draggableicons +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/draganddrop/draggabletext/draggabletext.desktop b/examples/draganddrop/draggabletext/draggabletext.desktop new file mode 100644 index 00000000000..ceda807604b --- /dev/null +++ b/examples/draganddrop/draggabletext/draggabletext.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Draggable Text +Exec=/opt/usr/bin/draggabletext +Icon=draggabletext +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/draganddrop/dropsite/dropsite.desktop b/examples/draganddrop/dropsite/dropsite.desktop new file mode 100644 index 00000000000..70a192f2b11 --- /dev/null +++ b/examples/draganddrop/dropsite/dropsite.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Drop Site +Exec=/opt/usr/bin/dropsite +Icon=dropsite +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/draganddrop/fridgemagnets/fridgemagnets.desktop b/examples/draganddrop/fridgemagnets/fridgemagnets.desktop new file mode 100644 index 00000000000..a240590c6b6 --- /dev/null +++ b/examples/draganddrop/fridgemagnets/fridgemagnets.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Fridge Magnets +Exec=/opt/usr/bin/fridgemagnets +Icon=fridgemagnets +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/draganddrop/puzzle/puzzle.desktop b/examples/draganddrop/puzzle/puzzle.desktop new file mode 100644 index 00000000000..f6765e1e013 --- /dev/null +++ b/examples/draganddrop/puzzle/puzzle.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Drag and Drop Puzzle +Exec=/opt/usr/bin/puzzle +Icon=puzzle +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/effects/blurpicker/blurpicker.desktop b/examples/effects/blurpicker/blurpicker.desktop new file mode 100644 index 00000000000..0863ef7ba8a --- /dev/null +++ b/examples/effects/blurpicker/blurpicker.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Blur Picker Effect +Exec=/opt/usr/bin/blurpicker +Icon=blurpicker +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/effects/fademessage/fademessage.desktop b/examples/effects/fademessage/fademessage.desktop new file mode 100644 index 00000000000..aa22ad79127 --- /dev/null +++ b/examples/effects/fademessage/fademessage.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Fade Message Effect +Exec=/opt/usr/bin/fademessage +Icon=fademessage +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/effects/lighting/lighting.desktop b/examples/effects/lighting/lighting.desktop new file mode 100644 index 00000000000..806b3deca0c --- /dev/null +++ b/examples/effects/lighting/lighting.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Lighting Effect +Exec=/opt/usr/bin/lighting +Icon=lighting +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/gestures/imagegestures/imagegestures.desktop b/examples/gestures/imagegestures/imagegestures.desktop new file mode 100644 index 00000000000..06068ff78df --- /dev/null +++ b/examples/gestures/imagegestures/imagegestures.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Image Gestures +Exec=/opt/usr/bin/imagegestures +Icon=imagegestures +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/graphicsview/anchorlayout/anchorlayout.desktop b/examples/graphicsview/anchorlayout/anchorlayout.desktop new file mode 100644 index 00000000000..6cf53c3f9b5 --- /dev/null +++ b/examples/graphicsview/anchorlayout/anchorlayout.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Anchor Layout +Exec=/opt/usr/bin/anchorlayout +Icon=anchorlayout +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/graphicsview/basicgraphicslayouts/basicgraphicslayouts.desktop b/examples/graphicsview/basicgraphicslayouts/basicgraphicslayouts.desktop new file mode 100644 index 00000000000..be1c3e4a841 --- /dev/null +++ b/examples/graphicsview/basicgraphicslayouts/basicgraphicslayouts.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Basic Graphics Layouts +Exec=/opt/usr/bin/basicgraphicslayouts +Icon=basicgraphicslayouts +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/graphicsview/collidingmice/collidingmice.desktop b/examples/graphicsview/collidingmice/collidingmice.desktop new file mode 100644 index 00000000000..f0064e71125 --- /dev/null +++ b/examples/graphicsview/collidingmice/collidingmice.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Colliding Mice +Exec=/opt/usr/bin/collidingmice +Icon=collidingmice +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/graphicsview/dragdroprobot/dragdroprobot.desktop b/examples/graphicsview/dragdroprobot/dragdroprobot.desktop new file mode 100644 index 00000000000..c01e3a3425d --- /dev/null +++ b/examples/graphicsview/dragdroprobot/dragdroprobot.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Drag and Drop Robot +Exec=/opt/usr/bin/dragdroprobot +Icon=dragdroprobot +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/graphicsview/elasticnodes/elasticnodes.desktop b/examples/graphicsview/elasticnodes/elasticnodes.desktop new file mode 100644 index 00000000000..64402d080f8 --- /dev/null +++ b/examples/graphicsview/elasticnodes/elasticnodes.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Elastic Nodes +Exec=/opt/usr/bin/elasticnodes +Icon=elasticnodes +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/graphicsview/flowlayout/flowlayout.desktop b/examples/graphicsview/flowlayout/flowlayout.desktop new file mode 100644 index 00000000000..54ea3b02901 --- /dev/null +++ b/examples/graphicsview/flowlayout/flowlayout.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Flow Layout +Exec=/opt/usr/bin/flowlayout +Icon=flowlayout +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/graphicsview/padnavigator/padnavigator.desktop b/examples/graphicsview/padnavigator/padnavigator.desktop new file mode 100644 index 00000000000..f0490730c69 --- /dev/null +++ b/examples/graphicsview/padnavigator/padnavigator.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Pad Navigator +Exec=/opt/usr/bin/padnavigator +Icon=padnavigator +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/graphicsview/portedasteroids/portedasteroids.desktop b/examples/graphicsview/portedasteroids/portedasteroids.desktop new file mode 100644 index 00000000000..abd061699b7 --- /dev/null +++ b/examples/graphicsview/portedasteroids/portedasteroids.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Ported Asteroids +Exec=/opt/usr/bin/portedasteroids +Icon=portedasteroids +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/graphicsview/portedcanvas/portedcanvas.desktop b/examples/graphicsview/portedcanvas/portedcanvas.desktop new file mode 100644 index 00000000000..1217dc43de0 --- /dev/null +++ b/examples/graphicsview/portedcanvas/portedcanvas.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Ported Canvas +Exec=/opt/usr/bin/portedcanvas +Icon=portedcanvas +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/graphicsview/simpleanchorlayout/simpleanchorlayout.desktop b/examples/graphicsview/simpleanchorlayout/simpleanchorlayout.desktop new file mode 100644 index 00000000000..0e8d73a859d --- /dev/null +++ b/examples/graphicsview/simpleanchorlayout/simpleanchorlayout.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Simple Anchor Layout +Exec=/opt/usr/bin/simpleanchorlayout +Icon=simpleanchorlayout +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/graphicsview/weatheranchorlayout/weatheranchorlayout.desktop b/examples/graphicsview/weatheranchorlayout/weatheranchorlayout.desktop new file mode 100644 index 00000000000..0c6ab89a683 --- /dev/null +++ b/examples/graphicsview/weatheranchorlayout/weatheranchorlayout.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Weather Anchor Layout +Exec=/opt/usr/bin/weatheranchorlayout +Icon=weatheranchorlayout +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/ipc/localfortuneclient/localfortuneclient.desktop b/examples/ipc/localfortuneclient/localfortuneclient.desktop new file mode 100644 index 00000000000..556ff4795d0 --- /dev/null +++ b/examples/ipc/localfortuneclient/localfortuneclient.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Local Fortune Client +Exec=/opt/usr/bin/localfortuneclient +Icon=localfortuneclient +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/ipc/localfortuneserver/localfortuneserver.desktop b/examples/ipc/localfortuneserver/localfortuneserver.desktop new file mode 100644 index 00000000000..74f485049a3 --- /dev/null +++ b/examples/ipc/localfortuneserver/localfortuneserver.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Local Fortune Server +Exec=/opt/usr/bin/localfortuneserver +Icon=localfortuneserver +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/ipc/sharedmemory/sharedmemory.desktop b/examples/ipc/sharedmemory/sharedmemory.desktop new file mode 100644 index 00000000000..118ded97cdd --- /dev/null +++ b/examples/ipc/sharedmemory/sharedmemory.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Shared Memory +Exec=/opt/usr/bin/sharedmemory +Icon=sharedmemory +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/itemviews/addressbook/addressbook.desktop b/examples/itemviews/addressbook/addressbook.desktop new file mode 100644 index 00000000000..11767f59d81 --- /dev/null +++ b/examples/itemviews/addressbook/addressbook.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Address Book +Exec=/opt/usr/bin/addressbook +Icon=addressbook +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/itemviews/basicsortfiltermodel/basicsortfiltermodel.desktop b/examples/itemviews/basicsortfiltermodel/basicsortfiltermodel.desktop new file mode 100644 index 00000000000..22621f3ba50 --- /dev/null +++ b/examples/itemviews/basicsortfiltermodel/basicsortfiltermodel.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Basic Sort Filter Model +Exec=/opt/usr/bin/basicsortfiltermodel +Icon=basicsortfiltermodel +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/itemviews/chart/chart.desktop b/examples/itemviews/chart/chart.desktop new file mode 100644 index 00000000000..73e017baeb8 --- /dev/null +++ b/examples/itemviews/chart/chart.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Chart +Exec=/opt/usr/bin/chart +Icon=chart +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/itemviews/coloreditorfactory/coloreditorfactory.desktop b/examples/itemviews/coloreditorfactory/coloreditorfactory.desktop new file mode 100644 index 00000000000..70b966445c5 --- /dev/null +++ b/examples/itemviews/coloreditorfactory/coloreditorfactory.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Color Editor Factory +Exec=/opt/usr/bin/coloreditorfactory +Icon=coloreditorfactory +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/itemviews/combowidgetmapper/combowidgetmapper.desktop b/examples/itemviews/combowidgetmapper/combowidgetmapper.desktop new file mode 100644 index 00000000000..3bbf6ad5f31 --- /dev/null +++ b/examples/itemviews/combowidgetmapper/combowidgetmapper.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Combo Widget Mapper +Exec=/opt/usr/bin/combowidgetmapper +Icon=combowidgetmapper +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/itemviews/customsortfiltermodel/customsortfiltermodel.desktop b/examples/itemviews/customsortfiltermodel/customsortfiltermodel.desktop new file mode 100644 index 00000000000..3c961f7e656 --- /dev/null +++ b/examples/itemviews/customsortfiltermodel/customsortfiltermodel.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Custom Sort Filter Model +Exec=/opt/usr/bin/customsortfiltermodel +Icon=customsortfiltermodel +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/itemviews/dirview/dirview.desktop b/examples/itemviews/dirview/dirview.desktop new file mode 100644 index 00000000000..51ec4df26cd --- /dev/null +++ b/examples/itemviews/dirview/dirview.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Dir View +Exec=/opt/usr/bin/dirview +Icon=dirview +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/itemviews/editabletreemodel/editabletreemodel.desktop b/examples/itemviews/editabletreemodel/editabletreemodel.desktop new file mode 100644 index 00000000000..17d17330df9 --- /dev/null +++ b/examples/itemviews/editabletreemodel/editabletreemodel.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Editable Tree Model +Exec=/opt/usr/bin/editabletreemodel +Icon=editabletreemodel +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/itemviews/fetchmore/fetchmore.desktop b/examples/itemviews/fetchmore/fetchmore.desktop new file mode 100644 index 00000000000..b8c9ff32cb0 --- /dev/null +++ b/examples/itemviews/fetchmore/fetchmore.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Fetch More +Exec=/opt/usr/bin/fetchmore +Icon=fetchmore +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/itemviews/frozencolumn/frozencolumn.desktop b/examples/itemviews/frozencolumn/frozencolumn.desktop new file mode 100644 index 00000000000..3d1e3b430d3 --- /dev/null +++ b/examples/itemviews/frozencolumn/frozencolumn.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Frozen Column +Exec=/opt/usr/bin/frozencolumn +Icon=frozencolumn +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/itemviews/pixelator/pixelator.desktop b/examples/itemviews/pixelator/pixelator.desktop new file mode 100644 index 00000000000..751deb13b38 --- /dev/null +++ b/examples/itemviews/pixelator/pixelator.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Pixelator +Exec=/opt/usr/bin/pixelator +Icon=pixelator +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/itemviews/puzzle/puzzle.desktop b/examples/itemviews/puzzle/puzzle.desktop new file mode 100644 index 00000000000..d493e7dd415 --- /dev/null +++ b/examples/itemviews/puzzle/puzzle.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Item Views Puzzle +Exec=/opt/usr/bin/puzzle +Icon=puzzle +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/itemviews/simpledommodel/simpledommodel.desktop b/examples/itemviews/simpledommodel/simpledommodel.desktop new file mode 100644 index 00000000000..a53b8968481 --- /dev/null +++ b/examples/itemviews/simpledommodel/simpledommodel.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Simple DOM Model +Exec=/opt/usr/bin/simpledommodel +Icon=simpledommodel +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/itemviews/simpletreemodel/simpletreemodel.desktop b/examples/itemviews/simpletreemodel/simpletreemodel.desktop new file mode 100644 index 00000000000..361202f5c06 --- /dev/null +++ b/examples/itemviews/simpletreemodel/simpletreemodel.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Simple Tree Model +Exec=/opt/usr/bin/simpletreemodel +Icon=simpletreemodel +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/itemviews/simplewidgetmapper/simplewidgetmapper.desktop b/examples/itemviews/simplewidgetmapper/simplewidgetmapper.desktop new file mode 100644 index 00000000000..6b09a236da1 --- /dev/null +++ b/examples/itemviews/simplewidgetmapper/simplewidgetmapper.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Simple Widget Mapper +Exec=/opt/usr/bin/simplewidgetmapper +Icon=simplewidgetmapper +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/itemviews/spinboxdelegate/spinboxdelegate.desktop b/examples/itemviews/spinboxdelegate/spinboxdelegate.desktop new file mode 100644 index 00000000000..347e408e960 --- /dev/null +++ b/examples/itemviews/spinboxdelegate/spinboxdelegate.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Spin Box Delegate +Exec=/opt/usr/bin/spinboxdelegate +Icon=spinboxdelegate +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/itemviews/stardelegate/stardelegate.desktop b/examples/itemviews/stardelegate/stardelegate.desktop new file mode 100644 index 00000000000..d508c3b2863 --- /dev/null +++ b/examples/itemviews/stardelegate/stardelegate.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Star Delegate +Exec=/opt/usr/bin/stardelegate +Icon=stardelegate +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/layouts/basiclayouts/basiclayouts.desktop b/examples/layouts/basiclayouts/basiclayouts.desktop new file mode 100644 index 00000000000..6c612eed09b --- /dev/null +++ b/examples/layouts/basiclayouts/basiclayouts.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Basic Layouts +Exec=/opt/usr/bin/basiclayouts +Icon=basiclayouts +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/layouts/borderlayout/borderlayout.desktop b/examples/layouts/borderlayout/borderlayout.desktop new file mode 100644 index 00000000000..3fd0641f1c3 --- /dev/null +++ b/examples/layouts/borderlayout/borderlayout.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Border Layout +Exec=/opt/usr/bin/borderlayout +Icon=borderlayout +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/layouts/dynamiclayouts/dynamiclayouts.desktop b/examples/layouts/dynamiclayouts/dynamiclayouts.desktop new file mode 100644 index 00000000000..482286bfb8a --- /dev/null +++ b/examples/layouts/dynamiclayouts/dynamiclayouts.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Dynamic Layouts +Exec=/opt/usr/bin/dynamiclayouts +Icon=dynamiclayouts +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/layouts/flowlayout/flowlayout.desktop b/examples/layouts/flowlayout/flowlayout.desktop new file mode 100644 index 00000000000..54ea3b02901 --- /dev/null +++ b/examples/layouts/flowlayout/flowlayout.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Flow Layout +Exec=/opt/usr/bin/flowlayout +Icon=flowlayout +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/mainwindows/application/application.desktop b/examples/mainwindows/application/application.desktop new file mode 100644 index 00000000000..b6fab1f1feb --- /dev/null +++ b/examples/mainwindows/application/application.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Application +Exec=/opt/usr/bin/application +Icon=application +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/mainwindows/dockwidgets/dockwidgets.desktop b/examples/mainwindows/dockwidgets/dockwidgets.desktop new file mode 100644 index 00000000000..1f57cb613b9 --- /dev/null +++ b/examples/mainwindows/dockwidgets/dockwidgets.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Dock Widgets +Exec=/opt/usr/bin/dockwidgets +Icon=dockwidgets +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/mainwindows/mdi/mdi.desktop b/examples/mainwindows/mdi/mdi.desktop new file mode 100644 index 00000000000..267e6f19d07 --- /dev/null +++ b/examples/mainwindows/mdi/mdi.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=MDI +Exec=/opt/usr/bin/mdi +Icon=mdi +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/mainwindows/menus/menus.desktop b/examples/mainwindows/menus/menus.desktop new file mode 100644 index 00000000000..dc2bda92aff --- /dev/null +++ b/examples/mainwindows/menus/menus.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Menus +Exec=/opt/usr/bin/menus +Icon=menus +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/mainwindows/recentfiles/recentfiles.desktop b/examples/mainwindows/recentfiles/recentfiles.desktop new file mode 100644 index 00000000000..c314cf7f7c6 --- /dev/null +++ b/examples/mainwindows/recentfiles/recentfiles.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Recent Files +Exec=/opt/usr/bin/recentfiles +Icon=recentfiles +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/mainwindows/sdi/sdi.desktop b/examples/mainwindows/sdi/sdi.desktop new file mode 100644 index 00000000000..06d7289c8b7 --- /dev/null +++ b/examples/mainwindows/sdi/sdi.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=SDI +Exec=/opt/usr/bin/sdi +Icon=sdi +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/network/bearercloud/bearercloud.desktop b/examples/network/bearercloud/bearercloud.desktop new file mode 100644 index 00000000000..4e494e04751 --- /dev/null +++ b/examples/network/bearercloud/bearercloud.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Bearer Cloud +Exec=/opt/usr/bin/bearercloud +Icon=bearercloud +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/network/bearermonitor/bearermonitor.desktop b/examples/network/bearermonitor/bearermonitor.desktop new file mode 100644 index 00000000000..14f1094d174 --- /dev/null +++ b/examples/network/bearermonitor/bearermonitor.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Bearer Monitor +Exec=/opt/usr/bin/bearermonitor +Icon=bearermonitor +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/network/blockingfortuneclient/blockingfortuneclient.desktop b/examples/network/blockingfortuneclient/blockingfortuneclient.desktop new file mode 100644 index 00000000000..87b13092ae2 --- /dev/null +++ b/examples/network/blockingfortuneclient/blockingfortuneclient.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Blocking Fortune Client +Exec=/opt/usr/bin/blockingfortuneclient +Icon=blockingfortuneclient +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/network/broadcastreceiver/broadcastreceiver.desktop b/examples/network/broadcastreceiver/broadcastreceiver.desktop new file mode 100644 index 00000000000..29072ed8b19 --- /dev/null +++ b/examples/network/broadcastreceiver/broadcastreceiver.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Broadcast Receiver +Exec=/opt/usr/bin/broadcastreceiver +Icon=broadcastreceiver +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/network/broadcastsender/broadcastsender.desktop b/examples/network/broadcastsender/broadcastsender.desktop new file mode 100644 index 00000000000..2690a15e66d --- /dev/null +++ b/examples/network/broadcastsender/broadcastsender.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Broadcast Sender +Exec=/opt/usr/bin/broadcastsender +Icon=broadcastsender +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/network/download/download.desktop b/examples/network/download/download.desktop new file mode 100644 index 00000000000..8dbdfe872fa --- /dev/null +++ b/examples/network/download/download.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Network Download +Exec=/opt/usr/bin/download +Icon=download +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/network/downloadmanager/downloadmanager.desktop b/examples/network/downloadmanager/downloadmanager.desktop new file mode 100644 index 00000000000..d046340c6f0 --- /dev/null +++ b/examples/network/downloadmanager/downloadmanager.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Network Download Manager +Exec=/opt/usr/bin/downloadmanager +Icon=downloadmanager +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/network/fortuneclient/fortuneclient.desktop b/examples/network/fortuneclient/fortuneclient.desktop new file mode 100644 index 00000000000..dc801ed0264 --- /dev/null +++ b/examples/network/fortuneclient/fortuneclient.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Fortune Client +Exec=/opt/usr/bin/fortuneclient +Icon=fortuneclient +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/network/fortuneserver/fortuneserver.desktop b/examples/network/fortuneserver/fortuneserver.desktop new file mode 100644 index 00000000000..8c936e8b9e4 --- /dev/null +++ b/examples/network/fortuneserver/fortuneserver.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Fortune Server +Exec=/opt/usr/bin/fortuneserver +Icon=fortuneserver +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/network/googlesuggest/googlesuggest.desktop b/examples/network/googlesuggest/googlesuggest.desktop new file mode 100644 index 00000000000..5034e2398ca --- /dev/null +++ b/examples/network/googlesuggest/googlesuggest.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Google Suggest +Exec=/opt/usr/bin/googlesuggest +Icon=googlesuggest +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/network/http/http.desktop b/examples/network/http/http.desktop new file mode 100644 index 00000000000..ce35e51947e --- /dev/null +++ b/examples/network/http/http.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=HTTP +Exec=/opt/usr/bin/http +Icon=http +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/network/loopback/loopback.desktop b/examples/network/loopback/loopback.desktop new file mode 100644 index 00000000000..ee982153c45 --- /dev/null +++ b/examples/network/loopback/loopback.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Loopback +Exec=/opt/usr/bin/loopback +Icon=loopback +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/network/network-chat/network-chat.desktop b/examples/network/network-chat/network-chat.desktop new file mode 100644 index 00000000000..ba3eeb36c5f --- /dev/null +++ b/examples/network/network-chat/network-chat.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Network Chat +Exec=/opt/usr/bin/network-chat +Icon=network-chat +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/network/qftp/qftp.desktop b/examples/network/qftp/qftp.desktop new file mode 100644 index 00000000000..6149fe96df4 --- /dev/null +++ b/examples/network/qftp/qftp.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=FTP +Exec=/opt/usr/bin/qftp +Icon=qftp +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/network/securesocketclient/securesocketclient.desktop b/examples/network/securesocketclient/securesocketclient.desktop new file mode 100644 index 00000000000..8335b27e333 --- /dev/null +++ b/examples/network/securesocketclient/securesocketclient.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Secure Socket Client +Exec=/opt/usr/bin/securesocketclient +Icon=securesocketclient +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/network/threadedfortuneserver/threadedfortuneserver.desktop b/examples/network/threadedfortuneserver/threadedfortuneserver.desktop new file mode 100644 index 00000000000..509e24493fa --- /dev/null +++ b/examples/network/threadedfortuneserver/threadedfortuneserver.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Threaded Fortune Server +Exec=/opt/usr/bin/threadedfortuneserver +Icon=threadedfortuneserver +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/network/torrent/torrent.desktop b/examples/network/torrent/torrent.desktop new file mode 100644 index 00000000000..59db3d312df --- /dev/null +++ b/examples/network/torrent/torrent.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Torrent +Exec=/opt/usr/bin/torrent +Icon=torrent +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/opengl/2dpainting/2dpainting.desktop b/examples/opengl/2dpainting/2dpainting.desktop new file mode 100644 index 00000000000..0b3570df346 --- /dev/null +++ b/examples/opengl/2dpainting/2dpainting.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=2D Painting +Exec=/opt/usr/bin/2dpainting +Icon=2dpainting +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/opengl/cube/cube.desktop b/examples/opengl/cube/cube.desktop new file mode 100644 index 00000000000..627e5f26917 --- /dev/null +++ b/examples/opengl/cube/cube.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Cube OpenGL ES 2.0 +Exec=/opt/usr/bin/cube +Icon=cube +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/opengl/cube/cube.png b/examples/opengl/cube/cube.png new file mode 100644 index 0000000000000000000000000000000000000000..42c8c51b3a004d3caaab6d9ab08f3f58d284c9ca GIT binary patch literal 30341 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 literal 0 HcmV?d00001 diff --git a/examples/opengl/cube/cube.pro b/examples/opengl/cube/cube.pro new file mode 100644 index 00000000000..64f6973c002 --- /dev/null +++ b/examples/opengl/cube/cube.pro @@ -0,0 +1,40 @@ +#------------------------------------------------- +# +# Project created by QtCreator 2010-06-23T12:55:35 +# +#------------------------------------------------- + +QT += core gui + +TARGET = cube +TEMPLATE = app + +SOURCES += main.cpp + +contains(QT_CONFIG, opengl) { + message(Building with OpenGL support.) + QT += opengl + + SOURCES += mainwidget.cpp \ + geometryengine.cpp + + HEADERS += \ + mainwidget.h \ + geometryengine.h + + RESOURCES += \ + shaders.qrc \ + textures.qrc + + OTHER_FILES += \ + vshader.glsl \ + fshader.glsl +} else { + message(OpenGL support is not available.) +} + +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) +simulator: warning(This example might not fully work on Simulator platform) diff --git a/examples/opengl/cube/fshader.glsl b/examples/opengl/cube/fshader.glsl new file mode 100644 index 00000000000..18068cf0e6e --- /dev/null +++ b/examples/opengl/cube/fshader.glsl @@ -0,0 +1,18 @@ +#ifdef GL_ES +// Set default precision to medium +precision mediump int; +precision mediump float; +#endif + +uniform sampler2D texture; + +varying vec2 v_texcoord; + +//! [0] +void main() +{ + // Set fragment color from texture + gl_FragColor = texture2D(texture, v_texcoord); +} +//! [0] + diff --git a/examples/opengl/cube/geometryengine.cpp b/examples/opengl/cube/geometryengine.cpp new file mode 100644 index 00000000000..2f6f65948d3 --- /dev/null +++ b/examples/opengl/cube/geometryengine.cpp @@ -0,0 +1,130 @@ +#include "geometryengine.h" + +#include +#include + +struct VertexData +{ + QVector3D position; + QVector2D texCoord; +}; + +GeometryEngine::GeometryEngine() : vboIds(new GLuint[2]) +{ +} + +GeometryEngine::~GeometryEngine() +{ + glDeleteBuffers(2, vboIds); + delete[] vboIds; +} + +void GeometryEngine::init() +{ +//! [0] + // Generate 2 VBOs + glGenBuffers(2, vboIds); + +//! [0] + + // Initializes cube geometry and transfers it to VBOs + initCubeGeometry(); +} + +void GeometryEngine::initCubeGeometry() +{ + // For cube we would need only 8 vertices but we have to + // duplicate vertex for each face because texture coordinate + // is different. + VertexData vertices[] = { + // Vertex data for face 0 + {QVector3D(-1.0, -1.0, 1.0), QVector2D(0.0, 0.0)}, // v0 + {QVector3D( 1.0, -1.0, 1.0), QVector2D(0.33, 0.0)}, // v1 + {QVector3D(-1.0, 1.0, 1.0), QVector2D(0.0, 0.5)}, // v2 + {QVector3D( 1.0, 1.0, 1.0), QVector2D(0.33, 0.5)}, // v3 + + // Vertex data for face 1 + {QVector3D( 1.0, -1.0, 1.0), QVector2D( 0.0, 0.5)}, // v4 + {QVector3D( 1.0, -1.0, -1.0), QVector2D(0.33, 0.5)}, // v5 + {QVector3D( 1.0, 1.0, 1.0), QVector2D(0.0, 1.0)}, // v6 + {QVector3D( 1.0, 1.0, -1.0), QVector2D(0.33, 1.0)}, // v7 + + // Vertex data for face 2 + {QVector3D( 1.0, -1.0, -1.0), QVector2D(0.66, 0.5)}, // v8 + {QVector3D(-1.0, -1.0, -1.0), QVector2D(1.0, 0.5)}, // v9 + {QVector3D( 1.0, 1.0, -1.0), QVector2D(0.66, 1.0)}, // v10 + {QVector3D(-1.0, 1.0, -1.0), QVector2D(1.0, 1.0)}, // v11 + + // Vertex data for face 3 + {QVector3D(-1.0, -1.0, -1.0), QVector2D(0.66, 0.0)}, // v12 + {QVector3D(-1.0, -1.0, 1.0), QVector2D(1.0, 0.0)}, // v13 + {QVector3D(-1.0, 1.0, -1.0), QVector2D(0.66, 0.5)}, // v14 + {QVector3D(-1.0, 1.0, 1.0), QVector2D(1.0, 0.5)}, // v15 + + // Vertex data for face 4 + {QVector3D(-1.0, -1.0, -1.0), QVector2D(0.33, 0.0)}, // v16 + {QVector3D( 1.0, -1.0, -1.0), QVector2D(0.66, 0.0)}, // v17 + {QVector3D(-1.0, -1.0, 1.0), QVector2D(0.33, 0.5)}, // v18 + {QVector3D( 1.0, -1.0, 1.0), QVector2D(0.66, 0.5)}, // v19 + + // Vertex data for face 5 + {QVector3D(-1.0, 1.0, 1.0), QVector2D(0.33, 0.5)}, // v20 + {QVector3D( 1.0, 1.0, 1.0), QVector2D(0.66, 0.5)}, // v21 + {QVector3D(-1.0, 1.0, -1.0), QVector2D(0.33, 1.0)}, // v22 + {QVector3D( 1.0, 1.0, -1.0), QVector2D(0.66, 1.0)} // v23 + }; + + // Indices for drawing cube faces using triangle strips. + // Triangle strips can be connected by duplicating indices + // between the strips. If connecting strips have opposite + // vertex order then last index of the first strip and first + // index of the second strip needs to be duplicated. If + // connecting strips have same vertex order then only last + // index of the first strip needs to be duplicated. + GLushort indices[] = { + 0, 1, 2, 3, 3, // Face 0 - triangle strip ( v0, v1, v2, v3) + 4, 4, 5, 6, 7, 7, // Face 1 - triangle strip ( v4, v5, v6, v7) + 8, 8, 9, 10, 11, 11, // Face 2 - triangle strip ( v8, v9, v10, v11) + 12, 12, 13, 14, 15, 15, // Face 3 - triangle strip (v12, v13, v14, v15) + 16, 16, 17, 18, 19, 19, // Face 4 - triangle strip (v16, v17, v18, v19) + 20, 20, 21, 22, 23 // Face 5 - triangle strip (v20, v21, v22, v23) + }; + +//! [1] + // Transfer vertex data to VBO 0 + glBindBuffer(GL_ARRAY_BUFFER, vboIds[0]); + glBufferData(GL_ARRAY_BUFFER, 24 * sizeof(VertexData), vertices, GL_STATIC_DRAW); + + // Transfer index data to VBO 1 + glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, vboIds[1]); + glBufferData(GL_ELEMENT_ARRAY_BUFFER, 34 * sizeof(GLushort), indices, GL_STATIC_DRAW); +//! [1] +} + +//! [2] +void GeometryEngine::drawCubeGeometry(QGLShaderProgram *program) +{ + // Tell OpenGL which VBOs to use + glBindBuffer(GL_ARRAY_BUFFER, vboIds[0]); + glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, vboIds[1]); + + // Offset for position + int offset = 0; + + // Tell OpenGL programmable pipeline how to locate vertex position data + int vertexLocation = program->attributeLocation("a_position"); + program->enableAttributeArray(vertexLocation); + glVertexAttribPointer(vertexLocation, 3, GL_FLOAT, GL_FALSE, sizeof(VertexData), (const void *)offset); + + // Offset for texture coordinate + offset += sizeof(QVector3D); + + // Tell OpenGL programmable pipeline how to locate vertex texture coordinate data + int texcoordLocation = program->attributeLocation("a_texcoord"); + program->enableAttributeArray(texcoordLocation); + glVertexAttribPointer(texcoordLocation, 2, GL_FLOAT, GL_FALSE, sizeof(VertexData), (const void *)offset); + + // Draw cube geometry using indices from VBO 1 + glDrawElements(GL_TRIANGLE_STRIP, 34, GL_UNSIGNED_SHORT, 0); +} +//! [2] diff --git a/examples/opengl/cube/geometryengine.h b/examples/opengl/cube/geometryengine.h new file mode 100644 index 00000000000..d0fba694a25 --- /dev/null +++ b/examples/opengl/cube/geometryengine.h @@ -0,0 +1,24 @@ +#ifndef GEOMETRYENGINE_H +#define GEOMETRYENGINE_H + +#include +#include + +class GeometryEngine : protected QGLFunctions +{ +public: + GeometryEngine(); + virtual ~GeometryEngine(); + + void init(); + + void drawCubeGeometry(QGLShaderProgram *program); + +private: + void initCubeGeometry(); + + GLuint *vboIds; + +}; + +#endif // GEOMETRYENGINE_H diff --git a/examples/opengl/cube/main.cpp b/examples/opengl/cube/main.cpp new file mode 100644 index 00000000000..faac8a0bd8d --- /dev/null +++ b/examples/opengl/cube/main.cpp @@ -0,0 +1,22 @@ +#include +#include + +#ifndef QT_NO_OPENGL +#include "mainwidget.h" +#endif + +int main(int argc, char *argv[]) +{ + QApplication a(argc, argv); + a.setApplicationName("cube"); + a.setApplicationVersion("0.1"); +#ifndef QT_NO_OPENGL + MainWidget w; + w.resize(640, 480); + w.show(); +#else + QLabel * notifyLabel = new QLabel("OpenGL Support required"); + notifyLabel->show(); +#endif + return a.exec(); +} diff --git a/examples/opengl/cube/mainwidget.cpp b/examples/opengl/cube/mainwidget.cpp new file mode 100644 index 00000000000..bead5f79ed0 --- /dev/null +++ b/examples/opengl/cube/mainwidget.cpp @@ -0,0 +1,192 @@ +#include "mainwidget.h" + +#include "geometryengine.h" + +#include + +#include +#include + +#include + +#include + +MainWidget::MainWidget(QWidget *parent) : + QGLWidget(parent), + timer(new QBasicTimer), + program(new QGLShaderProgram), + geometries(new GeometryEngine) +{ +} + +MainWidget::~MainWidget() +{ + delete timer; timer = 0; + delete program; program = 0; + delete geometries; geometries = 0; + + deleteTexture(texture); +} + +//! [0] +void MainWidget::mousePressEvent(QMouseEvent *e) +{ + // Saving mouse press position + mousePressPosition = QVector2D(e->posF()); +} + +void MainWidget::mouseReleaseEvent(QMouseEvent *e) +{ + // Mouse release position - mouse press position + QVector2D diff = QVector2D(e->posF()) - mousePressPosition; + + // Rotation axis is perpendicular to the mouse position difference + // vector + QVector3D n = QVector3D(diff.y(), diff.x(), 0.0).normalized(); + + // Accelerate angular speed relative to the length of the mouse sweep + qreal acc = diff.length() / 100.0; + + // Calculate new rotation axis as weighted sum + rotationAxis = (rotationAxis * angularSpeed + n * acc).normalized(); + + // Increase angular speed + angularSpeed += acc; +} +//! [0] + +//! [1] +void MainWidget::timerEvent(QTimerEvent *e) +{ + Q_UNUSED(e); + + // Decrease angular speed (friction) + angularSpeed *= 0.99; + + // Stop rotation when speed goes below threshold + if (angularSpeed < 0.01) + angularSpeed = 0.0; + else { + // Update rotation + rotation = QQuaternion::fromAxisAndAngle(rotationAxis, angularSpeed) * rotation; + + // Update scene + updateGL(); + } +} +//! [1] + +void MainWidget::initializeGL() +{ + qglClearColor(Qt::black); + + qDebug() << "Initializing shaders..."; + initShaders(); + + qDebug() << "Initializing textures..."; + initTextures(); + +//! [2] + // Enable depth buffer + glEnable(GL_DEPTH_TEST); + + // Enable back face culling + glEnable(GL_CULL_FACE); +//! [2] + + qDebug() << "Initializing geometries..."; + geometries->init(); + + // using QBasicTimer because its faster that QTimer + timer->start(12, this); +} + +//! [3] +void MainWidget::initShaders() +{ + // Overriding system locale until shaders are compiled + setlocale(LC_NUMERIC, "C"); + + // Compiling vertex shader + if (!program->addShaderFromSourceFile(QGLShader::Vertex, ":/vshader.glsl")) + close(); + + // Compiling fragment shader + if (!program->addShaderFromSourceFile(QGLShader::Fragment, ":/fshader.glsl")) + close(); + + // Linking shader pipeline + if (!program->link()) + close(); + + // Binding shader pipeline for use + if (!program->bind()) + close(); + + // Restore system locale + setlocale(LC_ALL, ""); +} +//! [3] + +//! [4] +void MainWidget::initTextures() +{ + // Loading cube.png to texture unit 0 + glActiveTexture(GL_TEXTURE0); + glEnable(GL_TEXTURE_2D); + texture = bindTexture(QImage(":/cube.png")); + + // Set nearest filtering mode for texture minification + glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST); + + // Set bilinear filtering mode for texture magnification + glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); + + // Wrap texture coordinates by repeating + // f.ex. texture coordinate (1.1, 1.2) is same as (0.1, 0.2) + glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT); + glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT); +} +//! [4] + +//! [5] +void MainWidget::resizeGL(int w, int h) +{ + // Set OpenGL viewport to cover whole widget + glViewport(0, 0, w, h); + + // Calculate aspect ratio + qreal aspect = (qreal)w / ((qreal)h?h:1); + + // Set near plane to 3.0, far plane to 7.0, field of view 45 degrees + const qreal zNear = 3.0, zFar = 7.0, fov = 45.0; + + // Reset projection + projection.setToIdentity(); + + // Set perspective projection + projection.perspective(fov, aspect, zNear, zFar); +} +//! [5] + +void MainWidget::paintGL() +{ + // Clear color and depth buffer + glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); + +//! [6] + // Calculate model view transformation + QMatrix4x4 matrix; + matrix.translate(0.0, 0.0, -5.0); + matrix.rotate(rotation); + + // Set modelview-projection matrix + program->setUniformValue("mvp_matrix", projection * matrix); +//! [6] + + // Using texture unit 0 which contains cube.png + program->setUniformValue("texture", 0); + + // Draw cube geometry + geometries->drawCubeGeometry(program); +} diff --git a/examples/opengl/cube/mainwidget.h b/examples/opengl/cube/mainwidget.h new file mode 100644 index 00000000000..595173b65d6 --- /dev/null +++ b/examples/opengl/cube/mainwidget.h @@ -0,0 +1,53 @@ +#ifndef MAINWIDGET_H +#define MAINWIDGET_H + +#include + +#include +#include +#include + +class QBasicTimer; +class QGLShaderProgram; + +class GeometryEngine; + +class MainWidget : public QGLWidget +{ + Q_OBJECT +public: + explicit MainWidget(QWidget *parent = 0); + virtual ~MainWidget(); + +signals: + +public slots: + +protected: + void mousePressEvent(QMouseEvent *e); + void mouseReleaseEvent(QMouseEvent *e); + void timerEvent(QTimerEvent *e); + + void initializeGL(); + void resizeGL(int w, int h); + void paintGL(); + + void initShaders(); + void initTextures(); + +private: + QBasicTimer *timer; + QGLShaderProgram *program; + GeometryEngine *geometries; + + GLuint texture; + + QMatrix4x4 projection; + + QVector2D mousePressPosition; + QVector3D rotationAxis; + qreal angularSpeed; + QQuaternion rotation; +}; + +#endif // MAINWIDGET_H diff --git a/examples/opengl/cube/shaders.qrc b/examples/opengl/cube/shaders.qrc new file mode 100644 index 00000000000..bfc4b251116 --- /dev/null +++ b/examples/opengl/cube/shaders.qrc @@ -0,0 +1,6 @@ + + + vshader.glsl + fshader.glsl + + diff --git a/examples/opengl/cube/textures.qrc b/examples/opengl/cube/textures.qrc new file mode 100644 index 00000000000..fe53be5e645 --- /dev/null +++ b/examples/opengl/cube/textures.qrc @@ -0,0 +1,5 @@ + + + cube.png + + diff --git a/examples/opengl/cube/vshader.glsl b/examples/opengl/cube/vshader.glsl new file mode 100644 index 00000000000..cfdc0618527 --- /dev/null +++ b/examples/opengl/cube/vshader.glsl @@ -0,0 +1,24 @@ +#ifdef GL_ES +// Set default precision to medium +precision mediump int; +precision mediump float; +#endif + +uniform mat4 mvp_matrix; + +attribute vec4 a_position; +attribute vec2 a_texcoord; + +varying vec2 v_texcoord; + +//! [0] +void main() +{ + // Calculate vertex position in screen space + gl_Position = mvp_matrix * a_position; + + // Pass texture coordinate to fragment shader + // Value will be automatically interpolated to fragments inside polygon faces + v_texcoord = a_texcoord; +} +//! [0] diff --git a/examples/opengl/framebufferobject/framebufferobject.desktop b/examples/opengl/framebufferobject/framebufferobject.desktop new file mode 100644 index 00000000000..5858deaabb1 --- /dev/null +++ b/examples/opengl/framebufferobject/framebufferobject.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Framebuffer Object +Exec=/opt/usr/bin/framebufferobject +Icon=framebufferobject +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/opengl/framebufferobject2/framebufferobject2.desktop b/examples/opengl/framebufferobject2/framebufferobject2.desktop new file mode 100644 index 00000000000..6aed108ef68 --- /dev/null +++ b/examples/opengl/framebufferobject2/framebufferobject2.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Framebuffer Object 2 +Exec=/opt/usr/bin/framebufferobject2 +Icon=framebufferobject2 +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/opengl/grabber/grabber.desktop b/examples/opengl/grabber/grabber.desktop new file mode 100644 index 00000000000..76f31bea5cf --- /dev/null +++ b/examples/opengl/grabber/grabber.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Grabber +Exec=/opt/usr/bin/grabber +Icon=grabber +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/opengl/hellogl/hellogl.desktop b/examples/opengl/hellogl/hellogl.desktop new file mode 100644 index 00000000000..355e259846f --- /dev/null +++ b/examples/opengl/hellogl/hellogl.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Hello GL +Exec=/opt/usr/bin/hellogl +Icon=hellogl +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/opengl/hellogl_es/hellogl_es.desktop b/examples/opengl/hellogl_es/hellogl_es.desktop new file mode 100644 index 00000000000..11c1dd795c2 --- /dev/null +++ b/examples/opengl/hellogl_es/hellogl_es.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Hello GL ES +Exec=/opt/usr/bin/hellogl_es +Icon=hellogl_es +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/opengl/hellogl_es2/hellogl_es2.desktop b/examples/opengl/hellogl_es2/hellogl_es2.desktop new file mode 100644 index 00000000000..2fe0adfc72c --- /dev/null +++ b/examples/opengl/hellogl_es2/hellogl_es2.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Hello GL ES 2 +Exec=/opt/usr/bin/hellogl_es2 +Icon=hellogl_es2 +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/opengl/overpainting/overpainting.desktop b/examples/opengl/overpainting/overpainting.desktop new file mode 100644 index 00000000000..025300b9226 --- /dev/null +++ b/examples/opengl/overpainting/overpainting.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Overpainting +Exec=/opt/usr/bin/overpainting +Icon=overpainting +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/opengl/pbuffers/pbuffers.desktop b/examples/opengl/pbuffers/pbuffers.desktop new file mode 100644 index 00000000000..e5c5cee8c4c --- /dev/null +++ b/examples/opengl/pbuffers/pbuffers.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Pixel Buffers +Exec=/opt/usr/bin/pbuffers +Icon=pbuffers +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/opengl/pbuffers2/pbuffers2.desktop b/examples/opengl/pbuffers2/pbuffers2.desktop new file mode 100644 index 00000000000..eed908c661d --- /dev/null +++ b/examples/opengl/pbuffers2/pbuffers2.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Pixel Buffers 2 +Exec=/opt/usr/bin/pbuffers2 +Icon=pbuffers2 +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/opengl/samplebuffers/samplebuffers.desktop b/examples/opengl/samplebuffers/samplebuffers.desktop new file mode 100644 index 00000000000..d7bd43d95cb --- /dev/null +++ b/examples/opengl/samplebuffers/samplebuffers.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Sample Buffers +Exec=/opt/usr/bin/samplebuffers +Icon=samplebuffers +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/opengl/textures/textures.desktop b/examples/opengl/textures/textures.desktop new file mode 100644 index 00000000000..e8a40cdcd52 --- /dev/null +++ b/examples/opengl/textures/textures.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Textures +Exec=/opt/usr/bin/textures +Icon=textures +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/openvg/openvg.desktop b/examples/openvg/openvg.desktop new file mode 100644 index 00000000000..186699aef11 --- /dev/null +++ b/examples/openvg/openvg.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=OpenVG Star +Exec=/opt/usr/bin/openvg +Icon=openvg +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/painting/basicdrawing/basicdrawing.desktop b/examples/painting/basicdrawing/basicdrawing.desktop new file mode 100644 index 00000000000..7f178ec8a7d --- /dev/null +++ b/examples/painting/basicdrawing/basicdrawing.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Basic Drawing +Exec=/opt/usr/bin/basicdrawing +Icon=basicdrawing +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/painting/concentriccircles/concentriccircles.desktop b/examples/painting/concentriccircles/concentriccircles.desktop new file mode 100644 index 00000000000..7007f192bc0 --- /dev/null +++ b/examples/painting/concentriccircles/concentriccircles.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Concentric Circles +Exec=/opt/usr/bin/concentriccircles +Icon=concentriccircles +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/painting/fontsampler/fontsampler.desktop b/examples/painting/fontsampler/fontsampler.desktop new file mode 100644 index 00000000000..8582891fcfc --- /dev/null +++ b/examples/painting/fontsampler/fontsampler.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Font Sampler +Exec=/opt/usr/bin/fontsampler +Icon=fontsampler +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/painting/imagecomposition/imagecomposition.desktop b/examples/painting/imagecomposition/imagecomposition.desktop new file mode 100644 index 00000000000..854fc862f09 --- /dev/null +++ b/examples/painting/imagecomposition/imagecomposition.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Image Composition +Exec=/opt/usr/bin/imagecomposition +Icon=imagecomposition +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/painting/painterpaths/painterpaths.desktop b/examples/painting/painterpaths/painterpaths.desktop new file mode 100644 index 00000000000..ae92f2c5894 --- /dev/null +++ b/examples/painting/painterpaths/painterpaths.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Painter Paths +Exec=/opt/usr/bin/painterpaths +Icon=painterpaths +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/painting/svggenerator/svggenerator.desktop b/examples/painting/svggenerator/svggenerator.desktop new file mode 100644 index 00000000000..3ae32a4908b --- /dev/null +++ b/examples/painting/svggenerator/svggenerator.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=SVG Generator +Exec=/opt/usr/bin/svggenerator +Icon=svggenerator +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/painting/svgviewer/svgviewer.desktop b/examples/painting/svgviewer/svgviewer.desktop new file mode 100644 index 00000000000..477ef789d80 --- /dev/null +++ b/examples/painting/svgviewer/svgviewer.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=SVG Viewer +Exec=/opt/usr/bin/svgviewer +Icon=svgviewer +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/painting/transformations/transformations.desktop b/examples/painting/transformations/transformations.desktop new file mode 100644 index 00000000000..2f538910695 --- /dev/null +++ b/examples/painting/transformations/transformations.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Transformations +Exec=/opt/usr/bin/transformations +Icon=transformations +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/qtconcurrent/imagescaling/imagescaling.desktop b/examples/qtconcurrent/imagescaling/imagescaling.desktop new file mode 100644 index 00000000000..289f56c51d0 --- /dev/null +++ b/examples/qtconcurrent/imagescaling/imagescaling.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=QtConcurrent Image Scaling +Exec=/opt/usr/bin/imagescaling +Icon=imagescaling +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/qtconcurrent/map/map.desktop b/examples/qtconcurrent/map/map.desktop new file mode 100644 index 00000000000..7d8bba9e4bc --- /dev/null +++ b/examples/qtconcurrent/map/map.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=QtConcurrent Map +Exec=/opt/usr/bin/map +Icon=map +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/qtconcurrent/progressdialog/progressdialog.desktop b/examples/qtconcurrent/progressdialog/progressdialog.desktop new file mode 100644 index 00000000000..51794712361 --- /dev/null +++ b/examples/qtconcurrent/progressdialog/progressdialog.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=QtConcurrent Progress Dialog +Exec=/opt/usr/bin/progressdialog +Icon=progressdialog +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/qtconcurrent/runfunction/runfunction.desktop b/examples/qtconcurrent/runfunction/runfunction.desktop new file mode 100644 index 00000000000..0c36f89586b --- /dev/null +++ b/examples/qtconcurrent/runfunction/runfunction.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=QtConcurrent Run Function +Exec=/opt/usr/bin/runfunction +Icon=runfunction +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/qtconcurrent/wordcount/wordcount.desktop b/examples/qtconcurrent/wordcount/wordcount.desktop new file mode 100644 index 00000000000..382d5735834 --- /dev/null +++ b/examples/qtconcurrent/wordcount/wordcount.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=QtConcurrent Word Count +Exec=/opt/usr/bin/wordcount +Icon=wordcount +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/qtestlib/tutorial1/tutorial1.desktop b/examples/qtestlib/tutorial1/tutorial1.desktop new file mode 100644 index 00000000000..4b0b5850f7a --- /dev/null +++ b/examples/qtestlib/tutorial1/tutorial1.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Writing a Unit Test +Exec=/opt/usr/bin/tutorial1 +Icon=tutorial1 +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/qtestlib/tutorial2/tutorial2.desktop b/examples/qtestlib/tutorial2/tutorial2.desktop new file mode 100644 index 00000000000..df8e7817a17 --- /dev/null +++ b/examples/qtestlib/tutorial2/tutorial2.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Data Driven Testing +Exec=/opt/usr/bin/tutorial2 +Icon=tutorial2 +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/qtestlib/tutorial3/tutorial3.desktop b/examples/qtestlib/tutorial3/tutorial3.desktop new file mode 100644 index 00000000000..0522ca5f531 --- /dev/null +++ b/examples/qtestlib/tutorial3/tutorial3.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Simulating GUI Events +Exec=/opt/usr/bin/tutorial3 +Icon=tutorial3 +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/qtestlib/tutorial4/tutorial4.desktop b/examples/qtestlib/tutorial4/tutorial4.desktop new file mode 100644 index 00000000000..05b5678009c --- /dev/null +++ b/examples/qtestlib/tutorial4/tutorial4.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Replaying GUI Events +Exec=/opt/usr/bin/tutorial4 +Icon=tutorial4 +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/qtestlib/tutorial5/tutorial5.desktop b/examples/qtestlib/tutorial5/tutorial5.desktop new file mode 100644 index 00000000000..9e8e6cf6091 --- /dev/null +++ b/examples/qtestlib/tutorial5/tutorial5.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Writing a Benchmark +Exec=/opt/usr/bin/tutorial5 +Icon=tutorial5 +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/qws/dbscreen/dbscreen.desktop b/examples/qws/dbscreen/dbscreen.desktop new file mode 100644 index 00000000000..1726e6cb8d2 --- /dev/null +++ b/examples/qws/dbscreen/dbscreen.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Double Buffered Graphics Driver +Exec=/opt/usr/bin/dbscreen +Icon=dbscreen +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/qws/framebuffer/framebuffer.desktop b/examples/qws/framebuffer/framebuffer.desktop new file mode 100644 index 00000000000..030f264cad0 --- /dev/null +++ b/examples/qws/framebuffer/framebuffer.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Linux Framebuffer +Exec=/opt/usr/bin/framebuffer +Icon=framebuffer +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/qws/mousecalibration/mousecalibration.desktop b/examples/qws/mousecalibration/mousecalibration.desktop new file mode 100644 index 00000000000..07c231e97c3 --- /dev/null +++ b/examples/qws/mousecalibration/mousecalibration.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Mouse Calibration +Exec=/opt/usr/bin/mousecalibration +Icon=mousecalibration +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/qws/simpledecoration/simpledecoration.desktop b/examples/qws/simpledecoration/simpledecoration.desktop new file mode 100644 index 00000000000..9cd588eb1d8 --- /dev/null +++ b/examples/qws/simpledecoration/simpledecoration.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Simple Decoration +Exec=/opt/usr/bin/simpledecoration +Icon=simpledecoration +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/qws/svgalib/svgalib.desktop b/examples/qws/svgalib/svgalib.desktop new file mode 100644 index 00000000000..94ea92fd527 --- /dev/null +++ b/examples/qws/svgalib/svgalib.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Accelerated Graphics Driver +Exec=/opt/usr/bin/svgalib +Icon=svgalib +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/richtext/calendar/calendar.desktop b/examples/richtext/calendar/calendar.desktop new file mode 100644 index 00000000000..41ba6dd95a6 --- /dev/null +++ b/examples/richtext/calendar/calendar.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Calendar +Exec=/opt/usr/bin/calendar +Icon=calendar +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/richtext/orderform/orderform.desktop b/examples/richtext/orderform/orderform.desktop new file mode 100644 index 00000000000..4690cbc8765 --- /dev/null +++ b/examples/richtext/orderform/orderform.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Order Form +Exec=/opt/usr/bin/orderform +Icon=orderform +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/richtext/syntaxhighlighter/syntaxhighlighter.desktop b/examples/richtext/syntaxhighlighter/syntaxhighlighter.desktop new file mode 100644 index 00000000000..2e3c833f0ee --- /dev/null +++ b/examples/richtext/syntaxhighlighter/syntaxhighlighter.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Syntax Highlighter +Exec=/opt/usr/bin/syntaxhighlighter +Icon=syntaxhighlighter +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/sql/cachedtable/cachedtable.desktop b/examples/sql/cachedtable/cachedtable.desktop new file mode 100644 index 00000000000..aeec353e691 --- /dev/null +++ b/examples/sql/cachedtable/cachedtable.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Cached Table +Exec=/opt/usr/bin/cachedtable +Icon=cachedtable +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/sql/drilldown/drilldown.desktop b/examples/sql/drilldown/drilldown.desktop new file mode 100644 index 00000000000..b0f3ce0a9cd --- /dev/null +++ b/examples/sql/drilldown/drilldown.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Drill Down +Exec=/opt/usr/bin/drilldown +Icon=drilldown +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/sql/masterdetail/masterdetail.desktop b/examples/sql/masterdetail/masterdetail.desktop new file mode 100644 index 00000000000..6f8c3e5acd7 --- /dev/null +++ b/examples/sql/masterdetail/masterdetail.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Master Detail +Exec=/opt/usr/bin/masterdetail +Icon=masterdetail +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/sql/querymodel/querymodel.desktop b/examples/sql/querymodel/querymodel.desktop new file mode 100644 index 00000000000..8bba9718143 --- /dev/null +++ b/examples/sql/querymodel/querymodel.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Query Model +Exec=/opt/usr/bin/querymodel +Icon=querymodel +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/sql/relationaltablemodel/relationaltablemodel.desktop b/examples/sql/relationaltablemodel/relationaltablemodel.desktop new file mode 100644 index 00000000000..8d5437d30c7 --- /dev/null +++ b/examples/sql/relationaltablemodel/relationaltablemodel.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Relational Table Model +Exec=/opt/usr/bin/relationaltablemodel +Icon=relationaltablemodel +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/sql/sqlwidgetmapper/sqlwidgetmapper.desktop b/examples/sql/sqlwidgetmapper/sqlwidgetmapper.desktop new file mode 100644 index 00000000000..c02e6bcb167 --- /dev/null +++ b/examples/sql/sqlwidgetmapper/sqlwidgetmapper.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=SQL Widget Mapper +Exec=/opt/usr/bin/sqlwidgetmapper +Icon=sqlwidgetmapper +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/sql/tablemodel/tablemodel.desktop b/examples/sql/tablemodel/tablemodel.desktop new file mode 100644 index 00000000000..821fbd996f4 --- /dev/null +++ b/examples/sql/tablemodel/tablemodel.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Table Model +Exec=/opt/usr/bin/tablemodel +Icon=tablemodel +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/statemachine/eventtransitions/eventtransitions.desktop b/examples/statemachine/eventtransitions/eventtransitions.desktop new file mode 100644 index 00000000000..c1bceb22408 --- /dev/null +++ b/examples/statemachine/eventtransitions/eventtransitions.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Event Transitions +Exec=/opt/usr/bin/eventtransitions +Icon=eventtransitions +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/statemachine/factorial/factorial.desktop b/examples/statemachine/factorial/factorial.desktop new file mode 100644 index 00000000000..41b27227f93 --- /dev/null +++ b/examples/statemachine/factorial/factorial.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Factorial States +Exec=/opt/usr/bin/factorial +Icon=factorial +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/statemachine/pingpong/pingpong.desktop b/examples/statemachine/pingpong/pingpong.desktop new file mode 100644 index 00000000000..79646a2cc80 --- /dev/null +++ b/examples/statemachine/pingpong/pingpong.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Ping Pong States +Exec=/opt/usr/bin/pingpong +Icon=pingpong +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/statemachine/rogue/rogue.desktop b/examples/statemachine/rogue/rogue.desktop new file mode 100644 index 00000000000..71ca4b6511a --- /dev/null +++ b/examples/statemachine/rogue/rogue.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Rogue +Exec=/opt/usr/bin/rogue +Icon=rogue +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/statemachine/trafficlight/trafficlight.desktop b/examples/statemachine/trafficlight/trafficlight.desktop new file mode 100644 index 00000000000..8a5cc1673b6 --- /dev/null +++ b/examples/statemachine/trafficlight/trafficlight.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Traffic Light +Exec=/opt/usr/bin/trafficlight +Icon=trafficlight +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/statemachine/twowaybutton/twowaybutton.desktop b/examples/statemachine/twowaybutton/twowaybutton.desktop new file mode 100644 index 00000000000..9dd0918937e --- /dev/null +++ b/examples/statemachine/twowaybutton/twowaybutton.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Two-way Button +Exec=/opt/usr/bin/twowaybutton +Icon=twowaybutton +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/threads/mandelbrot/mandelbrot.desktop b/examples/threads/mandelbrot/mandelbrot.desktop new file mode 100644 index 00000000000..3e70e1aa06d --- /dev/null +++ b/examples/threads/mandelbrot/mandelbrot.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Mandelbrot +Exec=/opt/usr/bin/mandelbrot +Icon=mandelbrot +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/threads/queuedcustomtype/queuedcustomtype.desktop b/examples/threads/queuedcustomtype/queuedcustomtype.desktop new file mode 100644 index 00000000000..fa5ed7aa353 --- /dev/null +++ b/examples/threads/queuedcustomtype/queuedcustomtype.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Queued Custom Type +Exec=/opt/usr/bin/queuedcustomtype +Icon=queuedcustomtype +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/threads/semaphores/semaphores.desktop b/examples/threads/semaphores/semaphores.desktop new file mode 100644 index 00000000000..a7dc46722f0 --- /dev/null +++ b/examples/threads/semaphores/semaphores.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Semaphores +Exec=/opt/usr/bin/semaphores +Icon=semaphores +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/threads/waitconditions/waitconditions.desktop b/examples/threads/waitconditions/waitconditions.desktop new file mode 100644 index 00000000000..4fbc3047d7d --- /dev/null +++ b/examples/threads/waitconditions/waitconditions.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Wait Conditions +Exec=/opt/usr/bin/waitconditions +Icon=waitconditions +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/tools/codecs/codecs.desktop b/examples/tools/codecs/codecs.desktop new file mode 100644 index 00000000000..bba62207f81 --- /dev/null +++ b/examples/tools/codecs/codecs.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Codecs +Exec=/opt/usr/bin/codecs +Icon=codecs +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/tools/completer/completer.desktop b/examples/tools/completer/completer.desktop new file mode 100644 index 00000000000..f7e2d155d86 --- /dev/null +++ b/examples/tools/completer/completer.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Completer +Exec=/opt/usr/bin/completer +Icon=completer +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/tools/contiguouscache/contiguouscache.desktop b/examples/tools/contiguouscache/contiguouscache.desktop new file mode 100644 index 00000000000..e89e2067f42 --- /dev/null +++ b/examples/tools/contiguouscache/contiguouscache.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Contiguous Cache +Exec=/opt/usr/bin/contiguouscache +Icon=contiguouscache +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/tools/customcompleter/customcompleter.desktop b/examples/tools/customcompleter/customcompleter.desktop new file mode 100644 index 00000000000..bbc21112ad7 --- /dev/null +++ b/examples/tools/customcompleter/customcompleter.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Custom Completer +Exec=/opt/usr/bin/customcompleter +Icon=customcompleter +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/tools/customtype/customtype.desktop b/examples/tools/customtype/customtype.desktop new file mode 100644 index 00000000000..ff15e19cb6a --- /dev/null +++ b/examples/tools/customtype/customtype.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Custom Type +Exec=/opt/usr/bin/customtype +Icon=customtype +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/tools/customtypesending/customtypesending.desktop b/examples/tools/customtypesending/customtypesending.desktop new file mode 100644 index 00000000000..dd59b4393a3 --- /dev/null +++ b/examples/tools/customtypesending/customtypesending.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Custom Type Sending +Exec=/opt/usr/bin/customtypesending +Icon=customtypesending +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/tools/echoplugin/echowindow/echowindow.desktop b/examples/tools/echoplugin/echowindow/echowindow.desktop new file mode 100644 index 00000000000..7b36de401d8 --- /dev/null +++ b/examples/tools/echoplugin/echowindow/echowindow.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Echo Window +Exec=/opt/usr/bin/echowindow +Icon=echowindow +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/tools/echoplugin/plugin/plugin.desktop b/examples/tools/echoplugin/plugin/plugin.desktop new file mode 100644 index 00000000000..5aba4d1c873 --- /dev/null +++ b/examples/tools/echoplugin/plugin/plugin.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Echo Plugin +Exec=/opt/usr/bin/plugin +Icon=plugin +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/tools/i18n/i18n.desktop b/examples/tools/i18n/i18n.desktop new file mode 100644 index 00000000000..e1632c4d04f --- /dev/null +++ b/examples/tools/i18n/i18n.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=I18N +Exec=/opt/usr/bin/i18n +Icon=i18n +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/tools/inputpanel/inputpanel.desktop b/examples/tools/inputpanel/inputpanel.desktop new file mode 100644 index 00000000000..3cc9bd078a2 --- /dev/null +++ b/examples/tools/inputpanel/inputpanel.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Input Panel +Exec=/opt/usr/bin/inputpanel +Icon=inputpanel +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/tools/plugandpaint/plugandpaint.desktop b/examples/tools/plugandpaint/plugandpaint.desktop new file mode 100644 index 00000000000..e39d5122253 --- /dev/null +++ b/examples/tools/plugandpaint/plugandpaint.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Plug appnameplaceholder Paint +Exec=/opt/usr/bin/plugandpaint +Icon=plugandpaint +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/tools/regexp/regexp.desktop b/examples/tools/regexp/regexp.desktop new file mode 100644 index 00000000000..b3ae14e3608 --- /dev/null +++ b/examples/tools/regexp/regexp.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Regular Expressions +Exec=/opt/usr/bin/regexp +Icon=regexp +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/tools/settingseditor/settingseditor.desktop b/examples/tools/settingseditor/settingseditor.desktop new file mode 100644 index 00000000000..b8561a6f3a0 --- /dev/null +++ b/examples/tools/settingseditor/settingseditor.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Settings Editor +Exec=/opt/usr/bin/settingseditor +Icon=settingseditor +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/tools/treemodelcompleter/treemodelcompleter.desktop b/examples/tools/treemodelcompleter/treemodelcompleter.desktop new file mode 100644 index 00000000000..a54aa7b66e9 --- /dev/null +++ b/examples/tools/treemodelcompleter/treemodelcompleter.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Tree Model Completer +Exec=/opt/usr/bin/treemodelcompleter +Icon=treemodelcompleter +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/tools/undoframework/undoframework.desktop b/examples/tools/undoframework/undoframework.desktop new file mode 100644 index 00000000000..24b7f320f4f --- /dev/null +++ b/examples/tools/undoframework/undoframework.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Undo Framework +Exec=/opt/usr/bin/undoframework +Icon=undoframework +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/touch/dials/dials.desktop b/examples/touch/dials/dials.desktop new file mode 100644 index 00000000000..15360999144 --- /dev/null +++ b/examples/touch/dials/dials.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Touch Dials +Exec=/opt/usr/bin/dials +Icon=dials +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/touch/fingerpaint/fingerpaint.desktop b/examples/touch/fingerpaint/fingerpaint.desktop new file mode 100644 index 00000000000..a0bcf3128e3 --- /dev/null +++ b/examples/touch/fingerpaint/fingerpaint.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Finger Paint +Exec=/opt/usr/bin/fingerpaint +Icon=fingerpaint +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/touch/knobs/knobs.desktop b/examples/touch/knobs/knobs.desktop new file mode 100644 index 00000000000..bf2fe32b247 --- /dev/null +++ b/examples/touch/knobs/knobs.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Touch Knobs +Exec=/opt/usr/bin/knobs +Icon=knobs +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/touch/pinchzoom/pinchzoom.desktop b/examples/touch/pinchzoom/pinchzoom.desktop new file mode 100644 index 00000000000..727e626eedb --- /dev/null +++ b/examples/touch/pinchzoom/pinchzoom.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Pinch Zoom +Exec=/opt/usr/bin/pinchzoom +Icon=pinchzoom +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/tutorials/addressbook-fr/part1/part1.desktop b/examples/tutorials/addressbook-fr/part1/part1.desktop new file mode 100644 index 00000000000..0cf4115f33d --- /dev/null +++ b/examples/tutorials/addressbook-fr/part1/part1.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=1 Address Book FR +Exec=/opt/usr/bin/part1 +Icon=part1 +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/tutorials/addressbook-fr/part2/part2.desktop b/examples/tutorials/addressbook-fr/part2/part2.desktop new file mode 100644 index 00000000000..681c6a1e4db --- /dev/null +++ b/examples/tutorials/addressbook-fr/part2/part2.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=2 Address Book FR +Exec=/opt/usr/bin/part2 +Icon=part2 +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/tutorials/addressbook-fr/part3/part3.desktop b/examples/tutorials/addressbook-fr/part3/part3.desktop new file mode 100644 index 00000000000..3c97d51f4ee --- /dev/null +++ b/examples/tutorials/addressbook-fr/part3/part3.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=3 Address Book FR +Exec=/opt/usr/bin/part3 +Icon=part3 +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/tutorials/addressbook-fr/part4/part4.desktop b/examples/tutorials/addressbook-fr/part4/part4.desktop new file mode 100644 index 00000000000..77269896893 --- /dev/null +++ b/examples/tutorials/addressbook-fr/part4/part4.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=4 Address Book FR +Exec=/opt/usr/bin/part4 +Icon=part4 +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/tutorials/addressbook-fr/part5/part5.desktop b/examples/tutorials/addressbook-fr/part5/part5.desktop new file mode 100644 index 00000000000..0efcb1550cc --- /dev/null +++ b/examples/tutorials/addressbook-fr/part5/part5.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=5 Address Book FR +Exec=/opt/usr/bin/part5 +Icon=part5 +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/tutorials/addressbook-fr/part6/part6.desktop b/examples/tutorials/addressbook-fr/part6/part6.desktop new file mode 100644 index 00000000000..144025924a1 --- /dev/null +++ b/examples/tutorials/addressbook-fr/part6/part6.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=6 Address Book FR +Exec=/opt/usr/bin/part6 +Icon=part6 +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/tutorials/addressbook-fr/part7/part7.desktop b/examples/tutorials/addressbook-fr/part7/part7.desktop new file mode 100644 index 00000000000..f78ff4b2210 --- /dev/null +++ b/examples/tutorials/addressbook-fr/part7/part7.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=7 Address Book FR +Exec=/opt/usr/bin/part7 +Icon=part7 +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/tutorials/addressbook/part1/part1.desktop b/examples/tutorials/addressbook/part1/part1.desktop new file mode 100644 index 00000000000..69946edf464 --- /dev/null +++ b/examples/tutorials/addressbook/part1/part1.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=1 Address Book +Exec=/opt/usr/bin/part1 +Icon=part1 +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/tutorials/addressbook/part2/part2.desktop b/examples/tutorials/addressbook/part2/part2.desktop new file mode 100644 index 00000000000..5c87ef807b3 --- /dev/null +++ b/examples/tutorials/addressbook/part2/part2.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=2 Address Book +Exec=/opt/usr/bin/part2 +Icon=part2 +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/tutorials/addressbook/part3/part3.desktop b/examples/tutorials/addressbook/part3/part3.desktop new file mode 100644 index 00000000000..882a242b444 --- /dev/null +++ b/examples/tutorials/addressbook/part3/part3.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=3 Address Book +Exec=/opt/usr/bin/part3 +Icon=part3 +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/tutorials/addressbook/part4/part4.desktop b/examples/tutorials/addressbook/part4/part4.desktop new file mode 100644 index 00000000000..27802b10f21 --- /dev/null +++ b/examples/tutorials/addressbook/part4/part4.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=4 Address Book +Exec=/opt/usr/bin/part4 +Icon=part4 +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/tutorials/addressbook/part5/part5.desktop b/examples/tutorials/addressbook/part5/part5.desktop new file mode 100644 index 00000000000..e8b151c40f4 --- /dev/null +++ b/examples/tutorials/addressbook/part5/part5.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=5 Address Book +Exec=/opt/usr/bin/part5 +Icon=part5 +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/tutorials/addressbook/part6/part6.desktop b/examples/tutorials/addressbook/part6/part6.desktop new file mode 100644 index 00000000000..dd492605972 --- /dev/null +++ b/examples/tutorials/addressbook/part6/part6.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=6 Address Book +Exec=/opt/usr/bin/part6 +Icon=part6 +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/tutorials/addressbook/part7/part7.desktop b/examples/tutorials/addressbook/part7/part7.desktop new file mode 100644 index 00000000000..26d3fdd2929 --- /dev/null +++ b/examples/tutorials/addressbook/part7/part7.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=7 Address Book +Exec=/opt/usr/bin/part7 +Icon=part7 +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/tutorials/gettingStarted/gsQt/part1/part1.pro b/examples/tutorials/gettingStarted/gsQt/part1/part1.pro new file mode 100755 index 00000000000..f52a6331b51 --- /dev/null +++ b/examples/tutorials/gettingStarted/gsQt/part1/part1.pro @@ -0,0 +1,8 @@ +SOURCES = main.cpp + +# install +target.path = $$[QT_INSTALL_EXAMPLES]/tutorials/gettingStarted/gsQt/part1 +sources.files = $$SOURCES *.pro +sources.path = $$[QT_INSTALL_EXAMPLES]/tutorial/gettingStarted/gsQt/part1 +INSTALLS += target sources + diff --git a/examples/tutorials/gettingStarted/gsQt/part2/part2.pro b/examples/tutorials/gettingStarted/gsQt/part2/part2.pro new file mode 100755 index 00000000000..383c3ce5ba4 --- /dev/null +++ b/examples/tutorials/gettingStarted/gsQt/part2/part2.pro @@ -0,0 +1,9 @@ + +SOURCES = main.cpp + +# install +target.path = $$[QT_INSTALL_EXAMPLES]/tutorials/gettingStarted/gsQt/part2 +sources.files = $$SOURCES *.pro +sources.path = $$[QT_INSTALL_EXAMPLES]/tutorial/gettingStarted/gsQt/part2 +INSTALLS += target sources + diff --git a/examples/tutorials/gettingStarted/gsQt/part3/part3.pro b/examples/tutorials/gettingStarted/gsQt/part3/part3.pro new file mode 100755 index 00000000000..d194acb2e20 --- /dev/null +++ b/examples/tutorials/gettingStarted/gsQt/part3/part3.pro @@ -0,0 +1,9 @@ + +SOURCES = main.cpp + +# install +target.path = $$[QT_INSTALL_EXAMPLES]/tutorials/gettingStarted/gsQt/part3 +sources.files = $$SOURCES *.pro +sources.path = $$[QT_INSTALL_EXAMPLES]/tutorial/gettingStarted/gsQt/part3 +INSTALLS += target sources + diff --git a/examples/tutorials/gettingStarted/gsQt/part4/part4.pro b/examples/tutorials/gettingStarted/gsQt/part4/part4.pro new file mode 100755 index 00000000000..3de03accc00 --- /dev/null +++ b/examples/tutorials/gettingStarted/gsQt/part4/part4.pro @@ -0,0 +1,9 @@ + +SOURCES = main.cpp + +# install +target.path = $$[QT_INSTALL_EXAMPLES]/tutorials/gettingStarted/gsQt/part4 +sources.files = $$SOURCES *.pro +sources.path = $$[QT_INSTALL_EXAMPLES]/tutorial/gettingStarted/gsQt/part4 +INSTALLS += target sources + diff --git a/examples/tutorials/gettingStarted/gsQt/part5/part5.pro b/examples/tutorials/gettingStarted/gsQt/part5/part5.pro new file mode 100755 index 00000000000..711cac212ac --- /dev/null +++ b/examples/tutorials/gettingStarted/gsQt/part5/part5.pro @@ -0,0 +1,9 @@ + +SOURCES = main.cpp + +# install +target.path = $$[QT_INSTALL_EXAMPLES]/tutorials/gettingStarted/gsQt/part5 +sources.files = $$SOURCES *.pro +sources.path = $$[QT_INSTALL_EXAMPLES]/tutorial/gettingStarted/gsQt/part5 +INSTALLS += target sources + diff --git a/examples/tutorials/modelview/1_readonly/1_readonly.desktop b/examples/tutorials/modelview/1_readonly/1_readonly.desktop new file mode 100644 index 00000000000..137f56eacd4 --- /dev/null +++ b/examples/tutorials/modelview/1_readonly/1_readonly.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=1 Model View +Exec=/opt/usr/bin/1_readonly +Icon=1_readonly +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/tutorials/modelview/2_formatting/2_formatting.desktop b/examples/tutorials/modelview/2_formatting/2_formatting.desktop new file mode 100644 index 00000000000..a3950001ba7 --- /dev/null +++ b/examples/tutorials/modelview/2_formatting/2_formatting.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=2 Model View +Exec=/opt/usr/bin/2_formatting +Icon=2_formatting +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/tutorials/modelview/3_changingmodel/3_changingmodel.desktop b/examples/tutorials/modelview/3_changingmodel/3_changingmodel.desktop new file mode 100644 index 00000000000..3e053c94b10 --- /dev/null +++ b/examples/tutorials/modelview/3_changingmodel/3_changingmodel.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=3 Model View +Exec=/opt/usr/bin/3_changingmodel +Icon=3_changingmodel +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/tutorials/modelview/4_headers/4_headers.desktop b/examples/tutorials/modelview/4_headers/4_headers.desktop new file mode 100644 index 00000000000..f17fe456f2f --- /dev/null +++ b/examples/tutorials/modelview/4_headers/4_headers.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=4 Model View +Exec=/opt/usr/bin/4_headers +Icon=4_headers +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/tutorials/modelview/5_edit/5_edit.desktop b/examples/tutorials/modelview/5_edit/5_edit.desktop new file mode 100644 index 00000000000..4402c0a3793 --- /dev/null +++ b/examples/tutorials/modelview/5_edit/5_edit.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=5 Model View +Exec=/opt/usr/bin/5_edit +Icon=5_edit +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/tutorials/modelview/6_treeview/6_treeview.desktop b/examples/tutorials/modelview/6_treeview/6_treeview.desktop new file mode 100644 index 00000000000..e0b872bf9c8 --- /dev/null +++ b/examples/tutorials/modelview/6_treeview/6_treeview.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=6 Model View +Exec=/opt/usr/bin/6_treeview +Icon=6_treeview +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/tutorials/modelview/7_selections/7_selections.desktop b/examples/tutorials/modelview/7_selections/7_selections.desktop new file mode 100644 index 00000000000..afba38361fb --- /dev/null +++ b/examples/tutorials/modelview/7_selections/7_selections.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=7 Model View +Exec=/opt/usr/bin/7_selections +Icon=7_selections +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/tutorials/widgets/childwidget/childwidget.desktop b/examples/tutorials/widgets/childwidget/childwidget.desktop new file mode 100644 index 00000000000..81bc7c16f19 --- /dev/null +++ b/examples/tutorials/widgets/childwidget/childwidget.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Child Widgets +Exec=/opt/usr/bin/childwidget +Icon=childwidget +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/tutorials/widgets/nestedlayouts/nestedlayouts.desktop b/examples/tutorials/widgets/nestedlayouts/nestedlayouts.desktop new file mode 100644 index 00000000000..9ff737d0794 --- /dev/null +++ b/examples/tutorials/widgets/nestedlayouts/nestedlayouts.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Nested Layouts +Exec=/opt/usr/bin/nestedlayouts +Icon=nestedlayouts +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/tutorials/widgets/toplevel/toplevel.desktop b/examples/tutorials/widgets/toplevel/toplevel.desktop new file mode 100644 index 00000000000..5626297c678 --- /dev/null +++ b/examples/tutorials/widgets/toplevel/toplevel.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Creating a Window +Exec=/opt/usr/bin/toplevel +Icon=toplevel +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/tutorials/widgets/windowlayout/windowlayout.desktop b/examples/tutorials/widgets/windowlayout/windowlayout.desktop new file mode 100644 index 00000000000..4a007952fd2 --- /dev/null +++ b/examples/tutorials/widgets/windowlayout/windowlayout.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Using Layouts +Exec=/opt/usr/bin/windowlayout +Icon=windowlayout +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/uitools/multipleinheritance/multipleinheritance.desktop b/examples/uitools/multipleinheritance/multipleinheritance.desktop new file mode 100644 index 00000000000..7e652f972b8 --- /dev/null +++ b/examples/uitools/multipleinheritance/multipleinheritance.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Multiple Inheritance +Exec=/opt/usr/bin/multipleinheritance +Icon=multipleinheritance +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/uitools/textfinder/textfinder.desktop b/examples/uitools/textfinder/textfinder.desktop new file mode 100644 index 00000000000..e1911cc61c4 --- /dev/null +++ b/examples/uitools/textfinder/textfinder.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Text Finder +Exec=/opt/usr/bin/textfinder +Icon=textfinder +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/widgets/analogclock/analogclock.desktop b/examples/widgets/analogclock/analogclock.desktop new file mode 100644 index 00000000000..b177a62d35b --- /dev/null +++ b/examples/widgets/analogclock/analogclock.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Analog Clock +Exec=/opt/usr/bin/analogclock +Icon=analogclock +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/widgets/applicationicon/applicationicon.desktop b/examples/widgets/applicationicon/applicationicon.desktop new file mode 100644 index 00000000000..96458021952 --- /dev/null +++ b/examples/widgets/applicationicon/applicationicon.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Application Icon +Exec=/opt/usr/bin/applicationicon +Icon=applicationicon +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/widgets/applicationicon/applicationicon.png b/examples/widgets/applicationicon/applicationicon.png new file mode 100644 index 0000000000000000000000000000000000000000..83a186ee56cecd99a1b1ad132c6af7820fd0ad3e GIT binary patch literal 4023 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 +#include +#include + +//! [0] +ButtonWidget::ButtonWidget(QStringList texts, QWidget *parent) + : QWidget(parent) +{ + signalMapper = new QSignalMapper(this); + + QGridLayout *gridLayout = new QGridLayout; + for (int i = 0; i < texts.size(); ++i) { + QPushButton *button = new QPushButton(texts[i]); + connect(button, SIGNAL(clicked()), signalMapper, SLOT(map())); + signalMapper->setMapping(button, texts[i]); + gridLayout->addWidget(button, i / 2, i % 2); + } + + connect(signalMapper, SIGNAL(mapped(const QString &)), + this, SIGNAL(clicked(const QString &))); + + setLayout(gridLayout); +} +//! [0] + diff --git a/examples/widgets/maemovibration/buttonwidget.h b/examples/widgets/maemovibration/buttonwidget.h new file mode 100644 index 00000000000..6635c677827 --- /dev/null +++ b/examples/widgets/maemovibration/buttonwidget.h @@ -0,0 +1,24 @@ +#ifndef BUTTONWIDGET_H +#define BUTTONWIDGET_H + +#include +#include + +//! [0] +class ButtonWidget : public QWidget +{ + Q_OBJECT + +public: + ButtonWidget(QStringList texts, QWidget *parent = 0); + +signals: + void clicked(const QString &text); + +private: + QSignalMapper *signalMapper; +}; +//! [0] + +#endif // BUTTONWIDGET_H + diff --git a/examples/widgets/maemovibration/data/48x48/maemovibration.png b/examples/widgets/maemovibration/data/48x48/maemovibration.png new file mode 100644 index 0000000000000000000000000000000000000000..f32e9ced99cd57bdf41c6d8411310d5dcb797f94 GIT binary patch literal 2406 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 literal 0 HcmV?d00001 diff --git a/examples/widgets/maemovibration/data/maemovibration.desktop b/examples/widgets/maemovibration/data/maemovibration.desktop new file mode 100644 index 00000000000..a88ed4e0aa4 --- /dev/null +++ b/examples/widgets/maemovibration/data/maemovibration.desktop @@ -0,0 +1,12 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Name=Maemo Vibration +Exec=/usr/bin/maemovibration +Icon=maemovibration +X-HildonDesk-ShowInToolbar=true +X-Window-Icon=maemovibration +X-Window-Icon-Dimmed=maemovibration +X-Osso-Type=application/x-executable +X-Osso-Service=com.nokia.maemovibration diff --git a/examples/widgets/maemovibration/data/maemovibration.service b/examples/widgets/maemovibration/data/maemovibration.service new file mode 100644 index 00000000000..1fab19f35c9 --- /dev/null +++ b/examples/widgets/maemovibration/data/maemovibration.service @@ -0,0 +1,3 @@ +[D-BUS Service] +Name=com.nokia.maemovibration +Exec=/usr/bin/maemovibration diff --git a/examples/widgets/maemovibration/maemovibration.pro b/examples/widgets/maemovibration/maemovibration.pro new file mode 100644 index 00000000000..5c645dd3690 --- /dev/null +++ b/examples/widgets/maemovibration/maemovibration.pro @@ -0,0 +1,52 @@ +TARGET = maemovibration +HEADERS += buttonwidget.h mcevibrator.h +SOURCES += main.cpp buttonwidget.cpp mcevibrator.cpp + +# All generated files goes same directory +OBJECTS_DIR = build +MOC_DIR = build +UI_DIR = build +DESTDIR = build + +TEMPLATE = app +CONFIG += debug +QT=core gui + +maemo5 { + QT += dbus + CONFIG += link_pkgconfig + PKG_CONFIG += mce + INSTALLS += target + target.path = /usr/bin/ + + INSTALLS += desktop + desktop.path = /usr/share/applications/hildon + desktop.files = data/maemovibration.desktop + + INSTALLS += service + service.path = /usr/share/dbus-1/services + service.files = data/maemovibration.service + + INSTALLS += icon64 + icon64.path = /usr/share/icons/hicolor/64x64/apps + icon64.files = data/64x64/maemovibration.png + + # + # Targets for debian source and binary package creation + # + debian-src.commands = dpkg-buildpackage -S -r -us -uc -d + debian-bin.commands = dpkg-buildpackage -b -r -uc -d + debian-all.depends = debian-src debian-bin + + # + # Clean all but Makefile + # + compiler_clean.commands = -$(DEL_FILE) $(TARGET) + + QMAKE_EXTRA_TARGETS += debian-all debian-src debian-bin compiler_clean +} + +!maemo5 { + error(The Maemo Vibration Example only works for the maemo target!) +} + diff --git a/examples/widgets/maemovibration/main.cpp b/examples/widgets/maemovibration/main.cpp new file mode 100644 index 00000000000..f81529b1855 --- /dev/null +++ b/examples/widgets/maemovibration/main.cpp @@ -0,0 +1,44 @@ + +#include "buttonwidget.h" +#include "mcevibrator.h" + +#include +#include +#include +#include +#include +#include + +#include + +//! [0] +int main(int argc, char *argv[]) +{ + QApplication a(argc, argv); + QString path = MceVibrator::defaultMceFilePath; + + QFile file(path); + QStringList names; + if (file.open(QIODevice::ReadOnly | QIODevice::Text)) { + QTextStream stream(&file); + names = MceVibrator::parsePatternNames(stream); + file.close(); + } + + if (names.isEmpty()){ + qDebug() << "Could not read vibration pattern names from " << path; + a.exit(-1); + } +//! [0] + +//! [1] + ButtonWidget buttonWidget(names); + MceVibrator vibrator; + QObject::connect(&buttonWidget, SIGNAL(clicked(const QString &)), + &vibrator, SLOT(vibrate(const QString &))); + buttonWidget.show(); + + return a.exec(); +} +//! [1] + diff --git a/examples/widgets/maemovibration/mcevibrator.cpp b/examples/widgets/maemovibration/mcevibrator.cpp new file mode 100644 index 00000000000..be6415fa168 --- /dev/null +++ b/examples/widgets/maemovibration/mcevibrator.cpp @@ -0,0 +1,79 @@ + +#include "mcevibrator.h" + +#include +#include +#include +#include + +#include + +const char MceVibrator::defaultMceFilePath[] = "/etc/mce/mce.ini"; + +//! [5] +static void checkError(QDBusMessage &msg) +{ + if (msg.type() == QDBusMessage::ErrorMessage) + qDebug() << msg.errorName() << msg.errorMessage(); +} +//! [5] + +//! [0] +MceVibrator::MceVibrator(QObject *parent) : + QObject(parent), + mceInterface(MCE_SERVICE, MCE_REQUEST_PATH, MCE_REQUEST_IF, + QDBusConnection::systemBus()) +{ + QDBusMessage reply = mceInterface.call(MCE_ENABLE_VIBRATOR); + checkError(reply); +} +//! [0] + +//! [3] +MceVibrator::~MceVibrator() +{ + deactivate(lastPatternName); + QDBusMessage reply = mceInterface.call(MCE_DISABLE_VIBRATOR); + checkError(reply); +} +//! [3] + +//! [1] +void MceVibrator::vibrate(const QString &patternName) +{ + deactivate(lastPatternName); + lastPatternName = patternName; + QDBusMessage reply = mceInterface.call(MCE_ACTIVATE_VIBRATOR_PATTERN, patternName); + checkError(reply); +} +//! [1] + +//! [2] +void MceVibrator::deactivate(const QString &patternName) +{ + if (!patternName.isNull()) { + QDBusMessage reply = mceInterface.call(MCE_DEACTIVATE_VIBRATOR_PATTERN, patternName); + checkError(reply); + } +} +//! [2] + +//! [4] +QStringList MceVibrator::parsePatternNames(QTextStream &stream) +{ + QStringList result; + QString line; + + do { + line = stream.readLine(); + if (line.startsWith(QLatin1String("VibratorPatterns="))) { + QString values = line.section('=', 1); + result = values.split(';'); + break; + } + } while (!line.isNull()); + + return result; +} +//! [4] + diff --git a/examples/widgets/maemovibration/mcevibrator.h b/examples/widgets/maemovibration/mcevibrator.h new file mode 100644 index 00000000000..5aac87d9c6f --- /dev/null +++ b/examples/widgets/maemovibration/mcevibrator.h @@ -0,0 +1,31 @@ +#ifndef MCEVIBRATOR_H +#define MCEVIBRATOR_H + +#include +#include +#include + +//! [0] +class MceVibrator : public QObject +{ + Q_OBJECT +public: + explicit MceVibrator(QObject *parent = 0); + ~MceVibrator(); + + static const char defaultMceFilePath[]; + static QStringList parsePatternNames(QTextStream &stream); + +public slots: + void vibrate(const QString &patternName); + +private: + void deactivate(const QString &patternName); + + QDBusInterface mceInterface; + QString lastPatternName; +}; +//! [0] + +#endif // MCEVIBRATOR_H + diff --git a/examples/widgets/movie/movie.desktop b/examples/widgets/movie/movie.desktop new file mode 100644 index 00000000000..5c7ae21896d --- /dev/null +++ b/examples/widgets/movie/movie.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Movie +Exec=/opt/usr/bin/movie +Icon=movie +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/widgets/orientation/image_a.png b/examples/widgets/orientation/image_a.png new file mode 100644 index 0000000000000000000000000000000000000000..4a1a0d32527c03b3bc362bcc8c392aebc4ef2985 GIT binary patch literal 1075 zcmb7Ce^8TU9RIxA>zM3T<4{*?2XBz4gjkorRVaIh%rV()Dd&c!PzjAtAQ(YW?G^8e z^3;+$Aq87zh$*OdkRC~J)E!=3$T_5(bsL`IF^}LbhP7*3-&d~x>v`|J=Xt(AKHtyt z{eC{QZZaxkHL(Dcro7zE07FLxav5zeRd<$(x0=ny9CVLpr|2SkCEu8fsQ9`2Pc@Te zaaCSn4WNh@e+Ea}9wB3l(_}Hkc;#&DYA)P<$3mt@od&yeedV4#B^6GruP%AnS+a|( zD|0$Hqsd~m?R`iMNDrEF^#%3bX|Mk9(9A`-B(* z``^o4`fOuw`|umt^@YE-{B&8%IM5o|CdeR1YiBKo*`y>0sekE*=c2(|m$EeAfK(g^ zRVqiR143pa1{EIw zc#85>Vw`3EorO3#%*LxJREF=4Y?rcl{leX)C^$8+i~~=p^>HfP78#*9)bJjS5!FGT zhJ)4Bz7PBvvBu7VG#>t;WHecbB?jl}R!gA5t_NA}$>$Rp?EZx-tnCYbab#wGt=I^A zci(|)J_9WN@cdC2)K^)-h0XZK1=~^7a;SbjMpu|IB9j2K8gdA26%kqL}TM<0-iu{*H<7bmgUG zp)8{kqcErSKuPZumh$0Yja$U-$z=RVdw~jnOuWbS^Zx0I@`agFD=3z7TxqnkC|+cZ zUXVHdb;bs=MoA4%!knPKd4HA2$a@%8#SVw>BJg<%sy>NBfcv(N?9EtdVbpdS4XGt< zBfZv6Q{!+lJH997zFumL#*s&aCvmt)A~wby`NsV_NsSepuU*Y>zx_fwf{7yafNq?W z7&;`nLWgL^?np9meACva)4o1N_%g#{d8T literal 0 HcmV?d00001 diff --git a/examples/widgets/orientation/image_b.png b/examples/widgets/orientation/image_b.png new file mode 100644 index 0000000000000000000000000000000000000000..8722d1edee3cf4a0ad164708cbf8bce2e9914343 GIT binary patch literal 1020 zcmb7@eMnPL7{;G-cQ>!j)fLH>i)|(p1m*rHv)0E|XLFgQ5?M@YNtR(VvwkwcaAj_CI!nr3$gC_`<0@HetlHozHCk=C zd4=_3#si8%n|YtO=oBdf-B zAuG7|KU0tvibL!IMtBmihn48NvXxzYW5^tG;`%@`PHS#=^p3-s`Hax*HHVbq^Nu$G zHBNoF~M%>DBKKf@4m|n81fV+)J%qTO$ zivg`$m}MZdH*qHtEe4emNtBYNewqO740aOj8SNJLf}!+yLIjqFg_7z5krHSJnX3_O zJc<-WiV;i|8Ua$(s6C36rzAap;h84YeT<7Bm%e)-O&IRkOeDVtv}}igNTJn`{Pe$r zN<5CeJ-8YbUq)ccYM}RRTwZzL_)kWRHxQ#UqB`_cd8sG#MVAN72HkS|JwtmxOv4O4 zeQ6;jV(V0OO3B*;iFQC+TL@Dyl`hi=GEmWiUTSY6$dq~0*Kfk{{NHYZ>MKd-&+l$H R-KmqWjV)`5r6t4B@CzHl8UO$Q literal 0 HcmV?d00001 diff --git a/examples/widgets/orientation/image_c.png b/examples/widgets/orientation/image_c.png new file mode 100644 index 0000000000000000000000000000000000000000..6c9304fda0520850689e535b661409396fcf2801 GIT binary patch literal 1163 zcmbVLZA?>F7=F*~ZMpPg-Z~vc2)R%{GUod%+O$2H)z5_h2xheEgtsi?e@-Se|H057-588sb$+7@&+SAXUz%NTMJ^}Z znP0q%cYB7xP3uyJCs!{U-oBMdu>OP)5#nu<8ZgWW6Ch?OhXKWhku*qq6%>fFDH4*R zNy4ylu9~K}J`F|kE@c4A2^6zZ$AO~qI1AGFs2E3Xuyof&{TIAfiOHSBaK(xyULd*i z!H)j5=E=GJddvQ-m!grdec9`=^<{Rq0mb&Xon`5(g;xo~!1zz;qZvRN=H0u;c;#po zELtTtO~=p=RcDLV-G&yQ?wn@SDP!S6Xyup74~P1i#hiPM@6E2W@OeaKn0aCL@G;Nh zZEWic6D^LPWz2)6?@!HI^^RLI-rFN%K=pOmppx(Z&3U@jAD2}c3j-b%2V?CH1!}TB znrL!lK|xB_McBA&RY_dU&_F>V$$P`_LBIsMs*ZRQaNt_HrsU?YxUb28hK_g&y8RT` zrr)1_J!eKMxS^%7VHQJ z_*eKWNx%S(Hv8+1RZ-!$1J9SlT?RZ>uFn;Pvfy(WUoRFsWjzQxP5*zX?6 zS3t4AtH8O{^P?`mF)Yv!SB@ywxg}z>6qkOYT-@aP#dv8#WP&Lnwu?YfyN@&ySZD$h za*3Gj3 + + image_a.png + image_b.png + image_c.png + + diff --git a/examples/widgets/orientation/landscape.ui b/examples/widgets/orientation/landscape.ui new file mode 100644 index 00000000000..4616c041dc2 --- /dev/null +++ b/examples/widgets/orientation/landscape.ui @@ -0,0 +1,114 @@ + + + LandscapeUI + + + + 0 + 0 + 514 + 265 + + + + Form + + + + + + + 0 + 0 + + + + font-weight: bold; + + + Landscape mode + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop + + + + + + + + 0 + 0 + + + + Exit + + + + + + + + 0 + 0 + + + + Choices + + + + + + Long description explaining choice A + + + true + + + buttonGroup + + + + + + + Long description explaining choice B + + + buttonGroup + + + + + + + Long description explaining choice C + + + buttonGroup + + + + + + + + + + + 0 + 0 + + + + + + + + + + + + diff --git a/examples/widgets/orientation/main.cpp b/examples/widgets/orientation/main.cpp new file mode 100644 index 00000000000..34b05d6a667 --- /dev/null +++ b/examples/widgets/orientation/main.cpp @@ -0,0 +1,15 @@ +#include +#include "mainwindow.h" + +//! [0] +int main(int argc, char *argv[]) +{ + QApplication a(argc, argv); + + MainWindow w; + w.showFullScreen(); + + return a.exec(); +} +//! [0] + diff --git a/examples/widgets/orientation/mainwindow.cpp b/examples/widgets/orientation/mainwindow.cpp new file mode 100644 index 00000000000..328af445c8b --- /dev/null +++ b/examples/widgets/orientation/mainwindow.cpp @@ -0,0 +1,75 @@ +#include "mainwindow.h" +#include "ui_landscape.h" +#include "ui_portrait.h" + +#include +#include + +//! [0] +MainWindow::MainWindow(QWidget *parent) : + QWidget(parent), + landscapeWidget(0), + portraitWidget(0) +{ + landscapeWidget = new QWidget(this); + landscape.setupUi(landscapeWidget); + + portraitWidget = new QWidget(this); + portrait.setupUi(portraitWidget); +//! [0] + +//! [1] + connect(portrait.exitButton, SIGNAL(clicked()), this, SLOT(close())); + connect(landscape.exitButton, SIGNAL(clicked()), this, SLOT(close())); + connect(landscape.buttonGroup, SIGNAL(buttonClicked(QAbstractButton*)), + this, SLOT(onRadioButtonClicked(QAbstractButton*))); + + landscape.radioAButton->setChecked(true); + onRadioButtonClicked(landscape.radioAButton); +//! [1] + +//! [2] +#ifdef Q_WS_MAEMO_5 + setAttribute(Qt::WA_Maemo5AutoOrientation, true); +#endif +} +//! [2] + +//! [3] +void MainWindow::resizeEvent(QResizeEvent *event) +{ + QSize size = event->size(); + bool isLandscape = size.width() > size.height(); + + if (!isLandscape) + size.transpose(); + + landscapeWidget->setFixedSize(size); + size.transpose(); + portraitWidget->setFixedSize(size); + + landscapeWidget->setVisible(isLandscape); + portraitWidget->setVisible(!isLandscape); +} +//! [3] + +//! [4] +void MainWindow::onRadioButtonClicked(QAbstractButton *button) +{ + QString styleTemplate = "background-image: url(:/image_%1.png);" + "background-repeat: no-repeat;" + "background-position: center center"; + + QString imageStyle(""); + if (button == landscape.radioAButton) + imageStyle = styleTemplate.arg("a"); + else if (button == landscape.radioBButton) + imageStyle = styleTemplate.arg("b"); + else if (button == landscape.radioCButton) + imageStyle = styleTemplate.arg("c"); + + portrait.choiceWidget->setStyleSheet(imageStyle); + landscape.choiceWidget->setStyleSheet(imageStyle); +} +//! [4] + diff --git a/examples/widgets/orientation/mainwindow.h b/examples/widgets/orientation/mainwindow.h new file mode 100644 index 00000000000..7c2546d4c44 --- /dev/null +++ b/examples/widgets/orientation/mainwindow.h @@ -0,0 +1,33 @@ +#ifndef MAINWINDOW_H +#define MAINWINDOW_H + +#include + +#include "ui_landscape.h" +#include "ui_portrait.h" + +class QAbstractButton; + +//! [0] +class MainWindow : public QWidget +{ + Q_OBJECT + +public: + MainWindow(QWidget *parent = 0); + +protected: + void resizeEvent(QResizeEvent *event); + +private slots: + void onRadioButtonClicked(QAbstractButton *button); + +private: + Ui::LandscapeUI landscape; + Ui::PortraitUI portrait; + QWidget *landscapeWidget; + QWidget *portraitWidget; +}; +//! [0] + +#endif // MAINWINDOW_H diff --git a/examples/widgets/orientation/orientation.desktop b/examples/widgets/orientation/orientation.desktop new file mode 100644 index 00000000000..7bbf5584d37 --- /dev/null +++ b/examples/widgets/orientation/orientation.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Orientation +Exec=/opt/usr/bin/orientation +Icon=orientation +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/widgets/orientation/orientation.pro b/examples/widgets/orientation/orientation.pro new file mode 100644 index 00000000000..c1463226356 --- /dev/null +++ b/examples/widgets/orientation/orientation.pro @@ -0,0 +1,30 @@ +#------------------------------------------------- +# +# Project created by QtCreator 2010-08-04T10:27:31 +# +#------------------------------------------------- + +QT += core gui + +TARGET = orientation +TEMPLATE = app + + +SOURCES += main.cpp\ + mainwindow.cpp + +HEADERS += mainwindow.h + +FORMS += \ + portrait.ui \ + landscape.ui + +RESOURCES += \ + images.qrc + +symbian: include($$QT_SOURCE_TREE/examples/symbianpkgrules.pri) +maemo5: include($$QT_SOURCE_TREE/examples/maemo5pkgrules.pri) + +symbian: warning(This example might not fully work on Symbian platform) +maemo5: warning(This example might not fully work on Maemo platform) +simulator: warning(This example might not fully work on Simulator platform) diff --git a/examples/widgets/orientation/portrait.ui b/examples/widgets/orientation/portrait.ui new file mode 100644 index 00000000000..31a55aff736 --- /dev/null +++ b/examples/widgets/orientation/portrait.ui @@ -0,0 +1,61 @@ + + + PortraitUI + + + + 0 + 0 + 201 + 300 + + + + Form + + + + + + font-weight: bold; + + + Portrait mode + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop + + + + + + + Exit + + + + + + + Switch to landscape mode. In landscape mode you can change visible image. + + + true + + + + + + + + 0 + 0 + + + + + + + + + diff --git a/examples/widgets/scribble/scribble.desktop b/examples/widgets/scribble/scribble.desktop new file mode 100644 index 00000000000..9c1ee0c482f --- /dev/null +++ b/examples/widgets/scribble/scribble.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Scribble +Exec=/opt/usr/bin/scribble +Icon=scribble +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/widgets/shapedclock/shapedclock.desktop b/examples/widgets/shapedclock/shapedclock.desktop new file mode 100644 index 00000000000..bae58e30d5c --- /dev/null +++ b/examples/widgets/shapedclock/shapedclock.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Shaped Clock +Exec=/opt/usr/bin/shapedclock +Icon=shapedclock +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/widgets/sliders/sliders.desktop b/examples/widgets/sliders/sliders.desktop new file mode 100644 index 00000000000..bc8904317b5 --- /dev/null +++ b/examples/widgets/sliders/sliders.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Sliders +Exec=/opt/usr/bin/sliders +Icon=sliders +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/widgets/softkeys/softkeys.desktop b/examples/widgets/softkeys/softkeys.desktop new file mode 100644 index 00000000000..7f4993a5888 --- /dev/null +++ b/examples/widgets/softkeys/softkeys.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Soft Keys +Exec=/opt/usr/bin/softkeys +Icon=softkeys +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/widgets/spinboxes/spinboxes.desktop b/examples/widgets/spinboxes/spinboxes.desktop new file mode 100644 index 00000000000..7de30383f25 --- /dev/null +++ b/examples/widgets/spinboxes/spinboxes.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Spin Boxes +Exec=/opt/usr/bin/spinboxes +Icon=spinboxes +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/widgets/styles/styles.desktop b/examples/widgets/styles/styles.desktop new file mode 100644 index 00000000000..fb9ef429946 --- /dev/null +++ b/examples/widgets/styles/styles.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Styles +Exec=/opt/usr/bin/styles +Icon=styles +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/widgets/stylesheet/stylesheet.desktop b/examples/widgets/stylesheet/stylesheet.desktop new file mode 100644 index 00000000000..0550b19ba29 --- /dev/null +++ b/examples/widgets/stylesheet/stylesheet.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Style Sheet +Exec=/opt/usr/bin/stylesheet +Icon=stylesheet +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/widgets/symbianvibration/main.cpp b/examples/widgets/symbianvibration/main.cpp new file mode 100644 index 00000000000..015ed546c77 --- /dev/null +++ b/examples/widgets/symbianvibration/main.cpp @@ -0,0 +1,14 @@ +#include +#include "mainwindow.h" + +int main(int argc, char *argv[]) +{ + QApplication a(argc, argv); + MainWindow w; +#if defined(Q_WS_S60) + w.showMaximized(); +#else + w.show(); +#endif + return a.exec(); +} diff --git a/examples/widgets/symbianvibration/mainwindow.cpp b/examples/widgets/symbianvibration/mainwindow.cpp new file mode 100644 index 00000000000..67cf2204b27 --- /dev/null +++ b/examples/widgets/symbianvibration/mainwindow.cpp @@ -0,0 +1,23 @@ +#include +#include "mainwindow.h" +#include "vibrationsurface.h" +#include "XQVibra.h" + +//! [0] +MainWindow::MainWindow(QWidget *parent) + : QMainWindow(parent) +{ + vibra = new XQVibra(this); + setCentralWidget(new VibrationSurface(vibra, this)); + menuBar()->addAction(tr("Vibrate"), this, SLOT(vibrate())); +} +//! [0] + +//! [1] +void MainWindow::vibrate() +{ + vibra->setIntensity(75); + vibra->start(2500); +} +//! [1] + diff --git a/examples/widgets/symbianvibration/mainwindow.h b/examples/widgets/symbianvibration/mainwindow.h new file mode 100644 index 00000000000..cc77f7bd298 --- /dev/null +++ b/examples/widgets/symbianvibration/mainwindow.h @@ -0,0 +1,23 @@ +#ifndef MAINWINDOW_H +#define MAINWINDOW_H + +#include +class XQVibra; + +//! [0] +class MainWindow : public QMainWindow +{ + Q_OBJECT + +public: + MainWindow(QWidget *parent = 0); + +private slots: + void vibrate(); + +private: + XQVibra *vibra; +}; +//! [0] + +#endif // MAINWINDOW_H diff --git a/examples/widgets/symbianvibration/symbianvibration.pro b/examples/widgets/symbianvibration/symbianvibration.pro new file mode 100644 index 00000000000..d99b76d9e10 --- /dev/null +++ b/examples/widgets/symbianvibration/symbianvibration.pro @@ -0,0 +1,39 @@ +#------------------------------------------------- +# +# Project created by QtCreator 2010-06-14T10:09:27 +# +#------------------------------------------------- + +QT += core gui + +TARGET = symbianvibration +TEMPLATE = app + + +SOURCES += main.cpp\ + mainwindow.cpp \ + vibrationsurface.cpp \ + xqvibra.cpp \ + xqvibra_p.cpp + +HEADERS += mainwindow.h \ + vibrationsurface.h \ + xqvibra.h \ + xqvibra_p.h + +CONFIG += mobility +MOBILITY = + +symbian { + TARGET.UID3 = 0xecf47018 + # TARGET.CAPABILITY += + TARGET.EPOCSTACKSIZE = 0x14000 + TARGET.EPOCHEAPSIZE = 0x020000 0x800000 + LIBS += -lhwrmvibraclient + include($$PWD/../../symbianpkgrules.pri) +} + +!symbian { + error(The Symbian Vibration Example only works for the Symbian target!) +} + diff --git a/examples/widgets/symbianvibration/vibrationsurface.cpp b/examples/widgets/symbianvibration/vibrationsurface.cpp new file mode 100644 index 00000000000..5e2e962badf --- /dev/null +++ b/examples/widgets/symbianvibration/vibrationsurface.cpp @@ -0,0 +1,117 @@ +#include "vibrationsurface.h" +#include +#include +#include +#include +#include +#include + +#include "xqvibra.h" + +//! [4] +const int NumberOfLevels = 10; +const double IntensityFactor = XQVibra::MaxIntensity / NumberOfLevels; +//! [4] + +VibrationSurface::VibrationSurface(XQVibra *vibra, QWidget *parent) : + QWidget(parent), + vibra(vibra), + lastIntensity(0) +{ +} + +//! [0] +void VibrationSurface::mousePressEvent(QMouseEvent *event) +{ + applyIntensity(event->x(), event->y()); + vibra->start(); +} +//! [0] + +//! [1] +void VibrationSurface::mouseMoveEvent(QMouseEvent *event) +{ + applyIntensity(event->x(), event->y()); +} +//! [1] + +//! [2] +void VibrationSurface::mouseReleaseEvent(QMouseEvent *) +{ + vibra->stop(); +} +//! [2] + +//! [5] +void VibrationSurface::paintEvent(QPaintEvent *) +{ + QPainter painter(this); + QRect rect = geometry(); + int dx = 0, dy = 0; + + if (height() > width()) { + dy = height() / NumberOfLevels; + rect.setHeight(dy); + } else { + dx = width() / NumberOfLevels; + rect.setWidth(dx); + } +//! [5] +//! [6] + for (int i = 0; i < NumberOfLevels; i++) { + int x = i * dx; + int y = i * dy; + int intensity = getIntensity(x, y); + QColor color = QColor(40, 80, 10).lighter(100 + intensity); + + rect.moveTo(x, y); + painter.fillRect(rect, color); + painter.setPen(color.darker()); + painter.drawText(rect, Qt::AlignCenter, QString::number(intensity)); + } +} +//! [6] + +//! [7] +int VibrationSurface::getIntensity(int x, int y) +{ + int level; + int coord; + + if (height() > width()) { + level = height() / NumberOfLevels; + coord = y; + } else { + level = width() / NumberOfLevels; + coord = x; + } + + if (level == 0) { + return 0; + } +//! [7] +//! [8] + int intensity = (coord / level + 1) * IntensityFactor; + + if (intensity < 0) { + intensity = 0; + } else if (intensity > XQVibra::MaxIntensity) { + intensity = XQVibra::MaxIntensity; + } + + return intensity; +} +//! [8] + +//! [3] +void VibrationSurface::applyIntensity(int x, int y) +{ + int intensity = getIntensity(x, y); + + if (intensity != lastIntensity) { + vibra->setIntensity(intensity); + lastIntensity = intensity; + } +} +//! [3] + diff --git a/examples/widgets/symbianvibration/vibrationsurface.h b/examples/widgets/symbianvibration/vibrationsurface.h new file mode 100644 index 00000000000..eee62916586 --- /dev/null +++ b/examples/widgets/symbianvibration/vibrationsurface.h @@ -0,0 +1,31 @@ +#ifndef TOUCHAREA_H +#define TOUCHAREA_H + +#include + +class XQVibra; + +//! [0] +class VibrationSurface : public QWidget +{ + Q_OBJECT +public: + explicit VibrationSurface(XQVibra *vibra, QWidget *parent = 0); + +protected: + virtual void mousePressEvent(QMouseEvent *); + virtual void mouseMoveEvent(QMouseEvent *); + virtual void mouseReleaseEvent(QMouseEvent *); + virtual void paintEvent(QPaintEvent *); + +private: + + int getIntensity(int x, int y); + void applyIntensity(int x, int y); + + XQVibra *vibra; + int lastIntensity; +}; +//! [0] + +#endif // TOUCHAREA_H diff --git a/examples/widgets/symbianvibration/xqvibra.cpp b/examples/widgets/symbianvibration/xqvibra.cpp new file mode 100644 index 00000000000..1263c3e0e45 --- /dev/null +++ b/examples/widgets/symbianvibration/xqvibra.cpp @@ -0,0 +1,170 @@ +#include "xqvibra.h" +#include "xqvibra_p.h" + +/*! + \class XQVibra + + \brief The XQVibra class is used to control the device's vibra. The XQVibra + class provides also information of vibration setting in the user profile. + + Example: + \code + XQVibra *vibra = new XQVibra(this); + QPushButton *startButton = new QPushButton(this); + QPushButton *stopButton = new QPushButton(this); + connect(startButton, SIGNAL(clicked()), vibra, SLOT(start())); + connect(stopButton, SIGNAL(clicked()), vibra, SLOT(stop())); + \endcode +*/ + +/*! \var XQVibra::InfiniteDuration + With this constant vibration can be set to work indefinitely (Note! Depends on the HW) +*/ +/*! \var XQVibra::MaxIntensity + Maximum intensity as percentages +*/ +/*! \var XQVibra::MinIntensity + Minumum intensity as percentages +*/ + +/*! + Constructs a XQVibra object with the given parent. + Call error() to get a value of XQVibra::Error that indicates which error occurred during initialisation if any. + \sa start(), setIntensity(), error() +*/ +XQVibra::XQVibra(QObject *parent) + : QObject(parent), d(new XQVibraPrivate(this)) +{ +} + +/*! + Destroys the XQVibra object. +*/ +XQVibra::~XQVibra() +{ + delete d; +} + +/*! + \enum XQVibra::Error + + This enum defines the possible errors for a XQVibra object. +*/ +/*! \var XQVibra::Error XQVibra::NoError + No error occured. +*/ +/*! \var XQVibra::Error XQVibra::OutOfMemoryError + Not enough memory. +*/ +/*! \var XQVibra::Error XQVibra::ArgumentError + Duration is invalid. +*/ +/*! \var XQVibra::Error XQVibra::VibraInUseError + Vibra is already in used by other client. +*/ +/*! \var XQVibra::Error XQVibra::HardwareError + There is a hardware error. +*/ +/*! \var XQVibra::Error XQVibra::TimeOutError + Timeout occurred in controlling vibra. +*/ +/*! \var XQVibra::Error XQVibra::VibraLockedError + Vibra is locked down because too much continuous use or explicitly blocked by + for example some vibration sensitive accessory. +*/ +/*! \var XQVibra::Error XQVibra::AccessDeniedError + Vibration setting in the user profile is not set. +*/ +/*! \var XQVibra::Error XQVibra::UnknownError + Unknown error. +*/ + +/*! + \enum XQVibra::Status + + This enum defines the possible statuses of the vibration +*/ +/*! \var XQVibra::Status XQVibra::StatusNotAllowed + Vibra is set off in the user profile or status is unknow +*/ +/*! \var XQVibra::Status XQVibra::StatusOff + Vibration is non-active +*/ +/*! \var XQVibra::Status XQVibra::StatusOn + Vibration is active +*/ + +/*! + Starts vibrating. If duration hasn't been set the vibration continues + indefinitely unless stopped with stop() function. Calling the start while vibration + is active the active vibration is interrupted and the new vibration starts immediately. + + \param duration Specifies duration how long vibration should last + \return If false is returned, an error has occurred. Call error() to get a value of + XQVibra::Error that indicates which error occurred + \sa stop(), setIntensity(), error() +*/ +bool XQVibra::start(int duration) +{ + return d->start(duration); +} + +/*! + Interrupts the device vibration immediately. + + \return If false is returned, an error has occurred. Call error() to get a value of + XQVibra::Error that indicates which error occurred + \sa start(), setIntensity(), error() +*/ +bool XQVibra::stop() +{ + return d->stop(); +} + +/*! + Sets the intensity of the vibration. Allowed values for the intensity are + between -100 and 100. 0 means no vibrating. NOTE: The device might have + hardware-imposed limits on supported vibra intensity values, so actual + effect might vary between different hardware. + + \param intensity Intensity of the vibra in decimals + \return If false is returned, an error has occurred. Call error() to get a value of + XQVibra::Error that indicates which error occurred + \sa error() +*/ +bool XQVibra::setIntensity(int intensity) +{ + return d->setIntensity(intensity); +} + +/*! + Returns the current status of the vibration. This function can be used to check has vibration + allowed in the user profile. + + \return current status + \sa statusChanged() +*/ +XQVibra::Status XQVibra::currentStatus() const +{ + return d->currentStatus(); +} + +/*! + Returns the type of error that occurred if the latest function call failed; otherwise returns NoError + \return Error code +*/ +XQVibra::Error XQVibra::error() const +{ + return d->error(); +} + +/*! + \fn void XQVibra::statusChanged(Status status) + + This signal is emitted when the there is a change of the vibration status. + + \param status a vibration status + \sa currentStatus() +*/ + +// End of file diff --git a/examples/widgets/symbianvibration/xqvibra.h b/examples/widgets/symbianvibration/xqvibra.h new file mode 100644 index 00000000000..5520d08a06b --- /dev/null +++ b/examples/widgets/symbianvibration/xqvibra.h @@ -0,0 +1,61 @@ +#ifndef XQVIBRA_H +#define XQVIBRA_H + +// INCLUDES +#include + +// FORWARD DECLARATIONS +class XQVibraPrivate; + +// CLASS DECLARATION +//! [0] +class XQVibra : public QObject +{ + Q_OBJECT + +public: + static const int InfiniteDuration = 0; + static const int MaxIntensity = 100; + static const int MinIntensity = -100; + + enum Error { + NoError = 0, + OutOfMemoryError, + ArgumentError, + VibraInUseError, + HardwareError, + TimeOutError, + VibraLockedError, + AccessDeniedError, + UnknownError = -1 + }; + + enum Status { + StatusNotAllowed = 0, + StatusOff, + StatusOn + }; + + XQVibra(QObject *parent = 0); + ~XQVibra(); + + XQVibra::Status currentStatus() const; + XQVibra::Error error() const; + +Q_SIGNALS: + void statusChanged(XQVibra::Status status); + +public Q_SLOTS: + bool start(int duration = InfiniteDuration); + bool stop(); + bool setIntensity(int intensity); + +private: + friend class XQVibraPrivate; + XQVibraPrivate *d; +}; +//! [0] + +#endif // XQVIBRA_H + +// End of file diff --git a/examples/widgets/symbianvibration/xqvibra_p.cpp b/examples/widgets/symbianvibration/xqvibra_p.cpp new file mode 100644 index 00000000000..9f2b5f97b46 --- /dev/null +++ b/examples/widgets/symbianvibration/xqvibra_p.cpp @@ -0,0 +1,131 @@ +#include "xqvibra_p.h" + +const int KDefaultIntensity = 0xFF; + +XQVibraPrivate::XQVibraPrivate(XQVibra *vibra) + : q(vibra), iStatus(XQVibra::StatusOff), iDuration(XQVibra::InfiniteDuration), iIntensity(KDefaultIntensity) + +{ + TRAP(iError, iVibra = CHWRMVibra::NewL();) + QObject::connect(&iTimer, SIGNAL(timeout()), q, SLOT(stop())); +} + +XQVibraPrivate::~XQVibraPrivate() +{ + delete iVibra; +} + +bool XQVibraPrivate::start(int aDuration) +{ + iDuration = aDuration; + TRAP(iError, + if (iIntensity == KDefaultIntensity) { + iVibra->StartVibraL(XQVibra::InfiniteDuration); + } else { + iVibra->StopVibraL(); + iVibra->StartVibraL(XQVibra::InfiniteDuration, iIntensity); + } + + if (aDuration != XQVibra::InfiniteDuration) { + iTimer.start(aDuration); + } else { + iTimer.stop(); + } + + if (iStatus != XQVibra::StatusOn) { + iStatus = XQVibra::StatusOn; + emit q->statusChanged(iStatus); + } + ) + return (iError == KErrNone); +} + +bool XQVibraPrivate::stop() +{ + TRAP(iError, + if (iVibra->VibraStatus() == CHWRMVibra::EVibraStatusOn) { + iVibra->StopVibraL(); + if (iTimer.isActive()) { + iTimer.stop(); + } + } + + iStatus = XQVibra::StatusOff; + emit q->statusChanged(iStatus); + ) + return (iError == KErrNone); +} + +void XQVibraPrivate::VibraModeChanged(CHWRMVibra::TVibraModeState /*aStatus*/) +{ + // Implementation isn't needed here because this information isn't used in the public side of the extension +} + +void XQVibraPrivate::VibraStatusChanged(CHWRMVibra::TVibraStatus aStatus) +{ + if (aStatus == CHWRMVibra::EVibraStatusUnknown || + aStatus == CHWRMVibra::EVibraStatusNotAllowed) { + iStatus = XQVibra::StatusNotAllowed; + emit q->statusChanged(iStatus); + } + + if (iDuration == XQVibra::InfiniteDuration) { + if (iStatus != XQVibra::StatusOff) { + iStatus = XQVibra::StatusOff; + emit q->statusChanged(iStatus); + } + } +} + +bool XQVibraPrivate::setIntensity(int aIntensity) +{ + TRAP(iError, + if (aIntensity >= KHWRMVibraMinIntensity && aIntensity <= KHWRMVibraMaxIntensity) { + iIntensity = aIntensity; + if (iIntensity == 0 && iStatus == XQVibra::StatusOn) { + iVibra->StopVibraL(); + } else if (iStatus == XQVibra::StatusOn) { + iVibra->StopVibraL(); + iVibra->StartVibraL(XQVibra::InfiniteDuration, iIntensity); + } + } else { + User::Leave(KErrArgument); + } + ) + return (iError == KErrNone); +} + +XQVibra::Status XQVibraPrivate::currentStatus() const +{ + if (iVibra->VibraStatus() == CHWRMVibra::EVibraStatusUnknown || + iVibra->VibraStatus() == CHWRMVibra::EVibraStatusNotAllowed) { + return XQVibra::StatusNotAllowed; + } + return iStatus; +} + +XQVibra::Error XQVibraPrivate::error() const +{ + switch (iError) { + case KErrNone: + return XQVibra::NoError; + case KErrNoMemory: + return XQVibra::OutOfMemoryError; + case KErrArgument: + return XQVibra::ArgumentError; + case KErrInUse: + return XQVibra::VibraInUseError; + case KErrGeneral: + return XQVibra::HardwareError; + case KErrTimedOut: + return XQVibra::TimeOutError; + case KErrLocked: + return XQVibra::VibraLockedError; + case KErrAccessDenied: + return XQVibra::AccessDeniedError; + default: + return XQVibra::UnknownError; + } +} + +// End of file diff --git a/examples/widgets/symbianvibration/xqvibra_p.h b/examples/widgets/symbianvibration/xqvibra_p.h new file mode 100644 index 00000000000..7b4e9d83d02 --- /dev/null +++ b/examples/widgets/symbianvibration/xqvibra_p.h @@ -0,0 +1,39 @@ +#ifndef XQVIBRA_P_H +#define XQVIBRA_P_H + +// INCLUDES +#include "xqvibra.h" +#include +#include + +// CLASS DECLARATION +class XQVibraPrivate: public CBase, public MHWRMVibraObserver +{ + +public: + XQVibraPrivate(XQVibra *vibra); + ~XQVibraPrivate(); + + bool start(int aDuration = XQVibra::InfiniteDuration); + bool stop(); + bool setIntensity(int aIntensity); + XQVibra::Status currentStatus() const; + XQVibra::Error error() const; + +private: // From MHWRMVibraObserver + void VibraModeChanged(CHWRMVibra::TVibraModeState aStatus); + void VibraStatusChanged(CHWRMVibra::TVibraStatus aStatus); + +private: + XQVibra *q; + XQVibra::Status iStatus; + CHWRMVibra *iVibra; + QTimer iTimer; + int iDuration; + int iIntensity; + int iError; +}; + +#endif /*XQVIBRA_P_H*/ + +// End of file diff --git a/examples/widgets/tablet/tablet.desktop b/examples/widgets/tablet/tablet.desktop new file mode 100644 index 00000000000..9b40dc25d40 --- /dev/null +++ b/examples/widgets/tablet/tablet.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Tablet +Exec=/opt/usr/bin/tablet +Icon=tablet +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/widgets/tetrix/tetrix.desktop b/examples/widgets/tetrix/tetrix.desktop new file mode 100644 index 00000000000..4d7a3de4170 --- /dev/null +++ b/examples/widgets/tetrix/tetrix.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Tetrix +Exec=/opt/usr/bin/tetrix +Icon=tetrix +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/widgets/tooltips/tooltips.desktop b/examples/widgets/tooltips/tooltips.desktop new file mode 100644 index 00000000000..7dade26cc35 --- /dev/null +++ b/examples/widgets/tooltips/tooltips.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Tool Tips +Exec=/opt/usr/bin/tooltips +Icon=tooltips +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/widgets/validators/validators.desktop b/examples/widgets/validators/validators.desktop new file mode 100644 index 00000000000..073131632fd --- /dev/null +++ b/examples/widgets/validators/validators.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Validators +Exec=/opt/usr/bin/validators +Icon=validators +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/widgets/wiggly/wiggly.desktop b/examples/widgets/wiggly/wiggly.desktop new file mode 100644 index 00000000000..b83e1ab3f05 --- /dev/null +++ b/examples/widgets/wiggly/wiggly.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Wiggly +Exec=/opt/usr/bin/wiggly +Icon=wiggly +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/widgets/windowflags/windowflags.desktop b/examples/widgets/windowflags/windowflags.desktop new file mode 100644 index 00000000000..27fd7bd3647 --- /dev/null +++ b/examples/widgets/windowflags/windowflags.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=Window Flags +Exec=/opt/usr/bin/windowflags +Icon=windowflags +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/xml/dombookmarks/dombookmarks.desktop b/examples/xml/dombookmarks/dombookmarks.desktop new file mode 100644 index 00000000000..dfaa8a6b2d2 --- /dev/null +++ b/examples/xml/dombookmarks/dombookmarks.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=DOM Bookmarks +Exec=/opt/usr/bin/dombookmarks +Icon=dombookmarks +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/xml/htmlinfo/htmlinfo.desktop b/examples/xml/htmlinfo/htmlinfo.desktop new file mode 100644 index 00000000000..901a285b472 --- /dev/null +++ b/examples/xml/htmlinfo/htmlinfo.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=XML HTML Info +Exec=/opt/usr/bin/htmlinfo +Icon=htmlinfo +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/xml/rsslisting/rsslisting.desktop b/examples/xml/rsslisting/rsslisting.desktop new file mode 100644 index 00000000000..e45fe4a3e80 --- /dev/null +++ b/examples/xml/rsslisting/rsslisting.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=RSS-Listing +Exec=/opt/usr/bin/rsslisting +Icon=rsslisting +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/xml/saxbookmarks/saxbookmarks.desktop b/examples/xml/saxbookmarks/saxbookmarks.desktop new file mode 100644 index 00000000000..5f983d2b825 --- /dev/null +++ b/examples/xml/saxbookmarks/saxbookmarks.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=SAX Bookmarks +Exec=/opt/usr/bin/saxbookmarks +Icon=saxbookmarks +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/xml/streambookmarks/streambookmarks.desktop b/examples/xml/streambookmarks/streambookmarks.desktop new file mode 100644 index 00000000000..29961a90eb5 --- /dev/null +++ b/examples/xml/streambookmarks/streambookmarks.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=QXmlStream Bookmarks +Exec=/opt/usr/bin/streambookmarks +Icon=streambookmarks +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable diff --git a/examples/xml/xmlstreamlint/xmlstreamlint.desktop b/examples/xml/xmlstreamlint/xmlstreamlint.desktop new file mode 100644 index 00000000000..6f85e361b18 --- /dev/null +++ b/examples/xml/xmlstreamlint/xmlstreamlint.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Encoding=UTF-8 +Version=1.0 +Type=Application +Terminal=false +Name=XML Stream Lint +Exec=/opt/usr/bin/xmlstreamlint +Icon=xmlstreamlint +X-Window-Icon= +X-HildonDesk-ShowInToolbar=true +X-Osso-Type=application/x-executable