From fe62dc13454306f9ff4b4cceef8a05400439aaf2 Mon Sep 17 00:00:00 2001 From: drbob Date: Sun, 16 Feb 2020 15:21:20 +1100 Subject: [PATCH 1/7] Switch PhotoService to use GxsComments WIP improvements to PhotoService: - switch p3photoservice to use gxcommentservice - clean out old RsPhotoComment classes - redesign PhotoDialog to use standard GxsCommentService classes - remove unneeded old Comment classes from GUI - fix indenting for PhotoDialog and p3photoservice.h - fix layout issue in Extra Widgets for GxsGroupDialog --- libretroshare/src/retroshare/rsphoto.h | 55 +- libretroshare/src/rsitems/rsphotoitems.cc | 14 +- libretroshare/src/rsitems/rsphotoitems.h | 19 +- libretroshare/src/services/p3photoservice.cc | 82 +-- libretroshare/src/services/p3photoservice.h | 182 +++--- .../src/gui/PhotoShare/AddCommentDialog.cpp | 39 -- .../src/gui/PhotoShare/AddCommentDialog.h | 43 -- .../src/gui/PhotoShare/AddCommentDialog.ui | 67 --- .../src/gui/PhotoShare/PhotoCommentItem.cpp | 52 -- .../src/gui/PhotoShare/PhotoCommentItem.h | 49 -- .../src/gui/PhotoShare/PhotoCommentItem.ui | 200 ------- .../src/gui/PhotoShare/PhotoDialog.cpp | 301 ++++------ .../src/gui/PhotoShare/PhotoDialog.h | 48 +- .../src/gui/PhotoShare/PhotoDialog.ui | 524 ++++++++---------- retroshare-gui/src/gui/gxs/GxsGroupDialog.cpp | 1 - retroshare-gui/src/retroshare-gui.pro | 18 +- 16 files changed, 484 insertions(+), 1210 deletions(-) delete mode 100644 retroshare-gui/src/gui/PhotoShare/AddCommentDialog.cpp delete mode 100644 retroshare-gui/src/gui/PhotoShare/AddCommentDialog.h delete mode 100644 retroshare-gui/src/gui/PhotoShare/AddCommentDialog.ui delete mode 100644 retroshare-gui/src/gui/PhotoShare/PhotoCommentItem.cpp delete mode 100644 retroshare-gui/src/gui/PhotoShare/PhotoCommentItem.h delete mode 100644 retroshare-gui/src/gui/PhotoShare/PhotoCommentItem.ui diff --git a/libretroshare/src/retroshare/rsphoto.h b/libretroshare/src/retroshare/rsphoto.h index f94f50f34..9c41e5377 100644 --- a/libretroshare/src/retroshare/rsphoto.h +++ b/libretroshare/src/retroshare/rsphoto.h @@ -25,8 +25,10 @@ #include #include #include -#include "rsgxsservice.h" -#include "rsgxscommon.h" +#include "retroshare/rsgxsservice.h" +#include "retroshare/rsgxscommon.h" +#include "retroshare/rsgxsifacehelper.h" + /* The Main Interface Class - for information about your Peers */ class RsPhoto; @@ -135,30 +137,13 @@ class RsPhotoAlbum uint32_t mModFlags; }; -class RsGxsPhotoCommentItem; -class RsPhotoComment -{ -public: - RsPhotoComment(); - - explicit RsPhotoComment(const RsGxsPhotoCommentItem& comment); - - RsPhotoComment& operator=(const RsGxsPhotoCommentItem& comment); - - RsMsgMetaData mMeta; - - std::string mComment; - uint32_t mCommentFlag; -}; std::ostream &operator<<(std::ostream &out, const RsPhotoPhoto &photo); std::ostream &operator<<(std::ostream &out, const RsPhotoAlbum &album); typedef std::map > PhotoResult; -typedef std::map > PhotoCommentResult; -typedef std::map > PhotoRelatedCommentResult; -class RsPhoto +class RsPhoto: public RsGxsIfaceHelper, public RsGxsCommentService { public: @@ -168,7 +153,7 @@ public: static const uint32_t FLAG_MSG_TYPE_MASK; - RsPhoto() { return; } + explicit RsPhoto(RsGxsIface &gxs) : RsGxsIfaceHelper(gxs) { return; } virtual ~RsPhoto() { return; } @@ -235,7 +220,7 @@ public: virtual bool getMsgSummary(const uint32_t &token, MsgMetaResult &msgInfo) = 0; - /* Specific Service Data */ + /* Specific Service Data */ /*! * @param token token to be redeemed for album request @@ -252,22 +237,6 @@ public: virtual bool getPhoto(const uint32_t &token, PhotoResult &photo) = 0; - /* details are updated in album - to choose Album ID, and storage path */ - - /*! - * @param token token to be redeemed for photo request - * @param photo the photo returned for given request token - * @return false if request token is invalid, check token status for error report - */ - virtual bool getPhotoComment(const uint32_t &token, - PhotoCommentResult& comments) = 0; - /*! - * @param token token to be redeemed for photo request - * @param photo the photo returned for given request token - * @return false if request token is invalid, check token status for error report - */ - virtual bool getPhotoRelatedComment(const uint32_t &token, PhotoRelatedCommentResult &comments) = 0; - /*! * submits album, which returns a token that needs * to be acknowledge to get album grp id @@ -284,16 +253,6 @@ public: */ virtual bool submitPhoto(uint32_t& token, RsPhotoPhoto &photo) = 0; - /*! - * submits photo comment, which returns a token that needs - * to be acknowledged to get photo msg-grp id pair - * The mParentId needs to be set to an existing msg for which - * commenting is enabled - * @param token token to redeem for acknowledgement - * @param comment comment to be submitted - */ - virtual bool submitComment(uint32_t& token, RsPhotoComment &photo) = 0; - /*! * subscribes to group, and returns token which can be used * to be acknowledged to get group Id diff --git a/libretroshare/src/rsitems/rsphotoitems.cc b/libretroshare/src/rsitems/rsphotoitems.cc index 2791b668c..77a920fd6 100644 --- a/libretroshare/src/rsitems/rsphotoitems.cc +++ b/libretroshare/src/rsitems/rsphotoitems.cc @@ -33,11 +33,10 @@ RsItem *RsGxsPhotoSerialiser::create_item(uint16_t service, uint8_t item_sub_id) switch(item_sub_id) { - case RS_PKT_SUBTYPE_PHOTO_COMMENT_ITEM: return new RsGxsPhotoCommentItem() ; case RS_PKT_SUBTYPE_PHOTO_SHOW_ITEM: return new RsGxsPhotoPhotoItem() ; case RS_PKT_SUBTYPE_PHOTO_ITEM: return new RsGxsPhotoAlbumItem() ; default: - return NULL ; + return RsGxsCommentSerialiser::create_item(service,item_sub_id) ; } } @@ -68,11 +67,6 @@ void RsGxsPhotoPhotoItem::serial_process(RsGenericSerializer::SerializeJob j,RsG photo.mThumbnail.serial_process(j, ctx); } -void RsGxsPhotoCommentItem::serial_process(RsGenericSerializer::SerializeJob j,RsGenericSerializer::SerializeContext& ctx) -{ - RsTypeSerializer::serial_process (j,ctx,TLV_TYPE_STR_COMMENT,comment.mComment,"mComment"); - RsTypeSerializer::serial_process(j,ctx,comment.mCommentFlag,"mCommentFlag"); -} void RsGxsPhotoAlbumItem::clear() { @@ -88,12 +82,6 @@ void RsGxsPhotoAlbumItem::clear() album.mThumbnail.clear(); } -void RsGxsPhotoCommentItem::clear() -{ - comment.mComment.clear(); - comment.mCommentFlag = 0; -} - void RsGxsPhotoPhotoItem::clear() { photo.mCaption.clear(); diff --git a/libretroshare/src/rsitems/rsphotoitems.h b/libretroshare/src/rsitems/rsphotoitems.h index 92f99843c..a504ae29b 100644 --- a/libretroshare/src/rsitems/rsphotoitems.h +++ b/libretroshare/src/rsitems/rsphotoitems.h @@ -26,6 +26,7 @@ #include "rsitems/rsserviceids.h" #include "rsitems/rsgxsitems.h" +#include "rsitems/rsgxscommentitems.h" #include "serialiser/rsserial.h" #include "serialiser/rsserializer.h" @@ -34,7 +35,6 @@ const uint8_t RS_PKT_SUBTYPE_PHOTO_ITEM = 0x02; const uint8_t RS_PKT_SUBTYPE_PHOTO_SHOW_ITEM = 0x03; -const uint8_t RS_PKT_SUBTYPE_PHOTO_COMMENT_ITEM = 0x04; class RsGxsPhotoAlbumItem : public RsGxsGrpItem { @@ -66,24 +66,11 @@ public: RsPhotoPhoto photo; }; -class RsGxsPhotoCommentItem : public RsGxsMsgItem +class RsGxsPhotoSerialiser : public RsGxsCommentSerialiser { public: - RsGxsPhotoCommentItem(): RsGxsMsgItem(RS_SERVICE_GXS_TYPE_PHOTO, RS_PKT_SUBTYPE_PHOTO_COMMENT_ITEM) {} - virtual ~RsGxsPhotoCommentItem() {} - void clear(); - - virtual void serial_process(RsGenericSerializer::SerializeJob j,RsGenericSerializer::SerializeContext& ctx); - - RsPhotoComment comment; -}; - -class RsGxsPhotoSerialiser : public RsServiceSerializer -{ -public: - - RsGxsPhotoSerialiser() :RsServiceSerializer(RS_SERVICE_GXS_TYPE_PHOTO) {} + RsGxsPhotoSerialiser() :RsGxsCommentSerialiser(RS_SERVICE_GXS_TYPE_PHOTO) {} virtual ~RsGxsPhotoSerialiser() {} virtual RsItem *create_item(uint16_t service, uint8_t item_sub_id) const; diff --git a/libretroshare/src/services/p3photoservice.cc b/libretroshare/src/services/p3photoservice.cc index 72402ddf8..7a0e3bd9c 100644 --- a/libretroshare/src/services/p3photoservice.cc +++ b/libretroshare/src/services/p3photoservice.cc @@ -42,18 +42,6 @@ RsPhotoAlbum::RsPhotoAlbum() return; } -RsPhotoComment::RsPhotoComment() - : mComment(""), mCommentFlag(0) { - -} - -RsPhotoComment::RsPhotoComment(const RsGxsPhotoCommentItem &comment) - : mComment(""), mCommentFlag(0) { - - *this = comment.comment; - (*this).mMeta = comment.meta; - -} std::ostream &operator<<(std::ostream &out, const RsPhotoPhoto &photo) { out << "RsPhotoPhoto [ "; @@ -62,7 +50,6 @@ std::ostream &operator<<(std::ostream &out, const RsPhotoPhoto &photo) return out; } - std::ostream &operator<<(std::ostream &out, const RsPhotoAlbum &album) { out << "RsPhotoAlbum [ "; @@ -73,8 +60,10 @@ std::ostream &operator<<(std::ostream &out, const RsPhotoAlbum &album) p3PhotoService::p3PhotoService(RsGeneralDataService* gds, RsNetworkExchangeService* nes, RsGixs* gixs) : RsGenExchange(gds, nes, new RsGxsPhotoSerialiser(), RS_SERVICE_GXS_TYPE_PHOTO, gixs, photoAuthenPolicy()), + RsPhoto(static_cast(*this)), mPhotoMutex(std::string("Photo Mutex")) { + mCommentService = new p3GxsCommentService(this, RS_SERVICE_GXS_TYPE_PHOTO); } const std::string GXS_PHOTO_APP_NAME = "gxsphoto"; @@ -93,8 +82,6 @@ RsServiceInfo p3PhotoService::getServiceInfo() GXS_PHOTO_MIN_MINOR_VERSION); } - - uint32_t p3PhotoService::photoAuthenPolicy() { uint32_t policy = 0; @@ -124,11 +111,10 @@ bool p3PhotoService::updated() void p3PhotoService::service_tick() { - + mCommentService->comment_tick(); } - void p3PhotoService::groupsChanged(std::list& grpIds) { RsStackMutex stack(mPhotoMutex); @@ -267,54 +253,6 @@ bool p3PhotoService::getPhoto(const uint32_t& token, PhotoResult& photos) return ok; } -bool p3PhotoService::getPhotoComment(const uint32_t &token, PhotoCommentResult &comments) -{ - GxsMsgDataMap msgData; - bool ok = RsGenExchange::getMsgData(token, msgData); - - if(ok) - { - GxsMsgDataMap::iterator mit = msgData.begin(); - - for(; mit != msgData.end(); ++mit) - { - RsGxsGroupId grpId = mit->first; - std::vector& msgItems = mit->second; - std::vector::iterator vit = msgItems.begin(); - - for(; vit != msgItems.end(); ++vit) - { - RsGxsPhotoCommentItem* item = dynamic_cast(*vit); - - if(item) - { - RsPhotoComment comment = item->comment; - comment.mMeta = item->meta; - comments[grpId].push_back(comment); - delete item; - }else - { - std::cerr << "Not a comment Item, deleting!" << std::endl; - delete *vit; - } - } - } - } - - return ok; -} - -RsPhotoComment& RsPhotoComment::operator=(const RsGxsPhotoCommentItem& comment) -{ - *this = comment.comment; - return *this; -} - -bool p3PhotoService::getPhotoRelatedComment(const uint32_t &token, PhotoRelatedCommentResult &comments) -{ - return RsGenExchange::getMsgRelatedDataT(token, comments); -} - bool p3PhotoService::submitAlbumDetails(uint32_t& token, RsPhotoAlbum& album) { RsGxsPhotoAlbumItem* albumItem = new RsGxsPhotoAlbumItem(); @@ -324,8 +262,6 @@ bool p3PhotoService::submitAlbumDetails(uint32_t& token, RsPhotoAlbum& album) return true; } - - void p3PhotoService::notifyChanges(std::vector& changes) { @@ -363,17 +299,6 @@ bool p3PhotoService::submitPhoto(uint32_t& token, RsPhotoPhoto& photo) return true; } -bool p3PhotoService::submitComment(uint32_t &token, RsPhotoComment &comment) -{ - RsGxsPhotoCommentItem* commentItem = new RsGxsPhotoCommentItem(); - commentItem->comment = comment; - commentItem->meta = comment.mMeta; - commentItem->meta.mMsgFlags = FLAG_MSG_TYPE_PHOTO_COMMENT; - - RsGenExchange::publishMsg(token, commentItem); - return true; -} - bool p3PhotoService::acknowledgeMsg(const uint32_t& token, std::pair& msgId) { @@ -397,4 +322,3 @@ bool p3PhotoService::subscribeToAlbum(uint32_t &token, const RsGxsGroupId &grpId return true; } - diff --git a/libretroshare/src/services/p3photoservice.h b/libretroshare/src/services/p3photoservice.h index d5a5ba661..7bbffd2b0 100644 --- a/libretroshare/src/services/p3photoservice.h +++ b/libretroshare/src/services/p3photoservice.h @@ -24,122 +24,154 @@ #include "gxs/rsgenexchange.h" #include "retroshare/rsphoto.h" +#include "services/p3gxscommon.h" -class p3PhotoService : public RsPhoto, public RsGenExchange +class p3PhotoService : public RsGenExchange, public RsPhoto { public: - p3PhotoService(RsGeneralDataService* gds, RsNetworkExchangeService* nes, RsGixs* gixs); -virtual RsServiceInfo getServiceInfo(); + p3PhotoService(RsGeneralDataService* gds, RsNetworkExchangeService* nes, RsGixs* gixs); + virtual RsServiceInfo getServiceInfo(); -static uint32_t photoAuthenPolicy(); + static uint32_t photoAuthenPolicy(); public: - /*! - * @return true if a change has occured - */ - bool updated(); + /*! + * @return true if a change has occured + */ + bool updated(); - /*! - * - */ - void service_tick(); + /*! + * + */ + void service_tick(); protected: - void notifyChanges(std::vector& changes); + void notifyChanges(std::vector& changes); public: - /** Requests **/ + /** Requests **/ - void groupsChanged(std::list& grpIds); + void groupsChanged(std::list& grpIds); - void msgsChanged(GxsMsgIdResult& msgs); + void msgsChanged(GxsMsgIdResult& msgs); - RsTokenService* getTokenService(); + RsTokenService* getTokenService(); - bool getGroupList(const uint32_t &token, - std::list &groupIds); - bool getMsgList(const uint32_t &token, - GxsMsgIdResult& msgIds); + bool getGroupList(const uint32_t &token, std::list &groupIds); + bool getMsgList(const uint32_t &token, GxsMsgIdResult& msgIds); - /* Generic Summary */ - bool getGroupSummary(const uint32_t &token, - std::list &groupInfo); + /* Generic Summary */ + bool getGroupSummary(const uint32_t &token, std::list &groupInfo); - bool getMsgSummary(const uint32_t &token, - MsgMetaResult &msgInfo); + bool getMsgSummary(const uint32_t &token, MsgMetaResult &msgInfo); - /* Specific Service Data */ - bool getAlbum(const uint32_t &token, std::vector &albums); - bool getPhoto(const uint32_t &token, PhotoResult &photos); - bool getPhotoComment(const uint32_t &token, PhotoCommentResult &comments); - bool getPhotoRelatedComment(const uint32_t &token, PhotoRelatedCommentResult &comments); + /* Specific Service Data */ + bool getAlbum(const uint32_t &token, std::vector &albums); + bool getPhoto(const uint32_t &token, PhotoResult &photos); + +public: + /* Comment service - Provide RsGxsCommentService - redirect to p3GxsCommentService */ + virtual bool getCommentData(uint32_t token, std::vector &msgs) override + { + return mCommentService->getGxsCommentData(token, msgs); + } + + virtual bool getRelatedComments( uint32_t token, std::vector &msgs ) override + { + return mCommentService->getGxsRelatedComments(token, msgs); + } + + virtual bool createNewComment(uint32_t &token, RsGxsComment &msg) override + { + return mCommentService->createGxsComment(token, msg); + } + + virtual bool createNewVote(uint32_t &token, RsGxsVote &msg) override + { + return mCommentService->createGxsVote(token, msg); + } + + virtual bool acknowledgeComment(uint32_t token, std::pair& msgId) override + { + return acknowledgeMsg(token, msgId); + } + + virtual bool acknowledgeVote(uint32_t token, std::pair& msgId) override + { + if (mCommentService->acknowledgeVote(token, msgId)) + { + return true; + } + return acknowledgeMsg(token, msgId); + } public: - /** Modifications **/ + /** Modifications **/ - /*! - * submits album, which returns a token that needs - * to be acknowledge to get album grp id - * @param token token to redeem for acknowledgement - * @param album album to be submitted - */ - bool submitAlbumDetails(uint32_t& token, RsPhotoAlbum &album); + /*! + * submits album, which returns a token that needs + * to be acknowledge to get album grp id + * @param token token to redeem for acknowledgement + * @param album album to be submitted + */ + bool submitAlbumDetails(uint32_t& token, RsPhotoAlbum &album); - /*! - * submits photo, which returns a token that needs - * to be acknowledge to get photo msg-grp id pair - * @param token token to redeem for acknowledgement - * @param photo photo to be submitted - */ - bool submitPhoto(uint32_t& token, RsPhotoPhoto &photo); + /*! + * submits photo, which returns a token that needs + * to be acknowledge to get photo msg-grp id pair + * @param token token to redeem for acknowledgement + * @param photo photo to be submitted + */ + bool submitPhoto(uint32_t& token, RsPhotoPhoto &photo); - /*! - * submits photo comment, which returns a token that needs - * to be acknowledged to get photo msg-grp id pair - * The mParentId needs to be set to an existing msg for which - * commenting is enabled - * @param token token to redeem for acknowledgement - * @param comment comment to be submitted - */ - bool submitComment(uint32_t& token, RsPhotoComment &photo); + /*! + * submits photo comment, which returns a token that needs + * to be acknowledged to get photo msg-grp id pair + * The mParentId needs to be set to an existing msg for which + * commenting is enabled + * @param token token to redeem for acknowledgement + * @param comment comment to be submitted + */ + // bool submitComment(uint32_t& token, RsPhotoComment &photo); - /*! - * subscribes to group, and returns token which can be used - * to be acknowledged to get group Id - * @param token token to redeem for acknowledgement - * @param grpId the id of the group to subscribe to - */ - bool subscribeToAlbum(uint32_t& token, const RsGxsGroupId& grpId, bool subscribe); + /*! + * subscribes to group, and returns token which can be used + * to be acknowledged to get group Id + * @param token token to redeem for acknowledgement + * @param grpId the id of the group to subscribe to + */ + bool subscribeToAlbum(uint32_t& token, const RsGxsGroupId& grpId, bool subscribe); - /*! - * This allows the client service to acknowledge that their msgs has - * been created/modified and retrieve the create/modified msg ids - * @param token the token related to modification/create request - * @param msgIds map of grpid->msgIds of message created/modified - * @return true if token exists false otherwise - */ - bool acknowledgeMsg(const uint32_t& token, std::pair& msgId); + /*! + * This allows the client service to acknowledge that their msgs has + * been created/modified and retrieve the create/modified msg ids + * @param token the token related to modification/create request + * @param msgIds map of grpid->msgIds of message created/modified + * @return true if token exists false otherwise + */ + bool acknowledgeMsg(const uint32_t& token, std::pair& msgId); - /*! + /*! * This allows the client service to acknowledge that their grps has * been created/modified and retrieve the create/modified grp ids * @param token the token related to modification/create request * @param msgIds vector of ids of groups created/modified * @return true if token exists false otherwise */ - bool acknowledgeGrp(const uint32_t& token, RsGxsGroupId& grpId); + bool acknowledgeGrp(const uint32_t& token, RsGxsGroupId& grpId); private: + p3GxsCommentService* mCommentService; - std::vector mGroupChange; - std::vector mMsgChange; + std::vector mGroupChange; + std::vector mMsgChange; - RsMutex mPhotoMutex; + RsMutex mPhotoMutex; }; #endif // P3PHOTOSERVICEV2_H diff --git a/retroshare-gui/src/gui/PhotoShare/AddCommentDialog.cpp b/retroshare-gui/src/gui/PhotoShare/AddCommentDialog.cpp deleted file mode 100644 index 7481d4a47..000000000 --- a/retroshare-gui/src/gui/PhotoShare/AddCommentDialog.cpp +++ /dev/null @@ -1,39 +0,0 @@ -/******************************************************************************* - * retroshare-gui/src/gui/PhotoShare/AddCommentDialog.cpp * - * * - * Copyright (C) 2018 by Retroshare Team * - * * - * This program is free software: you can redistribute it and/or modify * - * it under the terms of the GNU Affero General Public License as * - * published by the Free Software Foundation, either version 3 of the * - * License, or (at your option) any later version. * - * * - * This program is distributed in the hope that it will be useful, * - * but WITHOUT ANY WARRANTY; without even the implied warranty of * - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * - * GNU Affero General Public License for more details. * - * * - * You should have received a copy of the GNU Affero General Public License * - * along with this program. If not, see . * - * * - *******************************************************************************/ - -#include "AddCommentDialog.h" -#include "ui_AddCommentDialog.h" - -AddCommentDialog::AddCommentDialog(QWidget *parent) : - QDialog(parent), - ui(new Ui::AddCommentDialog) -{ - ui->setupUi(this); -} - -AddCommentDialog::~AddCommentDialog() -{ - delete ui; -} - -QString AddCommentDialog::getComment() const -{ - return ui->textEditAddComment->document()->toPlainText(); -} diff --git a/retroshare-gui/src/gui/PhotoShare/AddCommentDialog.h b/retroshare-gui/src/gui/PhotoShare/AddCommentDialog.h deleted file mode 100644 index f2003c132..000000000 --- a/retroshare-gui/src/gui/PhotoShare/AddCommentDialog.h +++ /dev/null @@ -1,43 +0,0 @@ -/******************************************************************************* - * retroshare-gui/src/gui/PhotoShare/AddCommentDialog.h * - * * - * Copyright (C) 2018 by Retroshare Team * - * * - * This program is free software: you can redistribute it and/or modify * - * it under the terms of the GNU Affero General Public License as * - * published by the Free Software Foundation, either version 3 of the * - * License, or (at your option) any later version. * - * * - * This program is distributed in the hope that it will be useful, * - * but WITHOUT ANY WARRANTY; without even the implied warranty of * - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * - * GNU Affero General Public License for more details. * - * * - * You should have received a copy of the GNU Affero General Public License * - * along with this program. If not, see . * - * * - *******************************************************************************/ - -#ifndef ADDCOMMENTDIALOG_H -#define ADDCOMMENTDIALOG_H - -#include - -namespace Ui { - class AddCommentDialog; -} - -class AddCommentDialog : public QDialog -{ - Q_OBJECT - -public: - explicit AddCommentDialog(QWidget *parent = 0); - ~AddCommentDialog(); - QString getComment() const; - -private: - Ui::AddCommentDialog *ui; -}; - -#endif // ADDCOMMENTDIALOG_H diff --git a/retroshare-gui/src/gui/PhotoShare/AddCommentDialog.ui b/retroshare-gui/src/gui/PhotoShare/AddCommentDialog.ui deleted file mode 100644 index d07b9f6dd..000000000 --- a/retroshare-gui/src/gui/PhotoShare/AddCommentDialog.ui +++ /dev/null @@ -1,67 +0,0 @@ - - - AddCommentDialog - - - - 0 - 0 - 370 - 118 - - - - Add Comment - - - - - - - - - Qt::Horizontal - - - QDialogButtonBox::Cancel|QDialogButtonBox::Ok - - - - - - - - - buttonBox - accepted() - AddCommentDialog - accept() - - - 248 - 254 - - - 157 - 274 - - - - - buttonBox - rejected() - AddCommentDialog - reject() - - - 316 - 260 - - - 286 - 274 - - - - - diff --git a/retroshare-gui/src/gui/PhotoShare/PhotoCommentItem.cpp b/retroshare-gui/src/gui/PhotoShare/PhotoCommentItem.cpp deleted file mode 100644 index 42f50c4f0..000000000 --- a/retroshare-gui/src/gui/PhotoShare/PhotoCommentItem.cpp +++ /dev/null @@ -1,52 +0,0 @@ -/******************************************************************************* - * retroshare-gui/src/gui/PhotoShare/PhotoCommentItem.cpp * - * * - * Copyright (C) 2018 by Retroshare Team * - * * - * This program is free software: you can redistribute it and/or modify * - * it under the terms of the GNU Affero General Public License as * - * published by the Free Software Foundation, either version 3 of the * - * License, or (at your option) any later version. * - * * - * This program is distributed in the hope that it will be useful, * - * but WITHOUT ANY WARRANTY; without even the implied warranty of * - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * - * GNU Affero General Public License for more details. * - * * - * You should have received a copy of the GNU Affero General Public License * - * along with this program. If not, see . * - * * - *******************************************************************************/ - -#include - -#include "PhotoCommentItem.h" -#include "ui_PhotoCommentItem.h" - - -PhotoCommentItem::PhotoCommentItem(const RsPhotoComment& comment, QWidget *parent): - QWidget(parent), - ui(new Ui::PhotoCommentItem), mComment(comment) -{ - ui->setupUi(this); - setUp(); -} - -PhotoCommentItem::~PhotoCommentItem() -{ - delete ui; -} - -const RsPhotoComment& PhotoCommentItem::getComment() -{ - return mComment; -} - -void PhotoCommentItem::setUp() -{ - ui->labelComment->setText(QString::fromUtf8(mComment.mComment.c_str())); - QDateTime qtime; - qtime.setTime_t(mComment.mMeta.mPublishTs); - QString timestamp = qtime.toString("dd.MMMM yyyy hh:mm"); - ui->datetimelabel->setText(timestamp); -} diff --git a/retroshare-gui/src/gui/PhotoShare/PhotoCommentItem.h b/retroshare-gui/src/gui/PhotoShare/PhotoCommentItem.h deleted file mode 100644 index eaf95fae7..000000000 --- a/retroshare-gui/src/gui/PhotoShare/PhotoCommentItem.h +++ /dev/null @@ -1,49 +0,0 @@ -/******************************************************************************* - * retroshare-gui/src/gui/PhotoShare/PhotoCommentItem.h * - * * - * Copyright (C) 2018 by Retroshare Team * - * * - * This program is free software: you can redistribute it and/or modify * - * it under the terms of the GNU Affero General Public License as * - * published by the Free Software Foundation, either version 3 of the * - * License, or (at your option) any later version. * - * * - * This program is distributed in the hope that it will be useful, * - * but WITHOUT ANY WARRANTY; without even the implied warranty of * - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * - * GNU Affero General Public License for more details. * - * * - * You should have received a copy of the GNU Affero General Public License * - * along with this program. If not, see . * - * * - *******************************************************************************/ - -#ifndef PHOTOCOMMENTITEM_H -#define PHOTOCOMMENTITEM_H - -#include -#include "retroshare/rsphoto.h" - -namespace Ui { - class PhotoCommentItem; -} - -class PhotoCommentItem : public QWidget -{ - Q_OBJECT - -public: - explicit PhotoCommentItem(const RsPhotoComment& comment, QWidget *parent = 0); - ~PhotoCommentItem(); - - const RsPhotoComment& getComment(); - -private: - - void setUp(); -private: - Ui::PhotoCommentItem *ui; - RsPhotoComment mComment; -}; - -#endif // PHOTOCOMMENTITEM_H diff --git a/retroshare-gui/src/gui/PhotoShare/PhotoCommentItem.ui b/retroshare-gui/src/gui/PhotoShare/PhotoCommentItem.ui deleted file mode 100644 index ce00ee85d..000000000 --- a/retroshare-gui/src/gui/PhotoShare/PhotoCommentItem.ui +++ /dev/null @@ -1,200 +0,0 @@ - - - PhotoCommentItem - - - - 0 - 0 - 338 - 60 - - - - Form - - - - 0 - - - - - - 0 - 0 - - - - - 400 - 71 - - - - - - - - - 255 - 255 - 255 - - - - - - - 237 - 239 - 244 - - - - - - - - - 255 - 255 - 255 - - - - - - - 237 - 239 - 244 - - - - - - - - - 237 - 239 - 244 - - - - - - - 237 - 239 - 244 - - - - - - - - true - - - - - - QFrame::StyledPanel - - - QFrame::Raised - - - - 2 - - - 2 - - - - - - 32 - 32 - - - - - 32 - 32 - - - - - - - :/images/no_avatar_70.png - - - true - - - - - - - - 0 - 0 - - - - true - - - true - - - Qt::LinksAccessibleByMouse|Qt::TextSelectableByKeyboard|Qt::TextSelectableByMouse - - - - - - - Qt::Vertical - - - - 29 - 13 - - - - - - - - - 75 - true - - - - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> -<html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:600; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:8pt; color:#666666;">DateTime</span></p></body></html> - - - - - - - - - - - - - diff --git a/retroshare-gui/src/gui/PhotoShare/PhotoDialog.cpp b/retroshare-gui/src/gui/PhotoShare/PhotoDialog.cpp index 0d2112304..6251dc38f 100644 --- a/retroshare-gui/src/gui/PhotoShare/PhotoDialog.cpp +++ b/retroshare-gui/src/gui/PhotoShare/PhotoDialog.cpp @@ -23,235 +23,168 @@ #include "PhotoDialog.h" #include "ui_PhotoDialog.h" #include "retroshare/rsidentity.h" -#include "AddCommentDialog.h" +#include "gui/gxs/GxsCommentDialog.h" PhotoDialog::PhotoDialog(RsPhoto *rs_photo, const RsPhotoPhoto &photo, QWidget *parent) : - QDialog(parent, Qt::WindowSystemMenuHint | Qt::WindowTitleHint | Qt::WindowMinMaxButtonsHint | Qt::WindowCloseButtonHint), - ui(new Ui::PhotoDialog), mRsPhoto(rs_photo), mPhotoQueue(new TokenQueue(mRsPhoto->getTokenService(), this)), - mPhotoDetails(photo) + QDialog(parent, Qt::WindowSystemMenuHint | Qt::WindowTitleHint | Qt::WindowMinMaxButtonsHint | Qt::WindowCloseButtonHint), + ui(new Ui::PhotoDialog), mRsPhoto(rs_photo), mPhotoQueue(new TokenQueue(mRsPhoto->getTokenService(), this)), + mPhotoDetails(photo), + mCommentsCreated(false) { - ui->setupUi(this); - setAttribute ( Qt::WA_DeleteOnClose, true ); + ui->setupUi(this); + setAttribute ( Qt::WA_DeleteOnClose, true ); - connect(ui->pushButton_AddComment, SIGNAL(clicked()), this, SLOT(createComment())); - connect(ui->pushButton_AddCommentDlg, SIGNAL(clicked()), this, SLOT(addComment())); - connect(ui->fullscreenButton, SIGNAL(clicked()),this, SLOT(setFullScreen())); + connect(ui->fullscreenButton, SIGNAL(clicked()),this, SLOT(setFullScreen())); + connect(ui->commentsButton, SIGNAL(clicked()),this, SLOT(toggleComments())); + connect(ui->detailsButton, SIGNAL(clicked()),this, SLOT(toggleDetails())); -#if QT_VERSION >= 0x040700 - ui->lineEdit->setPlaceholderText(tr("Write a comment...")) ; -#endif - - setUp(); + setUp(); } PhotoDialog::~PhotoDialog() { - delete ui; - delete mPhotoQueue; + delete ui; + delete mPhotoQueue; } void PhotoDialog::setUp() { - QPixmap qtn; - qtn.loadFromData(mPhotoDetails.mThumbnail.mData, mPhotoDetails.mThumbnail.mSize, "PNG"); - ui->label_Photo->setPixmap(qtn); - ui->lineEdit_Title->setText(QString::fromStdString(mPhotoDetails.mMeta.mMsgName)); + QPixmap qtn; + qtn.loadFromData(mPhotoDetails.mThumbnail.mData, mPhotoDetails.mThumbnail.mSize, "PNG"); + ui->label_Photo->setPixmap(qtn); + ui->label_Photo->setVisible(true); - requestComments(); + // set size of label to match image. + ui->label_Photo->setMinimumSize(ui->label_Photo->sizeHint()); + // alternative is to scale contents. + // ui->label_Photo->setScaledContents(true); + // Neither are ideal. sizeHint is potentially too large. + // scaled contents - doesn't respect Aspect Ratio... + // + // Ideal soln: + // Allow both, depending on Zoom Factor. + // Auto: use Scale, with correct aspect ratio. + // answer here: https://stackoverflow.com/questions/8211982/qt-resizing-a-qlabel-containing-a-qpixmap-while-keeping-its-aspect-ratio + // Fixed %, then manually scale to that, with scroll area. + + ui->lineEdit_Title->setText(QString::fromStdString(mPhotoDetails.mMeta.mMsgName)); + ui->frame_comments->setVisible(false); + ui->frame_details->setVisible(false); } -void PhotoDialog::addComment() +void PhotoDialog::toggleDetails() { - AddCommentDialog dlg(this); - if (dlg.exec() == QDialog::Accepted) { - RsPhotoComment comment; - comment.mComment = dlg.getComment().toUtf8().constData(); - - uint32_t token; - comment.mMeta.mGroupId = mPhotoDetails.mMeta.mGroupId; - comment.mMeta.mParentId = mPhotoDetails.mMeta.mOrigMsgId; - mRsPhoto->submitComment(token, comment); - mPhotoQueue->queueRequest(token, TOKENREQ_MSGINFO, RS_TOKREQ_ANSTYPE_ACK, 0); - } + if (ui->frame_details->isVisible()) { + ui->frame_details->setVisible(false); + } else { + ui->frame_details->setVisible(true); + } } -void PhotoDialog::clearComments() +void PhotoDialog::toggleComments() { - //QLayout* l = ui->scrollAreaWidgetContents->layout(); - QSetIterator sit(mComments); - while(sit.hasNext()) - { - PhotoCommentItem* item = sit.next(); - ui->verticalLayout->removeWidget(item); - item->setParent(NULL); - delete item; - } + if (ui->frame_comments->isVisible()) { + ui->frame_comments->setVisible(false); + } else { + if (mCommentsCreated) { + ui->frame_comments->setVisible(true); + } else { + // create CommentDialog. + RsGxsCommentService *commentService = dynamic_cast(mRsPhoto); + GxsCommentDialog *commentDialog = new GxsCommentDialog(this, mRsPhoto->getTokenService(), commentService); - mComments.clear(); + // TODO: Need to fetch all msg versions, otherwise - won't get all the comments. + // For the moment - use current msgid. + // Needs to be passed to PhotoDialog, or fetched here. + + RsGxsGroupId grpId = mPhotoDetails.mMeta.mGroupId; + RsGxsMessageId msgId = mPhotoDetails.mMeta.mMsgId; + + std::set msgv; + msgv.insert(msgId); + msgv.insert(mPhotoDetails.mMeta.mOrigMsgId); // if duplicate will be ignored. + + commentDialog->commentLoad(grpId, msgv,msgId); + + // insert into frame. + QVBoxLayout *vbox = new QVBoxLayout(); + + vbox->addWidget(commentDialog); + ui->frame_comments->setLayout(vbox); + + ui->frame_comments->setVisible(true); + mCommentsCreated = true; + } + } } -void PhotoDialog::resetComments() -{ - QSetIterator sit(mComments); - //QLayout* l = ui->scrollAreaWidgetContents->layout(); - while(sit.hasNext()) - { - PhotoCommentItem* item = sit.next(); - ui->verticalLayout->insertWidget(0,item); - } -} - -void PhotoDialog::requestComments() -{ - RsTokReqOptions opts; - opts.mMsgFlagMask = RsPhoto::FLAG_MSG_TYPE_MASK; - opts.mMsgFlagFilter = RsPhoto::FLAG_MSG_TYPE_PHOTO_COMMENT; - - opts.mReqType = GXS_REQUEST_TYPE_MSG_IDS; - opts.mReqType = GXS_REQUEST_TYPE_MSG_RELATED_DATA; - opts.mOptions = RS_TOKREQOPT_MSG_PARENT | RS_TOKREQOPT_MSG_LATEST; - RsGxsGrpMsgIdPair msgId; - uint32_t token; - msgId.first = mPhotoDetails.mMeta.mGroupId; - msgId.second = mPhotoDetails.mMeta.mMsgId; - std::vector msgIdV; - msgIdV.push_back(msgId); - mPhotoQueue->requestMsgRelatedInfo(token, RS_TOKREQ_ANSTYPE_DATA, opts, msgIdV, 0); -} - -void PhotoDialog::createComment() -{ - RsPhotoComment comment; - QString commentString = ui->lineEdit->text(); - - comment.mComment = commentString.toUtf8().constData(); - - uint32_t token; - comment.mMeta.mGroupId = mPhotoDetails.mMeta.mGroupId; - comment.mMeta.mParentId = mPhotoDetails.mMeta.mOrigMsgId; - mRsPhoto->submitComment(token, comment); - mPhotoQueue->queueRequest(token, TOKENREQ_MSGINFO, RS_TOKREQ_ANSTYPE_ACK, 0); - - ui->lineEdit->clear(); -} - - /*************** message loading **********************/ void PhotoDialog::loadRequest(const TokenQueue *queue, const TokenRequest &req) { - std::cerr << "PhotoShare::loadRequest()"; - std::cerr << std::endl; + std::cerr << "PhotoShare::loadRequest()"; + std::cerr << std::endl; - if (queue == mPhotoQueue) - { - /* now switch on req */ - switch(req.mType) - { - case TOKENREQ_MSGINFO: - { - switch(req.mAnsType) - { - case RS_TOKREQ_ANSTYPE_DATA: - loadComment(req.mToken); - break; - case RS_TOKREQ_ANSTYPE_LIST: - loadList(req.mToken); - break; - case RS_TOKREQ_ANSTYPE_ACK: - acknowledgeComment(req.mToken); - break; - default: - std::cerr << "PhotoShare::loadRequest() ERROR: MSG INVALID TYPE"; - std::cerr << std::endl; - break; - } - break; - } + if (queue == mPhotoQueue) + { + /* now switch on req */ + switch(req.mType) + { + case TOKENREQ_MSGINFO: + { + switch(req.mAnsType) + { + case RS_TOKREQ_ANSTYPE_LIST: + loadList(req.mToken); + break; + default: + std::cerr << "PhotoShare::loadRequest() ERROR: MSG INVALID TYPE"; + std::cerr << std::endl; + break; + } + break; + } - default: - { - std::cerr << "PhotoShare::loadRequest() ERROR: INVALID TYPE"; - std::cerr << std::endl; - break; - } - } - } + default: + { + std::cerr << "PhotoShare::loadRequest() ERROR: INVALID TYPE"; + std::cerr << std::endl; + break; + } + } + } } -void PhotoDialog::loadComment(uint32_t token) -{ - - clearComments(); - - PhotoRelatedCommentResult results; - mRsPhoto->getPhotoRelatedComment(token, results); - - PhotoRelatedCommentResult::iterator mit = results.begin(); - - for(; mit != results.end(); ++mit) - { - const std::vector& commentV = mit->second; - std::vector::const_iterator vit = commentV.begin(); - - for(; vit != commentV.end(); ++vit) - { - addComment(*vit); - } - } - - resetComments(); -} - void PhotoDialog::loadList(uint32_t token) { - GxsMsgReq msgIds; - mRsPhoto->getMsgList(token, msgIds); - RsTokReqOptions opts; + GxsMsgReq msgIds; + mRsPhoto->getMsgList(token, msgIds); + RsTokReqOptions opts; - // just use data as no need to worry about getting comments - opts.mReqType = GXS_REQUEST_TYPE_MSG_DATA; - uint32_t reqToken; - mPhotoQueue->requestMsgInfo(reqToken, RS_TOKREQ_ANSTYPE_DATA, opts, msgIds, 0); -} - -void PhotoDialog::addComment(const RsPhotoComment &comment) -{ - PhotoCommentItem* item = new PhotoCommentItem(comment); - mComments.insert(item); -} - -void PhotoDialog::acknowledgeComment(uint32_t token) -{ - RsGxsGrpMsgIdPair msgId; - mRsPhoto->acknowledgeMsg(token, msgId); - - if(msgId.first.isNull() || msgId.second.isNull()){ - - }else - { - requestComments(); - } + // just use data as no need to worry about getting comments + opts.mReqType = GXS_REQUEST_TYPE_MSG_DATA; + uint32_t reqToken; + mPhotoQueue->requestMsgInfo(reqToken, RS_TOKREQ_ANSTYPE_DATA, opts, msgIds, 0); } void PhotoDialog::setFullScreen() { if (!isFullScreen()) { - // hide menu & toolbars + // hide menu & toolbars #ifdef Q_OS_LINUX - show(); - raise(); - setWindowState( windowState() | Qt::WindowFullScreen ); + show(); + raise(); + setWindowState( windowState() | Qt::WindowFullScreen ); #else - setWindowState( windowState() | Qt::WindowFullScreen ); - show(); - raise(); + setWindowState( windowState() | Qt::WindowFullScreen ); + show(); + raise(); #endif } else { - setWindowState( windowState() ^ Qt::WindowFullScreen ); - show(); + setWindowState( windowState() ^ Qt::WindowFullScreen ); + show(); } } diff --git a/retroshare-gui/src/gui/PhotoShare/PhotoDialog.h b/retroshare-gui/src/gui/PhotoShare/PhotoDialog.h index abbd0bd7d..4f2c325eb 100644 --- a/retroshare-gui/src/gui/PhotoShare/PhotoDialog.h +++ b/retroshare-gui/src/gui/PhotoShare/PhotoDialog.h @@ -25,58 +25,40 @@ #include #include "retroshare/rsphoto.h" #include "util/TokenQueue.h" -#include "PhotoCommentItem.h" namespace Ui { - class PhotoDialog; + class PhotoDialog; } class PhotoDialog : public QDialog, public TokenResponse { - Q_OBJECT + Q_OBJECT public: - explicit PhotoDialog(RsPhoto* rs_photo, const RsPhotoPhoto& photo, QWidget *parent = 0); - ~PhotoDialog(); + explicit PhotoDialog(RsPhoto* rs_photo, const RsPhotoPhoto& photo, QWidget *parent = 0); + ~PhotoDialog(); private slots: - void addComment(); - void createComment(); void setFullScreen(); + void toggleDetails(); + void toggleComments(); public: - void loadRequest(const TokenQueue *queue, const TokenRequest &req); + void loadRequest(const TokenQueue *queue, const TokenRequest &req); private: - void setUp(); + void setUp(); - /*! - * clears comments - * and places them back in dialog - */ - void resetComments(); + void loadList(uint32_t token); - /*! - * Request comments - */ - void requestComments(); - - /*! - * Simply removes comments but doesn't place them back in dialog - */ - void clearComments(); - - void acknowledgeComment(uint32_t token); - void loadComment(uint32_t token); - void loadList(uint32_t token); - void addComment(const RsPhotoComment& comment); private: - Ui::PhotoDialog *ui; + Ui::PhotoDialog *ui; - RsPhoto* mRsPhoto; - TokenQueue* mPhotoQueue; - RsPhotoPhoto mPhotoDetails; - QSet mComments; + RsPhoto* mRsPhoto; + TokenQueue* mPhotoQueue; + RsPhotoPhoto mPhotoDetails; + + bool mCommentsCreated; }; #endif // PHOTODIALOG_H diff --git a/retroshare-gui/src/gui/PhotoShare/PhotoDialog.ui b/retroshare-gui/src/gui/PhotoShare/PhotoDialog.ui index a6689f772..b8ab9d67b 100644 --- a/retroshare-gui/src/gui/PhotoShare/PhotoDialog.ui +++ b/retroshare-gui/src/gui/PhotoShare/PhotoDialog.ui @@ -6,8 +6,8 @@ 0 0 - 594 - 572 + 790 + 824 @@ -16,313 +16,239 @@ true - - - - - - 0 - 1 - + + + + + Qt::Horizontal - - Photo - - - - - - - 0 - 0 - - - - - 200 - 300 - - - - TextLabel - - - - - - - - - - - 0 - 0 - - - - - - - - - 255 - 255 - 255 - - - - - - - 255 - 255 - 255 - - - - - - - - - 255 - 255 - 255 - - - - - - - 255 - 255 - 255 - - - - - - - - - 255 - 255 - 255 - - - - - - - 255 - 255 - 255 - - - - - - - - true - - - QFrame::StyledPanel - - - QFrame::Raised - - - - - - - 0 - 0 - - - - - 300 - 0 - - - - true - - - - - 0 - 0 - 328 - 20 - - + + + + - + + 0 + 1 + + + + Album / Photo Name + + + + + + + 100 + 100 + + + + true + + + + + 0 + 0 + 558 + 551 + + + + + + + + 0 + 0 + + + + + 200 + 300 + + + + TextLabel + + + + + + + + + + + + + + + + + ... + + + + :/images/window_fullscreen.png:/images/window_fullscreen.png + + + true + + + + + + + Details \/ + + + + + + + + 50 % + + + + + 75 % + + + + + 100 % + + + + + 200 % + + + + + + + + <N> Comments >> + + + + + + + + + + 0 0 - - - - - 1 + + + 50 + 0 + + + + + + + false - + + + 0 + 0 + + + + + + + + Caption + + + + + + + false + + + + 0 + 0 + + + + + + + + Where: + + + + + + + false + + + + 0 + 0 + + + + + + + + false + + + + 0 + 0 + + + + + + + + Photo Title: + + + + + + + When + + - - - - - - - - - Comment - - - - - - - - - - - 0 - 0 - - - - - 50 - 0 - - - - Summary - - - - - - false - - - - 0 - 0 - - - - - - - - Caption - - - - - - - false - - - - 0 - 0 - - - - - - - - Where: - - - - - - - false - - - - 0 - 0 - - - - - - - - false - - - - 0 - 0 - - - - - - - - Photo Title: - - - - - - - When - - - - - - - - - - ... - - - - :/images/window_fullscreen.png:/images/window_fullscreen.png - - - true - - - - - - - Qt::Horizontal - - - - 238 - 20 - - - - - - - - Add Comment - + + + + + + QFrame::StyledPanel + + + QFrame::Raised + + diff --git a/retroshare-gui/src/gui/gxs/GxsGroupDialog.cpp b/retroshare-gui/src/gui/gxs/GxsGroupDialog.cpp index 16991b72f..908a3027c 100644 --- a/retroshare-gui/src/gui/gxs/GxsGroupDialog.cpp +++ b/retroshare-gui/src/gui/gxs/GxsGroupDialog.cpp @@ -165,7 +165,6 @@ void GxsGroupDialog::injectExtraWidget(QWidget *widget) // add extra widget into layout. QVBoxLayout *vbox = new QVBoxLayout(); vbox->addWidget(widget); - vbox->addStretch(1); ui.extraFrame->setLayout(vbox); } diff --git a/retroshare-gui/src/retroshare-gui.pro b/retroshare-gui/src/retroshare-gui.pro index f5e25f593..c7de7add3 100644 --- a/retroshare-gui/src/retroshare-gui.pro +++ b/retroshare-gui/src/retroshare-gui.pro @@ -1164,10 +1164,8 @@ gxsphotoshare { gui/PhotoShare/PhotoShareItemHolder.h \ gui/PhotoShare/PhotoShare.h \ gui/PhotoShare/PhotoSlideShow.h \ - gui/PhotoShare/PhotoDialog.h \ - gui/PhotoShare/PhotoCommentItem.h \ - gui/PhotoShare/AddCommentDialog.h - + gui/PhotoShare/PhotoDialog.h + FORMS += \ gui/PhotoShare/AlbumExtra.ui \ gui/PhotoShare/PhotoItem.ui \ @@ -1176,10 +1174,8 @@ gxsphotoshare { gui/PhotoShare/AlbumDialog.ui \ gui/PhotoShare/AlbumCreateDialog.ui \ gui/PhotoShare/PhotoShare.ui \ - gui/PhotoShare/PhotoSlideShow.ui \ - gui/PhotoShare/PhotoCommentItem.ui \ - gui/PhotoShare/AddCommentDialog.ui - + gui/PhotoShare/PhotoSlideShow.ui + SOURCES += \ gui/PhotoShare/AlbumGroupDialog.cpp \ gui/PhotoShare/AlbumExtra.cpp \ @@ -1191,10 +1187,8 @@ gxsphotoshare { gui/PhotoShare/AlbumCreateDialog.cpp \ gui/PhotoShare/PhotoShareItemHolder.cpp \ gui/PhotoShare/PhotoShare.cpp \ - gui/PhotoShare/PhotoSlideShow.cpp \ - gui/PhotoShare/PhotoCommentItem.cpp \ - gui/PhotoShare/AddCommentDialog.cpp - + gui/PhotoShare/PhotoSlideShow.cpp + RESOURCES += gui/PhotoShare/Photo_images.qrc } From e796fa265851b196ce8595a471a9df7fcbf12f91 Mon Sep 17 00:00:00 2001 From: defnax Date: Sun, 16 Feb 2020 20:44:04 +0100 Subject: [PATCH 2/7] removed unfinished checkbox --- retroshare-gui/src/gui/Posted/PostedCreatePostDialog.ui | 7 ------- 1 file changed, 7 deletions(-) diff --git a/retroshare-gui/src/gui/Posted/PostedCreatePostDialog.ui b/retroshare-gui/src/gui/Posted/PostedCreatePostDialog.ui index 1cdea5f8a..73a57eb6a 100644 --- a/retroshare-gui/src/gui/Posted/PostedCreatePostDialog.ui +++ b/retroshare-gui/src/gui/Posted/PostedCreatePostDialog.ui @@ -279,13 +279,6 @@ - - - - Share Orginal Image - - - From cc4acc0c504274adc24b18051db53452cd85da0a Mon Sep 17 00:00:00 2001 From: defnax Date: Mon, 17 Feb 2020 20:01:08 +0100 Subject: [PATCH 3/7] update & clean up the wiki icons --- .../src/gui/WikiPoos/WikiDialog.cpp | 10 +-- retroshare-gui/src/gui/WikiPoos/WikiDialog.ui | 58 +++++++++++++----- .../src/gui/WikiPoos/WikiEditDialog.cpp | 4 +- .../src/gui/WikiPoos/Wiki_images.qrc | 22 +++---- .../src/gui/WikiPoos/images/addpage.png | Bin 0 -> 2528 bytes .../gui/WikiPoos/images/appointment-new.png | Bin 3289 -> 0 bytes .../WikiPoos/images/appointment-new_64.png | Bin 8079 -> 0 bytes .../gui/WikiPoos/images/arrow-left-double.png | Bin 1364 -> 0 bytes .../src/gui/WikiPoos/images/arrow-left.png | Bin 1019 -> 962 bytes .../WikiPoos/images/arrow-right-double.png | Bin 1398 -> 0 bytes .../src/gui/WikiPoos/images/arrow-right.png | Bin 1006 -> 944 bytes .../src/gui/WikiPoos/images/book2_128.png | Bin 12425 -> 0 bytes .../src/gui/WikiPoos/images/book2_16.png | Bin 786 -> 0 bytes .../src/gui/WikiPoos/images/book2_32.png | Bin 1858 -> 0 bytes .../src/gui/WikiPoos/images/book2_48.png | Bin 3265 -> 0 bytes .../src/gui/WikiPoos/images/book2_64.png | Bin 4703 -> 0 bytes .../src/gui/WikiPoos/images/editpage.png | Bin 0 -> 1459 bytes .../src/gui/WikiPoos/images/reload.png | Bin 0 -> 2839 bytes .../src/gui/WikiPoos/images/republish.png | Bin 2182 -> 0 bytes .../WikiPoos/images/resource-group-new.png | Bin 2266 -> 0 bytes .../WikiPoos/images/resource-group-new_48.png | Bin 3842 -> 0 bytes .../WikiPoos/images/resource-group-new_64.png | Bin 6354 -> 0 bytes .../gui/WikiPoos/images/resource-group.png | Bin 1823 -> 0 bytes .../gui/WikiPoos/images/resource-group_22.png | Bin 1208 -> 0 bytes .../gui/WikiPoos/images/resource-group_64.png | Bin 5049 -> 0 bytes .../src/gui/WikiPoos/images/story-editor.png | Bin 1646 -> 0 bytes .../gui/WikiPoos/images/story-editor_48.png | Bin 2543 -> 0 bytes .../src/gui/WikiPoos/images/view-refresh.png | Bin 2182 -> 0 bytes .../src/gui/WikiPoos/images/wikibook_128.png | Bin 11798 -> 0 bytes .../src/gui/WikiPoos/images/wikibook_32.png | Bin 1880 -> 0 bytes .../src/gui/WikiPoos/images/wikibook_48.png | Bin 3154 -> 0 bytes .../src/gui/WikiPoos/images/wikibook_64.png | Bin 4588 -> 0 bytes .../src/gui/gxs/WikiGroupDialog.cpp | 2 +- 33 files changed, 58 insertions(+), 38 deletions(-) create mode 100644 retroshare-gui/src/gui/WikiPoos/images/addpage.png delete mode 100644 retroshare-gui/src/gui/WikiPoos/images/appointment-new.png delete mode 100644 retroshare-gui/src/gui/WikiPoos/images/appointment-new_64.png delete mode 100644 retroshare-gui/src/gui/WikiPoos/images/arrow-left-double.png delete mode 100644 retroshare-gui/src/gui/WikiPoos/images/arrow-right-double.png delete mode 100644 retroshare-gui/src/gui/WikiPoos/images/book2_128.png delete mode 100644 retroshare-gui/src/gui/WikiPoos/images/book2_16.png delete mode 100644 retroshare-gui/src/gui/WikiPoos/images/book2_32.png delete mode 100644 retroshare-gui/src/gui/WikiPoos/images/book2_48.png delete mode 100644 retroshare-gui/src/gui/WikiPoos/images/book2_64.png create mode 100644 retroshare-gui/src/gui/WikiPoos/images/editpage.png create mode 100644 retroshare-gui/src/gui/WikiPoos/images/reload.png delete mode 100644 retroshare-gui/src/gui/WikiPoos/images/republish.png delete mode 100644 retroshare-gui/src/gui/WikiPoos/images/resource-group-new.png delete mode 100644 retroshare-gui/src/gui/WikiPoos/images/resource-group-new_48.png delete mode 100644 retroshare-gui/src/gui/WikiPoos/images/resource-group-new_64.png delete mode 100644 retroshare-gui/src/gui/WikiPoos/images/resource-group.png delete mode 100644 retroshare-gui/src/gui/WikiPoos/images/resource-group_22.png delete mode 100644 retroshare-gui/src/gui/WikiPoos/images/resource-group_64.png delete mode 100644 retroshare-gui/src/gui/WikiPoos/images/story-editor.png delete mode 100644 retroshare-gui/src/gui/WikiPoos/images/story-editor_48.png delete mode 100644 retroshare-gui/src/gui/WikiPoos/images/view-refresh.png delete mode 100644 retroshare-gui/src/gui/WikiPoos/images/wikibook_128.png delete mode 100644 retroshare-gui/src/gui/WikiPoos/images/wikibook_32.png delete mode 100644 retroshare-gui/src/gui/WikiPoos/images/wikibook_48.png delete mode 100644 retroshare-gui/src/gui/WikiPoos/images/wikibook_64.png diff --git a/retroshare-gui/src/gui/WikiPoos/WikiDialog.cpp b/retroshare-gui/src/gui/WikiPoos/WikiDialog.cpp index 68e1adbb3..8ffb4293a 100644 --- a/retroshare-gui/src/gui/WikiPoos/WikiDialog.cpp +++ b/retroshare-gui/src/gui/WikiPoos/WikiDialog.cpp @@ -73,7 +73,7 @@ #define IMAGE_NEWFORUM ":/images/new_forum16.png" #define IMAGE_FORUMAUTHD ":/images/konv_message2.png" #define IMAGE_COPYLINK ":/images/copyrslink.png" -#define IMAGE_WIKI ":/images/wikibook_32.png" +#define IMAGE_WIKI ":/icons/png/wiki.png" #define IMAGE_EDIT ":/images/edit_16.png" @@ -108,10 +108,10 @@ WikiDialog::WikiDialog(QWidget *parent) /* Setup Group Tree */ - mYourGroups = ui.groupTreeWidget->addCategoryItem(tr("My Groups"), QIcon(IMAGE_FOLDER), true); - mSubscribedGroups = ui.groupTreeWidget->addCategoryItem(tr("Subscribed Groups"), QIcon(IMAGE_FOLDERRED), true); - mPopularGroups = ui.groupTreeWidget->addCategoryItem(tr("Popular Groups"), QIcon(IMAGE_FOLDERGREEN), false); - mOtherGroups = ui.groupTreeWidget->addCategoryItem(tr("Other Groups"), QIcon(IMAGE_FOLDERYELLOW), false); + mYourGroups = ui.groupTreeWidget->addCategoryItem(tr("My Groups"), QIcon(), true); + mSubscribedGroups = ui.groupTreeWidget->addCategoryItem(tr("Subscribed Groups"), QIcon(), true); + mPopularGroups = ui.groupTreeWidget->addCategoryItem(tr("Popular Groups"), QIcon(), false); + mOtherGroups = ui.groupTreeWidget->addCategoryItem(tr("Other Groups"), QIcon(), false); } diff --git a/retroshare-gui/src/gui/WikiPoos/WikiDialog.ui b/retroshare-gui/src/gui/WikiPoos/WikiDialog.ui index e40acfcc4..e8666ed09 100644 --- a/retroshare-gui/src/gui/WikiPoos/WikiDialog.ui +++ b/retroshare-gui/src/gui/WikiPoos/WikiDialog.ui @@ -37,7 +37,7 @@ 0 - + 16777215 @@ -51,7 +51,16 @@ QFrame::Sunken - + + 2 + + + 2 + + + 2 + + 2 @@ -66,7 +75,7 @@ - :/images/wikibook_32.png + :/icons/png/wiki.png true @@ -93,8 +102,8 @@ New Group - - :/images/resource-group-new.png:/images/resource-group-new.png + + :/icons/png/add.png:/icons/png/add.png @@ -123,12 +132,21 @@ 0 0 - 232 - 462 + 241 + 480 - + + 0 + + + 0 + + + 0 + + 0 @@ -186,7 +204,16 @@ QFrame::Sunken - + + 2 + + + 2 + + + 2 + + 2 @@ -261,7 +288,7 @@ - :/images/republish.png:/images/republish.png + :/images/reload.png:/images/reload.png @@ -284,7 +311,7 @@ - :/images/story-editor.png:/images/story-editor.png + :/images/editpage.png:/images/editpage.png @@ -314,7 +341,7 @@ - :/images/appointment-new.png:/images/appointment-new.png + :/images/addpage.png:/images/addpage.png @@ -340,7 +367,7 @@ - :/images/republish.png:/images/republish.png + :/images/reload.png:/images/reload.png @@ -392,8 +419,8 @@ 0 0 - 501 - 462 + 510 + 480 @@ -443,6 +470,7 @@ + diff --git a/retroshare-gui/src/gui/WikiPoos/WikiEditDialog.cpp b/retroshare-gui/src/gui/WikiPoos/WikiEditDialog.cpp index b2f56d2c9..4658bf875 100644 --- a/retroshare-gui/src/gui/WikiPoos/WikiEditDialog.cpp +++ b/retroshare-gui/src/gui/WikiPoos/WikiEditDialog.cpp @@ -414,7 +414,7 @@ void WikiEditDialog::setNewPage() ui.groupBox_History->hide(); ui.pushButton_History->setText(tr("Show Edit History")); - ui.headerFrame->setHeaderImage(QPixmap(":/images/appointment-new_64.png")); + ui.headerFrame->setHeaderImage(QPixmap(":/images/addpage.png")); ui.headerFrame->setHeaderText(tr("Create New Wiki Page")); setWindowTitle(tr("Create New Wiki Page")); @@ -569,7 +569,7 @@ void WikiEditDialog::setupData(const RsGxsGroupId &groupId, const RsGxsMessageId requestPage(msgId); } - ui.headerFrame->setHeaderImage(QPixmap(":/images/story-editor_48.png")); + ui.headerFrame->setHeaderImage(QPixmap(":/images/editpage.png")); ui.headerFrame->setHeaderText(tr("Edit Wiki Page")); setWindowTitle(tr("Edit Wiki Page")); diff --git a/retroshare-gui/src/gui/WikiPoos/Wiki_images.qrc b/retroshare-gui/src/gui/WikiPoos/Wiki_images.qrc index 5bee8bea2..fbd4e69d7 100644 --- a/retroshare-gui/src/gui/WikiPoos/Wiki_images.qrc +++ b/retroshare-gui/src/gui/WikiPoos/Wiki_images.qrc @@ -1,17 +1,9 @@ - - images/appointment-new.png - images/appointment-new_64.png - images/arrow-left.png - images/arrow-right.png - images/book2_32.png - images/story-editor.png - images/story-editor_48.png - images/republish.png - images/resource-group-new.png - images/resource-group_64.png - images/resource-group-new_48.png - images/resource-group-new_64.png - images/wikibook_32.png - + + images/arrow-left.png + images/arrow-right.png + images/addpage.png + images/editpage.png + images/reload.png + diff --git a/retroshare-gui/src/gui/WikiPoos/images/addpage.png b/retroshare-gui/src/gui/WikiPoos/images/addpage.png new file mode 100644 index 0000000000000000000000000000000000000000..298d7eac665e80d5042ccea38b8bffbafe632bf3 GIT binary patch literal 2528 zcmZ`(XH-+!7C!0JAcCNj0i_5c8ah%2a9|)v7X)EIdVLfl(gq|WjC2(QAqho5QA7rC z6o;ZH7VuG|B%x$bP@gCWDs^aP&P{x?*8B19y7!!Y_WAbS-?z_MH_OSvT2x3z2ml~T zwy|`9GZpy+FmPO&%wK~OHpIf-0)VCq!kd0LxK<3Xaj^#=NfqMK0a!=y?*TYX0$|1$ z0HYEBq+?23olO8h7dzRxT0sCPWnt*U7zP`|U|~wxSUMYe!1*_5XhRSGEoJfyHYgj# z&=DKY7{iuyA~XF^pr3z_d7o z5&{5MIeZItvZYg4T-=phG_k zR1HEK3su7m_}pBu)Ue(^veh^Gb!=HEwT*ReC+V)V&bU^|6j62crO3X&IGRUlF6MNe zd*=D`jrxO4VXCor zC|LVsGn9$)KVoeOGI8=Ya3L6DbNmzl#3#syD$*dzLMI`XY;Q$)ixwBx++Fop!UF)D z3fa=aHDP>?zI8&cXw^qin@J=5j(-oB45|Kif-qgLWpOYTq5CU!OXEUwKNzoLDbPH8hXzSo8U z((oC{yXx#*UHw5_HBKadWAqP(^1mrh_D*heov)5maDClZ^7W0p-KL6q82U0-^Lg&3 z$_KWj2$!iF{Ix(=9HUrP*`fTD?no7>0hjDh+ii{nJM?eYbzX_A(r@(^`BZi(0v|)D zOf651vhNnNI$DE{2|1=lkpfN$?g`wsJ}|#~u_NBocVKDH&Ixz9%%4<9bn(r*Iy#T> zz1kQx6^vS1^=m&@qLM*w@Z(U2QEE#eYCfZSpRXjLI+2tFek`&>)nEyU?WCI`Ke~}g zbm`o82YrPU-3a(TqLuKLg?)=$rWn4;YHF(%lPPA}Zs?fzT~?y5PgZ(Y`0VzK(8|lcry>UOO15+`sZNF)>tGu}ShRt0+MY>NQ82=*8tF9Xn9& zeeQ#p`5UN1qj3ur>W^wH0F#HLK%D?64?#KUN^ny3UUE!_j!#DTq}}bl-`FhB!|g~= zT2BR;YqRW*oy#tMQ}kLTFtD(2&h=vi&4^0+P_!>Oeg@F$BQ58XKu^=L$5P(hyoQ2t zB``Ov)pfsFu*q@UF3L>q%FCq_clHG8#p-*0x!x=z7)Oel;{2sQ)4!QA80XyI5*^WTJe@(HYr^NtTb#*SFY#aZ^hD z>-gT*2b^v&>HB^*a3*lE|Nf^zf`?q|CUI(M-qcRkcUaux{f!S_GHjQe@P?|=o;fwz z;}R*M5n|p{lNN^x>ecnF>9$G3q5aQXaHC>9u9e1$o@d=RvsUw;5`AjuVQQF8}Xuv{H@p!q@*j2Dr2)<9#a}Y=(D}g2|kt)F+y~)r;UnHu53J%I9 zL+`EXw<~p9%pGCv@*t7$)IB_B z>Rr8ac*mk`K(@_%-3e>$lEmi!M3Y`#m>&v_*|83b#dBU8+h*4KwI8lFb_Pds#EKWLyq)fq zrzAYDn{$(o3*WDhcBqkh#2_p|sa5Vw%$at7QAJUr*}8E_v*NZ-=$Z773)>&{W-_vkD4S28DNu_N zW|PWNuG@^CePh<$uRs+(Tbp_zMOukP+{G!r*q+m@?B0;yu__sn%1!0YXI|RicHdhn zFL>$z^4M(&yPP-_7wLSSyd%K)=`^qX0?}oPah-o1{t7*3>d^)iN;B)icu3 z(IAnGNF?D>@#_Bxh>Q*l3r_t10ZET)6=1+Fq{7kY;MjOSN)U*Tk3SF=6>%!SFDB?f WG$n*FZz2OhfNbSp`P*UNvws6Z>1)>j literal 0 HcmV?d00001 diff --git a/retroshare-gui/src/gui/WikiPoos/images/appointment-new.png b/retroshare-gui/src/gui/WikiPoos/images/appointment-new.png deleted file mode 100644 index aa5207585ce3fdce84fc936986262fdef723523d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3289 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 W<(=gPznjef0000t6H diff --git a/retroshare-gui/src/gui/WikiPoos/images/arrow-left.png b/retroshare-gui/src/gui/WikiPoos/images/arrow-left.png index befac61d1b5e2a4f4354814fbc3e141c881b42dd..d736eeeab22880f13e46adaf83ffcf7c4d7fb204 100644 GIT binary patch literal 962 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H3?#oinD`S&v7|ftIx;Y9?C1WI$O_~uBzpw; zGB8xB0oAoIF#H0kf5E^|YQVtoDuIE)Y6b&?c)^@qfi^&idjUQnu0Wb~)>Y;?*O=y9 zWuASNVfIB9AbU25%{=ES!@SGPv#){Jv#+wwz7A!~xe8ItHXA5=m0`(kpn4V{W6?#1 z=@&sF4gY~83&=o_UWSJK3^UJw7(kI(R~i0;WPxmkh1Y>r0NEfxuu(uZ(=4FjSAeFm z%)JgY7Oe3a$ng31LAqvv+`u*yBn8q4WY4`08(Ri+yL>>O5sN3+pPCxr}dwgy+v& zr1>kYsIc9#nCtX)j+bh$bo2f^)^@qFM8YUS{QIhTpeSKX@^*J&=wOxg0CG4BJR*x3 z82FBWFymBhK53vJdx@v7EBg~BK_Mo=DGo~y0QCfWx;TbZ+4tzJC+pQ-0kZtqE1RLYV$Lh;XA}ws0 zKW(=Bd+UwN5&loN?*3uA)-JN7#^GSnikGh55%Hy!tglzEYpT`V@zeJE_sym+KC4Hw z|31pQX8mlveP91go_gS)*p2)57W&V(tNr!m<>lr6^Z%Xru^Yky3Nc5hnf%>!{QLPh z!PlqlZuDzM#IL&W+q*1*Rp!?prim7txccUB^@+w56m{uY1eYA#8T+85QzwCuJK_M7 z*q`-HQeei023DBZh6D?4y%?r{T06dIu9(f3I-g;;LJ`*nZmBrdW3o@?{98YR)z|!f z1-I$(hWlLW*4Z-u;?B#9{kzY4$L{iP)m#j9s~8@2+t}3o_CGHWzvSzulh1FmmtT}V`<;yxP!WTttDnm{r-UW|fQO0E delta 997 zcmVgR6#Lr(d=e-b~C@;_i=XL$cTpqvb!mW&okedfq{8G^L&Sy=Ot#w!wiw= zzX?FkkfeWC$$BUN^c+sSG3jjp*P?$+ijo25?BDIvlmctFU36)sZ- zr|{A2 zQx~4TfRID@`#x-812j|ssMBOpWn9iW%#G?r+4 za&+SS!sG(F(ehi+wuaU{84#1k3Sl55%l<6re#48?Q{PO;iMgD1(b?~SGYqAbDa;Dp z5K;gZdL3ZNy>np+2uFaDBcP7nflJGmMrwaMHGKW$SI}7v$`Pzl3s&9&xdiQK#7+$5 zC?E^-#2Ir}8A*^7NACcC!m9XM@u@$&-Ot?f?qa+XBA@`8H6k4W8UQ7d2SpvE5H>(I z0T%T)58QwE{$0MKR@&Ozrg_Qv@ln8nkvx#y1^5@l2tY0w3;LZ0_*)M71AWJ*&N0rmm30rI*4V)$b@ z--avLs6EsY5k)Jcqh58g-> z(nuLdN_jA-@E{3KJgG4ejSrCYRq+Ry7_SjAF;O4n3E@F3(U?XmfpAMhr*l0sbLLz= z_v~|$nWh)HOrj62)0OY+y{1{~eBYkQ3^6nQO$f#RRsedPBn^>)2#e_L4?z1!;ugkt zZrOR0hG_>B7Svx-dfPkTVhMoF!%q*djGOUOw2R)DPv1YZe`RM!r`FpWAlk`!IUF51 z8eiM9_PFZAr*j^ZXHZR;v9fM5KyX?P_8OHu#wr7 zLFU;^8V=6ubJLapHM?P;jq=qz`X27X-WT?+vXa)v4ZZ9rt)@cM%E(o77)TG`(4Ipn zD`x3)(T)JxpyZT7GgUj5b|5pDu~w{H0lRL8`;lI(715dM#KDn+@zk=^U7d?rpMU(ktXU?9%n8@%Kd=-np zn70F-4Tl^EiVR62w2DIbY8|M1p@{G`f_2sV+qP~)BAG~EymaxrdZ<_UYySR@1CS|D z^{S|#q79^!5PoFlYm?AaMEi)Io<+z&tpkbv4gHA6{o$M2FA;q$R^@=-G#)mevQ_R8xAPv2dfcE5R;f;?@MFi`m~0@GyVER~8qkjIJ z{rLk3!tMHPc*T5FDOIiXgs*S(^9oIeWQ#T+bf2GAfi=dWqDgfJu1S~Eyws%aV~T7Imk9Sm(P8N-@P<{$d~aCFy;#YkHTnP%WSg(wHep-0h7uU z?m6LGkX*tVe;u+@IoByx$M}T*_Pu{AW&vshs6*5AO&~9U+oIs!s2|cJDiKfuU;~z8 zVV%7mx2{j+om_2nj`=-xzzs*xmF$8g5}2-L|3c2)iA%`R0}b;qV7I#Bxg@SS%@tDQBVsTfbqO#Og!?&hZXeFi{4 zcx+%J3f;C_DCNiasQV(HW@nZj--!Hl+07SnWBiu8L+dTL_Ys&Vl>O4B?9v-OwQH5b z{HFKS9G#V3QF=+~?Hq)$ diff --git a/retroshare-gui/src/gui/WikiPoos/images/arrow-right.png b/retroshare-gui/src/gui/WikiPoos/images/arrow-right.png index a8267ff09cb4f75e1c37d6f82605b629d2ad4546..7daac15e43b88b03480b24d08f601ca15c6eda7c 100644 GIT binary patch literal 944 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H3?#oinD`S&v7|ftIx;Y9?C1WI$O_~uBzpw; zGB8xB0oAoIF#H0kf5E^|YQVtoDuIE)Y6b&?c)^@qfi^&idjUQnu0Wb$<~8OySD9vC zWuASNb@p|J|NoiiTmiCKW?f~Odzo#{H6WX5_BDo?m%xmx40CTlMfx7I0Hx+!0qSK~ z^&cq6u;?O?1R~bCmw_Zu79`jJl470(GLv~Wh-8=p7N2>Sp1_lwiL{PAK zlmz(&Ge|}irx`OY|9jO<=ShLa^D6b1rJOek&oTeuez(%(U;A{Xd8t1az7<-^&$8;( z>~BiZ+0$INXZ#SqRnPZ8&+yHQ-zlo)84SZK2`et%d^s&_=B6j@^}0> zs8}DL81YEleb3%WH^N0qetl$Jocu5I@xp&cmh9e=a4I%B;GdSl2f2`CvC#&PJ6q>E zg~l4Ze$*6Y8yV20nXzMsg1tK&rktXal%&FRnA-YNSvztwub$$y{m_g7xS{C)Lt_YWV(1pm)|JNmEj#`eQY>O~%f z_if!bx8v^>?b!=H*WX?F<@e^fowe5cFZ@bdyXuazb+T?sM&n$YkPgM z_Q$jD-rb)!XR5qQ-L~U*E*EdOMv04TH+c}l9E`GYL#4+3Zxi} z42%qP4UBXR%|i?=tPBjTOf0nx46Fzopr03Dl>y8r+H delta 984 zcmV;}11J2j2kr+(iBL{Q4GJ0x0000DNk~Le0000W0000W2nGNE0CReJ^Z)<=1am@3 zR0s$N2z&@+hyVZp32;bRa{vGXb^rhab^(3Wg3ObD11En2Ye_^wRCwC$m)~m?R}{y; z=gwqz-QBeL;bJ7g1X|Hb8lq^U6oeLGt=gmtYhquDQc(N{+E5UmRLHBuf1wDaRUi7$ zmp-)?^59ELp`}!;DS;-t&fM9|%)NJRFLxG3go1Q;l0Nh-AMWnHd_Qx}f!#}5YiwsR z!+&3ZE|Y&lr^wwF0Xk0({=}n`Z=GDFGgROD4hXygVDiH03$^l&@>ldeeX=b(5SL>t ze!N&3t&QHKS^Au&sj#I29`{ffDB$WxS83|?sd?xLak%rP`Lgkx_UEmiufH)w&~wR_Qv5pZon$b^tN;iuh5vTj(3DBTS( z;L!L%stxaKV3JnoLz=)pl>1U0a2Qz0KnzF#ooFbfppl-DiU0vP(gBMZ9N~ZjVWK*L zo#on_8_~wMbe>+*ceVO=0xn_2Ux8H83P67vVnYNtkpnk&!6F9THbQ}d;zo{Zu#n;C z%rU$({cdIX-tBHWKtRQykRr0-sl)_I1!!1o5m2la;qEEmyS49sdK~>eXP>^C5umKo zaA|OmR)Xw1w}S&z2m2vQi4J`J01tKJ$)hK6S36(>E1e)=ARC^2b~-S_Fd>ZNSbBfr zroNM0M^;^ofCwm48W`H}ESRO3-vkIp0fIK9Cok${bssNOmm^5*(m{4Y$zrSGR#0F& z(A2G;;mOl_S^ox8y%PWd!l00mqztiP#DUVyR`YB8sLtv8Is&rl-3YirAnig7kRa?< zqgY>Sipbks(zn!S=u{2@4DhXhr6_-js0AZDFuTry$ zKh{@&MN`!EQabPa1w6tC?MB#=dX2ArgNJf9n|I!S$r8d;X+K(janX9#T+)l8{(N}8 z9q7X|uKi!u+fN5WzkNktlV6~R^-`BpGNp66#r}Ug{u>1V%d{QFA^iXV000O{MNUMn GLSTXs`NL%Z diff --git a/retroshare-gui/src/gui/WikiPoos/images/book2_128.png b/retroshare-gui/src/gui/WikiPoos/images/book2_128.png deleted file mode 100644 index d612516f2a9ab7a50f77158181753ff12b8e6185..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12425 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 Q#sB~S07*qoM6N<$g2NPdIsgCw diff --git a/retroshare-gui/src/gui/WikiPoos/images/book2_32.png b/retroshare-gui/src/gui/WikiPoos/images/book2_32.png deleted file mode 100644 index 2f24325488f0a5c7b9dd2ca700ee2cc5b37ac624..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1858 zcmV-I2fg@-P)}Hb*3Gv6{V)V#Jj`!?=Ucn_MlxUbGL=tQJ<&c{bo(1-)uHJ`zx&!--52;;@iywq{{)X-PxXuJ@1)(%*G!A>t#&1kKNN6{<|ci|Ve&s_S|)EBhY z;b!Ann*fS|fq~TLzVYc7b32SL{_yqhj&^S^?8+3JY$=#zsy-8gDiTmlazO*zo+x}2 zC<3!vCLn}xfPLw7`t#3z>d0rm^zsXjclPG;mSu@#Y#Px+rs_A5S}%je*F=Lvfxgj> z9jSu(oDkxVo2k4^KnStx(4j;B00x5~FtVbPY#}YRp~bvkVxc*Y8&;?{t0>eeuqA+2 z1?-$9KCtAlm;Gdg}{T!$w{)=EL~k)xUNg%c9xOj!*tp`6zp!Q%?Dhm zTv%0YYw&c!z_v|-Afj)iZ~*uS@b*RojF$VU$;rt@$8jhW3i!THbT`Fd_5huB4}tW# zQ5{1mjZ_+?G)k%Ed)e}=wMJ@9erGzj?WvBF$vV+ifpWQAo^TxJs8Wh%v&r0Km4A<) zNA-F%BCkc_mC9F?h=XXGCXFD%whV%1#P+8-gUVo6G z!jt$>uuA^b;K{v)Fq9w!Q4}GSrtfe^fA%rw_(m=mk33(wfB$~jwr#>NBn(5QFO|9W z;PM)uTfvtU5gIJh!1tr&cQAz*c&_^-U~Yv#+4ubkDJ7<9;`=_8a+O=>r`J?2Tfmi$ z^B~bk1yN$hQXqQ{=8poowgi%|*S|`o61HtKFfc&9UPsP5t9)LMjAj#FAFj$q$}#bRxUcwR?s*`!6$10X#N6B*rfHH& zrKr1gX5L)fP=4Do2*L;{)vA1$rXUOzQfoT*rbmG7Z3$?tCGbYMT*fdAy1KgXJP#|# zu386LNjQ#4!w*}687qVq%kS7b)5ZKy`uRs!#q|^b_;aOFX(oj5eV^L(VErI!kW$f% z)GB+F(jZ#YLeY1m<0Ox40X8Bqqm-KVJP)N5VHmPFU8nrkS{pKsLB;jgEKas<;x|`v zqcn8x%{&9-w?d!_j4v!KAcUZ&r-w$PflYc%5W71v_(9YH6och64t@|}2m@1?ScXYq zIKR`%noqU5ur7gQBl()^y33o5AP88zwz|@kVdJoN86(ipWi+&5pW&|Dp_iDA;{-x>IsQOI*VV=ET-bN;E#0XSxg zqA1cVH%XPU?3BAWe&`f?pV^Q1(B;hZt5H*7B?{$*}VTy41jS^K=FMoO<>pirqzO)j7s4U(mn&`Hw1> z|9k1i^xg86nOXNt1lNH%zynk(&ZY+wA;d1=Mt^^QCYQ@GG&IEi;e8AZ?_uQeQ3m=S z!@v-vNcgL??fB(*fxvGB_m;x36zuj?c%LEb<-#&5T#4E*Ov3Bm|;cnVwGIwIxSkSX|1EJ5J)8?vOp$j w4)L~1uriG_5CYAX7A1XQ3-A&l`KUer1FZVWrF~~N_y7O^07*qoM6N<$f(u}TGXMYp diff --git a/retroshare-gui/src/gui/WikiPoos/images/book2_48.png b/retroshare-gui/src/gui/WikiPoos/images/book2_48.png deleted file mode 100644 index a0ff7814d25dbd0881a518c6ab206add4fef6933..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3265 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 diff --git a/retroshare-gui/src/gui/WikiPoos/images/book2_64.png b/retroshare-gui/src/gui/WikiPoos/images/book2_64.png deleted file mode 100644 index ac460f5fd06a0ed85b7f0e1cf7905544ad1b1a79..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4703 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 U!d%4*wif~cH!?1wbql}ZANn14Pyhe` literal 0 HcmV?d00001 diff --git a/retroshare-gui/src/gui/WikiPoos/images/reload.png b/retroshare-gui/src/gui/WikiPoos/images/reload.png new file mode 100644 index 0000000000000000000000000000000000000000..13e859134f6915adac672c1663693ee345b85902 GIT binary patch literal 2839 zcmZ`)c{tSD8$V+f)QpT|i|Sgt*2xmOh?p26TZ{a%WGf|WA$yeVW~nT*AYIu@Dp6cS zDA_WGWGx~)gF@nWX58iZ{qcLAGv~bLb3X6;e%|-}KF`FOn;GJ^iEIM^;7CRWmhcQ` z{kV{DUm8wcg$K$_&r}b9(!}lSj%aw_=VWAQ3cxjK$cqACjm7^8z!d@jlMVnJN(VsD zi}un&3jmHM=EtmwkN|S}0J$5G>1b*Xiq?&y&;gYWGCM&E1CU$LuxuIw zP3dCgCAV-;x&S*Di;&sJO3K37Sttw$!iC-}}a`deo=puUH7!No#gY3zL~2#ZN&VA!2uMWg*S9SE}d5Meb94u#d3G?;?H z!IrT_fP4&@HB(4~1PHkfvUE8a=QMeBwAS{cHyYOZGVOnfT>VY#Dnk`ffp@O``6*&={>lpr zj;9;_o?O?p&EFxN<@UKTZ(cZw(hRCs zJAwA+8(!G;D0I&#>CUr*>p#93&bt!Ec#ltbXFvI}%x@RdqVEznQX@*gcBG`YdhWK- zr2Ji*(k}8>-^8;I^8$7+bqqWXd!vwH(pvD~)_DUjso$xRlrmZMWb0R#bZM2rO3$Os zJfgy1|L3J*ib(TkQ=d9cnRqAek-#0CuwKMD6GHj8(#o;UbB9P6gi&V z5ajeDnG!iiIq-PpU1kas@ExN;GSIUQ_&7uTVatC)sEPCRzWmo{4vSio@P30wCjF>> z6!!=pH&xzSE&|0(kj3XH%Om3Xj7ajb6Vm3rxF^%DH*Hc=&bGR5BwZDBv61_9Du63<_6%q(J zTI#*PYu|O$*ns+g)bZ)7K!fDq?PoDcaS68< z*}1wl)%yjQ!xD2`7L@js`ukFGBg6$Wts##hu@zBGzon;~_VSHPlXEk5hU0`Tv*1fS zIRD<*#1_ZrA&+W^!d%sx2Q#%(MP6VX*7U76tbCeh6-x*!)Q?kt$c7XilsWkaw!eOC z=-uEufw`HR#4BoLSH71TDol&cI^3%Ad%KK#y)^B-yeCvXbmZrfm@4|9)l{S~CSCJV zcIv6QI6mhE@<^wTyEhYw{V{P&M5)4{q9H7Kp6;lfv90tD zzH?ty`_Bf>GAuG@<8fTa#;>Yj-!5}42fi$kiq}YoKGmd$ga=Nlvy3wuHu!r8m#j!) zN$d2L^CMFe+GX2aHLvQfYd7!N-2FUAeN|&)tiQ2pXLy9P3+{IXX{=_uhba>KO!lIK zknZocB|fg7J8#&^+*Je816M-h8wXx^Dg*|#MSl|`t`dhsW;veG7A%s?v!}V|(YXEC z>;jZ3Z((Lc$UTJrGB!$Y-Ew)Qj`T*iCJxiM4=FLZ5b~-_aAH#U1J7XO@}%%Q23OHM zbih(=IK4gpRBLVJFn7Rlwd#4D^A6T()ribe%ejGa!O`6(f_T;IviQsSC>M1!G?<@8 ztzGy8qjEKpltNMEnG~^?U$u5I@yF96wbANx_8l#wBTj)j(heKO6=lEmuN5W+aO*tb z3X(k5H#ISp>zBEcrh|WVZwyIRVI(-`6Tcm9Hthf~7BEe6`` z;%nO+n-i}n#=GIS`{t#om^5Ui2Rn!5{|xl=>G-vIy8hvOCplu>%eq(Tl1}yEXKzk7 z(?1q*If7*U0;XK4#?3sN%zKV55?-amgS zIjUhtT=j{etG18tSgPQE_)V6lO3X(nG&a5@fM+q#P5f@_r#V55g}OS?=f;w@&e&9C zywja}HBwlP@mQ8za(H=bcHp|z()eS^^)G-FK;4+1T$w7_Guz~3{A6iJ{fw`Mw)#eq z%~dkzke&26{VDxiwauxuq?#Y@Cez8~C=>f_3#P_retdTqI4hVT9rn{osipip{qT<_ zl9$sGF)Pf4Zt5yv22UO|4-1Xtn-~7_LOir(daobR>bG6l z-fH>fqZ5?7Jz?|8KAag3?i_)CD^h;M(|*p5elCZcd|coGlnKfN1%k4|0d?yG>W9<_ zhm;S<5eSC}1b-g>r2ld7@N~Z58uD_*#K(bvh* Z%SF-C$BjCxB?3u+L^Lyabj0EMe*v^0Bzgb< literal 0 HcmV?d00001 diff --git a/retroshare-gui/src/gui/WikiPoos/images/republish.png b/retroshare-gui/src/gui/WikiPoos/images/republish.png deleted file mode 100644 index afa2a9d77403a12cf6808fd4e551f8582e2599d6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2182 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 Eg2SmeH2?qr diff --git a/retroshare-gui/src/gui/WikiPoos/images/resource-group-new_64.png b/retroshare-gui/src/gui/WikiPoos/images/resource-group-new_64.png deleted file mode 100644 index 70b8f13b3fd2a35f0eb52ad50fcd8943ef552b46..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6354 zcmV;@7%k_CP)H;LN@>a7&}QsK~#8N?OF#|RL9yrTi9K8 zVF9U9lww7sNLe~avA0+e8+OsCF(#Tsqt_TUmZ-4?jj?0FC?bln#coX0V2ff67DPo+ zR66JVznNvxc#|2JC4>mG zg{i`PVUzHMu#xgpgn2^fn+)mI#y(&0BCxj^bR+otI{QpD3Y#~RQA{7%aCSv5J{+Ren ze9sKNMl=#HN2AO67^>?8_Kq-92z&EMm?L~HtR*np1=Lt9pzcx$LRLyq`(vSs z0Jn((B34P^{*?r_UkZ@yp!)2cS;F);pMV9zE@3l)Az<0Jv#UV=QRdps>kyVu{cp(T z3u$jY0ZGCEf&qbM|L(neFC`%7?j1b=TgeuYZr=E7uCR*0h-?YSJ{Mq3Va|irx7~-& zmw@9q0X_uUet`hhTmf>n1Q-GHiHbM=N)(211#BZ9ut$LJQ2`xK3kciroPee&0^-jK z2stjmVIS2^Cu8r7782fg`~<*7*djb-Dv;8;cA(ky-!Gs+@^b<_)(Z$eD8OZ>00mq7 zOfg%9NA#}a8$rOxW#<)8n+T9T`WU(GjXz5uSfo^ukXd!GAz9(Rt3E(PP=gakuk(m*Z!JhFlR%Z-7 z6=?S;5CwnNE3CeKL_`C7gw(YYbuKmtaJE7~Z7cZy#sZwJ5md((4ec$i3e5=EQK68G z`vig3KDTWIoIN`#JQLcJS_C1SO#64mE_m3RdHXokfTyE{=;=VIg9W@CnboK=Ps&p{ z{9LSfnTNeO+-yvtQOal1v1mCRgTJTE&J|&eaFx9M5h0#}oreZ@UE4Vt^j-qC|ko6$zPS%kuimV=) z`fm-sb*Rsvh7Oi+wp7EFtd6w?b*zl$V#)9hm_HyEaXJ^+XykCDy1Irg_#m+tQ^0@kT6RKfx$&|^^j{eP?PDcv zBXzJ<%V0-f2E}+`a?dDC=n;+gyF_Ai*J#Wc)dN}SNqBsAH}WqW#-j`S@#sVLW9L2dlUuUQ zC#}dd_xm$KMkaK%j`VNL3AmO#5zoF)#3{`Q;P}?_5OjgKQK( z%tq1OODMki6N)eF!NZKXXyfSwEh(g9Y}kK(pTF>kHh9HZvuP<;&CYGhHN&1qW;jr& z6%Q7f;b7qlM)&*aem9kGy={gKSIl-VJ7qRv>UOQ`i-b6sn^@UfXz@v}7?hm)1{GJn zL)o>%D9t`jATv>vbB+LKq3Hfq6zBaycAf4oqv-Y-lwLoI!jmajF{(Wj5&^baRq|g^ z-z(Lflx9|c_I~YqOHOI`ue_i|O12hTbG1mjXNt7De{Ne}EWc+errx3Vf6-$3IqkE> zKWNua-)-7+=;9hCyWBSe9qo$=vr%kak%M`1x znux2fn4lU>T%Kiul~+um5Crko=Fd=0V9Ku?AOeo+2_Tsl-9C$=I~VjMko1`v3UhuY za!zxVlx6Kfe)>#Kz{i8D!3WeIsF>Jdh5{dE7?*!}#zb70X@dEuOvL%8G?Z4mi3c+i z&^*u!IorQLNfiN10Y9Ml#wipL&_cEh?)=P&;3<((eDf43;Cqx^+Kc?1a~T2RwF9fx zzqSJE4^WQt86!vF1Q}wd8&`}>u`Zu^*r8(TK@)s>KqG#7z!;OOOilS$HDh{TMW)7- zgBnabWQNIm9mJ`dgT(2h`r+30`6xNRUB3jF4N(Gc*1jQ&p9ZN!QSOT1?$jU!3-BpqRL(j@WLlF`{P(;t!h^;ab`} z6rJ6Mip%>@cJ&~4a3!?Hi*KCZv&|eL1J0I32|X*lPP2dQ5Xvrmi@UoPWA=xGaO3DY zKGg~WAQyt~;6OONyrlMeM1-%IgA*Tu$YKTm}gGvx@KEMUvlvAD8z9tty4 zQ9+XCe&8yp;QBG{=$JoXpt(_=OaJ;|u9k`mJ8^5zSK_sUt2ezic-DYpSJim8L>WBZ zlfmyJ8NxncDlkIZxkl*vr2>6cs4+an0?Ura;du6HF)eeJI3`6W_E}~nc1u#DGu4S- zszu-BwwRvL5xXxeM(XJa;+V}1(0jRw*mHoK-3iMs2z|f6qe2{J_t~%KP*^l;%*?H%%@%Svv+R-0-&#yuD z!%Xb>c@oBKt&M?eP0({0Eu}?7dUosnOB5#?ebc3+x`k272`Y=a5<5m`OxPs%?6 z@Ao=v^z^-@O7QXVVDSx10p#517o^lHj0OdYNQTGhdOl8xA$}_7vh6TWfw(0KBoMG68&nvTs-lpo#N>S% z?7BJvN3JJfbgDT9uOp?bq~-7u@D1LP!eyug=6waEef=)-kF6tM8Jq->fvhBggJwqe ze3=k-_U~-62(~QuHRM3f}+;f={ z14spLZ=y($ZjAA}jIrTd2W&q-35n~~9Q?~>-T>ZypafQZ1i1IH5_2+^qVT895D8#K z*3L>Ic5%?0l#9%E@?GQO;~S87c=dp4CBUMY`d_A| z*$g?_%`-x`ByxxZa>zO*-r1tU*c~b?`7s3RPK-joHL6#hc>{QDyZ~hz0h?xzSbclX zG8CUl==Ej*gwDz;|YMp()1foqQ$=gVw?m~Y$^pb$hklQeF zh@)lj9VbI5ImB3Uh|HUJp^(;lxe|j&1tY&vVai@NEZE-*T^1>S*V{9P_ebC*?dX@> z=5o9}C^~G$pqAJ;WiWE~eT}E&fQQ74VDz`s@L@IXUG=7JVRQ zuA5%|^OpH#Sv!(SFYQ`Ze0~4w;+&%!OY(n8D=)dQOQdip<{sOO{Ko~mtCa-XrrJ;C zt%v|NATs8h%;P1n>qice;&sD!Wbh$}7)&aNno24lhuD!+(1XGvoeMDNYfrv$`pe*3 z)1R3icSliS5pr)_#fcS@$}glZD!sIGY02e1%ZsxQC70wL-&9&~I=#G{z~>!F#)G{3 zC@v{M|0rU^T_&= zyc1i>iq2(J5AWxSr#H_ly}EBjan7*~B@cc`DZ71Ot@!9+p7`X+Q(o`cvuE)22^HJ6 z?u_`jzLygE3~KrB5+SK=EtuK`YnM?x77a^)4U&Z@byo_DJt-^>kihkA{W*c17DMT@ z7())R4LQWPBqf?oHY4ydzPqj?j=;#K-r6 zC|2O<)2Eg8Oe`!a!HrXU%dhTTQF`yv39+!aiMpvg7!W@=D4)DuC2mcK<|u{(vuJ`(*oft?mvSR{wY z!{SWZA}>_X4=D-)FZ~sGMJIh5HeD{F+ z>72mM`HgAA#AcpF4ih3wMWNKQS3Pv@*9ILsw?}wH6hcGUV512%1Fj!9GhIL!3JM;h zxVV@byXK7_kI5Dm*yZeuu__f(Q&RXcVdczUoH%h3{(fP+oe*j>gxX;#Yd<_J7Lno2 z(6K`tQ^nbS34?pRj0i~$Eh9mwsWp*=XylT&)t0g?M8rczgrcof)R04D2Nxa|X>-)r za897pV$09vbb^$@g3b|6z0DBSFA&{(cS4I+EfF3bgP_2s2-HRD2S_s>92A9+AU0^d z>2%@9%*^BfMNvdXMh4Q-(=o%z2`e2Pk<_|1(zb8M$&)8}9d<2TxR{8GsA|K|7E4+C z0RiE>jH#k!%eN5Mtv6G}7X$kbwfaLc=pRK%4KqPyVWuZSEtd?}R1#s?N)3x{GSP5O zV5dbNa)|8bvzX~}I1drfA|aB`c2smT>O6`Mgd64AeSm)$CnGqhDG{K5#_qkm0&wo! zIh2)^aUxirU8^Qe!~{~oxznfl{jp=mke!{42M-=#>C&%xd#sHY`(mW%bb4Z{`lr5_ zQYdPmQ^)S;9@l5)pDIEv6C{@ARYZg`B1jRb*8ZA@HQTGK1`feIp!%ozCKU_EFib(RJNM)GHdI-Z^Z$j^U-%aBDn_zMsT18V}pJ1{>8kv zmyUya@hU7U$1IY6TJ73cJ81C#`X+Em(lR{(tdAglKY^8b-WRFB&Ft*SN_NE$1m`WxYLC!L@W{~D#oj47A-c^c`VJ*1y!oy>E8pw=D zs7fjCPcy@xabpA0=Y5(4;>RCP@bzC&QNh!bhYn+@wKcwVbwQG!A4)3ASUI~UPyUS7 z`LFxn{qlZ7_3c;oWq8h>`S}O)=S?G9+6s>mM;<^m5emCmTsvV?DQ}sB#Jw; zuu#2Idv4DM$p-e@GB!A0-(YM_+lJE8QtshP$ro&#It?4i3GR1uLz0yh?oiw}lrsW` z4IRZDosNTi-X9~?-!J6(B+$K~&wv2xpNtW}!e>NOtkGX4fxWeVfu~@DdqiWVC=b}jHhIbn8jZv@es%N0+i0D^}m@y;9(+Q6ZwHd zJ2LqGfR(e0#dzCrLeJm)EU9)g6v{rL>%=jY>U_6D+dHpz^-?Kc87vA3f-CmmjsZ6SJajXA{N8={s%ygoD zhV`AXPMFg%bk6eZnJ>+fU*&*U>PrMg$2R8#us#0X^zE2sV}q>({5w(rBVevB5O=AJ zm7h6t2A-aNybXh~KAMm-ees^>sXs&iY;3G=0xo)Z_`u%2R-4x*fEtjh)h6zCb`JCF z)M;?9Q6q17dHeIhaG+Iy^<*&f@d^0#bE?y*u{WRH+`D(Na>h(7bZ|f_0pCjmq>~C} zkRP~y>o#(8bCH^wMj&)m1nUWOG_L(dJK2&+`-(r^Ym?1zRP6KLMbPm z_rdOUe5MfB5j}j;7RX!veeU8bSJWzidef18Z<_ox(!O4 zUFzI$aIF0u&GrnMoQ^7EwYx+jG5Jpb|2-KQF)~yt`?b7@U` z$213rT8C>nyPT<2+x2p78Ym4mC$@QuyTjfdelN_e&ZBk?P6gc@oeJU|ou0%|+QHtT zpnXhi{>XPm-S_bDy6@s#=MDo{ySD2kr&=zj?Hy_zs9Do-i?xm2A~Q3K(Haxet|ajg zrAp;WpxL*=|Mich>uhACu$4-s3@rOn^pybr4^-Li U!Zk1^tpET307*qoM6N<$fPx#24YJ`L;(K){{a7>y{D4^000SaNLh0L0B*Vf0B*Vg*50uf00007bV*G`2iXY> z0ShpC%(>nG00y5)L_t(|+U-?oY*g17J>Oeq^LTf_INoB6jT?gk2?+=VDk_3PO^ZS) zQ0S5>Do9Zz)TUC@Dv?m7rj6QvP^qojG*z0WNKKUlHMmx2nyS#nVX+Ayu)#~>eH+i4 zx8M8q>W$40n%H#tRdF;&_tV_voOkZ`^l%4va0mYv*t4N|f&UhUf&T%#AYA_02bO;u zjLiTSN{O?!7d#1|7mI-KUt(=-`98zYUI_!qp!|76U|rMUg+bee!Rg;)0qFP-asA9& zn3*0cywNw*wDriN=Nv zkAkIkXewjjo~5PKP*s8Ex+*-rXD5F8!gKi1GhZc>LLQx%JaSt-@Pl`X@$@G%QGM($ zB`YhJ@s4y6+G25R(shA{r;B^s9NwIo;1d8&LE+rRD>dIgyq~}F_?Jk;(mTC%_)t+gxzh1{J!3J?WSM5O zpiGuA&zY=LWLOTv3$^NdjqTMB)UQIkuoz4_0LojIAvEDb^DOQi9v?b)`NmHcynIcdw3b>BAp=r?NQn{w zETRNR1h7M<&urWL%b&k?3JWGsaIgM^5$77iV7NgBv)&MW;_mfyU)3H^P>awn!TmLl zp&(X)3w>uWFgB)4hv*vX#UqsuV@X*Bm;izz3n=j@0hS?Fw;kHPXcKxK!FCw&7?6k& z#p8^w!9SwE_!PD@eGO~ShF3eEQKAA?4iU3ChMgn)>iu>cscV965}-+d2#`WCfbV)Q zVG(Hgred;PhV3FU;yC%*bu?Ta?ZDq}yspIMyl_Nojz>FBVq$n?95Mt+9}pgh1I$cM zV{B^X@bq6_UEF~0QQkl#oToEa&sZ5uWwVjkym(Yw`P#7w$KN>7KG4?(DFj$bo}QdW z*VP``{OLn8rR(?J#t`bt zM@YmQA6yqAkHr%p5cxjl5&#^RZ`L_msIJd`q_`A7I+5o4cOLw5>&hlsx4bc2(b5ub zT)!R;$6`I#`=5itu3cYP!~l~4V7><;MkXR7a|Wzi#6zGaS%s|y+oIZ=LdVIDBfCF$;Dt>OuG8~I_Wi4YDn&C#vj%GjL$G~Qcs>z{$r(F(`dP)C z12o1Pur2-w8pl>6GvvT9bSkWBM67m0?DX5`jiOasVVZ_Y&%(&?=r>QE`cwGW&V4^C zD=lk+!qW%8g?Xr*fb0q1O;{$IF{34jae{Pa!yqzrz%&ShBLOtG7!6@7R=I1Tj~2pL zW~7v`Z5w;`?m{R8z4GK!Bu=!G*tCi2Yin`*_-`@v;Rrn6LoSzFGc%KUYW3reu))tm7C%P*tt=uu2gjN|$5{t)LcbOQ_sDPZV2q-54~ozm%)+ur_0Qo|fZ zClFYSi!smthW}@Gll2GfSf(qMnavQ4fu-zvJ^%^H63m>Zlo4aG80zcmG1$=oK6@6) zL;}^-HR{@O(Y#~<0w6`SmxKs0JvEj1)RyggHQa)UDU~kJZTkM#r#jrt6Td6{g&zuH zmXORh4M>?cLqzyMeHTJzjGjKNk{ZJ3_&A_2GBN_5U(W&(s#cUzfHaLA*V(AyV=yrZ z-vPQROPBvziZF^$2}Z&|bYOHi>4brS0nA$J3a(y7K|GFu&QAEgkI~VwXwSTPo~wcU z7z9D3frX(C?;k8LtC&nBQ{|d5x113fA&sI0`uh4&SzeBWWUyK@(cO*y#ubtHd}2hT zYJdP%36N?`va;Ft7Brw~I>yI_FDo`KSyH(-l}hiACldFWrkPfAYM!EIyw-CKH3cbX zh7K3NU)&E+7;cKp6Vc^ZZ`NvENcn`eV;?E)o8HlqZv^dS#~BG>yAS)5{9d z1*v7lMR6V&Gz<{A1u22brGX01WhrLEPz-y%+pC`Vnv`M~K!6B@e*&Ez5>n5KMyCJ( N002ovPDHLkV1jgbSKj~t diff --git a/retroshare-gui/src/gui/WikiPoos/images/resource-group_22.png b/retroshare-gui/src/gui/WikiPoos/images/resource-group_22.png deleted file mode 100644 index 551a2c4a61b2c37918fe0cb891b6c396e15c4913..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1208 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 diff --git a/retroshare-gui/src/gui/WikiPoos/images/story-editor_48.png b/retroshare-gui/src/gui/WikiPoos/images/story-editor_48.png deleted file mode 100644 index 18e300d2e29daae0121b78069fdb03343024b6de..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2543 zcmVPx#32;bRa{vGo!vFvj!vPg=O+o+w00(qQO+^RU2NnY@E3juS;s5{u24YJ`L;(K) z{{a7>y{D4^010nNL_t(|+SQp0a23@V$A4#c@67{(fj|IJ5Ku}jg4K?Q_<(8@i()`9 zv{)rLO;D}ns_$;CY6-ovZBp3pDlE>Y>yL(Re zo>`GNn45&Pk8kd`XLe`LcmDtHaUOduIw3dScq7Y}E#q*RK7Bf?R;{9I61~mN5YPiH zTC_-co(F(wnv|532+~NDHq#R@fr;d^n~_*pcz^_appv$E#q)4|7l6!oW@@nU^dkca zs8E6MzP%WL_=?tkjm;rsV1|7xZO>ycJ9v%#_#F|*2M%xr^H~y;CVAPt>DwbWX!~Gf zDjeHUj^_x?)wR^^AI~Z4WgSDNl}T1SBWUAfq|}TPGc62Zpp?RsK1n}`?YRW~v0aBm z&^CJYBodBteQlGNA6Jt$jW6?EL0xM-wXKcRwbj!qZFqvYxvbWA{SNR$jis0<9# zguSq=^a=bhh8ac%B*92|T7fBo7E`OhKuQCbR0ISd5P%^>pkM|UVFFdK^r7WQApyv; zGQkGJFc3lk3Z?uIm;%w2BG#St70;0jo7bBPxfx3cVy5;oXZJV(C*kUQLr8=Oy`>bs zq0l#gl&Lh5xW1o?NT7;j!sEPqhSJpX5w4Utp7uDytv-QGU)u<@d$W)Lq)MsMssY$4 z0II+=KnWcoHvmBjJO(a)NE>{mFr*Cqu5D=GUP}EGP>Js=l1UFejs&F8c75B|<7on6 z-$RB!0igJ_(@wvmpx}bL7cXA?`y&!iTD6gOB&4C*ffIh%;-mOtKm$`42qT16195*h%C5a1V)&{5EO*mLb1O+acgArU~q#bYOr zbB3IA@75RYQ~3i1vwz%Aj0pPPlPV-~cqAmAQVjG_znXUL#eGIxsfH)Uh~%HH;i=Lv4GS`iP)hxf zgia?k3C{yJMaBpGFBi~k3(Ch16J=YMsKB{^eFgi&6fmn zfOlD{HmimFkBEBbEVfkI%wBv@B<#mIWk{o!J9vs!6J2A0OkDt1hoaozgY3B@8pIcoAkR~k)kpNou*WYRV7 z>BX?FMpt@H|gPR~QzpRWFg_Y~;x` z4U|5$gLpj7Ymc~8?RPl2Xg9v+BT!(35WA5=dcdef7$$AC{~){RNuGVBg}Was$1r1T zc+jJvp@xw&Y5|Er9sO4c%d&`C5{>0#e0~pQ+giEhp=y*0QnjQF?9UlqcmTtUrw5;& zfCitc0Ug>XL@J2U!g&Lhv*Ri{(P z;M=H3Yfy*z_czyBzn;~+#dha;;a@T*s^?ivY^L0^9z;|Hx|)}kJ4 z-6iOmrC4!$f{!bEaOwPKaqYC=qpN{w)24O7@dmBCSJGquO6HYjQuav?;uiezwmRzC zhH%NeEx6kAX+0fH3WX#(9p?ImgVg=&O;$gj#p<_uVwr-cZ>yx<9>h6Uzm4nIfI@Xp zbCIS{m`3Tn5N^GpntQaZs{DC%CSw$BHV2^!&eO z&6-ZsfS`Kc=M;?XM{U(xOdQ?7_GzMVCb+B8hke;+8S89 zcJ0^JKu%5$bLLz_ZA~Tj-Z7ICMqkgiZQB_-^h8a*i(m4hokqi)WXhB&+Q^aS{PpYC zvwL?XOO`C5xVTuSThK54_9H#W==MUM=Y8$8dGq}FR8&-O?6Jp^NF+4)2mnPwAnl)Q zJ9g~g(*V3}+ff{PqTdT;Wo6Nkj2SZqfb8sSB9Q1J5DP>IF&oJ2$T3}UVg&El0W3>L zIvs)FrMTj002ovPDHLk FV1kN7(xm_Z diff --git a/retroshare-gui/src/gui/WikiPoos/images/view-refresh.png b/retroshare-gui/src/gui/WikiPoos/images/view-refresh.png deleted file mode 100644 index afa2a9d77403a12cf6808fd4e551f8582e2599d6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2182 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 Si9EOf0000fti@Wa&5|s06Zdsydhg>5HKa&U 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 diff --git a/retroshare-gui/src/gui/gxs/WikiGroupDialog.cpp b/retroshare-gui/src/gui/gxs/WikiGroupDialog.cpp index fab246dd6..ef9c3fdbc 100644 --- a/retroshare-gui/src/gui/gxs/WikiGroupDialog.cpp +++ b/retroshare-gui/src/gui/gxs/WikiGroupDialog.cpp @@ -87,7 +87,7 @@ void WikiGroupDialog::initUi() QPixmap WikiGroupDialog::serviceImage() { - return QPixmap(":/images/resource-group-new_64.png"); + return QPixmap(":/icons/png/wiki.png"); } bool WikiGroupDialog::service_CreateGroup(uint32_t &token, const RsGroupMetaData &meta) From 27e735878cdcb199bfb9c0512e0ae412fc5ab661 Mon Sep 17 00:00:00 2001 From: defnax Date: Wed, 19 Feb 2020 00:23:29 +0100 Subject: [PATCH 4/7] fixing opinion combobox & invite button layout problems --- retroshare-gui/src/gui/Identity/IdDialog.ui | 373 ++++++++++---------- 1 file changed, 181 insertions(+), 192 deletions(-) diff --git a/retroshare-gui/src/gui/Identity/IdDialog.ui b/retroshare-gui/src/gui/Identity/IdDialog.ui index 4aa73e097..c881ed39f 100644 --- a/retroshare-gui/src/gui/Identity/IdDialog.ui +++ b/retroshare-gui/src/gui/Identity/IdDialog.ui @@ -6,8 +6,8 @@ 0 0 - 1573 - 1177 + 987 + 584 @@ -289,8 +289,8 @@ 0 0 - 1003 - 1094 + 634 + 523 @@ -533,24 +533,14 @@ border-image: url(:/images/closepressed.png) Identity info - - - - true - - - true - - - - - + + - Your opinion: + Owner node ID : - + <html><head/><body><p>Overall reputation score, accounting for yours and your friends'.</p><p>Negative is bad, positive is good. Zero is neutral. If the score is too low,</p><p>the identity is flagged as bad, and will be filtered out in forums, chat lobbies,</p><p>channels, etc.</p></body></html> @@ -560,130 +550,7 @@ border-image: url(:/images/closepressed.png) - - - - Last used: - - - - - - - true - - - - - - - Identity name : - - - - - - - Qt::Horizontal - - - - - - - true - - - true - - - - - - - - 0 - 0 - - - - <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> -<html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Sans'; font-size:9pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Your own opinion about an identity rules the visibility of that identity for yourself and your friend nodes. Your own opinion is shared among friends and used to compute a reputation score: If your opinion about an identity is neutral, the reputation score is the difference between friend's positive and negative opinions. If not, your own opinion gives the score.</p> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The overall score is used in chat lobbies, forums and channels to decide on the actions to take for each specific identity. When the overall score is lower than -1, the identity is banned, which prevents all messages and forums/channels authored by this identity to be forwarded, both ways. Some forums also have special anti-spam flags that require a non negative reputation level, making them more sensitive to bad opinions. Banned identities gradually lose their activity and eventually disappear (after 5 days).</p> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">You can change the thresholds and the time of inactivity to delete identities in preferences -&gt; people. </p> -<p style="-qt-paragraph-type:empty; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> -<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p></body></html> - - - 0 - - - - 20 - 20 - - - - - Negative - - - - :/icons/png/thumbs-down.png:/icons/png/thumbs-down.png - - - - - Neutral - - - - :/icons/png/thumbs-neutral.png:/icons/png/thumbs-neutral.png - - - - - Positive - - - - :/icons/png/thumbs-up.png:/icons/png/thumbs-up.png - - - - - - - - true - - - - - - - Type: - - - - - - - Owner node name : - - - - - - - Owner node ID : - - - - + true @@ -693,50 +560,12 @@ p, li { white-space: pre-wrap; } - - - - Ban-option: + + + + 0 - - - - - - Friend votes: - - - - - - - <html><head/><body><p>Average opinion of neighbor nodes about this identity. Negative is bad,</p><p>positive is good. Zero is neutral.</p></body></html> - - - true - - - - - - - Auto-Ban all identities signed by the same node - - - - - - - true - - - true - - - - - - + @@ -773,18 +602,21 @@ p, li { white-space: pre-wrap; } - + Send Invite - + 6 + + 2 + @@ -862,7 +694,7 @@ p, li { white-space: pre-wrap; } - + Qt::Vertical @@ -877,7 +709,21 @@ p, li { white-space: pre-wrap; } - + + + + true + + + + + + + Type: + + + + @@ -890,27 +736,170 @@ p, li { white-space: pre-wrap; } - + + + + Last used: + + + + Identity ID : - + Created on : - + + + + Owner node name : + + + + + + + Ban-option: + + + + + + + Your opinion: + + + + + + + <html><head/><body><p>Average opinion of neighbor nodes about this identity. Negative is bad,</p><p>positive is good. Zero is neutral.</p></body></html> + + + true + + + + + + + true + + + + + + + <html><head/><body><p><span style=" font-family:'Sans'; font-size:9pt;">Your own opinion about an identity rules the visibility of that identity for yourself and your friend nodes. Your own opinion is shared among friends and used to compute a reputation score: If your opinion about an identity is neutral, the reputation score is the difference between friend's positive and negative opinions. If not, your own opinion gives the score.</span></p><p><span style=" font-family:'Sans'; font-size:9pt;">The overall score is used in chat lobbies, forums and channels to decide on the actions to take for each specific identity. When the overall score is lower than -1, the identity is banned, which prevents all messages and forums/channels authored by this identity to be forwarded, both ways. Some forums also have special anti-spam flags that require a non negative reputation level, making them more sensitive to bad opinions. Banned identities gradually lose their activity and eventually disappear (after 5 days).</span></p><p><span style=" font-family:'Sans'; font-size:9pt;">You can change the thresholds and the time of inactivity to delete identities in preferences -&gt; people. </span></p></body></html> + + + + 22 + 22 + + + + + Negative + + + + :/icons/png/thumbs-down.png:/icons/png/thumbs-down.png + + + + + Neutral + + + + :/icons/png/thumbs-neutral.png:/icons/png/thumbs-neutral.png + + + + + Positive + + + + :/icons/png/thumbs-up.png:/icons/png/thumbs-up.png + + + + + + + + Identity name : + + + + + + + Auto-Ban all identities signed by the same node + + + + + + + true + + + true + + + + true + + + + Friend votes: + + + + + + + true + + + true + + + + + + + Qt::Horizontal + + + + + + + true + + + true + + + From e8caa56dc849a4eecaa899168abf215273b52eab Mon Sep 17 00:00:00 2001 From: defnax Date: Wed, 19 Feb 2020 23:14:19 +0100 Subject: [PATCH 5/7] Maked Group Logo label click to set the icon & removed the add icon button * Maked group logo label click able to set the icon & removed the add icon button --- retroshare-gui/src/gui/gxs/GxsGroupDialog.cpp | 5 +- retroshare-gui/src/gui/gxs/GxsGroupDialog.ui | 66 +++++++++---------- .../src/gui/qss/stylesheet/Standard.qss | 11 +++- 3 files changed, 42 insertions(+), 40 deletions(-) diff --git a/retroshare-gui/src/gui/gxs/GxsGroupDialog.cpp b/retroshare-gui/src/gui/gxs/GxsGroupDialog.cpp index 16991b72f..a6ea59313 100644 --- a/retroshare-gui/src/gui/gxs/GxsGroupDialog.cpp +++ b/retroshare-gui/src/gui/gxs/GxsGroupDialog.cpp @@ -19,6 +19,7 @@ *******************************************************************************/ #include +#include #include "util/misc.h" #include "util/DateTime.h" @@ -105,7 +106,6 @@ void GxsGroupDialog::init() connect(ui.groupLogo, SIGNAL(clicked() ), this , SLOT(addGroupLogo())); - connect(ui.addLogoButton, SIGNAL(clicked() ), this , SLOT(addGroupLogo())); ui.typePublic->setChecked(true); ui.distributionValueLabel->setText(tr("Public")); @@ -377,7 +377,6 @@ void GxsGroupDialog::setupVisibility() ui.groupName->setVisible(mEnabledFlags & GXS_GROUP_FLAGS_NAME); ui.groupLogo->setVisible(mEnabledFlags & GXS_GROUP_FLAGS_ICON); - ui.addLogoButton->setVisible(mEnabledFlags & GXS_GROUP_FLAGS_ICON); ui.groupDesc->setVisible(mEnabledFlags & GXS_GROUP_FLAGS_DESCRIPTION); @@ -418,8 +417,6 @@ void GxsGroupDialog::setAllReadonly() void GxsGroupDialog::setupReadonly() { - ui.addLogoButton->setEnabled(!(mReadonlyFlags & GXS_GROUP_FLAGS_ICON)); - ui.publishGroupBox->setEnabled(!(mReadonlyFlags & GXS_GROUP_FLAGS_PUBLISHSIGN)); ui.pubKeyShare_cb->setEnabled(!(mReadonlyFlags & GXS_GROUP_FLAGS_SHAREKEYS)); diff --git a/retroshare-gui/src/gui/gxs/GxsGroupDialog.ui b/retroshare-gui/src/gui/gxs/GxsGroupDialog.ui index 00e49d8b3..9cf6f89ea 100644 --- a/retroshare-gui/src/gui/gxs/GxsGroupDialog.ui +++ b/retroshare-gui/src/gui/gxs/GxsGroupDialog.ui @@ -77,6 +77,9 @@ + + 3 + 6 @@ -84,7 +87,7 @@ 0 - + 64 @@ -97,6 +100,9 @@ 64 + + <html><head/><body><p>Click to add a Logo</p></body></html> + QFrame::StyledPanel @@ -104,33 +110,13 @@ QFrame::Raised - :/images/channels.png + :/icons/png/add-image.png true - - - - 6 - - - 6 - - - - - Name - - - - - - - - @@ -148,17 +134,6 @@ 3 - - - - Add Icon - - - - :/images/add_image24.png:/images/add_image24.png - - - @@ -211,6 +186,26 @@ + + + + 6 + + + 6 + + + + + Name + + + + + + + + @@ -894,6 +889,11 @@ QComboBox
gui/common/GroupChooser.h
+ + ClickableLabel + QLabel +
util/ClickableLabel.h
+
diff --git a/retroshare-gui/src/gui/qss/stylesheet/Standard.qss b/retroshare-gui/src/gui/qss/stylesheet/Standard.qss index 3e9a063cf..794c2aa8a 100644 --- a/retroshare-gui/src/gui/qss/stylesheet/Standard.qss +++ b/retroshare-gui/src/gui/qss/stylesheet/Standard.qss @@ -813,6 +813,11 @@ GxsChannelPostsWidget QToolButton#subscribeToolButton::menu-button { } +GxsGroupDialog QLabel#groupLogo{ + border: 2px solid #CCCCCC; + border-radius: 3px; +} + PostedItem QFrame#frame_notes { background: white; } @@ -880,12 +885,12 @@ PostedCreatePostDialog QPushButton#submitButton { border-radius: 4px; max-height: 27px; min-width: 4em; - padding: 2px; + padding: 2px; } PostedCreatePostDialog QPushButton#submitButton:hover { background: #03b1f3; border-radius: 4px; min-width: 4em; - padding: 2px; -} \ No newline at end of file + padding: 2px; +} From a9f528ff332f45e5cae57edbaed372ee691e9f9c Mon Sep 17 00:00:00 2001 From: defnax Date: Thu, 20 Feb 2020 00:37:44 +0100 Subject: [PATCH 6/7] changed color for the enterevent --- retroshare-gui/src/gui/gxs/GxsGroupDialog.ui | 229 ++++++++----------- retroshare-gui/src/util/ClickableLabel.h | 2 +- 2 files changed, 95 insertions(+), 136 deletions(-) diff --git a/retroshare-gui/src/gui/gxs/GxsGroupDialog.ui b/retroshare-gui/src/gui/gxs/GxsGroupDialog.ui index 9cf6f89ea..bc417db65 100644 --- a/retroshare-gui/src/gui/gxs/GxsGroupDialog.ui +++ b/retroshare-gui/src/gui/gxs/GxsGroupDialog.ui @@ -59,155 +59,114 @@ - - - 0 - - - 4 - + - 0 - - - 4 + 3 - 4 + 3 - - - - 3 + + + + + 64 + 64 + - + + + 64 + 64 + + + + <html><head/><body><p>Click to add a Logo</p></body></html> + + + QFrame::StyledPanel + + + QFrame::Raised + + + :/icons/png/add-image.png + + + true + + + + + + 6 - - 0 + + 6 - - - - - 64 - 64 - - - - - 64 - 64 - - - - <html><head/><body><p>Click to add a Logo</p></body></html> - - - QFrame::StyledPanel - - - QFrame::Raised - - - :/icons/png/add-image.png - - - true + + + + Name - - - - 9 - - - 3 - - - 3 - - - 3 - - - 3 - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - - - - <html><head/><body><p>The identity here can be used to send feedback.</p></body></html> - - - Owner: - - - - - - - - - - - - - Add moderators - - - - :/icons/settings/permissions.svg:/icons/settings/permissions.svg - - - - - - - Key recipients can publish to restricted-type group and can view and publish for private-type channels - - - Share Publish Key - - - - - - - - - 6 - - - 6 - - - - - Name - - - - - - - + + + + + + Qt::Horizontal + + + + 132 + 20 + + + + + + + + <html><head/><body><p>The identity here can be used to send feedback.</p></body></html> + + + Owner: + + + + + + + + + + + + + Add moderators + + + + :/icons/settings/permissions.svg:/icons/settings/permissions.svg + + + + + + + Key recipients can publish to restricted-type group and can view and publish for private-type channels + + + Share Publish Key + + +
diff --git a/retroshare-gui/src/util/ClickableLabel.h b/retroshare-gui/src/util/ClickableLabel.h index ec1c66b8d..520608668 100644 --- a/retroshare-gui/src/util/ClickableLabel.h +++ b/retroshare-gui/src/util/ClickableLabel.h @@ -38,7 +38,7 @@ signals: protected: void mousePressEvent(QMouseEvent* event); - void enterEvent(QEvent *ev) override { setStyleSheet("QLabel { border: 1px solid #3A3939; }");} + void enterEvent(QEvent *ev) override { setStyleSheet("QLabel { border: 2px solid #039bd5; }");} void leaveEvent(QEvent *ev) override { setStyleSheet("QLabel { border: 2px solid #CCCCCC; border-radius: 3px; }");} From 12c8e59b5816451b5f190fcb927432c1621cd20e Mon Sep 17 00:00:00 2001 From: defnax Date: Fri, 21 Feb 2020 16:14:56 +0100 Subject: [PATCH 7/7] Added a Label open the Board of the post via rs link Added a Label for open the Board of the post via rs link, to show on news feed the link. --- retroshare-gui/src/gui/Posted/PostedItem.cpp | 7 +++++++ retroshare-gui/src/gui/Posted/PostedItem.ui | 17 +++++++++++++++++ 2 files changed, 24 insertions(+) diff --git a/retroshare-gui/src/gui/Posted/PostedItem.cpp b/retroshare-gui/src/gui/Posted/PostedItem.cpp index b09452a8e..d11962ab5 100644 --- a/retroshare-gui/src/gui/Posted/PostedItem.cpp +++ b/retroshare-gui/src/gui/Posted/PostedItem.cpp @@ -26,6 +26,7 @@ #include "rshare.h" #include "PostedItem.h" #include "gui/feeds/FeedHolder.h" +#include "gui/RetroShareLink.h" #include "gui/gxs/GxsIdDetails.h" #include "util/misc.h" #include "util/HandleRichText.h" @@ -132,6 +133,7 @@ void PostedItem::setup() ui->clearButton->hide(); ui->readAndClearButton->hide(); + ui->nameLabel->hide(); } bool PostedItem::setGroup(const RsPostedGroup &group, bool doFill) @@ -250,6 +252,9 @@ void PostedItem::fill() /* Wait for all requests */ return; } + + RetroShareLink link = RetroShareLink::createGxsGroupLink(RetroShareLink::TYPE_POSTED, mGroup.mMeta.mGroupId, groupName()); + ui->nameLabel->setText(link.toHtml()); QPixmap sqpixmap2 = QPixmap(":/images/thumb-default.png"); @@ -392,11 +397,13 @@ void PostedItem::fill() { ui->clearButton->hide(); ui->readAndClearButton->hide(); + ui->nameLabel->hide(); } else { ui->clearButton->show(); ui->readAndClearButton->show(); + ui->nameLabel->show(); } // disable voting buttons - if they have already voted. diff --git a/retroshare-gui/src/gui/Posted/PostedItem.ui b/retroshare-gui/src/gui/Posted/PostedItem.ui index f470fea00..f7c69008f 100644 --- a/retroshare-gui/src/gui/Posted/PostedItem.ui +++ b/retroshare-gui/src/gui/Posted/PostedItem.ui @@ -320,6 +320,23 @@ 6 + + + + + 75 + true + true + + + + Name + + + true + + +