|
|
|
@ -36,7 +36,7 @@ struct ChangeDetector { |
|
|
|
sf::Clock timer{}; |
|
|
|
sf::Clock timer{}; |
|
|
|
std::filesystem::file_time_type last_mod_time = std::filesystem::last_write_time(input_md); |
|
|
|
std::filesystem::file_time_type last_mod_time = std::filesystem::last_write_time(input_md); |
|
|
|
|
|
|
|
|
|
|
|
bool check_changed() { |
|
|
|
bool changed() { |
|
|
|
if(timer.getElapsedTime().toDuration() > 500ms) { |
|
|
|
if(timer.getElapsedTime().toDuration() > 500ms) { |
|
|
|
try { |
|
|
|
try { |
|
|
|
auto mod_time = std::filesystem::last_write_time(input_md); |
|
|
|
auto mod_time = std::filesystem::last_write_time(input_md); |
|
|
|
@ -89,7 +89,8 @@ int main(int argc, char *argv[]) { |
|
|
|
|
|
|
|
|
|
|
|
dbc::check(control_ui.$status != nullptr, "bad ptr"); |
|
|
|
dbc::check(control_ui.$status != nullptr, "bad ptr"); |
|
|
|
|
|
|
|
|
|
|
|
ChangeDetector reloader{argv[1]}; |
|
|
|
ChangeDetector slides_reloader{argv[1]}; |
|
|
|
|
|
|
|
ChangeDetector layout_reloader{slides.$deck->config["layouts"]}; |
|
|
|
|
|
|
|
|
|
|
|
while(controller.isOpen()) { |
|
|
|
while(controller.isOpen()) { |
|
|
|
while (const auto event = presenter.pollEvent()) { |
|
|
|
while (const auto event = presenter.pollEvent()) { |
|
|
|
@ -106,7 +107,7 @@ int main(int argc, char *argv[]) { |
|
|
|
presenter.display(); |
|
|
|
presenter.display(); |
|
|
|
controller.display(); |
|
|
|
controller.display(); |
|
|
|
|
|
|
|
|
|
|
|
if(reloader.check_changed()) { |
|
|
|
if(slides_reloader.changed() || layout_reloader.changed()) { |
|
|
|
auto new_slides = load_slides(argv[1], backend); |
|
|
|
auto new_slides = load_slides(argv[1], backend); |
|
|
|
|
|
|
|
|
|
|
|
if(new_slides) { |
|
|
|
if(new_slides) { |
|
|
|
|