def notify(self, html): note = Notification(html) self.connect(note, SIGNAL("done"), self.noteDestroyed) desktop = QApplication.desktop().availableGeometry(note) me = QRect(QPoint(0, 0), self.size) me.moveBottomRight(desktop.bottomRight() - self.margin) while self.notePosTaken(me): me.translate(0, 0 - (self.size.height() + (self.margin.y() * 2))) if not desktop.contains(me): me.moveBottom(desktop.bottom() - self.margin.y()) me.translate(0 - (self.size.width() + self.margin.x() * 2), 0) note.setGeometry(me) self.notifications.add(note) note.display()
def roundCorners(rectangle, radius): '''Get region for setting round edges mask''' region = QRegion() region += rectangle.adjusted(radius,0,-radius,0) region += rectangle.adjusted(0,radius,-0,-radius) corner = QRect(rectangle.topLeft(), QSize(radius*2,radius*2)) region += QRegion(corner, QRegion.Ellipse) corner.moveTopRight(rectangle.topRight()) region += QRegion(corner, QRegion.Ellipse) corner.moveBottomLeft(rectangle.bottomLeft()) region += QRegion(corner, QRegion.Ellipse) corner.moveBottomRight(rectangle.bottomRight()) region += QRegion(corner, QRegion.Ellipse) return region