KMessageBox runtime dependency on FrameworkIntegrationPlugin makes it useless

Boudhayan Gupta bgupta at kde.org
Sun Jun 12 19:03:40 UTC 2016


On 13 June 2016 at 00:08, Hugo Pereira Da Costa
<hugo.pereira.da.costa at gmail.com> wrote:
> On 06/12/2016 07:51 PM, Albert Astals Cid wrote:
>>
>> Having KMessageBox "dontShowMeAgain" feature depend on an integration
>> plugin
>> is a very bad idea.
>>
>> Basically it means programs that use KMessageBox can never asusme it will
>> work
>> so basically they have to use alternative methods to have the
>> "dontShowMeAgain" feature or not have it at all.
>>
>> I understand someone thought that it was a better idea having a feature
>> that
>> may work or not randomly that increasing the dependency chain of
>> KMessageBox,
>> but I disagree.
>>
>> I don't think the status quo is good at all, my program basically gets a
>> runtime dependency that is not specified anywhere and that makes some
>> features
>> work or not randomly.
>>
>> The options I can see are:
>>   * Remove the "dontShowMeAgain" feature from KMessageBox
>>   * Make the "dontShowMeAgain" feature use QSettings (always or if
>> FrameworkIntegrationPlugin is not available)
>>   * Show a KMessageBox warning when trying to use the "dontShowMeAgain"
>> feature
>> and the FrameworkIntegrationPlugin is not available saying the user to
>> install
>> that package if he wants to get the functionality.
>>
>> Suggestions?
>>
>> For those that say this is an hipothetical situation that makes no sense
>> to
>> fix, please go and read https://bugs.kde.org/show_bug.cgi?id=362082
>>
>> I lost hours of my life trying to figure out what was wrong.
>
> Hello Albert,
>
> Just a naive question (sorry if I miss the point). If the use of the
> don't-show-again pluggin is critical to your app, can't you also add a
> strong dependency on frameworkintegration to your app ?

The point here is, "Don't show me again" is a core feature, from an
usability perspective, and it should always just work. Therefore, the
onus is on KMessageBox to ensure all dependencies are met, and if
they're not met an adequate fallback exists. This is not for the
application to ensure.

-- Boudhayan Gupta


More information about the Kde-frameworks-devel mailing list