src/libraries.h

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

mercurial