mirror of
https://github.com/RetroShare/RetroShare.git
synced 2024-10-01 02:35:48 -04:00
Basic methods and a bit of interface for chat lobby.
Next: - chat lobby algorithmics (cache+broadcast system) - invitation handling - specification of chat lobby window with list of known/unknown participants git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.5-ChatLobby@4685 b45a01b8-16f6-495d-af2f-9b41ad6348cc
This commit is contained in:
parent
d9244225b7
commit
5cdc36d730
@ -61,6 +61,8 @@
|
|||||||
#define RS_MSGTAGTYPE_LATER 5
|
#define RS_MSGTAGTYPE_LATER 5
|
||||||
#define RS_MSGTAGTYPE_USER 100
|
#define RS_MSGTAGTYPE_USER 100
|
||||||
|
|
||||||
|
typedef uint64_t ChatLobbyId ;
|
||||||
|
|
||||||
class MessageInfo
|
class MessageInfo
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
@ -135,10 +137,17 @@ class ChatInfo
|
|||||||
std::wstring msg;
|
std::wstring msg;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
class ChatLobbyInfo
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
ChatLobbyId lobby_id ;
|
||||||
|
std::string display_name ;
|
||||||
|
std::list<std::string> participating_friends ; // list of direct friend who participate. Used to broadcast sent messages.
|
||||||
|
std::list<std::string> additional_peers ; // list of non direct friend who participate. Used to display only.
|
||||||
|
};
|
||||||
|
|
||||||
std::ostream &operator<<(std::ostream &out, const MessageInfo &info);
|
std::ostream &operator<<(std::ostream &out, const MessageInfo &info);
|
||||||
std::ostream &operator<<(std::ostream &out, const ChatInfo &info);
|
std::ostream &operator<<(std::ostream &out, const ChatInfo &info);
|
||||||
//std::ostream &operator<<(std::ostream &out, const MsgTagInfo);
|
|
||||||
//std::ostream &operator<<(std::ostream &out, const MsgTagType);
|
|
||||||
|
|
||||||
bool operator==(const ChatInfo&, const ChatInfo&);
|
bool operator==(const ChatInfo&, const ChatInfo&);
|
||||||
|
|
||||||
@ -185,6 +194,7 @@ virtual bool resetMessageStandardTagTypes(MsgTagType& tags) = 0;
|
|||||||
/****************************************/
|
/****************************************/
|
||||||
/* Chat */
|
/* Chat */
|
||||||
virtual bool sendPublicChat(const std::wstring& msg) = 0;
|
virtual bool sendPublicChat(const std::wstring& msg) = 0;
|
||||||
|
virtual bool sendLobbyChat(const std::wstring& msg,const ChatLobbyId& lid) = 0;
|
||||||
virtual bool sendPrivateChat(const std::string& id, const std::wstring& msg) = 0;
|
virtual bool sendPrivateChat(const std::string& id, const std::wstring& msg) = 0;
|
||||||
virtual int getPublicChatQueueCount() = 0;
|
virtual int getPublicChatQueueCount() = 0;
|
||||||
virtual bool getPublicChatQueue(std::list<ChatInfo> &chats) = 0;
|
virtual bool getPublicChatQueue(std::list<ChatInfo> &chats) = 0;
|
||||||
@ -192,6 +202,7 @@ virtual int getPrivateChatQueueCount(bool incoming) = 0;
|
|||||||
virtual bool getPrivateChatQueueIds(bool incoming, std::list<std::string> &ids) = 0;
|
virtual bool getPrivateChatQueueIds(bool incoming, std::list<std::string> &ids) = 0;
|
||||||
virtual bool getPrivateChatQueue(bool incoming, const std::string& id, std::list<ChatInfo> &chats) = 0;
|
virtual bool getPrivateChatQueue(bool incoming, const std::string& id, std::list<ChatInfo> &chats) = 0;
|
||||||
virtual bool clearPrivateChatQueue(bool incoming, const std::string& id) = 0;
|
virtual bool clearPrivateChatQueue(bool incoming, const std::string& id) = 0;
|
||||||
|
|
||||||
virtual void sendStatusString(const std::string& id,const std::string& status_string) = 0 ;
|
virtual void sendStatusString(const std::string& id,const std::string& status_string) = 0 ;
|
||||||
virtual void sendGroupChatStatusString(const std::string& status_string) = 0 ;
|
virtual void sendGroupChatStatusString(const std::string& status_string) = 0 ;
|
||||||
|
|
||||||
@ -205,6 +216,9 @@ virtual void getAvatarData(const std::string& pid,unsigned char *& data,int& siz
|
|||||||
virtual void setOwnAvatarData(const unsigned char *data,int size) = 0 ;
|
virtual void setOwnAvatarData(const unsigned char *data,int size) = 0 ;
|
||||||
virtual void getOwnAvatarData(unsigned char *& data,int& size) = 0 ;
|
virtual void getOwnAvatarData(unsigned char *& data,int& size) = 0 ;
|
||||||
|
|
||||||
|
virtual void getChatLobbyList(std::list<ChatLobbyInfo>& cl_info) = 0;
|
||||||
|
virtual void invitePeerToLobby(const ChatLobbyId& lobby_id,const std::string& peer_id) = 0;
|
||||||
|
|
||||||
/****************************************/
|
/****************************************/
|
||||||
|
|
||||||
};
|
};
|
||||||
|
@ -260,3 +260,17 @@ void p3Msgs::setCustomStateString(const std::string& state_string)
|
|||||||
mChatSrv->setOwnCustomStateString(state_string) ;
|
mChatSrv->setOwnCustomStateString(state_string) ;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool p3Msgs::sendLobbyChat(const std::wstring& msg, const ChatLobbyId& id)
|
||||||
|
{
|
||||||
|
return mChatSrv->sendLobbyChat(msg,id) ;
|
||||||
|
}
|
||||||
|
void p3Msgs::getChatLobbyList(std::list<ChatLobbyInfo>& linfos)
|
||||||
|
{
|
||||||
|
mChatSrv->getChatLobbyList(linfos) ;
|
||||||
|
}
|
||||||
|
void p3Msgs::invitePeerToLobby(const ChatLobbyId& lobby_id, const std::string& peer_id)
|
||||||
|
{
|
||||||
|
mChatSrv->invitePeerToLobby(lobby_id,peer_id) ;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -167,6 +167,9 @@ class p3Msgs: public RsMsgs
|
|||||||
|
|
||||||
/****************************************/
|
/****************************************/
|
||||||
|
|
||||||
|
virtual bool sendLobbyChat(const std::wstring&, const ChatLobbyId&) ;
|
||||||
|
virtual void getChatLobbyList(std::list<ChatLobbyInfo, std::allocator<ChatLobbyInfo> >&) ;
|
||||||
|
virtual void invitePeerToLobby(const ChatLobbyId&, const std::string&) ;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
||||||
|
@ -1135,3 +1135,33 @@ void p3ChatService::statusChange(const std::list<pqipeer> &plist)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//********************** Chat Lobby Stuff ***********************//
|
||||||
|
|
||||||
|
bool p3ChatService::sendLobbyChat(const std::wstring& msg, const ChatLobbyId& lobby_id)
|
||||||
|
{
|
||||||
|
std::cerr << "Sending chat lobby message to lobby " << lobby_id << std::endl;
|
||||||
|
std::cerr << "msg:" << std::endl;
|
||||||
|
std::cerr << msg.c_str() << std::endl;
|
||||||
|
return true ;
|
||||||
|
}
|
||||||
|
void p3ChatService::getChatLobbyList(std::list<ChatLobbyInfo>& linfos)
|
||||||
|
{
|
||||||
|
// fill up a dummy list for now.
|
||||||
|
|
||||||
|
linfos.clear() ;
|
||||||
|
|
||||||
|
ChatLobbyInfo info ;
|
||||||
|
info.lobby_id = 0x38484fe ;
|
||||||
|
info.display_name = "lobby 1" ;
|
||||||
|
info.participating_friends.push_back("friend 1") ;
|
||||||
|
info.participating_friends.push_back("friend 2") ;
|
||||||
|
info.additional_peers.push_back("peer 1") ;
|
||||||
|
|
||||||
|
linfos.push_back(info) ;
|
||||||
|
}
|
||||||
|
void p3ChatService::invitePeerToLobby(const ChatLobbyId& lobby_id, const std::string& peer_id)
|
||||||
|
{
|
||||||
|
std::cerr << "Sending invitation to peer " << peer_id << " to lobby "<< lobby_id << std::endl;
|
||||||
|
}
|
||||||
|
|
||||||
|
@ -153,6 +153,11 @@ class p3ChatService: public p3Service, public p3Config, public pqiMonitor
|
|||||||
*/
|
*/
|
||||||
bool clearPrivateChatQueue(bool incoming, const std::string &id);
|
bool clearPrivateChatQueue(bool incoming, const std::string &id);
|
||||||
|
|
||||||
|
bool sendLobbyChat(const std::wstring&, const ChatLobbyId&) ;
|
||||||
|
void getChatLobbyList(std::list<ChatLobbyInfo, std::allocator<ChatLobbyInfo> >&) ;
|
||||||
|
void invitePeerToLobby(const ChatLobbyId&, const std::string&) ;
|
||||||
|
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
/************* from p3Config *******************/
|
/************* from p3Config *******************/
|
||||||
virtual RsSerialiser *setupSerialiser() ;
|
virtual RsSerialiser *setupSerialiser() ;
|
||||||
|
@ -270,6 +270,7 @@ HEADERS += rshare.h \
|
|||||||
gui/profile/StatusMessage.h \
|
gui/profile/StatusMessage.h \
|
||||||
gui/chat/PopupChatWindow.h \
|
gui/chat/PopupChatWindow.h \
|
||||||
gui/chat/PopupChatDialog.h \
|
gui/chat/PopupChatDialog.h \
|
||||||
|
gui/chat/ChatLobbyDialog.h \
|
||||||
gui/chat/HandleRichText.h \
|
gui/chat/HandleRichText.h \
|
||||||
gui/chat/ChatStyle.h \
|
gui/chat/ChatStyle.h \
|
||||||
gui/channels/CreateChannel.h \
|
gui/channels/CreateChannel.h \
|
||||||
@ -405,6 +406,7 @@ FORMS += gui/StartDialog.ui \
|
|||||||
gui/channels/ShareKey.ui \
|
gui/channels/ShareKey.ui \
|
||||||
gui/chat/PopupChatWindow.ui \
|
gui/chat/PopupChatWindow.ui \
|
||||||
gui/chat/PopupChatDialog.ui \
|
gui/chat/PopupChatDialog.ui \
|
||||||
|
gui/chat/ChatLobbyDialog.ui \
|
||||||
gui/connect/ConfCertDialog.ui \
|
gui/connect/ConfCertDialog.ui \
|
||||||
gui/msgs/MessageComposer.ui \
|
gui/msgs/MessageComposer.ui \
|
||||||
gui/msgs/MessageWindow.ui\
|
gui/msgs/MessageWindow.ui\
|
||||||
@ -527,6 +529,7 @@ SOURCES += main.cpp \
|
|||||||
gui/channels/ShareKey.cpp \
|
gui/channels/ShareKey.cpp \
|
||||||
gui/chat/PopupChatWindow.cpp \
|
gui/chat/PopupChatWindow.cpp \
|
||||||
gui/chat/PopupChatDialog.cpp \
|
gui/chat/PopupChatDialog.cpp \
|
||||||
|
# gui/chat/ChatLobbyDialog.cpp \
|
||||||
gui/chat/HandleRichText.cpp \
|
gui/chat/HandleRichText.cpp \
|
||||||
gui/chat/ChatStyle.cpp \
|
gui/chat/ChatStyle.cpp \
|
||||||
gui/connect/ConfCertDialog.cpp \
|
gui/connect/ConfCertDialog.cpp \
|
||||||
|
907
retroshare-gui/src/gui/chat/ChatLobbyDialog.ui
Normal file
907
retroshare-gui/src/gui/chat/ChatLobbyDialog.ui
Normal file
@ -0,0 +1,907 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<ui version="4.0">
|
||||||
|
<class>PopupChatDialog</class>
|
||||||
|
<widget class="QWidget" name="ChatLobbyDialog">
|
||||||
|
<property name="windowModality">
|
||||||
|
<enum>Qt::NonModal</enum>
|
||||||
|
</property>
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>0</x>
|
||||||
|
<y>0</y>
|
||||||
|
<width>662</width>
|
||||||
|
<height>499</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
|
<property name="windowTitle">
|
||||||
|
<string notr="true">MainWindow</string>
|
||||||
|
</property>
|
||||||
|
<property name="styleSheet">
|
||||||
|
<string notr="true"/>
|
||||||
|
</property>
|
||||||
|
<layout class="QVBoxLayout" name="verticalLayout_3">
|
||||||
|
<property name="margin">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<item>
|
||||||
|
<layout class="QGridLayout" name="gridLayout">
|
||||||
|
<property name="horizontalSpacing">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<property name="verticalSpacing">
|
||||||
|
<number>1</number>
|
||||||
|
</property>
|
||||||
|
<property name="leftMargin">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<property name="bottomMargin">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<item row="0" column="0" rowspan="6">
|
||||||
|
<widget class="QFrame" name="leftsideframe">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="maximumSize">
|
||||||
|
<size>
|
||||||
|
<width>14</width>
|
||||||
|
<height>16777215</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="styleSheet">
|
||||||
|
<string notr="true">QFrame#frame{border: transparent}</string>
|
||||||
|
</property>
|
||||||
|
<property name="frameShape">
|
||||||
|
<enum>QFrame::StyledPanel</enum>
|
||||||
|
</property>
|
||||||
|
<property name="frameShadow">
|
||||||
|
<enum>QFrame::Raised</enum>
|
||||||
|
</property>
|
||||||
|
<layout class="QVBoxLayout" name="verticalLayout">
|
||||||
|
<property name="margin">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<item>
|
||||||
|
<widget class="QPushButton" name="avatarFrameButton">
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>14</width>
|
||||||
|
<height>31</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="maximumSize">
|
||||||
|
<size>
|
||||||
|
<width>14</width>
|
||||||
|
<height>31</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string/>
|
||||||
|
</property>
|
||||||
|
<property name="iconSize">
|
||||||
|
<size>
|
||||||
|
<width>16</width>
|
||||||
|
<height>31</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="checkable">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<spacer>
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Vertical</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeHint" stdset="0">
|
||||||
|
<size>
|
||||||
|
<width>12</width>
|
||||||
|
<height>335</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</spacer>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="1" rowspan="6">
|
||||||
|
<widget class="QFrame" name="avatarframe">
|
||||||
|
<property name="maximumSize">
|
||||||
|
<size>
|
||||||
|
<width>132</width>
|
||||||
|
<height>16777215</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="styleSheet">
|
||||||
|
<string notr="true">border: transparent;</string>
|
||||||
|
</property>
|
||||||
|
<property name="frameShape">
|
||||||
|
<enum>QFrame::StyledPanel</enum>
|
||||||
|
</property>
|
||||||
|
<property name="frameShadow">
|
||||||
|
<enum>QFrame::Raised</enum>
|
||||||
|
</property>
|
||||||
|
<layout class="QGridLayout" name="_2">
|
||||||
|
<property name="leftMargin">
|
||||||
|
<number>3</number>
|
||||||
|
</property>
|
||||||
|
<property name="topMargin">
|
||||||
|
<number>9</number>
|
||||||
|
</property>
|
||||||
|
<property name="rightMargin">
|
||||||
|
<number>3</number>
|
||||||
|
</property>
|
||||||
|
<property name="bottomMargin">
|
||||||
|
<number>9</number>
|
||||||
|
</property>
|
||||||
|
<item row="1" column="0">
|
||||||
|
<spacer>
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Vertical</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeHint" stdset="0">
|
||||||
|
<size>
|
||||||
|
<width>61</width>
|
||||||
|
<height>141</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</spacer>
|
||||||
|
</item>
|
||||||
|
<item row="2" column="0">
|
||||||
|
<widget class="AvatarWidget" name="ownAvatarWidget" native="true">
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>116</width>
|
||||||
|
<height>116</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="maximumSize">
|
||||||
|
<size>
|
||||||
|
<width>116</width>
|
||||||
|
<height>116</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="0">
|
||||||
|
<widget class="QListView" name="_participants_LV"/>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="2">
|
||||||
|
<widget class="QFrame" name="statusframe">
|
||||||
|
<property name="styleSheet">
|
||||||
|
<string notr="true">QFrame#frame_2{border: transparent}</string>
|
||||||
|
</property>
|
||||||
|
<property name="frameShape">
|
||||||
|
<enum>QFrame::StyledPanel</enum>
|
||||||
|
</property>
|
||||||
|
<property name="frameShadow">
|
||||||
|
<enum>QFrame::Raised</enum>
|
||||||
|
</property>
|
||||||
|
<layout class="QGridLayout" name="gridLayout_4">
|
||||||
|
<property name="leftMargin">
|
||||||
|
<number>2</number>
|
||||||
|
</property>
|
||||||
|
<property name="topMargin">
|
||||||
|
<number>3</number>
|
||||||
|
</property>
|
||||||
|
<property name="rightMargin">
|
||||||
|
<number>3</number>
|
||||||
|
</property>
|
||||||
|
<property name="bottomMargin">
|
||||||
|
<number>3</number>
|
||||||
|
</property>
|
||||||
|
<item row="0" column="0" colspan="2">
|
||||||
|
<widget class="QLabel" name="friendnamelabel">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<family>Arial</family>
|
||||||
|
<pointsize>13</pointsize>
|
||||||
|
<weight>75</weight>
|
||||||
|
<bold>true</bold>
|
||||||
|
<kerning>true</kerning>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">TextLabel</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="0" colspan="2">
|
||||||
|
<widget class="QLabel" name="statusmessagelabel">
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<family>Arial</family>
|
||||||
|
<pointsize>9</pointsize>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">TextLabel</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="2">
|
||||||
|
<widget class="QFrame" name="infoframe">
|
||||||
|
<property name="styleSheet">
|
||||||
|
<string notr="true">QFrame#infoframe{border: 1px solid #DCDC41;
|
||||||
|
border-radius: 6px;
|
||||||
|
background: #FFFFD7;
|
||||||
|
background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1,
|
||||||
|
stop:0 #FFFFD7, stop:1 #FFFFB2);}</string>
|
||||||
|
</property>
|
||||||
|
<property name="frameShape">
|
||||||
|
<enum>QFrame::StyledPanel</enum>
|
||||||
|
</property>
|
||||||
|
<property name="frameShadow">
|
||||||
|
<enum>QFrame::Raised</enum>
|
||||||
|
</property>
|
||||||
|
<layout class="QHBoxLayout" name="horizontalLayout_2">
|
||||||
|
<property name="margin">
|
||||||
|
<number>6</number>
|
||||||
|
</property>
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="label">
|
||||||
|
<property name="maximumSize">
|
||||||
|
<size>
|
||||||
|
<width>16</width>
|
||||||
|
<height>16</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string/>
|
||||||
|
</property>
|
||||||
|
<property name="pixmap">
|
||||||
|
<pixmap resource="../images.qrc">:/images/info16.png</pixmap>
|
||||||
|
</property>
|
||||||
|
<property name="alignment">
|
||||||
|
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="infolabel">
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">TextLabel</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QToolButton" name="closeInfoFrameButton">
|
||||||
|
<property name="maximumSize">
|
||||||
|
<size>
|
||||||
|
<width>16</width>
|
||||||
|
<height>16</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="focusPolicy">
|
||||||
|
<enum>Qt::NoFocus</enum>
|
||||||
|
</property>
|
||||||
|
<property name="toolTip">
|
||||||
|
<string>Close</string>
|
||||||
|
</property>
|
||||||
|
<property name="styleSheet">
|
||||||
|
<string notr="true">QToolButton
|
||||||
|
{
|
||||||
|
border-image: url(:/images/closenormal.png)
|
||||||
|
}
|
||||||
|
|
||||||
|
QToolButton:hover
|
||||||
|
{
|
||||||
|
border-image: url(:/images/closehover.png)
|
||||||
|
}
|
||||||
|
|
||||||
|
QToolButton:pressed {
|
||||||
|
border-image: url(:/images/closepressed.png)
|
||||||
|
}</string>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string/>
|
||||||
|
</property>
|
||||||
|
<property name="autoRaise">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="5" column="2">
|
||||||
|
<widget class="QFrame" name="Chatbuttonframe">
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>347</width>
|
||||||
|
<height>30</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="maximumSize">
|
||||||
|
<size>
|
||||||
|
<width>16777215</width>
|
||||||
|
<height>30</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="styleSheet">
|
||||||
|
<string notr="true"/>
|
||||||
|
</property>
|
||||||
|
<property name="frameShape">
|
||||||
|
<enum>QFrame::StyledPanel</enum>
|
||||||
|
</property>
|
||||||
|
<property name="frameShadow">
|
||||||
|
<enum>QFrame::Raised</enum>
|
||||||
|
</property>
|
||||||
|
<layout class="QGridLayout" name="_3">
|
||||||
|
<property name="margin">
|
||||||
|
<number>1</number>
|
||||||
|
</property>
|
||||||
|
<property name="horizontalSpacing">
|
||||||
|
<number>6</number>
|
||||||
|
</property>
|
||||||
|
<item row="0" column="9">
|
||||||
|
<widget class="QPushButton" name="pushtoolsButton">
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>28</width>
|
||||||
|
<height>28</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="maximumSize">
|
||||||
|
<size>
|
||||||
|
<width>28</width>
|
||||||
|
<height>28</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="focusPolicy">
|
||||||
|
<enum>Qt::NoFocus</enum>
|
||||||
|
</property>
|
||||||
|
<property name="styleSheet">
|
||||||
|
<string notr="true">QPushButton::menu-indicator {
|
||||||
|
subcontrol-origin: padding;
|
||||||
|
subcontrol-position: bottom right;
|
||||||
|
}
|
||||||
|
|
||||||
|
QPushButton::menu-indicator:pressed, QPushButton::menu-indicator:open {
|
||||||
|
position: relative;
|
||||||
|
top: 1px; left: 1px; /* shift the arrow by 2 px */
|
||||||
|
}
|
||||||
|
|
||||||
|
QPushButton:hover {
|
||||||
|
border: 1px solid #CCCCCC;
|
||||||
|
}</string>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string/>
|
||||||
|
</property>
|
||||||
|
<property name="icon">
|
||||||
|
<iconset resource="../images.qrc">
|
||||||
|
<normaloff>:/images/configure.png</normaloff>:/images/configure.png</iconset>
|
||||||
|
</property>
|
||||||
|
<property name="iconSize">
|
||||||
|
<size>
|
||||||
|
<width>22</width>
|
||||||
|
<height>22</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="flat">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="7">
|
||||||
|
<widget class="QToolButton" name="attachPictureButton">
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>28</width>
|
||||||
|
<height>28</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="maximumSize">
|
||||||
|
<size>
|
||||||
|
<width>28</width>
|
||||||
|
<height>28</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="focusPolicy">
|
||||||
|
<enum>Qt::NoFocus</enum>
|
||||||
|
</property>
|
||||||
|
<property name="toolTip">
|
||||||
|
<string>Attach a Picture</string>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string/>
|
||||||
|
</property>
|
||||||
|
<property name="icon">
|
||||||
|
<iconset resource="../images.qrc">
|
||||||
|
<normaloff>:/images/add_image24.png</normaloff>:/images/add_image24.png</iconset>
|
||||||
|
</property>
|
||||||
|
<property name="iconSize">
|
||||||
|
<size>
|
||||||
|
<width>24</width>
|
||||||
|
<height>24</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="autoRaise">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="8">
|
||||||
|
<widget class="QToolButton" name="addFileButton">
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>28</width>
|
||||||
|
<height>28</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="focusPolicy">
|
||||||
|
<enum>Qt::NoFocus</enum>
|
||||||
|
</property>
|
||||||
|
<property name="toolTip">
|
||||||
|
<string>Add a File for your Friend</string>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string/>
|
||||||
|
</property>
|
||||||
|
<property name="icon">
|
||||||
|
<iconset resource="../images.qrc">
|
||||||
|
<normaloff>:/images/add-share24.png</normaloff>:/images/add-share24.png</iconset>
|
||||||
|
</property>
|
||||||
|
<property name="iconSize">
|
||||||
|
<size>
|
||||||
|
<width>24</width>
|
||||||
|
<height>24</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="autoRaise">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="10">
|
||||||
|
<spacer>
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Horizontal</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeHint" stdset="0">
|
||||||
|
<size>
|
||||||
|
<width>190</width>
|
||||||
|
<height>25</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</spacer>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="11">
|
||||||
|
<widget class="QPushButton" name="sendButton">
|
||||||
|
<property name="text">
|
||||||
|
<string>Send</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="1">
|
||||||
|
<widget class="QToolButton" name="emoteiconButton">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>28</width>
|
||||||
|
<height>28</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="maximumSize">
|
||||||
|
<size>
|
||||||
|
<width>28</width>
|
||||||
|
<height>28</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="focusPolicy">
|
||||||
|
<enum>Qt::NoFocus</enum>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string/>
|
||||||
|
</property>
|
||||||
|
<property name="iconSize">
|
||||||
|
<size>
|
||||||
|
<width>24</width>
|
||||||
|
<height>24</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="autoRaise">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="2">
|
||||||
|
<widget class="QToolButton" name="textboldButton">
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>28</width>
|
||||||
|
<height>28</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="maximumSize">
|
||||||
|
<size>
|
||||||
|
<width>28</width>
|
||||||
|
<height>28</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="focusPolicy">
|
||||||
|
<enum>Qt::NoFocus</enum>
|
||||||
|
</property>
|
||||||
|
<property name="toolTip">
|
||||||
|
<string>Bold</string>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string/>
|
||||||
|
</property>
|
||||||
|
<property name="icon">
|
||||||
|
<iconset>
|
||||||
|
<normaloff>../../../../../../../Dokumente und Einstellungen/Linux/.designer/backup</normaloff>../../../../../../../Dokumente und Einstellungen/Linux/.designer/backup</iconset>
|
||||||
|
</property>
|
||||||
|
<property name="checkable">
|
||||||
|
<bool>false</bool>
|
||||||
|
</property>
|
||||||
|
<property name="autoRaise">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="3">
|
||||||
|
<widget class="QToolButton" name="textunderlineButton">
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>28</width>
|
||||||
|
<height>28</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="maximumSize">
|
||||||
|
<size>
|
||||||
|
<width>28</width>
|
||||||
|
<height>28</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="focusPolicy">
|
||||||
|
<enum>Qt::NoFocus</enum>
|
||||||
|
</property>
|
||||||
|
<property name="toolTip">
|
||||||
|
<string>Underline</string>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string/>
|
||||||
|
</property>
|
||||||
|
<property name="icon">
|
||||||
|
<iconset>
|
||||||
|
<normaloff>../../../../../../../Dokumente und Einstellungen/Linux/.designer/backup</normaloff>../../../../../../../Dokumente und Einstellungen/Linux/.designer/backup</iconset>
|
||||||
|
</property>
|
||||||
|
<property name="checkable">
|
||||||
|
<bool>false</bool>
|
||||||
|
</property>
|
||||||
|
<property name="autoRaise">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="4">
|
||||||
|
<widget class="QToolButton" name="textitalicButton">
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>28</width>
|
||||||
|
<height>28</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="maximumSize">
|
||||||
|
<size>
|
||||||
|
<width>28</width>
|
||||||
|
<height>28</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="focusPolicy">
|
||||||
|
<enum>Qt::NoFocus</enum>
|
||||||
|
</property>
|
||||||
|
<property name="toolTip">
|
||||||
|
<string>Italic</string>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string/>
|
||||||
|
</property>
|
||||||
|
<property name="icon">
|
||||||
|
<iconset>
|
||||||
|
<normaloff>../../../../../../../Dokumente und Einstellungen/Linux/.designer/backup</normaloff>../../../../../../../Dokumente und Einstellungen/Linux/.designer/backup</iconset>
|
||||||
|
</property>
|
||||||
|
<property name="checkable">
|
||||||
|
<bool>false</bool>
|
||||||
|
</property>
|
||||||
|
<property name="autoRaise">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="5">
|
||||||
|
<widget class="QToolButton" name="fontButton">
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>28</width>
|
||||||
|
<height>28</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="maximumSize">
|
||||||
|
<size>
|
||||||
|
<width>28</width>
|
||||||
|
<height>28</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="focusPolicy">
|
||||||
|
<enum>Qt::NoFocus</enum>
|
||||||
|
</property>
|
||||||
|
<property name="toolTip">
|
||||||
|
<string>Font</string>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string/>
|
||||||
|
</property>
|
||||||
|
<property name="icon">
|
||||||
|
<iconset>
|
||||||
|
<normaloff>../../../../../../../Dokumente und Einstellungen/Linux/.designer/backup</normaloff>../../../../../../../Dokumente und Einstellungen/Linux/.designer/backup</iconset>
|
||||||
|
</property>
|
||||||
|
<property name="checkable">
|
||||||
|
<bool>false</bool>
|
||||||
|
</property>
|
||||||
|
<property name="autoRaise">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="6">
|
||||||
|
<widget class="QToolButton" name="colorButton">
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>28</width>
|
||||||
|
<height>28</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="maximumSize">
|
||||||
|
<size>
|
||||||
|
<width>28</width>
|
||||||
|
<height>28</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="focusPolicy">
|
||||||
|
<enum>Qt::NoFocus</enum>
|
||||||
|
</property>
|
||||||
|
<property name="toolTip">
|
||||||
|
<string>Text Color</string>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string/>
|
||||||
|
</property>
|
||||||
|
<property name="autoRaise">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="6" column="0" colspan="3">
|
||||||
|
<layout class="QVBoxLayout" name="vboxLayout"/>
|
||||||
|
</item>
|
||||||
|
<item row="4" column="2">
|
||||||
|
<widget class="QSplitter" name="chatsplitter">
|
||||||
|
<property name="lineWidth">
|
||||||
|
<number>1</number>
|
||||||
|
</property>
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Vertical</enum>
|
||||||
|
</property>
|
||||||
|
<property name="handleWidth">
|
||||||
|
<number>2</number>
|
||||||
|
</property>
|
||||||
|
<widget class="QWidget" name="verticalLayoutWidget">
|
||||||
|
<layout class="QVBoxLayout" name="verticalLayout_2">
|
||||||
|
<item>
|
||||||
|
<widget class="QTextBrowser" name="textBrowser">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Expanding" vsizetype="MinimumExpanding">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>0</width>
|
||||||
|
<height>100</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="styleSheet">
|
||||||
|
<string notr="true">QTextBrowser{border: 1px solid #B8B6B1;
|
||||||
|
border-radius: 6px;
|
||||||
|
background: white;}</string>
|
||||||
|
</property>
|
||||||
|
<property name="html">
|
||||||
|
<string notr="true"><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
|
||||||
|
<html><head><meta name="qrichtext" content="1" /><style type="text/css">
|
||||||
|
p, li { white-space: pre-wrap; }
|
||||||
|
</style></head><body style=" font-family:'Ubuntu'; font-size:11pt; font-weight:400; font-style:normal;">
|
||||||
|
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;"></p></body></html></string>
|
||||||
|
</property>
|
||||||
|
<property name="openExternalLinks">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
<property name="openLinks">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
<widget class="QWidget" name="layoutWidget_2">
|
||||||
|
<layout class="QGridLayout" name="gridLayout_3">
|
||||||
|
<property name="spacing">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<item row="0" column="1">
|
||||||
|
<widget class="QLabel" name="statusLabel">
|
||||||
|
<property name="text">
|
||||||
|
<string/>
|
||||||
|
</property>
|
||||||
|
<property name="margin">
|
||||||
|
<number>0</number>
|
||||||
|
</property>
|
||||||
|
<property name="indent">
|
||||||
|
<number>3</number>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="2" column="0" colspan="2">
|
||||||
|
<widget class="QTextEdit" name="chattextEdit">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>0</width>
|
||||||
|
<height>30</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="contextMenuPolicy">
|
||||||
|
<enum>Qt::CustomContextMenu</enum>
|
||||||
|
</property>
|
||||||
|
<property name="styleSheet">
|
||||||
|
<string notr="true">QTextEdit{border: 1px solid #B8B6B1;
|
||||||
|
border-radius: 6px;
|
||||||
|
background: white;}</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="0">
|
||||||
|
<widget class="QLabel" name="typingpixmapLabel">
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>18</width>
|
||||||
|
<height>18</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="maximumSize">
|
||||||
|
<size>
|
||||||
|
<width>18</width>
|
||||||
|
<height>18</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">T</string>
|
||||||
|
</property>
|
||||||
|
<property name="alignment">
|
||||||
|
<set>Qt::AlignCenter</set>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
<action name="actionBold">
|
||||||
|
<property name="text">
|
||||||
|
<string>Bold</string>
|
||||||
|
</property>
|
||||||
|
</action>
|
||||||
|
<action name="actionItalic">
|
||||||
|
<property name="text">
|
||||||
|
<string>Italic</string>
|
||||||
|
</property>
|
||||||
|
</action>
|
||||||
|
<action name="actionUnderline">
|
||||||
|
<property name="text">
|
||||||
|
<string>Underline</string>
|
||||||
|
</property>
|
||||||
|
</action>
|
||||||
|
<action name="actionStrike">
|
||||||
|
<property name="text">
|
||||||
|
<string>Strike</string>
|
||||||
|
</property>
|
||||||
|
</action>
|
||||||
|
<action name="actionClear_Chat_History">
|
||||||
|
<property name="icon">
|
||||||
|
<iconset resource="../images.qrc">
|
||||||
|
<normaloff>:/images/edit-clear-history.png</normaloff>:/images/edit-clear-history.png</iconset>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Clear Chat History</string>
|
||||||
|
</property>
|
||||||
|
</action>
|
||||||
|
<action name="action_Disable_Emoticons">
|
||||||
|
<property name="checkable">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Disable Emoticons</string>
|
||||||
|
</property>
|
||||||
|
</action>
|
||||||
|
<action name="actionSave_Chat_History">
|
||||||
|
<property name="text">
|
||||||
|
<string>Save Chat History</string>
|
||||||
|
</property>
|
||||||
|
<property name="toolTip">
|
||||||
|
<string>Save Chat History</string>
|
||||||
|
</property>
|
||||||
|
</action>
|
||||||
|
<action name="actionClearOfflineMessages">
|
||||||
|
<property name="text">
|
||||||
|
<string>Clear offline messages</string>
|
||||||
|
</property>
|
||||||
|
</action>
|
||||||
|
<action name="actionMessageHistory">
|
||||||
|
<property name="text">
|
||||||
|
<string>Browse Message History</string>
|
||||||
|
</property>
|
||||||
|
<property name="toolTip">
|
||||||
|
<string>Browse History</string>
|
||||||
|
</property>
|
||||||
|
</action>
|
||||||
|
<action name="actionDelete_Chat_History">
|
||||||
|
<property name="icon">
|
||||||
|
<iconset resource="../images.qrc">
|
||||||
|
<normaloff>:/images/edit-clear-history.png</normaloff>:/images/edit-clear-history.png</iconset>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Delete Chat History</string>
|
||||||
|
</property>
|
||||||
|
<property name="toolTip">
|
||||||
|
<string>Deletes all stored and displayed chat history</string>
|
||||||
|
</property>
|
||||||
|
</action>
|
||||||
|
</widget>
|
||||||
|
<customwidgets>
|
||||||
|
<customwidget>
|
||||||
|
<class>AvatarWidget</class>
|
||||||
|
<extends>QWidget</extends>
|
||||||
|
<header>gui/common/AvatarWidget.h</header>
|
||||||
|
<container>1</container>
|
||||||
|
</customwidget>
|
||||||
|
</customwidgets>
|
||||||
|
<resources>
|
||||||
|
<include location="../images.qrc"/>
|
||||||
|
</resources>
|
||||||
|
<connections/>
|
||||||
|
</ui>
|
@ -292,7 +292,8 @@ void FriendList::peerTreeWidgetCostumPopupMenu()
|
|||||||
contextMnu.addAction(widgetAction);
|
contextMnu.addAction(widgetAction);
|
||||||
|
|
||||||
// create menu entries
|
// create menu entries
|
||||||
if (c) { // if a peer is selected
|
if (c)
|
||||||
|
{ // if a peer is selected
|
||||||
int type = c->type();
|
int type = c->type();
|
||||||
|
|
||||||
// define header
|
// define header
|
||||||
@ -326,19 +327,37 @@ void FriendList::peerTreeWidgetCostumPopupMenu()
|
|||||||
|
|
||||||
action = contextMnu.addAction(QIcon(IMAGE_REMOVE), tr("Remove Group"), this, SLOT(removeGroup()));
|
action = contextMnu.addAction(QIcon(IMAGE_REMOVE), tr("Remove Group"), this, SLOT(removeGroup()));
|
||||||
action->setDisabled(standard);
|
action->setDisabled(standard);
|
||||||
|
|
||||||
|
contextMnu.addAction(QIcon(IMAGE_CHAT), tr("Create chat lobby"), this, SLOT(createchatlobby()));
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case TYPE_GPG:
|
case TYPE_GPG:
|
||||||
case TYPE_SSL:
|
case TYPE_SSL:
|
||||||
{
|
{
|
||||||
contextMnu.addAction(QIcon(IMAGE_CHAT), tr("Chat"), this, SLOT(chatfriendproxy()));
|
contextMnu.addAction(QIcon(IMAGE_CHAT), tr("Chat"), this, SLOT(chatfriendproxy()));
|
||||||
|
QMenu *mnu = contextMnu.addMenu(QIcon(IMAGE_CHAT), tr("Invite to chat lobby")) ;
|
||||||
|
|
||||||
|
std::list<ChatLobbyInfo> cl_infos ;
|
||||||
|
|
||||||
|
rsMsgs->getChatLobbyList(cl_infos) ;
|
||||||
|
|
||||||
|
for(std::list<ChatLobbyInfo>::const_iterator it(cl_infos.begin());it!=cl_infos.end();++it)
|
||||||
|
{
|
||||||
|
QAction* inviteToLobbyAction = new QAction(QString::fromUtf8((*it).display_name.c_str()), mnu);
|
||||||
|
inviteToLobbyAction->setData(QString::fromStdString((*it).lobby_id.c_str()));
|
||||||
|
connect(inviteToLobbyAction, SIGNAL(triggered()), this, SLOT(inviteToLobby()));
|
||||||
|
mnu->addAction(inviteToLobbyAction);
|
||||||
|
}
|
||||||
|
|
||||||
|
mnu->addAction(QIcon(IMAGE_CHAT),tr("create new")) ;
|
||||||
|
|
||||||
contextMnu.addAction(QIcon(IMAGE_MSG), tr("Message Friend"), this, SLOT(msgfriend()));
|
contextMnu.addAction(QIcon(IMAGE_MSG), tr("Message Friend"), this, SLOT(msgfriend()));
|
||||||
|
|
||||||
contextMnu.addSeparator();
|
contextMnu.addSeparator();
|
||||||
|
|
||||||
contextMnu.addAction(QIcon(IMAGE_FRIENDINFO), tr("Friend Details"), this, SLOT(configurefriend()));
|
contextMnu.addAction(QIcon(IMAGE_FRIENDINFO), tr("Friend Details"), this, SLOT(configurefriend()));
|
||||||
// contextMnu.addAction(QIcon(IMAGE_PEERINFO), tr("Profile View"), this, SLOT(viewprofile()));
|
// contextMnu.addAction(QIcon(IMAGE_PEERINFO), tr("Profile View"), this, SLOT(viewprofile()));
|
||||||
// action = contextMnu.addAction(QIcon(IMAGE_EXPORTFRIEND), tr("Export Friend"), this, SLOT(exportfriend()));
|
// action = contextMnu.addAction(QIcon(IMAGE_EXPORTFRIEND), tr("Export Friend"), this, SLOT(exportfriend()));
|
||||||
|
|
||||||
if (type == TYPE_GPG) {
|
if (type == TYPE_GPG) {
|
||||||
contextMnu.addAction(QIcon(IMAGE_EXPORTFRIEND), tr("Recommend this Friend to..."), this, SLOT(recommendfriend()));
|
contextMnu.addAction(QIcon(IMAGE_EXPORTFRIEND), tr("Recommend this Friend to..."), this, SLOT(recommendfriend()));
|
||||||
@ -1371,6 +1390,30 @@ void FriendList::configurefriend()
|
|||||||
ConfCertDialog::showIt(getRsId(getCurrentPeer()), ConfCertDialog::PageDetails);
|
ConfCertDialog::showIt(getRsId(getCurrentPeer()), ConfCertDialog::PageDetails);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void FriendList::inviteToLobby()
|
||||||
|
{
|
||||||
|
QTreeWidgetItem *c = getCurrentPeer();
|
||||||
|
|
||||||
|
if (c == NULL) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (c->type() != TYPE_SSL) {
|
||||||
|
// wrong type
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
std::string lobby_id = qobject_cast<QAction*>(sender())->data().toString().toStdString();
|
||||||
|
|
||||||
|
if(lobby_id.empty())
|
||||||
|
return;
|
||||||
|
|
||||||
|
std::string peer_id = getRsId(c) ;
|
||||||
|
|
||||||
|
// add to group
|
||||||
|
rsMsgs->invitePeerToLobby(ChatLobbyId(lobby_id), peer_id);
|
||||||
|
}
|
||||||
|
|
||||||
void FriendList::addToGroup()
|
void FriendList::addToGroup()
|
||||||
{
|
{
|
||||||
QTreeWidgetItem *c = getCurrentPeer();
|
QTreeWidgetItem *c = getCurrentPeer();
|
||||||
|
@ -122,6 +122,8 @@ private slots:
|
|||||||
|
|
||||||
void editGroup();
|
void editGroup();
|
||||||
void removeGroup();
|
void removeGroup();
|
||||||
|
|
||||||
|
void inviteToLobby();
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // FRIENDLIST_H
|
#endif // FRIENDLIST_H
|
||||||
|
Loading…
Reference in New Issue
Block a user