@@ -25,6 +25,8 @@ def __init__(self, parent=None) -> None:
2525 self .setWindowTitle ("مشغل القرآن" )
2626 self .resize (600 , 400 )
2727 self .preferences_manager = PreferencesManager (user_db_path )
28+ self .menubar = MenuBar (self )
29+ self .setMenuBar (self .menubar )
2830
2931 self .reciters = SurahReciter (data_folder / "quran" / "reciters.db" )
3032 self .player = SurahPlayer ()
@@ -44,7 +46,6 @@ def __init__(self, parent=None) -> None:
4446 self .connect_signals ()
4547 self .disable_focus ()
4648 self .setup_shortcuts ()
47- self .setMenuBar (MenuBar (self ))
4849 self .setFocus ()
4950
5051 layout .addWidget (self .selection_group )
@@ -150,11 +151,17 @@ def connect_signals(self):
150151 self .reciter_combo .currentIndexChanged .connect (self .update_current_reciter )
151152 self .surah_combo .currentIndexChanged .connect (self .update_current_surah )
152153 self .play_pause_button .clicked .connect (self .toggle_play_pause )
154+ self .menubar .play_action .triggered .connect (self .toggle_play_pause )
153155 self .stop_button .clicked .connect (self .stop )
156+ self .menubar .stop_action .triggered .connect (self .stop )
154157 self .forward_button .clicked .connect (self .forward )
158+ self .menubar .forward_action .triggered .connect (self .forward )
155159 self .rewind_button .clicked .connect (self .rewind )
160+ self .menubar .rewind_action .triggered .connect (self .rewind )
156161 self .volume_up_button .clicked .connect (lambda : self .player .increase_volume ())
162+ self .menubar .up_volume_action .triggered .connect (lambda : self .player .increase_volume ())
157163 self .volume_down_button .clicked .connect (lambda : self .player .decrease_volume ())
164+ self .menubar .down_volume_action .triggered .connect (lambda : self .player .decrease_volume ())
158165 self .next_surah_button .clicked .connect (self .next_surah )
159166 self .previous_surah_button .clicked .connect (self .previous_surah )
160167 self .close_button .clicked .connect (self .OnClose )
@@ -186,19 +193,19 @@ def disable_focus(self):
186193 def setup_shortcuts (self , disable = False , first_time = True ):
187194
188195 shortcuts = {
189- self .play_pause_button : "Space" ,
190- self .forward_button : "Right" ,
191- self .rewind_button : "Left" ,
192- self .volume_up_button : "Up" ,
193- self .volume_down_button : "Down" ,
194- self .stop_button : "S" ,
196+ self .menubar . play_action : "Space" ,
197+ self .menubar . forward_action : "Right" ,
198+ self .menubar . rewind_action : "Left" ,
199+ self .menubar . up_volume_action : "Up" ,
200+ self .menubar . down_volume_action : "Down" ,
201+ self .menubar . stop_action : "S" ,
195202 self .close_button : "Ctrl+Q" ,
196203 self .next_surah_button : "Ctrl+Right" ,
197204 self .previous_surah_button : "Ctrl+Left" ,
198205 }
199206
200207 for button , key_sequence in shortcuts .items ():
201- button .setShortcut (QKeySequence (key_sequence ) if not disable else None )
208+ button .setShortcut (QKeySequence (key_sequence ))
202209
203210 if first_time :
204211 QShortcut (QKeySequence ("Ctrl+Down" ), self ).activated .connect (self .next_reciter )
@@ -326,8 +333,11 @@ def update_ui_status(self):
326333 self .statusBar ().showMessage ("إيقاف مؤقت" )
327334
328335 def OnFilterModeChange (self , active : bool ) -> None :
329- for button in self .buttons :
330- button .setEnabled (not active )
336+ widgets = self .buttons + [self .menubar .play_action , self .menubar .forward_action ,
337+ self .menubar .rewind_action , self .menubar .stop_action ,
338+ self .menubar .up_volume_action , self .menubar .down_volume_action ]
339+ for widget in widgets :
340+ widget .setEnabled (not active )
331341 UniversalSpeech .say ("وضع الفلترة مفعَّل. استخدم الأسهم اليمين و اليسار للتنقل بين القرائ و السور, واستخدم الأسهم للأعلى والأسفل لتصفح المحدد, اكتب لتصفية القُرَّاء." if active else "وضع الفلترة معطَّل." )
332342
333343 def OnActiveCategoryChanged (self , label : str ) -> None :
0 commit comments