From c8d4d43b66a9001c7198d40ab95e64ce3fa5daea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luis=20=C3=81ngel=20San=20Mart=C3=ADn?= Date: Sun, 27 Mar 2016 10:33:13 +0200 Subject: [PATCH] added the new info comics view to the switch views rotation --- YACReaderLibrary/info_comics_view.cpp | 6 +++ YACReaderLibrary/library_window.cpp | 4 ++ .../yacreader_comics_views_manager.cpp | 51 ++++++++++++++++--- .../yacreader_comics_views_manager.h | 2 + 4 files changed, 57 insertions(+), 6 deletions(-) diff --git a/YACReaderLibrary/info_comics_view.cpp b/YACReaderLibrary/info_comics_view.cpp index f1db8ac2..8367e9c5 100644 --- a/YACReaderLibrary/info_comics_view.cpp +++ b/YACReaderLibrary/info_comics_view.cpp @@ -8,6 +8,8 @@ InfoComicsView::InfoComicsView(QWidget *parent) void InfoComicsView::setToolBar(QToolBar *toolBar) { + toolBar->setParent(this); + int FIXME; } @@ -24,11 +26,15 @@ void InfoComicsView::setCurrentIndex(const QModelIndex &index) QModelIndex InfoComicsView::currentIndex() { int FIXME; + + return QModelIndex(); } QItemSelectionModel *InfoComicsView::selectionModel() { int FIXME; + + return 0; } void InfoComicsView::scrollTo(const QModelIndex &mi, QAbstractItemView::ScrollHint hint) diff --git a/YACReaderLibrary/library_window.cpp b/YACReaderLibrary/library_window.cpp index 0ee76727..2c8bbe1a 100644 --- a/YACReaderLibrary/library_window.cpp +++ b/YACReaderLibrary/library_window.cpp @@ -590,10 +590,14 @@ void LibraryWindow::createActions() toggleComicsViewAction = new QAction(tr("Change between comics views"),this); toggleComicsViewAction->setToolTip(tr("Change between comics views")); QIcon icoViewsButton; + if(!settings->contains(COMICS_VIEW_STATUS) || settings->value(COMICS_VIEW_STATUS) == Flow) icoViewsButton.addFile(":/images/main_toolbar/grid.png", QSize(), QIcon::Normal); + else if(settings->value(COMICS_VIEW_STATUS) == Grid) + icoViewsButton.addFile(":/images/main_toolbar/info.png", QSize(), QIcon::Normal); else icoViewsButton.addFile(":/images/main_toolbar/flow.png", QSize(), QIcon::Normal); + toggleComicsViewAction->setData(TOGGLE_COMICS_VIEW_ACTION_YL); toggleComicsViewAction->setShortcut(ShortcutsManager::getShortcutsManager().getShortcut(TOGGLE_COMICS_VIEW_ACTION_YL)); toggleComicsViewAction->setIcon(icoViewsButton); diff --git a/YACReaderLibrary/yacreader_comics_views_manager.cpp b/YACReaderLibrary/yacreader_comics_views_manager.cpp index 00ce27d1..61eddbf3 100644 --- a/YACReaderLibrary/yacreader_comics_views_manager.cpp +++ b/YACReaderLibrary/yacreader_comics_views_manager.cpp @@ -4,6 +4,7 @@ #include "classic_comics_view.h" #include "grid_comics_view.h" +#include "info_comics_view.h" #include "comics_view_transition.h" #include "empty_folder_widget.h" #include "empty_label_widget.h" @@ -20,13 +21,27 @@ YACReaderComicsViewsManager::YACReaderComicsViewsManager(QSettings *settings, Li { comicsViewStack = new QStackedWidget(); - if(!settings->contains(COMICS_VIEW_STATUS) || settings->value(COMICS_VIEW_STATUS) == Flow) { + switch ((YACReader::ComicsViewStatus)settings->value(COMICS_VIEW_STATUS).toInt()) + { + case Flow: comicsView = classicComicsView = new ClassicComicsView(); comicsViewStatus = Flow; - } else { + break; + + case Grid: comicsView = gridComicsView = new GridComicsView(); connect(libraryWindow->optionsDialog, SIGNAL(optionsChanged()), gridComicsView, SLOT(updateBackgroundConfig())); comicsViewStatus = Grid; + break; + + case Info: + comicsView = infoComicsView = new InfoComicsView(); + comicsViewStatus = Info; + break; + + default: + comicsView = classicComicsView = new ClassicComicsView(); + comicsViewStatus = Flow; } doComicsViewConnections(); @@ -157,9 +172,12 @@ void YACReaderComicsViewsManager::showComicsViewTransition() void YACReaderComicsViewsManager::toggleComicsView_delayed() { - if(comicsViewStatus == Flow){ + switch(comicsViewStatus) + { + case Flow: + { QIcon icoViewsButton; - icoViewsButton.addFile(":/images/main_toolbar/flow.png", QSize(), QIcon::Normal); + icoViewsButton.addFile(":/images/main_toolbar/info.png", QSize(), QIcon::Normal); libraryWindow->toggleComicsViewAction->setIcon(icoViewsButton); #ifdef Q_OS_MAC libraryWindow->libraryToolBar->updateViewSelectorIcon(icoViewsButton); @@ -167,16 +185,37 @@ void YACReaderComicsViewsManager::toggleComicsView_delayed() switchToComicsView(classicComicsView, gridComicsView = new GridComicsView()); connect(libraryWindow->optionsDialog, SIGNAL(optionsChanged()), gridComicsView, SLOT(updateBackgroundConfig())); comicsViewStatus = Grid; + + break; } - else{ + + case Grid: + { + QIcon icoViewsButton; + icoViewsButton.addFile(":/images/main_toolbar/flow.png", QSize(), QIcon::Normal); + libraryWindow->toggleComicsViewAction->setIcon(icoViewsButton); +#ifdef Q_OS_MAC + libraryWindow->libraryToolBar->updateViewSelectorIcon(icoViewsButton); +#endif + switchToComicsView(gridComicsView, infoComicsView = new InfoComicsView()); + comicsViewStatus = Info; + + break; + } + + case Info: + { QIcon icoViewsButton; icoViewsButton.addFile(":/images/main_toolbar/grid.png", QSize(), QIcon::Normal); libraryWindow->toggleComicsViewAction->setIcon(icoViewsButton); #ifdef Q_OS_MAC libraryWindow->libraryToolBar->updateViewSelectorIcon(icoViewsButton); #endif - switchToComicsView(gridComicsView, classicComicsView = new ClassicComicsView()); + switchToComicsView(infoComicsView, classicComicsView = new ClassicComicsView()); comicsViewStatus = Flow; + + break; + } } libraryWindow->settings->setValue(COMICS_VIEW_STATUS, comicsViewStatus); diff --git a/YACReaderLibrary/yacreader_comics_views_manager.h b/YACReaderLibrary/yacreader_comics_views_manager.h index 4d39b23b..c72a2406 100644 --- a/YACReaderLibrary/yacreader_comics_views_manager.h +++ b/YACReaderLibrary/yacreader_comics_views_manager.h @@ -10,6 +10,7 @@ class LibraryWindow; class ComicsView; class ClassicComicsView; class GridComicsView; +class InfoComicsView; class ComicsViewTransition; class EmptyFolderWidget; class EmptyLabelWidget; @@ -46,6 +47,7 @@ protected: ClassicComicsView * classicComicsView; GridComicsView * gridComicsView; + InfoComicsView *infoComicsView; signals: