[jokosher-devel] [PATCH] Added description textview to ExtensionManagerDialog



Hello,

This is my first patch for Jokosher, and actually the first time I've contributed code to an open source project. I'm a guitar player, and have been looking for a decent, lightweight recording app, and I'm very pleased with Jokosher so far. Since my day gig is coding, I thought I might as well try to give something back to the project as well.
Anyways, hope you agree with what I've done. It was mostly just to familiarize myself with the codebase and the tools you use.

First, I've fixed bug #87850, changed tooltip "Edit this mixdown step settings" to "Edit settings for this mixdown step".

Second, I've added a textview box with the description in it for the ExtensionManagerDialog. I found that nearly all the descriptions didn't fit in the treeView, so I think it is better this way. Now even longer descriptions are also possible.

That's all for now, but expect to hear more from me:)

Regards,
Knut Erik Teigen


Index: Jokosher/Jokosher.glade
===================================================================
--- Jokosher/Jokosher.glade	(revision 1417)
+++ Jokosher/Jokosher.glade	(working copy)
@@ -677,8 +677,8 @@
 		  <property name="is_important">True</property>
 		  <accessibility>
 		    <atkproperty name="AtkObject::accessible_name" translatable="yes">Add Audio File</atkproperty>
+		    <atkrelation target="Rewind" type="flows-to"/>
 		    <atkrelation target="AddInstrument" type="flows-from"/>
-		    <atkrelation target="Rewind" type="flows-to"/>
 		  </accessibility>
 		  <signal name="clicked" handler="on_project_add_audio" last_modification_time="Mon, 22 Jan 2007 19:04:35 GMT"/>
 		</widget>
@@ -767,8 +767,8 @@
 		  <property name="is_important">True</property>
 		  <accessibility>
 		    <atkproperty name="AtkObject::accessible_name" translatable="yes">FastForward</atkproperty>
+		    <atkrelation target="Stop" type="flows-from"/>
 		    <atkrelation target="Record" type="flows-to"/>
-		    <atkrelation target="Stop" type="flows-from"/>
 		  </accessibility>
 		  <signal name="clicked" handler="on_Forward_clicked"/>
 		</widget>
@@ -789,8 +789,8 @@
 		  <property name="active">False</property>
 		  <accessibility>
 		    <atkproperty name="AtkObject::accessible_name" translatable="yes">Record</atkproperty>
+		    <atkrelation target="Forward" type="flows-from"/>
 		    <atkrelation target="Recording" type="flows-to"/>
-		    <atkrelation target="Forward" type="flows-from"/>
 		  </accessibility>
 		  <signal name="toggled" handler="on_Record_toggled"/>
 		</widget>
@@ -894,8 +894,8 @@
 			  <property name="inconsistent">False</property>
 			  <accessibility>
 			    <atkproperty name="AtkObject::accessible_name" translatable="yes">Recording Workspace</atkproperty>
+			    <atkrelation target="CompactMix" type="flows-to"/>
 			    <atkrelation target="Record" type="flows-from"/>
-			    <atkrelation target="CompactMix" type="flows-to"/>
 			  </accessibility>
 			  <signal name="toggled" handler="on_Recording_toggled"/>
 			</widget>
@@ -4571,7 +4571,7 @@
   <property name="window_position">GTK_WIN_POS_CENTER_ON_PARENT</property>
   <property name="modal">True</property>
   <property name="default_width">400</property>
-  <property name="default_height">300</property>
+  <property name="default_height">400</property>
   <property name="resizable">True</property>
   <property name="destroy_with_parent">False</property>
   <property name="decorated">True</property>
@@ -4599,16 +4599,148 @@
 	  <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
 
 	  <child>
-	    <widget class="GtkTreeView" id="treeviewExtensions">
+	    <widget class="GtkViewport" id="viewport1">
 	      <property name="visible">True</property>
