mirror of
https://gitee.com/vnotex/vnote.git
synced 2025-07-06 14:29:54 +08:00
VMetaWordManager: lazy initialization
This commit is contained in:
parent
b076e87509
commit
3c8ac8094d
@ -290,6 +290,7 @@ QPushButton[ToolBoxActiveBtn="true"] {
|
|||||||
padding: 4px 10px 4px 4px;
|
padding: 4px 10px 4px 4px;
|
||||||
margin: 0px;
|
margin: 0px;
|
||||||
border: none;
|
border: none;
|
||||||
|
font-weight: bold;
|
||||||
color: @pushbutton_toolboxbtn_active_fg;
|
color: @pushbutton_toolboxbtn_active_fg;
|
||||||
background-color: @pushbutton_toolboxbtn_active_bg;
|
background-color: @pushbutton_toolboxbtn_active_bg;
|
||||||
min-width: -1;
|
min-width: -1;
|
||||||
|
@ -290,6 +290,7 @@ QPushButton[ToolBoxActiveBtn="true"] {
|
|||||||
padding: 4px 10px 4px 4px;
|
padding: 4px 10px 4px 4px;
|
||||||
margin: 0px;
|
margin: 0px;
|
||||||
border: none;
|
border: none;
|
||||||
|
font-weight: bold;
|
||||||
color: @pushbutton_toolboxbtn_active_fg;
|
color: @pushbutton_toolboxbtn_active_fg;
|
||||||
background-color: @pushbutton_toolboxbtn_active_bg;
|
background-color: @pushbutton_toolboxbtn_active_bg;
|
||||||
min-width: -1;
|
min-width: -1;
|
||||||
|
@ -48,12 +48,19 @@ static QString allMetaWordsInfo(const VMetaWord *p_metaWord)
|
|||||||
const QChar VMetaWordManager::c_delimiter = '%';
|
const QChar VMetaWordManager::c_delimiter = '%';
|
||||||
|
|
||||||
VMetaWordManager::VMetaWordManager(QObject *p_parent)
|
VMetaWordManager::VMetaWordManager(QObject *p_parent)
|
||||||
: QObject(p_parent)
|
: QObject(p_parent),
|
||||||
|
m_initialized(false)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
void VMetaWordManager::init()
|
void VMetaWordManager::init()
|
||||||
{
|
{
|
||||||
|
if (m_initialized) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
m_initialized = true;
|
||||||
|
|
||||||
using namespace std::placeholders;
|
using namespace std::placeholders;
|
||||||
|
|
||||||
// %d%.
|
// %d%.
|
||||||
@ -300,6 +307,8 @@ QString VMetaWordManager::evaluate(const QString &p_text,
|
|||||||
return p_text;
|
return p_text;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const_cast<VMetaWordManager *>(this)->init();
|
||||||
|
|
||||||
// Update datetime for later parse.
|
// Update datetime for later parse.
|
||||||
const_cast<VMetaWordManager *>(this)->m_dateTime = QDateTime::currentDateTime();
|
const_cast<VMetaWordManager *>(this)->m_dateTime = QDateTime::currentDateTime();
|
||||||
|
|
||||||
@ -330,11 +339,15 @@ QString VMetaWordManager::evaluate(const QString &p_text,
|
|||||||
|
|
||||||
bool VMetaWordManager::contains(const QString &p_word) const
|
bool VMetaWordManager::contains(const QString &p_word) const
|
||||||
{
|
{
|
||||||
|
const_cast<VMetaWordManager *>(this)->init();
|
||||||
|
|
||||||
return m_metaWords.contains(p_word);
|
return m_metaWords.contains(p_word);
|
||||||
}
|
}
|
||||||
|
|
||||||
const VMetaWord *VMetaWordManager::findMetaWord(const QString &p_word) const
|
const VMetaWord *VMetaWordManager::findMetaWord(const QString &p_word) const
|
||||||
{
|
{
|
||||||
|
const_cast<VMetaWordManager *>(this)->init();
|
||||||
|
|
||||||
auto it = m_metaWords.find(p_word);
|
auto it = m_metaWords.find(p_word);
|
||||||
if (it != m_metaWords.end()) {
|
if (it != m_metaWords.end()) {
|
||||||
return &it.value();
|
return &it.value();
|
||||||
@ -368,6 +381,8 @@ void VMetaWordManager::addMetaWord(MetaWordType p_type,
|
|||||||
bool VMetaWordManager::findOverriddenValue(const QString &p_word,
|
bool VMetaWordManager::findOverriddenValue(const QString &p_word,
|
||||||
QString &p_value) const
|
QString &p_value) const
|
||||||
{
|
{
|
||||||
|
const_cast<VMetaWordManager *>(this)->init();
|
||||||
|
|
||||||
auto it = m_overriddenWords.find(p_word);
|
auto it = m_overriddenWords.find(p_word);
|
||||||
if (it != m_overriddenWords.end()) {
|
if (it != m_overriddenWords.end()) {
|
||||||
p_value = it.value();
|
p_value = it.value();
|
||||||
|
@ -161,8 +161,6 @@ class VMetaWordManager : public QObject
|
|||||||
public:
|
public:
|
||||||
explicit VMetaWordManager(QObject *p_parent = nullptr);
|
explicit VMetaWordManager(QObject *p_parent = nullptr);
|
||||||
|
|
||||||
void init();
|
|
||||||
|
|
||||||
// Expand meta words in @p_text and return the expanded text.
|
// Expand meta words in @p_text and return the expanded text.
|
||||||
// @p_overriddenWords: a table containing overridden meta words.
|
// @p_overriddenWords: a table containing overridden meta words.
|
||||||
QString evaluate(const QString &p_text,
|
QString evaluate(const QString &p_text,
|
||||||
@ -184,6 +182,8 @@ public:
|
|||||||
static const QChar c_delimiter;
|
static const QChar c_delimiter;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
void init();
|
||||||
|
|
||||||
void addMetaWord(MetaWordType p_type,
|
void addMetaWord(MetaWordType p_type,
|
||||||
const QString &p_word,
|
const QString &p_word,
|
||||||
const QString &p_definition,
|
const QString &p_definition,
|
||||||
@ -191,6 +191,8 @@ private:
|
|||||||
|
|
||||||
void initCustomMetaWords();
|
void initCustomMetaWords();
|
||||||
|
|
||||||
|
bool m_initialized;
|
||||||
|
|
||||||
// Map using word as key.
|
// Map using word as key.
|
||||||
QHash<QString, VMetaWord> m_metaWords;
|
QHash<QString, VMetaWord> m_metaWords;
|
||||||
|
|
||||||
@ -210,6 +212,8 @@ inline const QDateTime &VMetaWordManager::getDateTime() const
|
|||||||
|
|
||||||
inline const QHash<QString, VMetaWord> &VMetaWordManager::getAllMetaWords() const
|
inline const QHash<QString, VMetaWord> &VMetaWordManager::getAllMetaWords() const
|
||||||
{
|
{
|
||||||
|
const_cast<VMetaWordManager *>(this)->init();
|
||||||
|
|
||||||
return m_metaWords;
|
return m_metaWords;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1036,8 +1036,6 @@ bool VUtils::splitPathInBasePath(const QString &p_base,
|
|||||||
}
|
}
|
||||||
|
|
||||||
p_parts = b.right(b.size() - a.size() - 1).split("/", QString::SkipEmptyParts);
|
p_parts = b.right(b.size() - a.size() - 1).split("/", QString::SkipEmptyParts);
|
||||||
|
|
||||||
qDebug() << QString("split path %1 based on %2 to %3 parts").arg(p_path).arg(p_base).arg(p_parts.size());
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -605,7 +605,6 @@ void VDirectory::setExpanded(bool p_expanded)
|
|||||||
|
|
||||||
VNoteFile *VDirectory::tryLoadFile(QStringList &p_filePath)
|
VNoteFile *VDirectory::tryLoadFile(QStringList &p_filePath)
|
||||||
{
|
{
|
||||||
qDebug() << "directory" << m_name << "tryLoadFile()" << p_filePath.join("/");
|
|
||||||
if (p_filePath.isEmpty()) {
|
if (p_filePath.isEmpty()) {
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
@ -644,7 +643,6 @@ VNoteFile *VDirectory::tryLoadFile(QStringList &p_filePath)
|
|||||||
|
|
||||||
VDirectory *VDirectory::tryLoadDirectory(QStringList &p_filePath)
|
VDirectory *VDirectory::tryLoadDirectory(QStringList &p_filePath)
|
||||||
{
|
{
|
||||||
qDebug() << "directory" << m_name << "tryLoadDirectory()" << p_filePath.join("/");
|
|
||||||
if (p_filePath.isEmpty()) {
|
if (p_filePath.isEmpty()) {
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
@ -33,7 +33,6 @@ VEditArea::VEditArea(QWidget *parent)
|
|||||||
|
|
||||||
registerCaptainTargets();
|
registerCaptainTargets();
|
||||||
|
|
||||||
|
|
||||||
QString keySeq = g_config->getShortcutKeySequence("ActivateNextTab");
|
QString keySeq = g_config->getShortcutKeySequence("ActivateNextTab");
|
||||||
qDebug() << "set ActivateNextTab shortcut to" << keySeq;
|
qDebug() << "set ActivateNextTab shortcut to" << keySeq;
|
||||||
QShortcut *activateNextTab = new QShortcut(QKeySequence(keySeq), this);
|
QShortcut *activateNextTab = new QShortcut(QKeySequence(keySeq), this);
|
||||||
|
@ -71,8 +71,6 @@ VNote::VNote(QObject *parent)
|
|||||||
|
|
||||||
g_config->getNotebooks(m_notebooks, this);
|
g_config->getNotebooks(m_notebooks, this);
|
||||||
|
|
||||||
m_metaWordMgr.init();
|
|
||||||
|
|
||||||
g_mwMgr = &m_metaWordMgr;
|
g_mwMgr = &m_metaWordMgr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user