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

View File

@ -10,7 +10,7 @@
#include "volume_comics_model.h"
SortVolumeComics::SortVolumeComics(QWidget *parent) :
QWidget(parent)
ScraperSelector(parent)
{
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(tableFiles, SIGNAL(pressed(QModelIndex)), tableVolumeComics, SLOT(setCurrentIndex(QModelIndex)));
paginator->setCustomLabel(tr("issues"));
paginator->setMinimumWidth(422);
sortButtonsLayout->addWidget(moveUpButtonCL);
sortButtonsLayout->addWidget(ScrapperToolButton::getSeparator());
sortButtonsLayout->addWidget(moveDownButtonCL);
sortButtonsLayout->addSpacing(10);
//sortButtonsLayout->addStretch();
sortButtonsLayout->addWidget(sortLabel);
sortButtonsLayout->addStretch();
sortButtonsLayout->addWidget(paginator);
//sortButtonsLayout->addStretch();
//sortButtonsLayout->addWidget(moveUpButtonIL);
//sortButtonsLayout->addWidget(ScrapperToolButton::getSeparator());
@ -82,7 +87,7 @@ SortVolumeComics::SortVolumeComics(QWidget *parent) :
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
localComicsModel = new LocalComicListModel;
@ -103,6 +108,8 @@ void SortVolumeComics::setData(QList<ComicDB> & comics, const QString &json)
tableVolumeComics->setModel(volumeComicsModel);
tableVolumeComics->resizeColumnToContents(0);
ScraperSelector::load(json,vID);
}
void SortVolumeComics::synchronizeScroll(int pos)

View File

@ -1,7 +1,8 @@
#ifndef SORT_VOLUME_COMICS_H
#define SORT_VOLUME_COMICS_H
#include <QWidget>
#include "scraper_selector.h"
#include <QModelIndex>
#include <QPushButton>
#include <QPainter>
@ -57,7 +58,7 @@ private:
};
class SortVolumeComics : public QWidget
class SortVolumeComics : public ScraperSelector
{
Q_OBJECT
public:
@ -66,7 +67,7 @@ public:
signals:
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();
protected slots: