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