┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src/dolphinapplication.cpp
diff options
context:
space:
mode:
authorPeter Penz <[email protected]>2007-02-18 17:01:36 +0000
committerPeter Penz <[email protected]>2007-02-18 17:01:36 +0000
commitabf17941f7a052d25788d2f2f3c84e5aae935e29 (patch)
tree4f89cd4d58b0b6033cc91f2eb14c02291f8c3a1c /src/dolphinapplication.cpp
parentfd43139134da394e413c5d7d5518275379e67798 (diff)
Dolphin is now a KUniqueApplication. A lot of thanks go to Oscar Blumberg, who submitted this patch.
svn path=/trunk/KDE/kdebase/apps/; revision=634862
Diffstat (limited to 'src/dolphinapplication.cpp')
-rw-r--r--src/dolphinapplication.cpp22
1 files changed, 20 insertions, 2 deletions
diff --git a/src/dolphinapplication.cpp b/src/dolphinapplication.cpp
index 439a6fd21..cad005630 100644
--- a/src/dolphinapplication.cpp
+++ b/src/dolphinapplication.cpp
@@ -21,8 +21,15 @@
#include "dolphinapplication.h"
#include "dolphinmainwindow.h"
-DolphinApplication::DolphinApplication()
+#include <applicationadaptor.h>
+#include <kurl.h>
+#include <QDBusConnection>
+
+DolphinApplication::DolphinApplication() :
+ m_lastId(0)
{
+ new ApplicationAdaptor(this);
+ QDBusConnection::sessionBus().registerObject("/dolphin/Application", this);
}
DolphinApplication::~DolphinApplication()
@@ -40,13 +47,24 @@ DolphinApplication* DolphinApplication::app()
DolphinMainWindow* DolphinApplication::createMainWindow()
{
- DolphinMainWindow* mainWindow = new DolphinMainWindow();
+ DolphinMainWindow* mainWindow = new DolphinMainWindow(m_lastId);
+ ++m_lastId;
mainWindow->init();
m_mainWindows.append(mainWindow);
return mainWindow;
}
+int DolphinApplication::openWindow(const QString& url)
+{
+ DolphinMainWindow* win = createMainWindow();
+ if ((win->activeView() != 0) && !url.isEmpty()) {
+ win->activeView()->setUrl(KUrl(url));
+ }
+ win->show();
+ return win->getId();
+}
+
void DolphinApplication::removeMainWindow(DolphinMainWindow* mainWindow)
{
m_mainWindows.removeAll(mainWindow);