void ProjectPackagesDialog::selectPackage() { if(mAllowSelection) { std::string pkgName = mProjectPackagesList.getSelected(); savePackage(mLastSelectedPackage); Package pkg = mProjectPackages.getPackage(pkgName); setEntry("PackageRootDirEntry", pkg.getRootDir()); setEntry("PackageIncDirEntry", pkg.getIncludeDirsAsString()); setEntry("PackageCompileArgsEntry", pkg.getCompileArgsAsStr()); setEntry("PackageLibNamesEntry", pkg.getLibraryNamesAsString()); setEntry("PackageLibDirEntry", pkg.getLibraryDirsAsString()); setEntry("PackageLinkArgsEntry", pkg.getLinkArgsAsStr()); mLastSelectedPackage = pkgName; } }
void ProjectPackagesDialog::winScanDirectories() { Package pkg = mProjectPackages.getPackage( mProjectPackagesList.getSelected()); if(pkg.getPkgName().length() > 0) { OovString rootDir = getEntry("PackageRootDirEntry"); FilePaths dirs; dirs.push_back(FilePath("/", FP_Dir)); dirs.push_back(FilePath("/Program Files", FP_Dir)); OovString dir = findMatchingDir(dirs, rootDir); if(dir.length()) { pkg.setRootDir(dir); // move to project packages. mProjectPackages.insertPackage(pkg); } setEntry("PackageRootDirEntry", pkg.getRootDir()); } else Gui::messageBox("Select a package to scan", GTK_MESSAGE_INFO); }