[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: [kalgebra] src: Make the FunctionEdit adapt better to its size
From: Aleix Pol <aleixpol () kde ! org>
Date: 2013-06-01 0:14:19
Message-ID: 20130601001419.CABD7A6067 () git ! kde ! org
[Download RAW message or body]
Git commit fba7cabe93f3ee6cc67ceec8101b60cf6468c436 by Aleix Pol.
Committed on 01/06/2013 at 02:14.
Pushed by apol into branch 'master'.
Make the FunctionEdit adapt better to its size
Make hte error message re-elide when the size changes.
BUG: 291965
M +12 -19 src/functionedit.cpp
M +2 -0 src/functionedit.h
http://commits.kde.org/kalgebra/fba7cabe93f3ee6cc67ceec8101b60cf6468c436
diff --git a/src/functionedit.cpp b/src/functionedit.cpp
index 10e088c..ca09f26 100644
--- a/src/functionedit.cpp
+++ b/src/functionedit.cpp
@@ -131,6 +131,10 @@ FunctionEdit::FunctionEdit(QWidget *parent)
m_func->setFocus();
m_ok->setEnabled(false);
+
+ QFont errorFont=m_valid->font();
+ errorFont.setBold(true);
+ m_valid->setFont(errorFont);
}
FunctionEdit::~FunctionEdit()
@@ -204,24 +208,9 @@ void FunctionEdit::updateDownlimit()
void FunctionEdit::setState(const QString& text, bool negative)
{
- QFont errorFont=m_valid->font();
- errorFont.setBold(true);
- m_valid->setFont(errorFont);
-
- QString errorm=text, error=text;
- QFontMetrics fm(errorFont);
-
- if(fm.width(errorm)>m_valid->width()) {
- for(int i=3; i<errorm.size(); ++i) {
- QString aux=i18nc("text ellipsis", "%1...", errorm.mid(0,i));
-
- if(fm.width(aux) <= m_valid->width())
- error=aux;
- else
- break;
- }
- }
- m_valid->setText(error);
+ QFontMetrics fm(m_valid->font());
+ m_valid->setText(fm.elidedText(text, Qt::ElideRight, m_valid->width()));
+ m_valid->setToolTip(text);
KColorScheme scheme(QPalette::Normal);
KColorScheme::ForegroundRole role = negative? KColorScheme::NegativeText : KColorScheme::PositiveText;
@@ -329,4 +318,8 @@ void FunctionEdit::setOptionsShown(bool shown)
m_viewTabs->setVisible(shown);
}
-#include "functionedit.moc"
+void FunctionEdit::resizeEvent(QResizeEvent*)
+{
+ QFontMetrics fm(m_valid->font());
+ m_valid->setText(fm.elidedText(m_valid->toolTip(), Qt::ElideRight, m_valid->width()));
+}
diff --git a/src/functionedit.h b/src/functionedit.h
index c22f533..61e7cf1 100644
--- a/src/functionedit.h
+++ b/src/functionedit.h
@@ -89,6 +89,8 @@ public:
void setOptionsShown(bool shown);
+ virtual void resizeEvent(QResizeEvent* ev);
+
public slots:
/** Clears the dialog. */
void clear();
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic