Make ComicFlow/ComicFlowWidget able to insert new covers at a given position

This commit is contained in:
Luis Ángel San Martín 2023-08-13 11:17:18 +02:00
parent 024f6df9de
commit c06156a937
4 changed files with 26 additions and 0 deletions

View File

@ -112,6 +112,18 @@ void ComicFlow::wheelEvent(QWheelEvent *event)
event->accept();
}
void ComicFlow::insertSlide(const QString &path, int index)
{
imageFiles.insert(index, path);
imagesLoaded.insert(index, false);
imagesSetted.insert(index, false);
YACReaderFlow::insertSlide(index);
resetWorkerIndex();
preload();
}
void ComicFlow::removeSlide(int cover)
{
imageFiles.removeAt(cover);

View File

@ -24,6 +24,7 @@ public:
void setImagePaths(const QStringList &paths);
// bool eventFilter(QObject *target, QEvent *event);
void keyPressEvent(QKeyEvent *event) override;
void insertSlide(const QString &path, int index);
void removeSlide(int cover);
void resortCovers(QList<int> newOrder);

View File

@ -133,6 +133,11 @@ void ComicFlowWidgetSW::updateConfig(QSettings *settings)
}
}
void ComicFlowWidgetSW::add(const QString &path, int index)
{
flow->insertSlide(path, index);
}
void ComicFlowWidgetSW::remove(int cover)
{
flow->removeSlide(cover);
@ -327,6 +332,11 @@ void ComicFlowWidgetGL::updateConfig(QSettings *settings)
;
}
void ComicFlowWidgetGL::add(const QString &path, int index)
{
flow->add(path, index);
}
void ComicFlowWidgetGL::remove(int cover)
{
flow->remove(cover);

View File

@ -30,6 +30,7 @@ public slots:
virtual void setFlowType(FlowType flowType) = 0;
virtual void render() = 0;
virtual void updateConfig(QSettings *settings) = 0;
virtual void add(const QString &path, int index) = 0;
virtual void remove(int cover) = 0;
virtual void resortCovers(QList<int> newOrder) = 0;
signals:
@ -61,6 +62,7 @@ public:
void setFlowType(FlowType flowType) override;
void render() override;
void updateConfig(QSettings *settings) override;
void add(const QString &path, int index) override;
void remove(int cover) override;
void resortCovers(QList<int> newOrder) override;
@ -101,6 +103,7 @@ public:
void setFlowType(FlowType flowType) override;
void render() override;
void updateConfig(QSettings *settings) override;
void add(const QString &path, int index) override;
void remove(int cover) override;
void resortCovers(QList<int> newOrder) override;
// public slots: