QOwnNotes/scripts/fix-settings-ui-file.sh

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

61 lines
2.4 KiB
Bash
Raw Permalink Normal View History

#!/usr/bin/env bash
#
# This script is a bash script that replaces the string "Qt::Orientation::Vertical"
# with "Qt::Vertical" in "src/dialogs/settingsdialog.ui" to fix the UI in Qt 5.15
#
set -euo pipefail
function update_qt_syntax() {
local file="$1"
# Array of search and replace patterns
declare -A replacements=(
["Qt::Orientation::Vertical"]="Qt::Vertical"
["Qt::Horizontal"]="Qt::Orientation::Horizontal"
["QSizePolicy::Expanding"]="QSizePolicy::Policy::Expanding"
["QSizePolicy::Fixed"]="QSizePolicy::Policy::Fixed"
["QFrame::NoFrame"]="QFrame::Shape::NoFrame"
["QFrame::Raised"]="QFrame::Shadow::Raised"
["QFrame::Plain"]="QFrame::Shadow::Plain"
["QAbstractItemView::InternalMove"]="QAbstractItemView::DragDropMode::InternalMove"
["Qt::TargetMoveAction"]="Qt::DropAction::TargetMoveAction"
["Qt::AlignLeading"]="Qt::AlignmentFlag::AlignLeading"
["Qt::AlignLeft"]="Qt::AlignmentFlag::AlignLeft"
["Qt::AlignRight"]="Qt::AlignmentFlag::AlignRight"
["Qt::AlignVCenter"]="Qt::AlignmentFlag::AlignVCenter"
["Qt::AlignTrailing"]="Qt::AlignmentFlag::AlignTrailing"
["Qt::AlignTop"]="Qt::AlignmentFlag::AlignTop"
["Qt::LinksAccessibleByMouse"]="Qt::TextInteractionFlag::LinksAccessibleByMouse"
["Qt::TextSelectableByMouse"]="Qt::TextInteractionFlag::TextSelectableByMouse"
["Qt::TextSelectableByKeyboard"]="Qt::TextInteractionFlag::TextSelectableByKeyboard"
["QLineEdit::Password"]="QLineEdit::EchoMode::Password"
["QFormLayout::ExpandingFieldsGrow"]="QFormLayout::FieldGrowthPolicy::ExpandingFieldsGrow"
["Qt::ScrollBarAlwaysOff"]="Qt::ScrollBarPolicy::ScrollBarAlwaysOff"
["Qt::PlainText"]="Qt::TextFormat::PlainText"
["Qt::LeftToRight"]="Qt::LayoutDirection::LeftToRight"
["Qt::AutoText"]="Qt::TextFormat::AutoText"
["Qt::RichText"]="Qt::TextFormat::RichText"
["QDialogButtonBox::Ok"]="QDialogButtonBox::StandardButton::Ok"
["QDialogButtonBox::Cancel"]="QDialogButtonBox::StandardButton::Cancel"
)
# Check if file exists
if [ ! -f "$file" ]; then
echo "Error: File '$file' not found!"
return 1
fi
# Perform all replacements
for search in "${!replacements[@]}"; do
replace="${replacements[$search]}"
sed -i "s|$search|$replace|g" "$file"
done
echo "All Qt syntax updates completed in $file"
}
# Usage example:
dialogFile="src/dialogs/settingsdialog.ui"
update_qt_syntax "$dialogFile"