kdesktopfile.h
00001 /* This file is part of the KDE libraries 00002 Copyright (c) 1999 Pietro Iglio <iglio@kde.org> 00003 00004 This library is free software; you can redistribute it and/or 00005 modify it under the terms of the GNU Library General Public 00006 License as published by the Free Software Foundation; either 00007 version 2 of the License, or (at your option) any later version. 00008 00009 This library is distributed in the hope that it will be useful, 00010 but WITHOUT ANY WARRANTY; without even the implied warranty of 00011 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00012 Library General Public License for more details. 00013 00014 You should have received a copy of the GNU Library General Public License 00015 along with this library; see the file COPYING.LIB. If not, write to 00016 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 00017 Boston, MA 02110-1301, USA. 00018 */ 00019 #ifndef _KDESKTOPFILE_H 00020 #define _KDESKTOPFILE_H 00021 00022 #include "kconfig.h" 00023 #include "kdelibs_export.h" 00024 00025 class KDesktopFilePrivate; 00026 00034 class KDECORE_EXPORT KDesktopFile : public KConfig 00035 { 00036 Q_OBJECT 00037 00038 public: 00051 KDesktopFile( const TQString &fileName, bool readOnly = false, 00052 const char * resType = "apps"); 00053 00059 virtual ~KDesktopFile(); 00060 00070 static bool isDesktopFile(const TQString& path); 00071 00081 static bool isAuthorizedDesktopFile(const TQString& path); 00082 00088 static TQString locateLocal(const TQString &path); 00089 00094 TQString readType() const; 00095 00100 TQString readIcon() const; 00101 00106 TQString readName() const; 00107 00112 TQString readComment() const; 00113 00118 TQString readGenericName() const; 00119 00124 TQString readPath() const; 00125 00130 TQString readDevice() const; 00131 00136 TQString readURL() const; 00137 00142 TQStringList readActions() const; 00143 00148 void setActionGroup(const TQString &group); 00149 00155 bool hasActionGroup(const TQString &group) const; 00156 00163 bool hasLinkType() const; 00164 00169 bool hasApplicationType() const; 00170 00175 bool hasMimeTypeType() const; // funny name :) 00176 00181 bool hasDeviceType() const; 00182 00188 bool tryExec() const; 00189 00194 TQString fileName() const; 00195 00200 TQString resource() const; 00201 00209 TQString readDocPath() const; 00210 00215 TQStringList sortOrder() const; 00216 00227 KDesktopFile* copyTo(const TQString &file) const; 00228 00229 #ifdef KDE_NO_COMPAT 00230 private: 00231 #endif 00232 00235 KDE_DEPRECATED TQString filename() const { return fileName(); }; 00236 00237 private: 00238 00239 TQString translatedEntry(const char*) const; 00240 00241 // copy-construction and assignment are not allowed 00242 KDesktopFile( const KDesktopFile& ); 00243 KDesktopFile& operator= ( const KDesktopFile& ); 00244 00245 protected: 00246 virtual void virtual_hook( int id, void* data ); 00247 private: 00248 KDesktopFilePrivate *d; 00249 }; 00250 00251 00252 #endif 00253