You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
86 lines
2.5 KiB
86 lines
2.5 KiB
#include <QPixmap>
|
|
#include <QMessageBox>
|
|
#include <QDesktopServices>
|
|
#include <QCoreApplication>
|
|
#include <QSystemTrayIcon>
|
|
#include <QQmlContext>
|
|
#include <QMessageBox>
|
|
#include <QGroupBox>
|
|
#include <QFileDialog>
|
|
|
|
#include "settings.h"
|
|
#include "config-conversations.h"
|
|
#include "lib/globals.h"
|
|
|
|
#include "ui_settings.h"
|
|
|
|
Settings * Settings::pSettings = nullptr;
|
|
|
|
Settings::Settings(Conversations *ctx, QWidget *parent) :
|
|
QMainWindow(parent),
|
|
ui(new Ui::Settings),
|
|
m_ctx(ctx) {
|
|
pSettings = this;
|
|
ui->setupUi(this);
|
|
|
|
#ifdef MAEMO
|
|
setProperty("X-Maemo-StackedWindow", 1);
|
|
setProperty("X-Maemo-Orientation", 2);
|
|
#endif
|
|
QPixmap p_theme_whatsthat(":whatsthat/whatsthat.png");
|
|
QPixmap p_theme_chatty(":chatty/chatty.png");
|
|
|
|
ui->label_chatty_img->setPixmap(p_theme_chatty);
|
|
ui->label_whatsthat_img->setPixmap(p_theme_whatsthat);
|
|
|
|
auto theme = config()->get(ConfigKeys::ChatTheme).toString();
|
|
if(theme == "chatty")
|
|
ui->radio_theme_chatty->setChecked(true);
|
|
else
|
|
ui->radio_theme_whatsthat->setChecked(true);
|
|
|
|
connect(ui->themeRadioGroup, QOverload<QAbstractButton *>::of(&QButtonGroup::buttonClicked), [=](QAbstractButton *button) {
|
|
auto name = button->objectName();
|
|
if(name == "radio_theme_whatsthat") {
|
|
config()->set(ConfigKeys::ChatTheme, "whatsthat");
|
|
} else if(name == "radio_theme_chatty") {
|
|
config()->set(ConfigKeys::ChatTheme, "chatty");
|
|
}
|
|
});
|
|
|
|
// text scaling
|
|
float textScaling = config()->get(ConfigKeys::TextScaling).toFloat();
|
|
if(textScaling < 1) textScaling = 1;
|
|
auto scaling = 100*(textScaling-1);
|
|
ui->label_textScalingValue->setText("x" + QString::number(textScaling));
|
|
ui->sliderTextScaling->setValue(scaling);
|
|
connect(ui->sliderTextScaling, &QSlider::valueChanged, this, &Settings::onTextScalingValueChanged);
|
|
emit textScalingChanged();
|
|
|
|
//connect(this->ui->btnSend, &QPushButton::clicked, this, &Settings::onGatherMessage);
|
|
}
|
|
|
|
void Settings::onTextScalingValueChanged(int val) {
|
|
float scaling;
|
|
if(val == 0) scaling = 1.0;
|
|
else if(val <= 25) scaling = 1.25;
|
|
else if(val <= 50) scaling = 1.50;
|
|
else if(val <= 75) scaling = 1.75;
|
|
else if(val <= 100) scaling = 2.0;
|
|
ui->label_textScalingValue->setText("x" + QString::number(scaling));
|
|
config()->set(ConfigKeys::TextScaling, scaling);
|
|
emit textScalingChanged();
|
|
}
|
|
|
|
Conversations *Settings::getContext(){
|
|
return pSettings->m_ctx;
|
|
}
|
|
|
|
void Settings::closeEvent(QCloseEvent *event) {
|
|
QWidget::closeEvent(event);
|
|
}
|
|
|
|
Settings::~Settings() {
|
|
delete ui;
|
|
}
|