mirror of
https://github.com/subsurface/subsurface.git
synced 2024-11-28 05:00:20 +00:00
Only enable Bluetooth support if building against Qt5.4 or newer
Also remove the quick hack from commit 947fda14c5
("Bluetooth support:
quick build fix for Qt5.2"). I should have thought this through before
pushing that commit, but oh well.
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
parent
947fda14c5
commit
43798702ff
4 changed files with 34 additions and 6 deletions
|
@ -19,6 +19,7 @@ option(USE_LIBGIT23_API "allow building with libgit2 master" OFF)
|
|||
option(FORCE_LIBSSH "force linking with libssh to workaround libgit2 bug" ON)
|
||||
option(SUBSURFACE_MOBILE "build the QtQuick version for mobile device" OFF)
|
||||
option(FBSUPPORT "allow posting to Facebook" ON)
|
||||
option(BTSUPPORT "enable support for QtBluetooth (requires Qt5.4 or newer)" ON)
|
||||
|
||||
set(CMAKE_MODULE_PATH
|
||||
${CMAKE_MODULE_PATH}
|
||||
|
@ -177,6 +178,11 @@ find_package(Qt5 REQUIRED COMPONENTS Core Concurrent Widgets Network ${WEBKIT_PK
|
|||
set(QT_LIBRARIES Qt5::Core Qt5::Concurrent Qt5::Widgets Qt5::Network ${WEBKIT_LIB} ${PRINTING_LIB} Qt5::Svg ${QT_QUICK_LIB} ${ANDROID_LIB} Qt5::Bluetooth)
|
||||
set(QT_TEST_LIBRARIES ${QT_LIBRARIES} Qt5::Test)
|
||||
|
||||
if ("${Qt5Core_VERSION_STRING}" STRLESS "5.4.0")
|
||||
set(BTSUPPORT OFF)
|
||||
message(STATUS "Turning off Bluetooth support as Qt version ${Qt5Core_VERSION_STRING} is insufficiant for that")
|
||||
endif()
|
||||
|
||||
# Generate the ssrf-config.h every 'make'
|
||||
file(WRITE ${CMAKE_BINARY_DIR}/version.h.in
|
||||
"#define VERSION_STRING \"@VERSION_STRING@\"
|
||||
|
@ -331,6 +337,11 @@ if(FBSUPPORT)
|
|||
set(SOCIALNETWORKS qt-ui/socialnetworks.cpp)
|
||||
endif()
|
||||
|
||||
if(BTSUPPORT)
|
||||
add_definitions(-DBT_SUPPORT)
|
||||
set(BT_SRC_FILES qt-ui/btdeviceselectiondialog.cpp)
|
||||
endif()
|
||||
|
||||
# the data models that will interface
|
||||
# with the views.
|
||||
set(SUBSURFACE_MODELS_LIB_SRCS
|
||||
|
@ -360,7 +371,6 @@ source_group("Subsurface Models" FILES ${SUBSURFACE_MODELS})
|
|||
set(SUBSURFACE_INTERFACE
|
||||
qt-ui/updatemanager.cpp
|
||||
qt-ui/about.cpp
|
||||
qt-ui/btdeviceselectiondialog.cpp
|
||||
qt-ui/divecomputermanagementdialog.cpp
|
||||
qt-ui/divelistview.cpp
|
||||
qt-ui/diveplanner.cpp
|
||||
|
@ -392,6 +402,7 @@ set(SUBSURFACE_INTERFACE
|
|||
qt-ui/qtwaitingspinner.cpp
|
||||
${SUBSURFACE_PRINTING_SRCS}
|
||||
${SOCIALNETWORKS}
|
||||
${BT_SRC_FILES}
|
||||
)
|
||||
source_group("Subsurface Interface" FILES ${SUBSURFACE_INTERFACE})
|
||||
|
||||
|
|
|
@ -362,7 +362,6 @@ void BtDeviceSelectionDialog::initializeDeviceDiscoveryAgent()
|
|||
// Intialize the discovery agent
|
||||
remoteDeviceDiscoveryAgent = new QBluetoothDeviceDiscoveryAgent(localDevice->address());
|
||||
|
||||
#if QT_VERSION >= 0x050300
|
||||
// Test if the discovery agent was successfully created
|
||||
if (remoteDeviceDiscoveryAgent->error() == QBluetoothDeviceDiscoveryAgent::InvalidBluetoothAdapterError) {
|
||||
ui->dialogStatus->setText(QString("The device discovery agent was not created because the %1 address does not "
|
||||
|
@ -372,7 +371,6 @@ void BtDeviceSelectionDialog::initializeDeviceDiscoveryAgent()
|
|||
ui->clear->setEnabled(false);
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
|
||||
connect(remoteDeviceDiscoveryAgent, SIGNAL(deviceDiscovered(QBluetoothDeviceInfo)),
|
||||
this, SLOT(addRemoteDevice(QBluetoothDeviceInfo)));
|
||||
|
|
|
@ -100,10 +100,15 @@ DownloadFromDCWidget::DownloadFromDCWidget(QWidget *parent, Qt::WindowFlags f) :
|
|||
ui.downloadCancelRetryButton->setEnabled(true);
|
||||
ui.downloadCancelRetryButton->setText(tr("Download"));
|
||||
|
||||
#if defined(BT_SUPPORT)
|
||||
btDeviceSelectionDialog = 0;
|
||||
ui.chooseBluetoothDevice->setEnabled(ui.bluetoothMode->isChecked());
|
||||
connect(ui.bluetoothMode, SIGNAL(stateChanged(int)), this, SLOT(enableBluetoothMode(int)));
|
||||
connect(ui.chooseBluetoothDevice, SIGNAL(clicked()), this, SLOT(selectRemoteBluetoothDevice()));
|
||||
#else
|
||||
ui.bluetoothMode->hide();
|
||||
ui.chooseBluetoothDevice->hide();
|
||||
#endif
|
||||
}
|
||||
|
||||
void DownloadFromDCWidget::updateProgressBar()
|
||||
|
@ -313,11 +318,15 @@ void DownloadFromDCWidget::on_downloadCancelRetryButton_clicked()
|
|||
|
||||
data.vendor = strdup(ui.vendor->currentText().toUtf8().data());
|
||||
data.product = strdup(ui.product->currentText().toUtf8().data());
|
||||
#if defined(BT_SUPPORT)
|
||||
data.bluetooth_mode = ui.bluetoothMode->isChecked();
|
||||
if (data.bluetooth_mode) {
|
||||
// Get the selected device address
|
||||
data.devname = strdup(btDeviceSelectionDialog->getSelectedDeviceAddress().toUtf8().data());
|
||||
} else if (same_string(data.vendor, "Uemis")) {
|
||||
} else
|
||||
// this breaks an "else if" across lines... not happy...
|
||||
#endif
|
||||
if (same_string(data.vendor, "Uemis")) {
|
||||
char *colon;
|
||||
char *devname = strdup(ui.device->currentText().toUtf8().data());
|
||||
|
||||
|
@ -523,10 +532,13 @@ void DownloadFromDCWidget::markChildrenAsEnabled()
|
|||
ui.chooseDumpFile->setEnabled(true);
|
||||
ui.selectAllButton->setEnabled(true);
|
||||
ui.unselectAllButton->setEnabled(true);
|
||||
#if defined(BT_SUPPORT)
|
||||
ui.bluetoothMode->setEnabled(true);
|
||||
ui.chooseBluetoothDevice->setEnabled(true);
|
||||
#endif
|
||||
}
|
||||
|
||||
#if defined(BT_SUPPORT)
|
||||
void DownloadFromDCWidget::selectRemoteBluetoothDevice()
|
||||
{
|
||||
if (!btDeviceSelectionDialog) {
|
||||
|
@ -555,6 +567,7 @@ void DownloadFromDCWidget::enableBluetoothMode(int state)
|
|||
if (state == Qt::Checked)
|
||||
selectRemoteBluetoothDevice();
|
||||
}
|
||||
#endif
|
||||
|
||||
static void fillDeviceList(const char *name, void *data)
|
||||
{
|
||||
|
|
|
@ -10,7 +10,10 @@
|
|||
#include "libdivecomputer.h"
|
||||
#include "configuredivecomputerdialog.h"
|
||||
#include "ui_downloadfromdivecomputer.h"
|
||||
|
||||
#if defined(BT_SUPPORT)
|
||||
#include "btdeviceselectiondialog.h"
|
||||
#endif
|
||||
|
||||
class QStringListModel;
|
||||
|
||||
|
@ -78,12 +81,13 @@ slots:
|
|||
void updateProgressBar();
|
||||
void checkLogFile(int state);
|
||||
void checkDumpFile(int state);
|
||||
void enableBluetoothMode(int state);
|
||||
void pickDumpFile();
|
||||
void pickLogFile();
|
||||
#if defined(BT_SUPPORT)
|
||||
void enableBluetoothMode(int state);
|
||||
void selectRemoteBluetoothDevice();
|
||||
void bluetoothSelectionDialogIsFinished(int result);
|
||||
|
||||
#endif
|
||||
private:
|
||||
void markChildrenAsDisabled();
|
||||
void markChildrenAsEnabled();
|
||||
|
@ -108,7 +112,9 @@ private:
|
|||
bool dumpWarningShown;
|
||||
OstcFirmwareCheck *ostcFirmwareCheck;
|
||||
DiveImportedModel *diveImportedModel;
|
||||
#if defined(BT_SUPPORT)
|
||||
BtDeviceSelectionDialog *btDeviceSelectionDialog;
|
||||
#endif
|
||||
|
||||
public:
|
||||
bool preferDownloaded();
|
||||
|
|
Loading…
Reference in a new issue