def splash_screen(): """ """ pm = QPixmap( pkg_resources.resource_filename(__name__, "icons/orange-splash-screen.png")) version = QCoreApplication.applicationVersion() size = 21 if len(version) < 5 else 16 font = QFont("Helvetica") font.setPixelSize(size) font.setBold(True) font.setItalic(True) font.setLetterSpacing(QFont.AbsoluteSpacing, 2) metrics = QFontMetrics(font) br = metrics.boundingRect(version).adjusted(-5, 0, 5, 0) br.moveCenter(QPoint(436, 224)) p = QPainter(pm) p.setRenderHint(QPainter.Antialiasing) p.setRenderHint(QPainter.TextAntialiasing) p.setFont(font) p.setPen(QColor("#231F20")) p.drawText(br, Qt.AlignCenter, version) p.end() return pm, QRect(88, 193, 200, 20)
def write_statistics(self): """ Write the statistics session to file, and clear it. """ if not self.is_enabled(): return statistics_path = self.filename() statistics = { "Date": str(datetime.now().date()), "Application Version": QCoreApplication.applicationVersion(), "Operating System": platform.system() + " " + platform.release(), "Launch Count": QSettings().value('startup/launch-count', 0, type=int), "Session": self._actions } if os.path.isfile(statistics_path): with open(statistics_path) as f: data = json.load(f) else: data = [] data.append(statistics) with open(statistics_path, 'w') as f: json.dump(data, f) self.drop_statistics()
def write_statistics(self): if not self.is_enabled(): return statistics_path = self.filename() statistics = { "Date": str(datetime.now().date()), "Application Version": QCoreApplication.applicationVersion(), "Operating System": platform.system() + " " + platform.release(), "Session": { "Quick Menu Search": self.quick_menu_actions, "Toolbox Click": self.toolbox_clicks, "Toolbox Drag": self.toolbox_drags, "Widget Extension": self.widget_extensions } } if os.path.isfile(statistics_path): with open(statistics_path) as f: data = json.load(f) else: data = [] data.append(statistics) with open(statistics_path, 'w') as f: json.dump(data, f)
def splash_screen(): """ """ pm = QPixmap( pkg_resources.resource_filename( __name__, "icons/orange-splash-screen.png") ) version = QCoreApplication.applicationVersion() size = 21 if len(version) < 5 else 16 font = QFont("Helvetica") font.setPixelSize(size) font.setBold(True) font.setItalic(True) font.setLetterSpacing(QFont.AbsoluteSpacing, 2) metrics = QFontMetrics(font) br = metrics.boundingRect(version).adjusted(-5, 0, 5, 0) br.moveCenter(QPoint(436, 224)) p = QPainter(pm) p.setRenderHint(QPainter.Antialiasing) p.setRenderHint(QPainter.TextAntialiasing) p.setFont(font) p.setPen(QColor("#231F20")) p.drawText(br, Qt.AlignCenter, version) p.end() return pm, QRect(88, 193, 200, 20)
def cache_dir(): """ Return the application cache directory. If the directory path does not yet exists then create it. """ init() cachedir = QStandardPaths.writableLocation(QStandardPaths.CacheLocation) version = QCoreApplication.applicationVersion() cachedir = os.path.join(cachedir, version) if not os.path.exists(cachedir): os.makedirs(cachedir) return cachedir
def cache_dir(): """Return the application cache directory. If the directory path does not yet exists then create it. """ init() cachedir = standard_location(standard_location.CacheLocation) cachedir = six.text_type(cachedir) version = six.text_type(QCoreApplication.applicationVersion()) cachedir = os.path.join(cachedir, version) if not os.path.exists(cachedir): os.makedirs(cachedir) return cachedir
def data_dir(): """Return the application data directory. If the directory path does not yet exists then create it. """ init() datadir = standard_location(standard_location.DataLocation) datadir = six.text_type(datadir) version = six.text_type(QCoreApplication.applicationVersion()) datadir = os.path.join(datadir, version) if not os.path.exists(datadir): os.makedirs(datadir) return datadir
def data_dir(): """ Return the application data directory. If the directory path does not yet exists then create it. """ init() datadir = QStandardPaths.writableLocation(QStandardPaths.DataLocation) version = QCoreApplication.applicationVersion() datadir = os.path.join(datadir, version) if not os.path.isdir(datadir): try: os.makedirs(datadir, exist_ok=True) except OSError: pass return datadir
def splash_screen(): # type: () -> Tuple[QPixmap, QRect] """ Return a splash screen pixmap and an text area within it. The text area is used for displaying text messages during application startup. The default implementation returns a bland rectangle splash screen. Returns ------- t : Tuple[QPixmap, QRect] A QPixmap and a rect area within it. """ path = pkg_resources.resource_filename( __name__, "icons/orange-canvas-core-splash.svg") pm = QPixmap(path) version = QCoreApplication.applicationVersion() if version: version_parsed = LooseVersion(version) version_comp = version_parsed.version version = ".".join(map(str, version_comp[:2])) size = 21 if len(version) < 5 else 16 font = QFont() font.setPixelSize(size) font.setBold(True) font.setItalic(True) font.setLetterSpacing(QFont.AbsoluteSpacing, 2) metrics = QFontMetrics(font) br = metrics.boundingRect(version).adjusted(-5, 0, 5, 0) br.moveBottomRight(QPoint(pm.width() - 15, pm.height() - 15)) p = QPainter(pm) p.setRenderHint(QPainter.Antialiasing) p.setRenderHint(QPainter.TextAntialiasing) p.setFont(font) p.setPen(QColor("#231F20")) p.drawText(br, Qt.AlignCenter, version) p.end() textarea = QRect(15, 15, 170, 20) return pm, textarea
def cache_dir(): """Return the application cache directory. If the directory path does not yet exists then create it. """ warnings.warn(f"'{__name__}.cache_dir' is deprecated.", DeprecationWarning, stacklevel=2) base = QStandardPaths.writableLocation(QStandardPaths.GenericCacheLocation) name = QCoreApplication.applicationName() version = QCoreApplication.applicationVersion() if not name: name = "Orange" if not version: version = "0.0.0" path = os.path.join(base, name, version) try: os.makedirs(path, exist_ok=True) except OSError: pass return path
def data_dir(versioned=True): """ Return the platform dependent application data directory. This is ``data_dir_base()``/{NAME}/{VERSION}/ directory if versioned is `True` and ``data_dir_base()``/{NAME}/ otherwise, where NAME is `QCoreApplication.applicationName()` and VERSION is `QCoreApplication.applicationVersion()`. """ base = data_dir_base() assert base name = QCoreApplication.applicationName() version = QCoreApplication.applicationVersion() if not name: name = "Orange" if not version: version = "0.0.0" if versioned: return os.path.join(base, name, version) else: return os.path.join(base, name)
def write_statistics(self): if not self.is_enabled(): return statistics_path = self.filename() statistics = { "Date": str(datetime.now().date()), "Application Version": QCoreApplication.applicationVersion(), "Operating System": platform.system() + " " + platform.release(), "Session": self._actions } if os.path.isfile(statistics_path): with open(statistics_path) as f: data = json.load(f) else: data = [] data.append(statistics) with open(statistics_path, 'w') as f: json.dump(data, f)