Refactorings...
This commit is contained in:
parent
406cc9cde5
commit
101140d6ed
@ -298,6 +298,12 @@ QSqlDatabase DatabaseFactory::connection(const QString &connection_name,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void DatabaseFactory::removeConnection(const QString &connection_name) {
|
||||||
|
qDebug("Removing database connection '%s'.", qPrintable(connection_name));
|
||||||
|
|
||||||
|
QSqlDatabase::removeDatabase(connection_name);
|
||||||
|
}
|
||||||
|
|
||||||
void DatabaseFactory::saveMemoryDatabase() {
|
void DatabaseFactory::saveMemoryDatabase() {
|
||||||
QSqlDatabase database = connection();
|
QSqlDatabase database = connection();
|
||||||
QSqlDatabase file_database = connection(objectName(), false);
|
QSqlDatabase file_database = connection(objectName(), false);
|
||||||
|
@ -25,11 +25,7 @@ class DatabaseFactory : public QObject {
|
|||||||
bool in_memory = true);
|
bool in_memory = true);
|
||||||
|
|
||||||
// Removes connection.
|
// Removes connection.
|
||||||
inline void removeConnection(const QString &connection_name = QString()) {
|
void removeConnection(const QString &connection_name = QString());
|
||||||
qDebug("Removing database connection '%s'.", qPrintable(connection_name));
|
|
||||||
|
|
||||||
QSqlDatabase::removeDatabase(connection_name);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Performs saving of items from in-memory database
|
// Performs saving of items from in-memory database
|
||||||
// to file-based database.
|
// to file-based database.
|
||||||
|
@ -317,7 +317,7 @@ void FeedsModel::reloadWholeLayout() {
|
|||||||
void FeedsModel::loadFromDatabase() {
|
void FeedsModel::loadFromDatabase() {
|
||||||
// Delete all childs of the root node and clear them from the memory.
|
// Delete all childs of the root node and clear them from the memory.
|
||||||
qDeleteAll(m_rootItem->childItems());
|
qDeleteAll(m_rootItem->childItems());
|
||||||
m_rootItem->clearChilds();
|
m_rootItem->clearChildren();
|
||||||
|
|
||||||
QSqlDatabase database = DatabaseFactory::instance()->connection();
|
QSqlDatabase database = DatabaseFactory::instance()->connection();
|
||||||
CategoryAssignment categories;
|
CategoryAssignment categories;
|
||||||
|
@ -16,23 +16,7 @@ FeedsModelRootItem::~FeedsModelRootItem() {
|
|||||||
qDeleteAll(m_childItems);
|
qDeleteAll(m_childItems);
|
||||||
}
|
}
|
||||||
|
|
||||||
FeedsModelRootItem::Kind FeedsModelRootItem::kind() const {
|
|
||||||
return m_kind;
|
|
||||||
}
|
|
||||||
|
|
||||||
QIcon FeedsModelRootItem::icon() const {
|
|
||||||
return m_icon;
|
|
||||||
}
|
|
||||||
|
|
||||||
void FeedsModelRootItem::appendChild(FeedsModelRootItem *child) {
|
|
||||||
m_childItems.append(child);
|
|
||||||
child->setParent(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
int FeedsModelRootItem::columnCount() const {
|
|
||||||
// FeedsModel offers exactly two columns.
|
|
||||||
return 2;
|
|
||||||
}
|
|
||||||
|
|
||||||
int FeedsModelRootItem::row() const {
|
int FeedsModelRootItem::row() const {
|
||||||
if (m_parentItem) {
|
if (m_parentItem) {
|
||||||
@ -44,10 +28,6 @@ int FeedsModelRootItem::row() const {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
int FeedsModelRootItem::childCount() const {
|
|
||||||
return m_childItems.size();
|
|
||||||
}
|
|
||||||
|
|
||||||
QVariant FeedsModelRootItem::data(int column, int role) const {
|
QVariant FeedsModelRootItem::data(int column, int role) const {
|
||||||
Q_UNUSED(column)
|
Q_UNUSED(column)
|
||||||
Q_UNUSED(role)
|
Q_UNUSED(role)
|
||||||
@ -76,34 +56,6 @@ int FeedsModelRootItem::countOfUnreadMessages() const {
|
|||||||
return total_count;
|
return total_count;
|
||||||
}
|
}
|
||||||
|
|
||||||
void FeedsModelRootItem::setIcon(const QIcon &icon) {
|
|
||||||
m_icon = icon;
|
|
||||||
}
|
|
||||||
|
|
||||||
int FeedsModelRootItem::id() const {
|
|
||||||
return m_id;
|
|
||||||
}
|
|
||||||
|
|
||||||
void FeedsModelRootItem::setId(int id) {
|
|
||||||
m_id = id;
|
|
||||||
}
|
|
||||||
|
|
||||||
QString FeedsModelRootItem::title() const {
|
|
||||||
return m_title;
|
|
||||||
}
|
|
||||||
|
|
||||||
void FeedsModelRootItem::setTitle(const QString &title) {
|
|
||||||
m_title = title;
|
|
||||||
}
|
|
||||||
|
|
||||||
QList<FeedsModelRootItem *> FeedsModelRootItem::childItems() const {
|
|
||||||
return m_childItems;
|
|
||||||
}
|
|
||||||
|
|
||||||
void FeedsModelRootItem::clearChilds() {
|
|
||||||
m_childItems.clear();
|
|
||||||
}
|
|
||||||
|
|
||||||
bool FeedsModelRootItem::removeChild(int index) {
|
bool FeedsModelRootItem::removeChild(int index) {
|
||||||
if (index >= 0 && index < m_childItems.size()) {
|
if (index >= 0 && index < m_childItems.size()) {
|
||||||
m_childItems.removeAt(index);
|
m_childItems.removeAt(index);
|
||||||
@ -114,25 +66,6 @@ bool FeedsModelRootItem::removeChild(int index) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
QDateTime FeedsModelRootItem::creationDate() const {
|
|
||||||
return m_creationDate;
|
|
||||||
}
|
|
||||||
|
|
||||||
void FeedsModelRootItem::setCreationDate(const QDateTime &creation_date) {
|
|
||||||
m_creationDate = creation_date;
|
|
||||||
}
|
|
||||||
|
|
||||||
QString FeedsModelRootItem::description() const {
|
|
||||||
return m_description;
|
|
||||||
}
|
|
||||||
|
|
||||||
void FeedsModelRootItem::setDescription(const QString &description) {
|
|
||||||
m_description = description;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
bool FeedsModelRootItem::isEqual(FeedsModelRootItem *lhs,
|
bool FeedsModelRootItem::isEqual(FeedsModelRootItem *lhs,
|
||||||
FeedsModelRootItem *rhs) {
|
FeedsModelRootItem *rhs) {
|
||||||
return (lhs->kind() == rhs->kind()) && (lhs->id() == rhs->id());
|
return (lhs->kind() == rhs->kind()) && (lhs->id() == rhs->id());
|
||||||
|
@ -35,9 +35,20 @@ class FeedsModelRootItem {
|
|||||||
return m_childItems.value(row);
|
return m_childItems.value(row);
|
||||||
}
|
}
|
||||||
|
|
||||||
virtual void appendChild(FeedsModelRootItem *child);
|
inline virtual int childCount() const {
|
||||||
virtual int childCount() const;
|
return m_childItems.size();
|
||||||
virtual int columnCount() const;
|
}
|
||||||
|
|
||||||
|
inline virtual int columnCount() const {
|
||||||
|
// FeedsModel offers exactly two columns.
|
||||||
|
return 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
inline virtual void appendChild(FeedsModelRootItem *child) {
|
||||||
|
m_childItems.append(child);
|
||||||
|
child->setParent(this);
|
||||||
|
}
|
||||||
|
|
||||||
virtual int row() const;
|
virtual int row() const;
|
||||||
virtual QVariant data(int column, int role) const;
|
virtual QVariant data(int column, int role) const;
|
||||||
|
|
||||||
@ -46,38 +57,69 @@ class FeedsModelRootItem {
|
|||||||
virtual int countOfUnreadMessages() const;
|
virtual int countOfUnreadMessages() const;
|
||||||
virtual int countOfAllMessages() const;
|
virtual int countOfAllMessages() const;
|
||||||
|
|
||||||
virtual Kind kind() const;
|
|
||||||
|
|
||||||
// Each item has icon.
|
|
||||||
QIcon icon() const;
|
|
||||||
void setIcon(const QIcon &icon);
|
|
||||||
|
|
||||||
// Each item has some kind of id.
|
|
||||||
int id() const;
|
|
||||||
void setId(int id);
|
|
||||||
|
|
||||||
// Each item has its title.
|
|
||||||
// NOTE: This is note entirely true for the root item.
|
|
||||||
QString title() const;
|
|
||||||
void setTitle(const QString &title);
|
|
||||||
|
|
||||||
QDateTime creationDate() const;
|
|
||||||
void setCreationDate(const QDateTime &creation_date);
|
|
||||||
|
|
||||||
QString description() const;
|
|
||||||
void setDescription(const QString &description);
|
|
||||||
|
|
||||||
// Access to children.
|
// Access to children.
|
||||||
QList<FeedsModelRootItem *> childItems() const;
|
inline QList<FeedsModelRootItem*> childItems() const {
|
||||||
|
return m_childItems;
|
||||||
|
}
|
||||||
|
|
||||||
// Removes all children from this item.
|
// Removes all children from this item.
|
||||||
// NOTE: Children are NOT freed from the memory.
|
// NOTE: Children are NOT freed from the memory.
|
||||||
void clearChilds();
|
inline void clearChildren() {
|
||||||
|
m_childItems.clear();
|
||||||
|
}
|
||||||
|
|
||||||
// Removes particular child at given index.
|
// Removes particular child at given index.
|
||||||
// NOTE: Child is NOT freed from the memory.
|
// NOTE: Child is NOT freed from the memory.
|
||||||
bool removeChild(int index);
|
bool removeChild(int index);
|
||||||
|
|
||||||
|
inline Kind kind() const {
|
||||||
|
return m_kind;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Each item has icon.
|
||||||
|
inline QIcon icon() const {
|
||||||
|
return m_icon;
|
||||||
|
}
|
||||||
|
|
||||||
|
inline void setIcon(const QIcon &icon) {
|
||||||
|
m_icon = icon;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Each item has some kind of id.
|
||||||
|
inline int id() const {
|
||||||
|
return m_id;
|
||||||
|
}
|
||||||
|
|
||||||
|
inline void setId(int id) {
|
||||||
|
m_id = id;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Each item has its title.
|
||||||
|
// NOTE: This is note entirely true for the root item.
|
||||||
|
inline QString title() const {
|
||||||
|
return m_title;
|
||||||
|
}
|
||||||
|
|
||||||
|
inline void setTitle(const QString &title) {
|
||||||
|
m_title = title;
|
||||||
|
}
|
||||||
|
|
||||||
|
inline QDateTime creationDate() const {
|
||||||
|
return m_creationDate;
|
||||||
|
}
|
||||||
|
|
||||||
|
inline void setCreationDate(const QDateTime &creation_date) {
|
||||||
|
m_creationDate = creation_date;
|
||||||
|
}
|
||||||
|
|
||||||
|
inline QString description() const {
|
||||||
|
return m_description;
|
||||||
|
}
|
||||||
|
|
||||||
|
inline void setDescription(const QString &description) {
|
||||||
|
m_description = description;
|
||||||
|
}
|
||||||
|
|
||||||
// Compares two model items.
|
// Compares two model items.
|
||||||
static bool isEqual(FeedsModelRootItem *lhs, FeedsModelRootItem *rhs);
|
static bool isEqual(FeedsModelRootItem *lhs, FeedsModelRootItem *rhs);
|
||||||
static bool lessThan(FeedsModelRootItem *lhs, FeedsModelRootItem *rhs);
|
static bool lessThan(FeedsModelRootItem *lhs, FeedsModelRootItem *rhs);
|
||||||
|
@ -38,30 +38,6 @@ FeedsModelStandardFeed *FeedsModelStandardFeed::loadFromRecord(const QSqlRecord
|
|||||||
return feed;
|
return feed;
|
||||||
}
|
}
|
||||||
|
|
||||||
QString FeedsModelStandardFeed::encoding() const {
|
|
||||||
return m_encoding;
|
|
||||||
}
|
|
||||||
|
|
||||||
void FeedsModelStandardFeed::setEncoding(const QString &encoding) {
|
|
||||||
m_encoding = encoding;
|
|
||||||
}
|
|
||||||
|
|
||||||
QString FeedsModelStandardFeed::url() const {
|
|
||||||
return m_url;
|
|
||||||
}
|
|
||||||
|
|
||||||
void FeedsModelStandardFeed::setUrl(const QString &url) {
|
|
||||||
m_url = url;
|
|
||||||
}
|
|
||||||
|
|
||||||
QString FeedsModelStandardFeed::language() const {
|
|
||||||
return m_language;
|
|
||||||
}
|
|
||||||
|
|
||||||
void FeedsModelStandardFeed::setLanguage(const QString &language) {
|
|
||||||
m_language = language;
|
|
||||||
}
|
|
||||||
|
|
||||||
QVariant FeedsModelStandardFeed::data(int column, int role) const {
|
QVariant FeedsModelStandardFeed::data(int column, int role) const {
|
||||||
switch (role) {
|
switch (role) {
|
||||||
case Qt::DisplayRole:
|
case Qt::DisplayRole:
|
||||||
@ -131,8 +107,8 @@ QVariant FeedsModelStandardFeed::data(int column, int role) const {
|
|||||||
void FeedsModelStandardFeed::update() {
|
void FeedsModelStandardFeed::update() {
|
||||||
QByteArray feed_contents;
|
QByteArray feed_contents;
|
||||||
int download_timeout = Settings::instance()->value(APP_CFG_FEEDS,
|
int download_timeout = Settings::instance()->value(APP_CFG_FEEDS,
|
||||||
"download_timeout",
|
"download_timeout",
|
||||||
DOWNLOAD_TIMEOUT).toInt();
|
DOWNLOAD_TIMEOUT).toInt();
|
||||||
|
|
||||||
// TODO: Provide download time-measures debugging
|
// TODO: Provide download time-measures debugging
|
||||||
// outputs here.
|
// outputs here.
|
||||||
|
@ -25,14 +25,29 @@ class FeedsModelStandardFeed : public FeedsModelFeed {
|
|||||||
void update();
|
void update();
|
||||||
|
|
||||||
// Various getters/setters.
|
// Various getters/setters.
|
||||||
QString encoding() const;
|
inline QString encoding() const {
|
||||||
void setEncoding(const QString &encoding);
|
return m_encoding;
|
||||||
|
}
|
||||||
|
|
||||||
QString url() const;
|
inline void setEncoding(const QString &encoding) {
|
||||||
void setUrl(const QString &url);
|
m_encoding = encoding;
|
||||||
|
}
|
||||||
|
|
||||||
QString language() const;
|
inline QString url() const {
|
||||||
void setLanguage(const QString &language);
|
return m_url;
|
||||||
|
}
|
||||||
|
|
||||||
|
inline void setUrl(const QString &url) {
|
||||||
|
m_url = url;
|
||||||
|
}
|
||||||
|
|
||||||
|
inline QString language() const {
|
||||||
|
return m_language;
|
||||||
|
}
|
||||||
|
|
||||||
|
inline void setLanguage(const QString &language) {
|
||||||
|
m_language = language;
|
||||||
|
}
|
||||||
|
|
||||||
// Loads standard feed object from given SQL record.
|
// Loads standard feed object from given SQL record.
|
||||||
static FeedsModelStandardFeed *loadFromRecord(const QSqlRecord &record);
|
static FeedsModelStandardFeed *loadFromRecord(const QSqlRecord &record);
|
||||||
|
@ -25,9 +25,7 @@ FeedsProxyModel::~FeedsProxyModel() {
|
|||||||
qDebug("Destroying FeedsProxyModel instance");
|
qDebug("Destroying FeedsProxyModel instance");
|
||||||
}
|
}
|
||||||
|
|
||||||
FeedsModel *FeedsProxyModel::sourceModel() {
|
|
||||||
return m_sourceModel;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool FeedsProxyModel::lessThan(const QModelIndex &left,
|
bool FeedsProxyModel::lessThan(const QModelIndex &left,
|
||||||
const QModelIndex &right) const {
|
const QModelIndex &right) const {
|
||||||
|
@ -15,7 +15,9 @@ class FeedsProxyModel : public QSortFilterProxyModel {
|
|||||||
virtual ~FeedsProxyModel();
|
virtual ~FeedsProxyModel();
|
||||||
|
|
||||||
// Access to the source model.
|
// Access to the source model.
|
||||||
FeedsModel *sourceModel();
|
inline FeedsModel *sourceModel() {
|
||||||
|
return m_sourceModel;
|
||||||
|
}
|
||||||
|
|
||||||
// Maps list of indexes.
|
// Maps list of indexes.
|
||||||
QModelIndexList mapListToSource(const QModelIndexList &indexes);
|
QModelIndexList mapListToSource(const QModelIndexList &indexes);
|
||||||
|
@ -32,10 +32,7 @@ MessagesModel::~MessagesModel() {
|
|||||||
qDebug("Destroying MessagesModel instance.");
|
qDebug("Destroying MessagesModel instance.");
|
||||||
}
|
}
|
||||||
|
|
||||||
bool MessagesModel::submitAll() {
|
|
||||||
qFatal("Submitting changes via model is not allowed.");
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
void MessagesModel::setupIcons() {
|
void MessagesModel::setupIcons() {
|
||||||
m_favoriteIcon = IconThemeFactory::instance()->fromTheme("favorites");
|
m_favoriteIcon = IconThemeFactory::instance()->fromTheme("favorites");
|
||||||
@ -55,9 +52,7 @@ void MessagesModel::setupFonts() {
|
|||||||
m_boldFont.setBold(true);
|
m_boldFont.setBold(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
QList<int> MessagesModel::currentFeeds() const {
|
|
||||||
return m_currentFeeds;
|
|
||||||
}
|
|
||||||
|
|
||||||
void MessagesModel::loadMessages(const QList<int> feed_ids) {
|
void MessagesModel::loadMessages(const QList<int> feed_ids) {
|
||||||
m_currentFeeds = feed_ids;
|
m_currentFeeds = feed_ids;
|
||||||
|
@ -44,11 +44,17 @@ class MessagesModel : public QSqlTableModel {
|
|||||||
int messageId(int row_index) const;
|
int messageId(int row_index) const;
|
||||||
|
|
||||||
// Access to list of currently loaded feed IDs.
|
// Access to list of currently loaded feed IDs.
|
||||||
QList<int> currentFeeds() const;
|
inline QList<int> currentFeeds() const {
|
||||||
|
return m_currentFeeds;
|
||||||
|
}
|
||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
// To disable persistent changes submissions.
|
// To disable persistent changes submissions.
|
||||||
bool submitAll();
|
inline bool submitAll() {
|
||||||
|
qFatal("Submitting changes via model is not allowed.");
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
// CORE messages manipulators.
|
// CORE messages manipulators.
|
||||||
// NOTE: These are used to change properties of one message.
|
// NOTE: These are used to change properties of one message.
|
||||||
|
@ -21,9 +21,7 @@ MessagesProxyModel::~MessagesProxyModel() {
|
|||||||
qDebug("Destroying MessagesProxyModel instance.");
|
qDebug("Destroying MessagesProxyModel instance.");
|
||||||
}
|
}
|
||||||
|
|
||||||
MessagesModel *MessagesProxyModel::sourceModel() {
|
|
||||||
return m_sourceModel;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool MessagesProxyModel::lessThan(const QModelIndex &left, const QModelIndex &right) const {
|
bool MessagesProxyModel::lessThan(const QModelIndex &left, const QModelIndex &right) const {
|
||||||
// TODO: Maybe use QString::localeAwareCompare() here for
|
// TODO: Maybe use QString::localeAwareCompare() here for
|
||||||
|
@ -15,7 +15,9 @@ class MessagesProxyModel : public QSortFilterProxyModel {
|
|||||||
virtual ~MessagesProxyModel();
|
virtual ~MessagesProxyModel();
|
||||||
|
|
||||||
// Source model getter.
|
// Source model getter.
|
||||||
MessagesModel *sourceModel();
|
inline MessagesModel *sourceModel() {
|
||||||
|
return m_sourceModel;
|
||||||
|
}
|
||||||
|
|
||||||
// Maps list of indexes.
|
// Maps list of indexes.
|
||||||
QModelIndexList mapListToSource(const QModelIndexList &indexes);
|
QModelIndexList mapListToSource(const QModelIndexList &indexes);
|
||||||
|
@ -21,13 +21,12 @@ Settings::~Settings() {
|
|||||||
qDebug("Deleting Settings instance.");
|
qDebug("Deleting Settings instance.");
|
||||||
}
|
}
|
||||||
|
|
||||||
Settings::Type Settings::type() const {
|
|
||||||
return m_initializationStatus;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
QSettings::Status Settings::checkSettings() {
|
QSettings::Status Settings::checkSettings() {
|
||||||
qDebug("Syncing settings.");
|
qDebug("Syncing settings.");
|
||||||
|
|
||||||
sync();
|
sync();
|
||||||
return status();
|
return status();
|
||||||
}
|
}
|
||||||
@ -40,17 +39,9 @@ Settings *Settings::instance() {
|
|||||||
return s_instance;
|
return s_instance;
|
||||||
}
|
}
|
||||||
|
|
||||||
QVariant Settings::value(const QString §ion,
|
|
||||||
const QString &key,
|
|
||||||
const QVariant &default_value) {
|
|
||||||
return QSettings::value(QString("%1/%2").arg(section, key), default_value);
|
|
||||||
}
|
|
||||||
|
|
||||||
void Settings::setValue(const QString §ion,
|
|
||||||
const QString &key,
|
|
||||||
const QVariant &value) {
|
|
||||||
QSettings::setValue(QString("%1/%2").arg(section, key), value);
|
|
||||||
}
|
|
||||||
|
|
||||||
QSettings::Status Settings::setupSettings() {
|
QSettings::Status Settings::setupSettings() {
|
||||||
// If settings file exists in executable file working directory
|
// If settings file exists in executable file working directory
|
||||||
|
@ -22,16 +22,22 @@ class Settings : public QSettings {
|
|||||||
virtual ~Settings();
|
virtual ~Settings();
|
||||||
|
|
||||||
// Type of used settings.
|
// Type of used settings.
|
||||||
Type type() const;
|
inline Type type() const {
|
||||||
|
return m_initializationStatus;
|
||||||
|
}
|
||||||
|
|
||||||
// Getter/setter for settings values.
|
// Getter/setter for settings values.
|
||||||
QVariant value(const QString §ion,
|
inline QVariant value(const QString §ion,
|
||||||
const QString &key,
|
const QString &key,
|
||||||
const QVariant &default_value = QVariant());
|
const QVariant &default_value = QVariant()) {
|
||||||
|
return QSettings::value(QString("%1/%2").arg(section, key), default_value);
|
||||||
|
}
|
||||||
|
|
||||||
void setValue(const QString §ion,
|
inline void setValue(const QString §ion,
|
||||||
const QString &key,
|
const QString &key,
|
||||||
const QVariant &value);
|
const QVariant &value) {
|
||||||
|
QSettings::setValue(QString("%1/%2").arg(section, key), value);
|
||||||
|
}
|
||||||
|
|
||||||
// Synchronizes settings.
|
// Synchronizes settings.
|
||||||
QSettings::Status checkSettings();
|
QSettings::Status checkSettings();
|
||||||
|
@ -102,9 +102,7 @@ SystemFactory *SystemFactory::getInstance() {
|
|||||||
return s_instance;
|
return s_instance;
|
||||||
}
|
}
|
||||||
|
|
||||||
QReadWriteLock *SystemFactory::applicationCloseLock() const {
|
|
||||||
return m_applicationCloseLock;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool SystemFactory::setAutoStartStatus(const AutoStartStatus &new_status) {
|
bool SystemFactory::setAutoStartStatus(const AutoStartStatus &new_status) {
|
||||||
SystemFactory::AutoStartStatus current_status = SystemFactory::getAutoStartStatus();
|
SystemFactory::AutoStartStatus current_status = SystemFactory::getAutoStartStatus();
|
||||||
|
@ -40,11 +40,14 @@ class SystemFactory : public QObject {
|
|||||||
QString getAutostartDesktopFileLocation();
|
QString getAutostartDesktopFileLocation();
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Singleton getter.
|
|
||||||
static SystemFactory *getInstance();
|
|
||||||
|
|
||||||
// Access to application-wide close lock.
|
// Access to application-wide close lock.
|
||||||
QReadWriteLock *applicationCloseLock() const;
|
inline QReadWriteLock *applicationCloseLock() const {
|
||||||
|
return m_applicationCloseLock;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Singleton getter.
|
||||||
|
static SystemFactory *getInstance();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
// This read-write lock is used by application on its close.
|
// This read-write lock is used by application on its close.
|
||||||
|
@ -185,6 +185,8 @@ void FeedMessageViewer::createConnections() {
|
|||||||
m_feedDownloader, SLOT(updateFeeds(QList<FeedsModelFeed*>)));
|
m_feedDownloader, SLOT(updateFeeds(QList<FeedsModelFeed*>)));
|
||||||
connect(m_feedDownloader, SIGNAL(finished()),
|
connect(m_feedDownloader, SIGNAL(finished()),
|
||||||
this, SLOT(onFeedUpdatesFinished()));
|
this, SLOT(onFeedUpdatesFinished()));
|
||||||
|
connect(m_feedDownloader, SIGNAL(started()),
|
||||||
|
this, SLOT(onFeedUpdatesStarted()));
|
||||||
connect(m_feedDownloader, SIGNAL(progress(FeedsModelFeed*,int,int)),
|
connect(m_feedDownloader, SIGNAL(progress(FeedsModelFeed*,int,int)),
|
||||||
this, SLOT(onFeedUpdatesProgress(FeedsModelFeed*,int,int)));
|
this, SLOT(onFeedUpdatesProgress(FeedsModelFeed*,int,int)));
|
||||||
|
|
||||||
|
@ -32,13 +32,9 @@ FeedsView::~FeedsView() {
|
|||||||
qDebug("Destroying FeedsView instance.");
|
qDebug("Destroying FeedsView instance.");
|
||||||
}
|
}
|
||||||
|
|
||||||
FeedsProxyModel *FeedsView::model() {
|
|
||||||
return m_proxyModel;
|
|
||||||
}
|
|
||||||
|
|
||||||
FeedsModel *FeedsView::sourceModel() {
|
|
||||||
return m_sourceModel;
|
|
||||||
}
|
|
||||||
|
|
||||||
void FeedsView::setSortingEnabled(bool enable) {
|
void FeedsView::setSortingEnabled(bool enable) {
|
||||||
QTreeView::setSortingEnabled(enable);
|
QTreeView::setSortingEnabled(enable);
|
||||||
|
@ -31,8 +31,13 @@ class FeedsView : public QTreeView {
|
|||||||
explicit FeedsView(QWidget *parent = 0);
|
explicit FeedsView(QWidget *parent = 0);
|
||||||
virtual ~FeedsView();
|
virtual ~FeedsView();
|
||||||
|
|
||||||
FeedsProxyModel *model();
|
inline FeedsProxyModel *model() {
|
||||||
FeedsModel *sourceModel();
|
return m_proxyModel;
|
||||||
|
}
|
||||||
|
|
||||||
|
inline FeedsModel *sourceModel() {
|
||||||
|
return m_sourceModel;
|
||||||
|
}
|
||||||
|
|
||||||
// Enables or disables sorting.
|
// Enables or disables sorting.
|
||||||
void setSortingEnabled(bool enable);
|
void setSortingEnabled(bool enable);
|
||||||
@ -77,9 +82,6 @@ class FeedsView : public QTreeView {
|
|||||||
// Reloads counts for particular feed.
|
// Reloads counts for particular feed.
|
||||||
void updateCountsOfParticularFeed(FeedsModelFeed *feed, bool update_total_too = true);
|
void updateCountsOfParticularFeed(FeedsModelFeed *feed, bool update_total_too = true);
|
||||||
|
|
||||||
// TODO: pouzit metodu dole pro uvodni zobrazeni
|
|
||||||
// poctu v trayi
|
|
||||||
|
|
||||||
// Notifies other components about messages
|
// Notifies other components about messages
|
||||||
// counts.
|
// counts.
|
||||||
inline void notifyWithCounts() {
|
inline void notifyWithCounts() {
|
||||||
|
@ -38,7 +38,7 @@ class FormCategoryDetails : public QDialog {
|
|||||||
// and parent_item contains parent item of newly
|
// and parent_item contains parent item of newly
|
||||||
// created or edited category.
|
// created or edited category.
|
||||||
// NOTE: Newly ADDED category is NOT added to the model NOR
|
// NOTE: Newly ADDED category is NOT added to the model NOR
|
||||||
// in the database.
|
// to the database.
|
||||||
// NOTE: Newly EDITED category IS COPY of its original.
|
// NOTE: Newly EDITED category IS COPY of its original.
|
||||||
// SO NO ORIGINAL MODEL DATA ARE EDITED OR CHANGED.
|
// SO NO ORIGINAL MODEL DATA ARE EDITED OR CHANGED.
|
||||||
FormCategoryDetailsAnswer exec(FeedsModelCategory *input_category,
|
FormCategoryDetailsAnswer exec(FeedsModelCategory *input_category,
|
||||||
|
@ -56,13 +56,9 @@ FormMain *FormMain::instance() {
|
|||||||
return s_instance;
|
return s_instance;
|
||||||
}
|
}
|
||||||
|
|
||||||
QMenu *FormMain::trayMenu() {
|
|
||||||
return m_trayMenu;
|
|
||||||
}
|
|
||||||
|
|
||||||
TabWidget *FormMain::tabWidget() {
|
|
||||||
return m_ui->m_tabWidget;
|
|
||||||
}
|
|
||||||
|
|
||||||
QList<QAction*> FormMain::allActions() {
|
QList<QAction*> FormMain::allActions() {
|
||||||
QList<QAction*> actions;
|
QList<QAction*> actions;
|
||||||
@ -95,9 +91,7 @@ QList<QAction*> FormMain::allActions() {
|
|||||||
return actions;
|
return actions;
|
||||||
}
|
}
|
||||||
|
|
||||||
StatusBar *FormMain::statusBar() {
|
|
||||||
return m_statusBar;
|
|
||||||
}
|
|
||||||
|
|
||||||
void FormMain::prepareMenus() {
|
void FormMain::prepareMenus() {
|
||||||
// Setup menu for tray icon.
|
// Setup menu for tray icon.
|
||||||
|
@ -23,19 +23,25 @@ class FormMain : public QMainWindow {
|
|||||||
virtual ~FormMain();
|
virtual ~FormMain();
|
||||||
|
|
||||||
// Returns menu for the tray icon.
|
// Returns menu for the tray icon.
|
||||||
QMenu *trayMenu();
|
inline QMenu *trayMenu() {
|
||||||
|
return m_trayMenu;
|
||||||
|
}
|
||||||
|
|
||||||
// Returns global tab widget.
|
// Returns global tab widget.
|
||||||
TabWidget *tabWidget();
|
inline TabWidget *tabWidget() {
|
||||||
|
return m_ui->m_tabWidget;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Access to statusbar.
|
||||||
|
inline StatusBar *statusBar() {
|
||||||
|
return m_statusBar;
|
||||||
|
}
|
||||||
|
|
||||||
// Returns list of all globally available actions.
|
// Returns list of all globally available actions.
|
||||||
// NOTE: This is used for setting dynamic shortcuts
|
// NOTE: This is used for setting dynamic shortcuts
|
||||||
// for given actions.
|
// for given actions.
|
||||||
QList<QAction*> allActions();
|
QList<QAction*> allActions();
|
||||||
|
|
||||||
// Access to statusbar.
|
|
||||||
StatusBar *statusBar();
|
|
||||||
|
|
||||||
// Singleton accessor.
|
// Singleton accessor.
|
||||||
static FormMain *instance();
|
static FormMain *instance();
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user