Changeset 10 for conseil.py

Show
Ignore:
Timestamp:
07/04/06 14:14:49 (3 years ago)
Author:
ploum
Message:

You can add bookmarks (but still not remove them)

#bug5 solved

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • conseil.py

    r9 r10  
    2828                dic = { "on_btnSimplesearch_clicked" : self.simpleSearch_clicked,  
    2929                        "on_window1_destroy" : gtk.main_quit, 
    30                         "on_bookmarks_row_activated": self.bookmarkClicked } 
     30                        "on_bookmarks_row_activated": self.bookmarkClicked, 
     31                        "on_addBookmark_clicked" : self.addBookmark_clicked } 
    3132                self.wTree.signal_autoconnect(dic) 
    3233                #Wich BTS are we using ? 
     
    8182                treeV.append_column(column) 
    8283                treeV.show() 
    83                 return treeV 
     84                return listing 
    8485 
     86         
    8587        def bookmarkClicked(widget, path, view_column,user_param1): 
    8688                zetuple = path.get_selection().get_selected() 
     
    8991                        # besoin de programmation défensive ici FIXME 
    9092                        bug_nbr = int(zetuple[0].get_value(zetuple[1],2)) 
    91                         widget.__bugDisplay(widget.bts.retrieveBug(bug_nbr)) 
     93                        widget.__bugDisplay(widget.bts.retrieveBug(bug_nbr),1,str(bug_nbr)) 
    9294                elif method == 2: 
    9395                        searchString = zetuple[0].get_value(zetuple[1],2) 
    94                         widget.__searchDisplay(widget.bts.genericSearch(searchString)) 
     96                        widget.__searchDisplay(widget.bts.genericSearch(searchString),2,searchString) 
    9597                elif method == 3: 
    9698                        string = zetuple[0].get_value(zetuple[1],2) 
    9799                        array = string.split(None,1) 
    98                         widget.__searchDisplay(widget.bts.packageSearch(array[0],array[1])) 
     100                        args = "%s\n%s"%(array[0],array[1]) 
     101                        widget.__searchDisplay(widget.bts.packageSearch(array[0],array[1]),3,args) 
     102 
     103        def addBookmark_clicked(self, widget): 
     104                tab = self.bugs_tabs.get_nth_page(self.bugs_tabs.get_current_page()) 
     105                #Naughty hack : informations about a tab are stored in the wigdet name 
     106                array=tab.get_name().split("\n\n",2) 
     107                self.addBookmark(array[0],int(array[1]),array[2]) 
     108 
     109        def addBookmark(self,title,searchMethod, args) : 
     110                self.bookmarks.insert_before(None, [title, searchMethod, args]) 
    99111         
    100112        def closeTab(self, widget): 
     
    113125                        array = string.split(searchString,' ',1) 
    114126                        if self.bts.packageExist(array[0]) : 
    115                                 self.__searchDisplay(self.bts.packageSearch(array[0],array[1])) 
     127                                args="%s\n%s"%(array[0],array[1]) 
     128                                self.__searchDisplay(self.bts.packageSearch(array[0],array[1]),3,args) 
    116129                        else : 
    117                                 self.__searchDisplay(self.bts.genericSearch(searchString)) 
     130                                self.__searchDisplay(self.bts.genericSearch(searchString),2,searchString) 
    118131                        #TODO : remplacer le none par un widget digne de ce nom 
    119132                         
     
    121134 
    122135        #We did a simple search 
    123         def __searchDisplay(self, store): 
     136        def __searchDisplay(self, store,search_type,args): 
    124137                #First, we ask for the result as it can takes some times                         
    125138                tree=self.__treeInit__() 
    126139                handler = tree.connect("row-activated", self.__row_clicked, tree.get_selection()) 
     140                if search_type == 3 : 
     141                        array= args.split("\n",1) 
     142                        title = "(%s) %s"%(array[0],array[1]) 
     143                        zename = "%s\n\n3\n\n%s"%(title,args) 
     144                else : 
     145                        title = "%s" %args 
     146                        zename = "%s\n\n2\n\n%s"%(title,args) 
     147                tree.set_name(zename)  
    127148                tree.set_headers_clickable(1) 
    128149                tree.set_rules_hint(1) 
    129150                tree.set_model(store) 
    130                 self.insertTab(tree,"résultat") 
     151                self.insertTab(tree,title) 
    131152 
    132153        #Callback for the row_activated in a search view 
     
    141162        # (it will be nicely one day, I swear...) 
    142163        def __bugDisplay(self, zebug) : 
     164                bugnbr=str(zebug.getNbr()) 
    143165                bugtemplate = "bug_template.glade" 
    144166                bugwidget = gtk.glade.XML(bugtemplate) 
    145167                widget_nbr = bugwidget.get_widget("number")  
    146                 widget_nbr.set_text(str(zebug.getNbr())) 
     168                widget_nbr.set_text(bugnbr) 
    147169                widget_title = bugwidget.get_widget("title")  
    148170                widget_title.set_text(zebug.getTitle()) 
     
    152174                #We take the vbox to insert it 
    153175                main_widget = bugwidget.get_widget("bug_main") 
    154                 self.insertTab(main_widget,"bug #XXX") 
     176                title = "bug #%s"%bugnbr 
     177                zename= "%s\n\n1\n\n%s" %(title,bugnbr) 
     178                main_widget.set_name(zename) 
     179                self.insertTab(main_widget,title) 
    155180                #self.bugs_tabs.insert_page(main_widget, None) 
    156181