From a726171f1b90b7005b803acf45950ae5d0cfe8c9 Mon Sep 17 00:00:00 2001 From: Claudio Valerio Date: Thu, 6 Sep 2012 15:03:23 +0200 Subject: [PATCH] add the possibility to set maximum number of character --- src/gui/UBTeacherGuideWidget.cpp | 1 + src/gui/UBTeacherGuideWidgetsTools.cpp | 14 ++++++++++++++ src/gui/UBTeacherGuideWidgetsTools.h | 2 ++ 3 files changed, 17 insertions(+) diff --git a/src/gui/UBTeacherGuideWidget.cpp b/src/gui/UBTeacherGuideWidget.cpp index ffe11cbd..679da6a8 100644 --- a/src/gui/UBTeacherGuideWidget.cpp +++ b/src/gui/UBTeacherGuideWidget.cpp @@ -697,6 +697,7 @@ UBTeacherGuidePageZeroWidget::UBTeacherGuidePageZeroWidget(QWidget* parent, cons mpSessionTitle = new UBTGAdaptableText(0, this, "UBTGSessionTitle"); mpSessionTitle->setPlaceHolderText(tr("Type session title here ...")); + mpSessionTitle->setMaximumLength(1000); mpButtonTitleLayout->addWidget(mpSessionTitle); connect(this, SIGNAL(resized()), mpSessionTitle, SLOT(onTextChanged())); diff --git a/src/gui/UBTeacherGuideWidgetsTools.cpp b/src/gui/UBTeacherGuideWidgetsTools.cpp index 6300c65b..4456b243 100644 --- a/src/gui/UBTeacherGuideWidgetsTools.cpp +++ b/src/gui/UBTeacherGuideWidgetsTools.cpp @@ -120,6 +120,7 @@ UBTGAdaptableText::UBTGAdaptableText(QTreeWidgetItem* widget, QWidget* parent, c , mMinimumHeight(0) , mHasPlaceHolder(false) , mIsUpdatingSize(false) + , mMaximumLength(0) { setObjectName(name); connect(this,SIGNAL(textChanged()),this,SLOT(onTextChanged())); @@ -131,6 +132,11 @@ UBTGAdaptableText::UBTGAdaptableText(QTreeWidgetItem* widget, QWidget* parent, c } +void UBTGAdaptableText::setMaximumLength(int length) +{ + mMaximumLength = length; +} + void UBTGAdaptableText::setPlaceHolderText(QString text) { mHasPlaceHolder = true; @@ -166,6 +172,12 @@ void UBTGAdaptableText::keyReleaseEvent(QKeyEvent* e) setTextColor(QColor(Qt::lightGray)); setPlainText(mPlaceHolderText); } + if(mMaximumLength && toPlainText().length()>mMaximumLength){ + setPlainText(toPlainText().left(mMaximumLength)); + QTextCursor tc(document()); + tc.setPosition(mMaximumLength); + setTextCursor(tc); + } } void UBTGAdaptableText::showEvent(QShowEvent* e) @@ -212,8 +224,10 @@ void UBTGAdaptableText::onTextChanged() setFocus(); } mIsUpdatingSize = false; + } + void UBTGAdaptableText::setInitialText(const QString& text) { setText(text); diff --git a/src/gui/UBTeacherGuideWidgetsTools.h b/src/gui/UBTeacherGuideWidgetsTools.h index e4ee8c53..2f87ccfd 100644 --- a/src/gui/UBTeacherGuideWidgetsTools.h +++ b/src/gui/UBTeacherGuideWidgetsTools.h @@ -97,6 +97,7 @@ public: void setPlaceHolderText(QString text); QString text(); void setInitialText(const QString& text); + void setMaximumLength(int length); public slots: void onTextChanged(); @@ -113,6 +114,7 @@ private: bool mHasPlaceHolder; QString mPlaceHolderText; bool mIsUpdatingSize; + int mMaximumLength; };