diff --git a/resources/images/toque.png b/resources/images/toque.png new file mode 100644 index 00000000..a976e147 Binary files /dev/null and b/resources/images/toque.png differ diff --git a/resources/sankore.qrc b/resources/sankore.qrc index 425c21c5..8965e022 100644 --- a/resources/sankore.qrc +++ b/resources/sankore.qrc @@ -365,5 +365,6 @@ images/teacherGuide/pencil.svg images/duplicateDisabled.svg images/teacherGuide/flash_24x24.svg + images/toque.png diff --git a/src/document/UBDocumentController.cpp b/src/document/UBDocumentController.cpp index af8734e6..19e0fe4d 100755 --- a/src/document/UBDocumentController.cpp +++ b/src/document/UBDocumentController.cpp @@ -366,25 +366,18 @@ void UBDocumentController::setupViews() connect(mDocumentUI->thumbnailWidget, SIGNAL(sceneDropped(UBDocumentProxy*, int, int)), this, SLOT(moveSceneToIndex ( UBDocumentProxy*, int, int))); connect(mDocumentUI->thumbnailWidget, SIGNAL(resized()), this, SLOT(thumbnailViewResized())); - connect(mDocumentUI->thumbnailWidget, SIGNAL(mouseDoubleClick(QGraphicsItem*, int)), - this, SLOT(pageDoubleClicked(QGraphicsItem*, int))); - connect(mDocumentUI->thumbnailWidget, SIGNAL(mouseClick(QGraphicsItem*, int)), - this, SLOT(pageClicked(QGraphicsItem*, int))); + connect(mDocumentUI->thumbnailWidget, SIGNAL(mouseDoubleClick(QGraphicsItem*, int)), this, SLOT(pageDoubleClicked(QGraphicsItem*, int))); + connect(mDocumentUI->thumbnailWidget, SIGNAL(mouseClick(QGraphicsItem*, int)), this, SLOT(pageClicked(QGraphicsItem*, int))); - connect(mDocumentUI->thumbnailWidget->scene(), SIGNAL(selectionChanged()), - this, SLOT(pageSelectionChanged())); + connect(mDocumentUI->thumbnailWidget->scene(), SIGNAL(selectionChanged()), this, SLOT(pageSelectionChanged())); - connect(UBPersistenceManager::persistenceManager(), SIGNAL(documentCreated(UBDocumentProxy*)), - this, SLOT(addDocumentInTree(UBDocumentProxy*))); + connect(UBPersistenceManager::persistenceManager(), SIGNAL(documentCreated(UBDocumentProxy*)), this, SLOT(addDocumentInTree(UBDocumentProxy*))); - connect(UBPersistenceManager::persistenceManager(), SIGNAL(documentMetadataChanged(UBDocumentProxy*)), - this, SLOT(updateDocumentInTree(UBDocumentProxy*))); + connect(UBPersistenceManager::persistenceManager(), SIGNAL(documentMetadataChanged(UBDocumentProxy*)), this, SLOT(updateDocumentInTree(UBDocumentProxy*))); - connect(UBPersistenceManager::persistenceManager(), SIGNAL(documentSceneCreated(UBDocumentProxy*, int)), - this, SLOT(documentSceneChanged(UBDocumentProxy*, int))); + connect(UBPersistenceManager::persistenceManager(), SIGNAL(documentSceneCreated(UBDocumentProxy*, int)), this, SLOT(documentSceneChanged(UBDocumentProxy*, int))); - connect(UBPersistenceManager::persistenceManager(), SIGNAL(documentSceneWillBeDeleted(UBDocumentProxy*, int)), - this, SLOT(documentSceneChanged(UBDocumentProxy*, int))); + connect(UBPersistenceManager::persistenceManager(), SIGNAL(documentSceneWillBeDeleted(UBDocumentProxy*, int)), this, SLOT(documentSceneChanged(UBDocumentProxy*, int))); mDocumentUI->thumbnailWidget->setBackgroundBrush(UBSettings::documentViewLightColor); @@ -1006,7 +999,7 @@ void UBDocumentController::addFolderOfImages() if (importedImageNumber == 0) { - showMessage(tr("Folder does not contain any image files!")); + showMessage(tr("Folder does not contain any image files")); UBApplication::applicationController->showDocument(); } else diff --git a/src/gui/UBDocumentNavigator.cpp b/src/gui/UBDocumentNavigator.cpp index e2de9970..90b45615 100644 --- a/src/gui/UBDocumentNavigator.cpp +++ b/src/gui/UBDocumentNavigator.cpp @@ -69,6 +69,9 @@ UBDocumentNavigator::~UBDocumentNavigator() } } +#include "gui/UBDockTeacherGuideWidget.h" +#include "gui/UBTeacherGuideWidget.h" + /** * \brief Generate the thumbnails */ @@ -84,10 +87,31 @@ void UBDocumentNavigator::generateThumbnails(UBDocumentContainer* source) for(int i = 0; i < source->selectedDocument()->pageCount(); i++) { + const QPixmap* pix = source->pageAt(i); - UBSceneThumbnailNavigPixmap* pixmapItem = new UBSceneThumbnailNavigPixmap(*pix, source->selectedDocument(), i); + QPixmap result(pix->width(),pix->height()); int pageIndex = UBDocumentContainer::pageFromSceneIndex(i); - QString label = pageIndex == 0 ? tr("Title page") : tr("Page %0").arg(pageIndex); + + QPainter composePainter; + composePainter.begin(&result); + composePainter.drawPixmap(QPoint(0,0),*pix); + + if(pageIndex == UBApplication::boardController->currentPage() && + ((pageIndex == 0 && UBSettings::settings()->teacherGuidePageZeroActivated->get().toBool()) || + (pageIndex && UBSettings::settings()->teacherGuideLessonPagesActivated->get().toBool())) + ) { + if(UBApplication::boardController->paletteManager()->teacherGuideDockWidget()->teacherGuideWidget()->isModified()){ + QPixmap toque(":images/toque.png"); + composePainter.setOpacity(0.6); + composePainter.drawPixmap(QPoint(pix->width() - toque.width(),0),toque); + } + } + + composePainter.end(); + + UBSceneThumbnailNavigPixmap* pixmapItem = new UBSceneThumbnailNavigPixmap(result, source->selectedDocument(), i); + + QString label = pageIndex == 0 ? tr("Title page") : tr("Page %0").arg(pageIndex); UBThumbnailTextItem *labelItem = new UBThumbnailTextItem(label); UBImgTextThumbnailElement thumbWithText(pixmapItem, labelItem); @@ -104,7 +128,7 @@ void UBDocumentNavigator::generateThumbnails(UBDocumentContainer* source) void UBDocumentNavigator::onScrollToSelectedPage(int index) { - qDebug() << "Selection in widet: " << index; + qDebug() << "Selection in widget: " << index; int c = 0; foreach(UBImgTextThumbnailElement el, mThumbsWithLabels) { @@ -118,7 +142,6 @@ void UBDocumentNavigator::onScrollToSelectedPage(int index) } c++; } -// centerOn(mThumbsWithLabels[index].getThumbnail()); } /** @@ -131,8 +154,7 @@ void UBDocumentNavigator::updateSpecificThumbnail(int iPage) //UBGraphicsScene* pScene = UBApplication::boardController->activeScene(); const QPixmap* pix = UBApplication::boardController->pageAt(iPage); - UBSceneThumbnailNavigPixmap* newItem = new UBSceneThumbnailNavigPixmap(*pix, - UBApplication::boardController->selectedDocument(), iPage); + UBSceneThumbnailNavigPixmap* newItem = new UBSceneThumbnailNavigPixmap(*pix, UBApplication::boardController->selectedDocument(), iPage); // Get the old thumbnail UBSceneThumbnailNavigPixmap* oldItem = mThumbsWithLabels.at(iPage).getThumbnail(); diff --git a/src/gui/UBTeacherGuideWidget.cpp b/src/gui/UBTeacherGuideWidget.cpp index ca73ec76..679da6a8 100644 --- a/src/gui/UBTeacherGuideWidget.cpp +++ b/src/gui/UBTeacherGuideWidget.cpp @@ -20,7 +20,7 @@ #include #include #include - +#include #include "UBTeacherGuideWidget.h" @@ -632,8 +632,11 @@ UBTeacherGuidePageZeroWidget::UBTeacherGuidePageZeroWidget(QWidget* parent, cons QWidget(parent) , mpLayout(NULL) , mpButtonTitleLayout(NULL) + , mpContainerWidgetLayout(NULL) , mpModePushButton(NULL) , mpPageNumberLabel(NULL) + , mpScrollArea(NULL) + , mpContainerWidget(NULL) , mpSessionTitle(NULL) , mpSeparatorSessionTitle(NULL) , mpAuthorsLabel(NULL) @@ -673,6 +676,16 @@ UBTeacherGuidePageZeroWidget::UBTeacherGuidePageZeroWidget(QWidget* parent, cons mpPageNumberLabel->setText(tr("Title page")); mpLayout->addWidget(mpPageNumberLabel); + mpScrollArea = new QScrollArea(); + mpContainerWidget = new QWidget(); + mpContainerWidgetLayout = new QVBoxLayout(); + + mpLayout->addWidget(mpScrollArea); + mpScrollArea->setWidget(mpContainerWidget); + mpScrollArea->setWidgetResizable(true); + mpScrollArea->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); + mpContainerWidget->setLayout(mpContainerWidgetLayout); + mpButtonTitleLayout = new QHBoxLayout(0); mpModePushButton = new QPushButton(this); @@ -684,132 +697,139 @@ 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())); - mpLayout->addLayout(mpButtonTitleLayout); + mpContainerWidgetLayout->addLayout(mpButtonTitleLayout); mpSeparatorSessionTitle = new QFrame(this); mpSeparatorSessionTitle->setFixedHeight(UBTG_SEPARATOR_FIXED_HEIGHT); mpSeparatorSessionTitle->setObjectName("UBTGSeparator"); - mpLayout->addWidget(mpSeparatorSessionTitle); + mpContainerWidgetLayout->addWidget(mpSeparatorSessionTitle); mpAuthorsLabel = new QLabel(this); mpAuthorsLabel->setObjectName("UBTGZeroPageEditionModeTitle"); mpAuthorsLabel->setText(tr("Author(s)")); mpAuthorsLabel->setStyleSheet(chapterStyle); - mpLayout->addWidget(mpAuthorsLabel); + mpContainerWidgetLayout->addWidget(mpAuthorsLabel); mpAuthors = new UBTGAdaptableText(0, this); mpAuthors->setObjectName("UBTGZeroPageInputText"); mpAuthors->setPlaceHolderText(tr("Type authors here ...")); - mpLayout->addWidget(mpAuthors); + mpContainerWidgetLayout->addWidget(mpAuthors); connect(this, SIGNAL(resized()), mpAuthors, SLOT(onTextChanged())); mpCreationLabel = new QLabel(this); mpCreationLabel->setObjectName("UBTGZeroPageDateLabel"); - mpLayout->addWidget(mpCreationLabel); + mpContainerWidgetLayout->addWidget(mpCreationLabel); mpLastModifiedLabel = new QLabel(this); mpLastModifiedLabel->setObjectName("UBTGZeroPageDateLabel"); - mpLayout->addWidget(mpLastModifiedLabel); + mpContainerWidgetLayout->addWidget(mpLastModifiedLabel); mpSeparatorAuthors = new QFrame(this); mpSeparatorAuthors->setFixedHeight(UBTG_SEPARATOR_FIXED_HEIGHT); mpSeparatorAuthors->setObjectName("UBTGSeparator"); - mpLayout->addWidget(mpSeparatorAuthors); + mpContainerWidgetLayout->addWidget(mpSeparatorAuthors); mpObjectivesLabel = new QLabel(this); mpObjectivesLabel->setObjectName("UBTGZeroPageEditionModeTitle"); mpObjectivesLabel->setText(tr("Objective(s)")); mpObjectivesLabel->setStyleSheet(chapterStyle); - mpLayout->addWidget(mpObjectivesLabel); + mpContainerWidgetLayout->addWidget(mpObjectivesLabel); mpObjectives = new UBTGAdaptableText(0, this); mpObjectives->setObjectName("UBTGZeroPageInputText"); mpObjectives->setPlaceHolderText(tr("Type objectives here...")); - mpLayout->addWidget(mpObjectives); + mpContainerWidgetLayout->addWidget(mpObjectives); connect(this, SIGNAL(resized()), mpObjectives, SLOT(onTextChanged())); mpSeparatorObjectives = new QFrame(this); mpSeparatorObjectives->setFixedHeight(UBTG_SEPARATOR_FIXED_HEIGHT); mpSeparatorObjectives->setObjectName("UBTGSeparator"); - mpLayout->addWidget(mpSeparatorObjectives); + mpContainerWidgetLayout->addWidget(mpSeparatorObjectives); mpIndexLabel = new QLabel(this); mpIndexLabel->setObjectName("UBTGZeroPageEditionModeTitle"); mpIndexLabel->setText(tr("Resource indexing")); mpIndexLabel->setStyleSheet(chapterStyle); - mpLayout->addWidget(mpIndexLabel); + mpContainerWidgetLayout->addWidget(mpIndexLabel); mpKeywordsLabel = new QLabel(this); mpKeywordsLabel->setObjectName("UBTGZeroPageItemLabel"); mpKeywordsLabel->setText(tr("Keywords:")); mpKeywordsLabel->setStyleSheet(chapterStyle); - mpLayout->addWidget(mpKeywordsLabel); + mpContainerWidgetLayout->addWidget(mpKeywordsLabel); mpKeywords = new UBTGAdaptableText(0, this); mpKeywords->setPlaceHolderText(tr("Type keywords here ...")); - mpLayout->addWidget(mpKeywords); + mpContainerWidgetLayout->addWidget(mpKeywords); connect(this, SIGNAL(resized()), mpKeywords, SLOT(onTextChanged())); mpSchoolLevelItemLabel = new QLabel(this); mpSchoolLevelItemLabel->setObjectName("UBTGZeroPageItemLabel"); mpSchoolLevelItemLabel->setText(tr("Level:")); mpSchoolLevelItemLabel->setStyleSheet(chapterStyle); - mpLayout->addWidget(mpSchoolLevelItemLabel); + mpContainerWidgetLayout->addWidget(mpSchoolLevelItemLabel); mpSchoolLevelBox = new QComboBox(this); mpSchoolLevelBox->setMinimumHeight(22); + mpSchoolLevelBox->setMinimumWidth(LOWER_RESIZE_WIDTH); mpSchoolLevelBox->setObjectName("DockPaletteWidgetComboBox"); connect(mpSchoolLevelBox, SIGNAL(currentIndexChanged(QString)), this, SLOT(onSchoolLevelChanged(QString))); - mpLayout->addWidget(mpSchoolLevelBox); + mpContainerWidgetLayout->addWidget(mpSchoolLevelBox); mpSchoolLevelValueLabel = new QLabel(this); - mpLayout->addWidget(mpSchoolLevelValueLabel); + mpContainerWidgetLayout->addWidget(mpSchoolLevelValueLabel); mpSchoolSubjectsItemLabel = new QLabel(this); mpSchoolSubjectsItemLabel->setObjectName("UBTGZeroPageItemLabel"); mpSchoolSubjectsItemLabel->setText(tr("Subjects:")); mpSchoolSubjectsItemLabel->setStyleSheet(chapterStyle); - mpLayout->addWidget(mpSchoolSubjectsItemLabel); + mpContainerWidgetLayout->addWidget(mpSchoolSubjectsItemLabel); mpSchoolSubjectsBox = new QComboBox(this); mpSchoolSubjectsBox->setMinimumHeight(22); + mpSchoolSubjectsBox->setMinimumWidth(LOWER_RESIZE_WIDTH); mpSchoolSubjectsBox->setObjectName("DockPaletteWidgetComboBox"); - mpLayout->addWidget(mpSchoolSubjectsBox); + mpContainerWidgetLayout->addWidget(mpSchoolSubjectsBox); mpSchoolSubjectsValueLabel = new QLabel(this); - mpLayout->addWidget(mpSchoolSubjectsValueLabel); + mpContainerWidgetLayout->addWidget(mpSchoolSubjectsValueLabel); mpSchoolTypeItemLabel = new QLabel(this); mpSchoolTypeItemLabel->setObjectName("UBTGZeroPageItemLabel"); mpSchoolTypeItemLabel->setText(tr("Type:")); mpSchoolTypeItemLabel->setStyleSheet(chapterStyle); - mpLayout->addWidget(mpSchoolTypeItemLabel); + mpContainerWidgetLayout->addWidget(mpSchoolTypeItemLabel); mpSchoolTypeBox = new QComboBox(this); mpSchoolTypeBox->setMinimumHeight(22); + mpSchoolTypeBox->setMinimumWidth(LOWER_RESIZE_WIDTH); mpSchoolTypeBox->setObjectName("DockPaletteWidgetComboBox"); - mpLayout->addWidget(mpSchoolTypeBox); + mpContainerWidgetLayout->addWidget(mpSchoolTypeBox); mpSchoolTypeValueLabel = new QLabel(this); - mpLayout->addWidget(mpSchoolTypeValueLabel); + mpContainerWidgetLayout->addWidget(mpSchoolTypeValueLabel); mpSeparatorIndex = new QFrame(this); mpSeparatorIndex->setFixedHeight(UBTG_SEPARATOR_FIXED_HEIGHT); mpSeparatorIndex->setObjectName("UBTGSeparator"); - mpLayout->addWidget(mpSeparatorIndex); + mpContainerWidgetLayout->addWidget(mpSeparatorIndex); mpLicenceLabel = new QLabel(this); mpLicenceLabel->setObjectName("UBTGZeroPageItemLabel"); mpLicenceLabel->setText(tr("Licence")); mpLicenceLabel->setStyleSheet(chapterStyle); - mpLayout->addWidget(mpLicenceLabel); + mpContainerWidgetLayout->addWidget(mpLicenceLabel); mpLicenceBox = new QComboBox(this); mpLicenceBox->setMinimumHeight(22); + mpLicenceBox->setMinimumWidth(LOWER_RESIZE_WIDTH); mpLicenceBox->setObjectName("DockPaletteWidgetComboBox"); - mpLayout->addWidget(mpLicenceBox); + mpContainerWidgetLayout->addWidget(mpLicenceBox); mpLicenceLayout = new QHBoxLayout(0); mpLicenceIcon = new QLabel(this); + mpLicenceIcon->setMinimumWidth(LOWER_RESIZE_WIDTH/2); mpLicenceLayout->addWidget(mpLicenceIcon); mpLicenceValueLabel = new QLabel(this); + mpLicenceValueLabel->setMinimumWidth(LOWER_RESIZE_WIDTH/2); mpLicenceLayout->addWidget(mpLicenceValueLabel); - mpLayout->addLayout(mpLicenceLayout); - mpLayout->addStretch(1); + mpContainerWidgetLayout->addLayout(mpLicenceLayout); + mpContainerWidgetLayout->addStretch(1); connect(UBApplication::boardController, SIGNAL(activeSceneChanged()), this, SLOT(onActiveSceneChanged())); fillComboBoxes(); @@ -845,6 +865,9 @@ UBTeacherGuidePageZeroWidget::~UBTeacherGuidePageZeroWidget() DELETEPTR(mpModePushButton); DELETEPTR(mpLicenceLayout); DELETEPTR(mpButtonTitleLayout); + DELETEPTR(mpContainerWidgetLayout); + DELETEPTR(mpContainerWidget); + DELETEPTR(mpScrollArea); DELETEPTR(mpLayout); } @@ -895,9 +918,9 @@ void UBTeacherGuidePageZeroWidget::fillComboBoxes() parametersFile.close(); QStringList licences; - licences << tr("Attribution CC BY") + licences << tr("Attribution-ShareAlike CC BY-SA") + << tr("Attribution CC BY") << tr("Attribution-NoDerivs CC BY-ND") - << tr("Attribution-ShareAlike CC BY-SA") << tr("Attribution-NonCommercial CC BY-NC") << tr("Attribution-NonCommercial-NoDerivs CC BY-NC-ND") << tr("Attribution-NonCommercial-ShareAlike CC BY-NC-SA") @@ -905,9 +928,9 @@ void UBTeacherGuidePageZeroWidget::fillComboBoxes() << tr("Copyright"); mpLicenceBox->addItems(licences); QStringList licenceIconList; - licenceIconList << ":images/licenses/ccby.png" + licenceIconList << ":images/licenses/ccbysa.png" + << ":images/licenses/ccby.png" << ":images/licenses/ccbynd.png" - << ":images/licenses/ccbysa.png" << ":images/licenses/ccbync.png" << ":images/licenses/ccbyncnd.png" << ":images/licenses/ccbyncsa.png"; @@ -923,7 +946,8 @@ void UBTeacherGuidePageZeroWidget::onSchoolLevelChanged(QString schoolLevel) mpSchoolSubjectsItemLabel->setEnabled(true); mpSchoolSubjectsBox->setEnabled(true); mpSchoolSubjectsBox->addItems(subjects); - } else { + } + else { mpSchoolSubjectsItemLabel->setDisabled(true); mpSchoolSubjectsBox->setDisabled(true); } @@ -1126,9 +1150,9 @@ bool UBTeacherGuidePageZeroWidget::isModified() return result; } -void UBTeacherGuidePageZeroWidget::resizeEvent(QResizeEvent* ev){ +void UBTeacherGuidePageZeroWidget::resizeEvent(QResizeEvent* ev) +{ emit resized(); - QWidget::resizeEvent(ev); } diff --git a/src/gui/UBTeacherGuideWidget.h b/src/gui/UBTeacherGuideWidget.h index a970807e..87cd081b 100644 --- a/src/gui/UBTeacherGuideWidget.h +++ b/src/gui/UBTeacherGuideWidget.h @@ -23,7 +23,7 @@ class QVBoxLayout; class QPushButton; class UBDocumentProxy; class UBGraphicsTextItem; - +class QScrollArea; #include "UBTeacherGuideWidgetsTools.h" @@ -35,6 +35,8 @@ typedef enum tUBTGZeroPageMode_PRESENTATION }tUBTGZeroPageMode; +#define LOWER_RESIZE_WIDTH 50 + /*************************************************************************** * class UBTeacherGuideEditionWidget * ***************************************************************************/ @@ -155,8 +157,13 @@ private: QVBoxLayout* mpLayout; QHBoxLayout* mpButtonTitleLayout; + QVBoxLayout* mpContainerWidgetLayout; QPushButton* mpModePushButton; QLabel* mpPageNumberLabel; + + QScrollArea* mpScrollArea; + QWidget* mpContainerWidget; + UBTGAdaptableText* mpSessionTitle; QFrame* mpSeparatorSessionTitle; 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; };