]> Creatis software - clitk.git/blob - vv/vvRegisterForm.cxx
Debug RTStruct conversion with empty struc
[clitk.git] / vv / vvRegisterForm.cxx
1 /*=========================================================================
2   Program:   vv                     http://www.creatis.insa-lyon.fr/rio/vv
3
4   Authors belong to:
5   - University of LYON              http://www.universite-lyon.fr/
6   - Léon Bérard cancer center       http://www.centreleonberard.fr
7   - CREATIS CNRS laboratory         http://www.creatis.insa-lyon.fr
8
9   This software is distributed WITHOUT ANY WARRANTY; without even
10   the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
11   PURPOSE.  See the copyright notices for more information.
12
13   It is distributed under dual licence
14
15   - BSD        See included LICENSE.txt file
16   - CeCILL-B   http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html
17 ===========================================================================**/
18 #include <QApplication>
19
20 #include "vvRegisterForm.h"
21 #include <QNetworkRequest>
22 #include <QDir>
23 #if QT_VERSION >= 0x050000
24 #include <QUrlQuery>
25 #endif
26 #include <QPalette>
27 #include "clitkConfiguration.h"
28 #include "vvConfiguration.h"
29 #include "vvUtils.h"
30
31 vvRegisterForm::vvRegisterForm(QUrl url, QString path, QSettings::Format format):url(url), settings(path, format){ 
32   manager = new QNetworkAccessManager(this);
33   setupUi(this);
34   textBrowser->viewport()->setAutoFillBackground(false);
35 }
36
37 void vvRegisterForm::sendData(){
38   QUrl url2(url);
39   
40 #if QT_VERSION < 0x050000
41   url2.addQueryItem("name", firstName->text().toUtf8());
42   url2.addQueryItem("lastName", lastName->text().toUtf8());
43   url2.addQueryItem("email", email->text().toUtf8());
44   url2.addQueryItem("group", group->text().toUtf8());
45   url2.addQueryItem("os", OS_NAME);
46   url2.addQueryItem("vvVersion", VV_VERSION);
47   url2.addQueryItem("architecture", ARCHITECTURE);
48   url2.addQueryItem("adressing", QString::number(sizeof(char*)*8)+"-bit");
49   url2.addQueryItem("compilationDate", QString(__DATE__) + ", " + QString(__TIME__) );
50 #else
51   QUrlQuery url2Query;
52     
53   url2Query.addQueryItem("name", firstName->text().toUtf8());
54   url2Query.addQueryItem("lastName", lastName->text().toUtf8());
55   url2Query.addQueryItem("email", email->text().toUtf8());
56   url2Query.addQueryItem("group", group->text().toUtf8());
57   url2Query.addQueryItem("os", OS_NAME);
58   url2Query.addQueryItem("vvVersion", VV_VERSION);
59   url2Query.addQueryItem("architecture", ARCHITECTURE);
60   url2Query.addQueryItem("adressing", QString::number(sizeof(char*)*8)+"-bit");
61   url2Query.addQueryItem("compilationDate", QString(__DATE__) + ", " + QString(__TIME__) );
62   url2.setQuery(url2Query);
63 #endif
64   
65   manager->get(QNetworkRequest(url2));
66 }
67 void vvRegisterForm::accept(){
68   sendData();
69   settings.setValue("name", firstName->text().toUtf8());
70   settings.setValue("lastName", lastName->text().toUtf8());
71   settings.setValue("email", email->text().toUtf8());
72   settings.setValue("group", group->text().toUtf8());
73   settings.setValue("os", osName->text().toUtf8());
74   QDialog::accept();
75 }
76 bool vvRegisterForm::canPush(){
77   ///maybe we show this dialog only for new major release, not for any patches?
78   return settings.value("vvVersion").toString().toStdString()<VV_VERSION;
79 }
80 void vvRegisterForm::acquitPushed(){
81   settings.setValue("vvVersion", VV_VERSION);
82 }
83 void vvRegisterForm::show(){
84  firstName->setText(settings.value("name").toString());
85  lastName->setText(settings.value("lastName").toString()); 
86  email->setText(settings.value("email").toString()); 
87  group->setText(settings.value("group").toString()); 
88  osName->setText(QString::fromStdString(OS_NAME) + ", " +
89                  ARCHITECTURE + ", " +
90                  QString::number(sizeof(char*)*8)+"-bit");
91  QDialog::show();
92 }