mirror of
https://github.com/abapGit/abapGit.git
synced 2025-05-01 04:08:27 +08:00
Add button to launch IEChooser.exe on Windows (#3922)
* Add button to launch IEChooser.exe on Windows * Fix CASE statement * Determine iechooser.exe path using system directory Co-authored-by: Lars Hvam <larshp@hotmail.com>
This commit is contained in:
parent
03724484f1
commit
b7d318d2e9
|
@ -154,6 +154,11 @@ CLASS ZCL_ABAPGIT_GUI_CHUNK_LIB IMPLEMENTATION.
|
||||||
|
|
||||||
|
|
||||||
METHOD advanced_submenu.
|
METHOD advanced_submenu.
|
||||||
|
DATA: li_gui_functions TYPE REF TO zif_abapgit_gui_functions,
|
||||||
|
lv_supports_ie_devtools TYPE abap_bool.
|
||||||
|
|
||||||
|
li_gui_functions = zcl_abapgit_ui_factory=>get_gui_functions( ).
|
||||||
|
lv_supports_ie_devtools = li_gui_functions->is_sapgui_for_windows( ).
|
||||||
|
|
||||||
CREATE OBJECT ro_menu.
|
CREATE OBJECT ro_menu.
|
||||||
|
|
||||||
|
@ -174,8 +179,15 @@ CLASS ZCL_ABAPGIT_GUI_CHUNK_LIB IMPLEMENTATION.
|
||||||
iv_act = zif_abapgit_definitions=>c_action-changed_by
|
iv_act = zif_abapgit_definitions=>c_action-changed_by
|
||||||
)->add(
|
)->add(
|
||||||
iv_txt = 'Debug Info'
|
iv_txt = 'Debug Info'
|
||||||
iv_act = zif_abapgit_definitions=>c_action-go_debuginfo
|
iv_act = zif_abapgit_definitions=>c_action-go_debuginfo ).
|
||||||
)->add(
|
|
||||||
|
IF lv_supports_ie_devtools = abap_true.
|
||||||
|
ro_menu->add(
|
||||||
|
iv_txt = 'Open IE DevTools'
|
||||||
|
iv_act = zif_abapgit_definitions=>c_action-ie_devtools ).
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
|
ro_menu->add(
|
||||||
iv_txt = 'Performance Test'
|
iv_txt = 'Performance Test'
|
||||||
iv_act = zif_abapgit_definitions=>c_action-performance_test ).
|
iv_act = zif_abapgit_definitions=>c_action-performance_test ).
|
||||||
|
|
||||||
|
|
|
@ -31,4 +31,33 @@ CLASS ZCL_ABAPGIT_GUI_FUNCTIONS IMPLEMENTATION.
|
||||||
return = rv_result.
|
return = rv_result.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
METHOD zif_abapgit_gui_functions~is_sapgui_for_windows.
|
||||||
|
DATA: lv_platform TYPE i.
|
||||||
|
|
||||||
|
cl_gui_frontend_services=>get_platform(
|
||||||
|
RECEIVING
|
||||||
|
platform = lv_platform
|
||||||
|
EXCEPTIONS
|
||||||
|
error_no_gui = 1
|
||||||
|
cntl_error = 2
|
||||||
|
not_supported_by_gui = 3
|
||||||
|
OTHERS = 4 ).
|
||||||
|
IF sy-subrc <> 0.
|
||||||
|
rv_result = abap_false.
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
|
CASE lv_platform.
|
||||||
|
WHEN cl_gui_frontend_services=>platform_nt351 OR
|
||||||
|
cl_gui_frontend_services=>platform_nt40 OR
|
||||||
|
cl_gui_frontend_services=>platform_nt50 OR
|
||||||
|
cl_gui_frontend_services=>platform_windows95 OR
|
||||||
|
cl_gui_frontend_services=>platform_windows98 OR
|
||||||
|
cl_gui_frontend_services=>platform_windowsxp.
|
||||||
|
" Everything after Windows XP is reported as Windows XP
|
||||||
|
rv_result = abap_true.
|
||||||
|
WHEN OTHERS.
|
||||||
|
rv_result = abap_false.
|
||||||
|
ENDCASE.
|
||||||
|
ENDMETHOD.
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
|
@ -476,6 +476,9 @@ CLASS ZCL_ABAPGIT_GUI_ROUTER IMPLEMENTATION.
|
||||||
WHEN zif_abapgit_definitions=>c_action-performance_test.
|
WHEN zif_abapgit_definitions=>c_action-performance_test.
|
||||||
zcl_abapgit_services_basis=>run_performance_test( ).
|
zcl_abapgit_services_basis=>run_performance_test( ).
|
||||||
rs_handled-state = zcl_abapgit_gui=>c_event_state-no_more_act.
|
rs_handled-state = zcl_abapgit_gui=>c_event_state-no_more_act.
|
||||||
|
WHEN zif_abapgit_definitions=>c_action-ie_devtools.
|
||||||
|
zcl_abapgit_services_basis=>open_ie_devtools( ).
|
||||||
|
rs_handled-state = zcl_abapgit_gui=>c_event_state-no_more_act.
|
||||||
ENDCASE.
|
ENDCASE.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
|
@ -17,6 +17,9 @@ CLASS zcl_abapgit_services_basis DEFINITION
|
||||||
CLASS-METHODS run_performance_test
|
CLASS-METHODS run_performance_test
|
||||||
RAISING
|
RAISING
|
||||||
zcx_abapgit_exception.
|
zcx_abapgit_exception.
|
||||||
|
CLASS-METHODS open_ie_devtools
|
||||||
|
RAISING
|
||||||
|
zcx_abapgit_exception.
|
||||||
|
|
||||||
PROTECTED SECTION.
|
PROTECTED SECTION.
|
||||||
PRIVATE SECTION.
|
PRIVATE SECTION.
|
||||||
|
@ -146,4 +149,48 @@ CLASS zcl_abapgit_services_basis IMPLEMENTATION.
|
||||||
ix_previous = lx_salv_error ).
|
ix_previous = lx_salv_error ).
|
||||||
ENDTRY.
|
ENDTRY.
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
METHOD open_ie_devtools.
|
||||||
|
DATA: lv_system_directory TYPE string,
|
||||||
|
lv_exe_full_path TYPE string.
|
||||||
|
|
||||||
|
IF zcl_abapgit_ui_factory=>get_gui_functions( )->is_sapgui_for_windows( ) = abap_false.
|
||||||
|
zcx_abapgit_exception=>raise( |IE DevTools not supported on frontend OS| ).
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
|
cl_gui_frontend_services=>get_system_directory(
|
||||||
|
CHANGING
|
||||||
|
system_directory = lv_system_directory
|
||||||
|
EXCEPTIONS
|
||||||
|
cntl_error = 1
|
||||||
|
error_no_gui = 2
|
||||||
|
not_supported_by_gui = 3
|
||||||
|
OTHERS = 4 ).
|
||||||
|
IF sy-subrc <> 0.
|
||||||
|
zcx_abapgit_exception=>raise( |Error from GET_SYSTEM_DIRECTORY sy-subrc: { sy-subrc }| ).
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
|
cl_gui_cfw=>flush( ).
|
||||||
|
|
||||||
|
lv_exe_full_path = lv_system_directory && `\F12\IEChooser.exe`.
|
||||||
|
|
||||||
|
cl_gui_frontend_services=>execute(
|
||||||
|
EXPORTING
|
||||||
|
application = lv_exe_full_path
|
||||||
|
EXCEPTIONS
|
||||||
|
cntl_error = 1
|
||||||
|
error_no_gui = 2
|
||||||
|
bad_parameter = 3
|
||||||
|
file_not_found = 4
|
||||||
|
path_not_found = 5
|
||||||
|
file_extension_unknown = 6
|
||||||
|
error_execute_failed = 7
|
||||||
|
synchronous_failed = 8
|
||||||
|
not_supported_by_gui = 9
|
||||||
|
OTHERS = 10 ).
|
||||||
|
IF sy-subrc <> 0.
|
||||||
|
" IEChooser is only available on Windows 10
|
||||||
|
zcx_abapgit_exception=>raise( |Error from EXECUTE sy-subrc: { sy-subrc }| ).
|
||||||
|
ENDIF.
|
||||||
|
ENDMETHOD.
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
|
@ -7,6 +7,10 @@ INTERFACE zif_abapgit_gui_functions
|
||||||
VALUE(rv_gui_is_available) TYPE abap_bool,
|
VALUE(rv_gui_is_available) TYPE abap_bool,
|
||||||
|
|
||||||
is_sapgui_for_java
|
is_sapgui_for_java
|
||||||
|
RETURNING
|
||||||
|
VALUE(rv_result) TYPE abap_bool,
|
||||||
|
|
||||||
|
is_sapgui_for_windows
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(rv_result) TYPE abap_bool.
|
VALUE(rv_result) TYPE abap_bool.
|
||||||
|
|
||||||
|
|
|
@ -494,6 +494,7 @@ INTERFACE zif_abapgit_definitions
|
||||||
zip_transport TYPE string VALUE 'zip_transport',
|
zip_transport TYPE string VALUE 'zip_transport',
|
||||||
zip_object TYPE string VALUE 'zip_object',
|
zip_object TYPE string VALUE 'zip_object',
|
||||||
performance_test TYPE string VALUE 'performance_test',
|
performance_test TYPE string VALUE 'performance_test',
|
||||||
|
ie_devtools TYPE string VALUE 'ie_devtools',
|
||||||
git_pull TYPE string VALUE 'git_pull',
|
git_pull TYPE string VALUE 'git_pull',
|
||||||
git_reset TYPE string VALUE 'git_reset',
|
git_reset TYPE string VALUE 'git_reset',
|
||||||
git_branch_create TYPE string VALUE 'git_branch_create',
|
git_branch_create TYPE string VALUE 'git_branch_create',
|
||||||
|
|
Loading…
Reference in New Issue
Block a user