00001 #ifndef QMESSAGELISTWIDGET_H
00002 #define QMESSAGELISTWIDGET_H
00003
00004 #include <QWidget>
00005 #include <QPushButton>
00006 #include <QModelIndex>
00007 #include <QAction>
00008 #include <QDesktopWidget>
00009
00010 #include <utils/hintedit.h>
00011 #include <servicemgr.h>
00012
00013 #include "qmessagelistmodel.h"
00014
00015 namespace Ui {
00016 class QMessageListWidget;
00017 }
00018
00019 class QToolBar;
00020 class QMessageListWidget : public QWidget
00021 {
00022 Q_OBJECT
00023 public:
00024 explicit QMessageListWidget(ServiceMgr* sm = 0, QWidget *parent = 0);
00025 ~QMessageListWidget();
00026
00027 Message getSelectedMessage() const;
00028
00029 void selectedMessage(const Message &msg);
00030 QToolBar* filtersToolBar() const;
00031
00032 void showFriendMessages(Friend fr);
00033 void setMultipanelEnabled(const bool isMultiPanel);
00034
00035 signals:
00036 void ownerSelected(Message msg);
00037
00038 public slots:
00039
00040 void itemSelected(QModelIndex index);
00041
00042 void itemSelected(QAction *act);
00043
00044
00045 void editOwnr_textChanged(QString str);
00046
00047
00048 void buttonResetOwnr_clicked();
00049
00050 void updateMessages(MessageList list, bool isLastUpdate);
00051
00052 private:
00053 Ui::QMessageListWidget *ui;
00054
00055 ServiceFilter* filter;
00056
00057 HintEdit *editOwnr;
00058 QPushButton *buttonEditOwnr;
00059 ServiceMgr *sm;
00060
00061 bool isMultiPanel;
00062
00063
00064 QMessageListModel *model;
00065
00066
00067 QModelIndex selectedItem;
00068
00069 QString selectedMsgAccount;
00070
00071 QString selectedMsgId;
00072
00073 QToolBar* filtersToolBar_;
00074
00075 private slots:
00076 void modelLayoutChanged();
00077 void orientationChanged();
00078 };
00079
00080 #endif // QMESSAGELISTWIDGET_H