private void loadDefaultsClick(DialogAccess dlg) { updateStyleMaps(dlg); // Count styles that we will overwrite Config clean = ConverterFactory.createConverter(getMIMEType()).getConfig(); clean.readDefaultConfig(getDefaultConfigName()); int nCount = 0; int nFamilyCount = sFamilyNames.length; for (int i = 0; i < nFamilyCount; i++) { ComplexOption cleanMap = clean.getComplexOption(sFamilyNames[i] + "-map"); Map<String, String> displayNames = styleNameProvider.getDisplayNames(sOOoFamilyNames[i]); for (String sName : cleanMap.keySet()) { String sDisplayName = (displayNames != null && displayNames.containsKey(sName)) ? displayNames.get(sName) : ""; if (styleMap[i].containsKey(sDisplayName)) { nCount++; } } } // Display confirmation dialog boolean bConfirm = false; XDialog xDialog = getDialog(getDialogLibraryName() + ".LoadDefaults"); if (xDialog != null) { DialogAccess ldlg = new DialogAccess(xDialog); if (nCount > 0) { String sLabel = ldlg.getLabelText("OverwriteLabel"); sLabel = sLabel.replaceAll("%s", Integer.toString(nCount)); ldlg.setLabelText("OverwriteLabel", sLabel); } else { ldlg.setLabelText("OverwriteLabel", ""); } bConfirm = xDialog.execute() == ExecutableDialogResults.OK; xDialog.endExecute(); } // Do the replacement if (bConfirm) { for (int i = 0; i < nFamilyCount; i++) { ComplexOption cleanMap = clean.getComplexOption(sFamilyNames[i] + "-map"); Map<String, String> displayNames = styleNameProvider.getDisplayNames(sOOoFamilyNames[i]); copyStyles(cleanMap, styleMap[i], displayNames); } } // Force update of the user interface nCurrentFamily = -1; sCurrentStyleName = null; styleFamilyChange(dlg); }
// Method to display delete dialog protected boolean deleteItem(String sName) { XDialog xDialog = getDialog(getDialogLibraryName() + ".DeleteDialog"); if (xDialog != null) { DialogAccess ddlg = new DialogAccess(xDialog); String sLabel = ddlg.getLabelText("DeleteLabel"); sLabel = sLabel.replaceAll("%s", sName); ddlg.setLabelText("DeleteLabel", sLabel); boolean bDelete = xDialog.execute() == ExecutableDialogResults.OK; xDialog.endExecute(); return bDelete; } return false; }