Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions YACReaderLibrary/classic_comics_view.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -258,6 +258,15 @@ void ClassicComicsView::updateCurrentComicView()
{
}

void ClassicComicsView::focusComicsNavigation(Qt::FocusReason reason)
{
const bool comicFlowVisible = stack->currentWidget() == comicFlow && sVertical->sizes().constFirst() != 0;
if (comicFlowVisible)
comicFlow->setFocus(reason);
else // Let the user navigate the table.
tableView->setFocus(reason);
}

void ClassicComicsView::selectAll()
{
tableView->selectAll();
Expand Down
3 changes: 2 additions & 1 deletion YACReaderLibrary/classic_comics_view.h
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ class ClassicComicsView : public ComicsView
{
Q_OBJECT
public:
ClassicComicsView(QWidget *parent = 0);
explicit ClassicComicsView(QWidget *parent = nullptr);
void setToolBar(QToolBar *toolBar) override;
void setModel(ComicModel *model) override;

Expand All @@ -32,6 +32,7 @@ class ClassicComicsView : public ComicsView
void enableFilterMode(bool enabled) override;
void selectIndex(int index) override;
void updateCurrentComicView() override;
void focusComicsNavigation(Qt::FocusReason reason) override;

public slots:
void setCurrentIndex(const QModelIndex &index) override;
Expand Down
1 change: 1 addition & 0 deletions YACReaderLibrary/comics_view.h
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ class ComicsView : public QWidget
virtual void enableFilterMode(bool enabled) = 0;
virtual void selectIndex(int index) = 0;
virtual void updateCurrentComicView() = 0;
virtual void focusComicsNavigation(Qt::FocusReason reason) = 0;

public slots:
virtual void updateInfoForIndex(int index);
Expand Down
5 changes: 0 additions & 5 deletions YACReaderLibrary/comics_view_transition.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -20,11 +20,6 @@ ComicsViewTransition::ComicsViewTransition(QWidget *parent)
#endif
}

QSize ComicsViewTransition::sizeHint()
{
return QSize(450, 350);
}

void ComicsViewTransition::paintEvent(QPaintEvent *)
{
QPainter painter(this);
Expand Down
1 change: 0 additions & 1 deletion YACReaderLibrary/comics_view_transition.h
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@ class ComicsViewTransition : public QWidget
Q_OBJECT
public:
explicit ComicsViewTransition(QWidget *parent = nullptr);
QSize sizeHint();

protected:
void paintEvent(QPaintEvent *) override;
Expand Down
10 changes: 5 additions & 5 deletions YACReaderLibrary/grid_comics_view.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -469,11 +469,6 @@ void GridComicsView::resetScroll()
QMetaObject::invokeMethod(scrollView, "scrollToOrigin");
}

QSize GridComicsView::sizeHint()
{
return QSize(1280, 768);
}

QByteArray GridComicsView::getMimeDataFromSelection()
{
QByteArray data;
Expand All @@ -491,6 +486,11 @@ void GridComicsView::updateCurrentComicView()
setCurrentComicIfNeeded();
}

void GridComicsView::focusComicsNavigation(Qt::FocusReason reason)
{
view->setFocus(reason);
}

void GridComicsView::startDrag()
{
auto drag = new QDrag(this);
Expand Down
6 changes: 3 additions & 3 deletions YACReaderLibrary/grid_comics_view.h
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,8 @@ class GridComicsView : public ComicsView
{
Q_OBJECT
public:
explicit GridComicsView(QWidget *parent = 0);
virtual ~GridComicsView();
explicit GridComicsView(QWidget *parent = nullptr);
~GridComicsView() override;
void setToolBar(QToolBar *toolBar) override;
void setModel(ComicModel *model) override;
void setCurrentIndex(const QModelIndex &index) override;
Expand All @@ -31,9 +31,9 @@ class GridComicsView : public ComicsView
void toNormal() override;
void updateConfig(QSettings *settings) override;
void enableFilterMode(bool enabled) override;
QSize sizeHint();
QByteArray getMimeDataFromSelection();
void updateCurrentComicView() override;
void focusComicsNavigation(Qt::FocusReason reason) override;

public slots:
//ComicsView
Expand Down
5 changes: 5 additions & 0 deletions YACReaderLibrary/info_comics_view.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -208,6 +208,11 @@ void InfoComicsView::updateCurrentComicView()
{
}

void InfoComicsView::focusComicsNavigation(Qt::FocusReason reason)
{
view->setFocus(reason);
}

void InfoComicsView::setShowMarks(bool show)
{
QQmlContext *ctxt = view->rootContext();
Expand Down
3 changes: 2 additions & 1 deletion YACReaderLibrary/info_comics_view.h
Original file line number Diff line number Diff line change
Expand Up @@ -26,9 +26,10 @@ class InfoComicsView : public ComicsView
void enableFilterMode(bool enabled) override;
void selectIndex(int index) override;
void updateCurrentComicView() override;
void focusComicsNavigation(Qt::FocusReason reason) override;

public slots:
void setShowMarks(bool show);
void setShowMarks(bool show) override;
void selectAll() override;

protected slots:
Expand Down
16 changes: 16 additions & 0 deletions YACReaderLibrary/library_window.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -377,6 +377,8 @@ void LibraryWindow::setUpShortcutsManagement()
tmpList = QList<QAction *>()
<< backAction
<< forwardAction
<< focusSearchLineAction
<< focusComicsViewAction
<< helpAboutAction
<< optionsAction
<< serverConfigAction
Expand Down Expand Up @@ -719,6 +721,17 @@ void LibraryWindow::createActions()
getInfoAction->setIcon(QIcon(":/images/comics_view_toolbar/getInfo.png"));
//-------------------------------------------------------------------------

focusSearchLineAction = new QAction(tr("Focus search line"), this);
focusSearchLineAction->setData(FOCUS_SEARCH_LINE_ACTION_YL);
focusSearchLineAction->setShortcut(ShortcutsManager::getShortcutsManager().getShortcut(FOCUS_SEARCH_LINE_ACTION_YL));
focusSearchLineAction->setIcon(QIcon(":/images/iconSearch.png"));
addAction(focusSearchLineAction);

focusComicsViewAction = new QAction(tr("Focus comics view"), this);
focusComicsViewAction->setData(FOCUS_COMICS_VIEW_ACTION_YL);
focusComicsViewAction->setShortcut(ShortcutsManager::getShortcutsManager().getShortcut(FOCUS_COMICS_VIEW_ACTION_YL));
addAction(focusComicsViewAction);

showEditShortcutsAction = new QAction(tr("Edit shortcuts"), this);
showEditShortcutsAction->setData(SHOW_EDIT_SHORTCUTS_ACTION_YL);
showEditShortcutsAction->setShortcut(ShortcutsManager::getShortcutsManager().getShortcut(SHOW_EDIT_SHORTCUTS_ACTION_YL));
Expand Down Expand Up @@ -1147,6 +1160,9 @@ void LibraryWindow::createConnections()
//connect(comicsModel,SIGNAL(searchNumResults(int)),this,SLOT(checkSearchNumResults(int)));
//connect(emptyFolderWidget,SIGNAL(subfolderSelected(QModelIndex,int)),this,SLOT(selectSubfolder(QModelIndex,int)));

connect(focusSearchLineAction, &QAction::triggered, searchEdit, [this] { searchEdit->setFocus(Qt::ShortcutFocusReason); });
connect(focusComicsViewAction, &QAction::triggered, comicsViewsManager, &YACReaderComicsViewsManager::focusComicsViewViaShortcut);

connect(showEditShortcutsAction, SIGNAL(triggered()), editShortcutsDialog, SLOT(show()));

//update folders (partial updates)
Expand Down
3 changes: 3 additions & 0 deletions YACReaderLibrary/library_window.h
Original file line number Diff line number Diff line change
Expand Up @@ -213,6 +213,9 @@ class LibraryWindow : public QMainWindow
QAction *forceCoverExtractedAction;
QAction *deleteComicsAction;

QAction *focusSearchLineAction;
QAction *focusComicsViewAction;

QAction *showEditShortcutsAction;

QAction *updateFolderAction;
Expand Down
3 changes: 3 additions & 0 deletions YACReaderLibrary/properties_dialog.h
Original file line number Diff line number Diff line change
Expand Up @@ -122,6 +122,9 @@ class PropertiesDialog : public QDialog
PropertiesDialog(QWidget *parent = nullptr);
QString databasePath;
QString basePath;
// TODO: this non-const member function hides rather than overrides
// QWidget::sizeHint(). But the function cannot be simply removed as it is used
// in our constructor. Will have to investigate and decide how to fix this.
QSize sizeHint();
void paintEvent(QPaintEvent *event) override;

Expand Down
5 changes: 5 additions & 0 deletions YACReaderLibrary/yacreader_comics_views_manager.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -121,6 +121,11 @@ void YACReaderComicsViewsManager::toggleComicsView()
}
}

void YACReaderComicsViewsManager::focusComicsViewViaShortcut()
{
comicsView->focusComicsNavigation(Qt::ShortcutFocusReason);
}

//PROTECTED

void YACReaderComicsViewsManager::disconnectComicsViewConnections(ComicsView *widget)
Expand Down
1 change: 1 addition & 0 deletions YACReaderLibrary/yacreader_comics_views_manager.h
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,7 @@ class YACReaderComicsViewsManager : public QObject

public slots:
void toggleComicsView();
void focusComicsViewViaShortcut();

void showComicsView();
void showEmptyFolderView();
Expand Down
1 change: 1 addition & 0 deletions custom_widgets/yacreader_macosx_toolbar.h
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ class YACReaderMacOSXSearchLineEdit : public QObject
Q_OBJECT
public:
YACReaderMacOSXSearchLineEdit();
void setFocus(Qt::FocusReason reason);
void *getNSTextField();

public slots:
Expand Down
7 changes: 7 additions & 0 deletions custom_widgets/yacreader_macosx_toolbar.mm
Original file line number Diff line number Diff line change
Expand Up @@ -316,6 +316,13 @@ - (void)controlTextDidChange:(NSNotification *)notification
nstextfield = searchEdit;
}

void YACReaderMacOSXSearchLineEdit::setFocus(Qt::FocusReason reason)
{
Q_UNUSED(reason)

[((NSTextField *)nstextfield) becomeFirstResponder];
}

void *YACReaderMacOSXSearchLineEdit::getNSTextField()
{
return nstextfield;
Expand Down
1 change: 1 addition & 0 deletions shortcuts_management/shortcuts_manager.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ void ShortcutsManager::initDefaultShorcuts()
{
#ifdef YACREADER_LIBRARY
//ACTIONS
defaultShorcuts.insert(FOCUS_SEARCH_LINE_ACTION_YL, Qt::CTRL | Qt::Key_F);
defaultShorcuts.insert(CREATE_LIBRARY_ACTION_YL, Qt::Key_A);
defaultShorcuts.insert(OPEN_LIBRARY_ACTION_YL, Qt::Key_O);
defaultShorcuts.insert(UPDATE_LIBRARY_ACTION_YL, Qt::Key_U);
Expand Down
2 changes: 2 additions & 0 deletions shortcuts_management/shortcuts_manager.h
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,8 @@ class ShortcutsManager
#define DELETE_COMICS_ACTION_YL "DELETE_COMICS_ACTION_YL"
#define HIDE_COMIC_VIEW_ACTION_YL "HIDE_COMIC_VIEW_ACTION_YL"
#define GET_INFO_ACTION_YL "GET_INFO_ACTION_YL"
#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 UPDATE_CURRENT_FOLDER_ACTION_YL "UPDATE_CURRENT_FOLDER_ACTION_YL"
#define ADD_FOLDER_ACTION_YL "ADD_FOLDER_ACTION_YL"
Expand Down