mirror of
https://gitflic.ru/project/openide/openide.git
synced 2025-12-16 22:51:17 +07:00
PY-9448 Add ability to directly create pdf's from sphinx documentation
implemented via rst2pdf package see http://www.sphinx-doc.org/en/stable/builders.html
This commit is contained in:
@@ -23,6 +23,8 @@ import com.intellij.openapi.fileChooser.FileChooserDescriptorFactory;
|
||||
import com.intellij.openapi.options.SettingsEditor;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.util.text.StringUtil;
|
||||
import com.jetbrains.python.packaging.PyPackage;
|
||||
import com.jetbrains.python.packaging.PyPackageManager;
|
||||
import com.jetbrains.rest.run.RestConfigurationEditor;
|
||||
import com.jetbrains.rest.run.RestRunConfiguration;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
@@ -38,7 +40,19 @@ public class SphinxRunConfiguration extends RestRunConfiguration {
|
||||
|
||||
@Override
|
||||
protected SettingsEditor<? extends RunConfiguration> createConfigurationEditor() {
|
||||
RestConfigurationEditor editor = new RestConfigurationEditor(getProject(), this, new SphinxTasksModel());
|
||||
final SphinxTasksModel model = new SphinxTasksModel();
|
||||
if (!model.contains("pdf")) {
|
||||
try {
|
||||
final PyPackage rst2pdf = PyPackageManager.getInstance(getSdk()).findPackage("rst2pdf");
|
||||
if (rst2pdf != null) {
|
||||
model.add(13, "pdf");
|
||||
}
|
||||
}
|
||||
catch (ExecutionException ignored) {
|
||||
}
|
||||
}
|
||||
|
||||
RestConfigurationEditor editor = new RestConfigurationEditor(getProject(), this, model);
|
||||
editor.setConfigurationName("Sphinx task");
|
||||
editor.setOpenInBrowserVisible(false);
|
||||
editor.setInputDescriptor(FileChooserDescriptorFactory.createSingleFolderDescriptor());
|
||||
|
||||
@@ -23,7 +23,7 @@ import java.util.List;
|
||||
/**
|
||||
* User : catherine
|
||||
*/
|
||||
public class SphinxTasksModel extends CollectionComboBoxModel {
|
||||
public class SphinxTasksModel extends CollectionComboBoxModel<String> {
|
||||
private static List<String> targets = Lists.newArrayList();
|
||||
static {
|
||||
targets.add("changes");
|
||||
@@ -37,7 +37,6 @@ public class SphinxTasksModel extends CollectionComboBoxModel {
|
||||
targets.add("htmlhelp");
|
||||
targets.add("json");
|
||||
targets.add("latex");
|
||||
targets.add("latexpdf");
|
||||
targets.add("linkcheck");
|
||||
targets.add("man");
|
||||
targets.add("pickle");
|
||||
|
||||
Reference in New Issue
Block a user