Commit Graph

120 Commits

Author SHA1 Message Date
Orgad Shaneh
05b939db01 VCS: Decide file/project control by top level
Instead of actual file.

In case currentFile is a directory, it is cleared, and project top level
is used instead. This leads to unexpected results.

This patch corrects repository resolution in stash dialog when opened
inside a submodule.

Task-number: QTCREATORBUG-10397
Change-Id: I070cc7f9cbebe3be800dbbb9569cf73f540a6d14
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2013-10-17 16:37:54 +02:00
Tobias Hunger
741ab2cbfb Vcs: Remove snapshot support
The functionality is unused.

Change-Id: I45017106509b8dbff9f3eff3aaef6de19be31ce7
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2013-10-15 16:53:58 +02:00
Orgad Shaneh
25b9124411 VCS: Disable file actions for directories
Directory is used as current file in case a VCS editor is open

Change-Id: Ibf4e8a1f69cb1b618af84461ecebcc65f933e2ed
Reviewed-by: Jarek Kobus <jaroslaw.kobus@digia.com>
2013-09-23 10:38:17 +02:00
hjk
267e441af4 Apply 'static' pattern to VcsManager
Adapt user and surrounding code.

Change-Id: Id2648f82a9cbbd0ad0bfb91f6958b8cee7ea29cc
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2013-09-03 12:01:24 +02:00
hjk
eb724f3772 EditorManager: Use interface directly instead of going through ICore
In the majority of cases we were doing that anyways, having two
ways is just needlessly confusing.

Change-Id: Ied362a702c23beee528368d74df1f2aabe5807f8
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2013-08-30 11:25:51 +02:00
Orgad Shaneh
f2e4b2b9c8 VCS: Invert Command -> runVcs dependency
* Unclutter runVcs
* Enable more dynamic signal/slot usage in Command

Change-Id: Ie97b17078778b0c86b74d5725a78e766828ac6d8
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2013-08-30 10:11:56 +02:00
Orgad Shaneh
a9095ee104 VCS: Introduce message style
Similar to compile and app output panes

Change-Id: Ib9ac6d8be880739ae78d0a39f7051cbe616e46c2
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2013-08-20 12:54:17 +02:00
Orgad Shaneh
cc2610aa71 VCS: Enable calling runVcs from non-GUI threads
* Introduce a proxy class for thread synchronization
* Use signals for appending text to output window

Change-Id: Iecbb010e6b6e9dab27d9862a43dafa450f2bb1f8
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2013-08-20 12:53:33 +02:00
Orgad Shaneh
ffae1fcb24 VCS: Always set window title when repository is changed
Change-Id: I74be65ab4bdec45b3a9679dfd86c112b38358cd6
Reviewed-by: Petar Perisin <petar.perisin@gmail.com>
2013-08-16 02:52:30 +02:00
Orgad Shaneh
b0d14c79fe VCS: Use correct output style
Change-Id: I95ea8078ae53e7339213765fbb8a79bff33f899c
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2013-08-12 12:42:11 +02:00
Orgad Shaneh
b26ef7e6cd VCS: Emit repositoryChanged on some missed cases
* If command fails - it might fail due to a conflict.
  That doesn't mean the repository hasn't changed.
* On runVcs

Change-Id: I0acd33a330c90d7c4f0df1f113ef2852eaf0ad03
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2013-08-12 12:41:54 +02:00
Orgad Shaneh
35798d4ad6 VCS: Use a single filename for log
The list always contains a single entry (or none) anyway

Take 2. This time it actually compiles ;-)

Change-Id: I71a9822360a9b569ba79afa0f575e27918bb2e03
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2013-08-07 17:43:58 +02:00
Orgad Shaneh
7c5b19ebf4 Revert "Git: Use a single filename for log"
Breaks compilation

This reverts commit a05ea71133

Change-Id: I713f06a1fe1ff24f4721cda082fb732dc3f5c270
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2013-08-06 18:27:09 +02:00
Orgad Shaneh
a05ea71133 Git: Use a single filename for log
The list always contains a single entry (or none) anyway

Change-Id: I567b622efd42dd6f676bebb92fbf1c8774bd80ff
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2013-08-06 17:23:25 +02:00
Orgad Shaneh
208aeb79ed Introduce Utils::SynchronousProcess::normalizeNewlines
Replaces \r\n? with \n.

