src/libraries.h

changeset 8
44679e468ba9
parent 7
68443f5be176
child 12
fe67489523b5
equal deleted inserted replaced
7:68443f5be176 8:44679e468ba9
13 UnofficialLibrary, 13 UnofficialLibrary,
14 WorkingLibrary, 14 WorkingLibrary,
15 } role; 15 } role;
16 QDir path; 16 QDir path;
17 static QString libraryRoleName(const Role role); 17 static QString libraryRoleName(const Role role);
18 static bool isValidRole(const Role role);
19 constexpr static const Role allRoles[] = {OfficialLibrary, UnofficialLibrary, WorkingLibrary};
18 }; 20 };
19 21
20 Q_DECLARE_METATYPE(Library) 22 Q_DECLARE_METATYPE(Library)
23 Q_DECLARE_METATYPE(Library::Role)
21 QDataStream &operator<<(QDataStream&, const Library&); 24 QDataStream &operator<<(QDataStream&, const Library&);
22 QDataStream &operator>>(QDataStream&, Library&); 25 QDataStream &operator>>(QDataStream&, Library&);
23 26
24 using Libraries = QVector<Library>; 27 using Libraries = QVector<Library>;
25 Q_DECLARE_METATYPE(Libraries) 28 Q_DECLARE_METATYPE(Libraries)
32 LibraryManager(QSettings* settings, QObject* parent = nullptr); 35 LibraryManager(QSettings* settings, QObject* parent = nullptr);
33 QVector<Library>::const_iterator begin() const; 36 QVector<Library>::const_iterator begin() const;
34 QVector<Library>::const_iterator end() const; 37 QVector<Library>::const_iterator end() const;
35 QFileInfo findFile(QString fileName) const; 38 QFileInfo findFile(QString fileName) const;
36 void addLibrary(const Library& library); 39 void addLibrary(const Library& library);
40 void removeLibrary(const int libraryIndex);
37 const Library& library(int libraryIndex) const; 41 const Library& library(int libraryIndex) const;
38 void setLibraryPath(int libraryIndex, const QDir& path); 42 void setLibraryPath(int libraryIndex, const QDir& path);
39 void setLibraryRole(int libraryIndex, const Library::Role role); 43 void setLibraryRole(int libraryIndex, const Library::Role role);
40 void restoreFromSettings(QSettings* settings); 44 void restoreFromSettings(QSettings* settings);
41 void storeToSettings(QSettings* settings); 45 void storeToSettings(QSettings* settings);
42 int count() const; 46 int count() const;
47 void moveLibrary(const int libraryFromIndex, const int libraryToIndex);
43 // Definitions for QAbstractTableModel 48 // Definitions for QAbstractTableModel
44 Qt::ItemFlags flags(const QModelIndex& index) const override; 49 Qt::ItemFlags flags(const QModelIndex& index) const override;
45 QVariant data(const QModelIndex& index, int role = Qt::DisplayRole) const override; 50 QVariant data(const QModelIndex& index, int role = Qt::DisplayRole) const override;
46 QVariant headerData( 51 QVariant headerData(
47 int section, 52 int section,
48 Qt::Orientation orientation, 53 Qt::Orientation orientation,
49 int role = Qt::DisplayRole) const override; 54 int role = Qt::DisplayRole) const override;
50 int rowCount(const QModelIndex &parent = QModelIndex()) const override; 55 int rowCount(const QModelIndex&) const override;
51 int columnCount(const QModelIndex &parent = QModelIndex()) const override; 56 int columnCount(const QModelIndex&) const override;
57 bool isValidIndex(const int libraryIndex) const;
52 private: 58 private:
53 enum Column 59 enum Column
54 { 60 {
55 RoleColumn, 61 RoleColumn,
56 PathColumn 62 PathColumn
57 }; 63 };
58 void signalLibraryChange(int library); 64 void signalLibraryChange(int library);
59 bool isValidIndex(int libraryIndex);
60 Libraries libraries; 65 Libraries libraries;
61 }; 66 };

mercurial