From 9a233251dcc70c9d059ae02661ee0233f01d5b38 Mon Sep 17 00:00:00 2001 From: Krad Date: Wed, 8 Jun 2022 09:57:59 +0800 Subject: [PATCH] Refactor CenterAlignSqlTableModel. --- src/db/CenterAlignSqlTableModel.cpp | 14 ++++++++++++++ src/db/CenterAlignSqlTableModel.h | 18 ++---------------- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/src/db/CenterAlignSqlTableModel.cpp b/src/db/CenterAlignSqlTableModel.cpp index 56ab31c..0f5e268 100644 --- a/src/db/CenterAlignSqlTableModel.cpp +++ b/src/db/CenterAlignSqlTableModel.cpp @@ -3,3 +3,17 @@ // #include "CenterAlignSqlTableModel.h" +QVariant CenterAlignSqlTableModel::data(const QModelIndex &index, int role) const { + if (index.column() > 0 && role == Qt::TextAlignmentRole) { + return Qt::AlignCenter; + } + if (index.column() > 0 && role == Qt::DisplayRole) { + auto val = QSqlTableModel::data(index, role).toString(); + QStringList list = val.split("\n"); + if (list.size() > 1) + return QString("%1...").arg(list[0].left(list[0].length() < 20 ? list[0].length() : 20)); + return val; + } else { + return QSqlTableModel::data(index, role); + } +} \ No newline at end of file diff --git a/src/db/CenterAlignSqlTableModel.h b/src/db/CenterAlignSqlTableModel.h index 1f22f4e..9dc13b2 100644 --- a/src/db/CenterAlignSqlTableModel.h +++ b/src/db/CenterAlignSqlTableModel.h @@ -10,23 +10,9 @@ class CenterAlignSqlTableModel:public QSqlTableModel { Q_OBJECT public: explicit CenterAlignSqlTableModel(QObject *parent = nullptr, QSqlDatabase db = QSqlDatabase()):QSqlTableModel(parent,db){}; - ~CenterAlignSqlTableModel(){}; + ~CenterAlignSqlTableModel() override = default; protected: - QVariant data(const QModelIndex& index, int role) const override { - if (index.column() >0 && role == Qt::TextAlignmentRole) { - return Qt::AlignCenter; - } - if (index.column() >0 && role == Qt::DisplayRole){ - auto val = QSqlTableModel::data(index,role).toString(); - QStringList list = val.split("\n"); - if (list.size()>1) - return QString("%1...").arg(list[0].left(list[0].length()<20?list[0].length():20)); - return val; - } - else { - return QSqlTableModel::data(index,role); - } - } + QVariant data(const QModelIndex& index, int role) const override; };