00001 00007 #ifndef MESSAGEBROWSER_H 00008 #define MESSAGEBROWSER_H 00009 00010 #include <QWidget> 00011 #include <QLineEdit> 00012 #include <QTextEdit> 00013 #include <QLabel> 00014 #include "datatypes/message.h" 00015 #include "servicemgr.h" 00016 00017 namespace Ui { 00018 class MessageBrowser; 00019 } 00020 00030 class MessageBrowser : public QWidget 00031 { 00032 Q_OBJECT 00033 public: 00034 00040 explicit MessageBrowser(QWidget *parent = 0); 00041 00049 explicit MessageBrowser(ServiceMgr *sm, QWidget *parent = 0); 00050 00058 explicit MessageBrowser(Message msg, QWidget *parent); 00059 00061 ~MessageBrowser(); 00062 00068 void setMessage(Message msg); 00069 00073 QString title(); 00074 00078 QStringList to(); 00079 00083 QString from(); 00084 00088 QString message(); 00089 00093 void resetMessage(); 00094 00095 void init(); 00096 00097 private: 00098 ServiceMgr *sm; 00099 Ui::MessageBrowser *ui; 00100 00101 QTextEdit *textLabel; 00102 00103 AccountList mAccountList; 00104 QSet<QString> mLocalAccountIds; 00105 00106 QLabel* descLabel; 00107 00108 QLabel* titleLabel; 00109 QLabel* dateLabel; 00110 QLabel* fromLabel; 00111 QLabel* toLabel; 00112 QLabel* serviceIcon; 00113 QLineEdit* titleLineEdit; 00114 QLineEdit* dateLineEdit; 00115 QLineEdit* fromLineEdit; 00116 QLineEdit* toLineEdit; 00117 00118 void hideTo(bool hide); 00119 void hideFrom(bool hide); 00120 00121 private slots: 00122 void updateAccountList(QString, AccountList); 00123 }; 00124 00125 #endif // MESSAGEBROWSER_H