mirror of
				https://github.com/subsurface/subsurface.git
				synced 2025-02-19 22:16:15 +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…
	
	Add table
		Add a link
		
	
		Reference in a new issue