Project::OSiRiON - Git repositories
Project::OSiRiON
News . About . Screenshots . Downloads . Forum . Wiki . Tracker . Git
summaryrefslogtreecommitdiff
blob: 4e5736b3c6d9ab78854cada6f1590e59289bee40 (plain)
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
/*
   zonecc
   This file is part of the Project::OSiRiON world editor 
   and is distributed under the terms and conditions of 
   the GNU General Public License version 2
*/

#include "zoneproperties.h"

namespace editor
{

ZoneProperties::ZoneProperties() : Properties()
{
}

ZoneProperties::~ZoneProperties()
{
}

void ZoneProperties::save(QTextStream & textstream)
{
	// comments
	if (comment().size()) {
		// QTextStream operates on QString, not on QString const
		QString commentbuffer = comment();
		QTextStream commentstream(&commentbuffer);
		QString line;
		while (!commentstream.atEnd()) {
			line = commentstream.readLine(1024);
			textstream << line << '\n';
		}
		textstream << '\n';
	}
	
	textstream << "[zone]" << '\n';

	save_comment(textstream, "name");
	if (name().size())
		textstream << "name=" << name() << '\n';
	
	// other values
	if (values().size()) {
		textstream << values();
	}
	
	// info string
	if (info().size()) {
		textstream << '\n';
		save_comment(textstream, "info");
		
		// QTextStream operates on QString, not on QString const
		QString infobuffer = info();
		QTextStream infostream(&infobuffer);
		QString line;
		while (!infostream.atEnd()) {
			line = infostream.readLine(1024);
			textstream << "info=" << line << '\n';
		}
	}

	textstream << '\n';
}

} // namespace editor