-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmain.py
More file actions
executable file
·74 lines (56 loc) · 2.29 KB
/
main.py
File metadata and controls
executable file
·74 lines (56 loc) · 2.29 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
import sys
import gi
import lyricsFetchApi
import styling
import threading
gi.require_version('Gtk','4.0')
gi.require_version('Adw','1')
from gi.repository import Adw,Gtk
from lyricsFetchApi import fetcher
from styling import app_resources
global builder,window
builder = Gtk.Builder()
builder.add_from_file('lyricFetchGtk/lyricsFetchGtk')
app_resources()
class lyricsApp(Adw.Application):
def __init__(self,**kwargs):
super().__init__(**kwargs)
self.connect('activate',self.on_activate)
def on_activate(self,app):
# Fetched objects
self.window = builder.get_object("mainWin")
usrEntry = builder.get_object("usrSong")
saveState = builder.get_object("saveState")
self.titleCont = builder.get_object("titlesCont")
self.lyricCont = builder.get_object("lyricsCont")
# Handler connections
usrEntry.connect('activate',self.onUsrEntry)
saveState.connect('toggled',self.onSaveStateTrue)
self.window.set_application(self)
self.window.present()
# Styling Prefs
maincont = builder.get_object("mainCont")
self.titlehead = builder.get_object("titlesCont")
searchCont = builder.get_object("searchCont")
self.lyricsCont = builder.get_object("lyricsCont")
self.titlehead.set_css_classes(['titleContainer'])
searchCont.set_css_classes(['searchContainer'])
self.lyricsCont.set_css_classes(['lyricsContainer'])
usrEntry.set_css_classes(['searchbar'])
maincont.set_css_classes(['mainContainer'])
self.window.set_css_classes(['mainWindow'])
# Widget Handlers
def onUsrEntry(self,usrEntry):
titleBuff = self.titleCont.get_buffer()
lyricbuff = self.lyricCont.get_buffer()
usrSong=usrEntry.get_text()
thread = threading.Thread(target=fetcher,daemon=True,args=(1,)).start()
fetcher(title=usrSong)
self.lyricsCont.set_css_classes(['afterFetch'])
titleBuff.set_text(lyricsFetchApi.musicDetails)
lyricbuff.set_text(lyricsFetchApi.fetchedLyrics)
def onSaveStateTrue(self,saveState):
lyricsFetchApi.saveState =True
print(f"Savestate is set to : {lyricsFetchApi.saveState}")
app = lyricsApp(application_id="com.imnotndesh.lyricsfetchGtk")
app.run(sys.argv)