#ifndef UBLIBRARYWIDGET_H #define UBLIBRARYWIDGET_H #include #include #include #include #include #include #include #include #include #include #include #include #include "UBThumbnailWidget.h" #include "board/UBLibraryController.h" class UBLibraryWidget : public UBThumbnailWidget { Q_OBJECT public: UBLibraryWidget(QWidget* parent=0, const char* name="UBLibraryWidget"); ~UBLibraryWidget(); UBChainedLibElement* chainedElements; void setCurrentElemsAndRefresh(UBChainedLibElement* elem); void updateThumbnailsSize(int newSize); void init(); public slots: void onRefreshCurrentFolder(); void onElementsDropped(QList elements, UBLibElement* target); void onSearchElement(QString elem); void onNewFolderToCreate(); signals: void navigBarUpdate(UBLibElement* pElem); void itemsSelected(QList elemList, bool inTrash); void propertiesRequested(UBLibElement* pElem); void favoritesEntered(bool bFav); protected: void dragEnterEvent(QDragEnterEvent *event); void dragMoveEvent(QDragMoveEvent *event); void dropEvent(QDropEvent *event); private slots: void onItemClicked(QGraphicsItem* pItem, int index); void onSelectionChanged(); private: void refreshView(); void generateItems(); void appendChainedElement(UBChainedLibElement* element, UBChainedLibElement* toElem); UBLibElement* elementAt(QPoint p); UBLibElement* elementFromFilePath(const QString& filePath); UBLibraryController* libraryController(); UBLibElement* mpCrntDir; UBLibElement* mpCrntElem; QList mCurrentElems; QList mOrigCurrentElems; QList mItems; QString mCrntPath; }; class UBNewFolderDlg : public QDialog { public: UBNewFolderDlg(QWidget* parent=0, const char* name="NewFolderDlg"); ~UBNewFolderDlg(); QString folderName(); private: QLabel* mpLabel; QLineEdit* mpLineEdit; QDialogButtonBox* mpButtons; QVBoxLayout* mpLayout; QHBoxLayout* mpHLayout; }; #endif // UBLIBRARYWIDGET_H