AudioVolumeKeyEventOnSymbian: Difference between revisions

From Qt Wiki
Jump to navigation Jump to search
No edit summary
(Don't #include the module prefix)
 
(4 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{Outdated|reason=The Symbian platform is no longer supported.}}
{{Cleanup | reason=Auto-imported from ExpressionEngine.}}
Register in C++
Register in C++


qmlRegisterType<MediakeyCaptureItem>("Mediakey", 1, 0, "MediakeyCapture");
qmlRegisterType<MediakeyCaptureItem>("Mediakey", 1, 0, "MediakeyCapture");


Example<br /><code>#include "qmlapplicationviewer.h"
Example
<code>#include "qmlapplicationviewer.h"


#include <QtCore/QCoreApplication><br />#include <QtCore/QDir><br />#include <QtCore/QFileInfo><br />#include <QtDeclarative/QDeclarativeComponent><br />#include <QtDeclarative/QDeclarativeEngine><br />#include <QtDeclarative/QDeclarativeContext>
#include <QCoreApplication>
#include <QDir>
#include <QFileInfo>
#include <QDeclarativeComponent>
#include <QDeclarativeEngine>
#include <QDeclarativeContext>


#if defined(QMLJSDEBUGGER)<br />#include <qt_private/qdeclarativedebughelper_p.h><br />#endif
#if defined(QMLJSDEBUGGER)
#include <qt_private/qdeclarativedebughelper_p.h>
#endif


#if defined(QMLJSDEBUGGER) &amp;&amp; !defined(NO_JSDEBUGGER)<br />#include <jsdebuggeragent.h><br />#endif<br />#if defined(QMLJSDEBUGGER) &amp;&amp; !defined(NO_QMLOBSERVER)<br />#include <qdeclarativeviewobserver.h><br />#endif
#if defined(QMLJSDEBUGGER) && !defined(NO_JSDEBUGGER)
#include <jsdebuggeragent.h>
#endif
#if defined(QMLJSDEBUGGER) && !defined(NO_QMLOBSERVER)
#include <qdeclarativeviewobserver.h>
#endif


#if defined(QMLJSDEBUGGER)
#if defined(QMLJSDEBUGGER)


// Enable debugging before any QDeclarativeEngine is created<br />struct QmlJsDebuggingEnabler<br />{<br /> QmlJsDebuggingEnabler()<br /> {<br /> QDeclarativeDebugHelper::enableDebugging();<br /> }<br />};
// Enable debugging before any QDeclarativeEngine is created
struct QmlJsDebuggingEnabler
{
QmlJsDebuggingEnabler()
{
QDeclarativeDebugHelper::enableDebugging();
}
};


// Execute code in constructor before first QDeclarativeEngine is instantiated<br />static QmlJsDebuggingEnabler enableDebuggingHelper;
// Execute code in constructor before first QDeclarativeEngine is instantiated
static QmlJsDebuggingEnabler enableDebuggingHelper;


#endif // QMLJSDEBUGGER
#endif // QMLJSDEBUGGER


class QmlApplicationViewerPrivate<br />{<br /> QString mainQmlFile;<br /> friend class QmlApplicationViewer;<br /> static QString adjustPath(const QString &amp;path);<br />};
class QmlApplicationViewerPrivate
{
QString mainQmlFile;
friend class QmlApplicationViewer;
static QString adjustPath(const QString &path);
};


QString QmlApplicationViewerPrivate::adjustPath(const QString &amp;path)<br />{<br />#ifdef Q_OS_UNIX<br />#ifdef Q_OS_MAC<br /> if (!QDir::isAbsolutePath(path))<br /> return QCoreApplication::applicationDirPath()<br /> + QLatin1String("/../Resources/") + path;<br />#else<br /> const QString pathInInstallDir = QCoreApplication::applicationDirPath()<br /> + QLatin1String("/../") + path;<br /> if (pathInInstallDir.contains(QLatin1String("opt"))<br /> &amp;&amp; pathInInstallDir.contains(QLatin1String("bin"))<br /> &amp;&amp; QFileInfo(pathInInstallDir).exists()) {<br /> return pathInInstallDir;<br /> }<br />#endif<br />#endif<br /> return path;<br />}
QString QmlApplicationViewerPrivate::adjustPath(const QString &path)
{
#ifdef Q_OS_UNIX
#ifdef Q_OS_MAC
if (!QDir::isAbsolutePath(path))
return QCoreApplication::applicationDirPath()
+ QLatin1String("/../Resources/") + path;
#else
const QString pathInInstallDir = QCoreApplication::applicationDirPath()
+ QLatin1String("/../") + path;
if (pathInInstallDir.contains(QLatin1String("opt"))
&& pathInInstallDir.contains(QLatin1String("bin"))
&& QFileInfo(pathInInstallDir).exists()) {
return pathInInstallDir;
}
#endif
#endif
return path;
}


QmlApplicationViewer::QmlApplicationViewer(QWidget *parent) :<br /> QDeclarativeView(parent),<br /> m_d(new QmlApplicationViewerPrivate)<br />{<br /> connect(engine(), SIGNAL (quit()), SLOT (close()));<br /> setResizeMode(QDeclarativeView::SizeRootObjectToView);<br />#if defined(QMLJSDEBUGGER) &amp;&amp; !defined(NO_JSDEBUGGER)<br /> new QmlJSDebugger::JSDebuggerAgent(engine());<br />#endif<br />#if defined(QMLJSDEBUGGER) &amp;&amp; !defined(NO_QMLOBSERVER)<br /> new QmlJSDebugger::QDeclarativeViewObserver(this, this);<br />#endif<br />}
QmlApplicationViewer::QmlApplicationViewer(QWidget *parent) :
QDeclarativeView(parent),
m_d(new QmlApplicationViewerPrivate)
{
connect(engine(), SIGNAL (quit()), SLOT (close()));
setResizeMode(QDeclarativeView::SizeRootObjectToView);
#if defined(QMLJSDEBUGGER) && !defined(NO_JSDEBUGGER)
new QmlJSDebugger::JSDebuggerAgent(engine());
#endif
#if defined(QMLJSDEBUGGER) && !defined(NO_QMLOBSERVER)
new QmlJSDebugger::QDeclarativeViewObserver(this, this);
#endif
}


QmlApplicationViewer::~QmlApplicationViewer()<br />{<br /> delete m_d;<br />}
QmlApplicationViewer::~QmlApplicationViewer()
{
delete m_d;
}


void QmlApplicationViewer::setMainQmlFile(const QString &amp;file)<br />{
void QmlApplicationViewer::setMainQmlFile(const QString &file)
{


m_d->mainQmlFile = QmlApplicationViewerPrivate::adjustPath(file);<br /> setSource(QUrl::fromLocalFile(m_d->mainQmlFile));<br />}
m_d->mainQmlFile = QmlApplicationViewerPrivate::adjustPath(file);
setSource(QUrl::fromLocalFile(m_d->mainQmlFile));
}


void QmlApplicationViewer::addImportPath(const QString &amp;path)<br />{
void QmlApplicationViewer::addImportPath(const QString &path)
{


engine()->addImportPath(QmlApplicationViewerPrivate::adjustPath(path));<br />}
engine()->addImportPath(QmlApplicationViewerPrivate::adjustPath(path));
}


void QmlApplicationViewer::setOrientation(ScreenOrientation orientation)<br />{<br />#if defined(Q_OS_SYMBIAN)<br /> // If the version of Qt on the device is < 4.7.2, that attribute won't work<br /> if (orientation != ScreenOrientationAuto) {<br /> const QStringList v = QString::fromAscii(qVersion()).split(QLatin1Char('.'));<br /> if (v.count() == 3 &amp;&amp; (v.at(0).toInt() << 16 | v.at(1).toInt() << 8 | v.at(2).toInt()) < 0x040702) {<br /> qWarning("Screen orientation locking only supported with Qt 4.7.2 and above");<br /> return;<br /> }<br /> }<br />#endif // Q_OS_SYMBIAN
void QmlApplicationViewer::setOrientation(ScreenOrientation orientation)
{
#if defined(Q_OS_SYMBIAN)
// If the version of Qt on the device is < 4.7.2, that attribute won't work
if (orientation != ScreenOrientationAuto) {
const QStringList v = QString::fromAscii(qVersion()).split(QLatin1Char('.'));
if (v.count() == 3 && (v.at(0).toInt() << 16 | v.at(1).toInt() << 8 | v.at(2).toInt()) < 0x040702) {
qWarning("Screen orientation locking only supported with Qt 4.7.2 and above");
return;
}
}
#endif // Q_OS_SYMBIAN


Qt::WidgetAttribute attribute;<br /> switch (orientation) {<br />#if QT_VERSION < 0x040702<br /> // Qt < 4.7.2 does not yet have the Qt::WA_*Orientation attributes<br /> case ScreenOrientationLockPortrait:<br /> attribute = static_cast<Qt::WidgetAttribute>(128);<br /> break;<br /> case ScreenOrientationLockLandscape:<br /> attribute = static_cast<Qt::WidgetAttribute>(129);<br /> break;<br /> default:<br /> case ScreenOrientationAuto:<br /> attribute = static_cast<Qt::WidgetAttribute>(130);<br /> break;<br />#else // QT_VERSION < 0x040702<br /> case ScreenOrientationLockPortrait:<br /> attribute = Qt::WA_LockPortraitOrientation;<br /> break;<br /> case ScreenOrientationLockLandscape:<br /> attribute = Qt::WA_LockLandscapeOrientation;<br /> break;<br /> default:<br /> case ScreenOrientationAuto:<br /> attribute = Qt::WA_AutoOrientation;<br /> break;<br />#endif // QT_VERSION < 0x040702<br /> };<br /> setAttribute(attribute, true);<br />}
Qt::WidgetAttribute attribute;
switch (orientation) {
#if QT_VERSION < 0x040702
// Qt < 4.7.2 does not yet have the Qt::WA_*Orientation attributes
case ScreenOrientationLockPortrait:
attribute = static_cast<Qt::WidgetAttribute>(128);
break;
case ScreenOrientationLockLandscape:
attribute = static_cast<Qt::WidgetAttribute>(129);
break;
default:
case ScreenOrientationAuto:
attribute = static_cast<Qt::WidgetAttribute>(130);
break;
#else // QT_VERSION < 0x040702
case ScreenOrientationLockPortrait:
attribute = Qt::WA_LockPortraitOrientation;
break;
case ScreenOrientationLockLandscape:
attribute = Qt::WA_LockLandscapeOrientation;
break;
default:
case ScreenOrientationAuto:
attribute = Qt::WA_AutoOrientation;
break;
#endif // QT_VERSION < 0x040702
};
setAttribute(attribute, true);
}


void QmlApplicationViewer::showExpanded()<br />{<br />#ifdef Q_OS_SYMBIAN<br /> showFullScreen();<br />#elif defined(Q_WS_MAEMO_5)<br /> showMaximized();<br />#else<br /> show();<br />#endif
void QmlApplicationViewer::showExpanded()
{
#ifdef Q_OS_SYMBIAN
showFullScreen();
#elif defined(Q_WS_MAEMO_5)
showMaximized();
#else
show();
#endif

Latest revision as of 13:23, 27 April 2015

IMPORTANT: The content of this page is outdated. Reason: The Symbian platform is no longer supported.
If you have checked or updated this page and found the content to be suitable, please remove this notice.
This article may require cleanup to meet the Qt Wiki's quality standards. Reason: Auto-imported from ExpressionEngine.
Please improve this article if you can. Remove the {{cleanup}} tag and add this page to Updated pages list after it's clean.

Register in C++

qmlRegisterType<MediakeyCaptureItem>("Mediakey", 1, 0, "MediakeyCapture");

Example #include "qmlapplicationviewer.h"

  1. include <QCoreApplication>
  2. include <QDir>
  3. include <QFileInfo>
  4. include <QDeclarativeComponent>
  5. include <QDeclarativeEngine>
  6. include <QDeclarativeContext>
  1. if defined(QMLJSDEBUGGER)
  2. include <qt_private/qdeclarativedebughelper_p.h>
  3. endif
  1. if defined(QMLJSDEBUGGER) && !defined(NO_JSDEBUGGER)
  2. include <jsdebuggeragent.h>
  3. endif
  4. if defined(QMLJSDEBUGGER) && !defined(NO_QMLOBSERVER)
  5. include <qdeclarativeviewobserver.h>
  6. endif
  1. if defined(QMLJSDEBUGGER)

// Enable debugging before any QDeclarativeEngine is created struct QmlJsDebuggingEnabler {

QmlJsDebuggingEnabler()
{
QDeclarativeDebugHelper::enableDebugging();
}

};

// Execute code in constructor before first QDeclarativeEngine is instantiated static QmlJsDebuggingEnabler enableDebuggingHelper;

  1. endif // QMLJSDEBUGGER

class QmlApplicationViewerPrivate {

QString mainQmlFile;
friend class QmlApplicationViewer;
static QString adjustPath(const QString &path);

};

QString QmlApplicationViewerPrivate::adjustPath(const QString &path) {

  1. ifdef Q_OS_UNIX
  2. ifdef Q_OS_MAC
if (!QDir::isAbsolutePath(path))
return QCoreApplication::applicationDirPath()
+ QLatin1String("/../Resources/") + path;
  1. else
const QString pathInInstallDir = QCoreApplication::applicationDirPath()
+ QLatin1String("/../") + path;
if (pathInInstallDir.contains(QLatin1String("opt"))
&& pathInInstallDir.contains(QLatin1String("bin"))
&& QFileInfo(pathInInstallDir).exists()) {
return pathInInstallDir;
}
  1. endif
  2. endif
return path;

}

QmlApplicationViewer::QmlApplicationViewer(QWidget *parent) :

QDeclarativeView(parent),
m_d(new QmlApplicationViewerPrivate)

{

connect(engine(), SIGNAL (quit()), SLOT (close()));
setResizeMode(QDeclarativeView::SizeRootObjectToView);
  1. if defined(QMLJSDEBUGGER) && !defined(NO_JSDEBUGGER)
new QmlJSDebugger::JSDebuggerAgent(engine());
  1. endif
  2. if defined(QMLJSDEBUGGER) && !defined(NO_QMLOBSERVER)
new QmlJSDebugger::QDeclarativeViewObserver(this, this);
  1. endif

}

QmlApplicationViewer::~QmlApplicationViewer() {

delete m_d;

}

void QmlApplicationViewer::setMainQmlFile(const QString &file) {

m_d->mainQmlFile = QmlApplicationViewerPrivate::adjustPath(file);

setSource(QUrl::fromLocalFile(m_d->mainQmlFile));

}

void QmlApplicationViewer::addImportPath(const QString &path) {

engine()->addImportPath(QmlApplicationViewerPrivate::adjustPath(path)); }

void QmlApplicationViewer::setOrientation(ScreenOrientation orientation) {

  1. if defined(Q_OS_SYMBIAN)
// If the version of Qt on the device is < 4.7.2, that attribute won't work
if (orientation != ScreenOrientationAuto) {
const QStringList v = QString::fromAscii(qVersion()).split(QLatin1Char('.'));
if (v.count() == 3 && (v.at(0).toInt() << 16 | v.at(1).toInt() << 8 | v.at(2).toInt()) < 0x040702) {
qWarning("Screen orientation locking only supported with Qt 4.7.2 and above");
return;
}
}
  1. endif // Q_OS_SYMBIAN

Qt::WidgetAttribute attribute;

switch (orientation) {
  1. if QT_VERSION < 0x040702
// Qt < 4.7.2 does not yet have the Qt::WA_*Orientation attributes
case ScreenOrientationLockPortrait:
attribute = static_cast<Qt::WidgetAttribute>(128);
break;
case ScreenOrientationLockLandscape:
attribute = static_cast<Qt::WidgetAttribute>(129);
break;
default:
case ScreenOrientationAuto:
attribute = static_cast<Qt::WidgetAttribute>(130);
break;
  1. else // QT_VERSION < 0x040702
case ScreenOrientationLockPortrait:
attribute = Qt::WA_LockPortraitOrientation;
break;
case ScreenOrientationLockLandscape:
attribute = Qt::WA_LockLandscapeOrientation;
break;
default:
case ScreenOrientationAuto:
attribute = Qt::WA_AutoOrientation;
break;
  1. endif // QT_VERSION < 0x040702
};
setAttribute(attribute, true);

}

void QmlApplicationViewer::showExpanded() {

  1. ifdef Q_OS_SYMBIAN
showFullScreen();
  1. elif defined(Q_WS_MAEMO_5)
showMaximized();
  1. else
show();
  1. endif