Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Evergreen:11.1:kernel-2.6.32
kdepim4
r893418.diff
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File r893418.diff of Package kdepim4
Subject: korganizer: navigator bar menu fixes From: wstephenson@suse.de Bug: Patch-upstream: 893418 --- korganizer/navigatorbar.h (revision 893417) +++ korganizer/navigatorbar.h (revision 893418) @@ -28,10 +28,8 @@ #include <QLabel> #include <QMouseEvent> -#include <QFrame> class QToolButton; -class QFrame; class ActiveLabel : public QLabel { @@ -43,7 +41,7 @@ class ActiveLabel : public QLabel void clicked(); protected: - void mouseReleaseEvent ( QMouseEvent * e ); + void mouseReleaseEvent ( QMouseEvent *e ); }; class NavigatorBar: public QWidget --- korganizer/navigatorbar.cpp (revision 893417) +++ korganizer/navigatorbar.cpp (revision 893418) @@ -34,10 +34,10 @@ #include <QHBoxLayout> #include <QLabel> +#include <QMenu> #include <QMouseEvent> #include <QString> #include <QToolButton> -#include <Q3PopupMenu> ActiveLabel::ActiveLabel( QWidget *parent ) : QLabel( parent ) { @@ -88,11 +88,11 @@ NavigatorBar::NavigatorBar( QWidget *par ctrlLayout->addWidget( mNextMonth, 3 ); ctrlLayout->addWidget( mNextYear, 3 ); - connect( mPrevYear, SIGNAL( clicked() ), SIGNAL( goPrevYear() ) ); - connect( mPrevMonth, SIGNAL( clicked() ), SIGNAL( goPrevMonth() ) ); - connect( mNextMonth, SIGNAL( clicked() ), SIGNAL( goNextMonth() ) ); - connect( mNextYear, SIGNAL( clicked() ), SIGNAL( goNextYear() ) ); - connect( mMonth, SIGNAL( clicked() ), SLOT( selectMonth() ) ); + connect( mPrevYear, SIGNAL(clicked()), SIGNAL(goPrevYear()) ); + connect( mPrevMonth, SIGNAL(clicked()), SIGNAL(goPrevMonth()) ); + connect( mNextMonth, SIGNAL(clicked()), SIGNAL(goNextMonth()) ); + connect( mNextYear, SIGNAL(clicked()), SIGNAL(goNextYear()) ); + connect( mMonth, SIGNAL(clicked()), SLOT(selectMonth()) ); } NavigatorBar::~NavigatorBar() @@ -155,20 +155,27 @@ void NavigatorBar::selectMonth() // every year can have different month names (in some calendar systems) const KCalendarSystem *calSys = KOGlobals::self()->calendarSystem(); - int i, month, months = calSys->monthsInYear( mDate ); + int i; + int month = calSys->month( mDate ); + int year = calSys->year( mDate ); + int months = calSys->monthsInYear( mDate ); - Q3PopupMenu *popup = new Q3PopupMenu( mMonth ); + QMenu *menu = new QMenu( mMonth ); + QAction *act[months+1]; - for ( i = 1; i <= months; i++ ) { - popup->insertItem( calSys->monthName( i, calSys->year( mDate ) ), i ); + for ( i=1; i <= months; i++ ) { + act[i] = menu->addAction( calSys->monthName( i, year ) ); } - popup->setActiveItem( calSys->month( mDate ) ); - - month = popup->exec( mMonth->mapToGlobal( QPoint( 0, 0 ) ), calSys->month( mDate ) - 1 ); - - delete popup; - if ( month >= 0 ) { - emit goMonth( month ); + menu->setActiveAction( act[month] ); + QAction *selectedAct = menu->exec( mMonth->mapToGlobal( QPoint( 0, 0 ) ) ); + delete menu; + + if ( selectedAct && ( selectedAct != act[month] ) ) { + for ( i=1; i <= months; i++ ) { + if ( act[i] == selectedAct ) { + emit goMonth( i ); + } + } } } Index: korganizer/navigatorbar.h =================================================================== Index: korganizer/navigatorbar.cpp ===================================================================
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor