mirror of
https://github.com/YACReader/yacreader
synced 2025-07-26 00:44:59 -04:00
added support for deleting folders
This commit is contained in:
@ -68,6 +68,11 @@ void TreeItem::setData(int column, const QVariant & value)
|
||||
itemData[column] = value;
|
||||
}
|
||||
|
||||
void TreeItem::removeChild(int childIndex)
|
||||
{
|
||||
childItems.removeAt(childIndex);
|
||||
}
|
||||
|
||||
void TreeItem::clearChildren()
|
||||
{
|
||||
qDeleteAll(childItems);
|
||||
|
@ -65,6 +65,7 @@ public:
|
||||
QList<QString> comicNames;
|
||||
TreeItem * originalItem;
|
||||
void setData(int column, const QVariant &value);
|
||||
void removeChild(int childIndex);
|
||||
void clearChildren();
|
||||
QList<TreeItem*> children();
|
||||
private:
|
||||
|
@ -621,3 +621,22 @@ void TreeModel::fetchMoreFromDB(const QModelIndex &parent)
|
||||
db.close();
|
||||
QSqlDatabase::removeDatabase(_databasePath);
|
||||
}
|
||||
|
||||
void TreeModel::deleteFolder(const QModelIndex &mi)
|
||||
{
|
||||
beginRemoveRows(mi.parent(),mi.row(),mi.row());
|
||||
|
||||
TreeItem * item = static_cast<TreeItem*>(mi.internalPointer());
|
||||
|
||||
TreeItem * parent = item->parent();
|
||||
parent->removeChild(mi.row());
|
||||
|
||||
Folder f;
|
||||
f.setId(item->id);
|
||||
|
||||
QSqlDatabase db = DataBaseManagement::loadDatabase(_databasePath);
|
||||
DBHelper::removeFromDB(&f,db);
|
||||
QSqlDatabase::removeDatabase(_databasePath);
|
||||
|
||||
endRemoveRows();
|
||||
}
|
||||
|
@ -96,6 +96,9 @@ public:
|
||||
Completed = 3
|
||||
};//id INTEGER PRIMARY KEY, parentId INTEGER NOT NULL, name TEXT NOT NULL, path TEXT NOT NULL
|
||||
|
||||
public slots:
|
||||
void deleteFolder(const QModelIndex & mi);
|
||||
|
||||
private:
|
||||
void setupModelData( QSqlQuery &sqlquery, TreeItem *parent);
|
||||
void updateFolderModelData( QSqlQuery &sqlquery, TreeItem *parent);
|
||||
|
Reference in New Issue
Block a user