Example #1
0
    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)

        self.ui = Ui_MainWindow()
        self.ui.setupUi(self)

        self.setWindowTitle("Pomodoro")
        # all time here in seconds, in comments are default values
        self.study_time = 1500  # 1500 is 25 minutes
        self.short_break_time = 300  # 300 is 5 minutes
        self.long_break_time = 900  # 900 is 15 minutes
        self.remaining_seconds = self.study_time

        self.beep_noise = "bugle_tune.wav"  # sound played
        self.last_countdown = ""

        self.history = {}
        self.studies_today = self.load_history()
        self.last_countdown = "study"

        self.setup_settings()
        self.setup_timer()
        self.ui.button.clicked.connect(self.start_timer)
        self.ui.actionSettings.triggered.connect(self.open_settings_window)
        self.ui.pushButton.clicked.connect(self.open_calendar_window)
Example #2
0
    def __init__(self, app_main):

        # Create main window UI

        QtGui.QMainWindow.__init__(self)
        self.ui = Ui_MainWindow()
        self.ui.setupUi(self)

        self.app_main = app_main

        self.asyncCmd = None
        self.asyncCmdRunning = False

        # Create helper objects to manage main window tabs
        self.daqTab = LpdFemGuiMainDaqTab(app_main, self)
        self.pwrTab = LpdFemGuiMainPowerTab(app_main, self)
        self.configTab = LpdFemGuiMainConfigTab(app_main, self)
        self.evrTab = LpdFemGuiMainEvrTab(app_main, self)
        self.testTab = LpdFemGuiMainTestTab(app_main, self)
        self.ui.operatorEdit.text()

        if (self.app_main.asic_testing_enabled):
            pass
        else:
            # ASIC testing disabled, remove test tab
            testIdx = self.ui.verticalTabWidget.indexOf(self.ui.testTab)
            self.ui.verticalTabWidget.removeTab(testIdx)

        # Initialise default fields based on app_main object
        self.ui.connectAddr.setText(self.app_main.getCachedParam('femAddr'))
        self.ui.connectPort.setText(
            str(self.app_main.getCachedParam('femPort')))

        # Create a status bar with a progress bar
        self.createStatusBar("Not connected")

        # Connect signals and slots
        QtCore.QObject.connect(self.ui.connectButton,
                               QtCore.SIGNAL("clicked()"),
                               self.deviceConnectToggle)
        self.connect(self.ui.actionQuit, QtCore.SIGNAL('triggered()'),
                     self.quitApplication)

        # Connect msgRecv function to message signal to allow other non-GUI threads to print messages
        self.messageSignal.connect(self.msgRecv)

        # Connect runStateUpdate function to signal to allow other non-GUI threads to push state updates
        self.runStateSignal.connect(self.runStateUpdate)

        # Connect run status update function to signal to data recevier to push updates
        self.run_status_signal.connect(self.daqTab.runStatusUpdate)

        # Connect power status update function to signal
        self.powerStatusSignal.connect(self.pwrTab.powerStatusUpdateDisplay)
Example #3
0
    def __init__(self):
        super(MainWindow, self).__init__()
        self.ui = Ui_MainWindow()
        self.ui.setupUi(self)

        self.addToolBar(NavigationToolbar2QT(self.ui.MplWidget.canvas, self), )
        self.ui.log_scaling_checkbox.setCheckState(QtCore.Qt.Unchecked)

        self.num_decimals = 4
        self.limiting_exponent = 4

        self.wavelength_axis = 'rows'
        self.time_axis = 'columns'  # This should be adjustable outside the code to handle various types of data

        self.rows_values = 0  # the intention is that the values for "time" are in row 0 and wl are in column 0
        self.columns_values = 0  # These might be stupid names and unnecessary in general

        self.plot_full = dict(Left=False, Right=False, Lower=False)
Example #4
0
    def __init__(self):
        super().__init__()

        self.ui = Ui_MainWindow()
        self.ui.setupUi(self)

        # NOTE: методом подбора получились эти значения
        self.ui.splitter_main.setSizes([80, 500])

        self.setWindowTitle('Client http://readmanga.me')

        self.ui.line_edit_search.textEdited.connect(self.on_manga_search)
        self.ui.list_widget_search_result.itemDoubleClicked.connect(
            self.on_search_item_double_clicked)

        self.ui.push_button_next_page.clicked.connect(self.next_page)
        self.ui.push_button_prev_page.clicked.connect(self.prev_page)

        self.ui.combo_box_manga_chapters.currentIndexChanged.connect(
            self.on_manga_chapters_current_index_changed)
        self.ui.combo_box_pages.currentIndexChanged.connect(
            self.set_chapter_page)

        self.url_images_chapter = list()

        # Кэш страниц манги, чтобы не качать их каждый раз при смене страницы на просмотренную в главе
        self.cache_page_chapter_by_image = dict()

        self.last_item_chapter = None
        self.last_page_number = -1

        self.image_viewer = ImageViewer()
        self.ui.scroll_area_image_page.setWidget(self.image_viewer)

        self.ui.scroll_area_image_page.setWidgetResizable(True)
        self.ui.scroll_area_image_page.installEventFilter(self)

        self.download_progress_bar = QProgressBar()
        self.download_progress_bar.hide()
        self.ui.statusbar.addPermanentWidget(self.download_progress_bar)

        self._update_states()
