← Back to team overview

openshot.code team mailing list archive

[Branch ~openshot.code/openshot/main] Rev 706: Updated and rearranged the project files tree, to provide a better, more thoughtful arrangement o...

 

------------------------------------------------------------
revno: 706
fixes bug: https://launchpad.net/bugs/1048469
committer: Jonathan Thomas <Jonathan.Oomph@xxxxxxxxx>
branch nick: openshot
timestamp: Sun 2012-09-09 23:31:28 -0500
message:
  Updated and rearranged the project files tree, to provide a better, more thoughtful arrangement of file options. Specifically, moving 'Add to Timeline' to the top, and removing some options when multiple selections are made, and providing seamless functionality with both "Details" and "Thumbnails" view.
modified:
  openshot/windows/MainGTK.py
  openshot/windows/ui/Main_tree_popup.ui


--
lp:openshot
https://code.launchpad.net/~openshot.code/openshot/main

Your team OpenShot Code is subscribed to branch lp:openshot.
To unsubscribe from this branch go to https://code.launchpad.net/~openshot.code/openshot/main/+edit-subscription
=== modified file 'openshot/windows/MainGTK.py'
--- openshot/windows/MainGTK.py	2012-09-10 03:11:09 +0000
+++ openshot/windows/MainGTK.py	2012-09-10 04:31:28 +0000
@@ -4066,6 +4066,10 @@
 			name = "icvFileIcons"
 
 		# Option Construction
+		# Create Import Files
+		mnuImportFiles = gtk.ImageMenuItem(gtk.STOCK_ADD)
+		mnuImportFiles.get_children()[0].set_label(_("Import Files..."))
+		mnuImportFiles.connect('activate',self.on_mnuAddFile_activate)
 
 		# Create Folder
 		mnuCreateFolder = gtk.ImageMenuItem(gtk.STOCK_DIRECTORY)
@@ -4151,24 +4155,17 @@
 		mnuFileProperties.get_children()[0].set_label(_("File Properties"))
 		mnuFileProperties.connect('activate', self.on_FileProperties_activate)
 		
-		# Menu Composition
-		if name == "treeFiles":
-			
-			# Create Folder
-			self.mnuTree.add(mnuCreateFolder)
-			
-		# Separator
-		mnuSeparator = gtk.SeparatorMenuItem()
-		self.mnuTree.add(mnuSeparator)
+		is_video_selected = False
+		is_svg_selected = False
+		is_folder_selected = False
+		selected_count = 0
 		
+		# Determine the types of files selected (if any)
 		if self.selected:
-			# Determine type of selected item
-		
-			is_video_selected = False
-			is_svg_selected = False
-			is_folder_selected = False
 			
+			# Loop through each selected file / folder
 			iters = [self.model.get_iter(path) for path in self.selected]
+			selected_count = len(iters)
 			for iter in iters:
 				# remove from the file object
 				filename = self.model.get_value(iter, 1)
@@ -4187,65 +4184,60 @@
 				else:
 					is_folder_selected = True
 			
-			if not is_folder_selected:
-				# Add To Timeline
-				self.mnuTree.add(mnuAddToTimeline)
-		
-				# Add Preview File
+			
+		# -------------------------
+		# ADD MENU ITEMS
+		# -------------------------
+		if self.selected and not is_folder_selected:
+			# Add-to-Timeline + Preview
+			self.mnuTree.add(mnuAddToTimeline)
+			
+			if selected_count == 1:
+				# single selection
 				self.mnuTree.add(mnuPreview)
