19 package org.sleuthkit.autopsy.corecomponents;
21 import java.awt.Insets;
23 import java.util.Collection;
25 import java.util.TreeMap;
26 import java.util.logging.Level;
27 import javax.swing.BorderFactory;
28 import javax.swing.SwingUtilities;
29 import javax.swing.UIManager;
30 import javax.swing.UIManager.LookAndFeelInfo;
31 import javax.swing.UnsupportedLookAndFeelException;
32 import org.netbeans.spi.sendopts.OptionProcessor;
33 import org.netbeans.swing.tabcontrol.plaf.DefaultTabbedContainerUI;
34 import org.openide.modules.ModuleInstall;
35 import org.openide.util.Lookup;
36 import org.openide.util.NbBundle;
37 import org.openide.windows.WindowManager;
56 if (null == instance) {
71 UIManager.put(
"ViewTabDisplayerUI",
"org.sleuthkit.autopsy.corecomponents.NoTabsTabDisplayerUI");
72 UIManager.put(DefaultTabbedContainerUI.KEY_VIEW_CONTENT_BORDER, BorderFactory.createEmptyBorder());
73 UIManager.put(
"TabbedPane.contentBorderInsets",
new Insets(0, 0, 0, 0));
80 WindowManager.getDefault().invokeWhenUIReady(() -> {
81 Collection<? extends OptionProcessor> processors = Lookup.getDefault().lookupAll(OptionProcessor.class);
82 for (OptionProcessor processor : processors) {
84 OpenFromArguments argsProcessor = (OpenFromArguments) processor;
90 logger.log(Level.SEVERE, String.format(
"Error opening case with metadata file path %s", caseFile), ex);
106 if (System.getProperty(
"os.name").toLowerCase().contains(
"mac")) {
118 UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
119 }
catch (ClassNotFoundException | InstantiationException | IllegalAccessException | UnsupportedLookAndFeelException ex) {
120 logger.log(Level.WARNING,
"Error setting OS-X look-and-feel", ex);
124 final String[] UI_MENU_ITEM_KEYS =
new String[]{
"MenuBarUI",};
125 Map<Object, Object> uiEntries =
new TreeMap<>();
126 for (String key : UI_MENU_ITEM_KEYS) {
127 uiEntries.put(key, UIManager.get(key));
131 for (LookAndFeelInfo info : UIManager.getInstalledLookAndFeels()) {
132 if (
"Nimbus".equals(info.getName())) {
134 UIManager.setLookAndFeel(info.getClassName());
135 }
catch (ClassNotFoundException | InstantiationException | IllegalAccessException | UnsupportedLookAndFeelException ex) {
136 logger.log(Level.WARNING,
"Error setting OS-X look-and-feel", ex);
143 uiEntries.entrySet().stream().forEach((entry) -> {
144 UIManager.put(entry.getKey(), entry.getValue());
static final long serialVersionUID
static Installer instance
static final Logger logger
static synchronized Installer getDefault()
static void openAsCurrentCase(String caseMetadataFilePath)
synchronized static Logger getLogger(String name)
static StartupWindowProvider getInstance()