Changeset 3773


Ignore:
Timestamp:
Feb 28, 2017, 3:02:19 PM (3 years ago)
Author:
hectorgh
Message:

wip

Location:
lliurex-store/trunk/fuentes/lliurex-store-gui
Files:
10 added
8 edited

Legend:

Unmodified
Added
Removed
  • lliurex-store/trunk/fuentes/lliurex-store-gui/MainMenu.py

    r3734 r3773  
    88
    99import gettext
     10import urllib2
     11import json
     12import random
    1013
    1114import Core
     
    1720RSRC_DIR="./"
    1821
     22HOME_CONTENT_URL="http://lliurex.net/xenial/store/home_content.json"
     23HOME_CONTENT_URL="file:///srv/svn/xenial/lliurex-store/trunk/fuentes/lliurex-store-gui/home_content.json"
     24TMP_STORE_DIR="/tmp/.lliurex-store/"
     25
    1926class MainMenu(Gtk.VBox):
    2027       
     
    2633                self.max_image_id=5
    2734               
    28                 ui_path=Core.Core.get_core().ui_path
     35                self.banner_large_x=735
     36                self.banner_large_y=180
     37                self.banner_small=134
     38               
     39                self.core=Core.Core.get_core()
     40               
     41                ui_path=self.core.ui_path
    2942               
    3043                builder=Gtk.Builder()
     
    5063                self.image_stack.set_margin_right(10)
    5164                self.image_stack.set_margin_left(10)
     65                self.image_stack.set_size_request(self.banner_large_x,self.banner_large_y)
     66               
    5267                self.main_view_box.pack_start(self.image_stack,False,False,10)
    5368                self.main_view_box.reorder_child(self.image_stack,2)
    5469               
     70                '''
     71                self.categories_flowbox = Gtk.FlowBox()
     72                self.categories_flowbox.set_max_children_per_line(30)
     73                self.categories_flowbox.set_column_spacing(1)
     74                self.categories_flowbox.set_row_spacing(1)
     75               
     76                self.main_view_box.pack_start(self.categories_flowbox,False,False,10)
     77                '''
     78               
    5579                self.pack_start(self.main_view_box,True,True,0)
    56                
    57                
    5880               
    5981                self.rewind_button.connect("clicked",self.rewind_clicked)
     
    6183                self.forward_button.connect("clicked",self.forward_clicked)
    6284               
    63                 self.build_related()
     85                #self.build_related()
    6486                self.build_categories()
    6587                self.set_css_names()
    6688               
    6789               
    68                
    6990                GLib.timeout_add(3000,self.next_image)
    7091               
    7192        #def __init__
    7293       
    73         def build_related(self):
     94        def download_home_info(self):
     95               
     96                #HOME_CONTENT_URL
     97               
     98                header = {
     99                                        'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.64 Safari/537.11'
     100                                }
     101                       
     102                try:
     103                       
     104                        self.core.dprint("Downloading home_content.json...")
     105                       
     106                        req=urllib2.Request(HOME_CONTENT_URL,headers=header)
     107                        res=urllib2.urlopen(req)
     108                        f=open(TMP_STORE_DIR+"home_content.json","w")
     109                        f.write(res.read())
     110                        f.close()
     111                       
     112                        f=open(TMP_STORE_DIR+"home_content.json")
     113                        self.home_info=json.load(f)
     114                        f.close()
     115
     116                except Exception as e:
     117                       
     118                        print e
     119               
     120               
     121        #def download_home_info
     122       
     123        def build_banners(self):
    74124
    75125                # Main banners
    76126               
    77                 size=134
    78127                spacing=5
    79                
    80                
    81                 self.image1=Gtk.Image.new_from_file(RSRC_DIR+"gearth.png")
    82                 self.image2=Gtk.Image.new_from_file(RSRC_DIR+"gearth2.png")
    83                 self.image3=Gtk.Image.new_from_file(RSRC_DIR+"gearth3.png")
    84                 self.image4=Gtk.Image.new_from_file(RSRC_DIR+"gearth4.png")
    85                 self.image5=Gtk.Image.new_from_file(RSRC_DIR+"gearth5.png")
    86                
    87                 b=Gtk.Button()
    88                 b.set_name("RELATED_BUTTON")
    89                 b.add(self.image1)
    90                 self.image_stack.add_titled(b,"image1","Image 1")
    91                
    92                 b=Gtk.Button()
    93                 b.set_name("RELATED_BUTTON")
    94                 b.add(self.image2)
    95                 self.image_stack.add_titled(b,"image2","Image 2")
    96                
    97                 b=Gtk.Button()
    98                 b.set_name("RELATED_BUTTON")
    99                 b.add(self.image3)
    100                 self.image_stack.add_titled(b,"image3","Image 3")
    101                
    102                 b=Gtk.Button()
    103                 b.set_name("RELATED_BUTTON")
    104                 b.add(self.image4)
    105                 self.image_stack.add_titled(b,"image4","Image 4")
    106                
    107                 b=Gtk.Button()
    108                 b.set_name("RELATED_BUTTON")
    109                 b.add(self.image5)
    110                 self.image_stack.add_titled(b,"image5","Image 5")
     128                count=1
     129               
     130                for pkg in self.home_info["large"]:
     131                        s=Screenshot.ScreenshotNeo()
     132                        info={}
     133                        info["image_url"]=pkg["banner_url"]
     134                        info["image_id"]=pkg["debian_name"]+"_banner_large"
     135                        info["x"]=self.banner_large_x
     136                        info["y"]=self.banner_large_y
     137                        info["aspect_ratio"]=True
     138                        info["pkg_name"]=pkg["name"]
     139                        s.download_image(info)
     140                        s.set_size_request(self.banner_large_x,self.banner_large_y)
     141                        b=Gtk.Button()
     142                        b.set_name("RELATED_BUTTON")
     143                        b.add(s)
     144                        b.show_all()
     145                        b.set_size_request(self.banner_large_x,self.banner_large_y)
     146                        b.connect("clicked",self.banner_clicked,pkg["debian_name"])
     147                        self.image_stack.add_titled(b,"image%s"%count,"Image %s"%count)
     148                        count+=1
     149
    111150               
    112151                # Smaller banners
    113152               
    114                 s=Screenshot.ScreenshotNeo()
    115                 info={}
    116                 info["image_url"]="https://teoten.files.wordpress.com/2010/02/splash1.png"
    117                 info["image_id"]="banner_01"
    118                 info["x"]=size
    119                 info["y"]=size
    120                 info["aspect_ratio"]=False
    121                 info["pkg_name"]="Ardour"
    122                 s.download_image(info)
    123                
    124                 self.testbutton=Gtk.Button()
    125                 self.testbutton.set_name("RELATED_BUTTON")
    126                 self.testbutton.add(s)
    127                 self.featured_extra_box.pack_start(self.testbutton,True,False,spacing)
    128                
    129                 s=Screenshot.ScreenshotNeo()
    130                 info={}
    131                 info["image_url"]="https://emailclientexpert.files.wordpress.com/2010/11/mozilla_thunderbird.jpg"
    132                 info["image_id"]="banner_02"
    133                 info["x"]=size
    134                 info["y"]=size
    135                 info["aspect_ratio"]=False
    136                 info["pkg_name"]="Thunderbird"
    137                 s.download_image(info)
    138                 b=Gtk.Button()
    139                 b.set_name("RELATED_BUTTON")
    140                 b.add(s)
    141                 self.featured_extra_box.pack_start(b,True,False,spacing)
    142                
    143                 s=Screenshot.ScreenshotNeo()
    144                 info={}
    145                 info["image_url"]="http://img.linuxadictos.com/wp-content/uploads/firefox-381.jpg"
    146                 info["image_id"]="banner_03"
    147                 info["x"]=size
    148                 info["y"]=size
    149                 info["aspect_ratio"]=False
    150                 info["pkg_name"]="Firefox"
    151                 s.download_image(info)
    152                 b=Gtk.Button()
    153                 b.set_name("RELATED_BUTTON")
    154                 b.add(s)
    155                 self.featured_extra_box.pack_start(b,True,False,spacing)
    156                
    157                 s=Screenshot.ScreenshotNeo()
    158                 info={}
    159                 info["image_url"]="https://upload.wikimedia.org/wikipedia/commons/thumb/7/7b/Darktable_icon.svg/768px-Darktable_icon.svg.png"
    160                 info["image_id"]="banner_04"
    161                 info["x"]=size
    162                 info["y"]=size
    163                 info["aspect_ratio"]=False
    164                 info["custom_frame"]=True
    165                 info["pkg_name"]="Darktable"
    166                 s.download_image(info)
    167                 b=Gtk.Button()
    168                 b.set_name("RELATED_BUTTON")
    169                 b.add(s)
    170                 self.featured_extra_box.pack_start(b,True,False,spacing)
    171                
    172                
    173                 s=Screenshot.ScreenshotNeo()
    174                 info={}
    175                 info["image_url"]="https://upload.wikimedia.org/wikipedia/commons/thumb/d/d8/Krita_steam_boxart_Feb_2014.png/220px-Krita_steam_boxart_Feb_2014.png"
    176                 info["image_id"]="banner_05"
    177                 info["x"]=size
    178                 info["y"]=size
    179                 info["aspect_ratio"]=False
    180                 info["pkg_name"]="Krita"
    181                 s.download_image(info)
    182                
    183                 b=Gtk.Button()
    184                 b.set_name("RELATED_BUTTON")
    185                 b.add(s)
    186                 self.featured_extra_box.pack_start(b,True,False,spacing)
    187                
     153               
     154                banner_range=range(0,len(self.home_info["small"]))
     155                sample=random.sample(banner_range,5)
     156               
     157                for b_id in banner_range:
     158                       
     159                        pkg=self.home_info["small"][b_id]
     160                        s=Screenshot.ScreenshotNeo()
     161                        info={}
     162                        if pkg["banner_url"]!=None:
     163                                info["image_url"]=pkg["banner_url"]
     164                        else:
     165                                info["image_url"]=pkg["icon_url"]
     166                                info["custom_frame"]=True
     167                        info["image_id"]=pkg["debian_name"]+"_banner_small"
     168                        info["x"]=self.banner_small
     169                        info["y"]=self.banner_small
     170                        info["aspect_ratio"]=False
     171                        info["pkg_name"]=pkg["name"]
     172                       
     173                        s.download_image(info)
     174                        b=Gtk.Button()
     175                        b.set_name("RELATED_BUTTON")
     176                        b.add(s)
     177                        b.connect("clicked",self.banner_clicked,pkg["debian_name"])
     178                        self.featured_extra_box.pack_start(b,True,False,spacing)
     179                               
     180               
     181               
     182                self.show_all()
    188183               
    189184               
     
    198193                button_size=97
    199194               
    200                 img_list=["audio.svg","development.svg","education.svg","favorite.svg","games.svg","graphics.svg","internet.svg","office.svg","science.svg","system.svg","utilities.svg","video.svg"]
    201                
    202                
    203                 for x in range(0,12):
     195                img_list=[("Audio","audio.svg"),("Development","development.svg"),("Education","education.svg"),("Games","games.svg"),("Graphics","graphics.svg"),("Internet","internet.svg"),("Office","office.svg"),("Science","science.svg"),("System","system.svg"),("Utilities","utilities.svg"),("Video","video.svg")]
     196               
     197               
     198                for x in img_list:
     199                       
     200                        label,icon_name=x
    204201                        b=Gtk.Button()
    205202                        b.set_name("RELATED_BUTTON")
    206203                        hbox=Gtk.HBox()
    207204                        hbox.set_halign(Gtk.Align.START)
    208                         import random
    209                         id=int(random.random()*len(img_list))
    210                         #img=Gtk.Image.new_from_file("/home/cless/Desktop/icons/%s"%img_list[id])
    211                        
    212                         img_path="/home/cless/Desktop/icons/clean_icons/%s"%img_list[x]
    213                        
    214                         '''
    215                        
    216                         image=Gtk.Image.new_from_file("/home/cless/Desktop/icons/clean_icons/%s"%img_list[id])
    217                         pixbuf=image.get_pixbuf()
    218                         x=pixbuf.get_width()
    219                         y=pixbuf.get_height()
    220                                
    221                         x=1
    222                         y=1
    223                        
    224                         size=46
    225                                
    226                         ratio=min(size*1.0/x,size*1.0/y)
    227                         pixbuf=pixbuf.scale_simple(x*ratio,y*ratio,GdkPixbuf.InterpType.BILINEAR)
    228                        
    229                         img=Gtk.Image.new_from_pixbuf(pixbuf)
    230                         img.set_margin_left(0)
    231                        
    232                        
    233                        
    234                        
    235                         label=Gtk.Label("Testing")
    236                         label.set_margin_left(5)
    237                         hbox.pack_start(img,True,True,0)
    238                         hbox.pack_start(label,True,True,0)
    239                         b.add(hbox)
    240                        
    241                         '''
     205                        img_path="/home/cless/Desktop/icons/clean_icons/%s"%icon_name
    242206                       
    243207                        s=Screenshot.ScreenshotNeo()
     
    247211                        i["y"]=button_size
    248212                        i["custom_frame"]=True
    249                         i["pkg_name"]=img_list[x].split(".svg")[0].upper()
     213                        i["pkg_name"]=label
    250214                       
    251215                        s.create_banner_from_file(i)
    252216                        b.add(s)
    253                        
     217                        b.connect("clicked",self.category_clicked,label)
     218                       
     219                       
     220                        #self.categories_flowbox.add(b)
    254221                       
    255222                        self.categories_grid.attach(b,w_counter,h_counter,1,1)
     
    260227               
    261228                       
    262                 self.categories_grid.show_all()
     229                #self.categories_grid.show_all()
    263230               
    264231        #def build_categories
     
    281248       
    282249       
     250        def banner_clicked(self,widget,pkg_id):
     251               
     252                self.core.main_window.load_pkg_data(pkg_id)
     253               
     254               
     255        #def banner_clicked
     256       
     257        def category_clicked(self,widget,category):
     258               
     259                print category
     260               
     261        #def category_clicked
     262       
     263       
    283264        def next_image(self,force=False,add=True):
    284265               
    285266                tmp=self.image_stack.get_visible_child_name()
    286                 id=int(tmp.split("image")[1])
    287                
    288                 if add:
    289                
    290                         if id < self.max_image_id:
    291                                 id+=1
     267                if tmp!=None:
     268                        id=int(tmp.split("image")[1])
     269                       
     270                        if add:
     271                       
     272                                if id < self.max_image_id:
     273                                        id+=1
     274                                else:
     275                                        id=1
    292276                        else:
    293                                 id=1
    294                 else:
    295                        
    296                         if id <= 1:
    297                                 id=self.max_image_id
    298                         else:
    299                                 id-=1
    300                
    301                 id="image%s"%id
    302                
    303                 if not self.paused or force:
    304                         if not self.image_stack.get_transition_running() or force:
    305                                 self.image_stack.set_visible_child_name(id)
     277                               
     278                                if id <= 1:
     279                                        id=self.max_image_id
     280                                else:
     281                                        id-=1
     282                       
     283                        id="image%s"%id
     284                       
     285                        if not self.paused or force:
     286                                if not self.image_stack.get_transition_running() or force:
     287                                        self.image_stack.set_visible_child_name(id)
    306288                       
    307289                return True
  • lliurex-store/trunk/fuentes/lliurex-store-gui/MainWindow.py

    r3734 r3773  
    99import gettext
    1010import signal
     11import time
    1112
    1213signal.signal(signal.SIGINT, signal.SIG_DFL)
     
    2122                self.core=Core.Core.get_core()
    2223                self.load_thread=threading.Thread()
     24                self.thread_aborted=False
    2325                self.load_gui()
    2426               
     
    5052               
    5153                self.main_menu=self.core.main_menu
    52                 self.main_menu.testbutton.connect("clicked",self.test_show)
     54               
     55                import random
     56                id=int(random.random()*2)
     57                #self.main_menu.testbutton.connect("clicked",self.load_pkg_data,id)
    5358               
    5459                self.loading_box=self.core.loading_box
     
    6065                self.main_scroll.add(self.stack)
    6166               
    62                 self.load_thread=threading.Thread(target=self.load_main_content)
     67                self.load_thread=threading.Thread(target=self.download_home_info_thread)
    6368                self.load_thread.daemon=True
    6469                self.load_thread.start()
    65                 self.load_thread.join()
    66                
    67                 self.load_main_content()
    68                
    69                 #GLib.timeout_add(1000,self.load_main_content)
     70               
     71                GLib.timeout_add(500,self.load_home)
    7072               
    7173               
     
    123125               
    124126        #def load_gui
    125        
    126         def start_gui(self):
    127                
    128                 GObject.threads_init()
    129                 Gtk.main()
    130        
    131         def test_show(self,widget):
    132                
    133                 import random
    134                 id=int(random.random()*2)
    135                
    136                 p=Package.Package.get_demo_package(id)
    137                 self.details_box.set_package_info(p)
    138                 self.stack.set_visible_child_name("details")
    139                
    140         #def test_show
    141        
    142         def load_main_content(self):
    143                
    144                 print 1
    145                 import time
    146                 time.sleep(5)
    147                 print "asdasd"
    148                
    149         #def load_main_content
    150        
    151         def show_loading(self):
    152                
    153                 self.stack.set_visible_child_name("loading")
    154                
    155         #def kk
    156                
    157         def show_details_box(self):
    158                
    159                 self.stack.set_visible_child_name("details")
    160                
    161         #def show_details_box
    162        
    163         def show_home(self):
    164                
    165                 self.stack.set_visible_child_name("main")
    166                
    167         #def show_details_box
    168        
    169         def load_main_content(self):
    170                
    171                 if self.load_thread.is_alive():
    172                        
    173                         return True
    174                        
    175                 print self.load_thread
    176                 self.show_home()
    177                 return False
    178                
    179                
    180         #def load_main_content
    181                
     127
    182128       
    183129        def set_css_info(self):
     
    194140                self.fade_box.set_name("FADE_BOX")
    195141               
    196                
    197                
    198         #def set-css_info
    199        
    200         def main_eb_clicked(self,widget,event):
    201                
    202                 if self.popup_menu.revealer.get_reveal_child():
    203                        
    204                         self.popup_menu.revealer.set_reveal_child(False)
    205                        
    206                        
    207                 if self.fade_box_revealer.get_reveal_child():
    208                         GLib.timeout_add(30,self.check_fade_out)
    209                         self.fade_box_revealer.set_reveal_child(False)
    210                        
    211                        
    212                        
    213         #def main_eb_clicked
     142        #def set-css_info       
     143       
     144       
     145        def start_gui(self):
     146               
     147                GObject.threads_init()
     148                Gtk.main()
     149               
     150        #def start_gui
     151
     152        # ### HOME LOADING FUNCTIONS # ##############
     153       
     154        def load_home(self):
     155               
     156                if self.thread_aborted:
     157                        self.thread_aborted=False
     158                        return False
     159               
     160               
     161                if self.load_thread.is_alive():
     162                        return True
     163               
     164                self.main_menu.build_banners()
     165                self.show_home()
     166                return False
     167               
     168        #def load_home
     169
     170       
     171        def download_home_info_thread(self):
     172               
     173                self.main_menu.download_home_info()
     174                #time.sleep(2)
     175
     176        #def load_home_thread
     177       
     178        # #################################
     179       
     180        # ### LOAD PKG FUNCTIONS # ##################
     181       
     182        def load_pkg_data(self,pkg_id):
     183               
     184                self.current_pkg=None
     185                self.thread_aborted=False
     186                self.load_thread=threading.Thread(target=self.load_pkg_data_thread,args=(pkg_id,))
     187                self.load_thread.daemon=True
     188                self.load_thread.start()
     189                self.show_loading()
     190                GLib.timeout_add(500,self.load_pkg_listener)
     191               
     192        #def load_pkg_data
     193       
     194        def load_pkg_data_thread(self,pkg_id):
     195               
     196                self.current_pkg=Package.Package.get_demo_package(pkg_id)
     197                #time.sleep(2)
     198               
     199        #def load_pkg_data_thread
     200       
     201        def load_pkg_listener(self):
     202               
     203                if self.thread_aborted:
     204                        self.thread_aborted=False
     205                        return False
     206               
     207                if self.load_thread.is_alive():
     208                        return True
     209                       
     210                if self.current_pkg!=None:
     211                        self.details_box.set_package_info(self.current_pkg)
     212                        self.stack.set_visible_child_name("details")
     213               
     214                return False
     215               
     216        #def load_pkg_listener
     217       
     218        # #################################
     219       
     220       
     221        def show_loading(self):
     222               
     223                self.stack.set_visible_child_name("loading")
     224               
     225        #def kk
     226               
     227        def show_details_box(self):
     228               
     229                self.stack.set_visible_child_name("details")
     230               
     231        #def show_details_box
     232       
     233        def show_home(self):
     234               
     235                self.stack.set_visible_child_name("main")
     236               
     237        #def show_details_box
    214238       
    215239
     
    222246                self.fade_box.set_size_request(x,y)
    223247               
    224                
    225248        #def window_size_allocation
    226249
    227        
    228         def menu_button_clicked(self,widget):
    229                
    230                
    231                 if self.popup_menu.revealer.get_reveal_child()==True:
    232                        
    233                         GLib.timeout_add(250,self.check_fade_out)
    234                        
    235                 else:
    236                        
    237                         self.fade_box_revealer.set_transition_type(Gtk.RevealerTransitionType.CROSSFADE)
    238                        
    239                        
    240                 self.popup_menu.revealer.set_reveal_child(not self.popup_menu.revealer.get_reveal_child())
    241                 self.fade_box_revealer.set_reveal_child(True)
    242                
    243                
    244         #def menu_button_clicked
    245        
    246         def check_fade_out(self):
    247                
    248                 if self.fade_box_revealer.get_child_revealed():
    249                        
    250                         return True
    251                        
    252                 self.fade_box_revealer.set_transition_type(Gtk.RevealerTransitionType.SLIDE_UP)
    253                
    254         #def check_fade_out
    255        
    256        
     250
    257251        def screenshot_clicked(self,widget):
    258252
     
    263257                                return
    264258                       
    265                         if widget.get_children()[0].video_url==None:
    266                                 self.screenshot_viewer.set_screenshot(widget.get_children()[0].image_id,self.details_box.screenshots_box)
     259                        if widget.get_children()[0].image_info["video_url"]==None:
     260                                self.screenshot_viewer.set_screenshot(widget.get_children()[0].image_info["image_id"],self.details_box.screenshots_box)
    267261                        else:
    268                                 self.screenshot_viewer.set_screenshot(widget.get_children()[0].video_url,self.details_box.screenshots_box,True)
     262                                self.screenshot_viewer.set_screenshot(widget.get_children()[0].image_info["video_url"],self.details_box.screenshots_box,True)
    269263                               
    270264                        self.screenshot_viewer.revealer.set_reveal_child(True)
     
    273267        #def screenshot_clicked
    274268       
     269
     270        def main_eb_clicked(self,widget,event):
     271               
     272                if self.popup_menu.revealer.get_reveal_child():
     273                        self.popup_menu.revealer.set_reveal_child(False)
     274                       
     275                if self.fade_box_revealer.get_reveal_child():
     276                        GLib.timeout_add(30,self.check_fade_out)
     277                        self.fade_box_revealer.set_reveal_child(False)
     278                       
     279        #def main_eb_clicked
     280
     281       
     282        def menu_button_clicked(self,widget):
     283               
     284                if self.popup_menu.revealer.get_reveal_child()==True:
     285                        GLib.timeout_add(250,self.check_fade_out)
     286                else:
     287                        self.fade_box_revealer.set_transition_type(Gtk.RevealerTransitionType.CROSSFADE)
     288                       
     289                self.popup_menu.revealer.set_reveal_child(not self.popup_menu.revealer.get_reveal_child())
     290                self.fade_box_revealer.set_reveal_child(True)
     291               
     292        #def menu_button_clicked
     293
     294
     295        def check_fade_out(self):
     296               
     297                if self.fade_box_revealer.get_child_revealed():
     298                        return True
     299                       
     300                self.fade_box_revealer.set_transition_type(Gtk.RevealerTransitionType.SLIDE_UP)
     301               
     302        #def check_fade_out
     303       
     304       
     305
     306       
     307       
    275308       
    276309#class LliurexStore
  • lliurex-store/trunk/fuentes/lliurex-store-gui/Package.py

    r3734 r3773  
    3131       
    3232        @classmethod
    33         def get_demo_package(self,id=0):
     33        def get_demo_package(self,id="ardour"):
    3434               
    3535                dic={}
    3636               
    3737               
    38                 if id==0:
     38                if id=="ardour":
    3939               
    4040                        dic["banner_url"]="https://teoten.files.wordpress.com/2010/02/splash1.png"
     
    139139                       
    140140               
    141                 if id==1:
     141                else:
    142142                       
    143143                        dic["banner_url"]="https://4.bp.blogspot.com/-7B2F6d4vbP8/VxJmlWC5owI/AAAAAAAAGug/YO7JeHjHnjEGvTv2naEfcLmaFIsi2sdLwCLcB/s1600/clementine-950x632.jpg"
  • lliurex-store/trunk/fuentes/lliurex-store-gui/PopupMenu.py

    r3734 r3773  
    104104        def go_home(self,widget):
    105105               
     106                self.core.main_window.thread_aborted=True
    106107                self.core.main_window.location_label.set_text("Home")
    107108                self.core.main_window.stack.set_visible_child_name("main")
  • lliurex-store/trunk/fuentes/lliurex-store-gui/Screenshot.py

    r3734 r3773  
    77import ImageManager
    88import Core
     9import string
     10import random
    911
    1012class ScreenshotNeo(Gtk.Stack):
     
    3234               
    3335                self.image_info={}
    34                 self.image_info["image_url"]=""
    35                 self.image_info["video_url"]=""
    36                 self.image_info["image_id"]=""
    37                 self.image_info["pkg_name"]=""
    38                 self.image_info["image_path"]=""
     36                self.image_info["image_url"]=None
     37                self.image_info["video_url"]=None
     38                self.image_info["image_id"]=None
     39                self.image_info["pkg_name"]=None
     40                self.image_info["image_path"]=None
    3941                self.image_info["x"]=-1
    4042                self.image_info["y"]=-1
     
    5759                self.image_info["pixbuf"]=image_info.setdefault("pixbuf",None)
    5860                self.image_info["image_url"]=image_info.setdefault("image_url","")
    59                 self.image_info["image_id"]=image_info.setdefault("image_id","")
     61                self.image_info["image_id"]=image_info.setdefault("image_id",self.get_random_id())
    6062                self.image_info["custom_frame"]=image_info.setdefault("custom_frame",False)
    6163                self.image_info["force_label"]=image_info.setdefault("force_label",False)
     
    6365        #def set_image_info
    6466       
     67        def get_random_id(self):
     68               
     69                chars=string.ascii_lowercase
     70                size=10
     71               
     72                return ''.join(random.choice(chars) for _ in range(size))
     73               
     74        #def get_random_id
     75       
    6576        def set_from_file(self,image_info):
    6677               
     
    6980               
    7081                x=self.image_info["x"]
    71                 y=self.image_info["x"]
     82                y=self.image_info["y"]
    7283                aspect_ratio=self.image_info["aspect_ratio"]
    7384                file_path=self.image_info["image_path"]
     
    8596                               
    8697                        else:
     98                               
    8799                                tmp=ImageManager.scale_image(file_path,x,y,aspect_ratio)
    88100                                pixbuf=tmp.get_pixbuf()
     
    97109        #def set_from_file
    98110       
     111        def get_size(self):
     112               
     113                print self.image_info["x"]
     114                print self.image_info["y"]
     115               
     116        #def get_size
     117       
    99118        def set_from_pixbuf(self,image_info):
    100119               
     
    148167               
    149168                x=self.image_info["x"]
    150                 y=self.image_info["x"]
     169                y=self.image_info["y"]
    151170               
    152171                self.set_visible_child_name("spinner")
    153172               
    154173                self.spinner.set_size_request(x,y)
    155                
    156174                GLib.timeout_add(500,self.wait_for_image)
    157175               
  • lliurex-store/trunk/fuentes/lliurex-store-gui/ScreenshotViewer.py

    r3734 r3773  
    7979               
    8080                if url==False:
    81                         self.image.set_from_pixbuf(data,x,y)
     81                        image_info={}
     82                        image_info["x"]=x
     83                        image_info["y"]=y
     84                        image_info["pixbuf"]=data
     85                        image_info["aspect_ratio"]=True
     86                        self.image.set_from_pixbuf(image_info)
    8287                else:
    8388                        self.show_url(None,data)
     
    101106                        tmp=x.get_children()[0]
    102107                        pixbuf=tmp.image.get_pixbuf()
    103                         id=x.get_children()[0].image_id
     108                        id=x.get_children()[0].image_info["image_id"]
    104109                        b=Gtk.Button()
    105110                        b.add(Gtk.Image.new_from_pixbuf(pixbuf))
    106                         if tmp.video_url!=None:
    107                                 b.connect("clicked",self.show_url,tmp.video_url)
     111                        if tmp.image_info["video_url"]!=None:
     112                                b.connect("clicked",self.show_url,tmp.image_info["video_url"])
    108113                        else:
    109114                                b.connect("clicked",self.screenshot_button_clicked,id)
     
    172177                pixbuf=pixbuf.scale_simple(x*ratio,y*ratio,GdkPixbuf.InterpType.BILINEAR)
    173178                self.image.spinner.hide()
    174                 self.image.set_from_pixbuf(pixbuf,new_x,new_y)
     179               
     180                image_info={}
     181                image_info["x"]=new_x
     182                image_info["y"]=new_y
     183                image_info["pixbuf"]=pixbuf
     184                image_info["aspect_ratio"]=True
     185                self.image.set_from_pixbuf(image_info)
     186               
     187                self.image.set_from_pixbuf(image_info)
    175188
    176189        #def screenshot_button_clicked
  • lliurex-store/trunk/fuentes/lliurex-store-gui/lliurex-store.css

    r3734 r3773  
    298298
    299299                0% { background-position: 50% 50%;}
    300                 15% { background-position: 50% 24%;}
    301                 30% { background-position: 50% 50%;}
    302                 45% { background-position: 50% 26%;}
    303                 60% { background-position: 50% 50%;}
    304                 75% { background-position: 50% 28%;}
     300                20% { background-position: 50% 24%;}
     301                40% { background-position: 50% 50%;}
     302                60% { background-position: 50% 26%;}
     303                80% { background-position: 50% 50%;}
     304                81% { background-position: 50% 50%;}
     305                85% { background-position: 50% 50%;}
    305306                90% { background-position: 50% 50%;}
    306307                100% { background-position: 50% 50%;}
     
    314315                        background-repeat: no-repeat;
    315316                        background-color: transparent;
    316                         animation: bounce-image infinite ease-out 3s;
     317                        animation: bounce-image infinite ease-out 2s;
    317318                        animation-delay: 0ms;
    318319
     
    325326                        background-repeat: no-repeat;
    326327                        background-color: transparent;
    327                         animation: bounce-image infinite ease-out 3s;
     328                        animation: bounce-image infinite ease-out 2s;
    328329                        animation-delay: 100ms;
    329330
     
    336337                        background-repeat: no-repeat;
    337338                        background-color: transparent;
    338                         animation: bounce-image infinite ease-out 3s;
     339                        animation: bounce-image infinite ease-out 2s;
    339340                        animation-delay: 200ms;
    340341
     
    347348                        background-repeat: no-repeat;
    348349                        background-color: transparent;
    349                         animation: bounce-image infinite ease-out 3s;
     350                        animation: bounce-image infinite ease-out 2s;
    350351                        animation-delay: 300ms;
    351352
     
    358359                        background-repeat: no-repeat;
    359360                        background-color: transparent;
    360                         animation: bounce-image infinite ease-out 3s;
     361                        animation: bounce-image infinite ease-out 2s;
    361362                        animation-delay: 400ms;
    362363
     
    369370                        background-repeat: no-repeat;
    370371                        background-color: transparent;
    371                         animation: bounce-image infinite ease-out 3s;
     372                        animation: bounce-image infinite ease-out 2s;
    372373                        animation-delay: 500ms;
    373374
     
    380381                        background-repeat: no-repeat;
    381382                        background-color: transparent;
    382                         animation: bounce-image infinite ease-out 3s;
     383                        animation: bounce-image infinite ease-out 2s;
    383384                        animation-delay: 600ms;
    384385
  • lliurex-store/trunk/fuentes/lliurex-store-gui/lliurex-store.ui

    r3734 r3773  
    246246        <child>
    247247          <object class="GtkBox" id="i_box">
    248             <property name="width_request">20</property>
     248            <property name="width_request">16</property>
    249249            <property name="visible">True</property>
    250250            <property name="can_focus">False</property>
     
    262262        <child>
    263263          <object class="GtkBox" id="u_box">
    264             <property name="width_request">32</property>
     264            <property name="width_request">30</property>
    265265            <property name="visible">True</property>
    266266            <property name="can_focus">False</property>
     
    310310        <child>
    311311          <object class="GtkBox" id="x_box">
    312             <property name="width_request">32</property>
     312            <property name="width_request">28</property>
    313313            <property name="visible">True</property>
    314314            <property name="can_focus">False</property>
     
    470470      <packing>
    471471        <property name="expand">False</property>
    472         <property name="fill">True</property>
     472        <property name="fill">False</property>
    473473        <property name="position">1</property>
    474474      </packing>
     
    770770                    <property name="can_focus">False</property>
    771771                    <property name="yalign">1</property>
    772                     <property name="pixbuf">/home/cless/Desktop/icons/clean_icons/favorite.svg</property>
     772                    <property name="pixbuf">/home/cless/Desktop/icons/shadow_icons/favorite.svg</property>
    773773                    <property name="pixel_size">24</property>
    774774                  </object>
     
    830830                    <property name="can_focus">False</property>
    831831                    <property name="yalign">1</property>
    832                     <property name="pixbuf">/home/cless/Desktop/icons/clean_icons/audio.svg</property>
     832                    <property name="pixbuf">/home/cless/Desktop/icons/shadow_icons/audio.svg</property>
    833833                    <property name="pixel_size">24</property>
    834834                  </object>
     
    876876                    <property name="can_focus">False</property>
    877877                    <property name="yalign">1</property>
    878                     <property name="pixbuf">/home/cless/Desktop/icons/clean_icons/games.svg</property>
     878                    <property name="pixbuf">/home/cless/Desktop/icons/shadow_icons/games.svg</property>
    879879                    <property name="pixel_size">24</property>
    880880                  </object>
     
    922922                    <property name="can_focus">False</property>
    923923                    <property name="yalign">1</property>
    924                     <property name="pixbuf">/home/cless/Desktop/icons/clean_icons/video.svg</property>
     924                    <property name="pixbuf">/home/cless/Desktop/icons/shadow_icons/video.svg</property>
    925925                    <property name="pixel_size">24</property>
    926926                  </object>
Note: See TracChangeset for help on using the changeset viewer.