https://bugs.kde.org/show_bug.cgi?id=461568

--- Comment #4 from ratijas <[email protected]> ---
> Do we need anything more than an "argumentsChanged" signal on the KCM class?

I'd say it should be a virtual method, not a signal:

class ConfigModule {
  bool handleArgumentsChange(const QVariantList &args) {
    return false;
  }
}

When new arguments arrive, there are two possible scenarios:

1. Shell detects that KCM has unsaved changes, and triggers Apply/Discard
dialog. If discarded or applied, tell KCM to reload its data and then pass new
arguments (go to scenario #2). If cancelled, discard new arguments.

2. Shell detects that KCM has no unsaved changes, so it passes new arguments
through the new virtual method. If method returns true, it means that the
arguments got handled and KCM did its right thing. Otherwise, either KCM or
base class implementation returns false, in which case shell unloads KCM
completely, and loads it back in with new arguments passed in constructor (as
previously).

By the way, do we really have a usecase for QVariantList? Can't it be just
strings?

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to