代码拉取完成,页面将自动刷新
同步操作将从 陈炳煌/sqlitebrowser 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
#ifndef DBSTRUCTUREMODEL_H
#define DBSTRUCTUREMODEL_H
#include <QAbstractItemModel>
#include <memory>
class DBBrowserDB;
class QTreeWidgetItem;
namespace sqlb { class Object; using ObjectPtr = std::shared_ptr<Object>; }
class DbStructureModel : public QAbstractItemModel
{
Q_OBJECT
public:
explicit DbStructureModel(DBBrowserDB& db, QObject* parent = nullptr);
~DbStructureModel() override;
QVariant data(const QModelIndex& index, int role) const override;
Qt::ItemFlags flags(const QModelIndex& index) const override;
QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const override;
QModelIndex index(int row, int column, const QModelIndex& parent = QModelIndex()) const override;
QModelIndex parent(const QModelIndex& index) const override;
int rowCount(const QModelIndex& parent = QModelIndex()) const override;
int columnCount(const QModelIndex& = QModelIndex()) const override;
QStringList mimeTypes() const override;
QMimeData* mimeData(const QModelIndexList& indices) const override;
bool dropMimeData(const QMimeData* data, Qt::DropAction action, int row, int column, const QModelIndex& parent) override;
enum Columns
{
ColumnName,
ColumnObjectType,
ColumnDataType,
ColumnSQL,
ColumnSchema,
};
public slots:
void reloadData();
void setDropQualifiedNames(bool value) { m_dropQualifiedNames = value; }
void setDropEnquotedNames(bool value) { m_dropEnquotedNames = value; }
signals:
void structureUpdated();
private:
DBBrowserDB& m_db;
QTreeWidgetItem* rootItem;
QTreeWidgetItem* browsablesRootItem;
bool m_dropQualifiedNames;
bool m_dropEnquotedNames;
void buildTree(QTreeWidgetItem* parent, const std::string& schema);
QTreeWidgetItem* addNode(QTreeWidgetItem* parent, const sqlb::ObjectPtr& object, const std::string& schema);
QString getNameForDropping(const QString& domain, const QString& object, const QString& field) const;
};
#endif
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。