00001 00007 #ifndef MESSAGECOMPOSER_H 00008 #define MESSAGECOMPOSER_H 00009 00010 #include <QWidget> 00011 #include <QPushButton> 00012 00013 #include "datatypes/message.h" 00014 #include "datatypes/friend.h" 00015 00016 #include "servicemgr.h" 00017 00018 namespace Ui { 00019 class MessageComposer; 00020 } 00021 00031 class MessageComposer : public QWidget 00032 { 00033 Q_OBJECT 00034 public: 00040 explicit MessageComposer(QWidget *parent = 0); 00041 00049 explicit MessageComposer(ServiceMgr *sm, QWidget *parent = 0); 00050 00052 ~MessageComposer(); 00053 00059 void init(); 00060 00064 void resetMessage(); 00065 00071 void setRecepient(Friend fd); 00072 00078 void setRecepient(QString ownerId); 00079 00085 void setTitle(QString title); 00086 00092 void setMessageBody(QString text); 00093 00099 void replyMessage(Message msg); 00100 00101 signals: 00102 void messageSent(); 00103 00109 void saveMessage(Message msg); 00110 00111 public slots: 00112 00113 private: 00114 QPushButton *buttonSend; 00115 QPushButton *buttonSave; 00116 00117 ServiceMgr *sm; 00118 Ui::MessageComposer *ui; 00119 00120 void fillFriendList(FriendList fr); 00121 00122 private slots: 00123 void sendMessage(); 00124 void saveMessage(); 00125 void updateAccounts(QString, AccountList); 00126 void updateFriendList(FriendList list, bool isLastUpdate); 00127 00128 }; 00129 00130 #endif // MESSAGECOMPOSER_H