X-Git-Url: https://git.sven.stormbind.net/?a=blobdiff_plain;f=xml-freemind.cpp;fp=xml-freemind.cpp;h=0000000000000000000000000000000000000000;hb=d483bd8e6523c23c6f1d8908a2e0611c2bc9ff4f;hp=36e0dc39850c6d1b2025cbbc15440ab22370c8c0;hpb=7dfa3fe589d1722d49681f42cdb0bf1e6efb5223;p=sven%2Fvym.git diff --git a/xml-freemind.cpp b/xml-freemind.cpp deleted file mode 100644 index 36e0dc3..0000000 --- a/xml-freemind.cpp +++ /dev/null @@ -1,335 +0,0 @@ -#include "xml-freemind.h" - -#include -#include - -#include "branchitem.h" -#include "version.h" -#include "vymmodel.h" - -extern Settings settings; -extern QString vymVersion; - -bool parseFreemindHandler::startDocument() //FIXME-3 import not complete yet -{ - errorProt = ""; - state = StateInit; - stateStack.clear(); - stateStack.append(StateInit); - isVymPart=false; - return true; -} - - -QString parseFreemindHandler::parseHREF(QString href) -{ - QString type=href.section(":",0,0); - QString path=href.section(":",1,1); - if (!tmpDir.endsWith("/")) - return tmpDir + "/" + path; - else - return tmpDir + path; -} - -bool parseFreemindHandler::startElement ( const QString&, const QString&, - const QString& eName, const QXmlAttributes& atts ) -{ - QColor col; - /* Testing - qDebug() << "startElement <"<< qPrintable(eName) - <<"> state="<Freemind map is newer than version " +v +" " - "

The map you are just trying to load was " - "saved using freemind " +atts.value("version")+". " - "Your version of vym can parse freemind " + v +"."); - } - // Create mapcenter - model->clear(); - mapCenter=model->createMapCenter(); - lastBranch=mapCenter; - - // Create two hidden branches, because Freemind has no relative - // positioning for mainbranches - mainBranchLeft = model->createBranch (lastBranch); - mainBranchRight = model->createBranch (lastBranch); - - mainBranchLeft->setRelPos ( QPointF(-200,0)); - mainBranchLeft->setHeadingPlainText (" "); - mainBranchRight->setRelPos ( QPointF(200,0)); - mainBranchRight->setHeadingPlainText (" "); - } else if ( eName == "attribute_registry" && state == StateMap ) - { - state = StateAttributeRegistry; - } else if ( eName == "attribute_name" && state == StateAttributeRegistry) - { - state = StateAttributeName; - } else if ( eName == "attribute_value" && state == StateAttributeName) - { - state = StateAttributeValue; - } else if ( eName == "node" && state == StateMap ) - { - state=StateNode; - readNodeAttr (atts); - } else if ( eName == "node" && state == StateNode ) - { - lastBranch=model->createBranch(lastBranch); - state=StateNode; - readNodeAttr (atts); - } else if ( eName == "properties" ) - { - } else if ( eName == "map_styles" ) - { - } else if ( eName == "font" && state == StateNode) //FIXME-3 not implemented - { - state=StateFont; - } else if ( eName == "edge" && state == StateNode) //FIXME-3 xlink not implemented - { - state=StateEdge; - } else if ( eName == "hook" && state == StateNode) - { - state=StateHook; - } else if ( eName == "icon" && state == StateNode) - { - state=StateIcon; - if (!atts.value("BUILTIN").isEmpty() ) - { - QString f=atts.value("BUILTIN"); - QString v; - if (f=="help") - v="questionmark"; - else if (f=="messagebox_warning") - v="freemind-warning"; - else if (f=="idea") - v="lamp"; - else if (f=="button_ok") - v="hook-green"; - else if (f=="button_cancel") - v="cross-red"; - else if (f.contains("full-")) - v=f.replace("full-","freemind-priority-"); - else if (f=="back") - v="freemind-back"; - else if (f=="forward") - v="freemind-forward"; - else if (f=="attach") - v="freemind-attach"; - else if (f=="ksmiletris") - v="smiley-good"; // - else if (f=="clanbomber") - v="freemind-clanbomber"; - else if (f=="desktop_new") - v="freemind-desktopnew"; - else if (f=="flag") - v="freemind-flag"; - else if (f=="gohome") - v="freemind-gohome"; - else if (f=="kaddressbook") - v="freemind-kaddressbook"; - else if (f=="knotify") - v="freemind-knotify"; - else if (f=="korn") - v="freemind-korn"; - else if (f=="Mail") - v="freemind-mail"; - else if (f=="password") - v="freemind-password"; - else if (f=="pencil") - v="freemind-pencil"; - else if (f=="stop") - v="freemind-stop"; - else if (f=="wizard") - v="freemind-wizard"; - else if (f=="xmag") - v="freemind-xmag"; - else if (f=="bell") - v="freemind-bell"; - else if (f=="bookmark") - v="freemind-bookmark"; - else if (f=="penguin") - v="freemind-penguin"; - else if (f=="licq") - v="freemind-licq"; - else - qWarning()<<"parseFreemindHandler: Unknown icon found: "<activateStandardFlag (v); - } - } else if ( eName == "arrowlink" && state == StateNode) - { - state=StateArrowLink; - } else if ( eName == "cloud" && state == StateNode) - { - state=StateCloud; - } else if ( eName == "richcontent" && state == StateNode) - { - state=StateRichContent; - return readRichContentAttr (atts); - } else if ( eName == "html" && state == StateRichContent) - { - state=StateHtml; - htmldata="<"+eName; - readHtmlAttr(atts); - htmldata+=">"; - } else if ( eName == "text" && state == StateHook) - { - state=StateText; - } else if ( state == StateHtml ) - { - // accept all while in html mode, - htmldata+="<"+eName; - readHtmlAttr(atts); - htmldata+=">"; - } else - { - // Usually we would return an error here - // In order to not break with every new element in FreeMind or FreePlane, - // better ignore the new element for now - state=StateUnknown; - qWarning()<<"parseFreemindHandler: Unknown element found and ignoring:: "< state=" <emitDataChanged (mapCenter); - - // Remove helper branches, if not needed - if (mainBranchLeft->childCount()==0) model->deleteItem (mainBranchLeft); - if (mainBranchRight->childCount()==0) model->deleteItem (mainBranchRight); - break; - case StateNode: - model->emitDataChanged (lastBranch); - lastBranch=(BranchItem*)lastBranch->parent(); - lastBranch->setLastSelectedBranch (0); - break; - case StateRichContent: - if (!htmldata.isEmpty()) - { - if (htmlPurpose==Node) - lastBranch->setHeadingPlainText (htmldata); // FIXME-3 probably wrong for RT heading - else if (htmlPurpose==Note) - lastBranch->setNote (htmldata); - } - break; - case StateHtml: - htmldata+=""; - if (eName=="html") - { - //state=StateHtmlNote; - htmldata.replace ("

","
"); - } - break; - default: - break; - } - state=stateStack.takeLast(); - return true; -} - -bool parseFreemindHandler::characters ( const QString& ch) -{ - //qDebug() << "characters \""<relinkBranch (lastBranch, mainBranchLeft); - else if (a.value ("POSITION")=="right") - model->relinkBranch (lastBranch, mainBranchRight); - } - - if (a.value( "FOLDED")=="true" ) - lastBranch->toggleScroll(); - - if (!a.value( "TEXT").isEmpty() ) - { - lastBranch->setHeadingPlainText (a.value ("TEXT")); // FIXME-3 what about RT? - //model->setHeading (a.value ("TEXT"), lastBranch); - } - - if (!a.value( "COLOR").isEmpty() ) - lastBranch->setHeadingColor (QColor (a.value ("COLOR"))); - - if (!a.value( "LINK").isEmpty() ) - lastBranch->setURL (a.value ("LINK")); - return true; -} - - -bool parseFreemindHandler::readRichContentAttr (const QXmlAttributes& a) -{ - if (a.value ("TYPE")=="NODE" ) - htmlPurpose=Node; - else if (a.value ("TYPE")=="NOTE" ) - htmlPurpose=Note; - else - { - htmlPurpose=Unknown; - qWarning()<<"parseFreemindHandler: Unknown purpose of richContent found: "<