Warning, file /sdk/lokalize/src/phaseswindow.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 PHASESWINDOW_H 0011 #define PHASESWINDOW_H 0012 0013 0014 #include "phase.h" 0015 #include "note.h" 0016 0017 #include <QUrl> 0018 #include <QDialog> 0019 #include <QModelIndex> 0020 #include <QVector> 0021 #include <QMap> 0022 0023 class QDialogButtonBox; 0024 class QStackedLayout; 0025 class QTextBrowser; 0026 class NoteEditor; 0027 class PhasesModel; 0028 class MyTreeView; 0029 class PhasesWindow: public QDialog 0030 { 0031 Q_OBJECT 0032 public: 0033 explicit PhasesWindow(Catalog* catalog, QWidget *parent); 0034 ~PhasesWindow() override = default; 0035 0036 private Q_SLOTS: 0037 void displayPhaseNotes(const QModelIndex& current); 0038 void addPhase(); 0039 void handleResult(); 0040 void anchorClicked(QUrl); 0041 void noteEditAccepted(); 0042 void noteEditRejected(); 0043 0044 private: 0045 Catalog* m_catalog; 0046 PhasesModel* m_model; 0047 MyTreeView* m_view; 0048 QTextBrowser* m_browser; 0049 NoteEditor* m_editor; 0050 QWidget* m_noteView; 0051 QStackedLayout* m_stackedLayout; 0052 QDialogButtonBox* m_buttonBox; 0053 0054 QMap<QString, QVector<Note> > m_phaseNotes; 0055 }; 0056 0057 0058 #include <QTreeView> 0059 0060 class MyTreeView: public QTreeView 0061 { 0062 Q_OBJECT 0063 public: 0064 explicit MyTreeView(QWidget* parent): QTreeView(parent) {} 0065 ~MyTreeView() override = default; 0066 0067 Q_SIGNALS: 0068 void currentIndexChanged(const QModelIndex& current); 0069 private: 0070 void currentChanged(const QModelIndex& current, const QModelIndex&) override 0071 { 0072 Q_EMIT currentIndexChanged(current); 0073 } 0074 }; 0075 0076 0077 0078 0079 #endif 0080