Changeset 659 for trunk

Show
Ignore:
Timestamp:
12/15/07 20:54:28 (11 months ago)
Author:
daelstorm
Message:

Fill filter comboboxes with saved past filters

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • trunk/nicotine+/pynicotine/gtkgui/search.py

    r658 r659  
    477477                self.resultsmodel = gtk.TreeStore(* self.COLUMN_TYPES ) 
    478478 
    479                 if self.frame.np.config.sections["searches"]["enablefilters"]: 
    480                         filter = self.frame.np.config.sections["searches"]["defilter"] 
    481                         self.FilterIn.child.set_text(filter[0]) 
    482                         self.FilterOut.child.set_text(filter[1]) 
    483                         self.FilterSize.child.set_text(filter[2]) 
    484                         self.FilterBitrate.child.set_text(filter[3]) 
    485                         self.FilterFreeSlot.set_active(filter[4]) 
    486                         if(len(filter) > 5): 
    487                                 self.FilterCountry.child.set_text(filter[5]) 
    488                         self.filtersCheck.set_active(1) 
     479                 
    489480 
    490481                if mode > 0: 
     
    492483                self.RememberCheckButton.set_active(remember) 
    493484                 
    494                 for i in [0, 128, 160, 192, 256, 320]: 
    495                         self.FilterBitrate.get_model().append([i]) 
    496                          
     485                 
     486                 
     487                self.PopulateFilters() 
     488                 
     489                 
    497490                self.FilterIn.connect("changed", self.OnFilterChanged) 
    498491                self.FilterOut.connect("changed", self.OnFilterChanged) 
     
    574567                iter = widget.get_active_iter() 
    575568                if iter: 
    576                         #print model.get_value(iter, 0) 
    577569                        self.OnRefilter(None) 
    578570                         
     571        def PopulateFilters(self): 
     572                if self.frame.np.config.sections["searches"]["enablefilters"]: 
     573                        filter = self.frame.np.config.sections["searches"]["defilter"] 
     574                        self.FilterIn.child.set_text(filter[0]) 
     575                        self.FilterOut.child.set_text(filter[1]) 
     576                        self.FilterSize.child.set_text(filter[2]) 
     577                        self.FilterBitrate.child.set_text(filter[3]) 
     578                        self.FilterFreeSlot.set_active(filter[4]) 
     579                        if(len(filter) > 5): 
     580                                self.FilterCountry.child.set_text(filter[5]) 
     581                        self.filtersCheck.set_active(1) 
     582                         
     583                for i in [0, 128, 160, 192, 256, 320]: 
     584                        self.FilterBitrate.get_model().append([i]) 
     585                s_config = self.frame.np.config.sections["searches"] 
     586                 
     587                for i in s_config["filterin"]: 
     588                        self.AddCombo(self.FilterIn, i, True) 
     589                for i in s_config["filterout"]: 
     590                        self.AddCombo(self.FilterOut, i, True) 
     591                for i in s_config["filtersize"]: 
     592                        self.AddCombo(self.FilterSize, i, True) 
     593                for i in s_config["filterbr"]: 
     594                        self.AddCombo(self.FilterBitrate, i, True) 
     595                for i in s_config["filtercc"]: 
     596                        self.AddCombo(self.FilterCountry ,i, True) 
     597                         
     598        def AddCombo(self, ComboboxEntry, text, list=False): 
     599                text = text.strip() 
     600                if not text: 
     601                        return False 
     602                model = ComboboxEntry.get_model() 
     603                iter = model.get_iter_root() 
     604                match = False 
     605                while iter is not None: 
     606                        value = model.get_value(iter, 0) 
     607                        if value.strip() == text: 
     608                                match = True 
     609                        iter = model.iter_next(iter) 
     610                if not match: 
     611                        if list: 
     612                                model.append([text]) 
     613                        else: 
     614                                model.prepend([text]) 
     615         
     616                 
    579617        def Attach(self, widget=None): 
    580618                self.Searches.attach_tab(self.Main) 
     
    12041242                history = self.frame.np.config.sections["searches"][title] 
    12051243                self.frame.np.config.pushHistory(history, text, 5) 
    1206                 match = False 
    1207                 model = widget.get_model() 
    1208                 iter = model.get_iter_root() 
    1209                 while iter is not None: 
    1210                         value = model.get_value(iter, 0) 
    1211                         if value.strip() == text: 
    1212                                 match = True 
    1213                         iter = model.iter_next(iter) 
    1214                 if not match: 
    1215                         widget.append_text(text) 
     1244                 
     1245                self.AddCombo(widget, text) 
     1246         
    12161247                widget.child.set_text(text) 
    12171248                return text