mirror of
https://github.com/YACReader/yacreader
synced 2025-05-28 03:10:27 -04:00
Library: add Quit shortcut
The Ctrl+Q shortcut is assigned to Quit action in most applications on GNU/Linux. Command+Q is used on macOS. The added shortcut should be automatically mapped to Command+Q on macOS judging by the following quote from QKeySequence class documentation: Note: On macOS, references to "Ctrl", Qt::CTRL, Qt::Key_Control and Qt::ControlModifier correspond to the Command keys on the Macintosh keyboard QKeySequence::Quit could be used as the default key sequence in place of `Qt::CTRL | Qt::Key_Q`. This would leave the shortcut unassigned by default on Windows. But YACReader doesn't use QKeySequence::StandardKey anywhere, so perhaps this shortcut should be hard-coded too. The shortcut is particularly useful when Close to tray option is enabled, because in this case closing the Library window with a system window manager shortcut simply hides it.
This commit is contained in:
parent
63b1f9401b
commit
2acfbbfac7
@ -71,6 +71,8 @@
|
||||
<file alias="images/sidebar/delete_sidebar@2x.png">../images/sidebar/delete_sidebar_osx@2x.png</file>
|
||||
<file alias="images/sidebar/addLabelIcon@2x.png">../images/sidebar/addLabelIcon_osx@2x.png</file>
|
||||
<file alias="images/sidebar/renameListIcon@2x.png">../images/sidebar/renameListIcon_osx@2x.png</file>
|
||||
<file alias="images/viewer_toolbar/close.png">../images/viewer_toolbar/close_osx.png</file>
|
||||
<file alias="images/viewer_toolbar/close@2x.png">../images/viewer_toolbar/close_osx@2x.png</file>
|
||||
<file>macostrayicon.svg</file>
|
||||
</qresource>
|
||||
</RCC>
|
||||
|
@ -41,6 +41,7 @@
|
||||
<file>../images/lists/label_yellow.png</file>
|
||||
<file>../images/lists/list.png</file>
|
||||
<file>../images/empty_reading_list.png</file>
|
||||
<file>../images/viewer_toolbar/close.png</file>
|
||||
<file>icon.ico</file>
|
||||
</qresource>
|
||||
</RCC>
|
||||
|
@ -396,7 +396,8 @@ void LibraryWindow::setUpShortcutsManagement()
|
||||
<< helpAboutAction
|
||||
<< optionsAction
|
||||
<< serverConfigAction
|
||||
<< showEditShortcutsAction);
|
||||
<< showEditShortcutsAction
|
||||
<< quitAction);
|
||||
|
||||
allActions << tmpList;
|
||||
|
||||
@ -752,6 +753,13 @@ void LibraryWindow::createActions()
|
||||
showEditShortcutsAction->setShortcutContext(Qt::ApplicationShortcut);
|
||||
addAction(showEditShortcutsAction);
|
||||
|
||||
quitAction = new QAction(tr("&Quit"), this);
|
||||
quitAction->setIcon(QIcon(":/images/viewer_toolbar/close.png"));
|
||||
quitAction->setData(QUIT_ACTION_YL);
|
||||
quitAction->setShortcut(ShortcutsManager::getShortcutsManager().getShortcut(QUIT_ACTION_YL));
|
||||
// TODO: is `quitAction->setMenuRole(QAction::QuitRole);` useful on macOS?
|
||||
addAction(quitAction);
|
||||
|
||||
updateFolderAction = new QAction(tr("Update folder"), this);
|
||||
updateFolderAction->setIcon(QIcon(":/images/menus_icons/updateLibraryIcon.png"));
|
||||
|
||||
@ -1179,6 +1187,8 @@ void LibraryWindow::createConnections()
|
||||
|
||||
connect(showEditShortcutsAction, SIGNAL(triggered()), editShortcutsDialog, SLOT(show()));
|
||||
|
||||
connect(quitAction, &QAction::triggered, this, &LibraryWindow::closeApp);
|
||||
|
||||
//update folders (partial updates)
|
||||
connect(updateCurrentFolderAction, SIGNAL(triggered()), this, SLOT(updateCurrentFolder()));
|
||||
connect(updateFolderAction, SIGNAL(triggered()), this, SLOT(updateCurrentFolder()));
|
||||
|
@ -218,6 +218,8 @@ public:
|
||||
|
||||
QAction *showEditShortcutsAction;
|
||||
|
||||
QAction *quitAction;
|
||||
|
||||
QAction *updateFolderAction;
|
||||
QAction *updateCurrentFolderAction;
|
||||
|
||||
|
@ -52,13 +52,10 @@ TrayIconController::TrayIconController(QSettings *settings, LibraryWindow *windo
|
||||
auto restoreAction = new QAction(tr("&Restore"), this);
|
||||
connect(restoreAction, &QAction::triggered, this, &TrayIconController::showWindow);
|
||||
|
||||
auto quitAction = new QAction(tr("&Quit"), this);
|
||||
connect(quitAction, &QAction::triggered, window, &LibraryWindow::closeApp);
|
||||
|
||||
trayIconMenu = new QMenu(this->window);
|
||||
trayIconMenu->addAction(restoreAction);
|
||||
trayIconMenu->addSeparator();
|
||||
trayIconMenu->addAction(quitAction);
|
||||
trayIconMenu->addAction(this->window->quitAction);
|
||||
|
||||
trayIcon.setContextMenu(trayIconMenu);
|
||||
|
||||
|
@ -27,6 +27,7 @@ void ShortcutsManager::initDefaultShorcuts()
|
||||
defaultShorcuts.insert(COLAPSE_ALL_NODES_ACTION_YL, Qt::Key_Minus);
|
||||
defaultShorcuts.insert(OPTIONS_ACTION_YL, Qt::Key_C);
|
||||
defaultShorcuts.insert(SERVER_CONFIG_ACTION_YL, Qt::Key_S);
|
||||
defaultShorcuts.insert(QUIT_ACTION_YL, Qt::CTRL | Qt::Key_Q);
|
||||
defaultShorcuts.insert(TOGGLE_COMICS_VIEW_ACTION_YL, Qt::Key_V);
|
||||
|
||||
//COMMANDS (used in keypressevent)
|
||||
|
@ -78,6 +78,7 @@ public:
|
||||
#define FOCUS_SEARCH_LINE_ACTION_YL "FOCUS_SEARCH_LINE_ACTION_YL"
|
||||
#define FOCUS_COMICS_VIEW_ACTION_YL "FOCUS_COMICS_VIEW_ACTION_YL"
|
||||
#define SHOW_EDIT_SHORTCUTS_ACTION_YL "SHOW_EDIT_SHORTCUTS_ACTION_YL"
|
||||
#define QUIT_ACTION_YL "QUIT_ACTION_YL"
|
||||
#define UPDATE_CURRENT_FOLDER_ACTION_YL "UPDATE_CURRENT_FOLDER_ACTION_YL"
|
||||
#define ADD_FOLDER_ACTION_YL "ADD_FOLDER_ACTION_YL"
|
||||
#define REMOVE_FOLDER_ACTION_YL "REMOVE_FOLDER_ACTION_YL"
|
||||
|
Loading…
Reference in New Issue
Block a user