File: imports.cpp

package info (click to toggle)
vym 1.8.1-1
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k
  • size: 3,000 kB
  • ctags: 1,599
  • sloc: cpp: 14,723; sh: 373; xml: 277; perl: 89; makefile: 16
file content (115 lines) | stat: -rw-r--r-- 2,289 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
#include <qmessagebox.h>

#include "file.h"
#include "imports.h"
#include "linkablemapobj.h"
#include "misc.h"
#include "mainwindow.h"
#include "xsltproc.h"

extern Main *mainWindow;
extern QDir vymBaseDir;

ImportBase::ImportBase()
{
	// Create tmpdir
	tmpDir.setPath (makeUniqueDir("/tmp/vym-XXXXXX"));
}


ImportBase::~ImportBase()
{
	// Remove tmpdir
	removeDir (tmpDir);
}

void ImportBase::setDir(const QString &p)
{
	inputDir=p;
}

void ImportBase::setFile (const QString &p)
{
	inputFile=p;
}

void ImportBase::setMapCenter(MapCenterObj *mc)
{
	mapCenter=mc;
}

bool ImportBase::transform()
{
	return true;
}

QString ImportBase::getTransformedFile()
{
	return transformedFile;
}

/////////////////////////////////////////////////
bool ImportKDEBookmarks::transform()
{
	transformedFile=tmpDir.path()+"/bookmarks.xml";

	XSLTProc p;
	p.setInputFile (tmpDir.home().path()+"/.kde/share/apps/konqueror/bookmarks.xml");
	p.setOutputFile (transformedFile);
	p.setXSLFile (vymBaseDir.path()+"/styles/kdebookmarks2vym.xsl");
	p.process();

	return true;
}


/////////////////////////////////////////////////
bool ImportFirefoxBookmarks::transform()
{
	transformedFile=tmpDir.path()+"/bookmarks.xml";

	QStringList lines;
	QFile file( inputFile );
	if ( file.open( IO_ReadOnly ) ) 
	{
		QTextStream stream( &file );
		while ( !stream.atEnd() ) 
			lines += stream.readLine(); // line of text excluding '\n'
		file.close();
	}
	// FIXME
	// Generate vym from broken bookmarks above...

	return true;
}


/////////////////////////////////////////////////
bool ImportMM::transform()
{
	// try to unzip 
	if (success==unzipDir (tmpDir, inputFile))
	{
		cout << "Unzipped "<<inputFile<<" to "<<tmpDir.path()<<endl;
		
		// Set short name, too. Search from behind:
		transformedFile=inputFile;
		int i=transformedFile.findRev("/");
		if (i>=0) transformedFile=transformedFile.remove (0,i+1);
		transformedFile.replace(".mmap",".xml");
		transformedFile=tmpDir.path()+"/"+transformedFile;
		cout << "  transformedFile="<<transformedFile<<endl;

		XSLTProc p;
		p.setInputFile (tmpDir.path()+"/Document.xml");
		p.setOutputFile (transformedFile);
		p.setXSLFile (vymBaseDir.path()+"/styles/mmap2vym.xsl");
		p.process();

		cout << "  xslt done"<<endl;

		return true;
	} else
		return false;
	
}