Beispiel #1
0
 def fill_games(self, categoryid):
     self.gui.setBusy(self.window_main, True)
     self.treeview_games.clear()
     if categoryid == 0:
         cat = self.actions.get_games()
     else:
         cat = self.actions.get_games({'category':categoryid})
     if cat:
         self.download_images(categoryid)
         for n in cat:
             game = Game(n['game'])
             game.game_id = n['id']
             game.category = n['category']
             game.rate = n['rate']
             game.description = n['description']
             game.image_filename = n['image_file']
             game.version = n['version']
             game.file_size = n['file_size']
             game.image_url = n['image_url']
             game.website = n['website']
             game.requires = n['requires']
             game.install_command =  n['install_command']
             game.deb_filename = n['deb_filename']
             game.download_url = n['download_url']
             game.download_type= n['download_type']
             game.localpicture = not load_pixbuf_image(game.image_filename)[1]
             self.treeview_games.add(game)
     self.gui.setBusy(self.window_main)
Beispiel #2
0
    def download_images(self, categoryid):
        need_download = []
        cat = self.actions.get_games({'category':categoryid})
        if cat:
            for n in cat:
                if load_pixbuf_image(n['image_file'])[1]:
                    need_download.append(n)
        if len(need_download)>0:
            dialog = ProgressDialog(self.window_main ,'') 
            dialog.connect("download-failed", self._fileDownloadFailed)
            
            # Download queue
            downloadItems = set()
            for n in need_download:
                    downloadItems.add(DownloadItem('%s image' % n['game'], n['image_url'], os.path.join(CONFIG_DIR, n['image_file'])))
                    
            # Try to download all items
            #response = dialog.download(downloadItems)
            dialog.message('Downloading Games images...')
            response = dialog.download(downloadItems)

            # Destroy wizard
            dialog.destroy()

            # Abort installation if user pressed cancel during the download
            #if response == gtk.RESPONSE_ACCEPT:
            self.window_main.set_sensitive(True) 
Beispiel #3
0
 def add_game(self, game):
     """
         @param games a reference to IUG.Games object.
     """
     pixbuf, isdefault = load_pixbuf_image(game.image_filename)
     pixscaled = pixbuf.scale_simple(48, 48, gtk.gdk.INTERP_HYPER)
     item = [pixscaled, game.game, game.rate, game, False]
     self.append_method(self, item)
Beispiel #4
0
 def on_treeview_games_selected(self, widget, game):
     self.treeview_description.clear()
     self.image_game.clear()
     self.menu_viewsite.set_sensitive(True)
     self.button_download.set_sensitive(True)
     self.menu_download.set_sensitive(True)
     self.button_zoom.set_sensitive(True)
     self.menu_fullscreen.set_sensitive(True)
     self.treeview_description.add(game)
     pixbuf,isdefault = load_pixbuf_image(game.image_filename)
     pixscaled = self.gui.scale(pixbuf,192,192)
     self.image_game.set_from_pixbuf(pixscaled)
Beispiel #5
0
    def __game_view_func(self, cell_layout, renderer, model, iter):
        if isinstance(renderer, gtk.CellRendererPixbuf):
            # if not model.get_value(iter, model.IMG_SET_COL):
            game = model.get_value(iter, model.GAME_COL)
            pixbuf, isdefault = load_pixbuf_image(game.image_filename)
            model.set_value(iter, model.IMG_SET_COL, True)
            pixscaled = pixbuf.scale_simple(48, 48, gtk.gdk.INTERP_HYPER)
            model.set_value(iter, model.PIC_COL, pixscaled)
            gc.collect()  # Tell Python to clean up the memory

        elif isinstance(renderer, gtk.CellRendererText):
            game = model.get_value(iter, self.model.GAME_COL)
            markup = MSG_000021 % (game.game, game.description, game.file_size, game.version)
            renderer.set_property("markup", markup)
Beispiel #6
0
 def __init__(self):
     gtk.AboutDialog.__init__(self)
     self.set_name("IUG")
     self.set_logo(load_pixbuf_image("temp.jpg")[0])
     self.set_version("1.0")
     self.set_website("http://www.ubuntugames.org")
     self.set_comments(MSG_000022)
     self.set_artists(['Carlos Donizete "Coringao" <*****@*****.**>'])
     self.set_authors(
         [
             "Laudeci Oliveira <*****@*****.**>",
             "Thiago Avelino <*****@*****.**>",
             "Carlos Donizete <*****@*****.**>",
         ]
     )
     self.set_copyright("Copyright (C) 2009 Carlos Donizete <*****@*****.**>")
     self.set_license(MSG_000023)
     self.run()
     self.destroy()
Beispiel #7
0
    def __init__(self):
        self.gui = GTKWrappers()
        self.actions = Actions()
        
        # setup a default icon
        self.icons = gtk.icon_theme_get_default()
        self.current_category_id = 0
        
        self.gui.get_glade(MAIN_GLADE, 'window_main')
        #Main widget
        self.window_main = self.gui.get_widget('window_main')
        self.window_main.set_icon(load_pixbuf_image('iug')[0])
    
        # Sexy search entry
        self.search_hbox = self.gui.get_widget('search_hbox')
        self.search_entry = SearchEntry(self.icons)
        self.search_hbox.add(self.search_entry)
        self.search_entry.show()
        
        #creates the GamesListView to view a list of games
        self.scrolled_window = self.gui.get_widget('scrolled_window')
        self.treeview_games = GamesListView()
        self.scrolled_window.add(self.treeview_games)
        self.treeview_games.show()
        
        #create the description listview to show games info.
        self.scrolled_description = self.gui.get_widget('scrolled_description')
        self.treeview_description = DescriptionTreeView()
        self.scrolled_description.add(self.treeview_description)
        self.treeview_description.show()
        
        #Application menu
        self.menu_download = self.gui.get_widget('menu_download')
        self.menu_download.set_sensitive(False)
        self.menu_viewsite = self.gui.get_widget('menu_viewsite')
        self.menu_viewsite.set_sensitive(False)
        self.menu_quit = self.gui.get_widget('menu_quit')
        self.menu_preferences = self.gui.get_widget('menu_preferences')
        self.menu_fullscreen = self.gui.get_widget('menu_fullscreen')
        self.menu_fullscreen.set_sensitive(False)
        self.menu_reportbug = self.gui.get_widget('menu_reportbug')
        self.menu_about = self.gui.get_widget('menu_about')

        #Application buttons
        self.button_close = self.gui.get_widget('button_close')
        self.button_download = self.gui.get_widget('button_download')
        self.button_zoom = self.gui.get_widget("button_zoom")
        self.menu_viewsite.set_sensitive(False)
        self.button_download.set_sensitive(False)
        self.menu_download.set_sensitive(False)
        self.button_zoom.set_sensitive(False)
        
        # image widget to show the game screenshot
        self.image_game = self.gui.get_widget('image_game')
        # create the category treeview
        self.treeview_categories = self.gui.get_widget('treeview_categories')
        renderer_cat_name = gtk.CellRendererText()
        renderer_cat_name.set_property('scale', 1.0)
        column_cat = gtk.TreeViewColumn(MSG_000001,renderer_cat_name)
        column_cat.add_attribute(renderer_cat_name, 'markup', COL_CAT_NAME)
        self.treeview_categories.append_column(column_cat)
        self.treeview_categories.set_search_column(COL_CAT_NAME)
        self.category_selection = self.treeview_categories.get_selection()
        self.category_selection.set_mode(gtk.SELECTION_SINGLE)
        
        self.window_main.show()
        self.connect_events()
        
        self.check_version()
        
        self.fill_category()
        
        self.search_entry.grab_focus()