diff --git a/src/zabapgit.prog.abap b/src/zabapgit.prog.abap
index 26790dfac..54ce615c9 100644
--- a/src/zabapgit.prog.abap
+++ b/src/zabapgit.prog.abap
@@ -3,7 +3,7 @@ REPORT zabapgit LINE-SIZE 100.
* See http://www.abapgit.org
CONSTANTS: gc_xml_version TYPE string VALUE 'v1.0.0', "#EC NOTEXT
- gc_abap_version TYPE string VALUE 'v1.26.1'. "#EC NOTEXT
+ gc_abap_version TYPE string VALUE 'v1.26.2'. "#EC NOTEXT
********************************************************************************
* The MIT License (MIT)
diff --git a/src/zabapgit_forms.prog.abap b/src/zabapgit_forms.prog.abap
index ce245c1f1..e3d9d95d1 100644
--- a/src/zabapgit_forms.prog.abap
+++ b/src/zabapgit_forms.prog.abap
@@ -53,7 +53,8 @@ FORM branch_popup TABLES tt_fields TYPE ty_sval_tt
DATA: lv_url TYPE string,
lx_error TYPE REF TO lcx_exception,
ls_package_data TYPE scompkdtln,
- ls_branch TYPE lcl_git_branch_list=>ty_git_branch.
+ ls_branch TYPE lcl_git_branch_list=>ty_git_branch,
+ lv_create TYPE boolean.
FIELD-SYMBOLS: LIKE LINE OF tt_fields,
LIKE LINE OF tt_fields.
@@ -88,24 +89,9 @@ FORM branch_popup TABLES tt_fields TYPE ty_sval_tt
ELSEIF pv_code = 'COD2'.
cv_show_popup = abap_true.
- CALL FUNCTION 'FUNCTION_EXISTS'
- EXPORTING
- funcname = 'PB_POPUP_PACKAGE_CREATE'
- EXCEPTIONS
- function_not_exist = 1
- OTHERS = 2.
- IF sy-subrc = 1.
-* looks like the function module used does not exist on all
-* versions since 702, so show an error
- lcx_exception=>raise( 'Function module PB_POPUP_PACKAGE_CREATE does not exist' ).
- ENDIF.
-
- CALL FUNCTION 'PB_POPUP_PACKAGE_CREATE'
- CHANGING
- p_object_data = ls_package_data
- EXCEPTIONS
- action_cancelled = 1.
- IF sy-subrc = 1.
+ lcl_popups=>popup_to_create_package( IMPORTING es_package_data = ls_package_data
+ ev_create = lv_create ).
+ IF lv_create = abap_false.
RETURN.
ENDIF.
@@ -119,6 +105,38 @@ FORM branch_popup TABLES tt_fields TYPE ty_sval_tt
ENDFORM. "branch_popup
+FORM package_popup TABLES tt_fields TYPE ty_sval_tt
+ USING pv_code TYPE clike
+ CHANGING cs_error TYPE svale
+ cv_show_popup TYPE c
+ RAISING lcx_exception ##called ##needed.
+* called dynamically from function module POPUP_GET_VALUES_USER_BUTTONS
+
+ DATA: ls_package_data TYPE scompkdtln,
+ lv_create TYPE boolean.
+
+ FIELD-SYMBOLS: LIKE LINE OF tt_fields.
+
+ CLEAR cs_error.
+
+ IF pv_code = 'COD1'.
+ cv_show_popup = abap_true.
+
+ lcl_popups=>popup_to_create_package( IMPORTING es_package_data = ls_package_data
+ ev_create = lv_create ).
+ IF lv_create = abap_false.
+ RETURN.
+ ENDIF.
+
+ lcl_sap_package=>create( ls_package_data ).
+ COMMIT WORK.
+
+ READ TABLE tt_fields ASSIGNING WITH KEY tabname = 'TDEVC'.
+ ASSERT sy-subrc = 0.
+ -value = ls_package_data-devclass.
+ ENDIF.
+ENDFORM. "package_popup
+
FORM output.
DATA: lt_ucomm TYPE TABLE OF sy-ucomm.
PERFORM set_pf_status IN PROGRAM rsdbrunt IF FOUND.
diff --git a/src/zabapgit_page_branch_overview.prog.abap b/src/zabapgit_page_branch_overview.prog.abap
index a98e66738..e67b5d96e 100644
--- a/src/zabapgit_page_branch_overview.prog.abap
+++ b/src/zabapgit_page_branch_overview.prog.abap
@@ -363,7 +363,6 @@ CLASS lcl_gui_page_branch_overview IMPLEMENTATION.
METHOD constructor.
super->constructor( ).
ms_control-page_title = 'BRANCH_OVERVIEW'.
- ms_control-page_menu = build_menu( ).
mo_repo = io_repo.
refresh( ).
ENDMETHOD.
@@ -429,6 +428,9 @@ CLASS lcl_gui_page_branch_overview IMPLEMENTATION.
ro_html->add( render_merge( ) ).
+ ro_html->add( '
' ).
+ ro_html->add( build_menu( )->render( ) ).
+
* see http://stackoverflow.com/questions/6081483/maximum-size-of-a-canvas-element
_add ''.
diff --git a/src/zabapgit_popups.prog.abap b/src/zabapgit_popups.prog.abap
index 46f82d07a..3cd11daca 100644
--- a/src/zabapgit_popups.prog.abap
+++ b/src/zabapgit_popups.prog.abap
@@ -61,12 +61,14 @@ CLASS lcl_popups DEFINITION FINAL.
RETURNING VALUE(rv_answer) TYPE char1
RAISING lcx_exception,
popup_to_inform
- IMPORTING
- titlebar TYPE clike
- text_message TYPE clike
- RAISING lcx_exception.
-
-
+ IMPORTING
+ titlebar TYPE clike
+ text_message TYPE clike
+ RAISING lcx_exception,
+ popup_to_create_package
+ EXPORTING es_package_data TYPE scompkdtln
+ ev_create TYPE boolean
+ RAISING lcx_exception.
ENDCLASS.
CLASS lcl_popups IMPLEMENTATION.
@@ -241,7 +243,10 @@ CLASS lcl_popups IMPLEMENTATION.
METHOD repo_new_offline.
DATA: lv_returncode TYPE c,
- lt_fields TYPE TABLE OF sval.
+ lt_fields TYPE TABLE OF sval,
+ lv_icon_ok TYPE icon-name,
+ lv_button1 TYPE svalbutton-buttontext,
+ lv_icon1 TYPE icon-name.
FIELD-SYMBOLS: LIKE LINE OF lt_fields.
@@ -250,17 +255,28 @@ CLASS lcl_popups IMPLEMENTATION.
_add_dialog_fld 'ABAPTXT255' 'LINE' 'Name' '' ''.
_add_dialog_fld 'TDEVC' 'DEVCLASS' 'Package' '' ''.
- CALL FUNCTION 'POPUP_GET_VALUES'
+ lv_icon_ok = icon_okay.
+ lv_button1 = 'Create package' ##NO_TEXT.
+ lv_icon1 = icon_folder.
+
+ CALL FUNCTION 'POPUP_GET_VALUES_USER_BUTTONS'
EXPORTING
- no_value_check = abap_true
- popup_title = 'New Offline Project' "#EC NOTEXT
+ popup_title = 'New Offline Project'
+ programname = sy-repid
+ formname = 'PACKAGE_POPUP'
+ ok_pushbuttontext = ''
+ icon_ok_push = lv_icon_ok
+ first_pushbutton = lv_button1
+ icon_button_1 = lv_icon1
+ second_pushbutton = ''
+ icon_button_2 = ''
IMPORTING
- returncode = lv_returncode
+ returncode = lv_returncode
TABLES
- fields = lt_fields
+ fields = lt_fields
EXCEPTIONS
- error_in_fields = 1
- OTHERS = 2.
+ error_in_fields = 1
+ OTHERS = 2.
IF sy-subrc <> 0.
lcx_exception=>raise( 'Error from POPUP_GET_VALUES' ).
ENDIF.
@@ -482,4 +498,29 @@ CLASS lcl_popups IMPLEMENTATION.
ENDMETHOD. " popup_to_inform.
+ METHOD popup_to_create_package.
+ CALL FUNCTION 'FUNCTION_EXISTS'
+ EXPORTING
+ funcname = 'PB_POPUP_PACKAGE_CREATE'
+ EXCEPTIONS
+ function_not_exist = 1
+ OTHERS = 2.
+ IF sy-subrc = 1.
+* looks like the function module used does not exist on all
+* versions since 702, so show an error
+ lcx_exception=>raise( 'Function module PB_POPUP_PACKAGE_CREATE does not exist' ).
+ ENDIF.
+
+ CALL FUNCTION 'PB_POPUP_PACKAGE_CREATE'
+ CHANGING
+ p_object_data = es_package_data
+ EXCEPTIONS
+ action_cancelled = 1.
+ IF sy-subrc = 0.
+ ev_create = abap_true.
+ ELSE.
+ ev_create = abap_false.
+ ENDIF.
+ ENDMETHOD. " popup_to_create_package
+
ENDCLASS.
diff --git a/src/zabapgit_services_git.prog.abap b/src/zabapgit_services_git.prog.abap
index 929803158..f64216d36 100644
--- a/src/zabapgit_services_git.prog.abap
+++ b/src/zabapgit_services_git.prog.abap
@@ -201,7 +201,7 @@ CLASS lcl_services_git IMPLEMENTATION.
ls_comment-comment = is_commit-comment.
IF NOT is_commit-body IS INITIAL.
- CONCATENATE ls_comment-comment is_commit-body
+ CONCATENATE ls_comment-comment '' is_commit-body
INTO ls_comment-comment SEPARATED BY gc_newline.
ENDIF.
diff --git a/src/zabapgit_view_tutorial.prog.abap b/src/zabapgit_view_tutorial.prog.abap
index b61c7e976..a438e2f0a 100644
--- a/src/zabapgit_view_tutorial.prog.abap
+++ b/src/zabapgit_view_tutorial.prog.abap
@@ -38,14 +38,21 @@ CLASS lcl_gui_view_tutorial IMPLEMENTATION.
_add 'Adding and cloning repos
'.
_add ''.
+
_add `- To clone a remote repo (e.g. from github) click `.
ro_html->add_a( iv_txt = '+ Clone' iv_act = gc_action-repo_clone ).
_add ' from the top menu. This will copy a remote repo to your system.
'.
+
_add `- To add a local package as a repo click `.
ro_html->add_a( iv_txt = '+ Offline' iv_act = gc_action-repo_newoffline ).
_add ' from the top menu. This will track a repo which already exist in'.
_add ' the system with abapGit. You''ll be able to attach it to remote origin'.
_add ' or just serialize as a zip file
'.
+
+ _add `- Go `.
+ ro_html->add_a( iv_txt = 'Explore' iv_act = gc_action-go_explore ).
+ _add ' to find projects using abapGit
'.
+
_add '
'.
_add 'Repository list and favorites
'.