qtutilities/misc/dialogutils.cpp

33 lines
1.2 KiB
C++

#include "dialogutils.h"
#include <QCoreApplication>
#include <QFileInfo>
#include <QDir>
namespace Dialogs {
QString generateWindowTitle(DocumentStatus documentStatus, const QString &documentPath)
{
switch(documentStatus) {
case DocumentStatus::Saved:
if(documentPath.isEmpty()) {
return QCoreApplication::translate("Utilities::windowTitle", "Unsaved - %1").arg(QCoreApplication::applicationName());
} else {
QFileInfo file(documentPath);
return QCoreApplication::translate("Utilities::windowTitle", "%1 - %2 - %3").arg(file.fileName(), file.dir().path(), QCoreApplication::applicationName());
}
case DocumentStatus::Unsaved:
if(documentPath.isEmpty()) {
return QCoreApplication::translate("Utilities::windowTitle", "*Unsaved - %1").arg(QCoreApplication::applicationName());
} else {
QFileInfo file(documentPath);
return QCoreApplication::translate("Utilities::windowTitle", "*%1 - %2 - %3").arg(file.fileName(), file.dir().path(), QCoreApplication::applicationName());
}
case DocumentStatus::NoDocument:
return QCoreApplication::applicationName();
}
}
} // namespace Dialogs