@ -137,7 +137,7 @@ void FileCreatePart::slotAboutToShowNewPopupMenu()
TDEIcon : : DefaultState , NULL , true ) ;
m_newPopupMenu - > insertItem ( iconPix , filetype - > name ( ) , this ,
TQT_SLOT ( slotNewFilePopup ( int ) ) , 0 , + + id ) ;
m_newPopupMenu - > setItemParameter ( id , ( long ) filetype ) ;
m_newPopupMenu - > setItemParameter ( id , filetype - > id ( ) ) ;
} else
{
TDEPopupMenu * subMenu = NULL ;
@ -152,7 +152,7 @@ void FileCreatePart::slotAboutToShowNewPopupMenu()
TDEIcon : : DefaultState , NULL , true ) ;
subMenu - > insertItem ( iconPix , subtype - > name ( ) , this ,
TQT_SLOT ( slotNewFilePopup ( int ) ) , 0 , + + id ) ;
subMenu - > setItemParameter ( id , ( long ) subtype ) ;
subMenu - > setItemParameter ( id , subtype - > id ( ) ) ;
}
}
if ( subMenu )
@ -172,9 +172,9 @@ void FileCreatePart::slotAboutToShowNewPopupMenu()
}
}
void FileCreatePart : : slotNewFilePopup ( int pFileType )
void FileCreatePart : : slotNewFilePopup ( int fileTypeId )
{
const FileType * filetype = ( const FileType * ) pFileType ;
const FileType * filetype = getType ( fileTypeId ) ;
slotFiletypeSelected ( filetype ) ;
}
@ -193,10 +193,13 @@ void FileCreatePart::slotProjectOpened() {
void FileCreatePart : : addFileType ( const TQString & filename ) {
FileType * filetype = getType ( filename ) ;
if ( ! filetype ) {
FileType * lastFiletype = m_filetypes . last ( ) ;
int lastTypeId = ( lastFiletype & & lastFiletype - > id ( ) < 0 ? lastFiletype - > id ( ) : 0 ) ;
filetype = new FileType ;
filetype - > setName ( filename + " files " ) ;
filetype - > setExt ( filename ) ;
filetype - > setCreateMethod ( " template " ) ;
filetype - > setId ( - - lastTypeId ) ;
m_filetypes . append ( filetype ) ;
}
filetype - > setEnabled ( true ) ;
@ -212,7 +215,9 @@ void FileCreatePart::slotFiletypeSelected(const FileType * filetype) {
KDevCreateFile : : CreatedFile createdFile = createNewFile ( filetype - > ext ( ) ,
TQString ( ) ,
TQString ( ) ,
filetype - > subtypeRef ( ) ) ;
filetype
? filetype - > subtypeRef ( )
: TQString ( ) ) ;
openCreatedFile ( createdFile ) ;
}
@ -228,6 +233,7 @@ void FileCreatePart::openCreatedFile(const KDevCreateFile::CreatedFile & created
int FileCreatePart : : readTypes ( const TQDomDocument & dom , TQPtrList < FileType > & m_filetypes , bool enable ) {
int numRead = 0 ;
int typeId = 0 ;
TQDomElement fileTypes = DomUtil : : elementByPath ( dom , " /kdevfilecreate/filetypes " ) ;
if ( ! fileTypes . isNull ( ) ) {
for ( TQDomNode node = fileTypes . firstChild ( ) ; ! node . isNull ( ) ; node = node . nextSibling ( ) ) {
@ -242,6 +248,7 @@ int FileCreatePart::readTypes(const TQDomDocument & dom, TQPtrList<FileType> &m_
filetype - > setIcon ( element . attribute ( " icon " ) ) ;
filetype - > setDescr ( ( DomUtil : : namedChildElement ( element , " descr " ) ) . text ( ) ) ;
filetype - > setEnabled ( enable | | ( filetype - > ext ( ) = = " " ) ) ;
filetype - > setId ( + + typeId ) ;
m_filetypes . append ( filetype ) ;
numRead + + ;
@ -260,6 +267,7 @@ int FileCreatePart::readTypes(const TQDomDocument & dom, TQPtrList<FileType> &m_
subtype - > setName ( subelement . attribute ( " name " ) ) ;
subtype - > setDescr ( ( DomUtil : : namedChildElement ( subelement , " descr " ) ) . text ( ) ) ;
subtype - > setEnabled ( enable ) ;
subtype - > setId ( + + typeId ) ;
filetype - > addSubtype ( subtype ) ;
}
}
@ -297,6 +305,25 @@ FileType * FileCreatePart::getType(const TQString & ex, const TQString subtRef)
return NULL ;
}
FileType * FileCreatePart : : getType ( int id ) {
TQPtrList < FileType > filetypes = getFileTypes ( ) ;
for ( FileType * filetype = filetypes . first ( ) ;
filetype ;
filetype = filetypes . next ( ) )
{
if ( filetype - > id ( ) = = id ) return filetype ;
TQPtrList < FileType > subtypes = filetype - > subtypes ( ) ;
for ( FileType * subtype = subtypes . first ( ) ;
subtype ;
subtype = subtypes . next ( ) )
{
if ( subtype - > id ( ) = = id ) return subtype ;
}
}
return NULL ;
}
FileType * FileCreatePart : : getEnabledType ( const TQString & ex , const TQString subtRef ) {
TQString subtypeRef = subtRef ;