forked from qt-creator/qt-creator
Core: Make FilePropertiesDialog more usable for remote files
Task-number: QTCREATORBUG-26870 Change-Id: I65cc3aec1cbfd49e450fc000e78e1e997c81e451 Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
This commit is contained in:
@@ -105,16 +105,15 @@ FilePropertiesDialog::~FilePropertiesDialog() = default;
|
|||||||
|
|
||||||
void FilePropertiesDialog::detectTextFileSettings()
|
void FilePropertiesDialog::detectTextFileSettings()
|
||||||
{
|
{
|
||||||
QFile file(m_filePath.toUrlishString());
|
const Result<QByteArray> res = m_filePath.fileContents(/*maxsize*/ 50000);
|
||||||
if (!file.open(QIODevice::ReadOnly)) {
|
if (!res) {
|
||||||
m_lineEndings->setText(Tr::tr("Unknown"));
|
m_lineEndings->setText(Tr::tr("Unknown"));
|
||||||
m_indentation->setText(Tr::tr("Unknown"));
|
m_indentation->setText(Tr::tr("Unknown"));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
const QByteArray data = *res;
|
||||||
|
|
||||||
char lineSeparator = '\n';
|
char lineSeparator = '\n';
|
||||||
const QByteArray data = file.read(50000);
|
|
||||||
file.close();
|
|
||||||
|
|
||||||
// Try to guess the files line endings
|
// Try to guess the files line endings
|
||||||
if (data.contains("\r\n")) {
|
if (data.contains("\r\n")) {
|
||||||
@@ -185,10 +184,10 @@ void FilePropertiesDialog::refresh()
|
|||||||
const QFileInfo fileInfo = m_filePath.toFileInfo();
|
const QFileInfo fileInfo = m_filePath.toFileInfo();
|
||||||
QLocale locale;
|
QLocale locale;
|
||||||
|
|
||||||
m_name->setText(fileInfo.fileName());
|
m_name->setText(m_filePath.fileName());
|
||||||
m_path->setText(QDir::toNativeSeparators(fileInfo.canonicalPath()));
|
m_path->setText(m_filePath.parentDir().toUserOutput());
|
||||||
|
|
||||||
const Utils::MimeType mimeType = Utils::mimeTypeForFile(m_filePath);
|
const MimeType mimeType = Utils::mimeTypeForFile(m_filePath);
|
||||||
m_mimeType->setText(mimeType.name());
|
m_mimeType->setText(mimeType.name());
|
||||||
|
|
||||||
const EditorFactories factories = IEditorFactory::preferredEditorTypes(m_filePath);
|
const EditorFactories factories = IEditorFactory::preferredEditorTypes(m_filePath);
|
||||||
|
Reference in New Issue
Block a user