@@ -27,6 +27,7 @@ Node::Node(Flags p_flags,
2727 m_modifiedTimeUtc(p_paras.m_modifiedTimeUtc),
2828 m_tags(p_paras.m_tags),
2929 m_attachmentFolder(p_paras.m_attachmentFolder),
30+ m_visual(p_paras.m_visual),
3031 m_parent(p_parent)
3132{
3233 Q_ASSERT (m_notebook);
@@ -66,6 +67,8 @@ void Node::loadCompleteInfo(const NodeParameters &p_paras,
6667 m_modifiedTimeUtc = p_paras.m_modifiedTimeUtc ;
6768 Q_ASSERT (p_paras.m_tags .isEmpty ());
6869 Q_ASSERT (p_paras.m_attachmentFolder .isEmpty ());
70+
71+ m_visual = p_paras.m_visual ;
6972
7073 m_children = p_children;
7174 m_loaded = true ;
@@ -493,3 +496,72 @@ void Node::checkSignature()
493496 m_signature = generateSignature ();
494497 }
495498}
499+
500+ // 视觉效果相关方法
501+ const NodeVisual &Node::getVisual () const
502+ {
503+ return m_visual;
504+ }
505+
506+ void Node::setVisual (const NodeVisual &p_visual)
507+ {
508+ m_visual = p_visual;
509+ }
510+
511+ // 视觉效果便捷访问方法
512+ const QString &Node::getBackgroundColor () const
513+ {
514+ return m_visual.getBackgroundColor ();
515+ }
516+
517+ void Node::setBackgroundColor (const QString &p_backgroundColor)
518+ {
519+ m_visual.setBackgroundColor (p_backgroundColor);
520+ }
521+
522+ const QString &Node::getBorderColor () const
523+ {
524+ return m_visual.getBorderColor ();
525+ }
526+
527+ void Node::setBorderColor (const QString &p_borderColor)
528+ {
529+ m_visual.setBorderColor (p_borderColor);
530+ }
531+
532+ const QString &Node::getNameColor () const
533+ {
534+ return m_visual.getNameColor ();
535+ }
536+
537+ void Node::setNameColor (const QString &p_nameColor)
538+ {
539+ m_visual.setNameColor (p_nameColor);
540+ }
541+
542+ QString Node::getEffectiveBackgroundColor () const
543+ {
544+ return getBackgroundColor ();
545+ }
546+
547+ QString Node::getEffectiveBorderColor () const
548+ {
549+ return getBorderColor ();
550+ }
551+
552+ void Node::updateNodeVisual (const NodeVisual &p_visual)
553+ {
554+ if (m_visual.getBackgroundColor () == p_visual.getBackgroundColor () &&
555+ m_visual.getBorderColor () == p_visual.getBorderColor () &&
556+ m_visual.getNameColor () == p_visual.getNameColor ()) {
557+ return ;
558+ }
559+
560+ m_visual = p_visual;
561+
562+ // 持久化更新
563+ getConfigMgr ()->updateNodeVisual (this , p_visual);
564+
565+ // 界面更新
566+ emit m_notebook->nodeUpdated (this );
567+ }
0 commit comments