def __init__(self): QtGui.QMainWindow.__init__(self) self.setWindowIcon(QtGui.QIcon(resource_path('data/icon.ico'))); self.resize(Config.getint('window_width'), Config.getint('window_height')) if Config.getboolean("window_maximized"): self.setWindowState(QtCore.Qt.WindowMaximized) self.setMinimumSize(300, 200) self.setWindowTitle(u'H**o Monitor') self.web_view = QWebView() self.web_view.setZoomFactor(Config.getfloat('zoom')) self.setCentralWidget(self.web_view) self.web_view.loadFinished.connect(self._load_finished) self.web_view.loadStarted.connect(self._load_started) self.web_view.titleChanged.connect(self._title_changed) # create progress bar self.loading = QtGui.QLabel() self.loading.setMinimumSize(32, 8) self.loading.hide() movie = QtGui.QMovie(resource_path("data/loading.gif")) self.loading.setMovie(movie) movie.start() self.statusBar().addPermanentWidget(self.loading) # Reload reload = QtGui.QAction(QtGui.QIcon(resource_path('data/reload.png')), 'Reload', self) reload.setShortcut('F5') reload.setStatusTip('Reload') self.connect(reload, QtCore.SIGNAL('triggered()'), self.reload) # Open in Browser browser = QtGui.QAction(QtGui.QIcon(resource_path('data/browser.png')), 'Open in Browser', self) browser.setShortcut('F9') browser.setStatusTip('Open in Browser') self.connect(browser, QtCore.SIGNAL('triggered()'), self.browser) # Exit exit = QtGui.QAction(QtGui.QIcon(resource_path('data/exit.png')), 'Exit', self) exit.setShortcut('Esc') exit.setStatusTip('Exit application') self.connect(exit, QtCore.SIGNAL('triggered()'), QtCore.SLOT('close()')) # Zoom Plus + zoomPlus = QtGui.QAction(QtGui.QIcon(resource_path('data/zoom_plus.png')), 'Zoom In', self) zoomPlus.setShortcut('Ctrl+=') zoomPlus.setStatusTip('Zoom In') self.connect(zoomPlus, QtCore.SIGNAL('triggered()'), self.zoomPlus) # Zoom Minus - zoomMinus = QtGui.QAction(QtGui.QIcon(resource_path('data/zoom_minus.png')), 'Zoom Out', self) zoomMinus.setShortcut('Ctrl+-') zoomMinus.setStatusTip('Zoom Out') self.connect(zoomMinus, QtCore.SIGNAL('triggered()'), self.zoomMinus) # Zoom Reset 0 zoomReset = QtGui.QAction(QtGui.QIcon(resource_path('data/zoom_reset.png')), 'Reset zoom', self) zoomReset.setShortcut('Ctrl+0') zoomReset.setStatusTip('Reset zoom') self.connect(zoomReset, QtCore.SIGNAL('triggered()'), self.zoomReset) # Toolbar self.toolbar = self.addToolBar('Toolbar') #self.toolbar.setToolButtonStyle(QtCore.Qt.ToolButtonTextBesideIcon) self.edit = QtGui.QLineEdit() self.edit.setText(Config.get('hosts').decode('utf8')) self.edit.setPlaceholderText("Enter miner IP-addresses... (Comma separated)") self.edit.setSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Expanding) self.edit.setFont(QtGui.QFont("Arial", 14)) self.toolbar.addWidget(self.edit) self.toolbar.addAction(reload) spacer = QtGui.QLabel() spacer.setMinimumSize(100,10) #spacer.setSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Expanding) self.toolbar.addWidget(spacer) self.toolbar.addAction(zoomMinus) self.toolbar.addAction(zoomReset) self.toolbar.addAction(zoomPlus) self.toolbar.addSeparator() self.toolbar.addAction(browser) # Menu File file = self.menuBar().addMenu('&File') file.addAction(reload) file.addAction(browser) file.addSeparator() file.addAction(exit) # Menu View view = self.menuBar().addMenu('&View') view.addAction(zoomPlus) view.addAction(zoomMinus) view.addSeparator() view.addAction(zoomReset) # Menu Settings settings = self.menuBar().addMenu('&Settings') ag = QtGui.QActionGroup(self, exclusive=True) act = ag.addAction(QtGui.QAction('Auto refresh every 5 sec', self, checkable=True, checked=(Config.getint("auto_refresh") == 5))) settings.addAction(act) self.connect(act, QtCore.SIGNAL('triggered()'), self.setAutoRefresh5) act = ag.addAction(QtGui.QAction('Auto refresh every 10 sec', self, checkable=True, checked=(Config.getint("auto_refresh") == 10))) settings.addAction(act) self.connect(act, QtCore.SIGNAL('triggered()'), self.setAutoRefresh10) act = ag.addAction(QtGui.QAction('Auto refresh every 20 sec', self, checkable=True, checked=(Config.getint("auto_refresh") == 20))) settings.addAction(act) self.connect(act, QtCore.SIGNAL('triggered()'), self.setAutoRefresh20) settings.addSeparator(); # Options Dialog oDialog = QtGui.QAction(QtGui.QIcon(resource_path('data/options.png')), 'Options...', self) oDialog.setShortcut('F10') oDialog.setStatusTip('Options dialog') self.connect(oDialog, QtCore.SIGNAL('triggered()'), self.optionsDialog) settings.addAction(oDialog) # Menu Help helpMenu = self.menuBar().addMenu('&Help') # About about = QtGui.QAction(QtGui.QIcon(resource_path('data/info.png')), '&About H**o Monitor', self) about.setStatusTip('Show an about box for H**o Monitor') self.connect(about, QtCore.SIGNAL('triggered()'), self.about) helpMenu.addAction(about) # About Qt actionAboutQt = QtGui.QAction("About &Qt", self) actionAboutQt.setStatusTip("Show an about box for Qt.") self.connect(actionAboutQt, QtCore.SIGNAL("triggered()"), self.aboutQt) helpMenu.addAction(actionAboutQt) StartServer()