Ignore:
Timestamp:
Feb 16, 2017, 12:43:07 PM (4 years ago)
Author:
hectorgh
Message:

wip

File:
1 edited

Legend:

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

    r3155 r3649  
    1 import gi
    2 gi.require_version('Gtk', '3.0')
    3 
    4 from gi.repository import Gtk, Pango, GdkPixbuf, Gdk, Gio, GObject,GLib
    5 
    6 import signal
    7 signal.signal(signal.SIGINT, signal.SIG_DFL)
    8 
    9 import gettext
    10 
    11 import test
    12 import PopupMenu
    13 import ScreenshotViewer
    14 import MainMenu
    15 
    16 _=gettext.gettext
    17 
    18 RSRC_DIR="./"
    19 
    20 class LliurexStore:
    21        
    22         def __init__(self):
    23                
    24                 self.load_gui()
    25                
    26                
    27                
    28         #def init
    29        
    30         def load_gui(self):
    31                
    32                 builder=Gtk.Builder()
    33                 ui_path=RSRC_DIR+"lliurex-store.ui"
    34                 builder.add_from_file(ui_path)
    35                
    36                 self.window=builder.get_object("window1")
    37                 self.menu_button=builder.get_object("menu_button")
    38                
    39                 self.main_scroll=builder.get_object("main_scrolledwindow")
    40                 self.location_label=builder.get_object("location_label")
    41                 self.search_entry=builder.get_object("search_entry")
    42                 self.main_box=builder.get_object("main_box")
    43                 self.header_box=builder.get_object("header_box")
    44                 test_box=builder.get_object("box1")
    45                 test_box.set_name("BUTTON")
    46                
    47                 self.details_box=test.DetailsBox()
    48                
    49                
    50                 self.stack=Gtk.Stack()
    51                 self.stack.set_transition_type(Gtk.StackTransitionType.CROSSFADE)
    52                 self.stack.set_transition_duration(1000)
    53                
    54                 self.main_menu=MainMenu.MainMenu()
    55                
    56                
    57                 #self.stack.add_titled(self.main_menu,"main","Main")
    58                 self.stack.add_titled(self.details_box,"details","Details")
    59                
    60                
    61                 self.main_scroll.add(self.stack)
    62                 #self.main_box.pack_start(self.stack,True,True,0)
    63                
    64                
    65                 self.overlay=Gtk.Overlay()
    66                 self.main_eb=Gtk.EventBox()
    67                 self.main_eb.add(self.main_box)
    68                
    69                 self.main_eb.add_events(Gdk.EventMask.BUTTON_PRESS_MASK)
    70                 self.main_eb.connect("button-press-event",self.main_eb_clicked)
    71                
    72                 self.overlay.add(self.main_eb)
    73                 self.overlay.show_all()
    74                
    75                 self.popup_menu=PopupMenu.PopupMenu(ui_path)
    76                 self.screenshot_viewer=ScreenshotViewer.ScreenshotViewer()
    77 
    78                 self.fade_box_revealer=Gtk.Revealer()
    79                 self.fade_box_revealer.set_valign(Gtk.Align.END)
    80                 self.fade_box_revealer.set_halign(Gtk.Align.END)
    81                 #self.fade_box=Gtk.Button("QUE PASAAAAA\n\n\n\n")
    82                 self.fade_box=Gtk.HBox()
    83                 self.fade_eb=Gtk.EventBox()
    84                 self.fade_eb.add(self.fade_box)
    85                 self.fade_eb.add_events(Gdk.EventMask.BUTTON_PRESS_MASK)
    86                 self.fade_eb.connect("button-press-event",self.main_eb_clicked)
    87                
    88                 self.fade_box_revealer.set_transition_type(Gtk.RevealerTransitionType.SLIDE_UP)
    89                 self.fade_box_revealer.set_transition_duration(self.popup_menu.revealer.get_transition_duration())
    90                 self.fade_box_revealer.add(self.fade_eb)
    91                 self.fade_box_revealer.show_all()
    92                
    93                
    94                 self.overlay.add_overlay(self.fade_box_revealer)
    95                 self.overlay.add_overlay(self.popup_menu)
    96                 self.overlay.add_overlay(self.screenshot_viewer)
    97                
    98                
    99                
    100                 for x in self.details_box.screenshots_box.get_children():
    101                         x.connect("clicked",self.screenshot_clicked)
    102                
    103                 self.window.add(self.overlay)
    104                 self.set_css_info()
    105                
    106                 self.window.connect("size-allocate",self.window_size_changed)
    107                 self.window.connect("destroy",Gtk.main_quit)
    108                 self.menu_button.connect("clicked",self.menu_button_clicked)
    109                
    110                
    111                
    112                 self.window.show_all()
    113                 GObject.threads_init()
    114                 Gtk.main()
    115                
    116                
    117         #def load_gui
    118        
    119         def kk(self,widget,event):
    120                
    121                 print "???"
    122        
    123         def set_css_info(self):
    124                
    125                 self.style_provider=Gtk.CssProvider()
    126                 f=Gio.File.new_for_path("lliurex-store.css")
    127                 self.style_provider.load_from_file(f)
    128                 Gtk.StyleContext.add_provider_for_screen(Gdk.Screen.get_default(),self.style_provider,Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION)
    129                
    130                 self.window.set_name("MAIN_BOX")
    131                 self.header_box.set_name("HEADER_MENU")
    132                 self.menu_button.set_name("MENU_BUTTON")
    133                 self.location_label.set_name("RELATED_LABEL")
    134                 self.fade_box.set_name("FADE_BOX")
    135                
    136                
    137                
    138         #def set-css_info
    139        
    140         def main_eb_clicked(self,widget,event):
    141                
    142                 if self.popup_menu.revealer.get_reveal_child():
    143                        
    144                         self.popup_menu.revealer.set_reveal_child(False)
    145                        
    146                        
    147                 if self.fade_box_revealer.get_reveal_child():
    148                         GLib.timeout_add(30,self.check_fade_out)
    149                         self.fade_box_revealer.set_reveal_child(False)
    150                        
    151                        
    152                        
    153         #def main_eb_clicked
    154        
    155 
    156         def window_size_changed(self,widget,allocation):
    157                
    158                 x,y=self.window.get_size()
    159                 self.popup_menu.popup_menu.set_size_request(400,y)
    160                 #self.popup_menu.popup_shadow.set_size_request(x-400,y)
    161                 self.screenshot_viewer.content_box.set_size_request(x,y)
    162                 self.screenshot_viewer.sw.set_size_request(x-20,150)
    163                 self.fade_box.set_size_request(x,y)
    164                
    165                
    166         #def window_size_allocation
    167 
    168        
    169         def menu_button_clicked(self,widget):
    170                
    171                
    172                 if self.popup_menu.revealer.get_reveal_child()==True:
    173                        
    174                         GLib.timeout_add(250,self.check_fade_out)
    175                        
    176                 else:
    177                         pass
    178                         self.fade_box_revealer.set_transition_type(Gtk.RevealerTransitionType.CROSSFADE)
    179                        
    180                        
    181                 self.popup_menu.revealer.set_reveal_child(not self.popup_menu.revealer.get_reveal_child())
    182                 self.fade_box_revealer.set_reveal_child(True)
    183                
    184                
    185         #def menu_button_clicked
    186        
    187         def check_fade_out(self):
    188                
    189                 if self.fade_box_revealer.get_child_revealed():
    190                        
    191                         return True
    192                        
    193                 self.fade_box_revealer.set_transition_type(Gtk.RevealerTransitionType.SLIDE_UP)
    194                
    195         #def check_fade_out
    196        
    197        
    198         def screenshot_clicked(self,widget):
    199 
    200                 if widget.get_children()[0].get_visible_child_name()=="image":
    201                        
    202                         if self.popup_menu.revealer.get_reveal_child():
    203                                 self.popup_menu.revealer.set_reveal_child(False)
    204                                 return
    205                        
    206                         if widget.get_children()[0].video_url==None:
    207                                 self.screenshot_viewer.set_screenshot(widget.get_children()[0].id,self.details_box.screenshots_box)
    208                         else:
    209                                 self.screenshot_viewer.set_screenshot(widget.get_children()[0].video_url,self.details_box.screenshots_box,True)
    210                                
    211                         self.screenshot_viewer.revealer.set_reveal_child(True)
    212                        
    213                        
    214         #def screenshot_clicked
    215        
    216        
    217 #class LliurexStore
     1import Core
    2182
    2193if __name__=="__main__":
    2204       
    221         llx_store=LliurexStore()
     5        c=Core.Core.get_core()
     6        c.main_window.start_gui()
Note: See TracChangeset for help on using the changeset viewer.