Example #5
0
    def __init__(self, gui_manager):
        QMainWindow.__init__(self, None)  #Initialize myself as a widget
        self.ui = Ui_MainWindow()
        self.ui.setupUi(self)  #Create the components of the window

        self.gui_manager = gui_manager

        self.dock_full_screen = False
        self.min_doc_dock_width = 200

        #Maximize the display to full size
        #self.showMaximized()

        #Add status bar at bottom of window
        self.statusbar = QtGui.QStatusBar(self)
        self.statusbar.setObjectName("statusbar")
        self.setStatusBar(self.statusbar)

        #Add progress bar to status bar
        self.pb = QProgressBar(self.statusBar())
        self.pb.setMinimum(0)
        self.pb.setMaximum(0)
        self.statusbar.addPermanentWidget(self.pb)
        self.pb.hide()

        QObject.connect(self.ui.menu_dock_visible, SIGNAL("triggered()"),
                        self.toggle_documentation_window)
        QObject.connect(self.ui.dock_doc, SIGNAL("visibilityChanged(bool)"),
                        self.toggle_dock_visible_menu)

        QObject.connect(self.ui.menu_dock_floating, SIGNAL("triggered()"),
                        self.toggle_dock_float)
        QObject.connect(self.ui.dock_doc, SIGNAL("topLevelChanged(bool)"),
                        self.toggle_dock_floating_menu)

        QObject.connect(self.ui.menu_open_full_doc, SIGNAL("triggered()"),
                        self.load_full_doc)
Example #6
0
    def __init__(self):
        print('AppWindow::__init__()')
        super().__init__()
        self.settings = QSettings('./settings.ini', QSettings.IniFormat)
        self.defaultBboxesLandscape = [
            QRectF(0, 0.1, 1, 0.8),
            QRectF(0.1, 0.1, 0.9, 0.8)
        ]
        self.defaultBboxesPortrait = [
            QRectF(0, 0, 1, 0), QRectF(0.05, 0.05, 0.9, 0)
        ]

        self.ui = Ui_MainWindow()
        self.ui.setupUi(self)
        self.ui.buttonDone.clicked.connect(self.slot_on_buttonDone_clicked)
        self.ui.buttonSwitchInOutEditor.clicked.connect(
            self.slot_on_buttonSwitchInOutEditor_clicked)
        self.ui.buttonSwapInOutEditor.clicked.connect(
            self.slot_on_buttonSwapInOutEditor_clicked)
        self.ui.buttonImageNext.clicked.connect(
            self.slot_on_buttonImageNext_clicked)
        self.ui.buttonImagePrev.clicked.connect(
            self.slot_on_buttonImagePrev_clicked)
        self.ui.buttonLoadKdenlive.clicked.connect(
            self.slot_on_buttonLoadKdenlive_clicked)
        self.ui.buttonLoadImages.clicked.connect(
            self.slot_on_buttonLoadImages_clicked)
        self.ui.buttonSaveKdenlive.clicked.connect(
            self.slot_on_buttonSaveKdenlive_clicked)
        self.ui.buttonSaveBboxesJson.clicked.connect(
            self.slot_on_buttonSaveBboxesJson_clicked)
        self.ui.buttonApplyBboxRatioMultiplier.clicked.connect(
            self.slot_on_buttonApplyBboxRatioMultiplier_clicked)
        self.ui.lineeditTargetVideoResolution.textChanged.connect(
            self.slot_on_lineeditTargetVideoResolution_textChanged)
        self.ui.checkboxStayInside.toggled.connect(
            self.slot_on_checkboxStayInside_toggled)
        self.ui.buttonLoadKdenlive.setShortcut(QKeySequence('Ctrl+o'))
        self.ui.buttonSwitchInOutEditor.setShortcut(QKeySequence('Tab'))
        self.ui.buttonSwapInOutEditor.setShortcut(QKeySequence('w'))
        self.ui.buttonImageNext.setShortcut(QKeySequence('Space'))
        self.ui.buttonImagePrev.setShortcut(QKeySequence('Backspace'))
        self.ui.checkboxStayInside.setShortcut(QKeySequence('s'))
        self.ui.buttonSaveKdenlive.setEnabled(False)
        self.ui.buttonImageNext.setEnabled(False)
        self.ui.buttonImagePrev.setEnabled(False)
        self.ui.lineeditTargetVideoResolution.setText('1920x1080')
        #		self.ui.image.setTargetRatio(1920 / 1080) # Aspect ratio of the video slideshow
        self.ui.image.bboxesChanged.connect(self.bboxesChanged)
        self.fileFormats = [
            'All supported formats: *.kdenlive, *.json (*.kdenlive *.json)',
            'Kdenlive Project Files: *.kdenlive (*.kdenlive)',
            'Bboxes Json: *.json (*.json)',
        ]
        self.kdenliveFile = None
        self.images = []
        self.imagesData = {}
        self.imageIdx = 0
        if len(sys.argv) > 1:
            if re.match('.*\.kdenlive', sys.argv[1]):
                self.LoadKdenliveFile(sys.argv[1])
            else:
                self.images = sys.argv[1:]
                print('images:', self.images)

            # Load bboxes from json
            try:
                self.LoadBboxesJson(self.getBboxesFilename())
            except:
                print('WARNING: unable to parse json data')
                traceback.print_exc()

            # Override json bboxes with kdenlive clip transformations
            if self.kdenliveFile is not None:
                self.KdenliveFileToImagesData()

            img_path = self.images[self.imageIdx]
            print('imagesData:', self.imagesData)
            self.SetImageIdx(self.imageIdx)

        self.show()
