From ed9e290b441a6486c576c2e2e4baa69fa0f3ed37 Mon Sep 17 00:00:00 2001 From: deva Date: Tue, 2 Aug 2011 08:00:20 +0000 Subject: New 'open course' feature. --- client/template.cc | 103 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 103 insertions(+) create mode 100644 client/template.cc (limited to 'client/template.cc') diff --git a/client/template.cc b/client/template.cc new file mode 100644 index 0000000..4ffd4ac --- /dev/null +++ b/client/template.cc @@ -0,0 +1,103 @@ +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* vim: set et sw=2 ts=2: */ +/*************************************************************************** + * template.cc + * + * Fri Jul 1 14:43:46 CEST 2011 + * Copyright 2011 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 "template.h" + +#include +#include +#include + +Template::Template(NetCom &n) + : netcom(n) +{ + wdg = new QGroupBox(); + + QVBoxLayout *l = new QVBoxLayout(); + wdg->setLayout(l); + wdg->setContentsMargins(50, 50, 50, 50); + + l->addStretch(); + + templ = new QLabel(); + templ->setAlignment(Qt::AlignHCenter); + QFont font = templ->font(); + font.setBold(true); + font.setPointSize(font.pointSize() * 1.5); + templ->setFont(font); + l->addWidget(templ); + + l->addStretch(); + + QPushButton *btn = new QPushButton("Open"); + l->addWidget(btn); + connect(btn, SIGNAL(clicked()), this, SLOT(open())); + + l->addStretch(); + +} + +const char *Template::type() +{ + return "template"; +} + +void Template::update(QDomNode &node) +{ + QDomElement elem = node.toElement(); + templ->setText(elem.attribute("title") + " (" + elem.attribute("name") + ")"); + name = elem.attribute("name"); +} + +void Template::open() +{ + emit setTemplate(name); + netcom.templ = name; + netcom.send(netcom.course, name, ""); +} + +QWidget *Template::widget() +{ + return wdg; +} + +#ifdef TEST_TEMPLATE +//Additional dependency files +//deps: +//Required cflags (autoconf vars may be used) +//cflags: +//Required link options (autoconf vars may be used) +//libs: +#include "test.h" + +TEST_BEGIN; + +// TODO: Put some testcode here (see test.h for usable macros). +TEST_TRUE(false, "No tests yet!"); + +TEST_END; + +#endif/*TEST_TEMPLATE*/ -- cgit v1.2.3