diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/main.cpp | 10 | ||||
-rw-r--r-- | src/mainwindow.cpp | 34 | ||||
-rw-r--r-- | src/mainwindow.h | 2 | ||||
-rw-r--r-- | src/settingswidget.cpp | 3 |
4 files changed, 34 insertions, 15 deletions
diff --git a/src/main.cpp b/src/main.cpp index 0a93f8e..ebb0623 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -16,7 +16,6 @@ int main(int argc, char *argv[]) { QApplication app(argc, argv); app.setWindowIcon(QIcon(":/icons/app/icon-256.png")); - //argv[argc++] = "--single-process"; QApplication::setAttribute(Qt::AA_EnableHighDpiScaling); static const char ENV_VAR_QT_DEVICE_PIXEL_RATIO[] = "QT_DEVICE_PIXEL_RATIO"; @@ -48,6 +47,15 @@ int main(int argc, char *argv[]) QWebEngineSettings::defaultSettings()->setAttribute(QWebEngineSettings::FullScreenSupportEnabled, true); MainWindow window; + + QStringList argsList = app.arguments(); + qWarning()<<"Launching with argument"<<argsList; + foreach (QString argStr, argsList) { + if(argStr.contains("http")){ + qWarning()<<"Link passed as argument"; + window.loadAppWithArgument(argsList.last()); + } + } window.show(); return app.exec(); diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index d63b1d4..9219d6f 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -23,7 +23,7 @@ MainWindow::MainWindow(QWidget *parent) setWindowTitle(QApplication::applicationName()); setWindowIcon(QIcon(":/icons/app/icon-256.png")); - setMinimumWidth(800); + setMinimumWidth(500); setMinimumHeight(600); restoreGeometry(settings.value("geometry").toByteArray()); @@ -73,6 +73,12 @@ MainWindow::MainWindow(QWidget *parent) }); } +void MainWindow::loadAppWithArgument(const QString arg) +{ + qWarning()<<"Opening"<<arg; + this->webEngine->page()->load(QUrl(arg)); +} + void MainWindow::updatePageTheme() { QString webPageTheme = "web"; //implies light @@ -315,11 +321,10 @@ void MainWindow::closeEvent(QCloseEvent *event) { settings.setValue("geometry", saveGeometry()); settings.setValue("windowState", saveState()); - -// getPageTheme(); -// QTimer::singleShot(500,[=](){ -// qWarning()<<"THEME"<<settings.value("windowTheme").toString(); -// }); + getPageTheme(); + QTimer::singleShot(500,[=](){ + settingsWidget->refresh(); + }); if(QSystemTrayIcon::isSystemTrayAvailable() && settings.value("closeButtonActionCombo",0).toInt() == 0){ this->hide(); @@ -423,7 +428,7 @@ void MainWindow::createActions() void MainWindow::quitApp() { getPageTheme(); - QTimer::singleShot(800,[=](){ + QTimer::singleShot(500,[=](){ qWarning()<<"THEME"<<settings.value("windowTheme").toString(); qApp->quit(); }); @@ -439,6 +444,7 @@ void MainWindow::createTrayIcon() trayIconMenu->addAction(reloadAction); trayIconMenu->addAction(lockAction); trayIconMenu->addSeparator(); + trayIconMenu->addAction(openUrlAction); trayIconMenu->addAction(settingsAction); trayIconMenu->addAction(aboutAction); trayIconMenu->addSeparator(); @@ -843,20 +849,20 @@ void MainWindow::newChat() { bool ok; QString text = QInputDialog::getText(this, tr("New Chat"), - tr("Enter a valid WhatsApp number you want to chat with."), QLineEdit::Normal, + tr("Enter a valid WhatsApp number with country code (ex- +91XXXXXXXXXX)"), QLineEdit::Normal, "",&ok); - if (ok && isPhoneNumber(text)){ - qWarning()<<"Opening new Chat with"<<text; - this->webEngine->page()->load(QUrl("https://web.whatsapp.com/send?phone="+text)); - }else{ - QMessageBox::information(this,QApplication::applicationName()+"| Error", + if (ok){ + if(isPhoneNumber(text)) + this->webEngine->page()->load(QUrl("https://web.whatsapp.com/send?phone="+text)); + else + QMessageBox::information(this,QApplication::applicationName()+"| Error", "Invalid Phone Number"); } } bool MainWindow::isPhoneNumber(const QString phoneNumber) { - const QString phone = "^((\\+?(\\d{2}))\\s?)?((\\d{2})|(\\((\\d{2})\\))\\s?)?(\\d{3,15})(\\-(\\d{3,15}))?$"; + const QString phone = "^\\+(((\\d{2}))\\s?)?((\\d{2})|(\\((\\d{2})\\))\\s?)?(\\d{3,15})(\\-(\\d{3,15}))?$"; QRegularExpression reg(phone); return reg.match(phoneNumber).hasMatch(); } diff --git a/src/mainwindow.h b/src/mainwindow.h index a78bea0..f5c51b2 100644 --- a/src/mainwindow.h +++ b/src/mainwindow.h @@ -50,6 +50,8 @@ public slots: void handleWebViewTitleChanged(QString title); void handleLoadFinished(bool loaded); void handleDownloadRequested(QWebEngineDownloadItem *download); + void loadAppWithArgument(const QString arg); + protected slots: void closeEvent(QCloseEvent *event) override; diff --git a/src/settingswidget.cpp b/src/settingswidget.cpp index 9d4904a..2750e4d 100644 --- a/src/settingswidget.cpp +++ b/src/settingswidget.cpp @@ -147,6 +147,8 @@ void SettingsWidget::loadDictionaries(QStringList dictionaries) void SettingsWidget::refresh() { + ui->themeComboBox->setCurrentText(utils::toCamelCase(settings.value("windowTheme","light").toString())); + ui->cacheSize->setText(utils::refreshCacheSize(cachePath())); ui->cookieSize->setText(utils::refreshCacheSize(persistentStoragePath())); @@ -165,6 +167,7 @@ void SettingsWidget::refresh() //enable disable spell check ui->enableSpellCheck->setChecked(settings.value("sc_enabled",true).toBool()); + } void SettingsWidget::updateDefaultUAButton(const QString engineUA) |