El diumenge, 12 de juny de 2016, a les 20:29:56 CEST, Christoph Cullmann va escriure: > Hi, > > > 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. > > I would go for the "just use QSettings always" solution.
This has two problems: * Someone needs to care about a way to read the KConfig and write it to QSettings so it still works for people that had already checked "don't show me again" * There's a KMessageBox::setDontShowAgainConfig(KConfig *cfg) that would break, this affects only the kdialog app and KIO::JobUiDelegate The second is probably "workaroundable" but i'm not sure how one would approach the first. Maybe still using the FrameworkIntegrationPlugin to check if the option has been set and if it has and it is not in qsettings, move it there? This would "fail" if the FrameworkIntegrationPlugin is not there, but that would mean that most probably the kconfig was never ever set either (unless you installed FrameworkIntegrationPlugin used a kmessagebox and then uninstalled FrameworkIntegrationPlugin that seems very corner case-y). I'll try to work on this in the coming days if noone disagrees. Cheers, Albert > > Greetings > Christoph _______________________________________________ Kde-frameworks-devel mailing list Kde-frameworks-devel@kde.org https://mail.kde.org/mailman/listinfo/kde-frameworks-devel