Merge pull request #1811 from defnax/small-fixes-for-wiki-&-photos

Small fixes for wiki
This commit is contained in:
csoler 2020-02-25 22:23:20 +01:00 committed by GitHub
commit 9b452774ac
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 52 additions and 26 deletions

View File

@ -28,7 +28,7 @@
#include "WikiDialog.h" #include "WikiDialog.h"
#include "gui/WikiPoos/WikiAddDialog.h" #include "gui/WikiPoos/WikiAddDialog.h"
#include "gui/WikiPoos/WikiEditDialog.h" #include "gui/WikiPoos/WikiEditDialog.h"
#include "gui/settings/rsharesettings.h"
#include "gui/gxs/WikiGroupDialog.h" #include "gui/gxs/WikiGroupDialog.h"
#include <retroshare/rswiki.h> #include <retroshare/rswiki.h>
@ -105,6 +105,9 @@ WikiDialog::WikiDialog(QWidget *parent) : RsGxsUpdateBroadcastPage(rsWiki, paren
/* setup TokenQueue */ /* setup TokenQueue */
mWikiQueue = new TokenQueue(rsWiki->getTokenService(), this); mWikiQueue = new TokenQueue(rsWiki->getTokenService(), this);
// Set initial size of the splitter
ui.listSplitter->setStretchFactor(0, 0);
ui.listSplitter->setStretchFactor(1, 1);
/* Setup Group Tree */ /* Setup Group Tree */
mYourGroups = ui.groupTreeWidget->addCategoryItem(tr("My Groups"), QIcon(), true); mYourGroups = ui.groupTreeWidget->addCategoryItem(tr("My Groups"), QIcon(), true);
@ -112,13 +115,37 @@ WikiDialog::WikiDialog(QWidget *parent) : RsGxsUpdateBroadcastPage(rsWiki, paren
mPopularGroups = ui.groupTreeWidget->addCategoryItem(tr("Popular Groups"), QIcon(), false); mPopularGroups = ui.groupTreeWidget->addCategoryItem(tr("Popular Groups"), QIcon(), false);
mOtherGroups = ui.groupTreeWidget->addCategoryItem(tr("Other Groups"), QIcon(), false); mOtherGroups = ui.groupTreeWidget->addCategoryItem(tr("Other Groups"), QIcon(), false);
// load settings
processSettings(true);
} }
WikiDialog::~WikiDialog() WikiDialog::~WikiDialog()
{ {
// save settings
processSettings(false);
delete(mWikiQueue); delete(mWikiQueue);
} }
void WikiDialog::processSettings(bool load)
{
Settings->beginGroup("WikiDialog");
if (load) {
// load settings
// state of splitter
ui.listSplitter->restoreState(Settings->value("SplitterList").toByteArray());
} else {
// save settings
// state of splitter
Settings->setValue("SplitterList", ui.listSplitter->saveState());
}
Settings->endGroup();
}
void WikiDialog::OpenOrShowAddPageDialog() void WikiDialog::OpenOrShowAddPageDialog()
{ {
RsGxsGroupId groupId = getSelectedGroup(); RsGxsGroupId groupId = getSelectedGroup();

View File

@ -44,7 +44,7 @@ class WikiDialog : public RsGxsUpdateBroadcastPage, public TokenResponse
public: public:
WikiDialog(QWidget *parent = 0); WikiDialog(QWidget *parent = 0);
~WikiDialog(); ~WikiDialog();
virtual QIcon iconPixmap() const { return QIcon(IMAGE_WIKI) ; } //MainPage virtual QIcon iconPixmap() const { return QIcon(IMAGE_WIKI) ; } //MainPage
virtual QString pageName() const { return tr("Wiki Pages") ; } //MainPage virtual QString pageName() const { return tr("Wiki Pages") ; } //MainPage
virtual QString helpText() const { return ""; } //MainPage virtual QString helpText() const { return ""; } //MainPage
@ -69,39 +69,38 @@ private slots:
// GroupTreeWidget stuff. // GroupTreeWidget stuff.
void groupListCustomPopupMenu(QPoint point); void groupListCustomPopupMenu(QPoint point);
void subscribeToGroup(); void subscribeToGroup();
void unsubscribeToGroup(); void unsubscribeToGroup();
void wikiGroupChanged(const QString &groupId); void wikiGroupChanged(const QString &groupId);
void todo(); void todo();
private: private:
void clearWikiPage(); void clearWikiPage();
void clearGroupTree(); void clearGroupTree();
void updateWikiPage(const RsWikiSnapshot &page); void updateWikiPage(const RsWikiSnapshot &page);
bool getSelectedPage(RsGxsGroupId &groupId, RsGxsMessageId &pageId, RsGxsMessageId &origPageId); bool getSelectedPage(RsGxsGroupId &groupId, RsGxsMessageId &pageId, RsGxsMessageId &origPageId);
std::string getSelectedPage(); std::string getSelectedPage();
const RsGxsGroupId &getSelectedGroup(); const RsGxsGroupId &getSelectedGroup();
// Using GroupTreeWidget.
void wikiSubscribe(bool subscribe);
void GroupMetaDataToGroupItemInfo(const RsGroupMetaData &groupInfo, GroupItemInfo &groupItemInfo);
void insertGroupsData(const std::list<RsGroupMetaData> &wikiList);
// Using GroupTreeWidget. void processSettings(bool load);
void wikiSubscribe(bool subscribe);
void GroupMetaDataToGroupItemInfo(const RsGroupMetaData &groupInfo, GroupItemInfo &groupItemInfo);
void insertGroupsData(const std::list<RsGroupMetaData> &wikiList);
void requestGroupMeta();
void loadGroupMeta(const uint32_t &token);
void requestGroupMeta(); void requestPages(const std::list<RsGxsGroupId> &groupIds);
void loadGroupMeta(const uint32_t &token); void loadPages(const uint32_t &token);
void requestPages(const std::list<RsGxsGroupId> &groupIds);
void loadPages(const uint32_t &token);
void requestWikiPage(const RsGxsGrpMsgIdPair &msgId);
void loadWikiPage(const uint32_t &token);
void requestWikiPage(const RsGxsGrpMsgIdPair &msgId);
void loadWikiPage(const uint32_t &token);
TokenQueue *mWikiQueue; TokenQueue *mWikiQueue;
@ -110,7 +109,7 @@ void loadWikiPage(const uint32_t &token);
WikiEditDialog *mEditDialog; WikiEditDialog *mEditDialog;
std::string mGroupSelected; std::string mGroupSelected;
RsGxsMessageId mPageSelected; RsGxsMessageId mPageSelected;
std::string mModSelected; std::string mModSelected;
@ -118,7 +117,7 @@ void loadWikiPage(const uint32_t &token);
QTreeWidgetItem *mSubscribedGroups; QTreeWidgetItem *mSubscribedGroups;
QTreeWidgetItem *mPopularGroups; QTreeWidgetItem *mPopularGroups;
QTreeWidgetItem *mOtherGroups; QTreeWidgetItem *mOtherGroups;
RsGxsGroupId mGroupId; // From GroupTreeWidget RsGxsGroupId mGroupId; // From GroupTreeWidget
/* UI - from Designer */ /* UI - from Designer */
Ui::WikiDialog ui; Ui::WikiDialog ui;

View File

@ -27,7 +27,7 @@
<number>0</number> <number>0</number>
</property> </property>
<item> <item>
<widget class="QSplitter" name="splitter"> <widget class="QSplitter" name="listSplitter">
<property name="orientation"> <property name="orientation">
<enum>Qt::Horizontal</enum> <enum>Qt::Horizontal</enum>
</property> </property>