source: tspsg/src/settingsdialog.cpp @ 2f915f19f2

0.1.3.145-beta1-symbian0.1.4.170-beta2-bb10appveyorimgbotreadme
Last change on this file since 2f915f19f2 was 95eca626aa, checked in by Oleksii Serdiuk, 17 years ago

Now label hint (and Settings Dialog) aren't resized when text changes from one-line to two-line and vice versa.
This is a hack! Any better solution?

  • Property mode set to 100644
File size: 2.3 KB
Line 
1/*
2 *  TSPSG - TSP Solver and Generator
3 *  Copyright (C) 2007 Lёppa <lacontacts[at]gmail[dot]com>
4 *
5 *  $Id$
6 *  $URL$
7 *
8 *  This file is part of TSPSG.
9 *
10 *  TSPSG is free software: you can redistribute it and/or modify
11 *  it under the terms of the GNU General Public License as published by
12 *  the Free Software Foundation, either version 3 of the License, or
13 *  (at your option) any later version.
14 *
15 *  TSPSG is distributed in the hope that it will be useful,
16 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
17 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18 *  GNU General Public License for more details.
19 *
20 *  You should have received a copy of the GNU General Public License
21 *  along with TSPSG.  If not, see <http://www.gnu.org/licenses/>.
22 */
23
24#include <QMessageBox>
25#include <QStatusTipEvent>
26#include "settingsdialog.h"
27
28SettingsDialog::SettingsDialog(QWidget *parent)
29        : QDialog(parent)
30{
31        setupUi(this);
32        connect(buttonOK,SIGNAL(clicked()),this,SLOT(accept()));
33        connect(buttonCancel,SIGNAL(clicked()),this,SLOT(reject()));
34        connect(spinRandMin,SIGNAL(valueChanged(int)),this,SLOT(spinRandMinValueChanged(int)));
35//      setWindowFlags(Qt::Dialog | Qt::CustomizeWindowHint | Qt::WindowTitleHint | Qt::MSWindowsFixedSizeDialogHint);
36        setWindowFlags(windowFlags() ^ Qt::WindowContextHelpButtonHint);
37        layout()->setSizeConstraint(layout()->SetFixedSize);
38        // Setting initial text of dialog hint label to own status tip
39        // text.
40        labelHint->setText(labelHint->statusTip());
41        // HACK: Do not resize label hint (and dialog) when text changes
42        // from one-line to two-line and vice versa. Any better solution?
43        labelHint->setMaximumHeight(labelHint->height());
44        labelHint->setMinimumHeight(labelHint->height());
45}
46
47bool SettingsDialog::event(QEvent *ev)
48{
49        // Checking for StatusTip event and if tip text is not empty string
50        // setting it as text of the dialog hint label. Otherwise, setting
51        // dialog hint label text to own status tip text.
52        if (ev->type() == QEvent::StatusTip) {
53QString tip = static_cast<QStatusTipEvent *>(ev)->tip();
54                if (tip.length() != 0)
55                        labelHint->setText(tip);
56                else
57                        labelHint->setText(labelHint->statusTip());
58                return true;
59        } else
60                return QDialog::event(ev);
61}
62
Note: See TracBrowser for help on using the repository browser.