Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Multimedia
Kdenlive
Commits
7bc34df4
Commit
7bc34df4
authored
Mar 23, 2022
by
Julius Künzel
Browse files
Fixes for saving and editing render presets
parent
8a714260
Changes
3
Hide whitespace changes
Inline
Side-by-side
src/dialogs/renderpresetdialog.cpp
View file @
7bc34df4
...
...
@@ -29,7 +29,7 @@ static int gcd(int a, int b)
RenderPresetDialog
::
RenderPresetDialog
(
QWidget
*
parent
,
RenderPresetModel
*
preset
,
Mode
mode
)
:
QDialog
(
parent
)
,
m_saveName
()
,
m_saveName
(
preset
?
preset
->
name
()
:
""
)
,
m_monitor
(
nullptr
)
,
m_fixedResRatio
(
1.
)
{
...
...
@@ -375,7 +375,7 @@ RenderPresetDialog::RenderPresetDialog(QWidget *parent, RenderPresetModel *prese
QString
::
number
(
aQuality
->
value
()),
speeds_list_str
));
m_saveName
=
RenderPresetRepository
::
get
()
->
savePreset
(
newPreset
.
get
());
m_saveName
=
RenderPresetRepository
::
get
()
->
savePreset
(
newPreset
.
get
()
,
mode
==
Mode
::
Edit
);
if
((
mode
==
Mode
::
Edit
)
&&
!
m_saveName
.
isEmpty
()
&&
(
oldName
!=
m_saveName
))
{
RenderPresetRepository
::
get
()
->
deletePreset
(
oldName
);
}
...
...
src/renderpresets/renderpresetrepository.cpp
View file @
7bc34df4
...
...
@@ -287,13 +287,10 @@ bool RenderPresetRepository::presetExists(const QString &name) const
return
m_profiles
.
count
(
name
)
>
0
;
}
const
QString
RenderPresetRepository
::
savePreset
(
RenderPresetModel
*
preset
,
const
QString
&
o
verrideGroup
Name
)
const
QString
RenderPresetRepository
::
savePreset
(
RenderPresetModel
*
preset
,
bool
editMode
,
const
QString
&
o
ld
Name
)
{
QDomElement
newPreset
=
preset
->
toXml
();
if
(
!
overrideGroupName
.
isEmpty
())
{
newPreset
.
setAttribute
(
QStringLiteral
(
"category"
),
overrideGroupName
);
}
QDomDocument
doc
;
...
...
@@ -331,23 +328,31 @@ const QString RenderPresetRepository::savePreset(RenderPresetModel *preset, cons
i
++
;
}
bool
ok
;
QString
newPresetName
=
preset
->
name
();
while
(
existingProfileNames
.
contains
(
newPresetName
))
{
QString
updatedPresetName
=
QInputDialog
::
getText
(
nullptr
,
i18n
(
"Preset already exists"
),
i18n
(
"This preset name already exists. Change the name if you do not want to overwrite it."
),
QLineEdit
::
Normal
,
newPresetName
,
&
ok
);
if
(
!
ok
)
{
return
{};
QString
updatedPresetName
=
newPresetName
;
if
(
!
editMode
)
{
bool
ok
;
updatedPresetName
=
QInputDialog
::
getText
(
nullptr
,
i18n
(
"Preset already exists"
),
i18n
(
"This preset name already exists. Change the name if you do not want to overwrite it."
),
QLineEdit
::
Normal
,
newPresetName
,
&
ok
);
if
(
!
ok
)
{
return
{};
}
}
if
(
updatedPresetName
==
newPresetName
)
{
// remove previous profile
profiles
.
removeChild
(
profilelist
.
item
(
existingProfileNames
.
indexOf
(
newPresetName
)));
int
ix
=
existingProfileNames
.
indexOf
(
newPresetName
);
profiles
.
removeChild
(
profilelist
.
item
(
ix
));
existingProfileNames
.
removeAt
(
ix
);
break
;
}
else
{
newPresetName
=
updatedPresetName
;
newPreset
.
setAttribute
(
QStringLiteral
(
"name"
),
newPresetName
);
}
newPresetName
=
updatedPresetName
;
newPreset
.
setAttribute
(
QStringLiteral
(
"name"
),
newPresetName
);
}
if
(
editMode
&&
!
oldName
.
isEmpty
()
&&
existingProfileNames
.
contains
(
oldName
))
{
profiles
.
removeChild
(
profilelist
.
item
(
existingProfileNames
.
indexOf
(
oldName
)));
}
profiles
.
appendChild
(
newPreset
);
...
...
src/renderpresets/renderpresetrepository.hpp
View file @
7bc34df4
...
...
@@ -51,7 +51,7 @@ public:
/** @brief Saves given preset
* @returns The name of the saved preset
*/
const
QString
savePreset
(
RenderPresetModel
*
profile
,
const
QString
&
overrideGroupName
=
{}
);
const
QString
savePreset
(
RenderPresetModel
*
profile
,
bool
editMode
=
false
,
const
QString
&
oldName
=
QString
()
);
/** @brief Delete a (custom) preset*/
bool
deletePreset
(
const
QString
&
path
,
bool
dontRefresh
=
false
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment