author | harlekin <harlekin> | 2002-05-30 20:31:18 (UTC) |
---|---|---|
committer | harlekin <harlekin> | 2002-05-30 20:31:18 (UTC) |
commit | 82f086d29f36ca631d26f8a4a70fd1e809c58364 (patch) (side-by-side diff) | |
tree | 197cd323a7cdb868c3aa839181fcb7dbb5cab252 | |
parent | f4f00234985e5864229b3e95a3ac0d004c09b10d (diff) | |
download | opie-82f086d29f36ca631d26f8a4a70fd1e809c58364.zip opie-82f086d29f36ca631d26f8a4a70fd1e809c58364.tar.gz opie-82f086d29f36ca631d26f8a4a70fd1e809c58364.tar.bz2 |
applyed patch from Michael Lauer <mickey@tm.informatik.uni-frankfurt.de>, looks like the qtopia on zaurus has a modified qpemenubar, which prevented PyQt to work with opie right. Potentially closes bug #388 hh.org bugzilla
-rw-r--r-- | library/qpemenubar.cpp | 16 | ||||
-rw-r--r-- | library/qpemenubar.h | 2 |
2 files changed, 18 insertions, 0 deletions
diff --git a/library/qpemenubar.cpp b/library/qpemenubar.cpp index 39f8fd6..bb3ad8d 100644 --- a/library/qpemenubar.cpp +++ b/library/qpemenubar.cpp @@ -261,48 +261,64 @@ bool QPEMenuToolFocusManager::eventFilter( QObject *object, QEvent *event ) } else if ( object->inherits( "QToolBar" ) && ce->child()->isWidgetType() ) { removeWidget( (QWidget *)ce->child() ); } } return FALSE; } void QPEMenuToolFocusManager::deactivate() { setActive( FALSE ); } /*! \class QPEMenuBar qpemenubar.h \brief The QPEMenuBar class is obsolete. Use QMenuBar instead. \obsolete This class is obsolete. Use QMenuBar instead. \sa QMenuBar */ /*! Constructs a QPEMenuBar just as you would construct a QMenuBar, passing \a parent and \a name. */ QPEMenuBar::QPEMenuBar( QWidget *parent, const char *name ) : QMenuBar( parent, name ) { } /*! \reimp */ QPEMenuBar::~QPEMenuBar() { } /*! \internal */ void QPEMenuBar::keyPressEvent( QKeyEvent *e ) { QMenuBar::keyPressEvent( e ); } + +void QPEMenuBar::activateItem( int index ) +{ + activateItemAt( index ); +} + +void QPEMenuBar::goodbye() +{ + activateItemAt(-1); + for ( unsigned int i = 0; i < count(); i++ ) { + QMenuItem *mi = findItem( idAt(i) ); + if ( mi->popup() ) { + mi->popup()->hide(); + } + } +} diff --git a/library/qpemenubar.h b/library/qpemenubar.h index 736b12b..5bfbe83 100644 --- a/library/qpemenubar.h +++ b/library/qpemenubar.h @@ -20,52 +20,54 @@ #ifndef QPEMENUBAR_H #define QPEMENUBAR_H #include <qmenubar.h> #include <qguardedptr.h> #include <qvaluelist.h> class QPEMenuToolFocusManager : public QObject { Q_OBJECT public: QPEMenuToolFocusManager(); void addWidget( QWidget *w ); void removeWidget( QWidget *w ); void setActive( bool a ); bool isActive() const; void moveFocus( bool next ); static QPEMenuToolFocusManager *manager(); static void initialize(); protected: void setFocus( QWidget *w, bool next=TRUE ); bool eventFilter( QObject *object, QEvent *event ); private slots: void deactivate(); private: typedef QGuardedPtr<QWidget> GuardedWidget; QValueList<GuardedWidget> list; GuardedWidget inFocus; GuardedWidget oldFocus; static QPEMenuToolFocusManager *me; }; class QPEMenuBar : public QMenuBar { Q_OBJECT public: QPEMenuBar( QWidget *parent=0, const char* name=0 ); ~QPEMenuBar(); protected: virtual void keyPressEvent( QKeyEvent *e ); + void activateItem( int index ); + void goodbye(); }; #endif |