fix - File name pattern editor 'Clear' and 'Reset' behavior (configuration window)
(cherry picked from commit 116c807f166841e1ba2745e32ae1ef5fd7f25276)
This commit is contained in:
@@ -238,9 +238,19 @@ void ConfigHandler::setDesktopNotification(const bool showDesktopNotification)
|
||||
showDesktopNotification);
|
||||
}
|
||||
|
||||
QString ConfigHandler::filenamePatternDefault()
|
||||
{
|
||||
m_strRes = QLatin1String("%F_%H-%M");
|
||||
return m_strRes;
|
||||
}
|
||||
|
||||
QString ConfigHandler::filenamePatternValue()
|
||||
{
|
||||
return m_settings.value(QStringLiteral("filenamePattern")).toString();
|
||||
m_strRes = m_settings.value(QStringLiteral("filenamePattern")).toString();
|
||||
if (m_strRes.isEmpty()) {
|
||||
m_strRes = filenamePatternDefault();
|
||||
}
|
||||
return m_strRes;
|
||||
}
|
||||
|
||||
void ConfigHandler::setFilenamePattern(const QString& pattern)
|
||||
|
||||
@@ -43,6 +43,7 @@ public:
|
||||
bool desktopNotificationValue();
|
||||
void setDesktopNotification(const bool);
|
||||
|
||||
QString filenamePatternDefault();
|
||||
QString filenamePatternValue();
|
||||
void setFilenamePattern(const QString&);
|
||||
|
||||
|
||||
@@ -33,16 +33,17 @@ QString FileNameHandler::parsedPattern()
|
||||
QString FileNameHandler::parseFilename(const QString& name)
|
||||
{
|
||||
QString res = name;
|
||||
// remove trailing characters '%' in the pattern
|
||||
if (name.isEmpty()) {
|
||||
res = QLatin1String("%F_%H-%M");
|
||||
res = ConfigHandler().filenamePatternDefault();
|
||||
}
|
||||
|
||||
// remove trailing characters '%' in the pattern
|
||||
while (res.endsWith('%')) {
|
||||
res.chop(1);
|
||||
}
|
||||
std::time_t t = std::time(NULL);
|
||||
|
||||
char* tempData = QStringTocharArr(res);
|
||||
char* tempData = QStringToCharArr(res);
|
||||
char data[MAX_CHARACTERS] = { 0 };
|
||||
std::strftime(data, sizeof(data), tempData, std::localtime(&t));
|
||||
res = QString::fromLocal8Bit(data, (int)strlen(data));
|
||||
@@ -92,7 +93,7 @@ QString FileNameHandler::charArrToQString(const char* c)
|
||||
return QString::fromLocal8Bit(c, MAX_CHARACTERS);
|
||||
}
|
||||
|
||||
char* FileNameHandler::QStringTocharArr(const QString& s)
|
||||
char* FileNameHandler::QStringToCharArr(const QString& s)
|
||||
{
|
||||
QByteArray ba = s.toLocal8Bit();
|
||||
return const_cast<char*>(strdup(ba.constData()));
|
||||
|
||||
@@ -25,7 +25,7 @@ public slots:
|
||||
private:
|
||||
// using charArr = char[MAX_CHARACTERS];
|
||||
QString charArrToQString(const char* c);
|
||||
char* QStringTocharArr(const QString& s);
|
||||
char* QStringToCharArr(const QString& s);
|
||||
|
||||
void fixPath(QString& directory, QString& filename);
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user