This is mainly work under the hood. Patch 10 is hopefully a decent tradeoff in case MUC::Affiliation and MUC::Role ever get changed so as not to rely on being based on an int. Patch 9 is something that I'm proud about doing. It was a really good refactoring of a method. C2.com's MethodObject page (if it's up) helped by showing me the way.
patch-10: noticed that Role::index and Affiliation::index could return a negative
- Created MUC::AffilMap and MUC::RoleMap
- Changed GCUserView::Private::role_items into a map
- Changed both AddMucOperation::name()s to use a map
- Changed GCMainDlg::roleToString and affilToString to use a map
- Changed AffilEditorListView::Private::affil_table into a map
- Changed AffilEditorAddDlg::affil_table into a map
patch-9: refactored how the context menu items are added for the occupant's list
- Created the class AddMucOperation
- Made addMucOperation into AddMucOperation::createItem
- Replaced calls to addMucOperation
- Refactored each boolean variable into a AddMucOperation method


