import logging
import sys
import traceback

from PyQt5.QtWidgets import QDialog, QLabel, QComboBox, QPushButton, QApplication
from PyQt5.QtCore import Qt


sys.path.append('../')

try:
    CLIENT_LOGGER = logging.getLogger('client')

    class DeleteContactDialog(QDialog):
        '''Диалог удаления контакта. Прделагает текущий список контактов,
        не имеет обработчиков для действий.'''

        def __init__(self, database):
            super().__init__()
            self.database = database

            self.setFixedSize(350, 120)
            self.setWindowTitle('Выберите контакт для удаления:')
            self.setAttribute(Qt.WA_DeleteOnClose)
            self.setModal(True)

            self.selector_label = QLabel(
                'Выберите контакт для удаления:', self)
            self.selector_label.setFixedSize(200, 20)
            self.selector_label.move(10, 0)

            self.selector = QComboBox(self)
            self.selector.setFixedSize(200, 20)
            self.selector.move(10, 30)

            self.btn_ok = QPushButton('Удалить', self)
            self.btn_ok.setFixedSize(100, 30)
            self.btn_ok.move(230, 20)

            self.btn_cancel = QPushButton('Отмена', self)
            self.btn_cancel.setFixedSize(100, 30)
            self.btn_cancel.move(230, 60)
            self.btn_cancel.clicked.connect(self.close)

            # заполнение контактов для удаления
            self.selector.addItems(sorted(self.database.get_contacts()))

    if __name__ == '__main__':
        app = QApplication([])
        window = DeleteContactDialog(None)
        window.show()
        app.exec_()


except Exception as e:
    print('РћС€РёР±РєР°:\n', traceback.format_exc())
