// // C++ Implementation: importdialog // // Description: // // // Author: Christoph Thielecke , (C) 2004 // // Contains pieces of code from kbear, Björn Sahlström // // Copyright: See COPYING file that comes with this distribution // // #include #include #include #include #include #include #include #include #include "kbsiteinfo.h" #include "importdialog.h" using namespace std; ImportDialog::ImportDialog(TQWidget *parent, const char *name ) : KDialogBase(parent, name, true, i18n( "Import Bookmarks" ), KDialogBase::Ok | KDialogBase::Cancel, KDialogBase::Ok, true) { mp_dialog = new KasablancaImportDialog(this); setMainWidget(mp_dialog); } ImportDialog::~ImportDialog() { } void ImportDialog::slotOk() { if (mp_dialog->GftpRadioButton->isChecked()) importGftpBookmarks ( TQDir::homeDirPath() + "/.gftp/bookmarks" ); accept(); } void ImportDialog::importGftpBookmarks( TQString fileName ) { // kdDebug() << "import start" << endl; if ( fileName.isEmpty() || fileName.isNull() ) { KMessageBox::sorry( 0, i18n( "You have to select a file to import." ), i18n( "No file" ) ); // emit progress( 100 ); return ; } TQFile f(fileName); if ( !f.exists() ) { KMessageBox::information( 0, i18n( "No gftp bookmarks to import found." ), i18n( "No file" ) ); // emit progress( 100 ); return ; } // First we fetch some global settings TDEConfig tmpConfig( fileName, true, false, "HOME" ); TQString email = tmpConfig.readEntry( "email", "anonymous@" ); TDEConfig config( fileName, true, false, "HOME" ); TQStringList groupList = config.groupList(); float size = ( float ) groupList.count(); if ( size == 0 ) { // m_hasError = true; // emit progress( 100 ); return ; } int counter = 0; m_lines = groupList.count(); TQProgressDialog progress( 0, "progressdialog", true ); progress.setLabelText( i18n( "Importing bookmarks..." ) ); progress.setCancelButton( 0 ); progress.setTotalSteps( m_lines ); for ( TQStringList::Iterator it = groupList.begin(); it != groupList.end(); ++it ) { TQString groupName = *it; // found groupname from gFTP, can have subgroups ( group1/group2/group3 ) TQStringList groupNames = TQStringList::split( "/", groupName ); //split group name into subgroups if any config.setGroup( groupName ); TQString tmp = config.readEntry( "hostname" ); // we ignore the site if it hasn't any host // first check so the site has a host, if not ignore it if ( ! tmp.isNull() ) { // had host KbSiteInfo newsite; // kdDebug() << "-- start -- " << endl; // kdDebug() << "bookmark count (read): " << counter << endl; tmp = groupName; // kdDebug() << "label: " << tmp << endl; newsite.SetName( tmp ); // set host tmp = config.readEntry( "hostname" ); // kdDebug() << "hostname: " << tmp << endl; // set port int p = config.readNumEntry( "port", 21 ); // kdDebug() << "port: " << p << endl; // TQString HostPort = tmp; /* host:port */ // HostPort += ":"; // HostPort += TQString().setNum( p ); newsite.SetInfo(tmp + ":" + TQString::number(p)); //newsite.SetPort( p ); //newsite.SetHostname(tmp); // set protocol //tmp = config.readEntry( "protocol", "ftp" ).lower(); //kdDebug() << "protocol: " << tmp << endl; // set remote directory tmp = config.readEntry( "remote directory", "/" ); // kdDebug() << "remote directory: " << tmp << endl; newsite.SetDefaultDirectory( tmp ); // set local directory //tmp = config.readEntry( "local directory", TQDir::homeDirPath() ); //kdDebug() << "local directory: " << tmp << endl; // set username tmp = config.readEntry( "username", "anonymous" ); newsite.SetUser( tmp ); // set password tmp = config.readEntry( "password" ); if ( tmp == "@EMAIL@" || tmp.isNull() || tmp.isEmpty() ) tmp = email; // kdDebug() << "password: " << tmp << endl; newsite.SetPass( tmp ); // kdDebug() << "-- end -- " << endl; newsite.SetPasv( 1 ); newsite.SetTls( 0 ); newsite.SetAlternativeFxp( 0 ); newsite.SetCorrectPasv( 0 ); m_bookmarks.push_back( newsite ); } // emit progress( int( float( counter ) / size * 100 ) ); counter++; progress.setProgress( counter ); } // for KMessageBox::information( 0, i18n( "%1 bookmarks from gftp successful imported." ).arg(TQString().setNum(counter-1)), i18n( "Successful import" ) ); /* int cnt = 0; list::iterator end_session = bookmarks.end(); for (list::iterator i = bookmarks.begin(); i != end_session; i++){ cnt++; kdDebug() << "bookmark count(list): " << cnt << endl; }*/ }