Some console applications (e.g. git-push, git-rebase) use \r alone to
move the cursor to the line's beginning. This should be replaced by \n
rather than just be erased.

Change-Id: I8d614d2b471e59decdbfa7f173ffa7fbdb11759b
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2013-08-06 04:52:58 +02:00
Orgad Shaneh
f5afaac070 VCS: Use outputCodec for stdErr
Change-Id: I0e9b4b1aa48bfab8ff84d2559d6971ca9fdde5b6
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2013-08-02 11:58:22 +02:00
Orgad Shaneh
b6fb9e3e54 VCS: Support silent output on runVcs
Change-Id: If737b03f9d090076e9d739189479fb6725ae8856
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2013-07-18 17:16:30 +02:00
Orgad Shaneh
93dd2795ba VCS: Use source() for file path where applicable
Task-number: QTCREATORBUG-9834

Change-Id: I5ee84593c56a0e3beaf20ef643b04d4de40c37f3
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2013-07-18 17:15:42 +02:00
Eike Ziller
8c2e3fd2cb Fix usage of EditorManager::editorsForFileName
And move to using the corresponding method in document model.

Change-Id: I80b12ceab8a91c5393b9c0422d660a8896ae09d8
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2013-07-18 14:51:39 +02:00
Eike Ziller
354cd410b0 Make document model static and add some document related methods
Change-Id: Ibcb863e67a2433529c9d2b6dec237f9d8b1d8d50
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2013-07-12 11:55:59 +02:00
Orgad Shaneh
0b6b6b38cb Show VCS topic in window title
Project tree root is not visible most of the time. Window title is more
useful.

Also shows topic for *current* open file rather than the project
(supporting submodules and externally opened files)

Change-Id: Id21be09c27beca1b0d37674513121a0e0e995feb
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2013-07-11 12:50:05 +02:00
Eike Ziller
113c5600c9 Move displayName from IEditor to IDocument
The display name is not editor instance specific, but belongs to the
document.

Change-Id: I3c936f04a86e10e6ca30063d85036d85b4b5880e
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
2013-07-10 17:26:15 +02:00
Eike Ziller
dd43d9908f Rename IDocument::fileName --> filePath
That is what it actually is, wrt how Qt API calls it.

Change-Id: Ied02055debf6aad75556b0d9d22e8ba2f72be555
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2013-07-09 13:51:42 +02:00
Eike Ziller
a98fe15fe5 Merge remote-tracking branch 'origin/2.8' into HEAD
Conflicts:
	qbs/pluginspec/pluginspec.qbs

Change-Id: Ic8e992623b9eda8913ee473c779a8df27643ccc9
2013-07-08 15:01:17 +02:00
Orgad Shaneh
49bad12787 VCS: Emit repositoryChanged when ExpectRepoChanges flag is set
Change-Id: I7ae5199a1397258c9816ff1801fb5d0909feb626
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2013-07-04 17:59:30 +02:00
Eike Ziller
8685ff8a28 Merge remote-tracking branch 'origin/2.8' into HEAD
Conflicts:
	qtcreator.pri
	qtcreator.qbs

Change-Id: I5d2018d3437b99bcdffa92bf1a212f42923c4fad
2013-07-03 16:55:27 +02:00
Orgad Shaneh
20e9b33741 VCS: Use relative path for apply/revert chunk
Task-number: QTCREATORBUG-9715

Change-Id: I3bfaea3922ace396230ef5e215712a9f3459808b
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2013-07-03 13:34:38 +02:00
Orgad Shaneh
3e117b125d SynchronousProcess: Use the same codec for stdout and stderr
Change-Id: I4a7e5a5748dd9e16b1e62b3879cce8ccab0f3e01
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2013-07-02 10:29:13 +02:00
Leena Miettinen
41411165ba Doc: use standard wording in \brief commands
QDoc does some magic with the \class and \namespaces
and \brief commands, so the following wording must be used:
"The xxx class yyy ..."

Change-Id: Id231f30e8464898b776888d5423523de404aae34
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2013-06-20 11:22:47 +02:00
Eike Ziller
f7349e49df Fix build
The (un)expectDirectoryChange API addition has been reverted

Change-Id: I4736f51a77eb2f63b3e4a7b44426ad15a06624c7
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2013-06-19 11:49:52 +02:00
Orgad Shaneh
228851d822 VCS: Update state when configuration is changed
Take 2

