/*************************************************************************** * Copyright (C) 2003 by Roberto Raggi * * roberto@kdevelop.org * * * * Copyright (C) 2006 by Jens Dagerbo * * jens.dagerbo@swipnet.se * * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * * the Free Software Foundation; either version 2 of the License, or * * (at your option) any later version. * * * ***************************************************************************/ #include #include #include #include #include #include #include #include #include #include #include #include "settingsdialog.h" TQListBoxItem* TQListBox_selectedItem( TQListBox* cpTQListBox ) { if ( cpTQListBox->selectionMode() != TQListBox::Single ) return 0; if ( cpTQListBox->isSelected( cpTQListBox->currentItem() ) ) return cpTQListBox->item( cpTQListBox->currentItem() ); return 0; } SettingsDialog::SettingsDialog( TQWidget* parent, const char* name, WFlags fl ) : SettingsDialogBase( parent, name, fl ) { TQStringList qtdirs; qtdirs.push_back( ::getenv( "QTDIR" ) + TQString("/include") ); qtdirs.push_back( "/usr/lib/qt3/include" ); qtdirs.push_back( "/usr/lib/qt/include" ); qtdirs.push_back( "/usr/share/qt3/include" ); qtdirs.push_back( "/usr/qt/3/include" ); // gentoo style for ( TQStringList::Iterator it = qtdirs.begin(); it != qtdirs.end(); ++it ) { TQString qtdir = *it; if ( !qtdir.isEmpty() && isValidTQtDir( qtdir ) ) if ( !qtListBox->findItem( qtdir, ExactMatch ) ) qtListBox->insertItem( qtdir ); } qtUrl->setMode( KFile::Directory | KFile::ExistingOnly | KFile::LocalOnly ); connect( addUrlButton, TQT_SIGNAL(clicked()), this, TQT_SLOT(addUrlButton_clicked()) ); } SettingsDialog::~SettingsDialog() {} void SettingsDialog::slotSelectionChanged( TQListBoxItem* ) { if ( !qtListBox->selectedItem() ) { emit enabled( false ); return ; } TQDir dir( qtDir() ); TQStringList qconfigFileList = dir.entryList( "tqconfig-*.h" ); qtConfiguration->clear(); TQRegExp rx( "tqconfig-(\\w+)\\.h" ); for ( TQStringList::Iterator it = qconfigFileList.begin(); it != qconfigFileList.end(); ++it ) { ( void ) rx.exactMatch( *it ); qtConfiguration->insertItem( rx.cap( 1 ) ); } emit enabled( true ); } bool SettingsDialog::isValidTQtDir( const TQString & path ) const { return TQFile::exists( path + "/tqt.h" ); } TQString SettingsDialog::qtDir( ) const { return qtListBox->currentText(); } TQString SettingsDialog::configuration( ) const { return qtConfiguration->currentText(); } void SettingsDialog::addUrlButton_clicked( ) { kdDebug(9000) << k_funcinfo << endl; if ( isValidTQtDir( qtUrl->url() ) ) { qtListBox->insertItem( qtUrl->url() ); if ( TQListBoxItem * item = qtListBox->findItem( qtUrl->url(), ExactMatch ) ) { qtListBox->setSelected( item, true ); } qtUrl->lineEdit()->clear(); } else { KMessageBox::error( this, i18n("This does not appear to be a valid TQt3 include directory.\nPlease select a different directory."), i18n("Invalid Directory") ); } } #include "settingsdialog.moc" //kate: indent-mode csands; tab-width 4; space-indent off;