Added FreeObserver() and all assorted code that goes with it.
[aesalon.git] / src / gui / SessionListWidget.h
blob87caf7dc6e74e7acd498eb98c39f2c068332cb09
1 #ifndef AESALON_GUI_SESSION_LIST_WIDGET_H
2 #define AESALON_GUI_SESSION_LIST_WIDGET_H
4 #include <QListWidget>
5 #include <QMenu>
7 #include "Session.h"
9 namespace Aesalon {
10 namespace GUI {
12 class SessionListWidget : public QListWidget { Q_OBJECT
13 private:
14 QMenu *context_menu;
15 QMenu *new_context_menu;
16 QAction *delete_shortcut;
17 public:
18 SessionListWidget(QWidget *parent = 0);
19 virtual ~SessionListWidget() {}
21 void update_list(QList<Session *> sessions);
22 public slots:
23 void display_context_menu(const QPoint &pos);
24 void context_menu_new() { emit new_request(); }
25 void context_menu_edit() { emit edit_request(this->currentItem()); }
26 void context_menu_delete() { emit delete_request(this->currentItem()); }
27 signals:
28 void new_request();
29 void edit_request(QListWidgetItem *item);
30 void delete_request(QListWidgetItem *item);
33 } // namespace GUI
34 } // namespace Aesalon
36 #endif