Example #7
0
    def __init__(self):
        # Init the base class
        QMainWindow.__init__(self)

        self._settings = load_settings(Config.DEFAULT_SETTINGS)

        # Init the processed .ui file
        self._ui = Ui_MainWindow()
        self._ui.setupUi(self)
        self.setWindowTitle("TradeSkillMaster Application r{}".format(Config.CURRENT_VERSION))

        # connect signals / slots
        self._ui.addon_status_table.doubleClicked.connect(self._addon_status_table_clicked)
        self._ui.backup_status_table.doubleClicked.connect(self._backup_status_table_clicked)
        self._ui.settings_button.clicked.connect(self.settings_button_clicked.emit)
        self._ui.accounts_dropdown.activated['QString'].connect(self.accounts_dropdown_changed)
        self._ui.realm_dropdown.activated['QString'].connect(self.realm_dropdown_changed)
        self._ui.export_button.clicked.connect(self.export_button_clicked)
        self._ui.help_button.setProperty("url", "http://tradeskillmaster.com/site/getting-help")
        self._ui.help_button.clicked.connect(self._link_button_clicked)
        self._ui.premium_button.setProperty("url", "http://tradeskillmaster.com/premium")
        self._ui.premium_button.clicked.connect(self._link_button_clicked)
        self._ui.logo_button.setProperty("url", "http://tradeskillmaster.com")
        self._ui.logo_button.clicked.connect(self._link_button_clicked)
        self._ui.twitter_button.setProperty("url", "http://twitter.com/TSMAddon")
        self._ui.twitter_button.clicked.connect(self._link_button_clicked)

        # Apply the stylesheet
        file = QFile(":/resources/main_window.css")
        file.open(QIODevice.ReadOnly)
        data = str(file.readAll(), encoding="ascii")
        self.setStyleSheet(data)

        # set properties which are necessary for tweaking the style
        self._ui.help_button.setProperty("id", "premiumButton")
        self._ui.premium_button.setProperty("id", "premiumButton")
        self._ui.header_text.setProperty("id", "headerText")

        # stylesheet tweaks for things which don't work when put into the .css for some unknown reason
        self._ui.accounting_tab.setStyleSheet("QCheckBox:disabled { color : #666; } QCheckBox { color : white; }");

        self._sync_status_table_model = TableModel(self, ['Region/Realm', 'AuctionDB', 'Great Deals', 'Last Updated'])
        self._ui.sync_status_table.setModel(self._sync_status_table_model)

        self._addon_status_table_model = TableModel(self, ['Name', 'Version', 'Status'])
        self._ui.addon_status_table.setModel(self._addon_status_table_model)

        self._backup_status_table_model = TableModel(self, ['System ID', 'Account', 'Timestamp', 'Sync Status'])
        self._ui.backup_status_table.setModel(self._backup_status_table_model)

        self._accounting_info = {}
        self._accounting_current_account = ""
        self._accounting_current_realm = ""

        if Config.IS_WINDOWS:
            # create the system tray icon / menu
            self._tray_icon = QSystemTrayIcon(QIcon(":/resources/logo.png"), self)
            self._tray_icon.setToolTip("TradeSkillMaster Application r{}".format(Config.CURRENT_VERSION))
            self._tray_icon.activated.connect(self._icon_activated)
            tray_icon_menu = QMenu(self)
            restore_action = QAction("Restore", tray_icon_menu)
            restore_action.triggered.connect(self._restore_from_tray)
            tray_icon_menu.addAction(restore_action)
            tray_icon_menu.addSeparator()
            quit_action = QAction("Quit", tray_icon_menu)
            quit_action.triggered.connect(self.close)
            tray_icon_menu.addAction(quit_action)
            self._tray_icon.setContextMenu(tray_icon_menu)
            self._tray_icon.hide()