37 mProviderXML = serializeElement(provider);
41 :mProviderXML(providerxml)
44 mProvider = deserializeElement(providerxml);
69 for (QStringList::ConstIterator it = feeds.begin(); it != feeds.end(); ++it) {
81 QDomElement ProviderHandler::serializeElement(
const Provider& provider)
85 QDomElement el = doc.createElement(
"provider");
89 QStringList::ConstIterator it;
92 for (it = langs.begin(); it != langs.end(); ++it) {
93 e = addElement(doc, el,
"title", name.
translated(*it));
94 e.setAttribute(
"lang", *it);
102 el.setAttribute(
"uploadurl", provider.
uploadUrl().
url());
108 el.setAttribute(
"webaccess", provider.
webAccess().
url());
113 if (provider.
icon().isValid()) {
114 el.setAttribute(
"icon", provider.
icon().
url());
118 for (QStringList::ConstIterator it = feeds.begin(); it != feeds.end(); ++it) {
121 el.setAttribute(
"downloadurl", feed->
feedUrl().
url());
123 el.setAttribute(
"downloadurl-" + (*it), feed->
feedUrl().
url());
130 Provider ProviderHandler::deserializeElement(
const QDomElement& providerxml)
135 if (providerxml.tagName() !=
"provider")
return provider;
137 QString uploadurl = providerxml.attribute(
"uploadurl");
138 QString nouploadurl = providerxml.attribute(
"nouploadurl");
139 QString webservice = providerxml.attribute(
"webservice");
140 QString webaccess = providerxml.attribute(
"webaccess");
147 QString downloadurl = providerxml.attribute(
"downloadurl");
148 QString downloadlatest = providerxml.attribute(
"downloadurl-latest");
149 QString downloadscore = providerxml.attribute(
"downloadurl-score");
150 QString downloaddownloads = providerxml.attribute(
"downloadurl-downloads");
152 if (!downloadlatest.isEmpty()) {
154 feedlatest->
setName(
i18nc(
"describes the feed of the latest posted entries",
"Latest"));
158 if (!downloadscore.isEmpty()) {
164 if (!downloaddownloads.isEmpty()) {
170 if (!downloadurl.isEmpty()) {
174 feedgeneric->
setName(
i18nc(
"describes the feed of the latest posted entries",
"Latest"));
182 KUrl iconurl(providerxml.attribute(
"icon"));
183 if (!iconurl.isValid()) iconurl.
setPath(providerxml.attribute(
"icon"));
187 for (n = providerxml.firstChild(); !n.isNull(); n = n.nextSibling()) {
188 QDomElement e = n.toElement();
189 if (e.tagName() ==
"title") {
190 QString lang = e.attribute(
"lang");
191 name.
addString(lang, e.text().trimmed());
218 QDomElement ProviderHandler::addElement(QDomDocument& doc, QDomElement& parent,
221 QDomElement n = doc.createElement(tag);
222 n.appendChild(doc.createTextNode(value));
223 parent.appendChild(n);