View Issue Details

IDProjectCategoryView StatusLast Update
0001283ardourbugspublic2006-11-03 01:47
Reportertaybin Assigned Totaybin  
PrioritynormalSeverityminorReproducibilityalways
Status closedResolutionfixed 
Summary0001283: comment box isn't saved.
DescriptionComment box contents at bottom of mixerstrip track aren't saved.
TagsNo tags attached.

Activities

brianahr

2006-11-03 00:33

developer   ~0002597

in the SVN version (r1062), it seems like the comments are not saved if the window manager's close button is clicked. However, if you click the comments button again to close the window (instead of the window manager's close button) the comments are saved. Either way, it looks like a bug, here is a possible patch for it, against r1062.

to patch:
$ patch -p0 < ardour-bug1283-r1062.patch

2006-11-03 00:34

 

ardour-bug1283-r1062.patch (2,813 bytes)   
Index: gtk2_ardour/mixer_strip.cc
===================================================================
--- gtk2_ardour/mixer_strip.cc	(revision 1062)
+++ gtk2_ardour/mixer_strip.cc	(working copy)
@@ -759,45 +759,51 @@
 	Gtkmm2ext::UI::instance()->call_slot (mem_fun(*this, &MixerStrip::update_output_display));
 }
 
-void
-MixerStrip::comment_button_clicked ()
-{
-	if (comment_window == 0) {
-		setup_comment_editor ();
-	}
+void 
+MixerStrip::comment_editor_done_editing() {
+	string str =  comment_area->get_buffer()->get_text();
+	if (_route->comment() != str) {
+		_route->set_comment (str, this);
 
-        int x, y, cw_width, cw_height;
-
-	if (comment_window->is_visible()) {
-	       string str =  comment_area->get_buffer()->get_text();
-	       if (_route->comment() != str) {
-		 _route->set_comment (str, this);
-
 		 switch (_width) {
 		   
 		 case Wide:
 		   if (! str.empty()) {
-		     comment_button.set_label (_("*Comments*"));
+			 comment_button.set_label (_("*Comments*"));
 		   } else {
-		     comment_button.set_label (_("Comments"));
-		      }
+			 comment_button.set_label (_("Comments"));
+			  }
 		   break;
 		   
 		 case Narrow:
 		   if (! str.empty()) {
-		     comment_button.set_label (_("*Cmt*"));
+			 comment_button.set_label (_("*Cmt*"));
 		   } else {
-		     comment_button.set_label (_("Cmt"));
+			 comment_button.set_label (_("Cmt"));
 		   } 
 		   break;
 		 }
 		 
 		 ARDOUR_UI::instance()->tooltips().set_tip (comment_button, 
-							    str.empty() ? _("Click to Add/Edit Comments") : str);
-	       }
-	       comment_window->hide ();
-	       return;
-	} 
+			str.empty() ? _("Click to Add/Edit Comments") : str);
+	}
+	
+}
+
+void
+MixerStrip::comment_button_clicked ()
+{
+	if (comment_window == 0) {
+		setup_comment_editor ();
+	}
+
+    int x, y, cw_width, cw_height;
+
+	if (comment_window->is_visible()) {
+		comment_window->hide ();
+		return;
+	}
+
 	comment_window->get_size (cw_width, cw_height);
 	comment_window->get_position(x, y);
 	comment_window->move(x, y - (cw_height / 2) - 45);
@@ -821,6 +827,7 @@
 	comment_window = new ArdourDialog (title, false);
 	comment_window->set_position (Gtk::WIN_POS_MOUSE);
 	comment_window->set_skip_taskbar_hint (true);
+	comment_window->signal_hide().connect (mem_fun(*this, &MixerStrip::comment_editor_done_editing));
 
 	comment_area = manage (new TextView());
 	comment_area->set_name ("MixerTrackCommentArea");
Index: gtk2_ardour/mixer_strip.h
===================================================================
--- gtk2_ardour/mixer_strip.h	(revision 1062)
+++ gtk2_ardour/mixer_strip.h	(working copy)
@@ -153,6 +153,7 @@
 	Gtk::TextView* comment_area;
 	Gtk::Button    comment_button;
 
+	void comment_editor_done_editing();
 	void setup_comment_editor ();
 	void comment_button_clicked ();
 
ardour-bug1283-r1062.patch (2,813 bytes)   

taybin

2006-11-03 00:42

administrator   ~0002600

This works fine. Thank you! I'll include it in my next commit.

Issue History

Date Modified Username Field Change
2006-11-02 21:51 taybin New Issue
2006-11-03 00:33 brianahr Note Added: 0002597
2006-11-03 00:34 brianahr File Added: ardour-bug1283-r1062.patch
2006-11-03 00:42 taybin Status new => resolved
2006-11-03 00:42 taybin Resolution open => fixed
2006-11-03 00:42 taybin Assigned To => taybin
2006-11-03 00:42 taybin Note Added: 0002600
2006-11-03 01:47 taybin Status resolved => closed