Commit Graph

1006 Commits

Author SHA1 Message Date
Orgad Shaneh
c6a983d271 Core: Use FileName for file path in IDocument
Change-Id: I85f7398aee59d0d36f0e5c3bf88ff3c96002e394
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
2015-01-12 10:23:37 +01:00
Christian Stenger
082a4836ff Debugger: Further cleanup
Change-Id: I9c744202efe3af56f60fe5f09358d9b39e0eaafe
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-12-19 13:06:44 +01:00
hjk
3743211e54 Debugger: Rework register handling
Use register names as handle, not their index in the view.
Store the raw real values, not some stringified version
as primary data.  Use subentries to break down bigger
registers into smaller entities. Also remember the
previous value of a register and show it in a tooltip.

Change-Id: I8ae3cc8766a7b211bc7cc827c734e5cf6060825c
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-12-18 12:53:46 +01:00
hjk
449e2dcadc Debugger: Some cleanup in DebuggerPlugin
Remove unused code and unneeded slots.

Change-Id: If3de545137376b1addeb3c7608c479dadf03ed46
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2014-12-16 08:12:03 +01:00
hjk
bf9b63174e Debugger: Introduce a "Native Mixed" switch
This paves the the way to mixed QML/C++ debugging
through the native backends. Currently this requires
QTC_DEBUGGER_NATIVE_MIXED to be set in the environment.

Change-Id: I126ad945e84806f3b548408318007351628c912f
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@theqtcompany.com>
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
2014-12-12 11:17:58 +01:00
hjk
a06626b28c Debugger: Use mostly Qt5-style connects in debuggerplugin.cpp
Change-Id: If1230268ac558a8d7837d919e122fae4dff7097b
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-12-08 16:56:23 +01:00
Marco Bubke
2ee9a06f4c Debugger: Use Core::AsynchronousMessageBox
Nested event loops can lead to crashes, so it is better to use a dialog
which does not have have its own event loop.

Change-Id: Icd2390c9026bc1ef88e72a570df5813fe5cbdaa2
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-12-08 12:02:07 +01:00
Daniel Teske
4943510b60 Completely rework currentNode/currentProject handling
Centralize the handling inside a new class ProjectTree.
React to moving focus and remove most special handling.

This properly fixes the linked task.

Task-number: QTCREATORBUG-13357
Change-Id: I6b06aa32b1e4305ec8a6d432857b302585d8734b
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
2014-12-03 12:36:20 +01:00
Christian Stenger
050197edf3 Debugger: Use Qt5 style disconnect
Change-Id: I150df04e8b51880bb57cbc8a0a39461b0d8a54aa
Reviewed-by: hjk <hjk121@nokiamail.com>
Reviewed-by: David Schulz <david.schulz@theqtcompany.com>
2014-11-26 10:08:24 +01:00
hjk
1b31e8eebd Debugger: Introduce "Close memory buffers on exit" option
The usual case is probably to want normal editors stay open,
but memory/diassembler removed, but all other combinations
may be useful at times. So use two options instead of one.

Change-Id: I58c3951cc507c7e66a8d7a65b459a036e6a5d801
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
2014-11-17 11:45:09 +01:00
hjk
4b57427ee1 Debugger: Expose WatchModel signals
This opens it up to be used with Qt5 connects in the
TooltipManager and simpler user code.

Change-Id: Ifc6fcc3a04d325437f5a2bdf1da463d28d650ee3
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-11-07 16:01:08 +01:00
David Schulz
58e9d4a93e Debugger: Fix crash after creator shutdown
Change-Id: I5dd95571092c9b2a9a489b87d3cd4a641b337745
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-10-28 10:07:25 +01:00
David Schulz
cf47294491 Debugger: Fix attach external application.
Change-Id: I61660a3632328ddf87f5689dea00e8c132c5636c
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-10-28 09:26:33 +01:00
hjk
9ba17acc80 Debugger: Replace debuggerCore() by equivalent free functions
One indirection less on the user code side, and easier to export
if needed (partially addressing QTCREATORBUG-13187)

Change-Id: I13ab9f471a3a34da7a6331aefc83f6d02413bfab
Reviewed-by: David Schulz <david.schulz@digia.com>
2014-10-23 14:12:33 +02:00
hjk
f743778a43 Debugger: Move RunControl creation helper code to debuggerruncontrol.cpp
No change in functionality.

Change-Id: Ib948a788cdfdd9f8911c206df71ff2d20888c9d7
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-10-21 08:29:06 +02:00
hjk
55b2bb16dc Debugger: Consolidate RunControl creation
Export factory, de-export plugin, to remove one indirection

Change-Id: I13a46460d07d5ded6b26f2b5ceccd01142fb10e8
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-10-20 10:23:56 +02:00
hjk
ef563d8085 MacroExpander: Fall back to global expander
... and use that all over the place.

Change-Id: Ie6e0ed0f0d9eaba9b4466761e6b455f33a905086
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
2014-10-16 16:32:58 +02:00
hjk
e279c7e007 MacroExpander: Allow registering local expansions
This allows a MacroExpander also to describe an expansion it can
do which was restricted to the global VariableManager only.

The global is now just a thin (unneeded) wrapper about new "standard"
functionality.

Change-Id: Ida7ca70cf3d319eae4220ea8d12f3dd1c0d4042c
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
2014-10-15 00:49:17 +02:00
Orgad Shaneh
1ff1b8dbfd Debugger: Remove unused values from DebuggerStartMode
Change-Id: I84ec3dea504e51bb925c925564aa9b5c84133fbf
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-10-14 18:19:38 +02:00
Eike Ziller
ea27143239 Merge remote-tracking branch 'origin/3.2'
Conflicts:
	src/libs/utils/ipaddresslineedit.cpp
	src/libs/utils/logging.h
	src/plugins/analyzerbase/AnalyzerBase.pluginspec.in
	src/plugins/android/Android.pluginspec.in
	src/plugins/android/androiddeploystep.cpp
	src/plugins/android/androiddeploystep.h
	src/plugins/android/androiddeploystepfactory.cpp
	src/plugins/android/androiddeploystepwidget.cpp
	src/plugins/android/androidpackagecreationfactory.cpp
	src/plugins/android/androidpackagecreationstep.cpp
	src/plugins/android/androidpackagecreationstep.h
	src/plugins/android/androidpackagecreationwidget.cpp
	src/plugins/android/androidpackagecreationwidget.h
	src/plugins/android/javafilewizard.cpp
	src/plugins/autotoolsprojectmanager/AutotoolsProjectManager.pluginspec.in
	src/plugins/baremetal/BareMetal.pluginspec.in
	src/plugins/bazaar/Bazaar.pluginspec.in
	src/plugins/beautifier/Beautifier.pluginspec.in
	src/plugins/bineditor/BinEditor.pluginspec.in
	src/plugins/bookmarks/Bookmarks.pluginspec.in
	src/plugins/clangcodemodel/ClangCodeModel.pluginspec.in
	src/plugins/clangcodemodel/clanghighlightingsupport.cpp
	src/plugins/clangcodemodel/clangsymbolsearcher.cpp
	src/plugins/classview/ClassView.pluginspec.in
	src/plugins/clearcase/ClearCase.pluginspec.in
	src/plugins/cmakeprojectmanager/CMakeProjectManager.pluginspec.in
	src/plugins/cmakeprojectmanager/cmakeeditorfactory.cpp
	src/plugins/cmakeprojectmanager/cmakehighlighter.cpp
	src/plugins/coreplugin/Core.pluginspec.in
	src/plugins/cpaster/CodePaster.pluginspec.in
	src/plugins/cppeditor/CppEditor.pluginspec.in
	src/plugins/cppeditor/cppfilewizard.cpp
	src/plugins/cpptools/CppTools.pluginspec.in
	src/plugins/cpptools/cpphighlightingsupportinternal.cpp
	src/plugins/cpptools/cppmodelmanagerinterface.cpp
	src/plugins/cpptools/cppmodelmanagerinterface.h
	src/plugins/cvs/CVS.pluginspec.in
	src/plugins/debugger/Debugger.pluginspec.in
	src/plugins/designer/Designer.pluginspec.in
	src/plugins/diffeditor/DiffEditor.pluginspec.in
	src/plugins/emacskeys/EmacsKeys.pluginspec.in
	src/plugins/fakevim/FakeVim.pluginspec.in
	src/plugins/genericprojectmanager/GenericProjectManager.pluginspec.in
	src/plugins/git/Git.pluginspec.in
	src/plugins/git/gitorious/gitorious.cpp
	src/plugins/git/gitorious/gitorious.h
	src/plugins/git/gitorious/gitoriousclonewizard.cpp
	src/plugins/git/gitorious/gitorioushostwidget.cpp
	src/plugins/git/gitorious/gitorioushostwidget.h
	src/plugins/git/gitorious/gitorioushostwizardpage.cpp
	src/plugins/git/gitorious/gitoriousprojectwidget.cpp
	src/plugins/git/gitorious/gitoriousprojectwidget.h
	src/plugins/git/gitorious/gitoriousprojectwizardpage.cpp
	src/plugins/git/gitorious/gitoriousprojectwizardpage.h
	src/plugins/git/gitorious/gitoriousrepositorywizardpage.cpp
	src/plugins/git/gitorious/gitoriousrepositorywizardpage.h
	src/plugins/glsleditor/GLSLEditor.pluginspec.in
	src/plugins/glsleditor/glsleditorfactory.cpp
	src/plugins/glsleditor/glslfilewizard.cpp
	src/plugins/helloworld/HelloWorld.pluginspec.in
	src/plugins/help/Help.pluginspec.in
	src/plugins/imageviewer/ImageViewer.pluginspec.in
	src/plugins/ios/Ios.pluginspec.in
	src/plugins/macros/Macros.pluginspec.in
	src/plugins/mercurial/Mercurial.pluginspec.in
	src/plugins/perforce/Perforce.pluginspec.in
	src/plugins/projectexplorer/ProjectExplorer.pluginspec.in
	src/plugins/pythoneditor/PythonEditor.pluginspec.in
	src/plugins/pythoneditor/pythoneditorwidget.cpp
	src/plugins/pythoneditor/wizard/pythonfilewizard.cpp
	src/plugins/qbsprojectmanager/QbsProjectManager.pluginspec.in
	src/plugins/qbsprojectmanager/defaultpropertyprovider.cpp
	src/plugins/qmakeprojectmanager/QmakeProjectManager.pluginspec.in
	src/plugins/qmakeprojectmanager/profileeditorfactory.cpp
	src/plugins/qmldesigner/QmlDesigner.pluginspec.in
	src/plugins/qmljseditor/QmlJSEditor.pluginspec.in
	src/plugins/qmljseditor/qmljseditorfactory.cpp
	src/plugins/qmljstools/QmlJSTools.pluginspec.in
	src/plugins/qmlprofiler/QmlProfiler.pluginspec.in
	src/plugins/qmlprojectmanager/QmlProjectManager.pluginspec.in
	src/plugins/qnx/Qnx.pluginspec.in
	src/plugins/qtsupport/QtSupport.pluginspec.in
	src/plugins/remotelinux/RemoteLinux.pluginspec.in
	src/plugins/resourceeditor/ResourceEditor.pluginspec.in
	src/plugins/resourceeditor/resourcewizard.h
	src/plugins/subversion/Subversion.pluginspec.in
	src/plugins/tasklist/TaskList.pluginspec.in
	src/plugins/texteditor/TextEditor.pluginspec.in
	src/plugins/texteditor/basetexteditor_p.h
	src/plugins/texteditor/basetextmark.cpp
	src/plugins/texteditor/codeassist/basicproposalitemlistmodel.h
	src/plugins/texteditor/codeassist/defaultassistinterface.h
	src/plugins/texteditor/codeassist/iassistproposalitem.cpp
	src/plugins/texteditor/itexteditor.cpp
	src/plugins/texteditor/itexteditor.h
	src/plugins/texteditor/itextmark.cpp
	src/plugins/texteditor/plaintexteditor.cpp
	src/plugins/texteditor/plaintexteditor.h
	src/plugins/texteditor/texteditoractionhandler.cpp
	src/plugins/todo/Todo.pluginspec.in
	src/plugins/updateinfo/UpdateInfo.pluginspec.in
	src/plugins/valgrind/Valgrind.pluginspec.in
	src/plugins/vcsbase/VcsBase.pluginspec.in
	src/plugins/welcome/Welcome.pluginspec.in
	src/plugins/winrt/WinRt.pluginspec.in
	tests/auto/debugger/temporarydir.h

