Minor cosmetic changes to main window

This commit is contained in:
Christophe Dumez 2012-05-17 21:20:39 +03:00
parent 82788b9a02
commit dfe5fbe34c
2 changed files with 33 additions and 29 deletions

View File

@ -13,43 +13,46 @@
#include <QtDebug>
LineEdit::LineEdit(QWidget *parent)
: QLineEdit(parent)
: QLineEdit(parent)
{
searchButton = new QToolButton(this);
QPixmap pixmap1(":/lineeditimages/search.png");
searchButton->setIcon(QIcon(pixmap1));
searchButton->setIconSize(pixmap1.size());
searchButton->setCursor(Qt::ArrowCursor);
searchButton->setStyleSheet("QToolButton { border: none; padding: 0px; }");
clearButton = new QToolButton(this);
QPixmap pixmap2(":/lineeditimages/clear_left.png");
clearButton->setIcon(QIcon(pixmap2));
clearButton->setIconSize(pixmap2.size());
clearButton->setCursor(Qt::ArrowCursor);
clearButton->setStyleSheet("QToolButton { border: none; padding: 0px; }");
clearButton->setToolTip(tr("Clear the text"));
clearButton->hide();
connect(clearButton, SIGNAL(clicked()), this, SLOT(clear()));
connect(this, SIGNAL(textChanged(const QString&)), this, SLOT(updateCloseButton(const QString&)));
int frameWidth = style()->pixelMetric(QStyle::PM_DefaultFrameWidth);
setStyleSheet(QString("QLineEdit { padding-right: %1px; padding-left: %2px; } ").arg(clearButton->sizeHint().width() + frameWidth + 1).arg(clearButton->sizeHint().width() + frameWidth + 1));
QSize msz = minimumSizeHint();
setMinimumSize(qMax(msz.width(), clearButton->sizeHint().width() + searchButton->sizeHint().width() + frameWidth * 2 + 2),
qMax(msz.height(), clearButton->sizeHint().height() + frameWidth * 2 + 2));
searchButton = new QToolButton(this);
QPixmap pixmap1(":/lineeditimages/search.png");
searchButton->setIcon(QIcon(pixmap1));
searchButton->setIconSize(pixmap1.size());
searchButton->setCursor(Qt::ArrowCursor);
searchButton->setStyleSheet("QToolButton { border: none; padding: 0px; }");
clearButton = new QToolButton(this);
QPixmap pixmap2(":/lineeditimages/clear_left.png");
clearButton->setIcon(QIcon(pixmap2));
clearButton->setIconSize(pixmap2.size());
clearButton->setCursor(Qt::ArrowCursor);
clearButton->setStyleSheet("QToolButton { border: none; padding: 0px; }");
clearButton->setToolTip(tr("Clear the text"));
clearButton->hide();
connect(clearButton, SIGNAL(clicked()), this, SLOT(clear()));
connect(this, SIGNAL(textChanged(const QString&)), this, SLOT(updateCloseButton(const QString&)));
int frameWidth = style()->pixelMetric(QStyle::PM_DefaultFrameWidth);
setStyleSheet(QString("QLineEdit { padding-right: %1px; padding-left: %2px; border-radius: 10px; }").arg(clearButton->sizeHint().width() + frameWidth + 1).arg(clearButton->sizeHint().width() + frameWidth + 1));
#ifdef Q_WS_MAC
setAttribute(Qt::WA_MacShowFocusRect, 0);
#endif
QSize msz = minimumSizeHint();
setMinimumSize(qMax(msz.width(), clearButton->sizeHint().width() + searchButton->sizeHint().width() + frameWidth * 2 + 2),
qMax(msz.height(), clearButton->sizeHint().height() + frameWidth * 2 + 2));
}
void LineEdit::resizeEvent(QResizeEvent *)
{
QSize sz = searchButton->sizeHint();
int frameWidth = style()->pixelMetric(QStyle::PM_DefaultFrameWidth);
searchButton->move(rect().left() + frameWidth, (rect().bottom() + 2 - sz.height())/2);
sz = clearButton->sizeHint();
clearButton->move(rect().right() - frameWidth - sz.width(),
(rect().bottom() + 2 - sz.height())/2);
QSize sz = searchButton->sizeHint();
int frameWidth = style()->pixelMetric(QStyle::PM_DefaultFrameWidth);
searchButton->move(rect().left() + frameWidth, (rect().bottom() + 2 - sz.height())/2);
sz = clearButton->sizeHint();
clearButton->move(rect().right() - frameWidth - sz.width(),
(rect().bottom() + 2 - sz.height())/2);
}
void LineEdit::updateCloseButton(const QString& text)
{
clearButton->setVisible(!text.isEmpty());
clearButton->setVisible(!text.isEmpty());
}

View File

@ -163,6 +163,7 @@ MainWindow::MainWindow(QWidget *parent, QStringList torrentCmdLine) : QMainWindo
// Transfer List tab
transferList = new TransferListWidget(hSplitter, this, QBtSession::instance());
transferList->setFocusPolicy(Qt::NoFocus);
properties = new PropertiesWidget(hSplitter, this, transferList);
transferListFilters = new TransferListFiltersWidget(vSplitter, transferList);
hSplitter->addWidget(transferList);