コード例 #1
0
    def on_replace_clicked(self, widget):

        tracks = [row[2] for row in self.tracks_list.get_model() if row[1]]
        replace_str = self.replace_entry.get_text().strip()

        if replace_str:
            query = _("Replace '%s' with '%s' on %s tracks?") % (
                self.search_str, replace_str, len(tracks))
        else:
            query = _("Delete '%s' from %s tracks?") % (self.search_str,
                                                        len(tracks))

        if dialogs.yesno(self, query) != Gtk.ResponseType.YES:
            return

        for track in tracks:

            groups = gt_common._get_track_groups(track, self.tagname)

            if self.search_str != '':
                groups.discard(self.search_str)

            if replace_str != '':
                groups.add(replace_str)

            if not gt_common.set_track_groups(track, groups):
                return

        dialogs.info(self, "Tags successfully renamed!")
        self.reset()
コード例 #2
0
ファイル: gt_mass.py プロジェクト: thiblahute/exaile
    def on_find_clicked(self, widget):

        self.search_str = self.search_entry.get_text().strip()
        self.replace_str = self.replace_entry.get_text().strip()
        self.tagname = gt_common.get_tagname()

        # freeze update
        model = self.tracks_list.get_model()
        self.tracks_list.freeze_child_notify()
        self.tracks_list.set_model(None)

        model.clear()

        idx = self.playlists.get_active()
        if idx != -1 and (self.search_str != '' or self.replace_str != ''):

            smart, name = self.playlists.get_model()[idx]
            if smart:
                pl = self.exaile.smart_playlists.get_playlist(name)
            else:
                pl = self.exaile.playlists.get_playlist(name)

            if hasattr(pl, 'get_playlist'):
                pl = pl.get_playlist(self.exaile.collection)

            for track in pl:

                groups = gt_common._get_track_groups(track, self.tagname)

                if self.search_str != '' and self.search_str not in groups:
                    continue

                name = ' - '.join([
                    track.get_tag_display('artist'),
                    track.get_tag_display('album'),
                    track.get_tag_display('title')
                ])
                model.append((True, name, track))

        # unfreeze, draw it up
        self.tracks_list.set_model(model)
        self.tracks_list.thaw_child_notify()

        self.found_label = _('%s tracks found') % len(model)

        self.replace.set_sensitive(len(model) != 0)
コード例 #3
0
ファイル: gt_mass.py プロジェクト: BlubberHarpoonist/exaile
 def on_find_clicked(self, widget):
     
     self.search_str = self.search_entry.get_text().strip()
     self.replace_str = self.replace_entry.get_text().strip()
     self.tagname = gt_common.get_tagname()
     
     # freeze update
     model = self.tracks_list.get_model()
     self.tracks_list.freeze_child_notify()
     self.tracks_list.set_model(None)
         
     model.clear()
     
     idx = self.playlists.get_active() 
     if idx != -1 and (self.search_str != '' or self.replace_str != ''):
     
         smart, name = self.playlists.get_model()[idx]
         if smart:
             pl = self.exaile.smart_playlists.get_playlist(name)
         else:
             pl = self.exaile.playlists.get_playlist(name)
         
         if hasattr(pl, 'get_playlist'):
             pl = pl.get_playlist(self.exaile.collection)
             
         for track in pl:
             
             groups = gt_common._get_track_groups(track, self.tagname)
             
             if self.search_str != '' and self.search_str not in groups:
                 continue
             
             name = ' - '.join([ track.get_tag_display('artist'),
                                 track.get_tag_display('album'),
                                 track.get_tag_display('title')])
             model.append((True, name, track))
     
     # unfreeze, draw it up
     self.tracks_list.set_model(model)
     self.tracks_list.thaw_child_notify()
     
     self.found_label = _('%s tracks found') % len(model)
     
     self.replace.set_sensitive(len(model) != 0)
コード例 #4
0
ファイル: gt_mass.py プロジェクト: BlubberHarpoonist/exaile
    def on_replace_clicked(self, widget):
        
        tracks = [row[2] for row in self.tracks_list.get_model() if row[1]]
        
        query = _("Replace '%s' with '%s' on %s tracks?") % (self.search_str, self.replace_str, len(tracks))
        if dialogs.yesno(self, query) != Gtk.ResponseType.YES:
            return 

        for track in tracks:
            
            groups = gt_common._get_track_groups(track, self.tagname)
            
            if self.search_str != '':
                groups.discard(self.search_str)
            
            if self.replace_str != '':
                groups.add(self.replace_str)
            
            if not gt_common.set_track_groups(track, groups):
                return
        
        dialogs.info(self, "Tags successfully renamed!")
        self.reset()
コード例 #5
0
ファイル: gt_mass.py プロジェクト: thiblahute/exaile
    def on_replace_clicked(self, widget):

        tracks = [row[2] for row in self.tracks_list.get_model() if row[1]]

        query = _("Replace '%s' with '%s' on %s tracks?") % (
            self.search_str, self.replace_str, len(tracks))
        if dialogs.yesno(self.window, query) != gtk.RESPONSE_YES:
            return

        for track in tracks:

            groups = gt_common._get_track_groups(track, self.tagname)

            if self.search_str != '':
                groups.discard(self.search_str)

            if self.replace_str != '':
                groups.add(self.replace_str)

            if not gt_common.set_track_groups(track, groups):
                return

        dialogs.info(self.window, "Tags successfully renamed!")
        self.reset()