1 #include "SessionListWidget.h"
2 #include "SessionListWidget.moc"
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
) {
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
));
43 } // namespace Aesalon