Remove appbase as an external dependency.

This commit is contained in:
fourtf
2019-07-23 22:18:36 +02:00
parent 628c64d138
commit a85e5821ba
65 changed files with 8737 additions and 9 deletions
+56
View File
@@ -0,0 +1,56 @@
#pragma once
#include <fmt/format.h>
#include <QUuid>
namespace AB_NAMESPACE {
template <typename... Args>
auto fS(Args &&... args)
{
return fmt::format(std::forward<Args>(args)...);
}
static QString CreateUUID()
{
auto uuid = QUuid::createUuid();
return uuid.toString();
}
static QString createLink(const QString &url, bool file = false)
{
return QString("<a href=\"") + (file ? "file:///" : "") + url + "\">" +
url + "</a>";
}
static QString createNamedLink(const QString &url, const QString &name,
bool file = false)
{
return QString("<a href=\"") + (file ? "file:///" : "") + url + "\">" +
name + "</a>";
}
static QString shortenString(const QString &str, unsigned maxWidth = 50)
{
auto shortened = QString(str);
if (str.size() > int(maxWidth))
{
shortened.resize(int(maxWidth));
shortened += "...";
}
return shortened;
}
} // namespace AB_NAMESPACE
namespace fmt {
// format_arg for QString
inline void format_arg(BasicFormatter<char> &f, const char *&, const QString &v)
{
f.writer().write("{}", v.toStdString());
}
} // namespace fmt