summaryrefslogtreecommitdiffstats
path: root/starter/starter.h
blob: 0175ea45226e470aeb14aec0543559ad193b687f (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

#ifndef STARTER_H
#define STARTER_H

#ifdef HAVE_CONFIG_H
#include <config.h>
#endif

#include <kpanelapplet.h>
#include <tqmap.h>
#include <tqstring.h>
#include <tqpixmap.h>
// #include <tqpainter.h>
#include <kconfig.h>
#include <kshortcut.h>
#include "starteriface.h"
#include "mykey.h"

class DCOPClient;
class TQLabel;
class KPopupMenu;
class StartMenu;
class StarterConfig;

class starter : public KPanelApplet, virtual public StarterIface
{
    Q_OBJECT
    
public:
    starter(const TQString& configFile, Type t = Normal, int actions = 0,
        TQWidget *parent = 0, const char *name = 0);
    ~starter();

    virtual int widthForHeight(int height) const;
    virtual int heightForWidth(int width) const;
    virtual void preferences();
   void popupMenu();
   void showMenu();
protected:
    virtual void resizeEvent ( TQResizeEvent * );

private:
   enum State {Default, Hover, Down};
   State state;
   int _iconSize;
   bool eventFilter( TQObject *o, TQEvent *e );
   bool popupBlocked;
//    bool isDialog_;
   TQLabel *mainView;
//    TQPainter m_painter;
   DCOPClient *client;
   KPopupMenu *configPopup;
   StartMenu *startMenu;
   TQPixmap pixmap;
   TQPixmap hoverPixmap;
   TQPixmap downPixmap;
   StarterConfig *configDialog;
   typedef TQMap<MyKey,TQString> ShortcutList;
   ShortcutList shortcutList;
private slots:
   void addShortcut(const KShortcut&);
   void updateShortcutButton(const TQString&);
   void configureMenu();
   void reloadImages();
   void updateSettings();
//    void blockMenu();
   void unblockPopupDelayed();
   void unblockPopup();
   void activateShortcutButton(int);
};

#endif