From c00efe93d4e6698c8efba933be655cf137f183b5 Mon Sep 17 00:00:00 2001 From: Phenom Date: Fri, 11 May 2018 10:14:06 +0200 Subject: [PATCH 01/77] Add RsCollection's content automatically download option. --- .../src/gui/FileTransfer/TransfersDialog.cpp | 91 ++++++++++++------- .../src/gui/FileTransfer/TransfersDialog.h | 1 + .../src/gui/common/RsCollection.cpp | 40 ++++++++ retroshare-gui/src/gui/common/RsCollection.h | 4 + .../src/gui/common/RsCollectionDialog.cpp | 2 +- .../src/gui/settings/TransferPage.cpp | 9 ++ .../src/gui/settings/TransferPage.h | 1 + .../src/gui/settings/TransferPage.ui | 86 ++++++++++-------- 8 files changed, 166 insertions(+), 68 deletions(-) diff --git a/retroshare-gui/src/gui/FileTransfer/TransfersDialog.cpp b/retroshare-gui/src/gui/FileTransfer/TransfersDialog.cpp index 0ecc55ac2..58c6092d0 100644 --- a/retroshare-gui/src/gui/FileTransfer/TransfersDialog.cpp +++ b/retroshare-gui/src/gui/FileTransfer/TransfersDialog.cpp @@ -19,6 +19,33 @@ * Boston, MA 02110-1301, USA. ****************************************************************/ +#include "TransfersDialog.h" + +#include "gui/notifyqt.h" +#include "gui/RetroShareLink.h" +#include "gui/common/FilesDefs.h" +#include "gui/common/RsCollection.h" +#include "gui/common/RSTreeView.h" +#include "gui/common/RsUrlHandler.h" +#include "gui/FileTransfer/DetailsDialog.h" +#include "gui/FileTransfer/DLListDelegate.h" +#include "gui/FileTransfer/FileTransferInfoWidget.h" +#include "gui/FileTransfer/SearchDialog.h" +#include "gui/FileTransfer/SharedFilesDialog.h" +#include "gui/FileTransfer/TransferUserNotify.h" +#include "gui/FileTransfer/ULListDelegate.h" +#include "gui/FileTransfer/xprogressbar.h" +#include "gui/settings/rsharesettings.h" +#include "util/misc.h" +#include "util/QtVersion.h" +#include "util/RsFile.h" + +#include "retroshare/rsdisc.h" +#include "retroshare/rsfiles.h" +#include "retroshare/rspeers.h" +#include "retroshare/rsplugin.h" +#include "retroshare/rsturtle.h" + #include #include #include @@ -30,38 +57,10 @@ #include #include -#include -#include -#include -#include - #include #include #include -#include "TransfersDialog.h" -#include -#include "DetailsDialog.h" -#include "DLListDelegate.h" -#include "ULListDelegate.h" -#include "FileTransferInfoWidget.h" -#include -#include -#include "xprogressbar.h" -#include -#include "util/misc.h" -#include -#include "TransferUserNotify.h" -#include "util/QtVersion.h" -#include "util/RsFile.h" - -#include -#include -#include -#include - -#include - /* Images for context menu icons */ #define IMAGE_INFO ":/images/fileinfo.png" #define IMAGE_CANCEL ":/images/delete.png" @@ -143,7 +142,7 @@ public: #endif return mDownloads[entry].peers.size(); } - int columnCount(const QModelIndex &parent = QModelIndex()) const + int columnCount(const QModelIndex &/*parent*/ = QModelIndex()) const { return COLUMN_COUNT ; } @@ -251,7 +250,7 @@ public: return createIndex(entry,child.column(),parent_ref) ; } - QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const + QVariant headerData(int section, Qt::Orientation /*orientation*/, int role = Qt::DisplayRole) const { if(role != Qt::DisplayRole) return QVariant(); @@ -280,7 +279,7 @@ public: if(!index.isValid()) return QVariant(); - int coln = index.column() ; + //int coln = index.column() ; switch(role) { @@ -1005,6 +1004,7 @@ TransfersDialog::TransfersDialog(QWidget *parent) connect(collViewAct,SIGNAL(triggered()),this,SLOT(collView())); collOpenAct = new QAction(QIcon(IMAGE_COLLOPEN), tr( "Download from collection file..." ), this ); connect(collOpenAct, SIGNAL(triggered()), this, SLOT(collOpen())); + connect(NotifyQt::getInstance(), SIGNAL(downloadComplete(QString)), this, SLOT(collAutoOpen(QString))); /** Setup the actions for the header context menu */ showDLSizeAct= new QAction(tr("Size"),this); @@ -2778,6 +2778,35 @@ void TransfersDialog::collOpen() } } +void TransfersDialog::collAutoOpen(const QString &fileHash) +{ + if (Settings->valueFromGroup("Transfer","AutoDLColl").toBool()) + { + RsFileHash hash = RsFileHash(fileHash.toStdString()); + FileInfo info; + if (rsFiles->FileDetails(hash, RS_FILE_HINTS_DOWNLOAD, info)) { + + /* make path for downloaded files */ + if (info.downloadStatus == FT_STATE_COMPLETE) { + std::string path; + path = info.path + "/" + info.fname; + + /* open file with a suitable application */ + QFileInfo qinfo; + qinfo.setFile(QString::fromUtf8(path.c_str())); + if (qinfo.exists()) { + if (qinfo.absoluteFilePath().endsWith(RsCollection::ExtensionString)) { + RsCollection collection; + if (collection.load(qinfo.absoluteFilePath(), false)) { + collection.autoDownloadFiles(); + } + } + } + } + } + } +} + void TransfersDialog::setShowDLSizeColumn (bool show) { ui.downloadList->setColumnHidden(COLUMN_SIZE, !show); } void TransfersDialog::setShowDLCompleteColumn (bool show) { ui.downloadList->setColumnHidden(COLUMN_COMPLETED, !show); } void TransfersDialog::setShowDLDLSpeedColumn (bool show) { ui.downloadList->setColumnHidden(COLUMN_DLSPEED, !show); } diff --git a/retroshare-gui/src/gui/FileTransfer/TransfersDialog.h b/retroshare-gui/src/gui/FileTransfer/TransfersDialog.h index 51bc205d3..16be8181d 100644 --- a/retroshare-gui/src/gui/FileTransfer/TransfersDialog.h +++ b/retroshare-gui/src/gui/FileTransfer/TransfersDialog.h @@ -146,6 +146,7 @@ private slots: void collModif(); void collView(); void collOpen(); + void collAutoOpen(const QString& fileHash); void setShowDLSizeColumn(bool show); void setShowDLCompleteColumn(bool show); diff --git a/retroshare-gui/src/gui/common/RsCollection.cpp b/retroshare-gui/src/gui/common/RsCollection.cpp index e22c9073d..aec20ea13 100644 --- a/retroshare-gui/src/gui/common/RsCollection.cpp +++ b/retroshare-gui/src/gui/common/RsCollection.cpp @@ -89,6 +89,46 @@ void RsCollection::downloadFiles() const RsCollectionDialog(_fileName, colFileInfos, false).exec() ; } +void RsCollection::autoDownloadFiles() const +{ + QDomElement docElem = _xml_doc.documentElement(); + + std::vector colFileInfos; + + recursCollectColFileInfos(docElem,colFileInfos,QString(),false); + + QString dlDir = QString::fromUtf8(rsFiles->getDownloadDirectory().c_str()); + + foreach(ColFileInfo colFileInfo, colFileInfos) + { + autoDownloadFiles(colFileInfo, dlDir); + } +} + +void RsCollection::autoDownloadFiles(ColFileInfo colFileInfo, QString dlDir) const +{ + if (!colFileInfo.filename_has_wrong_characters) + { + QString cleanPath = dlDir + colFileInfo.path ; + std::cout << "making directory " << cleanPath.toStdString() << std::endl; + + if(!QDir(QApplication::applicationDirPath()).mkpath(cleanPath)) + std::cerr << "Unable to make path: " + cleanPath.toStdString() << std::endl; + + if (colFileInfo.type==DIR_TYPE_FILE) + rsFiles->FileRequest(colFileInfo.name.toUtf8().constData(), + RsFileHash(colFileInfo.hash.toStdString()), + colFileInfo.size, + cleanPath.toUtf8().constData(), + RS_FILE_REQ_ANONYMOUS_ROUTING, + std::list()); + } + foreach(ColFileInfo colFileInfoChild, colFileInfo.children) + { + autoDownloadFiles(colFileInfoChild, dlDir); + } +} + static QString purifyFileName(const QString& input,bool& bad) { static const QString bad_chars = "/\\\"*:?<>|" ; diff --git a/retroshare-gui/src/gui/common/RsCollection.h b/retroshare-gui/src/gui/common/RsCollection.h index 87f536033..172d5101e 100644 --- a/retroshare-gui/src/gui/common/RsCollection.h +++ b/retroshare-gui/src/gui/common/RsCollection.h @@ -88,6 +88,8 @@ public: // Download the content. void downloadFiles() const ; + // Auto Download all the content. + void autoDownloadFiles() const ; qulonglong size(); @@ -105,6 +107,8 @@ private: void recursCollectColFileInfos(const QDomElement&,std::vector& colFileInfos,const QString& current_dir,bool bad_chars_in_parent) const ; // check that the file is a valid rscollection file, and not a lol bomb or some shit like this static bool checkFile(const QString &fileName, bool showError); + // Auto Download recursively. + void autoDownloadFiles(ColFileInfo colFileInfo, QString dlDir) const ; QDomDocument _xml_doc ; QString _fileName ; diff --git a/retroshare-gui/src/gui/common/RsCollectionDialog.cpp b/retroshare-gui/src/gui/common/RsCollectionDialog.cpp index 36e0eb202..4f6ec1c62 100644 --- a/retroshare-gui/src/gui/common/RsCollectionDialog.cpp +++ b/retroshare-gui/src/gui/common/RsCollectionDialog.cpp @@ -642,7 +642,7 @@ void RsCollectionDialog::updateSizes() uint64_t total_size = 0 ; uint32_t total_count = 0 ; - for(uint32_t i=0;itopLevelItemCount();++i) + for(int i=0;itopLevelItemCount();++i) { total_size += ui._fileEntriesTW->topLevelItem(i)->data(COLUMN_SIZE ,ROLE_SELSIZE ).toULongLong(); total_count += ui._fileEntriesTW->topLevelItem(i)->data(COLUMN_FILEC,ROLE_SELFILEC).toULongLong(); diff --git a/retroshare-gui/src/gui/settings/TransferPage.cpp b/retroshare-gui/src/gui/settings/TransferPage.cpp index 7899f8422..553e041a0 100644 --- a/retroshare-gui/src/gui/settings/TransferPage.cpp +++ b/retroshare-gui/src/gui/settings/TransferPage.cpp @@ -23,12 +23,14 @@ #include "rshare.h" #include "gui/ShareManager.h" +#include "gui/settings/rsharesettings.h" #include "util/misc.h" #include "retroshare/rsiface.h" #include "retroshare/rsfiles.h" #include "retroshare/rspeers.h" +#include #include #include @@ -48,6 +50,7 @@ TransferPage::TransferPage(QWidget * parent, Qt::WindowFlags flags) QObject::connect(ui._filePermDirectDL_CB,SIGNAL(activated(int)),this,SLOT(updateFilePermDirectDL(int))); QObject::connect(ui.incomingButton, SIGNAL(clicked( bool ) ), this , SLOT( setIncomingDirectory() ) ); + QObject::connect(ui.autoDLColl_CB, SIGNAL(toggled(bool)), this, SLOT(updateAutoDLColl())); QObject::connect(ui.partialButton, SIGNAL(clicked( bool ) ), this , SLOT( setPartialsDirectory() ) ); QObject::connect(ui.editShareButton, SIGNAL(clicked()), this, SLOT(editDirectories())); QObject::connect(ui.autoCheckDirectories_CB, SIGNAL(clicked(bool)), this, SLOT(toggleAutoCheckDirectories(bool))); @@ -129,6 +132,7 @@ void TransferPage::load() whileBlocking(ui.autoCheckDirectories_CB)->setChecked(rsFiles->watchEnabled()) ; ; whileBlocking(ui.incomingDir)->setText(QString::fromUtf8(rsFiles->getDownloadDirectory().c_str())); + whileBlocking(ui.autoDLColl_CB)->setChecked(Settings->valueFromGroup("Transfer", "AutoDLColl", false).toBool()); whileBlocking(ui.partialsDir)->setText(QString::fromUtf8(rsFiles->getPartialsDirectory().c_str())); whileBlocking(ui.followSymLinks_CB)->setChecked(rsFiles->followSymLinks()); whileBlocking(ui.ignoreDuplicates_CB)->setChecked(rsFiles->ignoreDuplicates()); @@ -246,6 +250,11 @@ void TransferPage::setIncomingDirectory() whileBlocking(ui.incomingDir)->setText(QString::fromUtf8(rsFiles->getDownloadDirectory().c_str())); } +void TransferPage::updateAutoDLColl() +{ + Settings->setValueToGroup("Transfer", "AutoDLColl", ui.autoDLColl_CB->isChecked()); +} + void TransferPage::setPartialsDirectory() { QString qdir = QFileDialog::getExistingDirectory(this, tr("Set Partials Directory"), "", QFileDialog::ShowDirsOnly | QFileDialog::DontResolveSymlinks); diff --git a/retroshare-gui/src/gui/settings/TransferPage.h b/retroshare-gui/src/gui/settings/TransferPage.h index 73826c511..3e28cc919 100644 --- a/retroshare-gui/src/gui/settings/TransferPage.h +++ b/retroshare-gui/src/gui/settings/TransferPage.h @@ -55,6 +55,7 @@ class TransferPage: public ConfigPage void editDirectories() ; void setIncomingDirectory(); + void updateAutoDLColl(); void setPartialsDirectory(); void toggleAutoCheckDirectories(bool); diff --git a/retroshare-gui/src/gui/settings/TransferPage.ui b/retroshare-gui/src/gui/settings/TransferPage.ui index 529a6e260..51926d710 100644 --- a/retroshare-gui/src/gui/settings/TransferPage.ui +++ b/retroshare-gui/src/gui/settings/TransferPage.ui @@ -16,7 +16,7 @@ Shared Directories - + @@ -91,7 +91,7 @@ - + @@ -103,7 +103,7 @@ - + Maximum depth (0=unlimited): @@ -122,7 +122,7 @@ - + @@ -140,7 +140,7 @@ - + @@ -165,43 +165,57 @@ Incoming Directory - + - - - true - - + + + + + true + + + + + + + + 31 + 31 + + + + + 31 + 31 + + + + Browse + + + + + + + :/images/directoryselect_24x24_shadow.png:/images/directoryselect_24x24_shadow.png + + + + 24 + 24 + + + + + - - - - 31 - 31 - - - - - 31 - 31 - - + - Browse + <html><head/><body><p><span style=" font-weight:600;">WARNING</span>: Some collection may contains a lot of files.</p><p>With this option you cannot check the collection contents before download.</p></body></html> - - - - - :/images/directoryselect_24x24_shadow.png:/images/directoryselect_24x24_shadow.png - - - - 24 - 24 - + Automatically donwload RsCollection file content (Not recommended) From a556965813bc1fa0968e12405331299d879c00cf Mon Sep 17 00:00:00 2001 From: sehraf Date: Fri, 3 Aug 2018 19:10:09 +0200 Subject: [PATCH 02/77] further conversion to new wrapper function --- libretroshare/src/gxs/rsgenexchange.h | 2 +- libretroshare/src/pqi/p3servicecontrol.cc | 5 +---- libretroshare/src/services/p3service.h | 4 ++-- 3 files changed, 4 insertions(+), 7 deletions(-) diff --git a/libretroshare/src/gxs/rsgenexchange.h b/libretroshare/src/gxs/rsgenexchange.h index e4dd074eb..6a5a11851 100644 --- a/libretroshare/src/gxs/rsgenexchange.h +++ b/libretroshare/src/gxs/rsgenexchange.h @@ -685,7 +685,7 @@ public: virtual bool getGroupNetworkStats(const RsGxsGroupId& grpId,RsGroupNetworkStats& stats); uint16_t serviceType() const { return mServType ; } - uint32_t serviceFullType() const { return ((uint32_t)mServType << 8) + (((uint32_t) RS_PKT_VERSION_SERVICE) << 24); } + uint32_t serviceFullType() const { return RsServiceInfo::RsServiceInfoUIn16ToFullServiceId(mServType); } virtual RsReputations::ReputationLevel minReputationForForwardingMessages(uint32_t group_sign_flags,uint32_t identity_flags); protected: diff --git a/libretroshare/src/pqi/p3servicecontrol.cc b/libretroshare/src/pqi/p3servicecontrol.cc index 5207b9829..d111e27ac 100644 --- a/libretroshare/src/pqi/p3servicecontrol.cc +++ b/libretroshare/src/pqi/p3servicecontrol.cc @@ -459,10 +459,7 @@ bool p3ServiceControl::checkFilter(uint32_t serviceId, const RsPeerId &peerId) #endif // must allow ServiceInfo through, or we have nothing! -#define FULLID_SERVICEINFO ((((uint32_t) RS_PKT_VERSION_SERVICE) << 24) + ((RS_SERVICE_TYPE_SERVICEINFO) << 8)) - - //if (serviceId == RS_SERVICE_TYPE_SERVICEINFO) - if (serviceId == FULLID_SERVICEINFO) + if (serviceId == RsServiceInfo::RsServiceInfoUIn16ToFullServiceId(RS_SERVICE_TYPE_SERVICEINFO)) { #ifdef SERVICECONTROL_DEBUG std::cerr << "p3ServiceControl::checkFilter() Allowed SERVICEINFO"; diff --git a/libretroshare/src/services/p3service.h b/libretroshare/src/services/p3service.h index 4eb66c470..a394b1094 100644 --- a/libretroshare/src/services/p3service.h +++ b/libretroshare/src/services/p3service.h @@ -49,8 +49,8 @@ std::string generateRandomServiceId(); //TODO : encryption and upload / download rate implementation -// p3FastService(uint16_t type) -// :pqiService((((uint32_t) RS_PKT_VERSION_SERVICE) << 24) + (((uint32_t) type) << 8)), +// p3FastService(uint16_t type) +// :pqiService((RsServiceInfo::RsServiceInfoUIn16ToFullServiceId(type)), class p3FastService: public pqiService From 6750e6140f94568ec1e47448e3abfa5f6f40f8ba Mon Sep 17 00:00:00 2001 From: defnax Date: Sat, 12 Jan 2019 15:46:47 +0100 Subject: [PATCH 03/77] Added for Channel Message composer a Image Attach button Added for Channel Message composer a Image Attach button Added a Combobox for Sort in Posted links easyer with new icons Messengerwindow changed the button icons & display on status the status icon too. --- retroshare-gui/src/gui/MessengerWindow.cpp | 11 +- retroshare-gui/src/gui/MessengerWindow.ui | 43 +++- .../src/gui/Posted/PostedListWidget.cpp | 42 ++-- .../src/gui/Posted/PostedListWidget.h | 2 +- .../src/gui/Posted/PostedListWidget.ui | 216 ++++++++---------- retroshare-gui/src/gui/common/FriendList.ui | 2 +- .../gui/gxschannels/CreateGxsChannelMsg.cpp | 19 +- .../src/gui/gxschannels/CreateGxsChannelMsg.h | 1 + .../gui/gxschannels/CreateGxsChannelMsg.ui | 47 +++- retroshare-gui/src/gui/icons.qrc | 3 + retroshare-gui/src/gui/icons/png/flame.png | Bin 0 -> 3537 bytes retroshare-gui/src/gui/icons/png/new.png | Bin 0 -> 5875 bytes retroshare-gui/src/gui/icons/png/top.png | Bin 0 -> 2469 bytes retroshare-gui/src/gui/icons/svg/flame.svg | 103 +++++++++ retroshare-gui/src/gui/icons/svg/new.svg | 103 +++++++++ retroshare-gui/src/gui/icons/svg/top.svg | 81 +++++++ .../src/gui/statusbar/peerstatus.cpp | 6 +- 17 files changed, 503 insertions(+), 176 deletions(-) create mode 100644 retroshare-gui/src/gui/icons/png/flame.png create mode 100644 retroshare-gui/src/gui/icons/png/new.png create mode 100644 retroshare-gui/src/gui/icons/png/top.png create mode 100644 retroshare-gui/src/gui/icons/svg/flame.svg create mode 100644 retroshare-gui/src/gui/icons/svg/new.svg create mode 100644 retroshare-gui/src/gui/icons/svg/top.svg diff --git a/retroshare-gui/src/gui/MessengerWindow.cpp b/retroshare-gui/src/gui/MessengerWindow.cpp index 1119d849c..b5ad24eab 100644 --- a/retroshare-gui/src/gui/MessengerWindow.cpp +++ b/retroshare-gui/src/gui/MessengerWindow.cpp @@ -108,20 +108,22 @@ MessengerWindow::MessengerWindow(QWidget* parent, Qt::WindowFlags flags) } expandedGroups.clear(); - ui.messagelineEdit->setMinimumWidth(20); + ui.messagelineEdit->setMinimumWidth(24); /* Initialize friend list */ QToolButton *button = new QToolButton(this); - button->setIcon(QIcon(":/images/user/add_user24.png")); + button->setIcon(QIcon(":/icons/png/invite.png")); button->setToolTip(tr("Add a Friend")); connect(button, SIGNAL(clicked()), this, SLOT(addFriend())); ui.friendList->addToolButton(button); + button->setIconSize(QSize(27, 27)); button = new QToolButton(this); - button->setIcon(QIcon(":/images/friendsfolder24.png")); + button->setIcon(QIcon(":/icons/png/filesharing.png")); button->setToolTip(tr("Share files for your friends")); connect(button, SIGNAL(clicked()), this, SLOT(openShareManager())); - ui.friendList->addToolButton(button); + ui.friendList->addToolButton(button); + button->setIconSize(QSize(27, 27)); // load settings RsAutoUpdatePage::lockAllEvents(); @@ -221,6 +223,7 @@ void MessengerWindow::updateOwnStatus(const QString &peer_id, int status) // my status has changed ui.statusButton->setText(m_nickName + " (" + StatusDefs::name(status) + ")"); + ui.statusButton->setIcon(QIcon(StatusDefs::imageIM(status))); return; } diff --git a/retroshare-gui/src/gui/MessengerWindow.ui b/retroshare-gui/src/gui/MessengerWindow.ui index 92d4f3a7c..7e952e86b 100644 --- a/retroshare-gui/src/gui/MessengerWindow.ui +++ b/retroshare-gui/src/gui/MessengerWindow.ui @@ -19,7 +19,16 @@ - + + 0 + + + 0 + + + 0 + + 0 @@ -34,7 +43,16 @@ - + + 6 + + + 6 + + + 6 + + 6 @@ -70,11 +88,17 @@ 0 + + + 27 + 27 + + QToolButton::InstantPopup - Qt::ToolButtonTextOnly + Qt::ToolButtonTextBesideIcon true @@ -118,7 +142,16 @@ - + + 3 + + + 3 + + + 3 + + 3 @@ -142,7 +175,7 @@ 0 0 258 - 20 + 21 diff --git a/retroshare-gui/src/gui/Posted/PostedListWidget.cpp b/retroshare-gui/src/gui/Posted/PostedListWidget.cpp index e51bc51b8..2bd005566 100644 --- a/retroshare-gui/src/gui/Posted/PostedListWidget.cpp +++ b/retroshare-gui/src/gui/Posted/PostedListWidget.cpp @@ -41,23 +41,19 @@ PostedListWidget::PostedListWidget(const RsGxsGroupId &postedId, QWidget *parent ui->setupUi(this); /* Setup UI helper */ - mStateHelper->addWidget(mTokenTypeAllPosts, ui->hotSortButton); - mStateHelper->addWidget(mTokenTypeAllPosts, ui->newSortButton); - mStateHelper->addWidget(mTokenTypeAllPosts, ui->topSortButton); + mStateHelper->addWidget(mTokenTypeAllPosts, ui->comboBox); - mStateHelper->addWidget(mTokenTypePosts, ui->hotSortButton); - mStateHelper->addWidget(mTokenTypePosts, ui->newSortButton); - mStateHelper->addWidget(mTokenTypePosts, ui->topSortButton); + mStateHelper->addWidget(mTokenTypePosts, ui->comboBox); mStateHelper->addWidget(mTokenTypeGroupData, ui->submitPostButton); mStateHelper->addWidget(mTokenTypeGroupData, ui->subscribeToolButton); - connect(ui->hotSortButton, SIGNAL(clicked()), this, SLOT(getRankings())); - connect(ui->newSortButton, SIGNAL(clicked()), this, SLOT(getRankings())); - connect(ui->topSortButton, SIGNAL(clicked()), this, SLOT(getRankings())); connect(ui->nextButton, SIGNAL(clicked()), this, SLOT(showNext())); connect(ui->prevButton, SIGNAL(clicked()), this, SLOT(showPrev())); connect(ui->subscribeToolButton, SIGNAL(subscribe(bool)), this, SLOT(subscribeGroup(bool))); + + connect(ui->comboBox, SIGNAL(currentIndexChanged(int)), this, SLOT(getRankings(int))); + // default sort method. mSortMethod = RsPosted::HotRankType; @@ -67,8 +63,6 @@ PostedListWidget::PostedListWidget(const RsGxsGroupId &postedId, QWidget *parent mTokenTypeVote = nextTokenType(); - ui->hotSortButton->setChecked(true); - /* fill in the available OwnIds for signing */ ui->idChooser->loadIds(IDCHOOSER_ID_REQUIRED, RsGxsId()); @@ -183,7 +177,7 @@ void PostedListWidget::updateShowText() ui->showLabel->setText(showText); } -void PostedListWidget::getRankings() +void PostedListWidget::getRankings(int i) { if (groupId().isNull()) return; @@ -192,23 +186,19 @@ void PostedListWidget::getRankings() std::cerr << std::endl; int oldSortMethod = mSortMethod; - - QObject* button = sender(); - if(button == ui->hotSortButton) + + switch(i) { + default: + case 0: mSortMethod = RsPosted::HotRankType; - } - else if(button == ui->topSortButton) - { - mSortMethod = RsPosted::TopRankType; - } - else if(button == ui->newSortButton) - { + break; + case 1: mSortMethod = RsPosted::NewRankType; - } - else - { - return; + break; + case 2: + mSortMethod = RsPosted::TopRankType; + break; } if (oldSortMethod != mSortMethod) diff --git a/retroshare-gui/src/gui/Posted/PostedListWidget.h b/retroshare-gui/src/gui/Posted/PostedListWidget.h index 426c4f742..9d472c7a5 100644 --- a/retroshare-gui/src/gui/Posted/PostedListWidget.h +++ b/retroshare-gui/src/gui/Posted/PostedListWidget.h @@ -71,7 +71,7 @@ private slots: void submitVote(const RsGxsGrpMsgIdPair& msgId, bool up); - void getRankings(); + void getRankings(int); void subscribeGroup(bool subscribe); diff --git a/retroshare-gui/src/gui/Posted/PostedListWidget.ui b/retroshare-gui/src/gui/Posted/PostedListWidget.ui index 934d4dafc..8fd987927 100644 --- a/retroshare-gui/src/gui/Posted/PostedListWidget.ui +++ b/retroshare-gui/src/gui/Posted/PostedListWidget.ui @@ -14,7 +14,16 @@ Form - + + 0 + + + 0 + + + 0 + + 0 @@ -53,6 +62,12 @@ 0 + + + 50 + false + + Subscribe @@ -64,12 +79,18 @@ - Submit a new Post + Create Post :/images/posted_24.png:/images/posted_24.png + + + 24 + 24 + + Qt::ToolButtonTextBesideIcon @@ -78,6 +99,62 @@ + + + + + 10 + 75 + true + + + + SORT + + + + + + + font: bold; +font-size: 15px; +color: #0099cc; + + + + 27 + 27 + + + + + Hot + + + + :/icons/png/flame.png:/icons/png/flame.png + + + + + New + + + + :/icons/png/new.png:/icons/png/new.png + + + + + Top + + + + :/icons/png/top.png:/icons/png/top.png + + + + @@ -91,116 +168,6 @@ - - - - Hot - - - - - - - :/images/hot_24.png:/images/hot_24.png - - - - 24 - 24 - - - - true - - - true - - - - - - - New - - - - - - - :/images/new_24.png:/images/new_24.png - - - - 24 - 24 - - - - true - - - true - - - - - - - Top - - - - - - - :/images/vote_up.png:/images/vote_up.png - - - - 24 - 24 - - - - true - - - false - - - true - - - - - - - - Today - - - - - Yesterday - - - - - This Week - - - - - This Month - - - - - This Year - - - - @@ -236,19 +203,6 @@ - - - - Qt::Horizontal - - - - 40 - 20 - - - - @@ -279,7 +233,16 @@ 0 - + + 0 + + + 0 + + + 0 + + 0 @@ -302,6 +265,7 @@ + diff --git a/retroshare-gui/src/gui/common/FriendList.ui b/retroshare-gui/src/gui/common/FriendList.ui index 49a875088..03c417e05 100644 --- a/retroshare-gui/src/gui/common/FriendList.ui +++ b/retroshare-gui/src/gui/common/FriendList.ui @@ -81,7 +81,7 @@ - Trusted nodes + Friends AlignCenter diff --git a/retroshare-gui/src/gui/gxschannels/CreateGxsChannelMsg.cpp b/retroshare-gui/src/gui/gxschannels/CreateGxsChannelMsg.cpp index 6ca6a4613..62ac84274 100644 --- a/retroshare-gui/src/gui/gxschannels/CreateGxsChannelMsg.cpp +++ b/retroshare-gui/src/gui/gxschannels/CreateGxsChannelMsg.cpp @@ -24,9 +24,11 @@ #include #include #include +#include #include "CreateGxsChannelMsg.h" #include "gui/feeds/SubFileItem.h" +#include "gui/settings/rsharesettings.h" #include "gui/RetroShareLink.h" #include "util/HandleRichText.h" #include "util/misc.h" @@ -66,7 +68,8 @@ CreateGxsChannelMsg::CreateGxsChannelMsg(const RsGxsGroupId &cId, RsGxsMessageId connect(buttonBox, SIGNAL(rejected()), this, SLOT(cancelMsg())); connect(addFileButton, SIGNAL(clicked() ), this , SLOT(addExtraFile())); - connect(addfilepushButton, SIGNAL(clicked() ), this , SLOT(addExtraFile())); + connect(addfilepushButton, SIGNAL(clicked() ), this , SLOT(addExtraFile())); + connect(imageButton, SIGNAL(clicked()), this, SLOT(addImage())); connect(addThumbnailButton, SIGNAL(clicked() ), this , SLOT(addThumbnail())); connect(thumbNailCb, SIGNAL(toggled(bool)), this, SLOT(allowAutoMediaThumbNail(bool))); connect(tabWidget, SIGNAL(customContextMenuRequested(QPoint)), this, SLOT(contextMenu(QPoint))); @@ -821,3 +824,17 @@ void CreateGxsChannelMsg::loadRequest(const TokenQueue *queue, const TokenReques } } } + +void CreateGxsChannelMsg::addImage() +{ + QString file; + if (misc::getOpenFileName(this, RshareSettings::LASTDIR_IMAGES, tr("Choose Image"), tr("Image Files supported (*.png *.jpeg *.jpg *.gif *.webp)"), file)) { + QString encodedImage; + if (RsHtml::makeEmbeddedImage(file, encodedImage, 640*480)) { + QTextDocumentFragment fragment = QTextDocumentFragment::fromHtml(encodedImage); + msgEdit->append("\n\n\n\n\n"); + msgEdit->textCursor().insertFragment(fragment); + } + } +} + diff --git a/retroshare-gui/src/gui/gxschannels/CreateGxsChannelMsg.h b/retroshare-gui/src/gui/gxschannels/CreateGxsChannelMsg.h index bb8f15518..0a5afda7e 100644 --- a/retroshare-gui/src/gui/gxschannels/CreateGxsChannelMsg.h +++ b/retroshare-gui/src/gui/gxschannels/CreateGxsChannelMsg.h @@ -70,6 +70,7 @@ private slots: void addThumbnail(); void allowAutoMediaThumbNail(bool); + void addImage(); private: void loadChannelInfo(const uint32_t &token); diff --git a/retroshare-gui/src/gui/gxschannels/CreateGxsChannelMsg.ui b/retroshare-gui/src/gui/gxschannels/CreateGxsChannelMsg.ui index 3f4cd7d4b..79dbaf424 100644 --- a/retroshare-gui/src/gui/gxschannels/CreateGxsChannelMsg.ui +++ b/retroshare-gui/src/gui/gxschannels/CreateGxsChannelMsg.ui @@ -96,7 +96,7 @@ - + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> @@ -118,9 +118,15 @@ p, li { white-space: pre-wrap; } :/images/add-share24.png:/images/add-share24.png + + + 24 + 24 + + - + Add Channel Thumbnail @@ -129,6 +135,29 @@ p, li { white-space: pre-wrap; } :/images/add_image24.png:/images/add_image24.png + + + 24 + 24 + + + + + + + + Attach Picture + + + + :/images/add_image24.png:/images/add_image24.png + + + + 24 + 24 + + @@ -302,8 +331,8 @@ p, li { white-space: pre-wrap; } 0 0 - 767 - 42 + 63 + 24 @@ -390,17 +419,17 @@ p, li { white-space: pre-wrap; } + + MimeTextEdit + QTextEdit +
gui/common/MimeTextEdit.h
+
HeaderFrame QFrame
gui/common/HeaderFrame.h
1
- - MimeTextEdit - QTextEdit -
gui/common/MimeTextEdit.h
-
diff --git a/retroshare-gui/src/gui/icons.qrc b/retroshare-gui/src/gui/icons.qrc index 45b7c920b..a1bdb46a5 100644 --- a/retroshare-gui/src/gui/icons.qrc +++ b/retroshare-gui/src/gui/icons.qrc @@ -257,5 +257,8 @@ icons/png/circles-green.png icons/png/forums-default.png icons/png/forums-signed.png + icons/png/flame.png + icons/png/new.png + icons/png/top.png diff --git a/retroshare-gui/src/gui/icons/png/flame.png b/retroshare-gui/src/gui/icons/png/flame.png new file mode 100644 index 0000000000000000000000000000000000000000..5b92fb27aa4dfecfee0c3a0b440eb0b57c3b5000 GIT binary patch literal 3537 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 LNkvXXu0mjfJ0?Y= literal 0 HcmV?d00001 diff --git a/retroshare-gui/src/gui/icons/png/new.png b/retroshare-gui/src/gui/icons/png/new.png new file mode 100644 index 0000000000000000000000000000000000000000..6838d543125ac238bb6990322c358801940d4744 GIT binary patch literal 5875 zcmV>!eEx>M{@5(3xgzoB)%fk`E_?iq3GopCq-m4%FO;Xi? z5F>^lW>5%^G*q3v*Zre9O;^{c>gw)OUDZi_f2H?Xwa?1g>+G}k+Iz1pv^uvA9vHml z{!&H$3^)>a4!BQ@-V$Dz`Vk`9RQ*&XxFz=<^|A^$1vm)!m56*ZME{<2>i136ZycoA z3e==;!$NE9eZYdK%L1D{(&vletz5GB`DxYdrVVd09l-?#?NL}*Me1p1?E6@?@bPKY zZ348e0bIXjRxqdV^BNC#G(!k?8OP1Vp45YlRI8&ecapbUgz^z!&Uo?ygW*tODW5*( zwMObSSz6WrOn>eQ5xz3f-w6zQl|En8HGCrVaxBWM-8S2XLn{=$Okn9mf3Bie_;lw# z#G*^gw59>vnA^`L*b2;_LM<-=-!RJRVt4B2ld7R_!@|G@A6L~3aKIFFdCtvA9L>4M zyf}qA8bZ))1)>NN{CAyN;{&__==MUl&E_5f`kf!TgPs$1*ZkG>TV~n0g%6^11E;8J z952a1W~gwvhcCuZSFE&N5777cK~}=82=f|H`wPH2t6X2`PUXt34CMYWK+>vuA@Jq~ z-1}u0hDUSplAR5xd(yO=0R#iNuc&fGgKwk2!@y(1e=h}2pux{WgzLg|>dHpmW1_T{ z0jz#}fepef)ZtyvP+oP`AIpVZ+ncS(9!#?p7>y0WFS7SGKEQ12@fcu*uNR~Z$X~7B7a;+CpS&^ zji=WDuHQ1t%qd9SN_$++UZ<9)OZ6}yKT00ubhg?8Ni2_`aJ*M z&hx;1AphzL`mNYjHC3T82GIBLTx(~af|qj;K16A8Mw^K<1o8vmZs%uxm!6|{#eIYL z4B*zm18qT<1LuIA3e1YF?lu4p_^GPg?Ui-(B!3e}rBgG2TQ(kMojD!kOwiMSjyRNR zGcF$ZiK?#mM!rcp_2gtLnz#XEHy>rxe^5lv0ZyJ&9c^Molsv-SA^xt3PBYincmufu zjB*k1F@e-%lx#CSDCB^D@4Vj z*J~PppzXJRh9mG_YhABt01D5>t4^EgX1q2Wrw8DXc-3h$-3VH<4QsClP;Ka5`!>^n zn3`=^(*Ug6pT?_Ao9V_v%{HuQ0EIU#%v0KD-==XqkMM5|s{5tFyhSxb!?iyFE5rdm zi&LXEB?O*OmCM|$@G$31&9V9vcxbo{t1|9ZEKwd*;l1(c)CT<7VY>6%BN@)t=~i~- zhlqJ&tSAqSCo}G%P!-yaV9W^Sg|hT^E5s>mj{813&i5bcFaQ^ZKZ!@3Hhb_9iKaw} zeL<)bKkmyr{<83km+VCNRU8WKBX}9-ZH~$`rbgm50O40;x_&#JSbh5fwEY>VgO`AQ zXXy%e?Cb&_s3s`zwurJ^l&TA`H->ghMD@H#?X)$NT&w>uW zxU6K=qF5pQqF2zpMjsV@~Btq5uC{8(0%bU z@IyiVrj~%hA&OCAR_L zWE5&~eylpuFbRvlt|Dzq&k4Il`54iT@B#Eaeo%RldK=i=$0mO8>C_E~-Z}EO850m% znR=Gei6~Q{$kWMR)+=1U0px!q6OwOjUIo?~;cYIHdbjURT?g_b0EFdc&ERLo{-D^M z`ne)kMO79^p{y4W%o7O9gG2IP7%S^ulgy|{VT2<%<%pmmS^sXWx*N3P;Q7Z-M7~AY zp~&Z)O&snrsSAtg)MF!8gs+YKQ}u6y{*4v6i+p;~*P=Xn#grL<5q$zch0oc6O=p$~ zeKyJN0$oc3#dOH@e)! zGApR(MfG4&jBfzzatSY{zb@I<;8}%U7jT5@PMu#|)%9>S!62J^ukFu$+v2t;Tv>TY zg`Q#76 zMlr6lVEXf)6VaN%kXAt9QGq@e%)PB<6zuvfv+SJWM-;9Uba7R=*9k@RJz=`@|BkK4 z%qje2cxrdZ?MUuNulPNeZ8oOJ_5{j zB1e)=KDFnP8Q65Ws9ZOuo>1VlFq8UWt()0w?q1-u3F;WdtIo+{E=q2xCQ!XwR~2h@ zHLczF0JA}=<{;|G4jym&bGKQ;R#p8h6K{Ng!>#AG%J{(I&A{aVfv3#T6R%MZJy5ut z?B=6t-Ap95wE?rO)oiVFv{enjX7d+NItsOAP;k?Wc|}-m2J#hW8M#cVAK{x`e3>)nysdUx=m8dY7i+gweX%s&7!+Sx)HmGY!m&;E8B5IyRE6K!#K)%gVzUk^}1xA{FyK?p@gjS{p<Scj7VYVw&7V59xZD7) z+dfCVWND$yUmjoaW`qA)Wf}V!^V-U>g(3DvO3SjIRF%uzoW!9cYxkn)y+5$dosQI4 zo+T_dYjWf6=Bf568AXR0?hN`jU2EqQc7Wbm=g@RgD7u>KwwG-_DKmiJ4KIEkIJ!{^ zOp=ds%a*dwk$Yq3cY&wI3JUtkiqz|wh1-nkAGsaL<9v7WYgNzh?R)$nGm!f$yI}q{ zgu8%4Ybhlv*L3vdPO2p{UJo$L0u}j7CO0~nC`S*s@dzUiE0Nu}SYcXDwG<^!X^}-e z)626>SScZbt&VOI5xrz= zSkniuWr0^Jg^3&zmeH%m4s1HpW^>>7ULFHhF`0OWa-{7DD*b_BLetT51^{$8%)p*W zC<9;)&0hliQ3G$P2J?28NuBD_o$L2FUBz_jp|HU5pabLl{$RUH&n_!jx%36#_6XVc zCI<4I5#?~xhBujP{xfz#{+Foy3-CUs?CoF}P)@3Fx=Nn>eG$^e0E;>=N{=&ii9sCV6I+b-1PAG=mslOIjwkJn{s&tQ?N%O|8trEJexL0Z2fIJMmgmQy3c9F}ZP7l+md&h=^ z_s}trTWSY#YZbm<*Z*?naF1~!S5uk>ogP%rt!V70c0Ol|{+?jX#`j14B+R59aBlWn zQEmt3+v4s&FB4d`@Fg*2S|s8&X#`t%C=e{!O2?3+De4xEpv^o&T?y#4b^DR;lgx zFp&F0qw>v0PDYGkyW6qz59nR?dMNnT!2@l0_ZH`wKj`!vX35OcP!Rzi^tUi9oe=M23*E>EYP^ue5y z>WIq4!D05$`F~nga>1hCfquQDB#S)$r@=t}8u}it3{Pj4JUzDY0Yr%!63#Lm!9@|} z(5ois&%e)R^Xr}QzW_cqj8w9$>6#vG(kt11=D(%j_W6M0VySP$BF9m9@&)Z9QO;tYY zyOR|!NYyxaM_>MJ-snHmzz1Yh-(KwQEXzb{v$-EYMPka`s`A%S|AC4+2XZ~4++1-% zIoEl4D6slTElvLXm#OGJgV=766~#<4GQUIB&}^|M`KU{n6M=ghrI{C^wlGC4`I;-D zU$xoXcdD&z8>!O`-46Ud;?hml>f>4(8tyBNf3HiJrPUfA#@p?4!J^-}bn*kLdKD2K z_SBI-XKk)5bn12_*8^Lt{NOAb1RIAZj-u%~VYg_6A5)s|XqlBx4Ms)eTDK#)yyRO| zXZ-D6BI>(4uN7fAP_wd0kT8z!vXWl$s@zoLH}iq-*lez^A`=Hd|KPDIvLIeHXB58^ z;R9hhc~!MVFr%5+8&Ntcb{+7Jab@dgryEKfUUp>q9b4wv-G%LS%u;R>xFF1=9tiq! z@6^(m|IYwB&hPe06dv{150hEAZG7nx6Wj24Vb^vylz0zH--NZR&U`zka86mtxyQVS zNYrAFu^grFLz~TQRl@_oIqaj2kJ9Id5+_fj@nH(zM4Qc>3*1aR4%H(rlPaG-FYQa* z%*@%9+$>&2MV$&5*VHc5^T)(n;}Nh^)}|09OF_hx==@h45T z@nMQ@S0U52!C~J+_1!mhqv|SS_R+h5+LU^tT)gO4Q>`bSaq-&RTWrX0rdo}_)q?q!SAQwON2zZ|?>>nO zICwa%+?0qdFk-X0XPEjC^R-sqwt1arT_!cvXAQ*run1|Yub1Wucnkr-dL*bKn5dw^-fxcFYS*bJcPZETK7 zo7xl!TF(IJIqo^8b9wo`it^&{vyO#Whg}-aP_Ru6RO0ouVl@D%zLKX+OvL?+<28V` zBiL}_e#Y^B0(^Yq(>Bq>{fyf^zzn0Mdw{TQ01YSZXB_Y3%hQXt(>`LhkrbG>=;=5s zjMo54d3Y)kIJSugfo-giShJ4BKK&Z^IJM2|Xak1Xu^T`=i67fc4nbpow(<7>%KdTI z*`|c5#Qtn!HvqR|=RHcSCtkFnl-R-TpS&mTdgEV$)w?Y8#(o%hCic4bU7qnO=fv#* zLL+y}-m>M*))l`1x`N8|ug_D;6#kOJkie@bFCv7L_81g^R|MUSnAbeI3n+^6qN>an z(RTu;(mHDhJ@6k24+uP`r9F)u26-duXDKq5(hjNwus=$GFi&B&l#+0~fzk@-v6;vJ z6Xh-!B)$}N+G!k2&vxmxkL}Np6>Q<63``Y>2e*#9MD#1Yh3kqLo z_LatmeW?f7gR0my`H!Mp1nfCZ<`Gm@yYA$j%~Y)!{D1iQ`o4$N{__9;002ov JPDHLkV1fZ!n_U0^ literal 0 HcmV?d00001 diff --git a/retroshare-gui/src/gui/icons/png/top.png b/retroshare-gui/src/gui/icons/png/top.png new file mode 100644 index 0000000000000000000000000000000000000000..f25741faef2df37808779eb6ee7e3009d6c5499a GIT binary patch literal 2469 zcmai0c{J4R7yp`J#=c}}8hg^13XLs=X~>c_OCjrw^%XJkPHJLLm zXRZ2qDrS>h632YUl7zLUpR^82NIh+C{kFZ~G#b%1lUwgSxJz7W_a?RyyaXv)*XLw= zrGyH9%9SV9onML0_;uK6X~!JxQ_;5I@21Lq==J@a9?h-G3I|jbi(f&*druD(S3bOG zn_vTe`R(e!dQZk{D0S_?S7bODxz5o$-?m||Xu(ILE=$jV`VM3*%{-@j$Ri3}Jczkj zS`eat4$w3n;6PFHX&BF&tzIzX?T*ku7^Z+B9|%b3-w(X!7O$*9*T|ePzAJb5dd%Y& z;FtBdPv`E+f&0*ML=L-K(GZVOw^UuN(qtJ70<88Lnur~x#P&b$x_!$6I(VO_&mXTH z)%W02D5Pc*J=a5B#j9#b12Jx0sUmsdO8phBf^q0#zN|z5rI_y3_5%6^uR5aCj0eE?26xCe_~}5_xU;$iIL} zcU(#E1}e+%oOgy1-Ilv{6IF~eD&pOkM2KjRR~nx zPn+mi=9drI<@^2wSC$~gF_Refa$mgQG;{d6R!$(WDpRUv7D!H>46(-%E5?_f zmU>CVz{OfKDj8`Qvp)z~IU)VSwYEH_ZzdSkrURjn#v92jS+eWCI8tT1zrLMu?wO?3 zrOBTxBMHbu6kKzRrz0UIR{{J6fgRuSokitdYW6Zl?ww9a`rVMVNOE-Kj9X7{e~S&P zpUl+!%RR0J#D!*e3i*B@DRQoU;aUq(2>q2H5mR|)nmf@^d2(cq9mYZy@@Ng7w&+IZ zd+9Z+VcB3j7`1L^(3wtX=0{Mn!JE0NA9p!q#v@FAPJx^ z5IEJt_DBNy{{dpN+C5*?xKJ3J~UQF;wRHW|w7P-ei3p&qYuHw*Ye7hSGK* zq3}%N!yDZ^rrX*v?(h$-@hb<#ErPeH4+H>4=Aq~__32&p;H@!?!N7Xwp9iWjL5ja` zrVR3RC>2uXzC6@T!UHMYrHZiOB2FYUG2Rg1*9f%a;9>l zbGP+SS^^-iS?gZmG(6@nc@fOn{$%k5Id!EMh%q|FP{LI#zXv#lf|}z>i&ViK@b3Ri z&sY?bb5*=OS#Ke47ByDvb_$S%aCV#fo5{GJoEA`)XKq+$N*0@gWF9?8K_iM5bVPFY zv_n%dhl>FIBP9Zaa8&yR#)tZe8(x;8h2qYBnR3iIAMpkb$gA$CmHbrJvkRLRhoko2 zhyieI67XsGGWY{%Sf@5qYX+nuH$y8K?a`Vc4?<^IV|rDoofn;cnO4u%1IGOLg5wnp zAcQ+ByJT6=`oDXePJD_lg8IsZ$P!vd-b(6TKc~lBsEXqyPs0|R$`Aq zO_NaHvIf^Ma5B_al}?UUc}SId)nek6yT_)f7A4(f+A26C9Y_5X)bdlEI$9^&->)^A z)w8A%4TP69Bh|M}Q?8MZM;g-RawvBfA+tmC5HqJpN#RSbE(V|r&;sT`Yev(S5pVYB z8ykMY#P-{;8H5fjKP;2f=0xQHisOexl>LHgVT&!}fJZmUvaW`);6UNw1OU1C{5xY? zP0qXoDP87n1k!%qrv8+{yz&~mbo;)i!Aa~-=;b6KWVcE~GIm2&w_|C=H05_rc+l6s z+5X3;Fp{b9a3&S)n8VG7I{JBHa||1I?%LPgf}JXl{%S1SZ<{&-|45HIWwm|q?iE~H zuyU7T94(v^Kzkf07!zqo8Ym3jY{puSJbtNt62cmS>ZTP6-ijy6L_r*4I!r$=n`2=Q z&jfE$)I%us%FG?>aLBVmM2C#;G%Cs}qALGIq^TLPl}pU&5pbBPKb=qF3S;nGL;F;pJZ78=;AY5B19Hz<}d^UqsV4J_5cgcEUZ+)%fTDHK)31 tgz1TL5|&Xa+8|FJV9ljlrl)Y5Ou71OSf2&-ENce=j14UGse0Hu{{U9nYaIXp literal 0 HcmV?d00001 diff --git a/retroshare-gui/src/gui/icons/svg/flame.svg b/retroshare-gui/src/gui/icons/svg/flame.svg new file mode 100644 index 000000000..6f5d79a40 --- /dev/null +++ b/retroshare-gui/src/gui/icons/svg/flame.svg @@ -0,0 +1,103 @@ + + + +image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/retroshare-gui/src/gui/icons/svg/new.svg b/retroshare-gui/src/gui/icons/svg/new.svg new file mode 100644 index 000000000..05b7b3249 --- /dev/null +++ b/retroshare-gui/src/gui/icons/svg/new.svg @@ -0,0 +1,103 @@ + + + +image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/retroshare-gui/src/gui/icons/svg/top.svg b/retroshare-gui/src/gui/icons/svg/top.svg new file mode 100644 index 000000000..2493a1394 --- /dev/null +++ b/retroshare-gui/src/gui/icons/svg/top.svg @@ -0,0 +1,81 @@ + + + + + + image/svg+xml + + + + + + + + + + + + + diff --git a/retroshare-gui/src/gui/statusbar/peerstatus.cpp b/retroshare-gui/src/gui/statusbar/peerstatus.cpp index eaaf00a3b..322109b05 100644 --- a/retroshare-gui/src/gui/statusbar/peerstatus.cpp +++ b/retroshare-gui/src/gui/statusbar/peerstatus.cpp @@ -36,7 +36,7 @@ PeerStatus::PeerStatus(QWidget *parent) iconLabel->setPixmap(QPixmap(":/icons/avatar_grey_128.png").scaledToHeight(S,Qt::SmoothTransformation)); hbox->addWidget(iconLabel); - statusPeers = new QLabel( tr("Trusted nodes: 0/0"), this ); + statusPeers = new QLabel( tr("Friends: 0/0"), this ); hbox->addWidget(statusPeers); _compactMode = false; @@ -50,10 +50,10 @@ void PeerStatus::getPeerStatus(unsigned int nFriendCount, unsigned int nOnlineCo /* set users/friends/network */ if (statusPeers){ - statusPeers->setToolTip(tr("Online Trusted nodes/Total trusted nodes") ); + statusPeers->setToolTip(tr("Online Friends/Total Friends") ); QString text; if (_compactMode) text = QString("%1/%2").arg(nOnlineCount).arg(nFriendCount); - else text = QString("%1: %2/%3 ").arg(tr("Trusted nodes")).arg(nOnlineCount).arg(nFriendCount); + else text = QString("%1: %2/%3 ").arg(tr("Friends")).arg(nOnlineCount).arg(nFriendCount); statusPeers -> setText(text); } int S = QFontMetricsF(iconLabel->font()).height(); From 6c0c42c8ad91f94b177f0b9e7dbf2fd952532895 Mon Sep 17 00:00:00 2001 From: defnax Date: Sat, 12 Jan 2019 22:20:00 +0100 Subject: [PATCH 04/77] Improved Subscribe Button look and feel * Improved Subscribe Button look and feel with stylsheet * Removed icons from Subscribe button * Subcribe button hided on posted too when subscribed --- .../src/gui/Posted/PostedListWidget.cpp | 5 +++ .../src/gui/Posted/PostedListWidget.ui | 14 ++++--- .../src/gui/common/SubscribeToolButton.cpp | 4 +- .../src/gui/gxsforums/GxsForumThreadWidget.ui | 25 ++++++++---- .../src/gui/qss/stylesheet/Standard.qss | 40 ++++++++++++++----- 5 files changed, 61 insertions(+), 27 deletions(-) diff --git a/retroshare-gui/src/gui/Posted/PostedListWidget.cpp b/retroshare-gui/src/gui/Posted/PostedListWidget.cpp index 2bd005566..4de58fbfe 100644 --- a/retroshare-gui/src/gui/Posted/PostedListWidget.cpp +++ b/retroshare-gui/src/gui/Posted/PostedListWidget.cpp @@ -67,6 +67,10 @@ PostedListWidget::PostedListWidget(const RsGxsGroupId &postedId, QWidget *parent ui->idChooser->loadIds(IDCHOOSER_ID_REQUIRED, RsGxsId()); connect(ui->submitPostButton, SIGNAL(clicked()), this, SLOT(newPost())); + + ui->subscribeToolButton->setToolTip(tr( "

Subscribing to the links will gather \ + available posts from your subscribed friends, and make the \ + links visible to all other friends.

Afterwards you can unsubscribe from the context menu of the links list at left.

")); /* load settings */ processSettings(true); @@ -288,6 +292,7 @@ void PostedListWidget::insertPostedDetails(const RsPostedGroup &group) { mStateHelper->setWidgetEnabled(ui->submitPostButton, IS_GROUP_SUBSCRIBED(group.mMeta.mSubscribeFlags)); ui->subscribeToolButton->setSubscribed(IS_GROUP_SUBSCRIBED(group.mMeta.mSubscribeFlags)); + ui->subscribeToolButton->setHidden(IS_GROUP_SUBSCRIBED(group.mMeta.mSubscribeFlags)) ; } /*********************** **** **** **** ***********************/ diff --git a/retroshare-gui/src/gui/Posted/PostedListWidget.ui b/retroshare-gui/src/gui/Posted/PostedListWidget.ui index 8fd987927..c0827501c 100644 --- a/retroshare-gui/src/gui/Posted/PostedListWidget.ui +++ b/retroshare-gui/src/gui/Posted/PostedListWidget.ui @@ -46,7 +46,7 @@ 6 - 0 + 2 6 @@ -57,7 +57,7 @@ - + 0 0 @@ -65,14 +65,18 @@ 50 + false false + + + Subscribe - true + false @@ -116,9 +120,7 @@ - font: bold; -font-size: 15px; -color: #0099cc; + diff --git a/retroshare-gui/src/gui/common/SubscribeToolButton.cpp b/retroshare-gui/src/gui/common/SubscribeToolButton.cpp index fa9b3f54e..4bb0147e6 100644 --- a/retroshare-gui/src/gui/common/SubscribeToolButton.cpp +++ b/retroshare-gui/src/gui/common/SubscribeToolButton.cpp @@ -64,7 +64,7 @@ void SubscribeToolButton::updateUi() #else setPopupMode(QToolButton::InstantPopup); #endif - setIcon(QIcon(":/images/accepted16.png")); + //setIcon(QIcon(":/images/accepted16.png")); setText(tr("Subscribed")); if(mMenu != NULL) // that's because setMenu does not give away memory ownership @@ -86,7 +86,7 @@ void SubscribeToolButton::updateUi() } else { setPopupMode(QToolButton::DelayedPopup); setMenu(NULL); - setIcon(QIcon(":/images/RSS_004_32.png")); + //setIcon(QIcon(":/images/RSS_004_32.png")); setText(tr("Subscribe")); #ifndef USE_MENUBUTTONPOPUP diff --git a/retroshare-gui/src/gui/gxsforums/GxsForumThreadWidget.ui b/retroshare-gui/src/gui/gxsforums/GxsForumThreadWidget.ui index f9d226c94..8d75d1777 100644 --- a/retroshare-gui/src/gui/gxsforums/GxsForumThreadWidget.ui +++ b/retroshare-gui/src/gui/gxsforums/GxsForumThreadWidget.ui @@ -6,14 +6,17 @@ 0 0 - 1217 - 721 + 800 + 600 Form + + 0 + 0 @@ -33,6 +36,9 @@ + + 4 + @@ -94,7 +100,7 @@ 24 - 16 + 24 @@ -476,6 +482,9 @@ + + 6 + @@ -515,6 +524,11 @@ + + SubscribeToolButton + QToolButton +
gui/common/SubscribeToolButton.h
+
GxsIdLabel QLabel @@ -525,11 +539,6 @@ QLineEdit
gui/common/LineEditClear.h
- - SubscribeToolButton - QToolButton -
gui/common/SubscribeToolButton.h
-
RSTextBrowser QTextBrowser diff --git a/retroshare-gui/src/gui/qss/stylesheet/Standard.qss b/retroshare-gui/src/gui/qss/stylesheet/Standard.qss index 97e84efc8..bd83144d4 100644 --- a/retroshare-gui/src/gui/qss/stylesheet/Standard.qss +++ b/retroshare-gui/src/gui/qss/stylesheet/Standard.qss @@ -119,18 +119,9 @@ GxsCreateCommentDialog QFrame#frame { /* Forums */ -ForumsDialog QLabel#forumName, ForumsDialog QLabel#threadTitle +GxsForumThreadWidget QLabel#forumName { - border: 2px solid #CCCCCC; - border-radius:6px; - background: white; -} - -ForumsDialog2 QLabel#forumName, ForumsDialog2 QLabel#threadTitle -{ - border: 2px solid #CCCCCC; - border-radius:6px; - background: white; + font: bold; } CreateForumMsg > QToolBar#toolBar, CreateForumV2Msg > QToolBar#toolBar { @@ -822,3 +813,30 @@ PostedListWidget QToolButton#submitPostButton { font: bold; font-size: 15px; } + +PostedListWidget QToolButton#subscribeToolButton { + font: bold; + font-size: 15px; + color: white; + background: #0099cc; + border-radius: 4px; +} + +PostedListWidget QToolButton#subscribeToolButton:hover { + background: #03b1f3; + border-radius: 4px; +} + +GxsForumThreadWidget QToolButton#subscribeToolButton { + font: bold; + font-size: 14px; + color: white; + background: #0099cc; + border-radius: 4px; +} + +GxsForumThreadWidget QToolButton#subscribeToolButton:hover { + background: #03b1f3; + border-radius: 4px; +} + From 0f9ee609e2b241bb07c02cfa9aa7dd0cf67de5b1 Mon Sep 17 00:00:00 2001 From: defnax Date: Sun, 13 Jan 2019 15:38:26 +0100 Subject: [PATCH 05/77] Enabled back Subscribe button on Channels *Enabled back Subscribe Button on Channels *Set stylesheet for the Channel subscribe button too. *Fixed spacing on PostedListwidget --- .../src/gui/Posted/PostedListWidget.ui | 13 ++++- .../gui/gxschannels/GxsChannelPostsWidget.cpp | 2 + .../gui/gxschannels/GxsChannelPostsWidget.ui | 7 ++- .../src/gui/qss/stylesheet/Standard.qss | 47 +++++++++++++++---- 4 files changed, 55 insertions(+), 14 deletions(-) diff --git a/retroshare-gui/src/gui/Posted/PostedListWidget.ui b/retroshare-gui/src/gui/Posted/PostedListWidget.ui index c0827501c..77329ee15 100644 --- a/retroshare-gui/src/gui/Posted/PostedListWidget.ui +++ b/retroshare-gui/src/gui/Posted/PostedListWidget.ui @@ -14,6 +14,9 @@ Form + + 3 + 0 @@ -82,6 +85,12 @@
+ + + 0 + 0 + + Create Post @@ -124,8 +133,8 @@ - 27 - 27 + 24 + 24 diff --git a/retroshare-gui/src/gui/gxschannels/GxsChannelPostsWidget.cpp b/retroshare-gui/src/gui/gxschannels/GxsChannelPostsWidget.cpp index 86987cd97..e2fafc8fb 100644 --- a/retroshare-gui/src/gui/gxschannels/GxsChannelPostsWidget.cpp +++ b/retroshare-gui/src/gui/gxschannels/GxsChannelPostsWidget.cpp @@ -256,6 +256,8 @@ void GxsChannelPostsWidget::insertChannelDetails(const RsGxsChannelGroup &group) } ui->subscribeToolButton->setSubscribed(IS_GROUP_SUBSCRIBED(group.mMeta.mSubscribeFlags)); + mStateHelper->setWidgetEnabled(ui->subscribeToolButton, true); + bool autoDownload ; rsGxsChannels->getChannelAutoDownload(group.mMeta.mGroupId,autoDownload); diff --git a/retroshare-gui/src/gui/gxschannels/GxsChannelPostsWidget.ui b/retroshare-gui/src/gui/gxschannels/GxsChannelPostsWidget.ui index 584dea70f..7df731b86 100644 --- a/retroshare-gui/src/gui/gxschannels/GxsChannelPostsWidget.ui +++ b/retroshare-gui/src/gui/gxschannels/GxsChannelPostsWidget.ui @@ -121,16 +121,15 @@ Subscribe - - - :/images/RSS_004_32.png:/images/RSS_004_32.png - 16 16 + + QToolButton::MenuButtonPopup + Qt::ToolButtonTextBesideIcon diff --git a/retroshare-gui/src/gui/qss/stylesheet/Standard.qss b/retroshare-gui/src/gui/qss/stylesheet/Standard.qss index bd83144d4..df86b2c1f 100644 --- a/retroshare-gui/src/gui/qss/stylesheet/Standard.qss +++ b/retroshare-gui/src/gui/qss/stylesheet/Standard.qss @@ -668,14 +668,6 @@ IdDialog QFrame#inviteFrame { background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #FFFFD7, stop:1 #FFFFB2); } -GxsChannelPostsWidget QFrame#infoFrame -{ - border: 1px solid #DCDC41; - border-radius: 6px; - background: #FFFFD7; - background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #FFFFD7, stop:1 #FFFFB2); -} - IdEditDialog QLabel#info_label { border: 1px solid #DCDC41; @@ -840,3 +832,42 @@ GxsForumThreadWidget QToolButton#subscribeToolButton:hover { border-radius: 4px; } +GxsChannelPostsWidget QFrame#infoFrame +{ + border: 1px solid #DCDC41; + border-radius: 6px; + background: #FFFFD7; + background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #FFFFD7, stop:1 #FFFFB2); +} + +GxsChannelPostsWidget QToolButton#subscribeToolButton { + font: bold; + font-size: 14px; + color: white; + background: #0099cc; + border-radius: 4px; +} + +GxsChannelPostsWidget QToolButton#subscribeToolButton:hover { + background: #03b1f3; + border-radius: 4px; +} + +GxsChannelPostsWidget QToolButton#subscribeToolButton:pressed { + background: #03b1f3; + border-radius: 4px; + border: 1px solid gray; +} + +/* only for MenuButtonPopup */ +GxsChannelPostsWidget QToolButton#subscribeToolButton[popupMode="1"] { + padding-right: 0px; +} + +GxsChannelPostsWidget QToolButton#subscribeToolButton::menu-arrow { + image: none; +} + +GxsChannelPostsWidget QToolButton#subscribeToolButton::menu-button { + image: none; +} \ No newline at end of file From 6042bdd57522d875aa4a3c4a417b517c1c71f042 Mon Sep 17 00:00:00 2001 From: defnax Date: Sun, 13 Jan 2019 17:41:13 +0100 Subject: [PATCH 06/77] Fixed stylsheet for disabled subscribe button --- retroshare-gui/src/gui/qss/stylesheet/Standard.qss | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/retroshare-gui/src/gui/qss/stylesheet/Standard.qss b/retroshare-gui/src/gui/qss/stylesheet/Standard.qss index df86b2c1f..dc9b2533e 100644 --- a/retroshare-gui/src/gui/qss/stylesheet/Standard.qss +++ b/retroshare-gui/src/gui/qss/stylesheet/Standard.qss @@ -859,6 +859,13 @@ GxsChannelPostsWidget QToolButton#subscribeToolButton:pressed { border: 1px solid gray; } +GxsChannelPostsWidget QToolButton#subscribeToolButton:disabled { + background: gray; + border-radius: 4px; + border: 1px solid gray; + color: lightgray; +} + /* only for MenuButtonPopup */ GxsChannelPostsWidget QToolButton#subscribeToolButton[popupMode="1"] { padding-right: 0px; From c210a8d7342acfe2b88547f548a6514528d8256c Mon Sep 17 00:00:00 2001 From: defnax Date: Sun, 13 Jan 2019 18:12:30 +0100 Subject: [PATCH 07/77] Fixed Subscriber count label when blank is selected --- retroshare-gui/src/gui/gxschannels/GxsChannelPostsWidget.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/retroshare-gui/src/gui/gxschannels/GxsChannelPostsWidget.cpp b/retroshare-gui/src/gui/gxschannels/GxsChannelPostsWidget.cpp index e2fafc8fb..3cf412606 100644 --- a/retroshare-gui/src/gui/gxschannels/GxsChannelPostsWidget.cpp +++ b/retroshare-gui/src/gui/gxschannels/GxsChannelPostsWidget.cpp @@ -621,6 +621,8 @@ void GxsChannelPostsWidget::blank() { mStateHelper->setWidgetEnabled(ui->postButton, false); mStateHelper->setWidgetEnabled(ui->subscribeToolButton, false); + + ui->subscribersLabel->setText("") ; clearPosts(); From c25d222d86b63cac0e4708db2345bcf02b7b62d8 Mon Sep 17 00:00:00 2001 From: defnax Date: Tue, 15 Jan 2019 21:26:50 +0100 Subject: [PATCH 08/77] fixed stylsheet and spacing --- retroshare-gui/src/gui/Posted/PostedListWidget.ui | 14 ++++++++++---- .../src/gui/gxschannels/GxsChannelPostsWidget.ui | 14 +++++++------- .../src/gui/gxsforums/GxsForumThreadWidget.ui | 2 +- retroshare-gui/src/gui/qss/stylesheet/Standard.qss | 5 +++++ 4 files changed, 23 insertions(+), 12 deletions(-) diff --git a/retroshare-gui/src/gui/Posted/PostedListWidget.ui b/retroshare-gui/src/gui/Posted/PostedListWidget.ui index 77329ee15..5a1152709 100644 --- a/retroshare-gui/src/gui/Posted/PostedListWidget.ui +++ b/retroshare-gui/src/gui/Posted/PostedListWidget.ui @@ -40,13 +40,19 @@
- + + + QFrame::Box + + + QFrame::Sunken + 6 - 6 + 4 2 @@ -55,12 +61,12 @@ 6 - 0 + 2 - + 0 0 diff --git a/retroshare-gui/src/gui/gxschannels/GxsChannelPostsWidget.ui b/retroshare-gui/src/gui/gxschannels/GxsChannelPostsWidget.ui index 7df731b86..b86d3265c 100644 --- a/retroshare-gui/src/gui/gxschannels/GxsChannelPostsWidget.ui +++ b/retroshare-gui/src/gui/gxschannels/GxsChannelPostsWidget.ui @@ -99,13 +99,13 @@ - 2 + 4 2 - 5 + 6 2 @@ -589,6 +589,11 @@ p, li { white-space: pre-wrap; } infoWidget + + SubscribeToolButton + QToolButton +
gui/common/SubscribeToolButton.h
+
GxsIdLabel QLabel @@ -604,11 +609,6 @@ p, li { white-space: pre-wrap; } QLineEdit
gui/common/LineEditClear.h
- - SubscribeToolButton - QToolButton -
gui/common/SubscribeToolButton.h
-
GxsFeedWidget QWidget diff --git a/retroshare-gui/src/gui/gxsforums/GxsForumThreadWidget.ui b/retroshare-gui/src/gui/gxsforums/GxsForumThreadWidget.ui index 8d75d1777..ee9b71c67 100644 --- a/retroshare-gui/src/gui/gxsforums/GxsForumThreadWidget.ui +++ b/retroshare-gui/src/gui/gxsforums/GxsForumThreadWidget.ui @@ -55,7 +55,7 @@ - 2 + 4 2 diff --git a/retroshare-gui/src/gui/qss/stylesheet/Standard.qss b/retroshare-gui/src/gui/qss/stylesheet/Standard.qss index dc9b2533e..6f2c83e40 100644 --- a/retroshare-gui/src/gui/qss/stylesheet/Standard.qss +++ b/retroshare-gui/src/gui/qss/stylesheet/Standard.qss @@ -819,6 +819,11 @@ PostedListWidget QToolButton#subscribeToolButton:hover { border-radius: 4px; } +PostedListWidget QFrame#headerFrame { + background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #FEFEFE, stop:1 #E8E8E8); + border: 1px solid #CCCCCC; +} + GxsForumThreadWidget QToolButton#subscribeToolButton { font: bold; font-size: 14px; From 933087d9443b9b1f3393e3f147afe24ba2ea4d81 Mon Sep 17 00:00:00 2001 From: defnax Date: Thu, 17 Jan 2019 22:12:37 +0100 Subject: [PATCH 09/77] Removed Sort Label and set tooltip for the Sort Combobox * Removed absolute size for the Lineedit --- retroshare-gui/src/gui/MessengerWindow.cpp | 1 - .../src/gui/Posted/PostedListWidget.ui | 37 ++++--------------- 2 files changed, 8 insertions(+), 30 deletions(-) diff --git a/retroshare-gui/src/gui/MessengerWindow.cpp b/retroshare-gui/src/gui/MessengerWindow.cpp index b5ad24eab..77396a928 100644 --- a/retroshare-gui/src/gui/MessengerWindow.cpp +++ b/retroshare-gui/src/gui/MessengerWindow.cpp @@ -108,7 +108,6 @@ MessengerWindow::MessengerWindow(QWidget* parent, Qt::WindowFlags flags) } expandedGroups.clear(); - ui.messagelineEdit->setMinimumWidth(24); /* Initialize friend list */ QToolButton *button = new QToolButton(this); diff --git a/retroshare-gui/src/gui/Posted/PostedListWidget.ui b/retroshare-gui/src/gui/Posted/PostedListWidget.ui index 5a1152709..c96951823 100644 --- a/retroshare-gui/src/gui/Posted/PostedListWidget.ui +++ b/retroshare-gui/src/gui/Posted/PostedListWidget.ui @@ -29,16 +29,6 @@ 0 - - - - 6 - - - 6 - - - @@ -118,22 +108,11 @@ - - - - - 10 - 75 - true - - - - SORT - - - + + <html><head/><body><p><span style=" font-family:'-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol'; font-size:14px; color:#24292e; background-color:#ffffff;">Select sorting</span></p></body></html> + @@ -269,16 +248,16 @@
- - GxsIdChooser - QComboBox -
gui/gxs/GxsIdChooser.h
-
SubscribeToolButton QToolButton
gui/common/SubscribeToolButton.h
+ + GxsIdChooser + QComboBox +
gui/gxs/GxsIdChooser.h
+
From 97299347f0157edbe100fe1bcea7c56c36e564ee Mon Sep 17 00:00:00 2001 From: defnax Date: Fri, 18 Jan 2019 15:14:42 +0100 Subject: [PATCH 10/77] Restored back the changes Removed attach image button --- .../gui/gxschannels/CreateGxsChannelMsg.cpp | 19 +------- .../src/gui/gxschannels/CreateGxsChannelMsg.h | 1 - .../gui/gxschannels/CreateGxsChannelMsg.ui | 47 ++++--------------- 3 files changed, 10 insertions(+), 57 deletions(-) diff --git a/retroshare-gui/src/gui/gxschannels/CreateGxsChannelMsg.cpp b/retroshare-gui/src/gui/gxschannels/CreateGxsChannelMsg.cpp index 62ac84274..6ca6a4613 100644 --- a/retroshare-gui/src/gui/gxschannels/CreateGxsChannelMsg.cpp +++ b/retroshare-gui/src/gui/gxschannels/CreateGxsChannelMsg.cpp @@ -24,11 +24,9 @@ #include #include #include -#include #include "CreateGxsChannelMsg.h" #include "gui/feeds/SubFileItem.h" -#include "gui/settings/rsharesettings.h" #include "gui/RetroShareLink.h" #include "util/HandleRichText.h" #include "util/misc.h" @@ -68,8 +66,7 @@ CreateGxsChannelMsg::CreateGxsChannelMsg(const RsGxsGroupId &cId, RsGxsMessageId connect(buttonBox, SIGNAL(rejected()), this, SLOT(cancelMsg())); connect(addFileButton, SIGNAL(clicked() ), this , SLOT(addExtraFile())); - connect(addfilepushButton, SIGNAL(clicked() ), this , SLOT(addExtraFile())); - connect(imageButton, SIGNAL(clicked()), this, SLOT(addImage())); + connect(addfilepushButton, SIGNAL(clicked() ), this , SLOT(addExtraFile())); connect(addThumbnailButton, SIGNAL(clicked() ), this , SLOT(addThumbnail())); connect(thumbNailCb, SIGNAL(toggled(bool)), this, SLOT(allowAutoMediaThumbNail(bool))); connect(tabWidget, SIGNAL(customContextMenuRequested(QPoint)), this, SLOT(contextMenu(QPoint))); @@ -824,17 +821,3 @@ void CreateGxsChannelMsg::loadRequest(const TokenQueue *queue, const TokenReques } } } - -void CreateGxsChannelMsg::addImage() -{ - QString file; - if (misc::getOpenFileName(this, RshareSettings::LASTDIR_IMAGES, tr("Choose Image"), tr("Image Files supported (*.png *.jpeg *.jpg *.gif *.webp)"), file)) { - QString encodedImage; - if (RsHtml::makeEmbeddedImage(file, encodedImage, 640*480)) { - QTextDocumentFragment fragment = QTextDocumentFragment::fromHtml(encodedImage); - msgEdit->append("\n\n\n\n\n"); - msgEdit->textCursor().insertFragment(fragment); - } - } -} - diff --git a/retroshare-gui/src/gui/gxschannels/CreateGxsChannelMsg.h b/retroshare-gui/src/gui/gxschannels/CreateGxsChannelMsg.h index 0a5afda7e..bb8f15518 100644 --- a/retroshare-gui/src/gui/gxschannels/CreateGxsChannelMsg.h +++ b/retroshare-gui/src/gui/gxschannels/CreateGxsChannelMsg.h @@ -70,7 +70,6 @@ private slots: void addThumbnail(); void allowAutoMediaThumbNail(bool); - void addImage(); private: void loadChannelInfo(const uint32_t &token); diff --git a/retroshare-gui/src/gui/gxschannels/CreateGxsChannelMsg.ui b/retroshare-gui/src/gui/gxschannels/CreateGxsChannelMsg.ui index 79dbaf424..3f4cd7d4b 100644 --- a/retroshare-gui/src/gui/gxschannels/CreateGxsChannelMsg.ui +++ b/retroshare-gui/src/gui/gxschannels/CreateGxsChannelMsg.ui @@ -96,7 +96,7 @@
- + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> @@ -118,15 +118,9 @@ p, li { white-space: pre-wrap; } :/images/add-share24.png:/images/add-share24.png - - - 24 - 24 - - - + Add Channel Thumbnail @@ -135,29 +129,6 @@ p, li { white-space: pre-wrap; } :/images/add_image24.png:/images/add_image24.png - - - 24 - 24 - - - - - - - - Attach Picture - - - - :/images/add_image24.png:/images/add_image24.png - - - - 24 - 24 - - @@ -331,8 +302,8 @@ p, li { white-space: pre-wrap; } 0 0 - 63 - 24 + 767 + 42 @@ -419,17 +390,17 @@ p, li { white-space: pre-wrap; }
- - MimeTextEdit - QTextEdit -
gui/common/MimeTextEdit.h
-
HeaderFrame QFrame
gui/common/HeaderFrame.h
1
+ + MimeTextEdit + QTextEdit +
gui/common/MimeTextEdit.h
+
From 7cf17569c5b19d456d19c7f8d24d6ea62ed52071 Mon Sep 17 00:00:00 2001 From: defnax Date: Wed, 30 Jan 2019 14:33:50 +0100 Subject: [PATCH 11/77] Added attach picture for posted links --- libretroshare/src/retroshare/rsposted.h | 24 +- libretroshare/src/rsitems/rsposteditems.cc | 47 +- libretroshare/src/rsitems/rsposteditems.h | 12 +- libretroshare/src/services/p3posted.cc | 7 +- .../src/gui/Posted/PostedCreatePostDialog.cpp | 29 + .../src/gui/Posted/PostedCreatePostDialog.h | 4 + .../src/gui/Posted/PostedCreatePostDialog.ui | 225 +++-- retroshare-gui/src/gui/Posted/PostedItem.cpp | 57 +- retroshare-gui/src/gui/Posted/PostedItem.h | 3 +- retroshare-gui/src/gui/Posted/PostedItem.ui | 815 ++++++++++++------ .../src/gui/Posted/Posted_images.qrc | 6 + .../src/gui/Posted/images/comments.png | Bin 0 -> 3902 bytes .../src/gui/Posted/images/decrease.png | Bin 0 -> 3321 bytes .../src/gui/Posted/images/down-arrow.png | Bin 0 -> 2005 bytes .../src/gui/Posted/images/expand.png | Bin 0 -> 3995 bytes .../src/gui/Posted/images/thumb-default.png | Bin 0 -> 10127 bytes .../src/gui/Posted/images/up-arrow.png | Bin 0 -> 1925 bytes .../src/gui/qss/stylesheet/Standard.qss | 127 ++- 18 files changed, 993 insertions(+), 363 deletions(-) create mode 100644 retroshare-gui/src/gui/Posted/images/comments.png create mode 100644 retroshare-gui/src/gui/Posted/images/decrease.png create mode 100644 retroshare-gui/src/gui/Posted/images/down-arrow.png create mode 100644 retroshare-gui/src/gui/Posted/images/expand.png create mode 100644 retroshare-gui/src/gui/Posted/images/thumb-default.png create mode 100644 retroshare-gui/src/gui/Posted/images/up-arrow.png diff --git a/libretroshare/src/retroshare/rsposted.h b/libretroshare/src/retroshare/rsposted.h index 60b510d55..93f69201e 100644 --- a/libretroshare/src/retroshare/rsposted.h +++ b/libretroshare/src/retroshare/rsposted.h @@ -25,10 +25,12 @@ #include #include #include +#include #include "retroshare/rstokenservice.h" #include "retroshare/rsgxsifacehelper.h" #include "retroshare/rsgxscommon.h" +#include "serialiser/rsserializable.h" /* The Main Interface Class - for information about your Posted */ class RsPosted; @@ -42,6 +44,7 @@ class RsPostedGroup RsGroupMetaData mMeta; std::string mDescription; + }; @@ -52,7 +55,7 @@ class RsPostedGroup #define RSPOSTED_PERIOD_YEAR 1 #define RSPOSTED_PERIOD_MONTH 2 #define RSPOSTED_PERIOD_WEEK 3 -#define RSPOSTED_PERIOD_DAY 4 +#define RSPOSTED_PERIOD_DAY 4 #define RSPOSTED_PERIOD_HOUR 5 #define RSPOSTED_VIEWMODE_LATEST 1 @@ -102,7 +105,6 @@ virtual bool updateGroup(uint32_t &token, RsPostedGroup &group) = 0; }; - class RsPostedPost { public: @@ -137,6 +139,24 @@ class RsPostedPost double mHotScore; double mTopScore; double mNewScore; + + RsGxsImage mImage; + + /// @see RsSerializable + /*virtual void serial_process( RsGenericSerializer::SerializeJob j, + RsGenericSerializer::SerializeContext& ctx ) + { + RS_SERIAL_PROCESS(mImage); + RS_SERIAL_PROCESS(mMeta); + RS_SERIAL_PROCESS(mLink); + RS_SERIAL_PROCESS(mHaveVoted); + RS_SERIAL_PROCESS(mUpVotes); + RS_SERIAL_PROCESS(mDownVotes); + RS_SERIAL_PROCESS(mComments); + RS_SERIAL_PROCESS(mHotScore); + RS_SERIAL_PROCESS(mTopScore); + RS_SERIAL_PROCESS(mNewScore); + }*/ }; diff --git a/libretroshare/src/rsitems/rsposteditems.cc b/libretroshare/src/rsitems/rsposteditems.cc index 67a5a9873..81455f284 100644 --- a/libretroshare/src/rsitems/rsposteditems.cc +++ b/libretroshare/src/rsitems/rsposteditems.cc @@ -22,15 +22,18 @@ #include "rsitems/rsposteditems.h" #include "serialiser/rstypeserializer.h" + + void RsGxsPostedPostItem::serial_process(RsGenericSerializer::SerializeJob j,RsGenericSerializer::SerializeContext& ctx) { RsTypeSerializer::serial_process(j,ctx,TLV_TYPE_STR_LINK,mPost.mLink,"mPost.mLink") ; RsTypeSerializer::serial_process(j,ctx,TLV_TYPE_STR_MSG ,mPost.mNotes,"mPost.mNotes") ; + RsTypeSerializer::serial_process(j,ctx,mImage,"mImage") ; } void RsGxsPostedGroupItem::serial_process(RsGenericSerializer::SerializeJob j,RsGenericSerializer::SerializeContext& ctx) { - RsTypeSerializer::serial_process(j,ctx,TLV_TYPE_STR_DESCR ,mGroup.mDescription,"mGroup.mDescription") ; + RsTypeSerializer::serial_process(j,ctx,TLV_TYPE_STR_DESCR ,mGroup.mDescription,"mGroup.mDescription") ; } RsItem *RsGxsPostedSerialiser::create_item(uint16_t service_id,uint8_t item_subtype) const @@ -47,12 +50,54 @@ RsItem *RsGxsPostedSerialiser::create_item(uint16_t service_id,uint8_t item_subt } } +bool RsGxsPostedPostItem::fromPostedPost(RsPostedPost &post, bool moveImage) +{ + clear(); + + mPost = post; + meta = post.mMeta; + + if (moveImage) + { + mImage.binData.bin_data = post.mImage.mData; + mImage.binData.bin_len = post.mImage.mSize; + post.mImage.shallowClear(); + } + else + { + mImage.binData.setBinData(post.mImage.mData, post.mImage.mSize); + } + + return true; +} + +bool RsGxsPostedPostItem::toPostedPost(RsPostedPost &post, bool moveImage) +{ + post = mPost; + post.mMeta = meta; + + if (moveImage) + { + post.mImage.take((uint8_t *) mImage.binData.bin_data, mImage.binData.bin_len); + // mImage doesn't have a ShallowClear at the moment! + mImage.binData.TlvShallowClear(); + } + else + { + post.mImage.copy((uint8_t *) mImage.binData.bin_data, mImage.binData.bin_len); + } + + return true; +} + void RsGxsPostedPostItem::clear() { mPost.mLink.clear(); mPost.mNotes.clear(); + mImage.TlvClear(); } void RsGxsPostedGroupItem::clear() { mGroup.mDescription.clear(); } + diff --git a/libretroshare/src/rsitems/rsposteditems.h b/libretroshare/src/rsitems/rsposteditems.h index 62ab7a6af..ef88289b5 100644 --- a/libretroshare/src/rsitems/rsposteditems.h +++ b/libretroshare/src/rsitems/rsposteditems.h @@ -25,6 +25,7 @@ #include "rsitems/rsserviceids.h" #include "rsitems/rsgxscommentitems.h" #include "rsitems/rsgxsitems.h" +#include "serialiser/rstlvimage.h" #include "retroshare/rsposted.h" @@ -38,9 +39,12 @@ public: virtual ~RsGxsPostedGroupItem() {} void clear(); + virtual void serial_process(RsGenericSerializer::SerializeJob j,RsGenericSerializer::SerializeContext& ctx); - + RsPostedGroup mGroup; + + }; class RsGxsPostedPostItem : public RsGxsMsgItem @@ -51,8 +55,14 @@ public: void clear(); virtual void serial_process(RsGenericSerializer::SerializeJob j,RsGenericSerializer::SerializeContext& ctx); + + // Slightly unusual structure. + // use conversion functions to transform: + bool fromPostedPost(RsPostedPost &post, bool moveImage); + bool toPostedPost(RsPostedPost &post, bool moveImage); RsPostedPost mPost; + RsTlvImage mImage; }; class RsGxsPostedSerialiser : public RsGxsCommentSerialiser diff --git a/libretroshare/src/services/p3posted.cc b/libretroshare/src/services/p3posted.cc index 4e8ddacf2..d50c0624c 100644 --- a/libretroshare/src/services/p3posted.cc +++ b/libretroshare/src/services/p3posted.cc @@ -123,6 +123,7 @@ bool p3Posted::getPostData(const uint32_t &token, std::vector &msg { RsPostedPost msg = postItem->mPost; msg.mMeta = postItem->meta; + postItem->toPostedPost(msg, true); msg.calculateScores(now); msgs.push_back(msg); @@ -291,8 +292,10 @@ bool p3Posted::createPost(uint32_t &token, RsPostedPost &msg) std::cerr << std::endl; RsGxsPostedPostItem* msgItem = new RsGxsPostedPostItem(); - msgItem->mPost = msg; - msgItem->meta = msg.mMeta; + //msgItem->mPost = msg; + //msgItem->meta = msg.mMeta; + msgItem->fromPostedPost(msg, true); + RsGenExchange::publishMsg(token, msgItem); return true; diff --git a/retroshare-gui/src/gui/Posted/PostedCreatePostDialog.cpp b/retroshare-gui/src/gui/Posted/PostedCreatePostDialog.cpp index ba622ed17..cd21d3b6c 100644 --- a/retroshare-gui/src/gui/Posted/PostedCreatePostDialog.cpp +++ b/retroshare-gui/src/gui/Posted/PostedCreatePostDialog.cpp @@ -18,13 +18,16 @@ * * *******************************************************************************/ + #include #include #include "PostedCreatePostDialog.h" #include "ui_PostedCreatePostDialog.h" +#include "util/misc.h" #include "util/TokenQueue.h" #include "gui/settings/rsharesettings.h" +#include #include @@ -37,6 +40,7 @@ PostedCreatePostDialog::PostedCreatePostDialog(TokenQueue* tokenQ, RsPosted *pos Settings->loadWidgetInformation(this); connect(ui->submitButton, SIGNAL(clicked()), this, SLOT(createPost())); connect(ui->buttonBox, SIGNAL(rejected()), this, SLOT(close())); + connect(ui->pushButton, SIGNAL(clicked() ), this , SLOT(addPicture())); ui->headerFrame->setHeaderImage(QPixmap(":/images/posted_64.png")); ui->headerFrame->setHeaderText(tr("Submit a new Post")); @@ -78,6 +82,18 @@ void PostedCreatePostDialog::createPost() post.mMeta.mMsgName = std::string(ui->titleEdit->text().toUtf8()); post.mMeta.mAuthorId = authorId; + QByteArray ba; + QBuffer buffer(&ba); + + if(!picture.isNull()) + { + // send posted image + + buffer.open(QIODevice::WriteOnly); + picture.save(&buffer, "PNG"); // writes image into ba in PNG format + post.mImage.copy((uint8_t *) ba.data(), ba.size()); + } + if(ui->titleEdit->text().isEmpty()) { /* error message */ QMessageBox::warning(this, "RetroShare", tr("Please add a Title"), QMessageBox::Ok, QMessageBox::Ok); @@ -90,3 +106,16 @@ void PostedCreatePostDialog::createPost() accept(); } + +void PostedCreatePostDialog::addPicture() +{ + QPixmap img = misc::getOpenThumbnailedPicture(this, tr("Load thumbnail picture"), 800, 600); + + if (img.isNull()) + return; + + picture = img; + + // to show the selected + ui->imageLabel->setPixmap(picture); +} \ No newline at end of file diff --git a/retroshare-gui/src/gui/Posted/PostedCreatePostDialog.h b/retroshare-gui/src/gui/Posted/PostedCreatePostDialog.h index f4b6c96a3..587b3f957 100644 --- a/retroshare-gui/src/gui/Posted/PostedCreatePostDialog.h +++ b/retroshare-gui/src/gui/Posted/PostedCreatePostDialog.h @@ -41,9 +41,13 @@ public: */ explicit PostedCreatePostDialog(TokenQueue* tokenQ, RsPosted* posted, const RsGxsGroupId& grpId, QWidget *parent = 0); ~PostedCreatePostDialog(); + + QPixmap picture; private slots: void createPost(); + void addPicture(); + private: QString mLink; diff --git a/retroshare-gui/src/gui/Posted/PostedCreatePostDialog.ui b/retroshare-gui/src/gui/Posted/PostedCreatePostDialog.ui index d8128b199..d9d909887 100644 --- a/retroshare-gui/src/gui/Posted/PostedCreatePostDialog.ui +++ b/retroshare-gui/src/gui/Posted/PostedCreatePostDialog.ui @@ -7,7 +7,7 @@ 0 0 575 - 371 + 467 @@ -47,7 +47,7 @@ QFrame::Raised - + @@ -128,75 +128,108 @@ - - - - - - - - - Title - - - - - - - Link - - - - - - - - - - - - - Qt::Horizontal - - - QSizePolicy::MinimumExpanding - - - - 78 - 17 - - - - - - - - Signed by: - - - - - - - + + + 0 + + + + Picture + + + + + + Qt::Horizontal + + + + 447 + 20 + + + + + + + + Add Picture + + + + + + + Preview + + + + + + + 250 + 200 + + + + + 800 + 200 + + + + + + + true + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + + + + Notes + + + + + + + + - - - - - - Notes - - - - - - - - - + Qt::Horizontal @@ -209,14 +242,20 @@ - + + + + 0 + 0 + + Submit - + @@ -232,12 +271,51 @@ + + + + + + Title + + + + + + + + + + Link + + + + + + + + + + + + + Post as + + + + + + + StyledLabel + QLabel +
gui/common/StyledLabel.h
+
HeaderFrame QFrame @@ -254,11 +332,6 @@ QComboBox
gui/gxs/GxsIdChooser.h
- - StyledLabel - QLabel -
gui/common/StyledLabel.h
-
diff --git a/retroshare-gui/src/gui/Posted/PostedItem.cpp b/retroshare-gui/src/gui/Posted/PostedItem.cpp index 4304561d7..79db72b32 100644 --- a/retroshare-gui/src/gui/Posted/PostedItem.cpp +++ b/retroshare-gui/src/gui/Posted/PostedItem.cpp @@ -24,6 +24,8 @@ #include "rshare.h" #include "PostedItem.h" #include "gui/feeds/FeedHolder.h" +#include "util/misc.h" + #include "ui_PostedItem.h" #include @@ -83,6 +85,7 @@ void PostedItem::setup() ui->fromLabel->clear(); ui->siteLabel->clear(); ui->newCommentLabel->hide(); + ui->frame_picture->hide(); ui->commLabel->hide(); /* general ones */ @@ -94,6 +97,7 @@ void PostedItem::setup() connect(ui->commentButton, SIGNAL( clicked()), this, SLOT(loadComments())); connect(ui->voteUpButton, SIGNAL(clicked()), this, SLOT(makeUpVote())); connect(ui->voteDownButton, SIGNAL(clicked()), this, SLOT( makeDownVote())); + connect(ui->expandButton, SIGNAL(clicked()), this, SLOT( toggle())); connect(ui->readButton, SIGNAL(toggled(bool)), this, SLOT(readToggled(bool))); @@ -206,7 +210,7 @@ void PostedItem::loadComment(const uint32_t &token) if (comNb == 1) { sComButText = sComButText.append("(1)"); } else if (comNb > 1) { - sComButText = tr("Comments").append("(%1)").arg(comNb); + sComButText = tr("Comments").append(" (%1)").arg(comNb); } ui->commentButton->setText(sComButText); } @@ -219,11 +223,29 @@ void PostedItem::fill() } mInFill = true; + + if(mPost.mImage.mData != NULL) + { + QPixmap pixmap; + pixmap.loadFromData(mPost.mImage.mData, mPost.mImage.mSize, "PNG"); + // Wiping data - as its been passed to thumbnail. + + QPixmap sqpixmap = pixmap.scaled(800, 600, Qt::KeepAspectRatio, Qt::SmoothTransformation); + ui->pictureLabel->setPixmap(sqpixmap); + + ui->thumbnailLabel->setPixmap(pixmap); + }else + { + ui->expandButton->setDisabled(true); + } QDateTime qtime; qtime.setTime_t(mPost.mMeta.mPublishTs); QString timestamp = qtime.toString("hh:mm dd-MMM-yyyy"); - ui->dateLabel->setText(timestamp); + QString timestamp2 = misc::timeRelativeToNow(mPost.mMeta.mPublishTs); + ui->dateLabel->setText(timestamp2); + ui->dateLabel->setToolTip(timestamp); + ui->fromLabel->setId(mPost.mMeta.mAuthorId); // Use QUrl to check/parse our URL @@ -256,9 +278,14 @@ void PostedItem::fill() QString siteurl = url.scheme() + "://" + url.host(); sitestr = QString(" %2 ").arg(siteurl).arg(siteurl); + + ui->titleLabel->setText(urlstr); + }else + { + ui->titleLabel->setText(messageName()); + } - ui->titleLabel->setText(urlstr); ui->siteLabel->setText(sitestr); //QString score = "Hot" + QString::number(post.mHotScore); @@ -451,3 +478,27 @@ void PostedItem::readAndClearItem() readToggled(false); removeItem(); } + +void PostedItem::toggle() +{ + expand(ui->frame_picture->isHidden()); +} + +void PostedItem::doExpand(bool open) +{ + if (open) + { + ui->frame_picture->show(); + ui->expandButton->setIcon(QIcon(QString(":/images/decrease.png"))); + ui->expandButton->setToolTip(tr("Hide")); + } + else + { + ui->frame_picture->hide(); + ui->expandButton->setIcon(QIcon(QString(":/images/expand.png"))); + ui->expandButton->setToolTip(tr("Expand")); + } + + emit sizeChanged(this); + +} diff --git a/retroshare-gui/src/gui/Posted/PostedItem.h b/retroshare-gui/src/gui/Posted/PostedItem.h index 50a200679..7329e3a2e 100644 --- a/retroshare-gui/src/gui/Posted/PostedItem.h +++ b/retroshare-gui/src/gui/Posted/PostedItem.h @@ -50,7 +50,7 @@ public: protected: /* FeedItem */ - virtual void doExpand(bool /*open*/) {} + virtual void doExpand(bool open); private slots: void loadComments(); @@ -58,6 +58,7 @@ private slots: void makeDownVote(); void readToggled(bool checked); void readAndClearItem(); + void toggle(); signals: void vote(const RsGxsGrpMsgIdPair& msgId, bool up); diff --git a/retroshare-gui/src/gui/Posted/PostedItem.ui b/retroshare-gui/src/gui/Posted/PostedItem.ui index bebf874c2..aa19e37f5 100644 --- a/retroshare-gui/src/gui/Posted/PostedItem.ui +++ b/retroshare-gui/src/gui/Posted/PostedItem.ui @@ -6,15 +6,33 @@ 0 0 - 765 - 230 + 617 + 190
- - + + + + + + 6 + + + 0 + + + 6 + + + 0 + + + 0 + + @@ -23,7 +41,7 @@ - true + false QFrame::Box @@ -31,44 +49,178 @@ QFrame::Sunken - - - - - - 0 - 0 - + + + 0 + + + 0 + + + 0 + + + 0 + + + 6 + + + + + - - - 75 - true - + + QFrame::NoFrame - - This is a very very very very loooooooooooooooonnnnnnnnnnnnnnnnng title don't you think? Yes it is and should wrap around I hope - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop - - - true - - - true + + QFrame::Plain + + + 0 + + + 3 + + + 3 + + + 3 + + + 3 + + + + + + 0 + 0 + + + + + 24 + 24 + + + + Vote up + + + + + + + :/images/up-arrow.png:/images/up-arrow.png + + + + 16 + 16 + + + + true + + + + + + + 0 + + + Qt::AlignCenter + + + + + + + + 0 + 0 + + + + + 0 + 0 + + + + Vote down + + + \/ + + + + :/images/down-arrow.png:/images/down-arrow.png + + + + 16 + 16 + + + + true + + + + + + + Qt::Vertical + + + QSizePolicy::Expanding + + + + 20 + 5 + + + + + - - + + - 0 + 6 - + + + + 100 + 75 + + + + + 100 + 75 + + + + + + + QFrame::NoFrame + - New Comment: + + + + :/images/thumb-default.png true @@ -76,255 +228,392 @@ - - - Comment Value - - - - - - - - - - - 0 - - - Qt::AlignCenter - - - - - - - - 24 - 24 - - - - Vote up - - - - - - - :/images/vote_up.png:/images/vote_up.png - - - - - - - - 24 - 24 - - - - Vote down - - - \/ - - - - :/images/vote_down.png:/images/vote_down.png - - - - - - - - 24 - 16777215 - - - - Qt::NoFocus - - - Toggle Message Read Status - - - - :/images/message-state-unread.png:/images/message-state-unread.png - - - true - - - false - - - false - - - - - - - New - - - - - - - Comments - - - - - - - - 0 - 0 - - - - You eyes only - - - true - - - - - - - - 0 - 0 - - - - - 75 - true - - - - By - - - - - - - - 0 - 0 - - - - Signed by - - - true - - - - - - - - 0 - 0 - - - - - 75 - true - - - - Site - - - - - - - - 0 - 0 - - - - Signed by - - - true - - - - - + - Qt::Horizontal + Qt::Vertical - 118 - 20 + 50 + 5 + + + + + + 6 + - - - - 24 - 16777215 - + + + + 0 + 0 + - - Qt::NoFocus + + + 75 + true + - - Set as read and remove item + + This is a very very very very loooooooooooooooonnnnnnnnnnnnnnnnng title don't you think? Yes it is and should wrap around I hope - - - :/images/cancel.png:/images/cancel.png + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop + + + true + + + true - - - - 24 - 16777215 - + + + 0 - - Qt::NoFocus + + + + New Comment: + + + true + + + + + + + Comment Value + + + + + + + + + + + 0 + + + QLayout::SetDefaultConstraint + + + + + 3 - - Remove Item + + 0 - - - :/images/close_normal.png:/images/close_normal.png + + 6 - + + + + + 0 + 0 + + + + + 75 + true + + + + Posted by + + + + + + + + 0 + 0 + + + + Signed by + + + true + + + + + + + + 0 + 0 + + + + You eyes only + + + true + + + + + + + + 0 + 0 + + + + + 75 + true + + + + Site + + + + + + + + 0 + 0 + + + + site + + + true + + + + + + + Qt::Horizontal + + + QSizePolicy::Expanding + + + + 70 + 20 + + + + + + + + + + 0 + + + 3 + + + + + + + + + :/images/expand.png:/images/expand.png + + + true + + + + + + + + 24 + 16777215 + + + + Qt::NoFocus + + + Toggle Message Read Status + + + + :/images/message-state-unread.png:/images/message-state-unread.png + + + true + + + false + + + true + + + + + + + New + + + + + + + Comments + + + + :/images/comments.png:/images/comments.png + + + Qt::ToolButtonTextBesideIcon + + + true + + + + + + + Qt::Horizontal + + + + 118 + 20 + + + + + + + + + 24 + 16777215 + + + + Qt::NoFocus + + + Set as read and remove item + + + + :/images/cancel.png:/images/cancel.png + + + + + + + + 24 + 16777215 + + + + Qt::NoFocus + + + Remove Item + + + + :/images/close_normal.png:/images/close_normal.png + + + + - titleLabel - + + + + + 800 + 600 + + + + QFrame::StyledPanel + + + QFrame::Raised + + + + + + Qt::Horizontal + + + + 257 + 20 + + + + + + + + TextLabel + + + true + + + + + + + Qt::Horizontal + + + + 257 + 20 + + + + + + + + QFrame::NoFrame @@ -333,7 +622,16 @@ QFrame::Sunken - + + 1 + + + 1 + + + 1 + + 1 @@ -374,6 +672,7 @@ + diff --git a/retroshare-gui/src/gui/Posted/Posted_images.qrc b/retroshare-gui/src/gui/Posted/Posted_images.qrc index 2e9cae6c0..ae7cf9e3b 100644 --- a/retroshare-gui/src/gui/Posted/Posted_images.qrc +++ b/retroshare-gui/src/gui/Posted/Posted_images.qrc @@ -11,5 +11,11 @@ images/hot_24.png images/new_24.png images/posted_32_new.png + images/expand.png + images/decrease.png + images/down-arrow.png + images/up-arrow.png + images/comments.png + images/thumb-default.png diff --git a/retroshare-gui/src/gui/Posted/images/comments.png b/retroshare-gui/src/gui/Posted/images/comments.png new file mode 100644 index 0000000000000000000000000000000000000000..b7af0d15054fb000ce50e830e77dd9df8818a593 GIT binary patch literal 3902 zcmX|D1ymGF*B%7vQb9z-4+JUc@&$=ym+n}krCCB)K$H?#It3AF7YXT3U1^`Gk>|iiWOI|rfE3BAboU!16V_yl0M-MPWO#shhgp3$q)KW40_d+kIHlWGIc&H#ej9ctK zD#R!n0P%{3<^YI19txerrUTLmfLX7l#S+lu0cPxet0Mq~K2G+=14i$eY4Ory0n;t( zFj-*x1QZQCjgSNS{D8(rrA-V>@Bn@#JsU+(Rs%3tYO-=bOb+<9!h$&gfj2PgVqx(B zLCJtdeos$g_fZM;8rS7ZC6`OovWm(18xixk5b5dh-siw7(LJIOHNR$_0^x1(Or{s~ z7p9uu?*kw`miF?t`)3|l$`UMAG`gD7lxO2B;l%?Bi>33GfkI~p01IxuL+9Ll6?aij z2vLsbnGd%KY@d;(zdVYxDW`%|f%Nq$y?y7aw~@Wc3#`@mC-?o^RFQ z^~mOL9K`r2+rWhZ_lq6rGller0A-`}&IN#HvaG!Do(kzsVgO{*{kh6y7!I26aAOGX zHD8}@COb6~4T7?^wLqz%q*kbVu4bG?0Z@*R{xU``Grn&SMq!MWZAhFmC2x!F7fMNI zs^8|sY0VrB{v-r4UBtJ{nWw_=EF$z-qKWB}gO8b;6$x%evNCmt(P%wTi4{>4(2jsJ z=_)erNxEJW3pJLni+$1s1OrY(8WaTH`q{J$2Bv z@~&i*XvW%Lp)J)^j1;VsAM^bVkx<)ne%_8&=;wd9N#ZPfKR+lUFYLHm_OuAUKK#&f z;IliyO@BEIi70_Pl*#9@9Nm;TuyVk4f-@v|897#O0|}ven)A)po~1 zP#{!ak(*`gX3Q-@2e*c>J9g< zD|}DLhC%xrzI}5wkQqoQs?cIl`*70@lV3 z1qq1>`h|*xT7?RmjiM!6x#*lmxq5>We@dB7Wp-nB1w;(?I(kiKQfDTYH21cer1)V8 zZ-GNLLq@%<`&Xyj?WDA(XQ(t)WbUkIo8toU2^Pj?8ssxWMgJiQQJ`4 zPSIAY&Ed>>qWVO&v%jxDvwtjEBvn#iTyQOQEpf!n83&YuRpfcXfUZec8$cA+Ds_vD(KR zVL^weX)kHrj%$qbsq=YrCP_pQI!Rf`XvpaMqSBQ{{HgeC3iiXcv`_m%!a5&9e}H;m zLTIV_Rxf9p9a<-KL;*pEsC^N*9~K#|641+=D8-w~&@t21xUB4U=wh;j`q6)hiw^ ztI2jRI5OX%llm#;`f*8WN#gOW;H-gZ-(yToS52=*D>BVAcn;>ra$$Ahbuk2TQ4jGD z_~HIC{zlhMj=f$pe~p$F$65a@pWKp(O0Sinm5B)`4p?a}X14A6@wS-xXe|jFi?yQ+ z*7W^8Hb`W?Y986@OU@n~8mt#09qk;Ze|JbAQN(>{8unsN_P1<;>})DRKtrsQM_GhR zs({yCV(M|7aGi7quZ=<9s6JX>>AA{1FaXU`05 z%RzAN?R?&w+~Nrk)iCvc-v28@&6RgM>fzok_lMD>o-K?mhzEQ_qC;U5Fk`O!>U)Y@ zYF_Vt#5Ra{vbGClbFb6}vFE>SP^D0vNfl4Ko$`vwQBYF6Q6TVL>{}OT0kc|MHDUv? zYV)eM$U3&DZ|$9ZE?U3GSdiXIQ6{%T{9y;!+~izkkBiT3)Vkf(%25?>;!xg19| z3b*tUOMDyIywn{0pEdUcG*{s{Y?A4ct_1sRPLFSyXz249%vG8H4nZ?W(S}Eq(BSA2 zY5gWRrae{|LXkaRlc(QT<`=frS`F9?+pMq7@}wD2CKM#DCQ>?4Oioo&%ss8#I{Ybz z<4f%4z|{vN_=Us&h5tbKaqxif*-(t!$r4;XR6G{kDZ3L8N3^Q3jY|z88sZ8 zNp&~jbn$f6Mr}r|Pn1q7j-*S%3)YVlP8>~&)g4{7I`N0`&xlwktH*13h}8|QQk!hL?i!u#fV_!vxlba zrO2o1q?{O87}aU?Nezu{%zB+F;QmMTL0H1TQ+XfWZ8x&kwH?X915 zXWuSv&}c9{fNaT3!e&B8rH#&~Cw8X&>@n`?`$N+TM})zF1Lv`aF;uYYG08E#Arv8- zY5z!xi7iUIo~@te!Un7c*wX0EGtYZV=x+1*9*=I0V~3K4G7|R^!Q7KL`nb3Y0{o=?Q%fNp z+~t3h$x=~U4FIo)m;cZ}0DfIu`gH(a@&mA827q`H0CdQArtR_o-~&xnxZI@%fD7>a z->dGp3mh-)W#0i#f5D%i!yd5T_;1PWJ8=2&A9h)~0$0LI`$vo11rC4Ym#O}X{~`Rv zmpL!NU*_c&m*Dx%mGiL!45#~T?w832mydVATlyCP$(1z zgUQOu%E`&e%gZY$C@3l_Dk&)`D=Vw0sHm!{s;Q}|tE+2hXlQC`YH4X{YisN1=)mD{ zU0vO$PoL`P>FMk18yFZE8X6iI85tWJo0yn9d-lxK)YQz(%-r1E!otGR($dPx%G%o6 z#>NJLK-k*a+S%FJ+uJ)hI6Qy;+|kj|$;k}g0Oiaw%w{K%(W8b}d7Z(@z{{8#-`1pi`gv7+eq@<+e z^q zprEj@u&Ai0xVX5aq@=X8w5+V`^XJdy<>eI>6_u5hRaI5h)zvjMHDA7bsjaQ8tE;Q8 zuWx8*Xl!h3YHIrW^(zL0X>M+AX=!O~ZEb67Yj1Dw=;-L|?Ck35>hA9D>FMe1?d|L9 z>+kQ!VzC1Q1A~KuLqkKu!^0yZBj3J#8yy`T8yg!RAD@_*n4FxPnwrAlaMRP%Gcz-@ zv$Jz^bMy1_3kwU2i;GK3OUuj4D=RCjtE+2kYu~?rUteF}*x1%!zjUJi{bJ$aoh)cA66A-uh8a z{i+T$*g?(cgF{GzzceO?-92eMqvP=3Em`Tw~FfNl3N#Z>_C&;w9uMaIAv{by?1eYN_xp|-fFL@zLu zG@&>@=2_DVe^`8aCxzxkZ0|V9**51y>B5}!{vBV)prrtWhJyvm3c0DsGR6&|wq=Le4pC-`nV^M0(_@YwVoETIKDH=E|2Xj*c*yHdH{`B2-0;X}pfBU( z*O3-CgU#nelVeo;(O#~AkHB}M=b8iwo3`owc^UpVaUncE0-gNFbk6KaDl?O)R5QWD sHGJNH$!`k;O!7r)l6M2H^9kkR0W3c^a}$wH+|@ml literal 0 HcmV?d00001 diff --git a/retroshare-gui/src/gui/Posted/images/decrease.png b/retroshare-gui/src/gui/Posted/images/decrease.png new file mode 100644 index 0000000000000000000000000000000000000000..39e488c1778a9af35d155151421dedb1c5dca597 GIT binary patch literal 3321 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 JZVlWq{NF|==-U7Q literal 0 HcmV?d00001 diff --git a/retroshare-gui/src/gui/Posted/images/down-arrow.png b/retroshare-gui/src/gui/Posted/images/down-arrow.png new file mode 100644 index 0000000000000000000000000000000000000000..b6c7fcc060b68b3108c9c6e790100d5ffb88ae73 GIT binary patch literal 2005 zcmXX_c{~(q8+{pLj~iyPh3xy5!HpP3H6z?XqwJH3j6M6(9b@KNQ^IvM_R?faAw*e5 zx>Dq3DL30#rjgt}vec*1%$@qabAHcr&hz}v`+NU-aEO_Yx>EkWvBwqC`ZYu-MS(_~^LM=omE&3Z)hk8y!N72nHZ| zhJeRcExuo7z0hPZu-G#mEESf#!a)T(gH)AqHG`J%9Y@T%yBKC_jO_2;#NMPt0A^}# zdin7XW0=8U#CT7S|M|Qm!-7%fhduLzzaVF14CrcgSo2>mNkAZ|)D(<^7z9F)gg~fh zkHjBd;JZ&mUq8y<^E0x)V8TxDGZ1PV$syQ1B=ux2MWzg}#xXLGywV8lrqxzg%`!I}!GorYxvj zS#h`GrQfJuK(<+&6^nI=P`kTcC#6sAA zCd=w88wt$@w>i!mIo!)s#X((-(*(>4Q~QgHba}Js#>4s+m-emJ&KCC$SSz8G6ULic z>Rf@=5ysN|J0IOk@?GnjA{4GV-iIzo{0iq7Z~MOMx5I}oF4PbPR#8!zb`l(!0XaQ+ zx?H643S0?RdWczMYI7-W;w@{n!G##RW~ty#!+Aew`@)(VA-p(ivZ-fiT;_kdixo+8 z>OOtq{JWmU2d~q^cRwtz>mZcF_va&C6)haQ|1mWiUzc-A^;#k>k=(RU@?iKv~B_2&CY6B`RX8{3Nvjmc+C)%tejdybpI)8TBZgy{4>lW&`Ao&&2%f!lq( zoI>9A;Ks5&lZ*StlLp3;hp*Jwikb0mM~#5?a0MV$i+@v80QPu%T>~J&6o3zS0FK=N z;81i?;GZV}5VF8HIh;wJ`KRJE+RH)iS$d#X8C^>TBb{F}tO74GqEO(GKIkcRQNtWb zii&8bfo3Bv@`V>nu2(mw9u74s%JV@hI?IT?9Wn1{YrlLw)i-AcRvpNkvpJe%Tt(Zh zT;i3-g|Mq=KbsY_`VSoeLS*n05JUn|AfN_>{y*gRF6*694Ho1ipRD$<(%980(9;Sz zSL_ao>pyE9?+fsH=#c~}L=BmPgnkS#gL&t@xp6{dO|hr_s<&jLKny{~a7tY@oEE3R>&EDQdR;{r7sl<-6gfx9s+ zbf=>wH@^t3^-OH}Fa}o;3U@4MZDg?uLRIG*c5GGdcq=)=xqjU8tH!RLl1HV)=yBTf zC7DP`;-R`Gsqryb>`Q_Ac(2sU$1g-l{Z~Gh-isp^(04-hsft%inWMj-%9RfE(ul1^rOJvW>4R;(|$ zpqL$KXUH6L+suk%r@yS$?vKunBjWF%YMG8lDoKv+r1Y#lEE_vKLg1+GeI{i!R+#ZT zxd>>AT{Xr?;;=lgRBn95N>NEu<<+32uwyCjic$K=Lj{?pCG2}}O{gbN)>N%%s2JPJ z6I-DY#j6|%0tqfs#GS|9ZgJ|svi6DV@7W<-ST1X}Ky0W>DQ}PY<|gJBIL%h^MpVkq z>^bLWp&;TBVCW=zTk$GupGzAUl4ctBst@QGR^7cY9^p#z+)B{7d&VbRzFj??j5~ig zfB(L6r{H2}vJQ%8Alra2?$;h)_zMPFehaAGO4AkHjxa50o7E-v&YZRU2!iI0YV+K} z9%epqtGCW})7Y}FQ_PgKuVsa3087QUa|(~t;~XCEU&%^*m<3py0Zsc>`WM}!G;#h- zmjbOBVFaF)@PijBlfsK#1FE)EU>-W9-XDPYxydFavvhA%?{Hw6cf`&iW=z;eaSpL$ zUhw+RAaZMilk43r1h)3rzTC4RN(HeBB7oi}5Yh1y`vG8VB;+-DEmwE})|P`e*M`^7 zJr4ovuxNSd)-jLUvogTCVG38$f$c{CS`WIrb~Q{|^OgYc+A^R=ebsAA{+nSC&$3Pb%Ok{dDe(@ODc1G5c z*|=VmxeoB2PuQp95gT@7r)j;h_u;nUppBbyZua(eqrV(LnlV@4{XvzkryxKshHCt% g`?-4Wfu_)}#{ty!@vmsOM-AWubHdH(o+F;}FGAUbzW@LL literal 0 HcmV?d00001 diff --git a/retroshare-gui/src/gui/Posted/images/expand.png b/retroshare-gui/src/gui/Posted/images/expand.png new file mode 100644 index 0000000000000000000000000000000000000000..66b2f6d0c3455ec127ac0b1f6eb664be496bc5b7 GIT binary patch literal 3995 zcmY*bbyU>b7Ctz1tAvPnK~khk=@`0GKnyS#1S#bTh~fa!NQg9pAktj}Lk`_7Idq2% zQi9aH0pGpry|vEyo&DSU+uz>%`{S$=sIRL=MShhW06?Xou55@u;b)r^g8%N$MEu4d zWKQbluK=KKI@<(Mx2Tx`AlG{ih3f0uIJ!8#vT<}`)qp}-onAUxKY#HI0Jm|35zN?V zl|goYYF9}s0RCCa(U6{$)lexIP8Y$&%SJ}48Nik@MsHAmQALH2xh**W5*i8*p*P^8 z3?d&TSz!Ab>XRA})NwTHk!m+wy}#6bS~eoLoV$Z4=_NsvQbwzb8i>Owvy`r1obhRG zYMEUSQ1Bw>a00ZXB~RI2ov;&t15X*5TQ|@owSd5Fkb)GTbrR4**ZgrbYf5qV3E&?H z&@K^ov`FD}K;ccOQaVsjC4eJhxr{(EA+YRx@^~KT^8-un_e+BSjyQ<(AOIGh+2{$9 zBLM5=X93Ehh1+Me-XfWQQld!sA6|W%B z;2y^$;w45iv(p7Yas)ko+MN@(9_sv_9*IyS^&|eZI%3?7$B*Yv7khJ@6abiY@$5h4 z6D+w3mnMeWpMK@U652eZNd9|2*t(cTp$sIij+^c{ooS9F57`k(yAi1L>1H$M0PgABG~W?KZdx1^+R71lMDS-mcmnyQ#Z7DG zf}Yz4V7tn({yPsT1a9Lq+v|$kls{2R<^*tSjZe-1JXGcoFzzUkZzTmlIoXT1P?34J z{t6$O_*y;DL_Ni^rNjp%j;01BS|#$Q@M|wEZ{~U{@%VKYvhZ38epg@-LmSxmMLJOn zG?-LS%R12#8@ZG@EmsTg z=0d6h_n!0?xe{LTQbChR5V|U{T3uIEH`6xL9aYa{y~ZJSah&Wn8RUaO1NV){Os!I` z%8S37t~?eI_BT`KV;{a0c3F_tBLLcTo8wX-RD>H9enF$?oAJP<0o4HqL-tj^tOPOj ztL%~O<4^61NhCk>vEFL)T|g`}E{HBLFR*P}kRu)|IDb1Zn&UC-u+?N*q+JwSBz_hv zqG*yDZ#bEmVti3N?4D9y3evE^z(4b{*x&Jz-98K&T4{M-qXw_qFxu=tFIaJ@yf_(k zT{ouBbf9xpZ6#&}vg=Aoqg8*uq^3J|7=*Mqp|!qPxF&NV)I7rMm^{^gXE$|^VKb^6i=8+-1yk+sB--N_7ZR6 zD(W74`ST;K=MG`8iDQa3`xbxXso@74O`5@6nmu#6QBWA}lXo_z0=G;x@ zbTMs|@U#1N+0il4W;yCP203c$H4^z78Hn^6l`8WiFKWeBP44^LYOt^#BE+)Mn9*bg zc?N@ytkhnlqbg0v^OpPb9P{=q_ARMg z#9VA#S~_bw*my%7RQkDok*6yzEuie9O;t8_CBO=QQ%LyY1)8&@;-0txqGm#a~ zG>RAQrJG}s)egS*B+b*zOzu4>QO!f-aSm7IRb^bvK(S4%q^2`H4B<9d(IDL z-wf;_5=s&pHZm~UZZ2uBj0K0dv@GY z+#6g!$bfSaz#xHMie45Mjt<_uWvdI7m%=>zRXnz#7?O-qq*n~{&huWZ&ttP``w^bU zw!a+P6VdaW+E?FmWw?*TYRM|N(UX$f*WcIFPd?Ns!0c+jaE!QX{{-~awDO^HwDME} zOju8{fL~LbS1wz?R%ZNmrC6nWi-5Ix*N_>)Oyh;tHAw;9d51iU@aB z%4XAvM8ei!OV+PDbD#MZpEf%LmkVBxB5AiP3C|@m=O;%hrLP#@;~C*4DTX~WwXW+9 z?2wGkNxId&(N)rc3BR4V`31Leso~P>CuEwRmMK4r*-}letz@x`vpa@-o}TEI-(BKd znTjAJull7yBi@xvHCq_0N=$Q$cPnTI8`XQL* z=mUfD=`f5j^zTP`CfpX8{T(~%;wCjU})HlVw&T2M+yMW{>J$ zVn2p37S;PFa_zMk69N;RA?u-MM;b>Z`||mL*{cW9NA?f$bnTrtS|J0F6B2f6Qot#vi(*1u{`5u2|3R1#Ds9}`>V*qxN!7gqPlruVN?NsYe_@yMMe8T{)t z3yek3Rw;fvUNyle{>b97MWtSsT>tRe)SF{9%wIH#Vlw9Lnmfkr&&OB22P0wIy&;Gw z#5+%c-xHRYuSk#OCq2`)G>)51yeo``Z;R+r^m0%cd2k@dZ+k?AKh@ zWKJUo^;)YEtK#!f_w7*FH#KD**88i>Nw<3@cWd0Y7;wWwNs_XYH9Kz{_nY_krWqzZ zUvi)HbXJYIa%1zV^{OB3Dr_i@K_~r(FJN{Pl?%%iLA4K zn|88>US}%6v^2C_uWfe|6@IvT_h_Tub;6ZpGj*CqZ{aQLdmfz4@1i}UzKo+trpQPf zAtZL^_=zY#2LIkqyx0T|c<_0m?FPUD@P*FO&zHkLg!s~q_`2s=mbh~aKD2q(4<708FD>4{ll%m> zYyWiu+}ST22mVmuYn_4r&~5_jCE&OVoc6%0e}~#S1D{pj1SWXn5A#3#Xa22!8a{Xa zm-d|Stn+`7|33&m5kCSRfLG7?e_(jsoafK8{?Ovv!$;56cHROuJ7?qkk?8gMnI8Z@ zKRGV=51&rwlP(b3T{ zF)^{Rv2k&6@$vBq2?>dbi3kKDDJkj8moLf5$tfu*U%!4$O-=pw?OR$}T6%hVMn*Cd4x3{maufM;4U|?WyaPa&0??XdF!^6WPBO{}uqhn)ZI7o`$lbvD^5MaRUd4Fe#ya;Y(|3;S8+l(A_NC!Yg{I zGn+bY!R84c=dFpg!V0moQ9miYQx5~J>qWNQ6oEB4u@IbqQh_RVQlDxC8*qL6=W~UC z4A!YyQnp^OUg2Rl9f$uU!bRbb@lQ-vjYb1q1p;6%jvN1`sqF|;UHv=YRUlDoMo-`q@ zS}vns#dxJ_UPvNxz75gyF2umUco!bQH@$_3X0&M23Eq-77z5FXQC3)2?3Q(7LR~?% zp}XtB+P#er2b^A_bEbs4fsbhKaC<(S`F8N!t7HyFq#OK&PDroYNf6RjJ2<;~0gGaL ztzSqZP^3jS%AKLlV5Nzcmu{g_NTi4taS~XG_kN;iL6t~;81z%W?||+FQN_q*2Gw;b zT3d8rvO6cGc(Q=aG=&mXCOK)9RVINrLE2yV@o%vHt(-!X$G$_EX*J`av&sc9UtS=ql$cS$h8m DPHnkY literal 0 HcmV?d00001 diff --git a/retroshare-gui/src/gui/Posted/images/thumb-default.png b/retroshare-gui/src/gui/Posted/images/thumb-default.png new file mode 100644 index 0000000000000000000000000000000000000000..b52cc1f0226fc3f5ad24a1d2ef6dd314f2603037 GIT binary patch literal 10127 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 literal 0 HcmV?d00001 diff --git a/retroshare-gui/src/gui/Posted/images/up-arrow.png b/retroshare-gui/src/gui/Posted/images/up-arrow.png new file mode 100644 index 0000000000000000000000000000000000000000..728ccf06831c0b198216e764ae1c945379cb695c GIT binary patch literal 1925 zcmXX_dpy&782)ZE_k+YF#mY5u7e1=FmbvY0lgN~5#KxujfD$+h!yKIeTu@ArA$_kG^)e@_-3=lq-Wc4+{>Z!TCTB81G%k`#kp zs?`lU2&AI0$7le^b!-;wl7XBW00=dzqaz+45_vX~77`hSc5!q>M@2`TqMi-{Aa004 zCSM+#5{jN{@%ecC5u!+4v`ux3Y7L)pIrTznN$O_oGHq$*o1*y{o7~ve_!3On#LOh= z?19GXL#t-rg39)dIo7L8#aL^zdjI4iBPrluy1;>sY_IYb4WaS4rRObb2{ z%^=t_2q#@ar6KWaIdLdX6s;*DmpWb?KstJQiR-g6pXwncWwu}>O~tTAhWacCZ3GLj zP%I5c?RNb?C9-?73E7L=u9&Hs?K3%ka)2BW*xGfn-7NP~$-c7h`ej?+>BK7kDA@tu zQO>!^dFl7UFMN1-cx!xhT;bR4i|Rs|iNq)VhG;FGufSuTjj!TeoeyB2C7kHto;)Mu z2ua#Rt#s{NS1;_0t1Y`kQ%zr2kAAe(xy_mFy^z+c^ifY)`_fS#bta{XUSc@jB7G??>f)@&ez5!9^tNXBc*XQ^w;o* zrg3B~r91I>)BOfIX}a|_g+1wT3ppZ_j9N8XBz=5{A%~5PR8ZO`9V5~)GOLPhN_)1| zD24ABN2w_nsf^~E>_0>6eJh&0;ZBX7wp1mQcpba_*OF+si}Kvtcz(}bqtfF^&7$xU zrxv$E0UsaK-R@5b`~FEdqq}cM*xLKkg8UJiTVE0~$hCCu#H9}>{=}?q+?QI_*|_rA zx+dmR*7O7OwBYX2?;$w@!};;6s3=2O(w(@4&KkKcoxLf|y>VVMpUT2w2KR9vw)Bua zJ0~Pa+$N9r8v(U*4PJ@XKd#N~XV|TiCo2b?*K#5-MvSXJL>K!;f}1!O4~{ZE^wl(X z)i(J0kzyUcotoj^qW8{?JeXS?<7@VH)?d-blr1~V2MvZzSj9x9v>LC^PkXja()|}( z|5;`KT5O*a+Kz5`t^bk-MzTB4R~(Qsg}j5NV2K_8BxpmPVga!H3&LptVoU(|LU3jz?js>CT!?Zdj)`K0XSHD360fioG5CzcZTZxPy0htD941U;HylpIa)Y4bo=U zQfM1=+{EQ&yr@;SGp<{JQ>#@CwrniCCIIf0U%Z9#?pbO~#+^0xiu(FEvSQ+jNMc-! zY(Mnv{5ZU#Aeh?sFfil*;5=_`dut7R*fHln5+v{o?~45Ie`ga2;(4Op6ss23+$s1Q zPM>AjRcZ7gI__OkK&TQ-iDoc)VOC(30Dgpq-_;ET6AQ<~>gQhMDl+X43=Cl_LxQ5t z0*;{Y7M_zM&8&%k=B-y(1u8iA;t_GLBu8OdEqV8n(uL8OuCF3ssoDRbQ3QRbgO0 zfqsyxLj?pqXo8RJY)=MxV;tpW>BsSkvk0GX4`}&328{mL)I^m{1QLhJA}w z;UArWm|+9FIDog*HKNiTyM;fhDQ`Kr{&`%<=0^UL*)@7ubAOlV;lB(xRO$C@iL$Up zRS&6hIa_wTsIp|2nA)xD!gw8E^YCp+rekVX22pNuKxOD2|2e+RYtWKx^1U{ zvoX{-cfCI`BLNf=vSv&Pk(IK$#9EcJD$d$Ydfr;AfhcN0>X(q9xBEMG6Jd^K$$UN(u3+AsUrw z#jHNUv~VE8;C6e_paV{XZ6?%=$um)ulF}NuNH$Me0i1;00GkOzqZEKT%*1MJWn?!g zXpS{yU(e2{KkMoGcehM|rtppl~^ab82uP Gr~M0uo^LP! literal 0 HcmV?d00001 diff --git a/retroshare-gui/src/gui/qss/stylesheet/Standard.qss b/retroshare-gui/src/gui/qss/stylesheet/Standard.qss index 97e84efc8..e7f489980 100644 --- a/retroshare-gui/src/gui/qss/stylesheet/Standard.qss +++ b/retroshare-gui/src/gui/qss/stylesheet/Standard.qss @@ -119,18 +119,9 @@ GxsCreateCommentDialog QFrame#frame { /* Forums */ -ForumsDialog QLabel#forumName, ForumsDialog QLabel#threadTitle +GxsForumThreadWidget QLabel#forumName { - border: 2px solid #CCCCCC; - border-radius:6px; - background: white; -} - -ForumsDialog2 QLabel#forumName, ForumsDialog2 QLabel#threadTitle -{ - border: 2px solid #CCCCCC; - border-radius:6px; - background: white; + font: bold; } CreateForumMsg > QToolBar#toolBar, CreateForumV2Msg > QToolBar#toolBar { @@ -677,14 +668,6 @@ IdDialog QFrame#inviteFrame { background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #FFFFD7, stop:1 #FFFFB2); } -GxsChannelPostsWidget QFrame#infoFrame -{ - border: 1px solid #DCDC41; - border-radius: 6px; - background: #FFFFD7; - background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #FFFFD7, stop:1 #FFFFB2); -} - IdEditDialog QLabel#info_label { border: 1px solid #DCDC41; @@ -822,3 +805,109 @@ PostedListWidget QToolButton#submitPostButton { font: bold; font-size: 15px; } + +PostedListWidget QToolButton#subscribeToolButton { + font: bold; + font-size: 15px; + color: white; + background: #0099cc; + border-radius: 4px; +} + +PostedListWidget QToolButton#subscribeToolButton:hover { + background: #03b1f3; + border-radius: 4px; +} + +PostedListWidget QFrame#headerFrame { + background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #FEFEFE, stop:1 #E8E8E8); + border: 1px solid #CCCCCC; +} + +GxsForumThreadWidget QToolButton#subscribeToolButton { + font: bold; + font-size: 14px; + color: white; + background: #0099cc; + border-radius: 4px; +} + +GxsForumThreadWidget QToolButton#subscribeToolButton:hover { + background: #03b1f3; + border-radius: 4px; +} + +GxsChannelPostsWidget QFrame#infoFrame +{ + border: 1px solid #DCDC41; + border-radius: 6px; + background: #FFFFD7; + background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #FFFFD7, stop:1 #FFFFB2); +} + +GxsChannelPostsWidget QToolButton#subscribeToolButton { + font: bold; + font-size: 14px; + color: white; + background: #0099cc; + border-radius: 4px; +} + +GxsChannelPostsWidget QToolButton#subscribeToolButton:hover { + background: #03b1f3; + border-radius: 4px; +} + +GxsChannelPostsWidget QToolButton#subscribeToolButton:pressed { + background: #03b1f3; + border-radius: 4px; + border: 1px solid gray; +} + +GxsChannelPostsWidget QToolButton#subscribeToolButton:disabled { + background: gray; + border-radius: 4px; + border: 1px solid gray; + color: lightgray; +} + +/* only for MenuButtonPopup */ +GxsChannelPostsWidget QToolButton#subscribeToolButton[popupMode="1"] { + padding-right: 0px; +} + +GxsChannelPostsWidget QToolButton#subscribeToolButton::menu-arrow { + image: none; +} + +GxsChannelPostsWidget QToolButton#subscribeToolButton::menu-button { + image: none; +} + +PostedItem QFrame#voteFrame { + background: #f8f9fa; +} + +PostedItem QFrame#mainFrame{ + background: white; +} + +PostedItem QFrame#frame_picture{ + background: white; +} + +PostedItem QLabel#thumbnailLabel{ + border: 2px solid #CCCCCC; + border-radius: 3px; +} + +PostedItem QLabel#fromBoldLabel, QLabel#fromLabel, QLabel#dateLabel, QLabel#siteBoldLabel { + color: #787c7e; +} + +PostedItem QToolButton#commentButton{ + font-size: 12px; + color: #878a8c; + font-weight: bold; + +} From 4f3920a33a5a644d11ff600a6bea8f3ce582030f Mon Sep 17 00:00:00 2001 From: defnax Date: Fri, 1 Feb 2019 00:16:06 +0100 Subject: [PATCH 12/77] Added share button for copy retroshare message link --- retroshare-gui/src/gui/Posted/PostedItem.cpp | 26 ++++++++++++++++++ retroshare-gui/src/gui/Posted/PostedItem.h | 3 ++ retroshare-gui/src/gui/Posted/PostedItem.ui | 14 ++++++++++ .../src/gui/Posted/Posted_images.qrc | 1 + .../src/gui/Posted/images/share.png | Bin 0 -> 2717 bytes .../src/gui/qss/stylesheet/Standard.qss | 4 +-- 6 files changed, 46 insertions(+), 2 deletions(-) create mode 100644 retroshare-gui/src/gui/Posted/images/share.png diff --git a/retroshare-gui/src/gui/Posted/PostedItem.cpp b/retroshare-gui/src/gui/Posted/PostedItem.cpp index 79db72b32..f1fe30cfa 100644 --- a/retroshare-gui/src/gui/Posted/PostedItem.cpp +++ b/retroshare-gui/src/gui/Posted/PostedItem.cpp @@ -19,6 +19,7 @@ *******************************************************************************/ #include +#include #include #include "rshare.h" @@ -48,6 +49,9 @@ PostedItem::PostedItem(FeedHolder *feedHolder, uint32_t feedId, const RsPostedGr GxsFeedItem(feedHolder, feedId, post.mMeta.mGroupId, post.mMeta.mMsgId, isHome, rsPosted, autoUpdate) { setup(); + + mMessageId = post.mMeta.mMsgId; + setGroup(group, false); setPost(post); @@ -100,6 +104,13 @@ void PostedItem::setup() connect(ui->expandButton, SIGNAL(clicked()), this, SLOT( toggle())); connect(ui->readButton, SIGNAL(toggled(bool)), this, SLOT(readToggled(bool))); + + QAction *CopyLinkAction = new QAction(QIcon(""),tr("Copy RetroShare Link"), this); + connect(CopyLinkAction, SIGNAL(triggered()), this, SLOT(copyMessageLink())); + + QMenu *menu = new QMenu(); + menu->addAction(CopyLinkAction); + ui->shareButton->setMenu(menu); ui->clearButton->hide(); ui->readAndClearButton->hide(); @@ -502,3 +513,18 @@ void PostedItem::doExpand(bool open) emit sizeChanged(this); } + +void PostedItem::copyMessageLink() +{ + if (groupId().isNull() || mMessageId.isNull()) { + return; + } + + RetroShareLink link = RetroShareLink::createGxsMessageLink(RetroShareLink::TYPE_POSTED, groupId(), mMessageId, messageName()); + + if (link.valid()) { + QList urls; + urls.push_back(link); + RSLinkClipboard::copyLinks(urls); + } +} diff --git a/retroshare-gui/src/gui/Posted/PostedItem.h b/retroshare-gui/src/gui/Posted/PostedItem.h index 7329e3a2e..1ef11de3c 100644 --- a/retroshare-gui/src/gui/Posted/PostedItem.h +++ b/retroshare-gui/src/gui/Posted/PostedItem.h @@ -30,6 +30,7 @@ namespace Ui { class PostedItem; } +class FeedHolder; class RsPostedPost; class PostedItem : public GxsFeedItem @@ -59,6 +60,7 @@ private slots: void readToggled(bool checked); void readAndClearItem(); void toggle(); + void copyMessageLink(); signals: void vote(const RsGxsGrpMsgIdPair& msgId, bool up); @@ -84,6 +86,7 @@ private: RsPostedGroup mGroup; RsPostedPost mPost; + RsGxsMessageId mMessageId; /** Qt Designer generated object */ Ui::PostedItem *ui; diff --git a/retroshare-gui/src/gui/Posted/PostedItem.ui b/retroshare-gui/src/gui/Posted/PostedItem.ui index aa19e37f5..389f659c8 100644 --- a/retroshare-gui/src/gui/Posted/PostedItem.ui +++ b/retroshare-gui/src/gui/Posted/PostedItem.ui @@ -499,6 +499,20 @@ + + + + Share + + + + :/images/share.png:/images/share.png + + + true + + + diff --git a/retroshare-gui/src/gui/Posted/Posted_images.qrc b/retroshare-gui/src/gui/Posted/Posted_images.qrc index ae7cf9e3b..0ea4455cf 100644 --- a/retroshare-gui/src/gui/Posted/Posted_images.qrc +++ b/retroshare-gui/src/gui/Posted/Posted_images.qrc @@ -17,5 +17,6 @@ images/up-arrow.png images/comments.png images/thumb-default.png + images/share.png diff --git a/retroshare-gui/src/gui/Posted/images/share.png b/retroshare-gui/src/gui/Posted/images/share.png new file mode 100644 index 0000000000000000000000000000000000000000..2a8d87e26ed7e2a69874d9931b321793d0d90698 GIT binary patch literal 2717 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 XD{daIDIl=f00000NkvXXu0mjf>Lc?s literal 0 HcmV?d00001 diff --git a/retroshare-gui/src/gui/qss/stylesheet/Standard.qss b/retroshare-gui/src/gui/qss/stylesheet/Standard.qss index e7f489980..6efecbf5c 100644 --- a/retroshare-gui/src/gui/qss/stylesheet/Standard.qss +++ b/retroshare-gui/src/gui/qss/stylesheet/Standard.qss @@ -905,9 +905,9 @@ PostedItem QLabel#fromBoldLabel, QLabel#fromLabel, QLabel#dateLabel, QLabel#site color: #787c7e; } -PostedItem QToolButton#commentButton{ +PostedItem QToolButton#commentButton, QPushButton#shareButton{ font-size: 12px; color: #878a8c; - font-weight: bold; + font-weight: bold; } From fb005f0419e28f16c81dd5ce1e932767e9a26435 Mon Sep 17 00:00:00 2001 From: thunder2 Date: Tue, 6 Mar 2018 14:55:48 +0100 Subject: [PATCH 13/77] Added workaround for Qt 5.10.0+ (Windows only?) in UserNotify. QSystemTrayIcon is initially not visible but the icon gets visible after the call to ::setIcon --- retroshare-gui/src/gui/common/UserNotify.cpp | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/retroshare-gui/src/gui/common/UserNotify.cpp b/retroshare-gui/src/gui/common/UserNotify.cpp index cf83cf316..e030f9ccf 100644 --- a/retroshare-gui/src/gui/common/UserNotify.cpp +++ b/retroshare-gui/src/gui/common/UserNotify.cpp @@ -123,7 +123,21 @@ void UserNotify::createIcons(QMenu *notifyMenu) if (mTrayIcon == NULL) { /* Create the tray icon for messages */ mTrayIcon = new QSystemTrayIcon(this); +#ifdef Q_OS_WIN +#if QT_VERSION >= QT_VERSION_CHECK (5, 10, 0) + // Set tray icon visible to hide it again with ::hide. + // ::hide or ::setVisible(false) does nothing when QSystemTrayIcon is hidden. + mTrayIcon->show(); +#endif +#endif mTrayIcon->setIcon(getIcon()); +#ifdef Q_OS_WIN +#if QT_VERSION >= QT_VERSION_CHECK (5, 10, 0) + // Hide tray icon as workaround for Qt 5.10.0 (Windows only?) + // QSystemTrayIcon is initially not visible but the icon gets visible after the call to ::setIcon. + mTrayIcon->hide(); +#endif +#endif connect(mTrayIcon, SIGNAL(activated(QSystemTrayIcon::ActivationReason)), this, SLOT(trayIconClicked(QSystemTrayIcon::ActivationReason))); } } From 04db4b0f24ee81c64579318c0a691930834752c5 Mon Sep 17 00:00:00 2001 From: Gioacchino Mazzurco Date: Mon, 4 Feb 2019 14:49:09 +0100 Subject: [PATCH 14/77] Keep retroshare.pri tidy --- retroshare.pri | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/retroshare.pri b/retroshare.pri index 13402cf3e..561d1d952 100644 --- a/retroshare.pri +++ b/retroshare.pri @@ -165,6 +165,11 @@ rs_jsonapi:CONFIG -= no_rs_jsonapi CONFIG *= no_rs_deep_search rs_deep_search:CONFIG -= no_rs_deep_search +# To enable native dialogs append the following assignation to qmake command +#line "CONFIG+=rs_use_native_dialogs" +CONFIG *= no_rs_use_native_dialogs +rs_use_native_dialogs:CONFIG -= no_rs_use_native_dialogs + # Specify host precompiled jsonapi-generator path, appending the following # assignation to qmake command line # 'JSONAPI_GENERATOR_EXE=/myBuildDir/jsonapi-generator'. Required for JSON API @@ -187,10 +192,6 @@ rs_deep_search:CONFIG -= no_rs_deep_search # assignation to qmake command line 'RS_EXTRA_VERSION=""' #RS_EXTRA_VERSION=git -# To enable native dialogs append the following assignation to qmake command line -# "CONFIG+=rs_use_native_dialogs" -rs_use_native_dialogs:DEFINES *= RS_NATIVEDIALOGS - ########################################################################################################################################################### # # V07_NON_BACKWARD_COMPATIBLE_CHANGE_001: @@ -477,6 +478,8 @@ rs_deep_search { } } +rs_use_native_dialogs:DEFINES *= RS_NATIVEDIALOGS + debug { QMAKE_CXXFLAGS -= -O2 -fomit-frame-pointer QMAKE_CFLAGS -= -O2 -fomit-frame-pointer From b46fb73f20241b3ed377f4d5ce008ee039aeaa96 Mon Sep 17 00:00:00 2001 From: Gioacchino Mazzurco Date: Mon, 4 Feb 2019 14:55:46 +0100 Subject: [PATCH 15/77] Add script to prepare OBS source tarball --- build_scripts/prepare_OBS_source_tarbal.sh | 24 ++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100755 build_scripts/prepare_OBS_source_tarbal.sh diff --git a/build_scripts/prepare_OBS_source_tarbal.sh b/build_scripts/prepare_OBS_source_tarbal.sh new file mode 100755 index 000000000..ef73b2c9a --- /dev/null +++ b/build_scripts/prepare_OBS_source_tarbal.sh @@ -0,0 +1,24 @@ +#!/bin/sh + +#!/bin/bash + +## Define default value for variable, take two arguments, $1 variable name, +## $2 default variable value, if the variable is not already define define it +## with default value. +function define_default_value() +{ + VAR_NAME="${1}" + DEFAULT_VALUE="${2}" + + [ -z "${!VAR_NAME}" ] && export ${VAR_NAME}="${DEFAULT_VALUE}" +} + +define_default_value GIT_DIR "${HOME}/Development/rs-develop/.git" + + +rsync -aPh --delete --exclude='.git' "${GIT_DIR}/../" RetroShare/ +git describe > RetroShare/Source_Version +tar -zcvf RetroShare.tar.gz RetroShare/ +cat RetroShare/Source_Version +md5sum RetroShare.tar.gz +wc -c RetroShare.tar.gz From 63d346f63d05257343ec438b6a7960aa7339136f Mon Sep 17 00:00:00 2001 From: defnax Date: Mon, 4 Feb 2019 23:59:31 +0100 Subject: [PATCH 16/77] Added Notes button to view notes --- retroshare-gui/src/gui/Posted/PostedItem.cpp | 17 +++++++++- retroshare-gui/src/gui/Posted/PostedItem.h | 1 + retroshare-gui/src/gui/Posted/PostedItem.ui | 30 +++++++++++++++--- .../src/gui/Posted/Posted_images.qrc | 1 + .../src/gui/Posted/images/notes.png | Bin 0 -> 1771 bytes 5 files changed, 43 insertions(+), 6 deletions(-) create mode 100644 retroshare-gui/src/gui/Posted/images/notes.png diff --git a/retroshare-gui/src/gui/Posted/PostedItem.cpp b/retroshare-gui/src/gui/Posted/PostedItem.cpp index f1fe30cfa..4a38c2a5a 100644 --- a/retroshare-gui/src/gui/Posted/PostedItem.cpp +++ b/retroshare-gui/src/gui/Posted/PostedItem.cpp @@ -91,6 +91,7 @@ void PostedItem::setup() ui->newCommentLabel->hide(); ui->frame_picture->hide(); ui->commLabel->hide(); + ui->frame_notes->hide(); /* general ones */ connect(ui->clearButton, SIGNAL(clicked()), this, SLOT(removeItem())); @@ -102,6 +103,7 @@ void PostedItem::setup() connect(ui->voteUpButton, SIGNAL(clicked()), this, SLOT(makeUpVote())); connect(ui->voteDownButton, SIGNAL(clicked()), this, SLOT( makeDownVote())); connect(ui->expandButton, SIGNAL(clicked()), this, SLOT( toggle())); + connect(ui->notesButton, SIGNAL(clicked()), this, SLOT( toggleNotes())); connect(ui->readButton, SIGNAL(toggled(bool)), this, SLOT(readToggled(bool))); @@ -310,7 +312,7 @@ void PostedItem::fill() // FIX THIS UP LATER. ui->notes->setText(QString::fromUtf8(mPost.mNotes.c_str())); if(ui->notes->text().isEmpty()) - ui->frame_notes->hide(); + ui->notesButton->hide(); // differences between Feed or Top of Comment. if (mFeedHolder) { @@ -528,3 +530,16 @@ void PostedItem::copyMessageLink() RSLinkClipboard::copyLinks(urls); } } + +void PostedItem::toggleNotes() +{ + if (ui->notesButton->isChecked()) + { + ui->frame_notes->show(); + } + else + { + ui->frame_notes->hide(); + } + +} diff --git a/retroshare-gui/src/gui/Posted/PostedItem.h b/retroshare-gui/src/gui/Posted/PostedItem.h index 1ef11de3c..333018dee 100644 --- a/retroshare-gui/src/gui/Posted/PostedItem.h +++ b/retroshare-gui/src/gui/Posted/PostedItem.h @@ -61,6 +61,7 @@ private slots: void readAndClearItem(); void toggle(); void copyMessageLink(); + void toggleNotes(); signals: void vote(const RsGxsGrpMsgIdPair& msgId, bool up); diff --git a/retroshare-gui/src/gui/Posted/PostedItem.ui b/retroshare-gui/src/gui/Posted/PostedItem.ui index 389f659c8..af284a7a0 100644 --- a/retroshare-gui/src/gui/Posted/PostedItem.ui +++ b/retroshare-gui/src/gui/Posted/PostedItem.ui @@ -513,6 +513,26 @@ + + + + Notes + + + + :/images/notes.png:/images/notes.png + + + true + + + Qt::ToolButtonTextBesideIcon + + + true + + + @@ -630,23 +650,23 @@ - QFrame::NoFrame + QFrame::Box QFrame::Sunken - 1 + 3 - 1 + 3 - 1 + 3 - 1 + 3 1 diff --git a/retroshare-gui/src/gui/Posted/Posted_images.qrc b/retroshare-gui/src/gui/Posted/Posted_images.qrc index 0ea4455cf..0b9e06f2b 100644 --- a/retroshare-gui/src/gui/Posted/Posted_images.qrc +++ b/retroshare-gui/src/gui/Posted/Posted_images.qrc @@ -18,5 +18,6 @@ images/comments.png images/thumb-default.png images/share.png + images/notes.png diff --git a/retroshare-gui/src/gui/Posted/images/notes.png b/retroshare-gui/src/gui/Posted/images/notes.png new file mode 100644 index 0000000000000000000000000000000000000000..a73a039685015b38071a49b50d19fa42355ee9d6 GIT binary patch literal 1771 zcmah~2~d;Q7QTcKVpyc2giSzg(F$T{G4jB$1TX|46%5E`LKFm)Es)m;lJW;xf@KpL zs4PYhu_21G2_j$u6l%k+SP&2jBOoRaDv&A#n=UhNp3|A$nRCv3XXf5H_k7>IC*wGY zpn=jy0RS|JuFhVH2>oG5gu-{&(Zq@XkHZtmNX1G-26Gg6ON^^u900~if0&Y;f9H%M zsmE~fWt@mU%V5%CLjaS>v~Y|7}430e4#`-aV&!Dt*a_~ z&s=m*|I`iRDb&@_&m43<6^5bz+@4A=yOJvE%=%jYvYMs4@e{0F)UJ?gEEy(^n?WD$ zOuY?fe2+Ksa{nf!6N=uGf%GMY+Q?t@dl0I&hh2^9$CbX>$g`+SU0NU7jO#0Xay7sK zxhq8r|EIHN=NXxh+LrFl&r1@MIkk75(#ol62^ah4i^Qgp22f2+O$3gUt#pA*z#)Ed z+Gq{g*$`2#*kjQE49Z@mZw2s{YC(a=b1Z<@*GmpMFmYxT3>|@wfQj9mIe+`XK4&yO zb?b}8S8qpy$4!?5loQbJ{s%XVA}wuuu}2;f0qG2hJgmhsc-Mtk zVMB2v5q=2Bv46*p!`{UH8ZCr>K%{y=ffA67jHicrj#1#3zrO;kNw6vFEzr!zAUppb zfI$)(qdY6W9<#sC6yA`1l?n4T4mBPdMT7DT(dLWG89u3QFPWH~*g>(+TBMREW7PNH z?zmR-kQr32nT~+UWPGQ+nov4(PWz^pe0Td|)51aYnhNmkK=FnzA!XAS#if@I_=~@0 z1wa_L4=XX?A^I>=+RNmjOY>c~efGtmm5cMP-BhSR%R_y2wSGc6Qna=-nI!8!_QXCp zhB;IRuu)2;Imy}s6B83qJGWvktd_1aLfKdNMTi&w?(`893IFY5MnaZM1B3k-cPyW! z1fIbbg2o9VqAVF{@^H~CWKzc@Gw*{=^mW~0e;#DybDi%>m&}3A6%4dfz2{LQRinq& z_2-Drr%uAIx9`*S^4*pR>Q4)ws{QbpzyhKUSw7T!rUJ1ioZhzOi3)gVvA0Ul^kl!* zn&z5(2M7vI{0(`iol0Nr8kob5Crt_(6R4*r@L_aYH866yY_~w}+c@zD? z8GYffF_zZME%sV(vo|A%4m&thldG<|-5Mrp6GW2u9B^UIo~Qg`KeuXc`46^YO61#T0C5ak+Qx!*YL^2b(@}G8*i;h?u{vf0E3S-uiBv6`b3fF*C7xvPMe1kN{ihxg&~@QT3%h%O}OYJ5=g?`nb{{Qv*} literal 0 HcmV?d00001 From f0a99fbe98bfe4e89f968a02585bf0f3a1bfade6 Mon Sep 17 00:00:00 2001 From: defnax Date: Tue, 5 Feb 2019 00:05:53 +0100 Subject: [PATCH 17/77] update standard.qss --- .../src/gui/qss/stylesheet/Standard.qss | 97 +++++++++---------- 1 file changed, 47 insertions(+), 50 deletions(-) diff --git a/retroshare-gui/src/gui/qss/stylesheet/Standard.qss b/retroshare-gui/src/gui/qss/stylesheet/Standard.qss index 6efecbf5c..cbdb5a81c 100644 --- a/retroshare-gui/src/gui/qss/stylesheet/Standard.qss +++ b/retroshare-gui/src/gui/qss/stylesheet/Standard.qss @@ -587,26 +587,6 @@ MessageWidget QFrame#inviteFrame { background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #FFFFD7, stop:1 #FFFFB2); } -/* Posted Links */ - -PostedCreatePostDialog QLabel#info_label { - border: 1px solid #DCDC41; - border-radius: 6px; - background: #FFFFD7; - background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #FFFFD7, stop:1 #FFFFB2); -} - -PostedItem QFrame#frame { - border: 2px solid #CCCCCC; - background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #EEEEEE, stop: 1 #CCCCCC); - border-radius: 10px -} - -PostedItem QLabel#notes { - border: 2px solid #CCCCCC; - border-radius: 10px -} - QLabel#sharekeyinfo_label{ border: 1px solid #DCDC41; border-radius: 6px; @@ -795,35 +775,6 @@ GenCertDialog QFrame#profileframe{ border-width: 0px; } -PostedListWidget QComboBox#comboBox { - font: bold; - font-size: 15px; - color: #0099cc; -} - -PostedListWidget QToolButton#submitPostButton { - font: bold; - font-size: 15px; -} - -PostedListWidget QToolButton#subscribeToolButton { - font: bold; - font-size: 15px; - color: white; - background: #0099cc; - border-radius: 4px; -} - -PostedListWidget QToolButton#subscribeToolButton:hover { - background: #03b1f3; - border-radius: 4px; -} - -PostedListWidget QFrame#headerFrame { - background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #FEFEFE, stop:1 #E8E8E8); - border: 1px solid #CCCCCC; -} - GxsForumThreadWidget QToolButton#subscribeToolButton { font: bold; font-size: 14px; @@ -884,6 +835,52 @@ GxsChannelPostsWidget QToolButton#subscribeToolButton::menu-button { image: none; } +/* Posted Links */ + +PostedCreatePostDialog QLabel#info_label { + border: 1px solid #DCDC41; + border-radius: 6px; + background: #FFFFD7; + background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #FFFFD7, stop:1 #FFFFB2); +} + +PostedItem QFrame#frame_notes { + background: white; +} + +PostedItem QLabel#notes { + +} + +PostedListWidget QComboBox#comboBox { + font: bold; + font-size: 15px; + color: #0099cc; +} + +PostedListWidget QToolButton#submitPostButton { + font: bold; + font-size: 15px; +} + +PostedListWidget QToolButton#subscribeToolButton { + font: bold; + font-size: 15px; + color: white; + background: #0099cc; + border-radius: 4px; +} + +PostedListWidget QToolButton#subscribeToolButton:hover { + background: #03b1f3; + border-radius: 4px; +} + +PostedListWidget QFrame#headerFrame { + background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #FEFEFE, stop:1 #E8E8E8); + border: 1px solid #CCCCCC; +} + PostedItem QFrame#voteFrame { background: #f8f9fa; } @@ -905,7 +902,7 @@ PostedItem QLabel#fromBoldLabel, QLabel#fromLabel, QLabel#dateLabel, QLabel#site color: #787c7e; } -PostedItem QToolButton#commentButton, QPushButton#shareButton{ +PostedItem QToolButton#commentButton, QPushButton#shareButton, QToolButton#notesButton{ font-size: 12px; color: #878a8c; font-weight: bold; From 4b953a3d765910d9dd5bad4d1b2ac1c58e17c9c6 Mon Sep 17 00:00:00 2001 From: Gioacchino Mazzurco Date: Tue, 5 Feb 2019 14:54:15 +0100 Subject: [PATCH 18/77] Fix warning in retroshare-gui JSON API page --- retroshare-gui/src/gui/settings/JsonApiPage.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/retroshare-gui/src/gui/settings/JsonApiPage.cc b/retroshare-gui/src/gui/settings/JsonApiPage.cc index 12b7e3545..78d2aa458 100644 --- a/retroshare-gui/src/gui/settings/JsonApiPage.cc +++ b/retroshare-gui/src/gui/settings/JsonApiPage.cc @@ -54,7 +54,7 @@ bool JsonApiPage::updateParams(QString &errmsg) changed = true; } - uint16_t port = ui.portSpinBox->value(); + uint16_t port = static_cast(ui.portSpinBox->value()); if(port != Settings->getJsonApiPort()) { Settings->setJsonApiPort(port); From 0bfe10fa0e7913a8dcbc9ae1a3b949507ecaa979 Mon Sep 17 00:00:00 2001 From: Gioacchino Mazzurco Date: Tue, 5 Feb 2019 15:02:15 +0100 Subject: [PATCH 19/77] Add missing categories to desktop file Improve recognizability in desktop menu. Missing categories breaks packaging for some distros like OpenSuse --- data/retroshare.desktop | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/data/retroshare.desktop b/data/retroshare.desktop index 724b86953..efc73dd6b 100644 --- a/data/retroshare.desktop +++ b/data/retroshare.desktop @@ -2,10 +2,10 @@ Encoding=UTF-8 Version=1.0 Name=RetroShare -Comment=Securely share files with your friends +Comment=Securely communicate with your friends Exec=/usr/bin/retroshare %U Icon=/usr/share/pixmaps/retroshare.xpm Terminal=false Type=Application -Categories=Application;Network; +Categories=Application;Network;P2P;Feed;Chat;InstantMessaging MimeType=x-scheme-handler/retroshare; From 0d2798399e82265ebb2190810139402b1548258a Mon Sep 17 00:00:00 2001 From: Gioacchino Mazzurco Date: Thu, 7 Feb 2019 16:38:18 -0300 Subject: [PATCH 20/77] retroshare-service add permission for android network usage --- retroshare-service/src/android/AndroidManifest.xml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/retroshare-service/src/android/AndroidManifest.xml b/retroshare-service/src/android/AndroidManifest.xml index 7a3930f89..cbf2676fa 100644 --- a/retroshare-service/src/android/AndroidManifest.xml +++ b/retroshare-service/src/android/AndroidManifest.xml @@ -82,4 +82,7 @@ + + + From 6e1e3f3832f8bfeaef35a434dfc770e1d368f31b Mon Sep 17 00:00:00 2001 From: csoler Date: Thu, 7 Feb 2019 23:52:52 +0100 Subject: [PATCH 21/77] fixed accept rich text in HelpDialog --- retroshare-gui/src/gui/HelpDialog.cpp | 6 +++--- retroshare-gui/src/gui/HelpDialog.ui | 9 ++++++--- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/retroshare-gui/src/gui/HelpDialog.cpp b/retroshare-gui/src/gui/HelpDialog.cpp index 271c2c910..3bbef144e 100644 --- a/retroshare-gui/src/gui/HelpDialog.cpp +++ b/retroshare-gui/src/gui/HelpDialog.cpp @@ -69,19 +69,19 @@ HelpDialog::HelpDialog(QWidget *parent) : QFile licenseFile(QLatin1String(":/help/licence.html")); if (licenseFile.open(QIODevice::ReadOnly | QIODevice::Text)) { QTextStream in(&licenseFile); - ui->license->setText(in.readAll()); + ui->license->setHtml(in.readAll()); } QFile authorsFile(QLatin1String(":/help/authors.html")); if (authorsFile.open(QIODevice::ReadOnly | QIODevice::Text)) { QTextStream in(&authorsFile); - ui->authors->setText(in.readAll()); + ui->authors->setHtml(in.readAll()); } QFile thanksFile(QLatin1String(":/help/thanks.html")); if (thanksFile.open(QIODevice::ReadOnly | QIODevice::Text)) { QTextStream in(&thanksFile); - ui->thanks->setText(in.readAll()); + ui->thanks->setHtml(in.readAll()); } ui->version->setText(Rshare::retroshareVersion(true)); diff --git a/retroshare-gui/src/gui/HelpDialog.ui b/retroshare-gui/src/gui/HelpDialog.ui index 13b059f11..9a09a9525 100644 --- a/retroshare-gui/src/gui/HelpDialog.ui +++ b/retroshare-gui/src/gui/HelpDialog.ui @@ -142,7 +142,7 @@ p, li { white-space: pre-wrap; } true - false + true Qt::TextBrowserInteraction @@ -183,7 +183,7 @@ p, li { white-space: pre-wrap; } true - false + true Qt::TextBrowserInteraction @@ -236,6 +236,9 @@ p, li { white-space: pre-wrap; } <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt; font-weight:600;">German: </span><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">Jan</span><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt; font-weight:600;"> </span><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">Keller</span><span style=" font-family:'MS Shell Dlg 2';"> &lt;</span><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">trilarion@users.sourceforge.net</span><span style=" font-family:'MS Shell Dlg 2';">&gt;</span></p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-weight:600;">Polish: </span><span style=" font-family:'MS Shell Dlg 2';">Maciej Mrug</span></p></body></html>
+ + true + false @@ -275,7 +278,7 @@ p, li { white-space: pre-wrap; } QTextEdit::WidgetWidth - false + true Qt::TextBrowserInteraction From 5009a4e24310fa63d7a814ffa037dfc60b650248 Mon Sep 17 00:00:00 2001 From: Gioacchino Mazzurco Date: Fri, 8 Feb 2019 15:18:14 -0300 Subject: [PATCH 22/77] Better versioning for OBS --- build_scripts/OBS/get_source_version.sh | 14 ++++++++++++++ .../prepare_source_tarball.sh} | 0 2 files changed, 14 insertions(+) create mode 100755 build_scripts/OBS/get_source_version.sh rename build_scripts/{prepare_OBS_source_tarbal.sh => OBS/prepare_source_tarball.sh} (100%) diff --git a/build_scripts/OBS/get_source_version.sh b/build_scripts/OBS/get_source_version.sh new file mode 100755 index 000000000..59b171a58 --- /dev/null +++ b/build_scripts/OBS/get_source_version.sh @@ -0,0 +1,14 @@ +#!/bin/bash + +SOURCE_VERSION_FILE="$( dirname "${BASH_SOURCE[0]}" )/../../Source_Version" + +VERSION_MAJOR="$(cat "${SOURCE_VERSION_FILE}" | awk -F. '{print $1}')" +VERSION_MAJOR="${VERSION_MAJOR:1}" + +VERSION_MINOR="$(cat "${SOURCE_VERSION_FILE}" | awk -F. '{print $2}')" + +VERSION_MINI="$(cat "${SOURCE_VERSION_FILE}" | awk -F. '{print $3}' | awk -F- '{print $1}')" + +VERSION_EXTRA="$(cat "${SOURCE_VERSION_FILE}" | awk -F- '{print "-"$2"-"$3"-OBS"}')" + +echo RS_MAJOR_VERSION=${VERSION_MAJOR} RS_MINOR_VERSION=${VERSION_MINOR} RS_MINI_VERSION=${VERSION_MINI} RS_EXTRA_VERSION=\"${VERSION_EXTRA}\" diff --git a/build_scripts/prepare_OBS_source_tarbal.sh b/build_scripts/OBS/prepare_source_tarball.sh similarity index 100% rename from build_scripts/prepare_OBS_source_tarbal.sh rename to build_scripts/OBS/prepare_source_tarball.sh From 8502b7d8fffb2b7263b100c8819b5d41d487f279 Mon Sep 17 00:00:00 2001 From: defnax Date: Sun, 10 Feb 2019 14:14:59 +0100 Subject: [PATCH 23/77] fix ui width & height back to normal size --- retroshare-gui/src/gui/Circles/CreateCircleDialog.ui | 4 ++-- retroshare-gui/src/gui/GenCertDialog.ui | 4 ++-- retroshare-gui/src/gui/ShareManager.ui | 4 ++-- retroshare-gui/src/gui/common/RsCollectionDialog.ui | 4 ++-- retroshare-gui/src/gui/connect/ConfCertDialog.ui | 6 +++--- retroshare-gui/src/gui/connect/ConnectFriendWizard.ui | 4 ++-- retroshare-gui/src/gui/connect/FriendRecommendDialog.ui | 4 ++-- retroshare-gui/src/gui/connect/PGPKeyDialog.ui | 6 +++--- retroshare-gui/src/gui/msgs/MessageComposer.ui | 8 ++++---- 9 files changed, 22 insertions(+), 22 deletions(-) diff --git a/retroshare-gui/src/gui/Circles/CreateCircleDialog.ui b/retroshare-gui/src/gui/Circles/CreateCircleDialog.ui index f90effb34..8e3b5ed2e 100644 --- a/retroshare-gui/src/gui/Circles/CreateCircleDialog.ui +++ b/retroshare-gui/src/gui/Circles/CreateCircleDialog.ui @@ -6,8 +6,8 @@ 0 0 - 951 - 578 + 600 + 500 diff --git a/retroshare-gui/src/gui/GenCertDialog.ui b/retroshare-gui/src/gui/GenCertDialog.ui index 6c030db02..c81306be2 100644 --- a/retroshare-gui/src/gui/GenCertDialog.ui +++ b/retroshare-gui/src/gui/GenCertDialog.ui @@ -6,8 +6,8 @@ 0 0 - 978 - 826 + 633 + 506 diff --git a/retroshare-gui/src/gui/ShareManager.ui b/retroshare-gui/src/gui/ShareManager.ui index 88a7030c9..e20074f9a 100644 --- a/retroshare-gui/src/gui/ShareManager.ui +++ b/retroshare-gui/src/gui/ShareManager.ui @@ -6,8 +6,8 @@ 0 0 - 1210 - 334 + 600 + 400 diff --git a/retroshare-gui/src/gui/common/RsCollectionDialog.ui b/retroshare-gui/src/gui/common/RsCollectionDialog.ui index 7595413ca..8b72f68e5 100644 --- a/retroshare-gui/src/gui/common/RsCollectionDialog.ui +++ b/retroshare-gui/src/gui/common/RsCollectionDialog.ui @@ -6,8 +6,8 @@ 0 0 - 978 - 778 + 600 + 400 diff --git a/retroshare-gui/src/gui/connect/ConfCertDialog.ui b/retroshare-gui/src/gui/connect/ConfCertDialog.ui index 6a7082e17..324f0fcb8 100644 --- a/retroshare-gui/src/gui/connect/ConfCertDialog.ui +++ b/retroshare-gui/src/gui/connect/ConfCertDialog.ui @@ -6,8 +6,8 @@ 0 0 - 1104 - 1120 + 600 + 584 @@ -69,7 +69,7 @@ - 1 + 0 diff --git a/retroshare-gui/src/gui/connect/ConnectFriendWizard.ui b/retroshare-gui/src/gui/connect/ConnectFriendWizard.ui index 7a8dc8ee5..051e7f979 100644 --- a/retroshare-gui/src/gui/connect/ConnectFriendWizard.ui +++ b/retroshare-gui/src/gui/connect/ConnectFriendWizard.ui @@ -6,8 +6,8 @@ 0 0 - 1157 - 873 + 600 + 400 diff --git a/retroshare-gui/src/gui/connect/FriendRecommendDialog.ui b/retroshare-gui/src/gui/connect/FriendRecommendDialog.ui index 567d24e92..ba1dea863 100644 --- a/retroshare-gui/src/gui/connect/FriendRecommendDialog.ui +++ b/retroshare-gui/src/gui/connect/FriendRecommendDialog.ui @@ -6,8 +6,8 @@ 0 0 - 1398 - 774 + 600 + 400 diff --git a/retroshare-gui/src/gui/connect/PGPKeyDialog.ui b/retroshare-gui/src/gui/connect/PGPKeyDialog.ui index 81308a307..cbab657c4 100644 --- a/retroshare-gui/src/gui/connect/PGPKeyDialog.ui +++ b/retroshare-gui/src/gui/connect/PGPKeyDialog.ui @@ -6,8 +6,8 @@ 0 0 - 1071 - 718 + 600 + 500 @@ -27,7 +27,7 @@ - 1 + 0 diff --git a/retroshare-gui/src/gui/msgs/MessageComposer.ui b/retroshare-gui/src/gui/msgs/MessageComposer.ui index 1d8813aa8..fb99b5b23 100644 --- a/retroshare-gui/src/gui/msgs/MessageComposer.ui +++ b/retroshare-gui/src/gui/msgs/MessageComposer.ui @@ -6,8 +6,8 @@ 0 0 - 936 - 714 + 896 + 706 @@ -1120,8 +1120,8 @@ border-image: url(:/images/closepressed.png) 0 0 - 936 - 19 + 896 + 21 From e9d817e1264853055a4a2e29295cda3e590c3fba Mon Sep 17 00:00:00 2001 From: Gioacchino Mazzurco Date: Sun, 10 Feb 2019 11:46:17 -0300 Subject: [PATCH 24/77] Make it possible to choose at compile time UPnP library to use --- retroshare.pri | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/retroshare.pri b/retroshare.pri index 561d1d952..be9951915 100644 --- a/retroshare.pri +++ b/retroshare.pri @@ -192,6 +192,16 @@ rs_use_native_dialogs:CONFIG -= no_rs_use_native_dialogs # assignation to qmake command line 'RS_EXTRA_VERSION=""' #RS_EXTRA_VERSION=git +# Specify threading library to use appending the following assignation to qmake +# commandline 'RS_THREAD_LIB=pthread' the name of the multi threading library to +# use (pthread, "") usually depends on platform. +isEmpty(RS_THREAD_LIB):RS_THREAD_LIB = pthread + +# Specify UPnP library to use appending the following assignation to qmake +# command line 'RS_UPNP_LIB=miniupnpc' the name of the UPNP library to use +# (miniupnpc, "upnp ixml threadutil") usually depends on platform. +isEmpty(RS_UPNP_LIB):RS_UPNP_LIB = upnp ixml threadutil + ########################################################################################################################################################### # # V07_NON_BACKWARD_COMPATIBLE_CHANGE_001: @@ -325,10 +335,6 @@ defineReplace(linkDynamicLibs) { ## RS_SQL_LIB String viariable containing the name of the SQL library to use ## ("sqlcipher sqlite3", sqlite3) it is usually precalculated depending on ## CONFIG. -## RS_UPNP_LIB String viariable containing the name of the UPNP library to use -## (miniupnpc, "upnp ixml threadutil") it usually depend on platform. -## RS_THREAD_LIB String viariable containing the name of the multi threading -## library to use (pthread, "") it usually depend on platform. isEmpty(QMAKE_HOST_SPEC):QMAKE_HOST_SPEC=$$[QMAKE_SPEC] isEmpty(QMAKE_TARGET_SPEC):QMAKE_TARGET_SPEC=$$[QMAKE_XSPEC] @@ -392,8 +398,6 @@ rs_gxs_send_all:DEFINES *= RS_GXS_SEND_ALL libresapilocalserver:DEFINES *= LIBRESAPI_LOCAL_SERVER libresapi_settings:DEFINES *= LIBRESAPI_SETTINGS libresapihttpserver:DEFINES *= ENABLE_WEBUI -RS_THREAD_LIB=pthread -RS_UPNP_LIB = upnp ixml threadutil sqlcipher { DEFINES -= NO_SQLCIPHER From 54e3ca3485b6c5a4938c55d99b1a353e59bc0399 Mon Sep 17 00:00:00 2001 From: defnax Date: Sun, 10 Feb 2019 18:50:48 +0100 Subject: [PATCH 25/77] Hide Site labels when theres is no link --- retroshare-gui/src/gui/Posted/PostedItem.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/retroshare-gui/src/gui/Posted/PostedItem.cpp b/retroshare-gui/src/gui/Posted/PostedItem.cpp index 4a38c2a5a..efa2de784 100644 --- a/retroshare-gui/src/gui/Posted/PostedItem.cpp +++ b/retroshare-gui/src/gui/Posted/PostedItem.cpp @@ -298,6 +298,12 @@ void PostedItem::fill() ui->titleLabel->setText(messageName()); } + + if(urlarray == NULL) + { + ui->siteLabel->hide(); + ui->siteBoldLabel->hide(); + } ui->siteLabel->setText(sitestr); From a96310d45e2abf7704ff48d3c52beda64de736f0 Mon Sep 17 00:00:00 2001 From: Gioacchino Mazzurco Date: Sun, 10 Feb 2019 15:43:28 -0300 Subject: [PATCH 26/77] Avoid depending on libupnp on linux if it is not used --- libretroshare/src/libretroshare.pro | 28 +++------------------------- 1 file changed, 3 insertions(+), 25 deletions(-) diff --git a/libretroshare/src/libretroshare.pro b/libretroshare/src/libretroshare.pro index 2b2428390..22d2d1235 100644 --- a/libretroshare/src/libretroshare.pro +++ b/libretroshare/src/libretroshare.pro @@ -193,12 +193,6 @@ linux-* { } } - #CONFIG += version_detail_bash_script - - # linux/bsd can use either - libupnp is more complete and packaged. - #CONFIG += upnp_miniupnpc - CONFIG += upnp_libupnp - # Check if the systems libupnp has been Debian-patched system(grep -E 'char[[:space:]]+PublisherUrl' /usr/include/upnp/upnp.h >/dev/null 2>&1) { # Normal libupnp @@ -207,8 +201,9 @@ linux-* { DEFINES *= PATCHED_LIBUPNP } - PKGCONFIG *= libssl libupnp - PKGCONFIG *= libcrypto zlib + PKGCONFIG *= libssl + equals(RS_UPNP_LIB, "upnp ixml threadutil"):PKGCONFIG *= libupnp + PKGCONFIG *= libcrypto zlib no_sqlcipher:PKGCONFIG *= sqlite3 LIBS *= -ldl @@ -240,8 +235,6 @@ win32-x-g++ { QMAKE_AR = i586-mingw32msvc-ar DEFINES *= STATICLIB WIN32 - CONFIG += upnp_miniupnpc - SSL_DIR=../../../../openssl UPNPC_DIR = ../../../../miniupnpc-1.3 GPG_ERROR_DIR = ../../../../libgpg-error-1.7 @@ -309,10 +302,6 @@ freebsd-* { INCLUDEPATH *= /usr/local/include/glib-2.0 QMAKE_CXXFLAGS *= -Dfseeko64=fseeko -Dftello64=ftello -Dstat64=stat -Dstatvfs64=statvfs -Dfopen64=fopen - - # linux/bsd can use either - libupnp is more complete and packaged. - #CONFIG += upnp_miniupnpc - CONFIG += upnp_libupnp } ################################# OpenBSD ########################################## @@ -322,8 +311,6 @@ openbsd-* { INCLUDEPATH += $$system(pkg-config --cflags glib-2.0 | sed -e "s/-I//g") QMAKE_CXXFLAGS *= -Dfseeko64=fseeko -Dftello64=ftello -Dstat64=stat -Dstatvfs64=statvfs -Dfopen64=fopen - - CONFIG += upnp_libupnp } ################################# Haiku ########################################## @@ -335,7 +322,6 @@ haiku-* { INCLUDEPATH *= $${OPENPGPSDK_DIR} ../openpgpsdk DEFINES *= NO_SQLCIPHER CONFIG += release - CONFIG += upnp_libupnp DESTDIR = lib } @@ -661,12 +647,6 @@ SOURCES += util/folderiterator.cc \ util/rstime.cc \ util/rsurl.cc -## Added for retrocompatibility remove ASAP -isEmpty(RS_UPNP_LIB) { - upnp_miniupnpc:RS_UPNP_LIB=miniupnpc - upnp_libupnp:RS_UPNP_LIB="upnp ixml threadutil" -} - equals(RS_UPNP_LIB, miniupnpc) { HEADERS += upnp/upnputil.h upnp/upnphandler_miniupnp.h SOURCES += upnp/upnputil.c upnp/upnphandler_miniupnp.cc @@ -676,8 +656,6 @@ equals(RS_UPNP_LIB, miniupnpc) { DEFINES *= RS_USE_LIBUPNP } - - zeroconf { HEADERS += zeroconf/p3zeroconf.h \ From 5bb0fc48b05e6d30d493d72447b4d9e388b4464a Mon Sep 17 00:00:00 2001 From: defnax Date: Sun, 10 Feb 2019 19:59:43 +0100 Subject: [PATCH 27/77] removed hide label seems get concflicts on github check --- retroshare-gui/src/gui/Posted/PostedItem.cpp | 6 ------ 1 file changed, 6 deletions(-) diff --git a/retroshare-gui/src/gui/Posted/PostedItem.cpp b/retroshare-gui/src/gui/Posted/PostedItem.cpp index efa2de784..4a38c2a5a 100644 --- a/retroshare-gui/src/gui/Posted/PostedItem.cpp +++ b/retroshare-gui/src/gui/Posted/PostedItem.cpp @@ -298,12 +298,6 @@ void PostedItem::fill() ui->titleLabel->setText(messageName()); } - - if(urlarray == NULL) - { - ui->siteLabel->hide(); - ui->siteBoldLabel->hide(); - } ui->siteLabel->setText(sitestr); From 019233e840007a9a2ccc66c2e29fcccfc62ed8c0 Mon Sep 17 00:00:00 2001 From: defnax Date: Sun, 10 Feb 2019 20:52:25 +0100 Subject: [PATCH 28/77] fixed subscribe buttons stylesheet --- retroshare-gui/src/gui/qss/stylesheet/Standard.qss | 2 ++ 1 file changed, 2 insertions(+) diff --git a/retroshare-gui/src/gui/qss/stylesheet/Standard.qss b/retroshare-gui/src/gui/qss/stylesheet/Standard.qss index cbdb5a81c..c85128bf8 100644 --- a/retroshare-gui/src/gui/qss/stylesheet/Standard.qss +++ b/retroshare-gui/src/gui/qss/stylesheet/Standard.qss @@ -781,6 +781,7 @@ GxsForumThreadWidget QToolButton#subscribeToolButton { color: white; background: #0099cc; border-radius: 4px; + max-height: 27px; } GxsForumThreadWidget QToolButton#subscribeToolButton:hover { @@ -869,6 +870,7 @@ PostedListWidget QToolButton#subscribeToolButton { color: white; background: #0099cc; border-radius: 4px; + max-height: 27px; } PostedListWidget QToolButton#subscribeToolButton:hover { From 3f2a1d52c2d3e4fb63671d68b8cf851fb088b26e Mon Sep 17 00:00:00 2001 From: Gioacchino Mazzurco Date: Mon, 11 Feb 2019 10:54:33 -0300 Subject: [PATCH 29/77] Update open build service recipes --- .../retroshare-service-git/appimage.yml | 30 - .../retroshare-service-git/debian.changelog | 5 - build_scripts/OBS/.gitignore | 2 + .../OBS/network:retroshare/.osc/_apiurl | 1 + .../OBS/network:retroshare/.osc/_packages | 11 + .../OBS/network:retroshare/.osc/_project | 1 + .../libupnp_centos/_service | 7 + .../libupnp_centos/libupnp.spec | 185 + .../retroshare-gui-0.6.4/PKGBUILD | 39 + .../retroshare-gui-0.6.4/_service | 4 + .../retroshare-gui-0.6.4/appimage.yml | 32 + .../retroshare-gui-0.6.4/debian.changelog | 3278 +++++++++++++++++ .../retroshare-gui-0.6.4}/debian.compat | 0 .../retroshare-gui-0.6.4/debian.control | 29 + .../debian.retroshare-nogui.install | 3 + .../debian.retroshare.install | 6 + .../retroshare-gui-0.6.4/debian.rules | 53 + .../retroshare-gui-0.6.4}/debian.series | 0 .../retroshare-gui-0.6.4/retroshare.dsc | 13 + .../retroshare-gui-0.6.4/retroshare.spec | 124 + .../retroshare-gui-0.6.5/PKGBUILD | 48 + .../retroshare-gui-0.6.5/appimage.yml | 37 + .../retroshare-gui-0.6.5/debian.changelog | 5 + .../retroshare-gui-0.6.5/debian.compat | 1 + .../retroshare-gui-0.6.5/debian.control | 17 + .../debian.retroshare.install | 5 + .../retroshare-gui-0.6.5/debian.rules | 69 + .../retroshare-gui-0.6.5/debian.series | 0 .../retroshare-gui-0.6.5/retroshare.dsc | 11 + .../retroshare-gui-0.6.5/retroshare.spec | 151 + .../retroshare-gui-unstable/PKGBUILD | 47 + .../retroshare-gui-unstable/appimage.yml | 37 + .../retroshare-gui-unstable/debian.changelog | 5 + .../retroshare-gui-unstable/debian.compat | 1 + .../retroshare-gui-unstable/debian.control | 17 + .../debian.retroshare-gui-unstable.install | 5 + .../retroshare-gui-unstable/debian.rules | 68 + .../retroshare-gui-unstable/debian.series | 0 .../retroshare-gui-unstable.dsc | 11 + .../retroshare-gui-unstable.spec | 126 + .../retroshare-service-0.6.5}/PKGBUILD | 22 +- .../retroshare-service-0.6.5/appimage.yml | 31 + .../retroshare-service-0.6.5/debian.changelog | 5 + .../retroshare-service-0.6.5/debian.compat | 1 + .../retroshare-service-0.6.5}/debian.control | 6 +- .../debian.retroshare-service.install} | 0 .../retroshare-service-0.6.5/debian.rules | 61 + .../retroshare-service-0.6.5/debian.series | 0 .../retroshare-service.dsc | 11 + .../retroshare-service.spec | 144 + .../retroshare-service-unstable/PKGBUILD | 47 + .../retroshare-service-unstable/appimage.yml | 31 + .../debian.changelog | 5 + .../retroshare-service-unstable/debian.compat | 1 + .../debian.control | 18 + ...debian.retroshare-service-unstable.install | 2 + .../retroshare-service-unstable}/debian.rules | 2 + .../retroshare-service-unstable/debian.series | 0 .../retroshare-service-unstable.dsc} | 8 +- .../retroshare-service-unstable.spec} | 27 +- .../sqlcipher_centos/get-from-git.sh | 28 + .../sqlcipher_centos/sqlcipher.changes | 30 + .../sqlcipher_centos/sqlcipher.spec | 95 + .../sqlcipher_debian/sqlcipher_3.2.0-1.dsc | 48 + .../sqlcipher_debian9/sqlcipher_3.4.1-1.dsc | 48 + build_scripts/OBS/prepare_source_tarball.sh | 26 +- 66 files changed, 5111 insertions(+), 70 deletions(-) delete mode 100644 build_scripts/AppImage_OBS/retroshare-service-git/appimage.yml delete mode 100644 build_scripts/DebianAndDerivatives_OBS/retroshare-service-git/debian.changelog create mode 100644 build_scripts/OBS/.gitignore create mode 100644 build_scripts/OBS/network:retroshare/.osc/_apiurl create mode 100644 build_scripts/OBS/network:retroshare/.osc/_packages create mode 100644 build_scripts/OBS/network:retroshare/.osc/_project create mode 100644 build_scripts/OBS/network:retroshare/libupnp_centos/_service create mode 100644 build_scripts/OBS/network:retroshare/libupnp_centos/libupnp.spec create mode 100644 build_scripts/OBS/network:retroshare/retroshare-gui-0.6.4/PKGBUILD create mode 100644 build_scripts/OBS/network:retroshare/retroshare-gui-0.6.4/_service create mode 100644 build_scripts/OBS/network:retroshare/retroshare-gui-0.6.4/appimage.yml create mode 100644 build_scripts/OBS/network:retroshare/retroshare-gui-0.6.4/debian.changelog rename build_scripts/{DebianAndDerivatives_OBS/retroshare-service-git => OBS/network:retroshare/retroshare-gui-0.6.4}/debian.compat (100%) create mode 100644 build_scripts/OBS/network:retroshare/retroshare-gui-0.6.4/debian.control create mode 100644 build_scripts/OBS/network:retroshare/retroshare-gui-0.6.4/debian.retroshare-nogui.install create mode 100644 build_scripts/OBS/network:retroshare/retroshare-gui-0.6.4/debian.retroshare.install create mode 100644 build_scripts/OBS/network:retroshare/retroshare-gui-0.6.4/debian.rules rename build_scripts/{DebianAndDerivatives_OBS/retroshare-service-git => OBS/network:retroshare/retroshare-gui-0.6.4}/debian.series (100%) create mode 100644 build_scripts/OBS/network:retroshare/retroshare-gui-0.6.4/retroshare.dsc create mode 100644 build_scripts/OBS/network:retroshare/retroshare-gui-0.6.4/retroshare.spec create mode 100644 build_scripts/OBS/network:retroshare/retroshare-gui-0.6.5/PKGBUILD create mode 100644 build_scripts/OBS/network:retroshare/retroshare-gui-0.6.5/appimage.yml create mode 100644 build_scripts/OBS/network:retroshare/retroshare-gui-0.6.5/debian.changelog create mode 100644 build_scripts/OBS/network:retroshare/retroshare-gui-0.6.5/debian.compat create mode 100644 build_scripts/OBS/network:retroshare/retroshare-gui-0.6.5/debian.control create mode 100644 build_scripts/OBS/network:retroshare/retroshare-gui-0.6.5/debian.retroshare.install create mode 100644 build_scripts/OBS/network:retroshare/retroshare-gui-0.6.5/debian.rules create mode 100644 build_scripts/OBS/network:retroshare/retroshare-gui-0.6.5/debian.series create mode 100644 build_scripts/OBS/network:retroshare/retroshare-gui-0.6.5/retroshare.dsc create mode 100644 build_scripts/OBS/network:retroshare/retroshare-gui-0.6.5/retroshare.spec create mode 100644 build_scripts/OBS/network:retroshare/retroshare-gui-unstable/PKGBUILD create mode 100644 build_scripts/OBS/network:retroshare/retroshare-gui-unstable/appimage.yml create mode 100644 build_scripts/OBS/network:retroshare/retroshare-gui-unstable/debian.changelog create mode 100644 build_scripts/OBS/network:retroshare/retroshare-gui-unstable/debian.compat create mode 100644 build_scripts/OBS/network:retroshare/retroshare-gui-unstable/debian.control create mode 100644 build_scripts/OBS/network:retroshare/retroshare-gui-unstable/debian.retroshare-gui-unstable.install create mode 100644 build_scripts/OBS/network:retroshare/retroshare-gui-unstable/debian.rules create mode 100644 build_scripts/OBS/network:retroshare/retroshare-gui-unstable/debian.series create mode 100644 build_scripts/OBS/network:retroshare/retroshare-gui-unstable/retroshare-gui-unstable.dsc create mode 100644 build_scripts/OBS/network:retroshare/retroshare-gui-unstable/retroshare-gui-unstable.spec rename build_scripts/{ArchLinuxAndDerivatives_OBS => OBS/network:retroshare/retroshare-service-0.6.5}/PKGBUILD (73%) create mode 100644 build_scripts/OBS/network:retroshare/retroshare-service-0.6.5/appimage.yml create mode 100644 build_scripts/OBS/network:retroshare/retroshare-service-0.6.5/debian.changelog create mode 100644 build_scripts/OBS/network:retroshare/retroshare-service-0.6.5/debian.compat rename build_scripts/{DebianAndDerivatives_OBS/retroshare-service-git => OBS/network:retroshare/retroshare-service-0.6.5}/debian.control (87%) rename build_scripts/{DebianAndDerivatives_OBS/retroshare-service-git/debian.retroshare-service-git.install => OBS/network:retroshare/retroshare-service-0.6.5/debian.retroshare-service.install} (100%) create mode 100644 build_scripts/OBS/network:retroshare/retroshare-service-0.6.5/debian.rules create mode 100644 build_scripts/OBS/network:retroshare/retroshare-service-0.6.5/debian.series create mode 100644 build_scripts/OBS/network:retroshare/retroshare-service-0.6.5/retroshare-service.dsc create mode 100644 build_scripts/OBS/network:retroshare/retroshare-service-0.6.5/retroshare-service.spec create mode 100644 build_scripts/OBS/network:retroshare/retroshare-service-unstable/PKGBUILD create mode 100644 build_scripts/OBS/network:retroshare/retroshare-service-unstable/appimage.yml create mode 100644 build_scripts/OBS/network:retroshare/retroshare-service-unstable/debian.changelog create mode 100644 build_scripts/OBS/network:retroshare/retroshare-service-unstable/debian.compat create mode 100644 build_scripts/OBS/network:retroshare/retroshare-service-unstable/debian.control create mode 100644 build_scripts/OBS/network:retroshare/retroshare-service-unstable/debian.retroshare-service-unstable.install rename build_scripts/{DebianAndDerivatives_OBS/retroshare-service-git => OBS/network:retroshare/retroshare-service-unstable}/debian.rules (92%) create mode 100644 build_scripts/OBS/network:retroshare/retroshare-service-unstable/debian.series rename build_scripts/{DebianAndDerivatives_OBS/retroshare-service-git/retroshare-service-git.dsc => OBS/network:retroshare/retroshare-service-unstable/retroshare-service-unstable.dsc} (64%) rename build_scripts/{RpmBased_OBS/retroshare-service-git.spec => OBS/network:retroshare/retroshare-service-unstable/retroshare-service-unstable.spec} (80%) create mode 100644 build_scripts/OBS/network:retroshare/sqlcipher_centos/get-from-git.sh create mode 100644 build_scripts/OBS/network:retroshare/sqlcipher_centos/sqlcipher.changes create mode 100644 build_scripts/OBS/network:retroshare/sqlcipher_centos/sqlcipher.spec create mode 100644 build_scripts/OBS/network:retroshare/sqlcipher_debian/sqlcipher_3.2.0-1.dsc create mode 100644 build_scripts/OBS/network:retroshare/sqlcipher_debian9/sqlcipher_3.4.1-1.dsc diff --git a/build_scripts/AppImage_OBS/retroshare-service-git/appimage.yml b/build_scripts/AppImage_OBS/retroshare-service-git/appimage.yml deleted file mode 100644 index d49dc9eea..000000000 --- a/build_scripts/AppImage_OBS/retroshare-service-git/appimage.yml +++ /dev/null @@ -1,30 +0,0 @@ -app: retroshare-service - -build: - packages: - - gcc7 - - gcc7-c++ - - libxapian-devel - - doxygen - - linuxdeployqt - - desktop-file-utils - - glib2-devel - - sqlcipher-devel - - libqt5-qtbase-devel - - libqt5-qttools-devel - - openssl-devel - - update-desktop-files - - libbz2-devel - - libupnp-devel - -script: - - cd $BUILD_SOURCE_DIR - - tar -xf RetroShare-git.tar.gz - - cd RetroShare-git - - ls $(which gcc)* - - ls $(which g++)* - - qmake-qt5 QMAKE_CC=gcc-7 QMAKE_CXX=g++-7 PREFIX=/usr CONFIG-=debug CONFIG+=release CONFIG+=no_retroshare_nogui CONFIG+=no_retroshare_plugins CONFIG+=no_retroshare_qml_app CONFIG+=no_retroshare_android_notify_service CONFIG+=no_retroshare_plugins CONFIG+=ipv6 CONFIG+=no_retroshare_nogui CONFIG+=no_tests CONFIG+=rs_jsonapi CONFIG+=no_retroshare_android_service CONFIG+=rs_deep_search CONFIG+=no_libresapilocalserver CONFIG+=no_retroshare_gui CONFIG+=no_libresapihttpserver CONFIG+=retroshare_service CONFIG+=no_libresapi CONFIG+=c++11 CONFIG+=appimage - - make -j$(nproc) || make -j$(nproc) || make - - make INSTALL_ROOT=$BUILD_APPDIR install - - unset QTDIR; unset QT_PLUGIN_PATH ; unset LD_LIBRARY_PATH - - linuxdeployqt $BUILD_APPDIR/usr/share/applications/*.desktop -bundle-non-qt-libs -verbose=3 -no-strip \ No newline at end of file diff --git a/build_scripts/DebianAndDerivatives_OBS/retroshare-service-git/debian.changelog b/build_scripts/DebianAndDerivatives_OBS/retroshare-service-git/debian.changelog deleted file mode 100644 index 92f41bd59..000000000 --- a/build_scripts/DebianAndDerivatives_OBS/retroshare-service-git/debian.changelog +++ /dev/null @@ -1,5 +0,0 @@ -retroshare-service-git (0.6.9999) stable; urgency=low - - Add retroshare-service-git package - - -- Gioacchino Mazzurco Tue, 08 Oct 2018 15:40:00 +0100 diff --git a/build_scripts/OBS/.gitignore b/build_scripts/OBS/.gitignore new file mode 100644 index 000000000..a2dc033a3 --- /dev/null +++ b/build_scripts/OBS/.gitignore @@ -0,0 +1,2 @@ +network\:retroshare/*/*.tar.* +network\:retroshare/*/.osc/* diff --git a/build_scripts/OBS/network:retroshare/.osc/_apiurl b/build_scripts/OBS/network:retroshare/.osc/_apiurl new file mode 100644 index 000000000..e10ef33c1 --- /dev/null +++ b/build_scripts/OBS/network:retroshare/.osc/_apiurl @@ -0,0 +1 @@ +https://api.opensuse.org diff --git a/build_scripts/OBS/network:retroshare/.osc/_packages b/build_scripts/OBS/network:retroshare/.osc/_packages new file mode 100644 index 000000000..457a4e66f --- /dev/null +++ b/build_scripts/OBS/network:retroshare/.osc/_packages @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/build_scripts/OBS/network:retroshare/.osc/_project b/build_scripts/OBS/network:retroshare/.osc/_project new file mode 100644 index 000000000..7cfd187f8 --- /dev/null +++ b/build_scripts/OBS/network:retroshare/.osc/_project @@ -0,0 +1 @@ +network:retroshare diff --git a/build_scripts/OBS/network:retroshare/libupnp_centos/_service b/build_scripts/OBS/network:retroshare/libupnp_centos/_service new file mode 100644 index 000000000..df48070b2 --- /dev/null +++ b/build_scripts/OBS/network:retroshare/libupnp_centos/_service @@ -0,0 +1,7 @@ + + + downloads.sourceforge.net + http + /project/pupnp/pupnp/libUPnP%201.6.19/libupnp-1.6.19.tar.bz2 + + \ No newline at end of file diff --git a/build_scripts/OBS/network:retroshare/libupnp_centos/libupnp.spec b/build_scripts/OBS/network:retroshare/libupnp_centos/libupnp.spec new file mode 100644 index 000000000..6bbbc71be --- /dev/null +++ b/build_scripts/OBS/network:retroshare/libupnp_centos/libupnp.spec @@ -0,0 +1,185 @@ +Version: 1.6.19 +Summary: Universal Plug and Play (UPnP) SDK +Name: libupnp +Release: 2%{?dist} +License: BSD +Group: System Environment/Libraries +URL: http://www.libupnp.org/ +Source: http://downloads.sourceforge.net/pupnp/%{name}-%{version}.tar.bz2 + +%define docdeveldir %{_docdir}/%{name}-devel-%{version} +%define docdir %{_docdir}/%{name}-%{version} + +%description +The Universal Plug and Play (UPnP) SDK for Linux provides +support for building UPnP-compliant control points, devices, +and bridges on Linux. + +%package devel +Group: Development/Libraries +Summary: Include files needed for development with libupnp +Requires: libupnp = %{version}-%{release} + +%description devel +The libupnp-devel package contains the files necessary for development with +the UPnP SDK libraries. + +%prep +%setup -q + +%build +%configure --enable-static=no --enable-ipv6 +make %{?_smp_mflags} + +%install +test "$RPM_BUILD_ROOT" != "/" && rm -rf $RPM_BUILD_ROOT +make install DESTDIR=$RPM_BUILD_ROOT + +%{__rm} %{buildroot}%{_libdir}/{libixml.la,libthreadutil.la,libupnp.la} + +%post -p /sbin/ldconfig + +%postun -p /sbin/ldconfig + +%files +%defattr(-,root,root,-) +%doc LICENSE THANKS +%{_libdir}/libixml.so.2* +%{_libdir}/libthreadutil.so.6* +%{_libdir}/libupnp.so.6* + +%files devel +%defattr(0644,root,root,0755) +#doc _devel_docs/* +%{_includedir}/upnp/ +%{_libdir}/libixml.so +%{_libdir}/libthreadutil.so +%{_libdir}/libupnp.so +%{_libdir}/pkgconfig/libupnp.pc + +%clean +rm -rf %{buildroot} + +%changelog +* Sat Jun 07 2014 Fedora Release Engineering - 1.6.19-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Mon Dec 09 2013 Adam Jackson 1.6.19-1 +- libupnp 1.6.19 +- Build with --enable-ipv6 (#917210) + +* Sun Oct 27 2013 Ville Skyttä - 1.6.18-4 +- Adapt to possibly unversioned doc dirs. +- Include LICENSE and THANKS in main package. + +* Sat Aug 03 2013 Fedora Release Engineering - 1.6.18-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Tue Jan 29 2013 Adam Jackson 1.6.18-1 +- libupnp 1.6.18 (#905577) + +* Tue Oct 16 2012 Adam Jackson 1.6.17-1 +- libupnp 1.6.17 + +* Thu Jul 19 2012 Fedora Release Engineering - 1.6.13-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Fri Jan 13 2012 Fedora Release Engineering - 1.6.13-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Sat Jul 30 2011 Matěj Cepl - 1.6.13-2 +- Rebuilt against new libraries. + +* Tue May 31 2011 Adam Jackson 1.6.13-1 +- libupnp 1.6.13 + +* Tue Feb 08 2011 Fedora Release Engineering - 1.6.6-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Sat Jul 25 2009 Fedora Release Engineering - 1.6.6-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Wed Feb 25 2009 Fedora Release Engineering - 1.6.6-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + +* Thu May 01 2008 Eric Tanguy - 1.6.6-1 +- Update to version 1.6.6 + +* Sun Feb 03 2008 Eric Tanguy - 1.6.5-1 +- Update to version 1.6.5 + +* Sun Jan 27 2008 Eric Tanguy - 1.6.4-1 +- Update to version 1.6.4 + +* Fri Jan 04 2008 Eric Tanguy - 1.6.3-3 +- No more building static library + +* Sun Dec 30 2007 Eric Tanguy - 1.6.3-2 +- Spec file cleanup + +* Sun Dec 30 2007 Eric Tanguy - 1.6.3-1 +- Update to version 1.6.3 + +* Thu Dec 13 2007 Eric Tanguy - 1.6.2-1 +- Update to version 1.6.2 + +* Sun Nov 18 2007 Eric Tanguy - 1.6.1-1 +- Update to version 1.6.1 + +* Wed Aug 29 2007 Fedora Release Engineering - 1.6.0-2 +- Rebuild for selinux ppc32 issue. + +* Wed Jun 13 2007 Eric Tanguy - 1.6.0-1 +- Update to version 1.6.0 + +* Tue May 01 2007 Eric Tanguy - 1.4.6-1 +- Update to version 1.4.6 + +* Sat Apr 21 2007 Eric Tanguy - 1.4.4-1 +- Update to version 1.4.4 + +* Tue Mar 06 2007 Eric Tanguy - 1.4.3-1 +- Update to version 1.4.3 + +* Fri Feb 02 2007 Eric Tanguy - 1.4.2-1 +- Update to version 1.4.2 + +* Wed Jul 05 2006 Eric Tanguy - 1.4.1-1 +- Update to version 1.4.1 + +* Fri Jun 23 2006 Eric Tanguy - 1.4.0-3 +- modified patch for x86_64 arch + +* Fri Jun 23 2006 Eric Tanguy - 1.4.0-2 +- Add a patch for x86_64 arch + +* Sun Jun 11 2006 Eric Tanguy - 1.4.0-1 +- Update to 1.4.0 + +* Sun Mar 05 2006 Eric Tanguy - 1.3.1-1 +- Update to 1.3.1 + +* Tue Feb 14 2006 Eric Tanguy - 1.2.1a-6 +- Rebuild for FC5 + +* Fri Feb 10 2006 Eric Tanguy - 1.2.1a-5 +- Rebuild for FC5 + +* Mon Jan 9 2006 Eric Tanguy 1.2.1a-4 +- Include libupnp.so symlink in package to take care of non versioning of libupnp.so.1.2.1 + +* Sun Jan 8 2006 Paul Howarth 1.2.1a-3 +- Disable stripping of object code for sane debuginfo generation +- Edit makefiles to hnnor RPM optflags +- Install libraries in %%{_libdir} rather than hardcoded /usr/lib +- Fix libupnp.so symlink +- Own directory %%{_includedir}/upnp +- Fix permissions in -devel package + +* Fri Jan 06 2006 Eric Tanguy 1.2.1a-2 +- Use 'install -p' to preserve timestamps +- Devel now require full version-release of main package + +* Thu Dec 22 2005 Eric Tanguy 1.2.1a-1 +- Modify spec file from +http://rpm.pbone.net/index.php3/stat/4/idpl/2378737/com/libupnp-1.2.1a_DSM320-3.i386.rpm.html diff --git a/build_scripts/OBS/network:retroshare/retroshare-gui-0.6.4/PKGBUILD b/build_scripts/OBS/network:retroshare/retroshare-gui-0.6.4/PKGBUILD new file mode 100644 index 000000000..ced598c80 --- /dev/null +++ b/build_scripts/OBS/network:retroshare/retroshare-gui-0.6.4/PKGBUILD @@ -0,0 +1,39 @@ +# Maintainer: Gioacchino Mazzurco +# Contributor: AsamK +# Contributor: sehraf +# Contributor: stqn +# Contributor: JHeaton +# Contributor: Tristero +# Contributor: funkyou + +pkgname=retroshare +pkgver=0.6.4 +pkgrel=0 +pkgdesc="Serverless encrypted instant messenger with filesharing, chatgroups, e-mail." +arch=('i686' 'x86_64' 'armv6h' 'armv7h') +url="https://retroshare.net/" +license=('AGPL' 'GPL' 'LGPL') +depends=('gtk-update-icon-cache' 'desktop-file-utils' 'qt5-x11extras' 'qt5-multimedia' 'libupnp' 'libgnome-keyring' 'libxss' 'libmicrohttpd' 'sqlcipher' 'curl' 'libxslt') +makedepends=('qt5-tools') +provides=('retroshare') +conflicts=('retroshare-git') + +source=(RetroShare-${pkgver}.tar.gz) + +md5sums=('392c36bb3171fa26b8702e0a984d5bd6') + +prepare() { + cd "${srcdir}/RetroShare-${pkgver}" + sed -i '/VOIP \\/d' plugins/plugins.pro +} + +build() { + cd "${srcdir}/RetroShare-${pkgver}" + qmake-qt5 PREFIX=/usr DATA_DIR=/usr/share/retroshare "CONFIG-=debug" "CONFIG*=release" "CONFIG+=no_retroshare_plugins" + make +} + +package() { + cd "${srcdir}/RetroShare-${pkgver}" + make INSTALL_ROOT="${pkgdir}" install +} diff --git a/build_scripts/OBS/network:retroshare/retroshare-gui-0.6.4/_service b/build_scripts/OBS/network:retroshare/retroshare-gui-0.6.4/_service new file mode 100644 index 000000000..4520e33a7 --- /dev/null +++ b/build_scripts/OBS/network:retroshare/retroshare-gui-0.6.4/_service @@ -0,0 +1,4 @@ + + + + diff --git a/build_scripts/OBS/network:retroshare/retroshare-gui-0.6.4/appimage.yml b/build_scripts/OBS/network:retroshare/retroshare-gui-0.6.4/appimage.yml new file mode 100644 index 000000000..cde82dc00 --- /dev/null +++ b/build_scripts/OBS/network:retroshare/retroshare-gui-0.6.4/appimage.yml @@ -0,0 +1,32 @@ +app: retroshare-gui-0.6.4 + +build: + packages: + - linuxdeployqt + - desktop-file-utils + - glib2-devel + - sqlcipher-devel + - libmicrohttpd-devel + - libqt5-qtbase-devel + - libqt5-qtx11extras-devel + - libqt5-qtmultimedia-devel + - libqt5-qttools-devel + - openssl-devel + - libXScrnSaver-devel + - update-desktop-files + - libbz2-devel + - libupnp-devel + +script: + - cd $BUILD_SOURCE_DIR + - tar -xf RetroShare-0.6.4.tar.gz + - cd RetroShare-0.6.4 + - sed -i 's/retroshare.xpm/retroshare/' data/retroshare.desktop + - sed -i 's|/usr/bin/retroshare|retroshare|' data/retroshare.desktop + - qmake-qt5 PREFIX=/usr CONFIG-=debug CONFIG+=release CONFIG+=no_retroshare_nogui CONFIG+=no_retroshare_plugins + - make + - make INSTALL_ROOT=$BUILD_APPDIR install + - unset QTDIR; unset QT_PLUGIN_PATH ; unset LD_LIBRARY_PATH + - linuxdeployqt $BUILD_APPDIR/usr/share/applications/*.desktop -no-strip -bundle-non-qt-libs -verbose=3 + +# Adding -no-strip to linuxdeployqt may fix "no version information available" bug on raspbian see https://github.com/probonopd/linuxdeployqt/issues/313 \ No newline at end of file diff --git a/build_scripts/OBS/network:retroshare/retroshare-gui-0.6.4/debian.changelog b/build_scripts/OBS/network:retroshare/retroshare-gui-0.6.4/debian.changelog new file mode 100644 index 000000000..ee5b4e7f4 --- /dev/null +++ b/build_scripts/OBS/network:retroshare/retroshare-gui-0.6.4/debian.changelog @@ -0,0 +1,3278 @@ +retroshare (0.6.4) stable; urgency=low + + Many improvements + + -- Gioacchino Mazzurco Tue, 20 Feb 2018 15:40:00 +0100 + + +retroshare (0.6.3) stable; urgency=low + + Many improvements + + -- Gioacchino Mazzurco Tue, 20 Feb 2018 15:40:00 +0100 + +retroshare06 (0.6.0-1.1~precise) precise; urgency=low + + GUI + - improved filtering method against lol bombs. Thx to ConcernedCitizen for pointing this out + - fix #21 typo "defaut" instead of "default" in switch statement in RSGraphWidget (patch from Chozabu) + - moved all bw graph files in statistics. Removed outqueue info widget. Created new cpp files to host the bw graph code. + Started minimal UI to display bw information. The goal is t + - fixed position of scaled/highlighted nodes in node graph (patch from Chozabu) + - fixed a few bugs in statistics GUI. Still misses names and proper curve display + - Enabled Messenger Window in system tray icon. + - Fixed overlay icon (star) for tray icon. + - fixed up various places in the GUI for high DPI screens (new icons and icon qrc file generation script, font-size based widgets, etc) + - disable update of group messages for IdService since it is unused and takes some bandwidth + - fixed typo in server page "127.0.01" + - Added stylesheet to plugins. + - Moved fix font from GenCertDialog to qss (Modified patch from Henry). Added defaults to ui without style sheet + - Fixed typo in string (Patch from Henry). + - Added customize of columns to RSTreeWidget. + - added back functionality to choose DL directory for each channel + - Removed generate of channel messages. + - FriendList: - Added customize of columns with RSTreeWidget. - Reduced display menu. + - Optimized fill of forums when modifying the read state. + - Fixed compile with Qt 5 + - Added disable/enable of GxsIdDetails process. Disabled GxsIdDetails process when filling gxs id's in forums. + - Optimized load of forums by moving the avatar handling for the tooltip to the tooltip creation. + + + added correct image file for finished transfers + + - added correct image file for finished transfers + + Backend / Coverity bug fixes + - removed old function entry to collect outqueue stats. + - removed unused method for OutQueue statistics; improved BW curve display; fixed a few display bugs + - Added missing initialization in - pqissl - pqissludp - PeerConnectStateBox - RsTlvBanListEntry - RsServer + TcpStream - PGPCertificateInfo - peerConnectAddress - AudioInputConfig + - Fixed usage of member _thread_id in RsMutex + - Removed unused member from ProfileManager. + - Added missing restore of ostream format (std::dec) in rschatitems.cc. + - Added missing restore of ostream format (std::dec) in CreateLobbyDialog::createLobby. + - Fixed crash in ChatMsgItem::removeItem when "mParent == NULL". + - Added missing restore of ostream format (std::dec) in p3ServiceServer::sendItem. + - Fixed crash in ChatLobbyUserNotify::subMenuClicked when using "Remove All" of the chat lobby notifier. + - Fixed possible crash in DetailsDialog::setFileHash by checking return value of dynamic_cast. + - Fixed possible crash in ftServer::receiveTurtleData by checking return value of dynamic_cast. + - Fixed possible crash in ftServer::handleIncoming by checking return value of dynamic_cast. + - Fixed possible crash in ServiceControlSerialiser by checking return value of dynamic_cast. + - Fixed possible crash in RsFileTransferSerialiser by checking return value of dynamic_cast. + - Fixed possible crash in ChatLobbyDialog::init by checking return value of dynamic_cast. + - Fixed possible crash in RsGRouterSerialiser by checking return value of dynamic_cast. + - added basic functions to collect bandwidth info in pqistreamer both ways; added a sorting method in BWGraphSource + to create curves from extracted BW info. Still not yet functiona + - Fixed possible crash in RsGxsIdSerialiser by checking return value of dynamic_cast. + - Fixed possible crash in p3GRouter by checking return value of dynamic_cast. + - Removed dead code from ImHistoryBrowser::fillItem. + - Removed potentially unintentional integer overflow in NxsBandwidthRecorder::recordEvent. + - Added initialize of RsGxsChannelPost members. + - fixed potential integer problem in image de-serialization (reported by HM) + - Added initialize of RsVOIPPingItem members + - fixed potential integer problems in de-serialization of different TLV items (patch from Henry) + + Plugins + - fix #20 crash on shutdown with plugins enabled. Settings window did leak plugin config pages (patch from hunbernd) + + WebUI + - allow only whitelisted link protocols to prevent javascript in links + - improved error message in webui: show full path of file if read failed + - make link detection work if the message ends with + - added chat + - fix serialisation of floating point numbers in SuperEasyJSON for german locale. JSON expects decimal points, but german locale used comma. + + GXS IDs + - added additional key checking for IDs received during distant chat DH handshake + - added methods to check public/private keys for consistent fingerprint and content. Should be later used to check GXS keys when they arrive from neighbor nodes. + + Distant chat + - Added check of function parameter to DistantChatService::handleRecvDHPublicKey. + + -- Cyril Soler Sun, 02 Aug 2015 16:00:00 +0100 + +retroshare06 (0.6.0-0.8551~precise) precise; urgency=low + + GUI + + * Used QTextBrowser to show the channel description for unsubscribed groups to avoid the horizontal growing of the channel list. + * fixed pasting of rslinks with special characters with Qt5 + * fixed strings in IdDialog (patch from Henry) + * Optimized fill of feed items by moving the fill of the hidden area to the first expand of the frame. + * make IP connect state string fully translatable (patch from Henry) + * Use a better icon for "linked to your profile" + * Enabled ordered/bullet list for Message Composer + * changed default news feeds to include security_IP, remove Peer connects (this one drives most people crazy) + * change label "Security Ip" to "Ip security" in feed settings(patch from Henry) + * Added a second color button to Message Composer, for set text background color. + * Changed parameter isFirstTimeRun of RsAccountsDetail::getAccountOptions to output parameter. + * Added version information of the libraries to HelpDialog. + * Added own flag and new checkbox in settings for security ip feed items. + * Changed NewsFeed::addUnique for SecurityIpItem to compare the ip addresses. That avoids duplicates when IP changes. + * Removed banner pixmap for the ConnectFriendWizard of the standard style. + * QWizard cannot be resized horizontal when a banner pixmap is set. + * fixed whitespaces in strings (patch from Henry) + * changed "Owned by node" into "Owned by" in IdDialog (patch from Henry) + * added explanation to IP change security item in a tooltip + * Changed string "TOR" to "Tor" everywhere. + * Fixed crash in context menu of the id list in IdDialog when no row is active. + * disable IP filter tab when using a hidden node + * Used ElidedLabel for the forum name to avoid the horizontal growing of the forum list. + * Set the status of the message to read when the user read it in the news feed. + * Remove the message news feed when the user reads the message in the message list. + * Added warning to IdEditDialog, when the lenght of the nickname is too short or too long. + * Used StyledElidedLabel for the nickname in Idialog to avoid the horizontal growing of the right widget. + * Updated languages from Transifex + + Plugins + * FeedReader: Added check for forum author. + * Fixed VOIP linkage for ubuntu distributions (thx to Phenom) + + WebUI + * added profile import/creation + * fixed leaking file descriptors + * added upload handler for small files + * fixed terminal thread + * removed some unused parameter warnings + + IP Filters + * added check for whitelist before sending a Security item for IP changed. + * improved voting for extr address, and make sure DHTStunner does not return a banned IP + * removed/improved debug info + + Various code improvements + * changed Radix64::decode to return result as std::vector + * removed unused branch and dummy function in pqihandler + * removed pqisecurity dummy functions. It is a packet filter which was never implemented. It's job is now done by service permissions. + * fixed compilation for versions not using sqlcipher + * added more debug info in pqissl when connection is attempted from banned address + + Bug fixes + * Fixed using uninitialized variable in p3HistoryMgr::setSaveCount. + * Fixed using uninitialized variable in p3HistoryMgr::setEnable. + * Fixed uninitialized members of bdProxyId and bdConnectionRequest. + * removed unused variable in TmpBlobStore + * let interface classes initialise their integers + * initialise BanListPeer::addr + * let turtle reputation classes initialise their integers + * let turtle items initialise their integers + * Added destructor to p3LinkMgrIMPL. + * Fixed memory leak in GuiExprElement. + * added missing initialisation in p3GxsChannels + * added missing initialisation in p3GxsCircles + * added missing initialisation in p3GxsForums + * removed useless ifs in rsaccounts.cc + * added missing initialisation in resource_api::Request + * added missing initialisation in ApiServerMHD + * fixed potential mismatch free/delete[] in distant chat + * added missing initialization for RsGXsIdGroup::mLastUsageTS + * added check for return value of fseek in ftFileProvider + * fixed potential memory leak in pgphandler + * fixed memory leak in FileIndexStore + * fixed uninitialised memory read in RsGxsNetUtils + * fixed Chat Lobby gui complaining about wrong string passed to RsGxsId constructor + * added missing delete in p3GeneralConfig + * Added proper shutdown of the plugins with remove of the service and dlcose of the plugin handle. + * fixed unlikely but possible invalid read in formatting of bandwidth numbers + * fixed potential use after free in openpgpsdk + * fixed double free in openpgpsdk + * added missing socket close in pqissllistenbase destructor + * added missing free and fclose in FileIndex + * fixed potential invalid memory read in openpgpsdk + * Removed unload of the plugins, because it causes a crash. + * Fixed possible dereference of null pointer in NotifyPage. + * Added missing breaks to p3GxsChannels::notifyChanges. + * Fixed possible fread from a null pointer in HashCache. + * Added missing breaks to p3GxsForums::notifyChanges. + * Added missing break in p3GxsChannels::handle_event. + * added missing size check in RsGxsRecognSerialiser + * fixed password handling in deferred signature algorithm (in case of cancel, enter wrong passphrase, etc). Fixes the bug of + half-initialized identities not loading when cancel is pressed, or wrong passphrase is entered, at signature step. + * improved login system: do not re-ask for passphrase when user clicks cancel. Removed warning stating that "maybe passphrase is wrong". + * fixed another x64 serialisation bug in FeedReader (see rev8396)(thanks to Eugene Tooms) + * Added missing dlcolse to RsPluginManager::loadPlugin. + * Added proper handling of the handle of the loaded plugin. + * Added check for trailing '/' of base directory in RsAccountsDetail::setupBaseDirectory. + * avoid unwanted wait in in p3IdService that slowed down the entire app (thx to jolavillette for finding this) + * Initialized the the member aes_key of DistantChatPeerInfo with memset. + * Fixed memory leak in p3FeedReaderThread::processXPath. + * Fixed uninitialized pointer read in FlowLayoutItem::dropEvent. + * Fixed memory leak in RsGenExchange::publishGrps. + * Fixed memory leak in RsGenExchange::publishMsgs. + * Fixed memory leak in DistantChatService::locked_sendDHPublicKey. + * Added missing fclose to RsAccountsDetail::loadPreferredAccount. + * Added missing fclose to ApiServerMHD::accessHandlerCallback. + * Fixed memory leak in RsRecogn::createTagRequest + * Fixed memory leak in DistributedChatService::invitePeerToLobby when lobby not found. + * Fixed memory leak in LookupDNSAddr. + * Fixed momory leak in RsDirUtil::getFileHash when the file doesn't exist. + * Fixed memory leak when RsServicePermissionItem::deserialise failed. + * Fixed uninitialised member in bdNodeManager + * fixed another uninitialised memory read in bitdht + * fixed uninitialised memory in bdfilter + * removed 2 unused members from FileDetails in ftextralist + * fixed situation leading to uninitialised message content in MessageDialog + * fixed use of wrong variable in GxsGenExchange + * fixed uninitialised variable in RSCollectionDialog + * removed ambiguous expression that confuses coverity, in TransfersDialog + * fixed access of delete iterator + * removed false positive access beyond range of iterator + * removed possibility to access invalidated iterator in grouter + * fixed invalid use of wrong iterator in GXS reputation system + * fixed bug in using invalid iterator in ChatLobbyNotify + * fixed wrong use of flags in pqibin (wtf??) + * remove potential use of deleted item in rsRecogn + * fixed use of pointer after memory ownership transferred to QCache + * fixed potential passing of deleted item to sendChatItem when a ChatLobbyItem is too big (would probably cause a crash. Found using coverity) + * fixed call to strncpy in network interface determination code which leaves unterminated string if strlen(ifptr->if_name)==16 + + -- Cyril Soler Sun, 21 June 2015 22:00:00 +0100 + +retroshare06 (0.6.0.RC1-0.8401~trusty) trusty; urgency=low + + GUI + * added IP banlist system to fight large scale traffic analysis using IP masquerading + * added security item for connection denial due to IP blacklist/whitelist + * make conclusionPage handle all make friend events + * added search and highlighting to network graph (patch from Chozabu) + * Fixed typos in strings (Patch from Henry). + * fixed avatar display + * Set default stylesheet for the Edit Identity info label. + * fix black background in chunkmap display with Qt5 (patch from sehraf) + * added testing button for incoming TOR connections ;-) + * improved GenCertDialog (patch from Henry) + * Fixed layout of the ip addresses in ConfCertDialog + * added additional button to show statistics window in settings->node + * added a button to clear the IP address list. Also started to add + diagnostic for TOR status. This is unfinished so it does not work yet. + Show if TCP connection is incoming or outgoing (modified patch from sehraf) + + WebUI + * added webUI files + * updated rules so as to include webui files in rs-nogui package + * webui: allow to set peer flags when adding friends (whitelist flag is set to false) + + VOIP/plugins + * Beautfy the stylesheet for the "Accept Call" Button, display notify text for voip calls too. + * set RS_REVISION_NUMBER to 1 to avoid plugin loading failure if no version is set + * Beautify Answer Button for VOIP Toaster + * Display peername on voip notify text + * fixed memory leak in voip plugin + * added toasters for incoming audio/video call to voip plugin (patch from Phenom) + * show error string form plugin loading as tooltip in gui (patch from Phenom) + * reduce memory corruption in voip plugin + + GXS + * hide voting buttons in channels (backend is missing) + * added virtual destructor to RsNetworkExchangeService (patch from Cyril) + * added missing mutex in idservice + * Renamed RS_TLVKEY_DISTRIB_PRIVATE into *_PUBLISH, as it is used as such. + * Allow to check signatures and validate groups using private keys in GxsSecurity + * removed inconsistency in key flags when full keys where mixed up with publish keys. + * improved IdEditDialog: added explanation text, removed unused space + * in ChatLobbyWidget: show dialog to create a new identity when there is no own identity + + This should fix the following bugs: + * channel owners did not receive posts from other peers who have publish rights + * channels sometimes not gettign through + + * Removed randomly forced updating of GUI in RsGxsUpdateBroadcastBase + * Added group changed notify when visible count or suppliers count of a group has changed + * Fixed suppliers count + + Forums + * show new identity dialog when creating a forum post and no identities exist + + Messages + * prevent crafted distant msgs with partial message flag set (Patch from Henry) + * replaced multiple location warning with a location selector menu + * added chat friend and message friend actions to FriendsList/Friend context menu + * Fixed layout of From, Recipient, Subject and Tags in MessageComposer. + + Discovery + * don't overwrite own/friends IPs with discovery info (patch from Cyril) + + Other + * Added check of account directory (check for missing subdirectories) in RsInit::InitRetroShare + * fixed uninitialised memory read in AuthGPG + * listen on localhost if node is a hidden node (patch from Henry) + * moved the stop order up to RsThread to ease the test for stopping order in single job threads + * created 2 subclasses of RsThread, one for ticking services, and one for single shot jobs. + Now all threads use the same base code. Moved semaphore based thread logic up to RsThread. + This should help terminating service threads properly and possibly remove the SIGSEGV when + quitting + * added hability to disconnect friends which report our own IP as something different than what + we know. Removed a test in discovery2 that prevented sending info to a peer about himself. + Not active yet since it needs some testing + + -- Cyril Soler Thu, 04 June 2015 18:00:00 +0100 + +retroshare06 (0.6.0-0.8263~vivid) vivid; urgency=low + + GUI + * force loading of own ID to get a proper name to display in chat lobby dialog + * improved alignment of IPs in friend list + * improved layout of forum thread widget. Removed one almost empty line. Hide unscribe button when already subscribed. + * updated names of transfers and server pages in config + * only show relevant entries in statistics graphs + * improved RSGraphWidget to take the current time as reference for all curves + * fixed PGP/SSL key size combo box in certificate creation wizard (patch from sehraf, modified) + * fixed text in transfers dialog popup menu + * disable signature checkbox when the certificate only has self signature in ConfCertDialog + * replace identity with profile in GernCertDialog (patch from Henry) + * attempt to improve/clarify relationship between nodes and PGP keys. Removed duplicate options and splitted ConfCerDialog into a dialog + to show nodes certificates and PGP key information + * removed useless thread line in forums, kept link copy functionality, used a GxsIdLabel to show the by_label correctly, + added hide/show of labels when not useful + + * fixed typo in naming and removed inconsistent entries from friend list menu. + * fixed comment voting + * hide unimplemented reputation functions in comment tree widget + * improved text of gxs share group key feature in posted and channels + * use random port >=1024 (patch from sehraf) + * fixed creation and edit of channel/forum/posted group. Force display of correct stacked widget page in GxsGroupDialog. + * re-enabled hide of status column in friends list + * show group owner in channel/forum/posted's details tab + * show forum admin/author in gui + * show gxs message store period in gui, set forums store period to one year + * allow 30 unicode symbols for identity name, instead of 30 bytes + * Saved size of participants list in profile. + * Removed show/hide button to get more space. The participants list can be colapsed by moving the splitter to the right frame border. + * removed useless column in forum thread widget + + VOIP + * Renaming all to VOIP in VOIP plugin (patch from Phenom) + * fixed wrong names in comment and debug output (patch from Phenom) + * fixed opencv dependencies for all systems using pkg-config + + WebUI + * redesigned friends list + * added friendly units on downloads page + * added progress bar on downloads page + * fixed makefile directories and updated readme + * fixed path in webui readme + * added hint to check if port is already in use if webinterface failed to start + * fixed wrong path in libresapi readme + * fixed crash in rs-gui when stopping webui + * webui: added display of own cert + * added string escape in SuperEasyJSON serialization + * added terminal restore to rs-nogui on linux. Enabled compile of webui in rs-nogui. + + GXS + * randomly force full update of RsGxsUpdateBroadcastBase so as to get fresh statistics about GXS groups from time to time + * simple hack to have non active groups gradually loose popularity and number of posts. + + Packaging + * additional fix to packaging on squeeze + * updated bubba3 (squeeze+armel) packaging scripts + + Bug fixes: + * fixed bug in global router causing SIGSEGV in some cases + * Removed maximum value from chat lobby participants list. + + -- Cyril Soler Thu, 15 May 2015 18:00:00 +0100 + + +retroshare06 (0.6.0-0.8196~precise) precise; urgency=low + + GUI + * changed sound button tooltip + * added auto subscribe status to lobby tooltip + * removed wrong info from forums help + * added checkbox to hide offline peers in permission matrix (modified patch from sehraf) + * fixed rslinks with " + * proper sorting of peers by connection state in permission matrix (patch from Sehraf) + * added for hidden label own stylesheet + + MSG + * fixed memory leak and potential crash due to not copying items passed to config saving in messages. + Added save/load for map between GRouter and Msg ids which fixes the never removed outgoing messages + * fixed small bug in global router causing incoming messages to be in SENT mode + * improved display of grouter internal info + * fixed a few bugs in global router, eliminated duplicate messages, improved routing logic + + VOIP + * add popup when get incoming VOIP call + * removed RTT statistics tab from VOIP plugin as it is already provided in Statistics + + General code change + * updated packaging scripts. Disabled libssh, protobuf; enabled webui, added dependencies in libmicrohttpd + * marked unimplemented methods in rsgxsnetservice.h + * disabled some useless old branches in the flushing of incoming items due to calling pqihandler::tick() and + pqipersongrp::tickServiceRecv which caused ghost items to print out at start + * fixed error msg due to broadcast chat trying to call statusUpdate() + + Bugs + * only reset GxsIdChooser to default item on first load. Fixes the bug of current identity that keeps changing in chat lobbies + * attempt at fixing crash that shoult not happen in rsgxsutil.cc + * fixed chat lobby context menu to allow to toggle auto subscribe + + WebUI: + * use same docroot in retroshare-nogui as in retroshare-gui + * hide login/shutdown when running in retroshare-gui + * added better live reload. It uses the Retroshare built in server. Grunt is not required anymore. + * removed unused buttons + * started ChatHandler + * enabled webui to show own locations + * added web interface to tray menu + * fixed wrong account numbering in retroshare-nogui + * added web interface to retroshare-gui + + -- Cyril Soler Tue, 30 Apr 2015 21:00:00 +0100 + +retroshare06 (0.6.0-0.8120~precise) precise; urgency=low + + GUI + * fix for revision number in ubuntu/debian (patch from heini, untested) + * fixed compile on Linux with Qt5 (patch from sehraf) + * fixed display of TOR information for hidden nodes (patch from Sehraf) + * improved display of ciphers giving TLS version + * changed default cert name so that v0.6 and v0.5 do not use the same file + + Connexions + * pqistreamer: only allocate incoming buffer when needed, free incoming buffer when not needed anymore + * removed old code in rsiface/p3face + * detach pqistreamer threads to allow resource cleanup or re-use + * added missing delete in p3discovery2::processContactInfo() + + GXS + * added missing delete in gxsnetservice + + FT + * fixed bug causing re-hashing of all files in some situations, and possibly preventing file lists + to transfer between + Debug + * reduced size of output for buggy RsItems + + WebUI + * added support for multiple client threads to ApiServer + * added api client which reads the password from stdin. This allows to login from the webinterface and + from the terminal at the same time. + * added html/css/js files for the webinterface + + -- Cyril Soler Tue, 14 Mar 2015 16:00:00 +0100 + +retroshare06 (0.6.0-0.8098~precise) precise; urgency=low + + GUI + * improved profile creation wizard: Hide by default key length combobox, for advanced users get visible + via advanced checkbox; Set stylesheet for a Info Label; Changed Window icon to higher resolution; + Not show too much technical detail on a info Label. + * Fixed path of config file RSPeers.conf + * improvement of FriendList (Patch from Sehraf) + * added scale and wheel-event resizing to RSGraphWidget + + Chat lobbies + * fixed up nickname completion in chat lobbies + * new notify capability of chat lobbies: message counting, nickname occurrence counting and specific text + counting. Also sorts out notify tab in Settings (Patch from Phenom, slightly modified: gui layout/text + + added a flag to enable/disable user defined text grep) + * fixed bug with default chat lobby identity causing settings to show an empty list. Also fixed up GxsIdChooser + + WebUI (not enabled yet) + * added Content-Type headers, added redirect to index.html + * updated SuperEasyJSON + * fixed redefinition warning of MSG_WAITALL on windows/mingw491 + * limited webinterface to localhost by default, added command line option to listen on all interfaces + * allow RsControlModule to work without control over RsInit (e.g. with rs-gui) + * disabled file streaming for libmicrohttpd < 0.9.31-1 + * added command line parameters for webui port and base directory. + + Div. + * fixed a few missing deletes when handling errors in grouter. Experimenting a new scope guard to hold + temporary memory. (Patch from GuessWho, modified) + * disabled debug print of DHT requests, disabled debug print in p3Peers::getProxyServer(), added missing + newlines in debug prints (modified patch from Hypfer) + * added missing return statement in RsDirUtil::saveStringToFile() (thx to sehraf) + * don't store name, location name and date in new SSL certs. Location name is now stored in an extra file. + Backward compatible to old locations and old peers. + * fix data directory on Linux, use new path /usr/share/RetroShare06 + * fixed constructors in button-on-text widget (Patch from Phenom) + + Messages + * fixed distant peer naming in combo box for recipient selection. + * fixed naming and completion in recipient addresses in MessageComposer + * fixed icons in FriendSelectionWidget and MsgComposer. Also added disable/enable for From field + depending on which type of recipient is used + * Updated GUI to use new Message / Mail interface. Configuration is in MessageInterface.h for the moment + * Modify Messages with additional namespace - to allow switching to new Mail. + * use RSLinks to handle recommendation message (Patch from Sehraf) + + VOIP + * added notification for VOIP calls (Patch from Phenom) + + Bug fixes + * added test to prevent using twice the same config file; changed duplicate config file name causing + deserialisation errors and loss of some config files; added printout of hex code for RsItems that + fail deserialisation + + -- Cyril Soler Tue, 14 Mar 2015 16:00:00 +0100 + +retroshare06 (0.6.0-0.8060~utopic) utopic; urgency=low + + GUI + - Fixed content of GxsIdChooser for Qt 5 by setting dynamicSortFilter to false. + - Change in the default value (Qt 4 = false, Qt 5 = true) + - made 2 different pages in ConfCertDialog for PGP key and RS certificate. Removed the old format checkbox. + - fixed update of info in ShareDialog (patch from Sentry). Updated the text to replace + Friends by friend nodes + - added check for empty author id in gxs group creation + - GxsIdChooser: request only data for own ids (was requesting all ids before) + - Click on a certificate in a message (MessageWidget) shows the add friend wizard only once. + - Added one more check of RsAutoUpdatePage::eventsLocked to GxsIdDetails::process + - added mask to select which icons to show in RsGxsIdTreeWidgetItem. Kept only avatar in + ChatLobby participant list + + GXS + - use notify for gxs events. Removed the previous polling based system. Now multiple clients + can receive gxs changes. This also fixes the always growing changes queue in rs-nogui. + - GxsGroupDialog: allow to create groups (e.g. channels, forums, posted) without an author + + Chat + - made signature verification pass when no key is present in the cache for lobby events + - increased responsivness of distant chat by forcing tunnel re-digging when no activity is + detected. WARNING: the new timestamps make the communication break will peers not up to date, + since they will not send keep alive packets on the same delay basis. + - removed dead code in chat lobbies + + Channels + - removed the constraint of sharing own files only in channels. Replaced it by a warning, + to allow peers to post from other locations etc. (port from v0.5.5 rev. 6198) + - Added waiting indicator to group tree for channels/posted when using "Mark all as read/unread". + + PGP + - commented out unused (and buggy) function in authgpg + - fixed self-signature checking for imported keys, previously causing imported certificates + with signatures to be rejected. Also fixes bug preventing discovery to send signatures. + + WebUI + - added resource_api and rs-nogui-webui (requires libmicrohttpd, Html files are not included) + - added microhttpd-dev as an additional dependency in packaging script + + Other + - fixed compile with different versions of libmicrohttpd + - fixed serialisation bug likely causing the loss of peers.cfg (Thx G10H4ck for finding this) + + -- Cyril Soler Tue, 14 Mar 2015 16:00:00 +0100 + +retroshare06 (0.6.0-0.8018~precise) precise; urgency=low + + Improvements + * Identities + - moved signature validation and encryption one level up into p3IdService. + - Added timestamp for GXS identities and auto-removal after 30 days. Updated display in IdDialog + + * GUI + - Moved TokenQueue, TokenResponse, UIStateHelper and mGroupId from the classes GxsMessageFramePostWidget/GxsForumThreadWidget + to the base class GxsMessageFrameWidget. + - Optimized search of feed items in RSFeedWidget by using a map instead of QTreeWidgetItemIterator. + - Fixed missing notify of changed message ids to the gui. + - use right status ions + + * GXS + - Reduced locking time of mutex in RsGenExchange::processMsgMetaChanges and RsGenExchange::processGrpMetaChanges. + + * Chat lobbies + - Added re-check of "Not found" identities for chat lobby participants list. + - Added check of RsAutoUpdatePage::eventsLocked to GxsIdDetails::timerEvent. + + * Packaging + - fixed packaging script modifying wrong version file + Bugs + * attempt to fix the deadlock situations in pqithreadstreamer. Also solves the crash when quitting + + -- Cyril Soler Tue, 14 Mar 2015 16:00:00 +0100 + +retroshare06 (0.6.0-0.8004~precise) precise; urgency=low + + Improvements + * GUI + - Fixed display of version information. + - Optimized GxsIdDetails::process to load the gxs details directly when the caller is the gui thread. + - Removed not used base class GxsIdTreeWidget. + Used QPixmap instead of QIcon to draw the gxs image in GxsIdTreeWidgetItem. + Fixed use of transparent background in GxsIdDetails::GenerateCombinedPixmap + (formerly GxsIdDetails::GenerateCombinedIcon). + - hide reputations which are not used yet (patch from sehraf) + + * Channels/Forums/Posted + - Fixed refill of author column in forums. + - Trimmed whitespace from URL to fix internal retroshare links. + - Added Retroshare links support to PostedItems (don't seem to work yet). + - Enabled cancel button in CreateComment Dialog. + - avoid calling rsGxsChannels::setMessageReadStatus() when the message status is already what + we want. Removed one warning that has been cleared. + - improved GUI for Posted + - Hide share of key in forums + - Hide score label in channel post item + - Fixed GUI - to allow people to post to subscribed Topics. + + * Messages + - removed mentions to encrypted messages. Replaced by distant, with the appropriate flags. Removed old + msg encryption code + - fixed recommendation signature (patch from sehraf) + - added new flag to allow peers auto-download recommended files from trusted neighbor nodes, which + gives the possibility to push data to other nodes + + * Identities + - fixed message tooltip for loading ids + - Added tooltip on key id column. + - Disable Send Message button for own Identities. + - Fixed initial size of the splitter in IdDialog. + + * Chat + - Fixed missing spaces in chat style. + - merged in new lobbies with GXS ids. Old peers and new peers cannot see each others lobby lists. + Invitations and Messages of old and new peers will not be visible to each other. + - fixed mistake in distant chat (== instead of =) + - removed deprectated items in chat lobbies. Removed debug output in distant chat. + - fixed a few bugs in distant chat protocol (allow re-negociation of DH parameters if decryption + fails, correct passing of own gxs id for server side), making the system more reactive. Also + fixed the issue of avatar not showing up. Changed t he tunnel naming system to something specific + to distant chat. WARNING: this version cannot distant chat with previous versions. + - fixed the ChatId::toStdString() method (patch from sehraf) + + * improvement of README file (patch by cave, modified) + + * Connectivity + - removed systematic printout of outgoing items which killed performance (patch from electron) + - Removed debug info fom bdnet (Patch from electron) + - attempt to fix never ending thread. To be tested. + - Allow TLSv1.2 while keeping compatibility with TLS1 and 1.1 (Patch from cave) + - Added extra check against invalid sockfds, cansend / moretoread code + + * Others + - added method in ftServer to allow retrieving data from shared/downloaded files (patch from electron, modified) + - fixed typo preventing compilation without RS_USE_BITDHT flag + + * Packaging + - fixed compilation on debian squeeze. Removed placeHolder properties in CreateGxsForumMsg.ui + and GxsGroupDialog.ui which need to be set in the cpp. Added a new DEFINE=NO_SQLCIPHER to compile + without sqlcipher when sqlcipher cannot be found (no sqlcipher is available on debian squeeze). + + -- Cyril Soler Tue, 22 Feb 2015 15:00:00 +0100 + +retroshare06 (0.6.0-0.7939~precise) precise; urgency=low + + Improvements + * GUI + - Fixed loading of avatars + - Used RsGxsGroupId instead of std:string for id/name in IdEditDialog/GxsidChooser. + - Added a send message button on header frame. + - set default border stylesheet for the Avatar Label. + - Added info pane for unsubscribed channels + - Added placeholder text to RSFeedWidget + - fixed bug in control of available identities for signature in MessageComposer + - fixed bug in distant msg composer checking + - added avatars for GXS ids in distant chat + - Receiving a shared key: + * Added notify of the group id and the refresh of the gui + * Added system message (create of message disabled) + * Added possibility to show a news feed item + - RetroShareLink: + * Fixed create unknown ssl certificate + * Fixed process of person link + - added columns context menu entry, to hide optional some columns + - Fixed double feed publication + - separated "owned by you" and "linked to your node" which are two different things; fixed bug showing + chat menu for own identity + - fixed typo in column addressing + - Fixed Scale QLabel content + - set item icon size 22x for Identity icons. + - Used AvatarDialog to choose an avatar for an identity. + - added avatar to GxsId tooltip (see in forums). + - Removed thread data race due to multiple threads accessing the static data member image_cache, + causing avatars to not show up randomly. + - removed unused code in ServicePermissionPage + - Fixed deadlock in RSGraphWidget + - Set Light gray background color for the identicons for better look n feel. + - Fixed to scale QLabel content. + - Moved to display Avatars on ID Dialog into a QLabel + - Added Avatar Dialog at the moment for own peerid, soon for gxs avatars change. + - switch to standard identity icon format for defautl icons (patch from Phenom, slightly modified) + - Enabled display of extern gxs Avatars on ID Details Dialog + - implemented dedicated widget for service permission matrix. Permissions are not saved yet, and we + also need a default switch + - Moved remove button under the add btn,for better look. + - Removed "Send" button in CreateGxsForumMsg and used "Ok" button of the buttonbox to send a message. + + * GXS + - Fixed possible crash in the handle methods of RsGxsNetService when the dynamic cast of a received item fails. + - added number of posts at friends to saveList/loadList. Improves visibility of number of posts + + * Serialisation + - re-enabled anti-svg bomb code before some jerk tries to exploit it. It was used for wide strings. + Moved it to std::string deserialisation. + + * Packaging + - Fixed utf8 issue in Windows installer + + -- Cyril Soler Tue, 10 Feb 2015 23:00:00 +0100 + +retroshare06 (0.6.0-0.7891~precise) precise; urgency=low + + Improvements + * GXS + - group pulish TS is now accounted for in mServerGrpSyncMap, so that modification of metadata is propagated in the network; + - mClientSyncMessageMap is stamped when the server cannot feed any new messages. + - group info for no-auto-update services are still sent, but only groups already present but available with a new + version are sent. This fixes the propagation of GXS avatars. + - removed sending of msg list from unsubscribed groups + - added more debug info to gxs net service so as to see what's going on + - force-updating timestamp of unsubscribed groups to avoid re-asking them indefinitly. This should remove the heavy GXS traffic. + - Fixed memory leak in request handling by adding a destructor the the request classes derived from GxsRequest and delete the result. + + * GUI + - Fixed icon to toggle participants frame in chat dialog. + - changed from setEnabled to setVisible, to not show up the disabled actions for Own Ids. + - changed dialog to none blocking mode + - Added Person details dialog, for popup mode view. + - Removed timeout of waiting tokens in TokenQueue (gui) and increased timeout of requests in libretroshare from 30 seconds to 2 minutes. + + * Identities + - added avatars to identities. + + -- Cyril Soler Sat, 31 Jan 2015 14:00:00 +0100 + +retroshare06 (0.6.0-0.7870~precise) precise; urgency=low + + Improvements + * Global Router + - new global router system. Provides secure/authed (sync-ed) data sending between GXS ids. + + * GUI + - renaming strings and changed icons for Network/People + - added Peer def for Identities. + - Removed version files from retroshare-gui. Added version information to Windows executable. + - Moved header file with version information to retroshare/rsversion.h. + - added code to generate 3072 and 4096 bit PGP keys at startup (Patch from Serhaf) + - Fixed removing of a node in friends list. + - Moved ID ComboBox at the top, before recipient or Subject fields, to switch faster and easy Identity. + - Added a Filter ComboBox for Message Composer, to switch Show types. Moved Search Filter to the top of the Selection Widget. + - Changed statusbar hashing label to ElidedLabel + - Renamed "location" to "node" in gui (Patch from Henry) + - Added a new base class RSTextEdit with placeholder for Qt < 5.2 + - Fixed when the FriendList columns are hidden, set header sizes to default, Changed profile settings icon. + + * Messages + - distant messaging system now uses new GRouter. This provides sync-ed distant messaging. + - Show size of attached files in MessageWidget with friendly unit. + - Added a info Frame, when adding a Distant Peer to the send list. + - added "reply to authors" in forum (needs improvement) + - Changed default text color for own group & online status text color + - Added to Display File size of the attached files in messages + - Changed on the Message Composer when adding GXS Identity to the "To" field, for user friendly display look like a email address. + - Enabled to display identity icons for Distant peers on Message Composer and on Friend Selection Widget + - Fixed to display mail icon when Distant Message is read. + + * Chat + - added missing line when exporting ChatID to std::string (fix by sehraf) + - fixed unread chat count in FriendsDialog, fix display of status in distant chat (Patch from electron) + - fixed font handling for chat config page (Patch from HM) + - Fixed to hide Search Box Action when ChatWidget is used on FriendsDialog + - Fixed Incoming Nickname Text color, which looks for your eyes better then green. + - simplification of the chat interface to libretroshare using a single unified class for chat IDs. Used a common + chat widget for all chats including broadcast. Opens the way to having plugins send/recv chat messages (Patch from Electron). + - Moved Search Filter feature into a frame, to hide by default for a clean Chat Window, optional enable from the menu. + + * NewsFeed + - Moved checkbox for news feed sort order from settings to NewsFeed + - Fixed reading memory after it was deleted. The error was the reason for the ghost feed items. + - clean up security feed item + + * Turtle + - added non aggressive mode option to turtle router to make distant chat happy + + * Forums/Channels/Posted + - Added Default blue forum icons for own Forums. + - Fixed placeholder display on GXS Group Dialog + - Changed sign icon on create forum message, added a "Post as:" label before gxs id chooser + - Added icons to GxsIdChooser + - Fixed display of "Create new Identity" without an identity + - Fixed filter of description in group tree of forums, channels and posted. + - Display at Header Channel name (Show Mode) + - Display Subscribers on Channels + - Added a new StackedPage for the Show mode (GXS Group Dialog), clean up the code. + - Set the description Text field to read only for the Show Mode + + * Identities + - Added fixed size for the splitter in Identity + - optimized fill, fixed utf8 issue, added new strings to translation, added load/save of ui state + - fixed splitter resize, fixed sensitive state of menu items in context menu + - Fixed double (or more) add of own identity to p3IdService::mOwnIds after edit in the gui. + - Added Send Message context menu action for Identities List + - Added new entry to GxsIdChooser to create a new identity. + + * Packaging + - Switched to dynamic linking of openssl for Windows build. Added needed dll's to Windows installer. + - renamed Ubuntu/Debian packaging scripts, removed binary package scripts + - Added icon, publisher and version to Windows uninstall information. + - improved packaging scripts (patch by Heini) + + * Others + - Fixed inconsistent code in udprelay.cc (Patch rom G10H4ck) + - Code simplification and suppression of a bug in handling Relay connect attempt (Patch rom G10H4ck) + - Added missing free() in error handling code (Patch rom G10H4ck) + - Few optimizations and code improvements. Also added one missing fclose in error handling code (Patch rom G10H4ck) + + * VOIP + - fix memory management issue in voip (patch from electron) + - Moved the VoIP Buttons to the top right corner on the Chat Window. + + Bug fixes + * fixed fclose before rename in fimonitor.cc, causing some cache file lists to never be deleted. + * fixed bug causing a security breach by storing private GXS keys into the public key cache. Added a few asserts + to totally remove that possibility. Ideally we should have 2 incompatible key types. + * fixed non saving of checkAttempts for pgp signatures of groups, causing pgp signatures of unknown keys to be re-checked every minute (Patch from HM, modified) + * improved RsServer so that join() is called on every running thread at shutdown, hence avoiding SIGSEGV. Removed some unused members of RsServer + + -- Cyril Soler Sat, 25 Jan 2015 14:00:00 +0100 + +retroshare06 (0.6.0-0.7769~precise) precise; urgency=low + + Improvements + + GUI + * Set to display a placeholder text when status message is empty. + * Added new class StyledElidedLabel and used it for nick name and channel label. + * Disabled own location display on Friends Frame. + * Removed the Fixed size for Messages ListWidget + * Update stylesheets + * Fixed compile with Qt 5 + * Added a warning MessageBox when closing Forum Post Dialog. + * Set the list with buttons in MainWindow and friend list in FriendsDialog to + fixed when resizing the window. + * Optimized polling in TokenQueue + * Removed unecessary space around the main pages. + * Moved own frame for Avatar,status,nick display to the top of FriendsList. + * Moved font size definitions from ui files to default qss. + * Clean up Peer and SecurityItem feeds + * Set a fixed size for the Messages search filter. + * Enabled Minimize/Maximize Button for File Transfer details dialog. + * Clean up Buttons on ChatWidget, for Fonts use now Font Button. + * Changed rs logo icons, for better look and feel on the Taskbar + * Hide by default the Attachments Recommend Files list. + * Changed the tooltips for the Hide/Show Button , "Download all" Button now + with default text. + * Moved files count label before "Recommend Files" label + * Reduced speed of scrolling of RSFeedWidget + + GXS + * improved network statistics for GXS net service. Added number of available + messages for unsubscribed forums in GUI. Should be done as well for channels. + * Added missing initialize of members in constructor of GxsGroupStatistic and + GxsServiceStatistic + * remove GXS ids with faulty signature. This should not happen anyway. + * added additional check for signature consistency after signing GXS id. + * improved/cleaned debug outputs in in rsgxsnetservice.cc. Performed + * optimization of transaction system: limited the size of message transactions and allowed + a much larger transaction timeout to suppress the transaction cancelling epidemic that caused + global bandwidth increase and lack of channel/forum propagation + * Simplified usage of GxsIdDetails and removed some QTimer. + * fixed proper deleting of pending transactions inside mutex to avoid concurrent thread to use them + * fixed uninitialised memory read in rsgxsdataaccess.cc + * fixed inconsistency using getKey() and getPrivateKey() supposing it returns a boolean. It should return a boolean anyway. + + Core + * protection against multi-threaded usages in tcponudp + * fixed weird logic in handling connection attempt for an already connected peer. + + Chat + * Added size limit for chat types - Public, Private, Lobby, Distant + Set the size limit for private and distant chat to unlimited. + * fixed bug in distant chat causing multiple tunnels to break the DH session. + * added keep-alive packets to distant chat. Improved the tunnel management logic. + + VOIP + * Moved to display own video at bottom and Friend at top. + * Added to display system message text when call is stopped. + * Fixing spaces on chat window. + * Clean up chatwidget buttons, moved text color to the font menu button + * Added a border radius to the Video Widget. + * Moved to Display the Video Widget on the right side + + FT + * two improvements of turtle router logic: increase of TR cache storage time to avoid too many void + tunnels due to bouncing TR beyond storage period of 120 secs; prevent openning upload tunnels for + files currently being downloaded before any chunk was obtained. Suggested by Jo. + + Messaging + * Adding start of new Mail Service. + * added setFlags method in Id combo box. Removed possibility to send anonymous distant messages + (too risky). Improved the logic in message composer GUI. Fixed bug when key not available in + message encryption/signing routine. + + Plugin system + * Added service pointer of forums and channels to RsPlugInInterfaces. + + Installer + * Added missing dll to Windows installer. + + Bug fixes + + * fixed cross-deadlock between pqissl and pqithreadstreamer by removing locks over atomic operations. + * fixed tcponudp bug causing SEGV when quitting and crash on UDP connexion reset. + * Fixed utf8 issue when using strings with openssl + * fixed serialisation bug preventing the correct save of grouter matrix in some cases + + -- Cyril Soler Fri, 12 Dec 2014 23:00:00 +0100 + +retroshare06 (0.6.0-0.7702~precise) precise; urgency=low + + Improvements + GUI + * HTML Text optimization (patch from Phenom) + * Enabled by default to display Friends Avatar on Friendslist + * Changed for RS 0.6 the status icons + * beautify the status string which displays after nicknames + * improved GUI for distant chat, making it possible to choose which identity we use to chat someone + * improved design of existing feed items + * Added new stylesheet qdarkstyle + * created new RSFeedWidget to be used in news feed + * Added to change dynamicly the share key info description. + * Added default stylesheet for the info label + + Distant chat + * improved logic in distant chat, and fixed several bugs causing unstable conversations + + GXS + * implemented more tests and fixed a few bugs in GxsSecurity + * added feed items and logic for GXS channels/forums/posted + + Core + * Mutex debugging: added a new macro RS_STACK_MUTEX(myMutex) to trigger a scope guard while recording file location + and line number. Moved the timings from RsMutex to RsStackMutex. Changed the mutexes in rsgenexchange and rsgxsntservice to use the new macro. + * separated chat items from message items, separated chat into tree components: chat, distant chat and distributed chat + (i.e. lobbies). moved all chat components into chat/. Removed deprecated chat items. Moved all distant chat code into a + separate file. + * fixed compilation of network simulator + * updated windows build bats + + Bug fixes + * removed uninitialised memory read in rsgxsnetservice.cc + * fixed re-login after wrong passwd. Patch from Electron + * fixed adding groups to message recipient (Patch from Phenom, modified) + * fixed memory leak in rsgenexchange.cc + + -- Cyril Soler Sun, 23 Nov 2014 19:00:00 +0100 + +retroshare06 (0.6.0-0.7661~precise) precise; urgency=low + + Improvements: + GUI + * Added systray menu in status bar. Helps people without a systray (Patch form Phenom) + * Saving tool button position (patch from Phenom) + * Changed the chat bubbles when typing/chat on the private chat, which displays on the Taskbar & window icon + * Changed the MainWindow icon to a higher resolution for better look & feel, when the logo is displayed on the + taskbar, same for the im status icons. + * Added very basic display of outqueue statistics in BwCtrlWindow. Removed unnecessary list::size() calls in pqistreamer + * Added to change header image and text on Share Key Dialog. + * Improved display of popularity in forums/posted/channels + * Fixed display of TOR connexions in the friend list + * Fixed the frame margins + * Fixed navigate to channel post when clicking a channel post link. + * Fixed navigate to forum message when clicking a forum message link. + * Fixed copy of forum message link to clipboard + * Set standard style of public/lobby chat to compact colored. + * Fixed navigate to forum and channel group when clicking a forum/channel link. + * Navigate to post/message is still a todo. + * Fixed display of unknown PGP keys in IDDialog. Removed debug output + * Using GxsIdChooser in message composition dialog + * Fixed bad connect in notifyQt for chat window + * Fixed start of chat with right or double click on a friend item (not location) in friend list. + * Fixed display of unknown hash in turtle router dialog + * Enable "Next unread" button in forum without an active post. + * Fixed up DHT Stats window so you can maximise any section with splitters. + + DHT: + * Fixed saving of bdboot.txt on windows (patch from electron) + * Add peer version to Ping Message (improves finding RS peers) + * Add local flag to search query - to only find bitdht peers. + + Links: + * Fixed check if address has changed - was preventing resetting of local port. + * Tweaked TOU so it can accept Generic Sized Ip Addresses, even though it will only accept IPv4 addresses + + GXS: + * Added tempering system for GXS, so as to not send more in the outqueues than what the current bandwidth can handle + + GRouter: + * Limited storage of DEAD items in grouter cache to 1 hour to favor re-explore dead routes and limit cache size + * Added feedback from rsgenexchange into Global router to add routing information + * Weighted maximum length of a msg in grouter inversely to how much it has spread + * Improved anti-flooding stategy in g-router + * Fixed bug in global router making the routing matrix too sparse + + Diverse + * Fixed compilation after removing operators!= (patch from phenom) + * Removed unused comparison operators in some GxsItems + * Removed unnecessary string to string conversion in pqipersongrp + * Removed ifdef for the different sleep methods. Now only usleep is used, on all systems (Patch from Phenom) + + Utils: + * added more time measurements in RsMutex, so as to measure locking time and waiting time. Only enabled with RS_MUTEX_DEBUG + + Bug fixes: + * Added security check in pqissl::senddata() to avoid SIGSEGV when quitting + * Changed sleep to usleep in RsStackFileLock::RsStackFileLock(). Caused a very long lock. + * Fixed SIGSEGV when quitting due to deletion of UPnP handler during callback + * Added missing record of Dn traffic in turtle router + + Optimisations: + * Changed post fixed operator++ into prefixed. More efficient on some systems. Patch from Phenom. + * Replaced tests on std::list::size() by std::list::empty() (Patch from Phenom, modified) + + -- Cyril Soler Sun, 02 Nov 2014 18:00:00 +0100 + +retroshare06 (0.6.0-0.7621~precise) precise; urgency=low + + * Improvements + - GUI: Factored all classes used to draw graphs into a consistent common class. Reworked the look + of existing graphs. + - UDP: Tweaked TOU so it can accept Generic Sized Ip Addresses,even though it will only accept IPv4 + addresses. + - extended group share keys to Posted + - Improvements of People dialog. Patch from Phenom (slightly modified). Not enabled in this built. + - GXS: Added read status to posted messages + - GXS: Set new messages to unread + - GXS: Fixed missuse of message flag UNPROCESSED as indicator for a NEW message + - GXS: Added the delete of the TokenQueue in some destructors to fix crashes. + - DHT: Fixed up DHT Stats window so you can maximise any section with splitters. + - DHT: Add peer version to Ping Message. (improves finding RS peers) + - DHT: Add local flag to search query - to only find bitdht peers. + - Fixed check if address has changed - was preventing resetting of local port + + -- Cyril Soler Sat, 18 Oct 2014 21:25:00 +0100 + +retroshare06 (0.6.0-0.7596~precise) precise; urgency=low + + - Switched MessagesDialog from QTreeView to QTreeWidget and use GxsIdRSTreeWidgetItem to + show the gxs id for a distant message. + - increased sync period in RsGxsNetService so as to reduce network load. Increased transaction + timeout to 30 seconds + to avoid wasting too many transactions + - Fixed initial fill of the contact list in message composer when only trusted people is checked. + - Replaced external library libcrypt32-cygwin.a by libcrypt32.a from MinGW for Windows compile. + - added a structure in GxsNetService to record who sends info about groups, so as to dynamically + compute group popularity. The GUI needs to be improved to update + regularly so as to reflect current values for popularity. For now only + subscribing/unsubscribing and new messages trigger the update + - fixed display of channels with publish key + + -- Cyril Soler Sat, 11 Oct 2014 15:28:00 +0100 + +retroshare06 (0.6.0-0.7584~precise) precise; urgency=low + + * Improvements + - implemented publish key sharing between peers for channels. + - Added automatic upgrade (cipher_migrate) of the sqlite database. + - Setup common folders for libraries, includes and binaries of all external libraries for Windows compile. + - Enabled Antialiasing for QGraphicsView and channel images + - enabled by default to inform me via Message a Friend request from a known peer + - Fixed load/save config of FeedReader plugin + - Big progress for People dialog. Phenom work. (Not enabled in unstable version) + - restaured tunnel names in the gui + - added Qt socket test to update TOR led. This is a very basic test that does not prove the presence of TOR on the socket. + - Forums load all messages (not only latest), Fixed flat view + - RsGxsIntegrityCheck + * Fixed message hash checking + * Added check for existing but not loadable messages + * Notify the gui when messages are deleted + - Removed Edit/Delete ID Buttons, for better look and feel and get more space for the search filter, use Edit/Delete from context menu. + - Removed the directory name of the message file name in the database column "nxsFile". + - removed "use old key format" from certificate export + - improved GXS Id display when unsigned, in Identities. + - fixed fonts for IDs in Identities + - Fixed count of new and unread messages for Channels and Posted. + - improved naming and layout in Identities + - Removed Add Friend Button from Friends Dialog + - Removed Distant Chat page from Settings + - use ProfileManager to export own PGP key pair in keyring and profile. + + -- Cyril Soler Sun, 05 Oct 2014 20:00:00 +0100 + +retroshare06 (0.6.0-0.7555~precise) precise; urgency=low + + * Improvements + - this version is the first unstable release of 0.6. It is incompatible with v0.5.5, but can be + used simultaneously on the same computer. Please see release notes for v0.6 + on https://retroshareteam.wordpress.com/ + + -- Cyril Soler Sun, 21 Sep 2014 20:00:00 +0100 + +retroshare (0.5.5-0.1~precise) precise; urgency=low + + * Improvements + - General + * Updated languages from Transifex + * Added language Catalan (ca_ES) + + - Transfers + * new cache system for RemoteDirModel, which significantly speeds up the display of shared files + * added generic function to return the correct string for scanf for unsigned ints depending on the + size of the actual variable that is scanned. Should fix the rehash bug and bugs corrupting + timestamps on some 32bits systems + * Added few more file type icons for "cpp", "h" nd "c", "patch" and "diff" extensions + * Moved Uploads to Downloads Tab. + * Added to change the text for the Play Button, when file is not a media file. + * Added a custom context menu for pasting RS-links to the base class MimeTextEdit and removed + the custom context menu from derived classes. Updated english translation. + * patch "AddSearchFilesourceSorted_6951.diff" from Phenom. Adds correct sorting for search results. + * extended max chunk TTL to 1 hour. A short TTL is not anymore needed since chuns are shared between sources + + - Chat + * patch "chatdialog_allow_buttons_from_different_plugins_3" from electron. ChatDialog allows + now Buttons from different Plugins. + * patch "Fix_ChatLobbyAutoSubscribe_6951.diff" from Phenom. Fixes request for existing lobbies + when no lobby ihas been found yet. Code beautification + * added lobby ID as tooltip to lobby list + + - Forums + * added ElidedLabel to be used in places where labels might be too long and therefore + trigger an unwanted window resize. This is currently used as forum thread titles (Patch from Phenom) + + - Channels + * patch "Fix_ChannelNotificationFeedLink" from Phenom. Allows to finish loading a channel + before jumping to the linked post + * Added a default background color for the Channel Message Logo for a better look and feel, + removed stretching of the logo, set a minimum size, background is now filled black. + + - Notification + * reworked the notification system, which is now a standalone service. Now plugins can receive notifications. + * Corrected the layout of the Connect Progress Dialog + * Changed the logo size for some news feed items to use same size for better look. + * Added to display blue/black forum message icons for the forum feeds, when forum is anon or signed. + * Added new feed item types and logic to show connection attempts from forged certificates + (e.g. bad signature, bad certificate) + * Limit number of feed items to 500 to avoid flooding + * Changed the default stylesheet color for the Security Feed + * improved display/fixed bugs in security item + + - plugins + * Added service pointer for forums to the plugin interface + * FeedReader: Used the forums pointer from the plugin interface instead of the global pointer + * added missing services in RsPluginInterface class + + - GXS + * Enabled the Filter Line edit for filtering friends, by nick/ID for Create Circles Dialog's + Known Identities Widget. + * Set some minimum header sizes for some items + * Enabled sorting for the QTreeWidget's + * fixed temporary to load the Wiki Groups Tree at startup, auto update seems not to work. + + - core + * moved PGP id and SSLid types into rsid.h, and renamed them with a more appropriate name + * fixed cipher list for openssl. ECDHE is not configured, so it cannot be used + * added serialisation methods for SSLId and time_t + * added an option in the pro file for dsdv, as it is compiled when not used + * removed status member from FileDetails. Not used => misleading + * removed asserts in reader_armoured.c, reader_encrypted_se.c, reader_encrypted_seip.c, readerwriter.c + * Allow loading packets of large size from config files (fixed storing of big messages), + and continue on config files skipping items that cannot be deserialised (Modified patch from Phenom) + * put a hard limit to packet size in pqistore to avoid calling realloc with fancy numbers + when the stream has been corrupted + + * Bug fixes + - fixed bug due to ot sending notifications to the file lists + - added missign cleanup call in RsAES.cc, causing a small memory leak + - Changed order of the shutdown to fix a crash of the WebUI plugin. First stop the + plugins then the other services. + - fixed ghost lobby issue (thx to thunder for spotting it out) + - patch from HM to avoid allocating absurdly long uids + - added check to only import version 4 keys in the keyring + - fixed error handling in certificates that could crash RS when a bad cert is pasted + - fixed proper handling in failed malloc in openpgp-sdk, causing crash with deliberate bad cert. + - fixed small error in pgphandler, potentially adding empty certs in database + - limited the number of packets to be parsed in a row, to prevent compressed + data to contain an enormous number of packets. Fixes one possible attack pointed out by HM + - removed potential uninitialized memory read in TlvKey item. + - fixed mismatched free/delete in p3channels.cc + - fixed bug introduced in 6965 that prevented people joining private lobbies to see the messages and talk + - fixed potential attack by supplying non hexadecimal strings as certificate common name + - Fixed spaces in copy/paste of rich text (Patch from Phenom) + + -- Cyril Soler Thu, 09 Jan 2014 20:00:00 +0100 + +retroshare (0.5.5-0.6933~precise) precise; urgency=low + + * Improvements + + - fixed up some debug text (patch from H.Morgan) + - reduced string for lol bomb filtering, to filter out <\?xml* instead of <\?xml\ * + - Added freeze option in NetworkView (Modified patch from K. Eisentraut) + - Updated languages from Transifex + - fixed up compatibility with Qt5 + + PGP + - added restriction to only accept self-signed certificates for friend keys + - added test program for identity import + - removed asserts from validate.c, and signature.c in openpgp-sdk + it will not be shared until re-hashed. Should prevent chunks error in files that get hashed while being copied. + - do not accept keys without a uid. Previously this was crashing RS + - added check over recursive compression depth. Fixes CVE-2013-4402 + + Channels: + - Added back the Subscribe Button to Channels + - Use destination directory when manually downloading a file from a channel + - Show destination directory in channel details + - Fixed utf8 issue when choosing the destination directory + + GUI + - show fingerprint in ConfCertDialog, and splitted the string with spaces. Removed + the use of the ambiguous peer id for both pgp and locations ids + + Global router (Not active yet. Is a replacement to tunnels for messaging. Wil allow offline anonymous distant messages) + - squeleton code for the whole system + - computation/update of routing probabilities + + File Transfer (Speed changes according to experiments from jolavilette. Brings the max LAN speed from 1.3MB/s to approx 13MB/s) + - set desiredRate of peers to 10MB/s instead of 1MB/s + - maximum number of active chunks per peer is now 20 (that was a serious limiting factor) + - ticks that bring no data are not accounted for in the speed estimate anymore. The data is averaged over all ticks + since the previous non zero data chunk -> this brings much more stability to sources and removes lots of oscillation. + - added post-hash check for file modification. If the file has been modified while being hashed, + - removed false warning that come up when openning a non existing file in ftFileCreator. + + Shared Files + - changed re-hashign strategy. Now uses in priority the system time of the index file as a reference for new files. This automatically + accounts for changes in system time and fixes the re-hashing bug for daylight changing time. In case the reference time cannot be + establishd, the comparison reverts to the old method. This change is backward compatible and should not cause a re-hash. + + * Bug fixing + - fixed import of retroshare identities that have multiple signatures from the same key ID. Fixed bug reported by claude37 + - split lastRecvTimeStamp into two different time stamps: one for last + time the file is wrote (or data is received) and one for last activity + that is used (and sometimes reset) by ftcontroller when queuing files + - fixed display of correct IP for connected friends. Only the external IP was shown previously. Port is not + shown because it is random and could be misleading. + - filter out disallowed direct sources from file request source list. Should systematically prevent unwanted direct transfers + + -- Cyril Soler Sat, 08 Dec 2013 12:00:00 +0100 + +retroshare (0.5.5-0.6864~precise) precise; urgency=low + + * Improvements + - code fixed up for Qt5,added display of Qt version in AboutDialog + - fixed up compilation for MinGW-w64 + - Added new options to retroshare-gui.pro for Qt 5 + - Added new file QtVersion.h with macros to compile with Qt 4 and Qt 5 + - fixed GUI for encrypted messages. Now showing correct To/From, added icon for decrypted msg, correct To when reply + - allow change destination directory for queued files (modified patch from Phenom) + - remove three costly loops in ftController + - added help strings in some config pages (relays, notify, plugins) + - added warning label in MakeFriendWizard to warn against too many friends + - changed the voip icons, disable the voip buttons when friend is offline. + - added scope timer to measure times conveniently + + * Bugs + - removed potential deadlock in notifyQt + - fixed bug that would cause virtual peers list for outgoing files to never get cleanred up. Also improved + cost of updating the status of virtual peers. Many thanks to Jolavillette for finding this out! + + + -- Cyril Soler Sat, 19 Oct 2013 15:00:00 +0100 + +retroshare (0.5.5-0.6804~precise) precise; urgency=low + + * Improvements + Optimisations/compilation: + - re-wrote cleanupDirectory() function. As this a cause of the slow startup. Startup time is massively improved! + - Fixed compile of the libraries with MinGW 4.8 on Windows. + - Removed the external library pthreads 2.8.0 on Windows build and used the library of MinGW (version 2.8.0 too). + This fixes header mixup of bo th versions. + - Switched to the release version of pthread so the name of the dll changes from pthreadGC2d.dll to pthreadGC2.dll. + The new dll can be found in the bin directory of MinGW. + - Optimized p3HistoryMgr::cleanOldMessages + + File Transfer: + - restore file state when restart (Modified patch from Phenom) + - Enabled multi-tunneling by consistently perturbating partial tunnel id in TRs. + This causes tunnels with a different route to have different ids and therefore + coexist as different sources for a given transfer. + This should cause file transfers to have more tunnels and therefore a better balance + of bandwidth over intermediate peers. This needs to be evaluated on a large scale network. + - included random bias in tunnel ID computation to make them impossible to correlate to the end points + + Distant chat/lobbies/chat: + - added the possibility to distant chat with unverified identities, while warning the user about it. Should help distant chatting. + - removed warning that happens when lobby has no activity + + Key creation + - added entropy collection system based on mouse movement to location/identity creation, to make keys less predictable + + Connectivity: + - Made connection progress dialog only show up when really making friend + + Security: + - Enabled PFS for SSH connections, based on a 4096 bits safe prime. This is retro-compatible, meaning that + old peers will connect to the new one using PFS if they act as a client (meaning they request the connection) + - added limit to posts on chat lobbies to 6000 characters, removing the risk of enormous posts crafted to kill the msg history + - added filter to take care of svg bombs that can be hidden in the strings in lobbies,forums,channels and chat + - added control for suspicious message activity in chat lobbies. Lobby items are not bounced if coming + from a peer that sends more messages per seconds than a given limit. The limit is adaptive and depends on lobby count + - added limit in number of chat lobby ids sent by a peer + - added filter to remove xml bombs in all std::wstrings. + + Various gui stuff: + - added a "Load Images" system to messages. + - added new delegate for BW statistics window. Changed column names to more appropriate values (Patch from Phenom) + - Added proper sorting of DL files according to sources (Patch from Phenom) + - changed the connect wizard so that we can add someone key to keyring without making friend. + - fixed image resizing for channel thumbnails. Apparently there is a bug in Qt preventing + Qt::KeepAspectRatioByExpanding to work correctly + - Changed the additional buttons of ChatLobbyDialog and AudioPopupChatDialog to QToolButton. + - added some sound files + - changed the voip icons and the tooltips + - added fingerprint to cryptopage + - added tree items for chat lobbies. + - moved help browser from MainPage to new base class FloatingHelpBrowser + - added warning info label to MakeFriendWizard + - Added info widget for encrypted messages in MessageWidget + - removed copy/paste of links of type PERSON in friendlist. This caused confusion and did not provide + anything useful since the creation of the full certificate links + - changed default header text and context menu icons + - changed the default style layout of profile creation dialog + - highlight peers in network graph according to friendship distance from selected node + + Chat lobbies + - added history parameters for chat lobbies + - added max storage time for items in chat history. Avoids filling up the history with chat from volatile peers. + - worked out the layout in config->ChatPage in a more compact design and added help + + * Bug fixes + - fixed missing update of transferred bytes count, that caused tunnels to not show a correct speed estimate on server side + - fixed bug in turtle router, causing potential memory access error in rare occasions (sendItem does not + delete items fast enough, normally). + - added missing setPeerState that caused tunnels to get stuck to default minimum rate unless + the list of connected peers change + - fixed bug showing play for unfinished files and preview for finished ones + + -- Cyril Soler Sat, 12 Oct 2013 15:00:00 +0100 + +retroshare (0.5.5-0.6732~precise) precise; urgency=low + + * Notes + This is the final release of the 0.5 brand. + + - distant chat (encrypted with AES-PSK using tunnels, autenticated with PGP) + - distant messages (encrypted, through tunnels) + => See http://retroshareteam.wordpress.com/2013/08/08/distant-chat-and-messaging-using-generic-tunnels/ + - connection progress/status dialog + - keyring cleaning dialog + - improved GUI (better layout, higher readability, protection agains xml bombs) + - many bug fixes in core + + -- Cyril Soler Tue, 08 Aug 2013 18:00:00 +0100 + +retroshare (0.5.4-0.6685~precise) precise; urgency=low + + * Improvements + - Added connection progress dialog, to show connection state, and give some feedback/advice to the user + - added storage for denied connections in linkMgr + - new splash screen / about image + - improved GUI layout. Many patches, mainly from Phenom, electron + - GUI improvement for distant messages, showing correct names, handling links, correct toasters, etc + - improved security feed so that one can send distant messages to peers that attempt to connect + - improved command line parameter handling (used argstream class) + - Disabled setting "Start RetroShare when my system starts" on Windows when running the debug version. + - modified patch from AC to remove messages with security issues (e.g. Billion Laughs bomb). The message is + replaced by a warning, and is not forwarded + - Updated english translation + - Enabled distant messages. These need to be switched on the config->Messages. GUI improvements needs to be done, + such as properly setting peers names everywhere, but the service works. Have fun using it! + - updated values for min/normal partial packet size to 1MB in openpgp-sdk, so that we do not create partial packets + for everyday use. We will have to properly extend openpgp-sdk to support parsing of partial packets if we want to + PGP-encrypt chunks larger than 1MB + - patched RsCollection code to disallow crafted xml bombs + - plugged send message from security item to send distant messages + - added info about libssh-0.6.0rc1 in README.txt + - added argstream.h (with authorized modified licence) to handle parameter lines + - added Use As Direct Source in service permission dialog + - fixed OpenBSD compilation (Patch from Stefan Sperling) + - Removed rsiface and moved configuration options to RsServerConfig + - Fixed cipher list to "HIGH:!DSS:!aNULL:!3DES", which should disable the weak ones, no idea how to force it to + PFS (which it should use) + - fixed void * pointer maths. + + + * Bug fixes + - Added missing location from cert when addign new friend + - Added missing IndicateConfigChanged to p3PeerMgrIMPL::setDynDNS + - Fixed crash when closing the main window without the setting "Minimize to Tray Icon" + - Renamed the setting "Do not Minimize to Tray Icon" to "Minimize to Tray + Icon" and fixed wrong usage Please check your setting! + - removed dropping an entire config file when a single item cannot be serialized. + - removed time shift warning in lobbies. Changed into warning in help panel + - fixed bug allowing malicious peer to display lobby messages in broadcast window + - patch to avoid corrupting file cache on 64bits archs that store time_t as 32bits (from Stefan Sperling) + - allow big messages to bounce correctly in lobbies, after fixing a splitting error. + - fixed lobby aut-subscribe by looking at lobbies every 121 seconds + - fixed looping in pqistore when a crazily long packet is found. That is + the result of an unknown bug, but at least we should handle it correctly. + + -- Cyril Soler Tue, 08 Aug 2013 18:00:00 +0100 + +retroshare (0.5.4-0.6546~precise) precise; urgency=low + + * Improvements + - doubled data chunk for signature in chat links. Apparently some keys need more than 287 bytes + - added security checks against disk full in PGP keyring manager + - TokenQueue: fixed stop of TokenQueue polling when events are locked + - RsProtectedTimer: switched to faster poll when events are locked + - distant chat: added ACK system to make sure the secured tunnels for distant chat are actually working, before one starts using it. + - moved all files related to file transfer in gui/FileTransfer/ + - renamed known people into keyring + - make friendlist fully resizable (Patch from phenom) + - added DynDNS to RS certificate link if available + - removed MT19937 random generator which is not used anymore. Changed N from 624 to 1024 to reduce cost + - improved completion for chat (Patch from Phenom) + - added help panels in MainWindow, to help beginners startup with the basic concepts. + - changed welcome message in broadcast chat + - improved GUI layouts in FriendList, NewsFeed, Forums, Channels, removed doubling unused buttons + - added last time of transfer (Patch from Phenom) + - added column with IP for connected peers (modified patch from Phenom) + - Removed some more hardcoded colors + - added completer to MimeTextEdit and ChatWidget (Patch from Phenom) + - fixed deadlock (reported by Like) + - Added quick fix to show the plain name and title in the chat lobby + - Use the best network interface to route an ip instead of the first interface in getLocalInterfaces on Windows + - Fixed showing utf8 characters in chat lobby name + - Updated build instruction in file readme.txt (Patch from Henry) + - Patch (modified) from Phenom to allow auto-subscribe to chat lobbies + - added display of SSL encryption parameters in PeerDetails dialog + - fixed packaging with GXS (sqlite linkage, define for encrypted database + - patch from Henry morgan to fix soem typos (e.g misspelled connexion into connection) + - Made pqiStore accept packets even after deserialization error, so that it is retrocompatible (Patch from Phenom) + - Set path to sqlcipher instead of sqlite for Windows compile. + - new db for release, TESTNET5, old TESTNET4 db's are not keyed + - Updated english translation + - added Specific protected timer class RsProtectedTimer to avoid passwd deadlock. + - Added filter of items to RSTreeWidget. + - removed email field from GenCertDialog, since it is not useful inside RS + GXS: + - GxsChannels: + * cleaned source code + * added auto refresh + * added todo button + * removed some debug output + - Posted Links: + * cleaned source code + * added auto refresh + * Updated english translation + - GxsForums: + * added automatic refresh after subscribe/unsubscribe + * removed some debug output + * moved GxsForumsDialog.* to gui/gxsforums + * optimized steps of the progressbar when loading + * added UIStateHelper + * removed debug output + * added Todo button + - Identity: + * Redesigned dialog + * Fixed high CPU usage when showing reputation list + * Added todo button + - UIStateHelper: + * Added new base class for easier handling of ui elements with token request (show "Loading", set enable state, ...) + - Circles: + * cleaned source code + * added auto refresh + * added todo button + * fixed utf8 issues + * added new strings to translation + - added three new classes for automatic refresh of ui + * RsGxsUpdateBroadcastBase + * RsGxsUpdateBroadcastWidget + * RsGxsUpdateBroadcastPage + - prevent call to :singleShot on RsProtectedTimer + - extend RsGxsUpdateBroadcast + - added automatic refresh to Identity and Forums (except subscribe/unsubscribe) + - Added new method cancelActiveRequestTokens to TokenQueue + - GxsIdChooser + * Sort items + * Added timer to load not cached RsGxsId's + + * Bugs + - fixed deadlock in notifyQt + - fixed memory leak in cert signature verification at connect (Patch from Phenom). Also removed some unused variables reported by gcc + - add date to chat msg if it is mroe than 1 day old + - fixed bug in distant chat accepting tunnels for collecting invites with same hash + - fixed memory leaks in p3distrib, signature key verification, RsDataService::retrieveNxsGrps, + RsGxsNetService, p3GxsCircles, p3Posted, RsDiscReply handling, getGroupData of all gxs services + + -- Cyril Soler Tue, 02 Jun 2013 22:00:00 +0100 + +retroshare (0.5.4-0.6455~precise) precise; urgency=low + + * Improvements + - GUI + * added/enabled GUI for distant chat (Invitation handler in config->chat, handling of Distant chat links) + * Localized Greek and Dutch (patch from Henry). Updated English. + * Languages updates from transifex + * Color transfer for copy/paste (patch from AC) + * various improvements to FriendSelectionWidget + * typos (patches from Henry) + * Added default stylesheet for the QTextEdit in ProfileManager + * Fixed sort of friends in shared files. + * fixed update of flag for peer signature over own key + + - FT + * added a new per-friend flag to allow to seek for direct transfers. Disabled for existing friends + (should be added manually), enabled by default for new friends + + - libretroshare + * Merged branch v0.5-GenericTunneling into trunk (Rev. 6284 to 6410). + - Tunnel system is now generic. Any service can asks for tunnels and send generic data through them + - made ftServer a client of the service. Now turtle file items are handled in ftServer + - added new client: p3MsgService to send/recv pgp-encrypted distant messages + - added new client: p3ChatService to perform private (AES-encrypted) distant chat through tunnels. + - added distant chat. Works on invitations and tunnels. Has tunnel closing notification. + - Added system to collect and create chat invites from pgp keys + - /!\ Needs a route of peers with version > 6441 to work. + * drop generic items with inconsistent peer id vs. tunnel directions (due to tunnel re-routing) + * fixed several compiler warnings + * fixed bug in anti-search-by-depth mechanism + * Fixed crash with Windows compile. Renamed method "RsFiles::CopyFile" to "RsFiles::copyFile" (lower case) + to avoid renaming of "CopyFile" to "CopyFileW" with the newly included "windows.h". + + - GXS + * Merged GXS-phase2 branch into trunk + * Enabled db encryption and changed gxs folder + needs sql cipher to compile if gxs compile flags are enabled + * Bugs + - Fixed deadlock in FriendSelectionWidget + - fixed assert for non RSA keys + + -- Cyril Soler Sat, 22 Jun 2013 15:00:00 +0100 + +retroshare (0.5.4-0.6399~precise) precise; urgency=low + + * Improvements + - Added a drop-down item to allow removing unused keys, in the Network dialog, key removal method in OpenPGP-SDK, + and PGPHandler. + - added backup system to public keyring, impossibility to remove public parts of owned secret keys, etc. + - added columns for last used statistics on pgp keys in network dialog. + + * Bugs + - fixed display of names in file lists + - fixed destination directory when downloading channel items in auto DL mode + - improved time-stamp management for pgp keys + - fixed translatable string with .arg (Req. From H. Morgan) + + -- Cyril Soler Sun, 02 Jun 2013 23:00:00 +0100 + +retroshare (0.5.4-0.6379~precise) precise; urgency=low + + * Improvements + - GUI + * added choice for default auto-download directory per channel. + * Removed unused member mChanReadStatus from p3Channels + * Ensured that inserConnect() is only called when the widget is visible. This reduces lags due to discovery info. + * patch from phenom to all resizing lobby participant lists + * Added patch from Henry Morgan, Fixed some typos. + * Added a info Label for the Friend Request Page + * Fixed online time in profile widget, Fixed width of settings dialog. + * patch (from Henry Morgan) to make the tooltips translate-able in the group flags widget + * Fixed the perm bug in ConnectFreindWizard (Patch from Henry Morgan) + * patch from Henry Morgan to use ConfCertDialog rather than connectFriendWizard from Security item + * made passwd box modal + - pgp + * added ability to keep track of when keys have been last used for signature check, signing and encryption, + so that we can later detect which keys are unused and get rid of them + - Chat Lobbies + * Enabled history for chat lobbies (not saved to disc) + - FeedReader + * Added new icon for news feed from Agurer + * added new setting to save the config in the background for slow systems + * fixed memory leak in p3FeedReader::saveList + - retroshare-nogui + * Updated version of RPC protocol with fancy new features like streaming, add/remove friends, file listings. + (Merging r6107 through r6332 into 'libretroshare') + - GXS + * lots of ongoing developments. + * Bugs + - GUI + * Fixed sending of status typing in chat. Modifier keys does not send typing anymore. + * patch from Henry Morgan to avoid removing peer permission flags when removing locations + * fixed remembering flags for own id, tentatively fixed service perm bug + - File transfer + * changed priority for forwarded turtle traffic. The priority was so low that it explains + why tunnels of length > 2 are so slow + - fixed bug in p3peer.cc not calling the correct method + - added missing mutex, and warnings if permission flags methods are not called with correct ids + - fixed bug that would reset service permission flags when discovery is enabled and discovery info is received + + -- Cyril Soler Sat, 25 May 2013 14:00:00 +0100 + +retroshare (0.5.4-0.6270~precise) precise; urgency=low + + * Improvements + - translations updated from transiflex + - Major improvements to GXS services (new service: channels, posted) and GUI (Not yet released) + - further reduced TR forward probability so as to avoid a crazy increase of TR out when we have a large number of friends + - renamed Transfers tab "File Sharing", as it is more appropriate + - removed the constraint of sharing own files only in channels. Replaced it by a warning, to allow peers to post from other locations etc. + - switched to libssh-0.5.4 (updated README.txt with package deps) + - fixed packaging/compilation for ubuntu raring + - significantly lowered the cost of the network graph by computing pairwise repulsive forces 8 times less often + - Patch from AC to enable completion over chat lobby participants + - patch from AC to better handle colors in lobby list + - fixed up protobuf files generation + - improved chat lobby layout (removed columns => tool tip) + - added a warning in chat lobbies when there's a big time shift between peers. + - renamed Security page in settings => Profile + - added dest dit to FT details window + - added warning when opnning external url + - VOIP + * Removed special settings for win32 from VOIP.pro + * patch from Henry Morgan to unify compilation settings for VOIP + + * Bugs + - removed dead-end for peers not answering downloads, that would get file cache transfers to get stuck indefinitly + when peers are too much stressed for a short period. The offline state is entirely given by setPeerState() + - fixed a few fixed other uninitialized memory read (In p3NetMgr, ftChunkMap) + - do not show msg icon for current lobby (Improved upon patch from AC) + - removed auto-clear of search field when searching (Patch from AC) + - fixed auto DL for own channels. Apparently the channel status is missing for this special case + - allow to import new identity before even creating one + - fixed up profile manager to only allow to export (Importing during a session caused a bug) + - dropping chat lobby msg for more than 10 mins in the future + - re-enabled context menus in chat lobby list + + -- Cyril Soler Wed, 14 Mar 2013 21:30:00 +0100 + +retroshare (0.5.4-0.6178~precise) precise; urgency=low + * Improvements + - Added dynamic menu for choosing the destination directory for files, and change the name of the des. file + - Merged branch v0.5-ImprovedGUI. Brings all sorts of changes, the most of which are: + * News feed to be a new tab at the top level. + * improved transfers panel. Some tabs have been moved to Config. + * new Chat lobby panel with improved layout. Removed tabs. + * merged shared files and search into Transfers + - Auto-check of shared files after download + - Removed Qt flags from nogui .pro file + - Packaging of VOIP for ubuntu lucid, and improved packaging scripts + - Added new "Progressive" download mode, in between random and streaming. Still random as the + former and disk-friendly as the later. + - Lots of work on ongoing new services (Not released yet): Wiki, GXS, Forums, Identity. + + * Bugs + - Fixed crash when lobby invitation received + - Fixed DL getting stalled in streaming mode + + -- Cyril Soler Wed, 27 Jan 2013 21:30:00 +0100 + +retroshare (0.5.4-0.6099~precise) precise; urgency=low + + * Improvements + - GUI + * Added new dialog to set service permissions for friends. + * Enabled embedded images in private chat and messages (only for QT version 4.7.0 and higher) + * added tooltips to GroupFlagsWidget when buttons are unchecked (Patch from Anonym) + * when an unknow user attempt to connect, show the name in the security item (Patch from Anonym) + * Load new stylesheets for locale depended things. Loading order: qss.default (internal), qss. (internal e.g. qss.de_DE) + stylesheet.qss (internal or external), stylesheet_.lqss (parallel to stylesheet) + * Added api for news feeds to the plugin interface. Added news feeds to the FeedReader plugin. + * Removed toaster for muted participant of a chat lobby. + * Removed the policy TabFocus from some gui elements. + * Made cert parsing errors translatable + * added turkish translation + + - Packaging + * packaging of NewsReader plugin and retroshare-nogui + * added patch from bNK to make glib include dir detected on all linux systems. + Removed warnings about gpgme and gpg-error , which have no reason to stay now. + + - FeedReader: + * Added error handling to xml functions + * Added xslt transformation + * Added retransform of existing messages + * Redesigned preview dialog + * Enabled embed images for forum feeds + * Changed config format, switching back to an older version results in a loss of all data of the FeedReader + * Fixed memory leak in xpath processing + * Stop long loops when closing the preview dialog or shutdown + * Added drag and drop to xpath lists in preview dialog + * Fixed save of xpaths lists + * Recalculate message count of the user notify when a feed with new items is deleted. + * Set deleted message to read and !new. + * Added test feed item in notify settings. + * Fixed crash when removing a feed displayed in the main tab. + * Fixed reading author of ATOM feeds. + + - libretroshare + * fixed inconsistency in parameter naming, causing error_string to be mixed up with gpg id (Not a bug). + * removed unimplemented entry loadCertificateFromFile() + * removed #ifdef USE_NEW_CHUNK_CHECKING_CODE (enabled by default). Disable assume_availablility to put chunks or + not in checking mode. This was inconsistent. As a side effect, cache files of size > 1MB get chunk-checked as well, which is good + * fixed tests: compilation, running, added new util functions, etc. Updated test results. + * Added little upnp utility / test. + * added checksum for new certificate format. Will be enabled in 0.6. + * Fixed up bootstrap singleshot search function. Now returns parameters. Not functioning 100% correctly yet - due + to libbitdht behaviour (TO FIX) + * merged GXS branch into trunk. GXS Services are disabled by default. + + - retroshare-nogui + * made port non-optional for -S + * Added SystemExternalAccess Function to RPC. This provides ExternalPort + DHTKey to Client. To be + used to find and connect - even if Dynamic IP address changes :) + * fixed compilation + + - GXS + * lots of improvements to GXSForums. Not released yet. + * added pegmarkdown langage to Wiki + + - Other + * added list of non backward compatible changes in README.txt, so that we can track them + + * Bugs + - fixed the wrong notification of unexpected characters in management of RetroShare Links + + -- Cyril Soler Mon, 28 Jan 2013 16:30:00 +0100 + +retroshare (0.5.4-0.5995~precise) precise; urgency=low + + * Improvements + - DHT + * disable bitdht printStatus + * increased expected dht startup period, as message rate has been dropped. + * updated bdboot.txt file. + + - Chat + * Made the private lobbies more accessible: + - record which friend participates in a lobby even after they unsubscribed. The lobby + list that is sent to these + - friends contains the privaye lobby as well. In practice, people jsut need to be invited + once to a private lobby. + - Afterwards, they get the lobby in the list of nearby lobbies and can join by clicking on it. + - added new item RsChatLobbyList_deprecated2, to replace old existing item. Should be removed in v0.6 + - changed PublicLobbies for VisibleLobbies in the code, to avoid confusion + - the change is backward compatible, although old peers won't receive private lobby info from + new peers, of course. + + - GUI + * Set email address in GenCertDialog to optional. + * Fixed display of "TextLabel" in SecurityItem. - + * Added patch from Henry: enable italian language + * Added patch from Henry: Renamed gpg to pgp + * removed some unused images + * Added "Edit Share Permissions" Context Menu entry to My Directions, to edit easily share + permissions for each directory + * Updated languages from transiflex. + * updated English, Danish, German, Swedish translations + * Added OperatingMode ComboBox to the status bar + - Added second (temporary) switch to turtle. + - Use session switch for OperatingMode. + - made OperatingMode temporary - not saved. + - Moved DataRate interface from rsiface (old) -> rsConfig. + - Internally moved storage of data rate from pqipersongroup -> p3serverconfig + - made DataRate + Operating Mode work together. + - add ToolTip to OpModeStatus .... (can't actually view - please correct as necessary) + + * Fixed utf8 characters for group names in RemoteDirModel (shared files). + * Fixed layout of the FriendRequestPage in ConnectFriendWizard. + * Added flags for services and service permissions for peers + Flags are identity-related, meaning that all locations of the same peers have the same flags. + - It's now possible to tweak which services each peer can use. Service that can be disabled are + forums/channels, discovery, anonymous routing. + - by default, peers have all flags on. + - File Transfer + * use a std::map to search file hashes instead of sweeping the entire database. Improves performance a lot. + + - OpenPGP-SDK + * Added function "ops_open" to openpgpsdk to open files with utf8 characters on Windows. + * changed fopen into RsDirUtil::rs_fopen in PGPHandler, to allow paths with utf8 chars on windows. + Shoudl probably fix many startup issues + + * Bugs + - added proper filtering of directories from RSLinks and RsCollection to avoid the possibility of writing out of the + download directory. + - Added missing closeConnection when the connection dies with SSL_ERROR_SYSCALL. + - Fixed display of files in flat view. The files of friends are shown again + - fixed bug in ShareManager causing directory flags to be set on wrong directory after sorting + - Protected waitingIds with Mutex in pqipersongrp.cc. + - Reviewed Mutex in pqihandler. + * In general it is okay, except for: DataRate Handling, and Win32 specific: WaitingList. + * Cleaned up some functions. + * renamed createPerson and createListener to locked_createPerson and locked_createListener. + This is required as neither Listener nor Person are thread safe (TODO). + - fixed missing error msg in p3cfgmgr when serialisation fails. + - fixed bug in RemoteDirModel causing infinite loop to happen when group name is unknown + + -- Cyril Soler Tue, 20 Nov 2012 12:30:00 +0100 + +retroshare (0.5.4-0.5875~precise) precise; urgency=low + * Improvements + - GUI + * patch from AC to perform html optimization of forum posts using the canonical function optimizeHtml() + * fixed bug preventing share manager to modify more than one directory at once + * Moved most of the hardcoded colors of lists and trees to the file qss.default (with help from braindead). + Now the stylesheet can redefine these colors. + * Added multiselective mute/unmute to chat lobby. Added mute/unmute with double click on icon. + * Added flag for hungarian language. + * Fixed sorting of date in forums + * redesigned the Chatlobby participants list + - used now QTreeWidget instead of a QListWidget + - added icons for display the muted participants + - added context menu for "Mute participant" ( context menu fix from thunder) + + * Removed context help button from the dialogs (currently not used) and added + minimize/maximize buttons to the "floating" dialogs. + * Added to identify for Channel Files if its a media file(s) or not, to change the Play Button text from "Play" to "Open" + + - FT + * added dynamic adding of direct sources from file lists. Useful for channels. Is called once every 61 seconds. + * Added new link type: EXTRA_FILE, to allow sendign links with sources included so as to trigger direct transfer. + This makes possible to send files through chat without permitting tunnel access to the files. The client requests + the file as a direct transfer only, using the supplied source. + + - Patch to allow compilation on BSD + - Fixed command to grab upnp patched version + + - Merged branch that provide group-based file permissions. + Now users can sort peers into groups in the friend list, and attribute flags and parent groups + to the directories in the share manager. + + Flags are B-B-N, meaning in order: + - browsable for peers in the parent groups + - browsable for everyone + - network wide for everyone + Backward compatibility makes previously BN flags been interpreted as -BN, meaning + browsable/network wide for everyone. + + The merge also includes a significant improvement of the naming of flags with incompatible types + which should sort out some existing bugs as well, since inconsistencies in flag usage have been + found during the process. + + * Bugs + - added additional checking of incoming compressed chunk map, in case the data is + currupted, which might happens with a corrupted ft_transfer.cfg file. + - fixed permission of drap+dropped files. all attached files get added to extra list, + but with different permission flags depending on the client. From that, we compute + sharing permissions : turtle, or direct transfer only + - suppressed unitialized memory read in p3peers.cc + - added missing mutex in destructor of ftFileProvider. Probably responsible for some random crashes + + -- Cyril Soler Tue, 20 Nov 2012 12:30:00 +0100 + +retroshare (0.5.4-0.5755~natty) natty; urgency=low + + * Improvements + - GUI + * Added icons for the Channel TreeWidget + * Added placeholder text for Search Filter items on Group TreeWidget + * Added placeholder text for Search Filter items in Messages Dialog + * update the authors on the help page + * Redesigned GenCertDialog for the usage in Profile Manager. + * Removed the filter comboboxes and replaced it with a menu in LineEditClear. + * Added settings for the blinking icons + - private chat window/tab + - chat lobby tab + - all tray notifier + * Added a find Icon Button for the class LineEditClear + * Removed all not needed find icons from the Dialogs. + * Enabled sorting for the Lobby Dialog + * Added a placeholder text for the Search Forum filter + + * Added blinking of the chat icon for private chat window and chat lobby + * Added blinking of the systray icon for the notifier and enabled it + for private chat. + * Cleaned includes in FriendsDialog.cpp + * Fixed switching between combined and not combined tray icon notify + with available messages. + * Added sounds when message has arrived and download was finished. + * The next unread button in forums search for child items and start + at the top when the end of the list is reached. + * Changed SoundManger to allow the plugins to play sounds. + * Added example to VOIP (commented out). + * Added more PRE_TARGETDEPS for Windows compile. + + - DHT + * Improved the dht msg history storage. + * specify how long we store for. + * cleanup old msgs. + * improve printing of history. + * add timeline storage as well. + * disabled by default, enable USE_HISTORY in bdnode.c + + There appears to be a bug related to copying bdId's around. + Some of the bootstrap ids are malformed, and this crashes rs. + + * Bugs + * Fixed stupid bug inDHT. Labels are the wrong way around. + This meant limit is set to HIGH (50msg/sec) when it should be LOW + (5msg/sec) + + -- Cyril Soler Sat, 27 Oct 2012 14:30:00 +0100 + +retroshare (0.5.4-0.5697~natty) natty; urgency=low + + * Improvements + + - GUI + * Added Search Filter for the FriendsList + * set a minimum spacing on ChatWidget + * Added to display tooltip's for the Voip button's + * Moved the Send Button to right side of the Chat LineEdit for better look. + * Changed some language strings in the GUI, removed hardcoded fonts (Patch from Henry) + * removed html strings from GenCertDialog + * moved some description text from the header, to look better + * update translation strings + * several improvements of the GUI layout. + * cleaned up many unnecessary files + * Improved (ungendered) English friend recommendation message (patch ID: 3536093 ) + * Support for custom qss in data dir and config dir + * update win installer script, to install turkish Qt translation + * renamed Bubble Compact folder + * Added attempt to load the translations for the Qt's internal srings from datadir/translations + + - VOIP plugin + * Added support for external translation files for the main application and the plugins LinksCloud and VOIP. + The following files are loaded from the directory /translations: retroshare_*.qm, LinksCloud_*.qm, VOIP_*.qm + * Added turkish voip translation + * Added Brazilian Portuguese VOIP translation + + * Bugs + - Fixed "jumping" of the items in channels and news feed when items are changed (load, toggle and remove). + - Added workaround for QTBUG-3372. + - Hide request Label, when peer is unknown + - Fixed edit of a message with plaintext. The newlines remain unchanged (investigated by braindead) + + - Plugin LinksCloud: + * Fixed crash when clicking on the link. + * Fixed process of https links. + + -- Cyril Soler Sat, 20 Oct 2012 14:30:00 +0100 + +retroshare (0.5.4-0.5611~natty) natty; urgency=low + + * Improvements + - removed some warnings and debug info + - Fixed sensitivity of the action in the context menu to copy a link from the chat text + when scrollbars are visible. + - Stored some license files to utf-8 encoding, required by nsis installer + - Changed font color in ProfileWidget to standard. + - Corrected installer translation + - Disabled fix color of chat messages for Qt 4.5 and lower because of missing methods on QColor in Qt 4.5 + - Add direct public sources for files shared in channels, when available + - Improvements to turtle router: + * made faster tunnels stay longer by increasing tunnel campain time. Should favor fast tunnels. + * desactivated tunnel shortenning since it cannot produce consistent tunnels every time + * increase cache TTL for search requests to 240 secs and tunnel requests to 120 secs. + This should remove some zombie tunnels and search requests. + - Debian Buildscript. Fixed Version for Packagename + + * Bugs + - Fixed crash when closing the settings dialog + + -- Cyril Soler Sat, 26 Sept 2012 22:30:00 +0100 + +retroshare (0.5.4-0.5582~natty) natty; urgency=low + + * Improvements + - updated to v0.5.4a + - improved chat readability (Patch from AC) + - Added patch from braindead for embedded images in private chat and + messages (only for QT version 4.7.0 and higher) (Not enabled on 0.5.4a release) + - removed debug info outputs + - changed priority of search request items to 6 instead of 5, to make it + consistent with tunnel request priority + - added missing libs to compile on arch linux (Patch by AC) + + * Bugs + - ensure that ssl id is always converted to lower case before being used + to add a new friend. This fixes the bug allowing to add multiple times + the same friend by changing the case is the SSL id + + -- Cyril Soler Sat, 22 Sept 2012 14:30:00 +0100 + +retroshare (0.5.4-0.5555~natty) natty; urgency=low + + * Improvements + - improved plugin system + * now using two lists of rejected/accepted plugins. RS asks at start to load unknown plugins + when plugins or main executable have changed. + * added API and SVN numbers into required external plugin symbols + * added help dialog to plugins + * improved version number scripts to add the missing revision number as a int + - Added window icon for the application. All windows without a parent are now showing this icon. + - Moved some internal stylesheets to the file Standard.qss. + - Tweaked standard style of the feed items. + - moved file rsversion.h to rsguiversion.h, since it caused a conflict with libretroshare/src/util/rsversion.h + when included as util/rsversion.h. Updated version detail script. + - reworked context channel menu to allow unsubscribing from own channels. Removed some irrelevant items. + Added warning when publish rights can/cannot be restored. + - Improved ProfileManager + * removed combobox and added export to the list of identities + * add extension to the filename when the user enters a name without extension + * refill list after generating a new identity + - Fixed height of the search input field when using no stylesheet. + - Changed the colors of the feed items. It was too bright. + - Enabled the menu item in the context menu again to copy the link when right clicking on a link. + - Reworked some elements in the standard gui. + - Added VOIP Plugin to windows installer + - Added new finish translation from Beluga + - Added two buttons to the NotifyPage to show examples of the activated news feeds and toasters. + Can also be used to test the stylesheets. + - Reworked design of the toaster and moved internal stylesheets to the file Standard.qss. + + * Bugs + - Fixed report of failing connexion attempts/recepts. Cleaned the code a little bit + - Fixed message in pgphandler when signing a post + - Fixed small display issue causing the availability map to become black when more than 6 sources are present + - Added missing close of the temporary keyring file. Now the keyring is saved properly and the newly + added keys are not lost after shutdown of RetroShare. + - Patch from AsamK to avoid crash when no uids are present in the key. How can this happen anyway? + + -- Cyril Soler Sat, 15 Sept 2012 14:30:00 +0100 + +retroshare (0.5.3-0.5503~natty) natty; urgency=low + + * Improvements + - Big cleaning of style sheets + * Moved some internal stylesheets to the file Standard.qss. + * Set the built-in stylesheet "Standard" as default for new profiles. + * Removed some unnecessary style sheets. + * Added two internal stylesheets: + - qss.default - This file is used as default for all stylesheets (e.g. the frames of + the AvatarWidget) and can be overloaded from the selected stylesheet + - Standard.qss - The standard stylesheet for the current look of RetroShare. More internal stylesheets can be added. + The plan is to move nearly all internal stylesheets to the files Standard.qss/qss.default. After that the "empty" stylesheet + should represent the system theme of the os. + + - Added clear chat history to the context menu of the message text browser + - Added new base class HeaderFrame - image and text at top of the windows + - Enabled the RetroShare icon of the collection file dialogs. + - estored SSLid to lower case in old certificate format. + - Removed dialog FriendRequest and use ConnectFriendWizard instead. + - Added new certificate format (Easier to parse/clean, more robust) + * checkbox for using old cert format in security page. Old format used by default, to avoid confusing newbees + * added new RsCertificate class to handle all certificate actions + - Several small tweaks to the gui + - Redesigned the Create Chat lobby dialog + - Fixed compilation with newer versions of libupnp, except for debian sid which uses a patched old version (crap!) + - update Spanish translation (from Senpai) + - Added a new page for user request to ConnectFriendWizard. The page is shown instead of the conclusion page when + the user clicks on the certificate link in a message of type user request. + - Enabled icons for VOIP plugin + - Enabled display of plugin version in plugin items + * Hide the import/export button, and set the new identity CheckBox set checked, when start a new Profile + generation from Profile Manager. + * Set PluginItem icon size to 24 + - Added automatic clean of the friend certificate in ConnectFriendWizard. + - Fixed code for certificate link generation. + - Added new Chat style Bubble, generated by Victor for RetroShare + - Added a profile manager. Shoudl be useful for importing/exporting identities. + + * Bugs + - fixed nasty bug causing crashes when syncing the keyring from disc + - added writing of public keyring to a tmp file + rename, to avoid corrupting it when RS stops during the whole operation + - Added a quick fix for the freeze of RetroShare when using a file dialog on Windows + - Fixed showup of self signatures in certificates that are not in the keyring already + - Added code to avoid corruption of bdboot.txt: first write to tmp file then move the file. Refers on + Windows utf16ToUtf8 from libretroshare. This forward reference can be improved. + - Fixed bug with empty certificate strings when clicking on a certificate link with only a PGP id. + - Removed deadly assert in validate.c:338 causing crashes on error. + + -- Cyril Soler Mon, 25 June 2012 21:30:00 +0100 + +retroshare (0.5.3-0.5400~natty) natty; urgency=low + + * Improvements + - improved GenCertDialog logic, showing import buttons only when necessary, enabled + key import when no key is present + - show count of new messages in the toolbar + - improved chat dialog (enabled colored nicknames) + - Reworked notification code in system tray. + - Added a base class and a possibility for the main dialogs and the plugins (derived from MainPage) to provide a notifier. + - added systray notifications for chat lobbies. + - Enabled some more translations in news feed items and fixed german translation. + - Removed not needed file "Thumbs.db" in skin directory. + - improved pgp cleaning function + + * Bugs + - fixed a few bugs in cert creation window: + * private key was not correctly added to private keyring + * self signature validation was reported unsuccessful when unknown signatures where found + - fixed re-copy of dht bootstrap file when the file is empty + - fixed up memory leak in openpgp + - Trim right spaces from certificate name. + - removed a couple of assert that could crash RS + - Fixed bad default value for filter column in ForumsDialog + - return false when ssl passphrase is of length 0. This should not happen, unless the file is void, since openpgp does not complain about decrypting empty files + - added auto-clean of certificates at load time. Removes many errors. + - fixed bug due to misinterpreting non SSLid drectories as potential locations + + * Ongoing developments + - merged GXS branch into trunk. No visible changes to the end user for now. + + -- Cyril Soler Mon, 25 June 2012 21:30:00 +0100 + +retroshare (0.5.3-0.5327~natty) natty; urgency=low + + * Improvements + - Merged branch v0.5-OpenPGP into trunk. Please read the following important release notes: + + User-level changes: + ================== + * libgpgme is not used anymore; it is replaced by a built-in piece of code called OpenPGP-SDK + (http://openpgp.nominet.org.uk/cgi-bin/trac.cgi) that was improved to be used by RetroShare + for handling PGP keys. + + * the gnupg keyring is not used anymore. Now, RetroShare has it's own gpg keyring, shared by all instances. + On linux it's located in ~/.retroshare/pgp/. A lock system prevents multiple locations to read/write keyrings + simultaneously. + + * the trust database from gnupg is not documented, so RetroShare cannot import it. This comes from the fact that + the GPG standard (RFC4880) asks explicitly not to export trust information. So RetroShare has it's own + trust DB shared by locations. This means you need to re-trust people. Sorry for that! + + * at start, if no keyring is found, RS will propose to copy the gnupg keyring to use your existing keys. Clicking on + "OK" will do the copy, and you should find back all existing locations, except for DSA keys. + + * locations for which the suitable keypair is not in the keyring will not be displayed in the login window + * locations for which the suitable keypair is not a RSA/RSA key will not be displayed. RetroShare does not + support DSA/Elgamal keypairs yet. + + * a key import/export exchange function has been added in the certificate creation window (you go there from the login + window by clicking on "manage keys/locations". This allows to easily create a new location with the same pgp key on + another computer. To obtain a suitable keypair using gnupg, you need to concatenate the encrypted private key and the + public key into an ascii file. This can be done using: + gpg -a --export-secret-keys [your ID] > mykey.asc + gpg -a --export [your ID] >> mykey.asc + + * importing a key with subkeys in not yet possible. Please remove subkeys before importing. + + * The code has been tested for a reasonnable amount of time, but it's not possible to prevent some new bugs + to appear. Please report them asap supplying: call-stacks if possible, and terminal output. In particular, + openpgp has some assert()'s that should not be triggered unless RetroShare is calling it in an improper way. + + Internal changes + ================ + * a specific component, PGPHandler, takes care of the interface between openpgp-sdk and RetroShare + openpgp-sdk is c-code, with it's own memory management, which has been kept well separated from + RetroShare. + + * GPG Ids are now a specific class (not a std::string anymore) for code consistency reasons. As strings are + still used in many places, this requires a few conversions. In particular, AuthGPG takes strings as + function params and calls GPGHandler with the proper PGPIdType class. In the future, RetroShare should + only use PGPIdType. The same will be done for SSL ids. + + * signature cleaning is still handled by the Retroshare built-in function, not by openpgp, but we will + do this later. + + Still to do + =========== + * DSA needs subkey handling, since the encryption is performed by a Elgamal subkey. Not sure this will be done. + * GPGIds/SSLIds cleaning (meaning replace strings by appropriate types). Lots of confusion throughout the code + in retroshare-gui in particular. + * key removal from keyring. This is a challenge to keep locations synchronised. + + - Rework of tcponudp/tcpstream should make UDP connections much more stable. + * Fixed retransmit algorithm. Much more closely matched to TCP standard: http://tools.ietf.org/html/rfc2988 + * This increases retransmit timeouts, and reduces the number of packets resent. + * Added better debugging for retrans/close as separate #defines. + * Further testing is required ;) + + - Added dynamic choose of sources for chunk crc requests. Fixes the bug that would let + a transfer not finish if the original surce for a crc is not here anymore. + If you have a unfinished transfer do a force-check after restart to get back chunks that + where still on verification stage. + + - moved channel action menu into right click, for better consistency + - Enabled word wrap of the description in ChanNewItem. + - Added a new button in ChanMsgItem and ForumMsgItem to set the message as read (without expanding the message) and + remove the item from the news feed. + - Redesigned ChanMsgItem. + - updated french translation (Max Romeo) + - improved build bat file (san) + - Moved the include folder OpenSSL to the other external includes for Windows compile. + - added warning for unsupported keys. It is triggered when no valid keypairs are found at start, and when unsupported + keys pairs are found when copying the keyring + - Enabled translation (system default language) of the message box before the login to a profile. + - Fixed german translation. + - removed not needed info buttons for the infodialog + - desactivated TrustMatrix, by the time we decide wether it is worth keeping it, and implement a better version of it + - updated package building scripts for ubuntu + + * Bugs + - fixed stupid bug in friendlyUnits() causing crashes when displaying files with size > 1TB + - possible fix for bug on ARM archs (reported by Ralfk) + - fixed possible bug due to misplaced mutex (Reported by bNK) + - added missign break, causing a crash when creating a new key + - Fixed crash when starting the help browser from friend details the second time. + + -- Cyril Soler Mon, 25 June 2012 21:30:00 +0100 + +retroshare (0.5.3-0.5254~natty) natty; urgency=low + + * Improvements + - Added windows for bandwidth/display analysis in tray menu + - Reworked tcponudp/tcpstream. Should make UDP connections much more stable + Increses increases retransmit timeouts, and reduces the number of packets resent. + Added better debugging for retrans/close as separate #defines. + - Moved QoS from pqihandler to pqistreamer. Removes one out queue, suppressed lags + when program is eavily loaded. + - Added bandwidth monitoring service to libretroshare + * p3bwctrl.h/.cc & rsbwctrlitems.h/.cc + * New Interface in pqihandler to extract the data. + * New Interface in rsconfig to display in GUI. + * Added extra debugging in pqistreamer for catching big outqueues. + - Enabled full chunk checking code: + * unchecked chunks are not made available to swarming sources, not saved as done. + * force check now uses the simple method to put all chunks in checking mode + * force checked files can be cancelled (finally!) + * improved display (use red for active chunks, yellow for checking) + * cache file are not using chunk checking (assume_availability=true) + - fixed compilation on OSX + - Added patch #3510849 from Adam (interfect). Capitalize "copy RetroShare key to clipboard" + - Added "file:///" to "%style-dir%" for the chat styles. + - Renamed "RetorShare" to "RetroShare". + - Fixed german language + - Changed chatstyle structure from + - [RS-Dir] / stylesheets / {public | private | history} / my_chatstyle / + to + [RS-Dir] / stylesheets / my_chatstyle / {public | private | history} / + - Optimized the fill of the up- and downloads in TransfersDialog + + * Bugs + - fixed bug in friendly display of size > 1TB causing crashes in e.g. channels + - fixed bug in display of upload progress + - Fixed bug in Qt for Windows Vista and higher. Convert path from native separators + of filenames from QFileDialog::getOpenFileName(s) (Patch from AsamK) + - Fixed sorting (case insensitive, numbers) in SearchDialog. + - bug fix, avatar item deserialisation unsafely assumes valid image length. caused crash on windows. + + -- Cyril Soler Mon, 25 June 2012 21:30:00 +0100 + +retroshare (0.5.3-0.5189~lucid) lucid; urgency=low + + * Improvements + - Sort participants list in the chat lobby case insensitive + - Added check for empty lobby nick name. + - Moved notify of lobby nick name change from the gui to p3ChatService. + - Added new placeholder %style-dir% for ChatStyles (patch from Imanuel) + - Fixed replacing of %color% in ChatStyle. It should not be replaced after %message%. + - Redesigned ConnectFriendWizard as ui file. + - Added new base class DropLineEdit. + - Fixed german language. + - changed base-class of AvatarWidget to QLabel (Patch from braindead) + - prepared property-dependend stylesheets + - simplified avatarwidget + + * Bugs + - Added missing mutex locks for p3ChatService::_default_nick_name. + + -- Cyril Soler Wed, 24 May 2012 22:30:00 +0100 + +retroshare (0.5.3-0.1~precise) precise; urgency=low + + * Improvements + - Added threaded loading of channels (GUI). + - added paste own certificate to chat/forum context menu (patch from AC) + - Added function to mute some participants in chat lobbies + - Switched on optimized compile on Windows. + - Improved multi-source file transfer in two ways: + * tunnels can borrow data chunks from only slower tunnels, to prevent blocking fast tunnels + * inactive chunks are asked again after a longer time, to avoid wasting bandwidth asking them twice + + - Added new notify on connect attempt by the local message system. + - Removed not needed field in FriendRequest Dialog + - Added new friend request toaster from defnax. + - Fixed base path for the external stylesteets + - Optimized channel loading and layout. + - Optimized RsCollectionDialog (still without thread). + - Enabled extended selection and mark with the key 'space'. + - Improved the default recommendation text + - Added a default styleSheet for the "Confirm Friend / Add as Friend" Button + - Moved HandleRichText from the folder "chat" to "util" and redesigned the source + - Extended RsHtml::formatText to replace the RetroShare links with an image and enabled + this for the certificate links in the system messages (friend recommendation and user request) + - Added new ObjectPainter for painting a button on a pixmap + - Display old and new nickname to Peers during nickname change in ChatLobby. + - update french translation (Max Romeo) + - Fixed utf8 in notifyQt + - Improved friend recommendation + - Added a title label to Friend Request Toaster, little design changes + - Added empty entry to stylesheet-choice for "no stylesheet" and moved method "loadStyleSheet" from MainWindow to Rshare (patch from braindead) + - Added ability to style the system messages in chat (e.g. Lobby management) + - Added new message flag for system messages like friend request. + - Show "RetroShare" as sender of system messages to myself. + - Added new quick view in MessagesDialog to filter system messages. + - Changed RetroShare link in friend request message to certificate. + - Added new subject image for the system messages (defnax). + - Removed not used notify in message service. + + * Bugs + - Removed data race in QObject::connect() vs. NotifyQt signals by enabling notification signals only after GUI is created + - Added dynamic locking function for the OpenSSL library to prevent data races. + - Fixed handling of html links in HandleRichText::formatText. + - Removed possible data race on boolean value (Not critical) + - Removed non-mutex-protected reference in p3turtle.cc + - Fixed issue with lost downloads when RetroShare exits (or crashes) during the load of the file transfer items. The pending list was not saved. + - Fixed bug probably responsible for random crashes in DHT code + - Removed usages of "std::istringstream" and "std::stringstream", which are not thread-safe. + + -- Cyril Soler Wed, 16 May 2012 22:30:00 +0100 + +retroshare (0.5.3-0.5114~natty) natty; urgency=low + + * Improvements + - removed minimal version + - Improved TR routing strategy: + * updated base forward probabilities to larger values + * used a minimum FP to 1/nb_connected_friends instead of 0. This is the larger non-explosive value. + * changed tunnel management time to 2 secs instead of 1, setting the overall number of TR/s emmitted + for all downloads to 0.5 (Should reduce the TR load for the whole network by a factor of 2). + - Activate DHTML in Doxygen Documentation, for Fold in/out Class hierarchy images. + - New Doxygen configuratin for Retroshare GUI, see at + http://notdefine.de/retroshare/retroshare/trunk/retroshare-gui/src/html/index.html + - Add missing includes "unistd.h" for compiling with gcc 4.7.0. (Patch from AC) + - Added a label for Connect Attempt after nickname "wants to be friends with you on RetroShare" + - Added "You have a friend request" label to FriendRequest Dialog + - Renamed "Accept Friend Request" Button to "Confirm", + - set correct stylesheet for new forum item + - Added stylesheet for the Friend Request Buttons + - Added new basic class for a QLineEdit with a clear button - LineEditClear. + - Enabled file preview on Windows. + - The link file to preview a not finished download is created in temp directory. + - Added a messagebox when preview a not finished download to remove the link file. + - Fixed german language + - Removed the max length from the ip fields in ProfileWidget to display all 15 digits. + - enabled disabling autodownload for channel admin (patch from asamK) + + * Bugs + - removed all calls to std::stringstream, causing a thread data race on windows + - don't remove color and font when the last char is deleted from the chat text entry box (Patch from AC) + - Fixed, hide "Accept Friend Request" Button for Unknown Peers + - Improved Search Dialog (Patch from AsamK) + * don't add friend sources count to anonymous count each time a result for the same file is received!, this could + lead to enormously large sources numbers + * don't readd search in summary list if it was already removed by the user + * don't clear the filter when new search results are added + * when using the file name filter only show result from the current search, not also from previous searches + * fixed adding only file types which were searched for, for this I created a new hidden column in summary list to store the file type + * fixed sorting by file size/age, pad string with '0' instead of ' ' Search feature: a quirk I've found + * decrease gui hanging: + -when adding search results temporarily disable sorting + -only add 250 instead of 500 items in one go + -don't call selectSearchResults() for each item added to the result list; instead call hideOrShowSearchResult() + which only sets the hidden status of the added item, not the complete list + -replace std::string with QString, removes unnecessary conversions + - Fixed clickable links in forum message feed. + + -- Cyril Soler Sat, 21 apr 2012 10:00:00 +0100 + +retroshare (0.5.3-0.5067~natty) natty; urgency=low + + * Improvements + - Added Copy Certificate Button to ProfileWidget + - Fixed compile of VOIP on Windows with Qt >4.7 + - Modified some defaults (auto check of shared directories to 15 minutes, time to idle mode to 5 minutes) + - Added welcome message to the chat lobby + - Changed display of the own name in FriendsDialog from "Name (me) Location" to "Name (Location)". + - update new Spanish translation from Aitor + - Added two new functions to libretroshare for writing formatted data to std::string + - Added two new images from defnax to SecurityItem for SEC_TYPE_CONNECT_ATTEMPT and SEC_TYPE_UNKNOWN_IN.kkkkk + - added new toasters for private/group/lobby chat. + - added copy certificate button to profile widget + - added topics to chat lobbies. Improved CL gui + - added deferred checking of chunks in FT. Not fully functional yet, for backward compatibility reasons. + - prepared libretroshare for OpenSSL-1.0 + - Bring the main window to foreground when receiving a link from the browser (Windows only). + - Fixed compilation on MacOS 10.6 (patch from K.Gupta) + - Update installer script, added spanish,arabic,italian,greek and portuguese language support + - Optimized layout of the newsfeed items. + - Fixed linking of the VOIP plugin on Windows (Exports all symbols from RetroShare.exe and import it in the plugins. + Removed the direct linking of the libretroshare and libbitdht from the plugins.) + - Fixed utf8 characters in the transfer tab name of plugins. + - Functional version of VOIP plugin. + - Added ability for plugins to return their own PopupChatDialog class + - Count the friends (gpg id's) instead of the locations (ssl id's) in the statusbar. + - Moved update of the friends from QTimer to signals. + - Combined p3LinkMgr::getFriendCount and p3LinkMgr::getOnlineCount and moved to p3PeerMgr. + - Fixed scroll position of the text browser in the chat dialog when the friend changes the status and the info frame is shown or hidden + - Reworked the start of a chat with a gpg id (doubleclick in friends tree). Removed the question to send a message when a chat + with an offline friend is started. Start the chat when only one ssl id exist (online or offline) or only one ssl id is online. + Show a messagebox when more than one ssl ids are online or all are offline. + - Added check for required location during gpg key generation. + + * Bugs + - Added thread safe function for inet_ntoa in libbitdht using the existing thread safe function for inet_ntoa in libretroshare + - Fixed deadlock when receiving a chat message with open history browser. + - fixed version script (Patch form AC) + - Fixed Download link for Email Invite + - Fixed utf8 in dropping links to channels (patch from AsamK) + - Fixed pasting cert links in the friend list (patch from AsamK) + - Added code to allow pasting GPG certificates missing a newline at the end (patch from AsamK) + - Fixed display of the location with utf8 characters in ConnectFriendWizard. + - Fixed icon size in forums + - Disabled adding new keys from friends of friends in non-discovery mode. + - Fixed display of friend status in chat window + - Fixed bug returning false while a string is expected in p3distrib + + -- Cyril Soler Fri, 20 feb 2012 12:00:00 +0100 + +retroshare (0.5.3-0.4973~natty) natty; urgency=low + + * Improvements + - added BSD specific changes + - made settings page system more automatic + - updated french translation + - mark local existing files in search dialog with red color + - started working on VOIP plugin (not finished yet) + * merged p3voRS code with plugin code + * created new interface directory retroshare-gui/src/retroshare-gui + * improved plugin system to allow adding settings pages from plugins + + * Bugs + - fixed crash in config dialog + - fixed missing return value in ftcontroller.cc + + -- Cyril Soler Fri, 20 feb 2012 12:00:00 +0100 + +retroshare (0.5.3-0.4953~natty) natty; urgency=low + + * Improvements + - removed unused plugins in .pro file + - added early sendign of chunkmap requests to new sources (FT) + - saving finished/checking transfers (FT) + - improved swarming test code with fault simulation + - started conversion of VOIP code (from Joss) into a plugin. Unfinished! + - Added multi friend recommendation dialog. You can start it from the tools menu in FriendsDialog. + - GUI + * Moved the news feed tab to the first position. + * Added icon to the ConnectFriendWizard. + * renamed Dht to DHT, Authemticated to Authenticated + * The channel message (in channels) is set to read when the user clicks on the show more button. + * The forum/channel news feed is removed when the user reads the message in forums/channels + * The standard font is now used for new chat lobbies. + * Added a new menu item to set the font of a private chat and chat lobby to the default font. + * Changed the color of the time of the compact chat style from red to gray. + * disabled autodownload when subscribing to a channel. + * set a icon for Friend Recommendation menu action + * Sort nick names by name in the chat lobby. + + - Added missing IPs to certificate links + - set max chunk inactivity period to 5 mins instead of 1 mins. Shoudl favor slow DLs. This + is nw possible since missing bits will be re-asked regularly (FT) + - added Cache system to GPG certificates. Should reduce GPG calls by 90% + - added code for Intro Server: automatically accept peers, and spews a chat lobby where users can meet. + - Show clickable links in the channel feed message. + - updated franch and german translations + - added control over TR forward rate, so that we can experiment with it on large bandwidth servers + + * Bugs + - fixed 2 potential flaws of swarming causing request of unavailable data + - only ask CRC32 maps to peers that have a complete file. + - Fixed private message notification. Remove offline private messages of none friends + at startup and when a friend is removed. + - Moved the removing of the history of removed friends from p3PeerMgrIMPL to p3ChatService. + - Fixed Download toaster (utf8 in file name, use QDesktopServices vs RsUrlHandler for collections, fixed + crash after opening a collection) (Patch from AsamK). + - fixed utf8 chars in certificate links (Patch from AsamK) + - removed cache adding strategy to DL queue that was O(n^2). Now addign cache at the end of the queue + - Fixed bug when the user clicks on a link without http:// in a QTextBrowser. This link was + oppened directly in RetroShare. + - Attempted fix for maintaining External Port in Manual Forwarded Mode. + * added check for RS_NET_MODE_EXT instead of RS_NET_MODE_TRY_EXT... as trys aren't used in p3PeerMgr. + * removed tryMode from external interface - as this data is not available anymore. + * Removed setting this parameter in p3peers.cc + - Fixed reference to tryNetMode. + + -- Cyril Soler Fri, 17 feb 2012 14:00:00 +0100 + +retroshare (0.5.3-0.4909~lucid) lucid; urgency=low + + * Improvements + - Added Code to convert retroshare-nogui into an "Introduction Server". + Perhaps the community can use this instead of their existing certificate exchanger. + - Updated the help page, added few more infos + + * Bug fixes + - Fixed RS links with special caracters: ",&,# + - Removed unused plugins from trunk + - Fixed parenthesis problem with #ifdef that armed lupdate + - Fixed layout of the CryptoPage and german language. + - Fixed many tranlation issues + + -- Cyril Soler Wed, 08 feb 2012 22:00:00 +0100 + +retroshare (0.5.3-0.4885~natty) natty; urgency=low + + * Improvements + - Added new variant to the compact chat style with colored nicknames calculated from the name. + It's disabled by default. You can enable it with the define COLORED_NICKNAMES in ChatStyle.cpp. + - Fixed up Email Invite Text... + * Unified Text Source. + * Added "Cut Below Here" line + - Switched BanList sharing to only your own list. (was OWN + FRIENDS lists) + This data is not used at the moment, so just reducing data before release. + - Updated English Email Invite (sorry guys, you'll have to redo translations). + - Set OSX default style to "Cleanlooks" - as AQUA style hides some windows. + - Updated Version strings to V0.5.3a. / 4874 + - Fixed missing headers for plugin manager. + - Disabled ZEROCONF for OSX. + - minor improvements to plugin system + - updated french translation (from Max Romeo) + - Added new compact style for chat. + - Improved the HTML optimizer. + - Start the CreateLobbyDialog from the list of chat lobbies with the privacy level of the selected item. + - fixed to display the the correct help icon on MainWindow + - Fixup BSD qmake parameters: mainly library locations. + + * Bug fixes + - Fixed handling of utf8 characters in lobby nick name. + - fixed small bug in certificate correction (missing ending newline caused crash) + + -- Cyril Soler Fri, 03 Feb 2012 22:00:00 +0100 + +retroshare (0.5.2-0.4861~natty) natty; urgency=low + + * Improvements + - Added (make functional) the lobby menu in the context menu of the gpg and group item in FriendList. + - Added button to add/remove signatures and button to copy RS cert link to clipboard + - Added doubleclick to join a lobby. + - Disable the Startup Wizard. Most of the defaults are sensible now, so its no longer needed! + - Fixed default data rates to sensible options: 200 kB/s down, 50 kB/s up. + - Added Minimal certificates to discovery exchange. They are invoked if the standard cert is over 10k. + - Switched std::vector.data => &(std::vector[0]) to remove linuxism in radix64. + - Added new common widget FriendSelectionWidget for selecting friends and use it in CreateLobbyDialog, + ShareKey (forums and channels) and MessageComposer. + - Fixed german language. + + * Bug fixes + - Added Check for successful Req creation (was crashing with NULL pointer). + - Fixed echoes in chat lobbies + * added a time stamp to lobby events (new item tag) + * controlling time stamp of lobby msg and event: drop packets if time is older than cache duration. + * moved connexion challenge code to lobby management loop + * added new type of lobby invite to handle connexion challenges and avoid false invitations in the GUI + + New lobby event format is not backward compatible -> "peer typing" and "peer joined/left" will need + the new version. Messages are still compatible) + + - Fixed crash when closing a chat window. + - Fixed Auto-Download Button + - Fixed wrong display of the news feed notify in FriendsDialog when the tabs were moved. + - Another fix for the discovery fiasco... Turns out that I broke the system with my previous changes. + * Allow certificates through with no attached GPG Certs. + * Added StoreAllKeys() call after adding new GPG Certificate. + + -- Cyril Soler Thu, 24 Jan 2012 19:00:00 +0100 + +retroshare (0.5.2-0.4840~natty) natty; urgency=low + + * Improvements + - added retroshare certificate links: allows to paste certificates everywhere. + - added certificate links in friend recommandations + - added certificate cleaning method, to remove signatures at export + - improved chat lobby GUI + * added proper counting of peers in chat lobbies, using keep-alive packets, time stamps, etc. + * Moved the chat lobby tabs to the FriendsDialog. + * Extracted a new widget ChatWidget for the basic chat handling from the + PopupChatDialog and use it in ChatLobbyDialog too. + * Added an own ui for the ChatLobbyDialog. + * Saved settings of the ChatLobbyDialog. + - Reworked SoundManager and SoundPage in the settings. + - Added new icon in the statusbar to switch off the sound + - Enabled Relays by default. + * This will only effect people who upgrade from a very old version. + * Other people will have to switch it on manually. + * Default is 0 friends, 1 FOF & 1 General @ 1kb/s... max 4kb/s usage per peer. + - Disabled Thread debugging. + - Fixed up bdProxyId initialisation + - Improved Error Code translation (for unknown entries) + - cleaned up some of the std::cerr output. + - Changed parameters of RsStatus interface from "std::string" to "const std::string&" + - Fixed german language. + + - Added Native (Bonjour API) Nat Port Forwarding to OSX. + * new classe p3zcNatAssist + * moved some common ZeroConf functions / definitions around. + * moved virtual tick() to parent class: pqiNetAssist + * added zcNetAssist section to makefiles. (active for OSX build) + * setup switch between p3zcNatAssist & upnphandler in rsinit.cc + + - Changes to support Relays. + * added p3BitDht::addKnownNode() so that DhtIds can be used instead of SslIds. + * switched from bdStdDht() functions to use bdModDht(). + * made DhtFunctions a class variable. + * added function to modify NodePerBucket() parameter. + * Bugfix for LinkType. peerConnectAddress.flags was not initialised. + * Extra debugging of LinkType data (use LINKMGR_DEBUG_LINKTYPE). + * cleaned up udprelay output. + * Added Compile Rules to libretroshare.pro for building LocalNet Testing Version. (testnetwork) + * Added NumQueryNodes() function to bdDhtFunctions. + * Switched bdquery.cc to use bdNumQueryNodes(). + * Extended bdStdDht class to bdModDht to allow NodesPerBucket to be modified. + * Fixed up Connection Fail Callback for Relay Servers. + * Added Extra debugging for Proxy Connections. + * disabled turtle routing for relayed connexions + + * Bugs + - lobby participant list now updated when peers join/leave + - Added chat lobby privacy type to lobby invite => lobby type is propagated + correctly to friends that are invited. + - Bugfix for natassist (zeroconf returns 0.0.0.0:0 when its doesn't work). + - Logged IP Addresses for Failed incoming connections. + - Hacked IP address into the NewsFeed notifications (ugly). + + - Attempts at fixing disconnections :) + * Added limit of 10kB for Certificate size. If it is bigger - discard certificate. + * Remove certificates for slow / trickle connections (for Relay connections). + * Disabled check for gpgcert text in p3disc. + * Disabled creation of GPG Cert in AuthGPG. + * Added extra error code to pqinetwork. + * Added DataRate accounting to Relay and Dht. + * Rates are exposed through rsDht.h interface. + * Added LastIncomingTS() to pqistreamer. + * Turned HeartBeat reset() into a warning. + * Added NoPacket in 60 sec reset(). + * Minor typos/errors corrected. + + - Fixed message reply and forward. The new lines were removed falsely. + - Improved logging of Connection Behaviours. + - Added history for chat lobbies and disabled it until the lobbies are saved. + - Added check in cachestrapper to see if a duplicate cache has been requested. + In this case, don't cancel the old one - just keep going! + + -- Cyril Soler Thu, 24 Jan 2012 19:00:00 +0100 + +retroshare (0.5.2-0.4783~natty) natty; urgency=low + + * Improvements + - Added Chat Lobbies: decentalized anonymous chat rooms. + * Chat lobbies are private (on invitation only) or public (friends can join) + * Bit of GUI to show lobby list, with one tab per active chat lobby + * Most fonctionality of chat are ported to lobbies including status messages + * Internally to libretroshare, lobbies are virtual peers to talk to. + * Deriving a RsItem from ChatLobbyBouncingObject allows the item to be bounced + to all peers in the lobby. + * Improved message splitting by adding sub item ids to lobby messages. Should + be ported to normal chat in the next version. + * Added parent id to RsChatLobbyMsgItem, to allow threaded chat. + * List of public lobbies at friends are requested only when needed + * Major cleaning of p3chatservice.cc + + - Added new entry in config->transfers to allow reserving n slots to non cache transfers + - Add the ip address of the DNSResolver to the top of the list of the connect addresses. + - Little design improvements for Plugin Item + - Added manual entry for plugins + - Added relay connexions (Note: There are still some service changes required to + reduce the traffic over relays) + * Merging Dht Relay improvements into the trunk. These changes should finally make relays functional. + * Changed the way proxy/relay peers are selected in bdConnection. (needs more work). + * Added LinkType to peer info in p3LinkMgr & rspeers.h interface. + * Added getConnectionType() to p3PeerMgr. This defaults to FRIEND for the moment. + * Provide information about Bandwidth, Transport and Peer Type via LinkType(). + * Added RateCap() to limit traffic over Relay connections. + * Set Internal Rate to 75% of Relay Limit to account for transport overhead. + * Added various #include "util/rswin.h" to fix compile errors with standard ssl package. + * Removed Local variables (mConnectProxyAddr, etc) which were hiding Class Variables. + * Cleaned up bits in pqissl.cc and p3linkmgr.cc + * Increased UDP Relay Packet size (max transport of 1400 bytes per UDP packet) + * Modified checkRelay() to use Low Pass Filter to calculate Relay Bandwidth. + * Improved udprelay debugging. + * increased (x2) Relay Lifetimes - this is so that enough useful data can be transported (1meg). + * Added LOCALNET_TESTING code to rsinit.cc. This allows Port Restrictions to simulate firewalls. + * more debugging and minor bugfixes. + + libbitdht + * added Relay Flags to bdNode::setNodeDhtMode() + * added dropRelayServers() / pingRelayServers() functions for mode switches + * added utility function: bdFriendList::findPeersWithFlags() + * added utility function: bdSpace::clean_node_flags(uint32_t flags) + * added RelayMode to ConnectManager. + * added failedConnection callback when in Server Mode. + * added incomplete udpproxylayer code. (not compiled) + + libretroshare + * added Configuration to p3BitDht for storing Relay Settings. (bit Hackish!) + * added RelayHandler & getRelayReceiver() - to outsource some Relay functions. + * + RelayHandler_InstallRelayConnection() & RelayHandler_LogFailedProxyAttempt() + * added RelayServer, Mode and RelayAllowance to external DHT interface. + * added p3PeerMgr::getGpgId() for ZeroConf usage. + * updated parts of pqiassist virtual interfaces. + * added Bandwidth storage to udprelay. + * modified the way Relay Slots are allocated to match GUI interface. + * ZeroConf now working on OSX. + * added ZeroConf to OSX compilation. + * extended rsDht interface to expose Relay configuration. + + retroshare-gui + * added Relay configuration panel. + + -- Cyril Soler Thu, 12 Jan 2012 19:00:00 +0100 + +retroshare (0.5.2-0.4747~natty) natty; urgency=low + + * Improvements + - Added the real size of all files of a collection to the link when added with drag and drop. + - ConnectionFriendWizard: Show the messagebox "Your Cert is copied to Clipboard" after copying the cert into the clipboard. + - Removed "release" from the win32 build in retroshare-nogui.pro. + - Added retroshare-nogui to the subdir project. + + - DHT (Merging r4705 through r4717 from retroshare/branches/v0.5-dhtmods) + * Switched on Local BadPeer DHT Filter. + - This will remove any peer detected to be spoofing yourself or your friends. + - This list is also shared with you friends. (in Test Mode). + * Added Cleanup of BadPeer Filter. + - Instead of permanent ban, peers are be banned for 6 hours. + - bdManager periodically calls this - which prints out ban list too. + * Added Checks against spoofing to UdpStunner. + - Throw away Stun Results where remote_addr = reported ext_addr. + - Added extra checks to ensure that the same Ext IP is returned, before reporting. + - accept BadPeer List from DHT BadPeer Detection. + * Changed BanList Service Id from Test ID to Real ID. + + - Added new widget for hashing files. + - Added new common class FilesDefs to handle informations of file types like icons and names. + - Removed calls to exit() in rsinit. Replaced them by proper return false + - Adjustment of some values for file transfer: some delays can be larger, now that chunks are shared between sources. This makes file transfer more stable: + FT_TM_DOWNLOAD_TIMEOUT: 10 -> 20 secs (RTT limit of 10 secs is too low -> transfers in long tunnels kept switching between active and inactive) + INACTIVE_CHUNKS_CHECK_DELAY: 60 -> 240 secs (Chunks are kept longer before beign cancelled, which is now affordable) + MAX_TIME_INACTIVE_REQUEUED: 60 -> 120 secs.(Transfers a kept longer before being re-prioritized in queue) + + * Bug fixes + - Added the size of the collection to the link only for files (missing test) + - Show the correct name in the title of the RsCollectionDialog when the filename contains ".". + - Fixed creating of the download path of the collection when running as portable version. + + -- Cyril Soler Wed, 21 Dec 2011 20:30:00 +0100 + +retroshare (0.5.2-0.4706~lucid) lucid; urgency=low + + * Improvements + - DHT: + * Reduced Default DHT Message rate from 50msg/sec to 5msg/sec + (Searches now take longer, but it should make crappy firewalls happy.) + * Added Interface to allow this rate to be dynamically changed (no GUI yet). + * Bugfixes for p3BanList: removed internal IPs from Lists, fixed AddBanPeer() logic bug. + * Disabled p3Dsdv, after brief test. + * Added knowledge of Friends / FoFs and Relays to DHT. + * Added bdFriendList class to store this information. + * Added Checks against known Peer:IP information to detect bad peers. + * Bad Peer Checking is in Test Mode Only for the moment, + * New Interfaces to exchange above information with libretroshare + * Cleaned up various compiler warnings. + - GUI + * Added new button "Open Collection" in TransfersDialog. + * Show main window with click on system icon when the main window is minimized. + * Beautified RsCollectionDialog. + * Fixed german language. + * Added new column "Last Contact" to the FriendsDialog and MessengerWindow. + Moved some more basic functions to FriendsList and optimized the exisiting code. + * Added translation for plugins and added german language to LinksCloud. Recompile needed. + * Changed the name and the description of the plugin to utf8. + * fixed download priority handling. Proof-tested on multiple DL from the same peer. + + - libretroshare Improvements: + * corrected disabled RequestdirDetails in FileIndexStore to be able to retrieve root directory of a user ID + * removed dependency of mRateIncrease into measured rtt -> would cause very slow transfers through long tunnels + * Removed compiler warnings. + * Added p3BanList Service and DataTypes to exchange Bad Peer information. + * Added Plumbing to get info from network to DHT and back. + * Supply Friend List from p3LinkMgr + * Supply Friend of Friend List from p3Disc. + * Added p3Dsdv Service and DataTypes for NetworkWide Routing (Testing Mode). + * Various BugFixes. + * Patch Manual Forward mode to preserve user selected Port. + + * Bug fixes + - 2 bug fixes (by AsamK) to make rscollection files compatible with utf8 + - fixed bug asking data to deleted mTransfer + + -- Cyril Soler Wed, 02 Dec 2011 20:30:00 +0100 + +retroshare (0.5.2-0.4653~lucid) lucid; urgency=low + + * Improvements + - implemented handling and creation of collection files + - improved computation of CRC32 maps (separate thread, cache keeping, sending of keep-alive packets) + - fixed compilation of some tests in libretroshare/src/tests/ft/ + - updated german language + - started implementing a file mapper to allow linear download of data with automatic de-fragmentation (not enabled yet) + + * Bug fixes + - bug in CRC32 map cross-checking: only downloaded chunks would be checked. + - fixed bug in file transfer re-allocating a local variable + + -- Cyril Soler Wed, 09 Nov 2011 20:30:00 +0100 + +retroshare (0.5.2-0.4653~lucid) lucid; urgency=low + + * Improvements + - removed delay in file checking that would cause excessively long file update cycle + - implemented slice sharing between peers. + - Replaced spaces with %20 in RetroShare links. + - obfuscation of TR and SR by random rare non-increase of length 1 requests (original idea by Costa) + - layout changes for PluginItem, fixed qrc resource load in plugins. + + * Bug fixes + - corrected bug about wrong layout of friend list (patch from asamK) + - corrected bug that would allow a direct friend to DL a file that is NETWORK_WIDE only, using direct transfer + + -- Cyril Soler Sun, 24 Oct 2011 20:30:00 +0100 + +retroshare (0.5.2-0.4642~lucid) lucid; urgency=low + + * Improvements + - updated build scripts and .pro files forubuntu oneiric + - fixed plugin system on windows. + - updated french translation + - Add the private chat message to the history after removing the private chat + queue (when the user has read the message). + - Added loading text to forumsdialog and enabled percentage numbers to be shown also + - added display of TR forwarding probability as a function of depth. + - Moved the chat history into the libretroshare. + * Now the history is saved encrypted. Please delete all files with "chat*.xml" in your profile folder. + * Added new config p3HistoryMgr and interface p3History. + * Added new option to limit the count of the saved history items. + * Added new simple html optimizer "RsHtml::optimizeHtml" to reduce the size of the html strings. + + + * Bug fixes + - fixed issue of loading the correct instance of RetroShare.conf when switching + locations (Patch from AsamK #3423256) + - fixed utf8 issues (umlauts in the Windows user name, search string with utf8, + location names, links from browser, history manager) + - fixed update of friend status in chat window + - fixed bug with anonymous channels asking for friends to be sources + - fixed link passed issue due to usin self-closign links (Patch from Asamk #3418941) + - fixed display of filename when an upload is a partially downloaded file + - removed early pruning of TR which was preventing any TR to go beyond the limit + in case of heavy traffic. Pruning now applied probabilitically at end of loop. + + -- Cyril Soler Sun, 16 Oct 2011 20:30:00 +0100 + +retroshare (0.5.2-0.4622~lucid) lucid; urgency=low + + * Improvements + - Changed default random number generator to use RAND_bytes from openssl. + - Updated random testing code and fixed compilation + - Fixed compilation on FreeBSD, and improved sorting on DHT window + (Patch from Ben Laurie) + - Added next unread button to forums (patch from devnewton #3401840) + - Fixed inaccurate text in transfer page + - Removed calls to rsfiles->get{Download,Partials}Directory() in RsDiscSpace + class, since it would trigger a call to ftController + - Changed names of functions in ftTransferModules to locked_* when appropriate + (helps debugging) + - Show the availability status of peers at the level of locations instead of GPG + keys (patch from AsamK) + - Added paste of RS links to post on channels, and additional check that the file + is actually shared. + + * Bug fixes + - fixed missing TCP connection call - when peer is found on the DHT. + * save IP address for DHT display. + * store Action in action Queue (the BUG). + - fixed sorting of transfer by priority + - fixed utf8 issues in sending cert by email (patch from asamK #3393826) + - added a lock into ftTransferModule::recvFileData() (Crash reported by Costa + of data race due to storing data in a deleted transfer module) + - Added chunk splitting in case part of the file transfer data does not come. + Added strategy to ask again for missing data. The combination of these two cannot + result into an infinite loop (as before) + + -- Cyril Soler Thu, 29 Sep 2011 20:30:00 +0100 + +retroshare (0.5.2-0.4608~lucid) lucid; urgency=low + + * Improvements + - Stopping hash when a shared directory containing the file was removed + - Reworked the process of the RetroShare links. Now RetroShare asks when + adding a file or a person link and shows a detailed result. + - Merging distrib split into trunk, suppressed p3distrib in services + - Send msg in plain text when the html encoding does not change anything + into the message. This drastically reduces message s size + - Added missing status frame for idle. + - Merged QoS branch into trunk. + - Set own status initially to online + - Added double click to NetworkDialog to show the peer details + - Put some pqissl warnings in log file only in debug mode, since this is quite CPU demanding + - Added new widget to display an avatar with or without the status frame - AvatarWidget. + Changed all existing avatars to AvatarWidget. + - Added avatar image to ConfCertDialog (defnax). + - Added new class AvatarDefs to get the avatar for a ssl id or gpg id + + * Bug fixes + - Fixed bug fue to deleting ftFileCreator used by datamultiplex before + asking datamultiplex to remove it! + - Fixed crash in pqiSSLstore::readPkt() when rsSerialiser->deserialise() returns NULL + - Added auto-split of long private messages, and re-combination of partial messages on + client side. Corrects the bug causing disconnection when sending messages of side + larger than the maximum packet size + - Patch from AsamK to fix up crash at startup due to a missing else in config load + + -- Cyril Soler Fri, 16 Sep 2011 20:30:00 +0100 + +retroshare (0.5.2-0.4584~lucid) lucid; urgency=low + + * Improvements + - changed local root directory to be "My files" instead of SSLid + - set default of the signature checkbox in ConnectFriendWizard to disabled + - set the initial option for the download directory to network wide only + - set the default of a new shared directory to network wide + - added private groups option to forums + - Added a new checbox in the settings (NotifyPage) to enable/disable the + new SecurityItem. It is enabled by default, but all existing users need to enable it. + - Added new buttons to SecurityItem to add/remove the peer and view peer details. + - Added new call to notifyListChange with NOTIFY_LIST_FRIENDS in AuthGPGimpl::AllowConnection. + - Fixed german language. + - Removed "location:" before the ssl name in FriendsDialog and MessengerWindow. + + * Bug fixes + - fixed up color codes for qt 4.7 in NetworkGraph (bug in qt::lighter()) + - corrected a few bugs in the cert cleaning method. + - corrected several utf8 issues (for peer names, in private chat and file list, and search) + - fixed time display in security item + - removed potential mem leak with p3distrib group edit + - Added check for administrator rights to add/remove the retroshare:// protocol. + + -- Cyril Soler Sat, 13 Aug 2011 20:30:00 +0100 + +retroshare (0.5.2-0.4550~lucid) lucid; urgency=low + + * Improvements + + - Plugin system + * Added configuration saving for plugin manager and serialization methods + * added a list of accepted plugin hashes + * added plugin widget for each plugin in settings, to allow enabling/disabling plugins + * updated LinkCloud plugin to new rsPlugin class + * put the addconfiguration for plugin manager in rsinit.cc a bit earlier to allow to load + the list of accepted hashes early enough + * added icon for disabled plugins + * added missing Q_INIT_RESOURCE call to get the plugins icon loading correctly + + - GUI + * Fixed an error when cancel the login password dialog at startup, the password dialog can be canceled. + * Fixed layout in GeneralPage under Windows (there are three additional checkboxes). + * Applied patch to enable the sort of the columns star and unread in messages (from AsamK) + * Added missing "FORWARDED_PORT" case to natstatus + * updated Dht and Nat Indicators to accurately reflect Network status. Roughly: + - DHT. Off: gray, ERROR: red, NO RS PEERS: yellow, GOOD: green. + - NAT. Offline: gray, BAD NET: red, NO DHT, or FIREWALLED: yellow, GOOD: green + * added Advanced mode to the GUI + - Switched ServerPage to use netMode, rather than tryNetMode. This fixes the Network Status. + - Added "Advanced Mode" to Settings GeneralPage. + - Store / Set Advanced Mode via rsConfig::get/setConfigurationOptions. + - removed %0D%0A from Linux / OSX emails - made it Windows Only. + - updated GetStartedDialog text. + - disable GetStartedDialog is AdvancedMode is set. + - Enabled buttons for "Invite Friends" and "Add Friend". Linked to Email Invite, and Connect Friend Wizard. + - Switched out FAQ for links to website, and email support buttons. + * Added Basic Dht Details Window to Retroshare GUI. + - created gui/dht/DhtWindow class. + - brought across the basic structure from PeerNetQt... will be a condensed version of that GUI. + - added to status Menu. + - enabled via #define USE_DHTWINDOW (which is defined! in MainWindow at the moment). + - Dht Details only displays Dht Peers at the moment. + * Net, Dht and Configuration changes. + - set PortForward in NetStateBox when the Network has been setup. + - add GeneralConfig to rsConfig external interface. + - enabled ADVANCED configuration option. + * Addition of a "Getting Started Guide". + * Optimized layout of the SubFileItem. + * Optimized layout of the private chat window. + * Show the cancel button only when downloading or when used in CreateChannelMsg. + * Fixed layout problem (vertical scrollbar) in ChannelFeed. + * Added a new image to the private chat window to set the window always on top. + * Indent text of the channel message and set it to selectable. + * Removed the single notify systray icon (combined icon) and combined it with the + normal RetroShare systray icon. The user can choose, which notify icon is shown as + single icon in systray or with the normal RetroShare icon. + + - Key mamagement + * added a signature add/remove button in connect wizard, only when gpgme-1.3.1 or greater is used, + based on the availability of the GPGME_EXPORT_MODE_MINIMAL option. + + - Connectivity + * Added Second Queue, to check if connections are actually valid before installing. + * Added Check of Time for main Core Cycle. + * Fixed Bug in choosing port for Proxy UDP. Chooses a Random one between 30000-50000. + * Added Address update from p3NetMgr => p3PeerMgr, when external address has been determined. + * Simplification of p3ConnectMgr => p3LinkMgr, p3PeerMgr & p3NetMgr. + - p3peermgr now uses RS_NET_MODE_XXXX instead of RS_NET_MODE_TRY_XXXX + - p3netmgr maintains both TRY and ACTUAL mode (not visible through old interface -- TO FIX) + - added default to UPNP mode. + * Increased TCP WAIT time to allow external port to stabilize. + * Improvements to tcponudp library to allow multiple UdpStacks / ports, with alternative receivers. + * Improved a lot UDP Connection Code + - Increased Timeout Periods for UDP connections - this was stopping half of them from succeeding. + - Export UDP Addresses to DhtWindow. + - disabled DIRECT UDP connections (Not always stable, especially if you are firewalled, and not + needed as a TCP connection can be made!) + - Added DropPeers() as NON-ACTIVE (this allows peers which aren't VISIBLE to still try and connect) + - Resurrected the UdpStunner code, and improved it. + - Added UdpRelay code. + - Modified startup code and ssludp code to use the new tcponudp and add a stunner. + * Added notifications of Failed Connection Attempts in both ways + + - Services + * Refactored p3chatservice move avatar declaration to p3chat header and encapsulating config methods + * added www.myip.dk, and removed showmyip.org address from extaddrfinder + + - Internationalization + * Fixed german language. + * Changed the generation of the gpg key and location to utf8. + + - DHT + * Added Bloom filter to speed up finding RS peers in DHT. + * Added External DHT Interface to display Connection Information. + * extended p3bitdht to provide RsDht interface. (p3bitdht_interface.cc) + * Switched on Dht "Attach" Mode if RS is firewalled. (and not nice firewall). + * Added interfaces to enable AttachMode switch. + * Updated bdboot file. + + - Tests + * Restored and improved regression test for tcponudp + * Added another Test UdpLayer: TimedUdpLayer, This simulates the firewalled situation, by + only accepting packets after 60 seconds. + * Added quick and dirty BitDht Packet check. test against "d1:" for the first 3 bytes. This should + not conflict with Stun, Relay or TOU packets. + + - packaging + * Added win32 build bat for libbitdht + + * Bug fixes + - Fixed "double-click" chat startup bug, the gpgOnly flag was incorrectly set false. + - Fixed the sending of outgoing messages + - Removed popup window for file copy error, and redirected the message to std::cerr, to save users. + - Set maximum port value to 65535 instead of old arbitrary value of 50000, and warned about + system-reserved ports in server settings gui enabled sorting and added dht icon for the window + - Fixed bug in dnsresolver reset function + - Silly Bug, overwritten the mConnectFlag with the Bandwidth parameter. + - Added missing mutex protection that caused random SIGSEGV in p3disc + - Corrected a bug due to reading uint64_t with wrong format on some systems, which caused the hash cache to sometime fail + - Fixed bug for 'copy error' and losing cache data conflict in unix and windows style directory + names led to cleaning of remote and local directories in Cachestrapper::loadlist() + - Bugfixes to serialization + * print out messages when serialisation fails. + * removed BUG in TlvGetString() which allows a zero length TLV + - Fixed startup bug (loops into FAILURE) + - Fixed buggy rs_inet_ntoa + - Fixed a bunch of apple gcc warnings. mainly for(;;); => for(;;) ; + - Stops loading of a cache in p3GroupDistrib::loadFileMsgs on shutdown of RetroShare. + - Fixed early initialization of QIcon in LinksCloud plugin + - Fixed duplicate msgs found between cachefile being formed (caused by not marking cache opt loaded files as local or not) + also missing own-msgs bug caused by not accounting for msgs created by users + - Added a name to the RsMutex class, allowing debugging of the waiting time for a lock of RsMutex in + rsthreads.h with #define RSMUTEX_DEBUG 300. That means all locks waiting longer than 300ms are logged into the stderr. + - Added missing notify when sending a message to an offline user. + - DHT code: + * fixed up buggy overloading for the udplayer (for testing). + * added processing multiple (5) remote processes per tick + * removed unused variables from query data structure. + * #defined out debugging in bdSpace, removed old functions. + * More agressive attempts to find proxies for connections. + * made "final query attempt" use exact peer address rather than midid. + * tweaked bdconnection debugging. + * increase CONNECTION_MAX_TIMEOUT from 30 => 45. wasn't enough! + * Limited bdQuery::QueryIdlePeriod to 15min (was unlimited). + * added bdQuery::PotentialPeer cleanup functions - for more robust reporting. + * fixed bdQuery debugging printouts. + * Implemented BITDHT_QFLAGS_UPDATES flag. + - TcoOnUdp code: + * Reduce Maximum Transmission size from 1500 -> 1000. This is the cause of Failed Connections. + It looks like UDP packets are being truncated from 1520 -> 1492 bytes, and this is killing the + + -- Cyril Soler Sat, 13 Aug 2011 20:30:00 +0100 + +retroshare (0.5.1-0.4350~lucid) lucid; urgency=low + + * Improvements + - Updated tests for tcponudp. + + * Bug fixes + - fixed bug in search with size in MB. Caused crash due to deserialization error. + - Added Check for the existance of each Cache File before that are passed on the loader. + This should once and for-all remove the copy file warnings + + -- Cyril Soler Tue, 28 Jun 2011 19:35:46 +0100 + +retroshare (0.5.1-0.4337~lucid) lucid; urgency=low + + * Bug fixes + - Fixed the cache transfer killing bug (misplaced brackets) + - Fixed bug in pqissl wrongly casting a pointer to unsigned long, possibly impacting 64bit systems + - Fixed bug responsible for corrupting large packets. Solved the chat bug, + the errors in GetTlvString, the corrupted exchange of keys, location names, etc. + + -- Cyril Soler Sat, 25 Jun 2011 19:35:46 +0100 + +retroshare (0.5.1-0.4331~lucid) lucid; urgency=low + + * Improvements + - Started dev of plugin system. Works on linux, not yet on windows. + - Added gui for plugins in Settings + - Ported LinksCloud service as a plugin + - Improvement of the unit tests, and coverage calculations. + - Hash cache: missing root directories are not discarded anymore, but kept empty, + unless the user really removes them explicitely. + - Reworked settings dialog + - Automatic add the recommended friend(s) as CC in the MessageComposer. + - Send plain text message instead of html, when the text contains no html specifics. + This is a huge gain in forum posts size, up to a factor of 50 + - Enabled Spanish translation + - Moved the fill function of the ForumsDialog to a QThread. + - Made multiple keyword search use an AND instead of an OR. + + * Bug fixes + - Fixed display of upload transfers + - Fixed the Missing Cache File bug. + - Added Old Cache Storage... so these can be retrieved. + - Connected up the CancelCacheFile() -> FileCancel. + - Removed "ipaddr=1" bug + - Fixed uninitialized value in p3turtle + - Fixed html title bug in forum message when answering from news feed + - Fixed reaction of the checkbox "web of trust" + - Fixed calculation of the unread messages in MessagesDialog + - Corrected bug that would wipe out the hash cache file every other start + - Fixed crash in ForumsDialog + - Fixed memory leak of the fill thread of the history browser + - Fixed refill of the threads tree after receiving a new message. Now the new message is expanded. + + -- Cyril Soler Mon, 11 Apr 2010 21:35:46 +0100 + +retroshare (0.5.1-0.4239~lucid) lucid; urgency=low + + * Improvements + - Optimized the functions for the forum messages. + - added a star functionality to forums + - placed private message editing into a separate window + - added a tab to graphically display turtle router statistics + - added automatic handling of turtle requests/search conjestion cases + - patched for compilation on OpenSuze11.4 + - put links to peer and signers in certificate dialog + - updated french translation + - added copy/paste functionality of RS links to friends keys + - various GUI tweaks + - added to RetroShare Help page noew commands entry for "-r retroshare://..." + - added history cache optimisation to subscribed/client groups (functionality is now disabled) + - Added new RetroShare link format to write a message retroshare://message?id=...[&subject=...] + - Added new RetroShare link format to start a search retroshare://search?keywords=... + - Enabled on Private Chat to display for the status string smileys, when there is smiley codes used. + + * Bug fixes + - Channels: Fixed bug related to opening cache hist file in text mode for windows + - Chat: Sending large messages now works, thanks to RsChatMsgItem splitting (not 100% backward compatible, but avoids crashing) + - Chat: Removed crash due to dynamic_cast onto a deleted pointer. + - Dbase: Removed the difference of the separator for Linux and Windows. + - Dbase: Removed extra "/" of the filename (e.g. "E://") of the hashed file when sharing a whole drive. + - Forums: Fixed drag and drop of files to a forum message with utf8 chars. + - General: Fixed recommend friend. + - Search: Fixed sorting by date in search + + -- Cyril Soler Mon, 11 Apr 2010 21:35:46 +0100 + +retroshare (0.5.1-0.4179~lucid) lucid; urgency=low + + * Improvements + - updated packaging for ubuntu natty, removed dependency on qt4-opengl + - updated french/german translations + - updated icons + - enabled drag and drop of directories in share manager + + * Bug fixes + - suppred unwanted apparence of channel source id as channel source + - improved strategy for cleaning stalled cache transfers + - fixed leaking of sources in channel posts + + -- Cyril Soler Mon, 11 Apr 2010 21:35:46 +0100 + +retroshare (0.5.1-0.4166~lucid) lucid; urgency=low + + * Improvements + - made flat view for shared files less CPU demanding + - added automated treatment of RS links from web browser + + * Bug fixes + - removed potential segfault when decrypting cache file + + -- Cyril Soler Mon, 11 Apr 2010 21:35:46 +0100 + +retroshare (0.5.1-0.4154~lucid) lucid; urgency=low + + * Improvements + - added flat view for shared files, with search, sorting and temporised update + - enabled file preview for partially downloaded files, for non windows users + - removed display of directories from search + - added auto-download option to channels + - added random bias to turtle search and tunnels at maximum depth, to prevent security issues + - added biased rerouting of tunnels requests to statistically optimize tunnel length + - made sign GPG button disabled by default + - optimized lookups of/into FileEntry structures (faster, better memory coalescence) + - added tunning for auto-check of shared directories, in config + - updated french/german translations + - saved the visible state of the avatar picture in private chat for the friend. + - removed own settings for news feed + - added tooltip for systray to display nickname and location + - made lock file warning more explicit + + * Bug fixes + - channel download is now called only once for each channel post + - fixed cleaning issue of certificates. Added a button in cert dialog for cleaning. + - removed automatic cleaning of certs. + - fixed bug with utf8 chatacters in %appdata% paths on windows + - fixed crash on shutdown when the cache loading is running + - fixed some stylesheets to use gradients instead of a background images, + - fixed thread leak in file checking due to not calling pthread_join() on finished thread + - showing uploads by default, instead of current transfer + + -- Cyril Soler Mon, 11 Apr 2010 21:35:46 +0100 + +retroshare (0.5.1-0.4097~lucid) lucid; urgency=low + + * Improvements + - attempt to make GPG errors more verbose at cert exchange time + - translate QuickStartWizard, GenCertDialog and StartDialog into german + - fixed tab order of the upload and download settings in QuickStartWizard + - Added a basic description of the chat style + - Added share incoming directory to the QuickStartWizard, while keeping + the Download directory shared by default + + * Bug Fixes + - implemented a backward compatible fix for advance searching with size + larger than 2Gb + - implemented a better management of tunnel requests + + + -- Cyril Soler Thu, 07 Mar 2010 21:35:46 +0100 + +retroshare (0.5.1-0.4087~lucid) lucid; urgency=low + + * Improvements + - The working (hashing) thread FileIndexMonitor is now stopped when RetroShare is closed. + - Removed tab focus from the toolbar and image buttons. + - Fixed german translation. + + * Bug Fixes: + - Fixed a toolbar icon to display with a correct size on macosx + - Added missing return... which was causing crash at start during directory creation. + - Supressed memory leak due to not deleting a RsItem + - Suppressed potential SIGSEGV as exit time + + -- Cyril Soler Thu, 07 Mar 2010 21:35:46 +0100 + +retroshare (0.5.1-0.4069~lucid) lucid; urgency=low + + * Improvements: + - Added a confirm to the delete history action. + - Added the RetroShare icon to the password input window. + - Added display of number of intermediate tunnels, and limited the number of displayed tunnel requests + + * Bug Fixes: + - Fixed potential SIGSEGV because of not checking returned pointer in DHT code. + - Fixed memory leak in GUI responsible for high leaks in large networks. + - Fixed memory leak in p3distrib + + -- Cyril Soler Thu, 28 Feb 2010 21:35:46 +0100 + +retroshare (0.5.1-0.4059~lucid) lucid; urgency=low + + * Release 0.5.1: + New features (DHT, Channels, Network View), Improved stability w.r.t. previous version 0.5.0g + + -- Cyril Soler Thu, 24 Feb 2010 21:35:46 +0100 diff --git a/build_scripts/DebianAndDerivatives_OBS/retroshare-service-git/debian.compat b/build_scripts/OBS/network:retroshare/retroshare-gui-0.6.4/debian.compat similarity index 100% rename from build_scripts/DebianAndDerivatives_OBS/retroshare-service-git/debian.compat rename to build_scripts/OBS/network:retroshare/retroshare-gui-0.6.4/debian.compat diff --git a/build_scripts/OBS/network:retroshare/retroshare-gui-0.6.4/debian.control b/build_scripts/OBS/network:retroshare/retroshare-gui-0.6.4/debian.control new file mode 100644 index 000000000..71ad7ce2b --- /dev/null +++ b/build_scripts/OBS/network:retroshare/retroshare-gui-0.6.4/debian.control @@ -0,0 +1,29 @@ +Source: retroshare +Section: devel +Priority: standard +Maintainer: Cyril Soler +Build-Depends: debhelper (>= 7), libglib2.0-dev, libupnp-dev, qt4-dev-tools, libqt4-dev, libssl-dev, libxss-dev, libbz2-dev, libsqlcipher-dev, libmicrohttpd-dev +Standards-Version: 3.9.3 +Homepage: http://retroshare.net + +Package: retroshare-nogui +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: Secure communication with friends + RetroShare is a Free and Open Source, private and secure decentralized + communication platform. It lets you to securely chat and share files with your + friends and family, using a web-of-trust to authenticate peers and OpenSSL to + encrypt all communication. RetroShare provides filesharing, chat, messages, + forums and channels. + This package provide a headless RetroShare node that can be controlled using + the web interface or the JSON API. + +Package: retroshare +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: Secure communication with friends + RetroShare is a Open Source cross-platform, private and secure decentralised + communication platform. It lets you to securely chat and share files with your + friends and family, using a web-of-trust to authenticate peers and OpenSSL to + encrypt all communication. RetroShare provides filesharing, chat, messages, + forums and channels. diff --git a/build_scripts/OBS/network:retroshare/retroshare-gui-0.6.4/debian.retroshare-nogui.install b/build_scripts/OBS/network:retroshare/retroshare-gui-0.6.4/debian.retroshare-nogui.install new file mode 100644 index 000000000..5fb7e3c8d --- /dev/null +++ b/build_scripts/OBS/network:retroshare/retroshare-gui-0.6.4/debian.retroshare-nogui.install @@ -0,0 +1,3 @@ +debian/tmp/usr/bin/retroshare-nogui +debian/tmp/usr/share/retroshare/bdboot.txt +debian/tmp/usr/share/retroshare/webui/* diff --git a/build_scripts/OBS/network:retroshare/retroshare-gui-0.6.4/debian.retroshare.install b/build_scripts/OBS/network:retroshare/retroshare-gui-0.6.4/debian.retroshare.install new file mode 100644 index 000000000..e8bfb8315 --- /dev/null +++ b/build_scripts/OBS/network:retroshare/retroshare-gui-0.6.4/debian.retroshare.install @@ -0,0 +1,6 @@ +debian/tmp/usr/bin/retroshare +debian/tmp/usr/bin/retroshare-nogui +debian/tmp/usr/share/applications/retroshare.desktop +debian/tmp/usr/share/icons/hicolor/* +debian/tmp/usr/share/pixmaps/retroshare.xpm +debian/tmp/usr/share/retroshare/* diff --git a/build_scripts/OBS/network:retroshare/retroshare-gui-0.6.4/debian.rules b/build_scripts/OBS/network:retroshare/retroshare-gui-0.6.4/debian.rules new file mode 100644 index 000000000..7c1929ec8 --- /dev/null +++ b/build_scripts/OBS/network:retroshare/retroshare-gui-0.6.4/debian.rules @@ -0,0 +1,53 @@ +#!/usr/bin/make -f + +configure: configure-stamp +configure-stamp: + dh_testdir + qmake-qt4 CONFIG-=debug CONFIG+=release PREFIX=/usr LIB_DIR=/usr/lib RetroShare.pro + touch $@ + +build: build-stamp +build-stamp: configure-stamp + dh_testdir + $(MAKE) + touch $@ + +clean: + dh_testdir + dh_testroot + rm -f configure-stamp build-stamp + # Add here commands to clean up after the build process. + [ ! -f Makefile ] || $(MAKE) distclean + dh_clean + +install: build + dh_testdir + dh_testroot + dh_clean -k + #dh_installdirs + $(MAKE) INSTALL_ROOT=$(CURDIR)/debian/tmp install + +# Build architecture-independent files here. +binary-indep: build install +# We have nothing to do by default. + +# Build architecture-dependent files here. +binary-arch: build install + dh_testdir + dh_testroot + dh_install --list-missing + #dh_installdocs + #dh_installexamples + #dh_installman + dh_link + dh_strip + dh_compress + dh_fixperms + dh_installdeb + dh_shlibdeps + dh_gencontrol + dh_md5sums + dh_builddeb + +binary: binary-indep binary-arch +.PHONY: build clean binary-indep binary-arch binary install configure diff --git a/build_scripts/DebianAndDerivatives_OBS/retroshare-service-git/debian.series b/build_scripts/OBS/network:retroshare/retroshare-gui-0.6.4/debian.series similarity index 100% rename from build_scripts/DebianAndDerivatives_OBS/retroshare-service-git/debian.series rename to build_scripts/OBS/network:retroshare/retroshare-gui-0.6.4/debian.series diff --git a/build_scripts/OBS/network:retroshare/retroshare-gui-0.6.4/retroshare.dsc b/build_scripts/OBS/network:retroshare/retroshare-gui-0.6.4/retroshare.dsc new file mode 100644 index 000000000..7082d9ec4 --- /dev/null +++ b/build_scripts/OBS/network:retroshare/retroshare-gui-0.6.4/retroshare.dsc @@ -0,0 +1,13 @@ +Format: 1.0 +Source: retroshare +Binary: retroshare +Architecture: any +Version: 0.6.4 +Maintainer: Cyril Soler +Homepage: https://retroshare.net +Standards-Version: 3.8.1 +Build-Depends: debhelper (>= 7), libglib2.0-dev, libupnp-dev, qt4-dev-tools, libqt4-dev, libssl-dev, libxss-dev, libgnome-keyring-dev, libbz2-dev, libspeex-dev, libspeexdsp-dev, libxslt1-dev, libsqlcipher-dev, libmicrohttpd-dev, libjpeg-dev +Files: + 24d01e1ff2eff2e1a7477e175f14efd5 20021632 RetroShare-0.6.4.tar.gz + +# libavcodec-dev, libavutil-dev \ No newline at end of file diff --git a/build_scripts/OBS/network:retroshare/retroshare-gui-0.6.4/retroshare.spec b/build_scripts/OBS/network:retroshare/retroshare-gui-0.6.4/retroshare.spec new file mode 100644 index 000000000..b97e2d2f2 --- /dev/null +++ b/build_scripts/OBS/network:retroshare/retroshare-gui-0.6.4/retroshare.spec @@ -0,0 +1,124 @@ +Name: retroshare +Version: 0.6.4 +Release: 0 +License: GNU AFFERO GENERAL PUBLIC LICENSE version 3 +Summary: Secure chat and file sharing +Group: Productivity/Networking/Other +Url: http://retroshare.net +Source0: https://github.com/RetroShare/RetroShare/archive/v%{version}.tar.gz#/RetroShare-%{version}.tar.gz +#Patch0: various.patch +BuildRoot: %{_tmppath}/%{name} +BuildRequires: gcc-c++ +BuildRequires: desktop-file-utils +BuildRequires: glib2-devel sqlcipher-devel libmicrohttpd-devel +BuildRequires: openssl-devel + +%if 0%{?centos_version} == 600 +BuildRequires: gnome-keyring-devel +%else +BuildRequires: libgnome-keyring-devel +%endif +%if 0%{?centos_version} >= 800 || 0%{?suse_version} || 0%{?fedora_version} +BuildRequires: fdupes +%if 0%{?suse_version} +BuildRequires: libqt5-qtbase-devel +BuildRequires: libqt5-qtx11extras-devel +BuildRequires: libqt5-qtmultimedia-devel +BuildRequires: libqt5-qttools-devel +%else +BuildRequires: qt5-qtbase-devel +BuildRequires: qt5-qtx11extras-devel +BuildRequires: qt5-qtmultimedia-devel +BuildRequires: qt5-qttools-devel +BuildRequires: qt5-qttools-static +%endif +%else +BuildRequires: libqt4-devel +%endif + +%if %{defined mageia} +BuildRequires: libxscrnsaver-devel +%else +BuildRequires: libXScrnSaver-devel +%endif + +%if 0%{?suse_version} +BuildRequires: update-desktop-files libbz2-devel +%endif + +BuildRequires: libupnp-devel +Requires: openssl %name-nogui = %{version} +Conflicts: retroshare-git + +%if 0%{?fedora_version} >= 27 +%undefine _debugsource_packages +%undefine _debuginfo_subpackages +%endif + +%description +RetroShare is a cross-platform F2F communication platform. +It lets you share securely with your friends, using PGP +to authenticate peers and OpenSSL to encrypt all communication. +RetroShare provides filesharing, chat, messages and channels. + +Authors: +see http://retroshare.net/ +-------- + +%package nogui +Summary: RetroShare without gui +Group: Productivity/Network/Other +Requires: openssl + +%description nogui +retroshare-nogui comes without a user interface. It can be controlled via a webui. + +%prep +%setup -n RetroShare-%{version} +#%patch0 -p0 + +%build +%if 0%{?centos_version} >= 800 || 0%{?suse_version} || 0%{?fedora_version} +QMAKE="qmake-qt5" +%else +QMAKE="qmake-qt4" +%endif + +$QMAKE CONFIG-=debug CONFIG+=release CONFIG+=no_retroshare_plugins QMAKE_STRIP=echo PREFIX="%{_prefix}" BIN_DIR="%{_bindir}" LIB_DIR="%{_libdir}" DATA_DIR="%{_datadir}/retroshare" RetroShare.pro +make + +%install +rm -rf $RPM_BUILD_ROOT +make INSTALL_ROOT=$RPM_BUILD_ROOT install + +%if 0%{?centos_version} < 800 +%else +%fdupes %{buildroot}/%{_prefix} +%endif + +#menu +%if 0%{?suse_version} +%suse_update_desktop_file -n -i retroshare Network P2P +%endif +%if 0%{?fedora_version} +desktop-file-validate $RPM_BUILD_ROOT%{_datadir}/applications/retroshare.desktop +%endif + +%clean +rm -rf $RPM_BUILD_ROOT + +%files +%defattr(-, root, root) +%{_bindir}/retroshare +%defattr(644, root, root) +%{_datadir}/pixmaps/retroshare.xpm +%{_datadir}/icons/hicolor/ +%{_datadir}/applications/retroshare.desktop + +%files nogui +%defattr(-, root, root) +%{_bindir}/retroshare-nogui +%defattr(644, root, root) +%{_datadir}/retroshare + +%changelog diff --git a/build_scripts/OBS/network:retroshare/retroshare-gui-0.6.5/PKGBUILD b/build_scripts/OBS/network:retroshare/retroshare-gui-0.6.5/PKGBUILD new file mode 100644 index 000000000..61a7da607 --- /dev/null +++ b/build_scripts/OBS/network:retroshare/retroshare-gui-0.6.5/PKGBUILD @@ -0,0 +1,48 @@ +# Maintainer: Gioacchino Mazzurco +# Contributor: AsamK +# Contributor: sehraf +# Contributor: stqn +# Contributor: JHeaton +# Contributor: Tristero +# Contributor: funkyou + +pkgname=retroshare +pkgver=stable +pkgrel=0 +pkgdesc="Serverless encrypted instant messenger with filesharing, chatgroups, e-mail. System service version." +arch=('i686' 'x86_64' 'armv6h' 'armv7h') +url="https://retroshare.cc/" +license=('AGPL' 'GPL' 'LGPL') +depends=('bzip2' 'libupnp' 'libxss' 'libzip' 'openssl' 'qt5-multimedia' 'qt5-x11extras' 'rapidjson' 'sqlcipher' 'xapian-core') +makedepends=('cmake' 'doxygen' 'pkgconf' 'qt5-tools') +provides=('retroshare') +conflicts=('retroshare-gui-unstable') + +source=(RetroShare.tar.gz) + +md5sums=('45a438fb9a862542cc651c6f5ff28fac') + +prepare() { + cd "${srcdir}/RetroShare" +} + +build() { + cd "${srcdir}/RetroShare" + qmake-qt5 PREFIX=/usr DATA_DIR=/usr/share/retroshare \ + RS_MAJOR_VERSION=0 RS_MINOR_VERSION=6 RS_MINI_VERSION=5 \ + RS_EXTRA_VERSION="-retroshare-gui-OBS-Arch" \ + CONFIG-=debug \ + CONFIG+=ipv6 CONFIG+=no_retroshare_android_service \ + CONFIG+=no_retroshare_android_notify_service \ + CONFIG+=no_retroshare_plugins CONFIG+=no_retroshare_nogui \ + CONFIG+=retroshare_gui CONFIG+=no_tests CONFIG+=no_libresapi \ + CONFIG+=no_libresapihttpserver CONFIG+=no_libresapilocalserver \ + CONFIG+=no_retroshare_service CONFIG+=rs_jsonapi CONFIG+=rs_deep_search \ + CONFIG+=release + make -j$(nproc) || make -j$(nproc) || make +} + +package() { + cd "${srcdir}/RetroShare" + make INSTALL_ROOT="${pkgdir}" install +} diff --git a/build_scripts/OBS/network:retroshare/retroshare-gui-0.6.5/appimage.yml b/build_scripts/OBS/network:retroshare/retroshare-gui-0.6.5/appimage.yml new file mode 100644 index 000000000..f837d1340 --- /dev/null +++ b/build_scripts/OBS/network:retroshare/retroshare-gui-0.6.5/appimage.yml @@ -0,0 +1,37 @@ +app: retroshare-gui + +build: + packages: + - desktop-file-utils + - doxygen + - gcc5 + - gcc5-c++ + - glib2-devel + - libbz2-devel + - libqt5-qtbase-devel + - libqt5-qtmultimedia-devel + - libqt5-qttools-devel + - libqt5-qtsvg-devel + - libqt5-qtx11extras-devel + - libupnp-devel + - libxapian-devel + - libXScrnSaver-devel + - linuxdeployqt + - openssl-devel + - sqlcipher-devel + - update-desktop-files + +script: + - cd $BUILD_SOURCE_DIR + - tar -xf RetroShare.tar.gz + - cd RetroShare + - gcc --version + - ls $(which gcc)* + - ls $(which g++)* + - sed -i 's/retroshare.xpm/retroshare/' data/retroshare.desktop + - sed -i 's|/usr/bin/retroshare|retroshare|' data/retroshare.desktop + - qmake-qt5 QMAKE_CC=gcc-5 QMAKE_CXX=g++-5 PREFIX=/usr RS_MAJOR_VERSION=0 RS_MINOR_VERSION=6 RS_MINI_VERSION=5 RS_EXTRA_VERSION="-retroshare-gui-OBS-AppImage" CONFIG-=debug CONFIG+=release CONFIG+=no_retroshare_nogui CONFIG+=no_retroshare_plugins CONFIG+=no_retroshare_qml_app CONFIG+=no_retroshare_android_notify_service CONFIG+=no_retroshare_plugins CONFIG+=ipv6 CONFIG+=no_tests CONFIG+=rs_jsonapi CONFIG+=no_retroshare_android_service CONFIG+=rs_deep_search CONFIG+=no_libresapilocalserver CONFIG+=retroshare_gui CONFIG+=no_libresapihttpserver CONFIG+=no_retroshare_service CONFIG+=no_libresapi CONFIG+=c++11 CONFIG+=appimage + - make -j$(nproc) || make -j$(nproc) || make + - make INSTALL_ROOT=$BUILD_APPDIR install + - unset QTDIR; unset QT_PLUGIN_PATH ; unset LD_LIBRARY_PATH + - linuxdeployqt $BUILD_APPDIR/usr/share/applications/*.desktop -bundle-non-qt-libs -verbose=3 -no-strip diff --git a/build_scripts/OBS/network:retroshare/retroshare-gui-0.6.5/debian.changelog b/build_scripts/OBS/network:retroshare/retroshare-gui-0.6.5/debian.changelog new file mode 100644 index 000000000..5f5a3d5fa --- /dev/null +++ b/build_scripts/OBS/network:retroshare/retroshare-gui-0.6.5/debian.changelog @@ -0,0 +1,5 @@ +retroshare (0.6.5) stable; urgency=low + + Add retroshare 0.6.5 package + + -- Gioacchino Mazzurco Mon, 09 Feb 2019 16:56:00 +0100 \ No newline at end of file diff --git a/build_scripts/OBS/network:retroshare/retroshare-gui-0.6.5/debian.compat b/build_scripts/OBS/network:retroshare/retroshare-gui-0.6.5/debian.compat new file mode 100644 index 000000000..c7930257d --- /dev/null +++ b/build_scripts/OBS/network:retroshare/retroshare-gui-0.6.5/debian.compat @@ -0,0 +1 @@ +7 \ No newline at end of file diff --git a/build_scripts/OBS/network:retroshare/retroshare-gui-0.6.5/debian.control b/build_scripts/OBS/network:retroshare/retroshare-gui-0.6.5/debian.control new file mode 100644 index 000000000..52ce81286 --- /dev/null +++ b/build_scripts/OBS/network:retroshare/retroshare-gui-0.6.5/debian.control @@ -0,0 +1,17 @@ +Source: retroshare +Section: devel +Priority: standard +Maintainer: Cyril Soler +Standards-Version: 3.9.3 +Homepage: https://retroshare.cc + +Package: retroshare +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: Secure communication with friends + RetroShare is a Free and Open Source, private and secure decentralized + communication platform. It lets you to securely chat and share files with your + friends and family, using a web-of-trust to authenticate peers and OpenSSL to + encrypt all communication. RetroShare provides filesharing, chat, messages, + forums and channels. + \ No newline at end of file diff --git a/build_scripts/OBS/network:retroshare/retroshare-gui-0.6.5/debian.retroshare.install b/build_scripts/OBS/network:retroshare/retroshare-gui-0.6.5/debian.retroshare.install new file mode 100644 index 000000000..719f25bad --- /dev/null +++ b/build_scripts/OBS/network:retroshare/retroshare-gui-0.6.5/debian.retroshare.install @@ -0,0 +1,5 @@ +debian/tmp/usr/bin/retroshare +debian/tmp/usr/share/applications/retroshare.desktop +debian/tmp/usr/share/icons/hicolor/* +debian/tmp/usr/share/pixmaps/retroshare.xpm +debian/tmp/usr/share/retroshare/* \ No newline at end of file diff --git a/build_scripts/OBS/network:retroshare/retroshare-gui-0.6.5/debian.rules b/build_scripts/OBS/network:retroshare/retroshare-gui-0.6.5/debian.rules new file mode 100644 index 000000000..24e13b3c4 --- /dev/null +++ b/build_scripts/OBS/network:retroshare/retroshare-gui-0.6.5/debian.rules @@ -0,0 +1,69 @@ +#!/usr/bin/make -f + +configure: configure-stamp +configure-stamp: + dh_testdir + cat /etc/os-release + qmake --version + echo '. /etc/os-release' > /tmp/configJsonApi.sh + echo '[ "$$VERSION_ID" != "8" ] &&' >> /tmp/configJsonApi.sh + echo ' echo "CONFIG+=rs_jsonapi"' >> /tmp/configJsonApi.sh + echo 'true' >> /tmp/configJsonApi.sh + chmod +x /tmp/configJsonApi.sh + qmake \ + RS_MAJOR_VERSION=0 RS_MINOR_VERSION=6 RS_MINI_VERSION=5 \ + RS_EXTRA_VERSION="-retroshare-gui-OBS-deb" \ + CONFIG-=debug CONFIG+=release PREFIX=/usr LIB_DIR=/usr/lib \ + CONFIG+=no_retroshare_plugins CONFIG+=no_retroshare_nogui \ + CONFIG+=retroshare_gui CONFIG+=no_tests CONFIG+=no_libresapi \ + CONFIG+=no_libresapihttpserver CONFIG+=no_libresapilocalserver \ + CONFIG+=no_retroshare_service CONFIG+=rs_deep_search CONFIG+=c++11 \ + $$(/tmp/configJsonApi.sh) \ + RetroShare.pro + touch $@ + +build: build-stamp +build-stamp: configure-stamp + dh_testdir + $(MAKE) -j$(shell nproc) || $(MAKE) -j$(shell nproc) || $(MAKE) + touch $@ + +clean: + dh_testdir + dh_testroot + rm -f configure-stamp build-stamp + # Add here commands to clean up after the build process. + [ ! -f Makefile ] || $(MAKE) distclean + dh_clean + +install: build + dh_testdir + dh_testroot + dh_clean -k + #dh_installdirs + $(MAKE) INSTALL_ROOT=$(CURDIR)/debian/tmp install + +# Build architecture-independent files here. +binary-indep: build install +# We have nothing to do by default. + +# Build architecture-dependent files here. +binary-arch: build install + dh_testdir + dh_testroot + dh_install --list-missing + #dh_installdocs + #dh_installexamples + #dh_installman + dh_link + dh_strip + dh_compress + dh_fixperms + dh_installdeb + dh_shlibdeps + dh_gencontrol + dh_md5sums + dh_builddeb + +binary: binary-indep binary-arch +.PHONY: build clean binary-indep binary-arch binary install configure diff --git a/build_scripts/OBS/network:retroshare/retroshare-gui-0.6.5/debian.series b/build_scripts/OBS/network:retroshare/retroshare-gui-0.6.5/debian.series new file mode 100644 index 000000000..e69de29bb diff --git a/build_scripts/OBS/network:retroshare/retroshare-gui-0.6.5/retroshare.dsc b/build_scripts/OBS/network:retroshare/retroshare-gui-0.6.5/retroshare.dsc new file mode 100644 index 000000000..0bb8c27d2 --- /dev/null +++ b/build_scripts/OBS/network:retroshare/retroshare-gui-0.6.5/retroshare.dsc @@ -0,0 +1,11 @@ +Format: 1.0 +Source: retroshare +Binary: retroshare +Architecture: any +Version: 0.6.5 +Maintainer: Cyril Soler +Homepage: https://retroshare.cc +Standards-Version: 3.8.1 +Build-Depends: cmake, debhelper (>= 7), doxygen, libglib2.0-dev, libssl-dev, libbz2-dev, libqt5x11extras5-dev, libsqlcipher-dev, libupnp-dev, libxapian-dev, libxss-dev, qt5-default, qtbase5-dev, qtmultimedia5-dev, qttools5-dev +Files: + 45a438fb9a862542cc651c6f5ff28fac 29377995 RetroShare.tar.gz diff --git a/build_scripts/OBS/network:retroshare/retroshare-gui-0.6.5/retroshare.spec b/build_scripts/OBS/network:retroshare/retroshare-gui-0.6.5/retroshare.spec new file mode 100644 index 000000000..1d8ec3ec3 --- /dev/null +++ b/build_scripts/OBS/network:retroshare/retroshare-gui-0.6.5/retroshare.spec @@ -0,0 +1,151 @@ +Name: retroshare +Version: 0.6.5 +Release: 0 +License: AGPL-3.0-or-later +Summary: Secure distributed chat, mail, forums, file sharing etc +Group: Productivity/Networking/Other +Url: https://retroshare.cc +Source0: RetroShare.tar.gz +#Patch0: various.patch +BuildRoot: %{_tmppath}/%{name} +Conflicts: retroshare-gui-unstable +BuildRequires: cmake doxygen openssl-devel sqlcipher-devel + +%if %{defined centos_version} +BuildRequires: qt5-qtbase-devel qt5-qttools-devel qt5-qttools-static +BuildRequires: qt5-qtmultimedia-devel qt5-qtx11extras-devel libXScrnSaver-devel +BuildRequires: libupnp-devel +%endif + +%if 0%{?fedora_version} +BuildRequires: gcc-c++ +BuildRequires: fdupes xapian-core-devel libXScrnSaver-devel +BuildRequires: qt5-qtbase-devel qt5-qttools-devel qt5-qttools-static +BuildRequires: qt5-qtx11extras-devel qt5-qtmultimedia-devel +%endif + +%if 0%{?fedora_version} >= 29 +BuildRequires: miniupnpc-devel +%else +BuildRequires: libupnp-devel +%endif + +%if %{defined mageia} +BuildRequires: gcc-c++ +BuildRequires: libzlib-devel libbzip2-devel +BuildRequires: libqt5core-devel libqt5xml-devel libxapian-devel +BuildRequires: libqt5x11extras-devel libxscrnsaver-devel libqt5multimedia-devel +BuildRequires: libqt5designer-devel +BuildRequires: libqt5gui-devel libqt5printsupport-devel +BuildRequires: libupnp-devel +%endif + +%if 0%{?suse_version} +BuildRequires: gcc7 gcc7-c++ +BuildRequires: fdupes libbz2-devel +BuildRequires: libqt5-qtbase-devel libqt5-qttools-devel +BuildRequires: libxapian-devel update-desktop-files +BuildRequires: libqt5-qtx11extras-devel +BuildRequires: libqt5-qtmultimedia-devel libXScrnSaver-devel +BuildRequires: libminiupnpc-devel +%endif + +%if 0%{?fedora_version} >= 27 +%undefine _debugsource_packages +%undefine _debuginfo_subpackages +%endif + +%description +RetroShare is a cross-platform F2F communication platform. +It lets you share securely with your friends, using PGP +to authenticate peers and OpenSSL to encrypt all communication. +RetroShare provides filesharing, chat, messages and channels. + +Authors: +see https://retroshare.cc/ +-------- + +%prep +%setup -n RetroShare +#%patch0 -p0 + +%build + +nproc +qmake --version || qmake-qt5 --version +ls $(which gcc)* +ls $(which g++)* + +BUILD_CC="" +BUILD_CXX="" +BUILD_DEEPSEARCH="CONFIG+=rs_deep_search" +BUILD_JSONAPI="CONFIG+=rs_jsonapi" +QMAKE="qmake-qt5" + +%if %{defined centos_version} +# Xapian is not availabe on Centos 7 +BUILD_DEEPSEARCH="CONFIG+=no_rs_deep_search" +BUILD_JSONAPI="CONFIG+=no_rs_jsonapi" +%endif + +%if %{defined mageia} +QMAKE="qmake" +%endif + +%if 0%{?suse_version} +BUILD_CC="QMAKE_CC=gcc-7" +BUILD_CXX="QMAKE_CXX=g++-7" +RS_UPNP_LIB="RS_UPNP_LIB=miniupnpc" +%endif + +# On OpenSuse Tumbleweed and Factory ARM 64 bits seems cmake/restbed and +# qmake/retroshare have PIE/PIC mismatch attempt to coherce restbed to be PIC +# https://en.opensuse.org/Archive:How_to_detect_Tumbleweed +%if 0%{?suse_version} == 1550 && ( (%{_arch} == "x86_64") || (%{_arch} == "aarch64") ) +RESTBED_CMAKE_FILE="supportlibs/restbed/CMakeLists.txt" +echo 'set(CMAKE_POSITION_INDEPENDENT_CODE ON)' | \ + cat - $RESTBED_CMAKE_FILE > tmp_cmake && mv tmp_cmake $RESTBED_CMAKE_FILE +cat $RESTBED_CMAKE_FILE +%endif + +%if 0%{?fedora_version} >= 29 +RS_UPNP_LIB="RS_UPNP_LIB=miniupnpc" +%endif + +$QMAKE $BUILD_CC $BUILD_CXX QMAKE_STRIP=echo PREFIX="%{_prefix}" \ + BIN_DIR="%{_bindir}" LIB_DIR="%{_libdir}" ${QMAKE_NO_PIE} \ + DATA_DIR="%{_datadir}/retroshare" ${RS_UPNP_LIB} \ + RS_MAJOR_VERSION=0 RS_MINOR_VERSION=6 RS_MINI_VERSION=5 \ + RS_EXTRA_VERSION="-retroshare-gui-OBS-rpm" \ + CONFIG-=debug \ + CONFIG+=ipv6 CONFIG+=no_retroshare_android_service \ + CONFIG+=no_retroshare_android_notify_service \ + CONFIG+=no_retroshare_plugins CONFIG+=no_retroshare_nogui \ + CONFIG+=retroshare_gui CONFIG+=no_tests CONFIG+=no_libresapi \ + CONFIG+=no_libresapihttpserver CONFIG+=no_libresapilocalserver \ + CONFIG+=no_retroshare_service ${BUILD_JSONAPI} ${BUILD_DEEPSEARCH} \ + CONFIG+=release RetroShare.pro +make -j$(nproc) || make -j$(nproc) || make + +%install +rm -rf $RPM_BUILD_ROOT +make INSTALL_ROOT=$RPM_BUILD_ROOT install + +%if 0%{?centos_version} < 800 +%else +%fdupes %{buildroot}/%{_prefix} +%endif + +%clean +rm -rf $RPM_BUILD_ROOT + +%files +%defattr(-, root, root) +%{_bindir}/retroshare +%defattr(644, root, root) +%{_datadir}/retroshare +%{_datadir}/pixmaps/retroshare.xpm +%{_datadir}/icons/hicolor/ +%{_datadir}/applications/retroshare.desktop + +%changelog diff --git a/build_scripts/OBS/network:retroshare/retroshare-gui-unstable/PKGBUILD b/build_scripts/OBS/network:retroshare/retroshare-gui-unstable/PKGBUILD new file mode 100644 index 000000000..731c2e323 --- /dev/null +++ b/build_scripts/OBS/network:retroshare/retroshare-gui-unstable/PKGBUILD @@ -0,0 +1,47 @@ +# Maintainer: Gioacchino Mazzurco +# Contributor: AsamK +# Contributor: sehraf +# Contributor: stqn +# Contributor: JHeaton +# Contributor: Tristero +# Contributor: funkyou + +pkgname=retroshare-gui-unstable +pkgver=unstable +pkgrel=0 +pkgdesc="Serverless encrypted instant messenger with filesharing, chatgroups, e-mail. System service version." +arch=('i686' 'x86_64' 'armv6h' 'armv7h') +url="https://retroshare.cc/" +license=('AGPL' 'GPL' 'LGPL') +depends=('bzip2' 'libupnp' 'libxss' 'libzip' 'openssl' 'qt5-multimedia' 'qt5-x11extras' 'rapidjson' 'sqlcipher' 'xapian-core') +makedepends=('cmake' 'doxygen' 'pkgconf' 'qt5-tools') +provides=('retroshare') +conflicts=('retroshare') + +source=(RetroShare.tar.gz) + +md5sums=('84ab98da5a5a005f4991846b89c481be') + +prepare() { + cd "${srcdir}/RetroShare" +} + +build() { + cd "${srcdir}/RetroShare" + qmake-qt5 PREFIX=/usr DATA_DIR=/usr/share/retroshare \ + $(build_scripts/OBS/get_source_version.sh) RS_MINI_VERSION=9999 \ + CONFIG-=debug \ + CONFIG+=ipv6 CONFIG+=no_retroshare_android_service \ + CONFIG+=no_retroshare_android_notify_service \ + CONFIG+=no_retroshare_plugins CONFIG+=no_retroshare_nogui \ + CONFIG+=retroshare_gui CONFIG+=no_tests CONFIG+=no_libresapi \ + CONFIG+=no_libresapihttpserver CONFIG+=no_libresapilocalserver \ + CONFIG+=no_retroshare_service CONFIG+=rs_jsonapi CONFIG+=rs_deep_search \ + CONFIG+=release + make -j$(nproc) || make -j$(nproc) || make +} + +package() { + cd "${srcdir}/RetroShare" + make INSTALL_ROOT="${pkgdir}" install +} diff --git a/build_scripts/OBS/network:retroshare/retroshare-gui-unstable/appimage.yml b/build_scripts/OBS/network:retroshare/retroshare-gui-unstable/appimage.yml new file mode 100644 index 000000000..1cb6487d4 --- /dev/null +++ b/build_scripts/OBS/network:retroshare/retroshare-gui-unstable/appimage.yml @@ -0,0 +1,37 @@ +app: retroshare-gui-unstable + +build: + packages: + - desktop-file-utils + - doxygen + - gcc5 + - gcc5-c++ + - glib2-devel + - libbz2-devel + - libqt5-qtbase-devel + - libqt5-qtmultimedia-devel + - libqt5-qttools-devel + - libqt5-qtsvg-devel + - libqt5-qtx11extras-devel + - libupnp-devel + - libxapian-devel + - libXScrnSaver-devel + - linuxdeployqt + - openssl-devel + - sqlcipher-devel + - update-desktop-files + +script: + - cd $BUILD_SOURCE_DIR + - tar -xf RetroShare.tar.gz + - cd RetroShare + - gcc --version + - ls $(which gcc)* + - ls $(which g++)* + - sed -i 's/retroshare.xpm/retroshare/' data/retroshare.desktop + - sed -i 's|/usr/bin/retroshare|retroshare|' data/retroshare.desktop + - qmake-qt5 QMAKE_CC=gcc-5 QMAKE_CXX=g++-5 PREFIX=/usr $(build_scripts/OBS/get_source_version.sh) RS_MINI_VERSION=9999 CONFIG-=debug CONFIG+=release CONFIG+=no_retroshare_nogui CONFIG+=no_retroshare_plugins CONFIG+=no_retroshare_qml_app CONFIG+=no_retroshare_android_notify_service CONFIG+=no_retroshare_plugins CONFIG+=ipv6 CONFIG+=no_tests CONFIG+=rs_jsonapi CONFIG+=no_retroshare_android_service CONFIG+=rs_deep_search CONFIG+=no_libresapilocalserver CONFIG+=retroshare_gui CONFIG+=no_libresapihttpserver CONFIG+=no_retroshare_service CONFIG+=no_libresapi CONFIG+=c++11 CONFIG+=appimage + - make -j$(nproc) || make -j$(nproc) || make + - make INSTALL_ROOT=$BUILD_APPDIR install + - unset QTDIR; unset QT_PLUGIN_PATH ; unset LD_LIBRARY_PATH + - linuxdeployqt $BUILD_APPDIR/usr/share/applications/*.desktop -bundle-non-qt-libs -verbose=3 -no-strip diff --git a/build_scripts/OBS/network:retroshare/retroshare-gui-unstable/debian.changelog b/build_scripts/OBS/network:retroshare/retroshare-gui-unstable/debian.changelog new file mode 100644 index 000000000..7eb914fa2 --- /dev/null +++ b/build_scripts/OBS/network:retroshare/retroshare-gui-unstable/debian.changelog @@ -0,0 +1,5 @@ +retroshare-gui-unstable (0.6.9999) stable; urgency=low + + Add retroshare-gui-unstable package + + -- Gioacchino Mazzurco Mon, 04 Feb 2019 16:56:00 +0100 diff --git a/build_scripts/OBS/network:retroshare/retroshare-gui-unstable/debian.compat b/build_scripts/OBS/network:retroshare/retroshare-gui-unstable/debian.compat new file mode 100644 index 000000000..7f8f011eb --- /dev/null +++ b/build_scripts/OBS/network:retroshare/retroshare-gui-unstable/debian.compat @@ -0,0 +1 @@ +7 diff --git a/build_scripts/OBS/network:retroshare/retroshare-gui-unstable/debian.control b/build_scripts/OBS/network:retroshare/retroshare-gui-unstable/debian.control new file mode 100644 index 000000000..9e4789364 --- /dev/null +++ b/build_scripts/OBS/network:retroshare/retroshare-gui-unstable/debian.control @@ -0,0 +1,17 @@ +Source: retroshare-gui-unstable +Section: devel +Priority: standard +Maintainer: Cyril Soler +Standards-Version: 3.9.3 +Homepage: https://retroshare.cc + +Package: retroshare-gui-unstable +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: Secure communication with friends + RetroShare is a Free and Open Source, private and secure decentralized + communication platform. It lets you to securely chat and share files with your + friends and family, using a web-of-trust to authenticate peers and OpenSSL to + encrypt all communication. RetroShare provides filesharing, chat, messages, + forums and channels. + \ No newline at end of file diff --git a/build_scripts/OBS/network:retroshare/retroshare-gui-unstable/debian.retroshare-gui-unstable.install b/build_scripts/OBS/network:retroshare/retroshare-gui-unstable/debian.retroshare-gui-unstable.install new file mode 100644 index 000000000..719f25bad --- /dev/null +++ b/build_scripts/OBS/network:retroshare/retroshare-gui-unstable/debian.retroshare-gui-unstable.install @@ -0,0 +1,5 @@ +debian/tmp/usr/bin/retroshare +debian/tmp/usr/share/applications/retroshare.desktop +debian/tmp/usr/share/icons/hicolor/* +debian/tmp/usr/share/pixmaps/retroshare.xpm +debian/tmp/usr/share/retroshare/* \ No newline at end of file diff --git a/build_scripts/OBS/network:retroshare/retroshare-gui-unstable/debian.rules b/build_scripts/OBS/network:retroshare/retroshare-gui-unstable/debian.rules new file mode 100644 index 000000000..02c7d600a --- /dev/null +++ b/build_scripts/OBS/network:retroshare/retroshare-gui-unstable/debian.rules @@ -0,0 +1,68 @@ +#!/usr/bin/make -f + +configure: configure-stamp +configure-stamp: + dh_testdir + cat /etc/os-release + qmake --version + echo '. /etc/os-release' > /tmp/configJsonApi.sh + echo '[ "$$VERSION_ID" != "8" ] &&' >> /tmp/configJsonApi.sh + echo ' echo "CONFIG+=rs_jsonapi"' >> /tmp/configJsonApi.sh + echo 'true' >> /tmp/configJsonApi.sh + chmod +x /tmp/configJsonApi.sh + qmake \ + $$(build_scripts/OBS/get_source_version.sh) RS_MINI_VERSION=9999 \ + CONFIG-=debug CONFIG+=release PREFIX=/usr LIB_DIR=/usr/lib \ + CONFIG+=no_retroshare_plugins CONFIG+=no_retroshare_nogui \ + CONFIG+=retroshare_gui CONFIG+=no_tests CONFIG+=no_libresapi \ + CONFIG+=no_libresapihttpserver CONFIG+=no_libresapilocalserver \ + CONFIG+=no_retroshare_service CONFIG+=rs_deep_search CONFIG+=c++11 \ + $$(/tmp/configJsonApi.sh) \ + RetroShare.pro + touch $@ + +build: build-stamp +build-stamp: configure-stamp + dh_testdir + $(MAKE) -j$(shell nproc) || $(MAKE) -j$(shell nproc) || $(MAKE) + touch $@ + +clean: + dh_testdir + dh_testroot + rm -f configure-stamp build-stamp + # Add here commands to clean up after the build process. + [ ! -f Makefile ] || $(MAKE) distclean + dh_clean + +install: build + dh_testdir + dh_testroot + dh_clean -k + #dh_installdirs + $(MAKE) INSTALL_ROOT=$(CURDIR)/debian/tmp install + +# Build architecture-independent files here. +binary-indep: build install +# We have nothing to do by default. + +# Build architecture-dependent files here. +binary-arch: build install + dh_testdir + dh_testroot + dh_install --list-missing + #dh_installdocs + #dh_installexamples + #dh_installman + dh_link + dh_strip + dh_compress + dh_fixperms + dh_installdeb + dh_shlibdeps + dh_gencontrol + dh_md5sums + dh_builddeb + +binary: binary-indep binary-arch +.PHONY: build clean binary-indep binary-arch binary install configure diff --git a/build_scripts/OBS/network:retroshare/retroshare-gui-unstable/debian.series b/build_scripts/OBS/network:retroshare/retroshare-gui-unstable/debian.series new file mode 100644 index 000000000..e69de29bb diff --git a/build_scripts/OBS/network:retroshare/retroshare-gui-unstable/retroshare-gui-unstable.dsc b/build_scripts/OBS/network:retroshare/retroshare-gui-unstable/retroshare-gui-unstable.dsc new file mode 100644 index 000000000..1f38ad53f --- /dev/null +++ b/build_scripts/OBS/network:retroshare/retroshare-gui-unstable/retroshare-gui-unstable.dsc @@ -0,0 +1,11 @@ +Format: 1.0 +Source: retroshare-gui-unstable +Binary: retroshare-gui-unstable +Architecture: any +Version: 0.6.9999 +Maintainer: Cyril Soler +Homepage: https://retroshare.cc +Standards-Version: 3.8.1 +Build-Depends: cmake, debhelper (>= 7), doxygen, libglib2.0-dev, libssl-dev, libbz2-dev, libqt5x11extras5-dev, libsqlcipher-dev, libupnp-dev, libxapian-dev, libxss-dev, qt5-default, qtbase5-dev, qtmultimedia5-dev, qttools5-dev +Files: + 84ab98da5a5a005f4991846b89c481be 29377395 RetroShare.tar.gz \ No newline at end of file diff --git a/build_scripts/OBS/network:retroshare/retroshare-gui-unstable/retroshare-gui-unstable.spec b/build_scripts/OBS/network:retroshare/retroshare-gui-unstable/retroshare-gui-unstable.spec new file mode 100644 index 000000000..7aa90b261 --- /dev/null +++ b/build_scripts/OBS/network:retroshare/retroshare-gui-unstable/retroshare-gui-unstable.spec @@ -0,0 +1,126 @@ +Name: retroshare-gui-unstable +Version: 0.6.9999 +Release: 0 +License: AGPL-3.0-or-later +Summary: Secure distributed chat, mail, forums, file sharing etc +Group: Productivity/Networking/Other +Url: https://retroshare.cc +Source0: RetroShare.tar.gz +#Patch0: various.patch +BuildRoot: %{_tmppath}/%{name} +Conflicts: retroshare +BuildRequires: cmake doxygen libupnp-devel openssl-devel sqlcipher-devel + +%if %{defined centos_version} +BuildRequires: qt5-qtbase-devel qt5-qttools-devel qt5-qttools-static +BuildRequires: qt5-qtmultimedia-devel qt5-qtx11extras-devel libXScrnSaver-devel +%endif + +%if 0%{?fedora_version} +BuildRequires: gcc-c++ +BuildRequires: fdupes xapian-core-devel libXScrnSaver-devel +BuildRequires: qt5-qtbase-devel qt5-qttools-devel qt5-qttools-static +BuildRequires: qt5-qtx11extras-devel qt5-qtmultimedia-devel +%endif + +%if %{defined mageia} +BuildRequires: gcc-c++ +BuildRequires: libzlib-devel libbzip2-devel +BuildRequires: libqt5core-devel libqt5xml-devel libxapian-devel +BuildRequires: libqt5x11extras-devel libxscrnsaver-devel libqt5multimedia-devel +BuildRequires: libqt5designer-devel +BuildRequires: libqt5gui-devel libqt5printsupport-devel +%endif + +%if 0%{?suse_version} +BuildRequires: gcc7 gcc7-c++ +BuildRequires: fdupes libbz2-devel +BuildRequires: libqt5-qtbase-devel libqt5-qttools-devel +BuildRequires: libxapian-devel update-desktop-files +BuildRequires: libqt5-qtx11extras-devel +BuildRequires: libqt5-qtmultimedia-devel libXScrnSaver-devel +%endif + +%if 0%{?fedora_version} >= 27 +%undefine _debugsource_packages +%undefine _debuginfo_subpackages +%endif + +%description +RetroShare is a cross-platform F2F communication platform. +It lets you share securely with your friends, using PGP +to authenticate peers and OpenSSL to encrypt all communication. +RetroShare provides filesharing, chat, messages and channels. + +Authors: +see https://retroshare.cc/ +-------- + +%prep +%setup -n RetroShare +#%patch0 -p0 + +%build + +nproc +qmake --version || qmake-qt5 --version +ls $(which gcc)* +ls $(which g++)* + +BUILD_CC="" +BUILD_CXX="" +BUILD_DEEPSEARCH="CONFIG+=rs_deep_search" +BUILD_JSONAPI="CONFIG+=rs_jsonapi" +QMAKE="qmake-qt5" + +%if %{defined centos_version} +# Xapian is not availabe on Centos 7 +BUILD_DEEPSEARCH="CONFIG+=no_rs_deep_search" +BUILD_JSONAPI="CONFIG+=no_rs_jsonapi" +%endif + +%if %{defined mageia} +QMAKE="qmake" +%endif + +%if 0%{?suse_version} +BUILD_CC="QMAKE_CC=gcc-7" +BUILD_CXX="QMAKE_CXX=g++-7" +%endif + +$QMAKE $BUILD_CC $BUILD_CXX QMAKE_STRIP=echo PREFIX="%{_prefix}" \ + BIN_DIR="%{_bindir}" LIB_DIR="%{_libdir}" \ + DATA_DIR="%{_datadir}/retroshare" \ + $(build_scripts/OBS/get_source_version.sh) RS_MINI_VERSION=9999 \ + CONFIG-=debug \ + CONFIG+=ipv6 CONFIG+=no_retroshare_android_service \ + CONFIG+=no_retroshare_android_notify_service \ + CONFIG+=no_retroshare_plugins CONFIG+=no_retroshare_nogui \ + CONFIG+=retroshare_gui CONFIG+=no_tests CONFIG+=no_libresapi \ + CONFIG+=no_libresapihttpserver CONFIG+=no_libresapilocalserver \ + CONFIG+=no_retroshare_service ${BUILD_JSONAPI} ${BUILD_DEEPSEARCH} \ + CONFIG+=release RetroShare.pro +make -j$(nproc) || make -j$(nproc) || make + +%install +rm -rf $RPM_BUILD_ROOT +make INSTALL_ROOT=$RPM_BUILD_ROOT install + +%if 0%{?centos_version} < 800 +%else +%fdupes %{buildroot}/%{_prefix} +%endif + +%clean +rm -rf $RPM_BUILD_ROOT + +%files +%defattr(-, root, root) +%{_bindir}/retroshare +%defattr(644, root, root) +%{_datadir}/retroshare +%{_datadir}/pixmaps/retroshare.xpm +%{_datadir}/icons/hicolor/ +%{_datadir}/applications/retroshare.desktop + +%changelog diff --git a/build_scripts/ArchLinuxAndDerivatives_OBS/PKGBUILD b/build_scripts/OBS/network:retroshare/retroshare-service-0.6.5/PKGBUILD similarity index 73% rename from build_scripts/ArchLinuxAndDerivatives_OBS/PKGBUILD rename to build_scripts/OBS/network:retroshare/retroshare-service-0.6.5/PKGBUILD index 70c970ded..b0a3c6793 100644 --- a/build_scripts/ArchLinuxAndDerivatives_OBS/PKGBUILD +++ b/build_scripts/OBS/network:retroshare/retroshare-service-0.6.5/PKGBUILD @@ -1,4 +1,4 @@ -# Maintainer: Gioacchino Mazzurco +# Maintainer: Gioacchino Mazzurco # Contributor: AsamK # Contributor: sehraf # Contributor: stqn @@ -6,28 +6,28 @@ # Contributor: Tristero # Contributor: funkyou -pkgname=retroshare-service-git -pkgver=git +pkgname=retroshare-service +pkgver=stable pkgrel=0 pkgdesc="Serverless encrypted instant messenger with filesharing, chatgroups, e-mail. System service version." arch=('i686' 'x86_64' 'armv6h' 'armv7h') -url="https://retroshare.net/" +url="https://retroshare.cc/" license=('AGPL' 'GPL' 'LGPL') depends=('bzip2' 'libupnp' 'libzip' 'openssl' 'rapidjson' 'sqlcipher' 'xapian-core') makedepends=('cmake' 'doxygen' 'git' 'pkgconf' 'qt5-tools') provides=('retroshare-service') conflicts=('retroshare-service') -source=(RetroShare-${pkgver}.tar.gz) +source=(RetroShare.tar.gz) -md5sums=('3c66108223b427d617b962aff0755378') +md5sums=('45a438fb9a862542cc651c6f5ff28fac') prepare() { - cd "${srcdir}/RetroShare-${pkgver}" + cd "${srcdir}/RetroShare" } build() { - cd "${srcdir}/RetroShare-${pkgver}" + cd "${srcdir}/RetroShare" qmake-qt5 PREFIX=/usr DATA_DIR=/usr/share/retroshare CONFIG-=debug \ CONFIG+=ipv6 CONFIG+=no_retroshare_android_service \ CONFIG+=no_retroshare_android_notify_service \ @@ -35,11 +35,13 @@ build() { CONFIG+=no_retroshare_gui CONFIG+=no_tests CONFIG+=no_libresapi \ CONFIG+=no_libresapihttpserver CONFIG+=no_libresapilocalserver \ CONFIG+=retroshare_service CONFIG+=rs_jsonapi CONFIG+=rs_deep_search \ - CONFIG+=release + CONFIG+=release \ + RS_MAJOR_VERSION=0 RS_MINOR_VERSION=6 RS_MINI_VERSION=5 \ + RS_EXTRA_VERSION="-retroshare-service-OBS-Arch" make -j$(nproc) || make -j$(nproc) || make } package() { - cd "${srcdir}/RetroShare-${pkgver}" + cd "${srcdir}/RetroShare" make INSTALL_ROOT="${pkgdir}" install } diff --git a/build_scripts/OBS/network:retroshare/retroshare-service-0.6.5/appimage.yml b/build_scripts/OBS/network:retroshare/retroshare-service-0.6.5/appimage.yml new file mode 100644 index 000000000..cee6d8977 --- /dev/null +++ b/build_scripts/OBS/network:retroshare/retroshare-service-0.6.5/appimage.yml @@ -0,0 +1,31 @@ +app: retroshare-service + +build: + packages: + - desktop-file-utils + - doxygen + - gcc5 + - gcc5-c++ + - glib2-devel + - libbz2-devel + - libqt5-qtbase-devel + - libqt5-qttools-devel + - libupnp-devel + - libxapian-devel + - linuxdeployqt + - openssl-devel + - sqlcipher-devel + - update-desktop-files + +script: + - cd $BUILD_SOURCE_DIR + - tar -xf RetroShare.tar.gz + - cd RetroShare + - gcc --version + - ls $(which gcc)* + - ls $(which g++)* + - qmake-qt5 QMAKE_CC=gcc-5 QMAKE_CXX=g++-5 PREFIX=/usr RS_MAJOR_VERSION=0 RS_MINOR_VERSION=6 RS_MINI_VERSION=5 RS_EXTRA_VERSION="-retroshare-service-OBS-AppImage" CONFIG-=debug CONFIG+=release CONFIG+=no_retroshare_nogui CONFIG+=no_retroshare_plugins CONFIG+=no_retroshare_qml_app CONFIG+=no_retroshare_android_notify_service CONFIG+=no_retroshare_plugins CONFIG+=ipv6 CONFIG+=no_tests CONFIG+=rs_jsonapi CONFIG+=no_retroshare_android_service CONFIG+=rs_deep_search CONFIG+=no_libresapilocalserver CONFIG+=no_retroshare_gui CONFIG+=no_libresapihttpserver CONFIG+=retroshare_service CONFIG+=no_libresapi CONFIG+=c++11 CONFIG+=appimage + - make -j$(nproc) || make -j$(nproc) || make + - make INSTALL_ROOT=$BUILD_APPDIR install + - unset QTDIR; unset QT_PLUGIN_PATH ; unset LD_LIBRARY_PATH + - linuxdeployqt $BUILD_APPDIR/usr/share/applications/*.desktop -bundle-non-qt-libs -verbose=3 -no-strip diff --git a/build_scripts/OBS/network:retroshare/retroshare-service-0.6.5/debian.changelog b/build_scripts/OBS/network:retroshare/retroshare-service-0.6.5/debian.changelog new file mode 100644 index 000000000..18d5dfc5c --- /dev/null +++ b/build_scripts/OBS/network:retroshare/retroshare-service-0.6.5/debian.changelog @@ -0,0 +1,5 @@ +retroshare-service (0.6.5) stable; urgency=low + + Add retroshare-service package + + -- Gioacchino Mazzurco Mon, 04 Feb 2019 14:59:00 +0100 \ No newline at end of file diff --git a/build_scripts/OBS/network:retroshare/retroshare-service-0.6.5/debian.compat b/build_scripts/OBS/network:retroshare/retroshare-service-0.6.5/debian.compat new file mode 100644 index 000000000..7f8f011eb --- /dev/null +++ b/build_scripts/OBS/network:retroshare/retroshare-service-0.6.5/debian.compat @@ -0,0 +1 @@ +7 diff --git a/build_scripts/DebianAndDerivatives_OBS/retroshare-service-git/debian.control b/build_scripts/OBS/network:retroshare/retroshare-service-0.6.5/debian.control similarity index 87% rename from build_scripts/DebianAndDerivatives_OBS/retroshare-service-git/debian.control rename to build_scripts/OBS/network:retroshare/retroshare-service-0.6.5/debian.control index 03eb0f02a..4557347fc 100644 --- a/build_scripts/DebianAndDerivatives_OBS/retroshare-service-git/debian.control +++ b/build_scripts/OBS/network:retroshare/retroshare-service-0.6.5/debian.control @@ -1,11 +1,11 @@ -Source: retroshare-service-git +Source: retroshare-service Section: devel Priority: standard Maintainer: Cyril Soler Standards-Version: 3.9.3 -Homepage: http://retroshare.net +Homepage: https://retroshare.cc -Package: retroshare-service-git +Package: retroshare-service Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends} Description: Secure communication with friends diff --git a/build_scripts/DebianAndDerivatives_OBS/retroshare-service-git/debian.retroshare-service-git.install b/build_scripts/OBS/network:retroshare/retroshare-service-0.6.5/debian.retroshare-service.install similarity index 100% rename from build_scripts/DebianAndDerivatives_OBS/retroshare-service-git/debian.retroshare-service-git.install rename to build_scripts/OBS/network:retroshare/retroshare-service-0.6.5/debian.retroshare-service.install diff --git a/build_scripts/OBS/network:retroshare/retroshare-service-0.6.5/debian.rules b/build_scripts/OBS/network:retroshare/retroshare-service-0.6.5/debian.rules new file mode 100644 index 000000000..aca1c6b58 --- /dev/null +++ b/build_scripts/OBS/network:retroshare/retroshare-service-0.6.5/debian.rules @@ -0,0 +1,61 @@ +#!/usr/bin/make -f + +configure: configure-stamp +configure-stamp: + dh_testdir + qmake --version + qmake CONFIG-=debug CONFIG+=release PREFIX=/usr LIB_DIR=/usr/lib \ + CONFIG+=no_retroshare_plugins CONFIG+=no_retroshare_nogui \ + CONFIG+=no_retroshare_gui CONFIG+=no_tests CONFIG+=no_libresapi \ + CONFIG+=no_libresapihttpserver CONFIG+=no_libresapilocalserver \ + CONFIG+=retroshare_service CONFIG+=rs_jsonapi CONFIG+=rs_deep_search \ + CONFIG+=c++11 RS_MAJOR_VERSION=0 RS_MINOR_VERSION=6 RS_MINI_VERSION=5 \ + RS_EXTRA_VERSION="-retroshare-service-OBS-deb" \ + RetroShare.pro + touch $@ + +build: build-stamp +build-stamp: configure-stamp + dh_testdir + $(MAKE) -j$(shell nproc) || $(MAKE) -j$(shell nproc) || $(MAKE) + touch $@ + +clean: + dh_testdir + dh_testroot + rm -f configure-stamp build-stamp + # Add here commands to clean up after the build process. + [ ! -f Makefile ] || $(MAKE) distclean + dh_clean + +install: build + dh_testdir + dh_testroot + dh_clean -k + #dh_installdirs + $(MAKE) INSTALL_ROOT=$(CURDIR)/debian/tmp install + +# Build architecture-independent files here. +binary-indep: build install +# We have nothing to do by default. + +# Build architecture-dependent files here. +binary-arch: build install + dh_testdir + dh_testroot + dh_install --list-missing + #dh_installdocs + #dh_installexamples + #dh_installman + dh_link + dh_strip + dh_compress + dh_fixperms + dh_installdeb + dh_shlibdeps + dh_gencontrol + dh_md5sums + dh_builddeb + +binary: binary-indep binary-arch +.PHONY: build clean binary-indep binary-arch binary install configure diff --git a/build_scripts/OBS/network:retroshare/retroshare-service-0.6.5/debian.series b/build_scripts/OBS/network:retroshare/retroshare-service-0.6.5/debian.series new file mode 100644 index 000000000..e69de29bb diff --git a/build_scripts/OBS/network:retroshare/retroshare-service-0.6.5/retroshare-service.dsc b/build_scripts/OBS/network:retroshare/retroshare-service-0.6.5/retroshare-service.dsc new file mode 100644 index 000000000..04f21debd --- /dev/null +++ b/build_scripts/OBS/network:retroshare/retroshare-service-0.6.5/retroshare-service.dsc @@ -0,0 +1,11 @@ +Format: 1.0 +Source: retroshare-service +Binary: retroshare-service +Architecture: any +Version: 0.6.5 +Maintainer: Cyril Soler +Homepage: https://retroshare.cc +Standards-Version: 3.8.1 +Build-Depends: cmake, debhelper (>= 7), doxygen, git, libglib2.0-dev, libupnp-dev, qtbase5-dev, qt5-default, libssl-dev, libbz2-dev, libsqlcipher-dev, libxapian-dev +Files: + 45a438fb9a862542cc651c6f5ff28fac 29377995 RetroShare.tar.gz diff --git a/build_scripts/OBS/network:retroshare/retroshare-service-0.6.5/retroshare-service.spec b/build_scripts/OBS/network:retroshare/retroshare-service-0.6.5/retroshare-service.spec new file mode 100644 index 000000000..befb9bfc1 --- /dev/null +++ b/build_scripts/OBS/network:retroshare/retroshare-service-0.6.5/retroshare-service.spec @@ -0,0 +1,144 @@ +Name: retroshare-service +Version: 0.6.5 +Release: 0 +License: AGPL-3.0-or-later +Summary: Secure distributed chat, mail, forums, file sharing etc +Group: Productivity/Networking/Other +Url: https://retroshare.cc +Source0: RetroShare.tar.gz +#Patch0: various.patch +BuildRoot: %{_tmppath}/%{name} +Conflicts: retroshare-service-unstable +BuildRequires: cmake doxygen git openssl-devel sqlcipher-devel + +%if %{defined centos_version} +BuildRequires: devtoolset-7-toolchain devtoolset-7-libstdc++-devel +BuildRequires: qt5-qtbase-devel qt5-qttools-devel qt5-qttools-static +BuildRequires: libupnp-devel +%endif + +%if 0%{?fedora_version} +BuildRequires: gcc-c++ +BuildRequires: fdupes xapian-core-devel +BuildRequires: qt5-qtbase-devel qt5-qttools-devel qt5-qttools-static +%endif + +%if 0%{?fedora_version} >= 27 +%undefine _debugsource_packages +%undefine _debuginfo_subpackages +%endif + +%if 0%{?fedora_version} >= 29 +BuildRequires: miniupnpc-devel +%else +BuildRequires: libupnp-devel +%endif + +%if %{defined mageia} +BuildRequires: gcc-c++ +BuildRequires: libzlib-devel libbzip2-devel +BuildRequires: libqt5core-devel libqt5xml-devel libxapian-devel +BuildRequires: libupnp-devel +%endif + +%if 0%{?suse_version} +BuildRequires: gcc7 gcc7-c++ +BuildRequires: fdupes libbz2-devel +BuildRequires: libqt5-qtbase-devel libqt5-qttools-devel +BuildRequires: libxapian-devel update-desktop-files +BuildRequires: libminiupnpc-devel +%endif + +%description +RetroShare is a cross-platform F2F communication platform. +It lets you share securely with your friends, using PGP +to authenticate peers and OpenSSL to encrypt all communication. +RetroShare provides filesharing, chat, messages and channels. +This package provides RetroShare system service that can be +controlled only via JSON API. + +Authors: +see https://retroshare.cc/ +-------- + +%prep +%setup -n RetroShare +#%patch0 -p0 + +%build + +nproc +qmake --version || qmake-qt5 --version +ls $(which gcc)* +ls $(which g++)* + +BUILD_CC="" +BUILD_CXX="" +BUILD_DEEPSEARCH="CONFIG+=rs_deep_search" +QMAKE="qmake-qt5" + +%if %{defined centos_version} +# Xapian is not availabe on Centos 7 +BUILD_DEEPSEARCH="CONFIG+=no_rs_deep_search" +source /opt/rh/devtoolset-7/enable +%endif + +%if %{defined mageia} +QMAKE="qmake" +%endif + +%if 0%{?suse_version} +BUILD_CC="QMAKE_CC=gcc-7" +BUILD_CXX="QMAKE_CXX=g++-7" +RS_UPNP_LIB="RS_UPNP_LIB=miniupnpc" +echo suse_version: %{?suse_version} +%endif + +# On OpenSuse Tumbleweed and Factory ARM 64 bits seems cmake/restbed and +# qmake/retroshare have PIE/PIC mismatch attempt to coherce restbed to be PIC +# https://en.opensuse.org/Archive:How_to_detect_Tumbleweed +%if 0%{?suse_version} == 1550 && ( (%{_arch} == "x86_64") || (%{_arch} == "aarch64") ) +RESTBED_CMAKE_FILE="supportlibs/restbed/CMakeLists.txt" +echo 'set(CMAKE_POSITION_INDEPENDENT_CODE ON)' | \ + cat - $RESTBED_CMAKE_FILE > tmp_cmake && mv tmp_cmake $RESTBED_CMAKE_FILE +cat $RESTBED_CMAKE_FILE +%endif + +%if 0%{?fedora_version} >= 29 +RS_UPNP_LIB="RS_UPNP_LIB=miniupnpc" +%endif + +$QMAKE $BUILD_CC $BUILD_CXX QMAKE_STRIP=echo PREFIX="%{_prefix}" \ + BIN_DIR="%{_bindir}" ${RS_UPNP_LIB} \ + LIB_DIR="%{_libdir}" DATA_DIR="%{_datadir}/retroshare" CONFIG-=debug \ + CONFIG+=ipv6 CONFIG+=no_retroshare_android_service \ + CONFIG+=no_retroshare_android_notify_service \ + CONFIG+=no_retroshare_plugins CONFIG+=no_retroshare_nogui \ + CONFIG+=no_retroshare_gui CONFIG+=no_tests CONFIG+=no_libresapi \ + CONFIG+=no_libresapihttpserver CONFIG+=no_libresapilocalserver \ + CONFIG+=retroshare_service CONFIG+=rs_jsonapi ${BUILD_DEEPSEARCH} \ + CONFIG+=release \ + RS_MAJOR_VERSION=0 RS_MINOR_VERSION=6 RS_MINI_VERSION=5 \ + RS_EXTRA_VERSION="-retroshare-service-OBS-RPM" \ + RetroShare.pro +make -j$(nproc) || make -j$(nproc) || make + +%install +rm -rf $RPM_BUILD_ROOT +make INSTALL_ROOT=$RPM_BUILD_ROOT install + +%if 0%{?centos_version} < 800 +%else +%fdupes %{buildroot}/%{_prefix} +%endif + +%clean +rm -rf $RPM_BUILD_ROOT + +%files +%defattr(-, root, root) +%{_bindir}/retroshare-service +%defattr(644, root, root) +%{_datadir}/retroshare + +%changelog diff --git a/build_scripts/OBS/network:retroshare/retroshare-service-unstable/PKGBUILD b/build_scripts/OBS/network:retroshare/retroshare-service-unstable/PKGBUILD new file mode 100644 index 000000000..c2c106dfd --- /dev/null +++ b/build_scripts/OBS/network:retroshare/retroshare-service-unstable/PKGBUILD @@ -0,0 +1,47 @@ +# Maintainer: Gioacchino Mazzurco +# Contributor: AsamK +# Contributor: sehraf +# Contributor: stqn +# Contributor: JHeaton +# Contributor: Tristero +# Contributor: funkyou + +pkgname=retroshare-service-unstable +pkgver=stable +pkgrel=0 +pkgdesc="Serverless encrypted instant messenger with filesharing, chatgroups, e-mail. System service version." +arch=('i686' 'x86_64' 'armv6h' 'armv7h') +url="https://retroshare.cc/" +license=('AGPL' 'GPL' 'LGPL') +depends=('bzip2' 'libupnp' 'libzip' 'openssl' 'rapidjson' 'sqlcipher' 'xapian-core') +makedepends=('cmake' 'doxygen' 'git' 'pkgconf' 'qt5-tools') +provides=('retroshare-service') +conflicts=('retroshare-service') + +source=(RetroShare.tar.gz) + +md5sums=('ce46d636891e28acdac95091941582d3') + +prepare() { + cd "${srcdir}/RetroShare" +} + +build() { + cd "${srcdir}/RetroShare" + qmake-qt5 PREFIX=/usr DATA_DIR=/usr/share/retroshare \ + $(build_scripts/OBS/get_source_version.sh) RS_MINI_VERSION=9999 \ + CONFIG-=debug \ + CONFIG+=ipv6 CONFIG+=no_retroshare_android_service \ + CONFIG+=no_retroshare_android_notify_service \ + CONFIG+=no_retroshare_plugins CONFIG+=no_retroshare_nogui \ + CONFIG+=no_retroshare_gui CONFIG+=no_tests CONFIG+=no_libresapi \ + CONFIG+=no_libresapihttpserver CONFIG+=no_libresapilocalserver \ + CONFIG+=retroshare_service CONFIG+=rs_jsonapi CONFIG+=rs_deep_search \ + CONFIG+=release + make -j$(nproc) || make -j$(nproc) || make +} + +package() { + cd "${srcdir}/RetroShare" + make INSTALL_ROOT="${pkgdir}" install +} diff --git a/build_scripts/OBS/network:retroshare/retroshare-service-unstable/appimage.yml b/build_scripts/OBS/network:retroshare/retroshare-service-unstable/appimage.yml new file mode 100644 index 000000000..4f9c50881 --- /dev/null +++ b/build_scripts/OBS/network:retroshare/retroshare-service-unstable/appimage.yml @@ -0,0 +1,31 @@ +app: retroshare-service-unstable + +build: + packages: + - desktop-file-utils + - doxygen + - gcc5 + - gcc5-c++ + - glib2-devel + - libbz2-devel + - libqt5-qtbase-devel + - libqt5-qttools-devel + - libupnp-devel + - libxapian-devel + - linuxdeployqt + - openssl-devel + - sqlcipher-devel + - update-desktop-files + +script: + - cd $BUILD_SOURCE_DIR + - tar -xf RetroShare.tar.gz + - cd RetroShare + - gcc --version + - ls $(which gcc)* + - ls $(which g++)* + - qmake-qt5 QMAKE_CC=gcc-5 QMAKE_CXX=g++-5 PREFIX=/usr RS_MAJOR_VERSION=0 RS_MINOR_VERSION=6 RS_MINI_VERSION=9999 RS_EXTRA_VERSION="-retroshare-service-OBS-AppImage" CONFIG-=debug CONFIG+=release CONFIG+=no_retroshare_nogui CONFIG+=no_retroshare_plugins CONFIG+=no_retroshare_qml_app CONFIG+=no_retroshare_android_notify_service CONFIG+=no_retroshare_plugins CONFIG+=ipv6 CONFIG+=no_tests CONFIG+=rs_jsonapi CONFIG+=no_retroshare_android_service CONFIG+=rs_deep_search CONFIG+=no_libresapilocalserver CONFIG+=no_retroshare_gui CONFIG+=no_libresapihttpserver CONFIG+=retroshare_service CONFIG+=no_libresapi CONFIG+=c++11 CONFIG+=appimage + - make -j$(nproc) || make -j$(nproc) || make + - make INSTALL_ROOT=$BUILD_APPDIR install + - unset QTDIR; unset QT_PLUGIN_PATH ; unset LD_LIBRARY_PATH + - linuxdeployqt $BUILD_APPDIR/usr/share/applications/*.desktop -bundle-non-qt-libs -verbose=3 -no-strip diff --git a/build_scripts/OBS/network:retroshare/retroshare-service-unstable/debian.changelog b/build_scripts/OBS/network:retroshare/retroshare-service-unstable/debian.changelog new file mode 100644 index 000000000..15850f5ac --- /dev/null +++ b/build_scripts/OBS/network:retroshare/retroshare-service-unstable/debian.changelog @@ -0,0 +1,5 @@ +retroshare-service-unstable (0.6.9999) stable; urgency=low + + Add retroshare-service-unstable package + + -- Gioacchino Mazzurco Mon, 04 Feb 2019 13:43:00 +0100 diff --git a/build_scripts/OBS/network:retroshare/retroshare-service-unstable/debian.compat b/build_scripts/OBS/network:retroshare/retroshare-service-unstable/debian.compat new file mode 100644 index 000000000..7f8f011eb --- /dev/null +++ b/build_scripts/OBS/network:retroshare/retroshare-service-unstable/debian.compat @@ -0,0 +1 @@ +7 diff --git a/build_scripts/OBS/network:retroshare/retroshare-service-unstable/debian.control b/build_scripts/OBS/network:retroshare/retroshare-service-unstable/debian.control new file mode 100644 index 000000000..1e65f7c2b --- /dev/null +++ b/build_scripts/OBS/network:retroshare/retroshare-service-unstable/debian.control @@ -0,0 +1,18 @@ +Source: retroshare-service-unstable +Section: devel +Priority: standard +Maintainer: Cyril Soler +Standards-Version: 3.9.3 +Homepage: https://retroshare.cc + +Package: retroshare-service-unstable +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: Secure communication with friends + RetroShare is a Free and Open Source, private and secure decentralized + communication platform. It lets you to securely chat and share files with your + friends and family, using a web-of-trust to authenticate peers and OpenSSL to + encrypt all communication. RetroShare provides filesharing, chat, messages, + forums and channels. + This package provide a headless RetroShare node that can be controlled only + using the JSON API. diff --git a/build_scripts/OBS/network:retroshare/retroshare-service-unstable/debian.retroshare-service-unstable.install b/build_scripts/OBS/network:retroshare/retroshare-service-unstable/debian.retroshare-service-unstable.install new file mode 100644 index 000000000..d1e2a398e --- /dev/null +++ b/build_scripts/OBS/network:retroshare/retroshare-service-unstable/debian.retroshare-service-unstable.install @@ -0,0 +1,2 @@ +debian/tmp/usr/bin/retroshare-service +debian/tmp/usr/share/retroshare/bdboot.txt diff --git a/build_scripts/DebianAndDerivatives_OBS/retroshare-service-git/debian.rules b/build_scripts/OBS/network:retroshare/retroshare-service-unstable/debian.rules similarity index 92% rename from build_scripts/DebianAndDerivatives_OBS/retroshare-service-git/debian.rules rename to build_scripts/OBS/network:retroshare/retroshare-service-unstable/debian.rules index 204288931..653022c40 100644 --- a/build_scripts/DebianAndDerivatives_OBS/retroshare-service-git/debian.rules +++ b/build_scripts/OBS/network:retroshare/retroshare-service-unstable/debian.rules @@ -5,6 +5,8 @@ configure-stamp: dh_testdir qmake --version qmake CONFIG-=debug CONFIG+=release PREFIX=/usr LIB_DIR=/usr/lib \ + RS_MAJOR_VERSION=0 RS_MINOR_VERSION=6 RS_MINI_VERSION=9999 \ + RS_EXTRA_VERSION="-retroshare-service-OBS-deb" \ CONFIG+=no_retroshare_plugins CONFIG+=no_retroshare_nogui \ CONFIG+=no_retroshare_gui CONFIG+=no_tests CONFIG+=no_libresapi \ CONFIG+=no_libresapihttpserver CONFIG+=no_libresapilocalserver \ diff --git a/build_scripts/OBS/network:retroshare/retroshare-service-unstable/debian.series b/build_scripts/OBS/network:retroshare/retroshare-service-unstable/debian.series new file mode 100644 index 000000000..e69de29bb diff --git a/build_scripts/DebianAndDerivatives_OBS/retroshare-service-git/retroshare-service-git.dsc b/build_scripts/OBS/network:retroshare/retroshare-service-unstable/retroshare-service-unstable.dsc similarity index 64% rename from build_scripts/DebianAndDerivatives_OBS/retroshare-service-git/retroshare-service-git.dsc rename to build_scripts/OBS/network:retroshare/retroshare-service-unstable/retroshare-service-unstable.dsc index b434e097d..fce714848 100644 --- a/build_scripts/DebianAndDerivatives_OBS/retroshare-service-git/retroshare-service-git.dsc +++ b/build_scripts/OBS/network:retroshare/retroshare-service-unstable/retroshare-service-unstable.dsc @@ -1,11 +1,11 @@ Format: 1.0 -Source: retroshare-service-git -Binary: retroshare-service-git +Source: retroshare-service-unstable +Binary: retroshare-service-unstable Architecture: any Version: 0.6.9999 Maintainer: Cyril Soler -Homepage: https://retroshare.net +Homepage: https://retroshare.cc Standards-Version: 3.8.1 Build-Depends: cmake, debhelper (>= 7), doxygen, git, libglib2.0-dev, libupnp-dev, qtbase5-dev, qt5-default, libssl-dev, libbz2-dev, libsqlcipher-dev, libxapian-dev Files: - f562e399ef7d44ebc01362f365b4f30b 23617604 RetroShare-git.tar.gz + ce46d636891e28acdac95091941582d3 29378514 RetroShare.tar.gz \ No newline at end of file diff --git a/build_scripts/RpmBased_OBS/retroshare-service-git.spec b/build_scripts/OBS/network:retroshare/retroshare-service-unstable/retroshare-service-unstable.spec similarity index 80% rename from build_scripts/RpmBased_OBS/retroshare-service-git.spec rename to build_scripts/OBS/network:retroshare/retroshare-service-unstable/retroshare-service-unstable.spec index 30ab43412..59a049595 100644 --- a/build_scripts/RpmBased_OBS/retroshare-service-git.spec +++ b/build_scripts/OBS/network:retroshare/retroshare-service-unstable/retroshare-service-unstable.spec @@ -1,35 +1,31 @@ -Name: retroshare-service-git +Name: retroshare-service-unstable Version: 0.6.9999 Release: 0 -License: GNU AFFERO GENERAL PUBLIC LICENSE version 3 -Summary: Secure chat and file sharing +License: AGPL-3.0-or-later +Summary: Secure distributed chat, mail, forums, file sharing etc Group: Productivity/Networking/Other -Url: http://retroshare.net -#Source0: https://github.com/RetroShare/RetroShare/archive/v%{version}.tar.gz#/RetroShare-%{version}.tar.gz -Source0: RetroShare-git.tar.gz +Url: https://retroshare.cc +Source0: RetroShare.tar.gz #Patch0: various.patch BuildRoot: %{_tmppath}/%{name} Conflicts: retroshare-service -Requires: libupnp openssl sqlcipher BuildRequires: cmake doxygen git libupnp-devel openssl-devel sqlcipher-devel %if %{defined centos_version} BuildRequires: qt5-qtbase-devel qt5-qttools-devel qt5-qttools-static -Requires: qt5-qtbase +BuildRequires: devtoolset-7-toolchain devtoolset-7-libstdc++-devel %endif %if 0%{?fedora_version} BuildRequires: gcc-c++ BuildRequires: fdupes xapian-core-devel BuildRequires: qt5-qtbase-devel qt5-qttools-devel qt5-qttools-static -Requires: qt5-qtbase xapian-core %endif %if %{defined mageia} BuildRequires: gcc-c++ BuildRequires: libzlib-devel libbzip2-devel BuildRequires: libqt5core-devel libqt5xml-devel libxapian-devel -Requires: libqt5core libqt5xml5 libxapian %endif %if 0%{?suse_version} @@ -37,7 +33,6 @@ BuildRequires: gcc7 gcc7-c++ BuildRequires: fdupes libbz2-devel BuildRequires: libqt5-qtbase-devel libqt5-qttools-devel BuildRequires: libxapian-devel update-desktop-files -Requires: libbz2 libxapian %endif %if 0%{?fedora_version} >= 27 @@ -54,11 +49,11 @@ This package provides RetroShare system service that can be controlled only via JSON API. Authors: -see http://retroshare.net/ +see https://retroshare.cc/ -------- %prep -%setup -n RetroShare-git +%setup -n RetroShare #%patch0 -p0 %build @@ -76,6 +71,7 @@ QMAKE="qmake-qt5" %if %{defined centos_version} # Xapian is not availabe on Centos 7 BUILD_DEEPSEARCH="CONFIG+=no_rs_deep_search" +source /opt/rh/devtoolset-7/enable %endif %if %{defined mageia} @@ -89,7 +85,10 @@ BUILD_CXX="QMAKE_CXX=g++-7" $QMAKE $BUILD_CC $BUILD_CXX QMAKE_STRIP=echo PREFIX="%{_prefix}" \ BIN_DIR="%{_bindir}" \ - LIB_DIR="%{_libdir}" DATA_DIR="%{_datadir}/retroshare" CONFIG-=debug \ + LIB_DIR="%{_libdir}" DATA_DIR="%{_datadir}/retroshare" \ + RS_MAJOR_VERSION=0 RS_MINOR_VERSION=6 RS_MINI_VERSION=9999 \ + RS_EXTRA_VERSION="-retroshare-service-OBS-RPM" \ + CONFIG-=debug \ CONFIG+=ipv6 CONFIG+=no_retroshare_android_service \ CONFIG+=no_retroshare_android_notify_service \ CONFIG+=no_retroshare_plugins CONFIG+=no_retroshare_nogui \ diff --git a/build_scripts/OBS/network:retroshare/sqlcipher_centos/get-from-git.sh b/build_scripts/OBS/network:retroshare/sqlcipher_centos/get-from-git.sh new file mode 100644 index 000000000..d8b7a0c12 --- /dev/null +++ b/build_scripts/OBS/network:retroshare/sqlcipher_centos/get-from-git.sh @@ -0,0 +1,28 @@ +#!/bin/bash + +NAME=sqlcipher +# this is a huge hunk of stuff, so reuse the local repo if possible +if [ -d ${NAME}/.git ]; then + cd ${NAME} + git pull + cd .. +else + set -e + git clone https://github.com/sqlcipher/sqlcipher.git + set +e +fi + +TOPDIR=$(pwd) +cd ${NAME} +TAG=$(git tag -l | tail -n 1) +LINE=$(git show --format=format:"%h %ai"|head -n 1) +set -- $LINE +REV=$1 +DATE=$2 +VER=${DATE//-/.} +set -e +git archive --prefix=${NAME}-${TAG#v}/ -o $TOPDIR/${NAME}-${TAG#v}.tar ${TAG} +cd $TOPDIR +bzip2 -9 ${NAME}-${TAG#v}.tar +sed -i "s/^Version:.*/Version: ${TAG#v}/" ${NAME}.spec +osc vc -m "Update to $REV ($DATE)" diff --git a/build_scripts/OBS/network:retroshare/sqlcipher_centos/sqlcipher.changes b/build_scripts/OBS/network:retroshare/sqlcipher_centos/sqlcipher.changes new file mode 100644 index 000000000..ea0df66b5 --- /dev/null +++ b/build_scripts/OBS/network:retroshare/sqlcipher_centos/sqlcipher.changes @@ -0,0 +1,30 @@ +------------------------------------------------------------------- +Sat Jul 18 08:36:19 UTC 2015 - goedhart.martijn@gmail.com + +- Update to c01b94f (2015-07-13) + +------------------------------------------------------------------- +Mon Oct 27 15:48:36 UTC 2014 - goedhart.martijn@gmail.com + +- Update to e7b8d1f (2014-09-30) + +------------------------------------------------------------------- +Tue Jun 24 10:56:35 UTC 2014 - goedhart.martijn@gmail.com + +- Update to 9096584 (2014-04-23) + +------------------------------------------------------------------- +Wed Dec 18 15:53:46 UTC 2013 - goedhart.martijn@gmail.com + +- Update to 8d0acdb (2013-12-06) + +------------------------------------------------------------------- +Wed Dec 18 15:40:13 UTC 2013 - goedhart.martijn@gmail.com + +- Update to 8d0acdb (2013-12-06) + +------------------------------------------------------------------- +Wed Dec 18 15:31:39 UTC 2013 - goedhart.martijn@gmail.com + +- Update to 8d0acdb (2013-12-06) + diff --git a/build_scripts/OBS/network:retroshare/sqlcipher_centos/sqlcipher.spec b/build_scripts/OBS/network:retroshare/sqlcipher_centos/sqlcipher.spec new file mode 100644 index 000000000..37bad18e9 --- /dev/null +++ b/build_scripts/OBS/network:retroshare/sqlcipher_centos/sqlcipher.spec @@ -0,0 +1,95 @@ +# +# spec file for package +# +# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany. +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# + +Name: sqlcipher +Version: 3.3.1 +Release: 0 +License: BSD-3-Clause +Summary: SQLite database encryption +Url: http://sqlcipher.net +Group: Productivity/Databases/Clients +Source: %name-%{version}.tar.bz2 +BuildRequires: pkgconfig +BuildRequires: tcl-devel +BuildRequires: pkgconfig(openssl) +BuildRequires: readline-devel +BuildRequires: pkgconfig(sqlite3) +#Requires: libncurses5 +BuildRoot: %{_tmppath}/%{name}-%{version}-build + +%description +SQLCipher is an SQLite extension that provides transparent 256-bit AES encryption of database files. Pages are encrypted before being written to disk and are decrypted when read back. Due to the small footprint and great performance it’s ideal for protecting embedded application databases and is well suited for mobile development. + +%package -n lib%{name}-3_8_10_2-0 +Group: System/Libraries +Summary: Shared library for SQLCipher + +%description -n lib%{name}-3_8_10_2-0 +SQLCipher library. + +SQLCipher is an SQLite extension that provides transparent 256-bit AES encryption of database files. Pages are encrypted before being written to disk and are decrypted when read back. Due to the small footprint and great performance it’s ideal for protecting embedded application databases and is well suited for mobile development. + +%package devel +Group: Development/Libraries/C and C++ +Summary: Development files for SQLCipher +#Requires: sqlite3-devel +#Requires: libopenssl-devel + +%description devel +Development files for SQLCipher. + +SQLCipher is an SQLite extension that provides transparent 256-bit AES encryption of database files. Pages are encrypted before being written to disk and are decrypted when read back. Due to the small footprint and great performance it’s ideal for protecting embedded application databases and is well suited for mobile development. + + +%prep +%setup -q + +%build +%configure --enable-threadsafe --enable-cross-thread-connections --enable-releasemode --with-crypto-lib --disable-tcl --enable-tempstore=yes CFLAGS="-fPIC -DSQLITE_HAS_CODEC" LDFLAGS="-lcrypto" +make %{?_smp_mflags} + +%install +%make_install + +%post -n lib%{name}-3_8_10_2-0 +/sbin/ldconfig + +%postun -n lib%{name}-3_8_10_2-0 +/sbin/ldconfig + +%files +%defattr(-,root,root) +%doc README.md LICENSE +%_bindir/sqlcipher + +%files -n lib%{name}-3_8_10_2-0 +%defattr(-,root,root) +%doc README.md LICENSE +%_libdir/libsqlcipher-3.8.10.2.so.* + +%files devel +%defattr(-,root,root) +%doc README.md LICENSE +%_libdir/libsqlcipher.a +%_libdir/libsqlcipher.la +%_libdir/libsqlcipher.so +%_libdir/pkgconfig/sqlcipher.pc +#%_libdir/tcl/tcl*/sqlite3 +%_includedir/sqlcipher + +%changelog + diff --git a/build_scripts/OBS/network:retroshare/sqlcipher_debian/sqlcipher_3.2.0-1.dsc b/build_scripts/OBS/network:retroshare/sqlcipher_debian/sqlcipher_3.2.0-1.dsc new file mode 100644 index 000000000..964b39c36 --- /dev/null +++ b/build_scripts/OBS/network:retroshare/sqlcipher_debian/sqlcipher_3.2.0-1.dsc @@ -0,0 +1,48 @@ +-----BEGIN PGP SIGNED MESSAGE----- +Hash: SHA256 + +Format: 3.0 (quilt) +Source: sqlcipher +Binary: sqlcipher, libsqlcipher0-dbg, libsqlcipher0, libsqlcipher-dev +Architecture: any +Version: 3.2.0-1 +Maintainer: Hans-Christoph Steiner +Homepage: http://sqlcipher.net/ +Standards-Version: 3.9.6 +Vcs-Browser: http://anonscm.debian.org/cgit/collab-maint/sqlcipher.git +Vcs-Git: https://alioth.debian.org/anonscm/git/collab-maint/sqlcipher.git +Build-Depends: dpkg-dev (>= 1.16.1~), debhelper (>= 9), autoconf (>= 2.59), libtool (>= 1.5.2), automake, autotools-dev, chrpath, libreadline-dev, tcl8.6-dev, dh-autoreconf, libssl-dev +Build-Conflicts: tcl8.4, tcl8.4-dev, tcl8.5, tcl8.5-dev +Package-List: + libsqlcipher-dev deb libdevel optional arch=any + libsqlcipher0 deb libs optional arch=any + libsqlcipher0-dbg deb debug extra arch=any + sqlcipher deb database optional arch=any +Checksums-Sha1: + 44af36d34f05154a7527a55389d9bc0ef0913595 10100087 sqlcipher_3.2.0.orig.tar.gz + c96a75780719dcf6ea80e98668fdc8204e4f1222 14292 sqlcipher_3.2.0-1.debian.tar.xz +Checksums-Sha256: + 25fa4f4cb38dcf9e52e4d1f46be8fee9c7aaef35b6df96912a216b289e22c2af 10100087 sqlcipher_3.2.0.orig.tar.gz + fe50ee231d190f69675d8f9ded9b79259465dc797e8875b4693f37cef1b26609 14292 sqlcipher_3.2.0-1.debian.tar.xz +Files: + cfe11ec970851bedd21aba61d412f7f2 10100087 sqlcipher_3.2.0.orig.tar.gz + 73336465e3c4cbbaad3408a19a2caecc 14292 sqlcipher_3.2.0-1.debian.tar.xz + +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v1.4.11 (GNU/Linux) +Comment: GPG for Android - https://guardianproject.info/code/gnupg/ + +iQIcBAEBCAAGBQJUQagvAAoJEJ8P5Yc3S76BZaYQAJaXDZY2Tf/bHONRviHUBo1E +ozifgFEUnO+fJLO/+GJwT7skMrHjZLsUUrUDQGV1q409sVRhLUWfWdXoMro3uNUy +Nw3AQqH8eoWZb1w/7vllAGc25SqGJZsa9PMxusRuiCTv6wEHjt75s6C1yDD2OINl +U/YO+eH5F5Nqop05DTEutRklJdJolJdAp96DDc1qdNx2c2kCuApdzOeeyjPuBdCH +p3i9689IZnbVDhPO4g6wTVJvvW/4EGZkIMA61iEMLIczT5CbY2j33H1yyZtAhS4V +oxkpkEiFoX15u5zdaNgK/I9yCy2f0iWw7rhTQPha5igBlvegEd13yDFe3qO1iwhb +TikkmQvPJUVSSIqZyHi8NUn4Ea6J4zy2msaFB8Q6eVZbr8yavrIudwhswZ9lUr4i +yzFAw2zA5sTai4aFsEoKn5WYt2wLj9o2H0gcLFUzHQsH4Jd93f+W6RatNWjN8TLg +Mo+fdlyMjIWpnbdutH4Xo18NnThzmYLPihMD1doX03rruJwWHLyrXHANnqXEoyHt +K91PWRFZtMZ5tq92+6KOm806PLwboBcblaTiPu3PIHkrAlA+24tWsLTgALO/oK4L +5KJ+KpU6GHd5z3sjBTlIrzkxJlGj7/AD01fBJHjWk9Wau1kSn5CD04/KXugcbPG2 +SMt8Fa6OA8FvK80/PIe2 +=eFqY +-----END PGP SIGNATURE----- diff --git a/build_scripts/OBS/network:retroshare/sqlcipher_debian9/sqlcipher_3.4.1-1.dsc b/build_scripts/OBS/network:retroshare/sqlcipher_debian9/sqlcipher_3.4.1-1.dsc new file mode 100644 index 000000000..4e7020623 --- /dev/null +++ b/build_scripts/OBS/network:retroshare/sqlcipher_debian9/sqlcipher_3.4.1-1.dsc @@ -0,0 +1,48 @@ +-----BEGIN PGP SIGNED MESSAGE----- +Hash: SHA512 + +Format: 3.0 (quilt) +Source: sqlcipher +Binary: sqlcipher, libsqlcipher0, libsqlcipher-dev +Architecture: any +Version: 3.4.1-1 +Maintainer: Hans-Christoph Steiner +Uploaders: Micah Anderson +Homepage: http://sqlcipher.net/ +Standards-Version: 4.0.1 +Vcs-Browser: https://anonscm.debian.org/cgit/collab-maint/sqlcipher.git +Vcs-Git: https://alioth.debian.org/anonscm/git/collab-maint/sqlcipher.git +Build-Depends: dpkg-dev (>= 1.16.1~), debhelper (>= 10), autoconf (>= 2.59), libtool (>= 1.5.2), automake, libreadline-dev, tcl8.6-dev, libssl-dev +Build-Conflicts: tcl8.4, tcl8.4-dev, tcl8.5, tcl8.5-dev +Package-List: + libsqlcipher-dev deb libdevel optional arch=any + libsqlcipher0 deb libs optional arch=any + sqlcipher deb database optional arch=any +Checksums-Sha1: + 969b996b3c7249778c353d02362bb08ebe5a993e 13873645 sqlcipher_3.4.1.orig.tar.gz + a170473ee9c5782c9aff9e4f9ffaa0f9adf64d81 14408 sqlcipher_3.4.1-1.debian.tar.xz +Checksums-Sha256: + 4172cc6e5a79d36e178d36bd5cc467a938e08368952659bcd95eccbaf0fa4ad4 13873645 sqlcipher_3.4.1.orig.tar.gz + 4e931aeade93d8211217fa2ca9d69fcf217103307a3b70f8a8ad152419b75f98 14408 sqlcipher_3.4.1-1.debian.tar.xz +Files: + edd1c57129c21a22ab2c2fd7f47d4ccd 13873645 sqlcipher_3.4.1.orig.tar.gz + fad3b12e4c647d60f437e11156e7258c 14408 sqlcipher_3.4.1-1.debian.tar.xz + +-----BEGIN PGP SIGNATURE----- + +iQKTBAEBCgB9FiEER3dTX+VHFWJiYHe1jL+aMihhp5AFAlmPj8NfFIAAAAAALgAo +aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDQ3 +Nzc1MzVGRTU0NzE1NjI2MjYwNzdCNThDQkY5QTMyMjg2MUE3OTAACgkQjL+aMihh +p5Czmw/8DWuCNHwWfkMndecYuJnWoHXpZHg/9EnjY42comS89WLd5BOSm2LhfrhV +3iH2Owd26osA3gZ/4UKCLp8PZtUcgMtwXf+kgy07hgn2iKwa9T6cagyTx0h5EqOY +prBkO09/G3ZI9UAQIUk/73UdRcLxoSD3SuZIPDK1rXn2bunpQYDIMZ4edNzyahU9 +yBa0zM8JUW8KriQtjgCgJL1gUF3or4wFXc1eI4X7nKl5dtuLY8bRR0aMGNEu965v +I0s4SOS5GOEdJCIEAtyvLJp3TGnfcrwHSlBa2vmc41j1SQcQmz1pxUiCnet/CVjm +O8nKqgq7WhcrJ9JborZPGkX+jb02xiy62+n5kWIzqdlQZFNicWZ6+SogF+D/vA/G +HkSuz4BPPPE1egSBbPhv0nEzG8fY5cTjGBsNIxQZfVhl1eawUbKrWHdVefkLtOjJ +vqrr7dOiaG2vNWqwLzynJ4aHxCbqcj2KqoEsnEEgXfSfFD/2POv+lC/OPmw6J/Me +GPa5gYVexKxA6EtP/yJXyMjyMJVRnhB/chqzep0HTisORU+WAAas7jNoDj8d/8ys +iPDcVtd0h+moU40fFpahZvS4wWP02u0E+ZtSCguIRCsVeh+6vSBziSXJkCkjZ9zk +Xt+f7DIVRObhrxNLcS+KNtBV5EeOnS4byul3lP0pDRmHFNrE0kc= +=AVab +-----END PGP SIGNATURE----- diff --git a/build_scripts/OBS/prepare_source_tarball.sh b/build_scripts/OBS/prepare_source_tarball.sh index ef73b2c9a..287adcbb2 100755 --- a/build_scripts/OBS/prepare_source_tarball.sh +++ b/build_scripts/OBS/prepare_source_tarball.sh @@ -1,7 +1,8 @@ -#!/bin/sh - #!/bin/bash +# Make sure you have built RetroShare at list once from the same source tree, +# so the support libs get ingluded in the source tarball + ## Define default value for variable, take two arguments, $1 variable name, ## $2 default variable value, if the variable is not already define define it ## with default value. @@ -14,11 +15,28 @@ function define_default_value() } define_default_value GIT_DIR "${HOME}/Development/rs-develop/.git" +define_default_value WORK_DIR "/tmp/" +ORIG_DIR="$(pwd)" -rsync -aPh --delete --exclude='.git' "${GIT_DIR}/../" RetroShare/ +[ "$(ls "${GIT_DIR}/../supportlibs/restbed/" | wc -l)" -lt "5" ] && +{ + cat << EOF +WARNING: supportlibs/restbed/ seems have not been checked out! +The produced tarball may not be suitable to build RetroShare JSON API +EOF +} + +cd "${WORK_DIR}" +rsync -a --delete \ + --exclude='.git' \ + --filter=':- build_scripts/OBS/.gitignore' \ + "${GIT_DIR}/../" RetroShare/ git describe > RetroShare/Source_Version -tar -zcvf RetroShare.tar.gz RetroShare/ +tar -zcf RetroShare.tar.gz RetroShare/ + cat RetroShare/Source_Version md5sum RetroShare.tar.gz wc -c RetroShare.tar.gz +mv RetroShare.tar.gz "${ORIG_DIR}/RetroShare.tar.gz" + From d7ecc2686fef8d878ab5cba739d9ffcfd1ccdd8a Mon Sep 17 00:00:00 2001 From: Gioacchino Mazzurco Date: Mon, 11 Feb 2019 11:16:57 -0300 Subject: [PATCH 30/77] Use safer temp diretory for OBS prepare source script --- build_scripts/OBS/prepare_source_tarball.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/build_scripts/OBS/prepare_source_tarball.sh b/build_scripts/OBS/prepare_source_tarball.sh index 287adcbb2..2db875357 100755 --- a/build_scripts/OBS/prepare_source_tarball.sh +++ b/build_scripts/OBS/prepare_source_tarball.sh @@ -15,7 +15,7 @@ function define_default_value() } define_default_value GIT_DIR "${HOME}/Development/rs-develop/.git" -define_default_value WORK_DIR "/tmp/" +define_default_value WORK_DIR "$(mktemp --directory)/" ORIG_DIR="$(pwd)" @@ -39,4 +39,5 @@ cat RetroShare/Source_Version md5sum RetroShare.tar.gz wc -c RetroShare.tar.gz mv RetroShare.tar.gz "${ORIG_DIR}/RetroShare.tar.gz" +rm -rf "${WORK_DIR}" From 7a2c81d06b64fd5923906d3c8ca3634adf91c0bb Mon Sep 17 00:00:00 2001 From: Gioacchino Mazzurco Date: Wed, 13 Feb 2019 17:07:03 -0300 Subject: [PATCH 31/77] Deprecate rs_usleep as it is not useful anymore C++11 standard library offer better functions --- libretroshare/src/util/rstime.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/libretroshare/src/util/rstime.h b/libretroshare/src/util/rstime.h index cc3208dbc..397edfee1 100644 --- a/libretroshare/src/util/rstime.h +++ b/libretroshare/src/util/rstime.h @@ -28,6 +28,7 @@ #include #endif #include // Added for comfort of users of this util header +#include "util/rsdeprecate.h" /** * Safer alternative to time_t. @@ -47,7 +48,7 @@ namespace rstime { /*! * \brief This is a cross-system definition of usleep, which accepts any 32 bits number of micro-seconds. */ - + RS_DEPRECATED_FOR("std::this_thread::sleep_for") int rs_usleep(uint32_t micro_seconds); /* Use this class to measure and display time duration of a given environment: From ac1d24dba4c09f5660ea05a15b988482aee8608b Mon Sep 17 00:00:00 2001 From: Gioacchino Mazzurco Date: Wed, 13 Feb 2019 17:07:59 -0300 Subject: [PATCH 32/77] Remove misleading comment from channels public API --- libretroshare/src/retroshare/rsgxschannels.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libretroshare/src/retroshare/rsgxschannels.h b/libretroshare/src/retroshare/rsgxschannels.h index 2f51f2652..4d28cad22 100644 --- a/libretroshare/src/retroshare/rsgxschannels.h +++ b/libretroshare/src/retroshare/rsgxschannels.h @@ -42,7 +42,7 @@ class RsGxsChannels; */ extern RsGxsChannels* rsGxsChannels; -// These should be in rsgxscommon.h + struct RsGxsChannelGroup : RsSerializable { RsGroupMetaData mMeta; From 6633e8bb28e579dd6ab4841cfaebe09f977881ea Mon Sep 17 00:00:00 2001 From: Gioacchino Mazzurco Date: Wed, 13 Feb 2019 17:08:38 -0300 Subject: [PATCH 33/77] Expose RsIdentity JSON API --- libretroshare/src/retroshare/rsidentity.h | 269 +++++++++++++++++----- libretroshare/src/services/p3idservice.cc | 163 ++++++++++++- libretroshare/src/services/p3idservice.h | 51 +++- 3 files changed, 411 insertions(+), 72 deletions(-) diff --git a/libretroshare/src/retroshare/rsidentity.h b/libretroshare/src/retroshare/rsidentity.h index b7895ad44..72917e159 100644 --- a/libretroshare/src/retroshare/rsidentity.h +++ b/libretroshare/src/retroshare/rsidentity.h @@ -4,7 +4,7 @@ * libretroshare: retroshare core library * * * * Copyright (C) 2012 Robert Fernie * - * Copyright (C) 2018 Gioacchino Mazzurco * + * Copyright (C) 2019 Gioacchino Mazzurco * * * * This program is free software: you can redistribute it and/or modify * * it under the terms of the GNU Lesser General Public License as * @@ -20,12 +20,12 @@ * along with this program. If not, see . * * * *******************************************************************************/ -#ifndef RETROSHARE_IDENTITY_GUI_INTERFACE_H -#define RETROSHARE_IDENTITY_GUI_INTERFACE_H +#pragma once -#include +#include #include #include +#include #include "retroshare/rstokenservice.h" #include "retroshare/rsgxsifacehelper.h" @@ -37,9 +37,13 @@ #include "serialiser/rstypeserializer.h" #include "util/rsdeprecate.h" -/* The Main Interface Class - for information about your Peers */ struct RsIdentity; -extern RsIdentity *rsIdentity; + +/** + * Pointer to global instance of RsIdentity service implementation + * @jsonapi{development} + */ +extern RsIdentity* rsIdentity; // GroupFlags: Only one so far: @@ -106,7 +110,7 @@ struct RsGxsIdGroup : RsSerializable { RsGxsIdGroup() : mLastUsageTS(0), mPgpKnown(false), mIsAContact(false) {} - ~RsGxsIdGroup() {} + virtual ~RsGxsIdGroup() {} RsGroupMetaData mMeta; @@ -144,18 +148,18 @@ struct RsGxsIdGroup : RsSerializable /// @see RsSerializable void serial_process( RsGenericSerializer::SerializeJob j, - RsGenericSerializer::SerializeContext& ctx ); + RsGenericSerializer::SerializeContext& ctx ) override; }; std::ostream &operator<<(std::ostream &out, const RsGxsIdGroup &group); // DATA TYPE FOR EXTERNAL INTERFACE. -class RsRecognTag +struct RsRecognTag { - public: - RsRecognTag(uint16_t tc, uint16_t tt, bool v) - :tag_class(tc), tag_type(tt), valid(v) { return; } + RsRecognTag(uint16_t tc, uint16_t tt, bool v) : + tag_class(tc), tag_type(tt), valid(v) {} + uint16_t tag_class; uint16_t tag_type; bool valid; @@ -268,11 +272,11 @@ struct RsIdentityUsage : RsSerializable std::string mComment; bool operator<(const RsIdentityUsage& u) const { return mHash < u.mHash; } - RsFileHash mHash ; + RsFileHash mHash; /// @see RsSerializable void serial_process( RsGenericSerializer::SerializeJob j, - RsGenericSerializer::SerializeContext& ctx ) + RsGenericSerializer::SerializeContext& ctx ) override { RS_SERIAL_PROCESS(mServiceId); RS_SERIAL_PROCESS(mUsageCode); @@ -329,7 +333,7 @@ struct RsIdentityDetails : RsSerializable RS_SERIAL_PROCESS(mFlags); RS_SERIAL_PROCESS(mPgpId); //RS_SERIAL_PROCESS(mReputation); - //RS_SERIAL_PROCESS(mAvatar); + RS_SERIAL_PROCESS(mAvatar); RS_SERIAL_PROCESS(mPublishTS); RS_SERIAL_PROCESS(mLastUsageTS); RS_SERIAL_PROCESS(mUseCases); @@ -338,73 +342,214 @@ struct RsIdentityDetails : RsSerializable - +/** The Main Interface Class for GXS people identities */ struct RsIdentity : RsGxsIfaceHelper { - explicit RsIdentity(RsGxsIface& gxs): RsGxsIfaceHelper(gxs) {} - virtual ~RsIdentity() {} + explicit RsIdentity(RsGxsIface& gxs) : RsGxsIfaceHelper(gxs) {} + virtual ~RsIdentity() {} - /********************************************************************************************/ - /********************************************************************************************/ + /** + * @brief Create a new identity + * @jsonapi{development} + * @param[out] id storage for the created identity Id + * @param[in] name Name of the identity + * @param[in] avatar Image associated to the identity + * @param[in] pseudonimous true for unsigned identity, false otherwise + * @param[in] pgpPassword password to unlock PGP to sign identity, + * not implemented yet + * @return false on error, true otherwise + */ + virtual bool createIdentity( + RsGxsId& id, + const std::string& name, const RsGxsImage& avatar = RsGxsImage(), + bool pseudonimous = true, const std::string& pgpPassword = "" ) = 0; - // For Other Services.... - // It should be impossible for them to get a message which we don't have the identity. - // Its a major error if we don't have the identity. + /** + * @brief Locally delete given identity + * @jsonapi{development} + * @param[in] id Id of the identity + * @return false on error, true otherwise + */ + virtual bool deleteIdentity(RsGxsId& id) = 0; - // We cache all identities, and provide alternative (instantaneous) - // functions to extract info, rather than the standard Token system. + /** + * @brief Update identity data (name, avatar...) + * @jsonapi{development} + * @param[in] identityData updated identiy data + * @return false on error, true otherwise + */ + virtual bool updateIdentity(RsGxsIdGroup& identityData) = 0; - //virtual bool getNickname(const RsGxsId &id, std::string &nickname) = 0; - virtual bool getIdDetails(const RsGxsId &id, RsIdentityDetails &details) = 0; + /** + * @brief Get identity details, from the cache + * @param[in] id Id of the identity + * @param[out] details Storage for the identity details + * @return false on error, true otherwise + */ + virtual bool getIdDetails(const RsGxsId& id, RsIdentityDetails& details) = 0; - // Fills up list of all own ids. Returns false if ids are not yet loaded. - virtual bool getOwnIds(std::list &ownIds,bool only_signed_ids = false) = 0; - virtual bool isOwnId(const RsGxsId& id) = 0; + /** + * @brief Get last seen usage time of given identity + * @jsonapi{development} + * @param[in] id Id of the identity + * @return timestamp of last seen usage + */ + virtual rstime_t getLastUsageTS(const RsGxsId& id) = 0; - // - virtual bool submitOpinion(uint32_t& token, const RsGxsId &id, - bool absOpinion, int score) = 0; - virtual bool createIdentity(uint32_t& token, RsIdentityParameters ¶ms) = 0; + /** + * @brief Get own signed ids + * @jsonapi{development} + * @param[out] ids storage for the ids + * @return false on error, true otherwise + */ + virtual bool getOwnSignedIds(std::vector ids) = 0; - virtual bool updateIdentity(uint32_t& token, RsGxsIdGroup &group) = 0; - virtual bool deleteIdentity(uint32_t& token, RsGxsIdGroup &group) = 0; + /** + * @brief Get own pseudonimous (unsigned) ids + * @jsonapi{development} + * @param[out] ids storage for the ids + * @return false on error, true otherwise + */ + virtual bool getOwnPseudonimousIds(std::vector ids) = 0; - virtual void setDeleteBannedNodesThreshold(uint32_t days) =0; - virtual uint32_t deleteBannedNodesThreshold() =0; + /** + * @brief Check if an id is own + * @jsonapi{development} + * @param[in] id Id to check + * @return true if the id is own, false otherwise + */ + virtual bool isOwnId(const RsGxsId& id) = 0; - virtual bool parseRecognTag(const RsGxsId &id, const std::string &nickname, - const std::string &tag, RsRecognTagDetails &details) = 0; - virtual bool getRecognTagRequest(const RsGxsId &id, const std::string &comment, - uint16_t tag_class, uint16_t tag_type, std::string &tag) = 0; + /** + * @brief Get base64 representation of an identity + * @jsonapi{development} + * @param[in] id Id of the identity + * @param[out] base64String storage for the identity base64 + * @return false on error, true otherwise + */ + virtual bool identityToBase64( const RsGxsId& id, + std::string& base64String ) = 0; - virtual bool setAsRegularContact(const RsGxsId& id,bool is_a_contact) = 0 ; - virtual bool isARegularContact(const RsGxsId& id) = 0 ; + /** + * @brief Import identity from base64 representation + * @jsonapi{development} + * @param[in] base64String base64 representation of the identity to import + * @param[out] id storage for the identity id + * @return false on error, true otherwise + */ + virtual bool identityFromBase64( const std::string& base64String, + RsGxsId& id ) = 0; + + /** + * @brief Get identities summaries list. + * @jsonapi{development} + * @param[out] ids list where to store the identities + * @return false if something failed, true otherwhise + */ + virtual bool getIdentitiesSummaries(std::list& ids) = 0; + + /** + * @brief Get identities information (name, avatar...). + * Blocking API. + * @jsonapi{development} + * @param[in] ids ids of the channels of which to get the informations + * @param[out] idsInfo storage for the identities informations + * @return false if something failed, true otherwhise + */ + virtual bool getIdentitiesInfo( + const std::set& ids, + std::vector& idsInfo ) = 0; + + /** + * @brief Check if an identity is contact + * @jsonapi{development} + * @param[in] id Id of the identity + * @return true if it is a conctact, false otherwise + */ + virtual bool isARegularContact(const RsGxsId& id) = 0; + + /** + * @brief Set/unset identity as contact + * @param[in] id Id of the identity + * @param[in] isContact true to set, false to unset + * @return false on error, true otherwise + */ + virtual bool setAsRegularContact(const RsGxsId& id, bool isContact) = 0; + + /** + * @brief Toggle automatic flagging signed by friends identity as contact + * @jsonapi{development} + * @param[in] enabled true to enable, false to disable + */ + virtual void setAutoAddFriendIdsAsContact(bool enabled) = 0; + + /** + * @brief Check if automatic signed by friend identity contact flagging is + * enabled + * @jsonapi{development} + * @return true if enabled, false otherwise + */ + virtual bool autoAddFriendIdsAsContact() = 0; + + /** + * @brief Get number of days after which delete a banned identities + * @jsonapi{development} + * @return number of days + */ + virtual uint32_t deleteBannedNodesThreshold() = 0; + + /** + * @brief Set number of days after which delete a banned identities + * @jsonapi{development} + * @param[in] days number of days + */ + virtual void setDeleteBannedNodesThreshold(uint32_t days) = 0; + + + RS_DEPRECATED + virtual bool getGroupSerializedData( + const uint32_t& token, + std::map& serialized_groups ) = 0; + + RS_DEPRECATED + virtual bool parseRecognTag( + const RsGxsId &id, const std::string& nickname, + const std::string& tag, RsRecognTagDetails& details) = 0; + + RS_DEPRECATED + virtual bool getRecognTagRequest( + const RsGxsId& id, const std::string& comment, uint16_t tag_class, + uint16_t tag_type, std::string& tag) = 0; + + RS_DEPRECATED virtual uint32_t nbRegularContacts() =0; - virtual void setAutoAddFriendIdsAsContact(bool b) =0; - virtual bool autoAddFriendIdsAsContact() =0; + RS_DEPRECATED_FOR(identityToBase64) virtual bool serialiseIdentityToMemory( const RsGxsId& id, std::string& radix_string ) = 0; + RS_DEPRECATED_FOR(identityFromBase64) virtual bool deserialiseIdentityFromMemory( const std::string& radix_string, RsGxsId* id = nullptr ) = 0; - /*! - * \brief overallReputationLevel - * Returns the overall reputation level of the supplied identity. See rsreputations.h - * \param id - * \return - */ - virtual rstime_t getLastUsageTS(const RsGxsId &id) =0; + /// Fills up list of all own ids. Returns false if ids are not yet loaded. + RS_DEPRECATED_FOR("getOwnSignedIds getOwnPseudonimousIds") + virtual bool getOwnIds( std::list &ownIds, + bool only_signed_ids = false ) = 0; - // Specific RsIdentity Functions.... - /* Specific Service Data */ - /* We expose these initially for testing / GUI purposes. - */ + RS_DEPRECATED + virtual bool createIdentity(uint32_t& token, RsIdentityParameters ¶ms) = 0; - virtual bool getGroupData(const uint32_t &token, std::vector &groups) = 0; - virtual bool getGroupSerializedData(const uint32_t &token, std::map& serialized_groups)=0; - //virtual bool getMsgData(const uint32_t &token, std::vector &opinions) = 0; + RS_DEPRECATED_FOR(RsReputations) + virtual bool submitOpinion(uint32_t& token, const RsGxsId &id, + bool absOpinion, int score) = 0; + RS_DEPRECATED + virtual bool updateIdentity(uint32_t& token, RsGxsIdGroup &group) = 0; + + RS_DEPRECATED + virtual bool deleteIdentity(uint32_t& token, RsGxsIdGroup &group) = 0; + + RS_DEPRECATED_FOR("getIdentitiesSummaries getIdentitiesInfo") + virtual bool getGroupData( const uint32_t& token, + std::vector& groups) = 0; }; - -#endif // RETROSHARE_IDENTITY_GUI_INTERFACE_H diff --git a/libretroshare/src/services/p3idservice.cc b/libretroshare/src/services/p3idservice.cc index 10650b800..e4046210b 100644 --- a/libretroshare/src/services/p3idservice.cc +++ b/libretroshare/src/services/p3idservice.cc @@ -21,6 +21,7 @@ * * *******************************************************************************/ #include +#include #include "services/p3idservice.h" #include "pgp/pgpauxutils.h" @@ -207,6 +208,29 @@ void p3IdService::setNes(RsNetworkExchangeService *nes) mNes = nes; } +bool p3IdService::getIdentitiesInfo( + const std::set& ids, std::vector& idsInfo ) +{ + uint32_t token; + RsTokReqOptions opts; + opts.mReqType = GXS_REQUEST_TYPE_GROUP_DATA; + std::list idsList(ids.begin(), ids.end()); + + if( !requestGroupInfo(token, opts, idsList) + || waitToken(token) != RsTokenService::COMPLETE ) return false; + return getGroupData(token, idsInfo); +} + +bool p3IdService::getIdentitiesSummaries(std::list& ids) +{ + uint32_t token; + RsTokReqOptions opts; + opts.mReqType = GXS_REQUEST_TYPE_GROUP_META; + if( !requestGroupInfo(token, opts) + || waitToken(token) != RsTokenService::COMPLETE ) return false; + return getGroupSummary(token, ids); +} + uint32_t p3IdService::idAuthenPolicy() { uint32_t policy = 0; @@ -727,6 +751,46 @@ bool p3IdService::isOwnId(const RsGxsId& id) return std::find(mOwnIds.begin(),mOwnIds.end(),id) != mOwnIds.end() ; } + + +bool p3IdService::getOwnSignedIds(std::vector ids) +{ + ids.clear(); + + std::chrono::seconds maxWait(5); + auto timeout = std::chrono::steady_clock::now() + maxWait; + while( !ownIdsAreLoaded() && std::chrono::steady_clock::now() < timeout ) + std::this_thread::sleep_for(std::chrono::milliseconds(100)); + + if(ownIdsAreLoaded()) + { + RS_STACK_MUTEX(mIdMtx); + ids.reserve(mOwnSignedIds.size()); + ids.insert(ids.end(), mOwnSignedIds.begin(), mOwnSignedIds.end()); + return true; + } + + return false; +} + +bool p3IdService::getOwnPseudonimousIds(std::vector ids) +{ + ids.clear(); + std::vector signedV; + + // this implicitely ensure ids are already loaded ;) + if(!getOwnSignedIds(signedV)) return false; + std::set signedS(signedV.begin(), signedV.end()); + + { + RS_STACK_MUTEX(mIdMtx); + std::copy_if(mOwnIds.begin(), mOwnIds.end(), ids.end(), + [&](const RsGxsId& id) {return !signedS.count(id);}); + } + + return true; +} + bool p3IdService::getOwnIds(std::list &ownIds,bool signed_only) { RsStackMutex stack(mIdMtx); /********** STACK LOCKED MTX ******/ @@ -742,6 +806,11 @@ bool p3IdService::getOwnIds(std::list &ownIds,bool signed_only) return true ; } + +bool p3IdService::identityToBase64( const RsGxsId& id, + std::string& base64String ) +{ return serialiseIdentityToMemory(id, base64String); } + bool p3IdService::serialiseIdentityToMemory( const RsGxsId& id, std::string& radix_string ) { @@ -803,6 +872,10 @@ void p3IdService::handle_get_serialized_grp(uint32_t token) mSerialisedIdentities[RsGxsId(id)] = s ; } +bool p3IdService::identityFromBase64( + const std::string& base64String, RsGxsId& id ) +{ return deserialiseIdentityFromMemory(base64String, &id); } + bool p3IdService::deserialiseIdentityFromMemory(const std::string& radix_string, RsGxsId* id /* = nullptr */) { @@ -826,6 +899,47 @@ bool p3IdService::deserialiseIdentityFromMemory(const std::string& radix_string, return true; } +bool p3IdService::createIdentity( + RsGxsId& id, + const std::string& name, const RsGxsImage& avatar, + bool pseudonimous, const std::string& pgpPassword) +{ + if(!pgpPassword.empty()) + std::cerr<< __PRETTY_FUNCTION__ << " Warning! PGP Password handling " + << "not implemented yet!" << std::endl; + + RsIdentityParameters params; + params.isPgpLinked = !pseudonimous; + params.nickname = name; + params.mImage = avatar; + + uint32_t token; + if(!createIdentity(token, params)) + { + std::cerr << __PRETTY_FUNCTION__ << " Error! Failed creating group." + << std::endl; + return false; + } + + if(waitToken(token) != RsTokenService::COMPLETE) + { + std::cerr << __PRETTY_FUNCTION__ << " Error! GXS operation failed." + << std::endl; + return false; + } + + RsGroupMetaData meta; + if(!RsGenExchange::getPublishedGroupMeta(token, meta)) + { + std::cerr << __PRETTY_FUNCTION__ << "Error! Failure getting updated " + << " group data." << std::endl; + return false; + } + + id = RsGxsId(meta.mGroupId); + return true; +} + bool p3IdService::createIdentity(uint32_t& token, RsIdentityParameters ¶ms) { @@ -863,6 +977,26 @@ bool p3IdService::createIdentity(uint32_t& token, RsIdentityParameters ¶ms) return true; } +bool p3IdService::updateIdentity(RsGxsIdGroup& identityData) +{ + uint32_t token; + if(!updateGroup(token, identityData)) + { + std::cerr << __PRETTY_FUNCTION__ << "Error! Failed updating group." + << std::endl; + return false; + } + + if(waitToken(token) != RsTokenService::COMPLETE) + { + std::cerr << __PRETTY_FUNCTION__ << "Error! GXS operation failed." + << std::endl; + return false; + } + + return true; +} + bool p3IdService::updateIdentity(uint32_t& token, RsGxsIdGroup &group) { #ifdef DEBUG_IDS @@ -876,6 +1010,27 @@ bool p3IdService::updateIdentity(uint32_t& token, RsGxsIdGroup &group) return false; } +bool p3IdService::deleteIdentity(RsGxsId& id) +{ + uint32_t token; + RsGxsGroupId grouId = RsGxsGroupId(id); + if(!deleteGroup(token, grouId)) + { + std::cerr << __PRETTY_FUNCTION__ << "Error! Failed deleting group." + << std::endl; + return false; + } + + if(waitToken(token) != RsTokenService::COMPLETE) + { + std::cerr << __PRETTY_FUNCTION__ << "Error! GXS operation failed." + << std::endl; + return false; + } + + return true; +} + bool p3IdService::deleteIdentity(uint32_t& token, RsGxsIdGroup &group) { #ifdef DEBUG_IDS @@ -883,7 +1038,7 @@ bool p3IdService::deleteIdentity(uint32_t& token, RsGxsIdGroup &group) std::cerr << std::endl; #endif - deleteGroup(token, group); + deleteGroup(token, group.mMeta.mGroupId); return false; } @@ -1796,16 +1951,16 @@ bool p3IdService::updateGroup(uint32_t& token, RsGxsIdGroup &group) return true; } -bool p3IdService::deleteGroup(uint32_t& token, RsGxsIdGroup &group) +bool p3IdService::deleteGroup(uint32_t& token, RsGxsGroupId& groupId) { - RsGxsId id(group.mMeta.mGroupId); + RsGxsId id(groupId); #ifdef DEBUG_IDS std::cerr << "p3IdService::deleteGroup() Deleting RsGxsId: " << id; std::cerr << std::endl; #endif - RsGenExchange::deleteGroup(token,group.mMeta.mGroupId); + RsGenExchange::deleteGroup(token, groupId); // if its in the cache - clear it. { diff --git a/libretroshare/src/services/p3idservice.h b/libretroshare/src/services/p3idservice.h index 0d0d47636..f585804a9 100644 --- a/libretroshare/src/services/p3idservice.h +++ b/libretroshare/src/services/p3idservice.h @@ -215,9 +215,8 @@ struct SerialisedIdentityStruct rstime_t mLastUsageTS; }; -// Not sure exactly what should be inherited here? -// Chris - please correct as necessary. - +// We cache all identities, and provide alternative (instantaneous) +// functions to extract info, rather than the horrible Token system. class p3IdService: public RsGxsIdExchange, public RsIdentity, public GxsTokenQueue, public RsTickEvent, public p3Config { public: @@ -239,6 +238,13 @@ public: /* Data Specific Interface */ + /// @see RsIdentity + bool getIdentitiesInfo(const std::set& ids, + std::vector& idsInfo ) override; + + /// @see RsIdentity + bool getIdentitiesSummaries(std::list& ids) override; + // These are exposed via RsIdentity. virtual bool getGroupData(const uint32_t &token, std::vector &groups); virtual bool getGroupSerializedData(const uint32_t &token, std::map& serialized_groups); @@ -248,7 +254,7 @@ public: // These are local - and not exposed via RsIdentity. virtual bool createGroup(uint32_t& token, RsGxsIdGroup &group); virtual bool updateGroup(uint32_t& token, RsGxsIdGroup &group); - virtual bool deleteGroup(uint32_t& token, RsGxsIdGroup &group); + virtual bool deleteGroup(uint32_t& token, RsGxsGroupId& group); //virtual bool createMsg(uint32_t& token, RsGxsIdOpinion &opinion); /**************** RsIdentity External Interface. @@ -263,12 +269,28 @@ public: //virtual bool getNickname(const RsGxsId &id, std::string &nickname); virtual bool getIdDetails(const RsGxsId &id, RsIdentityDetails &details); - // + RS_DEPRECATED_FOR(RsReputations) virtual bool submitOpinion(uint32_t& token, const RsGxsId &id, bool absOpinion, int score); + + /// @see RsIdentity + virtual bool createIdentity( + RsGxsId& id, + const std::string& name, const RsGxsImage& avatar = RsGxsImage(), + bool pseudonimous = true, const std::string& pgpPassword = "" ) override; + virtual bool createIdentity(uint32_t& token, RsIdentityParameters ¶ms); + /// @see RsIdentity + bool updateIdentity(RsGxsIdGroup& identityData) override; + + RS_DEPRECATED virtual bool updateIdentity(uint32_t& token, RsGxsIdGroup &group); + + /// @see RsIdentity + bool deleteIdentity(RsGxsId& id) override; + + RS_DEPRECATED virtual bool deleteIdentity(uint32_t& token, RsGxsIdGroup &group); virtual void setDeleteBannedNodesThreshold(uint32_t days) ; @@ -289,6 +311,12 @@ public: /**************** RsGixs Implementation ***************/ + /// @see RsIdentity + bool getOwnSignedIds(std::vector ids) override; + + /// @see RsIdentity + bool getOwnPseudonimousIds(std::vector ids) override; + virtual bool getOwnIds(std::list &ownIds, bool signed_only = false); //virtual bool getPublicKey(const RsGxsId &id, RsTlvSecurityKey &key) ; @@ -350,6 +378,15 @@ public: const RsIdentityUsage &use_info ); virtual bool requestPrivateKey(const RsGxsId &id); + + /// @see RsIdentity + bool identityToBase64( const RsGxsId& id, + std::string& base64String ) override; + + /// @see RsIdentity + bool identityFromBase64( const std::string& base64String, + RsGxsId& id ) override; + virtual bool serialiseIdentityToMemory(const RsGxsId& id, std::string& radix_string); virtual bool deserialiseIdentityFromMemory(const std::string& radix_string, @@ -599,7 +636,9 @@ private: rstime_t mLastKeyCleaningTime ; rstime_t mLastConfigUpdate ; - bool mOwnIdsLoaded ; + bool mOwnIdsLoaded; + bool ownIdsAreLoaded() { RS_STACK_MUTEX(mIdMtx); return mOwnIdsLoaded; } + bool mAutoAddFriendsIdentitiesAsContacts; uint32_t mMaxKeepKeysBanned ; }; From 6bb7711e033ae7ba7fd43ab9e88ce5969abbb0ea Mon Sep 17 00:00:00 2001 From: Gioacchino Mazzurco Date: Thu, 14 Feb 2019 10:07:45 -0300 Subject: [PATCH 34/77] OBS add tor packaging into the appimage --- .../network:retroshare/retroshare-gui-0.6.5/appimage.yml | 6 +++++- .../network:retroshare/retroshare-gui-unstable/appimage.yml | 6 +++++- .../retroshare-service-0.6.5/appimage.yml | 4 ++++ .../retroshare-service-unstable/appimage.yml | 4 ++++ 4 files changed, 18 insertions(+), 2 deletions(-) diff --git a/build_scripts/OBS/network:retroshare/retroshare-gui-0.6.5/appimage.yml b/build_scripts/OBS/network:retroshare/retroshare-gui-0.6.5/appimage.yml index f837d1340..e7cd7e346 100644 --- a/build_scripts/OBS/network:retroshare/retroshare-gui-0.6.5/appimage.yml +++ b/build_scripts/OBS/network:retroshare/retroshare-gui-0.6.5/appimage.yml @@ -21,6 +21,10 @@ build: - sqlcipher-devel - update-desktop-files +ingredients: + packages: + - tor + script: - cd $BUILD_SOURCE_DIR - tar -xf RetroShare.tar.gz @@ -34,4 +38,4 @@ script: - make -j$(nproc) || make -j$(nproc) || make - make INSTALL_ROOT=$BUILD_APPDIR install - unset QTDIR; unset QT_PLUGIN_PATH ; unset LD_LIBRARY_PATH - - linuxdeployqt $BUILD_APPDIR/usr/share/applications/*.desktop -bundle-non-qt-libs -verbose=3 -no-strip + - linuxdeployqt $BUILD_APPDIR/usr/share/applications/*.desktop -bundle-non-qt-libs -verbose=3 -no-strip -extra-plugins=iconengines/libqsvgicon.so diff --git a/build_scripts/OBS/network:retroshare/retroshare-gui-unstable/appimage.yml b/build_scripts/OBS/network:retroshare/retroshare-gui-unstable/appimage.yml index 1cb6487d4..833e3077b 100644 --- a/build_scripts/OBS/network:retroshare/retroshare-gui-unstable/appimage.yml +++ b/build_scripts/OBS/network:retroshare/retroshare-gui-unstable/appimage.yml @@ -21,6 +21,10 @@ build: - sqlcipher-devel - update-desktop-files +ingredients: + packages: + - tor + script: - cd $BUILD_SOURCE_DIR - tar -xf RetroShare.tar.gz @@ -34,4 +38,4 @@ script: - make -j$(nproc) || make -j$(nproc) || make - make INSTALL_ROOT=$BUILD_APPDIR install - unset QTDIR; unset QT_PLUGIN_PATH ; unset LD_LIBRARY_PATH - - linuxdeployqt $BUILD_APPDIR/usr/share/applications/*.desktop -bundle-non-qt-libs -verbose=3 -no-strip + - linuxdeployqt $BUILD_APPDIR/usr/share/applications/*.desktop -bundle-non-qt-libs -verbose=3 -no-strip -extra-plugins=iconengines/libqsvgicon.so diff --git a/build_scripts/OBS/network:retroshare/retroshare-service-0.6.5/appimage.yml b/build_scripts/OBS/network:retroshare/retroshare-service-0.6.5/appimage.yml index cee6d8977..690a01f36 100644 --- a/build_scripts/OBS/network:retroshare/retroshare-service-0.6.5/appimage.yml +++ b/build_scripts/OBS/network:retroshare/retroshare-service-0.6.5/appimage.yml @@ -17,6 +17,10 @@ build: - sqlcipher-devel - update-desktop-files +ingredients: + packages: + - tor + script: - cd $BUILD_SOURCE_DIR - tar -xf RetroShare.tar.gz diff --git a/build_scripts/OBS/network:retroshare/retroshare-service-unstable/appimage.yml b/build_scripts/OBS/network:retroshare/retroshare-service-unstable/appimage.yml index 4f9c50881..07b2d2a83 100644 --- a/build_scripts/OBS/network:retroshare/retroshare-service-unstable/appimage.yml +++ b/build_scripts/OBS/network:retroshare/retroshare-service-unstable/appimage.yml @@ -17,6 +17,10 @@ build: - sqlcipher-devel - update-desktop-files +ingredients: + packages: + - tor + script: - cd $BUILD_SOURCE_DIR - tar -xf RetroShare.tar.gz From e7fa5556b045029f0f2e9cfa1cdfa56fc1e27616 Mon Sep 17 00:00:00 2001 From: Phenom Date: Thu, 14 Feb 2019 20:40:52 +0100 Subject: [PATCH 35/77] 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' 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::__destroy' 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' 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' 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 >::~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(); } ^ --- libretroshare/src/serialiser/rsserializable.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/libretroshare/src/serialiser/rsserializable.h b/libretroshare/src/serialiser/rsserializable.h index 147cce20e..5e115e673 100644 --- a/libretroshare/src/serialiser/rsserializable.h +++ b/libretroshare/src/serialiser/rsserializable.h @@ -37,6 +37,8 @@ struct RsSerializable */ virtual void serial_process(RsGenericSerializer::SerializeJob j, RsGenericSerializer::SerializeContext& ctx) = 0; + + virtual ~RsSerializable() = default; }; /** @def RS_SERIAL_PROCESS(I) From 88068409898877e167156323426137c96938dbee Mon Sep 17 00:00:00 2001 From: Phenom Date: Thu, 14 Feb 2019 21:58:33 +0100 Subject: [PATCH 36/77] 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; ^ --- libretroshare/src/retroshare/rsgxscommon.h | 4 ++-- libretroshare/src/retroshare/rsposted.h | 4 ++-- libretroshare/src/services/p3gxschannels.cc | 8 ++++---- libretroshare/src/services/p3gxschannels.h | 13 ++++++------- libretroshare/src/services/p3posted.h | 4 ++-- retroshare-gui/src/gui/Posted/PostedListWidget.cpp | 2 +- retroshare-gui/src/gui/gxs/GxsCommentTreeWidget.cpp | 2 +- .../src/gui/gxs/GxsCreateCommentDialog.cpp | 2 +- 8 files changed, 19 insertions(+), 20 deletions(-) diff --git a/libretroshare/src/retroshare/rsgxscommon.h b/libretroshare/src/retroshare/rsgxscommon.h index 77989d170..c8b8ec7a4 100644 --- a/libretroshare/src/retroshare/rsgxscommon.h +++ b/libretroshare/src/retroshare/rsgxscommon.h @@ -169,8 +169,8 @@ struct RsGxsCommentService virtual bool getRelatedComments( uint32_t token, std::vector &comments ) = 0; - virtual bool createComment(uint32_t &token, RsGxsComment &comment) = 0; - virtual bool createVote(uint32_t &token, RsGxsVote &vote) = 0; + virtual bool createNewComment(uint32_t &token, RsGxsComment &comment) = 0; + virtual bool createNewVote(uint32_t &token, RsGxsVote &vote) = 0; virtual bool acknowledgeComment( uint32_t token, diff --git a/libretroshare/src/retroshare/rsposted.h b/libretroshare/src/retroshare/rsposted.h index 60b510d55..55fc1639a 100644 --- a/libretroshare/src/retroshare/rsposted.h +++ b/libretroshare/src/retroshare/rsposted.h @@ -87,8 +87,8 @@ virtual bool getPostData(const uint32_t &token, std::vector &posts /* From RsGxsCommentService */ //virtual bool getCommentData(const uint32_t &token, std::vector &comments) = 0; //virtual bool getRelatedComments(const uint32_t &token, std::vector &comments) = 0; -//virtual bool createComment(uint32_t &token, RsGxsComment &comment) = 0; -//virtual bool createVote(uint32_t &token, RsGxsVote &vote) = 0; +//virtual bool createNewComment(uint32_t &token, RsGxsComment &comment) = 0; +//virtual bool createNewVote(uint32_t &token, RsGxsVote &vote) = 0; ////////////////////////////////////////////////////////////////////////////// virtual void setMessageReadStatus(uint32_t& token, const RsGxsGrpMsgIdPair& msgId, bool read) = 0; diff --git a/libretroshare/src/services/p3gxschannels.cc b/libretroshare/src/services/p3gxschannels.cc index 4289435b0..3f34b6438 100644 --- a/libretroshare/src/services/p3gxschannels.cc +++ b/libretroshare/src/services/p3gxschannels.cc @@ -1089,7 +1089,7 @@ bool p3GxsChannels::createChannel(RsGxsChannelGroup& channel) bool p3GxsChannels::createComment(RsGxsComment& comment) { uint32_t token; - if(!createComment(token, comment)) + if(!createNewComment(token, comment)) { std::cerr << __PRETTY_FUNCTION__ << "Error! Failed creating comment." << std::endl; @@ -1116,7 +1116,7 @@ bool p3GxsChannels::createComment(RsGxsComment& comment) bool p3GxsChannels::createVote(RsGxsVote& vote) { uint32_t token; - if(!createVote(token, vote)) + if(!createNewVote(token, vote)) { std::cerr << __PRETTY_FUNCTION__ << "Error! Failed creating vote." << std::endl; @@ -1795,7 +1795,7 @@ bool p3GxsChannels::generateComment(uint32_t &token, const RsGxsGroupId &grpId, } #endif - createComment(token, msg); + createNewComment(token, msg); return true; } @@ -1846,7 +1846,7 @@ bool p3GxsChannels::generateVote(uint32_t &token, const RsGxsGroupId &grpId, con vote.mVoteType = GXS_VOTE_DOWN; } - createVote(token, vote); + createNewVote(token, vote); return true; } diff --git a/libretroshare/src/services/p3gxschannels.h b/libretroshare/src/services/p3gxschannels.h index 27ab034f0..7ac63f8e7 100644 --- a/libretroshare/src/services/p3gxschannels.h +++ b/libretroshare/src/services/p3gxschannels.h @@ -132,30 +132,29 @@ virtual bool getChannelDownloadDirectory(const RsGxsGroupId &groupId, std::strin const RsGxsGroupId& grpId ) override; /* Comment service - Provide RsGxsCommentService - redirect to p3GxsCommentService */ - virtual bool getCommentData(uint32_t token, std::vector &msgs) + virtual bool getCommentData(uint32_t token, std::vector &msgs) override { return mCommentService->getGxsCommentData(token, msgs); } virtual bool getRelatedComments( uint32_t token, - std::vector &msgs ) + std::vector &msgs ) override { return mCommentService->getGxsRelatedComments(token, msgs); } -virtual bool createComment(uint32_t &token, RsGxsComment &msg) + virtual bool createNewComment(uint32_t &token, RsGxsComment &msg) override { return mCommentService->createGxsComment(token, msg); } -virtual bool createVote(uint32_t &token, RsGxsVote &msg) + virtual bool createNewVote(uint32_t &token, RsGxsVote &msg) override { return mCommentService->createGxsVote(token, msg); } -virtual bool acknowledgeComment(uint32_t token, std::pair& msgId) + virtual bool acknowledgeComment(uint32_t token, std::pair& msgId) override { return acknowledgeMsg(token, msgId); } - -virtual bool acknowledgeVote(uint32_t token, std::pair& msgId) + virtual bool acknowledgeVote(uint32_t token, std::pair& msgId) override { if (mCommentService->acknowledgeVote(token, msgId)) { diff --git a/libretroshare/src/services/p3posted.h b/libretroshare/src/services/p3posted.h index 4a032b49b..402f69298 100644 --- a/libretroshare/src/services/p3posted.h +++ b/libretroshare/src/services/p3posted.h @@ -89,12 +89,12 @@ virtual void setMessageReadStatus(uint32_t& token, const RsGxsGrpMsgIdPair& msgI std::vector &msgs ) { return mCommentService->getGxsRelatedComments(token, msgs); } -virtual bool createComment(uint32_t &token, RsGxsComment &msg) + virtual bool createNewComment(uint32_t &token, RsGxsComment &msg) { return mCommentService->createGxsComment(token, msg); } -virtual bool createVote(uint32_t &token, RsGxsVote &msg) + virtual bool createNewVote(uint32_t &token, RsGxsVote &msg) { return mCommentService->createGxsVote(token, msg); } diff --git a/retroshare-gui/src/gui/Posted/PostedListWidget.cpp b/retroshare-gui/src/gui/Posted/PostedListWidget.cpp index e51bc51b8..f6d230683 100644 --- a/retroshare-gui/src/gui/Posted/PostedListWidget.cpp +++ b/retroshare-gui/src/gui/Posted/PostedListWidget.cpp @@ -262,7 +262,7 @@ void PostedListWidget::submitVote(const RsGxsGrpMsgIdPair &msgId, bool up) std::cerr << "AuthorId : " << vote.mMeta.mAuthorId << std::endl; uint32_t token; - rsPosted->createVote(token, vote); + rsPosted->createNewVote(token, vote); mTokenQueue->queueRequest(token, TOKENREQ_MSGINFO, RS_TOKREQ_ANSTYPE_ACK, mTokenTypeVote); } diff --git a/retroshare-gui/src/gui/gxs/GxsCommentTreeWidget.cpp b/retroshare-gui/src/gui/gxs/GxsCommentTreeWidget.cpp index e5d714860..dc1734556 100644 --- a/retroshare-gui/src/gui/gxs/GxsCommentTreeWidget.cpp +++ b/retroshare-gui/src/gui/gxs/GxsCommentTreeWidget.cpp @@ -271,7 +271,7 @@ void GxsCommentTreeWidget::vote(const RsGxsGroupId &groupId, const RsGxsMessageI std::cerr << "AuthorId : " << vote.mMeta.mAuthorId << std::endl; uint32_t token; - mCommentService->createVote(token, vote); + mCommentService->createNewVote(token, vote); mTokenQueue->queueRequest(token, TOKENREQ_MSGINFO, RS_TOKREQ_ANSTYPE_ACK, COMMENT_VOTE_ACK); } diff --git a/retroshare-gui/src/gui/gxs/GxsCreateCommentDialog.cpp b/retroshare-gui/src/gui/gxs/GxsCreateCommentDialog.cpp index 0181845c1..5158d8981 100644 --- a/retroshare-gui/src/gui/gxs/GxsCreateCommentDialog.cpp +++ b/retroshare-gui/src/gui/gxs/GxsCreateCommentDialog.cpp @@ -105,7 +105,7 @@ void GxsCreateCommentDialog::createComment() }//switch (ui->idChooser->getChosenId(authorId)) uint32_t token; - mCommentService->createComment(token, comment); + mCommentService->createNewComment(token, comment); mTokenQueue->queueRequest(token, TOKENREQ_MSGINFO, RS_TOKREQ_ANSTYPE_ACK, 0); close(); } From 78e8758b9e9cf39486b91a82808d76673cc338c8 Mon Sep 17 00:00:00 2001 From: Phenom Date: Thu, 14 Feb 2019 22:15:53 +0100 Subject: [PATCH 37/77] 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