Changeset 24002 in vbox for trunk/src/VBox
- Timestamp:
- Oct 22, 2009 11:44:58 PM (15 years ago)
- Location:
- trunk/src/VBox/Frontends/VirtualBox
- Files:
-
- 1 deleted
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Frontends/VirtualBox/Makefile.kmk
r23980 r24002 267 267 include/QIMessageBox.h \ 268 268 include/QILabel.h \ 269 include/QILabel_p.h \270 269 include/QILabelSeparator.h \ 271 270 include/QIAbstractWizard.h \ -
trunk/src/VBox/Frontends/VirtualBox/include/QILabel.h
r16955 r24002 6 6 7 7 /* 8 * Copyright (C) 2006-200 8Sun Microsystems, Inc.8 * Copyright (C) 2006-2009 Sun Microsystems, Inc. 9 9 * 10 10 * This file is part of VirtualBox Open Source Edition (OSE), as … … 28 28 #define __QILabel_h__ 29 29 30 /* Qtincludes */31 #include <Q Frame>30 /* Global includes */ 31 #include <QLabel> 32 32 33 class QILabelPrivate; 34 35 class QILabel: public QWidget 33 class QILabel: public QLabel 36 34 { 37 35 Q_OBJECT; … … 39 37 public: 40 38 41 QILabel (QWidget *aParent = NULL, Qt::WindowFlags aFlags = 0);42 QILabel (const QString &aText, QWidget *aParent = NULL, Qt::WindowFlags aFlags = 0);39 QILabel (QWidget *aParent = 0, Qt::WindowFlags aFlags = 0); 40 QILabel (const QString &aText, QWidget *aParent = 0, Qt::WindowFlags aFlags = 0); 43 41 44 /* QLabelextensions */45 bool fullSizeSelection 46 void setFullSizeSelection (bool bOn);42 /* Focusing extensions */ 43 bool fullSizeSelection() const; 44 void setFullSizeSelection (bool aEnabled); 47 45 48 void updateSizeHint(); 46 /* Size-Hint extensions */ 47 void useSizeHintForWidth (int aWidthHint) const; 48 QSize sizeHint() const; 49 QSize minimumSizeHint() const; 49 50 50 51 /* Default QLabel methods */ 51 Qt::Alignment alignment() const;52 QWidget * buddy() const;53 int frameWidth() const;54 bool hasScaledContents() const;55 int indent() const;56 int margin() const;57 QMovie *movie() const;58 bool openExternalLinks() const;59 const QPicture *picture() const;60 const QPixmap *pixmap() const;61 void setAlignment (Qt::Alignment aAlignment);62 void setBuddy (QWidget *aBuddy);63 void setFrameShadow (QFrame::Shadow aShadow);64 void setFrameShape (QFrame::Shape aShape);65 void setIndent (int aIndent);66 void setMargin (int aMargin);67 void setOpenExternalLinks (bool aOpen);68 void setScaledContents (bool aOn);69 void setTextFormat (Qt::TextFormat aFormat);70 void setTextInteractionFlags (Qt::TextInteractionFlags aFlags);71 void setWordWrap (bool aOn);72 void setMinimumWidth (int aMinWidth);73 52 QString text() const; 74 Qt::TextFormat textFormat() const;75 Qt::TextInteractionFlags textInteractionFlags() const;76 bool wordWrap() const;77 78 /* Default QWidget methods */79 void setSizePolicy (QSizePolicy aPolicy);80 void setMinimumSize (const QSize &aSize);81 53 82 54 public slots: 83 55 84 56 void clear(); 85 void setMovie (QMovie *aMovie);86 void setNum (int aNum);87 void setNum (double aNum);88 void setPicture (const QPicture &aPicture);89 void setPixmap (const QPixmap &aPixmap);90 57 void setText (const QString &aText); 91 92 signals: 93 94 void linkActivated (const QString &); 95 void linkHovered (const QString &); 58 void copy(); 96 59 97 60 protected: 98 61 99 virtual void init(); 62 void resizeEvent (QResizeEvent *aEvent); 63 void mousePressEvent (QMouseEvent *aEvent); 64 void mouseReleaseEvent (QMouseEvent *aEvent); 65 void mouseMoveEvent (QMouseEvent *aEvent); 66 void contextMenuEvent (QContextMenuEvent *aEvent); 67 void focusInEvent (QFocusEvent *aEvent); 68 void focusOutEvent (QFocusEvent *aEvent); 69 void paintEvent (QPaintEvent *aEvent); 100 70 101 /* Protected member vars */ 102 QILabelPrivate *mLabel; 71 private: 72 73 void init(); 74 75 void updateSizeHint() const; 76 void setFullText (const QString &aText); 77 void updateText(); 78 QString removeHtmlTags (QString aText) const; 79 Qt::TextElideMode toTextElideMode (const QString& aStr) const; 80 QString compressText (const QString &aText) const; 81 82 QString mText; 83 bool mFullSizeSelection; 84 static const QRegExp mCopyRegExp; 85 static QRegExp mElideRegExp; 86 mutable bool mIsHintValid; 87 mutable int mWidthHint; 88 mutable QSize mOwnSizeHint; 89 bool mStartDragging; 90 QAction *mCopyAction; 103 91 }; 104 92 -
trunk/src/VBox/Frontends/VirtualBox/src/QIAbstractWizard.cpp
r17046 r24002 176 176 findChildren<QILabel*> (QRegExp ("mText.+")); 177 177 for (int i = 0; i < textLabels.count(); ++ i) 178 textLabels [i]->u pdateSizeHint();178 textLabels [i]->useSizeHintForWidth (400); 179 179 180 180 /* Update sizeHint() of summary viewer of inherited dialog. … … 183 183 QITextEdit *teSummary = findChild<QITextEdit*> ("mTeSummary"); 184 184 if (teSummary) 185 { 186 teSummary->setMinimumWidth (400); 185 187 teSummary->updateSizeHint(); 188 } 186 189 } 187 190 -
trunk/src/VBox/Frontends/VirtualBox/src/QILabel.cpp
r19670 r24002 25 25 */ 26 26 27 #include "QILabel.h" 28 #include "QILabel_p.h" 29 #include "VBoxGlobal.h" 30 31 /* Qt includes */ 32 #include <QHBoxLayout> 27 /* Global includes */ 28 #include <QApplication> 33 29 #include <QClipboard> 34 #include <QApplication> 30 #include <QContextMenuEvent> 31 #include <QFocusEvent> 32 #include <QMenu> 33 #include <QMimeData> 34 #include <QMouseEvent> 35 35 #include <QPainter> 36 36 #include <QStyleOptionFocusRect> 37 #include <QMouseEvent> 38 #include <QMimeData> 39 #include <QContextMenuEvent> 40 #include <QFocusEvent> 41 42 /* @todo: Compare the minimal size behavior in the qt3 & qt4 version. */ 43 44 QILabel::QILabel (QWidget *aParent /* = NULL */, Qt::WindowFlags aFlags /* = 0 */) 45 : QWidget (aParent, aFlags) 46 , mLabel (NULL) 37 38 /* Local inclused */ 39 #include "QILabel.h" 40 41 /* Some constant predefines */ 42 const QRegExp QILabel::mCopyRegExp = QRegExp ("<[^>]*>"); 43 QRegExp QILabel::mElideRegExp = QRegExp ("(<compact\\s+elipsis=\"(start|middle|end)\"?>([^<]*)</compact>)"); 44 45 #define HOR_PADDING 1 46 47 QILabel::QILabel (QWidget *aParent /* = 0 */, Qt::WindowFlags aFlags /* = 0 */) 48 : QLabel (aParent, aFlags) 47 49 { 48 50 init(); 49 51 } 50 52 51 QILabel::QILabel (const QString &aText, QWidget *aParent /* = NULL */, Qt::WindowFlags aFlags /* = 0 */) 52 : QWidget (aParent, aFlags) 53 , mLabel (NULL) 53 QILabel::QILabel (const QString &aText, QWidget *aParent /* = 0 */, Qt::WindowFlags aFlags /* = 0 */) 54 : QLabel (aParent, aFlags) 54 55 { 55 56 init(); 56 mLabel->setFullText (aText);57 setFullText (aText); 57 58 } 58 59 59 60 bool QILabel::fullSizeSelection () const 60 61 { 61 return mLabel->fullSizeSelection(); 62 } 63 64 void QILabel::setFullSizeSelection (bool bOn) 65 { 66 mLabel->setFullSizeSelection (bOn); 67 } 68 69 void QILabel::updateSizeHint() 70 { 71 mLabel->updateSizeHint(); 72 } 73 74 void QILabel::init() 75 { 76 QHBoxLayout *layout = new QHBoxLayout (this); 77 VBoxGlobal::setLayoutMargin (layout, 0); 78 layout->setSpacing (0); 79 mLabel = new QILabelPrivate (this); 80 layout->addWidget (mLabel); 81 connect (mLabel, SIGNAL (linkActivated (const QString &)), 82 this, SIGNAL (linkActivated (const QString &))); 83 connect (mLabel, SIGNAL (linkHovered (const QString &)), 84 this, SIGNAL (linkHovered (const QString &))); 85 } 86 87 /* Default QLabel methods */ 88 89 Qt::Alignment QILabel::alignment () const 90 { 91 return mLabel->alignment(); 92 } 93 94 QWidget *QILabel::buddy () const 95 { 96 return mLabel->buddy(); 97 } 98 99 int QILabel::frameWidth() const 100 { 101 return mLabel->frameWidth(); 102 } 103 104 bool QILabel::hasScaledContents () const 105 { 106 return mLabel->hasScaledContents(); 107 } 108 109 int QILabel::indent () const 110 { 111 return mLabel->indent(); 112 } 113 114 int QILabel::margin () const 115 { 116 return mLabel->margin(); 117 } 118 119 QMovie *QILabel::movie () const 120 { 121 return mLabel->movie(); 122 } 123 124 bool QILabel::openExternalLinks () const 125 { 126 return mLabel->openExternalLinks(); 127 } 128 129 const QPicture *QILabel::picture () const 130 { 131 return mLabel->picture(); 132 } 133 134 const QPixmap *QILabel::pixmap () const 135 { 136 return mLabel->pixmap(); 137 } 138 139 void QILabel::setAlignment (Qt::Alignment aAlignment) 140 { 141 mLabel->setAlignment (aAlignment); 142 } 143 144 void QILabel::setBuddy (QWidget *aBuddy) 145 { 146 mLabel->setBuddy (aBuddy); 147 } 148 149 void QILabel::setFrameShadow (QFrame::Shadow aShadow) 150 { 151 mLabel->setFrameShadow (aShadow); 152 } 153 154 void QILabel::setFrameShape (QFrame::Shape aShape) 155 { 156 mLabel->setFrameShape (aShape); 157 } 158 159 void QILabel::setIndent (int aIndent) 160 { 161 mLabel->setIndent (aIndent); 162 } 163 164 void QILabel::setMargin (int aMargin) 165 { 166 mLabel->setMargin (aMargin); 167 } 168 169 void QILabel::setOpenExternalLinks (bool aOpen) 170 { 171 mLabel->setOpenExternalLinks (aOpen); 172 } 173 174 void QILabel::setScaledContents (bool aOn) 175 { 176 mLabel->setScaledContents (aOn); 177 } 178 179 void QILabel::setTextFormat (Qt::TextFormat aFormat) 180 { 181 mLabel->setTextFormat (aFormat); 182 } 183 184 void QILabel::setTextInteractionFlags (Qt::TextInteractionFlags aFlags) 185 { 186 mLabel->setTextInteractionFlags (aFlags); 187 } 188 189 void QILabel::setWordWrap (bool aOn) 190 { 191 mLabel->setWordWrap (aOn); 192 } 193 194 void QILabel::setMinimumWidth (int aMinWidth) 195 { 196 mLabel->setMinimumWidth (aMinWidth); 197 QWidget::setMinimumWidth (aMinWidth); 198 } 199 200 QString QILabel::text () const 201 { 202 return mLabel->fullText(); 203 } 204 205 Qt::TextFormat QILabel::textFormat () const 206 { 207 return mLabel->textFormat(); 208 } 209 210 Qt::TextInteractionFlags QILabel::textInteractionFlags () const 211 { 212 return mLabel->textInteractionFlags(); 213 } 214 215 bool QILabel::wordWrap () const 216 { 217 return mLabel->wordWrap(); 218 } 219 220 void QILabel::setSizePolicy (QSizePolicy aPolicy) 221 { 222 mLabel->setSizePolicy (aPolicy); 223 QWidget::setSizePolicy (aPolicy); 224 } 225 226 void QILabel::setMinimumSize (const QSize &aSize) 227 { 228 mLabel->setMinimumSize (aSize); 229 QWidget::setMinimumSize (aSize); 230 } 231 232 void QILabel::clear() 233 { 234 mLabel->clearAll(); 235 } 236 237 void QILabel::setMovie (QMovie *aMovie) 238 { 239 mLabel->setMovie (aMovie); 240 } 241 242 void QILabel::setNum (int aNum) 243 { 244 mLabel->setNum (aNum); 245 } 246 247 void QILabel::setNum (double aNum) 248 { 249 mLabel->setNum (aNum); 250 } 251 252 void QILabel::setPicture (const QPicture &aPicture) 253 { 254 mLabel->setPicture (aPicture); 255 } 256 257 void QILabel::setPixmap (const QPixmap &aPixmap) 258 { 259 mLabel->setPixmap (aPixmap); 260 } 261 262 void QILabel::setText (const QString &aText) 263 { 264 mLabel->setFullText (aText); 265 266 /* If QILabel forced to be fixed vertically */ 267 if (minimumHeight() == maximumHeight()) 268 { 269 /* Check if new text requires label growing */ 270 QSize sh (mLabel->width(), mLabel->heightForWidth (mLabel->width())); 271 if (sh.height() > minimumHeight()) 272 setFixedHeight (sh.height()); 273 } 274 } 275 276 /* QILabelPrivate implementation: */ 277 278 /* Some constant predefines */ 279 const QRegExp QILabelPrivate::mCopyRegExp = QRegExp ("<[^>]*>"); 280 QRegExp QILabelPrivate::mElideRegExp = QRegExp ("(<compact\\s+elipsis=\"(start|middle|end)\"?>([^<]*)</compact>)"); 281 282 #define HOR_PADDING 1 283 284 bool QILabelPrivate::fullSizeSelection () const 285 { 286 return mFullSizeSeclection; 287 } 288 289 void QILabelPrivate::setFullSizeSelection (bool bOn) 290 { 291 mFullSizeSeclection = bOn; 292 if (mFullSizeSeclection) 62 return mFullSizeSelection; 63 } 64 65 void QILabel::setFullSizeSelection (bool aEnabled) 66 { 67 mFullSizeSelection = aEnabled; 68 if (mFullSizeSelection) 293 69 { 294 70 /* Enable mouse interaction only */ … … 303 79 * around the label. So this is done manually in the paintEvent. Not 304 80 * sure if the stylesheet stuff is ready for production environments. */ 305 setStyleSheet (QString ("QLabel::focus {\306 background-color: palette(highlight);\307 }\308 QLabel {\309 padding: 0px %1px 0px %1px;\310 }").arg (HOR_PADDING));81 setStyleSheet (QString ("QLabel::focus {\ 82 background-color: palette(highlight);\ 83 }\ 84 QLabel {\ 85 padding: 0px %1px 0px %1px;\ 86 }").arg (HOR_PADDING)); 311 87 } 312 88 else … … 321 97 } 322 98 323 void QILabelPrivate::resizeEvent (QResizeEvent *aEvent) 99 void QILabel::useSizeHintForWidth (int aWidthHint) const 100 { 101 mWidthHint = aWidthHint; 102 updateSizeHint(); 103 } 104 105 QSize QILabel::sizeHint() const 106 { 107 if (!mIsHintValid) 108 updateSizeHint(); 109 110 /* If there is an updated sizeHint() present - using it. */ 111 return mOwnSizeHint.isValid() ? mOwnSizeHint : QLabel::sizeHint(); 112 } 113 114 QSize QILabel::minimumSizeHint() const 115 { 116 if (!mIsHintValid) 117 updateSizeHint(); 118 119 /* If there is an updated minimumSizeHint() present - using it. */ 120 return mOwnSizeHint.isValid() ? mOwnSizeHint : QLabel::minimumSizeHint(); 121 } 122 123 QString QILabel::text() const 124 { 125 return mText; 126 } 127 128 void QILabel::clear() 129 { 130 QLabel::clear(); 131 setFullText (""); 132 } 133 134 void QILabel::setText (const QString &aText) 135 { 136 setFullText (aText); 137 138 /* If QILabel forced to be fixed vertically */ 139 if (minimumHeight() == maximumHeight()) 140 { 141 /* Check if new text requires label growing */ 142 QSize sh (width(), heightForWidth (width())); 143 if (sh.height() > minimumHeight()) 144 setFixedHeight (sh.height()); 145 } 146 } 147 148 void QILabel::copy() 149 { 150 QString text = removeHtmlTags (mText); 151 /* Copy the current text to the global and selection clipboard. */ 152 QApplication::clipboard()->setText (text, QClipboard::Clipboard); 153 QApplication::clipboard()->setText (text, QClipboard::Selection); 154 } 155 156 void QILabel::resizeEvent (QResizeEvent *aEvent) 324 157 { 325 158 QLabel::resizeEvent (aEvent); … … 328 161 } 329 162 330 void QILabelPrivate::mousePressEvent (QMouseEvent *aEvent) 331 { 332 if (aEvent->button() == Qt::LeftButton && 333 geometry().contains (aEvent->pos()) && 334 mFullSizeSeclection) 163 void QILabel::mousePressEvent (QMouseEvent *aEvent) 164 { 165 if (aEvent->button() == Qt::LeftButton && geometry().contains (aEvent->pos()) && mFullSizeSelection) 335 166 mStartDragging = true; 336 167 else … … 338 169 } 339 170 340 void QILabel Private::mouseReleaseEvent (QMouseEvent *aEvent)171 void QILabel::mouseReleaseEvent (QMouseEvent *aEvent) 341 172 { 342 173 mStartDragging = false; … … 344 175 } 345 176 346 void QILabel Private::mouseMoveEvent (QMouseEvent *aEvent)177 void QILabel::mouseMoveEvent (QMouseEvent *aEvent) 347 178 { 348 179 if (mStartDragging) … … 365 196 } 366 197 367 void QILabel Private::contextMenuEvent (QContextMenuEvent *aEvent)368 { 369 if (mFullSizeSe clection)198 void QILabel::contextMenuEvent (QContextMenuEvent *aEvent) 199 { 200 if (mFullSizeSelection) 370 201 { 371 202 /* Create a context menu for the copy to clipboard action. */ … … 374 205 menu.addAction (mCopyAction); 375 206 menu.exec (aEvent->globalPos()); 376 } else 207 } 208 else 377 209 QLabel::contextMenuEvent (aEvent); 378 210 } 379 211 380 void QILabel Private::focusInEvent (QFocusEvent * /* aEvent */)381 { 382 if (mFullSizeSe clection)212 void QILabel::focusInEvent (QFocusEvent * /* aEvent */) 213 { 214 if (mFullSizeSelection) 383 215 { 384 216 /* Set the text color to the current used highlight text color. */ … … 389 221 } 390 222 391 void QILabel Private::focusOutEvent (QFocusEvent *aEvent)223 void QILabel::focusOutEvent (QFocusEvent *aEvent) 392 224 { 393 225 /* Reset to the default palette */ 394 if (mFullSizeSeclection && 395 aEvent->reason() != Qt::PopupFocusReason) /* For right mouse click */ 226 if (mFullSizeSelection && aEvent->reason() != Qt::PopupFocusReason) 396 227 setPalette (qApp->palette()); 397 228 } 398 229 399 void QILabel Private::paintEvent (QPaintEvent *aEvent)230 void QILabel::paintEvent (QPaintEvent *aEvent) 400 231 { 401 232 QLabel::paintEvent (aEvent); 402 233 403 if (mFullSizeSeclection && 404 hasFocus()) 234 if (mFullSizeSelection && hasFocus()) 405 235 { 406 236 QPainter painter (this); … … 412 242 } 413 243 414 415 void QILabelPrivate::copy() 416 { 417 QString text = removeHtmlTags (mText); 418 /* Copy the current text to the global and selection clipboard. */ 419 QApplication::clipboard()->setText (text, QClipboard::Clipboard); 420 QApplication::clipboard()->setText (text, QClipboard::Selection); 421 } 422 423 void QILabelPrivate::init() 424 { 244 void QILabel::init() 245 { 246 /* Initial setup */ 247 mIsHintValid = false; 248 mWidthHint = -1; 425 249 mStartDragging = false; 426 250 setFullSizeSelection (false); 427 /* Open links with the QDesktopService */428 251 setOpenExternalLinks (true); 429 252 … … 436 259 } 437 260 438 void QILabelPrivate::updateText() 261 void QILabel::updateSizeHint() const 262 { 263 mOwnSizeHint = mWidthHint == -1 ? QSize() : QSize (mWidthHint, heightForWidth (mWidthHint)); 264 mIsHintValid = true; 265 } 266 267 void QILabel::setFullText (const QString &aText) 268 { 269 QSizePolicy sp = sizePolicy(); 270 sp.setHeightForWidth (wordWrap()); 271 setSizePolicy (sp); 272 mIsHintValid = false; 273 274 mText = aText; 275 updateText(); 276 } 277 278 void QILabel::updateText() 439 279 { 440 280 QString comp = compressText (mText); … … 448 288 } 449 289 450 QString QILabelPrivate::compressText (const QString &aText) const 290 QString QILabel::removeHtmlTags (QString aText) const 291 { 292 /* Remove all HTML tags from the text and return it. */ 293 return QString(aText).remove (mCopyRegExp); 294 } 295 296 Qt::TextElideMode QILabel::toTextElideMode (const QString& aStr) const 297 { 298 /* Converts a string to a Qt elide mode */ 299 Qt::TextElideMode mode = Qt::ElideNone; 300 if (aStr == "start") 301 mode = Qt::ElideLeft; 302 else if (aStr == "middle") 303 mode = Qt::ElideMiddle; 304 else if (aStr == "end") 305 mode = Qt::ElideRight; 306 return mode; 307 } 308 309 QString QILabel::compressText (const QString &aText) const 451 310 { 452 311 QStringList strResult; … … 470 329 /* Create the shortened text */ 471 330 QString newStr = fm.elidedText (elideStr, toTextElideMode (elideModeStr), width() - (2 * HOR_PADDING) - flatWidth); 472 /* Replace the compact part with the shortened text in the initial 473 * string */ 331 /* Replace the compact part with the shortened text in the initial string */ 474 332 text = QString (workStr).replace (compactStr, newStr); 475 /* For debug */476 // printf ("%d, %s # %s # %s ## %s\n", pos,477 // qPrintable (compactStr),478 // qPrintable (elideModeStr),479 // qPrintable (elideStr),480 // qPrintable (newStr));481 333 } 482 334 strResult << text; … … 484 336 return strResult.join ("<br />"); 485 337 } 486 -
trunk/src/VBox/Frontends/VirtualBox/src/QIMessageBox.cpp
r22948 r24002 363 363 resize (minimumSizeHint()); 364 364 qApp->processEvents(); 365 mTextLabel-> setMinimumWidth (mTextLabel->width());366 mTextLabel->update SizeHint();365 mTextLabel->useSizeHintForWidth (mTextLabel->width()); 366 mTextLabel->updateGeometry(); 367 367 qApp->processEvents(); 368 368 setFixedWidth (width()); … … 378 378 /* Update message text iteself */ 379 379 mTextLabel->setText (mText + mDetailsList [mDetailsIndex].first); 380 mTextLabel->updateSizeHint();381 380 /* Update details table */ 382 381 mDetailsText->setText (mDetailsList [mDetailsIndex].second); -
trunk/src/VBox/Frontends/VirtualBox/src/VBoxGLSettingsLanguage.cpp
r18415 r24002 193 193 this, SLOT (mTwLanguageChanged (QTreeWidgetItem *, QTreeWidgetItem *))); 194 194 195 mTxName->setMinimumHeight (fontMetrics().height() * 4);196 195 /* Applying language settings */ 197 196 retranslateUi(); … … 202 201 { 203 202 reload (aGs.languageId()); 203 mTxName->setFixedHeight (fontMetrics().height() * 4); 204 204 } 205 205 -
trunk/src/VBox/Frontends/VirtualBox/ui/VBoxGLSettingsLanguage.ui
r18247 r24002 113 113 </item> 114 114 <item row="2" column="2" > 115 <widget class="Q Label" name="mTxName" >115 <widget class="QILabel" name="mTxName" > 116 116 <property name="sizePolicy" > 117 117 <sizepolicy vsizetype="Minimum" hsizetype="Expanding" > … … 136 136 <header>QITreeWidget.h</header> 137 137 </customwidget> 138 <customwidget> 139 <class>QILabel</class> 140 <extends>QLabel</extends> 141 <header>QILabel.h</header> 142 </customwidget> 138 143 </customwidgets> 139 144 <resources/>
Note:
See TracChangeset
for help on using the changeset viewer.