OSDN Git Service

impl FavoriteBoards::toXML()
[kita/kita.git] / kita / src / libkita / favoriteboards.cpp
index 63d95c4..c845650 100644 (file)
@@ -90,3 +90,32 @@ void FavoriteBoards::processChildNode( QDomNode& node )
         FavoriteBoards::append( url );
     }
 }
+
+QString FavoriteBoards::toXML()
+{
+    QDomDocument document;
+    
+    QDomProcessingInstruction pi = document.createProcessingInstruction( "xml", "version=\"1.0\"" );
+    document.appendChild( pi );
+    
+    QDomElement root = document.createElementNS( "http://kita.sourceforge.jp/ns/boardlist", "boardlist" );
+    document.appendChild( root );
+    
+    QValueList<KURL> boards = FavoriteBoards::boards();
+    QValueList<KURL>::iterator it;
+    for( it = boards.begin(); it != boards.end(); ++it ) {
+        QDomElement board = document.createElementNS( "http://kita.sourceforge.jp/ns/board", "board" );
+        root.appendChild( board );
+        
+        QString boardURL = (*it).url();
+        QDomElement urlElement = document.createElement( "url" );
+        board.appendChild( urlElement );
+        urlElement.appendChild( document.createTextNode( boardURL ) );
+    
+        QString boardName = Kita::Board::getByURL( boardURL )->name();
+        QDomElement nameElement = document.createElement( "name" );
+        board.appendChild( nameElement );
+        nameElement.appendChild( document.createTextNode( boardName ) );
+    }
+    return document.toString( 0 );
+}