summaryrefslogtreecommitdiff
path: root/src/modlist.cpp
diff options
context:
space:
mode:
authorTannin <devnull@localhost>2014-07-15 20:45:29 +0200
committerTannin <devnull@localhost>2014-07-15 20:45:29 +0200
commit0a152ceadfc90650359b15dc448751f702e1070c (patch)
tree02e468fb58330d25fd765974e48ab681bf360cab /src/modlist.cpp
parentd412060d59b1597ae1d11d793662610e90863fc9 (diff)
parent5718af351034c1936a91a3782651733dfecdc4e5 (diff)
Merge
Diffstat (limited to 'src/modlist.cpp')
-rw-r--r--src/modlist.cpp24
1 files changed, 21 insertions, 3 deletions
diff --git a/src/modlist.cpp b/src/modlist.cpp
index 3f46b85f..7e5a5f58 100644
--- a/src/modlist.cpp
+++ b/src/modlist.cpp
@@ -23,6 +23,7 @@ along with Mod Organizer. If not, see <http://www.gnu.org/licenses/>.
#include "messagedialog.h"
#include "installationtester.h"
#include "qtgroupingproxy.h"
+#include "viewmarkingscrollbar.h"
#include <gameinfo.h>
#include <utility.h>
#include <QFileInfo>
@@ -291,6 +292,15 @@ QVariant ModList::data(const QModelIndex &modelIndex, int role) const
}
}
return QVariant();
+ } else if ((role == Qt::BackgroundRole)
+ || (role == ViewMarkingScrollBar::DEFAULT_ROLE)) {
+ if (m_Overwrite.find(modIndex) != m_Overwrite.end()) {
+ return QColor(0, 255, 0, 64);
+ } else if (m_Overwritten.find(modIndex) != m_Overwritten.end()) {
+ return QColor(255, 0, 0, 64);
+ } else {
+ return QVariant();
+ }
} else if (role == Qt::ToolTipRole) {
if (column == COL_FLAGS) {
QString result;
@@ -576,6 +586,13 @@ void ModList::changeModPriority(int sourceIndex, int newPriority)
emit modorder_changed();
}
+void ModList::setOverwriteMarkers(const std::set<unsigned int> &overwrite, const std::set<unsigned int> &overwritten)
+{
+ m_Overwrite = overwrite;
+ m_Overwritten = overwritten;
+ notifyChange(0, rowCount());
+}
+
void ModList::modInfoAboutToChange(ModInfo::Ptr info)
{
m_ChangeInfo.name = info->name();
@@ -903,9 +920,10 @@ bool ModList::eventFilter(QObject *obj, QEvent *event)
} else if ((event->type() == QEvent::KeyPress) && (m_Profile != NULL)) {
QAbstractItemView *itemView = qobject_cast<QAbstractItemView*>(obj);
QKeyEvent *keyEvent = static_cast<QKeyEvent*>(event);
- if ((itemView != NULL) &&
- (keyEvent->modifiers() == Qt::ControlModifier) &&
- ((keyEvent->key() == Qt::Key_Up) || (keyEvent->key() == Qt::Key_Down))) {
+ if ((itemView != NULL)
+ && (keyEvent->modifiers() == Qt::ControlModifier)
+ && ((keyEvent->key() == Qt::Key_Up)
+ || (keyEvent->key() == Qt::Key_Down))) {
QItemSelectionModel *selectionModel = itemView->selectionModel();
const QAbstractProxyModel *proxyModel = qobject_cast<const QAbstractProxyModel*>(selectionModel->model());
const QSortFilterProxyModel *filterModel = NULL;