Commit Graph

13887 Commits

Author SHA1 Message Date
G10h4ck
54899f8378
Merge pull request #1477 from PhenomRetroShare/Fix_ClangWarnings
Fix clang warnings
2019-02-17 11:11:20 -03:00
chelovechishko
209e1541ff gui: rspermissionmatrixwidget: use define for qt::black 2019-02-17 18:36:09 +09:00
Gioacchino Mazzurco
9e70aa0a98
Fix compile error on OSX 2019-02-16 17:09:35 -03:00
Gioacchino Mazzurco
5ff4ebbd12
Fix retroshare-gui compilation after RsReputations refactoring 2019-02-16 11:42:22 -03:00
Gioacchino Mazzurco
a6e8a27fc0
Add RsReputations JSON API 2019-02-16 11:41:31 -03:00
chelovechishko
55ff018166 gui: rspermissionmatrixwidget: fix name.length check with proper number 2019-02-16 23:32:00 +09:00
Gioacchino Mazzurco
ea7773f86d
Refactor RsReputations for compatibility with JSON API 2019-02-15 15:29:36 -03:00
Gioacchino Mazzurco
cca8a666c3
Merge branch '0.6.5'
Merge OBS recipes improvements
2019-02-15 08:57:23 -03:00
Phenom
4c50d73668 Add Compil Flag -Wno-inconsistent-missing-override to hide this type of
warnings:

../../../trunk/libretroshare/src/services/p3idservice.h:226:24: warning:
'getServiceInfo' overrides a member function but is not marked
'override' [-Winconsistent-missing-override]
        virtual RsServiceInfo getServiceInfo();
                              ^
../../../trunk/libretroshare/src/gxs/rsgenexchange.h:122:27: note:
overridden virtual function is here
    virtual RsServiceInfo getServiceInfo() = 0;
                          ^
2019-02-15 00:14:42 +01:00
Phenom
1e65089930 Fix Warnings for class 'RsGxsChannelPost' was previously declared as a
struct

In file included from ../../../trunk/retroshare-gui/src/gui/gxschannels/
GxsChannelPostsWidget.cpp:27:
In file included from temp/ui/ui_GxsChannelPostsWidget.h:31:
../../../trunk/retroshare-gui/src/gui/gxschannels/
GxsChannelFilesWidget.h:28:1: warning: class 'RsGxsChannelPost' was
previously declared as a struct [-Wmismatched-tags]
class RsGxsChannelPost;
^
../../../trunk/libretroshare/src/retroshare/rsgxschannels.h:65:8: note:
previous use is here
struct RsGxsChannelPost : RsSerializable
       ^
../../../trunk/retroshare-gui/src/gui/gxschannels/
GxsChannelFilesWidget.h:28:1: note: did you mean struct here?
class RsGxsChannelPost;
^~~~~
struct
2019-02-15 00:06:48 +01:00
Phenom
bb01198772 Fix Warnings for 'ForumModelPostEntry' defined as a struct here but
previously declared as a class

In file included from ../../../trunk/retroshare-gui/src/gui/gxsforums/
GxsForumThreadWidget.cpp:31:
../../../trunk/retroshare-gui/src/gui/gxsforums/GxsForumModel.h:34:1:
warning: 'ForumModelPostEntry' defined as a struct here but previously
declared as a class [-Wmismatched-tags]
struct ForumModelPostEntry
^
../../../trunk/retroshare-gui/src/gui/gxsforums/GxsForumThreadWidget.h:
39:1: note: did you mean struct here?
class ForumModelPostEntry;
^~~~~
struct
2019-02-15 00:04:00 +01:00
Phenom
a9962c1d2c Fix Warnings for class 'RsGxsForumMsg' was previously declared as a
struct

In file included from ../../../trunk/retroshare-gui/src/gui/gxsforums/
GxsForumsDialog.cpp:23:
../../../trunk/retroshare-gui/src/gui/gxsforums/GxsForumThreadWidget.h:
33:1: warning: class 'RsGxsForumMsg' was previously declared as a struct
[-Wmismatched-tags]
class RsGxsForumMsg;
^
../../../trunk/libretroshare/src/retroshare/rsgxsforums.h:83:8: note:
previous use is here
struct RsGxsForumMsg : RsSerializable
       ^
../../../trunk/retroshare-gui/src/gui/gxsforums/GxsForumThreadWidget.h:
33:1: note: did you mean struct here?
class RsGxsForumMsg;
^~~~~
struct
2019-02-15 00:02:12 +01:00
Phenom
96bbdac8a3 Fix Warnings for class 'FileInfo' was previously declared as a struct
In file included from ../../../trunk/retroshare-gui/src/gui/FileTransfer/
TransfersDialog.cpp:31:
../../../trunk/retroshare-gui/src/gui/FileTransfer/
FileTransferInfoWidget.h:31:1: warning: class 'FileInfo' was previously
declared as a struct [-Wmismatched-tags]
class FileInfo ;
^
../../../trunk/libretroshare/src/retroshare/rstypes.h:188:8: note:
previous use is here
struct FileInfo : RsSerializable
       ^
../../../trunk/retroshare-gui/src/gui/FileTransfer/
FileTransferInfoWidget.h:31:1: note: did you mean struct here?
class FileInfo ;
^~~~~
struct
2019-02-14 23:49:30 +01:00
Phenom
67f1ba5a5d Fix Warnings for class 'FileChunksInfo' was previously declared as a
struct

In file included from ../../../trunk/retroshare-gui/src/gui/FileTransfer/
TransfersDialog.cpp:29:
../../../trunk/retroshare-gui/src/gui/FileTransfer/DetailsDialog.h:28:1:
warning: class 'FileChunksInfo' was previously declared as a struct [-
Wmismatched-tags]
class FileChunksInfo ;
^
../../../trunk/libretroshare/src/retroshare/rstypes.h:398:8: note:
previous use is here
struct FileChunksInfo : RsSerializable
       ^
../../../trunk/retroshare-gui/src/gui/FileTransfer/DetailsDialog.h:28:1:
note: did you mean struct here?
class FileChunksInfo ;
^~~~~
struct
2019-02-14 23:47:37 +01:00
Phenom
3ddf59c5cb Fix Warnings for class 'RsGxsCommentService' was previously declared as
a struct

In file included from ../../../trunk/retroshare-gui/src/gui/
RetroShareLink.cpp:33:
In file included from ../../../trunk/retroshare-gui/src/gui/gxschannels/
GxsChannelDialog.h:24:
../../../trunk/retroshare-gui/src/gui/gxs/GxsGroupFrameDialog.h:44:1:
warning: class 'RsGxsCommentService' was previously declared as a struct
[-Wmismatched-tags]
class RsGxsCommentService;
^
../../../trunk/libretroshare/src/retroshare/rsgxscommon.h:161:8: note:
previous use is here
struct RsGxsCommentService
       ^
../../../trunk/retroshare-gui/src/gui/gxs/GxsGroupFrameDialog.h:44:1:
note: did you mean struct here?
class RsGxsCommentService;
^~~~~
struct
2019-02-14 23:45:08 +01:00
Phenom
8904f732bd Fix Warnings for 'RsGroupInfo' defined as a struct here but previously
declared as a class

In file included from ../../../trunk/retroshare-gui/src/gui/
RemoteDirModel.cpp:30:
../../../trunk/libretroshare/src/retroshare/rspeers.h:339:1: warning:
'RsGroupInfo' defined as a struct here but previously declared as a class
[-Wmismatched-tags]
struct RsGroupInfo : RsSerializable
^
../../../trunk/retroshare-gui/src/gui/common/GroupDefs.h:24:1: note: did
you mean struct here?
class RsGroupInfo;
^~~~~
struct
2019-02-14 23:42:17 +01:00
Phenom
a9a8caf2d4 Fix Warnings for class 'DirDetails' was previously declared as a struct
In file included from ../../../trunk/retroshare-gui/src/gui/
RemoteDirModel.cpp:21:
../../../trunk/retroshare-gui/src/gui/RemoteDirModel.h:43:1: warning:
class 'DirDetails' was previously declared as a struct [-Wmismatched-
tags]
class DirDetails;
^
../../../trunk/libretroshare/src/retroshare/rstypes.h:311:8: note:
previous use is here
struct DirDetails : RsSerializable
       ^
