aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/coreplugin/dialogs
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/coreplugin/dialogs')
-rw-r--r--src/plugins/coreplugin/dialogs/filepropertiesdialog.cpp6
-rw-r--r--src/plugins/coreplugin/dialogs/filepropertiesdialog.h2
-rw-r--r--src/plugins/coreplugin/dialogs/newdialog.cpp2
-rw-r--r--src/plugins/coreplugin/dialogs/openwithdialog.cpp2
-rw-r--r--src/plugins/coreplugin/dialogs/openwithdialog.h2
-rw-r--r--src/plugins/coreplugin/dialogs/readonlyfilesdialog.cpp102
-rw-r--r--src/plugins/coreplugin/dialogs/readonlyfilesdialog.h6
-rw-r--r--src/plugins/coreplugin/dialogs/saveitemsdialog.cpp2
-rw-r--r--src/plugins/coreplugin/dialogs/saveitemsdialog.h1
-rw-r--r--src/plugins/coreplugin/dialogs/settingsdialog.cpp2
-rw-r--r--src/plugins/coreplugin/dialogs/shortcutsettings.cpp2
11 files changed, 62 insertions, 67 deletions
diff --git a/src/plugins/coreplugin/dialogs/filepropertiesdialog.cpp b/src/plugins/coreplugin/dialogs/filepropertiesdialog.cpp
index 33d2123238..fef059d7fa 100644
--- a/src/plugins/coreplugin/dialogs/filepropertiesdialog.cpp
+++ b/src/plugins/coreplugin/dialogs/filepropertiesdialog.cpp
@@ -37,7 +37,7 @@
#include <QFileInfo>
#include <QLocale>
-FilePropertiesDialog::FilePropertiesDialog(const Utils::FileName &fileName, QWidget *parent) :
+FilePropertiesDialog::FilePropertiesDialog(const Utils::FilePath &fileName, QWidget *parent) :
QDialog(parent),
m_ui(new Ui::FilePropertiesDialog),
m_fileName(fileName.toString())
@@ -78,11 +78,7 @@ void FilePropertiesDialog::refresh()
m_ui->owner->setText(fileInfo.owner());
m_ui->group->setText(fileInfo.group());
-#if QT_VERSION >= QT_VERSION_CHECK(5, 10, 0)
m_ui->size->setText(locale.formattedDataSize(fileInfo.size()));
-#else
- m_ui->size->setText(tr("%1 Bytes").arg(locale.toString(fileInfo.size())));
-#endif
m_ui->readable->setChecked(fileInfo.isReadable());
m_ui->writable->setChecked(fileInfo.isWritable());
m_ui->executable->setChecked(fileInfo.isExecutable());
diff --git a/src/plugins/coreplugin/dialogs/filepropertiesdialog.h b/src/plugins/coreplugin/dialogs/filepropertiesdialog.h
index db55abeb0e..95d8bfbceb 100644
--- a/src/plugins/coreplugin/dialogs/filepropertiesdialog.h
+++ b/src/plugins/coreplugin/dialogs/filepropertiesdialog.h
@@ -41,7 +41,7 @@ class FilePropertiesDialog : public QDialog
Q_OBJECT
public:
- explicit FilePropertiesDialog(const Utils::FileName &fileName, QWidget *parent = nullptr);
+ explicit FilePropertiesDialog(const Utils::FilePath &fileName, QWidget *parent = nullptr);
~FilePropertiesDialog() override;
private:
diff --git a/src/plugins/coreplugin/dialogs/newdialog.cpp b/src/plugins/coreplugin/dialogs/newdialog.cpp
index e89ea9846c..e691d826ed 100644
--- a/src/plugins/coreplugin/dialogs/newdialog.cpp
+++ b/src/plugins/coreplugin/dialogs/newdialog.cpp
@@ -231,7 +231,7 @@ NewDialog::NewDialog(QWidget *parent) :
connect(m_ui->buttonBox, &QDialogButtonBox::rejected, this, &NewDialog::reject);
connect(m_ui->comboBox,
- static_cast<void (QComboBox::*)(const QString &)>(&QComboBox::currentIndexChanged),
+ QOverload<const QString &>::of(&QComboBox::currentIndexChanged),
this, &NewDialog::setSelectedPlatform);
}
diff --git a/src/plugins/coreplugin/dialogs/openwithdialog.cpp b/src/plugins/coreplugin/dialogs/openwithdialog.cpp
index 7452fdb319..526a32f7e5 100644
--- a/src/plugins/coreplugin/dialogs/openwithdialog.cpp
+++ b/src/plugins/coreplugin/dialogs/openwithdialog.cpp
@@ -37,7 +37,7 @@ OpenWithDialog::OpenWithDialog(const QString &fileName, QWidget *parent)
{
setupUi(this);
setWindowFlags(windowFlags() & ~Qt::WindowContextHelpButtonHint);
- label->setText(tr("Open file \"%1\" with:").arg(Utils::FileName::fromString(fileName).fileName()));
+ label->setText(tr("Open file \"%1\" with:").arg(Utils::FilePath::fromString(fileName).fileName()));
buttonBox->button(QDialogButtonBox::Ok)->setDefault(true);
connect(buttonBox->button(QDialogButtonBox::Ok), &QAbstractButton::clicked,
diff --git a/src/plugins/coreplugin/dialogs/openwithdialog.h b/src/plugins/coreplugin/dialogs/openwithdialog.h
index a3f0db0366..1833af8383 100644
--- a/src/plugins/coreplugin/dialogs/openwithdialog.h
+++ b/src/plugins/coreplugin/dialogs/openwithdialog.h
@@ -29,8 +29,6 @@
#include "ui_openwithdialog.h"
namespace Core {
-
-
namespace Internal {
// Present the user with a file name and a list of available
diff --git a/src/plugins/coreplugin/dialogs/readonlyfilesdialog.cpp b/src/plugins/coreplugin/dialogs/readonlyfilesdialog.cpp
index af41349cff..9e9a8cc428 100644
--- a/src/plugins/coreplugin/dialogs/readonlyfilesdialog.cpp
+++ b/src/plugins/coreplugin/dialogs/readonlyfilesdialog.cpp
@@ -33,6 +33,7 @@
#include <coreplugin/iversioncontrol.h>
#include <coreplugin/vcsmanager.h>
+#include <utils/algorithm.h>
#include <utils/fileutils.h>
#include <utils/hostosinfo.h>
#include <utils/stringutils.h>
@@ -45,6 +46,8 @@
#include <QPushButton>
#include <QRadioButton>
+using namespace Utils;
+
namespace Core {
namespace Internal {
@@ -65,8 +68,8 @@ public:
NumberOfColumns
};
- void initDialog(const QStringList &fileNames);
- void promptFailWarning(const QStringList &files, ReadOnlyFilesDialog::ReadOnlyResult type) const;
+ void initDialog(const FilePathList &filePaths);
+ void promptFailWarning(const FilePathList &files, ReadOnlyFilesDialog::ReadOnlyResult type) const;
QRadioButton *createRadioButtonForItem(QTreeWidgetItem *item, QButtonGroup *group, ReadOnlyFilesTreeColumn type);
void setAll(int index);
@@ -77,14 +80,14 @@ public:
// Buttongroups containing the operation for one file.
struct ButtonGroupForFile
{
- QString fileName;
+ FilePath filePath;
QButtonGroup *group;
};
QList <ButtonGroupForFile> buttonGroups;
QMap <int, int> setAllIndexForOperation;
// The version control systems for every file, if the file isn't in VCS the value is 0.
- QHash <QString, IVersionControl*> versionControls;
+ QHash<FilePath, IVersionControl*> versionControls;
// Define if some specific operations should be allowed to make the files writable.
const bool useSaveAs;
@@ -140,19 +143,19 @@ using namespace Internal;
* and Save As which is used to save the changes to a document in another file.
*/
-ReadOnlyFilesDialog::ReadOnlyFilesDialog(const QList<QString> &fileNames, QWidget *parent)
+ReadOnlyFilesDialog::ReadOnlyFilesDialog(const Utils::FilePathList &filePaths, QWidget *parent)
: QDialog(parent)
, d(new ReadOnlyFilesDialogPrivate(this))
{
setWindowFlags(windowFlags() & ~Qt::WindowContextHelpButtonHint);
- d->initDialog(fileNames);
+ d->initDialog(filePaths);
}
-ReadOnlyFilesDialog::ReadOnlyFilesDialog(const QString &fileName, QWidget *parent)
+ReadOnlyFilesDialog::ReadOnlyFilesDialog(const Utils::FilePath &filePath, QWidget *parent)
: QDialog(parent)
, d(new ReadOnlyFilesDialogPrivate(this))
{
- d->initDialog(QStringList(fileName));
+ d->initDialog({filePath});
}
ReadOnlyFilesDialog::ReadOnlyFilesDialog(IDocument *document, QWidget *parent,
@@ -160,16 +163,16 @@ ReadOnlyFilesDialog::ReadOnlyFilesDialog(IDocument *document, QWidget *parent,
: QDialog(parent)
, d(new ReadOnlyFilesDialogPrivate(this, document, displaySaveAs))
{
- d->initDialog(QStringList(document->filePath().toString()));
+ d->initDialog({document->filePath()});
}
ReadOnlyFilesDialog::ReadOnlyFilesDialog(const QList<IDocument *> &documents, QWidget *parent)
: QDialog(parent)
, d(new ReadOnlyFilesDialogPrivate(this))
{
- QStringList files;
- foreach (IDocument *document, documents)
- files << document->filePath().toString();
+ FilePathList files;
+ for (IDocument *document : documents)
+ files << document->filePath();
d->initDialog(files);
}
@@ -202,7 +205,7 @@ void ReadOnlyFilesDialog::setShowFailWarning(bool show, const QString &warning)
* Opens a message box with an error description according to the type.
* \internal
*/
-void ReadOnlyFilesDialogPrivate::promptFailWarning(const QStringList &files, ReadOnlyFilesDialog::ReadOnlyResult type) const
+void ReadOnlyFilesDialogPrivate::promptFailWarning(const FilePathList &files, ReadOnlyFilesDialog::ReadOnlyResult type) const
{
if (files.isEmpty())
return;
@@ -210,7 +213,7 @@ void ReadOnlyFilesDialogPrivate::promptFailWarning(const QStringList &files, Rea
QString message;
QString details;
if (files.count() == 1) {
- const QString file = files.first();
+ const FilePath file = files.first();
switch (type) {
case ReadOnlyFilesDialog::RO_OpenVCS: {
if (IVersionControl *vc = versionControls[file]) {
@@ -218,31 +221,31 @@ void ReadOnlyFilesDialogPrivate::promptFailWarning(const QStringList &files, Rea
title = tr("Failed to %1 File").arg(openText);
message = tr("%1 file %2 from version control system %3 failed.")
.arg(openText)
- .arg(QDir::toNativeSeparators(file))
+ .arg(file.toUserOutput())
.arg(vc->displayName())
- + QLatin1Char('\n')
+ + '\n'
+ failWarning;
} else {
title = tr("No Version Control System Found");
message = tr("Cannot open file %1 from version control system.\n"
"No version control system found.")
- .arg(QDir::toNativeSeparators(file))
- + QLatin1Char('\n')
- + failWarning;;
+ .arg(file.toUserOutput())
+ + '\n'
+ + failWarning;
}
break;
}
case ReadOnlyFilesDialog::RO_MakeWritable:
title = tr("Cannot Set Permissions");
message = tr("Cannot set permissions for %1 to writable.")
- .arg(QDir::toNativeSeparators(file))
- + QLatin1Char('\n')
+ .arg(file.toUserOutput())
+ + '\n'
+ failWarning;
break;
case ReadOnlyFilesDialog::RO_SaveAs:
title = tr("Cannot Save File");
- message = tr("Cannot save file %1").arg(QDir::toNativeSeparators(file))
- + QLatin1Char('\n')
+ message = tr("Cannot save file %1").arg(file.toUserOutput())
+ + '\n'
+ failWarning;
break;
default:
@@ -254,7 +257,7 @@ void ReadOnlyFilesDialogPrivate::promptFailWarning(const QStringList &files, Rea
title = tr("Could Not Change Permissions on Some Files");
message = failWarning + QLatin1Char('\n')
+ tr("See details for a complete list of files.");
- details = files.join(QLatin1Char('\n'));
+ details = Utils::transform(files, &FilePath::toString).join('\n');
}
QMessageBox msgBox(QMessageBox::Warning, title, message,
QMessageBox::Ok, ICore::dialogParent());
@@ -278,34 +281,34 @@ int ReadOnlyFilesDialog::exec()
return RO_Cancel;
ReadOnlyResult result = RO_Cancel;
- QStringList failedToMakeWritable;
- foreach (ReadOnlyFilesDialogPrivate::ButtonGroupForFile buttongroup, d->buttonGroups) {
+ FilePathList failedToMakeWritable;
+ for (ReadOnlyFilesDialogPrivate::ButtonGroupForFile buttongroup : qAsConst(d->buttonGroups)) {
result = static_cast<ReadOnlyResult>(buttongroup.group->checkedId());
switch (result) {
case RO_MakeWritable:
- if (!Utils::FileUtils::makeWritable(Utils::FileName(QFileInfo(buttongroup.fileName)))) {
- failedToMakeWritable << buttongroup.fileName;
+ if (!Utils::FileUtils::makeWritable(buttongroup.filePath)) {
+ failedToMakeWritable << buttongroup.filePath;
continue;
}
break;
case RO_OpenVCS:
- if (!d->versionControls[buttongroup.fileName]->vcsOpen(buttongroup.fileName)) {
- failedToMakeWritable << buttongroup.fileName;
+ if (!d->versionControls[buttongroup.filePath]->vcsOpen(buttongroup.filePath.toString())) {
+ failedToMakeWritable << buttongroup.filePath;
continue;
}
break;
case RO_SaveAs:
if (!EditorManagerPrivate::saveDocumentAs(d->document)) {
- failedToMakeWritable << buttongroup.fileName;
+ failedToMakeWritable << buttongroup.filePath;
continue;
}
break;
default:
- failedToMakeWritable << buttongroup.fileName;
+ failedToMakeWritable << buttongroup.filePath;
continue;
}
- if (!QFileInfo(buttongroup.fileName).isWritable())
- failedToMakeWritable << buttongroup.fileName;
+ if (!buttongroup.filePath.toFileInfo().isWritable())
+ failedToMakeWritable << buttongroup.filePath;
}
if (!failedToMakeWritable.isEmpty()) {
if (d->showWarnings)
@@ -381,11 +384,11 @@ void ReadOnlyFilesDialogPrivate::updateSelectAll()
/*!
* Adds files to the dialog and checks for a possible operation to make the file
* writable.
- * \a fileNames contains the list of the files that should be added to the
+ * \a filePaths contains the list of the files that should be added to the
* dialog.
* \internal
*/
-void ReadOnlyFilesDialogPrivate::initDialog(const QStringList &fileNames)
+void ReadOnlyFilesDialogPrivate::initDialog(const FilePathList &filePaths)
{
ui.setupUi(q);
ui.buttonBox->addButton(tr("Change &Permission"), QDialogButtonBox::AcceptRole);
@@ -394,16 +397,16 @@ void ReadOnlyFilesDialogPrivate::initDialog(const QStringList &fileNames)
QString vcsOpenTextForAll;
QString vcsMakeWritableTextForAll;
bool useMakeWritable = false;
- foreach (const QString &fileName, fileNames) {
- const QFileInfo info = QFileInfo(fileName);
+ for (const FilePath &filePath : filePaths) {
+ const QFileInfo info = filePath.toFileInfo();
const QString visibleName = info.fileName();
const QString directory = info.absolutePath();
// Setup a default entry with filename folder and make writable radio button.
auto item = new QTreeWidgetItem(ui.treeWidget);
item->setText(FileName, visibleName);
- item->setIcon(FileName, FileIconProvider::icon(fileName));
- item->setText(Folder, Utils::FileUtils::shortNativePath(Utils::FileName(QFileInfo(directory))));
+ item->setIcon(FileName, FileIconProvider::icon(info));
+ item->setText(Folder, Utils::FilePath::fromFileInfo(directory).shortNativePath());
auto radioButtonGroup = new QButtonGroup;
// Add a button for opening the file with a version control system
@@ -411,7 +414,7 @@ void ReadOnlyFilesDialogPrivate::initDialog(const QStringList &fileNames)
IVersionControl *versionControlForFile =
VcsManager::findVersionControlForDirectory(directory);
const bool fileManagedByVCS = versionControlForFile
- && versionControlForFile->openSupportMode(fileName) != IVersionControl::NoOpen;
+ && versionControlForFile->openSupportMode(filePath.toString()) != IVersionControl::NoOpen;
if (fileManagedByVCS) {
const QString vcsOpenTextForFile =
Utils::stripAccelerator(versionControlForFile->vcsOpenText());
@@ -429,7 +432,7 @@ void ReadOnlyFilesDialogPrivate::initDialog(const QStringList &fileNames)
vcsMakeWritableTextForAll.clear();
}
// Add make writable if it is supported by the reposetory.
- if (versionControlForFile->openSupportMode(fileName) == IVersionControl::OpenOptional) {
+ if (versionControlForFile->openSupportMode(filePath.toString()) == IVersionControl::OpenOptional) {
useMakeWritable = true;
createRadioButtonForItem(item, radioButtonGroup, MakeWritable);
}
@@ -442,15 +445,12 @@ void ReadOnlyFilesDialogPrivate::initDialog(const QStringList &fileNames)
if (useSaveAs)
createRadioButtonForItem(item, radioButtonGroup, SaveAs);
// If the file is managed by a version control system save the vcs for this file.
- versionControls[fileName] = fileManagedByVCS ? versionControlForFile : nullptr;
+ versionControls[filePath] = fileManagedByVCS ? versionControlForFile : nullptr;
// Also save the buttongroup for every file to get the result for each entry.
- ReadOnlyFilesDialogPrivate::ButtonGroupForFile groupForFile;
- groupForFile.fileName = fileName;
- groupForFile.group = radioButtonGroup;
- buttonGroups.append(groupForFile);
- QObject::connect(radioButtonGroup, static_cast<void (QButtonGroup::*)(int)>(&QButtonGroup::buttonClicked),
- [this](int) { updateSelectAll(); });
+ buttonGroups.append({filePath, radioButtonGroup});
+ QObject::connect(radioButtonGroup, QOverload<int>::of(&QButtonGroup::buttonClicked),
+ [this] { updateSelectAll(); });
}
// Apply the Mac file dialog style.
@@ -474,7 +474,7 @@ void ReadOnlyFilesDialogPrivate::initDialog(const QStringList &fileNames)
}
// If there is just one file entry, there is no need to show the select all combo box
- if (fileNames.count() < 2) {
+ if (filePaths.count() < 2) {
ui.setAll->setVisible(false);
ui.setAllLabel->setVisible(false);
ui.verticalLayout->removeItem(ui.setAllLayout);
@@ -508,7 +508,7 @@ void ReadOnlyFilesDialogPrivate::initDialog(const QStringList &fileNames)
ui.setAll->addItem(saveAsText);
setAllIndexForOperation[SaveAs] = ui.setAll->count() - 1;
}
- QObject::connect(ui.setAll, static_cast<void (QComboBox::*)(int)>(&QComboBox::activated),
+ QObject::connect(ui.setAll, QOverload<int>::of(&QComboBox::activated),
[this](int index) { setAll(index); });
// Filter which columns should be visible and resize them to content.
diff --git a/src/plugins/coreplugin/dialogs/readonlyfilesdialog.h b/src/plugins/coreplugin/dialogs/readonlyfilesdialog.h
index 6bb9afa7f5..2baf2fa883 100644
--- a/src/plugins/coreplugin/dialogs/readonlyfilesdialog.h
+++ b/src/plugins/coreplugin/dialogs/readonlyfilesdialog.h
@@ -27,6 +27,8 @@
#include <coreplugin/core_global.h>
+#include <utils/fileutils.h>
+
#include <QDialog>
namespace Core {
@@ -57,9 +59,9 @@ public:
RO_SaveAs = SaveAs
};
- explicit ReadOnlyFilesDialog(const QList<QString> &fileNames,
+ explicit ReadOnlyFilesDialog(const Utils::FilePathList &filePaths,
QWidget *parent = nullptr);
- explicit ReadOnlyFilesDialog(const QString &fileName,
+ explicit ReadOnlyFilesDialog(const Utils::FilePath &filePath,
QWidget * parent = nullptr);
explicit ReadOnlyFilesDialog(IDocument *document,
QWidget * parent = nullptr,
diff --git a/src/plugins/coreplugin/dialogs/saveitemsdialog.cpp b/src/plugins/coreplugin/dialogs/saveitemsdialog.cpp
index f3e476fed3..94c0bbddc1 100644
--- a/src/plugins/coreplugin/dialogs/saveitemsdialog.cpp
+++ b/src/plugins/coreplugin/dialogs/saveitemsdialog.cpp
@@ -81,7 +81,7 @@ SaveItemsDialog::SaveItemsDialog(QWidget *parent,
<< visibleName << QDir::toNativeSeparators(directory));
if (!fileName.isEmpty())
item->setIcon(0, FileIconProvider::icon(fileName));
- item->setData(0, Qt::UserRole, qVariantFromValue(document));
+ item->setData(0, Qt::UserRole, QVariant::fromValue(document));
}
m_ui.treeWidget->resizeColumnToContents(0);
diff --git a/src/plugins/coreplugin/dialogs/saveitemsdialog.h b/src/plugins/coreplugin/dialogs/saveitemsdialog.h
index 37d321fade..f62af24768 100644
--- a/src/plugins/coreplugin/dialogs/saveitemsdialog.h
+++ b/src/plugins/coreplugin/dialogs/saveitemsdialog.h
@@ -36,7 +36,6 @@ class IDocument;
namespace Internal {
-
class SaveItemsDialog : public QDialog
{
Q_OBJECT
diff --git a/src/plugins/coreplugin/dialogs/settingsdialog.cpp b/src/plugins/coreplugin/dialogs/settingsdialog.cpp
index 596d498875..8057a9e48a 100644
--- a/src/plugins/coreplugin/dialogs/settingsdialog.cpp
+++ b/src/plugins/coreplugin/dialogs/settingsdialog.cpp
@@ -726,7 +726,7 @@ void SettingsDialog::done(int val)
QSettings *settings = ICore::settings();
settings->setValue(QLatin1String(pageKeyC), m_currentPage.toSetting());
- ICore::saveSettings(); // save all settings
+ ICore::saveSettings(ICore::SettingsDialogDone); // save all settings
// exit event loops in reverse order of addition
for (QEventLoop *eventLoop : m_eventLoops)
diff --git a/src/plugins/coreplugin/dialogs/shortcutsettings.cpp b/src/plugins/coreplugin/dialogs/shortcutsettings.cpp
index 675996881d..d740b6ca20 100644
--- a/src/plugins/coreplugin/dialogs/shortcutsettings.cpp
+++ b/src/plugins/coreplugin/dialogs/shortcutsettings.cpp
@@ -514,7 +514,7 @@ void ShortcutSettingsWidget::initialize()
if (s->m_cmd->defaultKeySequence() != s->m_key)
setModified(item, true);
- item->setData(0, Qt::UserRole, qVariantFromValue(s));
+ item->setData(0, Qt::UserRole, QVariant::fromValue(s));
markCollisions(s);
}