Refactoring.
This commit is contained in:
parent
c615a2b450
commit
ebc9b2b1c0
4 changed files with 44 additions and 4 deletions
|
@ -87,7 +87,6 @@ class FeedsModel : public QAbstractItemModel {
|
|||
bool containsServiceRootFromEntryPoint(const ServiceEntryPoint *point) const;
|
||||
|
||||
// Direct and the only global accessor to standard service root.
|
||||
// NOTE: Standard service root is always activated.
|
||||
StandardServiceRoot *standardServiceRoot() const;
|
||||
|
||||
// Returns the list of feeds which should be updated
|
||||
|
|
|
@ -183,7 +183,7 @@ void Application::processExecutionMessage(const QString &message) {
|
|||
}
|
||||
else if (msg.startsWith(QL1S(URI_SCHEME_FEED_SHORT))) {
|
||||
// Application was running, and someone wants to add new feed.
|
||||
StandardServiceRoot *root = qApp->mainForm()->tabWidget()->feedMessageViewer()->feedsView()->sourceModel()->standardServiceRoot();
|
||||
StandardServiceRoot *root = qApp->feedReader()->feedsModel()->standardServiceRoot();
|
||||
|
||||
if (root != nullptr) {
|
||||
root->checkArgumentForFeedAdding(msg);
|
||||
|
|
|
@ -26,9 +26,16 @@
|
|||
#include "core/messagesmodel.h"
|
||||
#include "core/messagesproxymodel.h"
|
||||
#include "core/feeddownloader.h"
|
||||
#include "miscellaneous/databasecleaner.h"
|
||||
|
||||
#include <QThread>
|
||||
#include <QTimer>
|
||||
|
||||
|
||||
FeedReader::FeedReader(QObject *parent) : QObject(parent), m_feedServices(QList<ServiceEntryPoint*>()) {
|
||||
FeedReader::FeedReader(QObject *parent)
|
||||
: QObject(parent), m_feedServices(QList<ServiceEntryPoint*>()), m_autoUpdateTimer(new QTimer(this)),
|
||||
m_feedDownloaderThread(nullptr), m_feedDownloader(nullptr),
|
||||
m_dbCleanerThread(nullptr), m_dbCleaner(nullptr) {
|
||||
m_feedDownloader = new FeedDownloader(this);
|
||||
m_feedsModel = new FeedsModel(this);
|
||||
m_feedProxyModel = new FeedsProxyModel(m_feedsModel, this);
|
||||
|
@ -52,6 +59,23 @@ QList<ServiceEntryPoint*> FeedReader::feedServices() {
|
|||
return m_feedServices;
|
||||
}
|
||||
|
||||
DatabaseCleaner *FeedReader::databaseCleaner() {
|
||||
if (m_dbCleaner == nullptr) {
|
||||
m_dbCleaner = new DatabaseCleaner();
|
||||
m_dbCleanerThread = new QThread();
|
||||
|
||||
// Downloader setup.
|
||||
qRegisterMetaType<CleanerOrders>("CleanerOrders");
|
||||
m_dbCleaner->moveToThread(m_dbCleanerThread);
|
||||
connect(m_dbCleanerThread, SIGNAL(finished()), m_dbCleanerThread, SLOT(deleteLater()));
|
||||
|
||||
// Connections are made, start the feed downloader thread.
|
||||
m_dbCleanerThread->start();
|
||||
}
|
||||
|
||||
return m_dbCleaner;
|
||||
}
|
||||
|
||||
FeedDownloader *FeedReader::feedDownloader() const {
|
||||
return m_feedDownloader;
|
||||
}
|
||||
|
|
|
@ -27,6 +27,9 @@ class MessagesModel;
|
|||
class MessagesProxyModel;
|
||||
class FeedsProxyModel;
|
||||
class ServiceEntryPoint;
|
||||
class DatabaseCleaner;
|
||||
class QTimer;
|
||||
class Feed;
|
||||
|
||||
class FeedReader : public QObject {
|
||||
Q_OBJECT
|
||||
|
@ -39,6 +42,9 @@ class FeedReader : public QObject {
|
|||
// "standard" service entry point.
|
||||
QList<ServiceEntryPoint*> feedServices();
|
||||
|
||||
// Access to DB cleaner.
|
||||
DatabaseCleaner *databaseCleaner();
|
||||
|
||||
FeedDownloader *feedDownloader() const;
|
||||
FeedsModel *feedsModel() const;
|
||||
MessagesModel *messagesModel() const;
|
||||
|
@ -52,11 +58,22 @@ class FeedReader : public QObject {
|
|||
private:
|
||||
QList<ServiceEntryPoint*> m_feedServices;
|
||||
|
||||
FeedDownloader *m_feedDownloader;
|
||||
FeedsModel *m_feedsModel;
|
||||
FeedsProxyModel *m_feedProxyModel;
|
||||
MessagesModel *m_messagesModel;
|
||||
MessagesProxyModel *m_messagesProxyModel;
|
||||
|
||||
// Auto-update stuff.
|
||||
QTimer *m_autoUpdateTimer;
|
||||
bool m_globalAutoUpdateEnabled;
|
||||
int m_globalAutoUpdateInitialInterval;
|
||||
int m_globalAutoUpdateRemainingInterval;
|
||||
|
||||
QThread *m_feedDownloaderThread;
|
||||
FeedDownloader *m_feedDownloader;
|
||||
|
||||
QThread *m_dbCleanerThread;
|
||||
DatabaseCleaner *m_dbCleaner;
|
||||
};
|
||||
|
||||
#endif // FEEDREADER_H
|
||||
|
|
Loading…
Add table
Reference in a new issue