4 #include <QApplication>
12 #if (QT_VERSION < QT_VERSION_CHECK(6, 0, 0))
13 #define _SkipEmptyParts QString::SkipEmptyParts
15 #define _SkipEmptyParts Qt::SkipEmptyParts
18 class QContextMenuEvent;
22 static int stricmp(
char const *s1,
char const *s2)
25 return ::stricmp(s1, s2);
27 return ::strcasecmp(s1, s2);
31 static int strnicmp(
char const *s1,
char const *s2,
size_t n)
34 return ::strnicmp(s1, s2, n);
36 return ::strncasecmp(s1, s2, n);
42 static QStringList
splitLines(QByteArray
const &ba, std::function<QString(
char const *ptr,
size_t len)>
const &tos);
43 static QStringList
splitLines(QString
const &text);
44 static std::vector<std::string_view>
splitLinesV(
const std::string_view &str,
bool keep_newline);
45 static std::vector<std::string_view>
splitLinesV(QByteArray
const &ba,
bool keep_newline);
46 static std::vector<std::string>
splitLines(std::string_view
const &str,
bool keep_newline);
47 static std::vector<std::string_view>
splitWords(std::string_view
const &text);
48 static QStringList
splitWords(QString
const &text);
51 static bool starts_with(std::string
const &str, std::string
const &with);
52 static bool ends_with(std::string
const &str, std::string
const &with);
53 static std::string
mid(std::string
const &str,
int start,
int length = -1);
55 static QString
joinWithSlash(QString
const &left, QString
const &right);
57 static void drawFrame(QPainter *pr,
int x,
int y,
int w,
int h, QColor color_topleft, QColor color_bottomright = QColor());
58 static void dump(
const uint8_t *ptr,
size_t len);
59 static void dump(QByteArray
const *in);
60 static bool isText(std::string
const &mimetype);
61 static bool isImage(std::string
const &mimetype);
62 static bool isSVG(std::string
const &mimetype);
63 static bool isPSD(std::string
const &mimetype);
64 static bool isPDF(std::string
const &mimetype);
75 static std::string_view
trimmed(std::string_view
const &s);
76 static std::string_view
trimQuotes(std::string_view s);
77 static std::string_view
trimNewLines(std::string_view s);
80 static std::vector<uint8_t>
hex_string_to_bin(std::string_view
const &s,
const char *sep =
nullptr);
82 static int compare(uint8_t
const *a,
size_t n, uint8_t
const *b,
size_t m);
83 static int compare(std::vector<uint8_t>
const &a, std::vector<uint8_t>
const &b);
85 static std::vector<std::string>
vector_string(std::vector<std::string_view>
const &v)
87 std::vector<std::string> out;
88 for (
auto const &s : v) {
95 static inline T
toi(std::string_view
const &s,
size_t *consumed =
nullptr)
101 while (i < s.size() && isspace((
unsigned char)s[i])) {
107 }
else if (s[i] ==
'-') {
112 while (i < s.size()) {
113 if (s[i] <
'0' || s[i] >
'9')
break;
114 n = n * 10 + (s[i] -
'0');
121 return sign ? -n : n;
static std::string_view trimQuotes(std::string_view s)
文字列の両端から空白文字と引用符を取り除く
Definition: misc.cpp:795
static bool isExecutable(QString const &cmd)
ファイルが実行可能か判定する
Definition: misc.cpp:699
static bool isSVG(std::string const &mimetype)
MIMEタイプがSVG画像を表すか判定する
Definition: misc.cpp:539
static int strnicmp(char const *s1, char const *s2, size_t n)
Definition: misc.h:31
static std::vector< uint8_t > hex_string_to_bin(std::string_view const &s, const char *sep=nullptr)
16進数文字列をバイナリデータに変換する
Definition: misc.cpp:883
static QString makeDateTimeString(const QDateTime &dt)
日時を文字列に変換する
Definition: misc.cpp:268
static std::vector< std::string_view > splitWords(std::string_view const &text)
文字列を単語に分割する
Definition: misc.cpp:179
static void dump(const uint8_t *ptr, size_t len)
メモリダンプを16進数で表示する
Definition: misc.cpp:462
static QString getApplicationDir()
アプリケーションのディレクトリパスを取得する
Definition: misc.cpp:20
static bool isImage(std::string const &mimetype)
MIMEタイプが画像ファイルを表すか判定する
Definition: misc.cpp:583
static void drawFrame(QPainter *pr, int x, int y, int w, int h, QColor color_topleft, QColor color_bottomright=QColor())
矩形のフレームを描画する。
Definition: misc.cpp:436
static std::vector< std::string > vector_string(std::vector< std::string_view > const &v)
Definition: misc.h:85
static void setFixedSize(QWidget *w)
ウィジェットのサイズを固定する
Definition: misc.cpp:413
static std::vector< std::string_view > splitLinesV(const std::string_view &str, bool keep_newline)
文字列を行に分割する。
Definition: misc.cpp:102
static bool isValidMailAddress(const QString &email)
文字列が有効なメールアドレスか判定する
Definition: misc.cpp:748
static bool starts_with(std::string const &str, std::string const &with)
文字列が指定の文字列で始まるか判定する
Definition: misc.cpp:303
static QString abbrevBranchName(QString const &name)
ブランチ名を短縮形に変換する。
Definition: misc.cpp:612
static bool isPSD(std::string const &mimetype)
MIMEタイプがPhotoshopファイルを表すか判定する
Definition: misc.cpp:554
static bool isPDF(std::string const &mimetype)
MIMEタイプがPDFファイルを表すか判定する
Definition: misc.cpp:568
static std::string_view trimNewLines(std::string_view s)
文字列の両端から改行文字を取り除く
Definition: misc.cpp:818
static std::string_view trimmed(std::string_view const &s)
文字列の両端から空白文字を取り除く
Definition: misc.cpp:777
static std::string mid(std::string const &str, int start, int length=-1)
文字列の一部分を取得する
Definition: misc.cpp:335
static QString normalizePathSeparator(QString const &str)
パスの区切り文字を正規化する
Definition: misc.cpp:381
static std::string bin_to_hex_string(const void *begin, const void *end)
バイナリデータを16進数文字列に変換する
Definition: misc.cpp:856
static int stricmp(char const *s1, char const *s2)
Definition: misc.h:22
static std::string makeProxyServerURL(std::string text)
プロキシサーバーURLを正規化する
Definition: misc.cpp:640
static QString getFileName(QString const &path)
パスからファイル名部分を取得する
Definition: misc.cpp:248
static bool ends_with(std::string const &str, std::string const &with)
文字列が指定の文字列で終わるか判定する
Definition: misc.cpp:317
static QStringList splitLines(QByteArray const &ba, std::function< QString(char const *ptr, size_t len)> const &tos)
QByteArrayの文字列を行に分割する。
Definition: misc.cpp:41
static QPoint contextMenuPos(QWidget *w, QContextMenuEvent *e)
コンテキストメニューを表示する位置を計算する
Definition: misc.cpp:683
static bool isText(std::string const &mimetype)
MIMEタイプがテキストファイルを表すか判定する
Definition: misc.cpp:526
static QString collapseWhitespace(QString const &source)
文字列内の連続する空白文字を1つのスペースにまとめる。
Definition: misc.cpp:713
static QString joinWithSlash(QString const &left, QString const &right)
2つのパスをスラッシュで結合する
Definition: misc.cpp:397
static int compare(uint8_t const *a, size_t n, uint8_t const *b, size_t m)
2つのバイナリデータを比較する
Definition: misc.cpp:920
static T toi(std::string_view const &s, size_t *consumed=nullptr)
Definition: misc.h:95