Working on base create project. with defaults for sokol-luajit. Similar to the build config panel.
This commit is contained in:
parent
ea654dcc6e
commit
840995a63b
@ -1,13 +1,8 @@
|
|||||||
compile error: unknown filter len in partials/sys/folders-select.html:21
|
syntax error: unexpected token '.', expecting end of tag in partials/dashboard_js.html:16
|
||||||
Context: if folder.folder|len > <-- there
|
Context: set projectmgr. <-- there
|
||||||
Lua stack traceback:
|
Lua stack traceback:
|
||||||
editor\twig/aspect\error.lua:49: in function 'compiler_error'
|
editor\twig/aspect\error.lua:49: in function 'compiler_error'
|
||||||
editor\twig/aspect\compiler.lua:656: in function 'parse_filters'
|
editor\twig/aspect\compiler.lua:261: in function <editor\twig/aspect\compiler.lua:202>
|
||||||
editor\twig/aspect\compiler.lua:739: in function 'parse_value'
|
|
||||||
editor\twig/aspect\ast.lua:85: in function 'parse'
|
|
||||||
editor\twig/aspect\compiler.lua:749: in function 'parse_expression'
|
|
||||||
editor\twig/aspect\tags.lua:616: in function <editor\twig/aspect\tags.lua:613>
|
|
||||||
editor\twig/aspect\compiler.lua:259: in function <editor\twig/aspect\compiler.lua:202>
|
|
||||||
[C]: in function 'pcall'
|
[C]: in function 'pcall'
|
||||||
editor\twig/aspect\compiler.lua:126: in function 'run'
|
editor\twig/aspect\compiler.lua:126: in function 'run'
|
||||||
editor\twig/aspect\template.lua:232: in function 'compile'
|
editor\twig/aspect\template.lua:232: in function 'compile'
|
||||||
|
|||||||
0
editor/config/recents.lua
Normal file
0
editor/config/recents.lua
Normal file
@ -57,7 +57,7 @@
|
|||||||
<form role="form">
|
<form role="form">
|
||||||
<div class="form-group input-group">
|
<div class="form-group input-group">
|
||||||
<span class="input-group-addon">New Project Name</span>
|
<span class="input-group-addon">New Project Name</span>
|
||||||
<input type="text" class="form-control" placeholder="MegaProject">
|
<input id="project-create-name" type="text" class="form-control" placeholder="MegaProject">
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
@ -75,6 +75,8 @@
|
|||||||
</div>
|
</div>
|
||||||
<!-- /.col-lg-6 -->
|
<!-- /.col-lg-6 -->
|
||||||
|
|
||||||
|
{% include "modals/project_selection_confirm.html" %}
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
19
editor/www/modals/project_selection_confirm.html
Normal file
19
editor/www/modals/project_selection_confirm.html
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
<div id="modalProjectSelectConfirm" class="modal fade" tabindex="-1" role="dialog">
|
||||||
|
<div class="modal-dialog" role="document">
|
||||||
|
<div class="modal-content">
|
||||||
|
<div class="modal-header">
|
||||||
|
<h4 class="modal-title">Create Project</h4>
|
||||||
|
</div>
|
||||||
|
<div class="modal-body">
|
||||||
|
<p>A new project is being created in:</p>
|
||||||
|
<h3 id="project_path"></h3>
|
||||||
|
<p>It will be named:</p>
|
||||||
|
<h3 id="project_name"></h3>
|
||||||
|
</div>
|
||||||
|
<div class="modal-footer">
|
||||||
|
<button id="project-select-cancel" type="button" class="btn btn-danger">Cancel</button>
|
||||||
|
<button id="project-select-ok" type="button" class="btn btn-primary">Ok</button>
|
||||||
|
</div>
|
||||||
|
</div><!-- /.modal-content -->
|
||||||
|
</div><!-- /.modal-dialog -->
|
||||||
|
</div><!-- /.modal -->
|
||||||
16
editor/www/modals/project_selection_confirm_js.html
Normal file
16
editor/www/modals/project_selection_confirm_js.html
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
|
||||||
|
|
||||||
|
<script>
|
||||||
|
|
||||||
|
$(document).ready(function () {
|
||||||
|
|
||||||
|
$("#project-select-cancel").on("click", function(evt){
|
||||||
|
$("#modalProjectSelectConfirm").modal("hide");
|
||||||
|
});
|
||||||
|
|
||||||
|
$("#project-select-ok").on("click", function(evt){
|
||||||
|
console.log(evt);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
</script>
|
||||||
@ -2,9 +2,22 @@
|
|||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
|
||||||
|
function showConfirm() {
|
||||||
|
|
||||||
|
$("#project-select-create").on("click", function(evt) {
|
||||||
|
var projectName = $("#project-create-name").val();
|
||||||
|
console.log(projectName);
|
||||||
|
$("#project_name").text( projectName );
|
||||||
|
$("#project_path").text( $("#project-select-path").attr("placeholder") );
|
||||||
|
|
||||||
|
$("#modalProjectSelectConfirm").modal("show");
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
function updateFolders(data) {
|
function updateFolders(data) {
|
||||||
$("#sys-folders-select").load( "/partials/sys/folders-select.html", null, function() {
|
$("#sys-folders-select").load( "/partials/sys/folders-select.html", null, function() {
|
||||||
checkFolderSelect();
|
checkFolderSelect();
|
||||||
|
showConfirm();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -30,6 +43,10 @@ function checkFolderSelect()
|
|||||||
|
|
||||||
$(document).ready(function () {
|
$(document).ready(function () {
|
||||||
|
|
||||||
|
if($("#project-create-name").val().length == 0) {
|
||||||
|
$("#project-create-name").val("MegaProject");
|
||||||
|
}
|
||||||
|
|
||||||
$(".drive-select").on("click", function(evt){
|
$(".drive-select").on("click", function(evt){
|
||||||
console.log($(this).attr("data"));
|
console.log($(this).attr("data"));
|
||||||
var jdata = { drive: $(this).attr("data")};
|
var jdata = { drive: $(this).attr("data")};
|
||||||
@ -39,7 +56,10 @@ $(document).ready(function () {
|
|||||||
|
|
||||||
$("#sys-folders-select").load( "/partials/sys/folders-select.html", null, function() {
|
$("#sys-folders-select").load( "/partials/sys/folders-select.html", null, function() {
|
||||||
checkFolderSelect();
|
checkFolderSelect();
|
||||||
|
showConfirm();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
{% include("modals/project_selection_confirm_js.html") %}
|
||||||
@ -1,5 +1,4 @@
|
|||||||
|
|
||||||
|
|
||||||
<div class="table-responsive">
|
<div class="table-responsive">
|
||||||
<table class="table table-striped table-bordered table-hover sys-folders-list">
|
<table class="table table-striped table-bordered table-hover sys-folders-list">
|
||||||
<thead>
|
<thead>
|
||||||
@ -8,8 +7,10 @@
|
|||||||
<form role="form">
|
<form role="form">
|
||||||
<div class="form-group btn-group input-group">
|
<div class="form-group btn-group input-group">
|
||||||
<span class="input-group-addon">Folder Path</span>
|
<span class="input-group-addon">Folder Path</span>
|
||||||
<input type="text" class="form-control" placeholder="{{ projectmgr.sys.current_folder }}">
|
<input id="project-select-path" type="text" class="form-control" placeholder="{{ projectmgr.sys.current_folder }}">
|
||||||
<div class="input-group-btn"><button type="button" class="btn btn-primary">Create</button></div>
|
{% if projectmgr.sys.has_create==1 %}
|
||||||
|
<div id="project-select-create" class="input-group-btn"><button type="button" class="btn btn-primary">Create Project</button></div>
|
||||||
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
</th>
|
</th>
|
||||||
|
|||||||
51
engine/world/config-manager.lua
Normal file
51
engine/world/config-manager.lua
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
|
||||||
|
-- Config manager handles editor config only.
|
||||||
|
|
||||||
|
local utils = require("utils")
|
||||||
|
local json = require("json")
|
||||||
|
local dirtools = require("tools.vfs.dirtools")
|
||||||
|
|
||||||
|
---------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
configmanager = {
|
||||||
|
recents_path = "editor/config/recents.json",
|
||||||
|
recents = {},
|
||||||
|
}
|
||||||
|
|
||||||
|
---------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
configmanager.load = function()
|
||||||
|
|
||||||
|
-- This returns true for folder, false for file and nil for invalid
|
||||||
|
local recents_file = dirtools.is_folder(configmanager.recents_path)
|
||||||
|
if(recents_file == nil) then
|
||||||
|
|
||||||
|
elseif(recents_file == false) then
|
||||||
|
local data = utils.loaddata( configmanager.recents_path )
|
||||||
|
configmanager.recents = json.decode(data)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
---------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
configmanager.save = function()
|
||||||
|
|
||||||
|
local fh = io.open(configmanager.recents_path, "w")
|
||||||
|
if(fh) then
|
||||||
|
fh:write( json.encode(configmanager.recents) )
|
||||||
|
fh:close()
|
||||||
|
end
|
||||||
|
-- silent fail.
|
||||||
|
end
|
||||||
|
|
||||||
|
---------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
configmanager.add_recent = function(name, path)
|
||||||
|
table.insert(configmanager.recents, { name=name, path=path } )
|
||||||
|
end
|
||||||
|
|
||||||
|
---------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
return configmanager
|
||||||
|
|
||||||
|
---------------------------------------------------------------------------------------
|
||||||
@ -7,12 +7,14 @@ local utils = require('lua.utils')
|
|||||||
local ffi = require("ffi")
|
local ffi = require("ffi")
|
||||||
|
|
||||||
local dirtools = require("tools.vfs.dirtools")
|
local dirtools = require("tools.vfs.dirtools")
|
||||||
|
local cfgmgr = require('engine.world.config-manager')
|
||||||
|
|
||||||
------------------------------------------------------------------------------------------------------------
|
------------------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
local projectmanager = {
|
local projectmanager = {
|
||||||
recents = {},
|
recents = {},
|
||||||
sys = {
|
sys = {
|
||||||
|
has_create = 1,
|
||||||
drives = dirtools.get_drives(),
|
drives = dirtools.get_drives(),
|
||||||
folders = dirtools.get_folderslist("."),
|
folders = dirtools.get_folderslist("."),
|
||||||
current_folder = dirtools.get_app_path(),
|
current_folder = dirtools.get_app_path(),
|
||||||
@ -22,8 +24,8 @@ local projectmanager = {
|
|||||||
------------------------------------------------------------------------------------------------------------
|
------------------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
projectmanager.init = function(self)
|
projectmanager.init = function(self)
|
||||||
|
cfgmgr.load()
|
||||||
|
self.recents = cfgmgr.recents
|
||||||
end
|
end
|
||||||
|
|
||||||
------------------------------------------------------------------------------------------------------------
|
------------------------------------------------------------------------------------------------------------
|
||||||
|
|||||||
@ -169,19 +169,24 @@ end
|
|||||||
if(ffi.os == "Windows") then
|
if(ffi.os == "Windows") then
|
||||||
dirtools.is_folder = function(path)
|
dirtools.is_folder = function(path)
|
||||||
|
|
||||||
|
if(path == nil) then return nil end
|
||||||
|
|
||||||
local fh = io.popen([[attrib "]]..path..[["]], "r")
|
local fh = io.popen([[attrib "]]..path..[["]], "r")
|
||||||
if(fh) then
|
if(fh) then
|
||||||
local res = fh:read("*a")
|
local res = fh:read("*a")
|
||||||
local fileattr = string.sub(res, 1, 20)
|
local fileattr = string.sub(res, 1, 20)
|
||||||
fileattr = string.gsub(fileattr, " ", "")
|
fileattr = string.gsub(fileattr, " ", "")
|
||||||
fh:close()
|
fh:close()
|
||||||
|
if(string.match(res, "^File not found")) then return nil end
|
||||||
return (#fileattr == 0)
|
return (#fileattr == 0)
|
||||||
end
|
end
|
||||||
return false
|
return nil
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
dirtools.is_folder = function(path)
|
dirtools.is_folder = function(path)
|
||||||
|
|
||||||
|
if(path == nil) then return nil end
|
||||||
|
|
||||||
local fh = io.popen("file "..path, "r")
|
local fh = io.popen("file "..path, "r")
|
||||||
if(fh) then
|
if(fh) then
|
||||||
local res = fh:read("*a")
|
local res = fh:read("*a")
|
||||||
@ -189,7 +194,7 @@ else
|
|||||||
fh:close()
|
fh:close()
|
||||||
return (folder ~= nil)
|
return (folder ~= nil)
|
||||||
end
|
end
|
||||||
return false
|
return nil
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user