fixed compilation and added flag function for permissions in messaging

This commit is contained in:
csoler 2015-12-04 23:08:49 -05:00
parent 39f4878244
commit be17a563d1
6 changed files with 40 additions and 27 deletions

View File

@ -269,6 +269,16 @@ public:
#define RS_DISTANT_CHAT_FLAG_SIGNED 0x0001
#define RS_DISTANT_CHAT_FLAG_SIGNATURE_OK 0x0002
// flags to define who we accept to talk to
#define RS_DISTANT_MESSAGING_CONTACT_PERMISSION_FLAG_NONE 0x0000
#define RS_DISTANT_MESSAGING_CONTACT_PERMISSION_FLAG_ANONYMOUS 0x0001
#define RS_DISTANT_MESSAGING_CONTACT_PERMISSION_FLAG_CONTACT_LIST 0x0002
#define RS_DISTANT_CHAT_CONTACT_PERMISSION_FLAG_NONE 0x0000
#define RS_DISTANT_CHAT_CONTACT_PERMISSION_FLAG_ANONYMOUS 0x0001
#define RS_DISTANT_CHAT_CONTACT_PERMISSION_FLAG_CONTACT_LIST 0x0002
// Identifier for an chat endpoint like
// neighbour peer, distant peer, chatlobby, broadcast
class ChatId
@ -430,8 +440,8 @@ virtual bool resetMessageStandardTagTypes(Rs::Msgs::MsgTagType& tags) = 0;
/* Private distant messages */
/****************************************/
virtual void enableDistantMessaging(bool b) = 0;
virtual bool distantMessagingEnabled() = 0;
virtual uint32_t getDistantMessagingPermissionFlags()=0 ;
virtual void setDistantMessagingPermissionFlags(uint32_t flags)=0 ;
/****************************************/
/* Chat */

View File

@ -278,6 +278,16 @@ bool p3Msgs::getMessageSummaries(std::list<MsgInfoSummary> &msgList)
}
uint32_t p3Msgs::getDistantMessagingPermissionFlags()
{
return mMsgSrv->getDistantMessagingPermissionFlags();
}
void p3Msgs::setDistantMessagingPermissionFlags(uint32_t flags)
{
return mMsgSrv->setDistantMessagingPermissionFlags(flags);
}
bool p3Msgs::getMessage(const std::string &mid, MessageInfo &msg)
{
@ -297,15 +307,6 @@ bool p3Msgs::MessageSend(MessageInfo &info)
return mMsgSrv->MessageSend(info);
}
void p3Msgs::enableDistantMessaging(bool b)
{
mMsgSrv->enableDistantMessaging(b);
}
bool p3Msgs::distantMessagingEnabled()
{
return mMsgSrv->distantMessagingEnabled();
}
bool p3Msgs::SystemMessage(const std::string &title, const std::string &message, uint32_t systemFlag)
{
return mMsgSrv->SystemMessage(title, message, systemFlag);

View File

@ -80,8 +80,8 @@ class p3Msgs: public RsMsgs
virtual bool resetMessageStandardTagTypes(Rs::Msgs::MsgTagType& tags);
virtual void enableDistantMessaging(bool b) ;
virtual bool distantMessagingEnabled() ;
virtual uint32_t getDistantMessagingPermissionFlags() ;
virtual void setDistantMessagingPermissionFlags(uint32_t flags) ;
/*!
* gets avatar from peer, image data in jpeg format

View File

@ -90,6 +90,7 @@ class p3MsgService: public p3Service, public p3Config, public pqiServiceMonitor,
void loadWelcomeMsg(); /* startup message */
//std::list<RsMsgItem *> &getMsgList();
//std::list<RsMsgItem *> &getMsgOutList();
@ -125,6 +126,8 @@ class p3MsgService: public p3Service, public p3Config, public pqiServiceMonitor,
};
void enableDistantMessaging(bool b) ;
bool distantMessagingEnabled() ;
void setDistantMessagingPermissionFlags(uint32_t flags) {}
uint32_t getDistantMessagingPermissionFlags() { return 0 ;}
private:
void sendDistantMsgItem(RsMsgItem *msgitem) ;

View File

@ -60,22 +60,17 @@ MessagePage::~MessagePage()
delete(m_pTags);
}
void MessagePage::toggleEnableEncryptedDistantMsgs(bool b)
{
rsMail->enableDistantMessaging(b) ;
}
void MessagePage::distantMsgsComboBoxChanged(int i)
{
switch(i)
{
case 0: rsMail->enableDistantMessaging(true) ;
case 0: rsMail->setDistantMessagingPermissionFlags(RS_DISTANT_MESSAGING_CONTACT_PERMISSION_FLAG_ANONYMOUS |RS_DISTANT_MESSAGING_CONTACT_PERMISSION_FLAG_CONTACT_LIST) ;
break ;
case 1: ;
case 1: rsMail->setDistantMessagingPermissionFlags(RS_DISTANT_MESSAGING_CONTACT_PERMISSION_FLAG_CONTACT_LIST) ;
break ;
case 2: rsMail->enableDistantMessaging(false) ;
case 2: rsMail->setDistantMessagingPermissionFlags(RS_DISTANT_MESSAGING_CONTACT_PERMISSION_FLAG_NONE) ;
break ;
@ -124,11 +119,16 @@ MessagePage::load()
ui.loadEmbeddedImages->setChecked(Settings->getMsgLoadEmbeddedImages());
ui.openComboBox->setCurrentIndex(ui.openComboBox->findData(Settings->getMsgOpen()));
//ui.encryptedMsgs_CB->setChecked(rsMail->distantMessagingEnabled()) ;
// state of filter combobox
int index = Settings->value("DistantMessages", 0).toInt();
ui.comboBox->setCurrentIndex(index);
uint32_t flags = rsMail->getDistantMessagingPermissionFlags() ;
if(flags == (RS_DISTANT_MESSAGING_CONTACT_PERMISSION_FLAG_CONTACT_LIST | RS_DISTANT_MESSAGING_CONTACT_PERMISSION_FLAG_ANONYMOUS))
ui.comboBox->setCurrentIndex(2);
else if(flags == RS_DISTANT_MESSAGING_CONTACT_PERMISSION_FLAG_CONTACT_LIST)
ui.comboBox->setCurrentIndex(1);
else
ui.comboBox->setCurrentIndex(0);
// fill items
rsMail->getMessageTagTypes(*m_pTags);

View File

@ -54,7 +54,6 @@ private slots:
void defaultTag();
void currentRowChangedTag(int row);
void toggleEnableEncryptedDistantMsgs(bool) ;
void distantMsgsComboBoxChanged(int);