../../../trunk/retroshare-gui/src/gui/RemoteDirModel.h:43:1: note: did
you mean struct here?
class DirDetails;
^~~~~
struct
2019-02-14 23:40:16 +01:00
Phenom
b2572354fb Fix Warnings for 'RsPeerDetails' defined as a struct here but previously
declared as a class

In file included from ../../../trunk/retroshare-gui/src/gui/
MessengerWindow.cpp:29:
../../../trunk/libretroshare/src/retroshare/rspeers.h:207:1: warning:
'RsPeerDetails' defined as a struct here but previously declared as a
class [-Wmismatched-tags]
struct RsPeerDetails : RsSerializable
^
../../../trunk/retroshare-gui/src/gui/common/StatusDefs.h:27:1: note:
did you mean struct here?
class RsPeerDetails;
^~~~~
struct
2019-02-14 23:38:16 +01:00
Phenom
b80d7cb5ae Fix Warnings for class 'RsGxsForumGroup' was previously declared as a
struct

../../../trunk/retroshare-gui/src/gui/msgs/MessageComposer.h:40:1:
warning: class 'RsGxsForumGroup' was previously declared as a struct [-
Wmismatched-tags]
class RsGxsForumGroup;
^
../../../trunk/libretroshare/src/retroshare/rsgxsforums.h:55:8: note:
previous use is here
struct RsGxsForumGroup : RsSerializable
       ^
../../../trunk/retroshare-gui/src/gui/msgs/MessageComposer.h:40:1: note:
did you mean struct here?
class RsGxsForumGroup;
^~~~~
struct
2019-02-14 23:15:54 +01:00
Phenom
746a5ad89c Fix Warnings for class 'RsGxsChannelGroup' was previously declared as a
struct

In file included from ../../../trunk/retroshare-gui/src/gui/feeds/
SecurityItem.cpp:28:
../../../trunk/retroshare-gui/src/gui/msgs/MessageComposer.h:39:1:
warning: class 'RsGxsChannelGroup' was previously declared as a struct
[-Wmismatched-tags]
class RsGxsChannelGroup;
^
../../../trunk/libretroshare/src/retroshare/rsgxschannels.h:46:8: note:
previous use is here
struct RsGxsChannelGroup : RsSerializable
       ^
../../../trunk/retroshare-gui/src/gui/msgs/MessageComposer.h:39:1: note:
did you mean struct here?
class RsGxsChannelGroup;
^~~~~
struct
2019-02-14 23:11:51 +01:00
Phenom
0b9cd9743a Fix Warnings for class 'RsIdentityDetails' was previously declared as a
struct

In file included from ../../../trunk/retroshare-gui/src/gui/
NetworkDialog.cpp:36:
../../../trunk/retroshare-gui/src/gui/msgs/MessageComposer.h:33:1:
warning: class 'RsIdentityDetails' was previously declared as a struct
[-Wmismatched-tags]
class RsIdentityDetails;
^
../../../trunk/libretroshare/src/retroshare/rsidentity.h:294:8: note:
previous use is here
struct RsIdentityDetails : RsSerializable
       ^
../../../trunk/retroshare-gui/src/gui/msgs/MessageComposer.h:33:1: note:
did you mean struct here?
class RsIdentityDetails;
^~~~~
struct
2019-02-14 23:09:09 +01:00
Gioacchino Mazzurco
598521d1ac
Implement JSON API for circles 2019-02-14 18:52:35 -03:00
Phenom
a25f974473 Fix Warnings for 'RsGxsIfaceHelper' defined as a struct here but
previously declared as a class

In file included from ../../../trunk/retroshare-gui/src/main.cpp:66:
In file included from ../../../trunk/libretroshare/src/retroshare/
rsidentity.h:31:
../../../trunk/libretroshare/src/retroshare/rsgxsifacehelper.h:43:1:
warning: 'RsGxsIfaceHelper' defined as a struct here but previously
declared as a class [-Wmismatched-tags]
struct RsGxsIfaceHelper
^
../../../trunk/retroshare-gui/src/util/RsGxsUpdateBroadcast.h:28:1:
note: did you mean struct here?
class RsGxsIfaceHelper;
^~~~~
struct
2019-02-14 22:48:33 +01:00
Phenom
52e4a3cd00 Fix Warnings for 'RsGxsChanges' defined as a struct here but previously
declared as a class

