fix sort state restoration which didnt work
This commit is contained in:
parent
18aae4e952
commit
66b4dd7ff5
@ -1,5 +1,5 @@
|
|||||||
#ifndef lint
|
#ifndef lint
|
||||||
static char rcsid[] = "@(#$Id: rclmain_w.cpp,v 1.29 2007-06-12 13:31:38 dockes Exp $ (C) 2005 J.F.Dockes";
|
static char rcsid[] = "@(#$Id: rclmain_w.cpp,v 1.30 2007-06-19 16:19:24 dockes Exp $ (C) 2005 J.F.Dockes";
|
||||||
#endif
|
#endif
|
||||||
/*
|
/*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* This program is free software; you can redistribute it and/or modify
|
||||||
@ -106,6 +106,8 @@ void RclMain::init()
|
|||||||
QFont nfont(prefs.reslistfontfamily, prefs.reslistfontsize);
|
QFont nfont(prefs.reslistfontfamily, prefs.reslistfontsize);
|
||||||
resList->setFont(nfont);
|
resList->setFont(nfont);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Connections
|
||||||
connect(sSearch, SIGNAL(startSearch(RefCntr<Rcl::SearchData>)),
|
connect(sSearch, SIGNAL(startSearch(RefCntr<Rcl::SearchData>)),
|
||||||
this, SLOT(startSearch(RefCntr<Rcl::SearchData>)));
|
this, SLOT(startSearch(RefCntr<Rcl::SearchData>)));
|
||||||
|
|
||||||
@ -173,6 +175,17 @@ void RclMain::init()
|
|||||||
toolsAdvanced_SearchAction->setIcon(QIcon(":/images/asearch.png"));
|
toolsAdvanced_SearchAction->setIcon(QIcon(":/images/asearch.png"));
|
||||||
toolsSort_parametersAction->setIcon(QIcon(":/images/sortparms.png"));
|
toolsSort_parametersAction->setIcon(QIcon(":/images/sortparms.png"));
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
// If requested by prefs, restore sort state. The easiest way is to let
|
||||||
|
// a SortForm do it for us.
|
||||||
|
if (prefs.keepSort && prefs.sortActive) {
|
||||||
|
SortForm sf(0);
|
||||||
|
connect(&sf, SIGNAL(sortDataChanged(DocSeqSortSpec)),
|
||||||
|
this, SLOT(sortDataChanged(DocSeqSortSpec)));
|
||||||
|
// Have to call setdata again after sig connected...
|
||||||
|
sf.setData();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void RclMain::closeEvent( QCloseEvent * )
|
void RclMain::closeEvent( QCloseEvent * )
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
#ifndef lint
|
#ifndef lint
|
||||||
static char rcsid[] = "@(#$Id: sort_w.cpp,v 1.5 2007-05-24 07:48:19 dockes Exp $ (C) 2006 J.F.Dockes";
|
static char rcsid[] = "@(#$Id: sort_w.cpp,v 1.6 2007-06-19 16:19:24 dockes Exp $ (C) 2006 J.F.Dockes";
|
||||||
#endif
|
#endif
|
||||||
/*
|
/*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* This program is free software; you can redistribute it and/or modify
|
||||||
@ -48,16 +48,13 @@ void SortForm::init()
|
|||||||
mcntSB->setValue(prefs.sortWidth);
|
mcntSB->setValue(prefs.sortWidth);
|
||||||
unsigned int spec = (unsigned int)prefs.sortSpec;
|
unsigned int spec = (unsigned int)prefs.sortSpec;
|
||||||
|
|
||||||
// Restore active/inactive state only once from prefs, only if requested
|
// Restore active/inactive state from prefs, only if requested
|
||||||
fprintf(stderr, "sort_w init\n");
|
|
||||||
if (prefs.keepSort) {
|
if (prefs.keepSort) {
|
||||||
sortCB->setChecked(prefs.sortActive);
|
sortCB->setChecked(prefs.sortActive);
|
||||||
} else {
|
} else {
|
||||||
sortCB->setChecked(false);
|
sortCB->setChecked(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Always start with sort disabled
|
|
||||||
|
|
||||||
// We use 4 bits per spec hi is direction, 3 low bits = sort field
|
// We use 4 bits per spec hi is direction, 3 low bits = sort field
|
||||||
unsigned int v, d;
|
unsigned int v, d;
|
||||||
|
|
||||||
@ -65,14 +62,13 @@ void SortForm::init()
|
|||||||
d = spec & (1 << 3);
|
d = spec & (1 << 3);
|
||||||
spec >>= 4;
|
spec >>= 4;
|
||||||
fldCMB1->setCurrentItem(v < 3 ? v : 0);
|
fldCMB1->setCurrentItem(v < 3 ? v : 0);
|
||||||
descCB1->setChecked(d!=0?true:false);
|
descCB1->setChecked(d != 0 ? true : false);
|
||||||
|
|
||||||
v = spec & (0xf & ~(1<<3));
|
v = spec & (0xf & ~(1<<3));
|
||||||
d = spec & (1 << 3);
|
d = spec & (1 << 3);
|
||||||
spec >>= 4;
|
spec >>= 4;
|
||||||
fldCMB2->setCurrentItem(v < 3 ? v : 0);
|
fldCMB2->setCurrentItem(v < 3 ? v : 0);
|
||||||
descCB2->setChecked(d!=0?true:false);
|
descCB2->setChecked(d !=0 ? true : false);
|
||||||
|
|
||||||
|
|
||||||
// signals and slots connections
|
// signals and slots connections
|
||||||
connect(applyPB, SIGNAL(clicked()), this, SLOT(apply()));
|
connect(applyPB, SIGNAL(clicked()), this, SLOT(apply()));
|
||||||
@ -83,8 +79,12 @@ void SortForm::init()
|
|||||||
connect(descCB1, SIGNAL(stateChanged(int)), this, SLOT(setData()));
|
connect(descCB1, SIGNAL(stateChanged(int)), this, SLOT(setData()));
|
||||||
connect(descCB2, SIGNAL(stateChanged(int)), this, SLOT(setData()));
|
connect(descCB2, SIGNAL(stateChanged(int)), this, SLOT(setData()));
|
||||||
connect(sortCB, SIGNAL(toggled(bool)), this, SLOT(setData()));
|
connect(sortCB, SIGNAL(toggled(bool)), this, SLOT(setData()));
|
||||||
|
|
||||||
|
// Finalize state
|
||||||
|
setData();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// This is called when the 'apply' button is pressed. We
|
||||||
void SortForm::apply()
|
void SortForm::apply()
|
||||||
{
|
{
|
||||||
setData();
|
setData();
|
||||||
@ -128,7 +128,7 @@ void SortForm::setData()
|
|||||||
}
|
}
|
||||||
spec.sortwidth = mcntSB->value();
|
spec.sortwidth = mcntSB->value();
|
||||||
|
|
||||||
// Set data in prefs;
|
// Save data to prefs;
|
||||||
prefs.sortWidth = spec.sortwidth;
|
prefs.sortWidth = spec.sortwidth;
|
||||||
unsigned int spec = 0, v, d;
|
unsigned int spec = 0, v, d;
|
||||||
v = fldCMB1->currentItem() & 0x7;
|
v = fldCMB1->currentItem() & 0x7;
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user