封面采用路径存储方式

This commit is contained in:
WS 2021-08-14 23:22:37 +08:00
parent 1d59429613
commit 2b01889087
3 changed files with 13 additions and 13 deletions

View File

@ -55,7 +55,7 @@ DBUnit::init_basic_tables(QSqlDatabase& db_ins)
q.prepare("create table if not exists books_information(" q.prepare("create table if not exists books_information("
"book_id integer auto_increment primary key,isbn text not null," "book_id integer auto_increment primary key,isbn text not null,"
"name text not null,publishing integer not null,author integer not null," "name text not null,publishing integer not null,author integer not null,"
"author2 integer not null,language text,time text,abstract text,image blob," "author2 integer not null,language text,time text,abstract text,image text,"
"constraint fk_bi0 foreign key (publishing) references publishing_information on delete cascade on update cascade," "constraint fk_bi0 foreign key (publishing) references publishing_information on delete cascade on update cascade,"
"constraint fk_bi1 foreign key (author) references authors_information on delete cascade on update cascade," "constraint fk_bi1 foreign key (author) references authors_information on delete cascade on update cascade,"
"constraint fk_bi1 foreign key (author2) references authors_information on delete cascade on update cascade)"); "constraint fk_bi1 foreign key (author2) references authors_information on delete cascade on update cascade)");

View File

@ -42,7 +42,7 @@ MainWindow::MainWindow(QWidget* parent)
init_groups_list(groups_list); init_groups_list(groups_list);
init_groups_list(items_list); init_groups_list(items_list);
items_view->setItemDelegate(new ListIconDelegate()); items_view->setItemDelegate(new ItemDisplayDelegate());
items_view->setViewMode(QListView::IconMode); items_view->setViewMode(QListView::IconMode);
items_view->setResizeMode(QListView::Adjust); items_view->setResizeMode(QListView::Adjust);
items_view->setSelectionRectVisible(true); items_view->setSelectionRectVisible(true);
@ -166,11 +166,11 @@ GroupDisplayDelegate::sizeHint(const QStyleOptionViewItem& option, const QModelI
return QSize(400, 145); return QSize(400, 145);
} }
ListIconDelegate::ListIconDelegate() ItemDisplayDelegate::ItemDisplayDelegate()
{ {
} }
ListIconDelegate::~ListIconDelegate() ItemDisplayDelegate::~ItemDisplayDelegate()
{ {
} }
@ -181,7 +181,7 @@ auto
}; };
void void
ListIconDelegate::paint(QPainter* painter, const QStyleOptionViewItem& option, const QModelIndex& index) const ItemDisplayDelegate::paint(QPainter* painter, const QStyleOptionViewItem& option, const QModelIndex& index) const
{ {
painter->save(); painter->save();
painter->setRenderHint(QPainter::Antialiasing); painter->setRenderHint(QPainter::Antialiasing);
@ -215,31 +215,31 @@ ListIconDelegate::paint(QPainter* painter, const QStyleOptionViewItem& option, c
} }
QSize QSize
ListIconDelegate::sizeHint(const QStyleOptionViewItem& option, const QModelIndex& index) const ItemDisplayDelegate::sizeHint(const QStyleOptionViewItem& option, const QModelIndex& index) const
{ {
return QSize(135, 195); return QSize(135, 195);
} }
QWidget* QWidget*
ListIconDelegate::createEditor(QWidget* parent, const QStyleOptionViewItem& option, const QModelIndex& index) const ItemDisplayDelegate::createEditor(QWidget* parent, const QStyleOptionViewItem& option, const QModelIndex& index) const
{ {
return new QLineEdit(parent); return new QLineEdit(parent);
} }
void void
ListIconDelegate::setEditorData(QWidget* editor, const QModelIndex& index) const ItemDisplayDelegate::setEditorData(QWidget* editor, const QModelIndex& index) const
{ {
static_cast<QLineEdit*>(editor)->setText(index.data().toString()); static_cast<QLineEdit*>(editor)->setText(index.data().toString());
} }
void void
ListIconDelegate::setModelData(QWidget* editor, QAbstractItemModel* model, const QModelIndex& index) const ItemDisplayDelegate::setModelData(QWidget* editor, QAbstractItemModel* model, const QModelIndex& index) const
{ {
model->setData(index, static_cast<QLineEdit*>(editor)->text()); model->setData(index, static_cast<QLineEdit*>(editor)->text());
} }
void void
ListIconDelegate::updateEditorGeometry(QWidget* editor, const QStyleOptionViewItem& option, const QModelIndex& index) const ItemDisplayDelegate::updateEditorGeometry(QWidget* editor, const QStyleOptionViewItem& option, const QModelIndex& index) const
{ {
editor->setGeometry(calc_textrect2(option.rect, option.fontMetrics.height() * 1.3)); editor->setGeometry(calc_textrect2(option.rect, option.fontMetrics.height() * 1.3));
} }

View File

@ -22,10 +22,10 @@ public:
virtual QSize sizeHint(const QStyleOptionViewItem& option, const QModelIndex& index) const override; virtual QSize sizeHint(const QStyleOptionViewItem& option, const QModelIndex& index) const override;
}; };
class ListIconDelegate : public QItemDelegate { class ItemDisplayDelegate : public QItemDelegate {
public: public:
ListIconDelegate(); ItemDisplayDelegate();
virtual ~ListIconDelegate() override; virtual ~ItemDisplayDelegate() override;
// QAbstractItemDelegate interface // QAbstractItemDelegate interface
public: public: