openshot.code team mailing list archive
-
openshot.code team
-
Mailing list archive
-
Message #00009
[Branch ~openshot.code/openshot/main] Rev 504: Applied a patch from Emil to fix bug #820569, to ensure consistency of the right click menu when ...
------------------------------------------------------------
revno: 504
committer: Andy Finch <we.rocked.in79@xxxxxxxxx>
branch nick: openshot
timestamp: Tue 2011-08-16 22:08:06 +0100
message:
Applied a patch from Emil to fix bug #820569, to ensure consistency of the right click menu when switching between the detail and thumbnail views in the project tree.
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 2011-08-16 20:12:18 +0000
+++ openshot/windows/MainGTK.py 2011-08-16 21:08:06 +0000
@@ -2624,15 +2624,17 @@
return True
+ # double click event for thumbnail file view
def on_icvFileIcons_button_press_event(self, widget, event, *args):
"""This shows the right click menu"""
if (event.button == 3):
- #iconview is active
+ # iconview is active
selected = self.icvFileIcons.get_selected_items()
+ model = self.icvFileIcons.get_model()
- #show the right click menu
- mnu = mnuTree(None, selected, form=self, project=self.project)
+ # show the right click menu
+ mnu = mnuTree(model, selected, form=self, project=self.project)
mnu.showmnu(event, widget)
@@ -3914,149 +3916,194 @@
# get correct gettext method
_ = self._
- #Show the right click menu.
- #dynamically show menu items depending on tree contents.
- #The Add Folder & Add File items are in the ui file - we always want them.
+ # Show the right click menu.
+ # dynamically show menu items depending on tree contents.
+ # The Add Folder & Add File items are in the ui file - we always want them.
if self.form.scrFileTree.get_property('visible') == True:
name = "treeFiles"
else:
name = "icvFileIcons"
+ # Option Construction
+
+ # Create Folder
+ mnuCreateFolder = gtk.ImageMenuItem(gtk.STOCK_DIRECTORY)
+ mnuCreateFolder.get_children()[0].set_label(_("Create Folder"))
+ mnuCreateFolder.connect('activate',self.on_mnuAddNewFolder_activate)
+
+ # Add to Timeline...
+ mnuAddToTimeline = gtk.ImageMenuItem(gtk.STOCK_ADD)
+ mnuAddToTimeline.get_children()[0].set_label(_("Add to Timeline..."))
+ mnuAddToTimeline.connect('activate',self.on_mnuAddToTimeline_activate)
+
+ # Preview File
+ mnuPreview = gtk.ImageMenuItem(gtk.STOCK_MEDIA_PLAY)
+ mnuPreview.get_children()[0].set_label(_("Preview File"))
+ mnuPreview.connect('activate',self.on_mnuPreview_activate)
+
+ # Convert To Image Sequence
+ mnuConvertToImages = gtk.ImageMenuItem(gtk.STOCK_CONVERT)
+ mnuConvertToImages.get_children()[0].set_label(_("Convert To Image Sequence"))
+ mnuConvertToImages.connect('activate',self.on_mnuConvertToImages_activate)
+
+ # Thumbnail View
+ mnuThumbView = gtk.ImageMenuItem(gtk.STOCK_FULLSCREEN)
+ mnuThumbView.get_children()[0].set_label(_("Thumbnail View"))
+ mnuThumbView.connect('activate',self.on_mnuThumbView_activate)
+
+ # Detail View
+ mnuDetailView = gtk.ImageMenuItem(gtk.STOCK_LEAVE_FULLSCREEN)
+ mnuDetailView.get_children()[0].set_label(_("Detail View"))
+ mnuDetailView.connect('activate',self.on_mnuDetailView_activate)
+
+ # Move File(s) to folder
+ mnuMoveFile = gtk.ImageMenuItem(gtk.STOCK_GO_FORWARD)
+ mnuMoveFile.get_children()[0].set_label(_("Move File(s) to Folder"))
+
+ # Populate the sub menu with available folders
+ folders = self.project.project_folder.ListFolders()
+ mnuSubMenu = gtk.Menu()
+ for folder in folders:
+ item = gtk.ImageMenuItem(gtk.STOCK_OPEN)
+ item.get_children()[0].set_label(folder)
+ item.connect("activate", self.move_file_to_folder, folder)
+ mnuSubMenu.add(item)
+
+ # Remove from Folder
+ if folders:
+ mnuSeparator = gtk.SeparatorMenuItem()
+ mnuSubMenu.add(mnuSeparator)
+
+ item = gtk.ImageMenuItem(gtk.STOCK_REMOVE)
+ item.get_children()[0].set_label(_("Remove from Folder"))
+ item.connect("activate", self.move_file_to_folder, _("Remove from Folder"))
+ mnuSubMenu.add(item)
+ else:
+ # Gray out the "Move File(s) to Folder" option
+ mnuMoveFile.set_sensitive(False)
+
+ # Add folders sub-menu to menu
+ mnuMoveFile.set_submenu(mnuSubMenu)
+
+ # Edit Title (Simple)
+ mnuEditTitle = gtk.ImageMenuItem(gtk.STOCK_EDIT)
+ mnuEditTitle.get_children()[0].set_label(_("Edit Title (Simple)"))
+ mnuEditTitle.connect('activate',self.on_mnuEditTitle_activate, "simple")
+
+ # Edit Title (Inkscape)
+ mnuEditTitle1 = gtk.ImageMenuItem(gtk.STOCK_EDIT)
+ mnuEditTitle1.get_children()[0].set_label(_("Edit Title (Inkscape)"))
+ mnuEditTitle1.connect('activate',self.on_mnuEditTitle_activate, "advanced")
+
+ # Remove From Project
+ mnuRemoveFile = gtk.ImageMenuItem(gtk.STOCK_DELETE)
+ mnuRemoveFile.get_children()[0].set_label(_("Remove from Project"))
+ mnuRemoveFile.connect('activate',self.on_mnuRemoveFile_activate)
+
+ # Upload to Web
+ mnuUploadToWeb = gtk.ImageMenuItem(gtk.STOCK_NETWORK)
+ mnuUploadToWeb.get_children()[0].set_label(_("Upload to Web"))
+ mnuUploadToWeb.connect('activate',self.on_mnuUploadToWeb_activate)
+
+ # File Properties
+ mnuFileProperties = gtk.ImageMenuItem(gtk.STOCK_PROPERTIES)
+ 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)
+
if self.selected:
-
+ # Determine type of selected item
+
is_video_selected = False
is_svg_selected = False
-
- # Add To Timeline
- mnuAddToTimeline = gtk.ImageMenuItem(gtk.STOCK_ADD)
- mnuAddToTimeline.get_children()[0].set_label(_("Add to Timeline..."))
- mnuAddToTimeline.connect('activate',self.on_mnuAddToTimeline_activate)
- self.mnuTree.add(mnuAddToTimeline)
-
- # Preview File
- mnuPreview = gtk.ImageMenuItem(gtk.STOCK_MEDIA_PLAY)
- mnuPreview.get_children()[0].set_label(_("Preview File"))
- mnuPreview.connect('activate',self.on_mnuPreview_activate)
- self.mnuTree.add(mnuPreview)
-
- mnuSeparator1 = gtk.SeparatorMenuItem()
- self.mnuTree.add(mnuSeparator1)
-
- #View options depend on what view is active
- if name == "treeFiles":
-
- iters = [self.model.get_iter(path) for path in self.selected]
- for iter in iters:
- # remove from the file object
- filename = self.model.get_value(iter, 1)
+ is_folder_selected = False
+
+ iters = [self.model.get_iter(path) for path in self.selected]
+ for iter in iters:
+ # remove from the file object
+ filename = self.model.get_value(iter, 1)
+ if name == "treeFiles":
unique_id = self.model.get_value(iter, 4)
-
- # get file object
- f = self.project.project_folder.FindFileByID(unique_id)
- if f:
- if f.file_type == "video":
- is_video_selected = True
- if f.file_type == "image" and ".svg" in f.name:
- is_svg_selected = True
-
- # show convert to image sequence (if video is selected)
- if is_video_selected:
- mnuConvertToImages = gtk.ImageMenuItem(gtk.STOCK_CONVERT)
- mnuConvertToImages.get_children()[0].set_label(_("Convert To Image Sequence"))
- mnuConvertToImages.connect('activate',self.on_mnuConvertToImages_activate)
- self.mnuTree.add(mnuConvertToImages)
-
- # add thumbnail option
- mnuThumbView = gtk.ImageMenuItem(gtk.STOCK_FULLSCREEN)
- mnuThumbView.get_children()[0].set_label(_("Thumbnail view"))
- mnuThumbView.connect('activate',self.on_mnuThumbView_activate)
- self.mnuTree.add(mnuThumbView)
-
- #Move Files to folder
- mnuMoveFile = gtk.ImageMenuItem(gtk.STOCK_GO_FORWARD)
- mnuMoveFile.get_children()[0].set_label(_("Move File(s) to Folder"))
- self.mnuTree.add(mnuMoveFile)
-
- folders = self.project.project_folder.ListFolders()
- mnuSubMenu = gtk.Menu()
-
- #populate the sub menu with available folders
- for folder in folders:
- item = gtk.ImageMenuItem(gtk.STOCK_OPEN)
- item.get_children()[0].set_label(folder)
- item.connect("activate", self.move_file_to_folder, folder)
- mnuSubMenu.add(item)
-
- #add remove from folder
- if folders:
- mnuSeparator = gtk.SeparatorMenuItem()
- mnuSubMenu.add(mnuSeparator)
-
- item = gtk.ImageMenuItem(gtk.STOCK_REMOVE)
- item.get_children()[0].set_label(_("Remove from Folder"))
- item.connect("activate", self.move_file_to_folder, _("Remove from Folder"))
- mnuSubMenu.add(item)
-
- # add sub-menu to menu
- mnuMoveFile.set_submenu(mnuSubMenu)
- else:
- # add detail view toggle
- mnuDetailView = gtk.ImageMenuItem(gtk.STOCK_LEAVE_FULLSCREEN)
- mnuDetailView.get_children()[0].set_label(_("Detail view"))
- mnuDetailView.connect('activate',self.on_mnuDetailView_activate)
- self.mnuTree.add(mnuDetailView)
-
- mnuSeparator = gtk.SeparatorMenuItem()
- self.mnuTree.add(mnuSeparator)
-
+ else:
+ unique_id = self.model.get_value(iter, 3)
+
+ # get file object
+ f = self.project.project_folder.FindFileByID(unique_id)
+ if f:
+ if f.file_type == "video":
+ is_video_selected = True
+ if f.file_type == "image" and ".svg" in f.name:
+ is_svg_selected = True
+ else:
+ is_folder_selected = True
+
+ if not is_folder_selected:
+ # Add To Timeline
+ self.mnuTree.add(mnuAddToTimeline)
+
+ # Add Preview File
+ 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:
- mnuEditTitle = gtk.ImageMenuItem(gtk.STOCK_EDIT)
- mnuEditTitle.get_children()[0].set_label(_("Edit Title (Simple)"))
- mnuEditTitle.connect('activate',self.on_mnuEditTitle_activate, "simple")
self.mnuTree.add(mnuEditTitle)
-
- mnuEditTitle1 = gtk.ImageMenuItem(gtk.STOCK_EDIT)
- mnuEditTitle1.get_children()[0].set_label(_("Edit Title (Inkscape)"))
- mnuEditTitle1.connect('activate',self.on_mnuEditTitle_activate, "advanced")
self.mnuTree.add(mnuEditTitle1)
-
- #Remove File
- mnuRemoveFile = gtk.ImageMenuItem(gtk.STOCK_DELETE)
- mnuRemoveFile.get_children()[0].set_label(_("Remove from Project"))
- mnuRemoveFile.connect('activate',self.on_mnuRemoveFile_activate)
+
+ # 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(mnuRemoveFile)
-
+
+ # Separator
mnuSeparator = gtk.SeparatorMenuItem()
self.mnuTree.add(mnuSeparator)
-
- # show convert to image sequence (if video is selected)
+
+ # Add Upload to Web (if video is selected)
if is_video_selected:
- mnuUploadToWeb = gtk.ImageMenuItem(gtk.STOCK_NETWORK)
- mnuUploadToWeb.get_children()[0].set_label(_("Upload to Web"))
- mnuUploadToWeb.connect('activate',self.on_mnuUploadToWeb_activate)
self.mnuTree.add(mnuUploadToWeb)
- #File properties
- mnuFileProperties = gtk.ImageMenuItem(gtk.STOCK_PROPERTIES)
- mnuFileProperties.get_children()[0].set_label(_("File Properties"))
- mnuFileProperties.connect('activate', self.on_FileProperties_activate)
- self.mnuTree.add(mnuFileProperties)
-
+ # File properties (if folder isn't selected)
+ if not is_folder_selected:
+ self.mnuTree.add(mnuFileProperties)
+
else:
-
- # no item selected
if name == "treeFiles":
- # add thumbnail option
- mnuThumbView = gtk.ImageMenuItem(gtk.STOCK_FULLSCREEN)
- mnuThumbView.get_children()[0].set_label(_("Thumbnail view"))
- mnuThumbView.connect('activate',self.on_mnuThumbView_activate)
+ # Add Thumbnail View
self.mnuTree.add(mnuThumbView)
else:
- # add detail view toggle
- mnuDetailView = gtk.ImageMenuItem(gtk.STOCK_LEAVE_FULLSCREEN)
- mnuDetailView.get_children()[0].set_label(_("Detail view"))
- mnuDetailView.connect('activate',self.on_mnuDetailView_activate)
+ # Add Detail View
self.mnuTree.add(mnuDetailView)
self.mnuTree.show_all()
=== modified file 'openshot/windows/ui/Main_tree_popup.ui'
--- openshot/windows/ui/Main_tree_popup.ui 2010-08-29 03:42:32 +0000
+++ openshot/windows/ui/Main_tree_popup.ui 2011-08-16 21:08:06 +0000
@@ -16,22 +16,6 @@
<property name="image">gtk-add</property>
</object>
</child>
- <child>
- <object class="GtkImageMenuItem" id="mnuAddNewFolder">
- <property name="label" translatable="yes">Create Folder...</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_mnuAddNewFolder_activate"/>
- <property name="image">gtk-directory</property>
- </object>
- </child>
- <child>
- <object class="GtkSeparatorMenuItem" id="menuitem5">
- <property name="visible">True</property>
- </object>
- </child>
</object>
<object class="GtkAccelGroup" id="accelgroup1"/>