tutorial and webkit instance associated removed

preferencesAboutTextFull
Claudio Valerio 12 years ago
parent 63834823c4
commit 3cf0cc5e99
  1. 54
      resources/etc/Tutorial/tutorial_en/CSS/grid.css
  2. 29
      resources/etc/Tutorial/tutorial_en/CSS/reset.css
  3. 94
      resources/etc/Tutorial/tutorial_en/CSS/typography.css
  4. BIN
      resources/etc/Tutorial/tutorial_en/images/logo_open_sankore.png
  5. BIN
      resources/etc/Tutorial/tutorial_en/images/manuel.png
  6. BIN
      resources/etc/Tutorial/tutorial_en/images/pedago.png
  7. BIN
      resources/etc/Tutorial/tutorial_en/images/tech.png
  8. BIN
      resources/etc/Tutorial/tutorial_en/images/video.png
  9. 72
      resources/etc/Tutorial/tutorial_en/index.html
  10. 54
      resources/etc/Tutorial/tutorial_fr/CSS/grid.css
  11. 29
      resources/etc/Tutorial/tutorial_fr/CSS/reset.css
  12. 94
      resources/etc/Tutorial/tutorial_fr/CSS/typography.css
  13. BIN
      resources/etc/Tutorial/tutorial_fr/images/logo_open_sankore.png
  14. BIN
      resources/etc/Tutorial/tutorial_fr/images/manuel.png
  15. BIN
      resources/etc/Tutorial/tutorial_fr/images/pedago.png
  16. BIN
      resources/etc/Tutorial/tutorial_fr/images/tech.png
  17. BIN
      resources/etc/Tutorial/tutorial_fr/images/video.png
  18. 72
      resources/etc/Tutorial/tutorial_fr/index.html
  19. 40
      resources/forms/mainWindow.ui
  20. 2
      src/board/UBBoardController.cpp
  21. 8
      src/board/UBBoardPaletteManager.cpp
  22. 6
      src/core/UBApplication.cpp
  23. 48
      src/core/UBApplicationController.cpp
  24. 4
      src/core/UBApplicationController.h
  25. 34
      src/gui/UBWebToolsPalette.cpp
  26. 2
      src/gui/UBWebToolsPalette.h
  27. 254
      src/web/UBWebController.cpp
  28. 24
      src/web/UBWebController.h
  29. 53
      src/web/browser/WBBrowserWindow.cpp
  30. 3
      src/web/browser/WBBrowserWindow.h

@ -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; }

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 59 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

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">&nbsp;</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; }

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 59 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

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">&nbsp;</div>
</div>
</body>
</html>

@ -7,7 +7,7 @@
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>1342</width> <width>1342</width>
<height>334</height> <height>223</height>
</rect> </rect>
</property> </property>
<property name="windowTitle"> <property name="windowTitle">
@ -170,44 +170,6 @@
<addaction name="actionDesktop"/> <addaction name="actionDesktop"/>
<addaction name="actionMenu"/> <addaction name="actionMenu"/>
</widget> </widget>
<widget class="QToolBar" name="tutorialToolBar">
<property name="contextMenuPolicy">
<enum>Qt::PreventContextMenu</enum>
</property>
<property name="windowTitle">
<string>Tutorial</string>
</property>
<property name="layoutDirection">
<enum>Qt::LeftToRight</enum>
</property>
<property name="movable">
<bool>false</bool>
</property>
<property name="allowedAreas">
<set>Qt::BottomToolBarArea|Qt::TopToolBarArea</set>
</property>
<property name="iconSize">
<size>
<width>48</width>
<height>32</height>
</size>
</property>
<property name="floatable">
<bool>false</bool>
</property>
<attribute name="toolBarArea">
<enum>TopToolBarArea</enum>
</attribute>
<attribute name="toolBarBreak">
<bool>true</bool>
</attribute>
<addaction name="actionWebBack"/>
<addaction name="actionWebForward"/>
<addaction name="actionBoard"/>
<addaction name="actionWeb"/>
<addaction name="actionDocument"/>
<addaction name="actionMenu"/>
</widget>
<action name="actionStylus"> <action name="actionStylus">
<property name="checkable"> <property name="checkable">
<bool>true</bool> <bool>true</bool>

@ -335,7 +335,6 @@ void UBBoardController::setupToolbar()
//-----------------------------------------------------------// //-----------------------------------------------------------//
UBApplication::app()->insertSpaceToToolbarBeforeAction(mMainWindow->boardToolBar, mMainWindow->actionBoard); UBApplication::app()->insertSpaceToToolbarBeforeAction(mMainWindow->boardToolBar, mMainWindow->actionBoard);
UBApplication::app()->insertSpaceToToolbarBeforeAction(mMainWindow->tutorialToolBar, mMainWindow->actionBoard);
UBApplication::app()->decorateActionMenu(mMainWindow->actionMenu); UBApplication::app()->decorateActionMenu(mMainWindow->actionMenu);
@ -343,7 +342,6 @@ void UBBoardController::setupToolbar()
mMainWindow->webToolBar->hide(); mMainWindow->webToolBar->hide();
mMainWindow->documentToolBar->hide(); mMainWindow->documentToolBar->hide();
mMainWindow->tutorialToolBar->hide();
connectToolbar(); connectToolbar();
initToolbarTexts(); initToolbarTexts();

@ -177,14 +177,6 @@ void UBBoardPaletteManager::slot_changeMainMode(UBApplicationController::MainMod
changeMode(eUBDockPaletteWidget_BOARD); changeMode(eUBDockPaletteWidget_BOARD);
} }
break; break;
case UBApplicationController::Tutorial:
{
if (UBPlatformUtils::hasVirtualKeyboard() && mKeyboardPalette != NULL)
mKeyboardPalette->hide();
}
break;
case UBApplicationController::Internet: case UBApplicationController::Internet:
changeMode(eUBDockPaletteWidget_WEB); changeMode(eUBDockPaletteWidget_WEB);
break; break;

