Commit ff9a74b1 authored by Claudio Valerio's avatar Claudio Valerio
parent e59ac4ca
...@@ -54,7 +54,6 @@ ...@@ -54,7 +54,6 @@
#include "document/UBDocumentProxy.h" #include "document/UBDocumentProxy.h"
#include "document/UBDocumentController.h" #include "document/UBDocumentController.h"
#include "board/UBLibraryController.h"
#include "board/UBDrawingController.h" #include "board/UBDrawingController.h"
#include "board/UBBoardView.h" #include "board/UBBoardView.h"
...@@ -72,7 +71,6 @@ UBBoardController::UBBoardController(UBMainWindow* mainWindow) ...@@ -72,7 +71,6 @@ UBBoardController::UBBoardController(UBMainWindow* mainWindow)
, mActiveDocument(0) , mActiveDocument(0)
, mActiveScene(0) , mActiveScene(0)
, mActiveSceneIndex(-1) , mActiveSceneIndex(-1)
, mLibraryController(0)
, mPaletteManager(0) , mPaletteManager(0)
, mSoftwareUpdateDialog(0) , mSoftwareUpdateDialog(0)
, mMessageWindow(0) , mMessageWindow(0)
...@@ -85,8 +83,6 @@ UBBoardController::UBBoardController(UBMainWindow* mainWindow) ...@@ -85,8 +83,6 @@ UBBoardController::UBBoardController(UBMainWindow* mainWindow)
, mSystemScaleFactor(1.0) , mSystemScaleFactor(1.0)
, mCleanupDone(false) , mCleanupDone(false)
{ {
mLibraryController = new UBLibraryController(mMainWindow->centralWidget(), this);
mZoomFactor = UBSettings::settings()->boardZoomFactor->get().toDouble(); mZoomFactor = UBSettings::settings()->boardZoomFactor->get().toDouble();
int penColorIndex = UBSettings::settings()->penColorIndex(); int penColorIndex = UBSettings::settings()->penColorIndex();
......
...@@ -25,7 +25,6 @@ class UBApplication; ...@@ -25,7 +25,6 @@ class UBApplication;
class UBBoardView; class UBBoardView;
class UBDocumentController; class UBDocumentController;
class UBLibraryController;
class UBMessageWindow; class UBMessageWindow;
class UBGraphicsScene; class UBGraphicsScene;
class UBDocumentProxy; class UBDocumentProxy;
...@@ -129,11 +128,6 @@ class UBBoardController : public QObject ...@@ -129,11 +128,6 @@ class UBBoardController : public QObject
return mMarkerColorOnLightBackground; return mMarkerColorOnLightBackground;
} }
UBLibraryController* libraryController()
{
return mLibraryController;
}
qreal systemScaleFactor() qreal systemScaleFactor()
{ {
return mSystemScaleFactor; return mSystemScaleFactor;
...@@ -285,7 +279,6 @@ class UBBoardController : public QObject ...@@ -285,7 +279,6 @@ class UBBoardController : public QObject
UBGraphicsScene* mActiveScene; UBGraphicsScene* mActiveScene;
int mActiveSceneIndex; int mActiveSceneIndex;
UBLibraryController* mLibraryController;
UBBoardPaletteManager *mPaletteManager; UBBoardPaletteManager *mPaletteManager;
UBSoftwareUpdateDialog *mSoftwareUpdateDialog; UBSoftwareUpdateDialog *mSoftwareUpdateDialog;
......
...@@ -49,7 +49,6 @@ ...@@ -49,7 +49,6 @@
#include "document/UBDocumentProxy.h" #include "document/UBDocumentProxy.h"
#include "podcast/UBPodcastController.h" #include "podcast/UBPodcastController.h"
#include "board/UBLibraryController.h"
#include "board/UBDrawingController.h" #include "board/UBDrawingController.h"
#include "tools/UBToolsManager.h" #include "tools/UBToolsManager.h"
...@@ -569,7 +568,8 @@ void UBBoardPaletteManager::addItemToLibrary() ...@@ -569,7 +568,8 @@ void UBBoardPaletteManager::addItemToLibrary()
, Qt::KeepAspectRatio, Qt::SmoothTransformation); , Qt::KeepAspectRatio, Qt::SmoothTransformation);
} }
QImage image = mPixmap.toImage(); QImage image = mPixmap.toImage();
UBApplication::boardController->libraryController()->importImageOnLibrary(image); //UBApplication::boardController->libraryController()->importImageOnLibrary(image);
} }
else else
{ {
...@@ -579,29 +579,6 @@ void UBBoardPaletteManager::addItemToLibrary() ...@@ -579,29 +579,6 @@ void UBBoardPaletteManager::addItemToLibrary()
mAddItemPalette->hide(); mAddItemPalette->hide();
} }
//void UBBoardPaletteManager::shareItemOnWeb()
//{
// QPixmap pixmap = mPixmap;
// if(mPixmap.isNull())
// {
// pixmap = QPixmap(mItemUrl.toLocalFile());
// }
// if(!pixmap.isNull())
// {
// UBCapturePublisher* publisher = new UBCapturePublisher(pixmap, this);
// publisher->publish();
// }
// else
// {
// UBApplication::showMessage(tr("Error Publishing Image to the Web"));
// }
// mAddItemPalette->hide();
//}
void UBBoardPaletteManager::zoomButtonPressed() void UBBoardPaletteManager::zoomButtonPressed()
{ {
mZoomButtonPressedTime = QTime::currentTime(); mZoomButtonPressedTime = QTime::currentTime();
......
...@@ -45,10 +45,10 @@ ...@@ -45,10 +45,10 @@
static quint32 magicNumber = 0xACDCAFE0; static quint32 magicNumber = 0xACDCAFE0;
static QString favoriteVirtualPath = "$favorite$"; static QString favoriteVirtualPath = "$favorite$";
UBLibraryController::UBLibraryController(QWidget *pParentWidget, UBBoardController *pBoardController) : UBLibraryController::UBLibraryController(QWidget *pParentWidget) :
QObject(pParentWidget), QObject(pParentWidget),
mParentWidget(pParentWidget), mParentWidget(pParentWidget),
mBoardController(pBoardController), mBoardController(UBApplication::boardController),
mLastItemOffsetIndex(0) mLastItemOffsetIndex(0)
{ {
readFavoriteList(); readFavoriteList();
...@@ -84,7 +84,7 @@ void UBLibraryController::createInternalWidgetItems() ...@@ -84,7 +84,7 @@ void UBLibraryController::createInternalWidgetItems()
UBToolsManager::UBToolDescriptor tool = UBToolsManager::manager()->toolByID(toolUri); UBToolsManager::UBToolDescriptor tool = UBToolsManager::manager()->toolByID(toolUri);
UBLibElement *newTool = new UBLibElement(eUBLibElementType_InteractiveItem, QUrl(tool.id), tool.label); UBLibElement *newTool = new UBLibElement(eUBLibElementType_InteractiveItem, QUrl(tool.id), tool.label);
QImage toolImage = tool.icon.toImage(); QImage toolImage = tool.icon.toImage();
newTool->setThumbnail(&toolImage); newTool->setThumbnail(toolImage);
newTool->setInformation(tool.label + " " + tool.version); newTool->setInformation(tool.label + " " + tool.version);
mInternalLibElements << newTool; mInternalLibElements << newTool;
...@@ -201,64 +201,54 @@ QList<UBLibElement*> UBLibraryController::rootCategoriesList() ...@@ -201,64 +201,54 @@ QList<UBLibElement*> UBLibraryController::rootCategoriesList()
QList<UBLibElement*> categories; QList<UBLibElement*> categories;
UBLibElement* element = new UBLibElement(eUBLibElementType_Folder, mAudioStandardDirectoryPath, tr("Audios", "Audio category element")); UBLibElement* element = new UBLibElement(eUBLibElementType_Folder, mAudioStandardDirectoryPath, tr("Audios", "Audio category element"));
QImage* categoryImage = new QImage(":images/libpalette/AudiosCategory.svg"); element->setThumbnail(QImage(":images/libpalette/AudiosCategory.svg"));
element->setThumbnail(categoryImage);
element->setMoveable(false); element->setMoveable(false);
categories << element; categories << element;
element = new UBLibElement(eUBLibElementType_Folder, mVideoStandardDirectoryPath, tr("Movies", "Movies category element")); element = new UBLibElement(eUBLibElementType_Folder, mVideoStandardDirectoryPath, tr("Movies", "Movies category element"));
categoryImage = new QImage(":images/libpalette/MoviesCategory.svg"); element->setThumbnail(QImage(":images/libpalette/MoviesCategory.svg"));
element->setThumbnail(categoryImage);
element->setMoveable(false); element->setMoveable(false);
categories << element; categories << element;
element = new UBLibElement(eUBLibElementType_Folder, mPicturesStandardDirectoryPath, tr("Pictures", "Pictures category element")); element = new UBLibElement(eUBLibElementType_Folder, mPicturesStandardDirectoryPath, tr("Pictures", "Pictures category element"));
categoryImage = new QImage(":images/libpalette/PicturesCategory.svg"); element->setThumbnail(QImage(":images/libpalette/PicturesCategory.svg"));
element->setThumbnail(categoryImage);
element->setMoveable(false); element->setMoveable(false);
categories << element; categories << element;
QString path = UBSettings::settings()->uniboardShapeLibraryDirectory(); QString path = UBSettings::settings()->uniboardShapeLibraryDirectory();
categoryImage = new QImage(":images/libpalette/ShapesCategory.svg");
element = new UBLibElement(eUBLibElementType_Folder, QUrl::fromLocalFile(path), tr("Shapes", "Shapes category element")); element = new UBLibElement(eUBLibElementType_Folder, QUrl::fromLocalFile(path), tr("Shapes", "Shapes category element"));
element->setThumbnail(categoryImage); element->setThumbnail(QImage(":images/libpalette/ShapesCategory.svg"));
element->setMoveable(false); element->setMoveable(false);
categories << element; categories << element;
categoryImage = new QImage(":images/libpalette/ApplicationsCategory.svg");
element = new UBLibElement(eUBLibElementType_Folder, mInteractiveUserDirectoryPath, tr("Applications", "Applications category element")); element = new UBLibElement(eUBLibElementType_Folder, mInteractiveUserDirectoryPath, tr("Applications", "Applications category element"));
element->setThumbnail(categoryImage); element->setThumbnail(QImage(":images/libpalette/ApplicationsCategory.svg"));
element->setMoveable(false); element->setMoveable(false);
categories << element; categories << element;
categoryImage = new QImage(":images/libpalette/FavoritesCategory.svg");
element = new UBLibElement(eUBLibElementType_VirtualFolder, favoriteVirtualPath, tr("Favorite", "Favorite category element")); element = new UBLibElement(eUBLibElementType_VirtualFolder, favoriteVirtualPath, tr("Favorite", "Favorite category element"));
element->setThumbnail(categoryImage); element->setThumbnail(QImage(":images/libpalette/FavoritesCategory.svg"));
element->setMoveable(false); element->setMoveable(false);
categories << element; categories << element;
categoryImage = new QImage(":images/libpalette/InteractivesCategory.svg");
mInteractiveCategoryPath = QUrl::fromLocalFile(UBSettings::settings()->uniboardGipLibraryDirectory()); mInteractiveCategoryPath = QUrl::fromLocalFile(UBSettings::settings()->uniboardGipLibraryDirectory());
element = new UBLibElement(eUBLibElementType_Folder, mInteractiveCategoryPath, tr("Interactivities", "Interactives category element")); element = new UBLibElement(eUBLibElementType_Folder, mInteractiveCategoryPath, tr("Interactivities", "Interactives category element"));
element->setThumbnail(categoryImage); element->setThumbnail(QImage(":images/libpalette/InteractivesCategory.svg"));
element->setMoveable(false); element->setMoveable(false);
categories << element; categories << element;
categoryImage = new QImage(":images/libpalette/FlashCategory.svg");
element = new UBLibElement(eUBLibElementType_Folder, mAnimationUserDirectoryPath, tr("Animations", "Animations category element")); element = new UBLibElement(eUBLibElementType_Folder, mAnimationUserDirectoryPath, tr("Animations", "Animations category element"));
element->setThumbnail(categoryImage); element->setThumbnail(QImage(":images/libpalette/FlashCategory.svg"));
element->setMoveable(false); element->setMoveable(false);
categories << element; categories << element;
categories << UBLibElement::trashElement(); categories << UBLibElement::trashElement();
return categories; return categories;
} }
QImage* UBLibraryController::createThumbnail(UBLibElement* pElement) QImage UBLibraryController::createThumbnail(UBLibElement* pElement)
{ {
QString thumbnailPath = UBFileSystemUtils::thumbnailPath(pElement->path().toLocalFile()); QString thumbnailPath = UBFileSystemUtils::thumbnailPath(pElement->path().toLocalFile());
QString mimetype = UBFileSystemUtils::mimeTypeFromFileName(pElement->path().toLocalFile()); QString mimetype = UBFileSystemUtils::mimeTypeFromFileName(pElement->path().toLocalFile());
...@@ -287,17 +277,17 @@ QImage* UBLibraryController::createThumbnail(UBLibElement* pElement) ...@@ -287,17 +277,17 @@ QImage* UBLibraryController::createThumbnail(UBLibElement* pElement)
} }
} }
return new QImage(thumbnailPath); return QImage(thumbnailPath);
} }
QImage* UBLibraryController::thumbnailForFile(UBLibElement* pElement) QImage UBLibraryController::thumbnailForFile(UBLibElement* pElement)
{ {
if (pElement->path().toString().contains("uniboardTool://")){ if (pElement->path().toString().contains("uniboardTool://")){
QImage* image = new QImage(UBToolsManager::manager()->iconFromToolId(pElement->path().toString())); QImage image = QImage(UBToolsManager::manager()->iconFromToolId(pElement->path().toString()));
return image; return image;
} }
if (pElement->type() == eUBLibElementType_InteractiveItem){ if (pElement->type() == eUBLibElementType_InteractiveItem){
QImage* image = new QImage(UBAbstractWidget::iconFilePath(pElement->path())); QImage image = QImage(UBAbstractWidget::iconFilePath(pElement->path()));
return image; return image;
} }
...@@ -307,7 +297,7 @@ QImage* UBLibraryController::thumbnailForFile(UBLibElement* pElement) ...@@ -307,7 +297,7 @@ QImage* UBLibraryController::thumbnailForFile(UBLibElement* pElement)
qWarning() << "thumbnailForFile impossible to create thumbnail path for the element " + pElement->path().toLocalFile(); qWarning() << "thumbnailForFile impossible to create thumbnail path for the element " + pElement->path().toLocalFile();
if (QFileInfo(thumbnailPath).exists()) if (QFileInfo(thumbnailPath).exists())
return new QImage(thumbnailPath); return QImage(thumbnailPath);
else else
return createThumbnail(pElement); return createThumbnail(pElement);
} }
...@@ -318,7 +308,8 @@ QList<UBLibElement*> UBLibraryController::addVirtualElementsForItemPath(const QS ...@@ -318,7 +308,8 @@ QList<UBLibElement*> UBLibraryController::addVirtualElementsForItemPath(const QS
if (pPath == mInteractiveUserDirectoryPath.toLocalFile()){ if (pPath == mInteractiveUserDirectoryPath.toLocalFile()){
content << listElementsInPath(UBSettings::settings()->uniboardInteractiveLibraryDirectory()); content << listElementsInPath(UBSettings::settings()->uniboardInteractiveLibraryDirectory());
content << listElementsInPath(UBSettings::settings()->uniboardInteractiveFavoritesDirectory()); content << listElementsInPath(UBSettings::settings()->uniboardInteractiveFavoritesDirectory());
content << mInternalLibElements; foreach(UBLibElement* eachElement, mInternalLibElements)
content << new UBLibElement(eachElement);
} }
else if (pPath == mPicturesStandardDirectoryPath.toLocalFile()){ else if (pPath == mPicturesStandardDirectoryPath.toLocalFile()){
QUrl path = QUrl::fromLocalFile(UBSettings::settings()->uniboardImageLibraryDirectory()); QUrl path = QUrl::fromLocalFile(UBSettings::settings()->uniboardImageLibraryDirectory());
...@@ -353,8 +344,8 @@ QList<UBLibElement*> UBLibraryController::listElementsInPath(const QString& pPat ...@@ -353,8 +344,8 @@ QList<UBLibElement*> UBLibraryController::listElementsInPath(const QString& pPat
UBLibElement *element = new UBLibElement(fileType, QUrl::fromLocalFile(fileInfo->absoluteFilePath()), itemName); UBLibElement *element = new UBLibElement(fileType, QUrl::fromLocalFile(fileInfo->absoluteFilePath()), itemName);
if (fileType == eUBLibElementType_Folder) { if (fileType == eUBLibElementType_Folder) {
QImage* directoryImage = new QImage(":images/libpalette/folder.svg"); // QImage* directoryImage = new QImage(":images/libpalette/folder.svg");
element->setThumbnail(directoryImage); element->setThumbnail(QImage(":images/libpalette/folder.svg"));
} }
else if (fileType == eUBLibElementType_Item) { else if (fileType == eUBLibElementType_Item) {
if (element->path().toLocalFile().contains(".thumbnail.")) if (element->path().toLocalFile().contains(".thumbnail."))
...@@ -373,7 +364,10 @@ QList<UBLibElement*> UBLibraryController::listElementsInPath(const QString& pPat ...@@ -373,7 +364,10 @@ QList<UBLibElement*> UBLibraryController::listElementsInPath(const QString& pPat
QList<UBLibElement*> UBLibraryController::listElementsInVirtualForlder(UBLibElement* pElement) QList<UBLibElement*> UBLibraryController::listElementsInVirtualForlder(UBLibElement* pElement)
{ {
Q_UNUSED(pElement); Q_UNUSED(pElement);
return mFavoriteList; QList<UBLibElement*> copyOfTheFavoriteList;
foreach(UBLibElement* eachElement, mFavoriteList)
copyOfTheFavoriteList << new UBLibElement(eachElement);
return copyOfTheFavoriteList;
} }
void UBLibraryController::moveContent(QList<UBLibElement*> sourceList, UBLibElement *pDestination) void UBLibraryController::moveContent(QList<UBLibElement*> sourceList, UBLibElement *pDestination)
...@@ -416,21 +410,31 @@ void UBLibraryController::emptyElementsOnTrash( QList<UBLibElement*> elementsLis ...@@ -416,21 +410,31 @@ void UBLibraryController::emptyElementsOnTrash( QList<UBLibElement*> elementsLis
} }
} }
void UBLibraryController::cleanElementsList()
{
// qDebug() << "cleanElementsList()";
// qDebug() << this;
// foreach(UBLibElement*eachElement, mElementsList)
// qDebug() << eachElement;
qDeleteAll(mElementsList);
mElementsList.clear();
}
QList<UBLibElement*> UBLibraryController::getContent(UBLibElement *element) QList<UBLibElement*> UBLibraryController::getContent(UBLibElement *element)
{ {
QList<UBLibElement*> elementsList; cleanElementsList();
switch (element->type()) { switch (element->type()) {
case eUBLibElementType_Category: { case eUBLibElementType_Category: {
elementsList = rootCategoriesList(); mElementsList = rootCategoriesList();
break; break;
} }
case eUBLibElementType_VirtualFolder: { case eUBLibElementType_VirtualFolder: {
elementsList = listElementsInVirtualForlder(element); mElementsList = listElementsInVirtualForlder(element);
break; break;
} }
case eUBLibElementType_Folder: { case eUBLibElementType_Folder: {
elementsList = listElementsInPath(element->path().toLocalFile()); mElementsList = listElementsInPath(element->path().toLocalFile());
break; break;
} }
case eUBLibElementType_Item: { case eUBLibElementType_Item: {
...@@ -443,16 +447,20 @@ QList<UBLibElement*> UBLibraryController::getContent(UBLibElement *element) ...@@ -443,16 +447,20 @@ QList<UBLibElement*> UBLibraryController::getContent(UBLibElement *element)
break; break;
} }
return elementsList; // qDebug() << "getContent()";
// qDebug() << this;
// foreach(UBLibElement*eachElement, mElementsList)
// qDebug() << eachElement;
return mElementsList;
} }
UBLibraryController::~UBLibraryController() UBLibraryController::~UBLibraryController()
{ {
cleanElementsList();
//NOOP //NOOP
} }
void UBLibraryController::setItemAsBackground(UBLibElement* image) void UBLibraryController::setItemAsBackground(UBLibElement* image)
{ {
if (!activeScene()){ if (!activeScene()){
...@@ -501,9 +509,6 @@ void UBLibraryController::addItemToPage(UBLibElement* item) ...@@ -501,9 +509,6 @@ void UBLibraryController::addItemToPage(UBLibElement* item)
else{ else{
UBApplication::showMessage(tr("Adding to page failed for item %1.").arg(item->name())); UBApplication::showMessage(tr("Adding to page failed for item %1.").arg(item->name()));
} }
} }
void UBLibraryController::removeBackground() void UBLibraryController::removeBackground()
...@@ -564,7 +569,8 @@ void UBLibraryController::readFavoriteList() ...@@ -564,7 +569,8 @@ void UBLibraryController::readFavoriteList()
eachElement->setInformation(info); eachElement->setInformation(info);
eachElement->setExtension(extension); eachElement->setExtension(extension);
eachElement->setThumbnail(thumbnailForFile(eachElement)); eachElement->setThumbnail(thumbnailForFile(eachElement));
mFavoriteList << eachElement; if(!isOnFavoriteList(eachElement))
mFavoriteList << eachElement;
} }
file.close(); file.close();
...@@ -582,10 +588,10 @@ UBLibElement* UBLibraryController::isOnFavoriteList(UBLibElement * element) ...@@ -582,10 +588,10 @@ UBLibElement* UBLibraryController::isOnFavoriteList(UBLibElement * element)
void UBLibraryController::addToFavorite(QList<UBLibElement*> elementList) void UBLibraryController::addToFavorite(QList<UBLibElement*> elementList)
{ {
foreach(UBLibElement* eachElement, elementList){ foreach(UBLibElement* eachElement, elementList)
if(!isOnFavoriteList(eachElement)) if(!isOnFavoriteList(eachElement))
mFavoriteList << eachElement; mFavoriteList << new UBLibElement(eachElement);
}
persistFavoriteList(); persistFavoriteList();
} }
...@@ -601,7 +607,8 @@ void UBLibraryController::removeFromFavorite(QList<UBLibElement*> elementList) ...@@ -601,7 +607,8 @@ void UBLibraryController::removeFromFavorite(QList<UBLibElement*> elementList)
persistFavoriteList(); persistFavoriteList();
} }
QRectF UBLibraryController::visibleSceneRect() { QRectF UBLibraryController::visibleSceneRect()
{
QRectF visibleSceneRect(0, 0, 0, 0); QRectF visibleSceneRect(0, 0, 0, 0);
if (activeScene() && mBoardController && mBoardController->controlView()) { if (activeScene() && mBoardController && mBoardController->controlView()) {
...@@ -621,7 +628,8 @@ QRectF UBLibraryController::visibleSceneRect() { ...@@ -621,7 +628,8 @@ QRectF UBLibraryController::visibleSceneRect() {
return visibleSceneRect; return visibleSceneRect;
} }
void UBLibraryController::addImagesToCurrentPage(const QList<QUrl>& images) { void UBLibraryController::addImagesToCurrentPage(const QList<QUrl>& images)
{
QPointF pos = visibleSceneRect().topLeft(); QPointF pos = visibleSceneRect().topLeft();
foreach(const QUrl url, images) foreach(const QUrl url, images)
...@@ -652,7 +660,8 @@ void UBLibraryController::addImagesToCurrentPage(const QList<QUrl>& images) { ...@@ -652,7 +660,8 @@ void UBLibraryController::addImagesToCurrentPage(const QList<QUrl>& images) {
} }
} }
void UBLibraryController::addVideosToCurrentPage(const QList<QUrl>& videos) { void UBLibraryController::addVideosToCurrentPage(const QList<QUrl>& videos)
{
QPointF pos = visibleSceneRect().topLeft(); QPointF pos = visibleSceneRect().topLeft();
foreach(const QUrl url, videos) foreach(const QUrl url, videos)
...@@ -665,7 +674,8 @@ void UBLibraryController::addVideosToCurrentPage(const QList<QUrl>& videos) { ...@@ -665,7 +674,8 @@ void UBLibraryController::addVideosToCurrentPage(const QList<QUrl>& videos) {
} }
} }
void UBLibraryController::addAudiosToCurrentPage(const QList<QUrl>& sounds) { void UBLibraryController::addAudiosToCurrentPage(const QList<QUrl>& sounds)
{
QPointF topLeftPos = visibleSceneRect().topLeft(); QPointF topLeftPos = visibleSceneRect().topLeft();
QPointF pos = topLeftPos; QPointF pos = topLeftPos;
...@@ -680,12 +690,10 @@ void UBLibraryController::addAudiosToCurrentPage(const QList<QUrl>& sounds) { ...@@ -680,12 +690,10 @@ void UBLibraryController::addAudiosToCurrentPage(const QList<QUrl>& sounds) {
} }
} }
void UBLibraryController::addInteractivesToCurrentPage( void UBLibraryController::addInteractivesToCurrentPage( const QList<QUrl>& widgets)
const QList<QUrl>& widgets) { {
foreach(const QUrl url, widgets) foreach(const QUrl url, widgets)
{
mBoardController->downloadURL(url, QPointF(0, 0)); mBoardController->downloadURL(url, QPointF(0, 0));
}
} }
QString UBLibraryController::favoritePath() QString UBLibraryController::favoritePath()
...@@ -699,6 +707,17 @@ UBLibElement::UBLibElement() { ...@@ -699,6 +707,17 @@ UBLibElement::UBLibElement() {
mbMoveable = false; mbMoveable = false;
} }
UBLibElement::UBLibElement(UBLibElement* element)
{
mType = element->type();
mPath = element->path();
mThumbnail = *element->thumbnail();
mInfo = element->information();
mName = element->name();
mExtension = element->extension();
mbMoveable = element->isMoveable();
}
UBLibElement::UBLibElement(eUBLibElementType type, const QUrl &path, const QString &name) UBLibElement::UBLibElement(eUBLibElementType type, const QUrl &path, const QString &name)
{ {
...@@ -728,7 +747,7 @@ UBLibElement::~UBLibElement() ...@@ -728,7 +747,7 @@ UBLibElement::~UBLibElement()
UBChainedLibElement::UBChainedLibElement(UBLibElement *pElem, UBChainedLibElement *pNextElem) UBChainedLibElement::UBChainedLibElement(UBLibElement *pElem, UBChainedLibElement *pNextElem)
{ {
mpElem = pElem; mpElem = new UBLibElement(pElem);
mpNextElem = pNextElem; mpNextElem = pNextElem;
} }
...@@ -747,13 +766,9 @@ void UBChainedLibElement::setNextElement(UBChainedLibElement *nextElem) ...@@ -747,13 +766,9 @@ void UBChainedLibElement::setNextElement(UBChainedLibElement *nextElem)
UBLibElement* UBLibElement::trashElement() UBLibElement* UBLibElement::trashElement()
{ {
static UBLibElement *trashElement; UBLibElement *trashElement;
if (trashElement)
return trashElement;
trashElement = new UBLibElement(eUBLibElementType_Folder, QUrl::fromLocalFile(UBSettings::trashLibraryPaletteDirPath()), QObject::tr("Trash", "Pictures category element")); trashElement = new UBLibElement(eUBLibElementType_Folder, QUrl::fromLocalFile(UBSettings::trashLibraryPaletteDirPath()), QObject::tr("Trash", "Pictures category element"));
QImage *categoryImage = new QImage(":images/libpalette/TrashCategory.svg"); trashElement->setThumbnail(QImage(":images/libpalette/TrashCategory.svg"));
trashElement->setThumbnail(categoryImage);
trashElement->setMoveable(false); trashElement->setMoveable(false);
return trashElement; return trashElement;
......
...@@ -42,6 +42,7 @@ class UBLibElement ...@@ -42,6 +42,7 @@ class UBLibElement
public: public:
UBLibElement(); UBLibElement();
UBLibElement(eUBLibElementType type, const QUrl& path, const QString& name); UBLibElement(eUBLibElementType type, const QUrl& path, const QString& name);
UBLibElement(UBLibElement* element);
~UBLibElement(); ~UBLibElement();
static UBLibElement* trashElement(); static UBLibElement* trashElement();
...@@ -51,7 +52,7 @@ public: ...@@ -51,7 +52,7 @@ public:
QUrl path(){return mPath;} QUrl path(){return mPath;}
void setPath(QUrl path){mPath = path;} void setPath(QUrl path){mPath = path;}
QImage* thumbnail(){return &mThumbnail;} QImage* thumbnail(){return &mThumbnail;}
void setThumbnail(QImage* pThumb){mThumbnail = *pThumb;} void setThumbnail(QImage pThumb){mThumbnail = pThumb;}
QString information(){return mInfo;} QString information(){return mInfo;}
void setInformation(QString info){mInfo = info;} void setInformation(QString info){mInfo = info;}
QString name(){return mName;} QString name(){return mName;}
...@@ -91,7 +92,7 @@ class UBLibraryController : public QObject ...@@ -91,7 +92,7 @@ class UBLibraryController : public QObject
Q_OBJECT; Q_OBJECT;
public: public:
UBLibraryController(QWidget *parentWidget, UBBoardController *boardController); UBLibraryController(QWidget *parentWidget);
virtual ~UBLibraryController(); virtual ~UBLibraryController();
QList<UBLibElement*> getContent(UBLibElement* pElement); QList<UBLibElement*> getContent(UBLibElement* pElement);
...@@ -134,14 +135,16 @@ class UBLibraryController : public QObject ...@@ -134,14 +135,16 @@ class UBLibraryController : public QObject
void persistFavoriteList(); void persistFavoriteList();
void readFavoriteList(); void readFavoriteList();
QList<UBLibElement*> mInternalLibElements; QList<UBLibElement*> mInternalLibElements;
QList<UBLibElement*> mElementsList;
void cleanElementsList();
private: private:
QList<UBLibElement*> rootCategoriesList(); QList<UBLibElement*> rootCategoriesList();
QList<UBLibElement*> listElementsInPath(const QString& pPath); QList<UBLibElement*> listElementsInPath(const QString& pPath);
QList<UBLibElement*> listElementsInVirtualForlder(UBLibElement* pElement); QList<UBLibElement*> listElementsInVirtualForlder(UBLibElement* pElement);
void userPath(QUrl &pPath); void userPath(QUrl &pPath);
QImage* thumbnailForFile(UBLibElement* pPath); QImage thumbnailForFile(UBLibElement* pPath);
QImage* createThumbnail(UBLibElement* pPath); QImage createThumbnail(UBLibElement* pPath);
QList<UBLibElement*> addVirtualElementsForItemPath(const QString& pPath); QList<UBLibElement*> addVirtualElementsForItemPath(const QString& pPath);
void createInternalWidgetItems(); void createInternalWidgetItems();
......
...@@ -38,7 +38,6 @@ ...@@ -38,7 +38,6 @@
#include "board/UBBoardController.h" #include "board/UBBoardController.h"
#include "board/UBDrawingController.h" #include "board/UBDrawingController.h"
#include "board/UBLibraryController.h"
#include "board/UBBoardView.h" #include "board/UBBoardView.h"
#include "web/UBWebController.h" #include "web/UBWebController.h"
...@@ -380,10 +379,10 @@ void UBApplication::toolBarDisplayTextChanged(QVariant display) ...@@ -380,10 +379,10 @@ void UBApplication::toolBarDisplayTextChanged(QVariant display)
} }
void UBApplication::closeEvent(QCloseEvent *event) void UBApplication::closeEvent(QCloseEvent *event)
{ {
Q_UNUSED(event); Q_UNUSED(event);
closing(); closing();
} }
......
...@@ -16,9 +16,9 @@ ...@@ -16,9 +16,9 @@
#include <QSize> #include <QSize>
#include <QDebug> #include <QDebug>
#include "UBLibWidget.h"
#include "UBLibActionBar.h" #include "UBLibActionBar.h"
#include "core/UBApplication.h" #include "core/UBApplication.h"
#include "board/UBBoardController.h"
#include "core/memcheck.h" #include "core/memcheck.h"
...@@ -361,7 +361,8 @@ void UBLibActionBar::onSelectionChanged(QList<UBLibElement *> itemList, bool isI ...@@ -361,7 +361,8 @@ void UBLibActionBar::onSelectionChanged(QList<UBLibElement *> itemList, bool isI
*/ */
UBLibraryController* UBLibActionBar::libraryController() UBLibraryController* UBLibActionBar::libraryController()
{ {
return UBApplication::boardController->libraryController(); UBLibWidget* libWidget = dynamic_cast<UBLibWidget*>(parentWidget());
return libWidget->libNavigator()->libraryWidget()->libraryController();
} }
/** /**
......
...@@ -12,15 +12,14 @@ ...@@ -12,15 +12,14 @@
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
#include "UBLibWidget.h"
#include "UBLibItemProperties.h" #include "UBLibItemProperties.h"
#include "core/UBApplication.h" #include "core/UBApplication.h"
#include "board/UBBoardController.h"
#include "frameworks/UBFileSystemUtils.h" #include "frameworks/UBFileSystemUtils.h"
#include "core/memcheck.h" #include "core/memcheck.h"
/** /**
...@@ -223,7 +222,8 @@ void UBLibItemProperties::adaptSize() ...@@ -223,7 +222,8 @@ void UBLibItemProperties::adaptSize()
*/ */
void UBLibItemProperties::onAddToPage() void UBLibItemProperties::onAddToPage()
{ {
UBApplication::boardController->libraryController()->addItemToPage(mpElement); UBLibWidget* libWidget = dynamic_cast<UBLibWidget*>(parentWidget()->parentWidget());
libWidget->libNavigator()->libraryWidget()->libraryController()->addItemToPage(mpElement);
} }
/** /**
...@@ -239,7 +239,8 @@ void UBLibItemProperties::onAddToLib() ...@@ -239,7 +239,8 @@ void UBLibItemProperties::onAddToLib()
*/ */
void UBLibItemProperties::onSetAsBackground() void UBLibItemProperties::onSetAsBackground()
{ {
UBApplication::boardController->libraryController()->setItemAsBackground(mpElement); UBLibWidget* libWidget = dynamic_cast<UBLibWidget*>(parentWidget()->parentWidget());
libWidget->libNavigator()->libraryWidget()->libraryController()->setItemAsBackground(mpElement);
} }
/** /**
......
...@@ -13,7 +13,7 @@ ...@@ -13,7 +13,7 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
#include "UBLibNavigatorWidget.h" #include "UBLibNavigatorWidget.h"
#include "UBRightPalette.h" #include "UBLibWidget.h"
#include "core/memcheck.h" #include "core/memcheck.h"
...@@ -27,19 +27,18 @@ static int tickIntervalForSlider = 10; ...@@ -27,19 +27,18 @@ static int tickIntervalForSlider = 10;
* @param name as the object name * @param name as the object name
*/ */
UBLibNavigatorWidget::UBLibNavigatorWidget(QWidget *parent, const char *name):QWidget(parent) UBLibNavigatorWidget::UBLibNavigatorWidget(QWidget *parent, const char *name):QWidget(parent)
, mLayout(NULL) , mLayout(NULL)
, mLibWidget(NULL) , mLibWidget(NULL)
, mPathViewer(NULL) , mPathViewer(NULL)
, mSlider(NULL) , mSlider(NULL)
, mSliderWidthSetting(NULL) , mSliderWidthSetting(NULL)
{ {
setObjectName(name); setObjectName(name);
setAcceptDrops(true); setAcceptDrops(true);
UBRightPalette* pRightPalette = dynamic_cast<UBRightPalette*>(parentWidget()); UBLibWidget* libWidget = dynamic_cast<UBLibWidget*>(parentWidget());
mLayout = new QVBoxLayout(this); mLayout = new QVBoxLayout(this);
// mLayout->setContentsMargins(20, 5, 5, 5);
setLayout(mLayout); setLayout(mLayout);
mPathViewer = new UBLibPathViewer(this); mPathViewer = new UBLibPathViewer(this);
...@@ -66,15 +65,13 @@ UBLibNavigatorWidget::UBLibNavigatorWidget(QWidget *parent, const char *name):QW ...@@ -66,15 +65,13 @@ UBLibNavigatorWidget::UBLibNavigatorWidget(QWidget *parent, const char *name):QW
connect(mSlider,SIGNAL(valueChanged(int)),this,SLOT(updateThumbnailsSize(int))); connect(mSlider,SIGNAL(valueChanged(int)),this,SLOT(updateThumbnailsSize(int)));
connect(mPathViewer, SIGNAL(elementsDropped(QList<QString>,UBLibElement*)), mLibWidget, SLOT(onElementsDropped(QList<QString>,UBLibElement*))); connect(mPathViewer, SIGNAL(elementsDropped(QList<QString>,UBLibElement*)), mLibWidget, SLOT(onElementsDropped(QList<QString>,UBLibElement*)));
if(NULL != pRightPalette)
{ connect(mLibWidget, SIGNAL(navigBarUpdate(UBLibElement*)), libWidget->actionBar(), SLOT(onNavigbarUpdate(UBLibElement*)));
connect(mLibWidget, SIGNAL(navigBarUpdate(UBLibElement*)), pRightPalette->libWidget()->actionBar(), SLOT(onNavigbarUpdate(UBLibElement*))); connect(mLibWidget, SIGNAL(itemsSelected(QList<UBLibElement*>, bool)), libWidget->actionBar(), SLOT(onSelectionChanged(QList<UBLibElement*>, bool)));
connect(mLibWidget, SIGNAL(itemsSelected(QList<UBLibElement*>, bool)), pRightPalette->libWidget()->actionBar(), SLOT(onSelectionChanged(QList<UBLibElement*>, bool))); connect(libWidget->actionBar(), SIGNAL(deleteDone()), mLibWidget, SLOT(onRefreshCurrentFolder()));
connect(pRightPalette->libWidget()->actionBar(), SIGNAL(deleteDone()), mLibWidget, SLOT(onRefreshCurrentFolder())); connect(mLibWidget, SIGNAL(favoritesEntered(bool)), libWidget->actionBar(), SLOT(onFavoritesEntered(bool)));
connect(mLibWidget, SIGNAL(favoritesEntered(bool)), pRightPalette->libWidget()->actionBar(), SLOT(onFavoritesEntered(bool))); connect(libWidget->actionBar(), SIGNAL(searchElement(QString)), mLibWidget, SLOT(onSearchElement(QString)));
connect(pRightPalette->libWidget()->actionBar(), SIGNAL(searchElement(QString)), mLibWidget, SLOT(onSearchElement(QString))); connect(libWidget->actionBar(), SIGNAL(newFolderToCreate()), mLibWidget, SLOT(onNewFolderToCreate()));
connect(pRightPalette->libWidget()->actionBar(), SIGNAL(newFolderToCreate()), mLibWidget, SLOT(onNewFolderToCreate()));
}
mLibWidget->init(); mLibWidget->init();
} }
...@@ -147,6 +144,7 @@ void UBLibNavigatorWidget::removeNextChainedElements(UBChainedLibElement *fromEl ...@@ -147,6 +144,7 @@ void UBLibNavigatorWidget::removeNextChainedElements(UBChainedLibElement *fromEl
if(NULL != fromElem->nextElement()) if(NULL != fromElem->nextElement())
{ {
removeNextChainedElements(fromElem->nextElement()); removeNextChainedElements(fromElem->nextElement());
delete fromElem->nextElement()->element();
delete fromElem->nextElement(); delete fromElem->nextElement();
fromElem->setNextElement(NULL); fromElem->setNextElement(NULL);
} }
......
...@@ -32,6 +32,8 @@ public: ...@@ -32,6 +32,8 @@ public:
~UBLibNavigatorWidget(); ~UBLibNavigatorWidget();
void dropMe(const QMimeData* _data); void dropMe(const QMimeData* _data);
UBLibraryWidget* libraryWidget(){return mLibWidget;};
signals: signals:
void propertiesRequested(UBLibElement* elem); void propertiesRequested(UBLibElement* elem);
......
/*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include <QDebug>
#include "UBLibPalette.h"
#include "core/memcheck.h"
/**
* \brief Constructor
* @param parent as the parent widget
* @param name as the object name
*/
UBLibPalette::UBLibPalette(QWidget *parent, const char *name):UBDockPalette(parent, name)
, mLayout(NULL)
, mStackedWidget(NULL)
, mNavigator(NULL)
, mProperties(NULL)
, mActionBar(NULL)
{
setOrientation(eUBDockOrientation_Right);
setAcceptDrops(true);
resize(UBSettings::settings()->libPaletteWidth->get().toInt(), parentWidget()->height());
setContentsMargins(border(), 0, 0, 0);
mCollapseWidth = 180;
mLastWidth = 300;
mLayout = new QVBoxLayout(this);
mLayout->setContentsMargins(20, customMargin(), customMargin(), customMargin());
setLayout(mLayout);
// Build the GUI
mStackedWidget = new QStackedWidget(this);
mActionBar = new UBLibActionBar(this);
mNavigator = new UBLibNavigatorWidget(this);
mProperties = new UBLibItemProperties(this);
mLayout->addWidget(mStackedWidget, 1);
mLayout->addWidget(mActionBar, 0);
mStackedWidget->addWidget(mNavigator);
mStackedWidget->addWidget(mProperties);
mStackedWidget->setCurrentIndex(ID_NAVIGATOR);
miCrntStackWidget = ID_NAVIGATOR;
connect(mNavigator, SIGNAL(propertiesRequested(UBLibElement*)), this, SLOT(showProperties(UBLibElement*)));
connect(mProperties, SIGNAL(showFolderContent()), this, SLOT(showFolder()));
}
/**
* \brief Destructor
*/
UBLibPalette::~UBLibPalette()
{
if(NULL != mProperties)
{
delete mProperties;
mProperties = NULL;
}
if(NULL != mActionBar)
{
delete mActionBar;
mActionBar = NULL;
}
}
/**
* \brief Update the maximum width
*/
void UBLibPalette::updateMaxWidth()
{
setMaximumWidth((int)((parentWidget()->width() * 2)/3));
setMaximumHeight(parentWidget()->height());
setMinimumHeight(parentWidget()->height());
}
/**
* \brief Handles the drag enter event
* @param pEvent as the drag enter event
*/
void UBLibPalette::dragEnterEvent(QDragEnterEvent *pEvent)
{
setBackgroundRole(QPalette::Highlight);
pEvent->acceptProposedAction();
}
void UBLibPalette::dragLeaveEvent(QDragLeaveEvent *pEvent)
{
pEvent->accept();
}
/**
* \brief Handles the drop event
* @param pEvent as the drop event
*/
void UBLibPalette::dropEvent(QDropEvent *pEvent)
{
processMimeData(pEvent->mimeData());
setBackgroundRole(QPalette::Dark);
mStackedWidget->setCurrentIndex(miCrntStackWidget);
pEvent->acceptProposedAction();
}
/**
* \brief Handles the drag move event
* @param pEvent as the drag move event
*/
void UBLibPalette::dragMoveEvent(QDragMoveEvent *pEvent)
{
pEvent->acceptProposedAction();
}
/**
* \brief Process the dropped MIME data
* @param pData as the mime dropped data
*/
void UBLibPalette::processMimeData(const QMimeData *pData)
{
// Display the different mime types contained in the mime data
QStringList qslFormats = pData->formats();
for(int i = 0; i < qslFormats.size(); i++)
{
qDebug() << "Dropped element format " << i << " = "<< qslFormats.at(i);
}
}
void UBLibPalette::mouseMoveEvent(QMouseEvent *event)
{
if(mCanResize)
{
UBDockPalette::mouseMoveEvent(event);
}
else
{
//qDebug() << "Mouse move event detected!" ;
}
}
void UBLibPalette::showProperties(UBLibElement *elem)
{
if(NULL != elem)
{
mActionBar->setButtons(eButtonSet_Properties);
// Show the properties of this object
mProperties->showElement(elem);
mStackedWidget->setCurrentIndex(ID_PROPERTIES);
miCrntStackWidget = ID_PROPERTIES;
}
}
void UBLibPalette::showFolder()
{
mActionBar->setButtons(mActionBar->previousButtonSet());
mStackedWidget->setCurrentIndex(ID_NAVIGATOR);
miCrntStackWidget = ID_NAVIGATOR;
}
void UBLibPalette::resizeEvent(QResizeEvent *event)
{
UBDockPalette::resizeEvent(event);
UBSettings::settings()->libPaletteWidth->set(width());
emit resized();
}
/*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef UBLIBPALETTE_H
#define UBLIBPALETTE_H
#include <QWidget>
#include <QVBoxLayout>
#include <QStackedWidget>
#include <QDragEnterEvent>
#include <QDropEvent>
#include <QDragMoveEvent>
#include <QMimeData>
#include <QMouseEvent>
#include <QResizeEvent>
#include <QLabel>
#include "UBDockPalette.h"
#include "UBLibNavigatorWidget.h"
#include "UBLibItemProperties.h"
#include "UBLibActionBar.h"
#define ID_NAVIGATOR 0
#define ID_PROPERTIES 1
class UBLibPalette : public UBDockPalette
{
Q_OBJECT
public:
UBLibPalette(QWidget* parent=0, const char* name="libPalette");
~UBLibPalette();
UBLibActionBar* actionBar(){return mActionBar;}
signals:
void resized();
protected:
void updateMaxWidth();
void dragEnterEvent(QDragEnterEvent* pEvent);
void dropEvent(QDropEvent *pEvent);
void dragMoveEvent(QDragMoveEvent* pEvent);
void dragLeaveEvent(QDragLeaveEvent* pEvent);
void mouseMoveEvent(QMouseEvent *event);
void resizeEvent(QResizeEvent *event);
private slots:
void showProperties(UBLibElement* elem);
void showFolder();
private:
void processMimeData(const QMimeData* pData);
/** The layout */
QVBoxLayout* mLayout;
/** The stacked layout */
QStackedWidget* mStackedWidget;
/** The Navigator widget */
UBLibNavigatorWidget* mNavigator;
/** The Properties widget */
UBLibItemProperties* mProperties;
/** UBLibActionBar */
UBLibActionBar* mActionBar;
/** The current stack widget index*/
int miCrntStackWidget;
};
#endif // UBLIBPALETTE_H
...@@ -42,6 +42,7 @@ public: ...@@ -42,6 +42,7 @@ public:
~UBLibWidget(); ~UBLibWidget();
UBLibActionBar* actionBar(){return mActionBar;} UBLibActionBar* actionBar(){return mActionBar;}
UBLibNavigatorWidget* libNavigator() {return mNavigator;};
signals: signals:
void resized(); void resized();
......
...@@ -12,573 +12,569 @@ ...@@ -12,573 +12,569 @@
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
#include <QList> #include <QList>
#include <QFileInfo> #include <QFileInfo>
#include "UBLibraryWidget.h" #include "UBLibraryWidget.h"
#include "core/UBSettings.h" #include "core/UBSettings.h"
#include "core/UBSetting.h" #include "core/UBSetting.h"
#include "core/UBApplication.h" #include "core/UBApplication.h"
#include "board/UBBoardController.h" #include "board/UBBoardController.h"
#include "board/UBLibraryController.h" #include "board/UBLibraryController.h"
#include "core/memcheck.h" #include "core/memcheck.h"
/** /**
* \brief Constructor * \brief Constructor
* @param parent as the parent widget * @param parent as the parent widget
* @param name as the widget object name * @param name as the widget object name
*/ */
UBLibraryWidget::UBLibraryWidget(QWidget *parent, const char *name):UBThumbnailWidget(parent) UBLibraryWidget::UBLibraryWidget(QWidget *parent, const char *name):UBThumbnailWidget(parent)
, chainedElements(NULL) , chainedElements(NULL)
, mpCrntDir(NULL) , mpCrntDir(NULL)
, mpCrntElem(NULL) , mpCrntElem(NULL)
, mCrntPath("/") {
{ setObjectName(name);
setObjectName(name); setSpacing(5);
setSpacing(5); setStyleSheet(QString("background: #EEEEEE; border-radius : 10px; border : 2px solid #999999;"));
setStyleSheet(QString("background: #EEEEEE; border-radius : 10px; border : 2px solid #999999;")); mLibraryController = new UBLibraryController(parentWidget());
} }
/** /**
* \brief Destructor * \brief Destructor
*/ */
UBLibraryWidget::~UBLibraryWidget() UBLibraryWidget::~UBLibraryWidget()
{ {
// if(NULL != chainedElements) if(mLibraryController){
// { delete mLibraryController;
// delete chainedElements; mLibraryController = NULL;
// chainedElements = NULL; }
// }
// if(NULL != mpCrntDir) // if(NULL != chainedElements)
// { // {
// delete mpCrntDir; // delete chainedElements;
// mpCrntDir = NULL; // chainedElements = NULL;
// } // }
// if(NULL != mpCrntElem) if(NULL != mpCrntDir)
// { {
// delete mpCrntElem; delete mpCrntDir;
// mpCrntElem = NULL; mpCrntDir = NULL;
// } }
} if(NULL != mpCrntElem)
{
/** delete mpCrntElem;
* \brief Initialize the widget content mpCrntElem = NULL;
*/ }
void UBLibraryWidget::init() }
{
setAcceptDrops(true); /**
mpCrntElem = new UBLibElement(); * \brief Initialize the widget content
mpCrntElem->setThumbnail(new QImage(":images/libpalette/home.png")); */
chainedElements = new UBChainedLibElement(mpCrntElem); void UBLibraryWidget::init()
QList<UBLibElement*> qlElems = libraryController()->getContent(mpCrntElem); {
mCurrentElems = qlElems; setAcceptDrops(true);
mpCrntElem = new UBLibElement();
setCurrentElemsAndRefresh(chainedElements); mpCrntElem->setThumbnail(QImage(":images/libpalette/home.png"));
chainedElements = new UBChainedLibElement(mpCrntElem);
connect(this, SIGNAL(mouseClick(QGraphicsItem*,int)), this, SLOT(onItemClicked(QGraphicsItem*,int))); QList<UBLibElement*> qlElems = mLibraryController->getContent(mpCrntElem);
connect(this, SIGNAL(selectionChanged()), this, SLOT(onSelectionChanged())); mCurrentElems = qlElems;
}
setCurrentElemsAndRefresh(chainedElements);
/**
* \brief Refresh the view connect(this, SIGNAL(mouseClick(QGraphicsItem*,int)), this, SLOT(onItemClicked(QGraphicsItem*,int)));
*/ connect(this, SIGNAL(selectionChanged()), this, SLOT(onSelectionChanged()));
void UBLibraryWidget::refreshView() }
{
// Clear the view /**
mItems.clear(); * \brief Refresh the view
mLabels.clear(); */
mItemsPaths.clear(); void UBLibraryWidget::refreshView()
mGraphicItems.clear(); {
// Clear the view
// Generate the graphics items mItems.clear();
generateItems(); mLabels.clear();
mItemsPaths.clear();
// Set the new items mGraphicItems.clear();
setGraphicsItems(mGraphicItems, mItemsPaths, mLabels);
// Generate the graphics items
// Refresh the view generateItems();
refreshScene();
// Set the new items
emit navigBarUpdate(mpCrntElem); setGraphicsItems(mGraphicItems, mItemsPaths, mLabels);
bool bFavorite = false; // Refresh the view
if(NULL != mpCrntDir && libraryController()->favoritePath() == mpCrntDir->path().toLocalFile()) refreshScene();
{
bFavorite = true; emit navigBarUpdate(mpCrntElem);
}
emit favoritesEntered(bFavorite); bool bFavorite = false;
} if(NULL != mpCrntDir && mLibraryController->favoritePath() == mpCrntDir->path().toLocalFile())
{
/** bFavorite = true;
* \brief Generate the graphic items related to the current directory }
*/ emit favoritesEntered(bFavorite);
void UBLibraryWidget::generateItems() }
{
for(int i = 0; i < mCurrentElems.size(); i++) /**
{ * \brief Generate the graphic items related to the current directory
UBLibElement* pElem = mCurrentElems.at(i); */
mLabels << pElem->name(); void UBLibraryWidget::generateItems()
mItemsPaths << pElem->path(); {
QGraphicsPixmapItem *pixmapItem = new UBThumbnailPixmap(QPixmap::fromImage(*pElem->thumbnail())); for(int i = 0; i < mCurrentElems.size(); i++)
mGraphicItems << pixmapItem; {
} UBLibElement* pElem = mCurrentElems.at(i);
} mLabels << pElem->name();
mItemsPaths << pElem->path();
/** QGraphicsPixmapItem *pixmapItem = new UBThumbnailPixmap(QPixmap::fromImage(*pElem->thumbnail()));
* \brief Handles the click on an item mGraphicItems << pixmapItem;
* @param item as the clicked item }
* @param index as the given index }
*/
void UBLibraryWidget::onItemClicked(QGraphicsItem *item, int index) /**
{ * \brief Handles the click on an item
Q_UNUSED(index); * @param item as the clicked item
if(NULL != item) * @param index as the given index
{ */
int iItem = mGraphicItems.indexOf(item); void UBLibraryWidget::onItemClicked(QGraphicsItem *item, int index)
if(0 <= iItem) {
{ Q_UNUSED(index);
UBLibElement* pElem = mCurrentElems.at(iItem); if(NULL != item)
if(NULL != pElem) {
{ int iItem = mGraphicItems.indexOf(item);
mpCrntElem = pElem; if(0 <= iItem)
if(eUBLibElementType_Folder == pElem->type() || {
eUBLibElementType_VirtualFolder == pElem->type()) UBLibElement* pElem = mCurrentElems.at(iItem);
{ if(NULL != pElem)
// Add the clicked element to the end of the elements list {
// (at this level, the user can only go down in the path) delete mpCrntElem;
UBChainedLibElement* pNextElem = new UBChainedLibElement(pElem); mpCrntElem = new UBLibElement(pElem);
appendChainedElement(pNextElem, chainedElements); if(eUBLibElementType_Folder == pElem->type() || eUBLibElementType_VirtualFolder == pElem->type()) {
// Add the clicked element to the end of the elements list
mpCrntDir = pElem; // (at this level, the user can only go down in the path)
// Display the content of the folder UBChainedLibElement* pNextElem = new UBChainedLibElement(pElem);
QList<UBLibElement*> qlElems = libraryController()->getContent(pElem); appendChainedElement(pNextElem, chainedElements);
mCurrentElems = qlElems; delete mpCrntDir;
refreshView(); mpCrntDir = new UBLibElement(pElem);
} // Display the content of the folder
else QList<UBLibElement*> qlElems = mLibraryController->getContent(mpCrntDir);
{ mCurrentElems = qlElems;
// Display the properties view refreshView();
emit propertiesRequested(pElem); }
} else
} {
} // Display the properties view
} emit propertiesRequested(pElem);
} }
}
/** }
* \brief Append the given element to the given chain }
* @param element as the element to append }
* @param toElem as the given chain
*/ /**
void UBLibraryWidget::appendChainedElement(UBChainedLibElement *element, UBChainedLibElement *toElem) * \brief Append the given element to the given chain
{ * @param element as the element to append
if(NULL != toElem) * @param toElem as the given chain
{ */
if(NULL != toElem->nextElement()) void UBLibraryWidget::appendChainedElement(UBChainedLibElement *element, UBChainedLibElement *toElem)
{ {
appendChainedElement(element, toElem->nextElement()); if(NULL != toElem)
} {
else if(NULL != toElem->nextElement())
{ {
toElem->setNextElement(element); appendChainedElement(element, toElem->nextElement());
} }
} else
} {
toElem->setNextElement(element);
/** }
* \brief Set the current element and refresh the scene }
* @param elem as the current element }
*/
void UBLibraryWidget::setCurrentElemsAndRefresh(UBChainedLibElement *elem) /**
{ * \brief Set the current element and refresh the scene
if(NULL != elem) * @param elem as the current element
{ */
UBLibElement* pLibElem = elem->element(); void UBLibraryWidget::setCurrentElemsAndRefresh(UBChainedLibElement *elem)
if(NULL != pLibElem) {
{ if(NULL != elem)
if(eUBLibElementType_Item != pLibElem->type()) {
{ UBLibElement* pLibElem = elem->element();
QList<UBLibElement*> qlElements = libraryController()->getContent(pLibElem); if(NULL != pLibElem)
mCurrentElems = qlElements; {
mpCrntElem = pLibElem; if(eUBLibElementType_Item != pLibElem->type())
refreshView(); {
mpCrntDir = pLibElem; QList<UBLibElement*> qlElements = mLibraryController->getContent(pLibElem);
bool bFavorite = false; mCurrentElems = qlElements;
if(NULL != mpCrntDir && libraryController()->favoritePath() == mpCrntDir->path().toLocalFile()) delete mpCrntElem;
{ mpCrntElem = new UBLibElement(pLibElem);
bFavorite = true; refreshView();
} delete mpCrntDir;
emit favoritesEntered(bFavorite); mpCrntDir = new UBLibElement(pLibElem);
} bool bFavorite = false;
} if(NULL != mpCrntDir && mLibraryController->favoritePath() == mpCrntDir->path().toLocalFile())
} {
} bFavorite = true;
}
/** emit favoritesEntered(bFavorite);
* \brief Handles the selection changed event }
*/ }
void UBLibraryWidget::onSelectionChanged() }
{ }
// Get the selected items
QList<UBLibElement*> qlSelectedItems; /**
QList<QGraphicsItem*> qlGI = selectedItems(); * \brief Handles the selection changed event
*/
bCanDrag = true; void UBLibraryWidget::onSelectionChanged()
foreach(QGraphicsItem* it, qlGI) {
{ // Get the selected items
int itIndex = mGraphicItems.indexOf(it); QList<UBLibElement*> qlSelectedItems;
if(0 <= itIndex) QList<QGraphicsItem*> qlGI = selectedItems();
{
UBLibElement* pElem = mCurrentElems.at(itIndex); bCanDrag = true;
if(NULL != pElem) foreach(QGraphicsItem* it, qlGI)
{ {
if(eUBLibElementType_Category != pElem->type() && int itIndex = mGraphicItems.indexOf(it);
eUBLibElementType_VirtualFolder != pElem->type()) if(0 <= itIndex)
{ {
qlSelectedItems << pElem; UBLibElement* pElem = mCurrentElems.at(itIndex);
} if(NULL != pElem)
{
if(!pElem->isMoveable()) if(eUBLibElementType_Category != pElem->type() && eUBLibElementType_VirtualFolder != pElem->type()) {
{ qlSelectedItems << pElem;
bCanDrag = false; }
}
} if(!pElem->isMoveable())
} {
} bCanDrag = false;
}
// Check if we are in the trash folder }
bool bInTrash = false; }
if(NULL != mpCrntDir) }
{
if("Trash" == mpCrntDir->name()) // Check if we are in the trash folder
{ bool bInTrash = false;
bInTrash = true; if(NULL != mpCrntDir)
} {
} if("Trash" == mpCrntDir->name())
{
// Send the signal with these items bInTrash = true;
emit itemsSelected(qlSelectedItems, bInTrash); }
} }
/** // Send the signal with these items
* \brief Handle the delete done event emit itemsSelected(qlSelectedItems, bInTrash);
*/ }
void UBLibraryWidget::onRefreshCurrentFolder()
{ /**
// Refresh the current view * \brief Handle the delete done event
mCurrentElems = libraryController()->getContent(mpCrntDir); */
refreshView(); void UBLibraryWidget::onRefreshCurrentFolder()
} {
// Refresh the current view
/** mCurrentElems = mLibraryController->getContent(mpCrntDir);
* \brief Handles the drag enter event refreshView();
* @param event as the drag enter event }
*/
void UBLibraryWidget::dragEnterEvent(QDragEnterEvent *event) /**
{ * \brief Handles the drag enter event
event->acceptProposedAction(); * @param event as the drag enter event
} */
void UBLibraryWidget::dragEnterEvent(QDragEnterEvent *event)
/** {
* \brief Handles the drag move event event->acceptProposedAction();
* @param event as the drag move event }
*/
void UBLibraryWidget::dragMoveEvent(QDragMoveEvent *event) /**
{ * \brief Handles the drag move event
UBLibElement* pElem = elementAt(event->pos()); * @param event as the drag move event
if(NULL != pElem) */
{ void UBLibraryWidget::dragMoveEvent(QDragMoveEvent *event)
// We can only drop an item into a folder {
if(eUBLibElementType_Folder == pElem->type() || UBLibElement* pElem = elementAt(event->pos());
eUBLibElementType_VirtualFolder == pElem->type()) if(NULL != pElem)
{ {
event->acceptProposedAction(); // We can only drop an item into a folder
} if(eUBLibElementType_Folder == pElem->type() ||
} eUBLibElementType_VirtualFolder == pElem->type())
} {
event->acceptProposedAction();
void UBLibraryWidget::onDropMe(const QMimeData *_data) }
{ }
Q_UNUSED(_data); }
}
void UBLibraryWidget::onDropMe(const QMimeData *_data)
/** {
* \brief Handles the drop event Q_UNUSED(_data);
* @param event as the drop event }
*/
void UBLibraryWidget::dropEvent(QDropEvent *event) /**
{ * \brief Handles the drop event
const QMimeData* pMimeData = event->mimeData(); * @param event as the drop event
if(event->source() == this) */
{ void UBLibraryWidget::dropEvent(QDropEvent *event)
event->accept(); {
const QMimeData* pMimeData = event->mimeData();
// Get the destination item if(event->source() == this)
UBLibElement* pElem = elementAt(event->pos()); {
if(NULL != pElem) event->accept();
{
if(eUBLibElementType_Folder == pElem->type()) // Get the destination item
{ UBLibElement* pElem = elementAt(event->pos());
// The drag comes from this application, we have now to get the list of UBLibElements* if(NULL != pElem)
QList<QString> qlDroppedElems; {
if(eUBLibElementType_Folder == pElem->type())
foreach(QUrl url, pMimeData->urls()) {
{ // The drag comes from this application, we have now to get the list of UBLibElements*
qlDroppedElems << url.toString(); QList<QString> qlDroppedElems;
}
foreach(QUrl url, pMimeData->urls())
if(!qlDroppedElems.empty()) {
onElementsDropped(qlDroppedElems, pElem); qlDroppedElems << url.toString();
} }
}
} if(!qlDroppedElems.empty())
else onElementsDropped(qlDroppedElems, pElem);
{ }
bool bDropAccepted = false; }
if (pMimeData->hasImage()) }
{ else
qDebug() << "hasImage"; {
QImage image = qvariant_cast<QImage>(pMimeData->imageData()); bool bDropAccepted = false;
libraryController()->importImageOnLibrary(image); if (pMimeData->hasImage())
bDropAccepted = true; {
} qDebug() << "hasImage";
else if (pMimeData->hasHtml()) QImage image = qvariant_cast<QImage>(pMimeData->imageData());
{ mLibraryController->importImageOnLibrary(image);
qDebug() << "hasHtml Unsupported yet"; bDropAccepted = true;
} }
else if (pMimeData->hasText()) else if (pMimeData->hasHtml())
{ {
// On linux external dragged element are considered as text; qDebug() << "hasHtml Unsupported yet";
qDebug() << "hasText: " << pMimeData->text(); }
QString filePath = QUrl(pMimeData->text()).toLocalFile(); else if (pMimeData->hasText())
libraryController()->importItemOnLibrary(filePath); {
bDropAccepted = true; // On linux external dragged element are considered as text;
} qDebug() << "hasText: " << pMimeData->text();
else if (pMimeData->hasUrls()) QString filePath = QUrl(pMimeData->text()).toLocalFile();
{ mLibraryController->importItemOnLibrary(filePath);
qDebug() << "hasUrls"; bDropAccepted = true;
QList<QUrl> urlList = pMimeData->urls(); }
for (int i = 0; i < urlList.size() && i < 32; ++i) else if (pMimeData->hasUrls())
{ {
QString filePath = QUrl(urlList.at(i).path()).toLocalFile(); qDebug() << "hasUrls";
libraryController()->importItemOnLibrary(filePath); QList<QUrl> urlList = pMimeData->urls();
bDropAccepted = true; for (int i = 0; i < urlList.size() && i < 32; ++i)
} {
} QString filePath = QUrl(urlList.at(i).path()).toLocalFile();
else mLibraryController->importItemOnLibrary(filePath);
{ bDropAccepted = true;
qWarning() << "Cannot import data"; }
} }
else
if(bDropAccepted) {
{ qWarning() << "Cannot import data";
onRefreshCurrentFolder(); }
event->accept();
} if(bDropAccepted)
else {
{ onRefreshCurrentFolder();
event->ignore(); event->accept();
} }
} else
} {
event->ignore();
/** }
* \brief Get the element at the given position }
* @param p as the given position }
* @return a pointer on the related element
*/ /**
UBLibElement* UBLibraryWidget::elementAt(QPoint p) * \brief Get the element at the given position
{ * @param p as the given position
QGraphicsItem* pItem = itemAt(p); * @return a pointer on the related element
if(NULL != pItem) */
{ UBLibElement* UBLibraryWidget::elementAt(QPoint p)
int iItem = mGraphicItems.indexOf(pItem); {
if(-1 != iItem) QGraphicsItem* pItem = itemAt(p);
{ if(NULL != pItem)
return mCurrentElems.at(iItem); {
} int iItem = mGraphicItems.indexOf(pItem);
} if(-1 != iItem)
{
// If no element is found, return NULL return mCurrentElems.at(iItem);
return NULL; }
} }
// If no element is found, return NULL
/** return NULL;
* \brief Get the element from the given name }
* @param name as the given element name
* @return the UBLibElement related to the given name
*/ /**
UBLibElement* UBLibraryWidget::elementFromFilePath(const QString &filePath) * \brief Get the element from the given name
{ * @param name as the given element name
UBLibElement* pElem = NULL; * @return the UBLibElement related to the given name
*/
foreach(UBLibElement* elem, mCurrentElems) UBLibElement* UBLibraryWidget::elementFromFilePath(const QString &filePath)
{ {
if(elem->path().toLocalFile() == QUrl(filePath).toLocalFile()) UBLibElement* pElem = NULL;
{
return elem; foreach(UBLibElement* elem, mCurrentElems)
} {
if(elem->path().toLocalFile() == QUrl(filePath).toLocalFile())
} {
return elem;
return pElem; }
}
}
/**
* \brief Get a pointer on the library controller return pElem;
* @return a pointer on the library controller }
*/
UBLibraryController* UBLibraryWidget::libraryController()
{ /**
return UBApplication::boardController->libraryController(); * \brief Update the thumbnails size
} * @param newSize as the thumbnail size
*/
/** void UBLibraryWidget::updateThumbnailsSize(int newSize)
* \brief Update the thumbnails size {
* @param newSize as the thumbnail size setThumbnailWidth(newSize);
*/ refreshView();
void UBLibraryWidget::updateThumbnailsSize(int newSize) }
{
setThumbnailWidth(newSize); /**
refreshView(); * \brief Handles the element dropped event
} * @param elements as the list of dropped elements
* @param target as the drop target
/** */
* \brief Handles the element dropped event void UBLibraryWidget::onElementsDropped(QList<QString> elements, UBLibElement *target)
* @param elements as the list of dropped elements {
* @param target as the drop target if(target != mpCrntDir)
*/ {
void UBLibraryWidget::onElementsDropped(QList<QString> elements, UBLibElement *target) QList<UBLibElement*> qlElements;
{
if(target != mpCrntDir) foreach(QString qsElem, elements)
{ qlElements << elementFromFilePath(qsElem);
QList<UBLibElement*> qlElements;
mLibraryController->moveContent(qlElements, target);
foreach(QString qsElem, elements) mCurrentElems = mLibraryController->getContent(mpCrntDir);
qlElements << elementFromFilePath(qsElem); refreshView();
}
libraryController()->moveContent(qlElements, target); }
mCurrentElems = libraryController()->getContent(mpCrntDir);
refreshView(); /**
} * \brief Search the element related to the given text
} * @param elem as the searched element name
*/
/** void UBLibraryWidget::onSearchElement(QString elem)
* \brief Search the element related to the given text {
* @param elem as the searched element name // Store the original list of items
*/ mOrigCurrentElems = mLibraryController->getContent(mpCrntDir);
void UBLibraryWidget::onSearchElement(QString elem)
{ // Build the filtered list
// Store the original list of items mCurrentElems.clear();
mOrigCurrentElems = libraryController()->getContent(mpCrntDir); if(elem.isEmpty())
{
// Build the filtered list mCurrentElems = mOrigCurrentElems;
mCurrentElems.clear(); }
if(elem.isEmpty()) else
{ {
mCurrentElems = mOrigCurrentElems; foreach(UBLibElement* ubLibElem, mOrigCurrentElems)
} {
else if(ubLibElem->name().toLower().contains(elem.toLower()))
{ {
foreach(UBLibElement* ubLibElem, mOrigCurrentElems) mCurrentElems << ubLibElem;
{ }
if(ubLibElem->name().toLower().contains(elem.toLower())) }
{ }
mCurrentElems << ubLibElem; refreshView();
} }
}
} /**
refreshView(); * \brief Create a new folder
} */
void UBLibraryWidget::onNewFolderToCreate()
/** {
* \brief Create a new folder // Create here a dialog asking the name of the new folder
*/ UBNewFolderDlg dlg;
void UBLibraryWidget::onNewFolderToCreate() if(QDialog::Accepted == dlg.exec())
{ {
// Create here a dialog asking the name of the new folder mLibraryController->createNewFolder(dlg.folderName(), mpCrntElem);
UBNewFolderDlg dlg; onRefreshCurrentFolder();
if(QDialog::Accepted == dlg.exec()) }
{ }
libraryController()->createNewFolder(dlg.folderName(), mpCrntElem);
onRefreshCurrentFolder(); /**
} * \brief Constructor
} * @param parent as the parent widget
* @param name as the object name
/** */
* \brief Constructor UBNewFolderDlg::UBNewFolderDlg(QWidget *parent, const char *name):QDialog(parent)
* @param parent as the parent widget , mpLabel(NULL)
* @param name as the object name , mpLineEdit(NULL)
*/ , mpButtons(NULL)
UBNewFolderDlg::UBNewFolderDlg(QWidget *parent, const char *name):QDialog(parent) , mpLayout(NULL)
, mpLabel(NULL) , mpHLayout(NULL)
, mpLineEdit(NULL) {
, mpButtons(NULL) setObjectName(name);
, mpLayout(NULL) setWindowTitle(tr("Add new folder"));
, mpHLayout(NULL)
{ mpLabel = new QLabel(tr("New Folder name:"),this);
setObjectName(name); mpLineEdit = new QLineEdit(this);
setWindowTitle(tr("Add new folder")); mpButtons = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel, Qt::Horizontal, this);
mpLayout = new QVBoxLayout(this);
mpLabel = new QLabel(tr("New Folder name:"),this); mpHLayout = new QHBoxLayout(this);
mpLineEdit = new QLineEdit(this);
mpButtons = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel, Qt::Horizontal, this); setLayout(mpLayout);
mpLayout = new QVBoxLayout(this); mpLayout->addLayout(mpHLayout, 0);
mpHLayout = new QHBoxLayout(this); mpHLayout->addWidget(mpLabel, 0);
mpHLayout->addWidget(mpLineEdit, 1);
setLayout(mpLayout); mpLayout->addWidget(mpButtons);
mpLayout->addLayout(mpHLayout, 0);
mpHLayout->addWidget(mpLabel, 0); connect(mpButtons->button(QDialogButtonBox::Ok), SIGNAL(clicked()), this, SLOT(accept()));
mpHLayout->addWidget(mpLineEdit, 1); connect(mpButtons->button(QDialogButtonBox::Cancel), SIGNAL(clicked()), this, SLOT(reject()));
mpLayout->addWidget(mpButtons);
setMaximumHeight(100);
connect(mpButtons->button(QDialogButtonBox::Ok), SIGNAL(clicked()), this, SLOT(accept())); setMinimumHeight(100);
connect(mpButtons->button(QDialogButtonBox::Cancel), SIGNAL(clicked()), this, SLOT(reject())); }
setMaximumHeight(100); /**
setMinimumHeight(100); * \brief Destructor
} */
UBNewFolderDlg::~UBNewFolderDlg()
/** {
* \brief Destructor if(NULL != mpButtons)
*/ {
UBNewFolderDlg::~UBNewFolderDlg() delete mpButtons;
{ mpButtons = NULL;
if(NULL != mpButtons) }
{ if(NULL != mpLineEdit)
delete mpButtons; {
mpButtons = NULL; delete mpLineEdit;
} mpLineEdit = NULL;
if(NULL != mpLineEdit) }
{ if(NULL != mpLabel)
delete mpLineEdit; {
mpLineEdit = NULL; delete mpLabel;
} mpLabel = NULL;
if(NULL != mpLabel) }
{ if(NULL != mpHLayout)
delete mpLabel; {
mpLabel = NULL; delete mpHLayout;
} mpHLayout = NULL;
if(NULL != mpHLayout) }
{ if(NULL != mpLayout)
delete mpHLayout; {
mpHLayout = NULL; delete mpLayout;
} mpLayout = NULL;
if(NULL != mpLayout) }
{ }
delete mpLayout;
mpLayout = NULL; /**
} * \brief Get the folder name
} * @return the entered folder name
*/
/** QString UBNewFolderDlg::folderName()
* \brief Get the folder name {
* @return the entered folder name return mpLineEdit->text();
*/ }
QString UBNewFolderDlg::folderName()
{
return mpLineEdit->text();
}
...@@ -29,7 +29,10 @@ ...@@ -29,7 +29,10 @@
#include <QVBoxLayout> #include <QVBoxLayout>
#include "UBThumbnailWidget.h" #include "UBThumbnailWidget.h"
#include "board/UBLibraryController.h"
class UBLibraryController;
class UBChainedLibElement;
class UBLibElement;
class UBLibraryWidget : public UBThumbnailWidget class UBLibraryWidget : public UBThumbnailWidget
{ {
...@@ -44,6 +47,8 @@ public: ...@@ -44,6 +47,8 @@ public:
void updateThumbnailsSize(int newSize); void updateThumbnailsSize(int newSize);
void init(); void init();
UBLibraryController* libraryController() {return mLibraryController;};
public slots: public slots:
void onRefreshCurrentFolder(); void onRefreshCurrentFolder();
void onElementsDropped(QList<QString> elements, UBLibElement* target); void onElementsDropped(QList<QString> elements, UBLibElement* target);
...@@ -71,14 +76,13 @@ private: ...@@ -71,14 +76,13 @@ private:
void appendChainedElement(UBChainedLibElement* element, UBChainedLibElement* toElem); void appendChainedElement(UBChainedLibElement* element, UBChainedLibElement* toElem);
UBLibElement* elementAt(QPoint p); UBLibElement* elementAt(QPoint p);
UBLibElement* elementFromFilePath(const QString& filePath); UBLibElement* elementFromFilePath(const QString& filePath);
UBLibraryController* libraryController(); UBLibraryController* mLibraryController;
UBLibElement* mpCrntDir; UBLibElement* mpCrntDir;
UBLibElement* mpCrntElem; UBLibElement* mpCrntElem;
QList<UBLibElement*> mCurrentElems; QList<UBLibElement*> mCurrentElems;
QList<UBLibElement*> mOrigCurrentElems; QList<UBLibElement*> mOrigCurrentElems;
QList<QGraphicsItem*> mItems; QList<QGraphicsItem*> mItems;
QString mCrntPath;
}; };
......
...@@ -29,7 +29,6 @@ HEADERS += src/gui/UBThumbnailView.h \ ...@@ -29,7 +29,6 @@ HEADERS += src/gui/UBThumbnailView.h \
src/gui/UBFavoriteToolPalette.h \ src/gui/UBFavoriteToolPalette.h \
src/gui/UBKeyboardPalette.h \ src/gui/UBKeyboardPalette.h \
src/gui/UBNavigatorPalette.h \ src/gui/UBNavigatorPalette.h \
src/gui/UBLibPalette.h \
src/gui/UBDocumentNavigator.h \ src/gui/UBDocumentNavigator.h \
src/gui/UBDockPalette.h \ src/gui/UBDockPalette.h \
src/gui/UBPropertyPalette.h \ src/gui/UBPropertyPalette.h \
...@@ -76,7 +75,6 @@ SOURCES += src/gui/UBThumbnailView.cpp \ ...@@ -76,7 +75,6 @@ SOURCES += src/gui/UBThumbnailView.cpp \
src/gui/UBFavoriteToolPalette.cpp \ src/gui/UBFavoriteToolPalette.cpp \
src/gui/UBKeyboardPalette.cpp \ src/gui/UBKeyboardPalette.cpp \
src/gui/UBNavigatorPalette.cpp \ src/gui/UBNavigatorPalette.cpp \
src/gui/UBLibPalette.cpp \
src/gui/UBDocumentNavigator.cpp \ src/gui/UBDocumentNavigator.cpp \
src/gui/UBDockPalette.cpp \ src/gui/UBDockPalette.cpp \
src/gui/UBPropertyPalette.cpp \ src/gui/UBPropertyPalette.cpp \
......
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