Commit d8d05358 authored by Yimgo's avatar Yimgo

Merge branch 'master' into widget_fix

parents a75ce302 1c2069ce
...@@ -7,19 +7,6 @@ CONFIG -= flat ...@@ -7,19 +7,6 @@ CONFIG -= flat
CONFIG += debug_and_release \ CONFIG += debug_and_release \
no_include_pwd no_include_pwd
linux-g++-64 {
CONFIG += link_prl
}
linux-g++-32 {
CONFIG += link_prl
}
linux-g++ {
CONFIG += link_prl
}
VERSION_MAJ = 2 VERSION_MAJ = 2
VERSION_MIN = 00 VERSION_MIN = 00
...@@ -46,7 +33,6 @@ QT += script ...@@ -46,7 +33,6 @@ QT += script
QT += xmlpatterns QT += xmlpatterns
INCLUDEPATH += src INCLUDEPATH += src
INCLUDEPATH += plugins/cffadaptor/src
include($$THIRD_PARTY_PATH/libs.pri) include($$THIRD_PARTY_PATH/libs.pri)
include(src/adaptors/adaptors.pri) include(src/adaptors/adaptors.pri)
...@@ -70,6 +56,13 @@ include(src/customWidgets/customWidgets.pri) ...@@ -70,6 +56,13 @@ include(src/customWidgets/customWidgets.pri)
DEPENDPATH += src/pdf-merger DEPENDPATH += src/pdf-merger
INCLUDEPATH += src/pdf-merger INCLUDEPATH += src/pdf-merger
include(src/pdf-merger/pdfMerger.pri) include(src/pdf-merger/pdfMerger.pri)
#plugins
include(plugins/plugins.pri)
INCLUDEPATH += plugins/cffadaptor/src
#ThirdParty
DEPENDPATH += $$THIRD_PARTY_PATH/quazip/ DEPENDPATH += $$THIRD_PARTY_PATH/quazip/
INCLUDEPATH += $$THIRD_PARTY_PATH/quazip/ INCLUDEPATH += $$THIRD_PARTY_PATH/quazip/
include($$THIRD_PARTY_PATH/quazip/quazip.pri) include($$THIRD_PARTY_PATH/quazip/quazip.pri)
...@@ -103,9 +96,7 @@ BUILD_DIR = build ...@@ -103,9 +96,7 @@ BUILD_DIR = build
macx:BUILD_DIR = $$BUILD_DIR/macx macx:BUILD_DIR = $$BUILD_DIR/macx
win32:BUILD_DIR = $$BUILD_DIR/win32 win32:BUILD_DIR = $$BUILD_DIR/win32
linux-g++:BUILD_DIR = $$BUILD_DIR/linux linux-g++*:BUILD_DIR = $$BUILD_DIR/linux
linux-g++-32:BUILD_DIR = $$BUILD_DIR/linux
linux-g++-64:BUILD_DIR = $$BUILD_DIR/linux
CONFIG(debug, debug|release):BUILD_DIR = $$BUILD_DIR/debug CONFIG(debug, debug|release):BUILD_DIR = $$BUILD_DIR/debug
CONFIG(release, debug|release) { CONFIG(release, debug|release) {
...@@ -119,16 +110,12 @@ MOC_DIR = $$BUILD_DIR/moc ...@@ -119,16 +110,12 @@ MOC_DIR = $$BUILD_DIR/moc
RCC_DIR = $$BUILD_DIR/rcc RCC_DIR = $$BUILD_DIR/rcc
UI_DIR = $$BUILD_DIR/ui UI_DIR = $$BUILD_DIR/ui
#LIBS += "-Lplugins/cffadaptor/$$BUILD_DIR/lib" "-lCFF_Adaptor"
win32 { win32 {
RC_FILE = resources/win/sankore.rc RC_FILE = resources/win/sankore.rc
CONFIG += qaxcontainer CONFIG += qaxcontainer
exists(console):CONFIG += console exists(console):CONFIG += console
QMAKE_CXXFLAGS += \ QMAKE_CXXFLAGS += /MP
/MP QMAKE_CXXFLAGS_RELEASE += /Od /Zi
QMAKE_CXXFLAGS_RELEASE += /Od \
/Zi
QMAKE_LFLAGS_RELEASE += /DEBUG QMAKE_LFLAGS_RELEASE += /DEBUG
UB_LIBRARY.path = $$DESTDIR UB_LIBRARY.path = $$DESTDIR
UB_I18N.path = $$DESTDIR/i18n UB_I18N.path = $$DESTDIR/i18n
...@@ -360,39 +347,8 @@ macx { ...@@ -360,39 +347,8 @@ macx {
system(printf "%02x%02x%02x%02x" `printf $$VERSION_RC | cut -d ',' -f 1` `printf $$VERSION_RC | cut -d ',' -f 2` `printf $$VERSION_RC | cut -d ',' -f 3` `printf $$VERSION_RC | cut -d ',' -f 4` | xxd -r -p > "$$VERSION_RC_PATH") system(printf "%02x%02x%02x%02x" `printf $$VERSION_RC | cut -d ',' -f 1` `printf $$VERSION_RC | cut -d ',' -f 2` `printf $$VERSION_RC | cut -d ',' -f 3` `printf $$VERSION_RC | cut -d ',' -f 4` | xxd -r -p > "$$VERSION_RC_PATH")
} }
linux-g++ { linux-g++* {
LIBS += -lcrypto CONFIG += link_prl
LIBS += -lX11
QMAKE_CFLAGS += -fopenmp
QMAKE_CXXFLAGS += -fopenmp
QMAKE_LFLAGS += -fopenmp
UB_LIBRARY.path = $$DESTDIR
UB_I18N.path = $$DESTDIR/i18n
UB_ETC.path = $$DESTDIR
UB_THIRDPARTY_INTERACTIVE.path = $$DESTDIR/library
system(mkdir -p $$BUILD_DIR)
system(echo "$$VERSION" > $$BUILD_DIR/version)
system(echo "$$LONG_VERSION" > $$BUILD_DIR/longversion)
system(echo "$$SVN_VERSION" > $$BUILD_DIR/svnversion)
}
linux-g++-32 {
LIBS += -lcrypto
LIBS += -lX11
QMAKE_CFLAGS += -fopenmp
QMAKE_CXXFLAGS += -fopenmp
QMAKE_LFLAGS += -fopenmp
UB_LIBRARY.path = $$DESTDIR
UB_I18N.path = $$DESTDIR/i18n
UB_ETC.path = $$DESTDIR
UB_THIRDPARTY_INTERACTIVE.path = $$DESTDIR/library
system(mkdir -p $$BUILD_DIR)
system(echo "$$VERSION" > $$BUILD_DIR/version)
system(echo "$$LONG_VERSION" > $$BUILD_DIR/longversion)
system(echo "$$SVN_VERSION" > $$BUILD_DIR/svnversion)
}
linux-g++-64 {
LIBS += -lcrypto LIBS += -lcrypto
LIBS += -lX11 LIBS += -lX11
QMAKE_CFLAGS += -fopenmp QMAKE_CFLAGS += -fopenmp
...@@ -442,12 +398,3 @@ INSTALLS = UB_ETC \ ...@@ -442,12 +398,3 @@ INSTALLS = UB_ETC \
UB_LIBRARY \ UB_LIBRARY \
UB_THIRDPARTY_INTERACTIVE UB_THIRDPARTY_INTERACTIVE
HEADERS += \
plugins/cffadaptor/src/UBGlobals.h \
plugins/cffadaptor/src/UBCFFConstants.h \
plugins/cffadaptor/src/UBCFFAdaptor.h \
plugins/cffadaptor/src/UBCFFAdaptor_global.h
SOURCES += \
plugins/cffadaptor/src/UBCFFAdaptor.cpp
TEMPLATE = subdirs
CONFIG += ordered
CONFIG += debug_and_release
win32: SUB_DIR = win32
macx: SUB_DIR = macx
linux-g++: SUB_DIR = linux
linux-g++-32: SUB_DIR = linux
linux-g++-64: SUB_DIR = linux
BUILD_DIR = build/$$SUB_DIR
CONFIG(debug, debug|release):BUILD_DIR = $$BUILD_DIR/debug
CONFIG(release, debug|release) {
BUILD_DIR = $$BUILD_DIR/release
CONFIG += warn_off
}
SANKORE_DIR = $$PWD
SANKORE_PRO = $$SANKORE_DIR/Sankore_3.1.pro
THIRD_PARTY_DIR = $$PWD/Sankore-ThirdParty
SANKORE_PLUGINS_DIR = $$SANKORE_DIR/plugins
PLUGIN_CFF_ADAPTOR_DIR = $$SANKORE_PLUGINS_DIR/cffadaptor
PLUGIN_CFF_ADAPTOR_PRO = $$PLUGIN_CFF_ADAPTOR_DIR/UBCFFAdaptor.pro
#visoal studio sets first project as executable
contains(TEMPLATE, vcsubdirs):{
SUBDIRS = $$SANKORE_PRO $$PLUGIN_CFF_ADAPTOR_PRO
} else:{
SUBDIRS = $$PLUGIN_CFF_ADAPTOR_PRO $$SANKORE_PRO
}
$$SANKORE_PRO.depends = $$PLUGIN_CFF_ADAPTOR_PRO
This diff is collapsed.
This diff is collapsed.
HEADERS += plugins/cffadaptor/src/UBCFFAdaptor_global.h \
plugins/cffadaptor/src/UBCFFAdaptor.h \
plugins/cffadaptor/src/UBCFFConstants.h \
plugins/cffadaptor/src/UBGlobals.h
SOURCES += plugins/cffadaptor/src/UBCFFAdaptor.cpp
...@@ -23,6 +23,33 @@ ...@@ -23,6 +23,33 @@
#include "board/UBBoardController.h" #include "board/UBBoardController.h"
#include "core/memcheck.h" #include "core/memcheck.h"
UBAudioPresentationWidget::UBAudioPresentationWidget(QWidget *parent)
: QWidget(parent)
, mBorderSize(10)
, mTitleSize(10)
{
}
void UBAudioPresentationWidget::paintEvent(QPaintEvent *event)
{
QPainter painter(this);
painter.fillRect(rect(), QBrush(Qt::black));
if (QString() != mTitle)
{
painter.setPen(QPen(Qt::white));
QRect titleRect = rect();
titleRect.setX(mBorderSize);
titleRect.setY(2);
titleRect.setHeight(15);
painter.drawText(titleRect, mTitle);
}
QWidget::paintEvent(event);
}
bool UBGraphicsMediaItem::sIsMutedByDefault = false; bool UBGraphicsMediaItem::sIsMutedByDefault = false;
UBGraphicsMediaItem::UBGraphicsMediaItem(const QUrl& pMediaFileUrl, QGraphicsItem *parent) UBGraphicsMediaItem::UBGraphicsMediaItem(const QUrl& pMediaFileUrl, QGraphicsItem *parent)
...@@ -67,9 +94,9 @@ UBGraphicsMediaItem::UBGraphicsMediaItem(const QUrl& pMediaFileUrl, QGraphicsIte ...@@ -67,9 +94,9 @@ UBGraphicsMediaItem::UBGraphicsMediaItem(const QUrl& pMediaFileUrl, QGraphicsIte
mAudioOutput = new Phonon::AudioOutput(Phonon::MusicCategory, this); mAudioOutput = new Phonon::AudioOutput(Phonon::MusicCategory, this);
mMediaObject->setTickInterval(1000); mMediaObject->setTickInterval(1000);
mAudioWidget = new UBGraphicsMediaItem::UBAudioPresentationWidget(); mAudioWidget = new UBAudioPresentationWidget();
int borderSize = 0; int borderSize = 0;
UBGraphicsMediaItem::UBAudioPresentationWidget* pAudioWidget = dynamic_cast<UBGraphicsMediaItem::UBAudioPresentationWidget*>(mAudioWidget); UBAudioPresentationWidget* pAudioWidget = dynamic_cast<UBAudioPresentationWidget*>(mAudioWidget);
if (pAudioWidget) if (pAudioWidget)
{ {
borderSize = pAudioWidget->borderSize(); borderSize = pAudioWidget->borderSize();
......
...@@ -23,52 +23,27 @@ ...@@ -23,52 +23,27 @@
#include "board/UBBoardController.h" #include "board/UBBoardController.h"
#include "frameworks/UBFileSystemUtils.h" #include "frameworks/UBFileSystemUtils.h"
class UBAudioPresentationWidget : public QWidget
{
public:
UBAudioPresentationWidget(QWidget *parent = NULL);
int borderSize() {return mBorderSize;}
void setTitle(QString title = QString()){mTitle = title;}
QString getTitle(){return mTitle;}
private:
virtual void paintEvent(QPaintEvent *event);
int mBorderSize;
int mTitleSize;
QString mTitle;
};
class UBGraphicsMediaItem : public UBGraphicsProxyWidget class UBGraphicsMediaItem : public UBGraphicsProxyWidget
{ {
Q_OBJECT Q_OBJECT
public:
class UBAudioPresentationWidget : public QWidget
{
public:
UBAudioPresentationWidget(QWidget *parent = NULL)
:QWidget(parent)
, mBorderSize(10)
, mTitleSize(10)
{}
int borderSize()
{
return mBorderSize;
}
void setTitle(QString title = QString()){mTitle = title;}
QString getTitle(){return mTitle;}
private:
virtual void paintEvent(QPaintEvent *event)
{
QPainter painter(this);
painter.fillRect(rect(), QBrush(Qt::black));
if (QString() != mTitle)
{
painter.setPen(QPen(Qt::white));
QRect titleRect = rect();
titleRect.setX(mBorderSize);
titleRect.setY(2);
titleRect.setHeight(15);
painter.drawText(titleRect, mTitle);
}
QWidget::paintEvent(event);
}
int mBorderSize;
int mTitleSize;
QString mTitle;
};
public: public:
typedef enum{ typedef enum{
mediaType_Video, mediaType_Video,
...@@ -85,9 +60,6 @@ public: ...@@ -85,9 +60,6 @@ public:
return Type; return Type;
} }
void hasMediaChanged(bool hasMedia);
void showOnDisplayChanged(bool shown);
virtual QUrl mediaFileUrl() const virtual QUrl mediaFileUrl() const
{ {
return mMediaFileUrl; return mMediaFileUrl;
...@@ -125,7 +97,7 @@ public: ...@@ -125,7 +97,7 @@ public:
virtual void setSourceUrl(const QUrl &pSourceUrl) virtual void setSourceUrl(const QUrl &pSourceUrl)
{ {
UBGraphicsMediaItem::UBAudioPresentationWidget* pAudioWidget = dynamic_cast<UBGraphicsMediaItem::UBAudioPresentationWidget*>(mAudioWidget); UBAudioPresentationWidget* pAudioWidget = dynamic_cast<UBAudioPresentationWidget*>(mAudioWidget);
if (pAudioWidget) if (pAudioWidget)
{ {
pAudioWidget->setTitle(UBFileSystemUtils::lastPathComponent(pSourceUrl.toLocalFile())); pAudioWidget->setTitle(UBFileSystemUtils::lastPathComponent(pSourceUrl.toLocalFile()));
...@@ -138,6 +110,8 @@ public slots: ...@@ -138,6 +110,8 @@ public slots:
void toggleMute(); void toggleMute();
void activeSceneChanged(); void activeSceneChanged();
void hasMediaChanged(bool hasMedia);
void showOnDisplayChanged(bool shown);
protected: protected:
......
...@@ -74,17 +74,13 @@ void UBGraphicsMediaItemDelegate::buildButtons() ...@@ -74,17 +74,13 @@ void UBGraphicsMediaItemDelegate::buildButtons()
{ {
mPlayPauseButton = new DelegateButton(":/images/play.svg", mDelegated, mToolBarItem, Qt::TitleBarArea); mPlayPauseButton = new DelegateButton(":/images/play.svg", mDelegated, mToolBarItem, Qt::TitleBarArea);
connect(mPlayPauseButton, SIGNAL(clicked(bool)), this, SLOT(togglePlayPause())); connect(mPlayPauseButton, SIGNAL(clicked(bool)), this, SLOT(togglePlayPause()));
connect(mPlayPauseButton, SIGNAL(clicked(bool)), mToolBarShowTimer, SLOT(start()));
mStopButton = new DelegateButton(":/images/stop.svg", mDelegated, mToolBarItem, Qt::TitleBarArea); mStopButton = new DelegateButton(":/images/stop.svg", mDelegated, mToolBarItem, Qt::TitleBarArea);
connect(mStopButton, SIGNAL(clicked(bool)), mMedia, SLOT(stop())); connect(mStopButton, SIGNAL(clicked(bool)), mMedia, SLOT(stop()));
connect(mStopButton, SIGNAL(clicked(bool)), mToolBarShowTimer, SLOT(start()));
mMediaControl = new DelegateMediaControl(delegated(), mToolBarItem); mMediaControl = new DelegateMediaControl(delegated(), mToolBarItem);
mMediaControl->setFlag(QGraphicsItem::ItemIsSelectable, true); mMediaControl->setFlag(QGraphicsItem::ItemIsSelectable, true);
UBGraphicsItem::assignZValue(mMediaControl, delegated()->zValue()); UBGraphicsItem::assignZValue(mMediaControl, delegated()->zValue());
connect(mMediaControl, SIGNAL(used()), mToolBarShowTimer, SLOT(start()));
if (delegated()->isMuted()) if (delegated()->isMuted())
mMuteButton = new DelegateButton(":/images/soundOff.svg", mDelegated, mToolBarItem, Qt::TitleBarArea); mMuteButton = new DelegateButton(":/images/soundOff.svg", mDelegated, mToolBarItem, Qt::TitleBarArea);
...@@ -93,7 +89,6 @@ void UBGraphicsMediaItemDelegate::buildButtons() ...@@ -93,7 +89,6 @@ void UBGraphicsMediaItemDelegate::buildButtons()
connect(mMuteButton, SIGNAL(clicked(bool)), delegated(), SLOT(toggleMute())); connect(mMuteButton, SIGNAL(clicked(bool)), delegated(), SLOT(toggleMute()));
connect(mMuteButton, SIGNAL(clicked(bool)), this, SLOT(toggleMute())); // for changing button image connect(mMuteButton, SIGNAL(clicked(bool)), this, SLOT(toggleMute())); // for changing button image
connect(mMuteButton, SIGNAL(clicked(bool)), mToolBarShowTimer, SLOT(start()));
mButtons << mPlayPauseButton << mStopButton << mMuteButton; mButtons << mPlayPauseButton << mStopButton << mMuteButton;
...@@ -101,6 +96,14 @@ void UBGraphicsMediaItemDelegate::buildButtons() ...@@ -101,6 +96,14 @@ void UBGraphicsMediaItemDelegate::buildButtons()
mToolBarItem->setVisibleOnBoard(true); mToolBarItem->setVisibleOnBoard(true);
mToolBarItem->setShifting(false); mToolBarItem->setShifting(false);
if (mToolBarShowTimer)
{
connect(mPlayPauseButton, SIGNAL(clicked(bool)), mToolBarShowTimer, SLOT(start()));
connect(mStopButton, SIGNAL(clicked(bool)), mToolBarShowTimer, SLOT(start()));
connect(mMediaControl, SIGNAL(used()), mToolBarShowTimer, SLOT(start()));
connect(mMuteButton, SIGNAL(clicked(bool)), mToolBarShowTimer, SLOT(start()));
}
UBGraphicsMediaItem *audioItem = dynamic_cast<UBGraphicsMediaItem*>(mDelegated); UBGraphicsMediaItem *audioItem = dynamic_cast<UBGraphicsMediaItem*>(mDelegated);
if (audioItem) if (audioItem)
{ {
...@@ -135,7 +138,7 @@ void UBGraphicsMediaItemDelegate::positionHandles() ...@@ -135,7 +138,7 @@ void UBGraphicsMediaItemDelegate::positionHandles()
else if (mediaItem->getMediaType() == UBGraphicsMediaItem::mediaType_Audio) else if (mediaItem->getMediaType() == UBGraphicsMediaItem::mediaType_Audio)
{ {
int borderSize = 0; int borderSize = 0;
UBGraphicsMediaItem::UBAudioPresentationWidget *audioWidget = dynamic_cast<UBGraphicsMediaItem::UBAudioPresentationWidget*>(delegated()->widget()); UBAudioPresentationWidget *audioWidget = dynamic_cast<UBAudioPresentationWidget*>(delegated()->widget());
if (audioWidget) if (audioWidget)
borderSize = audioWidget->borderSize(); borderSize = audioWidget->borderSize();
...@@ -159,7 +162,7 @@ void UBGraphicsMediaItemDelegate::positionHandles() ...@@ -159,7 +162,7 @@ void UBGraphicsMediaItemDelegate::positionHandles()
} }
toolBarMinimumWidth += mToolBarItem->boundingRect().height(); toolBarMinimumWidth += mToolBarItem->boundingRect().height();
UBGraphicsMediaItem::UBAudioPresentationWidget* pAudioWidget = dynamic_cast<UBGraphicsMediaItem::UBAudioPresentationWidget*>(delegated()->widget()); UBAudioPresentationWidget* pAudioWidget = dynamic_cast<UBAudioPresentationWidget*>(delegated()->widget());
if (pAudioWidget) if (pAudioWidget)
{ {
pAudioWidget->setMinimumSize(toolBarMinimumWidth + (int)mMediaControl->lcdAreaSize().width() + (int)mMediaControl->rect().height(),26+pAudioWidget->borderSize()); pAudioWidget->setMinimumSize(toolBarMinimumWidth + (int)mMediaControl->lcdAreaSize().width() + (int)mMediaControl->rect().height(),26+pAudioWidget->borderSize());
......
...@@ -184,34 +184,6 @@ void UBPlatformUtils::fadeDisplayIn() ...@@ -184,34 +184,6 @@ void UBPlatformUtils::fadeDisplayIn()
} }
} }
//QString UBPlatformUtils::preferredTranslation(QString pFilePrefix)
//{
// QString qmPath;
// NSString* filePrefix = [[NSString alloc] initWithUTF8String:(const char*)(pFilePrefix.toUtf8())];
// NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
// NSString *lprojPath = [[[NSBundle mainBundle] pathForResource:@"Localizable" ofType:@"strings"] stringByDeletingLastPathComponent];
// if (lprojPath)
// {
// NSString *lang = [[lprojPath lastPathComponent] stringByDeletingPathExtension];
// NSString *translationFilePath = [lprojPath stringByAppendingPathComponent:[[filePrefix stringByAppendingString:lang] stringByAppendingPathExtension:@"qm"]];
// qmPath = QString::fromUtf8([translationFilePath UTF8String], strlen([translationFilePath UTF8String]));
// }
// [pool drain];
// return qmPath;
//}
//QString UBPlatformUtils::preferredLanguage()
//{
// QFileInfo qmFileInfo = QFileInfo(preferredTranslation("sankore_"));
// QDir lprojPath = qmFileInfo.dir();
// QFileInfo lprojFileInfo = QFileInfo(lprojPath.absolutePath());
// return lprojFileInfo.baseName();
//}
QStringList UBPlatformUtils::availableTranslations() QStringList UBPlatformUtils::availableTranslations()
{ {
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment