00001 #ifndef QLISTFRIENDWIDGET_H
00002 #define QLISTFRIENDWIDGET_H
00003
00004 #include <QWidget>
00005 #include <QPushButton>
00006 #include <QModelIndex>
00007 #include <QAction>
00008
00009 #include <utils/hintedit.h>
00010 #include <servicemgr.h>
00011
00012 #include "qfriendlistmodel.h"
00013
00014 namespace Ui {
00015 class QFriendListWidget;
00016 }
00017
00018 class QToolBar;
00019 class QFriendListWidget : public QWidget
00020 {
00021 Q_OBJECT
00022
00023 public:
00024 explicit QFriendListWidget(ServiceMgr *sm = 0, QWidget *parent = 0);
00025 ~QFriendListWidget();
00026
00027 Friend getSelectedFriend() const;
00028
00029 void selectFriend(const Friend &fr);
00030 QToolBar* filtersToolBar() const;
00031
00032 signals:
00033 void ownerSelected(Friend fr);
00034
00035 private slots:
00036
00037 void itemSelected(QModelIndex index);
00038
00039 void itemSelected(QAction *act);
00040
00041
00042 void editOwnr_textChanged(QString str);
00043
00044
00045 void buttonResetOwnr_clicked();
00046
00047 void updateFriends(FriendList list, bool isLastUpdate);
00048 private:
00049 Ui::QFriendListWidget *ui;
00050
00051 HintEdit *editOwnr;
00052 QPushButton *buttonEditOwnr;
00053 ServiceMgr *sm;
00054
00055
00056 QFriendListModel *model;
00057
00058
00059 QModelIndex selectedItem;
00060
00061 QString selectedFrAccount;
00062
00063 QString selectedFrId;
00064
00065
00066 bool isMeSelected;
00067
00068 QToolBar* filtersToolBar_;
00069 };
00070
00071 #endif // QLISTFRIENDWIDGET_H