Began removal of platform/. The Monitor:: namespace is completely converted.
[aesalon.git] / src / gui / SessionListWidget.cpp
blob23ab3c0b47e52fc5e35770e11075a59cbd6bb9be
1 #include "SessionListWidget.h"
2 #include "SessionListWidget.moc"
4 namespace Aesalon {
5 namespace GUI {
7 SessionListWidget::SessionListWidget(QWidget *parent) {
8 setContextMenuPolicy(Qt::CustomContextMenu);
10 connect(this, SIGNAL(customContextMenuRequested(QPoint)), this, SLOT(display_context_menu(QPoint)));
12 context_menu = new QMenu();
13 context_menu->addAction("&New session", this, SLOT(context_menu_new()));
14 context_menu->addAction("&Edit session", this, SLOT(context_menu_edit()));
15 context_menu->addAction("&Delete session", this, SLOT(context_menu_delete()));
17 new_context_menu = new QMenu();
18 new_context_menu->addAction("&New session", this, SLOT(context_menu_new()));
20 delete_shortcut = new QAction(this);
21 delete_shortcut->setShortcut(Qt::Key_Delete);
22 connect(delete_shortcut, SIGNAL(triggered(bool)), this, SLOT(context_menu_delete()));
23 this->addAction(delete_shortcut);
26 void SessionListWidget::update_list(QList<Session *> sessions) {
27 this->clear();
28 for(int i = 0; i < sessions.size(); i ++) {
29 this->addItem(sessions[i]->get_session_name());
31 this->sortItems(Qt::AscendingOrder);
34 void SessionListWidget::display_context_menu(const QPoint &pos) {
35 if(this->itemAt(pos)) {
36 this->setCurrentItem(this->itemAt(pos));
37 context_menu->popup(mapToGlobal(pos));
39 else new_context_menu->popup(mapToGlobal(pos));
42 } // namespace GUI
43 } // namespace Aesalon