summaryrefslogtreecommitdiffstats
path: root/src/server/util/global.cpp
blob: 97c035500530ab3161b3b2255aabe092ca3710b0 (plain) (blame)
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
/*
 * global.cpp
 *
 *  Created on: 29.01.2013
 *      Author: sr
 */

#include "global.h"
#include <QDebug>

QString Global::_sessionName = QString();
QByteArray Global::_sessionNameArray = QByteArray();
QMap<QString, Room*> Global::_rooms = QMap<QString, Room*>();
QString Global::_currentRoom = QString();

void Global::setSessionName(const QString& name)
{
	Global::_sessionName = name;
	Global::_sessionNameArray = name.toUtf8();
}

void Global::setSessionName()
{
	const QString name = QString::number(qrand() % 9000 + 1000);
	Global::_sessionName = name;
	Global::_sessionNameArray = name.toUtf8();
}

void Global::setRooms(const QMap<QString, Room*>& roomList)
{
	Global::_rooms = roomList;
}

void Global::setCurrentRoom(QString room)
{
	Global::_currentRoom = room;
}

const Room* Global::getCurrentRoom()
{
	if (_rooms.contains(_currentRoom)) {
		return _rooms[_currentRoom];
	} else {
		static Room* defaultRoom = NULL;
		if (defaultRoom == NULL) {
			defaultRoom = new Room(QMap<QString, QPoint>(), QSize(8, 6), QSize(1, 1), "", "");
		}
		return defaultRoom;
	}
}
bool Global::manager_only = false;
bool Global::_isExam = false;

QString Global::_iniPath = "";

QSharedPointer<QSettings> Global::getSettings()
{
	QSharedPointer<QSettings> set;
	if (_iniPath == "") {
		/* default location (system scope) */
		set = QSharedPointer<QSettings>(new QSettings(QSettings::IniFormat, QSettings::SystemScope, "openslx/pvs2", "pvs2"));
	} else {
		/* use _iniPath to find ini file */
		set = QSharedPointer<QSettings>(new QSettings(Global::_iniPath, QSettings::IniFormat));
	}
	set->setIniCodec("UTF-8");
	return set;
}