2019-09-29 22:30:32 -07:00
|
|
|
#pragma once
|
|
|
|
|
2019-10-03 12:17:16 -07:00
|
|
|
#include "common.h"
|
2019-10-04 10:37:34 -07:00
|
|
|
|
|
|
|
#include "quam/archive.h"
|
2019-09-29 22:30:32 -07:00
|
|
|
#include "quam/ui_project.h"
|
|
|
|
|
|
|
|
#include <QWidget>
|
|
|
|
|
|
|
|
class QErrorMessage;
|
|
|
|
class QSortFilterProxyModel;
|
|
|
|
|
2019-11-06 22:42:59 -08:00
|
|
|
class Project : public QWidget, private Ui::Project {
|
2019-09-29 22:30:32 -07:00
|
|
|
Q_OBJECT
|
|
|
|
|
|
|
|
public:
|
2019-11-06 22:42:59 -08:00
|
|
|
explicit Project(std::istream &st, QErrorMessage *errors, QWidget *parent);
|
2019-09-29 22:30:32 -07:00
|
|
|
virtual ~Project();
|
|
|
|
|
2019-11-06 22:42:59 -08:00
|
|
|
bool seekHistory(std::ptrdiff_t newPos);
|
2019-11-07 21:40:18 -08:00
|
|
|
bool seekPath(std::string path);
|
2019-11-06 22:42:59 -08:00
|
|
|
void seekTop();
|
|
|
|
|
2019-10-10 14:29:08 -07:00
|
|
|
public slots:
|
2019-11-06 22:42:59 -08:00
|
|
|
bool goBack();
|
|
|
|
bool goForward();
|
|
|
|
bool goTop();
|
|
|
|
bool goUp();
|
|
|
|
|
2019-10-05 16:58:19 -07:00
|
|
|
private slots:
|
2019-11-07 21:40:18 -08:00
|
|
|
bool goPath();
|
|
|
|
|
2019-10-09 16:06:14 -07:00
|
|
|
void dirChanged(Arc::Dir *from, Arc::Dir *to);
|
2019-10-05 16:58:19 -07:00
|
|
|
|
2019-09-29 22:30:32 -07:00
|
|
|
private:
|
2019-11-06 22:42:59 -08:00
|
|
|
bool m_seekingDir;
|
|
|
|
std::size_t m_histPos;
|
|
|
|
std::vector<std::string> m_hist;
|
|
|
|
Arc::Arc *m_arc;
|
|
|
|
QErrorMessage *m_errors;
|
|
|
|
Arc::Model *m_model;
|
|
|
|
QSortFilterProxyModel *m_sorter;
|
2019-09-29 22:30:32 -07:00
|
|
|
};
|
|
|
|
|
|
|
|
// EOF
|