Rearrange options menu, place framework for disabling @ and # links
This commit is contained in:
parent
15917bd5d9
commit
88d0adb1d1
3 changed files with 51 additions and 9 deletions
|
@ -13,6 +13,7 @@ Features
|
||||||
* Theme checking
|
* Theme checking
|
||||||
* Spy mode
|
* Spy mode
|
||||||
* Animated
|
* Animated
|
||||||
|
* Turn @ and # links on/off?
|
||||||
|
|
||||||
Bugs
|
Bugs
|
||||||
----
|
----
|
||||||
|
|
52
menus.py
52
menus.py
|
@ -557,21 +557,27 @@ class PesterChooseProfile(QtGui.QDialog):
|
||||||
class PesterOptions(QtGui.QDialog):
|
class PesterOptions(QtGui.QDialog):
|
||||||
def __init__(self, config, theme, parent):
|
def __init__(self, config, theme, parent):
|
||||||
QtGui.QDialog.__init__(self, parent)
|
QtGui.QDialog.__init__(self, parent)
|
||||||
|
self.setWindowTitle("Options")
|
||||||
self.setModal(False)
|
self.setModal(False)
|
||||||
self.config = config
|
self.config = config
|
||||||
self.theme = theme
|
self.theme = theme
|
||||||
self.setStyleSheet(self.theme["main/defaultwindow/style"])
|
self.setStyleSheet(self.theme["main/defaultwindow/style"])
|
||||||
|
|
||||||
|
layout_4 = QtGui.QVBoxLayout()
|
||||||
|
|
||||||
hr = QtGui.QFrame()
|
hr = QtGui.QFrame()
|
||||||
hr.setFrameShape(QtGui.QFrame.HLine)
|
hr.setFrameShape(QtGui.QFrame.HLine)
|
||||||
hr.setFrameShadow(QtGui.QFrame.Sunken)
|
hr.setFrameShadow(QtGui.QFrame.Sunken)
|
||||||
|
|
||||||
self.tabs = QtGui.QTabWidget(self)
|
self.tabs = QtGui.QButtonGroup(self)
|
||||||
self.tabs.setMovable(True)
|
self.connect(self.tabs, QtCore.SIGNAL('buttonClicked(int)'),
|
||||||
self.tabs.setUsesScrollButtons(False)
|
self, QtCore.SLOT('changePage(int)'))
|
||||||
tabNames = ["Interface", "Chum List", "Conversations", "Logging"]
|
tabNames = ["Interface", "Chum List", "Conversations", "Logging"]
|
||||||
for t in tabNames:
|
for t in tabNames:
|
||||||
self.tabs.addTab(QtGui.QWidget(), t)
|
button = QtGui.QPushButton(t)
|
||||||
|
self.tabs.addButton(button)
|
||||||
|
layout_4.addWidget(button)
|
||||||
|
self.pages = QtGui.QStackedWidget(self)
|
||||||
|
|
||||||
self.tabcheck = QtGui.QCheckBox("Tabbed Conversations", self)
|
self.tabcheck = QtGui.QCheckBox("Tabbed Conversations", self)
|
||||||
if self.config.tabs():
|
if self.config.tabs():
|
||||||
|
@ -599,6 +605,11 @@ class PesterOptions(QtGui.QDialog):
|
||||||
if self.config.showSeconds():
|
if self.config.showSeconds():
|
||||||
self.secondscheck.setChecked(True)
|
self.secondscheck.setChecked(True)
|
||||||
|
|
||||||
|
self.userlinkscheck = QtGui.QCheckBox("Disable #Memo and @User Links", self)
|
||||||
|
self.userlinkscheck.setChecked(self.config.disableUserLinks())
|
||||||
|
self.userlinkscheck.setVisible(False)
|
||||||
|
|
||||||
|
|
||||||
# Will add ability to turn off groups later
|
# Will add ability to turn off groups later
|
||||||
#self.groupscheck = QtGui.QCheckBox("Use Groups", self)
|
#self.groupscheck = QtGui.QCheckBox("Use Groups", self)
|
||||||
#self.groupscheck.setChecked(self.config.useGroups())
|
#self.groupscheck.setChecked(self.config.useGroups())
|
||||||
|
@ -636,39 +647,62 @@ class PesterOptions(QtGui.QDialog):
|
||||||
|
|
||||||
# Tab layouts
|
# Tab layouts
|
||||||
# Interface
|
# Interface
|
||||||
layout_interface = QtGui.QVBoxLayout(self.tabs.widget(0))
|
widget = QtGui.QWidget()
|
||||||
|
layout_interface = QtGui.QVBoxLayout(widget)
|
||||||
layout_interface.setAlignment(QtCore.Qt.AlignTop)
|
layout_interface.setAlignment(QtCore.Qt.AlignTop)
|
||||||
layout_interface.addWidget(self.tabcheck)
|
layout_interface.addWidget(self.tabcheck)
|
||||||
layout_interface.addWidget(self.soundcheck)
|
layout_interface.addWidget(self.soundcheck)
|
||||||
|
self.pages.addWidget(widget)
|
||||||
|
|
||||||
# Chum List
|
# Chum List
|
||||||
layout_chumlist = QtGui.QVBoxLayout(self.tabs.widget(1))
|
widget = QtGui.QWidget()
|
||||||
|
layout_chumlist = QtGui.QVBoxLayout(widget)
|
||||||
layout_chumlist.setAlignment(QtCore.Qt.AlignTop)
|
layout_chumlist.setAlignment(QtCore.Qt.AlignTop)
|
||||||
layout_chumlist.addWidget(self.hideOffline)
|
layout_chumlist.addWidget(self.hideOffline)
|
||||||
#layout_chumlist.addWidget(self.groupscheck)
|
#layout_chumlist.addWidget(self.groupscheck)
|
||||||
layout_chumlist.addWidget(self.showemptycheck)
|
layout_chumlist.addWidget(self.showemptycheck)
|
||||||
layout_chumlist.addWidget(self.showonlinenumbers)
|
layout_chumlist.addWidget(self.showonlinenumbers)
|
||||||
layout_chumlist.addLayout(layout_3)
|
layout_chumlist.addLayout(layout_3)
|
||||||
|
self.pages.addWidget(widget)
|
||||||
|
|
||||||
# Conversations
|
# Conversations
|
||||||
layout_chat = QtGui.QVBoxLayout(self.tabs.widget(2))
|
widget = QtGui.QWidget()
|
||||||
|
layout_chat = QtGui.QVBoxLayout(widget)
|
||||||
layout_chat.setAlignment(QtCore.Qt.AlignTop)
|
layout_chat.setAlignment(QtCore.Qt.AlignTop)
|
||||||
|
layout_chat.addWidget(QtGui.QLabel("Time Stamps"))
|
||||||
layout_chat.addWidget(self.timestampcheck)
|
layout_chat.addWidget(self.timestampcheck)
|
||||||
layout_chat.addWidget(self.timestampBox)
|
layout_chat.addWidget(self.timestampBox)
|
||||||
layout_chat.addWidget(self.secondscheck)
|
layout_chat.addWidget(self.secondscheck)
|
||||||
|
# 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"))
|
||||||
|
#layout_chat.addWidget(self.userlinkscheck)
|
||||||
|
self.pages.addWidget(widget)
|
||||||
|
|
||||||
# Logging
|
# Logging
|
||||||
layout_logs = QtGui.QVBoxLayout(self.tabs.widget(3))
|
widget = QtGui.QWidget()
|
||||||
|
layout_logs = QtGui.QVBoxLayout(widget)
|
||||||
layout_logs.setAlignment(QtCore.Qt.AlignTop)
|
layout_logs.setAlignment(QtCore.Qt.AlignTop)
|
||||||
layout_logs.addWidget(self.logpesterscheck)
|
layout_logs.addWidget(self.logpesterscheck)
|
||||||
layout_logs.addWidget(self.logmemoscheck)
|
layout_logs.addWidget(self.logmemoscheck)
|
||||||
|
self.pages.addWidget(widget)
|
||||||
|
|
||||||
layout_0 = QtGui.QVBoxLayout()
|
layout_0 = QtGui.QVBoxLayout()
|
||||||
layout_0.addWidget(self.tabs)
|
layout_1 = QtGui.QHBoxLayout()
|
||||||
|
layout_1.addLayout(layout_4)
|
||||||
|
layout_1.addWidget(self.pages)
|
||||||
|
layout_0.addLayout(layout_1)
|
||||||
|
layout_0.addSpacing(30)
|
||||||
layout_0.addLayout(layout_2)
|
layout_0.addLayout(layout_2)
|
||||||
|
|
||||||
self.setLayout(layout_0)
|
self.setLayout(layout_0)
|
||||||
|
|
||||||
|
@QtCore.pyqtSlot(int)
|
||||||
|
def changePage(self, page):
|
||||||
|
# What is this, I don't even. qt, fuck
|
||||||
|
page = -page - 2
|
||||||
|
self.pages.setCurrentIndex(page)
|
||||||
|
|
||||||
class PesterUserlist(QtGui.QDialog):
|
class PesterUserlist(QtGui.QDialog):
|
||||||
def __init__(self, config, theme, parent):
|
def __init__(self, config, theme, parent):
|
||||||
QtGui.QDialog.__init__(self, parent)
|
QtGui.QDialog.__init__(self, parent)
|
||||||
|
|
|
@ -338,6 +338,8 @@ class userConfig(object):
|
||||||
return self.config.get('logPesters', True)
|
return self.config.get('logPesters', True)
|
||||||
def logMemos(self):
|
def logMemos(self):
|
||||||
return self.config.get('logMemos', True)
|
return self.config.get('logMemos', True)
|
||||||
|
def disableUserLinks(self):
|
||||||
|
return not self.config.get('userLinks', True)
|
||||||
def addChum(self, chum):
|
def addChum(self, chum):
|
||||||
if chum.handle not in self.chums():
|
if chum.handle not in self.chums():
|
||||||
fp = open(self.filename) # what if we have two clients open??
|
fp = open(self.filename) # what if we have two clients open??
|
||||||
|
@ -2299,6 +2301,11 @@ class PesterWindow(MovingWindow):
|
||||||
curlogmemos = self.config.logMemos()
|
curlogmemos = self.config.logMemos()
|
||||||
if logmemossetting != curlogmemos:
|
if logmemossetting != curlogmemos:
|
||||||
self.config.set('logMemos', logmemossetting)
|
self.config.set('logMemos', logmemossetting)
|
||||||
|
# memo and user links
|
||||||
|
linkssetting = self.optionmenu.userlinkscheck.isChecked()
|
||||||
|
curlinks = self.config.disableUserLinks()
|
||||||
|
if linkssetting != curlinks:
|
||||||
|
self.config.set('userLinks', not linkssetting)
|
||||||
self.optionmenu = None
|
self.optionmenu = None
|
||||||
|
|
||||||
@QtCore.pyqtSlot()
|
@QtCore.pyqtSlot()
|
||||||
|
|
Loading…
Reference in a new issue