Use the new flex-box et border-sizing.
[hacks/simpleWebSlides.git] / simpleWebSlides.js
index 76cbeba..e73a1a2 100644 (file)
@@ -105,7 +105,6 @@ SWS.Templates = new function () {
     self.objectActivate = function (o) {
         if (!(o.hasClass("sws-active-object"))){
             o.removeClass("sws-inactive-object").addClass("sws-active-object");
-            o.css('visibility','visible');
             return true;
         };
         return false;
@@ -154,7 +153,10 @@ SWS.Effects = new function () {
 
     self.objectDeactivateFadeOut = function (o) {
         o.animate({'opacity': '0'}, 200,
-                  function () { SWS.Templates.objectDeactivate(o)});
+                  function () {
+
+                      SWS.Templates.objectDeactivate(o);
+                  });
     };
 
     self.objectActivateFadeIn = function (o) {
@@ -398,7 +400,6 @@ SWS.Presentation = new function () {
         $(".sws-canvas").each(function(i) {
             var canvas = $($(".sws-canvas")[i]);
             var infos = canvas.data("sws-frame-info");
-            console.log(infos);
             _total_steps += infos.last + 1;
         });
         return _total_steps;
@@ -473,6 +474,7 @@ SWS.Presentation = new function () {
                 ($("link.sws-theme[rel='stylesheet']")[0]).disabled = false;
                 $(".sws-canvas").find("*").addBack().promise().done(function() {
                     var percent = ((total_steps - steps) / total_steps) * 100;
+                    console.log(percent);
                     $("#sws-percent-progress").text(Math.round(percent));
                     SWS.Config['sws-slide-change'] = SWS.Templates.slideChange;
                     self.refresh();
@@ -492,6 +494,7 @@ SWS.Presentation = new function () {
 
     self.inputHandler = function (event) {
         if (_disable_input_events || _print_mode ) return;
+
         switch (event.which) {
         case 36:/* Home */
             self.setCurrentSlide(self.firstSlide());
@@ -500,7 +503,6 @@ SWS.Presentation = new function () {
         case 35:/* End */
             self.setCurrentSlide(self.lastSlide());
             break;
-
         case 32: /* space */
         case 34: /* PgDown */
         case 39: /* -> */
@@ -524,6 +526,7 @@ SWS.Presentation = new function () {
             return;
         case 67: /* c */
             $("#sws-control-panel-canvas").toggle();
+            
         default:
             return;
         };
@@ -617,9 +620,9 @@ SWS.Presentation = new function () {
         self.redraw();
     };
 
-    self.getCurrentTheme = function () { 
+    self.getCurrentTheme = function () {
         var l = $("link.sws-theme[rel='stylesheet']")[0];
-        console.log(l);
+
         if (l) {
             return  l.title;
         } else
@@ -632,9 +635,7 @@ SWS.Presentation = new function () {
             theme_name = $("#sws-theme-select").val()
         else
             theme_name = name;
-//        if (self.getCurrentTheme() == theme_name) {
-  //          return;
-    //    };
+
         _current_theme = theme_name;
         $("link.sws-theme").each (function (i) {
             var e = this;
@@ -688,35 +689,36 @@ SWS.Presentation = new function () {
 
 
         $("html").addClass("sws-display");
-        $(window).resize(self.redraw);
+        //$(window).resize(self.redraw);
 
 
-        $(window).bind('storage', function (e) {
-            console.log(e);
-        });
 
         _total_slides = $(".sws-slide").length;
 
-        $(document).keydown(self.inputHandler);
+        var cur = self.getCurrentSlide();
 
+        $(".sws-slide").each(function (i) {
 
-        var cur = self.getCurrentSlide();
-        $(".sws-slide").each (function (i) {
             var par = $(this).parent();
 
+
             $(this).remove();
             var canvas = $('<div class="sws-canvas"/>');
 
             if (!($(this).hasClass("sws-option-noheader"))) {
-                canvas.append($('<div class="sws-header"/><br/>'));
+                canvas.append($('<div class="sws-header"/>'));
             };
-
+            if (!$(this).hasClass("sws-cover")) {
+                var title = $($(this).find("h1")[0]);
+                var title_div = $('<div class="sws-title" />');
+                title_div.append(title);
+                canvas.append(title_div);
+            }
             var inner = $('<div class="sws-inner-canvas"/>');
             var content = $('<div class="sws-content"/>');
             $(this).find('script[type="text/javascript"]').remove();
             content.append($(this));
             inner.append(content);
-            inner.append($('<span class="sws-vertical-align"> </span><br/>'));
             canvas.append(inner);
 
             if (!($(this).hasClass("sws-option-nofooter"))) {
@@ -738,8 +740,6 @@ SWS.Presentation = new function () {
 
         });
 
-
-
         // Initialize the control panel
         $("body").append($(SWS.Templates.controlPanel));
         // Fill the theme switcher
@@ -770,20 +770,24 @@ SWS.Presentation = new function () {
         _update_ui();
 
         _slide_callbacks = null; /* avoid a leak */
-
         var passed_theme = SWS.Utils.getParameterByName("theme");
-        if (passed_theme == "")
-            self.changeTheme();
-        else
-            self.changeTheme(passed_theme);
-
-        if (SWS.Utils.getParameterByName("mode") == "print") {
-           self.printMode();
-        }
-        else
-            self.refresh();
-        _initialized = true;
+        //workaround weird chrome CSS loading bug
+        var f =
+            function () {
+                if (passed_theme == "")
+                    self.changeTheme();
+                else
+                    self.changeTheme(passed_theme);
+                if (SWS.Utils.getParameterByName("mode") == "print") {
+                    self.printMode();
+                }
+                else
+                    self.refresh();
+                $(document).keydown(self.inputHandler);
 
+                _initialized = true;
+            };
+        setTimeout(f, 100);
     };
 
 };