diff options
Diffstat (limited to 'src/widgets')
-rw-r--r-- | src/widgets/qdialogbuttons.cpp | 6 | ||||
-rw-r--r-- | src/widgets/qdialogbuttons_p.h | 1 | ||||
-rw-r--r-- | src/widgets/qtabbar.cpp | 28 |
3 files changed, 26 insertions, 9 deletions
diff --git a/src/widgets/qdialogbuttons.cpp b/src/widgets/qdialogbuttons.cpp index 787a406..39f6d67 100644 --- a/src/widgets/qdialogbuttons.cpp +++ b/src/widgets/qdialogbuttons.cpp @@ -150,6 +150,12 @@ QDialogButtons::isButtonVisible(Button button) const return ((int)(d->visible & button)) == button; } +Q_UINT32 +QDialogButtons::visibleButtons() const +{ + return d->visible; +} + void QDialogButtons::addWidget(QWidget *w) { diff --git a/src/widgets/qdialogbuttons_p.h b/src/widgets/qdialogbuttons_p.h index 73bbfee..56c34c2 100644 --- a/src/widgets/qdialogbuttons_p.h +++ b/src/widgets/qdialogbuttons_p.h @@ -72,6 +72,7 @@ public: inline void hideButton(Button b) { setButtonVisible(b, FALSE); } virtual void setButtonVisible(Button, bool visible); bool isButtonVisible(Button) const; + Q_UINT32 visibleButtons() const; void addWidget(QWidget *); diff --git a/src/widgets/qtabbar.cpp b/src/widgets/qtabbar.cpp index fca4957..383285d 100644 --- a/src/widgets/qtabbar.cpp +++ b/src/widgets/qtabbar.cpp @@ -335,7 +335,7 @@ private: */ QTabBar::QTabBar( QWidget * parent, const char *name ) - : QWidget( parent, name, WNoAutoErase | WNoMousePropagation ) + : QWidget( parent, name, WNoAutoErase | WNoMousePropagation ), l(NULL) { d = new QTabPrivate; d->pressed = 0; @@ -839,7 +839,10 @@ void QTabBar::show() int QTabBar::currentTab() const { - const QTab * t = l->getLast(); + const QTab * t = 0; + if (l) { + t = l->getLast(); + } return t ? t->id : -1; } @@ -965,10 +968,12 @@ void QTabBar::keyPressEvent( QKeyEvent * e ) QTab * QTabBar::tab( int id ) const { - QTab * t; - for( t = l->first(); t; t = l->next() ) - if ( t && t->id == id ) - return t; + if (l) { + QTab * t; + for( t = l->first(); t; t = l->next() ) + if ( t && t->id == id ) + return t; + } return 0; } @@ -982,7 +987,8 @@ QTab * QTabBar::tab( int id ) const QTab * QTabBar::tabAt( int index ) const { QTab * t; - t = lstatic->at( index ); + QPtrList<QTab> internalList = *lstatic; + t = internalList.at( index ); return t; } @@ -996,8 +1002,9 @@ QTab * QTabBar::tabAt( int index ) const int QTabBar::indexOf( int id ) const { QTab * t; + QPtrList<QTab> internalList = *lstatic; int idx = 0; - for( t = lstatic->first(); t; t = lstatic->next() ) { + for( t = internalList.first(); t; t = internalList.next() ) { if ( t && t->id == id ) return idx; idx++; @@ -1014,7 +1021,10 @@ int QTabBar::indexOf( int id ) const */ int QTabBar::count() const { - return l->count(); + if (l) { + return l->count(); + } + return 0; } |