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 "gui/WikiPoos/WikiAddDialog.h"
#include "gui/WikiPoos/WikiEditDialog.h"
#include "gui/settings/rsharesettings.h"
#include "gui/gxs/WikiGroupDialog.h"
#include <retroshare/rswiki.h>
@ -105,6 +105,9 @@ WikiDialog::WikiDialog(QWidget *parent) : RsGxsUpdateBroadcastPage(rsWiki, paren
/* setup TokenQueue */
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 */
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);
mOtherGroups = ui.groupTreeWidget->addCategoryItem(tr("Other Groups"), QIcon(), false);
// load settings
processSettings(true);
}
WikiDialog::~WikiDialog()
{
// save settings
processSettings(false);
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()
{
RsGxsGroupId groupId = getSelectedGroup();

View File

@ -77,31 +77,30 @@ private slots:
private:
void clearWikiPage();
void clearGroupTree();
void clearWikiPage();
void clearGroupTree();
void updateWikiPage(const RsWikiSnapshot &page);
bool getSelectedPage(RsGxsGroupId &groupId, RsGxsMessageId &pageId, RsGxsMessageId &origPageId);
std::string getSelectedPage();
const RsGxsGroupId &getSelectedGroup();
void updateWikiPage(const RsWikiSnapshot &page);
bool getSelectedPage(RsGxsGroupId &groupId, RsGxsMessageId &pageId, RsGxsMessageId &origPageId);
std::string getSelectedPage();
const RsGxsGroupId &getSelectedGroup();
// Using GroupTreeWidget.
void wikiSubscribe(bool subscribe);
void GroupMetaDataToGroupItemInfo(const RsGroupMetaData &groupInfo, GroupItemInfo &groupItemInfo);
void insertGroupsData(const std::list<RsGroupMetaData> &wikiList);
void wikiSubscribe(bool subscribe);
void GroupMetaDataToGroupItemInfo(const RsGroupMetaData &groupInfo, GroupItemInfo &groupItemInfo);
void insertGroupsData(const std::list<RsGroupMetaData> &wikiList);
void processSettings(bool load);
void requestGroupMeta();
void loadGroupMeta(const uint32_t &token);
void requestGroupMeta();
void loadGroupMeta(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 requestPages(const std::list<RsGxsGroupId> &groupIds);
void loadPages(const uint32_t &token);
void requestWikiPage(const RsGxsGrpMsgIdPair &msgId);
void loadWikiPage(const uint32_t &token);
TokenQueue *mWikiQueue;

View File

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