Changeset 414

Show
Ignore:
Timestamp:
02/09/07 09:27:48 (19 months ago)
Author:
daelstorm
Message:

Murmur: major fixes to the Settings dialog (hey, it actually works now)

Location:
murmur/trunk/sources/pymurmur
Files:
2 modified

Legend:

Unmodified
Added
Removed
  • murmur/trunk/sources/pymurmur/muscan.py

    r411 r414  
    3131                        if len(fileprefix) == 2: 
    3232                                file = fileprefix[0]+".xml" 
    33                                  #self.frame.Networking.config["shares"]["database"][:pos] 
    3433                                if os.path.exists(file): 
    3534                                        self.configfile = file 
  • murmur/trunk/sources/pymurmur/settings.py

    r409 r414  
    66import gobject 
    77import time, stat, string, shutil 
    8  #pwd,  
     8import pwd 
    99from time import sleep 
    1010from utils import _ 
     
    108108                self.murmur_config = self.app.Config 
    109109                self.set_transient_for(self.app.MurmurWindow) 
    110                 self.set_default_size(600, 400) 
     110                self.set_default_size(600, 600) 
    111111                self.connect("destroy", self.quit) 
    112112                self.connect("delete_event", self.quit) 
     
    135135                sbox3.show() 
    136136                label3 = gtk.Label("Museek Interface:") 
    137                 sbox3.pack_start(label3, True, False) 
     137                label3.set_alignment(0, 0) 
     138                sbox3.pack_start(label3, True, True) 
    138139                label3.show() 
    139140                self.Interface = gtk.Entry() 
     
    142143                else: 
    143144                        self.Interface.set_text("Input a Museek Interface") 
    144                 sbox3.pack_start(self.Interface, True, False) 
     145                sbox3.pack_start(self.Interface, True, True) 
    145146                self.Interface.show() 
    146147                 
     
    150151                sbox2.show() 
    151152                label2 = gtk.Label("Password:") 
    152                 sbox2.pack_start(label2, True, False) 
     153                label2.set_alignment(0, 0) 
     154                sbox2.pack_start(label2, True, True) 
    153155                label2.show() 
    154156                self.Password = gtk.Entry() 
     
    157159                else: 
    158160                        self.Password.set_text("Input a password") 
    159                 sbox2.pack_start(self.Password, True, False) 
     161                sbox2.pack_start(self.Password, True, True) 
    160162                self.Password.show() 
    161163                 
    162164                 
    163165                 
    164                 self.vbox1 = gtk.VBox() 
    165                 self.vbox1.pack_start(sbox3, False, False) #entry3  (interface) 
    166                 self.vbox1.pack_start(sbox2, False, False) #entry2  (password) 
     166                self.vbox1 = gtk.VBox(True, spacing=5) 
     167                self.vbox1.set_border_width(5) 
     168                self.vbox1.pack_start(sbox3, False, False, 5) #entry3  (interface) 
     169                self.vbox1.pack_start(sbox2, False, False, 5) #entry2  (password) 
    167170                self.vbox1.show() 
    168171                self.frame1.add(self.vbox1) 
     
    170173                 
    171174                # Tooltips 
    172                 sbox4 = gtk.HBox(True, spacing=5) 
    173                 sbox4.show() 
    174                 label1 = gtk.Label("Tooltips:") 
    175                 sbox4.pack_start(label1, False, False) 
    176                  
    177                 label1.show() 
    178                 self.TooltipCheck = gtk.CheckButton(label=None) 
     175                #sbox4 = gtk.HBox(True, spacing=5) 
     176                #sbox4.set_border_width(5) 
     177                #sbox4.show() 
     178                #label1 = gtk.Label("Tooltips:") 
     179                #label1.set_alignment(0, 0) 
     180                #sbox4.pack_start(label1, True, True) 
     181                 
     182                #label1.show() 
     183                self.TooltipCheck = gtk.CheckButton("Tooltips") 
    179184                self.TooltipCheck.connect("toggled", self.tooltip_check, "check button 1") 
    180185                 
     
    185190                         
    186191                self.TooltipCheck.show() 
    187                 sbox4.pack_start(self.TooltipCheck, False, False) 
     192                #sbox4.pack_start(self.TooltipCheck, True, True) 
    188193         
    189194                # Tooltips 
    190                 sbox5 = gtk.HBox(True, spacing=5) 
    191                 sbox5.show() 
    192                 label1 = gtk.Label("Load Tray App at start:") 
    193                 sbox5.pack_start(label1, False, False) 
    194                  
    195                 label1.show() 
    196                 self.check_button2 = gtk.CheckButton(label=None) 
     195                #sbox5 = gtk.HBox(True, spacing=5) 
     196                #sbox5.set_border_width(5) 
     197                #sbox5.show() 
     198                #label1 = gtk.Label("Load Tray App at start:") 
     199                #sbox5.pack_start(label1, False, False) 
     200                 
     201                #label1.show() 
     202                self.check_button2 = gtk.CheckButton(_("Load Tray Icon at start")) 
    197203                 
    198204                if self.murmur_config["murmur"]["trayapp"] == "yes": 
     
    202208                self.check_button2.connect("toggled", self.trayapp_check, "check button 1")      
    203209                self.check_button2.show() 
    204                 sbox5.pack_start(self.check_button2, False, False) 
     210                #sbox5.pack_start(self.check_button2, False, False) 
    205211                 
    206212                # Museek Interface 
    207                 sbox6 = gtk.HBox(True, spacing=5) 
    208                 sbox6.show() 
     213                #sbox6 = gtk.HBox(True, spacing=5) 
     214                #sbox6.show() 
    209215                label6 = gtk.Label("Museekd's Config File:") 
    210                 sbox6.pack_start(label6, True, False) 
     216                label6.set_alignment(0, 0) 
     217                #sbox6.pack_start(label6, True, True) 
    211218                label6.show() 
    212219                self.Configfile = gtk.Entry() 
     
    216223                        self.Configfile.set_text("Input the path to the Museekd Config") 
    217224                self.Configfile.show() 
    218                 sbox6.pack_start(self.Configfile, True, True) 
     225                #sbox6.pack_start(self.Configfile, True, True) 
    219226                 
    220227                 
     
    227234                hbox.pack_start(self.frame1, False, False) 
    228235                hbox.show() 
    229                 self.vbox2 = gtk.VBox() 
     236                self.vbox2 = gtk.VBox(True, spacing=5) 
    230237                self.vbox2.show() 
    231                 self.vbox2.pack_start(sbox4, False, False)      #checkbox (tooltip) 
    232                 self.vbox2.pack_start(sbox5, False, False)      #checkbox (trayapp) 
    233                 self.vbox2.pack_start(sbox6, True, True) 
     238                self.vbox2.pack_start(self.TooltipCheck, False, False)  #checkbox (tooltip) 
     239                self.vbox2.pack_start(self.check_button2, False, False) #checkbox (trayapp) 
     240                self.vbox2.pack_start(label6, False, False) 
     241                self.vbox2.pack_start(self.Configfile, False, False) 
    234242                hbox.pack_start(self.vbox2, True, True) 
    235243                self.vbox.pack_start(hbox, False, False) 
     
    239247                self.vbox.pack_start(self.notebook1) 
    240248                 
    241                 button = gtk.Button("Save") 
    242                 button.connect("clicked", self.click) 
    243                 button.set_flags(gtk.CAN_DEFAULT) 
    244                 self.action_area.pack_start(button) 
    245                 button.show() 
    246                 button.grab_default() 
    247                 button = gtk.Button("Cancel") 
    248                 button.connect("clicked", self.quit) 
    249                 button.set_flags(gtk.CAN_DEFAULT) 
    250                 self.action_area.pack_start(button) 
    251                 button.show() 
     249                OkButton = self.app.CreateIconButton(gtk.STOCK_OK, "stock", self.click, _("OK")) 
     250                self.action_area.pack_start(OkButton) 
     251                OkButton.set_flags(gtk.CAN_DEFAULT) 
     252 
     253                 
     254                SaveButton = self.app.CreateIconButton(gtk.STOCK_SAVE, "stock", self.save, _("Save")) 
     255                self.action_area.pack_start(SaveButton) 
     256                SaveButton.set_flags(gtk.CAN_DEFAULT) 
     257 
     258 
     259                CancelButton = self.app.CreateIconButton(gtk.STOCK_CANCEL, "stock", self.quit, _("Cancel")) 
     260                self.action_area.pack_start(CancelButton) 
     261                CancelButton.set_flags(gtk.CAN_DEFAULT) 
     262                CancelButton.grab_default() 
     263                 
     264 
    252265                self.ret = None 
    253266         
     
    411424                        #        
    412425 
    413                          
    414         def OnAddTrusted(self, widget): 
    415                 self.AddItemToList("trusted", _("Trusted User"), _("Comment")) 
    416          
    417         def OnAddBuddy(self, widget): 
    418                 self.AddItemToList("buddies", _("Buddied User"), _("Comment")) 
    419          
    420         def OnAddBanned(self, widget): 
    421                 self.AddItemToList("banned", _("Banned User"), _("Comment")) 
    422  
    423         def OnAddInterface(self, widget): 
    424                 self.AddItemToList("interfaces.bind", _("Socket / Port"), None) 
    425          
    426         def OnAddIgnored(self, widget): 
    427                 self.AddItemToList("ignored", _("Ignored User"), _("Comment")) 
    428          
    429         def OnAddAlert(self, widget): 
    430                 self.AddItemToList("alerts", _("User Status Alert"), None) 
    431          
    432         def OnAddTicker(self, widget): 
    433                 self.AddItemToList("tickers", _("Ticker's Room"), _("Ticker")) 
    434                  
    435         def OnAddEncoding(self, widget): 
    436                 self.AddItemToList("encoding.rooms", _("Room"), _("Encoding")) 
    437                  
    438         def OnAddAutojoin(self, widget): 
    439                 self.AddItemToList("autojoin", _("AutoJoin Room"), None) 
    440  
    441          
    442         def TreeViewSelection3(self, model, path, iter): 
    443                 key = model.get_value(iter, 0) 
    444                 value = model.get_value(iter, 1) 
    445                 num = model.get_value(iter, 2) 
    446                 self.selected_items = [key, value, num] 
    447                  
    448         def TreeViewSelection2(self, model, path, iter): 
    449                 key = model.get_value(iter, 0) 
    450                 num = model.get_value(iter, 1) 
    451                 self.selected_items = [key, num] 
    452                  
    453         def EditItemToList(self, node, message, message2, key, value, num): 
    454                 self.key = key 
    455                 self.value = value 
    456                 key, value = self.input_box(title="Edit Config setting", message=message, message2=message2, key=key, value=value, modal= True, List=[], vlist=[], second=True) 
    457                  
     426        def AddItemToList(self, node, message, message2, treeview): 
     427                 
     428                key, value = self.input_box(title=_("Add Config setting"), message=message, message2=message2, key="", value="", modal= True, List=[], vlist=[], second=True) 
     429         
    458430                if node == None or key == None: 
    459431                        return 
     
    465437 
    466438                if node in self.config: 
     439                        if key in self.config[node]: 
     440                                self.Bug(_("Item %s already in the %s list. Please edit instead.") %(key, node), "") 
     441                                return 
    467442                        # a genuine new key 
    468443                        self.config[node][key] = value 
    469  
    470                         if self.key != key: 
     444         
     445                        self.parents[node][key] = treeview.get_model().append( None, [ key, value ] ) 
     446                        #self.populate_dialogs() 
     447                         
     448        def OnAddTrusted(self, widget): 
     449                treeview = self.TrustedTreeview 
     450                self.AddItemToList("trusted", _("Trusted User"), _("Comment"), treeview) 
     451         
     452        def OnAddBuddy(self, widget): 
     453                treeview = self.BuddiesTreeview 
     454                self.AddItemToList("buddies", _("Buddied User"), _("Comment"), treeview) 
     455         
     456        def OnAddBanned(self, widget): 
     457                treeview = self.BannedTreeview 
     458                self.AddItemToList("banned", _("Banned User"), _("Comment"), treeview) 
     459 
     460        def OnAddInterface(self, widget): 
     461                treeview = self.interfacesTreeview 
     462                self.AddItemToList("interfaces.bind", _("Socket / Port"), None, treeview) 
     463         
     464        def OnAddIgnored(self, widget): 
     465                treeview = self.IgnoredTreeview 
     466                self.AddItemToList("ignored", _("Ignored User"), _("Comment"), treeview) 
     467         
     468        def OnAddAlert(self, widget): 
     469                treeview = self.AlertsTreeview 
     470                self.AddItemToList("alerts", _("User Status Alert"), None, treeview) 
     471         
     472        def OnAddTicker(self, widget): 
     473                treeview = self.tickersTreeview 
     474                self.AddItemToList("tickers", _("Ticker's Room"), _("Ticker"), treeview) 
     475                 
     476        def OnAddEncoding(self, widget): 
     477                treeview = self.encodingsTreeview 
     478                self.AddItemToList("encoding.rooms", _("Room"), _("Encoding"), treeview) 
     479                 
     480        def OnAddAutojoin(self, widget): 
     481                treeview = self.autojoinTreeview 
     482                self.AddItemToList("autojoin", _("AutoJoin Room"), None, treeview) 
     483 
     484         
     485        def TreeViewSelection3(self, model, path, iter): 
     486                key = model.get_value(iter, 0) 
     487                value = model.get_value(iter, 1) 
     488                #num = model.get_value(iter, 2) 
     489                self.selected_items = [key, value] 
     490                 
     491        def TreeViewSelection2(self, model, path, iter): 
     492                key = model.get_value(iter, 0) 
     493                #num = model.get_value(iter, 1) 
     494                self.selected_items = [key] 
     495                 
     496        def EditItemToList(self, node, message, message2, key, value, num, treeview): 
     497                self.key = key 
     498                self.value = value 
     499                key, value = self.input_box(title="Edit Config setting", message=message, message2=message2, key=key, value=value, modal= True, List=[], vlist=[], second=True) 
     500                 
     501                if node == None or key == None: 
     502                        return 
     503                if key == "" or key.isspace(): 
     504                        return 
     505                 
     506                if value == None: 
     507                        value = "" 
     508 
     509                if node in self.config: 
     510                        # a genuine new key 
     511                         
     512                        self.config[node][key] = value 
     513                         
     514                        if self.key == key: 
     515                                treeview.get_model().set(self.parents[node][key], 0, key, 1, value) 
    471516                                # Remove old key 
     517                        else: 
     518                                treeview.get_model().remove(self.parents[node][self.key]) 
    472519                                del self.config[node][self.key] 
    473                         self.populate_dialogs() 
     520                                 
     521                                treeview.get_model().append(None, [key, value]) 
     522                                 
     523                        #self.populate_dialogs() 
    474524                        #self.populate_store() 
    475525        def OnEditEncoding(self, widget): 
     
    479529                treeview.get_selection().selected_foreach(self.TreeViewSelection3) 
    480530                if self.selected_items != []: 
    481                         key, value, num = self.selected_items 
    482                         self.EditItemToList("encoding.rooms", _("Room"), _("Encoding"), key, value, num) 
     531                        key, value = self.selected_items 
     532                        self.EditItemToList("encoding.rooms", _("Room"), _("Encoding"), key, value, None, treeview) 
    483533                 
    484534 
     
    487537                treeview = self.AlertsTreeview 
    488538                self.selected_items = [] 
    489                 treeview.get_selection().selected_foreach(self.TreeViewSelection2) 
     539                treeview.get_selection().selected_foreach(self.TreeViewSelection3) 
    490540                if self.selected_items != []: 
    491                         key, num = self.selected_items 
     541                        key, value = self.selected_items 
    492542                         
    493                         self.EditItemToList("alerts", _("User Status Alert"), None, key, None, num) 
     543                        self.EditItemToList("alerts", _("User Status Alert"), None, key, value, None, treeview) 
    494544                         
    495545        def OnEditInterface(self, widget): 
     
    497547                treeview = self.interfacesTreeview 
    498548                self.selected_items = [] 
    499                 treeview.get_selection().selected_foreach(self.TreeViewSelection2) 
     549                treeview.get_selection().selected_foreach(self.TreeViewSelection3) 
    500550                if self.selected_items != []: 
    501                         key, num = self.selected_items 
     551                        key, value = self.selected_items 
    502552                         
    503                         self.EditItemToList("interfaces.bind", _("Socket / Port"), None, key, None, num) 
     553                        self.EditItemToList("interfaces.bind", _("Socket / Port"), None, key, value, None, treeview) 
    504554                         
    505555        def OnEditAutojoin(self, widget): 
     
    507557                treeview = self.autojoinTreeview 
    508558                self.selected_items = [] 
    509                 treeview.get_selection().selected_foreach(self.TreeViewSelection2) 
     559                treeview.get_selection().selected_foreach(self.TreeViewSelection3) 
    510560                if self.selected_items != []: 
    511                         key, num = self.selected_items 
     561                        key, value = self.selected_items 
    512562                         
    513                         self.EditItemToList("autojoin", _("AutoJoin Room"), None, key, None, num) 
     563                        self.EditItemToList("autojoin", _("AutoJoin Room"), None, key, value, None, treeview) 
    514564                                                 
    515565        def OnEditTicker(self, widget): 
     
    519569                treeview.get_selection().selected_foreach(self.TreeViewSelection3) 
    520570                if self.selected_items != []: 
    521                         key, value, num = self.selected_items 
    522                         self.EditItemToList("tickers", _("Ticker's Room"), _("Ticker"), key, value, num) 
     571                        key, value = self.selected_items 
     572                        self.EditItemToList("tickers", _("Ticker's Room"), _("Ticker"), key, value, None, treeview) 
    523573                         
    524574        def OnEditTrusted(self, widget): 
     
    528578                treeview.get_selection().selected_foreach(self.TreeViewSelection3) 
    529579                if self.selected_items != []: 
    530                         key, value, num = self.selected_items 
    531                         self.EditItemToList("trusted", _("Trusted User"), _("Comment"), key, value, num) 
     580                        key, value = self.selected_items 
     581                        self.EditItemToList("trusted", _("Trusted User"), _("Comment"), key, value, None, treeview) 
    532582                         
    533583        def OnEditBuddy(self, widget): 
     
    537587                treeview.get_selection().selected_foreach(self.TreeViewSelection3) 
    538588                if self.selected_items != []: 
    539                         key, value, num = self.selected_items 
    540                         self.EditItemToList("buddies", _("Buddied User"), _("Comment"), key, value, num) 
     589                        key, value = self.selected_items 
     590                        self.EditItemToList("buddies", _("Buddied User"), _("Comment"), key, value, None, treeview) 
     591                         
    541592        def OnEditBanned(self, widget): 
    542593                # 3 column treeview 
     
    545596                treeview.get_selection().selected_foreach(self.TreeViewSelection3) 
    546597                if self.selected_items != []: 
    547                         key, value, num = self.selected_items 
    548                         self.EditItemToList("banned", _("Banned User"), _("Comment"), key, value, num) 
    549          
    550          
    551  
    552                                  
     598                        key, value = self.selected_items 
     599                        self.EditItemToList("banned", _("Banned User"), _("Comment"), key, value, None, treeview) 
     600         
    553601        def OnEditIgnored(self, widget): 
    554602                # 3 column treeview 
     
    557605                treeview.get_selection().selected_foreach(self.TreeViewSelection3) 
    558606                if self.selected_items != []: 
    559                         key, value, num = self.selected_items 
    560                         self.EditItemToList("ignored", _("Ignored User"), _("Comment"), key, value, num) 
    561  
    562         def RemoveItemFromList(self, node, key, value, num): 
     607                        key, value = self.selected_items 
     608                        self.EditItemToList("ignored", _("Ignored User"), _("Comment"), key, value, num, treeview) 
     609 
     610        def RemoveItemFromList(self, node, key, value, treeview): 
    563611                if node == None or key == None: 
    564612                        return 
     
    568616                if node in self.config: 
    569617                        del self.config[node][key] 
    570                         self.populate_dialogs() 
     618                        treeview.get_model().remove(self.parents[node][key]) 
     619 
     620                        #self.populate_dialogs() 
    571621                        #self.populate_store() 
    572622                         
     
    576626                node = "alerts" 
    577627                self.selected_items = [] 
    578                 treeview.get_selection().selected_foreach(self.TreeViewSelection2) 
     628                treeview.get_selection().selected_foreach(self.TreeViewSelection3) 
    579629                if self.selected_items != []: 
    580                         key, num = self.selected_items 
     630                        print self.selected_items 
     631                        key, value = self.selected_items 
    581632                         
    582                         self.RemoveItemFromList(node, key, None, num) 
     633                        self.RemoveItemFromList(node, key, None, treeview) 
    583634                 
    584635        def OnRemoveTicker(self, widget): 
     
    589640                treeview.get_selection().selected_foreach(self.TreeViewSelection3) 
    590641                if self.selected_items != []: 
    591                         key, value, num = self.selected_items 
    592                         self.RemoveItemFromList(node, key, value, num) 
     642                        key, value = self.selected_items 
     643                        self.RemoveItemFromList(node, key, value, treeview) 
    593644                 
    594645        def OnRemoveTrusted(self, widget): 
     
    599650                treeview.get_selection().selected_foreach(self.TreeViewSelection3) 
    600651                if self.selected_items != []: 
    601                         key, value, num = self.selected_items 
    602                         self.RemoveItemFromList(node, key, value, num) 
     652                        key, value = self.selected_items 
     653                        self.RemoveItemFromList(node, key, value, treeview) 
    603654                 
    604655        def OnRemoveBuddy(self, widget): 
     
    609660                treeview.get_selection().selected_foreach(self.TreeViewSelection3) 
    610661                if self.selected_items != []: 
    611                         key, value, num = self.selected_items 
    612                         self.RemoveItemFromList(node, key, None, num) 
     662                        key, value = self.selected_items 
     663                        self.RemoveItemFromList(node, key, None, treeview) 
    613664                 
    614665        def OnRemoveBanned(self, widget): 
     
    619670                treeview.get_selection().selected_foreach(self.TreeViewSelection3) 
    620671                if self.selected_items != []: 
    621                         key, value, num = self.selected_items 
    622                          
    623                         self.RemoveItemFromList(node, key, None, num) 
     672                        key, value = self.selected_items 
     673                         
     674                        self.RemoveItemFromList(node, key, None, treeview) 
    624675                 
    625676        def OnRemoveIgnored(self, widget): 
     
    629680                treeview.get_selection().selected_foreach(self.TreeViewSelection3) 
    630681                if self.selected_items != []: 
    631                         key, value, num = self.selected_items 
    632                          
    633                         self.RemoveItemFromList(node, key, value, num) 
     682                        key, value = self.selected_items 
     683                         
     684                        self.RemoveItemFromList(node, key, value, treeview) 
    634685                 
    635686        def OnRemoveInterface(self, widget): 
     
    638689                node="interface" 
    639690                self.selected_items = [] 
    640                 treeview.get_selection().selected_foreach(self.TreeViewSelection2) 
     691                treeview.get_selection().selected_foreach(self.TreeViewSelection3) 
    641692                if self.selected_items != []: 
    642                         key, num = self.selected_items 
     693                        key = self.selected_items 
    643694                         
    644                         self.RemoveItemFromList(node, key, None, num) 
     695                        self.RemoveItemFromList(node, key, None, treeview) 
    645696 
    646697        def OnRemoveEncoding(self, widget):