In file included from ../../../trunk/retroshare-gui/src/main.cpp:66:
In file included from ../../../trunk/libretroshare/src/retroshare/
rsidentity.h:31:
In file included from ../../../trunk/libretroshare/src/retroshare/
rsgxsifacehelper.h:30:
../../../trunk/libretroshare/src/retroshare/rsgxsiface.h:76:1: warning:
'RsGxsChanges' defined as a struct here but previously declared as a
class [-Wmismatched-tags]
struct RsGxsChanges
^
../../../trunk/retroshare-gui/src/util/RsGxsUpdateBroadcast.h:29:1:
note: did you mean struct here?
class RsGxsChanges;
^~~~~
struct
2019-02-14 22:47:57 +01:00
Phenom
35373c36c5 Fix Warnings for class 'RsIdentity' was previously declared as a struct
In file included from ../../../trunk/libresapi/src/api/ApiServer.cpp:22:
In file included from ../../../trunk/libresapi/src/api/ApiServer.h:27:
In file included from ../../../trunk/libresapi/src/api/PeersHandler.h:27:
../../../trunk/libresapi/src/api/ChatHandler.h:32:1: warning: class
'RsIdentity' was previously declared as a struct [-Wmismatched-tags]
class RsIdentity;
^
../../../trunk/libretroshare/src/retroshare/rsplugin.h:68:8: note:
previous use is here
struct RsIdentity;
       ^
In file included from ../../../trunk/libresapi/src/api/ApiServerMHD.cpp:
40:
In file included from ../../../trunk/libresapi/src/api/ApiServer.h:27:
In file included from ../../../trunk/libresapi/src/api/PeersHandler.h:27:
../../../trunk/libresapi/src/api/ChatHandler.h:32:1: warning: class
'RsIdentity' was previously declared as a struct [-Wmismatched-tags]
class RsIdentity;
^
../../../trunk/libretroshare/src/retroshare/rsplugin.h:68:8: note:
previous use is here
struct RsIdentity;
       ^
2019-02-14 22:37:03 +01:00
Phenom
78e8758b9e Fix Warnings for 'p3PhotoService::msgsChanged' hides overloaded virtual
function

In file included from ../../../trunk/libretroshare/src/rsserver/
rsinit.cc:769:
../../../trunk/libretroshare/src/services/p3photoservice.h:59:10:
warning: 'p3PhotoService::msgsChanged' hides overloaded virtual function
[-Woverloaded-virtual]
    void msgsChanged(std::map<RsGxsGroupId,
         ^
../../../trunk/libretroshare/src/retroshare/rsphoto.h:206:18: note:
hidden overloaded virtual function 'RsPhoto::msgsChanged' declared here:
type mismatch at 1st parameter ('GxsMsgIdResult &' (aka
'map<t_RsGenericIdType<CERT_SIGN_LEN, false,
RS_GENERIC_ID_GXS_GROUP_ID_TYPE>, set<t_RsGenericIdType<SHA1_SIZE,
false, RS_GENERIC_ID_SHA1_ID_TYPE> > > &') vs 'std::map<RsGxsGroupId,
std::vector<RsGxsMessageId> > &' (aka
'map<t_RsGenericIdType<CERT_SIGN_LEN, false,
RS_GENERIC_ID_GXS_GROUP_ID_TYPE>, vector<t_RsGenericIdType<SHA1_SIZE,
false, RS_GENERIC_ID_SHA1_ID_TYPE> > > &'))
    virtual void msgsChanged(GxsMsgIdResult& msgs) = 0;
                 ^
2019-02-14 22:15:53 +01:00
Phenom
8806840989 Fix Warnings for 'RsGxsChannels::createComment' and
'RsGxsChannels::createVote' hides overloaded virtual function

In file included from temp/moc/moc_GxsChannelGroupItem.cpp:9:
In file included from temp/moc/../../../../../trunk/retroshare-gui/src/
gui/feeds/GxsChannelGroupItem.h:24:
../../../trunk/libretroshare/src/retroshare/rsgxschannels.h:116:15:
warning: 'RsGxsChannels::createComment' hides overloaded virtual
function [-Woverloaded-virtual]
        virtual bool createComment(RsGxsComment& comment) = 0;
                     ^
../../../trunk/libretroshare/src/retroshare/rsgxscommon.h:172:15: note:
hidden overloaded virtual function 'RsGxsCommentService::createComment'
declared here: different number of parameters (2 vs 1)
        virtual bool createComment(uint32_t &token, RsGxsComment
&comment) = 0;
                     ^
In file included from temp/moc/moc_GxsChannelGroupItem.cpp:9:
In file included from temp/moc/../../../../../trunk/retroshare-gui/src/
gui/feeds/GxsChannelGroupItem.h:24:
../../../trunk/libretroshare/src/retroshare/rsgxschannels.h:132:15:
warning: 'RsGxsChannels::createVote' hides overloaded virtual function
[-Woverloaded-virtual]
        virtual bool createVote(RsGxsVote& vote) = 0;
                     ^
../../../trunk/libretroshare/src/retroshare/rsgxscommon.h:173:15: note:
hidden overloaded virtual function 'RsGxsCommentService::createVote'
declared here: different number of parameters (2 vs 1)
        virtual bool createVote(uint32_t &token, RsGxsVote &vote) = 0;
                     ^
In file included from temp/moc/moc_GxsChannelPostItem.cpp:9:
In file included from temp/moc/../../../../../trunk/retroshare-gui/src/
gui/feeds/GxsChannelPostItem.h:26:
../../../trunk/libretroshare/src/retroshare/rsgxschannels.h:116:15:
warning: 'RsGxsChannels::createComment' hides overloaded virtual
function [-Woverloaded-virtual]
        virtual bool createComment(RsGxsComment& comment) = 0;
                     ^
../../../trunk/libretroshare/src/retroshare/rsgxscommon.h:172:15: note:
hidden overloaded virtual function 'RsGxsCommentService::createComment'
declared here: different number of parameters (2 vs 1)
        virtual bool createComment(uint32_t &token, RsGxsComment
&comment) = 0;
                     ^
In file included from temp/moc/moc_GxsChannelPostItem.cpp:9:
In file included from temp/moc/../../../../../trunk/retroshare-gui/src/
gui/feeds/GxsChannelPostItem.h:26:
../../../trunk/libretroshare/src/retroshare/rsgxschannels.h:132:15:
warning: 'RsGxsChannels::createVote' hides overloaded virtual function
[-Woverloaded-virtual]
        virtual bool createVote(RsGxsVote& vote) = 0;
                     ^
../../../trunk/libretroshare/src/retroshare/rsgxscommon.h:173:15: note:
hidden overloaded virtual function 'RsGxsCommentService::createVote'
declared here: different number of parameters (2 vs 1)
        virtual bool createVote(uint32_t &token, RsGxsVote &vote) = 0;
                     ^
2019-02-14 21:58:33 +01:00
Phenom
e7fa5556b0 Fix warnings for a lot of destructor called on non-final 'xxx' that has
virtual functions but non-virtual destructor [-Wdelete-non-virtual-dtor]

In file included from /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/
8.2.1/../../../../include/c++/8.2.1/algorithm:62:
In file included from /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/
8.2.1/../../../../include/c++/8.2.1/bits/stl_algo.h:62:
In file included from /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/
8.2.1/../../../../include/c++/8.2.1/bits/stl_tempbuf.h:60:
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/8.2.1/../../../../include/c++/
8.2.1/bits/stl_construct.h:98:7: warning: destructor called on non-final
'xxx' that has virtual functions but non-virtual destructor [-Wdelete-
non-virtual-dtor]
    { __pointer->~_Tp(); }
      ^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/8.2.1/../../../../include/c++/
8.2.1/bits/stl_construct.h:108:11: note: in instantiation of function
template specialization 'std::_Destroy<xxx>' requested here
            std::_Destroy(std::__addressof(*__first));
                 ^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/8.2.1/../../../../include/c++/
8.2.1/bits/stl_construct.h:137:2: note: in instantiation of function
template specialization 'std::_Destroy_aux<false>::__destroy<xxx *>'
requested here
        __destroy(__first, __last);
        ^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/8.2.1/../../../../include/c++/
8.2.1/bits/stl_construct.h:206:7: note: in instantiation of function
template specialization 'std::_Destroy<xxx *>' requested here
      _Destroy(__first, __last);
      ^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/8.2.1/../../../../include/c++/
8.2.1/bits/stl_vector.h:567:7: note: in instantiation of function
template specialization 'std::_Destroy<xxx *, xxx>' requested here
        std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish,
             ^
../../../trunk/libretroshare/src/retroshare/xxx:*:*: note: in
instantiation of member function 'std::vector<xxx, std::allocator<xxx>
>::~vector' requested here
        Something():
        ^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/8.2.1/../../../../include/c++/
8.2.1/bits/stl_construct.h:98:19: note: qualify call to silence this
warning
    { __pointer->~_Tp(); }
                  ^
2019-02-14 20:40:52 +01:00
Gioacchino Mazzurco
6bb7711e03
OBS add tor packaging into the appimage 2019-02-14 10:07:45 -03:00
G10h4ck
164a28eb32
Merge pull request #1261 from PhenomRetroShare/Add_RsCollAutoDownload
Add RsCollection's content automatically download option.
2019-02-13 22:22:56 -03:00
G10h4ck
c4a0c18b18
Merge pull request #1317 from sehraf/pr_further_improve_fulltype
further conversion to new wrapper function
2019-02-13 22:21:17 -03:00
Gioacchino Mazzurco
6633e8bb28
Expose RsIdentity JSON API 2019-02-13 17:08:38 -03:00
Gioacchino Mazzurco
ac1d24dba4
Remove misleading comment from channels public API 2019-02-13 17:07:59 -03:00
Gioacchino Mazzurco
7a2c81d06b
Deprecate rs_usleep as it is not useful anymore
C++11 standard library offer better functions
2019-02-13 17:07:03 -03:00
Gioacchino Mazzurco
d7ecc2686f
Use safer temp diretory for OBS prepare source script 2019-02-11 11:16:57 -03:00
Gioacchino Mazzurco
3f2a1d52c2
Update open build service recipes 2019-02-11 10:54:33 -03:00
defnax
019233e840 fixed subscribe buttons stylesheet 2019-02-10 20:52:25 +01:00
defnax
5bb0fc48b0 removed hide label seems get concflicts on github check 2019-02-10 19:59:43 +01:00
Gioacchino Mazzurco
a96310d45e
Avoid depending on libupnp on linux if it is not used 2019-02-10 15:43:28 -03:00
defnax
54e3ca3485 Hide Site labels when theres is no link 2019-02-10 18:50:48 +01:00
Gioacchino Mazzurco
e9d817e126
Make it possible to choose at compile time UPnP library to use 2019-02-10 11:46:17 -03:00
csoler
7a7ebed9d2
improved Mail model 2019-02-10 15:13:39 +01:00
csoler
a2ed69f01c
Merge pull request #1474 from defnax2k/fix-ui-width/height-small-as-possible
fix ui width & height back to normal size
2019-02-10 14:19:32 +01:00
defnax
8502b7d8ff fix ui width & height back to normal size 2019-02-10 14:14:59 +01:00
Gioacchino Mazzurco
5009a4e243
Better versioning for OBS 2019-02-08 15:18:14 -03:00
csoler
b7c8c16e29
inserted the model into the widget 2019-02-08 15:41:20 +01:00
csoler
6e1e3f3832
fixed accept rich text in HelpDialog 2019-02-07 23:53:14 +01:00
Gioacchino Mazzurco
0d2798399e
retroshare-service add permission for android network usage 2019-02-07 16:38:18 -03:00
Gioacchino Mazzurco
0bfe10fa0e
Add missing categories to desktop file
Improve recognizability in desktop menu.
Missing categories breaks packaging for some distros like OpenSuse
2019-02-05 15:02:15 +01:00
Gioacchino Mazzurco
4b953a3d76
Fix warning in retroshare-gui JSON API page 2019-02-05 14:54:15 +01:00