Ryan Roth wrote: > New version Best. workaround, is to add a new tracker item and add a cross reference to the original item.
Will you do this here. Duncan > > ------------------------------------------------------------------------ > > Index: src/plugins/movequeue.py > =================================================================== > --- src/plugins/movequeue.py (revision 0) > +++ src/plugins/movequeue.py (revision 0) > @@ -0,0 +1,119 @@ > +import os > +import plugin > +import config > + > +import rc > +import event > + > +from gui import ConfirmBox > +from gui.PopupBox import PopupBox > +from item import Item > +import config, menu, rc, plugin, osd, util > + > +class PluginInterface(plugin.MainMenuPlugin): > + """ > + Video File Mover With Queue > + > + Activate: > + plugin.activate('video.movequeue') > + """ > + def __init__(self): > + if not hasattr(config, 'VIDEO_QUEUE_DIR'): > + self.reason = 'VIDEO_QUEUE_DIR not defined' > + return > + plugin.MainMenuPlugin.__init__(self) > + > + def items(self, parent): > + return [ VideoQueueMainMenu(parent) ] > + > + > +class QueueItem(Item): > + """ > + Item for the menu > + """ > + def __init__(self, parent): > + Item.__init__(self, parent) > + > + def actions(self): > + """ > + return a list of actions for this item > + """ > + return [ ( self.runcmd , _('Run Command') ) ] > + > + def runcmd(self, arg=None, menuw=None): > + """ > + Run Move Command > + """ > + if self.function == 'move_queue': > + queue_items = open('/tmp/video_move_queue','r') > + popup = PopupBox(text=_('Moving queued files..')) > + popup.show() > + for line in queue_items: > + os.system('mv "%s" "%s"' % (line[:-1], > config.VIDEO_QUEUE_DIR)) > + queue_items.close() > + os.system('echo > /tmp/video_move_queue') > + popup.destroy() > + else: > + what = _('Delete from queue?') > + ConfirmBox(text=what, handler=self.delete_from_queue, > default_choice=1).show() > + return > + > + def delete_from_queue(self, arg=None, menuw=None): > + new_file = '' > + index = 0 > + delete_item = open('/tmp/video_move_queue','r') > + for line in delete_item.readlines(): > + index = index + 1 > + if index <> self.index: > + new_file += line > + delete_item.close > + delete_item = open('/tmp/video_move_queue', 'w') > + delete_item.write(new_file) > + delete_item.close() > + # > + # really, really bad hack to redraw menu > + # > + rc.post_event(event.MENU_BACK_ONE_MENU) > + rc.post_event(event.MENU_SELECT) > + > + return > + > +class VideoQueueMainMenu(Item): > + """ > + this is the item for the main menu. > + """ > + def __init__(self, parent): > + Item.__init__(self, parent) > + self.name = _('Video Mover Queue') > + > + def actions(self): > + """ > + return a list of actions for this item > + """ > + items = [ ( self.create_queue_menu , _('Video Mover Queue' )) ] > + return items > + > + def create_queue_menu(self, arg=None, menuw=None): > + queue_item = [] > + queue_menu_items = [] > + index = 0 > + queue_item = QueueItem(self) > + queue_item.name = 'Move Queue Now' > + queue_item.function = 'move_queue' > + queue_item.index = 0 > + queue_menu_items += [ queue_item ] > + queue_items = open('/tmp/video_move_queue','r') > + for line in queue_items: > + queue_item = QueueItem(self) > + queue_item.name = line > + queue_item.function = 'sub_menu' > + index += 1 > + queue_item.index = index > + queue_menu_items += [ queue_item ] > + queue_items.close() > + if (len(queue_menu_items) == 0): > + queue_menu_items += [menu.MenuItem(_('No queued items found'), > menuw.goto_prev_page, 0)] > + queue_menu = menu.Menu(_('Video Mover Queue'), queue_menu_items) > + menuw.pushmenu(queue_menu) > + menuw.refresh() > + > Index: src/video/plugins/movequeuehelper.py > =================================================================== > --- src/video/plugins/movequeuehelper.py (revision 0) > +++ src/video/plugins/movequeuehelper.py (revision 0) > @@ -0,0 +1,22 @@ > +import os > +import plugin > +import config > + > +class PluginInterface(plugin.ItemPlugin): > + > + def __init__(self): > + plugin.ItemPlugin.__init__(self) > + > + #Actions: > + def actions(self,item): > + self.item = item > + return [ (self.queue_to_move, 'Add to queue to be moved')] > + > + def queue_to_move(self,arg=None, menuw=None): > + item = self.item > + f = file('/tmp/video_move_queue', 'a') > + f.write(item.filename) > + f.write('\n') > + f.close() > + menuw.delete_menu(arg, menuw) > + menuw.refresh() > > > ------------------------------------------------------------------------ > > ------------------------------------------------------------------------- > Take Surveys. Earn Cash. Influence the Future of IT > Join SourceForge.net's Techsay panel and you'll get the chance to share your > opinions on IT & business topics through brief surveys - and earn cash > http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV > > > ------------------------------------------------------------------------ > > _______________________________________________ > Freevo-devel mailing list > Freevo-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/freevo-devel ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys - and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV _______________________________________________ Freevo-devel mailing list Freevo-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freevo-devel