/*************************************************************************** sq_diroperator.cpp - description ------------------- begin : Thu Nov 29 2007 copyright : (C) 2007 by Baryshev Dmitry email : ksquirrel.iv@gmail.com ***************************************************************************/ /*************************************************************************** * * * 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 "sq_diroperator.h" #include "sq_libraryhandler.h" #include "sq_downloader.h" #include "sq_glwidget.h" SQ_DirOperator * SQ_DirOperator::m_inst = 0; SQ_DirOperator::SQ_DirOperator(TQObject *parent) : TQObject(parent) { m_inst = this; down = new SQ_Downloader(this, "SQ_Downloader [dirop]"); connect(down, TQT_SIGNAL(result(const KURL &)), this, TQT_SLOT(slotDownloaderResult(const KURL &))); connect(down, TQT_SIGNAL(percents(int)), this, TQT_SLOT(slotDownloadPercents(int))); } SQ_DirOperator::~SQ_DirOperator() {} void SQ_DirOperator::execute(KFileItem *fi) { down->kill(); SQ_GLWidget::window()->setOriginalURL(fi->url()); if(fi->url().isLocalFile()) executePrivate(fi); else if(SQ_LibraryHandler::instance()->maybeSupported(fi->url(), fi->mimetype()) != SQ_LibraryHandler::No) down->start(fi); } void SQ_DirOperator::slotDownloaderResult(const KURL &url) { SQ_GLWidget::window()->setDownloadPercents(-1); if(url.isEmpty()) return; KFileItem fi(KFileItem::Unknown, KFileItem::Unknown, url); executePrivate(&fi); } void SQ_DirOperator::executePrivate(KFileItem *fi) { TQString fullpath = fi->url().path(); if(SQ_LibraryHandler::instance()->libraryForFile(fullpath)) SQ_GLWidget::window()->startDecoding(fullpath); } void SQ_DirOperator::slotDownloadPercents(int p) { SQ_GLWidget::window()->setDownloadPercents(p); } void SQ_DirOperator::del(const KURL &u, TQWidget *parent) { KURL::List list; list.append(u); KonqOperations::del(parent, KonqOperations::DEL, list); } #include "sq_diroperator.moc"