diff options
Diffstat (limited to 'examples/widgets/itemviews/storageview')
5 files changed, 0 insertions, 435 deletions
diff --git a/examples/widgets/itemviews/storageview/CMakeLists.txt b/examples/widgets/itemviews/storageview/CMakeLists.txt deleted file mode 100644 index 22f1724ed1..0000000000 --- a/examples/widgets/itemviews/storageview/CMakeLists.txt +++ /dev/null @@ -1,40 +0,0 @@ -# Generated from storageview.pro. - -cmake_minimum_required(VERSION 3.16) -project(storageview LANGUAGES CXX) - -set(CMAKE_INCLUDE_CURRENT_DIR ON) - -set(CMAKE_AUTOMOC ON) -set(CMAKE_AUTORCC ON) -set(CMAKE_AUTOUIC ON) - -if(NOT DEFINED INSTALL_EXAMPLESDIR) - set(INSTALL_EXAMPLESDIR "examples") -endif() - -set(INSTALL_EXAMPLEDIR "${INSTALL_EXAMPLESDIR}/widgets/itemviews/storageview") - -find_package(Qt6 COMPONENTS Core) -find_package(Qt6 COMPONENTS Gui) -find_package(Qt6 COMPONENTS Widgets) - -qt_add_executable(storageview - main.cpp - storagemodel.cpp storagemodel.h -) -set_target_properties(storageview PROPERTIES - WIN32_EXECUTABLE TRUE - MACOSX_BUNDLE TRUE -) -target_link_libraries(storageview PUBLIC - Qt::Core - Qt::Gui - Qt::Widgets -) - -install(TARGETS storageview - RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}" - BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}" - LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}" -) diff --git a/examples/widgets/itemviews/storageview/main.cpp b/examples/widgets/itemviews/storageview/main.cpp deleted file mode 100644 index 5505d8a984..0000000000 --- a/examples/widgets/itemviews/storageview/main.cpp +++ /dev/null @@ -1,79 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2016 The Qt Company Ltd. -** Copyright (C) 2016 Ivan Komissarov -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the examples of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:BSD$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** BSD License Usage -** Alternatively, you may use this file under the terms of the BSD license -** as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of The Qt Company Ltd nor the names of its -** contributors may be used to endorse or promote products derived -** from this software without specific prior written permission. -** -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include <QApplication> -#include <QShortcut> -#include <QTreeView> - -#include "storagemodel.h" - -int main(int argc, char *argv[]) -{ - QApplication a(argc, argv); - - QTreeView view; - view.resize(640, 480); - view.setWindowTitle("Storage View"); - view.setSelectionBehavior(QAbstractItemView::SelectRows); - - StorageModel *model = new StorageModel(&view); - model->refresh(); - QShortcut *refreshShortcut = new QShortcut(QKeySequence::Refresh, &view); - QObject::connect(refreshShortcut, &QShortcut::activated, model, &StorageModel::refresh); - view.setModel(model); - - int columnCount = view.model()->columnCount(); - for (int c = 0; c < columnCount; ++c) - view.resizeColumnToContents(c); - view.show(); - - return a.exec(); -} diff --git a/examples/widgets/itemviews/storageview/storagemodel.cpp b/examples/widgets/itemviews/storageview/storagemodel.cpp deleted file mode 100644 index b98fc8445c..0000000000 --- a/examples/widgets/itemviews/storageview/storagemodel.cpp +++ /dev/null @@ -1,211 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2016 The Qt Company Ltd. -** Copyright (C) 2016 Ivan Komissarov -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the examples of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:BSD$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** BSD License Usage -** Alternatively, you may use this file under the terms of the BSD license -** as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of The Qt Company Ltd nor the names of its -** contributors may be used to endorse or promote products derived -** from this software without specific prior written permission. -** -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include "storagemodel.h" - -#include <QDir> -#include <QLocale> - -void StorageModel::refresh() -{ - beginResetModel(); - m_volumes = QStorageInfo::mountedVolumes(); - std::sort(m_volumes.begin(), m_volumes.end(), - [](const QStorageInfo &st1, const QStorageInfo &st2) { - static const QString rootSortString = QStringLiteral(" "); - return (st1.isRoot() ? rootSortString : st1.rootPath()) - < (st2.isRoot() ? rootSortString : st2.rootPath()); - }); - endResetModel(); -} - -int StorageModel::columnCount(const QModelIndex &/*parent*/) const -{ - return ColumnCount; -} - -int StorageModel::rowCount(const QModelIndex &parent) const -{ - if (parent.isValid()) - return 0; - return m_volumes.count(); -} - -Qt::ItemFlags StorageModel::flags(const QModelIndex &index) const -{ - Qt::ItemFlags result = QAbstractTableModel::flags(index); - switch (index.column()) { - case ColumnAvailable: - case ColumnIsReady: - case ColumnIsReadOnly: - case ColumnIsValid: - result |= Qt::ItemIsUserCheckable; - break; - default: - break; - } - return result; -} - -QVariant StorageModel::data(const QModelIndex &index, int role) const -{ - if (!index.isValid()) - return QVariant(); - - if (role == Qt::DisplayRole) { - const QStorageInfo &volume = m_volumes.at(index.row()); - switch (index.column()) { - case ColumnRootPath: - return QDir::toNativeSeparators(volume.rootPath()); - case ColumnName: - return volume.name(); - case ColumnDevice: - return volume.device(); - case ColumnFileSystemName: - return volume.fileSystemType(); - case ColumnTotal: - return QLocale().formattedDataSize(volume.bytesTotal()); - case ColumnFree: - return QLocale().formattedDataSize(volume.bytesFree()); - case ColumnAvailable: - return QLocale().formattedDataSize(volume.bytesAvailable()); - default: - break; - } - } else if (role == Qt::CheckStateRole) { - const QStorageInfo &volume = m_volumes.at(index.row()); - switch (index.column()) { - case ColumnIsReady: - return volume.isReady(); - case ColumnIsReadOnly: - return volume.isReadOnly(); - case ColumnIsValid: - return volume.isValid(); - default: - break; - } - } else if (role == Qt::TextAlignmentRole) { - switch (index.column()) { - case ColumnTotal: - case ColumnFree: - case ColumnAvailable: - return Qt::AlignTrailing; - default: - break; - } - return Qt::AlignLeading; - } else if (role == Qt::ToolTipRole) { - QLocale locale; - const QStorageInfo &volume = m_volumes.at(index.row()); - return tr("Root path : %1\n" - "Name: %2\n" - "Display Name: %3\n" - "Device: %4\n" - "FileSystem: %5\n" - "Total size: %6\n" - "Free size: %7\n" - "Available size: %8\n" - "Is Ready: %9\n" - "Is Read-only: %10\n" - "Is Valid: %11\n" - "Is Root: %12" - ). - arg(QDir::toNativeSeparators(volume.rootPath())). - arg(volume.name()). - arg(volume.displayName()). - arg(QString::fromUtf8(volume.device())). - arg(QString::fromUtf8(volume.fileSystemType())). - arg(locale.formattedDataSize(volume.bytesTotal())). - arg(locale.formattedDataSize(volume.bytesFree())). - arg(locale.formattedDataSize(volume.bytesAvailable())). - arg(volume.isReady() ? tr("true") : tr("false")). - arg(volume.isReadOnly() ? tr("true") : tr("false")). - arg(volume.isValid() ? tr("true") : tr("false")). - arg(volume.isRoot() ? tr("true") : tr("false")); - } - return QVariant(); -} - -QVariant StorageModel::headerData(int section, Qt::Orientation orientation, int role) const -{ - if (orientation != Qt::Horizontal) - return QVariant(); - - if (role != Qt::DisplayRole) - return QVariant(); - - switch (section) { - case ColumnRootPath: - return tr("Root Path"); - case ColumnName: - return tr("Volume Name"); - case ColumnDevice: - return tr("Device"); - case ColumnFileSystemName: - return tr("File System"); - case ColumnTotal: - return tr("Total"); - case ColumnFree: - return tr("Free"); - case ColumnAvailable: - return tr("Available"); - case ColumnIsReady: - return tr("Ready"); - case ColumnIsReadOnly: - return tr("Read-only"); - case ColumnIsValid: - return tr("Valid"); - default: - break; - } - - return QVariant(); -} diff --git a/examples/widgets/itemviews/storageview/storagemodel.h b/examples/widgets/itemviews/storageview/storagemodel.h deleted file mode 100644 index 597218c220..0000000000 --- a/examples/widgets/itemviews/storageview/storagemodel.h +++ /dev/null @@ -1,93 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2016 The Qt Company Ltd. -** Copyright (C) 2016 Ivan Komissarov -** Contact: https://www.qt.io/licensing/ -** -** This file is part of the examples of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:BSD$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** BSD License Usage -** Alternatively, you may use this file under the terms of the BSD license -** as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of The Qt Company Ltd nor the names of its -** contributors may be used to endorse or promote products derived -** from this software without specific prior written permission. -** -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#ifndef STORAGEMODEL_H -#define STORAGEMODEL_H - -#include <QAbstractTableModel> -#include <QStorageInfo> - -class StorageModel : public QAbstractTableModel -{ - Q_OBJECT - Q_DISABLE_COPY(StorageModel) -public: - enum Column { - ColumnRootPath = 0, - ColumnName, - ColumnDevice, - ColumnFileSystemName, - ColumnTotal, - ColumnFree, - ColumnAvailable, - ColumnIsReady, - ColumnIsReadOnly, - ColumnIsValid, - ColumnCount - }; - - using QAbstractTableModel::QAbstractTableModel; - - int columnCount(const QModelIndex &parent) const override; - int rowCount(const QModelIndex &parent) const override; - - QVariant data(const QModelIndex &index, int role) const override; - Qt::ItemFlags flags(const QModelIndex &index) const override; - QVariant headerData(int section, Qt::Orientation orientation, int role) const override; - -public slots: - void refresh(); - -private: - QList<QStorageInfo> m_volumes; -}; - -#endif // STORAGEMODEL_H diff --git a/examples/widgets/itemviews/storageview/storageview.pro b/examples/widgets/itemviews/storageview/storageview.pro deleted file mode 100644 index 2fdb78e7b8..0000000000 --- a/examples/widgets/itemviews/storageview/storageview.pro +++ /dev/null @@ -1,12 +0,0 @@ -QT += core gui widgets -requires(qtConfig(treeview)) -TARGET = storageview -TEMPLATE = app -SOURCES += storagemodel.cpp \ - main.cpp -HEADERS += \ - storagemodel.h - -# install -target.path = $$[QT_INSTALL_EXAMPLES]/widgets/itemviews/storageview -INSTALLS += target |