MultiProjectBrowser: use category of current entry to preset the category of a project to be added.

Sat, 12 Jan 2019 19:32:22 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Sat, 12 Jan 2019 19:32:22 +0100
changeset 6653
ac800d2700d2
parent 6652
dfc89403b426
child 6654
025e8d0f87cd

MultiProjectBrowser: use category of current entry to preset the category of a project to be added.

APIs/Python3/eric6.api file | annotate | diff | comparison | revisions
Documentation/Help/source.qch file | annotate | diff | comparison | revisions
Documentation/Source/eric6.MultiProject.AddProjectDialog.html file | annotate | diff | comparison | revisions
Documentation/Source/eric6.MultiProject.MultiProject.html file | annotate | diff | comparison | revisions
MultiProject/AddProjectDialog.py file | annotate | diff | comparison | revisions
MultiProject/MultiProject.py file | annotate | diff | comparison | revisions
MultiProject/MultiProjectBrowser.py file | annotate | diff | comparison | revisions
--- 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()
Binary file Documentation/Help/source.qch has changed
--- 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):
         """

eric ide

mercurial