#ifndef SMSGUI_H
#define SMSGUI_H

#include <QWidget>
#include "ui_SMSGui.h"
#include "SMSDatabase.h"

//namespace Ui {
//class CSMSGui;
//}
class CSMSClient;

enum eNewMessageStatus
{
    NEW_MSG_READ_STATUS,
    NEW_MSG_UNREAD_STATUS,
    NEW_MSG_ERROR_STATUS
};

class CSMSGui : public QWidget, private Ui::CSMSGui
{
    Q_OBJECT

public:
    explicit CSMSGui(QWidget *parent = 0);
    ~CSMSGui();

    int FullConversationsUpdate();
    int NewMessageNotification(CSMSConversation* Conversation, int MessageIndex);
    int SendEditMessage();

    int UpdateDisplayedConversation(int MessageIndex = -1);
    virtual bool eventFilter(QObject *obj, QEvent *event);

    CSMSDatabase *mSMSDatabase;
    CSMSConversation *mSelectedConversation;
    CSMSClient *mProgramHandle;

private:
    int mCharCounter, mMsgCounter;

public slots:
 //   void ConversationSelected(QTreeWidgetItem * item, int column);
    void ConversationClicked(QTreeWidgetItem * item, int column);
    void SendMsgBtnClicked(bool);
    void SMSEditZoneContentsChanged();
};

#endif // SMSGUI_H
