Example #1
0
    def configure(self, window, name):
        import gtk
        tree = Utils.dataprovider_glade_get_widget(
                        __file__, 
                        "config.glade",
                        "EvolutionConfigDialog"
                        )
        
        #get a whole bunch of widgets
        sourceComboBox = tree.get_widget("sourceComboBox")
        sourceLabel = tree.get_widget("sourceLabel")
        sourceLabel.set_text(_("Select %s:") % name)

        #make a combobox with the addressbooks
        store = gtk.ListStore(gobject.TYPE_STRING,gobject.TYPE_STRING)
        sourceComboBox.set_model(store)

        cell = gtk.CellRendererText()
        sourceComboBox.pack_start(cell, True)
        sourceComboBox.add_attribute(cell, 'text', 0)
        sourceComboBox.set_active(0)
        
        for name,uri in self.allSourceURIs:
            rowref = store.append( (name, uri) )
            if uri == self.selectedSourceURI:
                sourceComboBox.set_active_iter(rowref)
        
        dlg = tree.get_widget("EvolutionConfigDialog")
        
        response = Utils.run_dialog (dlg, window)
        if response == True:
            self.selectedSourceURI = store.get_value(sourceComboBox.get_active_iter(), 1)
        dlg.destroy()  
Example #2
0
 def configure(self, window):
     """
     Configures the ZotoSink
     """
     widget = Utils.dataprovider_glade_get_widget(
             __file__,
             "zoto.glade",
             "ZotoSinkConfigDialog")
             
     # Get configuration widgets
     username = widget.get_widget("username")
     password = widget.get_widget("password")
     album = widget.get_widget("album")
             
     # Load the widgets with presets
     username.set_text(self.username)
     password.set_text(self.password)
     album.set_text(self.albumName)
             
     dlg = widget.get_widget("ZotoSinkConfigDialog")
     
     response = Utils.run_dialog(dlg, window)
             
     if response == True:
         self.username = username.get_text()
         self.password = password.get_text()
         self.albumName = album.get_text()
             
     dlg.destroy()
Example #3
0
    def configure( self, window ):
        # thanks to the evolution module for some of this
        import gtk
        tree = Utils.dataprovider_glade_get_widget(
                        __file__, 
                        "config.glade",
                        "Firefox3ConfigDialog"
                        )

        sourceComboBox = tree.get_widget("profileComboBox")
        store = gtk.ListStore( str, str )
        sourceComboBox.set_model(store)

        cell = gtk.CellRendererText()
        sourceComboBox.pack_start(cell, True)
        sourceComboBox.add_attribute(cell, 'text', 0)
        sourceComboBox.set_active(0)

        for profilename, profilepath in self.get_profiles():
            rowref = store.append( ( profilename, profilepath ) )
            if profilepath == self.ProfilePath:
                sourceComboBox.set_active_iter(rowref)

        dlg = tree.get_widget("Firefox3ConfigDialog")
        
        response = Utils.run_dialog (dlg, window)
        if response == True:
            self.ProfilePath = store.get_value(sourceComboBox.get_active_iter(), 1)
        dlg.destroy()
Example #4
0
    def configure(self, window):
        import gobject
        import gtk
        def col1_toggled_cb(cell, path, model ):
            #not because we get this cb before change state
            checked = not cell.get_active()
            model[path][2] = checked
            val = model[path][FILENAME_IDX]
            if checked and val not in self.enabledAlbums:
                self.enabledAlbums.append(val)
            elif not checked and val in self.enabledAlbums:
                self.enabledAlbums.remove(val)

        tree = Utils.dataprovider_glade_get_widget(
                        __file__, 
                        "config.glade",
						"PicasaDesktopConfigDialog"
						)
        tagtreeview = tree.get_widget("albumtreeview")
        #Build a list of all the tags
        list_store = gtk.ListStore( gobject.TYPE_STRING,    #FILENAME_IDX
                                    gobject.TYPE_STRING,    #DISLAYNAME_IDX
                                    gobject.TYPE_BOOLEAN,   #active
                                    )
        #Fill the list store
        for t in self._get_all_albums():
            list_store.append((
                        t[FILENAME_IDX],
                        t[DISPLAYNAME_IDX],
                        t[FILENAME_IDX] in self.enabledAlbums)
                        )
        #Set up the treeview
        tagtreeview.set_model(list_store)
        #column 1 is the album name
        tagtreeview.append_column(  gtk.TreeViewColumn(_("Album Name"), 
                                    gtk.CellRendererText(), 
                                    text=DISPLAYNAME_IDX)
                                    )
        #column 2 is a checkbox for selecting the album to sync
        renderer1 = gtk.CellRendererToggle()
        renderer1.set_property('activatable', True)
        renderer1.connect( 'toggled', col1_toggled_cb, list_store )
        tagtreeview.append_column(  gtk.TreeViewColumn(_("Enabled"), 
                                    renderer1, 
                                    active=2)
                                    )

        dlg = tree.get_widget("PicasaDesktopConfigDialog")
        
        response = Utils.run_dialog (dlg, window)
        dlg.destroy()
        
        print self.enabledAlbums
Example #5
0
    def configure(self, window):
        import gobject
        import gtk

        def build_album_model(albumCombo):
            self.album_store.clear()
            album_count = 0
            album_iter = None
            for name in self._get_photo_albums():
                iter = self.album_store.append((name,))
                if name == self.albumName:
                    album_iter = iter
                album_count += 1

            if album_iter:
                albumCombo.set_active_iter(album_iter)
            elif self.albumName:
                albumCombo.child.set_text(self.albumName)
            elif album_count:
                albumCombo.set_active(0)

        def delete_click(sender, albumCombo):
            albumName = albumCombo.get_active_text()
            if albumName:
                self._delete_album(albumName)
                build_album_model(albumCombo)

        # get a whole bunch of widgets
        tree = Utils.dataprovider_glade_get_widget(__file__, "config.glade", "PhotoConfigDialog")
        albumCombo = tree.get_widget("album_combobox")
        delete_button = tree.get_widget("delete_button")

        # setup album store
        self.album_store = gtk.ListStore(gobject.TYPE_STRING)
        albumCombo.set_model(self.album_store)
        cell = gtk.CellRendererText()
        albumCombo.pack_start(cell, True)
        albumCombo.set_text_column(0)

        # setup widgets
        build_album_model(albumCombo)
        delete_button.connect("clicked", delete_click, albumCombo)

        # run dialog
        dlg = tree.get_widget("PhotoConfigDialog")
        response = Utils.run_dialog(dlg, window)

        if response == True:
            # get the values from the widgets
            self.albumName = albumCombo.get_active_text()
        dlg.destroy()

        del self.album_store
Example #6
0
    def configure(self, window):
        import gtk
        import gobject
        def col1_toggled_cb(cell, path, model ):
            #not because we get this cb before change state
            checked = not cell.get_active()
            model[path][CHECK_IDX] = checked
            val = model[path][NAME_IDX]
            if checked and val not in self.playlists:
                self.playlists.append(val)
            elif not checked and val in self.playlists:
                self.playlists.remove(val)

            log.debug("Toggle '%s' to: %s" % (val, checked))
            return

        #FIXME: This should not run here, it should run in initialize() instead
        self.allPlaylists = self._parse_playlists(RhythmboxSource.PLAYLIST_PATH)
        tree = Utils.dataprovider_glade_get_widget(
                        __file__, 
                        "config.glade",
						"RBConfigDialog"
						)
        tagtreeview = tree.get_widget("tagtreeview")
        #Build a list of all the playlists
        list_store = gtk.ListStore( gobject.TYPE_STRING,    #name
                                    gobject.TYPE_BOOLEAN,   #active
                                    )
        #Fill the list store, preselect some playlists
        for p in self.allPlaylists:
            list_store.append( (p[0],p[0] in self.playlists) )
        #Set up the treeview
        tagtreeview.set_model(list_store)
        #column 1 is the tag name
        tagtreeview.append_column(  gtk.TreeViewColumn(_("Tag Name"), 
                                    gtk.CellRendererText(), 
                                    text=NAME_IDX)
                                    )
        #column 2 is a checkbox for selecting the tag to sync
        renderer1 = gtk.CellRendererToggle()
        renderer1.set_property('activatable', True)
        renderer1.connect( 'toggled', col1_toggled_cb, list_store )
        tagtreeview.append_column(  gtk.TreeViewColumn(_("Enabled"), 
                                    renderer1, 
                                    active=CHECK_IDX)
                                    )

        dlg = tree.get_widget("RBConfigDialog")

        response = Utils.run_dialog (dlg, window)
        dlg.destroy()
    def configure(self, window):
        import gobject
        import gtk

        def col1_toggled_cb(cell, path, model):
            #not because we get this cb before change state
            checked = not cell.get_active()
            model[path][2] = checked
            val = model[path][FILENAME_IDX]
            if checked and val not in self.enabledAlbums:
                self.enabledAlbums.append(val)
            elif not checked and val in self.enabledAlbums:
                self.enabledAlbums.remove(val)

        tree = Utils.dataprovider_glade_get_widget(
            __file__, "config.glade", "PicasaDesktopConfigDialog")
        tagtreeview = tree.get_widget("albumtreeview")
        #Build a list of all the tags
        list_store = gtk.ListStore(
            gobject.TYPE_STRING,  #FILENAME_IDX
            gobject.TYPE_STRING,  #DISLAYNAME_IDX
            gobject.TYPE_BOOLEAN,  #active
        )
        #Fill the list store
        for t in self._get_all_albums():
            list_store.append(
                (t[FILENAME_IDX], t[DISPLAYNAME_IDX], t[FILENAME_IDX]
                 in self.enabledAlbums))
        #Set up the treeview
        tagtreeview.set_model(list_store)
        #column 1 is the album name
        tagtreeview.append_column(
            gtk.TreeViewColumn(_("Album Name"),
                               gtk.CellRendererText(),
                               text=DISPLAYNAME_IDX))
        #column 2 is a checkbox for selecting the album to sync
        renderer1 = gtk.CellRendererToggle()
        renderer1.set_property('activatable', True)
        renderer1.connect('toggled', col1_toggled_cb, list_store)
        tagtreeview.append_column(
            gtk.TreeViewColumn(_("Enabled"), renderer1, active=2))

        dlg = tree.get_widget("PicasaDesktopConfigDialog")

        response = Utils.run_dialog(dlg, window)
        dlg.destroy()

        print self.enabledAlbums
    def configure(self, window):
        import gtk
        import gobject

        def col1_toggled_cb(cell, path, model):
            #not because we get this cb before change state
            checked = not cell.get_active()
            model[path][CHECK_IDX] = checked
            val = model[path][NAME_IDX]
            if checked and val not in self.playlists:
                self.playlists.append(val)
            elif not checked and val in self.playlists:
                self.playlists.remove(val)

            log.debug("Toggle '%s' to: %s" % (val, checked))
            return

        self.allPlaylists = self._get_playlists()
        tree = Utils.dataprovider_glade_get_widget(__file__, "config.glade",
                                                   "RBConfigDialog")
        tagtreeview = tree.get_widget("tagtreeview")
        #Build a list of all the playlists
        list_store = gtk.ListStore(
            gobject.TYPE_STRING,  #name
            gobject.TYPE_BOOLEAN,  #active
        )
        #Fill the list store, preselect some playlists
        for p in self.allPlaylists:
            list_store.append((p, p in self.playlists))
        #Set up the treeview
        tagtreeview.set_model(list_store)
        #column 1 is the tag name
        tagtreeview.append_column(
            gtk.TreeViewColumn(_("Tag Name"),
                               gtk.CellRendererText(),
                               text=NAME_IDX))
        #column 2 is a checkbox for selecting the tag to sync
        renderer1 = gtk.CellRendererToggle()
        renderer1.set_property('activatable', True)
        renderer1.connect('toggled', col1_toggled_cb, list_store)
        tagtreeview.append_column(
            gtk.TreeViewColumn(_("Enabled"), renderer1, active=CHECK_IDX))

        dlg = tree.get_widget("RBConfigDialog")

        response = Utils.run_dialog(dlg, window)
        dlg.destroy()
Example #9
0
 def configure(self, window):
     tree = Utils.dataprovider_glade_get_widget(
                     __file__, 
                     "config.glade",
                     "RSSSourceConfigDialog"
                     )
     
     #get a whole bunch of widgets
     url = tree.get_widget("url")
     limitCb = tree.get_widget("limitdownloads")
     limitSb = tree.get_widget("limitnumber")        
     randomize = tree.get_widget("randomize")
     photosCb = tree.get_widget("downloadphotos")
     audioCb = tree.get_widget("downloadaudio")
     videoCb = tree.get_widget("downloadvideo")
     
     #preload the widgets
     if self.limit > 0:
         limitCb.set_active(True)
         limitSb.set_value(self.limit)
     else:
         limitCb.set_active(False)
     url.set_text(self.feedUrl)
     randomize.set_active(self.randomize)
     photosCb.set_active(self.downloadPhotos)
     audioCb.set_active(self.downloadAudio)
     videoCb.set_active(self.downloadVideo)
             
     dlg = tree.get_widget("RSSSourceConfigDialog")
     
     response = Utils.run_dialog (dlg, window)
     if response == True:
         self.feedUrl = url.get_text()
         if limitCb.get_active():
             self.limit = int(limitSb.get_value())
         self.randomize = randomize.get_active()
         self.downloadPhotos = photosCb.get_active()
         self.downloadAudio = audioCb.get_active()
         self.downloadVideo = videoCb.get_active()
         
     dlg.destroy()            
Example #10
0
    def configure(self, window):
        tree = Utils.dataprovider_glade_get_widget(__file__, "config.glade", "BackpackNotesSinkConfigDialog")

        # get a whole bunch of widgets
        usernameEntry = tree.get_widget("username")
        apikeyEntry = tree.get_widget("apikey")
        pagenameEntry = tree.get_widget("pagename")

        # preload the widgets
        usernameEntry.set_text(self.username)
        apikeyEntry.set_text(self.apikey)
        pagenameEntry.set_text(self.storeInPage)

        dlg = tree.get_widget("BackpackNotesSinkConfigDialog")

        response = Utils.run_dialog(dlg, window)
        if response == True:
            self.username = usernameEntry.get_text()
            self.storeInPage = pagenameEntry.get_text()
            if apikeyEntry.get_text() != self.apikey:
                self.apikey = apikeyEntry.get_text()
        dlg.destroy()
Example #11
0
    def configure(self, window):
        import gtk
        def col1_toggled_cb(cell, path, model ):
            #not because we get this cb before change state
            checked = not cell.get_active()
            model[path][CHECKED_IDX] = checked
            ( Name, Id, Type ) = ( model[path][NAME_IDX], model[path][ID_IDX], model[path][TYPE_IDX] )
            if Type == NORMAL_PLAYLIST:
                if checked and Name not in self.playlists:
                    self.playlists.append(Id)
                elif not checked and Name in self.playlists:
                    self.playlists.remove(Id)
            elif Type == SMART_PLAYLIST:
                if checked and Name not in self.smart_playlists:
                    self.smart_playlists.append(Id)
                elif not checked and Name in self.smart_playlists:
                    self.smart_playlists.remove(Id)
            elif Type == VIDEO_PLAYLIST:
                if checked and Name not in self.video_playlists:
                    self.video_playlists.append(Id)
                elif not checked and Name in self.video_playlists:
                    self.video_playlists.remove(Id)
            log.debug("Toggle name: '%s', type: '%s', id: '%s' to: %s" % (Name, Type, Id, checked))
            return

        tree = Utils.dataprovider_glade_get_widget(
                        __file__, 
                        "config.glade",
                        "BansheeConfigDialog"
        )
        tagtreeview = tree.get_widget("tagtreeview")
        #Build a list of all the tags
        list_store = gtk.ListStore( gobject.TYPE_STRING,    #ID_IDX      - 0
                                    gobject.TYPE_STRING,    #NAME_IDX    - 1
                                    gobject.TYPE_BOOLEAN,   #CHECKED_IDX - 2
                                    gobject.TYPE_INT,       #TYPE_IDX    - 3
                                    )
        #Fill the list store
        for playlist in self._get_all_playlists():
            if playlist["type"] == NORMAL_PLAYLIST and playlist["id"] in self.playlists:
                checked = True
            elif playlist["type"] == SMART_PLAYLIST and playlist["id"] in self.smart_playlists:
                checked = True
            elif playlist["type"] == VIDEO_PLAYLIST and playlist["id"] in self.video_playlists:
                checked = True
            else:
                checked = False
            # Make video playlists more obvious
            if playlist["type"] == VIDEO_PLAYLIST:
                playlist["name"] += " (Video)"
            list_store.append( ( playlist["id"], playlist["name"], checked, playlist["type"] ) )
                     
        #Set up the treeview
        tagtreeview.set_model(list_store)
        #column 1 is the tag name
        tagtreeview.append_column(  gtk.TreeViewColumn(_("Playlist Name"), # Tag name is confusing?
                                    gtk.CellRendererText(), 
                                    text=NAME_IDX)
                                    )
        #column 2 is a checkbox for selecting the tag to sync
        renderer1 = gtk.CellRendererToggle()
        renderer1.set_property('activatable', True)
        renderer1.connect( 'toggled', col1_toggled_cb, list_store )
        tagtreeview.append_column(  gtk.TreeViewColumn(_("Enabled"), 
                                    renderer1, 
                                    active=CHECKED_IDX)
                                    )

        dlg = tree.get_widget("BansheeConfigDialog")
        
        response = Utils.run_dialog (dlg, window)
        dlg.destroy()
