• Skip to content
  • Skip to link menu
KDE 3.5 API Reference
  • KDE API Reference
  • API Reference
  • Sitemap
  • Contact Us
 

kio

krun.h

Go to the documentation of this file.
00001 /* This file is part of the KDE project
00002    Copyright (C) 1998, 1999 Torben Weis <weis@kde.org>
00003    Copyright (C) 2006 David Faure <faure@kde.org>
00004 
00005    This library is free software; you can redistribute it and/or
00006    modify it under the terms of the GNU Library General Public
00007    License as published by the Free Software Foundation; either
00008    version 2 of the License, or (at your option) any later version.
00009 
00010    This library is distributed in the hope that it will be useful,
00011    but WITHOUT ANY WARRANTY; without even the implied warranty of
00012    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00013    Library General Public License for more details.
00014 
00015    You should have received a copy of the GNU Library General Public License
00016    along with this library; see the file COPYING.LIB.  If not, write to
00017    the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
00018    Boston, MA 02110-1301, USA.
00019 */
00020 
00021 #ifndef __k_run_h__
00022 #define __k_run_h__
00023 
00024 #include <sys/stat.h>
00025 #include <sys/types.h>
00026 
00027 #include <qobject.h>
00028 #include <qtimer.h>
00029 #include <qstring.h>
00030 #include <kurl.h>
00031 #include <kstartupinfo.h>
00032 
00033 class KProcess;
00034 class KService;
00035 namespace KIO {
00036    class Job;
00037    class StatJob;
00038 }
00039 
00058 class KIO_EXPORT KRun : public QObject
00059 {
00060   Q_OBJECT
00061 public:
00085   KRun( const KURL& url, mode_t mode = 0,
00086     bool isLocalFile = false, bool showProgressInfo = true );
00087 
00112   KRun( const KURL& url, QWidget* window, mode_t mode = 0,
00113     bool isLocalFile = false, bool showProgressInfo = true );
00114 
00119   virtual ~KRun();
00120 
00127   void abort();
00128 
00134   bool hasError() const { return m_bFault; }
00135 
00141   bool hasFinished() const { return m_bFinished; }
00142 
00150   bool autoDelete() const { return m_bAutoDelete; }
00151 
00160   void setAutoDelete(bool b) { m_bAutoDelete = b; }
00161 
00170   void setPreferredService( const QString& desktopEntryName );
00171 
00179   void setRunExecutables(bool b);
00180 
00188   void setEnableExternalBrowser(bool b);
00189 
00198   void setSuggestedFileName( const QString& fileName );
00199 
00212   static pid_t run( const KService& _service, const KURL::List& _urls, QWidget* window, bool tempFiles = false );
00223   // BIC merge second overload with first one, using tempFiles=false
00224   static pid_t run( const KService& _service, const KURL::List& _urls, bool tempFiles );
00225   static pid_t run( const KService& _service, const KURL::List& _urls );
00228   static pid_t run( const KService& _service, const KURL::List& _urls, QWidget* window, bool tempFiles, const QString& suggestedFileName );
00229 
00243   static pid_t run( const QString& _exec, const KURL::List& _urls,
00244            const QString& _name = QString::null,
00245            const QString& _icon = QString::null,
00246            const QString& _obsolete1 = QString::null,
00247            const QString& _obsolete2 = QString::null );
00248 
00264   // BIC Merge second overload with first one using runExecutables=true, and
00265   // merge third overload with first one as well using tempFiles=false and
00266   // runExecutables=true
00267   static pid_t runURL( const KURL& _url, const QString& _mimetype, bool tempFile, bool runExecutables);
00268   static pid_t runURL( const KURL& _url, const QString& _mimetype, bool tempFile);
00269   static pid_t runURL( const KURL& _url, const QString& _mimetype );
00272   static pid_t runURL( const KURL& _url, const QString& _mimetype, bool tempFile, bool runExecutables, const QString& suggestedFileName );
00273 
00288   static pid_t runCommand( QString cmd );
00289 
00301   static pid_t runCommand( const QString& cmd, const QString & execName, const QString & icon );
00302 
00310   // BIC merge second overload with first one, using tempFiles=false
00311   static bool displayOpenWithDialog( const KURL::List& lst, bool tempFiles );
00312   static bool displayOpenWithDialog( const KURL::List& lst );
00315   static bool displayOpenWithDialog( const KURL::List& lst, bool tempFiles, const QString& suggestedFileName );
00316 
00321   static void shellQuote( QString &_str );
00322 
00337   static QStringList processDesktopExec(const KService &_service, const KURL::List &_urls, bool has_shell, bool tempFiles);
00338   static QStringList processDesktopExec(const KService &_service, const KURL::List &_urls, bool has_shell);
00341   static QStringList processDesktopExec(const KService &_service, const KURL::List &_urls, bool has_shell, bool tempFiles, const QString& suggestedFileName);
00342 
00351   static QString binaryName( const QString & execLine, bool removePath );
00352 
00358   static bool isExecutable( const QString& serviceType );
00359 
00373    static bool isExecutableFile( const KURL& url, const QString &mimetype );
00374 
00379     static bool checkStartupNotify( const QString& binName, const KService* service, bool* silent_arg, QCString* wmclass_arg );
00380 
00381 signals:
00386   void finished();
00391   void error();
00392 
00393 protected slots:
00394   void slotTimeout();
00395   void slotScanFinished( KIO::Job * );
00396   void slotScanMimeType( KIO::Job *, const QString &type );
00397   virtual void slotStatResult( KIO::Job * );
00398 
00399 protected:
00400   virtual void init();
00401 
00402   virtual void scanFile();
00403 
00409   virtual void foundMimeType( const QString& _type );
00410 
00411   virtual void killJob();
00412 
00413   KURL m_strURL;
00414   bool m_bFault;
00415   bool m_bAutoDelete;
00416   bool m_bProgressInfo;
00417   bool m_bFinished;
00418   KIO::Job * m_job;
00419   QTimer m_timer;
00420 
00425   bool m_bScanFile;
00426   bool m_bIsDirectory;
00427 
00432   bool m_bInit;
00433 
00434   bool m_bIsLocalFile;
00435   mode_t m_mode;
00436 
00437 protected:
00438   virtual void virtual_hook( int id, void* data );
00439 
00440 private:
00441   void init (const KURL& url, QWidget* window, mode_t mode,
00442              bool isLocalFile, bool showProgressInfo);
00443 private:
00444   class KRunPrivate;
00445   KRunPrivate *d;
00446 };
00447 
00448 #ifndef KDE_NO_COMPAT
00449 
00455 class KIO_EXPORT_DEPRECATED KOpenWithHandler
00456 {
00457 public:
00458   KOpenWithHandler() {}
00459   static bool exists() { return true; }
00460 };
00461 #endif
00462 
00469 class KIO_EXPORT KProcessRunner : public QObject
00470 {
00471   Q_OBJECT
00472 
00473   public:
00474 
00475     static pid_t run(KProcess *, const QString & binName);
00476 #ifdef Q_WS_X11 // We don't have KStartupInfo in Qt/Embedded
00477     static pid_t run(KProcess *, const QString & binName, const KStartupInfoId& id );
00478 #endif
00479 
00480     virtual ~KProcessRunner();
00481 
00482     pid_t pid() const;
00483 
00484   protected slots:
00485 
00486     void slotProcessExited(KProcess *);
00487 
00488   private:
00489 
00490     KProcessRunner(KProcess *, const QString & binName);
00491 #ifdef Q_WS_X11 // We don't have KStartupInfo in Qt/Embedded
00492     KProcessRunner(KProcess *, const QString & binName, const KStartupInfoId& id );
00493 #endif
00494     KProcessRunner();
00495 
00496     KProcess * process_;
00497     QString binName;
00498 #ifdef Q_WS_X11 // We don't have KStartupInfo in Qt/Embedded
00499     KStartupInfoId id_;
00500 #endif
00501 };
00502 
00503 #endif

kio

Skip menu "kio"
  • Main Page
  • Modules
  • Namespace List
  • Class Hierarchy
  • Alphabetical List
  • Class List
  • File List
  • Namespace Members
  • Class Members
  • Related Pages

API Reference

Skip menu "API Reference"
  • dcop
  • DNSSD
  • interfaces
  • Kate
  • kconf_update
  • KDECore
  • KDED
  • kdefx
  • KDEsu
  • kdeui
  • KDocTools
  • KHTML
  • KImgIO
  • KInit
  • kio
  • kioslave
  • KJS
  • KNewStuff
  • KParts
  • KUtils
Generated for API Reference by doxygen 1.5.9
This website is maintained by Adriaan de Groot and Allen Winter.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal