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 *******************************************************************************/
24 \brief Represenation of dictionary html entry on XDXF webpage
26 \author Bartosz Szatkowski <bulislaw@linux.com>
29 #ifndef DOWNLOADDICT_H
30 #define DOWNLOADDICT_H
33 #include <QStringList>
37 Each dictionary is representing as one html line at XDXF webpage,
38 each entry contains lang from, lang to, file name, file size, link, etc info
39 about dictionary. DownloadDict cut this description and then it may be
40 presented to the user and downloaded
46 /*! Cuts html entry to class
47 Html entry looks like <tr><td>...</td><td>...</tr> some of the fields
48 dosn't matters for now so Iam ignoring it.
49 \param html html entry (line describing a dict) to be cut
51 DownloadDict(QString html) {
52 QRegExp reg("<td.*>(.*)</td>");
56 while ((pos = reg.indexIn(html, pos)) != -1) {
58 pos += reg.matchedLength();
63 QString sizeStr = tmp.at(3);
65 _size = sizeStr.remove(',').toInt();
66 _size = _size / 1024 / 1024;
67 _size = round(_size*1000) / 1000;
69 QRegExp lreg("href=\"(.*)\""); // Cutting link to file
70 lreg.setMinimal(true);
71 lreg.indexIn(tmp.at(2));
72 _link = lreg.capturedTexts().at(1);
75 //! \return dictionary source language
76 QString fromLang() const {return _from;}
78 //! \return dictionary destination language
79 QString toLang() const {return _to;}
81 //! \return dictionary title
82 QString title() const {return _title;}
84 //! \return dictionary archive size
85 float size() const {return _size;}
87 //! \return link to dictionary archive
88 QString link() const {return _link;}
91 Compares dict by from lang then to lang
92 \return 1 if this is before other
94 bool operator <(DownloadDict other) const {
95 if(_from < other.fromLang()) return true;
96 if(_from > other.fromLang()) return false;
97 if(_to < other.toLang()) return true;
102 QString _from, _to, _title, _link;
107 #endif // DOWNLOADDICT_H