void PropertySheetIconValue::assign(const PropertySheetIconValue &other, uint mask)
 {
     for (int i = 0; i < 8; i++) {
         uint flag = 1 << i;
         if (mask & flag) {
             const ModeStateKey state = stateMap()->state(flag);
             setPixmap(state.first, state.second, other.pixmap(state.first, state.second));
         }
     }
 }
예제 #2
0
 void PropertySheetIconValue::assign(const PropertySheetIconValue &other, uint mask)
 {
     for (int i = 0; i < 8; i++) {
         uint flag = 1 << i;
         if (mask & flag) {
             const ModeStateKey state = subPropertyFlagToIconModeState(flag);
             setPixmap(state.first, state.second, other.pixmap(state.first, state.second));
         }
     }
     if (mask & ThemeIconMask)
         setTheme(other.theme());
 }
 uint PropertySheetIconValue::compare(const PropertySheetIconValue &other) const
 {
     uint diffMask = mask() | other.mask();
     for (int i = 0; i < 8; i++) {
         uint flag = 1 << i;
         if (diffMask & flag) { // if state is set in both icons, compare the values
             const ModeStateKey state = stateMap()->state(flag);
             if (pixmap(state.first, state.second) == other.pixmap(state.first, state.second))
                 diffMask &= ~flag;
         }
     }
     return diffMask;
 }
예제 #4
0
 uint PropertySheetIconValue::compare(const PropertySheetIconValue &other) const
 {
     uint diffMask = mask() | other.mask();
     for (int i = 0; i < 8; i++) {
         const uint flag = 1 << i;
         if (diffMask & flag) { // if state is set in both icons, compare the values
             const QPair<QIcon::Mode, QIcon::State> state = subPropertyFlagToIconModeState(flag);
             if (pixmap(state.first, state.second) == other.pixmap(state.first, state.second))
                 diffMask &= ~flag;
         }
     }
     if ((diffMask & ThemeIconMask) && theme() == other.theme())
         diffMask &= ~ThemeIconMask;
     return diffMask;
 }