Commit Graph

86 Commits

Author SHA1 Message Date
dt_
21798a49c9 Readd filewatches to QFileSystemWatcher
That is needed since after a delete/replace we otherwise stop watching.
2011-04-28 14:29:05 +02:00
dt_
cae5bef0ec Revert "FileWatcher: Use Utils::FileSystemWatcher in Core::FileManager."
This reverts commit 4a0985093c.
2011-04-28 14:29:05 +02:00
dt_
060778ddf4 Handle internally triggered deletes more gracefull
If the user has enabled "Reload unmodified" then on remove the
unmodified editors are closed. Otherwise the user is asked as before.
Also modify the message to indicate if the change was triggred
externally.
2011-04-27 15:58:54 +02:00
Oswald Buddenhagen
9e6448d38d improve file change notification suppression in saveFile()
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.
2011-04-18 15:12:44 +02:00
Oswald Buddenhagen
2dd1f0d83d make m_changedFiles a set - for simplicity (and performance). 2011-04-18 14:30:43 +02:00
Oswald Buddenhagen
011b391126 rename misnamed variable 2011-04-18 14:14:21 +02:00
Oswald Buddenhagen
dc13acd5de minor optimization: QList::removeOne() returns a bool 2011-04-18 14:14:20 +02:00
Oswald Buddenhagen
fae7dc9584 add errorString output argument to IFile::reload() & IEditor::open()
add/unify read error handling in all affected classes
2011-04-18 14:10:13 +02:00
Oswald Buddenhagen
f1f9904d35 add errorString output argument to IFile::save()
this centralizes error reporting (in fact, in most cases it adds any in
the first place).

Task-number: QTCREATORBUG-1619
2011-04-18 14:10:13 +02:00
Oswald Buddenhagen
e35fe2a770 file manager: introduce saveFile() and remove blockFileChange() & unblockFileChange()
this replaces the ever-repeating idiom block/save/unblock with a single
call.
2011-04-18 14:10:12 +02:00
Oswald Buddenhagen
9beb7afbe8 GUI style fixes: spaces before ellipses and excess ellipses 2011-04-18 14:10:11 +02:00
con
5b02bf94a8 Merge remote branch 'origin/2.2'
Conflicts:
	qtcreator.pri
	src/plugins/debugger/breakhandler.cpp
	src/plugins/qt4projectmanager/qtversionmanager.cpp
2011-04-18 13:57:07 +02:00
Friedemann Kleint
4a0985093c FileWatcher: Use Utils::FileSystemWatcher in Core::FileManager.
for everything except links on UNIX, further reducing shutdown time.
2011-04-15 16:40:08 +02:00
Oswald Buddenhagen
1f06972f1e don't ignore file changes while reload dialog is up
we cannot clear the list of modified files after possibly entering the main
loop again, as that might discard new notifications which we have not
processed yet.

Reviewed-by: dt
2011-04-14 21:08:55 +02:00
Friedemann Kleint
c12c9f54d5 Core: Create link file watcher on demand.
As deletion of a QFileSystemWatcher is expensive on Linux
and has an impact on shutdown.
2011-04-14 16:57:40 +02:00
Oswald Buddenhagen
dc3c156cac Merge branch '2.2'
Conflicts:
	src/plugins/debugger/gdb/pythongdbengine.cpp
	src/plugins/qt4projectmanager/qt-desktop/qt4desktoptargetfactory.cpp
	src/plugins/qt4projectmanager/qt-desktop/qt4desktoptargetfactory.h
	src/plugins/qt4projectmanager/qt-desktop/qt4simulatortargetfactory.cpp
	src/plugins/qt4projectmanager/qt-desktop/qt4simulatortargetfactory.h
	src/plugins/qt4projectmanager/qt-maemo/maemodeploystep.cpp
	src/plugins/qt4projectmanager/qt-maemo/maemodeviceconfigurations.cpp
	src/plugins/qt4projectmanager/qt-maemo/maemoglobal.cpp
	src/plugins/qt4projectmanager/qt-maemo/qt4maemotargetfactory.cpp
	src/plugins/qt4projectmanager/qt-s60/qt4symbiantargetfactory.cpp
	src/plugins/qt4projectmanager/qt-s60/s60deploystep.cpp
	src/plugins/qt4projectmanager/qt4target.cpp
	src/plugins/qt4projectmanager/qt4target.h
	src/plugins/qt4projectmanager/qtoptionspage.h
	src/plugins/qt4projectmanager/qtversionmanager.cpp
	src/plugins/welcome/welcomemode.cpp
2011-04-14 12:39:31 +02:00
hjk
8397663964 Update license. 2011-04-13 11:49:28 +02:00
Friedemann Kleint
0e89104b45 API Documentation: Fix warnings. 2011-03-28 14:58:12 +02:00
Friedemann Kleint
88f333267f Fix Krazy code scanning tool warnings (QString, loops, spelling). 2011-02-25 15:28:01 +01:00
con
770fc594f0 Don't ask for reload if external tool claims to change current document
Take it as an expected file change.
2011-02-18 17:15:37 +01:00
con
d1023c7614 It's 2011 now.
Reviewed-by: hjk
2011-01-12 09:46:24 +01:00
con
b1bcf081d8 Merge branch '2.1'
Conflicts:
	src/plugins/coreplugin/basemode.cpp
	src/plugins/coreplugin/basemode.h
	src/plugins/coreplugin/scriptmanager/qworkbench_wrapper.cpp
	src/plugins/coreplugin/scriptmanager/qworkbench_wrapper.h
	src/plugins/debugger/cdb/cdbsymbolpathlisteditor.cpp
	src/plugins/debugger/debuggeragents.cpp
	src/plugins/debugger/debuggeruiswitcher.cpp
	src/plugins/debugger/debuggeruiswitcher.h
	src/plugins/projectexplorer/buildconfigdialog.cpp
	src/plugins/qmldesigner/components/propertyeditor/colorwidget.cpp
	src/plugins/qmldesigner/components/propertyeditor/colorwidget.h
	src/plugins/qmldesigner/designercore/include/enumeratormetainfo.h
	src/plugins/qmldesigner/designercore/include/modelutilities.h
	src/plugins/qmldesigner/designercore/include/nodeinstance.h
	src/plugins/qmldesigner/designercore/include/propertymetainfo.h
	src/plugins/qmldesigner/designercore/instances/graphicsscenenodeinstance.cpp
	src/plugins/qmldesigner/designercore/instances/graphicsscenenodeinstance.h
	src/plugins/qmldesigner/designercore/instances/graphicsviewnodeinstance.cpp
	src/plugins/qmldesigner/designercore/instances/graphicswidgetnodeinstance.cpp
	src/plugins/qmldesigner/designercore/instances/graphicswidgetnodeinstance.h
	src/plugins/qmldesigner/designercore/instances/nodeinstance.cpp
	src/plugins/qmldesigner/designercore/instances/qmlviewnodeinstance.cpp
	src/plugins/qmldesigner/designercore/instances/widgetnodeinstance.cpp
	src/plugins/qmldesigner/designercore/instances/widgetnodeinstance.h
	src/plugins/qmldesigner/designercore/metainfo/enumeratormetainfo.cpp
	src/plugins/qmldesigner/designercore/metainfo/propertymetainfo.cpp
	src/plugins/qmldesigner/designercore/model/modelutilities.cpp
	src/plugins/snippets/inputwidget.cpp
	src/plugins/snippets/snippetscompletion.cpp
	src/plugins/snippets/snippetscompletion.h
	src/plugins/snippets/snippetspec.cpp
	src/plugins/snippets/snippetsplugin.cpp
	src/plugins/snippets/snippetswindow.cpp
	src/plugins/snippets/snippetswindow.h
	src/plugins/texteditor/snippetsparser.cpp
	src/tools/qml/qmldom/main.cpp
	tests/manual/trk/runner.cpp
	tests/manual/trk/trkolddevice.cpp
	tests/manual/trk/trkolddevice.h
	tests/manual/trk/trkserver.cpp
