@ -1,218 +0,0 @@ |
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<teacherGuide> |
||||
<gradeLevels> |
||||
<gradeLevel label="" baseLevel="Maternelle"/> |
||||
<gradeLevel label="Petite Section (3-4 ans)" baseLevel="Maternelle"/> |
||||
<gradeLevel label="Moyenne Section (4-5 ans)" baseLevel="Maternelle"/> |
||||
<gradeLevel label="Grande Section (5-6 ans)" baseLevel="Maternelle"/> |
||||
<gradeLevel label="CP (6-7 ans)" baseLevel="Elémentaire"/> |
||||
<gradeLevel label="CE1 (7-8 ans)" baseLevel="Elémentaire"/> |
||||
<gradeLevel label="CE2 (8-9 ans)" baseLevel="Elémentaire"/> |
||||
<gradeLevel label="CM1 (9-10ans)" baseLevel="Elémentaire"/> |
||||
<gradeLevel label="CM2 (10-11 ans)" baseLevel="Elémentaire"/> |
||||
<gradeLevel label="6ème (11-12 ans)" baseLevel="Collège"/> |
||||
<gradeLevel label="5ème (12-13 ans)" baseLevel="Collège"/> |
||||
<gradeLevel label="4ème (13-14 ans)" baseLevel="Collège"/> |
||||
<gradeLevel label="3ème (14-15 ans)" baseLevel="Collège"/> |
||||
<gradeLevel label="2nde dont CAP/BEP (15-16 ans)" baseLevel="Lycée"/> |
||||
<gradeLevel label="1ère dont CAP/BEP (16-17 ans)" baseLevel="Lycée"/> |
||||
<gradeLevel label="Terminale dont Bac Pro (17-18 ans)" baseLevel="Lycée"/> |
||||
<gradeLevel label="Bac+2 professionnel" baseLevel="Enseignement Professionnel" /> |
||||
<gradeLevel label="Niveau universitaire" baseLevel="Enseignement Professionnel" /> |
||||
<gradeLevel label="Formation continue Professionnelle" baseLevel="Enseignement Professionnel" /> |
||||
<gradeLevel label="Education Spécialisée" baseLevel="Enseignement Professionnel" /> |
||||
</gradeLevels> |
||||
<subjects baseLevel="Maternelle"> |
||||
<subject label="" /> |
||||
<subject label="Percevoir, sentir, imaginer, créer" /> |
||||
<subject label="Découvrir l'écrit" /> |
||||
<subject label="S'approprier le langage" /> |
||||
<subject label="Agir et s'exprimer avec son corps" /> |
||||
<subject label="Découvrir le monde" /> |
||||
</subjects> |
||||
<subjects baseLevel="Elémentaire"> |
||||
<subject label="" /> |
||||
<subject label="Pratiques artistiques" /> |
||||
<subject label="Pratiques artistiques - arts visuels" /> |
||||
<subject label="Pratiques artistiques - éducation musicale" /> |
||||
<subject label="Histoire des arts" /> |
||||
<subject label="Langues vivantes étrangères" /> |
||||
<subject label="Langue nationale français" /> |
||||
<subject label="Langue nationale français - lecture" /> |
||||
<subject label="Langue nationale français - écriture" /> |
||||
<subject label="Langue nationale français - langage oral" /> |
||||
<subject label="Langue nationale français - grammaire" /> |
||||
<subject label="Langue nationale français - orthographe" /> |
||||
<subject label="Langue nationale français - vocabulaire" /> |
||||
<subject label="Mathématiques - informatique" /> |
||||
<subject label="EPS (éducation physique et sportive)" /> |
||||
<subject label="Découverte du monde" /> |
||||
<subject label="Sciences expérimentales et technologie" /> |
||||
<subject label="Instruction civique et morale" /> |
||||
<subject label="Histoire et géographie" /> |
||||
<subject label="TUIC" /> |
||||
</subjects> |
||||
<subjects baseLevel="Collège"> |
||||
<subject label="" /> |
||||
<subject label="Pratiques artistiques" /> |
||||
<subject label="Pratiques artistiques - arts visuels" /> |
||||
<subject label="Pratiques artistiques - éducation musicale" /> |
||||
<subject label="Histoire des arts" /> |
||||
<subject label="Langues vivantes étrangères" /> |
||||
<subject label="Langues vivantes étrangères - anglais" /> |
||||
<subject label="Langues vivantes étrangères - allemand" /> |
||||
<subject label="Langues vivantes étrangères - espagnol" /> |
||||
<subject label="Langues vivantes étrangères - italien" /> |
||||
<subject label="Langues vivantes étrangères - néerlandais" /> |
||||
<subject label="Langues vivantes étrangères - chinois" /> |
||||
<subject label="Langues vivantes étrangères - portugais" /> |
||||
<subject label="Langues vivantes étrangères - russe" /> |
||||
<subject label="Langues vivantes étrangères - arabe" /> |
||||
<subject label="Langues et cultures de l'Antiquité (latin,grec ancien)" /> |
||||
<subject label="Langue nationale français" /> |
||||
<subject label="Mathématiques - informatique" /> |
||||
<subject label="EPS (éducation physique et sportive)" /> |
||||
<subject label="Education à la sécurité" /> |
||||
<subject label="Education à la santé" /> |
||||
<subject label="SVT (sciences de la vie et de la Terre)" /> |
||||
<subject label="Sciences physiques et chimiques" /> |
||||
<subject label="Technologie" /> |
||||
<subject label="Culture scientifique et technique" /> |
||||
<subject label="Histoire - éducation civique" /> |
||||
<subject label="Géographie" /> |
||||
<subject label="EDD (éducation au développement durable)" /> |
||||
<subject label="Education aux médias" /> |
||||
</subjects> |
||||
<subjects baseLevel="Lycée"> |
||||
<subject label="" /> |
||||
<subject label="Enseignements artistiques" /> |
||||
<subject label="Agriculture" /> |
||||
<subject label="Arts" /> |
||||
<subject label="Banque - Assurances - Immobilier" /> |
||||
<subject label="Commerce" /> |
||||
<subject label="Défense publique - Sécurité" /> |
||||
<subject label="Economie - Droit - Sciences politiques" /> |
||||
<subject label="Electricité - Electronique" /> |
||||
<subject label="Environnement - Energies - Aménagement - Propreté" /> |
||||
<subject label="Fonction production - Transport" /> |
||||
<subject label="Formation générale - Lettres et langues - Enseignement" /> |
||||
<subject label="Génie civil - Construction - Architecture" /> |
||||
<subject label="Gestion des entreprises" /> |
||||
<subject label="Hôtellerie - Restauration - Tourisme" /> |
||||
<subject label="Information - Communication" /> |
||||
<subject label="Informatique" /> |
||||
<subject label="Mécanique" /> |
||||
<subject label="Santé - Social - Sport" /> |
||||
<subject label="Sciences" /> |
||||
<subject label="Sciences humaines et sociales" /> |
||||
<subject label="Transformation" /> |
||||
<subject label="Langues et cultures de l'Antiquité (latin,grec ancien)" /> |
||||
<subject label="Langues vivantes étrangères" /> |
||||
<subject label="Langues vivantes étrangères - anglais" /> |
||||
<subject label="Langues vivantes étrangères - allemand" /> |
||||
<subject label="Langues vivantes étrangères - espagnol" /> |
||||
<subject label="Langues vivantes étrangères - italien" /> |
||||
<subject label="Langues vivantes étrangères - néerlandais" /> |
||||
<subject label="Langues vivantes étrangères - chinois" /> |
||||
<subject label="Langues vivantes étrangères - portugais" /> |
||||
<subject label="Langues vivantes étrangères - russe" /> |
||||
<subject label="Langues vivantes étrangères - arabe" /> |
||||
<subject label="Langue nationale français" /> |
||||
<subject label="Mathématiques - informatique" /> |
||||
<subject label="EPS" /> |
||||
<subject label="Physique-chimie" /> |
||||
<subject label="SVT (sciences de la vie et de la Terre)" /> |
||||
<subject label="Histoire-géographie et éducation civique" /> |
||||
<subject label="SES (sciences économiques et sociales)" /> |
||||
<subject label="Economie" /> |
||||
<subject label="Droit" /> |
||||
<subject label="Langues et cultures de l'Antiquité" /> |
||||
<subject label="Philosophie" /> |
||||
</subjects> |
||||
<subjects baseLevel="Enseignement Professionnel"> |
||||
<subject label="" /> |
||||
<subject label="Enseignements artistiques" /> |
||||
<subject label="Agriculture" /> |
||||
<subject label="Arts" /> |
||||
<subject label="Banque - Assurances - Immobilier" /> |
||||
<subject label="Commerce" /> |
||||
<subject label="Défense publique - Sécurité" /> |
||||
<subject label="Economie - Droit - Sciences politiques" /> |
||||
<subject label="Electricité - Electronique" /> |
||||
<subject label="Environnement - Energies - Aménagement - Propreté" /> |
||||
<subject label="Fonction production - Transport" /> |
||||
<subject label="Formation générale - Lettres et langues - Enseignement" /> |
||||
<subject label="Génie civil - Construction - Architecture" /> |
||||
<subject label="Gestion des entreprises" /> |
||||
<subject label="Hôtellerie - Restauration - Tourisme" /> |
||||
<subject label="Information - Communication" /> |
||||
<subject label="Informatique" /> |
||||
<subject label="Mécanique" /> |
||||
<subject label="Santé - Social - Sport" /> |
||||
<subject label="Sciences" /> |
||||
<subject label="Sciences humaines et sociales" /> |
||||
<subject label="Transformation" /> |
||||
<subject label="Langues vivantes étrangères" /> |
||||
<subject label="Langues vivantes étrangères - anglais" /> |
||||
<subject label="Langues vivantes étrangères - allemand" /> |
||||
<subject label="Langues vivantes étrangères - espagnol" /> |
||||
<subject label="Langues vivantes étrangères - italien" /> |
||||
<subject label="Langues vivantes étrangères - néerlandais" /> |
||||
<subject label="Langues vivantes étrangères - chinois" /> |
||||
<subject label="Langues vivantes étrangères - portugais" /> |
||||
<subject label="Langues vivantes étrangères - russe" /> |
||||
<subject label="Langues vivantes étrangères - arabe" /> |
||||
<subject label="Langue nationale français" /> |
||||
<subject label="Mathématiques - informatique" /> |
||||
<subject label="EPS" /> |
||||
<subject label="Physique-chimie" /> |
||||
<subject label="SVT (sciences de la vie et de la Terre)" /> |
||||
<subject label="Histoire-géographie et éducation civique" /> |
||||
<subject label="SES (sciences économiques et sociales)" /> |
||||
<subject label="Economie" /> |
||||
<subject label="Droit" /> |
||||
<subject label="Langues et cultures de l'Antiquité" /> |
||||
<subject label="Philosophie" /> |
||||
</subjects> |
||||
<types> |
||||
<type label="" /> |
||||
<type label="Activité : Evaluation/Travail à la maison" /> |
||||
<type label="Activité : Exercice" /> |
||||
<type label="Activité : Travaux Pratiques" /> |
||||
<type label="Activité : Jeux" /> |
||||
<type label="Activité : Grapheur/Tableur" /> |
||||
<type label="Activité : Collection de sujets" /> |
||||
<type label="Activité : WebQuest" /> |
||||
<type label="Composant : Animation/Simulation" /> |
||||
<type label="Composant : Article" /> |
||||
<type label="Composant : Audio" /> |
||||
<type label="Composant : Diagramme/illustration" /> |
||||
<type label="Composant : Glossaire / Liste de vocabulaire" /> |
||||
<type label="Composant : Table des Matières" /> |
||||
<type label="Composant : Photographie" /> |
||||
<type label="Composant : Référence" /> |
||||
<type label="Composant : Scénario" /> |
||||
<type label="Composant : Etude/Données/Recherche" /> |
||||
<type label="Composant : Graphique/Diagramme" /> |
||||
<type label="Composant : Modèle de Document" /> |
||||
<type label="Composant : Video/Présentation/Diapo" /> |
||||
<type label="Composant : Webcast/Podcast" /> |
||||
<type label="Livre : Fiction" /> |
||||
<type label="Livre : Documentaire" /> |
||||
<type label="Livre : Notes de lecture" /> |
||||
<type label="Livre : Manuel scolaire" /> |
||||
<type label="Parcours : Réponse" /> |
||||
<type label="Parcours : Evaluation/Test" /> |
||||
<type label="Parcours : Cours complet" /> |
||||
<type label="Parcours : Plan de cours" /> |
||||
<type label="Parcours : Rubrique" /> |
||||
<type label="Parcours : Séquence" /> |
||||
<type label="Parcours : Standard ou programme" /> |
||||
<type label="Parcours : Polycopié / notes de cours" /> |
||||
<type label="Parcours : Programme" /> |
||||
<type label="Parcours : Tutoriel" /> |
||||
<type label="Parcours : Unité pédagogique" /> |
||||
<type label="Parcours : Cahier d'activité" /> |
||||
<type label="Autres" /> |
||||
</types> |
||||
</teacherGuide> |
@ -1,54 +0,0 @@ |
||||
|
||||
.main {margin:0 auto; width:800px; padding-top:10px; } |
||||
|
||||
|
||||
.g320,.g480,.g640,.g960,.g80,.g240,.g400,.g560,.g720,.g880,.g960 {float:left; display: inline; padding-top: 10px;} |
||||
|
||||
.g800 {float:left; display: inline; width:800px;} |
||||
|
||||
.g200 {float:left; display: inline; width:190px; padding-top: 10px; padding-left: 10px;} |
||||
.g200left {float:left; display: inline; width:190px; padding-top: 10px; padding-left: 5px} |
||||
|
||||
.g160 {width:150px; } |
||||
.g320 {width:310px;} |
||||
.g480 {width:470px;} |
||||
.g600 {width:600px;} |
||||
.g640 {width:630px;} |
||||
.g800 {width:790px;} |
||||
.g960 {width:950px;} |
||||
|
||||
.g80 {width:70px;} |
||||
.g240 {width:230px;} |
||||
.g400 {width:390px;} |
||||
.g560 {width:550px;} |
||||
.g720 {width:710px;} |
||||
.g880 {width:870px;} |
||||
|
||||
.ml80{margin-left:90px;} |
||||
.ml160{margin-left:170px;} |
||||
.ml240{margin-left:250px;} |
||||
.ml320{margin-left:330px;} |
||||
.ml400{margin-left:410px;} |
||||
.ml480{margin-left:490px;} |
||||
.ml560{margin-left:560px;} |
||||
.ml640{margin-left:650px;} |
||||
.ml720{margin-left:730px;} |
||||
.ml800{margin-left:810px;} |
||||
.ml880{margin-left:890px;} |
||||
.ml960{margin-left:970px;} |
||||
|
||||
.inside{margin-left:0;} |
||||
|
||||
p.grid{ padding-left:10px;} |
||||
|
||||
.clear {clear:both;} |
||||
.clearfix, .main{ display:block;} |
||||
|
||||
.clearfix:after, .main:after { |
||||
visibility: hidden; |
||||
display: block; |
||||
font-size: 0; |
||||
content: " "; |
||||
clear: both; |
||||
height: 0; |
||||
} |
@ -1,29 +0,0 @@ |
||||
html, body, div, span, object, iframe, |
||||
h1, h2, h3, h4, h5, h6, p, blockquote, pre, |
||||
a, abbr, acronym, address, code, |
||||
del, dfn, em, img, q, dl, dt, dd, ol, ul, li, |
||||
fieldset, form, label, legend, |
||||
table, caption, tbody, tfoot, thead, tr, th, td { |
||||
margin: 0; |
||||
padding: 0; |
||||
border: 0; |
||||
font-weight: inherit; |
||||
font-style: inherit; |
||||
font-size: 100%; |
||||
font-family: inherit; |
||||
vertical-align: baseline; |
||||
} |
||||
|
||||
|
||||
/* Tables still need 'cellspacing="0"' in the markup. */ |
||||
table { border-collapse: separate; border-spacing: 0; } |
||||
caption, th, td { text-align: left; font-weight: normal; } |
||||
table, td, th { vertical-align: middle; } |
||||
|
||||
/* Remove possible quote marks (") from <q>, <blockquote>. */ |
||||
blockquote:before, blockquote:after, q:before, q:after { content: ""; } |
||||
blockquote, q { quotes: "" ""; } |
||||
|
||||
/* Remove annoying border on linked images. */ |
||||
a img { border: none; } |
||||
|
@ -1,94 +0,0 @@ |
||||
|
||||
body { font:75%/1.5em "lucida grande","lucida sans unicode", sans-serif;} |
||||
|
||||
p { padding:0 0 1em 0;color:#111;} |
||||
|
||||
|
||||
p.first:first-letter{ float:left;font-family: Palatino,'Palatino Linotype',Georgia, sans-serif;font-size:3em;font-weight:700;line-height:1em;margin-bottom:-0.2em;padding:0.2em 0.1em 0 0; } |
||||
p img { float: left; margin: 0.3em 0.833em 0.833em 0; padding: 0; } |
||||
p img.right { float: right; margin: 0.3em 0 0.833em 0.833em; } |
||||
|
||||
|
||||
h1,h2{ line-height: normal; font-family: Helvetica, Verdana, Arial, sans-serif; font-weight:normal; color: #333; } |
||||
h3,h4,h5,h6 { font-family: Helvetica, Verdana, Arial, sans-serif; text-align: left; line-height: normal; font-weight: normal; color: #333; } |
||||
|
||||
|
||||
h1 { font-size: 2.2em; margin-bottom: 0.682em; } |
||||
h2 { font-size: 1.9em; margin-bottom: 0.79em; } |
||||
h3 { font-size: 1.7em; margin-bottom: 0.882em; } |
||||
h4 { font-size: 1.4em; margin-bottom: 1.071em; } |
||||
h5,h6 { font-size: 1.2em; margin-bottom: 1.154em; } |
||||
|
||||
/* Color palete */ |
||||
.water { color:#5582d1; } |
||||
.earth { color:#4e3e2c; } |
||||
.air { color:#f1fff7; } |
||||
.fire { color:#ff8a19; } |
||||
.wine { color:#4a040a; } |
||||
.beer { color:#F0C030; } |
||||
.caffe { color:#473523; } |
||||
.caffe-cream { color:#b68d3d; } |
||||
.espresso { color:#2c1901; } |
||||
.caramel{ color:#ab671f; } |
||||
.chocolate { color:#290200; } |
||||
.black-pepper { color:#444334; } |
||||
.pepper-lite { color:#8d8a72; } |
||||
.lipstick { color:#c20c0c; } |
||||
|
||||
|
||||
li ul, |
||||
li ol { margin:0 1.5em; } |
||||
ul, ol { margin: 0 1.5em 1.5em 1.5em; } |
||||
|
||||
|
||||
dl { margin: 0 0 1.5em 0; } |
||||
dl dt { font-weight: bold; } |
||||
dl dd { margin-left: 1.5em; } |
||||
|
||||
a { color:#035292; text-decoration:none; } |
||||
a:hover { text-decoration: underline; } |
||||
|
||||
|
||||
table { margin-bottom:1.5em; border-collapse: collapse; } |
||||
th { font-weight:bold; } |
||||
tr,th,td { margin:0; padding:0 1.5em 0 1em; height:18px; } |
||||
tfoot { font-style: italic; } |
||||
caption { text-align:center; font-family:Georgia, serif; } |
||||
|
||||
|
||||
abbr, acronym { border-bottom:1px dotted #000; } |
||||
address { margin-top:1.5em; font-style: italic; } |
||||
del {color:#000;} |
||||
|
||||
|
||||
blockquote { padding:1em 1em 1em 1.5em; font-family:baskerville,"palatino linotype",serif; } |
||||
blockquote > *:first-child:before { content:"\201C";font-size:2.5em;margin-left:-.62em;font-family:georgia,serif;padding-right:.2em;color:#aaa;line-height:0; }/* From Tripoli */ |
||||
|
||||
strong { ont-weight: bold; } |
||||
em, dfn { font-style: italic; } |
||||
dfn { font-weight: bold; } |
||||
pre, code { margin: 1.5em 0; white-space: pre; } |
||||
pre, code, tt { font: 1em monospace; line-height: 1.5; } |
||||
tt { display: block; margin: 1.5em 0; } |
||||
hr { margin-bottom:1.5em; } |
||||
|
||||
/*other small things */ |
||||
|
||||
.tc { text-align:center; } |
||||
.tr { text-align:right; } |
||||
.tl { text-align:left; } |
||||
.b { font-weight:bold; } |
||||
.i { font-style:italic; } |
||||
|
||||
.indent { text-indent:1.5em;} |
||||
.open { font-variant: small-caps; } |
||||
p.break { text-align:center;text-indent:0;line-height:0; } |
||||
p.zero{padding:0; margin:0} |
||||
p.one { padding:0 1em 1em 1em;color:#111;} |
||||
p img.right10 { float: right; margin:0.833em; } |
||||
|
||||
.oldbook { font-family:"Book Antiqua","Warnock Pro","Goudy Old Style","Palatino",Georgia,serif; } |
||||
.note { font-family:Georgia, "Times New Roman", Times, serif; font-style:italic; font-size:0.9em; margin:0.1em; color:#333; } |
||||
.mono { font-family:"Courier New", Courier, monospace; } |
||||
|
||||
|
Before Width: | Height: | Size: 32 KiB |
Before Width: | Height: | Size: 26 KiB |
Before Width: | Height: | Size: 59 KiB |
Before Width: | Height: | Size: 28 KiB |
Before Width: | Height: | Size: 42 KiB |
@ -1,72 +0,0 @@ |
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
||||
<html xmlns="http://www.w3.org/1999/xhtml"> |
||||
<head> |
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> |
||||
|
||||
<link rel="stylesheet" href="CSS/grid.css" type="text/css" media="screen, projection"> |
||||
<link rel="stylesheet" href="CSS/reset.css" type="text/css" media="screen, projection"> |
||||
<link rel="stylesheet" href="CSS/typography.css" type="text/css" media="screen, projection"> |
||||
|
||||
<style> |
||||
body { |
||||
background-color:#fff; |
||||
} |
||||
.main { |
||||
background-color:#fff; |
||||
} |
||||
.clear { |
||||
height:10px; |
||||
} |
||||
</style> |
||||
</head> |
||||
|
||||
<body> |
||||
<div class="main"> |
||||
|
||||
<div class="g800"> |
||||
|
||||
<img src="images/logo_open_sankore.png" style="width: 800px"/> |
||||
|
||||
</div> |
||||
|
||||
<div class="g800"> |
||||
|
||||
<h4>Welcome to the tutorial space of Open-Sankoré. We propose you a set of online ressources to help you discover our software and improve your teaching and technical knowledge. If you have questions to ask us or want to contribute to the project, simply visit our website <a href="http://open-sankore.org/" target="_blank">open-sankore.org</a></h4> |
||||
|
||||
</div> |
||||
|
||||
<div class="g200left"> |
||||
|
||||
<a href="http://www.youtube.com/user/OpenSankore" target="_blank"><img src="images/video.png" style="width: 188px; border: 1px solid #999"/></a> |
||||
<br/><br/><a href="http://www.youtube.com/user/OpenSankore" target="_blank"><h5 style="text-align: center;">Video tutorials</h5></a> |
||||
|
||||
</div> |
||||
|
||||
<div class="g200"> |
||||
|
||||
<a href="http://planete.sankore.org/xwiki/bin/view/Pedagogique/User+manual+EN+2.00" target="_blank"><img src="images/manuel.png" style="width: 188px; border: 1px solid #999"/></a> |
||||
<br/><br/><a href="http://planete.sankore.org/xwiki/bin/view/Pedagogique/User+manual+EN+2.00" target="_blank"> |
||||
<h5 style="text-align: center;">The user manual</h5></a> |
||||
|
||||
</div> |
||||
<div class="g200"> |
||||
|
||||
<a href="http://planete.sankore.org/xwiki/bin/view/Pedagogique/WebHome_EN" target="_blank"><img src="images/pedago.png" style="width: 188px; border: 1px solid #999"/></a> |
||||
<br/><br/><a href="http://planete.sankore.org/xwiki/bin/view/Pedagogique/Tutoriels" target="_blank"> |
||||
<h5 style="text-align: center;">The teaching space</h5></a> |
||||
|
||||
</div> |
||||
|
||||
<div class="g200"> |
||||
|
||||
<a href="http://planete.sankore.org/xwiki/bin/view/Technologique/WebHome_EN" target="_blank"><img src="images/tech.png" style="width: 188px; border: 1px solid #999"/></a> |
||||
<br/><br/><a href="http://planete.sankore.org/xwiki/bin/view/Technologique/WebHome" target="_blank"><h5 style="text-align: center;">The technical space</h5></a> |
||||
|
||||
</div> |
||||
|
||||
<div class="clear"> </div> |
||||
|
||||
</div> |
||||
|
||||
</body> |
||||
</html> |
@ -1,54 +0,0 @@ |
||||
|
||||
.main {margin:0 auto; width:800px; padding-top:10px; } |
||||
|
||||
|
||||
.g320,.g480,.g640,.g960,.g80,.g240,.g400,.g560,.g720,.g880,.g960 {float:left; display: inline; padding-top: 10px;} |
||||
|
||||
.g800 {float:left; display: inline; width:800px;} |
||||
|
||||
.g200 {float:left; display: inline; width:190px; padding-top: 10px; padding-left: 10px;} |
||||
.g200left {float:left; display: inline; width:190px; padding-top: 10px; padding-left: 5px} |
||||
|
||||
.g160 {width:150px; } |
||||
.g320 {width:310px;} |
||||
.g480 {width:470px;} |
||||
.g600 {width:600px;} |
||||
.g640 {width:630px;} |
||||
.g800 {width:790px;} |
||||
.g960 {width:950px;} |
||||
|
||||
.g80 {width:70px;} |
||||
.g240 {width:230px;} |
||||
.g400 {width:390px;} |
||||
.g560 {width:550px;} |
||||
.g720 {width:710px;} |
||||
.g880 {width:870px;} |
||||
|
||||
.ml80{margin-left:90px;} |
||||
.ml160{margin-left:170px;} |
||||
.ml240{margin-left:250px;} |
||||
.ml320{margin-left:330px;} |
||||
.ml400{margin-left:410px;} |
||||
.ml480{margin-left:490px;} |
||||
.ml560{margin-left:560px;} |
||||
.ml640{margin-left:650px;} |
||||
.ml720{margin-left:730px;} |
||||
.ml800{margin-left:810px;} |
||||
.ml880{margin-left:890px;} |
||||
.ml960{margin-left:970px;} |
||||
|
||||
.inside{margin-left:0;} |
||||
|
||||
p.grid{ padding-left:10px;} |
||||
|
||||
.clear {clear:both;} |
||||
.clearfix, .main{ display:block;} |
||||
|
||||
.clearfix:after, .main:after { |
||||
visibility: hidden; |
||||
display: block; |
||||
font-size: 0; |
||||
content: " "; |
||||
clear: both; |
||||
height: 0; |
||||
} |
@ -1,29 +0,0 @@ |
||||
html, body, div, span, object, iframe, |
||||
h1, h2, h3, h4, h5, h6, p, blockquote, pre, |
||||
a, abbr, acronym, address, code, |
||||
del, dfn, em, img, q, dl, dt, dd, ol, ul, li, |
||||
fieldset, form, label, legend, |
||||
table, caption, tbody, tfoot, thead, tr, th, td { |
||||
margin: 0; |
||||
padding: 0; |
||||
border: 0; |
||||
font-weight: inherit; |
||||
font-style: inherit; |
||||
font-size: 100%; |
||||
font-family: inherit; |
||||
vertical-align: baseline; |
||||
} |
||||
|
||||
|
||||
/* Tables still need 'cellspacing="0"' in the markup. */ |
||||
table { border-collapse: separate; border-spacing: 0; } |
||||
caption, th, td { text-align: left; font-weight: normal; } |
||||
table, td, th { vertical-align: middle; } |
||||
|
||||
/* Remove possible quote marks (") from <q>, <blockquote>. */ |
||||
blockquote:before, blockquote:after, q:before, q:after { content: ""; } |
||||
blockquote, q { quotes: "" ""; } |
||||
|
||||
/* Remove annoying border on linked images. */ |
||||
a img { border: none; } |
||||
|
@ -1,94 +0,0 @@ |
||||
|
||||
body { font:75%/1.5em "lucida grande","lucida sans unicode", sans-serif;} |
||||
|
||||
p { padding:0 0 1em 0;color:#111;} |
||||
|
||||
|
||||
p.first:first-letter{ float:left;font-family: Palatino,'Palatino Linotype',Georgia, sans-serif;font-size:3em;font-weight:700;line-height:1em;margin-bottom:-0.2em;padding:0.2em 0.1em 0 0; } |
||||
p img { float: left; margin: 0.3em 0.833em 0.833em 0; padding: 0; } |
||||
p img.right { float: right; margin: 0.3em 0 0.833em 0.833em; } |
||||
|
||||
|
||||
h1,h2{ line-height: normal; font-family: Helvetica, Verdana, Arial, sans-serif; font-weight:normal; color: #333; } |
||||
h3,h4,h5,h6 { font-family: Helvetica, Verdana, Arial, sans-serif; text-align: left; line-height: normal; font-weight: normal; color: #333; } |
||||
|
||||
|
||||
h1 { font-size: 2.2em; margin-bottom: 0.682em; } |
||||
h2 { font-size: 1.9em; margin-bottom: 0.79em; } |
||||
h3 { font-size: 1.7em; margin-bottom: 0.882em; } |
||||
h4 { font-size: 1.4em; margin-bottom: 1.071em; } |
||||
h5,h6 { font-size: 1.2em; margin-bottom: 1.154em; } |
||||
|
||||
/* Color palete */ |
||||
.water { color:#5582d1; } |
||||
.earth { color:#4e3e2c; } |
||||
.air { color:#f1fff7; } |
||||
.fire { color:#ff8a19; } |
||||
.wine { color:#4a040a; } |
||||
.beer { color:#F0C030; } |
||||
.caffe { color:#473523; } |
||||
.caffe-cream { color:#b68d3d; } |
||||
.espresso { color:#2c1901; } |
||||
.caramel{ color:#ab671f; } |
||||
.chocolate { color:#290200; } |
||||
.black-pepper { color:#444334; } |
||||
.pepper-lite { color:#8d8a72; } |
||||
.lipstick { color:#c20c0c; } |
||||
|
||||
|
||||
li ul, |
||||
li ol { margin:0 1.5em; } |
||||
ul, ol { margin: 0 1.5em 1.5em 1.5em; } |
||||
|
||||
|
||||
dl { margin: 0 0 1.5em 0; } |
||||
dl dt { font-weight: bold; } |
||||
dl dd { margin-left: 1.5em; } |
||||
|
||||
a { color:#035292; text-decoration:none; } |
||||
a:hover { text-decoration: underline; } |
||||
|
||||
|
||||
table { margin-bottom:1.5em; border-collapse: collapse; } |
||||
th { font-weight:bold; } |
||||
tr,th,td { margin:0; padding:0 1.5em 0 1em; height:18px; } |
||||
tfoot { font-style: italic; } |
||||
caption { text-align:center; font-family:Georgia, serif; } |
||||
|
||||
|
||||
abbr, acronym { border-bottom:1px dotted #000; } |
||||
address { margin-top:1.5em; font-style: italic; } |
||||
del {color:#000;} |
||||
|
||||
|
||||
blockquote { padding:1em 1em 1em 1.5em; font-family:baskerville,"palatino linotype",serif; } |
||||
blockquote > *:first-child:before { content:"\201C";font-size:2.5em;margin-left:-.62em;font-family:georgia,serif;padding-right:.2em;color:#aaa;line-height:0; }/* From Tripoli */ |
||||
|
||||
strong { ont-weight: bold; } |
||||
em, dfn { font-style: italic; } |
||||
dfn { font-weight: bold; } |
||||
pre, code { margin: 1.5em 0; white-space: pre; } |
||||
pre, code, tt { font: 1em monospace; line-height: 1.5; } |
||||
tt { display: block; margin: 1.5em 0; } |
||||
hr { margin-bottom:1.5em; } |
||||
|
||||
/*other small things */ |
||||
|
||||
.tc { text-align:center; } |
||||
.tr { text-align:right; } |
||||
.tl { text-align:left; } |
||||
.b { font-weight:bold; } |
||||
.i { font-style:italic; } |
||||
|
||||
.indent { text-indent:1.5em;} |
||||
.open { font-variant: small-caps; } |
||||
p.break { text-align:center;text-indent:0;line-height:0; } |
||||
p.zero{padding:0; margin:0} |
||||
p.one { padding:0 1em 1em 1em;color:#111;} |
||||
p img.right10 { float: right; margin:0.833em; } |
||||
|
||||
.oldbook { font-family:"Book Antiqua","Warnock Pro","Goudy Old Style","Palatino",Georgia,serif; } |
||||
.note { font-family:Georgia, "Times New Roman", Times, serif; font-style:italic; font-size:0.9em; margin:0.1em; color:#333; } |
||||
.mono { font-family:"Courier New", Courier, monospace; } |
||||
|
||||
|
Before Width: | Height: | Size: 32 KiB |
Before Width: | Height: | Size: 26 KiB |
Before Width: | Height: | Size: 59 KiB |
Before Width: | Height: | Size: 28 KiB |
Before Width: | Height: | Size: 42 KiB |
@ -1,72 +0,0 @@ |
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
||||
<html xmlns="http://www.w3.org/1999/xhtml"> |
||||
<head> |
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> |
||||
|
||||
<link rel="stylesheet" href="CSS/grid.css" type="text/css" media="screen, projection"> |
||||
<link rel="stylesheet" href="CSS/reset.css" type="text/css" media="screen, projection"> |
||||
<link rel="stylesheet" href="CSS/typography.css" type="text/css" media="screen, projection"> |
||||
|
||||
<style> |
||||
body { |
||||
background-color:#fff; |
||||
} |
||||
.main { |
||||
background-color:#fff; |
||||
} |
||||
.clear { |
||||
height:10px; |
||||
} |
||||
</style> |
||||
</head> |
||||
|
||||
<body> |
||||
<div class="main"> |
||||
|
||||
<div class="g800"> |
||||
|
||||
<img src="images/logo_open_sankore.png" style="width: 800px"/> |
||||
|
||||
</div> |
||||
|
||||
<div class="g800"> |
||||
|
||||
<h4>Bienvenue l'espace tutoriel du logiciel Open-Sankoré. Nous vous proposons une série de ressources en ligne pour vous aider à découvrir le logiciel et améliorer vos connaissances pédagogiques et techniques. Si vous avez des questions à nous poser ou désirez contribuer à notre projet, rendez-vous sur notre site <a href="http://open-sankore.org/" target="_blank">open-sankore.org</a></h4> |
||||
|
||||
</div> |
||||
|
||||
<div class="g200left"> |
||||
|
||||
<a href="http://www.youtube.com/user/OpenSankore" target="_blank"><img src="images/video.png" style="width: 188px; border: 1px solid #999"/></a> |
||||
<br/><br/><a href="http://www.youtube.com/user/OpenSankore" target="_blank"><h5 style="text-align: center;">Tutoriels video</h5></a> |
||||
|
||||
</div> |
||||
|
||||
<div class="g200"> |
||||
|
||||
<a href="http://planete.sankore.org/xwiki/bin/view/Pedagogique/Le+manuel+du+logiciel+FR+2.00" target="_blank"><img src="images/manuel.png" style="width: 188px; border: 1px solid #999"/></a> |
||||
<br/><br/><a href="http://planete.sankore.org/xwiki/bin/view/Pedagogique/Le+manuel+du+logiciel+FR+2.00" target="_blank"> |
||||
<h5 style="text-align: center;">Le manuel d'utilisation</h5></a> |
||||
|
||||
</div> |
||||
<div class="g200"> |
||||
|
||||
<a href="http://planete.sankore.org/xwiki/bin/view/Pedagogique/WebHome" target="_blank"><img src="images/pedago.png" style="width: 188px; border: 1px solid #999"/></a> |
||||
<br/><br/><a href="http://planete.sankore.org/xwiki/bin/view/Pedagogique/Tutoriels" target="_blank"> |
||||
<h5 style="text-align: center;">L'espace pédagogique</h5></a> |
||||
|
||||
</div> |
||||
|
||||
<div class="g200"> |
||||
|
||||
<a href="http://planete.sankore.org/xwiki/bin/view/Technologique/WebHome" target="_blank"><img src="images/tech.png" style="width: 188px; border: 1px solid #999"/></a> |
||||
<br/><br/><a href="http://planete.sankore.org/xwiki/bin/view/Technologique/WebHome" target="_blank"><h5 style="text-align: center;">L'espace technique</h5></a> |
||||
|
||||
</div> |
||||
|
||||
<div class="clear"> </div> |
||||
|
||||
</div> |
||||
|
||||
</body> |
||||
</html> |
@ -1,132 +0,0 @@ |
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<ui version="4.0"> |
||||
<class>documentPublishingDialog</class> |
||||
<widget class="QDialog" name="documentPublishingDialog"> |
||||
<property name="windowModality"> |
||||
<enum>Qt::WindowModal</enum> |
||||
</property> |
||||
<property name="geometry"> |
||||
<rect> |
||||
<x>0</x> |
||||
<y>0</y> |
||||
<width>607</width> |
||||
<height>405</height> |
||||
</rect> |
||||
</property> |
||||
<property name="windowTitle"> |
||||
<string>Dialog</string> |
||||
</property> |
||||
<layout class="QHBoxLayout" name="horizontalLayout"> |
||||
<item> |
||||
<layout class="QFormLayout" name="formLayout"> |
||||
<property name="fieldGrowthPolicy"> |
||||
<enum>QFormLayout::AllNonFixedFieldsGrow</enum> |
||||
</property> |
||||
<item row="0" column="0"> |
||||
<widget class="QLabel" name="titleLabel"> |
||||
<property name="text"> |
||||
<string>Title</string> |
||||
</property> |
||||
</widget> |
||||
</item> |
||||
<item row="0" column="1"> |
||||
<widget class="QLineEdit" name="title"> |
||||
<property name="maxLength"> |
||||
<number>60</number> |
||||
</property> |
||||
</widget> |
||||
</item> |
||||
<item row="1" column="0"> |
||||
<widget class="QLabel" name="label_2"> |
||||
<property name="text"> |
||||
<string>E-mail</string> |
||||
</property> |
||||
</widget> |
||||
</item> |
||||
<item row="1" column="1"> |
||||
<widget class="QLineEdit" name="email"/> |
||||
</item> |
||||
<item row="2" column="0"> |
||||
<widget class="QLabel" name="label"> |
||||
<property name="text"> |
||||
<string>Author</string> |
||||
</property> |
||||
</widget> |
||||
</item> |
||||
<item row="2" column="1"> |
||||
<widget class="QLineEdit" name="author"/> |
||||
</item> |
||||
<item row="3" column="0"> |
||||
<widget class="QLabel" name="decriptionLabel"> |
||||
<property name="text"> |
||||
<string>Description</string> |
||||
</property> |
||||
</widget> |
||||
</item> |
||||
<item row="3" column="1"> |
||||
<widget class="QPlainTextEdit" name="description"> |
||||
<property name="sizePolicy"> |
||||
<sizepolicy hsizetype="Expanding" vsizetype="Preferred"> |
||||
<horstretch>0</horstretch> |
||||
<verstretch>0</verstretch> |
||||
</sizepolicy> |
||||
</property> |
||||
<property name="minimumSize"> |
||||
<size> |
||||
<width>0</width> |
||||
<height>168</height> |
||||
</size> |
||||
</property> |
||||
</widget> |
||||
</item> |
||||
<item row="4" column="1"> |
||||
<spacer name="verticalSpacer"> |
||||
<property name="orientation"> |
||||
<enum>Qt::Vertical</enum> |
||||
</property> |
||||
<property name="sizeHint" stdset="0"> |
||||
<size> |
||||
<width>20</width> |
||||
<height>10</height> |
||||
</size> |
||||
</property> |
||||
</spacer> |
||||
</item> |
||||
<item row="5" column="1"> |
||||
<widget class="QCheckBox" name="attachPDF"> |
||||
<property name="text"> |
||||
<string>Attach Downloadable PDF Version</string> |
||||
</property> |
||||
</widget> |
||||
</item> |
||||
<item row="6" column="1"> |
||||
<widget class="QCheckBox" name="attachUBZ"> |
||||
<property name="text"> |
||||
<string>Attach Downloadable Uniboard File (UBZ)</string> |
||||
</property> |
||||
</widget> |
||||
</item> |
||||
<item row="7" column="1"> |
||||
<widget class="QLabel" name="videoWarning"> |
||||
<property name="text"> |
||||
<string>Warning: This documents contains video, which will not be displayed properly on the Web</string> |
||||
</property> |
||||
<property name="wordWrap"> |
||||
<bool>true</bool> |
||||
</property> |
||||
</widget> |
||||
</item> |
||||
<item row="8" column="1"> |
||||
<widget class="QDialogButtonBox" name="dialogButtons"> |
||||
<property name="standardButtons"> |
||||
<set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set> |
||||
</property> |
||||
</widget> |
||||
</item> |
||||
</layout> |
||||
</item> |
||||
</layout> |
||||
</widget> |
||||
<resources/> |
||||
<connections/> |
||||
</ui> |
Before Width: | Height: | Size: 795 B |
Before Width: | Height: | Size: 909 B |
Before Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 4.6 KiB |
Before Width: | Height: | Size: 5.0 KiB |
Before Width: | Height: | Size: 5.2 KiB |
Before Width: | Height: | Size: 5.3 KiB |
Before Width: | Height: | Size: 4.8 KiB |
Before Width: | Height: | Size: 5.0 KiB |
Before Width: | Height: | Size: 6.7 KiB |
Before Width: | Height: | Size: 2.4 KiB |
Before Width: | Height: | Size: 6.9 KiB |
Before Width: | Height: | Size: 13 KiB |
Before Width: | Height: | Size: 2.6 KiB |
Before Width: | Height: | Size: 4.3 KiB |
Before Width: | Height: | Size: 7.5 KiB |
Before Width: | Height: | Size: 1.0 KiB |
Before Width: | Height: | Size: 1.0 KiB |
Before Width: | Height: | Size: 1.0 KiB |
Before Width: | Height: | Size: 1.0 KiB |
Before Width: | Height: | Size: 7.7 KiB |
@ -1,61 +0,0 @@ |
||||
/*
|
||||
* Copyright (C) 2010-2013 Groupement d'Intérêt Public pour l'Education Numérique en Afrique (GIP ENA) |
||||
* |
||||
* This file is part of Open-Sankoré. |
||||
* |
||||
* Open-Sankoré is free software: you can redistribute it and/or modify |
||||
* it under the terms of the GNU General Public License as published by |
||||
* the Free Software Foundation, version 3 of the License, |
||||
* with a specific linking exception for the OpenSSL project's |
||||
* "OpenSSL" library (or with modified versions of it that use the |
||||
* same license as the "OpenSSL" library). |
||||
* |
||||
* Open-Sankoré is distributed in the hope that it will be useful, |
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
* GNU General Public License for more details. |
||||
* |
||||
* You should have received a copy of the GNU General Public License |
||||
* along with Open-Sankoré. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/ |
||||
|
||||
|
||||
|
||||
#include "UBWebPublisher.h" |
||||
|
||||
#include "document/UBDocumentProxy.h" |
||||
|
||||
#include "adaptors/publishing/UBDocumentPublisher.h" |
||||
|
||||
#include "core/memcheck.h" |
||||
|
||||
UBWebPublisher::UBWebPublisher(QObject *parent) |
||||
: UBExportAdaptor(parent) |
||||
{ |
||||
// NOOP
|
||||
} |
||||
|
||||
|
||||
UBWebPublisher::~UBWebPublisher() |
||||
{ |
||||
// NOOP
|
||||
} |
||||
|
||||
|
||||
QString UBWebPublisher::exportName() |
||||
{ |
||||
return tr("Publish Document on Sankore Web"); |
||||
} |
||||
|
||||
|
||||
void UBWebPublisher::persist(UBDocumentProxy* pDocumentProxy) |
||||
{ |
||||
if (!pDocumentProxy) |
||||
return; |
||||
|
||||
UBDocumentPublisher* publisher = new UBDocumentPublisher(pDocumentProxy, this); // the publisher will self delete when publication finishes
|
||||
publisher->publish(); |
||||
|
||||
} |
||||
|
||||
|
@ -1,51 +0,0 @@ |
||||
/*
|
||||
* Copyright (C) 2010-2013 Groupement d'Intérêt Public pour l'Education Numérique en Afrique (GIP ENA) |
||||
* |
||||
* This file is part of Open-Sankoré. |
||||
* |
||||
* Open-Sankoré is free software: you can redistribute it and/or modify |
||||
* it under the terms of the GNU General Public License as published by |
||||
* the Free Software Foundation, version 3 of the License, |
||||
* with a specific linking exception for the OpenSSL project's |
||||
* "OpenSSL" library (or with modified versions of it that use the |
||||
* same license as the "OpenSSL" library). |
||||
* |
||||
* Open-Sankoré is distributed in the hope that it will be useful, |
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
* GNU General Public License for more details. |
||||
* |
||||
* You should have received a copy of the GNU General Public License |
||||
* along with Open-Sankoré. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/ |
||||
|
||||
|
||||
|
||||
#ifndef UBWEBPUBLISHER_H_ |
||||
#define UBWEBPUBLISHER_H_ |
||||
|
||||
#include <QtGui> |
||||
|
||||
#include "UBExportAdaptor.h" |
||||
|
||||
#include "frameworks/UBFileSystemUtils.h" |
||||
#include "ui_webPublishing.h" |
||||
|
||||
class UBDocumentProxy; |
||||
class UBServerXMLHttpRequest; |
||||
|
||||
class UBWebPublisher : public UBExportAdaptor |
||||
{ |
||||
Q_OBJECT; |
||||
|
||||
public: |
||||
UBWebPublisher(QObject *parent = 0); |
||||
virtual ~UBWebPublisher(); |
||||
|
||||
virtual QString exportName(); |
||||
|
||||
virtual void persist(UBDocumentProxy* pDocument); |
||||
}; |
||||
|
||||
|
||||
#endif /* UBWEBPUBLISHER_H_ */ |
@ -1,90 +0,0 @@ |
||||
/*
|
||||
* Copyright (C) 2010-2013 Groupement d'Intérêt Public pour l'Education Numérique en Afrique (GIP ENA) |
||||
* |
||||
* This file is part of Open-Sankoré. |
||||
* |
||||
* Open-Sankoré is free software: you can redistribute it and/or modify |
||||
* it under the terms of the GNU General Public License as published by |
||||
* the Free Software Foundation, version 3 of the License, |
||||
* with a specific linking exception for the OpenSSL project's |
||||
* "OpenSSL" library (or with modified versions of it that use the |
||||
* same license as the "OpenSSL" library). |
||||
* |
||||
* Open-Sankoré is distributed in the hope that it will be useful, |
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
* GNU General Public License for more details. |
||||
* |
||||
* You should have received a copy of the GNU General Public License |
||||
* along with Open-Sankoré. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/ |
||||
|
||||
|
||||
|
||||
#include <QPainter> |
||||
#include <QDebug> |
||||
|
||||
#include "UBActionableWidget.h" |
||||
|
||||
#include "core/memcheck.h" |
||||
|
||||
UBActionableWidget::UBActionableWidget(QWidget *parent, const char *name):QWidget(parent) |
||||
, mShowActions(false) |
||||
{ |
||||
setObjectName(name); |
||||
mActions.clear(); |
||||
mCloseButtons.setIcon(QIcon(QPixmap(":images/close.svg"))); |
||||
mCloseButtons.setGeometry(0, 0, 2*ACTIONSIZE, ACTIONSIZE); |
||||
mCloseButtons.setVisible(false); |
||||
connect(&mCloseButtons, SIGNAL(clicked()), this, SLOT(onCloseClicked())); |
||||
} |
||||
|
||||
UBActionableWidget::~UBActionableWidget() |
||||
{ |
||||
|
||||
} |
||||
|
||||
void UBActionableWidget::addAction(eAction act) |
||||
{ |
||||
if(!mActions.contains(act)){ |
||||
mActions << act; |
||||
} |
||||
} |
||||
|
||||
void UBActionableWidget::removeAction(eAction act) |
||||
{ |
||||
if(mActions.contains(act)){ |
||||
mActions.remove(mActions.indexOf(act)); |
||||
} |
||||
} |
||||
|
||||
void UBActionableWidget::removeAllActions() |
||||
{ |
||||
mActions.clear(); |
||||
} |
||||
|
||||
void UBActionableWidget::setActionsVisible(bool bVisible) |
||||
{ |
||||
if(!mActions.empty() && mActions.contains(eAction_Close)){ |
||||
mCloseButtons.setVisible(bVisible); |
||||
} |
||||
} |
||||
|
||||
void UBActionableWidget::onCloseClicked() |
||||
{ |
||||
emit close(this); |
||||
} |
||||
|
||||
void UBActionableWidget::setActionsParent(QWidget *parent) |
||||
{ |
||||
if(mActions.contains(eAction_Close)){ |
||||
mCloseButtons.setParent(parent); |
||||
} |
||||
} |
||||
|
||||
void UBActionableWidget::unsetActionsParent() |
||||
{ |
||||
if(mActions.contains(eAction_Close)){ |
||||
mCloseButtons.setParent(this); |
||||
} |
||||
} |
@ -1,68 +0,0 @@ |
||||
/*
|
||||
* Copyright (C) 2010-2013 Groupement d'Intérêt Public pour l'Education Numérique en Afrique (GIP ENA) |
||||
* |
||||
* This file is part of Open-Sankoré. |
||||
* |
||||
* Open-Sankoré is free software: you can redistribute it and/or modify |
||||
* it under the terms of the GNU General Public License as published by |
||||
* the Free Software Foundation, version 3 of the License, |
||||
* with a specific linking exception for the OpenSSL project's |
||||
* "OpenSSL" library (or with modified versions of it that use the |
||||
* same license as the "OpenSSL" library). |
||||
* |
||||
* Open-Sankoré is distributed in the hope that it will be useful, |
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
* GNU General Public License for more details. |
||||
* |
||||
* You should have received a copy of the GNU General Public License |
||||
* along with Open-Sankoré. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/ |
||||
|
||||
|
||||
|
||||
#ifndef UBACTIONABLEWIDGET_H |
||||
#define UBACTIONABLEWIDGET_H |
||||
|
||||
#include <QWidget> |
||||
#include <QPaintEvent> |
||||
#include <QToolButton> |
||||
#include <QPushButton> |
||||
|
||||
#define ACTIONSIZE 16 |
||||
|
||||
typedef enum{ |
||||
eAction_Close, |
||||
eAction_MoveUp, |
||||
eAction_MoveDown |
||||
}eAction; |
||||
|
||||
class UBActionableWidget : public QWidget |
||||
{ |
||||
Q_OBJECT |
||||
public: |
||||
UBActionableWidget(QWidget* parent=0, const char* name="UBActionableWidget"); |
||||
~UBActionableWidget(); |
||||
void addAction(eAction act); |
||||
void removeAction(eAction act); |
||||
void removeAllActions(); |
||||
void setActionsVisible(bool bVisible); |
||||
|
||||
signals: |
||||
void close(QWidget* w); |
||||
|
||||
protected: |
||||
void setActionsParent(QWidget* parent); |
||||
void unsetActionsParent(); |
||||
QVector<eAction> mActions; |
||||
QPushButton mCloseButtons; |
||||
|
||||
private slots: |
||||
void onCloseClicked(); |
||||
|
||||
private: |
||||
bool mShowActions; |
||||
|
||||
}; |
||||
|
||||
#endif // UBACTIONABLEWIDGET_H
|
@ -1,368 +0,0 @@ |
||||
/*
|
||||
* Copyright (C) 2010-2013 Groupement d'Intérêt Public pour l'Education Numérique en Afrique (GIP ENA) |
||||
* |
||||
* This file is part of Open-Sankoré. |
||||
* |
||||
* Open-Sankoré is free software: you can redistribute it and/or modify |
||||
* it under the terms of the GNU General Public License as published by |
||||
* the Free Software Foundation, version 3 of the License, |
||||
* with a specific linking exception for the OpenSSL project's |
||||
* "OpenSSL" library (or with modified versions of it that use the |
||||
* same license as the "OpenSSL" library). |
||||
* |
||||
* Open-Sankoré is distributed in the hope that it will be useful, |
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
* GNU General Public License for more details. |
||||
* |
||||
* You should have received a copy of the GNU General Public License |
||||
* along with Open-Sankoré. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/ |
||||
|
||||
|
||||
|
||||
#include "core/UBApplication.h" |
||||
#include "globals/UBGlobals.h" |
||||
#include "UBMediaWidget.h" |
||||
|
||||
#include "core/memcheck.h" |
||||
|
||||
/**
|
||||
* \brief Constructor |
||||
* @param type as the media type |
||||
* @param parent as the parent widget |
||||
* @param name as the object name |
||||
*/ |
||||
UBMediaWidget::UBMediaWidget(eMediaType type, QWidget *parent, const char *name):UBActionableWidget(parent, name) |
||||
, mpMediaObject(NULL) |
||||
, mpVideoWidget(NULL) |
||||
, mpAudioOutput(NULL) |
||||
, mpLayout(NULL) |
||||
, mpSeekerLayout(NULL) |
||||
, mpPlayStopButton(NULL) |
||||
, mpPauseButton(NULL) |
||||
, mpSlider(NULL) |
||||
, mAutoUpdate(false) |
||||
, mGeneratingThumbnail(false) |
||||
, mBorder(5) |
||||
, mpMediaContainer(NULL) |
||||
, mMediaLayout(NULL) |
||||
, mpCover(NULL) |
||||
{ |
||||
SET_STYLE_SHEET(); |
||||
|
||||
addAction(eAction_Close); |
||||
mType = type; |
||||
mpLayout = new QVBoxLayout(this); |
||||
setLayout(mpLayout); |
||||
|
||||
mpPlayStopButton = new UBMediaButton(this); |
||||
mpPlayStopButton->setPixmap(QPixmap(":images/play.svg")); |
||||
mpPauseButton = new UBMediaButton(this); |
||||
mpPauseButton->setPixmap(QPixmap(":images/pause.svg")); |
||||
mpPauseButton->setEnabled(false); |
||||
mpSlider = new QSlider(this); |
||||
mpSlider->setOrientation(Qt::Horizontal); |
||||
mpSlider->setMinimum(0); |
||||
mpSlider->setMaximum(0); |
||||
|
||||
mpSeekerLayout = new QHBoxLayout(); |
||||
mpSeekerLayout->addWidget(mpPlayStopButton, 0); |
||||
mpSeekerLayout->addWidget(mpPauseButton, 0); |
||||
mpSeekerLayout->addWidget(mpSlider, 1); |
||||
mpSeekerLayout->setContentsMargins(0, 0, 0, 0); |
||||
|
||||
connect(mpPlayStopButton, SIGNAL(clicked()), this, SLOT(onPlayStopClicked())); |
||||
connect(mpPauseButton, SIGNAL(clicked()), this, SLOT(onPauseClicked())); |
||||
connect(mpSlider, SIGNAL(valueChanged(int)), this, SLOT(onSliderChanged(int))); |
||||
} |
||||
|
||||
/**
|
||||
* \brief Destructor |
||||
*/ |
||||
UBMediaWidget::~UBMediaWidget() |
||||
{ |
||||
unsetActionsParent(); |
||||
DELETEPTR(mpMediaObject); |
||||
DELETEPTR(mpSlider); |
||||
DELETEPTR(mpPauseButton); |
||||
DELETEPTR(mpPlayStopButton); |
||||
DELETEPTR(mpAudioOutput); |
||||
DELETEPTR(mpVideoWidget); |
||||
DELETEPTR(mpCover); |
||||
DELETEPTR(mpMediaContainer); |
||||
DELETEPTR(mpSeekerLayout); |
||||
DELETEPTR(mpLayout); |
||||
} |
||||
|
||||
/**
|
||||
* \brief Set the media file |
||||
* @param filePath as the media file path |
||||
*/ |
||||
void UBMediaWidget::setFile(const QString &filePath) |
||||
{ |
||||
Q_ASSERT("" != filePath); |
||||
mFilePath = filePath; |
||||
mpMediaObject = new Phonon::MediaObject(this); |
||||
mpMediaObject->setTickInterval(TICK_INTERVAL); |
||||
connect(mpMediaObject, SIGNAL(stateChanged(Phonon::State,Phonon::State)), this, SLOT(onStateChanged(Phonon::State,Phonon::State))); |
||||
connect(mpMediaObject, SIGNAL(totalTimeChanged(qint64)), this, SLOT(onTotalTimeChanged(qint64))); |
||||
connect(mpMediaObject, SIGNAL(tick(qint64)), this, SLOT(onTick(qint64))); |
||||
mpMediaObject->setCurrentSource(Phonon::MediaSource(filePath)); |
||||
createMediaPlayer(); |
||||
} |
||||
|
||||
/**
|
||||
* \brief Get the media type |
||||
* @returns the media type |
||||
*/ |
||||
eMediaType UBMediaWidget::mediaType() |
||||
{ |
||||
return mType; |
||||
} |
||||
|
||||
void UBMediaWidget::showEvent(QShowEvent* event) |
||||
{ |
||||
if(mType == eMediaType_Audio){ |
||||
return; |
||||
}else{ |
||||
if(!mpVideoWidget){ |
||||
mpVideoWidget = new Phonon::VideoWidget(this); |
||||
mMediaLayout->addStretch(1); |
||||
mMediaLayout->addWidget(mpVideoWidget); |
||||
mMediaLayout->addStretch(1); |
||||
Phonon::createPath(mpMediaObject, mpVideoWidget); |
||||
adaptSizeToVideo(); |
||||
mpMediaObject->play(); |
||||
mpMediaObject->stop(); |
||||
} |
||||
QWidget::showEvent(event); |
||||
} |
||||
} |
||||
|
||||
void UBMediaWidget::hideEvent(QHideEvent* event) |
||||
{ |
||||
if(mpMediaObject->state() == Phonon::PlayingState) |
||||
mpMediaObject->stop(); |
||||
UBActionableWidget::hideEvent(event); |
||||
} |
||||
|
||||
/**
|
||||
* \brief Create the media player |
||||
*/ |
||||
void UBMediaWidget::createMediaPlayer() |
||||
{ |
||||
mpMediaContainer = new QWidget(); |
||||
mpMediaContainer->setObjectName("UBMediaVideoContainer"); |
||||
mMediaLayout = new QHBoxLayout(); |
||||
mpMediaContainer->setLayout(mMediaLayout); |
||||
|
||||
if(eMediaType_Video == mType){ |
||||
mMediaLayout->setContentsMargins(10, 10, 10, 10); |
||||
if(isVisible()){ |
||||
mpVideoWidget = new Phonon::VideoWidget(this); |
||||
mMediaLayout->addStretch(1); |
||||
mMediaLayout->addWidget(mpVideoWidget); |
||||
mMediaLayout->addStretch(1); |
||||
Phonon::createPath(mpMediaObject, mpVideoWidget); |
||||
adaptSizeToVideo(); |
||||
} |
||||
mpAudioOutput = new Phonon::AudioOutput(Phonon::VideoCategory, this); |
||||
Phonon::createPath(mpMediaObject, mpAudioOutput); |
||||
}else if(eMediaType_Audio == mType){ |
||||
mMediaLayout->setContentsMargins(10, 10, 10, 10); |
||||
mpCover = new QLabel(mpMediaContainer); |
||||
//mpMediaContainer->setStyleSheet(QString("background: none;"));
|
||||
setAudioCover(":images/libpalette/soundIcon.svg"); |
||||
mpCover->setScaledContents(true); |
||||
mMediaLayout->addStretch(1); |
||||
mMediaLayout->addWidget(mpCover); |
||||
mMediaLayout->addStretch(1); |
||||
mpAudioOutput = new Phonon::AudioOutput(Phonon::MusicCategory, this); |
||||
Phonon::createPath(mpMediaObject, mpAudioOutput); |
||||
} |
||||
mpLayout->addWidget(mpMediaContainer, 1); |
||||
mpLayout->addLayout(mpSeekerLayout, 0); |
||||
setActionsParent(mpMediaContainer); |
||||
} |
||||
|
||||
/**
|
||||
* \brief Adapt the widget size to the video in order to keep the good aspect ratio |
||||
*/ |
||||
void UBMediaWidget::adaptSizeToVideo() |
||||
{ |
||||
if(NULL != mpMediaContainer){ |
||||
int origW = mpMediaContainer->width(); |
||||
int origH = mpMediaContainer->height(); |
||||
int newW = width(); |
||||
float scaleFactor = (float)origW/(float)newW; |
||||
int newH = origH/scaleFactor; |
||||
resize(newW, height() + newH); |
||||
} |
||||
} |
||||
|
||||
/**
|
||||
* \brief Handle the media state change notification |
||||
* @param newState as the new state |
||||
* @param oldState as the old state |
||||
*/ |
||||
void UBMediaWidget::onStateChanged(Phonon::State newState, Phonon::State oldState) |
||||
{ |
||||
if(!mGeneratingThumbnail){ |
||||
if(Phonon::LoadingState == oldState && Phonon::StoppedState == newState){ |
||||
if(eMediaType_Video == mType){ |
||||
// We do that here to generate the thumbnail of the video
|
||||
mGeneratingThumbnail = true; |
||||
mpMediaObject->play(); |
||||
mpMediaObject->pause(); |
||||
mGeneratingThumbnail = false; |
||||
} |
||||
}else if(Phonon::PlayingState == oldState && Phonon::PausedState == newState){ |
||||
mpPlayStopButton->setPixmap(QPixmap(":images/play.svg")); |
||||
mpPauseButton->setEnabled(false); |
||||
}else if((Phonon::PausedState == oldState && Phonon::PlayingState == newState) || |
||||
(Phonon::StoppedState == oldState && Phonon::PlayingState == newState)){ |
||||
mpPlayStopButton->setPixmap(QPixmap(":images/stop.svg")); |
||||
mpPauseButton->setEnabled(true); |
||||
}else if(Phonon::PlayingState == oldState && Phonon::StoppedState == newState){ |
||||
mpPlayStopButton->setPixmap(QPixmap(":images/play.svg")); |
||||
mpPauseButton->setEnabled(false); |
||||
mpSlider->setValue(0); |
||||
} |
||||
|
||||
} |
||||
// if(mType == eMediaType_Video)
|
||||
// updateView(newState);
|
||||
} |
||||
|
||||
/**
|
||||
* \brief Handles the total time change notification |
||||
* @param total as the new total time |
||||
*/ |
||||
void UBMediaWidget::onTotalTimeChanged(qint64 total) |
||||
{ |
||||
mpSlider->setMaximum(total); |
||||
} |
||||
|
||||
/**
|
||||
* \brief Handles the tick notification |
||||
* @param currentTime as the current time |
||||
*/ |
||||
void UBMediaWidget::onTick(qint64 currentTime) |
||||
{ |
||||
mAutoUpdate = true; |
||||
mpSlider->setValue((int)currentTime); |
||||
mAutoUpdate = false; |
||||
} |
||||
|
||||
/**
|
||||
* \brief Handles the seeker value change notification |
||||
* @param value as the new seeker value |
||||
*/ |
||||
void UBMediaWidget::onSliderChanged(int value) |
||||
{ |
||||
if(!mAutoUpdate){ |
||||
mpMediaObject->seek(value); |
||||
} |
||||
} |
||||
|
||||
/**
|
||||
* \brief Toggle Play-Stop |
||||
*/ |
||||
void UBMediaWidget::onPlayStopClicked() |
||||
{ |
||||
switch(mpMediaObject->state()){ |
||||
case Phonon::PlayingState: |
||||
mpMediaObject->stop(); |
||||
break; |
||||
|
||||
case Phonon::StoppedState: |
||||
case Phonon::PausedState: |
||||
mpMediaObject->play(); |
||||
break; |
||||
default: |
||||
break; |
||||
} |
||||
} |
||||
|
||||
/**
|
||||
* \brief Pause the media |
||||
*/ |
||||
void UBMediaWidget::onPauseClicked() |
||||
{ |
||||
mpMediaObject->pause(); |
||||
} |
||||
|
||||
/**
|
||||
* Get the border |
||||
* @returns the actual border |
||||
*/ |
||||
int UBMediaWidget::border() |
||||
{ |
||||
return mBorder; |
||||
} |
||||
|
||||
/**
|
||||
* \brief Handles the resize event |
||||
* @param ev as the resize event |
||||
*/ |
||||
void UBMediaWidget::resizeEvent(QResizeEvent* ev) |
||||
{ |
||||
Q_UNUSED(ev); |
||||
} |
||||
|
||||
/**
|
||||
* \brief Set the audio cover |
||||
* @param coverPath as the cover image file path |
||||
*/ |
||||
void UBMediaWidget::setAudioCover(const QString &coverPath) |
||||
{ |
||||
if(NULL != mpCover){ |
||||
mpCover->setPixmap(QPixmap(coverPath)); |
||||
} |
||||
} |
||||
|
||||
// -----------------------------------------------------------------------------------------------------------
|
||||
/**
|
||||
* \brief Constructor |
||||
* @param parent as the parent widget |
||||
* @param name as the object name |
||||
*/ |
||||
UBMediaButton::UBMediaButton(QWidget *parent, const char *name):QLabel(parent) |
||||
, mPressed(false) |
||||
{ |
||||
setObjectName(name); |
||||
resize(UBMEDIABUTTON_SIZE, UBMEDIABUTTON_SIZE); |
||||
setStyleSheet(QString("padding:0px 0px 0px 0px; margin:0px 0px 0px 0px;")); |
||||
} |
||||
|
||||
/**
|
||||
* \brief Destructor |
||||
*/ |
||||
UBMediaButton::~UBMediaButton() |
||||
{ |
||||
|
||||
} |
||||
|
||||
/**
|
||||
* \brief Handles the mouse press notification |
||||
* @param ev as the mouse press event |
||||
*/ |
||||
void UBMediaButton::mousePressEvent(QMouseEvent* ev) |
||||
{ |
||||
Q_UNUSED(ev); |
||||
mPressed = true; |
||||
} |
||||
|
||||
/**
|
||||
* \brief Handles the mouse release notification |
||||
* @param ev as the mouse release event |
||||
*/ |
||||
void UBMediaButton::mouseReleaseEvent(QMouseEvent* ev) |
||||
{ |
||||
Q_UNUSED(ev); |
||||
if(mPressed){ |
||||
mPressed = false; |
||||
emit clicked(); |
||||
} |
||||
} |
@ -1,137 +0,0 @@ |
||||
/*
|
||||
* Copyright (C) 2010-2013 Groupement d'Intérêt Public pour l'Education Numérique en Afrique (GIP ENA) |
||||
* |
||||
* This file is part of Open-Sankoré. |
||||
* |
||||
* Open-Sankoré is free software: you can redistribute it and/or modify |
||||
* it under the terms of the GNU General Public License as published by |
||||
* the Free Software Foundation, version 3 of the License, |
||||
* with a specific linking exception for the OpenSSL project's |
||||
* "OpenSSL" library (or with modified versions of it that use the |
||||
* same license as the "OpenSSL" library). |
||||
* |
||||
* Open-Sankoré is distributed in the hope that it will be useful, |
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
* GNU General Public License for more details. |
||||
* |
||||
* You should have received a copy of the GNU General Public License |
||||
* along with Open-Sankoré. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/ |
||||
|
||||
|
||||
|
||||
#ifndef UBMEDIAWIDGET_H |
||||
#define UBMEDIAWIDGET_H |
||||
|
||||
#include <QWidget> |
||||
#include <QVBoxLayout> |
||||
#include <QHBoxLayout> |
||||
#include <QLabel> |
||||
#include <QSlider> |
||||
#include <QMouseEvent> |
||||
#include <QStackedWidget> |
||||
|
||||
#include <phonon/MediaObject> |
||||
#include <phonon/VideoWidget> |
||||
#include <phonon/AudioOutput> |
||||
|
||||
#include "UBActionableWidget.h" |
||||
|
||||
#define UBMEDIABUTTON_SIZE 32 |
||||
#define TICK_INTERVAL 1000 |
||||
|
||||
/**
|
||||
* \brief The media type |
||||
*/ |
||||
typedef enum{ |
||||
eMediaType_Video, |
||||
eMediaType_Audio |
||||
}eMediaType; |
||||
|
||||
class UBMediaButton : public QLabel |
||||
{ |
||||
Q_OBJECT |
||||
public: |
||||
UBMediaButton(QWidget* parent=0, const char* name="UBMediaButton"); |
||||
~UBMediaButton(); |
||||
|
||||
signals: |
||||
void clicked(); |
||||
|
||||
protected: |
||||
void mousePressEvent(QMouseEvent* ev); |
||||
void mouseReleaseEvent(QMouseEvent* ev); |
||||
|
||||
private: |
||||
/** And indicator of the press event in progress */ |
||||
bool mPressed; |
||||
}; |
||||
|
||||
class UBMediaWidget : public UBActionableWidget |
||||
{ |
||||
Q_OBJECT |
||||
public: |
||||
UBMediaWidget(eMediaType type = eMediaType_Video, QWidget* parent=0, const char* name="UBMediaWidget"); |
||||
~UBMediaWidget(); |
||||
void setFile(const QString& filePath); |
||||
eMediaType mediaType(); |
||||
int border(); |
||||
void setAudioCover(const QString& coverPath); |
||||
void setUrl(const QString& url){mUrl = url;} |
||||
QString url(){return mUrl;} |
||||
|
||||
protected: |
||||
void resizeEvent(QResizeEvent* ev); |
||||
void showEvent(QShowEvent* event); |
||||
void hideEvent(QHideEvent* event); |
||||
/** The current media file path */ |
||||
QString mFilePath; |
||||
|
||||
private slots: |
||||
void onPlayStopClicked(); |
||||
void onPauseClicked(); |
||||
void onStateChanged(Phonon::State newState, Phonon::State oldState); |
||||
void onTotalTimeChanged(qint64 total); |
||||
void onTick(qint64 currentTime); |
||||
void onSliderChanged(int value); |
||||
|
||||
private: |
||||
void createMediaPlayer(); |
||||
void adaptSizeToVideo(); |
||||
|
||||
/** The current media type */ |
||||
eMediaType mType; |
||||
/** The media object */ |
||||
Phonon::MediaObject* mpMediaObject; |
||||
/** The video renderer */ |
||||
Phonon::VideoWidget* mpVideoWidget; |
||||
/** The audio renderer */ |
||||
Phonon::AudioOutput* mpAudioOutput; |
||||
/** The principal layout of this widget */ |
||||
QVBoxLayout* mpLayout; |
||||
/** The seeker layout */ |
||||
QHBoxLayout* mpSeekerLayout; |
||||
/** The play-stop button */ |
||||
UBMediaButton* mpPlayStopButton; |
||||
/** The pause button */ |
||||
UBMediaButton* mpPauseButton; |
||||
/** The seeker slider */ |
||||
QSlider* mpSlider; |
||||
/** An indicator of the seeker auto update in progress */ |
||||
bool mAutoUpdate; |
||||
/** An indicator of the thumbnail generation in progress */ |
||||
bool mGeneratingThumbnail; |
||||
/** The border */ |
||||
int mBorder; |
||||
/** A widget that will contain the media */ |
||||
QWidget* mpMediaContainer; |
||||
/** The media layout */ |
||||
QHBoxLayout* mMediaLayout; |
||||
/** The audio cover */ |
||||
QLabel* mpCover; |
||||
/** The media url */ |
||||
QString mUrl; |
||||
}; |
||||
|
||||
#endif // UBMEDIAWIDGET_H
|
@ -1,8 +0,0 @@ |
||||
|
||||
HEADERS += \ |
||||
src/customWidgets/UBMediaWidget.h \ |
||||
src/customWidgets/UBActionableWidget.h |
||||
|
||||
SOURCES += \ |
||||
src/customWidgets/UBMediaWidget.cpp \ |
||||
src/customWidgets/UBActionableWidget.cpp |
@ -1,55 +0,0 @@ |
||||
/*
|
||||
* Copyright (C) 2010-2013 Groupement d'Intérêt Public pour l'Education Numérique en Afrique (GIP ENA) |
||||
* |
||||
* This file is part of Open-Sankoré. |
||||
* |
||||
* Open-Sankoré is free software: you can redistribute it and/or modify |
||||
* it under the terms of the GNU General Public License as published by |
||||
* the Free Software Foundation, version 3 of the License, |
||||
* with a specific linking exception for the OpenSSL project's |
||||
* "OpenSSL" library (or with modified versions of it that use the |
||||
* same license as the "OpenSSL" library). |
||||
* |
||||
* Open-Sankoré is distributed in the hope that it will be useful, |
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
* GNU General Public License for more details. |
||||
* |
||||
* You should have received a copy of the GNU General Public License |
||||
* along with Open-Sankoré. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/ |
||||
|
||||
|
||||
|
||||
#include "UBDocumentUndoCommand.h" |
||||
|
||||
#include "document/UBDocumentProxy.h" |
||||
#include "UBGraphicsScene.h" |
||||
|
||||
#include "core/memcheck.h" |
||||
|
||||
UBDocumentUndoCommand::UBDocumentUndoCommand(UBDocumentProxy* pDocument, const QList<UBGraphicsScene*>& pOldScenes, |
||||
const QList<UBGraphicsScene*>& pNewScenes, const int& pActiveSceneIndex) |
||||
: mDocument(pDocument) |
||||
, mUndoScenes(pOldScenes) |
||||
, mRedoScenes(pNewScenes) |
||||
, mActiveSceneIndex(pActiveSceneIndex) |
||||
{ |
||||
// NOOP
|
||||
} |
||||
|
||||
UBDocumentUndoCommand::~UBDocumentUndoCommand() |
||||
{ |
||||
// NOOP
|
||||
} |
||||
|
||||
void UBDocumentUndoCommand::undo() |
||||
{ |
||||
// NOOP
|
||||
} |
||||
|
||||
void UBDocumentUndoCommand::redo() |
||||
{ |
||||
// NOOP
|
||||
} |
||||
|
@ -1,55 +0,0 @@ |
||||
/*
|
||||
* Copyright (C) 2010-2013 Groupement d'Intérêt Public pour l'Education Numérique en Afrique (GIP ENA) |
||||
* |
||||
* This file is part of Open-Sankoré. |
||||
* |
||||
* Open-Sankoré is free software: you can redistribute it and/or modify |
||||
* it under the terms of the GNU General Public License as published by |
||||
* the Free Software Foundation, version 3 of the License, |
||||
* with a specific linking exception for the OpenSSL project's |
||||
* "OpenSSL" library (or with modified versions of it that use the |
||||
* same license as the "OpenSSL" library). |
||||
* |
||||
* Open-Sankoré is distributed in the hope that it will be useful, |
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
* GNU General Public License for more details. |
||||
* |
||||
* You should have received a copy of the GNU General Public License |
||||
* along with Open-Sankoré. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/ |
||||
|
||||
|
||||
|
||||
#ifndef UBDOCUMENTUNDOCOMMAND_H_ |
||||
#define UBDOCUMENTUNDOCOMMAND_H_ |
||||
|
||||
#include <QtGui> |
||||
#include "UBAbstractUndoCommand.h" |
||||
|
||||
class UBDocumentProxy; |
||||
class UBGraphicsScene; |
||||
|
||||
class UBDocumentUndoCommand: public UBAbstractUndoCommand |
||||
{ |
||||
public: |
||||
UBDocumentUndoCommand(UBDocumentProxy* pDocument, const QList<UBGraphicsScene*>& pOldScenes, |
||||
const QList<UBGraphicsScene*>& pNewScenes, const int& pActiveSceneIndex); |
||||
virtual ~UBDocumentUndoCommand(); |
||||
|
||||
virtual UndoType getType() { return undotype_DOCUMENT; }; |
||||
|
||||
protected: |
||||
|
||||
virtual void undo(); |
||||
virtual void redo(); |
||||
|
||||
private: |
||||
|
||||
UBDocumentProxy* mDocument; |
||||
QList<UBGraphicsScene*> mUndoScenes; |
||||
QList<UBGraphicsScene*> mRedoScenes; |
||||
int mActiveSceneIndex; |
||||
}; |
||||
|
||||
#endif /* UBDOCUMENTUNDOCOMMAND_H_ */ |