In commit d21d42b69117aae04b68ecc9cc2139e034bde146 helpView was made a child-object of MainWindow, which is Qt's idiomatic way of having helpView deleted with MainWindow. As an unintended consequence, the helpView didn't show. The reason is that UserManual derives directly from QObject. In contrast, UserSurvey derives from QDialog and is correctly shown. Therefore also derive UserManual from QDialog. Reported-by: Willem Ferguson <willemferguson@zoology.up.ac.za> Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
85 lines
1.5 KiB
C++
85 lines
1.5 KiB
C++
// SPDX-License-Identifier: GPL-2.0
|
|
#ifndef USERMANUAL_H
|
|
#define USERMANUAL_H
|
|
|
|
#ifdef USE_WEBENGINE
|
|
#include <QWebEngineView>
|
|
#include <QWebEnginePage>
|
|
#else
|
|
#include <QWebView>
|
|
#endif
|
|
#include <QDialog>
|
|
#include "ui_searchbar.h"
|
|
|
|
class SearchBar : public QWidget{
|
|
Q_OBJECT
|
|
public:
|
|
SearchBar(QWidget *parent = 0);
|
|
signals:
|
|
void searchTextChanged(const QString& s);
|
|
void searchNext();
|
|
void searchPrev();
|
|
protected:
|
|
void setVisible(bool visible);
|
|
private slots:
|
|
void enableButtons(const QString& s);
|
|
private:
|
|
Ui::SearchBar ui;
|
|
};
|
|
|
|
#ifdef USE_WEBENGINE
|
|
class MyQWebEnginePage : public QWebEnginePage
|
|
{
|
|
Q_OBJECT
|
|
|
|
public:
|
|
MyQWebEnginePage(QObject* parent = 0);
|
|
bool acceptNavigationRequest(const QUrl & url, QWebEnginePage::NavigationType type, bool);
|
|
};
|
|
|
|
class MyQWebEngineView : public QWebEngineView
|
|
{
|
|
Q_OBJECT
|
|
|
|
public:
|
|
MyQWebEngineView(QWidget* parent = 0);
|
|
MyQWebEnginePage* page() const;
|
|
};
|
|
#endif
|
|
|
|
|
|
class UserManual : public QDialog {
|
|
Q_OBJECT
|
|
|
|
public:
|
|
explicit UserManual(QWidget *parent = 0);
|
|
|
|
#ifdef Q_OS_MAC
|
|
protected:
|
|
void showEvent(QShowEvent *e);
|
|
void hideEvent(QHideEvent *e);
|
|
QAction *closeAction;
|
|
QAction *filterAction;
|
|
#endif
|
|
|
|
private
|
|
slots:
|
|
void searchTextChanged(const QString& s);
|
|
void searchNext();
|
|
void searchPrev();
|
|
#ifndef USE_WEBENGINE
|
|
void linkClickedSlot(const QUrl& url);
|
|
#endif
|
|
private:
|
|
SearchBar *searchBar;
|
|
QString mLastText;
|
|
#ifdef USE_WEBENGINE
|
|
QWebEngineView *userManual;
|
|
void search(QString, QWebEnginePage::FindFlags);
|
|
#else
|
|
QWebView *userManual;
|
|
void search(QString, QWebPage::FindFlags);
|
|
#endif
|
|
};
|
|
#endif // USERMANUAL_H
|