Remove OpenVG from qtbase.
Acked-by: Samuel Rødal <samuel.rodal@nokia.com>
This commit is contained in:
parent
54f9a04fd8
commit
2d26fda6e1
@ -50,7 +50,6 @@ qpa:SUBDIRS += qpa
|
|||||||
embedded:SUBDIRS += qws
|
embedded:SUBDIRS += qws
|
||||||
contains(QT_BUILD_PARTS, tools):!contains(QT_CONFIG, no-gui):SUBDIRS += qtestlib
|
contains(QT_BUILD_PARTS, tools):!contains(QT_CONFIG, no-gui):SUBDIRS += qtestlib
|
||||||
contains(QT_CONFIG, opengl): SUBDIRS += opengl
|
contains(QT_CONFIG, opengl): SUBDIRS += opengl
|
||||||
contains(QT_CONFIG, openvg): SUBDIRS += openvg
|
|
||||||
contains(QT_CONFIG, dbus): SUBDIRS += dbus
|
contains(QT_CONFIG, dbus): SUBDIRS += dbus
|
||||||
contains(DEFINES, QT_NO_CURSOR): SUBDIRS -= mainwindows
|
contains(DEFINES, QT_NO_CURSOR): SUBDIRS -= mainwindows
|
||||||
contains(QT_CONFIG, concurrent): SUBDIRS += qtconcurrent
|
contains(QT_CONFIG, concurrent): SUBDIRS += qtconcurrent
|
||||||
|
@ -1,40 +0,0 @@
|
|||||||
Qt provides support for integration with OpenVG implementations on
|
|
||||||
platforms with appropriate hardware acceleration.
|
|
||||||
|
|
||||||
These examples demonstrate the basic techniques used to take advantage of
|
|
||||||
OpenVG in Qt applications. In particular, the "star" example shows how
|
|
||||||
to mix QPainter and OpenVG calls in the same paint event.
|
|
||||||
|
|
||||||
The example launcher provided with Qt can be used to explore each of the
|
|
||||||
examples in this directory.
|
|
||||||
|
|
||||||
Documentation for these examples can be found via the Tutorial and Examples
|
|
||||||
link in the main Qt documentation.
|
|
||||||
|
|
||||||
|
|
||||||
Finding the Qt Examples and Demos launcher
|
|
||||||
==========================================
|
|
||||||
|
|
||||||
On Windows:
|
|
||||||
|
|
||||||
The launcher can be accessed via the Windows Start menu. Select the menu
|
|
||||||
entry entitled "Qt Examples and Demos" entry in the submenu containing
|
|
||||||
the Qt tools.
|
|
||||||
|
|
||||||
On Mac OS X:
|
|
||||||
|
|
||||||
For the binary distribution, the qtdemo executable is installed in the
|
|
||||||
/Developer/Applications/Qt directory. For the source distribution, it is
|
|
||||||
installed alongside the other Qt tools on the path specified when Qt is
|
|
||||||
configured.
|
|
||||||
|
|
||||||
On Unix/Linux:
|
|
||||||
|
|
||||||
The qtdemo executable is installed alongside the other Qt tools on the path
|
|
||||||
specified when Qt is configured.
|
|
||||||
|
|
||||||
On all platforms:
|
|
||||||
|
|
||||||
The source code for the launcher can be found in the demos/qtdemo directory
|
|
||||||
in the Qt package. This example is built at the same time as the Qt libraries,
|
|
||||||
tools, examples, and demonstrations.
|
|
@ -1,11 +0,0 @@
|
|||||||
[Desktop Entry]
|
|
||||||
Encoding=UTF-8
|
|
||||||
Version=1.0
|
|
||||||
Type=Application
|
|
||||||
Terminal=false
|
|
||||||
Name=OpenVG Star
|
|
||||||
Exec=/opt/usr/bin/openvg
|
|
||||||
Icon=openvg
|
|
||||||
X-Window-Icon=
|
|
||||||
X-HildonDesk-ShowInToolbar=true
|
|
||||||
X-Osso-Type=application/x-executable
|
|
@ -1,10 +0,0 @@
|
|||||||
TEMPLATE = subdirs
|
|
||||||
SUBDIRS = star
|
|
||||||
|
|
||||||
# install
|
|
||||||
target.path = $$[QT_INSTALL_EXAMPLES]/qtbase/openvg
|
|
||||||
sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS openvg.pro README
|
|
||||||
sources.path = $$[QT_INSTALL_EXAMPLES]/qtbase/openvg
|
|
||||||
INSTALLS += target sources
|
|
||||||
QT += widgets
|
|
||||||
|
|
@ -1,53 +0,0 @@
|
|||||||
/****************************************************************************
|
|
||||||
**
|
|
||||||
** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
|
|
||||||
** All rights reserved.
|
|
||||||
** Contact: Nokia Corporation (qt-info@nokia.com)
|
|
||||||
**
|
|
||||||
** This file is part of the QtOpenGL module of the Qt Toolkit.
|
|
||||||
**
|
|
||||||
** $QT_BEGIN_LICENSE:BSD$
|
|
||||||
** 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 Nokia Corporation and its Subsidiary(-ies) 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 "starwidget.h"
|
|
||||||
|
|
||||||
int main(int argc, char *argv[])
|
|
||||||
{
|
|
||||||
#ifdef Q_OS_SYMBIAN
|
|
||||||
QApplication::setGraphicsSystem("openvg");
|
|
||||||
#endif
|
|
||||||
QApplication app(argc, argv);
|
|
||||||
StarWidget mw;
|
|
||||||
mw.show();
|
|
||||||
return app.exec();
|
|
||||||
}
|
|
@ -1,7 +0,0 @@
|
|||||||
TEMPLATE = app
|
|
||||||
TARGET = star
|
|
||||||
CONFIG += qt debug warn_on
|
|
||||||
QT += openvg widgets
|
|
||||||
SOURCES = starwidget.cpp main.cpp
|
|
||||||
HEADERS = starwidget.h
|
|
||||||
LIBS += $$QMAKE_LIBS_OPENVG
|
|
@ -1,115 +0,0 @@
|
|||||||
/****************************************************************************
|
|
||||||
**
|
|
||||||
** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
|
|
||||||
** All rights reserved.
|
|
||||||
** Contact: Nokia Corporation (qt-info@nokia.com)
|
|
||||||
**
|
|
||||||
** This file is part of the QtOpenGL module of the Qt Toolkit.
|
|
||||||
**
|
|
||||||
** $QT_BEGIN_LICENSE:BSD$
|
|
||||||
** 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 Nokia Corporation and its Subsidiary(-ies) 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 "starwidget.h"
|
|
||||||
|
|
||||||
StarWidget::StarWidget(QWidget *parent)
|
|
||||||
: QWidget(parent)
|
|
||||||
, path(VG_INVALID_HANDLE)
|
|
||||||
, pen(Qt::red, 4.0, Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin)
|
|
||||||
, brush(Qt::yellow)
|
|
||||||
{
|
|
||||||
setMinimumSize(220, 250);
|
|
||||||
setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding);
|
|
||||||
}
|
|
||||||
|
|
||||||
static VGubyte const starSegments[] = {
|
|
||||||
VG_MOVE_TO_ABS,
|
|
||||||
VG_LINE_TO_REL,
|
|
||||||
VG_LINE_TO_REL,
|
|
||||||
VG_LINE_TO_REL,
|
|
||||||
VG_LINE_TO_REL,
|
|
||||||
VG_CLOSE_PATH
|
|
||||||
};
|
|
||||||
static VGfloat const starCoords[] = {
|
|
||||||
110, 35,
|
|
||||||
50, 160,
|
|
||||||
-130, -100,
|
|
||||||
160, 0,
|
|
||||||
-130, 100
|
|
||||||
};
|
|
||||||
|
|
||||||
void StarWidget::paintEvent(QPaintEvent *)
|
|
||||||
{
|
|
||||||
QPainter painter;
|
|
||||||
painter.begin(this);
|
|
||||||
|
|
||||||
// Make sure that we are using the OpenVG paint engine.
|
|
||||||
if (painter.paintEngine()->type() != QPaintEngine::OpenVG) {
|
|
||||||
#ifdef Q_WS_QWS
|
|
||||||
qWarning("Not using OpenVG: use the '-display' option to specify an OpenVG driver");
|
|
||||||
#else
|
|
||||||
qWarning("Not using OpenVG: specify '-graphicssystem OpenVG'");
|
|
||||||
#endif
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Select a pen and a brush for drawing the star.
|
|
||||||
painter.setPen(pen);
|
|
||||||
painter.setBrush(brush);
|
|
||||||
|
|
||||||
// We want the star border to be anti-aliased.
|
|
||||||
painter.setRenderHints(QPainter::Antialiasing);
|
|
||||||
|
|
||||||
// Flush the state changes to the OpenVG implementation
|
|
||||||
// and prepare to perform raw OpenVG calls.
|
|
||||||
painter.beginNativePainting();
|
|
||||||
|
|
||||||
// Cache the path if we haven't already or if the path has
|
|
||||||
// become invalid because the window's context has changed.
|
|
||||||
if (path == VG_INVALID_HANDLE || !vgGetPathCapabilities(path)) {
|
|
||||||
path = vgCreatePath(VG_PATH_FORMAT_STANDARD,
|
|
||||||
VG_PATH_DATATYPE_F,
|
|
||||||
1.0f, // scale
|
|
||||||
0.0f, // bias
|
|
||||||
6, // segmentCapacityHint
|
|
||||||
10, // coordCapacityHint
|
|
||||||
VG_PATH_CAPABILITY_ALL);
|
|
||||||
vgAppendPathData(path, sizeof(starSegments), starSegments, starCoords);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Draw the star directly using the OpenVG API.
|
|
||||||
vgDrawPath(path, VG_FILL_PATH | VG_STROKE_PATH);
|
|
||||||
|
|
||||||
// Restore normal QPainter operations.
|
|
||||||
painter.endNativePainting();
|
|
||||||
|
|
||||||
painter.end();
|
|
||||||
}
|
|
@ -1,65 +0,0 @@
|
|||||||
/****************************************************************************
|
|
||||||
**
|
|
||||||
** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
|
|
||||||
** All rights reserved.
|
|
||||||
** Contact: Nokia Corporation (qt-info@nokia.com)
|
|
||||||
**
|
|
||||||
** This file is part of the QtOpenGL module of the Qt Toolkit.
|
|
||||||
**
|
|
||||||
** $QT_BEGIN_LICENSE:BSD$
|
|
||||||
** 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 Nokia Corporation and its Subsidiary(-ies) 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 STARWIDGET_H
|
|
||||||
#define STARWIDGET_H
|
|
||||||
|
|
||||||
#include <QWidget>
|
|
||||||
#include <QPainter>
|
|
||||||
#include <QPaintEngine>
|
|
||||||
#include "qvg.h"
|
|
||||||
|
|
||||||
class StarWidget : public QWidget
|
|
||||||
{
|
|
||||||
Q_OBJECT
|
|
||||||
public:
|
|
||||||
StarWidget(QWidget *parent = 0);
|
|
||||||
~StarWidget() {}
|
|
||||||
|
|
||||||
protected:
|
|
||||||
void paintEvent(QPaintEvent *);
|
|
||||||
|
|
||||||
private:
|
|
||||||
VGPath path;
|
|
||||||
QPen pen;
|
|
||||||
QBrush brush;
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif
|
|
@ -16,7 +16,6 @@ nacl: SRC_SUBDIRS -= src_network src_testlib
|
|||||||
contains(QT_CONFIG, no-gui): SRC_SUBDIRS -= src_gui
|
contains(QT_CONFIG, no-gui): SRC_SUBDIRS -= src_gui
|
||||||
|
|
||||||
contains(QT_CONFIG, opengl)|contains(QT_CONFIG, opengles1)|contains(QT_CONFIG, opengles2): SRC_SUBDIRS += src_opengl
|
contains(QT_CONFIG, opengl)|contains(QT_CONFIG, opengles1)|contains(QT_CONFIG, opengles2): SRC_SUBDIRS += src_opengl
|
||||||
contains(QT_CONFIG, openvg): SRC_SUBDIRS += src_openvg
|
|
||||||
SRC_SUBDIRS += src_plugins
|
SRC_SUBDIRS += src_plugins
|
||||||
|
|
||||||
# s60installs need to be at the end, because qtbase.pro does an ordered build,
|
# s60installs need to be at the end, because qtbase.pro does an ordered build,
|
||||||
@ -45,8 +44,6 @@ src_network.subdir = $$QT_SOURCE_TREE/src/network
|
|||||||
src_network.target = sub-network
|
src_network.target = sub-network
|
||||||
src_opengl.subdir = $$QT_SOURCE_TREE/src/opengl
|
src_opengl.subdir = $$QT_SOURCE_TREE/src/opengl
|
||||||
src_opengl.target = sub-opengl
|
src_opengl.target = sub-opengl
|
||||||
src_openvg.subdir = $$QT_SOURCE_TREE/src/openvg
|
|
||||||
src_openvg.target = sub-openvg
|
|
||||||
src_plugins.subdir = $$QT_SOURCE_TREE/src/plugins
|
src_plugins.subdir = $$QT_SOURCE_TREE/src/plugins
|
||||||
src_plugins.target = sub-plugins
|
src_plugins.target = sub-plugins
|
||||||
src_widgets.subdir = $$QT_SOURCE_TREE/src/widgets
|
src_widgets.subdir = $$QT_SOURCE_TREE/src/widgets
|
||||||
@ -65,7 +62,6 @@ src_testlib.target = sub-testlib
|
|||||||
src_dbus.depends = src_corelib src_xml
|
src_dbus.depends = src_corelib src_xml
|
||||||
src_network.depends = src_corelib
|
src_network.depends = src_corelib
|
||||||
src_opengl.depends = src_gui src_widgets
|
src_opengl.depends = src_gui src_widgets
|
||||||
src_openvg.depends = src_gui
|
|
||||||
src_sql.depends = src_corelib
|
src_sql.depends = src_corelib
|
||||||
src_testlib.depends = src_corelib src_gui src_widgets
|
src_testlib.depends = src_corelib src_gui src_widgets
|
||||||
src_tools_idc.depends = src_corelib # target defined in tools.pro
|
src_tools_idc.depends = src_corelib # target defined in tools.pro
|
||||||
|
@ -5,5 +5,3 @@ CONFIG += uitools
|
|||||||
|
|
||||||
contains(QT_CONFIG,dbus): QT += dbus
|
contains(QT_CONFIG,dbus): QT += dbus
|
||||||
contains(QT_CONFIG,opengl): QT += opengl
|
contains(QT_CONFIG,opengl): QT += opengl
|
||||||
contains(QT_CONFIG,openvg): QT += openvg
|
|
||||||
|
|
||||||
|
@ -64,10 +64,6 @@
|
|||||||
#include <QtDBus/QtDBus>
|
#include <QtDBus/QtDBus>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef QT_NO_OPENVG
|
|
||||||
#include <QtOpenVG/QtOpenVG>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
class tst_HeadersClean: public QObject
|
class tst_HeadersClean: public QObject
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
@ -5,5 +5,4 @@ QT += gui-private
|
|||||||
SOURCES += tst_nativeimagehandleprovider.cpp
|
SOURCES += tst_nativeimagehandleprovider.cpp
|
||||||
symbian {
|
symbian {
|
||||||
LIBS += -lfbscli -lbitgdi
|
LIBS += -lfbscli -lbitgdi
|
||||||
contains(QT_CONFIG, openvg): QT *= openvg
|
|
||||||
}
|
}
|
||||||
|
@ -25,10 +25,6 @@ wince*: {
|
|||||||
DEPLOYMENT_PLUGIN += qico
|
DEPLOYMENT_PLUGIN += qico
|
||||||
} else:symbian {
|
} else:symbian {
|
||||||
LIBS += -lfbscli.dll -lbitgdi.dll -lgdi.dll
|
LIBS += -lfbscli.dll -lbitgdi.dll -lgdi.dll
|
||||||
contains(QT_CONFIG, openvg) {
|
|
||||||
LIBS += $$QMAKE_LIBS_OPENVG
|
|
||||||
QT *= openvg
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
DEFINES += SRCDIR=\\\"$$PWD\\\"
|
DEFINES += SRCDIR=\\\"$$PWD\\\"
|
||||||
win32:LIBS += -lgdi32 -luser32
|
win32:LIBS += -lgdi32 -luser32
|
||||||
|
Loading…
Reference in New Issue
Block a user