Change-Id: I254af8be8119fe9855287909e17d4b8ca9d2fc2f
2014-10-14 15:36:16 +02:00
hjk
cd90ddad55 TextEditor: Move some enums to namespace scope
In preparation for the final s/BaseTextEditor/TextEditor.

Change-Id: Ie18db9817ec9eec53d805443605ca55423c64c93
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-10-13 09:31:43 +02:00
hjk
c17b540fd4 Re-introduce option to toggle FancyMainWindow auto-hiding
This reverts commit 1541fbd2ba
in parts. The title bars can now always be shown (the same
state as the old "Unlocked" state) or not always be shown
(the previously "new" behavior).

The default is now "Always shown". Hopefully that makes hiding
the titlebars a conscious (usually one-time) activity
that's not forgotten.

Change-Id: Id31fb193b2eb6376000c845d4a61194e2ed33129
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com>
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2014-10-09 17:17:40 +02:00
Eike Ziller
8295b503be License update
Change-Id: I3c22ef2685d7aa589f5d0ab74d693653a4c32082
Reviewed-by: Alessandro Portale <alessandro.portale@digia.com>
2014-10-09 11:41:44 +02:00
hjk
f566d7eae0 TextEditor: Make mark requests operate on widgets, not editor
Removes some widget->editor->signal->slot->widget indirection.

Change-Id: I7951d62ad3b7477e4693798d85c53c932b86c95e
Reviewed-by: David Schulz <david.schulz@digia.com>
2014-10-02 10:42:43 +02:00
hjk
953cdb971f TextEditor: More BaseText* -> Text* renamings
*Document* and *Layout* classes, all basetext* files

Change-Id: I1c6e376733a434fcb5c7f19c6210dfa031eeafde
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2014-09-26 10:12:51 +02:00
hjk
1ba91e3040 ProjectExplorer: Apply static pattern to ProjectExplorerPlugin
Adjust caller sites and surroundings.

Change-Id: I6c3c80e42f35eabedc1f89c8c42cca1025aca12f
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
2014-09-26 08:50:00 +02:00
hjk
0fcca946ad Rename {Core,TextEditor},{Base,}TextDocument classes
First step of some more 'Base' removal in TextEditor.
s/Core::TextDocument/Core::BaseTextDocument/
s/TextEditor::BaseTextDocument/TextEditor::TextDocument/

Change-Id: I71ba325a2f0ad72ec9dae0d96846cbae72d326f7
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-09-25 18:00:51 +02:00
hjk
970264a88e Debugger: Operate tooltips on TextEditorWidgets, not TextEditor
Less indirection.

Change-Id: Ifbd7195e853d02bfd6562c817fc7f30079913faf
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-09-19 16:00:24 +02:00
hjk
b26a17f30d CppTools: Change CppModelManager implementation pattern
Replace the CppModelManagerInterface/derived CppModelManager
combo by a more common CppModelManager/CppModelManagerPrivate
pimpl pattern.

Change-Id: Ia4582845ed94d5ef60b8571bab9b2260c6290287
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2014-09-19 13:17:55 +02:00
Erik Verbruggen
c3c43d087e Debugger: remove dead stores.
The dead stores are not harmfull, but add noise when checking for dead
stores that are due to logic errors.

Change-Id: I8bf61c51207f0339911bc07fcfbc06f8066521e5
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-09-11 13:00:56 +02:00
Christian Kandeler
847f10e9cc Remove Qt version checks.
Qt 5.3 is the minimum requirement these days. Remove all fallback code
from sources and project files.

Change-Id: If6188a471197acadda4d6baee71804ba1a8026c6
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2014-09-08 10:33:25 +02:00
hjk
50e951dcb4 ProjectExplorer: Streamline the canRun(Project) functions
There's no real need to go through the chain of decisions
a second time to retrieve a message.

Change-Id: Id32ee486a7555f8eaf38668f23ec8fb2e179db89
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
2014-09-04 15:57:44 +02:00
Eike Ziller
49db3a450a Merge remote-tracking branch 'origin/3.2'
Conflicts:
	qtcreator.pri
	qtcreator.qbs
	src/plugins/coreplugin/editormanager/editormanager.cpp
	src/plugins/cppeditor/cppeditor.cpp
	src/plugins/remotelinux/remotelinuxdebugsupport.cpp
	src/plugins/texteditor/basetexteditor.cpp

Change-Id: I0da7c1cf2506b12d0563795aa8177fc45e97050f
2014-09-03 16:08:02 +02:00
Eike Ziller
7224ccb2e7 Editors: Automatically add editor/document id to context and use that
instead of manually adding a context everywhere.

Change-Id: I4336015a6d19349171a255e949da89b0013d6700
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-09-02 16:48:13 +02:00
Orgad Shaneh
9530f0f7a0 Debugger: Remove default shortcut for Restart Debugging
It conflicts with Rename Symbol

Change-Id: I168fe7975712ce4ff8c04099d8b2aff8e82d1325
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-08-28 11:15:42 +02:00
hjk
2a5c602341 TextEditor: Introduce some convenience text accessors in the editor
And adjust users.

Change-Id: I9329257cfa5f3298731deb07c2881bc37d9a051d
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-08-27 15:00:36 +02:00
Eike Ziller
aa6495a261 ExtensionSystem: Remove Qt4 support
Remove usage of the Q_EXPORT_PLUGIN macros, which do not exist in Qt 5.

Change-Id: I678c3cf10b9c5d5c1b9f252b0ecd1c97dc810a47
Reviewed-by: hjk <hjk121@nokiamail.com>
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-08-27 08:44:34 +02:00
hjk
6431ab2c79 Use Qt 5's QStringList::join(QChar)
Less typing and less cycles than join(QString) where appropriate

Change-Id: I6ebc0e17e4d7fd9845864dd95b7de4ba4dad6906
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2014-08-25 08:21:14 +02:00
Robert Loehning
bb8d0d2181 Do not shout at users
Change-Id: I744a3d45b67a4596ac8cc5371d9e3cb303946ae1
Reviewed-by: hjk <hjk121@nokiamail.com>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com>
2014-08-22 13:51:09 +02:00
Daniel Teske
0d5763425a TreeViewFind -> ItemViewFind
The code changes to enable this is minimal.

Change-Id: Ia5571adcc724e89eb5c68a5f91e38b9cf274516d
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2014-08-11 14:49:52 +02:00
hjk
5ac407eecc Debugger: Reduce line noise
Move some function out of the DebuggerCore "namespace", to avoid one
indirection and removes clutter in the calling code.

Change-Id: I1c870d5c7eeade32fa63dedf581490fbb090cd6a
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-07-28 15:48:15 +02:00
hjk
adfb30743d TextEditor: Merge BaseTextEditorDocument into BaseTextDocument
That was the only user of that layer of abstraction.

Change-Id: I2bdc4abb8b2b33bfb70398dd11f7ecc4745ddc43
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2014-07-28 12:33:47 +02:00
hjk
71c6d4d771 ProjectExplorer: Using function objects for kit matching
Change-Id: I377298385df345a6d30217bb018964a64897d42e
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2014-07-25 14:28:45 +02:00
hjk
bf5e43be94 TextEditor: Merge ITextEditor and BaseTextEditor
Adjust all callers, de-export BaseTextEditorAnimator

Change-Id: I2329d976c1398e2449844bb480a4d4ed29859506
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2014-07-25 13:45:55 +02:00
Eike Ziller
4b82817391 EditorManager: Do not be a widget.
There is no reason for the editor manager itself to be a widget. This
makes even less sense in the presence of multiple windows.

Change-Id: I384f8945fdd5632d64643e473e6637e05abbce7e
Reviewed-by: hjk <hjk121@nokiamail.com>
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
2014-07-22 13:45:10 +02:00
hjk
29e312f33e Debugger: Save width of manually resized tree view columns
Task-number: QTCREATORBUG-12670
Change-Id: I5c31ffd6d3bb3060e851df56e9d9a80101df9347
Reviewed-by: Alessandro Portale <alessandro.portale@digia.com>
2014-07-18 09:23:58 +02:00
Kai Koehne
ac771eb552 Hide broken "Apply on Save" feature
The feature has always been somewhat experimental, but got even more
broken over time. Let's hide it for the time being.

Change-Id: If46861831d7fb7ed8e9b77b79d1ebe583243ab48
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com>
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-07-17 17:52:33 +02:00
hjk
7347ecc54b Debugger: Hide some dock widget access
Change-Id: I6cd12a0a7a04f4d37165828552c08263537cfdbb
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-07-16 16:42:21 +02:00
hjk
1541fbd2ba FancyMainWindow: Use auto-hiding dock title bars
Instead of the manual hard-to-discover "Locked" action

Change-Id: I08e3b65d3e620adfa1439a8de6e028ecfbdec16d
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2014-07-15 16:38:05 +02:00
hjk
f0b2d6535e Debugger: Rework editor tooltips handling
Fix expansion and updating.

Persistence and non-locals are still lacking.

Change-Id: I74e25199d50350516afc686a05836e239bfc8acb
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-07-11 12:19:01 +02:00