Changeset 149 in tspsg-svn for trunk/src/settingsdialog.cpp
- Timestamp:
- Dec 20, 2010, 9:53:45 PM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/settingsdialog.cpp
r143 r149 31 31 */ 32 32 SettingsDialog::SettingsDialog(QWidget *parent) 33 34 { 35 36 37 38 39 40 #ifndef QT_NO_STATUSTIP 41 33 : QDialog(parent), _newFont(false), _newColor(false), _translucency(0) 34 { 35 setupUi(this); 36 37 setWindowIcon(GET_ICON("preferences-system")); 38 39 buttonBox->button(QDialogButtonBox::Ok)->setIcon(GET_ICON("dialog-ok")); 40 #ifndef QT_NO_STATUSTIP 41 buttonBox->button(QDialogButtonBox::Ok)->setStatusTip(tr("Save new preferences")); 42 42 #endif 43 44 45 #ifndef QT_NO_STATUSTIP 46 43 buttonBox->button(QDialogButtonBox::Ok)->setCursor(QCursor(Qt::PointingHandCursor)); 44 buttonBox->button(QDialogButtonBox::Cancel)->setIcon(GET_ICON("dialog-cancel")); 45 #ifndef QT_NO_STATUSTIP 46 buttonBox->button(QDialogButtonBox::Cancel)->setStatusTip(tr("Close without saving preferences")); 47 47 #endif 48 49 50 51 52 48 buttonBox->button(QDialogButtonBox::Cancel)->setCursor(QCursor(Qt::PointingHandCursor)); 49 50 buttonColor->setIcon(GET_ICON("format-text-color")); 51 buttonFont->setIcon(GET_ICON("preferences-desktop-font")); 52 buttonHelp->setIcon(GET_ICON("help-hint")); 53 53 54 54 QPalette p = bgWhite->palette(); 55 56 57 58 59 60 55 p.setColor(QPalette::Window, p.color(QPalette::Base)); 56 bgWhite->setPalette(p); 57 58 p = lineHorizontal->palette(); 59 p.setColor(QPalette::Window, p.color(QPalette::Text)); 60 lineHorizontal->setPalette(p); 61 61 62 62 // Layout helpers … … 64 64 QHBoxLayout *hbox; 65 65 #ifndef QT_NO_PRINTER 66 67 68 #ifndef QT_NO_STATUSTIP 69 70 #endif // QT_NO_STATUSTIP 71 72 73 74 75 76 77 78 79 66 cbHQGraph = new QCheckBox(bgWhite); 67 cbHQGraph->setObjectName("cbHQGraph"); 68 #ifndef QT_NO_STATUSTIP 69 cbHQGraph->setStatusTip(tr("Higher quality graph looks much better when printing but uglier on the screen")); 70 #endif // QT_NO_STATUSTIP 71 cbHQGraph->setText(tr("Draw solution graph in higher quality")); 72 cbHQGraph->setCursor(QCursor(Qt::PointingHandCursor)); 73 74 box = static_cast<QBoxLayout *>(tabOutput->layout()); 75 hbox = new QHBoxLayout(); 76 hbox->addSpacing(10); 77 hbox->addWidget(cbHQGraph); 78 box->insertLayout(box->indexOf(cbShowGraph) + 1, hbox); 79 connect(cbShowGraph, SIGNAL(toggled(bool)), cbHQGraph, SLOT(setEnabled(bool))); 80 80 #endif 81 81 82 83 84 85 #ifndef QT_NO_STATUSTIP 86 87 #endif // QT_NO_STATUSTIP 88 89 90 91 92 93 #ifndef QT_NO_STATUSTIP 94 95 #endif // QT_NO_STATUSTIP 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 82 if (hasUpdater()) { 83 cbCheck4Updates = new QCheckBox(bgWhite); 84 cbCheck4Updates->setObjectName("cbCheck4Updates"); 85 #ifndef QT_NO_STATUSTIP 86 cbCheck4Updates->setStatusTip(tr("Automatically check for updates at the given interval")); 87 #endif // QT_NO_STATUSTIP 88 cbCheck4Updates->setText(tr("Check for updates every")); 89 cbCheck4Updates->setCursor(QCursor(Qt::PointingHandCursor)); 90 91 spinUpdateCheckInterval = new QSpinBox(bgWhite); 92 spinUpdateCheckInterval->setObjectName("spinUpdateCheckInterval"); 93 #ifndef QT_NO_STATUSTIP 94 spinUpdateCheckInterval->setStatusTip(tr("Minimal interval at which to check for updates")); 95 #endif // QT_NO_STATUSTIP 96 spinUpdateCheckInterval->setSuffix(tr(" days", "Don't forget a space at the beginning!")); 97 spinUpdateCheckInterval->setRange(1, 365); 98 spinUpdateCheckInterval->setCursor(QCursor(Qt::PointingHandCursor)); 99 100 connect(cbCheck4Updates, SIGNAL(toggled(bool)), spinUpdateCheckInterval, SLOT(setEnabled(bool))); 101 102 box = static_cast<QBoxLayout *>(tabGeneral->layout()); 103 hbox = new QHBoxLayout(); 104 hbox->setSpacing(0); 105 hbox->addWidget(cbCheck4Updates); 106 hbox->addWidget(spinUpdateCheckInterval); 107 hbox->addStretch(); 108 box->insertLayout(box->indexOf(cbUseNativeDialogs) + 1, hbox); 109 } else 110 cbCheck4Updates = NULL; 111 111 112 112 #ifdef HANDHELD … … 114 114 115 115 #ifdef Q_WS_WINCE_WM 116 117 118 116 // On screens with small height when SIP is shown and the window is resized 117 // there is not enought space for all elements. 118 // So we show the scrollbars to be able to access them. 119 119 QScrollArea *scrollArea = new QScrollArea(this); 120 121 122 123 120 scrollArea->setFrameShape(QFrame::NoFrame); 121 scrollArea->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); 122 scrollArea->setWidgetResizable(true); 123 scrollArea->setWidget(bgWhite); 124 124 #else 125 125 buttons->insertStretch(buttons->indexOf(buttonHelp) + 1); 126 126 #endif // Q_WS_WINCE_WM 127 127 128 129 130 131 132 133 128 bgWhite->layout()->setMargin(0); 129 130 // Central layout 131 vbox1 = new QVBoxLayout(this); 132 vbox1->setMargin(0); 133 vbox1->setSpacing(0); 134 134 #ifdef Q_WS_WINCE_WM 135 135 vbox1->addWidget(scrollArea); 136 136 #else 137 137 vbox1->addWidget(bgWhite); 138 138 #endif // Q_WS_WINCE_WM 139 140 139 vbox1->addWidget(bgGrey); 140 setLayout(vbox1); 141 141 #else // HANDHELD 142 142 QVBoxLayout *vbox; // Layout helper 143 143 144 144 #ifdef Q_WS_WIN32 145 146 147 148 #ifndef QT_NO_STATUSTIP 149 150 #endif // QT_NO_STATUSTIP 151 152 153 145 if (QtWin::isCompositionEnabled()) { 146 cbUseTranslucency = new QCheckBox(bgWhite); 147 cbUseTranslucency->setObjectName("cbUseTranslucency"); 148 #ifndef QT_NO_STATUSTIP 149 cbUseTranslucency->setStatusTip(tr("Use translucent effect on the Main Window under Windows Vista and 7")); 150 #endif // QT_NO_STATUSTIP 151 cbUseTranslucency->setText(tr("Use translucency effects")); 152 cbUseTranslucency->setCursor(QCursor(Qt::PointingHandCursor)); 153 } 154 154 #endif // Q_WS_WIN32 155 155 156 157 158 #ifndef QT_NO_STATUSTIP 159 160 #endif // QT_NO_STATUSTIP 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 156 cbSaveState = new QCheckBox(bgWhite); 157 cbSaveState->setObjectName("cbSaveState"); 158 #ifndef QT_NO_STATUSTIP 159 cbSaveState->setStatusTip(tr("Restore main window state and position on application restart")); 160 #endif // QT_NO_STATUSTIP 161 cbSaveState->setText(tr("Save main window state and position")); 162 cbSaveState->setCursor(QCursor(Qt::PointingHandCursor)); 163 164 imgIcon = new QLabel(this); 165 imgIcon->setObjectName("imgIcon"); 166 imgIcon->setSizePolicy(QSizePolicy::Fixed,QSizePolicy::Expanding); 167 imgIcon->setFrameShape(QFrame::NoFrame); 168 imgIcon->setPixmap(GET_ICON("preferences-system").pixmap(128, 128)); 169 imgIcon->setStyleSheet("background-color: #0080C0; padding-top: 11px;"); 170 imgIcon->setAlignment(Qt::AlignTop | Qt::AlignHCenter); 171 imgIcon->setMinimumWidth(150); 172 173 labelHint = new QLabel(bgGrey); 174 labelHint->setObjectName("labelHint"); 175 labelHint->setSizePolicy(QSizePolicy::Expanding,QSizePolicy::Preferred); 176 176 // labelHint->setMinimumSize(QSize(190,28)); 177 178 179 177 labelHint->setMinimumSize(QSize(0,28)); 178 labelHint->setMaximumSize(QSize(QWIDGETSIZE_MAX,28)); 179 labelHint->setTextFormat(Qt::PlainText); 180 180 // labelHint->setAlignment(Qt::AlignLeft | Qt::AlignTop); 181 182 #ifndef QT_NO_STATUSTIP 183 184 #endif // QT_NO_STATUSTIP 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 181 labelHint->setWordWrap(true); 182 #ifndef QT_NO_STATUSTIP 183 labelHint->setStatusTip(tr("Hover mouse pointer over dialog elements to get additional help")); 184 #endif // QT_NO_STATUSTIP 185 186 lineVertical = new QFrame(this); 187 lineVertical->setObjectName("lineVertical"); 188 lineVertical->setFrameShadow(QFrame::Plain); 189 lineVertical->setFrameShape(QFrame::VLine); 190 lineVertical->setLineWidth(2); 191 192 // Top line 193 hbox = new QHBoxLayout(); 194 hbox->addWidget(imgIcon); 195 hbox->addWidget(lineVertical); 196 hbox->addWidget(bgWhite); 197 198 box = static_cast<QBoxLayout *>(tabGeneral->layout()); 199 box->insertWidget(box->indexOf(cbUseNativeDialogs) + 1, cbSaveState); 200 200 #ifdef Q_WS_WIN32 201 202 201 if (QtWin::isCompositionEnabled()) 202 box->insertWidget(box->indexOf(cbUseNativeDialogs) + 1, cbUseTranslucency); 203 203 #endif // Q_WS_WIN32 204 204 205 206 207 208 209 210 211 212 213 214 205 // Inserting label for hints to the bottom part (with grey bg) 206 buttons->insertWidget(buttons->indexOf(buttonHelp) + 1, labelHint, 1); 207 208 // Central layout 209 vbox = new QVBoxLayout(this); 210 vbox->setMargin(0); 211 vbox->setSpacing(0); 212 vbox->addLayout(hbox); 213 vbox->addWidget(bgGrey); 214 setLayout(vbox); 215 215 #endif // HANDHELD 216 216 217 217 #ifdef Q_WS_WINCE_WM 218 219 218 // We need to react to SIP show/hide and resize the window appropriately 219 connect(QApplication::desktop(), SIGNAL(workAreaResized(int)), SLOT(desktopResized(int))); 220 220 #endif // Q_WS_WINCE_WM 221 222 223 224 221 connect(spinRandMin, SIGNAL(valueChanged(int)), SLOT(spinRandMinValueChanged(int))); 222 connect(buttonFont, SIGNAL(clicked()), SLOT(buttonFontClicked())); 223 connect(buttonColor, SIGNAL(clicked()), SLOT(buttonColorClicked())); 224 setWindowFlags(windowFlags() ^ Qt::WindowContextHelpButtonHint); 225 225 #if !defined(QT_NO_STATUSTIP) && !defined(HANDHELD) 226 227 226 // Setting initial text of dialog hint label to own status tip text. 227 labelHint->setText(labelHint->statusTip()); 228 228 #endif // HANDHELD 229 229 230 231 232 233 234 235 230 settings = new QSettings(QSettings::IniFormat, QSettings::UserScope, "TSPSG", "tspsg", this); 231 settings->remove("SettingsReset"); 232 233 cbAutosize->setChecked(settings->value("Autosize", DEF_AUTOSIZE).toBool()); 234 cbSaveLastUsed->setChecked(settings->value("SaveLastUsed", DEF_SAVE_LAST_USED).toBool()); 235 cbUseNativeDialogs->setChecked(settings->value("UseNativeDialogs", DEF_USE_NATIVE_DIALOGS).toBool()); 236 236 #ifdef Q_WS_WIN32 237 238 237 if (QtWin::isCompositionEnabled()) 238 cbUseTranslucency->setChecked(settings->value("UseTranslucency", DEF_USE_TRANSLUCENCY).toBool()); 239 239 #endif // Q_WS_WIN32 240 240 #ifndef HANDHELD 241 241 cbSaveState->setChecked(settings->value("SavePos", DEF_SAVEPOS).toBool()); 242 242 #endif // HANDHELD 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 243 if (cbCheck4Updates != NULL) { 244 settings->beginGroup("Check4Updates"); 245 cbCheck4Updates->setChecked(settings->value("Enabled", DEF_CHECK_FOR_UPDATES).toBool()); 246 spinUpdateCheckInterval->setValue(settings->value("Interval", DEF_UPDATE_CHECK_INTERVAL).toInt()); 247 settings->endGroup(); 248 spinUpdateCheckInterval->setEnabled(cbCheck4Updates->isChecked()); 249 } 250 251 settings->beginGroup("Task"); 252 cbSymmetricMode->setChecked(settings->value("SymmetricMode", DEF_SYMMETRIC_MODE).toBool()); 253 spinFractionalAccuracy->setValue(settings->value("FractionalAccuracy", DEF_FRACTIONAL_ACCURACY).toInt()); 254 spinRandMin->setMaximum(MAX_RAND_VALUE); 255 spinRandMin->setValue(settings->value("RandMin",DEF_RAND_MIN).toInt()); 256 spinRandMax->setMaximum(MAX_RAND_VALUE); 257 spinRandMax->setValue(settings->value("RandMax",DEF_RAND_MAX).toInt()); 258 cbFractionalRandom->setChecked(settings->value("FractionalRandom", DEF_FRACTIONAL_RANDOM).toBool()); 259 settings->endGroup(); 260 261 settings->beginGroup("Output"); 262 cbShowGraph->setChecked(settings->value("ShowGraph", DEF_SHOW_GRAPH).toBool()); 263 263 264 264 #ifndef QT_NO_PRINTER 265 266 265 cbHQGraph->setEnabled(cbShowGraph->isChecked()); 266 cbHQGraph->setChecked(settings->value("HQGraph", DEF_HQ_GRAPH && cbShowGraph->isChecked()).toBool()); 267 267 #endif 268 268 269 269 #if !defined(NOSVG) && (QT_VERSION >= 0x040500) 270 270 comboGraphImageFormat->addItem("svg"); 271 271 #endif // NOSVG && QT_VERSION >= 0x040500 272 273 274 272 // We create whitelist of formats, supported by the most popular web browsers according to 273 // http://en.wikipedia.org/wiki/Comparison_of_web_browsers#Image_format_support 274 // + TIFF format (there are plugins to support it). 275 275 QStringList whitelist; 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 276 whitelist << "bmp" << "jpeg" << "png" << "tiff" << "xbm"; 277 foreach (QByteArray format, QImageWriter::supportedImageFormats()) { 278 if (whitelist.contains(format)) 279 comboGraphImageFormat->addItem(format); 280 } 281 comboGraphImageFormat->model()->sort(0); 282 comboGraphImageFormat->setCurrentIndex(comboGraphImageFormat->findText(settings->value("GraphImageFormat", DEF_GRAPH_IMAGE_FORMAT).toString(), Qt::MatchFixedString)); 283 if (comboGraphImageFormat->currentIndex() < 0) 284 comboGraphImageFormat->setCurrentIndex(comboGraphImageFormat->findText(DEF_GRAPH_IMAGE_FORMAT, Qt::MatchFixedString)); 285 labelGraphImageFormat->setEnabled(cbShowGraph->isChecked()); 286 comboGraphImageFormat->setEnabled(cbShowGraph->isChecked()); 287 288 cbShowMatrix->setChecked(settings->value("ShowMatrix", DEF_SHOW_MATRIX).toBool()); 289 cbCitiesLimit->setEnabled(cbShowMatrix->isChecked()); 290 cbCitiesLimit->setChecked(settings->value("UseShowMatrixLimit", DEF_USE_SHOW_MATRIX_LIMIT && cbShowMatrix->isChecked()).toBool()); 291 spinCitiesLimit->setEnabled(cbShowMatrix->isChecked() && cbCitiesLimit->isChecked()); 292 spinCitiesLimit->setValue(settings->value("ShowMatrixLimit", DEF_SHOW_MATRIX_LIMIT).toInt()); 293 spinCitiesLimit->setMaximum(MAX_NUM_CITIES); 294 cbScrollToEnd->setChecked(settings->value("ScrollToEnd", DEF_SCROLL_TO_END).toBool()); 295 296 font = qvariant_cast<QFont>(settings->value("Font", QFont(DEF_FONT_FACE, DEF_FONT_SIZE))); 297 color = qvariant_cast<QColor>(settings->value("Colors/Text", DEF_TEXT_COLOR)); 298 settings->endGroup(); 299 299 300 300 #ifdef HANDHELD 301 301 setWindowState(Qt::WindowMaximized); 302 302 #else 303 303 adjustSize(); 304 304 #endif // Q_WS_WINCE_WM 305 305 } … … 311 311 bool SettingsDialog::colorChanged() const 312 312 { 313 313 return _newColor; 314 314 } 315 315 … … 320 320 bool SettingsDialog::fontChanged() const 321 321 { 322 322 return _newFont; 323 323 } 324 324 … … 331 331 qint8 SettingsDialog::translucencyChanged() const 332 332 { 333 333 return _translucency; 334 334 } 335 335 … … 338 338 void SettingsDialog::accept() 339 339 { 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 340 if (QApplication::keyboardModifiers() & Qt::ShiftModifier) { 341 if (QMessageBox::question(this, tr("Settings Reset"), tr("Do you really want to <b>reset all application settings to their defaults</b>?"), QMessageBox::RestoreDefaults | QMessageBox::Cancel) == QMessageBox::RestoreDefaults) { 342 _newFont = (font != QFont(DEF_FONT_FACE, DEF_FONT_SIZE)); 343 _newColor = (color != DEF_TEXT_COLOR); 344 settings->remove(""); 345 settings->setValue("SettingsReset", true); 346 QDialog::accept(); 347 QMessageBox::information(this->parentWidget(), tr("Settings Reset"), tr("All settings where successfully reset to their defaults.\nIt is recommended to restart the application now.")); 348 return; 349 } else 350 return; 351 } 352 settings->setValue("Autosize", cbAutosize->isChecked()); 353 settings->setValue("SaveLastUsed", cbSaveLastUsed->isChecked()); 354 settings->setValue("UseNativeDialogs", cbUseNativeDialogs->isChecked()); 355 355 #ifdef Q_WS_WIN32 356 356 if (QtWin::isCompositionEnabled()) { 357 357 bool old = settings->value("UseTranslucency", DEF_USE_TRANSLUCENCY).toBool(); 358 359 360 361 362 363 358 if ((!old && cbUseTranslucency->isChecked()) || (old && !cbUseTranslucency->isChecked())) { 359 _translucency = old ? -1 : 1; 360 } else 361 _translucency = 0; 362 settings->setValue("UseTranslucency", cbUseTranslucency->isChecked()); 363 } 364 364 #endif // Q_WS_WIN32 365 365 #ifndef HANDHELD 366 366 settings->setValue("SavePos", cbSaveState->isChecked()); 367 367 #endif // HANDHELD 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 368 if (cbCheck4Updates != NULL) { 369 settings->beginGroup("Check4Updates"); 370 settings->setValue("Enabled", cbCheck4Updates->isChecked()); 371 if (cbCheck4Updates->isChecked()) 372 settings->setValue("Interval", spinUpdateCheckInterval->value()); 373 settings->endGroup(); 374 } 375 376 settings->beginGroup("Task"); 377 settings->setValue("SymmetricMode", cbSymmetricMode->isChecked()); 378 settings->setValue("FractionalAccuracy", spinFractionalAccuracy->value()); 379 settings->setValue("RandMin", spinRandMin->value()); 380 settings->setValue("RandMax", spinRandMax->value()); 381 settings->setValue("FractionalRandom", cbFractionalRandom->isChecked()); 382 settings->endGroup(); 383 384 settings->beginGroup("Output"); 385 settings->setValue("ShowGraph", cbShowGraph->isChecked()); 386 386 #ifndef QT_NO_PRINTER 387 387 settings->setValue("HQGraph", cbShowGraph->isChecked() && cbHQGraph->isChecked()); 388 388 #endif 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 389 if (cbShowGraph->isChecked()) { 390 if (comboGraphImageFormat->currentIndex() >= 0) 391 settings->setValue("GraphImageFormat", comboGraphImageFormat->currentText()); 392 else 393 settings->setValue("GraphImageFormat", DEF_GRAPH_IMAGE_FORMAT); 394 } 395 settings->setValue("ShowMatrix", cbShowMatrix->isChecked()); 396 settings->setValue("UseShowMatrixLimit", cbShowMatrix->isChecked() && cbCitiesLimit->isChecked()); 397 if (cbCitiesLimit->isChecked()) 398 settings->setValue("ShowMatrixLimit", spinCitiesLimit->value()); 399 settings->setValue("ScrollToEnd", cbScrollToEnd->isChecked()); 400 if (_newFont) 401 settings->setValue("Font", font); 402 if (_newColor) 403 settings->setValue("Colors/Text", color); 404 settings->endGroup(); 405 QDialog::accept(); 406 406 } 407 407 … … 409 409 { 410 410 QColor color = QColorDialog::getColor(this->color,this); 411 412 413 414 411 if (color.isValid() && (this->color != color)) { 412 this->color = color; 413 _newColor = true; 414 } 415 415 } 416 416 … … 419 419 bool ok; 420 420 QFont font = QFontDialog::getFont(&ok,this->font,this); 421 422 423 424 421 if (ok && (this->font != font)) { 422 this->font = font; 423 _newFont = true; 424 } 425 425 } 426 426 … … 428 428 void SettingsDialog::desktopResized(int screen) 429 429 { 430 431 430 if (screen != 0) 431 return; 432 432 433 433 QRect availableGeometry = QApplication::desktop()->availableGeometry(0); 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 434 if (currentGeometry != availableGeometry) { 435 QApplication::setOverrideCursor(QCursor(Qt::WaitCursor)); 436 /*! 437 * \hack HACK: This hack checks whether \link QDesktopWidget::availableGeometry() availableGeometry()\endlink's \c top + \c hegiht = \link QDesktopWidget::screenGeometry() screenGeometry()\endlink's \c height. 438 * If \c true, the window gets maximized. If we used \c setGeometry() in this case, the bottom of the 439 * window would end up being behind the soft buttons. Is this a bug in Qt or Windows Mobile? 440 */ 441 if ((availableGeometry.top() + availableGeometry.height()) == QApplication::desktop()->screenGeometry().height()) { 442 setWindowState(windowState() | Qt::WindowMaximized); 443 } else { 444 if (windowState() & Qt::WindowMaximized) 445 setWindowState(windowState() ^ Qt::WindowMaximized); 446 setGeometry(availableGeometry); 447 } 448 currentGeometry = availableGeometry; 449 QApplication::restoreOverrideCursor(); 450 } 451 451 } 452 452 453 453 void SettingsDialog::showEvent(QShowEvent *ev) 454 454 { 455 456 457 455 desktopResized(0); 456 457 QWidget::showEvent(ev); 458 458 } 459 459 #endif // Q_WS_WINCE_WM 460 460 461 461 void SettingsDialog::spinRandMinValueChanged(int val) { 462 462 spinRandMax->setMinimum(val); 463 463 } 464 464 … … 466 466 bool SettingsDialog::event(QEvent *ev) 467 467 { 468 469 470 471 468 // Checking for StatusTip event and if tip text is not empty string 469 // setting it as text of the dialog hint label. Otherwise, setting 470 // dialog hint label text to own status tip text. 471 if (ev->type() == QEvent::StatusTip) { 472 472 QString tip = static_cast<QStatusTipEvent *>(ev)->tip(); 473 474 475 476 477 478 479 473 if (tip.length() != 0) 474 labelHint->setText(tip); 475 else 476 labelHint->setText(labelHint->statusTip()); 477 return true; 478 } else 479 return QDialog::event(ev); 480 480 } 481 481 #endif // HANDHELD
Note: See TracChangeset
for help on using the changeset viewer.