Skip to content

Commit 60bce48

Browse files
committed
Presentation mode is almost done
1 parent bb3f493 commit 60bce48

File tree

6 files changed

+52
-25
lines changed

6 files changed

+52
-25
lines changed

index.html

Lines changed: 21 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
<li data-event="sidebar-run"><span class="glyphicon glyphicon-play" aria-hidden="true"></span> <span data-string="Run code"></span></li>
2727
<li data-event="sidebar-clear"><span class="glyphicon glyphicon-erase" aria-hidden="true"></span> <span data-string="Clear"></span></li>
2828
<li data-event="sidebar-import"><span class="glyphicon glyphicon-open-file" aria-hidden="true"></span> <span data-string="Import from file"></span></li>
29-
<li data-event="sidebar-presentation" data-toggle="modal" data-target="#presentation"><span class="glyphicon glyphicon-blackboard" aria-hidden="true"></span> <span data-string="Presentation mode"></span></li>
29+
<li data-event="sidebar-presentation"><span class="glyphicon glyphicon-blackboard" aria-hidden="true"></span> <span data-string="Presentation mode"></span></li>
3030
<li data-event="sidebar-settings" data-toggle="modal" data-target="#settings"><span class="glyphicon glyphicon-cog" aria-hidden="true"></span> <span data-string="Settings"></span></li>
3131
<li data-event="sidebar-about" data-toggle="modal" data-target="#about"><span class="glyphicon glyphicon-info-sign" aria-hidden="true"></span> <span data-string="About"></span></li>
3232
<li data-event="sidebar-quit"><span class="glyphicon glyphicon-log-out" aria-hidden="true"></span> <span data-string="Quit"></span></li>
@@ -89,7 +89,7 @@ <h4 class="modal-title" data-string="Settings"></h4>
8989
<form class="form-horizontal">
9090
<!-- Language -->
9191
<div class="form-group">
92-
<label for="inputEmail3" class="col-sm-3 control-label" data-string="Language"></label>
92+
<label class="col-sm-3 control-label" data-string="Language"></label>
9393
<div class="col-sm-9">
9494
<select id="locales-list" class="form-control" data-settings="general.locale">
9595

@@ -99,7 +99,7 @@ <h4 class="modal-title" data-string="Settings"></h4>
9999

100100
<!-- Mode -->
101101
<div class="form-group">
102-
<label for="inputEmail3" class="col-sm-3 control-label" data-string="Mode"></label>
102+
<label class="col-sm-3 control-label" data-string="Mode"></label>
103103
<div class="col-sm-9">
104104
<select class="form-control" data-settings="general.mode">
105105
<option value="regular" data-string="Regular application"></option>
@@ -112,7 +112,7 @@ <h4 class="modal-title" data-string="Settings"></h4>
112112

113113
<!-- Auto run code -->
114114
<div class="form-group">
115-
<label for="inputEmail3" class="col-sm-3 control-label" data-string="Auto run code"></label>
115+
<label class="col-sm-3 control-label" data-string="Auto run code"></label>
116116
<div class="col-sm-9">
117117
<select class="form-control" data-settings="general.autorun">
118118
<option value="true" data-string="Yes"></option>
@@ -130,7 +130,7 @@ <h4 class="modal-title" data-string="Settings"></h4>
130130

131131
<!-- Font size -->
132132
<div class="form-group">
133-
<label for="inputEmail3" class="col-sm-3 control-label" data-string="Font size"></label>
133+
<label class="col-sm-3 control-label" data-string="Font size"></label>
134134
<div class="col-sm-9">
135135
<div class="input-group">
136136
<input type="number" class="form-control" data-settings="presentation.font-size">
@@ -139,6 +139,17 @@ <h4 class="modal-title" data-string="Settings"></h4>
139139
</div>
140140
</div>
141141

142+
<!-- Auto run code -->
143+
<div class="form-group">
144+
<label class="col-sm-3 control-label" data-string="Try to open secondary window in another display"></label>
145+
<div class="col-sm-9">
146+
<select class="form-control" data-settings="presentation.try-secondary-display">
147+
<option value="true" data-string="Yes"></option>
148+
<option value="false" data-string="No"></option>
149+
</select>
150+
</div>
151+
</div>
152+
142153
</form>
143154
</div>
144155

@@ -148,7 +159,7 @@ <h4 class="modal-title" data-string="Settings"></h4>
148159

149160
<!-- Font size -->
150161
<div class="form-group">
151-
<label for="inputEmail3" class="col-sm-3 control-label" data-string="Font size"></label>
162+
<label class="col-sm-3 control-label" data-string="Font size"></label>
152163
<div class="col-sm-9">
153164
<div class="input-group">
154165
<input type="number" class="form-control" data-settings="editor.font-size">
@@ -159,7 +170,7 @@ <h4 class="modal-title" data-string="Settings"></h4>
159170

160171
<!-- Word wrapping -->
161172
<div class="form-group">
162-
<label for="inputEmail3" class="col-sm-3 control-label" data-string="Word wrapping"></label>
173+
<label class="col-sm-3 control-label" data-string="Word wrapping"></label>
163174
<div class="col-sm-9">
164175
<select class="form-control" data-settings="editor.wordwrap">
165176
<option value="true" data-string="Yes"></option>
@@ -170,7 +181,7 @@ <h4 class="modal-title" data-string="Settings"></h4>
170181

171182
<!-- Highlight active line -->
172183
<div class="form-group">
173-
<label for="inputEmail3" class="col-sm-3 control-label" data-string="Highlight active line"></label>
184+
<label class="col-sm-3 control-label" data-string="Highlight active line"></label>
174185
<div class="col-sm-9">
175186
<select class="form-control" data-settings="editor.highlight-line">
176187
<option value="true" data-string="Yes"></option>
@@ -181,7 +192,7 @@ <h4 class="modal-title" data-string="Settings"></h4>
181192

182193
<!-- Theme -->
183194
<div class="form-group">
184-
<label for="inputEmail3" class="col-sm-3 control-label" data-string="Theme"></label>
195+
<label class="col-sm-3 control-label" data-string="Theme"></label>
185196
<div class="col-sm-9">
186197
<select class="form-control" data-settings="editor.theme">
187198
<option value="ambiance">Ambiance</option>
@@ -222,7 +233,7 @@ <h4 class="modal-title" data-string="Settings"></h4>
222233

223234
<!-- Binary path -->
224235
<div class="form-group">
225-
<label for="inputEmail3" class="col-sm-3 control-label" data-string="Binary path"></label>
236+
<label class="col-sm-3 control-label" data-string="Binary path"></label>
226237
<div class="col-sm-9">
227238
<input type="text" class="form-control" data-settings="php.path" disabled>
228239
</div>

js/index.js

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,12 +23,13 @@ const settings_default = {
2323
// Defaults
2424
"general.locale": "en",
2525
"general.mode": "both",
26-
"general.autorun": "false",
26+
"general.autorun": "true",
2727
"editor.font-size": "16",
2828
"editor.theme": "monokai",
2929
"editor.wordwrap": "true",
3030
"editor.highlight-line": "true",
3131
"presentation.font-size": "33",
32+
"presentation.try-secondary-display": "true",
3233
}
3334

3435
// Editor
@@ -115,6 +116,8 @@ function renderApp(refresh) {
115116
$("*[data-event='sidebar-fullscreen']").click(toggleFullscreen); // Invoke quit();
116117
$("*[data-event='sidebar-presentation-off']").click(presentationSingle); // Invoke quit();
117118

119+
$("*[data-event='sidebar-presentation']").click(checkPresentation); // Invoke checkPresentation();
120+
118121
// Settings modal
119122
// "Save" button click
120123
$("#settings-save").click(saveSettings) // Invoke saveSettings()

js/presentation.js

Lines changed: 19 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,9 @@
11
var presentationMode = false;
2-
var outputDetached = false;
32

43
$("#presentation-sidebar").hide();
54

65
// Single window mode
76
function presentationSingle() {
8-
97
$('#presentation').modal('hide');
108

119
if (presentationMode) {
@@ -14,16 +12,14 @@ function presentationSingle() {
1412
return;
1513
}
1614

17-
presentationMode = true;
15+
presentationMode = "single";
1816

1917
// Adjust screen elements
2018
singleLayout();
21-
2219
}
2320

2421
// Multi window mode
2522
function presentationMulti() {
26-
2723
$('#presentation').modal('hide');
2824

2925
if (presentationMode) {
@@ -32,21 +28,32 @@ function presentationMulti() {
3228
return;
3329
}
3430

35-
presentationMode = true;
31+
presentationMode = "multi";
3632

3733
// Adjust screen elements
3834
multiLayout();
3935

4036
detachOutput();
4137
}
4238

43-
/**
44-
* Output manipulation
45-
*/
46-
function attachOutput() {
39+
function checkPresentation() {
40+
if (presentationMode) {
41+
presentationEnd();
42+
} else {
43+
$('#presentation').modal('show');
44+
}
45+
}
4746

47+
function presentationEnd() {
48+
if (presentationMode == "single")
49+
presentationSingle();
50+
else if (presentationMode == "multi")
51+
presentationMulti();
4852
}
4953

54+
/**
55+
* Output manipulation
56+
*/
5057
function detachOutput() {
5158
ipc.send("asynchronous-message", "detach-output");
5259
}
@@ -64,7 +71,6 @@ function singleLayout() {
6471

6572
// Font size
6673
$("#editor,#console,#console-html").css("font-size", conf.get("presentation.font-size") + "px");
67-
6874
}
6975

7076
function singleLayoutOff() {
@@ -78,13 +84,13 @@ function singleLayoutOff() {
7884
// Return default sizes
7985
$("#editor").css("font-size", conf.get("editor.font-size") + "px");
8086
$("#console,#console-html").css("font-size", "");
81-
8287
}
8388

8489
function multiLayout() {
8590
$("*[data-event='sidebar-presentation']").addClass("active");
8691
}
8792

8893
function multiLayoutOff() {
89-
94+
ipc.send("asynchronous-message", "attach-output");
95+
$("*[data-event='sidebar-presentation']").removeClass("active");
9096
}

js/presentation.output.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@ $(function(){
1212
highlightGutterLine: false // No active line number
1313
});
1414
editor.renderer.$cursorLayer.element.style.opacity=0; // No cursor
15+
$("#editor").css("font-size", conf.get("presentation.font-size") + "px");
16+
$("#console,#console-html").css("font-size", conf.get("presentation.font-size") + "px");
1517
});
1618

1719
function receiveOutput() {

locales/pt-BR.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,5 +69,6 @@
6969
"Output": "Output",
7070
"Inscrease font size": "Aumentar tamanho da fonte",
7171
"Decrease font size": "Diminuir tamanho da fonte",
72-
"Presentation": "Presentation"
72+
"Presentation": "Presentation",
73+
"Try to open secondary window in another display": "Try to open secondary window in another display"
7374
}

main.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -165,6 +165,10 @@ ipc.on('asynchronous-message', function(event, arg) {
165165
if (debug)
166166
outputWindow.toggleDevTools();
167167
}
168+
// Signal to re-attach output window
169+
else if (arg == "attach-output") {
170+
outputWindow.destroy();
171+
}
168172
});
169173
ipc.on('output-channel', function (event, arg) {
170174
// Is there any output window?

0 commit comments

Comments
 (0)