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
This commit is contained in:
Christian Guenter 2018-07-08 10:58:12 +00:00 committed by christianguenter2
parent 58952c15fc
commit 3f2e9be939
4 changed files with 55 additions and 3 deletions

View File

@ -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 <ls_post_field> 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 <ls_post_field> WITH KEY name = 'max_lines'.
IF sy-subrc = 0.
lv_i_param_value = <ls_post_field>-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( |<hr>| ).
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( |<h2>Start up</h2>| ).
ro_html->add( `<input type="checkbox" name="show_default_repo" value="X" `
&& lv_checked && ` > Show last repo` ).
ro_html->add( |<br>| ).
ro_html->add( |<br>| ).
ENDMETHOD.
ENDCLASS.

View File

@ -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.

View File

@ -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.

View File

@ -323,6 +323,7 @@ INTERFACE zif_abapgit_definitions PUBLIC.
TYPES: BEGIN OF ty_s_user_settings,
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.