[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-core-devel
Subject:    QAccel insertion madness
From:       Ellis Whitehead <kde () ellisw ! net>
Date:       2001-12-28 1:23:00
[Download RAW message or body]

Hi guys,

There are a _lot_ of superfluous QAccel::insertItem() calls being made 
somewhere in the KDE or Qt framework.  

Two examples, both in KWrite:

1) Clicking on the "Bookmarks" menu inserts the menu's items (two of them) 
into a QAccel object *four* times.

kdecore (KAccel): KAction::plug( [KPopupMenu pointer (0x810eda0) to widget 
KActionMenu::KActionMenuPrivate, geometry=191x58+66+52], -1 )
QAccel::insertItem( <65535?>, -88 ):    this = 8146ca0 name = QPopupMenuAccel
QAccel::insertItem( Ctrl+B, -88 ):      this = 8146ca0 name = QPopupMenuAccel
kdecore (KAccel): KAction::plug( [KPopupMenu pointer (0x810eda0) to widget 
KActionMenu::KActionMenuPrivate, geometry=191x58+66+52], -1 )
QAccel::insertItem( Ctrl+B, -88 ):      this = 8146ca0 name = QPopupMenuAccel
QAccel::insertItem( <65535?>, -89 ):    this = 8146ca0 name = QPopupMenuAccel
QAccel::insertItem( Ctrl+B, -88 ):      this = 8146ca0 name = QPopupMenuAccel
QAccel::insertItem( <65535?>, -89 ):    this = 8146ca0 name = QPopupMenuAccel
QAccel::insertItem( Ctrl+B, -88 ):      this = 8146ca0 name = QPopupMenuAccel
QAccel::insertItem( <65535?>, -89 ):    this = 8146ca0 name = QPopupMenuAccel

2) One startup, any given accelerator specified in the kwriteui.rc file is 
inserted 19 times into 5 different QAccel objects.

QAccel::insertItem( Ctrl+L, -14 ):    this = 8131f88 name = QPopupMenuAccel
QAccel::insertItem( Ctrl+L, -14 ):    this = 8131f88 name = QPopupMenuAccel
QAccel::insertItem( Ctrl+L, -14 ):    this = 8131f88 name = QPopupMenuAccel
QAccel::insertItem( Ctrl+L, -14 ):    this = 8131f88 name = QPopupMenuAccel
QAccel::insertItem( Ctrl+L, -14 ):    this = 8131f88 name = QPopupMenuAccel
QAccel::insertItem( Ctrl+L, -14 ):    this = 8131f88 name = QPopupMenuAccel
QAccel::insertItem( Ctrl+L, -14 ):    this = 8131f88 name = QPopupMenuAccel
QAccel::insertItem( Ctrl+L, -14 ):    this = 8084760 name = QPopupMenuAccel
QAccel::insertItem( Ctrl+L, 6 ):      this = 807b770 name = kmw-kaccel
QAccel::insertItem( Ctrl+L, -14 ):    this = 8084710 name = QPopupMenuAccel
QAccel::insertItem( Ctrl+L, -14 ):    this = 8084760 name = QPopupMenuAccel
QAccel::insertItem( Ctrl+L, -14 ):    this = 8084710 name = QPopupMenuAccel
QAccel::insertItem( Ctrl+L, -14 ):    this = 8084710 name = QPopupMenuAccel
QAccel::insertItem( Ctrl+L, -14 ):    this = 8084710 name = QPopupMenuAccel
QAccel::insertItem( Ctrl+L, -14 ):    this = 8084710 name = QPopupMenuAccel
QAccel::insertItem( Ctrl+L, -14 ):    this = 8084710 name = QPopupMenuAccel
QAccel::insertItem( Ctrl+L, -14 ):    this = 8084710 name = QPopupMenuAccel
QAccel::insertItem( Ctrl+L, -14 ):    this = 8084760 name = QPopupMenuAccel
QAccel::insertItem( Ctrl+L, -14 ):    this = 812e9d0 name = QPopupMenuAccel

-------
Every key-press is then also run through a bunch of QAccel objects.  I doubt 
whether most of their existences are justified...  In any case, I've been 
tracing around to figure out why, but without all that much luck so far.  
Does anyone have any clue what's going on here?  I discovered it trying to get the \
emacs-style shortcuts working, but the shortcut  is stolen by one of these exta \
QAccel objects.

Thanks,
Ellis


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic