sudden6
82a7141e31
refactor(core): reimplement restart and small cleanups
2018-07-05 17:05:41 +02:00
sudden6
5a6606e351
refactor(core): prepare for future error codes
2018-07-05 17:05:41 +02:00
sudden6
5ec983d8f5
refactor(core): remove unused return value and fix comment
2018-07-05 17:05:41 +02:00
sudden6
7f7b29e55e
refactor(core): use smart pointers instead of raw pointers
2018-07-05 17:05:41 +02:00
sudden6
6aa215e96f
refactor(core): protect the tox main loop with a mutex
2018-07-05 17:05:41 +02:00
sudden6
e5acc6726f
refactor(core): reimplement avatar transfers
...
In the process of this I used some ugly hacks, to finish this in time,
they should be changed as soon as possible.
2018-07-05 17:05:41 +02:00
sudden6
b647f9291e
refactor(core): reimplement profile saving
2018-07-05 17:05:40 +02:00
sudden6
e56ee4a134
refactor(core): fix bootstrapping
2018-07-05 17:05:40 +02:00
sudden6
a8494980da
refactor(core): fix error handling
2018-07-05 17:05:40 +02:00
sudden6
8574162949
refactor(core): cleanup Core class
...
- use a factory method to create it
- make it handle its own thread
- remove dependency on GUI
2018-07-05 17:05:40 +02:00
sudden6
977b7fc9a0
fix(settings): automatically disable UDP when a proxy is set
...
fixes : #5174
2018-07-02 22:46:26 +02:00
sudden6
40d30153ae
fix(audio): fix error introduced in 67f2605971
2018-07-02 15:34:24 +02:00
tox-user
0d3f061ba8
fix: remove full screen btn from audio group chat
...
Fixes : #5202
2018-07-01 22:17:35 +00:00
sudden6
a00af08777
fix(audio): connect the correct audio callbacks
2018-07-01 10:39:33 +02:00
sudden6
67f2605971
refactor(toxcall): move peer handling to ToxGroupCall
2018-07-01 10:16:21 +02:00
sudden6
811998b8df
refactor(toxcall): move alSource into ToxFriendCall
2018-06-30 22:11:19 +02:00
TriKriSta
74468fde32
docs: add documentation for some new functions
2018-06-29 23:10:14 +03:00
TriKriSta
4fdf73f2f0
refactor: remove commented code, use QStringLiteral
2018-06-29 19:31:34 +03:00
sudden6
20ca6c84c8
refactor(core): move Tox_Options handling to separate file
2018-06-27 18:34:59 +02:00
sudden6
c7ca261679
refactor(core): move logger to its own file
2018-06-27 18:34:55 +02:00
TriKriSta
8dd8347759
feat: add startButton in SearchForm
2018-06-25 00:44:22 +03:00
TriKriSta
3b7ba02324
feat: add functions for change title and info in LoadHistoryDialog
2018-06-24 21:20:49 +03:00
TriKriSta
610e04aa26
feat: use search settings
2018-06-24 21:11:20 +03:00
sudden6
dfd5232e2f
fix(settings): prevent segfault on wrong proxy settings
2018-06-23 14:07:40 +02:00
Pavel Karelin
9b6cd1c022
fix: Fix PR #5182 . Eliminating the 'new' operator at ToxOptionsWrapper
2018-06-23 03:36:39 +03:00
sudden6
26b59d3123
fix(Core): fix use after free of proxyAddrData
2018-06-22 08:12:08 +02:00
TriKriSta
87b340f4a1
feat: create widget for search settings
2018-06-16 13:41:31 +03:00
sudden6
2a8ab03e46
fix(file): don't clean the filenames of avatar transfer
...
also don't print the filenames to the log for privacy reasons
2018-06-14 22:39:23 +02:00
Diadlo
06ae7ead0c
fix: Fix usage of unitialized functions
2018-06-12 22:46:48 +03:00
Diadlo
daaa5518dd
fix(leak): Fix few memory leaks
2018-06-12 22:45:53 +03:00
Pavel Karelin
2cd65610fc
fix(build): Elimination the build warnings (Wunused-variable, Wreorder)
2018-06-06 23:05:06 +03:00
sudden6
83d4a21ef6
Merge pull request #5167
...
ezavod (1):
fix(chatform): name in window title and close detached chats
2018-06-06 08:19:19 +02:00
sudden6
4faab0750d
feat(core): put c-toxcore log messages in the qTox log
2018-06-06 00:57:37 +02:00
ezavod
39968a313d
fix(chatform): name in window title and close detached chats
...
This displays the name of the currently used account in the window title
of detached chats. Also closes all open chats when switching back to one
window.
2018-06-04 22:56:53 +02:00
tox-user
2fae2a30f7
feat(chat): add UI option to mute group peers
...
Implements #4596 , #4626 , #1007
Adds a context menu to every peer label in group chat with an
option to mute chosen peers, which adds them to the blacklist.
Mutes audio of blacklisted group peers.
2018-06-02 18:05:45 +00:00
ezavod
847f155b7b
refactor(chatform): Use QStringList instead of QVector<QString>
...
This replaces QVector<QString> with QStringList consistently across all files.
2018-05-31 21:32:58 +02:00
ezavod
4434253283
refactor(chatform): consistent usage of file dialogs
...
This makes the usage of QFileDialogs consistent by using he native
file picker in all cases. Also makes the usage of the last location
consistent. Furthermore this removes default parameter values and uses
Q_NULLPTR.
2018-05-29 12:51:50 +02:00
ezavod
757791eea4
fix(chatform): check for empty path when exporting profile
...
Fixes #5146 . If the filedialog is cancelled the returned path is empty.
Do not try to export the profile in this case.
2018-05-29 12:21:40 +02:00
sudden6
8461a373dd
Merge pull request #5142
...
Andrius Štikonas (1):
fix(wayland): Fix desktop file name in Qt properties
2018-05-15 22:57:22 +02:00
sudden6
3d7d791e5f
Merge pull request #5111
...
Alice (1):
fix(core): Clean illegal chars from filenames
2018-05-15 22:56:25 +02:00
sudden6
a3370173df
fix(audio): close the audio device after playing a sound
...
This bug was uncovered by 65896e4501
because this sound now happens after the call is closed, but doesn't
close the audio device.
2018-05-15 21:14:06 +02:00
sudden6
e55f86c6a5
fix(video): unsubscribe the video device correctly
...
fixes #5110
2018-05-15 20:29:47 +02:00
sudden6
50cee67f5f
chore: add more debugging when subscribing video
2018-05-15 20:29:42 +02:00
Alice
ab85716f00
fix(core): Clean illegal chars from filenames
...
Fixes : #1304
2018-05-14 16:16:16 -07:00
Andrius Štikonas
c1caeb585a
fix(wayland): Fix desktop file name in Qt properties
...
fixes #5141
2018-05-14 19:24:16 +01:00
Diadlo
aae567ed8e
feat: Add ability to remove dialog from content dialog with middle click
2018-05-14 09:18:48 +03:00
Diadlo
228c431c89
feat: Add ability to quit group with middle click
...
Fix #2605
2018-05-14 09:18:48 +03:00
Diadlo
65fc1dc266
feat: Add middle mouse clicked signal for GenericChatroom
2018-05-14 09:18:48 +03:00
sudden6
4acf884fb9
refactor: use ToxPk as identifier
...
fixes #5116 and #5117
2018-05-11 20:35:24 +02:00
tox-user
d6df8883e3
feat(chat): full screen video chat
...
Implements #2922 and #2514 .
This change adds:
- a button for enabling full screen mode
- a panel with buttons for controlling the chat in full screen mode
- a button to toggle video preview
- new icons
fix(chat): fix buttons in full screen video call
feat(chat): add hotkey for exiting full screen video
fix(chat): use screen res to position button panel
fix(chat): dont remove video widget on window close
2018-05-10 20:08:37 +00:00
Anthony Bilinski
ca32e77d74
feat(history): load set number of messages from history
...
Fix #3124
Fix #3004
Instead of loading a set 7 days of history. Better performance when there are lots of messages, and better context when friends haven't talked in over a week.
Removed historyBaselineDate, introduced in deb8440c6a
to fix duplicate messages, but duplicate messages were very likely fixed by https://github.com/qTox/qTox/pull/4607 .
Also refactored history loading.
2018-05-06 15:31:54 -07:00
Anthony Bilinski
dfd2de836e
fix(history): don't save both action prefix and displayed name
...
Displayed name is already added to action messages when added to ChatForm. Saving in history as well results in the display name being displayed twice when loaded from history.
2018-05-06 15:31:26 -07:00
sudden6
48179b6a19
fix: two crashes, uncovered by the persistent groupchat patch
2018-05-02 22:49:59 +02:00
sudden6
498c04ba50
refactor(group): store peer list in a more intelligent way
2018-04-30 01:19:34 +02:00
sudden6
0d74134dc1
refactor(group): use displayedNameChanged signal
2018-04-30 01:19:34 +02:00
Anthony Bilinski
1af3ad69e8
fix(login): start login screen on profile select by -p option
2018-04-26 13:43:10 -07:00
Anthony Bilinski
2d87999922
Merge pull request #5084
...
TriKriSta (1):
fix: delete double initialization callDuration
2018-04-26 13:42:01 -07:00
Anthony Bilinski
65896e4501
feat(call): add call end sound
...
Fix #4905
2018-04-26 12:49:58 -07:00
Anthony Bilinski
5dc4e6de81
chore(legal): update copyright date to 2018 for all source files
2018-04-25 17:33:38 -07:00
Anthony Bilinski
8ba8ce91f3
fix(theme): clear stylesheet cache on theme colour change
...
Fix #5092
2018-04-25 14:20:56 -07:00
Anthony Bilinski
7293151469
fix(ui): increase number of low res camera options
...
partially revert behaviour of 04ecfe3f34
to show any options that were shown before. Mentioned in comments of #5097 .
2018-04-24 13:51:24 -07:00
sudden6
441931765f
fix(build): make qTox compile with ffmpeg 4.0 and newer
2018-04-23 19:31:58 +02:00
Anthony Bilinski
6d9d26db65
perf(ui): cache stylesheets to reduce memory usage
...
Issue #5078
2018-04-17 19:41:23 -07:00
TriKriSta
dc1f5ea0a3
fix: delete double initialization callDuration
2018-04-15 19:04:02 +03:00
Anthony Bilinski
55d8922d69
fix(settings): connect enable LAN discovery checkbox
...
Checkbox and setting introduced in 9f8b0fed07
but not connected.
2018-04-13 00:18:16 -07:00
Anthony Bilinski
869036f3c6
fix(core): split messages on utf8 multibyte character boundary properly
...
Fix #4917
2018-04-13 00:16:41 -07:00
Anthony Bilinski
04ecfe3f34
feat(camera): add higher resolution camera options
...
Fix #5065
2018-04-12 11:37:55 -07:00
Anthony Bilinski
1583991fb4
refactor(avform): simplify and standardize sliders, use RMS for volume
...
Also improve usefulness of volume bar by including gain, clipping, and activation threshold. Remove magic numbers. Clear volumue display when mic is disabled.
Fix #4893
2018-04-12 10:34:42 -07:00
Anthony Bilinski
f6622e4092
fix(audio): apply gain to both audio channels
...
Fix #5039
2018-04-11 18:25:39 -07:00
Anthony Bilinski
5d0f9509a8
fix(audio): move audio timers to and start from audioThread
...
Fix #5053
2018-04-11 10:50:44 -07:00
Anthony Bilinski
97bc4a9b4a
refactor(ui): consolidate new message settings under UI page
2018-04-08 14:30:25 -07:00
Anthony Bilinski
fcd88d65b2
feat(ui): add setting for disabling new message notification popup
...
Fix #4979
2018-04-08 14:29:12 -07:00
Anthony Bilinski
9f8b0fed07
feat(ui): Add ability to disable LAN discovery
...
Fix #4074
2018-04-06 12:02:10 -07:00
Anthony Bilinski
cfdc1cdb2e
fix(profile): don't error if no new avatar is selected
2018-04-06 10:19:44 -07:00
Anthony Bilinski
a8fc6e5c6b
fix(chatform): include pressed key(s) when changing focus
...
Instead of just giving focus, give focus and add the key that was pressed. Also change from KeyRelease to KeyPress to avoid missing the second key pressed in the case of the second key being pressed before the first is released.
2018-04-05 16:00:02 -07:00
Anthony Bilinski
65d59ba6b7
fix(settings): add missing enableTestSound to settings
2018-04-05 15:00:34 -07:00
Anthony Bilinski
cb0f26356d
fix(ui): remove placeholder update UI
...
Auto-updates were disabled in 196529b8e8
Fix #5040
2018-04-05 01:30:25 -07:00
Anthony Bilinski
9216549d6e
refactor(call): Refactor toxcall and disconnect lambda on destruction
...
Fixes #3840
Move audio and video state into ToxCall which both ToxFriendCall and ToxGroupCall inherit from
2018-04-04 01:32:00 -07:00
Anthony Bilinski
b852809d0c
fix(history): don't save own messages when history is disabled
...
Fix #5036
2018-03-30 01:50:12 -07:00
Anthony Bilinski
703876c372
fix(login): Don't dereference null pointer
...
Fix #5032
2018-03-24 17:04:31 -07:00
sudden6
0be49c648c
Merge pull request #5027
...
Only merged one commit, because of an unnecessary merge of master
2018-03-24 18:11:52 +01:00
tox-user
23f6ad7047
fix: remove build date and time from main.cpp
...
This is the first step to having reproducible builds. It
should allow to make an identical build in the same environment
and increase privacy when sharing logs, because the build time
was not in UTC.
2018-03-22 23:09:17 +00:00
Anthony Bilinski
acea7c315f
fix(import): don't use java-style iterator before first element
...
Fix #4962
2018-03-21 14:29:25 -07:00
Anthony Bilinski
4951f90964
fix(offlinemsg): make faux offline messages purely event based
...
Since real offline message reliability issue was fixed in PR #4607 , now removing all the workarounds that had been added. Offline messages are now sent as soon as we see our friend come online, and at no other time. Fixes 2 minute wait time before attempting to send if message is entered while you or friend is offline, removes 2 minute constant retry timer, removes 250ms delay between seeing friend come online and sending offline messages.
2018-03-21 13:03:17 -07:00
sudden6
0170ccd6f7
refactor: remove some unused includes
...
thanks @iphydf for pointing that out
2018-03-21 19:39:28 +01:00
Anthony Bilinski
d2ad2107f2
fix(IPC): Update profileName to update IPC ID after login screen
...
Fix #4948
Fix #5025
2018-03-21 02:37:14 -07:00
DESKTOP-Z50-70\Arman
ebdc675cbc
fix(chattextedit): ChatTextEdit bug fix for issue #5020 Corrected
2018-03-21 12:39:17 +04:00
Anthony Bilinski
c2410e0a65
fix(name): Clear alias on name change so that name changes are visible
...
Temporary work around for #5013
2018-03-18 19:22:24 -07:00
Anthony Bilinski
09eee940cd
Merge pull request #5012
...
Horace Bianchon (1):
fix(avform): Audio/Video settings tab #5011 issue bugfix
2018-03-16 13:52:15 -07:00
Anthony Bilinski
bc18990fd2
fix(build): Remove unused vars, add default case for switch
...
Fix #5006
2018-03-16 12:59:51 -07:00
Anthony Bilinski
1afed5f72e
fix: don't use invalid reference after erasing element
...
Fix #5002
2018-03-16 10:54:53 -07:00
Horace Bianchon
ad6ddfc4f2
fix(avform): Audio/Video settings tab #5011 issue bugfix
...
Signed-off-by: Horace Bianchon <horace.bianchon@gmail.com>
2018-03-16 18:32:36 +04:00
Anthony Bilinski
8198940607
fix(widget): Fix double free crash on group leave
...
Fix #5004
2018-03-15 02:08:10 -07:00
Diadlo
2a0c71d0d4
fix: Fix crash on manipulation with friend
...
Fix #4991
2018-03-12 01:07:41 +03:00
Diadlo
e3726eade6
fix(avform): Hotfix for crash on video device change on 'None'
...
Fix #4994
2018-03-11 22:51:38 +03:00
Diadlo
0a590336b1
fix(group): Show correct count of user on first creation
...
Fix #4503
2018-03-05 22:20:39 +03:00
Diadlo
9b4972e045
fix(friendwidget): Use queued connection to avoid removing 'this'
...
Fix #4966
Since 'removeAction' can remove friend (who would have thought?) it must be
connectd queued to avoid use after free.
2018-03-05 09:06:20 +03:00
sudden6
1f8c9a2e2f
refactor: update displayed user name from the friend model
2018-02-28 17:51:00 +01:00
sudden6
a910d57824
refactor(friend): add an additional signal to Friend
2018-02-26 20:53:53 +01:00
Anthony Bilinski
e564b85e3c
fix(chatform): Broaden URL matching to include unicode
...
Fix #4853
Fix #4295
*Instead of searching strictly valid URIs, allow anything characters following scheme. This allows for UTF-8 characters used in other languages, as well as parentheses and other ASCII characters. This will over-match some invalid URLs.
*Ignored surrounding characters of URIs and ending punctuation
*Fix www-only links by adding http scheme to href
2018-02-25 01:48:25 -08:00
sudden6
d3d81bbdf3
feat: update to the new c-toxcore 0.2.0 conferences api
...
The old functions are disabled at compile time and should be removed
later.
2018-02-24 09:57:42 +01:00
iphydf
1111949f45
fix(core): Adapt qtox to new conferences state change callback.
2018-02-24 09:57:42 +01:00
Diadlo
e73dc10c7f
fix: Not quit on close if this setting is enabled
...
Fix #4949
2018-02-23 11:29:53 +03:00
Anthony Bilinski
d9118cfc71
fix(widget): Fix status pic alignment
2018-02-21 11:55:59 -08:00
Diadlo
aeb501240f
Merge pull request #4955
...
TriKriSta (12):
feat: add a button to search
feat: add form for search
feat: add text search
feat: edit load history for search
feat: remove search button and add line in context menu
feat: add search in text in group chats
feat: optimise search in history
feat: add hot keys for search
style: change code in searchInText
fix: add search symbol ' in history
refactor: rename hideButton to searchHideButton
refactor: add/delete checks in search code
2018-02-20 08:26:29 +03:00
Anthony Bilinski
9643e48ef1
fix(chatlog): Match multi-character emoticons again
...
Fixed after broken in https://github.com/qTox/qTox/pull/4940 . Single-character UTF-8 emoji still work without whitespace on either side, but multi-character emoticon patterns like 😄 or :) do require surrounding whitespace, to avoid matching punctuation or HTML tags.
2018-02-19 01:18:19 -08:00
TriKriSta
fe4dd83d10
refactor: add/delete checks in search code
2018-02-15 13:21:05 +02:00
TriKriSta
40cebd421b
refactor: rename hideButton to searchHideButton
2018-02-14 19:41:59 +02:00
TriKriSta
3e05279c09
fix: add search symbol ' in history
2018-02-14 11:30:38 +02:00
TriKriSta
f73021c376
style: change code in searchInText
2018-02-12 19:35:50 +02:00
TriKriSta
ffb51e8a0e
feat: add hot keys for search
2018-02-12 19:24:22 +02:00
TriKriSta
18fa8a745b
feat: optimise search in history
2018-02-12 01:02:28 +02:00
TriKriSta
7718734c9a
feat: add search in text in group chats
2018-02-11 23:09:13 +02:00
TriKriSta
8bb80c770c
feat: remove search button and add line in context menu
2018-02-11 17:38:05 +02:00
Diadlo
95f150e5f9
refactor: Move action handlers to slots
2018-02-11 12:12:07 +03:00
TriKriSta
de9c906117
feat: edit load history for search
2018-02-10 17:56:16 +02:00
TriKriSta
b881d32d1b
feat: add text search
2018-02-10 17:56:16 +02:00
TriKriSta
863c46c73d
feat: add form for search
2018-02-10 17:56:16 +02:00
TriKriSta
47d9da98cf
feat: add a button to search
2018-02-10 17:56:16 +02:00
Diadlo
0d2926e196
refactor: Remove ChatForm from Group
2018-02-08 09:01:23 +03:00
Diadlo
0586e65e72
refactor: Remove using 'Group::getChatForm'
2018-02-08 09:01:22 +03:00
Diadlo
f6bb71db93
refactor: Save GroupChatForm in Widget
2018-02-06 10:46:22 +03:00
Diadlo
42a3a27a58
refactor: Remove chatForm from Friend
2018-02-06 10:46:09 +03:00
Diadlo
b26255703d
refactor: Move using loadHistory out of Friend
2018-02-06 10:46:09 +03:00
Diadlo
254f5cc4b1
refactor: Remove using 'Friend::getChatForm'
2018-02-06 10:46:09 +03:00
Diadlo
61e0dff8a4
refactor: Remove 'FriendWidget::setChatForm'
2018-02-06 10:46:09 +03:00
Anthony Bilinski
5df63f9c2e
fix(chatlog): parse multi-length emoji properly
...
Before, when multi-length emoji were next to any other character, they would not be transformed into images. With this change, emoji are replaced with images no matter where they are in the string. Parsing is now done by checking to see if two-character blocks are valid as a single UTF-32 character, or if they are truly two distinct characters. Because we no longer need white space before emoji, I also removed our addition of spaces on either side of an emoji when a user sends them.
2018-02-05 14:19:03 -08:00
sudden6
0dea03906e
Merge pull request #4918
...
iphydf (1):
chore: Don't dereference Tox_Options, use getters instead.
2018-02-05 22:05:28 +01:00
sudden6
11f263ffc3
refactor(nexus): make loginscreen independent of nexus
2018-02-01 22:00:06 +01:00
sudden6
09ad16bc44
refactor: cleanup notifications and core
2018-02-01 22:00:00 +01:00
sudden6
d01999814e
chore: fix some compiler warnings
2018-02-01 20:32:39 +01:00
Diadlo
d2deec7c55
fix(core): Use new callback API for bitrate set
2018-01-31 09:39:43 +03:00
Diadlo
2c8f03dada
fix(core): Use new API for bitrate set
...
Fix #4935
2018-01-31 00:01:52 +03:00
Anthony Bilinski
b9845e1d23
perf(widget): don't save on setExpanded if categorywidget is unchanged
...
Fix #4932
2018-01-27 20:14:58 -08:00
Diadlo
7d5a59cf41
refactor: Use qFuzzyCompare to compare float values
...
Thanks @BiTOk for this tip
2018-01-22 17:13:09 +03:00
Diadlo
3b52402fa2
feat: Prefere new line as message break
...
Fix #4113
2018-01-20 14:07:22 +03:00
Diadlo
e74cc37a2d
fix: Use real channels number
2018-01-20 14:07:22 +03:00
Diadlo
e3f3d5e3b1
refactor: Override only 'doOutput' and 'captureSamples' in OpenAL2
2018-01-20 14:07:22 +03:00
Diadlo
c33592be06
style: Fix style
2018-01-20 14:07:22 +03:00
Diadlo
900f2a1ad3
fix: Allocate memory to input buffer
2018-01-20 14:07:22 +03:00
Diadlo
2353a66fde
fix: Call doAudio on timer timeout
...
Fix #4904
2018-01-20 14:07:22 +03:00
Diadlo
8c05399e41
fix: [un]subscribe output in avform
...
Fix sound test on AV settings tab
2018-01-20 14:07:22 +03:00
sudden6
c41de48a6b
Merge pull request #4913
...
tox-user (1):
feat(groupchat): mark blocked users with different color
2018-01-20 00:17:20 +01:00
sudden6
8ce1e31477
Merge pull request #4911
...
tox-user (1):
feat(UI): new status icons for message notifications
2018-01-20 00:16:38 +01:00
iphydf
2e645eb68c
chore: Don't dereference Tox_Options, use getters instead.
...
Depending on Tox_Options structure layout is deprecated. We will remove
it from the public API in the future.
2018-01-16 17:27:17 +00:00
Diadlo
3ca2ffd559
Merge pull request #4894
...
iphydf (1):
chore: Update to immutable TES API and one-big-lib change.
2018-01-16 12:54:37 +03:00
tox-user
a729f2f8c0
feat(groupchat): mark blocked users with different color
...
Marks blacklisted groupchat users with red color.
2018-01-14 21:24:50 +01:00
Pavel Karelin
74d470d428
chore: Reorganization of the context menu for chat
...
1. The action "Quote selected text" moved to top of the menu list.
We assume that this is the most used menu item.
2. The short keys for "Quote selected text" and
for "Clear displayed messages" now is visible in the context menu.
3. For action "Clear displayed messages" add message box
with confirmation of this operation.
2018-01-14 21:31:10 +03:00
iphydf
398ba415ce
chore: Update to immutable TES API and one-big-lib change.
2018-01-14 15:47:43 +00:00
tox-user
4288785d31
feat(UI): new status icons for message notifications
...
implements #4858
2018-01-13 22:16:14 +01:00