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:
▪ 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.
▪ Newspaper view now allows marking individual messages read/unread/starred/unstarred.
▪ Added experimental support for tweakable statusbar. (issue #158)

View File

@ -48,6 +48,7 @@
#include <QColorDialog>
#include <QFileDialog>
#include <QKeyEvent>
#include <QFontDialog>
#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_btnDownloadsTargetDirectory, SIGNAL(clicked()), this, SLOT(selectDownloadsDirectory()));
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) {
if (!checked) {
@ -242,8 +244,12 @@ void FormSettings::loadFeedsMessages() {
m_ui->m_cmbMessagesDateTimeFormat->setCurrentIndex(index_format);
}
m_ui->m_cmbMessageFontStandard->setCurrentIndex(m_ui->m_cmbMessageFontStandard->findText(m_settings->value(GROUP(Messages),
SETTING(Messages::PreviewerFontStandard)).toString()));
m_ui->m_lblMessagesFont->setText(tr("Font preview"));
QFont fon;
fon.fromString(m_settings->value(GROUP(Messages),
SETTING(Messages::PreviewerFontStandard)).toString());
m_ui->m_lblMessagesFont->setFont(fon);
}
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() {
m_settings->setValue(GROUP(Messages), Messages::KeepCursorInCenter, m_ui->m_checkKeppMessagesInTheMiddle->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());
// 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()->feedsView()->sourceModel()->updateAutoUpdateStatus();

View File

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

View File

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

View File

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

View File

@ -71,12 +71,23 @@ MessagePreviewer::MessagePreviewer(QWidget *parent) : QWidget(parent),
m_actionSwitchImportance->setCheckable(true);
reloadFontSettings();
clear();
}
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() {
m_ui->m_lblTitle->clear();
m_ui->m_txtMessage->clear();

View File

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

View File

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