Change-Id: I08f08c4adf6ea559e84ac1f1c384b6e71f7e9d59
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2013-06-17 11:20:01 +02:00
Tobias Hunger
d40fe4f736 Revert "VCS: Update state when configuration is changed"
The signal is not defined.

This reverts commit e9b99826f243f742a60c54cc4a54ea63d0c6a558

Change-Id: I844b3fcc95a1c690f47b1ca3aa906ab81a3b5232
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2013-06-14 10:50:48 +02:00
Orgad Shaneh
d524f37ca0 VCS: Update state when configuration is changed
Change-Id: I6b3f924a5802521540e53aabc6905355f17f74d8
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2013-06-14 10:10:06 +02:00
Orgad Shaneh
808f4492c5 VCS: Add a property to Command to indicate expected repo changes
Change-Id: Ia6c929ae64008dcb37695a5358c44096a893e0c4
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2013-06-10 10:37:36 +02:00
Orgad Shaneh
63cf15b180 Git: Start interactive rebase in topLevel
Change-Id: I99edfed36b12942e64ee1947a46eddd1ca08b9ba
Reviewed-by: Petar Perisin <petar.perisin@gmail.com>
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2013-06-05 13:24:16 +02:00
Eike Ziller
7c8db79817 Switch less often to edit mode
This change
* Removes IMode::type, ModeManager::activateModeType, and
  IEditor::preferredModeType, and adds IEditor::isDesignModePreferred
  instead
* Adapts the mode switching code in EditorManager to handle multiple
  windows, for example switching to edit mode should only happen if
  the editor/view is in the main window. Otherwise the editor window
  should be raised and focused
* Renames EditorManager::NoActivate --> DoNotChangeCurrentEditor
* Reverts the EditorManager::ModeSwitch logic to switch mode or
  make the current editor visible by default, introducing
  DoNotMakeVisible flag instead
* Fixes a few instances where EditorManager::ModeSwitch should have been
  used

One non-trivial problem left: If you open a .ui file and switch to an
external editor window, edit mode is activated, because the current
editor no longer is a .ui file, which means that the design mode gets
deactivated.

Change-Id: I76c5c2391eb4090143b778fb103acff3a5a1ff41
Reviewed-by: David Schulz <david.schulz@digia.com>
2013-06-05 09:43:14 +02:00
Tobias Hunger
d96535bd23 VCS: Clear directory cache when availability of VCSes changes
We could have gotten new VCSes or existing ones might have gone,
so clear the cache of which VCS manages which directory.

Change-Id: I87a1b9c894e2867773ea4df221e463adb14f4ee9
Reviewed-by: Petar Perisin <petar.perisin@gmail.com>
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2013-06-04 10:38:14 +02:00
Eike Ziller
e31575a493 VCS: Clean up submit editor handling
It was not possible to simultaneously open two commit editors for
different version control systems, also there was no reason to scan all
open editors for the submit editor, since the plugins can just remember
the editor that they opened.

Change-Id: I1bea6ece3cd6faa1ecc0566bdd6f5fb10c816963
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2013-04-19 16:21:06 +02:00
Friedemann Kleint
959a75d65e Clean headers in vcsbase-plugin.
Change-Id: Ibbfd5e0b07b2a06d17f4e3360511d7ad13b49f55
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2013-03-26 12:30:36 +01:00
hjk
2cea4c6f80 Vcs: Construct Core::Id directly for submit editor
Change-Id: I21ca57fa6b73887dfc88b31240096b0851d53cae
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2013-03-21 13:13:35 +01:00
hjk
d29c3dc4c5 VcsBase: Don't use deprecated Core::Id(QString)
Change-Id: Ie41e4c718dc84b2ceb2125f11359531bb3d4acf8
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-03-19 12:39:23 +01:00
Leena Miettinen
419c6de735 Doc: replace deprecated QDoc commands
The \i and \o commands were replaced with \li and
\bold was replaced with \b in QDoc for Qt 5.

The \input command was replaced with \include in the docs.

Change-Id: I257d1bebb8ebc739ca20e0d29fcf0406ecb14534
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-02-06 09:44:18 +01:00
Oswald Buddenhagen
1fda2111d4 Merge remote-tracking branch 'origin/2.6'
Conflicts:
	src/plugins/autotoolsprojectmanager/AutotoolsProjectManager.pluginspec.in
	src/plugins/debugger/qtmessageloghandler.cpp
	src/plugins/debugger/qtmessagelogwindow.cpp
	src/plugins/madde/maemodeployconfigurationwidget.cpp
	src/plugins/qmldesigner/components/integration/designdocumentcontroller.cpp
	src/plugins/qmldesigner/designercore/include/widgetqueryview.h
	src/plugins/qmldesigner/designercore/metainfo/metainfoparser.cpp
	src/plugins/qmldesigner/designercore/model/modelnodecontextmenu.cpp
	src/plugins/qmldesigner/designercore/model/modelnodecontextmenu.h
	src/plugins/qmlprojectmanager/qmlprojectapplicationwizard.cpp
	src/plugins/qnx/bardescriptormagicmatcher.h
	src/plugins/qt4projectmanager/profilekeywords.cpp
	src/plugins/remotelinux/deployablefilesperprofile.cpp
	src/plugins/remotelinux/deployablefilesperprofile.h
	src/plugins/remotelinux/deploymentinfo.cpp
	src/plugins/remotelinux/deploymentsettingsassistant.cpp
	src/plugins/remotelinux/profilesupdatedialog.cpp
	tests/auto/icheckbuild/ichecklib.cpp
	tests/auto/icheckbuild/parsemanager.cpp
	tests/auto/icheckbuild/parsemanager.h

Change-Id: Ie465a578446a089e1c502d1cb1096e84ca058104
2013-01-31 16:25:33 +01:00
Orgad Shaneh
3db5b1d657 VCS: Remove unneeded local variable
Change-Id: I7dd97336a0de55d4f6c1880f5d0fc75223bf8efb
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2013-01-31 12:17:01 +01:00
Robert Loehning
298531e370 Incremented year in copyright info
Change-Id: Ic6a9ff0359625021ebc061d22db6811814534205
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
2013-01-29 16:27:03 +01:00
Orgad Shaneh
5551c1e906 Git: Introduce StashGuard
Offers the user to stash changes (if relevant), stores
the results and pops the stash when it goes out of scope
(unless disabled)

Change-Id: Ibc0d2a5d3e3c953062fb17ecba903ca814524837
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2013-01-24 12:32:26 +01:00
Orgad Shaneh
29a93998df Remove braces for single lines of conditions
#!/usr/bin/env ruby

Dir.glob('**/*.cpp') { |file|
  # skip ast (excluding paste, astpath, and canv'ast'imer)
  next if file =~ /ast[^eip]|keywords\.|qualifiers|preprocessor|names.cpp/i
  s = File.read(file)
  next if s.include?('qlalr')
  orig = s.dup
  s.gsub!(/\n *if [^\n]*{\n[^\n]*\n\s+}(\s+else if [^\n]* {\n[^\n]*\n\s+})*(\s+else {\n[^\n]*\n\s+})?\n/m) { |m|
    res = $&
    if res =~ /^\s*(\/\/|[A-Z_]{3,})/ # C++ comment or macro (Q_UNUSED, SDEBUG), do not touch braces
      res
    else
      res.gsub!('} else', 'else')
      res.gsub!(/\n +} *\n/m, "\n")
      res.gsub(/ *{$/, '')
    end
  }
  s.gsub!(/ *$/, '')
  File.open(file, 'wb').write(s) if s != orig
}

Change-Id: I3b30ee60df0986f66c02132c65fc38a3fbb6bbdc
Reviewed-by: hjk <qthjk@ovi.com>
2013-01-08 10:48:18 +01:00
Orgad Shaneh
ab36bc6e8b VCS: Avoid potential crash
Change-Id: Iedae7965eca0c32e0868795ea7541a5064c6c4a6
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2012-10-21 21:21:47 +02:00
hjk
386ca7c8dd Adjust license headers
Change-Id: Ice592c6de9951ee3b2c4cb52ed0bb3b6770e0825
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2012-10-05 17:12:56 +02:00
Konstantin Tokarev
d18bf468ad Changed return type of :ICore::mainWindow() to QWidget*
Also removed all <QMainWindow> includes which are not needed
anymore.

Change-Id: I393c9a62a5c6df95d9f35d872e1473a4f13bcdc4
Reviewed-by: hjk <qthjk@ovi.com>
2012-07-19 15:15:53 +02:00