2 #include "ui_config_zcm.h" 18 auto libs = settings.value(
_prefix +
"::manual_libs", {}).toStringList();
19 for (
auto const &
lib : libs) {
20 ui->listWidgetLibs->addItem(
lib);
23 bool is_manual = settings.value(
_prefix +
"::is_manual",
false).toBool();
24 ui->radioManualLibrary->setChecked(is_manual);
32 for (
int row = 0; row <
ui->listWidgetLibs->count(); row++) {
33 libs <<
ui->listWidgetLibs->item(row)->text();
35 settings.setValue(
_prefix +
"::manual_libs", libs);
36 settings.setValue(
_prefix +
"::is_manual",
ui->radioManualLibrary->isChecked());
42 if (
ui->radioEnvironmentLibrary->isChecked()) {
43 return getenv(
"PJ_ZCMTYPES_LIB_PATH");
46 for (
int row = 0; row <
ui->listWidgetLibs->count(); row++) {
47 libs <<
ui->listWidgetLibs->item(row)->text();
49 return libs.join(
":");
56 ui->radioManualLibrary->setChecked(
false);
63 ui->radioEnvironmentLibrary->setChecked(
false);
65 ui->manualWidget->setEnabled(checked);
71 auto dir = settings.value(
_prefix +
"::load_dir", QDir::currentPath()).toString();
72 auto files = QFileDialog::getOpenFileNames(
this,
"Zcm libraries", dir,
"*.so *.dll");
73 for (
auto filename : files) {
74 if (
ui->listWidgetLibs->findItems(filename, Qt::MatchExactly).empty()) {
75 ui->listWidgetLibs->addItem(filename);
78 ui->listWidgetLibs->sortItems();
80 settings.setValue(
_prefix +
"::load_dir",
81 QFileInfo(files.front()).dir().absolutePath());
87 auto items =
ui->listWidgetLibs->selectedItems();
88 for(
auto item: items) {
89 ui->listWidgetLibs->removeItemWidget(item);
void on_radioEnvironmentLibrary_toggled(bool checked)
void on_radioManualLibrary_toggled(bool checked)
void on_pushButtonRemove_clicked()
QString getLibraries() const
void on_pushButtonAdd_clicked()
ConfigZCM(QString prefix, QWidget *parent=nullptr)