src/eric7/Project/ProjectFormsBrowser.py

branch
server
changeset 10635
dcec2e0c0036
parent 10439
21c28b0f9e41
child 10680
306373ccf8fd
equal deleted inserted replaced
10633:dda7e43934dc 10635:dcec2e0c0036
20 from eric7.EricGui import EricPixmapCache 20 from eric7.EricGui import EricPixmapCache
21 from eric7.EricWidgets import EricFileDialog, EricMessageBox 21 from eric7.EricWidgets import EricFileDialog, EricMessageBox
22 from eric7.EricWidgets.EricApplication import ericApp 22 from eric7.EricWidgets.EricApplication import ericApp
23 from eric7.EricWidgets.EricProgressDialog import EricProgressDialog 23 from eric7.EricWidgets.EricProgressDialog import EricProgressDialog
24 from eric7.Globals import getConfig 24 from eric7.Globals import getConfig
25 from eric7.SystemUtilities import QtUtilities 25 from eric7.SystemUtilities import FileSystemUtilities, QtUtilities
26 from eric7.UI.DeleteFilesConfirmationDialog import DeleteFilesConfirmationDialog 26 from eric7.UI.DeleteFilesConfirmationDialog import DeleteFilesConfirmationDialog
27 from eric7.UI.NotificationWidget import NotificationTypes 27 from eric7.UI.NotificationWidget import NotificationTypes
28 28
29 from .FileCategoryRepositoryItem import FileCategoryRepositoryItem 29 from .FileCategoryRepositoryItem import FileCategoryRepositoryItem
30 from .ProjectBaseBrowser import ProjectBaseBrowser 30 from .ProjectBaseBrowser import ProjectBaseBrowser
200 200
201 projectType = self.project.getProjectType() 201 projectType = self.project.getProjectType()
202 202
203 self.menu = QMenu(self) 203 self.menu = QMenu(self)
204 if projectType in ["PyQt5", "PyQt6", "E7Plugin", "PySide2", "PySide6"]: 204 if projectType in ["PyQt5", "PyQt6", "E7Plugin", "PySide2", "PySide6"]:
205 self.menu.addAction(self.tr("Compile form"), self.__compileForm) 205 if FileSystemUtilities.isRemoteFileName(self.project.getProjectPath()):
206 self.menu.addAction(self.tr("Compile all forms"), self.__compileAllForms) 206 self.menu.addAction(self.tr("Open in Editor"), self.__openFileInEditor)
207 self.menu.addAction( 207 else:
208 self.tr("Generate Dialog Code..."), self.__generateDialogCode 208 self.menu.addAction(self.tr("Compile form"), self.__compileForm)
209 ) 209 self.menu.addAction(
210 self.menu.addSeparator() 210 self.tr("Compile all forms"), self.__compileAllForms
211 self.__pyuicConfigAct = self.menu.addAction( 211 )
212 self.tr("Configure uic Compiler"), self.__configureUicCompiler 212 self.menu.addAction(
213 ) 213 self.tr("Generate Dialog Code..."), self.__generateDialogCode
214 self.menu.addSeparator() 214 )
215 self.menu.addAction( 215 self.menu.addSeparator()
216 self.tr("Open in Qt-Designer"), self.__openFile 216 self.__pyuicConfigAct = self.menu.addAction(
217 ).setEnabled(QtUtilities.hasQtDesigner()) 217 self.tr("Configure uic Compiler"), self.__configureUicCompiler
218 self.menu.addAction(self.tr("Open in Editor"), self.__openFileInEditor) 218 )
219 self.menu.addSeparator() 219 self.menu.addSeparator()
220 self.menu.addAction(self.tr("Preview form"), self.__UIPreview) 220 self.menu.addAction(
221 self.menu.addAction(self.tr("Preview translations"), self.__TRPreview) 221 self.tr("Open in Qt-Designer"), self.__openFile
222 ).setEnabled(QtUtilities.hasQtDesigner())
223 self.menu.addAction(self.tr("Open in Editor"), self.__openFileInEditor)
224 self.menu.addSeparator()
225 self.menu.addAction(self.tr("Preview form"), self.__UIPreview)
226 self.menu.addAction(self.tr("Preview translations"), self.__TRPreview)
222 else: 227 else:
223 if self.hooks["compileForm"] is not None: 228 if FileSystemUtilities.isPlainFileName(self.project.getProjectPath()):
224 self.menu.addAction( 229 if self.hooks["compileForm"] is not None:
225 self.hooksMenuEntries.get("compileForm", self.tr("Compile form")), 230 self.menu.addAction(
226 self.__compileForm, 231 self.hooksMenuEntries.get(
227 ) 232 "compileForm", self.tr("Compile form")
228 if self.hooks["compileAllForms"] is not None: 233 ),
229 self.menu.addAction( 234 self.__compileForm,
230 self.hooksMenuEntries.get( 235 )
231 "compileAllForms", self.tr("Compile all forms") 236 if self.hooks["compileAllForms"] is not None:
232 ), 237 self.menu.addAction(
233 self.__compileAllForms, 238 self.hooksMenuEntries.get(
234 ) 239 "compileAllForms", self.tr("Compile all forms")
235 if self.hooks["generateDialogCode"] is not None: 240 ),
236 self.menu.addAction( 241 self.__compileAllForms,
237 self.hooksMenuEntries.get( 242 )
238 "generateDialogCode", self.tr("Generate Dialog Code...") 243 if self.hooks["generateDialogCode"] is not None:
239 ), 244 self.menu.addAction(
240 self.__generateDialogCode, 245 self.hooksMenuEntries.get(
241 ) 246 "generateDialogCode", self.tr("Generate Dialog Code...")
242 if ( 247 ),
243 self.hooks["compileForm"] is not None 248 self.__generateDialogCode,
244 or self.hooks["compileAllForms"] is not None 249 )
245 or self.hooks["generateDialogCode"] is not None 250 if (
246 ): 251 self.hooks["compileForm"] is not None
247 self.menu.addSeparator() 252 or self.hooks["compileAllForms"] is not None
253 or self.hooks["generateDialogCode"] is not None
254 ):
255 self.menu.addSeparator()
248 if self.hooks["open"] is not None: 256 if self.hooks["open"] is not None:
249 self.menu.addAction( 257 self.menu.addAction(
250 self.hooksMenuEntries.get("open", self.tr("Open")), self.__openFile 258 self.hooksMenuEntries.get("open", self.tr("Open")), self.__openFile
251 ) 259 )
252 self.menu.addAction(self.tr("Open"), self.__openFileInEditor) 260 self.menu.addAction(self.tr("Open"), self.__openFileInEditor)
256 act = self.menu.addAction(self.tr("Remove from project"), self._removeFile) 264 act = self.menu.addAction(self.tr("Remove from project"), self._removeFile)
257 self.menuActions.append(act) 265 self.menuActions.append(act)
258 act = self.menu.addAction(self.tr("Delete"), self.__deleteFile) 266 act = self.menu.addAction(self.tr("Delete"), self.__deleteFile)
259 self.menuActions.append(act) 267 self.menuActions.append(act)
260 self.menu.addSeparator() 268 self.menu.addSeparator()
261 if projectType in ["PyQt5", "PyQt6", "E7Plugin", "PySide2", "PySide6"]: 269 if FileSystemUtilities.isPlainFileName(self.project.getProjectPath()):
262 self.menu.addAction(self.tr("New form..."), self.__newForm) 270 if projectType in ["PyQt5", "PyQt6", "E7Plugin", "PySide2", "PySide6"]:
263 else: 271 self.menu.addAction(self.tr("New form..."), self.__newForm)
264 if self.hooks["newForm"] is not None: 272 else:
265 self.menu.addAction( 273 if self.hooks["newForm"] is not None:
266 self.hooksMenuEntries.get("newForm", self.tr("New form...")), 274 self.menu.addAction(
267 self.__newForm, 275 self.hooksMenuEntries.get("newForm", self.tr("New form...")),
268 ) 276 self.__newForm,
277 )
269 self.menu.addAction(self.tr("Add forms..."), self.__addFormFiles) 278 self.menu.addAction(self.tr("Add forms..."), self.__addFormFiles)
270 self.menu.addAction(self.tr("Add forms directory..."), self.__addFormsDirectory) 279 self.menu.addAction(self.tr("Add forms directory..."), self.__addFormsDirectory)
271 self.menu.addSeparator() 280 self.menu.addSeparator()
272 self.menu.addAction(self.tr("Show in File Manager"), self._showInFileManager) 281 if FileSystemUtilities.isPlainFileName(self.project.getProjectPath()):
282 self.menu.addAction(
283 self.tr("Show in File Manager"), self._showInFileManager
284 )
273 self.menu.addAction(self.tr("Copy Path to Clipboard"), self._copyToClipboard) 285 self.menu.addAction(self.tr("Copy Path to Clipboard"), self._copyToClipboard)
274 self.menu.addSeparator() 286 self.menu.addSeparator()
275 self.menu.addAction(self.tr("Expand all directories"), self._expandAllDirs) 287 self.menu.addAction(self.tr("Expand all directories"), self._expandAllDirs)
276 self.menu.addAction(self.tr("Collapse all directories"), self._collapseAllDirs) 288 self.menu.addAction(self.tr("Collapse all directories"), self._collapseAllDirs)
277 self.menu.addSeparator() 289 self.menu.addSeparator()
278 self.menu.addAction(self.tr("Configure..."), self._configure) 290 self.menu.addAction(self.tr("Configure..."), self._configure)
279 291
280 self.backMenu = QMenu(self) 292 self.backMenu = QMenu(self)
281 if ( 293 if FileSystemUtilities.isPlainFileName(self.project.getProjectPath()):
282 projectType in ["PyQt5", "PyQt6", "E7Plugin", "PySide2", "PySide6"] 294 if (
283 or self.hooks["compileAllForms"] is not None 295 projectType in ["PyQt5", "PyQt6", "E7Plugin", "PySide2", "PySide6"]
284 ): 296 or self.hooks["compileAllForms"] is not None
297 ):
298 self.backMenu.addAction(
299 self.tr("Compile all forms"), self.__compileAllForms
300 )
301 self.backMenu.addSeparator()
302 self.__pyuicBackConfigAct = self.backMenu.addAction(
303 self.tr("Configure uic Compiler"), self.__configureUicCompiler
304 )
305 self.backMenu.addSeparator()
306 self.backMenu.addAction(self.tr("New form..."), self.__newForm)
307 else:
308 if self.hooks["newForm"] is not None:
309 self.backMenu.addAction(
310 self.hooksMenuEntries.get("newForm", self.tr("New form...")),
311 self.__newForm,
312 )
285 self.backMenu.addAction( 313 self.backMenu.addAction(
286 self.tr("Compile all forms"), self.__compileAllForms 314 self.tr("Add forms..."), lambda: self.project.addFiles("FORMS")
315 )
316 self.backMenu.addAction(
317 self.tr("Add forms directory..."),
318 lambda: self.project.addDirectory("FORMS"),
287 ) 319 )
288 self.backMenu.addSeparator() 320 self.backMenu.addSeparator()
289 self.__pyuicBackConfigAct = self.backMenu.addAction( 321 self.backMenu.addAction(
290 self.tr("Configure uic Compiler"), self.__configureUicCompiler 322 self.tr("Show in File Manager"), self._showProjectInFileManager
291 ) 323 )
292 self.backMenu.addSeparator() 324 self.backMenu.addSeparator()
293 self.backMenu.addAction(self.tr("New form..."), self.__newForm)
294 else:
295 if self.hooks["newForm"] is not None:
296 self.backMenu.addAction(
297 self.hooksMenuEntries.get("newForm", self.tr("New form...")),
298 self.__newForm,
299 )
300 self.backMenu.addAction(
301 self.tr("Add forms..."), lambda: self.project.addFiles("FORMS")
302 )
303 self.backMenu.addAction(
304 self.tr("Add forms directory..."),
305 lambda: self.project.addDirectory("FORMS"),
306 )
307 self.backMenu.addSeparator()
308 self.backMenu.addAction(
309 self.tr("Show in File Manager"), self._showProjectInFileManager
310 )
311 self.backMenu.addSeparator()
312 self.backMenu.addAction(self.tr("Expand all directories"), self._expandAllDirs) 325 self.backMenu.addAction(self.tr("Expand all directories"), self._expandAllDirs)
313 self.backMenu.addAction( 326 self.backMenu.addAction(
314 self.tr("Collapse all directories"), self._collapseAllDirs 327 self.tr("Collapse all directories"), self._collapseAllDirs
315 ) 328 )
316 self.backMenu.addSeparator() 329 self.backMenu.addSeparator()
318 self.backMenu.setEnabled(False) 331 self.backMenu.setEnabled(False)
319 332
320 # create the menu for multiple selected files 333 # create the menu for multiple selected files
321 self.multiMenu = QMenu(self) 334 self.multiMenu = QMenu(self)
322 if projectType in ["PyQt5", "PyQt6", "E7Plugin", "PySide2", "PySide6"]: 335 if projectType in ["PyQt5", "PyQt6", "E7Plugin", "PySide2", "PySide6"]:
323 self.multiMenu.addAction( 336 if FileSystemUtilities.isRemoteFileName(self.project.getProjectPath()):
324 self.tr("Compile forms"), self.__compileSelectedForms 337 self.multiMenu.addAction(
325 ) 338 self.tr("Open in Editor"), self.__openFileInEditor
326 self.multiMenu.addSeparator() 339 )
327 self.__pyuicMultiConfigAct = self.multiMenu.addAction( 340 else:
328 self.tr("Configure uic Compiler"), self.__configureUicCompiler 341 self.multiMenu.addAction(
329 ) 342 self.tr("Compile forms"), self.__compileSelectedForms
330 self.multiMenu.addSeparator() 343 )
331 self.multiMenu.addAction( 344 self.multiMenu.addSeparator()
332 self.tr("Open in Qt-Designer"), self.__openFile 345 self.__pyuicMultiConfigAct = self.multiMenu.addAction(
333 ).setEnabled(QtUtilities.hasQtDesigner()) 346 self.tr("Configure uic Compiler"), self.__configureUicCompiler
334 self.multiMenu.addAction(self.tr("Open in Editor"), self.__openFileInEditor) 347 )
335 self.multiMenu.addSeparator() 348 self.multiMenu.addSeparator()
336 self.multiMenu.addAction(self.tr("Preview translations"), self.__TRPreview) 349 self.multiMenu.addAction(
350 self.tr("Open in Qt-Designer"), self.__openFile
351 ).setEnabled(QtUtilities.hasQtDesigner())
352 self.multiMenu.addAction(
353 self.tr("Open in Editor"), self.__openFileInEditor
354 )
355 self.multiMenu.addSeparator()
356 self.multiMenu.addAction(
357 self.tr("Preview translations"), self.__TRPreview
358 )
337 else: 359 else:
338 if self.hooks["compileSelectedForms"] is not None: 360 if FileSystemUtilities.isPlainFileName(self.project.getProjectPath()):
339 act = self.multiMenu.addAction( 361 if self.hooks["compileSelectedForms"] is not None:
340 self.hooksMenuEntries.get( 362 act = self.multiMenu.addAction(
341 "compileSelectedForms", self.tr("Compile forms") 363 self.hooksMenuEntries.get(
342 ), 364 "compileSelectedForms", self.tr("Compile forms")
343 self.__compileSelectedForms, 365 ),
344 ) 366 self.__compileSelectedForms,
345 self.multiMenu.addSeparator() 367 )
368 self.multiMenu.addSeparator()
346 if self.hooks["open"] is not None: 369 if self.hooks["open"] is not None:
347 self.multiMenu.addAction( 370 self.multiMenu.addAction(
348 self.hooksMenuEntries.get("open", self.tr("Open")), self.__openFile 371 self.hooksMenuEntries.get("open", self.tr("Open")), self.__openFile
349 ) 372 )
350 self.multiMenu.addAction(self.tr("Open"), self.__openFileInEditor) 373 self.multiMenu.addAction(self.tr("Open"), self.__openFileInEditor)
360 ) 383 )
361 self.multiMenu.addSeparator() 384 self.multiMenu.addSeparator()
362 self.multiMenu.addAction(self.tr("Configure..."), self._configure) 385 self.multiMenu.addAction(self.tr("Configure..."), self._configure)
363 386
364 self.dirMenu = QMenu(self) 387 self.dirMenu = QMenu(self)
365 if projectType in ["PyQt5", "PyQt6", "E7Plugin", "PySide2", "PySide6"]: 388 if FileSystemUtilities.isPlainFileName(self.project.getProjectPath()):
366 self.dirMenu.addAction(self.tr("Compile all forms"), self.__compileAllForms) 389 if projectType in ["PyQt5", "PyQt6", "E7Plugin", "PySide2", "PySide6"]:
367 self.dirMenu.addSeparator()
368 self.__pyuicDirConfigAct = self.dirMenu.addAction(
369 self.tr("Configure uic Compiler"), self.__configureUicCompiler
370 )
371 self.dirMenu.addSeparator()
372 else:
373 if self.hooks["compileAllForms"] is not None:
374 self.dirMenu.addAction( 390 self.dirMenu.addAction(
375 self.hooksMenuEntries.get( 391 self.tr("Compile all forms"), self.__compileAllForms
376 "compileAllForms", self.tr("Compile all forms")
377 ),
378 self.__compileAllForms,
379 ) 392 )
380 self.dirMenu.addSeparator() 393 self.dirMenu.addSeparator()
394 self.__pyuicDirConfigAct = self.dirMenu.addAction(
395 self.tr("Configure uic Compiler"), self.__configureUicCompiler
396 )
397 self.dirMenu.addSeparator()
398 else:
399 if self.hooks["compileAllForms"] is not None:
400 self.dirMenu.addAction(
401 self.hooksMenuEntries.get(
402 "compileAllForms", self.tr("Compile all forms")
403 ),
404 self.__compileAllForms,
405 )
406 self.dirMenu.addSeparator()
381 act = self.dirMenu.addAction(self.tr("Remove from project"), self._removeDir) 407 act = self.dirMenu.addAction(self.tr("Remove from project"), self._removeDir)
382 self.dirMenuActions.append(act) 408 self.dirMenuActions.append(act)
383 act = self.dirMenu.addAction(self.tr("Delete"), self._deleteDirectory) 409 act = self.dirMenu.addAction(self.tr("Delete"), self._deleteDirectory)
384 self.dirMenuActions.append(act) 410 self.dirMenuActions.append(act)
385 self.dirMenu.addSeparator() 411 self.dirMenu.addSeparator()
386 if projectType in ["PyQt5", "PyQt6", "E7Plugin", "PySide2", "PySide6"]: 412 if FileSystemUtilities.isPlainFileName(self.project.getProjectPath()):
387 self.dirMenu.addAction(self.tr("New form..."), self.__newForm) 413 if projectType in ["PyQt5", "PyQt6", "E7Plugin", "PySide2", "PySide6"]:
388 else: 414 self.dirMenu.addAction(self.tr("New form..."), self.__newForm)
389 if self.hooks["newForm"] is not None: 415 else:
390 self.dirMenu.addAction( 416 if self.hooks["newForm"] is not None:
391 self.hooksMenuEntries.get("newForm", self.tr("New form...")), 417 self.dirMenu.addAction(
392 self.__newForm, 418 self.hooksMenuEntries.get("newForm", self.tr("New form...")),
393 ) 419 self.__newForm,
394 self.dirMenu.addAction(self.tr("Add forms..."), self.__addFormFiles) 420 )
395 self.dirMenu.addAction( 421 self.dirMenu.addAction(self.tr("Add forms..."), self.__addFormFiles)
396 self.tr("Add forms directory..."), self.__addFormsDirectory 422 self.dirMenu.addAction(
397 ) 423 self.tr("Add forms directory..."), self.__addFormsDirectory
398 self.dirMenu.addSeparator() 424 )
399 self.dirMenu.addAction(self.tr("Show in File Manager"), self._showInFileManager) 425 self.dirMenu.addSeparator()
426 self.dirMenu.addAction(
427 self.tr("Show in File Manager"), self._showInFileManager
428 )
400 self.dirMenu.addAction(self.tr("Copy Path to Clipboard"), self._copyToClipboard) 429 self.dirMenu.addAction(self.tr("Copy Path to Clipboard"), self._copyToClipboard)
401 self.dirMenu.addSeparator() 430 self.dirMenu.addSeparator()
402 self.dirMenu.addAction(self.tr("Expand all directories"), self._expandAllDirs) 431 self.dirMenu.addAction(self.tr("Expand all directories"), self._expandAllDirs)
403 self.dirMenu.addAction( 432 self.dirMenu.addAction(
404 self.tr("Collapse all directories"), self._collapseAllDirs 433 self.tr("Collapse all directories"), self._collapseAllDirs
405 ) 434 )
406 self.dirMenu.addSeparator() 435 self.dirMenu.addSeparator()
407 self.dirMenu.addAction(self.tr("Configure..."), self._configure) 436 self.dirMenu.addAction(self.tr("Configure..."), self._configure)
408 437
409 self.dirMultiMenu = QMenu(self) 438 self.dirMultiMenu = QMenu(self)
410 if projectType in ["PyQt5", "PyQt6", "E7Plugin", "PySide2", "PySide6"]: 439 if FileSystemUtilities.isPlainFileName(self.project.getProjectPath()):
440 if projectType in ["PyQt5", "PyQt6", "E7Plugin", "PySide2", "PySide6"]:
441 self.dirMultiMenu.addAction(
442 self.tr("Compile all forms"), self.__compileAllForms
443 )
444 self.dirMultiMenu.addSeparator()
445 self.__pyuicDirMultiConfigAct = self.dirMultiMenu.addAction(
446 self.tr("Configure uic Compiler"), self.__configureUicCompiler
447 )
448 self.dirMultiMenu.addSeparator()
449 else:
450 if self.hooks["compileAllForms"] is not None:
451 self.dirMultiMenu.addAction(
452 self.hooksMenuEntries.get(
453 "compileAllForms", self.tr("Compile all forms")
454 ),
455 self.__compileAllForms,
456 )
457 self.dirMultiMenu.addSeparator()
411 self.dirMultiMenu.addAction( 458 self.dirMultiMenu.addAction(
412 self.tr("Compile all forms"), self.__compileAllForms 459 self.tr("Add forms..."), lambda: self.project.addFiles("FORMS")
460 )
461 self.dirMultiMenu.addAction(
462 self.tr("Add forms directory..."),
463 lambda: self.project.addDirectory("FORMS"),
413 ) 464 )
414 self.dirMultiMenu.addSeparator() 465 self.dirMultiMenu.addSeparator()
415 self.__pyuicDirMultiConfigAct = self.dirMultiMenu.addAction(
416 self.tr("Configure uic Compiler"), self.__configureUicCompiler
417 )
418 self.dirMultiMenu.addSeparator()
419 else:
420 if self.hooks["compileAllForms"] is not None:
421 self.dirMultiMenu.addAction(
422 self.hooksMenuEntries.get(
423 "compileAllForms", self.tr("Compile all forms")
424 ),
425 self.__compileAllForms,
426 )
427 self.dirMultiMenu.addSeparator()
428 self.dirMultiMenu.addAction(
429 self.tr("Add forms..."), lambda: self.project.addFiles("FORMS")
430 )
431 self.dirMultiMenu.addAction(
432 self.tr("Add forms directory..."),
433 lambda: self.project.addDirectory("FORMS"),
434 )
435 self.dirMultiMenu.addSeparator()
436 self.dirMultiMenu.addAction( 466 self.dirMultiMenu.addAction(
437 self.tr("Expand all directories"), self._expandAllDirs 467 self.tr("Expand all directories"), self._expandAllDirs
438 ) 468 )
439 self.dirMultiMenu.addAction( 469 self.dirMultiMenu.addAction(
440 self.tr("Collapse all directories"), self._collapseAllDirs 470 self.tr("Collapse all directories"), self._collapseAllDirs
457 @type QPoint 487 @type QPoint
458 """ 488 """
459 if not self.project.isOpen(): 489 if not self.project.isOpen():
460 return 490 return
461 491
462 enable = self.project.getProjectType() in ("PyQt5", "PyQt6", "E7Plugin") 492 if FileSystemUtilities.isPlainFileName(self.project.getProjectPath()):
463 self.__pyuicConfigAct.setEnabled(enable) 493 enable = self.project.getProjectType() in ("PyQt5", "PyQt6", "E7Plugin")
464 self.__pyuicMultiConfigAct.setEnabled(enable) 494 self.__pyuicConfigAct.setEnabled(enable)
465 self.__pyuicDirConfigAct.setEnabled(enable) 495 self.__pyuicMultiConfigAct.setEnabled(enable)
466 self.__pyuicDirMultiConfigAct.setEnabled(enable) 496 self.__pyuicDirConfigAct.setEnabled(enable)
467 self.__pyuicBackConfigAct.setEnabled(enable) 497 self.__pyuicDirMultiConfigAct.setEnabled(enable)
498 self.__pyuicBackConfigAct.setEnabled(enable)
468 499
469 with contextlib.suppress(Exception): # secok 500 with contextlib.suppress(Exception): # secok
470 categories = self.getSelectedItemsCountCategorized( 501 categories = self.getSelectedItemsCountCategorized(
471 [ProjectBrowserFileItem, ProjectBrowserSimpleDirectoryItem] 502 [ProjectBrowserFileItem, ProjectBrowserSimpleDirectoryItem]
472 ) 503 )
577 Protected slot to handle the open popup menu entry. 608 Protected slot to handle the open popup menu entry.
578 """ 609 """
579 itmList = self.getSelectedItems() 610 itmList = self.getSelectedItems()
580 for itm in itmList: 611 for itm in itmList:
581 if isinstance(itm, ProjectBrowserFileItem): 612 if isinstance(itm, ProjectBrowserFileItem):
582 if itm.isDesignerFile(): 613 if (
614 itm.isDesignerFile()
615 and FileSystemUtilities.isPlainFileName(itm.fileName())
616 ):
583 self.designerFile.emit(itm.fileName()) 617 self.designerFile.emit(itm.fileName())
584 else: 618 else:
585 self.sourceFile.emit(itm.fileName()) 619 self.sourceFile.emit(itm.fileName())
586 620
587 def __UIPreview(self): 621 def __UIPreview(self):

eric ide

mercurial