UBFeaturesWidget::UBFeaturesWidget(QWidget *parent, const char *name) : UBDockPaletteWidget(parent) , imageGatherer(NULL) { setObjectName(name); mName = "FeaturesWidget"; mVisibleState = true; SET_STYLE_SHEET(); mIconToLeft = QPixmap(":images/library_open.png"); mIconToRight = QPixmap(":images/library_close.png"); setAcceptDrops(true); //Main UBFeature functionality controller = new UBFeaturesController(this); //Main layout including all the widgets in palette layout = new QVBoxLayout(this); //Path icon view on the top of the palette pathListView = new UBFeaturesListView(this, objNamePathList); controller->assignPathListView(pathListView); centralWidget = new UBFeaturesCentralWidget(this); controller->assignFeaturesListView(centralWidget->listView()); centralWidget->setSliderPosition(UBSettings::settings()->featureSliderPosition->get().toInt()); //Bottom actionbar for DnD, quick search etc mActionBar = new UBFeaturesActionBar(controller, this); //Filling main layout layout->addWidget(pathListView); layout->addWidget(centralWidget); layout->addWidget(mActionBar); connect(centralWidget->listView(), SIGNAL(clicked(const QModelIndex &)), this, SLOT(currentSelected(const QModelIndex &))); connect(this, SIGNAL(sendFileNameList(QStringList)), centralWidget, SIGNAL(sendFileNameList(QStringList))); connect(mActionBar, SIGNAL(searchElement(const QString &)), this, SLOT( searchStarted(const QString &))); connect(mActionBar, SIGNAL(newFolderToCreate()), this, SLOT(createNewFolder())); connect(mActionBar, SIGNAL(deleteElements(const UBFeaturesMimeData *)), this, SLOT(deleteElements(const UBFeaturesMimeData *))); connect(mActionBar, SIGNAL(deleteSelectedElements()), this, SLOT(deleteSelectedElements())); connect(mActionBar, SIGNAL(addToFavorite(const UBFeaturesMimeData *)), this, SLOT(addToFavorite(const UBFeaturesMimeData *))); connect(mActionBar, SIGNAL(removeFromFavorite(const UBFeaturesMimeData *)), this, SLOT(removeFromFavorite(const UBFeaturesMimeData *))); connect(mActionBar, SIGNAL(addElementsToFavorite() ), this, SLOT ( addElementsToFavorite()) ); connect(mActionBar, SIGNAL(removeElementsFromFavorite()), this, SLOT (removeElementsFromFavorite())); connect(mActionBar, SIGNAL(rescanModel()), this, SLOT(rescanModel())); connect(pathListView, SIGNAL(clicked(const QModelIndex &)), this, SLOT(currentSelected(const QModelIndex &))); connect(UBApplication::boardController, SIGNAL(displayMetadata(QMap<QString,QString>)), this, SLOT(onDisplayMetadata( QMap<QString,QString>))); connect(UBDownloadManager::downloadManager(), SIGNAL( addDownloadedFileToLibrary( bool, QUrl, QString, QByteArray, QString)) , this, SLOT(onAddDownloadedFileToLibrary(bool, QUrl, QString,QByteArray, QString))); connect(centralWidget, SIGNAL(lockMainWidget(bool)), this, SLOT(lockIt(bool))); connect(centralWidget, SIGNAL(createNewFolderSignal(QString)), controller, SLOT(addNewFolder(QString))); connect(controller, SIGNAL(scanStarted()), centralWidget, SLOT(scanStarted())); connect(controller, SIGNAL(scanFinished()), centralWidget, SLOT(scanFinished())); connect(controller, SIGNAL(scanStarted()), mActionBar, SLOT(lockIt())); connect(controller, SIGNAL(scanFinished()), mActionBar, SLOT(unlockIt())); connect(controller, SIGNAL(maxFilesCountEvaluated(int)), centralWidget, SIGNAL(maxFilesCountEvaluated(int))); connect(controller, SIGNAL(featureAddedFromThread()), centralWidget, SIGNAL(increaseStatusBarValue())); connect(controller, SIGNAL(scanCategory(QString)), centralWidget, SIGNAL(scanCategory(QString))); connect(controller, SIGNAL(scanPath(QString)), centralWidget, SIGNAL(scanPath(QString))); }
UBFeaturesWidget::UBFeaturesWidget(QWidget *parent, const char *name):UBDockPaletteWidget(parent) { setObjectName(name); mName = "FeaturesWidget"; mVisibleState = true; SET_STYLE_SHEET(); //setAttribute(Qt::WA_StyledBackground, true); //setStyleSheet(UBApplication::globalStyleSheet()); mIconToLeft = QPixmap(":images/library_open.png"); mIconToRight = QPixmap(":images/library_close.png"); setAcceptDrops(true); stackedWidget = new QStackedWidget(this); layout = new QVBoxLayout(this); controller = new UBFeaturesController(this); featuresModel = new UBFeaturesModel(this); featuresModel->setFeaturesList( controller->getFeatures() ); featuresModel->setSupportedDragActions( Qt::CopyAction | Qt::MoveAction ); featuresListView = new UBFeaturesListView(this); pathListView = new UBFeaturesListView(this); featuresProxyModel = new UBFeaturesProxyModel(this); featuresProxyModel->setFilterFixedString( controller->getRootPath() ); featuresProxyModel->setSourceModel( featuresModel ); featuresProxyModel->setFilterCaseSensitivity( Qt::CaseInsensitive ); featuresSearchModel = new UBFeaturesSearchProxyModel(this); featuresSearchModel->setSourceModel( featuresModel ); featuresSearchModel->setFilterCaseSensitivity( Qt::CaseInsensitive ); featuresPathModel = new UBFeaturesPathProxyModel(this); featuresPathModel->setPath( controller->getRootPath() ); featuresPathModel->setSourceModel( featuresModel ); //featuresListView->setStyleSheet( QString("background: #EEEEEE;border-radius: 10px;border: 2px solid #999999;") ); featuresListView->setDragDropMode( QAbstractItemView::DragDrop ); featuresListView->setSelectionMode( QAbstractItemView::ContiguousSelection ); featuresListView->setModel( featuresProxyModel ); featuresListView->setResizeMode( QListView::Adjust ); featuresListView->setViewMode( QListView::IconMode ); itemDelegate = new UBFeaturesItemDelegate( this, featuresListView ); featuresListView->setItemDelegate( itemDelegate ); //featuresListView->setSelectionRectVisible(false); featuresListView->setIconSize( QSize(defaultThumbnailSize, defaultThumbnailSize) ); featuresListView->setGridSize( QSize(defaultThumbnailSize * 1.75, defaultThumbnailSize * 1.75) ); //pathListView->setStyleSheet( QString("background: #EEEEEE; border-radius : 10px; border : 2px solid #999999;") ); pathListView->setModel( featuresPathModel ); pathListView->setViewMode( QListView::IconMode ); pathListView->setIconSize( QSize(defaultThumbnailSize - 10, defaultThumbnailSize - 10) ); pathListView->setGridSize( QSize(defaultThumbnailSize + 10, defaultThumbnailSize - 10) ); pathListView->setFixedHeight( 60 ); pathItemDelegate = new UBFeaturesPathItemDelegate( this ); pathListView->setItemDelegate( pathItemDelegate ); pathListView->setSelectionMode( QAbstractItemView::NoSelection ); pathListView->setVerticalScrollBarPolicy( Qt::ScrollBarAlwaysOff ); pathListView->setHorizontalScrollBarPolicy( Qt::ScrollBarAlwaysOn ); pathListView->setFlow( QListView::LeftToRight ); pathListView->setWrapping(false); //pathListView->setResizeMode( QListView::Adjust ); //pathListView->setMovement( QListView::Static ); pathListView->setDragDropMode( QAbstractItemView::DropOnly ); //pathViewer = new UBFeaturesPathViewer( QPixmap(":images/libpalette/home.png"), controller->getRootPath(), pathScene, this ); featureProperties = new UBFeatureProperties(this); webView = new UBFeaturesWebView(this); //layout->addWidget( pathViewer ); //pathViewer->show(); //layout->addWidget( featuresListView ); layout->addWidget( pathListView ); layout->addWidget( stackedWidget ); stackedWidget->addWidget( featuresListView ); stackedWidget->addWidget( featureProperties ); stackedWidget->addWidget( webView ); stackedWidget->setCurrentIndex(ID_LISTVIEW); currentStackedWidget = ID_LISTVIEW; mActionBar = new UBFeaturesActionBar(controller, this); thumbSlider = new QSlider( Qt::Horizontal, featuresListView ); thumbSlider->setMinimum( minThumbnailSize ); thumbSlider->setMaximum( maxThumbnailSize ); thumbSlider->setValue( defaultThumbnailSize ); //qDebug() << "init" << featuresListView->height(); thumbSlider->move( 0, featuresListView->height() ); thumbSlider->resize( thumbSlider->width(), thumbSlider->height() + 4 ); thumbSlider->show(); featuresListView->installEventFilter(this); //layout->addWidget( thumbSlider ); layout->addWidget( mActionBar ); /*connect(featuresListView->selectionModel(), SIGNAL(currentChanged ( const QModelIndex &, const QModelIndex & )), this, SLOT(currentSelected(const QModelIndex &)));*/ connect( featuresListView, SIGNAL(clicked ( const QModelIndex & ) ), this, SLOT( currentSelected(const QModelIndex &) ) ); connect( mActionBar, SIGNAL( searchElement(const QString &) ), this, SLOT( searchStarted(const QString &) ) ); connect( mActionBar, SIGNAL( newFolderToCreate() ), this, SLOT( createNewFolder() ) ); connect( mActionBar, SIGNAL( deleteElements(const QMimeData &) ), this, SLOT( deleteElements(const QMimeData &) ) ); connect( mActionBar, SIGNAL( addToFavorite(const QMimeData &) ), this, SLOT( addToFavorite(const QMimeData &) ) ); connect( mActionBar, SIGNAL( removeFromFavorite(const QMimeData &) ), this, SLOT( removeFromFavorite(const QMimeData &) ) ); connect( mActionBar, SIGNAL( addElementsToFavorite() ), this, SLOT ( addElementsToFavorite() ) ); connect( mActionBar, SIGNAL( removeElementsFromFavorite() ), this, SLOT ( removeElementsFromFavorite() ) ); connect( mActionBar, SIGNAL( deleteSelectedElements() ), this, SLOT( deleteSelectedElements() ) ); connect( pathListView, SIGNAL(clicked( const QModelIndex & ) ), this, SLOT( currentPathChanged( const QModelIndex & ) ) ); connect( thumbSlider, SIGNAL( sliderMoved(int) ), this, SLOT(thumbnailSizeChanged( int ) ) ); connect( UBApplication::boardController, SIGNAL( displayMetadata( QMap<QString,QString> ) ), this, SLOT( onDisplayMetadata( QMap<QString,QString> ) ) ); connect( UBDownloadManager::downloadManager(), SIGNAL( addDownloadedFileToLibrary( bool, QUrl, QString, QByteArray ) ), this, SLOT( onAddDownloadedFileToLibrary( bool, QUrl, QString,QByteArray ) ) ); }