From 47d89a69594b76a61dcb1674e07b9e37a2520958 Mon Sep 17 00:00:00 2001 From: RetroPooh Date: Mon, 22 Feb 2021 21:43:42 +0300 Subject: [PATCH 01/65] keyring - make accepted keys removing correct; allow multi-select --- retroshare-gui/src/gui/NetworkDialog.cpp | 44 ++++++++++++++---------- 1 file changed, 26 insertions(+), 18 deletions(-) diff --git a/retroshare-gui/src/gui/NetworkDialog.cpp b/retroshare-gui/src/gui/NetworkDialog.cpp index 1b02cbc7c..539e103fd 100644 --- a/retroshare-gui/src/gui/NetworkDialog.cpp +++ b/retroshare-gui/src/gui/NetworkDialog.cpp @@ -83,7 +83,7 @@ NetworkDialog::NetworkDialog(QWidget */*parent*/) ui.connectTreeWidget->setUpdatesEnabled(true); ui.connectTreeWidget->setSortingEnabled(true); ui.connectTreeWidget->setSelectionBehavior(QAbstractItemView::SelectRows); - ui.connectTreeWidget->setSelectionMode(QAbstractItemView::SingleSelection); + ui.connectTreeWidget->setSelectionMode(QAbstractItemView::ExtendedSelection); connect(ui.connectTreeWidget, SIGNAL( customContextMenuRequested( QPoint ) ), this, SLOT( connectTreeWidgetCostumPopupMenu( QPoint ) ) ); connect(ui.connectTreeWidget, SIGNAL(doubleClicked(QModelIndex)), this, SLOT(peerdetails())); @@ -117,24 +117,11 @@ void NetworkDialog::connectTreeWidgetCostumPopupMenu( QPoint /*point*/ ) { return; } - QMenu *contextMnu = new QMenu; - - RsPgpId peer_id(ui.connectTreeWidget->model()->data(ui.connectTreeWidget->model()->index(l.begin()->row(), COLUMN_PEERID)).toString().toStdString()) ; - - // That's what context menus are made for - RsPeerDetails detail; - if(!rsPeers->getGPGDetails(peer_id, detail)) // that is not suppose to fail. - return ; - - if(peer_id == rsPeers->getGPGOwnId()) - contextMnu->addAction(QIcon(), tr("Export/create a new node"), this, SLOT(on_actionExportKey_activated())); - contextMnu->addAction(QIcon(IMAGE_PEERDETAILS), tr("Profile details..."), this, SLOT(peerdetails())); contextMnu->addSeparator() ; contextMnu->addAction(QIcon(), tr("Remove unused keys..."), this, SLOT(removeUnusedKeys())); contextMnu->addAction(QIcon(), tr("Remove this key"), this, SLOT(removeSelectedKeys())); - contextMnu->exec(QCursor::pos()); } @@ -177,11 +164,32 @@ void NetworkDialog::removeSelectedKeys() QModelIndexList l = ui.connectTreeWidget->selectionModel()->selection().indexes(); if(l.empty()) return; - std::set selected; - selected.insert(RsPgpId(ui.connectTreeWidget->model()->data(ui.connectTreeWidget->model()->index(l.begin()->row(), COLUMN_PEERID)).toString().toStdString())); - - removeKeys(selected); + std::set friends; + for (int i = 0; i < l.size(); i++) + { + RsPgpId peer_id = RsPgpId(ui.connectTreeWidget->model()->data(ui.connectTreeWidget->model()->index(l[i].row(), COLUMN_PEERID)).toString().toStdString()); + RsPeerDetails details ; + if(rsPeers->getGPGDetails(peer_id,details)) + { + if(details.accept_connection) + friends.insert(peer_id); + else + selected.insert(peer_id); + } + } + if(!friends.empty()) + { + if ((QMessageBox::question(this, "RetroShare", tr("You have selected %1 accepted peers among others,\n Are you sure you want to un-friend them?").arg(friends.size()), QMessageBox::Yes|QMessageBox::No, QMessageBox::Yes)) == QMessageBox::Yes) + { + for(std::set::const_iterator it(friends.begin());it!=friends.end();++it) + rsPeers->removeFriend(*it); + selected.insert(friends.begin(),friends.end()); + } + } + if(!selected.empty()) + removeKeys(selected); + updateDisplay(); } void NetworkDialog::removeKeys(std::set selected) From 0f41d8bf46e034eef4572795383956b860bd6e70 Mon Sep 17 00:00:00 2001 From: csoler Date: Thu, 1 Jun 2023 20:30:19 +0200 Subject: [PATCH 02/65] fixed sorting of files->status in channels all files list --- .../src/gui/gxschannels/GxsChannelPostFilesModel.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/retroshare-gui/src/gui/gxschannels/GxsChannelPostFilesModel.cpp b/retroshare-gui/src/gui/gxschannels/GxsChannelPostFilesModel.cpp index 856ef32e1..54b787e65 100644 --- a/retroshare-gui/src/gui/gxschannels/GxsChannelPostFilesModel.cpp +++ b/retroshare-gui/src/gui/gxschannels/GxsChannelPostFilesModel.cpp @@ -342,10 +342,13 @@ public: case RsGxsChannelPostFilesModel::COLUMN_FILES_FILE: { FileInfo fi1,fi2; - rsFiles->FileDetails(f1.mHash,RS_FILE_HINTS_DOWNLOAD,fi1); - rsFiles->FileDetails(f2.mHash,RS_FILE_HINTS_DOWNLOAD,fi2); + bool r1 = rsFiles->FileDetails(f1.mHash,RS_FILE_HINTS_DOWNLOAD,fi1); + bool r2 = rsFiles->FileDetails(f2.mHash,RS_FILE_HINTS_DOWNLOAD,fi2); - return (ord==Qt::AscendingOrder)?(fi1.transferedfi2.transfered); + if(r1 && r2) + return (ord==Qt::AscendingOrder)?(fi1.transferedfi2.transfered); + else + return (ord==Qt::AscendingOrder)?(fi1.downloadStatusfi2.downloadStatus); } } From 3f8e8805a223a77a7337cf6ed2f526f3c820355d Mon Sep 17 00:00:00 2001 From: csoler Date: Sat, 3 Jun 2023 23:51:31 +0200 Subject: [PATCH 03/65] fixed uninitialized memory read in FileDetail struct causing weird dates in search dialog --- .../src/gui/FileTransfer/SearchDialog.cpp | 16 +++++++++------- retroshare-gui/src/gui/RSHumanReadableDelegate.h | 3 ++- 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/retroshare-gui/src/gui/FileTransfer/SearchDialog.cpp b/retroshare-gui/src/gui/FileTransfer/SearchDialog.cpp index 2ecf442e4..7c495dd5b 100644 --- a/retroshare-gui/src/gui/FileTransfer/SearchDialog.cpp +++ b/retroshare-gui/src/gui/FileTransfer/SearchDialog.cpp @@ -265,6 +265,8 @@ void SearchDialog::handleEvent_main_thread(std::shared_ptr event) f.hash = fe->mResults[i].fHash; f.name = fe->mResults[i].fName; f.size = fe->mResults[i].fSize; + f.mtime = 0; // zero what's not available, otherwise we'll get some random values displayed. + f.rank = 0; updateFiles(fe->mRequestId,f); } @@ -1320,8 +1322,8 @@ void SearchDialog::insertFile(qulonglong searchId, const FileDetail& file, int s item->setText(SR_SIZE_COL, QString::number(file.size)); item->setData(SR_SIZE_COL, ROLE_SORT, (qulonglong) file.size); - item->setText(SR_AGE_COL, QString::number(file.age)); - item->setData(SR_AGE_COL, ROLE_SORT, file.age); + item->setText(SR_AGE_COL, QString::number(file.mtime)); + item->setData(SR_AGE_COL, ROLE_SORT, file.mtime); item->setTextAlignment( SR_SIZE_COL, Qt::AlignRight ); int friendSource = 0; int anonymousSource = 0; @@ -1396,21 +1398,21 @@ void SearchDialog::resultsToTree(const QString& txt,qulonglong searchId, const s std::list::const_iterator it; for(it = results.begin(); it != results.end(); ++it) - if (it->type == DIR_TYPE_FILE) { + if (it->type == DIR_TYPE_FILE) + { FileDetail fd; fd.id = it->id; fd.name = it->name; fd.hash = it->hash; fd.path = it->path; fd.size = it->size; - fd.age = it->mtime; + fd.mtime= it->mtime; fd.rank = 0; insertFile(searchId,fd, FRIEND_SEARCH); - } else if (it->type == DIR_TYPE_DIR) { -// insertDirectory(txt, searchId, *it, NULL); + } + else if (it->type == DIR_TYPE_DIR) insertDirectory(txt, searchId, *it); - } ui.searchResultWidget->setSortingEnabled(true); } diff --git a/retroshare-gui/src/gui/RSHumanReadableDelegate.h b/retroshare-gui/src/gui/RSHumanReadableDelegate.h index 3e9a3e412..18943c1dc 100644 --- a/retroshare-gui/src/gui/RSHumanReadableDelegate.h +++ b/retroshare-gui/src/gui/RSHumanReadableDelegate.h @@ -91,7 +91,8 @@ class RSHumanReadableAgeDelegate: public RSHumanReadableDelegate QStyleOptionViewItem opt(option) ; setPainterOptions(painter,opt,index) ; - painter->drawText(opt.rect, Qt::AlignCenter, misc::timeRelativeToNow(index.data().toLongLong())) ; + if(index.data().toLongLong() > 0) // no date is present. + painter->drawText(opt.rect, Qt::AlignCenter, misc::timeRelativeToNow(index.data().toLongLong())) ; } }; From 0c9b086bd1b473fd7c3ceeb9a77f301ee4ea0a2a Mon Sep 17 00:00:00 2001 From: csoler Date: Sun, 4 Jun 2023 15:12:23 +0200 Subject: [PATCH 04/65] added missing handle to modify mTrustFriendNodesWithBannedFiles --- retroshare-gui/src/gui/settings/TransferPage.cpp | 6 +++++- retroshare-gui/src/gui/settings/TransferPage.h | 3 ++- retroshare-gui/src/gui/settings/TransferPage.ui | 2 +- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/retroshare-gui/src/gui/settings/TransferPage.cpp b/retroshare-gui/src/gui/settings/TransferPage.cpp index c0cf3608f..af390b0c7 100644 --- a/retroshare-gui/src/gui/settings/TransferPage.cpp +++ b/retroshare-gui/src/gui/settings/TransferPage.cpp @@ -53,6 +53,7 @@ TransferPage::TransferPage(QWidget * parent, Qt::WindowFlags flags) QObject::connect(ui._diskSpaceLimit_SB,SIGNAL(valueChanged(int)),this,SLOT(updateDiskSizeLimit(int))) ; QObject::connect(ui._max_tr_up_per_sec_SB, SIGNAL( valueChanged( int ) ), this, SLOT( updateMaxTRUpRate(int) ) ); QObject::connect(ui._filePermDirectDL_CB,SIGNAL(activated(int)),this,SLOT(updateFilePermDirectDL(int))); + QObject::connect(ui._trustFriendNodesWithBannedFiles_CB,SIGNAL(toggled(bool)),this,SLOT(toggleTrustFriendNodesWithBannedFiles(bool))) ; QObject::connect(ui.incomingButton, SIGNAL(clicked( bool ) ), this , SLOT( setIncomingDirectory() ) ); QObject::connect(ui.autoDLColl_CB, SIGNAL(toggled(bool)), this, SLOT(updateAutoDLColl())); @@ -94,7 +95,10 @@ void TransferPage::updateIgnoreLists() std::cerr << " suffixes: " ; for(auto it(ls.begin());it!=ls.end();++it) std::cerr << "\"" << *it << "\" " ; std::cerr << std::endl; #endif } - +void TransferPage::toggleTrustFriendNodesWithBannedFiles(bool b) +{ + rsFiles->setTrustFriendNodesWithBannedFiles(b); +} void TransferPage::updateMaxTRUpRate(int b) { rsTurtle->setMaxTRForwardRate(b) ; diff --git a/retroshare-gui/src/gui/settings/TransferPage.h b/retroshare-gui/src/gui/settings/TransferPage.h index 1a88d29d5..a2a0a1061 100644 --- a/retroshare-gui/src/gui/settings/TransferPage.h +++ b/retroshare-gui/src/gui/settings/TransferPage.h @@ -58,7 +58,8 @@ class TransferPage: public ConfigPage void updateAutoDLColl(); void setPartialsDirectory(); void toggleAutoCheckDirectories(bool); - void updateFontSize(); + void toggleTrustFriendNodesWithBannedFiles(bool); + void updateFontSize(); void updateAutoCheckDirectories() ; void updateAutoScanDirectoriesPeriod() ; diff --git a/retroshare-gui/src/gui/settings/TransferPage.ui b/retroshare-gui/src/gui/settings/TransferPage.ui index b1e7b7630..7ab2b9493 100644 --- a/retroshare-gui/src/gui/settings/TransferPage.ui +++ b/retroshare-gui/src/gui/settings/TransferPage.ui @@ -547,7 +547,7 @@ p, li { white-space: pre-wrap; } - + Trust friend nodes with banned files From e8187dbeab08e0db723005c6b1af6e603fa9ee44 Mon Sep 17 00:00:00 2001 From: csoler Date: Sun, 4 Jun 2023 17:59:17 +0200 Subject: [PATCH 05/65] moved FileDetail structure in SearchDialog where it belongs --- .../src/gui/FileTransfer/SearchDialog.cpp | 14 +++++++++++++- retroshare-gui/src/gui/FileTransfer/SearchDialog.h | 4 ++-- retroshare-gui/src/gui/notifyqt.h | 1 - retroshare-gui/src/main.cpp | 2 -- 4 files changed, 15 insertions(+), 6 deletions(-) diff --git a/retroshare-gui/src/gui/FileTransfer/SearchDialog.cpp b/retroshare-gui/src/gui/FileTransfer/SearchDialog.cpp index 7c495dd5b..832970833 100644 --- a/retroshare-gui/src/gui/FileTransfer/SearchDialog.cpp +++ b/retroshare-gui/src/gui/FileTransfer/SearchDialog.cpp @@ -86,6 +86,18 @@ const int SearchDialog::FILETYPE_IDX_DIRECTORY = 8; QMap * SearchDialog::FileTypeExtensionMap = new QMap(); bool SearchDialog::initialised = false; +struct SearchDialog::FileDetail +{ +public: + RsPeerId id; + std::string name; + RsFileHash hash; + std::string path; + uint64_t size; + uint32_t mtime; + uint32_t rank; +}; + /** Constructor */ SearchDialog::SearchDialog(QWidget *parent) : MainPage(parent), @@ -968,7 +980,7 @@ void SearchDialog::searchKeywords(const QString& keywords) } } -void SearchDialog::updateFiles(qulonglong search_id,FileDetail file) +void SearchDialog::updateFiles(qulonglong search_id,const FileDetail& file) { searchResultsQueue.push_back(std::pair(search_id,file)) ; diff --git a/retroshare-gui/src/gui/FileTransfer/SearchDialog.h b/retroshare-gui/src/gui/FileTransfer/SearchDialog.h index 5661f6246..8aa7bac64 100644 --- a/retroshare-gui/src/gui/FileTransfer/SearchDialog.h +++ b/retroshare-gui/src/gui/FileTransfer/SearchDialog.h @@ -43,6 +43,7 @@ class SearchDialog : public MainPage Q_PROPERTY(QColor textColorLowSources READ textColorLowSources WRITE setTextColorLowSources) Q_PROPERTY(QColor textColorHighSources READ textColorHighSources WRITE setTextColorHighSources) + struct FileDetail; // useful structure to store search results. public: /** Default Constructor */ SearchDialog(QWidget *parent = 0); @@ -63,8 +64,7 @@ public: void setTextColorLowSources(QColor color) { mTextColorLowSources = color; } void setTextColorHighSources(QColor color) { mTextColorHighSources = color; } -public slots: - void updateFiles(qulonglong request_id,FileDetail file) ; + void updateFiles(qulonglong request_id, const FileDetail& file) ; private slots: diff --git a/retroshare-gui/src/gui/notifyqt.h b/retroshare-gui/src/gui/notifyqt.h index 0f9ae11e2..5782ef5b7 100644 --- a/retroshare-gui/src/gui/notifyqt.h +++ b/retroshare-gui/src/gui/notifyqt.h @@ -117,7 +117,6 @@ class NotifyQt: public QObject, public NotifyClient void chatStatusChanged(const ChatId&,const QString&) const ; void chatCleared(const ChatId&) const ; void peerHasNewCustomStateString(const QString& /* peer_id */, const QString& /* status_string */) const ; - void gotTurtleSearchResult(qulonglong search_id,FileDetail file) const ; void peerHasNewAvatar(const QString& peer_id) const ; void ownAvatarChanged() const ; void ownStatusMessageChanged() const ; diff --git a/retroshare-gui/src/main.cpp b/retroshare-gui/src/main.cpp index 3361597c8..e33fe795d 100644 --- a/retroshare-gui/src/main.cpp +++ b/retroshare-gui/src/main.cpp @@ -536,11 +536,9 @@ feenableexcept(FE_INVALID | FE_DIVBYZERO); // avoid clashes between infos from threads. // - qRegisterMetaType("FileDetail") ; qRegisterMetaType("RsPeerId") ; std::cerr << "connecting signals and slots" << std::endl ; -// QObject::connect(notify,SIGNAL(gotTurtleSearchResult(qulonglong,FileDetail)),w->transfersDialog->searchDialog ,SLOT(updateFiles(qulonglong,FileDetail))) ; QObject::connect(notify,SIGNAL(deferredSignatureHandlingRequested()),notify,SLOT(handleSignatureEvent()),Qt::QueuedConnection) ; QObject::connect(notify,SIGNAL(chatLobbyTimeShift(int)),notify,SLOT(handleChatLobbyTimeShift(int)),Qt::QueuedConnection) ; QObject::connect(notify,SIGNAL(diskFull(int,int)) ,w ,SLOT(displayDiskSpaceWarning(int,int))) ; From 9bbc832906457c608b4e7be2e20a06b65d49dcf5 Mon Sep 17 00:00:00 2001 From: csoler Date: Sun, 4 Jun 2023 21:30:26 +0200 Subject: [PATCH 06/65] added missing initialization of "trust friends with banned files" checkbox --- retroshare-gui/src/gui/settings/TransferPage.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/retroshare-gui/src/gui/settings/TransferPage.cpp b/retroshare-gui/src/gui/settings/TransferPage.cpp index af390b0c7..4b704ddd3 100644 --- a/retroshare-gui/src/gui/settings/TransferPage.cpp +++ b/retroshare-gui/src/gui/settings/TransferPage.cpp @@ -46,6 +46,8 @@ TransferPage::TransferPage(QWidget * parent, Qt::WindowFlags flags) ui._max_tr_up_per_sec_SB->setMinimum(max_tr_low); ui._max_tr_up_per_sec_SB->setMaximum(max_tr_high); + whileBlocking(ui._trustFriendNodesWithBannedFiles_CB)->setChecked(rsFiles->trustFriendNodesWithBannedFiles()); + QObject::connect(ui._queueSize_SB,SIGNAL(valueChanged(int)),this,SLOT(updateQueueSize(int))) ; QObject::connect(ui._max_up_SB,SIGNAL(valueChanged(int)),this,SLOT(updateMaxUploadSlots(int))) ; QObject::connect(ui._defaultStrategy_CB,SIGNAL(activated(int)),this,SLOT(updateDefaultStrategy(int))) ; From 438489fb010b18b0700256c2ae0c270e8640235c Mon Sep 17 00:00:00 2001 From: csoler Date: Tue, 20 Jun 2023 21:27:41 +0200 Subject: [PATCH 07/65] removed question before sending invite, since the request is not in auto mode --- retroshare-gui/src/gui/msgs/MessageWidget.cpp | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/retroshare-gui/src/gui/msgs/MessageWidget.cpp b/retroshare-gui/src/gui/msgs/MessageWidget.cpp index d74505e63..cd06e9805 100644 --- a/retroshare-gui/src/gui/msgs/MessageWidget.cpp +++ b/retroshare-gui/src/gui/msgs/MessageWidget.cpp @@ -905,10 +905,8 @@ void MessageWidget::sendInvite() if(mi.from.type()!=MsgAddress::MSG_ADDRESS_TYPE_RSGXSID) return; - if ((QMessageBox::question(this, tr("Send invite?"),tr("Do you really want send a invite with your Certificate?"),QMessageBox::Yes|QMessageBox::No, QMessageBox::Cancel))== QMessageBox::Yes) - { - MessageComposer::sendInvite(mi.from.toGxsId(),false); - } + //if ((QMessageBox::question(this, tr("Send invite?"),tr("Do you really want to send an invite with your Certificate?"),QMessageBox::Yes, QMessageBox::No))== QMessageBox::Yes) + MessageComposer::sendInvite(mi.from.toGxsId(),false); } void MessageWidget::setToolbarButtonStyle(Qt::ToolButtonStyle style) From c278239f97016d02b7ddd799c0e24ca1b1656637 Mon Sep 17 00:00:00 2001 From: csoler Date: Tue, 20 Jun 2023 21:57:51 +0200 Subject: [PATCH 08/65] added warning about random FT strategy on windows --- .../src/gui/FileTransfer/TransfersDialog.cpp | 4 ++++ retroshare-gui/src/gui/settings/TransferPage.cpp | 15 ++++++++++++--- retroshare-gui/src/gui/settings/TransferPage.ui | 2 +- 3 files changed, 17 insertions(+), 4 deletions(-) diff --git a/retroshare-gui/src/gui/FileTransfer/TransfersDialog.cpp b/retroshare-gui/src/gui/FileTransfer/TransfersDialog.cpp index d0b4d5fc7..aa9b50298 100644 --- a/retroshare-gui/src/gui/FileTransfer/TransfersDialog.cpp +++ b/retroshare-gui/src/gui/FileTransfer/TransfersDialog.cpp @@ -2244,6 +2244,10 @@ void TransfersDialog::chunkStreaming() } void TransfersDialog::chunkRandom() { +#ifdef WINDOWS_SYS + if(QMessageBox::Yes != QMessageBox::warning(nullptr,tr("Warning"),tr("On Windows systems, writing in the middle of large empty files may hang the software for several seconds. Do you want to use this option anyway?"),QMessageBox::Yes,QMessageBox::No)) + return; +#endif setChunkStrategy(FileChunksInfo::CHUNK_STRATEGY_RANDOM) ; } void TransfersDialog::chunkProgressive() diff --git a/retroshare-gui/src/gui/settings/TransferPage.cpp b/retroshare-gui/src/gui/settings/TransferPage.cpp index 4b704ddd3..dfd8944a2 100644 --- a/retroshare-gui/src/gui/settings/TransferPage.cpp +++ b/retroshare-gui/src/gui/settings/TransferPage.cpp @@ -30,6 +30,7 @@ #include "retroshare/rspeers.h" #include +#include #include #include @@ -214,11 +215,19 @@ void TransferPage::updateDefaultStrategy(int i) case 0: rsFiles->setDefaultChunkStrategy(FileChunksInfo::CHUNK_STRATEGY_STREAMING) ; break ; - case 2: rsFiles->setDefaultChunkStrategy(FileChunksInfo::CHUNK_STRATEGY_RANDOM) ; - break ; + case 2: +#ifdef WINDOWS_SYS + if(QMessageBox::Yes != QMessageBox::warning(nullptr,tr("Warning"),tr("On Windows systems, randomly writing in the middle of large empty files may hang the software for several seconds. Do you want to use this option anyway?"),QMessageBox::Yes,QMessageBox::No)) + { + ui._defaultStrategy_CB->setCurrentIndex(0); + return; + } +#endif + rsFiles->setDefaultChunkStrategy(FileChunksInfo::CHUNK_STRATEGY_RANDOM) ; + break ; case 1: rsFiles->setDefaultChunkStrategy(FileChunksInfo::CHUNK_STRATEGY_PROGRESSIVE) ; - break ; + break ; default: ; } } diff --git a/retroshare-gui/src/gui/settings/TransferPage.ui b/retroshare-gui/src/gui/settings/TransferPage.ui index 7ab2b9493..fc2b17b91 100644 --- a/retroshare-gui/src/gui/settings/TransferPage.ui +++ b/retroshare-gui/src/gui/settings/TransferPage.ui @@ -30,7 +30,7 @@ - Edit Share + Configure shared directories From 463383e25c894f2d4cbca86f459911f9d40dbe16 Mon Sep 17 00:00:00 2001 From: csoler Date: Mon, 26 Jun 2023 21:07:48 +0200 Subject: [PATCH 09/65] auto-switch to progressive instead of random when the user doesnt want random FT strategy. Added more info about this. --- retroshare-gui/src/gui/settings/TransferPage.cpp | 4 ++-- retroshare-gui/src/gui/settings/TransferPage.ui | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/retroshare-gui/src/gui/settings/TransferPage.cpp b/retroshare-gui/src/gui/settings/TransferPage.cpp index dfd8944a2..915eaa679 100644 --- a/retroshare-gui/src/gui/settings/TransferPage.cpp +++ b/retroshare-gui/src/gui/settings/TransferPage.cpp @@ -217,9 +217,9 @@ void TransferPage::updateDefaultStrategy(int i) case 2: #ifdef WINDOWS_SYS - if(QMessageBox::Yes != QMessageBox::warning(nullptr,tr("Warning"),tr("On Windows systems, randomly writing in the middle of large empty files may hang the software for several seconds. Do you want to use this option anyway?"),QMessageBox::Yes,QMessageBox::No)) + if(QMessageBox::Yes != QMessageBox::warning(nullptr,tr("Warning"),tr("On Windows systems, randomly writing in the middle of large empty files may hang the software for several seconds. Do you want to use this option anyway (otherwise use \"progressive\")?"),QMessageBox::Yes,QMessageBox::No)) { - ui._defaultStrategy_CB->setCurrentIndex(0); + ui._defaultStrategy_CB->setCurrentIndex(1); return; } #endif diff --git a/retroshare-gui/src/gui/settings/TransferPage.ui b/retroshare-gui/src/gui/settings/TransferPage.ui index fc2b17b91..b6d8cd7ff 100644 --- a/retroshare-gui/src/gui/settings/TransferPage.ui +++ b/retroshare-gui/src/gui/settings/TransferPage.ui @@ -14,7 +14,7 @@ - 0 + 1 @@ -443,7 +443,7 @@ p, li { white-space: pre-wrap; } true - <html><head/><body><p><span style=" font-weight:600;">Streaming </span>causes the transfer to request 1MB file chunks in increasing order, facilitating preview while downloading. <span style=" font-weight:600;">Random</span> is purely random and favors swarming behavior. <span style=" font-weight:600;">Progressive</span> is a compromise, selecting the next chunk at random within less than 50MB after the end of the partial file. That allows some randomness while preventing large empty file initialization times.</p></body></html> + <html><head/><body><p><span style=" font-weight:600;">Streaming </span>causes the transfer to request 1MB file chunks in increasing order, facilitating preview while downloading. <span style=" font-weight:600;">Random</span> is purely random and favors swarming behavior (although not recommended on Windows systems). <span style=" font-weight:600;">Progressive</span> is a good compromise, selecting the next chunk at random within less than 50MB after the end of the partial file. That allows some randomness while preventing large empty file initialization times.</p></body></html> From afba23882e384a75f534b6fe08538aa22cd9fb54 Mon Sep 17 00:00:00 2001 From: csoler Date: Tue, 27 Jun 2023 14:00:04 +0200 Subject: [PATCH 10/65] stop GxsGroupFrameDialog from stealing the focus on summary update --- .../src/gui/gxs/GxsGroupFrameDialog.cpp | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/retroshare-gui/src/gui/gxs/GxsGroupFrameDialog.cpp b/retroshare-gui/src/gui/gxs/GxsGroupFrameDialog.cpp index 3b1aad916..ca8521ca5 100644 --- a/retroshare-gui/src/gui/gxs/GxsGroupFrameDialog.cpp +++ b/retroshare-gui/src/gui/gxs/GxsGroupFrameDialog.cpp @@ -1105,7 +1105,12 @@ void GxsGroupFrameDialog::updateGroupSummary() * Qt::QueuedConnection is important! */ - insertGroupsData(*groupInfo); + // Here we save the focus, and restore it afterwards: there's no need to grab the focus here and + // if we do, it may harm the navitation in forums, channels, boards, etc. + + auto w = QApplication::focusWidget(); + + insertGroupsData(*groupInfo); updateSearchResults(); mStateHelper->setLoading(TOKEN_TYPE_GROUP_SUMMARY, false); @@ -1132,7 +1137,12 @@ void GxsGroupFrameDialog::updateGroupSummary() delete groupInfo; - }, this ); + // Restore the focus. + + if(w) + w->setFocus(); + + }, this ); }); } @@ -1165,7 +1175,7 @@ void GxsGroupFrameDialog::updateGroupStatisticsReal(const RsGxsGroupId &groupId) * Qt::QueuedConnection is important! */ - QTreeWidgetItem *item = ui->groupTreeWidget->getItemFromId(QString::fromStdString(stats.mGrpId.toStdString())); + QTreeWidgetItem *item = ui->groupTreeWidget->getItemFromId(QString::fromStdString(stats.mGrpId.toStdString())); if (!item) return; @@ -1174,7 +1184,7 @@ void GxsGroupFrameDialog::updateGroupStatisticsReal(const RsGxsGroupId &groupId) getUserNotify()->updateIcon(); - }, this ); + }, this ); }); } From ae855098cf4b2408346801db9a530616f5191120 Mon Sep 17 00:00:00 2001 From: PYRET1C <88980503+PYRET1C@users.noreply.github.com> Date: Tue, 27 Jun 2023 22:16:37 +0530 Subject: [PATCH 11/65] This commit gives the edit account feature in the wire. --- .../src/gui/TheWire/CustomFrame.cpp | 21 +++++++ retroshare-gui/src/gui/TheWire/CustomFrame.h | 24 ++++++++ .../src/gui/TheWire/PulseTopLevel.ui | 1 - .../src/gui/TheWire/PulseViewGroup.cpp | 35 ++++++++++-- .../src/gui/TheWire/PulseViewGroup.ui | 55 +++++++++++++++---- retroshare-gui/src/gui/TheWire/WireDialog.ui | 2 +- .../src/gui/TheWire/WireGroupDialog.cpp | 2 +- .../src/gui/TheWire/WireGroupItem.cpp | 3 +- .../src/gui/TheWire/WireGroupItem.ui | 4 +- 9 files changed, 126 insertions(+), 21 deletions(-) create mode 100644 retroshare-gui/src/gui/TheWire/CustomFrame.cpp create mode 100644 retroshare-gui/src/gui/TheWire/CustomFrame.h diff --git a/retroshare-gui/src/gui/TheWire/CustomFrame.cpp b/retroshare-gui/src/gui/TheWire/CustomFrame.cpp new file mode 100644 index 000000000..20059222d --- /dev/null +++ b/retroshare-gui/src/gui/TheWire/CustomFrame.cpp @@ -0,0 +1,21 @@ +#include "CustomFrame.h" +#include + +// Constructor +CustomFrame::CustomFrame(QWidget *parent) : QFrame(parent) +{ + // Any initializations for this frame. +} + +// Overriding the inbuilt paint function +void CustomFrame::paintEvent(QPaintEvent *event) +{ + QFrame::paintEvent(event); + QPainter painter(this); + painter.drawPixmap(rect(), backgroundImage); +} + +// Function to set the member variable 'backgroundImage' +void CustomFrame::setPixmap(QPixmap pixmap){ + backgroundImage = pixmap; +} diff --git a/retroshare-gui/src/gui/TheWire/CustomFrame.h b/retroshare-gui/src/gui/TheWire/CustomFrame.h new file mode 100644 index 000000000..ebe2bfa8c --- /dev/null +++ b/retroshare-gui/src/gui/TheWire/CustomFrame.h @@ -0,0 +1,24 @@ +#ifndef CUSTOMFRAMEH_H +#define CUSTOMFRAMEH_H + +#include +#include + +// This class is made to implement the background image in a Qframe or any widget + +class CustomFrame : public QFrame +{ + Q_OBJECT + +public: + explicit CustomFrame(QWidget *parent = nullptr); + void setPixmap(QPixmap pixmap); + +protected: + void paintEvent(QPaintEvent *event) override; + +private: + QPixmap backgroundImage; +}; + +#endif //CUSTOMFRAMEH_H diff --git a/retroshare-gui/src/gui/TheWire/PulseTopLevel.ui b/retroshare-gui/src/gui/TheWire/PulseTopLevel.ui index 077b72473..1959244d3 100644 --- a/retroshare-gui/src/gui/TheWire/PulseTopLevel.ui +++ b/retroshare-gui/src/gui/TheWire/PulseTopLevel.ui @@ -767,7 +767,6 @@ 12 - 75 true diff --git a/retroshare-gui/src/gui/TheWire/PulseViewGroup.cpp b/retroshare-gui/src/gui/TheWire/PulseViewGroup.cpp index 8707eaf8c..56c4eabdc 100644 --- a/retroshare-gui/src/gui/TheWire/PulseViewGroup.cpp +++ b/retroshare-gui/src/gui/TheWire/PulseViewGroup.cpp @@ -24,11 +24,14 @@ #include #include "PulseViewGroup.h" +#include "CustomFrame.h" #include "gui/gxs/GxsIdDetails.h" #include "gui/common/FilesDefs.h" #include "util/DateTime.h" +Q_DECLARE_METATYPE(RsWireGroup) + /** Constructor */ PulseViewGroup::PulseViewGroup(PulseViewHolder *holder, RsWireGroupSPtr group) @@ -50,8 +53,32 @@ void PulseViewGroup::setup() label_tagline->setText(QString::fromStdString(mGroup->mTagline)); label_location->setText(QString::fromStdString(mGroup->mLocation)); - // need to draw mGroup->mMasthead, as background to headshot. - // TODO frame_headerBackground->setBackground() + + if (mGroup->mMasthead.mData) + { + QPixmap pixmap; + if (GxsIdDetails::loadPixmapFromData( + mGroup->mMasthead.mData, + mGroup->mMasthead.mSize, + pixmap, GxsIdDetails::ORIGINAL)) + { + QSize frameSize = frame_masthead->size(); + + // Scale the pixmap based on the frame size + pixmap = pixmap.scaled(frameSize, Qt::KeepAspectRatio, Qt::SmoothTransformation); + frame_masthead->setPixmap(pixmap); + } + } + else + { + // Default pixmap + QPixmap pixmap = FilesDefs::getPixmapFromQtResourcePath(":/icons/png/posted.png"); + QSize frameSize = frame_masthead->size(); + + // Scale the pixmap based on the frame size + pixmap = pixmap.scaled(frameSize, Qt::KeepAspectRatio, Qt::SmoothTransformation); + frame_masthead->setPixmap(pixmap); + } if (mGroup->mHeadshot.mData) { @@ -61,14 +88,14 @@ void PulseViewGroup::setup() mGroup->mHeadshot.mSize, pixmap,GxsIdDetails::ORIGINAL)) { - pixmap = pixmap.scaled(50,50); + pixmap = pixmap.scaled(100,100); label_headshot->setPixmap(pixmap); } } else { // default. - QPixmap pixmap = FilesDefs::getPixmapFromQtResourcePath(":/icons/png/posted.png").scaled(50,50); + QPixmap pixmap = FilesDefs::getPixmapFromQtResourcePath(":/icons/png/posted.png").scaled(100,100); label_headshot->setPixmap(pixmap); } diff --git a/retroshare-gui/src/gui/TheWire/PulseViewGroup.ui b/retroshare-gui/src/gui/TheWire/PulseViewGroup.ui index 77329e3c2..39183123e 100644 --- a/retroshare-gui/src/gui/TheWire/PulseViewGroup.ui +++ b/retroshare-gui/src/gui/TheWire/PulseViewGroup.ui @@ -6,7 +6,7 @@ 0 0 - 745 + 746 483 @@ -48,19 +48,37 @@ QFrame::Raised - + - - + + + + 0 + 0 + + + + + 700 + 135 + + + + + + - + Qt::Horizontal + + QSizePolicy::Expanding + - 283 - 20 + 277 + 17 @@ -79,19 +97,22 @@ 100 + + + headshot - + Qt::Horizontal - 23 + 281 20 @@ -509,7 +530,6 @@ 12 - 75 true @@ -538,10 +558,25 @@ + widget_header + widget_publish + line_1 + widget_replies + line_2 + widget_actions + frame_masthead + + + CustomFrame + QFrame +
D:\new\RetroShare\retroshare-gui\src\gui\TheWire\CustomFrame.h
+ 1 +
+
diff --git a/retroshare-gui/src/gui/TheWire/WireDialog.ui b/retroshare-gui/src/gui/TheWire/WireDialog.ui index b794a96e0..4cdf4a174 100644 --- a/retroshare-gui/src/gui/TheWire/WireDialog.ui +++ b/retroshare-gui/src/gui/TheWire/WireDialog.ui @@ -434,8 +434,8 @@ - + diff --git a/retroshare-gui/src/gui/TheWire/WireGroupDialog.cpp b/retroshare-gui/src/gui/TheWire/WireGroupDialog.cpp index e13cd4f8f..e832540de 100644 --- a/retroshare-gui/src/gui/TheWire/WireGroupDialog.cpp +++ b/retroshare-gui/src/gui/TheWire/WireGroupDialog.cpp @@ -152,7 +152,7 @@ bool WireGroupDialog::service_updateGroup(const RsGroupMetaData &editedMeta) std::cerr << "WireGroupDialog::service_updateGroup() submitting changes"; std::cerr << std::endl; - bool success = rsWire->updateGroup(grp); + bool success = rsWire->editWire(grp); // TODO updateGroup should refresh groupId or Data return success; } diff --git a/retroshare-gui/src/gui/TheWire/WireGroupItem.cpp b/retroshare-gui/src/gui/TheWire/WireGroupItem.cpp index 8ab62260a..c8abe3886 100644 --- a/retroshare-gui/src/gui/TheWire/WireGroupItem.cpp +++ b/retroshare-gui/src/gui/TheWire/WireGroupItem.cpp @@ -65,8 +65,7 @@ WireGroupItem::WireGroupItem(WireGroupHolder *holder, const RsWireGroup &grp) setAttribute ( Qt::WA_DeleteOnClose, true ); setup(); - // disabled, still not yet functional Edit/Update - editButton->setEnabled(false); + editButton->setEnabled(true); } RsGxsGroupId &WireGroupItem::groupId() diff --git a/retroshare-gui/src/gui/TheWire/WireGroupItem.ui b/retroshare-gui/src/gui/TheWire/WireGroupItem.ui index 2da79ddc6..a53448157 100644 --- a/retroshare-gui/src/gui/TheWire/WireGroupItem.ui +++ b/retroshare-gui/src/gui/TheWire/WireGroupItem.ui @@ -6,8 +6,8 @@ 0 0 - 276 - 114 + 292 + 115 From a78212274291fbc4a7b01074baba9a513c4ccb0f Mon Sep 17 00:00:00 2001 From: csoler Date: Wed, 28 Jun 2023 21:48:07 +0200 Subject: [PATCH 12/65] fixed copy file link in channel post files --- .../GxsChannelPostsWidgetWithModel.cpp | 34 ++++++++++++------- .../GxsChannelPostsWidgetWithModel.h | 1 + 2 files changed, 22 insertions(+), 13 deletions(-) diff --git a/retroshare-gui/src/gui/gxschannels/GxsChannelPostsWidgetWithModel.cpp b/retroshare-gui/src/gui/gxschannels/GxsChannelPostsWidgetWithModel.cpp index 35f8df044..a6ce946f5 100644 --- a/retroshare-gui/src/gui/gxschannels/GxsChannelPostsWidgetWithModel.cpp +++ b/retroshare-gui/src/gui/gxschannels/GxsChannelPostsWidgetWithModel.cpp @@ -411,7 +411,7 @@ GxsChannelPostsWidgetWithModel::GxsChannelPostsWidgetWithModel(const RsGxsGroupI connect(ui->channelPostFiles_TV->header(),SIGNAL(sortIndicatorChanged(int,Qt::SortOrder)), this, SLOT(sortColumnPostFiles(int,Qt::SortOrder))); connect(ui->channelFiles_TV->header(),SIGNAL(sortIndicatorChanged(int,Qt::SortOrder)), this, SLOT(sortColumnFiles(int,Qt::SortOrder))); - connect(ui->channelPostFiles_TV,SIGNAL(customContextMenuRequested(QPoint)), this, SLOT(showChannelFilesContextMenu(QPoint))); + connect(ui->channelPostFiles_TV,SIGNAL(customContextMenuRequested(QPoint)), this, SLOT(showChannelPostFilesContextMenu(QPoint))); connect(ui->channelFiles_TV,SIGNAL(customContextMenuRequested(QPoint)), this, SLOT(showChannelFilesContextMenu(QPoint))); connect(ui->postsTree->selectionModel(),SIGNAL(selectionChanged(const QItemSelection&,const QItemSelection&)),this,SLOT(showPostDetails())); @@ -1344,13 +1344,26 @@ void GxsChannelPostsWidgetWithModel::insertChannelDetails(const RsGxsChannelGrou showPostDetails(); } - -void GxsChannelPostsWidgetWithModel::showChannelFilesContextMenu(QPoint /*p*/) +void GxsChannelPostsWidgetWithModel::showChannelFilesContextMenu(QPoint p) { - QMenu contextMnu(this) ; + QModelIndex index = ui->channelFiles_TV->indexAt(p); - QAction *action = contextMnu.addAction(QIcon(), tr("Copy Retroshare link"), this, SLOT(copyChannelFilesLink())); - action->setData(QVariant::fromValue(sender())); + if(!index.isValid()) + return; + + QMenu contextMnu(this) ; + contextMnu.addAction(QIcon(), tr("Copy Retroshare link"), this, SLOT(copyChannelFilesLink()))->setData(QVariant::fromValue(index)); + contextMnu.exec(QCursor::pos()); +} +void GxsChannelPostsWidgetWithModel::showChannelPostFilesContextMenu(QPoint p) +{ + QModelIndex index = ui->channelPostFiles_TV->indexAt(p); + + if(!index.isValid()) + return; + + QMenu contextMnu(this) ; + contextMnu.addAction(QIcon(), tr("Copy Retroshare link"), this, SLOT(copyChannelFilesLink()))->setData(QVariant::fromValue(index)); contextMnu.exec(QCursor::pos()); } @@ -1358,16 +1371,11 @@ void GxsChannelPostsWidgetWithModel::copyChannelFilesLink() { // Block the popup if no results available QAction *action = dynamic_cast(sender()); - RSTreeView *tree = dynamic_cast(action->data().value()); - - QModelIndexList sel = tree->selectionModel()->selection().indexes(); - - if(sel.empty()) - return; + QModelIndex s = action->data().toModelIndex(); ChannelPostFileInfo file; - if(!static_cast(tree->model())->getFileData(sel.front(),file)) + if(!static_cast(s.model())->getFileData(s,file)) return; RetroShareLink link = RetroShareLink::createFile(QString::fromUtf8(file.mName.c_str()), file.mSize, QString::fromStdString(file.mHash.toStdString())); diff --git a/retroshare-gui/src/gui/gxschannels/GxsChannelPostsWidgetWithModel.h b/retroshare-gui/src/gui/gxschannels/GxsChannelPostsWidgetWithModel.h index c325c722b..9cfcaae21 100644 --- a/retroshare-gui/src/gui/gxschannels/GxsChannelPostsWidgetWithModel.h +++ b/retroshare-gui/src/gui/gxschannels/GxsChannelPostsWidgetWithModel.h @@ -166,6 +166,7 @@ public slots: void sortColumnPostFiles(int col,Qt::SortOrder so); void updateCommentsCount(int n); void showChannelFilesContextMenu(QPoint p); + void showChannelPostFilesContextMenu(QPoint p); void copyChannelFilesLink(); private: From df68d03953f800899397d670f029f88a4fa094a4 Mon Sep 17 00:00:00 2001 From: csoler Date: Fri, 30 Jun 2023 17:24:55 +0200 Subject: [PATCH 13/65] fixed item not switching to "Open/Play" when DL is finished in channel/post/files --- .../GxsChannelFilesStatusWidget.cpp | 39 +++++++++++-------- 1 file changed, 22 insertions(+), 17 deletions(-) diff --git a/retroshare-gui/src/gui/gxschannels/GxsChannelFilesStatusWidget.cpp b/retroshare-gui/src/gui/gxschannels/GxsChannelFilesStatusWidget.cpp index 66eb0f793..4d4361876 100644 --- a/retroshare-gui/src/gui/gxschannels/GxsChannelFilesStatusWidget.cpp +++ b/retroshare-gui/src/gui/gxschannels/GxsChannelFilesStatusWidget.cpp @@ -90,7 +90,15 @@ void GxsChannelFilesStatusWidget::setSize(uint64_t size) void GxsChannelFilesStatusWidget::check() { FileInfo fileInfo; - if (rsFiles->alreadyHaveFile(mFile.mHash, fileInfo)) { + + bool already_has_file = rsFiles->alreadyHaveFile(mFile.mHash, fileInfo); + bool detailsOk = false; + + if(!already_has_file) + detailsOk = rsFiles->FileDetails(mFile.mHash, RS_FILE_HINTS_DOWNLOAD | RS_FILE_HINTS_SPEC_ONLY, fileInfo); + + if (already_has_file || (detailsOk && fileInfo.downloadStatus == FT_STATE_COMPLETE)) + { mState = STATE_LOCAL; setSize(fileInfo.size); @@ -103,27 +111,25 @@ void GxsChannelFilesStatusWidget::check() ui->openFilePushButton->setText(tr("Play")); ui->openFilePushButton->setIcon(FilesDefs::getIconFromQtResourcePath(":/icons/png/play.png")); } - - } else { - FileInfo fileInfo; - bool detailsOk = rsFiles->FileDetails(mFile.mHash, RS_FILE_HINTS_DOWNLOAD | RS_FILE_HINTS_SPEC_ONLY, fileInfo); - - if (detailsOk) { - switch (fileInfo.downloadStatus) { + } + else if (detailsOk) + { + switch (fileInfo.downloadStatus) + { case FT_STATE_WAITING: mState = STATE_WAITING; break; case FT_STATE_DOWNLOADING: - if (fileInfo.avail == fileInfo.size) { + if (fileInfo.avail == fileInfo.size) mState = STATE_LOCAL; - } else { + else mState = STATE_DOWNLOAD; - } + setSize(fileInfo.size); ui->progressBar->setValue(fileInfo.avail / mDivisor); break; - case FT_STATE_COMPLETE: - mState = STATE_DOWNLOAD; + case FT_STATE_COMPLETE: // this should not happen, since the case is handled earlier + mState = STATE_ERROR; break; case FT_STATE_QUEUED: mState = STATE_WAITING; @@ -138,10 +144,9 @@ void GxsChannelFilesStatusWidget::check() mState = STATE_ERROR; break; } - } else { - mState = STATE_REMOTE; - } - } + } + else + mState = STATE_REMOTE; int repeat = 0; QString statusText; From fe8c81e84afe1dacb5f2c39752a5174efaa6be82 Mon Sep 17 00:00:00 2001 From: csoler Date: Sat, 1 Jul 2023 00:00:46 +0200 Subject: [PATCH 14/65] fixed open file / open dir in channel/post/files --- .../GxsChannelFilesStatusWidget.cpp | 108 ++++++++++-------- .../gxschannels/GxsChannelFilesStatusWidget.h | 1 + .../GxsChannelFilesStatusWidget.ui | 6 +- 3 files changed, 65 insertions(+), 50 deletions(-) diff --git a/retroshare-gui/src/gui/gxschannels/GxsChannelFilesStatusWidget.cpp b/retroshare-gui/src/gui/gxschannels/GxsChannelFilesStatusWidget.cpp index 4d4361876..23f5f5b93 100644 --- a/retroshare-gui/src/gui/gxschannels/GxsChannelFilesStatusWidget.cpp +++ b/retroshare-gui/src/gui/gxschannels/GxsChannelFilesStatusWidget.cpp @@ -50,15 +50,12 @@ GxsChannelFilesStatusWidget::GxsChannelFilesStatusWidget(const RsGxsFile &file, connect(ui->openFilePushButton, SIGNAL(clicked()), this, SLOT(openFile())); ui->downloadPushButton->setIcon(FilesDefs::getIconFromQtResourcePath(":/icons/png/download.png")); - ui->openFolderToolButton->setIcon(FilesDefs::getIconFromQtResourcePath(":/icons/png/arrow.png")); - QAction *openfolder = new QAction(tr("Open folder"), this); - connect(openfolder, SIGNAL(triggered()), this, SLOT(openFolder())); + ui->openFolderPushButton->setIcon(FilesDefs::getIconFromQtResourcePath(":/images/folderopen.png")); + ui->openFolderPushButton->setToolTip(tr("Open folder")); + + connect(ui->openFolderPushButton, SIGNAL(clicked()), this, SLOT(openFolder())); - QMenu *menu = new QMenu(); - menu->addAction(openfolder); - ui->openFolderToolButton->setMenu(menu); - check(); } @@ -91,13 +88,7 @@ void GxsChannelFilesStatusWidget::check() { FileInfo fileInfo; - bool already_has_file = rsFiles->alreadyHaveFile(mFile.mHash, fileInfo); - bool detailsOk = false; - - if(!already_has_file) - detailsOk = rsFiles->FileDetails(mFile.mHash, RS_FILE_HINTS_DOWNLOAD | RS_FILE_HINTS_SPEC_ONLY, fileInfo); - - if (already_has_file || (detailsOk && fileInfo.downloadStatus == FT_STATE_COMPLETE)) + if(haveFile(fileInfo)) { mState = STATE_LOCAL; setSize(fileInfo.size); @@ -112,7 +103,7 @@ void GxsChannelFilesStatusWidget::check() ui->openFilePushButton->setIcon(FilesDefs::getIconFromQtResourcePath(":/icons/png/play.png")); } } - else if (detailsOk) + else { switch (fileInfo.downloadStatus) { @@ -140,13 +131,11 @@ void GxsChannelFilesStatusWidget::check() case FT_STATE_CHECKING_HASH: mState = STATE_CHECKING; break; - case FT_STATE_FAILED: - mState = STATE_ERROR; - break; - } + default: + mState = STATE_REMOTE; + break; + } } - else - mState = STATE_REMOTE; int repeat = 0; QString statusText; @@ -161,7 +150,7 @@ void GxsChannelFilesStatusWidget::check() ui->cancelToolButton->hide(); ui->progressBar->hide(); ui->openFilePushButton->hide(); - ui->openFolderToolButton->hide(); + ui->openFolderPushButton->hide(); statusText = tr("Error"); @@ -176,7 +165,7 @@ void GxsChannelFilesStatusWidget::check() ui->cancelToolButton->hide(); ui->progressBar->hide(); ui->openFilePushButton->hide(); - ui->openFolderToolButton->hide(); + ui->openFolderPushButton->hide(); break; @@ -189,7 +178,7 @@ void GxsChannelFilesStatusWidget::check() ui->cancelToolButton->show(); ui->progressBar->show(); ui->openFilePushButton->hide(); - ui->openFolderToolButton->hide(); + ui->openFolderPushButton->hide(); break; @@ -202,7 +191,7 @@ void GxsChannelFilesStatusWidget::check() ui->cancelToolButton->show(); ui->progressBar->hide(); ui->openFilePushButton->hide(); - ui->openFolderToolButton->hide(); + ui->openFolderPushButton->hide(); statusText = tr("Paused"); @@ -217,7 +206,7 @@ void GxsChannelFilesStatusWidget::check() ui->cancelToolButton->show(); ui->progressBar->hide(); ui->openFilePushButton->hide(); - ui->openFolderToolButton->hide(); + ui->openFolderPushButton->hide(); statusText = tr("Waiting"); @@ -232,7 +221,7 @@ void GxsChannelFilesStatusWidget::check() ui->cancelToolButton->show(); ui->progressBar->hide(); ui->openFilePushButton->hide(); - ui->openFolderToolButton->hide(); + ui->openFolderPushButton->hide(); statusText = tr("Checking"); @@ -247,7 +236,7 @@ void GxsChannelFilesStatusWidget::check() ui->cancelToolButton->hide(); ui->progressBar->hide(); ui->openFilePushButton->show(); - ui->openFolderToolButton->show(); + ui->openFolderPushButton->show(); break; } @@ -329,35 +318,60 @@ void GxsChannelFilesStatusWidget::cancel() void GxsChannelFilesStatusWidget::openFolder() { FileInfo fileInfo; - if (!rsFiles->alreadyHaveFile(mFile.mHash, fileInfo)) { + if (!haveFile(fileInfo)) return; - } - /* open folder with a suitable application */ - QDir dir = QFileInfo(QString::fromUtf8(fileInfo.path.c_str())).absoluteDir(); - if (dir.exists()) { - if (!RsUrlHandler::openUrl(QUrl::fromLocalFile(dir.absolutePath()))) { - if(!mUsedAsEditor) - QMessageBox::warning(this, "", QString("%1 %2").arg(tr("Can't open folder"), dir.absolutePath())); - else - RsErr() << "Can't open folder " << dir.absolutePath().toStdString() ; + QFileInfo finfo; + finfo.setFile(QString::fromUtf8(fileInfo.path.c_str())); - } - } + /* open folder with a suitable application */ + if (!RsUrlHandler::openUrl(QUrl::fromLocalFile(finfo.absolutePath()))) { + if(!mUsedAsEditor) + QMessageBox::warning(this, "", QString("%1 %2").arg(tr("Can't open folder"), finfo.absolutePath())); + else + RsErr() << "Can't open folder " << finfo.absolutePath().toStdString() ; + } +} + +bool GxsChannelFilesStatusWidget::haveFile(FileInfo& info) +{ + bool already_has_file = rsFiles->alreadyHaveFile(mFile.mHash, info); + + if(!already_has_file) + if(!(rsFiles->FileDetails(mFile.mHash, RS_FILE_HINTS_DOWNLOAD | RS_FILE_HINTS_SPEC_ONLY, info) && info.downloadStatus==FT_STATE_COMPLETE)) + return false; + + // We need the code below because FileDetails() returns fileInfo.path as the directory when the file in COMPLETE and + // as a full path when the file is shared. The former is inconsistent with the documentation in rstypes.h, but I'm not + // sure what are the implications of changing the code in libretroshare so that the full path is always returned. + + QFileInfo finfo; + + if(QDir(QString::fromUtf8(info.path.c_str())).exists()) + finfo.setFile(QString::fromUtf8(info.path.c_str()),QString::fromUtf8(info.fname.c_str())); + else if(QFile(QString::fromUtf8(info.path.c_str())).exists()) + finfo.setFile(QString::fromUtf8(info.path.c_str())); + else + { + RsErr() << "Cannot find file!" << std::endl; + return false; + } + + info.path = finfo.absoluteFilePath().toStdString(); + return true; } void GxsChannelFilesStatusWidget::openFile() { FileInfo fileInfo; - if (!rsFiles->alreadyHaveFile(mFile.mHash, fileInfo)) { + if(!haveFile(fileInfo)) return; - } - /* open file with a suitable application */ - QFileInfo qinfo; - qinfo.setFile(QString::fromUtf8(fileInfo.path.c_str())); - if (qinfo.exists()) { - if (!RsUrlHandler::openUrl(QUrl::fromLocalFile(qinfo.absoluteFilePath()))) { + QFileInfo finfo; + finfo.setFile(QString::fromUtf8(fileInfo.path.c_str())); + + if (finfo.exists()) { + if (!RsUrlHandler::openUrl(QUrl::fromLocalFile(finfo.absoluteFilePath()))) { std::cerr << "GxsChannelFilesStatusWidget(): can't open file " << fileInfo.path << std::endl; } }else{ diff --git a/retroshare-gui/src/gui/gxschannels/GxsChannelFilesStatusWidget.h b/retroshare-gui/src/gui/gxschannels/GxsChannelFilesStatusWidget.h index 7ae09ce6b..0dbb5c072 100644 --- a/retroshare-gui/src/gui/gxschannels/GxsChannelFilesStatusWidget.h +++ b/retroshare-gui/src/gui/gxschannels/GxsChannelFilesStatusWidget.h @@ -53,6 +53,7 @@ private slots: private: void setSize(uint64_t size); + bool haveFile(FileInfo& info); private: enum State diff --git a/retroshare-gui/src/gui/gxschannels/GxsChannelFilesStatusWidget.ui b/retroshare-gui/src/gui/gxschannels/GxsChannelFilesStatusWidget.ui index 2c51ded6c..e8ee2d512 100644 --- a/retroshare-gui/src/gui/gxschannels/GxsChannelFilesStatusWidget.ui +++ b/retroshare-gui/src/gui/gxschannels/GxsChannelFilesStatusWidget.ui @@ -6,8 +6,8 @@ 0 0 - 421 - 29 + 473 + 36 @@ -139,7 +139,7 @@ - + 0 From d95518d17e190b804d3b7e905cff91391c0d69bf Mon Sep 17 00:00:00 2001 From: csoler Date: Sat, 1 Jul 2023 18:06:12 +0200 Subject: [PATCH 15/65] fixed DL output path in DL list --- retroshare-gui/src/gui/FileTransfer/TransfersDialog.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/retroshare-gui/src/gui/FileTransfer/TransfersDialog.cpp b/retroshare-gui/src/gui/FileTransfer/TransfersDialog.cpp index aa9b50298..83e3219c3 100644 --- a/retroshare-gui/src/gui/FileTransfer/TransfersDialog.cpp +++ b/retroshare-gui/src/gui/FileTransfer/TransfersDialog.cpp @@ -442,7 +442,7 @@ public: { QString strPath = QString::fromUtf8(fileInfo.path.c_str()); QString strPathAfterDL = strPath; - strPathAfterDL.replace(QString::fromUtf8(rsFiles->getDownloadDirectory().c_str()),""); + strPathAfterDL.replace(QString::fromUtf8(rsFiles->getDownloadDirectory().c_str()),"[Download Dir]"); return QVariant(strPathAfterDL); } From b4d6a7b4e47aea081b337d6d6a79e14fbaf32e39 Mon Sep 17 00:00:00 2001 From: csoler Date: Sat, 1 Jul 2023 23:18:51 +0200 Subject: [PATCH 16/65] fixed sorting of files in channels/post/files --- .../src/gui/gxschannels/GxsChannelPostFilesModel.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/retroshare-gui/src/gui/gxschannels/GxsChannelPostFilesModel.cpp b/retroshare-gui/src/gui/gxschannels/GxsChannelPostFilesModel.cpp index 54b787e65..0796b6ce1 100644 --- a/retroshare-gui/src/gui/gxschannels/GxsChannelPostFilesModel.cpp +++ b/retroshare-gui/src/gui/gxschannels/GxsChannelPostFilesModel.cpp @@ -348,7 +348,14 @@ public: if(r1 && r2) return (ord==Qt::AscendingOrder)?(fi1.transferedfi2.transfered); else + { + FileInfo fitmp; + + if(!r1 && rsFiles->alreadyHaveFile(f1.mHash,fitmp)) fi1.downloadStatus = FT_STATE_COMPLETE; + if(!r2 && rsFiles->alreadyHaveFile(f2.mHash,fitmp)) fi2.downloadStatus = FT_STATE_COMPLETE; + return (ord==Qt::AscendingOrder)?(fi1.downloadStatusfi2.downloadStatus); + } } } From 3cc077ff381dbf64687ed2d3abf04d0d29921675 Mon Sep 17 00:00:00 2001 From: PYRET1C <88980503+PYRET1C@users.noreply.github.com> Date: Sun, 2 Jul 2023 10:42:40 +0530 Subject: [PATCH 17/65] Changes to the .pro file for the newly made files. --- .../src/gui/TheWire/CustomFrame.cpp | 19 + retroshare-gui/src/gui/TheWire/CustomFrame.h | 19 + .../src/gui/TheWire/PulseViewGroup.cpp | 2 +- .../src/gui/TheWire/PulseViewGroup.ui | 6 +- retroshare-gui/src/retroshare-gui.pro | 3012 +++++++++-------- 5 files changed, 1551 insertions(+), 1507 deletions(-) diff --git a/retroshare-gui/src/gui/TheWire/CustomFrame.cpp b/retroshare-gui/src/gui/TheWire/CustomFrame.cpp index 20059222d..e08e03895 100644 --- a/retroshare-gui/src/gui/TheWire/CustomFrame.cpp +++ b/retroshare-gui/src/gui/TheWire/CustomFrame.cpp @@ -1,3 +1,22 @@ +/******************************************************************************* + * gui/TheWire/CustomFrame.cpp * + * * + * Copyright (c) 2012-2020 Robert Fernie * + * * + * This program is free software: you can redistribute it and/or modify * + * it under the terms of the GNU Affero General Public License as * + * published by the Free Software Foundation, either version 3 of the * + * License, or (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU Affero General Public License for more details. * + * * + * You should have received a copy of the GNU Affero General Public License * + * along with this program. If not, see . * + * * + *******************************************************************************/ #include "CustomFrame.h" #include diff --git a/retroshare-gui/src/gui/TheWire/CustomFrame.h b/retroshare-gui/src/gui/TheWire/CustomFrame.h index ebe2bfa8c..b0abd131b 100644 --- a/retroshare-gui/src/gui/TheWire/CustomFrame.h +++ b/retroshare-gui/src/gui/TheWire/CustomFrame.h @@ -1,3 +1,22 @@ +/******************************************************************************* + * gui/TheWire/CustomFrame.h * + * * + * Copyright (c) 2012-2020 Robert Fernie * + * * + * This program is free software: you can redistribute it and/or modify * + * it under the terms of the GNU Affero General Public License as * + * published by the Free Software Foundation, either version 3 of the * + * License, or (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU Affero General Public License for more details. * + * * + * You should have received a copy of the GNU Affero General Public License * + * along with this program. If not, see . * + * * + *******************************************************************************/ #ifndef CUSTOMFRAMEH_H #define CUSTOMFRAMEH_H diff --git a/retroshare-gui/src/gui/TheWire/PulseViewGroup.cpp b/retroshare-gui/src/gui/TheWire/PulseViewGroup.cpp index 56c4eabdc..cf7b4cfca 100644 --- a/retroshare-gui/src/gui/TheWire/PulseViewGroup.cpp +++ b/retroshare-gui/src/gui/TheWire/PulseViewGroup.cpp @@ -65,7 +65,7 @@ void PulseViewGroup::setup() QSize frameSize = frame_masthead->size(); // Scale the pixmap based on the frame size - pixmap = pixmap.scaled(frameSize, Qt::KeepAspectRatio, Qt::SmoothTransformation); + pixmap = pixmap.scaledToWidth(frameSize.width(), Qt::SmoothTransformation); frame_masthead->setPixmap(pixmap); } } diff --git a/retroshare-gui/src/gui/TheWire/PulseViewGroup.ui b/retroshare-gui/src/gui/TheWire/PulseViewGroup.ui index 39183123e..96f717656 100644 --- a/retroshare-gui/src/gui/TheWire/PulseViewGroup.ui +++ b/retroshare-gui/src/gui/TheWire/PulseViewGroup.ui @@ -50,7 +50,7 @@ - + 0 @@ -569,11 +569,11 @@ - + CustomFrame QFrame -
D:\new\RetroShare\retroshare-gui\src\gui\TheWire\CustomFrame.h
+
gui/TheWire/CustomFrame.h
1
diff --git a/retroshare-gui/src/retroshare-gui.pro b/retroshare-gui/src/retroshare-gui.pro index b8e8365e0..72d7d028e 100644 --- a/retroshare-gui/src/retroshare-gui.pro +++ b/retroshare-gui/src/retroshare-gui.pro @@ -1,1503 +1,1509 @@ -################################################################################ -# uselibresapi.pri # -# Copyright (C) 2018, Retroshare team # -# # -# This program is free software: you can redistribute it and/or modify # -# it under the terms of the GNU Affero General Public License as # -# published by the Free Software Foundation, either version 3 of the # -# License, or (at your option) any later version. # -# # -# This program is distributed in the hope that it will be useful, # -# but WITHOUT ANY WARRANTY; without even the implied warranty of # -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # -# GNU Affero General Public License for more details. # -# # -# You should have received a copy of the GNU Affero General Public License # -# along with this program. If not, see . # -################################################################################ - -!include("../../retroshare.pri"): error("Could not include file ../../retroshare.pri") - -TEMPLATE = app -QT += network xml -CONFIG += qt gui uic qrc resources idle -CONFIG += console -TARGET = retroshare -DEFINES += TARGET=\\\"$${TARGET}\\\" - -DEPENDPATH *= $${PWD} $${RS_INCLUDE_DIR} -INCLUDEPATH *= $${PWD} - -!include("../../libretroshare/src/use_libretroshare.pri"):error("Including") - -rs_webui { -rs_jsonapi { - HEADERS *= gui/settings/WebuiPage.h - SOURCES *= gui/settings/WebuiPage.cpp - FORMS *= gui/settings/WebuiPage.ui -} -} - -rs_jsonapi { - HEADERS *= gui/settings/JsonApiPage.h - SOURCES *= gui/settings/JsonApiPage.cc - FORMS *= gui/settings/JsonApiPage.ui -} - -# Auto detect installed version of cmark -rs_gui_cmark { - DEFINES *= USE_CMARK - no_rs_cross_compiling { - message("Using compiled cmark") - CMARK_SRC_PATH=$$clean_path($${RS_SRC_PATH}/supportlibs/cmark) - CMARK_BUILD_PATH=$$clean_path($${RS_BUILD_PATH}/supportlibs/cmark/build) - INCLUDEPATH *= $$clean_path($${CMARK_SRC_PATH}/src/) - DEPENDPATH *= $$clean_path($${CMARK_SRC_PATH}/src/) - QMAKE_LIBDIR *= $$clean_path($${CMARK_BUILD_PATH}/) - # Using sLibs would fail as libcmark.a is generated at compile-time - LIBS *= -L$$clean_path($${CMARK_BUILD_PATH}/src/) -lcmark - - DUMMYCMARKINPUT = FORCE - CMAKE_GENERATOR_OVERRIDE="" - win32-g++|win32-clang-g++:CMAKE_GENERATOR_OVERRIDE="-G \"MSYS Makefiles\"" - gencmarklib.name = Generating libcmark. - gencmarklib.input = DUMMYCMARKINPUT - gencmarklib.output = $$clean_path($${CMARK_BUILD_PATH}/src/libcmark.a) - gencmarklib.CONFIG += target_predeps combine - gencmarklib.variable_out = PRE_TARGETDEPS - gencmarklib.commands = \ - cd $${RS_SRC_PATH} && ( \ - git submodule update --init supportlibs/cmark ; \ - cd $${CMARK_SRC_PATH} ; \ - true ) && \ - mkdir -p $${CMARK_BUILD_PATH} && cd $${CMARK_BUILD_PATH} && \ - cmake \ - -DCMAKE_CXX_COMPILER=$$QMAKE_CXX \ - \"-DCMAKE_CXX_FLAGS=$${QMAKE_CXXFLAGS}\" \ - $${CMAKE_GENERATOR_OVERRIDE} \ - -DCMAKE_INSTALL_PREFIX=. \ - -B. \ - -H$$shell_path($${CMARK_SRC_PATH}) && \ - $(MAKE) - QMAKE_EXTRA_COMPILERS += gencmarklib - } else { - message("Using systems cmark") - sLibs *= libcmark - } -} - -FORMS += TorControl/TorControlWindow.ui -SOURCES += TorControl/TorControlWindow.cpp -HEADERS += TorControl/TorControlWindow.h - -#QMAKE_CFLAGS += -fmudflap -#LIBS *= /usr/lib/gcc/x86_64-linux-gnu/4.4/libmudflap.a /usr/lib/gcc/x86_64-linux-gnu/4.4/libmudflapth.a - -greaterThan(QT_MAJOR_VERSION, 4) { - # Qt 5 - QT += widgets multimedia printsupport - linux-* { - QT += x11extras - } -} else { - # Qt 4 - CONFIG += uitools -} - -CONFIG += identities -CONFIG += gxsforums -CONFIG += gxschannels -CONFIG += posted -CONFIG += gxsgui -CONFIG += gxscircles - -# Other Disabled Bits. -#CONFIG += framecatcher - -## To enable unfinished services -#CONFIG += wikipoos -#CONFIG += gxsthewire -#CONFIG += gxsphotoshare - -DEFINES += RS_RELEASE_VERSION -RCC_DIR = temp/qrc -UI_DIR = temp/ui -MOC_DIR = temp/moc - -################################# Linux ########################################## -# Put lib dir in QMAKE_LFLAGS so it appears before -L/usr/lib -linux-* { - CONFIG += link_pkgconfig - - #CONFIG += version_detail_bash_script - QMAKE_CXXFLAGS *= -D_FILE_OFFSET_BITS=64 - - PKGCONFIG *= x11 xscrnsaver - - LIBS *= -rdynamic - DEFINES *= HAVE_XSS # for idle time, libx screensaver extensions -} - -rs_sanitize { - LIBS *= -lasan -lubsan -} - -unix { - target.path = "$${BIN_DIR}" - INSTALLS += target - - data_files.path="$${RS_DATA_DIR}/" - data_files.files=sounds qss - INSTALLS += data_files - - style_files.path="$${RS_DATA_DIR}/stylesheets" - style_files.files=gui/qss/chat/Bubble gui/qss/chat/Bubble_Compact - INSTALLS += style_files - - icon_files.path = "$${PREFIX}/share/icons/hicolor" - icon_files.files = ../../data/24x24 - icon_files.files += ../../data/48x48 - icon_files.files += ../../data/64x64 - icon_files.files += ../../data/128x128 - INSTALLS += icon_files - - desktop_files.path = "$${PREFIX}/share/applications" - desktop_files.files = ../../data/retroshare.desktop - INSTALLS += desktop_files - - pixmap_files.path = "$${PREFIX}/share/pixmaps" - pixmap_files.files = ../../data/retroshare.xpm - INSTALLS += pixmap_files - -} - -linux-g++ { - OBJECTS_DIR = temp/linux-g++/obj -} - -linux-g++-64 { - OBJECTS_DIR = temp/linux-g++-64/obj -} - -version_detail_bash_script { - warning("Version detail script is deprecated.") - warning("Remove references to version_detail_bash_script from all of your build scripts!") -} - -#################### Cross compilation for windows under Linux ################### - -win32-x-g++ { - OBJECTS_DIR = temp/win32-x-g++/obj - - LIBS += ../../../../lib/win32-x-g++-v0.5/libssl.a - LIBS += ../../../../lib/win32-x-g++-v0.5/libcrypto.a - LIBS += ../../../../lib/win32-x-g++-v0.5/libgpgme.dll.a - LIBS += ../../../../lib/win32-x-g++-v0.5/libminiupnpc.a - LIBS += ../../../../lib/win32-x-g++-v0.5/libz.a - LIBS += -L${HOME}/.wine/drive_c/pthreads/lib -lpthreadGCE2 - LIBS += -lQtUiTools - LIBS += -lws2_32 -luuid -lole32 -liphlpapi -lcrypt32 -gdi32 - LIBS += -lole32 -lwinmm - - DEFINES *= WINDOWS_SYS WIN32 WIN32_CROSS_UBUNTU - - INCLUDEPATH += ../../../../gpgme-1.1.8/src/ - INCLUDEPATH += ../../../../libgpg-error-1.7/src/ - - RC_FILE = gui/images/retroshare_win.rc -} - -#################################### Windows ##################################### - -win32-g++|win32-clang-g++ { - CONFIG(debug, debug|release) { - # show console output - CONFIG += console - } else { - CONFIG -= console - } - - CONFIG(debug, debug|release) { - } else { - # Tell linker to use ASLR protection - QMAKE_LFLAGS += -Wl,-dynamicbase - # Tell linker to use DEP protection - QMAKE_LFLAGS += -Wl,-nxcompat - } - - # Fix linking error (ld.exe: Error: export ordinal too large) due to too - # many exported symbols. - !libretroshare_shared:QMAKE_LFLAGS+=-Wl,--exclude-libs,ALL - - # Switch off optimization for release version - QMAKE_CXXFLAGS_RELEASE -= -O2 - QMAKE_CXXFLAGS_RELEASE += -O0 - QMAKE_CFLAGS_RELEASE -= -O2 - QMAKE_CFLAGS_RELEASE += -O0 - - # Switch on optimization for debug version - #QMAKE_CXXFLAGS_DEBUG += -O2 - #QMAKE_CFLAGS_DEBUG += -O2 - - OBJECTS_DIR = temp/obj - - dLib = ws2_32 gdi32 uuid ole32 iphlpapi crypt32 winmm - LIBS *= $$linkDynamicLibs(dLib) - - RC_FILE = gui/images/retroshare_win.rc - - # export symbols for the plugins - LIBS += -Wl,--export-all-symbols,--out-implib,lib/libretroshare-gui.a - - # create lib directory - isEmpty(QMAKE_SH) { - QMAKE_PRE_LINK = $(CHK_DIR_EXISTS) lib $(MKDIR) lib - } else { - QMAKE_PRE_LINK = $(CHK_DIR_EXISTS) lib || $(MKDIR) lib - } - - greaterThan(QT_MAJOR_VERSION, 4) { - # Qt 5 - RC_INCLUDEPATH += $$_PRO_FILE_PWD_/../../libretroshare/src - } else { - # Qt 4 - QMAKE_RC += --include-dir=$$_PRO_FILE_PWD_/../../libretroshare/src - } -} - -##################################### MacOS ###################################### - -macx { - # ENABLE THIS OPTION FOR Univeral Binary BUILD. - #CONFIG += ppc x86 - #QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.4 - QMAKE_INFO_PLIST = Info.plist - mac_icon.files = $$files($$PWD/rsMacIcon.icns) - mac_icon.path = Contents/Resources - QMAKE_BUNDLE_DATA += mac_icon - dplQSS.files = $$PWD/qss - dplQSS.path = Contents/Resources - QMAKE_BUNDLE_DATA += dplQSS - dplChatStyles.files = \ - $$PWD/gui/qss/chat/Bubble \ - $$PWD/gui/qss/chat/Bubble_Compact - dplChatStyles.path = Contents/Resources/stylesheets - QMAKE_BUNDLE_DATA += dplChatStyles -# mac_webui.files = $$files($$PWD/../../libresapi/src/webui) -# mac_webui.path = Contents/Resources -# QMAKE_BUNDLE_DATA += mac_webui - - OBJECTS_DIR = temp/obj - - CONFIG += version_detail_bash_script - LIBS += -lssl -lcrypto -lz - for(lib, LIB_DIR):exists($$lib/libminiupnpc.a){ LIBS += $$lib/libminiupnpc.a} - LIBS += -framework CoreFoundation - LIBS += -framework Security - LIBS += -framework Carbon - - for(lib, LIB_DIR):LIBS += -L"$$lib" - for(bin, BIN_DIR):LIBS += -L"$$bin" - - DEPENDPATH += . $$INC_DIR - INCLUDEPATH += . $$INC_DIR - - #DEFINES *= MAC_IDLE # for idle feature - CONFIG -= uitools -} - -##################################### FreeBSD ###################################### - -freebsd-* { - INCLUDEPATH *= /usr/local/include/gpgme - LIBS *= -lssl - LIBS *= -lgpgme - LIBS *= -lupnp - LIBS *= -lgnome-keyring - - LIBS += -lsqlite3 -} - -##################################### Haiku ###################################### - -haiku-* { - PRE_TARGETDEPS *= ../../libretroshare/src/lib/libretroshare.a - PRE_TARGETDEPS *= ../../openpgpsdk/src/lib/libops.a - - LIBS *= ../../libretroshare/src/lib/libretroshare.a - LIBS *= ../../openpgpsdk/src/lib/libops.a -lbz2 -lbsd - LIBS *= -lssl -lcrypto -lnetwork - LIBS *= -lgpgme - LIBS *= -lupnp - LIBS *= -lz - LIBS *= -lixml - - LIBS += ../../supportlibs/pegmarkdown/lib/libpegmarkdown.a - LIBS += -lsqlite3 -} - -##################################### OpenBSD ###################################### - -openbsd-* { - INCLUDEPATH *= /usr/local/include - - LIBS *= -lssl -lcrypto - LIBS *= -lgpgme - LIBS *= -lupnp - LIBS *= -lgnome-keyring - LIBS += -lsqlite3 - LIBS *= -rdynamic -} - -################################### COMMON stuff ################################## - -wikipoos { - PRE_TARGETDEPS *= $$OUT_PWD/../../supportlibs/pegmarkdown/lib/libpegmarkdown.a - LIBS *= $$OUT_PWD/../../supportlibs/pegmarkdown/lib/libpegmarkdown.a - LIBS *= -lglib-2.0 -} - -################################### HEADERS & SOURCES ############################# - -# Input -HEADERS += rshare.h \ - retroshare-gui/configpage.h \ - retroshare-gui/RsAutoUpdatePage.h \ - retroshare-gui/mainpage.h \ - gui/notifyqt.h \ - control/bandwidthevent.h \ - control/eventtype.h \ - gui/QuickStartWizard.h \ - gui/StartDialog.h \ - gui/HomePage.h\ - gui/NetworkDialog.h \ - gui/GenCertDialog.h \ - gui/linetypes.h \ - gui/mainpagestack.h \ - gui/MainWindow.h \ - gui/RSHumanReadableDelegate.h \ - gui/AboutDialog.h \ - gui/AboutWidget.h \ - gui/NetworkView.h \ - gui/FriendsDialog.h \ - gui/ServicePermissionDialog.h \ - gui/RemoteDirModel.h \ - gui/RetroShareLink.h \ - gui/SearchTreeWidget.h \ - gui/ShareManager.h \ -# gui/ShareDialog.h \ -# gui/SFListDelegate.h \ - gui/SoundManager.h \ - gui/HelpDialog.h \ - gui/LogoBar.h \ - gui/common/AvatarDialog.h \ - gui/FileTransfer/SearchDialog.h \ - gui/FileTransfer/SharedFilesDialog.h \ - gui/FileTransfer/xprogressbar.h \ - gui/FileTransfer/DetailsDialog.h \ - gui/FileTransfer/FileTransferInfoWidget.h \ - gui/FileTransfer/DLListDelegate.h \ - gui/FileTransfer/ULListDelegate.h \ - gui/FileTransfer/TransfersDialog.h \ - gui/FileTransfer/BannedFilesDialog.h \ - gui/statistics/TurtleRouterDialog.h \ - gui/statistics/TurtleRouterStatistics.h \ - gui/statistics/GxsIdStatistics.h \ - gui/statistics/dhtgraph.h \ - gui/statistics/Histogram.h \ - gui/statistics/BandwidthGraphWindow.h \ - gui/statistics/turtlegraph.h \ - gui/statistics/BandwidthStatsWidget.h \ - gui/statistics/DhtWindow.h \ - gui/statistics/GlobalRouterStatistics.h \ - gui/statistics/GxsTransportStatistics.h \ - gui/statistics/StatisticsWindow.h \ - gui/statistics/BwCtrlWindow.h \ - gui/statistics/RttStatistics.h \ - gui/FileTransfer/TransferUserNotify.h \ - gui/plugins/PluginInterface.h \ - gui/im_history/ImHistoryBrowser.h \ - gui/im_history/IMHistoryItemDelegate.h \ - gui/im_history/IMHistoryItemPainter.h \ - lang/languagesupport.h \ - util/RsProtectedTimer.h \ - util/stringutil.h \ - util/RsNetUtil.h \ - util/DateTime.h \ - util/RetroStyleLabel.h \ - util/dllexport.h \ - util/NonCopyable.h \ - util/rsutildll.h \ - util/dllexport.h \ - util/global.h \ - util/rsqtutildll.h \ -# util/Interface.h \ - util/PixmapMerging.h \ - util/MouseEventFilter.h \ - util/EventFilter.h \ - util/Widget.h \ - util/RsAction.h \ - util/RsUserdata.h \ - util/printpreview.h \ - util/log.h \ - util/misc.h \ - util/HandleRichText.h \ - util/ObjectPainter.h \ - util/QtVersion.h \ - util/RsFile.h \ - util/qtthreadsutils.h \ - util/ClickableLabel.h \ - util/AspectRatioPixmapLabel.h \ - gui/profile/ProfileWidget.h \ - gui/profile/ProfileManager.h \ - gui/profile/StatusMessage.h \ - gui/chat/PopupChatWindow.h \ - gui/chat/PopupChatDialog.h \ - gui/chat/PopupDistantChatDialog.h \ - gui/chat/ChatTabWidget.h \ - gui/chat/ChatWidget.h \ - gui/chat/ChatDialog.h \ - gui/ChatLobbyWidget.h \ - gui/chat/ChatLobbyDialog.h \ - gui/chat/CreateLobbyDialog.h \ - gui/chat/ChatStyle.h \ - gui/chat/ChatUserNotify.h \ - gui/chat/ChatLobbyUserNotify.h \ - gui/connect/ConfCertDialog.h \ - gui/connect/PGPKeyDialog.h \ - gui/connect/FriendRecommendDialog.h \ - gui/msgs/MessagesDialog.h \ - gui/msgs/MessageInterface.h \ - gui/msgs/MessageComposer.h \ - gui/msgs/MessageWindow.h \ - gui/msgs/MessageWidget.h \ - gui/msgs/MessageModel.h \ - gui/msgs/TagsMenu.h \ - gui/msgs/textformat.h \ - gui/msgs/MessageUserNotify.h \ - gui/images/retroshare_win.rc.h \ - gui/settings/RSPermissionMatrixWidget.h \ - gui/settings/rsharesettings.h \ - gui/settings/RsharePeerSettings.h \ - gui/settings/rsettings.h \ - gui/settings/rsettingswin.h \ - gui/settings/GeneralPage.h \ - gui/settings/PeoplePage.h \ - gui/settings/AboutPage.h \ - gui/settings/ServerPage.h \ - gui/settings/NotifyPage.h \ - gui/settings/CryptoPage.h \ - gui/settings/MessagePage.h \ - gui/settings/NewTag.h \ - gui/settings/ForumPage.h \ - gui/settings/PluginsPage.h \ - gui/settings/PluginItem.h \ - gui/settings/AppearancePage.h \ - gui/settings/FileAssociationsPage.h \ - gui/settings/SoundPage.h \ - gui/settings/TransferPage.h \ - gui/settings/ChatPage.h \ - gui/settings/ChannelPage.h \ - gui/settings/PostedPage.h \ - gui/settings/ServicePermissionsPage.h \ - gui/settings/AddFileAssociationDialog.h \ - gui/settings/GroupFrameSettingsWidget.h \ - gui/toaster/ToasterItem.h \ - gui/toaster/MessageToaster.h \ - gui/toaster/OnlineToaster.h \ - gui/toaster/DownloadToaster.h \ - gui/toaster/ChatToaster.h \ - gui/toaster/GroupChatToaster.h \ - gui/toaster/ChatLobbyToaster.h \ - gui/toaster/FriendRequestToaster.h \ - gui/common/RsButtonOnText.h \ - gui/common/RSGraphWidget.h \ - gui/common/ElidedLabel.h \ - gui/common/vmessagebox.h \ - gui/common/RsUrlHandler.h \ - gui/common/RsCollectionDialog.h \ - gui/common/rwindow.h \ - gui/common/rshtml.h \ - gui/common/AvatarDefs.h \ - gui/common/GroupFlagsWidget.h \ - gui/common/GroupSelectionBox.h \ - gui/common/GroupChooser.h \ - gui/common/StatusDefs.h \ - gui/common/TagDefs.h \ - gui/common/GroupDefs.h \ - gui/common/Emoticons.h \ - gui/common/RSComboBox.h \ - gui/common/RSListWidgetItem.h \ - gui/common/RSTextEdit.h \ - gui/common/RSPlainTextEdit.h \ - gui/common/RSTreeWidget.h \ - gui/common/RSTreeWidgetItem.h \ - gui/common/RSFeedWidget.h \ - gui/common/RSTabWidget.h \ - gui/common/RSElidedItemDelegate.h \ - gui/common/RSItemDelegate.h \ - gui/common/PeerDefs.h \ - gui/common/FilesDefs.h \ - gui/common/PopularityDefs.h \ - gui/common/RsBanListDefs.h \ - gui/common/GroupTreeWidget.h \ - gui/common/RSTreeView.h \ - gui/common/AvatarWidget.h \ - gui/common/FriendListModel.h \ - gui/common/NewFriendList.h \ - gui/common/FriendSelectionWidget.h \ - gui/common/FriendSelectionDialog.h \ - gui/common/HashBox.h \ - gui/common/LineEditClear.h \ - gui/common/DropLineEdit.h \ - gui/common/RSTextBrowser.h \ - gui/common/RSImageBlockWidget.h \ - gui/common/FeedNotify.h \ - gui/common/UserNotify.h \ - gui/common/HeaderFrame.h \ - gui/common/MimeTextEdit.h \ - gui/common/UIStateHelper.h \ - gui/common/FloatingHelpBrowser.h \ - gui/common/SubscribeToolButton.h \ - gui/common/RsBanListToolButton.h \ - gui/common/FlowLayout.h \ - gui/common/PictureFlow.h \ - gui/common/ToasterNotify.h \ - gui/style/RSStyle.h \ - gui/style/StyleDialog.h \ - gui/help/browser/helpbrowser.h \ - gui/help/browser/helptextbrowser.h \ - gui/statusbar/peerstatus.h \ - gui/statusbar/natstatus.h \ - gui/statusbar/dhtstatus.h \ - gui/statusbar/torstatus.h \ - gui/statusbar/ratesstatus.h \ - gui/statusbar/hashingstatus.h \ - gui/statusbar/discstatus.h \ - gui/statusbar/SoundStatus.h \ - gui/statusbar/OpModeStatus.h \ - gui/statusbar/ToasterDisable.h \ - gui/statusbar/SysTrayStatus.h \ - gui/advsearch/advancedsearchdialog.h \ - gui/advsearch/expressionwidget.h \ - gui/advsearch/guiexprelement.h \ - gui/elastic/graphwidget.h \ - gui/elastic/edge.h \ - gui/elastic/arrow.h \ - gui/elastic/elnode.h \ - gui/NewsFeed.h \ - gui/feeds/BoardsCommentsItem.h \ - gui/feeds/FeedItem.h \ - gui/feeds/FeedHolder.h \ - gui/feeds/GxsCircleItem.h \ - gui/feeds/ChannelsCommentsItem.h \ - gui/feeds/PeerItem.h \ - gui/feeds/MsgItem.h \ - gui/feeds/ChatMsgItem.h \ - gui/feeds/SubFileItem.h \ - gui/feeds/AttachFileItem.h \ - gui/feeds/SecurityItem.h \ - gui/feeds/SecurityIpItem.h \ - gui/feeds/NewsFeedUserNotify.h \ - gui/connect/ConnectFriendWizard.h \ - gui/connect/ConnectProgressDialog.h \ - gui/groups/CreateGroup.h \ - gui/GetStartedDialog.h \ - gui/statistics/BWGraph.h \ - util/RsSyntaxHighlighter.h \ - util/imageutil.h \ - util/RichTextEdit.h \ - gui/NetworkDialog/pgpid_item_model.h \ - gui/NetworkDialog/pgpid_item_proxy.h \ - gui/common/RsCollection.h \ - util/retroshareWin32.h -# gui/ForumsDialog.h \ -# gui/forums/ForumDetails.h \ -# gui/forums/EditForumDetails.h \ -# gui/forums/CreateForum.h \ -# gui/forums/CreateForumMsg.h \ -# gui/forums/ForumUserNotify.h \ -# gui/feeds/ForumNewItem.h \ -# gui/feeds/ForumMsgItem.h \ -# gui/ChannelFeed.h \ -# gui/feeds/ChanNewItem.h \ -# gui/feeds/ChanMsgItem.h \ -# gui/channels/CreateChannel.h \ -# gui/channels/ChannelDetails.h \ -# gui/channels/CreateChannelMsg.h \ -# gui/channels/EditChanDetails.h \ -# gui/channels/ChannelUserNotify.h \ - -FORMS += gui/StartDialog.ui \ - gui/HomePage.ui\ - gui/GenCertDialog.ui \ - gui/AboutDialog.ui \ - gui/AboutWidget.ui \ - gui/QuickStartWizard.ui \ - gui/NetworkDialog.ui \ - gui/common/AvatarDialog.ui \ - gui/FileTransfer/TransfersDialog.ui \ - gui/FileTransfer/DetailsDialog.ui \ - gui/FileTransfer/SearchDialog.ui \ - gui/FileTransfer/SharedFilesDialog.ui \ - gui/FileTransfer/BannedFilesDialog.ui \ - gui/MainWindow.ui \ - gui/NetworkView.ui \ - gui/FriendsDialog.ui \ - gui/ShareManager.ui \ -# gui/ShareDialog.ui \ - gui/help/browser/helpbrowser.ui \ - gui/HelpDialog.ui \ - gui/ServicePermissionDialog.ui \ - gui/profile/ProfileWidget.ui \ - gui/profile/StatusMessage.ui \ - gui/profile/ProfileManager.ui \ - gui/chat/PopupChatWindow.ui \ - gui/chat/PopupChatDialog.ui \ - gui/chat/ChatTabWidget.ui \ - gui/chat/ChatWidget.ui \ - gui/chat/ChatLobbyDialog.ui \ - gui/chat/CreateLobbyDialog.ui \ - gui/ChatLobbyWidget.ui \ - gui/connect/ConfCertDialog.ui \ - gui/connect/PGPKeyDialog.ui \ - gui/connect/ConnectFriendWizard.ui \ - gui/connect/ConnectProgressDialog.ui \ - gui/connect/FriendRecommendDialog.ui \ - gui/msgs/MessagesDialog.ui \ - gui/msgs/MessageComposer.ui \ - gui/msgs/MessageWindow.ui\ - gui/msgs/MessageWidget.ui\ - gui/settings/settingsw.ui \ - gui/settings/GeneralPage.ui \ - gui/settings/ServerPage.ui \ - gui/settings/NotifyPage.ui \ - gui/settings/PeoplePage.ui \ - gui/settings/CryptoPage.ui \ - gui/settings/MessagePage.ui \ - gui/settings/NewTag.ui \ - gui/settings/ForumPage.ui \ - gui/settings/AboutPage.ui \ - gui/settings/PluginsPage.ui \ - gui/settings/AppearancePage.ui \ - gui/settings/TransferPage.ui \ - gui/settings/SoundPage.ui \ - gui/settings/ChatPage.ui \ - gui/settings/ChannelPage.ui \ - gui/settings/PostedPage.ui \ - gui/settings/ServicePermissionsPage.ui \ - gui/settings/PluginItem.ui \ - gui/settings/GroupFrameSettingsWidget.ui \ - gui/toaster/MessageToaster.ui \ - gui/toaster/OnlineToaster.ui \ - gui/toaster/DownloadToaster.ui \ - gui/toaster/ChatToaster.ui \ - gui/toaster/GroupChatToaster.ui \ - gui/toaster/ChatLobbyToaster.ui \ - gui/toaster/FriendRequestToaster.ui \ - gui/advsearch/AdvancedSearchDialog.ui \ - gui/advsearch/expressionwidget.ui \ - gui/NewsFeed.ui \ - gui/feeds/BoardsCommentsItem.ui \ - gui/feeds/GxsCircleItem.ui \ - gui/feeds/ChannelsCommentsItem.ui \ - gui/feeds/PeerItem.ui \ - gui/feeds/MsgItem.ui \ - gui/feeds/ChatMsgItem.ui \ - gui/feeds/SubFileItem.ui \ - gui/feeds/AttachFileItem.ui \ - gui/feeds/SecurityItem.ui \ - gui/feeds/SecurityIpItem.ui \ - gui/im_history/ImHistoryBrowser.ui \ - gui/groups/CreateGroup.ui \ - gui/common/GroupTreeWidget.ui \ - gui/common/AvatarWidget.ui \ - gui/common/NewFriendList.ui \ - gui/common/FriendSelectionWidget.ui \ - gui/common/HashBox.ui \ - gui/common/RSImageBlockWidget.ui \ - gui/common/RsCollectionDialog.ui \ - gui/common/HeaderFrame.ui \ - gui/common/RSFeedWidget.ui \ - gui/style/StyleDialog.ui \ - gui/statistics/BandwidthGraphWindow.ui \ - gui/statistics/BandwidthStatsWidget.ui \ - gui/statistics/DhtWindow.ui \ - gui/statistics/TurtleRouterDialog.ui \ - gui/statistics/TurtleRouterStatistics.ui \ - gui/statistics/GxsIdStatistics.ui \ - gui/statistics/GlobalRouterStatistics.ui \ - gui/statistics/GxsTransportStatistics.ui \ - gui/statistics/StatisticsWindow.ui \ - gui/statistics/BwCtrlWindow.ui \ - gui/statistics/RttStatistics.ui \ - gui/GetStartedDialog.ui \ - util/RichTextEdit.ui - - -# gui/ForumsDialog.ui \ -# gui/forums/CreateForum.ui \ -# gui/forums/CreateForumMsg.ui \ -# gui/forums/ForumDetails.ui \ -# gui/forums/EditForumDetails.ui \ -# gui/feeds/ForumNewItem.ui \ -# gui/feeds/ForumMsgItem.ui \ -# gui/ChannelFeed.ui \ -# gui/channels/CreateChannel.ui \ -# gui/channels/CreateChannelMsg.ui \ -# gui/channels/ChannelDetails.ui \ -# gui/channels/EditChanDetails.ui \ -# gui/feeds/ChanNewItem.ui \ -# gui/feeds/ChanMsgItem.ui \ - -SOURCES += main.cpp \ - rshare.cpp \ - gui/notifyqt.cpp \ - gui/AboutDialog.cpp \ - gui/AboutWidget.cpp \ - gui/QuickStartWizard.cpp \ - gui/StartDialog.cpp \ - gui/HomePage.cpp\ - gui/GenCertDialog.cpp \ - gui/NetworkDialog.cpp \ - gui/mainpagestack.cpp \ - gui/MainWindow.cpp \ - gui/NetworkView.cpp \ - gui/FriendsDialog.cpp \ - gui/ServicePermissionDialog.cpp \ - gui/RemoteDirModel.cpp \ - gui/RsAutoUpdatePage.cpp \ - gui/RetroShareLink.cpp \ - gui/SearchTreeWidget.cpp \ - gui/ShareManager.cpp \ -# gui/ShareDialog.cpp \ -# gui/SFListDelegate.cpp \ - gui/SoundManager.cpp \ - gui/im_history/ImHistoryBrowser.cpp \ - gui/im_history/IMHistoryItemDelegate.cpp \ - gui/im_history/IMHistoryItemPainter.cpp \ - gui/help/browser/helpbrowser.cpp \ - gui/help/browser/helptextbrowser.cpp \ - gui/FileTransfer/SearchDialog.cpp \ - gui/FileTransfer/SharedFilesDialog.cpp \ - gui/FileTransfer/TransfersDialog.cpp \ - gui/FileTransfer/FileTransferInfoWidget.cpp \ - gui/FileTransfer/DLListDelegate.cpp \ - gui/FileTransfer/ULListDelegate.cpp \ - gui/FileTransfer/xprogressbar.cpp \ - gui/FileTransfer/DetailsDialog.cpp \ - gui/FileTransfer/TransferUserNotify.cpp \ - gui/FileTransfer/BannedFilesDialog.cpp \ - gui/MainPage.cpp \ - gui/HelpDialog.cpp \ - gui/LogoBar.cpp \ - lang/languagesupport.cpp \ - util/RsProtectedTimer.cpp \ - util/stringutil.cpp \ - util/RsNetUtil.cpp \ - util/DateTime.cpp \ - util/RetroStyleLabel.cpp \ - util/WidgetBackgroundImage.cpp \ -# util/NonCopyable.cpp \ - util/PixmapMerging.cpp \ - util/MouseEventFilter.cpp \ - util/EventFilter.cpp \ - util/Widget.cpp \ - util/RsAction.cpp \ - util/printpreview.cpp \ - util/log.cpp \ - util/misc.cpp \ - util/HandleRichText.cpp \ - util/ObjectPainter.cpp \ - util/RsFile.cpp \ - util/RichTextEdit.cpp \ - util/ClickableLabel.cpp \ - util/AspectRatioPixmapLabel.cpp \ - gui/profile/ProfileWidget.cpp \ - gui/profile/StatusMessage.cpp \ - gui/profile/ProfileManager.cpp \ - gui/chat/PopupChatWindow.cpp \ - gui/chat/PopupChatDialog.cpp \ - gui/chat/PopupDistantChatDialog.cpp \ - gui/chat/ChatTabWidget.cpp \ - gui/chat/ChatWidget.cpp \ - gui/chat/ChatDialog.cpp \ - gui/ChatLobbyWidget.cpp \ - gui/chat/ChatLobbyDialog.cpp \ - gui/chat/CreateLobbyDialog.cpp \ - gui/chat/ChatStyle.cpp \ - gui/chat/ChatUserNotify.cpp \ - gui/chat/ChatLobbyUserNotify.cpp \ - gui/connect/ConfCertDialog.cpp \ - gui/connect/PGPKeyDialog.cpp \ - gui/msgs/MessagesDialog.cpp \ - gui/msgs/MessageComposer.cpp \ - gui/msgs/MessageWidget.cpp \ - gui/msgs/MessageWindow.cpp \ - gui/msgs/MessageModel.cpp \ - gui/msgs/TagsMenu.cpp \ - gui/msgs/MessageUserNotify.cpp \ - gui/common/RsButtonOnText.cpp \ - gui/common/RSGraphWidget.cpp \ - gui/common/ElidedLabel.cpp \ - gui/common/vmessagebox.cpp \ - gui/common/RsCollectionDialog.cpp \ - gui/common/RsUrlHandler.cpp \ - gui/common/rwindow.cpp \ - gui/common/rshtml.cpp \ - gui/common/AvatarDefs.cpp \ - gui/common/AvatarDialog.cpp \ - gui/common/GroupFlagsWidget.cpp \ - gui/common/GroupSelectionBox.cpp \ - gui/common/GroupChooser.cpp \ - gui/common/StatusDefs.cpp \ - gui/common/TagDefs.cpp \ - gui/common/GroupDefs.cpp \ - gui/common/Emoticons.cpp \ - gui/common/RSComboBox.cpp \ - gui/common/RSListWidgetItem.cpp \ - gui/common/RSTextEdit.cpp \ - gui/common/RSPlainTextEdit.cpp \ - gui/common/RSTreeWidget.cpp \ - gui/common/RSTreeWidgetItem.cpp \ - gui/common/RSFeedWidget.cpp \ - gui/common/RSTabWidget.cpp \ - gui/common/RSElidedItemDelegate.cpp \ - gui/common/RSItemDelegate.cpp \ - gui/common/PeerDefs.cpp \ - gui/common/FilesDefs.cpp \ - gui/common/PopularityDefs.cpp \ - gui/common/RsBanListDefs.cpp \ - gui/common/GroupTreeWidget.cpp \ - gui/common/RSTreeView.cpp \ - gui/common/AvatarWidget.cpp \ - gui/common/FriendListModel.cpp \ - gui/common/NewFriendList.cpp \ - gui/common/FriendSelectionWidget.cpp \ - gui/common/FriendSelectionDialog.cpp \ - gui/common/HashBox.cpp \ - gui/common/LineEditClear.cpp \ - gui/common/DropLineEdit.cpp \ - gui/common/RSTextBrowser.cpp \ - gui/common/RSImageBlockWidget.cpp \ - gui/common/FeedNotify.cpp \ - gui/common/UserNotify.cpp \ - gui/common/HeaderFrame.cpp \ - gui/common/MimeTextEdit.cpp \ - gui/common/UIStateHelper.cpp \ - gui/common/FloatingHelpBrowser.cpp \ - gui/common/SubscribeToolButton.cpp \ - gui/common/RsBanListToolButton.cpp \ - gui/common/FlowLayout.cpp \ - gui/common/PictureFlow.cpp \ - gui/common/ToasterNotify.cpp \ - gui/style/RSStyle.cpp \ - gui/style/StyleDialog.cpp \ - gui/settings/RSPermissionMatrixWidget.cpp \ - gui/settings/rsharesettings.cpp \ - gui/settings/RsharePeerSettings.cpp \ - gui/settings/rsettings.cpp \ - gui/settings/rsettingswin.cpp \ - gui/settings/GeneralPage.cpp \ - gui/settings/AboutPage.cpp \ - gui/settings/ServerPage.cpp \ - gui/settings/NotifyPage.cpp \ - gui/settings/CryptoPage.cpp \ - gui/settings/PeoplePage.cpp \ - gui/settings/MessagePage.cpp \ - gui/settings/NewTag.cpp \ - gui/settings/ForumPage.cpp \ - gui/settings/PluginsPage.cpp \ - gui/settings/PluginItem.cpp \ - gui/settings/AppearancePage.cpp \ - gui/settings/FileAssociationsPage.cpp \ - gui/settings/SoundPage.cpp \ - gui/settings/TransferPage.cpp \ - gui/settings/ChatPage.cpp \ - gui/settings/ChannelPage.cpp \ - gui/settings/PostedPage.cpp \ - gui/settings/ServicePermissionsPage.cpp \ - gui/settings/AddFileAssociationDialog.cpp \ - gui/settings/GroupFrameSettingsWidget.cpp \ - gui/statusbar/peerstatus.cpp \ - gui/statusbar/natstatus.cpp \ - gui/statusbar/dhtstatus.cpp \ - gui/statusbar/torstatus.cpp \ - gui/statusbar/ratesstatus.cpp \ - gui/statusbar/hashingstatus.cpp \ - gui/statusbar/discstatus.cpp \ - gui/statusbar/SoundStatus.cpp \ - gui/statusbar/OpModeStatus.cpp \ - gui/statusbar/ToasterDisable.cpp \ - gui/statusbar/SysTrayStatus.cpp \ - gui/toaster/ToasterItem.cpp \ - gui/toaster/MessageToaster.cpp \ - gui/toaster/DownloadToaster.cpp \ - gui/toaster/OnlineToaster.cpp \ - gui/toaster/ChatToaster.cpp \ - gui/toaster/GroupChatToaster.cpp \ - gui/toaster/ChatLobbyToaster.cpp \ - gui/toaster/FriendRequestToaster.cpp \ - gui/advsearch/advancedsearchdialog.cpp \ - gui/advsearch/expressionwidget.cpp \ - gui/advsearch/guiexprelement.cpp \ - gui/elastic/graphwidget.cpp \ - gui/elastic/edge.cpp \ - gui/elastic/arrow.cpp \ - gui/elastic/elnode.cpp \ - gui/NewsFeed.cpp \ - gui/feeds/BoardsCommentsItem.cpp \ - gui/feeds/FeedItem.cpp \ - gui/feeds/FeedHolder.cpp \ - gui/feeds/GxsCircleItem.cpp \ - gui/feeds/ChannelsCommentsItem.cpp \ - gui/feeds/PeerItem.cpp \ - gui/feeds/MsgItem.cpp \ - gui/feeds/ChatMsgItem.cpp \ - gui/feeds/SubFileItem.cpp \ - gui/feeds/AttachFileItem.cpp \ - gui/feeds/SecurityItem.cpp \ - gui/feeds/SecurityIpItem.cpp \ - gui/feeds/NewsFeedUserNotify.cpp \ - gui/connect/ConnectFriendWizard.cpp \ - gui/connect/ConnectProgressDialog.cpp \ - gui/connect/FriendRecommendDialog.cpp \ - gui/groups/CreateGroup.cpp \ - gui/GetStartedDialog.cpp \ - gui/statistics/BandwidthGraphWindow.cpp \ - gui/statistics/BandwidthStatsWidget.cpp \ - gui/statistics/DhtWindow.cpp \ - gui/statistics/Histogram.cpp \ - gui/statistics/TurtleRouterDialog.cpp \ - gui/statistics/TurtleRouterStatistics.cpp \ - gui/statistics/GxsIdStatistics.cpp \ - gui/statistics/GlobalRouterStatistics.cpp \ - gui/statistics/GxsTransportStatistics.cpp \ - gui/statistics/StatisticsWindow.cpp \ - gui/statistics/BwCtrlWindow.cpp \ - gui/statistics/RttStatistics.cpp \ - gui/statistics/BWGraph.cpp \ - util/RsSyntaxHighlighter.cpp \ - util/imageutil.cpp \ - gui/NetworkDialog/pgpid_item_model.cpp \ - gui/NetworkDialog/pgpid_item_proxy.cpp \ - gui/common/RsCollection.cpp \ - util/retroshareWin32.cpp -# gui/ForumsDialog.cpp \ -# gui/forums/ForumDetails.cpp \ -# gui/forums/EditForumDetails.cpp \ -# gui/forums/CreateForum.cpp \ -# gui/forums/CreateForumMsg.cpp \ -# gui/forums/ForumUserNotify.cpp \ -# gui/feeds/ForumNewItem.cpp \ -# gui/feeds/ForumMsgItem.cpp \ -# gui/ChannelFeed.cpp \ -# gui/channels/CreateChannel.cpp \ -# gui/channels/CreateChannelMsg.cpp \ -# gui/channels/ChannelDetails.cpp \ -# gui/channels/EditChanDetails.cpp \ -# gui/channels/ChannelUserNotify.cpp \ -# gui/feeds/ChanNewItem.cpp \ -# gui/feeds/ChanMsgItem.cpp \ - -RESOURCES += gui/images.qrc gui/icons.qrc lang/lang.qrc gui/help/content/content.qrc gui/emojione.qrc \ - gui/qss/stylesheet/qdarkstyle/dark/Standard_Dark.qrc \ - gui/qss/stylesheet/qdarkstyle/light/Standard_Light.qrc - -TRANSLATIONS += \ - lang/retroshare_ca_ES.ts \ - lang/retroshare_cs.ts \ - lang/retroshare_da.ts \ - lang/retroshare_de.ts \ - lang/retroshare_el.ts \ - lang/retroshare_en.ts \ - lang/retroshare_es.ts \ - lang/retroshare_fi.ts \ - lang/retroshare_fr.ts \ - lang/retroshare_hu.ts \ - lang/retroshare_it.ts \ - lang/retroshare_ja_JP.ts \ - lang/retroshare_nl.ts \ - lang/retroshare_ko.ts \ - lang/retroshare_pl.ts \ - lang/retroshare_ru.ts \ - lang/retroshare_sv.ts \ - lang/retroshare_tr.ts \ - lang/retroshare_zh_CN.ts - -unfinishedtranslations { - - TRANSLATIONS += \ - lang/retroshare_bg.ts \ - lang/retroshare_af.ts \ - lang/retroshare_pt.ts \ - lang/retroshare_sl.ts \ - lang/retroshare_sr.ts \ - lang/retroshare_zh_TW.ts - -} - -messenger { - SOURCES += gui/MessengerWindow.cpp \ - gui/common/FriendList.cpp - HEADERS += gui/MessengerWindow.h \ - gui/common/FriendList.h - FORMS += gui/MessengerWindow.ui \ - gui/common/FriendList.ui - - DEFiNES += MESSENGER_WINDOW -} - -# Shifted Qt4.4 dependancies to here. -# qmake CONFIG=pluginmgr - -pluginmgr { - - SOURCES += gui/PluginsPage.cpp \ - gui/PluginManagerWidget.cpp \ - gui/PluginManager.cpp - - HEADERS += gui/PluginsPage.h \ - gui/PluginManagerWidget.h \ - gui/PluginManager.h - - DEFINES *= PLUGINMGR - -} - -idle { - -HEADERS += idle/idle.h - -SOURCES += idle/idle.cpp \ - idle/idle_platform.cpp -} - -framecatcher { - -HEADERS += util/framecatcher.h - -SOURCES += util/framecatcher.cpp - -LIBS += -lxine - -DEFINES *= CHANNELS_FRAME_CATCHER - -} - -# Embedded Friend Server - -rs_efs { - DEFINES *= RS_EMBEDED_FRIEND_SERVER - SOURCES += gui/FriendServerControl.cpp - HEADERS += gui/FriendServerControl.h - FORMS += gui/FriendServerControl.ui -} - -# BELOW IS GXS Unfinished Services. - -unfinished_services { - - DEPENDPATH += gui/unfinished \ - - HEADERS += gui/unfinished/ApplicationWindow.h \ - -# gui/unfinished/CalDialog.h \ -# gui/unfinished/ExampleDialog.h \ -# gui/unfinished/GamesDialog.h \ -# gui/unfinished/profile/ProfileView.h \ -# gui/unfinished/profile/ProfileEdit.h -# gui/unfinished/StatisticDialog.h \ -# gui/unfinished/PhotoDialog.h \ -# gui/unfinished/PhotoShow.h \ - - FORMS += gui/unfinished/ApplicationWindow.ui \ - -# gui/unfinished/CalDialog.ui \ -# gui/unfinished/ExampleDialog.ui \ -# gui/unfinished/GamesDialog.ui \ -# gui/unfinished/profile/ProfileView.ui \ -# gui/unfinished/profile/ProfileEdit.ui -# gui/unfinished/StatisticDialog.ui \ -# gui/unfinished/PhotoDialog.ui \ -# gui/unfinished/PhotoShow.ui \ - - SOURCES += gui/unfinished/ApplicationWindow.cpp \ - -# gui/unfinished/CalDialog.cpp \ -# gui/unfinished/ExampleDialog.cpp \ -# gui/unfinished/GamesDialog.cpp \ -# gui/unfinished/profile/ProfileView.cpp \ -# gui/unfinished/profile/ProfileEdit.cpp -# gui/unfinished/StatisticDialog.cpp \ -# gui/unfinished/PhotoDialog.cpp \ -# gui/unfinished/PhotoShow.cpp \ - - DEFINES *= UNFINISHED -} - - -gxsphotoshare { - #DEFINES += RS_USE_PHOTOSHARE # to enable in unfinished. - DEFINES += RS_USE_PHOTO # enable in MainWindow - - HEADERS += \ - gui/PhotoShare/AlbumGroupDialog.h \ - gui/PhotoShare/AlbumExtra.h \ - gui/PhotoShare/PhotoDrop.h \ - gui/PhotoShare/AlbumItem.h \ - gui/PhotoShare/AlbumDialog.h \ - gui/PhotoShare/PhotoItem.h \ - gui/PhotoShare/PhotoShareItemHolder.h \ - gui/PhotoShare/PhotoShare.h \ - gui/PhotoShare/PhotoSlideShow.h \ - gui/PhotoShare/PhotoDialog.h - - FORMS += \ - gui/PhotoShare/AlbumExtra.ui \ - gui/PhotoShare/PhotoItem.ui \ - gui/PhotoShare/PhotoDialog.ui \ - gui/PhotoShare/AlbumItem.ui \ - gui/PhotoShare/AlbumDialog.ui \ - gui/PhotoShare/PhotoShare.ui \ - gui/PhotoShare/PhotoSlideShow.ui - - SOURCES += \ - gui/PhotoShare/AlbumGroupDialog.cpp \ - gui/PhotoShare/AlbumExtra.cpp \ - gui/PhotoShare/PhotoItem.cpp \ - gui/PhotoShare/PhotoDialog.cpp \ - gui/PhotoShare/PhotoDrop.cpp \ - gui/PhotoShare/AlbumItem.cpp \ - gui/PhotoShare/AlbumDialog.cpp \ - gui/PhotoShare/PhotoShareItemHolder.cpp \ - gui/PhotoShare/PhotoShare.cpp \ - gui/PhotoShare/PhotoSlideShow.cpp - - RESOURCES += gui/PhotoShare/Photo_images.qrc - -} - - -wikipoos { - DEFINES += RS_USE_WIKI - - DEPENDPATH += ../../supportlibs/pegmarkdown - INCLUDEPATH += ../../supportlibs/pegmarkdown - - HEADERS += gui/WikiPoos/WikiDialog.h \ - gui/WikiPoos/WikiAddDialog.h \ - gui/WikiPoos/WikiEditDialog.h \ - gui/gxs/WikiGroupDialog.h \ - - FORMS += gui/WikiPoos/WikiDialog.ui \ - gui/WikiPoos/WikiAddDialog.ui \ - gui/WikiPoos/WikiEditDialog.ui \ - - SOURCES += gui/WikiPoos/WikiDialog.cpp \ - gui/WikiPoos/WikiAddDialog.cpp \ - gui/WikiPoos/WikiEditDialog.cpp \ - gui/gxs/WikiGroupDialog.cpp \ - - RESOURCES += gui/WikiPoos/Wiki_images.qrc - -} - - - -gxsthewire { - - DEFINES += RS_USE_WIRE - - HEADERS += gui/TheWire/WireDialog.h \ - gui/TheWire/WireGroupItem.h \ - gui/TheWire/WireGroupDialog.h \ - gui/TheWire/WireGroupExtra.h \ - gui/TheWire/PulseAddDialog.h \ - gui/TheWire/PulseViewItem.h \ - gui/TheWire/PulseTopLevel.h \ - gui/TheWire/PulseViewGroup.h \ - gui/TheWire/PulseReply.h \ - gui/TheWire/PulseReplySeperator.h \ - gui/TheWire/PulseMessage.h \ - - FORMS += gui/TheWire/WireDialog.ui \ - gui/TheWire/WireGroupItem.ui \ - gui/TheWire/WireGroupExtra.ui \ - gui/TheWire/PulseAddDialog.ui \ - gui/TheWire/PulseTopLevel.ui \ - gui/TheWire/PulseViewGroup.ui \ - gui/TheWire/PulseReply.ui \ - gui/TheWire/PulseReplySeperator.ui \ - gui/TheWire/PulseMessage.ui \ - - SOURCES += gui/TheWire/WireDialog.cpp \ - gui/TheWire/WireGroupItem.cpp \ - gui/TheWire/WireGroupDialog.cpp \ - gui/TheWire/WireGroupExtra.cpp \ - gui/TheWire/PulseAddDialog.cpp \ - gui/TheWire/PulseViewItem.cpp \ - gui/TheWire/PulseTopLevel.cpp \ - gui/TheWire/PulseViewGroup.cpp \ - gui/TheWire/PulseReply.cpp \ - gui/TheWire/PulseReplySeperator.cpp \ - gui/TheWire/PulseMessage.cpp \ - - RESOURCES += gui/TheWire/TheWire_images.qrc -} - -identities { - - HEADERS += \ - gui/Identity/IdDialog.h \ - gui/Identity/IdEditDialog.h \ - gui/Identity/IdDetailsDialog.h \ - - FORMS += gui/Identity/IdDialog.ui \ - gui/Identity/IdEditDialog.ui \ - gui/Identity/IdDetailsDialog.ui \ - - SOURCES += \ - gui/Identity/IdDialog.cpp \ - gui/Identity/IdEditDialog.cpp \ - gui/Identity/IdDetailsDialog.cpp \ - -} - -gxscircles { - DEFINES += RS_USE_CIRCLES -# DEFINES += RS_USE_NEW_PEOPLE_DIALOG - - HEADERS += \ - gui/Circles/CirclesDialog.h \ - gui/Circles/CreateCircleDialog.h \ - - FORMS += gui/Circles/CirclesDialog.ui \ - gui/Circles/CreateCircleDialog.ui \ - - SOURCES += \ - gui/Circles/CirclesDialog.cpp \ - gui/Circles/CreateCircleDialog.cpp \ - - HEADERS += gui/People/PeopleDialog.h - HEADERS += gui/People/CircleWidget.h - HEADERS += gui/People/IdentityWidget.h - - FORMS += gui/People/PeopleDialog.ui - FORMS += gui/People/CircleWidget.ui - FORMS += gui/People/IdentityWidget.ui - - SOURCES += gui/People/PeopleDialog.cpp - SOURCES += gui/People/CircleWidget.cpp - SOURCES += gui/People/IdentityWidget.cpp - -#HEADERS += gui/People/IdentityItem.h -#HEADERS += gui/People/CircleItem.h -#HEADERS += gui/People/GroupListView.h -#SOURCES += gui/People/GroupListView.cpp -#SOURCES += gui/People/IdentityItem.cpp -#SOURCES += gui/People/CircleItem.cpp - - -} - - -gxsforums { - - HEADERS += gui/gxsforums/GxsForumsDialog.h \ - gui/gxsforums/GxsForumGroupDialog.h \ - gui/gxsforums/CreateGxsForumMsg.h \ - gui/gxsforums/GxsForumThreadWidget.h \ - gui/gxsforums/GxsForumModel.h \ - gui/gxsforums/GxsForumUserNotify.h \ - gui/feeds/GxsForumGroupItem.h \ - gui/feeds/GxsForumMsgItem.h - - FORMS += gui/gxsforums/CreateGxsForumMsg.ui \ - gui/gxsforums/GxsForumThreadWidget.ui \ - gui/feeds/GxsForumGroupItem.ui \ - gui/feeds/GxsForumMsgItem.ui - - SOURCES += gui/gxsforums/GxsForumsDialog.cpp \ - gui/gxsforums/GxsForumGroupDialog.cpp \ - gui/gxsforums/CreateGxsForumMsg.cpp \ - gui/gxsforums/GxsForumThreadWidget.cpp \ - gui/gxsforums/GxsForumModel.cpp \ - gui/gxsforums/GxsForumUserNotify.cpp \ - gui/feeds/GxsForumGroupItem.cpp \ - gui/feeds/GxsForumMsgItem.cpp -} - - -gxschannels { - - HEADERS += gui/gxschannels/GxsChannelDialog.h \ - gui/gxschannels/GxsChannelGroupDialog.h \ - gui/gxschannels/CreateGxsChannelMsg.h \ - gui/gxschannels/GxsChannelPostsWidgetWithModel.h \ - gui/gxschannels/GxsChannelPostsModel.h \ - gui/gxschannels/GxsChannelPostFilesModel.h \ - gui/gxschannels/GxsChannelPostThumbnail.h \ - gui/gxschannels/GxsChannelFilesStatusWidget.h \ - gui/feeds/GxsChannelGroupItem.h \ - gui/feeds/GxsChannelPostItem.h \ - gui/gxschannels/GxsChannelUserNotify.h - - FORMS += \ - gui/gxschannels/GxsChannelPostsWidgetWithModel.ui \ - gui/gxschannels/GxsChannelFilesStatusWidget.ui \ - gui/gxschannels/CreateGxsChannelMsg.ui \ - gui/feeds/GxsChannelGroupItem.ui \ - gui/feeds/GxsChannelPostItem.ui - - SOURCES += gui/gxschannels/GxsChannelDialog.cpp \ - gui/gxschannels/GxsChannelPostsWidgetWithModel.cpp \ - gui/gxschannels/GxsChannelPostsModel.cpp \ - gui/gxschannels/GxsChannelPostFilesModel.cpp \ - gui/gxschannels/GxsChannelFilesStatusWidget.cpp \ - gui/gxschannels/GxsChannelPostThumbnail.cpp \ - gui/gxschannels/GxsChannelGroupDialog.cpp \ - gui/gxschannels/CreateGxsChannelMsg.cpp \ - gui/feeds/GxsChannelGroupItem.cpp \ - gui/feeds/GxsChannelPostItem.cpp \ - gui/gxschannels/GxsChannelUserNotify.cpp -} - - -posted { - - HEADERS += gui/Posted/PostedDialog.h \ - gui/Posted/PostedListWidgetWithModel.h \ - gui/Posted/PostedPostsModel.h \ - gui/Posted/BoardPostDisplayWidget.h \ - gui/Posted/PostedItem.h \ - gui/Posted/PostedCardView.h \ - gui/Posted/PostedGroupDialog.h \ - gui/feeds/PostedGroupItem.h \ - gui/Posted/PostedCreatePostDialog.h \ - gui/Posted/PhotoView.h \ - gui/Posted/PostedUserNotify.h - - #gui/Posted/PostedCreateCommentDialog.h \ - #gui/Posted/PostedComments.h \ - - FORMS += gui/Posted/PostedListWidgetWithModel.ui \ - gui/feeds/PostedGroupItem.ui \ - gui/Posted/BoardPostDisplayWidget_compact.ui \ - gui/Posted/BoardPostDisplayWidget_card.ui \ - gui/Posted/PostedItem.ui \ - gui/Posted/PostedCardView.ui \ - gui/Posted/PostedCreatePostDialog.ui \ - gui/Posted/PhotoView.ui \ - #gui/Posted/PostedDialog.ui \ - #gui/Posted/PostedComments.ui \ - #gui/Posted/PostedCreateCommentDialog.ui - - SOURCES += gui/Posted/PostedDialog.cpp \ - gui/Posted/PostedListWidgetWithModel.cpp \ - gui/Posted/BoardPostDisplayWidget.cpp \ - gui/Posted/PostedPostsModel.cpp \ - gui/feeds/PostedGroupItem.cpp \ - gui/Posted/PostedItem.cpp \ - gui/Posted/PostedCardView.cpp \ - gui/Posted/PostedGroupDialog.cpp \ - gui/Posted/PostedCreatePostDialog.cpp \ - gui/Posted/PhotoView.cpp \ - gui/Posted/PostedUserNotify.cpp - - #gui/Posted/PostedDialog.cpp \ - #gui/Posted/PostedComments.cpp \ - #gui/Posted/PostedCreateCommentDialog.cpp - - RESOURCES += gui/Posted/Posted_images.qrc -} - -gxsgui { - - HEADERS += gui/gxs/GxsGroupDialog.h \ - gui/gxs/GxsIdDetails.h \ - gui/gxs/GxsIdChooser.h \ - gui/gxs/GxsIdLabel.h \ - gui/gxs/GxsCircleChooser.h \ - gui/gxs/GxsCircleLabel.h \ - gui/gxs/GxsIdTreeWidgetItem.h \ - gui/gxs/GxsCommentTreeWidget.h \ - gui/gxs/GxsCommentContainer.h \ - gui/gxs/GxsCommentDialog.h \ - gui/gxs/GxsCreateCommentDialog.h \ - gui/gxs/GxsGroupFrameDialog.h \ - gui/gxs/GxsMessageFrameWidget.h \ - gui/gxs/GxsMessageFramePostWidget.h \ - gui/gxs/GxsGroupFeedItem.h \ - gui/gxs/GxsFeedItem.h \ - gui/gxs/GxsGroupShareKey.h \ - gui/gxs/GxsUserNotify.h \ - gui/gxs/GxsFeedWidget.h \ - util/TokenQueue.h \ - util/RsGxsUpdateBroadcast.h \ - -# gui/gxs/GxsMsgDialog.h \ - - FORMS += gui/gxs/GxsGroupDialog.ui \ - gui/gxs/GxsCommentContainer.ui \ - gui/gxs/GxsCommentDialog.ui \ - gui/gxs/GxsCreateCommentDialog.ui \ - gui/gxs/GxsGroupFrameDialog.ui\ - gui/gxs/GxsGroupShareKey.ui -# gui/gxs/GxsMsgDialog.ui \ -# gui/gxs/GxsCommentTreeWidget.ui - - SOURCES += gui/gxs/GxsGroupDialog.cpp \ - gui/gxs/GxsIdDetails.cpp \ - gui/gxs/GxsIdChooser.cpp \ - gui/gxs/GxsIdLabel.cpp \ - gui/gxs/GxsCircleChooser.cpp \ - gui/gxs/GxsGroupShareKey.cpp \ - gui/gxs/GxsCircleLabel.cpp \ - gui/gxs/GxsIdTreeWidgetItem.cpp \ - gui/gxs/GxsCommentTreeWidget.cpp \ - gui/gxs/GxsCommentContainer.cpp \ - gui/gxs/GxsCommentDialog.cpp \ - gui/gxs/GxsCreateCommentDialog.cpp \ - gui/gxs/GxsGroupFrameDialog.cpp \ - gui/gxs/GxsMessageFrameWidget.cpp \ - gui/gxs/GxsMessageFramePostWidget.cpp \ - gui/gxs/GxsGroupFeedItem.cpp \ - gui/gxs/GxsFeedItem.cpp \ - gui/gxs/GxsUserNotify.cpp \ - gui/gxs/GxsFeedWidget.cpp \ - util/TokenQueue.cpp \ - util/RsGxsUpdateBroadcast.cpp \ - -# gui/gxs/GxsMsgDialog.cpp \ - - -} - - -wikipoos { - HEADERS += \ - gui/gxs/RsGxsUpdateBroadcastBase.h \ - gui/gxs/RsGxsUpdateBroadcastWidget.h \ - gui/gxs/RsGxsUpdateBroadcastPage.h - - SOURCES += \ - gui/gxs/RsGxsUpdateBroadcastBase.cpp \ - gui/gxs/RsGxsUpdateBroadcastWidget.cpp \ - gui/gxs/RsGxsUpdateBroadcastPage.cpp \ -} - -################################################################ -#Define qmake_info.h file so GUI can get wath was used to compil -# This must be at end to get all informations -################################################################ -RS_QMAKE_DEFINES=\\\"$${DEFINES}\\\" -RS_QMAKE_CONFIG=\\\"$${CONFIG}\\\" - -INCLUDEPATH += $$OUT_PWD/include -info_file.input = $$PWD/qmake_info.h.in -info_file.output = $$OUT_PWD/include/qmake_info.h - -QMAKE_SUBSTITUTES += info_file -OTHER_FILES += \ - qmake_info.h.in +################################################################################ +# uselibresapi.pri # +# Copyright (C) 2018, Retroshare team # +# # +# This program is free software: you can redistribute it and/or modify # +# it under the terms of the GNU Affero General Public License as # +# published by the Free Software Foundation, either version 3 of the # +# License, or (at your option) any later version. # +# # +# This program is distributed in the hope that it will be useful, # +# but WITHOUT ANY WARRANTY; without even the implied warranty of # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +# GNU Affero General Public License for more details. # +# # +# You should have received a copy of the GNU Affero General Public License # +# along with this program. If not, see . # +################################################################################ + +!include("../../retroshare.pri"): error("Could not include file ../../retroshare.pri") + +TEMPLATE = app +QT += network xml +CONFIG += qt gui uic qrc resources idle +CONFIG += console +TARGET = retroshare +DEFINES += TARGET=\\\"$${TARGET}\\\" + +DEPENDPATH *= $${PWD} $${RS_INCLUDE_DIR} +INCLUDEPATH *= $${PWD} + +!include("../../libretroshare/src/use_libretroshare.pri"):error("Including") + +rs_webui { +rs_jsonapi { + HEADERS *= gui/settings/WebuiPage.h + SOURCES *= gui/settings/WebuiPage.cpp + FORMS *= gui/settings/WebuiPage.ui +} +} + +rs_jsonapi { + HEADERS *= gui/settings/JsonApiPage.h + SOURCES *= gui/settings/JsonApiPage.cc + FORMS *= gui/settings/JsonApiPage.ui +} + +# Auto detect installed version of cmark +rs_gui_cmark { + DEFINES *= USE_CMARK + no_rs_cross_compiling { + message("Using compiled cmark") + CMARK_SRC_PATH=$$clean_path($${RS_SRC_PATH}/supportlibs/cmark) + CMARK_BUILD_PATH=$$clean_path($${RS_BUILD_PATH}/supportlibs/cmark/build) + INCLUDEPATH *= $$clean_path($${CMARK_SRC_PATH}/src/) + DEPENDPATH *= $$clean_path($${CMARK_SRC_PATH}/src/) + QMAKE_LIBDIR *= $$clean_path($${CMARK_BUILD_PATH}/) + # Using sLibs would fail as libcmark.a is generated at compile-time + LIBS *= -L$$clean_path($${CMARK_BUILD_PATH}/src/) -lcmark + + DUMMYCMARKINPUT = FORCE + CMAKE_GENERATOR_OVERRIDE="" + win32-g++|win32-clang-g++:CMAKE_GENERATOR_OVERRIDE="-G \"MSYS Makefiles\"" + gencmarklib.name = Generating libcmark. + gencmarklib.input = DUMMYCMARKINPUT + gencmarklib.output = $$clean_path($${CMARK_BUILD_PATH}/src/libcmark.a) + gencmarklib.CONFIG += target_predeps combine + gencmarklib.variable_out = PRE_TARGETDEPS + gencmarklib.commands = \ + cd $${RS_SRC_PATH} && ( \ + git submodule update --init supportlibs/cmark ; \ + cd $${CMARK_SRC_PATH} ; \ + true ) && \ + mkdir -p $${CMARK_BUILD_PATH} && cd $${CMARK_BUILD_PATH} && \ + cmake \ + -DCMAKE_CXX_COMPILER=$$QMAKE_CXX \ + \"-DCMAKE_CXX_FLAGS=$${QMAKE_CXXFLAGS}\" \ + $${CMAKE_GENERATOR_OVERRIDE} \ + -DCMAKE_INSTALL_PREFIX=. \ + -B. \ + -H$$shell_path($${CMARK_SRC_PATH}) && \ + $(MAKE) + QMAKE_EXTRA_COMPILERS += gencmarklib + } else { + message("Using systems cmark") + sLibs *= libcmark + } +} + +FORMS += TorControl/TorControlWindow.ui +SOURCES += TorControl/TorControlWindow.cpp \ + gui/TheWire/CustomFrame.cpp \ + gui/TheWire/CustomFrame.cpp +HEADERS += TorControl/TorControlWindow.h \ + gui/TheWire/CustomFrame.h \ + gui/TheWire/CustomFrame.h + +#QMAKE_CFLAGS += -fmudflap +#LIBS *= /usr/lib/gcc/x86_64-linux-gnu/4.4/libmudflap.a /usr/lib/gcc/x86_64-linux-gnu/4.4/libmudflapth.a + +greaterThan(QT_MAJOR_VERSION, 4) { + # Qt 5 + QT += widgets multimedia printsupport + linux-* { + QT += x11extras + } +} else { + # Qt 4 + CONFIG += uitools +} + +CONFIG += identities +CONFIG += gxsforums +CONFIG += gxschannels +CONFIG += posted +CONFIG += gxsgui +CONFIG += gxscircles + +# Other Disabled Bits. +#CONFIG += framecatcher + +## To enable unfinished services +#CONFIG += wikipoos +#CONFIG += gxsthewire +#CONFIG += gxsphotoshare + +DEFINES += RS_RELEASE_VERSION +RCC_DIR = temp/qrc +UI_DIR = temp/ui +MOC_DIR = temp/moc + +################################# Linux ########################################## +# Put lib dir in QMAKE_LFLAGS so it appears before -L/usr/lib +linux-* { + CONFIG += link_pkgconfig + + #CONFIG += version_detail_bash_script + QMAKE_CXXFLAGS *= -D_FILE_OFFSET_BITS=64 + + PKGCONFIG *= x11 xscrnsaver + + LIBS *= -rdynamic + DEFINES *= HAVE_XSS # for idle time, libx screensaver extensions +} + +rs_sanitize { + LIBS *= -lasan -lubsan +} + +unix { + target.path = "$${BIN_DIR}" + INSTALLS += target + + data_files.path="$${RS_DATA_DIR}/" + data_files.files=sounds qss + INSTALLS += data_files + + style_files.path="$${RS_DATA_DIR}/stylesheets" + style_files.files=gui/qss/chat/Bubble gui/qss/chat/Bubble_Compact + INSTALLS += style_files + + icon_files.path = "$${PREFIX}/share/icons/hicolor" + icon_files.files = ../../data/24x24 + icon_files.files += ../../data/48x48 + icon_files.files += ../../data/64x64 + icon_files.files += ../../data/128x128 + INSTALLS += icon_files + + desktop_files.path = "$${PREFIX}/share/applications" + desktop_files.files = ../../data/retroshare.desktop + INSTALLS += desktop_files + + pixmap_files.path = "$${PREFIX}/share/pixmaps" + pixmap_files.files = ../../data/retroshare.xpm + INSTALLS += pixmap_files + +} + +linux-g++ { + OBJECTS_DIR = temp/linux-g++/obj +} + +linux-g++-64 { + OBJECTS_DIR = temp/linux-g++-64/obj +} + +version_detail_bash_script { + warning("Version detail script is deprecated.") + warning("Remove references to version_detail_bash_script from all of your build scripts!") +} + +#################### Cross compilation for windows under Linux ################### + +win32-x-g++ { + OBJECTS_DIR = temp/win32-x-g++/obj + + LIBS += ../../../../lib/win32-x-g++-v0.5/libssl.a + LIBS += ../../../../lib/win32-x-g++-v0.5/libcrypto.a + LIBS += ../../../../lib/win32-x-g++-v0.5/libgpgme.dll.a + LIBS += ../../../../lib/win32-x-g++-v0.5/libminiupnpc.a + LIBS += ../../../../lib/win32-x-g++-v0.5/libz.a + LIBS += -L${HOME}/.wine/drive_c/pthreads/lib -lpthreadGCE2 + LIBS += -lQtUiTools + LIBS += -lws2_32 -luuid -lole32 -liphlpapi -lcrypt32 -gdi32 + LIBS += -lole32 -lwinmm + + DEFINES *= WINDOWS_SYS WIN32 WIN32_CROSS_UBUNTU + + INCLUDEPATH += ../../../../gpgme-1.1.8/src/ + INCLUDEPATH += ../../../../libgpg-error-1.7/src/ + + RC_FILE = gui/images/retroshare_win.rc +} + +#################################### Windows ##################################### + +win32-g++|win32-clang-g++ { + CONFIG(debug, debug|release) { + # show console output + CONFIG += console + } else { + CONFIG -= console + } + + CONFIG(debug, debug|release) { + } else { + # Tell linker to use ASLR protection + QMAKE_LFLAGS += -Wl,-dynamicbase + # Tell linker to use DEP protection + QMAKE_LFLAGS += -Wl,-nxcompat + } + + # Fix linking error (ld.exe: Error: export ordinal too large) due to too + # many exported symbols. + !libretroshare_shared:QMAKE_LFLAGS+=-Wl,--exclude-libs,ALL + + # Switch off optimization for release version + QMAKE_CXXFLAGS_RELEASE -= -O2 + QMAKE_CXXFLAGS_RELEASE += -O0 + QMAKE_CFLAGS_RELEASE -= -O2 + QMAKE_CFLAGS_RELEASE += -O0 + + # Switch on optimization for debug version + #QMAKE_CXXFLAGS_DEBUG += -O2 + #QMAKE_CFLAGS_DEBUG += -O2 + + OBJECTS_DIR = temp/obj + + dLib = ws2_32 gdi32 uuid ole32 iphlpapi crypt32 winmm + LIBS *= $$linkDynamicLibs(dLib) + + RC_FILE = gui/images/retroshare_win.rc + + # export symbols for the plugins + LIBS += -Wl,--export-all-symbols,--out-implib,lib/libretroshare-gui.a + + # create lib directory + isEmpty(QMAKE_SH) { + QMAKE_PRE_LINK = $(CHK_DIR_EXISTS) lib $(MKDIR) lib + } else { + QMAKE_PRE_LINK = $(CHK_DIR_EXISTS) lib || $(MKDIR) lib + } + + greaterThan(QT_MAJOR_VERSION, 4) { + # Qt 5 + RC_INCLUDEPATH += $$_PRO_FILE_PWD_/../../libretroshare/src + } else { + # Qt 4 + QMAKE_RC += --include-dir=$$_PRO_FILE_PWD_/../../libretroshare/src + } +} + +##################################### MacOS ###################################### + +macx { + # ENABLE THIS OPTION FOR Univeral Binary BUILD. + #CONFIG += ppc x86 + #QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.4 + QMAKE_INFO_PLIST = Info.plist + mac_icon.files = $$files($$PWD/rsMacIcon.icns) + mac_icon.path = Contents/Resources + QMAKE_BUNDLE_DATA += mac_icon + dplQSS.files = $$PWD/qss + dplQSS.path = Contents/Resources + QMAKE_BUNDLE_DATA += dplQSS + dplChatStyles.files = \ + $$PWD/gui/qss/chat/Bubble \ + $$PWD/gui/qss/chat/Bubble_Compact + dplChatStyles.path = Contents/Resources/stylesheets + QMAKE_BUNDLE_DATA += dplChatStyles +# mac_webui.files = $$files($$PWD/../../libresapi/src/webui) +# mac_webui.path = Contents/Resources +# QMAKE_BUNDLE_DATA += mac_webui + + OBJECTS_DIR = temp/obj + + CONFIG += version_detail_bash_script + LIBS += -lssl -lcrypto -lz + for(lib, LIB_DIR):exists($$lib/libminiupnpc.a){ LIBS += $$lib/libminiupnpc.a} + LIBS += -framework CoreFoundation + LIBS += -framework Security + LIBS += -framework Carbon + + for(lib, LIB_DIR):LIBS += -L"$$lib" + for(bin, BIN_DIR):LIBS += -L"$$bin" + + DEPENDPATH += . $$INC_DIR + INCLUDEPATH += . $$INC_DIR + + #DEFINES *= MAC_IDLE # for idle feature + CONFIG -= uitools +} + +##################################### FreeBSD ###################################### + +freebsd-* { + INCLUDEPATH *= /usr/local/include/gpgme + LIBS *= -lssl + LIBS *= -lgpgme + LIBS *= -lupnp + LIBS *= -lgnome-keyring + + LIBS += -lsqlite3 +} + +##################################### Haiku ###################################### + +haiku-* { + PRE_TARGETDEPS *= ../../libretroshare/src/lib/libretroshare.a + PRE_TARGETDEPS *= ../../openpgpsdk/src/lib/libops.a + + LIBS *= ../../libretroshare/src/lib/libretroshare.a + LIBS *= ../../openpgpsdk/src/lib/libops.a -lbz2 -lbsd + LIBS *= -lssl -lcrypto -lnetwork + LIBS *= -lgpgme + LIBS *= -lupnp + LIBS *= -lz + LIBS *= -lixml + + LIBS += ../../supportlibs/pegmarkdown/lib/libpegmarkdown.a + LIBS += -lsqlite3 +} + +##################################### OpenBSD ###################################### + +openbsd-* { + INCLUDEPATH *= /usr/local/include + + LIBS *= -lssl -lcrypto + LIBS *= -lgpgme + LIBS *= -lupnp + LIBS *= -lgnome-keyring + LIBS += -lsqlite3 + LIBS *= -rdynamic +} + +################################### COMMON stuff ################################## + +wikipoos { + PRE_TARGETDEPS *= $$OUT_PWD/../../supportlibs/pegmarkdown/lib/libpegmarkdown.a + LIBS *= $$OUT_PWD/../../supportlibs/pegmarkdown/lib/libpegmarkdown.a + LIBS *= -lglib-2.0 +} + +################################### HEADERS & SOURCES ############################# + +# Input +HEADERS += rshare.h \ + retroshare-gui/configpage.h \ + retroshare-gui/RsAutoUpdatePage.h \ + retroshare-gui/mainpage.h \ + gui/notifyqt.h \ + control/bandwidthevent.h \ + control/eventtype.h \ + gui/QuickStartWizard.h \ + gui/StartDialog.h \ + gui/HomePage.h\ + gui/NetworkDialog.h \ + gui/GenCertDialog.h \ + gui/linetypes.h \ + gui/mainpagestack.h \ + gui/MainWindow.h \ + gui/RSHumanReadableDelegate.h \ + gui/AboutDialog.h \ + gui/AboutWidget.h \ + gui/NetworkView.h \ + gui/FriendsDialog.h \ + gui/ServicePermissionDialog.h \ + gui/RemoteDirModel.h \ + gui/RetroShareLink.h \ + gui/SearchTreeWidget.h \ + gui/ShareManager.h \ +# gui/ShareDialog.h \ +# gui/SFListDelegate.h \ + gui/SoundManager.h \ + gui/HelpDialog.h \ + gui/LogoBar.h \ + gui/common/AvatarDialog.h \ + gui/FileTransfer/SearchDialog.h \ + gui/FileTransfer/SharedFilesDialog.h \ + gui/FileTransfer/xprogressbar.h \ + gui/FileTransfer/DetailsDialog.h \ + gui/FileTransfer/FileTransferInfoWidget.h \ + gui/FileTransfer/DLListDelegate.h \ + gui/FileTransfer/ULListDelegate.h \ + gui/FileTransfer/TransfersDialog.h \ + gui/FileTransfer/BannedFilesDialog.h \ + gui/statistics/TurtleRouterDialog.h \ + gui/statistics/TurtleRouterStatistics.h \ + gui/statistics/GxsIdStatistics.h \ + gui/statistics/dhtgraph.h \ + gui/statistics/Histogram.h \ + gui/statistics/BandwidthGraphWindow.h \ + gui/statistics/turtlegraph.h \ + gui/statistics/BandwidthStatsWidget.h \ + gui/statistics/DhtWindow.h \ + gui/statistics/GlobalRouterStatistics.h \ + gui/statistics/GxsTransportStatistics.h \ + gui/statistics/StatisticsWindow.h \ + gui/statistics/BwCtrlWindow.h \ + gui/statistics/RttStatistics.h \ + gui/FileTransfer/TransferUserNotify.h \ + gui/plugins/PluginInterface.h \ + gui/im_history/ImHistoryBrowser.h \ + gui/im_history/IMHistoryItemDelegate.h \ + gui/im_history/IMHistoryItemPainter.h \ + lang/languagesupport.h \ + util/RsProtectedTimer.h \ + util/stringutil.h \ + util/RsNetUtil.h \ + util/DateTime.h \ + util/RetroStyleLabel.h \ + util/dllexport.h \ + util/NonCopyable.h \ + util/rsutildll.h \ + util/dllexport.h \ + util/global.h \ + util/rsqtutildll.h \ +# util/Interface.h \ + util/PixmapMerging.h \ + util/MouseEventFilter.h \ + util/EventFilter.h \ + util/Widget.h \ + util/RsAction.h \ + util/RsUserdata.h \ + util/printpreview.h \ + util/log.h \ + util/misc.h \ + util/HandleRichText.h \ + util/ObjectPainter.h \ + util/QtVersion.h \ + util/RsFile.h \ + util/qtthreadsutils.h \ + util/ClickableLabel.h \ + util/AspectRatioPixmapLabel.h \ + gui/profile/ProfileWidget.h \ + gui/profile/ProfileManager.h \ + gui/profile/StatusMessage.h \ + gui/chat/PopupChatWindow.h \ + gui/chat/PopupChatDialog.h \ + gui/chat/PopupDistantChatDialog.h \ + gui/chat/ChatTabWidget.h \ + gui/chat/ChatWidget.h \ + gui/chat/ChatDialog.h \ + gui/ChatLobbyWidget.h \ + gui/chat/ChatLobbyDialog.h \ + gui/chat/CreateLobbyDialog.h \ + gui/chat/ChatStyle.h \ + gui/chat/ChatUserNotify.h \ + gui/chat/ChatLobbyUserNotify.h \ + gui/connect/ConfCertDialog.h \ + gui/connect/PGPKeyDialog.h \ + gui/connect/FriendRecommendDialog.h \ + gui/msgs/MessagesDialog.h \ + gui/msgs/MessageInterface.h \ + gui/msgs/MessageComposer.h \ + gui/msgs/MessageWindow.h \ + gui/msgs/MessageWidget.h \ + gui/msgs/MessageModel.h \ + gui/msgs/TagsMenu.h \ + gui/msgs/textformat.h \ + gui/msgs/MessageUserNotify.h \ + gui/images/retroshare_win.rc.h \ + gui/settings/RSPermissionMatrixWidget.h \ + gui/settings/rsharesettings.h \ + gui/settings/RsharePeerSettings.h \ + gui/settings/rsettings.h \ + gui/settings/rsettingswin.h \ + gui/settings/GeneralPage.h \ + gui/settings/PeoplePage.h \ + gui/settings/AboutPage.h \ + gui/settings/ServerPage.h \ + gui/settings/NotifyPage.h \ + gui/settings/CryptoPage.h \ + gui/settings/MessagePage.h \ + gui/settings/NewTag.h \ + gui/settings/ForumPage.h \ + gui/settings/PluginsPage.h \ + gui/settings/PluginItem.h \ + gui/settings/AppearancePage.h \ + gui/settings/FileAssociationsPage.h \ + gui/settings/SoundPage.h \ + gui/settings/TransferPage.h \ + gui/settings/ChatPage.h \ + gui/settings/ChannelPage.h \ + gui/settings/PostedPage.h \ + gui/settings/ServicePermissionsPage.h \ + gui/settings/AddFileAssociationDialog.h \ + gui/settings/GroupFrameSettingsWidget.h \ + gui/toaster/ToasterItem.h \ + gui/toaster/MessageToaster.h \ + gui/toaster/OnlineToaster.h \ + gui/toaster/DownloadToaster.h \ + gui/toaster/ChatToaster.h \ + gui/toaster/GroupChatToaster.h \ + gui/toaster/ChatLobbyToaster.h \ + gui/toaster/FriendRequestToaster.h \ + gui/common/RsButtonOnText.h \ + gui/common/RSGraphWidget.h \ + gui/common/ElidedLabel.h \ + gui/common/vmessagebox.h \ + gui/common/RsUrlHandler.h \ + gui/common/RsCollectionDialog.h \ + gui/common/rwindow.h \ + gui/common/rshtml.h \ + gui/common/AvatarDefs.h \ + gui/common/GroupFlagsWidget.h \ + gui/common/GroupSelectionBox.h \ + gui/common/GroupChooser.h \ + gui/common/StatusDefs.h \ + gui/common/TagDefs.h \ + gui/common/GroupDefs.h \ + gui/common/Emoticons.h \ + gui/common/RSComboBox.h \ + gui/common/RSListWidgetItem.h \ + gui/common/RSTextEdit.h \ + gui/common/RSPlainTextEdit.h \ + gui/common/RSTreeWidget.h \ + gui/common/RSTreeWidgetItem.h \ + gui/common/RSFeedWidget.h \ + gui/common/RSTabWidget.h \ + gui/common/RSElidedItemDelegate.h \ + gui/common/RSItemDelegate.h \ + gui/common/PeerDefs.h \ + gui/common/FilesDefs.h \ + gui/common/PopularityDefs.h \ + gui/common/RsBanListDefs.h \ + gui/common/GroupTreeWidget.h \ + gui/common/RSTreeView.h \ + gui/common/AvatarWidget.h \ + gui/common/FriendListModel.h \ + gui/common/NewFriendList.h \ + gui/common/FriendSelectionWidget.h \ + gui/common/FriendSelectionDialog.h \ + gui/common/HashBox.h \ + gui/common/LineEditClear.h \ + gui/common/DropLineEdit.h \ + gui/common/RSTextBrowser.h \ + gui/common/RSImageBlockWidget.h \ + gui/common/FeedNotify.h \ + gui/common/UserNotify.h \ + gui/common/HeaderFrame.h \ + gui/common/MimeTextEdit.h \ + gui/common/UIStateHelper.h \ + gui/common/FloatingHelpBrowser.h \ + gui/common/SubscribeToolButton.h \ + gui/common/RsBanListToolButton.h \ + gui/common/FlowLayout.h \ + gui/common/PictureFlow.h \ + gui/common/ToasterNotify.h \ + gui/style/RSStyle.h \ + gui/style/StyleDialog.h \ + gui/help/browser/helpbrowser.h \ + gui/help/browser/helptextbrowser.h \ + gui/statusbar/peerstatus.h \ + gui/statusbar/natstatus.h \ + gui/statusbar/dhtstatus.h \ + gui/statusbar/torstatus.h \ + gui/statusbar/ratesstatus.h \ + gui/statusbar/hashingstatus.h \ + gui/statusbar/discstatus.h \ + gui/statusbar/SoundStatus.h \ + gui/statusbar/OpModeStatus.h \ + gui/statusbar/ToasterDisable.h \ + gui/statusbar/SysTrayStatus.h \ + gui/advsearch/advancedsearchdialog.h \ + gui/advsearch/expressionwidget.h \ + gui/advsearch/guiexprelement.h \ + gui/elastic/graphwidget.h \ + gui/elastic/edge.h \ + gui/elastic/arrow.h \ + gui/elastic/elnode.h \ + gui/NewsFeed.h \ + gui/feeds/BoardsCommentsItem.h \ + gui/feeds/FeedItem.h \ + gui/feeds/FeedHolder.h \ + gui/feeds/GxsCircleItem.h \ + gui/feeds/ChannelsCommentsItem.h \ + gui/feeds/PeerItem.h \ + gui/feeds/MsgItem.h \ + gui/feeds/ChatMsgItem.h \ + gui/feeds/SubFileItem.h \ + gui/feeds/AttachFileItem.h \ + gui/feeds/SecurityItem.h \ + gui/feeds/SecurityIpItem.h \ + gui/feeds/NewsFeedUserNotify.h \ + gui/connect/ConnectFriendWizard.h \ + gui/connect/ConnectProgressDialog.h \ + gui/groups/CreateGroup.h \ + gui/GetStartedDialog.h \ + gui/statistics/BWGraph.h \ + util/RsSyntaxHighlighter.h \ + util/imageutil.h \ + util/RichTextEdit.h \ + gui/NetworkDialog/pgpid_item_model.h \ + gui/NetworkDialog/pgpid_item_proxy.h \ + gui/common/RsCollection.h \ + util/retroshareWin32.h +# gui/ForumsDialog.h \ +# gui/forums/ForumDetails.h \ +# gui/forums/EditForumDetails.h \ +# gui/forums/CreateForum.h \ +# gui/forums/CreateForumMsg.h \ +# gui/forums/ForumUserNotify.h \ +# gui/feeds/ForumNewItem.h \ +# gui/feeds/ForumMsgItem.h \ +# gui/ChannelFeed.h \ +# gui/feeds/ChanNewItem.h \ +# gui/feeds/ChanMsgItem.h \ +# gui/channels/CreateChannel.h \ +# gui/channels/ChannelDetails.h \ +# gui/channels/CreateChannelMsg.h \ +# gui/channels/EditChanDetails.h \ +# gui/channels/ChannelUserNotify.h \ + +FORMS += gui/StartDialog.ui \ + gui/HomePage.ui\ + gui/GenCertDialog.ui \ + gui/AboutDialog.ui \ + gui/AboutWidget.ui \ + gui/QuickStartWizard.ui \ + gui/NetworkDialog.ui \ + gui/common/AvatarDialog.ui \ + gui/FileTransfer/TransfersDialog.ui \ + gui/FileTransfer/DetailsDialog.ui \ + gui/FileTransfer/SearchDialog.ui \ + gui/FileTransfer/SharedFilesDialog.ui \ + gui/FileTransfer/BannedFilesDialog.ui \ + gui/MainWindow.ui \ + gui/NetworkView.ui \ + gui/FriendsDialog.ui \ + gui/ShareManager.ui \ +# gui/ShareDialog.ui \ + gui/help/browser/helpbrowser.ui \ + gui/HelpDialog.ui \ + gui/ServicePermissionDialog.ui \ + gui/profile/ProfileWidget.ui \ + gui/profile/StatusMessage.ui \ + gui/profile/ProfileManager.ui \ + gui/chat/PopupChatWindow.ui \ + gui/chat/PopupChatDialog.ui \ + gui/chat/ChatTabWidget.ui \ + gui/chat/ChatWidget.ui \ + gui/chat/ChatLobbyDialog.ui \ + gui/chat/CreateLobbyDialog.ui \ + gui/ChatLobbyWidget.ui \ + gui/connect/ConfCertDialog.ui \ + gui/connect/PGPKeyDialog.ui \ + gui/connect/ConnectFriendWizard.ui \ + gui/connect/ConnectProgressDialog.ui \ + gui/connect/FriendRecommendDialog.ui \ + gui/msgs/MessagesDialog.ui \ + gui/msgs/MessageComposer.ui \ + gui/msgs/MessageWindow.ui\ + gui/msgs/MessageWidget.ui\ + gui/settings/settingsw.ui \ + gui/settings/GeneralPage.ui \ + gui/settings/ServerPage.ui \ + gui/settings/NotifyPage.ui \ + gui/settings/PeoplePage.ui \ + gui/settings/CryptoPage.ui \ + gui/settings/MessagePage.ui \ + gui/settings/NewTag.ui \ + gui/settings/ForumPage.ui \ + gui/settings/AboutPage.ui \ + gui/settings/PluginsPage.ui \ + gui/settings/AppearancePage.ui \ + gui/settings/TransferPage.ui \ + gui/settings/SoundPage.ui \ + gui/settings/ChatPage.ui \ + gui/settings/ChannelPage.ui \ + gui/settings/PostedPage.ui \ + gui/settings/ServicePermissionsPage.ui \ + gui/settings/PluginItem.ui \ + gui/settings/GroupFrameSettingsWidget.ui \ + gui/toaster/MessageToaster.ui \ + gui/toaster/OnlineToaster.ui \ + gui/toaster/DownloadToaster.ui \ + gui/toaster/ChatToaster.ui \ + gui/toaster/GroupChatToaster.ui \ + gui/toaster/ChatLobbyToaster.ui \ + gui/toaster/FriendRequestToaster.ui \ + gui/advsearch/AdvancedSearchDialog.ui \ + gui/advsearch/expressionwidget.ui \ + gui/NewsFeed.ui \ + gui/feeds/BoardsCommentsItem.ui \ + gui/feeds/GxsCircleItem.ui \ + gui/feeds/ChannelsCommentsItem.ui \ + gui/feeds/PeerItem.ui \ + gui/feeds/MsgItem.ui \ + gui/feeds/ChatMsgItem.ui \ + gui/feeds/SubFileItem.ui \ + gui/feeds/AttachFileItem.ui \ + gui/feeds/SecurityItem.ui \ + gui/feeds/SecurityIpItem.ui \ + gui/im_history/ImHistoryBrowser.ui \ + gui/groups/CreateGroup.ui \ + gui/common/GroupTreeWidget.ui \ + gui/common/AvatarWidget.ui \ + gui/common/NewFriendList.ui \ + gui/common/FriendSelectionWidget.ui \ + gui/common/HashBox.ui \ + gui/common/RSImageBlockWidget.ui \ + gui/common/RsCollectionDialog.ui \ + gui/common/HeaderFrame.ui \ + gui/common/RSFeedWidget.ui \ + gui/style/StyleDialog.ui \ + gui/statistics/BandwidthGraphWindow.ui \ + gui/statistics/BandwidthStatsWidget.ui \ + gui/statistics/DhtWindow.ui \ + gui/statistics/TurtleRouterDialog.ui \ + gui/statistics/TurtleRouterStatistics.ui \ + gui/statistics/GxsIdStatistics.ui \ + gui/statistics/GlobalRouterStatistics.ui \ + gui/statistics/GxsTransportStatistics.ui \ + gui/statistics/StatisticsWindow.ui \ + gui/statistics/BwCtrlWindow.ui \ + gui/statistics/RttStatistics.ui \ + gui/GetStartedDialog.ui \ + util/RichTextEdit.ui + + +# gui/ForumsDialog.ui \ +# gui/forums/CreateForum.ui \ +# gui/forums/CreateForumMsg.ui \ +# gui/forums/ForumDetails.ui \ +# gui/forums/EditForumDetails.ui \ +# gui/feeds/ForumNewItem.ui \ +# gui/feeds/ForumMsgItem.ui \ +# gui/ChannelFeed.ui \ +# gui/channels/CreateChannel.ui \ +# gui/channels/CreateChannelMsg.ui \ +# gui/channels/ChannelDetails.ui \ +# gui/channels/EditChanDetails.ui \ +# gui/feeds/ChanNewItem.ui \ +# gui/feeds/ChanMsgItem.ui \ + +SOURCES += main.cpp \ + rshare.cpp \ + gui/notifyqt.cpp \ + gui/AboutDialog.cpp \ + gui/AboutWidget.cpp \ + gui/QuickStartWizard.cpp \ + gui/StartDialog.cpp \ + gui/HomePage.cpp\ + gui/GenCertDialog.cpp \ + gui/NetworkDialog.cpp \ + gui/mainpagestack.cpp \ + gui/MainWindow.cpp \ + gui/NetworkView.cpp \ + gui/FriendsDialog.cpp \ + gui/ServicePermissionDialog.cpp \ + gui/RemoteDirModel.cpp \ + gui/RsAutoUpdatePage.cpp \ + gui/RetroShareLink.cpp \ + gui/SearchTreeWidget.cpp \ + gui/ShareManager.cpp \ +# gui/ShareDialog.cpp \ +# gui/SFListDelegate.cpp \ + gui/SoundManager.cpp \ + gui/im_history/ImHistoryBrowser.cpp \ + gui/im_history/IMHistoryItemDelegate.cpp \ + gui/im_history/IMHistoryItemPainter.cpp \ + gui/help/browser/helpbrowser.cpp \ + gui/help/browser/helptextbrowser.cpp \ + gui/FileTransfer/SearchDialog.cpp \ + gui/FileTransfer/SharedFilesDialog.cpp \ + gui/FileTransfer/TransfersDialog.cpp \ + gui/FileTransfer/FileTransferInfoWidget.cpp \ + gui/FileTransfer/DLListDelegate.cpp \ + gui/FileTransfer/ULListDelegate.cpp \ + gui/FileTransfer/xprogressbar.cpp \ + gui/FileTransfer/DetailsDialog.cpp \ + gui/FileTransfer/TransferUserNotify.cpp \ + gui/FileTransfer/BannedFilesDialog.cpp \ + gui/MainPage.cpp \ + gui/HelpDialog.cpp \ + gui/LogoBar.cpp \ + lang/languagesupport.cpp \ + util/RsProtectedTimer.cpp \ + util/stringutil.cpp \ + util/RsNetUtil.cpp \ + util/DateTime.cpp \ + util/RetroStyleLabel.cpp \ + util/WidgetBackgroundImage.cpp \ +# util/NonCopyable.cpp \ + util/PixmapMerging.cpp \ + util/MouseEventFilter.cpp \ + util/EventFilter.cpp \ + util/Widget.cpp \ + util/RsAction.cpp \ + util/printpreview.cpp \ + util/log.cpp \ + util/misc.cpp \ + util/HandleRichText.cpp \ + util/ObjectPainter.cpp \ + util/RsFile.cpp \ + util/RichTextEdit.cpp \ + util/ClickableLabel.cpp \ + util/AspectRatioPixmapLabel.cpp \ + gui/profile/ProfileWidget.cpp \ + gui/profile/StatusMessage.cpp \ + gui/profile/ProfileManager.cpp \ + gui/chat/PopupChatWindow.cpp \ + gui/chat/PopupChatDialog.cpp \ + gui/chat/PopupDistantChatDialog.cpp \ + gui/chat/ChatTabWidget.cpp \ + gui/chat/ChatWidget.cpp \ + gui/chat/ChatDialog.cpp \ + gui/ChatLobbyWidget.cpp \ + gui/chat/ChatLobbyDialog.cpp \ + gui/chat/CreateLobbyDialog.cpp \ + gui/chat/ChatStyle.cpp \ + gui/chat/ChatUserNotify.cpp \ + gui/chat/ChatLobbyUserNotify.cpp \ + gui/connect/ConfCertDialog.cpp \ + gui/connect/PGPKeyDialog.cpp \ + gui/msgs/MessagesDialog.cpp \ + gui/msgs/MessageComposer.cpp \ + gui/msgs/MessageWidget.cpp \ + gui/msgs/MessageWindow.cpp \ + gui/msgs/MessageModel.cpp \ + gui/msgs/TagsMenu.cpp \ + gui/msgs/MessageUserNotify.cpp \ + gui/common/RsButtonOnText.cpp \ + gui/common/RSGraphWidget.cpp \ + gui/common/ElidedLabel.cpp \ + gui/common/vmessagebox.cpp \ + gui/common/RsCollectionDialog.cpp \ + gui/common/RsUrlHandler.cpp \ + gui/common/rwindow.cpp \ + gui/common/rshtml.cpp \ + gui/common/AvatarDefs.cpp \ + gui/common/AvatarDialog.cpp \ + gui/common/GroupFlagsWidget.cpp \ + gui/common/GroupSelectionBox.cpp \ + gui/common/GroupChooser.cpp \ + gui/common/StatusDefs.cpp \ + gui/common/TagDefs.cpp \ + gui/common/GroupDefs.cpp \ + gui/common/Emoticons.cpp \ + gui/common/RSComboBox.cpp \ + gui/common/RSListWidgetItem.cpp \ + gui/common/RSTextEdit.cpp \ + gui/common/RSPlainTextEdit.cpp \ + gui/common/RSTreeWidget.cpp \ + gui/common/RSTreeWidgetItem.cpp \ + gui/common/RSFeedWidget.cpp \ + gui/common/RSTabWidget.cpp \ + gui/common/RSElidedItemDelegate.cpp \ + gui/common/RSItemDelegate.cpp \ + gui/common/PeerDefs.cpp \ + gui/common/FilesDefs.cpp \ + gui/common/PopularityDefs.cpp \ + gui/common/RsBanListDefs.cpp \ + gui/common/GroupTreeWidget.cpp \ + gui/common/RSTreeView.cpp \ + gui/common/AvatarWidget.cpp \ + gui/common/FriendListModel.cpp \ + gui/common/NewFriendList.cpp \ + gui/common/FriendSelectionWidget.cpp \ + gui/common/FriendSelectionDialog.cpp \ + gui/common/HashBox.cpp \ + gui/common/LineEditClear.cpp \ + gui/common/DropLineEdit.cpp \ + gui/common/RSTextBrowser.cpp \ + gui/common/RSImageBlockWidget.cpp \ + gui/common/FeedNotify.cpp \ + gui/common/UserNotify.cpp \ + gui/common/HeaderFrame.cpp \ + gui/common/MimeTextEdit.cpp \ + gui/common/UIStateHelper.cpp \ + gui/common/FloatingHelpBrowser.cpp \ + gui/common/SubscribeToolButton.cpp \ + gui/common/RsBanListToolButton.cpp \ + gui/common/FlowLayout.cpp \ + gui/common/PictureFlow.cpp \ + gui/common/ToasterNotify.cpp \ + gui/style/RSStyle.cpp \ + gui/style/StyleDialog.cpp \ + gui/settings/RSPermissionMatrixWidget.cpp \ + gui/settings/rsharesettings.cpp \ + gui/settings/RsharePeerSettings.cpp \ + gui/settings/rsettings.cpp \ + gui/settings/rsettingswin.cpp \ + gui/settings/GeneralPage.cpp \ + gui/settings/AboutPage.cpp \ + gui/settings/ServerPage.cpp \ + gui/settings/NotifyPage.cpp \ + gui/settings/CryptoPage.cpp \ + gui/settings/PeoplePage.cpp \ + gui/settings/MessagePage.cpp \ + gui/settings/NewTag.cpp \ + gui/settings/ForumPage.cpp \ + gui/settings/PluginsPage.cpp \ + gui/settings/PluginItem.cpp \ + gui/settings/AppearancePage.cpp \ + gui/settings/FileAssociationsPage.cpp \ + gui/settings/SoundPage.cpp \ + gui/settings/TransferPage.cpp \ + gui/settings/ChatPage.cpp \ + gui/settings/ChannelPage.cpp \ + gui/settings/PostedPage.cpp \ + gui/settings/ServicePermissionsPage.cpp \ + gui/settings/AddFileAssociationDialog.cpp \ + gui/settings/GroupFrameSettingsWidget.cpp \ + gui/statusbar/peerstatus.cpp \ + gui/statusbar/natstatus.cpp \ + gui/statusbar/dhtstatus.cpp \ + gui/statusbar/torstatus.cpp \ + gui/statusbar/ratesstatus.cpp \ + gui/statusbar/hashingstatus.cpp \ + gui/statusbar/discstatus.cpp \ + gui/statusbar/SoundStatus.cpp \ + gui/statusbar/OpModeStatus.cpp \ + gui/statusbar/ToasterDisable.cpp \ + gui/statusbar/SysTrayStatus.cpp \ + gui/toaster/ToasterItem.cpp \ + gui/toaster/MessageToaster.cpp \ + gui/toaster/DownloadToaster.cpp \ + gui/toaster/OnlineToaster.cpp \ + gui/toaster/ChatToaster.cpp \ + gui/toaster/GroupChatToaster.cpp \ + gui/toaster/ChatLobbyToaster.cpp \ + gui/toaster/FriendRequestToaster.cpp \ + gui/advsearch/advancedsearchdialog.cpp \ + gui/advsearch/expressionwidget.cpp \ + gui/advsearch/guiexprelement.cpp \ + gui/elastic/graphwidget.cpp \ + gui/elastic/edge.cpp \ + gui/elastic/arrow.cpp \ + gui/elastic/elnode.cpp \ + gui/NewsFeed.cpp \ + gui/feeds/BoardsCommentsItem.cpp \ + gui/feeds/FeedItem.cpp \ + gui/feeds/FeedHolder.cpp \ + gui/feeds/GxsCircleItem.cpp \ + gui/feeds/ChannelsCommentsItem.cpp \ + gui/feeds/PeerItem.cpp \ + gui/feeds/MsgItem.cpp \ + gui/feeds/ChatMsgItem.cpp \ + gui/feeds/SubFileItem.cpp \ + gui/feeds/AttachFileItem.cpp \ + gui/feeds/SecurityItem.cpp \ + gui/feeds/SecurityIpItem.cpp \ + gui/feeds/NewsFeedUserNotify.cpp \ + gui/connect/ConnectFriendWizard.cpp \ + gui/connect/ConnectProgressDialog.cpp \ + gui/connect/FriendRecommendDialog.cpp \ + gui/groups/CreateGroup.cpp \ + gui/GetStartedDialog.cpp \ + gui/statistics/BandwidthGraphWindow.cpp \ + gui/statistics/BandwidthStatsWidget.cpp \ + gui/statistics/DhtWindow.cpp \ + gui/statistics/Histogram.cpp \ + gui/statistics/TurtleRouterDialog.cpp \ + gui/statistics/TurtleRouterStatistics.cpp \ + gui/statistics/GxsIdStatistics.cpp \ + gui/statistics/GlobalRouterStatistics.cpp \ + gui/statistics/GxsTransportStatistics.cpp \ + gui/statistics/StatisticsWindow.cpp \ + gui/statistics/BwCtrlWindow.cpp \ + gui/statistics/RttStatistics.cpp \ + gui/statistics/BWGraph.cpp \ + util/RsSyntaxHighlighter.cpp \ + util/imageutil.cpp \ + gui/NetworkDialog/pgpid_item_model.cpp \ + gui/NetworkDialog/pgpid_item_proxy.cpp \ + gui/common/RsCollection.cpp \ + util/retroshareWin32.cpp +# gui/ForumsDialog.cpp \ +# gui/forums/ForumDetails.cpp \ +# gui/forums/EditForumDetails.cpp \ +# gui/forums/CreateForum.cpp \ +# gui/forums/CreateForumMsg.cpp \ +# gui/forums/ForumUserNotify.cpp \ +# gui/feeds/ForumNewItem.cpp \ +# gui/feeds/ForumMsgItem.cpp \ +# gui/ChannelFeed.cpp \ +# gui/channels/CreateChannel.cpp \ +# gui/channels/CreateChannelMsg.cpp \ +# gui/channels/ChannelDetails.cpp \ +# gui/channels/EditChanDetails.cpp \ +# gui/channels/ChannelUserNotify.cpp \ +# gui/feeds/ChanNewItem.cpp \ +# gui/feeds/ChanMsgItem.cpp \ + +RESOURCES += gui/images.qrc gui/icons.qrc lang/lang.qrc gui/help/content/content.qrc gui/emojione.qrc \ + gui/qss/stylesheet/qdarkstyle/dark/Standard_Dark.qrc \ + gui/qss/stylesheet/qdarkstyle/light/Standard_Light.qrc + +TRANSLATIONS += \ + lang/retroshare_ca_ES.ts \ + lang/retroshare_cs.ts \ + lang/retroshare_da.ts \ + lang/retroshare_de.ts \ + lang/retroshare_el.ts \ + lang/retroshare_en.ts \ + lang/retroshare_es.ts \ + lang/retroshare_fi.ts \ + lang/retroshare_fr.ts \ + lang/retroshare_hu.ts \ + lang/retroshare_it.ts \ + lang/retroshare_ja_JP.ts \ + lang/retroshare_nl.ts \ + lang/retroshare_ko.ts \ + lang/retroshare_pl.ts \ + lang/retroshare_ru.ts \ + lang/retroshare_sv.ts \ + lang/retroshare_tr.ts \ + lang/retroshare_zh_CN.ts + +unfinishedtranslations { + + TRANSLATIONS += \ + lang/retroshare_bg.ts \ + lang/retroshare_af.ts \ + lang/retroshare_pt.ts \ + lang/retroshare_sl.ts \ + lang/retroshare_sr.ts \ + lang/retroshare_zh_TW.ts + +} + +messenger { + SOURCES += gui/MessengerWindow.cpp \ + gui/common/FriendList.cpp + HEADERS += gui/MessengerWindow.h \ + gui/common/FriendList.h + FORMS += gui/MessengerWindow.ui \ + gui/common/FriendList.ui + + DEFiNES += MESSENGER_WINDOW +} + +# Shifted Qt4.4 dependancies to here. +# qmake CONFIG=pluginmgr + +pluginmgr { + + SOURCES += gui/PluginsPage.cpp \ + gui/PluginManagerWidget.cpp \ + gui/PluginManager.cpp + + HEADERS += gui/PluginsPage.h \ + gui/PluginManagerWidget.h \ + gui/PluginManager.h + + DEFINES *= PLUGINMGR + +} + +idle { + +HEADERS += idle/idle.h + +SOURCES += idle/idle.cpp \ + idle/idle_platform.cpp +} + +framecatcher { + +HEADERS += util/framecatcher.h + +SOURCES += util/framecatcher.cpp + +LIBS += -lxine + +DEFINES *= CHANNELS_FRAME_CATCHER + +} + +# Embedded Friend Server + +rs_efs { + DEFINES *= RS_EMBEDED_FRIEND_SERVER + SOURCES += gui/FriendServerControl.cpp + HEADERS += gui/FriendServerControl.h + FORMS += gui/FriendServerControl.ui +} + +# BELOW IS GXS Unfinished Services. + +unfinished_services { + + DEPENDPATH += gui/unfinished \ + + HEADERS += gui/unfinished/ApplicationWindow.h \ + +# gui/unfinished/CalDialog.h \ +# gui/unfinished/ExampleDialog.h \ +# gui/unfinished/GamesDialog.h \ +# gui/unfinished/profile/ProfileView.h \ +# gui/unfinished/profile/ProfileEdit.h +# gui/unfinished/StatisticDialog.h \ +# gui/unfinished/PhotoDialog.h \ +# gui/unfinished/PhotoShow.h \ + + FORMS += gui/unfinished/ApplicationWindow.ui \ + +# gui/unfinished/CalDialog.ui \ +# gui/unfinished/ExampleDialog.ui \ +# gui/unfinished/GamesDialog.ui \ +# gui/unfinished/profile/ProfileView.ui \ +# gui/unfinished/profile/ProfileEdit.ui +# gui/unfinished/StatisticDialog.ui \ +# gui/unfinished/PhotoDialog.ui \ +# gui/unfinished/PhotoShow.ui \ + + SOURCES += gui/unfinished/ApplicationWindow.cpp \ + +# gui/unfinished/CalDialog.cpp \ +# gui/unfinished/ExampleDialog.cpp \ +# gui/unfinished/GamesDialog.cpp \ +# gui/unfinished/profile/ProfileView.cpp \ +# gui/unfinished/profile/ProfileEdit.cpp +# gui/unfinished/StatisticDialog.cpp \ +# gui/unfinished/PhotoDialog.cpp \ +# gui/unfinished/PhotoShow.cpp \ + + DEFINES *= UNFINISHED +} + + +gxsphotoshare { + #DEFINES += RS_USE_PHOTOSHARE # to enable in unfinished. + DEFINES += RS_USE_PHOTO # enable in MainWindow + + HEADERS += \ + gui/PhotoShare/AlbumGroupDialog.h \ + gui/PhotoShare/AlbumExtra.h \ + gui/PhotoShare/PhotoDrop.h \ + gui/PhotoShare/AlbumItem.h \ + gui/PhotoShare/AlbumDialog.h \ + gui/PhotoShare/PhotoItem.h \ + gui/PhotoShare/PhotoShareItemHolder.h \ + gui/PhotoShare/PhotoShare.h \ + gui/PhotoShare/PhotoSlideShow.h \ + gui/PhotoShare/PhotoDialog.h + + FORMS += \ + gui/PhotoShare/AlbumExtra.ui \ + gui/PhotoShare/PhotoItem.ui \ + gui/PhotoShare/PhotoDialog.ui \ + gui/PhotoShare/AlbumItem.ui \ + gui/PhotoShare/AlbumDialog.ui \ + gui/PhotoShare/PhotoShare.ui \ + gui/PhotoShare/PhotoSlideShow.ui + + SOURCES += \ + gui/PhotoShare/AlbumGroupDialog.cpp \ + gui/PhotoShare/AlbumExtra.cpp \ + gui/PhotoShare/PhotoItem.cpp \ + gui/PhotoShare/PhotoDialog.cpp \ + gui/PhotoShare/PhotoDrop.cpp \ + gui/PhotoShare/AlbumItem.cpp \ + gui/PhotoShare/AlbumDialog.cpp \ + gui/PhotoShare/PhotoShareItemHolder.cpp \ + gui/PhotoShare/PhotoShare.cpp \ + gui/PhotoShare/PhotoSlideShow.cpp + + RESOURCES += gui/PhotoShare/Photo_images.qrc + +} + + +wikipoos { + DEFINES += RS_USE_WIKI + + DEPENDPATH += ../../supportlibs/pegmarkdown + INCLUDEPATH += ../../supportlibs/pegmarkdown + + HEADERS += gui/WikiPoos/WikiDialog.h \ + gui/WikiPoos/WikiAddDialog.h \ + gui/WikiPoos/WikiEditDialog.h \ + gui/gxs/WikiGroupDialog.h \ + + FORMS += gui/WikiPoos/WikiDialog.ui \ + gui/WikiPoos/WikiAddDialog.ui \ + gui/WikiPoos/WikiEditDialog.ui \ + + SOURCES += gui/WikiPoos/WikiDialog.cpp \ + gui/WikiPoos/WikiAddDialog.cpp \ + gui/WikiPoos/WikiEditDialog.cpp \ + gui/gxs/WikiGroupDialog.cpp \ + + RESOURCES += gui/WikiPoos/Wiki_images.qrc + +} + + + +gxsthewire { + + DEFINES += RS_USE_WIRE + + HEADERS += gui/TheWire/WireDialog.h \ + gui/TheWire/WireGroupItem.h \ + gui/TheWire/WireGroupDialog.h \ + gui/TheWire/WireGroupExtra.h \ + gui/TheWire/PulseAddDialog.h \ + gui/TheWire/PulseViewItem.h \ + gui/TheWire/PulseTopLevel.h \ + gui/TheWire/PulseViewGroup.h \ + gui/TheWire/PulseReply.h \ + gui/TheWire/PulseReplySeperator.h \ + gui/TheWire/PulseMessage.h \ + gui/TheWire/CustomFrame.h \ + + FORMS += gui/TheWire/WireDialog.ui \ + gui/TheWire/WireGroupItem.ui \ + gui/TheWire/WireGroupExtra.ui \ + gui/TheWire/PulseAddDialog.ui \ + gui/TheWire/PulseTopLevel.ui \ + gui/TheWire/PulseViewGroup.ui \ + gui/TheWire/PulseReply.ui \ + gui/TheWire/PulseReplySeperator.ui \ + gui/TheWire/PulseMessage.ui \ + + SOURCES += gui/TheWire/WireDialog.cpp \ + gui/TheWire/WireGroupItem.cpp \ + gui/TheWire/WireGroupDialog.cpp \ + gui/TheWire/WireGroupExtra.cpp \ + gui/TheWire/PulseAddDialog.cpp \ + gui/TheWire/PulseViewItem.cpp \ + gui/TheWire/PulseTopLevel.cpp \ + gui/TheWire/PulseViewGroup.cpp \ + gui/TheWire/PulseReply.cpp \ + gui/TheWire/PulseReplySeperator.cpp \ + gui/TheWire/PulseMessage.cpp \ + gui/TheWire/CustomFrame.cpp \ + + RESOURCES += gui/TheWire/TheWire_images.qrc +} + +identities { + + HEADERS += \ + gui/Identity/IdDialog.h \ + gui/Identity/IdEditDialog.h \ + gui/Identity/IdDetailsDialog.h \ + + FORMS += gui/Identity/IdDialog.ui \ + gui/Identity/IdEditDialog.ui \ + gui/Identity/IdDetailsDialog.ui \ + + SOURCES += \ + gui/Identity/IdDialog.cpp \ + gui/Identity/IdEditDialog.cpp \ + gui/Identity/IdDetailsDialog.cpp \ + +} + +gxscircles { + DEFINES += RS_USE_CIRCLES +# DEFINES += RS_USE_NEW_PEOPLE_DIALOG + + HEADERS += \ + gui/Circles/CirclesDialog.h \ + gui/Circles/CreateCircleDialog.h \ + + FORMS += gui/Circles/CirclesDialog.ui \ + gui/Circles/CreateCircleDialog.ui \ + + SOURCES += \ + gui/Circles/CirclesDialog.cpp \ + gui/Circles/CreateCircleDialog.cpp \ + + HEADERS += gui/People/PeopleDialog.h + HEADERS += gui/People/CircleWidget.h + HEADERS += gui/People/IdentityWidget.h + + FORMS += gui/People/PeopleDialog.ui + FORMS += gui/People/CircleWidget.ui + FORMS += gui/People/IdentityWidget.ui + + SOURCES += gui/People/PeopleDialog.cpp + SOURCES += gui/People/CircleWidget.cpp + SOURCES += gui/People/IdentityWidget.cpp + +#HEADERS += gui/People/IdentityItem.h +#HEADERS += gui/People/CircleItem.h +#HEADERS += gui/People/GroupListView.h +#SOURCES += gui/People/GroupListView.cpp +#SOURCES += gui/People/IdentityItem.cpp +#SOURCES += gui/People/CircleItem.cpp + + +} + + +gxsforums { + + HEADERS += gui/gxsforums/GxsForumsDialog.h \ + gui/gxsforums/GxsForumGroupDialog.h \ + gui/gxsforums/CreateGxsForumMsg.h \ + gui/gxsforums/GxsForumThreadWidget.h \ + gui/gxsforums/GxsForumModel.h \ + gui/gxsforums/GxsForumUserNotify.h \ + gui/feeds/GxsForumGroupItem.h \ + gui/feeds/GxsForumMsgItem.h + + FORMS += gui/gxsforums/CreateGxsForumMsg.ui \ + gui/gxsforums/GxsForumThreadWidget.ui \ + gui/feeds/GxsForumGroupItem.ui \ + gui/feeds/GxsForumMsgItem.ui + + SOURCES += gui/gxsforums/GxsForumsDialog.cpp \ + gui/gxsforums/GxsForumGroupDialog.cpp \ + gui/gxsforums/CreateGxsForumMsg.cpp \ + gui/gxsforums/GxsForumThreadWidget.cpp \ + gui/gxsforums/GxsForumModel.cpp \ + gui/gxsforums/GxsForumUserNotify.cpp \ + gui/feeds/GxsForumGroupItem.cpp \ + gui/feeds/GxsForumMsgItem.cpp +} + + +gxschannels { + + HEADERS += gui/gxschannels/GxsChannelDialog.h \ + gui/gxschannels/GxsChannelGroupDialog.h \ + gui/gxschannels/CreateGxsChannelMsg.h \ + gui/gxschannels/GxsChannelPostsWidgetWithModel.h \ + gui/gxschannels/GxsChannelPostsModel.h \ + gui/gxschannels/GxsChannelPostFilesModel.h \ + gui/gxschannels/GxsChannelPostThumbnail.h \ + gui/gxschannels/GxsChannelFilesStatusWidget.h \ + gui/feeds/GxsChannelGroupItem.h \ + gui/feeds/GxsChannelPostItem.h \ + gui/gxschannels/GxsChannelUserNotify.h + + FORMS += \ + gui/gxschannels/GxsChannelPostsWidgetWithModel.ui \ + gui/gxschannels/GxsChannelFilesStatusWidget.ui \ + gui/gxschannels/CreateGxsChannelMsg.ui \ + gui/feeds/GxsChannelGroupItem.ui \ + gui/feeds/GxsChannelPostItem.ui + + SOURCES += gui/gxschannels/GxsChannelDialog.cpp \ + gui/gxschannels/GxsChannelPostsWidgetWithModel.cpp \ + gui/gxschannels/GxsChannelPostsModel.cpp \ + gui/gxschannels/GxsChannelPostFilesModel.cpp \ + gui/gxschannels/GxsChannelFilesStatusWidget.cpp \ + gui/gxschannels/GxsChannelPostThumbnail.cpp \ + gui/gxschannels/GxsChannelGroupDialog.cpp \ + gui/gxschannels/CreateGxsChannelMsg.cpp \ + gui/feeds/GxsChannelGroupItem.cpp \ + gui/feeds/GxsChannelPostItem.cpp \ + gui/gxschannels/GxsChannelUserNotify.cpp +} + + +posted { + + HEADERS += gui/Posted/PostedDialog.h \ + gui/Posted/PostedListWidgetWithModel.h \ + gui/Posted/PostedPostsModel.h \ + gui/Posted/BoardPostDisplayWidget.h \ + gui/Posted/PostedItem.h \ + gui/Posted/PostedCardView.h \ + gui/Posted/PostedGroupDialog.h \ + gui/feeds/PostedGroupItem.h \ + gui/Posted/PostedCreatePostDialog.h \ + gui/Posted/PhotoView.h \ + gui/Posted/PostedUserNotify.h + + #gui/Posted/PostedCreateCommentDialog.h \ + #gui/Posted/PostedComments.h \ + + FORMS += gui/Posted/PostedListWidgetWithModel.ui \ + gui/feeds/PostedGroupItem.ui \ + gui/Posted/BoardPostDisplayWidget_compact.ui \ + gui/Posted/BoardPostDisplayWidget_card.ui \ + gui/Posted/PostedItem.ui \ + gui/Posted/PostedCardView.ui \ + gui/Posted/PostedCreatePostDialog.ui \ + gui/Posted/PhotoView.ui \ + #gui/Posted/PostedDialog.ui \ + #gui/Posted/PostedComments.ui \ + #gui/Posted/PostedCreateCommentDialog.ui + + SOURCES += gui/Posted/PostedDialog.cpp \ + gui/Posted/PostedListWidgetWithModel.cpp \ + gui/Posted/BoardPostDisplayWidget.cpp \ + gui/Posted/PostedPostsModel.cpp \ + gui/feeds/PostedGroupItem.cpp \ + gui/Posted/PostedItem.cpp \ + gui/Posted/PostedCardView.cpp \ + gui/Posted/PostedGroupDialog.cpp \ + gui/Posted/PostedCreatePostDialog.cpp \ + gui/Posted/PhotoView.cpp \ + gui/Posted/PostedUserNotify.cpp + + #gui/Posted/PostedDialog.cpp \ + #gui/Posted/PostedComments.cpp \ + #gui/Posted/PostedCreateCommentDialog.cpp + + RESOURCES += gui/Posted/Posted_images.qrc +} + +gxsgui { + + HEADERS += gui/gxs/GxsGroupDialog.h \ + gui/gxs/GxsIdDetails.h \ + gui/gxs/GxsIdChooser.h \ + gui/gxs/GxsIdLabel.h \ + gui/gxs/GxsCircleChooser.h \ + gui/gxs/GxsCircleLabel.h \ + gui/gxs/GxsIdTreeWidgetItem.h \ + gui/gxs/GxsCommentTreeWidget.h \ + gui/gxs/GxsCommentContainer.h \ + gui/gxs/GxsCommentDialog.h \ + gui/gxs/GxsCreateCommentDialog.h \ + gui/gxs/GxsGroupFrameDialog.h \ + gui/gxs/GxsMessageFrameWidget.h \ + gui/gxs/GxsMessageFramePostWidget.h \ + gui/gxs/GxsGroupFeedItem.h \ + gui/gxs/GxsFeedItem.h \ + gui/gxs/GxsGroupShareKey.h \ + gui/gxs/GxsUserNotify.h \ + gui/gxs/GxsFeedWidget.h \ + util/TokenQueue.h \ + util/RsGxsUpdateBroadcast.h \ + +# gui/gxs/GxsMsgDialog.h \ + + FORMS += gui/gxs/GxsGroupDialog.ui \ + gui/gxs/GxsCommentContainer.ui \ + gui/gxs/GxsCommentDialog.ui \ + gui/gxs/GxsCreateCommentDialog.ui \ + gui/gxs/GxsGroupFrameDialog.ui\ + gui/gxs/GxsGroupShareKey.ui +# gui/gxs/GxsMsgDialog.ui \ +# gui/gxs/GxsCommentTreeWidget.ui + + SOURCES += gui/gxs/GxsGroupDialog.cpp \ + gui/gxs/GxsIdDetails.cpp \ + gui/gxs/GxsIdChooser.cpp \ + gui/gxs/GxsIdLabel.cpp \ + gui/gxs/GxsCircleChooser.cpp \ + gui/gxs/GxsGroupShareKey.cpp \ + gui/gxs/GxsCircleLabel.cpp \ + gui/gxs/GxsIdTreeWidgetItem.cpp \ + gui/gxs/GxsCommentTreeWidget.cpp \ + gui/gxs/GxsCommentContainer.cpp \ + gui/gxs/GxsCommentDialog.cpp \ + gui/gxs/GxsCreateCommentDialog.cpp \ + gui/gxs/GxsGroupFrameDialog.cpp \ + gui/gxs/GxsMessageFrameWidget.cpp \ + gui/gxs/GxsMessageFramePostWidget.cpp \ + gui/gxs/GxsGroupFeedItem.cpp \ + gui/gxs/GxsFeedItem.cpp \ + gui/gxs/GxsUserNotify.cpp \ + gui/gxs/GxsFeedWidget.cpp \ + util/TokenQueue.cpp \ + util/RsGxsUpdateBroadcast.cpp \ + +# gui/gxs/GxsMsgDialog.cpp \ + + +} + + +wikipoos { + HEADERS += \ + gui/gxs/RsGxsUpdateBroadcastBase.h \ + gui/gxs/RsGxsUpdateBroadcastWidget.h \ + gui/gxs/RsGxsUpdateBroadcastPage.h + + SOURCES += \ + gui/gxs/RsGxsUpdateBroadcastBase.cpp \ + gui/gxs/RsGxsUpdateBroadcastWidget.cpp \ + gui/gxs/RsGxsUpdateBroadcastPage.cpp \ +} + +################################################################ +#Define qmake_info.h file so GUI can get wath was used to compil +# This must be at end to get all informations +################################################################ +RS_QMAKE_DEFINES=\\\"$${DEFINES}\\\" +RS_QMAKE_CONFIG=\\\"$${CONFIG}\\\" + +INCLUDEPATH += $$OUT_PWD/include +info_file.input = $$PWD/qmake_info.h.in +info_file.output = $$OUT_PWD/include/qmake_info.h + +QMAKE_SUBSTITUTES += info_file +OTHER_FILES += \ + qmake_info.h.in From 680c1942df28e98905943464d7b1e91059e864aa Mon Sep 17 00:00:00 2001 From: PYRET1C <88980503+PYRET1C@users.noreply.github.com> Date: Sun, 2 Jul 2023 11:29:02 +0530 Subject: [PATCH 18/65] Revert "Changes to the .pro file for the newly made files." This reverts commit 3cc077ff381dbf64687ed2d3abf04d0d29921675. bad commit --- .../src/gui/TheWire/CustomFrame.cpp | 19 - retroshare-gui/src/gui/TheWire/CustomFrame.h | 19 - .../src/gui/TheWire/PulseViewGroup.cpp | 2 +- .../src/gui/TheWire/PulseViewGroup.ui | 6 +- retroshare-gui/src/retroshare-gui.pro | 3012 ++++++++--------- 5 files changed, 1507 insertions(+), 1551 deletions(-) diff --git a/retroshare-gui/src/gui/TheWire/CustomFrame.cpp b/retroshare-gui/src/gui/TheWire/CustomFrame.cpp index e08e03895..20059222d 100644 --- a/retroshare-gui/src/gui/TheWire/CustomFrame.cpp +++ b/retroshare-gui/src/gui/TheWire/CustomFrame.cpp @@ -1,22 +1,3 @@ -/******************************************************************************* - * gui/TheWire/CustomFrame.cpp * - * * - * Copyright (c) 2012-2020 Robert Fernie * - * * - * This program is free software: you can redistribute it and/or modify * - * it under the terms of the GNU Affero General Public License as * - * published by the Free Software Foundation, either version 3 of the * - * License, or (at your option) any later version. * - * * - * This program is distributed in the hope that it will be useful, * - * but WITHOUT ANY WARRANTY; without even the implied warranty of * - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * - * GNU Affero General Public License for more details. * - * * - * You should have received a copy of the GNU Affero General Public License * - * along with this program. If not, see . * - * * - *******************************************************************************/ #include "CustomFrame.h" #include diff --git a/retroshare-gui/src/gui/TheWire/CustomFrame.h b/retroshare-gui/src/gui/TheWire/CustomFrame.h index b0abd131b..ebe2bfa8c 100644 --- a/retroshare-gui/src/gui/TheWire/CustomFrame.h +++ b/retroshare-gui/src/gui/TheWire/CustomFrame.h @@ -1,22 +1,3 @@ -/******************************************************************************* - * gui/TheWire/CustomFrame.h * - * * - * Copyright (c) 2012-2020 Robert Fernie * - * * - * This program is free software: you can redistribute it and/or modify * - * it under the terms of the GNU Affero General Public License as * - * published by the Free Software Foundation, either version 3 of the * - * License, or (at your option) any later version. * - * * - * This program is distributed in the hope that it will be useful, * - * but WITHOUT ANY WARRANTY; without even the implied warranty of * - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * - * GNU Affero General Public License for more details. * - * * - * You should have received a copy of the GNU Affero General Public License * - * along with this program. If not, see . * - * * - *******************************************************************************/ #ifndef CUSTOMFRAMEH_H #define CUSTOMFRAMEH_H diff --git a/retroshare-gui/src/gui/TheWire/PulseViewGroup.cpp b/retroshare-gui/src/gui/TheWire/PulseViewGroup.cpp index cf7b4cfca..56c4eabdc 100644 --- a/retroshare-gui/src/gui/TheWire/PulseViewGroup.cpp +++ b/retroshare-gui/src/gui/TheWire/PulseViewGroup.cpp @@ -65,7 +65,7 @@ void PulseViewGroup::setup() QSize frameSize = frame_masthead->size(); // Scale the pixmap based on the frame size - pixmap = pixmap.scaledToWidth(frameSize.width(), Qt::SmoothTransformation); + pixmap = pixmap.scaled(frameSize, Qt::KeepAspectRatio, Qt::SmoothTransformation); frame_masthead->setPixmap(pixmap); } } diff --git a/retroshare-gui/src/gui/TheWire/PulseViewGroup.ui b/retroshare-gui/src/gui/TheWire/PulseViewGroup.ui index 96f717656..39183123e 100644 --- a/retroshare-gui/src/gui/TheWire/PulseViewGroup.ui +++ b/retroshare-gui/src/gui/TheWire/PulseViewGroup.ui @@ -50,7 +50,7 @@
- + 0 @@ -569,11 +569,11 @@ - + CustomFrame QFrame -
gui/TheWire/CustomFrame.h
+
D:\new\RetroShare\retroshare-gui\src\gui\TheWire\CustomFrame.h
1
diff --git a/retroshare-gui/src/retroshare-gui.pro b/retroshare-gui/src/retroshare-gui.pro index 72d7d028e..b8e8365e0 100644 --- a/retroshare-gui/src/retroshare-gui.pro +++ b/retroshare-gui/src/retroshare-gui.pro @@ -1,1509 +1,1503 @@ -################################################################################ -# uselibresapi.pri # -# Copyright (C) 2018, Retroshare team # -# # -# This program is free software: you can redistribute it and/or modify # -# it under the terms of the GNU Affero General Public License as # -# published by the Free Software Foundation, either version 3 of the # -# License, or (at your option) any later version. # -# # -# This program is distributed in the hope that it will be useful, # -# but WITHOUT ANY WARRANTY; without even the implied warranty of # -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # -# GNU Affero General Public License for more details. # -# # -# You should have received a copy of the GNU Affero General Public License # -# along with this program. If not, see . # -################################################################################ - -!include("../../retroshare.pri"): error("Could not include file ../../retroshare.pri") - -TEMPLATE = app -QT += network xml -CONFIG += qt gui uic qrc resources idle -CONFIG += console -TARGET = retroshare -DEFINES += TARGET=\\\"$${TARGET}\\\" - -DEPENDPATH *= $${PWD} $${RS_INCLUDE_DIR} -INCLUDEPATH *= $${PWD} - -!include("../../libretroshare/src/use_libretroshare.pri"):error("Including") - -rs_webui { -rs_jsonapi { - HEADERS *= gui/settings/WebuiPage.h - SOURCES *= gui/settings/WebuiPage.cpp - FORMS *= gui/settings/WebuiPage.ui -} -} - -rs_jsonapi { - HEADERS *= gui/settings/JsonApiPage.h - SOURCES *= gui/settings/JsonApiPage.cc - FORMS *= gui/settings/JsonApiPage.ui -} - -# Auto detect installed version of cmark -rs_gui_cmark { - DEFINES *= USE_CMARK - no_rs_cross_compiling { - message("Using compiled cmark") - CMARK_SRC_PATH=$$clean_path($${RS_SRC_PATH}/supportlibs/cmark) - CMARK_BUILD_PATH=$$clean_path($${RS_BUILD_PATH}/supportlibs/cmark/build) - INCLUDEPATH *= $$clean_path($${CMARK_SRC_PATH}/src/) - DEPENDPATH *= $$clean_path($${CMARK_SRC_PATH}/src/) - QMAKE_LIBDIR *= $$clean_path($${CMARK_BUILD_PATH}/) - # Using sLibs would fail as libcmark.a is generated at compile-time - LIBS *= -L$$clean_path($${CMARK_BUILD_PATH}/src/) -lcmark - - DUMMYCMARKINPUT = FORCE - CMAKE_GENERATOR_OVERRIDE="" - win32-g++|win32-clang-g++:CMAKE_GENERATOR_OVERRIDE="-G \"MSYS Makefiles\"" - gencmarklib.name = Generating libcmark. - gencmarklib.input = DUMMYCMARKINPUT - gencmarklib.output = $$clean_path($${CMARK_BUILD_PATH}/src/libcmark.a) - gencmarklib.CONFIG += target_predeps combine - gencmarklib.variable_out = PRE_TARGETDEPS - gencmarklib.commands = \ - cd $${RS_SRC_PATH} && ( \ - git submodule update --init supportlibs/cmark ; \ - cd $${CMARK_SRC_PATH} ; \ - true ) && \ - mkdir -p $${CMARK_BUILD_PATH} && cd $${CMARK_BUILD_PATH} && \ - cmake \ - -DCMAKE_CXX_COMPILER=$$QMAKE_CXX \ - \"-DCMAKE_CXX_FLAGS=$${QMAKE_CXXFLAGS}\" \ - $${CMAKE_GENERATOR_OVERRIDE} \ - -DCMAKE_INSTALL_PREFIX=. \ - -B. \ - -H$$shell_path($${CMARK_SRC_PATH}) && \ - $(MAKE) - QMAKE_EXTRA_COMPILERS += gencmarklib - } else { - message("Using systems cmark") - sLibs *= libcmark - } -} - -FORMS += TorControl/TorControlWindow.ui -SOURCES += TorControl/TorControlWindow.cpp \ - gui/TheWire/CustomFrame.cpp \ - gui/TheWire/CustomFrame.cpp -HEADERS += TorControl/TorControlWindow.h \ - gui/TheWire/CustomFrame.h \ - gui/TheWire/CustomFrame.h - -#QMAKE_CFLAGS += -fmudflap -#LIBS *= /usr/lib/gcc/x86_64-linux-gnu/4.4/libmudflap.a /usr/lib/gcc/x86_64-linux-gnu/4.4/libmudflapth.a - -greaterThan(QT_MAJOR_VERSION, 4) { - # Qt 5 - QT += widgets multimedia printsupport - linux-* { - QT += x11extras - } -} else { - # Qt 4 - CONFIG += uitools -} - -CONFIG += identities -CONFIG += gxsforums -CONFIG += gxschannels -CONFIG += posted -CONFIG += gxsgui -CONFIG += gxscircles - -# Other Disabled Bits. -#CONFIG += framecatcher - -## To enable unfinished services -#CONFIG += wikipoos -#CONFIG += gxsthewire -#CONFIG += gxsphotoshare - -DEFINES += RS_RELEASE_VERSION -RCC_DIR = temp/qrc -UI_DIR = temp/ui -MOC_DIR = temp/moc - -################################# Linux ########################################## -# Put lib dir in QMAKE_LFLAGS so it appears before -L/usr/lib -linux-* { - CONFIG += link_pkgconfig - - #CONFIG += version_detail_bash_script - QMAKE_CXXFLAGS *= -D_FILE_OFFSET_BITS=64 - - PKGCONFIG *= x11 xscrnsaver - - LIBS *= -rdynamic - DEFINES *= HAVE_XSS # for idle time, libx screensaver extensions -} - -rs_sanitize { - LIBS *= -lasan -lubsan -} - -unix { - target.path = "$${BIN_DIR}" - INSTALLS += target - - data_files.path="$${RS_DATA_DIR}/" - data_files.files=sounds qss - INSTALLS += data_files - - style_files.path="$${RS_DATA_DIR}/stylesheets" - style_files.files=gui/qss/chat/Bubble gui/qss/chat/Bubble_Compact - INSTALLS += style_files - - icon_files.path = "$${PREFIX}/share/icons/hicolor" - icon_files.files = ../../data/24x24 - icon_files.files += ../../data/48x48 - icon_files.files += ../../data/64x64 - icon_files.files += ../../data/128x128 - INSTALLS += icon_files - - desktop_files.path = "$${PREFIX}/share/applications" - desktop_files.files = ../../data/retroshare.desktop - INSTALLS += desktop_files - - pixmap_files.path = "$${PREFIX}/share/pixmaps" - pixmap_files.files = ../../data/retroshare.xpm - INSTALLS += pixmap_files - -} - -linux-g++ { - OBJECTS_DIR = temp/linux-g++/obj -} - -linux-g++-64 { - OBJECTS_DIR = temp/linux-g++-64/obj -} - -version_detail_bash_script { - warning("Version detail script is deprecated.") - warning("Remove references to version_detail_bash_script from all of your build scripts!") -} - -#################### Cross compilation for windows under Linux ################### - -win32-x-g++ { - OBJECTS_DIR = temp/win32-x-g++/obj - - LIBS += ../../../../lib/win32-x-g++-v0.5/libssl.a - LIBS += ../../../../lib/win32-x-g++-v0.5/libcrypto.a - LIBS += ../../../../lib/win32-x-g++-v0.5/libgpgme.dll.a - LIBS += ../../../../lib/win32-x-g++-v0.5/libminiupnpc.a - LIBS += ../../../../lib/win32-x-g++-v0.5/libz.a - LIBS += -L${HOME}/.wine/drive_c/pthreads/lib -lpthreadGCE2 - LIBS += -lQtUiTools - LIBS += -lws2_32 -luuid -lole32 -liphlpapi -lcrypt32 -gdi32 - LIBS += -lole32 -lwinmm - - DEFINES *= WINDOWS_SYS WIN32 WIN32_CROSS_UBUNTU - - INCLUDEPATH += ../../../../gpgme-1.1.8/src/ - INCLUDEPATH += ../../../../libgpg-error-1.7/src/ - - RC_FILE = gui/images/retroshare_win.rc -} - -#################################### Windows ##################################### - -win32-g++|win32-clang-g++ { - CONFIG(debug, debug|release) { - # show console output - CONFIG += console - } else { - CONFIG -= console - } - - CONFIG(debug, debug|release) { - } else { - # Tell linker to use ASLR protection - QMAKE_LFLAGS += -Wl,-dynamicbase - # Tell linker to use DEP protection - QMAKE_LFLAGS += -Wl,-nxcompat - } - - # Fix linking error (ld.exe: Error: export ordinal too large) due to too - # many exported symbols. - !libretroshare_shared:QMAKE_LFLAGS+=-Wl,--exclude-libs,ALL - - # Switch off optimization for release version - QMAKE_CXXFLAGS_RELEASE -= -O2 - QMAKE_CXXFLAGS_RELEASE += -O0 - QMAKE_CFLAGS_RELEASE -= -O2 - QMAKE_CFLAGS_RELEASE += -O0 - - # Switch on optimization for debug version - #QMAKE_CXXFLAGS_DEBUG += -O2 - #QMAKE_CFLAGS_DEBUG += -O2 - - OBJECTS_DIR = temp/obj - - dLib = ws2_32 gdi32 uuid ole32 iphlpapi crypt32 winmm - LIBS *= $$linkDynamicLibs(dLib) - - RC_FILE = gui/images/retroshare_win.rc - - # export symbols for the plugins - LIBS += -Wl,--export-all-symbols,--out-implib,lib/libretroshare-gui.a - - # create lib directory - isEmpty(QMAKE_SH) { - QMAKE_PRE_LINK = $(CHK_DIR_EXISTS) lib $(MKDIR) lib - } else { - QMAKE_PRE_LINK = $(CHK_DIR_EXISTS) lib || $(MKDIR) lib - } - - greaterThan(QT_MAJOR_VERSION, 4) { - # Qt 5 - RC_INCLUDEPATH += $$_PRO_FILE_PWD_/../../libretroshare/src - } else { - # Qt 4 - QMAKE_RC += --include-dir=$$_PRO_FILE_PWD_/../../libretroshare/src - } -} - -##################################### MacOS ###################################### - -macx { - # ENABLE THIS OPTION FOR Univeral Binary BUILD. - #CONFIG += ppc x86 - #QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.4 - QMAKE_INFO_PLIST = Info.plist - mac_icon.files = $$files($$PWD/rsMacIcon.icns) - mac_icon.path = Contents/Resources - QMAKE_BUNDLE_DATA += mac_icon - dplQSS.files = $$PWD/qss - dplQSS.path = Contents/Resources - QMAKE_BUNDLE_DATA += dplQSS - dplChatStyles.files = \ - $$PWD/gui/qss/chat/Bubble \ - $$PWD/gui/qss/chat/Bubble_Compact - dplChatStyles.path = Contents/Resources/stylesheets - QMAKE_BUNDLE_DATA += dplChatStyles -# mac_webui.files = $$files($$PWD/../../libresapi/src/webui) -# mac_webui.path = Contents/Resources -# QMAKE_BUNDLE_DATA += mac_webui - - OBJECTS_DIR = temp/obj - - CONFIG += version_detail_bash_script - LIBS += -lssl -lcrypto -lz - for(lib, LIB_DIR):exists($$lib/libminiupnpc.a){ LIBS += $$lib/libminiupnpc.a} - LIBS += -framework CoreFoundation - LIBS += -framework Security - LIBS += -framework Carbon - - for(lib, LIB_DIR):LIBS += -L"$$lib" - for(bin, BIN_DIR):LIBS += -L"$$bin" - - DEPENDPATH += . $$INC_DIR - INCLUDEPATH += . $$INC_DIR - - #DEFINES *= MAC_IDLE # for idle feature - CONFIG -= uitools -} - -##################################### FreeBSD ###################################### - -freebsd-* { - INCLUDEPATH *= /usr/local/include/gpgme - LIBS *= -lssl - LIBS *= -lgpgme - LIBS *= -lupnp - LIBS *= -lgnome-keyring - - LIBS += -lsqlite3 -} - -##################################### Haiku ###################################### - -haiku-* { - PRE_TARGETDEPS *= ../../libretroshare/src/lib/libretroshare.a - PRE_TARGETDEPS *= ../../openpgpsdk/src/lib/libops.a - - LIBS *= ../../libretroshare/src/lib/libretroshare.a - LIBS *= ../../openpgpsdk/src/lib/libops.a -lbz2 -lbsd - LIBS *= -lssl -lcrypto -lnetwork - LIBS *= -lgpgme - LIBS *= -lupnp - LIBS *= -lz - LIBS *= -lixml - - LIBS += ../../supportlibs/pegmarkdown/lib/libpegmarkdown.a - LIBS += -lsqlite3 -} - -##################################### OpenBSD ###################################### - -openbsd-* { - INCLUDEPATH *= /usr/local/include - - LIBS *= -lssl -lcrypto - LIBS *= -lgpgme - LIBS *= -lupnp - LIBS *= -lgnome-keyring - LIBS += -lsqlite3 - LIBS *= -rdynamic -} - -################################### COMMON stuff ################################## - -wikipoos { - PRE_TARGETDEPS *= $$OUT_PWD/../../supportlibs/pegmarkdown/lib/libpegmarkdown.a - LIBS *= $$OUT_PWD/../../supportlibs/pegmarkdown/lib/libpegmarkdown.a - LIBS *= -lglib-2.0 -} - -################################### HEADERS & SOURCES ############################# - -# Input -HEADERS += rshare.h \ - retroshare-gui/configpage.h \ - retroshare-gui/RsAutoUpdatePage.h \ - retroshare-gui/mainpage.h \ - gui/notifyqt.h \ - control/bandwidthevent.h \ - control/eventtype.h \ - gui/QuickStartWizard.h \ - gui/StartDialog.h \ - gui/HomePage.h\ - gui/NetworkDialog.h \ - gui/GenCertDialog.h \ - gui/linetypes.h \ - gui/mainpagestack.h \ - gui/MainWindow.h \ - gui/RSHumanReadableDelegate.h \ - gui/AboutDialog.h \ - gui/AboutWidget.h \ - gui/NetworkView.h \ - gui/FriendsDialog.h \ - gui/ServicePermissionDialog.h \ - gui/RemoteDirModel.h \ - gui/RetroShareLink.h \ - gui/SearchTreeWidget.h \ - gui/ShareManager.h \ -# gui/ShareDialog.h \ -# gui/SFListDelegate.h \ - gui/SoundManager.h \ - gui/HelpDialog.h \ - gui/LogoBar.h \ - gui/common/AvatarDialog.h \ - gui/FileTransfer/SearchDialog.h \ - gui/FileTransfer/SharedFilesDialog.h \ - gui/FileTransfer/xprogressbar.h \ - gui/FileTransfer/DetailsDialog.h \ - gui/FileTransfer/FileTransferInfoWidget.h \ - gui/FileTransfer/DLListDelegate.h \ - gui/FileTransfer/ULListDelegate.h \ - gui/FileTransfer/TransfersDialog.h \ - gui/FileTransfer/BannedFilesDialog.h \ - gui/statistics/TurtleRouterDialog.h \ - gui/statistics/TurtleRouterStatistics.h \ - gui/statistics/GxsIdStatistics.h \ - gui/statistics/dhtgraph.h \ - gui/statistics/Histogram.h \ - gui/statistics/BandwidthGraphWindow.h \ - gui/statistics/turtlegraph.h \ - gui/statistics/BandwidthStatsWidget.h \ - gui/statistics/DhtWindow.h \ - gui/statistics/GlobalRouterStatistics.h \ - gui/statistics/GxsTransportStatistics.h \ - gui/statistics/StatisticsWindow.h \ - gui/statistics/BwCtrlWindow.h \ - gui/statistics/RttStatistics.h \ - gui/FileTransfer/TransferUserNotify.h \ - gui/plugins/PluginInterface.h \ - gui/im_history/ImHistoryBrowser.h \ - gui/im_history/IMHistoryItemDelegate.h \ - gui/im_history/IMHistoryItemPainter.h \ - lang/languagesupport.h \ - util/RsProtectedTimer.h \ - util/stringutil.h \ - util/RsNetUtil.h \ - util/DateTime.h \ - util/RetroStyleLabel.h \ - util/dllexport.h \ - util/NonCopyable.h \ - util/rsutildll.h \ - util/dllexport.h \ - util/global.h \ - util/rsqtutildll.h \ -# util/Interface.h \ - util/PixmapMerging.h \ - util/MouseEventFilter.h \ - util/EventFilter.h \ - util/Widget.h \ - util/RsAction.h \ - util/RsUserdata.h \ - util/printpreview.h \ - util/log.h \ - util/misc.h \ - util/HandleRichText.h \ - util/ObjectPainter.h \ - util/QtVersion.h \ - util/RsFile.h \ - util/qtthreadsutils.h \ - util/ClickableLabel.h \ - util/AspectRatioPixmapLabel.h \ - gui/profile/ProfileWidget.h \ - gui/profile/ProfileManager.h \ - gui/profile/StatusMessage.h \ - gui/chat/PopupChatWindow.h \ - gui/chat/PopupChatDialog.h \ - gui/chat/PopupDistantChatDialog.h \ - gui/chat/ChatTabWidget.h \ - gui/chat/ChatWidget.h \ - gui/chat/ChatDialog.h \ - gui/ChatLobbyWidget.h \ - gui/chat/ChatLobbyDialog.h \ - gui/chat/CreateLobbyDialog.h \ - gui/chat/ChatStyle.h \ - gui/chat/ChatUserNotify.h \ - gui/chat/ChatLobbyUserNotify.h \ - gui/connect/ConfCertDialog.h \ - gui/connect/PGPKeyDialog.h \ - gui/connect/FriendRecommendDialog.h \ - gui/msgs/MessagesDialog.h \ - gui/msgs/MessageInterface.h \ - gui/msgs/MessageComposer.h \ - gui/msgs/MessageWindow.h \ - gui/msgs/MessageWidget.h \ - gui/msgs/MessageModel.h \ - gui/msgs/TagsMenu.h \ - gui/msgs/textformat.h \ - gui/msgs/MessageUserNotify.h \ - gui/images/retroshare_win.rc.h \ - gui/settings/RSPermissionMatrixWidget.h \ - gui/settings/rsharesettings.h \ - gui/settings/RsharePeerSettings.h \ - gui/settings/rsettings.h \ - gui/settings/rsettingswin.h \ - gui/settings/GeneralPage.h \ - gui/settings/PeoplePage.h \ - gui/settings/AboutPage.h \ - gui/settings/ServerPage.h \ - gui/settings/NotifyPage.h \ - gui/settings/CryptoPage.h \ - gui/settings/MessagePage.h \ - gui/settings/NewTag.h \ - gui/settings/ForumPage.h \ - gui/settings/PluginsPage.h \ - gui/settings/PluginItem.h \ - gui/settings/AppearancePage.h \ - gui/settings/FileAssociationsPage.h \ - gui/settings/SoundPage.h \ - gui/settings/TransferPage.h \ - gui/settings/ChatPage.h \ - gui/settings/ChannelPage.h \ - gui/settings/PostedPage.h \ - gui/settings/ServicePermissionsPage.h \ - gui/settings/AddFileAssociationDialog.h \ - gui/settings/GroupFrameSettingsWidget.h \ - gui/toaster/ToasterItem.h \ - gui/toaster/MessageToaster.h \ - gui/toaster/OnlineToaster.h \ - gui/toaster/DownloadToaster.h \ - gui/toaster/ChatToaster.h \ - gui/toaster/GroupChatToaster.h \ - gui/toaster/ChatLobbyToaster.h \ - gui/toaster/FriendRequestToaster.h \ - gui/common/RsButtonOnText.h \ - gui/common/RSGraphWidget.h \ - gui/common/ElidedLabel.h \ - gui/common/vmessagebox.h \ - gui/common/RsUrlHandler.h \ - gui/common/RsCollectionDialog.h \ - gui/common/rwindow.h \ - gui/common/rshtml.h \ - gui/common/AvatarDefs.h \ - gui/common/GroupFlagsWidget.h \ - gui/common/GroupSelectionBox.h \ - gui/common/GroupChooser.h \ - gui/common/StatusDefs.h \ - gui/common/TagDefs.h \ - gui/common/GroupDefs.h \ - gui/common/Emoticons.h \ - gui/common/RSComboBox.h \ - gui/common/RSListWidgetItem.h \ - gui/common/RSTextEdit.h \ - gui/common/RSPlainTextEdit.h \ - gui/common/RSTreeWidget.h \ - gui/common/RSTreeWidgetItem.h \ - gui/common/RSFeedWidget.h \ - gui/common/RSTabWidget.h \ - gui/common/RSElidedItemDelegate.h \ - gui/common/RSItemDelegate.h \ - gui/common/PeerDefs.h \ - gui/common/FilesDefs.h \ - gui/common/PopularityDefs.h \ - gui/common/RsBanListDefs.h \ - gui/common/GroupTreeWidget.h \ - gui/common/RSTreeView.h \ - gui/common/AvatarWidget.h \ - gui/common/FriendListModel.h \ - gui/common/NewFriendList.h \ - gui/common/FriendSelectionWidget.h \ - gui/common/FriendSelectionDialog.h \ - gui/common/HashBox.h \ - gui/common/LineEditClear.h \ - gui/common/DropLineEdit.h \ - gui/common/RSTextBrowser.h \ - gui/common/RSImageBlockWidget.h \ - gui/common/FeedNotify.h \ - gui/common/UserNotify.h \ - gui/common/HeaderFrame.h \ - gui/common/MimeTextEdit.h \ - gui/common/UIStateHelper.h \ - gui/common/FloatingHelpBrowser.h \ - gui/common/SubscribeToolButton.h \ - gui/common/RsBanListToolButton.h \ - gui/common/FlowLayout.h \ - gui/common/PictureFlow.h \ - gui/common/ToasterNotify.h \ - gui/style/RSStyle.h \ - gui/style/StyleDialog.h \ - gui/help/browser/helpbrowser.h \ - gui/help/browser/helptextbrowser.h \ - gui/statusbar/peerstatus.h \ - gui/statusbar/natstatus.h \ - gui/statusbar/dhtstatus.h \ - gui/statusbar/torstatus.h \ - gui/statusbar/ratesstatus.h \ - gui/statusbar/hashingstatus.h \ - gui/statusbar/discstatus.h \ - gui/statusbar/SoundStatus.h \ - gui/statusbar/OpModeStatus.h \ - gui/statusbar/ToasterDisable.h \ - gui/statusbar/SysTrayStatus.h \ - gui/advsearch/advancedsearchdialog.h \ - gui/advsearch/expressionwidget.h \ - gui/advsearch/guiexprelement.h \ - gui/elastic/graphwidget.h \ - gui/elastic/edge.h \ - gui/elastic/arrow.h \ - gui/elastic/elnode.h \ - gui/NewsFeed.h \ - gui/feeds/BoardsCommentsItem.h \ - gui/feeds/FeedItem.h \ - gui/feeds/FeedHolder.h \ - gui/feeds/GxsCircleItem.h \ - gui/feeds/ChannelsCommentsItem.h \ - gui/feeds/PeerItem.h \ - gui/feeds/MsgItem.h \ - gui/feeds/ChatMsgItem.h \ - gui/feeds/SubFileItem.h \ - gui/feeds/AttachFileItem.h \ - gui/feeds/SecurityItem.h \ - gui/feeds/SecurityIpItem.h \ - gui/feeds/NewsFeedUserNotify.h \ - gui/connect/ConnectFriendWizard.h \ - gui/connect/ConnectProgressDialog.h \ - gui/groups/CreateGroup.h \ - gui/GetStartedDialog.h \ - gui/statistics/BWGraph.h \ - util/RsSyntaxHighlighter.h \ - util/imageutil.h \ - util/RichTextEdit.h \ - gui/NetworkDialog/pgpid_item_model.h \ - gui/NetworkDialog/pgpid_item_proxy.h \ - gui/common/RsCollection.h \ - util/retroshareWin32.h -# gui/ForumsDialog.h \ -# gui/forums/ForumDetails.h \ -# gui/forums/EditForumDetails.h \ -# gui/forums/CreateForum.h \ -# gui/forums/CreateForumMsg.h \ -# gui/forums/ForumUserNotify.h \ -# gui/feeds/ForumNewItem.h \ -# gui/feeds/ForumMsgItem.h \ -# gui/ChannelFeed.h \ -# gui/feeds/ChanNewItem.h \ -# gui/feeds/ChanMsgItem.h \ -# gui/channels/CreateChannel.h \ -# gui/channels/ChannelDetails.h \ -# gui/channels/CreateChannelMsg.h \ -# gui/channels/EditChanDetails.h \ -# gui/channels/ChannelUserNotify.h \ - -FORMS += gui/StartDialog.ui \ - gui/HomePage.ui\ - gui/GenCertDialog.ui \ - gui/AboutDialog.ui \ - gui/AboutWidget.ui \ - gui/QuickStartWizard.ui \ - gui/NetworkDialog.ui \ - gui/common/AvatarDialog.ui \ - gui/FileTransfer/TransfersDialog.ui \ - gui/FileTransfer/DetailsDialog.ui \ - gui/FileTransfer/SearchDialog.ui \ - gui/FileTransfer/SharedFilesDialog.ui \ - gui/FileTransfer/BannedFilesDialog.ui \ - gui/MainWindow.ui \ - gui/NetworkView.ui \ - gui/FriendsDialog.ui \ - gui/ShareManager.ui \ -# gui/ShareDialog.ui \ - gui/help/browser/helpbrowser.ui \ - gui/HelpDialog.ui \ - gui/ServicePermissionDialog.ui \ - gui/profile/ProfileWidget.ui \ - gui/profile/StatusMessage.ui \ - gui/profile/ProfileManager.ui \ - gui/chat/PopupChatWindow.ui \ - gui/chat/PopupChatDialog.ui \ - gui/chat/ChatTabWidget.ui \ - gui/chat/ChatWidget.ui \ - gui/chat/ChatLobbyDialog.ui \ - gui/chat/CreateLobbyDialog.ui \ - gui/ChatLobbyWidget.ui \ - gui/connect/ConfCertDialog.ui \ - gui/connect/PGPKeyDialog.ui \ - gui/connect/ConnectFriendWizard.ui \ - gui/connect/ConnectProgressDialog.ui \ - gui/connect/FriendRecommendDialog.ui \ - gui/msgs/MessagesDialog.ui \ - gui/msgs/MessageComposer.ui \ - gui/msgs/MessageWindow.ui\ - gui/msgs/MessageWidget.ui\ - gui/settings/settingsw.ui \ - gui/settings/GeneralPage.ui \ - gui/settings/ServerPage.ui \ - gui/settings/NotifyPage.ui \ - gui/settings/PeoplePage.ui \ - gui/settings/CryptoPage.ui \ - gui/settings/MessagePage.ui \ - gui/settings/NewTag.ui \ - gui/settings/ForumPage.ui \ - gui/settings/AboutPage.ui \ - gui/settings/PluginsPage.ui \ - gui/settings/AppearancePage.ui \ - gui/settings/TransferPage.ui \ - gui/settings/SoundPage.ui \ - gui/settings/ChatPage.ui \ - gui/settings/ChannelPage.ui \ - gui/settings/PostedPage.ui \ - gui/settings/ServicePermissionsPage.ui \ - gui/settings/PluginItem.ui \ - gui/settings/GroupFrameSettingsWidget.ui \ - gui/toaster/MessageToaster.ui \ - gui/toaster/OnlineToaster.ui \ - gui/toaster/DownloadToaster.ui \ - gui/toaster/ChatToaster.ui \ - gui/toaster/GroupChatToaster.ui \ - gui/toaster/ChatLobbyToaster.ui \ - gui/toaster/FriendRequestToaster.ui \ - gui/advsearch/AdvancedSearchDialog.ui \ - gui/advsearch/expressionwidget.ui \ - gui/NewsFeed.ui \ - gui/feeds/BoardsCommentsItem.ui \ - gui/feeds/GxsCircleItem.ui \ - gui/feeds/ChannelsCommentsItem.ui \ - gui/feeds/PeerItem.ui \ - gui/feeds/MsgItem.ui \ - gui/feeds/ChatMsgItem.ui \ - gui/feeds/SubFileItem.ui \ - gui/feeds/AttachFileItem.ui \ - gui/feeds/SecurityItem.ui \ - gui/feeds/SecurityIpItem.ui \ - gui/im_history/ImHistoryBrowser.ui \ - gui/groups/CreateGroup.ui \ - gui/common/GroupTreeWidget.ui \ - gui/common/AvatarWidget.ui \ - gui/common/NewFriendList.ui \ - gui/common/FriendSelectionWidget.ui \ - gui/common/HashBox.ui \ - gui/common/RSImageBlockWidget.ui \ - gui/common/RsCollectionDialog.ui \ - gui/common/HeaderFrame.ui \ - gui/common/RSFeedWidget.ui \ - gui/style/StyleDialog.ui \ - gui/statistics/BandwidthGraphWindow.ui \ - gui/statistics/BandwidthStatsWidget.ui \ - gui/statistics/DhtWindow.ui \ - gui/statistics/TurtleRouterDialog.ui \ - gui/statistics/TurtleRouterStatistics.ui \ - gui/statistics/GxsIdStatistics.ui \ - gui/statistics/GlobalRouterStatistics.ui \ - gui/statistics/GxsTransportStatistics.ui \ - gui/statistics/StatisticsWindow.ui \ - gui/statistics/BwCtrlWindow.ui \ - gui/statistics/RttStatistics.ui \ - gui/GetStartedDialog.ui \ - util/RichTextEdit.ui - - -# gui/ForumsDialog.ui \ -# gui/forums/CreateForum.ui \ -# gui/forums/CreateForumMsg.ui \ -# gui/forums/ForumDetails.ui \ -# gui/forums/EditForumDetails.ui \ -# gui/feeds/ForumNewItem.ui \ -# gui/feeds/ForumMsgItem.ui \ -# gui/ChannelFeed.ui \ -# gui/channels/CreateChannel.ui \ -# gui/channels/CreateChannelMsg.ui \ -# gui/channels/ChannelDetails.ui \ -# gui/channels/EditChanDetails.ui \ -# gui/feeds/ChanNewItem.ui \ -# gui/feeds/ChanMsgItem.ui \ - -SOURCES += main.cpp \ - rshare.cpp \ - gui/notifyqt.cpp \ - gui/AboutDialog.cpp \ - gui/AboutWidget.cpp \ - gui/QuickStartWizard.cpp \ - gui/StartDialog.cpp \ - gui/HomePage.cpp\ - gui/GenCertDialog.cpp \ - gui/NetworkDialog.cpp \ - gui/mainpagestack.cpp \ - gui/MainWindow.cpp \ - gui/NetworkView.cpp \ - gui/FriendsDialog.cpp \ - gui/ServicePermissionDialog.cpp \ - gui/RemoteDirModel.cpp \ - gui/RsAutoUpdatePage.cpp \ - gui/RetroShareLink.cpp \ - gui/SearchTreeWidget.cpp \ - gui/ShareManager.cpp \ -# gui/ShareDialog.cpp \ -# gui/SFListDelegate.cpp \ - gui/SoundManager.cpp \ - gui/im_history/ImHistoryBrowser.cpp \ - gui/im_history/IMHistoryItemDelegate.cpp \ - gui/im_history/IMHistoryItemPainter.cpp \ - gui/help/browser/helpbrowser.cpp \ - gui/help/browser/helptextbrowser.cpp \ - gui/FileTransfer/SearchDialog.cpp \ - gui/FileTransfer/SharedFilesDialog.cpp \ - gui/FileTransfer/TransfersDialog.cpp \ - gui/FileTransfer/FileTransferInfoWidget.cpp \ - gui/FileTransfer/DLListDelegate.cpp \ - gui/FileTransfer/ULListDelegate.cpp \ - gui/FileTransfer/xprogressbar.cpp \ - gui/FileTransfer/DetailsDialog.cpp \ - gui/FileTransfer/TransferUserNotify.cpp \ - gui/FileTransfer/BannedFilesDialog.cpp \ - gui/MainPage.cpp \ - gui/HelpDialog.cpp \ - gui/LogoBar.cpp \ - lang/languagesupport.cpp \ - util/RsProtectedTimer.cpp \ - util/stringutil.cpp \ - util/RsNetUtil.cpp \ - util/DateTime.cpp \ - util/RetroStyleLabel.cpp \ - util/WidgetBackgroundImage.cpp \ -# util/NonCopyable.cpp \ - util/PixmapMerging.cpp \ - util/MouseEventFilter.cpp \ - util/EventFilter.cpp \ - util/Widget.cpp \ - util/RsAction.cpp \ - util/printpreview.cpp \ - util/log.cpp \ - util/misc.cpp \ - util/HandleRichText.cpp \ - util/ObjectPainter.cpp \ - util/RsFile.cpp \ - util/RichTextEdit.cpp \ - util/ClickableLabel.cpp \ - util/AspectRatioPixmapLabel.cpp \ - gui/profile/ProfileWidget.cpp \ - gui/profile/StatusMessage.cpp \ - gui/profile/ProfileManager.cpp \ - gui/chat/PopupChatWindow.cpp \ - gui/chat/PopupChatDialog.cpp \ - gui/chat/PopupDistantChatDialog.cpp \ - gui/chat/ChatTabWidget.cpp \ - gui/chat/ChatWidget.cpp \ - gui/chat/ChatDialog.cpp \ - gui/ChatLobbyWidget.cpp \ - gui/chat/ChatLobbyDialog.cpp \ - gui/chat/CreateLobbyDialog.cpp \ - gui/chat/ChatStyle.cpp \ - gui/chat/ChatUserNotify.cpp \ - gui/chat/ChatLobbyUserNotify.cpp \ - gui/connect/ConfCertDialog.cpp \ - gui/connect/PGPKeyDialog.cpp \ - gui/msgs/MessagesDialog.cpp \ - gui/msgs/MessageComposer.cpp \ - gui/msgs/MessageWidget.cpp \ - gui/msgs/MessageWindow.cpp \ - gui/msgs/MessageModel.cpp \ - gui/msgs/TagsMenu.cpp \ - gui/msgs/MessageUserNotify.cpp \ - gui/common/RsButtonOnText.cpp \ - gui/common/RSGraphWidget.cpp \ - gui/common/ElidedLabel.cpp \ - gui/common/vmessagebox.cpp \ - gui/common/RsCollectionDialog.cpp \ - gui/common/RsUrlHandler.cpp \ - gui/common/rwindow.cpp \ - gui/common/rshtml.cpp \ - gui/common/AvatarDefs.cpp \ - gui/common/AvatarDialog.cpp \ - gui/common/GroupFlagsWidget.cpp \ - gui/common/GroupSelectionBox.cpp \ - gui/common/GroupChooser.cpp \ - gui/common/StatusDefs.cpp \ - gui/common/TagDefs.cpp \ - gui/common/GroupDefs.cpp \ - gui/common/Emoticons.cpp \ - gui/common/RSComboBox.cpp \ - gui/common/RSListWidgetItem.cpp \ - gui/common/RSTextEdit.cpp \ - gui/common/RSPlainTextEdit.cpp \ - gui/common/RSTreeWidget.cpp \ - gui/common/RSTreeWidgetItem.cpp \ - gui/common/RSFeedWidget.cpp \ - gui/common/RSTabWidget.cpp \ - gui/common/RSElidedItemDelegate.cpp \ - gui/common/RSItemDelegate.cpp \ - gui/common/PeerDefs.cpp \ - gui/common/FilesDefs.cpp \ - gui/common/PopularityDefs.cpp \ - gui/common/RsBanListDefs.cpp \ - gui/common/GroupTreeWidget.cpp \ - gui/common/RSTreeView.cpp \ - gui/common/AvatarWidget.cpp \ - gui/common/FriendListModel.cpp \ - gui/common/NewFriendList.cpp \ - gui/common/FriendSelectionWidget.cpp \ - gui/common/FriendSelectionDialog.cpp \ - gui/common/HashBox.cpp \ - gui/common/LineEditClear.cpp \ - gui/common/DropLineEdit.cpp \ - gui/common/RSTextBrowser.cpp \ - gui/common/RSImageBlockWidget.cpp \ - gui/common/FeedNotify.cpp \ - gui/common/UserNotify.cpp \ - gui/common/HeaderFrame.cpp \ - gui/common/MimeTextEdit.cpp \ - gui/common/UIStateHelper.cpp \ - gui/common/FloatingHelpBrowser.cpp \ - gui/common/SubscribeToolButton.cpp \ - gui/common/RsBanListToolButton.cpp \ - gui/common/FlowLayout.cpp \ - gui/common/PictureFlow.cpp \ - gui/common/ToasterNotify.cpp \ - gui/style/RSStyle.cpp \ - gui/style/StyleDialog.cpp \ - gui/settings/RSPermissionMatrixWidget.cpp \ - gui/settings/rsharesettings.cpp \ - gui/settings/RsharePeerSettings.cpp \ - gui/settings/rsettings.cpp \ - gui/settings/rsettingswin.cpp \ - gui/settings/GeneralPage.cpp \ - gui/settings/AboutPage.cpp \ - gui/settings/ServerPage.cpp \ - gui/settings/NotifyPage.cpp \ - gui/settings/CryptoPage.cpp \ - gui/settings/PeoplePage.cpp \ - gui/settings/MessagePage.cpp \ - gui/settings/NewTag.cpp \ - gui/settings/ForumPage.cpp \ - gui/settings/PluginsPage.cpp \ - gui/settings/PluginItem.cpp \ - gui/settings/AppearancePage.cpp \ - gui/settings/FileAssociationsPage.cpp \ - gui/settings/SoundPage.cpp \ - gui/settings/TransferPage.cpp \ - gui/settings/ChatPage.cpp \ - gui/settings/ChannelPage.cpp \ - gui/settings/PostedPage.cpp \ - gui/settings/ServicePermissionsPage.cpp \ - gui/settings/AddFileAssociationDialog.cpp \ - gui/settings/GroupFrameSettingsWidget.cpp \ - gui/statusbar/peerstatus.cpp \ - gui/statusbar/natstatus.cpp \ - gui/statusbar/dhtstatus.cpp \ - gui/statusbar/torstatus.cpp \ - gui/statusbar/ratesstatus.cpp \ - gui/statusbar/hashingstatus.cpp \ - gui/statusbar/discstatus.cpp \ - gui/statusbar/SoundStatus.cpp \ - gui/statusbar/OpModeStatus.cpp \ - gui/statusbar/ToasterDisable.cpp \ - gui/statusbar/SysTrayStatus.cpp \ - gui/toaster/ToasterItem.cpp \ - gui/toaster/MessageToaster.cpp \ - gui/toaster/DownloadToaster.cpp \ - gui/toaster/OnlineToaster.cpp \ - gui/toaster/ChatToaster.cpp \ - gui/toaster/GroupChatToaster.cpp \ - gui/toaster/ChatLobbyToaster.cpp \ - gui/toaster/FriendRequestToaster.cpp \ - gui/advsearch/advancedsearchdialog.cpp \ - gui/advsearch/expressionwidget.cpp \ - gui/advsearch/guiexprelement.cpp \ - gui/elastic/graphwidget.cpp \ - gui/elastic/edge.cpp \ - gui/elastic/arrow.cpp \ - gui/elastic/elnode.cpp \ - gui/NewsFeed.cpp \ - gui/feeds/BoardsCommentsItem.cpp \ - gui/feeds/FeedItem.cpp \ - gui/feeds/FeedHolder.cpp \ - gui/feeds/GxsCircleItem.cpp \ - gui/feeds/ChannelsCommentsItem.cpp \ - gui/feeds/PeerItem.cpp \ - gui/feeds/MsgItem.cpp \ - gui/feeds/ChatMsgItem.cpp \ - gui/feeds/SubFileItem.cpp \ - gui/feeds/AttachFileItem.cpp \ - gui/feeds/SecurityItem.cpp \ - gui/feeds/SecurityIpItem.cpp \ - gui/feeds/NewsFeedUserNotify.cpp \ - gui/connect/ConnectFriendWizard.cpp \ - gui/connect/ConnectProgressDialog.cpp \ - gui/connect/FriendRecommendDialog.cpp \ - gui/groups/CreateGroup.cpp \ - gui/GetStartedDialog.cpp \ - gui/statistics/BandwidthGraphWindow.cpp \ - gui/statistics/BandwidthStatsWidget.cpp \ - gui/statistics/DhtWindow.cpp \ - gui/statistics/Histogram.cpp \ - gui/statistics/TurtleRouterDialog.cpp \ - gui/statistics/TurtleRouterStatistics.cpp \ - gui/statistics/GxsIdStatistics.cpp \ - gui/statistics/GlobalRouterStatistics.cpp \ - gui/statistics/GxsTransportStatistics.cpp \ - gui/statistics/StatisticsWindow.cpp \ - gui/statistics/BwCtrlWindow.cpp \ - gui/statistics/RttStatistics.cpp \ - gui/statistics/BWGraph.cpp \ - util/RsSyntaxHighlighter.cpp \ - util/imageutil.cpp \ - gui/NetworkDialog/pgpid_item_model.cpp \ - gui/NetworkDialog/pgpid_item_proxy.cpp \ - gui/common/RsCollection.cpp \ - util/retroshareWin32.cpp -# gui/ForumsDialog.cpp \ -# gui/forums/ForumDetails.cpp \ -# gui/forums/EditForumDetails.cpp \ -# gui/forums/CreateForum.cpp \ -# gui/forums/CreateForumMsg.cpp \ -# gui/forums/ForumUserNotify.cpp \ -# gui/feeds/ForumNewItem.cpp \ -# gui/feeds/ForumMsgItem.cpp \ -# gui/ChannelFeed.cpp \ -# gui/channels/CreateChannel.cpp \ -# gui/channels/CreateChannelMsg.cpp \ -# gui/channels/ChannelDetails.cpp \ -# gui/channels/EditChanDetails.cpp \ -# gui/channels/ChannelUserNotify.cpp \ -# gui/feeds/ChanNewItem.cpp \ -# gui/feeds/ChanMsgItem.cpp \ - -RESOURCES += gui/images.qrc gui/icons.qrc lang/lang.qrc gui/help/content/content.qrc gui/emojione.qrc \ - gui/qss/stylesheet/qdarkstyle/dark/Standard_Dark.qrc \ - gui/qss/stylesheet/qdarkstyle/light/Standard_Light.qrc - -TRANSLATIONS += \ - lang/retroshare_ca_ES.ts \ - lang/retroshare_cs.ts \ - lang/retroshare_da.ts \ - lang/retroshare_de.ts \ - lang/retroshare_el.ts \ - lang/retroshare_en.ts \ - lang/retroshare_es.ts \ - lang/retroshare_fi.ts \ - lang/retroshare_fr.ts \ - lang/retroshare_hu.ts \ - lang/retroshare_it.ts \ - lang/retroshare_ja_JP.ts \ - lang/retroshare_nl.ts \ - lang/retroshare_ko.ts \ - lang/retroshare_pl.ts \ - lang/retroshare_ru.ts \ - lang/retroshare_sv.ts \ - lang/retroshare_tr.ts \ - lang/retroshare_zh_CN.ts - -unfinishedtranslations { - - TRANSLATIONS += \ - lang/retroshare_bg.ts \ - lang/retroshare_af.ts \ - lang/retroshare_pt.ts \ - lang/retroshare_sl.ts \ - lang/retroshare_sr.ts \ - lang/retroshare_zh_TW.ts - -} - -messenger { - SOURCES += gui/MessengerWindow.cpp \ - gui/common/FriendList.cpp - HEADERS += gui/MessengerWindow.h \ - gui/common/FriendList.h - FORMS += gui/MessengerWindow.ui \ - gui/common/FriendList.ui - - DEFiNES += MESSENGER_WINDOW -} - -# Shifted Qt4.4 dependancies to here. -# qmake CONFIG=pluginmgr - -pluginmgr { - - SOURCES += gui/PluginsPage.cpp \ - gui/PluginManagerWidget.cpp \ - gui/PluginManager.cpp - - HEADERS += gui/PluginsPage.h \ - gui/PluginManagerWidget.h \ - gui/PluginManager.h - - DEFINES *= PLUGINMGR - -} - -idle { - -HEADERS += idle/idle.h - -SOURCES += idle/idle.cpp \ - idle/idle_platform.cpp -} - -framecatcher { - -HEADERS += util/framecatcher.h - -SOURCES += util/framecatcher.cpp - -LIBS += -lxine - -DEFINES *= CHANNELS_FRAME_CATCHER - -} - -# Embedded Friend Server - -rs_efs { - DEFINES *= RS_EMBEDED_FRIEND_SERVER - SOURCES += gui/FriendServerControl.cpp - HEADERS += gui/FriendServerControl.h - FORMS += gui/FriendServerControl.ui -} - -# BELOW IS GXS Unfinished Services. - -unfinished_services { - - DEPENDPATH += gui/unfinished \ - - HEADERS += gui/unfinished/ApplicationWindow.h \ - -# gui/unfinished/CalDialog.h \ -# gui/unfinished/ExampleDialog.h \ -# gui/unfinished/GamesDialog.h \ -# gui/unfinished/profile/ProfileView.h \ -# gui/unfinished/profile/ProfileEdit.h -# gui/unfinished/StatisticDialog.h \ -# gui/unfinished/PhotoDialog.h \ -# gui/unfinished/PhotoShow.h \ - - FORMS += gui/unfinished/ApplicationWindow.ui \ - -# gui/unfinished/CalDialog.ui \ -# gui/unfinished/ExampleDialog.ui \ -# gui/unfinished/GamesDialog.ui \ -# gui/unfinished/profile/ProfileView.ui \ -# gui/unfinished/profile/ProfileEdit.ui -# gui/unfinished/StatisticDialog.ui \ -# gui/unfinished/PhotoDialog.ui \ -# gui/unfinished/PhotoShow.ui \ - - SOURCES += gui/unfinished/ApplicationWindow.cpp \ - -# gui/unfinished/CalDialog.cpp \ -# gui/unfinished/ExampleDialog.cpp \ -# gui/unfinished/GamesDialog.cpp \ -# gui/unfinished/profile/ProfileView.cpp \ -# gui/unfinished/profile/ProfileEdit.cpp -# gui/unfinished/StatisticDialog.cpp \ -# gui/unfinished/PhotoDialog.cpp \ -# gui/unfinished/PhotoShow.cpp \ - - DEFINES *= UNFINISHED -} - - -gxsphotoshare { - #DEFINES += RS_USE_PHOTOSHARE # to enable in unfinished. - DEFINES += RS_USE_PHOTO # enable in MainWindow - - HEADERS += \ - gui/PhotoShare/AlbumGroupDialog.h \ - gui/PhotoShare/AlbumExtra.h \ - gui/PhotoShare/PhotoDrop.h \ - gui/PhotoShare/AlbumItem.h \ - gui/PhotoShare/AlbumDialog.h \ - gui/PhotoShare/PhotoItem.h \ - gui/PhotoShare/PhotoShareItemHolder.h \ - gui/PhotoShare/PhotoShare.h \ - gui/PhotoShare/PhotoSlideShow.h \ - gui/PhotoShare/PhotoDialog.h - - FORMS += \ - gui/PhotoShare/AlbumExtra.ui \ - gui/PhotoShare/PhotoItem.ui \ - gui/PhotoShare/PhotoDialog.ui \ - gui/PhotoShare/AlbumItem.ui \ - gui/PhotoShare/AlbumDialog.ui \ - gui/PhotoShare/PhotoShare.ui \ - gui/PhotoShare/PhotoSlideShow.ui - - SOURCES += \ - gui/PhotoShare/AlbumGroupDialog.cpp \ - gui/PhotoShare/AlbumExtra.cpp \ - gui/PhotoShare/PhotoItem.cpp \ - gui/PhotoShare/PhotoDialog.cpp \ - gui/PhotoShare/PhotoDrop.cpp \ - gui/PhotoShare/AlbumItem.cpp \ - gui/PhotoShare/AlbumDialog.cpp \ - gui/PhotoShare/PhotoShareItemHolder.cpp \ - gui/PhotoShare/PhotoShare.cpp \ - gui/PhotoShare/PhotoSlideShow.cpp - - RESOURCES += gui/PhotoShare/Photo_images.qrc - -} - - -wikipoos { - DEFINES += RS_USE_WIKI - - DEPENDPATH += ../../supportlibs/pegmarkdown - INCLUDEPATH += ../../supportlibs/pegmarkdown - - HEADERS += gui/WikiPoos/WikiDialog.h \ - gui/WikiPoos/WikiAddDialog.h \ - gui/WikiPoos/WikiEditDialog.h \ - gui/gxs/WikiGroupDialog.h \ - - FORMS += gui/WikiPoos/WikiDialog.ui \ - gui/WikiPoos/WikiAddDialog.ui \ - gui/WikiPoos/WikiEditDialog.ui \ - - SOURCES += gui/WikiPoos/WikiDialog.cpp \ - gui/WikiPoos/WikiAddDialog.cpp \ - gui/WikiPoos/WikiEditDialog.cpp \ - gui/gxs/WikiGroupDialog.cpp \ - - RESOURCES += gui/WikiPoos/Wiki_images.qrc - -} - - - -gxsthewire { - - DEFINES += RS_USE_WIRE - - HEADERS += gui/TheWire/WireDialog.h \ - gui/TheWire/WireGroupItem.h \ - gui/TheWire/WireGroupDialog.h \ - gui/TheWire/WireGroupExtra.h \ - gui/TheWire/PulseAddDialog.h \ - gui/TheWire/PulseViewItem.h \ - gui/TheWire/PulseTopLevel.h \ - gui/TheWire/PulseViewGroup.h \ - gui/TheWire/PulseReply.h \ - gui/TheWire/PulseReplySeperator.h \ - gui/TheWire/PulseMessage.h \ - gui/TheWire/CustomFrame.h \ - - FORMS += gui/TheWire/WireDialog.ui \ - gui/TheWire/WireGroupItem.ui \ - gui/TheWire/WireGroupExtra.ui \ - gui/TheWire/PulseAddDialog.ui \ - gui/TheWire/PulseTopLevel.ui \ - gui/TheWire/PulseViewGroup.ui \ - gui/TheWire/PulseReply.ui \ - gui/TheWire/PulseReplySeperator.ui \ - gui/TheWire/PulseMessage.ui \ - - SOURCES += gui/TheWire/WireDialog.cpp \ - gui/TheWire/WireGroupItem.cpp \ - gui/TheWire/WireGroupDialog.cpp \ - gui/TheWire/WireGroupExtra.cpp \ - gui/TheWire/PulseAddDialog.cpp \ - gui/TheWire/PulseViewItem.cpp \ - gui/TheWire/PulseTopLevel.cpp \ - gui/TheWire/PulseViewGroup.cpp \ - gui/TheWire/PulseReply.cpp \ - gui/TheWire/PulseReplySeperator.cpp \ - gui/TheWire/PulseMessage.cpp \ - gui/TheWire/CustomFrame.cpp \ - - RESOURCES += gui/TheWire/TheWire_images.qrc -} - -identities { - - HEADERS += \ - gui/Identity/IdDialog.h \ - gui/Identity/IdEditDialog.h \ - gui/Identity/IdDetailsDialog.h \ - - FORMS += gui/Identity/IdDialog.ui \ - gui/Identity/IdEditDialog.ui \ - gui/Identity/IdDetailsDialog.ui \ - - SOURCES += \ - gui/Identity/IdDialog.cpp \ - gui/Identity/IdEditDialog.cpp \ - gui/Identity/IdDetailsDialog.cpp \ - -} - -gxscircles { - DEFINES += RS_USE_CIRCLES -# DEFINES += RS_USE_NEW_PEOPLE_DIALOG - - HEADERS += \ - gui/Circles/CirclesDialog.h \ - gui/Circles/CreateCircleDialog.h \ - - FORMS += gui/Circles/CirclesDialog.ui \ - gui/Circles/CreateCircleDialog.ui \ - - SOURCES += \ - gui/Circles/CirclesDialog.cpp \ - gui/Circles/CreateCircleDialog.cpp \ - - HEADERS += gui/People/PeopleDialog.h - HEADERS += gui/People/CircleWidget.h - HEADERS += gui/People/IdentityWidget.h - - FORMS += gui/People/PeopleDialog.ui - FORMS += gui/People/CircleWidget.ui - FORMS += gui/People/IdentityWidget.ui - - SOURCES += gui/People/PeopleDialog.cpp - SOURCES += gui/People/CircleWidget.cpp - SOURCES += gui/People/IdentityWidget.cpp - -#HEADERS += gui/People/IdentityItem.h -#HEADERS += gui/People/CircleItem.h -#HEADERS += gui/People/GroupListView.h -#SOURCES += gui/People/GroupListView.cpp -#SOURCES += gui/People/IdentityItem.cpp -#SOURCES += gui/People/CircleItem.cpp - - -} - - -gxsforums { - - HEADERS += gui/gxsforums/GxsForumsDialog.h \ - gui/gxsforums/GxsForumGroupDialog.h \ - gui/gxsforums/CreateGxsForumMsg.h \ - gui/gxsforums/GxsForumThreadWidget.h \ - gui/gxsforums/GxsForumModel.h \ - gui/gxsforums/GxsForumUserNotify.h \ - gui/feeds/GxsForumGroupItem.h \ - gui/feeds/GxsForumMsgItem.h - - FORMS += gui/gxsforums/CreateGxsForumMsg.ui \ - gui/gxsforums/GxsForumThreadWidget.ui \ - gui/feeds/GxsForumGroupItem.ui \ - gui/feeds/GxsForumMsgItem.ui - - SOURCES += gui/gxsforums/GxsForumsDialog.cpp \ - gui/gxsforums/GxsForumGroupDialog.cpp \ - gui/gxsforums/CreateGxsForumMsg.cpp \ - gui/gxsforums/GxsForumThreadWidget.cpp \ - gui/gxsforums/GxsForumModel.cpp \ - gui/gxsforums/GxsForumUserNotify.cpp \ - gui/feeds/GxsForumGroupItem.cpp \ - gui/feeds/GxsForumMsgItem.cpp -} - - -gxschannels { - - HEADERS += gui/gxschannels/GxsChannelDialog.h \ - gui/gxschannels/GxsChannelGroupDialog.h \ - gui/gxschannels/CreateGxsChannelMsg.h \ - gui/gxschannels/GxsChannelPostsWidgetWithModel.h \ - gui/gxschannels/GxsChannelPostsModel.h \ - gui/gxschannels/GxsChannelPostFilesModel.h \ - gui/gxschannels/GxsChannelPostThumbnail.h \ - gui/gxschannels/GxsChannelFilesStatusWidget.h \ - gui/feeds/GxsChannelGroupItem.h \ - gui/feeds/GxsChannelPostItem.h \ - gui/gxschannels/GxsChannelUserNotify.h - - FORMS += \ - gui/gxschannels/GxsChannelPostsWidgetWithModel.ui \ - gui/gxschannels/GxsChannelFilesStatusWidget.ui \ - gui/gxschannels/CreateGxsChannelMsg.ui \ - gui/feeds/GxsChannelGroupItem.ui \ - gui/feeds/GxsChannelPostItem.ui - - SOURCES += gui/gxschannels/GxsChannelDialog.cpp \ - gui/gxschannels/GxsChannelPostsWidgetWithModel.cpp \ - gui/gxschannels/GxsChannelPostsModel.cpp \ - gui/gxschannels/GxsChannelPostFilesModel.cpp \ - gui/gxschannels/GxsChannelFilesStatusWidget.cpp \ - gui/gxschannels/GxsChannelPostThumbnail.cpp \ - gui/gxschannels/GxsChannelGroupDialog.cpp \ - gui/gxschannels/CreateGxsChannelMsg.cpp \ - gui/feeds/GxsChannelGroupItem.cpp \ - gui/feeds/GxsChannelPostItem.cpp \ - gui/gxschannels/GxsChannelUserNotify.cpp -} - - -posted { - - HEADERS += gui/Posted/PostedDialog.h \ - gui/Posted/PostedListWidgetWithModel.h \ - gui/Posted/PostedPostsModel.h \ - gui/Posted/BoardPostDisplayWidget.h \ - gui/Posted/PostedItem.h \ - gui/Posted/PostedCardView.h \ - gui/Posted/PostedGroupDialog.h \ - gui/feeds/PostedGroupItem.h \ - gui/Posted/PostedCreatePostDialog.h \ - gui/Posted/PhotoView.h \ - gui/Posted/PostedUserNotify.h - - #gui/Posted/PostedCreateCommentDialog.h \ - #gui/Posted/PostedComments.h \ - - FORMS += gui/Posted/PostedListWidgetWithModel.ui \ - gui/feeds/PostedGroupItem.ui \ - gui/Posted/BoardPostDisplayWidget_compact.ui \ - gui/Posted/BoardPostDisplayWidget_card.ui \ - gui/Posted/PostedItem.ui \ - gui/Posted/PostedCardView.ui \ - gui/Posted/PostedCreatePostDialog.ui \ - gui/Posted/PhotoView.ui \ - #gui/Posted/PostedDialog.ui \ - #gui/Posted/PostedComments.ui \ - #gui/Posted/PostedCreateCommentDialog.ui - - SOURCES += gui/Posted/PostedDialog.cpp \ - gui/Posted/PostedListWidgetWithModel.cpp \ - gui/Posted/BoardPostDisplayWidget.cpp \ - gui/Posted/PostedPostsModel.cpp \ - gui/feeds/PostedGroupItem.cpp \ - gui/Posted/PostedItem.cpp \ - gui/Posted/PostedCardView.cpp \ - gui/Posted/PostedGroupDialog.cpp \ - gui/Posted/PostedCreatePostDialog.cpp \ - gui/Posted/PhotoView.cpp \ - gui/Posted/PostedUserNotify.cpp - - #gui/Posted/PostedDialog.cpp \ - #gui/Posted/PostedComments.cpp \ - #gui/Posted/PostedCreateCommentDialog.cpp - - RESOURCES += gui/Posted/Posted_images.qrc -} - -gxsgui { - - HEADERS += gui/gxs/GxsGroupDialog.h \ - gui/gxs/GxsIdDetails.h \ - gui/gxs/GxsIdChooser.h \ - gui/gxs/GxsIdLabel.h \ - gui/gxs/GxsCircleChooser.h \ - gui/gxs/GxsCircleLabel.h \ - gui/gxs/GxsIdTreeWidgetItem.h \ - gui/gxs/GxsCommentTreeWidget.h \ - gui/gxs/GxsCommentContainer.h \ - gui/gxs/GxsCommentDialog.h \ - gui/gxs/GxsCreateCommentDialog.h \ - gui/gxs/GxsGroupFrameDialog.h \ - gui/gxs/GxsMessageFrameWidget.h \ - gui/gxs/GxsMessageFramePostWidget.h \ - gui/gxs/GxsGroupFeedItem.h \ - gui/gxs/GxsFeedItem.h \ - gui/gxs/GxsGroupShareKey.h \ - gui/gxs/GxsUserNotify.h \ - gui/gxs/GxsFeedWidget.h \ - util/TokenQueue.h \ - util/RsGxsUpdateBroadcast.h \ - -# gui/gxs/GxsMsgDialog.h \ - - FORMS += gui/gxs/GxsGroupDialog.ui \ - gui/gxs/GxsCommentContainer.ui \ - gui/gxs/GxsCommentDialog.ui \ - gui/gxs/GxsCreateCommentDialog.ui \ - gui/gxs/GxsGroupFrameDialog.ui\ - gui/gxs/GxsGroupShareKey.ui -# gui/gxs/GxsMsgDialog.ui \ -# gui/gxs/GxsCommentTreeWidget.ui - - SOURCES += gui/gxs/GxsGroupDialog.cpp \ - gui/gxs/GxsIdDetails.cpp \ - gui/gxs/GxsIdChooser.cpp \ - gui/gxs/GxsIdLabel.cpp \ - gui/gxs/GxsCircleChooser.cpp \ - gui/gxs/GxsGroupShareKey.cpp \ - gui/gxs/GxsCircleLabel.cpp \ - gui/gxs/GxsIdTreeWidgetItem.cpp \ - gui/gxs/GxsCommentTreeWidget.cpp \ - gui/gxs/GxsCommentContainer.cpp \ - gui/gxs/GxsCommentDialog.cpp \ - gui/gxs/GxsCreateCommentDialog.cpp \ - gui/gxs/GxsGroupFrameDialog.cpp \ - gui/gxs/GxsMessageFrameWidget.cpp \ - gui/gxs/GxsMessageFramePostWidget.cpp \ - gui/gxs/GxsGroupFeedItem.cpp \ - gui/gxs/GxsFeedItem.cpp \ - gui/gxs/GxsUserNotify.cpp \ - gui/gxs/GxsFeedWidget.cpp \ - util/TokenQueue.cpp \ - util/RsGxsUpdateBroadcast.cpp \ - -# gui/gxs/GxsMsgDialog.cpp \ - - -} - - -wikipoos { - HEADERS += \ - gui/gxs/RsGxsUpdateBroadcastBase.h \ - gui/gxs/RsGxsUpdateBroadcastWidget.h \ - gui/gxs/RsGxsUpdateBroadcastPage.h - - SOURCES += \ - gui/gxs/RsGxsUpdateBroadcastBase.cpp \ - gui/gxs/RsGxsUpdateBroadcastWidget.cpp \ - gui/gxs/RsGxsUpdateBroadcastPage.cpp \ -} - -################################################################ -#Define qmake_info.h file so GUI can get wath was used to compil -# This must be at end to get all informations -################################################################ -RS_QMAKE_DEFINES=\\\"$${DEFINES}\\\" -RS_QMAKE_CONFIG=\\\"$${CONFIG}\\\" - -INCLUDEPATH += $$OUT_PWD/include -info_file.input = $$PWD/qmake_info.h.in -info_file.output = $$OUT_PWD/include/qmake_info.h - -QMAKE_SUBSTITUTES += info_file -OTHER_FILES += \ - qmake_info.h.in +################################################################################ +# uselibresapi.pri # +# Copyright (C) 2018, Retroshare team # +# # +# This program is free software: you can redistribute it and/or modify # +# it under the terms of the GNU Affero General Public License as # +# published by the Free Software Foundation, either version 3 of the # +# License, or (at your option) any later version. # +# # +# This program is distributed in the hope that it will be useful, # +# but WITHOUT ANY WARRANTY; without even the implied warranty of # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +# GNU Affero General Public License for more details. # +# # +# You should have received a copy of the GNU Affero General Public License # +# along with this program. If not, see . # +################################################################################ + +!include("../../retroshare.pri"): error("Could not include file ../../retroshare.pri") + +TEMPLATE = app +QT += network xml +CONFIG += qt gui uic qrc resources idle +CONFIG += console +TARGET = retroshare +DEFINES += TARGET=\\\"$${TARGET}\\\" + +DEPENDPATH *= $${PWD} $${RS_INCLUDE_DIR} +INCLUDEPATH *= $${PWD} + +!include("../../libretroshare/src/use_libretroshare.pri"):error("Including") + +rs_webui { +rs_jsonapi { + HEADERS *= gui/settings/WebuiPage.h + SOURCES *= gui/settings/WebuiPage.cpp + FORMS *= gui/settings/WebuiPage.ui +} +} + +rs_jsonapi { + HEADERS *= gui/settings/JsonApiPage.h + SOURCES *= gui/settings/JsonApiPage.cc + FORMS *= gui/settings/JsonApiPage.ui +} + +# Auto detect installed version of cmark +rs_gui_cmark { + DEFINES *= USE_CMARK + no_rs_cross_compiling { + message("Using compiled cmark") + CMARK_SRC_PATH=$$clean_path($${RS_SRC_PATH}/supportlibs/cmark) + CMARK_BUILD_PATH=$$clean_path($${RS_BUILD_PATH}/supportlibs/cmark/build) + INCLUDEPATH *= $$clean_path($${CMARK_SRC_PATH}/src/) + DEPENDPATH *= $$clean_path($${CMARK_SRC_PATH}/src/) + QMAKE_LIBDIR *= $$clean_path($${CMARK_BUILD_PATH}/) + # Using sLibs would fail as libcmark.a is generated at compile-time + LIBS *= -L$$clean_path($${CMARK_BUILD_PATH}/src/) -lcmark + + DUMMYCMARKINPUT = FORCE + CMAKE_GENERATOR_OVERRIDE="" + win32-g++|win32-clang-g++:CMAKE_GENERATOR_OVERRIDE="-G \"MSYS Makefiles\"" + gencmarklib.name = Generating libcmark. + gencmarklib.input = DUMMYCMARKINPUT + gencmarklib.output = $$clean_path($${CMARK_BUILD_PATH}/src/libcmark.a) + gencmarklib.CONFIG += target_predeps combine + gencmarklib.variable_out = PRE_TARGETDEPS + gencmarklib.commands = \ + cd $${RS_SRC_PATH} && ( \ + git submodule update --init supportlibs/cmark ; \ + cd $${CMARK_SRC_PATH} ; \ + true ) && \ + mkdir -p $${CMARK_BUILD_PATH} && cd $${CMARK_BUILD_PATH} && \ + cmake \ + -DCMAKE_CXX_COMPILER=$$QMAKE_CXX \ + \"-DCMAKE_CXX_FLAGS=$${QMAKE_CXXFLAGS}\" \ + $${CMAKE_GENERATOR_OVERRIDE} \ + -DCMAKE_INSTALL_PREFIX=. \ + -B. \ + -H$$shell_path($${CMARK_SRC_PATH}) && \ + $(MAKE) + QMAKE_EXTRA_COMPILERS += gencmarklib + } else { + message("Using systems cmark") + sLibs *= libcmark + } +} + +FORMS += TorControl/TorControlWindow.ui +SOURCES += TorControl/TorControlWindow.cpp +HEADERS += TorControl/TorControlWindow.h + +#QMAKE_CFLAGS += -fmudflap +#LIBS *= /usr/lib/gcc/x86_64-linux-gnu/4.4/libmudflap.a /usr/lib/gcc/x86_64-linux-gnu/4.4/libmudflapth.a + +greaterThan(QT_MAJOR_VERSION, 4) { + # Qt 5 + QT += widgets multimedia printsupport + linux-* { + QT += x11extras + } +} else { + # Qt 4 + CONFIG += uitools +} + +CONFIG += identities +CONFIG += gxsforums +CONFIG += gxschannels +CONFIG += posted +CONFIG += gxsgui +CONFIG += gxscircles + +# Other Disabled Bits. +#CONFIG += framecatcher + +## To enable unfinished services +#CONFIG += wikipoos +#CONFIG += gxsthewire +#CONFIG += gxsphotoshare + +DEFINES += RS_RELEASE_VERSION +RCC_DIR = temp/qrc +UI_DIR = temp/ui +MOC_DIR = temp/moc + +################################# Linux ########################################## +# Put lib dir in QMAKE_LFLAGS so it appears before -L/usr/lib +linux-* { + CONFIG += link_pkgconfig + + #CONFIG += version_detail_bash_script + QMAKE_CXXFLAGS *= -D_FILE_OFFSET_BITS=64 + + PKGCONFIG *= x11 xscrnsaver + + LIBS *= -rdynamic + DEFINES *= HAVE_XSS # for idle time, libx screensaver extensions +} + +rs_sanitize { + LIBS *= -lasan -lubsan +} + +unix { + target.path = "$${BIN_DIR}" + INSTALLS += target + + data_files.path="$${RS_DATA_DIR}/" + data_files.files=sounds qss + INSTALLS += data_files + + style_files.path="$${RS_DATA_DIR}/stylesheets" + style_files.files=gui/qss/chat/Bubble gui/qss/chat/Bubble_Compact + INSTALLS += style_files + + icon_files.path = "$${PREFIX}/share/icons/hicolor" + icon_files.files = ../../data/24x24 + icon_files.files += ../../data/48x48 + icon_files.files += ../../data/64x64 + icon_files.files += ../../data/128x128 + INSTALLS += icon_files + + desktop_files.path = "$${PREFIX}/share/applications" + desktop_files.files = ../../data/retroshare.desktop + INSTALLS += desktop_files + + pixmap_files.path = "$${PREFIX}/share/pixmaps" + pixmap_files.files = ../../data/retroshare.xpm + INSTALLS += pixmap_files + +} + +linux-g++ { + OBJECTS_DIR = temp/linux-g++/obj +} + +linux-g++-64 { + OBJECTS_DIR = temp/linux-g++-64/obj +} + +version_detail_bash_script { + warning("Version detail script is deprecated.") + warning("Remove references to version_detail_bash_script from all of your build scripts!") +} + +#################### Cross compilation for windows under Linux ################### + +win32-x-g++ { + OBJECTS_DIR = temp/win32-x-g++/obj + + LIBS += ../../../../lib/win32-x-g++-v0.5/libssl.a + LIBS += ../../../../lib/win32-x-g++-v0.5/libcrypto.a + LIBS += ../../../../lib/win32-x-g++-v0.5/libgpgme.dll.a + LIBS += ../../../../lib/win32-x-g++-v0.5/libminiupnpc.a + LIBS += ../../../../lib/win32-x-g++-v0.5/libz.a + LIBS += -L${HOME}/.wine/drive_c/pthreads/lib -lpthreadGCE2 + LIBS += -lQtUiTools + LIBS += -lws2_32 -luuid -lole32 -liphlpapi -lcrypt32 -gdi32 + LIBS += -lole32 -lwinmm + + DEFINES *= WINDOWS_SYS WIN32 WIN32_CROSS_UBUNTU + + INCLUDEPATH += ../../../../gpgme-1.1.8/src/ + INCLUDEPATH += ../../../../libgpg-error-1.7/src/ + + RC_FILE = gui/images/retroshare_win.rc +} + +#################################### Windows ##################################### + +win32-g++|win32-clang-g++ { + CONFIG(debug, debug|release) { + # show console output + CONFIG += console + } else { + CONFIG -= console + } + + CONFIG(debug, debug|release) { + } else { + # Tell linker to use ASLR protection + QMAKE_LFLAGS += -Wl,-dynamicbase + # Tell linker to use DEP protection + QMAKE_LFLAGS += -Wl,-nxcompat + } + + # Fix linking error (ld.exe: Error: export ordinal too large) due to too + # many exported symbols. + !libretroshare_shared:QMAKE_LFLAGS+=-Wl,--exclude-libs,ALL + + # Switch off optimization for release version + QMAKE_CXXFLAGS_RELEASE -= -O2 + QMAKE_CXXFLAGS_RELEASE += -O0 + QMAKE_CFLAGS_RELEASE -= -O2 + QMAKE_CFLAGS_RELEASE += -O0 + + # Switch on optimization for debug version + #QMAKE_CXXFLAGS_DEBUG += -O2 + #QMAKE_CFLAGS_DEBUG += -O2 + + OBJECTS_DIR = temp/obj + + dLib = ws2_32 gdi32 uuid ole32 iphlpapi crypt32 winmm + LIBS *= $$linkDynamicLibs(dLib) + + RC_FILE = gui/images/retroshare_win.rc + + # export symbols for the plugins + LIBS += -Wl,--export-all-symbols,--out-implib,lib/libretroshare-gui.a + + # create lib directory + isEmpty(QMAKE_SH) { + QMAKE_PRE_LINK = $(CHK_DIR_EXISTS) lib $(MKDIR) lib + } else { + QMAKE_PRE_LINK = $(CHK_DIR_EXISTS) lib || $(MKDIR) lib + } + + greaterThan(QT_MAJOR_VERSION, 4) { + # Qt 5 + RC_INCLUDEPATH += $$_PRO_FILE_PWD_/../../libretroshare/src + } else { + # Qt 4 + QMAKE_RC += --include-dir=$$_PRO_FILE_PWD_/../../libretroshare/src + } +} + +##################################### MacOS ###################################### + +macx { + # ENABLE THIS OPTION FOR Univeral Binary BUILD. + #CONFIG += ppc x86 + #QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.4 + QMAKE_INFO_PLIST = Info.plist + mac_icon.files = $$files($$PWD/rsMacIcon.icns) + mac_icon.path = Contents/Resources + QMAKE_BUNDLE_DATA += mac_icon + dplQSS.files = $$PWD/qss + dplQSS.path = Contents/Resources + QMAKE_BUNDLE_DATA += dplQSS + dplChatStyles.files = \ + $$PWD/gui/qss/chat/Bubble \ + $$PWD/gui/qss/chat/Bubble_Compact + dplChatStyles.path = Contents/Resources/stylesheets + QMAKE_BUNDLE_DATA += dplChatStyles +# mac_webui.files = $$files($$PWD/../../libresapi/src/webui) +# mac_webui.path = Contents/Resources +# QMAKE_BUNDLE_DATA += mac_webui + + OBJECTS_DIR = temp/obj + + CONFIG += version_detail_bash_script + LIBS += -lssl -lcrypto -lz + for(lib, LIB_DIR):exists($$lib/libminiupnpc.a){ LIBS += $$lib/libminiupnpc.a} + LIBS += -framework CoreFoundation + LIBS += -framework Security + LIBS += -framework Carbon + + for(lib, LIB_DIR):LIBS += -L"$$lib" + for(bin, BIN_DIR):LIBS += -L"$$bin" + + DEPENDPATH += . $$INC_DIR + INCLUDEPATH += . $$INC_DIR + + #DEFINES *= MAC_IDLE # for idle feature + CONFIG -= uitools +} + +##################################### FreeBSD ###################################### + +freebsd-* { + INCLUDEPATH *= /usr/local/include/gpgme + LIBS *= -lssl + LIBS *= -lgpgme + LIBS *= -lupnp + LIBS *= -lgnome-keyring + + LIBS += -lsqlite3 +} + +##################################### Haiku ###################################### + +haiku-* { + PRE_TARGETDEPS *= ../../libretroshare/src/lib/libretroshare.a + PRE_TARGETDEPS *= ../../openpgpsdk/src/lib/libops.a + + LIBS *= ../../libretroshare/src/lib/libretroshare.a + LIBS *= ../../openpgpsdk/src/lib/libops.a -lbz2 -lbsd + LIBS *= -lssl -lcrypto -lnetwork + LIBS *= -lgpgme + LIBS *= -lupnp + LIBS *= -lz + LIBS *= -lixml + + LIBS += ../../supportlibs/pegmarkdown/lib/libpegmarkdown.a + LIBS += -lsqlite3 +} + +##################################### OpenBSD ###################################### + +openbsd-* { + INCLUDEPATH *= /usr/local/include + + LIBS *= -lssl -lcrypto + LIBS *= -lgpgme + LIBS *= -lupnp + LIBS *= -lgnome-keyring + LIBS += -lsqlite3 + LIBS *= -rdynamic +} + +################################### COMMON stuff ################################## + +wikipoos { + PRE_TARGETDEPS *= $$OUT_PWD/../../supportlibs/pegmarkdown/lib/libpegmarkdown.a + LIBS *= $$OUT_PWD/../../supportlibs/pegmarkdown/lib/libpegmarkdown.a + LIBS *= -lglib-2.0 +} + +################################### HEADERS & SOURCES ############################# + +# Input +HEADERS += rshare.h \ + retroshare-gui/configpage.h \ + retroshare-gui/RsAutoUpdatePage.h \ + retroshare-gui/mainpage.h \ + gui/notifyqt.h \ + control/bandwidthevent.h \ + control/eventtype.h \ + gui/QuickStartWizard.h \ + gui/StartDialog.h \ + gui/HomePage.h\ + gui/NetworkDialog.h \ + gui/GenCertDialog.h \ + gui/linetypes.h \ + gui/mainpagestack.h \ + gui/MainWindow.h \ + gui/RSHumanReadableDelegate.h \ + gui/AboutDialog.h \ + gui/AboutWidget.h \ + gui/NetworkView.h \ + gui/FriendsDialog.h \ + gui/ServicePermissionDialog.h \ + gui/RemoteDirModel.h \ + gui/RetroShareLink.h \ + gui/SearchTreeWidget.h \ + gui/ShareManager.h \ +# gui/ShareDialog.h \ +# gui/SFListDelegate.h \ + gui/SoundManager.h \ + gui/HelpDialog.h \ + gui/LogoBar.h \ + gui/common/AvatarDialog.h \ + gui/FileTransfer/SearchDialog.h \ + gui/FileTransfer/SharedFilesDialog.h \ + gui/FileTransfer/xprogressbar.h \ + gui/FileTransfer/DetailsDialog.h \ + gui/FileTransfer/FileTransferInfoWidget.h \ + gui/FileTransfer/DLListDelegate.h \ + gui/FileTransfer/ULListDelegate.h \ + gui/FileTransfer/TransfersDialog.h \ + gui/FileTransfer/BannedFilesDialog.h \ + gui/statistics/TurtleRouterDialog.h \ + gui/statistics/TurtleRouterStatistics.h \ + gui/statistics/GxsIdStatistics.h \ + gui/statistics/dhtgraph.h \ + gui/statistics/Histogram.h \ + gui/statistics/BandwidthGraphWindow.h \ + gui/statistics/turtlegraph.h \ + gui/statistics/BandwidthStatsWidget.h \ + gui/statistics/DhtWindow.h \ + gui/statistics/GlobalRouterStatistics.h \ + gui/statistics/GxsTransportStatistics.h \ + gui/statistics/StatisticsWindow.h \ + gui/statistics/BwCtrlWindow.h \ + gui/statistics/RttStatistics.h \ + gui/FileTransfer/TransferUserNotify.h \ + gui/plugins/PluginInterface.h \ + gui/im_history/ImHistoryBrowser.h \ + gui/im_history/IMHistoryItemDelegate.h \ + gui/im_history/IMHistoryItemPainter.h \ + lang/languagesupport.h \ + util/RsProtectedTimer.h \ + util/stringutil.h \ + util/RsNetUtil.h \ + util/DateTime.h \ + util/RetroStyleLabel.h \ + util/dllexport.h \ + util/NonCopyable.h \ + util/rsutildll.h \ + util/dllexport.h \ + util/global.h \ + util/rsqtutildll.h \ +# util/Interface.h \ + util/PixmapMerging.h \ + util/MouseEventFilter.h \ + util/EventFilter.h \ + util/Widget.h \ + util/RsAction.h \ + util/RsUserdata.h \ + util/printpreview.h \ + util/log.h \ + util/misc.h \ + util/HandleRichText.h \ + util/ObjectPainter.h \ + util/QtVersion.h \ + util/RsFile.h \ + util/qtthreadsutils.h \ + util/ClickableLabel.h \ + util/AspectRatioPixmapLabel.h \ + gui/profile/ProfileWidget.h \ + gui/profile/ProfileManager.h \ + gui/profile/StatusMessage.h \ + gui/chat/PopupChatWindow.h \ + gui/chat/PopupChatDialog.h \ + gui/chat/PopupDistantChatDialog.h \ + gui/chat/ChatTabWidget.h \ + gui/chat/ChatWidget.h \ + gui/chat/ChatDialog.h \ + gui/ChatLobbyWidget.h \ + gui/chat/ChatLobbyDialog.h \ + gui/chat/CreateLobbyDialog.h \ + gui/chat/ChatStyle.h \ + gui/chat/ChatUserNotify.h \ + gui/chat/ChatLobbyUserNotify.h \ + gui/connect/ConfCertDialog.h \ + gui/connect/PGPKeyDialog.h \ + gui/connect/FriendRecommendDialog.h \ + gui/msgs/MessagesDialog.h \ + gui/msgs/MessageInterface.h \ + gui/msgs/MessageComposer.h \ + gui/msgs/MessageWindow.h \ + gui/msgs/MessageWidget.h \ + gui/msgs/MessageModel.h \ + gui/msgs/TagsMenu.h \ + gui/msgs/textformat.h \ + gui/msgs/MessageUserNotify.h \ + gui/images/retroshare_win.rc.h \ + gui/settings/RSPermissionMatrixWidget.h \ + gui/settings/rsharesettings.h \ + gui/settings/RsharePeerSettings.h \ + gui/settings/rsettings.h \ + gui/settings/rsettingswin.h \ + gui/settings/GeneralPage.h \ + gui/settings/PeoplePage.h \ + gui/settings/AboutPage.h \ + gui/settings/ServerPage.h \ + gui/settings/NotifyPage.h \ + gui/settings/CryptoPage.h \ + gui/settings/MessagePage.h \ + gui/settings/NewTag.h \ + gui/settings/ForumPage.h \ + gui/settings/PluginsPage.h \ + gui/settings/PluginItem.h \ + gui/settings/AppearancePage.h \ + gui/settings/FileAssociationsPage.h \ + gui/settings/SoundPage.h \ + gui/settings/TransferPage.h \ + gui/settings/ChatPage.h \ + gui/settings/ChannelPage.h \ + gui/settings/PostedPage.h \ + gui/settings/ServicePermissionsPage.h \ + gui/settings/AddFileAssociationDialog.h \ + gui/settings/GroupFrameSettingsWidget.h \ + gui/toaster/ToasterItem.h \ + gui/toaster/MessageToaster.h \ + gui/toaster/OnlineToaster.h \ + gui/toaster/DownloadToaster.h \ + gui/toaster/ChatToaster.h \ + gui/toaster/GroupChatToaster.h \ + gui/toaster/ChatLobbyToaster.h \ + gui/toaster/FriendRequestToaster.h \ + gui/common/RsButtonOnText.h \ + gui/common/RSGraphWidget.h \ + gui/common/ElidedLabel.h \ + gui/common/vmessagebox.h \ + gui/common/RsUrlHandler.h \ + gui/common/RsCollectionDialog.h \ + gui/common/rwindow.h \ + gui/common/rshtml.h \ + gui/common/AvatarDefs.h \ + gui/common/GroupFlagsWidget.h \ + gui/common/GroupSelectionBox.h \ + gui/common/GroupChooser.h \ + gui/common/StatusDefs.h \ + gui/common/TagDefs.h \ + gui/common/GroupDefs.h \ + gui/common/Emoticons.h \ + gui/common/RSComboBox.h \ + gui/common/RSListWidgetItem.h \ + gui/common/RSTextEdit.h \ + gui/common/RSPlainTextEdit.h \ + gui/common/RSTreeWidget.h \ + gui/common/RSTreeWidgetItem.h \ + gui/common/RSFeedWidget.h \ + gui/common/RSTabWidget.h \ + gui/common/RSElidedItemDelegate.h \ + gui/common/RSItemDelegate.h \ + gui/common/PeerDefs.h \ + gui/common/FilesDefs.h \ + gui/common/PopularityDefs.h \ + gui/common/RsBanListDefs.h \ + gui/common/GroupTreeWidget.h \ + gui/common/RSTreeView.h \ + gui/common/AvatarWidget.h \ + gui/common/FriendListModel.h \ + gui/common/NewFriendList.h \ + gui/common/FriendSelectionWidget.h \ + gui/common/FriendSelectionDialog.h \ + gui/common/HashBox.h \ + gui/common/LineEditClear.h \ + gui/common/DropLineEdit.h \ + gui/common/RSTextBrowser.h \ + gui/common/RSImageBlockWidget.h \ + gui/common/FeedNotify.h \ + gui/common/UserNotify.h \ + gui/common/HeaderFrame.h \ + gui/common/MimeTextEdit.h \ + gui/common/UIStateHelper.h \ + gui/common/FloatingHelpBrowser.h \ + gui/common/SubscribeToolButton.h \ + gui/common/RsBanListToolButton.h \ + gui/common/FlowLayout.h \ + gui/common/PictureFlow.h \ + gui/common/ToasterNotify.h \ + gui/style/RSStyle.h \ + gui/style/StyleDialog.h \ + gui/help/browser/helpbrowser.h \ + gui/help/browser/helptextbrowser.h \ + gui/statusbar/peerstatus.h \ + gui/statusbar/natstatus.h \ + gui/statusbar/dhtstatus.h \ + gui/statusbar/torstatus.h \ + gui/statusbar/ratesstatus.h \ + gui/statusbar/hashingstatus.h \ + gui/statusbar/discstatus.h \ + gui/statusbar/SoundStatus.h \ + gui/statusbar/OpModeStatus.h \ + gui/statusbar/ToasterDisable.h \ + gui/statusbar/SysTrayStatus.h \ + gui/advsearch/advancedsearchdialog.h \ + gui/advsearch/expressionwidget.h \ + gui/advsearch/guiexprelement.h \ + gui/elastic/graphwidget.h \ + gui/elastic/edge.h \ + gui/elastic/arrow.h \ + gui/elastic/elnode.h \ + gui/NewsFeed.h \ + gui/feeds/BoardsCommentsItem.h \ + gui/feeds/FeedItem.h \ + gui/feeds/FeedHolder.h \ + gui/feeds/GxsCircleItem.h \ + gui/feeds/ChannelsCommentsItem.h \ + gui/feeds/PeerItem.h \ + gui/feeds/MsgItem.h \ + gui/feeds/ChatMsgItem.h \ + gui/feeds/SubFileItem.h \ + gui/feeds/AttachFileItem.h \ + gui/feeds/SecurityItem.h \ + gui/feeds/SecurityIpItem.h \ + gui/feeds/NewsFeedUserNotify.h \ + gui/connect/ConnectFriendWizard.h \ + gui/connect/ConnectProgressDialog.h \ + gui/groups/CreateGroup.h \ + gui/GetStartedDialog.h \ + gui/statistics/BWGraph.h \ + util/RsSyntaxHighlighter.h \ + util/imageutil.h \ + util/RichTextEdit.h \ + gui/NetworkDialog/pgpid_item_model.h \ + gui/NetworkDialog/pgpid_item_proxy.h \ + gui/common/RsCollection.h \ + util/retroshareWin32.h +# gui/ForumsDialog.h \ +# gui/forums/ForumDetails.h \ +# gui/forums/EditForumDetails.h \ +# gui/forums/CreateForum.h \ +# gui/forums/CreateForumMsg.h \ +# gui/forums/ForumUserNotify.h \ +# gui/feeds/ForumNewItem.h \ +# gui/feeds/ForumMsgItem.h \ +# gui/ChannelFeed.h \ +# gui/feeds/ChanNewItem.h \ +# gui/feeds/ChanMsgItem.h \ +# gui/channels/CreateChannel.h \ +# gui/channels/ChannelDetails.h \ +# gui/channels/CreateChannelMsg.h \ +# gui/channels/EditChanDetails.h \ +# gui/channels/ChannelUserNotify.h \ + +FORMS += gui/StartDialog.ui \ + gui/HomePage.ui\ + gui/GenCertDialog.ui \ + gui/AboutDialog.ui \ + gui/AboutWidget.ui \ + gui/QuickStartWizard.ui \ + gui/NetworkDialog.ui \ + gui/common/AvatarDialog.ui \ + gui/FileTransfer/TransfersDialog.ui \ + gui/FileTransfer/DetailsDialog.ui \ + gui/FileTransfer/SearchDialog.ui \ + gui/FileTransfer/SharedFilesDialog.ui \ + gui/FileTransfer/BannedFilesDialog.ui \ + gui/MainWindow.ui \ + gui/NetworkView.ui \ + gui/FriendsDialog.ui \ + gui/ShareManager.ui \ +# gui/ShareDialog.ui \ + gui/help/browser/helpbrowser.ui \ + gui/HelpDialog.ui \ + gui/ServicePermissionDialog.ui \ + gui/profile/ProfileWidget.ui \ + gui/profile/StatusMessage.ui \ + gui/profile/ProfileManager.ui \ + gui/chat/PopupChatWindow.ui \ + gui/chat/PopupChatDialog.ui \ + gui/chat/ChatTabWidget.ui \ + gui/chat/ChatWidget.ui \ + gui/chat/ChatLobbyDialog.ui \ + gui/chat/CreateLobbyDialog.ui \ + gui/ChatLobbyWidget.ui \ + gui/connect/ConfCertDialog.ui \ + gui/connect/PGPKeyDialog.ui \ + gui/connect/ConnectFriendWizard.ui \ + gui/connect/ConnectProgressDialog.ui \ + gui/connect/FriendRecommendDialog.ui \ + gui/msgs/MessagesDialog.ui \ + gui/msgs/MessageComposer.ui \ + gui/msgs/MessageWindow.ui\ + gui/msgs/MessageWidget.ui\ + gui/settings/settingsw.ui \ + gui/settings/GeneralPage.ui \ + gui/settings/ServerPage.ui \ + gui/settings/NotifyPage.ui \ + gui/settings/PeoplePage.ui \ + gui/settings/CryptoPage.ui \ + gui/settings/MessagePage.ui \ + gui/settings/NewTag.ui \ + gui/settings/ForumPage.ui \ + gui/settings/AboutPage.ui \ + gui/settings/PluginsPage.ui \ + gui/settings/AppearancePage.ui \ + gui/settings/TransferPage.ui \ + gui/settings/SoundPage.ui \ + gui/settings/ChatPage.ui \ + gui/settings/ChannelPage.ui \ + gui/settings/PostedPage.ui \ + gui/settings/ServicePermissionsPage.ui \ + gui/settings/PluginItem.ui \ + gui/settings/GroupFrameSettingsWidget.ui \ + gui/toaster/MessageToaster.ui \ + gui/toaster/OnlineToaster.ui \ + gui/toaster/DownloadToaster.ui \ + gui/toaster/ChatToaster.ui \ + gui/toaster/GroupChatToaster.ui \ + gui/toaster/ChatLobbyToaster.ui \ + gui/toaster/FriendRequestToaster.ui \ + gui/advsearch/AdvancedSearchDialog.ui \ + gui/advsearch/expressionwidget.ui \ + gui/NewsFeed.ui \ + gui/feeds/BoardsCommentsItem.ui \ + gui/feeds/GxsCircleItem.ui \ + gui/feeds/ChannelsCommentsItem.ui \ + gui/feeds/PeerItem.ui \ + gui/feeds/MsgItem.ui \ + gui/feeds/ChatMsgItem.ui \ + gui/feeds/SubFileItem.ui \ + gui/feeds/AttachFileItem.ui \ + gui/feeds/SecurityItem.ui \ + gui/feeds/SecurityIpItem.ui \ + gui/im_history/ImHistoryBrowser.ui \ + gui/groups/CreateGroup.ui \ + gui/common/GroupTreeWidget.ui \ + gui/common/AvatarWidget.ui \ + gui/common/NewFriendList.ui \ + gui/common/FriendSelectionWidget.ui \ + gui/common/HashBox.ui \ + gui/common/RSImageBlockWidget.ui \ + gui/common/RsCollectionDialog.ui \ + gui/common/HeaderFrame.ui \ + gui/common/RSFeedWidget.ui \ + gui/style/StyleDialog.ui \ + gui/statistics/BandwidthGraphWindow.ui \ + gui/statistics/BandwidthStatsWidget.ui \ + gui/statistics/DhtWindow.ui \ + gui/statistics/TurtleRouterDialog.ui \ + gui/statistics/TurtleRouterStatistics.ui \ + gui/statistics/GxsIdStatistics.ui \ + gui/statistics/GlobalRouterStatistics.ui \ + gui/statistics/GxsTransportStatistics.ui \ + gui/statistics/StatisticsWindow.ui \ + gui/statistics/BwCtrlWindow.ui \ + gui/statistics/RttStatistics.ui \ + gui/GetStartedDialog.ui \ + util/RichTextEdit.ui + + +# gui/ForumsDialog.ui \ +# gui/forums/CreateForum.ui \ +# gui/forums/CreateForumMsg.ui \ +# gui/forums/ForumDetails.ui \ +# gui/forums/EditForumDetails.ui \ +# gui/feeds/ForumNewItem.ui \ +# gui/feeds/ForumMsgItem.ui \ +# gui/ChannelFeed.ui \ +# gui/channels/CreateChannel.ui \ +# gui/channels/CreateChannelMsg.ui \ +# gui/channels/ChannelDetails.ui \ +# gui/channels/EditChanDetails.ui \ +# gui/feeds/ChanNewItem.ui \ +# gui/feeds/ChanMsgItem.ui \ + +SOURCES += main.cpp \ + rshare.cpp \ + gui/notifyqt.cpp \ + gui/AboutDialog.cpp \ + gui/AboutWidget.cpp \ + gui/QuickStartWizard.cpp \ + gui/StartDialog.cpp \ + gui/HomePage.cpp\ + gui/GenCertDialog.cpp \ + gui/NetworkDialog.cpp \ + gui/mainpagestack.cpp \ + gui/MainWindow.cpp \ + gui/NetworkView.cpp \ + gui/FriendsDialog.cpp \ + gui/ServicePermissionDialog.cpp \ + gui/RemoteDirModel.cpp \ + gui/RsAutoUpdatePage.cpp \ + gui/RetroShareLink.cpp \ + gui/SearchTreeWidget.cpp \ + gui/ShareManager.cpp \ +# gui/ShareDialog.cpp \ +# gui/SFListDelegate.cpp \ + gui/SoundManager.cpp \ + gui/im_history/ImHistoryBrowser.cpp \ + gui/im_history/IMHistoryItemDelegate.cpp \ + gui/im_history/IMHistoryItemPainter.cpp \ + gui/help/browser/helpbrowser.cpp \ + gui/help/browser/helptextbrowser.cpp \ + gui/FileTransfer/SearchDialog.cpp \ + gui/FileTransfer/SharedFilesDialog.cpp \ + gui/FileTransfer/TransfersDialog.cpp \ + gui/FileTransfer/FileTransferInfoWidget.cpp \ + gui/FileTransfer/DLListDelegate.cpp \ + gui/FileTransfer/ULListDelegate.cpp \ + gui/FileTransfer/xprogressbar.cpp \ + gui/FileTransfer/DetailsDialog.cpp \ + gui/FileTransfer/TransferUserNotify.cpp \ + gui/FileTransfer/BannedFilesDialog.cpp \ + gui/MainPage.cpp \ + gui/HelpDialog.cpp \ + gui/LogoBar.cpp \ + lang/languagesupport.cpp \ + util/RsProtectedTimer.cpp \ + util/stringutil.cpp \ + util/RsNetUtil.cpp \ + util/DateTime.cpp \ + util/RetroStyleLabel.cpp \ + util/WidgetBackgroundImage.cpp \ +# util/NonCopyable.cpp \ + util/PixmapMerging.cpp \ + util/MouseEventFilter.cpp \ + util/EventFilter.cpp \ + util/Widget.cpp \ + util/RsAction.cpp \ + util/printpreview.cpp \ + util/log.cpp \ + util/misc.cpp \ + util/HandleRichText.cpp \ + util/ObjectPainter.cpp \ + util/RsFile.cpp \ + util/RichTextEdit.cpp \ + util/ClickableLabel.cpp \ + util/AspectRatioPixmapLabel.cpp \ + gui/profile/ProfileWidget.cpp \ + gui/profile/StatusMessage.cpp \ + gui/profile/ProfileManager.cpp \ + gui/chat/PopupChatWindow.cpp \ + gui/chat/PopupChatDialog.cpp \ + gui/chat/PopupDistantChatDialog.cpp \ + gui/chat/ChatTabWidget.cpp \ + gui/chat/ChatWidget.cpp \ + gui/chat/ChatDialog.cpp \ + gui/ChatLobbyWidget.cpp \ + gui/chat/ChatLobbyDialog.cpp \ + gui/chat/CreateLobbyDialog.cpp \ + gui/chat/ChatStyle.cpp \ + gui/chat/ChatUserNotify.cpp \ + gui/chat/ChatLobbyUserNotify.cpp \ + gui/connect/ConfCertDialog.cpp \ + gui/connect/PGPKeyDialog.cpp \ + gui/msgs/MessagesDialog.cpp \ + gui/msgs/MessageComposer.cpp \ + gui/msgs/MessageWidget.cpp \ + gui/msgs/MessageWindow.cpp \ + gui/msgs/MessageModel.cpp \ + gui/msgs/TagsMenu.cpp \ + gui/msgs/MessageUserNotify.cpp \ + gui/common/RsButtonOnText.cpp \ + gui/common/RSGraphWidget.cpp \ + gui/common/ElidedLabel.cpp \ + gui/common/vmessagebox.cpp \ + gui/common/RsCollectionDialog.cpp \ + gui/common/RsUrlHandler.cpp \ + gui/common/rwindow.cpp \ + gui/common/rshtml.cpp \ + gui/common/AvatarDefs.cpp \ + gui/common/AvatarDialog.cpp \ + gui/common/GroupFlagsWidget.cpp \ + gui/common/GroupSelectionBox.cpp \ + gui/common/GroupChooser.cpp \ + gui/common/StatusDefs.cpp \ + gui/common/TagDefs.cpp \ + gui/common/GroupDefs.cpp \ + gui/common/Emoticons.cpp \ + gui/common/RSComboBox.cpp \ + gui/common/RSListWidgetItem.cpp \ + gui/common/RSTextEdit.cpp \ + gui/common/RSPlainTextEdit.cpp \ + gui/common/RSTreeWidget.cpp \ + gui/common/RSTreeWidgetItem.cpp \ + gui/common/RSFeedWidget.cpp \ + gui/common/RSTabWidget.cpp \ + gui/common/RSElidedItemDelegate.cpp \ + gui/common/RSItemDelegate.cpp \ + gui/common/PeerDefs.cpp \ + gui/common/FilesDefs.cpp \ + gui/common/PopularityDefs.cpp \ + gui/common/RsBanListDefs.cpp \ + gui/common/GroupTreeWidget.cpp \ + gui/common/RSTreeView.cpp \ + gui/common/AvatarWidget.cpp \ + gui/common/FriendListModel.cpp \ + gui/common/NewFriendList.cpp \ + gui/common/FriendSelectionWidget.cpp \ + gui/common/FriendSelectionDialog.cpp \ + gui/common/HashBox.cpp \ + gui/common/LineEditClear.cpp \ + gui/common/DropLineEdit.cpp \ + gui/common/RSTextBrowser.cpp \ + gui/common/RSImageBlockWidget.cpp \ + gui/common/FeedNotify.cpp \ + gui/common/UserNotify.cpp \ + gui/common/HeaderFrame.cpp \ + gui/common/MimeTextEdit.cpp \ + gui/common/UIStateHelper.cpp \ + gui/common/FloatingHelpBrowser.cpp \ + gui/common/SubscribeToolButton.cpp \ + gui/common/RsBanListToolButton.cpp \ + gui/common/FlowLayout.cpp \ + gui/common/PictureFlow.cpp \ + gui/common/ToasterNotify.cpp \ + gui/style/RSStyle.cpp \ + gui/style/StyleDialog.cpp \ + gui/settings/RSPermissionMatrixWidget.cpp \ + gui/settings/rsharesettings.cpp \ + gui/settings/RsharePeerSettings.cpp \ + gui/settings/rsettings.cpp \ + gui/settings/rsettingswin.cpp \ + gui/settings/GeneralPage.cpp \ + gui/settings/AboutPage.cpp \ + gui/settings/ServerPage.cpp \ + gui/settings/NotifyPage.cpp \ + gui/settings/CryptoPage.cpp \ + gui/settings/PeoplePage.cpp \ + gui/settings/MessagePage.cpp \ + gui/settings/NewTag.cpp \ + gui/settings/ForumPage.cpp \ + gui/settings/PluginsPage.cpp \ + gui/settings/PluginItem.cpp \ + gui/settings/AppearancePage.cpp \ + gui/settings/FileAssociationsPage.cpp \ + gui/settings/SoundPage.cpp \ + gui/settings/TransferPage.cpp \ + gui/settings/ChatPage.cpp \ + gui/settings/ChannelPage.cpp \ + gui/settings/PostedPage.cpp \ + gui/settings/ServicePermissionsPage.cpp \ + gui/settings/AddFileAssociationDialog.cpp \ + gui/settings/GroupFrameSettingsWidget.cpp \ + gui/statusbar/peerstatus.cpp \ + gui/statusbar/natstatus.cpp \ + gui/statusbar/dhtstatus.cpp \ + gui/statusbar/torstatus.cpp \ + gui/statusbar/ratesstatus.cpp \ + gui/statusbar/hashingstatus.cpp \ + gui/statusbar/discstatus.cpp \ + gui/statusbar/SoundStatus.cpp \ + gui/statusbar/OpModeStatus.cpp \ + gui/statusbar/ToasterDisable.cpp \ + gui/statusbar/SysTrayStatus.cpp \ + gui/toaster/ToasterItem.cpp \ + gui/toaster/MessageToaster.cpp \ + gui/toaster/DownloadToaster.cpp \ + gui/toaster/OnlineToaster.cpp \ + gui/toaster/ChatToaster.cpp \ + gui/toaster/GroupChatToaster.cpp \ + gui/toaster/ChatLobbyToaster.cpp \ + gui/toaster/FriendRequestToaster.cpp \ + gui/advsearch/advancedsearchdialog.cpp \ + gui/advsearch/expressionwidget.cpp \ + gui/advsearch/guiexprelement.cpp \ + gui/elastic/graphwidget.cpp \ + gui/elastic/edge.cpp \ + gui/elastic/arrow.cpp \ + gui/elastic/elnode.cpp \ + gui/NewsFeed.cpp \ + gui/feeds/BoardsCommentsItem.cpp \ + gui/feeds/FeedItem.cpp \ + gui/feeds/FeedHolder.cpp \ + gui/feeds/GxsCircleItem.cpp \ + gui/feeds/ChannelsCommentsItem.cpp \ + gui/feeds/PeerItem.cpp \ + gui/feeds/MsgItem.cpp \ + gui/feeds/ChatMsgItem.cpp \ + gui/feeds/SubFileItem.cpp \ + gui/feeds/AttachFileItem.cpp \ + gui/feeds/SecurityItem.cpp \ + gui/feeds/SecurityIpItem.cpp \ + gui/feeds/NewsFeedUserNotify.cpp \ + gui/connect/ConnectFriendWizard.cpp \ + gui/connect/ConnectProgressDialog.cpp \ + gui/connect/FriendRecommendDialog.cpp \ + gui/groups/CreateGroup.cpp \ + gui/GetStartedDialog.cpp \ + gui/statistics/BandwidthGraphWindow.cpp \ + gui/statistics/BandwidthStatsWidget.cpp \ + gui/statistics/DhtWindow.cpp \ + gui/statistics/Histogram.cpp \ + gui/statistics/TurtleRouterDialog.cpp \ + gui/statistics/TurtleRouterStatistics.cpp \ + gui/statistics/GxsIdStatistics.cpp \ + gui/statistics/GlobalRouterStatistics.cpp \ + gui/statistics/GxsTransportStatistics.cpp \ + gui/statistics/StatisticsWindow.cpp \ + gui/statistics/BwCtrlWindow.cpp \ + gui/statistics/RttStatistics.cpp \ + gui/statistics/BWGraph.cpp \ + util/RsSyntaxHighlighter.cpp \ + util/imageutil.cpp \ + gui/NetworkDialog/pgpid_item_model.cpp \ + gui/NetworkDialog/pgpid_item_proxy.cpp \ + gui/common/RsCollection.cpp \ + util/retroshareWin32.cpp +# gui/ForumsDialog.cpp \ +# gui/forums/ForumDetails.cpp \ +# gui/forums/EditForumDetails.cpp \ +# gui/forums/CreateForum.cpp \ +# gui/forums/CreateForumMsg.cpp \ +# gui/forums/ForumUserNotify.cpp \ +# gui/feeds/ForumNewItem.cpp \ +# gui/feeds/ForumMsgItem.cpp \ +# gui/ChannelFeed.cpp \ +# gui/channels/CreateChannel.cpp \ +# gui/channels/CreateChannelMsg.cpp \ +# gui/channels/ChannelDetails.cpp \ +# gui/channels/EditChanDetails.cpp \ +# gui/channels/ChannelUserNotify.cpp \ +# gui/feeds/ChanNewItem.cpp \ +# gui/feeds/ChanMsgItem.cpp \ + +RESOURCES += gui/images.qrc gui/icons.qrc lang/lang.qrc gui/help/content/content.qrc gui/emojione.qrc \ + gui/qss/stylesheet/qdarkstyle/dark/Standard_Dark.qrc \ + gui/qss/stylesheet/qdarkstyle/light/Standard_Light.qrc + +TRANSLATIONS += \ + lang/retroshare_ca_ES.ts \ + lang/retroshare_cs.ts \ + lang/retroshare_da.ts \ + lang/retroshare_de.ts \ + lang/retroshare_el.ts \ + lang/retroshare_en.ts \ + lang/retroshare_es.ts \ + lang/retroshare_fi.ts \ + lang/retroshare_fr.ts \ + lang/retroshare_hu.ts \ + lang/retroshare_it.ts \ + lang/retroshare_ja_JP.ts \ + lang/retroshare_nl.ts \ + lang/retroshare_ko.ts \ + lang/retroshare_pl.ts \ + lang/retroshare_ru.ts \ + lang/retroshare_sv.ts \ + lang/retroshare_tr.ts \ + lang/retroshare_zh_CN.ts + +unfinishedtranslations { + + TRANSLATIONS += \ + lang/retroshare_bg.ts \ + lang/retroshare_af.ts \ + lang/retroshare_pt.ts \ + lang/retroshare_sl.ts \ + lang/retroshare_sr.ts \ + lang/retroshare_zh_TW.ts + +} + +messenger { + SOURCES += gui/MessengerWindow.cpp \ + gui/common/FriendList.cpp + HEADERS += gui/MessengerWindow.h \ + gui/common/FriendList.h + FORMS += gui/MessengerWindow.ui \ + gui/common/FriendList.ui + + DEFiNES += MESSENGER_WINDOW +} + +# Shifted Qt4.4 dependancies to here. +# qmake CONFIG=pluginmgr + +pluginmgr { + + SOURCES += gui/PluginsPage.cpp \ + gui/PluginManagerWidget.cpp \ + gui/PluginManager.cpp + + HEADERS += gui/PluginsPage.h \ + gui/PluginManagerWidget.h \ + gui/PluginManager.h + + DEFINES *= PLUGINMGR + +} + +idle { + +HEADERS += idle/idle.h + +SOURCES += idle/idle.cpp \ + idle/idle_platform.cpp +} + +framecatcher { + +HEADERS += util/framecatcher.h + +SOURCES += util/framecatcher.cpp + +LIBS += -lxine + +DEFINES *= CHANNELS_FRAME_CATCHER + +} + +# Embedded Friend Server + +rs_efs { + DEFINES *= RS_EMBEDED_FRIEND_SERVER + SOURCES += gui/FriendServerControl.cpp + HEADERS += gui/FriendServerControl.h + FORMS += gui/FriendServerControl.ui +} + +# BELOW IS GXS Unfinished Services. + +unfinished_services { + + DEPENDPATH += gui/unfinished \ + + HEADERS += gui/unfinished/ApplicationWindow.h \ + +# gui/unfinished/CalDialog.h \ +# gui/unfinished/ExampleDialog.h \ +# gui/unfinished/GamesDialog.h \ +# gui/unfinished/profile/ProfileView.h \ +# gui/unfinished/profile/ProfileEdit.h +# gui/unfinished/StatisticDialog.h \ +# gui/unfinished/PhotoDialog.h \ +# gui/unfinished/PhotoShow.h \ + + FORMS += gui/unfinished/ApplicationWindow.ui \ + +# gui/unfinished/CalDialog.ui \ +# gui/unfinished/ExampleDialog.ui \ +# gui/unfinished/GamesDialog.ui \ +# gui/unfinished/profile/ProfileView.ui \ +# gui/unfinished/profile/ProfileEdit.ui +# gui/unfinished/StatisticDialog.ui \ +# gui/unfinished/PhotoDialog.ui \ +# gui/unfinished/PhotoShow.ui \ + + SOURCES += gui/unfinished/ApplicationWindow.cpp \ + +# gui/unfinished/CalDialog.cpp \ +# gui/unfinished/ExampleDialog.cpp \ +# gui/unfinished/GamesDialog.cpp \ +# gui/unfinished/profile/ProfileView.cpp \ +# gui/unfinished/profile/ProfileEdit.cpp +# gui/unfinished/StatisticDialog.cpp \ +# gui/unfinished/PhotoDialog.cpp \ +# gui/unfinished/PhotoShow.cpp \ + + DEFINES *= UNFINISHED +} + + +gxsphotoshare { + #DEFINES += RS_USE_PHOTOSHARE # to enable in unfinished. + DEFINES += RS_USE_PHOTO # enable in MainWindow + + HEADERS += \ + gui/PhotoShare/AlbumGroupDialog.h \ + gui/PhotoShare/AlbumExtra.h \ + gui/PhotoShare/PhotoDrop.h \ + gui/PhotoShare/AlbumItem.h \ + gui/PhotoShare/AlbumDialog.h \ + gui/PhotoShare/PhotoItem.h \ + gui/PhotoShare/PhotoShareItemHolder.h \ + gui/PhotoShare/PhotoShare.h \ + gui/PhotoShare/PhotoSlideShow.h \ + gui/PhotoShare/PhotoDialog.h + + FORMS += \ + gui/PhotoShare/AlbumExtra.ui \ + gui/PhotoShare/PhotoItem.ui \ + gui/PhotoShare/PhotoDialog.ui \ + gui/PhotoShare/AlbumItem.ui \ + gui/PhotoShare/AlbumDialog.ui \ + gui/PhotoShare/PhotoShare.ui \ + gui/PhotoShare/PhotoSlideShow.ui + + SOURCES += \ + gui/PhotoShare/AlbumGroupDialog.cpp \ + gui/PhotoShare/AlbumExtra.cpp \ + gui/PhotoShare/PhotoItem.cpp \ + gui/PhotoShare/PhotoDialog.cpp \ + gui/PhotoShare/PhotoDrop.cpp \ + gui/PhotoShare/AlbumItem.cpp \ + gui/PhotoShare/AlbumDialog.cpp \ + gui/PhotoShare/PhotoShareItemHolder.cpp \ + gui/PhotoShare/PhotoShare.cpp \ + gui/PhotoShare/PhotoSlideShow.cpp + + RESOURCES += gui/PhotoShare/Photo_images.qrc + +} + + +wikipoos { + DEFINES += RS_USE_WIKI + + DEPENDPATH += ../../supportlibs/pegmarkdown + INCLUDEPATH += ../../supportlibs/pegmarkdown + + HEADERS += gui/WikiPoos/WikiDialog.h \ + gui/WikiPoos/WikiAddDialog.h \ + gui/WikiPoos/WikiEditDialog.h \ + gui/gxs/WikiGroupDialog.h \ + + FORMS += gui/WikiPoos/WikiDialog.ui \ + gui/WikiPoos/WikiAddDialog.ui \ + gui/WikiPoos/WikiEditDialog.ui \ + + SOURCES += gui/WikiPoos/WikiDialog.cpp \ + gui/WikiPoos/WikiAddDialog.cpp \ + gui/WikiPoos/WikiEditDialog.cpp \ + gui/gxs/WikiGroupDialog.cpp \ + + RESOURCES += gui/WikiPoos/Wiki_images.qrc + +} + + + +gxsthewire { + + DEFINES += RS_USE_WIRE + + HEADERS += gui/TheWire/WireDialog.h \ + gui/TheWire/WireGroupItem.h \ + gui/TheWire/WireGroupDialog.h \ + gui/TheWire/WireGroupExtra.h \ + gui/TheWire/PulseAddDialog.h \ + gui/TheWire/PulseViewItem.h \ + gui/TheWire/PulseTopLevel.h \ + gui/TheWire/PulseViewGroup.h \ + gui/TheWire/PulseReply.h \ + gui/TheWire/PulseReplySeperator.h \ + gui/TheWire/PulseMessage.h \ + + FORMS += gui/TheWire/WireDialog.ui \ + gui/TheWire/WireGroupItem.ui \ + gui/TheWire/WireGroupExtra.ui \ + gui/TheWire/PulseAddDialog.ui \ + gui/TheWire/PulseTopLevel.ui \ + gui/TheWire/PulseViewGroup.ui \ + gui/TheWire/PulseReply.ui \ + gui/TheWire/PulseReplySeperator.ui \ + gui/TheWire/PulseMessage.ui \ + + SOURCES += gui/TheWire/WireDialog.cpp \ + gui/TheWire/WireGroupItem.cpp \ + gui/TheWire/WireGroupDialog.cpp \ + gui/TheWire/WireGroupExtra.cpp \ + gui/TheWire/PulseAddDialog.cpp \ + gui/TheWire/PulseViewItem.cpp \ + gui/TheWire/PulseTopLevel.cpp \ + gui/TheWire/PulseViewGroup.cpp \ + gui/TheWire/PulseReply.cpp \ + gui/TheWire/PulseReplySeperator.cpp \ + gui/TheWire/PulseMessage.cpp \ + + RESOURCES += gui/TheWire/TheWire_images.qrc +} + +identities { + + HEADERS += \ + gui/Identity/IdDialog.h \ + gui/Identity/IdEditDialog.h \ + gui/Identity/IdDetailsDialog.h \ + + FORMS += gui/Identity/IdDialog.ui \ + gui/Identity/IdEditDialog.ui \ + gui/Identity/IdDetailsDialog.ui \ + + SOURCES += \ + gui/Identity/IdDialog.cpp \ + gui/Identity/IdEditDialog.cpp \ + gui/Identity/IdDetailsDialog.cpp \ + +} + +gxscircles { + DEFINES += RS_USE_CIRCLES +# DEFINES += RS_USE_NEW_PEOPLE_DIALOG + + HEADERS += \ + gui/Circles/CirclesDialog.h \ + gui/Circles/CreateCircleDialog.h \ + + FORMS += gui/Circles/CirclesDialog.ui \ + gui/Circles/CreateCircleDialog.ui \ + + SOURCES += \ + gui/Circles/CirclesDialog.cpp \ + gui/Circles/CreateCircleDialog.cpp \ + + HEADERS += gui/People/PeopleDialog.h + HEADERS += gui/People/CircleWidget.h + HEADERS += gui/People/IdentityWidget.h + + FORMS += gui/People/PeopleDialog.ui + FORMS += gui/People/CircleWidget.ui + FORMS += gui/People/IdentityWidget.ui + + SOURCES += gui/People/PeopleDialog.cpp + SOURCES += gui/People/CircleWidget.cpp + SOURCES += gui/People/IdentityWidget.cpp + +#HEADERS += gui/People/IdentityItem.h +#HEADERS += gui/People/CircleItem.h +#HEADERS += gui/People/GroupListView.h +#SOURCES += gui/People/GroupListView.cpp +#SOURCES += gui/People/IdentityItem.cpp +#SOURCES += gui/People/CircleItem.cpp + + +} + + +gxsforums { + + HEADERS += gui/gxsforums/GxsForumsDialog.h \ + gui/gxsforums/GxsForumGroupDialog.h \ + gui/gxsforums/CreateGxsForumMsg.h \ + gui/gxsforums/GxsForumThreadWidget.h \ + gui/gxsforums/GxsForumModel.h \ + gui/gxsforums/GxsForumUserNotify.h \ + gui/feeds/GxsForumGroupItem.h \ + gui/feeds/GxsForumMsgItem.h + + FORMS += gui/gxsforums/CreateGxsForumMsg.ui \ + gui/gxsforums/GxsForumThreadWidget.ui \ + gui/feeds/GxsForumGroupItem.ui \ + gui/feeds/GxsForumMsgItem.ui + + SOURCES += gui/gxsforums/GxsForumsDialog.cpp \ + gui/gxsforums/GxsForumGroupDialog.cpp \ + gui/gxsforums/CreateGxsForumMsg.cpp \ + gui/gxsforums/GxsForumThreadWidget.cpp \ + gui/gxsforums/GxsForumModel.cpp \ + gui/gxsforums/GxsForumUserNotify.cpp \ + gui/feeds/GxsForumGroupItem.cpp \ + gui/feeds/GxsForumMsgItem.cpp +} + + +gxschannels { + + HEADERS += gui/gxschannels/GxsChannelDialog.h \ + gui/gxschannels/GxsChannelGroupDialog.h \ + gui/gxschannels/CreateGxsChannelMsg.h \ + gui/gxschannels/GxsChannelPostsWidgetWithModel.h \ + gui/gxschannels/GxsChannelPostsModel.h \ + gui/gxschannels/GxsChannelPostFilesModel.h \ + gui/gxschannels/GxsChannelPostThumbnail.h \ + gui/gxschannels/GxsChannelFilesStatusWidget.h \ + gui/feeds/GxsChannelGroupItem.h \ + gui/feeds/GxsChannelPostItem.h \ + gui/gxschannels/GxsChannelUserNotify.h + + FORMS += \ + gui/gxschannels/GxsChannelPostsWidgetWithModel.ui \ + gui/gxschannels/GxsChannelFilesStatusWidget.ui \ + gui/gxschannels/CreateGxsChannelMsg.ui \ + gui/feeds/GxsChannelGroupItem.ui \ + gui/feeds/GxsChannelPostItem.ui + + SOURCES += gui/gxschannels/GxsChannelDialog.cpp \ + gui/gxschannels/GxsChannelPostsWidgetWithModel.cpp \ + gui/gxschannels/GxsChannelPostsModel.cpp \ + gui/gxschannels/GxsChannelPostFilesModel.cpp \ + gui/gxschannels/GxsChannelFilesStatusWidget.cpp \ + gui/gxschannels/GxsChannelPostThumbnail.cpp \ + gui/gxschannels/GxsChannelGroupDialog.cpp \ + gui/gxschannels/CreateGxsChannelMsg.cpp \ + gui/feeds/GxsChannelGroupItem.cpp \ + gui/feeds/GxsChannelPostItem.cpp \ + gui/gxschannels/GxsChannelUserNotify.cpp +} + + +posted { + + HEADERS += gui/Posted/PostedDialog.h \ + gui/Posted/PostedListWidgetWithModel.h \ + gui/Posted/PostedPostsModel.h \ + gui/Posted/BoardPostDisplayWidget.h \ + gui/Posted/PostedItem.h \ + gui/Posted/PostedCardView.h \ + gui/Posted/PostedGroupDialog.h \ + gui/feeds/PostedGroupItem.h \ + gui/Posted/PostedCreatePostDialog.h \ + gui/Posted/PhotoView.h \ + gui/Posted/PostedUserNotify.h + + #gui/Posted/PostedCreateCommentDialog.h \ + #gui/Posted/PostedComments.h \ + + FORMS += gui/Posted/PostedListWidgetWithModel.ui \ + gui/feeds/PostedGroupItem.ui \ + gui/Posted/BoardPostDisplayWidget_compact.ui \ + gui/Posted/BoardPostDisplayWidget_card.ui \ + gui/Posted/PostedItem.ui \ + gui/Posted/PostedCardView.ui \ + gui/Posted/PostedCreatePostDialog.ui \ + gui/Posted/PhotoView.ui \ + #gui/Posted/PostedDialog.ui \ + #gui/Posted/PostedComments.ui \ + #gui/Posted/PostedCreateCommentDialog.ui + + SOURCES += gui/Posted/PostedDialog.cpp \ + gui/Posted/PostedListWidgetWithModel.cpp \ + gui/Posted/BoardPostDisplayWidget.cpp \ + gui/Posted/PostedPostsModel.cpp \ + gui/feeds/PostedGroupItem.cpp \ + gui/Posted/PostedItem.cpp \ + gui/Posted/PostedCardView.cpp \ + gui/Posted/PostedGroupDialog.cpp \ + gui/Posted/PostedCreatePostDialog.cpp \ + gui/Posted/PhotoView.cpp \ + gui/Posted/PostedUserNotify.cpp + + #gui/Posted/PostedDialog.cpp \ + #gui/Posted/PostedComments.cpp \ + #gui/Posted/PostedCreateCommentDialog.cpp + + RESOURCES += gui/Posted/Posted_images.qrc +} + +gxsgui { + + HEADERS += gui/gxs/GxsGroupDialog.h \ + gui/gxs/GxsIdDetails.h \ + gui/gxs/GxsIdChooser.h \ + gui/gxs/GxsIdLabel.h \ + gui/gxs/GxsCircleChooser.h \ + gui/gxs/GxsCircleLabel.h \ + gui/gxs/GxsIdTreeWidgetItem.h \ + gui/gxs/GxsCommentTreeWidget.h \ + gui/gxs/GxsCommentContainer.h \ + gui/gxs/GxsCommentDialog.h \ + gui/gxs/GxsCreateCommentDialog.h \ + gui/gxs/GxsGroupFrameDialog.h \ + gui/gxs/GxsMessageFrameWidget.h \ + gui/gxs/GxsMessageFramePostWidget.h \ + gui/gxs/GxsGroupFeedItem.h \ + gui/gxs/GxsFeedItem.h \ + gui/gxs/GxsGroupShareKey.h \ + gui/gxs/GxsUserNotify.h \ + gui/gxs/GxsFeedWidget.h \ + util/TokenQueue.h \ + util/RsGxsUpdateBroadcast.h \ + +# gui/gxs/GxsMsgDialog.h \ + + FORMS += gui/gxs/GxsGroupDialog.ui \ + gui/gxs/GxsCommentContainer.ui \ + gui/gxs/GxsCommentDialog.ui \ + gui/gxs/GxsCreateCommentDialog.ui \ + gui/gxs/GxsGroupFrameDialog.ui\ + gui/gxs/GxsGroupShareKey.ui +# gui/gxs/GxsMsgDialog.ui \ +# gui/gxs/GxsCommentTreeWidget.ui + + SOURCES += gui/gxs/GxsGroupDialog.cpp \ + gui/gxs/GxsIdDetails.cpp \ + gui/gxs/GxsIdChooser.cpp \ + gui/gxs/GxsIdLabel.cpp \ + gui/gxs/GxsCircleChooser.cpp \ + gui/gxs/GxsGroupShareKey.cpp \ + gui/gxs/GxsCircleLabel.cpp \ + gui/gxs/GxsIdTreeWidgetItem.cpp \ + gui/gxs/GxsCommentTreeWidget.cpp \ + gui/gxs/GxsCommentContainer.cpp \ + gui/gxs/GxsCommentDialog.cpp \ + gui/gxs/GxsCreateCommentDialog.cpp \ + gui/gxs/GxsGroupFrameDialog.cpp \ + gui/gxs/GxsMessageFrameWidget.cpp \ + gui/gxs/GxsMessageFramePostWidget.cpp \ + gui/gxs/GxsGroupFeedItem.cpp \ + gui/gxs/GxsFeedItem.cpp \ + gui/gxs/GxsUserNotify.cpp \ + gui/gxs/GxsFeedWidget.cpp \ + util/TokenQueue.cpp \ + util/RsGxsUpdateBroadcast.cpp \ + +# gui/gxs/GxsMsgDialog.cpp \ + + +} + + +wikipoos { + HEADERS += \ + gui/gxs/RsGxsUpdateBroadcastBase.h \ + gui/gxs/RsGxsUpdateBroadcastWidget.h \ + gui/gxs/RsGxsUpdateBroadcastPage.h + + SOURCES += \ + gui/gxs/RsGxsUpdateBroadcastBase.cpp \ + gui/gxs/RsGxsUpdateBroadcastWidget.cpp \ + gui/gxs/RsGxsUpdateBroadcastPage.cpp \ +} + +################################################################ +#Define qmake_info.h file so GUI can get wath was used to compil +# This must be at end to get all informations +################################################################ +RS_QMAKE_DEFINES=\\\"$${DEFINES}\\\" +RS_QMAKE_CONFIG=\\\"$${CONFIG}\\\" + +INCLUDEPATH += $$OUT_PWD/include +info_file.input = $$PWD/qmake_info.h.in +info_file.output = $$OUT_PWD/include/qmake_info.h + +QMAKE_SUBSTITUTES += info_file +OTHER_FILES += \ + qmake_info.h.in From 59c6eabad9b0ee34d31c2b4b262fa4d17c041a96 Mon Sep 17 00:00:00 2001 From: PYRET1C <88980503+PYRET1C@users.noreply.github.com> Date: Sun, 2 Jul 2023 12:48:38 +0530 Subject: [PATCH 19/65] Revert "Changes to the .pro file for the newly made files." This reverts commit 3cc077ff381dbf64687ed2d3abf04d0d29921675. This commit adds the new files to the .pro file. --- .../src/gui/TheWire/CustomFrame.cpp | 20 +++ retroshare-gui/src/gui/TheWire/CustomFrame.h | 20 +++ .../src/gui/TheWire/PulseViewGroup.cpp | 125 +++++++++--------- retroshare-gui/src/retroshare-gui.pro | 2 + 4 files changed, 105 insertions(+), 62 deletions(-) diff --git a/retroshare-gui/src/gui/TheWire/CustomFrame.cpp b/retroshare-gui/src/gui/TheWire/CustomFrame.cpp index 20059222d..4f1308df5 100644 --- a/retroshare-gui/src/gui/TheWire/CustomFrame.cpp +++ b/retroshare-gui/src/gui/TheWire/CustomFrame.cpp @@ -1,3 +1,23 @@ +/******************************************************************************* + * gui/TheWire/CustomFrame.cpp * + * * + * Copyright (c) 2012-2020 Robert Fernie * + * * + * This program is free software: you can redistribute it and/or modify * + * it under the terms of the GNU Affero General Public License as * + * published by the Free Software Foundation, either version 3 of the * + * License, or (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU Affero General Public License for more details. * + * * + * You should have received a copy of the GNU Affero General Public License * + * along with this program. If not, see . * + * * + *******************************************************************************/ + #include "CustomFrame.h" #include diff --git a/retroshare-gui/src/gui/TheWire/CustomFrame.h b/retroshare-gui/src/gui/TheWire/CustomFrame.h index ebe2bfa8c..e75a6087a 100644 --- a/retroshare-gui/src/gui/TheWire/CustomFrame.h +++ b/retroshare-gui/src/gui/TheWire/CustomFrame.h @@ -1,3 +1,23 @@ +/******************************************************************************* + * gui/TheWire/CustomFrame.h * + * * + * Copyright (c) 2012-2020 Robert Fernie * + * * + * This program is free software: you can redistribute it and/or modify * + * it under the terms of the GNU Affero General Public License as * + * published by the Free Software Foundation, either version 3 of the * + * License, or (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU Affero General Public License for more details. * + * * + * You should have received a copy of the GNU Affero General Public License * + * along with this program. If not, see . * + * * + *******************************************************************************/ + #ifndef CUSTOMFRAMEH_H #define CUSTOMFRAMEH_H diff --git a/retroshare-gui/src/gui/TheWire/PulseViewGroup.cpp b/retroshare-gui/src/gui/TheWire/PulseViewGroup.cpp index 56c4eabdc..4ef0b6512 100644 --- a/retroshare-gui/src/gui/TheWire/PulseViewGroup.cpp +++ b/retroshare-gui/src/gui/TheWire/PulseViewGroup.cpp @@ -37,21 +37,21 @@ Q_DECLARE_METATYPE(RsWireGroup) PulseViewGroup::PulseViewGroup(PulseViewHolder *holder, RsWireGroupSPtr group) :PulseViewItem(holder), mGroup(group) { - setupUi(this); - setAttribute ( Qt::WA_DeleteOnClose, true ); - setup(); + setupUi(this); + setAttribute ( Qt::WA_DeleteOnClose, true ); + setup(); } void PulseViewGroup::setup() { - if (mGroup) { - connect(followButton, SIGNAL(clicked()), this, SLOT(actionFollow())); + if (mGroup) { + connect(followButton, SIGNAL(clicked()), this, SLOT(actionFollow())); - label_groupName->setText("@" + QString::fromStdString(mGroup->mMeta.mGroupName)); - label_authorName->setText(BoldString(QString::fromStdString(mGroup->mMeta.mAuthorId.toStdString()))); - label_date->setText(DateTime::formatDateTime(mGroup->mMeta.mPublishTs)); - label_tagline->setText(QString::fromStdString(mGroup->mTagline)); - label_location->setText(QString::fromStdString(mGroup->mLocation)); + label_groupName->setText("@" + QString::fromStdString(mGroup->mMeta.mGroupName)); + label_authorName->setText(BoldString(QString::fromStdString(mGroup->mMeta.mAuthorId.toStdString()))); + label_date->setText(DateTime::formatDateTime(mGroup->mMeta.mPublishTs)); + label_tagline->setText(QString::fromStdString(mGroup->mTagline)); + label_location->setText(QString::fromStdString(mGroup->mLocation)); if (mGroup->mMasthead.mData) @@ -65,72 +65,73 @@ void PulseViewGroup::setup() QSize frameSize = frame_masthead->size(); // Scale the pixmap based on the frame size - pixmap = pixmap.scaled(frameSize, Qt::KeepAspectRatio, Qt::SmoothTransformation); + pixmap = pixmap.scaledToWidth(frameSize.width(), Qt::SmoothTransformation); frame_masthead->setPixmap(pixmap); } } +// Uncomment the below code for default background +// else +// { +// // Default pixmap +// QPixmap pixmap = FilesDefs::getPixmapFromQtResourcePath(":/icons/png/posted.png"); +// QSize frameSize = frame_masthead->size(); + +// // Scale the pixmap based on the frame size +// pixmap = pixmap.scaled(frameSize, Qt::KeepAspectRatio, Qt::SmoothTransformation); +// frame_masthead->setPixmap(pixmap); +// } + + if (mGroup->mHeadshot.mData) + { + QPixmap pixmap; + if (GxsIdDetails::loadPixmapFromData( + mGroup->mHeadshot.mData, + mGroup->mHeadshot.mSize, + pixmap,GxsIdDetails::ORIGINAL)) + { + pixmap = pixmap.scaled(100,100); + label_headshot->setPixmap(pixmap); + } + } else { - // Default pixmap - QPixmap pixmap = FilesDefs::getPixmapFromQtResourcePath(":/icons/png/posted.png"); - QSize frameSize = frame_masthead->size(); - - // Scale the pixmap based on the frame size - pixmap = pixmap.scaled(frameSize, Qt::KeepAspectRatio, Qt::SmoothTransformation); - frame_masthead->setPixmap(pixmap); - } - - if (mGroup->mHeadshot.mData) - { - QPixmap pixmap; - if (GxsIdDetails::loadPixmapFromData( - mGroup->mHeadshot.mData, - mGroup->mHeadshot.mSize, - pixmap,GxsIdDetails::ORIGINAL)) - { - pixmap = pixmap.scaled(100,100); - label_headshot->setPixmap(pixmap); - } - } - else - { // default. QPixmap pixmap = FilesDefs::getPixmapFromQtResourcePath(":/icons/png/posted.png").scaled(100,100); - label_headshot->setPixmap(pixmap); - } + label_headshot->setPixmap(pixmap); + } - if (mGroup->mMeta.mSubscribeFlags & GXS_SERV::GROUP_SUBSCRIBE_SUBSCRIBED) - { - uint32_t pulses = mGroup->mGroupPulses + mGroup->mGroupReplies; - uint32_t replies = mGroup->mRefReplies; - uint32_t republishes = mGroup->mRefRepublishes; - uint32_t likes = mGroup->mRefLikes; + if (mGroup->mMeta.mSubscribeFlags & GXS_SERV::GROUP_SUBSCRIBE_SUBSCRIBED) + { + uint32_t pulses = mGroup->mGroupPulses + mGroup->mGroupReplies; + uint32_t replies = mGroup->mRefReplies; + uint32_t republishes = mGroup->mRefRepublishes; + uint32_t likes = mGroup->mRefLikes; - label_extra_pulses->setText(BoldString(ToNumberUnits(pulses))); - label_extra_replies->setText(BoldString(ToNumberUnits(replies))); - label_extra_republishes->setText(BoldString(ToNumberUnits(republishes))); - label_extra_likes->setText(BoldString(ToNumberUnits(likes))); + label_extra_pulses->setText(BoldString(ToNumberUnits(pulses))); + label_extra_replies->setText(BoldString(ToNumberUnits(replies))); + label_extra_republishes->setText(BoldString(ToNumberUnits(republishes))); + label_extra_likes->setText(BoldString(ToNumberUnits(likes))); - // hide follow. - widget_actions->setVisible(false); - } - else - { - // hide stats. - widget_replies->setVisible(false); - } - } + // hide follow. + widget_actions->setVisible(false); + } + else + { + // hide stats. + widget_replies->setVisible(false); + } + } } void PulseViewGroup::actionFollow() { - RsGxsGroupId groupId = mGroup->mMeta.mGroupId; - std::cerr << "PulseViewGroup::actionFollow() following "; - std::cerr << groupId; - std::cerr << std::endl; + RsGxsGroupId groupId = mGroup->mMeta.mGroupId; + std::cerr << "PulseViewGroup::actionFollow() following "; + std::cerr << groupId; + std::cerr << std::endl; - if (mHolder) { - mHolder->PVHfollow(groupId); - } + if (mHolder) { + mHolder->PVHfollow(groupId); + } } diff --git a/retroshare-gui/src/retroshare-gui.pro b/retroshare-gui/src/retroshare-gui.pro index b8e8365e0..93734b454 100644 --- a/retroshare-gui/src/retroshare-gui.pro +++ b/retroshare-gui/src/retroshare-gui.pro @@ -1220,6 +1220,7 @@ gxsthewire { gui/TheWire/PulseReply.h \ gui/TheWire/PulseReplySeperator.h \ gui/TheWire/PulseMessage.h \ + gui/TheWire/CustomFrame.h \ FORMS += gui/TheWire/WireDialog.ui \ gui/TheWire/WireGroupItem.ui \ @@ -1242,6 +1243,7 @@ gxsthewire { gui/TheWire/PulseReply.cpp \ gui/TheWire/PulseReplySeperator.cpp \ gui/TheWire/PulseMessage.cpp \ + gui/TheWire/CustomFrame.cpp \ RESOURCES += gui/TheWire/TheWire_images.qrc } From cbe4fca9ae866bf590ff5e4a6b79b16e3b3ef25a Mon Sep 17 00:00:00 2001 From: PYRET1C <88980503+PYRET1C@users.noreply.github.com> Date: Sat, 15 Jul 2023 19:36:48 +0530 Subject: [PATCH 20/65] just making the actual path to relative path. --- retroshare-gui/src/gui/TheWire/PulseViewGroup.ui | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/retroshare-gui/src/gui/TheWire/PulseViewGroup.ui b/retroshare-gui/src/gui/TheWire/PulseViewGroup.ui index 39183123e..6f6aff965 100644 --- a/retroshare-gui/src/gui/TheWire/PulseViewGroup.ui +++ b/retroshare-gui/src/gui/TheWire/PulseViewGroup.ui @@ -50,7 +50,7 @@ - + 0 @@ -569,11 +569,11 @@ - + CustomFrame QFrame -
D:\new\RetroShare\retroshare-gui\src\gui\TheWire\CustomFrame.h
+
gui\TheWire\CustomFrame.h
1
From 13ff7f4e653d663198d06cc603a104af54c101c4 Mon Sep 17 00:00:00 2001 From: thunder2 Date: Tue, 18 Jul 2023 14:34:08 +0200 Subject: [PATCH 21/65] Fixed Linux compile of TheWire --- retroshare-gui/src/gui/TheWire/PulseViewGroup.ui | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/retroshare-gui/src/gui/TheWire/PulseViewGroup.ui b/retroshare-gui/src/gui/TheWire/PulseViewGroup.ui index 6f6aff965..96f717656 100644 --- a/retroshare-gui/src/gui/TheWire/PulseViewGroup.ui +++ b/retroshare-gui/src/gui/TheWire/PulseViewGroup.ui @@ -573,7 +573,7 @@ CustomFrame QFrame -
gui\TheWire\CustomFrame.h
+
gui/TheWire/CustomFrame.h
1
From 030bc46d2679376868353cc0cc310927ac503d93 Mon Sep 17 00:00:00 2001 From: csoler Date: Tue, 18 Jul 2023 15:15:21 +0200 Subject: [PATCH 22/65] fixed sorting of TO column in Sent mails --- retroshare-gui/src/gui/msgs/MessageModel.cpp | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/retroshare-gui/src/gui/msgs/MessageModel.cpp b/retroshare-gui/src/gui/msgs/MessageModel.cpp index a19087dc0..771fd6874 100644 --- a/retroshare-gui/src/gui/msgs/MessageModel.cpp +++ b/retroshare-gui/src/gui/msgs/MessageModel.cpp @@ -459,14 +459,6 @@ QVariant RsMessageModel::sortRole(const Rs::Msgs::MsgInfoSummary& fmpe,int colum case COLUMN_THREAD_SPAM: return QVariant((fmpe.msgflags & RS_MSG_SPAM)? 1:0); - case COLUMN_THREAD_TO: { - QString name; - - if(GxsIdTreeItemDelegate::computeName(RsGxsId(fmpe.to.toStdString()),name)) - return name; - return ""; //Not Found - } - case COLUMN_THREAD_AUTHOR:{ QString name; @@ -474,8 +466,10 @@ QVariant RsMessageModel::sortRole(const Rs::Msgs::MsgInfoSummary& fmpe,int colum return name; return ""; //Not Found } - default: - return displayRole(fmpe,column); + + case COLUMN_THREAD_TO: // fallthrough. In this case, the "to" field is not filled because the msg potentially has multiple destinations. + default: + return displayRole(fmpe,column); } } From 10feb45bce53890e9a66b92cdec1ec219d16e385 Mon Sep 17 00:00:00 2001 From: csoler Date: Tue, 18 Jul 2023 20:03:46 +0200 Subject: [PATCH 23/65] fixed Board posts links copy on right-click --- retroshare-gui/src/gui/common/ElidedLabel.cpp | 6 +++++- retroshare-gui/src/gui/common/ElidedLabel.h | 3 ++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/retroshare-gui/src/gui/common/ElidedLabel.cpp b/retroshare-gui/src/gui/common/ElidedLabel.cpp index 31351b08d..bd86be9bd 100644 --- a/retroshare-gui/src/gui/common/ElidedLabel.cpp +++ b/retroshare-gui/src/gui/common/ElidedLabel.cpp @@ -258,7 +258,11 @@ void ElidedLabel::mousePressEvent(QMouseEvent *ev) return; // eat event } QLabel::mousePressEvent(ev); - emit clicked(ev->pos()); + + if(ev->buttons()==Qt::RightButton) + emit rightClicked(ev->pos()); + else + emit clicked(ev->pos()); } void ElidedLabel::setTextColor(const QColor &color) diff --git a/retroshare-gui/src/gui/common/ElidedLabel.h b/retroshare-gui/src/gui/common/ElidedLabel.h index 9290a61d1..2faa2f0ef 100644 --- a/retroshare-gui/src/gui/common/ElidedLabel.h +++ b/retroshare-gui/src/gui/common/ElidedLabel.h @@ -77,7 +77,8 @@ protected: signals: void elisionChanged(bool elided); - void clicked(QPoint pos); + void rightClicked(QPoint pos); + void clicked(QPoint pos); private: bool mElided; From 7a4558a3dac121ff430fc0af91185d290c9ca2d7 Mon Sep 17 00:00:00 2001 From: csoler Date: Mon, 24 Jul 2023 18:35:05 +0200 Subject: [PATCH 24/65] added missing change in previous commit --- retroshare-gui/src/gui/common/ElidedLabel.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/retroshare-gui/src/gui/common/ElidedLabel.cpp b/retroshare-gui/src/gui/common/ElidedLabel.cpp index bd86be9bd..2486d0cae 100644 --- a/retroshare-gui/src/gui/common/ElidedLabel.cpp +++ b/retroshare-gui/src/gui/common/ElidedLabel.cpp @@ -259,10 +259,10 @@ void ElidedLabel::mousePressEvent(QMouseEvent *ev) } QLabel::mousePressEvent(ev); - if(ev->buttons()==Qt::RightButton) - emit rightClicked(ev->pos()); - else + if(ev->buttons()==Qt::LeftButton) emit clicked(ev->pos()); + else if(ev->buttons()==Qt::RightButton) + emit rightClicked(ev->pos()); } void ElidedLabel::setTextColor(const QColor &color) From 15128192003722a3686c1b6f27132ba064cd1705 Mon Sep 17 00:00:00 2001 From: csoler Date: Mon, 24 Jul 2023 18:35:21 +0200 Subject: [PATCH 25/65] fixed compilation on arch --- retroshare-gui/src/gui/statistics/Histogram.cpp | 4 ++-- retroshare-gui/src/gui/statistics/Histogram.h | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/retroshare-gui/src/gui/statistics/Histogram.cpp b/retroshare-gui/src/gui/statistics/Histogram.cpp index 5884d8306..77e272b31 100644 --- a/retroshare-gui/src/gui/statistics/Histogram.cpp +++ b/retroshare-gui/src/gui/statistics/Histogram.cpp @@ -39,9 +39,9 @@ void Histogram::draw(QPainter */*painter*/) const void Histogram::insert(double val) { - long int bin = (uint32_t)floor((val - mStart)/(mEnd - mStart) * mBins.size()); + long int bin = (long int)floor((val - mStart)/(mEnd - mStart) * mBins.size()); - if(bin >= 0 && bin < mBins.size()) + if(bin >= 0 && bin < (long int)mBins.size()) ++mBins[bin]; } diff --git a/retroshare-gui/src/gui/statistics/Histogram.h b/retroshare-gui/src/gui/statistics/Histogram.h index 91ec84b5d..3931b15db 100644 --- a/retroshare-gui/src/gui/statistics/Histogram.h +++ b/retroshare-gui/src/gui/statistics/Histogram.h @@ -20,7 +20,7 @@ #include #include -#include +#include class QPainter; From 74049d1b22f673349427ccec985bb098cd510340 Mon Sep 17 00:00:00 2001 From: defnax Date: Mon, 24 Jul 2023 23:19:17 +0200 Subject: [PATCH 26/65] Added crop picture feature for wire background picture * Added crop picture feature for wire background picture * Fix smooth transformation for pixmaps * Added stylesheet for label_masthead * Edit profile on profile page feature * New svg icons for wire --- .../src/gui/TheWire/PulseViewGroup.cpp | 39 +++- .../src/gui/TheWire/PulseViewGroup.h | 3 + .../src/gui/TheWire/PulseViewGroup.ui | 168 +++++++++--------- .../src/gui/TheWire/WireGroupExtra.cpp | 34 +++- .../src/gui/TheWire/WireGroupExtra.h | 3 +- .../src/gui/TheWire/WireGroupExtra.ui | 151 ++++++++++++---- .../src/gui/TheWire/WireGroupItem.cpp | 4 +- .../src/gui/icons/svg/wire-notify.svg | 55 ++++++ retroshare-gui/src/gui/icons/svg/wire.svg | 56 ++++++ .../src/gui/qss/stylesheet/Standard_Dark.qss | 7 + .../src/gui/qss/stylesheet/Standard_Light.qss | 5 + retroshare-gui/src/qss/retroclassic.qss | 6 + 12 files changed, 399 insertions(+), 132 deletions(-) create mode 100644 retroshare-gui/src/gui/icons/svg/wire-notify.svg create mode 100644 retroshare-gui/src/gui/icons/svg/wire.svg diff --git a/retroshare-gui/src/gui/TheWire/PulseViewGroup.cpp b/retroshare-gui/src/gui/TheWire/PulseViewGroup.cpp index 4ef0b6512..475c74034 100644 --- a/retroshare-gui/src/gui/TheWire/PulseViewGroup.cpp +++ b/retroshare-gui/src/gui/TheWire/PulseViewGroup.cpp @@ -26,6 +26,7 @@ #include "PulseViewGroup.h" #include "CustomFrame.h" +#include "WireGroupDialog.h" #include "gui/gxs/GxsIdDetails.h" #include "gui/common/FilesDefs.h" #include "util/DateTime.h" @@ -40,6 +41,9 @@ PulseViewGroup::PulseViewGroup(PulseViewHolder *holder, RsWireGroupSPtr group) setupUi(this); setAttribute ( Qt::WA_DeleteOnClose, true ); setup(); + + connect(editButton, SIGNAL(clicked()), this, SLOT(editProfile())); + } void PulseViewGroup::setup() @@ -89,14 +93,14 @@ void PulseViewGroup::setup() mGroup->mHeadshot.mSize, pixmap,GxsIdDetails::ORIGINAL)) { - pixmap = pixmap.scaled(100,100); + pixmap = pixmap.scaled(100,100, Qt::KeepAspectRatio, Qt::SmoothTransformation); label_headshot->setPixmap(pixmap); } } else { // default. - QPixmap pixmap = FilesDefs::getPixmapFromQtResourcePath(":/icons/png/posted.png").scaled(100,100); + QPixmap pixmap = FilesDefs::getPixmapFromQtResourcePath(":/icons/wire.png").scaled(100,100, Qt::KeepAspectRatio, Qt::SmoothTransformation); label_headshot->setPixmap(pixmap); } @@ -121,6 +125,23 @@ void PulseViewGroup::setup() widget_replies->setVisible(false); } } + + setGroupSet(); +} + +void PulseViewGroup::setGroupSet() +{ + if (mGroup->mMeta.mSubscribeFlags & GXS_SERV::GROUP_SUBSCRIBE_ADMIN) { + editButton->show(); + } + else if (mGroup->mMeta.mSubscribeFlags & GXS_SERV::GROUP_SUBSCRIBE_SUBSCRIBED) + { + editButton->hide(); + } + else + { + editButton->hide(); + } } void PulseViewGroup::actionFollow() @@ -135,3 +156,17 @@ void PulseViewGroup::actionFollow() } } +void PulseViewGroup::editProfile() +{ + RsGxsGroupId groupId = mGroup->mMeta.mGroupId; + if (groupId.isNull()) + { + std::cerr << "PulseViewGroup::editProfile() No Group selected"; + std::cerr << std::endl; + return; + } + + WireGroupDialog wireEdit(GxsGroupDialog::MODE_EDIT, groupId, this); + wireEdit.exec (); +} + diff --git a/retroshare-gui/src/gui/TheWire/PulseViewGroup.h b/retroshare-gui/src/gui/TheWire/PulseViewGroup.h index 4d00090ca..62da0a228 100644 --- a/retroshare-gui/src/gui/TheWire/PulseViewGroup.h +++ b/retroshare-gui/src/gui/TheWire/PulseViewGroup.h @@ -35,10 +35,13 @@ public: private slots: void actionFollow(); + void editProfile(); protected: void setup(); +private: + void setGroupSet(); protected: RsWireGroupSPtr mGroup; diff --git a/retroshare-gui/src/gui/TheWire/PulseViewGroup.ui b/retroshare-gui/src/gui/TheWire/PulseViewGroup.ui index 96f717656..79d9964f6 100644 --- a/retroshare-gui/src/gui/TheWire/PulseViewGroup.ui +++ b/retroshare-gui/src/gui/TheWire/PulseViewGroup.ui @@ -136,38 +136,6 @@ - - - - Qt::Horizontal - - - - 518 - 58 - - - - - - - - - 0 - 0 - - - - - 0 - 20 - - - - <html><head/><body><p><span style=" color:#555753;">@sidler_here</span></p></body></html> - - - @@ -203,6 +171,45 @@ + + + + + 0 + 0 + + + + + 0 + 20 + + + + <html><head/><body><p><span style=" color:#555753;">@sidler_here</span></p></body></html> + + + + + + + Qt::Horizontal + + + + 518 + 58 + + + + + + + + Edit profile + + + @@ -227,41 +234,6 @@ - - - - - 0 - 0 - - - - - 0 - 20 - - - - <html><head/><body><p><span style=" color:#2e3436;">3:58 AM · Apr 13, 2020 ·</span></p></body></html> - - - - - - - Qt::Horizontal - - - QSizePolicy::Fixed - - - - 20 - 20 - - - - @@ -281,19 +253,6 @@ - - - - Qt::Horizontal - - - - 2000 - 20 - - - - @@ -313,6 +272,54 @@ + + + + + 0 + 0 + + + + + 0 + 20 + + + + <html><head/><body><p><span style=" color:#2e3436;">3:58 AM · Apr 13, 2020 ·</span></p></body></html> + + + + + + + Qt::Horizontal + + + + 2000 + 20 + + + + + + + + Qt::Horizontal + + + QSizePolicy::Fixed + + + + 20 + 20 + + + + @@ -530,6 +537,7 @@ 12 + 75 true diff --git a/retroshare-gui/src/gui/TheWire/WireGroupExtra.cpp b/retroshare-gui/src/gui/TheWire/WireGroupExtra.cpp index b6a1c5440..8ed6d4d4b 100644 --- a/retroshare-gui/src/gui/TheWire/WireGroupExtra.cpp +++ b/retroshare-gui/src/gui/TheWire/WireGroupExtra.cpp @@ -34,13 +34,19 @@ WireGroupExtra::~WireGroupExtra() void WireGroupExtra::setUp() { - connect(ui.pushButton_masthead, SIGNAL(clicked() ), this , SLOT(addMasthead())); -} + connect(ui.pushButton_masthead, SIGNAL(clicked() ), this , SLOT(addMasthead())); + int desired_height = ui.pushButton_masthead->height() + ui.removeButton->height() + ui.lineEdit_Tagline->height(); + int desired_width = 3/1.0 * desired_height + ui.lineEdit_Tagline->width(); + + ui.label_masthead->setFixedSize(desired_width, desired_height); + + setMasthead(QPixmap()); +} void WireGroupExtra::addMasthead() { - QPixmap img = misc::getOpenThumbnailedPicture(this, tr("Load Masthead"), 400, 100); + QPixmap img = misc::getOpenThumbnailedPicture(this, tr("Load Masthead"), 800, 600); if (img.isNull()) return; @@ -48,7 +54,6 @@ void WireGroupExtra::addMasthead() setMasthead(img); } - void WireGroupExtra::setTagline(const std::string &str) { ui.lineEdit_Tagline->setText(QString::fromStdString(str)); @@ -61,8 +66,21 @@ void WireGroupExtra::setLocation(const std::string &str) void WireGroupExtra::setMasthead(const QPixmap &pixmap) { - mMasthead = pixmap; - ui.label_masthead->setPixmap(mMasthead); + mMasthead = pixmap; + + if (!mMasthead.isNull()) { + ui.label_masthead->setPicture(mMasthead); + ui.label_masthead->setToolTip(tr("Use the mouse to zoom and adjust the image for your background.")); + } else { + ui.label_masthead->setPicture(QPixmap()); + ui.label_masthead->setText(tr("MastHead background Image")); + } +} + +void WireGroupExtra::on_removeButton_clicked() +{ + ui.label_masthead->setPicture(QPixmap()); + ui.label_masthead->setText(tr("MastHead background Image")); } std::string WireGroupExtra::getTagline() @@ -77,7 +95,5 @@ std::string WireGroupExtra::getLocation() QPixmap WireGroupExtra::getMasthead() { - return mMasthead; + return ui.label_masthead->extractCroppedScaledPicture(); } - - diff --git a/retroshare-gui/src/gui/TheWire/WireGroupExtra.h b/retroshare-gui/src/gui/TheWire/WireGroupExtra.h index ce606feb3..429be088b 100644 --- a/retroshare-gui/src/gui/TheWire/WireGroupExtra.h +++ b/retroshare-gui/src/gui/TheWire/WireGroupExtra.h @@ -34,7 +34,6 @@ public: void setMasthead(const QPixmap &pixmap); QPixmap getMasthead(); - void setTagline(const std::string &str); void setLocation(const std::string &str); @@ -43,7 +42,7 @@ public: private slots: void addMasthead(); - + void on_removeButton_clicked(); private: void setUp(); private: diff --git a/retroshare-gui/src/gui/TheWire/WireGroupExtra.ui b/retroshare-gui/src/gui/TheWire/WireGroupExtra.ui index fb1da5e73..4c03b8fe8 100644 --- a/retroshare-gui/src/gui/TheWire/WireGroupExtra.ui +++ b/retroshare-gui/src/gui/TheWire/WireGroupExtra.ui @@ -7,7 +7,7 @@ 0 0 516 - 199 + 133 @@ -19,50 +19,127 @@ Form - + + + 0 + + + 0 + - - - Masthead - - - - - - - MastHead background Image - - + + + + + + + + Tagline: + + + + + + + + + + Remove + + + + + + + Location: + + + + + + + Qt::Vertical + + + + 20 + 10 + + + + + + + + Select Image + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + + 0 + 0 + + + + QFrame::Plain + + + 1 + + + MastHead background Image + + + Qt::PlainText + + + false + + + Qt::AlignCenter + + + + - - - Select Image + + + Qt::Vertical - - - - - - Tagline: + + + 20 + 10 + - - - - - - - - - Location: - - - - - + + + + ZoomableLabel + QLabel +
gui/gxschannels/GxsChannelPostThumbnail.h
+
+
diff --git a/retroshare-gui/src/gui/TheWire/WireGroupItem.cpp b/retroshare-gui/src/gui/TheWire/WireGroupItem.cpp index c8abe3886..199800581 100644 --- a/retroshare-gui/src/gui/TheWire/WireGroupItem.cpp +++ b/retroshare-gui/src/gui/TheWire/WireGroupItem.cpp @@ -92,14 +92,14 @@ void WireGroupItem::setup() QImage circleImage = getCirclePhoto(orginalImage,orginalImage.size().width()); pixmap.convertFromImage(circleImage); - pixmap = pixmap.scaled(40,40); + pixmap = pixmap.scaled(40,40, Qt::KeepAspectRatio, Qt::SmoothTransformation); label_headshot->setPixmap(pixmap); } } else { // default. - QPixmap pixmap = FilesDefs::getPixmapFromQtResourcePath(":/icons/wire.png").scaled(32,32); + QPixmap pixmap = FilesDefs::getPixmapFromQtResourcePath(":/icons/wire.png").scaled(32,32, Qt::KeepAspectRatio, Qt::SmoothTransformation); label_headshot->setPixmap(pixmap); } diff --git a/retroshare-gui/src/gui/icons/svg/wire-notify.svg b/retroshare-gui/src/gui/icons/svg/wire-notify.svg new file mode 100644 index 000000000..7f380879c --- /dev/null +++ b/retroshare-gui/src/gui/icons/svg/wire-notify.svg @@ -0,0 +1,55 @@ + + + +image/svg+xml diff --git a/retroshare-gui/src/gui/icons/svg/wire.svg b/retroshare-gui/src/gui/icons/svg/wire.svg new file mode 100644 index 000000000..9a8029016 --- /dev/null +++ b/retroshare-gui/src/gui/icons/svg/wire.svg @@ -0,0 +1,56 @@ + + + +image/svg+xml diff --git a/retroshare-gui/src/gui/qss/stylesheet/Standard_Dark.qss b/retroshare-gui/src/gui/qss/stylesheet/Standard_Dark.qss index ee320a012..7497440c5 100644 --- a/retroshare-gui/src/gui/qss/stylesheet/Standard_Dark.qss +++ b/retroshare-gui/src/gui/qss/stylesheet/Standard_Dark.qss @@ -2552,3 +2552,10 @@ OpModeStatus[opMode="Minimal"] { [WrongValue="true"] { background-color: #702020; } + +/**** The Wire ****/ + +QLabel#label_masthead{ + border: 2px solid #CCCCCC; + border-radius: 4px; +} diff --git a/retroshare-gui/src/gui/qss/stylesheet/Standard_Light.qss b/retroshare-gui/src/gui/qss/stylesheet/Standard_Light.qss index 923477e11..061ca0518 100644 --- a/retroshare-gui/src/gui/qss/stylesheet/Standard_Light.qss +++ b/retroshare-gui/src/gui/qss/stylesheet/Standard_Light.qss @@ -2687,6 +2687,11 @@ PulseReply QLabel#label_groupName{ color: #5b7083; } +QLabel#label_masthead{ + border: 2px solid #CCCCCC; + border-radius: 4px; +} + /**** PhotoShare ****/ AlbumItem QFrame#albumFrame { border: 2px solid #CCCCCC; diff --git a/retroshare-gui/src/qss/retroclassic.qss b/retroshare-gui/src/qss/retroclassic.qss index 02da3c18f..df8802f3a 100644 --- a/retroshare-gui/src/qss/retroclassic.qss +++ b/retroshare-gui/src/qss/retroclassic.qss @@ -178,3 +178,9 @@ IdDialog QWidget#idTreeWidget { selection-background-color: #9FCBFF; show-decoration-selected: 1; } + +/* Wire */ +QLabel#label_masthead{ + border: 2px solid #CCCCCC; + border-radius: 4px; +} From ade297f257e93e52fac5c5b55d320b5b979ec9ea Mon Sep 17 00:00:00 2001 From: csoler Date: Mon, 24 Jul 2023 23:45:12 +0200 Subject: [PATCH 27/65] attempt at fixing unread msg count to display before GXS service tab is displayed --- retroshare-gui/src/gui/gxs/GxsGroupFrameDialog.cpp | 6 +++--- retroshare-gui/src/gui/gxs/GxsUserNotify.h | 1 - 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/retroshare-gui/src/gui/gxs/GxsGroupFrameDialog.cpp b/retroshare-gui/src/gui/gxs/GxsGroupFrameDialog.cpp index ca8521ca5..9d8d66d61 100644 --- a/retroshare-gui/src/gui/gxs/GxsGroupFrameDialog.cpp +++ b/retroshare-gui/src/gui/gxs/GxsGroupFrameDialog.cpp @@ -1176,10 +1176,10 @@ void GxsGroupFrameDialog::updateGroupStatisticsReal(const RsGxsGroupId &groupId) */ QTreeWidgetItem *item = ui->groupTreeWidget->getItemFromId(QString::fromStdString(stats.mGrpId.toStdString())); - if (!item) - return; - ui->groupTreeWidget->setUnreadCount(item, mCountChildMsgs ? (stats.mNumThreadMsgsUnread + stats.mNumChildMsgsUnread) : stats.mNumThreadMsgsUnread); + if (item) + ui->groupTreeWidget->setUnreadCount(item, mCountChildMsgs ? (stats.mNumThreadMsgsUnread + stats.mNumChildMsgsUnread) : stats.mNumThreadMsgsUnread); + mCachedGroupStats[groupId] = stats; getUserNotify()->updateIcon(); diff --git a/retroshare-gui/src/gui/gxs/GxsUserNotify.h b/retroshare-gui/src/gui/gxs/GxsUserNotify.h index cfbec97be..66890a1c3 100644 --- a/retroshare-gui/src/gui/gxs/GxsUserNotify.h +++ b/retroshare-gui/src/gui/gxs/GxsUserNotify.h @@ -46,7 +46,6 @@ protected: bool mCountChildMsgs; // Count new child messages? private: - RsGxsUpdateBroadcastBase *mBase; const GxsGroupFrameDialog *mGroupFrameDialog; unsigned int mNewThreadMessageCount; From 311ac03790ff79dd1a78b337d94601c7f6184808 Mon Sep 17 00:00:00 2001 From: defnax Date: Tue, 25 Jul 2023 20:33:09 +0200 Subject: [PATCH 28/65] Update wire-notify.svg --- retroshare-gui/src/gui/icons/svg/wire-notify.svg | 1 + 1 file changed, 1 insertion(+) diff --git a/retroshare-gui/src/gui/icons/svg/wire-notify.svg b/retroshare-gui/src/gui/icons/svg/wire-notify.svg index 7f380879c..7d4d6ccce 100644 --- a/retroshare-gui/src/gui/icons/svg/wire-notify.svg +++ b/retroshare-gui/src/gui/icons/svg/wire-notify.svg @@ -13,6 +13,7 @@ inkscape:export-xdpi="144" inkscape:export-ydpi="144" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" From 583431852cf108e4153be733d5e10adf6f3fc878 Mon Sep 17 00:00:00 2001 From: csoler Date: Sun, 30 Jul 2023 18:47:56 +0200 Subject: [PATCH 29/65] fixed copy comment in channels/post/comment (and GXS comments in general) --- retroshare-gui/src/gui/gxs/GxsCommentTreeWidget.cpp | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/retroshare-gui/src/gui/gxs/GxsCommentTreeWidget.cpp b/retroshare-gui/src/gui/gxs/GxsCommentTreeWidget.cpp index 0b65b7c3d..517543b9a 100644 --- a/retroshare-gui/src/gui/gxs/GxsCommentTreeWidget.cpp +++ b/retroshare-gui/src/gui/gxs/GxsCommentTreeWidget.cpp @@ -464,11 +464,7 @@ void GxsCommentTreeWidget::replyToComment() void GxsCommentTreeWidget::copyComment() { QString txt = dynamic_cast(sender())->data().toString(); - - QMimeData *mimeData = new QMimeData(); - mimeData->setHtml(""+txt+""); - QClipboard *clipboard = QApplication::clipboard(); - clipboard->setMimeData(mimeData, QClipboard::Clipboard); + QApplication::clipboard()->setText(txt) ; } void GxsCommentTreeWidget::setup(RsGxsCommentService *comment_service) From 24dd71d15fd7baee250fcd7f374e94f3e9e85c60 Mon Sep 17 00:00:00 2001 From: csoler Date: Sun, 30 Jul 2023 20:51:51 +0200 Subject: [PATCH 30/65] fixed open file / preview file in TransfersDialog --- .../src/gui/FileTransfer/TransfersDialog.cpp | 45 +++++++------------ .../src/gui/FileTransfer/TransfersDialog.h | 1 + 2 files changed, 18 insertions(+), 28 deletions(-) diff --git a/retroshare-gui/src/gui/FileTransfer/TransfersDialog.cpp b/retroshare-gui/src/gui/FileTransfer/TransfersDialog.cpp index 83e3219c3..6fc45a070 100644 --- a/retroshare-gui/src/gui/FileTransfer/TransfersDialog.cpp +++ b/retroshare-gui/src/gui/FileTransfer/TransfersDialog.cpp @@ -2074,22 +2074,23 @@ void TransfersDialog::dlOpenFolder() break; } + openFolder(info); +} + +void TransfersDialog::openFolder(const FileInfo& info) +{ /* make path for downloaded or downloading files */ - QFileInfo qinfo; - std::string path; - if (info.downloadStatus == FT_STATE_COMPLETE) { - path = info.path; - } else { - path = rsFiles->getPartialsDirectory(); - } + QDir directory; + + if (info.downloadStatus == FT_STATE_COMPLETE) + directory = QFileInfo(QString::fromStdString(info.path)).absoluteDir().path(); + else + directory = QDir(QString::fromStdString(rsFiles->getPartialsDirectory())); /* open folder with a suitable application */ - qinfo.setFile(QString::fromUtf8(path.c_str())); - if (qinfo.exists() && qinfo.isDir()) { - if (!RsUrlHandler::openUrl(QUrl::fromLocalFile(qinfo.absoluteFilePath()))) { - std::cerr << "dlOpenFolder(): can't open folder " << path << std::endl; - } - } + + if (directory.exists() && !RsUrlHandler::openUrl(QUrl::fromLocalFile(directory.path()))) + std::cerr << "dlOpenFolder(): can't open folder " << directory.path().toStdString() << std::endl; } void TransfersDialog::ulOpenFolder() @@ -2104,19 +2105,7 @@ void TransfersDialog::ulOpenFolder() break; } - /* make path for uploading files */ - QFileInfo qinfo; - std::string path; - path = info.path.substr(0,info.path.length()-info.fname.length()); - - /* open folder with a suitable application */ - qinfo.setFile(QString::fromUtf8(path.c_str())); - if (qinfo.exists() && qinfo.isDir()) { - if (!RsUrlHandler::openUrl(QUrl::fromLocalFile(qinfo.absoluteFilePath()))) { - std::cerr << "ulOpenFolder(): can't open folder " << path << std::endl; - } - } - + openFolder(info); } void TransfersDialog::dlPreviewFile() @@ -2139,7 +2128,7 @@ void TransfersDialog::dlPreviewFile() /* make path for downloaded or downloading files */ QFileInfo fileInfo; if (info.downloadStatus == FT_STATE_COMPLETE) { - fileInfo = QFileInfo(QString::fromUtf8(info.path.c_str()), QString::fromUtf8(info.fname.c_str())); + fileInfo = QFileInfo(QString::fromUtf8(info.path.c_str())); } else { fileInfo = QFileInfo(QString::fromUtf8(rsFiles->getPartialsDirectory().c_str()), QString::fromUtf8(info.hash.toStdString().c_str())); @@ -2204,7 +2193,7 @@ void TransfersDialog::dlOpenFile() /* make path for downloaded or downloading files */ std::string path; if (info.downloadStatus == FT_STATE_COMPLETE) { - path = info.path + "/" + info.fname; + path = info.path ; /* open file with a suitable application */ QFileInfo qinfo; diff --git a/retroshare-gui/src/gui/FileTransfer/TransfersDialog.h b/retroshare-gui/src/gui/FileTransfer/TransfersDialog.h index 87396fc81..19e2df363 100644 --- a/retroshare-gui/src/gui/FileTransfer/TransfersDialog.h +++ b/retroshare-gui/src/gui/FileTransfer/TransfersDialog.h @@ -173,6 +173,7 @@ signals: void playFiles(QStringList files); private: + void openFolder(const FileInfo& info); RsDownloadListModel *DLListModel; QSortFilterProxyModel *DLLFilterModel; From 5ca3b15188d93d3c4d7425ab8db95da4ae7f863f Mon Sep 17 00:00:00 2001 From: csoler Date: Thu, 3 Aug 2023 18:41:31 +0200 Subject: [PATCH 31/65] added "copy http link" action to board posts when possible --- .../gui/Posted/PostedListWidgetWithModel.cpp | 38 +++++++++++++++++++ .../gui/Posted/PostedListWidgetWithModel.h | 1 + 2 files changed, 39 insertions(+) diff --git a/retroshare-gui/src/gui/Posted/PostedListWidgetWithModel.cpp b/retroshare-gui/src/gui/Posted/PostedListWidgetWithModel.cpp index 5c63ce2e9..af9d64118 100644 --- a/retroshare-gui/src/gui/Posted/PostedListWidgetWithModel.cpp +++ b/retroshare-gui/src/gui/Posted/PostedListWidgetWithModel.cpp @@ -22,6 +22,7 @@ #include #include #include +#include #include #include "retroshare/rsgxscircles.h" @@ -72,6 +73,7 @@ static const int POSTED_TABS_POSTS = 1; // #define IMAGE_COPYLINK ":/images/copyrslink.png" #define IMAGE_AUTHOR ":/images/user/personal64.png" +#define IMAGE_COPYHTTP ":/images/emblem-web.png" Q_DECLARE_METATYPE(RsPostedPost); @@ -340,7 +342,18 @@ void PostedListWidgetWithModel::postContextMenu(const QPoint& point) // 2 - generate the menu for that post. + RsPostedPost post = index.data(Qt::UserRole).value() ; + menu.addAction(FilesDefs::getIconFromQtResourcePath(IMAGE_COPYLINK), tr("Copy RetroShare Link"), this, SLOT(copyMessageLink()))->setData(index); + + QByteArray urlarray(post.mLink.c_str()); + QUrl url = QUrl::fromEncoded(urlarray.trimmed()); + + std::cerr << "Using link: \"" << post.mLink << "\"" << std::endl; + + if(url.scheme()=="http" || url.scheme()=="https") + menu.addAction(FilesDefs::getIconFromQtResourcePath(IMAGE_COPYHTTP), tr("Copy http Link"), this, SLOT(copyHttpLink()))->setData(index); + menu.addAction(FilesDefs::getIconFromQtResourcePath(IMAGE_AUTHOR), tr("Show author in People tab"), this, SLOT(showAuthorInPeople()))->setData(index); #ifdef TODO @@ -456,6 +469,31 @@ void PostedListWidgetWithModel::showAuthorInPeople() MainWindow::showWindow(MainWindow::People); idDialog->navigate(RsGxsId(post.mMeta.mAuthorId)); } +void PostedListWidgetWithModel::copyHttpLink() +{ + try + { + if (groupId().isNull()) + throw std::runtime_error("No channel currently selected!"); + + QModelIndex index = qobject_cast(QObject::sender())->data().toModelIndex(); + + if(!index.isValid()) + throw std::runtime_error("No post under mouse!"); + + RsPostedPost post = index.data(Qt::UserRole).value() ; + + if(post.mMeta.mMsgId.isNull()) + throw std::runtime_error("Post has empty MsgId!"); + + QApplication::clipboard()->setText(QString::fromStdString(post.mLink)) ; + QMessageBox::information(NULL,tr("information"),tr("The Retrohare link was copied to your clipboard.")) ; + } + catch(std::exception& e) + { + QMessageBox::critical(NULL,tr("Link creation error"),tr("Link could not be created: ")+e.what()); + } +} void PostedListWidgetWithModel::copyMessageLink() { try diff --git a/retroshare-gui/src/gui/Posted/PostedListWidgetWithModel.h b/retroshare-gui/src/gui/Posted/PostedListWidgetWithModel.h index e6b98120a..cb7dcfd39 100644 --- a/retroshare-gui/src/gui/Posted/PostedListWidgetWithModel.h +++ b/retroshare-gui/src/gui/Posted/PostedListWidgetWithModel.h @@ -147,6 +147,7 @@ private slots: void settingsChanged(); void postPostLoad(); void copyMessageLink(); + void copyHttpLink(); void nextPosts(); void prevPosts(); void filterItems(QString s); From 46e8db7d6df1578cba9b3dae1cf50daa00766196 Mon Sep 17 00:00:00 2001 From: csoler Date: Thu, 3 Aug 2023 20:22:30 +0200 Subject: [PATCH 32/65] fixing crash when deleting forum feed items while loading --- retroshare-gui/src/gui/Posted/PostedItem.cpp | 2 +- .../src/gui/feeds/GxsForumMsgItem.cpp | 23 +++++++++++++++++++ .../src/gui/feeds/GxsForumMsgItem.h | 4 ++++ 3 files changed, 28 insertions(+), 1 deletion(-) diff --git a/retroshare-gui/src/gui/Posted/PostedItem.cpp b/retroshare-gui/src/gui/Posted/PostedItem.cpp index 06b585614..8f1cddf7d 100644 --- a/retroshare-gui/src/gui/Posted/PostedItem.cpp +++ b/retroshare-gui/src/gui/Posted/PostedItem.cpp @@ -74,7 +74,7 @@ BasePostedItem::BasePostedItem( FeedHolder *feedHolder, uint32_t feedId BasePostedItem::~BasePostedItem() { - auto timeout = std::chrono::steady_clock::now() + std::chrono::milliseconds(200); + auto timeout = std::chrono::steady_clock::now() + std::chrono::milliseconds(200); while( (mIsLoadingGroup || mIsLoadingMessage || mIsLoadingComment) && std::chrono::steady_clock::now() < timeout) { diff --git a/retroshare-gui/src/gui/feeds/GxsForumMsgItem.cpp b/retroshare-gui/src/gui/feeds/GxsForumMsgItem.cpp index eedb4ae20..81b026d27 100644 --- a/retroshare-gui/src/gui/feeds/GxsForumMsgItem.cpp +++ b/retroshare-gui/src/gui/feeds/GxsForumMsgItem.cpp @@ -83,6 +83,19 @@ GxsForumMsgItem::GxsForumMsgItem(FeedHolder *feedHolder, uint32_t feedId, const GxsForumMsgItem::~GxsForumMsgItem() { + auto timeout = std::chrono::steady_clock::now() + std::chrono::milliseconds(300); + + while( (mLoadingGroup || mLoadingMessage || mLoadingSetAsRead || mLoadingParentMessage) + && std::chrono::steady_clock::now() < timeout) + { + RsDbg() << __PRETTY_FUNCTION__ << " is Waiting for " + << (mLoadingGroup ? "Group " : "") + << (mLoadingMessage ? "Message " : "") + << (mLoadingParentMessage ? "Parent message " : "") + << (mLoadingSetAsRead ? "Set as read" : "") + << "loading." << std::endl; + std::this_thread::sleep_for(std::chrono::milliseconds(100)); + } delete(ui); } @@ -167,6 +180,8 @@ QString GxsForumMsgItem::groupName() void GxsForumMsgItem::loadGroup() { + mLoadingGroup = true; + RsThread::async([this]() { // 1 - get group data @@ -199,6 +214,7 @@ void GxsForumMsgItem::loadGroup() * after a blocking call to RetroShare API complete */ setGroup(group); + mLoadingGroup = false; }, this ); }); @@ -210,6 +226,7 @@ void GxsForumMsgItem::loadMessage() std::cerr << "GxsForumMsgItem::loadMessage(): messageId=" << messageId() << " groupId=" << groupId() ; std::cerr << std::endl; #endif + mLoadingMessage = true; RsThread::async([this]() { @@ -244,6 +261,7 @@ void GxsForumMsgItem::loadMessage() * after a blocking call to RetroShare API complete */ setMessage(msg); + mLoadingMessage = false; }, this ); }); @@ -255,6 +273,7 @@ void GxsForumMsgItem::loadParentMessage(const RsGxsMessageId& parent_msg) std::cerr << "GxsForumMsgItem::loadParentMessage()"; std::cerr << std::endl; #endif + mLoadingParentMessage = true; RsThread::async([parent_msg,this]() { @@ -291,6 +310,8 @@ void GxsForumMsgItem::loadParentMessage(const RsGxsMessageId& parent_msg) mParentMessage = msg; fillParentMessage(); + mLoadingParentMessage = false; + }, this ); }); } @@ -480,6 +501,7 @@ void GxsForumMsgItem::setAsRead(bool doUpdate) } mCloseOnRead = false; + mLoadingSetAsRead = true; RsThread::async( [this, doUpdate]() { RsGxsGrpMsgIdPair msgPair = std::make_pair(groupId(), messageId()); @@ -489,6 +511,7 @@ void GxsForumMsgItem::setAsRead(bool doUpdate) if (doUpdate) { RsQThreadUtils::postToObject( [this]() { setReadStatus(false, true); + mLoadingSetAsRead = false; } ); } }); diff --git a/retroshare-gui/src/gui/feeds/GxsForumMsgItem.h b/retroshare-gui/src/gui/feeds/GxsForumMsgItem.h index 34166ee59..ec933d96e 100644 --- a/retroshare-gui/src/gui/feeds/GxsForumMsgItem.h +++ b/retroshare-gui/src/gui/feeds/GxsForumMsgItem.h @@ -87,6 +87,10 @@ private: private: bool mInFill; bool mCloseOnRead; + bool mLoadingMessage; + bool mLoadingParentMessage; + bool mLoadingGroup; + bool mLoadingSetAsRead; RsGxsForumGroup mGroup; RsGxsForumMsg mMessage; From e54322521ef75b6b2234d6bd2960e534f6aabe6c Mon Sep 17 00:00:00 2001 From: csoler Date: Fri, 4 Aug 2023 13:52:27 +0200 Subject: [PATCH 33/65] fixed popularity and items at friends in Board details dialog --- retroshare-gui/src/gui/Posted/PostedListWidgetWithModel.cpp | 1 + retroshare-gui/src/gui/Posted/PostedListWidgetWithModel.ui | 6 +++--- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/retroshare-gui/src/gui/Posted/PostedListWidgetWithModel.cpp b/retroshare-gui/src/gui/Posted/PostedListWidgetWithModel.cpp index af9d64118..1798bb4bc 100644 --- a/retroshare-gui/src/gui/Posted/PostedListWidgetWithModel.cpp +++ b/retroshare-gui/src/gui/Posted/PostedListWidgetWithModel.cpp @@ -861,6 +861,7 @@ void PostedListWidgetWithModel::insertBoardDetails(const RsPostedGroup& group) ui->subscribeToolButton->setText(tr("Subscribe")); ui->infoPosts->setText(QString::number(group.mMeta.mVisibleMsgCount)); + ui->poplabel->setText(QString::number(group.mMeta.mPop)); if(group.mMeta.mLastPost==0) ui->infoLastPost->setText(tr("Never")); diff --git a/retroshare-gui/src/gui/Posted/PostedListWidgetWithModel.ui b/retroshare-gui/src/gui/Posted/PostedListWidgetWithModel.ui index 2bafbc8a2..ee65ef923 100644 --- a/retroshare-gui/src/gui/Posted/PostedListWidgetWithModel.ui +++ b/retroshare-gui/src/gui/Posted/PostedListWidgetWithModel.ui @@ -54,7 +54,7 @@ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" content="1" /><style type="text/css"> p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;"> +</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'MS Shell Dlg 2'; font-size:8pt;">Description</span></p></body></html>
@@ -85,7 +85,7 @@ p, li { white-space: pre-wrap; } - Contributions: + Items (at friends): @@ -615,8 +615,8 @@ p, li { white-space: pre-wrap; }
- + From 3fa0b8f6d4543e9fc46a4ccb974575979a9350ce Mon Sep 17 00:00:00 2001 From: csoler Date: Fri, 4 Aug 2023 13:57:34 +0200 Subject: [PATCH 34/65] fixed tooltip for popularity and items in boards --- retroshare-gui/src/gui/Posted/PostedListWidgetWithModel.ui | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/retroshare-gui/src/gui/Posted/PostedListWidgetWithModel.ui b/retroshare-gui/src/gui/Posted/PostedListWidgetWithModel.ui index ee65ef923..8074388dc 100644 --- a/retroshare-gui/src/gui/Posted/PostedListWidgetWithModel.ui +++ b/retroshare-gui/src/gui/Posted/PostedListWidgetWithModel.ui @@ -84,6 +84,9 @@ p, li { white-space: pre-wrap; } true + + <html><head/><body><p>Maximum number of data items (including posts, comments, votes) across friend nodes.</p></body></html> + Items (at friends): @@ -179,6 +182,9 @@ p, li { white-space: pre-wrap; } true + + Number of subscribed friend nodes + Popularity: From a382d58b68b4127e7e81a326d3b1a51b7775e03d Mon Sep 17 00:00:00 2001 From: csoler Date: Sun, 6 Aug 2023 23:12:06 +0200 Subject: [PATCH 35/65] fixed icon in To column of Sent box --- .../src/gui/gxs/GxsIdTreeWidgetItem.cpp | 22 +++++++++++-------- retroshare-gui/src/gui/icons.qrc | 1 + retroshare-gui/src/gui/msgs/MessageModel.cpp | 13 ++++++++++- 3 files changed, 26 insertions(+), 10 deletions(-) diff --git a/retroshare-gui/src/gui/gxs/GxsIdTreeWidgetItem.cpp b/retroshare-gui/src/gui/gxs/GxsIdTreeWidgetItem.cpp index 97f128447..e56a1011b 100644 --- a/retroshare-gui/src/gui/gxs/GxsIdTreeWidgetItem.cpp +++ b/retroshare-gui/src/gui/gxs/GxsIdTreeWidgetItem.cpp @@ -193,17 +193,21 @@ void GxsIdTreeItemDelegate::paint(QPainter *painter, const QStyleOptionViewItem QStyleOptionViewItem ownOption (option); initStyleOption(&ownOption, index); - RsGxsId id(index.data(Qt::UserRole).toString().toStdString()); - QString cmt; + QString dt = index.data(Qt::UserRole).toString(); + RsGxsId id(index.data(Qt::UserRole).toString().toStdString()); - if(id.isNull()) + if(dt == "") + ownOption.icon = FilesDefs::getIconFromQtResourcePath(":/icons/svg/people2.svg"); + else if(id.isNull()) + { + if (ownOption.icon.isNull()) + ownOption.icon = FilesDefs::getIconFromQtResourcePath(":/icons/notification.svg"); + } + else { - if (ownOption.icon.isNull()) - ownOption.icon = FilesDefs::getIconFromQtResourcePath(":/icons/notification.svg"); - } - else - { - if(! computeNameIconAndComment(id,ownOption.text,ownOption.icon,cmt)) + QString cmt; + + if(! computeNameIconAndComment(id,ownOption.text,ownOption.icon,cmt)) { if(mReloadPeriod > 3) { diff --git a/retroshare-gui/src/gui/icons.qrc b/retroshare-gui/src/gui/icons.qrc index c92057c29..ff3771075 100644 --- a/retroshare-gui/src/gui/icons.qrc +++ b/retroshare-gui/src/gui/icons.qrc @@ -15,6 +15,7 @@ icons/svg/display_options.svg icons/svg/listlayout.svg icons/svg/gridlayout.svg + icons/svg/people2.svg icons/stars/star0.png icons/stars/star1.png icons/stars/star2.png diff --git a/retroshare-gui/src/gui/msgs/MessageModel.cpp b/retroshare-gui/src/gui/msgs/MessageModel.cpp index 771fd6874..09508cad6 100644 --- a/retroshare-gui/src/gui/msgs/MessageModel.cpp +++ b/retroshare-gui/src/gui/msgs/MessageModel.cpp @@ -579,7 +579,18 @@ QVariant RsMessageModel::userRole(const Rs::Msgs::MsgInfoSummary& fmpe,int col) { case COLUMN_THREAD_AUTHOR: return QVariant(QString::fromStdString(fmpe.from.toStdString())); case COLUMN_THREAD_MSGID: return QVariant(QString::fromStdString(fmpe.msgId)); - case COLUMN_THREAD_TO: return QVariant(QString::fromStdString(fmpe.to.toStdString())); + case COLUMN_THREAD_TO: + { + // First check if the .to field is filled. + + if(!fmpe.to.toStdString().empty()) + return QVariant(QString::fromStdString(fmpe.to.toStdString())); + + // In the Send box, .to is never filled. In this case we look into destinations. + + if(fmpe.destinations.size()==1) + return QVariant(QString::fromStdString((*fmpe.destinations.begin()).toStdString())); + } default: return QVariant(); } From a81caa3ac1f63aa388b7cbc0c616394a4377de3c Mon Sep 17 00:00:00 2001 From: csoler Date: Sun, 6 Aug 2023 23:18:12 +0200 Subject: [PATCH 36/65] added comment about latest changes --- retroshare-gui/src/gui/gxs/GxsIdTreeWidgetItem.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/retroshare-gui/src/gui/gxs/GxsIdTreeWidgetItem.cpp b/retroshare-gui/src/gui/gxs/GxsIdTreeWidgetItem.cpp index e56a1011b..053590e11 100644 --- a/retroshare-gui/src/gui/gxs/GxsIdTreeWidgetItem.cpp +++ b/retroshare-gui/src/gui/gxs/GxsIdTreeWidgetItem.cpp @@ -196,6 +196,10 @@ void GxsIdTreeItemDelegate::paint(QPainter *painter, const QStyleOptionViewItem QString dt = index.data(Qt::UserRole).toString(); RsGxsId id(index.data(Qt::UserRole).toString().toStdString()); + // This is a trick: UserRole in Mail generally is 0000...00000 when there is a notification, and is empty when there are multiple + // destinations at once. This is not so nice to do that this way, but it's a quick workaround to a more complex method involving an + // additional Qt role only to determine the number of destinations. + if(dt == "") ownOption.icon = FilesDefs::getIconFromQtResourcePath(":/icons/svg/people2.svg"); else if(id.isNull()) From 234a510d6f3038dac2322c7821967ac0c6d09c63 Mon Sep 17 00:00:00 2001 From: csoler Date: Thu, 10 Aug 2023 23:28:03 +0200 Subject: [PATCH 37/65] fixed possible crash in channel feed item being deleted during async loading --- .../src/gui/feeds/GxsChannelPostItem.cpp | 38 +++++++++++++++++-- .../src/gui/feeds/GxsChannelPostItem.h | 7 +++- .../src/gui/feeds/GxsForumMsgItem.cpp | 8 +++- 3 files changed, 48 insertions(+), 5 deletions(-) diff --git a/retroshare-gui/src/gui/feeds/GxsChannelPostItem.cpp b/retroshare-gui/src/gui/feeds/GxsChannelPostItem.cpp index 102dfb637..17036a15e 100644 --- a/retroshare-gui/src/gui/feeds/GxsChannelPostItem.cpp +++ b/retroshare-gui/src/gui/feeds/GxsChannelPostItem.cpp @@ -49,6 +49,10 @@ GxsChannelPostItem::GxsChannelPostItem(FeedHolder *feedHolder, uint32_t feedId, GxsFeedItem(feedHolder, feedId, group_meta.mGroupId, messageId, isHome, rsGxsChannels, autoUpdate), mGroupMeta(group_meta) { + mLoadingGroup = false; + mLoadingMessage = false; + mLoadingComment = false; + mPost.mMeta.mMsgId = messageId; // useful for uniqueIdentifer() before the post is loaded mPost.mMeta.mGroupId = mGroupMeta.mGroupId; @@ -136,6 +140,19 @@ void GxsChannelPostItem::paintEvent(QPaintEvent *e) GxsChannelPostItem::~GxsChannelPostItem() { + auto timeout = std::chrono::steady_clock::now() + std::chrono::milliseconds(300); + + while( (mLoadingGroup || mLoadingMessage || mLoadingComment) + && std::chrono::steady_clock::now() < timeout) + { + RsDbg() << __PRETTY_FUNCTION__ << " is Waiting for " + << (mLoadingGroup ? "Group " : "") + << (mLoadingMessage ? "Message " : "") + << (mLoadingComment ? "Comment " : "") + << "loading." << std::endl; + std::this_thread::sleep_for(std::chrono::milliseconds(100)); + } + delete(ui); } @@ -277,6 +294,7 @@ void GxsChannelPostItem::loadGroup() std::cerr << "GxsChannelGroupItem::loadGroup()"; std::cerr << std::endl; #endif + mLoadingGroup = true; RsThread::async([this]() { @@ -306,6 +324,7 @@ void GxsChannelPostItem::loadGroup() * after a blocking call to RetroShare API complete */ mGroupMeta = group.mMeta; + mLoadingGroup = false; }, this ); }); @@ -316,6 +335,8 @@ void GxsChannelPostItem::loadMessage() std::cerr << "GxsChannelPostItem::loadMessage()"; std::cerr << std::endl; #endif + mLoadingMessage = true; + RsThread::async([this]() { // 1 - get group data @@ -337,7 +358,11 @@ void GxsChannelPostItem::loadMessage() #endif const RsGxsChannelPost& post(posts[0]); - RsQThreadUtils::postToObject( [post,this]() { setPost(post); }, this ); + RsQThreadUtils::postToObject( [post,this]() + { + setPost(post); + mLoadingMessage = false; + }, this ); } else if(comments.size() == 1) { @@ -356,7 +381,8 @@ void GxsChannelPostItem::loadMessage() setMessageId(cmt.mMeta.mThreadId); requestMessage(); - }, this ); + mLoadingMessage = false; + }, this ); } else @@ -366,7 +392,11 @@ void GxsChannelPostItem::loadMessage() std::cerr << std::endl; #endif - RsQThreadUtils::postToObject( [this]() { removeItem(); }, this ); + RsQThreadUtils::postToObject( [this]() + { + removeItem(); + mLoadingMessage = false; + }, this ); } }); } @@ -377,6 +407,7 @@ void GxsChannelPostItem::loadComment() std::cerr << "GxsChannelPostItem::loadComment()"; std::cerr << std::endl; #endif + mLoadingComment = true; RsThread::async([this]() { @@ -407,6 +438,7 @@ void GxsChannelPostItem::loadComment() sComButText = tr("Comments ").append("(%1)").arg(comNb); ui->commentButton->setText(sComButText); + mLoadingComment = false; }, this ); }); diff --git a/retroshare-gui/src/gui/feeds/GxsChannelPostItem.h b/retroshare-gui/src/gui/feeds/GxsChannelPostItem.h index 8370b885e..b3e7843c0 100644 --- a/retroshare-gui/src/gui/feeds/GxsChannelPostItem.h +++ b/retroshare-gui/src/gui/feeds/GxsChannelPostItem.h @@ -119,7 +119,12 @@ private: private: bool mInFill; bool mCloseOnRead; - bool mLoaded; + bool mLoaded; + + bool mLoadingMessage; + bool mLoadingGroup; + bool mLoadingComment; + RsGroupMetaData mGroupMeta; RsGxsChannelPost mPost; diff --git a/retroshare-gui/src/gui/feeds/GxsForumMsgItem.cpp b/retroshare-gui/src/gui/feeds/GxsForumMsgItem.cpp index 81b026d27..f4d091179 100644 --- a/retroshare-gui/src/gui/feeds/GxsForumMsgItem.cpp +++ b/retroshare-gui/src/gui/feeds/GxsForumMsgItem.cpp @@ -47,7 +47,13 @@ GxsForumMsgItem::GxsForumMsgItem(FeedHolder *feedHolder, uint32_t feedId, const { mMessage.mMeta.mMsgId = messageId; // useful for uniqueIdentifier() before the post is actually loaded mMessage.mMeta.mGroupId = groupId; - setup(); + + mLoadingGroup = false; + mLoadingMessage = false; + mLoadingSetAsRead = false; + mLoadingParentMessage = false; + + setup(); requestGroup(); requestMessage(); From f6bcfb549a2ba6089a489b48980489a83cc89c85 Mon Sep 17 00:00:00 2001 From: csoler Date: Thu, 10 Aug 2023 23:41:51 +0200 Subject: [PATCH 38/65] made delete button and delete menu item call the same functions, so as to make the actions identical --- retroshare-gui/src/gui/msgs/MessageWidget.cpp | 7 ++++--- retroshare-gui/src/gui/msgs/MessageWidget.h | 1 + retroshare-gui/src/gui/msgs/MessagesDialog.cpp | 6 +++--- 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/retroshare-gui/src/gui/msgs/MessageWidget.cpp b/retroshare-gui/src/gui/msgs/MessageWidget.cpp index cd06e9805..0d2e934f2 100644 --- a/retroshare-gui/src/gui/msgs/MessageWidget.cpp +++ b/retroshare-gui/src/gui/msgs/MessageWidget.cpp @@ -738,7 +738,8 @@ void MessageWidget::remove() return; } - bool deleteReal = false; +#ifdef TO_REMOVE + bool deleteReal = false; if (msgInfo.msgflags & RS_MSG_TRASH) { deleteReal = true; } else { @@ -763,8 +764,8 @@ void MessageWidget::remove() deleteLater(); } } - - emit messageRemoved(); +#endif + emit messageRemovalRequested(currMsgId); } void MessageWidget::print() diff --git a/retroshare-gui/src/gui/msgs/MessageWidget.h b/retroshare-gui/src/gui/msgs/MessageWidget.h index d6465e5cf..53b043720 100644 --- a/retroshare-gui/src/gui/msgs/MessageWidget.h +++ b/retroshare-gui/src/gui/msgs/MessageWidget.h @@ -61,6 +61,7 @@ public: signals: void messageRemoved(); + void messageRemovalRequested(std::string); private slots: void reply(); diff --git a/retroshare-gui/src/gui/msgs/MessagesDialog.cpp b/retroshare-gui/src/gui/msgs/MessagesDialog.cpp index 1fb55821f..78d81ef20 100644 --- a/retroshare-gui/src/gui/msgs/MessagesDialog.cpp +++ b/retroshare-gui/src/gui/msgs/MessagesDialog.cpp @@ -144,7 +144,7 @@ MessagesDialog::MessagesDialog(QWidget *parent) msgWidget = new MessageWidget(true, this); ui.msgLayout->addWidget(msgWidget); - connect(msgWidget, SIGNAL(messageRemoved()), this, SLOT(messageRemoved())); + connect(msgWidget, SIGNAL(messageRemovalRequested(std::string)), this, SLOT(removemessage())); connectActions(); @@ -838,7 +838,7 @@ void MessagesDialog::openAsWindow() } msgWidget->activateWindow(); - connect(msgWidget, SIGNAL(messageRemoved()), this, SLOT(messageRemoved())); + connect(msgWidget, SIGNAL(messageRemovalRequested(std::string)), this, SLOT(removemessage())); /* window will destroy itself! */ } @@ -858,7 +858,7 @@ void MessagesDialog::openAsTab() ui.tabWidget->addTab(msgWidget,FilesDefs::getIconFromQtResourcePath(IMAGE_MAIL), msgWidget->subject(true)); ui.tabWidget->setCurrentWidget(msgWidget); - connect(msgWidget, SIGNAL(messageRemoved()), this, SLOT(messageRemoved())); + connect(msgWidget, SIGNAL(messageRemovalRequested(std::string)), this, SLOT(removemessage())); /* window will destroy itself! */ } From eeacb4500d24c4891e2835c7dc111b6c55961e1b Mon Sep 17 00:00:00 2001 From: csoler Date: Tue, 15 Aug 2023 21:13:53 +0200 Subject: [PATCH 39/65] removed some debug output --- retroshare-gui/src/gui/msgs/MessagesDialog.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/retroshare-gui/src/gui/msgs/MessagesDialog.cpp b/retroshare-gui/src/gui/msgs/MessagesDialog.cpp index 78d81ef20..de91df5ff 100644 --- a/retroshare-gui/src/gui/msgs/MessagesDialog.cpp +++ b/retroshare-gui/src/gui/msgs/MessagesDialog.cpp @@ -95,6 +95,7 @@ #define ROW_SENTBOX 3 #define ROW_TRASHBOX 4 +// #define DEBUG_MESSAGES_DIALOG 1 class MessageSortFilterProxyModel: public QSortFilterProxyModel { @@ -365,15 +366,18 @@ void MessagesDialog::preModelUpdate() if (m.isValid()) { mTmpSavedCurrentId = m.sibling(m.row(), RsMessageModel::COLUMN_THREAD_MSGID).data(RsMessageModel::MsgIdRole).toString(); } - +#ifdef DEBUG_MESSAGES_DIALOG std::cerr << "Pre-change: saving selection for " << mTmpSavedSelectedIds.size() << " indexes" << std::endl; +#endif } void MessagesDialog::postModelUpdate() { // restore selection +#ifdef DEBUG_MESSAGES_DIALOG std::cerr << "Post-change: restoring selection for " << mTmpSavedSelectedIds.size() << " indexes" << std::endl; +#endif QItemSelection sel; foreach(const QString& s,mTmpSavedSelectedIds) From fd9f31987d9516f155e29da0efbdabd88796e927 Mon Sep 17 00:00:00 2001 From: csoler Date: Tue, 15 Aug 2023 21:14:32 +0200 Subject: [PATCH 40/65] attempt at fixing crash with gtk2 style when the proper environment variable is not set --- retroshare-gui/src/gui/settings/AppearancePage.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/retroshare-gui/src/gui/settings/AppearancePage.cpp b/retroshare-gui/src/gui/settings/AppearancePage.cpp index 2fb86e5a2..ad48ccabd 100755 --- a/retroshare-gui/src/gui/settings/AppearancePage.cpp +++ b/retroshare-gui/src/gui/settings/AppearancePage.cpp @@ -75,7 +75,8 @@ AppearancePage::AppearancePage(QWidget * parent, Qt::WindowFlags flags) ui.cmboLanguage->addItem(FilesDefs::getIconFromQtResourcePath(":/images/flags/" + code + ".png"), LanguageSupport::languageName(code), code); } foreach (QString style, QStyleFactory::keys()) { - ui.cmboStyle->addItem(style, style.toLower()); + if(style.toLower() != "gtk2" || (getenv("QT_QPA_PLATFORMTHEME")!=nullptr && !strcmp(getenv("QT_QPA_PLATFORMTHEME"),"gtk2"))) // make sure that if style is gtk2, the system has the correct environment variable set. + ui.cmboStyle->addItem(style, style.toLower()); } QMap styleSheets; From 811b3b3658c568729456decb0214ea5222209f4d Mon Sep 17 00:00:00 2001 From: csoler Date: Fri, 18 Aug 2023 13:21:28 +0200 Subject: [PATCH 41/65] fixed bug not showing icons/text button on loading --- retroshare-gui/src/gui/settings/AppearancePage.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/retroshare-gui/src/gui/settings/AppearancePage.cpp b/retroshare-gui/src/gui/settings/AppearancePage.cpp index ad48ccabd..dcfb0350e 100755 --- a/retroshare-gui/src/gui/settings/AppearancePage.cpp +++ b/retroshare-gui/src/gui/settings/AppearancePage.cpp @@ -267,9 +267,9 @@ void AppearancePage::load() index = ui.mainPageButtonType_CB->findData(Settings->getPageButtonLoc()); if (index != 0) { - ui.cmboTollButtonsStyle->hide(); - }else { - ui.cmboTollButtonsStyle->show(); + ui.cmboTollButtonsStyle->show(); + }else { + ui.cmboTollButtonsStyle->hide(); } whileBlocking(ui.mainPageButtonType_CB)->setCurrentIndex(!Settings->getPageButtonLoc()); From 1efed9d436706353fd4b9f25dfd5e42a5bc98a52 Mon Sep 17 00:00:00 2001 From: defnax Date: Tue, 29 Aug 2023 14:28:18 +0200 Subject: [PATCH 42/65] Fix transparency for channel post thumbnails --- .../src/gui/gxschannels/CreateGxsChannelMsg.cpp | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/retroshare-gui/src/gui/gxschannels/CreateGxsChannelMsg.cpp b/retroshare-gui/src/gui/gxschannels/CreateGxsChannelMsg.cpp index 05ce9bda6..f00d31539 100644 --- a/retroshare-gui/src/gui/gxschannels/CreateGxsChannelMsg.cpp +++ b/retroshare-gui/src/gui/gxschannels/CreateGxsChannelMsg.cpp @@ -35,6 +35,7 @@ #include "util/rsdir.h" #include "util/qtthreadsutils.h" #include "util/RichTextEdit.h" +#include "util/imageutil.h" #include @@ -610,8 +611,10 @@ bool CreateGxsChannelMsg::setThumbNail(const std::string& path, int frame){ QImage tNail(imageBuffer, width, height, QImage::Format_RGB32); QByteArray ba; QBuffer buffer(&ba); + bool has_transparency = ImageUtil::hasAlphaContent(tNail.toImage()); + buffer.open(QIODevice::WriteOnly); - tNail.save(&buffer, "JPG"); + tNail.save(&buffer, has_transparency?"PNG":"JPG"); QPixmap img; img.loadFromData(ba, "PNG"); img = img.scaled(thumbnail_label->width(), thumbnail_label->height(), Qt::KeepAspectRatio, Qt::SmoothTransformation); @@ -797,15 +800,16 @@ void CreateGxsChannelMsg::sendMessage(const std::string &subject, const std::str QByteArray ba; QBuffer buffer(&ba); - RsGxsImage image; + RsGxsImage image; + bool has_transparency = ImageUtil::hasAlphaContent(picture.toImage()); if(!picture.isNull()) { // send chan image buffer.open(QIODevice::WriteOnly); - preview_W->getCroppedScaledPicture().save(&buffer, "JPG"); // writes image into ba in PNG format - image.copy((uint8_t *) ba.data(), ba.size()); + preview_W->getCroppedScaledPicture().save(&buffer, has_transparency?"PNG":"JPG"); // writes image into ba in PNG format + image.copy((uint8_t *) ba.data(), ba.size()); } std::string error_string; From d80951cd53bb89dd0297142edf9baa3af222e8aa Mon Sep 17 00:00:00 2001 From: csoler Date: Thu, 31 Aug 2023 23:18:06 +0200 Subject: [PATCH 43/65] added missing comment --- retroshare-gui/src/gui/settings/AppearancePage.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/retroshare-gui/src/gui/settings/AppearancePage.cpp b/retroshare-gui/src/gui/settings/AppearancePage.cpp index dcfb0350e..8ad086ae9 100755 --- a/retroshare-gui/src/gui/settings/AppearancePage.cpp +++ b/retroshare-gui/src/gui/settings/AppearancePage.cpp @@ -74,8 +74,12 @@ AppearancePage::AppearancePage(QWidget * parent, Qt::WindowFlags flags) foreach (QString code, LanguageSupport::languageCodes()) { ui.cmboLanguage->addItem(FilesDefs::getIconFromQtResourcePath(":/images/flags/" + code + ".png"), LanguageSupport::languageName(code), code); } - foreach (QString style, QStyleFactory::keys()) { - if(style.toLower() != "gtk2" || (getenv("QT_QPA_PLATFORMTHEME")!=nullptr && !strcmp(getenv("QT_QPA_PLATFORMTHEME"),"gtk2"))) // make sure that if style is gtk2, the system has the correct environment variable set. + + // Note: apparently, on some linux systems (e.g. Debian 11), the gtk2 style makes Qt libs crash when the environment variable is not set. + // So we first check that it's here before start. + + foreach (QString style, QStyleFactory::keys()) { + if(style.toLower() != "gtk2" || (getenv("QT_QPA_PLATFORMTHEME")!=nullptr && !strcmp(getenv("QT_QPA_PLATFORMTHEME"),"gtk2"))) ui.cmboStyle->addItem(style, style.toLower()); } From 013786a7b7df627b81254f077db106d6fc882d43 Mon Sep 17 00:00:00 2001 From: csoler Date: Thu, 31 Aug 2023 23:18:24 +0200 Subject: [PATCH 44/65] disabled external port+address on auto-tor mode --- retroshare-gui/src/gui/settings/ServerPage.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/retroshare-gui/src/gui/settings/ServerPage.cpp b/retroshare-gui/src/gui/settings/ServerPage.cpp index 3dfe9069d..adb1d655c 100755 --- a/retroshare-gui/src/gui/settings/ServerPage.cpp +++ b/retroshare-gui/src/gui/settings/ServerPage.cpp @@ -107,6 +107,8 @@ ServerPage::ServerPage(QWidget * parent, Qt::WindowFlags flags) ui.hiddenpage_proxyPort_tor->setEnabled(false) ; ui.hiddenpage_localAddress->setEnabled(false) ; ui.hiddenpage_localPort->setEnabled(false) ; + ui.hiddenpage_serviceAddress->setEnabled(false) ; + ui.hiddenpage_servicePort->setEnabled(false) ; ui.testIncoming_PB->hide() ; ui.l_incomingTestResult->hide() ; ui.iconlabel_service_incoming->hide() ; From 0ed32eb5975e4f8c56a5373b9d34b0660a862d1f Mon Sep 17 00:00:00 2001 From: csoler Date: Thu, 31 Aug 2023 23:27:18 +0200 Subject: [PATCH 45/65] removed export menu entry (duplicates functionality, and wasnt connected anyway) --- retroshare-gui/src/gui/NetworkDialog.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/retroshare-gui/src/gui/NetworkDialog.cpp b/retroshare-gui/src/gui/NetworkDialog.cpp index 216117f67..1dab369e2 100644 --- a/retroshare-gui/src/gui/NetworkDialog.cpp +++ b/retroshare-gui/src/gui/NetworkDialog.cpp @@ -127,8 +127,8 @@ void NetworkDialog::connectTreeWidgetCostumPopupMenu( QPoint /*point*/ ) if(!rsPeers->getGPGDetails(peer_id, detail)) // that is not suppose to fail. return ; - if(peer_id == rsPeers->getGPGOwnId()) - contextMnu->addAction(QIcon(), tr("Export/create a new node"), this, SLOT(on_actionExportKey_activated())); + //if(peer_id == rsPeers->getGPGOwnId()) + // contextMnu->addAction(QIcon(), tr("Export/create a new node"), this, SLOT(on_actionExportKey_activated())); contextMnu->addAction(QIcon(IMAGE_PEERDETAILS), tr("Profile details..."), this, SLOT(peerdetails())); contextMnu->addSeparator() ; From 8a20ab33b4d5a4390d6a358331ba1f6b5a2f974c Mon Sep 17 00:00:00 2001 From: csoler Date: Mon, 4 Sep 2023 21:58:45 +0200 Subject: [PATCH 46/65] fixed bug in ModelIndex creation in channel post view, and implemented arrow key navigation --- .../src/gui/gxs/GxsCommentDialog.cpp | 2 ++ .../gui/gxschannels/GxsChannelPostsModel.cpp | 21 +++++++++++++++- .../gui/gxschannels/GxsChannelPostsModel.h | 1 + .../GxsChannelPostsWidgetWithModel.cpp | 24 +++++++++++++++++++ .../GxsChannelPostsWidgetWithModel.h | 1 + 5 files changed, 48 insertions(+), 1 deletion(-) diff --git a/retroshare-gui/src/gui/gxs/GxsCommentDialog.cpp b/retroshare-gui/src/gui/gxs/GxsCommentDialog.cpp index 7b9e28131..4757b036e 100644 --- a/retroshare-gui/src/gui/gxs/GxsCommentDialog.cpp +++ b/retroshare-gui/src/gui/gxs/GxsCommentDialog.cpp @@ -95,8 +95,10 @@ void GxsCommentDialog::commentClear() } void GxsCommentDialog::commentLoad(const RsGxsGroupId &grpId, const std::set& msg_versions,const RsGxsMessageId& most_recent_msgId,bool use_cache) { +#ifdef DEBUG_COMMENT_DIALOG std::cerr << "GxsCommentDialog::commentLoad(" << grpId << ", most recent msg version: " << most_recent_msgId << ")"; std::cerr << std::endl; +#endif mGrpId = grpId; mMostRecentMsgId = most_recent_msgId; diff --git a/retroshare-gui/src/gui/gxschannels/GxsChannelPostsModel.cpp b/retroshare-gui/src/gui/gxschannels/GxsChannelPostsModel.cpp index e9be3e6ed..a42587d85 100644 --- a/retroshare-gui/src/gui/gxschannels/GxsChannelPostsModel.cpp +++ b/retroshare-gui/src/gui/gxschannels/GxsChannelPostsModel.cpp @@ -176,6 +176,25 @@ int RsGxsChannelPostsModel::rowCount(const QModelIndex& parent) const return 0; } +int RsGxsChannelPostsModel::columnCount(int row) const +{ + if(mTreeMode == TREE_MODE_GRID) + { + if(row+1 == rowCount()) + { + int r = ((int)mFilteredPosts.size() % (int)mColumns); + + if(r > 0) + return r; + else + return columnCount(); + } + else + return columnCount(); + } + else + return 2; +} int RsGxsChannelPostsModel::columnCount(const QModelIndex &/*parent*/) const { if(mTreeMode == TREE_MODE_GRID) @@ -245,7 +264,7 @@ bool RsGxsChannelPostsModel::convertRefPointerToTabEntry(quintptr ref, uint32_t& QModelIndex RsGxsChannelPostsModel::index(int row, int column, const QModelIndex & parent) const { - if(row < 0 || column < 0 || column >= (int)mColumns) + if(row < 0 || column < 0 || row >= rowCount() || column >= columnCount(row)) return QModelIndex(); quintptr ref = getChildRef(parent.internalId(),(mTreeMode == TREE_MODE_GRID)?(column + row*mColumns):row); diff --git a/retroshare-gui/src/gui/gxschannels/GxsChannelPostsModel.h b/retroshare-gui/src/gui/gxschannels/GxsChannelPostsModel.h index 42dcbb9f7..c447f11a3 100644 --- a/retroshare-gui/src/gui/gxschannels/GxsChannelPostsModel.h +++ b/retroshare-gui/src/gui/gxschannels/GxsChannelPostsModel.h @@ -105,6 +105,7 @@ public: QModelIndex root() const{ return createIndex(0,0,(void*)NULL) ;} QModelIndex getIndexOfMessage(const RsGxsMessageId& mid) const; + int columnCount(int row) const; // columns in the row of this particular index. std::vector > getPostVersions(const RsGxsMessageId& mid) const; diff --git a/retroshare-gui/src/gui/gxschannels/GxsChannelPostsWidgetWithModel.cpp b/retroshare-gui/src/gui/gxschannels/GxsChannelPostsWidgetWithModel.cpp index a6ce946f5..ea27be6f9 100644 --- a/retroshare-gui/src/gui/gxschannels/GxsChannelPostsWidgetWithModel.cpp +++ b/retroshare-gui/src/gui/gxschannels/GxsChannelPostsWidgetWithModel.cpp @@ -504,6 +504,30 @@ GxsChannelPostsWidgetWithModel::GxsChannelPostsWidgetWithModel(const RsGxsGroupI }, mEventHandlerId, RsEventType::GXS_CHANNELS ); } +void GxsChannelPostsWidgetWithModel::keyPressEvent(QKeyEvent *e) +{ + QModelIndex index = ui->postsTree->selectionModel()->currentIndex(); + + if(index.isValid() && mChannelPostsModel->getMode() == RsGxsChannelPostsModel::TREE_MODE_GRID) + { + int n = mChannelPostsModel->columnCount(index.row())-1; + + if(e->key() == Qt::Key_Left && index.column()==0) + { + ui->postsTree->setCurrentIndex(index.siblingAtColumn(n)); + e->accept(); + return; + } + if(e->key() == Qt::Key_Right && index.column()==n) + { + ui->postsTree->setCurrentIndex(index.siblingAtColumn(0)); + e->accept(); + return; + } + } + + GxsMessageFrameWidget::keyPressEvent(e); +} void GxsChannelPostsWidgetWithModel::resizeEvent(QResizeEvent *e) { GxsMessageFrameWidget::resizeEvent(e); diff --git a/retroshare-gui/src/gui/gxschannels/GxsChannelPostsWidgetWithModel.h b/retroshare-gui/src/gui/gxschannels/GxsChannelPostsWidgetWithModel.h index 9cfcaae21..8891b57dd 100644 --- a/retroshare-gui/src/gui/gxschannels/GxsChannelPostsWidgetWithModel.h +++ b/retroshare-gui/src/gui/gxschannels/GxsChannelPostsWidgetWithModel.h @@ -139,6 +139,7 @@ protected: /* GxsMessageFrameWidget */ virtual void setAllMessagesReadDo(bool read) override; virtual void resizeEvent(QResizeEvent *e) override; + virtual void keyPressEvent(QKeyEvent *e) override; private slots: void showPostDetails(); From 43afcf3f98c41fa578c9bbc2e545c776ce092955 Mon Sep 17 00:00:00 2001 From: defnax Date: Tue, 5 Sep 2023 21:10:38 +0200 Subject: [PATCH 47/65] Fix to use RGBA32 --- retroshare-gui/src/gui/gxschannels/CreateGxsChannelMsg.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/retroshare-gui/src/gui/gxschannels/CreateGxsChannelMsg.cpp b/retroshare-gui/src/gui/gxschannels/CreateGxsChannelMsg.cpp index f00d31539..66311d6fa 100644 --- a/retroshare-gui/src/gui/gxschannels/CreateGxsChannelMsg.cpp +++ b/retroshare-gui/src/gui/gxschannels/CreateGxsChannelMsg.cpp @@ -608,7 +608,7 @@ bool CreateGxsChannelMsg::setThumbNail(const std::string& path, int frame){ if(imageBuffer == NULL) return false; - QImage tNail(imageBuffer, width, height, QImage::Format_RGB32); + QImage tNail(imageBuffer, width, height, QImage::Format_RGBA32); QByteArray ba; QBuffer buffer(&ba); bool has_transparency = ImageUtil::hasAlphaContent(tNail.toImage()); From c90fab0136a08071f220b9ea97528bca76aa65ba Mon Sep 17 00:00:00 2001 From: csoler Date: Fri, 8 Sep 2023 20:48:54 +0200 Subject: [PATCH 48/65] added help for JSON API page --- retroshare-gui/src/gui/settings/JsonApiPage.cc | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/retroshare-gui/src/gui/settings/JsonApiPage.cc b/retroshare-gui/src/gui/settings/JsonApiPage.cc index a824a5fa0..f0767db7c 100644 --- a/retroshare-gui/src/gui/settings/JsonApiPage.cc +++ b/retroshare-gui/src/gui/settings/JsonApiPage.cc @@ -59,7 +59,15 @@ JsonApiPage::JsonApiPage(QWidget */*parent*/, Qt::WindowFlags /*flags*/) ui.listenAddressLineEdit->setValidator(ipValidator); } - +QString JsonApiPage::helpText() const +{ + return tr("

  Webinterface

\ +

Retroshare provides a JSON API allowing other softwares to communicate with its core using token-controlled HTTP requests to http://localhost:[port]. \ + Please refer to the Retroshare documentation for how to use this feature.

\ +

Unless you know what you're doing, you shouldn't need to change anything in this page. \ + The web interface for instance will automatically register its own token to the JSON API which will be visible \ + in the list of authenticated tokens after you enable it.

"); +} void JsonApiPage::enableJsonApi(bool checked) { ui.addTokenPushButton->setEnabled(checked); @@ -107,8 +115,6 @@ void JsonApiPage::load() whileBlocking(ui.tokensListView)->setModel(new QStringListModel(newTk)); } -QString JsonApiPage::helpText() const { return ""; } - bool JsonApiPage::checkStartJsonApi() { if(!Settings->getJsonApiEnabled()) return false; From d0b4bfdaa1bbe00088f9cbc15a9b4ce7765a253f Mon Sep 17 00:00:00 2001 From: thunder2 Date: Sun, 10 Sep 2023 15:25:13 +0200 Subject: [PATCH 49/65] Fixed Linux compile of FeedReader plugin --- plugins/FeedReader/services/p3FeedReaderThread.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/FeedReader/services/p3FeedReaderThread.cc b/plugins/FeedReader/services/p3FeedReaderThread.cc index 01e449323..845b5c82b 100644 --- a/plugins/FeedReader/services/p3FeedReaderThread.cc +++ b/plugins/FeedReader/services/p3FeedReaderThread.cc @@ -1151,10 +1151,10 @@ RsFeedReaderErrorState p3FeedReaderThread::processMsg(const RsFeedReaderFeed &fe if (isRunning()) { /* process description */ - bool processPostedFirstImage = (feed.flag & RS_FEED_FLAG_POSTED_FIRST_IMAGE) ? TRUE : FALSE; + bool processPostedFirstImage = (feed.flag & RS_FEED_FLAG_POSTED_FIRST_IMAGE) ? true : false; if (!msg->attachmentBinary.empty()) { /* use attachment as image */ - processPostedFirstImage = FALSE; + processPostedFirstImage = false; } //long todo; // encoding From d83f0125f33ddbc51022ce6693339321e5874bf9 Mon Sep 17 00:00:00 2001 From: csoler Date: Sun, 10 Sep 2023 17:49:51 +0200 Subject: [PATCH 50/65] improved UI of webUI and JsonAPI and interaction between these two (unfinished) --- .../src/gui/settings/JsonApiPage.cc | 16 ++- retroshare-gui/src/gui/settings/JsonApiPage.h | 4 + .../src/gui/settings/JsonApiPage.ui | 108 +++++++++++++----- retroshare-gui/src/gui/settings/WebuiPage.cpp | 64 +++++------ retroshare-gui/src/gui/settings/WebuiPage.h | 13 +-- retroshare-gui/src/gui/settings/WebuiPage.ui | 48 ++++++-- .../src/gui/settings/rsettingswin.cpp | 2 - 7 files changed, 169 insertions(+), 86 deletions(-) diff --git a/retroshare-gui/src/gui/settings/JsonApiPage.cc b/retroshare-gui/src/gui/settings/JsonApiPage.cc index f0767db7c..136b37d56 100644 --- a/retroshare-gui/src/gui/settings/JsonApiPage.cc +++ b/retroshare-gui/src/gui/settings/JsonApiPage.cc @@ -23,6 +23,7 @@ #include "rsharesettings.h" #include "jsonapi/jsonapi.h" #include "util/misc.h" +#include "util/qtthreadsutils.h" #include #include @@ -58,7 +59,16 @@ JsonApiPage::JsonApiPage(QWidget */*parent*/, Qt::WindowFlags /*flags*/) ui.listenAddressLineEdit->setValidator(ipValidator); + mEventHandlerId = 0; + + rsEvents->registerEventsHandler( [this](std::shared_ptr /* event */) + { + std::cerr << "Caught JSONAPI event!" << std::endl; + RsQThreadUtils::postToObject([=]() { load(); }, this ); + }, + mEventHandlerId, RsEventType::JSON_API ); } + QString JsonApiPage::helpText() const { return tr("

  Webinterface

\ @@ -101,9 +111,9 @@ bool JsonApiPage::updateParams() void JsonApiPage::load() { - whileBlocking(ui.portSpinBox)->setValue(Settings->getJsonApiPort()); - whileBlocking(ui.listenAddressLineEdit)->setText(Settings->getJsonApiListenAddress()); - whileBlocking(ui.enableCheckBox)->setChecked(Settings->getJsonApiEnabled()); + whileBlocking(ui.portSpinBox)->setValue(rsJsonApi->listeningPort()); + whileBlocking(ui.listenAddressLineEdit)->setText(QString::fromStdString(rsJsonApi->getBindingAddress())); + whileBlocking(ui.enableCheckBox)->setChecked(rsJsonApi->isRunning()); QStringList newTk; diff --git a/retroshare-gui/src/gui/settings/JsonApiPage.h b/retroshare-gui/src/gui/settings/JsonApiPage.h index 7f69bbd1e..f06340d1a 100644 --- a/retroshare-gui/src/gui/settings/JsonApiPage.h +++ b/retroshare-gui/src/gui/settings/JsonApiPage.h @@ -20,6 +20,8 @@ #pragma once +#include "retroshare/rsevents.h" + #include "retroshare-gui/configpage.h" #include "gui/common/FilesDefs.h" #include "ui_JsonApiPage.h" @@ -63,4 +65,6 @@ public slots: private: Ui::JsonApiPage ui; /// Qt Designer generated object + RsEventsHandlerId_t mEventHandlerId; }; + diff --git a/retroshare-gui/src/gui/settings/JsonApiPage.ui b/retroshare-gui/src/gui/settings/JsonApiPage.ui index 24b534712..9227a3251 100644 --- a/retroshare-gui/src/gui/settings/JsonApiPage.ui +++ b/retroshare-gui/src/gui/settings/JsonApiPage.ui @@ -13,7 +13,7 @@ Form - + @@ -25,51 +25,43 @@ JSON API Server - + - - - Enable RetroShare JSON API Server - - - - - + - + - Port: + Enable RetroShare JSON API Server - - - 1024 + + + Qt::Horizontal - - 65535 + + + 40 + 20 + - - 9092 - - + - - - - - + - Listen Address: + Status: - + - 127.0.0.1 + + + + :/images/ledoff1.png @@ -107,16 +99,68 @@ + + + + + + Listen Address: + + + + + + + 127.0.0.1 + + + + + + + + + + + Port: + + + + + + + 1024 + + + 65535 + + + 9092 + + + + + - Authenticated Tokens + Authenticated Tokens: + + + + Registered services: + + + + + + @@ -142,6 +186,8 @@ - + + + diff --git a/retroshare-gui/src/gui/settings/WebuiPage.cpp b/retroshare-gui/src/gui/settings/WebuiPage.cpp index f0006fec3..073d775ae 100644 --- a/retroshare-gui/src/gui/settings/WebuiPage.cpp +++ b/retroshare-gui/src/gui/settings/WebuiPage.cpp @@ -73,22 +73,12 @@ void WebuiPage::selectWebInterfaceDirectory() bool WebuiPage::updateParams(QString &errmsg) { std::cerr << "WebuiPage::save()" << std::endl; - bool ok = true; - bool changed = false; - if(ui.enableWebUI_CB->isChecked() != Settings->getWebinterfaceEnabled()) - changed = true; - if(ui.webInterfaceFiles_LE->text() != Settings->getWebinterfaceFilesDirectory()) - changed = true; - if(changed) - { - // store config - Settings->setWebinterfaceEnabled(ui.enableWebUI_CB->isChecked()); - Settings->setWebinterfaceFilesDirectory(ui.webInterfaceFiles_LE->text()); + // store config + Settings->setWebinterfaceEnabled(ui.enableWebUI_CB->isChecked()); + Settings->setWebinterfaceFilesDirectory(ui.webInterfaceFiles_LE->text()); - rsWebUi->setHtmlFilesDirectory(ui.webInterfaceFiles_LE->text().toStdString()); - } - return ok; + return true; } void WebuiPage::onPasswordValueChanged(QString password) @@ -112,10 +102,20 @@ void WebuiPage::onPasswordValueChanged(QString password) bool WebuiPage::restart() { - return checkStartWebui(); + if(ui.password_LE->text().isNull()) + { + QMessageBox::critical(nullptr,tr("Missing passphrase"),tr("Please set a passphrase to proect the access to the WEB interface.")); + return false; + } + + rsWebUi->setUserPassword(ui.password_LE->text().toStdString()); + rsWebUi->setHtmlFilesDirectory(ui.webInterfaceFiles_LE->text().toStdString()); + rsWebUi->restart(); + + return true; } -void WebuiPage::load() +void WebuiPage::loadParams() { std::cerr << "WebuiPage::load()" << std::endl; whileBlocking(ui.enableWebUI_CB)->setChecked(Settings->getWebinterfaceEnabled()); @@ -138,13 +138,11 @@ QString WebuiPage::helpText() const

Warning: don't expose the webinterface to the internet, because there is no access control and no encryption. If you want to use the webinterface over the internet, use a SSH tunnel or a proxy to secure the connection.

"); } -/*static*/ bool WebuiPage::checkStartWebui() +/*static*/ bool WebuiPage::checkStartWebui() // This is supposed to be called from main(). But normally the parameters below (including the paswd + // for the webUI should be saved in p3webui instead. { - if(!Settings->getWebinterfaceEnabled()) - return false; - - rsWebUi->setHtmlFilesDirectory(Settings->getWebinterfaceFilesDirectory().toStdString()); - rsWebUi->restart(); + rsWebUi->setHtmlFilesDirectory(Settings->getWebinterfaceFilesDirectory().toStdString()); + rsWebUi->restart(); return true; } @@ -177,13 +175,6 @@ void WebuiPage::onEnableCBClicked(bool checked) ui.apply_PB->setEnabled(checked); ui.startWebBrowser_PB->setEnabled(checked); QString S; - - Settings->setWebinterfaceEnabled(checked); - - if(checked) - checkStartWebui(); - else - checkShutdownWebui(); } void WebuiPage::onPortValueChanged(int /*value*/) @@ -199,18 +190,19 @@ void WebuiPage::onAllIPCBClicked(bool /*checked*/) } void WebuiPage::onApplyClicked() { - rsWebUi->setUserPassword(ui.password_LE->text().toStdString()); - QString errmsg; updateParams(errmsg); - if(!restart()) + if(ui.enableWebUI_CB->isChecked()) { - QMessageBox::warning(0, tr("failed to start Webinterface"), "Failed to start the webinterface."); - return; + if(!restart()) + { + QMessageBox::warning(0, tr("failed to start Webinterface"), "Failed to start the webinterface."); + return; + } + else + checkShutdownWebui(); } - - emit passwordChanged(); } void WebuiPage::onStartWebBrowserClicked() { showWebui(); } diff --git a/retroshare-gui/src/gui/settings/WebuiPage.h b/retroshare-gui/src/gui/settings/WebuiPage.h index 9ba8886ac..ad20d6afb 100644 --- a/retroshare-gui/src/gui/settings/WebuiPage.h +++ b/retroshare-gui/src/gui/settings/WebuiPage.h @@ -42,11 +42,11 @@ public: ~WebuiPage(); /** Loads the settings for this page */ - virtual void load(); + virtual void load() override { loadParams() ; } - virtual QPixmap iconPixmap() const { return FilesDefs::getPixmapFromQtResourcePath(":/icons/settings/webinterface.svg") ; } - virtual QString pageName() const { return tr("Webinterface") ; } - virtual QString helpText() const; + virtual QPixmap iconPixmap() const override { return FilesDefs::getPixmapFromQtResourcePath(":/icons/settings/webinterface.svg") ; } + virtual QString pageName() const override { return tr("Webinterface") ; } + virtual QString helpText() const override ; // call this after start of libretroshare/Retroshare // checks the settings and starts the webinterface if required @@ -67,10 +67,9 @@ public slots: void onApplyClicked(); void onStartWebBrowserClicked(); -signals: - void passwordChanged(); - private: + virtual void loadParams(); + /** Qt Designer generated object */ Ui::WebuiPage ui; diff --git a/retroshare-gui/src/gui/settings/WebuiPage.ui b/retroshare-gui/src/gui/settings/WebuiPage.ui index 5ca37e9b6..e48cd31c5 100644 --- a/retroshare-gui/src/gui/settings/WebuiPage.ui +++ b/retroshare-gui/src/gui/settings/WebuiPage.ui @@ -6,8 +6,8 @@ 0 0 - 960 - 717 + 570 + 646 @@ -15,11 +15,45 @@ - - - Enable Retroshare WEB Interface - - + + + + + Enable Retroshare WEB Interface + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + TextLabel + + + + + + + + + + :/images/ledoff1.png + + + + diff --git a/retroshare-gui/src/gui/settings/rsettingswin.cpp b/retroshare-gui/src/gui/settings/rsettingswin.cpp index 46c85ea8e..e52ca1aed 100644 --- a/retroshare-gui/src/gui/settings/rsettingswin.cpp +++ b/retroshare-gui/src/gui/settings/rsettingswin.cpp @@ -180,8 +180,6 @@ SettingsPage::initStackedWidget() #ifdef RS_WEBUI WebuiPage *webui_p = new WebuiPage() ; addPage(new WebuiPage() ); - - QObject::connect(webui_p,SIGNAL(passwordChanged()),jsonapi_p,SLOT(load())); #endif #endif From d5088caac6a70b3a7dbf5cc9bb763b07f8c0131b Mon Sep 17 00:00:00 2001 From: defnax Date: Mon, 11 Sep 2023 21:54:54 +0200 Subject: [PATCH 51/65] fix second part for transparency check --- retroshare-gui/src/gui/gxschannels/CreateGxsChannelMsg.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/retroshare-gui/src/gui/gxschannels/CreateGxsChannelMsg.cpp b/retroshare-gui/src/gui/gxschannels/CreateGxsChannelMsg.cpp index 66311d6fa..bc2f5d960 100644 --- a/retroshare-gui/src/gui/gxschannels/CreateGxsChannelMsg.cpp +++ b/retroshare-gui/src/gui/gxschannels/CreateGxsChannelMsg.cpp @@ -801,7 +801,10 @@ void CreateGxsChannelMsg::sendMessage(const std::string &subject, const std::str QBuffer buffer(&ba); RsGxsImage image; - bool has_transparency = ImageUtil::hasAlphaContent(picture.toImage()); + QPixmap pixmap; + pixmap = preview_W->getCroppedScaledPicture(); + QImage qimg = pixmap.toImage(); + bool has_transparency = ImageUtil::hasAlphaContent(qimg); if(!picture.isNull()) { From c877a6e5c873f0024819c37244020a358ff66d3d Mon Sep 17 00:00:00 2001 From: csoler Date: Mon, 11 Sep 2023 22:55:42 +0200 Subject: [PATCH 52/65] improved login of on/off and parameter display in webui/jsonapi config pages --- .../src/gui/settings/JsonApiPage.cc | 16 +++++++++++++- retroshare-gui/src/gui/settings/WebuiPage.cpp | 21 ++++++++++++++++++- retroshare-gui/src/gui/settings/WebuiPage.h | 4 ++++ retroshare-gui/src/gui/settings/WebuiPage.ui | 2 +- 4 files changed, 40 insertions(+), 3 deletions(-) diff --git a/retroshare-gui/src/gui/settings/JsonApiPage.cc b/retroshare-gui/src/gui/settings/JsonApiPage.cc index 136b37d56..4e33c05e6 100644 --- a/retroshare-gui/src/gui/settings/JsonApiPage.cc +++ b/retroshare-gui/src/gui/settings/JsonApiPage.cc @@ -29,6 +29,8 @@ #include #include +#define IMAGE_LEDOFF ":/images/ledoff1.png" +#define IMAGE_LEDON ":/images/ledon1.png" JsonApiPage::JsonApiPage(QWidget */*parent*/, Qt::WindowFlags /*flags*/) { @@ -122,7 +124,19 @@ void JsonApiPage::load() QString::fromStdString(it.first) + ":" + QString::fromStdString(it.second) ); - whileBlocking(ui.tokensListView)->setModel(new QStringListModel(newTk)); + whileBlocking(ui.tokensListView)->setModel(new QStringListModel(newTk)); + + QStringList newTk2; + + for(const auto& it : rsJsonApi->getResourceProviders()) + newTk2.push_back( QString::fromStdString(it.get().getName())) ; + + whileBlocking(ui.providersListView)->setModel(new QStringListModel(newTk2)); + + if(rsJsonApi->isRunning()) + ui.statusLabelLED->setPixmap(FilesDefs::getPixmapFromQtResourcePath(IMAGE_LEDON)) ; + else + ui.statusLabelLED->setPixmap(FilesDefs::getPixmapFromQtResourcePath(IMAGE_LEDOFF)) ; } bool JsonApiPage::checkStartJsonApi() diff --git a/retroshare-gui/src/gui/settings/WebuiPage.cpp b/retroshare-gui/src/gui/settings/WebuiPage.cpp index 073d775ae..cccf54369 100644 --- a/retroshare-gui/src/gui/settings/WebuiPage.cpp +++ b/retroshare-gui/src/gui/settings/WebuiPage.cpp @@ -27,6 +27,7 @@ #include #include "util/misc.h" +#include "util/qtthreadsutils.h" #include "retroshare/rswebui.h" #include "retroshare/rsjsonapi.h" @@ -40,6 +41,8 @@ resource_api::ApiServerLocal* WebuiPage::apiServerLocal = 0; #endif resource_api::RsControlModule* WebuiPage::controlModule = 0; +#define IMAGE_LEDOFF ":/images/ledoff1.png" +#define IMAGE_LEDON ":/images/ledon1.png" WebuiPage::WebuiPage(QWidget */*parent*/, Qt::WindowFlags /*flags*/) { @@ -50,6 +53,15 @@ WebuiPage::WebuiPage(QWidget */*parent*/, Qt::WindowFlags /*flags*/) connect(ui.password_LE, SIGNAL(textChanged(QString)), this, SLOT(onPasswordValueChanged(QString))); connect(ui.startWebBrowser_PB, SIGNAL(clicked()), this, SLOT(onStartWebBrowserClicked())); connect(ui.webInterfaceFilesDirectory_PB, SIGNAL(clicked()), this, SLOT(selectWebInterfaceDirectory())); + + mEventsHandlerId = 0; + + rsEvents->registerEventsHandler( [this](std::shared_ptr /* event */) + { + std::cerr << "Caught JSONAPI event in webui!" << std::endl; + RsQThreadUtils::postToObject([=]() { load(); }, this ); + }, + mEventsHandlerId, RsEventType::JSON_API ); } WebuiPage::~WebuiPage() @@ -127,6 +139,13 @@ void WebuiPage::loadParams() if(it != smap.end()) whileBlocking(ui.password_LE)->setText(QString::fromStdString(it->second)); + + if(rsWebUi->isRunning() && rsJsonApi->isRunning()) + ui.statusLabelLED->setPixmap(FilesDefs::getPixmapFromQtResourcePath(IMAGE_LEDON)) ; + else + ui.statusLabelLED->setPixmap(FilesDefs::getPixmapFromQtResourcePath(IMAGE_LEDOFF)) ; +#else + ui.statusLabelLED->setPixmap(FilesDefs::getPixmapFromQtResourcePath(IMAGE_LEDOFF)) ; #endif } @@ -172,7 +191,6 @@ QString WebuiPage::helpText() const void WebuiPage::onEnableCBClicked(bool checked) { ui.params_GB->setEnabled(checked); - ui.apply_PB->setEnabled(checked); ui.startWebBrowser_PB->setEnabled(checked); QString S; } @@ -203,6 +221,7 @@ void WebuiPage::onApplyClicked() else checkShutdownWebui(); } + load(); } void WebuiPage::onStartWebBrowserClicked() { showWebui(); } diff --git a/retroshare-gui/src/gui/settings/WebuiPage.h b/retroshare-gui/src/gui/settings/WebuiPage.h index ad20d6afb..391612cf8 100644 --- a/retroshare-gui/src/gui/settings/WebuiPage.h +++ b/retroshare-gui/src/gui/settings/WebuiPage.h @@ -20,6 +20,8 @@ #pragma once +#include "retroshare/rsevents.h" + #include "retroshare-gui/configpage.h" #include "gui/common/FilesDefs.h" #include "ui_WebuiPage.h" @@ -82,4 +84,6 @@ private: static resource_api::ApiServerLocal* apiServerLocal; #endif static resource_api::RsControlModule* controlModule; + + RsEventsHandlerId_t mEventsHandlerId; }; diff --git a/retroshare-gui/src/gui/settings/WebuiPage.ui b/retroshare-gui/src/gui/settings/WebuiPage.ui index e48cd31c5..91d59736f 100644 --- a/retroshare-gui/src/gui/settings/WebuiPage.ui +++ b/retroshare-gui/src/gui/settings/WebuiPage.ui @@ -39,7 +39,7 @@ - TextLabel + Status: From 5e62af44e57822ac0704eefce73120443c580f9a Mon Sep 17 00:00:00 2001 From: csoler Date: Tue, 12 Sep 2023 13:50:43 +0200 Subject: [PATCH 53/65] fixed compilation --- retroshare-gui/src/gui/NetworkDialog.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/retroshare-gui/src/gui/NetworkDialog.cpp b/retroshare-gui/src/gui/NetworkDialog.cpp index 8db3e1e85..7c2b3fd14 100644 --- a/retroshare-gui/src/gui/NetworkDialog.cpp +++ b/retroshare-gui/src/gui/NetworkDialog.cpp @@ -170,7 +170,7 @@ void NetworkDialog::removeSelectedKeys() std::set friends; for (int i = 0; i < l.size(); i++) { - RsPgpId peer_id = RsPgpId(ui.connectTreeWidget->model()->data(ui.connectTreeWidget->model()->index(l[i].row(), COLUMN_PEERID)).toString().toStdString()); + RsPgpId peer_id = RsPgpId(ui.connectTreeWidget->model()->data(ui.connectTreeWidget->model()->index(l[i].row(), pgpid_item_model::PGP_ITEM_MODEL_COLUMN_PEERID)).toString().toStdString()); RsPeerDetails details ; if(rsPeers->getGPGDetails(peer_id,details)) { From 5251427cbf4483a6e15f8bfad1967fd26a52091e Mon Sep 17 00:00:00 2001 From: csoler Date: Tue, 12 Sep 2023 22:28:54 +0200 Subject: [PATCH 54/65] improved webui and jsonapi config pages --- .../src/gui/settings/JsonApiPage.ui | 64 +++++++++---------- retroshare-gui/src/gui/settings/WebuiPage.cpp | 37 +++++++---- 2 files changed, 55 insertions(+), 46 deletions(-) diff --git a/retroshare-gui/src/gui/settings/JsonApiPage.ui b/retroshare-gui/src/gui/settings/JsonApiPage.ui index 9227a3251..f8d31e38f 100644 --- a/retroshare-gui/src/gui/settings/JsonApiPage.ui +++ b/retroshare-gui/src/gui/settings/JsonApiPage.ui @@ -67,38 +67,6 @@ - - - - - - Token: - - - - - - - <html><head/><body><p>Tokens should spell as &quot;user:password&quot; where both user and password are alphanumeric strings.</p></body></html> - - - - - - - Add - - - - - - - Remove - - - - - @@ -141,6 +109,38 @@ + + + + + + Token: + + + + + + + <html><head/><body><p>Tokens should spell as &quot;user:password&quot; where both user and password are alphanumeric strings.</p></body></html> + + + + + + + Add + + + + + + + Remove + + + + + diff --git a/retroshare-gui/src/gui/settings/WebuiPage.cpp b/retroshare-gui/src/gui/settings/WebuiPage.cpp index cccf54369..893fd87e2 100644 --- a/retroshare-gui/src/gui/settings/WebuiPage.cpp +++ b/retroshare-gui/src/gui/settings/WebuiPage.cpp @@ -122,7 +122,10 @@ bool WebuiPage::restart() rsWebUi->setUserPassword(ui.password_LE->text().toStdString()); rsWebUi->setHtmlFilesDirectory(ui.webInterfaceFiles_LE->text().toStdString()); + + setCursor(Qt::WaitCursor) ; rsWebUi->restart(); + setCursor(Qt::ArrowCursor) ; return true; } @@ -140,7 +143,7 @@ void WebuiPage::loadParams() if(it != smap.end()) whileBlocking(ui.password_LE)->setText(QString::fromStdString(it->second)); - if(rsWebUi->isRunning() && rsJsonApi->isRunning()) + if(rsWebUi->isRunning()) ui.statusLabelLED->setPixmap(FilesDefs::getPixmapFromQtResourcePath(IMAGE_LEDON)) ; else ui.statusLabelLED->setPixmap(FilesDefs::getPixmapFromQtResourcePath(IMAGE_LEDOFF)) ; @@ -190,9 +193,23 @@ QString WebuiPage::helpText() const void WebuiPage::onEnableCBClicked(bool checked) { - ui.params_GB->setEnabled(checked); - ui.startWebBrowser_PB->setEnabled(checked); - QString S; + QString errmsg; + updateParams(errmsg); + + ui.params_GB->setEnabled(checked); + ui.startWebBrowser_PB->setEnabled(checked); + ui.apply_PB->setEnabled(checked); + + if(checked) + { + if(!restart()) + { + QMessageBox::warning(0, tr("failed to start Webinterface"), "Failed to start the webinterface."); + return; + } + } + else + checkShutdownWebui(); } void WebuiPage::onPortValueChanged(int /*value*/) @@ -211,16 +228,8 @@ void WebuiPage::onApplyClicked() QString errmsg; updateParams(errmsg); - if(ui.enableWebUI_CB->isChecked()) - { - if(!restart()) - { - QMessageBox::warning(0, tr("failed to start Webinterface"), "Failed to start the webinterface."); - return; - } - else - checkShutdownWebui(); - } + restart(); + load(); } From b606b26dd3c201ab15114bd9f589feaaa1c9a56c Mon Sep 17 00:00:00 2001 From: csoler Date: Fri, 15 Sep 2023 20:15:29 +0200 Subject: [PATCH 55/65] fixed double allocation of webui page --- retroshare-gui/src/gui/settings/rsettingswin.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/retroshare-gui/src/gui/settings/rsettingswin.cpp b/retroshare-gui/src/gui/settings/rsettingswin.cpp index e52ca1aed..1d3d4ecc3 100644 --- a/retroshare-gui/src/gui/settings/rsettingswin.cpp +++ b/retroshare-gui/src/gui/settings/rsettingswin.cpp @@ -178,8 +178,7 @@ SettingsPage::initStackedWidget() JsonApiPage *jsonapi_p = new JsonApiPage() ; addPage(jsonapi_p); #ifdef RS_WEBUI - WebuiPage *webui_p = new WebuiPage() ; - addPage(new WebuiPage() ); + addPage(new WebuiPage()); #endif #endif From 0e0430a222703c7746d2ed0114d7740dc694bbe3 Mon Sep 17 00:00:00 2001 From: csoler Date: Tue, 19 Sep 2023 15:08:52 +0200 Subject: [PATCH 56/65] added more debug info to comment tree widget --- retroshare-gui/src/gui/gxs/GxsCommentDialog.cpp | 7 +++++-- retroshare-gui/src/gui/gxs/GxsCommentTreeWidget.cpp | 3 +++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/retroshare-gui/src/gui/gxs/GxsCommentDialog.cpp b/retroshare-gui/src/gui/gxs/GxsCommentDialog.cpp index 4757b036e..1233b3100 100644 --- a/retroshare-gui/src/gui/gxs/GxsCommentDialog.cpp +++ b/retroshare-gui/src/gui/gxs/GxsCommentDialog.cpp @@ -29,6 +29,8 @@ #include #include +//#define DEBUG_COMMENT_DIALOG 1 + /** Constructor */ GxsCommentDialog::GxsCommentDialog(QWidget *parent, const RsGxsId &default_author, RsGxsCommentService *comment_service) : QWidget(parent), ui(new Ui::GxsCommentDialog) @@ -96,8 +98,9 @@ void GxsCommentDialog::commentClear() void GxsCommentDialog::commentLoad(const RsGxsGroupId &grpId, const std::set& msg_versions,const RsGxsMessageId& most_recent_msgId,bool use_cache) { #ifdef DEBUG_COMMENT_DIALOG - std::cerr << "GxsCommentDialog::commentLoad(" << grpId << ", most recent msg version: " << most_recent_msgId << ")"; - std::cerr << std::endl; + std::cerr << "GxsCommentDialog::commentLoad(" << grpId << ", most recent msg version: " << most_recent_msgId << ")" << std::endl; + for(const auto& mid:msg_versions) + std::cerr << " msg version: " << mid << std::endl; #endif mGrpId = grpId; diff --git a/retroshare-gui/src/gui/gxs/GxsCommentTreeWidget.cpp b/retroshare-gui/src/gui/gxs/GxsCommentTreeWidget.cpp index 517543b9a..6a7371384 100644 --- a/retroshare-gui/src/gui/gxs/GxsCommentTreeWidget.cpp +++ b/retroshare-gui/src/gui/gxs/GxsCommentTreeWidget.cpp @@ -73,6 +73,7 @@ std::map > GxsCommentTreeWidget::mComm QMutex GxsCommentTreeWidget::mCacheMutex; //#define USE_NEW_DELEGATE 1 +//#define DEBUG_GXSCOMMENT_TREEWIDGET 1 // This class allows to draw the item using an appropriate size @@ -508,6 +509,8 @@ void GxsCommentTreeWidget::service_requestComments(const RsGxsGroupId& group_id, /* request comments */ #ifdef DEBUG_GXSCOMMENT_TREEWIDGET std::cerr << "GxsCommentTreeWidget::service_requestComments for group " << group_id << std::endl; + for(const auto& mid:msgIds) + std::cerr << " including message " << mid << std::endl; #endif RsThread::async([this,group_id,msgIds]() From 11c07cd7c3aae4d50a2f488c3148fb6d2b49b7b5 Mon Sep 17 00:00:00 2001 From: csoler Date: Tue, 19 Sep 2023 15:10:29 +0200 Subject: [PATCH 57/65] moved endResetModel() call to the endof internal data update in RsFriendListModel --- retroshare-gui/src/gui/common/FriendListModel.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/retroshare-gui/src/gui/common/FriendListModel.cpp b/retroshare-gui/src/gui/common/FriendListModel.cpp index f8740466d..622ae3930 100644 --- a/retroshare-gui/src/gui/common/FriendListModel.cpp +++ b/retroshare-gui/src/gui/common/FriendListModel.cpp @@ -1145,8 +1145,6 @@ void RsFriendListModel::updateInternalData() mLocations.clear(); mTopLevel.clear(); - endResetModel(); - auto TL = mTopLevel ; // This allows to fill TL without touching mTopLevel outside of [begin/end]InsertRows(). // create a map of profiles and groups @@ -1282,7 +1280,8 @@ void RsFriendListModel::updateInternalData() endInsertRows(); } - postMods(); + endResetModel(); + postMods(); mLastInternalDataUpdate = time(NULL); } From 034bddf1efa62b60fc66fb27cf3358e5fa9c6413 Mon Sep 17 00:00:00 2001 From: csoler Date: Fri, 22 Sep 2023 22:50:45 +0200 Subject: [PATCH 58/65] made registered services list non editable --- retroshare-gui/src/gui/settings/JsonApiPage.cc | 1 + 1 file changed, 1 insertion(+) diff --git a/retroshare-gui/src/gui/settings/JsonApiPage.cc b/retroshare-gui/src/gui/settings/JsonApiPage.cc index 4e33c05e6..07e75032f 100644 --- a/retroshare-gui/src/gui/settings/JsonApiPage.cc +++ b/retroshare-gui/src/gui/settings/JsonApiPage.cc @@ -60,6 +60,7 @@ JsonApiPage::JsonApiPage(QWidget */*parent*/, Qt::WindowFlags /*flags*/) QRegExpValidator *ipValidator = new QRegExpValidator(ipRegex, this); ui.listenAddressLineEdit->setValidator(ipValidator); + ui.providersListView->setSelectionMode(QAbstractItemView::NoSelection); // prevents edition. mEventHandlerId = 0; From 41069a0fa5b1200c055b0ca38c36415c4a0b0b08 Mon Sep 17 00:00:00 2001 From: csoler Date: Sat, 23 Sep 2023 17:31:24 +0200 Subject: [PATCH 59/65] added missing removal of event handler in jsonapi and webui settings --- retroshare-gui/src/gui/settings/JsonApiPage.cc | 4 ++++ retroshare-gui/src/gui/settings/JsonApiPage.h | 2 +- retroshare-gui/src/gui/settings/WebuiPage.cpp | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/retroshare-gui/src/gui/settings/JsonApiPage.cc b/retroshare-gui/src/gui/settings/JsonApiPage.cc index 07e75032f..67e5f22b8 100644 --- a/retroshare-gui/src/gui/settings/JsonApiPage.cc +++ b/retroshare-gui/src/gui/settings/JsonApiPage.cc @@ -72,6 +72,10 @@ JsonApiPage::JsonApiPage(QWidget */*parent*/, Qt::WindowFlags /*flags*/) mEventHandlerId, RsEventType::JSON_API ); } +JsonApiPage::~JsonApiPage() +{ + rsEvents->unregisterEventsHandler(mEventHandlerId); +} QString JsonApiPage::helpText() const { return tr("

  Webinterface

\ diff --git a/retroshare-gui/src/gui/settings/JsonApiPage.h b/retroshare-gui/src/gui/settings/JsonApiPage.h index f06340d1a..ef28a4294 100644 --- a/retroshare-gui/src/gui/settings/JsonApiPage.h +++ b/retroshare-gui/src/gui/settings/JsonApiPage.h @@ -33,7 +33,7 @@ class JsonApiPage : public ConfigPage public: JsonApiPage(QWidget * parent = nullptr, Qt::WindowFlags flags = 0); - ~JsonApiPage() override = default; + ~JsonApiPage() override ; virtual QPixmap iconPixmap() const override { diff --git a/retroshare-gui/src/gui/settings/WebuiPage.cpp b/retroshare-gui/src/gui/settings/WebuiPage.cpp index 893fd87e2..d7ff0b894 100644 --- a/retroshare-gui/src/gui/settings/WebuiPage.cpp +++ b/retroshare-gui/src/gui/settings/WebuiPage.cpp @@ -66,7 +66,7 @@ WebuiPage::WebuiPage(QWidget */*parent*/, Qt::WindowFlags /*flags*/) WebuiPage::~WebuiPage() { - + rsEvents->unregisterEventsHandler(mEventsHandlerId); } void WebuiPage::selectWebInterfaceDirectory() From a99f686fd1df1b8e7801fcdd5e6fe8979a9df0cf Mon Sep 17 00:00:00 2001 From: csoler Date: Sat, 23 Sep 2023 17:53:12 +0200 Subject: [PATCH 60/65] restricted SPAM/STAR/TAGS to inbox, and made msg summary list refer to current box only --- retroshare-gui/src/gui/msgs/MessageModel.cpp | 4 ++++ retroshare-gui/src/gui/msgs/MessageModel.h | 1 + retroshare-gui/src/gui/msgs/MessagesDialog.cpp | 8 ++++---- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/retroshare-gui/src/gui/msgs/MessageModel.cpp b/retroshare-gui/src/gui/msgs/MessageModel.cpp index 09508cad6..6116e42b4 100644 --- a/retroshare-gui/src/gui/msgs/MessageModel.cpp +++ b/retroshare-gui/src/gui/msgs/MessageModel.cpp @@ -690,6 +690,10 @@ void RsMessageModel::setCurrentBox(Rs::Msgs::BoxName bn) } } +Rs::Msgs::BoxName RsMessageModel::currentBox() const +{ + return mCurrentBox; +} void RsMessageModel::setQuickViewFilter(QuickViewFilter fn) { if(fn != mQuickViewFilter) diff --git a/retroshare-gui/src/gui/msgs/MessageModel.h b/retroshare-gui/src/gui/msgs/MessageModel.h index fb8c6daa5..d23b21f86 100644 --- a/retroshare-gui/src/gui/msgs/MessageModel.h +++ b/retroshare-gui/src/gui/msgs/MessageModel.h @@ -100,6 +100,7 @@ public: // This method will asynchroneously update the data void setCurrentBox(Rs::Msgs::BoxName bn) ; + Rs::Msgs::BoxName currentBox() const ; void setQuickViewFilter(QuickViewFilter fn) ; void setFilter(FilterType filter_type, const QStringList& strings) ; diff --git a/retroshare-gui/src/gui/msgs/MessagesDialog.cpp b/retroshare-gui/src/gui/msgs/MessagesDialog.cpp index de91df5ff..be9eedf6b 100644 --- a/retroshare-gui/src/gui/msgs/MessagesDialog.cpp +++ b/retroshare-gui/src/gui/msgs/MessagesDialog.cpp @@ -925,9 +925,9 @@ void MessagesDialog::changeBox(int box_row) ui.messageTreeWidget->setPlaceholderText(placeholderText); ui.messageTreeWidget->setColumnHidden(RsMessageModel::COLUMN_THREAD_READ,box_row!=ROW_INBOX); - ui.messageTreeWidget->setColumnHidden(RsMessageModel::COLUMN_THREAD_STAR,box_row==ROW_OUTBOX); - ui.messageTreeWidget->setColumnHidden(RsMessageModel::COLUMN_THREAD_SPAM,box_row==ROW_OUTBOX); - ui.messageTreeWidget->setColumnHidden(RsMessageModel::COLUMN_THREAD_TAGS,box_row==ROW_OUTBOX); + ui.messageTreeWidget->setColumnHidden(RsMessageModel::COLUMN_THREAD_STAR,box_row!=ROW_INBOX); + ui.messageTreeWidget->setColumnHidden(RsMessageModel::COLUMN_THREAD_SPAM,box_row!=ROW_INBOX); + ui.messageTreeWidget->setColumnHidden(RsMessageModel::COLUMN_THREAD_TAGS,box_row!=ROW_INBOX); ui.messageTreeWidget->setColumnHidden(RsMessageModel::COLUMN_THREAD_MSGID,true); ui.messageTreeWidget->setColumnHidden(RsMessageModel::COLUMN_THREAD_CONTENT,true); } @@ -1296,7 +1296,7 @@ void MessagesDialog::updateMessageSummaryList() /* calculating the new messages */ std::list msgList; - rsMail->getMessageSummaries(Rs::Msgs::BoxName::BOX_ALL,msgList); + rsMail->getMessageSummaries(mMessageModel->currentBox(),msgList); QMap tagCount; From 606baf6f3ed11ed78002d47f33234197850438fa Mon Sep 17 00:00:00 2001 From: csoler Date: Sun, 8 Oct 2023 23:49:16 +0200 Subject: [PATCH 61/65] updated webui, libbitdht and libretroshare to latest submodule commit --- .gitmodules | 4 ++-- libbitdht | 2 +- libretroshare | 2 +- retroshare-webui | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.gitmodules b/.gitmodules index 3c767cf19..84d326387 100644 --- a/.gitmodules +++ b/.gitmodules @@ -30,8 +30,8 @@ branch = master [submodule "libretroshare"] path = libretroshare - url = ../libretroshare + url = https://github.com/RetroShare/libretroshare.git branch = master [submodule "retroshare-webui"] path = retroshare-webui - url = ../RSNewWebUI + url = https://github.com/RetroShare/RSNewWebUI.git diff --git a/libbitdht b/libbitdht index 659423769..2ddc86fb5 160000 --- a/libbitdht +++ b/libbitdht @@ -1 +1 @@ -Subproject commit 659423769541169457c41f71c8a038e2d64ba079 +Subproject commit 2ddc86fb575a61170f4c06a00152e3e7dc74c8f4 diff --git a/libretroshare b/libretroshare index 8c02b54e4..a54563935 160000 --- a/libretroshare +++ b/libretroshare @@ -1 +1 @@ -Subproject commit 8c02b54e4d16e38b28e77263a0b1570c50df4c99 +Subproject commit a545639352ceb0350041b2889dd2ae74574a402f diff --git a/retroshare-webui b/retroshare-webui index b0ddb0918..542a8c07b 160000 --- a/retroshare-webui +++ b/retroshare-webui @@ -1 +1 @@ -Subproject commit b0ddb09184e8fff86bd3325e00c6d4b329ae1790 +Subproject commit 542a8c07bd02f9bb9082f7aba5aaaed54e643fc1 From 7a873c3b534adb897fe7a4e7a81f7439fedc87ca Mon Sep 17 00:00:00 2001 From: csoler Date: Thu, 12 Oct 2023 20:18:21 +0200 Subject: [PATCH 62/65] fixed compilation on ubuntu 18.04 --- .../src/gui/gxschannels/GxsChannelPostsWidgetWithModel.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/retroshare-gui/src/gui/gxschannels/GxsChannelPostsWidgetWithModel.cpp b/retroshare-gui/src/gui/gxschannels/GxsChannelPostsWidgetWithModel.cpp index ea27be6f9..2e292444e 100644 --- a/retroshare-gui/src/gui/gxschannels/GxsChannelPostsWidgetWithModel.cpp +++ b/retroshare-gui/src/gui/gxschannels/GxsChannelPostsWidgetWithModel.cpp @@ -514,13 +514,13 @@ void GxsChannelPostsWidgetWithModel::keyPressEvent(QKeyEvent *e) if(e->key() == Qt::Key_Left && index.column()==0) { - ui->postsTree->setCurrentIndex(index.siblingAtColumn(n)); + ui->postsTree->setCurrentIndex(index.sibling(index.row(),n)); e->accept(); return; } if(e->key() == Qt::Key_Right && index.column()==n) { - ui->postsTree->setCurrentIndex(index.siblingAtColumn(0)); + ui->postsTree->setCurrentIndex(index.sibling(index.row(),0)); e->accept(); return; } From d83709d51997760d237d8c0c426f5b599763b34b Mon Sep 17 00:00:00 2001 From: csoler Date: Thu, 12 Oct 2023 20:18:36 +0200 Subject: [PATCH 63/65] fixed implicit type warning --- retroshare-gui/src/gui/msgs/MessageComposer.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/retroshare-gui/src/gui/msgs/MessageComposer.h b/retroshare-gui/src/gui/msgs/MessageComposer.h index 0df2dbd8e..040681095 100644 --- a/retroshare-gui/src/gui/msgs/MessageComposer.h +++ b/retroshare-gui/src/gui/msgs/MessageComposer.h @@ -255,7 +255,7 @@ private: QList tagLabels; // needed to send system flags with reply - unsigned msgFlags; + unsigned int msgFlags; RSTreeWidgetItemCompareRole *m_compareRole; QCompleter *m_completer; From d8bca5c56db4f58b8afe486fde87fde97bef1102 Mon Sep 17 00:00:00 2001 From: csoler Date: Thu, 12 Oct 2023 20:18:53 +0200 Subject: [PATCH 64/65] removed some debug output --- retroshare-gui/src/gui/gxs/GxsCommentTreeWidget.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/retroshare-gui/src/gui/gxs/GxsCommentTreeWidget.cpp b/retroshare-gui/src/gui/gxs/GxsCommentTreeWidget.cpp index 517543b9a..4de6e8675 100644 --- a/retroshare-gui/src/gui/gxs/GxsCommentTreeWidget.cpp +++ b/retroshare-gui/src/gui/gxs/GxsCommentTreeWidget.cpp @@ -42,6 +42,8 @@ #include +//#define DEBUG_COMMENT_TREE_WIDGET + #define PCITEM_COLUMN_COMMENT 0 #define PCITEM_COLUMN_AUTHOR 1 #define PCITEM_COLUMN_DATE 2 @@ -765,8 +767,10 @@ void GxsCommentTreeWidget::insertComments(const std::vector& comme new_comments.push_back(comment.mMeta.mMsgId); /* convert to a QTreeWidgetItem */ +#ifdef DEBUG_COMMENT_TREE_WIDGET std::cerr << "GxsCommentTreeWidget::service_loadThread() Got Comment: " << comment.mMeta.mMsgId; std::cerr << std::endl; +#endif GxsIdRSTreeWidgetItem *item = new GxsIdRSTreeWidgetItem(NULL,GxsIdDetails::ICON_TYPE_AVATAR) ; QString text; From 5db6eb0359a190838b08fd85256bfc36f1c8b66c Mon Sep 17 00:00:00 2001 From: csoler Date: Thu, 12 Oct 2023 21:03:00 +0200 Subject: [PATCH 65/65] updated retroshare base dir to latest version of libretroshare --- libretroshare | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libretroshare b/libretroshare index a54563935..3bb5a2b28 160000 --- a/libretroshare +++ b/libretroshare @@ -1 +1 @@ -Subproject commit a545639352ceb0350041b2889dd2ae74574a402f +Subproject commit 3bb5a2b282949bc170dcff6141424cb095e4bb7b