Bug 152495 - Components missing in KSettings::Dialog
Summary: Components missing in KSettings::Dialog
Status: RESOLVED FIXED
Alias: None
Product: kdelibs
Classification: Frameworks and Libraries
Component: general (show other bugs)
Version: SVN
Platform: Compiled Sources Linux
: NOR major
Target Milestone: ---
Assignee: kdelibs bugs
URL:
Keywords:
: 191365 196440 (view as bug list)
Depends on:
Blocks:
 
Reported: 2007-11-18 01:20 UTC by Thomas McGuire
Modified: 2013-10-23 20:13 UTC (History)
5 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
Fix plugins without kcm modules not configurable (5.31 KB, patch)
2009-08-09 00:49 UTC, Christoph Feck
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Thomas McGuire 2007-11-18 01:20:24 UTC
Version:           trunk (KDE4) (using KDE KDE 3.95.0)
Installed from:    Compiled From Sources
OS:                Linux

KSettings::Dialog is seriously broken at the moment.

In Kontact, which is probably the heaviest user of it, several things are missing:

- It is not possible anymore to deselect the summary, notes todo or journal plugins (probably more)
- There is a checkbox at Summary->Components, even though that is only a config page and can not be deselected
- The checkboxes in the treewidget look ugly

This is all because the code was refractored, without taking Kontact into account.
In KDE3, there was a "Select Components" button, which allowed you to select the components. In KDE4, this has been replaced by checkboxes alongside the treewidget items. This can not work, because some components, like notes or todo, don't have a config page and are not shown in the treewidget. Therefore it is not possible to enable or disable them.

I think the old "Select Component" button worked much better.
Currently, this dialog is useless for Kontact.
Comment 1 Andreas Pakulat 2007-11-18 01:40:24 UTC
AFAIK that operation mode of KSettings::Dialog is not finished yet and won't be for 4.0. Matthias Kretz didn't have time to do it, so I guess Kontact has two or three options:

a) fix it
b) live with it
c) use something else

oh and
d) don't release with kde4.0 ;)
Comment 2 Matthias Kretz 2007-11-18 22:08:20 UTC
Please don't use b.k.o to vent your frustration. We've been talking about this on IRC before and you could have created a bit more task-oriented bug report. Also you know that I tried to fix those bugs but got stuck on a KPageWidget crash...

> The checkboxes in the treewidget look ugly
Report that to the oxygen widget style. Please test with Plastique to see how it's supposed to look.

> refractored, without taking Kontact into account
Actually Kontact was the only app I was thinking about.

> This can not work, because some components, like notes or todo,
> don't have a config page and are not shown in the treewidget.
Please report this as a bug like "KPluginInfo without associated KCM does not show up in KSettings::Dialog"

> It is not possible anymore to deselect the summary, notes todo
> or journal plugins (probably more)
Same bug as above or something different? I think notes, todo and journal are same as above, but summary is a bug like "KPluginInfo dependencies are not taken into account in KSettings::Dialog"

And regarding comment #1, I sure think this is a). Those are just two bugs in the code.

Would be nice if somebody other than me could look into this, too. I still have a lot to do for Phonon.
Comment 3 Thomas McGuire 2007-11-18 23:39:27 UTC
> Please don't use b.k.o to vent your frustration. We've been talking about
> this on IRC before and you could have created a bit more task-oriented bug
> report. Also you know that I tried to fix those bugs but got stuck on a
> KPageWidget crash...

Sorry if this bug report sounded harsh, it was really not my intention. I 
didn't know if you had time to do something after I talked to you on IRC, so I 
filed a bug report that it is not forgotten. I tried to summarize the main 
points again here, but I guess I failed at doing it properly.

> > The checkboxes in the treewidget look ugly
>
> Report that to the oxygen widget style. Please test with Plastique to see
> how it's supposed to look.

OK, it is indeed locking fine in Plastique. I'll report it to the oxygen 
people. I only mentioned it as a reason to go back to the old "Select 
Components" button.

> > refractored, without taking Kontact into account
>
> Actually Kontact was the only app I was thinking about.

Oh, ok, sorry then. I guess the problems I reported here were not that obvious 
then, though they seemed to me because I am more involved with Kontact.

> > This can not work, because some components, like notes or todo,
> > don't have a config page and are not shown in the treewidget.
>
> Please report this as a bug like "KPluginInfo without associated KCM does
> not show up in KSettings::Dialog"

Do you think I should open a new report for that?

> > It is not possible anymore to deselect the summary, notes todo
> > or journal plugins (probably more)
>
> Same bug as above or something different? I think notes, todo and journal
> are same as above,

Ah yes, I repeated myself here.

> but summary is a bug like "KPluginInfo dependencies are 
> not taken into account in KSettings::Dialog"


> And regarding comment #1, I sure think this is a). Those are just two bugs
> in the code.

I think so too.

> Would be nice if somebody other than me could look into this, too. I still
> have a lot to do for Phonon.

I understand your time problems. Thanks for all the Phonon work you've done, 
it is a great peace of software.

OK, I'll try to be a bit more task-oriented now. I found some more issus (and 
added the old ones at the end):

a) 
Although the summary does not have a checkbox in the treewidget to disable it, 
it actually has a checkbox in the right pane (the "component enabled" one). 
If an item has a checkbox in the right pane, it should have one in the 
treewidget as well.
b)
"component enabled" should be capitalized, but I'm not a native speaker 
either, so I don't know the proper wording. And we're already in the string 
freeze.
c)
When I disable the checkmark for "Pending To-dos", the entry goes grey and 
there is no way to enable it again, even after a restart.
d)
Enabling/Disabling plugins have only an effect after restarting Kontact. I 
haven't checked yet if this is a bug in Kontact or in the dialog.
e)
Disabling the summary does not seem to have an effect until you have disabled 
all childs (pending to-dos, upcoming special events, and components)

(old bugs now)
f)
"Components" has a checkbox although it is nothing you can disable
g)
KPluginInfos without associated KCMs can not be disabled.


Again, sorry for this hastly written and harsh bug report.
Comment 4 Thomas McGuire 2007-11-19 19:01:04 UTC
SVN commit 738788 by tmcguire:

emit the pluginSelectionChanged() event when the config is synced.

CCBUG: 152495



 M  +5 -1      dialog.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=738788
Comment 5 Will Stephenson 2008-05-27 23:11:16 UTC
Fixed b)
d) I can't reproduce, probably fixed by commit in #4
f) I can't reproduce

a, c), e), f), g) are still valid
Comment 6 Christoph Feck 2009-08-09 00:49:26 UTC
Created attachment 36001 [details]
Fix plugins without kcm modules not configurable

This is my initial attempt to fix at least part g) of comment #3.

Since the existing code loops over all KCMs, then tries to find the related plugin, I added a "dummy" KCModuleInfo for plugins without KCMs.

The current patch adds mostly code duplicated from existing code. Refactoring can be done later.

Issues:

A) AFAICT plugins/services have no weight, so I chose 1000 to make them appear at the end of the list

B) the modules from the addressbook show individually with a checkbox, instead of grouped under the addressbook plugin (which is removed, because it is empty) - I blame the current addressbook rewrite for this :)

C) this patch also fixes the fact that "Notebooks" did not get a checkbox, because there was exactly one subpage (Misc)
Comment 7 Christoph Feck 2009-08-29 01:14:59 UTC
SVN commit 1016806 by cfeck:

Show plugins without kcmServices so they can be disabled

Re comment #5
a) cannot reproduce, Summary has a checkbox to disable it
c) cannot reproduce, Pending To-dos has no checkbox
e) cannot reproduce, Summary is disabled with checkbox
f) cannot reproduce, Components has no checkbox
g) this is fixed by this commit

Re comment #6
A) still applies, I gave up finding a way to get the weight
B) due to addressbook rewrite "Contacts" shows twice here
C) is still fixed by this commit

BUG: 152495


 M  +111 -78   dialog.cpp  
 M  +7 -0      dialog_p.h  


WebSVN link: http://websvn.kde.org/?view=rev&revision=1016806
Comment 8 Christophe Marin 2009-08-29 02:05:01 UTC
about your B: you probably have an old .desktop in your install dir. Kcontactmanager doesn't exist anymore and kaddressbook_plugin.desktop was renamed. Only kaddressbookplugin.desktop should remain.
Comment 9 Christoph Feck 2009-08-29 14:27:10 UTC
Christophe, good catch, I had indeed both files there.
Comment 10 Christoph Feck 2010-11-19 18:10:45 UTC
*** Bug 196440 has been marked as a duplicate of this bug. ***
Comment 11 Christoph Feck 2013-10-23 20:13:27 UTC
*** Bug 191365 has been marked as a duplicate of this bug. ***