1 /*******************************************************************************
3 This file is part of mDictionary.
5 mDictionary is free software: you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation, either version 3 of the License, or
8 (at your option) any later version.
10 mDictionary is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details.
15 You should have received a copy of the GNU General Public License
16 along with mDictionary. If not, see <http://www.gnu.org/licenses/>.
18 Copyright 2010 Comarch S.A.
20 *******************************************************************************/
22 \file XdxfDictDownloadProgressDialog.cpp
23 \brief Shows downloading progress bar.
25 \author Mateusz Półrola <mateusz.polrola@comarch.com>
28 #include "XdxfDictDownloadProgressDialog.h"
30 XdxfDictDownloadProgressDialog::XdxfDictDownloadProgressDialog(QWidget*parent):
33 view= new QDeclarativeView();
34 view->setSource(QUrl::fromLocalFile("/usr/share/mdictionary/qml/XdxfDictDownloader.qml"));
35 view->setResizeMode(QDeclarativeView::SizeRootObjectToView);
36 view->setAlignment(Qt::AlignCenter);
39 mainLayout = new QVBoxLayout;
40 mainLayout->addWidget(view);
41 setLayout(mainLayout);
42 view->setWindowTitle(tr("Progres Dialog"));
44 QGraphicsObject *rootObject = view->rootObject();
46 connect(this, SIGNAL(setValue(QVariant)),
47 rootObject, SLOT(setValue(QVariant)));
48 connect(this, SIGNAL(setTextt(QVariant)),
49 rootObject, SLOT(setText(QVariant)));
50 connect(this, SIGNAL(setMaximumValue(QVariant)),
51 rootObject, SLOT(setMaximumValue(QVariant)));
53 connect(rootObject, SIGNAL(cancelDownloading()),
54 this, SLOT(reject()));
57 verticalLayout = new QVBoxLayout(this);
58 setLayout(verticalLayout);
60 downloadProgressBar = new QProgressBar(this);
61 downloadProgressBar->setMinimum(0);
62 downloadProgressBar->setMaximum(0);
63 downloadProgressBar->setTextVisible(true);
65 cancelButton = new QPushButton(tr("Cancel"),this);
67 connect(cancelButton, SIGNAL(clicked()),
68 this, SIGNAL(cancelDownloading()));
71 downloadLabel = new QLabel(this);
72 verticalLayout->addWidget(downloadLabel, 0, Qt::AlignCenter);
75 verticalLayout->addWidget(downloadProgressBar);
76 verticalLayout->addWidget(cancelButton);
86 void XdxfDictDownloadProgressDialog::show() {
88 emit setMaximumValue(0);
91 downloadProgressBar->setMaximum(0);
98 void XdxfDictDownloadProgressDialog::setText(QString text) {
102 setWindowTitle(text);
107 void XdxfDictDownloadProgressDialog::updateProgress(float progress) {
109 if(maximumValue == 0) {
110 emit setMaximumValue(100);
112 emit setValue((int)(progress*100));
114 if(downloadProgressBar->maximum() == 0) {
115 downloadProgressBar->setMaximum(100);
117 downloadProgressBar->setValue(progress*100);
122 void XdxfDictDownloadProgressDialog::reject() {
125 emit cancelDownloading();