summaryrefslogtreecommitdiffstats
path: root/src/app/ActionMan/useractionpage.h
blob: 2a117f67c223308b408e397cab9a103e167455dc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
//
// C++ Interface: useractionpage
//
// Description: 
//
//
// Author: Shie Erlich and Rafi Yanai <>, (C) 2006
//
// Copyright: See COPYING file that comes with this distribution
//
//
#ifndef USERACTIONPAGE_H
#define USERACTIONPAGE_H

#include <tqwidget.h>

class UserActionListView;
class ActionProperty;
class TQToolButton;

/**
 * @author Jonas Bähr
*/
class UserActionPage : public TQWidget {
TQ_OBJECT
  
public:
   UserActionPage( TQWidget* parent );
   ~UserActionPage();

   /**
    * Be sure to call this function before you delete this page!!
    * @return true if this page can be closed
    */
   bool readyToQuit();

   void applyChanges();

signals:
   void changed(); ///< emited on changes to an action (used to enable the apply-button)
   void applied(); ///< emited when changes are applied to an action (used to disable the apply-button)

private:
   /**
    * If there are modifications in the property-widget, the user is asked
    * what to do. Apply, discard or continue editing. In the first case,
    * saving is done in this function.
    * @return true if a new action can be loaded in the property-widget.
    */
   bool continueInSpiteOfChanges();
   /**
    * applyes all changes by writing the actionfile and emits "applied"
    */
   void apply();

   //bool _modified; ///< true if the action-tree was changed (= changes were applied to an action)
   UserActionListView *actionTree;
   ActionProperty *actionProperties;
   TQToolButton *importButton, *exportButton;
   TQToolButton *copyButton, *pasteButton;
   TQToolButton *removeButton, *newButton;

private slots:
   void slotChangeCurrent();	//loads a new action into the detail-view
   void slotUpdateAction();	//updates the action to the xml-file
   void slotNewAction();
   void slotRemoveAction();
   void slotImport();
   void slotExport();
   void slotToClip();
   void slotFromClip();
};

#endif //USERACTIONPAGE_H