Add fast way of removing suggested extension

This commit is contained in:
Vladimir Golovnev (Glassez) 2022-02-15 09:31:35 +03:00
parent 293479a1f2
commit 1e45b7f50b
No known key found for this signature in database
GPG key ID: 52A2C7DEE2DFA6F7
4 changed files with 12 additions and 7 deletions

View file

@ -149,13 +149,13 @@ QString Path::extension() const
const int slashIndex = m_pathStr.lastIndexOf(QLatin1Char('/'));
const auto filename = QStringView(m_pathStr).mid(slashIndex + 1);
const int dotIndex = filename.lastIndexOf(QLatin1Char('.'));
const int dotIndex = filename.lastIndexOf(QLatin1Char('.'), -2);
return ((dotIndex == -1) ? QString() : filename.mid(dotIndex).toString());
}
bool Path::hasExtension(const QString &ext) const
{
Q_ASSERT(ext.startsWith(QLatin1Char('.')));
Q_ASSERT(ext.startsWith(QLatin1Char('.')) && (ext.size() >= 2));
return m_pathStr.endsWith(ext, Qt::CaseInsensitive);
}
@ -183,6 +183,12 @@ void Path::removeExtension()
m_pathStr.chop(extension().size());
}
void Path::removeExtension(const QString &ext)
{
if (hasExtension(ext))
m_pathStr.chop(ext.size());
}
QString Path::data() const
{
return m_pathStr;