diff --git a/resources/scripts/generate-public-headers.sh b/resources/scripts/generate-public-headers.sh new file mode 100644 index 000000000..ec3fd81cd --- /dev/null +++ b/resources/scripts/generate-public-headers.sh @@ -0,0 +1,10 @@ +#!/bin/bash + +# This script will generate list of public headers to be included in packages. +# +# First argument is the root folder of library of RSS Guard. + +root_folder="$1" +headers_regex=".+(services/abstract).+\.h$" + +find "$root_folder" -type f -regextype posix-egrep -regex "$headers_regex" | sed -e "s|^src|..|" \ No newline at end of file diff --git a/src/librssguard/gui/dialogs/formmain.cpp b/src/librssguard/gui/dialogs/formmain.cpp index bd8de837b..1581f0c32 100755 --- a/src/librssguard/gui/dialogs/formmain.cpp +++ b/src/librssguard/gui/dialogs/formmain.cpp @@ -14,6 +14,7 @@ #include "gui/feedstoolbar.h" #include "gui/feedsview.h" #include "gui/messagebox.h" +#include "gui/messagepreviewer.h" #include "gui/messagestoolbar.h" #include "gui/messagesview.h" #include "gui/plaintoolbutton.h" @@ -146,6 +147,7 @@ QList FormMain::allActions() const { actions << m_ui->m_actionSwitchToolBars; actions << m_ui->m_actionSwitchListHeaders; + actions << m_ui->m_actionSwitchMessageViewerToolbars; actions << m_ui->m_actionSwitchStatusBar; actions << m_ui->m_actionSwitchMessageListOrientation; actions << m_ui->m_actionTabsNext; @@ -497,6 +499,7 @@ void FormMain::setupIcons() { m_ui->m_actionSwitchMainMenu->setIcon(icon_theme_factory->fromTheme(QSL("view-restore"))); m_ui->m_actionSwitchToolBars->setIcon(icon_theme_factory->fromTheme(QSL("view-restore"))); m_ui->m_actionSwitchListHeaders->setIcon(icon_theme_factory->fromTheme(QSL("view-restore"))); + m_ui->m_actionSwitchMessageViewerToolbars->setIcon(icon_theme_factory->fromTheme(QSL("view-restore"))); m_ui->m_actionSwitchStatusBar->setIcon(icon_theme_factory->fromTheme(QSL("dialog-information"))); m_ui->m_actionSwitchMessageListOrientation->setIcon(icon_theme_factory->fromTheme(QSL("view-restore"))); m_ui->m_menuShowHide->setIcon(icon_theme_factory->fromTheme(QSL("view-restore"))); @@ -594,6 +597,7 @@ void FormMain::loadSize() { m_ui->m_tabWidget->feedMessageViewer()->loadSize(); m_ui->m_actionSwitchToolBars->setChecked(settings->value(GROUP(GUI), SETTING(GUI::ToolbarsVisible)).toBool()); m_ui->m_actionSwitchListHeaders->setChecked(settings->value(GROUP(GUI), SETTING(GUI::ListHeadersVisible)).toBool()); + m_ui->m_actionSwitchMessageViewerToolbars->setChecked(settings->value(GROUP(GUI), SETTING(GUI::MessageViewerToolbarsVisible)).toBool()); m_ui->m_actionSwitchStatusBar->setChecked(settings->value(GROUP(GUI), SETTING(GUI::StatusBarVisible)).toBool()); // Other startup GUI-related settings. @@ -755,6 +759,8 @@ void FormMain::createConnections() { tabWidget()->feedMessageViewer(), &FeedMessageViewer::setToolBarsEnabled); connect(m_ui->m_actionSwitchListHeaders, &QAction::toggled, tabWidget()->feedMessageViewer(), &FeedMessageViewer::setListHeadersEnabled); + connect(m_ui->m_actionSwitchMessageViewerToolbars, &QAction::toggled, + tabWidget()->feedMessageViewer()->messagesBrowser(), &MessagePreviewer::setToolbarsVisible); connect(m_ui->m_actionSelectPreviousItem, &QAction::triggered, tabWidget()->feedMessageViewer()->feedsView(), &FeedsView::selectPreviousItem); connect(m_ui->m_actionSelectNextMessage, diff --git a/src/librssguard/gui/dialogs/formmain.ui b/src/librssguard/gui/dialogs/formmain.ui index 4d521b5aa..43edc1194 100755 --- a/src/librssguard/gui/dialogs/formmain.ui +++ b/src/librssguard/gui/dialogs/formmain.ui @@ -81,6 +81,7 @@ + @@ -793,6 +794,17 @@ Automatically &expand items when selected + + + true + + + true + + + Message viewer toolbars + + diff --git a/src/librssguard/gui/feedmessageviewer.cpp b/src/librssguard/gui/feedmessageviewer.cpp index f6d537c16..34c0b8048 100644 --- a/src/librssguard/gui/feedmessageviewer.cpp +++ b/src/librssguard/gui/feedmessageviewer.cpp @@ -233,6 +233,10 @@ void FeedMessageViewer::createConnections() { connect(m_feedsView->sourceModel(), &FeedsModel::reloadMessageListRequested, m_messagesView, &MessagesView::reloadSelections); } +MessagePreviewer* FeedMessageViewer::messagesBrowser() const { + return m_messagesBrowser; +} + void FeedMessageViewer::initialize() { // Initialize/populate toolbars. m_toolBarFeeds->setFloatable(false); diff --git a/src/librssguard/gui/feedmessageviewer.h b/src/librssguard/gui/feedmessageviewer.h index 822f0fb2a..d4303315a 100644 --- a/src/librssguard/gui/feedmessageviewer.h +++ b/src/librssguard/gui/feedmessageviewer.h @@ -39,6 +39,7 @@ class RSSGUARD_DLLSPEC FeedMessageViewer : public TabContent { MessagesView* messagesView() const; MessagesToolBar* messagesToolBar() const; FeedsToolBar* feedsToolBar() const; + MessagePreviewer* messagesBrowser() const; bool areToolBarsEnabled() const; bool areListHeadersEnabled() const; diff --git a/src/librssguard/gui/messagepreviewer.cpp b/src/librssguard/gui/messagepreviewer.cpp index 90510f0d0..4ca3ad866 100755 --- a/src/librssguard/gui/messagepreviewer.cpp +++ b/src/librssguard/gui/messagepreviewer.cpp @@ -79,6 +79,16 @@ void MessagePreviewer::reloadFontSettings() { m_txtMessage->reloadFontSettings(); } +void MessagePreviewer::setToolbarsVisible(bool visible) { + m_toolBar->setVisible(visible); + +#if defined (USE_WEBENGINE) + m_txtMessage->setNavigationBarVisible(visible); +#endif + + qApp->settings()->setValue(GROUP(GUI), GUI::MessageViewerToolbarsVisible, visible); +} + #if defined (USE_WEBENGINE) WebBrowser* MessagePreviewer::webBrowser() const { diff --git a/src/librssguard/gui/messagepreviewer.h b/src/librssguard/gui/messagepreviewer.h index 8c155ef57..ee89ff864 100644 --- a/src/librssguard/gui/messagepreviewer.h +++ b/src/librssguard/gui/messagepreviewer.h @@ -46,6 +46,7 @@ class MessagePreviewer : public QWidget { #endif public slots: + void setToolbarsVisible(bool visible); void clear(); void hideToolbar(); void loadMessage(const Message& message, RootItem* root); diff --git a/src/librssguard/gui/settings/settingsgui.ui b/src/librssguard/gui/settings/settingsgui.ui index 0bb234e81..b25ed35b1 100644 --- a/src/librssguard/gui/settings/settingsgui.ui +++ b/src/librssguard/gui/settings/settingsgui.ui @@ -29,7 +29,7 @@ QTabWidget::North - 1 + 0 diff --git a/src/librssguard/miscellaneous/settings.cpp b/src/librssguard/miscellaneous/settings.cpp index cb87e89eb..93e0eed64 100755 --- a/src/librssguard/miscellaneous/settings.cpp +++ b/src/librssguard/miscellaneous/settings.cpp @@ -157,6 +157,9 @@ DVALUE(bool) GUI::ToolbarsVisibleDef = true; DKEY GUI::ListHeadersVisible = "enable_list_headers"; DVALUE(bool) GUI::ListHeadersVisibleDef = true; +DKEY GUI::MessageViewerToolbarsVisible = "message_viewer_toolbars"; +DVALUE(bool) GUI::MessageViewerToolbarsVisibleDef = true; + DKEY GUI::StatusBarVisible = "enable_status_bar"; DVALUE(bool) GUI::StatusBarVisibleDef = true; diff --git a/src/librssguard/miscellaneous/settings.h b/src/librssguard/miscellaneous/settings.h index 387f8c1d0..8504fa72f 100644 --- a/src/librssguard/miscellaneous/settings.h +++ b/src/librssguard/miscellaneous/settings.h @@ -170,6 +170,9 @@ namespace GUI { KEY ListHeadersVisible; VALUE(bool) ListHeadersVisibleDef; + KEY MessageViewerToolbarsVisible; + VALUE(bool) MessageViewerToolbarsVisibleDef; + KEY StatusBarVisible; VALUE(bool) StatusBarVisibleDef;