d34409ad02ea0d28e08a6c4b089a412fdb3b4c9cvboxsync * VBox Qt GUI - VirtualBox Qt extensions: QIRichTextLabel class implementation.
70b7f4772418e18c9c140e0656cad6f4cdda7527vboxsync * Copyright (C) 2012 Oracle Corporation
70b7f4772418e18c9c140e0656cad6f4cdda7527vboxsync * This file is part of VirtualBox Open Source Edition (OSE), as
70b7f4772418e18c9c140e0656cad6f4cdda7527vboxsync * available from http://www.virtualbox.org. This file is free software;
70b7f4772418e18c9c140e0656cad6f4cdda7527vboxsync * you can redistribute it and/or modify it under the terms of the GNU
70b7f4772418e18c9c140e0656cad6f4cdda7527vboxsync * General Public License (GPL) as published by the Free Software
70b7f4772418e18c9c140e0656cad6f4cdda7527vboxsync * Foundation, in version 2 as it comes in the "COPYING" file of the
70b7f4772418e18c9c140e0656cad6f4cdda7527vboxsync * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
70b7f4772418e18c9c140e0656cad6f4cdda7527vboxsync * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
a9b62afc62b28da7a1a77f34259f8013892d9664vboxsync#else /* !VBOX_WITH_PRECOMPILED_HEADERS */
70b7f4772418e18c9c140e0656cad6f4cdda7527vboxsync/* Global includes: */
70b7f4772418e18c9c140e0656cad6f4cdda7527vboxsync/* Local includes: */
a9b62afc62b28da7a1a77f34259f8013892d9664vboxsync#endif /* !VBOX_WITH_PRECOMPILED_HEADERS */
70b7f4772418e18c9c140e0656cad6f4cdda7527vboxsync/* Constructor: */
cc160154983fdb816d385031bc2b50b2433ea855vboxsync /* Setup self: */
cc160154983fdb816d385031bc2b50b2433ea855vboxsync setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::Fixed);
70b7f4772418e18c9c140e0656cad6f4cdda7527vboxsync /* Setup text-edit: */
70b7f4772418e18c9c140e0656cad6f4cdda7527vboxsync m_pTextEdit->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
70b7f4772418e18c9c140e0656cad6f4cdda7527vboxsync m_pTextEdit->setSizePolicy(QSizePolicy::Ignored, QSizePolicy::Ignored);
35b2796df95e871101bebb55b92df1080532166dvboxsync /* Tune text-edit viewport palette: */
35b2796df95e871101bebb55b92df1080532166dvboxsync m_pTextEdit->viewport()->setAutoFillBackground(false);
35b2796df95e871101bebb55b92df1080532166dvboxsync pal.setColor(QPalette::Active, QPalette::Text, pal.color(QPalette::Active, QPalette::WindowText));
35b2796df95e871101bebb55b92df1080532166dvboxsync pal.setColor(QPalette::Inactive, QPalette::Text, pal.color(QPalette::Inactive, QPalette::WindowText));
35b2796df95e871101bebb55b92df1080532166dvboxsync pal.setColor(QPalette::Disabled, QPalette::Text, pal.color(QPalette::Disabled, QPalette::WindowText));
70b7f4772418e18c9c140e0656cad6f4cdda7527vboxsync /* Add into parent: */
cc160154983fdb816d385031bc2b50b2433ea855vboxsync/* Text getter: */
b1e7bd9b836768429ce3f7df78cddecbcccf439evboxsync/* Register image: */
b1e7bd9b836768429ce3f7df78cddecbcccf439evboxsyncvoid QIRichTextLabel::registerImage(const QImage &image, const QString &strName)
b1e7bd9b836768429ce3f7df78cddecbcccf439evboxsync /* Register passed image in internal text-document: */
b1e7bd9b836768429ce3f7df78cddecbcccf439evboxsync m_pTextEdit->document()->addResource(QTextDocument::ImageResource, QUrl(strName), QVariant(image));
0e80eb5bf89bace5dd7e15be7c6f1a204ae79f91vboxsync/* Word-wrap mode getter: */
0e80eb5bf89bace5dd7e15be7c6f1a204ae79f91vboxsyncQTextOption::WrapMode QIRichTextLabel::wordWrapMode() const
0e80eb5bf89bace5dd7e15be7c6f1a204ae79f91vboxsync/* Word-wrap mode setter: */
0e80eb5bf89bace5dd7e15be7c6f1a204ae79f91vboxsyncvoid QIRichTextLabel::setWordWrapMode(QTextOption::WrapMode policy)
609611925b20335313ed4b8fe0bb88d7fdc9d10avboxsync/* API: Event-filter setter: */
609611925b20335313ed4b8fe0bb88d7fdc9d10avboxsyncvoid QIRichTextLabel::installEventFilter(QObject *pFilterObj)
70b7f4772418e18c9c140e0656cad6f4cdda7527vboxsync/* Minimum text-width setter: */
70b7f4772418e18c9c140e0656cad6f4cdda7527vboxsyncvoid QIRichTextLabel::setMinimumTextWidth(int iMinimumTextWidth)
cc160154983fdb816d385031bc2b50b2433ea855vboxsync /* Remember minimum text width: */
70b7f4772418e18c9c140e0656cad6f4cdda7527vboxsync /* Get corresponding QTextDocument: */
70b7f4772418e18c9c140e0656cad6f4cdda7527vboxsync QTextDocument *pTextDocument = m_pTextEdit->document();
70b7f4772418e18c9c140e0656cad6f4cdda7527vboxsync /* Bug in QTextDocument (?) : setTextWidth doesn't work from the first time. */
cc160154983fdb816d385031bc2b50b2433ea855vboxsync for (int iTry = 0; pTextDocument->textWidth() != m_iMinimumTextWidth && iTry < 3; ++iTry)
cc160154983fdb816d385031bc2b50b2433ea855vboxsync /* Get corresponding QTextDocument size: */
cc160154983fdb816d385031bc2b50b2433ea855vboxsync /* Resize to content size: */
70b7f4772418e18c9c140e0656cad6f4cdda7527vboxsync/* Text setter: */
70b7f4772418e18c9c140e0656cad6f4cdda7527vboxsyncvoid QIRichTextLabel::setText(const QString &strText)
70b7f4772418e18c9c140e0656cad6f4cdda7527vboxsync /* Set text: */
70b7f4772418e18c9c140e0656cad6f4cdda7527vboxsync /* Get corresponding QTextDocument: */
70b7f4772418e18c9c140e0656cad6f4cdda7527vboxsync QTextDocument *pTextDocument = m_pTextEdit->document();
cc160154983fdb816d385031bc2b50b2433ea855vboxsync /* Adjust text-edit size: */
70b7f4772418e18c9c140e0656cad6f4cdda7527vboxsync /* Get corresponding QTextDocument size: */
cc160154983fdb816d385031bc2b50b2433ea855vboxsync /* Set minimum text width to corresponding value: */