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

Last change on this file since 3807 was 3807, checked in by hectorgh, 3 years ago

wip

File size: 3.1 KB
Line 
1import gi
2gi.require_version('Gtk', '3.0')
3
4from gi.repository import Gtk,GdkPixbuf,Gdk
5
6import Core
7
8class PopupMenu(Gtk.EventBox):
9
10        def __init__(self):
11
12
13                self.core=Core.Core.get_core()
14                ui_path=self.core.ui_path
15               
16                popup_menu_x=400
17                popup_menu_y=765
18                shadow_size=50
19               
20                Gtk.EventBox.__init__(self)
21                self.set_valign(Gtk.Align.START)
22                self.set_halign(Gtk.Align.START)
23               
24                builder=Gtk.Builder()
25                builder.add_from_file(ui_path)
26               
27                self.revealer=Gtk.Revealer()
28                self.revealer.set_transition_type(Gtk.RevealerTransitionType.SLIDE_LEFT)
29                self.revealer.set_transition_duration(500)
30               
31                self.popup_image=builder.get_object("popup_image")
32                self.popup_menu=builder.get_object("popup_box")
33                popup_menu_left=builder.get_object("popup_box_left")
34                self.popup_shadow=builder.get_object("popup_box_right")
35                eventbox=builder.get_object("eventbox1")
36                eventbox.add_events(Gdk.EventMask.BUTTON_PRESS_MASK)
37                eventbox.connect("button-press-event",self.hide_revealer)
38               
39                label1=builder.get_object("label1")
40                label2=builder.get_object("label2")
41                label3=builder.get_object("label3")
42                label4=builder.get_object("label4")
43                label5=builder.get_object("label5")
44                label6=builder.get_object("label6")
45                label7=builder.get_object("label7")
46               
47                button2=builder.get_object("button2")
48                button3=builder.get_object("button3")
49                button4=builder.get_object("button4")
50                button5=builder.get_object("button5")
51                button6=builder.get_object("button6")
52                button7=builder.get_object("button7")
53                self.home_button=builder.get_object("button1")
54               
55                separator=builder.get_object("separator1")
56
57                decorator_bar=builder.get_object("decoration_bar_box")
58               
59                image=Gtk.Image.new_from_file("lliurex-default-background.png")
60                pixbuf=image.get_pixbuf()
61                original_ratio=pixbuf.get_width(),pixbuf.get_height()
62                pixbuf=pixbuf.scale_simple(400,225,GdkPixbuf.InterpType.BILINEAR)
63                self.popup_image.set_from_pixbuf(pixbuf)
64               
65                self.revealer.add(self.popup_menu)
66                self.add(self.revealer)
67               
68                self.popup_menu.set_name("TRANSPARENT")
69                self.popup_shadow.set_name("POPUP_SHADOW_LEFTRIGHT")
70                self.revealer.set_name("TRANSPARENT")
71                popup_menu_left.set_name("DROPMENU")
72               
73                label1.set_name("POPUP_FONT")
74                label2.set_name("POPUP_FONT")
75                label3.set_name("POPUP_FONT")
76                label4.set_name("POPUP_FONT")
77                label5.set_name("POPUP_FONT")
78                label6.set_name("POPUP_FONT")
79                label7.set_name("POPUP_FONT")
80               
81                button2.set_name("SECTION_BOX")
82                button3.set_name("SECTION_BOX")
83                button4.set_name("SECTION_BOX")
84                button5.set_name("SECTION_BOX")
85                button6.set_name("SECTION_BOX")
86                button7.set_name("SECTION_BOX")
87                self.home_button.set_name("SECTION_BOX")
88               
89                separator.set_name("SECTION_DIVIDER")
90                decorator_bar.set_name("DECORATOR_BAR")
91               
92                self.home_button.connect("clicked",self.go_home)
93               
94               
95        #def init
96       
97
98        def hide_revealer(self,widget,event):
99               
100                self.core.main_window.main_eb_clicked(None,None)
101               
102        #def hide_revealer
103       
104        def go_home(self,widget):
105               
106               
107                self.core.main_window.show_home()
108                # Forcing main_eb_clicked call to hide both popup menu and fade_box
109                self.core.main_window.main_eb_clicked(None,None)
110                self.core.main_window.stack.set_transition_type(Gtk.RevealerTransitionType.CROSSFADE)
111               
112        #def go_home
113
114#class PopupMenu
Note: See TracBrowser for help on using the repository browser.