From 33fabd0c800dd7eeadfb6b98e4d0d76551380094 Mon Sep 17 00:00:00 2001 From: Tobias Markmann Date: Thu, 2 Apr 2015 14:52:49 +0200 Subject: Fix vertical alignment of close button in QtClosableLineEdit Test-Information: Tested vertical alignment of close button on OS X, Windows 7 and Elementary OS. Change-Id: Ia07a8476912674c94d851315f80630710e5f4217 diff --git a/Swift/QtUI/QtClosableLineEdit.cpp b/Swift/QtUI/QtClosableLineEdit.cpp index 6523b6b..414463a 100644 --- a/Swift/QtUI/QtClosableLineEdit.cpp +++ b/Swift/QtUI/QtClosableLineEdit.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014 Isode Limited. + * Copyright (c) 2014-2015 Isode Limited. * All rights reserved. * See the COPYING file for more information. */ @@ -15,10 +15,12 @@ ****************************************************************************/ #include + #include -#include -#include #include +#include +#include +#include namespace Swift { @@ -43,7 +45,12 @@ QtClosableLineEdit::QtClosableLineEdit(QWidget *parent) : QLineEdit(parent) { void QtClosableLineEdit::resizeEvent(QResizeEvent *) { QSize size = clearButton->sizeHint(); int frameWidth = style()->pixelMetric(QStyle::PM_DefaultFrameWidth); - clearButton->move(rect().right() - frameWidth - size.width(), (rect().bottom() + 1 - size.height())/2); + int verticalAdjustment = 1; +#if defined(Q_OS_WIN32) + // This vertical adjustment is required on Windows so the close button is vertically centered in the line edit. + verticalAdjustment += 2; +#endif + clearButton->move(rect().right() - frameWidth - size.width(), (rect().bottom() + verticalAdjustment - size.height())/2); } void QtClosableLineEdit::updateCloseButton(const QString& text) { -- cgit v0.10.2-6-g49f6