added pagination to SortVolumeComics

This commit is contained in:
Luis Ángel San Martín
2013-11-17 22:29:56 +01:00
parent afc787be7b
commit e64e5d2d2a
3 changed files with 29 additions and 13 deletions

View File

@ -108,8 +108,8 @@ void ComicVineDialog::doConnections()
connect(skipButton,SIGNAL(clicked()),this,SLOT(goToNextComic())); connect(skipButton,SIGNAL(clicked()),this,SLOT(goToNextComic()));
connect(selectVolumeWidget,SIGNAL(loadPage(QString,int)),this,SLOT(searchVolume(QString,int))); connect(selectVolumeWidget,SIGNAL(loadPage(QString,int)),this,SLOT(searchVolume(QString,int)));
connect(selectComicWidget,SIGNAL(loadPage(QString,int)),this,SLOT(getVolumeComicsInfo(QString,int))); connect(selectComicWidget,SIGNAL(loadPage(QString,int)),this,SLOT(getVolumeComicsInfo(QString,int)));
connect(sortVolumeComicsWidget,SIGNAL(loadPage(QString,int)),this,SLOT(getVolumeComicsInfo(QString,int)));
} }
void ComicVineDialog::goNext() void ComicVineDialog::goNext()
@ -120,28 +120,27 @@ void ComicVineDialog::goNext()
if(seriesQuestionWidget->getYes()) if(seriesQuestionWidget->getYes())
{ {
QString volumeSearchString = comics[0].getParentFolderName(); QString volumeSearchString = comics[0].getParentFolderName();
mode = Volume;
if(volumeSearchString.isEmpty()) if(volumeSearchString.isEmpty())
showSearchVolume(); showSearchVolume();
else else
{ {
status = AutoSearching;
showLoading(tr("Looking for volume...")); showLoading(tr("Looking for volume..."));
searchVolume(volumeSearchString); searchVolume(volumeSearchString);
status = AutoSearching;
} }
mode = Volume;
} }
else else
{ {
status = AutoSearching;
mode = SingleComicInList;
ComicDB comic = comics[currentIndex]; ComicDB comic = comics[currentIndex];
QString title = comic.getTitleOrFileName(); QString title = comic.getTitleOrFileName();
titleHeader->setSubTitle(tr("comic %1 of %2 - %3").arg(currentIndex+1).arg(comics.length()).arg(title)); titleHeader->setSubTitle(tr("comic %1 of %2 - %3").arg(currentIndex+1).arg(comics.length()).arg(title));
showLoading(tr("Looking for volume...")); showLoading(tr("Looking for volume..."));
searchVolume(title); searchVolume(title);
status = AutoSearching;
mode = SingleComicInList;
} }
} }
else if (content->currentWidget() == selectVolumeWidget) { else if (content->currentWidget() == selectVolumeWidget) {
@ -182,7 +181,16 @@ void ComicVineDialog::goBack()
if(mode == SingleComic) if(mode == SingleComic)
showSelectVolume(); showSelectVolume();
break; break;
case AutoSearching:
if(mode == Volume)
showSearchVolume();
else
showSearchSingleComic();
default: default:
if(mode == Volume)
showSearchVolume();
else
showSearchSingleComic();
break; break;
} }
} }
@ -251,7 +259,7 @@ void ComicVineDialog::debugClientResults(const QString & string)
//QMessageBox::information(0,"Result", QString("Number of results : %1").arg(p.getNumResults())); //QMessageBox::information(0,"Result", QString("Number of results : %1").arg(p.getNumResults()));
if(p.responseError()) if(p.responseError())
{ {
QMessageBox::critical(0,"Error from ComicVine", "-"); QMessageBox::critical(0,tr("Error connecting to ComicVine"), tr("unknown error"));
goBack(); goBack();
} }
else else
@ -359,7 +367,7 @@ void ComicVineDialog::showSortVolumeComics(const QString &json)
content->setCurrentWidget(sortVolumeComicsWidget); content->setCurrentWidget(sortVolumeComicsWidget);
sortVolumeComicsWidget->setData(comics, json); sortVolumeComicsWidget->setData(comics, json, currentVolumeId);
backButton->setVisible(true); backButton->setVisible(true);
nextButton->setVisible(true); nextButton->setVisible(true);

View File

