def getConfig(cls, key): """ get config """ settings = QtCore.QSettings("myFlickr", "mySync") if key=='directory': if not settings.value('directory'): cls.setConfig('directory', '') if not os.path.exists(settings.value('directory')): return '' return settings.value(key)
def getConfig(cls, key): """ get config """ settings = QtCore.QSettings("myFlickr", "mySync") if key == 'directory': if not settings.value('directory'): cls.setConfig('directory', '') if not os.path.exists(settings.value('directory')): return '' return settings.value(key)
def main(): app = QApplication(sys.argv) app.setQuitOnLastWindowClosed(False) app.setOrganizationName('meteo-qt') app.setOrganizationDomain('meteo-qt') app.setApplicationName('meteo-qt') app.setWindowIcon(QIcon(':/logo')) filePath = os.path.dirname(os.path.realpath(__file__)) settings = QSettings() locale = settings.value('Language') if locale is None or locale == '': locale = QLocale.system().name() appTranslator = QTranslator() if os.path.exists(filePath + '/translations/'): appTranslator.load(filePath + "/translations/meteo-qt_" + locale) else: appTranslator.load("/usr/share/meteo_qt/translations/meteo-qt_" + locale) app.installTranslator(appTranslator) qtTranslator = QTranslator() qtTranslator.load("qt_" + locale, QLibraryInfo.location(QLibraryInfo.TranslationsPath)) app.installTranslator(qtTranslator) log_level = settings.value('Logging/Level') if log_level == '' or log_level is None: log_level = 'INFO' settings.setValue('Logging/Level', 'INFO') log_filename = os.path.dirname(settings.fileName()) if not os.path.exists(log_filename): os.makedirs(log_filename) log_filename = log_filename + '/meteo-qt.log' logging.basicConfig( format='%(asctime)s %(levelname)s: %(message)s - %(module)s - %(name)s', datefmt='%m/%d/%Y %H:%M:%S', filename=log_filename, level=log_level) logger = logging.getLogger('meteo-qt') logger.setLevel(log_level) handler = logging.handlers.RotatingFileHandler(log_filename, maxBytes=20, backupCount=5) logger1 = logging.getLogger() handler1 = logging.StreamHandler() logger1Formatter = logging.Formatter( '%(levelname)s: %(message)s - %(module)s') handler1.setFormatter(logger1Formatter) logger.addHandler(handler) logger1.addHandler(handler1) m = SystemTrayIcon() app.exec_()
def restoreLayout(self): """ Restore the layout of each widget """ settings=self.settings try: self.restoreGeometry(settings.value("geometry").toByteArray()) self.restoreState(settings.value("windowState").toByteArray()) size=settings.value('fontSize').toFloat()[0] self.setFontSize(size) except: pass
def restoreLayout(self): """ Restore the layout of each widget """ settings = self.settings try: self.restoreGeometry(settings.value("geometry").toByteArray()) self.restoreState(settings.value("windowState").toByteArray()) size = settings.value('fontSize').toFloat()[0] self.setFontSize(size) except: pass
def main(): app = QApplication(sys.argv) app.setQuitOnLastWindowClosed(False) app.setOrganizationName('meteo-qt') app.setOrganizationDomain('meteo-qt') app.setApplicationName('meteo-qt') app.setWindowIcon(QIcon(':/logo')) filePath = os.path.dirname(os.path.realpath(__file__)) settings = QSettings() locale = settings.value('Language') if locale is None or locale == '': locale = QLocale.system().name() appTranslator = QTranslator() if os.path.exists(filePath + '/translations/'): appTranslator.load(filePath + "/translations/meteo-qt_" + locale) else: appTranslator.load("/usr/share/meteo_qt/translations/meteo-qt_" + locale) app.installTranslator(appTranslator) qtTranslator = QTranslator() qtTranslator.load("qt_" + locale, QLibraryInfo.location(QLibraryInfo.TranslationsPath)) app.installTranslator(qtTranslator) log_level = settings.value('Logging/Level') if log_level == '' or log_level is None: log_level = 'INFO' settings.setValue('Logging/Level', 'INFO') log_filename = os.path.dirname(settings.fileName()) if not os.path.exists(log_filename): os.makedirs(log_filename) log_filename = log_filename + '/meteo-qt.log' logging.basicConfig(format='%(asctime)s %(levelname)s: %(message)s - %(module)s - %(name)s', datefmt='%m/%d/%Y %H:%M:%S', filename=log_filename, level=log_level) logger = logging.getLogger('meteo-qt') logger.setLevel(log_level) handler = logging.handlers.RotatingFileHandler( log_filename, maxBytes=20, backupCount=5) logger1 = logging.getLogger() handler1 = logging.StreamHandler() logger1Formatter = logging.Formatter('%(levelname)s: %(message)s - %(module)s') handler1.setFormatter(logger1Formatter) logger.addHandler(handler) logger1.addHandler(handler1) m = SystemTrayIcon() app.exec_()
def init1(loop): """Start processing web events.""" app = web.Application(loop=loop) #Call API functions and observe values. app.router.add_route('POST', '/v0/authenticate', authenticate) app.router.add_route('POST', '/v0/deauthenticate', deauthenticate) app.router.add_route('*', '/v0/subscribe', subscribe) app.router.add_route('*', '/v0/{name}', handle) #Serve the web app. app.router.add_route('GET', '/', lambda _: web.Response(status=301, headers={ 'Location':'/app' }) ) app.router.add_route('GET', '/app', lambda _: web.Response( headers={ 'Content-Type':'text/html; charset=utf-8' }, body=indexHTML.seek(0) or indexHTML.read(), )) app.router.add_static('/app', 'app/', name="static app files") print(f"Server running on port {settings.value('port', 80)}.") srv = yield from loop.create_server( app.make_handler(), '0.0.0.0', settings.value('port', 80), ) return srv
def main(): app = QApplication(sys.argv) # создаёт основной объект программы app.setApplicationName("CryotecClient") app.setOrganizationName("SKOpenCodes") app.setOrganizationDomain("skopencodes.org") qtTranslator = QTranslator() if qtTranslator.load("qt",":/"): app.installTranslator(qtTranslator) appTranslator = QTranslator() if appTranslator.load("cryotec_client", ":/"): app.installTranslator(appTranslator) settings = QSettings() app.setStyle(settings.value("applicationStyle", "windowsxp").toString()) pixmap = QPixmap(":/images/splashscreen.png") splash = QSplashScreen(pixmap, Qt.WindowStaysOnTopHint) splash.setMask(pixmap.mask()) # this is usefull if the splashscreen is not a regular ractangle... splash.show() splash.showMessage((u'Криотек Клиент'), Qt.AlignRight | Qt.AlignBottom, Qt.white) # make sure Qt really display the splash screen app.processEvents() setup_settings() # try: from models import models # except ImportError: # cd = ConnectionErrorDialog(splash, {"fields":("server_package"), # "text":u"Проверьте название пакета сервера", # "error":True}) # cd.exec_() failed = False if not models.load_from_server(): cd = ConnectionErrorDialog(splash, {"fields":("address","api_path"), "text":u"Проверьте настройки сервера", "error":True}, models) result = cd.exec_() if result==QDialog.Rejected: failed = True if not failed: form = MainWindow() splash.finish(form) form.show() app.exec_() else: qApp.exit()
def networkPasswordChanged(self) -> None: try: #Defaults to "chronos", for now. We should not do this because we don't want a default password, let alone such a bad one. password = settings.value('password', '') assert password, "Password must be given for web server to start. (Try setting this in the App & Internet Access screen on the camera.)" self.hashedPassword = bytes.fromhex(password) # or hexHash(password="******") print('network password updated to', self.hashedPassword) except Exception as e: print('Could not update password:', e) self.hashedPassword = bytes()
def connect(self): settings = QSettings("Trunat", "PyTalk") settings.beginGroup("Connection") self.userID = settings.value("userID").toString().__str__() self.password = settings.value("password").toString().__str__() self.server = settings.value("server").toString().__str__() self.useSSL = settings.value("useSSL", QVariant(True)).toBool() if self.useSSL: self.port = settings.value("port", QVariant("5223")).toInt() else: self.port = settings.value("port", QVariant("5222")).toInt() self.port = int(self.port[0]) self.ressource = settings.value( "ressource", QVariant("PyTalk")).toString().__str__() settings.endGroup() self.jid = xmpp.protocol.JID(self.userID.__str__()) self.jabber = xmpp.Client(self.jid.getDomain(), debug=[]) if self.server: server = (self.server, self.port) else: server = None connection = self.jabber.connect(server) if not connection: self.emit(SIGNAL("error"), self.tr("Connection Error"), self.tr("Could not connect")) return False sys.stderr.write('Connected with %s\n' % connection) auth = self.jabber.auth(self.jid.getNode(), self.password, self.ressource) if not auth: self.emit(SIGNAL("error"), self.tr("Authentication Error"), self.tr("Could not authenticate")) return False sys.stderr.write('Authenticate using %s\n' % auth) self.register_handlers() self.jabber.sendInitPresence(requestRoster=1) return connection
def connect(self): settings = QSettings("Trunat", "PyTalk") settings.beginGroup("Connection") self.userID = settings.value("userID").toString().__str__() self.password = settings.value("password").toString().__str__() self.server = settings.value("server").toString().__str__() self.useSSL = settings.value("useSSL", QVariant(True)).toBool() if self.useSSL: self.port = settings.value("port", QVariant("5223")).toInt() else: self.port = settings.value("port", QVariant("5222")).toInt() self.port = int(self.port[0]) self.ressource = settings.value("ressource", QVariant("PyTalk")).toString().__str__() settings.endGroup() self.jid = xmpp.protocol.JID(self.userID.__str__()) self.jabber = xmpp.Client(self.jid.getDomain(), debug=[]) if self.server: server = (self.server, self.port) else: server = None connection = self.jabber.connect(server) if not connection: self.emit(SIGNAL("error"), self.tr("Connection Error"), self.tr("Could not connect")) return False sys.stderr.write('Connected with %s\n' % connection) auth = self.jabber.auth(self.jid.getNode(), self.password, self.ressource) if not auth: self.emit(SIGNAL("error"), self.tr("Authentication Error"), self.tr("Could not authenticate")) return False sys.stderr.write('Authenticate using %s\n' % auth) self.register_handlers() self.jabber.sendInitPresence(requestRoster=1) return connection
def main(): app = QApplication(sys.argv) app.setQuitOnLastWindowClosed(False) app.setOrganizationName('meteo-qt') app.setOrganizationDomain('meteo-qt') app.setApplicationName('meteo-qt') app.setWindowIcon(QIcon(':/logo')) filePath = os.path.dirname(os.path.realpath(__file__)) settings = QSettings() locale = settings.value('Language') if locale == None or locale == '': locale = QLocale.system().name() appTranslator = QTranslator() appTranslator.load(filePath + "/translations/meteo-qt_" + locale) app.installTranslator(appTranslator) qtTranslator = QTranslator() qtTranslator.load("qt_" + locale, QLibraryInfo.location(QLibraryInfo.TranslationsPath)) app.installTranslator(qtTranslator) m = SystemTrayIcon() app.exec_()
def __init__(self, parent=None): super(MainWindow, self).__init__(parent) self.setWindowIcon(QIcon(":/small_icons/cryotec_logo.png")) self.setWindowTitle(u"Криотек Клиент") self.resize(1024,768) from views import FixWithButtonsView, ReportWithButtonsView, \ MaintenanceWithButtonsView, CheckupWithButtonsView, MachinePanel from widgets import ServerResponceDock, ShowModelInfoDock, StatusBar from models import models self.machine_tree = MachinePanel() self.info_dock = ShowModelInfoDock(u"Информация", self) self.info_dock.setAllowedAreas(Qt.LeftDockWidgetArea | Qt.RightDockWidgetArea |\ Qt.BottomDockWidgetArea) self.machine_tree.view.modelSelectionChanged.connect(self.info_dock.view.modelChanged) self.machine_tree.view.modelSelectionCleared.connect(self.info_dock.view.modelCleared) self.note_views = { u"Неисправности":ReportWithButtonsView(None), u"Ремонты":FixWithButtonsView(None), u"Техобслуживания":MaintenanceWithButtonsView(None), u"Контроли моточасов":CheckupWithButtonsView(None), } #self.machine_tree.setSelectionMode(QAbstractItemView.MultiSelection) self.notebook = CentralNotebook(self.machine_tree, self.info_dock, self.note_views) self.setCentralWidget(self.notebook) machineDockWidget = QDockWidget(u"Оборудование", self) machineDockWidget.setObjectName("machine_dock") machineDockWidget.setAllowedAreas(Qt.LeftDockWidgetArea | Qt.RightDockWidgetArea) machineDockWidget.setWidget(self.machine_tree) self.responce_dock = ServerResponceDock(u"Ответ от сервера", self) self.responce_dock.setAllowedAreas(Qt.RightDockWidgetArea|Qt.BottomDockWidgetArea) self.settings_dialog = SettingsDialog(models_manager=models) settingsAction = QAction(QIcon(":/icons/setting_tools.png"), u"Настройки", self) settingsAction.triggered.connect(self.settings_dialog.exec_) self.about_dialog = AboutDialog(self) aboutAction = QAction(QIcon(":/icons/information.png"), u"О программе...", self) aboutAction.triggered.connect(self.about_dialog.exec_) helpAction = QAction(u"Справка", self) helpAction.triggered.connect(lambda: QDesktopServices.openUrl(QUrl("doc/index.html"))) saveAction = QAction(QIcon(":/icons/save_as.png"), u"Сохранить", self) saveAction.triggered.connect(self.save_to_file) openAction = QAction(QIcon(":/icons/folder.png"), u"Открыть", self) openAction.triggered.connect(self.load_from_file) self.syncAction = QAction(QIcon(":/icons/update.png"), u"Синхронизировать", self) self.syncAction.triggered.connect(self.synchronize) syncButton = QToolButton() syncButton.setDefaultAction(self.syncAction) syncButton.setToolButtonStyle(Qt.ToolButtonTextBesideIcon) # syncStatusBarButton = QToolButton() # syncStatusBarButton.setDefaultAction(self.syncAction) machinetreepanelAction = machineDockWidget.toggleViewAction() machinetreepanelAction.setIcon(QIcon(":/icons/application_side_tree.png")) responcedockAction = self.responce_dock.toggleViewAction() infodockAction = self.info_dock.toggleViewAction() # self.statusBar().addPermanentWidget(syncStatusBarButton) quitAction = QAction(u"Выход", self) quitAction.triggered.connect(self.close) self.status_bar = StatusBar(parent=self) self.setStatusBar(self.status_bar) self.mm = models self.mm.add_notify_dumped(self.synced) self.mm.add_notify_undumped(self.unsynced) self.mm.add_notify_dumped(self.status_bar.synced) self.mm.add_notify_undumped(self.status_bar.unsynced) self.mm.add_notify_dumped(self.responce_dock.show_responce) self.mm.add_notify_change_user(self.status_bar.userChanged) self.status_bar.userChanged(self.mm.get_current_user()) self.status_bar.clicked.connect(\ lambda: self.info_dock.view.modelChanged(self.mm.get_current_user())) self.addDockWidget(Qt.LeftDockWidgetArea, machineDockWidget) self.addDockWidget(Qt.BottomDockWidgetArea, self.info_dock) self.addDockWidget(Qt.BottomDockWidgetArea, self.responce_dock) self.setCorner(Qt.BottomLeftCorner, Qt.LeftDockWidgetArea) mainmenu = self.menuBar() filemenu = mainmenu.addMenu(u"Файл") viewmenu = mainmenu.addMenu(u"Вид") connmenu = mainmenu.addMenu(u"Соединение") helpmenu = mainmenu.addMenu(u"Справка") viewmenu.addAction(machinetreepanelAction) viewmenu.addAction(responcedockAction) viewmenu.addAction(infodockAction) connmenu.addAction(self.syncAction) filemenu.addAction(settingsAction) filemenu.addAction(saveAction) filemenu.addAction(openAction) filemenu.addAction(quitAction) helpmenu.addAction(aboutAction) helpmenu.addAction(helpAction) toolbar = self.addToolBar("main") toolbar.setObjectName("main_toolbar") toolbar.addAction(machinetreepanelAction) toolbar.addWidget(syncButton) toolbar.addAction(settingsAction) settings = QSettings() self.restoreGeometry(settings.value("geometry").toByteArray()); self.restoreState(settings.value("windowState").toByteArray()); for widget in self.note_views.values(): table_name = widget.view.__class__.__name__+"State" widget.view.horizontalHeader().restoreState(settings.value(table_name, "").toByteArray())