2010-12-17 17:00:53 +01:00
con
04e32b0049 License headers. 2010-12-17 16:03:42 +01:00
con
abd4a7b931 Recent files should remember the editor type as well.
Task-number: QTCREATORBUG-1785
2010-12-09 11:38:12 +01:00
con
5c99316624 Remove dead code. 2010-12-06 10:48:10 +01:00
con
0662a8009a Handle read only files correctly when saving all modified files
We use the editor manager's way to save modified files now, so the
normal logic for read only files is applied, including the "cancel/save
as/open vcs/make writable" dialog.
Also fixes that it wasn't handled as a "cancel" if the user chooses to
cancel this dialog.

Task-number: QTCREATORBUG-3109
2010-12-01 13:10:46 +01:00
con
be3bb25068 Only show save as button for files that allow it. 2010-12-01 13:10:46 +01:00
con
964236c816 Move some API around and make some IFile based instead of IEditor.
promptReadOnlyFile: EditorManager-->FileManager
fileFilters: EditorManager-->MimeDataBase
saveFile & saveFileAs --> IFile based
2010-12-01 13:10:46 +01:00
con
14a71bc770 Support symbolic links in the file manager.
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.
2010-11-30 13:10:03 +01:00
con
1b6d99661f Remove some unused / useless api. 2010-11-25 17:09:00 +01:00
con
ac9c3232f3 Avoid recursion and possibly endless recursion at removing file watches
Was introduced by the fix for QTCREATORBUG-965

Task-number: QTCREATORBUG-3116
Reviewed-by: dt
2010-11-18 15:46:38 +01:00
Friedemann Kleint
724f67b311 Open File: Make it open in project directory if one is set.
Reviewed-by: dt
Task-number: QTCREATORBUG-2947
2010-11-01 14:29:25 +01:00
con
3a82e22982 Opening recent files wasn't opening with right encoding (Windows)
Confusion between native and internal path representation (i.e.
backslashes). File names should always be "portable" internally.

Reviewed-by: Robert Loehning
2010-10-20 12:10:02 +02:00
Tobias Hunger
0421b9d0dc Filemanager: Ignore editory with temporary files
When switching to a editor containing a temporary file do not
update the filemanager, even when sync to editor is enabled.

Task-number: QTCREATORBUG-2605
Reviewed-by: Thorbjorn Lindeijer
2010-10-05 15:07:35 +02:00
Leandro Melo
bcb3bb0fba Allow the user to save as files with different extensions.
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
2010-09-07 12:32:34 +02:00
con
081743a064 Some api documentation adaptions. 2010-07-15 16:42:31 +02:00
mae
1787a8549a Use current file path for getOpenFileNames 2010-07-13 15:27:28 +02:00
mae
4caba7d66d Revert "Use current file path (not dir path) for open file"
This reverts commit 38abb7285c.
2010-07-13 14:37:48 +02:00
mae
38abb7285c Use current file path (not dir path) for open file
This makes it possible to open a pro-file with the locator,
then doing Ctrl+O Enter to load the project.
2010-07-07 11:13:42 +02:00
con
ede2a7c975 Merge remote branch 'origin/2.0'
Conflicts:
	doc/qtcreator.qdoc
	share/qtcreator/gdbmacros/dumper.py
	src/libs/qmljs/qmljs-lib.pri
	src/plugins/debugger/breakhandler.cpp
	src/plugins/projectexplorer/projectexplorer.h
	src/plugins/qt4projectmanager/qt-maemo/maemopackagecreationstep.cpp
	src/plugins/qt4projectmanager/qt-maemo/maemopackagecreationstep.h
2010-06-30 14:25:09 +02:00
Friedemann Kleint
a945f8b5fd ProjectManager: Make Open Project dialog open in default folder
Move open project dialog handling into ProjectExplorer and make it
use its list of project file patterns. Same in Checkout wizards.

Task-number: QTCREATORBUG-1759
Reviewed-by: dt
2010-06-28 14:34:30 +02:00
hjk
db9e6104cd Core::Context: missed one connect() 2010-06-25 13:13:48 +02:00
con
7f733b1545 Merge remote branch 'origin/2.0'
Conflicts:
	README
	doc/qt-html-templates.qdocconf
	doc/qtcreator.qdoc
	doc/qtcreator.qdocconf
	src/app/Info.plist
	src/plugins/bineditor/BinEditor.pluginspec
	src/plugins/bookmarks/Bookmarks.pluginspec
	src/plugins/cmakeprojectmanager/CMakeProjectManager.pluginspec
	src/plugins/coreplugin/Core.pluginspec
	src/plugins/coreplugin/coreconstants.h
	src/plugins/cpaster/CodePaster.pluginspec
	src/plugins/cppeditor/CppEditor.pluginspec
	src/plugins/cpptools/CppTools.pluginspec
	src/plugins/cvs/CVS.pluginspec
	src/plugins/debugger/Debugger.pluginspec
	src/plugins/designer/Designer.pluginspec
	src/plugins/fakevim/FakeVim.pluginspec
	src/plugins/find/Find.pluginspec
	src/plugins/genericprojectmanager/GenericProjectManager.pluginspec
	src/plugins/git/ScmGit.pluginspec
	src/plugins/helloworld/HelloWorld.pluginspec
	src/plugins/help/Help.pluginspec
	src/plugins/locator/Locator.pluginspec
	src/plugins/mercurial/Mercurial.pluginspec
	src/plugins/perforce/Perforce.pluginspec
	src/plugins/projectexplorer/ProjectExplorer.pluginspec
	src/plugins/qmldesigner/QmlDesigner.pluginspec
	src/plugins/qmlinspector/QmlInspector.pluginspec
	src/plugins/qmljseditor/QmlJSEditor.pluginspec
	src/plugins/qmlprojectmanager/QmlProjectManager.pluginspec
	src/plugins/qt4projectmanager/Qt4ProjectManager.pluginspec
	src/plugins/regexp/RegExp.pluginspec
	src/plugins/resourceeditor/ResourceEditor.pluginspec
	src/plugins/snippets/Snippets.pluginspec
	src/plugins/subversion/Subversion.pluginspec
	src/plugins/texteditor/TextEditor.pluginspec
	src/plugins/vcsbase/VCSBase.pluginspec
	src/plugins/welcome/Welcome.pluginspec
2010-06-08 10:39:45 +02:00
dt
d19ca58bf0 Fix crash with removing files in symlinked directories
Reviewed-By: thorbjorn

Task-Nr: QTCREATORBUG-965
2010-06-02 11:58:25 +02:00
dt
9bc9fe73e1 File renaming
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.
2010-05-12 14:14:44 +02:00
dt
48ee824733 Fix crash
Nowadays we don't use QString::null for special cases, thus the
filemanager can allow that.

Task-Nr: QTCREATORBUG-1072
2010-04-12 17:27:03 +02:00
con
ef46c31d35 Fixes: External permission changes are not recognized
Task-number: QTCREATORBUG-1077
2010-04-08 16:08:14 +02:00
con
4f4bbe9828 Change contextChanged signal to also notify about additional contexts. 2010-03-26 12:17:13 +01:00
con
f5e0dc409d Fixes: Notification about externally modified files on Windows.
Reviewed-by: dt
Reviewed-by: Friedemann Kleint
2010-03-23 16:46:15 +01:00
con
d6061a23e1 Refactor the externally modified file handling
Reviewed-by: dt
2010-03-22 16:01:55 +01:00