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)) |
|