diff --git a/mainwindow.cpp b/mainwindow.cpp index a40ea35..e4537ee 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -309,6 +309,14 @@ void MainWindow::postItems() { emit m_core->postItemToServer(jsonData); } +void MainWindow::deleteItem() { + showStatusMessage(tr("Invoked 'Server|Delete items'")); + const QModelIndex currentIndex = ui->tableView->currentIndex(); + // const QByteArray jsonData = m_proxyModel->jsonDataForServer(currentIndex); + const QString currentId = m_proxyModel->getUuid(currentIndex); + emit m_core->deleteItemFromServer(currentId); +} + void MainWindow::createActions() { // TODO add generic menu actions (file/new, edit/cut, ...) createFileActions(); @@ -474,6 +482,13 @@ void MainWindow::createServerActions() { m_postItemsAct->setStatusTip(tr("Posts the current item on configured server")); connect(m_postItemsAct.get(), &QAction::triggered, this, &MainWindow::postItems); ui->menu_Server->addAction(m_postItemsAct.get()); + + m_deleteItemsAct = make_unique(tr("&Delete item"), this); + m_deleteItemsAct->setShortcut(QKeySequence(Qt::CTRL | Qt::ALT | Qt::Key_Backspace)); + // m_deleteItemsAct->setStatusTip(tr("Deletes the selected items on configured server")); + m_deleteItemsAct->setStatusTip(tr("Deletes the current item on configured server")); + connect(m_deleteItemsAct.get(), &QAction::triggered, this, &MainWindow::deleteItem); + ui->menu_Server->addAction(m_deleteItemsAct.get()); } void MainWindow::createHelpMenu() { diff --git a/mainwindow.h b/mainwindow.h index fb79def..8a1ee81 100644 --- a/mainwindow.h +++ b/mainwindow.h @@ -66,6 +66,7 @@ class MainWindow : public QMainWindow { /// 'Server' slots void fetchItems(); void postItems(); + void deleteItem(); private: Ui::MainWindow* ui; @@ -96,6 +97,7 @@ class MainWindow : public QMainWindow { /// Server actions unique_ptr m_fetchItemsAct; unique_ptr m_postItemsAct; + unique_ptr m_deleteItemsAct; /// View actions unique_ptr m_showModelUndoViewAct;