This commit is contained in:
Martin Rotter 2016-04-03 08:49:14 +02:00
parent e9b7961732
commit 9e7f6ed5dc
8 changed files with 67 additions and 31 deletions

View File

@ -8,6 +8,7 @@ Main:
Added: Added:
▪ Message preview's font is now fully adjustable in settings. (issue #177)
▪ RSS Guard now automatically switches to SQLite backend if MySQL is not available on program startup. ▪ RSS Guard now automatically switches to SQLite backend if MySQL is not available on program startup.
▪ Newspaper view now allows marking individual messages read/unread/starred/unstarred. ▪ Newspaper view now allows marking individual messages read/unread/starred/unstarred.
▪ Added experimental support for tweakable statusbar. (issue #158) ▪ Added experimental support for tweakable statusbar. (issue #158)

View File

@ -48,6 +48,7 @@
#include <QColorDialog> #include <QColorDialog>
#include <QFileDialog> #include <QFileDialog>
#include <QKeyEvent> #include <QKeyEvent>
#include <QFontDialog>
#include <QDir> #include <QDir>
@ -118,6 +119,7 @@ FormSettings::FormSettings(QWidget *parent) : QDialog(parent), m_ui(new Ui::Form
connect(m_ui->m_cmbDatabaseDriver, SIGNAL(currentIndexChanged(int)), this, SLOT(selectSqlBackend(int))); connect(m_ui->m_cmbDatabaseDriver, SIGNAL(currentIndexChanged(int)), this, SLOT(selectSqlBackend(int)));
connect(m_ui->m_btnDownloadsTargetDirectory, SIGNAL(clicked()), this, SLOT(selectDownloadsDirectory())); connect(m_ui->m_btnDownloadsTargetDirectory, SIGNAL(clicked()), this, SLOT(selectDownloadsDirectory()));
connect(m_ui->m_checkMysqlShowPassword, SIGNAL(toggled(bool)), this, SLOT(switchMysqlPasswordVisiblity(bool))); connect(m_ui->m_checkMysqlShowPassword, SIGNAL(toggled(bool)), this, SLOT(switchMysqlPasswordVisiblity(bool)));
connect(m_ui->m_btnChangeMessagesFont, SIGNAL(clicked()), this, SLOT(changeMessagesFont()));
connect(m_ui->m_checkEnableNotifications, &QCheckBox::toggled, [=](bool checked) { connect(m_ui->m_checkEnableNotifications, &QCheckBox::toggled, [=](bool checked) {
if (!checked) { if (!checked) {
@ -242,8 +244,12 @@ void FormSettings::loadFeedsMessages() {
m_ui->m_cmbMessagesDateTimeFormat->setCurrentIndex(index_format); m_ui->m_cmbMessagesDateTimeFormat->setCurrentIndex(index_format);
} }
m_ui->m_cmbMessageFontStandard->setCurrentIndex(m_ui->m_cmbMessageFontStandard->findText(m_settings->value(GROUP(Messages), m_ui->m_lblMessagesFont->setText(tr("Font preview"));
SETTING(Messages::PreviewerFontStandard)).toString())); QFont fon;
fon.fromString(m_settings->value(GROUP(Messages),
SETTING(Messages::PreviewerFontStandard)).toString());
m_ui->m_lblMessagesFont->setFont(fon);
} }
void FormSettings::initializeMessageDateFormats() { void FormSettings::initializeMessageDateFormats() {
@ -258,6 +264,17 @@ void FormSettings::initializeMessageDateFormats() {
} }
} }
void FormSettings::changeMessagesFont() {
bool ok;
QFont new_font = QFontDialog::getFont(&ok, m_ui->m_lblMessagesFont->font(),
this, tr("Select new font for message viewer"),
QFontDialog::DontUseNativeDialog);
if (ok) {
m_ui->m_lblMessagesFont->setFont(new_font);
}
}
void FormSettings::saveFeedsMessages() { void FormSettings::saveFeedsMessages() {
m_settings->setValue(GROUP(Messages), Messages::KeepCursorInCenter, m_ui->m_checkKeppMessagesInTheMiddle->isChecked()); m_settings->setValue(GROUP(Messages), Messages::KeepCursorInCenter, m_ui->m_checkKeppMessagesInTheMiddle->isChecked());
m_settings->setValue(GROUP(Messages), Messages::ClearReadOnExit, m_ui->m_checkRemoveReadMessagesOnExit->isChecked()); m_settings->setValue(GROUP(Messages), Messages::ClearReadOnExit, m_ui->m_checkRemoveReadMessagesOnExit->isChecked());
@ -271,7 +288,7 @@ void FormSettings::saveFeedsMessages() {
m_ui->m_cmbMessagesDateTimeFormat->itemData(m_ui->m_cmbMessagesDateTimeFormat->currentIndex()).toString()); m_ui->m_cmbMessagesDateTimeFormat->itemData(m_ui->m_cmbMessagesDateTimeFormat->currentIndex()).toString());
// Save fonts. // Save fonts.
m_settings->setValue(GROUP(Messages), Messages::PreviewerFontStandard, m_ui->m_cmbMessageFontStandard->currentFont().family()); m_settings->setValue(GROUP(Messages), Messages::PreviewerFontStandard, m_ui->m_lblMessagesFont->font().toString());
qApp->mainForm()->tabWidget()->feedMessageViewer()->loadMessageViewerFonts(); qApp->mainForm()->tabWidget()->feedMessageViewer()->loadMessageViewerFonts();
qApp->mainForm()->tabWidget()->feedMessageViewer()->feedsView()->sourceModel()->updateAutoUpdateStatus(); qApp->mainForm()->tabWidget()->feedMessageViewer()->feedsView()->sourceModel()->updateAutoUpdateStatus();

View File

@ -102,6 +102,7 @@ class FormSettings : public QDialog {
void loadFeedsMessages(); void loadFeedsMessages();
void initializeMessageDateFormats(); void initializeMessageDateFormats();
void changeMessagesFont();
void saveFeedsMessages(); void saveFeedsMessages();
private: private:

View File

@ -88,7 +88,7 @@
<item row="0" column="1"> <item row="0" column="1">
<widget class="QStackedWidget" name="m_stackedSettings"> <widget class="QStackedWidget" name="m_stackedSettings">
<property name="currentIndex"> <property name="currentIndex">
<number>5</number> <number>6</number>
</property> </property>
<widget class="QWidget" name="m_pageGeneral"> <widget class="QWidget" name="m_pageGeneral">
<layout class="QFormLayout" name="formLayout_5"> <layout class="QFormLayout" name="formLayout_5">
@ -424,8 +424,8 @@ Authors of this application are NOT responsible for lost data.</string>
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>782</width> <width>100</width>
<height>451</height> <height>30</height>
</rect> </rect>
</property> </property>
<layout class="QHBoxLayout" name="horizontalLayout_4"> <layout class="QHBoxLayout" name="horizontalLayout_4">
@ -502,8 +502,8 @@ Authors of this application are NOT responsible for lost data.</string>
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>776</width> <width>167</width>
<height>425</height> <height>219</height>
</rect> </rect>
</property> </property>
<layout class="QFormLayout" name="formLayout"> <layout class="QFormLayout" name="formLayout">
@ -1251,7 +1251,7 @@ Authors of this application are NOT responsible for lost data.</string>
<item> <item>
<widget class="QTabWidget" name="m_tabFeedsMessages"> <widget class="QTabWidget" name="m_tabFeedsMessages">
<property name="currentIndex"> <property name="currentIndex">
<number>0</number> <number>1</number>
</property> </property>
<widget class="QWidget" name="m_tabFeeds"> <widget class="QWidget" name="m_tabFeeds">
<attribute name="title"> <attribute name="title">
@ -1400,30 +1400,34 @@ Authors of this application are NOT responsible for lost data.</string>
<property name="title"> <property name="title">
<string>Internal message browser fonts</string> <string>Internal message browser fonts</string>
</property> </property>
<layout class="QFormLayout" name="formLayout_24"> <layout class="QHBoxLayout" name="horizontalLayout_16">
<item row="0" column="0"> <item>
<widget class="QLabel" name="label_12"> <widget class="QLabel" name="m_lblMessagesFont">
<property name="text"> <property name="text">
<string>Standard font</string> <string/>
</property> </property>
</widget> </widget>
</item> </item>
<item row="0" column="1"> <item>
<widget class="QFontComboBox" name="m_cmbMessageFontStandard"> <widget class="QPushButton" name="m_btnChangeMessagesFont">
<property name="sizePolicy"> <property name="text">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed"> <string>&amp;Change font</string>
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="editable">
<bool>false</bool>
</property>
<property name="sizeAdjustPolicy">
<enum>QComboBox::AdjustToContents</enum>
</property> </property>
</widget> </widget>
</item> </item>
<item>
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout> </layout>
</widget> </widget>
</item> </item>

View File

@ -117,7 +117,7 @@ void FeedMessageViewer::loadSize() {
} }
void FeedMessageViewer::loadMessageViewerFonts() { void FeedMessageViewer::loadMessageViewerFonts() {
const Settings *settings = qApp->settings(); m_messagesBrowser->reloadFontSettings();
// TODO: TODO // TODO: TODO
//QWebEngineSettings *view_settings = m_messagesBrowser->view()->settings(); //QWebEngineSettings *view_settings = m_messagesBrowser->view()->settings();

View File

@ -71,12 +71,23 @@ MessagePreviewer::MessagePreviewer(QWidget *parent) : QWidget(parent),
m_actionSwitchImportance->setCheckable(true); m_actionSwitchImportance->setCheckable(true);
reloadFontSettings();
clear(); clear();
} }
MessagePreviewer::~MessagePreviewer() { MessagePreviewer::~MessagePreviewer() {
} }
void MessagePreviewer::reloadFontSettings() {
const Settings *settings = qApp->settings();
QFont fon;
fon.fromString(settings->value(GROUP(Messages),
SETTING(Messages::PreviewerFontStandard)).toString());
m_ui->m_txtMessage->setFont(fon);
}
void MessagePreviewer::clear() { void MessagePreviewer::clear() {
m_ui->m_lblTitle->clear(); m_ui->m_lblTitle->clear();
m_ui->m_txtMessage->clear(); m_ui->m_txtMessage->clear();

View File

@ -41,6 +41,8 @@ class MessagePreviewer : public QWidget {
explicit MessagePreviewer(QWidget *parent = 0); explicit MessagePreviewer(QWidget *parent = 0);
virtual ~MessagePreviewer(); virtual ~MessagePreviewer();
void reloadFontSettings();
public slots: public slots:
void clear(); void clear();
void loadMessage(const Message &message, RootItem *root); void loadMessage(const Message &message, RootItem *root);

View File

@ -62,7 +62,7 @@ DKEY Messages::KeepCursorInCenter = "keep_cursor_center";
DVALUE(bool) Messages::KeepCursorInCenterDef = false; DVALUE(bool) Messages::KeepCursorInCenterDef = false;
DKEY Messages::PreviewerFontStandard = "previewer_font_standard"; DKEY Messages::PreviewerFontStandard = "previewer_font_standard";
NON_CONST_DVALUE(QString) Messages::PreviewerFontStandardDef = QString(); NON_CONST_DVALUE(QString) Messages::PreviewerFontStandardDef = QFont().toString();
// GUI. // GUI.
DKEY GUI::ID = "gui"; DKEY GUI::ID = "gui";