22#include <QGraphicsWidget>
24#include <QTextDocument>
26#include <kiconloader.h>
49class ToolTipContentPrivate
52 ToolTipContentPrivate()
56 highlightWindows(
false)
63 QList<WId> windowsToPreview;
64 QHash<QString, ToolTipResource> resources;
65 QWeakPointer<QGraphicsWidget> graphicsWidget;
67 bool instantPopup : 1;
69 bool highlightWindows : 1;
72ToolTipContent::ToolTipContent()
73 : d(new ToolTipContentPrivate)
78 : d(new ToolTipContentPrivate(*other.d))
82ToolTipContent::~ToolTipContent()
93ToolTipContent::ToolTipContent(
const QString &mainText,
94 const QString &subText,
96 : d(new ToolTipContentPrivate)
103ToolTipContent::ToolTipContent(
const QString &mainText,
104 const QString &subText,
106 : d(new ToolTipContentPrivate)
113bool ToolTipContent::isEmpty()
const
115 return d->mainText.isEmpty() &&
116 d->subText.isEmpty() &&
118 (d->windowsToPreview.size() == 0);
121void ToolTipContent::setMainText(
const QString &text)
123 d->mainText = text.trimmed();
126QString ToolTipContent::mainText()
const
128 QString text = d->mainText;
133void ToolTipContent::setSubText(
const QString &text)
135 d->subText = text.trimmed();
138QString ToolTipContent::subText()
const
140 QString text = d->subText;
145void ToolTipContent::setImage(
const QPixmap &image)
150void ToolTipContent::setImage(
const QIcon &icon)
152 d->image = icon.pixmap(IconSize(KIconLoader::Desktop));
155QPixmap ToolTipContent::image()
const
160void ToolTipContent::setWindowToPreview(WId
id)
162 d->windowsToPreview.clear();
163 d->windowsToPreview.append(
id);
166WId ToolTipContent::windowToPreview()
const
168 if (d->windowsToPreview.size() == 1) {
169 return d->windowsToPreview.first();
175void ToolTipContent::setWindowsToPreview(
const QList<WId> & ids)
177 d->windowsToPreview = ids;
180QList<WId> ToolTipContent::windowsToPreview()
const
182 return d->windowsToPreview;
185void ToolTipContent::setHighlightWindows(
bool highlight)
187 d->highlightWindows = highlight;
190bool ToolTipContent::highlightWindows()
const
192 return d->highlightWindows;
195void ToolTipContent::setAutohide(
bool autohide)
200bool ToolTipContent::autohide()
const
205void ToolTipContent::setInstantPopup(
bool enabled)
207 d->instantPopup = enabled;
210bool ToolTipContent::isInstantPopup()
const
212 return d->instantPopup;
215void ToolTipContent::addResource(
ResourceType type,
const QUrl &path,
const QVariant &resource)
217 d->resources.insert(path.toString(), ToolTipResource(
type, resource));
220void ToolTipContent::registerResources(QTextDocument *document)
const
226 QHashIterator<QString, ToolTipResource> it(d->resources);
227 while (it.hasNext()) {
229 const ToolTipResource &r = it.value();
230 QTextDocument::ResourceType t = QTextDocument::ImageResource;
236 t = QTextDocument::HtmlResource;
239 t = QTextDocument::StyleSheetResource;
243 document->addResource(t, it.key(), r.data);
247void ToolTipContent::setClickable(
bool clickable)
249 d->clickable = clickable;
252bool ToolTipContent::isClickable()
const
259 d->graphicsWidget = widget;
264 return d->graphicsWidget.data();
QString subText() const
Elaborates on the mainText.
void setImage(const QPixmap &image)
Sets the icon to show.
QString mainText() const
Important information, e.g.
QPixmap image() const
An icon to display.
void setSubText(const QString &text)
Sets text which elaborates on the mainText.
bool autohide() const
Whether or not to autohide the tooltip, defaults to true.
void setMainText(const QString &text)
Sets the main text which containts important information, e.g.
Namespace for everything in libplasma.
const int MAXIMUM_TEXT_LENGTH
static QScriptValue type(QScriptContext *ctx, QScriptEngine *eng)