Remove BlackBerry PlayBook support.

Reasons:
    - the PlayBook NDK is old and its compiler does not keep up with newest
      C++11 improvements inside Qt code.
    - the PlayBook NDK diverges considerably from the standard BB10 NDK,
      making it non-trivial to keep a common codebase.
    - It's a defunct platform.
    - Maintenance time is limited.

[ChangeLog][Platform Specific Changes] Removed BlackBerry PlayBook support.

Change-Id: Ia338aff55f4e4b747ebdecb0e1463a369a656c03
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Bernd Weimer <bernd.weimer@pelagicore.com>
Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
This commit is contained in:
Rafael Roquetto 2015-02-11 16:51:34 -02:00 committed by Rafael Roquetto
parent d3893d8054
commit 7e2ef1fd21
17 changed files with 17 additions and 493 deletions

View File

@ -1,8 +0,0 @@
#
# qmake configuration for the Blackberry Playbook armle-v7
#
include(../../blackberry-armle-v7-qcc/qmake.conf)
DEFINES += Q_OS_BLACKBERRY_TABLET
CONFIG += blackberry-playbook

View File

@ -1,34 +0,0 @@
/****************************************************************************
**
** Copyright (C) 2013 Klarälvdalens Datakonsult AB <info@kdab.com>
** Contact: http://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL21$
** Commercial License Usage
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and The Qt Company. For licensing terms
** and conditions see http://www.qt.io/terms-conditions. For further
** information use the contact form at http://www.qt.io/contact-us.
**
** 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 or version 3 as published by the Free
** Software Foundation and appearing in the file LICENSE.LGPLv21 and
** LICENSE.LGPLv3 included in the packaging of this file. Please review the
** following information to ensure the GNU Lesser General Public License
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
** As a special exception, The Qt Company gives you certain additional
** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** $QT_END_LICENSE$
**
****************************************************************************/
#include "../../blackberry-armle-v7-qcc/qplatformdefs.h"

View File

@ -1,8 +0,0 @@
#
# qmake configuration for the Blackberry Playbook x86
#
include(../../blackberry-x86-qcc/qmake.conf)
DEFINES += Q_OS_BLACKBERRY_TABLET
CONFIG += blackberry-playbook

View File

@ -1,34 +0,0 @@
/****************************************************************************
**
** Copyright (C) 2013 Klarälvdalens Datakonsult AB <info@kdab.com>
** Contact: http://www.qt.io/licensing/
**
** This file is part of the QtCore module of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL21$
** Commercial License Usage
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and The Qt Company. For licensing terms
** and conditions see http://www.qt.io/terms-conditions. For further
** information use the contact form at http://www.qt.io/contact-us.
**
** 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 or version 3 as published by the Free
** Software Foundation and appearing in the file LICENSE.LGPLv21 and
** LICENSE.LGPLv3 included in the packaging of this file. Please review the
** following information to ensure the GNU Lesser General Public License
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
** As a special exception, The Qt Company gives you certain additional
** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** $QT_END_LICENSE$
**
****************************************************************************/
#include "../../blackberry-x86-qcc/qplatformdefs.h"

View File

@ -175,7 +175,7 @@ blackberry {
kernel/qeventdispatcher_blackberry_p.h
}
qqnx_pps:!blackberry-playbook {
qqnx_pps {
LIBS_PRIVATE += -lpps
SOURCES += \
kernel/qppsattribute.cpp \

View File

@ -205,13 +205,6 @@ QT_BEGIN_NAMESPACE
#ifdef Q_OS_BLACKBERRY
static const char cellularStatusFile[] = "/pps/services/radioctrl/modem0/status_public";
#ifdef Q_OS_BLACKBERRY_TABLET
static bool pps_decoder_is_integer(pps_decoder_t *decoder, const char *name)
{
return (pps_decoder_type(decoder, name) == PPS_TYPE_NUMBER);
}
#endif // Q_OS_BLACKBERRY_TABLET
static QNetworkConfiguration::BearerType cellularStatus()
{
QNetworkConfiguration::BearerType ret = QNetworkConfiguration::BearerUnknown;

View File

@ -2668,7 +2668,6 @@ QList<QByteArray> QSslSocketPrivate::unixRootCertDirectories()
<< "/usr/local/ssl/" // Normal OpenSSL Tarball
<< "/var/ssl/certs/" // AIX
<< "/usr/local/ssl/certs/" // Solaris
<< "/var/certmgr/web/user_trusted/" // BlackBerry Playbook
<< "/etc/openssl/certs/" // BlackBerry
<< "/opt/openssl/certs/"; // HP-UX
}

View File

@ -105,17 +105,13 @@ CONFIG(blackberry) {
LIBS += -lbps
}
CONFIG(blackberry-playbook) {
SOURCES += qqnxfiledialoghelper_playbook.cpp
} else {
CONFIG(blackberry) {
SOURCES += qqnxfiledialoghelper_bb10.cpp \
qqnxfilepicker.cpp \
qqnxnavigatorcover.cpp
CONFIG(blackberry) {
SOURCES += qqnxfiledialoghelper_bb10.cpp \
qqnxfilepicker.cpp \
qqnxnavigatorcover.cpp
HEADERS += qqnxfilepicker.h \
qqnxnavigatorcover.h
}
HEADERS += qqnxfilepicker.h \
qqnxnavigatorcover.h
}
CONFIG(qqnx_pps) {

View File

@ -119,24 +119,6 @@ void QQnxBpsEventFilter::unregisterForScreenEvents(QQnxScreen *screen)
qWarning("QQNX: failed to unregister for screen events on screen %p", screen->nativeContext());
}
#if defined(Q_OS_BLACKBERRY_TABLET)
void QQnxBpsEventFilter::registerForDialogEvents(QQnxFileDialogHelper *dialog)
{
if (dialog_request_events(0) != BPS_SUCCESS)
qWarning("QQNX: failed to register for dialog events");
dialog_instance_t nativeDialog = dialog->nativeDialog();
if (!m_dialogMapper.contains(nativeDialog))
m_dialogMapper.insert(nativeDialog, dialog);
}
void QQnxBpsEventFilter::unregisterForDialogEvents(QQnxFileDialogHelper *dialog)
{
int count = m_dialogMapper.remove(dialog->nativeDialog());
if (count == 0)
qWarning("QQNX: attempting to unregister dialog that was not registered");
}
#endif // Q_OS_BLACKBERRY_TABLET
bool QQnxBpsEventFilter::nativeEventFilter(const QByteArray &eventType, void *message, long *result)
{
Q_UNUSED(eventType);
@ -155,15 +137,6 @@ bool QQnxBpsEventFilter::nativeEventFilter(const QByteArray &eventType, void *me
return m_screenEventHandler->handleEvent(screenEvent);
}
#if defined(Q_OS_BLACKBERRY_TABLET)
if (eventDomain == dialog_get_domain()) {
dialog_instance_t nativeDialog = dialog_event_get_dialog_instance(event);
QQnxFileDialogHelper *dialog = m_dialogMapper.value(nativeDialog, 0);
if (dialog)
return dialog->handleEvent(event);
}
#endif
if (eventDomain == navigator_get_domain())
return handleNavigatorEvent(event);
@ -218,14 +191,8 @@ bool QQnxBpsEventFilter::handleNavigatorEvent(bps_event_t *event)
break;
case NAVIGATOR_WINDOW_THUMBNAIL:
m_navigatorEventHandler->handleWindowGroupStateChanged(id, Qt::WindowMinimized);
#if defined(Q_OS_BLACKBERRY_TABLET)
m_navigatorEventHandler->handleWindowGroupActivated(id);
#endif
break;
case NAVIGATOR_WINDOW_INVISIBLE:
#if defined(Q_OS_BLACKBERRY_TABLET)
m_navigatorEventHandler->handleWindowGroupDeactivated(id);
#endif
break;
}

View File

@ -65,11 +65,6 @@ public:
void registerForScreenEvents(QQnxScreen *screen);
void unregisterForScreenEvents(QQnxScreen *screen);
#ifdef Q_OS_BLACKBERRY_TABLET
void registerForDialogEvents(QQnxFileDialogHelper *dialog);
void unregisterForDialogEvents(QQnxFileDialogHelper *dialog);
#endif
private:
bool nativeEventFilter(const QByteArray &eventType, void *message, long *result) Q_DECL_OVERRIDE;

View File

@ -41,13 +41,7 @@ QT_BEGIN_NAMESPACE
class QQnxIntegration;
#if defined(Q_OS_BLACKBERRY_TABLET)
#include <bps/dialog.h>
#define NativeDialogPtr dialog_instance_t
#else
class QQnxFilePicker;
#define NativeDialogPtr QQnxFilePicker *
#endif
class QQnxFileDialogHelper : public QPlatformFileDialogHelper
{
@ -56,10 +50,6 @@ public:
explicit QQnxFileDialogHelper(const QQnxIntegration *);
~QQnxFileDialogHelper();
#if defined(Q_OS_BLACKBERRY_TABLET)
bool handleEvent(bps_event_t *event);
#endif
void exec();
bool show(Qt::WindowFlags flags, Qt::WindowModality modality, QWindow *parent);
@ -74,29 +64,22 @@ public:
void selectNameFilter(const QString &filter);
QString selectedNameFilter() const;
NativeDialogPtr nativeDialog() const { return m_dialog; }
QQnxFilePicker *nativeDialog() const { return m_dialog; }
Q_SIGNALS:
void dialogClosed();
private Q_SLOTS:
#if !defined(Q_OS_BLACKBERRY_TABLET)
void emitSignals();
#endif
private:
void setNameFilter(const QString &filter);
void setNameFilters(const QStringList &filters);
const QQnxIntegration *m_integration;
NativeDialogPtr m_dialog;
QQnxFilePicker *m_dialog;
QFileDialogOptions::AcceptMode m_acceptMode;
QString m_selectedFilter;
#if defined(Q_OS_BLACKBERRY_TABLET)
QPlatformDialogHelper::DialogCode m_result;
QList<QUrl> m_paths;
#endif
};
QT_END_NAMESPACE

View File

@ -1,312 +0,0 @@
/***************************************************************************
**
** Copyright (C) 2012 Research In Motion
** Contact: http://www.qt.io/licensing/
**
** This file is part of the plugins of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL21$
** Commercial License Usage
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and The Qt Company. For licensing terms
** and conditions see http://www.qt.io/terms-conditions. For further
** information use the contact form at http://www.qt.io/contact-us.
**
** 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 or version 3 as published by the Free
** Software Foundation and appearing in the file LICENSE.LGPLv21 and
** LICENSE.LGPLv3 included in the packaging of this file. Please review the
** following information to ensure the GNU Lesser General Public License
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
** As a special exception, The Qt Company gives you certain additional
** rights. These rights are described in The Qt Company LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** $QT_END_LICENSE$
**
****************************************************************************/
#include "qqnxfiledialoghelper.h"
#include "qqnxbpseventfilter.h"
#include "qqnxscreen.h"
#include "qqnxintegration.h"
#include <QDebug>
#include <QEventLoop>
#include <QScreen>
#include <QTimer>
#include <QWindow>
#if defined(QQNXFILEDIALOGHELPER_DEBUG)
#define qFileDialogHelperDebug qDebug
#else
#define qFileDialogHelperDebug QT_NO_QDEBUG_MACRO
#endif
QT_BEGIN_NAMESPACE
QQnxFileDialogHelper::QQnxFileDialogHelper(const QQnxIntegration *integration)
: QPlatformFileDialogHelper(),
m_integration(integration),
m_dialog(0),
m_acceptMode(QFileDialogOptions::AcceptOpen),
m_selectedFilter(),
m_result(QPlatformDialogHelper::Rejected),
m_paths()
{
}
QQnxFileDialogHelper::~QQnxFileDialogHelper()
{
if (m_dialog)
dialog_destroy(m_dialog);
}
bool QQnxFileDialogHelper::handleEvent(bps_event_t *event)
{
qFileDialogHelperDebug() << Q_FUNC_INFO;
// Check dialog event response type (OK vs CANCEL)
// CANCEL => index = 0
// OK => index = 1
int index = dialog_event_get_selected_index(event);
qFileDialogHelperDebug() << "Index =" << index;
if (index == 1) {
m_result = QPlatformDialogHelper::Accepted;
if (m_acceptMode == QFileDialogOptions::AcceptOpen) {
// File open dialog
// ###TODO Check that this actually gets multiple paths and cleans up properly
char **filePaths = 0;
int pathCount = 0;
int result = dialog_event_get_filebrowse_filepaths(event, &filePaths, &pathCount);
if (result != BPS_SUCCESS) {
qWarning() << "Could not get paths from native file dialog";
return false;
}
for (int i = 0; i < pathCount; ++i) {
QString path = QFile::decodeName(filePaths[i]);
m_paths.append(QUrl::fromLocalFile(path));
qFileDialogHelperDebug() << "path =" << path;
}
bps_free(filePaths);
} else {
// File save dialog
const char *filePath = dialog_event_get_filesave_filepath(event);
QString path = QFile::decodeName(filePath);
qFileDialogHelperDebug() << "path =" << path;
m_paths.append(QUrl::fromLocalFile(path));
}
} else { // Cancel
m_result = QPlatformDialogHelper::Rejected;
}
Q_EMIT dialogClosed();
return true;
}
void QQnxFileDialogHelper::exec()
{
qFileDialogHelperDebug() << Q_FUNC_INFO;
// Clear any previous results
m_paths.clear();
QEventLoop loop;
connect(this, SIGNAL(dialogClosed()), &loop, SLOT(quit()));
loop.exec();
if (m_result == QPlatformDialogHelper::Accepted)
Q_EMIT accept();
else
Q_EMIT reject();
}
bool QQnxFileDialogHelper::show(Qt::WindowFlags flags, Qt::WindowModality modality, QWindow *parent)
{
Q_UNUSED(flags);
qFileDialogHelperDebug() << Q_FUNC_INFO;
QQnxBpsEventFilter *eventFilter = m_integration->bpsEventFilter();
// We *really* need the bps event filter ;)
if (!eventFilter)
return false;
// Native dialogs can only handle application modal use cases so far
if (modality != Qt::ApplicationModal)
return false;
// Tear down any existing dialog and start again as dialog mode may have changed
if (m_dialog) {
dialog_destroy(m_dialog);
m_dialog = 0;
}
// Create dialog
const QSharedPointer<QFileDialogOptions> &opts = options();
if (opts->acceptMode() == QFileDialogOptions::AcceptOpen) {
if (dialog_create_filebrowse(&m_dialog) != BPS_SUCCESS) {
qWarning("dialog_create_filebrowse failed");
return false;
}
// Select one or many files?
bool multiSelect = (opts->fileMode() == QFileDialogOptions::ExistingFiles);
dialog_set_filebrowse_multiselect(m_dialog, multiSelect);
// Set the actual list of extensions
if (!opts->nameFilters().isEmpty()) {
qFileDialogHelperDebug() << "nameFilters =" << opts->nameFilters();
setNameFilter(opts->nameFilters().first());
} else {
QString defaultNameFilter = QStringLiteral("*.*");
setNameFilter(defaultNameFilter);
}
} else {
if (dialog_create_filesave(&m_dialog) != BPS_SUCCESS) {
qWarning("dialog_create_filesave failed");
return false;
}
// Maybe pre-select a filename
if (!opts->initiallySelectedFiles().isEmpty()) {
QString fileName = opts->initiallySelectedFiles().first().toLocalFile();
dialog_set_filesave_filename(m_dialog, QFile::encodeName(fileName).constData());
}
// Add OK and Cancel buttons. We add the buttons in the order "CANCEL" followed by "OK
// such that they have indices matching the buttons on the file open dialog which
// is automatically populated with buttons.
if (dialog_add_button(m_dialog, tr("CANCEL").toLocal8Bit().constData(), true, 0, true) != BPS_SUCCESS) {
qWarning("dialog_add_button failed");
return false;
}
if (dialog_add_button(m_dialog, tr("OK").toLocal8Bit().constData(), true, 0, true) != BPS_SUCCESS) {
qWarning("dialog_add_button failed");
return false;
}
}
// Cache the accept mode so we know which functions to use to get the results back
m_acceptMode = opts->acceptMode();
// Set the libscreen window group and common properties
QQnxScreen *nativeScreen = parent ? static_cast<QQnxScreen *>(parent->screen()->handle()) :
m_integration->primaryDisplay();
Q_ASSERT(nativeScreen);
dialog_set_group_id(m_dialog, nativeScreen->windowGroupName());
dialog_set_title_text(m_dialog, opts->windowTitle().toLocal8Bit().constData());
// Register ourselves for dialog domain events from bps
eventFilter->registerForDialogEvents(this);
// Show the dialog
dialog_show(m_dialog);
return true;
}
void QQnxFileDialogHelper::hide()
{
qFileDialogHelperDebug() << Q_FUNC_INFO;
if (!m_dialog)
return;
dialog_cancel(m_dialog);
}
bool QQnxFileDialogHelper::defaultNameFilterDisables() const
{
qFileDialogHelperDebug() << Q_FUNC_INFO;
return false;
}
void QQnxFileDialogHelper::setDirectory(const QUrl &directory)
{
qFileDialogHelperDebug() << Q_FUNC_INFO << "directory =" << directory;
// No native API for setting the directory(!). The best we can do is to
// set it as the file name but even then only with a file save dialog.
if (m_dialog && m_acceptMode == QFileDialogOptions::AcceptSave)
dialog_set_filesave_filename(m_dialog, QFile::encodeName(directory.toLocalFile()).constData());
}
QUrl QQnxFileDialogHelper::directory() const
{
qFileDialogHelperDebug() << Q_FUNC_INFO;
return m_paths.first();
}
void QQnxFileDialogHelper::selectFile(const QUrl &fileName)
{
qFileDialogHelperDebug() << Q_FUNC_INFO << "filename =" << fileName;
if (m_dialog && m_acceptMode == QFileDialogOptions::AcceptSave)
dialog_set_filesave_filename(m_dialog, QFile::encodeName(fileName.toLocalFile()).constData());
}
QList<QUrl> QQnxFileDialogHelper::selectedFiles() const
{
qFileDialogHelperDebug() << Q_FUNC_INFO;
return m_paths;
}
void QQnxFileDialogHelper::setFilter()
{
// No native api to support setting a filter from QDir::Filters
qFileDialogHelperDebug() << Q_FUNC_INFO;
}
void QQnxFileDialogHelper::selectNameFilter(const QString &filter)
{
qFileDialogHelperDebug() << Q_FUNC_INFO << "filter =" << filter;
setNameFilter(filter);
}
QString QQnxFileDialogHelper::selectedNameFilter() const
{
// For now there is no way for the user to change the selected filter
// so this just reflects what the developer has set programmatically.
qFileDialogHelperDebug() << Q_FUNC_INFO;
return m_selectedFilter;
}
void QQnxFileDialogHelper::setNameFilter(const QString &filter)
{
qFileDialogHelperDebug() << Q_FUNC_INFO << "filter =" << filter;
setNameFilters(QPlatformFileDialogHelper::cleanFilterList(filter));
}
void QQnxFileDialogHelper::setNameFilters(const QStringList &filters)
{
qFileDialogHelperDebug() << Q_FUNC_INFO << "filters =" << filters;
Q_ASSERT(!filters.isEmpty());
char **globs = new char*[filters.size()];
for (int i = 0; i < filters.size(); ++i) {
QByteArray glob = filters.at(i).toLocal8Bit();
globs[i] = new char[glob.length()];
strcpy(globs[i], glob.constData());
}
// Set the filters
dialog_set_filebrowse_filter(m_dialog, const_cast<const char**>(globs), filters.size());
m_selectedFilter = filters.first();
// Cleanup
for (int i = 0; i < filters.size(); ++i)
delete[] globs[i];
delete[] globs;
}
QT_END_NAMESPACE

View File

@ -127,13 +127,7 @@ void QQnxFilePicker::open()
map[QStringLiteral("Filter")] = m_filters.join(QLatin1Char(';'));
QByteArray ppsData;
#if defined(Q_OS_BLACKBERRY_TABLET)
QJsonDocument document;
document.setObject(QJsonObject::fromVariantMap(map));
ppsData = document.toJson(QJsonDocument::Compact);
#else
ppsData = QPpsObject::encode(map);
#endif
errorCode = navigator_invoke_invocation_set_data(m_invocationHandle, ppsData.constData(), ppsData.size());
if (errorCode != BPS_SUCCESS) {

View File

@ -585,7 +585,7 @@ void QQnxScreen::addWindow(QQnxWindow *window)
m_childWindows.push_back(window);
updateHierarchy();
} else {
#if defined(Q_OS_BLACKBERRY) && !defined(Q_OS_BLACKBERRY_TABLET)
#if defined(Q_OS_BLACKBERRY)
m_coverWindow = window;
#endif
}

View File

@ -38,7 +38,7 @@
#include <bps/event.h>
#include <bps/locale.h>
#include <bps/virtualkeyboard.h>
#if defined(Q_OS_BLACKBERRY) && !defined(Q_OS_BLACKBERRY_TABLET)
#if defined(Q_OS_BLACKBERRY)
#include <bbndk.h>
#endif
@ -118,21 +118,17 @@ virtualkeyboard_layout_t QQnxVirtualKeyboardBps::keyboardLayout() const
return VIRTUALKEYBOARD_LAYOUT_WEB;
case NumPunc:
return VIRTUALKEYBOARD_LAYOUT_NUM_PUNC;
#ifndef Q_OS_BLACKBERRY_TABLET
case Number:
return VIRTUALKEYBOARD_LAYOUT_NUMBER;
#endif
case Symbol:
return VIRTUALKEYBOARD_LAYOUT_SYMBOL;
case Phone:
return VIRTUALKEYBOARD_LAYOUT_PHONE;
case Pin:
return VIRTUALKEYBOARD_LAYOUT_PIN;
#ifndef Q_OS_BLACKBERRY_TABLET
case Password:
return VIRTUALKEYBOARD_LAYOUT_PASSWORD;
#endif
#if defined(Q_OS_BLACKBERRY) && !defined(Q_OS_BLACKBERRY_TABLET)
#if defined(Q_OS_BLACKBERRY)
#if BBNDK_VERSION_AT_LEAST(10, 2, 1)
case Alphanumeric:
return VIRTUALKEYBOARD_LAYOUT_ALPHANUMERIC;

View File

@ -48,9 +48,7 @@
#include <QtCore/QDebug>
#if defined(Q_OS_BLACKBERRY)
#if !defined(Q_OS_BLACKBERRY_TABLET)
#include "qqnxnavigatorcover.h"
#endif
#include <sys/pps.h>
#include <bps/navigator.h>
#endif
@ -635,7 +633,7 @@ QQnxWindow *QQnxWindow::findWindow(screen_window_t windowHandle)
void QQnxWindow::minimize()
{
#if defined(Q_OS_BLACKBERRY) && !defined(Q_OS_BLACKBERRY_TABLET)
#if defined(Q_OS_BLACKBERRY)
qWindowDebug() << Q_FUNC_INFO;
pps_encoder_t encoder;
@ -689,7 +687,7 @@ void QQnxWindow::initWindow()
setScreen(platformScreen);
if (window()->type() == Qt::CoverWindow) {
#if defined(Q_OS_BLACKBERRY) && !defined(Q_OS_BLACKBERRY_TABLET)
#if defined(Q_OS_BLACKBERRY)
if (platformScreen->rootWindow()) {
screen_set_window_property_pv(m_screen->rootWindow()->nativeHandle(),
SCREEN_PROPERTY_ALTERNATE_WINDOW, (void**)&m_window);

View File

@ -1498,8 +1498,7 @@ void tst_QWidget::mapFromAndTo()
subWindow2->setGeometry(75, 75, 100, 100);
subSubWindow->setGeometry(10, 10, 10, 10);
#if !defined(Q_OS_WINCE) && !defined(Q_OS_QNX) \
|| (defined(Q_OS_BLACKBERRY) && !defined(Q_OS_BLACKBERRY_TABLET))
#if !defined(Q_OS_WINCE) && !defined(Q_OS_QNX) || defined(Q_OS_BLACKBERRY)
//update visibility
if (windowMinimized) {
if (!windowHidden) {
@ -7342,7 +7341,7 @@ void tst_QWidget::updateWhileMinimized()
{
if (m_platform == QStringLiteral("wayland"))
QSKIP("Wayland: This fails. Figure out why.");
#if defined(Q_OS_QNX) && (!defined(Q_OS_BLACKBERRY) || defined(Q_OS_BLACKBERRY_TABLET))
#if defined(Q_OS_QNX) && !defined(Q_OS_BLACKBERRY)
QSKIP("Platform does not support showMinimized()");
#endif
UpdateWidget widget;
@ -7897,7 +7896,7 @@ void tst_QWidget::doubleRepaint()
// Minmize: Should not trigger a repaint.
widget.showMinimized();
QTest::qWait(10);
#if defined(Q_OS_QNX) && (!defined(Q_OS_BLACKBERRY) || defined(Q_OS_BLACKBERRY_TABLET))
#if defined(Q_OS_QNX) && !defined(Q_OS_BLACKBERRY)
QEXPECT_FAIL("", "Platform does not support showMinimized()", Continue);
#endif
QCOMPARE(widget.numPaintEvents, 0);