diff --git a/gui/librarydialog.cpp b/gui/librarydialog.cpp index 3390a4590..037fbe8fc 100644 --- a/gui/librarydialog.cpp +++ b/gui/librarydialog.cpp @@ -36,6 +36,8 @@ LibraryDialog::LibraryDialog(QWidget *parent) : { ui->setupUi(this); ui->buttonSave->setEnabled(false); + ui->sortFunctions->setEnabled(false); + ui->filter->setEnabled(false); } LibraryDialog::~LibraryDialog() @@ -81,6 +83,8 @@ void LibraryDialog::openCfg() foreach(const struct CppcheckLibraryData::Function &function, data.functions) { ui->functions->addItem(function.name); } + ui->sortFunctions->setEnabled(!data.functions.empty()); + ui->filter->setEnabled(!data.functions.empty()); ignoreChanges = false; } } @@ -115,6 +119,8 @@ void LibraryDialog::addFunction() data.functions.append(f); ui->functions->addItem(f.name); ui->buttonSave->setEnabled(true); + ui->sortFunctions->setEnabled(!data.functions.empty()); + ui->filter->setEnabled(!data.functions.empty()); } delete d; } @@ -145,9 +151,14 @@ void LibraryDialog::sortFunctions(bool sort) ui->functions->sortItems(); else { ignoreChanges = true; + CppcheckLibraryData::Function *selfunction = currentFunction(); ui->functions->clear(); - foreach(const struct CppcheckLibraryData::Function &function, data.functions) - ui->functions->addItem(function.name); + foreach(const struct CppcheckLibraryData::Function &function, data.functions) { + QListWidgetItem *item = new QListWidgetItem(ui->functions); + item->setText(function.name); + item->setSelected(selfunction == &function); + ui->functions->addItem(item); + } if (!ui->filter->text().isEmpty()) filterFunctions(ui->filter->text()); ignoreChanges = false; diff --git a/gui/librarydialog.ui b/gui/librarydialog.ui index d9ea2fcbd..020796516 100644 --- a/gui/librarydialog.ui +++ b/gui/librarydialog.ui @@ -61,7 +61,7 @@ - AZ + Sort true @@ -118,6 +118,13 @@ + + + + Filter: + + +