[med-svn] [SCM] aghermann branch, master, updated. 06bda7dfaa687aaf0708a024d192024e2cd58421

Andrei Zavada johnhommer at gmail.com
Thu Jan 24 00:43:59 UTC 2013


The following commit has been merged in the master branch:
commit 5986c13fef00c3da0631e1c6a8219150a61c2848
Author: Andrei Zavada <johnhommer at gmail.com>
Date:   Thu Jan 24 01:36:12 2013 +0200

    more glade splitting and widget renaming towards identifier uniformity

diff --git a/data/Makefile.am b/data/Makefile.am
index d2f16b9..168fdd3 100644
--- a/data/Makefile.am
+++ b/data/Makefile.am
@@ -16,9 +16,11 @@ EXTRA_DIST := \
 	aghermann.desktop.in edfhed-gtk.desktop.in \
 	icon.svg \
 	aghermann.gresource.xml \
-	session-chooser.glade main.glade dialogs.glade \
+	sm.glade \
+	mw.glade mw-dialogs.glade \
 	sf.glade sf-patterns.glade sf-artifacts.glade \
-	mf.glade edfhed.glade \
+	mf.glade \
+	edfhed.glade \
 	idle-bg.svg equations1.png equation-uc.png \
 	experiment-dl.sh
 
@@ -27,7 +29,8 @@ CLEANFILES := \
 	aghermann.gresource
 
 GRESOURCES := \
-	session-chooser.glade main.glade dialogs.glade \
+	sm.glade \
+	mw.glade mw-dialogs.glade \
 	sf.glade sf-artifacts.glade sf-patterns.glade mf.glade edfhed.glade \
 	aghermann.png equations1.png equation-uc.png
 
diff --git a/data/aghermann.gresource.xml b/data/aghermann.gresource.xml
index 216b706..15b0876 100644
--- a/data/aghermann.gresource.xml
+++ b/data/aghermann.gresource.xml
@@ -5,12 +5,13 @@
     <file>equation-uc.png</file>
     <file>equations1.png</file>
     <file compressed="true">idle-bg.svg</file>
-    <file compressed="true">main.glade</file>
-    <file compressed="true">dialogs.glade</file>
-    <file compressed="true">session-chooser.glade</file>
+    <file compressed="true">sm.glade</file>
+    <file compressed="true">mw.glade</file>
+    <file compressed="true">mw-dialogs.glade</file>
     <file compressed="true">sf.glade</file>
     <file compressed="true">sf-artifacts.glade</file>
     <file compressed="true">sf-patterns.glade</file>
+    <file compressed="true">sf-phasediff.glade</file>
     <file compressed="true">mf.glade</file>
   </gresource>
 </gresources>
diff --git a/data/dialogs.glade b/data/mw-dialogs.glade
similarity index 100%
rename from data/dialogs.glade
rename to data/mw-dialogs.glade
diff --git a/data/main.glade b/data/mw.glade
similarity index 100%
rename from data/main.glade
rename to data/mw.glade
diff --git a/data/sf-patterns.glade b/data/sf-patterns.glade
index bd4c625..7a1be6c 100644
--- a/data/sf-patterns.glade
+++ b/data/sf-patterns.glade
@@ -96,7 +96,9 @@
     <property name="skip_taskbar_hint">True</property>
     <property name="skip_pager_hint">True</property>
     <property name="gravity">north</property>
-    <property name="transient_for"/>
+    <signal name="close" handler="gtk_widget_hide_on_delete" swapped="no"/>
+    <signal name="delete-event" handler="gtk_widget_hide_on_delete" swapped="no"/>
+    <signal name="response" handler="gtk_widget_hide_on_delete" swapped="no"/>
     <child internal-child="vbox">
       <object class="GtkBox" id="dialog-vbox19">
         <property name="visible">True</property>
@@ -396,7 +398,6 @@
                             <property name="invisible_char_set">True</property>
                             <property name="primary_icon_activatable">False</property>
                             <property name="secondary_icon_activatable">False</property>
-                            <property name="adjustment"/>
                             <property name="digits">2</property>
                             <property name="numeric">True</property>
                           </object>
@@ -420,7 +421,6 @@
                             <property name="invisible_char_set">True</property>
                             <property name="primary_icon_activatable">False</property>
                             <property name="secondary_icon_activatable">False</property>
-                            <property name="adjustment"/>
                             <property name="digits">2</property>
                             <property name="numeric">True</property>
                           </object>
@@ -503,7 +503,6 @@
                             <property name="invisible_char_set">True</property>
                             <property name="primary_icon_activatable">False</property>
                             <property name="secondary_icon_activatable">False</property>
-                            <property name="adjustment"/>
                             <property name="snap_to_ticks">True</property>
                             <property name="numeric">True</property>
                           </object>
@@ -590,7 +589,6 @@
                             <property name="invisible_char_set">True</property>
                             <property name="primary_icon_activatable">False</property>
                             <property name="secondary_icon_activatable">False</property>
-                            <property name="adjustment"/>
                             <property name="digits">2</property>
                             <property name="numeric">True</property>
                           </object>
@@ -664,7 +662,6 @@
                             <property name="invisible_char_set">True</property>
                             <property name="primary_icon_activatable">False</property>
                             <property name="secondary_icon_activatable">False</property>
-                            <property name="adjustment"/>
                             <property name="digits">2</property>
                             <property name="snap_to_ticks">True</property>
                             <property name="numeric">True</property>
@@ -749,7 +746,6 @@
                             <property name="invisible_char_set">True</property>
                             <property name="primary_icon_activatable">False</property>
                             <property name="secondary_icon_activatable">False</property>
-                            <property name="adjustment"/>
                             <property name="snap_to_ticks">True</property>
                             <property name="numeric">True</property>
                           </object>
@@ -805,7 +801,6 @@
                             <property name="invisible_char_set">True</property>
                             <property name="primary_icon_activatable">False</property>
                             <property name="secondary_icon_activatable">False</property>
-                            <property name="adjustment"/>
                             <property name="digits">2</property>
                             <property name="numeric">True</property>
                           </object>
@@ -879,7 +874,6 @@
                             <property name="invisible_char_set">True</property>
                             <property name="primary_icon_activatable">False</property>
                             <property name="secondary_icon_activatable">False</property>
-                            <property name="adjustment"/>
                             <property name="digits">2</property>
                             <property name="numeric">True</property>
                           </object>
@@ -924,7 +918,6 @@
                             <property name="invisible_char_set">True</property>
                             <property name="primary_icon_activatable">False</property>
                             <property name="secondary_icon_activatable">False</property>
-                            <property name="adjustment"/>
                             <property name="digits">2</property>
                             <property name="numeric">True</property>
                           </object>
@@ -969,7 +962,6 @@
                             <property name="invisible_char_set">True</property>
                             <property name="primary_icon_activatable">False</property>
                             <property name="secondary_icon_activatable">False</property>
-                            <property name="adjustment"/>
                             <property name="digits">2</property>
                             <property name="numeric">True</property>
                           </object>
@@ -1047,7 +1039,6 @@ on individual parameters</property>
                             <property name="invisible_char_set">True</property>
                             <property name="primary_icon_activatable">False</property>
                             <property name="secondary_icon_activatable">False</property>
-                            <property name="adjustment"/>
                             <property name="digits">2</property>
                             <property name="numeric">True</property>
                           </object>
@@ -1213,6 +1204,9 @@ on individual parameters</property>
     <property name="type_hint">dialog</property>
     <property name="skip_taskbar_hint">True</property>
     <property name="transient_for">wSFFD</property>
+    <signal name="close" handler="gtk_widget_hide_on_delete" swapped="no"/>
+    <signal name="delete-event" handler="gtk_widget_hide_on_delete" swapped="no"/>
+    <signal name="response" handler="gtk_widget_hide_on_delete" swapped="no"/>
     <child internal-child="vbox">
       <object class="GtkBox" id="dialog-vbox1">
         <property name="visible">True</property>
@@ -1395,6 +1389,14 @@ on individual parameters</property>
       <action-widget response="-5">button3</action-widget>
     </action-widgets>
   </object>
-  <object class="GtkSizeGroup" id="zButton"/>
+  <object class="GtkSizeGroup" id="zButton">
+    <widgets>
+      <widget name="bSFFDSearch"/>
+      <widget name="bSFFDAgain"/>
+      <widget name="bSFFDProfileRevert"/>
+      <widget name="bSFFDProfileSave"/>
+      <widget name="bSFFDProfileDiscard"/>
+    </widgets>
+  </object>
   <object class="GtkSizeGroup" id="zSFFDControls"/>
 </interface>
diff --git a/data/sf-phasediff.glade b/data/sf-phasediff.glade
new file mode 100644
index 0000000..46b66e3
--- /dev/null
+++ b/data/sf-phasediff.glade
@@ -0,0 +1,240 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<interface>
+  <!-- interface-requires gtk+ 3.0 -->
+  <object class="GtkAdjustment" id="jPhaseDiffBandwidth">
+    <property name="lower">0.25</property>
+    <property name="upper">2</property>
+    <property name="step_increment">0.25</property>
+    <property name="page_increment">1</property>
+  </object>
+  <object class="GtkAdjustment" id="jPhaseDiffFrom">
+    <property name="upper">100</property>
+    <property name="step_increment">0.25</property>
+    <property name="page_increment">1</property>
+  </object>
+  <object class="GtkWindow" id="wSFPD">
+    <property name="can_focus">False</property>
+    <property name="border_width">10</property>
+    <property name="title" translatable="yes">Inter-channel lag</property>
+    <property name="window_position">center-on-parent</property>
+    <signal name="delete-event" handler="gtk_widget_hide_on_delete" swapped="no"/>
+    <child>
+      <object class="GtkTable" id="table28">
+        <property name="visible">True</property>
+        <property name="can_focus">False</property>
+        <child>
+          <object class="GtkVBox" id="vbox10">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <child>
+              <object class="GtkHBox" id="hbox8">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="border_width">5</property>
+                <child>
+                  <object class="GtkLabel" id="label196">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="xalign">1</property>
+                    <property name="xpad">5</property>
+                    <property name="label" translatable="yes">Between channels</property>
+                  </object>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">True</property>
+                    <property name="position">0</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkComboBox" id="eSFPDChannelA">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                  </object>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">True</property>
+                    <property name="position">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkLabel" id="label197">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="xpad">5</property>
+                    <property name="label" translatable="yes">and</property>
+                  </object>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">True</property>
+                    <property name="position">2</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkComboBox" id="eSFPDChannelB">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                  </object>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">True</property>
+                    <property name="position">3</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkLabel" id="label198">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="xalign">1</property>
+                    <property name="xpad">5</property>
+                    <property name="label" translatable="yes"> in range from</property>
+                  </object>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">True</property>
+                    <property name="position">4</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkSpinButton" id="eSFPDFreqFrom">
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="has_frame">False</property>
+                    <property name="invisible_char">•</property>
+                    <property name="activates_default">True</property>
+                    <property name="xalign">1</property>
+                    <property name="overwrite_mode">True</property>
+                    <property name="invisible_char_set">True</property>
+                    <property name="primary_icon_activatable">False</property>
+                    <property name="secondary_icon_activatable">False</property>
+                    <property name="adjustment">jPhaseDiffFrom</property>
+                    <property name="digits">2</property>
+                    <property name="numeric">True</property>
+                  </object>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">True</property>
+                    <property name="position">5</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkLabel" id="label199">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="xpad">3</property>
+                    <property name="label" translatable="yes">, </property>
+                  </object>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">True</property>
+                    <property name="position">6</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkSpinButton" id="eSFPDBandwidth">
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="has_frame">False</property>
+                    <property name="invisible_char">•</property>
+                    <property name="activates_default">True</property>
+                    <property name="xalign">1</property>
+                    <property name="overwrite_mode">True</property>
+                    <property name="invisible_char_set">True</property>
+                    <property name="primary_icon_activatable">False</property>
+                    <property name="secondary_icon_activatable">False</property>
+                    <property name="adjustment">jPhaseDiffBandwidth</property>
+                    <property name="digits">2</property>
+                    <property name="numeric">True</property>
+                  </object>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">True</property>
+                    <property name="position">7</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkLabel" id="label200">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="xalign">0</property>
+                    <property name="xpad">5</property>
+                    <property name="label" translatable="yes">Hz wide</property>
+                  </object>
+                  <packing>
+                    <property name="expand">True</property>
+                    <property name="fill">True</property>
+                    <property name="position">8</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkLabel" id="label201">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                  </object>
+                  <packing>
+                    <property name="expand">True</property>
+                    <property name="fill">True</property>
+                    <property name="position">9</property>
+                  </packing>
+                </child>
+                <child>
+                  <placeholder/>
+                </child>
+                <child>
+                  <object class="GtkScaleButton" id="eSFPDSmooth">
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="receives_default">True</property>
+                    <property name="relief">none</property>
+                    <property name="focus_on_click">False</property>
+                  </object>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">True</property>
+                    <property name="position">11</property>
+                  </packing>
+                </child>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">True</property>
+                <property name="position">0</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkSeparator" id="separator17">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">True</property>
+                <property name="position">1</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkViewport" id="viewport4">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="resize_mode">queue</property>
+                <child>
+                  <object class="GtkDrawingArea" id="daSFPD">
+                    <property name="width_request">600</property>
+                    <property name="height_request">120</property>
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="events">GDK_STRUCTURE_MASK | GDK_SCROLL_MASK</property>
+                  </object>
+                </child>
+              </object>
+              <packing>
+                <property name="expand">True</property>
+                <property name="fill">True</property>
+                <property name="position">2</property>
+              </packing>
+            </child>
+          </object>
+        </child>
+      </object>
+    </child>
+  </object>
+</interface>
diff --git a/data/sf.glade b/data/sf.glade
index ee9fabc..1fca721 100644
--- a/data/sf.glade
+++ b/data/sf.glade
@@ -573,43 +573,26 @@
       </object>
     </child>
   </object>
-  <object class="GtkAdjustment" id="jHighPassCutoff">
+  <object class="GtkAdjustment" id="jSFFilterHighPassCutoff">
     <property name="upper">100</property>
     <property name="step_increment">0.25</property>
     <property name="page_increment">1</property>
   </object>
-  <object class="GtkAdjustment" id="jHighPassOrder">
+  <object class="GtkAdjustment" id="jSFFilterHighPassOrder">
     <property name="upper">5</property>
     <property name="step_increment">1</property>
     <property name="page_increment">10</property>
   </object>
-  <object class="GtkAdjustment" id="jLowPassCutoff">
+  <object class="GtkAdjustment" id="jSFFilterLowPassCutoff">
     <property name="upper">100</property>
     <property name="step_increment">0.25</property>
     <property name="page_increment">1</property>
   </object>
-  <object class="GtkAdjustment" id="jLowPassOrder">
+  <object class="GtkAdjustment" id="jSFFilterLowPassOrder">
     <property name="upper">5</property>
     <property name="step_increment">1</property>
     <property name="page_increment">10</property>
   </object>
-  <object class="GtkAdjustment" id="jPageNo">
-    <property name="lower">1</property>
-    <property name="upper">99999</property>
-    <property name="step_increment">1</property>
-    <property name="page_increment">10</property>
-  </object>
-  <object class="GtkAdjustment" id="jPhaseDiffBandwidth">
-    <property name="lower">0.25</property>
-    <property name="upper">2</property>
-    <property name="step_increment">0.25</property>
-    <property name="page_increment">1</property>
-  </object>
-  <object class="GtkAdjustment" id="jPhaseDiffFrom">
-    <property name="upper">100</property>
-    <property name="step_increment">0.25</property>
-    <property name="page_increment">1</property>
-  </object>
   <object class="GtkAdjustment" id="jSFICAEigVecFirst">
     <property name="lower">1</property>
     <property name="upper">100</property>
@@ -675,7 +658,13 @@
     <property name="step_increment">1</property>
     <property name="page_increment">10</property>
   </object>
-  <object class="GtkListStore" id="mFilterNotchFilter">
+  <object class="GtkAdjustment" id="jSFPageNo">
+    <property name="lower">1</property>
+    <property name="upper">99999</property>
+    <property name="step_increment">1</property>
+    <property name="page_increment">10</property>
+  </object>
+  <object class="GtkListStore" id="mSFFilterNotchFilter">
     <columns>
       <!-- column-name type -->
       <column type="gchararray"/>
@@ -740,7 +729,7 @@
       </row>
     </data>
   </object>
-  <object class="GtkListStore" id="mScoringPageSize">
+  <object class="GtkListStore" id="mSFScoringPageSize">
     <columns>
       <!-- column-name PageSize -->
       <column type="gchararray"/>
@@ -775,213 +764,7 @@
       </row>
     </data>
   </object>
-  <object class="GtkDialog" id="wAnnotationLabel">
-    <property name="can_focus">False</property>
-    <property name="border_width">5</property>
-    <property name="window_position">mouse</property>
-    <property name="type_hint">dialog</property>
-    <signal name="close" handler="gtk_widget_hide_on_delete" swapped="no"/>
-    <signal name="response" handler="gtk_widget_hide_on_delete" swapped="no"/>
-    <child internal-child="vbox">
-      <object class="GtkBox" id="dialog-vbox4">
-        <property name="can_focus">False</property>
-        <property name="orientation">vertical</property>
-        <property name="spacing">2</property>
-        <child internal-child="action_area">
-          <object class="GtkButtonBox" id="dialog-action_area4">
-            <property name="can_focus">False</property>
-            <property name="layout_style">end</property>
-            <child>
-              <object class="GtkButton" id="button4">
-                <property name="label">gtk-cancel</property>
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="receives_default">False</property>
-                <property name="use_stock">True</property>
-              </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">True</property>
-                <property name="position">0</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkButton" id="button2">
-                <property name="label">gtk-ok</property>
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="can_default">True</property>
-                <property name="has_default">True</property>
-                <property name="receives_default">True</property>
-                <property name="use_stock">True</property>
-              </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">True</property>
-                <property name="position">1</property>
-              </packing>
-            </child>
-          </object>
-          <packing>
-            <property name="expand">False</property>
-            <property name="fill">True</property>
-            <property name="pack_type">end</property>
-            <property name="position">0</property>
-          </packing>
-        </child>
-        <child>
-          <object class="GtkBox" id="box1">
-            <property name="visible">True</property>
-            <property name="can_focus">False</property>
-            <property name="border_width">10</property>
-            <property name="orientation">vertical</property>
-            <property name="spacing">5</property>
-            <child>
-              <object class="GtkLabel" id="label1">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="xalign">0</property>
-                <property name="label" translatable="yes">_Annotation label:</property>
-                <property name="use_underline">True</property>
-                <property name="mnemonic_widget">eAnnotationLabel</property>
-              </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">True</property>
-                <property name="position">0</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkEntry" id="eAnnotationLabel">
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="has_focus">True</property>
-                <property name="max_length">120</property>
-                <property name="invisible_char">•</property>
-                <property name="activates_default">True</property>
-              </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">True</property>
-                <property name="position">1</property>
-              </packing>
-            </child>
-          </object>
-          <packing>
-            <property name="expand">False</property>
-            <property name="fill">True</property>
-            <property name="position">1</property>
-          </packing>
-        </child>
-      </object>
-    </child>
-    <action-widgets>
-      <action-widget response="-6">button4</action-widget>
-      <action-widget response="-5">button2</action-widget>
-    </action-widgets>
-  </object>
-  <object class="GtkDialog" id="wAnnotationSelector">
-    <property name="can_focus">False</property>
-    <property name="border_width">5</property>
-    <property name="window_position">mouse</property>
-    <property name="type_hint">dialog</property>
-    <signal name="close" handler="gtk_widget_hide_on_delete" swapped="no"/>
-    <signal name="response" handler="gtk_widget_hide_on_delete" swapped="no"/>
-    <child internal-child="vbox">
-      <object class="GtkBox" id="dialog-vbox7">
-        <property name="can_focus">False</property>
-        <property name="orientation">vertical</property>
-        <property name="spacing">2</property>
-        <child internal-child="action_area">
-          <object class="GtkButtonBox" id="dialog-action_area7">
-            <property name="can_focus">False</property>
-            <property name="layout_style">end</property>
-            <child>
-              <object class="GtkButton" id="button5">
-                <property name="label">gtk-cancel</property>
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="receives_default">True</property>
-                <property name="use_stock">True</property>
-              </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">True</property>
-                <property name="position">0</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkButton" id="button6">
-                <property name="label">gtk-ok</property>
-                <property name="visible">True</property>
-                <property name="can_focus">True</property>
-                <property name="can_default">True</property>
-                <property name="has_default">True</property>
-                <property name="receives_default">True</property>
-                <property name="use_stock">True</property>
-              </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">True</property>
-                <property name="position">1</property>
-              </packing>
-            </child>
-          </object>
-          <packing>
-            <property name="expand">False</property>
-            <property name="fill">True</property>
-            <property name="pack_type">end</property>
-            <property name="position">0</property>
-          </packing>
-        </child>
-        <child>
-          <object class="GtkBox" id="box2">
-            <property name="visible">True</property>
-            <property name="can_focus">False</property>
-            <property name="border_width">10</property>
-            <property name="orientation">vertical</property>
-            <property name="spacing">5</property>
-            <child>
-              <object class="GtkLabel" id="label2">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="xalign">0.0099999997764825821</property>
-                <property name="label" translatable="yes">_Select annotation:</property>
-                <property name="use_underline">True</property>
-                <property name="mnemonic_widget">eAnnotationLabel</property>
-              </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">True</property>
-                <property name="position">0</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkComboBox" id="eAnnotationSelectorWhich">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-              </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">True</property>
-                <property name="position">1</property>
-              </packing>
-            </child>
-          </object>
-          <packing>
-            <property name="expand">False</property>
-            <property name="fill">True</property>
-            <property name="position">1</property>
-          </packing>
-        </child>
-      </object>
-    </child>
-    <action-widgets>
-      <action-widget response="-6">button5</action-widget>
-      <action-widget response="-5">button6</action-widget>
-    </action-widgets>
-  </object>
-  <object class="GtkWindow" id="wScoringFacility">
+  <object class="GtkWindow" id="wSF">
     <property name="can_focus">False</property>
     <property name="title" translatable="yes">Aghermann Scoring Facility</property>
     <property name="window_position">center</property>
@@ -1142,7 +925,7 @@
                     <property name="invisible_char_set">True</property>
                     <property name="primary_icon_activatable">False</property>
                     <property name="secondary_icon_activatable">False</property>
-                    <property name="adjustment">jPageNo</property>
+                    <property name="adjustment">jSFPageNo</property>
                     <property name="numeric">True</property>
                   </object>
                   <packing>
@@ -1286,7 +1069,7 @@
                         <property name="n_rows">2</property>
                         <property name="n_columns">2</property>
                         <child>
-                          <object class="GtkButton" id="bScoreGotoPrevUnscored">
+                          <object class="GtkButton" id="bSFGotoPrevUnscored">
                             <property name="label" translatable="yes">◁</property>
                             <property name="visible">True</property>
                             <property name="can_focus">True</property>
@@ -1299,7 +1082,7 @@
                           </object>
                         </child>
                         <child>
-                          <object class="GtkButton" id="bScoreGotoNextUnscored">
+                          <object class="GtkButton" id="bSFGotoNextUnscored">
                             <property name="label" translatable="yes">▷</property>
                             <property name="visible">True</property>
                             <property name="can_focus">True</property>
@@ -1315,7 +1098,7 @@
                           </packing>
                         </child>
                         <child>
-                          <object class="GtkButton" id="bScoreGotoPrevArtifact">
+                          <object class="GtkButton" id="bSFGotoPrevArtifact">
                             <property name="label" translatable="yes">⤝</property>
                             <property name="visible">True</property>
                             <property name="can_focus">True</property>
@@ -1332,7 +1115,7 @@
                           </packing>
                         </child>
                         <child>
-                          <object class="GtkButton" id="bScoreGotoNextArtifact">
+                          <object class="GtkButton" id="bSFGotoNextArtifact">
                             <property name="label" translatable="yes">⤞</property>
                             <property name="visible">True</property>
                             <property name="can_focus">True</property>
@@ -1361,7 +1144,7 @@
                       <placeholder/>
                     </child>
                     <child>
-                      <object class="GtkButton" id="bScoreNREM1">
+                      <object class="GtkButton" id="bSFScoreNREM1">
                         <property name="label" translatable="yes">➊</property>
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
@@ -1378,7 +1161,7 @@
                       </packing>
                     </child>
                     <child>
-                      <object class="GtkButton" id="bScoreNREM2">
+                      <object class="GtkButton" id="bSFScoreNREM2">
                         <property name="label" translatable="yes">➋</property>
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
@@ -1395,7 +1178,7 @@
                       </packing>
                     </child>
                     <child>
-                      <object class="GtkButton" id="bScoreNREM3">
+                      <object class="GtkButton" id="bSFScoreNREM3">
                         <property name="label" translatable="yes">➌</property>
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
@@ -1412,7 +1195,7 @@
                       </packing>
                     </child>
                     <child>
-                      <object class="GtkButton" id="bScoreNREM4">
+                      <object class="GtkButton" id="bSFScoreNREM4">
                         <property name="label" translatable="yes">➍</property>
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
@@ -1429,7 +1212,7 @@
                       </packing>
                     </child>
                     <child>
-                      <object class="GtkButton" id="bScoreREM">
+                      <object class="GtkButton" id="bSFScoreREM">
                         <property name="label" translatable="yes">ℝ</property>
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
@@ -1446,15 +1229,15 @@
                       </packing>
                     </child>
                     <child>
-                      <object class="GtkButton" id="bScoreClear">
-                        <property name="label" translatable="yes">⌫</property>
+                      <object class="GtkButton" id="bSFScoreWake">
+                        <property name="label" translatable="yes">☺</property>
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
                         <property name="receives_default">True</property>
-                        <property name="tooltip_markup" translatable="yes">Clear (<b>q</b>)</property>
+                        <property name="tooltip_markup" translatable="yes">Wake (<b>w</b>)</property>
                         <property name="valign">center</property>
                         <property name="focus_on_click">False</property>
-                        <accelerator key="q" signal="activate"/>
+                        <accelerator key="w" signal="activate"/>
                       </object>
                       <packing>
                         <property name="expand">False</property>
@@ -1463,15 +1246,15 @@
                       </packing>
                     </child>
                     <child>
-                      <object class="GtkButton" id="bScoreWake">
-                        <property name="label" translatable="yes">☺</property>
+                      <object class="GtkButton" id="bSFScoreClear">
+                        <property name="label" translatable="yes">⌫</property>
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
                         <property name="receives_default">True</property>
-                        <property name="tooltip_markup" translatable="yes">Wake (<b>w</b>)</property>
+                        <property name="tooltip_markup" translatable="yes">Clear (<b>q</b>)</property>
                         <property name="valign">center</property>
                         <property name="focus_on_click">False</property>
-                        <accelerator key="w" signal="activate"/>
+                        <accelerator key="q" signal="activate"/>
                       </object>
                       <packing>
                         <property name="expand">False</property>
@@ -1706,18 +1489,17 @@
                       </packing>
                     </child>
                     <child>
-                      <object class="GtkToggleButton" id="bSFShowFindDialog">
-                        <property name="label" translatable="yes">_Find</property>
+                      <object class="GtkToggleButton" id="bSFShowPhaseDiffDialog">
+                        <property name="label" translatable="yes">Δφ</property>
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
                         <property name="receives_default">True</property>
                         <property name="has_tooltip">True</property>
-                        <property name="tooltip_markup" translatable="yes">Find/manage patterns (<b>F3</b>)</property>
-                        <property name="tooltip_text" translatable="yes">Find/manage patterns (F3)</property>
+                        <property name="tooltip_markup" translatable="yes">Interchannel signal shift (<b>F4</b>)</property>
+                        <property name="tooltip_text" translatable="yes">Interchannel signal shift (F4)</property>
                         <property name="valign">center</property>
-                        <property name="use_underline">True</property>
                         <property name="focus_on_click">False</property>
-                        <accelerator key="F3" signal="activate"/>
+                        <accelerator key="F4" signal="activate"/>
                       </object>
                       <packing>
                         <property name="expand">False</property>
@@ -1727,17 +1509,18 @@
                       </packing>
                     </child>
                     <child>
-                      <object class="GtkToggleButton" id="bSFShowPhaseDiffDialog">
-                        <property name="label" translatable="yes">Δφ</property>
+                      <object class="GtkToggleButton" id="bSFShowFindDialog">
+                        <property name="label" translatable="yes">_Find</property>
                         <property name="visible">True</property>
                         <property name="can_focus">True</property>
                         <property name="receives_default">True</property>
                         <property name="has_tooltip">True</property>
-                        <property name="tooltip_markup" translatable="yes">Interchannel signal shift (<b>F4</b>)</property>
-                        <property name="tooltip_text" translatable="yes">Interchannel signal shift (F4)</property>
+                        <property name="tooltip_markup" translatable="yes">Find/manage patterns (<b>F3</b>)</property>
+                        <property name="tooltip_text" translatable="yes">Find/manage patterns (F3)</property>
                         <property name="valign">center</property>
+                        <property name="use_underline">True</property>
                         <property name="focus_on_click">False</property>
-                        <accelerator key="F4" signal="activate"/>
+                        <accelerator key="F3" signal="activate"/>
                       </object>
                       <packing>
                         <property name="expand">False</property>
@@ -2525,15 +2308,221 @@ skew:	𝑔(𝑢) = 𝑢2</property>
       </object>
     </child>
   </object>
-  <object class="GtkDialog" id="wFilters">
+  <object class="GtkDialog" id="wSFAnnotationLabel">
     <property name="can_focus">False</property>
-    <property name="border_width">10</property>
-    <property name="title" translatable="yes">High- and Low-pass filters</property>
-    <property name="modal">True</property>
+    <property name="border_width">5</property>
     <property name="window_position">mouse</property>
-    <property name="destroy_with_parent">True</property>
     <property name="type_hint">dialog</property>
-    <property name="transient_for">wScoringFacility</property>
+    <signal name="close" handler="gtk_widget_hide_on_delete" swapped="no"/>
+    <signal name="response" handler="gtk_widget_hide_on_delete" swapped="no"/>
+    <child internal-child="vbox">
+      <object class="GtkBox" id="dialog-vbox4">
+        <property name="can_focus">False</property>
+        <property name="orientation">vertical</property>
+        <property name="spacing">2</property>
+        <child internal-child="action_area">
+          <object class="GtkButtonBox" id="dialog-action_area4">
+            <property name="can_focus">False</property>
+            <property name="layout_style">end</property>
+            <child>
+              <object class="GtkButton" id="button4">
+                <property name="label">gtk-cancel</property>
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="receives_default">False</property>
+                <property name="use_stock">True</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">True</property>
+                <property name="position">0</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkButton" id="button2">
+                <property name="label">gtk-ok</property>
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="can_default">True</property>
+                <property name="has_default">True</property>
+                <property name="receives_default">True</property>
+                <property name="use_stock">True</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">True</property>
+                <property name="position">1</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">True</property>
+            <property name="pack_type">end</property>
+            <property name="position">0</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkBox" id="box1">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="border_width">10</property>
+            <property name="orientation">vertical</property>
+            <property name="spacing">5</property>
+            <child>
+              <object class="GtkLabel" id="label1">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="xalign">0</property>
+                <property name="label" translatable="yes">_Annotation label:</property>
+                <property name="use_underline">True</property>
+                <property name="mnemonic_widget">eSFAnnotationLabel</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">True</property>
+                <property name="position">0</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkEntry" id="eSFAnnotationLabel">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="has_focus">True</property>
+                <property name="max_length">120</property>
+                <property name="invisible_char">•</property>
+                <property name="activates_default">True</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">True</property>
+                <property name="position">1</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">True</property>
+            <property name="position">1</property>
+          </packing>
+        </child>
+      </object>
+    </child>
+    <action-widgets>
+      <action-widget response="-6">button4</action-widget>
+      <action-widget response="-5">button2</action-widget>
+    </action-widgets>
+  </object>
+  <object class="GtkDialog" id="wSFAnnotationSelector">
+    <property name="can_focus">False</property>
+    <property name="border_width">5</property>
+    <property name="window_position">mouse</property>
+    <property name="type_hint">dialog</property>
+    <signal name="close" handler="gtk_widget_hide_on_delete" swapped="no"/>
+    <signal name="response" handler="gtk_widget_hide_on_delete" swapped="no"/>
+    <child internal-child="vbox">
+      <object class="GtkBox" id="dialog-vbox7">
+        <property name="can_focus">False</property>
+        <property name="orientation">vertical</property>
+        <property name="spacing">2</property>
+        <child internal-child="action_area">
+          <object class="GtkButtonBox" id="dialog-action_area7">
+            <property name="can_focus">False</property>
+            <property name="layout_style">end</property>
+            <child>
+              <object class="GtkButton" id="button5">
+                <property name="label">gtk-cancel</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="receives_default">True</property>
+                <property name="use_stock">True</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">True</property>
+                <property name="position">0</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkButton" id="button6">
+                <property name="label">gtk-ok</property>
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="can_default">True</property>
+                <property name="has_default">True</property>
+                <property name="receives_default">True</property>
+                <property name="use_stock">True</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">True</property>
+                <property name="position">1</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">True</property>
+            <property name="pack_type">end</property>
+            <property name="position">0</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkBox" id="box2">
+            <property name="visible">True</property>
+            <property name="can_focus">False</property>
+            <property name="border_width">10</property>
+            <property name="orientation">vertical</property>
+            <property name="spacing">5</property>
+            <child>
+              <object class="GtkLabel" id="label2">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+                <property name="xalign">0.0099999997764825821</property>
+                <property name="label" translatable="yes">_Select annotation:</property>
+                <property name="use_underline">True</property>
+                <property name="mnemonic_widget">eSFAnnotationLabel</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">True</property>
+                <property name="position">0</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkComboBox" id="eSFAnnotationSelectorWhich">
+                <property name="visible">True</property>
+                <property name="can_focus">False</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">True</property>
+                <property name="position">1</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">True</property>
+            <property name="position">1</property>
+          </packing>
+        </child>
+      </object>
+    </child>
+    <action-widgets>
+      <action-widget response="-6">button5</action-widget>
+      <action-widget response="-5">button6</action-widget>
+    </action-widgets>
+  </object>
+  <object class="GtkDialog" id="wSFFilters">
+    <property name="can_focus">False</property>
+    <property name="border_width">10</property>
+    <property name="title" translatable="yes">High- and Low-pass filters</property>
+    <property name="modal">True</property>
+    <property name="window_position">mouse</property>
+    <property name="destroy_with_parent">True</property>
+    <property name="type_hint">dialog</property>
+    <property name="transient_for">wSF</property>
     <signal name="close" handler="gtk_widget_hide_on_delete" swapped="no"/>
     <signal name="response" handler="gtk_widget_hide_on_delete" swapped="no"/>
     <child internal-child="vbox">
@@ -2548,7 +2537,7 @@ skew:	𝑔(𝑢) = 𝑢2</property>
             <property name="can_focus">False</property>
             <property name="layout_style">end</property>
             <child>
-              <object class="GtkButton" id="bFilterCancel">
+              <object class="GtkButton" id="bSFFilterCancel">
                 <property name="label">gtk-cancel</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
@@ -2562,7 +2551,7 @@ skew:	𝑔(𝑢) = 𝑢2</property>
               </packing>
             </child>
             <child>
-              <object class="GtkButton" id="bFilterOK">
+              <object class="GtkButton" id="bSFFilterOK">
                 <property name="label">gtk-ok</property>
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
@@ -2601,7 +2590,7 @@ skew:	𝑔(𝑢) = 𝑢2</property>
               <placeholder/>
             </child>
             <child>
-              <object class="GtkSpinButton" id="eFilterLowPassCutoff">
+              <object class="GtkSpinButton" id="eSFFilterLowPassCutoff">
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
@@ -2613,7 +2602,7 @@ skew:	𝑔(𝑢) = 𝑢2</property>
                 <property name="invisible_char_set">True</property>
                 <property name="primary_icon_activatable">False</property>
                 <property name="secondary_icon_activatable">False</property>
-                <property name="adjustment">jLowPassCutoff</property>
+                <property name="adjustment">jSFFilterLowPassCutoff</property>
                 <property name="digits">2</property>
                 <property name="numeric">True</property>
               </object>
@@ -2627,7 +2616,7 @@ skew:	𝑔(𝑢) = 𝑢2</property>
               </packing>
             </child>
             <child>
-              <object class="GtkSpinButton" id="eFilterHighPassCutoff">
+              <object class="GtkSpinButton" id="eSFFilterHighPassCutoff">
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
@@ -2640,7 +2629,7 @@ skew:	𝑔(𝑢) = 𝑢2</property>
                 <property name="invisible_char_set">True</property>
                 <property name="primary_icon_activatable">False</property>
                 <property name="secondary_icon_activatable">False</property>
-                <property name="adjustment">jHighPassCutoff</property>
+                <property name="adjustment">jSFFilterHighPassCutoff</property>
                 <property name="digits">2</property>
                 <property name="numeric">True</property>
               </object>
@@ -2735,7 +2724,7 @@ skew:	𝑔(𝑢) = 𝑢2</property>
               </packing>
             </child>
             <child>
-              <object class="GtkSpinButton" id="eFilterLowPassOrder">
+              <object class="GtkSpinButton" id="eSFFilterLowPassOrder">
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
@@ -2747,7 +2736,7 @@ skew:	𝑔(𝑢) = 𝑢2</property>
                 <property name="invisible_char_set">True</property>
                 <property name="primary_icon_activatable">False</property>
                 <property name="secondary_icon_activatable">False</property>
-                <property name="adjustment">jLowPassOrder</property>
+                <property name="adjustment">jSFFilterLowPassOrder</property>
                 <property name="snap_to_ticks">True</property>
                 <property name="numeric">True</property>
               </object>
@@ -2778,7 +2767,7 @@ skew:	𝑔(𝑢) = 𝑢2</property>
               </packing>
             </child>
             <child>
-              <object class="GtkSpinButton" id="eFilterHighPassOrder">
+              <object class="GtkSpinButton" id="eSFFilterHighPassOrder">
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
                 <property name="can_default">True</property>
@@ -2791,7 +2780,7 @@ skew:	𝑔(𝑢) = 𝑢2</property>
                 <property name="invisible_char_set">True</property>
                 <property name="primary_icon_activatable">False</property>
                 <property name="secondary_icon_activatable">False</property>
-                <property name="adjustment">jHighPassOrder</property>
+                <property name="adjustment">jSFFilterHighPassOrder</property>
                 <property name="snap_to_ticks">True</property>
                 <property name="numeric">True</property>
               </object>
@@ -2805,7 +2794,7 @@ skew:	𝑔(𝑢) = 𝑢2</property>
               </packing>
             </child>
             <child>
-              <object class="GtkLabel" id="lFilterCaption">
+              <object class="GtkLabel" id="lSFFilterCaption">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <property name="xalign">0</property>
@@ -2831,11 +2820,11 @@ skew:	𝑔(𝑢) = 𝑢2</property>
               </packing>
             </child>
             <child>
-              <object class="GtkComboBox" id="eFilterNotchFilter">
+              <object class="GtkComboBox" id="eSFFilterNotchFilter">
                 <property name="visible">True</property>
                 <property name="can_focus">False</property>
                 <property name="valign">center</property>
