]> Creatis software - clitk.git/blob - vv/vvRegisterForm.cxx
Merge branch 'master' into VTK6_Qt5
[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 #include <QUrlQuery>
24 #include <QPalette>
25 #include "clitkConfiguration.h"
26 #include "vvConfiguration.h"
27 #include "vvUtils.h"
28
29 vvRegisterForm::vvRegisterForm(QUrl url, QString path, QSettings::Format format):url(url), settings(path, format){ 
30   manager = new QNetworkAccessManager(this);
31   setupUi(this);
32   textBrowser->viewport()->setAutoFillBackground(false);
33 }
34
35 void vvRegisterForm::sendData(){
36   QUrl url2(url);
37   QUrlQuery url2Query;
38     
39   url2Query.addQueryItem("name", firstName->text().toUtf8());
40   url2Query.addQueryItem("lastName", lastName->text().toUtf8());
41   url2Query.addQueryItem("email", email->text().toUtf8());
42   url2Query.addQueryItem("group", group->text().toUtf8());
43   url2Query.addQueryItem("os", OS_NAME);
44   url2Query.addQueryItem("vvVersion", VV_VERSION);
45   url2Query.addQueryItem("architecture", ARCHITECTURE);
46   url2Query.addQueryItem("adressing", QString::number(sizeof(char*)*8)+"-bit");
47   url2Query.addQueryItem("compilationDate", QString(__DATE__) + ", " + QString(__TIME__) );
48   url2.setQuery(url2Query);
49   
50   manager->get(QNetworkRequest(url2));
51 }
52 void vvRegisterForm::accept(){
53   sendData();
54   settings.setValue("name", firstName->text().toUtf8());
55   settings.setValue("lastName", lastName->text().toUtf8());
56   settings.setValue("email", email->text().toUtf8());
57   settings.setValue("group", group->text().toUtf8());
58   settings.setValue("os", osName->text().toUtf8());
59   QDialog::accept();
60 }
61 bool vvRegisterForm::canPush(){
62   ///maybe we show this dialog only for new major release, not for any patches?
63   return settings.value("vvVersion").toString().toStdString()<VV_VERSION;
64 }
65 void vvRegisterForm::acquitPushed(){
66   settings.setValue("vvVersion", VV_VERSION);
67 }
68 void vvRegisterForm::show(){
69  firstName->setText(settings.value("name").toString());
70  lastName->setText(settings.value("lastName").toString()); 
71  email->setText(settings.value("email").toString()); 
72  group->setText(settings.value("group").toString()); 
73  osName->setText(QString::fromStdString(OS_NAME) + ", " +
74                  ARCHITECTURE + ", " +
75                  QString::number(sizeof(char*)*8)+"-bit");
76  QDialog::show();
77 }