Commit Graph

357 Commits

Author SHA1 Message Date
Orgad Shaneh
5832f52cee VCS: Replace describe slots with lambdas
Change-Id: I05ca25aad8be43fdfa15d3fb5eaaa9bf753ee79f
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2016-11-28 09:38:12 +00:00
Orgad Shaneh
c844071627 Rename VcsBaseEditorParameterWidget -> VcsBaseEditorConfig
Change-Id: I5626e66ba2b7a760ce55263edce9e716067ea6a4
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
2016-10-24 16:23:59 +00:00
Jarek Kobus
2c6adc1e74 VCS: Replace QToolButtons in VCS toolbar with QActions
Change VcsBaseEditorParameterWidget to add actions/widgets to an
existing toolbar, instead of being a widget itself.

The class is renamed in a follow-up commit.

Task-number: QTCREATORBUG-14934
Change-Id: I473a439d12a096f4cbb64f06faa0598ee72000de
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
2016-10-24 16:23:33 +00:00
Orgad Shaneh
4ca1fb0e9a VCS: Fix inverse condition
compare returns 0 when the strings are equal

Change-Id: I4dfd3b402d48a3043e9674f1d82e66c968e8ba94
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2016-10-24 09:07:46 +00:00
Tobias Hunger
28325aa446 VCS: Add a way to filter out files/directories that belong to a VCS
Change-Id: I4dcbe6242cfe327e3b72d3dd550309be45e326a9
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2016-10-21 13:04:40 +00:00
Tobias Hunger
a693bd97ef VCS: "final"-ize IVersionControl implementations
Change-Id: I123a8da9b08b2fe5de679d5caac7fa20bfb0ef4a
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2016-10-21 08:22:27 +00:00
Tim Jenssen
d915b22db9 improve static initializers
Change-Id: I304fdd6627f01fc216c84930da607127c52409d9
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2016-09-23 14:27:01 +00:00
Nazar Gerasymchuk
90629108fc UI files: Fix tab order in lots of UI forms
For unknown reasons tab order in listed UI files was set incorrectly and
behave unexpectedly. Now tab order behave naturally.

Changes made for listed objects and touches only UI.

Change-Id: I057b95eb21943ddb29b108682618382661db7be9
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2016-08-02 14:29:27 +00:00
Tobias Hunger
ca7a924a06 VCS: VcsBaseClient::vcsFullySynchronousExec returns a SynchronousProcessResponse
Change-Id: Ic155da2ed1fd36f1f91327ac90f34a5cad3c210e
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2016-07-15 14:16:29 +00:00
Tobias Hunger
5efd82468b SynchronousProcess: Store raw bytes from stdout/stderr of the process
Only convert the raw output later in a stdOut() and stdErr() method of
the SynchronousProcessResponse.

This is necessary since we have processes that use different encodings
for different sections of the file (I am looking at you, git).

Also remove the signals for raw data on stdout/stderr, leaving only the
signals returning buffered QString lines. This should be safe, even
with UTF-16 output.

Change-Id: Ida613fa86d1468cbd33bc6b3a1506a849c2d1c0a
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2016-07-15 14:16:03 +00:00
Orgad Shaneh
3845c833fc VCS: Return the editor in VcsBaseClient::annotate
Will be used in a follow-up commit for setting base line number
for limited range blame.

Change-Id: Ibae90f3ac982ebe9f53aa282f70c2c703e9eeb9d
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2016-06-14 07:56:55 +00:00
Orgad Shaneh
e868357107 VCS: Reslot describe functions
They're used by VcsEditorFactory

Change-Id: I9211f406b389649bf8ff9fe7f24522026b1711d4
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
2016-02-12 12:32:06 +00:00
Tobias Hunger
fcdb286cec Mercurial: Modernize
* Use pragma once
* Use override
* Use member initialization

Change-Id: Ibd4f3c65929932db0e44be70fd5915b921438564
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2016-02-10 13:08:40 +00:00
Tobias Hunger
397e7f4843 Update License according to agreement with Free Qt Foundation
* Update files in src/plugins

Change-Id: Ia5d77fad7d19d4bb3498e78661982f68729adb22
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
2016-01-19 15:57:01 +00:00
Eike Ziller
3f63635053 Merge remote-tracking branch 'origin/3.6'
Conflicts:
    src/libs/3rdparty/modeling/qmt/model_widgets_ui/classmembersedit.cpp
    src/plugins/git/gitplugin.cpp

Change-Id: I78a21510d484b655e01141a3543e08ee2123f9cd
2015-11-23 14:25:38 +01:00
Orgad Shaneh
a941f7b216 Mercurial: Fix "view" invoked from editor
The editor is initialized with a SLOT reference to view.

Change-Id: Ia793878f12c8caf8a71b565f78bf05db6bac74ca
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
2015-11-20 11:25:26 +00:00
Tobias Hunger
5795da85f8 Mercurial: Use Qt5-style connects
The heavy lifting was done by clazy.

Change-Id: I97ec9abd338ec686a0d62fadc59b6e7338f065cc
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2015-11-20 07:46:18 +00:00
Tobias Hunger
1381b80f4b Mercurial: Make commiter/commiter email work again
We tried to get the data from a settings object that was removed
elsewhere:-/

Task-number: QTCREATORBUG-14945
Change-Id: Ib7c1b9ced0cae776f24f250ebda24bcf14d3a782
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
2015-09-03 08:23:03 +00:00
Tobias Hunger
5a2459d1e1 VcsBase: Make some slots protected and update users accordingly
Change-Id: If38be72e9037126b6b697c5064a07de29a2ef8e5
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2015-06-11 08:41:01 +00:00
Eike Ziller
e00aa54f4e Add override keyword to IEditor & TextEditorWidget implementations
Change-Id: I403101d788d9edfea5c5c9440ab4f39ad00e81f7
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
2015-06-09 04:17:42 +00:00
Tobias Hunger
5aeccb3be6 Mercurial: Replace CloneWizard with a Json wizard
Change-Id: Idcf5c523010ecb46d0ec6fa9475d182d14984852
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2015-05-18 08:14:03 +00:00
Tobias Hunger
94dc35694a CheckoutWizards: Use IVersionControl::createInitialCheckoutCommand
Change-Id: I09dd38f66b9cad46d561493c2e27a833595d8728
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2015-05-11 13:22:49 +00:00
Tobias Hunger
caca9dfa6f CheckoutWizards: Simplify code to look up specific pages
Change-Id: I0098e17585d73e05632027676e7712ef9c843da2
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2015-05-11 11:52:00 +00:00
Tobias Hunger
75f067550f IVersionControl: Add method to get a ShellCommand for initial checkouts
Change-Id: Iabc056dad186d788003b221afb34303c37fef728
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2015-05-11 11:51:53 +00:00
Tobias Hunger
2bfb4fbf80 Vcs: Sprinkle overrides over IVersionControls
Do this in a separate step to keep the next patch more readable.

Change-Id: I37cfd5481dcbfda52135eccec30852aefde1b950
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2015-05-08 13:44:49 +00:00
Tobias Hunger
eec0a03212 Vcs: Split up VcsCommand
Move the biggest chunk into Utils::ShellCommand, add some Qt Creator
specific magic in Core::ShellCommand and leave the rest in
VcsBase::VcsCommand.

Change-Id: I5fe6f7076e96023ad2164bcfaacfb3b65a7ff8a8
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2015-05-04 15:27:25 +00:00
Tobias Hunger
c7c785ace3 Vcs: Push the binary into the Jobs of VcsCommand
This is the first step to generalizing the class for wider use.

Change-Id: I40ccb5bec4fdcb9d0a67388160c867799331007b
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2015-04-29 08:40:46 +00:00
Tobias Hunger
7c083eadee Vcs: Make VcsBaseClient return stderr on fullySynchronous execution
Change-Id: I7a72a2f865148d7cf375897ec944a45f4b440818
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
2015-04-13 10:48:01 +00:00
Tobias Hunger
7719fb669c Vcs: Standardize on second based timeouts
Change-Id: Ia273fda05a4c4a1934819f26e5dc1b6b80a89f6f
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
2015-04-13 10:47:08 +00:00
Tobias Hunger
e7616f8769 Vcs: Move createVcsEditor into VcsBaseClientImpl
... and use that in Git as well.

Change-Id: I81c85fcf5a7da7e9f756f117ea6c38c15294a401
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2015-04-13 09:08:35 +00:00
Tobias Hunger
07d6757ca8 Vcs: Move createCommand and enqueueJob into VcsBaseClientImpl
Change-Id: I86a4ddfd6c53a3be61c56579d8eaf5d49258a8f1
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
2015-04-10 09:49:47 +00:00
Tobias Hunger
73a7732850 Vcs: Unify options pages for VcsBaseClientImpl based VCSes
Change-Id: Ia5dd7746f5857e7254251e3510c0987737cfad6d
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2015-04-09 07:25:11 +00:00
Tobias Hunger
90ce38da39 Vcs: Move handling of settings from VcsBaseClient to VcsBaseClientImpl
... and update users of that functionality accordingly.

Unexpected plus: Now every supported VCS actually saves their setting
when requested.

Change-Id: I02db7b2ce14e5f52d26409b2a01aea290c2a294a
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2015-04-08 09:30:44 +00:00
Tobias Hunger
f44161bb9a Vcs: Add vcsBinary and vcsTimeout methods to VcsBaseClient
Change-Id: I966a76ee4c1e5c45ac7332613e90cf511afc584c
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2015-03-26 14:20:54 +00:00
Orgad Shaneh
9877221a3d VCS: Rename DiffHighlighter -> DiffAndLogHighlighter
It is also used for log editors

Change-Id: I8755d2aaa717ca47b0d9bbf935b121d4e099ef1b
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
2015-03-25 10:48:06 +00:00
Hugues Delorme
20a0b97e82 Vcs: fix missing icons in SubmitFileModel
In SubmitFileModel, filetype icons are missing for not "overlaid" icons in
Core::FileIconProvider. This is fixed by ensuring valid file paths are passed
to QFileInfo. VcsBase::SubmitFileModel has now a "repositoryRoot" property
so it can constructs absolute file paths.

VcsBaseSubmitEditor::setFileModel() now relies on SubmitFileModel::repositoryRoot()
instead of passing this info as annex parameter.

Change-Id: Ie045c3a7b247a5b5d48d10aaaf67cb3fdcf9fa7e
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2015-03-11 13:45:16 +00:00
Orgad Shaneh
94cf79f895 VCS: Add accelerators to context menu entry in editors
Change-Id: I57b89670999d1f4857dcbdf94d8dc1f480e337c1
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
2015-03-10 12:55:29 +00:00
Orgad Shaneh
9a1c382273 VCS: Remove dead stores
Change-Id: I998e523c76bdc0b76cbc6089092a0dda4812ca16
Reviewed-by: Nikita Baryshnikov <nib952051@gmail.com>
Reviewed-by: André Hartmann <aha_1980@gmx.de>
2015-03-08 08:20:28 +00:00
Hugues Delorme
f7bdbc66e0 Vcs: rename overload SubmitEditor::diffSelectedFiles() for rows
-> Renamed to diffSelectedRows()

This allows to use easily Qt5 connects, without ugly casting to
pick the right overload

Change-Id: Ifaa0242febccb4e1aadd53470cc4b3be79b07c18
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
(cherry picked from commit 12fac12e8f)
2015-03-06 08:02:35 +00:00
Friedemann Kleint
54da18eaaa Clean exported headers of the Core plugin.
Change-Id: I26472d568844d5fee62323e01f5c5c12082d5450
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2015-03-05 07:18:14 +00:00
Orgad Shaneh
6216740076 Mercurial: Transform path separators on status
hg status uses native separators. Filtering untracked files assumes normalized
ones.

Change-Id: I63934f45e5787b895428b6c560f6d214d6689fbb
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
2015-03-02 08:39:02 +00:00
Orgad Shaneh
aee35662a2 Prefix duplicate names in Open Documents to make them unique
If a document has a file name associated with it then the prefix is
composed from path components (subdirectories), starting from the one
where the file is located and going up the parents until the resulting
name becomes unique among other open documents.

If a document doesn't have an associated file name, then a sequential
number (starting from 1) is appended to the display name of the
document.

This feature is useful when working with big projects that have lots
of idendical file names across different subdirectories (e.g.
Makefile.in, main.cpp, etc.) that need to be edited at the same
time. It allows to easily recognize such a file when switching
between documents in the editor, w/o the need to place the
mouse pointer over the name entry to get its full path.

Started-by: Dmitriy Kuminov <coding@dmik.org>
Task-number: QTCREATORBUG-10185
Change-Id: I633ea6d9b9b4fce8b67335dbcce1bda29254efde
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
2015-02-26 14:56:25 +00:00
Friedemann Kleint
d33af01d09 Clean exported headers of the VcsBase plugin.
Change-Id: Ibfe20bc7156e14e33fd0448586f5cc625494e008
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2015-02-26 10:57:52 +00:00
Alessandro Portale
fb567a224d Fix layouts for OSX: Set the obligatory ExpandingFieldsGrow
In Qt Creator, we want line edits to take up the free horizontal
space.

Change-Id: I4ff78035ab2481cc2f944fc02569638f06f0b090
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
2015-02-24 11:45:53 +00:00
Eike Ziller
9926fc2ab1 Merge commit '3c85058694ee2e41658d17f524fb48f0b187d2fe'
Conflicts:
	src/libs/utils/tooltip/tipcontents.cpp
	src/libs/utils/tooltip/tipcontents.h
	src/plugins/android/androiddeployqtstep.cpp
	src/plugins/baremetal/baremetalconstants.h
	src/plugins/baremetal/baremetaldevice.cpp
	src/plugins/baremetal/baremetaldevice.h
	src/plugins/baremetal/baremetaldeviceconfigurationwidget.cpp
	src/plugins/baremetal/baremetaldeviceconfigurationwidget.h
	src/plugins/baremetal/baremetaldeviceconfigurationwizard.cpp
	src/plugins/baremetal/baremetaldeviceconfigurationwizardpages.cpp
	src/plugins/baremetal/baremetaldeviceconfigurationwizardpages.h
	src/plugins/baremetal/baremetalplugin.cpp
	src/plugins/baremetal/baremetalplugin.h
	src/plugins/baremetal/baremetalruncontrolfactory.cpp
	src/plugins/baremetal/baremetalruncontrolfactory.h
	src/plugins/cppeditor/cppcodemodelinspectordialog.cpp
	src/plugins/cppeditor/cppdoxygen_test.cpp
	src/plugins/cppeditor/cppdoxygen_test.h
	src/plugins/debugger/breakpointmarker.cpp
	src/plugins/debugger/debuggeritemmodel.cpp
	src/plugins/debugger/debuggeritemmodel.h
	src/plugins/debugger/loadcoredialog.cpp
	src/plugins/genericprojectmanager/cppmodelmanagerhelper.cpp
	src/plugins/projectexplorer/addnewmodel.cpp
	src/plugins/projectexplorer/addnewmodel.h
	src/plugins/projectexplorer/jsonwizard/jsonfieldpage.cpp
	src/plugins/qmlprofiler/abstracttimelinemodel.cpp
	src/plugins/qmlprofiler/abstracttimelinemodel.h
	src/plugins/qmlprofiler/notesmodel.cpp
	src/plugins/qmlprofiler/qml/CategoryLabel.qml
	src/plugins/qmlprofiler/qml/MainView.qml
	src/plugins/qmlprofiler/qml/Overview.js
	src/plugins/qmlprofiler/qml/Overview.qml
	src/plugins/qmlprofiler/qml/TimeDisplay.qml
	src/plugins/qmlprofiler/qml/TimeMarks.qml
	src/plugins/qmlprofiler/qmlprofilertimelinemodelproxy.cpp
	src/plugins/qmlprofiler/sortedtimelinemodel.cpp
	src/plugins/qmlprofiler/sortedtimelinemodel.h
	src/plugins/qmlprofiler/timelinemodelaggregator.cpp
	src/plugins/qmlprofiler/timelinemodelaggregator.h
	src/plugins/qmlprofiler/timelinerenderer.cpp
	src/plugins/qmlprofiler/timelinerenderer.h
	src/plugins/qmlprojectmanager/QmlProjectManager.json.in
	src/plugins/texteditor/findinfiles.cpp
	src/plugins/vcsbase/vcsconfigurationpage.cpp
	src/shared/qbs
	src/shared/scriptwrapper/interface_wrap_helpers.h
	src/shared/scriptwrapper/wrap_helpers.h
	tests/auto/qmlprofiler/abstracttimelinemodel/tst_abstracttimelinemodel.cpp
	tests/system/suite_debugger/tst_debug_empty_main/test.py
	tests/system/suite_debugger/tst_qml_js_console/test.py
	tests/system/suite_debugger/tst_qml_locals/test.py

