Commit 88f65224 authored by shibakaneki's avatar shibakaneki

Merge branch 'master' of https://github.com/Sankore/Sankore-3.1

parents 3509b448 bc7523b8
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<teacherGuide> <teacherGuide>
<gradeLevels> <gradeLevels>
<gradeLevel label="" baseLevel="Maternelle"/>
<gradeLevel label="Petite Section (3-4 ans)" baseLevel="Maternelle"/> <gradeLevel label="Petite Section (3-4 ans)" baseLevel="Maternelle"/>
<gradeLevel label="Moyenne Section (4-5 ans)" baseLevel="Maternelle"/> <gradeLevel label="Moyenne Section (4-5 ans)" baseLevel="Maternelle"/>
<gradeLevel label="Grande Section (5-6 ans)" baseLevel="Maternelle"/> <gradeLevel label="Grande Section (5-6 ans)" baseLevel="Maternelle"/>
...@@ -22,6 +23,7 @@ ...@@ -22,6 +23,7 @@
<gradeLevel label="Education Spécialisée" baseLevel="Enseignement Professionnel" /> <gradeLevel label="Education Spécialisée" baseLevel="Enseignement Professionnel" />
</gradeLevels> </gradeLevels>
<subjects baseLevel="Maternelle"> <subjects baseLevel="Maternelle">
<subject label="" />
<subject label="Percevoir, sentir, imaginer, créer" /> <subject label="Percevoir, sentir, imaginer, créer" />
<subject label="Découvrir l'écrit" /> <subject label="Découvrir l'écrit" />
<subject label="S'approprier le langage" /> <subject label="S'approprier le langage" />
...@@ -29,6 +31,7 @@ ...@@ -29,6 +31,7 @@
<subject label="Découvrir le monde" /> <subject label="Découvrir le monde" />
</subjects> </subjects>
<subjects baseLevel="Elémentaire"> <subjects baseLevel="Elémentaire">
<subject label="" />
<subject label="Pratiques artistiques" /> <subject label="Pratiques artistiques" />
<subject label="Pratiques artistiques - arts visuels" /> <subject label="Pratiques artistiques - arts visuels" />
<subject label="Pratiques artistiques - éducation musicale" /> <subject label="Pratiques artistiques - éducation musicale" />
...@@ -50,6 +53,7 @@ ...@@ -50,6 +53,7 @@
<subject label="TUIC" /> <subject label="TUIC" />
</subjects> </subjects>
<subjects baseLevel="Collège"> <subjects baseLevel="Collège">
<subject label="" />
<subject label="Pratiques artistiques" /> <subject label="Pratiques artistiques" />
<subject label="Pratiques artistiques - arts visuels" /> <subject label="Pratiques artistiques - arts visuels" />
<subject label="Pratiques artistiques - éducation musicale" /> <subject label="Pratiques artistiques - éducation musicale" />
...@@ -80,6 +84,7 @@ ...@@ -80,6 +84,7 @@
<subject label="Education aux médias" /> <subject label="Education aux médias" />
</subjects> </subjects>
<subjects baseLevel="Lycée"> <subjects baseLevel="Lycée">
<subject label="" />
<subject label="Enseignements artistiques" /> <subject label="Enseignements artistiques" />
<subject label="Agriculture" /> <subject label="Agriculture" />
<subject label="Arts" /> <subject label="Arts" />
...@@ -125,6 +130,7 @@ ...@@ -125,6 +130,7 @@
<subject label="Philosophie" /> <subject label="Philosophie" />
</subjects> </subjects>
<subjects baseLevel="Enseignement Professionnel"> <subjects baseLevel="Enseignement Professionnel">
<subject label="" />
<subject label="Enseignements artistiques" /> <subject label="Enseignements artistiques" />
<subject label="Agriculture" /> <subject label="Agriculture" />
<subject label="Arts" /> <subject label="Arts" />
...@@ -169,6 +175,7 @@ ...@@ -169,6 +175,7 @@
<subject label="Philosophie" /> <subject label="Philosophie" />
</subjects> </subjects>
<types> <types>
<type label="" />
<type label="Activité : Evaluation/Travail à la maison" /> <type label="Activité : Evaluation/Travail à la maison" />
<type label="Activité : Exercice" /> <type label="Activité : Exercice" />
<type label="Activité : Travaux Pratiques" /> <type label="Activité : Travaux Pratiques" />
......
...@@ -700,11 +700,11 @@ function addContainer(){ ...@@ -700,11 +700,11 @@ function addContainer(){
var close = $("<div class='close_cont'>").appendTo(container); var close = $("<div class='close_cont'>").appendTo(container);
var number = $("<div class='number_cont'>"+ ($(".cont").size() + 1) +"</div>").appendTo(sub_container); var number = $("<div class='number_cont'>"+ ($(".cont").size() + 1) +"</div>").appendTo(sub_container);
var text = $("<div class='text_cont'>").appendTo(sub_container); var text = $("<div class='text_cont'>").appendTo(sub_container);
text.attr("ondragenter", "return false;")
.attr("ondragleave", "$(this).removeClass('gray'); return false;")
.attr("ondragover", "$(this).addClass('gray'); return false;")
.attr("ondrop", "$(this).removeClass('gray'); return onDropAudio(this,event);");
var audio_block = $("<div class='audio_block'>").appendTo(text); var audio_block = $("<div class='audio_block'>").appendTo(text);
audio_block.attr("ondragenter", "return false;")
.attr("ondragleave", "$(this).removeClass('audio_gray'); return false;")
.attr("ondragover", "$(this).addClass('audio_gray'); return false;")
.attr("ondrop", "$(this).removeClass('audio_gray'); return onDropAudio(this,event);");
$("<div class='play'>").appendTo(audio_block); $("<div class='play'>").appendTo(audio_block);
$("<div class='replay'>").appendTo(audio_block); $("<div class='replay'>").appendTo(audio_block);
var source = $("<source/>").attr("src", ""); var source = $("<source/>").attr("src", "");
......
...@@ -685,11 +685,11 @@ function addContainer(){ ...@@ -685,11 +685,11 @@ function addContainer(){
var close = $("<div class='close_cont'>").appendTo(container); var close = $("<div class='close_cont'>").appendTo(container);
var number = $("<div class='number_cont'>"+ ($(".cont").size() + 1) +"</div>").appendTo(sub_container); var number = $("<div class='number_cont'>"+ ($(".cont").size() + 1) +"</div>").appendTo(sub_container);
var text = $("<div class='text_cont'>").appendTo(sub_container); var text = $("<div class='text_cont'>").appendTo(sub_container);
text.attr("ondragenter", "return false;")
.attr("ondragleave", "$(this).removeClass('gray'); return false;")
.attr("ondragover", "$(this).addClass('gray'); return false;")
.attr("ondrop", "$(this).removeClass('gray'); return onDropAudio(this,event);");
var audio_block = $("<div class='audio_block'>").appendTo(text); var audio_block = $("<div class='audio_block'>").appendTo(text);
audio_block.attr("ondragenter", "return false;")
.attr("ondragleave", "$(this).removeClass('audio_gray'); return false;")
.attr("ondragover", "$(this).addClass('audio_gray'); return false;")
.attr("ondrop", "$(this).removeClass('audio_gray'); return onDropAudio(this,event);");
$("<div class='play'>").appendTo(audio_block); $("<div class='play'>").appendTo(audio_block);
$("<div class='replay'>").appendTo(audio_block); $("<div class='replay'>").appendTo(audio_block);
var source = $("<source/>").attr("src", ""); var source = $("<source/>").attr("src", "");
...@@ -850,8 +850,8 @@ function onDropAudio(obj, event) { ...@@ -850,8 +850,8 @@ function onDropAudio(obj, event) {
textData = stringToXML(textData); textData = stringToXML(textData);
var tmp = textData.getElementsByTagName("path")[0].firstChild.textContent; var tmp = textData.getElementsByTagName("path")[0].firstChild.textContent;
var tmp_type = textData.getElementsByTagName("type")[0].firstChild.textContent; var tmp_type = textData.getElementsByTagName("type")[0].firstChild.textContent;
if(tmp_type.substr(0, 5) == "audio"){ if(tmp_type.substr(0, 5) == "audio"){
var audio_block = $(obj).find(".audio_block"); var audio_block = $(obj);
$(obj).find("audio").remove(); $(obj).find("audio").remove();
audio_block.find(":first-child").removeClass("stop").addClass("play"); audio_block.find(":first-child").removeClass("stop").addClass("play");
var source = $("<source/>").attr("src", "../../" + tmp); var source = $("<source/>").attr("src", "../../" + tmp);
......
...@@ -685,11 +685,11 @@ function addContainer(){ ...@@ -685,11 +685,11 @@ function addContainer(){
var close = $("<div class='close_cont'>").appendTo(container); var close = $("<div class='close_cont'>").appendTo(container);
var number = $("<div class='number_cont'>"+ ($(".cont").size() + 1) +"</div>").appendTo(sub_container); var number = $("<div class='number_cont'>"+ ($(".cont").size() + 1) +"</div>").appendTo(sub_container);
var text = $("<div class='text_cont'>").appendTo(sub_container); var text = $("<div class='text_cont'>").appendTo(sub_container);
text.attr("ondragenter", "return false;")
.attr("ondragleave", "$(this).removeClass('gray'); return false;")
.attr("ondragover", "$(this).addClass('gray'); return false;")
.attr("ondrop", "$(this).removeClass('gray'); return onDropAudio(this,event);");
var audio_block = $("<div class='audio_block'>").appendTo(text); var audio_block = $("<div class='audio_block'>").appendTo(text);
audio_block.attr("ondragenter", "return false;")
.attr("ondragleave", "$(this).removeClass('audio_gray'); return false;")
.attr("ondragover", "$(this).addClass('audio_gray'); return false;")
.attr("ondrop", "$(this).removeClass('audio_gray'); return onDropAudio(this,event);");
$("<div class='play'>").appendTo(audio_block); $("<div class='play'>").appendTo(audio_block);
$("<div class='replay'>").appendTo(audio_block); $("<div class='replay'>").appendTo(audio_block);
var source = $("<source/>").attr("src", ""); var source = $("<source/>").attr("src", "");
...@@ -851,7 +851,7 @@ function onDropAudio(obj, event) { ...@@ -851,7 +851,7 @@ function onDropAudio(obj, event) {
var tmp = textData.getElementsByTagName("path")[0].firstChild.textContent; var tmp = textData.getElementsByTagName("path")[0].firstChild.textContent;
var tmp_type = textData.getElementsByTagName("type")[0].firstChild.textContent; var tmp_type = textData.getElementsByTagName("type")[0].firstChild.textContent;
if(tmp_type.substr(0, 5) == "audio"){ if(tmp_type.substr(0, 5) == "audio"){
var audio_block = $(obj).find(".audio_block"); var audio_block = $(obj);
$(obj).find("audio").remove(); $(obj).find("audio").remove();
audio_block.find(":first-child").removeClass("stop").addClass("play"); audio_block.find(":first-child").removeClass("stop").addClass("play");
var source = $("<source/>").attr("src", "../../" + tmp); var source = $("<source/>").attr("src", "../../" + tmp);
......
...@@ -4,6 +4,7 @@ html, body{ ...@@ -4,6 +4,7 @@ html, body{
margin: 0; margin: 0;
padding: 0; padding: 0;
border-radius: 50px; border-radius: 50px;
overflow: hidden;
} }
body{ body{
...@@ -132,13 +133,13 @@ body{ ...@@ -132,13 +133,13 @@ body{
border: 1px solid #ccc; border: 1px solid #ccc;
-moz-box-shadow: #ccc -1px 0 4px; -moz-box-shadow: #ccc -1px 0 4px;
-webkit-box-shadow: #ccc -1px 0 4px; -webkit-box-shadow: #ccc -1px 0 4px;
box-shadow: #ccc -1px 0 4px; box-shadow: #ccc -1px 0 4px;
background-color: white;
} }
.text_block{ .text_block{
display: table; display: table;
text-align: center; text-align: center;
background-color: white;
} }
.audio_block{ .audio_block{
...@@ -317,7 +318,6 @@ body{ ...@@ -317,7 +318,6 @@ body{
#wgt_name{ #wgt_name{
height: 44px; height: 44px;
width: 200px;
margin: 10px 10px 0 10px; margin: 10px 10px 0 10px;
padding: 0; padding: 0;
float: left; float: left;
...@@ -326,9 +326,8 @@ body{ ...@@ -326,9 +326,8 @@ body{
color: #8c5730; color: #8c5730;
} }
#wgt_reload, #wgt_edit, #wgt_display{ #wgt_reload, #wgt_edit, #wgt_display, #wgt_help{
cursor: pointer; cursor: pointer;
width: 80px;
height: 44px; height: 44px;
margin: 10px 10px 0 0; margin: 10px 10px 0 0;
float: right; float: right;
...@@ -338,7 +337,6 @@ body{ ...@@ -338,7 +337,6 @@ body{
} }
#wgt_display{ #wgt_display{
width: 100px;
padding-left: 40px; padding-left: 40px;
background-image: url(../img/slate-edit.png); background-image: url(../img/slate-edit.png);
background-repeat: no-repeat; background-repeat: no-repeat;
...@@ -347,7 +345,6 @@ body{ ...@@ -347,7 +345,6 @@ body{
} }
#wgt_edit{ #wgt_edit{
width: 100px;
padding-left: 40px; padding-left: 40px;
background-image: url(../img/slate-edit.png); background-image: url(../img/slate-edit.png);
background-repeat: no-repeat; background-repeat: no-repeat;
...@@ -439,4 +436,28 @@ body{ ...@@ -439,4 +436,28 @@ body{
background-color: #333 !important; background-color: #333 !important;
color: white !important; color: white !important;
background-image: url(../img/ar_down_white.png) !important; background-image: url(../img/ar_down_white.png) !important;
}
.pad_help{
background-image: url(../img/slate-help-white.png) !important;
}
#wgt_help{
padding-left: 32px;
background-image: url(../img/slate-help.png);
background-repeat: no-repeat;
background-position: top 0;
}
#help{
width: 100%;
height: 100%;
overflow: auto;
display: none;
background-color: #ccc;
padding: 5px;
}
.open{
} }
\ No newline at end of file
...@@ -48,6 +48,7 @@ ...@@ -48,6 +48,7 @@
<td class="b_top_left">&nbsp;</td> <td class="b_top_left">&nbsp;</td>
<td class="b_top_center"> <td class="b_top_center">
<div id="wgt_name"></div> <div id="wgt_name"></div>
<div id="wgt_help"></div>
<div id="wgt_reload"></div> <div id="wgt_reload"></div>
<div id="wgt_display" class="selected"></div> <div id="wgt_display" class="selected"></div>
<div id="wgt_edit"></div> <div id="wgt_edit"></div>
...@@ -63,6 +64,7 @@ ...@@ -63,6 +64,7 @@
<tr> <tr>
<td class="b_center_left">&nbsp;</td> <td class="b_center_left">&nbsp;</td>
<td> <td>
<div id="help"></div>
<div id="data"> <div id="data">
</div> </div>
......
...@@ -13,7 +13,9 @@ var sankoreLang = { ...@@ -13,7 +13,9 @@ var sankoreLang = {
reload: "Reload", reload: "Reload",
slate: "Wood", slate: "Wood",
pad: "Pad", pad: "Pad",
none: "None" none: "None",
help: "Help",
help_content: "This is an example of help content ..."
}; };
//main function //main function
...@@ -23,6 +25,8 @@ function start(){ ...@@ -23,6 +25,8 @@ function start(){
$("#wgt_edit").text(sankoreLang.edit); $("#wgt_edit").text(sankoreLang.edit);
$("#wgt_name").text(sankoreLang.wgt_name); $("#wgt_name").text(sankoreLang.wgt_name);
$("#wgt_reload").text(sankoreLang.reload); $("#wgt_reload").text(sankoreLang.reload);
$("#wgt_help").text(sankoreLang.help);
$("#help").html(sankoreLang.help_content);
$(".style_select option[value='1']").text(sankoreLang.slate); $(".style_select option[value='1']").text(sankoreLang.slate);
$(".style_select option[value='2']").text(sankoreLang.pad); $(".style_select option[value='2']").text(sankoreLang.pad);
$(".style_select option[value='3']").text(sankoreLang.none); $(".style_select option[value='3']").text(sankoreLang.none);
...@@ -50,6 +54,21 @@ function start(){ ...@@ -50,6 +54,21 @@ function start(){
} }
} }
$("#wgt_help").click(function(){
var tmp = $(this);
if($(this).hasClass("open")){
$("#help").slideUp("100", function(){
tmp.removeClass("open");
$("#data").show();
});
} else {
$("#data").hide();
$("#help").slideDown("100", function(){
tmp.addClass("open");
});
}
});
$("#wgt_reload").click(function(){ $("#wgt_reload").click(function(){
if($("#wgt_display").hasClass("selected")){ if($("#wgt_display").hasClass("selected")){
$(".cont").each(function(){ $(".cont").each(function(){
...@@ -252,7 +271,7 @@ function exportData(){ ...@@ -252,7 +271,7 @@ function exportData(){
tmp_block.src = $(this).find("source").attr("src"); tmp_block.src = $(this).find("source").attr("src");
tmp_block.hidden = $(this).parent().find("input:hidden").val(); tmp_block.hidden = $(this).parent().find("input:hidden").val();
tmp_block.type = "audio"; tmp_block.type = "audio";
tmp_block.checked = $(this).find("input:checkbox").attr("checked"); tmp_block.checked = $(this).parent().find("input:checkbox").attr("checked");
} }
if($(this).hasClass("text_block")){ if($(this).hasClass("text_block")){
tmp_block.text = $(this).find(".text_subblock").text(); tmp_block.text = $(this).find(".text_subblock").text();
...@@ -294,7 +313,10 @@ function importData(data){ ...@@ -294,7 +313,10 @@ function importData(data){
var img_block = $("<div class='img_block' style='text-align: center;'></div>").insertBefore(imgs_container.find(".clear")); var img_block = $("<div class='img_block' style='text-align: center;'></div>").insertBefore(imgs_container.find(".clear"));
$("<input type='hidden' value='" + data[i].blocks[j].hidden + "'/>").appendTo(img_block); $("<input type='hidden' value='" + data[i].blocks[j].hidden + "'/>").appendTo(img_block);
$("<input type='checkbox' class='ch_box'/>").attr("checked",(data[i].blocks[j].state == "display")?((data[i].blocks[j].checked == "checked")?true:false):false).appendTo(img_block) $("<input type='checkbox' class='ch_box'/>").attr("checked",(data[i].blocks[j].state == "display")?((data[i].blocks[j].checked == "checked")?true:false):false).appendTo(img_block)
$("<img src=\"" + data[i].blocks[j].src + "\" width='" + data[i].blocks[j].w + "' height='" + data[i].blocks[j].h + "' style=\"display: inline;\"/>").appendTo(img_block); var img = $("<img src=\"" + data[i].blocks[j].src + "\" style=\"display: inline;\"/>").appendTo(img_block);
img.height(data[i].blocks[j].h);
if((120 - data[i].blocks[j].h) > 0)
img.css("margin",(120 - data[i].blocks[j].h)/2 + "px 0");
break; break;
case "audio": case "audio":
var img_tmp = $("<div class='img_block'>").insertBefore(imgs_container.find(".clear")); var img_tmp = $("<div class='img_block'>").insertBefore(imgs_container.find(".clear"));
...@@ -422,6 +444,7 @@ function changeStyle(val){ ...@@ -422,6 +444,7 @@ function changeStyle(val){
$(".b_bottom_left").removeClass("bbl_pad").removeClass("without_back"); $(".b_bottom_left").removeClass("bbl_pad").removeClass("without_back");
$(".b_bottom_center").removeClass("bbc_pad").removeClass("without_back"); $(".b_bottom_center").removeClass("bbc_pad").removeClass("without_back");
$("#wgt_reload").removeClass("pad_color").removeClass("pad_reload"); $("#wgt_reload").removeClass("pad_color").removeClass("pad_reload");
$("#wgt_help").removeClass("pad_color").removeClass("pad_help");
$("#wgt_edit").removeClass("pad_color").removeClass("pad_edit"); $("#wgt_edit").removeClass("pad_color").removeClass("pad_edit");
$("#wgt_display").removeClass("pad_color").removeClass("pad_edit"); $("#wgt_display").removeClass("pad_color").removeClass("pad_edit");
$("#wgt_name").removeClass("pad_color"); $("#wgt_name").removeClass("pad_color");
...@@ -438,6 +461,7 @@ function changeStyle(val){ ...@@ -438,6 +461,7 @@ function changeStyle(val){
$(".b_bottom_left").addClass("bbl_pad").removeClass("without_back"); $(".b_bottom_left").addClass("bbl_pad").removeClass("without_back");
$(".b_bottom_center").addClass("bbc_pad").removeClass("without_back"); $(".b_bottom_center").addClass("bbc_pad").removeClass("without_back");
$("#wgt_reload").addClass("pad_color").addClass("pad_reload"); $("#wgt_reload").addClass("pad_color").addClass("pad_reload");
$("#wgt_help").addClass("pad_color").addClass("pad_help");
$("#wgt_edit").addClass("pad_color").addClass("pad_edit"); $("#wgt_edit").addClass("pad_color").addClass("pad_edit");
$("#wgt_display").addClass("pad_color").addClass("pad_edit"); $("#wgt_display").addClass("pad_color").addClass("pad_edit");
$("#wgt_name").addClass("pad_color"); $("#wgt_name").addClass("pad_color");
...@@ -453,6 +477,7 @@ function changeStyle(val){ ...@@ -453,6 +477,7 @@ function changeStyle(val){
$(".b_bottom_right").addClass("without_back").removeClass("bbr_pad"); $(".b_bottom_right").addClass("without_back").removeClass("bbr_pad");
$(".b_bottom_left").addClass("without_back").removeClass("bbl_pad"); $(".b_bottom_left").addClass("without_back").removeClass("bbl_pad");
$(".b_bottom_center").addClass("without_back").removeClass("bbc_pad"); $(".b_bottom_center").addClass("without_back").removeClass("bbc_pad");
$("#wgt_help").addClass("pad_color").addClass("pad_help");
$("#wgt_reload").addClass("pad_color").addClass("pad_reload"); $("#wgt_reload").addClass("pad_color").addClass("pad_reload");
$("#wgt_edit").addClass("pad_color").addClass("pad_edit"); $("#wgt_edit").addClass("pad_color").addClass("pad_edit");
$("#wgt_display").addClass("pad_color").addClass("pad_edit"); $("#wgt_display").addClass("pad_color").addClass("pad_edit");
...@@ -495,6 +520,8 @@ function onDropTarget(obj, event) { ...@@ -495,6 +520,8 @@ function onDropTarget(obj, event) {
tmp_img.attr("height", "120"); tmp_img.attr("height", "120");
else{ else{
tmp_img.attr("width","120"); tmp_img.attr("width","120");
var h = tmp_img.height();
tmp_img.attr("height",h);
tmp_img.css("margin",(120 - tmp_img.height())/2 + "px 0"); tmp_img.css("margin",(120 - tmp_img.height())/2 + "px 0");
} }
}, 6); }, 6);
......
...@@ -22,6 +22,7 @@ ...@@ -22,6 +22,7 @@
<td class="b_top_left">&nbsp;</td> <td class="b_top_left">&nbsp;</td>
<td class="b_top_center"> <td class="b_top_center">
<div id="wgt_name"></div> <div id="wgt_name"></div>
<div id="wgt_help"></div>
<div id="wgt_reload"></div> <div id="wgt_reload"></div>
<div id="wgt_display" class="selected"></div> <div id="wgt_display" class="selected"></div>
<div id="wgt_edit"></div> <div id="wgt_edit"></div>
...@@ -37,6 +38,7 @@ ...@@ -37,6 +38,7 @@
<tr> <tr>
<td class="b_center_left">&nbsp;</td> <td class="b_center_left">&nbsp;</td>
<td> <td>
<div id="help"></div>
<div id="data"> <div id="data">
</div> </div>
......
...@@ -13,7 +13,9 @@ var sankoreLang = { ...@@ -13,7 +13,9 @@ var sankoreLang = {
reload: "Recharger", reload: "Recharger",
slate: "ardoise", slate: "ardoise",
pad: "tablette", pad: "tablette",
none: "aucun" none: "aucun",
help: "aide",
help_content: "Ceci est un exemple de contenu de l'aide ..."
}; };
//main function //main function
...@@ -23,6 +25,8 @@ function start(){ ...@@ -23,6 +25,8 @@ function start(){
$("#wgt_edit").text(sankoreLang.edit); $("#wgt_edit").text(sankoreLang.edit);
$("#wgt_name").text(sankoreLang.wgt_name); $("#wgt_name").text(sankoreLang.wgt_name);
$("#wgt_reload").text(sankoreLang.reload); $("#wgt_reload").text(sankoreLang.reload);
$("#wgt_help").text(sankoreLang.help);
$("#help").html(sankoreLang.help_content);
$(".style_select option[value='1']").text(sankoreLang.slate); $(".style_select option[value='1']").text(sankoreLang.slate);
$(".style_select option[value='2']").text(sankoreLang.pad); $(".style_select option[value='2']").text(sankoreLang.pad);
$(".style_select option[value='3']").text(sankoreLang.none); $(".style_select option[value='3']").text(sankoreLang.none);
...@@ -50,8 +54,33 @@ function start(){ ...@@ -50,8 +54,33 @@ function start(){
} }
} }
$("#wgt_help").click(function(){
var tmp = $(this);
if($(this).hasClass("open")){
$("#help").slideUp("100", function(){
tmp.removeClass("open");
$("#data").show();
});
} else {
$("#data").hide();
$("#help").slideDown("100", function(){
tmp.addClass("open");
});
}
});
$("#wgt_reload").click(function(){ $("#wgt_reload").click(function(){
window.location.reload(); if($("#wgt_display").hasClass("selected")){
$(".cont").each(function(){
var container = $(this);
container.find(".img_block, .text_block").each(function(){
$(this).find("input:checkbox").removeAttr("checked");
$(this).find("input:checkbox").parent().parent().removeClass("right");
});
});
}
else
$("#wgt_display").trigger("click");
}); });
$(".style_select").change(function (event){ $(".style_select").change(function (event){
...@@ -149,31 +178,31 @@ function start(){ ...@@ -149,31 +178,31 @@ function start(){
if($(this).is(":checked")) if($(this).is(":checked"))
$(this).parent().find("input:hidden").val(1); $(this).parent().find("input:hidden").val(1);
else else
$(this).parent().find("input:hidden").val(0); $(this).parent().find("input:hidden").val(0);
} }
}); });
//play/pause event //play/pause event
$(".play, .stop").live("click", function(){ $(".play, .stop").live("click", function(){
var tmp_audio = $(this); var tmp_audio = $(this);
var audio = tmp_audio.parent().find("audio").get(0); var audio = tmp_audio.parent().find("audio").get(0);
if($(this).hasClass("play")){ if($(this).hasClass("play")){
if(tmp_audio.parent().find("source").attr("src")){ if(tmp_audio.parent().find("source").attr("src")){
tmp_audio.removeClass("play").addClass("stop"); tmp_audio.removeClass("play").addClass("stop");
var id = setInterval(function(){ var id = setInterval(function(){
if(audio.currentTime == audio.duration){ if(audio.currentTime == audio.duration){
clearInterval(id); clearInterval(id);
tmp_audio.removeClass("stop").addClass("play"); tmp_audio.removeClass("stop").addClass("play");
} }
}, 10); }, 10);
tmp_audio.parent().find("input").val(id); tmp_audio.parent().find("input").val(id);
audio.play(); audio.play();
} }
} else { } else {
$(this).removeClass("stop").addClass("play"); $(this).removeClass("stop").addClass("play");
clearInterval( tmp_audio.parent().find("input").val()) clearInterval( tmp_audio.parent().find("input").val())
audio.pause(); audio.pause();
} }
}); });
$(".replay").live("click", function(){ $(".replay").live("click", function(){
...@@ -240,7 +269,7 @@ function exportData(){ ...@@ -240,7 +269,7 @@ function exportData(){
tmp_block.src = $(this).find("source").attr("src").replace("../../",""); tmp_block.src = $(this).find("source").attr("src").replace("../../","");
tmp_block.hidden = $(this).parent().find("input:hidden").val(); tmp_block.hidden = $(this).parent().find("input:hidden").val();
tmp_block.type = "audio"; tmp_block.type = "audio";
tmp_block.checked = $(this).find("input:checkbox").attr("checked"); tmp_block.checked = $(this).parent().find("input:checkbox").attr("checked");
} }
if($(this).hasClass("text_block")){ if($(this).hasClass("text_block")){
tmp_block.text = $(this).find(".text_subblock").text(); tmp_block.text = $(this).find(".text_subblock").text();
...@@ -282,7 +311,10 @@ function importData(data){ ...@@ -282,7 +311,10 @@ function importData(data){
var img_block = $("<div class='img_block' style='text-align: center;'></div>").insertBefore(imgs_container.find(".clear")); var img_block = $("<div class='img_block' style='text-align: center;'></div>").insertBefore(imgs_container.find(".clear"));
$("<input type='hidden' value='" + data[i].blocks[j].hidden + "'/>").appendTo(img_block); $("<input type='hidden' value='" + data[i].blocks[j].hidden + "'/>").appendTo(img_block);
$("<input type='checkbox' class='ch_box'/>").attr("checked",(data[i].blocks[j].state == "display")?((data[i].blocks[j].checked == "checked")?true:false):false).appendTo(img_block) $("<input type='checkbox' class='ch_box'/>").attr("checked",(data[i].blocks[j].state == "display")?((data[i].blocks[j].checked == "checked")?true:false):false).appendTo(img_block)
$("<img src=\"../../" + data[i].blocks[j].src + "\" width='" + data[i].blocks[j].w + "' height='" + data[i].blocks[j].h + "' style=\"display: inline;\"/>").appendTo(img_block); var img = $("<img src=\"../../" + data[i].blocks[j].src + "\" style=\"display: inline;\"/>").appendTo(img_block);
img.height(data[i].blocks[j].h);
if((120 - data[i].blocks[j].h) > 0)
img.css("margin",(120 - data[i].blocks[j].h)/2 + "px 0");
break; break;
case "audio": case "audio":
var img_tmp = $("<div class='img_block'>").insertBefore(imgs_container.find(".clear")); var img_tmp = $("<div class='img_block'>").insertBefore(imgs_container.find(".clear"));
...@@ -411,6 +443,7 @@ function changeStyle(val){ ...@@ -411,6 +443,7 @@ function changeStyle(val){
$(".b_bottom_left").removeClass("bbl_pad").removeClass("without_back"); $(".b_bottom_left").removeClass("bbl_pad").removeClass("without_back");
$(".b_bottom_center").removeClass("bbc_pad").removeClass("without_back"); $(".b_bottom_center").removeClass("bbc_pad").removeClass("without_back");
$("#wgt_reload").removeClass("pad_color").removeClass("pad_reload"); $("#wgt_reload").removeClass("pad_color").removeClass("pad_reload");
$("#wgt_help").removeClass("pad_color").removeClass("pad_help");
$("#wgt_edit").removeClass("pad_color").removeClass("pad_edit"); $("#wgt_edit").removeClass("pad_color").removeClass("pad_edit");
$("#wgt_display").removeClass("pad_color").removeClass("pad_edit"); $("#wgt_display").removeClass("pad_color").removeClass("pad_edit");
$("#wgt_name").removeClass("pad_color"); $("#wgt_name").removeClass("pad_color");
...@@ -427,6 +460,7 @@ function changeStyle(val){ ...@@ -427,6 +460,7 @@ function changeStyle(val){
$(".b_bottom_left").addClass("bbl_pad").removeClass("without_back"); $(".b_bottom_left").addClass("bbl_pad").removeClass("without_back");
$(".b_bottom_center").addClass("bbc_pad").removeClass("without_back"); $(".b_bottom_center").addClass("bbc_pad").removeClass("without_back");
$("#wgt_reload").addClass("pad_color").addClass("pad_reload"); $("#wgt_reload").addClass("pad_color").addClass("pad_reload");
$("#wgt_help").addClass("pad_color").addClass("pad_help");
$("#wgt_edit").addClass("pad_color").addClass("pad_edit"); $("#wgt_edit").addClass("pad_color").addClass("pad_edit");
$("#wgt_display").addClass("pad_color").addClass("pad_edit"); $("#wgt_display").addClass("pad_color").addClass("pad_edit");
$("#wgt_name").addClass("pad_color"); $("#wgt_name").addClass("pad_color");
...@@ -442,6 +476,7 @@ function changeStyle(val){ ...@@ -442,6 +476,7 @@ function changeStyle(val){
$(".b_bottom_right").addClass("without_back").removeClass("bbr_pad"); $(".b_bottom_right").addClass("without_back").removeClass("bbr_pad");
$(".b_bottom_left").addClass("without_back").removeClass("bbl_pad"); $(".b_bottom_left").addClass("without_back").removeClass("bbl_pad");
$(".b_bottom_center").addClass("without_back").removeClass("bbc_pad"); $(".b_bottom_center").addClass("without_back").removeClass("bbc_pad");
$("#wgt_help").addClass("pad_color").addClass("pad_help");
$("#wgt_reload").addClass("pad_color").addClass("pad_reload"); $("#wgt_reload").addClass("pad_color").addClass("pad_reload");
$("#wgt_edit").addClass("pad_color").addClass("pad_edit"); $("#wgt_edit").addClass("pad_color").addClass("pad_edit");
$("#wgt_display").addClass("pad_color").addClass("pad_edit"); $("#wgt_display").addClass("pad_color").addClass("pad_edit");
...@@ -484,6 +519,8 @@ function onDropTarget(obj, event) { ...@@ -484,6 +519,8 @@ function onDropTarget(obj, event) {
tmp_img.attr("height", "120"); tmp_img.attr("height", "120");
else{ else{
tmp_img.attr("width","120"); tmp_img.attr("width","120");
var h = tmp_img.height();
tmp_img.attr("height",h);
tmp_img.css("margin",(120 - tmp_img.height())/2 + "px 0"); tmp_img.css("margin",(120 - tmp_img.height())/2 + "px 0");
} }
}, 6); }, 6);
......
...@@ -22,6 +22,7 @@ ...@@ -22,6 +22,7 @@
<td class="b_top_left">&nbsp;</td> <td class="b_top_left">&nbsp;</td>
<td class="b_top_center"> <td class="b_top_center">
<div id="wgt_name"></div> <div id="wgt_name"></div>
<div id="wgt_help"></div>
<div id="wgt_reload"></div> <div id="wgt_reload"></div>
<div id="wgt_display" class="selected"></div> <div id="wgt_display" class="selected"></div>
<div id="wgt_edit"></div> <div id="wgt_edit"></div>
...@@ -37,6 +38,7 @@ ...@@ -37,6 +38,7 @@
<tr> <tr>
<td class="b_center_left">&nbsp;</td> <td class="b_center_left">&nbsp;</td>
<td> <td>
<div id="help"></div>
<div id="data"> <div id="data">
</div> </div>
......
...@@ -13,7 +13,9 @@ var sankoreLang = { ...@@ -13,7 +13,9 @@ var sankoreLang = {
reload: "Обновить", reload: "Обновить",
slate: "Узор", slate: "Узор",
pad: "Планшет", pad: "Планшет",
none: "Нет" none: "Нет",
help: "Помощь",
help_content: "Пример текста помощи ..."
}; };
//main function //main function
...@@ -23,6 +25,8 @@ function start(){ ...@@ -23,6 +25,8 @@ function start(){
$("#wgt_edit").text(sankoreLang.edit); $("#wgt_edit").text(sankoreLang.edit);
$("#wgt_name").text(sankoreLang.wgt_name); $("#wgt_name").text(sankoreLang.wgt_name);
$("#wgt_reload").text(sankoreLang.reload); $("#wgt_reload").text(sankoreLang.reload);
$("#wgt_help").text(sankoreLang.help);
$("#help").html(sankoreLang.help_content);
$(".style_select option[value='1']").text(sankoreLang.slate); $(".style_select option[value='1']").text(sankoreLang.slate);
$(".style_select option[value='2']").text(sankoreLang.pad); $(".style_select option[value='2']").text(sankoreLang.pad);
$(".style_select option[value='3']").text(sankoreLang.none); $(".style_select option[value='3']").text(sankoreLang.none);
...@@ -50,8 +54,33 @@ function start(){ ...@@ -50,8 +54,33 @@ function start(){
} }
} }
$("#wgt_help").click(function(){
var tmp = $(this);
if($(this).hasClass("open")){
$("#help").slideUp("100", function(){
tmp.removeClass("open");
$("#data").show();
});
} else {
$("#data").hide();
$("#help").slideDown("100", function(){
tmp.addClass("open");
});
}
});
$("#wgt_reload").click(function(){ $("#wgt_reload").click(function(){
window.location.reload(); if($("#wgt_display").hasClass("selected")){
$(".cont").each(function(){
var container = $(this);
container.find(".img_block, .text_block").each(function(){
$(this).find("input:checkbox").removeAttr("checked");
$(this).find("input:checkbox").parent().parent().removeClass("right");
});
});
}
else
$("#wgt_display").trigger("click");
}); });
$(".style_select").change(function (event){ $(".style_select").change(function (event){
...@@ -149,31 +178,31 @@ function start(){ ...@@ -149,31 +178,31 @@ function start(){
if($(this).is(":checked")) if($(this).is(":checked"))
$(this).parent().find("input:hidden").val(1); $(this).parent().find("input:hidden").val(1);
else else
$(this).parent().find("input:hidden").val(0); $(this).parent().find("input:hidden").val(0);
} }
}); });
//play/pause event //play/pause event
$(".play, .stop").live("click", function(){ $(".play, .stop").live("click", function(){
var tmp_audio = $(this); var tmp_audio = $(this);
var audio = tmp_audio.parent().find("audio").get(0); var audio = tmp_audio.parent().find("audio").get(0);
if($(this).hasClass("play")){ if($(this).hasClass("play")){
if(tmp_audio.parent().find("source").attr("src")){ if(tmp_audio.parent().find("source").attr("src")){
tmp_audio.removeClass("play").addClass("stop"); tmp_audio.removeClass("play").addClass("stop");
var id = setInterval(function(){ var id = setInterval(function(){
if(audio.currentTime == audio.duration){ if(audio.currentTime == audio.duration){
clearInterval(id); clearInterval(id);
tmp_audio.removeClass("stop").addClass("play"); tmp_audio.removeClass("stop").addClass("play");
} }
}, 10); }, 10);
tmp_audio.parent().find("input").val(id); tmp_audio.parent().find("input").val(id);
audio.play(); audio.play();
} }
} else { } else {
$(this).removeClass("stop").addClass("play"); $(this).removeClass("stop").addClass("play");
clearInterval( tmp_audio.parent().find("input").val()) clearInterval( tmp_audio.parent().find("input").val())
audio.pause(); audio.pause();
} }
}); });
$(".replay").live("click", function(){ $(".replay").live("click", function(){
...@@ -209,6 +238,8 @@ function start(){ ...@@ -209,6 +238,8 @@ function start(){
$(".close_img").live("click", function(){ $(".close_img").live("click", function(){
$(this).parent().remove(); $(this).parent().remove();
}); });
} }
//export //export
...@@ -238,7 +269,7 @@ function exportData(){ ...@@ -238,7 +269,7 @@ function exportData(){
tmp_block.src = $(this).find("source").attr("src").replace("../../",""); tmp_block.src = $(this).find("source").attr("src").replace("../../","");
tmp_block.hidden = $(this).parent().find("input:hidden").val(); tmp_block.hidden = $(this).parent().find("input:hidden").val();
tmp_block.type = "audio"; tmp_block.type = "audio";
tmp_block.checked = $(this).find("input:checkbox").attr("checked"); tmp_block.checked = $(this).parent().find("input:checkbox").attr("checked");
} }
if($(this).hasClass("text_block")){ if($(this).hasClass("text_block")){
tmp_block.text = $(this).find(".text_subblock").text(); tmp_block.text = $(this).find(".text_subblock").text();
...@@ -280,7 +311,10 @@ function importData(data){ ...@@ -280,7 +311,10 @@ function importData(data){
var img_block = $("<div class='img_block' style='text-align: center;'></div>").insertBefore(imgs_container.find(".clear")); var img_block = $("<div class='img_block' style='text-align: center;'></div>").insertBefore(imgs_container.find(".clear"));
$("<input type='hidden' value='" + data[i].blocks[j].hidden + "'/>").appendTo(img_block); $("<input type='hidden' value='" + data[i].blocks[j].hidden + "'/>").appendTo(img_block);
$("<input type='checkbox' class='ch_box'/>").attr("checked",(data[i].blocks[j].state == "display")?((data[i].blocks[j].checked == "checked")?true:false):false).appendTo(img_block) $("<input type='checkbox' class='ch_box'/>").attr("checked",(data[i].blocks[j].state == "display")?((data[i].blocks[j].checked == "checked")?true:false):false).appendTo(img_block)
$("<img src=\"../../" + data[i].blocks[j].src + "\" width='" + data[i].blocks[j].w + "' height='" + data[i].blocks[j].h + "' style=\"display: inline;\"/>").appendTo(img_block); var img = $("<img src=\"../../" + data[i].blocks[j].src + "\" style=\"display: inline;\"/>").appendTo(img_block);
img.height(data[i].blocks[j].h);
if((120 - data[i].blocks[j].h) > 0)
img.css("margin",(120 - data[i].blocks[j].h)/2 + "px 0");
break; break;
case "audio": case "audio":
var img_tmp = $("<div class='img_block'>").insertBefore(imgs_container.find(".clear")); var img_tmp = $("<div class='img_block'>").insertBefore(imgs_container.find(".clear"));
...@@ -409,6 +443,7 @@ function changeStyle(val){ ...@@ -409,6 +443,7 @@ function changeStyle(val){
$(".b_bottom_left").removeClass("bbl_pad").removeClass("without_back"); $(".b_bottom_left").removeClass("bbl_pad").removeClass("without_back");
$(".b_bottom_center").removeClass("bbc_pad").removeClass("without_back"); $(".b_bottom_center").removeClass("bbc_pad").removeClass("without_back");
$("#wgt_reload").removeClass("pad_color").removeClass("pad_reload"); $("#wgt_reload").removeClass("pad_color").removeClass("pad_reload");
$("#wgt_help").removeClass("pad_color").removeClass("pad_help");
$("#wgt_edit").removeClass("pad_color").removeClass("pad_edit"); $("#wgt_edit").removeClass("pad_color").removeClass("pad_edit");
$("#wgt_display").removeClass("pad_color").removeClass("pad_edit"); $("#wgt_display").removeClass("pad_color").removeClass("pad_edit");
$("#wgt_name").removeClass("pad_color"); $("#wgt_name").removeClass("pad_color");
...@@ -425,6 +460,7 @@ function changeStyle(val){ ...@@ -425,6 +460,7 @@ function changeStyle(val){
$(".b_bottom_left").addClass("bbl_pad").removeClass("without_back"); $(".b_bottom_left").addClass("bbl_pad").removeClass("without_back");
$(".b_bottom_center").addClass("bbc_pad").removeClass("without_back"); $(".b_bottom_center").addClass("bbc_pad").removeClass("without_back");
$("#wgt_reload").addClass("pad_color").addClass("pad_reload"); $("#wgt_reload").addClass("pad_color").addClass("pad_reload");
$("#wgt_help").addClass("pad_color").addClass("pad_help");
$("#wgt_edit").addClass("pad_color").addClass("pad_edit"); $("#wgt_edit").addClass("pad_color").addClass("pad_edit");
$("#wgt_display").addClass("pad_color").addClass("pad_edit"); $("#wgt_display").addClass("pad_color").addClass("pad_edit");
$("#wgt_name").addClass("pad_color"); $("#wgt_name").addClass("pad_color");
...@@ -440,6 +476,7 @@ function changeStyle(val){ ...@@ -440,6 +476,7 @@ function changeStyle(val){
$(".b_bottom_right").addClass("without_back").removeClass("bbr_pad"); $(".b_bottom_right").addClass("without_back").removeClass("bbr_pad");
$(".b_bottom_left").addClass("without_back").removeClass("bbl_pad"); $(".b_bottom_left").addClass("without_back").removeClass("bbl_pad");
$(".b_bottom_center").addClass("without_back").removeClass("bbc_pad"); $(".b_bottom_center").addClass("without_back").removeClass("bbc_pad");
$("#wgt_help").addClass("pad_color").addClass("pad_help");
$("#wgt_reload").addClass("pad_color").addClass("pad_reload"); $("#wgt_reload").addClass("pad_color").addClass("pad_reload");
$("#wgt_edit").addClass("pad_color").addClass("pad_edit"); $("#wgt_edit").addClass("pad_color").addClass("pad_edit");
$("#wgt_display").addClass("pad_color").addClass("pad_edit"); $("#wgt_display").addClass("pad_color").addClass("pad_edit");
...@@ -482,6 +519,8 @@ function onDropTarget(obj, event) { ...@@ -482,6 +519,8 @@ function onDropTarget(obj, event) {
tmp_img.attr("height", "120"); tmp_img.attr("height", "120");
else{ else{
tmp_img.attr("width","120"); tmp_img.attr("width","120");
var h = tmp_img.height();
tmp_img.attr("height",h);
tmp_img.css("margin",(120 - tmp_img.height())/2 + "px 0"); tmp_img.css("margin",(120 - tmp_img.height())/2 + "px 0");
} }
}, 6); }, 6);
......
...@@ -45,6 +45,7 @@ ...@@ -45,6 +45,7 @@
#include "board/UBBoardView.h" #include "board/UBBoardView.h"
#include "board/UBBoardController.h" #include "board/UBBoardController.h"
#include "board/UBDrawingController.h" #include "board/UBDrawingController.h"
#include "board/UBBoardPaletteManager.h"
#include "frameworks/UBFileSystemUtils.h" #include "frameworks/UBFileSystemUtils.h"
#include "frameworks/UBStringUtils.h" #include "frameworks/UBStringUtils.h"
...@@ -54,6 +55,9 @@ ...@@ -54,6 +55,9 @@
#include "core/UBPersistenceManager.h" #include "core/UBPersistenceManager.h"
#include "core/UBApplication.h" #include "core/UBApplication.h"
#include "gui/UBTeacherGuideWidget.h"
#include "gui/UBDockTeacherGuideWidget.h"
#include "interfaces/IDataStorage.h" #include "interfaces/IDataStorage.h"
#include "document/UBDocumentContainer.h" #include "document/UBDocumentContainer.h"
...@@ -1142,7 +1146,7 @@ void UBSvgSubsetAdaptor::UBSvgSubsetWriter::writeSvgElement() ...@@ -1142,7 +1146,7 @@ void UBSvgSubsetAdaptor::UBSvgSubsetWriter::writeSvgElement()
bool UBSvgSubsetAdaptor::UBSvgSubsetWriter::persistScene(int pageIndex) bool UBSvgSubsetAdaptor::UBSvgSubsetWriter::persistScene(int pageIndex)
{ {
if (mScene->isModified()) if (mScene->isModified() || (UBApplication::boardController->paletteManager()->teacherGuideDockWidget() && UBApplication::boardController->paletteManager()->teacherGuideDockWidget()->teacherGuideWidget()->isModified()))
{ {
//Creating dom structure to store information //Creating dom structure to store information
......
...@@ -38,6 +38,9 @@ ...@@ -38,6 +38,9 @@
#include "gui/UBToolWidget.h" #include "gui/UBToolWidget.h"
#include "gui/UBKeyboardPalette.h" #include "gui/UBKeyboardPalette.h"
#include "gui/UBMagnifer.h" #include "gui/UBMagnifer.h"
#include "gui/UBDockPaletteWidget.h"
#include "gui/UBDockTeacherGuideWidget.h"
#include "gui/UBTeacherGuideWidget.h"
#include "domain/UBGraphicsPixmapItem.h" #include "domain/UBGraphicsPixmapItem.h"
#include "domain/UBGraphicsItemUndoCommand.h" #include "domain/UBGraphicsItemUndoCommand.h"
...@@ -1464,7 +1467,10 @@ void UBBoardController::lastWindowClosed() ...@@ -1464,7 +1467,10 @@ void UBBoardController::lastWindowClosed()
{ {
if (!mCleanupDone) if (!mCleanupDone)
{ {
if (selectedDocument()->pageCount() == 1 && (!mActiveScene || mActiveScene->isEmpty())) bool teacherGuideModified = false;
if(UBApplication::boardController->paletteManager()->teacherGuideDockWidget())
teacherGuideModified = UBApplication::boardController->paletteManager()->teacherGuideDockWidget()->teacherGuideWidget()->isModified();
if (selectedDocument()->pageCount() == 1 && (!mActiveScene || mActiveScene->isEmpty()) && !teacherGuideModified)
{ {
UBPersistenceManager::persistenceManager()->deleteDocument(selectedDocument()); UBPersistenceManager::persistenceManager()->deleteDocument(selectedDocument());
} }
...@@ -1591,7 +1597,7 @@ void UBBoardController::persistCurrentScene() ...@@ -1591,7 +1597,7 @@ void UBBoardController::persistCurrentScene()
if(UBPersistenceManager::persistenceManager() if(UBPersistenceManager::persistenceManager()
&& selectedDocument() && mActiveScene && selectedDocument() && mActiveScene
&& (mActiveSceneIndex >= 0) && (mActiveSceneIndex >= 0)
&& mActiveScene->isModified()) && (mActiveScene->isModified() || (UBApplication::boardController->paletteManager()->teacherGuideDockWidget() && UBApplication::boardController->paletteManager()->teacherGuideDockWidget()->teacherGuideWidget()->isModified())))
{ {
emit activeSceneWillBePersisted(); emit activeSceneWillBePersisted();
......
...@@ -69,6 +69,8 @@ class UBBoardPaletteManager : public QObject ...@@ -69,6 +69,8 @@ class UBBoardPaletteManager : public QObject
void setCurrentWebToolsPalette(UBWebToolsPalette *palette) {mWebToolsCurrentPalette = palette;} void setCurrentWebToolsPalette(UBWebToolsPalette *palette) {mWebToolsCurrentPalette = palette;}
UBWebToolsPalette* mWebToolsCurrentPalette; UBWebToolsPalette* mWebToolsCurrentPalette;
UBDockTeacherGuideWidget* teacherGuideDockWidget() { return mpTeacherGuideWidget;}
void processPalettersWidget(UBDockPalette *paletter, eUBDockPaletteWidgetMode mode); void processPalettersWidget(UBDockPalette *paletter, eUBDockPaletteWidgetMode mode);
void changeMode(eUBDockPaletteWidgetMode newMode, bool isInit = false); void changeMode(eUBDockPaletteWidgetMode newMode, bool isInit = false);
void startDownloads(); void startDownloads();
......
...@@ -40,6 +40,8 @@ ...@@ -40,6 +40,8 @@
#include "gui/UBScreenMirror.h" #include "gui/UBScreenMirror.h"
#include "gui/UBMainWindow.h" #include "gui/UBMainWindow.h"
#include "gui/UBDockTeacherGuideWidget.h"
#include "gui/UBTeacherGuideWidget.h"
#include "domain/UBGraphicsPixmapItem.h" #include "domain/UBGraphicsPixmapItem.h"
#include "domain/UBW3CWidget.h" #include "domain/UBW3CWidget.h"
...@@ -418,7 +420,7 @@ void UBApplicationController::showDocument() ...@@ -418,7 +420,7 @@ void UBApplicationController::showDocument()
if (UBApplication::boardController) if (UBApplication::boardController)
{ {
if (UBApplication::boardController->activeScene()->isModified()) if (UBApplication::boardController->activeScene()->isModified() || (UBApplication::boardController->paletteManager()->teacherGuideDockWidget() && UBApplication::boardController->paletteManager()->teacherGuideDockWidget()->teacherGuideWidget()->isModified()))
UBApplication::boardController->persistCurrentScene(); UBApplication::boardController->persistCurrentScene();
UBApplication::boardController->hide(); UBApplication::boardController->hide();
} }
......
...@@ -25,6 +25,9 @@ ...@@ -25,6 +25,9 @@
#include "core/UBSettings.h" #include "core/UBSettings.h"
#include "core/UBSetting.h" #include "core/UBSetting.h"
#include "gui/UBDockTeacherGuideWidget.h"
#include "gui/UBTeacherGuideWidget.h"
#include "document/UBDocumentProxy.h" #include "document/UBDocumentProxy.h"
#include "adaptors/UBExportPDF.h" #include "adaptors/UBExportPDF.h"
...@@ -33,6 +36,7 @@ ...@@ -33,6 +36,7 @@
#include "adaptors/UBMetadataDcSubsetAdaptor.h" #include "adaptors/UBMetadataDcSubsetAdaptor.h"
#include "board/UBBoardController.h" #include "board/UBBoardController.h"
#include "board/UBBoardPaletteManager.h"
#include "interfaces/IDataStorage.h" #include "interfaces/IDataStorage.h"
...@@ -591,7 +595,6 @@ UBGraphicsScene* UBPersistenceManager::loadDocumentScene(UBDocumentProxy* proxy, ...@@ -591,7 +595,6 @@ UBGraphicsScene* UBPersistenceManager::loadDocumentScene(UBDocumentProxy* proxy,
} }
} }
void UBPersistenceManager::persistDocumentScene(UBDocumentProxy* pDocumentProxy, UBGraphicsScene* pScene, const int pSceneIndex) void UBPersistenceManager::persistDocumentScene(UBDocumentProxy* pDocumentProxy, UBGraphicsScene* pScene, const int pSceneIndex)
{ {
checkIfDocumentRepositoryExists(); checkIfDocumentRepositoryExists();
...@@ -603,10 +606,15 @@ void UBPersistenceManager::persistDocumentScene(UBDocumentProxy* pDocumentProxy, ...@@ -603,10 +606,15 @@ void UBPersistenceManager::persistDocumentScene(UBDocumentProxy* pDocumentProxy,
QDir dir(pDocumentProxy->persistencePath()); QDir dir(pDocumentProxy->persistencePath());
dir.mkpath(pDocumentProxy->persistencePath()); dir.mkpath(pDocumentProxy->persistencePath());
if (pDocumentProxy->isModified()) UBBoardPaletteManager* paletteManager = UBApplication::boardController->paletteManager();
bool teacherGuideModified = false;
if(paletteManager->teacherGuideDockWidget())
teacherGuideModified = paletteManager->teacherGuideDockWidget()->teacherGuideWidget()->isModified();
if (pDocumentProxy->isModified() || teacherGuideModified)
UBMetadataDcSubsetAdaptor::persist(pDocumentProxy); UBMetadataDcSubsetAdaptor::persist(pDocumentProxy);
if (pScene->isModified()) if (pScene->isModified() || teacherGuideModified)
{ {
UBSvgSubsetAdaptor::persistScene(pDocumentProxy, pScene, pSceneIndex); UBSvgSubsetAdaptor::persistScene(pDocumentProxy, pScene, pSceneIndex);
......
...@@ -1624,7 +1624,11 @@ void UBDocumentController::refreshDocumentThumbnailsView(UBDocumentContainer*) ...@@ -1624,7 +1624,11 @@ void UBDocumentController::refreshDocumentThumbnailsView(UBDocumentContainer*)
} }
items << pixmapItem; items << pixmapItem;
labels << tr("Page %1").arg(pageFromSceneIndex(i)); int pageIndex = pageFromSceneIndex(i);
if(pageIndex)
labels << tr("Page %1").arg(pageIndex);
else
labels << tr("Title page");
itemsPath.append(QUrl::fromLocalFile(proxy->persistencePath() + QString("/pages/%1").arg(UBDocumentContainer::pageFromSceneIndex(i)))); itemsPath.append(QUrl::fromLocalFile(proxy->persistencePath() + QString("/pages/%1").arg(UBDocumentContainer::pageFromSceneIndex(i))));
} }
......
...@@ -44,3 +44,8 @@ UBDockTeacherGuideWidget::~UBDockTeacherGuideWidget() ...@@ -44,3 +44,8 @@ UBDockTeacherGuideWidget::~UBDockTeacherGuideWidget()
DELETEPTR(mpTeacherGuideWidget); DELETEPTR(mpTeacherGuideWidget);
DELETEPTR(mpLayout); DELETEPTR(mpLayout);
} }
UBTeacherGuideWidget* UBDockTeacherGuideWidget::teacherGuideWidget()
{
return mpTeacherGuideWidget;
}
...@@ -31,6 +31,8 @@ public: ...@@ -31,6 +31,8 @@ public:
bool visibleInMode(eUBDockPaletteWidgetMode mode){ return mode == eUBDockPaletteWidget_BOARD; } bool visibleInMode(eUBDockPaletteWidgetMode mode){ return mode == eUBDockPaletteWidget_BOARD; }
UBTeacherGuideWidget* teacherGuideWidget();
private: private:
QVBoxLayout* mpLayout; QVBoxLayout* mpLayout;
UBTeacherGuideWidget* mpTeacherGuideWidget; UBTeacherGuideWidget* mpTeacherGuideWidget;
......
...@@ -86,7 +86,9 @@ void UBDocumentNavigator::generateThumbnails(UBDocumentContainer* source) ...@@ -86,7 +86,9 @@ void UBDocumentNavigator::generateThumbnails(UBDocumentContainer* source)
{ {
const QPixmap* pix = source->pageAt(i); const QPixmap* pix = source->pageAt(i);
UBSceneThumbnailNavigPixmap* pixmapItem = new UBSceneThumbnailNavigPixmap(*pix, source->selectedDocument(), i); UBSceneThumbnailNavigPixmap* pixmapItem = new UBSceneThumbnailNavigPixmap(*pix, source->selectedDocument(), i);
UBThumbnailTextItem *labelItem = new UBThumbnailTextItem(tr("Page %0").arg(UBDocumentContainer::pageFromSceneIndex(i))); int pageIndex = UBDocumentContainer::pageFromSceneIndex(i);
QString label = pageIndex == 0 ? tr("Title page") : tr("Page %0").arg(pageIndex);
UBThumbnailTextItem *labelItem = new UBThumbnailTextItem(label);
UBImgTextThumbnailElement thumbWithText(pixmapItem, labelItem); UBImgTextThumbnailElement thumbWithText(pixmapItem, labelItem);
thumbWithText.setBorder(border()); thumbWithText.setBorder(border());
......
...@@ -74,8 +74,6 @@ UBPageNavigationWidget::UBPageNavigationWidget(QWidget *parent, const char *name ...@@ -74,8 +74,6 @@ UBPageNavigationWidget::UBPageNavigationWidget(QWidget *parent, const char *name
mTimeFormat = mTimeFormat.remove(":s"); mTimeFormat = mTimeFormat.remove(":s");
mTimerID = startTimer(1000); mTimerID = startTimer(1000);
//connect(mNavigator, SIGNAL(changeCurrentPage()), this, SLOT(changeCurrentPage()));
//connect(UBApplication::boardController, SIGNAL(setDocOnPageNavigator(UBDocumentProxy*)), this, SLOT(onSetDocOnPageNavigator(UBDocumentProxy*)));
} }
/** /**
......
This diff is collapsed.
...@@ -50,6 +50,8 @@ public: ...@@ -50,6 +50,8 @@ public:
void load(QString element); void load(QString element);
QVector<tIDataStorage*> save(int pageIndex); QVector<tIDataStorage*> save(int pageIndex);
bool isModified();
public slots: public slots:
void onAddItemClicked(QTreeWidgetItem* widget, int column, QDomElement* element = 0); void onAddItemClicked(QTreeWidgetItem* widget, int column, QDomElement* element = 0);
void onActiveSceneChanged(); void onActiveSceneChanged();
...@@ -124,6 +126,7 @@ public: ...@@ -124,6 +126,7 @@ public:
~UBTeacherGuidePageZeroWidget(); ~UBTeacherGuidePageZeroWidget();
QVector<tUBGEElementNode*> getData(); QVector<tUBGEElementNode*> getData();
bool isModified();
public slots: public slots:
...@@ -198,6 +201,8 @@ public: ...@@ -198,6 +201,8 @@ public:
explicit UBTeacherGuideWidget(QWidget* parent = 0, const char* name="UBTeacherGuideWidget"); explicit UBTeacherGuideWidget(QWidget* parent = 0, const char* name="UBTeacherGuideWidget");
~UBTeacherGuideWidget(); ~UBTeacherGuideWidget();
bool isModified();
public slots: public slots:
void changeMode(); void changeMode();
void showPresentationMode(); void showPresentationMode();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment