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_SIGNED 0x0001
#define RS_DISTANT_CHAT_FLAG_SIGNATURE_OK 0x0002 #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 // Identifier for an chat endpoint like
// neighbour peer, distant peer, chatlobby, broadcast // neighbour peer, distant peer, chatlobby, broadcast
class ChatId class ChatId
@ -430,9 +440,9 @@ virtual bool resetMessageStandardTagTypes(Rs::Msgs::MsgTagType& tags) = 0;
/* Private distant messages */ /* Private distant messages */
/****************************************/ /****************************************/
virtual void enableDistantMessaging(bool b) = 0; virtual uint32_t getDistantMessagingPermissionFlags()=0 ;
virtual bool distantMessagingEnabled() = 0; virtual void setDistantMessagingPermissionFlags(uint32_t flags)=0 ;
/****************************************/ /****************************************/
/* Chat */ /* 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) bool p3Msgs::getMessage(const std::string &mid, MessageInfo &msg)
{ {
@ -297,15 +307,6 @@ bool p3Msgs::MessageSend(MessageInfo &info)
return mMsgSrv->MessageSend(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) bool p3Msgs::SystemMessage(const std::string &title, const std::string &message, uint32_t systemFlag)
{ {
return mMsgSrv->SystemMessage(title, message, 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 bool resetMessageStandardTagTypes(Rs::Msgs::MsgTagType& tags);
virtual void enableDistantMessaging(bool b) ; virtual uint32_t getDistantMessagingPermissionFlags() ;
virtual bool distantMessagingEnabled() ; virtual void setDistantMessagingPermissionFlags(uint32_t flags) ;
/*! /*!
* gets avatar from peer, image data in jpeg format * 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 */ void loadWelcomeMsg(); /* startup message */
//std::list<RsMsgItem *> &getMsgList(); //std::list<RsMsgItem *> &getMsgList();
//std::list<RsMsgItem *> &getMsgOutList(); //std::list<RsMsgItem *> &getMsgOutList();
@ -125,6 +126,8 @@ class p3MsgService: public p3Service, public p3Config, public pqiServiceMonitor,
}; };
void enableDistantMessaging(bool b) ; void enableDistantMessaging(bool b) ;
bool distantMessagingEnabled() ; bool distantMessagingEnabled() ;
void setDistantMessagingPermissionFlags(uint32_t flags) {}
uint32_t getDistantMessagingPermissionFlags() { return 0 ;}
private: private:
void sendDistantMsgItem(RsMsgItem *msgitem) ; void sendDistantMsgItem(RsMsgItem *msgitem) ;

View File

@ -60,22 +60,17 @@ MessagePage::~MessagePage()
delete(m_pTags); delete(m_pTags);
} }
void MessagePage::toggleEnableEncryptedDistantMsgs(bool b)
{
rsMail->enableDistantMessaging(b) ;
}
void MessagePage::distantMsgsComboBoxChanged(int i) void MessagePage::distantMsgsComboBoxChanged(int i)
{ {
switch(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 ; break ;
case 1: ; case 1: rsMail->setDistantMessagingPermissionFlags(RS_DISTANT_MESSAGING_CONTACT_PERMISSION_FLAG_CONTACT_LIST) ;
break ; break ;
case 2: rsMail->enableDistantMessaging(false) ; case 2: rsMail->setDistantMessagingPermissionFlags(RS_DISTANT_MESSAGING_CONTACT_PERMISSION_FLAG_NONE) ;
break ; break ;
@ -124,11 +119,16 @@ MessagePage::load()
ui.loadEmbeddedImages->setChecked(Settings->getMsgLoadEmbeddedImages()); ui.loadEmbeddedImages->setChecked(Settings->getMsgLoadEmbeddedImages());
ui.openComboBox->setCurrentIndex(ui.openComboBox->findData(Settings->getMsgOpen())); ui.openComboBox->setCurrentIndex(ui.openComboBox->findData(Settings->getMsgOpen()));
//ui.encryptedMsgs_CB->setChecked(rsMail->distantMessagingEnabled()) ;
// state of filter combobox // 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 // fill items
rsMail->getMessageTagTypes(*m_pTags); rsMail->getMessageTagTypes(*m_pTags);

View File

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