#include "fileselector_part.h" #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include "fileselector_widget.h" typedef KDevGenericFactory FileSelectorFactory; static const KDevPluginInfo data("kdevfileselector"); K_EXPORT_COMPONENT_FACTORY( libkdevfileselector, FileSelectorFactory( data ) ) FileSelectorPart::FileSelectorPart(TQObject *parent, const char *name, const TQStringList &) : KDevPlugin(&data, parent, name ? name : "FileSelectorPart") { setInstance(FileSelectorFactory::instance()); m_filetree = new KDevFileSelector( this, mainWindow(), partController(), 0, "fileselectorwidget" ); connect( m_filetree->dirOperator(), TQT_SIGNAL(fileSelected(const KFileItem*)), this, TQT_SLOT(fileSelected(const KFileItem*))); connect( core(), TQT_SIGNAL(projectOpened()), this, TQT_SLOT(slotProjectOpened()) ); connect( core(), TQT_SIGNAL(configWidget(KDialogBase*)), this, TQT_SLOT(slotConfigWidget(KDialogBase*)) ); m_filetree->setCaption( i18n("File Selector") ); m_filetree->setIcon( SmallIcon( info()->icon() ) ); mainWindow()->embedSelectView( m_filetree, i18n("File Selector"), i18n("File selector") ); TQWhatsThis::add(m_filetree, i18n("File selector

This file selector lists directory contents and provides some file management functions.")); m_filetree->readConfig( instance()->config(), "fileselector" ); m_newFileAction = new TDEAction(i18n("New File..."), CTRL+ALT+SHIFT+Key_N, this, TQT_SLOT(newFile()), this, "new_file"); } FileSelectorPart::~FileSelectorPart() { if (m_filetree){ mainWindow()->removeView( m_filetree ); } delete (KDevFileSelector*) m_filetree; } void FileSelectorPart::fileSelected( const KFileItem * file ) { KURL u(file->url()); partController()->editDocument( u ); } void FileSelectorPart::slotProjectOpened() { KURL u; u.setPath( project()->projectDirectory() ); m_filetree->setDir( u ); } void FileSelectorPart::slotConfigWidget( KDialogBase * dlg ) { TQVBox* vbox = dlg->addVBoxPage( i18n("File Selector"), i18n("File Selector"), BarIcon( info()->icon(), TDEIcon::SizeMedium) ); KFSConfigPage* page = new KFSConfigPage( vbox, 0, m_filetree ); connect( dlg, TQT_SIGNAL( okClicked( ) ), page, TQT_SLOT( apply( ) ) ); // ### implement reload } void FileSelectorPart::newFile() { KDevCreateFile *creator = extension("TDevelop/CreateFile"); if (creator) { KDevCreateFile::CreatedFile file = creator->createNewFile("", m_filetree->dirOperator()->url().path()); if (file.status == KDevCreateFile::CreatedFile::STATUS_NOTCREATED) KMessageBox::error(0, i18n("Cannot create file. Check whether the directory and filename are valid.")); else if (file.status != KDevCreateFile::CreatedFile::STATUS_CANCELED) { partController()->editDocument(KURL::fromPathOrURL( file.dir + "/" + file.filename)); } } } #include "fileselector_part.moc"