From 4ca873e05823aecbe4fcd347f99f1ac43efd0804 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luis=20=C3=81ngel=20San=20Mart=C3=ADn?= Date: Thu, 27 Nov 2014 16:29:29 +0100 Subject: [PATCH] added 'Add to...' context submenu and addToFavoritesAction --- YACReaderLibrary/grid_comics_view.cpp | 9 ++++++++- YACReaderLibrary/library_window.cpp | 18 +++++++++++++++++- YACReaderLibrary/library_window.h | 4 ++-- YACReaderLibrary/qml/GridComicsView.qml | 7 +++++++ shortcuts_management/shortcuts_manager.h | 1 + 5 files changed, 35 insertions(+), 4 deletions(-) diff --git a/YACReaderLibrary/grid_comics_view.cpp b/YACReaderLibrary/grid_comics_view.cpp index 1238e441..354ef2e9 100644 --- a/YACReaderLibrary/grid_comics_view.cpp +++ b/YACReaderLibrary/grid_comics_view.cpp @@ -179,7 +179,14 @@ void GridComicsView::setViewActions(const QList &actions) ctxt->setContextProperty("deleteComicsAction",actions[17]); - ctxt->setContextProperty("toggleFullScreenAction",actions[19]); + QAction * tmpAction = actions[19]; + QMenu * menu = tmpAction->menu(); + if(menu) + { + ctxt->setContextProperty("addToFavoritesAction",menu->actions().at(0)); + } + + ctxt->setContextProperty("toggleFullScreenAction",actions[21]); } else QLOG_ERROR() << "setViewActions invoked with the wrong number of actions"; diff --git a/YACReaderLibrary/library_window.cpp b/YACReaderLibrary/library_window.cpp index 8606bc7e..5c8887a0 100644 --- a/YACReaderLibrary/library_window.cpp +++ b/YACReaderLibrary/library_window.cpp @@ -760,6 +760,18 @@ void LibraryWindow::createActions() renameListAction->setToolTip(tr("Rename any selected labels or lists")); renameListAction->setIcon(QIcon(":/images/renameListIcon.png")); + //-- + addToMenuAction = new QAction(tr("Add to..."), this); + + addToFavoritesAction = new QAction(tr("Favorites"), this); + addToFavoritesAction->setData(ADD_TO_FAVORITES_ACTION_YL); + addToFavoritesAction->setShortcut(ShortcutsManager::getShortcutsManager().getShortcut(ADD_TO_FAVORITES_ACTION_YL)); + addToFavoritesAction->setToolTip(tr("Add selected comics to favorites list")); + addToFavoritesAction->setIcon(QIcon(":/images/lists/default_1.png")); + + QMenu * menu = new QMenu(this); + menu->addAction(addToFavoritesAction); + addToMenuAction->setMenu(menu); //disable actions disableAllActions(); } @@ -926,7 +938,9 @@ void LibraryWindow::createMenus() << setAsReadAction << setAsNonReadAction << YACReader::createSeparator() - << deleteComicsAction; + << deleteComicsAction + << YACReader::createSeparator() + << addToMenuAction; viewActions << openComicAction << YACReader::createSeparator() @@ -946,6 +960,8 @@ void LibraryWindow::createMenus() << showHideMarksAction << YACReader::createSeparator() << deleteComicsAction + << YACReader::createSeparator() + << addToMenuAction #ifndef Q_OS_MAC << YACReader::createSeparator() diff --git a/YACReaderLibrary/library_window.h b/YACReaderLibrary/library_window.h index 5bdb7cb2..3f605397 100644 --- a/YACReaderLibrary/library_window.h +++ b/YACReaderLibrary/library_window.h @@ -217,8 +217,8 @@ private: QAction * addLabelAction; QAction * renameListAction; //-- - //QAction * expandAllNodesRLAction; - //QAction * colapseAllNodesRLAction; + QAction * addToMenuAction; + QAction * addToFavoritesAction; QList itemActions; QList viewActions; diff --git a/YACReaderLibrary/qml/GridComicsView.qml b/YACReaderLibrary/qml/GridComicsView.qml index cf300d2f..24d0f134 100644 --- a/YACReaderLibrary/qml/GridComicsView.qml +++ b/YACReaderLibrary/qml/GridComicsView.qml @@ -121,6 +121,13 @@ Rectangle { MenuItem { text: "Show or hide read marks"; enabled: true; iconSource:"qrc:///images/showMarks.png"; onTriggered: showHideMarksAction.trigger() } MenuSeparator{} MenuItem { text: "Delete selected comics"; enabled: true; iconSource:"qrc:///images/trash.png"; onTriggered: deleteComicsAction.trigger() } + MenuSeparator{} + Menu { + id: addToMenu + title: "Add to..." + MenuItem { text: "Favorites"; enabled: true; iconSource:"qrc:///images/lists/default_1.png"; onTriggered: addToFavoritesAction.trigger() } + } + MenuSeparator{} MenuItem { text: "Fullscreen mode on/off"; onTriggered: toggleFullScreenAction.trigger() } //MenuItem { text: "Show details"; onTriggered: cell.state = 'Details'; diff --git a/shortcuts_management/shortcuts_manager.h b/shortcuts_management/shortcuts_manager.h index 609ee57d..a49c5acc 100644 --- a/shortcuts_management/shortcuts_manager.h +++ b/shortcuts_management/shortcuts_manager.h @@ -79,6 +79,7 @@ public: #define REMOVE_READING_LIST_ACTION_YL "REMOVE_READING_LIST_ACTION_YL" #define ADD_LABEL_ACTION_YL "ADD_LABEL_ACTION_YL" #define RENAME_LIST_ACTION_YL "RENAME_LIST_ACTION_YL" +#define ADD_TO_FAVORITES_ACTION_YL "ADD_TO_FAVORITES_ACTION_YL" //COMMANDS YACReaderLibrary