From 3f2e9be939d4b72bc47adf441138a8e102ce8a34 Mon Sep 17 00:00:00 2001 From: Christian Guenter Date: Sun, 8 Jul 2018 10:58:12 +0000 Subject: [PATCH] Do not automatically deserialize last seen repo - new default behaviour is that the last seen repo isn't deserialized automatically. Instead the user has to choose a repo to work with - old behaviour can be reactivated via user setting --- .../zcl_abapgit_gui_page_settings.clas.abap | 28 +++++++++++++++++++ src/zabapgit_forms.prog.abap | 6 ++++ src/zcl_abapgit_settings.clas.abap | 19 ++++++++++++- src/zif_abapgit_definitions.intf.abap | 5 ++-- 4 files changed, 55 insertions(+), 3 deletions(-) diff --git a/src/ui/zcl_abapgit_gui_page_settings.clas.abap b/src/ui/zcl_abapgit_gui_page_settings.clas.abap index 82cd1ddd6..8392c2b35 100644 --- a/src/ui/zcl_abapgit_gui_page_settings.clas.abap +++ b/src/ui/zcl_abapgit_gui_page_settings.clas.abap @@ -54,6 +54,9 @@ CLASS zcl_abapgit_gui_page_settings DEFINITION RETURNING VALUE(ro_html) TYPE REF TO zcl_abapgit_html. METHODS render_section_end RETURNING VALUE(ro_html) TYPE REF TO zcl_abapgit_html. + METHODS render_start_up + RETURNING + VALUE(ro_html) TYPE REF TO zcl_abapgit_html. ENDCLASS. @@ -102,6 +105,13 @@ CLASS zcl_abapgit_gui_page_settings IMPLEMENTATION. mo_settings->set_experimental_features( abap_false ). ENDIF. + READ TABLE it_post_fields ASSIGNING WITH KEY name = 'show_default_repo'. + IF sy-subrc = 0. + mo_settings->set_show_default_repo( abap_true ). + ELSE. + mo_settings->set_show_default_repo( abap_false ). + ENDIF. + READ TABLE it_post_fields ASSIGNING WITH KEY name = 'max_lines'. IF sy-subrc = 0. lv_i_param_value = -value. @@ -229,6 +239,7 @@ CLASS zcl_abapgit_gui_page_settings IMPLEMENTATION. ro_html->add( render_development_internals( ) ). ro_html->add( render_section_end( ) ). ro_html->add( render_section_begin( |User specific settings| ) ). + ro_html->add( render_start_up( ) ). ro_html->add( render_max_lines( ) ). ro_html->add( |
| ). ro_html->add( render_adt_jump_enabled( ) ). @@ -375,4 +386,21 @@ CLASS zcl_abapgit_gui_page_settings IMPLEMENTATION. ENDMETHOD. + + METHOD render_start_up. + + DATA lv_checked TYPE string. + + IF mo_settings->get_show_default_repo( ) = abap_true. + lv_checked = 'checked'. + ENDIF. + + CREATE OBJECT ro_html. + ro_html->add( |

Start up

| ). + ro_html->add( ` Show last repo` ). + ro_html->add( |
| ). + ro_html->add( |
| ). + ENDMETHOD. + ENDCLASS. diff --git a/src/zabapgit_forms.prog.abap b/src/zabapgit_forms.prog.abap index c54e03242..4980e7b62 100644 --- a/src/zabapgit_forms.prog.abap +++ b/src/zabapgit_forms.prog.abap @@ -34,6 +34,12 @@ FORM open_gui RAISING zcx_abapgit_exception. IF sy-batch = abap_true. zcl_abapgit_background=>run( ). ELSE. + + IF zcl_abapgit_persist_settings=>get_instance( )->read( )->get_show_default_repo( ) = abap_false. + " Don't show the last seen repo at startup + zcl_abapgit_persistence_user=>get_instance( )->set_repo_show( || ). + ENDIF. + zcl_abapgit_gui=>get_instance( )->go_home( ). CALL SELECTION-SCREEN 1001. " trigger screen ENDIF. diff --git a/src/zcl_abapgit_settings.clas.abap b/src/zcl_abapgit_settings.clas.abap index a670d5f4e..15284e9f7 100644 --- a/src/zcl_abapgit_settings.clas.abap +++ b/src/zcl_abapgit_settings.clas.abap @@ -76,7 +76,13 @@ CLASS zcl_abapgit_settings DEFINITION PUBLIC CREATE PUBLIC. set_defaults, set_user_settings IMPORTING - is_user_settings TYPE zif_abapgit_definitions=>ty_s_user_settings. + is_user_settings TYPE zif_abapgit_definitions=>ty_s_user_settings, + get_show_default_repo + RETURNING + VALUE(rv_show_default_repo) TYPE abap_bool, + set_show_default_repo + IMPORTING + iv_show_default_repo TYPE abap_bool. PRIVATE SECTION. TYPES: BEGIN OF ty_s_settings, @@ -183,6 +189,7 @@ CLASS zcl_abapgit_settings IMPLEMENTATION. set_experimental_features( abap_false ). set_max_lines( 500 ). set_adt_jump_enanbled( abap_true ). + set_show_default_repo( abap_false ). set_commitmsg_comment_length( c_commitmsg_comment_length_dft ). set_commitmsg_body_size( c_commitmsg_body_size_dft ). @@ -245,4 +252,14 @@ CLASS zcl_abapgit_settings IMPLEMENTATION. rs_settings = ms_user_settings. ENDMETHOD. + + METHOD get_show_default_repo. + rv_show_default_repo = ms_user_settings-show_default_repo. + ENDMETHOD. + + + METHOD set_show_default_repo. + ms_user_settings-show_default_repo = iv_show_default_repo. + ENDMETHOD. + ENDCLASS. diff --git a/src/zif_abapgit_definitions.intf.abap b/src/zif_abapgit_definitions.intf.abap index ef6004e52..5c04e247d 100644 --- a/src/zif_abapgit_definitions.intf.abap +++ b/src/zif_abapgit_definitions.intf.abap @@ -321,8 +321,9 @@ INTERFACE zif_abapgit_definitions PUBLIC. TYPES tt_repo_items TYPE STANDARD TABLE OF ty_repo_item WITH DEFAULT KEY. TYPES: BEGIN OF ty_s_user_settings, - max_lines TYPE i, - adt_jump_enabled TYPE abap_bool, + max_lines TYPE i, + adt_jump_enabled TYPE abap_bool, + show_default_repo TYPE abap_bool, END OF ty_s_user_settings. CONSTANTS gc_xml_version TYPE string VALUE 'v1.0.0' ##NO_TEXT.