-                <property name="model">mFilterNotchFilter</property>
+                <property name="model">mSFFilterNotchFilter</property>
               </object>
               <packing>
                 <property name="left_attach">1</property>
@@ -2880,8 +2869,8 @@ skew:	𝑔(𝑢) = 𝑢2</property>
       </object>
     </child>
     <action-widgets>
-      <action-widget response="-6">bFilterCancel</action-widget>
-      <action-widget response="-5">bFilterOK</action-widget>
+      <action-widget response="-6">bSFFilterCancel</action-widget>
+      <action-widget response="-5">bSFFilterOK</action-widget>
     </action-widgets>
   </object>
   <object class="GtkDialog" id="wSFICAMatrix">
@@ -2896,7 +2885,7 @@ skew:	𝑔(𝑢) = 𝑢2</property>
     <property name="skip_pager_hint">True</property>
     <property name="decorated">False</property>
     <property name="gravity">north-east</property>
-    <property name="transient_for">wScoringFacility</property>
+    <property name="transient_for">wSF</property>
     <signal name="close" handler="gtk_widget_hide_on_delete" swapped="no"/>
     <signal name="response" handler="gtk_widget_hide_on_delete" swapped="no"/>
     <child internal-child="vbox">
@@ -2995,232 +2984,6 @@ skew:	𝑔(𝑢) = 𝑢2</property>
       <action-widget response="-1">button7</action-widget>
     </action-widgets>
   </object>
-  <object class="GtkWindow" id="wSFPD">
-    <property name="can_focus">False</property>
-    <property name="border_width">10</property>
-    <property name="title" translatable="yes">Inter-channel lag</property>
-    <property name="window_position">center-on-parent</property>
-    <signal name="delete-event" handler="gtk_widget_hide_on_delete" swapped="no"/>
-    <child>
-      <object class="GtkTable" id="table28">
-        <property name="visible">True</property>
-        <property name="can_focus">False</property>
-        <child>
-          <object class="GtkVBox" id="vbox10">
-            <property name="visible">True</property>
-            <property name="can_focus">False</property>
-            <child>
-              <object class="GtkHBox" id="hbox8">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="border_width">5</property>
-                <child>
-                  <object class="GtkLabel" id="label196">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="xalign">1</property>
-                    <property name="xpad">5</property>
-                    <property name="label" translatable="yes">Between channels</property>
-                  </object>
-                  <packing>
-                    <property name="expand">False</property>
-                    <property name="fill">True</property>
-                    <property name="position">0</property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkComboBox" id="eSFPDChannelA">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                  </object>
-                  <packing>
-                    <property name="expand">False</property>
-                    <property name="fill">True</property>
-                    <property name="position">1</property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkLabel" id="label197">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="xpad">5</property>
-                    <property name="label" translatable="yes">and</property>
-                  </object>
-                  <packing>
-                    <property name="expand">False</property>
-                    <property name="fill">True</property>
-                    <property name="position">2</property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkComboBox" id="eSFPDChannelB">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                  </object>
-                  <packing>
-                    <property name="expand">False</property>
-                    <property name="fill">True</property>
-                    <property name="position">3</property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkLabel" id="label198">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="xalign">1</property>
-                    <property name="xpad">5</property>
-                    <property name="label" translatable="yes"> in range from</property>
-                  </object>
-                  <packing>
-                    <property name="expand">False</property>
-                    <property name="fill">True</property>
-                    <property name="position">4</property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkSpinButton" id="eSFPDFreqFrom">
-                    <property name="visible">True</property>
-                    <property name="can_focus">True</property>
-                    <property name="has_frame">False</property>
-                    <property name="invisible_char">•</property>
-                    <property name="activates_default">True</property>
-                    <property name="xalign">1</property>
-                    <property name="overwrite_mode">True</property>
-                    <property name="invisible_char_set">True</property>
-                    <property name="primary_icon_activatable">False</property>
-                    <property name="secondary_icon_activatable">False</property>
-                    <property name="adjustment">jPhaseDiffFrom</property>
-                    <property name="digits">2</property>
-                    <property name="numeric">True</property>
-                  </object>
-                  <packing>
-                    <property name="expand">False</property>
-                    <property name="fill">True</property>
-                    <property name="position">5</property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkLabel" id="label199">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="xpad">3</property>
-                    <property name="label" translatable="yes">, </property>
-                  </object>
-                  <packing>
-                    <property name="expand">False</property>
-                    <property name="fill">True</property>
-                    <property name="position">6</property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkSpinButton" id="eSFPDBandwidth">
-                    <property name="visible">True</property>
-                    <property name="can_focus">True</property>
-                    <property name="has_frame">False</property>
-                    <property name="invisible_char">•</property>
-                    <property name="activates_default">True</property>
-                    <property name="xalign">1</property>
-                    <property name="overwrite_mode">True</property>
-                    <property name="invisible_char_set">True</property>
-                    <property name="primary_icon_activatable">False</property>
-                    <property name="secondary_icon_activatable">False</property>
-                    <property name="adjustment">jPhaseDiffBandwidth</property>
-                    <property name="digits">2</property>
-                    <property name="numeric">True</property>
-                  </object>
-                  <packing>
-                    <property name="expand">False</property>
-                    <property name="fill">True</property>
-                    <property name="position">7</property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkLabel" id="label200">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="xalign">0</property>
-                    <property name="xpad">5</property>
-                    <property name="label" translatable="yes">Hz wide</property>
-                  </object>
-                  <packing>
-                    <property name="expand">True</property>
-                    <property name="fill">True</property>
-                    <property name="position">8</property>
-                  </packing>
-                </child>
-                <child>
-                  <object class="GtkLabel" id="label201">
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                  </object>
-                  <packing>
-                    <property name="expand">True</property>
-                    <property name="fill">True</property>
-                    <property name="position">9</property>
-                  </packing>
-                </child>
-                <child>
-                  <placeholder/>
-                </child>
-                <child>
-                  <object class="GtkScaleButton" id="eSFPDSmooth">
-                    <property name="visible">True</property>
-                    <property name="can_focus">True</property>
-                    <property name="receives_default">True</property>
-                    <property name="relief">none</property>
-                    <property name="focus_on_click">False</property>
-                    <property name="adjustment">jSFPDSmooth</property>
-                  </object>
-                  <packing>
-                    <property name="expand">False</property>
-                    <property name="fill">True</property>
-                    <property name="position">11</property>
-                  </packing>
-                </child>
-              </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">True</property>
-                <property name="position">0</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkSeparator" id="separator17">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-              </object>
-              <packing>
-                <property name="expand">False</property>
-                <property name="fill">True</property>
-                <property name="position">1</property>
-              </packing>
-            </child>
-            <child>
-              <object class="GtkViewport" id="viewport4">
-                <property name="visible">True</property>
-                <property name="can_focus">False</property>
-                <property name="resize_mode">queue</property>
-                <child>
-                  <object class="GtkDrawingArea" id="daSFPD">
-                    <property name="width_request">600</property>
-                    <property name="height_request">120</property>
-                    <property name="visible">True</property>
-                    <property name="can_focus">False</property>
-                    <property name="events">GDK_STRUCTURE_MASK | GDK_SCROLL_MASK</property>
-                  </object>
-                </child>
-              </object>
-              <packing>
-                <property name="expand">True</property>
-                <property name="fill">True</property>
-                <property name="position">2</property>
-              </packing>
-            </child>
-          </object>
-        </child>
-      </object>
-    </child>
-  </object>
   <object class="GtkSizeGroup" id="sizegroup1">
     <widgets>
       <widget name="cSFICAModeContainer"/>
diff --git a/data/session-chooser.glade b/data/sm.glade
similarity index 100%
rename from data/session-chooser.glade
rename to data/sm.glade
diff --git a/src/ui/mw/mw-construct.cc b/src/ui/mw/mw-construct.cc
index 6b5326d..aed0ca9 100644
--- a/src/ui/mw/mw-construct.cc
+++ b/src/ui/mw/mw-construct.cc
@@ -25,8 +25,8 @@ SExpDesignUIWidgets ()
 {
       // load glade
 	builder = gtk_builder_new();
-	if ( !gtk_builder_add_from_resource( builder, "/org/gtk/aghermann/main.glade", NULL) ||
-	     !gtk_builder_add_from_resource( builder, "/org/gtk/aghermann/dialogs.glade", NULL) )
+	if ( !gtk_builder_add_from_resource( builder, "/org/gtk/aghermann/mw.glade", NULL) ||
+	     !gtk_builder_add_from_resource( builder, "/org/gtk/aghermann/mw-dialogs.glade", NULL) )
 		throw runtime_error ("Failed to load main resources");
 
 	gtk_builder_connect_signals( builder, NULL);
diff --git a/src/ui/mw/mw-mainmenu_cb.cc b/src/ui/mw/mw-mainmenu_cb.cc
index aa0a689..73793ca 100644
--- a/src/ui/mw/mw-mainmenu_cb.cc
+++ b/src/ui/mw/mw-mainmenu_cb.cc
@@ -71,7 +71,7 @@ tvGlobalAnnotations_row_activated_cb( GtkTreeView* tree_view,
 		}
 	if ( found ) {
 		auto pages = ann->page_span( found->vpagesize());
-		gtk_widget_show( (GtkWidget*)found->wScoringFacility);
+		gtk_widget_show( (GtkWidget*)found->wSF);
 		found->set_cur_vpage( pages.a, true);
 	} else {
 		ED.using_subject = ED.subject_presentation_by_csubject( ann->csubject);
@@ -219,7 +219,7 @@ iExpGloballyDetectArtifacts_activate_cb( GtkMenuItem*, gpointer userdata)
 
 	forward_list<aghui::SBusyBlock*> bbl;
 	for ( auto& SFp : ED.open_scoring_facilities )
-		bbl.push_front( new aghui::SBusyBlock (SFp->wScoringFacility));
+		bbl.push_front( new aghui::SBusyBlock (SFp->wSF));
 
 	ED.ED -> for_all_recordings( F, G, filter);
 
@@ -267,7 +267,7 @@ iExpGloballySetFilters_activate_cb( GtkMenuItem*, gpointer userdata)
 	     gtk_dialog_run( ED.wGlobalFilters) ) {
 		forward_list<aghui::SBusyBlock*> bbl;
 		for ( auto& SFp : ED.open_scoring_facilities )
-			bbl.push_front( new aghui::SBusyBlock (SFp->wScoringFacility));
+			bbl.push_front( new aghui::SBusyBlock (SFp->wSF));
 		W_V.down();
 		for ( auto &G : ED.ED->groups )
 			for ( auto &J : G.second )
diff --git a/src/ui/sf/sf-construct.cc b/src/ui/sf/sf-construct.cc
index b0f8a18..ed4499d 100644
--- a/src/ui/sf/sf-construct.cc
+++ b/src/ui/sf/sf-construct.cc
@@ -26,7 +26,8 @@ SScoringFacilityWidgets (SExpDesignUI& _p)
 	builder = gtk_builder_new();
 	if ( !gtk_builder_add_from_resource( builder, "/org/gtk/aghermann/sf.glade", NULL) ||
 	     !gtk_builder_add_from_resource( builder, "/org/gtk/aghermann/sf-artifacts.glade", NULL) ||
-	     !gtk_builder_add_from_resource( builder, "/org/gtk/aghermann/sf-patterns.glade", NULL)) {
+	     !gtk_builder_add_from_resource( builder, "/org/gtk/aghermann/sf-patterns.glade", NULL) ||
+	     !gtk_builder_add_from_resource( builder, "/org/gtk/aghermann/sf-phasediff.glade", NULL)) {
 		g_object_unref( (GObject*)builder);
 		throw runtime_error( "Failed to load SF glade resource");
 	}
@@ -34,37 +35,37 @@ SScoringFacilityWidgets (SExpDesignUI& _p)
 	//  we do it all mostly ourself, except for some delete-event binding to gtk_true()
 
 	// general & montage page navigation
-	if ( !(AGH_GBGETOBJ (GtkWindow,		wScoringFacility)) ||
-	     !(AGH_GBGETOBJ (GtkLabel,		lSFHint)) ||
-	     !(AGH_GBGETOBJ (GtkListStore,	mScoringPageSize) ) ||
-	     !(AGH_GBGETOBJ (GtkComboBox,	eSFPageSize)) ||
-	     !(AGH_GBGETOBJ (GtkSpinButton,	eSFCurrentPage)) ||
-	     !(AGH_GBGETOBJ (GtkAdjustment,	jPageNo)) ||
-	     !(AGH_GBGETOBJ (GtkLabel,		lSFTotalPages)) ||
-	     !(AGH_GBGETOBJ (GtkButton,		eSFCurrentPos)) ||
-
-	     !(AGH_GBGETOBJ (GtkExpander,	cSFHypnogram)) ||
-	     !(AGH_GBGETOBJ (GtkHBox,		cSFControlBar)) ||
-	     !(AGH_GBGETOBJ (GtkBox,		cSFScoringModeContainer)) ||
-	     !(AGH_GBGETOBJ (GtkBox,		cSFICAModeContainer)) ||
-
-	     !(AGH_GBGETOBJ (GtkButton,		bSFBack)) ||
-	     !(AGH_GBGETOBJ (GtkButton,		bSFForward)) ||
-	     !(AGH_GBGETOBJ (GtkButton,		bScoreGotoPrevUnscored)) ||
-	     !(AGH_GBGETOBJ (GtkButton,		bScoreGotoNextUnscored)) ||
-	     !(AGH_GBGETOBJ (GtkButton,		bScoreGotoPrevArtifact)) ||
-	     !(AGH_GBGETOBJ (GtkButton,		bScoreGotoNextArtifact)) ||
-
-	     !(AGH_GBGETOBJ (GtkToggleButton,	bSFShowFindDialog)) ||
-	     !(AGH_GBGETOBJ (GtkToggleButton,	bSFShowPhaseDiffDialog)) ||
-	     !(AGH_GBGETOBJ (GtkToggleButton,	bSFDrawCrosshair)) ||
-	     !(AGH_GBGETOBJ (GtkButton,		bSFRunICA)) )
-		throw runtime_error ("Failed to construct SF widgets");
-
-	G_CONNECT_2 (wScoringFacility, delete, event);
+	if ( !AGH_GBGETOBJ (GtkWindow,		wSF) ||
+	     !AGH_GBGETOBJ (GtkLabel,		lSFHint) ||
+	     !AGH_GBGETOBJ (GtkListStore,	mSFScoringPageSize) ||
+	     !AGH_GBGETOBJ (GtkComboBox,	eSFPageSize) ||
+	     !AGH_GBGETOBJ (GtkSpinButton,	eSFCurrentPage) ||
+	     !AGH_GBGETOBJ (GtkAdjustment,	jSFPageNo) ||
+	     !AGH_GBGETOBJ (GtkLabel,		lSFTotalPages) ||
+	     !AGH_GBGETOBJ (GtkButton,		eSFCurrentPos) ||
+	     !AGH_GBGETOBJ (GtkExpander,	cSFHypnogram) ||
+	     !AGH_GBGETOBJ (GtkHBox,		cSFControlBar) ||
+	     !AGH_GBGETOBJ (GtkBox,		cSFScoringModeContainer) ||
+	     !AGH_GBGETOBJ (GtkBox,		cSFICAModeContainer) )
+		throw runtime_error ("Failed to construct SF widgets (0)");
+
+	if ( !AGH_GBGETOBJ (GtkButton,		bSFBack) ||
+	     !AGH_GBGETOBJ (GtkButton,		bSFForward) ||
+	     !AGH_GBGETOBJ (GtkButton,		bSFGotoPrevUnscored) ||
+	     !AGH_GBGETOBJ (GtkButton,		bSFGotoNextUnscored) ||
+	     !AGH_GBGETOBJ (GtkButton,		bSFGotoPrevArtifact) ||
+	     !AGH_GBGETOBJ (GtkButton,		bSFGotoNextArtifact) ||
+
+	     !AGH_GBGETOBJ (GtkToggleButton,	bSFShowFindDialog) ||
+	     !AGH_GBGETOBJ (GtkToggleButton,	bSFShowPhaseDiffDialog) ||
+	     !AGH_GBGETOBJ (GtkToggleButton,	bSFDrawCrosshair) ||
+	     !AGH_GBGETOBJ (GtkButton,		bSFRunICA) )
+		throw runtime_error ("Failed to construct SF widgets (1)");
+
+	G_CONNECT_2 (wSF, delete, event);
 
 	gtk_combo_box_set_model_properly(
-		eSFPageSize, mScoringPageSize);
+		eSFPageSize, mSFScoringPageSize);
 
 	G_CONNECT_1 (eSFPageSize, changed);
 	G_CONNECT_2 (eSFCurrentPage, value, changed);
@@ -74,38 +75,37 @@ SScoringFacilityWidgets (SExpDesignUI& _p)
 	G_CONNECT_1 (bSFForward, clicked);
 	G_CONNECT_1 (bSFBack, clicked);
 
-	G_CONNECT_1 (bScoreGotoNextUnscored, clicked);
-	G_CONNECT_1 (bScoreGotoPrevUnscored, clicked);
-
-	G_CONNECT_1 (bScoreGotoNextArtifact, clicked);
-	G_CONNECT_1 (bScoreGotoPrevArtifact, clicked);
+	G_CONNECT_1 (bSFGotoNextUnscored, clicked);
+	G_CONNECT_1 (bSFGotoPrevUnscored, clicked);
+	G_CONNECT_1 (bSFGotoNextArtifact, clicked);
+	G_CONNECT_1 (bSFGotoPrevArtifact, clicked);
 
 	G_CONNECT_1 (bSFDrawCrosshair, toggled);
 	G_CONNECT_1 (bSFShowFindDialog, toggled);
 	G_CONNECT_1 (bSFShowPhaseDiffDialog, toggled);
 	G_CONNECT_1 (bSFRunICA, clicked);
 
-	if ( !(AGH_GBGETOBJ (GtkButton,		bScoreClear)) ||
-	     !(AGH_GBGETOBJ (GtkButton,		bScoreNREM1)) ||
-	     !(AGH_GBGETOBJ (GtkButton,		bScoreNREM2)) ||
-	     !(AGH_GBGETOBJ (GtkButton,		bScoreNREM3)) ||
-	     !(AGH_GBGETOBJ (GtkButton,		bScoreNREM4)) ||
-	     !(AGH_GBGETOBJ (GtkButton,		bScoreREM))   ||
-	     !(AGH_GBGETOBJ (GtkButton,		bScoreWake))  ||
+	if ( !(AGH_GBGETOBJ (GtkButton,		bSFScoreClear)) ||
+	     !(AGH_GBGETOBJ (GtkButton,		bSFScoreNREM1)) ||
+	     !(AGH_GBGETOBJ (GtkButton,		bSFScoreNREM2)) ||
+	     !(AGH_GBGETOBJ (GtkButton,		bSFScoreNREM3)) ||
+	     !(AGH_GBGETOBJ (GtkButton,		bSFScoreNREM4)) ||
+	     !(AGH_GBGETOBJ (GtkButton,		bSFScoreREM))   ||
+	     !(AGH_GBGETOBJ (GtkButton,		bSFScoreWake))  ||
 	     !(AGH_GBGETOBJ (GtkTable,		cSFSleepStageStats)) ||
 	     !(AGH_GBGETOBJ (GtkLabel,		lSFPercentScored)) ||
 	     !(AGH_GBGETOBJ (GtkLabel,		lScoreStatsNREMPercent)) ||
 	     !(AGH_GBGETOBJ (GtkLabel,		lScoreStatsREMPercent)) ||
 	     !(AGH_GBGETOBJ (GtkLabel,		lScoreStatsWakePercent)) )
-		throw runtime_error ("Failed to construct SF widgets");
+		throw runtime_error ("Failed to construct SF widgets (2)");
 
-	G_CONNECT_1 (bScoreClear, clicked);
-	G_CONNECT_1 (bScoreNREM1, clicked);
-	G_CONNECT_1 (bScoreNREM2, clicked);
-	G_CONNECT_1 (bScoreNREM3, clicked);
-	G_CONNECT_1 (bScoreNREM4, clicked);
-	G_CONNECT_1 (bScoreREM, clicked);
-	G_CONNECT_1 (bScoreWake, clicked);
+	G_CONNECT_1 (bSFScoreClear, clicked);
+	G_CONNECT_1 (bSFScoreNREM1, clicked);
+	G_CONNECT_1 (bSFScoreNREM2, clicked);
+	G_CONNECT_1 (bSFScoreNREM3, clicked);
+	G_CONNECT_1 (bSFScoreNREM4, clicked);
+	G_CONNECT_1 (bSFScoreREM, clicked);
+	G_CONNECT_1 (bSFScoreWake, clicked);
 
 	if ( !(AGH_GBGETOBJ (GtkDrawingArea,	daSFMontage)) ||
 	     !(AGH_GBGETOBJ (GtkDrawingArea,	daSFHypnogram)) ||
@@ -113,7 +113,7 @@ SScoringFacilityWidgets (SExpDesignUI& _p)
 	     !(AGH_GBGETOBJ (GtkMenu,		iiSFAccept)) ||
 	     !(AGH_GBGETOBJ (GtkMenuItem,	iSFAcceptAndTakeNext)) ||
 	     !(AGH_GBGETOBJ (GtkStatusbar,	sbSF)) )
-		throw runtime_error ("Failed to construct SF widgets");
+		throw runtime_error ("Failed to construct SF widgets (3)");
 
 	sbSFContextIdGeneral = gtk_statusbar_get_context_id( sbSF, "General context");
 
@@ -163,7 +163,7 @@ SScoringFacilityWidgets (SExpDesignUI& _p)
 	     !(AGH_GBGETOBJ (GtkButton,		bSFICACancel)) ||
 	     !(AGH_GBGETOBJ (GtkDialog,		wSFICAMatrix)) ||
 	     !(AGH_GBGETOBJ (GtkTextView,	tSFICAMatrix)) )
-		throw runtime_error ("Failed to construct SF widgets");
+		throw runtime_error ("Failed to construct SF widgets (4)");
 
 	gtk_combo_box_set_model_properly( eSFICANonlinearity, mSFICANonlinearity);
 	gtk_combo_box_set_model_properly( eSFICAApproach, mSFICAApproach);
@@ -257,7 +257,7 @@ SScoringFacilityWidgets (SExpDesignUI& _p)
 	     !(AGH_GBGETOBJ (GtkMenuItem,		iSFScoreImport)) ||
 	     !(AGH_GBGETOBJ (GtkMenuItem,		iSFScoreExport)) ||
 	     !(AGH_GBGETOBJ (GtkMenuItem,		iSFScoreClear)) )
-		throw runtime_error ("Failed to construct SF widgets");
+		throw runtime_error ("Failed to construct SF widgets (5)");
 
 	gtk_menu_item_set_submenu( iSFPageHidden, (GtkWidget*)iiSFPageHidden);
 
@@ -312,14 +312,14 @@ SScoringFacilityWidgets (SExpDesignUI& _p)
 
       // petty dialogs
 	// annotations
-	if ( !(AGH_GBGETOBJ (GtkDialog,			wAnnotationLabel)) ||
-	     !(AGH_GBGETOBJ (GtkEntry,			eAnnotationLabel)) ||
-	     !(AGH_GBGETOBJ (GtkDialog,			wAnnotationSelector)) ||
-	     !(AGH_GBGETOBJ (GtkComboBox,		eAnnotationSelectorWhich)) )
-		throw runtime_error ("Failed to construct SF widgets");
+	if ( !(AGH_GBGETOBJ (GtkDialog,			wSFAnnotationLabel)) ||
+	     !(AGH_GBGETOBJ (GtkEntry,			eSFAnnotationLabel)) ||
+	     !(AGH_GBGETOBJ (GtkDialog,			wSFAnnotationSelector)) ||
+	     !(AGH_GBGETOBJ (GtkComboBox,		eSFAnnotationSelectorWhich)) )
+		throw runtime_error ("Failed to construct SF widgets (6)");
 
-	mAnnotationsAtCursor = gtk_list_store_new(1, G_TYPE_STRING);
-	gtk_combo_box_set_model_properly( eAnnotationSelectorWhich, mAnnotationsAtCursor);
+	mSFAnnotationsAtCursor = gtk_list_store_new(1, G_TYPE_STRING);
+	gtk_combo_box_set_model_properly( eSFAnnotationSelectorWhich, mSFAnnotationsAtCursor);
 
 	// artifact detection
 	if ( !(AGH_GBGETOBJ (GtkDialog,			wSFAD)) ||
@@ -352,7 +352,7 @@ SScoringFacilityWidgets (SExpDesignUI& _p)
 	     !(AGH_GBGETOBJ (GtkButton,			bSFADCancel)) ||
 	     !(AGH_GBGETOBJ (GtkDialog,			wSFADSaveProfileName)) ||
 	     !(AGH_GBGETOBJ (GtkEntry,			eSFADSaveProfileNameName)) )
-		throw runtime_error ("Failed to construct SF widgets");
+		throw runtime_error ("Failed to construct SF widgets (7)");
 
 	mSFADProfiles = gtk_list_store_new( 1, G_TYPE_STRING);
 	// this GtkListStore is populated from the same source, but something
@@ -375,7 +375,7 @@ SScoringFacilityWidgets (SExpDesignUI& _p)
 	if ( !AGH_GBGETOBJ (GtkDialog,		wSFSimpleArtifactDetectionParams) ||
 	     !AGH_GBGETOBJ (GtkSpinButton,	eSFSimpleArtifactDetectionMinFlatRegionSize) ||
 	     !AGH_GBGETOBJ (GtkSpinButton,	eSFSimpleArtifactDetectionPad) )
-		throw runtime_error ("Failed to construct SF widgets");
+		throw runtime_error ("Failed to construct SF widgets (8)");
 
 
       // find/manage patterns
@@ -419,7 +419,7 @@ SScoringFacilityWidgets (SExpDesignUI& _p)
 	     !AGH_GBGETOBJ (GtkToggleButton,	eSFFDPatternSaveOriginSubject) ||
 	     !AGH_GBGETOBJ (GtkToggleButton,	eSFFDPatternSaveOriginExperiment) ||
 	     !AGH_GBGETOBJ (GtkToggleButton,	eSFFDPatternSaveOriginUser) )
