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