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;
};