removed try_kill from the dact system
This commit is contained in:
parent
5138d565d8
commit
5275ac5823
42
4ed.cpp
42
4ed.cpp
|
@ -969,12 +969,10 @@ COMMAND_DECL(interactive_kill_buffer){
|
||||||
}
|
}
|
||||||
|
|
||||||
COMMAND_DECL(kill_buffer){
|
COMMAND_DECL(kill_buffer){
|
||||||
|
|
||||||
USE_MODELS(models);
|
USE_MODELS(models);
|
||||||
USE_VIEW(view);
|
USE_VIEW(view);
|
||||||
USE_FILE(file, view);
|
USE_FILE(file, view);
|
||||||
|
|
||||||
Delay *delay = &models->delay1;
|
|
||||||
int buffer_id = 0;
|
int buffer_id = 0;
|
||||||
|
|
||||||
Command_Parameter *end = param_stack_end(&command->part);
|
Command_Parameter *end = param_stack_end(&command->part);
|
||||||
|
@ -993,7 +991,8 @@ COMMAND_DECL(kill_buffer){
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (file){
|
else if (file){
|
||||||
delayed_try_kill(delay, file, view->panel);
|
try_kill_file(system, models,
|
||||||
|
file, view, string_zero());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3128,6 +3127,7 @@ App_Init_Sig(app_init){
|
||||||
|
|
||||||
vars = (App_Vars*)memory->vars_memory;
|
vars = (App_Vars*)memory->vars_memory;
|
||||||
models = &vars->models;
|
models = &vars->models;
|
||||||
|
models->keep_playing = 1;
|
||||||
|
|
||||||
app_links_init(system, &models->app_links, memory->user_memory, memory->user_memory_size);
|
app_links_init(system, &models->app_links, memory->user_memory, memory->user_memory_size);
|
||||||
|
|
||||||
|
@ -4374,41 +4374,21 @@ App_Step_Sig(app_step){
|
||||||
}break;
|
}break;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
#if 0
|
||||||
case DACT_TRY_KILL:
|
case DACT_TRY_KILL:
|
||||||
{
|
{
|
||||||
View *view = 0;
|
|
||||||
if (panel){
|
|
||||||
view = panel->view;
|
|
||||||
}
|
|
||||||
else{
|
|
||||||
view = (models->layout.panels + models->layout.active_panel)->view;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!file && string.str){
|
|
||||||
file = working_set_lookup_file(working_set, string);
|
|
||||||
if (!file){
|
|
||||||
file = working_set_contains(system, working_set, string);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (file && !file->settings.never_kill){
|
|
||||||
if (buffer_needs_save(file)){
|
|
||||||
view_show_interactive(system, view, &models->map_ui,
|
|
||||||
IAct_Sure_To_Kill, IInt_Sure_To_Kill,
|
|
||||||
make_lit_string("Are you sure?"));
|
|
||||||
copy(&view->dest, file->name.live_name);
|
|
||||||
}
|
|
||||||
else{
|
|
||||||
working_set_remove(system, working_set, file->name.source_path);
|
|
||||||
kill_file(system, models, file, string_zero());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}break;
|
}break;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if 0
|
||||||
case DACT_CLOSE:
|
case DACT_CLOSE:
|
||||||
{
|
{
|
||||||
app_result.perform_kill = 1;
|
|
||||||
}break;
|
}break;
|
||||||
|
#endif
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (string.str){
|
if (string.str){
|
||||||
|
@ -4538,6 +4518,8 @@ App_Step_Sig(app_step){
|
||||||
|
|
||||||
Assert(general_memory_check(&models->mem.general));
|
Assert(general_memory_check(&models->mem.general));
|
||||||
|
|
||||||
|
app_result.perform_kill = models->keep_playing;
|
||||||
|
|
||||||
// end-of-app_step
|
// end-of-app_step
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -65,9 +65,7 @@ struct Models{
|
||||||
Custom_API config_api;
|
Custom_API config_api;
|
||||||
Scroll_Rule_Function *scroll_rule;
|
Scroll_Rule_Function *scroll_rule;
|
||||||
|
|
||||||
#if 0
|
b32 keep_playing;
|
||||||
File_Exchange files;
|
|
||||||
#endif
|
|
||||||
};
|
};
|
||||||
|
|
||||||
// BOTTOM
|
// BOTTOM
|
||||||
|
|
|
@ -1,7 +1,5 @@
|
||||||
enum Action_Type{
|
enum Action_Type{
|
||||||
DACT_SET_LINE,
|
DACT_SET_LINE,
|
||||||
DACT_TRY_KILL,
|
|
||||||
DACT_CLOSE,
|
|
||||||
};
|
};
|
||||||
|
|
||||||
struct Delayed_Action{
|
struct Delayed_Action{
|
||||||
|
@ -120,5 +118,3 @@ delayed_action_repush(Delay *delay, Delayed_Action *act){
|
||||||
}
|
}
|
||||||
|
|
||||||
#define delayed_set_line(delay, ...) delayed_action_(delay, DACT_SET_LINE, ##__VA_ARGS__)
|
#define delayed_set_line(delay, ...) delayed_action_(delay, DACT_SET_LINE, ##__VA_ARGS__)
|
||||||
#define delayed_try_kill(delay, ...) delayed_action_(delay, DACT_TRY_KILL, ##__VA_ARGS__)
|
|
||||||
#define delayed_close(delay, ...) delayed_action_(delay, DACT_CLOSE, ##__VA_ARGS__)
|
|
||||||
|
|
|
@ -3169,6 +3169,35 @@ kill_file(System_Functions *system, Models *models,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
internal void
|
||||||
|
try_kill_file(System_Functions *system, Models *models,
|
||||||
|
Editing_File *file, View *view, String string){
|
||||||
|
Working_Set *working_set = &models->working_set;
|
||||||
|
|
||||||
|
if (!file && string.str){
|
||||||
|
file = working_set_lookup_file(working_set, string);
|
||||||
|
if (!file){
|
||||||
|
file = working_set_contains(system, working_set, string);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (file && !file->settings.never_kill){
|
||||||
|
if (buffer_needs_save(file)){
|
||||||
|
if (view == 0){
|
||||||
|
view = models->layout.panels[models->layout.active_panel].view;
|
||||||
|
}
|
||||||
|
view_show_interactive(system, view, &models->map_ui,
|
||||||
|
IAct_Sure_To_Kill, IInt_Sure_To_Kill,
|
||||||
|
make_lit_string("Are you sure?"));
|
||||||
|
copy(&view->dest, file->name.live_name);
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
kill_file(system, models, file, string_zero());
|
||||||
|
view_show_file(view);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
internal void
|
internal void
|
||||||
interactive_view_complete(System_Functions *system, View *view, String dest, i32 user_action){
|
interactive_view_complete(System_Functions *system, View *view, String dest, i32 user_action){
|
||||||
Models *models = view->persistent.models;
|
Models *models = view->persistent.models;
|
||||||
|
@ -3178,10 +3207,12 @@ interactive_view_complete(System_Functions *system, View *view, String dest, i32
|
||||||
case IAct_Open:
|
case IAct_Open:
|
||||||
view_open_file(system, models, view, dest);
|
view_open_file(system, models, view, dest);
|
||||||
touch_file(&models->working_set, old_file);
|
touch_file(&models->working_set, old_file);
|
||||||
|
view_show_file(view);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case IAct_Save_As:
|
case IAct_Save_As:
|
||||||
view_save_file(system, models, 0, view, dest, 1);
|
view_save_file(system, models, 0, view, dest, 1);
|
||||||
|
view_show_file(view);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case IAct_New:
|
case IAct_New:
|
||||||
|
@ -3189,6 +3220,7 @@ interactive_view_complete(System_Functions *system, View *view, String dest, i32
|
||||||
if (dest.size > 0 &&
|
if (dest.size > 0 &&
|
||||||
!char_is_slash(models->hot_directory.string.str[dest.size-1])){
|
!char_is_slash(models->hot_directory.string.str[dest.size-1])){
|
||||||
view_new_file(system, models, view, dest);
|
view_new_file(system, models, view, dest);
|
||||||
|
view_show_file(view);
|
||||||
}break;
|
}break;
|
||||||
|
|
||||||
case IAct_Switch:
|
case IAct_Switch:
|
||||||
|
@ -3205,24 +3237,25 @@ interactive_view_complete(System_Functions *system, View *view, String dest, i32
|
||||||
if (file){
|
if (file){
|
||||||
view_set_file(view, file, models);
|
view_set_file(view, file, models);
|
||||||
}
|
}
|
||||||
|
view_show_file(view);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case IAct_Kill:
|
case IAct_Kill:
|
||||||
delayed_try_kill(&models->delay1, dest);
|
try_kill_file(system, models, 0, 0, dest);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case IAct_Sure_To_Close:
|
case IAct_Sure_To_Close:
|
||||||
switch (user_action){
|
switch (user_action){
|
||||||
case 0:
|
case 0:
|
||||||
delayed_close(&models->delay1);
|
models->keep_playing = 0;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 1:
|
case 1:
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 2:
|
case 2:
|
||||||
// TODO(allen): Save all.
|
// TODO(allen): Save all and close.
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
@ -3231,6 +3264,7 @@ interactive_view_complete(System_Functions *system, View *view, String dest, i32
|
||||||
switch (user_action){
|
switch (user_action){
|
||||||
case 0:
|
case 0:
|
||||||
kill_file(system, models, 0, dest);
|
kill_file(system, models, 0, dest);
|
||||||
|
view_show_file(view);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 1:
|
case 1:
|
||||||
|
@ -3238,12 +3272,12 @@ interactive_view_complete(System_Functions *system, View *view, String dest, i32
|
||||||
|
|
||||||
case 2:
|
case 2:
|
||||||
view_save_file(system, models, 0, 0, dest, 0);
|
view_save_file(system, models, 0, 0, dest, 0);
|
||||||
kill_file(system, models, 0, dest);;
|
kill_file(system, models, 0, dest);
|
||||||
|
view_show_file(view);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
view_show_file(view);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#if 0
|
#if 0
|
||||||
|
@ -4023,6 +4057,11 @@ step_file_view(System_Functions *system, View *view, View *active_view, Input_Su
|
||||||
|
|
||||||
case VUI_Interactive:
|
case VUI_Interactive:
|
||||||
{
|
{
|
||||||
|
b32 complete = 0;
|
||||||
|
char comp_dest_space[1024];
|
||||||
|
String comp_dest = make_fixed_width_string(comp_dest_space);
|
||||||
|
i32 comp_action = 0;
|
||||||
|
|
||||||
view->current_scroll = &view->gui_scroll;
|
view->current_scroll = &view->gui_scroll;
|
||||||
|
|
||||||
GUI_id id = {0};
|
GUI_id id = {0};
|
||||||
|
@ -4107,7 +4146,8 @@ step_file_view(System_Functions *system, View *view, View *active_view, Input_Su
|
||||||
do_new_directory = 1;
|
do_new_directory = 1;
|
||||||
}
|
}
|
||||||
else if (use_item_in_list){
|
else if (use_item_in_list){
|
||||||
interactive_view_complete(system, view, loop.full_path, 0);
|
complete = 1;
|
||||||
|
copy(&comp_dest, loop.full_path);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -4117,7 +4157,8 @@ step_file_view(System_Functions *system, View *view, View *active_view, Input_Su
|
||||||
gui_end_list(target);
|
gui_end_list(target);
|
||||||
|
|
||||||
if (activate_directly){
|
if (activate_directly){
|
||||||
interactive_view_complete(system, view, hdir->string, 0);
|
complete = 1;
|
||||||
|
copy(&comp_dest, hdir->string);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (do_new_directory){
|
if (do_new_directory){
|
||||||
|
@ -4211,7 +4252,8 @@ step_file_view(System_Functions *system, View *view, View *active_view, Input_Su
|
||||||
|
|
||||||
id.id[0] = (u64)(file);
|
id.id[0] = (u64)(file);
|
||||||
if (gui_do_file_option(target, id, file->name.live_name, 0, message)){
|
if (gui_do_file_option(target, id, file->name.live_name, 0, message)){
|
||||||
interactive_view_complete(system, view, file->name.live_name, 0);
|
complete = 1;
|
||||||
|
copy(&comp_dest, file->name.live_name);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -4229,7 +4271,8 @@ step_file_view(System_Functions *system, View *view, View *active_view, Input_Su
|
||||||
|
|
||||||
id.id[0] = (u64)(file);
|
id.id[0] = (u64)(file);
|
||||||
if (gui_do_file_option(target, id, file->name.live_name, 0, message)){
|
if (gui_do_file_option(target, id, file->name.live_name, 0, message)){
|
||||||
interactive_view_complete(system, view, file->name.live_name, 0);
|
complete = 1;
|
||||||
|
copy(&comp_dest, file->name.live_name);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -4263,7 +4306,9 @@ step_file_view(System_Functions *system, View *view, View *active_view, Input_Su
|
||||||
}
|
}
|
||||||
|
|
||||||
if (action != -1){
|
if (action != -1){
|
||||||
interactive_view_complete(system, view, view->dest, action);
|
complete = 1;
|
||||||
|
copy(&comp_dest, view->dest);
|
||||||
|
comp_action = action;
|
||||||
}
|
}
|
||||||
}break;
|
}break;
|
||||||
|
|
||||||
|
@ -4295,10 +4340,17 @@ step_file_view(System_Functions *system, View *view, View *active_view, Input_Su
|
||||||
}
|
}
|
||||||
|
|
||||||
if (action != -1){
|
if (action != -1){
|
||||||
interactive_view_complete(system, view, view->dest, action);
|
complete = 1;
|
||||||
|
copy(&comp_dest, view->dest);
|
||||||
|
comp_action = action;
|
||||||
}
|
}
|
||||||
}break;
|
}break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (complete){
|
||||||
|
terminate_with_null(&comp_dest);
|
||||||
|
interactive_view_complete(system, view, comp_dest, comp_action);
|
||||||
|
}
|
||||||
}break;
|
}break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -156,14 +156,11 @@ char *daction_enum[] = {
|
||||||
"SAVE",
|
"SAVE",
|
||||||
"NEW",
|
"NEW",
|
||||||
"SWITCH",
|
"SWITCH",
|
||||||
#endif
|
|
||||||
"TRY_KILL",
|
"TRY_KILL",
|
||||||
#if 0
|
|
||||||
"KILL",
|
"KILL",
|
||||||
"TOUCH_FILE",
|
"TOUCH_FILE",
|
||||||
#endif
|
|
||||||
|
|
||||||
"CLOSE",
|
"CLOSE",
|
||||||
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
char str_alloc_copy[] =
|
char str_alloc_copy[] =
|
||||||
|
|
Loading…
Reference in New Issue