Minor changes for when the console is done
This commit is contained in:
parent
eff759d475
commit
ec9e07f7e7
2 changed files with 62 additions and 2 deletions
|
@ -43,9 +43,13 @@ Features
|
||||||
* Implement MemoServ support
|
* Implement MemoServ support
|
||||||
* Add support for displaying more verbose information (e.g. Cease messages which tell you more than the abbreviation of who left)
|
* Add support for displaying more verbose information (e.g. Cease messages which tell you more than the abbreviation of who left)
|
||||||
* Make Pesterchum recognize conventional /mes so they aren't invisible
|
* Make Pesterchum recognize conventional /mes so they aren't invisible
|
||||||
* Fix NickServ auto-login things
|
|
||||||
* Tell user when NickServ handles are going to expire
|
* Tell user when NickServ handles are going to expire
|
||||||
* Tell user when old handles have D/C'd? Offer autoghost support?!
|
* Tell user when old handles have D/C'd? Offer autoghost support?!
|
||||||
|
* Make @XY and @xxxYyy formats ping their targets
|
||||||
|
* Allow matches like @?XY and @FXY or @PXY3 - make them only match the target currently set to that.
|
||||||
|
* Make @ notation not match @u@; and similar (make invalid nick chars break matches)
|
||||||
|
* Fix hyperlink escaping (Qt seems to do this automatically - need a workaround)
|
||||||
|
* Show bans if +h or higher (+h, +o, +a, +q)
|
||||||
|
|
||||||
* Add more comprehensive status support - IDLE, DND, INVISIBLE for now - or at least add similar functionality.
|
* Add more comprehensive status support - IDLE, DND, INVISIBLE for now - or at least add similar functionality.
|
||||||
* SEPARATE FUNCTIONALITY from CONNECTED STATE!! This is a huge problem! Being shunted off our nick closes windows and breaks things! Just D/C and reconnect?
|
* SEPARATE FUNCTIONALITY from CONNECTED STATE!! This is a huge problem! Being shunted off our nick closes windows and breaks things! Just D/C and reconnect?
|
||||||
|
@ -62,9 +66,11 @@ Features
|
||||||
* Right-click Time entry field to see those used? (Replace left/right buttons?)
|
* Right-click Time entry field to see those used? (Replace left/right buttons?)
|
||||||
* Make the memo name entry box accept a comma-separated list
|
* Make the memo name entry box accept a comma-separated list
|
||||||
* Make right-clicking on a tab open up the right-click menu one would get on right-clicking the title (frame??)
|
* Make right-clicking on a tab open up the right-click menu one would get on right-clicking the title (frame??)
|
||||||
|
* Add an option to Cycle (for log separation)
|
||||||
|
|
||||||
* Add a separate 'Tweaks' section in Options
|
* Add a separate 'Tweaks' section in Options
|
||||||
* Fix graphical issues with dark themes vs. light themes (Qt/text too light/etc.)
|
* Fix graphical issues with dark themes vs. light themes (Qt/text too light/etc.)
|
||||||
|
* Allow manual compression changes via memo right-click menu for 'advanced' (per the setting) users
|
||||||
|
|
||||||
Todo/Done
|
Todo/Done
|
||||||
----
|
----
|
||||||
|
@ -76,6 +82,7 @@ Todo/Done
|
||||||
* Color tags are now posted as their shorter hexadecimal forms, if applicable (255,255,255 -> #FFFFFF, for example)
|
* Color tags are now posted as their shorter hexadecimal forms, if applicable (255,255,255 -> #FFFFFF, for example)
|
||||||
* Separate auto-idle and checkbox idle so they don't share a state (and make the first send set the timer for additional idle responses)
|
* Separate auto-idle and checkbox idle so they don't share a state (and make the first send set the timer for additional idle responses)
|
||||||
* Stop us from sending IDLE messages to NickServ
|
* Stop us from sending IDLE messages to NickServ
|
||||||
|
* Fix NickServ auto-login things
|
||||||
|
|
||||||
Debugging
|
Debugging
|
||||||
----
|
----
|
||||||
|
|
|
@ -12,9 +12,20 @@ from time import time
|
||||||
import threading, Queue
|
import threading, Queue
|
||||||
from pnc.dep.attrdict import AttrDict
|
from pnc.dep.attrdict import AttrDict
|
||||||
|
|
||||||
import logging
|
|
||||||
logging.basicConfig(level=logging.WARNING)
|
logging.basicConfig(level=logging.WARNING)
|
||||||
|
|
||||||
|
try:
|
||||||
|
import console
|
||||||
|
except ImportError:
|
||||||
|
_CONSOLE = False
|
||||||
|
logging.warning("Console file not shipped; skipping.")
|
||||||
|
except Exception as err:
|
||||||
|
_CONSOLE = False
|
||||||
|
# Consider erroring?
|
||||||
|
logging.error("Failed to load console!", exc_info=err)
|
||||||
|
else:
|
||||||
|
_CONSOLE = True
|
||||||
|
|
||||||
reqmissing = []
|
reqmissing = []
|
||||||
optmissing = []
|
optmissing = []
|
||||||
try:
|
try:
|
||||||
|
@ -996,6 +1007,11 @@ class PesterWindow(MovingWindow):
|
||||||
MovingWindow.__init__(self, parent,
|
MovingWindow.__init__(self, parent,
|
||||||
(QtCore.Qt.CustomizeWindowHint |
|
(QtCore.Qt.CustomizeWindowHint |
|
||||||
QtCore.Qt.FramelessWindowHint))
|
QtCore.Qt.FramelessWindowHint))
|
||||||
|
|
||||||
|
# For debugging
|
||||||
|
global PESTERAPP
|
||||||
|
PESTERAPP = app
|
||||||
|
|
||||||
self.autoJoinDone = False
|
self.autoJoinDone = False
|
||||||
self.app = app
|
self.app = app
|
||||||
self.convos = CaseInsensitiveDict()
|
self.convos = CaseInsensitiveDict()
|
||||||
|
@ -1091,6 +1107,13 @@ class PesterWindow(MovingWindow):
|
||||||
self.menu = QtGui.QMenuBar(self)
|
self.menu = QtGui.QMenuBar(self)
|
||||||
self.menu.setNativeMenuBar(False)
|
self.menu.setNativeMenuBar(False)
|
||||||
|
|
||||||
|
self.console = AttrDict()
|
||||||
|
self.console.window = None
|
||||||
|
self.console.action = QtGui.QAction("Console", self)
|
||||||
|
self.connect(self.console.action, QtCore.SIGNAL('triggered()'),
|
||||||
|
self, QtCore.SLOT('showConsole()'))
|
||||||
|
self.console.is_open = False
|
||||||
|
|
||||||
filemenu = self.menu.addMenu(self.theme["main/menus/client/_name"])
|
filemenu = self.menu.addMenu(self.theme["main/menus/client/_name"])
|
||||||
self.filemenu = filemenu
|
self.filemenu = filemenu
|
||||||
filemenu.addAction(opts)
|
filemenu.addAction(opts)
|
||||||
|
@ -1103,6 +1126,8 @@ class PesterWindow(MovingWindow):
|
||||||
filemenu.addAction(talk)
|
filemenu.addAction(talk)
|
||||||
filemenu.addAction(self.idleaction)
|
filemenu.addAction(self.idleaction)
|
||||||
filemenu.addAction(grps)
|
filemenu.addAction(grps)
|
||||||
|
if _CONSOLE:
|
||||||
|
filemenu.addAction(self.console.action)
|
||||||
filemenu.addAction(self.importaction)
|
filemenu.addAction(self.importaction)
|
||||||
filemenu.addAction(self.reconnectAction)
|
filemenu.addAction(self.reconnectAction)
|
||||||
filemenu.addAction(exitaction)
|
filemenu.addAction(exitaction)
|
||||||
|
@ -1464,6 +1489,34 @@ class PesterWindow(MovingWindow):
|
||||||
self.connect(self.tabmemo, QtCore.SIGNAL('windowClosed()'),
|
self.connect(self.tabmemo, QtCore.SIGNAL('windowClosed()'),
|
||||||
self, QtCore.SLOT('memoTabsClosed()'))
|
self, QtCore.SLOT('memoTabsClosed()'))
|
||||||
|
|
||||||
|
@QtCore.pyqtSlot()
|
||||||
|
def showConsole(self):
|
||||||
|
if not _CONSOLE:
|
||||||
|
# We don't have the module file for this at the moment.
|
||||||
|
return
|
||||||
|
win = self.console.window
|
||||||
|
if win is None:
|
||||||
|
# We have no console window; make one.
|
||||||
|
logging.warning("Making a console....")
|
||||||
|
self.console.window = win = console.ConsoleWindow(parent=self)
|
||||||
|
logging.warning("Console made.")
|
||||||
|
self.connect(win, QtCore.SIGNAL('windowClosed()'),
|
||||||
|
self, QtCore.SLOT('consoleWindowClosed()'))
|
||||||
|
if self.console.is_open:
|
||||||
|
# Already open - hide the console.
|
||||||
|
win.hide()
|
||||||
|
self.console.is_open = False
|
||||||
|
else:
|
||||||
|
# Console isn't visible - show it.
|
||||||
|
win.show()
|
||||||
|
self.console.is_open = True
|
||||||
|
|
||||||
|
@QtCore.pyqtSlot()
|
||||||
|
def consoleWindowClosed(self):
|
||||||
|
self.console.is_open = False
|
||||||
|
self.console.window = None
|
||||||
|
logging.warning("Console closed.")
|
||||||
|
|
||||||
def newMemo(self, channel, timestr, secret=False, invite=False):
|
def newMemo(self, channel, timestr, secret=False, invite=False):
|
||||||
if channel == "#pesterchum":
|
if channel == "#pesterchum":
|
||||||
return
|
return
|
||||||
|
|
Loading…
Reference in a new issue