Import and export fixing.

This commit is contained in:
Martin Rotter 2014-09-02 21:04:20 +02:00
parent a2932e23ed
commit 92b877c985
7 changed files with 21 additions and 46 deletions

View File

@ -570,40 +570,6 @@ bool FeedsModel::mergeRootItem(FeedsModelRootItem *root_item, QString &output_me
return true; return true;
} }
bool FeedsModel::doesItemContainSameItem(FeedsModelRootItem *parent, FeedsModelRootItem *item) {
if (parent == NULL || item == NULL) {
return false;
}
switch (item->kind()) {
case FeedsModelRootItem::Category: {
foreach (FeedsModelRootItem *child, parent->childItems()) {
if (child->kind() == FeedsModelRootItem::Category && child->title() == item->title()) {
return true;
}
}
return false;
}
case FeedsModelRootItem::Feed: {
foreach (FeedsModelRootItem *child, parent->childItems()) {
if (child->kind() == FeedsModelRootItem::Feed &&
static_cast<FeedsModelFeed*>(child)->url() == static_cast<FeedsModelFeed*>(item)->url()) {
return true;
}
}
return false;
}
default:
return false;
}
}
void FeedsModel::reloadChangedLayout(QModelIndexList list) { void FeedsModel::reloadChangedLayout(QModelIndexList list) {
while (!list.isEmpty()) { while (!list.isEmpty()) {
QModelIndex indx = list.takeFirst(); QModelIndex indx = list.takeFirst();

View File

@ -139,7 +139,6 @@ class FeedsModel : public QAbstractItemModel {
// Takes structure residing under given root item and adds feeds/categories from // Takes structure residing under given root item and adds feeds/categories from
// it to active structure. // it to active structure.
bool mergeRootItem(FeedsModelRootItem *root_item, QString &output_message); bool mergeRootItem(FeedsModelRootItem *root_item, QString &output_message);
bool doesItemContainSameItem(FeedsModelRootItem *parent, FeedsModelRootItem *item);
public slots: public slots:
// Feeds operations. // Feeds operations.

View File

@ -27,21 +27,20 @@
#include <QSqlQuery> #include <QSqlQuery>
FeedsModelCategory::FeedsModelCategory(FeedsModelRootItem *parent_item) FeedsModelCategory::FeedsModelCategory(FeedsModelRootItem *parent_item) : FeedsModelRootItem(parent_item) {
: FeedsModelRootItem(parent_item) {
m_kind = FeedsModelRootItem::Category; m_kind = FeedsModelRootItem::Category;
} }
FeedsModelCategory::FeedsModelCategory(const FeedsModelCategory &other) FeedsModelCategory::FeedsModelCategory(const FeedsModelCategory &other)
: FeedsModelRootItem(NULL) { : FeedsModelRootItem(NULL) {
m_kind = other.kind(); m_kind = other.kind();
m_title = other.title();
m_id = other.id(); m_id = other.id();
m_title = other.title();
m_description = other.description();
m_icon = other.icon(); m_icon = other.icon();
m_creationDate = other.creationDate();
m_childItems = other.childItems(); m_childItems = other.childItems();
m_parentItem = other.parent(); m_parentItem = other.parent();
m_creationDate = other.creationDate();
m_description = other.description();
} }
FeedsModelCategory::~FeedsModelCategory() { FeedsModelCategory::~FeedsModelCategory() {
@ -58,7 +57,7 @@ QVariant FeedsModelCategory::data(int column, int role) const {
m_description, m_description,
m_childItems.size() == 0 ? m_childItems.size() == 0 ?
tr("\n\nThis category does not contain any nested items.") : tr("\n\nThis category does not contain any nested items.") :
""); QString());
} }
else if (column == FDS_MODEL_COUNTS_INDEX) { else if (column == FDS_MODEL_COUNTS_INDEX) {
//: Tooltip for "unread" column of feed list. //: Tooltip for "unread" column of feed list.

View File

@ -38,13 +38,19 @@
FeedsModelFeed::FeedsModelFeed(FeedsModelRootItem *parent_item) FeedsModelFeed::FeedsModelFeed(FeedsModelRootItem *parent_item)
: FeedsModelRootItem(parent_item), : FeedsModelRootItem(parent_item),
m_passwordProtected(false),
m_username(QString()),
m_password(QString()),
m_status(Normal), m_status(Normal),
m_networkError(QNetworkReply::NoError), m_networkError(QNetworkReply::NoError),
m_type(Rss0X), m_type(Rss0X),
m_totalCount(0), m_totalCount(0),
m_unreadCount(0), m_unreadCount(0),
m_autoUpdateType(DontAutoUpdate), m_autoUpdateType(DontAutoUpdate),
m_autoUpdateInitialInterval(DEFAULT_AUTO_UPDATE_INTERVAL) { m_autoUpdateRemainingInterval(DEFAULT_AUTO_UPDATE_INTERVAL),
m_autoUpdateInitialInterval(DEFAULT_AUTO_UPDATE_INTERVAL),
m_encoding(QString()),
m_url(QString()) {
m_kind = FeedsModelRootItem::Feed; m_kind = FeedsModelRootItem::Feed;
} }

View File

@ -24,6 +24,12 @@
FeedsModelRootItem::FeedsModelRootItem(FeedsModelRootItem *parent_item) FeedsModelRootItem::FeedsModelRootItem(FeedsModelRootItem *parent_item)
: m_kind(FeedsModelRootItem::RootItem), : m_kind(FeedsModelRootItem::RootItem),
m_id(NO_PARENT_CATEGORY),
m_title(QString()),
m_description(QString()),
m_icon(QIcon()),
m_creationDate(QDateTime()),
m_childItems(QList<FeedsModelRootItem*>()),
m_parentItem(parent_item) { m_parentItem(parent_item) {
setupFonts(); setupFonts();
} }

View File

@ -185,8 +185,7 @@ void FeedsView::executeNextAutoUpdate() {
m_globalAutoUpdateRemainingInterval = m_globalAutoUpdateInitialInterval; m_globalAutoUpdateRemainingInterval = m_globalAutoUpdateInitialInterval;
} }
qDebug("Starting auto-update event, pass %d/%d.", qDebug("Starting auto-update event, pass %d/%d.", m_globalAutoUpdateRemainingInterval, m_globalAutoUpdateInitialInterval);
m_globalAutoUpdateRemainingInterval, m_globalAutoUpdateInitialInterval);
// Pass needed interval data and lets the model decide which feeds // Pass needed interval data and lets the model decide which feeds
// should be updated in this pass. // should be updated in this pass.

View File

@ -96,7 +96,7 @@
<enum>Qt::Horizontal</enum> <enum>Qt::Horizontal</enum>
</property> </property>
<property name="standardButtons"> <property name="standardButtons">
<set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set> <set>QDialogButtonBox::Close|QDialogButtonBox::Ok</set>
</property> </property>
</widget> </widget>
</item> </item>