Skip to content

Commit

Permalink
Enhanced context menus, added action for add category/feed #162.
Browse files Browse the repository at this point in the history
  • Loading branch information
Martin Rotter committed Aug 31, 2020
1 parent d5521fe commit 3204422
Show file tree
Hide file tree
Showing 3 changed files with 59 additions and 20 deletions.
20 changes: 10 additions & 10 deletions src/librssguard/gui/dialogs/formmain.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -174,8 +174,8 @@ QList<QAction*> FormMain::allActions() const {
actions << m_ui->m_actionServiceEdit;
actions << m_ui->m_actionServiceDelete;
actions << m_ui->m_actionCleanupDatabase;
actions << m_ui->m_actionAddFeedIntoSelectedAccount;
actions << m_ui->m_actionAddCategoryIntoSelectedAccount;
actions << m_ui->m_actionAddFeedIntoSelectedItem;
actions << m_ui->m_actionAddCategoryIntoSelectedItem;
actions << m_ui->m_actionViewSelectedItemsNewspaperMode;
actions << m_ui->m_actionSelectNextItem;
actions << m_ui->m_actionSelectPreviousItem;
Expand Down Expand Up @@ -289,8 +289,8 @@ void FormMain::updateAddItemMenu() {

if (!m_ui->m_menuAddItem->isEmpty()) {
m_ui->m_menuAddItem->addSeparator();
m_ui->m_menuAddItem->addAction(m_ui->m_actionAddCategoryIntoSelectedAccount);
m_ui->m_menuAddItem->addAction(m_ui->m_actionAddFeedIntoSelectedAccount);
m_ui->m_menuAddItem->addAction(m_ui->m_actionAddCategoryIntoSelectedItem);
m_ui->m_menuAddItem->addAction(m_ui->m_actionAddFeedIntoSelectedItem);
}
else {
m_ui->m_menuAddItem->addAction(m_ui->m_actionNoActions);
Expand Down Expand Up @@ -432,8 +432,8 @@ void FormMain::updateFeedButtonsAvailability() {
m_ui->m_actionExpandCollapseItem->setEnabled(anything_selected);
m_ui->m_actionServiceDelete->setEnabled(service_selected);
m_ui->m_actionServiceEdit->setEnabled(service_selected);
m_ui->m_actionAddFeedIntoSelectedAccount->setEnabled(anything_selected);
m_ui->m_actionAddCategoryIntoSelectedAccount->setEnabled(anything_selected);
m_ui->m_actionAddFeedIntoSelectedItem->setEnabled(anything_selected);
m_ui->m_actionAddCategoryIntoSelectedItem->setEnabled(anything_selected);
m_ui->m_menuAddItem->setEnabled(!critical_action_running);
m_ui->m_menuAccounts->setEnabled(!critical_action_running);
m_ui->m_menuRecycleBin->setEnabled(!critical_action_running);
Expand Down Expand Up @@ -531,8 +531,8 @@ void FormMain::setupIcons() {
m_ui->m_actionServiceAdd->setIcon(icon_theme_factory->fromTheme(QSL("list-add")));
m_ui->m_actionServiceEdit->setIcon(icon_theme_factory->fromTheme(QSL("document-edit")));
m_ui->m_actionServiceDelete->setIcon(icon_theme_factory->fromTheme(QSL("list-remove")));
m_ui->m_actionAddFeedIntoSelectedAccount->setIcon(icon_theme_factory->fromTheme(QSL("application-rss+xml")));
m_ui->m_actionAddCategoryIntoSelectedAccount->setIcon(icon_theme_factory->fromTheme(QSL("folder")));
m_ui->m_actionAddFeedIntoSelectedItem->setIcon(icon_theme_factory->fromTheme(QSL("application-rss+xml")));
m_ui->m_actionAddCategoryIntoSelectedItem->setIcon(icon_theme_factory->fromTheme(QSL("folder")));
m_ui->m_actionMessageFilters->setIcon(icon_theme_factory->fromTheme(QSL("view-list-details")));

// Tabs & web browser.
Expand Down Expand Up @@ -692,9 +692,9 @@ void FormMain::createConnections() {
connect(qApp->feedReader(), &FeedReader::feedUpdatesFinished, this, &FormMain::onFeedUpdatesFinished);

// Toolbar forwardings.
connect(m_ui->m_actionAddFeedIntoSelectedAccount, &QAction::triggered,
connect(m_ui->m_actionAddFeedIntoSelectedItem, &QAction::triggered,
tabWidget()->feedMessageViewer()->feedsView(), &FeedsView::addFeedIntoSelectedAccount);
connect(m_ui->m_actionAddCategoryIntoSelectedAccount, &QAction::triggered,
connect(m_ui->m_actionAddCategoryIntoSelectedItem, &QAction::triggered,
tabWidget()->feedMessageViewer()->feedsView(), &FeedsView::addCategoryIntoSelectedAccount);
connect(m_ui->m_actionSwitchImportanceOfSelectedMessages,
&QAction::triggered, tabWidget()->feedMessageViewer()->messagesView(), &MessagesView::switchSelectedMessagesImportance);
Expand Down
14 changes: 4 additions & 10 deletions src/librssguard/gui/dialogs/formmain.ui
Original file line number Diff line number Diff line change
Expand Up @@ -690,20 +690,14 @@
<string notr="true"/>
</property>
</action>
<action name="m_actionAddFeedIntoSelectedAccount">
<action name="m_actionAddFeedIntoSelectedItem">
<property name="text">
<string>Add new feed into selected account</string>
</property>
<property name="shortcut">
<string notr="true"/>
<string>Add new feed</string>
</property>
</action>
<action name="m_actionAddCategoryIntoSelectedAccount">
<action name="m_actionAddCategoryIntoSelectedItem">
<property name="text">
<string>Add new category into selected account</string>
</property>
<property name="shortcut">
<string notr="true"/>
<string>Add new category</string>
</property>
</action>
<action name="m_actionStopRunningItemsUpdate">
Expand Down
45 changes: 45 additions & 0 deletions src/librssguard/gui/feedsview.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -464,6 +464,21 @@ QMenu* FeedsView::initializeContextMenuService(RootItem* clicked_item) {
qApp->mainForm()->m_ui->m_actionMarkSelectedItemsAsUnread <<
qApp->mainForm()->m_ui->m_actionDeleteSelectedItem);

auto cat_add = clicked_item->getParentServiceRoot()->supportsCategoryAdding();
auto feed_add = clicked_item->getParentServiceRoot()->supportsFeedAdding();

if (cat_add || feed_add) {
m_contextMenuService->addSeparator();
}

if (cat_add) {
m_contextMenuService->addAction(qApp->mainForm()->m_ui->m_actionAddCategoryIntoSelectedItem);
}

if (feed_add) {
m_contextMenuService->addAction(qApp->mainForm()->m_ui->m_actionAddFeedIntoSelectedItem);
}

if (!specific_actions.isEmpty()) {
m_contextMenuService->addSeparator();
m_contextMenuService->addActions(specific_actions);
Expand Down Expand Up @@ -522,6 +537,21 @@ QMenu* FeedsView::initializeContextMenuCategories(RootItem* clicked_item) {
qApp->mainForm()->m_ui->m_actionMarkSelectedItemsAsUnread <<
qApp->mainForm()->m_ui->m_actionDeleteSelectedItem);

auto cat_add = clicked_item->getParentServiceRoot()->supportsCategoryAdding();
auto feed_add = clicked_item->getParentServiceRoot()->supportsFeedAdding();

if (cat_add || feed_add) {
m_contextMenuCategories->addSeparator();
}

if (cat_add) {
m_contextMenuCategories->addAction(qApp->mainForm()->m_ui->m_actionAddCategoryIntoSelectedItem);
}

if (feed_add) {
m_contextMenuCategories->addAction(qApp->mainForm()->m_ui->m_actionAddFeedIntoSelectedItem);
}

if (!specific_actions.isEmpty()) {
m_contextMenuCategories->addSeparator();
m_contextMenuCategories->addActions(specific_actions);
Expand Down Expand Up @@ -549,6 +579,21 @@ QMenu* FeedsView::initializeContextMenuFeeds(RootItem* clicked_item) {
qApp->mainForm()->m_ui->m_actionMarkSelectedItemsAsUnread <<
qApp->mainForm()->m_ui->m_actionDeleteSelectedItem);

auto cat_add = clicked_item->getParentServiceRoot()->supportsCategoryAdding();
auto feed_add = clicked_item->getParentServiceRoot()->supportsFeedAdding();

if (cat_add || feed_add) {
m_contextMenuFeeds->addSeparator();
}

if (cat_add) {
m_contextMenuFeeds->addAction(qApp->mainForm()->m_ui->m_actionAddCategoryIntoSelectedItem);
}

if (feed_add) {
m_contextMenuFeeds->addAction(qApp->mainForm()->m_ui->m_actionAddFeedIntoSelectedItem);
}

if (!specific_actions.isEmpty()) {
m_contextMenuFeeds->addSeparator();
m_contextMenuFeeds->addActions(specific_actions);
Expand Down

0 comments on commit 3204422

Please sign in to comment.