@@ -48,7 +48,6 @@ class MainWindow(QMainWindow, Ui_MainWindow):
4848 file_opening = pyqtSignal (str )
4949 set_caption = pyqtSignal (str )
5050 state_changed = pyqtSignal (tuple )
51- save_image = pyqtSignal (bool )
5251 info_dialog = pyqtSignal (str )
5352 archive_dialog = pyqtSignal (list )
5453 vidext_init = pyqtSignal (QOpenGLContext )
@@ -70,8 +69,7 @@ def __init__(self, optparse):
7069 self .statusbar_label .setIndent (2 )
7170 self .statusbar_label .setSizePolicy (QSizePolicy .Policy .Ignored , QSizePolicy .Policy .Fixed )
7271 self .statusbar .addPermanentWidget (self .statusbar_label , 1 )
73- self .update_status (self .tr (
74- "Welcome to M64Py version %s." % FRONTEND_VERSION ))
72+ self .update_status (self .tr ("M64Py version %s." % FRONTEND_VERSION ))
7573
7674 self .sizes = {
7775 SIZE_1X : self .action1X ,
@@ -107,16 +105,6 @@ def changeEvent(self, event):
107105 self .windowState () == Qt .WindowState .WindowMaximized ):
108106 self .maximized = True
109107
110- def resizeEvent (self , event ):
111- event .ignore ()
112- size = event .size ()
113- if self .widgets_height :
114- width , height = size .width (), size .height ()
115- self .window_size_triggered ((width , height ))
116- else :
117- width , height = size .width (), size .height ()
118- self .resize (width , height )
119-
120108 def showEvent (self , event ):
121109 if not self .widgets_height :
122110 width , height = self .settings .get_size_safe ()
@@ -136,49 +124,44 @@ def keyPressEvent(self, event):
136124
137125 if modifiers & Qt .KeyboardModifier .AltModifier and (key == Qt .Key .Key_Enter or key == Qt .Key .Key_Return ):
138126 self .toggle_fs .emit ()
139- elif key == Qt .Key .Key_F3 :
140- self .worker .save_title ()
141- elif key == Qt .Key .Key_F4 :
142- self .worker .save_snapshot ()
143127 else :
144- try :
145- sdl_key = QT2SDL2 [key ]
146- self .worker .send_sdl_keydown (sdl_key )
147- except KeyError :
148- pass
128+ if key in QT2SDL2 :
129+ self .worker .send_sdl_keydown (QT2SDL2 [key ])
149130
150131 def keyReleaseEvent (self , event ):
151132 if self .worker .state != M64EMU_RUNNING :
152133 return
153134
154135 key = event .key ()
155- try :
156- sdl_key = QT2SDL2 [key ]
157- self .worker .send_sdl_keyup (sdl_key )
158- except KeyError :
159- pass
136+ if key in QT2SDL2 :
137+ self .worker .send_sdl_keyup (QT2SDL2 [key ])
138+
139+ def resizeEvent (self , event ):
140+ event .ignore ()
141+ size = event .size ()
142+ if self .widgets_height :
143+ width , height = size .width (), size .height ()
144+ self .window_size_triggered ((width , height ))
145+ else :
146+ width , height = size .width (), size .height ()
147+ self .resize (width , height )
160148
161149 def window_size_triggered (self , size ):
162- window_width , window_height = size
150+ width , height = size
163151 if self .vidext and self .worker .core .get_handle ():
164- game_height = window_height - self .widgets_height
165- game_width = window_width
166-
167- if not sys .platform == "win32" :
168- if bool (self .settings .get_int_safe ("keep_aspect" , 1 )):
169- game_width = int ((4 / 3 ) * window_height )
170-
171152 self .worker .core .config .open_section ("Video-General" )
172- self .worker .core .config .set_parameter ("ScreenWidth" , game_width )
173- self .worker .core .config .set_parameter ("ScreenHeight" , game_height )
153+ self .worker .core .config .set_parameter ("ScreenWidth" , width )
154+ self .worker .core .config .set_parameter ("ScreenHeight" , height - self . widgets_height )
174155
175- video_size = (game_width << 16 ) + game_height
156+ video_size = ((int (width * self .devicePixelRatio ()) << 16 ) +
157+ (int (height * self .devicePixelRatio ()) - self .widgets_height ))
176158 if self .worker .state in (M64EMU_RUNNING , M64EMU_PAUSED ):
177159 self .worker .core_state_set (M64CORE_VIDEO_SIZE , video_size )
178160
179- self .set_sizes ((window_width , window_height - self .widgets_height ))
180- self .settings .qset .setValue ("size" , (window_width , window_height - self .widgets_height ))
181- self .resize (window_width , window_height )
161+ self .set_sizes ((width , height - self .widgets_height ))
162+ self .settings .qset .setValue ("size" , (width , height - self .widgets_height ))
163+
164+ self .resize (width , height )
182165
183166 def set_sizes (self , size ):
184167 """Sets 'Window Size' radio buttons on resize event."""
@@ -189,21 +172,6 @@ def set_sizes(self, size):
189172 for action in self .sizes .values ():
190173 action .setChecked (False )
191174
192- def keep_aspect (self , size ):
193- """Keeps 4:3 aspect ratio."""
194- width , height = size
195- if self .maximized :
196- return width , height
197- fixed_ratio = 1.3333333333333333
198- current_ratio = float (width )/ float (height )
199- if fixed_ratio > current_ratio :
200- w = int (width )
201- h = int (width / fixed_ratio )
202- else :
203- h = int (height )
204- w = int (height * fixed_ratio )
205- return w , h
206-
207175 def center_widget (self ):
208176 """Centers widget on desktop."""
209177 size = self .size ()
@@ -221,7 +189,6 @@ def connect_signals(self):
221189 self .file_opening .connect (self .on_file_opening )
222190 self .set_caption .connect (self .on_set_caption )
223191 self .state_changed .connect (self .on_state_changed )
224- self .save_image .connect (self .on_save_image )
225192 self .info_dialog .connect (self .on_info_dialog )
226193 self .archive_dialog .connect (self .on_archive_dialog )
227194 self .toggle_fs .connect (self .on_toggle_fs )
@@ -316,10 +283,6 @@ def on_file_opening(self, filepath):
316283 self .update_status ("Loading %s..." % (
317284 os .path .basename (filepath )))
318285
319- def on_save_image (self , title ):
320- """Saves snapshot or title image."""
321- self .worker .save_image (title )
322-
323286 def on_info_dialog (self , info ):
324287 """Shows info dialog."""
325288 self .settings .show_page (0 )
0 commit comments