src/eric7/MultiProject/MultiProject.py

branch
eric7
changeset 9624
b47dfa7a137d
parent 9576
be9f8e7e42e0
child 9653
e67609152c5e
equal deleted inserted replaced
9623:9c1f429cb56b 9624:b47dfa7a137d
13 import shutil 13 import shutil
14 14
15 from PyQt6.QtCore import QFile, QIODevice, QObject, QUuid, pyqtSignal, pyqtSlot 15 from PyQt6.QtCore import QFile, QIODevice, QObject, QUuid, pyqtSignal, pyqtSlot
16 from PyQt6.QtWidgets import QDialog, QMenu, QToolBar 16 from PyQt6.QtWidgets import QDialog, QMenu, QToolBar
17 17
18 from eric7 import Preferences, Utilities 18 from eric7 import Preferences
19 from eric7.EricGui import EricPixmapCache 19 from eric7.EricGui import EricPixmapCache
20 from eric7.EricGui.EricAction import EricAction, createActionGroup 20 from eric7.EricGui.EricAction import EricAction, createActionGroup
21 from eric7.EricGui.EricOverrideCursor import EricOverrideCursor 21 from eric7.EricGui.EricOverrideCursor import EricOverrideCursor
22 from eric7.EricWidgets import EricFileDialog, EricMessageBox, EricPathPickerDialog 22 from eric7.EricWidgets import EricFileDialog, EricMessageBox, EricPathPickerDialog
23 from eric7.EricWidgets.EricPathPickerDialog import EricPathPickerModes 23 from eric7.EricWidgets.EricPathPickerDialog import EricPathPickerModes
24 from eric7.EricXML.MultiProjectReader import MultiProjectReader 24 from eric7.EricXML.MultiProjectReader import MultiProjectReader
25 from eric7.Globals import recentNameMultiProject 25 from eric7.Globals import recentNameMultiProject
26 from eric7.SystemUtilities import FileSystemUtilities, OSUtilities
26 from eric7.UI import Config 27 from eric7.UI import Config
27 28
28 from .MultiProjectFile import MultiProjectFile 29 from .MultiProjectFile import MultiProjectFile
29 30
30 31
533 534
534 if fn is None: 535 if fn is None:
535 fn = EricFileDialog.getOpenFileName( 536 fn = EricFileDialog.getOpenFileName(
536 self.parent(), 537 self.parent(),
537 self.tr("Open Multi Project"), 538 self.tr("Open Multi Project"),
538 Preferences.getMultiProject("Workspace") or Utilities.getHomeDir(), 539 Preferences.getMultiProject("Workspace") or OSUtilities.getHomeDir(),
539 self.tr( 540 self.tr(
540 "Multi Project Files (*.emj);;" 541 "Multi Project Files (*.emj);;"
541 "XML Multi Project Files (*.e5m *.e4m)" 542 "XML Multi Project Files (*.e5m *.e4m)"
542 ), 543 ),
543 ) 544 )
593 """ 594 """
594 defaultFilter = self.tr("Multi Project Files (*.emj)") 595 defaultFilter = self.tr("Multi Project Files (*.emj)")
595 defaultPath = ( 596 defaultPath = (
596 self.ppath 597 self.ppath
597 if self.ppath 598 if self.ppath
598 else (Preferences.getMultiProject("Workspace") or Utilities.getHomeDir()) 599 else (Preferences.getMultiProject("Workspace") or OSUtilities.getHomeDir())
599 ) 600 )
600 fn, selectedFilter = EricFileDialog.getSaveFileNameAndFilter( 601 fn, selectedFilter = EricFileDialog.getSaveFileNameAndFilter(
601 self.parent(), 602 self.parent(),
602 self.tr("Save Multiproject"), 603 self.tr("Save Multiproject"),
603 defaultPath, 604 defaultPath,
905 """ 906 """
906 Private method to synchronize the list of recently opened multi 907 Private method to synchronize the list of recently opened multi
907 projects with the central store. 908 projects with the central store.
908 """ 909 """
909 for recent in self.recent[:]: 910 for recent in self.recent[:]:
910 if Utilities.samepath(self.pfile, recent): 911 if FileSystemUtilities.samepath(self.pfile, recent):
911 self.recent.remove(recent) 912 self.recent.remove(recent)
912 self.recent.insert(0, self.pfile) 913 self.recent.insert(0, self.pfile)
913 maxRecent = Preferences.getProject("RecentNumber") 914 maxRecent = Preferences.getProject("RecentNumber")
914 if len(self.recent) > maxRecent: 915 if len(self.recent) > maxRecent:
915 self.recent = self.recent[:maxRecent] 916 self.recent = self.recent[:maxRecent]
925 926
926 for idx, rp in enumerate(self.recent, start=1): 927 for idx, rp in enumerate(self.recent, start=1):
927 formatStr = "&{0:d}. {1}" if idx < 10 else "{0:d}. {1}" 928 formatStr = "&{0:d}. {1}" if idx < 10 else "{0:d}. {1}"
928 act = self.recentMenu.addAction( 929 act = self.recentMenu.addAction(
929 formatStr.format( 930 formatStr.format(
930 idx, Utilities.compactPath(rp, self.ui.maxMenuFilePathLen) 931 idx, FileSystemUtilities.compactPath(rp, self.ui.maxMenuFilePathLen)
931 ) 932 )
932 ) 933 )
933 act.setData(rp) 934 act.setData(rp)
934 act.setEnabled(pathlib.Path(rp).exists()) 935 act.setEnabled(pathlib.Path(rp).exists())
935 936

eric ide

mercurial