for one, entirely stop monitoring the own IFile.
second, expect changes on the filename - in case other IFiles use it as
well.
these two ensure that nothing weird happens, especially if we show a dialog
and thus enter an event loop.
We didn't watch the symbolic link itself before, only the final link
target. We are watching the symbolic link and the final link target now.
Ugly hack: We need to work around QTBUG-15522. The inotify and kqueue
based file system watcher engines (Linux + Mac) don't report changes to
symbolic links. The workaround is to use the polling engine *only for
the links themselves*. The only way to force the use of the polling
engine is by using the auto test hook in QFileSystemWatcher.
Confusion between native and internal path representation (i.e.
backslashes). File names should always be "portable" internally.
Reviewed-by: Robert Loehning
There is still an open issue in this fix since the new extension might be of a different mime type (and our editors are attached to it currently).
More details documented in the code.
Task-number: QTCREATORBUG-2094
Reviewed-by: Thorbjorn Lindeijer
Reviewed-By: con
Reviewed-By: Friedemann Kleint
We now support renaming files. The version control system tries first to
rename, if that doesn't support or can't rename the file we do a normal
rename. (Note: git, hg, perforce > 2009.02 support renaming, cvs not.
(perforce untested)). We correctly notify all editors of the renamed
file and tell the project manager to rename the file in the project.
Note: Only the qt4projectmanager knows how to rename files.
Note: renaming folders, moving files to different folders, renaming
.pro/.pri files is not supported. Those things can be later added after
this has proven to work correctly in the simple case.
Also we don't do any actions based on the renaming like renaming
classes, changing include guards or #include lines.
Temporary files should not be watched also fix a few corner cases where
the fixedname of IFile change without the file name changing.
(Oh the fun of symlinks.)
It's more consistent now, though I haven't gone through all the
implications of IFile's who's fixedName change
Do not add file watchers on editors with temporary files (VCS
diff/commit. etc). Add a flag to FileManager::addFile() specifying
if one wants a watcher.
Acked-by: con <qtc-committer@nokia.com>
This uses the same UI as "Rename Symbol".
Moves the actual rename implementation to a static method in
BaseFileFind and uses it for rename symbol and search & replace.
Moves the signal notification for the code model from VCSManager to
the more general FileManager.
Note that as for rename symbol, there's no undo yet.
Task-number: QTCREATORBUG-73
- Introduce project directory and "use" flag to file manager, use that
in new item dialog
- Add configuration under Project settings, rename it to "General"
- Make wizards create project names as "untitled1.."
- Remove modules page from Qt application wizards (parametrizable)
- Give Utils::ProjectIntroPage a "Set as default location" toggle.
- Introduce wizard dialog base classes for handling that.
- Introduce notion of "last visited directory to file manager" for
open and non-project wizards, route open through file manager.
- Clean out QmlAppWizard
Task-number: QTCREATORBUG-333
Rubber-stamped-by: con <qtc-committer@nokia.com>