Initially fixed #19 and added some other things.

This commit is contained in:
Martin Rotter 2014-02-14 16:51:10 +01:00
parent cd2fb7d1c0
commit a883be4d62
11 changed files with 106 additions and 3 deletions

View File

@ -41,8 +41,8 @@ project(rssguard)
set(APP_NAME "RSS Guard")
set(APP_LOW_NAME "rssguard")
set(APP_VERSION "1.9.9.4")
set(FILE_VERSION "1,9,9,4")
set(APP_VERSION "1.9.9.5")
set(FILE_VERSION "1,9,9,5")
set(APP_AUTHOR "Martin Rotter")
set(APP_URL "http://www.rssguard.comehere.cz")
set(APP_URL_ISSUES "http://github.com/martinrotter/rssguard/issues")

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

View File

@ -1,4 +1,12 @@
<body>
[1.9.9.5]
<ul>
<li>[#] Mac OS X support missing.</li>
<li>[#] Virtual desktop change hides main window.</li>
<li>[#] Misleding external browser settings.</li>
<li>[#] Non-functional external browser shortcuts.</li>
<li>[+] Some missing shortcuts.</li>
</ul>
[1.9.9.4]
<ul>
<li>[+] Experimental MySQL backend support.</li>

View File

@ -230,6 +230,14 @@ void FeedMessageViewer::createConnections() {
SIGNAL(triggered()), m_feedsView, SLOT(deleteSelectedItem()));
connect(form_main->m_ui->m_actionSwitchFeedsListVisibility,
SIGNAL(triggered()), m_feedsView, SLOT(switchVisibility()));
connect(form_main->m_ui->m_actionSelectNextFeedCategory,
SIGNAL(triggered()), m_feedsView, SLOT(selectNextItem()));
connect(form_main->m_ui->m_actionSelectPreviousFeedCategory,
SIGNAL(triggered()), m_feedsView, SLOT(selectPreviousItem()));
connect(form_main->m_ui->m_actionSelectNextMessage,
SIGNAL(triggered()), m_messagesView, SLOT(selectNextItem()));
connect(form_main->m_ui->m_actionSelectPreviousMessage,
SIGNAL(triggered()), m_messagesView, SLOT(selectPreviousItem()));
connect(form_main->m_ui->m_actionDefragmentDatabase,
SIGNAL(triggered()), this, SLOT(vacuumDatabase()));
}

View File

@ -470,6 +470,24 @@ void FeedsView::updateCountsOfParticularFeed(FeedsModelFeed *feed,
notifyWithCounts();
}
void FeedsView::selectNextItem() {
QModelIndex index_next = index_next = moveCursor(QAbstractItemView::MoveDown, Qt::NoModifier);
if (index_next.isValid()) {
setCurrentIndex(index_next);
selectionModel()->select(index_next, QItemSelectionModel::Select | QItemSelectionModel::Rows);
}
}
void FeedsView::selectPreviousItem() {
QModelIndex index_previous = index_previous = moveCursor(QAbstractItemView::MoveUp, Qt::NoModifier);
if (index_previous.isValid()) {
setCurrentIndex(index_previous);
selectionModel()->select(index_previous, QItemSelectionModel::Select | QItemSelectionModel::Rows);
}
}
void FeedsView::initializeContextMenuCategoriesFeeds() {
m_contextMenuCategoriesFeeds = new QMenu(tr("Context menu for feeds"), this);
m_contextMenuCategoriesFeeds->addActions(QList<QAction*>() <<

View File

@ -104,6 +104,9 @@ class FeedsView : public QTreeView {
m_sourceModel->countOfAllMessages());
}
void selectNextItem();
void selectPreviousItem();
// Switches visibility of the widget.
void switchVisibility() {
setVisible(!isVisible());

View File

@ -87,7 +87,11 @@ QList<QAction*> FormMain::allActions() {
m_ui->m_actionDeleteSelectedFeedCategory <<
m_ui->m_actionViewSelectedItemsNewspaperMode <<
m_ui->m_actionAddStandardCategory <<
m_ui->m_actionAddStandardFeed;
m_ui->m_actionAddStandardFeed <<
m_ui->m_actionSelectNextFeedCategory <<
m_ui->m_actionSelectPreviousFeedCategory <<
m_ui->m_actionSelectNextMessage <<
m_ui->m_actionSelectPreviousMessage;
return actions;
}
@ -254,6 +258,12 @@ void FormMain::setupIcons() {
m_ui->m_actionOpenSelectedMessagesInternally->setIcon(icon_theme_factory->fromTheme("item-open"));
m_ui->m_actionViewSelectedItemsNewspaperMode->setIcon(icon_theme_factory->fromTheme("item-newspaper"));
m_ui->m_actionSelectNextFeedCategory->setIcon(icon_theme_factory->fromTheme("go-down"));
m_ui->m_actionSelectPreviousFeedCategory->setIcon(icon_theme_factory->fromTheme("go-up"));
m_ui->m_actionSelectNextMessage->setIcon(icon_theme_factory->fromTheme("go-down"));
m_ui->m_actionSelectPreviousMessage->setIcon(icon_theme_factory->fromTheme("go-up"));
// Setup icons for underlying components: opened web browsers...
foreach (WebBrowser *browser, WebBrowser::runningWebBrowsers()) {
browser->setupIcons();

View File

@ -112,6 +112,9 @@
<addaction name="m_actionEditSelectedFeedCategory"/>
<addaction name="m_actionDeleteSelectedFeedCategory"/>
<addaction name="separator"/>
<addaction name="m_actionSelectNextFeedCategory"/>
<addaction name="m_actionSelectPreviousFeedCategory"/>
<addaction name="separator"/>
<addaction name="m_actionViewSelectedItemsNewspaperMode"/>
<addaction name="m_actionMarkAllFeedsRead"/>
<addaction name="m_actionClearAllFeeds"/>
@ -127,6 +130,9 @@
<addaction name="m_actionOpenSelectedSourceArticlesInternally"/>
<addaction name="m_actionOpenSelectedMessagesInternally"/>
<addaction name="separator"/>
<addaction name="m_actionSelectNextMessage"/>
<addaction name="m_actionSelectPreviousMessage"/>
<addaction name="separator"/>
<addaction name="m_actionMarkSelectedMessagesAsRead"/>
<addaction name="m_actionMarkSelectedMessagesAsUnread"/>
<addaction name="m_actionSwitchImportanceOfSelectedMessages"/>
@ -483,6 +489,35 @@
<string notr="true"/>
</property>
</action>
<action name="m_actionSelectNextFeedCategory">
<property name="text">
<string>Select next feed/category</string>
</property>
<property name="toolTip">
<string>Select next feed/category.</string>
</property>
</action>
<action name="m_actionSelectPreviousFeedCategory">
<property name="text">
<string>Select previous feed/category</string>
</property>
<property name="toolTip">
<string>Select previous feed/category.</string>
</property>
</action>
<action name="m_actionSelectNextMessage">
<property name="text">
<string>Select next message</string>
</property>
<property name="toolTip">
<string>Select next message.</string>
</property>
</action>
<action name="m_actionSelectPreviousMessage">
<property name="text">
<string>Select previous message</string>
</property>
</action>
</widget>
<customwidgets>
<customwidget>

View File

@ -368,6 +368,24 @@ void MessagesView::reselectIndexes(const QModelIndexList &indexes) {
}
}
void MessagesView::selectNextItem() {
QModelIndex index_next = index_next = moveCursor(QAbstractItemView::MoveDown, Qt::NoModifier);
if (index_next.isValid()) {
setCurrentIndex(index_next);
selectionModel()->select(index_next, QItemSelectionModel::Select | QItemSelectionModel::Rows);
}
}
void MessagesView::selectPreviousItem() {
QModelIndex index_previous = index_previous = moveCursor(QAbstractItemView::MoveUp, Qt::NoModifier);
if (index_previous.isValid()) {
setCurrentIndex(index_previous);
selectionModel()->select(index_previous, QItemSelectionModel::Select | QItemSelectionModel::Rows);
}
}
void MessagesView::adjustColumns() {
if (header()->count() > 0 && !m_columnsAdjusted) {
m_columnsAdjusted = true;

View File

@ -56,6 +56,9 @@ class MessagesView : public QTreeView {
void deleteSelectedMessages();
void switchSelectedMessagesImportance();
void selectNextItem();
void selectPreviousItem();
protected slots:
// Marks given indexes as selected.
void reselectIndexes(const QModelIndexList &indexes);