Remorked GUI layout a little bit:

- made all pages have a bar with full width
- added help button to each of them (needs adding text)
- improved help system so that it's easy to register a new help button
FriendsDialog still needs some cleaning.


git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@6518 b45a01b8-16f6-495d-af2f-9b41ad6348cc
This commit is contained in:
csoler 2013-07-19 12:18:58 +00:00
parent 9c40fb878f
commit d7e25e24e5
13 changed files with 848 additions and 714 deletions

View File

@ -10,28 +10,15 @@
<height>476</height> <height>476</height>
</rect> </rect>
</property> </property>
<layout class="QGridLayout" name="gridLayout_7"> <layout class="QVBoxLayout" name="verticalLayout_3">
<item row="0" column="0"> <item>
<widget class="QSplitter" name="splitter"> <widget class="QFrame" name="titleBarFrame">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<widget class="QFrame" name="channelTreeFrame">
<property name="sizePolicy"> <property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred"> <sizepolicy hsizetype="Preferred" vsizetype="Maximum">
<horstretch>0</horstretch> <horstretch>0</horstretch>
<verstretch>0</verstretch> <verstretch>0</verstretch>
</sizepolicy> </sizepolicy>
</property> </property>
<layout class="QGridLayout" name="gridLayout_9">
<property name="verticalSpacing">
<number>1</number>
</property>
<property name="margin">
<number>0</number>
</property>
<item row="0" column="0">
<widget class="QFrame" name="titleBarFrame">
<property name="frameShape"> <property name="frameShape">
<enum>QFrame::Box</enum> <enum>QFrame::Box</enum>
</property> </property>
@ -140,10 +127,37 @@
</property> </property>
</widget> </widget>
</item> </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> </layout>
</widget> </widget>
</item> </item>
<item row="1" column="0"> <item>
<widget class="QSplitter" name="splitter">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<widget class="GroupTreeWidget" name="treeWidget" native="true"> <widget class="GroupTreeWidget" name="treeWidget" native="true">
<property name="sizePolicy"> <property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Expanding"> <sizepolicy hsizetype="Preferred" vsizetype="Expanding">
@ -152,12 +166,9 @@
</sizepolicy> </sizepolicy>
</property> </property>
</widget> </widget>
</item> <widget class="QWidget" name="">
</layout> <layout class="QVBoxLayout" name="verticalLayout_2">
</widget> <item>
<widget class="QWidget" name="layoutWidget">
<layout class="QGridLayout" name="channelLayout">
<item row="0" column="0">
<widget class="QFrame" name="headFrame"> <widget class="QFrame" name="headFrame">
<property name="frameShape"> <property name="frameShape">
<enum>QFrame::Box</enum> <enum>QFrame::Box</enum>
@ -219,59 +230,7 @@
</layout> </layout>
</widget> </widget>
</item> </item>
<item row="3" column="0">
<widget class="QScrollArea" name="scrollArea">
<property name="widgetResizable">
<bool>true</bool>
</property>
<widget class="QWidget" name="scrollAreaWidgetContents">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>414</width>
<height>16</height>
</rect>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<property name="spacing">
<number>0</number>
</property>
<property name="margin">
<number>0</number>
</property>
</layout>
</widget>
</widget>
</item>
<item row="2" column="0">
<layout class="QHBoxLayout" name="progressLayout">
<item> <item>
<widget class="QLabel" name="progressLabel">
<property name="text">
<string>Loading</string>
</property>
</widget>
</item>
<item>
<widget class="QProgressBar" name="progressBar">
<property name="maximum">
<number>1000</number>
</property>
<property name="value">
<number>24</number>
</property>
</widget>
</item>
</layout>
</item>
<item row="1" column="0">
<widget class="QFrame" name="toolBarFrame"> <widget class="QFrame" name="toolBarFrame">
<property name="frameShape"> <property name="frameShape">
<enum>QFrame::Box</enum> <enum>QFrame::Box</enum>
@ -322,6 +281,58 @@
</layout> </layout>
</widget> </widget>
</item> </item>
<item>
<layout class="QHBoxLayout" name="progressLayout">
<item>
<widget class="QLabel" name="progressLabel">
<property name="text">
<string>Loading</string>
</property>
</widget>
</item>
<item>
<widget class="QProgressBar" name="progressBar">
<property name="maximum">
<number>1000</number>
</property>
<property name="value">
<number>24</number>
</property>
</widget>
</item>
</layout>
</item>
<item>
<widget class="QScrollArea" name="scrollArea">
<property name="widgetResizable">
<bool>true</bool>
</property>
<widget class="QWidget" name="scrollAreaWidgetContents">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>625</width>
<height>16</height>
</rect>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<property name="spacing">
<number>0</number>
</property>
<property name="margin">
<number>0</number>
</property>
</layout>
</widget>
</widget>
</item>
</layout> </layout>
</widget> </widget>
</widget> </widget>
@ -343,6 +354,10 @@
<string>Enable Auto-Download</string> <string>Enable Auto-Download</string>
</property> </property>
</action> </action>
<zorder>splitter</zorder>
<zorder>treeWidget</zorder>
<zorder>titleBarFrame</zorder>
<zorder>treeWidget</zorder>
</widget> </widget>
<customwidgets> <customwidgets>
<customwidget> <customwidget>

View File

@ -56,7 +56,7 @@ ChatLobbyWidget::ChatLobbyWidget(QWidget *parent, Qt::WFlags flags)
QObject::connect(lobbyTreeWidget, SIGNAL(itemDoubleClicked(QTreeWidgetItem*,int)), this, SLOT(itemDoubleClicked(QTreeWidgetItem*,int))); QObject::connect(lobbyTreeWidget, SIGNAL(itemDoubleClicked(QTreeWidgetItem*,int)), this, SLOT(itemDoubleClicked(QTreeWidgetItem*,int)));
QObject::connect(lobbyTreeWidget, SIGNAL(itemSelectionChanged()), this, SLOT(updateCurrentLobby())); QObject::connect(lobbyTreeWidget, SIGNAL(itemSelectionChanged()), this, SLOT(updateCurrentLobby()));
QObject::connect(newlobbytoolButton, SIGNAL(clicked()), this, SLOT(createChatLobby())); //QObject::connect(newlobbytoolButton, SIGNAL(clicked()), this, SLOT(createChatLobby()));
compareRole = new RSTreeWidgetItemCompareRole; compareRole = new RSTreeWidgetItemCompareRole;
compareRole->setRole(COLUMN_NAME, ROLE_SORT); compareRole->setRole(COLUMN_NAME, ROLE_SORT);

View File

@ -26,16 +26,7 @@
<enum>QFrame::Sunken</enum> <enum>QFrame::Sunken</enum>
</property> </property>
<layout class="QHBoxLayout" name="horizontalLayout"> <layout class="QHBoxLayout" name="horizontalLayout">
<property name="leftMargin"> <property name="margin">
<number>2</number>
</property>
<property name="topMargin">
<number>2</number>
</property>
<property name="rightMargin">
<number>2</number>
</property>
<property name="bottomMargin">
<number>2</number> <number>2</number>
</property> </property>
<item> <item>
@ -76,24 +67,24 @@
</spacer> </spacer>
</item> </item>
<item> <item>
<widget class="QToolButton" name="newlobbytoolButton"> <widget class="QPushButton" name="helpButton">
<property name="focusPolicy"> <property name="sizePolicy">
<enum>Qt::NoFocus</enum> <sizepolicy hsizetype="Maximum" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property> </property>
<property name="toolTip"> <property name="text">
<string>Create new chat lobby</string> <string/>
</property> </property>
<property name="icon"> <property name="icon">
<iconset resource="images.qrc"> <iconset resource="images.qrc">
<normaloff>:/images/edit_add24.png</normaloff>:/images/edit_add24.png</iconset> <normaloff>:/images/64px_help.png</normaloff>:/images/64px_help.png</iconset>
</property> </property>
<property name="iconSize"> <property name="checkable">
<size> <bool>true</bool>
<width>24</width>
<height>16</height>
</size>
</property> </property>
<property name="autoRaise"> <property name="flat">
<bool>true</bool> <bool>true</bool>
</property> </property>
</widget> </widget>

View File

@ -11,6 +11,84 @@
</rect> </rect>
</property> </property>
<layout class="QVBoxLayout" name="verticalLayout"> <layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="QFrame" name="titleBarFrame">
<property name="frameShape">
<enum>QFrame::Box</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Sunken</enum>
</property>
<layout class="QHBoxLayout" name="horizontalLayout_2">
<property name="margin">
<number>2</number>
</property>
<item>
<widget class="QLabel" name="titleBarPixmap">
<property name="text">
<string/>
</property>
<property name="pixmap">
<pixmap resource="../images.qrc">:/images/reload24.png</pixmap>
</property>
<property name="scaledContents">
<bool>false</bool>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="titleBarLabel">
<property name="font">
<font>
<pointsize>10</pointsize>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="text">
<string>File Transfers</string>
</property>
</widget>
</item>
<item>
<spacer>
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>123</width>
<height>13</height>
</size>
</property>
</spacer>
</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>
</widget>
</item>
<item> <item>
<widget class="QTabWidget" name="tabWidget"> <widget class="QTabWidget" name="tabWidget">
<property name="font"> <property name="font">
@ -20,11 +98,11 @@
</font> </font>
</property> </property>
<property name="currentIndex"> <property name="currentIndex">
<number>1</number> <number>0</number>
</property> </property>
<widget class="QWidget" name="tab"> <widget class="QWidget" name="tab">
<attribute name="icon"> <attribute name="icon">
<iconset resource="images.qrc"> <iconset resource="../images.qrc">
<normaloff>:/images/down.png</normaloff>:/images/down.png</iconset> <normaloff>:/images/down.png</normaloff>:/images/down.png</iconset>
</attribute> </attribute>
<attribute name="title"> <attribute name="title">
@ -89,7 +167,7 @@
</widget> </widget>
<widget class="QWidget" name="uploadsTab"> <widget class="QWidget" name="uploadsTab">
<attribute name="icon"> <attribute name="icon">
<iconset resource="images.qrc"> <iconset resource="../images.qrc">
<normaloff>:/images/up.png</normaloff>:/images/up.png</iconset> <normaloff>:/images/up.png</normaloff>:/images/up.png</iconset>
</attribute> </attribute>
<attribute name="title"> <attribute name="title">
@ -121,6 +199,7 @@
</layout> </layout>
</widget> </widget>
<resources> <resources>
<include location="../images.qrc"/>
<include location="images.qrc"/> <include location="images.qrc"/>
</resources> </resources>
<connections/> <connections/>

View File

@ -6,40 +6,19 @@
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>732</width> <width>769</width>
<height>420</height> <height>519</height>
</rect> </rect>
</property> </property>
<layout class="QGridLayout"> <layout class="QVBoxLayout" name="verticalLayout">
<property name="leftMargin"> <item>
<number>9</number> <widget class="QSplitter" name="splitter_2">
</property>
<property name="rightMargin">
<number>9</number>
</property>
<item row="0" column="0">
<widget class="QSplitter" name="splitter">
<property name="orientation"> <property name="orientation">
<enum>Qt::Horizontal</enum> <enum>Qt::Horizontal</enum>
</property> </property>
<widget class="QFrame" name="frame"> </widget>
<property name="baseSize"> </item>
<size> <item>
<width>300</width>
<height>300</height>
</size>
</property>
<property name="frameShape">
<enum>QFrame::NoFrame</enum>
</property>
<layout class="QGridLayout">
<property name="margin">
<number>0</number>
</property>
<property name="spacing">
<number>0</number>
</property>
<item row="0" column="0">
<widget class="QFrame" name="titleBarFrame"> <widget class="QFrame" name="titleBarFrame">
<property name="frameShape"> <property name="frameShape">
<enum>QFrame::Box</enum> <enum>QFrame::Box</enum>
@ -146,10 +125,37 @@
</property> </property>
</widget> </widget>
</item> </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> </layout>
</widget> </widget>
</item> </item>
<item row="1" column="0"> <item>
<widget class="QSplitter" name="splitter">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<widget class="GroupTreeWidget" name="forumTreeWidget" native="true"> <widget class="GroupTreeWidget" name="forumTreeWidget" native="true">
<property name="sizePolicy"> <property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Expanding"> <sizepolicy hsizetype="Preferred" vsizetype="Expanding">
@ -158,9 +164,6 @@
</sizepolicy> </sizepolicy>
</property> </property>
</widget> </widget>
</item>
</layout>
</widget>
<widget class="QSplitter" name="threadSplitter"> <widget class="QSplitter" name="threadSplitter">
<property name="orientation"> <property name="orientation">
<enum>Qt::Vertical</enum> <enum>Qt::Vertical</enum>
@ -616,18 +619,23 @@
<string>PrintPreview</string> <string>PrintPreview</string>
</property> </property>
</action> </action>
<zorder>splitter</zorder>
<zorder>forumTreeWidget</zorder>
<zorder>forumTreeWidget</zorder>
<zorder>titleBarFrame</zorder>
<zorder>threadSplitter</zorder>
</widget> </widget>
<customwidgets> <customwidgets>
<customwidget>
<class>LineEditClear</class>
<extends>QLineEdit</extends>
<header>gui/common/LineEditClear.h</header>
</customwidget>
<customwidget> <customwidget>
<class>LinkTextBrowser</class> <class>LinkTextBrowser</class>
<extends>QTextBrowser</extends> <extends>QTextBrowser</extends>
<header>gui/common/LinkTextBrowser.h</header> <header>gui/common/LinkTextBrowser.h</header>
</customwidget> </customwidget>
<customwidget>
<class>LineEditClear</class>
<extends>QLineEdit</extends>
<header location="global">gui/common/LineEditClear.h</header>
</customwidget>
<customwidget> <customwidget>
<class>GroupTreeWidget</class> <class>GroupTreeWidget</class>
<extends>QWidget</extends> <extends>QWidget</extends>

View File

@ -212,6 +212,20 @@ FriendsDialog::FriendsDialog(QWidget *parent)
ui.nicknameLabel->setText(PeerDefs::nameWithLocation(pd)); ui.nicknameLabel->setText(PeerDefs::nameWithLocation(pd));
} }
QString hlp_str = tr(
" <h1><img width=\"32\" src=\":/images/64px_help.png\">&nbsp;&nbsp;Friends</h1> \
<p>The Friends tab shows...your friends: the list of persons you have accepted to connect to. \
</p> \
<p>On the right, you will find 3 useful tabs: \
<ul> \
<li>Broadcast allows you to send messages to all connected friends at once</li> \
<li>Local Network represents the network around you, including friends of your friends</li> \
<li>Keyring contains keys you collected, forwarded to you by your friends</li> \
</ul> </p> \
") ;
registerHelpButton(ui.helpButton, hlp_str) ;
/* Hide platform specific features */ /* Hide platform specific features */
#ifdef Q_WS_WIN #ifdef Q_WS_WIN
@ -859,41 +873,6 @@ void FriendsDialog::on_actionMessageHistory_triggered()
imBrowser.exec(); imBrowser.exec();
} }
//void FriendsDialog::on_actionAdd_Group_activated()
//{
// CreateGroup createGrpDialog ("", this);
// createGrpDialog.exec();
//}
// void FriendsDialog::newsFeedChanged(int count)
// {
// int newsFeedTabIndex = ui.tabWidget->indexOf(newsFeed);
// if (newsFeedTabIndex < 0) {
// return;
// }
//
// if (count) {
// ui.tabWidget->tabBar()->setTabText(newsFeedTabIndex, QString("%1 (%2)").arg(newsFeedText).arg(count));
// ui.tabWidget->tabBar()->setTabTextColor(newsFeedTabIndex, Qt::blue);
// ui.tabWidget->tabBar()->setTabIcon(newsFeedTabIndex, QIcon(IMAGE_NEWSFEED_NEW));
// } else {
// ui.tabWidget->tabBar()->setTabText(newsFeedTabIndex, newsFeedText);
// ui.tabWidget->tabBar()->setTabTextColor(newsFeedTabIndex, newsFeedTabColor);
// ui.tabWidget->tabBar()->setTabIcon(newsFeedTabIndex, QIcon(IMAGE_NEWSFEED));
// }
// }
//void FriendsDialog::recommendFriends()
//{
// FriendRecommendDialog::showYourself();
//}
//void FriendsDialog::servicePermission()
//{
// ServicePermissionDialog dlg;
// dlg.exec();
//}
/*static*/ bool FriendsDialog::isGroupChatActive() /*static*/ bool FriendsDialog::isGroupChatActive()
{ {
FriendsDialog *friendsDialog = dynamic_cast<FriendsDialog*>(MainWindow::getPage(MainWindow::Friends)); FriendsDialog *friendsDialog = dynamic_cast<FriendsDialog*>(MainWindow::getPage(MainWindow::Friends));

View File

@ -10,17 +10,7 @@
<height>491</height> <height>491</height>
</rect> </rect>
</property> </property>
<layout class="QGridLayout" name="gridLayout_2"> <layout class="QVBoxLayout" name="verticalLayout_2">
<item row="0" column="0">
<widget class="QSplitter" name="splitter">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<widget class="QWidget" name="layoutWidget">
<layout class="QVBoxLayout" name="friendListLayout">
<property name="spacing">
<number>1</number>
</property>
<item> <item>
<widget class="QFrame" name="titleBarFrame"> <widget class="QFrame" name="titleBarFrame">
<property name="frameShape"> <property name="frameShape">
@ -70,6 +60,44 @@
</property> </property>
</spacer> </spacer>
</item> </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>
</widget>
</item>
<item>
<widget class="QSplitter" name="splitter">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<widget class="QWidget" name="">
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<layout class="QHBoxLayout" name="horizontalLayout_3">
<item>
<widget class="LineEditClear" name="filter_lineEdit"/>
</item>
<item> <item>
<widget class="QToolButton" name="displayButton"> <widget class="QToolButton" name="displayButton">
<property name="sizePolicy"> <property name="sizePolicy">
@ -103,10 +131,6 @@
</widget> </widget>
</item> </item>
</layout> </layout>
</widget>
</item>
<item>
<widget class="LineEditClear" name="filter_lineEdit"/>
</item> </item>
<item> <item>
<widget class="FriendList" name="friendList" native="true"> <widget class="FriendList" name="friendList" native="true">
@ -164,22 +188,6 @@
<property name="topMargin"> <property name="topMargin">
<number>1</number> <number>1</number>
</property> </property>
<item row="0" column="0" rowspan="2">
<widget class="AvatarWidget" name="avatar">
<property name="minimumSize">
<size>
<width>61</width>
<height>61</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>61</width>
<height>61</height>
</size>
</property>
</widget>
</item>
<item row="0" column="1" colspan="2"> <item row="0" column="1" colspan="2">
<widget class="QLabel" name="nicknameLabel"> <widget class="QLabel" name="nicknameLabel">
<property name="minimumSize"> <property name="minimumSize">
@ -249,6 +257,22 @@
</property> </property>
</widget> </widget>
</item> </item>
<item row="0" column="0" rowspan="2">
<widget class="AvatarWidget" name="avatar">
<property name="minimumSize">
<size>
<width>61</width>
<height>61</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>61</width>
<height>61</height>
</size>
</property>
</widget>
</item>
</layout> </layout>
</widget> </widget>
</item> </item>

View File

@ -1,6 +1,7 @@
#include <iostream> #include <iostream>
#include <retroshare-gui/mainpage.h> #include <retroshare-gui/mainpage.h>
#include <QGraphicsBlurEffect> #include <QGraphicsBlurEffect>
#include <QPushButton>
#include <QGraphicsDropShadowEffect> #include <QGraphicsDropShadowEffect>
MainPage::MainPage(QWidget *parent , Qt::WindowFlags flags ) : QWidget(parent, flags) MainPage::MainPage(QWidget *parent , Qt::WindowFlags flags ) : QWidget(parent, flags)
@ -11,25 +12,33 @@ MainPage::MainPage(QWidget *parent , Qt::WindowFlags flags ) : QWidget(parent, f
void MainPage::showHelp(bool b) 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->resize(size()*0.5) ;
help_browser->move(width()/2 - help_browser->width()/2,height()/2 - help_browser->height()/2); help_browser->move(width()/2 - help_browser->width()/2,height()/2 - help_browser->height()/2);
help_browser->update() ; help_browser->update() ;
}
std::cerr << "Toggling help to " << b << std::endl; std::cerr << "Toggling help to " << b << std::endl;
if(b) if(b)
help_browser->show() ; help_browser->show() ;
else else
help_browser->hide() ; help_browser->hide() ;
} }
void MainPage::registerHelpButton(QPushButton *button,const QString& help_html_txt)
{
if(help_browser == NULL)
{
help_browser = new QTextBrowser(this) ;
QGraphicsDropShadowEffect * effect = new QGraphicsDropShadowEffect(help_browser) ;
effect->setBlurRadius(30.0);
help_browser->setGraphicsEffect(effect);
help_browser->setSizePolicy(QSizePolicy(QSizePolicy::Minimum,QSizePolicy::Minimum)) ;
help_browser->hide() ;
}
help_browser->setHtml(help_html_txt) ;
QObject::connect(button,SIGNAL(toggled(bool)), this, SLOT( showHelp(bool) ) ) ;
}

View File

@ -10,11 +10,8 @@
<height>485</height> <height>485</height>
</rect> </rect>
</property> </property>
<layout class="QGridLayout" name="gridLayout_5"> <layout class="QVBoxLayout" name="verticalLayout">
<property name="verticalSpacing"> <item>
<number>1</number>
</property>
<item row="0" column="0">
<widget class="QFrame" name="toolBarFrame"> <widget class="QFrame" name="toolBarFrame">
<property name="sizePolicy"> <property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred"> <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
@ -47,143 +44,37 @@
<property name="horizontalSpacing"> <property name="horizontalSpacing">
<number>6</number> <number>6</number>
</property> </property>
<item row="0" column="0"> <item row="0" column="1">
<widget class="QToolButton" name="newmessageButton"> <widget class="QLabel" name="titleBarLabel">
<property name="minimumSize"> <property name="font">
<size> <font>
<width>0</width> <pointsize>10</pointsize>
<height>0</height> <weight>75</weight>
</size> <bold>true</bold>
</property> </font>
<property name="maximumSize">
<size>
<width>167777</width>
<height>167777</height>
</size>
</property>
<property name="focusPolicy">
<enum>Qt::NoFocus</enum>
</property>
<property name="toolTip">
<string>New Message</string>
</property> </property>
<property name="text"> <property name="text">
<string>Compose</string> <string>Messages</string>
</property>
<property name="icon">
<iconset resource="images.qrc">
<normaloff>:/images/folder-draft24.png</normaloff>:/images/folder-draft24.png</iconset>
</property>
<property name="iconSize">
<size>
<width>24</width>
<height>24</height>
</size>
</property>
<property name="toolButtonStyle">
<enum>Qt::ToolButtonIconOnly</enum>
</property>
<property name="autoRaise">
<bool>true</bool>
</property> </property>
</widget> </widget>
</item> </item>
<item row="0" column="1"> <item row="0" column="13">
<widget class="Line" name="line"> <widget class="LineEditClear" name="filterLineEdit"/>
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
</widget>
</item> </item>
<item row="0" column="2"> <item row="0" column="2">
<widget class="QToolButton" name="replymessageButton"> <spacer name="horizontalSpacer_2">
<property name="sizePolicy"> <property name="orientation">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed"> <enum>Qt::Horizontal</enum>
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property> </property>
<property name="minimumSize"> <property name="sizeHint" stdset="0">
<size> <size>
<width>0</width> <width>40</width>
<height>0</height> <height>20</height>
</size> </size>
</property> </property>
<property name="maximumSize"> </spacer>
<size>
<width>16777</width>
<height>16777</height>
</size>
</property>
<property name="focusPolicy">
<enum>Qt::NoFocus</enum>
</property>
<property name="toolTip">
<string>Reply to selected message</string>
</property>
<property name="text">
<string>Reply</string>
</property>
<property name="icon">
<iconset resource="images.qrc">
<normaloff>:/images/replymail-pressed.png</normaloff>:/images/replymail-pressed.png</iconset>
</property>
<property name="iconSize">
<size>
<width>24</width>
<height>24</height>
</size>
</property>
<property name="toolButtonStyle">
<enum>Qt::ToolButtonIconOnly</enum>
</property>
<property name="autoRaise">
<bool>true</bool>
</property>
</widget>
</item> </item>
<item row="0" column="3"> <item row="0" column="7">
<widget class="QToolButton" name="replyallmessageButton">
<property name="minimumSize">
<size>
<width>0</width>
<height>0</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>16777</width>
<height>16777</height>
</size>
</property>
<property name="focusPolicy">
<enum>Qt::NoFocus</enum>
</property>
<property name="toolTip">
<string>Reply all to selected message</string>
</property>
<property name="text">
<string>Reply all</string>
</property>
<property name="icon">
<iconset resource="images.qrc">
<normaloff>:/images/replymailall24-hover.png</normaloff>:/images/replymailall24-hover.png</iconset>
</property>
<property name="iconSize">
<size>
<width>24</width>
<height>24</height>
</size>
</property>
<property name="toolButtonStyle">
<enum>Qt::ToolButtonIconOnly</enum>
</property>
<property name="autoRaise">
<bool>true</bool>
</property>
</widget>
</item>
<item row="0" column="4">
<widget class="QToolButton" name="forwardmessageButton"> <widget class="QToolButton" name="forwardmessageButton">
<property name="minimumSize"> <property name="minimumSize">
<size> <size>
@ -224,14 +115,14 @@
</property> </property>
</widget> </widget>
</item> </item>
<item row="0" column="5"> <item row="0" column="8">
<widget class="Line" name="line_2"> <widget class="Line" name="line_2">
<property name="orientation"> <property name="orientation">
<enum>Qt::Vertical</enum> <enum>Qt::Vertical</enum>
</property> </property>
</widget> </widget>
</item> </item>
<item row="0" column="7"> <item row="0" column="10">
<widget class="QToolButton" name="removemessageButton"> <widget class="QToolButton" name="removemessageButton">
<property name="minimumSize"> <property name="minimumSize">
<size> <size>
@ -272,7 +163,7 @@
</property> </property>
</widget> </widget>
</item> </item>
<item row="0" column="8"> <item row="0" column="11">
<widget class="QToolButton" name="printbutton"> <widget class="QToolButton" name="printbutton">
<property name="sizePolicy"> <property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed"> <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
@ -322,7 +213,7 @@
</property> </property>
</widget> </widget>
</item> </item>
<item row="0" column="9"> <item row="0" column="12">
<widget class="QToolButton" name="viewtoolButton"> <widget class="QToolButton" name="viewtoolButton">
<property name="sizePolicy"> <property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed"> <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
@ -354,20 +245,17 @@
</property> </property>
</widget> </widget>
</item> </item>
<item row="0" column="10"> <item row="0" column="0">
<spacer name="horizontalSpacer"> <widget class="QLabel" name="titleBarPixmap">
<property name="orientation"> <property name="text">
<enum>Qt::Horizontal</enum> <string/>
</property> </property>
<property name="sizeHint" stdset="0"> <property name="pixmap">
<size> <pixmap resource="images.qrc">:/images/message-mail-read.png</pixmap>
<width>40</width>
<height>20</height>
</size>
</property> </property>
</spacer> </widget>
</item> </item>
<item row="0" column="6"> <item row="0" column="9">
<widget class="QToolButton" name="tagButton"> <widget class="QToolButton" name="tagButton">
<property name="focusPolicy"> <property name="focusPolicy">
<enum>Qt::NoFocus</enum> <enum>Qt::NoFocus</enum>
@ -396,13 +284,169 @@
</property> </property>
</widget> </widget>
</item> </item>
<item row="0" column="11"> <item row="0" column="14">
<widget class="LineEditClear" name="filterLineEdit"/> <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>
<item row="0" column="4">
<widget class="Line" name="line">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
</widget>
</item>
<item row="0" column="5">
<widget class="QToolButton" name="replymessageButton">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>0</width>
<height>0</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>16777</width>
<height>16777</height>
</size>
</property>
<property name="focusPolicy">
<enum>Qt::NoFocus</enum>
</property>
<property name="toolTip">
<string>Reply to selected message</string>
</property>
<property name="text">
<string>Reply</string>
</property>
<property name="icon">
<iconset resource="images.qrc">
<normaloff>:/images/replymail-pressed.png</normaloff>:/images/replymail-pressed.png</iconset>
</property>
<property name="iconSize">
<size>
<width>24</width>
<height>24</height>
</size>
</property>
<property name="toolButtonStyle">
<enum>Qt::ToolButtonIconOnly</enum>
</property>
<property name="autoRaise">
<bool>true</bool>
</property>
</widget>
</item>
<item row="0" column="6">
<widget class="QToolButton" name="replyallmessageButton">
<property name="minimumSize">
<size>
<width>0</width>
<height>0</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>16777</width>
<height>16777</height>
</size>
</property>
<property name="focusPolicy">
<enum>Qt::NoFocus</enum>
</property>
<property name="toolTip">
<string>Reply all to selected message</string>
</property>
<property name="text">
<string>Reply all</string>
</property>
<property name="icon">
<iconset resource="images.qrc">
<normaloff>:/images/replymailall24-hover.png</normaloff>:/images/replymailall24-hover.png</iconset>
</property>
<property name="iconSize">
<size>
<width>24</width>
<height>24</height>
</size>
</property>
<property name="toolButtonStyle">
<enum>Qt::ToolButtonIconOnly</enum>
</property>
<property name="autoRaise">
<bool>true</bool>
</property>
</widget>
</item>
<item row="0" column="3">
<widget class="QToolButton" name="newmessageButton">
<property name="minimumSize">
<size>
<width>0</width>
<height>0</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>167777</width>
<height>167777</height>
</size>
</property>
<property name="focusPolicy">
<enum>Qt::NoFocus</enum>
</property>
<property name="toolTip">
<string>New Message</string>
</property>
<property name="text">
<string>Compose</string>
</property>
<property name="icon">
<iconset resource="images.qrc">
<normaloff>:/images/folder-draft24.png</normaloff>:/images/folder-draft24.png</iconset>
</property>
<property name="iconSize">
<size>
<width>24</width>
<height>24</height>
</size>
</property>
<property name="toolButtonStyle">
<enum>Qt::ToolButtonIconOnly</enum>
</property>
<property name="autoRaise">
<bool>true</bool>
</property>
</widget>
</item> </item>
</layout> </layout>
</widget> </widget>
</item> </item>
<item row="1" column="0"> <item>
<widget class="RSTabWidget" name="tabWidget"> <widget class="RSTabWidget" name="tabWidget">
<property name="tabsClosable"> <property name="tabsClosable">
<bool>true</bool> <bool>true</bool>
@ -767,7 +811,7 @@
<customwidget> <customwidget>
<class>LineEditClear</class> <class>LineEditClear</class>
<extends>QLineEdit</extends> <extends>QLineEdit</extends>
<header location="global">gui/common/LineEditClear.h</header> <header>gui/common/LineEditClear.h</header>
</customwidget> </customwidget>
<customwidget> <customwidget>
<class>RSTabWidget</class> <class>RSTabWidget</class>