-		throw runtime_error ("Failed to construct SF widgets");
+		throw runtime_error ("Failed to construct SF widgets (9)");
 
 	gtk_combo_box_set_model_properly( eSFFDPatternList, mSFFDPatterns);
 	eSFFDPatternList_changed_cb_handler_id =
@@ -459,27 +459,23 @@ SScoringFacilityWidgets (SExpDesignUI& _p)
 
 	// aghui::SScoringFacility::SFiltersDialog::
 
-      // ------- wFilter
-	if ( !AGH_GBGETOBJ (GtkDialog,		wFilters) ||
-	     !AGH_GBGETOBJ (GtkLabel,		lFilterCaption) ||
-	     !AGH_GBGETOBJ (GtkSpinButton,	eFilterLowPassCutoff) ||
-	     !AGH_GBGETOBJ (GtkSpinButton,	eFilterLowPassOrder) ||
-	     !AGH_GBGETOBJ (GtkSpinButton,	eFilterHighPassCutoff) ||
-	     !AGH_GBGETOBJ (GtkSpinButton,	eFilterHighPassOrder) ||
-	     !AGH_GBGETOBJ (GtkComboBox,	eFilterNotchFilter) ||
-	     !AGH_GBGETOBJ (GtkListStore,	mFilterNotchFilter) ||
-	     !AGH_GBGETOBJ (GtkButton,		bFilterOK) )
-		throw runtime_error ("Failed to construct SF widgets");
+      // ------- wSFFilter
+	if ( !AGH_GBGETOBJ (GtkDialog,		wSFFilters) ||
+	     !AGH_GBGETOBJ (GtkLabel,		lSFFilterCaption) ||
+	     !AGH_GBGETOBJ (GtkSpinButton,	eSFFilterLowPassCutoff) ||
+	     !AGH_GBGETOBJ (GtkSpinButton,	eSFFilterLowPassOrder) ||
+	     !AGH_GBGETOBJ (GtkSpinButton,	eSFFilterHighPassCutoff) ||
+	     !AGH_GBGETOBJ (GtkSpinButton,	eSFFilterHighPassOrder) ||
+	     !AGH_GBGETOBJ (GtkComboBox,	eSFFilterNotchFilter) ||
+	     !AGH_GBGETOBJ (GtkListStore,	mSFFilterNotchFilter) ||
+	     !AGH_GBGETOBJ (GtkButton,		bSFFilterOK) )
+		throw runtime_error ("Failed to construct SF widgets (10)");
 
 	gtk_combo_box_set_model_properly(
-		eFilterNotchFilter, mFilterNotchFilter); // can't reuse _p.mNotchFilter
+		eSFFilterNotchFilter, mSFFilterNotchFilter); // can't reuse _p.mNotchFilter
 
-	g_signal_connect( (GObject*)eFilterHighPassCutoff, "value-changed",
-			  (GCallback)eFilterHighPassCutoff_value_changed_cb,
-			  this);
-	g_signal_connect( (GObject*)eFilterLowPassCutoff, "value-changed",
-			  (GCallback)eFilterLowPassCutoff_value_changed_cb,
-			  this);
+	G_CONNECT_2 (eSFFilterHighPassCutoff, value, changed);
+	G_CONNECT_2 (eSFFilterLowPassCutoff, value, changed);
 
       // ------- wPhaseDiff
 	if ( !(AGH_GBGETOBJ (GtkDialog,		wSFPD)) ||
@@ -489,24 +485,18 @@ SScoringFacilityWidgets (SExpDesignUI& _p)
 	     !(AGH_GBGETOBJ (GtkSpinButton,	eSFPDFreqFrom)) ||
 	     !(AGH_GBGETOBJ (GtkSpinButton,	eSFPDBandwidth)) ||
 	     !(AGH_GBGETOBJ (GtkScaleButton,	eSFPDSmooth)) )
-		throw runtime_error ("Failed to construct SF widgets");
+		throw runtime_error ("Failed to construct SF widgets (11)");
 
 	gtk_combo_box_set_model_properly(
 		eSFPDChannelA, _p.mEEGChannels);
 	eSFPDChannelA_changed_cb_handler_id =
-		g_signal_connect( eSFPDChannelA, "changed",
-				  G_CALLBACK (eSFPDChannelA_changed_cb),
-				  this);
+		G_CONNECT_1 (eSFPDChannelA, changed);
 
 	gtk_combo_box_set_model_properly( eSFPDChannelB, _p.mEEGChannels);
 	eSFPDChannelB_changed_cb_handler_id =
-		g_signal_connect( eSFPDChannelB, "changed",
-				  G_CALLBACK (eSFPDChannelB_changed_cb),
-				  this);
+		G_CONNECT_1 (eSFPDChannelB, changed);
 
-	g_signal_connect( daSFPD, "draw",
-			  G_CALLBACK (daSFPD_draw_cb),
-			  this);
+	G_CONNECT_1 (daSFPD, draw);
 	G_CONNECT_2 (daSFPD, scroll, event);
 	G_CONNECT_1 (eSFPDChannelA, changed);
 	G_CONNECT_1 (eSFPDChannelB, changed);
@@ -524,7 +514,7 @@ aghui::SScoringFacilityWidgets::
 ~SScoringFacilityWidgets ()
 {
 	// destroy toplevels
-	gtk_widget_destroy( (GtkWidget*)wScoringFacility);
+	gtk_widget_destroy( (GtkWidget*)wSF);
 	g_object_unref( (GObject*)builder);
 }
 
diff --git a/src/ui/sf/sf-filter.cc b/src/ui/sf/sf-filter.cc
index aeda277..6ebb684 100644
--- a/src/ui/sf/sf-filter.cc
+++ b/src/ui/sf/sf-filter.cc
@@ -18,7 +18,7 @@ using namespace std;
 aghui::SScoringFacility::SFiltersDialog::
 ~SFiltersDialog()
 {
-	gtk_widget_destroy( (GtkWidget*)_p.wFilters);
+	gtk_widget_destroy( (GtkWidget*)_p.wSFFilters);
 	// done in a swoop in ~SF
 }
 
diff --git a/src/ui/sf/sf-filter_cb.cc b/src/ui/sf/sf-filter_cb.cc
index 3e186de..6f0b553 100644
--- a/src/ui/sf/sf-filter_cb.cc
+++ b/src/ui/sf/sf-filter_cb.cc
@@ -28,18 +28,18 @@ iSFPageFilter_activate_cb( GtkMenuItem *menuitem, gpointer userdata)
 	auto& FD =  SF.filters_dialog;
 	auto& H  = *SF.using_channel;
 	aghui::SUIVarCollection WV;
-	WV.reg( FD._p.eFilterLowPassCutoff,  &H.filters.low_pass_cutoff);
-	WV.reg( FD._p.eFilterLowPassOrder,  (int*)&H.filters.low_pass_order);
-	WV.reg( FD._p.eFilterHighPassCutoff, &H.filters.high_pass_cutoff);
-	WV.reg( FD._p.eFilterHighPassOrder, (int*)&H.filters.high_pass_order);
-	WV.reg( FD._p.eFilterNotchFilter,   (int*)&H.filters.notch_filter);
+	WV.reg( FD._p.eSFFilterLowPassCutoff,  &H.filters.low_pass_cutoff);
+	WV.reg( FD._p.eSFFilterLowPassOrder,  (int*)&H.filters.low_pass_order);
+	WV.reg( FD._p.eSFFilterHighPassCutoff, &H.filters.high_pass_cutoff);
+	WV.reg( FD._p.eSFFilterHighPassOrder, (int*)&H.filters.high_pass_order);
+	WV.reg( FD._p.eSFFilterNotchFilter,   (int*)&H.filters.notch_filter);
 	WV.up();
 
 	snprintf_buf( "<big>Filters for channel <b>%s</b></big>", SF.using_channel->name);
-	gtk_label_set_markup( FD._p.lFilterCaption,
+	gtk_label_set_markup( FD._p.lSFFilterCaption,
 			      __buf__);
 
-	if ( gtk_dialog_run( FD._p.wFilters) == GTK_RESPONSE_OK ) {
+	if ( gtk_dialog_run( FD._p.wSFFilters) == GTK_RESPONSE_OK ) {
 		WV.down();
 		H.get_signal_filtered();
 
@@ -59,24 +59,20 @@ iSFPageFilter_activate_cb( GtkMenuItem *menuitem, gpointer userdata)
 
 
 void
-eFilterHighPassCutoff_value_changed_cb( GtkSpinButton *spinbutton,
-					gpointer       userdata)
+eSFFilterHighPassCutoff_value_changed_cb( GtkSpinButton *spinbutton, gpointer userdata)
 {
 	auto& SF = *(SScoringFacility*)userdata;
-	auto& FD = SF.filters_dialog;
-	double other_freq = gtk_spin_button_get_value( FD._p.eFilterLowPassCutoff);
-	gtk_widget_set_sensitive( (GtkWidget*)FD._p.bFilterOK,
+	double other_freq = gtk_spin_button_get_value( SF.eSFFilterLowPassCutoff);
+	gtk_widget_set_sensitive( (GtkWidget*)SF.bSFFilterOK,
 				  fdim( other_freq, 0.) < 1e-5 || gtk_spin_button_get_value( spinbutton) < other_freq);
 }
 
 void
-eFilterLowPassCutoff_value_changed_cb( GtkSpinButton *spinbutton,
-				       gpointer       userdata)
+eSFFilterLowPassCutoff_value_changed_cb( GtkSpinButton *spinbutton, gpointer userdata)
 {
 	auto& SF = *(SScoringFacility*)userdata;
-	auto& FD = SF.filters_dialog;
-	gdouble other_freq = gtk_spin_button_get_value( FD._p.eFilterHighPassCutoff);
-	gtk_widget_set_sensitive( (GtkWidget*)FD._p.bFilterOK,
+	gdouble other_freq = gtk_spin_button_get_value( SF.eSFFilterHighPassCutoff);
+	gtk_widget_set_sensitive( (GtkWidget*)SF.bSFFilterOK,
 				  fdim( other_freq, 0.) < 1e-5 || gtk_spin_button_get_value( spinbutton) > other_freq);
 }
 
diff --git a/src/ui/sf/sf-hypnogram_cb.cc b/src/ui/sf/sf-hypnogram_cb.cc
index 8435477..0233ca8 100644
--- a/src/ui/sf/sf-hypnogram_cb.cc
+++ b/src/ui/sf/sf-hypnogram_cb.cc
@@ -128,7 +128,7 @@ iSFScoreImport_activate_cb( GtkMenuItem *menuitem, gpointer userdata)
 		if ( c != our_pages && // allow for last page scored but discarded in CHypnogram as incomplete
 		     c != our_pages+1 )
 			pop_ok_message(
-				SF.wScoringFacility,
+				SF.wSF,
 				"Page count in current hypnogram (%zu,"
 				" even allowing for one incomplete extra) is not equal"
 				" to the number of lines in <i>%s</i> (%zu).\n\n"
diff --git a/src/ui/sf/sf-ica.cc b/src/ui/sf/sf-ica.cc
index 68530e9..462f602 100644
--- a/src/ui/sf/sf-ica.cc
+++ b/src/ui/sf/sf-ica.cc
@@ -41,7 +41,7 @@ setup_ica()
 				; // good
 			} else {
 				if ( GTK_RESPONSE_NO ==
-				     pop_question( wScoringFacility,
+				     pop_question( wSF,
 						   "It seems you have already run ICA on these channels\n"
 						   "(a backup file <i>\"%s.orig\"</i> exists, and\n"
 						   "will be overwritten if you proceed now)\n\n"
@@ -58,14 +58,14 @@ setup_ica()
 		size_t	this_sr = H.crecording.F().samplerate(H.h()),
 			this_ts = H.crecording.total_samples();
 		if ( checking_sr and this_sr != checking_sr ) {
-			pop_ok_message( wScoringFacility,
+			pop_ok_message( wSF,
 					"Variable sample rates not supported",
 					"Sorry, ICA cannot be performed on channels with different sample rates.");
 			return 1;
 		} else
 			checking_sr = this_sr;
 		if ( checking_total_samples != (size_t)-1 and checking_total_samples != this_ts ) {
-			pop_ok_message( wScoringFacility,
+			pop_ok_message( wSF,
 					"Unequal channel sizes",
 					"This is something that's never supposed to happen.");
 			return 1;
@@ -138,7 +138,7 @@ run_ica()
 	if ( ica == NULL )
 		return 1;
 
-	aghui::SBusyBlock bb (wScoringFacility);
+	aghui::SBusyBlock bb (wSF);
 
 	ica_components = itpp::mat (0, 0); // free up couple of hundred megs
 	ica->obj() . separate();
@@ -158,7 +158,7 @@ remix_ics()
 	if ( ica == nullptr )
 		return 1;
 
-	aghui::SBusyBlock bb (wScoringFacility);
+	aghui::SBusyBlock bb (wSF);
 
 	switch ( remix_mode ) {
 	case TICARemixMode::map:
diff --git a/src/ui/sf/sf-ica_cb.cc b/src/ui/sf/sf-ica_cb.cc
index 538a04f..bc04275 100644
--- a/src/ui/sf/sf-ica_cb.cc
+++ b/src/ui/sf/sf-ica_cb.cc
@@ -180,7 +180,7 @@ bSFICATry_clicked_cb( GtkButton *button, gpointer userdata)
 	SF.mode = aghui::SScoringFacility::TMode::separating; // strictly to have draw_montage display a banner
 
 	SF.queue_redraw_all();
-	aghui::SBusyBlock bb (SF.wScoringFacility);
+	aghui::SBusyBlock bb (SF.wSF);
 
 	SF.run_ica();
 
diff --git a/src/ui/sf/sf-montage.cc b/src/ui/sf/sf-montage.cc
index 132e506..3e3d0c9 100644
--- a/src/ui/sf/sf-montage.cc
+++ b/src/ui/sf/sf-montage.cc
@@ -73,20 +73,20 @@ aghui::SScoringFacility::
 interactively_choose_annotation() const
 {
 	// do some on-the-fly construcion
-	gtk_combo_box_set_model( eAnnotationSelectorWhich, NULL);
-	gtk_list_store_clear( mAnnotationsAtCursor);
+	gtk_combo_box_set_model( eSFAnnotationSelectorWhich, NULL);
+	gtk_list_store_clear( mSFAnnotationsAtCursor);
 	GtkTreeIter iter;
 	for ( auto &A : over_annotations ) {
-		gtk_list_store_append( mAnnotationsAtCursor, &iter);
-		gtk_list_store_set( mAnnotationsAtCursor, &iter,
+		gtk_list_store_append( mSFAnnotationsAtCursor, &iter);
+		gtk_list_store_set( mSFAnnotationsAtCursor, &iter,
 				    0, A->label.c_str(),
 				    -1);
 	}
-	gtk_combo_box_set_model( eAnnotationSelectorWhich, (GtkTreeModel*)mAnnotationsAtCursor);
+	gtk_combo_box_set_model( eSFAnnotationSelectorWhich, (GtkTreeModel*)mSFAnnotationsAtCursor);
 
 	if ( GTK_RESPONSE_OK ==
-	     gtk_dialog_run( wAnnotationSelector) ) {
-		const char *selected_label = gtk_combo_box_get_active_id( eAnnotationSelectorWhich);
+	     gtk_dialog_run( wSFAnnotationSelector) ) {
+		const char *selected_label = gtk_combo_box_get_active_id( eSFAnnotationSelectorWhich);
 		if ( selected_label == nullptr )
 			return nullptr;
 		for ( auto &A : over_annotations )
diff --git a/src/ui/sf/sf-montage_cb.cc b/src/ui/sf/sf-montage_cb.cc
index bbe3e09..0d97549 100644
--- a/src/ui/sf/sf-montage_cb.cc
+++ b/src/ui/sf/sf-montage_cb.cc
@@ -674,7 +674,7 @@ iSFPageArtifactsClear_activate_cb( GtkMenuItem *menuitem, gpointer userdata)
 {
 	auto& SF = *(SScoringFacility*)userdata;
 	if ( GTK_RESPONSE_YES != pop_question(
-		     SF.wScoringFacility,
+		     SF.wSF,
 		     "All marked artifacts will be lost in channel <b>%s</b>.\n\n"
 		     "Continue?",
 		     SF.using_channel->name) )
@@ -767,14 +767,14 @@ iSFPageAnnotationDelete_activate_cb( GtkMenuItem *menuitem, gpointer userdata)
 	auto& SF = *(SScoringFacility*)userdata;
 	if ( SF.over_annotations.size() == 1 ) {
 		if ( GTK_RESPONSE_YES
-		     == pop_question( SF.wScoringFacility,
+		     == pop_question( SF.wSF,
 				      "Sure you want to delete annotation\n <b>%s</b>?",
 				      SF.over_annotations.front()->label.c_str()) )
 			SF.using_channel->annotations.remove(
 				*SF.over_annotations.front());
 	} else {
 		if ( GTK_RESPONSE_YES
-		     == pop_question( SF.wScoringFacility,
+		     == pop_question( SF.wSF,
 				      "Sure you want to delete <b>%zu annotations</b>?",
 				      SF.over_annotations.size()) )
 			for ( auto &rm : SF.over_annotations )
@@ -796,10 +796,10 @@ iSFPageAnnotationEdit_activate_cb( GtkMenuItem *menuitem, gpointer userdata)
 	if ( which == NULL )
 		return;
 
-	gtk_entry_set_text( SF.eAnnotationLabel, which->label.c_str());
+	gtk_entry_set_text( SF.eSFAnnotationLabel, which->label.c_str());
 	if ( GTK_RESPONSE_OK ==
-	     gtk_dialog_run( SF.wAnnotationLabel) ) {
-		const char* new_label = gtk_entry_get_text( SF.eAnnotationLabel);
+	     gtk_dialog_run( SF.wSFAnnotationLabel) ) {
+		const char* new_label = gtk_entry_get_text( SF.eSFAnnotationLabel);
 		if ( strlen(new_label) > 0 ) {
 			which->label = new_label;
 			SF._p.populate_mGlobalAnnotations();
@@ -844,7 +844,7 @@ iSFPageSelectionMarkArtifact_activate_cb( GtkMenuItem *menuitem, gpointer userda
 {
 	auto& SF = *(SScoringFacility*)userdata;
 	auto& H = SF.using_channel;
-	aghui::SBusyBlock bb (SF.wScoringFacility);
+	aghui::SBusyBlock bb (SF.wSF);
 
 	H->mark_region_as_artifact( true);
 
@@ -857,7 +857,7 @@ iSFPageSelectionClearArtifact_activate_cb( GtkMenuItem *menuitem, gpointer userd
 {
 	auto& SF = *(SScoringFacility*)userdata;
 	auto& H = SF.using_channel;
-	aghui::SBusyBlock bb (SF.wScoringFacility);
+	aghui::SBusyBlock bb (SF.wSF);
 
 	H->mark_region_as_artifact( false);
 
@@ -877,11 +877,11 @@ void
 iSFPageSelectionAnnotate_activate_cb( GtkMenuItem *menuitem, gpointer userdata)
 {
 	auto& SF = *(SScoringFacility*)userdata;
-	gtk_entry_set_text( SF.eAnnotationLabel, "");
+	gtk_entry_set_text( SF.eSFAnnotationLabel, "");
 	if ( GTK_RESPONSE_OK ==
-	     gtk_dialog_run( (GtkDialog*)SF.wAnnotationLabel) ) {
+	     gtk_dialog_run( (GtkDialog*)SF.wSFAnnotationLabel) ) {
 		SF.using_channel->mark_region_as_annotation(
-			gtk_entry_get_text( SF.eAnnotationLabel));
+			gtk_entry_get_text( SF.eSFAnnotationLabel));
 
 		gtk_widget_queue_draw( (GtkWidget*)SF.daSFMontage);
 		gtk_widget_queue_draw( (GtkWidget*)SF.daSFHypnogram);
diff --git a/src/ui/sf/sf-patterns_cb.cc b/src/ui/sf/sf-patterns_cb.cc
index 9b6e60b..fca8ad9 100644
--- a/src/ui/sf/sf-patterns_cb.cc
+++ b/src/ui/sf/sf-patterns_cb.cc
@@ -390,7 +390,7 @@ wSFFD_hide_cb( GtkWidget *widget, gpointer userdata)
 
 	if ( not FD.occurrences.empty() )  // closing while dialog is in matching state
 		if ( GTK_RESPONSE_YES !=
-		     aghui::pop_question( SF.wScoringFacility, "Keep annotations?") )
+		     aghui::pop_question( SF.wSF, "Keep annotations?") )
 			FD.restore_annotations();
 
 	FD.occurrences.clear();
diff --git a/src/ui/sf/sf-widgets.hh b/src/ui/sf/sf-widgets.hh
index a13e66e..2c65922 100644
--- a/src/ui/sf/sf-widgets.hh
+++ b/src/ui/sf/sf-widgets.hh
@@ -20,7 +20,7 @@ namespace aghui {
 
 struct SScoringFacilityWidgets {
 
-	// we load and construct own widget set (wScoringFacility and all its contents)
+	// we load and construct own widget set (wSF and all its contents)
 	// ourself, for every SScoringFacility instance being created, so
 	// construct_widgets below takes an arg
 	GtkBuilder *builder;
@@ -29,12 +29,12 @@ struct SScoringFacilityWidgets {
 
 	// storage
 	GtkListStore
-		*mScoringPageSize,
-		*mAnnotationsAtCursor;
+		*mSFScoringPageSize,
+		*mSFAnnotationsAtCursor;
 
 	// window
 	GtkWindow
-		*wScoringFacility;
+		*wSF;
 	// control bar
 	GtkLabel
 		*lSFHint;
@@ -45,7 +45,7 @@ struct SScoringFacilityWidgets {
 	GtkSpinButton
 		*eSFCurrentPage;
 	GtkAdjustment
-		*jPageNo;
+		*jSFPageNo;
 	GtkLabel
 		*lSFTotalPages;
 	GtkBox
@@ -56,10 +56,10 @@ struct SScoringFacilityWidgets {
 		*eSFCurrentPos;
 	GtkButton
 		*bSFBack, *bSFForward,
-		*bScoreClear, *bScoreNREM1, *bScoreNREM2, *bScoreNREM3, *bScoreNREM4,
-		*bScoreREM, *bScoreWake,
-		*bScoreGotoPrevUnscored, *bScoreGotoNextUnscored,
-		*bScoreGotoPrevArtifact, *bScoreGotoNextArtifact;
+		*bSFScoreClear, *bSFScoreNREM1, *bSFScoreNREM2, *bSFScoreNREM3, *bSFScoreNREM4,
+		*bSFScoreREM, *bSFScoreWake,
+		*bSFGotoPrevUnscored, *bSFGotoNextUnscored,
+		*bSFGotoPrevArtifact, *bSFGotoNextArtifact;
 	GtkToggleButton
 		*bSFDrawCrosshair,
 		*bSFShowFindDialog, *bSFShowPhaseDiffDialog;
@@ -223,18 +223,18 @@ struct SScoringFacilityWidgets {
 
 	// filters dialog
 	GtkDialog
-		*wFilters;
+		*wSFFilters;
 	GtkLabel
-		*lFilterCaption;
+		*lSFFilterCaption;
 	GtkSpinButton
-		*eFilterLowPassCutoff, *eFilterHighPassCutoff,
-		*eFilterLowPassOrder, *eFilterHighPassOrder;
+		*eSFFilterLowPassCutoff, *eSFFilterHighPassCutoff,
+		*eSFFilterLowPassOrder, *eSFFilterHighPassOrder;
 	GtkComboBox
-		*eFilterNotchFilter;
+		*eSFFilterNotchFilter;
 	GtkListStore
-		*mFilterNotchFilter;
+		*mSFFilterNotchFilter;
 	GtkButton
-		*bFilterOK;
+		*bSFFilterOK;
 
 	// phasediff dialog
 	GtkDialog
@@ -301,13 +301,13 @@ struct SScoringFacilityWidgets {
 
 	// less important dialogs
 	GtkDialog
-		*wAnnotationLabel,
-		*wAnnotationSelector,
+		*wSFAnnotationLabel,
+		*wSFAnnotationSelector,
 		*wSFSimpleArtifactDetectionParams;
 	GtkEntry
-		*eAnnotationLabel;
+		*eSFAnnotationLabel;
 	GtkComboBox
-		*eAnnotationSelectorWhich;
+		*eSFAnnotationSelectorWhich;
 	GtkSpinButton
 		*eSFSimpleArtifactDetectionMinFlatRegionSize,
 		*eSFSimpleArtifactDetectionPad;
diff --git a/src/ui/sf/sf.cc b/src/ui/sf/sf.cc
index 186a146..f8657fc 100644
--- a/src/ui/sf/sf.cc
+++ b/src/ui/sf/sf.cc
@@ -182,7 +182,7 @@ SScoringFacility (agh::CSubject& J,
 	// set window title
 	snprintf_buf( "Scoring: %s’s %s in %s",
 		      J.name(), E.c_str(), D.c_str());
-	gtk_window_set_title( (GtkWindow*)wScoringFacility,
+	gtk_window_set_title( (GtkWindow*)wSF,
 			      __buf__);
 
 	// align empty area next to EMG profile with spectrum panes vertically
@@ -232,7 +232,7 @@ SScoringFacility (agh::CSubject& J,
 		int optimal_win_height = min(
 			(int)(HypnogramHeight + bar_height + da_ht + 100),
 			(int)(gdk_screen_get_height( gdk_screen_get_default()) * .95));
-		gtk_window_set_default_size( wScoringFacility,
+		gtk_window_set_default_size( wSF,
 					     gdk_screen_get_width( gdk_screen_get_default()) * .90,
 					     optimal_win_height);
 	}
@@ -240,7 +240,7 @@ SScoringFacility (agh::CSubject& J,
 	set_vpagesize_item( pagesize_item, true); // will do set_cur_vpage one more time, but ok
 	suppress_redraw = false;
 
-	gtk_widget_show_all( (GtkWidget*)wScoringFacility);
+	gtk_widget_show_all( (GtkWidget*)wSF);
 	// display proper control bar and set tooltip
 	gtk_widget_set_visible( (GtkWidget*)cSFScoringModeContainer, TRUE);
 	gtk_widget_set_visible( (GtkWidget*)cSFICAModeContainer, FALSE);
@@ -445,20 +445,14 @@ set_vpagesize_item( int item, bool touch_self)
 
 	agh::alg::ensure_within( item, 0, (int)DisplayPageSizeValues.size()-1 );
 	pagesize_item = item;
-	gtk_adjustment_set_upper( jPageNo, total_vpages());
+	gtk_adjustment_set_upper( jSFPageNo, total_vpages());
 
 	set_cur_vpage( p2ap(_cur_page), true);
 
 	gboolean sensitive_indeed = pagesize_is_right();
-	gtk_widget_set_sensitive( (GtkWidget*)(bScoreClear), sensitive_indeed);
-	gtk_widget_set_sensitive( (GtkWidget*)(bScoreNREM1), sensitive_indeed);
-	gtk_widget_set_sensitive( (GtkWidget*)(bScoreNREM2), sensitive_indeed);
-	gtk_widget_set_sensitive( (GtkWidget*)(bScoreNREM3), sensitive_indeed);
-	gtk_widget_set_sensitive( (GtkWidget*)(bScoreNREM4), sensitive_indeed);
-	gtk_widget_set_sensitive( (GtkWidget*)(bScoreREM),   sensitive_indeed);
-	gtk_widget_set_sensitive( (GtkWidget*)(bScoreWake),  sensitive_indeed);
-	gtk_widget_set_sensitive( (GtkWidget*)(bScoreGotoPrevUnscored), sensitive_indeed);
-	gtk_widget_set_sensitive( (GtkWidget*)(bScoreGotoNextUnscored), sensitive_indeed);
+	for ( auto& B : {bSFScoreClear, bSFScoreNREM1, bSFScoreNREM2, bSFScoreNREM3, bSFScoreNREM4, bSFScoreREM, bSFScoreWake,
+				bSFGotoPrevUnscored, bSFGotoNextUnscored} )
+		gtk_widget_set_sensitive( (GtkWidget*)(B), sensitive_indeed);
 
 	snprintf_buf( "of %zu", total_vpages());
 	gtk_label_set_markup( lSFTotalPages, __buf__);
diff --git a/src/ui/sf/sf_cb.cc b/src/ui/sf/sf_cb.cc
index 8ca4552..b282803 100644
--- a/src/ui/sf/sf_cb.cc
+++ b/src/ui/sf/sf_cb.cc
@@ -62,13 +62,13 @@ eSFCurrentPage_value_changed_cb( GtkSpinButton *spinbutton, gpointer userdata)
 // -------------- various buttons
 
 
-void bScoreNREM1_clicked_cb( GtkButton *_, gpointer u)  { ((SScoringFacility*)u)->do_score_forward( sigfile::SPage::score_code(sigfile::SPage::TScore::nrem1)); }
-void bScoreNREM2_clicked_cb( GtkButton *_, gpointer u)  { ((SScoringFacility*)u)->do_score_forward( sigfile::SPage::score_code(sigfile::SPage::TScore::nrem2)); }
-void bScoreNREM3_clicked_cb( GtkButton *_, gpointer u)  { ((SScoringFacility*)u)->do_score_forward( sigfile::SPage::score_code(sigfile::SPage::TScore::nrem3)); }
-void bScoreNREM4_clicked_cb( GtkButton *_, gpointer u)  { ((SScoringFacility*)u)->do_score_forward( sigfile::SPage::score_code(sigfile::SPage::TScore::nrem4)); }
-void bScoreREM_clicked_cb  ( GtkButton *_, gpointer u)  { ((SScoringFacility*)u)->do_score_forward( sigfile::SPage::score_code(sigfile::SPage::TScore::rem));   }
-void bScoreWake_clicked_cb ( GtkButton *_, gpointer u)  { ((SScoringFacility*)u)->do_score_forward( sigfile::SPage::score_code(sigfile::SPage::TScore::wake));  }
-void bScoreClear_clicked_cb( GtkButton *_, gpointer u)  { ((SScoringFacility*)u)->do_score_back   ( sigfile::SPage::score_code(sigfile::SPage::TScore::none));  }
+void bSFScoreNREM1_clicked_cb( GtkButton *_, gpointer u)  { ((SScoringFacility*)u)->do_score_forward( sigfile::SPage::score_code(sigfile::SPage::TScore::nrem1)); }
+void bSFScoreNREM2_clicked_cb( GtkButton *_, gpointer u)  { ((SScoringFacility*)u)->do_score_forward( sigfile::SPage::score_code(sigfile::SPage::TScore::nrem2)); }
+void bSFScoreNREM3_clicked_cb( GtkButton *_, gpointer u)  { ((SScoringFacility*)u)->do_score_forward( sigfile::SPage::score_code(sigfile::SPage::TScore::nrem3)); }
+void bSFScoreNREM4_clicked_cb( GtkButton *_, gpointer u)  { ((SScoringFacility*)u)->do_score_forward( sigfile::SPage::score_code(sigfile::SPage::TScore::nrem4)); }
+void bSFScoreREM_clicked_cb  ( GtkButton *_, gpointer u)  { ((SScoringFacility*)u)->do_score_forward( sigfile::SPage::score_code(sigfile::SPage::TScore::rem));   }
+void bSFScoreWake_clicked_cb ( GtkButton *_, gpointer u)  { ((SScoringFacility*)u)->do_score_forward( sigfile::SPage::score_code(sigfile::SPage::TScore::wake));  }
+void bSFScoreClear_clicked_cb( GtkButton *_, gpointer u)  { ((SScoringFacility*)u)->do_score_back   ( sigfile::SPage::score_code(sigfile::SPage::TScore::none));  }
 
 
 
@@ -106,7 +106,7 @@ eSFCurrentPos_clicked_cb( GtkButton*,
 
 
 void
-bScoreGotoPrevUnscored_clicked_cb( GtkButton *button, gpointer userdata)
+bSFGotoPrevUnscored_clicked_cb( GtkButton *button, gpointer userdata)
 {
 	auto &SF = *(SScoringFacility*)userdata;
 	if ( SF.cur_page() == 0 )
@@ -122,7 +122,7 @@ bScoreGotoPrevUnscored_clicked_cb( GtkButton *button, gpointer userdata)
 }
 
 void
-bScoreGotoNextUnscored_clicked_cb( GtkButton *button, gpointer userdata)
+bSFGotoNextUnscored_clicked_cb( GtkButton *button, gpointer userdata)
 {
 	auto& SF = *(SScoringFacility*)userdata;
 	if ( SF.cur_page() == SF.total_pages()-1 )
@@ -141,7 +141,7 @@ bScoreGotoNextUnscored_clicked_cb( GtkButton *button, gpointer userdata)
 
 
 void
-bScoreGotoPrevArtifact_clicked_cb( GtkButton *button, gpointer userdata)
+bSFGotoPrevArtifact_clicked_cb( GtkButton *button, gpointer userdata)
 {
 	auto &SF = *(SScoringFacility*)userdata;
 	if ( SF.cur_vpage() == 0 )
@@ -157,7 +157,7 @@ bScoreGotoPrevArtifact_clicked_cb( GtkButton *button, gpointer userdata)
 }
 
 void
-bScoreGotoNextArtifact_clicked_cb( GtkButton *button, gpointer userdata)
+bSFGotoNextArtifact_clicked_cb( GtkButton *button, gpointer userdata)
 {
 	auto &SF = *(SScoringFacility*)userdata;
 	if ( SF.cur_vpage() == SF.total_vpages()-1 )
@@ -234,7 +234,7 @@ iSFAcceptAndTakeNext_activate_cb( GtkMenuItem *menuitem, gpointer userdata)
 	ED.using_subject->create_cprofile();
 	gtk_widget_queue_draw( (GtkWidget*)ED.using_subject->da);
 
-	SBusyBlock bb (SF.wScoringFacility);
+	SBusyBlock bb (SF.wSF);
 	// guaranteed to have next(E)
 
 	auto& J = SF.csubject();
@@ -252,7 +252,7 @@ iSFAcceptAndTakeNext_activate_cb( GtkMenuItem *menuitem, gpointer userdata)
 // ------- cleanup
 
 gboolean
-wScoringFacility_delete_event_cb( GtkWidget*, GdkEvent*, gpointer userdata)
+wSF_delete_event_cb( GtkWidget*, GdkEvent*, gpointer userdata)
 {
 	auto& SF = *(SScoringFacility*)userdata;
 
diff --git a/src/ui/sf/sf_cb.hh b/src/ui/sf/sf_cb.hh
index 78894c1..a8c99e8 100644
--- a/src/ui/sf/sf_cb.hh
+++ b/src/ui/sf/sf_cb.hh
@@ -34,21 +34,21 @@ gboolean daSFMontage_scroll_event_cb( GtkWidget*, GdkEventScroll*, gpointer);
 void eSFPageSize_changed_cb( GtkComboBox*, gpointer);
 void eSFCurrentPage_value_changed_cb( GtkSpinButton*, gpointer);
 
-void bScoreClear_clicked_cb( GtkButton*, gpointer);
-void bScoreNREM1_clicked_cb( GtkButton*, gpointer);
-void bScoreNREM2_clicked_cb( GtkButton*, gpointer);
-void bScoreNREM3_clicked_cb( GtkButton*, gpointer);
-void bScoreNREM4_clicked_cb( GtkButton*, gpointer);
-void bScoreREM_clicked_cb  ( GtkButton*, gpointer);
-void bScoreWake_clicked_cb ( GtkButton*, gpointer);
+void bSFScoreClear_clicked_cb( GtkButton*, gpointer);
+void bSFScoreNREM1_clicked_cb( GtkButton*, gpointer);
+void bSFScoreNREM2_clicked_cb( GtkButton*, gpointer);
+void bSFScoreNREM3_clicked_cb( GtkButton*, gpointer);
+void bSFScoreNREM4_clicked_cb( GtkButton*, gpointer);
+void bSFScoreREM_clicked_cb  ( GtkButton*, gpointer);
+void bSFScoreWake_clicked_cb ( GtkButton*, gpointer);
 
 void eSFCurrentPos_clicked_cb( GtkButton*, gpointer);
 void bSFForward_clicked_cb( GtkButton*, gpointer);
 void bSFBack_clicked_cb( GtkButton*, gpointer);
-void bScoreGotoPrevUnscored_clicked_cb( GtkButton*, gpointer);
-void bScoreGotoNextUnscored_clicked_cb( GtkButton*, gpointer);
-void bScoreGotoPrevArtifact_clicked_cb( GtkButton*, gpointer);
-void bScoreGotoNextArtifact_clicked_cb( GtkButton*, gpointer);
+void bSFGotoPrevUnscored_clicked_cb( GtkButton*, gpointer);
+void bSFGotoNextUnscored_clicked_cb( GtkButton*, gpointer);
+void bSFGotoPrevArtifact_clicked_cb( GtkButton*, gpointer);
+void bSFGotoNextArtifact_clicked_cb( GtkButton*, gpointer);
 void bSFDrawCrosshair_toggled_cb( GtkToggleButton*, gpointer);
 void bSFShowFindDialog_toggled_cb( GtkToggleButton*, gpointer);
 void bSFShowPhaseDiffDialog_toggled_cb( GtkToggleButton*, gpointer);
@@ -168,8 +168,8 @@ void wSFFD_show_cb( GtkWidget*, gpointer);
 void wSFFD_hide_cb( GtkWidget*, gpointer);
 gboolean wSFFD_configure_event_cb( GtkWidget*, GdkEventConfigure*, gpointer);
 
-void eFilterHighPassCutoff_value_changed_cb( GtkSpinButton*, gpointer);
-void eFilterLowPassCutoff_value_changed_cb( GtkSpinButton*, gpointer);
+void eSFFilterHighPassCutoff_value_changed_cb( GtkSpinButton*, gpointer);
+void eSFFilterLowPassCutoff_value_changed_cb( GtkSpinButton*, gpointer);
 
 void eSFPDChannelA_changed_cb( GtkComboBox*, gpointer);
 void eSFPDChannelB_changed_cb( GtkComboBox*, gpointer);
@@ -183,7 +183,7 @@ void eSFPDSmooth_value_changed_cb( GtkScaleButton*, gdouble, gpointer);
 void wSFPD_show_cb( GtkWidget*, gpointer);
 void wSFPD_hide_cb( GtkWidget*, gpointer);
 
-gboolean wScoringFacility_delete_event_cb( GtkWidget*, GdkEvent*, gpointer);
+gboolean wSF_delete_event_cb( GtkWidget*, GdkEvent*, gpointer);
 
 } // extern "C"
 
diff --git a/src/ui/sm/sm-construct.cc b/src/ui/sm/sm-construct.cc
index 1ebbf9c..83f8649 100644
--- a/src/ui/sm/sm-construct.cc
+++ b/src/ui/sm/sm-construct.cc
@@ -27,7 +27,7 @@ construct_widgets()
 	GtkBuilder *builder = gtk_builder_new();
 	if ( !gtk_builder_add_from_resource(
 		     builder,
-		     "/org/gtk/aghermann/session-chooser.glade",
+		     "/org/gtk/aghermann/sm.glade",
 		     NULL) ) {
 		return -1;
 	}

-- 
Sleep experiment manager



More information about the debian-med-commit mailing list