From ddb694c1d5e94917d7941340ada1abb57b9f26aa Mon Sep 17 00:00:00 2001 From: Joris Goosen Date: Mon, 17 Feb 2025 16:35:26 +0100 Subject: [PATCH] add computeFilter to Columns db table here we can store the name of the filter to load, or nothing if we just want everything. This can then also be taken into account when writing the data. --- CommonData/databaseinterface.cpp | 19 ++++++++++++++++--- CommonData/internalDbDefinition.sql | 3 ++- .../JASP/Widgets/ComputeColumnWindow.qml | 2 +- 3 files changed, 19 insertions(+), 5 deletions(-) diff --git a/CommonData/databaseinterface.cpp b/CommonData/databaseinterface.cpp index 7ba08a4c1a..a953140bc5 100644 --- a/CommonData/databaseinterface.cpp +++ b/CommonData/databaseinterface.cpp @@ -52,10 +52,23 @@ void DatabaseInterface::upgradeDBFromVersion(Version originalVersion) if(originalVersion < "0.19.2" && !tableHasColumn("Filters", "name")) runStatements("ALTER TABLE Filters ADD COLUMN name TEXT;"); - if(originalVersion <= "0.19.3" && !tableHasColumn("Filters", "dropLevels")) + if(originalVersion <= "0.19.3") { - runStatements("ALTER TABLE Filters ADD COLUMN dropLevels INT;"); - runStatements("UPDATE Filters SET dropLevels = 1;"); //Previously dropLevels was always on, so loading an older jasp-file should have this enabled + if(!tableHasColumn("Filters", "dropLevels")) + { + runStatements("ALTER TABLE Filters ADD COLUMN dropLevels INT;"); + runStatements("UPDATE Filters SET dropLevels = 1;"); //Previously dropLevels was always on, so loading an older jasp-file should have this enabled + } + + + if(!tableHasColumn("Columns", "computeFilter")) + { + runStatements("ALTER TABLE Columns ADD COLUMN computeFilter TEXT DEFAULT \"\";"); + runStatements("UPDATE Filters SET dropLevels = 1;"); //Previously dropLevels was always on, so loading an older jasp-file should have this enabled + } + + + } transactionWriteEnd(); diff --git a/CommonData/internalDbDefinition.sql b/CommonData/internalDbDefinition.sql index 33cab07668..1e5bf33199 100644 --- a/CommonData/internalDbDefinition.sql +++ b/CommonData/internalDbDefinition.sql @@ -33,7 +33,8 @@ CREATE TABLE Columns name TEXT, title TEXT, description TEXT, - columnType TEXT, + columnType TEXT, + computeFilter TEXT DEFAULT "", colIdx INT, autoSortByValue INT, invalidated INT NULL, diff --git a/Desktop/components/JASP/Widgets/ComputeColumnWindow.qml b/Desktop/components/JASP/Widgets/ComputeColumnWindow.qml index 3e3415a372..0b2e364dcd 100644 --- a/Desktop/components/JASP/Widgets/ComputeColumnWindow.qml +++ b/Desktop/components/JASP/Widgets/ComputeColumnWindow.qml @@ -302,8 +302,8 @@ FocusScope anchors.top: helpButton.top onClicked: { forceActiveFocus(); computedColumnContainer.applyComputedColumn() } toolTip: qsTr("Click to compute column") - } + JaspControls.RectangularButton {