Skip to content

Commit 4cffff7

Browse files
committed
GUI: tweaks in library dialog for sorting and filter
1 parent 9f31414 commit 4cffff7

2 files changed

Lines changed: 21 additions & 3 deletions

File tree

gui/librarydialog.cpp

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -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

4143
LibraryDialog::~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;

gui/librarydialog.ui

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@
6161
<item>
6262
<widget class="QPushButton" name="sortFunctions">
6363
<property name="text">
64-
<string>AZ</string>
64+
<string>Sort</string>
6565
</property>
6666
<property name="checkable">
6767
<bool>true</bool>
@@ -118,6 +118,13 @@
118118
</property>
119119
</spacer>
120120
</item>
121+
<item>
122+
<widget class="QLabel" name="label_4">
123+
<property name="text">
124+
<string>Filter:</string>
125+
</property>
126+
</widget>
127+
</item>
121128
<item>
122129
<widget class="QLineEdit" name="filter"/>
123130
</item>

0 commit comments

Comments
 (0)