Finish off setting sequence offset user interface
[mussa.git] / qui / seqbrowser / SequenceBrowser.cpp
index 7dab0203177b616ed6a74c8b4b32c161d9040852..0f2868eb23e1cc6d144e6bbed4e847a76eb21f52 100644 (file)
@@ -32,9 +32,9 @@ SequenceBrowser::SequenceBrowser(QWidget *parent)
   connect(copySelectedSequenceAsStringAction, SIGNAL(triggered()), 
           this, SLOT(copySelectedSequenceAsString()));
   popupMenu->addAction(copySelectedSequenceAsStringAction);
-  connect(editSequencePropertiesAction, SIGNAL(triggered()),
+  // connect edit properties action
+  connect(editSequencePropertiesAction, SIGNAL(triggered()), 
           this, SLOT(editSequenceProperties()));
-  popupMenu->addAction(editSequencePropertiesAction);
 }
 
 SequenceBrowser::SequenceBrowser(const SequenceBrowser& sb, QWidget *parent)
@@ -64,6 +64,11 @@ QAction *SequenceBrowser::getCopySelectedSequenceAsStringAction()
   return copySelectedSequenceAsStringAction;
 }
 
+QAction *SequenceBrowser::getEditSequencePropertiesAction()
+{
+  return editSequencePropertiesAction;
+}
+
 QSize SequenceBrowser::sizeHint() const
 {
   return QSize(viewportPixelWidth(), viewportPixelHeight());
@@ -145,8 +150,15 @@ void SequenceBrowser::displayContextMenu(const QPoint& point)
 
 void SequenceBrowser::editSequenceProperties()
 {
-  PropertiesWindowRef new_properties(new PropertiesWindow(sequences()));
+  // if there's a previous window, disconnect its signal
+  if (properties) {
+    disconnect(properties.get(), SIGNAL(propertiesChanged()),
+               this, SLOT(updateGL()));
+  }
+  PropertiesWindowRef new_properties(new PropertiesWindow(track_container));
   properties = new_properties;
+  connect(properties.get(), SIGNAL(propertiesChanged()),
+          this, SLOT(updateGL()));
   properties->show();
 }