View File

@ -20,6 +20,7 @@
****************************************************************/ ****************************************************************/
#include <QTimer> #include <QTimer>
#include <QSpacerItem>
#include "NewsFeed.h" #include "NewsFeed.h"
@ -84,19 +85,8 @@ NewsFeed::NewsFeed(QWidget *parent)
connect(removeAllButton, SIGNAL(clicked()), this, SLOT(removeAll())); connect(removeAllButton, SIGNAL(clicked()), this, SLOT(removeAll()));
connect(feedOptionsButton, SIGNAL(clicked()), this, SLOT(feedoptions())); connect(feedOptionsButton, SIGNAL(clicked()), this, SLOT(feedoptions()));
connect(helpButton, SIGNAL(toggled(bool)), (MainPage*)this, SLOT(showHelp(bool)));
}
NewsFeed::~NewsFeed() QString hlp_str = tr(
{
if (instance == this) {
instance = NULL;
}
}
const QString& NewsFeed::helpHtmlText() const
{
static const QString str = tr(
" <h1><img width=\"32\" src=\":/images/64px_help.png\">&nbsp;&nbsp;News Feed</h1> \ " <h1><img width=\"32\" src=\":/images/64px_help.png\">&nbsp;&nbsp;News Feed</h1> \
<p>The News Feed displays the last events on your network, sorted by the time you received them. \ <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. \ This gives you a summary of the activity of your friends. \
@ -110,7 +100,17 @@ const QString& NewsFeed::helpHtmlText() const
</ul> </p> \ </ul> </p> \
") ; ") ;
return str ; registerHelpButton(helpButton,hlp_str) ;
mLayout = new QVBoxLayout(scrollArea) ;
mLayout->addItem(new QSpacerItem(10,0,QSizePolicy::Minimum, QSizePolicy::MinimumExpanding)) ;
}
NewsFeed::~NewsFeed()
{
if (instance == this) {
instance = NULL;
}
} }
UserNotify *NewsFeed::getUserNotify(QObject *parent) UserNotify *NewsFeed::getUserNotify(QObject *parent)
@ -462,9 +462,9 @@ void NewsFeed::addFeedItem(QWidget *item)
lockLayout(NULL, true); lockLayout(NULL, true);
if (Settings->getAddFeedsAtEnd()) { if (Settings->getAddFeedsAtEnd()) {
verticalLayout->addWidget(item); mLayout->addWidget(item);
} else { } else {
verticalLayout->insertWidget(0, item); mLayout->insertWidget(0, item);
} }
item->show(); item->show();

View File

@ -52,8 +52,6 @@ public:
virtual void openChat(std::string peerId); virtual void openChat(std::string peerId);
virtual void openComments(uint32_t type, const RsGxsGroupId &groupId, const RsGxsMessageId &msgId, const QString &title); 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 testFeeds(uint notifyFlags);
static void testFeed(FeedNotify *feedNotify); static void testFeed(FeedNotify *feedNotify);
@ -96,7 +94,7 @@ private:
void sendNewsFeedChanged(); void sendNewsFeedChanged();
QLayout *mLayout; QVBoxLayout *mLayout;
QSet<QObject*> widgets; QSet<QObject*> widgets;
/* lists of feedItems */ /* lists of feedItems */

View File

@ -6,17 +6,11 @@
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>428</width> <width>571</width>
<height>256</height> <height>376</height>
</rect> </rect>
</property> </property>
<layout class="QVBoxLayout" name="verticalLayout_2"> <layout class="QVBoxLayout" name="verticalLayout">
<property name="spacing">
<number>0</number>
</property>
<property name="margin">
<number>0</number>
</property>
<item> <item>
<layout class="QHBoxLayout" name="headerLayout"> <layout class="QHBoxLayout" name="headerLayout">
<property name="spacing"> <property name="spacing">
@ -138,7 +132,7 @@
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>426</width> <width>551</width>
<height>16</height> <height>16</height>
</rect> </rect>
</property> </property>
@ -148,14 +142,6 @@
<verstretch>0</verstretch> <verstretch>0</verstretch>
</sizepolicy> </sizepolicy>
</property> </property>
<layout class="QVBoxLayout" name="verticalLayout">
<property name="spacing">
<number>3</number>
</property>
<property name="margin">
<number>3</number>
</property>
</layout>
</widget> </widget>
</widget> </widget>
</item> </item>

View File

@ -27,6 +27,7 @@
#include <QTextBrowser> #include <QTextBrowser>
class UserNotify; class UserNotify;
class QPushButton ;
class MainPage : public QWidget class MainPage : public QWidget
{ {
@ -42,9 +43,9 @@ class MainPage : public QWidget
// Overload this to add some help info to the page. The way the info is // Overload this to add some help info to the page. The way the info is
// shown is handled by showHelp() below; // shown is handled by showHelp() below;
// //
virtual const QString& helpHtmlText() const { static QString s ; return s ; } void registerHelpButton(QPushButton *button, const QString& help_html_text) ;
public slots: private slots:
void showHelp(bool b) ; void showHelp(bool b) ;
private: private: