Warning, file /sdk/lokalize/src/binunitsview.h was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).

0001 /*
0002   This file is part of Lokalize
0003 
0004   SPDX-FileCopyrightText: 2009 Nick Shaforostoff <shafff@ukr.net>
0005   SPDX-FileCopyrightText: 2018-2019 Simon Depiets <sdepiets@gmail.com>
0006 
0007   SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
0008 */
0009 
0010 #ifndef BINUNITSVIEW_H
0011 #define BINUNITSVIEW_H
0012 
0013 class Catalog;
0014 class BinUnitsModel;
0015 class MyTreeView;
0016 
0017 #include "pos.h"
0018 
0019 #include <QHash>
0020 #include <QDockWidget>
0021 #include <QAbstractListModel>
0022 
0023 class BinUnitsView: public QDockWidget
0024 {
0025     Q_OBJECT
0026 public:
0027     explicit BinUnitsView(Catalog* catalog, QWidget *parent);
0028 
0029 public Q_SLOTS:
0030     void selectUnit(const QString& id);
0031 
0032 private:
0033     void contextMenuEvent(QContextMenuEvent *event) override;
0034 private Q_SLOTS:
0035     void mouseDoubleClicked(const QModelIndex&);
0036     void fileLoaded();
0037 
0038 private:
0039     Catalog* m_catalog;
0040     BinUnitsModel* m_model;
0041     MyTreeView* m_view;
0042 };
0043 
0044 
0045 class BinUnitsModel: public QAbstractListModel
0046 {
0047     Q_OBJECT
0048 public:
0049     enum BinUnitsModelColumns {
0050         SourceFilePath = 0,
0051         TargetFilePath,
0052         Approved,
0053         ColumnCount
0054     };
0055 
0056     BinUnitsModel(Catalog* catalog, QObject* parent);
0057     ~BinUnitsModel() override = default;
0058 
0059     int rowCount(const QModelIndex& parent = QModelIndex()) const override;
0060     int columnCount(const QModelIndex& parent = QModelIndex()) const override
0061     {
0062         Q_UNUSED(parent);
0063         return ColumnCount;
0064     }
0065     QVariant data(const QModelIndex&, int role = Qt::DisplayRole) const override;
0066     QVariant headerData(int section, Qt::Orientation, int role = Qt::DisplayRole) const override;
0067 
0068     void setTargetFilePath(int row, const QString&);
0069 
0070 private Q_SLOTS:
0071     void fileLoaded();
0072     void entryModified(const DocPosition&);
0073     void updateFile(QString path);
0074 
0075 private:
0076     Catalog* m_catalog;
0077     mutable QHash<QString, QImage> m_imageCache;
0078 
0079 };
0080 
0081 #endif // BINUNITSVIEW_H