Skip to content

Commit

Permalink
Always create favourites item + expand the favourites item in dock wi…
Browse files Browse the repository at this point in the history
…dget
  • Loading branch information
wonder-sk committed Apr 14, 2012
1 parent ba003e6 commit 5ea1162
Show file tree
Hide file tree
Showing 4 changed files with 17 additions and 26 deletions.
9 changes: 9 additions & 0 deletions src/app/qgsbrowserdockwidget.cpp
Expand Up @@ -135,6 +135,15 @@ void QgsBrowserDockWidget::showEvent( QShowEvent * e )
mBrowserView->setTextElideMode( Qt::ElideNone );
mBrowserView->header()->setResizeMode( 0, QHeaderView::ResizeToContents );
mBrowserView->header()->setStretchLastSection( false );

// find root favourites item
for ( int i = 0; i < mModel->rowCount(); i++ )
{
QModelIndex index = mModel->index( i, 0 );
QgsDataItem* item = mModel->dataItem( index );
if ( item && item->type() == QgsDataItem::Favourites )
mBrowserView->expand( index );
}
}

QDockWidget::showEvent( e );
Expand Down
29 changes: 5 additions & 24 deletions src/core/qgsbrowsermodel.cpp
Expand Up @@ -35,33 +35,14 @@ void QgsBrowserModel::addRootItems()
mRootItems << item;

// add favourite directories
QSettings settings;
QStringList favDirs = settings.value( "/browser/favourites", QVariant() ).toStringList();
// if there are 5 or more items, create a "Favourites" Root item
// perhaps this should be the default?
if ( favDirs.count() >= 5 )
QgsFavouritesItem *favitem = new QgsFavouritesItem( NULL, tr( "Favourites" ) );
if ( favitem )
{
QgsFavouritesItem *item = new QgsFavouritesItem( NULL, tr( "Favourites" ), "" );
if ( item )
{
connectItem( item );
mRootItems << item;
}
}
else
{
foreach( QString favDir, favDirs )
{
item = new QgsDirectoryItem( NULL, favDir, favDir );
if ( item )
{
item->setIcon( QgsFavouritesItem::iconFavourites() );
mRootItems << item;
connectItem( item );
}
}
connectItem( favitem );
mRootItems << favitem;
}

// add drives
foreach( QFileInfo drive, QDir::drives() )
{
QString path = drive.absolutePath();
Expand Down
2 changes: 1 addition & 1 deletion src/core/qgsdataitem.cpp
Expand Up @@ -642,7 +642,7 @@ QgsErrorItem::~QgsErrorItem()
QgsFavouritesItem::QgsFavouritesItem( QgsDataItem* parent, QString name, QString path )
: QgsDataCollectionItem( parent, name, path )
{
mType = Collection; //favourites?
mType = Favourites;
mIcon = iconFavourites();
}

Expand Down
3 changes: 2 additions & 1 deletion src/core/qgsdataitem.h
Expand Up @@ -48,6 +48,7 @@ class CORE_EXPORT QgsDataItem : public QObject
Directory,
Layer,
Error,
Favourites
};

QgsDataItem( QgsDataItem::Type type, QgsDataItem* parent, QString name, QString path );
Expand Down Expand Up @@ -277,7 +278,7 @@ class CORE_EXPORT QgsFavouritesItem : public QgsDataCollectionItem
{
Q_OBJECT
public:
QgsFavouritesItem( QgsDataItem* parent, QString name, QString path );
QgsFavouritesItem( QgsDataItem* parent, QString name, QString path = QString() );
~QgsFavouritesItem();

QVector<QgsDataItem*> createChildren();
Expand Down

0 comments on commit 5ea1162

Please sign in to comment.