forked from qt-creator/qt-creator
Core: Use FileName for DocumentModel::Entry::fileName
Change-Id: I81d0aea2354a9d0461646590f06bb38bd4366f29 Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
This commit is contained in:
committed by
Orgad Shaneh
parent
92b545807f
commit
f5fcb3dd92
@@ -1657,7 +1657,7 @@ bool ClearCasePlugin::vcsOpen(const QString &workingDir, const QString &fileName
|
||||
}
|
||||
|
||||
foreach (DocumentModel::Entry *e, DocumentModel::entries()) {
|
||||
if (e->fileName() == absPath) {
|
||||
if (e->fileName().toString() == absPath) {
|
||||
e->document->checkPermissions();
|
||||
break;
|
||||
}
|
||||
|
@@ -66,7 +66,7 @@ public:
|
||||
void addEntry(DocumentModel::Entry *entry);
|
||||
void removeDocument(int idx);
|
||||
|
||||
int indexOfFilePath(const QString &filePath) const;
|
||||
int indexOfFilePath(const Utils::FileName &filePath) const;
|
||||
int indexOfDocument(IDocument *document) const;
|
||||
|
||||
private slots:
|
||||
@@ -128,9 +128,9 @@ QAbstractItemModel *DocumentModel::model()
|
||||
return d;
|
||||
}
|
||||
|
||||
QString DocumentModel::Entry::fileName() const
|
||||
Utils::FileName DocumentModel::Entry::fileName() const
|
||||
{
|
||||
return document ? document->filePath().toString() : m_fileName;
|
||||
return document ? document->filePath() : m_fileName;
|
||||
}
|
||||
|
||||
QString DocumentModel::Entry::displayName() const
|
||||
@@ -177,7 +177,7 @@ void DocumentModel::addEditor(IEditor *editor, bool *isNewDocument)
|
||||
void DocumentModel::addRestoredDocument(const QString &fileName, const QString &displayName, Id id)
|
||||
{
|
||||
Entry *entry = new Entry;
|
||||
entry->m_fileName = fileName;
|
||||
entry->m_fileName = Utils::FileName::fromString(fileName);
|
||||
entry->m_displayName = displayName;
|
||||
entry->m_id = id;
|
||||
d->addEntry(entry);
|
||||
@@ -190,10 +190,8 @@ DocumentModel::Entry *DocumentModel::firstRestoredEntry()
|
||||
|
||||
void DocumentModelPrivate::addEntry(DocumentModel::Entry *entry)
|
||||
{
|
||||
QString fileName = entry->fileName();
|
||||
|
||||
// replace a non-loaded entry (aka 'restored') if possible
|
||||
int previousIndex = indexOfFilePath(fileName);
|
||||
int previousIndex = indexOfFilePath(entry->fileName());
|
||||
if (previousIndex >= 0) {
|
||||
if (entry->document && m_entries.at(previousIndex)->document == 0) {
|
||||
DocumentModel::Entry *previousEntry = m_entries.at(previousIndex);
|
||||
@@ -220,13 +218,14 @@ void DocumentModelPrivate::addEntry(DocumentModel::Entry *entry)
|
||||
endInsertRows();
|
||||
}
|
||||
|
||||
int DocumentModelPrivate::indexOfFilePath(const QString &filePath) const
|
||||
int DocumentModelPrivate::indexOfFilePath(const Utils::FileName &filePath) const
|
||||
{
|
||||
if (filePath.isEmpty())
|
||||
return -1;
|
||||
const QString fixedPath = DocumentManager::fixFileName(filePath, DocumentManager::ResolveLinks);
|
||||
const QString fixedPath = DocumentManager::fixFileName(filePath.toString(),
|
||||
DocumentManager::ResolveLinks);
|
||||
return Utils::indexOf(m_entries, [&fixedPath](DocumentModel::Entry *entry) {
|
||||
return DocumentManager::fixFileName(entry->fileName(),
|
||||
return DocumentManager::fixFileName(entry->fileName().toString(),
|
||||
DocumentManager::ResolveLinks) == fixedPath;
|
||||
});
|
||||
}
|
||||
@@ -256,7 +255,7 @@ void DocumentModel::removeEditor(IEditor *editor, bool *lastOneForDocument)
|
||||
|
||||
void DocumentModel::removeDocument(const QString &fileName)
|
||||
{
|
||||
int index = d->indexOfFilePath(fileName);
|
||||
int index = d->indexOfFilePath(Utils::FileName::fromString(fileName));
|
||||
QTC_ASSERT(!d->m_entries.at(index)->document, return); // we wouldn't know what to do with the associated editors
|
||||
d->removeDocument(index);
|
||||
}
|
||||
@@ -330,7 +329,7 @@ QList<IDocument *> DocumentModel::openedDocuments()
|
||||
|
||||
IDocument *DocumentModel::documentForFilePath(const QString &filePath)
|
||||
{
|
||||
const int index = d->indexOfFilePath(filePath);
|
||||
const int index = d->indexOfFilePath(Utils::FileName::fromString(filePath));
|
||||
if (index < 0)
|
||||
return 0;
|
||||
return d->m_entries.at(index)->document;
|
||||
@@ -403,13 +402,13 @@ QVariant DocumentModelPrivate::data(const QModelIndex &index, int role) const
|
||||
if (e->document)
|
||||
showLock = e->document->filePath().isEmpty() ? false : e->document->isFileReadOnly();
|
||||
else
|
||||
showLock = !QFileInfo(e->m_fileName).isWritable();
|
||||
showLock = !e->m_fileName.toFileInfo().isWritable();
|
||||
return showLock ? m_lockedIcon : QIcon();
|
||||
}
|
||||
case Qt::ToolTipRole:
|
||||
return e->fileName().isEmpty()
|
||||
? e->displayName()
|
||||
: QDir::toNativeSeparators(e->fileName());
|
||||
: e->fileName().toUserOutput();
|
||||
default:
|
||||
return QVariant();
|
||||
}
|
||||
@@ -431,7 +430,7 @@ QMimeData *DocumentModelPrivate::mimeData(const QModelIndexList &indexes) const
|
||||
const DocumentModel::Entry *e = DocumentModel::entryAtRow(index.row());
|
||||
if (!e || e->fileName().isEmpty())
|
||||
continue;
|
||||
data->addFile(e->fileName());
|
||||
data->addFile(e->fileName().toString());
|
||||
}
|
||||
return data;
|
||||
}
|
||||
|
@@ -34,6 +34,8 @@
|
||||
#include "../core_global.h"
|
||||
#include "../id.h"
|
||||
|
||||
#include <utils/fileutils.h>
|
||||
|
||||
#include <QAbstractItemModel>
|
||||
|
||||
QT_FORWARD_DECLARE_CLASS(QIcon)
|
||||
@@ -57,10 +59,10 @@ public:
|
||||
struct CORE_EXPORT Entry {
|
||||
Entry();
|
||||
IDocument *document;
|
||||
QString fileName() const;
|
||||
Utils::FileName fileName() const;
|
||||
QString displayName() const;
|
||||
Id id() const;
|
||||
QString m_fileName;
|
||||
Utils::FileName m_fileName;
|
||||
QString m_displayName;
|
||||
Id m_id;
|
||||
};
|
||||
|
@@ -1049,7 +1049,7 @@ void EditorManagerPrivate::activateEditorForEntry(EditorView *view, DocumentMode
|
||||
return;
|
||||
}
|
||||
|
||||
if (!openEditor(view, entry->fileName(), entry->id(), flags))
|
||||
if (!openEditor(view, entry->fileName().toString(), entry->id(), flags))
|
||||
DocumentModel::removeEntry(entry);
|
||||
}
|
||||
|
||||
@@ -1593,8 +1593,7 @@ void EditorManagerPrivate::copyFilePathFromContextMenu()
|
||||
{
|
||||
if (!d->m_contextMenuEntry)
|
||||
return;
|
||||
QApplication::clipboard()->setText(FileName::fromString(
|
||||
d->m_contextMenuEntry->fileName()).toUserOutput());
|
||||
QApplication::clipboard()->setText(d->m_contextMenuEntry->fileName().toUserOutput());
|
||||
}
|
||||
|
||||
void EditorManagerPrivate::copyLocationFromContextMenu()
|
||||
@@ -1602,9 +1601,8 @@ void EditorManagerPrivate::copyLocationFromContextMenu()
|
||||
const QAction *action = qobject_cast<const QAction *>(sender());
|
||||
if (!d->m_contextMenuEntry || !action)
|
||||
return;
|
||||
const QString text =
|
||||
FileName::fromString(d->m_contextMenuEntry->fileName()).toUserOutput()
|
||||
+ QLatin1Char(':') + action->data().toString();
|
||||
const QString text = d->m_contextMenuEntry->fileName().toUserOutput()
|
||||
+ QLatin1Char(':') + action->data().toString();
|
||||
QApplication::clipboard()->setText(text);
|
||||
}
|
||||
|
||||
@@ -1612,7 +1610,7 @@ void EditorManagerPrivate::copyFileNameFromContextMenu()
|
||||
{
|
||||
if (!d->m_contextMenuEntry)
|
||||
return;
|
||||
QApplication::clipboard()->setText(FileName::fromString(d->m_contextMenuEntry->fileName()).fileName());
|
||||
QApplication::clipboard()->setText(d->m_contextMenuEntry->fileName().fileName());
|
||||
}
|
||||
|
||||
void EditorManagerPrivate::saveDocumentFromContextMenu()
|
||||
@@ -1766,21 +1764,21 @@ void EditorManagerPrivate::showInGraphicalShell()
|
||||
{
|
||||
if (!d->m_contextMenuEntry || d->m_contextMenuEntry->fileName().isEmpty())
|
||||
return;
|
||||
FileUtils::showInGraphicalShell(ICore::mainWindow(), d->m_contextMenuEntry->fileName());
|
||||
FileUtils::showInGraphicalShell(ICore::mainWindow(), d->m_contextMenuEntry->fileName().toString());
|
||||
}
|
||||
|
||||
void EditorManagerPrivate::openTerminal()
|
||||
{
|
||||
if (!d->m_contextMenuEntry || d->m_contextMenuEntry->fileName().isEmpty())
|
||||
return;
|
||||
FileUtils::openTerminal(QFileInfo(d->m_contextMenuEntry->fileName()).path());
|
||||
FileUtils::openTerminal(d->m_contextMenuEntry->fileName().parentDir().toString());
|
||||
}
|
||||
|
||||
void EditorManagerPrivate::findInDirectory()
|
||||
{
|
||||
if (!d->m_contextMenuEntry || d->m_contextMenuEntry->fileName().isEmpty())
|
||||
return;
|
||||
emit m_instance->findOnFileSystemRequest(QFileInfo(d->m_contextMenuEntry->fileName()).path());
|
||||
emit m_instance->findOnFileSystemRequest(d->m_contextMenuEntry->fileName().parentDir().toString());
|
||||
}
|
||||
|
||||
void EditorManagerPrivate::split(Qt::Orientation orientation)
|
||||
@@ -1927,7 +1925,7 @@ void EditorManager::addSaveAndCloseEditorActions(QMenu *contextMenu, DocumentMod
|
||||
d->m_contextMenuEntry = entry;
|
||||
d->m_contextMenuEditor = editor;
|
||||
|
||||
const QString filePath = entry ? entry->fileName() : QString();
|
||||
const FileName filePath = entry ? entry->fileName() : FileName();
|
||||
const bool copyActionsEnabled = !filePath.isEmpty();
|
||||
d->m_copyFilePathContextAction->setEnabled(copyActionsEnabled);
|
||||
d->m_copyLocationContextAction->setEnabled(copyActionsEnabled);
|
||||
@@ -1993,7 +1991,7 @@ void EditorManager::addNativeDirAndOpenWithActions(QMenu *contextMenu, DocumentM
|
||||
DocumentManager::instance(), SLOT(executeOpenWithMenuAction(QAction*)));
|
||||
openWith->setEnabled(enabled);
|
||||
if (enabled)
|
||||
DocumentManager::populateOpenWithMenu(openWith, entry->fileName());
|
||||
DocumentManager::populateOpenWithMenu(openWith, entry->fileName().toString());
|
||||
}
|
||||
|
||||
void EditorManager::saveDocument()
|
||||
@@ -2339,7 +2337,7 @@ IEditor *EditorManager::openEditorWithContents(Id editorId,
|
||||
int i = 1;
|
||||
QSet<QString> docnames;
|
||||
foreach (DocumentModel::Entry *entry, DocumentModel::entries()) {
|
||||
QString name = entry->fileName();
|
||||
QString name = entry->fileName().toString();
|
||||
if (name.isEmpty())
|
||||
name = entry->displayName();
|
||||
else
|
||||
@@ -2485,7 +2483,7 @@ QByteArray EditorManager::saveState()
|
||||
|
||||
foreach (DocumentModel::Entry *entry, entries) {
|
||||
if (!entry->document || !entry->document->isTemporary())
|
||||
stream << entry->fileName() << entry->displayName() << entry->id();
|
||||
stream << entry->fileName().toString() << entry->displayName() << entry->id();
|
||||
}
|
||||
|
||||
stream << d->m_editorAreas.first()->saveState(); // TODO
|
||||
|
@@ -254,7 +254,7 @@ void OpenEditorsWindow::addRestoredItems()
|
||||
QString title = entry->displayName();
|
||||
item->setIcon(0, m_emptyIcon);
|
||||
item->setText(0, title);
|
||||
item->setToolTip(0, entry->fileName());
|
||||
item->setToolTip(0, entry->fileName().toString());
|
||||
item->setData(0, Qt::UserRole+2, QVariant::fromValue(entry->id()));
|
||||
item->setTextAlignment(0, Qt::AlignLeft);
|
||||
|
||||
|
@@ -455,7 +455,7 @@ bool EditorToolBar::eventFilter(QObject *obj, QEvent *event)
|
||||
return Utils::StyledBar::eventFilter(obj, event);
|
||||
auto drag = new QDrag(this);
|
||||
auto data = new Utils::FileDropMimeData;
|
||||
data->addFile(entry->fileName());
|
||||
data->addFile(entry->fileName().toString());
|
||||
drag->setMimeData(data);
|
||||
Qt::DropAction action = drag->exec(Qt::MoveAction | Qt::CopyAction, Qt::MoveAction);
|
||||
if (action == Qt::MoveAction)
|
||||
|
@@ -73,7 +73,7 @@ QList<LocatorFilterEntry> OpenDocumentsFilter::matchesFor(QFutureInterface<Locat
|
||||
foreach (const DocumentModel::Entry &editorEntry, editors()) {
|
||||
if (future.isCanceled())
|
||||
break;
|
||||
QString fileName = editorEntry.fileName();
|
||||
QString fileName = editorEntry.fileName().toString();
|
||||
if (fileName.isEmpty())
|
||||
continue;
|
||||
QString displayName = editorEntry.displayName();
|
||||
|
@@ -168,7 +168,7 @@ void CppIncludesFilter::prepareSearch(const QString &entry)
|
||||
}
|
||||
foreach (DocumentModel::Entry *entry, DocumentModel::entries()) {
|
||||
if (entry)
|
||||
seedPaths.insert(entry->fileName());
|
||||
seedPaths.insert(entry->fileName().toString());
|
||||
}
|
||||
CPlusPlus::Snapshot snapshot = CppModelManager::instance()->snapshot();
|
||||
setFileIterator(new CppIncludesIterator(snapshot, seedPaths));
|
||||
|
@@ -71,7 +71,7 @@ Utils::FileIterator *FindInOpenFiles::files(const QStringList &nameFilters,
|
||||
QList<QTextCodec *> codecs;
|
||||
foreach (Core::DocumentModel::Entry *entry,
|
||||
Core::DocumentModel::entries()) {
|
||||
QString fileName = entry->fileName();
|
||||
QString fileName = entry->fileName().toString();
|
||||
if (!fileName.isEmpty()) {
|
||||
fileNames.append(fileName);
|
||||
QTextCodec *codec = openEditorEncodings.value(fileName);
|
||||
|
Reference in New Issue
Block a user