Fix Qt warning:
Please register the custom scheme 'command+output' via QWebEngineUrlScheme::registerScheme() before installing the custom scheme handler.pull/2/head
parent
11c4bf856b
commit
d9df909b99
|
@ -150,28 +150,12 @@ MainWindow::MainWindow(QWidget *parent)
|
|||
connect(button,SIGNAL(clicked()),this,SLOT(slotCreateTerminal()));
|
||||
connect(m_webBar,SIGNAL(returnPressed()),this,SLOT(slotWebBarReturnPressed()));
|
||||
|
||||
|
||||
QWebEngineUrlScheme schemeCommand("command");
|
||||
schemeCommand.setSyntax(QWebEngineUrlScheme::Syntax::Path);
|
||||
schemeCommand.setDefaultPort(0);
|
||||
schemeCommand.setFlags(QWebEngineUrlScheme::LocalScheme);
|
||||
QWebEngineUrlScheme::registerScheme(schemeCommand);
|
||||
|
||||
QWebEngineUrlScheme schemeCommandOut("command+output");
|
||||
schemeCommandOut.setSyntax(QWebEngineUrlScheme::Syntax::Path);
|
||||
schemeCommandOut.setDefaultPort(0);
|
||||
schemeCommandOut.setFlags(QWebEngineUrlScheme::LocalScheme);
|
||||
QWebEngineUrlScheme::registerScheme(schemeCommandOut);
|
||||
|
||||
QWebEngineUrlScheme schemeCommandConfirm("command+confirm");
|
||||
schemeCommandConfirm.setSyntax(QWebEngineUrlScheme::Syntax::Path);
|
||||
schemeCommandConfirm.setDefaultPort(0);
|
||||
schemeCommandConfirm.setFlags(QWebEngineUrlScheme::LocalScheme);
|
||||
QWebEngineUrlScheme::registerScheme(schemeCommandConfirm);
|
||||
|
||||
|
||||
OGBrowserUrlHandlerCommand *cmdHandler = new OGBrowserUrlHandlerCommand(this);
|
||||
connect(cmdHandler, &OGBrowserUrlHandlerCommand::command, this, &MainWindow::commandQueued);
|
||||
// All schemes need registering first, then their handlers.
|
||||
registerScheme("command");
|
||||
registerScheme("command+output");
|
||||
registerScheme("command+confirm");
|
||||
registerScheme("command+confirm+output");
|
||||
registerScheme("command+output+confirm");
|
||||
|
||||
|
||||
registerHandler("command", false, false);
|
||||
|
@ -181,22 +165,6 @@ MainWindow::MainWindow(QWidget *parent)
|
|||
registerHandler("command+output+confirm", true, true);
|
||||
|
||||
|
||||
/*
|
||||
QWebEngineProfile::defaultProfile()->installUrlSchemeHandler("command", cmdHandler);
|
||||
|
||||
OGBrowserUrlHandlerCommand *cmdOutHandler = new OGBrowserUrlHandlerCommand(this);
|
||||
connect(cmdOutHandler, &OGBrowserUrlHandlerCommand::command, this, &MainWindow::commandQueued);
|
||||
cmdOutHandler->setReturnOutput(true);
|
||||
QWebEngineProfile::defaultProfile()->installUrlSchemeHandler("command+output", cmdOutHandler);
|
||||
|
||||
|
||||
OGBrowserUrlHandlerCommand *cmdConfHandler = new OGBrowserUrlHandlerCommand(this);
|
||||
connect(cmdConfHandler, &OGBrowserUrlHandlerCommand::command, this, &MainWindow::commandQueued);
|
||||
cmdConfHandler->setAskConfirmation(true);
|
||||
QWebEngineProfile::defaultProfile()->installUrlSchemeHandler("command+confirm", cmdConfHandler);
|
||||
*/
|
||||
|
||||
|
||||
QStringList arguments=QCoreApplication::arguments();
|
||||
m_webBar->setText(arguments.at(1));
|
||||
m_web->load(QUrl(arguments.at(1)));
|
||||
|
@ -220,6 +188,16 @@ MainWindow::~MainWindow()
|
|||
delete m_logstream;
|
||||
}
|
||||
|
||||
void MainWindow::registerScheme(const QString &name) {
|
||||
qInfo() << "Registering" << name;
|
||||
|
||||
QWebEngineUrlScheme scheme(name.toLatin1());
|
||||
scheme.setSyntax(QWebEngineUrlScheme::Syntax::Path);
|
||||
scheme.setDefaultPort(0);
|
||||
scheme.setFlags(QWebEngineUrlScheme::LocalScheme);
|
||||
QWebEngineUrlScheme::registerScheme(scheme);
|
||||
}
|
||||
|
||||
|
||||
void MainWindow::registerHandler(const QString &commandName, bool confirm, bool returnOutput) {
|
||||
OGBrowserUrlHandlerCommand *handler = new OGBrowserUrlHandlerCommand(this);
|
||||
|
|
|
@ -78,6 +78,7 @@ class MainWindow : public QMainWindow
|
|||
|
||||
private:
|
||||
bool isAdmin() const { return m_is_admin; }
|
||||
void registerScheme(const QString &name);
|
||||
void registerHandler(const QString &name, bool confirm, bool output);
|
||||
|
||||
bool m_is_admin{false};
|
||||
|
|
Loading…
Reference in New Issue