From 23077d0291426037b6b120cf765664b4487c9330 Mon Sep 17 00:00:00 2001 From: Leifa <26681464+TrickyLeifa@users.noreply.github.com> Date: Sat, 13 Jul 2024 15:31:51 +0200 Subject: Resize mode patch (#1019) * Fix transformation mode for layers Resolve #997 * always use smooth transform resampling for stretched images * Used fixed frame size * Implemented resize mode changes Resolve #999 * Added alias to pixel resize mode * Added user option --------- Co-authored-by: in1tiate <32779090+in1tiate@users.noreply.github.com> --- src/text_file_functions.cpp | 31 +++++++++++++++++-------------- 1 file changed, 17 insertions(+), 14 deletions(-) (limited to 'src/text_file_functions.cpp') diff --git a/src/text_file_functions.cpp b/src/text_file_functions.cpp index 763efb58..97e632e3 100644 --- a/src/text_file_functions.cpp +++ b/src/text_file_functions.cpp @@ -175,18 +175,22 @@ QString AOApplication::read_design_ini(QString p_identifier, QString p_design_pa return ""; } -Qt::TransformationMode AOApplication::get_scaling(QString p_scaling) +RESIZE_MODE AOApplication::get_scaling(QString p_scaling) { - if (p_scaling.isEmpty()) + RESIZE_MODE mode = Options::getInstance().resizeMode(); + if (mode == AUTO_RESIZE_MODE) { - p_scaling = Options::getInstance().defaultScalingMode(); + if (p_scaling == "smooth") + { + mode = SMOOTH_RESIZE_MODE; + } + else if (p_scaling == "pixel" || p_scaling == "fast") + { + mode = PIXEL_RESIZE_MODE; + } } - if (p_scaling == "smooth") - { - return Qt::SmoothTransformation; - } - return Qt::FastTransformation; + return mode; } QPoint AOApplication::get_button_spacing(QString p_identifier, QString p_file) @@ -536,7 +540,7 @@ QString AOApplication::get_emote_property(QString p_char, QString p_emote, QStri return f_result; } -Qt::TransformationMode AOApplication::get_misc_scaling(QString p_miscname) +RESIZE_MODE AOApplication::get_misc_scaling(QString p_miscname) { if (p_miscname != "") { @@ -545,12 +549,11 @@ Qt::TransformationMode AOApplication::get_misc_scaling(QString p_miscname) { misc_transform_mode = read_design_ini("scaling", get_misc_path(p_miscname, "config.ini")); } - if (misc_transform_mode == "smooth") - { - return Qt::SmoothTransformation; - } + + return get_scaling(misc_transform_mode); } - return Qt::FastTransformation; + + return AUTO_RESIZE_MODE; } QString AOApplication::get_category(QString p_char) -- cgit