Helpviewer/Sync/SyncDirectorySettingsPage.py

changeset 4582
3a1d1d4c6f4f
parent 4021
195a471c327b
child 4631
5c1a96925da4
equal deleted inserted replaced
4581:76999ca7bbf1 4582:3a1d1d4c6f4f
7 Module implementing the synchronization shared directory settings wizard page. 7 Module implementing the synchronization shared directory settings wizard page.
8 """ 8 """
9 9
10 from __future__ import unicode_literals 10 from __future__ import unicode_literals
11 11
12 from PyQt5.QtCore import pyqtSlot
13 from PyQt5.QtWidgets import QWizardPage 12 from PyQt5.QtWidgets import QWizardPage
14 13
15 from E5Gui import E5FileDialog 14 from E5Gui.E5PathPicker import E5PathPickerModes
16 15
17 from .Ui_SyncDirectorySettingsPage import Ui_SyncDirectorySettingsPage 16 from .Ui_SyncDirectorySettingsPage import Ui_SyncDirectorySettingsPage
18 17
19 import Preferences 18 import Preferences
20 import Utilities
21 import UI.PixmapCache
22 19
23 20
24 class SyncDirectorySettingsPage(QWizardPage, Ui_SyncDirectorySettingsPage): 21 class SyncDirectorySettingsPage(QWizardPage, Ui_SyncDirectorySettingsPage):
25 """ 22 """
26 Class implementing the shared directory host settings wizard page. 23 Class implementing the shared directory host settings wizard page.
32 @param parent reference to the parent widget (QWidget) 29 @param parent reference to the parent widget (QWidget)
33 """ 30 """
34 super(SyncDirectorySettingsPage, self).__init__(parent) 31 super(SyncDirectorySettingsPage, self).__init__(parent)
35 self.setupUi(self) 32 self.setupUi(self)
36 33
37 self.directoryButton.setIcon(UI.PixmapCache.getIcon("open.png")) 34 self.directoryPicker.setMode(E5PathPickerModes.DirectoryMode)
35 self.directoryPicker.setText(Preferences.getHelp("SyncDirectoryPath"))
38 36
39 self.directoryEdit.setText(Preferences.getHelp("SyncDirectoryPath")) 37 self.directoryPicker.textChanged.connect(self.completeChanged)
40
41 self.directoryEdit.textChanged.connect(self.completeChanged)
42 38
43 def nextId(self): 39 def nextId(self):
44 """ 40 """
45 Public method returning the ID of the next wizard page. 41 Public method returning the ID of the next wizard page.
46 42
47 @return next wizard page ID (integer) 43 @return next wizard page ID (integer)
48 """ 44 """
49 # save the settings 45 # save the settings
50 Preferences.setHelp( 46 Preferences.setHelp("SyncDirectoryPath", self.directoryPicker.text())
51 "SyncDirectoryPath",
52 Utilities.toNativeSeparators(self.directoryEdit.text()))
53 47
54 from . import SyncGlobals 48 from . import SyncGlobals
55 return SyncGlobals.PageCheck 49 return SyncGlobals.PageCheck
56 50
57 def isComplete(self): 51 def isComplete(self):
58 """ 52 """
59 Public method to check the completeness of the page. 53 Public method to check the completeness of the page.
60 54
61 @return flag indicating completeness (boolean) 55 @return flag indicating completeness (boolean)
62 """ 56 """
63 return self.directoryEdit.text() != "" 57 return self.directoryPicker.text() != ""
64
65 @pyqtSlot()
66 def on_directoryButton_clicked(self):
67 """
68 Private slot to select the shared directory via a directory selection
69 dialog.
70 """
71 directory = E5FileDialog.getExistingDirectory(
72 self,
73 self.tr("Shared Directory"),
74 self.directoryEdit.text(),
75 E5FileDialog.Options(E5FileDialog.Option(0)))
76
77 if directory:
78 self.directoryEdit.setText(Utilities.toNativeSeparators(directory))

eric ide

mercurial