diff --git a/src/persist/zcl_abapgit_persistence_user.clas.abap b/src/persist/zcl_abapgit_persistence_user.clas.abap index 822dfd3a0..52c9bca4e 100644 --- a/src/persist/zcl_abapgit_persistence_user.clas.abap +++ b/src/persist/zcl_abapgit_persistence_user.clas.abap @@ -45,6 +45,7 @@ CLASS zcl_abapgit_persistence_user DEFINITION favorites TYPE ty_favorites, repo_config TYPE ty_repo_configs, settings TYPE zif_abapgit_definitions=>ty_s_user_settings, + show_folders TYPE abap_bool, END OF ty_user . DATA mv_user TYPE sy-uname . @@ -236,6 +237,12 @@ CLASS zcl_abapgit_persistence_user IMPLEMENTATION. ENDMETHOD. + METHOD zif_abapgit_persist_user~get_show_folders. + + rv_folders = ms_user-show_folders. + + ENDMETHOD. + METHOD zif_abapgit_persist_user~get_repo_git_user_email. @@ -428,6 +435,13 @@ CLASS zcl_abapgit_persistence_user IMPLEMENTATION. ENDMETHOD. + METHOD zif_abapgit_persist_user~toggle_show_folders. + ms_user-show_folders = boolc( ms_user-show_folders = abap_false ). + update( ). + + rv_folders = ms_user-show_folders. + ENDMETHOD. + METHOD zif_abapgit_persist_user~get_diff_first. rv_diff_first = ms_user-diff_first. ENDMETHOD. diff --git a/src/persist/zif_abapgit_persist_user.intf.abap b/src/persist/zif_abapgit_persist_user.intf.abap index 22598533c..22d792015 100644 --- a/src/persist/zif_abapgit_persist_user.intf.abap +++ b/src/persist/zif_abapgit_persist_user.intf.abap @@ -33,6 +33,11 @@ INTERFACE zif_abapgit_persist_user VALUE(rv_hide) TYPE abap_bool RAISING zcx_abapgit_exception . + METHODS get_show_folders + RETURNING + VALUE(rv_folders) TYPE abap_bool + RAISING + zcx_abapgit_exception . METHODS get_repo_git_user_email IMPORTING !iv_url TYPE zif_abapgit_persistence=>ty_repo-url @@ -168,6 +173,11 @@ INTERFACE zif_abapgit_persist_user VALUE(rv_hide) TYPE abap_bool RAISING zcx_abapgit_exception . + METHODS toggle_show_folders + RETURNING + VALUE(rv_folders) TYPE abap_bool + RAISING + zcx_abapgit_exception. METHODS get_settings RETURNING VALUE(rs_user_settings) TYPE zif_abapgit_definitions=>ty_s_user_settings diff --git a/src/ui/zcl_abapgit_gui_page_repo_view.clas.abap b/src/ui/zcl_abapgit_gui_page_repo_view.clas.abap index aa89b2942..f02c2ab89 100644 --- a/src/ui/zcl_abapgit_gui_page_repo_view.clas.abap +++ b/src/ui/zcl_abapgit_gui_page_repo_view.clas.abap @@ -617,6 +617,7 @@ CLASS zcl_abapgit_gui_page_repo_view IMPLEMENTATION. mv_order_by = lo_persistence_user->get_order_by( ). mv_order_descending = lo_persistence_user->get_order_descending( ). mv_diff_first = lo_persistence_user->get_diff_first( ). + mv_show_folders = lo_persistence_user->get_show_folders( ). ms_control-page_title = 'Repository'. ms_control-page_menu = build_main_menu( ). @@ -1281,7 +1282,7 @@ CLASS zcl_abapgit_gui_page_repo_view IMPLEMENTATION. rs_handled-state = zcl_abapgit_gui=>c_event_state-re_render. WHEN c_actions-toggle_folders. " Toggle folder view - mv_show_folders = boolc( mv_show_folders <> abap_true ). + mv_show_folders = zcl_abapgit_persistence_user=>get_instance( )->toggle_show_folders( ). mv_cur_dir = '/'. " Root rs_handled-state = zcl_abapgit_gui=>c_event_state-re_render.