Option for turning off animations (to avoid lagging)

This commit is contained in:
Kiooeht 2011-05-13 13:39:52 -07:00
parent 1ee3472bb6
commit fd6f267180
5 changed files with 35 additions and 7 deletions

View file

@ -213,6 +213,10 @@ class PesterTabWindow(QtGui.QFrame):
class PesterText(QtGui.QTextEdit):
def __init__(self, theme, parent=None):
QtGui.QTextEdit.__init__(self, parent)
if hasattr(self.parent(), 'mainwindow'):
self.mainwindow = self.parent().mainwindow
else:
self.mainwindow = self.parent()
self.initTheme(theme)
self.setReadOnly(True)
self.setMouseTracking(True)
@ -231,11 +235,13 @@ class PesterText(QtGui.QTextEdit):
movie.start()
@QtCore.pyqtSlot()
def animate(self):
movie = self.sender()
self.document().resource(QtGui.QTextDocument.ImageResource, self.urls[movie]).clear()
self.document().addResource(QtGui.QTextDocument.ImageResource,
self.urls[movie], movie.currentPixmap())
self.setLineWrapColumnOrWidth(self.lineWrapColumnOrWidth())
if self.mainwindow.config.animations():
movie = self.sender()
self.document().resource(QtGui.QTextDocument.ImageResource, self.urls[movie]).clear()
self.document().addResource(QtGui.QTextDocument.ImageResource,
self.urls[movie], movie.currentPixmap())
self.setLineWrapColumnOrWidth(self.lineWrapColumnOrWidth())
@QtCore.pyqtSlot(bool)
def textReady(self, ready):

View file

@ -126,6 +126,7 @@ class PesterLogViewer(QtGui.QDialog):
self.config = config
self.theme = theme
self.parent = parent
self.mainwindow = parent
global _datadir
self.handle = parent.profile().handle
self.chum = chum
@ -207,13 +208,13 @@ class PesterLogViewer(QtGui.QDialog):
font.setPointSize(8)
self.find.setFont(font)
self.find.setDefault(True)
self.find.setFixedSize(40, 16)
self.find.setFixedSize(40, 20)
layout_search = QtGui.QHBoxLayout()
layout_search.addWidget(self.search)
layout_search.addWidget(self.find)
self.qdb = QtGui.QPushButton("Pesterchum QDB", self)
self.qdb.setFixedWidth(200)
self.qdb.setFixedWidth(260)
self.connect(self.qdb, QtCore.SIGNAL('clicked()'),
self, QtCore.SLOT('openQDB()'))
self.ok = QtGui.QPushButton("CLOSE", self)

View file

@ -237,6 +237,10 @@ _ctag_begin = re.compile(r'<c=(.*?)>')
class MemoText(PesterText):
def __init__(self, theme, parent=None):
QtGui.QTextEdit.__init__(self, parent)
if hasattr(self.parent(), 'mainwindow'):
self.mainwindow = self.parent().mainwindow
else:
self.mainwindow = self.parent()
self.initTheme(theme)
self.setReadOnly(True)
self.setMouseTracking(True)

View file

@ -670,6 +670,14 @@ class PesterOptions(QtGui.QDialog):
if self.config.opvoiceMessages():
self.memomessagecheck.setChecked(True)
self.animationscheck = QtGui.QCheckBox("Use animated smilies", self)
if self.config.animations():
self.animationscheck.setChecked(True)
animateLabel = QtGui.QLabel("(Disable if you leave chats open for LOOOONG periods of time)")
font = animateLabel.font()
font.setPointSize(8)
animateLabel.setFont(font)
self.userlinkscheck = QtGui.QCheckBox("Disable #Memo and @User Links", self)
self.userlinkscheck.setChecked(self.config.disableUserLinks())
self.userlinkscheck.setVisible(False)
@ -773,6 +781,8 @@ class PesterOptions(QtGui.QDialog):
layout_chat.addWidget(self.timestampBox)
layout_chat.addWidget(self.secondscheck)
layout_chat.addWidget(self.memomessagecheck)
layout_chat.addWidget(self.animationscheck)
layout_chat.addWidget(animateLabel)
# Re-enable these when it's possible to disable User and Memo links
#layout_chat.addWidget(hr)
#layout_chat.addWidget(QtGui.QLabel("User and Memo Links"))

View file

@ -372,6 +372,8 @@ class userConfig(object):
return self.config.get('closeAction', 1)
def opvoiceMessages(self):
return self.config.get('opvMessages', True)
def animations(self):
return self.config.get('animations', True)
def addChum(self, chum):
if chum.handle not in self.chums():
fp = open(self.filename) # what if we have two clients open??
@ -2473,6 +2475,11 @@ class PesterWindow(MovingWindow):
curopvmess = self.config.opvoiceMessages()
if opvmesssetting != curopvmess:
self.config.set('opvMessages', opvmesssetting)
# animated smiles
animatesetting = self.optionmenu.animationscheck.isChecked()
curanimate = self.config.animations()
if animatesetting != curanimate:
self.config.set('animations', animatesetting)
# advanced
## user mode
if self.advanced: