src/eric7/Preferences/ConfigurationPages/TasksPage.py

branch
eric7
changeset 9209
b99e7fd55fd3
parent 8881
54e42bc2437a
child 9221
bf71ee032bb4
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Preferences/ConfigurationPages/TasksPage.py	Thu Jul 07 11:23:56 2022 +0200
@@ -0,0 +1,127 @@
+# -*- coding: utf-8 -*-
+
+# Copyright (c) 2006 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
+#
+
+"""
+Module implementing the Tasks configuration page.
+"""
+
+from PyQt6.QtCore import pyqtSlot
+from PyQt6.QtGui import QColor
+
+from .ConfigurationPageBase import ConfigurationPageBase
+from .Ui_TasksPage import Ui_TasksPage
+
+import Preferences
+
+
+class TasksPage(ConfigurationPageBase, Ui_TasksPage):
+    """
+    Class implementing the Tasks configuration page.
+    """
+    def __init__(self):
+        """
+        Constructor
+        """
+        super().__init__()
+        self.setupUi(self)
+        self.setObjectName("TasksPage")
+        
+        self.colourChanged.connect(self.__colorChanged)
+        
+        # set initial values
+        self.tasksMarkerFixmeEdit.setText(
+            Preferences.getTasks("TasksFixmeMarkers"))
+        self.tasksMarkerWarningEdit.setText(
+            Preferences.getTasks("TasksWarningMarkers"))
+        self.tasksMarkerTodoEdit.setText(
+            Preferences.getTasks("TasksTodoMarkers"))
+        self.tasksMarkerNoteEdit.setText(
+            Preferences.getTasks("TasksNoteMarkers"))
+        self.tasksMarkerTestEdit.setText(
+            Preferences.getTasks("TasksTestMarkers"))
+        self.tasksMarkerDocuEdit.setText(
+            Preferences.getTasks("TasksDocuMarkers"))
+        
+        self.initColour(
+            "TasksFixmeColor", self.tasksFixmeColourButton,
+            Preferences.getTasks)
+        self.initColour(
+            "TasksWarningColor", self.tasksWarningColourButton,
+            Preferences.getTasks)
+        self.initColour(
+            "TasksTodoColor", self.tasksTodoColourButton,
+            Preferences.getTasks)
+        self.initColour(
+            "TasksNoteColor", self.tasksNoteColourButton,
+            Preferences.getTasks)
+        self.initColour(
+            "TasksTestColor", self.tasksTestColourButton,
+            Preferences.getTasks)
+        self.initColour(
+            "TasksDocuColor", self.tasksDocuColourButton,
+            Preferences.getTasks)
+        
+        self.clearCheckBox.setChecked(Preferences.getTasks("ClearOnFileClose"))
+        
+    def save(self):
+        """
+        Public slot to save the Tasks configuration.
+        """
+        Preferences.setTasks(
+            "TasksFixmeMarkers", self.tasksMarkerFixmeEdit.text())
+        Preferences.setTasks(
+            "TasksWarningMarkers", self.tasksMarkerWarningEdit.text())
+        Preferences.setTasks(
+            "TasksTodoMarkers", self.tasksMarkerTodoEdit.text())
+        Preferences.setTasks(
+            "TasksNoteMarkers", self.tasksMarkerNoteEdit.text())
+        Preferences.setTasks(
+            "TasksTestMarkers", self.tasksMarkerTestEdit.text())
+        Preferences.setTasks(
+            "TasksDocuMarkers", self.tasksMarkerDocuEdit.text())
+        Preferences.setTasks(
+            "ClearOnFileClose", self.clearCheckBox.isChecked())
+        
+        self.saveColours(Preferences.setTasks)
+    
+    @pyqtSlot(str, QColor)
+    def __colorChanged(self, colorKey, color):
+        """
+        Private slot handling the selection of a color.
+        
+        @param colorKey key of the color entry
+        @type str
+        @param color selected color
+        @type QColor
+        """
+        if colorKey == "TasksFixmeColor":
+            self.tasksMarkerFixmeEdit.setStyleSheet(
+                f"background-color: {color.name()}")
+        elif colorKey == "TasksWarningColor":
+            self.tasksMarkerWarningEdit.setStyleSheet(
+                f"background-color: {color.name()}")
+        elif colorKey == "TasksTodoColor":
+            self.tasksMarkerTodoEdit.setStyleSheet(
+                f"background-color: {color.name()}")
+        elif colorKey == "TasksNoteColor":
+            self.tasksMarkerNoteEdit.setStyleSheet(
+                f"background-color: {color.name()}")
+        elif colorKey == "TasksTestColor":
+            self.tasksMarkerTestEdit.setStyleSheet(
+                f"background-color: {color.name()}")
+        elif colorKey == "TasksDocuColor":
+            self.tasksMarkerDocuEdit.setStyleSheet(
+                f"background-color: {color.name()}")
+
+
+def create(dlg):
+    """
+    Module function to create the configuration page.
+    
+    @param dlg reference to the configuration dialog
+    @return reference to the instantiated page (ConfigurationPageBase)
+    """
+    page = TasksPage()
+    return page

eric ide

mercurial