-				
-				# Separator
-				mnuSeparator = gtk.SeparatorMenuItem()
-				self.mnuTree.add(mnuSeparator)
-			
-			# Add Convert to Image Sequence (if video is selected)
-			if is_video_selected:
-				self.mnuTree.add(mnuConvertToImages)
-			
-			if not is_folder_selected:
-				if name == "treeFiles":
-					# Add Move Files to Folder
-					self.mnuTree.add(mnuMoveFile)
-				
-					# Add Thumbnail View
-					self.mnuTree.add(mnuThumbView)
-				else:
-					# Add Detail View
-					self.mnuTree.add(mnuDetailView)
-				
-			# Add Edit Title options (if image is selected)
-			if is_svg_selected:
-				self.mnuTree.add(mnuEditTitle)
-				self.mnuTree.add(mnuEditTitle1)
-		
-			# Add separator (if folder isn't selected)
-			if not is_folder_selected:
-				mnuSeparator = gtk.SeparatorMenuItem()
-				self.mnuTree.add(mnuSeparator)
-		
-			# Add Remove From Project
+				self.mnuTree.add(gtk.SeparatorMenuItem())
+				
+				if is_video_selected:
+					self.mnuTree.add(mnuConvertToImages)
+					self.mnuTree.add(gtk.SeparatorMenuItem())
+
+				if is_svg_selected :
+					# Edit SVG Titles
+					self.mnuTree.add(mnuEditTitle)
+					self.mnuTree.add(mnuEditTitle1)
+					self.mnuTree.add(gtk.SeparatorMenuItem())
+
+				if is_video_selected:
+					self.mnuTree.add(mnuUploadToWeb)
+					self.mnuTree.add(gtk.SeparatorMenuItem())
+			else:
+				# multiple selections
+				self.mnuTree.add(gtk.SeparatorMenuItem())
+		
+		if self.selected:
+			# Remove from timeline
+			if selected_count == 1:
+				self.mnuTree.add(mnuFileProperties)
 			self.mnuTree.add(mnuRemoveFile)
-		
-			# Separator
-			if not is_folder_selected:
-				mnuSeparator = gtk.SeparatorMenuItem()
-				self.mnuTree.add(mnuSeparator)
-		
-			# Add Upload to Web (if video is selected)
-			if is_video_selected:
-				self.mnuTree.add(mnuUploadToWeb)
-
-			# File properties (if folder isn't selected)
-			if not is_folder_selected:
-				self.mnuTree.add(mnuFileProperties)
-		
+			self.mnuTree.add(gtk.SeparatorMenuItem())
+				
+		# Import Files
+		self.mnuTree.add(mnuImportFiles)
+
+		if name == "treeFiles":
+			# Create folder
+			self.mnuTree.add(mnuCreateFolder)
+			if self.selected and not is_folder_selected:
+				self.mnuTree.add(mnuMoveFile)
+
+		self.mnuTree.add(gtk.SeparatorMenuItem())
+		
+		if name == "treeFiles":
+			# Add Thumbnail View
+			self.mnuTree.add(mnuThumbView)
 		else:
-			if name == "treeFiles":
-				# Add Thumbnail View
-				self.mnuTree.add(mnuThumbView)
-			else:
-				# Add Detail View
-				self.mnuTree.add(mnuDetailView)
+			# Add Detail View
+			self.mnuTree.add(mnuDetailView)
 
 		self.mnuTree.show_all()
 		self.mnuTree.popup( None, None, None, event.button, event.time)

=== modified file 'openshot/windows/ui/Main_tree_popup.ui'
--- openshot/windows/ui/Main_tree_popup.ui	2011-08-16 21:08:06 +0000
+++ openshot/windows/ui/Main_tree_popup.ui	2012-09-10 04:31:28 +0000
@@ -5,26 +5,6 @@
   <object class="GtkMenu" id="mnuTreePopUp">
     <property name="visible">True</property>
     <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
-    <child>
-      <object class="GtkImageMenuItem" id="mnuAddFile">
-        <property name="label" translatable="yes">Import Files...</property>
-        <property name="visible">True</property>
-        <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
-        <property name="use_stock">False</property>
-        <property name="accel_group">accelgroup1</property>
-        <signal name="activate" handler="on_mnuAddFile_activate"/>
-        <property name="image">gtk-add</property>
-      </object>
-    </child>
   </object>
   <object class="GtkAccelGroup" id="accelgroup1"/>
-  
-  <object class="GtkImage" id="gtk-add">
-    <property name="visible">True</property>
-    <property name="stock">gtk-add</property>
-  </object>
-  <object class="GtkImage" id="gtk-directory">
-    <property name="visible">True</property>
-    <property name="stock">gtk-directory</property>
-  </object>
 </interface>