Skip to content

Commit

Permalink
Improved utf8 detection
Browse files Browse the repository at this point in the history
  • Loading branch information
Albert committed Jun 3, 2020
1 parent 38239e8 commit 55013f9
Showing 1 changed file with 7 additions and 4 deletions.
11 changes: 7 additions & 4 deletions src/editors/SourceEditor.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -162,15 +162,18 @@ bool SourceEditor::load(const QString &fileName, QString *source)
if (!file.open(QFile::ReadOnly | QFile::Text))
return false;

const auto unprintable = [](const auto &string) {
return (std::find_if(string.constBegin(), string.constEnd(),
[](QChar c) { return (!c.isPrint() && !c.isSpace()); }) != string.constEnd());
};

QTextStream stream(&file);
auto string = stream.readAll();
if (!string.isSimpleText()) {
if (!string.isSimpleText() || unprintable(string)) {
stream.setCodec("Windows-1250");
stream.seek(0);
string = stream.readAll();
const auto unprintable = std::find_if(string.constBegin(), string.constEnd(),
[](QChar c) { return (!c.isPrint() && !c.isSpace()); });
if (unprintable != string.constEnd())
if (unprintable(string))
return false;
}

Expand Down

0 comments on commit 55013f9

Please sign in to comment.