File: convert-kirigami.sh

package info (click to toggle)
kde-dev-scripts 4%3A25.04.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 3,612 kB
  • sloc: perl: 15,615; lisp: 5,627; sh: 4,560; python: 3,892; ruby: 1,386; makefile: 13; sed: 9
file content (39 lines) | stat: -rwxr-xr-x 1,432 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#!/bin/bash
# SPDX-FileCopyrightText: 2022 Volker Krause <vkrause@kde.org>
# SPDX-License-Identifier: CC0-1.0

#
# Determine used namespaces
#
QQC2_NS=`cat $1 | grep '^import QtQuick.Controls 2' | grep ' as ' | perl -p -e 's/import QtQuick.Controls 2.\d{1,2} as (.*)/\1./'`


#
# Changes compatible with Qt 5.15
#

# migrate from ApplicationWindow.overlay to Overlay.overlay
# (needs current QQC2 import version!)
perl -p -i -e "s/(?:\w+\.)?ApplicationWindow\.overlay/applicationWindow().${QQC2_NS}Overlay.overlay/g" $1
perl -p -i -e "s/applicationWindow\(\)\.overlay/applicationWindow().${QQC2_NS}Overlay.overlay/g" $1


#
# Changes incompatible with Qt 5
#

# Kirigami.BasicListItem icon property changes
perl -0777 -p -i -e 's/(BasicListItem \{[^\}]*?)(icon): /\1icon.name: /sg' $1

# QtGraphicalEffects
# rename import
perl -p -i -e 's/import QtGraphicalEffects 1\.\d+/import Qt5Compat.GraphicalEffects 6.0/' $1
# remove obsolete samples: property
perl -0777 -p -i -e 's/((?:DropShadow|GaussianBlur) \{[^\}].*?)\n\s*samples: .*?\n/\1\n/sg' $1

# QtQuick.Dialogs
perl -p -i -e 's/^import QtQuick.Dialogs 1.\d/import QtQuick.Dialogs 6.3/' $1
# remove obsolete properties
perl -0777 -p -i -e 's/(FileDialog \{[^\}].*?)\n\s*selectExisting: false\n/\1\n/sg' $1
perl -0777 -p -i -e 's/(FileDialog \{[^\}].*?)\n\s*selectMultiple: false\n/\1\n/sg' $1
perl -0777 -p -i -e 's/(FileDialog \{[^\}].*?)\n\s*selectFolder: false\n/\1\n/sg' $1