mirror of
https://github.com/RetroShare/RetroShare.git
synced 2024-10-01 02:35:48 -04:00
Added avatar image to ConfCertDialog (defnax).
Added new class AvatarDefs to get the avatar for a ssl id or gpg id. git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@4585 b45a01b8-16f6-495d-af2f-9b41ad6348cc
This commit is contained in:
parent
0591ef0432
commit
b35d32ef15
@ -303,6 +303,7 @@ HEADERS += rshare.h \
|
|||||||
gui/common/vmessagebox.h \
|
gui/common/vmessagebox.h \
|
||||||
gui/common/rwindow.h \
|
gui/common/rwindow.h \
|
||||||
gui/common/html.h \
|
gui/common/html.h \
|
||||||
|
gui/common/AvatarDefs.h \
|
||||||
gui/common/StatusDefs.h \
|
gui/common/StatusDefs.h \
|
||||||
gui/common/TagDefs.h \
|
gui/common/TagDefs.h \
|
||||||
gui/common/GroupDefs.h \
|
gui/common/GroupDefs.h \
|
||||||
@ -523,6 +524,7 @@ SOURCES += main.cpp \
|
|||||||
gui/common/vmessagebox.cpp \
|
gui/common/vmessagebox.cpp \
|
||||||
gui/common/rwindow.cpp \
|
gui/common/rwindow.cpp \
|
||||||
gui/common/html.cpp \
|
gui/common/html.cpp \
|
||||||
|
gui/common/AvatarDefs.cpp \
|
||||||
gui/common/StatusDefs.cpp \
|
gui/common/StatusDefs.cpp \
|
||||||
gui/common/TagDefs.cpp \
|
gui/common/TagDefs.cpp \
|
||||||
gui/common/GroupDefs.cpp \
|
gui/common/GroupDefs.cpp \
|
||||||
|
@ -60,6 +60,7 @@
|
|||||||
#include "feeds/AttachFileItem.h"
|
#include "feeds/AttachFileItem.h"
|
||||||
#include "im_history/ImHistoryBrowser.h"
|
#include "im_history/ImHistoryBrowser.h"
|
||||||
#include "common/RSTreeWidgetItem.h"
|
#include "common/RSTreeWidgetItem.h"
|
||||||
|
#include "gui/common/AvatarDefs.h"
|
||||||
|
|
||||||
#include "RetroShareLink.h"
|
#include "RetroShareLink.h"
|
||||||
|
|
||||||
@ -1795,26 +1796,11 @@ void FriendsDialog::viewprofile()
|
|||||||
|
|
||||||
void FriendsDialog::updateAvatar()
|
void FriendsDialog::updateAvatar()
|
||||||
{
|
{
|
||||||
unsigned char *data = NULL;
|
QPixmap avatar;
|
||||||
int size = 0 ;
|
AvatarDefs::getOwnAvatar(avatar, "");
|
||||||
|
ui.avatartoolButton->setIcon(avatar);
|
||||||
rsMsgs->getOwnAvatarData(data,size);
|
|
||||||
|
|
||||||
#ifdef FRIENDS_DEBUG
|
|
||||||
std::cerr << "Image size = " << size << std::endl ;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
if(size == 0)
|
|
||||||
std::cerr << "Got no image" << std::endl ;
|
|
||||||
|
|
||||||
// set the image
|
|
||||||
QPixmap pix ;
|
|
||||||
pix.loadFromData(data,size,"PNG") ;
|
|
||||||
ui.avatartoolButton->setIcon(pix); // writes image into ba in PNG format
|
|
||||||
|
|
||||||
PopupChatDialog::updateAllAvatars();
|
PopupChatDialog::updateAllAvatars();
|
||||||
|
|
||||||
delete[] data ;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void FriendsDialog::getAvatar()
|
void FriendsDialog::getAvatar()
|
||||||
|
@ -53,6 +53,7 @@
|
|||||||
#include "util/misc.h"
|
#include "util/misc.h"
|
||||||
#include "settings/rsharesettings.h"
|
#include "settings/rsharesettings.h"
|
||||||
#include "common/RSTreeWidgetItem.h"
|
#include "common/RSTreeWidgetItem.h"
|
||||||
|
#include "common/AvatarDefs.h"
|
||||||
|
|
||||||
#include "RetroShareLink.h"
|
#include "RetroShareLink.h"
|
||||||
|
|
||||||
@ -681,20 +682,10 @@ void MessengerWindow::insertPeers()
|
|||||||
|
|
||||||
gpg_item -> setText(COLUMN_STATE, StatusDefs::name(it->status));
|
gpg_item -> setText(COLUMN_STATE, StatusDefs::name(it->status));
|
||||||
|
|
||||||
unsigned char *data = NULL;
|
QPixmap avatar;
|
||||||
int size = 0 ;
|
AvatarDefs::getAvatarFromSslId(it->id, avatar, ":/images/no_avatar_70.png");
|
||||||
rsMsgs->getAvatarData(it->id ,data,size);
|
QIcon avatar_icon(avatar);
|
||||||
|
gpg_item->setIcon(COLUMN_STATE, avatar_icon);
|
||||||
if(size != 0){
|
|
||||||
QPixmap avatar ;
|
|
||||||
avatar.loadFromData(data,size,"PNG") ;
|
|
||||||
QIcon avatar_icon(avatar);
|
|
||||||
gpg_item-> setIcon(COLUMN_STATE, avatar_icon);
|
|
||||||
delete[] data;
|
|
||||||
|
|
||||||
} else {
|
|
||||||
gpg_item -> setIcon(COLUMN_STATE,(QIcon(":/images/no_avatar_70.png")));
|
|
||||||
}
|
|
||||||
|
|
||||||
switch (it->status) {
|
switch (it->status) {
|
||||||
case RS_STATUS_INACTIVE:
|
case RS_STATUS_INACTIVE:
|
||||||
@ -1087,22 +1078,9 @@ void MessengerWindow::sendMessage()
|
|||||||
|
|
||||||
void MessengerWindow::updateAvatar()
|
void MessengerWindow::updateAvatar()
|
||||||
{
|
{
|
||||||
unsigned char *data = NULL;
|
QPixmap avatar;
|
||||||
int size = 0 ;
|
AvatarDefs::getOwnAvatar(avatar);
|
||||||
|
ui.avatarButton->setIcon(avatar);
|
||||||
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,"PNG") ;
|
|
||||||
ui.avatarButton->setIcon(pix); // writes image into ba in PNG format
|
|
||||||
|
|
||||||
delete[] data ;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void MessengerWindow::getAvatar()
|
void MessengerWindow::getAvatar()
|
||||||
|
@ -51,6 +51,7 @@
|
|||||||
#include "gui/notifyqt.h"
|
#include "gui/notifyqt.h"
|
||||||
#include "../RsAutoUpdatePage.h"
|
#include "../RsAutoUpdatePage.h"
|
||||||
#include "gui/common/StatusDefs.h"
|
#include "gui/common/StatusDefs.h"
|
||||||
|
#include "gui/common/AvatarDefs.h"
|
||||||
#include "gui/common/Emoticons.h"
|
#include "gui/common/Emoticons.h"
|
||||||
#include "gui/im_history/ImHistoryBrowser.h"
|
#include "gui/im_history/ImHistoryBrowser.h"
|
||||||
|
|
||||||
@ -163,7 +164,7 @@ PopupChatDialog::PopupChatDialog(const std::string &id, const QString &name, QWi
|
|||||||
colorChanged(mCurrentColor);
|
colorChanged(mCurrentColor);
|
||||||
fontChanged(mCurrentFont);
|
fontChanged(mCurrentFont);
|
||||||
|
|
||||||
updateAvatar() ;
|
updateOwnAvatar() ;
|
||||||
updatePeerAvatar(id) ;
|
updatePeerAvatar(id) ;
|
||||||
|
|
||||||
// load settings
|
// load settings
|
||||||
@ -415,7 +416,7 @@ void PopupChatDialog::chatFriend(const std::string &id)
|
|||||||
/*static*/ void PopupChatDialog::updateAllAvatars()
|
/*static*/ void PopupChatDialog::updateAllAvatars()
|
||||||
{
|
{
|
||||||
for(std::map<std::string, PopupChatDialog *>::const_iterator it(chatDialogs.begin());it!=chatDialogs.end();++it)
|
for(std::map<std::string, PopupChatDialog *>::const_iterator it(chatDialogs.begin());it!=chatDialogs.end();++it)
|
||||||
it->second->updateAvatar() ;
|
it->second->updateOwnAvatar() ;
|
||||||
}
|
}
|
||||||
|
|
||||||
void PopupChatDialog::focusDialog()
|
void PopupChatDialog::focusDialog()
|
||||||
@ -846,59 +847,21 @@ void PopupChatDialog::on_actionDelete_Chat_History_triggered()
|
|||||||
|
|
||||||
void PopupChatDialog::updatePeerAvatar(const std::string& peer_id)
|
void PopupChatDialog::updatePeerAvatar(const std::string& peer_id)
|
||||||
{
|
{
|
||||||
#ifdef CHAT_DEBUG
|
#ifdef CHAT_DEBUG
|
||||||
std::cerr << "popupchatDialog::updatePeerAvatar() updating avatar for peer " << peer_id << std::endl ;
|
std::cerr << "popupchatDialog::updatePeerAvatar() updating avatar for peer " << peer_id << std::endl ;
|
||||||
std::cerr << "Requesting avatar image for peer " << peer_id << std::endl ;
|
std::cerr << "Requesting avatar image for peer " << peer_id << std::endl ;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
unsigned char *data = NULL;
|
QPixmap avatar;
|
||||||
int size = 0 ;
|
AvatarDefs::getAvatarFromSslId(peer_id, avatar);
|
||||||
|
ui.avatarlabel->setPixmap(avatar);
|
||||||
rsMsgs->getAvatarData(peer_id,data,size);
|
|
||||||
|
|
||||||
#ifdef CHAT_DEBUG
|
|
||||||
std::cerr << "Image size = " << size << std::endl;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
if(size == 0) {
|
|
||||||
#ifdef CHAT_DEBUG
|
|
||||||
std::cerr << "Got no image" << std::endl ;
|
|
||||||
#endif
|
|
||||||
ui.avatarlabel->setPixmap(QPixmap(":/images/no_avatar_background.png"));
|
|
||||||
return ;
|
|
||||||
}
|
|
||||||
|
|
||||||
// set the image
|
|
||||||
QPixmap pix ;
|
|
||||||
pix.loadFromData(data,size,"PNG") ;
|
|
||||||
ui.avatarlabel->setPixmap(pix); // writes image into ba in JPG format
|
|
||||||
|
|
||||||
delete[] data ;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void PopupChatDialog::updateAvatar()
|
void PopupChatDialog::updateOwnAvatar()
|
||||||
{
|
{
|
||||||
unsigned char *data = NULL;
|
QPixmap avatar;
|
||||||
int size = 0 ;
|
AvatarDefs::getOwnAvatar(avatar);
|
||||||
|
ui.myavatarlabel->setPixmap(avatar);
|
||||||
rsMsgs->getOwnAvatarData(data,size);
|
|
||||||
|
|
||||||
#ifdef CHAT_DEBUG
|
|
||||||
std::cerr << "Image size = " << size << std::endl ;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
if(size == 0) {
|
|
||||||
#ifdef CHAT_DEBUG
|
|
||||||
std::cerr << "Got no image" << std::endl ;
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
// set the image
|
|
||||||
QPixmap pix ;
|
|
||||||
pix.loadFromData(data,size,"PNG") ;
|
|
||||||
ui.myavatarlabel->setPixmap(pix); // writes image into ba in PNGformat
|
|
||||||
|
|
||||||
delete[] data ;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void PopupChatDialog::addExtraFile()
|
void PopupChatDialog::addExtraFile()
|
||||||
|
@ -81,7 +81,7 @@ protected:
|
|||||||
void insertChatMsgs();
|
void insertChatMsgs();
|
||||||
void addChatMsg(bool incoming, const std::string &id, const QString &name, const QDateTime &sendTime, const QDateTime &recvTime, const QString &message, enumChatType chatType, bool addToHistory);
|
void addChatMsg(bool incoming, const std::string &id, const QString &name, const QDateTime &sendTime, const QDateTime &recvTime, const QString &message, enumChatType chatType, bool addToHistory);
|
||||||
|
|
||||||
void updateAvatar();
|
void updateOwnAvatar();
|
||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
void pasteLink() ;
|
void pasteLink() ;
|
||||||
|
97
retroshare-gui/src/gui/common/AvatarDefs.cpp
Normal file
97
retroshare-gui/src/gui/common/AvatarDefs.cpp
Normal file
@ -0,0 +1,97 @@
|
|||||||
|
/****************************************************************
|
||||||
|
* This file is distributed under the following license:
|
||||||
|
*
|
||||||
|
* Copyright (c) 2010, 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 <QPixmap>
|
||||||
|
|
||||||
|
#include <retroshare/rsmsgs.h>
|
||||||
|
#include <retroshare/rspeers.h>
|
||||||
|
|
||||||
|
#include "AvatarDefs.h"
|
||||||
|
|
||||||
|
void AvatarDefs::getOwnAvatar(QPixmap &avatar, const QString& defaultImage)
|
||||||
|
{
|
||||||
|
unsigned char *data = NULL;
|
||||||
|
int size = 0;
|
||||||
|
|
||||||
|
/* get avatar */
|
||||||
|
rsMsgs->getOwnAvatarData(data, size);
|
||||||
|
|
||||||
|
if (size == 0) {
|
||||||
|
avatar = QPixmap(defaultImage);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* load image */
|
||||||
|
avatar.loadFromData(data, size, "PNG") ;
|
||||||
|
|
||||||
|
delete[] data;
|
||||||
|
}
|
||||||
|
|
||||||
|
void AvatarDefs::getAvatarFromSslId(const std::string& sslId, QPixmap &avatar, const QString& defaultImage)
|
||||||
|
{
|
||||||
|
unsigned char *data = NULL;
|
||||||
|
int size = 0;
|
||||||
|
|
||||||
|
/* get avatar */
|
||||||
|
rsMsgs->getAvatarData(sslId, data, size);
|
||||||
|
if (size == 0) {
|
||||||
|
avatar = QPixmap(defaultImage);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* load image */
|
||||||
|
avatar.loadFromData(data, size, "PNG") ;
|
||||||
|
|
||||||
|
delete[] data;
|
||||||
|
}
|
||||||
|
|
||||||
|
void AvatarDefs::getAvatarFromGpgId(const std::string& gpgId, QPixmap &avatar, const QString& defaultImage)
|
||||||
|
{
|
||||||
|
unsigned char *data = NULL;
|
||||||
|
int size = 0;
|
||||||
|
|
||||||
|
if (gpgId == rsPeers->getGPGOwnId()) {
|
||||||
|
/* Its me */
|
||||||
|
rsMsgs->getOwnAvatarData(data,size);
|
||||||
|
} else {
|
||||||
|
/* get the first available avatar of one of the ssl ids */
|
||||||
|
std::list<std::string> sslIds;
|
||||||
|
if (rsPeers->getAssociatedSSLIds(gpgId, sslIds)) {
|
||||||
|
std::list<std::string>::iterator sslId;
|
||||||
|
for (sslId = sslIds.begin(); sslId != sslIds.end(); sslId++) {
|
||||||
|
rsMsgs->getAvatarData(*sslId, data, size);
|
||||||
|
if (size) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (size == 0) {
|
||||||
|
avatar = QPixmap(defaultImage);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* load image */
|
||||||
|
avatar.loadFromData(data, size, "PNG") ;
|
||||||
|
|
||||||
|
delete[] data;
|
||||||
|
}
|
42
retroshare-gui/src/gui/common/AvatarDefs.h
Normal file
42
retroshare-gui/src/gui/common/AvatarDefs.h
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
/****************************************************************
|
||||||
|
* This file is distributed under the following license:
|
||||||
|
*
|
||||||
|
* Copyright (c) 2010, 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.
|
||||||
|
****************************************************************/
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef _AVATARDEFS_H
|
||||||
|
#define _AVATARDEFS_H
|
||||||
|
|
||||||
|
#include <string>
|
||||||
|
#include <QString>
|
||||||
|
|
||||||
|
#define AVATAR_DEFAULT_IMAGE ":/images/no_avatar_background.png"
|
||||||
|
|
||||||
|
class QPixmap;
|
||||||
|
|
||||||
|
class AvatarDefs
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
static void getOwnAvatar(QPixmap &avatar, const QString& defaultImage = AVATAR_DEFAULT_IMAGE);
|
||||||
|
static void getAvatarFromSslId(const std::string& sslId, QPixmap &avatar, const QString& defaultImage = AVATAR_DEFAULT_IMAGE);
|
||||||
|
static void getAvatarFromGpgId(const std::string& gpgId, QPixmap &avatar, const QString& defaultImage = AVATAR_DEFAULT_IMAGE);
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
@ -32,11 +32,14 @@
|
|||||||
|
|
||||||
#include <retroshare/rspeers.h>
|
#include <retroshare/rspeers.h>
|
||||||
#include <retroshare/rsdisc.h>
|
#include <retroshare/rsdisc.h>
|
||||||
|
#include <retroshare/rsmsgs.h>
|
||||||
|
|
||||||
#include "gui/help/browser/helpbrowser.h"
|
#include "gui/help/browser/helpbrowser.h"
|
||||||
#include "gui/common/PeerDefs.h"
|
#include "gui/common/PeerDefs.h"
|
||||||
#include "gui/common/StatusDefs.h"
|
#include "gui/common/StatusDefs.h"
|
||||||
#include "gui/RetroShareLink.h"
|
#include "gui/RetroShareLink.h"
|
||||||
|
#include "gui/notifyqt.h"
|
||||||
|
#include "gui/common/AvatarDefs.h"
|
||||||
|
|
||||||
#ifndef MINIMAL_RSGUI
|
#ifndef MINIMAL_RSGUI
|
||||||
#include "gui/MainWindow.h"
|
#include "gui/MainWindow.h"
|
||||||
@ -76,6 +79,10 @@ ConfCertDialog::ConfCertDialog(const std::string& id, QWidget *parent, Qt::WFlag
|
|||||||
connect(ui.signKeyButton, SIGNAL(clicked()), this, SLOT(signGPGKey()));
|
connect(ui.signKeyButton, SIGNAL(clicked()), this, SLOT(signGPGKey()));
|
||||||
connect(ui.trusthelpButton, SIGNAL(clicked()), this, SLOT(showHelpDialog()));
|
connect(ui.trusthelpButton, SIGNAL(clicked()), this, SLOT(showHelpDialog()));
|
||||||
|
|
||||||
|
connect(NotifyQt::getInstance(), SIGNAL(peerHasNewAvatar(const QString&)), this, SLOT(updatePeersAvatar(const QString&)));
|
||||||
|
|
||||||
|
isOnlyGpg = false;
|
||||||
|
|
||||||
#ifndef MINIMAL_RSGUI
|
#ifndef MINIMAL_RSGUI
|
||||||
MainWindow *w = MainWindow::getInstance();
|
MainWindow *w = MainWindow::getInstance();
|
||||||
if (w) {
|
if (w) {
|
||||||
@ -136,6 +143,8 @@ void ConfCertDialog::load()
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
isOnlyGpg = detail.isOnlyGPGdetail;
|
||||||
|
|
||||||
ui.name->setText(QString::fromUtf8(detail.name.c_str()));
|
ui.name->setText(QString::fromUtf8(detail.name.c_str()));
|
||||||
ui.peerid->setText(QString::fromStdString(detail.id));
|
ui.peerid->setText(QString::fromStdString(detail.id));
|
||||||
|
|
||||||
@ -326,6 +335,8 @@ void ConfCertDialog::load()
|
|||||||
font.setStyle(QFont::StyleNormal);
|
font.setStyle(QFont::StyleNormal);
|
||||||
ui.userCertificateText->setFont(font);
|
ui.userCertificateText->setFont(font);
|
||||||
ui.userCertificateText->setText(QString::fromUtf8(invite.c_str()));
|
ui.userCertificateText->setText(QString::fromUtf8(invite.c_str()));
|
||||||
|
|
||||||
|
updatePeersAvatar(QString::fromStdString(mId));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -439,3 +450,20 @@ void ConfCertDialog::showHelpDialog(const QString &topic)
|
|||||||
helpBrowser = new HelpBrowser(this);
|
helpBrowser = new HelpBrowser(this);
|
||||||
helpBrowser->showWindow(topic);
|
helpBrowser->showWindow(topic);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void ConfCertDialog::updatePeersAvatar(const QString& peer_id)
|
||||||
|
{
|
||||||
|
if (isOnlyGpg) {
|
||||||
|
QPixmap avatar;
|
||||||
|
AvatarDefs::getAvatarFromGpgId(mId, avatar);
|
||||||
|
ui.AvatarLabel->setPixmap(avatar);
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (mId == peer_id.toStdString()) {
|
||||||
|
QPixmap avatar;
|
||||||
|
AvatarDefs::getAvatarFromSslId(mId, avatar);
|
||||||
|
ui.AvatarLabel->setPixmap(avatar);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@ -60,8 +60,11 @@ private slots:
|
|||||||
/** Called when a child window requests the given help <b>topic</b>. */
|
/** Called when a child window requests the given help <b>topic</b>. */
|
||||||
void showHelpDialog(const QString &topic);
|
void showHelpDialog(const QString &topic);
|
||||||
|
|
||||||
|
void updatePeersAvatar(const QString& peer_id);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
std::string mId;
|
std::string mId;
|
||||||
|
bool isOnlyGpg;
|
||||||
|
|
||||||
/** Qt Designer generated object */
|
/** Qt Designer generated object */
|
||||||
Ui::ConfCertDialog ui;
|
Ui::ConfCertDialog ui;
|
||||||
|
@ -6,8 +6,8 @@
|
|||||||
<rect>
|
<rect>
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>520</width>
|
<width>469</width>
|
||||||
<height>639</height>
|
<height>528</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<property name="windowTitle">
|
<property name="windowTitle">
|
||||||
@ -21,7 +21,7 @@
|
|||||||
<item row="0" column="0">
|
<item row="0" column="0">
|
||||||
<widget class="QTabWidget" name="stabWidget">
|
<widget class="QTabWidget" name="stabWidget">
|
||||||
<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">
|
||||||
@ -31,8 +31,21 @@
|
|||||||
<attribute name="title">
|
<attribute name="title">
|
||||||
<string>Details</string>
|
<string>Details</string>
|
||||||
</attribute>
|
</attribute>
|
||||||
<layout class="QGridLayout">
|
<layout class="QGridLayout" name="gridLayout_3">
|
||||||
<item row="0" column="0">
|
<item row="0" column="0">
|
||||||
|
<widget class="QLabel" name="AvatarLabel">
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>96</width>
|
||||||
|
<height>96</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string/>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="1" rowspan="2">
|
||||||
<widget class="QGroupBox" name="groupBox_2">
|
<widget class="QGroupBox" name="groupBox_2">
|
||||||
<property name="title">
|
<property name="title">
|
||||||
<string>Peer Info</string>
|
<string>Peer Info</string>
|
||||||
@ -160,10 +173,36 @@
|
|||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
<item row="8" column="0">
|
||||||
|
<spacer name="verticalSpacer_5">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Vertical</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeHint" stdset="0">
|
||||||
|
<size>
|
||||||
|
<width>20</width>
|
||||||
|
<height>40</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</spacer>
|
||||||
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="1" column="0">
|
<item row="1" column="0">
|
||||||
|
<spacer name="verticalSpacer_4">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Vertical</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeHint" stdset="0">
|
||||||
|
<size>
|
||||||
|
<width>68</width>
|
||||||
|
<height>126</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</spacer>
|
||||||
|
</item>
|
||||||
|
<item row="2" column="0" colspan="2">
|
||||||
<widget class="QGroupBox" name="groupBox">
|
<widget class="QGroupBox" name="groupBox">
|
||||||
<property name="title">
|
<property name="title">
|
||||||
<string>Peer Address</string>
|
<string>Peer Address</string>
|
||||||
@ -327,7 +366,7 @@
|
|||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="2" column="0">
|
<item row="3" column="0" colspan="2">
|
||||||
<spacer name="verticalSpacer">
|
<spacer name="verticalSpacer">
|
||||||
<property name="orientation">
|
<property name="orientation">
|
||||||
<enum>Qt::Vertical</enum>
|
<enum>Qt::Vertical</enum>
|
||||||
|
@ -27,6 +27,7 @@
|
|||||||
#include "../RsAutoUpdatePage.h"
|
#include "../RsAutoUpdatePage.h"
|
||||||
#include "gui/msgs/MessageComposer.h"
|
#include "gui/msgs/MessageComposer.h"
|
||||||
#include "gui/chat/HandleRichText.h"
|
#include "gui/chat/HandleRichText.h"
|
||||||
|
#include "gui/common/AvatarDefs.h"
|
||||||
#include "gui/settings/rsharesettings.h"
|
#include "gui/settings/rsharesettings.h"
|
||||||
|
|
||||||
#include "gui/notifyqt.h"
|
#include "gui/notifyqt.h"
|
||||||
@ -228,25 +229,10 @@ void ChatMsgItem::updateAvatar(const QString &peer_id)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
unsigned char *data = NULL;
|
QPixmap avatar;
|
||||||
int size = 0 ;
|
AvatarDefs::getAvatarFromSslId(mPeerId, avatar, ":/images/user/personal64.png");
|
||||||
|
avatar_label->setPixmap(avatar);
|
||||||
rsMsgs->getAvatarData(mPeerId,data,size);
|
}
|
||||||
|
|
||||||
if(size != 0)
|
|
||||||
{
|
|
||||||
// set the image
|
|
||||||
QPixmap pix ;
|
|
||||||
pix.loadFromData(data,size,"PNG") ;
|
|
||||||
avatar_label->setPixmap(pix);
|
|
||||||
delete[] data ;
|
|
||||||
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
avatar_label->setPixmap(QPixmap(":/images/user/personal64.png"));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void ChatMsgItem::togglequickmessage()
|
void ChatMsgItem::togglequickmessage()
|
||||||
{
|
{
|
||||||
|
@ -34,6 +34,7 @@
|
|||||||
|
|
||||||
#include "gui/forums/CreateForumMsg.h"
|
#include "gui/forums/CreateForumMsg.h"
|
||||||
#include "gui/chat/HandleRichText.h"
|
#include "gui/chat/HandleRichText.h"
|
||||||
|
#include "gui/common/AvatarDefs.h"
|
||||||
|
|
||||||
#include <algorithm>
|
#include <algorithm>
|
||||||
|
|
||||||
@ -429,46 +430,26 @@ void ForumMsgItem::updateAvatar(const QString &peer_id)
|
|||||||
void ForumMsgItem::showAvatar(const std::string &peer_id, bool next)
|
void ForumMsgItem::showAvatar(const std::string &peer_id, bool next)
|
||||||
{
|
{
|
||||||
std::string gpgId = next ? mGpgIdNext : mGpgIdPrev;
|
std::string gpgId = next ? mGpgIdNext : mGpgIdPrev;
|
||||||
QLabel *avatar = next ? nextavatarlabel : avatarlabel;
|
QLabel *avatarLabel = next ? nextavatarlabel : avatarlabel;
|
||||||
|
|
||||||
if (gpgId.empty()) {
|
if (gpgId.empty()) {
|
||||||
avatar->setPixmap(QPixmap(":/images/user/personal64.png"));
|
avatarLabel->setPixmap(QPixmap(":/images/user/personal64.png"));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
unsigned char *data = NULL;
|
QPixmap avatar;
|
||||||
int size = 0 ;
|
|
||||||
|
|
||||||
if (gpgId == rsPeers->getGPGOwnId()) {
|
if (gpgId == rsPeers->getGPGOwnId()) {
|
||||||
/* Its me */
|
/* Its me */
|
||||||
rsMsgs->getOwnAvatarData(data,size);
|
AvatarDefs::getOwnAvatar(avatar, ":/images/user/personal64.png");
|
||||||
} else {
|
} else {
|
||||||
if (peer_id.empty()) {
|
if (peer_id.empty()) {
|
||||||
/* Show the first available avatar of one of the ssl ids */
|
/* Show the first available avatar of one of the ssl ids */
|
||||||
std::list<std::string> sslIds;
|
AvatarDefs::getAvatarFromGpgId(gpgId, avatar, ":/images/user/personal64.png");
|
||||||
if (rsPeers->getAssociatedSSLIds(gpgId, sslIds) == false) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
std::list<std::string>::iterator sslId;
|
|
||||||
for (sslId = sslIds.begin(); sslId != sslIds.end(); sslId++) {
|
|
||||||
rsMsgs->getAvatarData(*sslId,data,size);
|
|
||||||
if (size) {
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
rsMsgs->getAvatarData(peer_id,data,size);
|
AvatarDefs::getAvatarFromSslId(peer_id, avatar, ":/images/user/personal64.png");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(size != 0) {
|
avatarLabel->setPixmap(avatar);
|
||||||
// set the image
|
|
||||||
QPixmap pix ;
|
|
||||||
pix.loadFromData(data,size,"PNG") ;
|
|
||||||
avatar->setPixmap(pix);
|
|
||||||
delete[] data ;
|
|
||||||
} else {
|
|
||||||
avatar->setPixmap(QPixmap(":/images/user/personal64.png"));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -27,6 +27,7 @@
|
|||||||
#include "SubFileItem.h"
|
#include "SubFileItem.h"
|
||||||
#include "gui/msgs/MessageComposer.h"
|
#include "gui/msgs/MessageComposer.h"
|
||||||
#include "gui/chat/HandleRichText.h"
|
#include "gui/chat/HandleRichText.h"
|
||||||
|
#include "gui/common/AvatarDefs.h"
|
||||||
#include "gui/notifyqt.h"
|
#include "gui/notifyqt.h"
|
||||||
|
|
||||||
#include <retroshare/rsmsgs.h>
|
#include <retroshare/rsmsgs.h>
|
||||||
@ -283,23 +284,8 @@ void MsgItem::updateAvatar(const QString &peer_id)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
unsigned char *data = NULL;
|
QPixmap avatar;
|
||||||
int size = 0 ;
|
AvatarDefs::getAvatarFromSslId(mPeerId, avatar, ":/images/user/personal64.png");
|
||||||
|
avatarlabel->setPixmap(avatar);
|
||||||
rsMsgs->getAvatarData(mPeerId,data,size);
|
}
|
||||||
|
|
||||||
if(size != 0)
|
|
||||||
{
|
|
||||||
// set the image
|
|
||||||
QPixmap pix ;
|
|
||||||
pix.loadFromData(data,size,"PNG") ;
|
|
||||||
avatarlabel->setPixmap(pix);
|
|
||||||
delete[] data ;
|
|
||||||
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
avatarlabel->setPixmap(QPixmap(":/images/user/personal64.png"));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
@ -27,6 +27,7 @@
|
|||||||
#include "../RsAutoUpdatePage.h"
|
#include "../RsAutoUpdatePage.h"
|
||||||
#include "gui/msgs/MessageComposer.h"
|
#include "gui/msgs/MessageComposer.h"
|
||||||
#include "gui/common/StatusDefs.h"
|
#include "gui/common/StatusDefs.h"
|
||||||
|
#include "gui/common/AvatarDefs.h"
|
||||||
|
|
||||||
#include "gui/notifyqt.h"
|
#include "gui/notifyqt.h"
|
||||||
|
|
||||||
@ -315,24 +316,10 @@ void PeerItem::updateAvatar(const QString &peer_id)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
unsigned char *data = NULL;
|
QPixmap avatar;
|
||||||
int size = 0 ;
|
AvatarDefs::getAvatarFromSslId(mPeerId, avatar, ":/images/user/personal64.png");
|
||||||
|
avatar_label->setPixmap(avatar);
|
||||||
rsMsgs->getAvatarData(mPeerId,data,size);
|
}
|
||||||
|
|
||||||
if(size != 0)
|
|
||||||
{
|
|
||||||
// set the image
|
|
||||||
QPixmap pix ;
|
|
||||||
pix.loadFromData(data,size,"PNG") ;
|
|
||||||
avatar_label->setPixmap(pix);
|
|
||||||
delete[] data ;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
avatar_label->setPixmap(QPixmap(":/images/user/personal64.png"));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void PeerItem::togglequickmessage()
|
void PeerItem::togglequickmessage()
|
||||||
{
|
{
|
||||||
|
@ -29,6 +29,7 @@
|
|||||||
#include "gui/msgs/MessageComposer.h"
|
#include "gui/msgs/MessageComposer.h"
|
||||||
#include "gui/common/StatusDefs.h"
|
#include "gui/common/StatusDefs.h"
|
||||||
#include "gui/connect/ConfCertDialog.h"
|
#include "gui/connect/ConfCertDialog.h"
|
||||||
|
#include "gui/common/AvatarDefs.h"
|
||||||
|
|
||||||
#include "gui/notifyqt.h"
|
#include "gui/notifyqt.h"
|
||||||
|
|
||||||
@ -385,23 +386,9 @@ void SecurityItem::updateAvatar(const QString &peer_id)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
unsigned char *data = NULL;
|
QPixmap avatar;
|
||||||
int size = 0 ;
|
AvatarDefs::getAvatarFromSslId(mSslId, avatar, ":/images/user/personal64.png");
|
||||||
|
avatar_label->setPixmap(avatar);
|
||||||
rsMsgs->getAvatarData(mSslId, data, size);
|
|
||||||
|
|
||||||
if(size != 0)
|
|
||||||
{
|
|
||||||
// set the image
|
|
||||||
QPixmap pix ;
|
|
||||||
pix.loadFromData(data,size,"PNG") ;
|
|
||||||
avatar_label->setPixmap(pix);
|
|
||||||
delete[] data ;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
avatar_label->setPixmap(QPixmap(":/images/user/personal64.png"));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void SecurityItem::togglequickmessage()
|
void SecurityItem::togglequickmessage()
|
||||||
|
@ -456,15 +456,11 @@ void NotifyQt::UpdateGUI()
|
|||||||
|
|
||||||
/* id the name */
|
/* id the name */
|
||||||
QString name;
|
QString name;
|
||||||
unsigned char *data = NULL;
|
|
||||||
int size = 0 ;
|
|
||||||
|
|
||||||
if (type == RS_POPUP_DOWNLOAD) {
|
if (type == RS_POPUP_DOWNLOAD) {
|
||||||
/* id = file hash */
|
/* id = file hash */
|
||||||
} else {
|
} else {
|
||||||
name = QString::fromUtf8(rsPeers->getPeerName(id).c_str());
|
name = QString::fromUtf8(rsPeers->getPeerName(id).c_str());
|
||||||
|
|
||||||
rsMsgs->getAvatarData(id,data,size);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
switch(type)
|
switch(type)
|
||||||
@ -478,18 +474,7 @@ void NotifyQt::UpdateGUI()
|
|||||||
case RS_POPUP_CONNECT:
|
case RS_POPUP_CONNECT:
|
||||||
if (popupflags & RS_POPUP_CONNECT)
|
if (popupflags & RS_POPUP_CONNECT)
|
||||||
{
|
{
|
||||||
QPixmap avatar;
|
toaster = new Toaster(new OnlineToaster(id, name));
|
||||||
if(size != 0)
|
|
||||||
{
|
|
||||||
// set the image
|
|
||||||
avatar.loadFromData(data,size,"PNG");
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
avatar = QPixmap(":/images/user/personal64.png");
|
|
||||||
}
|
|
||||||
|
|
||||||
toaster = new Toaster(new OnlineToaster(id, name, avatar));
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case RS_POPUP_DOWNLOAD:
|
case RS_POPUP_DOWNLOAD:
|
||||||
@ -500,10 +485,6 @@ void NotifyQt::UpdateGUI()
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (data) {
|
|
||||||
delete[] data;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (toaster) {
|
if (toaster) {
|
||||||
/* init attributes */
|
/* init attributes */
|
||||||
toaster->widget->setWindowFlags(Qt::ToolTip | Qt::WindowStaysOnTopHint);
|
toaster->widget->setWindowFlags(Qt::ToolTip | Qt::WindowStaysOnTopHint);
|
||||||
|
@ -23,8 +23,9 @@
|
|||||||
#include "gui/settings/rsharesettings.h"
|
#include "gui/settings/rsharesettings.h"
|
||||||
#include "gui/chat/PopupChatDialog.h"
|
#include "gui/chat/PopupChatDialog.h"
|
||||||
#include "util/WidgetBackgroundImage.h"
|
#include "util/WidgetBackgroundImage.h"
|
||||||
|
#include "gui/common/AvatarDefs.h"
|
||||||
|
|
||||||
OnlineToaster::OnlineToaster(const std::string &peerId, const QString &name, const QPixmap &avatar) : QWidget(NULL)
|
OnlineToaster::OnlineToaster(const std::string &peerId, const QString &name) : QWidget(NULL)
|
||||||
{
|
{
|
||||||
/* Invoke the Qt Designer generated object setup routine */
|
/* Invoke the Qt Designer generated object setup routine */
|
||||||
ui.setupUi(this);
|
ui.setupUi(this);
|
||||||
@ -37,6 +38,9 @@ OnlineToaster::OnlineToaster(const std::string &peerId, const QString &name, con
|
|||||||
|
|
||||||
/* set informations */
|
/* set informations */
|
||||||
ui.messageLabel->setText(name);
|
ui.messageLabel->setText(name);
|
||||||
|
|
||||||
|
QPixmap avatar;
|
||||||
|
AvatarDefs::getAvatarFromSslId(peerId, avatar, ":/images/user/personal64.png");
|
||||||
ui.pixmaplabel->setPixmap(avatar);
|
ui.pixmaplabel->setPixmap(avatar);
|
||||||
|
|
||||||
WidgetBackgroundImage::setBackgroundImage(ui.windowFrame, ":images/toaster/backgroundtoaster.png", WidgetBackgroundImage::AdjustNone);
|
WidgetBackgroundImage::setBackgroundImage(ui.windowFrame, ":images/toaster/backgroundtoaster.png", WidgetBackgroundImage::AdjustNone);
|
||||||
|
@ -32,7 +32,7 @@ class OnlineToaster : public QWidget
|
|||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
|
||||||
public:
|
public:
|
||||||
OnlineToaster(const std::string &peerId, const QString &name, const QPixmap &avatar);
|
OnlineToaster(const std::string &peerId, const QString &name);
|
||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
void chatButtonSlot();
|
void chatButtonSlot();
|
||||||
|
@ -21,6 +21,7 @@
|
|||||||
|
|
||||||
#include "gui/profile/ProfileView.h"
|
#include "gui/profile/ProfileView.h"
|
||||||
#include "gui/profile/ProfileEdit.h"
|
#include "gui/profile/ProfileEdit.h"
|
||||||
|
#include "gui/common/AvatarDefs.h"
|
||||||
|
|
||||||
#include <retroshare/rspeers.h>
|
#include <retroshare/rspeers.h>
|
||||||
#include <retroshare/rsmsgs.h>
|
#include <retroshare/rsmsgs.h>
|
||||||
@ -286,26 +287,9 @@ void ProfileView::filesClear()
|
|||||||
void ProfileView::loadAvatar()
|
void ProfileView::loadAvatar()
|
||||||
{
|
{
|
||||||
|
|
||||||
unsigned char *data = NULL;
|
QPixmap avatar;
|
||||||
int size = 0 ;
|
AvatarDefs::getAvatarFromSslId(pId, avatar, ":/images/user/personal64.png");
|
||||||
|
ui.avatarlabel->setPixmap(avatar);
|
||||||
rsMsgs->getAvatarData(pId,data,size);
|
ui.photoLabel->setPixmap(avatar);
|
||||||
|
|
||||||
|
|
||||||
if(size != 0)
|
|
||||||
{
|
|
||||||
// set the image
|
|
||||||
QPixmap pix ;
|
|
||||||
pix.loadFromData(data,size,"PNG") ;
|
|
||||||
ui.photoLabel->setPixmap(pix);
|
|
||||||
delete[] data ;
|
|
||||||
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
ui.photoLabel->setPixmap(QPixmap(":/images/user/personal64.png"));
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user