@ -10,7 +10,7 @@
#include "volume_comics_model.h" #include "volume_comics_model.h"
SortVolumeComics::SortVolumeComics(QWidget *parent) : SortVolumeComics::SortVolumeComics(QWidget *parent) :
QWidget(parent) ScraperSelector(parent)
{ {
QString labelStylesheet = "QLabel {color:white; font-size:12px;font-family:Arial;}"; QString labelStylesheet = "QLabel {color:white; font-size:12px;font-family:Arial;}";
@ -58,12 +58,17 @@ SortVolumeComics::SortVolumeComics(QWidget *parent) :
//connect(tableVolumeComics, SIGNAL(pressed(QModelIndex)), tableFiles, SLOT(setCurrentIndex(QModelIndex))); //connect(tableVolumeComics, SIGNAL(pressed(QModelIndex)), tableFiles, SLOT(setCurrentIndex(QModelIndex)));
//connect(tableFiles, SIGNAL(pressed(QModelIndex)), tableVolumeComics, SLOT(setCurrentIndex(QModelIndex))); //connect(tableFiles, SIGNAL(pressed(QModelIndex)), tableVolumeComics, SLOT(setCurrentIndex(QModelIndex)));
paginator->setCustomLabel(tr("issues"));
paginator->setMinimumWidth(422);
sortButtonsLayout->addWidget(moveUpButtonCL); sortButtonsLayout->addWidget(moveUpButtonCL);
sortButtonsLayout->addWidget(ScrapperToolButton::getSeparator()); sortButtonsLayout->addWidget(ScrapperToolButton::getSeparator());
sortButtonsLayout->addWidget(moveDownButtonCL); sortButtonsLayout->addWidget(moveDownButtonCL);
sortButtonsLayout->addSpacing(10); sortButtonsLayout->addSpacing(10);
//sortButtonsLayout->addStretch(); //sortButtonsLayout->addStretch();
sortButtonsLayout->addWidget(sortLabel); sortButtonsLayout->addWidget(sortLabel);
sortButtonsLayout->addStretch();
sortButtonsLayout->addWidget(paginator);
//sortButtonsLayout->addStretch(); //sortButtonsLayout->addStretch();
//sortButtonsLayout->addWidget(moveUpButtonIL); //sortButtonsLayout->addWidget(moveUpButtonIL);
//sortButtonsLayout->addWidget(ScrapperToolButton::getSeparator()); //sortButtonsLayout->addWidget(ScrapperToolButton::getSeparator());
@ -82,7 +87,7 @@ SortVolumeComics::SortVolumeComics(QWidget *parent) :
setContentsMargins(0,0,0,0); setContentsMargins(0,0,0,0);
} }
void SortVolumeComics::setData(QList<ComicDB> & comics, const QString &json) void SortVolumeComics::setData(QList<ComicDB> & comics, const QString &json, const QString &vID)
{ {
//set up models //set up models
localComicsModel = new LocalComicListModel; localComicsModel = new LocalComicListModel;
@ -103,6 +108,8 @@ void SortVolumeComics::setData(QList<ComicDB> & comics, const QString &json)
tableVolumeComics->setModel(volumeComicsModel); tableVolumeComics->setModel(volumeComicsModel);
tableVolumeComics->resizeColumnToContents(0); tableVolumeComics->resizeColumnToContents(0);
ScraperSelector::load(json,vID);
} }
void SortVolumeComics::synchronizeScroll(int pos) void SortVolumeComics::synchronizeScroll(int pos)

View File

@ -1,7 +1,8 @@
#ifndef SORT_VOLUME_COMICS_H #ifndef SORT_VOLUME_COMICS_H
#define SORT_VOLUME_COMICS_H #define SORT_VOLUME_COMICS_H
#include <QWidget> #include "scraper_selector.h"
#include <QModelIndex> #include <QModelIndex>
#include <QPushButton> #include <QPushButton>
#include <QPainter> #include <QPainter>
@ -57,7 +58,7 @@ private:
}; };
class SortVolumeComics : public QWidget class SortVolumeComics : public ScraperSelector
{ {
Q_OBJECT Q_OBJECT
public: public:
@ -66,7 +67,7 @@ public:
signals: signals:
public slots: public slots:
void setData(QList<ComicDB> & comics, const QString & json); void setData(QList<ComicDB> & comics, const QString & json, const QString & vID);
QList<QPair<ComicDB,QString> > getMatchingInfo(); QList<QPair<ComicDB,QString> > getMatchingInfo();
protected slots: protected slots: