Mercurial > sci
comparison scid/theme.c @ 46:16f1c72d1635
scid: simplify theme code
author | David Demelier <markand@malikania.fr> |
---|---|
date | Mon, 15 Aug 2022 17:57:34 +0200 |
parents | 576f4b1ec79f |
children | 070d8c92ca30 |
comparison
equal
deleted
inserted
replaced
45:c03305b39b10 | 46:16f1c72d1635 |
---|---|
300 duk_push_true(ctx); | 300 duk_push_true(ctx); |
301 break; | 301 break; |
302 case JSON_FALSE: | 302 case JSON_FALSE: |
303 duk_push_false(ctx); | 303 duk_push_false(ctx); |
304 break; | 304 break; |
305 case JSON_NULL: | |
306 duk_push_null(ctx); | |
307 break; | |
308 case JSON_OBJECT: | 305 case JSON_OBJECT: |
309 push_object(ctx, val); | 306 push_object(ctx, val); |
310 break; | 307 break; |
311 case JSON_ARRAY: | 308 case JSON_ARRAY: |
312 push_array(ctx, val); | 309 push_array(ctx, val); |
310 break; | |
311 default: | |
312 duk_push_null(ctx); | |
313 break; | 313 break; |
314 } | 314 } |
315 } | 315 } |
316 | 316 |
317 static inline void | 317 static inline void |
414 | 414 |
415 return path; | 415 return path; |
416 } | 416 } |
417 | 417 |
418 char * | 418 char * |
419 theme_page_index(json_t *json) | 419 theme_render(const char *function, json_t *json) |
420 { | 420 { |
421 assert(json); | 421 assert(function); |
422 | 422 |
423 return call(json, "onPageIndex"); | 423 return call(json, function); |
424 } | 424 } |
425 | 425 |
426 char * | 426 char * |
427 theme_page_jobresults(json_t *json) | 427 theme_status(int status, const char *message) |
428 { | 428 { |
429 assert(json); | 429 return theme_render("onPageStatus", util_json_pack("{si ss}", |
430 | |
431 return call(json, "onPageJobresults"); | |
432 } | |
433 | |
434 char * | |
435 theme_page_status(int status, const char *message) | |
436 { | |
437 json_t *doc; | |
438 char *ret; | |
439 | |
440 doc = util_json_pack("{si ss}", | |
441 "status", status, | 430 "status", status, |
442 "message", message | 431 "message", message |
443 ); | 432 )); |
444 ret = call(doc, "onPageStatus"); | |
445 | |
446 json_decref(doc); | |
447 | |
448 return ret; | |
449 } | 433 } |
450 | 434 |
451 void | 435 void |
452 theme_free(void) | 436 theme_finish(void) |
453 { | 437 { |
454 duk_destroy_heap(context); | 438 duk_destroy_heap(context); |
455 } | 439 } |