diff --git a/src/ui/zcl_abapgit_gui_page.clas.abap b/src/ui/zcl_abapgit_gui_page.clas.abap
index 783edc494..a65d63520 100644
--- a/src/ui/zcl_abapgit_gui_page.clas.abap
+++ b/src/ui/zcl_abapgit_gui_page.clas.abap
@@ -187,6 +187,13 @@ CLASS ZCL_ABAPGIT_GUI_PAGE IMPLEMENTATION.
ro_html->add( '' ).
ro_html->add( '' ). "#EC NOTEXT
+ CASE mo_settings->get_icon_scaling( ). " Enforce icon scaling
+ WHEN mo_settings->c_icon_scaling-large.
+ ro_html->add( '' ).
+ WHEN mo_settings->c_icon_scaling-small.
+ ro_html->add( '' ).
+ ENDCASE.
+
ro_html->add( '' ). "#EC NOTEXT
ENDMETHOD.
diff --git a/src/ui/zcl_abapgit_gui_page_settings.clas.abap b/src/ui/zcl_abapgit_gui_page_settings.clas.abap
index ed0817eac..6e56b06d7 100644
--- a/src/ui/zcl_abapgit_gui_page_settings.clas.abap
+++ b/src/ui/zcl_abapgit_gui_page_settings.clas.abap
@@ -41,6 +41,9 @@ CLASS zcl_abapgit_gui_page_settings DEFINITION
METHODS render_max_lines
RETURNING
VALUE(ro_html) TYPE REF TO zcl_abapgit_html .
+ METHODS render_icon_scaling
+ RETURNING
+ VALUE(ro_html) TYPE REF TO zcl_abapgit_html .
METHODS render_adt_jump_enabled
RETURNING
VALUE(ro_html) TYPE REF TO zcl_abapgit_html .
@@ -178,7 +181,8 @@ CLASS ZCL_ABAPGIT_GUI_PAGE_SETTINGS IMPLEMENTATION.
METHOD post.
- DATA: lv_i_param_value TYPE i.
+ DATA lv_i_param_value TYPE i.
+ DATA lv_c_param_value TYPE c.
FIELD-SYMBOLS: TYPE ihttpnvp.
@@ -234,6 +238,14 @@ CLASS ZCL_ABAPGIT_GUI_PAGE_SETTINGS IMPLEMENTATION.
mo_settings->set_parallel_proc_disabled( abap_false ).
ENDIF.
+ READ TABLE mt_post_fields ASSIGNING WITH KEY name = 'icon_scaling'.
+ IF sy-subrc = 0.
+ lv_c_param_value = -value.
+ mo_settings->set_icon_scaling( lv_c_param_value ).
+ ELSE.
+ mo_settings->set_icon_scaling( '' ).
+ ENDIF.
+
post_hotkeys( ).
ENDMETHOD.
@@ -408,6 +420,7 @@ CLASS ZCL_ABAPGIT_GUI_PAGE_SETTINGS IMPLEMENTATION.
ro_html->add( render_section_begin( |User specific settings| ) ).
ro_html->add( render_start_up( ) ).
ro_html->add( render_max_lines( ) ).
+ ro_html->add( render_icon_scaling( ) ).
ro_html->add( |
| ).
ro_html->add( render_adt_jump_enabled( ) ).
ro_html->add( |
| ).
@@ -539,6 +552,41 @@ CLASS ZCL_ABAPGIT_GUI_PAGE_SETTINGS IMPLEMENTATION.
ENDMETHOD.
+ METHOD render_icon_scaling.
+
+ DATA:
+ BEGIN OF ls_sel,
+ auto TYPE string,
+ large TYPE string,
+ small TYPE string,
+ END OF ls_sel.
+
+ CASE mo_settings->get_icon_scaling( ).
+ WHEN zcl_abapgit_settings=>c_icon_scaling-large.
+ ls_sel-large = ' selected'.
+ WHEN zcl_abapgit_settings=>c_icon_scaling-small.
+ ls_sel-small = ' selected'.
+ WHEN OTHERS.
+ ls_sel-auto = ' selected'.
+ ENDCASE.
+
+ CREATE OBJECT ro_html.
+
+ ro_html->add( |UI Icon scaling
| ).
+ ro_html->add( || ).
+ ro_html->add( |
| ).
+ ro_html->add( || ).
+
+ ro_html->add( |
| ).
+ ro_html->add( |
| ).
+
+ ENDMETHOD.
+
+
METHOD render_link_hints.
DATA: lv_checked TYPE string,
@@ -675,11 +723,6 @@ CLASS ZCL_ABAPGIT_GUI_PAGE_SETTINGS IMPLEMENTATION.
ENDMETHOD.
- METHOD zif_abapgit_gui_page_hotkey~get_hotkey_actions.
- RETURN.
- ENDMETHOD.
-
-
METHOD zif_abapgit_gui_event_handler~on_event.
* todo, check input values eg INT
@@ -703,4 +746,9 @@ CLASS ZCL_ABAPGIT_GUI_PAGE_SETTINGS IMPLEMENTATION.
ENDCASE.
ENDMETHOD.
+
+
+ METHOD zif_abapgit_gui_page_hotkey~get_hotkey_actions.
+ RETURN.
+ ENDMETHOD.
ENDCLASS.
diff --git a/src/zcl_abapgit_settings.clas.abap b/src/zcl_abapgit_settings.clas.abap
index 8632ccce2..a47ca60b9 100644
--- a/src/zcl_abapgit_settings.clas.abap
+++ b/src/zcl_abapgit_settings.clas.abap
@@ -4,6 +4,12 @@ CLASS zcl_abapgit_settings DEFINITION PUBLIC CREATE PUBLIC.
CONSTANTS: c_commitmsg_comment_length_dft TYPE i VALUE 50.
CONSTANTS: c_commitmsg_body_size_dft TYPE i VALUE 72.
+ CONSTANTS:
+ BEGIN OF c_icon_scaling,
+ large TYPE c VALUE 'L',
+ small TYPE c VALUE 'S',
+ END OF c_icon_scaling.
+
METHODS:
set_proxy_url
IMPORTING
@@ -116,8 +122,14 @@ CLASS zcl_abapgit_settings DEFINITION PUBLIC CREATE PUBLIC.
iv_disable_parallel_proc TYPE abap_bool,
get_parallel_proc_disabled
RETURNING
- VALUE(rv_disable_parallel_proc) TYPE abap_bool.
-
+ VALUE(rv_disable_parallel_proc) TYPE abap_bool,
+ get_icon_scaling
+ RETURNING
+ VALUE(rv_scaling) TYPE zif_abapgit_definitions=>ty_s_user_settings-icon_scaling,
+ set_icon_scaling
+ IMPORTING
+ iv_scaling TYPE zif_abapgit_definitions=>ty_s_user_settings-icon_scaling.
+ PROTECTED SECTION.
PRIVATE SECTION.
TYPES: BEGIN OF ty_s_settings,
proxy_url TYPE string,
@@ -140,7 +152,7 @@ ENDCLASS.
-CLASS zcl_abapgit_settings IMPLEMENTATION.
+CLASS ZCL_ABAPGIT_SETTINGS IMPLEMENTATION.
METHOD get_adt_jump_enabled.
@@ -163,11 +175,50 @@ CLASS zcl_abapgit_settings IMPLEMENTATION.
ENDMETHOD.
+ METHOD get_hotkeys.
+
+ DATA: lt_default_hotkeys TYPE zif_abapgit_gui_page_hotkey=>tty_hotkey_action,
+ ls_hotkey LIKE LINE OF rt_hotkeys.
+
+ FIELD-SYMBOLS: LIKE LINE OF lt_default_hotkeys.
+
+ IF lines( ms_user_settings-hotkeys ) > 0.
+
+ rt_hotkeys = ms_user_settings-hotkeys.
+
+ ELSE.
+
+ " provide default hotkeys
+ lt_default_hotkeys = zcl_abapgit_hotkeys=>get_default_hotkeys_from_pages( ).
+
+ LOOP AT lt_default_hotkeys ASSIGNING .
+
+ ls_hotkey-action = -action.
+ ls_hotkey-sequence = -default_hotkey.
+ INSERT ls_hotkey INTO TABLE rt_hotkeys.
+
+ ENDLOOP.
+
+ ENDIF.
+
+ ENDMETHOD.
+
+
+ METHOD get_icon_scaling.
+ rv_scaling = ms_user_settings-icon_scaling.
+ ENDMETHOD.
+
+
METHOD get_link_hints_enabled.
rv_link_hints_enabled = ms_user_settings-link_hints_enabled.
ENDMETHOD.
+ METHOD get_link_hint_background_color.
+ rv_background_color = ms_user_settings-link_hint_background_color.
+ ENDMETHOD.
+
+
METHOD get_link_hint_key.
rv_link_hint_key = ms_user_settings-link_hint_key.
ENDMETHOD.
@@ -178,6 +229,11 @@ CLASS zcl_abapgit_settings IMPLEMENTATION.
ENDMETHOD.
+ METHOD get_parallel_proc_disabled.
+ rv_disable_parallel_proc = ms_user_settings-parallel_proc_disabled.
+ ENDMETHOD.
+
+
METHOD get_proxy_authentication.
rv_auth = ms_settings-proxy_auth.
ENDMETHOD.
@@ -252,6 +308,7 @@ CLASS zcl_abapgit_settings IMPLEMENTATION.
set_commitmsg_body_size( c_commitmsg_body_size_dft ).
set_default_link_hint_key( ).
set_default_link_hint_bg_color( ).
+ set_icon_scaling( '' ).
ENDMETHOD.
@@ -271,11 +328,29 @@ CLASS zcl_abapgit_settings IMPLEMENTATION.
ENDMETHOD.
+ METHOD set_hotkeys.
+ ms_user_settings-hotkeys = it_hotkeys.
+ ENDMETHOD.
+
+
+ METHOD set_icon_scaling.
+ ms_user_settings-icon_scaling = iv_scaling.
+ IF ms_user_settings-icon_scaling NA c_icon_scaling.
+ ms_user_settings-icon_scaling = ''. " Reset to default
+ ENDIF.
+ ENDMETHOD.
+
+
METHOD set_link_hints_enabled.
ms_user_settings-link_hints_enabled = iv_link_hints_enabled.
ENDMETHOD.
+ METHOD set_link_hint_background_color.
+ ms_user_settings-link_hint_background_color = iv_background_color.
+ ENDMETHOD.
+
+
METHOD set_link_hint_key.
ms_user_settings-link_hint_key = iv_link_hint_key.
ENDMETHOD.
@@ -286,6 +361,11 @@ CLASS zcl_abapgit_settings IMPLEMENTATION.
ENDMETHOD.
+ METHOD set_parallel_proc_disabled.
+ ms_user_settings-parallel_proc_disabled = iv_disable_parallel_proc.
+ ENDMETHOD.
+
+
METHOD set_proxy_authentication.
ms_settings-proxy_auth = iv_auth.
ENDMETHOD.
@@ -340,56 +420,4 @@ CLASS zcl_abapgit_settings IMPLEMENTATION.
cg_data = ms_settings ).
ENDMETHOD.
-
- METHOD get_link_hint_background_color.
- rv_background_color = ms_user_settings-link_hint_background_color.
- ENDMETHOD.
-
-
- METHOD set_link_hint_background_color.
- ms_user_settings-link_hint_background_color = iv_background_color.
- ENDMETHOD.
-
-
- METHOD set_hotkeys.
- ms_user_settings-hotkeys = it_hotkeys.
- ENDMETHOD.
-
- METHOD get_hotkeys.
-
- DATA: lt_default_hotkeys TYPE zif_abapgit_gui_page_hotkey=>tty_hotkey_action,
- ls_hotkey LIKE LINE OF rt_hotkeys.
-
- FIELD-SYMBOLS: LIKE LINE OF lt_default_hotkeys.
-
- IF lines( ms_user_settings-hotkeys ) > 0.
-
- rt_hotkeys = ms_user_settings-hotkeys.
-
- ELSE.
-
- " provide default hotkeys
- lt_default_hotkeys = zcl_abapgit_hotkeys=>get_default_hotkeys_from_pages( ).
-
- LOOP AT lt_default_hotkeys ASSIGNING .
-
- ls_hotkey-action = -action.
- ls_hotkey-sequence = -default_hotkey.
- INSERT ls_hotkey INTO TABLE rt_hotkeys.
-
- ENDLOOP.
-
- ENDIF.
-
- ENDMETHOD.
-
-
- METHOD set_parallel_proc_disabled.
- ms_user_settings-parallel_proc_disabled = iv_disable_parallel_proc.
- ENDMETHOD.
-
- METHOD get_parallel_proc_disabled.
- rv_disable_parallel_proc = ms_user_settings-parallel_proc_disabled.
- ENDMETHOD.
-
ENDCLASS.
diff --git a/src/zif_abapgit_definitions.intf.abap b/src/zif_abapgit_definitions.intf.abap
index a1daa99a1..2fc97abb8 100644
--- a/src/zif_abapgit_definitions.intf.abap
+++ b/src/zif_abapgit_definitions.intf.abap
@@ -337,6 +337,7 @@ INTERFACE zif_abapgit_definitions
link_hint_background_color TYPE string,
hotkeys TYPE tty_hotkey,
parallel_proc_disabled TYPE abap_bool,
+ icon_scaling TYPE c LENGTH 1,
END OF ty_s_user_settings .
TYPES:
tty_dokil TYPE STANDARD TABLE OF dokil