Bug 102094 - "Show extension bar" menu is empty
Summary: "Show extension bar" menu is empty
Status: RESOLVED FIXED
Alias: None
Product: kontact
Classification: Applications
Component: contacts (show other bugs)
Version: 1.1
Platform: Debian testing Linux
: NOR normal
Target Milestone: ---
Assignee: kdepim bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-03-21 15:50 UTC by Moritz Bunkus
Modified: 2005-08-12 11:27 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
Screenshot of the empty extension bar menu (42.28 KB, image/png)
2005-06-14 09:46 UTC, Moritz Bunkus
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Moritz Bunkus 2005-03-21 15:50:42 UTC
Version:           1.1 (using KDE KDE 3.4.0)
Installed from:    Debian testing/unstable Packages
OS:                Linux

When running kaddressbook standalone everything is fine and the "Show extension bar" menu in the "Settings" menu contains all fourc entries. When I start kontact, select a component like calendar, then select the "contacts" component then the "Show extension bar" menu is empty and stays empty.
Comment 1 Timo Springmann 2005-03-21 16:04:19 UTC
I can confirm this behaviour with kde 3.4 on debian/sid
Comment 2 Tobias Koenig 2005-03-23 13:36:46 UTC
Hi,

that's not reproducable here, neither with a self compiled KDE on debian/sid nor in kubuntu.

So either your debian packages are broken or your system is setup incorrectly.

Ciao,
Tobias
Comment 3 Moritz Bunkus 2005-06-14 09:45:47 UTC
Even after an upgrade to the Debian packages of KDE 3.4.1 from http://pkg-kde.alioth.debian.org/kde-3.4.1 this still happens to me. I've also made sure that this happens on two different computers, both with KDE 3.4.1.

How to reproduce:

1. Create a new system user, log in and start kontact
2. Select the "contacts" component, look at "Settings -> Show extension bar". Everything's ok.
3. Select another component, e.g. "mail".
4. Re-select the "contacts" component, look at "Settings -> Show extension bar". It's empty now.

This is, like I said, with a complete new user, so it is either a bug or has something to do with my global KDE components.

I realize that bugs you cannot reproduce are pretty impossible to fix. But do you have any advice how I can proceed to either resolve it (e.g. rm -rf /etc ;)) or proviude you with enough information so you can try to find out what's wrong?
Comment 4 Moritz Bunkus 2005-06-14 09:46:31 UTC
Created attachment 11441 [details]
Screenshot of the empty extension bar menu

Just so you know what I mean when I say "empty".
Comment 5 Ralph Alvy 2005-07-23 19:04:57 UTC
Same here. Running KDE 3.4.1 as found at alioth.debian.org
Comment 6 Ralph Alvy 2005-07-23 19:48:22 UTC
I can now confirm this behaviour on the following:

Debian
Arch 
Gentoo
Comment 7 Ralph Alvy 2005-07-25 17:56:09 UTC
I can now confirm this behaviour on

Debian Testing (with alioth KDE packages)
Arch Current
Gentoo Current
Slackware Current

Please note that the Show Extension Bar choice is usually okay when first chosen. Then, after going to Mail and then coming back to Contacts, it fails to work. Again, I'm using Kontact to do this. It works find all the time when Kaddressbook is run alone.
Comment 8 Kun Xi 2005-08-01 10:50:49 UTC
Here is a quick hack to solve this problem:

in kaddressbook_part.cpp:
void KAddressbookPart::guiActivateEvent( KParts::GUIActivateEvent *e )
{
  if( e->activated() )
  { 
    mCore->configurationChanged();
  }
}

When the part is activated, KAB part get this event, it is time to re-plug the action list.

BTW: thanks for the inspiration from the ExtensionManager.
Comment 9 Tobias Koenig 2005-08-12 11:24:36 UTC
*** Bug 110517 has been marked as a duplicate of this bug. ***
Comment 10 Tobias Koenig 2005-08-12 11:26:59 UTC
SVN commit 445974 by tokoe:

Recreate the actions after a part switch
To all kontact developers: all other kontact components with
dynamic kactions may suffer of the same problem...

BUG:102094


 M  +1 -1      extensionmanager.h  
 M  +4 -0      kabcore.cpp  
 M  +5 -0      kabcore.h  
 M  +3 -0      kaddressbook_part.cpp  


--- branches/KDE/3.5/kdepim/kaddressbook/extensionmanager.h #445973:445974
@@ -77,6 +77,7 @@
 
   public slots:
     void setSelectionChanged();
+    void createActions();
 
   signals:
     void modified( const KABC::Addressee::List& );
@@ -84,7 +85,6 @@
 
   private slots:
     void setActiveExtension( int id );
-    void createActions();
 
   private:
     void createExtensionWidgets();
--- branches/KDE/3.5/kdepim/kaddressbook/kabcore.cpp #445973:445974
@@ -917,6 +917,10 @@
   return true;
 }
 
+void KABCore::reinitXMLGUI()
+{
+  mExtensionManager->createActions();
+}
 void KABCore::delayedAddressBookChanged()
 {
   mAddressBookChangedTimer->start( 1000 );
--- branches/KDE/3.5/kdepim/kaddressbook/kabcore.h #445973:445974
@@ -342,6 +342,11 @@
 
     bool queryClose();
 
+    /**
+      Is called whenever the xmlgui has to be rebuild after a part switch.
+     */
+    void reinitXMLGUI();
+
   private slots:
     void setJumpButtonBarVisible( bool visible );
     void setDetailsVisible( bool visible );
--- branches/KDE/3.5/kdepim/kaddressbook/kaddressbook_part.cpp #445973:445974
@@ -147,6 +147,9 @@
 {
   kdDebug(5720) << "KAddressbookPart::guiActivateEvent" << endl;
   KParts::ReadOnlyPart::guiActivateEvent( e );
+
+  if ( e->activated() )
+    mCore->reinitXMLGUI();
 }
 
 #include "kaddressbook_part.moc"