-	      <property name="headers_visible">True</property>
-	      <property name="rules_hint">False</property>
-	      <property name="reorderable">False</property>
-	      <property name="enable_search">True</property>
-	      <property name="fixed_height_mode">False</property>
-	      <property name="hover_selection">False</property>
-	      <property name="hover_expand">False</property>
-	      <signal name="cursor_changed" handler="on_Treeview_selected" last_modification_time="Tue, 31 Oct 2006 22:38:54 GMT"/>
+	      <property name="shadow_type">GTK_SHADOW_IN</property>
+
+	      <child>
+		<widget class="GtkHBox" id="hbox37">
+		  <property name="visible">True</property>
+		  <property name="homogeneous">False</property>
+		  <property name="spacing">0</property>
+
+		  <child>
+		    <widget class="GtkVBox" id="vbox36">
+		      <property name="visible">True</property>
+		      <property name="homogeneous">False</property>
+		      <property name="spacing">0</property>
+
+		      <child>
+			<widget class="GtkTreeView" id="treeviewExtensions">
+			  <property name="width_request">150</property>
+			  <property name="visible">True</property>
+			  <property name="headers_visible">True</property>
+			  <property name="rules_hint">False</property>
+			  <property name="reorderable">False</property>
+			  <property name="enable_search">True</property>
+			  <property name="fixed_height_mode">False</property>
+			  <property name="hover_selection">False</property>
+			  <property name="hover_expand">False</property>
+			  <signal name="cursor_changed" handler="on_Treeview_selected" last_modification_time="Tue, 31 Oct 2006 22:38:54 GMT"/>
+			</widget>
+			<packing>
+			  <property name="padding">0</property>
+			  <property name="expand">True</property>
+			  <property name="fill">True</property>
+			</packing>
+		      </child>
+
+		      <child>
+			<widget class="GtkVBox" id="vbox37">
+			  <property name="visible">True</property>
+			  <property name="homogeneous">False</property>
+			  <property name="spacing">0</property>
+
+			  <child>
+			    <widget class="GtkVBox" id="vbox38">
+			      <property name="visible">True</property>
+			      <property name="homogeneous">False</property>
+			      <property name="spacing">0</property>
+
+			      <child>
+				<widget class="GtkHSeparator" id="hseparator3">
+				  <property name="visible">True</property>
+				</widget>
+				<packing>
+				  <property name="padding">0</property>
+				  <property name="expand">True</property>
+				  <property name="fill">True</property>
+				</packing>
+			      </child>
+
+			      <child>
+				<widget class="GtkLabel" id="labelDescription">
+				  <property name="visible">True</property>
+				  <property name="label" translatable="yes">Description</property>
+				  <property name="use_underline">False</property>
+				  <property name="use_markup">False</property>
+				  <property name="justify">GTK_JUSTIFY_LEFT</property>
+				  <property name="wrap">False</property>
+				  <property name="selectable">False</property>
+				  <property name="xalign">0</property>
+				  <property name="yalign">0.5</property>
+				  <property name="xpad">0</property>
+				  <property name="ypad">0</property>
+				  <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+				  <property name="width_chars">-1</property>
+				  <property name="single_line_mode">False</property>
+				  <property name="angle">0</property>
+				</widget>
+				<packing>
+				  <property name="padding">0</property>
+				  <property name="expand">False</property>
+				  <property name="fill">False</property>
+				</packing>
+			      </child>
+
+			      <child>
+				<widget class="GtkScrolledWindow" id="scrolledwindow10">
+				  <property name="visible">True</property>
+				  <property name="can_focus">True</property>
+				  <property name="hscrollbar_policy">GTK_POLICY_ALWAYS</property>
+				  <property name="vscrollbar_policy">GTK_POLICY_ALWAYS</property>
+				  <property name="shadow_type">GTK_SHADOW_IN</property>
+				  <property name="window_placement">GTK_CORNER_TOP_LEFT</property>
+
+				  <child>
+				    <widget class="GtkTextView" id="textviewExtensionDescription">
+				      <property name="visible">True</property>
+				      <property name="can_focus">True</property>
+				      <property name="editable">False</property>
+				      <property name="overwrite">False</property>
+				      <property name="accepts_tab">True</property>
+				      <property name="justification">GTK_JUSTIFY_LEFT</property>
+				      <property name="wrap_mode">GTK_WRAP_WORD</property>
+				      <property name="cursor_visible">True</property>
+				      <property name="pixels_above_lines">0</property>
+				      <property name="pixels_below_lines">0</property>
+				      <property name="pixels_inside_wrap">0</property>
+				      <property name="left_margin">0</property>
+				      <property name="right_margin">0</property>
+				      <property name="indent">0</property>
+				      <property name="text" translatable="yes"></property>
+				    </widget>
+				  </child>
+				</widget>
+				<packing>
+				  <property name="padding">0</property>
+				  <property name="expand">True</property>
+				  <property name="fill">True</property>
+				</packing>
+			      </child>
+			    </widget>
+			    <packing>
+			      <property name="padding">0</property>
+			      <property name="expand">True</property>
+			      <property name="fill">True</property>
+			    </packing>
+			  </child>
+			</widget>
+			<packing>
+			  <property name="padding">0</property>
+			  <property name="expand">True</property>
+			  <property name="fill">True</property>
+			</packing>
+		      </child>
+		    </widget>
+		    <packing>
+		      <property name="padding">0</property>
+		      <property name="expand">True</property>
+		      <property name="fill">True</property>
+		    </packing>
+		  </child>
+		</widget>
+	      </child>
 	    </widget>
 	  </child>
 	</widget>
