source: lliurex-store/trunk/fuentes/lliurex-store-gui/lliurex-store.py @ 3155

Last change on this file since 3155 was 3155, checked in by hectorgh, 4 years ago

adding tmp source code

File size: 5.5 KB
Line 
1import gi
2gi.require_version('Gtk', '3.0')
3
4from gi.repository import Gtk, Pango, GdkPixbuf, Gdk, Gio, GObject,GLib
5
6import signal
7signal.signal(signal.SIGINT, signal.SIG_DFL)
8
9import gettext
10
11import test
12import PopupMenu
13import ScreenshotViewer
14import MainMenu
15
16_=gettext.gettext
17
18RSRC_DIR="./"
19
20class 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
218
219if __name__=="__main__":
220       
221        llx_store=LliurexStore()
Note: See TracBrowser for help on using the repository browser.