diff --git a/Sankore_3.1.pro b/Sankore_3.1.pro index 78afe48f..6d88a73c 100644 --- a/Sankore_3.1.pro +++ b/Sankore_3.1.pro @@ -12,8 +12,8 @@ linux-g++-64 { VERSION_MAJ = 1 VERSION_MIN = 40 -VERSION_TYPE = b # a = alpha, b = beta, r = release, other => error -VERSION_PATCH = 01 +VERSION_TYPE = a # a = alpha, b = beta, r = release, other => error +VERSION_PATCH = 00 VERSION = "$${VERSION_MAJ}.$${VERSION_MIN}.$${VERSION_TYPE}.$${VERSION_PATCH}" VERSION = $$replace(VERSION, "\\.r", "") diff --git a/src/customWidgets/UBWidgetList.cpp b/src/customWidgets/UBWidgetList.cpp index b025bfdb..13dca3a9 100644 --- a/src/customWidgets/UBWidgetList.cpp +++ b/src/customWidgets/UBWidgetList.cpp @@ -83,9 +83,16 @@ int UBWidgetList::scaleWidgets(QSize pSize) result += newWidgetHeight; } else{ - scaleFactor = (float)mWidgetInfo[eachWidget].height() / (float)pSize.height(); - newWidgetWidth = mWidgetInfo[eachWidget].width()/scaleFactor; - result += newWidgetWidth; + if(eWidgetListOrientation_Vertical == mOrientation){ + result += mWidgetInfo[eachWidget].height(); + eachWidget->setMinimumHeight(mWidgetInfo[eachWidget].height()); + eachWidget->setMaximumHeight(mWidgetInfo[eachWidget].height() + 1); + } + else{ + result += mWidgetInfo[eachWidget].width(); + eachWidget->setMinimumWidth(mWidgetInfo[eachWidget].width()); + eachWidget->setMaximumWidth(mWidgetInfo[eachWidget].width() + 1); + } } //Adding a vertical/horizontal space between each element of the list result += mListElementsSpacing; diff --git a/src/customWidgets/UBWidgetList.h b/src/customWidgets/UBWidgetList.h index fc7d9627..50823b08 100644 --- a/src/customWidgets/UBWidgetList.h +++ b/src/customWidgets/UBWidgetList.h @@ -22,10 +22,16 @@ class UBWidgetList : public QScrollArea { Q_OBJECT + typedef struct + { + QSize size; + bool isResizable; + } sWidgetProperties; + public: UBWidgetList(QWidget* parent=0, eWidgetListOrientation orientation = eWidgetListOrientation_Vertical, const char* name = "UBWidgetList"); ~UBWidgetList(); - void addWidget(QWidget* widget); + void addWidget(QWidget* widget, bool isResizable = true); void removeWidget(QWidget* widget); void setMargin(int margin); void setEmptyText(const QString& text); @@ -47,7 +53,7 @@ private: eWidgetListOrientation mOrientation; int mMargin; int mListElementsSpacing; - QMap mWidgetInfo; + QMap mWidgetInfo; QLabel* mpEmptyLabel; }; diff --git a/src/gui/UBMediaPlayer.cpp b/src/gui/UBMediaPlayer.cpp index cae48d13..4ac7a0a4 100644 --- a/src/gui/UBMediaPlayer.cpp +++ b/src/gui/UBMediaPlayer.cpp @@ -102,7 +102,9 @@ UBMediaPlayer::UBMediaPlayer() : vLayout->addWidget(&m_videoWindow); // m_videoWidget->setStyleSheet(QString("background:red;")); QVBoxLayout *buttonPanelLayout = new QVBoxLayout(); - m_videoWindow.hide(); +#ifndef Q_WS_WIN + m_videoWindow.hide(); +#endif // buttonPanelLayout->addLayout(layout); // timeLabel = new QLabel(this); diff --git a/src/gui/UBTeacherBarWidget.cpp b/src/gui/UBTeacherBarWidget.cpp index 87c4b4b5..6d75471a 100644 --- a/src/gui/UBTeacherBarWidget.cpp +++ b/src/gui/UBTeacherBarWidget.cpp @@ -120,7 +120,7 @@ UBTeacherBarWidget::UBTeacherBarWidget(QWidget *parent, const char *name):UBDock mpLayout->addLayout(mpActionLayout, 0); // Media - mpMediaLabel = new QLabel(tr("Media"), mpContainer); + mpMediaLabel = new QLabel(tr("Medias"), mpContainer); mpLayout->addWidget(mpMediaLabel, 0); mpMediaContainer = new UBTBMediaContainer(this); mpLayout->addWidget(mpMediaContainer, 1); @@ -391,7 +391,15 @@ void UBTeacherBarWidget::loadContent() } // Add the media - mpPreview->mediaViewer()->loadMedia(nextInfos.medias); + if(nextInfos.medias.count() > 0){ + QList widgetList; + widgetList.append(mpPreview->mediaLabel()); + mpPreview->mediaViewer()->loadWidgets(widgetList,false); + int loadedMedia = mpPreview->mediaViewer()->loadMedia(nextInfos.medias); + if(loadedMedia) + mpPreview->mediaLabel()->setVisible(true); + } + // Add the links if(!mUrlList.empty()){ @@ -910,8 +918,10 @@ void UBTeacherBarPreviewWidget::setComments(const QString &comments) mpComments->setVisible(true); mpCommentsLabel->setVisible(true); mWidgets << mpCommentsLabel; + mMediaViewer.loadWidgets(mWidgets, false); + mWidgets.clear(); mWidgets << mpComments; - mMediaViewer.loadWidgets(mWidgets); + mMediaViewer.loadWidgets(mWidgets, true); } } @@ -925,7 +935,7 @@ void UBTeacherBarPreviewWidget::hideElements() { mpActionsLabel = new QLabel(tr("Actions"), this); mpActionsLabel->setObjectName("UBTeacherBarPreviewSubtitle"); - mpMediaLabel = new QLabel(tr("Media"), this); + mpMediaLabel = new QLabel(tr("Medias"), this); mpMediaLabel->setObjectName("UBTeacherBarPreviewSubtitle"); mpCommentsLabel = new QLabel(tr("Comments"), this); mpCommentsLabel->setObjectName("UBTeacherBarPreviewSubtitle"); @@ -948,6 +958,8 @@ void UBTeacherBarPreviewWidget::setActions(QStringList actions) mWidgets.clear(); mpActionsLabel->setVisible(true); mWidgets << mpActionsLabel; + mediaViewer()->loadWidgets(mWidgets,false); + mWidgets.clear(); foreach(QString action, actions){ QStringList desc = action.split(';'); if(2 <= desc.size()){ @@ -959,7 +971,7 @@ void UBTeacherBarPreviewWidget::setActions(QStringList actions) mWidgets << mpTmpAction; } } - mMediaViewer.loadWidgets(mWidgets); + mMediaViewer.loadWidgets(mWidgets, true); } } @@ -969,12 +981,14 @@ void UBTeacherBarPreviewWidget::setLinks(QStringList links) mWidgets.clear(); mpLinksLabel->setVisible(true); mWidgets << mpLinksLabel; + mMediaViewer.loadWidgets(mWidgets, false); + mWidgets.clear(); foreach(QString link, links){ mpTmpLink = new QLabel(link, this); mpTmpLink->setOpenExternalLinks(true); mWidgets << mpTmpLink; } - mMediaViewer.loadWidgets(mWidgets); + mMediaViewer.loadWidgets(mWidgets, true); } } @@ -1014,17 +1028,18 @@ void UBTeacherBarPreviewMedia::cleanMedia() mWidgetList.clear(); } -void UBTeacherBarPreviewMedia::loadWidgets(QList pWidgetsList) +void UBTeacherBarPreviewMedia::loadWidgets(QList pWidgetsList, bool isResizable) { foreach(QWidget*eachWidget, pWidgetsList){ - mWidget->addWidget(eachWidget); + mWidget->addWidget(eachWidget,isResizable); mWidgetList[eachWidget]="DRAG UNAVAILABLE"; } } -void UBTeacherBarPreviewMedia::loadMedia(QStringList pMedias) +int UBTeacherBarPreviewMedia::loadMedia(QStringList pMedias) { + int addedMedia = 0; foreach(QString eachString, pMedias){ if(!eachString.isEmpty()){ QString mimeType = UBFileSystemUtils::mimeTypeFromFileName(eachString); @@ -1033,12 +1048,14 @@ void UBTeacherBarPreviewMedia::loadMedia(QStringList pMedias) label->loadImage(eachString); mWidget->addWidget(label); mWidgetList[label]=eachString; + addedMedia += 1; } else if(mimeType.contains("video") || mimeType.contains("audio")){ UBDraggableMediaPlayer* mediaPlayer = new UBDraggableMediaPlayer(); mediaPlayer->setFile(eachString); mWidget->addWidget(mediaPlayer); mWidgetList[mediaPlayer] = eachString; + addedMedia += 1; } else{ qWarning() << "pMediaPath" << eachString; @@ -1046,6 +1063,7 @@ void UBTeacherBarPreviewMedia::loadMedia(QStringList pMedias) } } } + return addedMedia; } // ----------------------------------------------------------------------------------------------- diff --git a/src/gui/UBTeacherBarWidget.h b/src/gui/UBTeacherBarWidget.h index e23ec228..f4341a14 100644 --- a/src/gui/UBTeacherBarWidget.h +++ b/src/gui/UBTeacherBarWidget.h @@ -88,8 +88,8 @@ class UBTeacherBarPreviewMedia : public QWidget public: UBTeacherBarPreviewMedia(QWidget* parent=0, const char* name="UBTeacherBarPreviewMedia"); ~UBTeacherBarPreviewMedia(); - void loadMedia(QStringList pMedias); - void loadWidgets(QList pWidgetList); + int loadMedia(QStringList pMedias); + void loadWidgets(QList pWidgetList, bool isResizable = true); void cleanMedia(); private: @@ -147,6 +147,7 @@ public: void setActions(QStringList actions); void setLinks(QStringList links); void clean(); + QLabel* mediaLabel() { return mpMediaLabel;} signals: void showEditMode();