Can edit ownCloud feed auto-update policy.
This commit is contained in:
parent
a822d6b8c6
commit
4c44bc2859
@ -8,7 +8,7 @@ Main:
|
|||||||
|
|
||||||
Added:
|
Added:
|
||||||
|
|
||||||
▪ ownCloud plugin now can delete feeds.
|
▪ ownCloud plugin now can delete feeds and edit auto-update policy of feeds.
|
||||||
▪ Global auto-update feed interval spinbox now has better format. (issue #176)
|
▪ Global auto-update feed interval spinbox now has better format. (issue #176)
|
||||||
▪ Message preview's font is now fully adjustable in settings. (issue #177)
|
▪ Message preview's font is now fully adjustable in settings. (issue #177)
|
||||||
▪ RSS Guard now automatically switches to SQLite backend if MySQL is not available on program startup.
|
▪ RSS Guard now automatically switches to SQLite backend if MySQL is not available on program startup.
|
||||||
|
@ -95,7 +95,7 @@ void FormEditOwnCloudFeed::performAction() {
|
|||||||
saveFeed();
|
saveFeed();
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
addNewFeed();
|
// TODO: Add new feed.
|
||||||
}
|
}
|
||||||
|
|
||||||
accept();
|
accept();
|
||||||
@ -200,42 +200,10 @@ void FormEditOwnCloudFeed::saveFeed() {
|
|||||||
new_feed_data->setAutoUpdateType(static_cast<Feed::AutoUpdateType>(m_ui->m_cmbAutoUpdateType->itemData(m_ui->m_cmbAutoUpdateType->currentIndex()).toInt()));
|
new_feed_data->setAutoUpdateType(static_cast<Feed::AutoUpdateType>(m_ui->m_cmbAutoUpdateType->itemData(m_ui->m_cmbAutoUpdateType->currentIndex()).toInt()));
|
||||||
new_feed_data->setAutoUpdateInitialInterval(m_ui->m_spinAutoUpdateInterval->value());
|
new_feed_data->setAutoUpdateInitialInterval(m_ui->m_spinAutoUpdateInterval->value());
|
||||||
|
|
||||||
// TODO: todo
|
m_loadedFeed->editItself(new_feed_data);
|
||||||
//m_loadedFeed->editItself(new_feed_data);
|
|
||||||
delete new_feed_data;
|
delete new_feed_data;
|
||||||
}
|
}
|
||||||
|
|
||||||
void FormEditOwnCloudFeed::addNewFeed() {
|
|
||||||
RootItem *parent = static_cast<RootItem*>(m_ui->m_cmbParentCategory->itemData(m_ui->m_cmbParentCategory->currentIndex()).value<void*>());
|
|
||||||
|
|
||||||
// TODO: TODO.
|
|
||||||
/*
|
|
||||||
OwnCloudServiceRoot *root = parent->kind() == RootItemKind::Category ?
|
|
||||||
qobject_cast<OwnCloudCategory*>(parent)->serviceRoot() :
|
|
||||||
qobject_cast<OwnCloudServiceRoot*>(parent);
|
|
||||||
const int category_id = parent->kind() == RootItemKind::ServiceRoot ?
|
|
||||||
0 :
|
|
||||||
qobject_cast<TtRssCategory*>(parent)->customId();
|
|
||||||
const TtRssSubscribeToFeedResponse response = root->network()->subscribeToFeed(m_ui->m_txtUrl->lineEdit()->text(),
|
|
||||||
category_id,
|
|
||||||
m_ui->m_gbAuthentication->isChecked(),
|
|
||||||
m_ui->m_txtUsername->lineEdit()->text(),
|
|
||||||
m_ui->m_txtPassword->lineEdit()->text());
|
|
||||||
|
|
||||||
if (response.code() == STF_INSERTED) {
|
|
||||||
// Feed was added online.
|
|
||||||
accept();
|
|
||||||
qApp->showGuiMessage(tr("Feed added"), tr("Feed was added, triggering sync in now."), QSystemTrayIcon::Information);
|
|
||||||
QTimer::singleShot(100, root, SLOT(syncIn()));
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
reject();
|
|
||||||
qApp->showGuiMessage(tr("Cannot add feed"),
|
|
||||||
tr("Feed was not added due to error."),
|
|
||||||
QSystemTrayIcon::Critical, qApp->mainForm(), true);
|
|
||||||
}*/
|
|
||||||
}
|
|
||||||
|
|
||||||
void FormEditOwnCloudFeed::loadCategories(const QList<Category*> categories, RootItem *root_item) {
|
void FormEditOwnCloudFeed::loadCategories(const QList<Category*> categories, RootItem *root_item) {
|
||||||
m_ui->m_cmbParentCategory->addItem(root_item->icon(),
|
m_ui->m_cmbParentCategory->addItem(root_item->icon(),
|
||||||
root_item->title(),
|
root_item->title(),
|
||||||
|
@ -54,7 +54,6 @@ class FormEditOwnCloudFeed : public QDialog {
|
|||||||
void initialize();
|
void initialize();
|
||||||
void loadFeed(OwnCloudFeed *input_feed);
|
void loadFeed(OwnCloudFeed *input_feed);
|
||||||
void saveFeed();
|
void saveFeed();
|
||||||
void addNewFeed();
|
|
||||||
void loadCategories(const QList<Category*> categories, RootItem *root_item);
|
void loadCategories(const QList<Category*> categories, RootItem *root_item);
|
||||||
|
|
||||||
QScopedPointer<Ui::FormEditOwnCloudFeed> m_ui;
|
QScopedPointer<Ui::FormEditOwnCloudFeed> m_ui;
|
||||||
|
@ -71,6 +71,21 @@ bool OwnCloudFeed::deleteViaGui() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool OwnCloudFeed::editItself(OwnCloudFeed *new_feed_data) {
|
||||||
|
QSqlDatabase database = qApp->database()->connection(metaObject()->className(), DatabaseFactory::FromSettings);
|
||||||
|
|
||||||
|
if (!DatabaseQueries::editBaseFeed(database, id(), new_feed_data->autoUpdateType(),
|
||||||
|
new_feed_data->autoUpdateInitialInterval())) {
|
||||||
|
// Persistent storage update failed, no way to continue now.
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
setAutoUpdateType(new_feed_data->autoUpdateType());
|
||||||
|
setAutoUpdateInitialInterval(new_feed_data->autoUpdateInitialInterval());
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
bool OwnCloudFeed::markAsReadUnread(RootItem::ReadStatus status) {
|
bool OwnCloudFeed::markAsReadUnread(RootItem::ReadStatus status) {
|
||||||
QStringList ids = getParentServiceRoot()->customIDSOfMessagesForItem(this);
|
QStringList ids = getParentServiceRoot()->customIDSOfMessagesForItem(this);
|
||||||
QNetworkReply::NetworkError response = serviceRoot()->network()->markMessagesRead(status, ids);
|
QNetworkReply::NetworkError response = serviceRoot()->network()->markMessagesRead(status, ids);
|
||||||
|
@ -36,6 +36,8 @@ class OwnCloudFeed : public Feed {
|
|||||||
bool canBeDeleted() const;
|
bool canBeDeleted() const;
|
||||||
bool deleteViaGui();
|
bool deleteViaGui();
|
||||||
|
|
||||||
|
bool editItself(OwnCloudFeed *new_feed_data);
|
||||||
|
|
||||||
bool markAsReadUnread(ReadStatus status);
|
bool markAsReadUnread(ReadStatus status);
|
||||||
bool cleanMessages(bool clear_only_read);
|
bool cleanMessages(bool clear_only_read);
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user