/* ark -- archiver for the KDE project Copyright (C) 2003: Georg Robbers 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. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ #include "archiveformatdlg.h" #include "archiveformatinfo.h" #include "arch.h" #include #include #include ArchiveFormatDlg::ArchiveFormatDlg( TQWidget * parent, const TQString & defaultType ) :KDialogBase( parent, "archiveformatdialog", true, i18n( "Choose Archive Format" ), KDialogBase::Ok|KDialogBase::Cancel, KDialogBase::Ok), m_combo( 0 ) { TQString defaultDescription = ArchiveFormatInfo::self()->descriptionForMimeType( defaultType ); TQString text; if ( defaultDescription.isNull() ) text = i18n( "This file appears to be of type %1,\n" "which is not a supported archive format.\n" "In order to proceed, please choose the format\n" "of the file." ).arg( defaultType ); else text = i18n( "You are about to open a file that has a non-standard extension.\n" "Ark has detected the format: %1\n" "If this is not correct, please choose " "the appropriate format." ).arg( defaultDescription ); TQVBox * page = makeVBoxMainWidget(); TQLabel * label; label = new TQLabel( text, page ); m_combo = new KComboBox( page ); TQStringList list = ArchiveFormatInfo::self()->allDescriptions(); list.sort(); m_combo->insertStringList( list ); m_combo->setCurrentItem( list.findIndex( defaultDescription ) ); } TQString ArchiveFormatDlg::mimeType() { if (m_combo && !m_combo->currentText().isEmpty()) return ArchiveFormatInfo::self()->mimeTypeForDescription( m_combo->currentText() ); else return TQString(); } #include "archiveformatdlg.moc"