SystemGui/Sources/SMSClient/SMSClient.cpp
2017-04-12 13:37:09 -04:00

199 lines
4.6 KiB
C++

#include "SMSClient.h"
#include <QApplication>
CSMSClient::CSMSClient(CSMSGui *GuiHandle, CVoipMSSMSSettings *ProgramSettings)
{
qDebug("Creation...");
mSMSDatabase.mProgramHandle = this;
mGuiHandle = GuiHandle;
mGuiHandle->mProgramHandle = this;
mGuiHandle->mSMSDatabase = &mSMSDatabase;
mSettings = ProgramSettings;
// mSystemTrayManager = new CSystemTrayManager;
// mSystemTrayManager->mProgramHandle = this;
// mSettingsWindow = new CSettingsWindow();
// mSettingsWindow->mProgramHandle = this;
//mMainPanel = new Panel;
// mMasterCtrlIF = new CMasterCtrlInterface();
}
CSMSClient::~CSMSClient()
{
// delete mSystemTrayManager;
// delete mSettingsWindow;
// delete mMainPanel;
// delete mMasterCtrlIF;
}
void CSMSClient::Start()
{
qDebug("Started!");
mMasterCtrlIF = new CSMSMasterCtrlInterface(this);
mSMSDatabase.mContactRepository = &mContactRepository;
mMasterCtrlIF->ConnectToMasterCtrl();
}
int CSMSClient::SetAllMsgsDatabase(QString DID, QList<CSMSMessage> *MessagesList)
{
if(mSMSDatabase.SetAllMessages(DID,MessagesList) == RET_OK)
{
mGuiHandle->FullConversationsUpdate();
// mMainPanel->mConversationsWindow->FullConversationsUpdate();
// mMainPanel->mConversationWindow->hide();
}
return RET_OK;
}
int CSMSClient::SetDIDDatabase(QString DID)
{
mSMSDatabase.SetDID(DID);
return RET_OK;
}
int CSMSClient::NewMessagesEvent(QList<CSMSMessage> *MessagesList)
{
mSMSDatabase.SetNewMessages("",MessagesList);
return RET_OK;
}
int CSMSClient::SetContacts(QList<CContact> *ContactsList)
{
mContactRepository.SetContacts(ContactsList);
mSMSDatabase.ContactsRepositoryChanged();
return RET_OK;
}
//unsigned int CSMSClient::QuitApplicationRequest()
//{
// QApplication::exit(69);
// return RET_OK;
//}
//unsigned int CSMSClient::ShowSettingsWindowRequest()
//{
// mSettingsWindow->show();
// return RET_OK;
//}
//unsigned int CSMSClient::SaveSettings(CSettings *Settings)
//{
// CSettings toto;
// toto = *Settings;
// mSMSClientSettings = toto;
// mSettingsManager.SaveSettings(&mSMSClientSettings);
// return RET_OK;
//}
//unsigned int CSMSClient::SettingsWindowClosed()
//{
// return RET_OK;
//}
//int CSMSClient::AppToggle()
//{
//// if(mMainPanel->mConversationWindow->isVisible())
//// {
//// mMainPanel->mConversationWindow->hide();
//// }
//// else if(mMainPanel->mConversationsWindow->isVisible())
//// {
//// mMainPanel->mConversationsWindow->hide();
//// }
//// else
//// {
//// mMainPanel->mConversationsWindow->show();
//// }
// return RET_OK;
//}
//int CSMSClient::AppPosChanged(int NewPosX, int NewPosY)
//{
//// mMainPanel->mConversationsWindow->setPos(50,50);
//// mMainPanel->mConversationWindow->setPos(50,50);
// return RET_OK;
//}
int CSMSClient::ShowConversation(QString Contact)
{
CSMSConversation* Conversation;
Conversation = mSMSDatabase.GetConversation(Contact);
if(Conversation == 0)
{
return RET_ERROR;
}
// mMainPanel->mConversationWindow->SetConversation(Conversation);
// mMainPanel->mConversationsWindow->hide();
// mMainPanel->mConversationWindow->show();
return RET_OK;
}
//int CSMSClient::CloseConversationsWindow()
//{
//// mMainPanel->mConversationsWindow->hide();
// return RET_OK;
//}
//int CSMSClient::CloseConversationWindow(CConversationWindow *Window)
//{
// Q_UNUSED(Window)
//// mMainPanel->mConversationsWindow->FullConversationsUpdate();
//// mMainPanel->mConversationWindow->hide();
//// mMainPanel->mConversationsWindow->show();
// return RET_OK;
//}
int CSMSClient::SendSMSMessage(CSMSMessage Message)
{
mMasterCtrlIF->SendSMS(Message);
return RET_OK;
}
int CSMSClient::NewMessageNotification(CSMSConversation *Conversation, int MessageIndex)
{
// if(mMainPanel->mConversationWindow->NewMessageNotification(Conversation,MessageIndex) == true)
// {
// mSMSDatabase.SetConversationAsRead(Conversation);
// }
// mMainPanel->mConversationsWindow->UpdateConversation(Conversation);
mGuiHandle->NewMessageNotification(Conversation,MessageIndex);
MessageCountChangeNotification(mSMSDatabase.GetNbUnreadMsgs());
return RET_OK;
}
int CSMSClient::SyncConversations()
{
// mMainPanel->mConversationsWindow->FullConversationsUpdate();
return RET_OK;
}
int CSMSClient::MessageCountChangeNotification(int MsgCount)
{
// mMainPanel->mAppIconWidget->SetNewMsgCount(MsgCount);
mTrayIconMgr->NewSMSMessagesPendingCount(MsgCount);
return RET_OK;
}
//int CSMSClient::NewConversationAddedToDatabase(CSMSConversation *Conversation)
//{
//}