#include "dolphinapplication.h"
#include "dolphinmainwindow.h"
-#include "metadataloader.h"
#include <applicationadaptor.h>
+#include <kcmdlineargs.h>
#include <kurl.h>
#include <QDBusConnection>
return mainWindow;
}
-MetadataLoader* DolphinApplication::metadataLoader()
+void DolphinApplication::removeMainWindow(DolphinMainWindow* mainWindow)
{
- static MetadataLoader loader;
- return &loader;
+ m_mainWindows.removeAll(mainWindow);
}
-int DolphinApplication::openWindow(const QString& url)
+void DolphinApplication::refreshMainWindows()
{
- DolphinMainWindow* win = createMainWindow();
- if ((win->activeView() != 0) && !url.isEmpty()) {
- win->activeView()->setUrl(KUrl(url));
+ for (int i = 0; i < m_mainWindows.count(); ++i) {
+ m_mainWindows[i]->refreshViews();
}
- 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)
+
+int DolphinApplication::newInstance()
{
- m_mainWindows.removeAll(mainWindow);
+ int exitValue = KUniqueApplication::newInstance();
+
+ KCmdLineArgs* args = KCmdLineArgs::parsedArgs();
+ if (args->count() > 0) {
+ for (int i = 0; i < args->count(); ++i) {
+ openWindow(args->arg(i));
+ }
+ }
+ else {
+ openWindow(QString());
+ }
+
+ args->clear();
+
+ return exitValue;
}
-void DolphinApplication::refreshMainWindows()
+int DolphinApplication::openWindow(const QString& url)
{
- for (int i = 0; i < m_mainWindows.count(); ++i) {
- m_mainWindows[i]->refreshViews();
+ DolphinMainWindow* win = createMainWindow();
+ if ((win->activeView() != 0) && !url.isEmpty()) {
+ win->activeView()->setUrl(KUrl(url));
}
+ win->show();
+ return win->getId();
}
#include "dolphinapplication.moc"