+ menu.addSeparator();
+ KMenu* iconSizeSubMenu = new KMenu(i18nc("@item:inmenu", "Icon Size"), &menu);
+
+ typedef QPair<QString, int> PairQStringInt;
+ QList<PairQStringInt> iconSizes;
+
+ iconSizes << qMakePair(i18nc("Small icon size", "Small (%1x%2)", 16, 16), 16);
+ iconSizes << qMakePair(i18nc("Medium icon size", "Medium (%1x%2)", 22, 22), 22);
+ iconSizes << qMakePair(i18nc("Large icon size", "Large (%1x%2)", 32, 32), 32);
+ iconSizes << qMakePair(i18nc("Huge icon size", "Huge (%1x%2)", 48, 48), 48);
+
+ QMap<QAction*, int> iconSizeActionMap;
+ QActionGroup* iconSizeGroup = new QActionGroup(iconSizeSubMenu);
+
+ foreach (const PairQStringInt& pair, iconSizes) {
+ const QString& text = pair.first;
+ const int size = pair.second;
+
+ QAction* action = iconSizeSubMenu->addAction(text);
+ iconSizeActionMap.insert(action, size);
+ action->setActionGroup(iconSizeGroup);
+ action->setCheckable(true);
+ action->setChecked(m_view->iconSize() == size);
+ }
+
+ menu.addMenu(iconSizeSubMenu);
+