#include "SqlCodePreview.h" #include "UserConfiguration.h" #include "SqlSyntaxHighlighter.h" SqlCodePreview::SqlCodePreview(QWidget *parent) : QPlainTextEdit(parent) { auto&& config = UserConfiguration::instance(); setFont(config->codeFont()); setTextInteractionFlags(Qt::TextSelectableByMouse | Qt::TextSelectableByKeyboard); setWordWrapMode(QTextOption::NoWrap); m_highlighter = new SqlSyntaxHighlighter(document()); } void SqlCodePreview::setCatalog(std::shared_ptr catalog) { connect(catalog.get(), &PgDatabaseCatalog::refreshed, this, &SqlCodePreview::catalogRefresh); catalogRefresh(catalog.get(), PgDatabaseCatalog::All); } void SqlCodePreview::catalogRefresh(const PgDatabaseCatalog *catalog, PgDatabaseCatalog::RefreshFlags flags) { if (flags & PgDatabaseCatalog::Types) { m_highlighter->setTypes(*catalog->types()); } }