mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-26 10:45:37 +08:00
[AFV] Ref T730, request mic.access on MacOS for launcher
* needed to start the mic.access depending applications GUI/core * see https://discordapp.com/channels/539048679160676382/567983892791951374/634806582013591603
This commit is contained in:
@@ -17,6 +17,7 @@
|
|||||||
#include "blackmisc/simulation/fscommon/fscommonutil.h"
|
#include "blackmisc/simulation/fscommon/fscommonutil.h"
|
||||||
#include "blackcore/context/contextnetwork.h"
|
#include "blackcore/context/contextnetwork.h"
|
||||||
#include "blackmisc/network/networkutils.h"
|
#include "blackmisc/network/networkutils.h"
|
||||||
|
#include "blacksound/audioutilities.h"
|
||||||
#include "blackmisc/dbusserver.h"
|
#include "blackmisc/dbusserver.h"
|
||||||
#include "blackmisc/directoryutils.h"
|
#include "blackmisc/directoryutils.h"
|
||||||
#include "blackmisc/icons.h"
|
#include "blackmisc/icons.h"
|
||||||
@@ -43,6 +44,7 @@ using namespace BlackCore;
|
|||||||
using namespace BlackCore::Context;
|
using namespace BlackCore::Context;
|
||||||
using namespace BlackCore::Data;
|
using namespace BlackCore::Data;
|
||||||
using namespace BlackCore::Vatsim;
|
using namespace BlackCore::Vatsim;
|
||||||
|
using namespace BlackSound;
|
||||||
using namespace BlackMisc;
|
using namespace BlackMisc;
|
||||||
using namespace BlackMisc::Db;
|
using namespace BlackMisc::Db;
|
||||||
using namespace BlackMisc::Network;
|
using namespace BlackMisc::Network;
|
||||||
@@ -96,6 +98,7 @@ CSwiftLauncher::CSwiftLauncher(QWidget *parent) :
|
|||||||
{
|
{
|
||||||
if (!sGui || sGui->isShuttingDown() || !myself) { return; }
|
if (!sGui || sGui->isShuttingDown() || !myself) { return; }
|
||||||
this->onCoreModeReleased();
|
this->onCoreModeReleased();
|
||||||
|
this->requestMacMicrophoneAccess();
|
||||||
if (sGui->isInstallerOptionSet()) { myself->startWizard(); }
|
if (sGui->isInstallerOptionSet()) { myself->startWizard(); }
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@@ -579,3 +582,15 @@ void CSwiftLauncher::showSimulatorConfigDirs()
|
|||||||
m_textEditDialog->textEdit()->setText(info);
|
m_textEditDialog->textEdit()->setText(info);
|
||||||
m_textEditDialog->show();
|
m_textEditDialog->show();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void CSwiftLauncher::requestMacMicrophoneAccess()
|
||||||
|
{
|
||||||
|
// needed to be able to start core/GUI which need MIC access
|
||||||
|
// https://discordapp.com/channels/539048679160676382/567983892791951374/634806582013591603
|
||||||
|
#ifdef Q_OS_MAC
|
||||||
|
const CMacOSMicrophoneAccess::AuthorizationStatus status = m_micAccess.getAuthorizationStatus();
|
||||||
|
if (status == CMacOSMicrophoneAccess::Authorized) { return; }
|
||||||
|
m_micAccess.requestAccess();
|
||||||
|
CLogMessage(this).info(u"MacOS requested input device");
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|||||||
@@ -19,6 +19,11 @@
|
|||||||
#include "blackcore/coremodeenums.h"
|
#include "blackcore/coremodeenums.h"
|
||||||
#include "blackmisc/db/artifact.h"
|
#include "blackmisc/db/artifact.h"
|
||||||
#include "blackmisc/identifiable.h"
|
#include "blackmisc/identifiable.h"
|
||||||
|
|
||||||
|
#ifdef Q_OS_MAC
|
||||||
|
#include "blackmisc/macos/microphoneaccess.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
#include <QDialog>
|
#include <QDialog>
|
||||||
#include <QTimer>
|
#include <QTimer>
|
||||||
#include <QScopedPointer>
|
#include <QScopedPointer>
|
||||||
@@ -95,6 +100,9 @@ private:
|
|||||||
QScopedPointer<BlackGui::Components::CConfigurationWizard> m_wizard;
|
QScopedPointer<BlackGui::Components::CConfigurationWizard> m_wizard;
|
||||||
QScopedPointer<BlackGui::Components::CTextEditDialog> m_textEditDialog;
|
QScopedPointer<BlackGui::Components::CTextEditDialog> m_textEditDialog;
|
||||||
BlackMisc::CData<BlackCore::Data::TLauncherSetup> m_setup { this }; //!< setup, i.e. last user selection
|
BlackMisc::CData<BlackCore::Data::TLauncherSetup> m_setup { this }; //!< setup, i.e. last user selection
|
||||||
|
#ifdef Q_OS_MAC
|
||||||
|
BlackMisc::CMacOSMicrophoneAccess m_micAccess;
|
||||||
|
#endif
|
||||||
|
|
||||||
QString m_executable;
|
QString m_executable;
|
||||||
QStringList m_executableArgs;
|
QStringList m_executableArgs;
|
||||||
@@ -200,6 +208,9 @@ private:
|
|||||||
//! Show the FSX/P3D config simulator directories
|
//! Show the FSX/P3D config simulator directories
|
||||||
void showSimulatorConfigDirs();
|
void showSimulatorConfigDirs();
|
||||||
|
|
||||||
|
//! Request MacOS microphone request
|
||||||
|
void requestMacMicrophoneAccess();
|
||||||
|
|
||||||
//! Command line
|
//! Command line
|
||||||
static QString toCmdLine(const QString &exe, const QStringList &exeArgs);
|
static QString toCmdLine(const QString &exe, const QStringList &exeArgs);
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
load(common_pre)
|
load(common_pre)
|
||||||
|
|
||||||
QT += core dbus network widgets
|
QT += core dbus network widgets multimedia
|
||||||
|
|
||||||
TARGET = swiftlauncher
|
TARGET = swiftlauncher
|
||||||
TEMPLATE = app
|
TEMPLATE = app
|
||||||
|
|||||||
Reference in New Issue
Block a user