Changeset View
Changeset View
Standalone View
Standalone View
src/browsers/filebrowser/FileBrowser.cpp
Show First 20 Lines • Show All 54 Lines • ▼ Show 20 Line(s) | 53 | FileBrowser::Private::Private( FileBrowser *parent ) | |||
---|---|---|---|---|---|
55 | , q( parent ) | 55 | , q( parent ) | ||
56 | { | 56 | { | ||
57 | KHBox *topHBox = new KHBox( q ); | 57 | KHBox *topHBox = new KHBox( q ); | ||
58 | 58 | | |||
59 | KToolBar *navigationToolbar = new KToolBar( topHBox ); | 59 | KToolBar *navigationToolbar = new KToolBar( topHBox ); | ||
60 | navigationToolbar->setToolButtonStyle( Qt::ToolButtonIconOnly ); | 60 | navigationToolbar->setToolButtonStyle( Qt::ToolButtonIconOnly ); | ||
61 | navigationToolbar->setIconDimensions( 16 ); | 61 | navigationToolbar->setIconDimensions( 16 ); | ||
62 | 62 | | |||
63 | backAction = KStandardAction::back( q, SLOT(back()), topHBox ); | 63 | backAction = KStandardAction::back( q, &FileBrowser::back, topHBox ); | ||
64 | forwardAction = KStandardAction::forward( q, SLOT(forward()), topHBox ); | 64 | forwardAction = KStandardAction::forward( q, &FileBrowser::forward, topHBox ); | ||
65 | backAction->setEnabled( false ); | 65 | backAction->setEnabled( false ); | ||
66 | forwardAction->setEnabled( false ); | 66 | forwardAction->setEnabled( false ); | ||
67 | 67 | | |||
68 | upAction = KStandardAction::up( q, SLOT(up()), topHBox ); | 68 | upAction = KStandardAction::up( q, &FileBrowser::up, topHBox ); | ||
69 | homeAction = KStandardAction::home( q, SLOT(home()), topHBox ); | 69 | homeAction = KStandardAction::home( q, &FileBrowser::home, topHBox ); | ||
70 | refreshAction = new QAction( QIcon::fromTheme("view-refresh"), i18n( "Refresh" ), topHBox ); | 70 | refreshAction = new QAction( QIcon::fromTheme("view-refresh"), i18n( "Refresh" ), topHBox ); | ||
71 | QObject::connect( refreshAction, SIGNAL(triggered(bool)), q, SLOT(refresh()) ); | 71 | QObject::connect( refreshAction, &QAction::triggered, q, &FileBrowser::refresh ); | ||
72 | 72 | | |||
73 | navigationToolbar->addAction( backAction ); | 73 | navigationToolbar->addAction( backAction ); | ||
74 | navigationToolbar->addAction( forwardAction ); | 74 | navigationToolbar->addAction( forwardAction ); | ||
75 | navigationToolbar->addAction( upAction ); | 75 | navigationToolbar->addAction( upAction ); | ||
76 | navigationToolbar->addAction( homeAction ); | 76 | navigationToolbar->addAction( homeAction ); | ||
77 | navigationToolbar->addAction( refreshAction ); | 77 | navigationToolbar->addAction( refreshAction ); | ||
78 | 78 | | |||
79 | searchWidget = new SearchWidget( topHBox, false ); | 79 | searchWidget = new SearchWidget( topHBox, false ); | ||
▲ Show 20 Lines • Show All 150 Lines • ▼ Show 20 Line(s) | 218 | { | |||
230 | 230 | | |||
231 | initView(); | 231 | initView(); | ||
232 | } | 232 | } | ||
233 | 233 | | |||
234 | void | 234 | void | ||
235 | FileBrowser::initView() | 235 | FileBrowser::initView() | ||
236 | { | 236 | { | ||
237 | d->bottomPlacesModel = new FilePlacesModel( this ); | 237 | d->bottomPlacesModel = new FilePlacesModel( this ); | ||
238 | connect( d->bottomPlacesModel, SIGNAL(setupDone(QModelIndex,bool)), | 238 | connect( d->bottomPlacesModel, &KFilePlacesModel::setupDone, | ||
239 | SLOT(setupDone(QModelIndex,bool)) ); | 239 | this, &FileBrowser::setupDone ); | ||
240 | d->placesModel = new QSortFilterProxyModel( this ); | 240 | d->placesModel = new QSortFilterProxyModel( this ); | ||
241 | d->placesModel->setSourceModel( d->bottomPlacesModel ); | 241 | d->placesModel->setSourceModel( d->bottomPlacesModel ); | ||
242 | d->placesModel->setSortRole( -1 ); | 242 | d->placesModel->setSortRole( -1 ); | ||
243 | d->placesModel->setDynamicSortFilter( true ); | 243 | d->placesModel->setDynamicSortFilter( true ); | ||
244 | d->placesModel->setFilterRole( KFilePlacesModel::HiddenRole ); | 244 | d->placesModel->setFilterRole( KFilePlacesModel::HiddenRole ); | ||
245 | // HiddenRole is bool, but QVariant( false ).toString() gives "false" | 245 | // HiddenRole is bool, but QVariant( false ).toString() gives "false" | ||
246 | d->placesModel->setFilterFixedString( "false" ); | 246 | d->placesModel->setFilterFixedString( "false" ); | ||
247 | d->placesModel->setObjectName( "PLACESMODEL"); | 247 | d->placesModel->setObjectName( "PLACESMODEL"); | ||
248 | 248 | | |||
249 | d->kdirModel = new DirBrowserModel( this ); | 249 | d->kdirModel = new DirBrowserModel( this ); | ||
250 | d->mimeFilterProxyModel = new DirPlaylistTrackFilterProxyModel( this ); | 250 | d->mimeFilterProxyModel = new DirPlaylistTrackFilterProxyModel( this ); | ||
251 | d->mimeFilterProxyModel->setSourceModel( d->kdirModel ); | 251 | d->mimeFilterProxyModel->setSourceModel( d->kdirModel ); | ||
252 | d->mimeFilterProxyModel->setSortCaseSensitivity( Qt::CaseInsensitive ); | 252 | d->mimeFilterProxyModel->setSortCaseSensitivity( Qt::CaseInsensitive ); | ||
253 | d->mimeFilterProxyModel->setFilterCaseSensitivity( Qt::CaseInsensitive ); | 253 | d->mimeFilterProxyModel->setFilterCaseSensitivity( Qt::CaseInsensitive ); | ||
254 | d->mimeFilterProxyModel->setDynamicSortFilter( true ); | 254 | d->mimeFilterProxyModel->setDynamicSortFilter( true ); | ||
255 | connect( d->searchWidget, SIGNAL(filterChanged(QString)), | 255 | connect( d->searchWidget, &SearchWidget::filterChanged, | ||
256 | d->mimeFilterProxyModel, SLOT(setFilterFixedString(QString)) ); | 256 | d->mimeFilterProxyModel, &DirPlaylistTrackFilterProxyModel::setFilterFixedString ); | ||
257 | 257 | | |||
258 | d->fileView->setModel( d->mimeFilterProxyModel ); | 258 | d->fileView->setModel( d->mimeFilterProxyModel ); | ||
259 | d->fileView->header()->setContextMenuPolicy( Qt::ActionsContextMenu ); | 259 | d->fileView->header()->setContextMenuPolicy( Qt::ActionsContextMenu ); | ||
260 | d->fileView->header()->setVisible( true ); | 260 | d->fileView->header()->setVisible( true ); | ||
261 | d->fileView->setDragEnabled( true ); | 261 | d->fileView->setDragEnabled( true ); | ||
262 | d->fileView->setSortingEnabled( true ); | 262 | d->fileView->setSortingEnabled( true ); | ||
263 | d->fileView->setSelectionMode( QAbstractItemView::ExtendedSelection ); | 263 | d->fileView->setSelectionMode( QAbstractItemView::ExtendedSelection ); | ||
264 | d->readConfig(); | 264 | d->readConfig(); | ||
265 | d->restoreHeaderState(); | 265 | d->restoreHeaderState(); | ||
266 | 266 | | |||
267 | setDir( d->currentPath ); | 267 | setDir( d->currentPath ); | ||
268 | 268 | | |||
269 | for( int i = 0, columns = d->fileView->model()->columnCount(); i < columns ; ++i ) | 269 | for( int i = 0, columns = d->fileView->model()->columnCount(); i < columns ; ++i ) | ||
270 | { | 270 | { | ||
271 | QAction *action = | 271 | QAction *action = | ||
272 | new QAction( d->fileView->model()->headerData( i, Qt::Horizontal ).toString(), | 272 | new QAction( d->fileView->model()->headerData( i, Qt::Horizontal ).toString(), | ||
273 | d->fileView->header() | 273 | d->fileView->header() | ||
274 | ); | 274 | ); | ||
275 | d->fileView->header()->addAction( action ); | 275 | d->fileView->header()->addAction( action ); | ||
276 | d->columnActions.append( action ); | 276 | d->columnActions.append( action ); | ||
277 | action->setCheckable( true ); | 277 | action->setCheckable( true ); | ||
278 | if( !d->fileView->isColumnHidden( i ) ) | 278 | if( !d->fileView->isColumnHidden( i ) ) | ||
279 | action->setChecked( true ); | 279 | action->setChecked( true ); | ||
280 | connect( action, SIGNAL(toggled(bool)), this, SLOT(toggleColumn(bool)) ); | 280 | connect( action, &QAction::toggled, this, &FileBrowser::toggleColumn ); | ||
281 | } | 281 | } | ||
282 | 282 | | |||
283 | connect( d->fileView->header(), SIGNAL(geometriesChanged()), | 283 | connect( d->fileView->header(), &QHeaderView::geometriesChanged, | ||
284 | SLOT(updateHeaderState()) ); | 284 | this, &FileBrowser::updateHeaderState ); | ||
285 | connect( d->fileView, SIGNAL(navigateToDirectory(QModelIndex)), | 285 | connect( d->fileView, &FileView::navigateToDirectory, | ||
286 | SLOT(slotNavigateToDirectory(QModelIndex)) ); | 286 | this, &FileBrowser::slotNavigateToDirectory ); | ||
287 | connect( d->fileView, SIGNAL(refreshBrowser()), | 287 | connect( d->fileView, &FileView::refreshBrowser, | ||
288 | SLOT(refresh()) ); | 288 | this, &FileBrowser::refresh ); | ||
289 | } | 289 | } | ||
290 | 290 | | |||
291 | void | ||||
292 | FileBrowser::updateHeaderState() | ||||
293 | { | ||||
294 | d->updateHeaderState(); | ||||
295 | } | ||||
296 | | ||||
297 | | ||||
291 | FileBrowser::~FileBrowser() | 298 | FileBrowser::~FileBrowser() | ||
292 | { | 299 | { | ||
293 | if( d->fileView->model() == d->mimeFilterProxyModel && d->currentPath != placesUrl ) | 300 | if( d->fileView->model() == d->mimeFilterProxyModel && d->currentPath != placesUrl ) | ||
294 | d->saveHeaderState(); | 301 | d->saveHeaderState(); | ||
295 | delete d; | 302 | delete d; | ||
296 | } | 303 | } | ||
297 | 304 | | |||
298 | void | 305 | void | ||
▲ Show 20 Lines • Show All 302 Lines • ▼ Show 20 Line(s) | 601 | { | |||
601 | 608 | | |||
602 | // short-cut for already-filled models | 609 | // short-cut for already-filled models | ||
603 | if( model->rowCount() > 0 ) | 610 | if( model->rowCount() > 0 ) | ||
604 | { | 611 | { | ||
605 | slotRowsInserted( QModelIndex(), 0 ); | 612 | slotRowsInserted( QModelIndex(), 0 ); | ||
606 | return; | 613 | return; | ||
607 | } | 614 | } | ||
608 | 615 | | |||
609 | connect( model, SIGNAL(rowsInserted(QModelIndex,int,int)), | 616 | connect( model, &QAbstractItemModel::rowsInserted, this, &DelayedActivator::slotRowsInserted ); | ||
610 | SLOT(slotRowsInserted(QModelIndex,int)) ); | | |||
611 | 617 | | |||
612 | connect( model, SIGNAL(destroyed(QObject*)), SLOT(deleteLater()) ); | 618 | connect( model, &QAbstractItemModel::destroyed, this, &DelayedActivator::deleteLater ); | ||
613 | connect( model, SIGNAL(layoutChanged()), SLOT(deleteLater()) ); | 619 | connect( model, &QAbstractItemModel::layoutChanged, this, &DelayedActivator::deleteLater ); | ||
614 | connect( model, SIGNAL(modelReset()), SLOT(deleteLater()) ); | 620 | connect( model, &QAbstractItemModel::modelReset, this, &DelayedActivator::deleteLater ); | ||
615 | } | 621 | } | ||
616 | 622 | | |||
617 | void | 623 | void | ||
618 | DelayedActivator::slotRowsInserted( const QModelIndex &parent, int start ) | 624 | DelayedActivator::slotRowsInserted( const QModelIndex &parent, int start ) | ||
619 | { | 625 | { | ||
620 | QAbstractItemModel *model = m_view->model(); | 626 | QAbstractItemModel *model = m_view->model(); | ||
621 | if( model ) | 627 | if( model ) | ||
622 | { | 628 | { | ||
Show All 9 Lines |