summaryrefslogtreecommitdiffstats
path: root/konqueror/sidebar/konqsidebar.h
diff options
context:
space:
mode:
Diffstat (limited to 'konqueror/sidebar/konqsidebar.h')
-rw-r--r--konqueror/sidebar/konqsidebar.h126
1 files changed, 126 insertions, 0 deletions
diff --git a/konqueror/sidebar/konqsidebar.h b/konqueror/sidebar/konqsidebar.h
new file mode 100644
index 000000000..32a5f5679
--- /dev/null
+++ b/konqueror/sidebar/konqsidebar.h
@@ -0,0 +1,126 @@
+/***************************************************************************
+ konqsidebar.h
+ -------------------
+ begin : Sat June 2 16:25:27 CEST 2001
+ copyright : (C) 2001 Joseph Wenninger
+ ***************************************************************************/
+
+/***************************************************************************
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ ***************************************************************************/
+#ifndef KONQSIDEBARPART_H
+#define KONQSIDEBARPART_H
+
+#include <kparts/part.h>
+#include <kparts/factory.h>
+#include <kparts/event.h>
+#include <kparts/browserextension.h>
+#include <qguardedptr.h>
+#include "sidebar_widget.h"
+#include "konqsidebariface_p.h"
+
+class QWidget;
+class QPainter;
+class QCustomEvent;
+class KURL;
+
+
+class KonqSidebar;
+class KonqSidebarFactory;
+
+class KonqSidebarBrowserExtension : public KParts::BrowserExtension
+{
+ Q_OBJECT
+ public:
+ KonqSidebarBrowserExtension(KonqSidebar *part_,Sidebar_Widget *widget_,const char *name):
+ KParts::BrowserExtension((KParts::ReadOnlyPart*)part_,name),widget(widget_){;}
+ ~KonqSidebarBrowserExtension(){;}
+
+ protected:
+ QGuardedPtr<Sidebar_Widget> widget;
+
+
+// The following slots are needed for konqueror's standard actions
+ protected slots:
+ void copy(){if (widget) widget->stdAction("copy()");}
+ void cut(){if (widget) widget->stdAction("cut()");}
+ void paste(){if (widget) widget->stdAction("paste()");}
+ void pasteTo(const KURL&){if (widget) widget->stdAction("paste()");}
+ void trash(){if (widget) widget->stdAction("trash()");}
+ void del(){if (widget) widget->stdAction("del()");}
+ void rename(){if (widget) widget->stdAction("rename()");}
+ void properties() {if (widget) widget->stdAction("properties()");}
+ void editMimeType() {if (widget) widget->stdAction("editMimeType()");}
+ // @li @p print : Print :-) not supported
+ void reparseConfiguration() {if (widget) widget->stdAction("reparseConfiguration()");}
+ void refreshMimeTypes () { if (widget) widget->stdAction("refreshMimeTypes()");}
+};
+
+/**
+ * This is a "Part". It that does all the real work in a KPart
+ * application.
+ *
+ * @short Main Part
+ * @author Joseph WENNINGER <[email protected]>
+ * @version 0.1
+ */
+class KonqSidebar : public KParts::ReadOnlyPart, public KonqSidebarIface
+{
+ Q_OBJECT
+public:
+ /**
+ * Default constructor
+ */
+ KonqSidebar(QWidget *parentWidget, const char *widgetName,
+ QObject *parent, const char *name,bool universalMode);
+
+ /**
+ * Destructor
+ */
+ virtual ~KonqSidebar();
+
+ virtual bool openURL(const KURL &url);
+ KonqSidebarBrowserExtension* extension() const
+ { return m_extension; }
+ KInstance *getInstance();
+ virtual bool universalMode() {return m_universalMode;}
+protected:
+ /**
+ * This must be implemented by each part
+ */
+ KonqSidebarBrowserExtension * m_extension;
+ virtual bool openFile();
+
+ virtual void customEvent(QCustomEvent* ev);
+
+private:
+ class Sidebar_Widget *m_widget;
+ bool m_universalMode;
+};
+
+class KInstance;
+class KAboutData;
+
+class KonqSidebarFactory : public KParts::Factory
+{
+ Q_OBJECT
+public:
+ KonqSidebarFactory();
+ virtual ~KonqSidebarFactory();
+ virtual KParts::Part* createPartObject( QWidget *parentWidget, const char *widgetName,
+ QObject *parent, const char *name,
+ const char *classname, const QStringList &args );
+ static KInstance* instance();
+
+private:
+ static KInstance* s_instance;
+ static KAboutData* s_about;
+};
+
+#endif // KPARTAPPPART_H