~ubuntu-branches/ubuntu/vivid/kdesdk/vivid

« back to all changes in this revision

Viewing changes to okteta/kasten/gui/system/bytearrayviewprofilemanager.h

  • Committer: Package Import Robot
  • Author(s): Jonathan Riddell
  • Date: 2012-06-06 11:49:54 UTC
  • mfrom: (0.4.21)
  • Revision ID: package-import@ubuntu.com-20120606114954-rdls73fzlpzxglbx
Tags: 4:4.8.80-0ubuntu1
* New uptream beta release
* Update dont_export_private_classes.diff

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
/*
2
2
    This file is part of the Okteta Kasten module, made within the KDE community.
3
3
 
4
 
    Copyright 2010 Friedrich W. H. Kossebau <kossebau@kde.org>
 
4
    Copyright 2010,2012 Friedrich W. H. Kossebau <kossebau@kde.org>
5
5
 
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
28
28
// Qt
29
29
#include <QtCore/QObject>
30
30
#include <QtCore/QList>
31
 
 
32
 
 
33
 
namespace Kasten1
34
 
{
 
31
#include <QtCore/QDateTime>
 
32
#include <QtCore/QHash>
 
33
 
 
34
class KDirWatch;
 
35
 
 
36
 
 
37
namespace Kasten2
 
38
{
 
39
class ByteArrayViewProfileLock;
 
40
 
 
41
 
 
42
class ByteArrayViewProfileFileInfo
 
43
{
 
44
public:
 
45
    ByteArrayViewProfileFileInfo( const QDateTime& lastModified, bool  )
 
46
      : mLastModified( lastModified )
 
47
      , mLocked( false )
 
48
    {}
 
49
 
 
50
    const QDateTime& lastModified() const { return mLastModified; }
 
51
    bool isLocked()                 const { return mLocked; }
 
52
 
 
53
    void setLastModified( const QDateTime& lastModified )  { mLastModified = lastModified; }
 
54
    void setLocked( bool isLocked ) { mLocked = isLocked; }
 
55
 
 
56
private:
 
57
    QDateTime mLastModified;
 
58
    bool mLocked;
 
59
//     bool mUserOwned;
 
60
};
 
61
 
 
62
typedef QHash<ByteArrayViewProfile::Id, ByteArrayViewProfileFileInfo> ByteArrayViewProfileFileInfoLookup;
 
63
 
35
64
 
36
65
class OKTETAKASTENGUI_EXPORT ByteArrayViewProfileManager : public QObject
37
66
{
43
72
 
44
73
  public:
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;
46
80
 
47
81
  public:
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 );
 
85
 
 
86
    ByteArrayViewProfileLock createLock( const ByteArrayViewProfile::Id& viewProfileId );
49
87
 
50
88
  Q_SIGNALS:
51
 
    void viewProfilesAdded( const QList<Kasten1::ByteArrayViewProfile>& viewProfiles );
52
 
    void viewProfilesChanged( const QList<Kasten1::ByteArrayViewProfile>& viewProfiles );
53
 
    void viewProfilesRemoved( const QList<Kasten1::ByteArrayViewProfile>& viewProfiles );
54
 
 
55
 
protected:
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 );
 
94
 
 
95
  private:
 
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 );
 
100
 
 
101
  private Q_SLOTS:
 
102
    void onViewProfilesFolderChanged( const QString& path );
 
103
 
 
104
  private:
 
105
    QList<ByteArrayViewProfile> mViewProfiles;
 
106
 
 
107
    ByteArrayViewProfile::Id mDefaultViewProfileId;
 
108
 
 
109
    KDirWatch* mViewProfileFileWatcher;
 
110
 
 
111
    QHash<QString, ByteArrayViewProfileFileInfoLookup> mViewProfileFileInfoLookupPerFolder;
57
112
};
58
113
 
59
 
 
60
 
inline QList<ByteArrayViewProfile> ByteArrayViewProfileManager::viewProfiles() const { return mViewProfiles; }
61
 
 
62
114
}
63
115
 
64
116
#endif