28const int PptXml::s_area = 30512;
31 const myFile &mainStream,
32 const myFile ¤tUser,
33 const myFile &pictures):
39 m_isConverted =
false;
60void PptXml::encode(TQString &text)
67 text.replace(
'&',
"&");
68 text.replace(
'<',
"<");
69 text.replace(
'>',
">");
74 text.replace(
'"',
""");
75 text.replace(
'\'',
"'");
78const TQString PptXml::getXml()
const
80 TQString body =
"<?xml version=\"1.0\" encoding=\"UTF-8\"?><!DOCTYPE DOC>\n"
81 "<DOC mime=\"application/x-kpresenter\" email=\"reggie@kde.org\" syntaxVersion=\"2\" author=\"Reginald Stadlbauer\" editor=\"Powerpoint import filter\">\n"
82 " <PAPER ptWidth=\"680\" unit=\"0\" format=\"5\" orientation=\"0\" ptHeight=\"510\">\n"
83 " <PAPERBORDERS ptRight=\"0\" ptBottom=\"0\" ptLeft=\"0\" ptTop=\"0\"/>\n"
85 " <BACKGROUND rastX=\"10\" rastY=\"10\" color=\"#ffffff\">\n";
87 body +=
" </BACKGROUND>\n"
88 " <HEADER show=\"0\">\n"
89 " <ORIG x=\"0\" y=\"0\"/>\n"
90 " <SIZE width=\"680\" height=\"20\"/>\n"
91 " <PEN width=\"1\" style=\"0\" color=\"#000000\"/>\n"
96 " <FOOTER show=\"0\">\n"
97 " <ORIG x=\"0\" y=\"430\"/>\n"
98 " <SIZE width=\"680\" height=\"20\"/>\n"
99 " <PEN width=\"1\" style=\"0\" color=\"#000000\"/>\n"
106 body +=
" </PAGETITLES>\n"
109 body +=
" </PAGENOTES>\n"
112 body +=
" </OBJECTS>\n"
113 " <INFINITLOOP value=\"0\"/>\n"
114 " <MANUALSWITCH value=\"1\"/>\n"
115 " <PRESSPEED value=\"1\"/>\n"
116 " <PRESSLIDES value=\"0\"/>\n"
118 " <SLIDE nr=\"0\" show=\"1\"/>\n"
130void PptXml::gotDrawing(
143 ourKey =
"vectorGraphic" + TQString::number(
id) +
"." + type;
146 filterArgs =
"shape-id=";
147 filterArgs += TQString::number(
id);
148 filterArgs +=
";delay-stream=";
149 filterArgs += TQString::number(0);
161if (mimeType !=
"application/x-kontour")
163 m_embedded +=
" <EMBEDDED>\n"
168 "\">\n<RECT x=\"30\" y=\"190\" w=\"120\" h=\"80\"/>\n"
171 "<EFFECTS effect=\"0\" effect2=\"0\"/>\n"
172 "<PEN red=\"0\" green=\"0\" blue=\"0\" width=\"1\" style=\"0\"/>\n"
173 "<BRUSH red=\"0\" green=\"0\" blue=\"0\" style=\"0\"/>\n"
174 "<PRESNUM value=\"0\"/>\n"
175 "<ANGLE value=\"0\"/>\n"
176 "<FILLTYPE value=\"0\"/>\n"
177 "<GRADIENT red1=\"255\" green1=\"0\" blue1=\"0\" red2=\"0\" green2=\"255\" blue2=\"0\" type=\"1\" unbalanced=\"0\" xfactor=\"100\" yfactor=\"100\"/>\n"
178 "<DISAPPEAR effect=\"0\" doit=\"0\" num=\"1\"/>\n"
184void PptXml::gotSlide(PptSlide &slide)
186 static const unsigned pageHeight = 510;
187 TQ_UINT16 numbOfPholders = 0;
188 m_pages +=
" <PAGE/>\n";
189 numbOfPholders = slide.getNumberOfPholders();
190 for(TQ_UINT16 i = 0; i < numbOfPholders; i++)
192 slide.gotoPlaceholder(i);
193 setPlaceholder(slide);
198void PptXml::setPlaceholder(PptSlide &slide)
200 TQString xml_friendly;
202 bool bulletedList =
false;
210 xml_friendly = *slide.getPlaceholderText().at(i);
211 encode(xml_friendly);
213 type = slide.getPlaceholderType();
220 height = TQString::number(55);
221 x = TQString::number(30);
222 width = TQString::number(610);
223 align = TQString::number(ALIGN_CENTER);
224 pointSize = TQString::number(44);
225 bulletedList =
false;
226 m_titles +=
" <Title title=\"" + xml_friendly +
"\" />\n";
228 case CENTER_TITLE_TEXT:
230 x = TQString::number(45);
231 height = TQString::number(55);
232 width = TQString::number(610);
233 align = TQString::number(ALIGN_CENTER);
234 pointSize = TQString::number(44);
235 bulletedList =
false;
236 m_titles +=
" <Title title=\"" + xml_friendly +
"\" />\n";
238 case CENTER_BODY_TEXT:
240 x = TQString::number(35);
241 height = TQString::number(37);
242 width = TQString::number(610);
243 align = TQString::number(ALIGN_CENTER);
244 pointSize = TQString::number(32);
245 bulletedList =
false;
248 m_notes +=
" <Note note=\"\" />\n";
252 x = TQString::number(35);
253 height = TQString::number(268);
254 width = TQString::number(610);
255 align = TQString::number(ALIGN_LEFT);
256 pointSize = TQString::number(28);
261 case QUARTER_BODY_TEXT:
265 x = TQString::number(335);
266 width = TQString::number(300);
271 x = TQString::number(30);
272 width = TQString::number(300);
275 height = TQString::number(268);
276 align = TQString::number(ALIGN_LEFT);
277 pointSize = TQString::number(28);
285 m_text +=
"<OBJECT type=\"4\">\n"
286 " <ORIG x=\""+x+
"\" y=\""+TQString::number(y + m_y)+
"\"/>\n"
287 " <SIZE width=\""+width+
"\" height=\""+ height +
"\"/>\n"
288 " <PEN width=\"1\" style=\"0\" color=\"#000000\"/>\n"
290 " <P align=\""+align+
"\">\n";
292 m_text +=
" <COUNTER numberingtype=\"0\" type=\"10\" depth=\"0\" />\n";
293 m_text +=
" <TEXT family=\"utopia\" pointSize=\""+pointSize+
"\" color=\"#000000\">";
295 for (i = 0; i < slide.getPlaceholderText().count(); i++)
297 xml_friendly = *slide.getPlaceholderText().at(i);
298 encode(xml_friendly);
299 m_text += xml_friendly;
300 if (i < slide.getPlaceholderText().count() - 1)
302 m_text +=
"</TEXT>\n"
304 " <P align=\"1\">\n";
306 m_text +=
" <COUNTER numberingtype=\"0\" type=\"10\" depth=\"0\" />\n";
307 m_text +=
" <TEXT family=\"utopia\" pointSize=\""+pointSize+
"\" color=\"#000000\">";
310 m_text +=
"</TEXT>\n"