forked from qt-creator/qt-creator
Core: Proliferate FilePath use in FilePropertiesDialog a bit
Change-Id: Ifcb9df95052bcc504ffb867c71789ae268a92316 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
@@ -37,10 +37,14 @@
|
|||||||
#include <QFileInfo>
|
#include <QFileInfo>
|
||||||
#include <QLocale>
|
#include <QLocale>
|
||||||
|
|
||||||
FilePropertiesDialog::FilePropertiesDialog(const Utils::FilePath &fileName, QWidget *parent) :
|
using namespace Utils;
|
||||||
|
|
||||||
|
namespace Core {
|
||||||
|
|
||||||
|
FilePropertiesDialog::FilePropertiesDialog(const FilePath &filePath, QWidget *parent) :
|
||||||
QDialog(parent),
|
QDialog(parent),
|
||||||
m_ui(new Ui::FilePropertiesDialog),
|
m_ui(new Ui::FilePropertiesDialog),
|
||||||
m_fileName(fileName.toString())
|
m_filePath(filePath)
|
||||||
{
|
{
|
||||||
m_ui->setupUi(this);
|
m_ui->setupUi(this);
|
||||||
|
|
||||||
@@ -64,7 +68,7 @@ FilePropertiesDialog::~FilePropertiesDialog()
|
|||||||
|
|
||||||
void FilePropertiesDialog::detectTextFileSettings()
|
void FilePropertiesDialog::detectTextFileSettings()
|
||||||
{
|
{
|
||||||
QFile file(m_fileName);
|
QFile file(m_filePath.toString());
|
||||||
if (!file.open(QIODevice::ReadOnly)) {
|
if (!file.open(QIODevice::ReadOnly)) {
|
||||||
m_ui->lineEndings->setText(tr("Unknown"));
|
m_ui->lineEndings->setText(tr("Unknown"));
|
||||||
m_ui->indentation->setText(tr("Unknown"));
|
m_ui->indentation->setText(tr("Unknown"));
|
||||||
@@ -142,7 +146,7 @@ void FilePropertiesDialog::detectTextFileSettings()
|
|||||||
void FilePropertiesDialog::refresh()
|
void FilePropertiesDialog::refresh()
|
||||||
{
|
{
|
||||||
Utils::withNtfsPermissions<void>([this] {
|
Utils::withNtfsPermissions<void>([this] {
|
||||||
const QFileInfo fileInfo(m_fileName);
|
const QFileInfo fileInfo = m_filePath.toFileInfo();
|
||||||
QLocale locale;
|
QLocale locale;
|
||||||
|
|
||||||
m_ui->name->setText(fileInfo.fileName());
|
m_ui->name->setText(fileInfo.fileName());
|
||||||
@@ -151,8 +155,7 @@ void FilePropertiesDialog::refresh()
|
|||||||
const Utils::MimeType mimeType = Utils::mimeTypeForFile(fileInfo);
|
const Utils::MimeType mimeType = Utils::mimeTypeForFile(fileInfo);
|
||||||
m_ui->mimeType->setText(mimeType.name());
|
m_ui->mimeType->setText(mimeType.name());
|
||||||
|
|
||||||
const Core::EditorFactoryList factories =
|
const EditorFactoryList factories = IEditorFactory::preferredEditorFactories(m_filePath);
|
||||||
Core::IEditorFactory::preferredEditorFactories(Utils::FilePath::fromString(m_fileName));
|
|
||||||
m_ui->defaultEditor->setText(!factories.isEmpty() ? factories.at(0)->displayName() : tr("Undefined"));
|
m_ui->defaultEditor->setText(!factories.isEmpty() ? factories.at(0)->displayName() : tr("Undefined"));
|
||||||
|
|
||||||
m_ui->owner->setText(fileInfo.owner());
|
m_ui->owner->setText(fileInfo.owner());
|
||||||
@@ -176,15 +179,17 @@ void FilePropertiesDialog::refresh()
|
|||||||
void FilePropertiesDialog::setPermission(QFile::Permissions newPermissions, bool set)
|
void FilePropertiesDialog::setPermission(QFile::Permissions newPermissions, bool set)
|
||||||
{
|
{
|
||||||
Utils::withNtfsPermissions<void>([this, newPermissions, set] {
|
Utils::withNtfsPermissions<void>([this, newPermissions, set] {
|
||||||
QFile::Permissions permissions = QFile::permissions(m_fileName);
|
QFile::Permissions permissions = m_filePath.permissions();
|
||||||
if (set)
|
if (set)
|
||||||
permissions |= newPermissions;
|
permissions |= newPermissions;
|
||||||
else
|
else
|
||||||
permissions &= ~newPermissions;
|
permissions &= ~newPermissions;
|
||||||
|
|
||||||
if (!QFile::setPermissions(m_fileName, permissions))
|
if (!QFile::setPermissions(m_filePath.toString(), permissions))
|
||||||
qWarning() << "Cannot change permissions for file" << m_fileName;
|
qWarning() << "Cannot change permissions for file" << m_filePath;
|
||||||
});
|
});
|
||||||
|
|
||||||
refresh();
|
refresh();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
} // Core
|
||||||
|
@@ -25,23 +25,22 @@
|
|||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <utils/fileutils.h>
|
#include <utils/filepath.h>
|
||||||
|
|
||||||
#include <QDialog>
|
#include <QDialog>
|
||||||
#include <QFile>
|
|
||||||
|
|
||||||
QT_BEGIN_NAMESPACE
|
QT_BEGIN_NAMESPACE
|
||||||
namespace Ui {
|
namespace Ui { class FilePropertiesDialog; }
|
||||||
class FilePropertiesDialog;
|
|
||||||
}
|
|
||||||
QT_END_NAMESPACE
|
QT_END_NAMESPACE
|
||||||
|
|
||||||
|
namespace Core {
|
||||||
|
|
||||||
class FilePropertiesDialog : public QDialog
|
class FilePropertiesDialog : public QDialog
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
|
||||||
public:
|
public:
|
||||||
explicit FilePropertiesDialog(const Utils::FilePath &fileName, QWidget *parent = nullptr);
|
explicit FilePropertiesDialog(const Utils::FilePath &filePath, QWidget *parent = nullptr);
|
||||||
~FilePropertiesDialog() override;
|
~FilePropertiesDialog() override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
@@ -51,5 +50,7 @@ private:
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
Ui::FilePropertiesDialog *m_ui = nullptr;
|
Ui::FilePropertiesDialog *m_ui = nullptr;
|
||||||
const QString m_fileName;
|
const Utils::FilePath m_filePath;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
} // Core
|
||||||
|
Reference in New Issue
Block a user