void MaterialKatalogView::slNewTemplate() { KatalogListView *listview = getListView(); if( !listview ) return; MaterialKatalogListView *matListView = static_cast<MaterialKatalogListView*>(listview); StockMaterial *newMat = new StockMaterial(); newMat->setName( i18n( "<new material>" ) ); QTreeWidgetItem *parentItem = static_cast<QTreeWidgetItem*>( listview->currentItem() ); if ( parentItem ) { if ( ! ( matListView->isRoot( parentItem ) || matListView->isChapter( parentItem ) ) ) { parentItem = ( QTreeWidgetItem* ) parentItem->parent(); } } if( parentItem && listview->isChapter( parentItem )) { // try to find out which catalog is open/current CatalogChapter *chap = static_cast<CatalogChapter*>(listview->itemData( parentItem )); newMat->setChapter( chap->id().toInt() ); } mNewItem = matListView->addMaterialToView( parentItem, newMat ); openDialog( mNewItem, newMat, true ); }