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):
34 view= new QDeclarativeView();
35 view->setSource(QUrl::fromLocalFile("/usr/share/mdictionary/qml/XdxfDictDownloader.qml"));
36 view->setResizeMode(QDeclarativeView::SizeRootObjectToView);
37 view->setAlignment(Qt::AlignCenter);
40 mainLayout = new QVBoxLayout;
41 mainLayout->addWidget(view);
42 setLayout(mainLayout);
43 view->setWindowTitle(tr("Progres Dialog"));
45 QGraphicsObject *rootObject = view->rootObject();
47 connect(this, SIGNAL(setValue(QVariant)),
48 rootObject, SLOT(setValue(QVariant)));
49 connect(this, SIGNAL(setTextt(QVariant)),
50 rootObject, SLOT(setText(QVariant)));
51 connect(this, SIGNAL(setMaximumValue(QVariant)),
52 rootObject, SLOT(setMaximumValue(QVariant)));
54 connect(rootObject, SIGNAL(cancelDownloading()),
55 this, SLOT(reject()));
58 verticalLayout = new QVBoxLayout(this);
59 setLayout(verticalLayout);
61 downloadProgressBar = new QProgressBar(this);
62 downloadProgressBar->setMinimum(0);
63 downloadProgressBar->setMaximum(0);
64 downloadProgressBar->setTextVisible(true);
66 cancelButton = new QPushButton(tr("Cancel"),this);
68 connect(cancelButton, SIGNAL(clicked()),
69 this, SIGNAL(cancelDownloading()));
72 downloadLabel = new QLabel(this);
73 verticalLayout->addWidget(downloadLabel, 0, Qt::AlignCenter);
76 verticalLayout->addWidget(downloadProgressBar);
77 verticalLayout->addWidget(cancelButton);
87 void XdxfDictDownloadProgressDialog::show() {
90 emit setMaximumValue(0);
93 downloadProgressBar->setMaximum(0);
100 void XdxfDictDownloadProgressDialog::setText(QString text) {
106 setWindowTitle(text);
111 void XdxfDictDownloadProgressDialog::updateProgress(float progress) {
114 if(maximumValue == 0) {
115 emit setMaximumValue(100);
117 emit setValue((int)(progress*100));
119 if(downloadProgressBar->maximum() == 0) {
120 downloadProgressBar->setMaximum(100);
122 downloadProgressBar->setValue(progress*100);
127 void XdxfDictDownloadProgressDialog::reject() {
130 Q_EMIT cancelDownloading();