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