Moved help browser from MainPage to a new base class named FloatingHelpBrowser for global usage.

Added FloatingHelpBrowser to the option window (help text not including).
The help text can be specified for the ConfigPages in the method "helpText".

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6818 b45a01b8-16f6-495d-af2f-9b41ad6348cc
This commit is contained in:
thunder2 2013-10-09 09:31:40 +00:00
parent fa6bc5fe39
commit a50c899ff3
24 changed files with 225 additions and 67 deletions

View file

@ -40,6 +40,7 @@ public:
virtual QPixmap iconPixmap() const { return QPixmap(":/images/looknfeel.png") ; }
virtual QString pageName() const { return tr("Appearance") ; }
virtual QString helpText() const { return ""; }
private slots:
void loadStyleSheet(int index);

View file

@ -42,6 +42,7 @@ class ChatPage : public ConfigPage
virtual QPixmap iconPixmap() const { return QPixmap(":/images/chat_24.png") ; }
virtual QString pageName() const { return tr("Chat") ; }
virtual QString helpText() const { return ""; }
private slots:
void on_historyComboBoxVariant_currentIndexChanged(int index);
@ -80,4 +81,3 @@ class ChatPage : public ConfigPage
};
#endif

View file

@ -41,6 +41,7 @@ class CryptoPage : public ConfigPage
virtual QPixmap iconPixmap() const { return QPixmap(":/images/encrypted32.png") ; }
virtual QString pageName() const { return tr("Profile") ; }
virtual QString helpText() const { return ""; }
private slots:
virtual void load();

View file

@ -39,6 +39,7 @@ public:
virtual QPixmap iconPixmap() const { return QPixmap(":/images/folder_doments.png") ; }
virtual QString pageName() const { return tr("Directories") ; }
virtual QString helpText() const { return ""; }
private slots:
void editDirectories() ;

View file

@ -40,6 +40,7 @@ public:
virtual QPixmap iconPixmap() const { return QPixmap(":/images/konversation.png") ; }
virtual QString pageName() const { return tr("Forum") ; }
virtual QString helpText() const { return ""; }
private:
Ui::ForumPage ui;

View file

@ -43,6 +43,7 @@ public:
virtual QPixmap iconPixmap() const { return QPixmap(":/images/kcmsystem24.png") ; }
virtual QString pageName() const { return tr("General") ; }
virtual QString helpText() const { return ""; }
public slots:
void runStartWizard() ;

View file

@ -44,6 +44,7 @@ public:
virtual QPixmap iconPixmap() const { return QPixmap(":/images/evolution.png") ; }
virtual QString pageName() const { return tr("Message") ; }
virtual QString helpText() const { return ""; }
private slots:

View file

@ -69,6 +69,7 @@ public:
virtual QPixmap iconPixmap() const { return QPixmap(":/images/status_unknown.png") ; }
virtual QString pageName() const { return tr("Notify") ; }
virtual QString helpText() const { return ""; }
private slots:
void notifyToggled();

View file

@ -39,6 +39,7 @@ class PluginsPage : public ConfigPage
virtual QPixmap iconPixmap() const { return QPixmap(":/images/extension_32.png") ; }
virtual QString pageName() const { return tr("Plugins") ; }
virtual QString helpText() const { return ""; }
public slots:

View file

@ -42,6 +42,7 @@ class RelayPage: public ConfigPage
virtual QPixmap iconPixmap() const { return QPixmap(":/images/server_24x24.png") ; }
virtual QString pageName() const { return tr("Relay") ; }
virtual QString helpText() const { return ""; }
public slots:
void updateRelayOptions();

View file

@ -42,6 +42,7 @@ public:
virtual QPixmap iconPixmap() const { return QPixmap(":/images/server_24x24.png") ; }
virtual QString pageName() const { return tr("Server") ; }
virtual QString helpText() const { return ""; }
public slots:
void updateStatus();

View file

@ -45,6 +45,7 @@ public:
virtual QPixmap iconPixmap() const { return QPixmap(":/images/sound.png") ; }
virtual QString pageName() const { return tr("Sound") ; }
virtual QString helpText() const { return ""; }
private slots:
void eventChanged(QTreeWidgetItem *current, QTreeWidgetItem *previous);

View file

@ -42,6 +42,7 @@ class TransferPage: public ConfigPage
virtual QPixmap iconPixmap() const { return QPixmap(":/images/ktorrent32.png") ; }
virtual QString pageName() const { return tr("Transfer") ; }
virtual QString helpText() const { return ""; }
public slots:
void updateQueueSize(int) ;

View file

@ -40,6 +40,7 @@
#include "PluginsPage.h"
#include "rsharesettings.h"
#include "gui/notifyqt.h"
#include "gui/common/FloatingHelpBrowser.h"
#define IMAGE_GENERAL ":/images/kcmsystem24.png"
@ -55,6 +56,9 @@ RSettingsWin::RSettingsWin(QWidget *parent)
setAttribute(Qt::WA_DeleteOnClose, true);
setModal(false);
/* Initialize help browser */
mHelpBrowser = new FloatingHelpBrowser(this, helpButton);
initStackedWidget();
connect(listWidget, SIGNAL(currentRowChanged(int)), this, SLOT(setNewPage(int)));
@ -160,9 +164,12 @@ RSettingsWin::setNewPage(int page)
{
ConfigPage *pagew = dynamic_cast<ConfigPage*>(stackedWidget->widget(page)) ;
mHelpBrowser->hide();
if(pagew == NULL)
{
std::cerr << "Error in RSettingsWin::setNewPage(): widget is not a ConfigPage!" << std::endl;
mHelpBrowser->clear();
return ;
}
pageName->setText(pagew->pageName());
@ -170,6 +177,8 @@ RSettingsWin::setNewPage(int page)
stackedWidget->setCurrentIndex(page);
listWidget->setCurrentRow(page);
mHelpBrowser->setHelpText(pagew->helpText());
}
/** Saves changes made to settings. */

View file

@ -26,6 +26,8 @@
#include <retroshare-gui/configpage.h>
#include "ui_settings.h"
class FloatingHelpBrowser;
class RSettingsWin: public QDialog, private Ui::Settings
{
Q_OBJECT
@ -56,6 +58,7 @@ private:
void initStackedWidget();
private:
FloatingHelpBrowser *mHelpBrowser;
static RSettingsWin *_instance;
static int lastPage;
};

View file

@ -84,19 +84,6 @@
</item>
<item row="0" column="1">
<layout class="QGridLayout" name="gridLayout">
<item row="0" column="0">
<widget class="QLabel" name="pageicon">
<property name="maximumSize">
<size>
<width>24</width>
<height>24</height>
</size>
</property>
<property name="scaledContents">
<bool>true</bool>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLabel" name="pageName">
<property name="sizePolicy">
@ -117,7 +104,37 @@
</property>
</widget>
</item>
<item row="1" column="0" colspan="2">
<item row="0" column="0">
<widget class="QLabel" name="pageicon">
<property name="maximumSize">
<size>
<width>24</width>
<height>24</height>
</size>
</property>
<property name="scaledContents">
<bool>true</bool>
</property>
</widget>
</item>
<item row="0" column="2">
<widget class="QToolButton" name="helpButton">
<property name="focusPolicy">
<enum>Qt::NoFocus</enum>
</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="autoRaise">
<bool>true</bool>
</property>
</widget>
</item>
<item row="1" column="0" colspan="3">
<widget class="Line" name="line_2">
<property name="orientation">
<enum>Qt::Horizontal</enum>