#include "dolphinapplication.h"
#include "dolphinmainwindow.h"
+#include "metadataloader.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()
DolphinMainWindow* DolphinApplication::createMainWindow()
{
- DolphinMainWindow* mainWindow = new DolphinMainWindow();
+ DolphinMainWindow* mainWindow = new DolphinMainWindow(m_lastId);
+ ++m_lastId;
mainWindow->init();
m_mainWindows.append(mainWindow);
return mainWindow;
}
+MetadataLoader* DolphinApplication::metadataLoader()
+{
+ static MetadataLoader loader;
+ return &loader;
+}
+
+int DolphinApplication::openWindow(const QString& url)
+{
+ DolphinMainWindow* win = createMainWindow();
+ if ((win->activeView() != 0) && !url.isEmpty()) {
+ win->activeView()->setUrl(KUrl(url));
+ }
+ win->show();
+ //TODO find how to raise a window (as if we've launched a new dolphin process)
+ return win->getId();
+}
+
void DolphinApplication::removeMainWindow(DolphinMainWindow* mainWindow)
{
m_mainWindows.removeAll(mainWindow);