- Removed "class analysis logic" from hotkey collection
- Hotkeys are now registered directly in the hotkey controller (similar to asset manager)
- `zif_abapgit_hotkeys->get_hotkey_actions` was changed to instance method and can therefore be redefined in subclasses
- Renamed the controller class to match the interface name
Co-authored-by: Christian Günter <christianguenter@googlemail.com>
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* Naming of class constants
This is in preparation of enforcing a naming convention for constants in classes/interfaces. At the end, the following lint rule shall be set:
```json
"class_attribute_names": {
"constants": "^C_.+$",
...
},
```
After this, the only remaining constants not following this rule are in `zcl_abapgit_version`.
* Update zif_abapgit_dot_abapgit.intf.abap
* Update zcl_abapgit_gui_chunk_lib.clas.abap
* Update zcl_abapgit_gui_router.clas.abap
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* Add "Last changed by" to repo page
Proposition for #3267
* Add "Last changed by" to repo page
For #3267
- add "Changed by" also for local items
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* Offline repo: "Import via RFC" feature
Adds option to **offline** repositories for importing a repo via an RFC connection from another SAP system. It's a shortcut for doing "Export ZIP" in one system, and "Import ZIP" in the other.
Closes#4784
Pre-requisite: abapGit develop version (with this change) is installed on remote SAP system.
Note: The general recommendation is to use **online** repositories and a git server for comparing and synchronizing systems.
* Lint
* Create guide-import-rfc.md
* Langu
* Langu
* Write-protect only
* Compare
* Compare
* Compare
* Compare
* Git
* Update docs/guide-import-rfc.md
Co-authored-by: Lars Hvam <larshp@hotmail.com>
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* Enhance "Force Pull" to become "Selective Pull"
With this PR you can now peform a selective pull. Yay!
- Changes "Force Pull" to show *all* changed objects in the usual "Overwrite Popup". This allows you to select individual objects to be pulled no matter if they were changed locally or remotely.
- Does *not* change the regular "Pull" logic
Closes#413, #4282
* Combine delete and overwrite popups
* Add icons to abaplint.json
* Change if to case
* Add icons to abaplint.json
* Enhance UTs
* show_icon
* Show icon
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* New "Switch" tab in repo settings
This PR adds a new tab to the repo settings which combines all options for switching the repository to a different source:
- Switch between "Online" and "Offline"
- Switch to Branch, Tag, Commit, or Pull Request
Note 1: Value help for URL history has not been implemented yet.
Note 2: None of the existing related menu items have been removed yet.
* Clean-up
* Clean-up
* Clean-up
* Clean-up
* Clean-up
* Change to "Remote"
- rename class
- add "autosave" for on/offline switch
- change "Switch" to "Remote"
* Update on/offline switch
* Update on/offline switch
* Update zcl_abapgit_gui_page_sett_remo.clas.abap
* Grammar
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* Refactor "Background Mode" to HTML Form
ref #4171
- Moved "Background Mode" from "Advanced" menu to "Repo Settings"
- Changed Bckg Setting and Bckg Run to new HTML pages
* Add back_toolbar
* move perf test option to new repo
Moving the performance test option to separate repository,
https://github.com/abapGit/performance-test
I guess this feature is not used very often, it will reduce the overall code size, and instead of refactoring these popups to HTML they can stay ALVs in the new repo
* fixes
* Refactor I18N settings
- Consolidate I18N parameters into a structure and pass it to xml and serializer classes (#4415)
- Continue change of terminology (#4043)
* Remove changes to serializer class
* Main lang
* DSYS
* OTGR
* Repo view
* Main langu
* Repo view %26 stage
* Serialize
* Settings
* Repo view
* Defs
* Stage
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* Dialogs: HTML forms for repo settings
This moves the repo settings to HTML forms. The settings are split into three pages:
- Repository settings (ie abapgit.xml)
- Local settings
- Infos
* Lint
* Infos > Stats
* Infos > Stats
* Infos > Stats
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* Remove obsolete late_deser from metadata
Final part to remove late_deser flag. Solution remains compatible with old bridge class which still uses the flag.
* Call
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* Dialogs: New pages for global and personal setting
Redesign of abapGit settings using HTML forms. Two functional changes to old settings page:
- "Development Internal Settings" are only visible when using the developer version (not in standalone program)
- "User-specific hotkey settings" are not available anymore. The default hotkeys continue to work as before.
Global/Personal settings can be reached using hotkeys "x" and "y".
* Lint
* Hide button
* Change to top menu
* Remove old page
* Remove old page
* fix links
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* move merge types to merge class
this will make the God interface defintions smaller
also reducing INTF -> CLAS references
and making it easier to add an interface for the merge class in the future
* add interface ZIF_ABAPGIT_MERGE
* UI: Unify rendering of branch, package, user names
Branch name was already rendered "boxed with a leading icon". The same is now done for package and user names.
See `zcl_abapgit_gui_chunk_lib->render_branch_name, render_package_name, render_user_name`.
Closes#4059
* Lint %26 transport
* Unknown user
* Transport css
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* Fix state calculation for deleted objects
In case objects are deleted locally or remotely, abapGit now compares against the last known state (checksum).
Closes https://github.com/abapGit/abapGit/issues/4030
* Added test case
Covers known local and remote states
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* Part 1
* Part 2
* Part 3
* Lint
* Part 5
* Part 6
* Part 7
* Part 8
* Part 9
* Enforce type naming prefix
All types need to start with TY_...
* Fix local types
* 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>
* change xml references
* change xml reference, remove type definition
deleted type already exists in zif_abapgit_definitions
* change XML references
* change indentation
* fix indentation
* fix ident pt. 3
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* Add performance test
* Fix some linter errors
* Refactor free selections to reduce method length
* Performance test add title to result ALV
* Attempt downport
* Downport
* Pretty Printer VS abaplint
* Undo more changes done by pretty printer
* Adjust performance popup title and ALV layout
* Move free sel dialog to global for abapmerge
* Move some type definitions for abapmerge
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* WDYN: Fix missing texts
Texts were missing if more than one concept existed per WebDynpro component. Also fixes unit tests which were not working properly before and adds anew test.
* Pretty print
* Refactor and enhance SOTR support
Now supports all objects that use OTR: CLAS (LIMU/CPUB), ENHC, ENHO, ENHS, ENSC, WAPA (LIMU/WAPP) WDYA, WDYN (LIMU/WDYV), WEBI
* Lint
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* Use icons, add back menu to repo show page
* Event handling
* Abaplint
* Add menu to tutorial page
* Lint
* More icons
* Update tutorial, reorganize button code
* Move icon css
* Fix error
* Fix menu
* Update zif_abapgit_definitions.intf.abap
* Condense messages in case of package move
* Improve msg alignment
Co-authored-by: Frederik Hudák <frederik.hudak@sap.com>
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* Update 3 objects
* Update zcl_abapgit_exit.clas.abap
Pretty printer didnt work in JAVA GUI, so had to manually change the file
* IS_STEP as input parameter
* Issue in JAVA based GUI
Pretty printer not working for class name in implementation
* Move TY_STEP_DATA to ZIF_ABAPGIT_DEFINITIONS
* try moving ty_deserialization_step
Co-authored-by: Lars Hvam <larshp@hotmail.com>
* Create pull.yml
* Update zcl_abapgit_git_transport.clas.abap
* Update zcl_abapgit_git_transport.clas.abap
* Update pull.yml
* Update pull.yml
* Delete pull.yml
* Refactored popup logic
Related to #3040
Refactoring of popup logic/calling to be able to reuse it as commit list.
* Removed reset flag
Removed reset flag cause it doesn't belong to this PR (will be readded later)
Co-authored-by: pull[bot] <39814207+pull[bot]@users.noreply.github.com>
Co-authored-by: Lars Hvam <larshp@hotmail.com>