QFileSystemModel Class
Die Klasse „QFileSystemModel“ stellt ein Datenmodell für das lokale Dateisystem bereit. Mehr...
| Header: | #include <QFileSystemModel> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Gui) target_link_libraries(mytarget PRIVATE Qt6::Gui) |
| qmake: | QT += gui |
| Erbt von: | QAbstractItemModel |
Öffentliche Typen
| enum | Option { DontWatchForChanges, DontResolveSymlinks, DontUseCustomDirectoryIcons } |
| flags | Options |
| enum | Roles { FileIconRole, FilePathRole, FileNameRole, FilePermissions, FileInfoRole } |
Eigenschaften
- nameFilterDisables : bool
- options : Options
- readOnly : bool
- resolveSymlinks : bool
Öffentliche Funktionen
| QFileSystemModel(QObject *parent = nullptr) | |
| virtual | ~QFileSystemModel() |
| QIcon | fileIcon(const QModelIndex &index) const |
| QFileInfo | fileInfo(const QModelIndex &index) const |
| QString | fileName(const QModelIndex &index) const |
| QString | filePath(const QModelIndex &index) const |
| QDir::Filters | filter() const |
| QAbstractFileIconProvider * | iconProvider() const |
| QModelIndex | index(const QString &path, int column = 0) const |
| bool | isDir(const QModelIndex &index) const |
| bool | isReadOnly() const |
| QDateTime | lastModified(const QModelIndex &index) const |
(since 6.6) QDateTime | lastModified(const QModelIndex &index, const QTimeZone &tz) const |
| QModelIndex | mkdir(const QModelIndex &parent, const QString &name) |
| QVariant | myComputer(int role = Qt::DisplayRole) const |
| bool | nameFilterDisables() const |
| QStringList | nameFilters() const |
| QFileSystemModel::Options | options() const |
| QFileDevice::Permissions | permissions(const QModelIndex &index) const |
| bool | remove(const QModelIndex &index) |
| bool | resolveSymlinks() const |
| bool | rmdir(const QModelIndex &index) |
| QDir | rootDirectory() const |
| QString | rootPath() const |
| void | setFilter(QDir::Filters filters) |
| void | setIconProvider(QAbstractFileIconProvider *provider) |
| void | setNameFilterDisables(bool enable) |
| void | setNameFilters(const QStringList &filters) |
| void | setOption(QFileSystemModel::Option option, bool on = true) |
| void | setOptions(QFileSystemModel::Options options) |
| void | setReadOnly(bool enable) |
| void | setResolveSymlinks(bool enable) |
| QModelIndex | setRootPath(const QString &newPath) |
| qint64 | size(const QModelIndex &index) const |
| bool | testOption(QFileSystemModel::Option option) const |
| QString | type(const QModelIndex &index) const |
Neu implementierte öffentliche Funktionen
| virtual bool | canFetchMore(const QModelIndex &parent) const override |
| virtual int | columnCount(const QModelIndex &parent = QModelIndex()) const override |
| virtual QVariant | data(const QModelIndex &index, int role = Qt::DisplayRole) const override |
| virtual bool | dropMimeData(const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent) override |
| virtual void | fetchMore(const QModelIndex &parent) override |
| virtual Qt::ItemFlags | flags(const QModelIndex &index) const override |
| virtual bool | hasChildren(const QModelIndex &parent = QModelIndex()) const override |
| virtual QVariant | headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const override |
| virtual QModelIndex | index(int row, int column, const QModelIndex &parent = QModelIndex()) const override |
| virtual QMimeData * | mimeData(const QModelIndexList &indexes) const override |
| virtual QStringList | mimeTypes() const override |
| virtual QModelIndex | parent(const QModelIndex &index) const override |
| virtual QHash<int, QByteArray> | roleNames() const override |
| virtual int | rowCount(const QModelIndex &parent = QModelIndex()) const override |
| virtual bool | setData(const QModelIndex &idx, const QVariant &value, int role = Qt::EditRole) override |
| virtual QModelIndex | sibling(int row, int column, const QModelIndex &idx) const override |
| virtual void | sort(int column, Qt::SortOrder order = Qt::AscendingOrder) override |
| virtual Qt::DropActions | supportedDropActions() const override |
Signale
| void | directoryLoaded(const QString &path) |
| void | fileRenamed(const QString &path, const QString &oldName, const QString &newName) |
| void | rootPathChanged(const QString &newPath) |
Neu implementierte geschützte Funktionen
| virtual bool | event(QEvent *event) override |
| virtual void | timerEvent(QTimerEvent *event) override |
Ausführliche Beschreibung
Diese Klasse ermöglicht den Zugriff auf das lokale Dateisystem und stellt Funktionen zum Umbenennen und Löschen von Dateien und Verzeichnissen sowie zum Erstellen neuer Verzeichnisse bereit. Im einfachsten Fall kann sie mit einem geeigneten Anzeige-Widget als Teil eines Browsers oder Filters verwendet werden.
Der Zugriff auf `QFileSystemModel` erfolgt über die von ` QAbstractItemModel` bereitgestellte Standardschnittstelle, es stehen jedoch auch einige speziell auf das Verzeichnismodell zugeschnittene Komfortfunktionen zur Verfügung. Die Funktionen ` fileInfo()`, ` isDir()`, ` fileName()` und ` filePath()` liefern Informationen zu den zugrunde liegenden Dateien und Verzeichnissen, die mit Elementen im Modell in Verbindung stehen. Verzeichnisse können mit ` mkdir()` und ` rmdir()` erstellt und gelöscht werden.
Anwendungsbeispiel
Ein Verzeichnismodell, das den Inhalt eines Standardverzeichnisses anzeigt, wird in der Regel mit einem übergeordneten Objekt erstellt:
QFileSystemModel *model = new QFileSystemModel;
model->setRootPath(QDir::currentPath());Zur Anzeige des Modellinhalts kann eine Baumansicht verwendet werden
und der Inhalt eines bestimmten Verzeichnisses lässt sich durch Festlegen des Stammindexes der Baumansicht anzeigen:
tree->setRootIndex(model->index(QDir::currentPath()));Der Stammindex der Ansicht kann verwendet werden, um zu steuern, wie viel von einem hierarchischen Modell angezeigt wird. QFileSystemModel bietet eine Hilfsfunktion, die einen geeigneten Modellindex für einen Pfad zu einem Verzeichnis innerhalb des Modells zurückgibt.
Zwischenspeicherung und Leistung
QFileSystemModel verwendet einen separaten Thread, um sich selbst zu füllen, sodass der Hauptthread bei der Abfrage des Dateisystems nicht blockiert wird. Aufrufe von ` rowCount()` geben ` 0 ` zurück, bis das Modell ein Verzeichnis gefüllt hat. Der Thread, in dem das QFileSystemModel läuft, muss eine Ereignisschleife ausführen, um die eingehenden Daten zu verarbeiten.
QFileSystemModel beginnt erst mit der Befüllung, wenn setRootPath() aufgerufen wird. Dadurch werden bis zu diesem Zeitpunkt unnötige Abfragen des Root-Dateisystems des Systems, wie beispielsweise das Aufzählen der Laufwerke unter Windows, verhindert.
QFileSystemModel unterhält einen Cache mit Dateiinformationen. Der Cache wird mithilfe von ` QFileSystemWatcher` automatisch auf dem neuesten Stand gehalten.
Siehe auch Modellklassen.
Dokumentation zu Mitgliedstypen
enum QFileSystemModel::Option
flags QFileSystemModel::Options
| Konstante | Wert | Beschreibung |
|---|---|---|
QFileSystemModel::DontWatchForChanges | 0x00000001 | Fügen Sie den Pfaden keine Datei-Watcher hinzu. Dies reduziert den Overhead bei der Verwendung des Modells für einfache Aufgaben wie die Vervollständigung von Zeilen. |
QFileSystemModel::DontResolveSymlinks | 0x00000002 | Symlinks im Dateisystemmodell nicht auflösen. Standardmäßig werden Symlinks aufgelöst. |
QFileSystemModel::DontUseCustomDirectoryIcons | 0x00000004 | Verwenden Sie immer das Standard-Verzeichnissymbol. Auf einigen Plattformen kann der Benutzer ein anderes Symbol festlegen. Die Suche nach benutzerdefinierten Symbolen führt bei Netzwerk- oder Wechseldatenträgern zu erheblichen Leistungseinbußen. Dadurch wird die Option `QFileIconProvider::DontUseCustomDirectoryIcons` im Symbolanbieter entsprechend gesetzt. |
Der Typ „Options“ ist ein `typedef` für ` QFlags<Option>`. Er speichert eine ODER-Kombination von Optionswerten.
Siehe auch „ resolveSymlinks “.
enum QFileSystemModel::Roles
| Konstante | Wert | Beschreibung |
|---|---|---|
QFileSystemModel::FileIconRole | Qt::DecorationRole | |
QFileSystemModel::FilePathRole | Qt::UserRole + 1 | |
QFileSystemModel::FileNameRole | Qt::UserRole + 2 | |
QFileSystemModel::FilePermissions | Qt::UserRole + 3 | |
QFileSystemModel::FileInfoRole | Qt::FileInfoRole | Das Objekt „ QFileInfo “ für den Index |
Dokumentation zu den Eigenschaften
nameFilterDisables : bool
Diese Eigenschaft legt fest, ob Dateien, die den Namensfilter nicht bestehen, ausgeblendet oder deaktiviert werden
Diese Eigenschaft ist standardmäßig auf „ true “ gesetzt
Zugriffsfunktionen:
| bool | nameFilterDisables() const |
| void | setNameFilterDisables(bool enable) |
options : Options
Diese Eigenschaft enthält die verschiedenen Optionen, die sich auf das Modell auswirken
Standardmäßig sind alle Optionen deaktiviert.
Die Optionen sollten vor dem Ändern von Eigenschaften festgelegt werden.
Zugriffsfunktionen:
| QFileSystemModel::Options | options() const |
| void | setOptions(QFileSystemModel::Options options) |
Siehe auch setOption() und testOption().
readOnly : bool
Diese Eigenschaft gibt an, ob das Verzeichnismodell das Schreiben in das Dateisystem zulässt
Ist diese Eigenschaft auf „false“ gesetzt, erlaubt das Verzeichnismodell das Umbenennen, Kopieren und Löschen von Dateien und Verzeichnissen.
Diese Eigenschaft ist standardmäßig auf „ true “ gesetzt
Zugriffsfunktionen:
| bool | isReadOnly() const |
| void | setReadOnly(bool enable) |
resolveSymlinks : bool
Diese Eigenschaft legt fest, ob das Verzeichnismodell symbolische Links auflösen soll
Dies ist nur unter Windows relevant.
Standardmäßig ist diese Eigenschaft auf „ true “ gesetzt.
Zugriffsfunktionen:
| bool | resolveSymlinks() const |
| void | setResolveSymlinks(bool enable) |
Siehe auch „ QFileSystemModel::Options “.
Dokumentation zu den Mitgliedsfunktionen
[explicit] QFileSystemModel::QFileSystemModel(QObject *parent = nullptr)
Erstellt ein Dateisystemmodell mit dem angegebenen „ parent “.
[virtual noexcept] QFileSystemModel::~QFileSystemModel()
Löscht dieses Dateisystemmodell.
[override virtual] bool QFileSystemModel::canFetchMore(const QModelIndex &parent) const
Implementiert neu: ` QAbstractItemModel::canFetchMore(const QModelIndex &parent) const`.
[override virtual] int QFileSystemModel::columnCount(const QModelIndex &parent = QModelIndex()) const
Implementiert: ` QAbstractItemModel::columnCount(const QModelIndex &parent) const`.
[override virtual] QVariant QFileSystemModel::data(const QModelIndex &index, int role = Qt::DisplayRole) const
Implementiert neu: ` QAbstractItemModel::data(const QModelIndex &index, int role) const`.
Siehe auch setData().
[signal] void QFileSystemModel::directoryLoaded(const QString &path)
Dieses Signal wird ausgelöst, wenn der Gatherer-Thread das Laden von „ path “ abgeschlossen hat.
[override virtual] bool QFileSystemModel::dropMimeData(const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent)
Implementiert: ` QAbstractItemModel::dropMimeData` (const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent).
Verarbeitet das von einem Drag-and-Drop-Vorgang bereitgestellte ` data `, der mit der angegebenen ` action ` über der Zeile im Modell endete, die durch ` row ` und ` column ` sowie durch den Index ` parent ` spezifiziert wurde. Gibt `true` zurück, wenn der Vorgang erfolgreich war.
Siehe auch supportedDropActions().
[override virtual protected] bool QFileSystemModel::event(QEvent *event)
Umsetzt: ` QObject::event(QEvent *e)`.
[override virtual] void QFileSystemModel::fetchMore(const QModelIndex &parent)
Implementiert: ` QAbstractItemModel::fetchMore(const QModelIndex &parent)`.
QIcon QFileSystemModel::fileIcon(const QModelIndex &index) const
Gibt das Symbol für das Element zurück, das im Modell unter der angegebenen index gespeichert ist.
QFileInfo QFileSystemModel::fileInfo(const QModelIndex &index) const
Gibt die „ QFileInfo “ für das Element zurück, das im Modell unter der angegebenen „ index “ gespeichert ist.
QString QFileSystemModel::fileName(const QModelIndex &index) const
Gibt den Dateinamen des Elements zurück, das im Modell unter der angegebenen „ index “ gespeichert ist.
QString QFileSystemModel::filePath(const QModelIndex &index) const
Gibt den Pfad des Elements zurück, das im Modell unter der angegebenen „ index “ gespeichert ist.
[signal] void QFileSystemModel::fileRenamed(const QString &path, const QString &oldName, const QString &newName)
Dieses Signal wird immer dann ausgegeben, wenn eine Datei mit dem Namen „ oldName “ erfolgreich in „ newName “ umbenannt wurde. Die Datei befindet sich im Verzeichnis „ path “.
QDir::Filters QFileSystemModel::filter() const
Gibt den für das Verzeichnismodell festgelegten Filter zurück.
Wenn kein Filter festgelegt wurde, lautet der Standardfilter „ QDir::AllEntries | QDir::NoDotAndDotDot | QDir::AllDirs “.
Siehe auch setFilter() und QDir::Filters.
[override virtual] Qt::ItemFlags QFileSystemModel::flags(const QModelIndex &index) const
Implementiert neu: ` QAbstractItemModel::flags(const QModelIndex &index) const`.
[override virtual] bool QFileSystemModel::hasChildren(const QModelIndex &parent = QModelIndex()) const
Implementiert: ` QAbstractItemModel::hasChildren(const QModelIndex &parent) const`.
[override virtual] QVariant QFileSystemModel::headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const
Implementiert neu: ` QAbstractItemModel::headerData(int section, Qt::Orientation orientation, int role) const`.
QAbstractFileIconProvider *QFileSystemModel::iconProvider() const
Gibt den Dateisymbol-Anbieter für dieses Verzeichnismodell zurück.
Siehe auch ` setIconProvider()`.
[override virtual] QModelIndex QFileSystemModel::index(int row, int column, const QModelIndex &parent = QModelIndex()) const
Implementiert: ` QAbstractItemModel::index(int row, int column, const QModelIndex &parent) const`.
QModelIndex QFileSystemModel::index(const QString &path, int column = 0) const
Gibt den Modellelementindex für die angegebenen Werte „ path “ und „ column “ zurück.
Dies ist eine überladene Funktion.
bool QFileSystemModel::isDir(const QModelIndex &index) const
Gibt „ true “ zurück, wenn das Modellelement „ index “ ein Verzeichnis darstellt; andernfalls wird „ false “ zurückgegeben.
QDateTime QFileSystemModel::lastModified(const QModelIndex &index) const
Gibt das Datum und die Uhrzeit (in Ortszeit) zurück, zu der „ index “ zuletzt geändert wurde.
Dies ist eine überladene Funktion, die dem Aufruf von
lastModified(index, QTimeZone::LocalTime);Ist index ungültig, wird ein standardmäßig initialisiertes QDateTime zurückgegeben.
[since 6.6] QDateTime QFileSystemModel::lastModified(const QModelIndex &index, const QTimeZone &tz) const
Gibt das Datum und die Uhrzeit in der Zeitzone tz zurück, zu der index zuletzt geändert wurde.
Typische Argumente für ` tz ` sind ` QTimeZone::UTC ` oder ` QTimeZone::LocalTime`. UTC erfordert keine Umrechnung der von der nativen Dateisystem-API zurückgegebenen Zeit, daher ist die Abfrage der Zeit in UTC potenziell schneller. `LocalTime` wird in der Regel gewählt, wenn die Zeit dem Benutzer angezeigt wird.
Ist ` index ` ungültig, wird ein standardmäßig konstruiertes ` QDateTime ` zurückgegeben.
Diese Funktion wurde in Qt 6.6 eingeführt.
[override virtual] QMimeData *QFileSystemModel::mimeData(const QModelIndexList &indexes) const
Implementiert: ` QAbstractItemModel::mimeData(const QModelIndexList &indexes) const`.
Gibt ein Objekt zurück, das eine serialisierte Beschreibung der angegebenen ` indexes` enthält. Das Format, in dem die den Indizes entsprechenden Elemente beschrieben werden, wird von der Funktion ` mimeTypes()` bereitgestellt.
Ist die Liste der Indizes leer, wird nullptr zurückgegeben, anstatt einer serialisierten leeren Liste.
[override virtual] QStringList QFileSystemModel::mimeTypes() const
Implementiert neu: ` QAbstractItemModel::mimeTypes()` const.
Gibt eine Liste von MIME-Typen zurück, die zur Beschreibung einer Liste von Elementen im Modell verwendet werden können.
QModelIndex QFileSystemModel::mkdir(const QModelIndex &parent, const QString &name)
Erstellen Sie im Modellindex „ parent “ ein Verzeichnis mit dem Namen „ name “.
QVariant QFileSystemModel::myComputer(int role = Qt::DisplayRole) const
Gibt die unter der angegebenen role für den Eintrag „Arbeitsplatz“ gespeicherten Daten zurück.
Siehe auch „ Qt::ItemDataRole “.
QStringList QFileSystemModel::nameFilters() const
Gibt eine Liste der Filter zurück, die auf die Namen im Modell angewendet wurden.
Siehe auch setNameFilters().
[override virtual] QModelIndex QFileSystemModel::parent(const QModelIndex &index) const
Implementiert neu: ` QAbstractItemModel::parent(const QModelIndex &index) const`.
QFileDevice::Permissions QFileSystemModel::permissions(const QModelIndex &index) const
Gibt die vollständige, mit „OR“ verknüpfte Kombination von QFile::Permission für die „ index “ zurück.
bool QFileSystemModel::remove(const QModelIndex &index)
Entfernt das Modellelement „ index “ aus dem Dateisystemmodell und löscht die entsprechende Datei aus dem Dateisystem; bei Erfolg wird „true“ zurückgegeben. Kann das Element nicht entfernt werden, wird „false“ zurückgegeben.
Warnung: Diese Funktion löscht Dateien aus dem Dateisystem; sie verschiebt sie nicht an einen Ort, an dem sie wiederhergestellt werden können.
Siehe auch rmdir().
bool QFileSystemModel::rmdir(const QModelIndex &index)
Entfernt das Verzeichnis, das dem Modellelement „ index “ im Dateisystemmodell entspricht, und löscht das entsprechende Verzeichnis aus dem Dateisystem. Bei Erfolg wird „true“ zurückgegeben. Kann das Verzeichnis nicht entfernt werden, wird „false“ zurückgegeben.
Warnung: Diese Funktion löscht Verzeichnisse aus dem Dateisystem; sie verschiebt sie nicht an einen Ort, an dem sie wiederhergestellt werden können.
Siehe auch remove().
[override virtual] QHash<int, QByteArray> QFileSystemModel::roleNames() const
Implementiert erneut: ` QAbstractItemModel::roleNames()` const.
QDir QFileSystemModel::rootDirectory() const
Das aktuell festgelegte Verzeichnis
Siehe auch rootPath().
QString QFileSystemModel::rootPath() const
Der derzeit festgelegte Stammpfad
Siehe auch setRootPath() und rootDirectory().
[signal] void QFileSystemModel::rootPathChanged(const QString &newPath)
Dieses Signal wird immer dann ausgelöst, wenn der Stammpfad auf newPath geändert wurde.
[override virtual] int QFileSystemModel::rowCount(const QModelIndex &parent = QModelIndex()) const
Implementiert neu: ` QAbstractItemModel::rowCount(const QModelIndex &parent) const`.
[override virtual] bool QFileSystemModel::setData(const QModelIndex &idx, const QVariant &value, int role = Qt::EditRole)
Implementiert: ` QAbstractItemModel::setData` (const QModelIndex &index, const QVariant &value, int role).
Siehe auch data().
void QFileSystemModel::setFilter(QDir::Filters filters)
Setzt den Filter des Verzeichnismodells auf den unter filters angegebenen Wert.
Beachten Sie, dass der von Ihnen festgelegte Filter immer den Enum-Wert „ QDir::AllDirs “ enthalten sollte, da „ QFileSystemModel “ andernfalls die Verzeichnisstruktur nicht lesen kann.
Siehe auch filter() und QDir::Filters.
void QFileSystemModel::setIconProvider(QAbstractFileIconProvider *provider)
Legt die „ provider “ der Dateisymbole für das Verzeichnismodell fest.
Siehe auch ` iconProvider()`.
void QFileSystemModel::setNameFilters(const QStringList &filters)
Legt den Namen „ filters “ fest, der auf die vorhandenen Dateien angewendet werden soll.
Siehe auch nameFilters().
void QFileSystemModel::setOption(QFileSystemModel::Option option, bool on = true)
Legt fest, dass die angegebene Eigenschaft „ option “ aktiviert wird, wenn „ on “ auf „true“ gesetzt ist; andernfalls wird die angegebene Eigenschaft „ option “ zurückgesetzt.
Optionen sollten vor dem Ändern von Eigenschaften festgelegt werden.
Siehe auch options und testOption().
QModelIndex QFileSystemModel::setRootPath(const QString &newPath)
Legt das vom Modell überwachte Verzeichnis auf „ newPath “ fest, indem ein „ file system watcher “ darin installiert wird. Alle Änderungen an Dateien und Verzeichnissen innerhalb dieses Verzeichnisses werden im Modell berücksichtigt.
Wird der Pfad geändert, wird das Signal „ rootPathChanged()“ ausgelöst.
Hinweis: Diese Funktion ändert weder die Struktur des Modells noch die für Ansichten verfügbaren Daten. Mit anderen Worten: Die „Wurzel“ des Modells wird nicht so geändert, dass sie nur noch Dateien und Verzeichnisse innerhalb des durch ` newPath ` angegebenen Verzeichnisses im Dateisystem umfasst.
Siehe auch „ rootPath()“, „ QTreeView::setRootIndex()“ und „ TreeView::rootIndex “.
[override virtual] QModelIndex QFileSystemModel::sibling(int row, int column, const QModelIndex &idx) const
Implementiert neu: ` QAbstractItemModel::sibling(int row, int column, const QModelIndex &index) const`.
qint64 QFileSystemModel::size(const QModelIndex &index) const
Gibt die Größe von „ index “ in Byte zurück. Wenn die Datei nicht existiert, wird 0 zurückgegeben.
[override virtual] void QFileSystemModel::sort(int column, Qt::SortOrder order = Qt::AscendingOrder)
Implementiert: QAbstractItemModel::sort(int column, Qt::SortOrder order).
[override virtual] Qt::DropActions QFileSystemModel::supportedDropActions() const
Implementiert: ` QAbstractItemModel::supportedDropActions()` const.
bool QFileSystemModel::testOption(QFileSystemModel::Option option) const
Gibt „ true “ zurück, wenn die angegebene Funktion „ option “ aktiviert ist; andernfalls wird „false“ zurückgegeben.
Siehe auch ` options ` und ` setOption()`.
[override virtual protected] void QFileSystemModel::timerEvent(QTimerEvent *event)
Implementiert: ` QObject::timerEvent` (`QTimerEvent *event`).
QString QFileSystemModel::type(const QModelIndex &index) const
Gibt den Dateityp index zurück, z. B. „Verzeichnis“ oder „JPEG-Datei“.
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.