qbrowserlib::Executor as singleton; refs #167
This commit is contained in:
+4
-6
@@ -75,9 +75,9 @@ class Browser: public QMainWindow, protected Ui::Browser {
|
|||||||
_startUrl(urls.size()),
|
_startUrl(urls.size()),
|
||||||
_quirks(quirks), _search(new qbrowserlib::ButtonLineEdit),
|
_quirks(quirks), _search(new qbrowserlib::ButtonLineEdit),
|
||||||
_searchEngines(new QComboBox),
|
_searchEngines(new QComboBox),
|
||||||
_bookmarkfile(bookmarkfile),
|
_bookmarkfile(bookmarkfile) {
|
||||||
_executor(&_settings) {
|
|
||||||
TRC; LOG<<urls;
|
TRC; LOG<<urls;
|
||||||
|
qbrowserlib::Executor::instance(&_settings);
|
||||||
_home = "about:blank";
|
_home = "about:blank";
|
||||||
if (urls.size()) _home = urls.at(0);
|
if (urls.size()) _home = urls.at(0);
|
||||||
setupUi(this);
|
setupUi(this);
|
||||||
@@ -248,7 +248,7 @@ class Browser: public QMainWindow, protected Ui::Browser {
|
|||||||
//! Create new empty tab.
|
//! Create new empty tab.
|
||||||
qbrowserlib::SwissWebView* newTab() {
|
qbrowserlib::SwissWebView* newTab() {
|
||||||
qbrowserlib::SwissWebView* browser
|
qbrowserlib::SwissWebView* browser
|
||||||
(new qbrowserlib::SwissWebView(0, &_networkManager, &_executor));
|
(new qbrowserlib::SwissWebView(0, &_networkManager));
|
||||||
newTab(browser);
|
newTab(browser);
|
||||||
return browser;
|
return browser;
|
||||||
}
|
}
|
||||||
@@ -1391,8 +1391,7 @@ class Browser: public QMainWindow, protected Ui::Browser {
|
|||||||
statusBar()->showMessage(tr("handling content ..."), 5000);
|
statusBar()->showMessage(tr("handling content ..."), 5000);
|
||||||
LOG<<"Show SaveOrRunDialog";
|
LOG<<"Show SaveOrRunDialog";
|
||||||
qbrowserlib::SaveOrRunDialog dlg
|
qbrowserlib::SaveOrRunDialog dlg
|
||||||
(reply, &_executor,
|
(reply, reply->header(QNetworkRequest::ContentTypeHeader).toString(),
|
||||||
reply->header(QNetworkRequest::ContentTypeHeader).toString(),
|
|
||||||
reply->url().host(), _kiosk, this);
|
reply->url().host(), _kiosk, this);
|
||||||
if (!dlg.handlePreconfigured()) dlg.exec();
|
if (!dlg.handlePreconfigured()) dlg.exec();
|
||||||
}
|
}
|
||||||
@@ -1536,7 +1535,6 @@ class Browser: public QMainWindow, protected Ui::Browser {
|
|||||||
qbrowserlib::ButtonLineEdit* _search;
|
qbrowserlib::ButtonLineEdit* _search;
|
||||||
QComboBox* _searchEngines;
|
QComboBox* _searchEngines;
|
||||||
FileStorage _bookmarkfile;
|
FileStorage _bookmarkfile;
|
||||||
qbrowserlib::Executor _executor;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
//! @}
|
//! @}
|
||||||
|
|||||||
@@ -76,7 +76,7 @@ class SwissWebViewWidgetIfc: public QObject,
|
|||||||
}
|
}
|
||||||
QWidget *createWidget(QWidget *parent) {
|
QWidget *createWidget(QWidget *parent) {
|
||||||
TRC;
|
TRC;
|
||||||
return new qbrowserlib::SwissWebView(parent, &_net, &_executor);
|
return new qbrowserlib::SwissWebView(parent, &_net);
|
||||||
}
|
}
|
||||||
bool isInitialized() {
|
bool isInitialized() {
|
||||||
TRC;
|
TRC;
|
||||||
@@ -84,7 +84,6 @@ class SwissWebViewWidgetIfc: public QObject,
|
|||||||
}
|
}
|
||||||
private:
|
private:
|
||||||
QNetworkAccessManager _net;
|
QNetworkAccessManager _net;
|
||||||
qbrowserlib::Executor _executor;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
//! @}
|
//! @}
|
||||||
|
|||||||
@@ -17,7 +17,9 @@
|
|||||||
#include <QtNetwork/QNetworkReply>
|
#include <QtNetwork/QNetworkReply>
|
||||||
|
|
||||||
namespace qbrowserlib {
|
namespace qbrowserlib {
|
||||||
|
|
||||||
|
//! Execute external processes
|
||||||
|
/*! Implements a singleton pattern */
|
||||||
class Executor: public QObject {
|
class Executor: public QObject {
|
||||||
|
|
||||||
Q_OBJECT;
|
Q_OBJECT;
|
||||||
@@ -27,9 +29,17 @@ namespace qbrowserlib {
|
|||||||
void applicationStarted();
|
void applicationStarted();
|
||||||
void applicationFinished();
|
void applicationFinished();
|
||||||
|
|
||||||
|
private:
|
||||||
|
|
||||||
|
Executor(Settings* settings=0): _settings(settings) {} // singleton
|
||||||
|
Executor(const Executor&); // singleton
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
Executor(Settings* settings=0): _settings(settings) {}
|
static Executor& instance(Settings* settings=0) {
|
||||||
|
static Executor _instance(settings);
|
||||||
|
return _instance;
|
||||||
|
}
|
||||||
|
|
||||||
~Executor() {
|
~Executor() {
|
||||||
TRC;
|
TRC;
|
||||||
@@ -102,9 +112,9 @@ namespace qbrowserlib {
|
|||||||
_downloadProcesses.erase(qobject_cast<QProcess*>(sender()));
|
_downloadProcesses.erase(qobject_cast<QProcess*>(sender()));
|
||||||
applicationFinished();
|
applicationFinished();
|
||||||
}
|
}
|
||||||
|
|
||||||
private:
|
|
||||||
|
|
||||||
|
private:
|
||||||
|
|
||||||
typedef std::map<QProcess*, TemporaryFile*> DownloadProcesses;
|
typedef std::map<QProcess*, TemporaryFile*> DownloadProcesses;
|
||||||
DownloadProcesses _downloadProcesses;
|
DownloadProcesses _downloadProcesses;
|
||||||
Settings* _settings;
|
Settings* _settings;
|
||||||
|
|||||||
@@ -24,9 +24,8 @@ namespace qbrowserlib {
|
|||||||
signals:
|
signals:
|
||||||
void done();
|
void done();
|
||||||
public:
|
public:
|
||||||
PluginFactory(QNetworkAccessManager* net, Executor* executor,
|
PluginFactory(QNetworkAccessManager* net, QObject* p=0):
|
||||||
QObject* p=0): QWebPluginFactory(p),
|
QWebPluginFactory(p), _net(net) {
|
||||||
_net(net), _executor(executor) {
|
|
||||||
TRC;
|
TRC;
|
||||||
// Plugin plugin;
|
// Plugin plugin;
|
||||||
// plugin.name = "Show PDF-Document";
|
// plugin.name = "Show PDF-Document";
|
||||||
@@ -50,8 +49,7 @@ namespace qbrowserlib {
|
|||||||
// }
|
// }
|
||||||
QNetworkRequest req(url);
|
QNetworkRequest req(url);
|
||||||
QNetworkReply* reply(_net->get(QNetworkRequest(url)));
|
QNetworkReply* reply(_net->get(QNetworkRequest(url)));
|
||||||
SaveOrRunPlugin* p(new SaveOrRunPlugin(reply, _executor,
|
SaveOrRunPlugin* p(new SaveOrRunPlugin(reply, url, mimeType));
|
||||||
url, mimeType));
|
|
||||||
assert(connect(p, SIGNAL(accept()), SIGNAL(done())));
|
assert(connect(p, SIGNAL(accept()), SIGNAL(done())));
|
||||||
if (p->handlePreconfigured()) {
|
if (p->handlePreconfigured()) {
|
||||||
return p;
|
return p;
|
||||||
@@ -69,7 +67,6 @@ namespace qbrowserlib {
|
|||||||
private:
|
private:
|
||||||
QList<Plugin> _plugins;
|
QList<Plugin> _plugins;
|
||||||
QNetworkAccessManager* _net;
|
QNetworkAccessManager* _net;
|
||||||
Executor* _executor;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -632,14 +632,14 @@ p, li { white-space: pre-wrap; }
|
|||||||
<context>
|
<context>
|
||||||
<name>qbrowserlib::SaveOrRun</name>
|
<name>qbrowserlib::SaveOrRun</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="saveorrun.hxx" line="144"/>
|
<location filename="saveorrun.hxx" line="146"/>
|
||||||
<location filename="saveorrun.hxx" line="156"/>
|
<location filename="saveorrun.hxx" line="158"/>
|
||||||
<source>File Exists</source>
|
<source>File Exists</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="saveorrun.hxx" line="145"/>
|
<location filename="saveorrun.hxx" line="147"/>
|
||||||
<location filename="saveorrun.hxx" line="157"/>
|
<location filename="saveorrun.hxx" line="159"/>
|
||||||
<source>File already exists:
|
<source>File already exists:
|
||||||
|
|
||||||
%1
|
%1
|
||||||
@@ -648,12 +648,12 @@ Overwrite?</source>
|
|||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="saveorrun.hxx" line="169"/>
|
<location filename="saveorrun.hxx" line="171"/>
|
||||||
<source>No Program</source>
|
<source>No Program</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="saveorrun.hxx" line="170"/>
|
<location filename="saveorrun.hxx" line="172"/>
|
||||||
<source>Not an executable Program:
|
<source>Not an executable Program:
|
||||||
|
|
||||||
%1
|
%1
|
||||||
@@ -662,23 +662,23 @@ Specify full path to executable program</source>
|
|||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="saveorrun.hxx" line="182"/>
|
<location filename="saveorrun.hxx" line="184"/>
|
||||||
<source>Save File As ...</source>
|
<source>Save File As ...</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="saveorrun.hxx" line="195"/>
|
<location filename="saveorrun.hxx" line="197"/>
|
||||||
<source>Open File With ...</source>
|
<source>Open File With ...</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="saveorrun.hxx" line="207"/>
|
<location filename="saveorrun.hxx" line="209"/>
|
||||||
<source>Dokumente</source>
|
<source>Dokumente</source>
|
||||||
<comment>Documents folder in local language</comment>
|
<comment>Documents folder in local language</comment>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="saveorrun.hxx" line="209"/>
|
<location filename="saveorrun.hxx" line="211"/>
|
||||||
<source>Arbeitsfläche</source>
|
<source>Arbeitsfläche</source>
|
||||||
<comment>Desktop folder in local language</comment>
|
<comment>Desktop folder in local language</comment>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
@@ -687,7 +687,7 @@ Specify full path to executable program</source>
|
|||||||
<context>
|
<context>
|
||||||
<name>qbrowserlib::SaveOrRunDialog</name>
|
<name>qbrowserlib::SaveOrRunDialog</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="saveorrun.hxx" line="261"/>
|
<location filename="saveorrun.hxx" line="259"/>
|
||||||
<source>Unknown File Type</source>
|
<source>Unknown File Type</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -695,7 +695,7 @@ Specify full path to executable program</source>
|
|||||||
<context>
|
<context>
|
||||||
<name>qbrowserlib::SwissWebWidget</name>
|
<name>qbrowserlib::SwissWebWidget</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="swisswebwidget.hxx" line="41"/>
|
<location filename="swisswebwidget.hxx" line="53"/>
|
||||||
<source>Browser Tools</source>
|
<source>Browser Tools</source>
|
||||||
<comment>name of the browser's toolbar</comment>
|
<comment>name of the browser's toolbar</comment>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
|
|||||||
@@ -632,14 +632,14 @@ p, li { white-space: pre-wrap; }
|
|||||||
<context>
|
<context>
|
||||||
<name>qbrowserlib::SaveOrRun</name>
|
<name>qbrowserlib::SaveOrRun</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="saveorrun.hxx" line="144"/>
|
<location filename="saveorrun.hxx" line="146"/>
|
||||||
<location filename="saveorrun.hxx" line="156"/>
|
<location filename="saveorrun.hxx" line="158"/>
|
||||||
<source>File Exists</source>
|
<source>File Exists</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="saveorrun.hxx" line="145"/>
|
<location filename="saveorrun.hxx" line="147"/>
|
||||||
<location filename="saveorrun.hxx" line="157"/>
|
<location filename="saveorrun.hxx" line="159"/>
|
||||||
<source>File already exists:
|
<source>File already exists:
|
||||||
|
|
||||||
%1
|
%1
|
||||||
@@ -648,12 +648,12 @@ Overwrite?</source>
|
|||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="saveorrun.hxx" line="169"/>
|
<location filename="saveorrun.hxx" line="171"/>
|
||||||
<source>No Program</source>
|
<source>No Program</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="saveorrun.hxx" line="170"/>
|
<location filename="saveorrun.hxx" line="172"/>
|
||||||
<source>Not an executable Program:
|
<source>Not an executable Program:
|
||||||
|
|
||||||
%1
|
%1
|
||||||
@@ -662,23 +662,23 @@ Specify full path to executable program</source>
|
|||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="saveorrun.hxx" line="182"/>
|
<location filename="saveorrun.hxx" line="184"/>
|
||||||
<source>Save File As ...</source>
|
<source>Save File As ...</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="saveorrun.hxx" line="195"/>
|
<location filename="saveorrun.hxx" line="197"/>
|
||||||
<source>Open File With ...</source>
|
<source>Open File With ...</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="saveorrun.hxx" line="207"/>
|
<location filename="saveorrun.hxx" line="209"/>
|
||||||
<source>Dokumente</source>
|
<source>Dokumente</source>
|
||||||
<comment>Documents folder in local language</comment>
|
<comment>Documents folder in local language</comment>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="saveorrun.hxx" line="209"/>
|
<location filename="saveorrun.hxx" line="211"/>
|
||||||
<source>Arbeitsfläche</source>
|
<source>Arbeitsfläche</source>
|
||||||
<comment>Desktop folder in local language</comment>
|
<comment>Desktop folder in local language</comment>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
@@ -687,7 +687,7 @@ Specify full path to executable program</source>
|
|||||||
<context>
|
<context>
|
||||||
<name>qbrowserlib::SaveOrRunDialog</name>
|
<name>qbrowserlib::SaveOrRunDialog</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="saveorrun.hxx" line="261"/>
|
<location filename="saveorrun.hxx" line="259"/>
|
||||||
<source>Unknown File Type</source>
|
<source>Unknown File Type</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -695,7 +695,7 @@ Specify full path to executable program</source>
|
|||||||
<context>
|
<context>
|
||||||
<name>qbrowserlib::SwissWebWidget</name>
|
<name>qbrowserlib::SwissWebWidget</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="swisswebwidget.hxx" line="41"/>
|
<location filename="swisswebwidget.hxx" line="53"/>
|
||||||
<source>Browser Tools</source>
|
<source>Browser Tools</source>
|
||||||
<comment>name of the browser's toolbar</comment>
|
<comment>name of the browser's toolbar</comment>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
|
|||||||
@@ -632,14 +632,14 @@ p, li { white-space: pre-wrap; }
|
|||||||
<context>
|
<context>
|
||||||
<name>qbrowserlib::SaveOrRun</name>
|
<name>qbrowserlib::SaveOrRun</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="saveorrun.hxx" line="144"/>
|
<location filename="saveorrun.hxx" line="146"/>
|
||||||
<location filename="saveorrun.hxx" line="156"/>
|
<location filename="saveorrun.hxx" line="158"/>
|
||||||
<source>File Exists</source>
|
<source>File Exists</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="saveorrun.hxx" line="145"/>
|
<location filename="saveorrun.hxx" line="147"/>
|
||||||
<location filename="saveorrun.hxx" line="157"/>
|
<location filename="saveorrun.hxx" line="159"/>
|
||||||
<source>File already exists:
|
<source>File already exists:
|
||||||
|
|
||||||
%1
|
%1
|
||||||
@@ -648,12 +648,12 @@ Overwrite?</source>
|
|||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="saveorrun.hxx" line="169"/>
|
<location filename="saveorrun.hxx" line="171"/>
|
||||||
<source>No Program</source>
|
<source>No Program</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="saveorrun.hxx" line="170"/>
|
<location filename="saveorrun.hxx" line="172"/>
|
||||||
<source>Not an executable Program:
|
<source>Not an executable Program:
|
||||||
|
|
||||||
%1
|
%1
|
||||||
@@ -662,23 +662,23 @@ Specify full path to executable program</source>
|
|||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="saveorrun.hxx" line="182"/>
|
<location filename="saveorrun.hxx" line="184"/>
|
||||||
<source>Save File As ...</source>
|
<source>Save File As ...</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="saveorrun.hxx" line="195"/>
|
<location filename="saveorrun.hxx" line="197"/>
|
||||||
<source>Open File With ...</source>
|
<source>Open File With ...</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="saveorrun.hxx" line="207"/>
|
<location filename="saveorrun.hxx" line="209"/>
|
||||||
<source>Dokumente</source>
|
<source>Dokumente</source>
|
||||||
<comment>Documents folder in local language</comment>
|
<comment>Documents folder in local language</comment>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="saveorrun.hxx" line="209"/>
|
<location filename="saveorrun.hxx" line="211"/>
|
||||||
<source>Arbeitsfläche</source>
|
<source>Arbeitsfläche</source>
|
||||||
<comment>Desktop folder in local language</comment>
|
<comment>Desktop folder in local language</comment>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
@@ -687,7 +687,7 @@ Specify full path to executable program</source>
|
|||||||
<context>
|
<context>
|
||||||
<name>qbrowserlib::SaveOrRunDialog</name>
|
<name>qbrowserlib::SaveOrRunDialog</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="saveorrun.hxx" line="261"/>
|
<location filename="saveorrun.hxx" line="259"/>
|
||||||
<source>Unknown File Type</source>
|
<source>Unknown File Type</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -695,7 +695,7 @@ Specify full path to executable program</source>
|
|||||||
<context>
|
<context>
|
||||||
<name>qbrowserlib::SwissWebWidget</name>
|
<name>qbrowserlib::SwissWebWidget</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="swisswebwidget.hxx" line="41"/>
|
<location filename="swisswebwidget.hxx" line="53"/>
|
||||||
<source>Browser Tools</source>
|
<source>Browser Tools</source>
|
||||||
<comment>name of the browser's toolbar</comment>
|
<comment>name of the browser's toolbar</comment>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
|
|||||||
@@ -632,14 +632,14 @@ p, li { white-space: pre-wrap; }
|
|||||||
<context>
|
<context>
|
||||||
<name>qbrowserlib::SaveOrRun</name>
|
<name>qbrowserlib::SaveOrRun</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="saveorrun.hxx" line="144"/>
|
<location filename="saveorrun.hxx" line="146"/>
|
||||||
<location filename="saveorrun.hxx" line="156"/>
|
<location filename="saveorrun.hxx" line="158"/>
|
||||||
<source>File Exists</source>
|
<source>File Exists</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="saveorrun.hxx" line="145"/>
|
<location filename="saveorrun.hxx" line="147"/>
|
||||||
<location filename="saveorrun.hxx" line="157"/>
|
<location filename="saveorrun.hxx" line="159"/>
|
||||||
<source>File already exists:
|
<source>File already exists:
|
||||||
|
|
||||||
%1
|
%1
|
||||||
@@ -648,12 +648,12 @@ Overwrite?</source>
|
|||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="saveorrun.hxx" line="169"/>
|
<location filename="saveorrun.hxx" line="171"/>
|
||||||
<source>No Program</source>
|
<source>No Program</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="saveorrun.hxx" line="170"/>
|
<location filename="saveorrun.hxx" line="172"/>
|
||||||
<source>Not an executable Program:
|
<source>Not an executable Program:
|
||||||
|
|
||||||
%1
|
%1
|
||||||
@@ -662,23 +662,23 @@ Specify full path to executable program</source>
|
|||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="saveorrun.hxx" line="182"/>
|
<location filename="saveorrun.hxx" line="184"/>
|
||||||
<source>Save File As ...</source>
|
<source>Save File As ...</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="saveorrun.hxx" line="195"/>
|
<location filename="saveorrun.hxx" line="197"/>
|
||||||
<source>Open File With ...</source>
|
<source>Open File With ...</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="saveorrun.hxx" line="207"/>
|
<location filename="saveorrun.hxx" line="209"/>
|
||||||
<source>Dokumente</source>
|
<source>Dokumente</source>
|
||||||
<comment>Documents folder in local language</comment>
|
<comment>Documents folder in local language</comment>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<location filename="saveorrun.hxx" line="209"/>
|
<location filename="saveorrun.hxx" line="211"/>
|
||||||
<source>Arbeitsfläche</source>
|
<source>Arbeitsfläche</source>
|
||||||
<comment>Desktop folder in local language</comment>
|
<comment>Desktop folder in local language</comment>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
@@ -687,7 +687,7 @@ Specify full path to executable program</source>
|
|||||||
<context>
|
<context>
|
||||||
<name>qbrowserlib::SaveOrRunDialog</name>
|
<name>qbrowserlib::SaveOrRunDialog</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="saveorrun.hxx" line="261"/>
|
<location filename="saveorrun.hxx" line="259"/>
|
||||||
<source>Unknown File Type</source>
|
<source>Unknown File Type</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
@@ -695,7 +695,7 @@ Specify full path to executable program</source>
|
|||||||
<context>
|
<context>
|
||||||
<name>qbrowserlib::SwissWebWidget</name>
|
<name>qbrowserlib::SwissWebWidget</name>
|
||||||
<message>
|
<message>
|
||||||
<location filename="swisswebwidget.hxx" line="41"/>
|
<location filename="swisswebwidget.hxx" line="53"/>
|
||||||
<source>Browser Tools</source>
|
<source>Browser Tools</source>
|
||||||
<comment>name of the browser's toolbar</comment>
|
<comment>name of the browser's toolbar</comment>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
|
|||||||
@@ -39,9 +39,8 @@ namespace qbrowserlib {
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
SaveOrRun(QNetworkReply* reply, Executor* executor,
|
SaveOrRun(QNetworkReply* reply, QString type, QString src, QWidget* p=0):
|
||||||
QString type, QString src,
|
QWidget(p), _reply(reply) {
|
||||||
QWidget* p=0): QWidget(p), _reply(reply), _executor(executor) {
|
|
||||||
TRC;
|
TRC;
|
||||||
setupUi(this);
|
setupUi(this);
|
||||||
QString obj(remoteFilename());
|
QString obj(remoteFilename());
|
||||||
@@ -61,7 +60,7 @@ namespace qbrowserlib {
|
|||||||
TRC;
|
TRC;
|
||||||
QString filename(remoteFilename());
|
QString filename(remoteFilename());
|
||||||
QStringList type
|
QStringList type
|
||||||
(_executor->settings()->mimetype
|
(qbrowserlib::Executor::instance().settings()->mimetype
|
||||||
(_reply->header(QNetworkRequest::ContentTypeHeader).toString(),
|
(_reply->header(QNetworkRequest::ContentTypeHeader).toString(),
|
||||||
filename));
|
filename));
|
||||||
if (!type.isEmpty()) {
|
if (!type.isEmpty()) {
|
||||||
@@ -69,9 +68,11 @@ namespace qbrowserlib {
|
|||||||
hide();
|
hide();
|
||||||
filename.replace(QRegExp("^(.*)\\."+type.at(0)+"$"),
|
filename.replace(QRegExp("^(.*)\\."+type.at(0)+"$"),
|
||||||
"\\1"); // remove extension
|
"\\1"); // remove extension
|
||||||
assert(connect(_executor, SIGNAL(applicationStarted()),
|
assert(connect(&qbrowserlib::Executor::instance(),
|
||||||
|
SIGNAL(applicationStarted()),
|
||||||
SIGNAL(accept())));
|
SIGNAL(accept())));
|
||||||
_executor->run(_reply, filename+"."+type.at(0), type.at(1));
|
qbrowserlib::Executor::instance().run
|
||||||
|
(_reply, filename+"."+type.at(0), type.at(1));
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
@@ -132,7 +133,8 @@ namespace qbrowserlib {
|
|||||||
|
|
||||||
void run() {
|
void run() {
|
||||||
TRC; LOG<<program()<<filename();
|
TRC; LOG<<program()<<filename();
|
||||||
_executor->run(_reply, filename(), program()+" %1");
|
qbrowserlib::Executor::instance().run
|
||||||
|
(_reply, filename(), program()+" %1");
|
||||||
accept();
|
accept();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -219,8 +221,6 @@ namespace qbrowserlib {
|
|||||||
|
|
||||||
friend class SaveOrRunDialog;
|
friend class SaveOrRunDialog;
|
||||||
QNetworkReply* _reply;
|
QNetworkReply* _reply;
|
||||||
Executor* _executor;
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
class SaveOrRunPlugin: public SaveOrRun {
|
class SaveOrRunPlugin: public SaveOrRun {
|
||||||
@@ -228,11 +228,10 @@ namespace qbrowserlib {
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
SaveOrRunPlugin(QNetworkReply* reply, Executor* executor,
|
SaveOrRunPlugin(QNetworkReply* reply,
|
||||||
const QUrl& url, const QString& mime,
|
const QUrl& url, const QString& mime,
|
||||||
bool kiosk=false, QWidget* p=0):
|
bool kiosk=false, QWidget* p=0):
|
||||||
SaveOrRun(reply, executor,
|
SaveOrRun(reply, mime, url.toString(), p) {
|
||||||
mime, url.toString(), p) {
|
|
||||||
TRC;
|
TRC;
|
||||||
setAutoFillBackground(true);
|
setAutoFillBackground(true);
|
||||||
_type->setText(mime);
|
_type->setText(mime);
|
||||||
@@ -253,10 +252,9 @@ namespace qbrowserlib {
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
SaveOrRunDialog(QNetworkReply* reply, Executor* executor,
|
SaveOrRunDialog(QNetworkReply* reply, QString type, QString src,
|
||||||
QString type, QString src,
|
|
||||||
bool kiosk=false, QWidget* p=0):
|
bool kiosk=false, QWidget* p=0):
|
||||||
QDialog(p), _sor(new SaveOrRun(reply, executor, type, src)) {
|
QDialog(p), _sor(new SaveOrRun(reply, type, src)) {
|
||||||
TRC;
|
TRC;
|
||||||
setWindowTitle(tr("Unknown File Type"));
|
setWindowTitle(tr("Unknown File Type"));
|
||||||
QVBoxLayout* l(new QVBoxLayout(this));
|
QVBoxLayout* l(new QVBoxLayout(this));
|
||||||
|
|||||||
@@ -34,11 +34,10 @@ namespace qbrowserlib {
|
|||||||
signals:
|
signals:
|
||||||
void newPage(SwissWebPage*);
|
void newPage(SwissWebPage*);
|
||||||
public:
|
public:
|
||||||
SwissWebPage(QNetworkAccessManager* net,
|
SwissWebPage(QNetworkAccessManager* net, QObject *parent = 0):
|
||||||
Executor* executor, QObject *parent = 0):
|
QWebPage(parent), _net(net) {
|
||||||
QWebPage(parent), _net(net), _executor(executor) {
|
|
||||||
setNetworkAccessManager(_net);
|
setNetworkAccessManager(_net);
|
||||||
PluginFactory* pf(new PluginFactory(_net, _executor, this));
|
PluginFactory* pf(new PluginFactory(_net, this));
|
||||||
assert(connect(pf, SIGNAL(done()), SLOT(back())));
|
assert(connect(pf, SIGNAL(done()), SLOT(back())));
|
||||||
setPluginFactory(pf);
|
setPluginFactory(pf);
|
||||||
setLinkDelegationPolicy(QWebPage::DelegateAllLinks);
|
setLinkDelegationPolicy(QWebPage::DelegateAllLinks);
|
||||||
@@ -53,7 +52,7 @@ namespace qbrowserlib {
|
|||||||
switch (type) {
|
switch (type) {
|
||||||
case QWebPage::WebBrowserWindow:
|
case QWebPage::WebBrowserWindow:
|
||||||
case QWebPage::WebModalDialog: {
|
case QWebPage::WebModalDialog: {
|
||||||
SwissWebPage *page(new SwissWebPage(_net, _executor, parent()));
|
SwissWebPage *page(new SwissWebPage(_net, parent()));
|
||||||
newPage(page);
|
newPage(page);
|
||||||
return page;
|
return page;
|
||||||
} break;
|
} break;
|
||||||
@@ -76,7 +75,6 @@ namespace qbrowserlib {
|
|||||||
}
|
}
|
||||||
private:
|
private:
|
||||||
QNetworkAccessManager* _net;
|
QNetworkAccessManager* _net;
|
||||||
Executor* _executor;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -38,16 +38,12 @@ namespace qbrowserlib {
|
|||||||
public:
|
public:
|
||||||
//! Default construction, creates new @ref SwissWebView
|
//! Default construction, creates new @ref SwissWebView
|
||||||
SwissWebView(QWidget *parent=0,
|
SwissWebView(QWidget *parent=0,
|
||||||
QNetworkAccessManager* net=0,
|
QNetworkAccessManager* net=0): QWebView(parent) {
|
||||||
Executor* executor=0): QWebView(parent) {
|
|
||||||
if (!net) net = (_fallbackNetworkAccessManager =
|
if (!net) net = (_fallbackNetworkAccessManager =
|
||||||
std::auto_ptr<QNetworkAccessManager>
|
std::auto_ptr<QNetworkAccessManager>
|
||||||
(new QNetworkAccessManager)).get();
|
(new QNetworkAccessManager)).get();
|
||||||
if (!executor) executor = (_fallbackExecutor =
|
|
||||||
std::auto_ptr<Executor>
|
|
||||||
(new Executor)).get();
|
|
||||||
//! @bugfix, gcc does not yet support constructor calling
|
//! @bugfix, gcc does not yet support constructor calling
|
||||||
x(new SwissWebPage(net, executor, this));
|
x(new SwissWebPage(net, this));
|
||||||
}
|
}
|
||||||
//! Construction with externally allocated @ref SwissWebPage
|
//! Construction with externally allocated @ref SwissWebPage
|
||||||
/*! SwissWebView takes ownership of SwissWebPage. */
|
/*! SwissWebView takes ownership of SwissWebPage. */
|
||||||
@@ -76,7 +72,6 @@ namespace qbrowserlib {
|
|||||||
private:
|
private:
|
||||||
|
|
||||||
std::auto_ptr<QNetworkAccessManager> _fallbackNetworkAccessManager;
|
std::auto_ptr<QNetworkAccessManager> _fallbackNetworkAccessManager;
|
||||||
std::auto_ptr<Executor> _fallbackExecutor;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -27,35 +27,52 @@ namespace qbrowserlib {
|
|||||||
browser. To be used inside a QTabBar, as main window or as
|
browser. To be used inside a QTabBar, as main window or as
|
||||||
docking widget. */
|
docking widget. */
|
||||||
class SwissWebWidget: public QWidget, private Ui::SwissWebWidget {
|
class SwissWebWidget: public QWidget, private Ui::SwissWebWidget {
|
||||||
|
|
||||||
Q_OBJECT;
|
Q_OBJECT;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
SwissWebWidget(QWidget* p=0): QWidget(p) {
|
SwissWebWidget(QWidget* p=0): QWidget(p) {
|
||||||
setupUi(this);
|
setupUi(this);
|
||||||
QMainWindow* w(qobject_cast<QMainWindow*>(p?p->parentWidget():p));
|
/*! Within a QMainWindow, the widget automatically reparents
|
||||||
qDebug()<<"Parent "<<p<<(w?"is":"is not")<<" a QMainWindow";
|
the top buttons to the toolbar and the bottom status
|
||||||
if (w) {
|
line to the window's status bar. */
|
||||||
/*! Within a QMainWindow, the widget automatically reparents
|
moveToMain(qobject_cast<QMainWindow*>(p?p->parentWidget():p));
|
||||||
the top buttons to the toolbar and the bottom status
|
connects();
|
||||||
line to the window's status bar. */
|
|
||||||
qDebug()<<"Rearranging";
|
|
||||||
QToolBar* t(w->addToolBar(trUtf8("Browser Tools",
|
|
||||||
"name of the browser's toolbar")));
|
|
||||||
while (_tools->count()) {
|
|
||||||
qDebug()<<"Rearranging tool item "<<(0)<<_tools->itemAt(0);
|
|
||||||
t->addWidget(_tools->itemAt(0)->widget());
|
|
||||||
}
|
|
||||||
delete _tools; _tools=0;
|
|
||||||
t->show();
|
|
||||||
_statusbar->removeWidget(_status);
|
|
||||||
delete _status; _status=0;
|
|
||||||
while (_statusbar->count()) {
|
|
||||||
qDebug()<<"Rearranging stat item "<<(0)<<_statusbar->itemAt(0);
|
|
||||||
w->statusBar()->addWidget(_statusbar->itemAt(0)->widget());
|
|
||||||
}
|
|
||||||
delete _statusbar; _statusbar=0;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//! Moves status widgets to status bar, tool widgets to toolbar
|
||||||
|
/*! You can use this method to reparent the tools and the status
|
||||||
|
part of the widget into the toolbar and statusbar of your
|
||||||
|
main window.
|
||||||
|
|
||||||
|
@note If used as central widget of a QMainWindow, status and
|
||||||
|
tools are automatically reparented in the constructor. */
|
||||||
|
void moveToMain(QMainWindow* w) {
|
||||||
|
if (!w) return;
|
||||||
|
QToolBar* t(w->addToolBar(trUtf8("Browser Tools",
|
||||||
|
"name of the browser's toolbar")));
|
||||||
|
while (_tools->count())
|
||||||
|
t->addWidget(_tools->itemAt(0)->widget());
|
||||||
|
delete _tools; _tools=0;
|
||||||
|
_statusbar->removeWidget(_status); delete _status; _status=0;
|
||||||
|
while (_statusbar->count())
|
||||||
|
w->statusBar()->addWidget(_statusbar->itemAt(0)->widget());
|
||||||
|
delete _statusbar; _statusbar=0;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Q_SLOTS:
|
||||||
|
|
||||||
|
void load() {
|
||||||
|
_webview->load(_url->text());
|
||||||
|
}
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|
||||||
|
void connects() {
|
||||||
|
connect(_url, SIGNAL(returnPressed()), SLOT(load()));
|
||||||
|
}
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user