@@ -82,63 +82,65 @@ public Dimension getPreferredSize() {
8282 final String SETTING_PER_DATASET = "Per-Session Settings" ;
8383 final String SETTING_PER_USER = "Global Settings" ;
8484
85+ var entries = new ArrayList <Entry >();
86+ entries .add (new OptionSidebar .Entry (SETTING_PER_DATASET ).setHeading (true ));
87+
8588 String KEY_DETECTOR = "Detector" ;
8689 OptionBlocksPanel detectorPanel = makeDetectorPanel (controller );
8790 detectorPanel .setEnabled (hasdata );
88- body .add (wrapSettingsInfo ( detectorPanel , SETTING_PER_DATASET ) , KEY_DETECTOR );
91+ body .add (detectorPanel , KEY_DETECTOR );
8992 OptionSidebar .Entry detectorEntry = new OptionSidebar .Entry (KEY_DETECTOR , IconFactory .getImageIcon (PeakabooIcons .OPTIONS_DETECTOR , IconSize .TOOLBAR_SMALL ));
93+ entries .add (detectorEntry );
9094
9195 String KEY_PEAKMODEL = "Peak Model" ;
9296 OptionBlocksPanel peakPanel = makePeakModelPanel (controller );
9397 peakPanel .setEnabled (hasdata );
94- body .add (wrapSettingsInfo ( peakPanel , SETTING_PER_DATASET ) , KEY_PEAKMODEL );
98+ body .add (peakPanel , KEY_PEAKMODEL );
9599 OptionSidebar .Entry peakEntry = new OptionSidebar .Entry (KEY_PEAKMODEL , IconFactory .getImageIcon (PeakabooIcons .OPTIONS_PEAKMODEL , IconSize .TOOLBAR_SMALL ));
100+ entries .add (peakEntry );
96101
97102 String KEY_CURVEFIT = "Curve Fitting" ;
98103 OptionBlocksPanel curvefitPanel = makeCurvefitPanel (controller );
99104 curvefitPanel .setEnabled (hasdata );
100- body .add (wrapSettingsInfo ( curvefitPanel , SETTING_PER_DATASET ) , KEY_CURVEFIT );
105+ body .add (curvefitPanel , KEY_CURVEFIT );
101106 OptionSidebar .Entry curvefitEntry = new OptionSidebar .Entry (KEY_CURVEFIT , IconFactory .getImageIcon (PeakabooIcons .OPTIONS_CURVEFIT , IconSize .TOOLBAR_SMALL ));
107+ entries .add (curvefitEntry );
102108
103109 String KEY_OVERLAP = "Overlap Solving" ;
104110 OptionBlocksPanel overlapPanel = makeOverlapPanel (controller );
105111 overlapPanel .setEnabled (hasdata );
106- body .add (wrapSettingsInfo ( overlapPanel , SETTING_PER_DATASET ) , KEY_OVERLAP );
112+ body .add (overlapPanel , KEY_OVERLAP );
107113 OptionSidebar .Entry overlapEntry = new OptionSidebar .Entry (KEY_OVERLAP , IconFactory .getImageIcon (PeakabooIcons .OPTIONS_SOLVER , IconSize .TOOLBAR_SMALL ));
114+ entries .add (overlapEntry );
108115
109- var entries = new ArrayList <Entry >();
110- entries .addAll (List .of (detectorEntry , peakEntry , curvefitEntry , overlapEntry ));
111-
112116 for (TierUIAutoGroup <PlotController > item : Tier .provider ().getAdvancedOptions ()) {
113117 Group group = item .getValue ();
114118 String groupKey = group .getName ();
115119 JComponent groupPanel = SwingLayoutFactory .forGroup (group ).getComponent ();
116- body .add (wrapSettingsInfo ( groupPanel , SETTING_PER_DATASET ) , groupKey );
120+ body .add (groupPanel , groupKey );
117121 OptionSidebar .Entry itemEntry = new OptionSidebar .Entry (groupKey , IconFactory .getImageIcon (Tier .provider ().iconPath (), item .getIconPath (), IconSize .TOOLBAR_SMALL ));
118122 entries .add (itemEntry );
119123 }
120124
121- //separator between dataset-focused options and app options
122- entries .get (entries .size ()-1 ).trailingSeparator = true ;
123-
125+ entries .add (new OptionSidebar .Entry (SETTING_PER_USER ).setHeading (true ));
124126
125127 String KEY_APP = "Appearance" ;
126128 OptionBlocksPanel appPanel = makeAppPanel (controller );
127- body .add (wrapSettingsInfo ( appPanel , SETTING_PER_USER ) , KEY_APP );
129+ body .add (appPanel , KEY_APP );
128130 OptionSidebar .Entry appEntry = new OptionSidebar .Entry (KEY_APP , IconFactory .getImageIcon (PeakabooIcons .OPTIONS_APPEARANCE , IconSize .TOOLBAR_SMALL ));
129131 entries .add (appEntry );
130132
131133
132134 String KEY_PERFORMANCE = "Performance" ;
133135 OptionBlocksPanel perfPanel = makePerformancePanel (controller );
134- body .add (wrapSettingsInfo ( perfPanel , SETTING_PER_USER ) , KEY_PERFORMANCE );
136+ body .add (perfPanel , KEY_PERFORMANCE );
135137 OptionSidebar .Entry perfEntry = new OptionSidebar .Entry (KEY_PERFORMANCE , IconFactory .getImageIcon (PeakabooIcons .OPTIONS_PERFORMANCE , IconSize .TOOLBAR_SMALL ));
136138 entries .add (perfEntry );
137139
138140
139141 String KEY_ERRORS = "Errors" ;
140142 OptionBlocksPanel errorsPanel = makeErrorsPanel (controller );
141- body .add (wrapSettingsInfo ( errorsPanel , SETTING_PER_USER ) , KEY_ERRORS );
143+ body .add (errorsPanel , KEY_ERRORS );
142144 OptionSidebar .Entry errorsEntry = new OptionSidebar .Entry (KEY_ERRORS , IconFactory .getImageIcon (PeakabooIcons .OPTIONS_ERRORS , IconSize .TOOLBAR_SMALL ));
143145 entries .add (errorsEntry );
144146
@@ -417,16 +419,7 @@ private <T extends SelfDescribing> OptionBlock makeRadioBlock(List<T> instances,
417419 }
418420
419421
420- private ClearPanel wrapSettingsInfo (JComponent panel , String info ) {
421- var label = new JLabel (info , SwingConstants .CENTER );
422- label .setForeground (Stratus .getTheme ().getPalette ().getColour ("Dark" , "1" ));
423- label .setFont (label .getFont ().deriveFont (11f ));
424-
425- var wrap = new ClearPanel (new BorderLayout ());
426- wrap .add (panel , BorderLayout .CENTER );
427- wrap .add (label , BorderLayout .SOUTH );
428- return wrap ;
429- }
422+
430423
431424 private OptionBlocksPanel makeOverlapPanel (PlotController controller ) {
432425
0 commit comments