mirror of
https://github.com/YACReader/yacreader
synced 2025-07-26 00:44:59 -04:00
fixed searching icon layout in flow view
This commit is contained in:
@ -5,6 +5,8 @@
|
|||||||
#include "comic_flow_widget.h"
|
#include "comic_flow_widget.h"
|
||||||
#include "QsLog.h"
|
#include "QsLog.h"
|
||||||
|
|
||||||
|
#include "QStackedWidget"
|
||||||
|
|
||||||
ClassicComicsView::ClassicComicsView(QWidget *parent)
|
ClassicComicsView::ClassicComicsView(QWidget *parent)
|
||||||
:ComicsView(parent),searching(false)
|
:ComicsView(parent),searching(false)
|
||||||
{
|
{
|
||||||
@ -39,7 +41,13 @@ ClassicComicsView::ClassicComicsView(QWidget *parent)
|
|||||||
//layout-----------------------------------------------
|
//layout-----------------------------------------------
|
||||||
sVertical = new QSplitter(Qt::Vertical); //spliter derecha
|
sVertical = new QSplitter(Qt::Vertical); //spliter derecha
|
||||||
|
|
||||||
sVertical->addWidget(comicFlow);
|
stack = new QStackedWidget;
|
||||||
|
stack->addWidget(comicFlow);
|
||||||
|
setupSearchingIcon();
|
||||||
|
stack->addWidget(searchingIcon);
|
||||||
|
|
||||||
|
|
||||||
|
sVertical->addWidget(stack);
|
||||||
comics = new QWidget;
|
comics = new QWidget;
|
||||||
QVBoxLayout * comicsLayout = new QVBoxLayout;
|
QVBoxLayout * comicsLayout = new QVBoxLayout;
|
||||||
comicsLayout->setSpacing(0);
|
comicsLayout->setSpacing(0);
|
||||||
@ -63,7 +71,6 @@ ClassicComicsView::ClassicComicsView(QWidget *parent)
|
|||||||
connect(tableView, SIGNAL(comicRated(int,QModelIndex)), this, SIGNAL(comicRated(int,QModelIndex)));
|
connect(tableView, SIGNAL(comicRated(int,QModelIndex)), this, SIGNAL(comicRated(int,QModelIndex)));
|
||||||
connect(comicFlow, SIGNAL(selected(uint)), this, SIGNAL(selected(uint)));
|
connect(comicFlow, SIGNAL(selected(uint)), this, SIGNAL(selected(uint)));
|
||||||
connect(tableView->horizontalHeader(), SIGNAL(sectionMoved(int,int,int)), this, SLOT(saveTableHeadersStatus()));
|
connect(tableView->horizontalHeader(), SIGNAL(sectionMoved(int,int,int)), this, SLOT(saveTableHeadersStatus()));
|
||||||
|
|
||||||
layout->addWidget(sVertical);
|
layout->addWidget(sVertical);
|
||||||
setLayout(layout);
|
setLayout(layout);
|
||||||
|
|
||||||
@ -76,7 +83,7 @@ ClassicComicsView::ClassicComicsView(QWidget *parent)
|
|||||||
if(settings->contains(COMICS_VIEW_FLOW_SPLITTER_STATUS))
|
if(settings->contains(COMICS_VIEW_FLOW_SPLITTER_STATUS))
|
||||||
sVertical->restoreState(settings->value(COMICS_VIEW_FLOW_SPLITTER_STATUS).toByteArray());
|
sVertical->restoreState(settings->value(COMICS_VIEW_FLOW_SPLITTER_STATUS).toByteArray());
|
||||||
|
|
||||||
setupSearchingIcon();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void ClassicComicsView::setToolBar(QToolBar *toolBar)
|
void ClassicComicsView::setToolBar(QToolBar *toolBar)
|
||||||
@ -199,16 +206,13 @@ void ClassicComicsView::enableFilterMode(bool enabled)
|
|||||||
if(enabled)
|
if(enabled)
|
||||||
{
|
{
|
||||||
comicFlow->clear();
|
comicFlow->clear();
|
||||||
comicFlow->setMinimumHeight(150);
|
|
||||||
if(previousSplitterStatus.isEmpty())
|
if(previousSplitterStatus.isEmpty())
|
||||||
previousSplitterStatus = sVertical->saveState();
|
previousSplitterStatus = sVertical->saveState();
|
||||||
sVertical->setSizes(QList<int> () << 150 << 10000000);
|
sVertical->setSizes(QList<int> () << 100 << 10000000);
|
||||||
showSearchingIcon();
|
showSearchingIcon();
|
||||||
}else
|
}else
|
||||||
{
|
{
|
||||||
searchingIcon->setHidden(true);
|
hideSearchingIcon();
|
||||||
comicFlow->setMinimumHeight(0);
|
|
||||||
|
|
||||||
sVertical->restoreState(previousSplitterStatus);
|
sVertical->restoreState(previousSplitterStatus);
|
||||||
previousSplitterStatus.clear();
|
previousSplitterStatus.clear();
|
||||||
}
|
}
|
||||||
@ -280,24 +284,30 @@ void ClassicComicsView::setupSearchingIcon()
|
|||||||
{
|
{
|
||||||
searchingIcon = new QWidget(comicFlow);
|
searchingIcon = new QWidget(comicFlow);
|
||||||
|
|
||||||
|
QHBoxLayout * h = new QHBoxLayout;
|
||||||
|
|
||||||
QPixmap p(":/images/searching_icon.png");
|
QPixmap p(":/images/searching_icon.png");
|
||||||
QLabel * l = new QLabel(searchingIcon);
|
QLabel * l = new QLabel(searchingIcon);
|
||||||
l->setPixmap(p);
|
l->setPixmap(p);
|
||||||
|
l->setFixedSize(p.size());
|
||||||
|
h->addWidget(l,0,Qt::AlignCenter);
|
||||||
|
searchingIcon->setLayout(h);
|
||||||
|
|
||||||
searchingIcon->setFixedSize(p.size());
|
QPalette pal(searchingIcon->palette());
|
||||||
|
pal.setColor(QPalette::Background, Qt::black);
|
||||||
|
searchingIcon->setAutoFillBackground(true);
|
||||||
|
searchingIcon->setPalette(pal);
|
||||||
|
|
||||||
hideSearchingIcon();
|
hideSearchingIcon();
|
||||||
}
|
}
|
||||||
|
|
||||||
void ClassicComicsView::showSearchingIcon()
|
void ClassicComicsView::showSearchingIcon()
|
||||||
{
|
{
|
||||||
searchingIcon->move((comicFlow->width()-searchingIcon->width())/2,(comicFlow->height()-searchingIcon->height())/2);
|
stack->setCurrentWidget(searchingIcon);
|
||||||
|
|
||||||
searchingIcon->setHidden(false);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void ClassicComicsView::hideSearchingIcon()
|
void ClassicComicsView::hideSearchingIcon()
|
||||||
{
|
{
|
||||||
searchingIcon->setHidden(true);
|
stack->setCurrentWidget(comicFlow);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -11,6 +11,7 @@ class QSplitter;
|
|||||||
class ComicFlowWidget;
|
class ComicFlowWidget;
|
||||||
class QToolBar;
|
class QToolBar;
|
||||||
class TableModel;
|
class TableModel;
|
||||||
|
class QStackedWidget;
|
||||||
|
|
||||||
class ClassicComicsView : public ComicsView
|
class ClassicComicsView : public ComicsView
|
||||||
{
|
{
|
||||||
@ -49,12 +50,15 @@ private:
|
|||||||
QSettings * settings;
|
QSettings * settings;
|
||||||
void closeEvent ( QCloseEvent * event );
|
void closeEvent ( QCloseEvent * event );
|
||||||
|
|
||||||
|
QStackedWidget * stack;
|
||||||
|
|
||||||
QByteArray previousSplitterStatus;
|
QByteArray previousSplitterStatus;
|
||||||
QWidget * searchingIcon;
|
QWidget * searchingIcon;
|
||||||
bool searching;
|
bool searching;
|
||||||
void setupSearchingIcon();
|
void setupSearchingIcon();
|
||||||
void showSearchingIcon();
|
void showSearchingIcon();
|
||||||
void hideSearchingIcon();
|
void hideSearchingIcon();
|
||||||
|
void updateSearchingIconPosition();
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // CLASSIC_COMICS_VIEW_H
|
#endif // CLASSIC_COMICS_VIEW_H
|
||||||
|
@ -1277,7 +1277,8 @@ void LibraryWindow::reloadCovers()
|
|||||||
if(!searchEdit->text().isEmpty())
|
if(!searchEdit->text().isEmpty())
|
||||||
{
|
{
|
||||||
loadCoversFromCurrentModel();
|
loadCoversFromCurrentModel();
|
||||||
return;
|
comicsView->enableFilterMode(true);
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(foldersView->selectionModel()->selectedRows().length()>0)
|
if(foldersView->selectionModel()->selectedRows().length()>0)
|
||||||
@ -1627,6 +1628,7 @@ void LibraryWindow::setSearchFilter(QString filter)
|
|||||||
comicsModel->setupModelData(filter, foldersModel->getDatabase());
|
comicsModel->setupModelData(filter, foldersModel->getDatabase());
|
||||||
comicsView->enableFilterMode(true);
|
comicsView->enableFilterMode(true);
|
||||||
foldersView->expandAll();
|
foldersView->expandAll();
|
||||||
|
//loadCoversFromCurrentModel();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user