summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Better QWindowContainer by not relying on native widgets.Gunnar Sletta2013-10-224-23/+172
| | | | | | | | | | | | | We change the behavior slightly from the initial implementation in 5.1. Forcing the use of native child widgets is causing massive performance issues so instead, we attach the embedded QWindow directly to the root window. The only exception is QScrollArea and QMdiArea which still enforces native windows for the entire parent chain to make clipping and stacking work. Task-number: QTBUG-34138 Change-Id: If713637bd4dce630552ace2f8ad6b2e86c063721 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Doc: Add missing \since 5.2 to QSizePolicy::retainSizeWhenHiddenMarcel Krems2013-10-221-0/+2
| | | | | Change-Id: I461e8187810e564e06869df86b23cc40aeba72bd Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
* Fix Q_ASSERT(!channels[0].isSocketBusy());v5.2.0-beta1Allan Sandfeld Jensen2013-10-213-12/+15
| | | | | | | | | | | | | | Since commit f30641a7 is has been possible to issue more than one host lookup request per HttpNetworkConnection. If the result was both an IPv4 and IPv6 address, and we get a second similar DNS reply, we end up triggering the assert in startNetworkLayerStateLookup(). This patch splits the InProgress state to HostLookupPending and the state of trying both IPv4 and IPv6. This makes it possible to ignore any new DNS replies received after the first succesfull one. Change-Id: I0b8d6b1582fdaed69dde5926019b60bb0cbd580d Reviewed-by: Peter Hartmann <phartmann@blackberry.com>
* Doc: Update, and reduce duplication of, QThread-related infoSze Howe Koh2013-10-212-39/+15
| | | | | | | | | | | | | | | | | | | | | | Added/Changed: - Move content from the Thread Basics overview to the QThread class ref - Rephrase bits for clarity - Use more links Removed: - (threads-basics.qdoc) Warning against moveToThread(this): This usage came about when people tried to add slots to a QThread subclass. This patch adds a warning against the root cause. - (threads-basics.qdoc) Note on sleep() et al.: They were made public in Qt 5.0. - (threads-basics.qdoc) The strategy for managing member variables: Sounds error-prone. Pushing results through signals is safer. - (qthread.cpp) The note about GUI classes: Irrelevant to QThread, and it's already mentioned elsewhere. Change-Id: I6bc53cc22b929523f9976d2b920f94c02bd7273e Reviewed-by: Geir Vattekar <geir.vattekar@digia.com> Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* Use QByteArrayLiteral throughout in QOpenGLVertexArrayObjectSean Harmer2013-10-201-8/+8
| | | | | Change-Id: Ia362ead0ffdc077bd0db5d980c80464838c934ea Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
* Android: Accessibilty: Handle text betterFrederik Gladhorn2013-10-201-3/+15
| | | | | | | | Try harder to actually return text, before TalkBack would not read the contents of line edits and other text widgets. Change-Id: Ibb9bb8ac4a2728674f6f5ccf29eda5ed66a81a34 Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
* Initialize variable to fix build [-Werror=uninitialized].Sergio Martins2013-10-191-2/+1
| | | | | | | | The complaining compiler is: gcc version 4.6.3 (crosstool-NG hg+default-ddc327ebaef2) Change-Id: Iae488a89d75492e76a39a326b2db36548f8894d0 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Change an addition into a subtractionThiago Macieira2013-10-191-1/+1
| | | | | | | | | | | | | | | | This potentially resolves the long-standing warning from GCC: assuming signed overflow does not occur when assuming that (X + c) < X is always false GCC prints the warning to warn people that you can't check for overflow with signed integers by doing that (signed integers don't overflow in the standard). If we change this to X < X - c, there's no overflow. Task-number: QTBUG-33314 Change-Id: I5b166610a39559ec7b03c4c31ee5999efefa0c06 Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* Make it possible to clear glyph caches from the font engine.Gunnar Sletta2013-10-182-0/+11
| | | | | Change-Id: Iea62bc1727269ed3893d8b4dbcefa583f1b85d7f Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
* don't bother defining QT_NO_DIRECTWRITE hereOswald Buddenhagen2013-10-181-4/+0
| | | | | | | | the relevant code moved to the windows platform plugin. Change-Id: I06f2efd1190ee7d1da1f48172ae879e5c06a945f Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* When creating QVariant(QPolygonF()) this should be a null variantAndy Shaw2013-10-181-1/+2
| | | | | | | | | | | | | The handling of the null QPolygonF case was not correct as it would always be seen as valid. This ensures it is treated in the same way as QPolygon when it is in fact null. [ChangeLog][QtGui][QPolygonF] When a QVariant holds a QPolygonF() then it will be correctly seen as a null QVariant. Change-Id: Icae34f513c3a8e1dd3f50cb64a3d13ae7c636cc4 Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com> Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
* Link from QLoggingCategory documentation to QTracer/QTraceGuardKai Koehne2013-10-181-5/+6
| | | | | | Change-Id: I331966f6137a31f089425a639afe8f9f4088c0b6 Reviewed-by: Jerome Pasion <jerome.pasion@digia.com> Reviewed-by: hjk <hjk121@nokiamail.com>
* Explicitly mark subdirs as host_builds in SUBDIRS templateTor Arne Vestbø2013-10-181-0/+8
| | | | | | | | | | | Allows post-processing code to exclude recursing into host_build subdirs. The alternative would be to have the SUBDIRS logic pre-parse the subdir project to check if it's a host_build, but that might have a performance impact, so it's better to leave the information explicit in the subdir project file. Change-Id: I1a6f7d94c49faf5f5106c83ef21f6b85b531c90b Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
* Set currently selected printer to QCUPSSupport in PageSetupWidgetMartin Klapetek2013-10-183-0/+13
| | | | | | | | Also adds new method to allows setting a printer in QCUPSSupport by printer name. Change-Id: Iff7a88d95eab9de2c96872c45b12e708207bda16 Reviewed-by: John Layt <jlayt@kde.org>
* If CUPS has no default printer, set up the first one in listMartin Klapetek2013-10-181-1/+3
| | | | | | | | Otherwise QCUPSSupport is instantiated without any printer being set up, which leads to bugs and/or crashes in other parts using QCUPSSupport. Change-Id: I1f4ddde5a28d6448d78aed856104ce8448e213c7 Reviewed-by: John Layt <jlayt@kde.org>
* Fix crash in qdoc startupKai Koehne2013-10-181-25/+23
| | | | | | | | | | | | | | the order of initialization of static variables is undefined, and we therefore cannot (safely) initialize the array with static QStrings declared elsewhere. This was leading to crashes in MinGW gcc 4.8.0. Work around the issue by initializing the array at runtime initialization instead. Task-number: QTBUG-34172 Change-Id: I24f0e6af6685fc280d12c8ef90d40b8ebe994450 Reviewed-by: Martin Smith <martin.smith@digia.com> Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
* Clear qt_tablet_target in ~QWidgetWindow.Friedemann Kleint2013-10-182-0/+7
| | | | | | | Task-number: QTBUG-34007 Change-Id: If67563e5d9c4040256b58521773736e14db6fbaf Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
* Fix widgets link error on iOS (missing mac gesture recognizers).Friedemann Kleint2013-10-181-2/+2
| | | | | Change-Id: Iebea6b6e26e9aca9a64aecc9b125c48fe1cc7e43 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
* Cocoa: Allow popups to grab mouse and keyboardGabriel de Dietrich2013-10-182-1/+9
| | | | | | | | | According to the QWindow documentation this should happen regardless of the window type. (It also mimics the current behavior on Linux and Windows). Change-Id: I1b0959ad8cf19bce452fd79a13b07d0a3a3c49e9 Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* QDateTime - Fix RFC 2822 Date FormattingJohn Layt2013-10-171-25/+3
| | | | | | | | | The RFC 2822 date format should always use en_US locale for month and day names instead of whatever the system locale is. Also remove some duplicate code. Change-Id: Ia2f7ee405b4e0e2f04980301783b9488628da73f Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Rename private viewOptions to viewOptionsV1Samuel Gaist2013-10-176-22/+22
| | | | | | | | | | Renaming of the private implementation of viewOptions to viewOptionsV1 so that future updates of QStyleOptionViewItem can be easily integrated in the code with a simple search/replace. Task-number: QTBUG-1180 Change-Id: I18f876a435417717fa0d759bb302a7c6059daf80 Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* evdevtouch: Make it work with am335xLaszlo Agocs2013-10-171-0/+15
| | | | | | | | | | | The driver for the resistive touchscreen of these boards tends to report ABS limits 0..4095 even tough it never sends coordinates outside a certain range (e.g. approximately 165..4016 for X). This breaks the mapping of hardware coordinates to screen space. Apply a workaround to make it work properly. Change-Id: I3eb5d76002acba1972061f3add44d797349c8ec8 Reviewed-by: Andy Nichols <andy.nichols@digia.com>
* Add missing \since 5.2 tag to static QFileInfo::exists()hjk2013-10-171-0/+2
| | | | | | Change-Id: I11e136eaede2a5dffeb10b5fe31023b9aef709cb Reviewed-by: Sze Howe Koh <szehowe.koh@gmail.com> Reviewed-by: Kai Koehne <kai.koehne@digia.com>
* Refresh CUPS printer list when QPrinterInfo.availablePrinters() is called.Friedemann Kleint2013-10-172-6/+19
| | | | | | | | | | Introduce freeCupsPrinters() thus fixing a bug in the old deallocation code which would first set m_cupsPrintersCount = 0 and then pass it to cupsFreeDests(). Task-number: QTBUG-33666 Change-Id: I94c51cb390761a669a9cbd589c1131cfb51354c3 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* Blackberry: Cannot create shared egl contexts.Nick Ratelle2013-10-171-1/+9
| | | | | | | | | | Currently the share context is always set to EGL_NO_CONTEXT when it should instead query the share handle from the QOpenGlContext and pass that to the eglCreateContext call. Change-Id: Ia7e32574e1427fba0f919003e5367cfc98688d9d Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Move the viewOptions code back to public implementationSamuel Gaist2013-10-175-42/+26
| | | | | | | | | | | | | The code generating the QStyleOptionViewItem has been moved back to the public implementation and the private QAbstractItemView::viewOptions calling it (like the Qt 4 implementation does). This makes the item views behave properly again e.g. QListView drag & drop in Icon mode gets the correct options to draw the moving items Task-number: QTBUG-1180 Change-Id: I068861e1485252f12d73f9acaf12933d0ec84e2c Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* Properly paint QListView dragged item in icon modeSamuel Gaist2013-10-172-28/+17
| | | | | | | | | | | | | | | Currently, when dragging a QListView item in icon mode, only the item is moved and once out of the view port, the visual feedback is lost. This patch updates the QDrag pixmap to have a persistent view of what is moved. Task-number: QTBUG-1180 [ChangeLog][QtWidgets][QTBUG-1180] Dragging an item outside the QListView in icon mode doesn't lose the icon. Change-Id: I14f864a8f947997f3bdad1a05fabd200de026d66 Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* Implement native gestures on OS X.Morten Johan Sørvig2013-10-1717-92/+733
| | | | | | | | | | | | | | | Add QWindowSystemInterface::GestureEvent and QNativeGestureEvent to QtGui. These events are copies of Qt4's QNativeGestureEvent, where it was an implementation detail of QGestureManager. Add gesture message handlers to QNSView and bring back the Mac gesture recognizers for QGestureManager. Task-number: QTBUG-28126 Change-Id: I1304e09e776fa7c44d133d54ca8b895ca2f544c5 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
* Windows: Capture last error right after CreateDirectory() in QFileSystemEngine.Friedemann Kleint2013-10-171-4/+10
| | | | | | | | | | | Custom allocators invoked by freeing the QString contents might change it. Task-number: QTBUG-34046 Task-number: QTBUG-32314 Change-Id: Ied5305c21fcce228448fe565899163997536ea7a Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* Clear QGuiApplicationPrivate::tabletPressTarget in ~QWindow.Friedemann Kleint2013-10-171-0/+2
| | | | | | | Task-number: QTBUG-34007 Change-Id: I81b8496746f425f58a21b18ffaf96dfdbbe2a815 Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
* iOS: Wrap user's main by renaming symbol and relying on weak linkingTor Arne Vestbø2013-10-171-3/+14
| | | | | | | | | | | | | | | This approach is similar to the earlier apprach of defining main=qt_main when building the user's sources, but uses the linker to rename the symbol instead, which is less fragile than using the preprocessor. To keep the hybrid usecase unaffected by our wrapper logic we declare both our main wrapper and a fallback qt_main as weak symbols, which ensures that when the user's application links in our plugin the real main/qt_main provided by the user is preferred over our weak symbols. Change-Id: Ic76f3ba8932430c4b13a1d3a40b8ed2322fe5eea Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Refresh Windows printer list when QPrinterInfo.availablePrinters() is called.Friedemann Kleint2013-10-172-19/+37
| | | | | | | | | Introduce static query functions. Task-number: QTBUG-33666 Change-Id: I291098c9da82bc2cc24957044187e93cdc33c41d Reviewed-by: Oliver Wolff <oliver.wolff@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* iOS: Mark argument as unused for release buildsTor Arne Vestbø2013-10-171-0/+1
| | | | | Change-Id: I73497a6c16236f912646c9fbe9b136ff760ce4f7 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
* Clarify that the URL scheme does not include the ':'Kurt Pattyn2013-10-171-4/+13
| | | | | | | | | | From the documentation of setScheme it was not clear if the scheme should be terminated by a ':' or not. Documentation has been updated to clarify the expected syntax for the scheme. Change-Id: Ied8533beef7daa12e1d5e7da0649c184efb84522 Reviewed-by: David Faure <david.faure@kdab.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Allow non-character codes in utf8 stringsKurt Pattyn2013-10-174-20/+4
| | | | | | | | | | | | | | | | | | | | | | | | Changed the processing of non-character code handling in the UTF8 codec. Non-character codes are now accepted in QStrings, QUrls and QJson strings. Unit tests were adapted accordingly. For more info about non-character codes, see: http://www.unicode.org/versions/corrigendum9.html [ChangeLog][QtCore][QUtf8] UTF-8 now accepts non-character unicode points; these are not replaced by the replacement character anymore [ChangeLog][QtCore][QUrl] QUrl now fully accepts non-character unicode points; they are encoded as percent characters; they can also be pretty decoded [ChangeLog][QtCore][QJson] The Writer and the Parser now fully accept non-character unicode points. Change-Id: I77cf4f0e6210741eac8082912a0b6118eced4f77 Task-number: QTBUG-33229 Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Add JSON parsing support to qmake.Morten Johan Sørvig2013-10-178-9/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add qjson* implementation files from corelib/json to the qmake build. Add a read-only compile mode, enabled by defining QT_JSON_READONLY. Add qmake built-in function parseJson(file, into) which parses a json file into the given variable. qmake uses a flat key -> value-list implementation for storing variables, which means that some hackery is need to represent arbitrarily nested JSON. Use a special "_KEYS_" variable for arrays and objects: Arrays: ["item1", "item2"] $${array._KEYS_} -> 0 1 2 $${array.0} -> "item1" $${array.1} -> "item2" Objects: { "key1" : "value1", "key2" : "value2" } $${object._KEYS_} -> key1 key2 $${object.key1} -> value1 $${object.key2} -> value2 Change-Id: I0aa2e4e4ae14fa25be8242bc16d3cffce32504d2 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* QLocale - Mac fix typos in commentsJohn Layt2013-10-171-2/+2
| | | | | | | Fix some typos in the comments. Change-Id: I14eed0ffed74f0a60b05441430158f71cb530c01 Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* Android: Use java.util.Random in qrand()Christian Strømme2013-10-171-0/+36
| | | | | | | | | | | Android does not provide rand_r(), so we would fall back to rand() and srand() which means we where not keeping the promise of qrand and qsrand being thread-safe. As a replacement we can use the Java api and have one Random object for each thread. Task-number: QTBUG-32814 Change-Id: Id46d195a0bb122bc7a5a8de43bdf088e11a9c42e Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
* QGraphicsItemAnimation: save some string data (text size -= 1K)Marc Mutz2013-10-161-37/+26
| | | | | | | Also changed the 'step' range check to treat NaNs as invalid, too. Change-Id: I993c5efffcf7140fba8f80a7db499cd2335867e0 Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* QDateTime - Fix toTimeSpec() for invalid datetimesJohn Layt2013-10-161-3/+30
| | | | | | | | | | Check if the datetime is valid before converting it to a different time spec. If it is invalid then just change the spec to keep behavior consistent with 5.1. Task-number: QTBUG-34020 Change-Id: I6630ec1d50f810a2178ab3222bd32af018085f81 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Fix compilation with Clang and libc++ under LinuxMarcel Krems2013-10-162-0/+2
| | | | | | | | | | src/plugins/platforms/xcb/qxcbsessionmanager.cpp:205:80: error: use of undeclared identifier 'ERANGE' while (getpwuid_r(geteuid(), &entry, buf.data(), buf.size(), &entryPtr) == ERANGE) { src/plugins/platforminputcontexts/compose/generator/qtablegenerator.cpp:173:28: error: use of undeclared identifier 'LC_CTYPE' char *name = setlocale(LC_CTYPE, (char *)0); Change-Id: Ide6f3072e9158eef412973ce0a72babb41b695f0 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Move the Apple Clang specific features outside of the C++11 sectionThiago Macieira2013-10-161-8/+7
| | | | | | | | | Those are not related to C++11, so move them to the Clang detection block. Change-Id: I80b298e1df5f74a865d743625895e0f01cb5fd6b Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com> Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* Print non-default categories in default message handlerKai Koehne2013-10-161-1/+6
| | | | | | | | | | | | | | | | | | | Change the default output of the logging framework to prefix messages with a 'category: ' in case the category is not "default", so that e.g. QLoggingCategory cat("qt.core.codes.windows"); qCWarning(cat) << "MultiByteToWideChar: Cannot convert multibyte text"; will print qt.core.codes.windows: MultiByteToWideChar: Cannot convert multibyte text while output from qWarning etc will show unaltered output. This should help users to discover categories, and to group output together. Change-Id: Iac2e1514f7dc5671966c36a440a119c857564cfc Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: hjk <hjk121@nokiamail.com>
* Support APPLE VAO extension on Mac.James Turner2013-10-161-13/+27
| | | | | | | | | | Since Mac lacks a compatibility profile, we often use the highest supported compatible version, 2.1; this lacks vertex-array-object (VAO) support in the API, but Apple provide a compatible extension. Extend the helper object to detect this case and make VAO support work. Change-Id: I75a74e048a0d188cec76bc5a4a9eafa4c9143740 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Ensure that context menus show even if the window is not active on MacAndy Shaw2013-10-162-4/+14
| | | | | | | | | | | When using the mouse to show a context menu on Mac then even if the window is not active then it will show the menu for native applications. So this ensures that this is respected for context menus in Qt too. Task-number: QTBUG-31497 Change-Id: Ibfcb4b893b0e31d4ce36926a83c9214d130d8fa2 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com> Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
* OS X: a dialog should always have an enabled titlebar close buttonShawn Rutledge2013-10-161-5/+11
| | | | | | | | | regardless of modality. Task-number: QTBUG-28385 Task-number: QTCREATORBUG-9264 Change-Id: Iaa608f6e742686d4068547766ec596e37c696a07 Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* Give an example how to configure categorized loggingKai Koehne2013-10-162-33/+67
| | | | | | Change-Id: I178bb6e75fba246932b318c2c0c5afd243575a92 Reviewed-by: Jerome Pasion <jerome.pasion@digia.com> Reviewed-by: hjk <hjk121@nokiamail.com>
* Cocoa: Deliver key event to top-level QWidgetWindowGabriel de Dietrich2013-10-161-12/+21
| | | | | | | | | | | | | Having several QWidgetWindow in our hierarchy translates as as many NSViews. Clicking will make the NSView under the mouse cursor key, meaning it will receive all the Cocoa key events. In order to make sure the QWidgets hierarchy sees the key event "as usual," we climb the QWindow hierarchy in search for the top-level QWidgetWindow. (Something similar is already being done in -[QNSView becomeFirstResponder]). Task-number: QTBUG-32914 Change-Id: Idc700309d202820de326d4e2990fad24d7b692ae Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
* Remove unused includeBogDan Vatra2013-10-161-1/+0
| | | | | Change-Id: I77bd22b3e0314686450343c5a52914d7f97298d3 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
* Restore handling of bullets for lists with a font size of > 36 pixelsAndy Shaw2013-10-161-13/+0
| | | | | | | | | | | | | | This patch partially reverts ad443dfb1d8e9096c4913686aa2ed0bc9b3f5de7, the test that was added is still there as it can be used to compare against Chrome and to check that indenting works correctly. The original behavior of clipping the bullets is correct because the specified indent is where the text itself should be positioned, the bullet uses the available space to the side of it. This is how other web browsers handle the same situation. Change-Id: I63440e037d8efec356459c09228ef4817ccb9cb6 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>