Example #12
0
    def configure(self, window):
        import gtk
        def create_tags_clicked_cb(button):
            text = self.tags_entry.get_text()
            if not text:
                return
            tags = text.split(',')
            for tag in tags:
                self._create_tag (tag.strip ())
            refresh_list_store()                

        def col1_toggled_cb(cell, path, model ):
            #not because we get this cb before change state
            checked = not cell.get_active()

            model[path][1] = checked
            val = model[path][NAME_IDX]

            if checked and val not in self.enabledTags:
                self.enabledTags.append(val)
            elif not checked and val in self.enabledTags:
                self.enabledTags.remove(val)

            log.debug("Toggle '%s'(%s) to: %s" % (model[path][NAME_IDX], val, checked))
            return

        def refresh_list_store ():
            #Build a list of all the tags
            if not self.list_store:
                self.list_store = gtk.ListStore(gobject.TYPE_STRING,    #NAME_IDX
                                                gobject.TYPE_BOOLEAN,   #active
                                               )
            else:
                self.list_store.clear ()                
            #Fill the list store
            i = 0
            for tag in self._get_all_tags():
                self.list_store.append((tag,tag in self.enabledTags))
                i += 1

        #Fspot must be running
        if not self._connect_to_fspot():
            return

        tree = Utils.dataprovider_glade_get_widget(
                        __file__, 
                        "config.glade",
						"FspotConfigDialog"
						)
        tagtreeview = tree.get_widget("tagtreeview")
        refresh_list_store()
        tagtreeview.set_model(self.list_store)

        #column 1 is the tag name
        tagtreeview.append_column(  gtk.TreeViewColumn(_("Tag Name"), 
                                    gtk.CellRendererText(), 
                                    text=NAME_IDX)
                                    )
        #column 2 is a checkbox for selecting the tag to sync
        renderer1 = gtk.CellRendererToggle()
        renderer1.set_property('activatable', True)
        renderer1.connect( 'toggled', col1_toggled_cb, self.list_store )
        tagtreeview.append_column(  gtk.TreeViewColumn(_("Enabled"), 
                                    renderer1, 
                                    active=1)
                                    )
  
        # Area for creating additional tags
        create_button = tree.get_widget ('create_button')
        self.tags_entry = tree.get_widget ('tags_entry')
        create_button.connect('clicked', create_tags_clicked_cb)

        dlg = tree.get_widget("FspotConfigDialog")
        dlg.set_transient_for(window)

        response = Utils.run_dialog (dlg, window)
        dlg.destroy()