diff --git a/src/ui/zcl_abapgit_gui_page.clas.abap b/src/ui/zcl_abapgit_gui_page.clas.abap index b4446652d..610db07d9 100644 --- a/src/ui/zcl_abapgit_gui_page.clas.abap +++ b/src/ui/zcl_abapgit_gui_page.clas.abap @@ -14,6 +14,9 @@ CLASS zcl_abapgit_gui_page DEFINITION PUBLIC ABSTRACT CREATE PUBLIC. RETURNING VALUE(rt_hotkey_actions) TYPE zif_abapgit_gui_page_hotkey=>tty_hotkey_action. + METHODS: + constructor. + PROTECTED SECTION. TYPES: BEGIN OF ty_control, @@ -33,6 +36,7 @@ CLASS zcl_abapgit_gui_page DEFINITION PUBLIC ABSTRACT CREATE PUBLIC. RAISING zcx_abapgit_exception. PRIVATE SECTION. + DATA: mo_settings TYPE REF TO zcl_abapgit_settings. METHODS html_head RETURNING VALUE(ro_html) TYPE REF TO zcl_abapgit_html. @@ -73,7 +77,13 @@ ENDCLASS. -CLASS ZCL_ABAPGIT_GUI_PAGE IMPLEMENTATION. +CLASS zcl_abapgit_gui_page IMPLEMENTATION. + + METHOD constructor. + + mo_settings = zcl_abapgit_persist_settings=>get_instance( )->read( ). + + ENDMETHOD. METHOD add_hotkeys. @@ -176,10 +186,14 @@ CLASS ZCL_ABAPGIT_GUI_PAGE IMPLEMENTATION. ro_html->add( '' ). ro_html->add( '' ). "#EC NOTEXT - lv_font = |'. "#EC NOTEXT - ro_html->add( lv_font ). " Web fonts + IF mo_settings->get_octicons_disabled( ) = abap_false. + + lv_font = |'. "#EC NOTEXT + ro_html->add( lv_font ). " Web fonts + + ENDIF. ro_html->add( '' ). "#EC NOTEXT @@ -188,16 +202,13 @@ CLASS ZCL_ABAPGIT_GUI_PAGE IMPLEMENTATION. METHOD link_hints. - DATA: lo_settings TYPE REF TO zcl_abapgit_settings, - lv_link_hint_key TYPE char01, + DATA: lv_link_hint_key TYPE char01, lv_background_color TYPE string. - lo_settings = zcl_abapgit_persist_settings=>get_instance( )->read( ). + lv_link_hint_key = mo_settings->get_link_hint_key( ). + lv_background_color = mo_settings->get_link_hint_background_color( ). - lv_link_hint_key = lo_settings->get_link_hint_key( ). - lv_background_color = lo_settings->get_link_hint_background_color( ). - - IF lo_settings->get_link_hints_enabled( ) = abap_true + IF mo_settings->get_link_hints_enabled( ) = abap_true AND lv_link_hint_key IS NOT INITIAL. io_html->add( |setLinkHints("{ lv_link_hint_key }","{ lv_background_color }");| ). diff --git a/src/ui/zcl_abapgit_gui_page_settings.clas.abap b/src/ui/zcl_abapgit_gui_page_settings.clas.abap index 6ab975df9..ba08a5f2a 100644 --- a/src/ui/zcl_abapgit_gui_page_settings.clas.abap +++ b/src/ui/zcl_abapgit_gui_page_settings.clas.abap @@ -94,9 +94,12 @@ CLASS zcl_abapgit_gui_page_settings DEFINITION zcx_abapgit_exception . METHODS is_post_field_checked IMPORTING - !iv_name TYPE string + iv_name TYPE string RETURNING VALUE(rv_return) TYPE abap_bool . + METHODS render_octicons + RETURNING + VALUE(ro_html) TYPE REF TO zcl_abapgit_html . ENDCLASS. @@ -225,6 +228,13 @@ CLASS ZCL_ABAPGIT_GUI_PAGE_SETTINGS IMPLEMENTATION. mo_settings->set_link_hint_background_color( |{ -value }| ). ENDIF. + IF is_post_field_checked( 'octicons_disabled' ) = abap_true. + mo_settings->set_octicons_disabled( abap_true ). + ELSE. + mo_settings->set_octicons_disabled( abap_false ). + ENDIF. + + post_hotkeys( ). ENDMETHOD. @@ -402,6 +412,8 @@ CLASS ZCL_ABAPGIT_GUI_PAGE_SETTINGS IMPLEMENTATION. ro_html->add( |
| ). ro_html->add( render_adt_jump_enabled( ) ). ro_html->add( |
| ). + ro_html->add( render_octicons( ) ). + ro_html->add( |
| ). ro_html->add( render_link_hints( ) ). ro_html->add( |
| ). ro_html->add( render_hotkeys( ) ). @@ -573,6 +585,27 @@ CLASS ZCL_ABAPGIT_GUI_PAGE_SETTINGS IMPLEMENTATION. ENDMETHOD. + METHOD render_octicons. + + DATA lv_checked TYPE string. + + IF mo_settings->get_octicons_disabled( ) = abap_true. + lv_checked = 'checked'. + ENDIF. + + CREATE OBJECT ro_html. + ro_html->add( |

Octicons

| ). + ro_html->add( |You should disbale octicons when your client doesn't have internet access | + && |or the abapGit UI hangs sometimes.| ). + ro_html->add( |
| ). + ro_html->add( |
| ). + ro_html->add( ` Disable octions` ). + ro_html->add( |
| ). + ro_html->add( |
| ). + ENDMETHOD. + + METHOD render_proxy. CREATE OBJECT ro_html. diff --git a/src/zcl_abapgit_settings.clas.abap b/src/zcl_abapgit_settings.clas.abap index 025aad937..2d32a40dd 100644 --- a/src/zcl_abapgit_settings.clas.abap +++ b/src/zcl_abapgit_settings.clas.abap @@ -110,7 +110,13 @@ CLASS zcl_abapgit_settings DEFINITION PUBLIC CREATE PUBLIC. RETURNING VALUE(rt_hotkeys) TYPE zif_abapgit_definitions=>tty_hotkey RAISING - zcx_abapgit_exception. + zcx_abapgit_exception, + set_octicons_disabled + IMPORTING + iv_octions_disabled TYPE abap_bool, + get_octicons_disabled + RETURNING + VALUE(rv_octions_disabled) TYPE abap_bool. PRIVATE SECTION. TYPES: BEGIN OF ty_s_settings, @@ -377,4 +383,12 @@ CLASS zcl_abapgit_settings IMPLEMENTATION. ENDMETHOD. + METHOD get_octicons_disabled. + rv_octions_disabled = ms_user_settings-octicons_disabled. + ENDMETHOD. + + METHOD set_octicons_disabled. + ms_user_settings-octicons_disabled = iv_octions_disabled. + ENDMETHOD. + ENDCLASS. diff --git a/src/zif_abapgit_definitions.intf.abap b/src/zif_abapgit_definitions.intf.abap index 45e36c939..b1e4ea2a4 100644 --- a/src/zif_abapgit_definitions.intf.abap +++ b/src/zif_abapgit_definitions.intf.abap @@ -336,6 +336,7 @@ INTERFACE zif_abapgit_definitions link_hint_key TYPE char01, link_hint_background_color TYPE string, hotkeys TYPE tty_hotkey, + octicons_disabled TYPE abap_bool, END OF ty_s_user_settings . TYPES: tty_dokil TYPE STANDARD TABLE OF dokil