from PyQt5.QtWidgets import QMainWindow, QApplication, QMessageBox, QFileDialog,\
                            QBoxLayout, QShortcut, QDialog, QCompleter
from PyQt5.QtGui import QKeySequence
from PyQt5.QtCore import QStringListModel, Qt

import deen.constants
from deen.gui.widgets.log import DeenLogger, DeenStatusConsole
from deen.gui.widgets.ui_deenmainwindow import Ui_MainWindow
from deen.gui.encoder import DeenEncoderWidget
from deen.gui.widgets.ui_deenfuzzysearch import Ui_DeenFuzzySearchWidget
from deen import logger

LOGGER = logger.DEEN_LOG.getChild('gui.widgets.core')


class FuzzySearchUi(QDialog):
    def __init__(self, parent):
        super(FuzzySearchUi, self).__init__(parent)
        self.ui = Ui_DeenFuzzySearchWidget()
        self.ui.setupUi(self)
        self.parent = parent


class DeenGui(QMainWindow):
    """The main window class that is the core of
    the Deen GUI. If is basically just the main