Skip to content
  • Thiago Sueto's avatar
    Port Kirigami tutorial to Qt6 · c49fc0b1
    Thiago Sueto authored
    This MR has a lot of required changes to be an actual port to Qt6, which is why it's big:
    
    * makes QML use versionless imports
    * changes contents/ui/ to qml/
    * switches QT_MAJOR_VERSION with 6 (since versionless imports won't work on 5)
    * switches to declarative type registration [1]
    * explains how to create custom QML modules as well
    * switches engine.load() to engine.loadFromModule()
    * switches actions.{main,left,right} and contextualActions with just actions
    * switches Kirigami.Overlaysheet with Kirigami.Dialog
    * switches the installed package selection to Qt6/KF6
    * switches from BasicListItem to Controls.ItemDelegate/Kirigami.TitleSubtitle et al
    * removes mention of the Kirigami Gallery (which wasn't ported until recently and won't be available on distros so soon)
    
    [1] = does not include "connect C++ to QML"
    
    And a few QoL fixes that improve the overall experience:
    
    * removes broken reflinks
    * show full code for examples
    * update all images to make Kirigami attractive as a product
    * adds mx-auto to fix spacing between side-by-side images
    * adds the br html tag to space images properly when to the side of text
    * adds titles for the code to match the images and to make it easier to scan where things are from
    * sets width and height to get reasonable default window sizes
    * adds a desktop file (for Wayland window icons...)
    * switches from `...` to `// ...` so examples are copy-pasteable without breaking things
    
    This MR is not intended to:
    
    * Replace uses of QApplication for metadata with KAboutData (yet)
    * Update FormCard (because it must be done in conjunction with the snippet repo)
    * Update the explanation on connecting C++ and QML (because it's useful to know both + it's a big enough step on its own)
    * Add a "Porting to Kirigami 6" page
    * Remove all broken links (because we can in fact fix those Kirigami API links soon-ish)
    * Rewrite the tutorial (we need something *now* that users can reference to learn Kirigami while a new one is being made)
    
    To-do:
    
    - [x] rename helloworld -> kirigami-project
    - [x] add missing screenshots
    - [x] add missing links
    
    To test this MR:
    
    ```bash
    git clone https://invent.kde.org/documentation/develop-kde-org.git
    cd develop-kde-org
    git switch work/thiagosueto/kirigami6
    hugo serve
    # Open localhost:1313
    ```
    c49fc0b1