summaryrefslogtreecommitdiffstats
path: root/smb4k/iconview/smb4ksharesiconview_part.h
diff options
context:
space:
mode:
Diffstat (limited to 'smb4k/iconview/smb4ksharesiconview_part.h')
-rw-r--r--smb4k/iconview/smb4ksharesiconview_part.h232
1 files changed, 232 insertions, 0 deletions
diff --git a/smb4k/iconview/smb4ksharesiconview_part.h b/smb4k/iconview/smb4ksharesiconview_part.h
new file mode 100644
index 0000000..f9d482b
--- /dev/null
+++ b/smb4k/iconview/smb4ksharesiconview_part.h
@@ -0,0 +1,232 @@
+/***************************************************************************
+ smb4ksharesview_part - This Part includes the shares icon view
+ of Smb4K.
+ -------------------
+ begin : Mo Dez 4 2006
+ copyright : (C) 2006 by Alexander Reinholdt
+ email : dustpuppy@users.berlios.de
+ ***************************************************************************/
+
+/***************************************************************************
+ * 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. *
+ * *
+ * This program is distributed in the hope that it will be useful, but *
+ * WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
+ * General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU General Public License *
+ * along with this program; if not, write to the *
+ * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, *
+ * MA 02110-1301 USA *
+ ***************************************************************************/
+
+#ifndef SMB4KSHARESICONVIEW_PART_H
+#define SMB4KSHARESICONVIEW_PART_H
+
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+// KDE includes
+#include <kparts/part.h>
+#include <kparts/factory.h>
+
+// applications specific includes
+#include "smb4ksharesiconview.h"
+
+/**
+ * This is one of the parts of Smb4K. It contains the shares icon
+ * view.
+ *
+ * @author Alexander Reinholdt <dustpuppy@users.berlios.de>
+ */
+
+class Smb4KSharesIconViewPart : public KParts::Part
+{
+ Q_OBJECT
+
+ public:
+ /**
+ * The constructor.
+ *
+ * @param parentWidget The parent widget
+ *
+ * @param widgetName The name the widget should have
+ *
+ * @param parent The parent object
+ *
+ * @param name The name this object should have
+ */
+ Smb4KSharesIconViewPart( QWidget *parentWidget = 0, const char *widgetName = 0,
+ QObject *parent = 0, const char *name = 0 );
+
+ /**
+ * The destructor.
+ */
+ virtual ~Smb4KSharesIconViewPart();
+
+ protected:
+ /**
+ * Reimplemented from KParts::Part.
+ */
+ void customEvent( QCustomEvent *e );
+
+ protected slots:
+ /**
+ * Opens a context menu over the icon view item @p item at position
+ * @p pos if requested.
+ *
+ * @param item The icon view item or NULL if the user clicked
+ * somewhere else.
+ *
+ * @param pos The position where the user clicked.
+ */
+ void slotContextMenuRequested( QIconViewItem *item, const QPoint & pos );
+
+ /**
+ * This slot is called when the selection in the icon view changed. It
+ * enables or disables the actions according to known options/states.
+ * Please note that it won't be invoked when the user clicked on the
+ * viewport. Use slotMouseButtonPressed() to also catch that event.
+ *
+ * @param item The icon view item that was selected
+ */
+ void slotSelectionChanged( QIconViewItem *item );
+
+ /**
+ * This slot is called when the user presses any mouse button somewhere
+ * in the icon view. It enables or disables the actions according to known
+ * options/states.
+ *
+ * @param item The icon view item that was clicked or NULL if the
+ * user clicked onto the viewport.
+ */
+ void slotMouseButtonPressed( QIconViewItem *item );
+
+ /**
+ * This slot is called by the Smb4KMounter::updated() signal and updates
+ * the icon view according to the list that is returned by Smb4KMounter::getShares().
+ */
+ void slotMountedShares();
+
+ /**
+ * This slot is connected to the 'Unmount action'. You will be able to
+ * unmount a certain share when activating this slot.
+ */
+ void slotUnmountShare();
+
+ /**
+ * This slot is connected to the 'Force Unmounting' action and is, thus,
+ * only useful under Linux, because only there the possibility for a forced
+ * (i.e. lazy) unmount exists.
+ *
+ * When activating this slot, the selected share will be unmounted, even if
+ * it is not accessible or the server already went offline.
+ */
+ void slotForceUnmountShare();
+
+ /**
+ * This slot is connected to the 'Unmount All' action. All shares - either of
+ * the user or that are present on the system (depending on the settings the
+ * user chose) - will be unmounted. Please note that Smb4KMounter::unmountAllShares()
+ * is invoked directly.
+ */
+ void slotUnmountAllShares();
+
+ /**
+ * This slot is connected to the 'Synchronize' action. The current item will be
+ * synchronized with a local copy (or vice versa) if you activate it.
+ */
+ void slotSynchronize();
+
+ /**
+ * This slot is connected to the 'Konsole' action. The mount point of the current
+ * share item will be opened in Konsole.
+ */
+ void slotKonsole();
+
+ /**
+ * This slot is connected to the 'Konqueror' action. The contents of the current
+ * share item will be opened in the file manager.
+ */
+ void slotFilemanager();
+
+ /**
+ * This slot is called by the synchronizer whenever the state of the synchronization
+ * process changed.
+ *
+ * @param state The state the synchronizer is in.
+ */
+ void slotSynchronizationState( int state );
+
+ private:
+ /**
+ * Set up the actions
+ */
+ void setupActions();
+
+ /**
+ * Load settings for the widget or the actions.
+ */
+ void loadSettings();
+
+ /**
+ * The icon view.
+ */
+ Smb4KSharesIconView *m_widget;
+
+ /**
+ * The action menu.
+ */
+ KActionMenu *m_menu;
+};
+
+
+class KInstance;
+class KAboutData;
+
+class Smb4KSharesIconViewPartFactory : public KParts::Factory
+{
+ Q_OBJECT
+
+ public:
+ /**
+ * The constructor
+ */
+ Smb4KSharesIconViewPartFactory();
+
+ /**
+ * The destructor
+ */
+ virtual ~Smb4KSharesIconViewPartFactory();
+
+ /**
+ * Reimplemented from KParts::Factory
+ */
+ virtual KParts::Part *createPartObject( QWidget *parentWidget, const char *widgetName,
+ QObject *parent, const char *name,
+ const char *classname, const QStringList &args );
+
+ /**
+ * The instance
+ */
+ static KInstance *instance();
+
+ private:
+ /**
+ * The factory's instance.
+ */
+ static KInstance *m_instance;
+
+ /**
+ * The factory's KAboutData object
+ */
+ static KAboutData *m_about;
+};
+
+
+#endif