# Path: l5r/util/settings.py
# class L5RCMSettings(object):
#     """A QSettings wrapper for easy access to application settings"""
# 
#     def __init__(self):
#         self._qsettings = QSettings()
# 
#         # Application settings
#         self._app = L5RCMSettings_App(self._qsettings)
#         # UI settings
#         self._ui = L5RCMSettings_UI(self._qsettings)
#         # PC export PDF generation settings
#         self._pc_export = L5RCMSettings_PcExport(self._qsettings)
#         # NPC export PDF generation settings
#         self._npc_export = L5RCMSettings_NpcExport(self._qsettings)
# 
#     @property
#     def app(self):
#         return self._app
# 
#     @property
#     def ui(self):
#         return self._ui
# 
#     @property
#     def pc_export(self):
#         return self._pc_export
# 
#     @property
#     def npc_export(self):
#         return self._npc_export
# 
#     def sync(self):
#         self._qsettings.sync()
# 
#     def load_defaults(self):
#         self._app.load_defaults()
#         self._ui.load_defaults()
#         self._pc_export.load_defaults()
#         self._npc_export.load_defaults()


from PyQt5 import QtCore, QtGui
from l5r.util.settings import L5RCMSettings
import l5r.api as api
import l5r.api.rules
    def __init__(self):
        self.type = 'none'
        self.dtl = None
        self.value = (0, 0, 0)
        self.reason = "I'm just this good"
        self.active = False


class ModifiersTableViewModel(QtCore.QAbstractTableModel):
    user_change = QtCore.pyqtSignal()

    def __init__(self, parent=None):
        super(ModifiersTableViewModel, self).__init__(parent)

        self.items = []
        self.headers = [
            self.tr('Modifies'),
            self.tr('Detail'),
            self.tr('Value'),
            self.tr('Reason')]

        self.dirty = False
        self.settings = L5RCMSettings()

    def rowCount(self, parent=QtCore.QModelIndex()):
        return len(self.items)

    def columnCount(self, parent=QtCore.QModelIndex()):
        return len(self.headers)


# Path: l5r/util/settings.py
# class L5RCMSettings(object):
#     """A QSettings wrapper for easy access to application settings"""
# 
#     def __init__(self):
#         self._qsettings = QSettings()
# 
#         # Application settings
#         self._app = L5RCMSettings_App(self._qsettings)
#         # UI settings
#         self._ui = L5RCMSettings_UI(self._qsettings)
#         # PC export PDF generation settings
#         self._pc_export = L5RCMSettings_PcExport(self._qsettings)
#         # NPC export PDF generation settings
#         self._npc_export = L5RCMSettings_NpcExport(self._qsettings)
# 
#     @property
#     def app(self):
#         return self._app
# 
#     @property
#     def ui(self):
#         return self._ui
# 
#     @property
#     def pc_export(self):
#         return self._pc_export
# 
#     @property
#     def npc_export(self):
#         return self._npc_export
# 
#     def sync(self):
#         self._qsettings.sync()
# 
#     def load_defaults(self):
#         self._app.load_defaults()
#         self._ui.load_defaults()
#         self._pc_export.load_defaults()
#         self._npc_export.load_defaults()


# Path: l5r/models/modifiers.py
from PyQt5 import QtCore, QtGui
from l5r.util.settings import L5RCMSettings
import l5r.api as api
import l5r.api.rules

    def __init__(self):
        self.type = 'none'
        self.dtl = None
        self.value = (0, 0, 0)
        self.reason = "I'm just this good"
        self.active = False


class ModifiersTableViewModel(QtCore.QAbstractTableModel):
    user_change = QtCore.pyqtSignal()

    def __init__(self, parent=None):
        super(ModifiersTableViewModel, self).__init__(parent)

        self.items = []
        self.headers = [
            self.tr('Modifies'),
            self.tr('Detail'),
            self.tr('Value'),
            self.tr('Reason')]

        self.dirty = False
        self.settings = L5RCMSettings()

    def rowCount(self, parent=QtCore.QModelIndex()):
        return len(self.items)

    def columnCount(self, parent=QtCore.QModelIndex()):
        return len(self.headers)


    def headerData(self, section, orientation, role=QtCore.Qt.DisplayRole):