2 Copyright (c) 2013-2015 Montel Laurent <montel@kde.org>
4 This library is free software; you can redistribute it and/or modify it
5 under the terms of the GNU Library General Public License as published by
6 the Free Software Foundation; either version 2 of the License, or (at your
7 option) any later version.
9 This library is distributed in the hope that it will be useful, but WITHOUT
10 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
12 License for more details.
14 You should have received a copy of the GNU Library General Public License
15 along with this library; see the file COPYING.LIB. If not, write to the
16 Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
20 #include "extendattributesutils_p.h"
21 namespace ComposerEditorNG
24 QMap
<QString
, QStringList
> ExtendAttributesUtils::listGlobalAttribute()
26 QMap
<QString
, QStringList
> globalAttr
;
27 globalAttr
.insert(QStringLiteral("id"), QStringList());
28 globalAttr
.insert(QStringLiteral("class"), QStringList());
29 globalAttr
.insert(QStringLiteral("title"), QStringList());
30 globalAttr
.insert(QStringLiteral("lang"), QStringList());
32 dir
<< QStringLiteral("ltr");
33 dir
<< QStringLiteral("rtl");
34 dir
<< QStringLiteral("auto");
35 globalAttr
.insert(QStringLiteral("dir"), dir
);
40 QMap
<QString
, QStringList
> ExtendAttributesUtils::globalAttribute()
42 QMap
<QString
, QStringList
> globalAttr
;
43 globalAttr
.insert(QStringLiteral("accesskey"), QStringList());
44 globalAttr
.insert(QStringLiteral("class"), QStringList());
46 dir
<< QStringLiteral("ltr");
47 dir
<< QStringLiteral("rtl");
48 dir
<< QStringLiteral("auto");
49 globalAttr
.insert(QStringLiteral("dir"), dir
);
50 globalAttr
.insert(QStringLiteral("id"), QStringList());
51 globalAttr
.insert(QStringLiteral("lang"), QStringList());
52 globalAttr
.insert(QStringLiteral("style"), QStringList());
53 globalAttr
.insert(QStringLiteral("tabindex"), QStringList());
54 globalAttr
.insert(QStringLiteral("title"), QStringList());
58 QMap
<QString
, QStringList
> ExtendAttributesUtils::attributesMap(ExtendAttributesDialog::ExtendType type
)
61 case ExtendAttributesDialog::Image
:
62 return attributesMapImage();
63 case ExtendAttributesDialog::Table
:
64 return attributesMapTable();
65 case ExtendAttributesDialog::Cell
:
66 return attributesMapCell();
67 case ExtendAttributesDialog::Link
:
68 return attributesMapLink();
69 case ExtendAttributesDialog::Body
:
70 return attributesMapBody();
71 case ExtendAttributesDialog::ListUL
:
72 return attributesMapListUL();
73 case ExtendAttributesDialog::ListOL
:
74 return attributesMapListOL();
75 case ExtendAttributesDialog::ListDL
:
76 return attributesMapListDL();
80 return QMap
<QString
, QStringList
>();
83 QMap
<QString
, QStringList
> ExtendAttributesUtils::attributesMapImage()
85 QMap
<QString
, QStringList
> map
;
86 map
= globalAttribute();
88 align
<< QStringLiteral("top");
89 align
<< QStringLiteral("bottom");
90 align
<< QStringLiteral("middle");
91 align
<< QStringLiteral("left");
92 align
<< QStringLiteral("right");
93 map
.insert(QStringLiteral("align"), align
);
94 map
.insert(QStringLiteral("alt"), QStringList());
95 map
.insert(QStringLiteral("border"), QStringList());
96 map
.insert(QStringLiteral("height"), QStringList());
97 map
.insert(QStringLiteral("hspace"), QStringList());
98 map
.insert(QStringLiteral("ismap"), QStringList());
99 map
.insert(QStringLiteral("longdesc"), QStringList());
100 map
.insert(QStringLiteral("src"), QStringList());
101 map
.insert(QStringLiteral("usemap"), QStringList());
102 map
.insert(QStringLiteral("vspace"), QStringList());
103 map
.insert(QStringLiteral("width"), QStringList());
107 QMap
<QString
, QStringList
> ExtendAttributesUtils::attributesMapTable()
109 QMap
<QString
, QStringList
> map
;
110 map
= globalAttribute();
112 align
<< QStringLiteral("left");
113 align
<< QStringLiteral("center");
114 align
<< QStringLiteral("right");
115 map
.insert(QStringLiteral("align"), align
);
116 map
.insert(QStringLiteral("bgcolor"), QStringList());
117 map
.insert(QStringLiteral("border"), QStringList());
118 map
.insert(QStringLiteral("cellpadding"), QStringList());
119 map
.insert(QStringLiteral("cellspacing"), QStringList());
121 frame
<< QStringLiteral("void");
122 frame
<< QStringLiteral("above");
123 frame
<< QStringLiteral("below");
124 frame
<< QStringLiteral("hsides");
125 frame
<< QStringLiteral("lhs");
126 frame
<< QStringLiteral("rhs");
127 frame
<< QStringLiteral("vsides");
128 frame
<< QStringLiteral("box");
129 frame
<< QStringLiteral("border");
130 map
.insert(QStringLiteral("frame"), frame
);
132 rules
<< QStringLiteral("none");
133 rules
<< QStringLiteral("groups");
134 rules
<< QStringLiteral("rows");
135 rules
<< QStringLiteral("cols");
136 rules
<< QStringLiteral("all");
137 map
.insert(QStringLiteral("rules"), rules
);
138 map
.insert(QStringLiteral("summary"), QStringList());
139 map
.insert(QStringLiteral("width"), QStringList());
143 QMap
<QString
, QStringList
> ExtendAttributesUtils::attributesMapCell()
145 QMap
<QString
, QStringList
> map
;
146 map
= globalAttribute();
147 map
.insert(QStringLiteral("abbr"), QStringList());
149 align
<< QStringLiteral("top");
150 align
<< QStringLiteral("bottom");
151 align
<< QStringLiteral("middle");
152 align
<< QStringLiteral("left");
153 align
<< QStringLiteral("right");
154 align
<< QStringLiteral("char");
155 map
.insert(QStringLiteral("align"), align
);
156 map
.insert(QStringLiteral("axis"), QStringList());
157 map
.insert(QStringLiteral("bgcolor"), QStringList());
158 map
.insert(QStringLiteral("char"), QStringList());
159 map
.insert(QStringLiteral("charoff"), QStringList());
160 map
.insert(QStringLiteral("colspan"), QStringList());
161 map
.insert(QStringLiteral("headers"), QStringList());
162 map
.insert(QStringLiteral("height"), QStringList());
163 map
.insert(QStringLiteral("nowrap"), QStringList());
164 map
.insert(QStringLiteral("rowspan"), QStringList());
166 scope
<< QStringLiteral("col");
167 scope
<< QStringLiteral("colgroup");
168 scope
<< QStringLiteral("row");
169 scope
<< QStringLiteral("rowgroup");
170 map
.insert(QStringLiteral("scope"), scope
);
172 valign
<< QStringLiteral("top");
173 valign
<< QStringLiteral("middle");
174 valign
<< QStringLiteral("bottom");
175 valign
<< QStringLiteral("baseline");
176 map
.insert(QStringLiteral("valign"), valign
);
177 map
.insert(QStringLiteral("width"), QStringList());
181 QMap
<QString
, QStringList
> ExtendAttributesUtils::attributesMapLink()
183 QMap
<QString
, QStringList
> map
;
184 map
= globalAttribute();
185 map
.insert(QStringLiteral("charset"), QStringList());
186 map
.insert(QStringLiteral("href"), QStringList());
187 map
.insert(QStringLiteral("hreflang"), QStringList());
188 map
.insert(QStringLiteral("media"), QStringList());
190 rel
<< QStringLiteral("alternate");
191 rel
<< QStringLiteral("archives");
192 rel
<< QStringLiteral("author");
193 rel
<< QStringLiteral("bookmark");
194 rel
<< QStringLiteral("external");
195 rel
<< QStringLiteral("first");
196 rel
<< QStringLiteral("help");
197 rel
<< QStringLiteral("icon");
198 rel
<< QStringLiteral("last");
199 rel
<< QStringLiteral("license");
200 rel
<< QStringLiteral("next");
201 rel
<< QStringLiteral("nofollow");
202 rel
<< QStringLiteral("noreferrer");
203 rel
<< QStringLiteral("pingback");
204 rel
<< QStringLiteral("prefetch");
205 rel
<< QStringLiteral("prev");
206 rel
<< QStringLiteral("search");
207 rel
<< QStringLiteral("sidebar");
208 rel
<< QStringLiteral("stylesheet");
209 rel
<< QStringLiteral("tag");
210 rel
<< QStringLiteral("up");
211 map
.insert(QStringLiteral("rel"), rel
);
212 map
.insert(QStringLiteral("rev"), QStringList());
214 target
<< QStringLiteral("_blank");
215 target
<< QStringLiteral("_self");
216 target
<< QStringLiteral("_top");
217 target
<< QStringLiteral("_parent");
218 map
.insert(QStringLiteral("target"), target
);
219 map
.insert(QStringLiteral("type"), QStringList());
223 QMap
<QString
, QStringList
> ExtendAttributesUtils::attributesMapListUL()
225 QMap
<QString
, QStringList
> map
;
226 map
= listGlobalAttribute();
228 rel
<< QStringLiteral("compact");
229 map
.insert(QStringLiteral("compact"), rel
);
231 type
<< QStringLiteral("disc");
232 type
<< QStringLiteral("square");
233 type
<< QStringLiteral("circle");
234 map
.insert(QStringLiteral("type"), type
);
238 QMap
<QString
, QStringList
> ExtendAttributesUtils::attributesMapListOL()
240 QMap
<QString
, QStringList
> map
;
241 map
= listGlobalAttribute();
243 rel
<< QStringLiteral("compact");
244 map
.insert(QStringLiteral("compact"), rel
);
245 map
.insert(QStringLiteral("start"), QStringList());
247 type
<< QStringLiteral("1");
248 type
<< QStringLiteral("A");
249 type
<< QStringLiteral("a");
250 type
<< QStringLiteral("I");
251 type
<< QStringLiteral("i");
252 map
.insert(QStringLiteral("type"), type
);
257 QMap
<QString
, QStringList
> ExtendAttributesUtils::attributesMapListDL()
259 QMap
<QString
, QStringList
> map
;
260 map
= listGlobalAttribute();
264 QMap
<QString
, QStringList
> ExtendAttributesUtils::attributesMapBody()
266 QMap
<QString
, QStringList
> map
;
267 map
= globalAttribute();
268 map
.insert(QStringLiteral("alink"), QStringList());
269 map
.insert(QStringLiteral("background"), QStringList());
270 map
.insert(QStringLiteral("bgcolor"), QStringList());
271 map
.insert(QStringLiteral("link"), QStringList());
272 map
.insert(QStringLiteral("text"), QStringList());
273 map
.insert(QStringLiteral("vlink"), QStringList());
277 QMap
<QString
, QStringList
> ExtendAttributesUtils::attributesJavascriptWindowAndBase()
279 QMap
<QString
, QStringList
> map
;
280 map
= attributesJavascript();
282 map
.insert(QStringLiteral("onload"), QStringList());
283 map
.insert(QStringLiteral("onunload"), QStringList());
287 QMap
<QString
, QStringList
> ExtendAttributesUtils::attributesJavascript()
289 QMap
<QString
, QStringList
> map
;
291 map
.insert(QStringLiteral("onblur"), QStringList());
292 map
.insert(QStringLiteral("onchange"), QStringList());
293 map
.insert(QStringLiteral("onfocus"), QStringList());
294 map
.insert(QStringLiteral("onreset"), QStringList());
295 map
.insert(QStringLiteral("onselect"), QStringList());
296 map
.insert(QStringLiteral("onsubmit"), QStringList());
298 map
.insert(QStringLiteral("onkeydown"), QStringList());
299 map
.insert(QStringLiteral("onkeypress"), QStringList());
300 map
.insert(QStringLiteral("onkeyup"), QStringList());
303 map
.insert(QStringLiteral("onclick"), QStringList());
304 map
.insert(QStringLiteral("ondblclick"), QStringList());
305 map
.insert(QStringLiteral("onmousedown"), QStringList());
306 map
.insert(QStringLiteral("onmousemove"), QStringList());
307 map
.insert(QStringLiteral("onmouseout"), QStringList());
308 map
.insert(QStringLiteral("onmouseover"), QStringList());
309 map
.insert(QStringLiteral("onmouseup"), QStringList());