Utils: fixing the compile for Windows

Without unixutils Creator does not link on Windows anymore.
The reason is FileUtils::showInGraphicalShell()
which calls UnixUtils::fileBrowser() and
UnixUtils::substituteFileBrowserParameters().

Since UnixUtils compile on Windows I added them.
Propably UnixUtils should be merged into FileUtils,
if they are used and make sense on all platforms.

Change-Id: I3fb49fb2c0c54fb9336298f006e2937ae29d413b
Reviewed-by: hjk <qthjk@ovi.com>
Added a pre-compiled header to be used by platforms that support it.

Change-Id: I68930a302faf056dfa5e67c3ccbe3c43ce1b8c0c
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@digia.com>
Added a pre-compiled header to be used by platforms that support it.

Change-Id: I4dd00dca652c1cb60c952ebc11b3c5f8767d4ecc
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@digia.com>
C++: Highlight argument to gcc's #include_next extension properly

Change-Id: I90097e11689fbbb964fc4344a1e3ba60c718a1cf
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
Added a pre-compiled header to be used by platforms that support it.

Change-Id: If87cd649267cd3a48973580acab2227ad9d5ac44
Reviewed-by: hjk <qthjk@ovi.com>
QmlProfiler: Reduce number of calls to get the same result.

Change-Id: Iea772405ecb55a2f556a1b50ec3712ed91de3d9d
Reviewed-by: Christiaan Janssen <christiaan.janssen@digia.com>
CppTools: Fix qbs build.

Change-Id: I0ef6e4419596b7cc0f8a574917fec5af94ff8832
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
Move SubmitEditorWidget from Utils to VcsBase

It belongs there

Change-Id: I4b4cdacf32b0eab299d4b2d5258cd4d91a759907
Reviewed-by: hjk <qthjk@ovi.com>
VCS: Use SubmitFileModel in SubmitEditorWidget

Much cleaner

Change-Id: I090e5d04e5afae1023fa58eca1ef416ddc069165
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
VCS: Generalize selections preserving on model refresh

Default implementation is between O(n) (for identical models) to
O(n*m) (for disjoint models). If sort order is known, this
can be reduced to O(n+m), like in Git implementation.

Change-Id: I44662a22961311cb882601d20efa9d445f74748b
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
Reviewed-by: hjk <qthjk@ovi.com>
Git: Added Merge and Rebase

Added git functions - "Merge" and "Rebase"
They are in the "Branches" dialog:
- Merge - merge selected branch into current one
- Rebase - rebase current branch on selected one

Task-number: QTCREATORBUG-8367

Change-Id: I9ed306c64d5d4b7bd1d58730a5e1009f0bd4ec0e
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
Git: Auto stash for branches

Allow user to handle local changes when switching branches.

Task-number: QTCREATORBUG-8417
Change-Id: I62d615aadfbd81c8ae03f3cd292b98773a36e1e7
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
Added a pre-compiled header to be used by platforms that support it.

Change-Id: I0ff6ef8c3e6e8f4a02c2135da30be2f03f82c648
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
GccToolChain: Remove unused variable

Change-Id: Id11af855460f301b04afcddedbc8a2af6d2f4bd8
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
Git: Make branch lookup more robust

It might fail because a particular branch points to an invalid commit.
We don't want that to prevent display of all other branches.

Change-Id: I8fe427735351fc458c99396dc1f9d77bc948468e
Reviewed-by: Petar Perisin <petar.perisin@gmail.com>
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
VCS: Replace Q_ASSERTs with QTC_ASSERT

Also rename m to model

Change-Id: Ibb283dc2d5d0c306cbac9109a7e5fc6481ac86a8
Reviewed-by: hjk <qthjk@ovi.com>
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>
Editor: Fixed endless loop in BaseTextFind

...when trying to replace some regular expressions that could result in
empty search results like ^, $ or \b.

Task-number: QTCREATORBUG-8464
Change-Id: I91a304d3609c3ec20437c698d53e6a1819dfb924
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
Fix compiler warning

pFlags might be used uninitialized

Change-Id: I78b308c9894797ca6258c82cab9d8dffab7e47bb
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
Revert "SSH: Work around issue with dynamic_cast."

This reverts commit 6f7ce3f48e2ac4ebe5e04492b11d3a70bed37fb2.
The workaround turned out to be incomplete and has therefore
been superseded.

Change-Id: Ic60cd810f72ca833c1725024d2816baf5ce47372
Reviewed-by: hjk <qthjk@ovi.com>