Qt GUI: ensure that new page size is taken into account ASAP (no need for restarting app)
This commit is contained in:
parent
5569b5be7c
commit
8409e6fcae
@ -179,6 +179,8 @@ void ResList::setDocSource()
|
|||||||
m_sortspecs,
|
m_sortspecs,
|
||||||
title));
|
title));
|
||||||
}
|
}
|
||||||
|
// Reset the page size in case the preference was changed
|
||||||
|
m_pager->setPageSize(prefs.respagesize);
|
||||||
m_pager->setDocSource(m_docSource);
|
m_pager->setDocSource(m_docSource);
|
||||||
resultPageNext();
|
resultPageNext();
|
||||||
}
|
}
|
||||||
@ -382,6 +384,8 @@ void ResList::resultPageBack()
|
|||||||
// Go to the first page
|
// Go to the first page
|
||||||
void ResList::resultPageFirst()
|
void ResList::resultPageFirst()
|
||||||
{
|
{
|
||||||
|
// In case the preference was changed
|
||||||
|
m_pager->setPageSize(prefs.respagesize);
|
||||||
m_pager->resultPageFirst();
|
m_pager->resultPageFirst();
|
||||||
displayPage();
|
displayPage();
|
||||||
}
|
}
|
||||||
|
|||||||
@ -15,18 +15,32 @@ class PlainToRich;
|
|||||||
*/
|
*/
|
||||||
class ResListPager {
|
class ResListPager {
|
||||||
public:
|
public:
|
||||||
ResListPager(int pagesize=10) : m_pagesize(pagesize) {initall();}
|
ResListPager(int pagesize=10) :
|
||||||
|
m_pagesize(pagesize),
|
||||||
|
m_newpagesize(pagesize),
|
||||||
|
m_winfirst(-1),
|
||||||
|
m_hasNext(false),
|
||||||
|
m_hiliter(0)
|
||||||
|
{
|
||||||
|
}
|
||||||
virtual ~ResListPager() {}
|
virtual ~ResListPager() {}
|
||||||
|
|
||||||
void setHighLighter(PlainToRich *ptr) {m_hiliter = ptr;}
|
void setHighLighter(PlainToRich *ptr)
|
||||||
|
{
|
||||||
|
m_hiliter = ptr;
|
||||||
|
}
|
||||||
void setDocSource(RefCntr<DocSequence> src)
|
void setDocSource(RefCntr<DocSequence> src)
|
||||||
{
|
{
|
||||||
|
m_pagesize = m_newpagesize;
|
||||||
m_winfirst = -1;
|
m_winfirst = -1;
|
||||||
m_hasNext = false;
|
m_hasNext = false;
|
||||||
m_respage.clear();
|
|
||||||
m_docSource = src;
|
m_docSource = src;
|
||||||
|
m_respage.clear();
|
||||||
|
}
|
||||||
|
void setPageSize(int ps)
|
||||||
|
{
|
||||||
|
m_newpagesize = ps;
|
||||||
}
|
}
|
||||||
|
|
||||||
int pageNumber()
|
int pageNumber()
|
||||||
{
|
{
|
||||||
if (m_winfirst < 0 || m_pagesize <= 0)
|
if (m_winfirst < 0 || m_pagesize <= 0)
|
||||||
@ -38,15 +52,16 @@ public:
|
|||||||
bool hasNext() {return m_hasNext;}
|
bool hasNext() {return m_hasNext;}
|
||||||
bool hasPrev() {return m_winfirst > 0;}
|
bool hasPrev() {return m_winfirst > 0;}
|
||||||
bool atBot() {return m_winfirst <= 0;}
|
bool atBot() {return m_winfirst <= 0;}
|
||||||
|
void resultPageFirst() {
|
||||||
|
m_winfirst = -1;
|
||||||
|
m_pagesize = m_newpagesize;
|
||||||
|
resultPageNext();
|
||||||
|
}
|
||||||
void resultPageBack() {
|
void resultPageBack() {
|
||||||
if (m_winfirst <= 0) return;
|
if (m_winfirst <= 0) return;
|
||||||
m_winfirst -= 2 * m_pagesize;
|
m_winfirst -= 2 * m_pagesize;
|
||||||
resultPageNext();
|
resultPageNext();
|
||||||
}
|
}
|
||||||
void resultPageFirst() {
|
|
||||||
m_winfirst = -1;
|
|
||||||
resultPageNext();
|
|
||||||
}
|
|
||||||
void resultPageNext();
|
void resultPageNext();
|
||||||
void displayPage();
|
void displayPage();
|
||||||
bool pageEmpty() {return m_respage.size() == 0;}
|
bool pageEmpty() {return m_respage.size() == 0;}
|
||||||
@ -70,23 +85,16 @@ public:
|
|||||||
virtual void suggest(const vector<string>, vector<string>&sugg) {
|
virtual void suggest(const vector<string>, vector<string>&sugg) {
|
||||||
sugg.clear();
|
sugg.clear();
|
||||||
}
|
}
|
||||||
private:
|
|
||||||
void initall()
|
|
||||||
{
|
|
||||||
m_winfirst = -1;
|
|
||||||
m_hasNext = false;
|
|
||||||
m_respage.clear();
|
|
||||||
m_hiliter = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
private:
|
||||||
|
int m_pagesize;
|
||||||
|
int m_newpagesize;
|
||||||
// First docnum (from docseq) in current page
|
// First docnum (from docseq) in current page
|
||||||
int m_winfirst;
|
int m_winfirst;
|
||||||
RefCntr<DocSequence> m_docSource;
|
|
||||||
const int m_pagesize;
|
|
||||||
|
|
||||||
bool m_hasNext;
|
bool m_hasNext;
|
||||||
vector<ResListEntry> m_respage;
|
|
||||||
PlainToRich *m_hiliter;
|
PlainToRich *m_hiliter;
|
||||||
|
RefCntr<DocSequence> m_docSource;
|
||||||
|
vector<ResListEntry> m_respage;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif /* _reslistpager_h_included_ */
|
#endif /* _reslistpager_h_included_ */
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user