configure_file("${CMAKE_SOURCE_DIR}/contrib/installers/windows/setup.nsi.in" "${CMAKE_SOURCE_DIR}/contrib/installers/windows/setup.nsi" @ONLY)
-if(APPLE)
- configure_file(${CMAKE_SOURCE_DIR}/contrib/macdeploy/Info.plist.in ${CMAKE_SOURCE_DIR}/contrib/macdeploy/Info.plist @ONLY)
-
- set_target_properties(feather PROPERTIES
- RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin"
- MACOSX_BUNDLE TRUE
- MACOSX_BUNDLE_INFO_PLIST "${CMAKE_SOURCE_DIR}/contrib/macdeploy/Info.plist"
- LINK_FLAGS_RELEASE -s
- )
-
- file(COPY "${CMAKE_SOURCE_DIR}/src/assets/images/appicons/appicon.icns" DESTINATION "${CMAKE_SOURCE_DIR}/installed/feather.app/Contents/Resources/" )
-endif()
-
#### Summary ####
message("\n")
target_link_directories(feather PRIVATE "${LIB_DIR}")
endif()
-target_link_libraries(feather
+target_link_libraries(feather PRIVATE
wallet_merged
${LMDB_LIBRARY}
epee
)
if(CHECK_UPDATES)
- target_link_libraries(feather openpgp)
+ target_link_libraries(feather PRIVATE openpgp)
endif()
if(DEPENDS)
- target_link_libraries(feather ${ICONV_LIBRARIES})
+ target_link_libraries(feather PRIVATE ${ICONV_LIBRARIES})
endif()
if(DEVICE_TREZOR_READY)
- target_link_libraries(feather ${TREZOR_DEP_LIBS})
+ target_link_libraries(feather PRIVATE ${TREZOR_DEP_LIBS})
endif()
if (WITH_SCANNER)
- target_link_libraries(feather
+ target_link_libraries(feather PRIVATE
Qt::Multimedia
Qt::MultimediaWidgets
${ZXING_LIBRARIES}
endif()
if(STATIC AND APPLE)
- target_link_libraries(feather Qt6::QDarwinCameraPermissionPlugin)
+ target_link_libraries(feather PRIVATE Qt6::QDarwinCameraPermissionPlugin)
endif()
if(STATIC AND UNIX AND NOT APPLE)
- target_link_libraries(feather Qt6::QComposePlatformInputContextPlugin)
+ target_link_libraries(feather PRIVATE Qt6::QComposePlatformInputContextPlugin)
endif()
if(DEPENDS AND APPLE)
# TODO: Needed for ___isOSVersionAtLeast
- target_link_libraries(feather
+ target_link_libraries(feather PRIVATE
${CMAKE_OSX_SYSROOT}/lib/darwin/libclang_rt.osx.a)
endif()
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/assets/feather.desktop DESTINATION ${CMAKE_INSTALL_PREFIX}/share/applications)
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/assets/images/appicons/256x256.png DESTINATION ${CMAKE_INSTALL_PREFIX}/share/icons/hicolor/256x256/apps RENAME "feather.png")
endif()
-endif()
\ No newline at end of file
+endif()
+
+if(APPLE)
+ configure_file(${CMAKE_SOURCE_DIR}/contrib/macdeploy/Info.plist.in ${CMAKE_SOURCE_DIR}/contrib/macdeploy/Info.plist @ONLY)
+
+ set_target_properties(feather PROPERTIES
+ RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin"
+ MACOSX_BUNDLE TRUE
+ MACOSX_BUNDLE_INFO_PLIST "${CMAKE_SOURCE_DIR}/contrib/macdeploy/Info.plist"
+ LINK_FLAGS_RELEASE -s
+ )
+
+ file(COPY "${CMAKE_SOURCE_DIR}/src/assets/images/appicons/appicon.icns" DESTINATION "${CMAKE_SOURCE_DIR}/installed/feather.app/Contents/Resources/" )
+endif()
+
+qt_finalize_executable(feather)
\ No newline at end of file
ui->progressBar_UR->setVisible(m_scan_ur);
ui->progressBar_UR->setFormat("Progress: %v%");
- if (!getPermission()) {
- ui->frame_error->setText("No permission to start camera.");
- ui->frame_error->show();
- return;
+ QCameraPermission cameraPermission;
+ switch (qApp->checkPermission(cameraPermission)) {
+ case Qt::PermissionStatus::Undetermined:
+ qDebug() << "Camera permission undetermined";
+ qApp->requestPermission(cameraPermission, [this] {
+ startCapture(m_scan_ur);
+ });
+ return;
+ case Qt::PermissionStatus::Denied:
+ ui->frame_error->setText("No permission to start camera.");
+ ui->frame_error->show();
+ return;
+ case Qt::PermissionStatus::Granted:
+ qDebug() << "Camera permission granted";
+ break;
}
if (ui->combo_camera->count() < 1) {
}
}
-bool QrCodeScanWidget::getPermission() {
- QCameraPermission cameraPermission;
- switch (qApp->checkPermission(cameraPermission)) {
- case Qt::PermissionStatus::Undetermined:
- qApp->requestPermission(cameraPermission, this,
- &QrCodeScanWidget::getPermission);
- return false;
- case Qt::PermissionStatus::Denied:
- return false;
- case Qt::PermissionStatus::Granted:
- return true;
- }
-}
-
void QrCodeScanWidget::reset() {
this->decodedString = "";
m_done = false;
void refreshCameraList();
QImage videoFrameToImage(const QVideoFrame &videoFrame);
void handleFrameCaptured(const QVideoFrame &videoFrame);
- bool getPermission();
QScopedPointer<Ui::QrCodeScanWidget> ui;