summaryrefslogtreecommitdiffstats
path: root/tdeio/misc/tdefile/fileprops.h
diff options
context:
space:
mode:
authorDarrell Anderson <humanreadable@yahoo.com>2013-03-02 15:57:34 -0600
committerDarrell Anderson <humanreadable@yahoo.com>2013-03-02 15:57:34 -0600
commit7c0b0c9dc9fcbe9c198925bdc7ee18ac6be49f4f (patch)
treec76702a7f6310fbe9d437e347535422e836e94e9 /tdeio/misc/tdefile/fileprops.h
parenta2a38be7600e2a2c2b49c66902d912ca036a2c0f (diff)
parent27bbee9a5f9dcda53d8eb23863ee670ad1360e41 (diff)
downloadtdelibs-7c0b0c9dc9fcbe9c198925bdc7ee18ac6be49f4f.tar.gz
tdelibs-7c0b0c9dc9fcbe9c198925bdc7ee18ac6be49f4f.zip
Merge branch 'master' of http://scm.trinitydesktop.org/scm/git/tdelibs
Diffstat (limited to 'tdeio/misc/tdefile/fileprops.h')
-rw-r--r--tdeio/misc/tdefile/fileprops.h74
1 files changed, 74 insertions, 0 deletions
diff --git a/tdeio/misc/tdefile/fileprops.h b/tdeio/misc/tdefile/fileprops.h
new file mode 100644
index 000000000..1be11782a
--- /dev/null
+++ b/tdeio/misc/tdefile/fileprops.h
@@ -0,0 +1,74 @@
+/* This file is part of the KDE libraries
+ Copyright (C) 2002 Carsten Pfeiffer <pfeiffer@kde.org>
+
+ library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation, version 2.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public License
+ along with this library; see the file COPYING.LIB. If not, write to
+ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
+*/
+
+#ifndef TDEFILEPROPS_H
+#define TDEFILEPROPS_H
+
+#include <tqstring.h>
+
+#include <tdefilemetainfo.h>
+
+class FileProps
+{
+public:
+ FileProps( const TQString& path, const TQStringList& suppliedGroups );
+ virtual ~FileProps();
+
+ bool isValid() const;
+
+ TQString fileName() const { return m_info->path(); }
+
+ TQStringList supportedGroups() const;
+ TQStringList availableGroups() const;
+ TQStringList translatedGroups();
+
+ const TQStringList& groupsToUse() const { return m_groupsToUse; }
+ bool userSuppliedGroups() const { return m_userSuppliedGroups; }
+
+ TQStringList supportedKeys( const TQString& group ) const;
+ TQStringList availableKeys( const TQString& group ) const;
+ TQStringList preferredKeys( const TQString& group ) const;
+
+ TQStringList supportedKeys() const { return m_info->supportedKeys(); }
+ TQStringList preferredKeys() const { return m_info->preferredKeys(); }
+
+ TQString getValue( const TQString& group, const TQString& key ) const;
+ bool setValue( const TQString& group,
+ const TQString& key, const TQString &value );
+
+ TQStringList allValues( const TQString& group ) const;
+ TQStringList preferredValues( const TQString& group ) const;
+
+ bool isReadOnly( const TQString& group, const TQString& key );
+
+private:
+ static TQString createKeyValue( const KFileMetaInfoGroup& g,
+ const TQString& key );
+ static TQStringList createKeyValueList( const KFileMetaInfoGroup&,
+ const TQStringList& );
+ bool sync();
+
+ KFileMetaInfo *m_info;
+ bool m_dirty;
+ bool m_userSuppliedGroups;
+
+ TQStringList m_groupsToUse;
+
+};
+
+#endif // TDEFILEPROPS_H