aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/main.cpp10
-rw-r--r--src/mainwindow.cpp34
-rw-r--r--src/mainwindow.h2
-rw-r--r--src/settingswidget.cpp3
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)