summaryrefslogtreecommitdiffstats
path: root/src/app/ActionMan/actionproperty.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/app/ActionMan/actionproperty.h')
-rw-r--r--src/app/ActionMan/actionproperty.h147
1 files changed, 147 insertions, 0 deletions
diff --git a/src/app/ActionMan/actionproperty.h b/src/app/ActionMan/actionproperty.h
new file mode 100644
index 0000000..dfdc5a1
--- /dev/null
+++ b/src/app/ActionMan/actionproperty.h
@@ -0,0 +1,147 @@
+//
+// C++ Interface: actionproperty
+//
+// Description:
+//
+//
+// Author: Jonas Bähr (C) 2004
+//
+// Copyright: See COPYING file that comes with this distribution
+//
+//
+
+#ifndef ACTIONPROPERTY_H
+#define ACTIONPROPERTY_H
+
+#include "actionpropertybase.h"
+
+class KrAction;
+class TDEShortcut;
+
+/**
+ * Use this widget where ever you need to manipulate a UserAction
+ * @author Jonas Bähr (http://www.jonas-baehr.de)
+ */
+class ActionProperty : public ActionPropertyBase {
+ TQ_OBJECT
+
+public:
+ ActionProperty( TQWidget *parent=0, const char *name=0, KrAction *action=0 );
+ ~ActionProperty();
+
+ /**
+ * @return the currently displayed action
+ */
+ KrAction* action() { return _action; };
+
+ /**
+ * This inits the widget with the actions properties.
+ * If no action is provided, the last used will be taken!
+ * It also resets the changed() state.
+ * @param action the action which should be displayd
+ */
+ void updateGUI( KrAction *action = 0 );
+
+ /**
+ * This writes the displayed properties back into the action.
+ * If no action is provided, the last used will be taken!
+ * It also resets the changed() state.
+ * @param action the action which should be manipulated
+ */
+ void updateAction( KrAction *action = 0 );
+
+ /**
+ * clears everything
+ */
+ void clear();
+
+ /**
+ * @return true if all properties got valid values
+ */
+ bool validProperties();
+
+ /**
+ * @return true if any property got changed
+ */
+ bool isModified() { return _modified; };
+
+signals:
+ /**
+ * emited when any actionproperty changed. This signal is only emited when
+ * the _modified attribute changes to true. If there are changes made and
+ * _modified is already true, no signal is emited!
+ */
+ void changed();
+
+protected slots:
+ void setModified( bool m = true );
+ /**
+ * executes the AddPlaceholderPopup
+ */
+ void addPlaceholder();
+ /**
+ * asks for an existing path
+ */
+ void addStartpath();
+ /**
+ * (availability) asks for a new protocol
+ */
+ void newProtocol();
+ /**
+ * (availability) changes a protocol of the list
+ */
+ void editProtocol();
+ /**
+ * (availability) removes a protocol from the list
+ */
+ void removeProtocol();
+ /**
+ * (availability) asks for a new path
+ */
+ void addPath();
+ /**
+ * (availability) edits a path of the list
+ */
+ void editPath();
+ /**
+ * (availability) removes a path from the list
+ */
+ void removePath();
+ /**
+ * (availability) asks for a new mime-type
+ */
+ void addMime();
+ /**
+ * (availability) changes a mime-type of the list
+ */
+ void editMime();
+ /**
+ * (availability) removes a mime-type from the list
+ */
+ void removeMime();
+ /**
+ * (availability) asks for a new file-filter
+ */
+ void newFile();
+ /**
+ * (availability) edits a file-filter of the list
+ */
+ void editFile();
+ /**
+ * (availability) removes a file-filter from the lsit
+ */
+ void removeFile();
+
+private:
+ KrAction *_action;
+ bool _modified;
+
+private slots:
+ /**
+ * This updates the ShortcutButton
+ * @internal
+ */
+ void changedShortcut(const TDEShortcut& shortcut);
+};
+
+#endif