From 12f4214e6a3614bd787fc6027fb9025b15df34b1 Mon Sep 17 00:00:00 2001 From: Keshav Bhatt Date: Mon, 31 May 2021 00:25:27 +0530 Subject: Added support for Opening whatsapp deeplinks --- src/main.cpp | 6 +++--- src/mainwindow.cpp | 34 ++++++++++++++++++++++++++++++++-- 2 files changed, 35 insertions(+), 5 deletions(-) (limited to 'src') diff --git a/src/main.cpp b/src/main.cpp index ebb0623..679b18e 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -51,9 +51,9 @@ int main(int argc, char *argv[]) QStringList argsList = app.arguments(); qWarning()<<"Launching with argument"< #include #include +#include #include extern QString defaultUserAgentStr; @@ -75,8 +76,37 @@ MainWindow::MainWindow(QWidget *parent) void MainWindow::loadAppWithArgument(const QString arg) { - qWarning()<<"Opening"<webEngine->page()->load(QUrl(arg)); + //https://faq.whatsapp.com/iphone/how-to-link-to-whatsapp-from-a-different-app/?lang=en + + //The WhatsApp Messenger application + if(arg.contains("://app")){ + qWarning()<<"WhatsApp Messenger application"; + this->show(); //restore app + return; + } + //PASSED SCHEME whatsapp://send?text=Hello%2C%20World!&phone=919568388397" + //CONVERTED URI https://web.whatsapp.com/send?phone=919568388397&text=Hello%2C%20World + //New chat composer + if(arg.contains("send?") || arg.contains("send/?")) + { + QString newArg = arg; + qWarning()<<"New chat composer"; + newArg = newArg.replace("?","&"); + QUrlQuery query(newArg); + qWarning()<webEngine->page()->load(QUrl(urlStr)); + return; + } } void MainWindow::updatePageTheme() -- cgit v1.2.3