2
2
This file is part of the Okteta Kasten module, made within the KDE community.
4
Copyright 2010 Friedrich W. H. Kossebau <kossebau@kde.org>
4
Copyright 2010,2012 Friedrich W. H. Kossebau <kossebau@kde.org>
6
6
This library is free software; you can redistribute it and/or
7
7
modify it under the terms of the GNU Lesser General Public
29
29
#include <QtCore/QObject>
30
30
#include <QtCore/QList>
31
#include <QtCore/QDateTime>
32
#include <QtCore/QHash>
39
class ByteArrayViewProfileLock;
42
class ByteArrayViewProfileFileInfo
45
ByteArrayViewProfileFileInfo( const QDateTime& lastModified, bool )
46
: mLastModified( lastModified )
50
const QDateTime& lastModified() const { return mLastModified; }
51
bool isLocked() const { return mLocked; }
53
void setLastModified( const QDateTime& lastModified ) { mLastModified = lastModified; }
54
void setLocked( bool isLocked ) { mLocked = isLocked; }
57
QDateTime mLastModified;
62
typedef QHash<ByteArrayViewProfile::Id, ByteArrayViewProfileFileInfo> ByteArrayViewProfileFileInfoLookup;
36
65
class OKTETAKASTENGUI_EXPORT ByteArrayViewProfileManager : public QObject
45
74
QList<ByteArrayViewProfile> viewProfiles() const;
75
int viewProfilesCount() const;
76
ByteArrayViewProfile viewProfile( const ByteArrayViewProfile::Id& id ) const;
77
ByteArrayViewProfile::Id defaultViewProfileId() const;
78
ByteArrayViewProfile defaultViewProfile() const;
79
bool isViewProfileLocked( const ByteArrayViewProfile::Id& id ) const;
48
void addViewProfiles( const QList<ByteArrayViewProfile>& viewProfiles );
82
void saveViewProfiles( QList<ByteArrayViewProfile>& viewProfiles );
83
void removeViewProfiles( const QList<ByteArrayViewProfile::Id>& viewProfileIds );
84
void setDefaultViewProfile( const ByteArrayViewProfile::Id& viewProfileId );
86
ByteArrayViewProfileLock createLock( const ByteArrayViewProfile::Id& viewProfileId );
51
void viewProfilesAdded( const QList<Kasten1::ByteArrayViewProfile>& viewProfiles );
52
void viewProfilesChanged( const QList<Kasten1::ByteArrayViewProfile>& viewProfiles );
53
void viewProfilesRemoved( const QList<Kasten1::ByteArrayViewProfile>& viewProfiles );
56
QList<ByteArrayViewProfile> mViewProfiles;
89
void viewProfilesChanged( const QList<Kasten2::ByteArrayViewProfile>& viewProfiles );
90
void viewProfilesRemoved( const QList<Kasten2::ByteArrayViewProfile::Id>& viewProfileIds );
91
void defaultViewProfileChanged( const Kasten2::ByteArrayViewProfile::Id& viewProfileId );
92
void viewProfilesLocked( const QList<Kasten2::ByteArrayViewProfile::Id>& viewProfileIds );
93
void viewProfilesUnlocked( const QList<Kasten2::ByteArrayViewProfile::Id>& viewProfileIds );
96
QString filePathOfViewProfile( const ByteArrayViewProfile::Id& viewProfileId ) const;
97
ByteArrayViewProfile loadViewProfile( const QString& fileName ) const;
98
void saveViewProfile( const ByteArrayViewProfile& viewProfile ) const;
99
void removeViewProfile( const ByteArrayViewProfile::Id& viewProfileId );
102
void onViewProfilesFolderChanged( const QString& path );
105
QList<ByteArrayViewProfile> mViewProfiles;
107
ByteArrayViewProfile::Id mDefaultViewProfileId;
109
KDirWatch* mViewProfileFileWatcher;
111
QHash<QString, ByteArrayViewProfileFileInfoLookup> mViewProfileFileInfoLookupPerFolder;
60
inline QList<ByteArrayViewProfile> ByteArrayViewProfileManager::viewProfiles() const { return mViewProfiles; }