Change-Id: I67540b648f8b162496f4aa606b04d50c7c9125c6
2015-02-12 17:29:21 +01:00
Orgad Shaneh
620d1c36e5 VCS: Remove unneeded qualifications
Mostly done using the following ruby script:
Dir.glob('**/*.cpp').each { |file|
  next if file =~ %r{src/shared/qbs|/qmljs/}
  s = File.read(file)
  s.scan(/^using namespace (.*);$/) {
    ns = $1
    t = s.gsub(/^(.*)\b#{ns}::((?!Const)[A-Z])/) { |m|
      before = $1
      char = $2
      if before =~ /"|\/\/|\\|using|SIGNAL|SLOT|Q_/
        m
      else
        before + char
      end
    }
    if t != s
      puts file
      File.open(file, 'w').write(t)
    end
  }
}

Change-Id: I061c7bdcade96961aed226a8348f8ab07ee95f5f
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
2015-02-04 13:22:55 +00:00
Orgad Shaneh
1bcfa137a3 Do not use QDir::separator() for internal paths
Internal paths are supposed to be normalized

Change-Id: Ic6943ce13ad389dfdb44054a9e6f03da8c6cd88d
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
2015-02-02 08:32:59 +00:00
Hugues Delorme
4b5d2ccef7 Vcs: in VcsBaseClient use functors to create log/diff parameter widgets
Also API of VcsBaseEditorParameterWidget was changed to take benefit of C++11 lambdas.
Slot executeCommand() is no longer virtual and only fires signal commandExecutionRequested().
The Vcs client just has to bind a lambda to this signal instead of some boiler-plate code
like keeping track of the arguments of diff/log with "struct XxxDiffParameters", etc.

Change-Id: I347c97d84a8324e9c661df4e6d9a6075980b020f
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
2015-01-22 14:28:35 +01:00
Tobias Hunger
2ce93c2b7d Mercurial: Sprinkle with auto
Change-Id: Id2a4adb5c4759e64affed8c5988feb58389ec1ea
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2015-01-22 14:19:13 +01:00
Tobias Hunger
5460250281 VcsBase: Make VcsConfiguration page more dynamic
... again making it more useful for the JSON wizard

Change-Id: Ic7a454c4efc93eb48a44ab2a37ecd39f8c6f3ba7
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2015-01-21 12:24:11 +01:00