From: Thomas F. <tho...@ru...> - 2014-12-31 21:03:08
|
Git commit c5440c8c7a6dd1602fae4874818eedb91081149b by Thomas Friedrichsmeier. Committed on 31/12/2014 at 20:12. Pushed by tfry into branch 'development/plugin_management_to_loadlibs'. Don't show "hidden" pluginmaps as checkable. For now, they are still shown, though, as it might make some sense to be able to add / replace them. To be reconsidered. M +6 -1 rkward/settings/rksettingsmoduleplugins.cpp M +2 -2 rkward/settings/rksettingsmoduleplugins.h http://commits.kde.org/rkward/c5440c8c7a6dd1602fae4874818eedb91081149b diff --git a/rkward/settings/rksettingsmoduleplugins.cpp b/rkward/settings/rksettingsmoduleplugins.cpp index f3720f4..0d6ca52 100644 --- a/rkward/settings/rksettingsmoduleplugins.cpp +++ b/rkward/settings/rksettingsmoduleplugins.cpp @@ -441,6 +441,8 @@ QVariant RKSettingsModulePluginsModel::data (const QModelIndex& index, int role) if (inf.broken_in_this_version) return Qt::red; if (inf.quirky_in_this_version) return Qt::yellow; return (QVariant ()); + } else if (role == Qt::ForegroundRole) { + if (inf.priority < RKSettingsModulePlugins::PriorityLow) return Qt::gray; } else if (role == Qt::ToolTipRole) { const PluginMapMetaInfo &meta = const_cast<RKSettingsModulePluginsModel*> (this)->getPluginMapMetaInfo (inf.filename); QString desc = meta.about->toHtml (); @@ -454,6 +456,7 @@ QVariant RKSettingsModulePluginsModel::data (const QModelIndex& index, int role) if (col == COLUMN_CHECKED) { if (role == Qt::CheckStateRole) { + if (inf.priority < RKSettingsModulePlugins::PriorityLow) return QVariant (); return (inf.active ? Qt::Checked : Qt::Unchecked); } } else if (col == COLUMN_ID) { @@ -484,7 +487,9 @@ QVariant RKSettingsModulePluginsModel::data (const QModelIndex& index, int role) Qt::ItemFlags RKSettingsModulePluginsModel::flags (const QModelIndex& index) const { // RK_TRACE (SETTINGS); Qt::ItemFlags flags = QAbstractItemModel::flags (index); - if (index.isValid () && (index.column () == COLUMN_CHECKED)) flags |= Qt::ItemIsUserCheckable | Qt::ItemIsEditable; + if (index.isValid () && (index.column () == COLUMN_CHECKED)) { + if (plugin_maps[index.row ()].priority > RKSettingsModulePlugins::PriorityHidden) flags |= Qt::ItemIsUserCheckable | Qt::ItemIsEditable; + } return flags; } diff --git a/rkward/settings/rksettingsmoduleplugins.h b/rkward/settings/rksettingsmoduleplugins.h index 36227b6..91998ce 100644 --- a/rkward/settings/rksettingsmoduleplugins.h +++ b/rkward/settings/rksettingsmoduleplugins.h @@ -69,6 +69,8 @@ public: static bool markPluginMapAsQuirky (const QString &map); /** Clears the broken or quirky flags. E.g. after the map was loaded, successfully */ static void markPluginMapAsWorking (const QString &map); + + enum PluginMapPriority { PriorityHidden = 0, PriorityLow, PriorityMedium, PriorityHigh }; /** Helper struct used by RKSettingsModulePlugins to keep track of plugin map files. */ struct PluginMapStoredInfo { PluginMapStoredInfo (const QString &_filename) : filename (_filename), active (false), broken_in_this_version (false), quirky_in_this_version (false) {}; @@ -86,8 +88,6 @@ public: public slots: void settingChanged (); private: - enum PluginMapPriority { PriorityHidden = 0, PriorityLow, PriorityMedium, PriorityHigh }; - RKMultiStringSelectorV2 *map_choser; RKSettingsModulePluginsModel *map_model; QButtonGroup *button_group; |