Changeset 123

Show
Ignore:
Timestamp:
Wed Oct 4 11:33:09 2006
Author:
manatlan
Message:

- new feature "selection's filter"
- remove feature "multi-albums", because "selection's filter" replace it
- new feature "key tagguing", with interface to edit keys
- some bugs was corrected ;-)

Files:

Legend:

Unmodified
Added
Removed
Modified
  • trunk/jbrout.glade

    r113 r123  
    109 109             </widget>  
    110 110           </child>  
    111    
    112             <child>  
    113               <widget class="GtkMenuItem" id="malbums">  
    114                 <property name="visible">True</property>  
    115                 <property name="label" translatable="yes">[multi-albums]</property>  
    116                 <property name="use_underline">True</property>  
    117               </widget>  
    118             </child>  
    119 111         </widget>  
    120 112         <packing>  
     
    261 253             </packing>  
    262 254           </child>  
      255  
      256           <child>  
      257             <widget class="GtkCheckButton" id="cbxFilter">  
      258               <property name="visible">True</property>  
      259               <property name="can_focus">True</property>  
      260               <property name="label" translatable="yes">filter</property>  
      261               <property name="use_underline">True</property>  
      262               <property name="relief">GTK_RELIEF_NORMAL</property>  
      263               <property name="focus_on_click">True</property>  
      264               <property name="active">False</property>  
      265               <property name="inconsistent">False</property>  
      266               <property name="draw_indicator">True</property>  
      267               <signal name="toggled" handler="on_cbxFilter_toggled" last_modification_time="Sat, 23 Sep 2006 08:38:33 GMT"/>  
      268             </widget>  
      269             <packing>  
      270               <property name="padding">0</property>  
      271               <property name="expand">False</property>  
      272               <property name="fill">False</property>  
      273             </packing>  
      274           </child>  
    263 275         </widget>  
    264 276         <packing>  
     
    564 576  
    565 577               <child>  
    566                   <widget class="GtkScrolledWindow" id="scrolledwindow2">  
      578                 <widget class="GtkVBox" id="vbox3">  
    566 578                   <property name="visible">True</property>  
    567                     <property name="can_focus">True</property>  
    568                     <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>  
    569                     <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>  
    570                     <property name="shadow_type">GTK_SHADOW_IN</property>  
    571                     <property name="window_placement">GTK_CORNER_TOP_LEFT</property>  
      579                   <property name="homogeneous">False</property>  
      580                   <property name="spacing">0</property>  
      581  
      582                   <child>  
      583                     <widget class="GtkScrolledWindow" id="scrolledwindow2">  
      584                       <property name="visible">True</property>  
      585                       <property name="can_focus">True</property>  
      586                       <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>  
      587                       <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>  
      588                       <property name="shadow_type">GTK_SHADOW_IN</property>  
      589                       <property name="window_placement">GTK_CORNER_TOP_LEFT</property>  
      590  
      591                       <child>  
      592                         <widget class="GtkTreeView" id="treeviewtags">  
      593                           <property name="visible">True</property>  
      594                           <property name="can_focus">True</property>  
      595                           <property name="headers_visible">False</property>  
      596                           <property name="rules_hint">False</property>  
      597                           <property name="reorderable">False</property>  
      598                           <property name="enable_search">True</property>  
      599                           <property name="fixed_height_mode">False</property>  
      600                           <property name="hover_selection">False</property>  
      601                           <property name="hover_expand">False</property>  
      602                           <signal name="row_activated" handler="on_treeviewtags_row_activated" last_modification_time="Mon, 02 May 2005 12:43:53 GMT"/>  
      603                           <signal name="row_collapsed" handler="on_treeviewtags_row_collapsed" last_modification_time="Mon, 02 May 2005 12:43:57 GMT"/>  
      604                           <signal name="row_expanded" handler="on_treeviewtags_row_expanded" last_modification_time="Mon, 02 May 2005 12:44:00 GMT"/>  
      605                           <signal name="drag_data_get" handler="on_treeviewtags_drag_data_get" last_modification_time="Mon, 02 May 2005 13:28:02 GMT"/>  
      606                           <signal name="drag_data_received" handler="on_treeviewtags_drag_data_received" last_modification_time="Mon, 02 May 2005 13:28:10 GMT"/>  
      607                           <signal name="button_release_event" handler="on_treeviewtags_button_release_event" last_modification_time="Mon, 02 May 2005 18:08:22 GMT"/>  
      608                           <signal name="cursor_changed" handler="on_treeviewtags_cursor_changed" last_modification_time="Fri, 06 May 2005 13:34:25 GMT"/>  
      609                           <signal name="button_press_event" handler="on_treeviewtags_button_press_event" last_modification_time="Sat, 01 Oct 2005 11:11:07 GMT"/>  
      610                         </widget>  
      611                       </child>  
      612                     </widget>  
      613                     <packing>  
      614                       <property name="padding">0</property>  
      615                       <property name="expand">True</property>  
      616                       <property name="fill">True</property>  
      617                     </packing>  
      618                   </child>  
    572 619  
    573 620                   <child>  
    574                       <widget class="GtkTreeView" id="treeviewtags">  
      621                     <widget class="GtkCheckButton" id="cbxUseTagKey">  
    574 621                       <property name="visible">True</property>  
    575 622                       <property name="can_focus">True</property>  
    576                         <property name="headers_visible">False</property>  
    577                         <property name="rules_hint">False</property>  
    578                         <property name="reorderable">False</property>  
    579                         <property name="enable_search">True</property>  
    580                         <property name="fixed_height_mode">False</property>  
    581                         <property name="hover_selection">False</property>  
    582                         <property name="hover_expand">False</property>  
    583                         <signal name="row_activated" handler="on_treeviewtags_row_activated" last_modification_time="Mon, 02 May 2005 12:43:53 GMT"/>  
    584                         <signal name="row_collapsed" handler="on_treeviewtags_row_collapsed" last_modification_time="Mon, 02 May 2005 12:43:57 GMT"/>  
    585                         <signal name="row_expanded" handler="on_treeviewtags_row_expanded" last_modification_time="Mon, 02 May 2005 12:44:00 GMT"/>  
    586                         <signal name="drag_data_get" handler="on_treeviewtags_drag_data_get" last_modification_time="Mon, 02 May 2005 13:28:02 GMT"/>  
    587                         <signal name="drag_data_received" handler="on_treeviewtags_drag_data_received" last_modification_time="Mon, 02 May 2005 13:28:10 GMT"/>  
    588                         <signal name="button_release_event" handler="on_treeviewtags_button_release_event" last_modification_time="Mon, 02 May 2005 18:08:22 GMT"/>  
    589                         <signal name="cursor_changed" handler="on_treeviewtags_cursor_changed" last_modification_time="Fri, 06 May 2005 13:34:25 GMT"/>  
    590                         <signal name="button_press_event" handler="on_treeviewtags_button_press_event" last_modification_time="Sat, 01 Oct 2005 11:11:07 GMT"/>  
    591                         <signal name="drag_begin" handler="on_treeviewtags_drag_begin" last_modification_time="Sat, 01 Oct 2005 12:26:25 GMT"/>  
      623                       <property name="label" translatable="yes">Use key tagging</property>  
      624                       <property name="use_underline">True</property>  
      625                       <property name="relief">GTK_RELIEF_NORMAL</property>  
      626                       <property name="focus_on_click">True</property>  
      627                       <property name="active">False</property>  
      628                       <property name="inconsistent">False</property>  
      629                       <property name="draw_indicator">True</property>  
      630                       <signal name="toggled" handler="on_cbxUseTagKey_toggled" last_modification_time="Fri, 22 Sep 2006 14:36:40 GMT"/>  
    592 631                     </widget>  
      632                     <packing>  
      633                       <property name="padding">0</property>  
      634                       <property name="expand">False</property>  
      635                       <property name="fill">False</property>  
      636                     </packing>  
    593 637                   </child>  
    594 638                 </widget>  
     
    631 675  
    632 676           <child>  
    633               <placeholder/>  
      677             <widget class="GtkHPaned" id="hpanedView">  
      678               <property name="visible">True</property>  
      679               <property name="can_focus">True</property>  
      680               <property name="position">0</property>  
      681  
      682               <child>  
      683                 <placeholder/>  
      684               </child>  
      685  
      686               <child>  
      687                 <widget class="GtkFrame" id="frameFilter">  
      688                   <property name="width_request">206</property>  
      689                   <property name="visible">True</property>  
      690                   <property name="label_xalign">0</property>  
      691                   <property name="label_yalign">0.5</property>  
      692                   <property name="shadow_type">GTK_SHADOW_NONE</property>  
      693  
      694                   <child>  
      695                     <widget class="GtkAlignment" id="alignment1">  
      696                       <property name="visible">True</property>  
      697                       <property name="xalign">0.5</property>  
      698                       <property name="yalign">0.5</property>  
      699                       <property name="xscale">1</property>  
      700                       <property name="yscale">1</property>  
      701                       <property name="top_padding">0</property>  
      702                       <property name="bottom_padding">0</property>  
      703                       <property name="left_padding">12</property>  
      704                       <property name="right_padding">0</property>  
      705  
      706                       <child>  
      707                         <widget class="GtkVBox" id="vbox4">  
      708                           <property name="visible">True</property>  
      709                           <property name="homogeneous">False</property>  
      710                           <property name="spacing">0</property>  
      711  
      712                           <child>  
      713                             <widget class="GtkScrolledWindow" id="scrolledwindow4">  
      714                               <property name="visible">True</property>  
      715                               <property name="can_focus">True</property>  
      716                               <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>  
      717                               <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>  
      718                               <property name="shadow_type">GTK_SHADOW_IN</property>  
      719                               <property name="window_placement">GTK_CORNER_TOP_LEFT</property>  
      720  
      721                               <child>  
      722                                 <widget class="GtkTreeView" id="tvFilteredTags">  
      723                                   <property name="visible">True</property>  
      724                                   <property name="can_focus">True</property>  
      725                                   <property name="headers_visible">False</property>  
      726                                   <property name="rules_hint">False</property>  
      727                                   <property name="reorderable">False</property>  
      728                                   <property name="enable_search">True</property>  
      729                                   <property name="fixed_height_mode">False</property>  
      730                                   <property name="hover_selection">False</property>  
      731                                   <property name="hover_expand">False</property>  
      732                                   <signal name="drag_data_get" handler="on_treeviewtags_drag_data_get" last_modification_time="Sat, 23 Sep 2006 13:27:35 GMT"/>  
      733                                   <signal name="button_press_event" handler="on_treeviewtags_button_press_event" last_modification_time="Sat, 23 Sep 2006 13:37:12 GMT"/>  
      734                                   <signal name="cursor_changed" handler="on_treeviewtags_cursor_changed" last_modification_time="Sat, 23 Sep 2006 13:39:43 GMT"/>  
      735                                 </widget>  
      736                               </child>  
      737                             </widget>  
      738                             <packing>  
      739                               <property name="padding">0</property>  
      740                               <property name="expand">True</property>  
      741                               <property name="fill">True</property>  
      742                             </packing>  
      743                           </child>  
      744  
      745                           <child>  
      746                             <widget class="GtkScrolledWindow" id="scrolledwindow5">  
      747                               <property name="visible">True</property>  
      748                               <property name="can_focus">True</property>  
      749                               <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>  
      750                               <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>  
      751                               <property name="shadow_type">GTK_SHADOW_IN</property>  
      752                               <property name="window_placement">GTK_CORNER_TOP_LEFT</property>  
      753  
      754                               <child>  
      755                                 <widget class="GtkTreeView" id="tvFilteredAlbums">  
      756                                   <property name="visible">True</property>  
      757                                   <property name="can_focus">True</property>  
      758                                   <property name="headers_visible">False</property>  
      759                                   <property name="rules_hint">False</property>  
      760                                   <property name="reorderable">False</property>  
      761                                   <property name="enable_search">True</property>  
      762                                   <property name="fixed_height_mode">False</property>  
      763                                   <property name="hover_selection">False</property>  
      764                                   <property name="hover_expand">False</property>  
      765                                 </widget>  
      766                               </child>  
      767                             </widget>  
      768                             <packing>  
      769                               <property name="padding">0</property>  
      770                               <property name="expand">True</property>  
      771                               <property name="fill">True</property>  
      772                             </packing>  
      773                           </child>  
      774                         </widget>  
      775                       </child>  
      776                     </widget>  
      777                   </child>  
      778  
      779                   <child>  
      780                     <widget class="GtkLabel" id="label7">  
      781                       <property name="visible">True</property>  
      782                       <property name="label" translatable="yes">Selection's filter</property>  
      783                       <property name="use_underline">False</property>  
      784                       <property name="use_markup">True</property>  
      785                       <property name="justify">GTK_JUSTIFY_LEFT</property>  
      786                       <property name="wrap">False</property>  
      787                       <property name="selectable">False</property>  
      788                       <property name="xalign">0.5</property>  
      789                       <property name="yalign">0.5</property>  
      790                       <property name="xpad">0</property>  
      791                       <property name="ypad">0</property>  
      792                       <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>  
      793                       <property name="width_chars">-1</property>  
      794                       <property name="single_line_mode">False</property>  
      795                       <property name="angle">0</property>  
      796                     </widget>  
      797                     <packing>  
      798                       <property name="type">label_item</property>  
      799                     </packing>  
      800                   </child>  
      801                 </widget>  
      802                 <packing>  
      803                   <property name="shrink">True</property>  
      804                   <property name="resize">True</property>  
      805                 </packing>  
      806               </child>  
      807             </widget>  
      808             <packing>  
      809               <property name="shrink">True</property>  
      810               <property name="resize">True</property>  
      811             </packing>  
    634 812           </child>  
    635 813         </widget>  
     
    656 834 </widget>  
    657 835  
      836 <widget class="GtkWindow" id="WinGetKey">  
      837   <property name="visible">True</property>  
      838   <property name="can_focus">True</property>  
      839   <property name="has_focus">True</property>  
      840   <property name="title" translatable="yes">JBrout</property>  
      841   <property name="type">GTK_WINDOW_TOPLEVEL</property>  
      842   <property name="window_position">GTK_WIN_POS_CENTER</property>  
      843   <property name="modal">False</property>  
      844   <property name="resizable">True</property>  
      845   <property name="destroy_with_parent">False</property>  
      846   <property name="decorated">True</property>  
      847   <property name="skip_taskbar_hint">False</property>  
      848   <property name="skip_pager_hint">False</property>  
      849   <property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property>  
      850   <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>  
      851   <property name="focus_on_map">True</property>  
      852   <property name="urgency_hint">False</property>  
      853   <signal name="key_press_event" handler="on_WinGetKey_key_press_event" last_modification_time="Thu, 21 Sep 2006 15:05:19 GMT"/>  
      854   <signal name="delete_event" handler="on_WinGetKey_delete_event" last_modification_time="Thu, 21 Sep 2006 15:11:44 GMT"/>  
      855  
      856   <child>  
      857     <widget class="GtkVBox" id="vbox2">  
      858       <property name="visible">True</property>  
      859       <property name="homogeneous">False</property>  
      860       <property name="spacing">0</property>  
      861  
      862       <child>  
      863         <widget class="GtkLabel" id="label6">  
      864           <property name="visible">True</property>  
      865           <property name="label" translatable="yes">Press a key</property>  
      866           <property name="use_underline">False</property>  
      867           <property name="use_markup">False</property>  
      868           <property name="justify">GTK_JUSTIFY_LEFT</property>  
      869           <property name="wrap">False</property>  
      870           <property name="selectable">False</property>  
      871           <property name="xalign">0.5</property>  
      872           <property name="yalign">0.5</property>  
      873           <property name="xpad">0</property>  
      874           <property name="ypad">3</property>  
      875           <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>  
      876           <property name="width_chars">-1</property>  
      877           <property name="single_line_mode">False</property>  
      878           <property name="angle">0</property>  
      879         </widget>  
      880         <packing>  
      881           <property name="padding">0</property>  
      882           <property name="expand">False</property>  
      883           <property name="fill">False</property>  
      884         </packing>  
      885       </child>  
      886  
      887       <child>  
      888         <widget class="GtkLabel" id="label">  
      889           <property name="visible">True</property>  
      890           <property name="label" translatable="yes">-</property>  
      891           <property name="use_underline">False</property>  
      892           <property name="use_markup">False</property>  
      893           <property name="justify">GTK_JUSTIFY_LEFT</property>  
      894           <property name="wrap">False</property>  
      895           <property name="selectable">False</property>  
      896           <property name="xalign">0.5</property>  
      897           <property name="yalign">0.5</property>  
      898           <property name="xpad">1</property>  
      899           <property name="ypad">8</property>  
      900           <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>  
      901           <property name="width_chars">-1</property>  
      902           <property name="single_line_mode">False</property>  
      903           <property name="angle">0</property>  
      904         </widget>  
      905         <packing>  
      906           <property name="padding">0</property>  
      907           <property name="expand">False</property>  
      908           <property name="fill">False</property>  
      909         </packing>  
      910       </child>  
      911  
      912       <child>  
      913         <widget class="GtkHButtonBox" id="hbuttonbox1">  
      914           <property name="visible">True</property>  
      915           <property name="layout_style">GTK_BUTTONBOX_END</property>  
      916           <property name="spacing">0</property>  
      917  
      918           <child>  
      919             <widget class="GtkButton" id="btnCancel">  
      920               <property name="visible">True</property>  
      921               <property name="can_default">True</property>  
      922               <property name="can_focus">True</property>  
      923               <property name="label">gtk-cancel</property>  
      924               <property name="use_stock">True</property>  
      925               <property name="relief">GTK_RELIEF_NORMAL</property>  
      926               <property name="focus_on_click">True</property>  
      927               <signal name="clicked" handler="on_btnCancel_clicked" last_modification_time="Thu, 21 Sep 2006 15:03:13 GMT"/>  
      928             </widget>  
      929           </child>  
      930  
      931           <child>  
      932             <widget class="GtkButton" id="btnUndo">  
      933               <property name="visible">True</property>  
      934               <property name="can_default">True</property>  
      935               <property name="can_focus">True</property>  
      936               <property name="label">gtk-undo</property>  
      937               <property name="use_stock">True</property>  
      938               <property name="relief">GTK_RELIEF_NORMAL</property>  
      939               <property name="focus_on_click">True</property>  
      940               <signal name="clicked" handler="on_btnUndo_clicked" last_modification_time="Thu, 21 Sep 2006 19:11:11 GMT"/>  
      941             </widget>  
      942           </child>  
      943  
      944           <child>  
      945             <widget class="GtkButton" id="btnOk">  
      946               <property name="visible">True</property>  
      947               <property name="can_default">True</property>  
      948               <property name="can_focus">True</property>  
      949               <property name="label">gtk-apply</property>  
      950               <property name="use_stock">True</property>  
      951               <property name="relief">GTK_RELIEF_NORMAL</property>  
      952               <property name="focus_on_click">True</property>  
      953               <signal name="clicked" handler="on_btnOk_clicked" last_modification_time="Thu, 21 Sep 2006 15:14:50 GMT"/>  
      954             </widget>  
      955           </child>  
      956         </widget>  
      957         <packing>  
      958           <property name="padding">0</property>  
      959           <property name="expand">False</property>  
      960           <property name="fill">True</property>  
      961         </packing>  
      962       </child>  
      963     </widget>  
      964   </child>  
      965 </widget>  
      966  
    658 967 </glade-interface>  
  • trunk/tools.py

    r119 r123  
    55 55  
    56 56    format = "-nfp%Y%m%d_%H%M%S"  
      57    #format = "-nf%Y-%m-%d_%H-%M-%S"  
      58  
    57 59    isWin=(sys.platform[:3] == "win")  
    58 60    __path =os.path.join(os.getcwdu(),u"tools")  
  • trunk/libs/winsearch/winsearch.py

    r102 r123  
    61 61     glade=os.path.join(os.path.dirname(__file__), 'winsearch.glade')  
    62 62  
    63       def init(self):  
      63     def init(self,storeTags):  
    63 63         try:  
    64 64             min,max=JBrout.db.getMinMaxDates()  
     
    132 132  
    133 133         try:  
    134               if Winsearch.t:  
    135                   store=Winsearch.t.get_model()  
    136                   self.tv_tags.set_model( store )  
    137                   store.expander(self.tv_tags)  
    138                   store.cleanSelections()  
      134             self.tv_tags.set_model( storeTags )  
      135             storeTags.expander(self.tv_tags)  
      136             storeTags.cleanSelections()  
    139 137         except:  
    140 138             pass  
  • trunk/jbrout.py

    r121 r123  
    85 85     print >>sys.stdout,m  
    86 86  
      87 class WinGetKey(GladeApp):  
      88     glade=os.path.join(os.path.dirname(__file__), 'jbrout.glade')  
      89     window="WinGetKey"  
      90     def init(self,k):  
      91         self.main_widget.set_modal(True)  
      92         self.main_widget.set_position(gtk.WIN_POS_CENTER)  
      93         if k: self.label.set_text(k)  
      94     def on_WinGetKey_key_press_event(self,w,e):  
      95         if e.keyval<1000:  # no big keys (return, arrows, alt, ctrl, shift ..)  
      96             key=gtk.gdk.keyval_name(e.keyval).lower()  
      97             self.label.set_text(key)  
      98     def on_btnCancel_clicked(self,*args):  
      99         self.quit(False)  
      100     def on_btnUndo_clicked(self,*args):  
      101         self.quit("")  
      102     def on_btnOk_clicked(self,*args):  
      103         self.quit(self.label.get_text())  
      104     def on_WinGetKey_delete_event(self,*a):  
      105         self.quit(False)  
    87 106  
    88 107 #========================================================  
     
    116 135         JPlugin.parent.showProgress(c,m,msg)  
    117 136  
    118    
    119    
      137     def getGeneralConfItem(self,n):  
      138         """Permit to read General JBrout configuration parameter 'n' """  
      139         return self.__conf[n]  
    120 140  
    121 141  
     
    138 158  
    139 159             # allow drop  
    140               self.drag_dest_set(gtk.DEST_DEFAULT_ALL, [('from_tags', 0, 111),],  
      160             self.drag_dest_set(gtk.DEST_DEFAULT_ALL, [('from_tags', 0, 111),('from_ftags', 0, 112),],  
    140 160                 gtk.gdk.ACTION_COPY | gtk.gdk.ACTION_MOVE)  
    141 161             self.connect("drag_data_received",self.on_drag_data_received_data)  
     
    144 164     def on_key_press_for_tag(self,widget,event):  
    145 165         if JBrout.modify:  
    146               if event.string != "'":  
    147                   t= JBrout.tags.getTagForKey(event.string)  
      166             if self.parentWin.cbxUseTagKey.get_active():  
      167                 key=gtk.gdk.keyval_name(event.keyval).lower()  
      168                 t= JBrout.tags.getTagForKey(key)  
    148 169                 if t:  
    149                       self.parentWin.setTagsOnSelected(self,[t.name])  
      170                     self.parentWin.setTagsOnSelected(self,[t])  
    149 170                 self.grab_focus()  
    150 171  
    151 172     def on_drag_data_received_data(self, widget, object,x,y,sdata,code,time):  
    152 173         """ event drop notified """  
      174         #~ code == 111 treeviewtags  
      175         #~ code == 112 tvFilteredTags  
    153 176         y+=self.get_vadjustment().get_value()  
    154 177         cell_num = self.cell_at_position(x,y,False)  
     
    333 356 class TreeDB(gtk.TreeStore):  
    334 357 #========================================================  
    335       def __init__(self):  
      358     def __init__(self,filter=None):  
    335 358         gtk.TreeStore.__init__(self, str,str,object,str)  
    336 359         #~ self.fill(None,None)  
    337 360  
      361         self.__filter=filter  
    338 362         self.init()  
    339 363  
     
    366 390  
    367 391             for i in folders:  
    368                   self.fill(i,new)  
      392                 if self.__filter!=None:  
      393                     ufile = i.file  
      394                     if ufile in [f[:len(ufile)]for f in self.__filter]:  
      395                         self.fill(i,new)  
      396                 else:  
      397                     self.fill(i,new)  
    369 398  
    370 399             return new  
     
    436 465 class TreeTags(gtk.TreeStore):  
    437 466 #========================================================  
    438       def __init__(self):  
      467     def __init__(self,filter=None):  
    438 467         gtk.TreeStore.__init__(self, str,object,str,  int,str)  
    439           #~ self.fill(None,None)  
      468         self.__filter=filter  # to filter on tags in this list  
    439 468         self.init()  
    440 469  
     
    445 474         self.fill( JBrout.tags.getRootTag() ,None)  
    446 475  
      476  
    447 477     def fill(self,node,attach):  
    448 478         """ rebuild treestore from the catgnode 'node' to the iter 'attach' """  
     
    455 485  
    456 486         for i in tags:  
    457               self.add(new,i)  
      487             if self.__filter!=None:  
      488                 # there is a filter (a tag list)  
      489                 if i.name in self.__filter:  
      490                     self.add(new,i)  
      491             else: