提交 e3889284 编写于 作者: J jurgen

Driver editor fix.

上级 bfa11548
...@@ -618,6 +618,16 @@ public class DriverDescriptor extends AbstractDescriptor implements DBPDriver ...@@ -618,6 +618,16 @@ public class DriverDescriptor extends AbstractDescriptor implements DBPDriver
return libraries; return libraries;
} }
public List<DBPDriverLibrary> getEnabledDriverLibraries() {
List<DBPDriverLibrary> filtered = new ArrayList<>();
for (DBPDriverLibrary lib : libraries) {
if (!lib.isDisabled()) {
filtered.add(lib);
}
}
return filtered;
}
public DBPDriverLibrary getDriverLibrary(String path) public DBPDriverLibrary getDriverLibrary(String path)
{ {
for (DBPDriverLibrary lib : libraries) { for (DBPDriverLibrary lib : libraries) {
......
...@@ -614,10 +614,17 @@ public class DriverEditDialog extends HelpEnabledDialog ...@@ -614,10 +614,17 @@ public class DriverEditDialog extends HelpEnabledDialog
private void changeLibContent() private void changeLibContent()
{ {
libTable.setInput(new ArrayList<>(driver.getDriverLibraries())); libTable.setInput(driver.getEnabledDriverLibraries());
int itemCount = libTable.getTable().getItemCount(); boolean hasFiles = false, hasDownloads = false;
findClassButton.setEnabled(provider.isDriversManagable() && itemCount > 0); for (DBPDriverLibrary library : driver.getDriverLibraries()) {
updateVersionButton.setEnabled(itemCount > 0); if (library.isDownloadable()) {
hasDownloads = true;
break;
}
hasFiles = true;
}
findClassButton.setEnabled(provider.isDriversManagable() && hasFiles);
updateVersionButton.setEnabled(hasDownloads);
} }
private void changeLibSelection() private void changeLibSelection()
...@@ -656,7 +663,7 @@ public class DriverEditDialog extends HelpEnabledDialog ...@@ -656,7 +663,7 @@ public class DriverEditDialog extends HelpEnabledDialog
resetLibraries(); resetLibraries();
} }
if (libTable != null) { if (libTable != null) {
libTable.setInput(new ArrayList<>(driver.getDriverLibraries())); libTable.setInput(driver.getEnabledDriverLibraries());
changeLibContent(); changeLibContent();
changeLibSelection(); changeLibSelection();
} }
...@@ -688,6 +695,7 @@ public class DriverEditDialog extends HelpEnabledDialog ...@@ -688,6 +695,7 @@ public class DriverEditDialog extends HelpEnabledDialog
private void resetLibraries() { private void resetLibraries() {
// Set libraries // Set libraries
for (DBPDriverLibrary lib : CommonUtils.safeCollection(origLibList)) { for (DBPDriverLibrary lib : CommonUtils.safeCollection(origLibList)) {
lib.setDisabled(false);
driver.addDriverLibrary(lib); driver.addDriverLibrary(lib);
} }
for (DBPDriverLibrary lib : CommonUtils.copyList(driver.getDriverLibraries())) { for (DBPDriverLibrary lib : CommonUtils.copyList(driver.getDriverLibraries())) {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册