Commit Graph

19430 Commits

Author SHA1 Message Date
Friedemann Kleint
63da7db055 QLineEdit: Emit textEdited() when the clear button is clicked.
[ChangeLog][QtWidgets][QLineEdit] The signal textEdited() is now
emitted when the user clicks the clear button created by
setClearButtonEnabled() as well.

Task-number: QTBUG-40287
Change-Id: Iacd303ffd1533f27cfa68a6120cdd370e3d31ddc
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2014-07-24 22:12:29 +02:00
Frederik Gladhorn
a1d2bf257e Merge "Merge remote-tracking branch 'origin/5.3' into dev" into refs/staging/dev 2014-07-24 22:37:52 +02:00
Sean Harmer
223f5c0273 Add missing 8_8_8_8 pixel types to QOpenGLTexture
Task-number: QTBUG-36843
Change-Id: Ief4ab9b00b075abe2e04c6d29c8d1279406b5033
Reviewed-by: Liang Qi <liang.qi@digia.com>
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
2014-07-24 21:00:20 +02:00
Friedemann Kleint
f70031c17b Add checks for widget/window leaks to kernel tests.
Change-Id: I52af87279e37e49ce2206c5c823fe8fb4caef338
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
2014-07-24 19:39:40 +02:00
Olivier Goffart
8d15068911 QSettings: use QSaveFile and QLockFile to write the settings
The old unix locking code is no longer working on unix since it locks on
a file descriptor, but QSaveFile creates a new file, and as a result we
get the lock on the wrong file. Also there is no need to keep the lock
held only for reading as QSaveFile is atomic. It just needs to be held
when doing a read before writing.

As a result, since we don't hold the same lock, there could be a race
with an application running an older version of Qt if they are writing
on the same configuration file.

[ChangeLog][QtCore][QSettings] Fixed data loss while writing the config
to the disk fails.

[ChangeLog][Important behavior changes] The locking mechanism inside
QSettings has changed and is no longer compatible with the one of
previous versions of Qt. There might be corruption if two applications
running different versions of Qt are writing to the same config file
at the same time. You must also now have write permissions in the
directory containing the settings file in order to write settings

Task-number: QTBUG-21739
Change-Id: I0844a5e96c8bc1e1222a3dac6cc48170ca77fe1b
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2014-07-24 18:50:40 +02:00
Joerg Bornemann
d97624845a get rid of pointless MSVC security warnings
Change-Id: I546a30bddec8e3c5c9a42745f8458573b6db1bdf
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2014-07-24 17:37:15 +02:00
Joerg Bornemann
9d12e95697 remove qsystemlibrary.obj from clean target
This file is already listed in QTOBJS.

Change-Id: I5c77620dc5e441435bd31a87a08178e0c82e9c05
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2014-07-24 17:37:09 +02:00
Joerg Bornemann
55f88e6e31 fix qmake warning about unknown /Zc:strictStrings option
Make /Zc:strictStrings known to qmake's MSVC compiler option parser.

Change-Id: I5a4494096fc1d67c96c6de52bb0f1e94eff46136
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2014-07-24 17:36:57 +02:00
Alex Trotsenko
df4f334ad0 Rewrite QRingBuffer
QRingBuffer is a fully inlined class used in many I/O classes.
So, it must be as fast and small as possible. To this end, a lot of
unnecessary special cases were replaced by generic structures.

Change-Id: Ic189ced3b200924da158ce511d69d324337d01b6
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2014-07-24 17:31:20 +02:00
J-P Nurmi
40705cb4c1 Android: fix Switch & CalendarView text appearances
This reverts the extractTextAppearanceInformations() changes done in
f7ac2b4 and introduces another method extractTextAppearance() for
extracting a specific TextAppearance.

The problem was that extractTextAppearanceInformations() was overriding
the TextAppearance attributes with TextView attributes. This resulted
in wrong text colors for Switch & CalendarView:

- Switch_switchTextAppearance
- CalendarView_dateTextAppearance
- CalendarView_weekDayTextAppearance

Change-Id: Ib300b6eb14649319b2f07012803a4d031a717b50
Reviewed-by: BogDan Vatra <bogdan@kde.org>
2014-07-24 16:26:45 +02:00
David Faure
da088c5ace QFileDialog: emit urlsSelected+urlSelected in accept().
Not just filesSelected+fileSelected (which only happens for local files).

Change-Id: Ife592c3c921231356f96cbc2871b6d724a15d2c8
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2014-07-24 13:02:48 +02:00
Friedemann Kleint
616469bb76 QMainWindow:::restoreDockWidget(): Restore to correct screen.
Use the placeholder top level geometry to determine the
screen.

Task-number: QTBUG-40155
Change-Id: If56b239200e9daf754b0963574367cf7891c5f40
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
2014-07-24 09:05:21 +02:00
Robin Burchell
25978c7f9e Show timing of all executed SQL queries
This also coincidentally fixes logging of prepared queries, which previously
weren't logged.

Change-Id: I41b3559080662284699ac3dfa4fa4236342c61d2
Done-by: John Brooks <john.brooks@jollamobile.com>
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
2014-07-24 03:31:14 +02:00
Thiago Macieira
4fcd5a3da9 Make QTextStream respect QLocale with OmitGroupSeparators
The default in QTextStream is to use the C locale, so default
QTextStream are not affected. When you set a QLocale on it, the default
was to use group separators (which is the QLocale default too). This
commit makes QTextStream respect a QLocale in which the
OmitGroupSeparators option had been set.

Task-number: QTBUG-39956
Change-Id: I00fbe12fca7f0287c7217deb487ded6582a03b52
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
2014-07-24 01:57:32 +02:00
Marc Mutz
46a0a87b2a QInputDialog: simplify signalForMember()
Instead of playing clever tricks with the index variable, simply
scan through the list of argument-carrying signals and, if nothing
fits there, fall explicitly back to accepted().

Change-Id: I1be49ce601edb854cc1bab5be994b2c09fe31b3c
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2014-07-23 20:32:10 +02:00
David Faure
c2cc74f862 tst_qfiledialog: use QStandardPaths test mode
Otherwise, when interrupting the test half-way (e.g. in gdb),
the user's ~/.config/QtProject.conf would be modified.

Change-Id: Id582c4a3fbf0acbed460126fccf0d39b3a09758a
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2014-07-23 20:05:32 +02:00
David Faure
c99dfd8f63 QSettings: use QStandardPaths to get XDG_CONFIG_HOME.
This allows to use the "test mode" of QStandardPaths in unittests,
to stay away from the user's real settings.

Change-Id: I1cb1f63a4bff35dfe236924c4dcd7cf761ee50c1
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2014-07-23 20:05:07 +02:00
Thiago Macieira
8933d7c1f9 Document that qHash(T) must be in T's namespace, due to ADL
Due to C++'s rule of Argument-Dependent Lookup, a call to an unqualified
qHash(t) will look up qHash in T's namespace. So edit the docs saying
that it must be "global qHash" to say that it should be in the type's
namespace.

Task-number: QTBUG-34912
Change-Id: I7a72800008ccb710b4bb814e42db7a95f385f53e
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
2014-07-23 17:51:12 +02:00
Thiago Macieira
f07c27eec1 Don't store QLibraryPrivate with empty file names in the global store
They shouldn't exist in the first place. They exist in two cases only:
1) mistake by the user in the QLibrary or QPluginLoader constructors or
setFileName

2) as a kludge for setLoadHints before a file name is set (we need to
store the user's requested hints somewhere)

This is important for the second case, as otherwise all QLibrary and
QPluginLoader objects without a file name would share the setting.

Task-number: QTBUG-39642
Change-Id: Iebff0252fd4d95a1d54caf338d4e2fff4de3b189
Reviewed-by: David Faure <david.faure@kdab.com>
2014-07-23 17:50:31 +02:00
Thiago Macieira
cfaf851e26 Fix a few more race conditions with QLibrary::LoadHints
This commit makes replaces the loadHints member with a setter, a getter
and an atomic variable. The setter will not set anything if the library
has already been loaded.

Task-number: QTBUG-39642
Change-Id: Ibb7692f16d80211b52aaf4dc88db1a989738a24d
Reviewed-by: David Faure <david.faure@kdab.com>
2014-07-23 17:50:23 +02:00
Frederik Gladhorn
800d0076e0 Slight doc improvements
Change-Id: I0c5f7cb7c0673357f13fe4eb1a9f9aba36f6d71e
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
2014-07-23 16:52:08 +02:00
Frederik Gladhorn
27dcba8760 Add accessible roles for web document, paragraph and section
These roles seem wide-spread enough that it makes sense to add them.
QtWebEngine will use them.

Change-Id: I9c2d6ab23ada0607078bcd407a72ecae9f87eeea
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
2014-07-23 16:52:00 +02:00
Frederik Gladhorn
5ef0ad07c1 Fix accessibility test code to copy events also based on interfaces
The previous code assumed that all events would have an object sent
along with them. QtWebEngine breaks this assumption and the rest of the
code is ready for the change, but using QTestAccesssible was not
possible due to this.

Change-Id: Idee21caf3076fbffd02d5e728f0c9cabf8712408
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
2014-07-23 16:51:13 +02:00
Frederik Gladhorn
69bec7866b Accessibility Linux: send children changed notifications
The badly named ObjectReorder actually stands for any of this object's
children may have changed. This event is used in webengine and should
trigger the ATs to drop their caches (eg when loading a new website).

Change-Id: I44080f8d43c1161285d9ace4891fe18531f16e09
Reviewed-by: Andras Becsi <andras.becsi@digia.com>
2014-07-23 16:51:04 +02:00
Allan Sandfeld Jensen
01c82b945d Introduce qmake feature use_gold_linker
This patch adds the feature use_gold_linker to use the gold linker that
has been part of of GNU binutils since 2008. Gold links C++ libraries
much faster and use less memory.

The feature is autodetected when building Qt on Linux, but can be disabled
in configure. On MingW builds it is default off but can be enabled for
cross builds.

Change-Id: Icdd6ba2e706b2c791bcf44b6e718c2b7a5eb2218
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2014-07-23 16:50:08 +02:00
Kai Koehne
ea34893b8f Support setting a default severity level for QLoggingCategory
Allow to alter the default configuration for categories by passing a
message type: All message types with lower severity are disabled in this
category.

This is useful for libraries, which shouldn't mess with the category
registry itself: Setting rules, a category filter ... might cause
conflicts and ordering problems, so this API should be reserved to the
specific application.

For the Qt categories, we have code in the default category filter that
disables the 'debug' category. However, this is hardcoded, and there's no
way so far for other libraries to get the same behavior. With this patch
one can get the same behavior:

Q_LOGGING_CATEGORY(DRIVER_USB_EVENTS, "driver.usb.events", QtWarningMsg);

[ChangeLog][QtCore][Logging] Added QtMsgType argument to QLoggingCategory
constructor and Q_LOGGING_CATEGORY macro that controls the default
category configuration.

Change-Id: Ib2902f755f9f7285d79888ec30e8f3cef95ae628
Reviewed-by: Alex Blasche <alexander.blasche@digia.com>
2014-07-23 15:38:10 +02:00
Marc Mutz
c4a2d6ca1e QInputDialog: use a switch instead of a string pointer table
Effects on Linux AMD64 GCC 4.9-trunk -O2 stripped release:
  text:   -72B
  data:   -64B
  relocs:  -4

Change-Id: Ie312e12ba42f58fa5dd61da1e64b9c22bf4738b2
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
2014-07-23 14:15:22 +02:00
Tor Arne Vestbø
b52b5fa082 iOS: Gracefully fail main()-renaming when link-time optimizations are enabled
We don't have a way to rename main() inside a LLVM bit-code file yet, so we
error out if we detect that LTO is enabled (which causes object files to be
written as LLVM bit-code), and inform the user about a workaround.

Task-number: QTBUG-40184
Change-Id: I89c927a3a7f075c65e54442c4f7e6bb25175b6f7
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2014-07-23 13:46:44 +02:00
Tor Arne Vestbø
07c0fdfe7a Xcode: Fix QMAKE_PRE_LINK dependency handling
Depending on *.o in the Xcode output dir did not actually result in a
proper dependency. In Xcode5 this didn't matter much, as the effect was
that the build phase was run every time, but in Xcode6 the phase was
skipped. We now depend on the object directory itself, which will get
its modification time updated to match any rebuilt object files.

Change-Id: I8fa6f06c9008c4ce8f7fde7706057ce101bb5727
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2014-07-23 13:37:22 +02:00
Kai Koehne
e668837b9c QDebugStateSaver: Fix trailing space issues
~QDebug() removes any trailing space if autoInsertSpaces() is true.
However, if one uses QDebugStateSaver the global autoInsertSpaces might
be false, but a space was added by a custom operator<<.

Explicitly check for this in QDebugStateSaverPrivate::restoreState. Remove
any trailing space if the local state asks for adding trailing spaces, but
the original one doesn't. Add a trailing space if the local state doesn't
ask for one, but the global state does.

Change-Id: I243b5c76d5ed2c1ec4820da35ab6e254da1551d9
Reviewed-by: David Faure <david.faure@kdab.com>
2014-07-23 13:33:25 +02:00
Tor Arne Vestbø
66c47292bd iOS: Let QScreen manage UIWindow and root view-controller
Instead of having the application delegate set up a UIWindow and root
view-controller, we move the responsibility to QScreen, since in a multi
screen scenario we will need one UIWindow per screen, as well as one
root viewcontroller per window.

Change-Id: If5b0d44b8f8a697d830b33b4fe420bff56a7629b
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
2014-07-23 13:23:23 +02:00
Friedemann Kleint
3770f4b148 QLockFile/Windows: Determine host name from environment variable COMPUTERNAME.
Useful when using shared directories.

Task-number: QTBUG-39967
Change-Id: I2c082e33133b00306378b6ff58478e94119e6a0e
Reviewed-by: David Faure <david.faure@kdab.com>
2014-07-23 13:19:24 +02:00
Kai Koehne
7aae6219d5 Keep global state of debug stream (QImage, QPixmap, and QIcon)
Make sure that the stream's formatting settings are preserved.

Change-Id: Ib13b5e0b36b2ef801da2d2d5c240d28dc1b04653
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
2014-07-23 13:13:04 +02:00
Jerome Pasion
b5b4eb742c QDoc: Fixed section title offset in QML basic type pages.
-QML basic type page layout is now separate from the other
 doc page layouts, but the section offset was incorrect.
-the offset is the same as the QML type pages.

Change-Id: I422e97eebe58a87c11607f2c8c5aedb10abbda7e
Task-number: QTBUG-40335
Reviewed-by: Martin Smith <martin.smith@digia.com>
2014-07-23 12:09:51 +02:00
Jerome Pasion
bd9d1f83f9 QDoc: Restored QML basic type pages' table of contents.
-QDoc in 5.4 processed QML basic types as separate pages
 but the ToC wasn't added.

Change-Id: I5a887158bacef923e765accac7ee5ca7c2c7a12b
Task-number: QTBUG-40335
Reviewed-by: Martin Smith <martin.smith@digia.com>
2014-07-23 12:09:46 +02:00
Thiago Macieira
1bd27f24fb Add link-time optimization support for Clang, GCC and ICC
GCC currently requires fat object files for static libraries, since the
linker would otherwise not load the .o file from the archive at all and
the linking would fail with a lot of undefined references. Clang on
Linux also needs this, but it has no equivalent flag, so enabling LTCG
for Clang on static libraries will result in linker error.

This commit does not add support for enabling it in configure. It can be
enabled on a per-project basis by doing CONFIG += ltcg or by passing
-config ltcg to qmake's command-line.

Change-Id: I52cf99f1ed9f1701e23a3b457ba3502fd28126ce
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2014-07-23 11:12:02 +02:00
Kai Koehne
849d1fece1 Be more specific in "Loading logging rules" debug output
Change-Id: I8a6f1797cbcfabc6df76ce17115a678f729ac711
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-07-23 11:10:40 +02:00
Kai Koehne
9782938045 Introduce Q_DECL_UNUSED_MEMBER for clang
Since version 3.2, clang warns about unused member variables
(-Wunused-private-field). Marking such members with
Q_DECL_UNUSED_MEMBER will silence this warning.

This is a cleaner way than using Q_UNUSED() somewhere in the class
methods (like we did previously in qloggingcategory.cpp). It
mirrors Q_DECL_UNUSED for unused variables, which however can't be
used unconditionally for member variables because e.g. gcc will
complain.

Change-Id: I2afff683a7c3bae3bdcd684e5085a643887bb2a0
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-07-23 07:45:22 +02:00
Kai Koehne
e46d72751b rcc: String literal conversion cleanup
Replace QString::fromUtf8 with QString::fromLatin1 for ascii strings.
Also optimize use of QT_VERSION_STR.

Change-Id: I13c683499c56cb4ac4d2bbd9b6b53c337917e347
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-07-23 07:44:15 +02:00
Alex Trotsenko
edfac1a9ed Make QRingBuffer::append() not leave empty arrays in buffer list
Change-Id: I4c5af33488a70996299289ec2b953b7bf3b2c428
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2014-07-23 07:31:09 +02:00
Simon Sasburg
3905c6f00d Add QFileDevice::MemoryMapFlags::MapPrivateOption flag.
Passing this flag to QFileDevice::map() will allow writes to the mapped memory
without modifying the file that was mapped. These writes will be lost when the
memory is unmapped.

Change-Id: I7d46b044fc370585de8c06fdb4059f1f1be12d7d
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2014-07-23 07:20:40 +02:00
Frederik Gladhorn
abd3b8030c Merge remote-tracking branch 'origin/5.3' into dev
Conflicts:
	src/widgets/kernel/qwidget_qpa.cpp
	src/widgets/widgets.pro

Change-Id: I697eec936c4e1a6c360edc8f0b472e23c0461ecb
2014-07-22 20:21:19 +02:00
Friedemann Kleint
f713bd3e19 Fix warnings about integer conversion in qloggingregistry.cpp.
io\qloggingregistry.cpp(134) : warning C4267: 'argument' : conversion from 'size_t' to 'int', possible loss of data
io\qloggingregistry.cpp(138) : warning C4267: 'argument' : conversion from 'size_t' to 'int', possible loss of data
io\qloggingregistry.cpp(142) : warning C4267: 'argument' : conversion from 'size_t' to 'int', possible loss of data

Change-Id: Ic9787aa8acb5cb4440c62bbb143f7c2b7fdad385
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
2014-07-22 14:46:00 +02:00
Kai Koehne
4fb0ca4209 QDebug: Add a doc section about formatting options
Change-Id: I43cb965f9f45e8a50c767c7e9035811c90e6aab3
Reviewed-by: Alex Blasche <alexander.blasche@digia.com>
2014-07-22 14:45:27 +02:00
David Faure
6f3bb0aafa tst_qurl: add tests for mailto parsing and toString. No bug.
This was prompted by https://git.reviewboard.kde.org/r/119221

Change-Id: Ia148f07f6d711df533693918bbedfa5e7dc02cd5
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2014-07-22 11:01:52 +02:00
Eskil Abrahamsen Blomfeldt
5cb581b3b4 Windows: Default to MS Shell Dlg 2
In Qt 4, the default font for unrecognized font families would
be MS Shell Dlg 2, which is an alias for the default UI font on
the system. However, QFont::defaultFamily() had not been updated
to match this and would return MS Sans Serif instead, which was
the default UI font on Windows 9x. This is a raster font and not
really suitable for modern UIs.

In Qt 5, the problem with defaultFamily() was fixed, but Arial would
be returned as the default instead.

Enter change afd6313755 which tried
to revert the change to defaultFamily() and return MS Sans Serif
again. However, since it changed the actual default family and not
just the one returned by the function, this broke several tests
which depended on having a scalable default font.

This change sets the default family to MS Shell Dlg 2 like in Qt 4.
The fact that defaultFamily() now reports the actual default is
regarded as a bug fix, so we will not change this. Fixes some
XFAILs in qtdeclarative.

[ChangeLog][Windows] Set default fallback font to MS Shell Dlg 2
instead of Arial.

Task-number: QTBUG-39961
Change-Id: Ib08dfc7f2c00475d54d565bb933d1d2f8a3a3d90
Reviewed-by: Andy Shaw <andy.shaw@digia.com>
2014-07-22 09:09:36 +02:00
Friedemann Kleint
43e8c1896d Improve debug output of QImage, QPixmap and QIcon.
Task-number: QTBUG-38858
Change-Id: Ie45d595478f971c7ed973d911c65484d947d2a60
Reviewed-by: Alessandro Portale <alessandro.portale@digia.com>
2014-07-21 22:29:03 +02:00
Kai Koehne
c76a91ebdc Improve debugging output for QLoggingCategory
Make sure that the source the rules are loaded from is printed before
any syntax errors.

Change-Id: Id7ced1a346dd0d8501eab93ac00e1f432ca6b703
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-07-21 22:26:16 +02:00
Kai Koehne
1f9de90b4e Add example qtlogging.conf file to QLoggingCategory documentation
Change-Id: I0ceeb8afa711cc7bc1378287b0d550871e5bfd9d
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-07-21 22:26:08 +02:00
BogDan Vatra
b379161565 Android: Add uninstall option.
Uninstall option will uninstall the test afer has been executed.
It is useful when you are using your own phone to execute the tests.

Change-Id: I2a3f6c3a93099d70c98f9ce059da22c409b55843
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
2014-07-21 20:38:00 +02:00