00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #ifndef __ServiceButton_h__
00025 #define __ServiceButton_h__
00026
00027 #include "panelbutton.h"
00028
00029 #include <kservice.h>
00030
00031 class ServiceButton : public PanelButton
00032 {
00033 Q_OBJECT
00034
00035 public:
00036 ServiceButton( const TQString& desktopFile, TQWidget* parent );
00037 ServiceButton( const KService::Ptr& service, TQWidget* parent );
00038 ServiceButton( const KConfigGroup& config, TQWidget* parent );
00039
00040 ~ServiceButton();
00041
00042 virtual void saveConfig(KConfigGroup& config) const;
00043 virtual void properties();
00044
00045 protected slots:
00046 void slotUpdate();
00047 void slotSaveAs(const KURL&, KURL&);
00048 void slotExec();
00049 void performExec();
00050
00051 protected:
00052 void initialize();
00053 void loadServiceFromId(const TQString &id);
00054 void readDesktopFile();
00055 virtual TQString tileName() { return "URL"; }
00056 virtual void startDrag();
00057 virtual void dropEvent(TQDropEvent *);
00058 virtual void dragEnterEvent(TQDragEnterEvent *);
00059 TQString defaultIcon() const { return "exec"; };
00060 bool checkForBackingFile();
00061
00062 KService::Ptr _service;
00063 TQString _id;
00064 };
00065
00066 #endif