Channels: Activation of a simple prototype for the new Channels module. This is non-functional but gives an idea of some of the features we want to incorporate. It has been activated primarily as an aid to the Channels Team. Feedback and suggestions welcome.

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@279 b45a01b8-16f6-495d-af2f-9b41ad6348cc
This commit is contained in:
libris 2007-12-14 16:19:44 +00:00
parent 5deaf2658b
commit beb7612c35
13 changed files with 371 additions and 217 deletions

View File

@ -157,12 +157,12 @@ MainWindow::MainWindow(QWidget* parent, Qt::WFlags flags)
ui.stackPages->add(messagesDialog = new MessagesDialog(ui.stackPages),
createPageAction(QIcon(IMAGE_MESSAGES), tr("Messages"), grp));
#ifdef RS_RELEASE_VERSION
channelsDialog = NULL;
#else
//#ifdef RS_RELEASE_VERSION
// channelsDialog = NULL;
//#else
ui.stackPages->add(channelsDialog = new ChannelsDialog(ui.stackPages),
createPageAction(QIcon(IMAGE_CHANNELS), tr("Channels"), grp));
#endif
//#endif
ui.stackPages->add(new HelpDialog(ui.stackPages),
createPageAction(QIcon(IMAGE_ABOUT), tr("About/Help"), grp));

View File

@ -39,6 +39,86 @@
<string>Channels</string>
</property>
</column>
<item>
<property name="text" >
<string>Indie</string>
</property>
<property name="icon" >
<iconset resource="../images.qrc" >:/images/FileTypeAudio.png</iconset>
</property>
<item>
<property name="text" >
<string>Zoogie on Drums</string>
</property>
<property name="icon" >
<iconset resource="../images.qrc" >:/images/graph-line.png</iconset>
</property>
</item>
<item>
<property name="text" >
<string>Darkman Records</string>
</property>
<property name="icon" >
<iconset resource="../images.qrc" >:/images/amsn.png</iconset>
</property>
</item>
</item>
<item>
<property name="text" >
<string>Video</string>
</property>
<property name="icon" >
<iconset resource="../images.qrc" >:/images/FileTypeVideo.png</iconset>
</property>
<item>
<property name="text" >
<string>Interviews with a Coder</string>
</property>
<property name="icon" >
<iconset resource="../images.qrc" >:/images/dbrb.png</iconset>
</property>
</item>
</item>
<item>
<property name="text" >
<string>Miscellaneous</string>
</property>
<property name="icon" >
<iconset resource="../images.qrc" >:/images/informations_24x24.png</iconset>
</property>
<item>
<property name="text" >
<string>Test Channel 1</string>
</property>
<property name="icon" >
<iconset resource="../images.qrc" >:/images/FileTypeAudio.png</iconset>
</property>
</item>
<item>
<property name="text" >
<string>The Open Source Channel</string>
</property>
<property name="icon" >
<iconset resource="../images.qrc" >:/images/FileTypeArchive.png</iconset>
</property>
</item>
</item>
<item>
<property name="text" >
<string>Retroshare</string>
</property>
<property name="icon" >
<iconset resource="../images.qrc" >:/images/RetroShare16.png</iconset>
</property>
<item>
<property name="text" >
<string>Retroshare's Demo Channel</string>
</property>
<property name="icon" >
<iconset resource="../images.qrc" >:/images/rstray3.png</iconset>
</property>
</item>
</item>
</widget>
<widget class="QGroupBox" name="channelDetailsGroupBox" >
<property name="sizePolicy" >
@ -65,6 +145,87 @@
<property name="spacing" >
<number>6</number>
</property>
<item row="5" column="0" >
<layout class="QHBoxLayout" >
<property name="margin" >
<number>0</number>
</property>
<property name="spacing" >
<number>6</number>
</property>
<item>
<widget class="QLabel" name="label_4" >
<property name="sizePolicy" >
<sizepolicy>
<hsizetype>5</hsizetype>
<vsizetype>0</vsizetype>
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize" >
<size>
<width>90</width>
<height>20</height>
</size>
</property>
<property name="font" >
<font>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="text" >
<string>Popularity:</string>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="popularityValue" >
<property name="sizePolicy" >
<sizepolicy>
<hsizetype>5</hsizetype>
<vsizetype>0</vsizetype>
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text" >
<string>1</string>
</property>
</widget>
</item>
<item>
<spacer>
<property name="orientation" >
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" >
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
<item row="1" column="0" >
<spacer>
<property name="orientation" >
<enum>Qt::Vertical</enum>
</property>
<property name="sizeType" >
<enum>QSizePolicy::Fixed</enum>
</property>
<property name="sizeHint" >
<size>
<width>242</width>
<height>16</height>
</size>
</property>
</spacer>
</item>
<item row="0" column="0" >
<layout class="QGridLayout" >
<property name="margin" >
@ -143,7 +304,7 @@ p, li { white-space: pre-wrap; }
</item>
</layout>
</item>
<item row="4" column="0" >
<item row="6" column="0" >
<layout class="QGridLayout" >
<property name="margin" >
<number>0</number>
@ -198,88 +359,7 @@ p, li { white-space: pre-wrap; }
</item>
</layout>
</item>
<item row="1" column="0" >
<layout class="QVBoxLayout" >
<property name="margin" >
<number>0</number>
</property>
<property name="spacing" >
<number>6</number>
</property>
<item>
<layout class="QHBoxLayout" >
<property name="margin" >
<number>0</number>
</property>
<property name="spacing" >
<number>6</number>
</property>
<item>
<widget class="QLabel" name="label_3" >
<property name="sizePolicy" >
<sizepolicy>
<hsizetype>5</hsizetype>
<vsizetype>0</vsizetype>
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize" >
<size>
<width>85</width>
<height>20</height>
</size>
</property>
<property name="font" >
<font>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="text" >
<string>Comment:</string>
</property>
</widget>
</item>
<item>
<spacer>
<property name="orientation" >
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" >
<size>
<width>121</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
<item>
<widget class="QLabel" name="commentLabel" >
<property name="font" >
<font>
<italic>true</italic>
</font>
</property>
<property name="text" >
<string>Subscribe to this channel to get news on the latest groovy happenings on Retroshare. </string>
</property>
<property name="alignment" >
<set>Qt::AlignJustify|Qt::AlignTop</set>
</property>
<property name="wordWrap" >
<bool>true</bool>
</property>
<property name="margin" >
<number>5</number>
</property>
</widget>
</item>
</layout>
</item>
<item row="2" column="0" >
<item row="4" column="0" >
<layout class="QHBoxLayout" >
<property name="margin" >
<number>0</number>
@ -344,8 +424,8 @@ p, li { white-space: pre-wrap; }
</item>
</layout>
</item>
<item row="3" column="0" >
<layout class="QHBoxLayout" >
<item row="2" column="0" >
<layout class="QVBoxLayout" >
<property name="margin" >
<number>0</number>
</property>
@ -353,62 +433,44 @@ p, li { white-space: pre-wrap; }
<number>6</number>
</property>
<item>
<widget class="QLabel" name="label_4" >
<property name="sizePolicy" >
<sizepolicy>
<hsizetype>5</hsizetype>
<vsizetype>0</vsizetype>
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize" >
<size>
<width>90</width>
<height>20</height>
</size>
</property>
<widget class="QLabel" name="commentLabel" >
<property name="font" >
<font>
<weight>75</weight>
<bold>true</bold>
<italic>true</italic>
</font>
</property>
<property name="text" >
<string>Popularity:</string>
<string>&lt;html>&lt;head>&lt;meta name="qrichtext" content="1" />&lt;style type="text/css">
p, li { white-space: pre-wrap; }
&lt;/style>&lt;/head>&lt;body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:italic; text-decoration:none;">
&lt;p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">&lt;span style=" font-style:normal;">Subscribe to this channel to get news on the latest groovy happenings on Retroshare. &lt;/span>&lt;/p>&lt;/body>&lt;/html></string>
</property>
<property name="alignment" >
<set>Qt::AlignJustify|Qt::AlignTop</set>
</property>
<property name="wordWrap" >
<bool>true</bool>
</property>
<property name="margin" >
<number>5</number>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="popularityValue" >
<property name="sizePolicy" >
<sizepolicy>
<hsizetype>5</hsizetype>
<vsizetype>0</vsizetype>
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text" >
<string>1</string>
</property>
</widget>
</item>
<item>
<spacer>
<property name="orientation" >
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" >
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
<item row="3" column="0" >
<spacer>
<property name="orientation" >
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" >
<size>
<width>20</width>
<height>10</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
</widget>

View File

@ -15,45 +15,6 @@
<property name="windowIcon" >
<iconset resource="../images.qrc" >:/images/channels.png</iconset>
</property>
<layout class="QGridLayout" >
<property name="margin" >
<number>9</number>
</property>
<property name="spacing" >
<number>6</number>
</property>
<item row="0" column="0" >
<widget class="QTabWidget" name="channelPages" >
<property name="currentIndex" >
<number>0</number>
</property>
<widget class="QWidget" name="browserTab" >
<attribute name="title" >
<string>Browse Channels</string>
</attribute>
<attribute name="icon" >
<iconset resource="../images.qrc" >:/images/channels.png</iconset>
</attribute>
</widget>
<widget class="QWidget" name="subscriptionsTab" >
<attribute name="title" >
<string>My Subscriptions</string>
</attribute>
<attribute name="icon" >
<iconset resource="../images.qrc" >:/images/folder-inbox.png</iconset>
</attribute>
</widget>
<widget class="QWidget" name="managerTab" >
<attribute name="title" >
<string>My Channels</string>
</attribute>
<attribute name="icon" >
<iconset resource="../images.qrc" >:/images/folder-outbox.png</iconset>
</attribute>
</widget>
</widget>
</item>
</layout>
</widget>
<resources>
<include location="../images.qrc" />

View File

@ -29,50 +29,14 @@
<number>6</number>
</property>
<item row="0" column="0" >
<layout class="QGridLayout" >
<layout class="QHBoxLayout" >
<property name="margin" >
<number>0</number>
</property>
<property name="spacing" >
<number>6</number>
</property>
<item row="0" column="3" >
<spacer>
<property name="orientation" >
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeType" >
<enum>QSizePolicy::Fixed</enum>
</property>
<property name="sizeHint" >
<size>
<width>10</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="0" column="2" >
<widget class="QLabel" name="label" >
<property name="text" >
<string>&lt;html>&lt;head>&lt;meta name="qrichtext" content="1" />&lt;style type="text/css">
p, li { white-space: pre-wrap; }
&lt;/style>&lt;/head>&lt;body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;">
&lt;p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">&lt;span style=" font-size:14pt; font-style:italic;">or&lt;/span>&lt;/p>&lt;/body>&lt;/html></string>
</property>
</widget>
</item>
<item row="0" column="4" >
<widget class="QPushButton" name="newChannelBtn" >
<property name="text" >
<string>Create New Channel</string>
</property>
<property name="icon" >
<iconset resource="../images.qrc" >:/images/add_24x24.png</iconset>
</property>
</widget>
</item>
<item row="0" column="0" >
<item>
<widget class="QComboBox" name="comboBox" >
<property name="minimumSize" >
<size>
@ -88,9 +52,17 @@ p, li { white-space: pre-wrap; }
<iconset resource="../images.qrc" >:/images/rstray3.png</iconset>
</property>
</item>
<item>
<property name="text" >
<string>Test channel 1</string>
</property>
<property name="icon" >
<iconset resource="../images.qrc" >:/images/FileTypeAudio.png</iconset>
</property>
</item>
</widget>
</item>
<item row="0" column="1" >
<item>
<spacer>
<property name="orientation" >
<enum>Qt::Horizontal</enum>
@ -103,6 +75,16 @@ p, li { white-space: pre-wrap; }
</property>
</spacer>
</item>
<item>
<widget class="QPushButton" name="newChannelBtn" >
<property name="text" >
<string>Create New Channel</string>
</property>
<property name="icon" >
<iconset resource="../images.qrc" >:/images/add_24x24.png</iconset>
</property>
</widget>
</item>
</layout>
</item>
<item row="1" column="0" >

View File

@ -237,6 +237,14 @@ p, li { white-space: pre-wrap; }
<iconset resource="../images.qrc" >:/images/rstray3.png</iconset>
</property>
</item>
<item>
<property name="text" >
<string>The Open Source Channel</string>
</property>
<property name="icon" >
<iconset resource="../images.qrc" >:/images/FileTypeArchive.png</iconset>
</property>
</item>
</widget>
</item>
<item>

View File

@ -1 +1,28 @@
/****************************************************************
* RetroShare is distributed under the following license:
*
* Copyright (C) 2006, 2007 The RetroShare Team
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor,
* Boston, MA 02110-1301, USA.
****************************************************************/
#include "channelStatsDialog.h"
ChannelStatsDialog::ChannelStatsDialog(QWidget * parent) : QDialog (parent)
{
setupUi(this);
}

View File

@ -21,5 +21,19 @@
#ifndef _ChannelStatsDialog_h_
#define _ChannelStatsDialog_h_
#include <QDialog>
#include "ui_ChannelStatsDialog.h"
class ChannelStatsDialog : public QDialog,
public Ui::ChannelStatsDialog
{
Q_OBJECT
public:
ChannelStatsDialog(QWidget * parent = 0 );
};
#endif

View File

@ -24,8 +24,34 @@
ChannelsDialog::ChannelsDialog(QWidget * parent) : MainPage (parent)
{
setupUi(this);
QGridLayout* grid = new QGridLayout(this);
// setup the tabs
channelPages = new QTabWidget(this);
// add the tabs to the channels dialog
channelBrowserDialog = new ChannelBrowserDialog();
channelBrowserDialog->setObjectName(QString::fromUtf8("browserTab"));
channelPages->addTab(channelBrowserDialog,
QIcon(QString::fromUtf8(":/images/channels.png")),
tr("Browse Channels"));
mySubscriptionsDialog = new MySubscriptionsDialog();
mySubscriptionsDialog->setObjectName(QString::fromUtf8("mySubsTab"));
channelPages->addTab(mySubscriptionsDialog,
QIcon(QString::fromUtf8(":/images/folder-inbox.png")),
tr("My Subscriptions"));
myChannelsDialog = new MyChannelsDialog();
myChannelsDialog->setObjectName(QString::fromUtf8("myChannelsTab"));
channelPages->addTab(myChannelsDialog,
QIcon(QString::fromUtf8(":/images/folder-outbox.png")),
tr("My Channels"));
grid->addWidget(channelPages, 0, 0, 1, 1);
channelPages->setCurrentIndex(0);
}

View File

@ -24,7 +24,12 @@
#include "../mainpage.h"
#include "ui_ChannelsDialog.h"
#include "channelBrowserDialog.h"
#include "myChannelsDialog.h"
#include "mySubscriptionsDialog.h"
#include <QFileDialog>
#include <QTabWidget>
class QTreeWidgetItem;
@ -73,6 +78,12 @@ private:
QAction* getRecAct;
QAction* getAllRecAct;
/** the module's pages */
QTabWidget * channelPages;
ChannelBrowserDialog * channelBrowserDialog;
MyChannelsDialog * myChannelsDialog;
MySubscriptionsDialog * mySubscriptionsDialog;
};

View File

@ -1 +1,28 @@
/****************************************************************
* RetroShare is distributed under the following license:
*
* Copyright (C) 2006, 2007 The RetroShare Team
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor,
* Boston, MA 02110-1301, USA.
****************************************************************/
#include "myChannelsDialog.h"
MyChannelsDialog::MyChannelsDialog(QWidget * parent) : QDialog (parent)
{
setupUi(this);
}

View File

@ -22,5 +22,19 @@
#define _MyChannelsDialog_h_
#include <QDialog>
#include "ui_MyChannelsDialog.h"
class MyChannelsDialog : public QDialog,
public Ui::MyChannelsDialog
{
Q_OBJECT
public:
MyChannelsDialog(QWidget * parent = 0 );
};
#endif

View File

@ -19,3 +19,11 @@
* Boston, MA 02110-1301, USA.
****************************************************************/
#include "mySubscriptionsDialog.h"
MySubscriptionsDialog::MySubscriptionsDialog(QWidget * parent) : QDialog
(parent)
{
setupUi(this);
}

View File

@ -18,8 +18,22 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor,
* Boston, MA 02110-1301, USA.
****************************************************************/
#ifndef _MyChannelsDialog_h_
#define _MyChannelsDialog_h_
#ifndef _MySubscriptionsDialog_h_
#define _MySubscriptionsDialog_h_
#include <QDialog>
#include "ui_MySubscriptionsDialog.h"
class MySubscriptionsDialog : public QDialog,
public Ui::MySubscriptionsDialog
{
Q_OBJECT
public:
MySubscriptionsDialog(QWidget * parent = 0 );
};
#endif