added to Friends own Avatar and own nick labels

changed to ShareManager Title Background 

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@1588 b45a01b8-16f6-495d-af2f-9b41ad6348cc
This commit is contained in:
defnax 2009-09-02 22:42:31 +00:00
parent 070bc5bdd3
commit c398ea4ef1
4 changed files with 827 additions and 598 deletions

View File

@ -91,6 +91,8 @@ PeersDialog::PeersDialog(QWidget *parent)
connect( ui.peertreeWidget, SIGNAL( customContextMenuRequested( QPoint ) ), this, SLOT( peertreeWidgetCostumPopupMenu( QPoint ) ) );
connect( ui.peertreeWidget, SIGNAL( itemDoubleClicked ( QTreeWidgetItem *, int)), this, SLOT(chatfriend()));
connect( ui.avatartoolButton, SIGNAL(clicked()), SLOT(getAvatar()));
/* hide the Tree +/- */
ui.peertreeWidget -> setRootIsDecorated( false );
@ -173,6 +175,8 @@ PeersDialog::PeersDialog(QWidget *parent)
ui.peertreeWidget->sortItems( 1, Qt::AscendingOrder );
updateAvatar();
/* Hide platform specific features */
#ifdef Q_WS_WIN
@ -219,6 +223,8 @@ void PeersDialog::peertreeWidgetCostumPopupMenu( QPoint point )
contextMnu.addAction( exportfriendAct);
contextMnu.addAction( removefriendAct);
contextMnu.exec( mevent->globalPos() );
updateAvatar();
}
@ -253,6 +259,17 @@ void PeersDialog::insertPeers()
peerWidget->clear();
peerWidget->setColumnCount(3);
// add self nick and Avatar to Friends.
RsPeerDetails pd ;
if (rsPeers->getPeerDetails(rsPeers->getOwnId(),pd))
{
QString titleStr("<span style=\"font-size:16pt; font-weight:500;"
"color:#32cd32;\">%1</span>");
ui.nicklabel->setText(titleStr.arg(QString::fromStdString(pd.name) + tr(" (me)"))) ;
}
QList<QTreeWidgetItem *> items;
for(it = peers.begin(); it != peers.end(); it++)
@ -1185,3 +1202,52 @@ void PeersDialog::viewprofile()
profileview -> setPeerId(id);
profileview -> show();
}
void PeersDialog::updateAvatar()
{
unsigned char *data = NULL;
int size = 0 ;
rsMsgs->getOwnAvatarData(data,size);
std::cerr << "Image size = " << size << std::endl ;
if(size == 0)
std::cerr << "Got no image" << std::endl ;
// set the image
QPixmap pix ;
pix.loadFromData(data,size,"JPG") ;
ui.avatartoolButton->setIcon(pix); // writes image into ba in JPG format
delete[] data ;
}
void PeersDialog::getAvatar()
{
QString fileName = QFileDialog::getOpenFileName(this, "Load File", QDir::homePath(), "Pictures (*.png *.xpm *.jpg)");
if(!fileName.isEmpty())
{
picture = QPixmap(fileName).scaled(82,82, Qt::IgnoreAspectRatio);
std::cerr << "Sending avatar image down the pipe" << std::endl ;
// send avatar down the pipe for other peers to get it.
QByteArray ba;
QBuffer buffer(&ba);
buffer.open(QIODevice::WriteOnly);
picture.save(&buffer, "JPG"); // writes image into ba in JPG format
std::cerr << "Image size = " << ba.size() << std::endl ;
rsMsgs->setOwnAvatarData((unsigned char *)(ba.data()),ba.size()) ; // last char 0 included.
updateAvatar() ;
}
}
void PeersDialog::changeAvatarClicked()
{
updateAvatar();
}

View File

@ -52,6 +52,8 @@ public:
void loadEmoticonsgroupchat();
// void setChatDialog(ChatDialog *cd);
QPixmap picture;
public slots:
void insertPeers();
@ -104,6 +106,11 @@ private slots:
void getFont();
void underline();
void changeAvatarClicked();
void updateAvatar();
void getAvatar();
signals:
void friendsUpdated() ;
void notifyGroupChat(const QString&,const QString&) ;

View File

@ -1,3 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>PeersDialog</class>
<widget class="QWidget" name="PeersDialog">
@ -5,8 +6,8 @@
<rect>
<x>0</x>
<y>0</y>
<width>721</width>
<height>516</height>
<width>778</width>
<height>517</height>
</rect>
</property>
<property name="palette">
@ -481,14 +482,22 @@
<property name="contextMenuPolicy">
<enum>Qt::NoContextMenu</enum>
</property>
<layout class="QGridLayout" >
<item rowspan="3" row="0" column="0" >
<layout class="QGridLayout" >
<layout class="QGridLayout" name="gridLayout_4">
<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="QGridLayout" name="gridLayout_2">
<property name="verticalSpacing">
<number>0</number>
</property>
<item row="0" column="0">
<layout class="QGridLayout">
<property name="verticalSpacing">
<number>0</number>
</property>
<item row="0" column="0">
<widget class="QLabel" name="label">
<property name="text">
@ -502,10 +511,10 @@
<item row="0" column="1">
<widget class="QLabel" name="label_2">
<property name="text">
<string>&lt;html>&lt;head>&lt;meta name="qrichtext" content="1" />&lt;style type="text/css">
<string>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
&lt;/style>&lt;/head>&lt;body style=" font-family:'Arial'; font-size:8pt; 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:9pt; font-weight:600;">Friends&lt;/span>&lt;/p>&lt;/body>&lt;/html></string>
&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'Arial'; font-size:8pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:9pt; font-weight:600;&quot;&gt;Friends&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
</widget>
</item>
@ -516,9 +525,9 @@ p, li { white-space: pre-wrap; }
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" >
<property name="sizeHint" stdset="0">
<size>
<width>201</width>
<width>168</width>
<height>20</height>
</size>
</property>
@ -526,6 +535,12 @@ p, li { white-space: pre-wrap; }
</item>
<item row="1" column="0" colspan="2">
<widget class="QTreeWidget" name="peertreeWidget">
<property name="sizePolicy">
<sizepolicy hsizetype="MinimumExpanding" vsizetype="Expanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>250</width>
@ -534,7 +549,7 @@ p, li { white-space: pre-wrap; }
</property>
<property name="maximumSize">
<size>
<width>1677215</width>
<width>16777215</width>
<height>16777215</height>
</size>
</property>
@ -577,13 +592,137 @@ p, li { white-space: pre-wrap; }
</widget>
</item>
</layout>
</widget>
<widget class="QWidget" name="layoutWidget">
<layout class="QGridLayout" name="gridLayout_3">
<item row="0" column="0">
<widget class="QFrame" name="frame">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Expanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>0</width>
<height>70</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>16777215</width>
<height>70</height>
</size>
</property>
<property name="styleSheet">
<string notr="true">background-image: url(:/images/connect/connectFriendBanner.png)</string>
</property>
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
<layout class="QGridLayout" name="gridLayout">
<property name="margin">
<number>1</number>
</property>
<item row="0" column="0">
<widget class="QToolButton" name="avatartoolButton">
<property name="minimumSize">
<size>
<width>61</width>
<height>61</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>61</width>
<height>61</height>
</size>
</property>
<property name="styleSheet">
<string notr="true">border-image: url(:/images/mystatus_bg.png);</string>
</property>
<property name="text">
<string/>
</property>
<property name="iconSize">
<size>
<width>50</width>
<height>50</height>
</size>
</property>
<property name="autoRaise">
<bool>true</bool>
</property>
</widget>
</item>
<item row="0" column="1">
<layout class="QGridLayout" >
<property name="horizontalSpacing" >
<number>0</number>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="QLabel" name="nicklabel">
<property name="minimumSize">
<size>
<width>0</width>
<height>32</height>
</size>
</property>
<property name="verticalSpacing" >
<property name="maximumSize">
<size>
<width>16777215</width>
<height>42</height>
</size>
</property>
<property name="styleSheet">
<string notr="true">
</string>
</property>
<property name="text">
<string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; font-size:9pt; font-weight:400; font-style:normal;&quot;&gt;
&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:14pt; color:#00aa00;&quot;&gt;nickname (me)&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
</widget>
</item>
<item>
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>98</width>
<height>18</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
<item row="0" column="2">
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>221</width>
<height>76</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
</item>
<item row="1" column="0">
<layout class="QGridLayout">
<property name="spacing">
<number>0</number>
</property>
<item row="0" column="0">
@ -593,7 +732,7 @@ p, li { white-space: pre-wrap; }
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" >
<property name="sizeHint" stdset="0">
<size>
<width>181</width>
<height>20</height>
@ -634,7 +773,7 @@ p, li { white-space: pre-wrap; }
<item row="1" column="0">
<widget class="QTextBrowser" name="msgText">
<property name="sizePolicy">
<sizepolicy vsizetype="Expanding" hsizetype="Expanding" >
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
@ -652,7 +791,7 @@ p, li { white-space: pre-wrap; }
</item>
</layout>
</item>
<item row="1" column="1" >
<item row="2" column="0">
<layout class="QGridLayout">
<item row="0" column="0">
<layout class="QGridLayout">
@ -661,7 +800,7 @@ p, li { white-space: pre-wrap; }
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" >
<property name="sizeHint" stdset="0">
<size>
<width>321</width>
<height>20</height>
@ -690,7 +829,8 @@ p, li { white-space: pre-wrap; }
<string/>
</property>
<property name="icon">
<iconset resource="images.qrc" >:/images/edit-italic.png</iconset>
<iconset resource="images.qrc">
<normaloff>:/images/edit-italic.png</normaloff>:/images/edit-italic.png</iconset>
</property>
<property name="checkable">
<bool>true</bool>
@ -718,7 +858,8 @@ p, li { white-space: pre-wrap; }
<string/>
</property>
<property name="icon">
<iconset resource="images.qrc" >:/images/edit-underline.png</iconset>
<iconset resource="images.qrc">
<normaloff>:/images/edit-underline.png</normaloff>:/images/edit-underline.png</iconset>
</property>
<property name="checkable">
<bool>true</bool>
@ -746,7 +887,8 @@ p, li { white-space: pre-wrap; }
<string/>
</property>
<property name="icon">
<iconset resource="images.qrc" >:/images/edit-bold.png</iconset>
<iconset resource="images.qrc">
<normaloff>:/images/edit-bold.png</normaloff>:/images/edit-bold.png</iconset>
</property>
<property name="checkable">
<bool>true</bool>
@ -815,7 +957,8 @@ p, li { white-space: pre-wrap; }
<string/>
</property>
<property name="icon">
<iconset resource="images.qrc" >:/images/emoticons/kopete/kopete020.png</iconset>
<iconset resource="images.qrc">
<normaloff>:/images/emoticons/kopete/kopete020.png</normaloff>:/images/emoticons/kopete/kopete020.png</iconset>
</property>
<property name="iconSize">
<size>
@ -849,7 +992,7 @@ p, li { white-space: pre-wrap; }
<item row="1" column="0">
<widget class="QTextEdit" name="lineEdit">
<property name="sizePolicy">
<sizepolicy vsizetype="Maximum" hsizetype="Expanding" >
<sizepolicy hsizetype="Expanding" vsizetype="Maximum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
@ -876,14 +1019,14 @@ p, li { white-space: pre-wrap; }
</item>
</layout>
</item>
<item row="2" column="1" >
<item row="3" column="0">
<layout class="QGridLayout">
<item row="0" column="0">
<spacer>
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" >
<property name="sizeHint" stdset="0">
<size>
<width>321</width>
<height>20</height>
@ -901,6 +1044,10 @@ p, li { white-space: pre-wrap; }
</layout>
</item>
</layout>
</widget>
</widget>
</item>
</layout>
<action name="actionClearChat">
<property name="text">
<string>Clear Chat History</string>

