diff --git a/.gitignore b/.gitignore
index 5a290506..8312a361 100644
--- a/.gitignore
+++ b/.gitignore
@@ -70,3 +70,5 @@ plugins/cffadaptor/objects
#####################
*.qm
+
+.DS_Store
\ No newline at end of file
diff --git a/resources/library/applications/Grapheur.wgt/Grapheur.xhtml b/resources/library/applications/Grapheur.wgt/Grapheur.xhtml
index 3a94a9d3..bfca757c 100644
--- a/resources/library/applications/Grapheur.wgt/Grapheur.xhtml
+++ b/resources/library/applications/Grapheur.wgt/Grapheur.xhtml
@@ -218,7 +218,6 @@
return true;
});
$("label[for*='checkAire']").text(sankoreLang[lang].draw);
- $("label[for*='checkMaJ']").text(sankoreLang[lang].auto_update);
$("#menuOptions td").eq(0).html(sankoreLang[lang].widget);
$("#menuOptions h3").eq(0).text(sankoreLang[lang].widget_options);
$("#menuOptions2D h3").eq(0).text(sankoreLang[lang].options + " 2D");
@@ -1033,13 +1032,10 @@
Control options:
Save a widget options in cookies or load an options from cookies or delete a registered options.
-
-
Cookies are disabled. You cannot save an options...
You are using the last version of this widget.
-
diff --git a/resources/inDevelopmentWidgets/Balance.wgt/config.xml b/resources/library/interactivities/Balance.wgt/config.xml
similarity index 100%
rename from resources/inDevelopmentWidgets/Balance.wgt/config.xml
rename to resources/library/interactivities/Balance.wgt/config.xml
diff --git a/resources/inDevelopmentWidgets/Balance.wgt/css/fonts/Lobster/Lobster_1.3-webfont.eot b/resources/library/interactivities/Balance.wgt/css/fonts/Lobster/Lobster_1.3-webfont.eot
similarity index 100%
rename from resources/inDevelopmentWidgets/Balance.wgt/css/fonts/Lobster/Lobster_1.3-webfont.eot
rename to resources/library/interactivities/Balance.wgt/css/fonts/Lobster/Lobster_1.3-webfont.eot
diff --git a/resources/inDevelopmentWidgets/Balance.wgt/css/fonts/Lobster/Lobster_1.3-webfont.svg b/resources/library/interactivities/Balance.wgt/css/fonts/Lobster/Lobster_1.3-webfont.svg
similarity index 100%
rename from resources/inDevelopmentWidgets/Balance.wgt/css/fonts/Lobster/Lobster_1.3-webfont.svg
rename to resources/library/interactivities/Balance.wgt/css/fonts/Lobster/Lobster_1.3-webfont.svg
diff --git a/resources/inDevelopmentWidgets/Balance.wgt/css/fonts/Lobster/Lobster_1.3-webfont.ttf b/resources/library/interactivities/Balance.wgt/css/fonts/Lobster/Lobster_1.3-webfont.ttf
similarity index 100%
rename from resources/inDevelopmentWidgets/Balance.wgt/css/fonts/Lobster/Lobster_1.3-webfont.ttf
rename to resources/library/interactivities/Balance.wgt/css/fonts/Lobster/Lobster_1.3-webfont.ttf
diff --git a/resources/inDevelopmentWidgets/Balance.wgt/css/fonts/Lobster/Lobster_1.3-webfont.woff b/resources/library/interactivities/Balance.wgt/css/fonts/Lobster/Lobster_1.3-webfont.woff
similarity index 100%
rename from resources/inDevelopmentWidgets/Balance.wgt/css/fonts/Lobster/Lobster_1.3-webfont.woff
rename to resources/library/interactivities/Balance.wgt/css/fonts/Lobster/Lobster_1.3-webfont.woff
diff --git a/resources/inDevelopmentWidgets/Balance.wgt/css/fonts/Lobster/demo.html b/resources/library/interactivities/Balance.wgt/css/fonts/Lobster/demo.html
similarity index 100%
rename from resources/inDevelopmentWidgets/Balance.wgt/css/fonts/Lobster/demo.html
rename to resources/library/interactivities/Balance.wgt/css/fonts/Lobster/demo.html
diff --git a/resources/inDevelopmentWidgets/Balance.wgt/css/fonts/Lobster/stylesheet.css b/resources/library/interactivities/Balance.wgt/css/fonts/Lobster/stylesheet.css
similarity index 100%
rename from resources/inDevelopmentWidgets/Balance.wgt/css/fonts/Lobster/stylesheet.css
rename to resources/library/interactivities/Balance.wgt/css/fonts/Lobster/stylesheet.css
diff --git a/resources/inDevelopmentWidgets/Balance.wgt/css/fonts/SF-Toontime/SF_Toontime-webfont.eot b/resources/library/interactivities/Balance.wgt/css/fonts/SF-Toontime/SF_Toontime-webfont.eot
similarity index 100%
rename from resources/inDevelopmentWidgets/Balance.wgt/css/fonts/SF-Toontime/SF_Toontime-webfont.eot
rename to resources/library/interactivities/Balance.wgt/css/fonts/SF-Toontime/SF_Toontime-webfont.eot
diff --git a/resources/inDevelopmentWidgets/Balance.wgt/css/fonts/SF-Toontime/SF_Toontime-webfont.svg b/resources/library/interactivities/Balance.wgt/css/fonts/SF-Toontime/SF_Toontime-webfont.svg
similarity index 100%
rename from resources/inDevelopmentWidgets/Balance.wgt/css/fonts/SF-Toontime/SF_Toontime-webfont.svg
rename to resources/library/interactivities/Balance.wgt/css/fonts/SF-Toontime/SF_Toontime-webfont.svg
diff --git a/resources/inDevelopmentWidgets/Balance.wgt/css/fonts/SF-Toontime/SF_Toontime-webfont.ttf b/resources/library/interactivities/Balance.wgt/css/fonts/SF-Toontime/SF_Toontime-webfont.ttf
similarity index 100%
rename from resources/inDevelopmentWidgets/Balance.wgt/css/fonts/SF-Toontime/SF_Toontime-webfont.ttf
rename to resources/library/interactivities/Balance.wgt/css/fonts/SF-Toontime/SF_Toontime-webfont.ttf
diff --git a/resources/inDevelopmentWidgets/Balance.wgt/css/fonts/SF-Toontime/SF_Toontime-webfont.woff b/resources/library/interactivities/Balance.wgt/css/fonts/SF-Toontime/SF_Toontime-webfont.woff
similarity index 100%
rename from resources/inDevelopmentWidgets/Balance.wgt/css/fonts/SF-Toontime/SF_Toontime-webfont.woff
rename to resources/library/interactivities/Balance.wgt/css/fonts/SF-Toontime/SF_Toontime-webfont.woff
diff --git a/resources/inDevelopmentWidgets/Balance.wgt/css/fonts/SF-Toontime/SF_Toontime_Blotch-webfont.eot b/resources/library/interactivities/Balance.wgt/css/fonts/SF-Toontime/SF_Toontime_Blotch-webfont.eot
similarity index 100%
rename from resources/inDevelopmentWidgets/Balance.wgt/css/fonts/SF-Toontime/SF_Toontime_Blotch-webfont.eot
rename to resources/library/interactivities/Balance.wgt/css/fonts/SF-Toontime/SF_Toontime_Blotch-webfont.eot
diff --git a/resources/inDevelopmentWidgets/Balance.wgt/css/fonts/SF-Toontime/SF_Toontime_Blotch-webfont.svg b/resources/library/interactivities/Balance.wgt/css/fonts/SF-Toontime/SF_Toontime_Blotch-webfont.svg
similarity index 100%
rename from resources/inDevelopmentWidgets/Balance.wgt/css/fonts/SF-Toontime/SF_Toontime_Blotch-webfont.svg
rename to resources/library/interactivities/Balance.wgt/css/fonts/SF-Toontime/SF_Toontime_Blotch-webfont.svg
diff --git a/resources/inDevelopmentWidgets/Balance.wgt/css/fonts/SF-Toontime/SF_Toontime_Blotch-webfont.ttf b/resources/library/interactivities/Balance.wgt/css/fonts/SF-Toontime/SF_Toontime_Blotch-webfont.ttf
similarity index 100%
rename from resources/inDevelopmentWidgets/Balance.wgt/css/fonts/SF-Toontime/SF_Toontime_Blotch-webfont.ttf
rename to resources/library/interactivities/Balance.wgt/css/fonts/SF-Toontime/SF_Toontime_Blotch-webfont.ttf
diff --git a/resources/inDevelopmentWidgets/Balance.wgt/css/fonts/SF-Toontime/SF_Toontime_Blotch-webfont.woff b/resources/library/interactivities/Balance.wgt/css/fonts/SF-Toontime/SF_Toontime_Blotch-webfont.woff
similarity index 100%
rename from resources/inDevelopmentWidgets/Balance.wgt/css/fonts/SF-Toontime/SF_Toontime_Blotch-webfont.woff
rename to resources/library/interactivities/Balance.wgt/css/fonts/SF-Toontime/SF_Toontime_Blotch-webfont.woff
diff --git a/resources/inDevelopmentWidgets/Balance.wgt/css/fonts/SF-Toontime/SF_Toontime_Blotch_Italic-webfont.eot b/resources/library/interactivities/Balance.wgt/css/fonts/SF-Toontime/SF_Toontime_Blotch_Italic-webfont.eot
similarity index 100%
rename from resources/inDevelopmentWidgets/Balance.wgt/css/fonts/SF-Toontime/SF_Toontime_Blotch_Italic-webfont.eot
rename to resources/library/interactivities/Balance.wgt/css/fonts/SF-Toontime/SF_Toontime_Blotch_Italic-webfont.eot
diff --git a/resources/inDevelopmentWidgets/Balance.wgt/css/fonts/SF-Toontime/SF_Toontime_Blotch_Italic-webfont.svg b/resources/library/interactivities/Balance.wgt/css/fonts/SF-Toontime/SF_Toontime_Blotch_Italic-webfont.svg
similarity index 100%
rename from resources/inDevelopmentWidgets/Balance.wgt/css/fonts/SF-Toontime/SF_Toontime_Blotch_Italic-webfont.svg
rename to resources/library/interactivities/Balance.wgt/css/fonts/SF-Toontime/SF_Toontime_Blotch_Italic-webfont.svg
diff --git a/resources/inDevelopmentWidgets/Balance.wgt/css/fonts/SF-Toontime/SF_Toontime_Blotch_Italic-webfont.ttf b/resources/library/interactivities/Balance.wgt/css/fonts/SF-Toontime/SF_Toontime_Blotch_Italic-webfont.ttf
similarity index 100%
rename from resources/inDevelopmentWidgets/Balance.wgt/css/fonts/SF-Toontime/SF_Toontime_Blotch_Italic-webfont.ttf
rename to resources/library/interactivities/Balance.wgt/css/fonts/SF-Toontime/SF_Toontime_Blotch_Italic-webfont.ttf
diff --git a/resources/inDevelopmentWidgets/Balance.wgt/css/fonts/SF-Toontime/SF_Toontime_Blotch_Italic-webfont.woff b/resources/library/interactivities/Balance.wgt/css/fonts/SF-Toontime/SF_Toontime_Blotch_Italic-webfont.woff
similarity index 100%
rename from resources/inDevelopmentWidgets/Balance.wgt/css/fonts/SF-Toontime/SF_Toontime_Blotch_Italic-webfont.woff
rename to resources/library/interactivities/Balance.wgt/css/fonts/SF-Toontime/SF_Toontime_Blotch_Italic-webfont.woff
diff --git a/resources/inDevelopmentWidgets/Balance.wgt/css/fonts/SF-Toontime/SF_Toontime_Bold-webfont.eot b/resources/library/interactivities/Balance.wgt/css/fonts/SF-Toontime/SF_Toontime_Bold-webfont.eot
similarity index 100%
rename from resources/inDevelopmentWidgets/Balance.wgt/css/fonts/SF-Toontime/SF_Toontime_Bold-webfont.eot
rename to resources/library/interactivities/Balance.wgt/css/fonts/SF-Toontime/SF_Toontime_Bold-webfont.eot
diff --git a/resources/inDevelopmentWidgets/Balance.wgt/css/fonts/SF-Toontime/SF_Toontime_Bold-webfont.svg b/resources/library/interactivities/Balance.wgt/css/fonts/SF-Toontime/SF_Toontime_Bold-webfont.svg
similarity index 100%
rename from resources/inDevelopmentWidgets/Balance.wgt/css/fonts/SF-Toontime/SF_Toontime_Bold-webfont.svg
rename to resources/library/interactivities/Balance.wgt/css/fonts/SF-Toontime/SF_Toontime_Bold-webfont.svg
diff --git a/resources/inDevelopmentWidgets/Balance.wgt/css/fonts/SF-Toontime/SF_Toontime_Bold-webfont.ttf b/resources/library/interactivities/Balance.wgt/css/fonts/SF-Toontime/SF_Toontime_Bold-webfont.ttf
similarity index 100%
rename from resources/inDevelopmentWidgets/Balance.wgt/css/fonts/SF-Toontime/SF_Toontime_Bold-webfont.ttf
rename to resources/library/interactivities/Balance.wgt/css/fonts/SF-Toontime/SF_Toontime_Bold-webfont.ttf
diff --git a/resources/inDevelopmentWidgets/Balance.wgt/css/fonts/SF-Toontime/SF_Toontime_Bold-webfont.woff b/resources/library/interactivities/Balance.wgt/css/fonts/SF-Toontime/SF_Toontime_Bold-webfont.woff
similarity index 100%
rename from resources/inDevelopmentWidgets/Balance.wgt/css/fonts/SF-Toontime/SF_Toontime_Bold-webfont.woff
rename to resources/library/interactivities/Balance.wgt/css/fonts/SF-Toontime/SF_Toontime_Bold-webfont.woff
diff --git a/resources/inDevelopmentWidgets/Balance.wgt/css/fonts/SF-Toontime/SF_Toontime_Bold_Italic-webfont.eot b/resources/library/interactivities/Balance.wgt/css/fonts/SF-Toontime/SF_Toontime_Bold_Italic-webfont.eot
similarity index 100%
rename from resources/inDevelopmentWidgets/Balance.wgt/css/fonts/SF-Toontime/SF_Toontime_Bold_Italic-webfont.eot
rename to resources/library/interactivities/Balance.wgt/css/fonts/SF-Toontime/SF_Toontime_Bold_Italic-webfont.eot
diff --git a/resources/inDevelopmentWidgets/Balance.wgt/css/fonts/SF-Toontime/SF_Toontime_Bold_Italic-webfont.svg b/resources/library/interactivities/Balance.wgt/css/fonts/SF-Toontime/SF_Toontime_Bold_Italic-webfont.svg
similarity index 100%
rename from resources/inDevelopmentWidgets/Balance.wgt/css/fonts/SF-Toontime/SF_Toontime_Bold_Italic-webfont.svg
rename to resources/library/interactivities/Balance.wgt/css/fonts/SF-Toontime/SF_Toontime_Bold_Italic-webfont.svg
diff --git a/resources/inDevelopmentWidgets/Balance.wgt/css/fonts/SF-Toontime/SF_Toontime_Bold_Italic-webfont.ttf b/resources/library/interactivities/Balance.wgt/css/fonts/SF-Toontime/SF_Toontime_Bold_Italic-webfont.ttf
similarity index 100%
rename from resources/inDevelopmentWidgets/Balance.wgt/css/fonts/SF-Toontime/SF_Toontime_Bold_Italic-webfont.ttf
rename to resources/library/interactivities/Balance.wgt/css/fonts/SF-Toontime/SF_Toontime_Bold_Italic-webfont.ttf
diff --git a/resources/inDevelopmentWidgets/Balance.wgt/css/fonts/SF-Toontime/SF_Toontime_Bold_Italic-webfont.woff b/resources/library/interactivities/Balance.wgt/css/fonts/SF-Toontime/SF_Toontime_Bold_Italic-webfont.woff
similarity index 100%
rename from resources/inDevelopmentWidgets/Balance.wgt/css/fonts/SF-Toontime/SF_Toontime_Bold_Italic-webfont.woff
rename to resources/library/interactivities/Balance.wgt/css/fonts/SF-Toontime/SF_Toontime_Bold_Italic-webfont.woff
diff --git a/resources/inDevelopmentWidgets/Balance.wgt/css/fonts/SF-Toontime/SF_Toontime_Italic-webfont.eot b/resources/library/interactivities/Balance.wgt/css/fonts/SF-Toontime/SF_Toontime_Italic-webfont.eot
similarity index 100%
rename from resources/inDevelopmentWidgets/Balance.wgt/css/fonts/SF-Toontime/SF_Toontime_Italic-webfont.eot
rename to resources/library/interactivities/Balance.wgt/css/fonts/SF-Toontime/SF_Toontime_Italic-webfont.eot
diff --git a/resources/inDevelopmentWidgets/Balance.wgt/css/fonts/SF-Toontime/SF_Toontime_Italic-webfont.svg b/resources/library/interactivities/Balance.wgt/css/fonts/SF-Toontime/SF_Toontime_Italic-webfont.svg
similarity index 100%
rename from resources/inDevelopmentWidgets/Balance.wgt/css/fonts/SF-Toontime/SF_Toontime_Italic-webfont.svg
rename to resources/library/interactivities/Balance.wgt/css/fonts/SF-Toontime/SF_Toontime_Italic-webfont.svg
diff --git a/resources/inDevelopmentWidgets/Balance.wgt/css/fonts/SF-Toontime/SF_Toontime_Italic-webfont.ttf b/resources/library/interactivities/Balance.wgt/css/fonts/SF-Toontime/SF_Toontime_Italic-webfont.ttf
similarity index 100%
rename from resources/inDevelopmentWidgets/Balance.wgt/css/fonts/SF-Toontime/SF_Toontime_Italic-webfont.ttf
rename to resources/library/interactivities/Balance.wgt/css/fonts/SF-Toontime/SF_Toontime_Italic-webfont.ttf
diff --git a/resources/inDevelopmentWidgets/Balance.wgt/css/fonts/SF-Toontime/SF_Toontime_Italic-webfont.woff b/resources/library/interactivities/Balance.wgt/css/fonts/SF-Toontime/SF_Toontime_Italic-webfont.woff
similarity index 100%
rename from resources/inDevelopmentWidgets/Balance.wgt/css/fonts/SF-Toontime/SF_Toontime_Italic-webfont.woff
rename to resources/library/interactivities/Balance.wgt/css/fonts/SF-Toontime/SF_Toontime_Italic-webfont.woff
diff --git a/resources/inDevelopmentWidgets/Balance.wgt/css/fonts/SF-Toontime/demo.html b/resources/library/interactivities/Balance.wgt/css/fonts/SF-Toontime/demo.html
similarity index 100%
rename from resources/inDevelopmentWidgets/Balance.wgt/css/fonts/SF-Toontime/demo.html
rename to resources/library/interactivities/Balance.wgt/css/fonts/SF-Toontime/demo.html
diff --git a/resources/inDevelopmentWidgets/Balance.wgt/css/fonts/SF-Toontime/stylesheet.css b/resources/library/interactivities/Balance.wgt/css/fonts/SF-Toontime/stylesheet.css
similarity index 100%
rename from resources/inDevelopmentWidgets/Balance.wgt/css/fonts/SF-Toontime/stylesheet.css
rename to resources/library/interactivities/Balance.wgt/css/fonts/SF-Toontime/stylesheet.css
diff --git a/resources/inDevelopmentWidgets/Balance.wgt/css/images/balance.png b/resources/library/interactivities/Balance.wgt/css/images/balance.png
similarity index 100%
rename from resources/inDevelopmentWidgets/Balance.wgt/css/images/balance.png
rename to resources/library/interactivities/Balance.wgt/css/images/balance.png
diff --git a/resources/inDevelopmentWidgets/Balance.wgt/css/images/bg.png b/resources/library/interactivities/Balance.wgt/css/images/bg.png
similarity index 100%
rename from resources/inDevelopmentWidgets/Balance.wgt/css/images/bg.png
rename to resources/library/interactivities/Balance.wgt/css/images/bg.png
diff --git a/resources/inDevelopmentWidgets/Balance.wgt/css/images/delete.png b/resources/library/interactivities/Balance.wgt/css/images/delete.png
similarity index 100%
rename from resources/inDevelopmentWidgets/Balance.wgt/css/images/delete.png
rename to resources/library/interactivities/Balance.wgt/css/images/delete.png
diff --git a/resources/inDevelopmentWidgets/Balance.wgt/css/images/graduations.png b/resources/library/interactivities/Balance.wgt/css/images/graduations.png
similarity index 100%
rename from resources/inDevelopmentWidgets/Balance.wgt/css/images/graduations.png
rename to resources/library/interactivities/Balance.wgt/css/images/graduations.png
diff --git a/resources/inDevelopmentWidgets/Balance.wgt/css/images/pad-bd.png b/resources/library/interactivities/Balance.wgt/css/images/pad-bd.png
similarity index 100%
rename from resources/inDevelopmentWidgets/Balance.wgt/css/images/pad-bd.png
rename to resources/library/interactivities/Balance.wgt/css/images/pad-bd.png
diff --git a/resources/inDevelopmentWidgets/Balance.wgt/css/images/parameters-bg.png b/resources/library/interactivities/Balance.wgt/css/images/parameters-bg.png
similarity index 100%
rename from resources/inDevelopmentWidgets/Balance.wgt/css/images/parameters-bg.png
rename to resources/library/interactivities/Balance.wgt/css/images/parameters-bg.png
diff --git a/resources/inDevelopmentWidgets/Balance.wgt/css/images/pivot.png b/resources/library/interactivities/Balance.wgt/css/images/pivot.png
similarity index 100%
rename from resources/inDevelopmentWidgets/Balance.wgt/css/images/pivot.png
rename to resources/library/interactivities/Balance.wgt/css/images/pivot.png
diff --git a/resources/inDevelopmentWidgets/Balance.wgt/css/images/scale.png b/resources/library/interactivities/Balance.wgt/css/images/scale.png
similarity index 100%
rename from resources/inDevelopmentWidgets/Balance.wgt/css/images/scale.png
rename to resources/library/interactivities/Balance.wgt/css/images/scale.png
diff --git a/resources/inDevelopmentWidgets/Balance.wgt/css/images/scales.png b/resources/library/interactivities/Balance.wgt/css/images/scales.png
similarity index 100%
rename from resources/inDevelopmentWidgets/Balance.wgt/css/images/scales.png
rename to resources/library/interactivities/Balance.wgt/css/images/scales.png
diff --git a/resources/inDevelopmentWidgets/Balance.wgt/css/images/slate-bd.png b/resources/library/interactivities/Balance.wgt/css/images/slate-bd.png
similarity index 100%
rename from resources/inDevelopmentWidgets/Balance.wgt/css/images/slate-bd.png
rename to resources/library/interactivities/Balance.wgt/css/images/slate-bd.png
diff --git a/resources/inDevelopmentWidgets/Balance.wgt/css/images/slate-toolbar-edit.png b/resources/library/interactivities/Balance.wgt/css/images/slate-toolbar-edit.png
similarity index 100%
rename from resources/inDevelopmentWidgets/Balance.wgt/css/images/slate-toolbar-edit.png
rename to resources/library/interactivities/Balance.wgt/css/images/slate-toolbar-edit.png
diff --git a/resources/inDevelopmentWidgets/Balance.wgt/css/images/slate-toolbar-help.png b/resources/library/interactivities/Balance.wgt/css/images/slate-toolbar-help.png
similarity index 100%
rename from resources/inDevelopmentWidgets/Balance.wgt/css/images/slate-toolbar-help.png
rename to resources/library/interactivities/Balance.wgt/css/images/slate-toolbar-help.png
diff --git a/resources/inDevelopmentWidgets/Balance.wgt/css/images/slate-toolbar-reload.png b/resources/library/interactivities/Balance.wgt/css/images/slate-toolbar-reload.png
similarity index 100%
rename from resources/inDevelopmentWidgets/Balance.wgt/css/images/slate-toolbar-reload.png
rename to resources/library/interactivities/Balance.wgt/css/images/slate-toolbar-reload.png
diff --git a/resources/inDevelopmentWidgets/Balance.wgt/css/images/toolbar-edit.png b/resources/library/interactivities/Balance.wgt/css/images/toolbar-edit.png
similarity index 100%
rename from resources/inDevelopmentWidgets/Balance.wgt/css/images/toolbar-edit.png
rename to resources/library/interactivities/Balance.wgt/css/images/toolbar-edit.png
diff --git a/resources/inDevelopmentWidgets/Balance.wgt/css/images/toolbar-help.png b/resources/library/interactivities/Balance.wgt/css/images/toolbar-help.png
similarity index 100%
rename from resources/inDevelopmentWidgets/Balance.wgt/css/images/toolbar-help.png
rename to resources/library/interactivities/Balance.wgt/css/images/toolbar-help.png
diff --git a/resources/inDevelopmentWidgets/Balance.wgt/css/images/toolbar-reload.png b/resources/library/interactivities/Balance.wgt/css/images/toolbar-reload.png
similarity index 100%
rename from resources/inDevelopmentWidgets/Balance.wgt/css/images/toolbar-reload.png
rename to resources/library/interactivities/Balance.wgt/css/images/toolbar-reload.png
diff --git a/resources/inDevelopmentWidgets/Balance.wgt/css/images/weight-add.png b/resources/library/interactivities/Balance.wgt/css/images/weight-add.png
similarity index 100%
rename from resources/inDevelopmentWidgets/Balance.wgt/css/images/weight-add.png
rename to resources/library/interactivities/Balance.wgt/css/images/weight-add.png
diff --git a/resources/inDevelopmentWidgets/Balance.wgt/css/images/weight.png b/resources/library/interactivities/Balance.wgt/css/images/weight.png
similarity index 100%
rename from resources/inDevelopmentWidgets/Balance.wgt/css/images/weight.png
rename to resources/library/interactivities/Balance.wgt/css/images/weight.png
diff --git a/resources/inDevelopmentWidgets/Balance.wgt/css/main.css b/resources/library/interactivities/Balance.wgt/css/main.css
similarity index 100%
rename from resources/inDevelopmentWidgets/Balance.wgt/css/main.css
rename to resources/library/interactivities/Balance.wgt/css/main.css
diff --git a/resources/inDevelopmentWidgets/Balance.wgt/css/ubw-help.css b/resources/library/interactivities/Balance.wgt/css/ubw-help.css
similarity index 100%
rename from resources/inDevelopmentWidgets/Balance.wgt/css/ubw-help.css
rename to resources/library/interactivities/Balance.wgt/css/ubw-help.css
diff --git a/resources/inDevelopmentWidgets/Balance.wgt/css/ubw-main.css b/resources/library/interactivities/Balance.wgt/css/ubw-main.css
similarity index 100%
rename from resources/inDevelopmentWidgets/Balance.wgt/css/ubw-main.css
rename to resources/library/interactivities/Balance.wgt/css/ubw-main.css
diff --git a/resources/inDevelopmentWidgets/Balance.wgt/help.html b/resources/library/interactivities/Balance.wgt/help.html
similarity index 100%
rename from resources/inDevelopmentWidgets/Balance.wgt/help.html
rename to resources/library/interactivities/Balance.wgt/help.html
diff --git a/resources/inDevelopmentWidgets/Balance.wgt/i18n/Messages.properties b/resources/library/interactivities/Balance.wgt/i18n/Messages.properties
similarity index 100%
rename from resources/inDevelopmentWidgets/Balance.wgt/i18n/Messages.properties
rename to resources/library/interactivities/Balance.wgt/i18n/Messages.properties
diff --git a/resources/inDevelopmentWidgets/Balance.wgt/i18n/Messages_fr.properties b/resources/library/interactivities/Balance.wgt/i18n/Messages_fr.properties
similarity index 60%
rename from resources/inDevelopmentWidgets/Balance.wgt/i18n/Messages_fr.properties
rename to resources/library/interactivities/Balance.wgt/i18n/Messages_fr.properties
index ee6b23ad..c4ee9e73 100644
--- a/resources/inDevelopmentWidgets/Balance.wgt/i18n/Messages_fr.properties
+++ b/resources/library/interactivities/Balance.wgt/i18n/Messages_fr.properties
@@ -1,11 +1,11 @@
fr.njin.i18n.document.title = La Balance
-fr.njin.i18n.toolbar.edit = Editer
-fr.njin.i18n.toolbar.view = Fermer
+fr.njin.i18n.toolbar.edit = Modifier
+fr.njin.i18n.toolbar.view = Afficher
fr.njin.i18n.toolbar.reload = Recharger
fr.njin.i18n.toolbar.help = Aide
-fr.njin.i18n.parameters.label.themes = Thème
+fr.njin.i18n.parameters.label.themes = Thèmes
fr.njin.i18n.parameters.label.slate.themes = ardoise
fr.njin.i18n.parameters.label.pad.themes = tablette
fr.njin.i18n.parameters.label.none.themes = aucun
diff --git a/resources/inDevelopmentWidgets/Balance.wgt/icon.png b/resources/library/interactivities/Balance.wgt/icon.png
similarity index 100%
rename from resources/inDevelopmentWidgets/Balance.wgt/icon.png
rename to resources/library/interactivities/Balance.wgt/icon.png
diff --git a/resources/inDevelopmentWidgets/Balance.wgt/index.html b/resources/library/interactivities/Balance.wgt/index.html
similarity index 100%
rename from resources/inDevelopmentWidgets/Balance.wgt/index.html
rename to resources/library/interactivities/Balance.wgt/index.html
diff --git a/resources/inDevelopmentWidgets/Balance.wgt/js/help-template.js b/resources/library/interactivities/Balance.wgt/js/help-template.js
similarity index 100%
rename from resources/inDevelopmentWidgets/Balance.wgt/js/help-template.js
rename to resources/library/interactivities/Balance.wgt/js/help-template.js
diff --git a/resources/inDevelopmentWidgets/Balance.wgt/js/help_fr-template.js b/resources/library/interactivities/Balance.wgt/js/help_fr-template.js
similarity index 100%
rename from resources/inDevelopmentWidgets/Balance.wgt/js/help_fr-template.js
rename to resources/library/interactivities/Balance.wgt/js/help_fr-template.js
diff --git a/resources/inDevelopmentWidgets/Balance.wgt/js/lib/jquery-1.7.1.min.js b/resources/library/interactivities/Balance.wgt/js/lib/jquery-1.7.1.min.js
similarity index 100%
rename from resources/inDevelopmentWidgets/Balance.wgt/js/lib/jquery-1.7.1.min.js
rename to resources/library/interactivities/Balance.wgt/js/lib/jquery-1.7.1.min.js
diff --git a/resources/inDevelopmentWidgets/Balance.wgt/js/lib/jquery-css-transform.js b/resources/library/interactivities/Balance.wgt/js/lib/jquery-css-transform.js
similarity index 100%
rename from resources/inDevelopmentWidgets/Balance.wgt/js/lib/jquery-css-transform.js
rename to resources/library/interactivities/Balance.wgt/js/lib/jquery-css-transform.js
diff --git a/resources/inDevelopmentWidgets/Balance.wgt/js/lib/jquery-ui-1.8.17.custom.min.js b/resources/library/interactivities/Balance.wgt/js/lib/jquery-ui-1.8.17.custom.min.js
similarity index 100%
rename from resources/inDevelopmentWidgets/Balance.wgt/js/lib/jquery-ui-1.8.17.custom.min.js
rename to resources/library/interactivities/Balance.wgt/js/lib/jquery-ui-1.8.17.custom.min.js
diff --git a/resources/inDevelopmentWidgets/Balance.wgt/js/lib/jquery.i18n.properties-min-1.0.9.js b/resources/library/interactivities/Balance.wgt/js/lib/jquery.i18n.properties-min-1.0.9.js
similarity index 100%
rename from resources/inDevelopmentWidgets/Balance.wgt/js/lib/jquery.i18n.properties-min-1.0.9.js
rename to resources/library/interactivities/Balance.wgt/js/lib/jquery.i18n.properties-min-1.0.9.js
diff --git a/resources/inDevelopmentWidgets/Balance.wgt/js/lib/modernizr.js b/resources/library/interactivities/Balance.wgt/js/lib/modernizr.js
similarity index 100%
rename from resources/inDevelopmentWidgets/Balance.wgt/js/lib/modernizr.js
rename to resources/library/interactivities/Balance.wgt/js/lib/modernizr.js
diff --git a/resources/inDevelopmentWidgets/Balance.wgt/js/lib/mustache.js b/resources/library/interactivities/Balance.wgt/js/lib/mustache.js
similarity index 100%
rename from resources/inDevelopmentWidgets/Balance.wgt/js/lib/mustache.js
rename to resources/library/interactivities/Balance.wgt/js/lib/mustache.js
diff --git a/resources/inDevelopmentWidgets/Balance.wgt/js/lib/ubw-main.js b/resources/library/interactivities/Balance.wgt/js/lib/ubw-main.js
similarity index 100%
rename from resources/inDevelopmentWidgets/Balance.wgt/js/lib/ubw-main.js
rename to resources/library/interactivities/Balance.wgt/js/lib/ubw-main.js
diff --git a/resources/inDevelopmentWidgets/Balance.wgt/js/main.js b/resources/library/interactivities/Balance.wgt/js/main.js
similarity index 100%
rename from resources/inDevelopmentWidgets/Balance.wgt/js/main.js
rename to resources/library/interactivities/Balance.wgt/js/main.js
diff --git a/resources/inDevelopmentWidgets/Balance.wgt/js/templates.js b/resources/library/interactivities/Balance.wgt/js/templates.js
similarity index 100%
rename from resources/inDevelopmentWidgets/Balance.wgt/js/templates.js
rename to resources/library/interactivities/Balance.wgt/js/templates.js
diff --git a/resources/inDevelopmentWidgets/Cadran.wgt/config.xml b/resources/library/interactivities/Cadran.wgt/config.xml
similarity index 100%
rename from resources/inDevelopmentWidgets/Cadran.wgt/config.xml
rename to resources/library/interactivities/Cadran.wgt/config.xml
diff --git a/resources/inDevelopmentWidgets/Cadran.wgt/css/fonts/Lobster/Lobster_1.3-webfont.eot b/resources/library/interactivities/Cadran.wgt/css/fonts/Lobster/Lobster_1.3-webfont.eot
similarity index 100%
rename from resources/inDevelopmentWidgets/Cadran.wgt/css/fonts/Lobster/Lobster_1.3-webfont.eot
rename to resources/library/interactivities/Cadran.wgt/css/fonts/Lobster/Lobster_1.3-webfont.eot
diff --git a/resources/inDevelopmentWidgets/Cadran.wgt/css/fonts/Lobster/Lobster_1.3-webfont.svg b/resources/library/interactivities/Cadran.wgt/css/fonts/Lobster/Lobster_1.3-webfont.svg
similarity index 100%
rename from resources/inDevelopmentWidgets/Cadran.wgt/css/fonts/Lobster/Lobster_1.3-webfont.svg
rename to resources/library/interactivities/Cadran.wgt/css/fonts/Lobster/Lobster_1.3-webfont.svg
diff --git a/resources/inDevelopmentWidgets/Cadran.wgt/css/fonts/Lobster/Lobster_1.3-webfont.ttf b/resources/library/interactivities/Cadran.wgt/css/fonts/Lobster/Lobster_1.3-webfont.ttf
similarity index 100%
rename from resources/inDevelopmentWidgets/Cadran.wgt/css/fonts/Lobster/Lobster_1.3-webfont.ttf
rename to resources/library/interactivities/Cadran.wgt/css/fonts/Lobster/Lobster_1.3-webfont.ttf
diff --git a/resources/inDevelopmentWidgets/Cadran.wgt/css/fonts/Lobster/Lobster_1.3-webfont.woff b/resources/library/interactivities/Cadran.wgt/css/fonts/Lobster/Lobster_1.3-webfont.woff
similarity index 100%
rename from resources/inDevelopmentWidgets/Cadran.wgt/css/fonts/Lobster/Lobster_1.3-webfont.woff
rename to resources/library/interactivities/Cadran.wgt/css/fonts/Lobster/Lobster_1.3-webfont.woff
diff --git a/resources/inDevelopmentWidgets/Cadran.wgt/css/fonts/Lobster/demo.html b/resources/library/interactivities/Cadran.wgt/css/fonts/Lobster/demo.html
similarity index 100%
rename from resources/inDevelopmentWidgets/Cadran.wgt/css/fonts/Lobster/demo.html
rename to resources/library/interactivities/Cadran.wgt/css/fonts/Lobster/demo.html
diff --git a/resources/inDevelopmentWidgets/Cadran.wgt/css/fonts/Lobster/stylesheet.css b/resources/library/interactivities/Cadran.wgt/css/fonts/Lobster/stylesheet.css
similarity index 100%
rename from resources/inDevelopmentWidgets/Cadran.wgt/css/fonts/Lobster/stylesheet.css
rename to resources/library/interactivities/Cadran.wgt/css/fonts/Lobster/stylesheet.css
diff --git a/resources/inDevelopmentWidgets/Cadran.wgt/css/fonts/SF-Toontime/SF_Toontime-webfont.eot b/resources/library/interactivities/Cadran.wgt/css/fonts/SF-Toontime/SF_Toontime-webfont.eot
similarity index 100%
rename from resources/inDevelopmentWidgets/Cadran.wgt/css/fonts/SF-Toontime/SF_Toontime-webfont.eot
rename to resources/library/interactivities/Cadran.wgt/css/fonts/SF-Toontime/SF_Toontime-webfont.eot
diff --git a/resources/inDevelopmentWidgets/Cadran.wgt/css/fonts/SF-Toontime/SF_Toontime-webfont.svg b/resources/library/interactivities/Cadran.wgt/css/fonts/SF-Toontime/SF_Toontime-webfont.svg
similarity index 100%
rename from resources/inDevelopmentWidgets/Cadran.wgt/css/fonts/SF-Toontime/SF_Toontime-webfont.svg
rename to resources/library/interactivities/Cadran.wgt/css/fonts/SF-Toontime/SF_Toontime-webfont.svg
diff --git a/resources/inDevelopmentWidgets/Cadran.wgt/css/fonts/SF-Toontime/SF_Toontime-webfont.ttf b/resources/library/interactivities/Cadran.wgt/css/fonts/SF-Toontime/SF_Toontime-webfont.ttf
similarity index 100%
rename from resources/inDevelopmentWidgets/Cadran.wgt/css/fonts/SF-Toontime/SF_Toontime-webfont.ttf
rename to resources/library/interactivities/Cadran.wgt/css/fonts/SF-Toontime/SF_Toontime-webfont.ttf
diff --git a/resources/inDevelopmentWidgets/Cadran.wgt/css/fonts/SF-Toontime/SF_Toontime-webfont.woff b/resources/library/interactivities/Cadran.wgt/css/fonts/SF-Toontime/SF_Toontime-webfont.woff
similarity index 100%
rename from resources/inDevelopmentWidgets/Cadran.wgt/css/fonts/SF-Toontime/SF_Toontime-webfont.woff
rename to resources/library/interactivities/Cadran.wgt/css/fonts/SF-Toontime/SF_Toontime-webfont.woff
diff --git a/resources/inDevelopmentWidgets/Cadran.wgt/css/fonts/SF-Toontime/SF_Toontime_Blotch-webfont.eot b/resources/library/interactivities/Cadran.wgt/css/fonts/SF-Toontime/SF_Toontime_Blotch-webfont.eot
similarity index 100%
rename from resources/inDevelopmentWidgets/Cadran.wgt/css/fonts/SF-Toontime/SF_Toontime_Blotch-webfont.eot
rename to resources/library/interactivities/Cadran.wgt/css/fonts/SF-Toontime/SF_Toontime_Blotch-webfont.eot
diff --git a/resources/inDevelopmentWidgets/Cadran.wgt/css/fonts/SF-Toontime/SF_Toontime_Blotch-webfont.svg b/resources/library/interactivities/Cadran.wgt/css/fonts/SF-Toontime/SF_Toontime_Blotch-webfont.svg
similarity index 100%
rename from resources/inDevelopmentWidgets/Cadran.wgt/css/fonts/SF-Toontime/SF_Toontime_Blotch-webfont.svg
rename to resources/library/interactivities/Cadran.wgt/css/fonts/SF-Toontime/SF_Toontime_Blotch-webfont.svg
diff --git a/resources/inDevelopmentWidgets/Cadran.wgt/css/fonts/SF-Toontime/SF_Toontime_Blotch-webfont.ttf b/resources/library/interactivities/Cadran.wgt/css/fonts/SF-Toontime/SF_Toontime_Blotch-webfont.ttf
similarity index 100%
rename from resources/inDevelopmentWidgets/Cadran.wgt/css/fonts/SF-Toontime/SF_Toontime_Blotch-webfont.ttf
rename to resources/library/interactivities/Cadran.wgt/css/fonts/SF-Toontime/SF_Toontime_Blotch-webfont.ttf
diff --git a/resources/inDevelopmentWidgets/Cadran.wgt/css/fonts/SF-Toontime/SF_Toontime_Blotch-webfont.woff b/resources/library/interactivities/Cadran.wgt/css/fonts/SF-Toontime/SF_Toontime_Blotch-webfont.woff
similarity index 100%
rename from resources/inDevelopmentWidgets/Cadran.wgt/css/fonts/SF-Toontime/SF_Toontime_Blotch-webfont.woff
rename to resources/library/interactivities/Cadran.wgt/css/fonts/SF-Toontime/SF_Toontime_Blotch-webfont.woff
diff --git a/resources/inDevelopmentWidgets/Cadran.wgt/css/fonts/SF-Toontime/SF_Toontime_Blotch_Italic-webfont.eot b/resources/library/interactivities/Cadran.wgt/css/fonts/SF-Toontime/SF_Toontime_Blotch_Italic-webfont.eot
similarity index 100%
rename from resources/inDevelopmentWidgets/Cadran.wgt/css/fonts/SF-Toontime/SF_Toontime_Blotch_Italic-webfont.eot
rename to resources/library/interactivities/Cadran.wgt/css/fonts/SF-Toontime/SF_Toontime_Blotch_Italic-webfont.eot
diff --git a/resources/inDevelopmentWidgets/Cadran.wgt/css/fonts/SF-Toontime/SF_Toontime_Blotch_Italic-webfont.svg b/resources/library/interactivities/Cadran.wgt/css/fonts/SF-Toontime/SF_Toontime_Blotch_Italic-webfont.svg
similarity index 100%
rename from resources/inDevelopmentWidgets/Cadran.wgt/css/fonts/SF-Toontime/SF_Toontime_Blotch_Italic-webfont.svg
rename to resources/library/interactivities/Cadran.wgt/css/fonts/SF-Toontime/SF_Toontime_Blotch_Italic-webfont.svg
diff --git a/resources/inDevelopmentWidgets/Cadran.wgt/css/fonts/SF-Toontime/SF_Toontime_Blotch_Italic-webfont.ttf b/resources/library/interactivities/Cadran.wgt/css/fonts/SF-Toontime/SF_Toontime_Blotch_Italic-webfont.ttf
similarity index 100%
rename from resources/inDevelopmentWidgets/Cadran.wgt/css/fonts/SF-Toontime/SF_Toontime_Blotch_Italic-webfont.ttf
rename to resources/library/interactivities/Cadran.wgt/css/fonts/SF-Toontime/SF_Toontime_Blotch_Italic-webfont.ttf
diff --git a/resources/inDevelopmentWidgets/Cadran.wgt/css/fonts/SF-Toontime/SF_Toontime_Blotch_Italic-webfont.woff b/resources/library/interactivities/Cadran.wgt/css/fonts/SF-Toontime/SF_Toontime_Blotch_Italic-webfont.woff
similarity index 100%
rename from resources/inDevelopmentWidgets/Cadran.wgt/css/fonts/SF-Toontime/SF_Toontime_Blotch_Italic-webfont.woff
rename to resources/library/interactivities/Cadran.wgt/css/fonts/SF-Toontime/SF_Toontime_Blotch_Italic-webfont.woff
diff --git a/resources/inDevelopmentWidgets/Cadran.wgt/css/fonts/SF-Toontime/SF_Toontime_Bold-webfont.eot b/resources/library/interactivities/Cadran.wgt/css/fonts/SF-Toontime/SF_Toontime_Bold-webfont.eot
similarity index 100%
rename from resources/inDevelopmentWidgets/Cadran.wgt/css/fonts/SF-Toontime/SF_Toontime_Bold-webfont.eot
rename to resources/library/interactivities/Cadran.wgt/css/fonts/SF-Toontime/SF_Toontime_Bold-webfont.eot
diff --git a/resources/inDevelopmentWidgets/Cadran.wgt/css/fonts/SF-Toontime/SF_Toontime_Bold-webfont.svg b/resources/library/interactivities/Cadran.wgt/css/fonts/SF-Toontime/SF_Toontime_Bold-webfont.svg
similarity index 100%
rename from resources/inDevelopmentWidgets/Cadran.wgt/css/fonts/SF-Toontime/SF_Toontime_Bold-webfont.svg
rename to resources/library/interactivities/Cadran.wgt/css/fonts/SF-Toontime/SF_Toontime_Bold-webfont.svg
diff --git a/resources/inDevelopmentWidgets/Cadran.wgt/css/fonts/SF-Toontime/SF_Toontime_Bold-webfont.ttf b/resources/library/interactivities/Cadran.wgt/css/fonts/SF-Toontime/SF_Toontime_Bold-webfont.ttf
similarity index 100%
rename from resources/inDevelopmentWidgets/Cadran.wgt/css/fonts/SF-Toontime/SF_Toontime_Bold-webfont.ttf
rename to resources/library/interactivities/Cadran.wgt/css/fonts/SF-Toontime/SF_Toontime_Bold-webfont.ttf
diff --git a/resources/inDevelopmentWidgets/Cadran.wgt/css/fonts/SF-Toontime/SF_Toontime_Bold-webfont.woff b/resources/library/interactivities/Cadran.wgt/css/fonts/SF-Toontime/SF_Toontime_Bold-webfont.woff
similarity index 100%
rename from resources/inDevelopmentWidgets/Cadran.wgt/css/fonts/SF-Toontime/SF_Toontime_Bold-webfont.woff
rename to resources/library/interactivities/Cadran.wgt/css/fonts/SF-Toontime/SF_Toontime_Bold-webfont.woff
diff --git a/resources/inDevelopmentWidgets/Cadran.wgt/css/fonts/SF-Toontime/SF_Toontime_Bold_Italic-webfont.eot b/resources/library/interactivities/Cadran.wgt/css/fonts/SF-Toontime/SF_Toontime_Bold_Italic-webfont.eot
similarity index 100%
rename from resources/inDevelopmentWidgets/Cadran.wgt/css/fonts/SF-Toontime/SF_Toontime_Bold_Italic-webfont.eot
rename to resources/library/interactivities/Cadran.wgt/css/fonts/SF-Toontime/SF_Toontime_Bold_Italic-webfont.eot
diff --git a/resources/inDevelopmentWidgets/Cadran.wgt/css/fonts/SF-Toontime/SF_Toontime_Bold_Italic-webfont.svg b/resources/library/interactivities/Cadran.wgt/css/fonts/SF-Toontime/SF_Toontime_Bold_Italic-webfont.svg
similarity index 100%
rename from resources/inDevelopmentWidgets/Cadran.wgt/css/fonts/SF-Toontime/SF_Toontime_Bold_Italic-webfont.svg
rename to resources/library/interactivities/Cadran.wgt/css/fonts/SF-Toontime/SF_Toontime_Bold_Italic-webfont.svg
diff --git a/resources/inDevelopmentWidgets/Cadran.wgt/css/fonts/SF-Toontime/SF_Toontime_Bold_Italic-webfont.ttf b/resources/library/interactivities/Cadran.wgt/css/fonts/SF-Toontime/SF_Toontime_Bold_Italic-webfont.ttf
similarity index 100%
rename from resources/inDevelopmentWidgets/Cadran.wgt/css/fonts/SF-Toontime/SF_Toontime_Bold_Italic-webfont.ttf
rename to resources/library/interactivities/Cadran.wgt/css/fonts/SF-Toontime/SF_Toontime_Bold_Italic-webfont.ttf
diff --git a/resources/inDevelopmentWidgets/Cadran.wgt/css/fonts/SF-Toontime/SF_Toontime_Bold_Italic-webfont.woff b/resources/library/interactivities/Cadran.wgt/css/fonts/SF-Toontime/SF_Toontime_Bold_Italic-webfont.woff
similarity index 100%
rename from resources/inDevelopmentWidgets/Cadran.wgt/css/fonts/SF-Toontime/SF_Toontime_Bold_Italic-webfont.woff
rename to resources/library/interactivities/Cadran.wgt/css/fonts/SF-Toontime/SF_Toontime_Bold_Italic-webfont.woff
diff --git a/resources/inDevelopmentWidgets/Cadran.wgt/css/fonts/SF-Toontime/SF_Toontime_Italic-webfont.eot b/resources/library/interactivities/Cadran.wgt/css/fonts/SF-Toontime/SF_Toontime_Italic-webfont.eot
similarity index 100%
rename from resources/inDevelopmentWidgets/Cadran.wgt/css/fonts/SF-Toontime/SF_Toontime_Italic-webfont.eot
rename to resources/library/interactivities/Cadran.wgt/css/fonts/SF-Toontime/SF_Toontime_Italic-webfont.eot
diff --git a/resources/inDevelopmentWidgets/Cadran.wgt/css/fonts/SF-Toontime/SF_Toontime_Italic-webfont.svg b/resources/library/interactivities/Cadran.wgt/css/fonts/SF-Toontime/SF_Toontime_Italic-webfont.svg
similarity index 100%
rename from resources/inDevelopmentWidgets/Cadran.wgt/css/fonts/SF-Toontime/SF_Toontime_Italic-webfont.svg
rename to resources/library/interactivities/Cadran.wgt/css/fonts/SF-Toontime/SF_Toontime_Italic-webfont.svg
diff --git a/resources/inDevelopmentWidgets/Cadran.wgt/css/fonts/SF-Toontime/SF_Toontime_Italic-webfont.ttf b/resources/library/interactivities/Cadran.wgt/css/fonts/SF-Toontime/SF_Toontime_Italic-webfont.ttf
similarity index 100%
rename from resources/inDevelopmentWidgets/Cadran.wgt/css/fonts/SF-Toontime/SF_Toontime_Italic-webfont.ttf
rename to resources/library/interactivities/Cadran.wgt/css/fonts/SF-Toontime/SF_Toontime_Italic-webfont.ttf
diff --git a/resources/inDevelopmentWidgets/Cadran.wgt/css/fonts/SF-Toontime/SF_Toontime_Italic-webfont.woff b/resources/library/interactivities/Cadran.wgt/css/fonts/SF-Toontime/SF_Toontime_Italic-webfont.woff
similarity index 100%
rename from resources/inDevelopmentWidgets/Cadran.wgt/css/fonts/SF-Toontime/SF_Toontime_Italic-webfont.woff
rename to resources/library/interactivities/Cadran.wgt/css/fonts/SF-Toontime/SF_Toontime_Italic-webfont.woff
diff --git a/resources/inDevelopmentWidgets/Cadran.wgt/css/fonts/SF-Toontime/demo.html b/resources/library/interactivities/Cadran.wgt/css/fonts/SF-Toontime/demo.html
similarity index 100%
rename from resources/inDevelopmentWidgets/Cadran.wgt/css/fonts/SF-Toontime/demo.html
rename to resources/library/interactivities/Cadran.wgt/css/fonts/SF-Toontime/demo.html
diff --git a/resources/inDevelopmentWidgets/Cadran.wgt/css/fonts/SF-Toontime/stylesheet.css b/resources/library/interactivities/Cadran.wgt/css/fonts/SF-Toontime/stylesheet.css
similarity index 100%
rename from resources/inDevelopmentWidgets/Cadran.wgt/css/fonts/SF-Toontime/stylesheet.css
rename to resources/library/interactivities/Cadran.wgt/css/fonts/SF-Toontime/stylesheet.css
diff --git a/resources/inDevelopmentWidgets/Cadran.wgt/css/images/bg.png b/resources/library/interactivities/Cadran.wgt/css/images/bg.png
similarity index 100%
rename from resources/inDevelopmentWidgets/Cadran.wgt/css/images/bg.png
rename to resources/library/interactivities/Cadran.wgt/css/images/bg.png
diff --git a/resources/inDevelopmentWidgets/Cadran.wgt/css/images/pad-bd.png b/resources/library/interactivities/Cadran.wgt/css/images/pad-bd.png
similarity index 100%
rename from resources/inDevelopmentWidgets/Cadran.wgt/css/images/pad-bd.png
rename to resources/library/interactivities/Cadran.wgt/css/images/pad-bd.png
diff --git a/resources/inDevelopmentWidgets/Cadran.wgt/css/images/parameters-bg.png b/resources/library/interactivities/Cadran.wgt/css/images/parameters-bg.png
similarity index 100%
rename from resources/inDevelopmentWidgets/Cadran.wgt/css/images/parameters-bg.png
rename to resources/library/interactivities/Cadran.wgt/css/images/parameters-bg.png
diff --git a/resources/inDevelopmentWidgets/Cadran.wgt/css/images/slate-bd.png b/resources/library/interactivities/Cadran.wgt/css/images/slate-bd.png
similarity index 100%
rename from resources/inDevelopmentWidgets/Cadran.wgt/css/images/slate-bd.png
rename to resources/library/interactivities/Cadran.wgt/css/images/slate-bd.png
diff --git a/resources/inDevelopmentWidgets/Cadran.wgt/css/images/slate-toolbar-edit.png b/resources/library/interactivities/Cadran.wgt/css/images/slate-toolbar-edit.png
similarity index 100%
rename from resources/inDevelopmentWidgets/Cadran.wgt/css/images/slate-toolbar-edit.png
rename to resources/library/interactivities/Cadran.wgt/css/images/slate-toolbar-edit.png
diff --git a/resources/inDevelopmentWidgets/Cadran.wgt/css/images/slate-toolbar-help.png b/resources/library/interactivities/Cadran.wgt/css/images/slate-toolbar-help.png
similarity index 100%
rename from resources/inDevelopmentWidgets/Cadran.wgt/css/images/slate-toolbar-help.png
rename to resources/library/interactivities/Cadran.wgt/css/images/slate-toolbar-help.png
diff --git a/resources/inDevelopmentWidgets/Cadran.wgt/css/images/slate-toolbar-reload.png b/resources/library/interactivities/Cadran.wgt/css/images/slate-toolbar-reload.png
similarity index 100%
rename from resources/inDevelopmentWidgets/Cadran.wgt/css/images/slate-toolbar-reload.png
rename to resources/library/interactivities/Cadran.wgt/css/images/slate-toolbar-reload.png
diff --git a/resources/inDevelopmentWidgets/Cadran.wgt/css/images/toolbar-edit.png b/resources/library/interactivities/Cadran.wgt/css/images/toolbar-edit.png
similarity index 100%
rename from resources/inDevelopmentWidgets/Cadran.wgt/css/images/toolbar-edit.png
rename to resources/library/interactivities/Cadran.wgt/css/images/toolbar-edit.png
diff --git a/resources/inDevelopmentWidgets/Cadran.wgt/css/images/toolbar-help.png b/resources/library/interactivities/Cadran.wgt/css/images/toolbar-help.png
similarity index 100%
rename from resources/inDevelopmentWidgets/Cadran.wgt/css/images/toolbar-help.png
rename to resources/library/interactivities/Cadran.wgt/css/images/toolbar-help.png
diff --git a/resources/inDevelopmentWidgets/Cadran.wgt/css/images/toolbar-reload.png b/resources/library/interactivities/Cadran.wgt/css/images/toolbar-reload.png
similarity index 100%
rename from resources/inDevelopmentWidgets/Cadran.wgt/css/images/toolbar-reload.png
rename to resources/library/interactivities/Cadran.wgt/css/images/toolbar-reload.png
diff --git a/resources/inDevelopmentWidgets/Cadran.wgt/css/main.css b/resources/library/interactivities/Cadran.wgt/css/main.css
similarity index 100%
rename from resources/inDevelopmentWidgets/Cadran.wgt/css/main.css
rename to resources/library/interactivities/Cadran.wgt/css/main.css
diff --git a/resources/inDevelopmentWidgets/Cadran.wgt/css/ubw-help.css b/resources/library/interactivities/Cadran.wgt/css/ubw-help.css
similarity index 100%
rename from resources/inDevelopmentWidgets/Cadran.wgt/css/ubw-help.css
rename to resources/library/interactivities/Cadran.wgt/css/ubw-help.css
diff --git a/resources/inDevelopmentWidgets/Cadran.wgt/css/ubw-main.css b/resources/library/interactivities/Cadran.wgt/css/ubw-main.css
similarity index 100%
rename from resources/inDevelopmentWidgets/Cadran.wgt/css/ubw-main.css
rename to resources/library/interactivities/Cadran.wgt/css/ubw-main.css
diff --git a/resources/inDevelopmentWidgets/Cadran.wgt/help.html b/resources/library/interactivities/Cadran.wgt/help.html
similarity index 100%
rename from resources/inDevelopmentWidgets/Cadran.wgt/help.html
rename to resources/library/interactivities/Cadran.wgt/help.html
diff --git a/resources/inDevelopmentWidgets/Cadran.wgt/i18n/Messages.properties b/resources/library/interactivities/Cadran.wgt/i18n/Messages.properties
similarity index 100%
rename from resources/inDevelopmentWidgets/Cadran.wgt/i18n/Messages.properties
rename to resources/library/interactivities/Cadran.wgt/i18n/Messages.properties
diff --git a/resources/inDevelopmentWidgets/Cadran.wgt/i18n/Messages_fr.properties b/resources/library/interactivities/Cadran.wgt/i18n/Messages_fr.properties
similarity index 57%
rename from resources/inDevelopmentWidgets/Cadran.wgt/i18n/Messages_fr.properties
rename to resources/library/interactivities/Cadran.wgt/i18n/Messages_fr.properties
index c2f8a829..939ff3d0 100644
--- a/resources/inDevelopmentWidgets/Cadran.wgt/i18n/Messages_fr.properties
+++ b/resources/library/interactivities/Cadran.wgt/i18n/Messages_fr.properties
@@ -1,11 +1,11 @@
fr.njin.i18n.document.title = Cadran opératoire
-fr.njin.i18n.toolbar.edit = Editer
-fr.njin.i18n.toolbar.view = Fermer
+fr.njin.i18n.toolbar.edit = Modifier
+fr.njin.i18n.toolbar.view = Afficher
fr.njin.i18n.toolbar.reload = Recharger
fr.njin.i18n.toolbar.help = Aide
-fr.njin.i18n.parameters.label.themes = Thème
+fr.njin.i18n.parameters.label.themes = Thèmes
fr.njin.i18n.parameters.label.slate.themes = ardoise
fr.njin.i18n.parameters.label.pad.themes = tablette
fr.njin.i18n.parameters.label.none.themes = aucun
\ No newline at end of file
diff --git a/resources/inDevelopmentWidgets/Cadran.wgt/icon.png b/resources/library/interactivities/Cadran.wgt/icon.png
similarity index 100%
rename from resources/inDevelopmentWidgets/Cadran.wgt/icon.png
rename to resources/library/interactivities/Cadran.wgt/icon.png
diff --git a/resources/inDevelopmentWidgets/Cadran.wgt/index.html b/resources/library/interactivities/Cadran.wgt/index.html
similarity index 100%
rename from resources/inDevelopmentWidgets/Cadran.wgt/index.html
rename to resources/library/interactivities/Cadran.wgt/index.html
diff --git a/resources/inDevelopmentWidgets/Cadran.wgt/js/help-template.js b/resources/library/interactivities/Cadran.wgt/js/help-template.js
similarity index 100%
rename from resources/inDevelopmentWidgets/Cadran.wgt/js/help-template.js
rename to resources/library/interactivities/Cadran.wgt/js/help-template.js
diff --git a/resources/inDevelopmentWidgets/Cadran.wgt/js/help_fr-template.js b/resources/library/interactivities/Cadran.wgt/js/help_fr-template.js
similarity index 100%
rename from resources/inDevelopmentWidgets/Cadran.wgt/js/help_fr-template.js
rename to resources/library/interactivities/Cadran.wgt/js/help_fr-template.js
diff --git a/resources/inDevelopmentWidgets/Cadran.wgt/js/lib/jquery-1.7.1.min.js b/resources/library/interactivities/Cadran.wgt/js/lib/jquery-1.7.1.min.js
similarity index 100%
rename from resources/inDevelopmentWidgets/Cadran.wgt/js/lib/jquery-1.7.1.min.js
rename to resources/library/interactivities/Cadran.wgt/js/lib/jquery-1.7.1.min.js
diff --git a/resources/inDevelopmentWidgets/Cadran.wgt/js/lib/jquery-css-transform.js b/resources/library/interactivities/Cadran.wgt/js/lib/jquery-css-transform.js
similarity index 100%
rename from resources/inDevelopmentWidgets/Cadran.wgt/js/lib/jquery-css-transform.js
rename to resources/library/interactivities/Cadran.wgt/js/lib/jquery-css-transform.js
diff --git a/resources/inDevelopmentWidgets/Cadran.wgt/js/lib/jquery.i18n.properties-min-1.0.9.js b/resources/library/interactivities/Cadran.wgt/js/lib/jquery.i18n.properties-min-1.0.9.js
similarity index 100%
rename from resources/inDevelopmentWidgets/Cadran.wgt/js/lib/jquery.i18n.properties-min-1.0.9.js
rename to resources/library/interactivities/Cadran.wgt/js/lib/jquery.i18n.properties-min-1.0.9.js
diff --git a/resources/inDevelopmentWidgets/Cadran.wgt/js/lib/modernizr.js b/resources/library/interactivities/Cadran.wgt/js/lib/modernizr.js
similarity index 100%
rename from resources/inDevelopmentWidgets/Cadran.wgt/js/lib/modernizr.js
rename to resources/library/interactivities/Cadran.wgt/js/lib/modernizr.js
diff --git a/resources/inDevelopmentWidgets/Cadran.wgt/js/lib/mustache.js b/resources/library/interactivities/Cadran.wgt/js/lib/mustache.js
similarity index 100%
rename from resources/inDevelopmentWidgets/Cadran.wgt/js/lib/mustache.js
rename to resources/library/interactivities/Cadran.wgt/js/lib/mustache.js
diff --git a/resources/inDevelopmentWidgets/Cadran.wgt/js/lib/ubw-main.js b/resources/library/interactivities/Cadran.wgt/js/lib/ubw-main.js
similarity index 100%
rename from resources/inDevelopmentWidgets/Cadran.wgt/js/lib/ubw-main.js
rename to resources/library/interactivities/Cadran.wgt/js/lib/ubw-main.js
diff --git a/resources/inDevelopmentWidgets/Cadran.wgt/js/main.js b/resources/library/interactivities/Cadran.wgt/js/main.js
similarity index 100%
rename from resources/inDevelopmentWidgets/Cadran.wgt/js/main.js
rename to resources/library/interactivities/Cadran.wgt/js/main.js
diff --git a/resources/inDevelopmentWidgets/Cadran.wgt/js/templates.js b/resources/library/interactivities/Cadran.wgt/js/templates.js
similarity index 100%
rename from resources/inDevelopmentWidgets/Cadran.wgt/js/templates.js
rename to resources/library/interactivities/Cadran.wgt/js/templates.js
diff --git a/resources/library/interactivities/Calcul.wgt/i18n/Messages_fr.properties b/resources/library/interactivities/Calcul.wgt/i18n/Messages_fr.properties
index 42cae735..f89c9066 100644
--- a/resources/library/interactivities/Calcul.wgt/i18n/Messages_fr.properties
+++ b/resources/library/interactivities/Calcul.wgt/i18n/Messages_fr.properties
@@ -1,11 +1,11 @@
fr.njin.i18n.document.title = Calcul rapide
-fr.njin.i18n.toolbar.edit = Editer
-fr.njin.i18n.toolbar.view = Fermer
+fr.njin.i18n.toolbar.edit = Modifier
+fr.njin.i18n.toolbar.view = Editer
fr.njin.i18n.toolbar.reload = Recharger
fr.njin.i18n.toolbar.help = Aide
-fr.njin.i18n.parameters.label.themes = Thème
+fr.njin.i18n.parameters.label.themes = Thèmes
fr.njin.i18n.parameters.label.slate.themes = ardoise
fr.njin.i18n.parameters.label.pad.themes = tablette
fr.njin.i18n.parameters.label.none.themes = aucun
diff --git a/resources/library/interactivities/Des.wgt/i18n/Messages_fr.properties b/resources/library/interactivities/Des.wgt/i18n/Messages_fr.properties
index 02bef45e..cdc4fe70 100644
--- a/resources/library/interactivities/Des.wgt/i18n/Messages_fr.properties
+++ b/resources/library/interactivities/Des.wgt/i18n/Messages_fr.properties
@@ -1,11 +1,11 @@
fr.njin.i18n.document.title = Dés
-fr.njin.i18n.toolbar.edit = Editer
-fr.njin.i18n.toolbar.view = Fermer
+fr.njin.i18n.toolbar.edit = Modifier
+fr.njin.i18n.toolbar.view = Afficher
fr.njin.i18n.toolbar.reload = Recharger
fr.njin.i18n.toolbar.help = Aide
-fr.njin.i18n.parameters.label.themes = Thème
+fr.njin.i18n.parameters.label.themes = Thèmes
fr.njin.i18n.parameters.label.slate.themes = ardoise
fr.njin.i18n.parameters.label.pad.themes = tablette
fr.njin.i18n.parameters.label.none.themes = aucun
diff --git a/resources/library/interactivities/Enveloppe.wgt/i18n/Messages_fr.properties b/resources/library/interactivities/Enveloppe.wgt/i18n/Messages_fr.properties
index 085ce522..131cc892 100644
--- a/resources/library/interactivities/Enveloppe.wgt/i18n/Messages_fr.properties
+++ b/resources/library/interactivities/Enveloppe.wgt/i18n/Messages_fr.properties
@@ -1,11 +1,11 @@
fr.njin.i18n.document.title = Enveloppe
-fr.njin.i18n.toolbar.edit = Editer
-fr.njin.i18n.toolbar.view = Fermer
+fr.njin.i18n.toolbar.edit = Modifier
+fr.njin.i18n.toolbar.view = Afficher
fr.njin.i18n.toolbar.reload = Recharger
fr.njin.i18n.toolbar.help = Aide
-fr.njin.i18n.parameters.label.themes = Thème
+fr.njin.i18n.parameters.label.themes = Thèmes
fr.njin.i18n.parameters.label.slate.themes = ardoise
fr.njin.i18n.parameters.label.pad.themes = tablette
fr.njin.i18n.parameters.label.none.themes = aucun
diff --git a/resources/library/interactivities/Memory.wgt/i18n/Messages_fr.properties b/resources/library/interactivities/Memory.wgt/i18n/Messages_fr.properties
index 8054dd1c..3b35c9c6 100644
--- a/resources/library/interactivities/Memory.wgt/i18n/Messages_fr.properties
+++ b/resources/library/interactivities/Memory.wgt/i18n/Messages_fr.properties
@@ -1,11 +1,11 @@
fr.njin.i18n.document.title = Memory
-fr.njin.i18n.toolbar.edit = Editer
-fr.njin.i18n.toolbar.view = Fermer
+fr.njin.i18n.toolbar.edit = Modifier
+fr.njin.i18n.toolbar.view = Afficher
fr.njin.i18n.toolbar.reload = Recharger
fr.njin.i18n.toolbar.help = Aide
-fr.njin.i18n.parameters.label.themes = Thème
+fr.njin.i18n.parameters.label.themes = Thèmes
fr.njin.i18n.parameters.label.slate.themes = ardoise
fr.njin.i18n.parameters.label.pad.themes = tablette
fr.njin.i18n.parameters.label.none.themes = aucun
diff --git a/resources/inDevelopmentWidgets/Morpion.wgt/config.xml b/resources/library/interactivities/Morpion.wgt/config.xml
similarity index 100%
rename from resources/inDevelopmentWidgets/Morpion.wgt/config.xml
rename to resources/library/interactivities/Morpion.wgt/config.xml
diff --git a/resources/inDevelopmentWidgets/Morpion.wgt/css/fonts/Lobster/Lobster_1.3-webfont.eot b/resources/library/interactivities/Morpion.wgt/css/fonts/Lobster/Lobster_1.3-webfont.eot
similarity index 100%
rename from resources/inDevelopmentWidgets/Morpion.wgt/css/fonts/Lobster/Lobster_1.3-webfont.eot
rename to resources/library/interactivities/Morpion.wgt/css/fonts/Lobster/Lobster_1.3-webfont.eot
diff --git a/resources/inDevelopmentWidgets/Morpion.wgt/css/fonts/Lobster/Lobster_1.3-webfont.svg b/resources/library/interactivities/Morpion.wgt/css/fonts/Lobster/Lobster_1.3-webfont.svg
similarity index 100%
rename from resources/inDevelopmentWidgets/Morpion.wgt/css/fonts/Lobster/Lobster_1.3-webfont.svg
rename to resources/library/interactivities/Morpion.wgt/css/fonts/Lobster/Lobster_1.3-webfont.svg
diff --git a/resources/inDevelopmentWidgets/Morpion.wgt/css/fonts/Lobster/Lobster_1.3-webfont.ttf b/resources/library/interactivities/Morpion.wgt/css/fonts/Lobster/Lobster_1.3-webfont.ttf
similarity index 100%
rename from resources/inDevelopmentWidgets/Morpion.wgt/css/fonts/Lobster/Lobster_1.3-webfont.ttf
rename to resources/library/interactivities/Morpion.wgt/css/fonts/Lobster/Lobster_1.3-webfont.ttf
diff --git a/resources/inDevelopmentWidgets/Morpion.wgt/css/fonts/Lobster/Lobster_1.3-webfont.woff b/resources/library/interactivities/Morpion.wgt/css/fonts/Lobster/Lobster_1.3-webfont.woff
similarity index 100%
rename from resources/inDevelopmentWidgets/Morpion.wgt/css/fonts/Lobster/Lobster_1.3-webfont.woff
rename to resources/library/interactivities/Morpion.wgt/css/fonts/Lobster/Lobster_1.3-webfont.woff
diff --git a/resources/inDevelopmentWidgets/Morpion.wgt/css/fonts/Lobster/SIL Open Font License 1.1.txt b/resources/library/interactivities/Morpion.wgt/css/fonts/Lobster/SIL Open Font License 1.1.txt
similarity index 100%
rename from resources/inDevelopmentWidgets/Morpion.wgt/css/fonts/Lobster/SIL Open Font License 1.1.txt
rename to resources/library/interactivities/Morpion.wgt/css/fonts/Lobster/SIL Open Font License 1.1.txt
diff --git a/resources/inDevelopmentWidgets/Morpion.wgt/css/fonts/Lobster/demo.html b/resources/library/interactivities/Morpion.wgt/css/fonts/Lobster/demo.html
similarity index 100%
rename from resources/inDevelopmentWidgets/Morpion.wgt/css/fonts/Lobster/demo.html
rename to resources/library/interactivities/Morpion.wgt/css/fonts/Lobster/demo.html
diff --git a/resources/inDevelopmentWidgets/Morpion.wgt/css/fonts/Lobster/stylesheet.css b/resources/library/interactivities/Morpion.wgt/css/fonts/Lobster/stylesheet.css
similarity index 100%
rename from resources/inDevelopmentWidgets/Morpion.wgt/css/fonts/Lobster/stylesheet.css
rename to resources/library/interactivities/Morpion.wgt/css/fonts/Lobster/stylesheet.css
diff --git a/resources/inDevelopmentWidgets/Morpion.wgt/css/fonts/SF-Toontime/SF_Toontime-webfont.eot b/resources/library/interactivities/Morpion.wgt/css/fonts/SF-Toontime/SF_Toontime-webfont.eot
similarity index 100%
rename from resources/inDevelopmentWidgets/Morpion.wgt/css/fonts/SF-Toontime/SF_Toontime-webfont.eot
rename to resources/library/interactivities/Morpion.wgt/css/fonts/SF-Toontime/SF_Toontime-webfont.eot
diff --git a/resources/inDevelopmentWidgets/Morpion.wgt/css/fonts/SF-Toontime/SF_Toontime-webfont.svg b/resources/library/interactivities/Morpion.wgt/css/fonts/SF-Toontime/SF_Toontime-webfont.svg
similarity index 100%
rename from resources/inDevelopmentWidgets/Morpion.wgt/css/fonts/SF-Toontime/SF_Toontime-webfont.svg
rename to resources/library/interactivities/Morpion.wgt/css/fonts/SF-Toontime/SF_Toontime-webfont.svg
diff --git a/resources/inDevelopmentWidgets/Morpion.wgt/css/fonts/SF-Toontime/SF_Toontime-webfont.ttf b/resources/library/interactivities/Morpion.wgt/css/fonts/SF-Toontime/SF_Toontime-webfont.ttf
similarity index 100%
rename from resources/inDevelopmentWidgets/Morpion.wgt/css/fonts/SF-Toontime/SF_Toontime-webfont.ttf
rename to resources/library/interactivities/Morpion.wgt/css/fonts/SF-Toontime/SF_Toontime-webfont.ttf
diff --git a/resources/inDevelopmentWidgets/Morpion.wgt/css/fonts/SF-Toontime/SF_Toontime-webfont.woff b/resources/library/interactivities/Morpion.wgt/css/fonts/SF-Toontime/SF_Toontime-webfont.woff
similarity index 100%
rename from resources/inDevelopmentWidgets/Morpion.wgt/css/fonts/SF-Toontime/SF_Toontime-webfont.woff
rename to resources/library/interactivities/Morpion.wgt/css/fonts/SF-Toontime/SF_Toontime-webfont.woff
diff --git a/resources/inDevelopmentWidgets/Morpion.wgt/css/fonts/SF-Toontime/SF_Toontime_Blotch-webfont.eot b/resources/library/interactivities/Morpion.wgt/css/fonts/SF-Toontime/SF_Toontime_Blotch-webfont.eot
similarity index 100%
rename from resources/inDevelopmentWidgets/Morpion.wgt/css/fonts/SF-Toontime/SF_Toontime_Blotch-webfont.eot
rename to resources/library/interactivities/Morpion.wgt/css/fonts/SF-Toontime/SF_Toontime_Blotch-webfont.eot
diff --git a/resources/inDevelopmentWidgets/Morpion.wgt/css/fonts/SF-Toontime/SF_Toontime_Blotch-webfont.svg b/resources/library/interactivities/Morpion.wgt/css/fonts/SF-Toontime/SF_Toontime_Blotch-webfont.svg
similarity index 100%
rename from resources/inDevelopmentWidgets/Morpion.wgt/css/fonts/SF-Toontime/SF_Toontime_Blotch-webfont.svg
rename to resources/library/interactivities/Morpion.wgt/css/fonts/SF-Toontime/SF_Toontime_Blotch-webfont.svg
diff --git a/resources/inDevelopmentWidgets/Morpion.wgt/css/fonts/SF-Toontime/SF_Toontime_Blotch-webfont.ttf b/resources/library/interactivities/Morpion.wgt/css/fonts/SF-Toontime/SF_Toontime_Blotch-webfont.ttf
similarity index 100%
rename from resources/inDevelopmentWidgets/Morpion.wgt/css/fonts/SF-Toontime/SF_Toontime_Blotch-webfont.ttf
rename to resources/library/interactivities/Morpion.wgt/css/fonts/SF-Toontime/SF_Toontime_Blotch-webfont.ttf
diff --git a/resources/inDevelopmentWidgets/Morpion.wgt/css/fonts/SF-Toontime/SF_Toontime_Blotch-webfont.woff b/resources/library/interactivities/Morpion.wgt/css/fonts/SF-Toontime/SF_Toontime_Blotch-webfont.woff
similarity index 100%
rename from resources/inDevelopmentWidgets/Morpion.wgt/css/fonts/SF-Toontime/SF_Toontime_Blotch-webfont.woff
rename to resources/library/interactivities/Morpion.wgt/css/fonts/SF-Toontime/SF_Toontime_Blotch-webfont.woff
diff --git a/resources/inDevelopmentWidgets/Morpion.wgt/css/fonts/SF-Toontime/SF_Toontime_Blotch_Italic-webfont.eot b/resources/library/interactivities/Morpion.wgt/css/fonts/SF-Toontime/SF_Toontime_Blotch_Italic-webfont.eot
similarity index 100%
rename from resources/inDevelopmentWidgets/Morpion.wgt/css/fonts/SF-Toontime/SF_Toontime_Blotch_Italic-webfont.eot
rename to resources/library/interactivities/Morpion.wgt/css/fonts/SF-Toontime/SF_Toontime_Blotch_Italic-webfont.eot
diff --git a/resources/inDevelopmentWidgets/Morpion.wgt/css/fonts/SF-Toontime/SF_Toontime_Blotch_Italic-webfont.svg b/resources/library/interactivities/Morpion.wgt/css/fonts/SF-Toontime/SF_Toontime_Blotch_Italic-webfont.svg
similarity index 100%
rename from resources/inDevelopmentWidgets/Morpion.wgt/css/fonts/SF-Toontime/SF_Toontime_Blotch_Italic-webfont.svg
rename to resources/library/interactivities/Morpion.wgt/css/fonts/SF-Toontime/SF_Toontime_Blotch_Italic-webfont.svg
diff --git a/resources/inDevelopmentWidgets/Morpion.wgt/css/fonts/SF-Toontime/SF_Toontime_Blotch_Italic-webfont.ttf b/resources/library/interactivities/Morpion.wgt/css/fonts/SF-Toontime/SF_Toontime_Blotch_Italic-webfont.ttf
similarity index 100%
rename from resources/inDevelopmentWidgets/Morpion.wgt/css/fonts/SF-Toontime/SF_Toontime_Blotch_Italic-webfont.ttf
rename to resources/library/interactivities/Morpion.wgt/css/fonts/SF-Toontime/SF_Toontime_Blotch_Italic-webfont.ttf
diff --git a/resources/inDevelopmentWidgets/Morpion.wgt/css/fonts/SF-Toontime/SF_Toontime_Blotch_Italic-webfont.woff b/resources/library/interactivities/Morpion.wgt/css/fonts/SF-Toontime/SF_Toontime_Blotch_Italic-webfont.woff
similarity index 100%
rename from resources/inDevelopmentWidgets/Morpion.wgt/css/fonts/SF-Toontime/SF_Toontime_Blotch_Italic-webfont.woff
rename to resources/library/interactivities/Morpion.wgt/css/fonts/SF-Toontime/SF_Toontime_Blotch_Italic-webfont.woff
diff --git a/resources/inDevelopmentWidgets/Morpion.wgt/css/fonts/SF-Toontime/SF_Toontime_Bold-webfont.eot b/resources/library/interactivities/Morpion.wgt/css/fonts/SF-Toontime/SF_Toontime_Bold-webfont.eot
similarity index 100%
rename from resources/inDevelopmentWidgets/Morpion.wgt/css/fonts/SF-Toontime/SF_Toontime_Bold-webfont.eot
rename to resources/library/interactivities/Morpion.wgt/css/fonts/SF-Toontime/SF_Toontime_Bold-webfont.eot
diff --git a/resources/inDevelopmentWidgets/Morpion.wgt/css/fonts/SF-Toontime/SF_Toontime_Bold-webfont.svg b/resources/library/interactivities/Morpion.wgt/css/fonts/SF-Toontime/SF_Toontime_Bold-webfont.svg
similarity index 100%
rename from resources/inDevelopmentWidgets/Morpion.wgt/css/fonts/SF-Toontime/SF_Toontime_Bold-webfont.svg
rename to resources/library/interactivities/Morpion.wgt/css/fonts/SF-Toontime/SF_Toontime_Bold-webfont.svg
diff --git a/resources/inDevelopmentWidgets/Morpion.wgt/css/fonts/SF-Toontime/SF_Toontime_Bold-webfont.ttf b/resources/library/interactivities/Morpion.wgt/css/fonts/SF-Toontime/SF_Toontime_Bold-webfont.ttf
similarity index 100%
rename from resources/inDevelopmentWidgets/Morpion.wgt/css/fonts/SF-Toontime/SF_Toontime_Bold-webfont.ttf
rename to resources/library/interactivities/Morpion.wgt/css/fonts/SF-Toontime/SF_Toontime_Bold-webfont.ttf
diff --git a/resources/inDevelopmentWidgets/Morpion.wgt/css/fonts/SF-Toontime/SF_Toontime_Bold-webfont.woff b/resources/library/interactivities/Morpion.wgt/css/fonts/SF-Toontime/SF_Toontime_Bold-webfont.woff
similarity index 100%
rename from resources/inDevelopmentWidgets/Morpion.wgt/css/fonts/SF-Toontime/SF_Toontime_Bold-webfont.woff
rename to resources/library/interactivities/Morpion.wgt/css/fonts/SF-Toontime/SF_Toontime_Bold-webfont.woff
diff --git a/resources/inDevelopmentWidgets/Morpion.wgt/css/fonts/SF-Toontime/SF_Toontime_Bold_Italic-webfont.eot b/resources/library/interactivities/Morpion.wgt/css/fonts/SF-Toontime/SF_Toontime_Bold_Italic-webfont.eot
similarity index 100%
rename from resources/inDevelopmentWidgets/Morpion.wgt/css/fonts/SF-Toontime/SF_Toontime_Bold_Italic-webfont.eot
rename to resources/library/interactivities/Morpion.wgt/css/fonts/SF-Toontime/SF_Toontime_Bold_Italic-webfont.eot
diff --git a/resources/inDevelopmentWidgets/Morpion.wgt/css/fonts/SF-Toontime/SF_Toontime_Bold_Italic-webfont.svg b/resources/library/interactivities/Morpion.wgt/css/fonts/SF-Toontime/SF_Toontime_Bold_Italic-webfont.svg
similarity index 100%
rename from resources/inDevelopmentWidgets/Morpion.wgt/css/fonts/SF-Toontime/SF_Toontime_Bold_Italic-webfont.svg
rename to resources/library/interactivities/Morpion.wgt/css/fonts/SF-Toontime/SF_Toontime_Bold_Italic-webfont.svg
diff --git a/resources/inDevelopmentWidgets/Morpion.wgt/css/fonts/SF-Toontime/SF_Toontime_Bold_Italic-webfont.ttf b/resources/library/interactivities/Morpion.wgt/css/fonts/SF-Toontime/SF_Toontime_Bold_Italic-webfont.ttf
similarity index 100%
rename from resources/inDevelopmentWidgets/Morpion.wgt/css/fonts/SF-Toontime/SF_Toontime_Bold_Italic-webfont.ttf
rename to resources/library/interactivities/Morpion.wgt/css/fonts/SF-Toontime/SF_Toontime_Bold_Italic-webfont.ttf
diff --git a/resources/inDevelopmentWidgets/Morpion.wgt/css/fonts/SF-Toontime/SF_Toontime_Bold_Italic-webfont.woff b/resources/library/interactivities/Morpion.wgt/css/fonts/SF-Toontime/SF_Toontime_Bold_Italic-webfont.woff
similarity index 100%
rename from resources/inDevelopmentWidgets/Morpion.wgt/css/fonts/SF-Toontime/SF_Toontime_Bold_Italic-webfont.woff
rename to resources/library/interactivities/Morpion.wgt/css/fonts/SF-Toontime/SF_Toontime_Bold_Italic-webfont.woff
diff --git a/resources/inDevelopmentWidgets/Morpion.wgt/css/fonts/SF-Toontime/SF_Toontime_Italic-webfont.eot b/resources/library/interactivities/Morpion.wgt/css/fonts/SF-Toontime/SF_Toontime_Italic-webfont.eot
similarity index 100%
rename from resources/inDevelopmentWidgets/Morpion.wgt/css/fonts/SF-Toontime/SF_Toontime_Italic-webfont.eot
rename to resources/library/interactivities/Morpion.wgt/css/fonts/SF-Toontime/SF_Toontime_Italic-webfont.eot
diff --git a/resources/inDevelopmentWidgets/Morpion.wgt/css/fonts/SF-Toontime/SF_Toontime_Italic-webfont.svg b/resources/library/interactivities/Morpion.wgt/css/fonts/SF-Toontime/SF_Toontime_Italic-webfont.svg
similarity index 100%
rename from resources/inDevelopmentWidgets/Morpion.wgt/css/fonts/SF-Toontime/SF_Toontime_Italic-webfont.svg
rename to resources/library/interactivities/Morpion.wgt/css/fonts/SF-Toontime/SF_Toontime_Italic-webfont.svg
diff --git a/resources/inDevelopmentWidgets/Morpion.wgt/css/fonts/SF-Toontime/SF_Toontime_Italic-webfont.ttf b/resources/library/interactivities/Morpion.wgt/css/fonts/SF-Toontime/SF_Toontime_Italic-webfont.ttf
similarity index 100%
rename from resources/inDevelopmentWidgets/Morpion.wgt/css/fonts/SF-Toontime/SF_Toontime_Italic-webfont.ttf
rename to resources/library/interactivities/Morpion.wgt/css/fonts/SF-Toontime/SF_Toontime_Italic-webfont.ttf
diff --git a/resources/inDevelopmentWidgets/Morpion.wgt/css/fonts/SF-Toontime/SF_Toontime_Italic-webfont.woff b/resources/library/interactivities/Morpion.wgt/css/fonts/SF-Toontime/SF_Toontime_Italic-webfont.woff
similarity index 100%
rename from resources/inDevelopmentWidgets/Morpion.wgt/css/fonts/SF-Toontime/SF_Toontime_Italic-webfont.woff
rename to resources/library/interactivities/Morpion.wgt/css/fonts/SF-Toontime/SF_Toontime_Italic-webfont.woff
diff --git a/resources/inDevelopmentWidgets/Morpion.wgt/css/fonts/SF-Toontime/ShyFonts Font License.txt b/resources/library/interactivities/Morpion.wgt/css/fonts/SF-Toontime/ShyFonts Font License.txt
similarity index 100%
rename from resources/inDevelopmentWidgets/Morpion.wgt/css/fonts/SF-Toontime/ShyFonts Font License.txt
rename to resources/library/interactivities/Morpion.wgt/css/fonts/SF-Toontime/ShyFonts Font License.txt
diff --git a/resources/inDevelopmentWidgets/Morpion.wgt/css/fonts/SF-Toontime/demo.html b/resources/library/interactivities/Morpion.wgt/css/fonts/SF-Toontime/demo.html
similarity index 100%
rename from resources/inDevelopmentWidgets/Morpion.wgt/css/fonts/SF-Toontime/demo.html
rename to resources/library/interactivities/Morpion.wgt/css/fonts/SF-Toontime/demo.html
diff --git a/resources/inDevelopmentWidgets/Morpion.wgt/css/fonts/SF-Toontime/stylesheet.css b/resources/library/interactivities/Morpion.wgt/css/fonts/SF-Toontime/stylesheet.css
similarity index 100%
rename from resources/inDevelopmentWidgets/Morpion.wgt/css/fonts/SF-Toontime/stylesheet.css
rename to resources/library/interactivities/Morpion.wgt/css/fonts/SF-Toontime/stylesheet.css
diff --git a/resources/inDevelopmentWidgets/Morpion.wgt/css/images/bg.png b/resources/library/interactivities/Morpion.wgt/css/images/bg.png
similarity index 100%
rename from resources/inDevelopmentWidgets/Morpion.wgt/css/images/bg.png
rename to resources/library/interactivities/Morpion.wgt/css/images/bg.png
diff --git a/resources/inDevelopmentWidgets/Morpion.wgt/css/images/pad-bd.png b/resources/library/interactivities/Morpion.wgt/css/images/pad-bd.png
similarity index 100%
rename from resources/inDevelopmentWidgets/Morpion.wgt/css/images/pad-bd.png
rename to resources/library/interactivities/Morpion.wgt/css/images/pad-bd.png
diff --git a/resources/inDevelopmentWidgets/Morpion.wgt/css/images/parameters-bg.png b/resources/library/interactivities/Morpion.wgt/css/images/parameters-bg.png
similarity index 100%
rename from resources/inDevelopmentWidgets/Morpion.wgt/css/images/parameters-bg.png
rename to resources/library/interactivities/Morpion.wgt/css/images/parameters-bg.png
diff --git a/resources/inDevelopmentWidgets/Morpion.wgt/css/images/player1.png b/resources/library/interactivities/Morpion.wgt/css/images/player1.png
similarity index 100%
rename from resources/inDevelopmentWidgets/Morpion.wgt/css/images/player1.png
rename to resources/library/interactivities/Morpion.wgt/css/images/player1.png
diff --git a/resources/inDevelopmentWidgets/Morpion.wgt/css/images/player2.png b/resources/library/interactivities/Morpion.wgt/css/images/player2.png
similarity index 100%
rename from resources/inDevelopmentWidgets/Morpion.wgt/css/images/player2.png
rename to resources/library/interactivities/Morpion.wgt/css/images/player2.png
diff --git a/resources/inDevelopmentWidgets/Morpion.wgt/css/images/result-bg.png b/resources/library/interactivities/Morpion.wgt/css/images/result-bg.png
similarity index 100%
rename from resources/inDevelopmentWidgets/Morpion.wgt/css/images/result-bg.png
rename to resources/library/interactivities/Morpion.wgt/css/images/result-bg.png
diff --git a/resources/inDevelopmentWidgets/Morpion.wgt/css/images/slate-bd.png b/resources/library/interactivities/Morpion.wgt/css/images/slate-bd.png
similarity index 100%
rename from resources/inDevelopmentWidgets/Morpion.wgt/css/images/slate-bd.png
rename to resources/library/interactivities/Morpion.wgt/css/images/slate-bd.png
diff --git a/resources/inDevelopmentWidgets/Morpion.wgt/css/images/slate-toolbar-edit.png b/resources/library/interactivities/Morpion.wgt/css/images/slate-toolbar-edit.png
similarity index 100%
rename from resources/inDevelopmentWidgets/Morpion.wgt/css/images/slate-toolbar-edit.png
rename to resources/library/interactivities/Morpion.wgt/css/images/slate-toolbar-edit.png
diff --git a/resources/inDevelopmentWidgets/Morpion.wgt/css/images/slate-toolbar-help.png b/resources/library/interactivities/Morpion.wgt/css/images/slate-toolbar-help.png
similarity index 100%
rename from resources/inDevelopmentWidgets/Morpion.wgt/css/images/slate-toolbar-help.png
rename to resources/library/interactivities/Morpion.wgt/css/images/slate-toolbar-help.png
diff --git a/resources/inDevelopmentWidgets/Morpion.wgt/css/images/slate-toolbar-reload.png b/resources/library/interactivities/Morpion.wgt/css/images/slate-toolbar-reload.png
similarity index 100%
rename from resources/inDevelopmentWidgets/Morpion.wgt/css/images/slate-toolbar-reload.png
rename to resources/library/interactivities/Morpion.wgt/css/images/slate-toolbar-reload.png
diff --git a/resources/inDevelopmentWidgets/Morpion.wgt/css/images/submit.png b/resources/library/interactivities/Morpion.wgt/css/images/submit.png
similarity index 100%
rename from resources/inDevelopmentWidgets/Morpion.wgt/css/images/submit.png
rename to resources/library/interactivities/Morpion.wgt/css/images/submit.png
diff --git a/resources/inDevelopmentWidgets/Morpion.wgt/css/images/toolbar-edit.png b/resources/library/interactivities/Morpion.wgt/css/images/toolbar-edit.png
similarity index 100%
rename from resources/inDevelopmentWidgets/Morpion.wgt/css/images/toolbar-edit.png
rename to resources/library/interactivities/Morpion.wgt/css/images/toolbar-edit.png
diff --git a/resources/inDevelopmentWidgets/Morpion.wgt/css/images/toolbar-help.png b/resources/library/interactivities/Morpion.wgt/css/images/toolbar-help.png
similarity index 100%
rename from resources/inDevelopmentWidgets/Morpion.wgt/css/images/toolbar-help.png
rename to resources/library/interactivities/Morpion.wgt/css/images/toolbar-help.png
diff --git a/resources/inDevelopmentWidgets/Morpion.wgt/css/images/toolbar-reload.png b/resources/library/interactivities/Morpion.wgt/css/images/toolbar-reload.png
similarity index 100%
rename from resources/inDevelopmentWidgets/Morpion.wgt/css/images/toolbar-reload.png
rename to resources/library/interactivities/Morpion.wgt/css/images/toolbar-reload.png
diff --git a/resources/inDevelopmentWidgets/Morpion.wgt/css/main.css b/resources/library/interactivities/Morpion.wgt/css/main.css
similarity index 100%
rename from resources/inDevelopmentWidgets/Morpion.wgt/css/main.css
rename to resources/library/interactivities/Morpion.wgt/css/main.css
diff --git a/resources/inDevelopmentWidgets/Morpion.wgt/css/ubw-help.css b/resources/library/interactivities/Morpion.wgt/css/ubw-help.css
similarity index 100%
rename from resources/inDevelopmentWidgets/Morpion.wgt/css/ubw-help.css
rename to resources/library/interactivities/Morpion.wgt/css/ubw-help.css
diff --git a/resources/inDevelopmentWidgets/Morpion.wgt/css/ubw-main.css b/resources/library/interactivities/Morpion.wgt/css/ubw-main.css
similarity index 100%
rename from resources/inDevelopmentWidgets/Morpion.wgt/css/ubw-main.css
rename to resources/library/interactivities/Morpion.wgt/css/ubw-main.css
diff --git a/resources/inDevelopmentWidgets/Morpion.wgt/help.html b/resources/library/interactivities/Morpion.wgt/help.html
similarity index 100%
rename from resources/inDevelopmentWidgets/Morpion.wgt/help.html
rename to resources/library/interactivities/Morpion.wgt/help.html
diff --git a/resources/inDevelopmentWidgets/Morpion.wgt/i18n/Messages.properties b/resources/library/interactivities/Morpion.wgt/i18n/Messages.properties
similarity index 100%
rename from resources/inDevelopmentWidgets/Morpion.wgt/i18n/Messages.properties
rename to resources/library/interactivities/Morpion.wgt/i18n/Messages.properties
diff --git a/resources/inDevelopmentWidgets/Morpion.wgt/i18n/Messages_fr.properties b/resources/library/interactivities/Morpion.wgt/i18n/Messages_fr.properties
similarity index 66%
rename from resources/inDevelopmentWidgets/Morpion.wgt/i18n/Messages_fr.properties
rename to resources/library/interactivities/Morpion.wgt/i18n/Messages_fr.properties
index a854b849..5790d783 100644
--- a/resources/inDevelopmentWidgets/Morpion.wgt/i18n/Messages_fr.properties
+++ b/resources/library/interactivities/Morpion.wgt/i18n/Messages_fr.properties
@@ -1,11 +1,11 @@
fr.njin.i18n.document.title = Morpion
-fr.njin.i18n.toolbar.edit = Editer
-fr.njin.i18n.toolbar.view = Fermer
+fr.njin.i18n.toolbar.edit = Modifier
+fr.njin.i18n.toolbar.view = Afficher
fr.njin.i18n.toolbar.reload = Recharger
fr.njin.i18n.toolbar.help = Aide
-fr.njin.i18n.parameters.label.themes = Thème
+fr.njin.i18n.parameters.label.themes = Thèmes
fr.njin.i18n.parameters.label.slate.themes = ardoise
fr.njin.i18n.parameters.label.pad.themes = tablette
fr.njin.i18n.parameters.label.none.themes = aucun
diff --git a/resources/inDevelopmentWidgets/Morpion.wgt/icon.png b/resources/library/interactivities/Morpion.wgt/icon.png
similarity index 100%
rename from resources/inDevelopmentWidgets/Morpion.wgt/icon.png
rename to resources/library/interactivities/Morpion.wgt/icon.png
diff --git a/resources/inDevelopmentWidgets/Morpion.wgt/images/failed.png b/resources/library/interactivities/Morpion.wgt/images/failed.png
similarity index 100%
rename from resources/inDevelopmentWidgets/Morpion.wgt/images/failed.png
rename to resources/library/interactivities/Morpion.wgt/images/failed.png
diff --git a/resources/inDevelopmentWidgets/Morpion.wgt/images/succeed.png b/resources/library/interactivities/Morpion.wgt/images/succeed.png
similarity index 100%
rename from resources/inDevelopmentWidgets/Morpion.wgt/images/succeed.png
rename to resources/library/interactivities/Morpion.wgt/images/succeed.png
diff --git a/resources/inDevelopmentWidgets/Morpion.wgt/index.html b/resources/library/interactivities/Morpion.wgt/index.html
similarity index 100%
rename from resources/inDevelopmentWidgets/Morpion.wgt/index.html
rename to resources/library/interactivities/Morpion.wgt/index.html
diff --git a/resources/inDevelopmentWidgets/Morpion.wgt/js/help-template.js b/resources/library/interactivities/Morpion.wgt/js/help-template.js
similarity index 100%
rename from resources/inDevelopmentWidgets/Morpion.wgt/js/help-template.js
rename to resources/library/interactivities/Morpion.wgt/js/help-template.js
diff --git a/resources/inDevelopmentWidgets/Morpion.wgt/js/help_fr-template.js b/resources/library/interactivities/Morpion.wgt/js/help_fr-template.js
similarity index 100%
rename from resources/inDevelopmentWidgets/Morpion.wgt/js/help_fr-template.js
rename to resources/library/interactivities/Morpion.wgt/js/help_fr-template.js
diff --git a/resources/inDevelopmentWidgets/Morpion.wgt/js/lib/jquery-1.7.1.min.js b/resources/library/interactivities/Morpion.wgt/js/lib/jquery-1.7.1.min.js
similarity index 100%
rename from resources/inDevelopmentWidgets/Morpion.wgt/js/lib/jquery-1.7.1.min.js
rename to resources/library/interactivities/Morpion.wgt/js/lib/jquery-1.7.1.min.js
diff --git a/resources/inDevelopmentWidgets/Morpion.wgt/js/lib/jquery.i18n.properties-min-1.0.9.js b/resources/library/interactivities/Morpion.wgt/js/lib/jquery.i18n.properties-min-1.0.9.js
similarity index 100%
rename from resources/inDevelopmentWidgets/Morpion.wgt/js/lib/jquery.i18n.properties-min-1.0.9.js
rename to resources/library/interactivities/Morpion.wgt/js/lib/jquery.i18n.properties-min-1.0.9.js
diff --git a/resources/inDevelopmentWidgets/Morpion.wgt/js/lib/modernizr.js b/resources/library/interactivities/Morpion.wgt/js/lib/modernizr.js
similarity index 100%
rename from resources/inDevelopmentWidgets/Morpion.wgt/js/lib/modernizr.js
rename to resources/library/interactivities/Morpion.wgt/js/lib/modernizr.js
diff --git a/resources/inDevelopmentWidgets/Morpion.wgt/js/lib/mustache.js b/resources/library/interactivities/Morpion.wgt/js/lib/mustache.js
similarity index 100%
rename from resources/inDevelopmentWidgets/Morpion.wgt/js/lib/mustache.js
rename to resources/library/interactivities/Morpion.wgt/js/lib/mustache.js
diff --git a/resources/inDevelopmentWidgets/Morpion.wgt/js/lib/ubw-main.js b/resources/library/interactivities/Morpion.wgt/js/lib/ubw-main.js
similarity index 100%
rename from resources/inDevelopmentWidgets/Morpion.wgt/js/lib/ubw-main.js
rename to resources/library/interactivities/Morpion.wgt/js/lib/ubw-main.js
diff --git a/resources/inDevelopmentWidgets/Morpion.wgt/js/main.js b/resources/library/interactivities/Morpion.wgt/js/main.js
similarity index 100%
rename from resources/inDevelopmentWidgets/Morpion.wgt/js/main.js
rename to resources/library/interactivities/Morpion.wgt/js/main.js
diff --git a/resources/inDevelopmentWidgets/Morpion.wgt/js/templates.js b/resources/library/interactivities/Morpion.wgt/js/templates.js
similarity index 100%
rename from resources/inDevelopmentWidgets/Morpion.wgt/js/templates.js
rename to resources/library/interactivities/Morpion.wgt/js/templates.js
diff --git a/resources/library/interactivities/Ordre phrase.wgt/styles/of_puppets.css b/resources/library/interactivities/Ordre phrase.wgt/styles/of_puppets.css
index 6589dcef..401a2bea 100644
--- a/resources/library/interactivities/Ordre phrase.wgt/styles/of_puppets.css
+++ b/resources/library/interactivities/Ordre phrase.wgt/styles/of_puppets.css
@@ -33,7 +33,6 @@ body{
font: 28px tahoma;
text-align: center;
cursor: pointer;
- text-transform: uppercase;
overflow: hidden;
}
diff --git a/resources/library/interactivities/Selectionner.wgt/locales/fr/js/script.js b/resources/library/interactivities/Selectionner.wgt/locales/fr/js/script.js
index 465f601e..b37fdee6 100644
--- a/resources/library/interactivities/Selectionner.wgt/locales/fr/js/script.js
+++ b/resources/library/interactivities/Selectionner.wgt/locales/fr/js/script.js
@@ -3,7 +3,7 @@ var sankoreLang = {
edit: "Modifier",
short_desc: "Sélectionner les animaux dans la liste suivante :",
add: "Nouveau bloc",
- enter: "Saisir votre consigne ici ...",
+ enter: "Texte",
cat: "chat",
ball: "balle",
shovel: "pelle",
diff --git a/resources/library/interactivities/Tables.wgt/i18n/Messages_fr.properties b/resources/library/interactivities/Tables.wgt/i18n/Messages_fr.properties
index 27f9bd5d..9019424a 100644
--- a/resources/library/interactivities/Tables.wgt/i18n/Messages_fr.properties
+++ b/resources/library/interactivities/Tables.wgt/i18n/Messages_fr.properties
@@ -1,11 +1,11 @@
fr.njin.i18n.document.title = Tables
-fr.njin.i18n.toolbar.edit = Editer
-fr.njin.i18n.toolbar.view = Fermer
+fr.njin.i18n.toolbar.edit = Modifier
+fr.njin.i18n.toolbar.view = Afficher
fr.njin.i18n.toolbar.reload = Recharger
fr.njin.i18n.toolbar.help = Aide
-fr.njin.i18n.parameters.label.themes = Thème
+fr.njin.i18n.parameters.label.themes = Thèmes
fr.njin.i18n.parameters.label.slate.themes = ardoise
fr.njin.i18n.parameters.label.pad.themes = tablette
fr.njin.i18n.parameters.label.none.themes = aucun
diff --git a/resources/library/interactivities/Train.wgt/i18n/Messages_fr.properties b/resources/library/interactivities/Train.wgt/i18n/Messages_fr.properties
index 4f34d08f..f9046ee8 100644
--- a/resources/library/interactivities/Train.wgt/i18n/Messages_fr.properties
+++ b/resources/library/interactivities/Train.wgt/i18n/Messages_fr.properties
@@ -1,11 +1,11 @@
fr.njin.i18n.document.title = Le train
-fr.njin.i18n.toolbar.edit = Editer
-fr.njin.i18n.toolbar.view = Fermer
+fr.njin.i18n.toolbar.edit = Modifier
+fr.njin.i18n.toolbar.view = Afficher
fr.njin.i18n.toolbar.reload = Recharger
fr.njin.i18n.toolbar.help = Aide
-fr.njin.i18n.parameters.label.themes = Thème
+fr.njin.i18n.parameters.label.themes = Thèmes
fr.njin.i18n.parameters.label.slate.themes = ardoise
fr.njin.i18n.parameters.label.pad.themes = tablette
fr.njin.i18n.parameters.label.none.themes = aucun
diff --git a/resources/library/interactivities/Transformation.wgt/i18n/Messages_fr.properties b/resources/library/interactivities/Transformation.wgt/i18n/Messages_fr.properties
index a1de3815..19e73785 100644
--- a/resources/library/interactivities/Transformation.wgt/i18n/Messages_fr.properties
+++ b/resources/library/interactivities/Transformation.wgt/i18n/Messages_fr.properties
@@ -1,11 +1,11 @@
fr.njin.i18n.document.title = Boîte à transformation
-fr.njin.i18n.toolbar.edit = Editer
-fr.njin.i18n.toolbar.view = Fermer
+fr.njin.i18n.toolbar.edit = Modifier
+fr.njin.i18n.toolbar.view = Afficher
fr.njin.i18n.toolbar.reload = Recharger
fr.njin.i18n.toolbar.help = Aide
-fr.njin.i18n.parameters.label.themes = Thème
+fr.njin.i18n.parameters.label.themes = Thèmes
fr.njin.i18n.parameters.label.slate.themes = ardoise
fr.njin.i18n.parameters.label.pad.themes = tablette
fr.njin.i18n.parameters.label.none.themes = aucun
diff --git a/src/adaptors/UBCFFSubsetAdaptor.cpp b/src/adaptors/UBCFFSubsetAdaptor.cpp
index 7eb667b5..87c83cc4 100644
--- a/src/adaptors/UBCFFSubsetAdaptor.cpp
+++ b/src/adaptors/UBCFFSubsetAdaptor.cpp
@@ -174,9 +174,7 @@ bool UBCFFSubsetAdaptor::UBCFFSubsetReader::parseGSection(const QDomElement &ele
QDomElement currentSvgElement = element.firstChildElement();
while (!currentSvgElement.isNull()) {
- if (!parseSvgElement(currentSvgElement))
- return false;
-
+ parseSvgElement(currentSvgElement);
currentSvgElement = currentSvgElement.nextSiblingElement();
}
@@ -187,8 +185,8 @@ bool UBCFFSubsetAdaptor::UBCFFSubsetReader::parseGSection(const QDomElement &ele
else
{
delete mGSectionContainer;
- mGSectionContainer = NULL;
}
+ mGSectionContainer = NULL;
return true;
}
@@ -1189,8 +1187,6 @@ bool UBCFFSubsetAdaptor::UBCFFSubsetReader::persistScenes()
UBGraphicsScene *tmpScene = UBSvgSubsetAdaptor::loadScene(mProxy, i);
tmpScene->setModified(true);
UBThumbnailAdaptor::persistScene(mProxy, tmpScene, i);
- delete tmpScene;
-
mCurrentScene->setModified(false);
}
diff --git a/src/api/UBWidgetUniboardAPI.cpp b/src/api/UBWidgetUniboardAPI.cpp
index 0e2a54f1..b86e7aa1 100644
--- a/src/api/UBWidgetUniboardAPI.cpp
+++ b/src/api/UBWidgetUniboardAPI.cpp
@@ -250,7 +250,7 @@ void UBWidgetUniboardAPI::eraseLineTo(const qreal x, const qreal y, const qreal
void UBWidgetUniboardAPI::clear()
{
if (mScene)
- mScene->clearItemsAndAnnotations();
+ mScene->clearContent(UBGraphicsScene::clearItemsAndAnnotations);
}
diff --git a/src/board/UBBoardController.cpp b/src/board/UBBoardController.cpp
index ea9e4f12..e83414f7 100644
--- a/src/board/UBBoardController.cpp
+++ b/src/board/UBBoardController.cpp
@@ -558,11 +558,10 @@ void UBBoardController::duplicateItem(UBItem *item)
UBMimeType::Enum itemMimeType;
QString contentTypeHeader = UBFileSystemUtils::mimeTypeFromFileName(item->sourceUrl().toLocalFile());
- if(NULL != qgraphicsitem_cast(commonItem)){
- itemMimeType = UBMimeType::Group;
- }else{
- itemMimeType = UBFileSystemUtils::mimeTypeFromString(contentTypeHeader);
- }
+ if(NULL != qgraphicsitem_cast(commonItem))
+ itemMimeType = UBMimeType::Group;
+ else
+ itemMimeType = UBFileSystemUtils::mimeTypeFromString(contentTypeHeader);
switch(static_cast(itemMimeType))
{
@@ -646,8 +645,7 @@ void UBBoardController::duplicateItem(UBItem *item)
{
mActiveScene->addItem(gitem);
gitem->setPos(itemPos);
- mLastCreatedItem = gitem;
-
+ mLastCreatedItem = gitem;
gitem->setSelected(true);
}
return;
@@ -696,7 +694,7 @@ void UBBoardController::clearScene()
if (mActiveScene)
{
freezeW3CWidgets(true);
- mActiveScene->clearItemsAndAnnotations();
+ mActiveScene->clearContent(UBGraphicsScene::clearItemsAndAnnotations);
updateActionStates();
}
}
@@ -707,7 +705,7 @@ void UBBoardController::clearSceneItems()
if (mActiveScene)
{
freezeW3CWidgets(true);
- mActiveScene->clearItems();
+ mActiveScene->clearContent(UBGraphicsScene::clearItems);
updateActionStates();
}
}
@@ -717,7 +715,7 @@ void UBBoardController::clearSceneAnnotation()
{
if (mActiveScene)
{
- mActiveScene->clearAnnotations();
+ mActiveScene->clearContent(UBGraphicsScene::clearAnnotations);
updateActionStates();
}
}
@@ -726,7 +724,7 @@ void UBBoardController::clearSceneBackground()
{
if (mActiveScene)
{
- mActiveScene->clearBackground();
+ mActiveScene->clearContent(UBGraphicsScene::clearBackground);
updateActionStates();
}
}
@@ -1495,11 +1493,12 @@ void UBBoardController::ClearUndoStack()
UBGraphicsItemUndoCommand *cmd = (UBGraphicsItemUndoCommand*)UBApplication::undoStack->command(i);
// go through all added and removed objects, for create list of unique objects
+ // grouped items will be deleted by groups, so we don't need do delete that items.
QSetIterator itAdded(cmd->GetAddedList());
while (itAdded.hasNext())
{
QGraphicsItem* item = itAdded.next();
- if( !uniqueItems.contains(item) )
+ if( !uniqueItems.contains(item) && !(item->parentItem() && UBGraphicsGroupContainerItem::Type == item->parentItem()->type()))
uniqueItems.insert(item);
}
@@ -1507,7 +1506,7 @@ void UBBoardController::ClearUndoStack()
while (itRemoved.hasNext())
{
QGraphicsItem* item = itRemoved.next();
- if( !uniqueItems.contains(item) )
+ if( !uniqueItems.contains(item) && !(item->parentItem() && UBGraphicsGroupContainerItem::Type == item->parentItem()->type()))
uniqueItems.insert(item);
}
}
@@ -1528,7 +1527,8 @@ void UBBoardController::ClearUndoStack()
}
if(!scene)
{
- mActiveScene->deleteItem(item);
+ if (!mActiveScene->deleteItem(item))
+ delete item;
}
}
@@ -1562,7 +1562,6 @@ void UBBoardController::changeBackground(bool isDark, bool isCrossed)
}
}
-
void UBBoardController::boardViewResized(QResizeEvent* event)
{
Q_UNUSED(event);
diff --git a/src/board/UBBoardView.cpp b/src/board/UBBoardView.cpp
index ed75f550..5500ec9b 100644
--- a/src/board/UBBoardView.cpp
+++ b/src/board/UBBoardView.cpp
@@ -528,6 +528,8 @@ Here we determines cases when items should to get mouse press event at pressing
return true;
case DelegateButton::Type:
+ return true;
+
case UBGraphicsMediaItem::Type:
return false;
@@ -1123,6 +1125,7 @@ UBBoardView::mouseReleaseEvent (QMouseEvent *event)
else
{
if (isUBItem(movingItem) &&
+ DelegateButton::Type != movingItem->type() &&
QGraphicsSvgItem::Type != movingItem->type() &&
UBGraphicsDelegateFrame::Type != movingItem->type() &&
UBToolWidget::Type != movingItem->type() &&
diff --git a/src/core/UBApplication.cpp b/src/core/UBApplication.cpp
index d3aed832..94f0710e 100644
--- a/src/core/UBApplication.cpp
+++ b/src/core/UBApplication.cpp
@@ -139,15 +139,7 @@ UBApplication::UBApplication(const QString &id, int &argc, char **argv) : QtSing
UBSettings *settings = UBSettings::settings();
- QString forcedLanguage("");
- if(args.contains("-lang"))
- forcedLanguage=args.at(args.indexOf("-lang") + 1);
- else{
- QString setLanguage = settings->appPreferredLanguage->get().toString();
- if(!setLanguage.isEmpty())
- forcedLanguage = setLanguage;
- }
- setupTranslator(forcedLanguage);
+ setupTranslators(args);
connect(settings->appToolBarPositionedAtTop, SIGNAL(changed(QVariant)), this, SLOT(toolBarPositionChanged(QVariant)));
connect(settings->appToolBarDisplayText, SIGNAL(changed(QVariant)), this, SLOT(toolBarDisplayTextChanged(QVariant)));
@@ -207,45 +199,71 @@ UBApplication::~UBApplication()
staticMemoryCleaner = 0;
}
-void UBApplication::setupTranslator(QString forcedLanguage)
+QString UBApplication::checkLanguageAvailabilityForSankore(QString &language)
{
- QStringList availablesTranslations = UBPlatformUtils::availableTranslations();
- QString language("");
- if(!forcedLanguage.isEmpty()){
- if(availablesTranslations.contains(forcedLanguage,Qt::CaseInsensitive))
- language = forcedLanguage;
- else
- qDebug() << "forced language " << forcedLanguage << " not available";
- }
- else{
- QString systemLanguage = UBPlatformUtils::systemLanguage();
- if(availablesTranslations.contains(systemLanguage,Qt::CaseInsensitive))
- language = systemLanguage;
- else
- qDebug() << "translation for system language " << systemLanguage << " not found";
- }
-
- if(language.isEmpty()){
- language = "en_US";
- //fallback if no translation are available
- }
- else{
- mApplicationTranslator = new QTranslator(this);
- mQtGuiTranslator = new QTranslator(this);
+ QStringList availableTranslations = UBPlatformUtils::availableTranslations();
+ if(availableTranslations.contains(language,Qt::CaseInsensitive))
+ return language;
+ else{
+ if(language.length() > 2){
+ QString shortLanguageCode = language.left(2);
+ if(availableTranslations.contains(shortLanguageCode,Qt::CaseInsensitive))
+ return shortLanguageCode;
+ }
+ }
+ return QString("");
+}
+
+void UBApplication::setupTranslators(QStringList args)
+{
+ QString forcedLanguage;
+ if(args.contains("-lang"))
+ forcedLanguage=args.at(args.indexOf("-lang") + 1);
+ else{
+ QString setLanguage = UBSettings::settings()->appPreferredLanguage->get().toString();
+ if(!setLanguage.isEmpty())
+ forcedLanguage = setLanguage;
+ }
+
+ QStringList availablesTranslations = UBPlatformUtils::availableTranslations();
+ QString language("");
+
+ if(!forcedLanguage.isEmpty())
+ language = checkLanguageAvailabilityForSankore(forcedLanguage);
+
+ if(language.isEmpty()){
+ QString systemLanguage = UBPlatformUtils::systemLanguage();
+ language = checkLanguageAvailabilityForSankore(systemLanguage);
+ }
+
+ if(language.isEmpty()){
+ language = "en_US";
+ //fallback if no translation are available
+ }
+ else{
+ mApplicationTranslator = new QTranslator(this);
+ mQtGuiTranslator = new QTranslator(this);
mApplicationTranslator->load(UBPlatformUtils::translationPath(QString("sankore_"),language));
- installTranslator(mApplicationTranslator);
+ installTranslator(mApplicationTranslator);
+
+ QString qtGuiTranslationPath = UBPlatformUtils::translationPath("qt_", language);
- mQtGuiTranslator->load(UBPlatformUtils::translationPath(QString("qt_"),language));
- if(!mQtGuiTranslator->isEmpty()){
- // checked because this translation could be not available
- installTranslator(mQtGuiTranslator);
- }
- else
- qDebug() << "Qt gui translation in " << language << " are not available";
- }
+ if(!QFile(qtGuiTranslationPath).exists()){
+ qtGuiTranslationPath = UBPlatformUtils::translationPath("qt_", language.left(2));
+ if(!QFile(qtGuiTranslationPath).exists())
+ qtGuiTranslationPath = "";
+ }
+ if(!qtGuiTranslationPath.isEmpty()){
+ qDebug() << "qtGuiTranslationPath " << qtGuiTranslationPath;
+ mQtGuiTranslator->load(qtGuiTranslationPath);
+ installTranslator(mQtGuiTranslator);
+ }
+ else
+ qDebug() << "Qt gui translation in " << language << " is not available";
+ }
QLocale::setDefault(QLocale(language));
qDebug() << "Running application in:" << language;
diff --git a/src/core/UBApplication.h b/src/core/UBApplication.h
index b4060d54..b08fdcee 100644
--- a/src/core/UBApplication.h
+++ b/src/core/UBApplication.h
@@ -119,10 +119,10 @@ class UBApplication : public QtSingleApplication
private:
void updateProtoActionsState();
- void setupTranslator(QString forcedLanguage);
+ void setupTranslators(QStringList args);
QList mProtoMenus;
bool mIsVerbose;
-
+ QString checkLanguageAvailabilityForSankore(QString& language);
protected:
#if defined(Q_WS_MACX) && !defined(QT_MAC_USE_COCOA)
diff --git a/src/desktop/UBDesktopAnnotationController.cpp b/src/desktop/UBDesktopAnnotationController.cpp
index e86dca46..b95b433d 100644
--- a/src/desktop/UBDesktopAnnotationController.cpp
+++ b/src/desktop/UBDesktopAnnotationController.cpp
@@ -274,7 +274,7 @@ void UBDesktopAnnotationController::eraseDesktopAnnotations()
{
if (mTransparentDrawingScene)
{
- mTransparentDrawingScene->clearAnnotations();
+ mTransparentDrawingScene->clearContent(UBGraphicsScene::clearAnnotations);
}
}
diff --git a/src/document/UBDocumentController.cpp b/src/document/UBDocumentController.cpp
index 4be9ee0f..af8734e6 100755
--- a/src/document/UBDocumentController.cpp
+++ b/src/document/UBDocumentController.cpp
@@ -117,8 +117,11 @@ UBDocumentProxyTreeItem* UBDocumentController::findDocument(UBDocumentProxy* pro
void UBDocumentController::selectDocument(UBDocumentProxy* proxy, bool setAsCurrentDocument)
{
- if (!proxy)
+ if (proxy==NULL)
+ {
+ setDocument(NULL);
return;
+ }
QTreeWidgetItemIterator it(mDocumentUI->documentTreeWidget);
@@ -531,6 +534,153 @@ void UBDocumentController::duplicateSelectedItem()
}
}
+void UBDocumentController::moveDocumentToTrash(UBDocumentGroupTreeItem* groupTi, UBDocumentProxyTreeItem *proxyTi)
+{
+ int index = proxyTi->parent()->indexOfChild(proxyTi);
+ index --;
+
+ if (index >= 0)
+ {
+ if (proxyTi->proxy() == mBoardController->selectedDocument())
+ {
+ selectDocument(((UBDocumentProxyTreeItem*)proxyTi->parent()->child(index))->proxy(), true);
+ }
+ else
+ proxyTi->parent()->child(index)->setSelected(true);
+ }
+ else if (proxyTi->parent()->childCount() > 1)
+ {
+ if (proxyTi->proxy() == mBoardController->selectedDocument())
+ {
+ selectDocument(((UBDocumentProxyTreeItem*)proxyTi->parent()->child(1))->proxy(), true);
+ }
+ else
+ proxyTi->parent()->child(1)->setSelected(true);
+ }
+ else
+ {
+ if (proxyTi->proxy() == mBoardController->selectedDocument())
+ {
+ bool documentFound = false;
+ for (int i = 0; i < mDocumentUI->documentTreeWidget->topLevelItemCount(); i++)
+ {
+ QTreeWidgetItem* item = mDocumentUI->documentTreeWidget->topLevelItem(i);
+ UBDocumentGroupTreeItem* groupItem = dynamic_cast(item);
+ if (!groupItem->isTrashFolder())
+ {
+ for(int j=0; jchildCount(); j++)
+ {
+ if (((UBDocumentProxyTreeItem*)groupItem->child(j))->proxy() != mBoardController->selectedDocument())
+ {
+ selectDocument(((UBDocumentProxyTreeItem*)groupItem->child(0))->proxy(), true);
+ documentFound = true;
+ break;
+ }
+ }
+ }
+ if (documentFound)
+ break;
+ }
+ if (!documentFound)
+ {
+ UBDocumentProxy *document = UBPersistenceManager::persistenceManager()->createDocument(groupTi->groupName());
+ selectDocument(document, true);
+ }
+ }
+ else
+ proxyTi->parent()->setSelected(true);
+ }
+
+ QString oldGroupName = proxyTi->proxy()->metaData(UBSettings::documentGroupName).toString();
+ proxyTi->proxy()->setMetaData(UBSettings::documentGroupName, UBSettings::trashedDocumentGroupNamePrefix + oldGroupName);
+ UBPersistenceManager::persistenceManager()->persistDocumentMetadata(proxyTi->proxy());
+
+ proxyTi->parent()->removeChild(proxyTi);
+ mTrashTi->addChild(proxyTi);
+ proxyTi->setFlags(proxyTi->flags() ^ Qt::ItemIsEditable);
+}
+
+void UBDocumentController::moveFolderToTrash(UBDocumentGroupTreeItem* groupTi)
+{
+ bool changeCurrentDocument = false;
+ for (int i = 0; i < groupTi->childCount(); i++)
+ {
+ UBDocumentProxyTreeItem* proxyTi = dynamic_cast(groupTi->child(i));
+ if (proxyTi && proxyTi->proxy() && proxyTi->proxy() == mBoardController->selectedDocument())
+ {
+ changeCurrentDocument = true;
+ break;
+ }
+ }
+
+ QList toBeDeleted;
+
+ for (int i = 0; i < groupTi->childCount(); i++)
+ {
+ UBDocumentProxyTreeItem* proxyTi = dynamic_cast(groupTi->child(i));
+ if (proxyTi && proxyTi->proxy())
+ toBeDeleted << proxyTi;
+ }
+
+ for (int i = 0; i < toBeDeleted.count(); i++)
+ {
+ UBDocumentProxyTreeItem* proxyTi = toBeDeleted.at(i);
+
+ showMessage(QString("Deleting %1").arg(proxyTi->proxy()->metaData(UBSettings::documentName).toString()));
+ // Move document to trash
+ QString oldGroupName = proxyTi->proxy()->metaData(UBSettings::documentGroupName).toString();
+ proxyTi->proxy()->setMetaData(UBSettings::documentGroupName, UBSettings::trashedDocumentGroupNamePrefix + oldGroupName);
+ UBPersistenceManager::persistenceManager()->persistDocumentMetadata(proxyTi->proxy());
+
+ groupTi->removeChild(proxyTi);
+ mTrashTi->addChild(proxyTi);
+ proxyTi->setFlags(proxyTi->flags() ^ Qt::ItemIsEditable);
+
+ showMessage(QString("%1 deleted").arg(groupTi->groupName()));
+ }
+
+ // dont remove default group
+ if (!groupTi->isDefaultFolder())
+ {
+ int index = mDocumentUI->documentTreeWidget->indexOfTopLevelItem(groupTi);
+
+ if (index >= 0)
+ {
+ mDocumentUI->documentTreeWidget->takeTopLevelItem(index);
+ }
+ }
+
+ if (changeCurrentDocument)
+ {
+ bool documentFound = false;
+ for (int i = 0; i < mDocumentUI->documentTreeWidget->topLevelItemCount(); i++)
+ {
+ QTreeWidgetItem* item = mDocumentUI->documentTreeWidget->topLevelItem(i);
+ UBDocumentGroupTreeItem* groupItem = dynamic_cast(item);
+ if (!groupItem->isTrashFolder() && groupItem != groupTi)
+ {
+ for(int j=0; jchildCount(); j++)
+ {
+ if (((UBDocumentProxyTreeItem*)groupItem->child(j))->proxy() != mBoardController->selectedDocument())
+ {
+ selectDocument(((UBDocumentProxyTreeItem*)groupItem->child(0))->proxy(), true);
+ documentFound = true;
+ break;
+ }
+ }
+ }
+ if (documentFound)
+ break;
+ }
+ if (!documentFound)
+ {
+ UBDocumentProxy *document = UBPersistenceManager::persistenceManager()->createDocument( UBSettings::defaultDocumentGroupName );
+ selectDocument(document, true);
+ }
+ }
+
+ reloadThumbnails();
+}
void UBDocumentController::deleteSelectedItem()
{
@@ -553,79 +703,19 @@ void UBDocumentController::deleteSelectedItem()
{
if (proxyTi->parent() != mTrashTi)
{
- // We have to move document into Trash
- // Select another document for processing
- // This is for Board, where this document can be selected
- int index = proxyTi->parent()->indexOfChild(proxyTi);
- index --;
-
- if (index >= 0)
- {
- if (proxyTi->proxy() == mBoardController->selectedDocument())
- {
- selectDocument(((UBDocumentProxyTreeItem*)proxyTi->parent()->child(index))->proxy(), true);
- }
- else
- proxyTi->parent()->child(index)->setSelected(true);
- }
- else if (proxyTi->parent()->childCount() > 1)
- {
- if (proxyTi->proxy() == mBoardController->selectedDocument())
- {
- selectDocument(((UBDocumentProxyTreeItem*)proxyTi->parent()->child(1))->proxy(), true);
- }
- else
- proxyTi->parent()->child(1)->setSelected(true);
- }
- else
- {
- if (proxyTi->proxy() == mBoardController->selectedDocument())
- {
- bool documentFound = false;
- for (int i = 0; i < mDocumentUI->documentTreeWidget->topLevelItemCount(); i++)
- {
- QTreeWidgetItem* item = mDocumentUI->documentTreeWidget->topLevelItem(i);
- UBDocumentGroupTreeItem* groupItem = dynamic_cast(item);
- if (!groupItem->isTrashFolder())
- {
- for(int j=0; jchildCount(); j++)
- {
- if (((UBDocumentProxyTreeItem*)groupItem->child(j))->proxy() != mBoardController->selectedDocument())
- {
- selectDocument(((UBDocumentProxyTreeItem*)groupItem->child(0))->proxy(), true);
- documentFound = true;
- break;
- }
- }
- }
- if (documentFound)
- break;
- }
- if (!documentFound)
- {
- UBDocumentProxy *document = UBPersistenceManager::persistenceManager()->createDocument(groupTi->groupName());
- selectDocument(document, true);
- }
- }
- else
- proxyTi->parent()->setSelected(true);
- }
-
- QString oldGroupName = proxyTi->proxy()->metaData(UBSettings::documentGroupName).toString();
- proxyTi->proxy()->setMetaData(UBSettings::documentGroupName, UBSettings::trashedDocumentGroupNamePrefix + oldGroupName);
- UBPersistenceManager::persistenceManager()->persistDocumentMetadata(proxyTi->proxy());
-
- proxyTi->parent()->removeChild(proxyTi);
- mTrashTi->addChild(proxyTi);
- proxyTi->setFlags(proxyTi->flags() ^ Qt::ItemIsEditable);
+ moveDocumentToTrash(groupTi, proxyTi);
}
else
{
- // We have to physical delete document
- // No action with selection required - document from Trash cant be selected in Board
-
+ // We have to physically delete document
proxyTi->parent()->removeChild(proxyTi);
UBPersistenceManager::persistenceManager()->deleteDocument(proxyTi->proxy());
+
+ if (mTrashTi->childCount()==0)
+ selectDocument(NULL);
+ else
+ selectDocument(((UBDocumentProxyTreeItem*)mTrashTi->child(0))->proxy());
+ reloadThumbnails();
}
}
}
@@ -666,87 +756,7 @@ void UBDocumentController::deleteSelectedItem()
if(UBApplication::mainWindow->yesNoQuestion(tr("Remove Folder"), tr("Are you sure you want to remove the folder '%1' and all its content?").arg(groupTi->groupName())))
{
QApplication::setOverrideCursor(QCursor(Qt::WaitCursor));
-
- bool changeCurrentDocument = false;
- for (int i = 0; i < groupTi->childCount(); i++)
- {
- UBDocumentProxyTreeItem* proxyTi = dynamic_cast(groupTi->child(i));
- if (proxyTi && proxyTi->proxy() && proxyTi->proxy() == mBoardController->selectedDocument())
- {
- changeCurrentDocument = true;
- break;
- }
- }
-
- QList toBeDeleted;
-
- for (int i = 0; i < groupTi->childCount(); i++)
- {
- UBDocumentProxyTreeItem* proxyTi = dynamic_cast(groupTi->child(i));
- if (proxyTi && proxyTi->proxy())
- toBeDeleted << proxyTi;
- }
-
- for (int i = 0; i < toBeDeleted.count(); i++)
- {
- UBDocumentProxyTreeItem* proxyTi = toBeDeleted.at(i);
-
- showMessage(QString("Deleting %1").arg(proxyTi->proxy()->metaData(UBSettings::documentName).toString()));
- // Move document to trash
- QString oldGroupName = proxyTi->proxy()->metaData(UBSettings::documentGroupName).toString();
- proxyTi->proxy()->setMetaData(UBSettings::documentGroupName, UBSettings::trashedDocumentGroupNamePrefix + oldGroupName);
- UBPersistenceManager::persistenceManager()->persistDocumentMetadata(proxyTi->proxy());
-
- groupTi->removeChild(proxyTi);
- mTrashTi->addChild(proxyTi);
- proxyTi->setFlags(proxyTi->flags() ^ Qt::ItemIsEditable);
-
- showMessage(QString("%1 deleted").arg(groupTi->groupName()));
- }
-
- // dont remove default group
- if (!groupTi->isDefaultFolder())
- {
- int index = mDocumentUI->documentTreeWidget->indexOfTopLevelItem(groupTi);
-
- if (index >= 0)
- {
- mDocumentUI->documentTreeWidget->takeTopLevelItem(index);
- }
- }
-
- if (changeCurrentDocument)
- {
- bool documentFound = false;
- for (int i = 0; i < mDocumentUI->documentTreeWidget->topLevelItemCount(); i++)
- {
- QTreeWidgetItem* item = mDocumentUI->documentTreeWidget->topLevelItem(i);
- UBDocumentGroupTreeItem* groupItem = dynamic_cast(item);
- if (!groupItem->isTrashFolder() && groupItem != groupTi)
- {
- for(int j=0; jchildCount(); j++)
- {
- if (((UBDocumentProxyTreeItem*)groupItem->child(j))->proxy() != mBoardController->selectedDocument())
- {
- selectDocument(((UBDocumentProxyTreeItem*)groupItem->child(0))->proxy(), true);
- documentFound = true;
- break;
- }
- }
- }
- if (documentFound)
- break;
- }
- if (!documentFound)
- {
- UBDocumentProxy *document = UBPersistenceManager::persistenceManager()->createDocument( UBSettings::defaultDocumentGroupName );
- selectDocument(document, true);
- }
- }
-
-
- reloadThumbnails();
-
+ moveFolderToTrash(groupTi);
QApplication::restoreOverrideCursor();
}
}
diff --git a/src/document/UBDocumentController.h b/src/document/UBDocumentController.h
index d27ca0a6..ac8a113f 100644
--- a/src/document/UBDocumentController.h
+++ b/src/document/UBDocumentController.h
@@ -111,6 +111,9 @@ class UBDocumentController : public UBDocumentContainer
bool mToolsPalettePositionned;
UBDocumentGroupTreeItem* mTrashTi;
+ void moveDocumentToTrash(UBDocumentGroupTreeItem* groupTi, UBDocumentProxyTreeItem *proxyTi);
+ void moveFolderToTrash(UBDocumentGroupTreeItem* groupTi);
+
private slots:
void documentZoomSliderValueChanged (int value);
void loadDocumentProxies();
diff --git a/src/domain/UBGraphicsDelegateFrame.cpp b/src/domain/UBGraphicsDelegateFrame.cpp
index a2da072a..de40ab43 100644
--- a/src/domain/UBGraphicsDelegateFrame.cpp
+++ b/src/domain/UBGraphicsDelegateFrame.cpp
@@ -226,7 +226,7 @@ void UBGraphicsDelegateFrame::mousePressEvent(QGraphicsSceneMouseEvent *event)
mInitialTransform = buildTransform();
mCurrentTool = toolFromPos(event->pos());
- setCursorFromAngle(QString(""));
+ setCursorFromAngle(QString::number((int)mAngle % 360));
event->accept();
prepareFramesToMove(getLinkedFrames());
diff --git a/src/domain/UBGraphicsGroupContainerItem.cpp b/src/domain/UBGraphicsGroupContainerItem.cpp
index bed3b219..818eb88e 100644
--- a/src/domain/UBGraphicsGroupContainerItem.cpp
+++ b/src/domain/UBGraphicsGroupContainerItem.cpp
@@ -28,18 +28,12 @@ UBGraphicsGroupContainerItem::UBGraphicsGroupContainerItem(QGraphicsItem *parent
setUuid(QUuid::createUuid());
setData(UBGraphicsItemData::itemLayerType, QVariant(itemLayerType::ObjectItem)); //Necessary to set if we want z value to be assigned correctly
-
-
}
UBGraphicsGroupContainerItem::~UBGraphicsGroupContainerItem()
{
- foreach (QGraphicsItem *item, childItems())
- {
- removeFromGroup(item);
- if (item && item->scene())
- item->scene()->removeItem(item);
- }
+ if (mDelegate)
+ delete mDelegate;
}
void UBGraphicsGroupContainerItem::addToGroup(QGraphicsItem *item)
@@ -83,6 +77,13 @@ void UBGraphicsGroupContainerItem::addToGroup(QGraphicsItem *item)
QTransform newItemTransform(itemTransform);
item->setPos(mapFromItem(item, 0, 0));
+
+ if (item->scene()) {
+ item->scene()->removeItem(item);
+ }
+
+ if (corescene())
+ corescene()->removeItemFromDeletion(item);
item->setParentItem(this);
// removing position from translation component of the new transform
@@ -113,10 +114,12 @@ void UBGraphicsGroupContainerItem::removeFromGroup(QGraphicsItem *item)
{
if (!item) {
qDebug() << "can't specify the item because of the null pointer";
+ return;
}
- UBGraphicsScene *groupScene = scene();
- if (groupScene) {
+ UBCoreGraphicsScene *groupScene = corescene();
+ if (groupScene)
+ {
groupScene->addItemToDeletion(item);
}
@@ -170,9 +173,9 @@ void UBGraphicsGroupContainerItem::paint(QPainter *painter, const QStyleOptionGr
// }
}
-UBGraphicsScene *UBGraphicsGroupContainerItem::scene()
+UBCoreGraphicsScene *UBGraphicsGroupContainerItem::corescene()
{
- UBGraphicsScene *castScene = dynamic_cast(QGraphicsItem::scene());
+ UBCoreGraphicsScene *castScene = dynamic_cast(QGraphicsItem::scene());
return castScene;
}
@@ -218,15 +221,7 @@ void UBGraphicsGroupContainerItem::setUuid(const QUuid &pUuid)
void UBGraphicsGroupContainerItem::destroy() {
- UBGraphicsScene *groupScene = scene();
-
-
foreach (QGraphicsItem *item, childItems()) {
-
- if (groupScene) {
- groupScene->addItemToDeletion(item);
- }
-
pRemoveFromGroup(item);
item->setFlag(QGraphicsItem::ItemIsSelectable, true);
item->setFlag(QGraphicsItem::ItemIsFocusable, true);
@@ -235,6 +230,18 @@ void UBGraphicsGroupContainerItem::destroy() {
remove();
}
+void UBGraphicsGroupContainerItem::clearSource()
+{
+ foreach(QGraphicsItem *child, childItems())
+ {
+ UBGraphicsItem *item = dynamic_cast(child);
+ if (item)
+ {
+ item->clearSource();
+ }
+ }
+}
+
void UBGraphicsGroupContainerItem::mousePressEvent(QGraphicsSceneMouseEvent *event)
{
if (mDelegate->mousePressEvent(event)) {
@@ -327,6 +334,12 @@ void UBGraphicsGroupContainerItem::pRemoveFromGroup(QGraphicsItem *item)
item->setParentItem(newParent);
item->setPos(oldPos);
+ UBGraphicsScene *Scene = dynamic_cast(item->scene());
+ if (Scene)
+ {
+ Scene->addItem(item);
+ }
+
// removing position from translation component of the new transform
if (!item->pos().isNull())
itemTransform *= QTransform::fromTranslate(-item->x(), -item->y());
diff --git a/src/domain/UBGraphicsGroupContainerItem.h b/src/domain/UBGraphicsGroupContainerItem.h
index 535627eb..e8fa77eb 100644
--- a/src/domain/UBGraphicsGroupContainerItem.h
+++ b/src/domain/UBGraphicsGroupContainerItem.h
@@ -4,6 +4,7 @@
#include
#include "domain/UBItem.h"
+#include "frameworks/UBCoreGraphicsScene.h"
class UBGraphicsGroupContainerItem : public QGraphicsItem, public UBItem, public UBGraphicsItem
{
@@ -23,7 +24,7 @@ public:
virtual UBGraphicsItemDelegate* Delegate() const { return mDelegate;}
- virtual UBGraphicsScene* scene();
+ virtual UBCoreGraphicsScene *corescene();
virtual UBGraphicsGroupContainerItem *deepCopy() const;
virtual void copyItemParameters(UBItem *copy) const;
@@ -38,6 +39,8 @@ public:
virtual void setUuid(const QUuid &pUuid);
void destroy();
+ virtual void clearSource();
+
protected:
virtual void mousePressEvent(QGraphicsSceneMouseEvent *event);
virtual void mouseMoveEvent(QGraphicsSceneMouseEvent *event);
diff --git a/src/domain/UBGraphicsItemDelegate.cpp b/src/domain/UBGraphicsItemDelegate.cpp
index 4abeb1a2..d5620d12 100644
--- a/src/domain/UBGraphicsItemDelegate.cpp
+++ b/src/domain/UBGraphicsItemDelegate.cpp
@@ -113,7 +113,6 @@ UBGraphicsItemDelegate::UBGraphicsItemDelegate(QGraphicsItem* pDelegated, QObjec
, mFlippable(false)
, mToolBarUsed(useToolBar)
{
- // NOOP
connect(UBApplication::boardController, SIGNAL(zoomChanged(qreal)), this, SLOT(onZoomChanged()));
}
@@ -167,7 +166,7 @@ void UBGraphicsItemDelegate::init()
UBGraphicsItemDelegate::~UBGraphicsItemDelegate()
{
- qDeleteAll(mButtons);
+ disconnect(UBApplication::boardController, SIGNAL(zoomChanged(qreal)), this, SLOT(onZoomChanged()));
// do not release mMimeData.
// the mMimeData is owned by QDrag since the setMimeData call as specified in the documentation
}
@@ -388,12 +387,25 @@ void UBGraphicsItemDelegate::remove(bool canUndo)
UBGraphicsScene* scene = dynamic_cast(mDelegated->scene());
if (scene)
{
- foreach(DelegateButton* button, mButtons)
- scene->removeItem(button);
+// bool shownOnDisplay = mDelegated->data(UBGraphicsItemData::ItemLayerType).toInt() != UBItemLayerType::Control;
+// showHide(shownOnDisplay);
+// updateFrame();
+// updateButtons();
+ if (mFrame && !mFrame->scene() && mDelegated->scene())
+ {
+ mDelegated->scene()->addItem(mFrame);
+ }
+ mFrame->setAntiScale(mAntiScaleRatio);
+ mFrame->positionHandles();
+ updateButtons(true);
+
+ foreach(DelegateButton* button, mButtons) {
+ scene->removeItem(button);
+ }
scene->removeItem(mFrame);
- /* this is performed because when removing delegated from scene while it contains flash content, segfault happens because of QGraphicsScene::removeItem() */
+ /* this is performed because when removing delegated from scene while it contains flash content, segfault happens because of QGraphicsScene::removeItem() */
UBGraphicsWebView *mDelegated_casted = dynamic_cast(mDelegated);
if (mDelegated_casted)
mDelegated_casted->setHtml(QString());
diff --git a/src/domain/UBGraphicsItemDelegate.h b/src/domain/UBGraphicsItemDelegate.h
index c782c94b..01ef854b 100644
--- a/src/domain/UBGraphicsItemDelegate.h
+++ b/src/domain/UBGraphicsItemDelegate.h
@@ -244,6 +244,7 @@ class UBGraphicsItemDelegate : public QObject
UBGraphicsToolBarItem* getToolBarItem() const { return mToolBarItem; }
qreal antiScaleRatio() const { return mAntiScaleRatio; }
+ virtual void update() {positionHandles();}
signals:
void showOnDisplayChanged(bool shown);
diff --git a/src/domain/UBGraphicsPolygonItem.cpp b/src/domain/UBGraphicsPolygonItem.cpp
index d5b545de..d6448e06 100644
--- a/src/domain/UBGraphicsPolygonItem.cpp
+++ b/src/domain/UBGraphicsPolygonItem.cpp
@@ -142,14 +142,14 @@ QColor UBGraphicsPolygonItem::color() const
UBItem* UBGraphicsPolygonItem::deepCopy() const
-{
- UBGraphicsPolygonItem* copy = new UBGraphicsPolygonItem(polygon(), parentItem());
+{
+ UBGraphicsPolygonItem* copy = new UBGraphicsPolygonItem(polygon(), 0);
+ UBGraphicsStroke *stroke = new UBGraphicsStroke();
+
copyItemParameters(copy);
- copy->mOriginalLine = this->mOriginalLine;
- copy->mOriginalWidth = this->mOriginalWidth;
- copy->mIsNominalLine = this->mIsNominalLine;
+ copy->setStroke(stroke);
return copy;
}
@@ -160,17 +160,15 @@ void UBGraphicsPolygonItem::copyItemParameters(UBItem *copy) const
UBGraphicsPolygonItem *cp = dynamic_cast(copy);
if (cp)
{
- cp->mOriginalLine = QLineF();
- cp->mOriginalWidth = -1;
- cp->mIsNominalLine = false;
+ cp->mOriginalLine = this->mOriginalLine;
+ cp->mOriginalWidth = this->mOriginalWidth;
+ cp->mIsNominalLine = this->mIsNominalLine;
- cp->setStroke(this->stroke());
- cp->setStrokesGroup(this->strokesGroup());
+ cp->setTransform(transform());
cp->setBrush(this->brush());
cp->setPen(this->pen());
cp->mHasAlpha = this->mHasAlpha;
-
cp->setColorOnDarkBackground(this->colorOnDarkBackground());
cp->setColorOnLightBackground(this->colorOnLightBackground());
//cp->setTransform(transform());
diff --git a/src/domain/UBGraphicsScene.cpp b/src/domain/UBGraphicsScene.cpp
index b4cbfc4e..0cdb2ae6 100644
--- a/src/domain/UBGraphicsScene.cpp
+++ b/src/domain/UBGraphicsScene.cpp
@@ -263,7 +263,6 @@ UBGraphicsScene::UBGraphicsScene(UBDocumentProxy* parent)
, mCrossedBackground(false)
, mIsDesktopMode(false)
, mZoomFactor(1)
- , mIsModified(true)
, mBackgroundObject(0)
, mPreviousWidth(0)
, mInputDeviceIsPressed(false)
@@ -305,7 +304,10 @@ UBGraphicsScene::~UBGraphicsScene()
{
if (mCurrentStroke)
if (mCurrentStroke->polygons().empty())
+ {
delete mCurrentStroke;
+ mCurrentStroke = NULL;
+ }
if (mZLayerController)
delete mZLayerController;
@@ -433,6 +435,11 @@ bool UBGraphicsScene::inputDevicePress(const QPointF& scenePos, const qreal& pre
}
}
+ if (mCurrentStroke && mCurrentStroke->polygons().empty()){
+ delete mCurrentStroke;
+ mCurrentStroke = NULL;
+ }
+
return accepted;
}
@@ -474,6 +481,10 @@ bool UBGraphicsScene::inputDeviceMove(const QPointF& scenePos, const qreal& pres
UBCoreGraphicsScene::removeItemFromDeletion(mpLastPolygon);
mAddedItems.remove(mpLastPolygon);
mCurrentStroke->remove(mpLastPolygon);
+ if (mCurrentStroke->polygons().empty()){
+ delete mCurrentStroke;
+ mCurrentStroke = NULL;
+ }
removeItem(mpLastPolygon);
mPreviousPolygonItems.removeAll(mpLastPolygon);
}
@@ -891,25 +902,18 @@ void UBGraphicsScene::recolorAllItems()
view->setViewportUpdateMode(QGraphicsView::NoViewportUpdate);
}
- for(int i = 0; i < mFastAccessItems.size(); i++)
- {
- UBGraphicsPolygonItem *polygonItem = qgraphicsitem_cast (mFastAccessItems.at(i));
-
- if (polygonItem)
- {
- QColor color;
-
- if (mDarkBackground)
- {
- color = polygonItem->colorOnDarkBackground();
- }
- else
- {
- color = polygonItem->colorOnLightBackground();
+ bool currentIslight = isLightBackground();
+ foreach (QGraphicsItem *item, items()) {
+ if (item->type() == UBGraphicsStrokesGroup::Type) {
+ UBGraphicsStrokesGroup *curGroup = static_cast(item);
+ QColor compareColor = curGroup->color(currentIslight ? UBGraphicsStrokesGroup::colorOnDarkBackground
+ : UBGraphicsStrokesGroup::colorOnLightBackground);
+
+ if (curGroup->color() == compareColor) {
+ QColor newColor = curGroup->color(!currentIslight ? UBGraphicsStrokesGroup::colorOnDarkBackground
+ : UBGraphicsStrokesGroup::colorOnLightBackground);
+ curGroup->setColor(newColor);
}
-
- polygonItem->setColor(color);
- continue;
}
}
@@ -1060,116 +1064,72 @@ UBItem* UBGraphicsScene::deepCopy() const
return sceneDeepCopy();
}
-void UBGraphicsScene::clearItemsAndAnnotations()
-{
- deselectAllItems();
-
- QSet emptyList;
- QSet removedItems;
-
- QListIterator itItems(mFastAccessItems);
-
- while (itItems.hasNext())
- {
- QGraphicsItem* item = itItems.next();
-
- if(!mTools.contains(item) && !isBackgroundObject(item))
- {
- removeItem(item);
- removedItems << item;
- }
- }
-
- // force refresh, QT is a bit lazy and take a lot of time (nb item ^2 ?) to trigger repaint
- update(sceneRect());
-
- if (enableUndoRedoStack) { //should be deleted after scene own undo stack implemented
- UBGraphicsItemUndoCommand* uc = new UBGraphicsItemUndoCommand(this, removedItems, emptyList);
- UBApplication::undoStack->push(uc);
- }
-
- setDocumentUpdated();
-}
-
-void UBGraphicsScene::clearItems()
+void UBGraphicsScene::clearContent(clearCase pCase)
{
- deselectAllItems();
-
- QSet emptyList;
QSet removedItems;
- QListIterator itItems(mFastAccessItems);
+ switch (pCase) {
+ case clearBackground :
+ removeItem(mBackgroundObject);
+ removedItems << mBackgroundObject;
+ break;
+
+ case clearItemsAndAnnotations :
+ case clearItems :
+ case clearAnnotations :
+ foreach(QGraphicsItem* item, items()) {
+
+ bool isGroup = item->type() == UBGraphicsGroupContainerItem::Type;
+ bool isStrokesGroup = item->type() == UBGraphicsStrokesGroup::Type;
+
+ UBGraphicsGroupContainerItem *itemGroup = item->parentItem()
+ ? qgraphicsitem_cast(item->parentItem())
+ : 0;
+ UBGraphicsItemDelegate *curDelegate = UBGraphicsItem::Delegate(item);
+ if (!curDelegate) {
+ continue;
+ }
- while (itItems.hasNext())
- {
- QGraphicsItem* item = itItems.next();
+ bool shouldDelete = false;
+ switch (static_cast(pCase)) {
+ case clearAnnotations :
+ shouldDelete = isStrokesGroup;
+ break;
+ case clearItems :
+ shouldDelete = !isGroup && !isBackgroundObject(item) && !isStrokesGroup;
+ break;
+ case clearItemsAndAnnotations:
+ shouldDelete = !isGroup && !isBackgroundObject(item);
+ break;
+ }
- if (!item->parentItem())
- {
- UBGraphicsPolygonItem* pi = qgraphicsitem_cast(item);
+ if(shouldDelete) {
+ if (itemGroup) {
+ itemGroup->removeFromGroup(item);
+ if (itemGroup->childItems().count() == 1) {
+ itemGroup->destroy();
+ }
+ itemGroup->Delegate()->update();
+ }
- if(!pi && !mTools.contains(item) && !isBackgroundObject(item))
- {
- removeItem(item);
+ curDelegate->remove(false);
removedItems << item;
}
}
+ break;
}
// force refresh, QT is a bit lazy and take a lot of time (nb item ^2 ?) to trigger repaint
update(sceneRect());
-
if (enableUndoRedoStack) { //should be deleted after scene own undo stack implemented
- UBGraphicsItemUndoCommand* uc = new UBGraphicsItemUndoCommand(this, removedItems, emptyList);
+ UBGraphicsItemUndoCommand* uc = new UBGraphicsItemUndoCommand(this, removedItems, QSet());
UBApplication::undoStack->push(uc);
}
- setDocumentUpdated();
-}
-
-void UBGraphicsScene::clearAnnotations()
-{
- QSet emptyList;
- QSet removedItems;
-
- QListIterator itItems(mFastAccessItems);
-
- while (itItems.hasNext())
- {
- QGraphicsItem* item = itItems.next();
- UBGraphicsStrokesGroup* pi = qgraphicsitem_cast(item);
- if (pi)
- {
- removeItem(item);
- removedItems << item;
- }
- }
-
- // force refresh, QT is a bit lazy and take a lot of time (nb item ^2 ?) to trigger repaint
- update(sceneRect());
-
-
- if (enableUndoRedoStack) { //should be deleted after scene own undo stack implemented
- UBGraphicsItemUndoCommand* uc = new UBGraphicsItemUndoCommand(this, removedItems, emptyList);
- UBApplication::undoStack->push(uc);
- }
-
- setDocumentUpdated();
-}
-
-void UBGraphicsScene::clearBackground()
-{
- if(mBackgroundObject){
- removeItem(mBackgroundObject);
-
- if (enableUndoRedoStack) { //should be deleted after scene own undo stack implemented
- UBGraphicsItemUndoCommand* uc = new UBGraphicsItemUndoCommand(this, mBackgroundObject, NULL);
- UBApplication::undoStack->push(uc);
- }
+ if (pCase == clearBackground) {
mBackgroundObject = 0;
}
- update(sceneRect());
setDocumentUpdated();
}
@@ -1364,6 +1324,7 @@ UBGraphicsGroupContainerItem *UBGraphicsScene::createGroup(QListtype() == UBGraphicsGroupContainerItem::Type) {
QList childItems = item->childItems();
@@ -1373,13 +1334,14 @@ UBGraphicsGroupContainerItem *UBGraphicsScene::createGroup(QListaddToGroup(chItem);
+ mFastAccessItems.removeAll(chItem);
}
} else {
groupItem->addToGroup(item);
+ mFastAccessItems.removeAll(item);
}
}
- addItem(groupItem);
groupItem->setVisible(true);
groupItem->setFocus();
@@ -1396,6 +1358,15 @@ UBGraphicsGroupContainerItem *UBGraphicsScene::createGroup(QListchildItems().count(); i++)
+ {
+ QGraphicsItem *it = qgraphicsitem_cast(groupItem->childItems().at(i));
+ if (it)
+ {
+ mFastAccessItems.removeAll(it);
+ }
+ }
+
groupItem->setVisible(true);
groupItem->setFocus();
@@ -1564,7 +1535,6 @@ UBGraphicsTextItem *UBGraphicsScene::addTextHtml(const QString &pString, const Q
void UBGraphicsScene::addItem(QGraphicsItem* item)
{
- setModified(true);
UBCoreGraphicsScene::addItem(item);
UBGraphicsItem::assignZValue(item, mZLayerController->generateZLevel(item));
@@ -1577,8 +1547,6 @@ void UBGraphicsScene::addItem(QGraphicsItem* item)
void UBGraphicsScene::addItems(const QSet& items)
{
- setModified(true);
-
foreach(QGraphicsItem* item, items) {
UBCoreGraphicsScene::addItem(item);
UBGraphicsItem::assignZValue(item, mZLayerController->generateZLevel(item));
@@ -1591,7 +1559,7 @@ void UBGraphicsScene::addItems(const QSet& items)
void UBGraphicsScene::removeItem(QGraphicsItem* item)
{
- setModified(true);
+ item->setSelected(false);
UBCoreGraphicsScene::removeItem(item);
UBApplication::boardController->freezeW3CWidget(item, true);
@@ -1603,8 +1571,6 @@ void UBGraphicsScene::removeItem(QGraphicsItem* item)
void UBGraphicsScene::removeItems(const QSet& items)
{
- setModified(true);
-
foreach(QGraphicsItem* item, items)
UBCoreGraphicsScene::removeItem(item);
@@ -1762,7 +1728,6 @@ void UBGraphicsScene::addRuler(QPointF center)
addItem(ruler);
ruler->setVisible(true);
- setModified(true);
}
void UBGraphicsScene::addProtractor(QPointF center)
@@ -1780,7 +1745,6 @@ void UBGraphicsScene::addProtractor(QPointF center)
protractor->moveBy(center.x() - itemSceneCenter.x(), center.y() - itemSceneCenter.y());
protractor->setVisible(true);
- setModified(true);
}
void UBGraphicsScene::addTriangle(QPointF center)
@@ -1798,7 +1762,6 @@ void UBGraphicsScene::addTriangle(QPointF center)
triangle->moveBy(center.x() - itemSceneCenter.x(), center.y() - itemSceneCenter.y());
triangle->setVisible(true);
- setModified(true);
}
void UBGraphicsScene::addMagnifier(UBMagnifierParams params)
@@ -1857,6 +1820,7 @@ void UBGraphicsScene::moveMagnifier()
{
QPoint magnifierPos = QPoint(magniferControlViewWidget->pos().x() + magniferControlViewWidget->size().width() / 2, magniferControlViewWidget->pos().y() + magniferControlViewWidget->size().height() / 2 );
moveMagnifier(magnifierPos, true);
+ setModified(true);
}
}
@@ -1889,6 +1853,7 @@ void UBGraphicsScene::moveMagnifier(QPoint newPos, bool forceGrab)
void UBGraphicsScene::closeMagnifier()
{
DisposeMagnifierQWidgets();
+ setModified(true);
}
void UBGraphicsScene::zoomInMagnifier()
@@ -1906,6 +1871,7 @@ void UBGraphicsScene::zoomOutMagnifier()
{
magniferControlViewWidget->setZoom(magniferControlViewWidget->params.zoom - 0.5);
magniferDisplayViewWidget->setZoom(magniferDisplayViewWidget->params.zoom - 0.5);
+ setModified(true);
}
}
@@ -1917,6 +1883,7 @@ void UBGraphicsScene::resizedMagnifier(qreal newPercent)
magniferControlViewWidget->grabPoint();
magniferDisplayViewWidget->setSize(newPercent);
magniferDisplayViewWidget->grabPoint();
+ setModified(true);
}
}
@@ -1932,7 +1899,6 @@ void UBGraphicsScene::addCompass(QPointF center)
compass->setData(UBGraphicsItemData::ItemLayerType, QVariant(UBItemLayerType::Tool));
compass->setVisible(true);
- setModified(true);
}
void UBGraphicsScene::addCache()
@@ -1962,7 +1928,6 @@ void UBGraphicsScene::addMask(const QPointF ¢er)
curtain->setRect(rect);
curtain->setVisible(true);
curtain->setSelected(true);
- setModified(true);
}
void UBGraphicsScene::setRenderingQuality(UBItem::RenderingQuality pRenderingQuality)
@@ -2212,7 +2177,6 @@ void UBGraphicsScene::keyReleaseEvent(QKeyEvent * keyEvent)
default:
{
- item->setSelected(false);
UBGraphicsItem *ubgi = dynamic_cast(item);
if (0 != ubgi)
ubgi->remove();
@@ -2274,6 +2238,11 @@ void UBGraphicsScene::setToolCursor(int tool)
{
deselectAllItems();
}
+
+ if (mCurrentStroke && mCurrentStroke->polygons().empty()){
+ delete mCurrentStroke;
+ }
+ mCurrentStroke = NULL;
}
void UBGraphicsScene::initStroke(){
diff --git a/src/domain/UBGraphicsScene.h b/src/domain/UBGraphicsScene.h
index 738bd429..0dedb9c1 100644
--- a/src/domain/UBGraphicsScene.h
+++ b/src/domain/UBGraphicsScene.h
@@ -101,6 +101,13 @@ class UBGraphicsScene: public UBCoreGraphicsScene, public UBItem
public:
+ enum clearCase {
+ clearItemsAndAnnotations = 0
+ , clearAnnotations
+ , clearItems
+ , clearBackground
+ };
+
// tmp stub for divide addings scene objects from undo mechanism implementation
void setURStackEnable(bool set = true) {enableUndoRedoStack = set;}
bool isURStackIsEnabled(){ return enableUndoRedoStack;}
@@ -114,10 +121,7 @@ class UBGraphicsScene: public UBCoreGraphicsScene, public UBItem
UBGraphicsScene* sceneDeepCopy() const;
- void clearItemsAndAnnotations();
- void clearItems();
- void clearAnnotations();
- void clearBackground();
+ void clearContent(clearCase pCase = clearItemsAndAnnotations);
bool inputDevicePress(const QPointF& scenePos, const qreal& pressure = 1.0);
bool inputDeviceMove(const QPointF& scenePos, const qreal& pressure = 1.0);
@@ -179,16 +183,6 @@ class UBGraphicsScene: public UBCoreGraphicsScene, public UBItem
bool isEmpty() const;
- bool isModified() const
- {
- return mIsModified;
- }
-
- void setModified(bool pModified)
- {
- mIsModified = pModified;
- }
-
void setDocument(UBDocumentProxy* pDocument);
UBDocumentProxy* document() const
@@ -380,8 +374,6 @@ public slots:
bool mIsDesktopMode;
qreal mZoomFactor;
- bool mIsModified;
-
QGraphicsItem* mBackgroundObject;
QPointF mPreviousPoint;
diff --git a/src/domain/UBGraphicsStrokesGroup.cpp b/src/domain/UBGraphicsStrokesGroup.cpp
index a2360bd9..a55d203e 100644
--- a/src/domain/UBGraphicsStrokesGroup.cpp
+++ b/src/domain/UBGraphicsStrokesGroup.cpp
@@ -32,6 +32,54 @@ void UBGraphicsStrokesGroup::setUuid(const QUuid &pUuid)
UBItem::setUuid(pUuid);
setData(UBGraphicsItemData::ItemUuid, QVariant(pUuid)); //store item uuid inside the QGraphicsItem to fast operations with Items on the scene
}
+void UBGraphicsStrokesGroup::setColor(const QColor &color, colorType pColorType)
+{
+ //TODO Implement common mechanism of managing groups, drop UBGraphicsStroke if it's obsolete
+ //Using casting for the moment
+ foreach (QGraphicsItem *item, childItems()) {
+ if (item->type() == UBGraphicsPolygonItem::Type) {
+ UBGraphicsPolygonItem *curPolygon = static_cast(item);
+
+ switch (pColorType) {
+ case currentColor :
+ curPolygon->setColor(color);
+ break;
+ case colorOnLightBackground :
+ curPolygon->setColorOnLightBackground(color);
+ break;
+ case colorOnDarkBackground :
+ curPolygon->setColorOnDarkBackground(color);
+ break;
+ }
+ }
+ }
+}
+
+QColor UBGraphicsStrokesGroup::color(colorType pColorType) const
+{
+ QColor result;
+
+ foreach (QGraphicsItem *item, childItems()) {
+ if (item->type() == UBGraphicsPolygonItem::Type) {
+ UBGraphicsPolygonItem *curPolygon = static_cast(item);
+
+ switch (pColorType) {
+ case currentColor :
+ result = curPolygon->color();
+ break;
+ case colorOnLightBackground :
+ result = curPolygon->colorOnLightBackground();
+ break;
+ case colorOnDarkBackground :
+ result = curPolygon->colorOnDarkBackground();
+ break;
+ }
+
+ }
+ }
+
+ return result;
+}
void UBGraphicsStrokesGroup::mousePressEvent(QGraphicsSceneMouseEvent *event)
{
@@ -93,9 +141,8 @@ void UBGraphicsStrokesGroup::copyItemParameters(UBItem *copy) const
QGraphicsItem *cp = dynamic_cast(copy);
if(NULL != cp)
{
- cp->setPos(this->pos());
+ cp->setTransform(transform());
- cp->setTransform(this->transform());
cp->setFlag(QGraphicsItem::ItemIsMovable, true);
cp->setFlag(QGraphicsItem::ItemIsSelectable, true);
cp->setData(UBGraphicsItemData::ItemLayerType, this->data(UBGraphicsItemData::ItemLayerType));
diff --git a/src/domain/UBGraphicsStrokesGroup.h b/src/domain/UBGraphicsStrokesGroup.h
index b2310773..2c286d11 100644
--- a/src/domain/UBGraphicsStrokesGroup.h
+++ b/src/domain/UBGraphicsStrokesGroup.h
@@ -11,6 +11,12 @@ class UBGraphicsStrokesGroup : public QObject, public QGraphicsItemGroup, public
{
Q_OBJECT
public:
+ enum colorType {
+ currentColor = 0
+ , colorOnLightBackground
+ , colorOnDarkBackground
+ };
+
UBGraphicsStrokesGroup(QGraphicsItem* parent = 0);
~UBGraphicsStrokesGroup();
virtual UBItem* deepCopy() const;
@@ -23,6 +29,8 @@ public:
return Type;
}
virtual void setUuid(const QUuid &pUuid);
+ void setColor(const QColor &color, colorType pColorType = currentColor);
+ QColor color(colorType pColorType = currentColor) const;
protected:
diff --git a/src/domain/UBGraphicsTextItemDelegate.cpp b/src/domain/UBGraphicsTextItemDelegate.cpp
index 6e7e730e..9f7b5fdb 100644
--- a/src/domain/UBGraphicsTextItemDelegate.cpp
+++ b/src/domain/UBGraphicsTextItemDelegate.cpp
@@ -263,6 +263,11 @@ void UBGraphicsTextItemDelegate::setEditable(bool editable)
mDelegated->setData(UBGraphicsItemData::ItemEditable, QVariant(false));
}
}
+void UBGraphicsTextItemDelegate::remove(bool canUndo)
+{
+ UBGraphicsItemDelegate::remove(canUndo);
+}
+
bool UBGraphicsTextItemDelegate::isEditable()
{
return mDelegated->data(UBGraphicsItemData::ItemEditable).toBool();
@@ -419,8 +424,8 @@ QVariant UBGraphicsTextItemDelegate::itemChange(QGraphicsItem::GraphicsItemChang
QTextCursor c = delegated()->textCursor();
if (c.hasSelection())
{
- c.clearSelection();
- delegated()->setTextCursor(c);
+ c.clearSelection();
+ delegated()->setTextCursor(c);
}
}
}
diff --git a/src/domain/UBGraphicsTextItemDelegate.h b/src/domain/UBGraphicsTextItemDelegate.h
index 26b3ba9b..2cf6f447 100644
--- a/src/domain/UBGraphicsTextItemDelegate.h
+++ b/src/domain/UBGraphicsTextItemDelegate.h
@@ -46,6 +46,7 @@ class UBGraphicsTextItemDelegate : public UBGraphicsItemDelegate
public slots:
void contentsChanged();
virtual void setEditable(bool);
+ virtual void remove(bool canUndo);
protected:
virtual void buildButtons();
diff --git a/src/domain/UBItem.cpp b/src/domain/UBItem.cpp
index 9d999a94..10d3d6ce 100644
--- a/src/domain/UBItem.cpp
+++ b/src/domain/UBItem.cpp
@@ -17,6 +17,15 @@
#include "core/memcheck.h"
+#include "domain/UBGraphicsPixmapItem.h"
+#include "domain/UBGraphicsTextItem.h"
+#include "domain/UBGraphicsSvgItem.h"
+#include "domain/UBGraphicsMediaItem.h"
+#include "domain/UBGraphicsStrokesGroup.h"
+#include "domain/UBGraphicsGroupContainerItem.h"
+#include "domain/UBGraphicsWidgetItem.h"
+#include "tools/UBGraphicsCurtainItem.h"
+
UBItem::UBItem()
: mUuid(QUuid())
, mRenderingQuality(UBItem::RenderingQualityNormal)
@@ -44,3 +53,37 @@ bool UBGraphicsItem::isRotatable(QGraphicsItem *item)
{
return item->data(UBGraphicsItemData::ItemRotatable).toBool();
}
+
+UBGraphicsItemDelegate *UBGraphicsItem::Delegate(QGraphicsItem *pItem)
+{
+ UBGraphicsItemDelegate *result = 0;
+
+ switch (static_cast(pItem->type())) {
+ case UBGraphicsPixmapItem::Type :
+ result = (static_cast(pItem))->Delegate();
+ break;
+ case UBGraphicsTextItem::Type :
+ result = (static_cast(pItem))->Delegate();
+ break;
+ case UBGraphicsSvgItem::Type :
+ result = (static_cast(pItem))->Delegate();
+ break;
+ case UBGraphicsMediaItem::Type:
+ result = (static_cast(pItem))->Delegate();
+ break;
+ case UBGraphicsStrokesGroup::Type :
+ result = (static_cast(pItem))->Delegate();
+ break;
+ case UBGraphicsGroupContainerItem::Type :
+ result = (static_cast(pItem))->Delegate();
+ break;
+ case UBGraphicsWidgetItem::Type :
+ result = (static_cast(pItem))->Delegate();
+ break;
+ case UBGraphicsCurtainItem::Type :
+ result = (static_cast(pItem))->Delegate();
+ break;
+ }
+
+ return result;
+}
diff --git a/src/domain/UBItem.h b/src/domain/UBItem.h
index 99c3e6a6..ca8a0f3b 100644
--- a/src/domain/UBItem.h
+++ b/src/domain/UBItem.h
@@ -108,6 +108,7 @@ public:
static bool isRotatable(QGraphicsItem *item);
static bool isFlippable(QGraphicsItem *item);
+ static UBGraphicsItemDelegate *Delegate(QGraphicsItem *pItem);
virtual UBGraphicsItemDelegate *Delegate() const = 0;
virtual void remove() = 0;
diff --git a/src/frameworks/UBCoreGraphicsScene.cpp b/src/frameworks/UBCoreGraphicsScene.cpp
index fd4948ec..28dd6a9f 100644
--- a/src/frameworks/UBCoreGraphicsScene.cpp
+++ b/src/frameworks/UBCoreGraphicsScene.cpp
@@ -23,6 +23,7 @@
UBCoreGraphicsScene::UBCoreGraphicsScene(QObject * parent)
: QGraphicsScene ( parent )
+ , mIsModified(true)
{
//NOOP
}
@@ -30,27 +31,40 @@ UBCoreGraphicsScene::UBCoreGraphicsScene(QObject * parent)
UBCoreGraphicsScene::~UBCoreGraphicsScene()
{
//we must delete removed items that are no more in any scene
- foreach (const QGraphicsItem* item, mItemsToDelete)
+ //at groups deleting some items can be added to mItemsToDelete, so we need to use iterators.
+ if (mItemsToDelete.count())
{
- if (item->scene() == NULL || item->scene() == this)
+ QSet::iterator it = mItemsToDelete.begin();
+ QGraphicsItem* item = *it;
+ do
{
- delete item;
- }
+ item = *it;
+ if (item && (item->scene() == NULL || item->scene() == this))
+ {
+ mItemsToDelete.remove(*it);
+ delete item;
+ }
+
+ it = mItemsToDelete.begin();
+
+ }while(mItemsToDelete.count());
}
}
void UBCoreGraphicsScene::addItem(QGraphicsItem* item)
{
+ addItemToDeletion(item);
+
if (item->type() == UBGraphicsGroupContainerItem::Type && item->childItems().count()) {
foreach (QGraphicsItem *curItem, item->childItems()) {
removeItemFromDeletion(curItem);
}
}
-
- mItemsToDelete << item;
-
+
if (item->scene() != this)
QGraphicsScene::addItem(item);
+
+ setModified(true);
}
@@ -59,27 +73,17 @@ void UBCoreGraphicsScene::removeItem(QGraphicsItem* item, bool forceDelete)
QGraphicsScene::removeItem(item);
if (forceDelete)
{
- mItemsToDelete.remove(item);
- delete item;
- item = 0;
+ qDebug() << "force delete is " << forceDelete;
+ deleteItem(item);
}
+ setModified(true);
}
bool UBCoreGraphicsScene::deleteItem(QGraphicsItem* item)
{
if(mItemsToDelete.contains(item))
{
- UBGraphicsItem* item_casted = 0;
- switch (item->type())
- {
- case UBGraphicsMediaItem::Type:
- item_casted = dynamic_cast(item);
- break;
- case UBGraphicsW3CWidgetItem::Type:
- item_casted = dynamic_cast(item);
- break;
- }
-
+ UBGraphicsItem *item_casted = dynamic_cast(item);
if (0 != item_casted)
item_casted->clearSource();
diff --git a/src/frameworks/UBCoreGraphicsScene.h b/src/frameworks/UBCoreGraphicsScene.h
index d518db4c..19ed9da9 100644
--- a/src/frameworks/UBCoreGraphicsScene.h
+++ b/src/frameworks/UBCoreGraphicsScene.h
@@ -33,8 +33,21 @@ class UBCoreGraphicsScene : public QGraphicsScene
void removeItemFromDeletion(QGraphicsItem* item);
void addItemToDeletion(QGraphicsItem *item);
+ bool isModified() const
+ {
+ return mIsModified;
+ }
+
+ void setModified(bool pModified)
+ {
+ mIsModified = pModified;
+ }
+
+
private:
QSet mItemsToDelete;
+
+ bool mIsModified;
};
#endif /* UBCOREGRAPHICSSCENE_H_ */
diff --git a/src/frameworks/UBPlatformUtils.h b/src/frameworks/UBPlatformUtils.h
index ebac3995..46acb6f6 100644
--- a/src/frameworks/UBPlatformUtils.h
+++ b/src/frameworks/UBPlatformUtils.h
@@ -171,6 +171,7 @@ class UBPlatformUtils
static int nKeyboardLayouts;
static UBKeyboardLocale** keyboardLayouts;
+
public:
static void init();
static void destroy();
@@ -192,6 +193,10 @@ public:
static UBKeyboardLocale** getKeyboardLayouts(int& nCount);
static QString urlFromClipboard();
static QStringList availableTranslations();
+
+#ifdef Q_WS_MAC
+ static void SetMacLocaleByIdentifier(const QString& id);
+#endif
};
diff --git a/src/frameworks/UBPlatformUtils_mac.mm b/src/frameworks/UBPlatformUtils_mac.mm
index 66191a95..72dcb75c 100644
--- a/src/frameworks/UBPlatformUtils_mac.mm
+++ b/src/frameworks/UBPlatformUtils_mac.mm
@@ -440,6 +440,9 @@ void UBPlatformUtils::initializeKeyboardLayouts()
int count = CFArrayGetCount(kbds);
QList result;
+ qDebug() << "initializeKeyboardLayouts";
+ qDebug() << "Found system locales: " << count;
+
for(int i=0; iKeyboardLocale->get().toInt();
- setInput(locales[nCurrentLocale]);
+ if (nCurrentLocale < 0 || nCurrentLocale >= nLocalesCount)
+ nCurrentLocale = 0;
+ if (locales!=NULL)
+ setInput(locales[nCurrentLocale]);
setContentsMargins( 22, 22, 22, 22 );
diff --git a/src/gui/UBKeyboardPalette_mac.cpp b/src/gui/UBKeyboardPalette_mac.cpp
index 3b179c36..79e48e36 100644
--- a/src/gui/UBKeyboardPalette_mac.cpp
+++ b/src/gui/UBKeyboardPalette_mac.cpp
@@ -57,22 +57,6 @@ void UBKeyboardPalette::createCtrlButtons()
ctrlButtons[8] = new UBLocaleButton(this);
}
-void SetMacLocaleByIdentifier(const QString& id)
-{
- const char * strName = id.toAscii().data();
- CFStringRef iName = CFStringCreateWithCString(NULL, strName, kCFStringEncodingMacRoman );
-
- CFStringRef keys[] = { kTISPropertyInputSourceCategory, kTISPropertyInputSourceID };
- CFStringRef values[] = { kTISCategoryKeyboardInputSource, iName };
- CFDictionaryRef dict = CFDictionaryCreate(NULL, (const void **)keys, (const void **)values, 2, NULL, NULL);
- CFArrayRef kbds = TISCreateInputSourceList(dict, true);
- if (CFArrayGetCount(kbds)!=0)
- {
- TISInputSourceRef klRef = (TISInputSourceRef)CFArrayGetValueAtIndex(kbds, 0);
- if (klRef!=NULL)
- TISSelectInputSource(klRef);
- }
-}
void UBKeyboardPalette::checkLayout()
@@ -107,6 +91,6 @@ void UBKeyboardPalette::onActivated(bool)
void UBKeyboardPalette::onLocaleChanged(UBKeyboardLocale* locale)
{
- SetMacLocaleByIdentifier(locale->id);
+ UBPlatformUtils::SetMacLocaleByIdentifier(locale->id);
}