]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/dolphinapplication.h
Create a SidebarTreeView which will include support for drag & drop in later releases...
[dolphin.git] / src / dolphinapplication.h
index 69d306863965fe9e6c727c6b679e100bed7a0e48..ad95f23920b1e2a3f7b1a0dfde8dd34ac76c829c 100644 (file)
 #ifndef _DOLPHIN_APPLICATION_H
 #define _DOLPHIN_APPLICATION_H
 
-#include <kapplication.h>
+#include <kuniqueapplication.h>
 
 class DolphinMainWindow;
+class MetadataLoader;
 
 /**
- * 
- * DolphinApplication will hold application wide data which
- * can be accessed.
+ * @brief Holds the application data which can be accessed.
  * At first this will hold a list of DolphinMainWindows which
- * we will delete on application exit. 
+ * we will delete on application exit.
  */
 
-class DolphinApplication : public KApplication {
+class DolphinApplication : public KUniqueApplication
+{
     Q_OBJECT
+    Q_CLASSINFO("D-Bus Interface", "org.kde.dolphin.Application")
     friend class DolphinMainWindow;
+
 public:
     DolphinApplication();
-    ~DolphinApplication();
+    virtual ~DolphinApplication();
 
     static DolphinApplication* app();
 
@@ -50,15 +52,21 @@ public:
     DolphinMainWindow* createMainWindow();
     void refreshMainWindows();
 
-protected:
     /**
-     * called by the MainWindow to deregister
+     * Returns the metadata loader.
      */
-    void removeMainWindow( DolphinMainWindow* );
+    MetadataLoader* metadataLoader();
+
+public slots:
+    int openWindow(const QString& url);
+
+protected:
+    /** Called by the DolphinMainWindow to deregister. */
+    void removeMainWindow(DolphinMainWindow* mainWindow);
 
 private:
     QList<DolphinMainWindow*> m_mainWindows;
+    int m_lastId;
 };
 
-
 #endif