@@ -36,6 +36,8 @@ LibraryDialog::LibraryDialog(QWidget *parent) :
3636{
3737 ui->setupUi (this );
3838 ui->buttonSave ->setEnabled (false );
39+ ui->sortFunctions ->setEnabled (false );
40+ ui->filter ->setEnabled (false );
3941}
4042
4143LibraryDialog::~LibraryDialog ()
@@ -81,6 +83,8 @@ void LibraryDialog::openCfg()
8183 foreach (const struct CppcheckLibraryData ::Function &function, data.functions) {
8284 ui->functions ->addItem (function.name );
8385 }
86+ ui->sortFunctions ->setEnabled (!data.functions .empty ());
87+ ui->filter ->setEnabled (!data.functions .empty ());
8488 ignoreChanges = false ;
8589 }
8690 }
@@ -115,6 +119,8 @@ void LibraryDialog::addFunction()
115119 data.functions .append (f);
116120 ui->functions ->addItem (f.name );
117121 ui->buttonSave ->setEnabled (true );
122+ ui->sortFunctions ->setEnabled (!data.functions .empty ());
123+ ui->filter ->setEnabled (!data.functions .empty ());
118124 }
119125 delete d;
120126}
@@ -145,9 +151,14 @@ void LibraryDialog::sortFunctions(bool sort)
145151 ui->functions ->sortItems ();
146152 else {
147153 ignoreChanges = true ;
154+ CppcheckLibraryData::Function *selfunction = currentFunction ();
148155 ui->functions ->clear ();
149- foreach (const struct CppcheckLibraryData ::Function &function, data.functions)
150- ui->functions ->addItem (function.name );
156+ foreach (const struct CppcheckLibraryData ::Function &function, data.functions) {
157+ QListWidgetItem *item = new QListWidgetItem (ui->functions );
158+ item->setText (function.name );
159+ item->setSelected (selfunction == &function);
160+ ui->functions ->addItem (item);
161+ }
151162 if (!ui->filter ->text ().isEmpty ())
152163 filterFunctions (ui->filter ->text ());
153164 ignoreChanges = false ;
0 commit comments