Example #1
0
    def Settings(self, evt):
        if self.parent_frame.cameraPanel.IsShown():
            self.parent_frame.cameraPanel.state = self.parent_frame.cameraPanel.STATE_CLOSING
            self.parent_frame.cameraPanel.objWebCamFeed.release()

        SettingsData.noOfCam = self.parent_frame.getConnectedCams()

        dlg = SettingsDialog(self)
        dlg.ShowModal()

        if self.parent_frame.cameraPanel.IsShown():
            self.parent_frame.cameraPanel.state = self.parent_frame.cameraPanel.STATE_RUNNING
            self.parent_frame.cameraPanel.StartLiveWebcamFeed()

        if self.IsShown():
            self.UpdateHTMLPage(self.activeButton)
Example #2
0
 def slotSetting(self):
     self.settingsDialog = SettingsDialog(self)
     self.settingsDialog.show()
Example #3
0
class MainWindow(QMainWindow, Ui_MainWindow, PersistentGeometry):
    settingsDialog = None
    aboutDialog = None

    def __init__(self, parent):
        super().__init__(parent)

        # UI
        self.setupUi(self)
        self.connectUI()
        self.preserveGeometry("main")

    def connectUI(self):
        # connect UI related signal/slot
        self.action_exit.triggered.connect(self.slotExit)
        self.action_setting.triggered.connect(self.slotSetting)
        self.action_showAbout.triggered.connect(self.slotShowAbout)

    # shorthand
    @property
    def page(self):
        return self.webView.page()

    @property
    def frame(self):
        return self.webView.page().mainFrame()

    # shorthand ends

    @pyqtSlot()
    def slotExit(self):
        app.quit()

    @pyqtSlot()
    def slotSetting(self):
        self.settingsDialog = SettingsDialog(self)
        self.settingsDialog.show()

    @pyqtSlot()
    def slotShowAbout(self):
        self.aboutDialog = AboutDialog(self)
        self.aboutDialog.show()

    def changeEvent(self, qEvent):
        if qEvent.type() == QEvent.WindowStateChange:
            if self.isMinimized():
                if app.settings.getbool("frontend", "minimizetosystray"):
                    self.setHidden(True)
        super().changeEvent(qEvent)

    def minimize(self):
        self.showMinimized()

    def restore(self):
        self.setWindowState(self.windowState() & ~Qt.WindowMinimized
                            | Qt.WindowActive)
        if self.isHidden():
            self.setHidden(False)
        self.raise_()

    def closeEvent(self, qCloseEvent):
        if app.settings.getbool("frontend", "closetominimize"):
            qCloseEvent.ignore()
            self.minimize()
        else:
            qCloseEvent.accept()
Example #4
0
class GuiManager(object):
    """ Main class, loads the gui and handles all events. """
    def __init__(self):
        """ Creates the main window. """

        # Attributes
        self.avaliable_modes = []

        self.current_show = None
        self.current_season = None

        is_first_time = not os.path.exists(CONFIG_FILE)
        self.config = Config.get()

        # API
        try:
            self.api = getattr(Hosts, self.config.get_key("site")).api
        except Exception, error:
            self.api = Hosts.AVALIABLE_APIS[0]

        self.marks = SList(MARKS_FILE)
        self.favorites = SList(FAVORITES_FILE)
        self.accounts = ACCOUNTS
        self.settings_dialog = SettingsDialog(self)

        # Gtk builder
        self.builder = gtk.Builder()
        self.builder.add_from_file(MAIN_GUI_FILE)
        self.builder.connect_signals(self)

        # Getting the used widgets
        glade_objects = [
            "main_window",
            "statusbar_label",
            "progress_box",
            "progress",
            "progress_label",
            "name_filter",
            "name_filter_clear",
            "name_list",
            "name_list_model",
            "file_viewer",
            "file_viewer_model",
            "mode_combo",
            "mode_liststore",
            "site_combo",
            "search_button",
            "search_clear",
            "search_entry",
            "search_hbox",
            "sidebar",
            "sidebar_vbox",
            "path_label",
            "info_window",
            "info_title",
            "info_label",
            "info_image",
            "file_viewer_menu",
            "error_label",
            "error_dialog",
            "header_hbox",
            "main_hpaned",
            "about_dialog",
            "site_liststore",
        ]

        for glade_object in glade_objects:
            setattr(self, glade_object, self.builder.get_object(glade_object))

        # Set up the filter for the show list
        self.name_list_model_filter = self.name_list_model.filter_new()
        self.name_list_model_filter.set_visible_func(
            generic_visible_func, (self.name_filter, NAME_LIST_COLUMN_TEXT))
        self.name_list.set_model(self.name_list_model_filter)

        # Get last mode, needs to be before the filling combo functions
        last_mode = self.config.get_key("last_mode")

        # Fill combobox
        self.fill_sites_combobox()
        self.fill_mode_combobox()

        # Set last window position and size
        last_x, last_y = self.config.get_key("last_window_pos")
        last_width, last_height = self.config.get_key("last_window_size")
        self.main_window.move(last_x, last_y)
        self.main_window.resize(last_width, last_height)

        # Now we show the window
        self.main_window.show_all()

        # Start on last mode
        try:
            self.mode_combo.set_active(self.avaliable_modes.index(last_mode))
        except:
            self.set_mode_shows()

        # Login
        self.background_task(self.login_accounts, freeze=False)

        if is_first_time:
            wizard = Wizard(self.main_window)
            wizard.show()
Example #5
0
 def slotSetting(self):
     self.settingsDialog = SettingsDialog(self)
     self.settingsDialog.show()
Example #6
0
class MainWindow(QMainWindow, Ui_MainWindow, PersistentGeometry):
    settingsDialog = None
    aboutDialog = None

    def __init__(self, parent):
        super().__init__(parent)

        # UI
        self.setupUi(self)
        self.connectUI()
        self.preserveGeometry()

    def connectUI(self):
        # connect UI related signal/slot
        self.action_exit.triggered.connect(self.slotExit)
        self.action_setting.triggered.connect(self.slotSetting)
        self.action_showAbout.triggered.connect(self.slotShowAbout)

    # shorthand
    @property
    def page(self):
        return self.webView.page()

    @property
    def frame(self):
        return self.webView.page().mainFrame()
    # shorthand ends

    @pyqtSlot()
    def slotExit(self):
        app.quit()

    @pyqtSlot()
    def slotSetting(self):
        self.settingsDialog = SettingsDialog(self)
        self.settingsDialog.show()

    @pyqtSlot()
    def slotShowAbout(self):
        self.aboutDialog = AboutDialog(self)
        self.aboutDialog.show()

    def changeEvent(self, qEvent):
        if qEvent.type() == QEvent.WindowStateChange:
            if self.isMinimized():
                if app.settings.getbool("frontend", "minimizetosystray"):
                    self.setHidden(True)
        super().changeEvent(qEvent)

    def minimize(self):
        self.showMinimized()

    def restore(self):
        self.setWindowState(self.windowState() & ~Qt.WindowMinimized | Qt.WindowActive)
        if self.isHidden():
            self.setHidden(False)
        self.raise_()

    def closeEvent(self, qCloseEvent):
        if app.settings.getbool("frontend", "closetominimize"):
            qCloseEvent.ignore()
            self.minimize()
        else:
            qCloseEvent.accept()