Fix some obsoletes, fix bug #231.
This commit is contained in:
parent
e1949c8628
commit
172dc793a8
8 changed files with 61 additions and 2 deletions
|
@ -12,6 +12,7 @@
|
|||
<file>./graphics/Faenza/actions/64/document-revert.png</file>
|
||||
<file>./graphics/Faenza/actions/64/down.png</file>
|
||||
<file>./graphics/Faenza/actions/64/edit-clear.png</file>
|
||||
<file>./graphics/Faenza/actions/64/edit-copy.png</file>
|
||||
<file>./graphics/Faenza/actions/64/format-indent-more.png</file>
|
||||
<file>./graphics/Faenza/actions/64/format-justify-fill.png</file>
|
||||
<file>./graphics/Faenza/actions/64/forward.png</file>
|
||||
|
|
0
resources/scripts/.generate-used-icons.sh
Normal file → Executable file
0
resources/scripts/.generate-used-icons.sh
Normal file → Executable file
23
src/librssguard/gui/dialogs/formmain.cpp
Normal file → Executable file
23
src/librssguard/gui/dialogs/formmain.cpp
Normal file → Executable file
|
@ -41,6 +41,10 @@
|
|||
#include <QThread>
|
||||
#include <QTimer>
|
||||
|
||||
#if QT_VERSION >= 0x050E00 // Qt >= 5.14.0
|
||||
#include <QScreen>
|
||||
#endif
|
||||
|
||||
#if defined (USE_WEBENGINE)
|
||||
#include "network-web/adblock/adblockicon.h"
|
||||
#include "network-web/adblock/adblockmanager.h"
|
||||
|
@ -164,6 +168,7 @@ QList<QAction*> FormMain::allActions() const {
|
|||
actions << m_ui->m_actionUpdateSelectedItems;
|
||||
actions << m_ui->m_actionStopRunningItemsUpdate;
|
||||
actions << m_ui->m_actionEditSelectedItem;
|
||||
actions << m_ui->m_actionCopyUrlSelectedFeed;
|
||||
actions << m_ui->m_actionDeleteSelectedItem;
|
||||
actions << m_ui->m_actionServiceAdd;
|
||||
actions << m_ui->m_actionServiceEdit;
|
||||
|
@ -374,7 +379,7 @@ void FormMain::onFeedUpdatesStarted() {
|
|||
}
|
||||
|
||||
void FormMain::onFeedUpdatesProgress(const Feed* feed, int current, int total) {
|
||||
statusBar()->showProgressFeeds((current * 100.0) / total,
|
||||
statusBar()->showProgressFeeds(int((current * 100.0) / total),
|
||||
|
||||
//: Text display in status bar when particular feed is updated.
|
||||
tr("Updated feed '%1'").arg(feed->title()));
|
||||
|
@ -411,6 +416,7 @@ void FormMain::updateFeedButtonsAvailability() {
|
|||
m_ui->m_actionClearSelectedItems->setEnabled(anything_selected);
|
||||
m_ui->m_actionDeleteSelectedItem->setEnabled(!critical_action_running && anything_selected);
|
||||
m_ui->m_actionEditSelectedItem->setEnabled(!critical_action_running && anything_selected);
|
||||
m_ui->m_actionCopyUrlSelectedFeed->setEnabled(service_selected || feed_selected || category_selected);
|
||||
m_ui->m_actionMarkSelectedItemsAsRead->setEnabled(anything_selected);
|
||||
m_ui->m_actionMarkSelectedItemsAsUnread->setEnabled(anything_selected);
|
||||
m_ui->m_actionUpdateAllItems->setEnabled(!critical_action_running);
|
||||
|
@ -492,6 +498,7 @@ void FormMain::setupIcons() {
|
|||
m_ui->m_actionDeleteSelectedItem->setIcon(icon_theme_factory->fromTheme(QSL("list-remove")));
|
||||
m_ui->m_actionDeleteSelectedMessages->setIcon(icon_theme_factory->fromTheme(QSL("mail-mark-junk")));
|
||||
m_ui->m_actionEditSelectedItem->setIcon(icon_theme_factory->fromTheme(QSL("document-edit")));
|
||||
m_ui->m_actionCopyUrlSelectedFeed->setIcon(icon_theme_factory->fromTheme(QSL("edit-copy")));
|
||||
m_ui->m_actionMarkAllItemsRead->setIcon(icon_theme_factory->fromTheme(QSL("mail-mark-read")));
|
||||
m_ui->m_actionMarkSelectedItemsAsRead->setIcon(icon_theme_factory->fromTheme(QSL("mail-mark-read")));
|
||||
m_ui->m_actionMarkSelectedItemsAsUnread->setIcon(icon_theme_factory->fromTheme(QSL("mail-mark-unread")));
|
||||
|
@ -530,7 +537,19 @@ void FormMain::setupIcons() {
|
|||
}
|
||||
|
||||
void FormMain::loadSize() {
|
||||
#if QT_VERSION >= 0x050E00 // Qt >= 5.14.0
|
||||
QScreen* scr = screen();
|
||||
|
||||
if (scr == nullptr) {
|
||||
qWarning("Cannot load dialog size, because no screens are detected.");
|
||||
return;
|
||||
}
|
||||
|
||||
const QRect screen = scr->geometry();
|
||||
#else
|
||||
const QRect screen = qApp->desktop()->screenGeometry();
|
||||
#endif
|
||||
|
||||
const Settings* settings = qApp->settings();
|
||||
|
||||
// Reload main window size & position.
|
||||
|
@ -694,6 +713,8 @@ void FormMain::createConnections() {
|
|||
&QAction::triggered, qApp->feedReader(), &FeedReader::updateAllFeeds);
|
||||
connect(m_ui->m_actionStopRunningItemsUpdate,
|
||||
&QAction::triggered, qApp->feedReader(), &FeedReader::stopRunningFeedUpdate);
|
||||
connect(m_ui->m_actionCopyUrlSelectedFeed,
|
||||
&QAction::triggered, tabWidget()->feedMessageViewer()->feedsView(), &FeedsView::copyUrlOfSelectedFeeds);
|
||||
connect(m_ui->m_actionEditSelectedItem,
|
||||
&QAction::triggered, tabWidget()->feedMessageViewer()->feedsView(), &FeedsView::editSelectedItem);
|
||||
connect(m_ui->m_actionViewSelectedItemsNewspaperMode,
|
||||
|
|
8
src/librssguard/gui/dialogs/formmain.ui
Normal file → Executable file
8
src/librssguard/gui/dialogs/formmain.ui
Normal file → Executable file
|
@ -45,7 +45,7 @@
|
|||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>1296</width>
|
||||
<height>21</height>
|
||||
<height>22</height>
|
||||
</rect>
|
||||
</property>
|
||||
<widget class="QMenu" name="m_menuFile">
|
||||
|
@ -122,6 +122,7 @@
|
|||
<addaction name="m_actionMarkAllItemsRead"/>
|
||||
<addaction name="m_actionClearAllItems"/>
|
||||
<addaction name="separator"/>
|
||||
<addaction name="m_actionCopyUrlSelectedFeed"/>
|
||||
<addaction name="m_actionViewSelectedItemsNewspaperMode"/>
|
||||
<addaction name="m_actionMarkSelectedItemsAsRead"/>
|
||||
<addaction name="m_actionMarkSelectedItemsAsUnread"/>
|
||||
|
@ -744,6 +745,11 @@
|
|||
<string>&Enable message preview</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="m_actionCopyUrlSelectedFeed">
|
||||
<property name="text">
|
||||
<string>&Copy URLs of selected items</string>
|
||||
</property>
|
||||
</action>
|
||||
</widget>
|
||||
<customwidgets>
|
||||
<customwidget>
|
||||
|
|
19
src/librssguard/gui/feedsview.cpp
Normal file → Executable file
19
src/librssguard/gui/feedsview.cpp
Normal file → Executable file
|
@ -19,6 +19,7 @@
|
|||
#include "services/standard/standardcategory.h"
|
||||
#include "services/standard/standardfeed.h"
|
||||
|
||||
#include <QClipboard>
|
||||
#include <QContextMenuEvent>
|
||||
#include <QHeaderView>
|
||||
#include <QMenu>
|
||||
|
@ -127,6 +128,21 @@ void FeedsView::loadAllExpandStates() {
|
|||
static_cast<Qt::SortOrder>(qApp->settings()->value(GROUP(GUI), SETTING(GUI::DefaultSortOrderFeeds)).toInt()));
|
||||
}
|
||||
|
||||
void FeedsView::copyUrlOfSelectedFeeds() const {
|
||||
auto feeds = selectedFeeds();
|
||||
QStringList urls;
|
||||
|
||||
for (const auto* feed : feeds) {
|
||||
if (!feed->url().isEmpty()) {
|
||||
urls << feed->url();
|
||||
}
|
||||
}
|
||||
|
||||
if (qApp->clipboard() != nullptr && !urls.isEmpty()) {
|
||||
qApp->clipboard()->setText(urls.join(TextFactory::newline()));
|
||||
}
|
||||
}
|
||||
|
||||
void FeedsView::sortByColumn(int column, Qt::SortOrder order) {
|
||||
const int old_column = header()->sortIndicatorSection();
|
||||
const Qt::SortOrder old_order = header()->sortIndicatorOrder();
|
||||
|
@ -441,6 +457,7 @@ QMenu* FeedsView::initializeContextMenuService(RootItem* clicked_item) {
|
|||
m_contextMenuService->addActions(QList<QAction*>() <<
|
||||
qApp->mainForm()->m_ui->m_actionUpdateSelectedItems <<
|
||||
qApp->mainForm()->m_ui->m_actionEditSelectedItem <<
|
||||
qApp->mainForm()->m_ui->m_actionCopyUrlSelectedFeed <<
|
||||
qApp->mainForm()->m_ui->m_actionViewSelectedItemsNewspaperMode <<
|
||||
qApp->mainForm()->m_ui->m_actionMarkSelectedItemsAsRead <<
|
||||
qApp->mainForm()->m_ui->m_actionMarkSelectedItemsAsUnread <<
|
||||
|
@ -484,6 +501,7 @@ QMenu* FeedsView::initializeContextMenuCategories(RootItem* clicked_item) {
|
|||
m_contextMenuCategories->addActions(QList<QAction*>() <<
|
||||
qApp->mainForm()->m_ui->m_actionUpdateSelectedItems <<
|
||||
qApp->mainForm()->m_ui->m_actionEditSelectedItem <<
|
||||
qApp->mainForm()->m_ui->m_actionCopyUrlSelectedFeed <<
|
||||
qApp->mainForm()->m_ui->m_actionViewSelectedItemsNewspaperMode <<
|
||||
qApp->mainForm()->m_ui->m_actionMarkSelectedItemsAsRead <<
|
||||
qApp->mainForm()->m_ui->m_actionMarkSelectedItemsAsUnread <<
|
||||
|
@ -509,6 +527,7 @@ QMenu* FeedsView::initializeContextMenuFeeds(RootItem* clicked_item) {
|
|||
m_contextMenuFeeds->addActions(QList<QAction*>() <<
|
||||
qApp->mainForm()->m_ui->m_actionUpdateSelectedItems <<
|
||||
qApp->mainForm()->m_ui->m_actionEditSelectedItem <<
|
||||
qApp->mainForm()->m_ui->m_actionCopyUrlSelectedFeed <<
|
||||
qApp->mainForm()->m_ui->m_actionViewSelectedItemsNewspaperMode <<
|
||||
qApp->mainForm()->m_ui->m_actionMarkSelectedItemsAsRead <<
|
||||
qApp->mainForm()->m_ui->m_actionMarkSelectedItemsAsUnread <<
|
||||
|
|
1
src/librssguard/gui/feedsview.h
Normal file → Executable file
1
src/librssguard/gui/feedsview.h
Normal file → Executable file
|
@ -48,6 +48,7 @@ class RSSGUARD_DLLSPEC FeedsView : public QTreeView {
|
|||
void loadAllExpandStates();
|
||||
|
||||
public slots:
|
||||
void copyUrlOfSelectedFeeds() const;
|
||||
void sortByColumn(int column, Qt::SortOrder order);
|
||||
|
||||
void addFeedIntoSelectedAccount();
|
||||
|
|
10
src/librssguard/miscellaneous/textfactory.cpp
Normal file → Executable file
10
src/librssguard/miscellaneous/textfactory.cpp
Normal file → Executable file
|
@ -114,6 +114,16 @@ QString TextFactory::decrypt(const QString& text) {
|
|||
return SimpleCrypt(initializeSecretEncryptionKey()).decryptToString(text);
|
||||
}
|
||||
|
||||
QString TextFactory::newline() {
|
||||
#if defined(Q_OS_WIN)
|
||||
return QSL("\r\n");
|
||||
#elif defined(Q_OS_MACOS)
|
||||
return QSL("\r");
|
||||
#else
|
||||
return QSL("\n");
|
||||
#endif
|
||||
}
|
||||
|
||||
QString TextFactory::shorten(const QString& input, int text_length_limit) {
|
||||
if (input.size() > text_length_limit) {
|
||||
return input.left(text_length_limit - ELLIPSIS_LENGTH) + QString(ELLIPSIS_LENGTH, QL1C('.'));
|
||||
|
|
1
src/librssguard/miscellaneous/textfactory.h
Normal file → Executable file
1
src/librssguard/miscellaneous/textfactory.h
Normal file → Executable file
|
@ -34,6 +34,7 @@ class TextFactory {
|
|||
static QDateTime parseDateTime(qint64 milis_from_epoch);
|
||||
static QString encrypt(const QString& text);
|
||||
static QString decrypt(const QString& text);
|
||||
static QString newline();
|
||||
|
||||
// Shortens input string according to given length limit.
|
||||
static QString shorten(const QString& input, int text_length_limit = TEXT_TITLE_LIMIT);
|
||||
|
|
Loading…
Add table
Reference in a new issue