from PyQt5 import QtWidgets as Qt

from controllers.groups_overview_controller import GroupsOverview
from model.qtmodels.GroupListModel import GroupListModel
from model.qtmodels.PersonListModel import PersonListModel
from windows import mainwindow
from globals import Global


class Mainwindow(Qt.QMainWindow, mainwindow.Ui_MainWindow):

    def _init_screens(self):
        self._screens = [
            GroupsOverview(),
        ]

    def __init__(self, parent=None):
        super(Mainwindow, self).__init__(parent)
        self.setupUi(self)
        self._init_screens()
        for controller in self._screens:
            self.stackedWidget.addWidget(controller)
        self.go_to_group_overview()
        # model = GroupListModel(self.db.get_groups())
        # self.listGroups.setModel(model)
        # self.listGroups.activated.connect(self.show_members)
        # self.listGroups.clicked.connect(self.show_members)
        #for group in self.db.get_groups():
         #   self.listGroups.addItem(group.name)
        #self.listGroups.currentItemChanged.connect(self.show_people)
        #self.btnBrowse.clicked.connect(self.browse_folder)
        #self.list1.currentItemChanged.connect(self.show_content)

    def go_to_group_overview(self):
        self.stackedWidget.setCurrentWidget(self._screens[0])

    # def show_members(self, current):
    #     group = current.data(GroupListModel.modelRole)
    #     members = Global.db.get_group_members(group.id)
    #     model = PersonListModel(members)
    #     self.listPeople.setModel(model)