@ -345,12 +345,9 @@ int UBApplication::exec(const QString& pFileToImport)
mPreferencesController = new UBPreferencesController(mainWindow); mPreferencesController = new UBPreferencesController(mainWindow);
connect(mainWindow->actionPreferences, SIGNAL(triggered()), mPreferencesController, SLOT(show())); connect(mainWindow->actionPreferences, SIGNAL(triggered()), mPreferencesController, SLOT(show()));
connect(mainWindow->actionTutorial, SIGNAL(triggered()), applicationController, SLOT(showTutorial()));
connect(mainWindow->actionTutorial, SIGNAL(triggered()), this, SLOT(stopScript()));
connect(mainWindow->actionCheckUpdate, SIGNAL(triggered()), applicationController, SLOT(checkUpdateRequest())); connect(mainWindow->actionCheckUpdate, SIGNAL(triggered()), applicationController, SLOT(checkUpdateRequest()));
toolBarPositionChanged(UBSettings::settings()->appToolBarPositionedAtTop->get()); toolBarPositionChanged(UBSettings::settings()->appToolBarPositionedAtTop->get());
bool bUseMultiScreen = UBSettings::settings()->appUseMultiscreen->get().toBool(); bool bUseMultiScreen = UBSettings::settings()->appUseMultiscreen->get().toBool();
@ -444,7 +441,6 @@ void UBApplication::toolBarPositionChanged(QVariant topOrBottom)
mainWindow->addToolBar(area, mainWindow->boardToolBar); mainWindow->addToolBar(area, mainWindow->boardToolBar);
mainWindow->addToolBar(area, mainWindow->webToolBar); mainWindow->addToolBar(area, mainWindow->webToolBar);
mainWindow->addToolBar(area, mainWindow->documentToolBar); mainWindow->addToolBar(area, mainWindow->documentToolBar);
mainWindow->addToolBar(area, mainWindow->tutorialToolBar);
webController->showTabAtTop(topOrBottom.toBool()); webController->showTabAtTop(topOrBottom.toBool());
@ -457,7 +453,6 @@ void UBApplication::toolBarDisplayTextChanged(QVariant display)
mainWindow->boardToolBar->setToolButtonStyle(toolButtonStyle); mainWindow->boardToolBar->setToolButtonStyle(toolButtonStyle);
mainWindow->webToolBar->setToolButtonStyle(toolButtonStyle); mainWindow->webToolBar->setToolButtonStyle(toolButtonStyle);
mainWindow->documentToolBar->setToolButtonStyle(toolButtonStyle); mainWindow->documentToolBar->setToolButtonStyle(toolButtonStyle);
mainWindow->tutorialToolBar->setToolButtonStyle(toolButtonStyle);
} }
@ -539,7 +534,6 @@ void UBApplication::decorateActionMenu(QAction* action)
mainWindow->actionCheckUpdate->setEnabled(false); mainWindow->actionCheckUpdate->setEnabled(false);
menu->addSeparator(); menu->addSeparator();
menu->addAction(mainWindow->actionTutorial);
#ifndef Q_WS_X11 // No Podcast on Linux yet #ifndef Q_WS_X11 // No Podcast on Linux yet
menu->addAction(mainWindow->actionPodcast); menu->addAction(mainWindow->actionPodcast);

@ -342,7 +342,6 @@ void UBApplicationController::showBoard()
{ {
mMainWindow->webToolBar->hide(); mMainWindow->webToolBar->hide();
mMainWindow->documentToolBar->hide(); mMainWindow->documentToolBar->hide();
mMainWindow->tutorialToolBar->hide();
mMainWindow->boardToolBar->show(); mMainWindow->boardToolBar->show();
if (mMainMode == Document) if (mMainMode == Document)
@ -391,14 +390,12 @@ void UBApplicationController::showInternet()
if (UBSettings::settings()->webUseExternalBrowser->get().toBool()) if (UBSettings::settings()->webUseExternalBrowser->get().toBool())
{ {
showDesktop(true); showDesktop(true);
UBApplication::webController->show(UBWebController::WebBrowser); UBApplication::webController->show();
// really no have emit mainModeChanged here ? potential problem with virtual keyboard ?
} }
else else
{ {
mMainWindow->boardToolBar->hide(); mMainWindow->boardToolBar->hide();
mMainWindow->documentToolBar->hide(); mMainWindow->documentToolBar->hide();
mMainWindow->tutorialToolBar->hide();
mMainWindow->webToolBar->show(); mMainWindow->webToolBar->show();
mMainMode = Internet; mMainMode = Internet;
@ -408,7 +405,7 @@ void UBApplicationController::showInternet()
mMainWindow->show(); mMainWindow->show();
mUninoteController->hideWindow(); mUninoteController->hideWindow();
UBApplication::webController->show(UBWebController::WebBrowser); UBApplication::webController->show();
emit mainModeChanged(Internet); emit mainModeChanged(Internet);
} }
@ -419,7 +416,6 @@ void UBApplicationController::showDocument()
{ {
mMainWindow->webToolBar->hide(); mMainWindow->webToolBar->hide();
mMainWindow->boardToolBar->hide(); mMainWindow->boardToolBar->hide();
mMainWindow->tutorialToolBar->hide();
mMainWindow->documentToolBar->show(); mMainWindow->documentToolBar->show();
mMainMode = Document; mMainMode = Document;
@ -475,42 +471,6 @@ void UBApplicationController::showDesktop(bool dontSwitchFrontProcess)
} }
void UBApplicationController::showTutorial()
{
if (UBApplication::boardController)
{
UBApplication::boardController->persistCurrentScene();
UBApplication::boardController->hide();
}
if (UBSettings::settings()->webUseExternalBrowser->get().toBool())
{
showDesktop(true);
UBApplication::webController->show(UBWebController::Tutorial);
}
else{
mMainWindow->webToolBar->hide();
mMainWindow->boardToolBar->hide();
mMainWindow->documentToolBar->hide();
mMainWindow->tutorialToolBar->show();
mMainMode = Tutorial;
adaptToolBar();
mUninoteController->hideWindow();
UBApplication::webController->show(UBWebController::Tutorial);
mirroringEnabled(false);
emit mainModeChanged(mMainMode);
}
}
void UBApplicationController::checkUpdate() void UBApplicationController::checkUpdate()
{ {
// if(mHttp) // if(mHttp)
@ -588,10 +548,6 @@ void UBApplicationController::hideDesktop()
{ {
showDocument(); showDocument();
} }
else if (mMainMode == Tutorial)
{
showTutorial();
}
mIsShowingDesktop = false; mIsShowingDesktop = false;

@ -92,7 +92,7 @@ class UBApplicationController : public QObject
enum MainMode enum MainMode
{ {
Board = 0, Internet, Document, Tutorial, WebDocument Board = 0, Internet, Document, WebDocument
}; };
MainMode displayMode() MainMode displayMode()
@ -136,8 +136,6 @@ class UBApplicationController : public QObject
void actionCopy(); void actionCopy();
void actionPaste(); void actionPaste();
void showTutorial();
void checkUpdateRequest(); void checkUpdateRequest();
void checkUpdateAtLaunch(); void checkUpdateAtLaunch();

@ -38,30 +38,22 @@
#include "core/memcheck.h" #include "core/memcheck.h"
UBWebToolsPalette::UBWebToolsPalette(QWidget *parent,bool tutorialMode=false) UBWebToolsPalette::UBWebToolsPalette(QWidget *parent)
: UBActionPalette(Qt::TopRightCorner, parent) : UBActionPalette(Qt::TopRightCorner, parent)
{ {
QList<QAction*> actions; QList<QAction*> actions;
if (tutorialMode){
actions << UBApplication::mainWindow->actionBoard; actions << UBApplication::mainWindow->actionWebTrapFlash;
}
else{ actions << UBApplication::mainWindow->actionWebCustomCapture;
actions << UBApplication::mainWindow->actionWebTrapFlash; actions << UBApplication::mainWindow->actionWebWindowCapture;
//actions << UBApplication::mainWindow->actionWebTrap; actions << UBApplication::mainWindow->actionWebOEmbed;
actions << UBApplication::mainWindow->actionWebCustomCapture; actions << UBApplication::mainWindow->actionWebShowHideOnDisplay;
actions << UBApplication::mainWindow->actionWebWindowCapture;
actions << UBApplication::mainWindow->actionWebOEmbed; if (UBPlatformUtils::hasVirtualKeyboard())
actions << UBApplication::mainWindow->actionVirtualKeyboard;
//actions << UBApplication::mainWindow->actionEduMedia;
actions << UBApplication::mainWindow->actionWebShowHideOnDisplay;
if (UBPlatformUtils::hasVirtualKeyboard())
{
actions << UBApplication::mainWindow->actionVirtualKeyboard;
}
}
setActions(actions); setActions(actions);
setButtonIconSize(QSize(42, 42)); setButtonIconSize(QSize(42, 42));
adjustSizeAndPosition(); adjustSizeAndPosition();

@ -32,7 +32,7 @@ class UBWebToolsPalette : public UBActionPalette
Q_OBJECT; Q_OBJECT;
public: public:
UBWebToolsPalette(QWidget *parent,bool tutorialMode); UBWebToolsPalette(QWidget *parent);
virtual ~UBWebToolsPalette(); virtual ~UBWebToolsPalette();
}; };

@ -70,20 +70,6 @@ UBWebController::UBWebController(UBMainWindow* mainWindow)
, mToolsPalettePositionned(false) , mToolsPalettePositionned(false)
, mDownloadViewIsVisible(false) , mDownloadViewIsVisible(false)
{ {
connect(mMainWindow->actionWebTools, SIGNAL(toggled(bool)), this, SLOT(toggleWebToolsPalette(bool)));
mStackedWidget = new QStackedWidget();
mStackedWidget->addWidget(new QWidget(mStackedWidget));
mStackedWidget->addWidget(new QWidget(mStackedWidget));
mMainWindow->addWebWidget(mStackedWidget);
for (int i = 0; i < TotalNumberOfWebInstances; i += 1){
mWebBrowserList[i] = 0;
mToolsPaletteList[i] = 0;
mToolsPalettePositionnedList[i] = false;
}
connect(&mOEmbedParser, SIGNAL(oembedParsed(QVector<sOEmbedContent>)), this, SLOT(onOEmbedParsed(QVector<sOEmbedContent>))); connect(&mOEmbedParser, SIGNAL(oembedParsed(QVector<sOEmbedContent>)), this, SLOT(onOEmbedParsed(QVector<sOEmbedContent>)));
// TODO : Comment the next line to continue the Youtube button bugfix // TODO : Comment the next line to continue the Youtube button bugfix
@ -94,9 +80,6 @@ UBWebController::UBWebController(UBMainWindow* mainWindow)
UBWebController::~UBWebController() UBWebController::~UBWebController()
{ {
// NOOP // NOOP
if (mStackedWidget) {
delete mStackedWidget;
}
} }
void UBWebController::initialiazemOEmbedProviders() void UBWebController::initialiazemOEmbedProviders()
@ -130,17 +113,15 @@ void UBWebController::webBrowserInstance()
} }
else else
{ {
mCurrentWebBrowser = &mWebBrowserList[WebBrowser]; if (!mCurrentWebBrowser)
mToolsCurrentPalette = &mToolsPaletteList[WebBrowser];
mToolsPalettePositionned = mToolsPalettePositionnedList[WebBrowser];
if (!(*mCurrentWebBrowser))
{ {
(*mCurrentWebBrowser) = new WBBrowserWindow(mMainWindow->centralWidget(), mMainWindow); mCurrentWebBrowser = new WBBrowserWindow(mMainWindow->centralWidget(), mMainWindow);
connect((*mCurrentWebBrowser), SIGNAL(activeViewChange(QWidget*)), this, SLOT(setSourceWidget(QWidget*))); mMainWindow->addWebWidget(mCurrentWebBrowser);
WBBrowserWindow::downloadManager()->setParent((*mCurrentWebBrowser), Qt::Tool); connect(mCurrentWebBrowser, SIGNAL(activeViewChange(QWidget*)), this, SLOT(setSourceWidget(QWidget*)));
WBBrowserWindow::downloadManager()->setParent(mCurrentWebBrowser, Qt::Tool);
UBApplication::app()->insertSpaceToToolbarBeforeAction(mMainWindow->webToolBar, mMainWindow->actionBoard, 32); UBApplication::app()->insertSpaceToToolbarBeforeAction(mMainWindow->webToolBar, mMainWindow->actionBoard, 32);
UBApplication::app()->decorateActionMenu(mMainWindow->actionMenu); UBApplication::app()->decorateActionMenu(mMainWindow->actionMenu);
@ -149,28 +130,21 @@ void UBWebController::webBrowserInstance()
mMainWindow->actionBookmarks->setVisible(showAddBookmarkButtons); mMainWindow->actionBookmarks->setVisible(showAddBookmarkButtons);
mMainWindow->actionAddBookmark->setVisible(showAddBookmarkButtons); mMainWindow->actionAddBookmark->setVisible(showAddBookmarkButtons);
mStackedWidget->setCurrentIndex(WebBrowser);
if (mStackedWidget->currentWidget()) {
mStackedWidget->removeWidget(mStackedWidget->currentWidget());
}
mStackedWidget->insertWidget(WebBrowser, (*mCurrentWebBrowser));
showTabAtTop(UBSettings::settings()->appToolBarPositionedAtTop->get().toBool()); showTabAtTop(UBSettings::settings()->appToolBarPositionedAtTop->get().toBool());
adaptToolBar(); adaptToolBar();
mTrapFlashController = new UBTrapFlashController((*mCurrentWebBrowser)); mTrapFlashController = new UBTrapFlashController(mCurrentWebBrowser);
connect((*mCurrentWebBrowser), SIGNAL(activeViewPageChanged()), this, SLOT(activePageChanged())); connect(mCurrentWebBrowser, SIGNAL(activeViewPageChanged()), this, SLOT(activePageChanged()));
(*mCurrentWebBrowser)->loadUrl(currentUrl); mCurrentWebBrowser->loadUrl(currentUrl);
(*mCurrentWebBrowser)->tabWidget()->tabBar()->show(); mCurrentWebBrowser->tabWidget()->tabBar()->show();
(*mCurrentWebBrowser)->tabWidget()->lineEdits()->show(); mCurrentWebBrowser->tabWidget()->lineEdits()->show();
} }
mStackedWidget->setCurrentIndex(WebBrowser); UBApplication::applicationController->setMirrorSourceWidget(mCurrentWebBrowser->paintWidget());
UBApplication::applicationController->setMirrorSourceWidget((*mCurrentWebBrowser)->paintWidget());
mMainWindow->switchToWebWidget(); mMainWindow->switchToWebWidget();
setupPalettes(); setupPalettes();
@ -178,87 +152,16 @@ void UBWebController::webBrowserInstance()
bool mirroring = UBSettings::settings()->webShowPageImmediatelyOnMirroredScreen->get().toBool(); bool mirroring = UBSettings::settings()->webShowPageImmediatelyOnMirroredScreen->get().toBool();
UBApplication::mainWindow->actionWebShowHideOnDisplay->setChecked(mirroring); UBApplication::mainWindow->actionWebShowHideOnDisplay->setChecked(mirroring);
(*mToolsCurrentPalette)->show(); mToolsCurrentPalette->show();
} }
if (mDownloadViewIsVisible) if (mDownloadViewIsVisible)
WBBrowserWindow::downloadManager()->show(); WBBrowserWindow::downloadManager()->show();
} }
void UBWebController::tutorialWebInstance() void UBWebController::show()
{ {
QLocale locale = QLocale(); webBrowserInstance();
QString language = "_" + locale.name().left(2);
QString tutorialHtmlIndexFile = 0;
QString tutorialPath = "/etc/Tutorial/tutorial" + language + "/index.html";
#if defined(Q_WS_MAC)
tutorialHtmlIndexFile = QApplication::applicationDirPath()+ "/../Resources" + tutorialPath;
#else
tutorialHtmlIndexFile = QApplication::applicationDirPath() + tutorialPath;
#endif
QUrl currentUrl = QUrl::fromLocalFile(tutorialHtmlIndexFile);
if (UBSettings::settings()->webUseExternalBrowser->get().toBool())
{
QDesktopServices::openUrl(currentUrl);
}
else
{
mCurrentWebBrowser = &mWebBrowserList[Tutorial];
mToolsPalettePositionned = &mToolsPalettePositionnedList[Tutorial];
if (!(*mCurrentWebBrowser))
{
(*mCurrentWebBrowser) = new WBBrowserWindow(mMainWindow->centralWidget(), mMainWindow, true);
connect((*mCurrentWebBrowser), SIGNAL(activeViewChange(QWidget*)), this, SLOT(setSourceWidget(QWidget*)));
mStackedWidget->setCurrentIndex(Tutorial);
if (mStackedWidget->currentWidget()) {
mStackedWidget->removeWidget(mStackedWidget->currentWidget());
}
mStackedWidget->insertWidget(Tutorial, (*mCurrentWebBrowser));
adaptToolBar();
mTrapFlashController = new UBTrapFlashController((*mCurrentWebBrowser));
connect((*mCurrentWebBrowser), SIGNAL(activeViewPageChanged()), this, SLOT(activePageChanged()));
(*mCurrentWebBrowser)->loadUrl(currentUrl);
(*mCurrentWebBrowser)->tabWidget()->tabBar()->hide();
(*mCurrentWebBrowser)->tabWidget()->lineEdits()->hide();
}
else
(*mCurrentWebBrowser)->loadUrl(currentUrl);
mStackedWidget->setCurrentIndex(Tutorial);
UBApplication::applicationController->setMirrorSourceWidget((*mCurrentWebBrowser)->paintWidget());
mMainWindow->switchToWebWidget();
screenLayoutChanged();
bool mirroring = UBSettings::settings()->webShowPageImmediatelyOnMirroredScreen->get().toBool();
UBApplication::mainWindow->actionWebShowHideOnDisplay->setChecked(mirroring);
}
}
void UBWebController::show(WebInstance type)
{
switch(type)
{
case WebBrowser:
webBrowserInstance();
break;
case Tutorial:
tutorialWebInstance();
break;
default:
qCritical() << __FILE__ << " non supported web instance type " << QString::number(type) ;
break;
}
} }
void UBWebController::setSourceWidget(QWidget* pWidget) void UBWebController::setSourceWidget(QWidget* pWidget)
@ -277,16 +180,14 @@ void UBWebController::trapFlash()
void UBWebController::activePageChanged() void UBWebController::activePageChanged()
{ {
if (mCurrentWebBrowser && (*mCurrentWebBrowser)->currentTabWebView()) if (mCurrentWebBrowser && mCurrentWebBrowser->currentTabWebView())
{ {
if (mTrapFlashController && (*mCurrentWebBrowser)->currentTabWebView()->page()) if (mTrapFlashController && mCurrentWebBrowser->currentTabWebView()->page())
{ mTrapFlashController->updateTrapFlashFromPage(mCurrentWebBrowser->currentTabWebView()->page()->currentFrame());
mTrapFlashController->updateTrapFlashFromPage((*mCurrentWebBrowser)->currentTabWebView()->page()->currentFrame());
}
mMainWindow->actionWebTrap->setChecked(false); mMainWindow->actionWebTrap->setChecked(false);
QUrl latestUrl = (*mCurrentWebBrowser)->currentTabWebView()->url(); QUrl latestUrl = mCurrentWebBrowser->currentTabWebView()->url();
// TODO : Uncomment the next line to continue the youtube button bugfix // TODO : Uncomment the next line to continue the youtube button bugfix
//UBApplication::mainWindow->actionWebOEmbed->setEnabled(hasEmbeddedContent()); //UBApplication::mainWindow->actionWebOEmbed->setEnabled(hasEmbeddedContent());
@ -294,7 +195,7 @@ void UBWebController::activePageChanged()
UBApplication::mainWindow->actionWebOEmbed->setEnabled(isOEmbedable(latestUrl)); UBApplication::mainWindow->actionWebOEmbed->setEnabled(isOEmbedable(latestUrl));
UBApplication::mainWindow->actionEduMedia->setEnabled(isEduMedia(latestUrl)); UBApplication::mainWindow->actionEduMedia->setEnabled(isEduMedia(latestUrl));
emit activeWebPageChanged((*mCurrentWebBrowser)->currentTabWebView()); emit activeWebPageChanged(mCurrentWebBrowser->currentTabWebView());
} }
} }
@ -302,7 +203,7 @@ bool UBWebController::hasEmbeddedContent()
{ {
bool bHasContent = false; bool bHasContent = false;
if(mCurrentWebBrowser){ if(mCurrentWebBrowser){
QString html = (*mCurrentWebBrowser)->currentTabWebView()->webPage()->mainFrame()->toHtml(); QString html = mCurrentWebBrowser->currentTabWebView()->webPage()->mainFrame()->toHtml();
// search the presence of "+oembed" // search the presence of "+oembed"
QString query = "\\+oembed([^>]*)>"; QString query = "\\+oembed([^>]*)>";
@ -334,12 +235,11 @@ QPixmap UBWebController::captureCurrentPage()
QPixmap pix; QPixmap pix;
if (mCurrentWebBrowser if (mCurrentWebBrowser
&& (*mCurrentWebBrowser) && mCurrentWebBrowser->currentTabWebView()
&& (*mCurrentWebBrowser)->currentTabWebView() && mCurrentWebBrowser->currentTabWebView()->page()
&& (*mCurrentWebBrowser)->currentTabWebView()->page() && mCurrentWebBrowser->currentTabWebView()->page()->mainFrame())
&& (*mCurrentWebBrowser)->currentTabWebView()->page()->mainFrame())
{ {
QWebFrame* frame = (*mCurrentWebBrowser)->currentTabWebView()->page()->mainFrame(); QWebFrame* frame = mCurrentWebBrowser->currentTabWebView()->page()->mainFrame();
QSize size = frame->contentsSize(); QSize size = frame->contentsSize();
qDebug() << size; qDebug() << size;
@ -349,8 +249,8 @@ QPixmap UBWebController::captureCurrentPage()
QVariant width = frame->evaluateJavaScript("document.getElementsByTagName('body')[0].clientWidth"); QVariant width = frame->evaluateJavaScript("document.getElementsByTagName('body')[0].clientWidth");
QVariant height = frame->evaluateJavaScript("document.getElementsByTagName('body')[0].clientHeight"); QVariant height = frame->evaluateJavaScript("document.getElementsByTagName('body')[0].clientHeight");
QSize vieportSize = (*mCurrentWebBrowser)->currentTabWebView()->page()->viewportSize(); QSize vieportSize = mCurrentWebBrowser->currentTabWebView()->page()->viewportSize();
(*mCurrentWebBrowser)->currentTabWebView()->page()->setViewportSize(frame->contentsSize()); mCurrentWebBrowser->currentTabWebView()->page()->setViewportSize(frame->contentsSize());
pix = QPixmap(frame->geometry().width(), frame->geometry().height()); pix = QPixmap(frame->geometry().width(), frame->geometry().height());
{ {
@ -374,7 +274,7 @@ QPixmap UBWebController::captureCurrentPage()
} }
(*mCurrentWebBrowser)->currentTabWebView()->page()->setViewportSize(vieportSize); mCurrentWebBrowser->currentTabWebView()->page()->setViewportSize(vieportSize);
} }
return pix; return pix;
@ -383,10 +283,10 @@ QPixmap UBWebController::captureCurrentPage()
void UBWebController::setupPalettes() void UBWebController::setupPalettes()
{ {
if(!(*mToolsCurrentPalette)) if(!mToolsCurrentPalette)
{ {
(*mToolsCurrentPalette) = new UBWebToolsPalette(UBApplication::mainWindow, false); mToolsCurrentPalette = new UBWebToolsPalette(UBApplication::mainWindow);
UBApplication::boardController->paletteManager()->setCurrentWebToolsPalette(*mToolsCurrentPalette); UBApplication::boardController->paletteManager()->setCurrentWebToolsPalette(mToolsCurrentPalette);
#ifndef Q_WS_WIN #ifndef Q_WS_WIN
if (UBPlatformUtils::hasVirtualKeyboard() && UBApplication::boardController->paletteManager()->mKeyboardPalette) if (UBPlatformUtils::hasVirtualKeyboard() && UBApplication::boardController->paletteManager()->mKeyboardPalette)
connect(UBApplication::boardController->paletteManager()->mKeyboardPalette, SIGNAL(closed()), connect(UBApplication::boardController->paletteManager()->mKeyboardPalette, SIGNAL(closed()),
@ -402,15 +302,14 @@ void UBWebController::setupPalettes()
connect(mMainWindow->actionWebShowHideOnDisplay, SIGNAL(toggled(bool)), this, SLOT(toogleMirroring(bool))); connect(mMainWindow->actionWebShowHideOnDisplay, SIGNAL(toggled(bool)), this, SLOT(toogleMirroring(bool)));
connect(mMainWindow->actionWebTrap, SIGNAL(toggled(bool)), this, SLOT(toggleWebTrap(bool))); connect(mMainWindow->actionWebTrap, SIGNAL(toggled(bool)), this, SLOT(toggleWebTrap(bool)));
(*mToolsCurrentPalette)->hide(); mToolsCurrentPalette->hide();
(*mToolsCurrentPalette)->adjustSizeAndPosition(); mToolsCurrentPalette->adjustSizeAndPosition();
if (controlView()){ if (controlView()){
int left = controlView()->width() - 20 - (*mToolsCurrentPalette)->width(); int left = controlView()->width() - 20 - mToolsCurrentPalette->width();
int top = (controlView()->height() - (*mToolsCurrentPalette)->height()) / 2; int top = (controlView()->height() - mToolsCurrentPalette->height()) / 2;
mToolsPalettePositionnedList[mStackedWidget->currentIndex()] = true; mToolsCurrentPalette->setCustomPosition(true);
(*mToolsCurrentPalette)->setCustomPosition(true); mToolsCurrentPalette->move(left, top);
(*mToolsCurrentPalette)->move(left, top);
} }
mMainWindow->actionWebTools->trigger(); mMainWindow->actionWebTools->trigger();
} }
@ -419,17 +318,8 @@ void UBWebController::setupPalettes()
void UBWebController::toggleWebTrap(bool checked) void UBWebController::toggleWebTrap(bool checked)
{ {
if (mCurrentWebBrowser if (mCurrentWebBrowser && mCurrentWebBrowser->currentTabWebView())
&& (*mCurrentWebBrowser) mCurrentWebBrowser->currentTabWebView()->setIsTrapping(checked);
&& (*mCurrentWebBrowser)->currentTabWebView())
{
(*mCurrentWebBrowser)->currentTabWebView()->setIsTrapping(checked);
}
}
void UBWebController::toggleWebToolsPalette(bool checked)
{
(*mToolsCurrentPalette)->setVisible(checked);
} }
@ -438,28 +328,26 @@ void UBWebController::captureWindow()
QPixmap webPagePixmap = captureCurrentPage(); QPixmap webPagePixmap = captureCurrentPage();
if (!webPagePixmap.isNull()) if (!webPagePixmap.isNull())
{ emit imageCaptured(webPagePixmap, true, mCurrentWebBrowser->currentTabWebView()->url());
emit imageCaptured(webPagePixmap, true, (*mCurrentWebBrowser)->currentTabWebView()->url());
}
} }
void UBWebController::customCapture() void UBWebController::customCapture()
{ {
(*mToolsCurrentPalette)->setVisible(false); mToolsCurrentPalette->setVisible(false);
qApp->processEvents(); qApp->processEvents();
UBCustomCaptureWindow customCaptureWindow((*mCurrentWebBrowser)); UBCustomCaptureWindow customCaptureWindow(mCurrentWebBrowser);
customCaptureWindow.show(); customCaptureWindow.show();
if (customCaptureWindow.execute(getScreenPixmap()) == QDialog::Accepted) if (customCaptureWindow.execute(getScreenPixmap()) == QDialog::Accepted)
{ {
QPixmap selectedPixmap = customCaptureWindow.getSelectedPixmap(); QPixmap selectedPixmap = customCaptureWindow.getSelectedPixmap();
emit imageCaptured(selectedPixmap, false, (*mCurrentWebBrowser)->currentTabWebView()->url()); emit imageCaptured(selectedPixmap, false, mCurrentWebBrowser->currentTabWebView()->url());
} }
(*mToolsCurrentPalette)->setVisible(true); mToolsCurrentPalette->setVisible(true);
} }
@ -505,27 +393,27 @@ void UBWebController::adaptToolBar()
mMainWindow->actionWebReload->setVisible(highResolution); mMainWindow->actionWebReload->setVisible(highResolution);
mMainWindow->actionStopLoading->setVisible(highResolution); mMainWindow->actionStopLoading->setVisible(highResolution);
if(mCurrentWebBrowser && (*mCurrentWebBrowser) ) if(mCurrentWebBrowser )
(*mCurrentWebBrowser)->adaptToolBar(highResolution); mCurrentWebBrowser->adaptToolBar(highResolution);
} }
void UBWebController::showTabAtTop(bool attop) void UBWebController::showTabAtTop(bool attop)
{ {
if (mCurrentWebBrowser && (*mCurrentWebBrowser)) if (mCurrentWebBrowser)
(*mCurrentWebBrowser)->showTabAtTop(attop); mCurrentWebBrowser->showTabAtTop(attop);
} }
void UBWebController::captureoEmbed() void UBWebController::captureoEmbed()
{ {
if ( mCurrentWebBrowser && (*mCurrentWebBrowser) && (*mCurrentWebBrowser)->currentTabWebView()){ if ( mCurrentWebBrowser && mCurrentWebBrowser->currentTabWebView()){
// TODO : Uncomment the next lines to continue the youtube button bugfix // TODO : Uncomment the next lines to continue the youtube button bugfix
// getEmbeddableContent(); // getEmbeddableContent();
// And comment from here // And comment from here
QWebView* webView = (*mCurrentWebBrowser)->currentTabWebView(); QWebView* webView = mCurrentWebBrowser->currentTabWebView();
QUrl currentUrl = webView->url(); QUrl currentUrl = webView->url();
if (isOEmbedable(currentUrl)) if (isOEmbedable(currentUrl))
@ -576,9 +464,9 @@ void UBWebController::getEmbeddableContent()
{ {
// Get the source code of the page // Get the source code of the page
if(mCurrentWebBrowser){ if(mCurrentWebBrowser){
QNetworkAccessManager* pNam = (*mCurrentWebBrowser)->currentTabWebView()->webPage()->networkAccessManager(); QNetworkAccessManager* pNam = mCurrentWebBrowser->currentTabWebView()->webPage()->networkAccessManager();
if(NULL != pNam){ if(NULL != pNam){
QString html = (*mCurrentWebBrowser)->currentTabWebView()->webPage()->mainFrame()->toHtml(); QString html = mCurrentWebBrowser->currentTabWebView()->webPage()->mainFrame()->toHtml();
mOEmbedParser.setNetworkAccessManager(pNam); mOEmbedParser.setNetworkAccessManager(pNam);
// First, we have to check if there is some oembed content // First, we have to check if there is some oembed content
@ -591,10 +479,9 @@ void UBWebController::getEmbeddableContent()
void UBWebController::captureEduMedia() void UBWebController::captureEduMedia()
{ {
if (mCurrentWebBrowser && (*mCurrentWebBrowser) if (mCurrentWebBrowser && mCurrentWebBrowser->currentTabWebView())
&& (*mCurrentWebBrowser)->currentTabWebView())
{ {
QWebView* webView = (*mCurrentWebBrowser)->currentTabWebView(); QWebView* webView = mCurrentWebBrowser->currentTabWebView();
QUrl currentUrl = webView->url(); QUrl currentUrl = webView->url();
if (isEduMedia(currentUrl)) if (isEduMedia(currentUrl))
@ -681,40 +568,31 @@ bool UBWebController::isEduMedia(const QUrl& pUrl)
void UBWebController::loadUrl(const QUrl& url) void UBWebController::loadUrl(const QUrl& url)
{ {
bool webBrowserAlreadyInstanciated = dynamic_cast<WBBrowserWindow*>(mStackedWidget->widget(WebBrowser)) != NULL;
UBApplication::applicationController->showInternet(); UBApplication::applicationController->showInternet();
if (UBSettings::settings()->webUseExternalBrowser->get().toBool()) if (UBSettings::settings()->webUseExternalBrowser->get().toBool())
{
QDesktopServices::openUrl(url); QDesktopServices::openUrl(url);
}
else else
{ mCurrentWebBrowser->loadUrlInNewTab(url);
if (!webBrowserAlreadyInstanciated) {
(*mCurrentWebBrowser)->loadUrl(url);
}
else {
(*mCurrentWebBrowser)->loadUrlInNewTab(url);
}
}
} }
QWebView* UBWebController::createNewTab() QWebView* UBWebController::createNewTab()
{ {
if (mCurrentWebBrowser && !(*mCurrentWebBrowser)) if (mCurrentWebBrowser)
{
UBApplication::applicationController->showInternet(); UBApplication::applicationController->showInternet();
}
return (*mCurrentWebBrowser)->createNewTab(); return mCurrentWebBrowser->createNewTab();
} }
void UBWebController::copy() void UBWebController::copy()
{ {
if (mCurrentWebBrowser && (*mCurrentWebBrowser) && (*mCurrentWebBrowser)->currentTabWebView()) if (mCurrentWebBrowser && mCurrentWebBrowser->currentTabWebView())
{ {
QWebView* webView = (*mCurrentWebBrowser)->currentTabWebView(); QWebView* webView = mCurrentWebBrowser->currentTabWebView();
QAction *act = webView->pageAction(QWebPage::Copy); QAction *act = webView->pageAction(QWebPage::Copy);
if(act) if(act)
act->trigger(); act->trigger();
@ -724,9 +602,9 @@ void UBWebController::copy()
void UBWebController::paste() void UBWebController::paste()
{ {
if (mCurrentWebBrowser && (*mCurrentWebBrowser) && (*mCurrentWebBrowser)->currentTabWebView()) if (mCurrentWebBrowser && mCurrentWebBrowser->currentTabWebView())
{ {
QWebView* webView = (*mCurrentWebBrowser)->currentTabWebView(); QWebView* webView = mCurrentWebBrowser->currentTabWebView();
QAction *act = webView->pageAction(QWebPage::Paste); QAction *act = webView->pageAction(QWebPage::Paste);
if(act) if(act)
act->trigger(); act->trigger();
@ -736,9 +614,9 @@ void UBWebController::paste()
void UBWebController::cut() void UBWebController::cut()
{ {
if (mCurrentWebBrowser && (*mCurrentWebBrowser) && (*mCurrentWebBrowser)->currentTabWebView()) if (mCurrentWebBrowser && mCurrentWebBrowser->currentTabWebView())
{ {
QWebView* webView = (*mCurrentWebBrowser)->currentTabWebView(); QWebView* webView = mCurrentWebBrowser->currentTabWebView();
QAction *act = webView->pageAction(QWebPage::Cut); QAction *act = webView->pageAction(QWebPage::Cut);
if(act) if(act)
act->trigger(); act->trigger();

@ -58,18 +58,9 @@ class UBWebController : public QObject
QUrl currentPageUrl() const; QUrl currentPageUrl() const;
enum WebInstance void show();
{
WebBrowser = 0, Tutorial, TotalNumberOfWebInstances
};
void show(WebInstance type = UBWebController::WebBrowser);
WBBrowserWindow* GetCurrentWebBrowser() WBBrowserWindow* GetCurrentWebBrowser(){return mCurrentWebBrowser;}
{
if( mCurrentWebBrowser != NULL ) return *mCurrentWebBrowser;
else return NULL;
};
protected: protected:
@ -81,7 +72,6 @@ class UBWebController : public QObject
void screenLayoutChanged(); void screenLayoutChanged();
void setSourceWidget(QWidget* pWidget); void setSourceWidget(QWidget* pWidget);
void toggleWebToolsPalette(bool checked);
void captureWindow(); void captureWindow();
void customCapture(); void customCapture();
void toogleMirroring(bool checked); void toogleMirroring(bool checked);
@ -106,25 +96,19 @@ class UBWebController : public QObject
private: private:
void initialiazemOEmbedProviders(); void initialiazemOEmbedProviders();
void tutorialWebInstance();
void webBrowserInstance(); void webBrowserInstance();
void lookForEmbedContent(QString* pHtml, QString tag, QString attribute, QList<QUrl>* pList); void lookForEmbedContent(QString* pHtml, QString tag, QString attribute, QList<QUrl>* pList);
void checkForOEmbed(QString* pHtml); void checkForOEmbed(QString* pHtml);
QStackedWidget *mStackedWidget;
UBMainWindow *mMainWindow; UBMainWindow *mMainWindow;
WBBrowserWindow* mWebBrowserList[TotalNumberOfWebInstances]; WBBrowserWindow* mCurrentWebBrowser;
WBBrowserWindow** mCurrentWebBrowser;
QWidget* mBrowserWidget; QWidget* mBrowserWidget;
UBTrapFlashController* mTrapFlashController; UBTrapFlashController* mTrapFlashController;
UBWebToolsPalette** mToolsCurrentPalette; UBWebToolsPalette* mToolsCurrentPalette;
UBWebToolsPalette* mToolsPaletteList[TotalNumberOfWebInstances];
bool mToolsPalettePositionned; bool mToolsPalettePositionned;
bool mToolsPalettePositionnedList[TotalNumberOfWebInstances];
bool mDownloadViewIsVisible; bool mDownloadViewIsVisible;

@ -93,7 +93,7 @@ WBDownloadManager *WBBrowserWindow::sDownloadManager = 0;
WBHistoryManager *WBBrowserWindow::sHistoryManager = 0; WBHistoryManager *WBBrowserWindow::sHistoryManager = 0;
WBBrowserWindow::WBBrowserWindow(QWidget *parent, Ui::MainWindow* uniboardMainWindow, bool isViewerWebInstance) WBBrowserWindow::WBBrowserWindow(QWidget *parent, Ui::MainWindow* uniboardMainWindow)
: QWidget(parent) : QWidget(parent)
, mWebToolBar(0) , mWebToolBar(0)
, mSearchToolBar(0) , mSearchToolBar(0)
@ -106,11 +106,8 @@ WBBrowserWindow::WBBrowserWindow(QWidget *parent, Ui::MainWindow* uniboardMainWi
defaultSettings->setAttribute(QWebSettings::PluginsEnabled, true); defaultSettings->setAttribute(QWebSettings::PluginsEnabled, true);
setupMenu(); setupMenu();
if(!isViewerWebInstance) setupToolBar();
setupToolBar();
else{
setupToolBarForTutorial();
}
QVBoxLayout *layout = new QVBoxLayout; QVBoxLayout *layout = new QVBoxLayout;
layout->setSpacing(0); layout->setSpacing(0);
@ -125,9 +122,8 @@ WBBrowserWindow::WBBrowserWindow(QWidget *parent, Ui::MainWindow* uniboardMainWi
connect(mTabWidget, SIGNAL(setCurrentTitle(const QString &)), this, SLOT(slotUpdateWindowTitle(const QString &))); connect(mTabWidget, SIGNAL(setCurrentTitle(const QString &)), this, SLOT(slotUpdateWindowTitle(const QString &)));
if (!isViewerWebInstance) { connect(mTabWidget, SIGNAL(loadProgress(int)), this, SLOT(slotLoadProgress(int)));
connect(mTabWidget, SIGNAL(loadProgress(int)), this, SLOT(slotLoadProgress(int)));
}
connect(mTabWidget, SIGNAL(loadFinished(bool)), this, SIGNAL(activeViewPageChanged())); connect(mTabWidget, SIGNAL(loadFinished(bool)), this, SIGNAL(activeViewPageChanged()));
@ -223,7 +219,7 @@ void WBBrowserWindow::setupToolBar()
mHistoryForwardMenu = new QMenu(this); mHistoryForwardMenu = new QMenu(this);
connect(mHistoryForwardMenu, SIGNAL(aboutToShow()), this, SLOT(aboutToShowForwardMenu())); connect(mHistoryForwardMenu, SIGNAL(aboutToShow()), this, SLOT(aboutToShowForwardMenu()));
connect(mHistoryForwardMenu, SIGNAL(triggered(QAction *)), this, SLOT(openActionUrl(QAction *))); connect(mHistoryForwardMenu, SIGNAL(triggered(QAction *)), this, SLOT(openActionUrl(QAction *)));
foreach (QWidget* menuWidget, mUniboardMainWindow->actionWebForward->associatedWidgets()) foreach (QWidget* menuWidget, mUniboardMainWindow->actionWebForward->associatedWidgets())
{ {
QToolButton *tb = qobject_cast<QToolButton*>(menuWidget); QToolButton *tb = qobject_cast<QToolButton*>(menuWidget);
@ -257,33 +253,6 @@ void WBBrowserWindow::setupToolBar()
mWebToolBar->show(); mWebToolBar->show();
} }
void WBBrowserWindow::setupToolBarForTutorial()
{
mWebToolBar = mUniboardMainWindow->tutorialToolBar;
mTabWidget->addWebAction(mUniboardMainWindow->actionWebBack, QWebPage::Back);
mTabWidget->addWebAction(mUniboardMainWindow->actionWebForward, QWebPage::Forward);
foreach (QWidget* menuWidget, mUniboardMainWindow->actionWebBack->associatedWidgets())
{
QToolButton *tb = qobject_cast<QToolButton*>(menuWidget);
if (tb && tb->menu())
tb->setMenu(NULL);
}
foreach (QWidget* menuWidget, mUniboardMainWindow->actionWebForward->associatedWidgets())
{
QToolButton *tb = qobject_cast<QToolButton*>(menuWidget);
if (tb && tb->menu())
tb->setMenu(NULL);
}
mWebToolBar->show();
}
void WBBrowserWindow::adaptToolBar(bool wideRes) void WBBrowserWindow::adaptToolBar(bool wideRes)
{ {
@ -579,7 +548,7 @@ void WBBrowserWindow::aboutToShowBackMenu()
if (historyLimit < 0) if (historyLimit < 0)
historyLimit = 0; historyLimit = 0;
for (int i = history->backItems(historyCount).count() - 1; i >= historyLimit; --i) for (int i = history->backItems(historyCount).count() - 1; i >= historyLimit; --i)
{ {
QWebHistoryItem item = history->backItems(historyCount).at(i); QWebHistoryItem item = history->backItems(historyCount).at(i);
@ -613,7 +582,7 @@ void WBBrowserWindow::aboutToShowForwardMenu()
if (historyLimit > UBSettings::settings()->historyLimit->get().toReal()) if (historyLimit > UBSettings::settings()->historyLimit->get().toReal())
historyLimit = UBSettings::settings()->historyLimit->get().toReal(); historyLimit = UBSettings::settings()->historyLimit->get().toReal();
for (int i = 0; i < historyLimit; ++i) for (int i = 0; i < historyLimit; ++i)
{ {
QWebHistoryItem item = history->forwardItems(historyCount).at(i); QWebHistoryItem item = history->forwardItems(historyCount).at(i);
@ -636,7 +605,7 @@ void WBBrowserWindow::aboutToShowForwardMenu()
void WBBrowserWindow::openActionUrl(QAction *action) void WBBrowserWindow::openActionUrl(QAction *action)
{ {
QWebHistory *history = currentTabWebView()->history(); QWebHistory *history = currentTabWebView()->history();
if (action->data() == "clear") if (action->data() == "clear")
{ {
@ -646,7 +615,7 @@ void WBBrowserWindow::openActionUrl(QAction *action)
int offset = action->data().toInt(); int offset = action->data().toInt();
if (offset < 0) if (offset < 0)
history->goToItem(history->backItems(-1*offset).first()); history->goToItem(history->backItems(-1*offset).first());
else if (offset > 0) else if (offset > 0)
history->goToItem(history->forwardItems(history->count() - offset + 1).back()); history->goToItem(history->forwardItems(history->count() - offset + 1).back());
} }

@ -88,7 +88,7 @@ class WBBrowserWindow : public QWidget
Q_OBJECT; Q_OBJECT;
public: public:
WBBrowserWindow(QWidget *parent = 0, Ui::MainWindow* uniboardMainWindow = 0, bool isViewerWebInstance = false); WBBrowserWindow(QWidget *parent = 0, Ui::MainWindow* uniboardMainWindow = 0);
~WBBrowserWindow(); ~WBBrowserWindow();
QSize sizeHint() const; QSize sizeHint() const;
@ -160,7 +160,6 @@ class WBBrowserWindow : public QWidget
void setupMenu(); void setupMenu();
void setupToolBar(); void setupToolBar();
void setupToolBarForTutorial();
void updateStatusbarActionText(bool visible); void updateStatusbarActionText(bool visible);
QToolBar *mWebToolBar; QToolBar *mWebToolBar;

Loading…
Cancel
Save