Skip to content

Commit

Permalink
Set correct device mode when changing flavour/rndRelease/release/
Browse files Browse the repository at this point in the history
  • Loading branch information
Bernd Wachter committed Mar 29, 2013
1 parent babdefe commit 4b10f8c
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 9 deletions.
11 changes: 9 additions & 2 deletions libssu/ssu.cpp
Expand Up @@ -487,6 +487,7 @@ void Ssu::setDeviceMode(int mode, int editMode){
oldMode = mode;

settings->setValue("deviceMode", oldMode);
settings->sync();
}

void Ssu::setError(QString errorMessage){
Expand All @@ -505,15 +506,21 @@ void Ssu::setError(QString errorMessage){

void Ssu::setFlavour(QString flavour){
settings->setValue("flavour", flavour);
// flavour is RnD only, so enable RnD mode
setDeviceMode(RndMode, Add);
settings->sync();
emit flavourChanged();
}

void Ssu::setRelease(QString release, bool rnd){
if (rnd)
if (rnd) {
settings->setValue("rndRelease", release);
else
// switch rndMode on/off when setting releases
setDeviceMode(RndMode, Add);
} else {
settings->setValue("release", release);
setDeviceMode(RndMode, Remove);
}
settings->sync();
}

Expand Down
24 changes: 17 additions & 7 deletions libssu/ssu.h
Expand Up @@ -121,17 +121,27 @@ class Ssu: public QObject {
*/
Q_INVOKABLE bool useSslVerify();

/**
* List of possible device modes
*
* ReleaseMode is defined to make a switch to allowing RnD and Release
* repositories on a device at the same time easy, if ever needed. Right
* now any mode where RndMode is not set is treated as ReleaseMode.
*/
enum DeviceMode {
RepoManager = 0x1,
RndMode = 0x2,
ReleaseMode = 0x4,
StrictMode = 0x8
DisableRepoManager = 0x1, ///< Disable automagic repository management
RndMode = 0x2, ///< Enable RnD mode for device
ReleaseMode = 0x4, ///< Enable Release mode
StrictMode = 0x8 ///< Enable strict mode (i.e., delete unmanaged repositories)
};

/**
* Edit modes for variables containing bitmasks
*/
enum EditMode {
Replace = 0x1,
Add = 0x2,
Remove = 0x4
Replace = 0x1, ///< Replace the old value with the new one
Add = 0x2, ///< Make sure the given value is set in the bitmask
Remove = 0x4 ///< Make sure the given value is not set in the bitmask
};

// compat stuff, might go away when refactoring is finished
Expand Down

0 comments on commit 4b10f8c

Please sign in to comment.