00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
#ifndef __open_with_h__
00021
#define __open_with_h__
00022
00023
#include <qdialog.h>
00024
00025
#include <kurl.h>
00026
#include <krun.h>
00027
#include <kservice.h>
00028
00029
class KApplicationTree;
00030
class KURLRequester;
00031
00032
class QWidget;
00033
class QCheckBox;
00034
class QPushButton;
00035
class QLabel;
00036
00037
class KOpenWithDlgPrivate;
00038
00039
00046 class KIO_EXPORT KOpenWithDlg :
public QDialog
00047 {
00048 Q_OBJECT
00049
public:
00050
00059 KOpenWithDlg(
const KURL::List& urls,
QWidget *parent = 0L );
00060
00070 KOpenWithDlg(
const KURL::List& urls,
const QString& text,
const QString& value,
00071
QWidget *parent = 0L );
00072
00081 KOpenWithDlg(
const QString& serviceType,
const QString& value,
00082
QWidget *parent = 0L );
00083
00091 KOpenWithDlg(
QWidget *parent = 0L );
00092
00096 ~KOpenWithDlg();
00097
00101
QString text()
const;
00105
void hideNoCloseOnExit();
00109
void hideRunInTerminal();
00114 KService::Ptr service()
const {
return m_pService; }
00125
void setSaveNewApplications(
bool b);
00126
void saveInMDKMenuStructure(
const QString & filename,
const QString &menuElement );
00127
00128
public slots:
00132
void slotClear();
00133
void slotSelected(
const QString&_name,
const QString& _exec );
00134
void slotHighlighted(
const QString& _name,
const QString& _exec );
00135
void slotTextChanged();
00136
void slotTerminalToggled(
bool);
00137
void slotDbClick();
00138
void slotOK();
00139
00140
protected slots:
00144
virtual void accept();
00145
00146
protected:
00147
00151
void setServiceType(
const KURL::List& _urls );
00152
00160
void init(
const QString& text,
const QString& value );
00161
QString pathToCopyEntry(
QString path,
QString menuId );
00162
00163
KURLRequester * edit;
00164
QString m_command;
00165
00166 KApplicationTree* m_pTree;
00167
QLabel *label;
00168
00169
QString qName, qServiceType;
00170
bool m_terminaldirty;
00171
QCheckBox *terminal, *remember, *nocloseonexit;
00172
QPushButton *UNUSED;
00173
QPushButton *UNUSED2;
00174
00175 KService::Ptr m_pService;
00176
00177 KOpenWithDlgPrivate *d;
00178 };
00179
00180
00181
00182
#ifndef KDE_NO_COMPAT
00183
00194 class KIO_EXPORT KFileOpenWithHandler :
public KOpenWithHandler
00195 {
00196
public:
00197 KFileOpenWithHandler() :
KOpenWithHandler() {}
00198
virtual ~KFileOpenWithHandler() {}
00199
00204
virtual bool displayOpenWithDialog(
const KURL::List& urls );
00205 };
00206
#endif
00207
00208
00209
00210
00211
#endif