diff --git a/doomsday/client/include/clientapp.h b/doomsday/client/include/clientapp.h index 6fad2d8981..81c7c6aa23 100644 --- a/doomsday/client/include/clientapp.h +++ b/doomsday/client/include/clientapp.h @@ -34,6 +34,8 @@ */ class ClientApp : public de::GuiApp { + Q_OBJECT + public: ClientApp(int &argc, char **argv); @@ -58,6 +60,9 @@ class ClientApp : public de::GuiApp static de::Games &games(); static de::World &world(); +public slots: + void openHomepageInBrowser(); + private: DENG2_PRIVATE(d) }; diff --git a/doomsday/client/src/clientapp.cpp b/doomsday/client/src/clientapp.cpp index 23a357c269..f112219e1c 100644 --- a/doomsday/client/src/clientapp.cpp +++ b/doomsday/client/src/clientapp.cpp @@ -21,6 +21,7 @@ #include #include #include +#include #include #include @@ -299,3 +300,15 @@ World &ClientApp::world() { return app().d->world; } + +void ClientApp::openHomepageInBrowser() +{ + // Get out of fullscreen mode. + int windowed[] = { + ClientWindow::Fullscreen, false, + ClientWindow::End + }; + ClientWindow::main().changeAttributes(windowed); + + QDesktopServices::openUrl(QUrl(DOOMSDAY_HOMEURL)); +}