Work and adding/editing feeds.

This commit is contained in:
Martin Rotter 2014-01-30 14:37:28 +01:00
parent 75ea2a6e38
commit 45414e9949
9 changed files with 72 additions and 39 deletions

View File

@ -263,6 +263,16 @@ bool FeedsModel::editStandardCategory(FeedsModelStandardCategory *original_categ
return true;
}
bool FeedsModel::addStandardFeed(FeedsModelStandardFeed *feed,
FeedsModelRootItem *parent) {
return false;
}
bool FeedsModel::editStandardFeed(FeedsModelStandardFeed *original_feed,
FeedsModelStandardFeed *new_feed) {
return false;
}
QList<Message> FeedsModel::messagesForFeeds(const QList<FeedsModelFeed*> &feeds) {
QList<Message> messages;

View File

@ -57,11 +57,10 @@ class FeedsModel : public QAbstractItemModel {
FeedsModelStandardCategory *new_category);
// Standard feed manipulators.
/*
bool addStandardFeed(FeedsModelStandardFeed *feed,
FeedsModelRootItem *parent);
bool removeStandardFeed(FeedsModelStandardFeed *feed);
*/
bool editStandardFeed(FeedsModelStandardFeed *original_feed,
FeedsModelStandardFeed *new_feed);
// Returns (undeleted) messages for given feeds.
QList<Message> messagesForFeeds(const QList<FeedsModelFeed*> &feeds);

View File

@ -207,9 +207,9 @@ void FeedMessageViewer::createConnections() {
SIGNAL(triggered()), m_messagesView, SLOT(openSelectedMessagesInternally()));
connect(FormMain::instance()->m_ui->m_actionMarkAllFeedsRead,
SIGNAL(triggered()), m_feedsView, SLOT(markAllFeedsRead()));
connect(FormMain::instance()->m_ui->m_actionMarkFeedsAsRead,
connect(FormMain::instance()->m_ui->m_actionMarkSelectedFeedsAsRead,
SIGNAL(triggered()), m_feedsView, SLOT(markSelectedFeedsRead()));
connect(FormMain::instance()->m_ui->m_actionMarkFeedsAsUnread,
connect(FormMain::instance()->m_ui->m_actionMarkSelectedFeedsAsUnread,
SIGNAL(triggered()), m_feedsView, SLOT(markSelectedFeedsUnread()));
connect(FormMain::instance()->m_ui->m_actionClearFeeds,
SIGNAL(triggered()), m_feedsView, SLOT(clearSelectedFeeds()));
@ -244,8 +244,8 @@ void FeedMessageViewer::initialize() {
m_toolBar->addAction(FormMain::instance()->m_ui->m_actionEditSelectedFeedCategory);
m_toolBar->addAction(FormMain::instance()->m_ui->m_actionDeleteSelectedFeedCategory);
m_toolBar->addSeparator();
m_toolBar->addAction(FormMain::instance()->m_ui->m_actionMarkFeedsAsRead);
m_toolBar->addAction(FormMain::instance()->m_ui->m_actionMarkFeedsAsUnread);
m_toolBar->addAction(FormMain::instance()->m_ui->m_actionMarkSelectedFeedsAsRead);
m_toolBar->addAction(FormMain::instance()->m_ui->m_actionMarkSelectedFeedsAsUnread);
m_toolBar->addAction(FormMain::instance()->m_ui->m_actionClearFeeds);
// Finish web/message browser setup.

View File

@ -360,8 +360,8 @@ void FeedsView::initializeContextMenuCategoriesFeeds() {
m_contextMenuCategoriesFeeds->addActions(QList<QAction*>() <<
FormMain::instance()->m_ui->m_actionUpdateSelectedFeedsCategories <<
FormMain::instance()->m_ui->m_actionViewSelectedItemsNewspaperMode <<
FormMain::instance()->m_ui->m_actionMarkFeedsAsRead <<
FormMain::instance()->m_ui->m_actionMarkFeedsAsUnread);
FormMain::instance()->m_ui->m_actionMarkSelectedFeedsAsRead <<
FormMain::instance()->m_ui->m_actionMarkSelectedFeedsAsUnread);
}
void FeedsView::initializeContextMenuEmptySpace() {

View File

@ -71,8 +71,8 @@ QList<QAction*> FormMain::allActions() {
actions << m_ui->m_actionOpenSelectedSourceArticlesExternally <<
m_ui->m_actionOpenSelectedSourceArticlesInternally <<
m_ui->m_actionOpenSelectedMessagesInternally <<
m_ui->m_actionMarkFeedsAsRead <<
m_ui->m_actionMarkFeedsAsUnread <<
m_ui->m_actionMarkSelectedFeedsAsRead <<
m_ui->m_actionMarkSelectedFeedsAsUnread <<
m_ui->m_actionClearFeeds <<
m_ui->m_actionMarkSelectedMessagesAsRead <<
m_ui->m_actionMarkSelectedMessagesAsUnread <<
@ -97,6 +97,7 @@ void FormMain::prepareMenus() {
// Add needed items to the menu.
m_trayMenu->addAction(m_ui->m_actionUpdateAllFeeds);
m_trayMenu->addAction(m_ui->m_actionMarkAllFeedsRead);
m_trayMenu->addSeparator();
m_trayMenu->addAction(m_ui->m_actionSettings);
m_trayMenu->addAction(m_ui->m_actionQuit);
@ -214,6 +215,7 @@ void FormMain::setupIcons() {
m_ui->m_menuCurrentTab->setIcon(IconThemeFactory::instance()->fromTheme("go-home"));
// Feeds/messages.
m_ui->m_menuAddItem->setIcon(IconThemeFactory::instance()->fromTheme("document-new"));
m_ui->m_actionUpdateAllFeeds->setIcon(IconThemeFactory::instance()->fromTheme("document-save-as"));
m_ui->m_actionUpdateSelectedFeedsCategories->setIcon(IconThemeFactory::instance()->fromTheme("document-save"));
m_ui->m_actionClearFeeds->setIcon(IconThemeFactory::instance()->fromTheme("mail-mark-junk"));
@ -223,9 +225,8 @@ void FormMain::setupIcons() {
m_ui->m_actionAddStandardFeed->setIcon(IconThemeFactory::instance()->fromTheme("document-new"));
m_ui->m_actionEditSelectedFeedCategory->setIcon(IconThemeFactory::instance()->fromTheme("gnome-other"));
m_ui->m_actionMarkAllFeedsRead->setIcon(IconThemeFactory::instance()->fromTheme("mail-mark-not-junk"));
m_ui->m_actionMarkFeedsAsRead->setIcon(IconThemeFactory::instance()->fromTheme("mail-mark-not-junk"));
m_ui->m_actionMarkFeedsAsUnread->setIcon(IconThemeFactory::instance()->fromTheme("mail-mark-important"));
m_ui->m_actionMarkFeedsAsRead->setIcon(IconThemeFactory::instance()->fromTheme("mail-mark-not-junk"));
m_ui->m_actionMarkSelectedFeedsAsRead->setIcon(IconThemeFactory::instance()->fromTheme("mail-mark-not-junk"));
m_ui->m_actionMarkSelectedFeedsAsUnread->setIcon(IconThemeFactory::instance()->fromTheme("mail-mark-important"));
m_ui->m_actionMarkSelectedMessagesAsRead->setIcon(IconThemeFactory::instance()->fromTheme("mail-mark-not-junk"));
m_ui->m_actionMarkSelectedMessagesAsUnread->setIcon(IconThemeFactory::instance()->fromTheme("mail-mark-important"));
m_ui->m_actionSwitchImportanceOfSelectedMessages->setIcon(IconThemeFactory::instance()->fromTheme("favorites"));

View File

@ -94,18 +94,24 @@
<property name="title">
<string>Fee&amp;ds &amp;&amp; categories</string>
</property>
<widget class="QMenu" name="m_menuAddItem">
<property name="title">
<string>Add new item</string>
</property>
<addaction name="m_actionAddStandardCategory"/>
<addaction name="m_actionAddStandardFeed"/>
</widget>
<addaction name="m_actionUpdateAllFeeds"/>
<addaction name="m_actionUpdateSelectedFeedsCategories"/>
<addaction name="separator"/>
<addaction name="m_actionAddStandardFeed"/>
<addaction name="m_actionAddStandardCategory"/>
<addaction name="m_menuAddItem"/>
<addaction name="m_actionEditSelectedFeedCategory"/>
<addaction name="m_actionDeleteSelectedFeedCategory"/>
<addaction name="separator"/>
<addaction name="m_actionViewSelectedItemsNewspaperMode"/>
<addaction name="m_actionMarkAllFeedsRead"/>
<addaction name="m_actionMarkFeedsAsRead"/>
<addaction name="m_actionMarkFeedsAsUnread"/>
<addaction name="m_actionMarkSelectedFeedsAsRead"/>
<addaction name="m_actionMarkSelectedFeedsAsUnread"/>
<addaction name="m_actionClearFeeds"/>
</widget>
<widget class="QMenu" name="m_menuMessages">
@ -292,7 +298,7 @@
<string notr="true"/>
</property>
</action>
<action name="m_actionMarkFeedsAsRead">
<action name="m_actionMarkSelectedFeedsAsRead">
<property name="text">
<string>Mark &amp;selected items read</string>
</property>
@ -300,7 +306,7 @@
<string>Mark all messages (without message filters) from selected feeds as read.</string>
</property>
</action>
<action name="m_actionMarkFeedsAsUnread">
<action name="m_actionMarkSelectedFeedsAsUnread">
<property name="text">
<string>Mark selected items unread</string>
</property>
@ -326,10 +332,10 @@
</action>
<action name="m_actionAddStandardFeed">
<property name="text">
<string>Add new standard &amp;feed</string>
<string>Standard &amp;feed</string>
</property>
<property name="toolTip">
<string>Add new feed.</string>
<string>Add new standard feed.</string>
</property>
</action>
<action name="m_actionOpenSelectedSourceArticlesExternally">
@ -367,7 +373,7 @@
</action>
<action name="m_actionAddStandardCategory">
<property name="text">
<string>Add new standard &amp;category</string>
<string>Standard &amp;category</string>
</property>
<property name="toolTip">
<string>Add new standard category.</string>

View File

@ -133,8 +133,37 @@ void FormStandardFeedDetails::onUseDefaultIcon() {
m_ui->m_btnIcon->setIcon(IconThemeFactory::instance()->fromTheme("application-rss+xml"));
}
void FormStandardFeedDetails::apply() {
FeedsModelRootItem *parent = static_cast<FeedsModelRootItem*>(m_ui->m_cmbParentCategory->itemData(m_ui->m_cmbParentCategory->currentIndex()).value<void*>());
FeedsModelStandardFeed *new_feed = new FeedsModelStandardFeed();
// TODO: Setup data for new_feed.
if (m_editableFeed == NULL) {
// TODO: Add the feed.
// Add the category.
if (m_feedsModel->addStandardFeed(new_feed, parent)) {
accept();
}
else {
// TODO: hlasit chybu
}
}
else {
// TODO: Edit the feed.
if (m_feedsModel->editStandardFeed(m_editableFeed, new_feed)) {
accept();
}
else {
// TODO: hlasit chybu
}
}
}
void FormStandardFeedDetails::createConnections() {
// General connections.
connect(m_ui->m_buttonBox, SIGNAL(accepted()),
this, SLOT(apply()));
connect(m_ui->m_txtTitle->lineEdit(), SIGNAL(textChanged(QString)),
this, SLOT(onTitleChanged(QString)));
connect(m_ui->m_txtDescription->lineEdit(), SIGNAL(textChanged(QString)),

View File

@ -28,11 +28,15 @@ class FormStandardFeedDetails : public QDialog {
int exec(FeedsModelStandardFeed *input_feed);
protected slots:
// Applies changes.
void apply();
// Trigerred when title/description/url changes.
void onTitleChanged(const QString &new_title);
void onDescriptionChanged(const QString &new_description);
void onUrlChanged(const QString &new_url);
// Check if "OK" button can be enabled or not.
void checkOkButtonEnabled();
// Icon selectors.

View File

@ -174,22 +174,6 @@
</customwidgets>
<resources/>
<connections>
<connection>
<sender>m_buttonBox</sender>
<signal>accepted()</signal>
<receiver>FormStandardFeedDetails</receiver>
<slot>accept()</slot>
<hints>
<hint type="sourcelabel">
<x>248</x>
<y>254</y>
</hint>
<hint type="destinationlabel">
<x>157</x>
<y>274</y>
</hint>
</hints>
</connection>
<connection>
<sender>m_buttonBox</sender>
<signal>rejected()</signal>