/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ /* vim: set et sw=2 ts=2: */ /*************************************************************************** * sessions.cc * * Wed May 26 14:31:51 CEST 2010 * Copyright 2010 Bent Bisballe Nyeng * deva@aasimon.org ****************************************************************************/ /* * This file is part of Pracro. * * Pracro is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * Pracro is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Pracro; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. */ #include "sessions.h" #include #include #include #define USER 0 #define SESSIONID 1 void Sessions::add(QString cpr, QString user, QString sessionid) { QList data; data.insert(USER, QVariant(user)); data.insert(SESSIONID, QVariant(sessionid)); s[cpr] = data; } void Sessions::remove(QString cpr) { s.remove(cpr); } void Sessions::show() { QDialog dlg; QGridLayout *grid = new QGridLayout(); dlg.setLayout(grid); dlg.setWindowTitle("Stored sessions"); dlg.setMinimumSize(300, 40); QLabel *lcpr = new QLabel("CPR:"); QLabel *luser = new QLabel("User:"); QLabel *lid = new QLabel("SessionID:"); grid->addWidget(lcpr, 0, 0); grid->addWidget(luser, 0, 1); grid->addWidget(lid, 0, 2); int row = 1; QMap::iterator i = s.begin(); while(i != s.end()) { QString patientid = i.key(); QList data = i.value().toList(); QLabel *lcpr = new QLabel(patientid); QLabel *luser = new QLabel(data[USER].toString()); QLabel *lid = new QLabel(data[SESSIONID].toString()); grid->addWidget(lcpr, row, 0); grid->addWidget(luser, row, 1); grid->addWidget(lid, row, 2); row++; i++; } dlg.exec(); } QVariant Sessions::toVariant() { return s; } void Sessions::fromVariant(const QVariant &v) { s = v.toMap(); } bool Sessions::contains(QString cpr) { return s.contains(cpr); } QString Sessions::getUser(QString cpr) { if(!contains(cpr)) return ""; QList data = s[cpr].toList(); return data[USER].toString(); } QString Sessions::getSessionID(QString cpr) { if(!contains(cpr)) return ""; QList data = s[cpr].toList(); return data[SESSIONID].toString(); }