View File

@ -17,12 +17,20 @@
<iconset resource="images.qrc">
<normaloff>:/images/rstray3.png</normaloff>:/images/rstray3.png</iconset>
</property>
<layout class="QGridLayout">
<layout class="QGridLayout" name="gridLayout_2">
<item row="0" column="0" colspan="4">
<layout class="QGridLayout">
<property name="horizontalSpacing">
<number>0</number>
<widget class="QFrame" name="frame">
<property name="styleSheet">
<string notr="true">background-image: url(:/images/connect/connectFriendBanner.png)
</string>
</property>
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
<layout class="QGridLayout" name="gridLayout">
<item row="0" column="0">
<widget class="QLabel" name="piclabel">
<property name="minimumSize">
@ -38,7 +46,7 @@
</size>
</property>
<property name="styleSheet">
<string notr="true">background-image: url(:/images/connect/connectFriendBanner.png)v</string>
<string notr="true"/>
</property>
<property name="text">
<string/>
@ -51,7 +59,7 @@
<item row="0" column="1">
<widget class="QLabel" name="label_2">
<property name="styleSheet">
<string notr="true">background-image: url(:/images/connect/connectFriendBanner.png)</string>
<string notr="true"/>
</property>
<property name="text">
<string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
@ -64,6 +72,7 @@ p, li { white-space: pre-wrap; }
</widget>
</item>
</layout>
</widget>
</item>
<item row="1" column="0" colspan="4">
<widget class="QGroupBox" name="groupBox">