21 #include <QtCore/QFile>
22 #include <QtCore/QFileInfo>
23 #include <QtGui/QImageReader>
24 #include <QtGui/QTextDocument>
42 QDomElement fce = m_themeXml.firstChildElement(
"messaging-emoticon-map");
47 QDomNodeList nl = fce.childNodes();
48 for (uint i = 0; i < nl.length(); i++) {
49 QDomElement de = nl.item(i).toElement();
50 if (!de.isNull() && de.tagName() ==
"emoticon" && (de.attribute(
"file") == emoticon || de.attribute(
"file") == QFileInfo(emoticon).baseName())) {
65 QDomElement fce = m_themeXml.firstChildElement(
"messaging-emoticon-map");
70 QDomElement emoticon = m_themeXml.createElement(
"emoticon");
71 emoticon.setAttribute(
"file", QFileInfo(emo).
fileName());
72 fce.appendChild(emoticon);
73 QStringList::const_iterator constIterator;
74 for (constIterator = splitted.begin(); constIterator != splitted.end(); ++constIterator) {
75 QDomElement emoText = m_themeXml.createElement(
"string");
76 QDomText txt = m_themeXml.createTextNode((*constIterator).trimmed());
77 emoText.appendChild(txt);
78 emoticon.appendChild(emoText);
91 kWarning() << fp.fileName() <<
"doesn't exist!";
95 if (!fp.open(QIODevice::WriteOnly)) {
96 kWarning() << fp.fileName() <<
"can't open WriteOnly!";
100 QTextStream emoStream(&fp);
101 emoStream.setCodec(
"UTF-8" );
102 emoStream << m_themeXml.toString(4);
113 kWarning() << path <<
"doesn't exist!";
117 if (!fp.open(QIODevice::ReadOnly)) {
118 kWarning() << fp.fileName() <<
"can't open ReadOnly!";
124 if (!m_themeXml.setContent(&fp, &error, &eli, &eco)) {
125 kWarning() << fp.fileName() <<
"can't copy to xml!";
126 kWarning() << error <<
"line:" << eli <<
"column:" << eco;
133 QDomElement fce = m_themeXml.firstChildElement(
"messaging-emoticon-map");
138 QDomNodeList nl = fce.childNodes();
142 for (uint i = 0; i < nl.length(); i++) {
143 QDomElement de = nl.item(i).toElement();
145 if (!de.isNull() && de.tagName() ==
"emoticon") {
146 QDomNodeList snl = de.childNodes();
149 for (uint k = 0; k < snl.length(); k++) {
150 QDomElement sde = snl.item(k).toElement();
152 if (!sde.isNull() && sde.tagName() ==
"string") {
157 QString emo = KGlobal::dirs()->findResource(
"emoticons",
themeName() +
'/' + de.attribute(
"file"));
162 for (
int j = 0; j < ext.size(); ++j) {
163 emo = KGlobal::dirs()->findResource(
"emoticons",
themeName() +
'/' + de.attribute(
"file") +
'.' + ext.at(j));
164 if (!emo.isEmpty()) {
186 QFile fp(path +
'/' +
"emoticons.xml");
188 if (!fp.open(QIODevice::WriteOnly)) {
189 kWarning() << fp.fileName() <<
"can't open WriteOnly!";
194 doc.appendChild(doc.createProcessingInstruction(
"xml",
"version=\"1.0\""));
195 doc.appendChild(doc.createElement(
"messaging-emoticon-map"));
197 QTextStream emoStream(&fp);
198 emoStream.setCodec(
"UTF-8" );
199 emoStream << doc.toString(4);