summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorhjk <hjk@qt.io>2023-05-15 18:24:20 +0200
committerhjk <hjk@qt.io>2023-05-16 12:59:44 +0000
commit671621d79bc9fa8542562503a12d381f054b27e8 (patch)
tree6f11cefb7ca15d73ea2d69ea14f843a202179098
parent1e595c6afe6032c04d42a41c4d030b3c7980008c (diff)
downloadqt-creator-671621d79bc9fa8542562503a12d381f054b27e8.tar.gz
Utils: Introduce a FilePathAspect
A shallow wrapper around a StringAspect with a suitable operator(). Change-Id: I0a5e121565d03573faa5c3f4085d72db2b9c3774 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
-rw-r--r--src/libs/utils/aspects.cpp22
-rw-r--r--src/libs/utils/aspects.h8
2 files changed, 30 insertions, 0 deletions
diff --git a/src/libs/utils/aspects.cpp b/src/libs/utils/aspects.cpp
index ae3841c647..541b258c0b 100644
--- a/src/libs/utils/aspects.cpp
+++ b/src/libs/utils/aspects.cpp
@@ -1325,6 +1325,28 @@ void StringAspect::makeCheckable(CheckBoxPlacement checkBoxPlacement,
update();
}
+
+/*!
+ \class Utils::FilePathAspect
+ \inmodule QtCreator
+
+ \brief A file path aspect is shallow wrapper around a Utils::StringAspect that
+ represents a file in the file system.
+
+ It is displayed by default using Utils::PathChooser.
+
+ The visual representation often contains a label in front of the display
+ of the actual value.
+
+ \sa Utils::StringAspect
+*/
+
+
+FilePathAspect::FilePathAspect()
+{
+ setDisplayStyle(PathChooserDisplay);
+}
+
/*!
\class Utils::ColorAspect
\inmodule QtCreator
diff --git a/src/libs/utils/aspects.h b/src/libs/utils/aspects.h
index b610c1ffbe..1a2570ea83 100644
--- a/src/libs/utils/aspects.h
+++ b/src/libs/utils/aspects.h
@@ -439,6 +439,14 @@ protected:
std::unique_ptr<Internal::StringAspectPrivate> d;
};
+class QTCREATOR_UTILS_EXPORT FilePathAspect : public StringAspect
+{
+public:
+ FilePathAspect();
+
+ FilePath operator()() const { return filePath(); }
+};
+
class QTCREATOR_UTILS_EXPORT IntegerAspect : public BaseAspect
{
Q_OBJECT