src/libraries.h

changeset 259
c27612f0eac0
parent 230
a1f3f7d9078b
child 264
76a025db4948
equal deleted inserted replaced
258:fe094d0687ad 259:c27612f0eac0
43 Q_DECLARE_METATYPE(Library) 43 Q_DECLARE_METATYPE(Library)
44 Q_DECLARE_METATYPE(Library::Role) 44 Q_DECLARE_METATYPE(Library::Role)
45 QDataStream &operator<<(QDataStream&, const Library&); 45 QDataStream &operator<<(QDataStream&, const Library&);
46 QDataStream &operator>>(QDataStream&, Library&); 46 QDataStream &operator>>(QDataStream&, Library&);
47 47
48 using Libraries = QVector<Library>; 48 using Libraries = QList<Library>;
49 Q_DECLARE_METATYPE(Libraries) 49 //QDataStream &operator<<(QDataStream&, const Libraries&);
50 //QDataStream &operator>>(QDataStream&, Libraries&);
51 //Q_DECLARE_METATYPE(Libraries)
50 52
51 class Configuration; 53 class Configuration;
52 54
53 class LibrariesModel : public QAbstractTableModel 55 class LibrariesModel : public QAbstractTableModel
54 { 56 {
55 Q_OBJECT 57 Q_OBJECT
56 public: 58 public:
57 LibrariesModel(QObject* parent = nullptr); 59 LibrariesModel(QObject* parent = nullptr);
58 QVector<Library>::const_iterator begin() const; 60 auto begin() const { return this->libraries.begin(); }
59 QVector<Library>::const_iterator end() const; 61 auto end() const { return this->libraries.end(); }
60 QString findFile(QString fileName) const; 62 QString findFile(QString fileName) const;
61 void addLibrary(const Library& library); 63 void addLibrary(const Library& library);
62 void removeLibrary(const int libraryIndex); 64 void removeLibrary(const std::size_t libraryIndex);
63 const Library& library(int libraryIndex) const; 65 const Library& library(std::size_t libraryIndex) const;
64 void setLibraryPath(int libraryIndex, const QDir& path); 66 void setLibraryPath(std::size_t libraryIndex, const QDir& path);
65 void setLibraryRole(int libraryIndex, const Library::Role role); 67 void setLibraryRole(std::size_t libraryIndex, const Library::Role role);
66 void restoreFromSettings(); 68 void restoreFromSettings();
67 void storeToSettings(); 69 void storeToSettings();
68 int count() const; 70 std::size_t count() const;
69 void moveLibrary(const int libraryFromIndex, const int libraryToIndex); 71 void moveLibrary(const std::size_t libraryFromIndex, const std::size_t libraryToIndex);
70 // Definitions for QAbstractTableModel 72 // Definitions for QAbstractTableModel
71 Qt::ItemFlags flags(const QModelIndex& index) const override; 73 Qt::ItemFlags flags(const QModelIndex& index) const override;
72 QVariant data(const QModelIndex& index, int role = Qt::DisplayRole) const override; 74 QVariant data(const QModelIndex& index, int role = Qt::DisplayRole) const override;
73 QVariant headerData( 75 QVariant headerData(
74 int section, 76 int section,
75 Qt::Orientation orientation, 77 Qt::Orientation orientation,
76 int role = Qt::DisplayRole) const override; 78 int role = Qt::DisplayRole) const override;
77 int rowCount(const QModelIndex&) const override; 79 int rowCount(const QModelIndex&) const override;
78 int columnCount(const QModelIndex&) const override; 80 int columnCount(const QModelIndex&) const override;
79 bool isValidIndex(const int libraryIndex) const; 81 bool isValidIndex(const std::size_t libraryIndex) const;
80 ColorTable loadColorTable(QTextStream& errors) const; 82 ColorTable loadColorTable(QTextStream& errors) const;
81 private: 83 private:
82 enum Column 84 enum Column
83 { 85 {
84 RoleColumn, 86 RoleColumn,
85 PathColumn 87 PathColumn
86 }; 88 };
87 void signalLibraryChange(int library); 89 void signalLibraryChange(std::size_t library);
88 Libraries libraries; 90 Libraries libraries;
89 }; 91 };

mercurial