Sat, 12 Jan 2019 19:32:22 +0100
MultiProjectBrowser: use category of current entry to preset the category of a project to be added.
--- a/APIs/Python3/eric6.api Sat Jan 12 18:25:04 2019 +0100 +++ b/APIs/Python3/eric6.api Sat Jan 12 19:32:22 2019 +0100 @@ -3620,9 +3620,9 @@ eric6.MultiProject.AddProjectDialog.AddProjectDialog.getData?4() eric6.MultiProject.AddProjectDialog.AddProjectDialog.on_filenamePicker_textChanged?4(txt) eric6.MultiProject.AddProjectDialog.AddProjectDialog.on_nameEdit_textChanged?4(txt) -eric6.MultiProject.AddProjectDialog.AddProjectDialog?1(parent=None, startdir=None, project=None, categories=None) +eric6.MultiProject.AddProjectDialog.AddProjectDialog?1(parent=None, startdir="", project=None, categories=None, category="") eric6.MultiProject.MultiProject.MultiProject.addE5Actions?4(actions) -eric6.MultiProject.MultiProject.MultiProject.addNewProject?4(startdir=None) +eric6.MultiProject.MultiProject.MultiProject.addNewProject?4(startdir="", category="") eric6.MultiProject.MultiProject.MultiProject.addProject?4(project) eric6.MultiProject.MultiProject.MultiProject.changeProjectProperties?4(pro) eric6.MultiProject.MultiProject.MultiProject.checkDirty?4()
--- a/Documentation/Source/eric6.MultiProject.AddProjectDialog.html Sat Jan 12 18:25:04 2019 +0100 +++ b/Documentation/Source/eric6.MultiProject.AddProjectDialog.html Sat Jan 12 19:32:22 2019 +0100 @@ -79,22 +79,25 @@ </table> <a NAME="AddProjectDialog.__init__" ID="AddProjectDialog.__init__"></a> <h4>AddProjectDialog (Constructor)</h4> -<b>AddProjectDialog</b>(<i>parent=None, startdir=None, project=None, categories=None</i>) +<b>AddProjectDialog</b>(<i>parent=None, startdir="", project=None, categories=None, category=""</i>) <p> Constructor </p><dl> -<dt><i>parent</i></dt> +<dt><i>parent</i> (QWidget)</dt> <dd> -parent widget of this dialog (QWidget) -</dd><dt><i>startdir</i></dt> +parent widget of this dialog +</dd><dt><i>startdir</i> (str)</dt> <dd> -start directory for the selection dialog (string) -</dd><dt><i>project</i></dt> +start directory for the selection dialog +</dd><dt><i>project</i> (dict)</dt> <dd> dictionary containing project data -</dd><dt><i>categories</i></dt> +</dd><dt><i>categories</i> (list of str)</dt> <dd> -list of already used categories (list of string) +list of already used categories +</dd><dt><i>category</i> (str)</dt> +<dd> +category to be preset </dd> </dl><a NAME="AddProjectDialog.__updateUi" ID="AddProjectDialog.__updateUi"></a> <h4>AddProjectDialog.__updateUi</h4>
--- a/Documentation/Source/eric6.MultiProject.MultiProject.html Sat Jan 12 18:25:04 2019 +0100 +++ b/Documentation/Source/eric6.MultiProject.MultiProject.html Sat Jan 12 19:32:22 2019 +0100 @@ -378,13 +378,16 @@ </dd> </dl><a NAME="MultiProject.addNewProject" ID="MultiProject.addNewProject"></a> <h4>MultiProject.addNewProject</h4> -<b>addNewProject</b>(<i>startdir=None</i>) +<b>addNewProject</b>(<i>startdir="", category=""</i>) <p> Public slot used to add a new project to the multi-project. </p><dl> -<dt><i>startdir</i></dt> +<dt><i>startdir</i> (str)</dt> <dd> -start directory for the selection dialog (string) +start directory for the selection dialog +</dd><dt><i>category</i> (str)</dt> +<dd> +category to be preset </dd> </dl><a NAME="MultiProject.addProject" ID="MultiProject.addProject"></a> <h4>MultiProject.addProject</h4>
--- a/MultiProject/AddProjectDialog.py Sat Jan 12 18:25:04 2019 +0100 +++ b/MultiProject/AddProjectDialog.py Sat Jan 12 19:32:22 2019 +0100 @@ -25,15 +25,21 @@ """ Class implementing the add project dialog. """ - def __init__(self, parent=None, startdir=None, project=None, - categories=None): + def __init__(self, parent=None, startdir="", project=None, + categories=None, category=""): """ Constructor - @param parent parent widget of this dialog (QWidget) - @param startdir start directory for the selection dialog (string) + @param parent parent widget of this dialog + @type QWidget + @param startdir start directory for the selection dialog + @type str @param project dictionary containing project data - @param categories list of already used categories (list of string) + @type dict + @param categories list of already used categories + @type list of str + @param category category to be preset + @type str """ super(AddProjectDialog, self).__init__(parent) self.setupUi(self) @@ -44,6 +50,7 @@ if categories: self.categoryComboBox.addItem("") self.categoryComboBox.addItems(sorted(categories)) + self.categoryComboBox.setEditText(category) self.startdir = startdir self.uid = ""
--- a/MultiProject/MultiProject.py Sat Jan 12 18:25:04 2019 +0100 +++ b/MultiProject/MultiProject.py Sat Jan 12 19:32:22 2019 +0100 @@ -304,11 +304,14 @@ self.__projects[project['uid']] = project @pyqtSlot() - def addNewProject(self, startdir=None): + def addNewProject(self, startdir="", category=""): """ Public slot used to add a new project to the multi-project. - @param startdir start directory for the selection dialog (string) + @param startdir start directory for the selection dialog + @type str + @param category category to be preset + @type str """ from .AddProjectDialog import AddProjectDialog if not startdir: @@ -316,7 +319,7 @@ if not startdir: startdir = Preferences.getMultiProject("Workspace") dlg = AddProjectDialog(self.ui, startdir=startdir, - categories=self.categories) + categories=self.categories, category=category) if dlg.exec_() == QDialog.Accepted: name, filename, isMaster, description, category, uid = \ dlg.getData()
--- a/MultiProject/MultiProjectBrowser.py Sat Jan 12 18:25:04 2019 +0100 +++ b/MultiProject/MultiProjectBrowser.py Sat Jan 12 19:32:22 2019 +0100 @@ -385,7 +385,16 @@ """ Private method to add a new project entry. """ - self.multiProject.addNewProject() + itm = self.currentItem() + if itm is not None: + if itm.parent() is None: + # current item is a category item + category = itm.text(0) + else: + category = itm.parent().text(0) + else: + category = "" + self.multiProject.addNewProject(category=category) def __createPopupMenu(self): """