aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorLibravatar keshavbhatt <keshavnrj@gmail.com>2021-04-09 10:25:02 +0530
committerLibravatar keshavbhatt <keshavnrj@gmail.com>2021-04-09 10:25:02 +0530
commit0f80232fff079a0f91765b32a539fe370d3ca84f (patch)
tree3ffcbc9d7357882d8cf9e4a5d962e3e7e8a9fbe6 /src
parenta8dc0f54ab92b0450984ca8929f783fe456ea23b (diff)
downloadwhatsie-0f80232fff079a0f91765b32a539fe370d3ca84f.tar.gz
whatsie-0f80232fff079a0f91765b32a539fe370d3ca84f.zip
spellcheck impl
Diffstat (limited to 'src')
-rw-r--r--src/settingswidget.cpp76
-rw-r--r--src/settingswidget.h9
-rw-r--r--src/settingswidget.ui161
3 files changed, 212 insertions, 34 deletions
diff --git a/src/settingswidget.cpp b/src/settingswidget.cpp
index 4a735b8..fe91502 100644
--- a/src/settingswidget.cpp
+++ b/src/settingswidget.cpp
@@ -2,6 +2,7 @@
#include "ui_settingswidget.h"
#include <QMessageBox>
+#include "mainwindow.h"
extern QString defaultUserAgentStr;
@@ -22,6 +23,7 @@ SettingsWidget::SettingsWidget(QWidget *parent, QString engineCachePath, QString
ui->autoPlayMediaCheckBox->setChecked(settings.value("autoPlayMedia",false).toBool());
ui->themeComboBox->setCurrentText(utils::toCamelCase(settings.value("windowTheme","light").toString()));
ui->userAgentLineEdit->setText(settings.value("useragent",defaultUserAgentStr).toString());
+ ui->enableSpellCheck->setChecked(settings.value("sc_enabled",true).toBool());
this->setCurrentPasswordText("Current Password: <i>"
+QByteArray::fromBase64(settings.value("asdfg").toString().toUtf8())+"</i>");
@@ -36,10 +38,53 @@ SettingsWidget::~SettingsWidget()
delete ui;
}
+void SettingsWidget::loadDictionaries(QStringList dictionaries)
+{
+ // set up supported spellcheck dictionaries
+ QStringList ui_dictionary_names;
+ foreach(QString dictionary_name, dictionaries) {
+ ui_dictionary_names.append(dictionary_name);
+ }
+ ui_dictionary_names.sort();
+ //add to ui
+ ui->dictComboBox->blockSignals(true);
+ foreach(QString dict_name, ui_dictionary_names) {
+ ui->dictComboBox->addItem(dict_name);
+ }
+ ui->dictComboBox->blockSignals(false);
+
+ // load settings for spellcheck dictionary
+ QString dictionary_name = settings.value("sc_dict","en-US").toString();
+ int pos = ui->dictComboBox->findText(dictionary_name);
+ if (pos == -1) {
+ pos = ui->dictComboBox->findText("en-US");
+ if (pos == -1) {
+ pos = 0;
+ }
+ }
+ ui->dictComboBox->setCurrentIndex(pos);
+}
+
void SettingsWidget::refresh()
{
ui->cacheSize->setText(utils::refreshCacheSize(cachePath()));
ui->cookieSize->setText(utils::refreshCacheSize(persistentStoragePath()));
+
+ //update dict settings at runtime
+ // load settings for spellcheck dictionary
+ QString dictionary_name = settings.value("sc_dict","en-US").toString();
+ int pos = ui->dictComboBox->findText(dictionary_name);
+ if (pos == -1) {
+ pos = ui->dictComboBox->findText("en-US");
+ if (pos == -1) {
+ pos = 0;
+ }
+ }
+ ui->dictComboBox->setCurrentIndex(pos);
+
+ //enable disable spell check
+ ui->enableSpellCheck->setChecked(settings.value("sc_enabled",true).toBool());
+
}
void SettingsWidget::updateDefaultUAButton(const QString engineUA)
@@ -212,3 +257,34 @@ void SettingsWidget::on_applock_checkbox_toggled(bool checked)
emit init_lock();
}
}
+
+void SettingsWidget::on_dictComboBox_currentIndexChanged(const QString &arg1)
+{
+ settings.setValue("sc_dict",arg1);
+ emit dictChanged(arg1);
+}
+
+void SettingsWidget::on_enableSpellCheck_toggled(bool checked)
+{
+ settings.setValue("sc_enabled",checked);
+ emit spellCheckChanged(checked);
+}
+
+void SettingsWidget::on_showShortcutsButton_clicked()
+{
+ QWidget *sheet = new QWidget(this);
+ sheet->setWindowTitle(QApplication::applicationName()+" | Global shortcuts");
+ sheet->setWindowFlag(Qt::Sheet);
+
+ QVBoxLayout *layout = new QVBoxLayout(sheet);
+ sheet->setLayout(layout);
+ auto *w = qobject_cast<MainWindow*>(parent());
+ if(w != 0){
+ foreach (QAction *action, w->actions()) {
+ QLabel *label = new QLabel(action->text()+" | "+action->shortcut().toString(),sheet);
+ layout->addWidget(label);
+ }
+ }
+ sheet->setAttribute(Qt::WA_DeleteOnClose);
+ sheet->show();
+}
diff --git a/src/settingswidget.h b/src/settingswidget.h
index 640f294..e126930 100644
--- a/src/settingswidget.h
+++ b/src/settingswidget.h
@@ -22,6 +22,8 @@ signals:
void autoPlayMediaToggled(const bool checked);
void userAgentChanged(QString userAgentStr);
void init_lock();
+ void dictChanged(QString dict);
+ void spellCheckChanged(bool checked);
public:
explicit SettingsWidget(QWidget *parent = nullptr,QString engineCachePath = "",
QString enginePersistentStoragePath = "");
@@ -32,6 +34,7 @@ public slots:
void updateDefaultUAButton(const QString engineUA);
void appLockSetChecked(bool checked);
void setCurrentPasswordText(QString str);
+ void loadDictionaries(QStringList dictionaries);
private slots:
QString cachePath();
QString persistentStoragePath();
@@ -61,6 +64,12 @@ private slots:
void on_applock_checkbox_toggled(bool checked);
+ void on_dictComboBox_currentIndexChanged(const QString &arg1);
+
+ void on_enableSpellCheck_toggled(bool checked);
+
+ void on_showShortcutsButton_clicked();
+
private:
Ui::SettingsWidget *ui;
QString engineCachePath,enginePersistentStoragePath;
diff --git a/src/settingswidget.ui b/src/settingswidget.ui
index 1e8b647..aec1dfe 100644
--- a/src/settingswidget.ui
+++ b/src/settingswidget.ui
@@ -104,64 +104,78 @@ background:transparent;
<string>General settings</string>
</property>
<layout class="QGridLayout" name="gridLayout_4">
- <item row="0" column="0">
- <layout class="QGridLayout" name="gridLayout">
- <item row="0" column="0">
- <widget class="QCheckBox" name="notificationCheckBox">
+ <item row="1" column="0">
+ <layout class="QHBoxLayout" name="horizontalLayout_5">
+ <item>
+ <widget class="QCheckBox" name="enableSpellCheck">
<property name="text">
- <string>Disable Notifications PopUp</string>
+ <string>Enable Spell Checker</string>
</property>
</widget>
</item>
- <item row="1" column="0">
- <widget class="QCheckBox" name="muteAudioCheckBox">
- <property name="text">
- <string>Mute Audio</string>
+ <item>
+ <widget class="Line" name="line">
+ <property name="minimumSize">
+ <size>
+ <width>1</width>
+ <height>0</height>
+ </size>
</property>
- </widget>
- </item>
- <item row="1" column="1">
- <widget class="QCheckBox" name="autoPlayMediaCheckBox">
- <property name="text">
- <string>Disable Auto Playback of Media</string>
+ <property name="maximumSize">
+ <size>
+ <width>1</width>
+ <height>16777215</height>
+ </size>
+ </property>
+ <property name="styleSheet">
+ <string notr="true">background-color: rgba(63, 129, 216, 48);</string>
+ </property>
+ <property name="frameShadow">
+ <enum>QFrame::Raised</enum>
+ </property>
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
</property>
</widget>
</item>
- <item row="0" column="1">
- <widget class="QCheckBox" name="disableVideosCheckBox">
+ <item>
+ <widget class="QLabel" name="label_8">
<property name="text">
- <string>Disable loading videos</string>
+ <string>SpellChecker Language</string>
</property>
</widget>
</item>
+ <item>
+ <widget class="QComboBox" name="dictComboBox"/>
+ </item>
</layout>
</item>
- <item row="5" column="0">
- <layout class="QHBoxLayout" name="horizontalLayout_2">
+ <item row="4" column="0">
+ <layout class="QHBoxLayout" name="horizontalLayout">
<item>
- <widget class="QLabel" name="label_2">
+ <widget class="QLabel" name="label">
<property name="text">
- <string>Theme</string>
+ <string>Close button action</string>
</property>
</widget>
</item>
<item>
- <widget class="QComboBox" name="themeComboBox">
+ <widget class="QComboBox" name="closeButtonActionComboBox">
<item>
<property name="text">
- <string>Dark</string>
+ <string>Minimize to tray</string>
</property>
</item>
<item>
<property name="text">
- <string>Light</string>
+ <string>Quit Application</string>
</property>
</item>
</widget>
</item>
</layout>
</item>
- <item row="6" column="0">
+ <item row="7" column="0">
<layout class="QHBoxLayout" name="horizontalLayout_3">
<item>
<widget class="QLabel" name="label_4">
@@ -197,32 +211,64 @@ background:transparent;
</item>
</layout>
</item>
- <item row="3" column="0">
- <layout class="QHBoxLayout" name="horizontalLayout">
+ <item row="6" column="0">
+ <layout class="QHBoxLayout" name="horizontalLayout_2">
<item>
- <widget class="QLabel" name="label">
+ <widget class="QLabel" name="label_2">
<property name="text">
- <string>Default close button action</string>
+ <string>Theme</string>
</property>
</widget>
</item>
<item>
- <widget class="QComboBox" name="closeButtonActionComboBox">
+ <widget class="QComboBox" name="themeComboBox">
<item>
<property name="text">
- <string>Minimize to tray</string>
+ <string>Dark</string>
</property>
</item>
<item>
<property name="text">
- <string>Quit Application</string>
+ <string>Light</string>
</property>
</item>
</widget>
</item>
</layout>
</item>
- <item row="4" column="0">
+ <item row="0" column="0">
+ <layout class="QGridLayout" name="gridLayout">
+ <item row="0" column="0">
+ <widget class="QCheckBox" name="notificationCheckBox">
+ <property name="text">
+ <string>Disable Notifications PopUp</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QCheckBox" name="muteAudioCheckBox">
+ <property name="text">
+ <string>Mute Audio from Page</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QCheckBox" name="autoPlayMediaCheckBox">
+ <property name="text">
+ <string>Disable Auto Playback of Media</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QCheckBox" name="disableVideosCheckBox">
+ <property name="text">
+ <string>Disable loading videos</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item row="3" column="0">
<layout class="QHBoxLayout" name="horizontalLayout_4">
<property name="topMargin">
<number>0</number>
@@ -246,6 +292,53 @@ background:transparent;
</item>
</layout>
</item>
+ <item row="2" column="0">
+ <widget class="Line" name="line_2">
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>1</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>16777215</width>
+ <height>1</height>
+ </size>
+ </property>
+ <property name="styleSheet">
+ <string notr="true">background-color: rgba(63, 129, 216, 48);</string>
+ </property>
+ <property name="frameShadow">
+ <enum>QFrame::Raised</enum>
+ </property>
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ </widget>
+ </item>
+ <item row="5" column="0">
+ <layout class="QHBoxLayout" name="horizontalLayout_6">
+ <item>
+ <widget class="QLabel" name="label_9">
+ <property name="text">
+ <string>Global App shortcuts</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="showShortcutsButton">
+ <property name="text">
+ <string>Show</string>
+ </property>
+ <property name="icon">
+ <iconset resource="icons.qrc">
+ <normaloff>:/icons/eye-line.png</normaloff>:/icons/eye-line.png</iconset>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
</layout>
</widget>
</item>