mirror of
https://github.com/RetroShare/RetroShare.git
synced 2024-12-28 00:49:28 -05:00
added help system to the MainPage class. Each page can now derive its own help string and show it using a two-states help button. To try it, I have implemented it on the NewsFeed page
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6514 b45a01b8-16f6-495d-af2f-9b41ad6348cc
This commit is contained in:
parent
7c6a7edfde
commit
a07e8d889a
35
retroshare-gui/src/gui/MainPage.cpp
Normal file
35
retroshare-gui/src/gui/MainPage.cpp
Normal file
@ -0,0 +1,35 @@
|
||||
#include <iostream>
|
||||
#include <retroshare-gui/mainpage.h>
|
||||
#include <QGraphicsBlurEffect>
|
||||
#include <QGraphicsDropShadowEffect>
|
||||
|
||||
MainPage::MainPage(QWidget *parent , Qt::WindowFlags flags ) : QWidget(parent, flags)
|
||||
{
|
||||
help_browser = NULL ;
|
||||
}
|
||||
|
||||
|
||||
void MainPage::showHelp(bool b)
|
||||
{
|
||||
if(help_browser == NULL)
|
||||
{
|
||||
help_browser = new QTextBrowser(this) ;
|
||||
help_browser->setHtml(helpHtmlText()) ;
|
||||
|
||||
QGraphicsDropShadowEffect * effect = new QGraphicsDropShadowEffect(help_browser) ;
|
||||
effect->setBlurRadius(30.0);
|
||||
help_browser->setGraphicsEffect(effect);
|
||||
|
||||
help_browser->setSizePolicy(QSizePolicy(QSizePolicy::Minimum,QSizePolicy::Minimum)) ;
|
||||
help_browser->resize(size()*0.5) ;
|
||||
help_browser->move(width()/2 - help_browser->width()/2,height()/2 - help_browser->height()/2);
|
||||
help_browser->update() ;
|
||||
}
|
||||
std::cerr << "Toggling help to " << b << std::endl;
|
||||
if(b)
|
||||
help_browser->show() ;
|
||||
else
|
||||
help_browser->hide() ;
|
||||
}
|
||||
|
||||
|
@ -84,6 +84,7 @@ NewsFeed::NewsFeed(QWidget *parent)
|
||||
|
||||
connect(removeAllButton, SIGNAL(clicked()), this, SLOT(removeAll()));
|
||||
connect(feedOptionsButton, SIGNAL(clicked()), this, SLOT(feedoptions()));
|
||||
connect(helpButton, SIGNAL(toggled(bool)), (MainPage*)this, SLOT(showHelp(bool)));
|
||||
}
|
||||
|
||||
NewsFeed::~NewsFeed()
|
||||
@ -93,6 +94,25 @@ NewsFeed::~NewsFeed()
|
||||
}
|
||||
}
|
||||
|
||||
const QString& NewsFeed::helpHtmlText() const
|
||||
{
|
||||
static const QString str = tr(
|
||||
" <h1><img width=\"32\" src=\":/images/64px_help.png\"> News Feed</h1> \
|
||||
<p>The News Feed displays the last events on your network, sorted by the time you received them. \
|
||||
This gives you a summary of the activity of your friends. \
|
||||
You can configure which events to show by pressing on <b>Options</b>. </p> \
|
||||
<p>The various events shown are: \
|
||||
<ul> \
|
||||
<li>Connection attempts (useful to make friends with new people and control who's trying to reach you)</li> \
|
||||
<li>Channel and Forum posts</li> \
|
||||
<li>New Channels and Forums you can subscribe to</li> \
|
||||
<li>Private messages from your friends</li> \
|
||||
</ul> </p> \
|
||||
") ;
|
||||
|
||||
return str ;
|
||||
}
|
||||
|
||||
UserNotify *NewsFeed::getUserNotify(QObject *parent)
|
||||
{
|
||||
return new NewsFeedUserNotify(this, parent);
|
||||
|
@ -52,6 +52,8 @@ public:
|
||||
virtual void openChat(std::string peerId);
|
||||
virtual void openComments(uint32_t type, const RsGxsGroupId &groupId, const RsGxsMessageId &msgId, const QString &title);
|
||||
|
||||
virtual const QString& helpHtmlText() const ;
|
||||
|
||||
static void testFeeds(uint notifyFlags);
|
||||
static void testFeed(FeedNotify *feedNotify);
|
||||
|
||||
|
@ -97,6 +97,29 @@
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QPushButton" name="helpButton">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Maximum" vsizetype="Fixed">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset resource="images.qrc">
|
||||
<normaloff>:/images/64px_help.png</normaloff>:/images/64px_help.png</iconset>
|
||||
</property>
|
||||
<property name="checkable">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="flat">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
|
@ -10,6 +10,7 @@
|
||||
<file>images/help/addafriend.png</file>
|
||||
<file>images/help/addfriendkey.png</file>
|
||||
<file>images/help/dhtgreen.png</file>
|
||||
<file>images/64px_help.png</file>
|
||||
<file>images/help/natgreen.png</file>
|
||||
<file>images/help/natred.png</file>
|
||||
<file>images/attach.png</file>
|
||||
|
BIN
retroshare-gui/src/gui/images/64px_help.png
Normal file
BIN
retroshare-gui/src/gui/images/64px_help.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 6.6 KiB |
@ -623,6 +623,7 @@ SOURCES += main.cpp \
|
||||
gui/FileTransfer/TurtleRouterStatistics.cpp \
|
||||
gui/FileTransfer/DetailsDialog.cpp \
|
||||
gui/FileTransfer/TransferUserNotify.cpp \
|
||||
gui/MainPage.cpp \
|
||||
gui/HelpDialog.cpp \
|
||||
gui/LogoBar.cpp \
|
||||
lang/languagesupport.cpp \
|
||||
|
@ -24,17 +24,31 @@
|
||||
#define _MAINPAGE_H
|
||||
|
||||
#include <QWidget>
|
||||
#include <QTextBrowser>
|
||||
|
||||
class UserNotify;
|
||||
|
||||
class MainPage : public QWidget
|
||||
{
|
||||
public:
|
||||
/** Default Constructor */
|
||||
MainPage(QWidget *parent = 0, Qt::WindowFlags flags = 0) : QWidget(parent, flags) {}
|
||||
Q_OBJECT
|
||||
|
||||
virtual void retranslateUi() {}
|
||||
virtual UserNotify *getUserNotify(QObject */*parent*/) { return NULL; }
|
||||
public:
|
||||
/** Default Constructor */
|
||||
MainPage(QWidget *parent = 0, Qt::WindowFlags flags = 0) ;
|
||||
|
||||
virtual void retranslateUi() {}
|
||||
virtual UserNotify *getUserNotify(QObject */*parent*/) { return NULL; }
|
||||
|
||||
// Overload this to add some help info to the page. The way the info is
|
||||
// shown is handled by showHelp() below;
|
||||
//
|
||||
virtual const QString& helpHtmlText() const { static QString s ; return s ; }
|
||||
|
||||
public slots:
|
||||
void showHelp(bool b) ;
|
||||
|
||||
private:
|
||||
QTextBrowser *help_browser ;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
Loading…
Reference in New Issue
Block a user