E5Gui/E5PathPicker.py

Wed, 13 Jul 2016 14:09:52 +0200

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Wed, 13 Jul 2016 14:09:52 +0200
changeset 5036
318e879a37fa
parent 4700
dfdcc542198f
child 5070
4e4651e88674
permissions
-rw-r--r--

Added an improved "Print to PDF" to the new web browser for Qt 5.7+.

4573
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
1 # -*- coding: utf-8 -*-
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
2
4631
5c1a96925da4 Updated copyright for 2016.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4620
diff changeset
3 # Copyright (c) 2015 - 2016 Detlev Offenbach <detlev@die-offenbachs.de>
4573
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
4 #
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
5
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
6 """
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
7 Module implementing a path picker widget.
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
8 """
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
9
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
10 from __future__ import unicode_literals
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
11
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
12 import os
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
13
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
14 try:
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
15 from enum import Enum
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
16 except ImportError:
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
17 from ThirdParty.enum import Enum
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
18
4593
cc745fa6c914 Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4589
diff changeset
19 from PyQt5.QtCore import pyqtSignal, Qt, QFileInfo
4601
0017e7cb67ae Fixed a few code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4599
diff changeset
20 from PyQt5.QtWidgets import QWidget, QHBoxLayout, QToolButton, QSizePolicy
4573
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
21
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
22 from . import E5FileDialog
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
23 from .E5LineEdit import E5ClearableLineEdit
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
24 from .E5Completers import E5FileCompleter, E5DirCompleter
4578
5d611151cdec Added a path picker using an editable combo box.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4576
diff changeset
25 from .E5ComboBox import E5ClearableComboBox
4573
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
26
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
27 import UI.PixmapCache
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
28 import Utilities
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
29
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
30
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
31 class E5PathPickerModes(Enum):
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
32 """
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
33 Class implementing the path picker modes.
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
34 """
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
35 OpenFileMode = 0
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
36 OpenFilesMode = 1
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
37 SaveFileMode = 2
4593
cc745fa6c914 Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4589
diff changeset
38 SaveFileEnsureExtensionMode = 3
5036
318e879a37fa Added an improved "Print to PDF" to the new web browser for Qt 5.7+.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4700
diff changeset
39 SaveFileOverwriteMode = 4
318e879a37fa Added an improved "Print to PDF" to the new web browser for Qt 5.7+.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4700
diff changeset
40 DirectoryMode = 5
4597
46be8d9c4dd8 Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4594
diff changeset
41 CustomMode = 99
4594
1071d7ec6976 Fixed an issue setting an initial completer if the initial mode was the default mode.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4593
diff changeset
42 NoMode = 100
4573
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
43
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
44
4613
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
45 class E5PathPickerBase(QWidget):
4573
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
46 """
4613
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
47 Class implementing the base of a path picker widget consisting of a
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
48 line edit or combo box and a tool button to open a file dialog.
4575
464a6b049f89 Changed the Python2 debugger and Editor APIs pages to use the path picker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4573
diff changeset
49
464a6b049f89 Changed the Python2 debugger and Editor APIs pages to use the path picker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4573
diff changeset
50 @signal textChanged(path) emitted when the entered path has changed
4613
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
51 (line edit based widget)
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
52 @signal editTextChanged(path) emitted when the entered path has changed
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
53 (combo box based widget)
4581
76999ca7bbf1 Enhanced the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4578
diff changeset
54 @signal pathSelected(path) emitted after a path has been selected via the
76999ca7bbf1 Enhanced the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4578
diff changeset
55 file dialog
76999ca7bbf1 Enhanced the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4578
diff changeset
56 @signal aboutToShowPathPickerDialog emitted before the file dialog is shown
4597
46be8d9c4dd8 Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4594
diff changeset
57 @signal pickerButtonClicked emitted when the picker button was pressed and
46be8d9c4dd8 Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4594
diff changeset
58 the widget mode is custom
4573
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
59 """
4594
1071d7ec6976 Fixed an issue setting an initial completer if the initial mode was the default mode.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4593
diff changeset
60 DefaultMode = E5PathPickerModes.NoMode
4573
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
61
4575
464a6b049f89 Changed the Python2 debugger and Editor APIs pages to use the path picker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4573
diff changeset
62 textChanged = pyqtSignal(str)
4613
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
63 editTextChanged = pyqtSignal(str)
4581
76999ca7bbf1 Enhanced the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4578
diff changeset
64 pathSelected = pyqtSignal(str)
76999ca7bbf1 Enhanced the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4578
diff changeset
65 aboutToShowPathPickerDialog = pyqtSignal()
4597
46be8d9c4dd8 Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4594
diff changeset
66 pickerButtonClicked = pyqtSignal()
4575
464a6b049f89 Changed the Python2 debugger and Editor APIs pages to use the path picker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4573
diff changeset
67
4613
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
68 def __init__(self, parent=None, useLineEdit=True):
4573
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
69 """
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
70 Constructor
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
71
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
72 @param parent reference to the parent widget
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
73 @type QWidget
4613
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
74 @param useLineEdit flag indicating the use of a line edit
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
75 @type bool
4573
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
76 """
4613
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
77 super(E5PathPickerBase, self).__init__(parent)
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
78
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
79 self.__lineEditKind = useLineEdit
4573
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
80
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
81 self.__mode = E5PathPicker.DefaultMode
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
82 self.__editorEnabled = True
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
83
4613
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
84 self._completer = None
4573
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
85 self.__filters = ""
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
86 self.__defaultDirectory = ""
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
87 self.__windowTitle = ""
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
88
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
89 self.__layout = QHBoxLayout()
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
90 self.__layout.setSpacing(0)
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
91 self.__layout.setContentsMargins(0, 0, 0, 0)
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
92 self.setLayout(self.__layout)
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
93
4613
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
94 if useLineEdit:
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
95 self._editor = E5ClearableLineEdit(
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
96 self, self.tr("Enter Path Name"))
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
97 else:
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
98 self._editor = E5ClearableComboBox(
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
99 self, self.tr("Enter Path Name"))
4573
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
100
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
101 self.__button = QToolButton(self)
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
102 self.__button.setToolButtonStyle(Qt.ToolButtonIconOnly)
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
103 self.__button.setIcon(UI.PixmapCache.getIcon("open.png"))
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
104
4613
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
105 self.__layout.addWidget(self._editor)
4573
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
106 self.__layout.addWidget(self.__button)
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
107
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
108 self.__button.clicked.connect(self.__showPathPickerDialog)
4613
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
109 if useLineEdit:
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
110 self._editor.textEdited.connect(self.__pathEdited)
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
111 self._editor.textChanged.connect(self.textChanged)
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
112 else:
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
113 self._editor.editTextChanged.connect(self.editTextChanged)
4589
b648ccbdbef9 Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4581
diff changeset
114
4613
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
115 self.setFocusProxy(self._editor)
4599
960d1e63f802 Some little improvements for the path pickers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4597
diff changeset
116 self.setFocusPolicy(Qt.StrongFocus)
960d1e63f802 Some little improvements for the path pickers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4597
diff changeset
117 self.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Preferred)
960d1e63f802 Some little improvements for the path pickers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4597
diff changeset
118
4594
1071d7ec6976 Fixed an issue setting an initial completer if the initial mode was the default mode.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4593
diff changeset
119 self.__button.setEnabled(self.__mode != E5PathPickerModes.NoMode)
4573
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
120
4599
960d1e63f802 Some little improvements for the path pickers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4597
diff changeset
121 def __pathEdited(self, path):
960d1e63f802 Some little improvements for the path pickers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4597
diff changeset
122 """
960d1e63f802 Some little improvements for the path pickers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4597
diff changeset
123 Private slot handling editing of the path.
960d1e63f802 Some little improvements for the path pickers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4597
diff changeset
124
960d1e63f802 Some little improvements for the path pickers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4597
diff changeset
125 @param path current text of the path line edit
960d1e63f802 Some little improvements for the path pickers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4597
diff changeset
126 @type str
960d1e63f802 Some little improvements for the path pickers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4597
diff changeset
127 """
4613
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
128 if self._completer and not self._completer.popup().isVisible():
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
129 self._completer.setRootPath(Utilities.toNativeSeparators(path))
4599
960d1e63f802 Some little improvements for the path pickers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4597
diff changeset
130
4573
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
131 def setMode(self, mode):
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
132 """
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
133 Public method to set the path picker mode.
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
134
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
135 @param mode picker mode
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
136 @type E5PathPickerModes
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
137 """
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
138 assert mode in E5PathPickerModes
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
139
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
140 oldMode = self.__mode
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
141 self.__mode = mode
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
142
4613
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
143 if mode != oldMode or (self.__lineEditKind and not self._completer):
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
144 if self.__lineEditKind and self._completer:
4599
960d1e63f802 Some little improvements for the path pickers.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4597
diff changeset
145 # Remove current completer
4613
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
146 self._editor.setCompleter(None)
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
147 self._completer = None
4573
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
148
4594
1071d7ec6976 Fixed an issue setting an initial completer if the initial mode was the default mode.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4593
diff changeset
149 if mode != E5PathPickerModes.NoMode:
4613
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
150 if self.__lineEditKind:
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
151 # Set a new completer
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
152 if mode == E5PathPickerModes.DirectoryMode:
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
153 self._completer = E5DirCompleter(self._editor)
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
154 else:
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
155 self._completer = E5FileCompleter(self._editor)
4594
1071d7ec6976 Fixed an issue setting an initial completer if the initial mode was the default mode.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4593
diff changeset
156
1071d7ec6976 Fixed an issue setting an initial completer if the initial mode was the default mode.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4593
diff changeset
157 # set inactive text
1071d7ec6976 Fixed an issue setting an initial completer if the initial mode was the default mode.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4593
diff changeset
158 if mode == E5PathPickerModes.OpenFilesMode:
4613
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
159 self._editor.setInactiveText(
4594
1071d7ec6976 Fixed an issue setting an initial completer if the initial mode was the default mode.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4593
diff changeset
160 self.tr("Enter Path Names separated by ';'"))
1071d7ec6976 Fixed an issue setting an initial completer if the initial mode was the default mode.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4593
diff changeset
161 else:
4613
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
162 self._editor.setInactiveText(
4594
1071d7ec6976 Fixed an issue setting an initial completer if the initial mode was the default mode.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4593
diff changeset
163 self.tr("Enter Path Name"))
1071d7ec6976 Fixed an issue setting an initial completer if the initial mode was the default mode.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4593
diff changeset
164 self.__button.setEnabled(self.__mode != E5PathPickerModes.NoMode)
4573
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
165
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
166 def mode(self):
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
167 """
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
168 Public method to get the path picker mode.
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
169
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
170 @return path picker mode
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
171 @rtype E5PathPickerModes
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
172 """
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
173 return self.__mode
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
174
4589
b648ccbdbef9 Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4581
diff changeset
175 def setPickerEnabled(self, enable):
b648ccbdbef9 Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4581
diff changeset
176 """
b648ccbdbef9 Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4581
diff changeset
177 Public method to set the enabled state of the file dialog button.
b648ccbdbef9 Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4581
diff changeset
178
b648ccbdbef9 Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4581
diff changeset
179 @param enable flag indicating the enabled state
b648ccbdbef9 Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4581
diff changeset
180 @type bool
b648ccbdbef9 Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4581
diff changeset
181 """
b648ccbdbef9 Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4581
diff changeset
182 self.__button.setEnabled(enable)
b648ccbdbef9 Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4581
diff changeset
183
b648ccbdbef9 Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4581
diff changeset
184 def isPickerEnabled(self):
b648ccbdbef9 Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4581
diff changeset
185 """
b648ccbdbef9 Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4581
diff changeset
186 Public method to get the file dialog button enabled state.
b648ccbdbef9 Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4581
diff changeset
187
b648ccbdbef9 Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4581
diff changeset
188 @return flag indicating the enabled state
b648ccbdbef9 Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4581
diff changeset
189 @rtype bool
b648ccbdbef9 Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4581
diff changeset
190 """
b648ccbdbef9 Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4581
diff changeset
191 return self.__button.isEnabled()
b648ccbdbef9 Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4581
diff changeset
192
4575
464a6b049f89 Changed the Python2 debugger and Editor APIs pages to use the path picker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4573
diff changeset
193 def clear(self):
464a6b049f89 Changed the Python2 debugger and Editor APIs pages to use the path picker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4573
diff changeset
194 """
4613
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
195 Public method to clear the current path or list of paths.
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
196 """
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
197 self._editor.clear()
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
198
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
199 def clearEditText(self):
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
200 """
4575
464a6b049f89 Changed the Python2 debugger and Editor APIs pages to use the path picker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4573
diff changeset
201 Public method to clear the current path.
464a6b049f89 Changed the Python2 debugger and Editor APIs pages to use the path picker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4573
diff changeset
202 """
4613
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
203 if not self.__lineEditKind:
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
204 self._editor.clearEditText()
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
205
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
206 def _setEditorText(self, text):
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
207 """
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
208 Protected method to set the text of the editor.
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
209
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
210 @param text text to set
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
211 @type str
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
212 """
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
213 if self.__lineEditKind:
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
214 self._editor.setText(text)
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
215 else:
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
216 self._editor.setEditText(text)
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
217
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
218 def _editorText(self):
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
219 """
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
220 Protected method to get the text of the editor.
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
221
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
222 @return text of the editor
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
223 @rtype str
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
224 """
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
225 if self.__lineEditKind:
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
226 return self._editor.text()
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
227 else:
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
228 return self._editor.currentText()
4575
464a6b049f89 Changed the Python2 debugger and Editor APIs pages to use the path picker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4573
diff changeset
229
4700
dfdcc542198f Little enhancement to the path picker widget to allow to disable the conversion of path separators.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
230 def setText(self, path, toNative=True):
4573
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
231 """
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
232 Public method to set the current path.
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
233
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
234 @param path path to be set
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
235 @type str
4700
dfdcc542198f Little enhancement to the path picker widget to allow to disable the conversion of path separators.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
236 @param toNative flag indicating to convert the path into
dfdcc542198f Little enhancement to the path picker widget to allow to disable the conversion of path separators.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
237 a native format
dfdcc542198f Little enhancement to the path picker widget to allow to disable the conversion of path separators.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
238 @type bool
4573
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
239 """
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
240 if self.__mode == E5PathPickerModes.OpenFilesMode:
4613
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
241 self._setEditorText(path)
4573
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
242 else:
4700
dfdcc542198f Little enhancement to the path picker widget to allow to disable the conversion of path separators.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
243 if toNative:
dfdcc542198f Little enhancement to the path picker widget to allow to disable the conversion of path separators.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
244 path = Utilities.toNativeSeparators(path)
4613
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
245 self._setEditorText(path)
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
246 if self._completer:
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
247 self._completer.setRootPath(path)
4573
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
248
4700
dfdcc542198f Little enhancement to the path picker widget to allow to disable the conversion of path separators.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
249 def text(self, toNative=True):
4573
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
250 """
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
251 Public method to get the current path.
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
252
4700
dfdcc542198f Little enhancement to the path picker widget to allow to disable the conversion of path separators.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
253 @param toNative flag indicating to convert the path into
dfdcc542198f Little enhancement to the path picker widget to allow to disable the conversion of path separators.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
254 a native format
dfdcc542198f Little enhancement to the path picker widget to allow to disable the conversion of path separators.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
255 @type bool
4573
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
256 @return current path
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
257 @rtype str
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
258 """
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
259 if self.__mode == E5PathPickerModes.OpenFilesMode:
4700
dfdcc542198f Little enhancement to the path picker widget to allow to disable the conversion of path separators.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
260 if toNative:
dfdcc542198f Little enhancement to the path picker widget to allow to disable the conversion of path separators.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
261 return ";".join(
dfdcc542198f Little enhancement to the path picker widget to allow to disable the conversion of path separators.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
262 [Utilities.toNativeSeparators(path)
dfdcc542198f Little enhancement to the path picker widget to allow to disable the conversion of path separators.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
263 for path in self._editorText().split(";")])
dfdcc542198f Little enhancement to the path picker widget to allow to disable the conversion of path separators.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
264 else:
dfdcc542198f Little enhancement to the path picker widget to allow to disable the conversion of path separators.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
265 return self._editorText()
4573
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
266 else:
4700
dfdcc542198f Little enhancement to the path picker widget to allow to disable the conversion of path separators.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
267 if toNative:
dfdcc542198f Little enhancement to the path picker widget to allow to disable the conversion of path separators.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
268 return os.path.expanduser(
dfdcc542198f Little enhancement to the path picker widget to allow to disable the conversion of path separators.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
269 Utilities.toNativeSeparators(self._editorText()))
dfdcc542198f Little enhancement to the path picker widget to allow to disable the conversion of path separators.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
270 else:
dfdcc542198f Little enhancement to the path picker widget to allow to disable the conversion of path separators.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
271 return os.path.expanduser(self._editorText())
4613
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
272
4700
dfdcc542198f Little enhancement to the path picker widget to allow to disable the conversion of path separators.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
273 def setEditText(self, path, toNative=True):
4613
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
274 """
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
275 Public method to set the current path.
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
276
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
277 @param path path to be set
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
278 @type str
4700
dfdcc542198f Little enhancement to the path picker widget to allow to disable the conversion of path separators.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
279 @param toNative flag indicating to convert the path into
dfdcc542198f Little enhancement to the path picker widget to allow to disable the conversion of path separators.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
280 a native format
dfdcc542198f Little enhancement to the path picker widget to allow to disable the conversion of path separators.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
281 @type bool
4613
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
282 """
4700
dfdcc542198f Little enhancement to the path picker widget to allow to disable the conversion of path separators.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
283 self.setText(path, toNative=toNative)
4613
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
284
4700
dfdcc542198f Little enhancement to the path picker widget to allow to disable the conversion of path separators.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
285 def currentText(self, toNative=True):
4613
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
286 """
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
287 Public method to get the current path.
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
288
4700
dfdcc542198f Little enhancement to the path picker widget to allow to disable the conversion of path separators.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
289 @param toNative flag indicating to convert the path into
dfdcc542198f Little enhancement to the path picker widget to allow to disable the conversion of path separators.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
290 a native format
dfdcc542198f Little enhancement to the path picker widget to allow to disable the conversion of path separators.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
291 @type bool
4613
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
292 @return current path
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
293 @rtype str
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
294 """
4700
dfdcc542198f Little enhancement to the path picker widget to allow to disable the conversion of path separators.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
295 return self.text(toNative=toNative)
4573
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
296
4700
dfdcc542198f Little enhancement to the path picker widget to allow to disable the conversion of path separators.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
297 def setPath(self, path, toNative=True):
4573
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
298 """
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
299 Public method to set the current path.
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
300
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
301 @param path path to be set
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
302 @type str
4700
dfdcc542198f Little enhancement to the path picker widget to allow to disable the conversion of path separators.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
303 @param toNative flag indicating to convert the path into
dfdcc542198f Little enhancement to the path picker widget to allow to disable the conversion of path separators.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
304 a native format
dfdcc542198f Little enhancement to the path picker widget to allow to disable the conversion of path separators.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
305 @type bool
4573
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
306 """
4700
dfdcc542198f Little enhancement to the path picker widget to allow to disable the conversion of path separators.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
307 self.setText(path, toNative=toNative)
4573
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
308
4700
dfdcc542198f Little enhancement to the path picker widget to allow to disable the conversion of path separators.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
309 def path(self, toNative=True):
4573
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
310 """
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
311 Public method to get the current path.
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
312
4700
dfdcc542198f Little enhancement to the path picker widget to allow to disable the conversion of path separators.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
313 @param toNative flag indicating to convert the path into
dfdcc542198f Little enhancement to the path picker widget to allow to disable the conversion of path separators.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
314 a native format
dfdcc542198f Little enhancement to the path picker widget to allow to disable the conversion of path separators.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
315 @type bool
4573
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
316 @return current path
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
317 @rtype str
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
318 """
4700
dfdcc542198f Little enhancement to the path picker widget to allow to disable the conversion of path separators.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
319 return self.text(toNative=toNative)
4573
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
320
4700
dfdcc542198f Little enhancement to the path picker widget to allow to disable the conversion of path separators.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
321 def paths(self, toNative=True):
4581
76999ca7bbf1 Enhanced the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4578
diff changeset
322 """
76999ca7bbf1 Enhanced the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4578
diff changeset
323 Public method to get the list of entered paths.
76999ca7bbf1 Enhanced the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4578
diff changeset
324
4700
dfdcc542198f Little enhancement to the path picker widget to allow to disable the conversion of path separators.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
325 @param toNative flag indicating to convert the path into
dfdcc542198f Little enhancement to the path picker widget to allow to disable the conversion of path separators.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
326 a native format
dfdcc542198f Little enhancement to the path picker widget to allow to disable the conversion of path separators.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
327 @type bool
4581
76999ca7bbf1 Enhanced the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4578
diff changeset
328 @return entered paths
76999ca7bbf1 Enhanced the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4578
diff changeset
329 @rtype list of str
76999ca7bbf1 Enhanced the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4578
diff changeset
330 """
76999ca7bbf1 Enhanced the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4578
diff changeset
331 if self.__mode == E5PathPickerModes.OpenFilesMode:
4700
dfdcc542198f Little enhancement to the path picker widget to allow to disable the conversion of path separators.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
332 return self.path(toNative=toNative).split(";")
4581
76999ca7bbf1 Enhanced the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4578
diff changeset
333 else:
4700
dfdcc542198f Little enhancement to the path picker widget to allow to disable the conversion of path separators.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
334 return [self.path(toNative=toNative)]
4581
76999ca7bbf1 Enhanced the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4578
diff changeset
335
4700
dfdcc542198f Little enhancement to the path picker widget to allow to disable the conversion of path separators.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
336 def firstPath(self, toNative=True):
4581
76999ca7bbf1 Enhanced the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4578
diff changeset
337 """
76999ca7bbf1 Enhanced the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4578
diff changeset
338 Public method to get the first path of a list of entered paths.
76999ca7bbf1 Enhanced the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4578
diff changeset
339
4700
dfdcc542198f Little enhancement to the path picker widget to allow to disable the conversion of path separators.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
340 @param toNative flag indicating to convert the path into
dfdcc542198f Little enhancement to the path picker widget to allow to disable the conversion of path separators.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
341 a native format
dfdcc542198f Little enhancement to the path picker widget to allow to disable the conversion of path separators.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
342 @type bool
4581
76999ca7bbf1 Enhanced the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4578
diff changeset
343 @return first path
76999ca7bbf1 Enhanced the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4578
diff changeset
344 @rtype str
76999ca7bbf1 Enhanced the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4578
diff changeset
345 """
4700
dfdcc542198f Little enhancement to the path picker widget to allow to disable the conversion of path separators.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
346 return self.paths(toNative=toNative)[0]
4581
76999ca7bbf1 Enhanced the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4578
diff changeset
347
4700
dfdcc542198f Little enhancement to the path picker widget to allow to disable the conversion of path separators.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
348 def lastPath(self, toNative=True):
4581
76999ca7bbf1 Enhanced the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4578
diff changeset
349 """
76999ca7bbf1 Enhanced the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4578
diff changeset
350 Public method to get the last path of a list of entered paths.
76999ca7bbf1 Enhanced the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4578
diff changeset
351
4700
dfdcc542198f Little enhancement to the path picker widget to allow to disable the conversion of path separators.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
352 @param toNative flag indicating to convert the path into
dfdcc542198f Little enhancement to the path picker widget to allow to disable the conversion of path separators.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
353 a native format
dfdcc542198f Little enhancement to the path picker widget to allow to disable the conversion of path separators.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
354 @type bool
4620
49d9c6b58678 Fixed an issue in the path picker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4613
diff changeset
355 @return last path
4581
76999ca7bbf1 Enhanced the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4578
diff changeset
356 @rtype str
76999ca7bbf1 Enhanced the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4578
diff changeset
357 """
4700
dfdcc542198f Little enhancement to the path picker widget to allow to disable the conversion of path separators.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4631
diff changeset
358 return self.paths(toNative=toNative)[-1]
4581
76999ca7bbf1 Enhanced the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4578
diff changeset
359
4573
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
360 def setEditorEnabled(self, enable):
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
361 """
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
362 Public method to set the path editor's enabled state.
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
363
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
364 @param enable flag indicating the enable state
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
365 @type bool
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
366 """
4613
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
367 if enable != self._editorEnabled:
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
368 self._editorEnabled = enable
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
369 self._editor.setEnabled(enable)
4573
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
370
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
371 def editorEnabled(self):
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
372 """
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
373 Public method to get the path editor's enabled state.
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
374
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
375 @return flag indicating the enabled state
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
376 @rtype bool
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
377 """
4613
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
378 return self._editorEnabled
4573
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
379
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
380 def setDefaultDirectory(self, directory):
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
381 """
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
382 Public method to set the default directory.
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
383
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
384 @param directory default directory
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
385 @type str
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
386 """
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
387 self.__defaultDirectory = directory
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
388
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
389 def defaultDirectory(self):
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
390 """
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
391 Public method to get the default directory.
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
392
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
393 @return default directory
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
394 @rtype str
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
395 """
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
396 return self.__defaultDirectory
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
397
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
398 def setWindowTitle(self, title):
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
399 """
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
400 Public method to set the path picker dialog window title.
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
401
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
402 @param title window title
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
403 @type str
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
404 """
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
405 self.__windowTitle = title
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
406
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
407 def windowTitle(self):
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
408 """
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
409 Public method to get the path picker dialog's window title.
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
410
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
411 @return window title
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
412 @rtype str
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
413 """
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
414 return self.__windowTitle
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
415
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
416 def setFilters(self, filters):
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
417 """
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
418 Public method to set the filters for the path picker dialog.
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
419
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
420 Note: Multiple filters must be separated by ';;'.
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
421
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
422 @param filters string containing the file filters
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
423 @type str
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
424 """
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
425 self.__filters = filters
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
426
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
427 def filters(self):
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
428 """
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
429 Public methods to get the filter string.
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
430
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
431 @return filter string
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
432 @rtype str
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
433 """
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
434 return self.__filters
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
435
4593
cc745fa6c914 Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4589
diff changeset
436 def setNameFilters(self, filters):
cc745fa6c914 Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4589
diff changeset
437 """
cc745fa6c914 Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4589
diff changeset
438 Public method to set the name filters for the completer.
cc745fa6c914 Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4589
diff changeset
439
4601
0017e7cb67ae Fixed a few code style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4599
diff changeset
440 @param filters list of file name filters
4593
cc745fa6c914 Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4589
diff changeset
441 @type list of str
cc745fa6c914 Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4589
diff changeset
442 """
4613
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
443 if self._completer:
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
444 self._completer.model().setNameFilters(filters)
4593
cc745fa6c914 Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4589
diff changeset
445
4573
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
446 def setButtonToolTip(self, tooltip):
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
447 """
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
448 Public method to set the tool button tool tip.
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
449
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
450 @param tooltip text to be set as a tool tip
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
451 @type str
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
452 """
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
453 self.__button.setToolTip(tooltip)
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
454
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
455 def buttonToolTip(self):
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
456 """
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
457 Public method to get the tool button tool tip.
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
458
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
459 @return tool tip text
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
460 @rtype str
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
461 """
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
462 return self.__button.toolTip()
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
463
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
464 def setEditorToolTip(self, tooltip):
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
465 """
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
466 Public method to set the editor tool tip.
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
467
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
468 @param tooltip text to be set as a tool tip
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
469 @type str
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
470 """
4613
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
471 self._editor.setToolTip(tooltip)
4573
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
472
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
473 def editorToolTip(self):
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
474 """
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
475 Public method to get the editor tool tip.
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
476
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
477 @return tool tip text
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
478 @rtype str
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
479 """
4613
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
480 return self._editor.toolTip()
4573
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
481
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
482 def __showPathPickerDialog(self):
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
483 """
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
484 Private slot to show the path picker dialog.
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
485 """
4594
1071d7ec6976 Fixed an issue setting an initial completer if the initial mode was the default mode.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4593
diff changeset
486 if self.__mode == E5PathPickerModes.NoMode:
1071d7ec6976 Fixed an issue setting an initial completer if the initial mode was the default mode.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4593
diff changeset
487 return
1071d7ec6976 Fixed an issue setting an initial completer if the initial mode was the default mode.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4593
diff changeset
488
4597
46be8d9c4dd8 Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4594
diff changeset
489 if self.__mode == E5PathPickerModes.CustomMode:
46be8d9c4dd8 Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4594
diff changeset
490 self.pickerButtonClicked.emit()
46be8d9c4dd8 Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4594
diff changeset
491 return
46be8d9c4dd8 Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4594
diff changeset
492
4581
76999ca7bbf1 Enhanced the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4578
diff changeset
493 self.aboutToShowPathPickerDialog.emit()
76999ca7bbf1 Enhanced the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4578
diff changeset
494
4573
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
495 windowTitle = self.__windowTitle
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
496 if not windowTitle:
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
497 if self.__mode == E5PathPickerModes.OpenFileMode:
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
498 windowTitle = self.tr("Choose a file to open")
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
499 elif self.__mode == E5PathPickerModes.OpenFilesMode:
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
500 windowTitle = self.tr("Choose files to open")
4593
cc745fa6c914 Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4589
diff changeset
501 elif self.__mode in [
cc745fa6c914 Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4589
diff changeset
502 E5PathPickerModes.SaveFileMode,
5036
318e879a37fa Added an improved "Print to PDF" to the new web browser for Qt 5.7+.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4700
diff changeset
503 E5PathPickerModes.SaveFileEnsureExtensionMode,
318e879a37fa Added an improved "Print to PDF" to the new web browser for Qt 5.7+.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4700
diff changeset
504 E5PathPickerModes.SaveFileOverwriteMode]:
4573
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
505 windowTitle = self.tr("Choose a file to save")
4581
76999ca7bbf1 Enhanced the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4578
diff changeset
506 elif self.__mode == E5PathPickerModes.DirectoryMode:
4573
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
507 windowTitle = self.tr("Choose a directory")
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
508
4613
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
509 directory = self._editorText()
4581
76999ca7bbf1 Enhanced the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4578
diff changeset
510 if not directory and self.__defaultDirectory:
76999ca7bbf1 Enhanced the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4578
diff changeset
511 directory = self.__defaultDirectory
4573
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
512 if self.__mode == E5PathPickerModes.OpenFilesMode:
4581
76999ca7bbf1 Enhanced the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4578
diff changeset
513 directory = os.path.expanduser(directory.split(";")[0])
4573
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
514 else:
4581
76999ca7bbf1 Enhanced the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4578
diff changeset
515 directory = os.path.expanduser(directory)
76999ca7bbf1 Enhanced the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4578
diff changeset
516 if not os.path.isabs(directory) and self.__defaultDirectory:
76999ca7bbf1 Enhanced the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4578
diff changeset
517 directory = os.path.join(self.__defaultDirectory, directory)
76999ca7bbf1 Enhanced the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4578
diff changeset
518 directory = Utilities.fromNativeSeparators(directory)
4573
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
519
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
520 if self.__mode == E5PathPickerModes.OpenFileMode:
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
521 path = E5FileDialog.getOpenFileName(
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
522 self,
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
523 windowTitle,
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
524 directory,
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
525 self.__filters)
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
526 path = Utilities.toNativeSeparators(path)
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
527 elif self.__mode == E5PathPickerModes.OpenFilesMode:
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
528 paths = E5FileDialog.getOpenFileNames(
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
529 self,
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
530 windowTitle,
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
531 directory,
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
532 self.__filters)
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
533 path = ";".join([Utilities.toNativeSeparators(path)
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
534 for path in paths])
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
535 elif self.__mode == E5PathPickerModes.SaveFileMode:
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
536 path = E5FileDialog.getSaveFileName(
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
537 self,
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
538 windowTitle,
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
539 directory,
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
540 self.__filters,
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
541 E5FileDialog.Options(E5FileDialog.DontConfirmOverwrite))
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
542 path = Utilities.toNativeSeparators(path)
4593
cc745fa6c914 Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4589
diff changeset
543 elif self.__mode == E5PathPickerModes.SaveFileEnsureExtensionMode:
cc745fa6c914 Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4589
diff changeset
544 path, selectedFilter = E5FileDialog.getSaveFileNameAndFilter(
cc745fa6c914 Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4589
diff changeset
545 self,
cc745fa6c914 Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4589
diff changeset
546 windowTitle,
cc745fa6c914 Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4589
diff changeset
547 directory,
cc745fa6c914 Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4589
diff changeset
548 self.__filters,
cc745fa6c914 Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4589
diff changeset
549 None,
cc745fa6c914 Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4589
diff changeset
550 E5FileDialog.Options(E5FileDialog.DontConfirmOverwrite))
cc745fa6c914 Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4589
diff changeset
551 path = Utilities.toNativeSeparators(path)
cc745fa6c914 Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4589
diff changeset
552 if path:
cc745fa6c914 Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4589
diff changeset
553 ext = QFileInfo(path).suffix()
cc745fa6c914 Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4589
diff changeset
554 if not ext:
cc745fa6c914 Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4589
diff changeset
555 ex = selectedFilter.split("(*")[1].split(")")[0]
cc745fa6c914 Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4589
diff changeset
556 if ex:
cc745fa6c914 Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4589
diff changeset
557 path += ex
5036
318e879a37fa Added an improved "Print to PDF" to the new web browser for Qt 5.7+.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4700
diff changeset
558 elif self.__mode == E5PathPickerModes.SaveFileOverwriteMode:
318e879a37fa Added an improved "Print to PDF" to the new web browser for Qt 5.7+.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4700
diff changeset
559 path = E5FileDialog.getSaveFileName(
318e879a37fa Added an improved "Print to PDF" to the new web browser for Qt 5.7+.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4700
diff changeset
560 self,
318e879a37fa Added an improved "Print to PDF" to the new web browser for Qt 5.7+.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4700
diff changeset
561 windowTitle,
318e879a37fa Added an improved "Print to PDF" to the new web browser for Qt 5.7+.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4700
diff changeset
562 directory,
318e879a37fa Added an improved "Print to PDF" to the new web browser for Qt 5.7+.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4700
diff changeset
563 self.__filters)
318e879a37fa Added an improved "Print to PDF" to the new web browser for Qt 5.7+.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4700
diff changeset
564 path = Utilities.toNativeSeparators(path)
4581
76999ca7bbf1 Enhanced the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4578
diff changeset
565 elif self.__mode == E5PathPickerModes.DirectoryMode:
4573
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
566 path = E5FileDialog.getExistingDirectory(
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
567 self,
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
568 windowTitle,
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
569 directory,
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
570 E5FileDialog.Options(E5FileDialog.ShowDirsOnly))
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
571 path = Utilities.toNativeSeparators(path)
4578
5d611151cdec Added a path picker using an editable combo box.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4576
diff changeset
572 while path.endswith(os.sep):
5d611151cdec Added a path picker using an editable combo box.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4576
diff changeset
573 path = path[:-1]
4573
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
574
365f39d86985 Added a widget to pick a path and changed the first configuration page.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff changeset
575 if path:
4613
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
576 self._setEditorText(path)
4581
76999ca7bbf1 Enhanced the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4578
diff changeset
577 self.pathSelected.emit(path)
4578
5d611151cdec Added a path picker using an editable combo box.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4576
diff changeset
578
4613
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
579 ##################################################################
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
580 ## Methods below emulate some of the QComboBox API
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
581 ##################################################################
4581
76999ca7bbf1 Enhanced the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4578
diff changeset
582
4578
5d611151cdec Added a path picker using an editable combo box.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4576
diff changeset
583 def addItems(self, pathsList):
5d611151cdec Added a path picker using an editable combo box.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4576
diff changeset
584 """
5d611151cdec Added a path picker using an editable combo box.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4576
diff changeset
585 Public method to add paths to the current list.
5d611151cdec Added a path picker using an editable combo box.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4576
diff changeset
586
5d611151cdec Added a path picker using an editable combo box.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4576
diff changeset
587 @param pathsList list of paths to add
5d611151cdec Added a path picker using an editable combo box.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4576
diff changeset
588 @type list of str
5d611151cdec Added a path picker using an editable combo box.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4576
diff changeset
589 """
4613
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
590 self._editor.addItems(pathsList)
4578
5d611151cdec Added a path picker using an editable combo box.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4576
diff changeset
591
5d611151cdec Added a path picker using an editable combo box.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4576
diff changeset
592 def addItem(self, path):
5d611151cdec Added a path picker using an editable combo box.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4576
diff changeset
593 """
5d611151cdec Added a path picker using an editable combo box.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4576
diff changeset
594 Public method to add a paths to the current list.
5d611151cdec Added a path picker using an editable combo box.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4576
diff changeset
595
5d611151cdec Added a path picker using an editable combo box.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4576
diff changeset
596 @param path path to add
5d611151cdec Added a path picker using an editable combo box.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4576
diff changeset
597 @type str
5d611151cdec Added a path picker using an editable combo box.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4576
diff changeset
598 """
4613
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
599 self._editor.addItem(path)
4578
5d611151cdec Added a path picker using an editable combo box.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4576
diff changeset
600
5d611151cdec Added a path picker using an editable combo box.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4576
diff changeset
601 def setPathsList(self, pathsList):
5d611151cdec Added a path picker using an editable combo box.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4576
diff changeset
602 """
5d611151cdec Added a path picker using an editable combo box.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4576
diff changeset
603 Public method to set the paths list.
5d611151cdec Added a path picker using an editable combo box.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4576
diff changeset
604
5d611151cdec Added a path picker using an editable combo box.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4576
diff changeset
605 @param pathsList list of paths
5d611151cdec Added a path picker using an editable combo box.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4576
diff changeset
606 @type list of str
5d611151cdec Added a path picker using an editable combo box.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4576
diff changeset
607 """
5d611151cdec Added a path picker using an editable combo box.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4576
diff changeset
608 self.clear()
5d611151cdec Added a path picker using an editable combo box.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4576
diff changeset
609 self.addItems(pathsList)
5d611151cdec Added a path picker using an editable combo box.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4576
diff changeset
610
5d611151cdec Added a path picker using an editable combo box.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4576
diff changeset
611 def setCurrentIndex(self, index):
5d611151cdec Added a path picker using an editable combo box.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4576
diff changeset
612 """
5d611151cdec Added a path picker using an editable combo box.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4576
diff changeset
613 Public slot to set the current index.
5d611151cdec Added a path picker using an editable combo box.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4576
diff changeset
614
5d611151cdec Added a path picker using an editable combo box.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4576
diff changeset
615 @param index index of the item to set current
5d611151cdec Added a path picker using an editable combo box.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4576
diff changeset
616 @type int
5d611151cdec Added a path picker using an editable combo box.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4576
diff changeset
617 """
4613
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
618 self._editor.setCurrentIndex(index)
4578
5d611151cdec Added a path picker using an editable combo box.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4576
diff changeset
619
4589
b648ccbdbef9 Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4581
diff changeset
620 def setInsertPolicy(self, policy):
b648ccbdbef9 Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4581
diff changeset
621 """
b648ccbdbef9 Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4581
diff changeset
622 Public method to set the insertion policy of the combo box.
b648ccbdbef9 Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4581
diff changeset
623
b648ccbdbef9 Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4581
diff changeset
624 @param policy insertion policy
b648ccbdbef9 Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4581
diff changeset
625 @type QComboBox.InsertPolicy
b648ccbdbef9 Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4581
diff changeset
626 """
4613
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
627 self._editor.setInsertPolicy(policy)
4589
b648ccbdbef9 Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4581
diff changeset
628
b648ccbdbef9 Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4581
diff changeset
629 def setSizeAdjustPolicy(self, policy):
b648ccbdbef9 Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4581
diff changeset
630 """
b648ccbdbef9 Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4581
diff changeset
631 Public method to set the size adjust policy of the combo box.
b648ccbdbef9 Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4581
diff changeset
632
b648ccbdbef9 Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4581
diff changeset
633 @param policy size adjust policy
b648ccbdbef9 Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4581
diff changeset
634 @type QComboBox.SizeAdjustPolicy
b648ccbdbef9 Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4581
diff changeset
635 """
4613
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
636 self._editor.setSizeAdjustPolicy(policy)
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
637
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
638
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
639 class E5PathPicker(E5PathPickerBase):
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
640 """
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
641 Class implementing a path picker widget consisting of a line edit and a
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
642 tool button to open a file dialog.
4589
b648ccbdbef9 Modified more dialogs to use the path picker widgets.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4581
diff changeset
643
4613
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
644 @signal textChanged(path) emitted when the entered path has changed
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
645 @signal pathSelected(path) emitted after a path has been selected via the
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
646 file dialog
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
647 @signal aboutToShowPathPickerDialog emitted before the file dialog is shown
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
648 @signal pickerButtonClicked emitted when the picker button was pressed and
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
649 the widget mode is custom
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
650 """
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
651 def __init__(self, parent=None):
4578
5d611151cdec Added a path picker using an editable combo box.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4576
diff changeset
652 """
4613
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
653 Constructor
4578
5d611151cdec Added a path picker using an editable combo box.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4576
diff changeset
654
4613
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
655 @param parent reference to the parent widget
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
656 @type QWidget
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
657 """
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
658 super(E5PathPicker, self).__init__(parent, useLineEdit=True)
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
659
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
660
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
661 class E5ComboPathPicker(E5PathPickerBase):
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
662 """
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
663 Class implementing a path picker widget consisting of a combobox and a
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
664 tool button to open a file dialog.
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
665
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
666 @signal editTextChanged(path) emitted when the entered path has changed
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
667 @signal pathSelected(path) emitted after a path has been selected via the
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
668 file dialog
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
669 @signal aboutToShowPathPickerDialog emitted before the file dialog is shown
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
670 @signal pickerButtonClicked emitted when the picker button was pressed and
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
671 the widget mode is custom
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
672 """
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
673 def __init__(self, parent=None):
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
674 """
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
675 Constructor
4578
5d611151cdec Added a path picker using an editable combo box.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4576
diff changeset
676
4613
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
677 @param parent reference to the parent widget
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
678 @type QWidget
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
679 """
c7951eb9d525 Refactored the path picker code.
Detlev Offenbach <detlev@die-offenbachs.de>
parents: 4601
diff changeset
680 super(E5ComboPathPicker, self).__init__(parent, useLineEdit=False)

eric ide

mercurial