@@ -5828,4 +5960,25 @@
   </child>
 </widget>
 
+<widget class="GtkWindow" id="window1">
+  <property name="visible">True</property>
+  <property name="title" translatable="yes">window1</property>
+  <property name="type">GTK_WINDOW_TOPLEVEL</property>
+  <property name="window_position">GTK_WIN_POS_NONE</property>
+  <property name="modal">False</property>
+  <property name="resizable">True</property>
+  <property name="destroy_with_parent">False</property>
+  <property name="decorated">True</property>
+  <property name="skip_taskbar_hint">False</property>
+  <property name="skip_pager_hint">False</property>
+  <property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property>
+  <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
+  <property name="focus_on_map">True</property>
+  <property name="urgency_hint">False</property>
+
+  <child>
+    <placeholder/>
+  </child>
+</widget>
+
 </glade-interface>
Index: Jokosher/MixdownProfileDialog.py
===================================================================
--- Jokosher/MixdownProfileDialog.py	(revision 1417)
+++ Jokosher/MixdownProfileDialog.py	(working copy)
@@ -119,7 +119,7 @@
 		button.mixdownaction = action
 		action.button = button
 		action.update_button()
-		tooltips.set_tip(button, _("Edit this mixdown step settings"))
+		tooltips.set_tip(button, _("Edit settings for this mixdown step"))
 		button.connect("clicked", self.ConfigureButton)
 		self.actionstable.attach(button, 0, 1, rows-1, rows, xoptions=gtk.FILL|gtk.EXPAND, yoptions=gtk.FILL|gtk.SHRINK)
 		
Index: Jokosher/ExtensionManagerDialog.py
===================================================================
--- Jokosher/ExtensionManagerDialog.py	(revision 1417)
+++ Jokosher/ExtensionManagerDialog.py	(working copy)
@@ -41,18 +41,18 @@
 		
 		self.dlg = self.wTree.get_widget("ExtensionManagerDialog")
 		self.tree = self.wTree.get_widget("treeviewExtensions")
+		self.descriptionViewer = self.wTree.get_widget("textviewExtensionDescription")
 		self.prefs_button = self.wTree.get_widget("buttonPreferences")
 		
 		self.AddColumn("Enabled", 0, 'toggle')
 		self.AddColumn("Name", 1, 'text', 25)
-		self.AddColumn("Description", 2, 'text', 25)
-		self.AddColumn("Version", 3, 'text', 7)
+		self.AddColumn("Version", 2, 'text', 7)
 
 		self.model = gtk.ListStore(bool, str, str, str, str, bool)
 		self.tree.set_model(self.model)
 
 		for extension in self.parent.extensionManager.GetExtensions():
-			self.model.append((extension["enabled"], extension["name"], extension["description"], extension["version"], extension["filename"], extension["preferences"]))
+			self.model.append((extension["enabled"], extension["name"],  extension["version"], extension["description"], extension["filename"], extension["preferences"]))
 
 		self.dlg.set_transient_for(self.parent.window)
 		self.dlg.show()
@@ -137,12 +137,19 @@
 	def OnSelect(self, tree):
 		"""
 		When an Extension is selected, enables/disables the preferences button
-		according to the reported Extension capabilities.
+		according to the reported Extension capabilities, and updates
+                the description.
 		
 		Parameters:
 			tree -- GTKTreeView holding the Extensions's representation.
 		"""
 		selection = self.tree.get_selection().get_selected()[1]
+
+                description = self.model.get_value(selection, 3)
+                buf = gtk.TextBuffer()
+                buf.set_text(description)
+                self.descriptionViewer.set_buffer(buf)
+
 		preferences = self.model.get_value(selection, 5)
 		if preferences:
 			self.prefs_button.set_sensitive(True)


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]