implement automatic versioning

This commit is contained in:
Malte Jürgens
2022-07-28 17:34:54 +02:00
parent 8fc529102c
commit 204439af94
7 changed files with 195 additions and 6 deletions

View File

@@ -17,6 +17,11 @@ DiscordPage::DiscordPage(QWidget *parent) : QWebEnginePage(parent) {
connect(this, &QWebEnginePage::featurePermissionRequested, this,
&DiscordPage::featurePermissionRequested);
connect(this, &QWebEnginePage::loadStarted, [=]() {
runJavaScript(QString("window.discordScreenaudioVersion = '%1';")
.arg(QApplication::applicationVersion()));
});
settings()->setAttribute(QWebEngineSettings::ScreenCaptureEnabled, true);
settings()->setAttribute(QWebEngineSettings::JavascriptCanOpenWindows, true);
settings()->setAttribute(QWebEngineSettings::AllowRunningInsecureContent,
@@ -31,6 +36,7 @@ DiscordPage::DiscordPage(QWidget *parent) : QWebEnginePage(parent) {
setUrl(QUrl("https://discord.com/app"));
injectScript(":/assets/userscript.js");
injectVersion(QApplication::applicationVersion());
connect(&m_streamDialog, &StreamDialog::requestedStreamStart, this,
&DiscordPage::startStream);
@@ -59,6 +65,20 @@ void DiscordPage::injectScript(QString source) {
}
}
void DiscordPage::injectVersion(QString version) {
QWebEngineScript script;
auto code = QString("window.discordScreenaudioVersion = '%1';").arg(version);
script.setSourceCode(code);
script.setName("version.js");
script.setWorldId(QWebEngineScript::MainWorld);
script.setInjectionPoint(QWebEngineScript::DocumentCreation);
script.setRunsOnSubFrames(false);
scripts().insert(script);
}
void DiscordPage::featurePermissionRequested(const QUrl &securityOrigin,
QWebEnginePage::Feature feature) {
// Allow every permission asked
@@ -78,7 +98,6 @@ void DiscordPage::featurePermissionRequested(const QUrl &securityOrigin,
bool DiscordPage::acceptNavigationRequest(const QUrl &url,
QWebEnginePage::NavigationType type,
bool isMainFrame) {
qDebug() << url;
if (type == QWebEnginePage::NavigationTypeLinkClicked) {
QDesktopServices::openUrl(url);
return false;

View File

@@ -25,6 +25,7 @@ private:
const QString &message, int lineNumber,
const QString &sourceID) override;
void injectScript(QString source);
void injectVersion(QString version);
void stopVirtmic();
void startVirtmic(QString target);

View File

@@ -7,7 +7,7 @@
int main(int argc, char *argv[]) {
QApplication app(argc, argv);
QApplication::setApplicationName("discord-screenaudio");
QApplication::setApplicationVersion("1.0.0-rc.11");
QApplication::setApplicationVersion(DISCORD_SCEENAUDIO_VERSION_FULL);
QCommandLineParser parser;
parser.setApplicationDescription(