added the new info comics view to the switch views rotation

This commit is contained in:
Luis Ángel San Martín 2016-03-27 10:33:13 +02:00
parent c82ac5d63e
commit c8d4d43b66
4 changed files with 57 additions and 6 deletions

View File

@ -8,6 +8,8 @@ InfoComicsView::InfoComicsView(QWidget *parent)
void InfoComicsView::setToolBar(QToolBar *toolBar) void InfoComicsView::setToolBar(QToolBar *toolBar)
{ {
toolBar->setParent(this);
int FIXME; int FIXME;
} }
@ -24,11 +26,15 @@ void InfoComicsView::setCurrentIndex(const QModelIndex &index)
QModelIndex InfoComicsView::currentIndex() QModelIndex InfoComicsView::currentIndex()
{ {
int FIXME; int FIXME;
return QModelIndex();
} }
QItemSelectionModel *InfoComicsView::selectionModel() QItemSelectionModel *InfoComicsView::selectionModel()
{ {
int FIXME; int FIXME;
return 0;
} }
void InfoComicsView::scrollTo(const QModelIndex &mi, QAbstractItemView::ScrollHint hint) void InfoComicsView::scrollTo(const QModelIndex &mi, QAbstractItemView::ScrollHint hint)

View File

@ -590,10 +590,14 @@ void LibraryWindow::createActions()
toggleComicsViewAction = new QAction(tr("Change between comics views"),this); toggleComicsViewAction = new QAction(tr("Change between comics views"),this);
toggleComicsViewAction->setToolTip(tr("Change between comics views")); toggleComicsViewAction->setToolTip(tr("Change between comics views"));
QIcon icoViewsButton; QIcon icoViewsButton;
if(!settings->contains(COMICS_VIEW_STATUS) || settings->value(COMICS_VIEW_STATUS) == Flow) if(!settings->contains(COMICS_VIEW_STATUS) || settings->value(COMICS_VIEW_STATUS) == Flow)
icoViewsButton.addFile(":/images/main_toolbar/grid.png", QSize(), QIcon::Normal); 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 else
icoViewsButton.addFile(":/images/main_toolbar/flow.png", QSize(), QIcon::Normal); icoViewsButton.addFile(":/images/main_toolbar/flow.png", QSize(), QIcon::Normal);
toggleComicsViewAction->setData(TOGGLE_COMICS_VIEW_ACTION_YL); toggleComicsViewAction->setData(TOGGLE_COMICS_VIEW_ACTION_YL);
toggleComicsViewAction->setShortcut(ShortcutsManager::getShortcutsManager().getShortcut(TOGGLE_COMICS_VIEW_ACTION_YL)); toggleComicsViewAction->setShortcut(ShortcutsManager::getShortcutsManager().getShortcut(TOGGLE_COMICS_VIEW_ACTION_YL));
toggleComicsViewAction->setIcon(icoViewsButton); toggleComicsViewAction->setIcon(icoViewsButton);

View File

@ -4,6 +4,7 @@
#include "classic_comics_view.h" #include "classic_comics_view.h"
#include "grid_comics_view.h" #include "grid_comics_view.h"
#include "info_comics_view.h"
#include "comics_view_transition.h" #include "comics_view_transition.h"
#include "empty_folder_widget.h" #include "empty_folder_widget.h"
#include "empty_label_widget.h" #include "empty_label_widget.h"
@ -20,13 +21,27 @@ YACReaderComicsViewsManager::YACReaderComicsViewsManager(QSettings *settings, Li
{ {
comicsViewStack = new QStackedWidget(); 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(); comicsView = classicComicsView = new ClassicComicsView();
comicsViewStatus = Flow; comicsViewStatus = Flow;
} else { break;
case Grid:
comicsView = gridComicsView = new GridComicsView(); comicsView = gridComicsView = new GridComicsView();
connect(libraryWindow->optionsDialog, SIGNAL(optionsChanged()), gridComicsView, SLOT(updateBackgroundConfig())); connect(libraryWindow->optionsDialog, SIGNAL(optionsChanged()), gridComicsView, SLOT(updateBackgroundConfig()));
comicsViewStatus = Grid; comicsViewStatus = Grid;
break;
case Info:
comicsView = infoComicsView = new InfoComicsView();
comicsViewStatus = Info;
break;
default:
comicsView = classicComicsView = new ClassicComicsView();
comicsViewStatus = Flow;
} }
doComicsViewConnections(); doComicsViewConnections();
@ -157,9 +172,12 @@ void YACReaderComicsViewsManager::showComicsViewTransition()
void YACReaderComicsViewsManager::toggleComicsView_delayed() void YACReaderComicsViewsManager::toggleComicsView_delayed()
{ {
if(comicsViewStatus == Flow){ switch(comicsViewStatus)
{
case Flow:
{
QIcon icoViewsButton; 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); libraryWindow->toggleComicsViewAction->setIcon(icoViewsButton);
#ifdef Q_OS_MAC #ifdef Q_OS_MAC
libraryWindow->libraryToolBar->updateViewSelectorIcon(icoViewsButton); libraryWindow->libraryToolBar->updateViewSelectorIcon(icoViewsButton);
@ -167,16 +185,37 @@ void YACReaderComicsViewsManager::toggleComicsView_delayed()
switchToComicsView(classicComicsView, gridComicsView = new GridComicsView()); switchToComicsView(classicComicsView, gridComicsView = new GridComicsView());
connect(libraryWindow->optionsDialog, SIGNAL(optionsChanged()), gridComicsView, SLOT(updateBackgroundConfig())); connect(libraryWindow->optionsDialog, SIGNAL(optionsChanged()), gridComicsView, SLOT(updateBackgroundConfig()));
comicsViewStatus = Grid; 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; QIcon icoViewsButton;
icoViewsButton.addFile(":/images/main_toolbar/grid.png", QSize(), QIcon::Normal); icoViewsButton.addFile(":/images/main_toolbar/grid.png", QSize(), QIcon::Normal);
libraryWindow->toggleComicsViewAction->setIcon(icoViewsButton); libraryWindow->toggleComicsViewAction->setIcon(icoViewsButton);
#ifdef Q_OS_MAC #ifdef Q_OS_MAC
libraryWindow->libraryToolBar->updateViewSelectorIcon(icoViewsButton); libraryWindow->libraryToolBar->updateViewSelectorIcon(icoViewsButton);
#endif #endif
switchToComicsView(gridComicsView, classicComicsView = new ClassicComicsView()); switchToComicsView(infoComicsView, classicComicsView = new ClassicComicsView());
comicsViewStatus = Flow; comicsViewStatus = Flow;
break;
}
} }
libraryWindow->settings->setValue(COMICS_VIEW_STATUS, comicsViewStatus); libraryWindow->settings->setValue(COMICS_VIEW_STATUS, comicsViewStatus);

View File

@ -10,6 +10,7 @@ class LibraryWindow;
class ComicsView; class ComicsView;
class ClassicComicsView; class ClassicComicsView;
class GridComicsView; class GridComicsView;
class InfoComicsView;
class ComicsViewTransition; class ComicsViewTransition;
class EmptyFolderWidget; class EmptyFolderWidget;
class EmptyLabelWidget; class EmptyLabelWidget;
@ -46,6 +47,7 @@ protected:
ClassicComicsView * classicComicsView; ClassicComicsView * classicComicsView;
GridComicsView * gridComicsView; GridComicsView * gridComicsView;
InfoComicsView *infoComicsView;
signals: signals: