Merge remote-tracking branch 'upstream/master' into advanced-input-spellcheck
This commit is contained in:
commit
145f3aa134
@ -4,13 +4,12 @@
|
|||||||
:lang: en
|
:lang: en
|
||||||
|
|
||||||
|
|
||||||
|
image:https://travis-ci.org/weechat/qweechat.svg?branch=master["Build Status", link="https://travis-ci.org/weechat/qweechat"]
|
||||||
|
|
||||||
QWeeChat is a Qt remote GUI for WeeChat written in Python.
|
QWeeChat is a Qt remote GUI for WeeChat written in Python.
|
||||||
|
|
||||||
Homepage: https://weechat.org/
|
Homepage: https://weechat.org/
|
||||||
|
|
||||||
image:https://travis-ci.org/weechat/qweechat.svg?branch=master["Build Status", link="https://travis-ci.org/weechat/qweechat"]
|
|
||||||
|
|
||||||
|
|
||||||
== Features
|
== Features
|
||||||
|
|
||||||
* Multi-platform (GNU/Linux, *BSD, Mac OS X, QNX, Windows & others).
|
* Multi-platform (GNU/Linux, *BSD, Mac OS X, QNX, Windows & others).
|
||||||
@ -48,15 +47,15 @@ You have to add a relay port in WeeChat, for example on port 1234:
|
|||||||
|
|
||||||
In QWeeChat, click on connect and enter fields:
|
In QWeeChat, click on connect and enter fields:
|
||||||
|
|
||||||
* 'server': the IP address or hostname of your machine with WeeChat running
|
* _server_: the IP address or hostname of your machine with WeeChat running
|
||||||
* 'port': the relay port (defined in WeeChat)
|
* _port_: the relay port (defined in WeeChat)
|
||||||
* 'password': the relay password (defined in WeeChat)
|
* _password_: the relay password (defined in WeeChat)
|
||||||
|
|
||||||
Options can be changed in file '~/.qweechat/qweechat.conf'.
|
Options can be changed in file _~/.qweechat/qweechat.conf_.
|
||||||
|
|
||||||
== Copyright
|
== Copyright
|
||||||
|
|
||||||
Copyright (C) 2011-2015 Sébastien Helleu <flashcode@flashtux.org>
|
Copyright (C) 2011-2016 Sébastien Helleu <flashcode@flashtux.org>
|
||||||
|
|
||||||
This file is part of QWeeChat, a Qt remote GUI for WeeChat.
|
This file is part of QWeeChat, a Qt remote GUI for WeeChat.
|
||||||
|
|
@ -1,6 +1,6 @@
|
|||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
#
|
#
|
||||||
# Copyright (C) 2011-2015 Sébastien Helleu <flashcode@flashtux.org>
|
# Copyright (C) 2011-2016 Sébastien Helleu <flashcode@flashtux.org>
|
||||||
#
|
#
|
||||||
# This file is part of QWeeChat, a Qt remote GUI for WeeChat.
|
# This file is part of QWeeChat, a Qt remote GUI for WeeChat.
|
||||||
#
|
#
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
#
|
#
|
||||||
# about.py - about dialog box
|
# about.py - about dialog box
|
||||||
#
|
#
|
||||||
# Copyright (C) 2011-2015 Sébastien Helleu <flashcode@flashtux.org>
|
# Copyright (C) 2011-2016 Sébastien Helleu <flashcode@flashtux.org>
|
||||||
#
|
#
|
||||||
# This file is part of QWeeChat, a Qt remote GUI for WeeChat.
|
# This file is part of QWeeChat, a Qt remote GUI for WeeChat.
|
||||||
#
|
#
|
||||||
@ -21,6 +21,7 @@
|
|||||||
#
|
#
|
||||||
|
|
||||||
import qt_compat
|
import qt_compat
|
||||||
|
|
||||||
QtCore = qt_compat.import_module('QtCore')
|
QtCore = qt_compat.import_module('QtCore')
|
||||||
QtGui = qt_compat.import_module('QtGui')
|
QtGui = qt_compat.import_module('QtGui')
|
||||||
|
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
#
|
#
|
||||||
# buffer.py - management of WeeChat buffers/nicklist
|
# buffer.py - management of WeeChat buffers/nicklist
|
||||||
#
|
#
|
||||||
# Copyright (C) 2011-2015 Sébastien Helleu <flashcode@flashtux.org>
|
# Copyright (C) 2011-2016 Sébastien Helleu <flashcode@flashtux.org>
|
||||||
#
|
#
|
||||||
# This file is part of QWeeChat, a Qt remote GUI for WeeChat.
|
# This file is part of QWeeChat, a Qt remote GUI for WeeChat.
|
||||||
#
|
#
|
||||||
@ -22,12 +22,13 @@
|
|||||||
|
|
||||||
from pkg_resources import resource_filename
|
from pkg_resources import resource_filename
|
||||||
import qt_compat
|
import qt_compat
|
||||||
QtCore = qt_compat.import_module('QtCore')
|
|
||||||
QtGui = qt_compat.import_module('QtGui')
|
|
||||||
from chat import ChatTextEdit
|
from chat import ChatTextEdit
|
||||||
from input import InputLineEdit
|
from input import InputLineEdit
|
||||||
import weechat.color as color
|
import weechat.color as color
|
||||||
|
|
||||||
|
QtCore = qt_compat.import_module('QtCore')
|
||||||
|
QtGui = qt_compat.import_module('QtGui')
|
||||||
|
|
||||||
|
|
||||||
class GenericListWidget(QtGui.QListWidget):
|
class GenericListWidget(QtGui.QListWidget):
|
||||||
"""Generic QListWidget with dynamic size."""
|
"""Generic QListWidget with dynamic size."""
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
#
|
#
|
||||||
# chat.py - chat area
|
# chat.py - chat area
|
||||||
#
|
#
|
||||||
# Copyright (C) 2011-2015 Sébastien Helleu <flashcode@flashtux.org>
|
# Copyright (C) 2011-2016 Sébastien Helleu <flashcode@flashtux.org>
|
||||||
#
|
#
|
||||||
# This file is part of QWeeChat, a Qt remote GUI for WeeChat.
|
# This file is part of QWeeChat, a Qt remote GUI for WeeChat.
|
||||||
#
|
#
|
||||||
@ -22,11 +22,12 @@
|
|||||||
|
|
||||||
import datetime
|
import datetime
|
||||||
import qt_compat
|
import qt_compat
|
||||||
QtCore = qt_compat.import_module('QtCore')
|
|
||||||
QtGui = qt_compat.import_module('QtGui')
|
|
||||||
import config
|
import config
|
||||||
import weechat.color as color
|
import weechat.color as color
|
||||||
|
|
||||||
|
QtCore = qt_compat.import_module('QtCore')
|
||||||
|
QtGui = qt_compat.import_module('QtGui')
|
||||||
|
|
||||||
|
|
||||||
class ChatTextEdit(QtGui.QTextEdit):
|
class ChatTextEdit(QtGui.QTextEdit):
|
||||||
"""Chat area."""
|
"""Chat area."""
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
#
|
#
|
||||||
# config.py - configuration for QWeeChat (~/.qweechat/qweechat.conf)
|
# config.py - configuration for QWeeChat (~/.qweechat/qweechat.conf)
|
||||||
#
|
#
|
||||||
# Copyright (C) 2011-2015 Sébastien Helleu <flashcode@flashtux.org>
|
# Copyright (C) 2011-2016 Sébastien Helleu <flashcode@flashtux.org>
|
||||||
#
|
#
|
||||||
# This file is part of QWeeChat, a Qt remote GUI for WeeChat.
|
# This file is part of QWeeChat, a Qt remote GUI for WeeChat.
|
||||||
#
|
#
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
#
|
#
|
||||||
# connection.py - connection window
|
# connection.py - connection window
|
||||||
#
|
#
|
||||||
# Copyright (C) 2011-2015 Sébastien Helleu <flashcode@flashtux.org>
|
# Copyright (C) 2011-2016 Sébastien Helleu <flashcode@flashtux.org>
|
||||||
#
|
#
|
||||||
# This file is part of QWeeChat, a Qt remote GUI for WeeChat.
|
# This file is part of QWeeChat, a Qt remote GUI for WeeChat.
|
||||||
#
|
#
|
||||||
@ -21,6 +21,7 @@
|
|||||||
#
|
#
|
||||||
|
|
||||||
import qt_compat
|
import qt_compat
|
||||||
|
|
||||||
QtGui = qt_compat.import_module('QtGui')
|
QtGui = qt_compat.import_module('QtGui')
|
||||||
|
|
||||||
|
|
||||||
|
@ -2,9 +2,9 @@ Copyright and license for images
|
|||||||
================================
|
================================
|
||||||
|
|
||||||
|
|
||||||
Files: weechat_icon_32.png, bullet_green_8x8.png, bullet_yellow_8x8.png
|
Files: weechat.png, bullet_green_8x8.png, bullet_yellow_8x8.png
|
||||||
|
|
||||||
Copyright (C) 2011-2015 Sébastien Helleu <flashcode@flashtux.org>
|
Copyright (C) 2011-2016 Sébastien Helleu <flashcode@flashtux.org>
|
||||||
Released under GPLv3.
|
Released under GPLv3.
|
||||||
|
|
||||||
|
|
||||||
|
BIN
qweechat/data/icons/weechat.png
Normal file
BIN
qweechat/data/icons/weechat.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.7 KiB |
Binary file not shown.
Before Width: | Height: | Size: 2.9 KiB |
@ -2,7 +2,7 @@
|
|||||||
#
|
#
|
||||||
# debug.py - debug window
|
# debug.py - debug window
|
||||||
#
|
#
|
||||||
# Copyright (C) 2011-2015 Sébastien Helleu <flashcode@flashtux.org>
|
# Copyright (C) 2011-2016 Sébastien Helleu <flashcode@flashtux.org>
|
||||||
#
|
#
|
||||||
# This file is part of QWeeChat, a Qt remote GUI for WeeChat.
|
# This file is part of QWeeChat, a Qt remote GUI for WeeChat.
|
||||||
#
|
#
|
||||||
@ -21,10 +21,11 @@
|
|||||||
#
|
#
|
||||||
|
|
||||||
import qt_compat
|
import qt_compat
|
||||||
QtGui = qt_compat.import_module('QtGui')
|
|
||||||
from chat import ChatTextEdit
|
from chat import ChatTextEdit
|
||||||
from input import InputLineEdit
|
from input import InputLineEdit
|
||||||
|
|
||||||
|
QtGui = qt_compat.import_module('QtGui')
|
||||||
|
|
||||||
|
|
||||||
class DebugDialog(QtGui.QDialog):
|
class DebugDialog(QtGui.QDialog):
|
||||||
"""Debug dialog."""
|
"""Debug dialog."""
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
#
|
#
|
||||||
# input.py - input line for chat and debug window
|
# input.py - input line for chat and debug window
|
||||||
#
|
#
|
||||||
# Copyright (C) 2011-2015 Sébastien Helleu <flashcode@flashtux.org>
|
# Copyright (C) 2011-2016 Sébastien Helleu <flashcode@flashtux.org>
|
||||||
#
|
#
|
||||||
# This file is part of QWeeChat, a Qt remote GUI for WeeChat.
|
# This file is part of QWeeChat, a Qt remote GUI for WeeChat.
|
||||||
#
|
#
|
||||||
@ -22,6 +22,7 @@
|
|||||||
|
|
||||||
import qt_compat
|
import qt_compat
|
||||||
from inputlinespell import InputLineSpell
|
from inputlinespell import InputLineSpell
|
||||||
|
|
||||||
QtCore = qt_compat.import_module('QtCore')
|
QtCore = qt_compat.import_module('QtCore')
|
||||||
QtGui = qt_compat.import_module('QtGui')
|
QtGui = qt_compat.import_module('QtGui')
|
||||||
|
|
||||||
|
@ -27,6 +27,7 @@ import qt_compat
|
|||||||
QtCore = qt_compat.import_module('QtCore')
|
QtCore = qt_compat.import_module('QtCore')
|
||||||
QtGui = qt_compat.import_module('QtGui')
|
QtGui = qt_compat.import_module('QtGui')
|
||||||
import config
|
import config
|
||||||
|
import functools
|
||||||
import re
|
import re
|
||||||
import weechat.color as color
|
import weechat.color as color
|
||||||
|
|
||||||
@ -162,12 +163,12 @@ class InputLineSpell(QtGui.QTextEdit):
|
|||||||
suggestions = self.spelldict.suggest(text)
|
suggestions = self.spelldict.suggest(text)
|
||||||
if len(suggestions) != 0:
|
if len(suggestions) != 0:
|
||||||
popup_menu.insertSeparator(popup_menu.actions()[0])
|
popup_menu.insertSeparator(popup_menu.actions()[0])
|
||||||
topAction = popup_menu.actions()[0]
|
|
||||||
for word in suggestions:
|
|
||||||
action = SpellAction(word, popup_menu)
|
|
||||||
action.correct.connect(self.correctWord)
|
|
||||||
popup_menu.insertAction(topAction, action)
|
|
||||||
|
|
||||||
|
topAction = popup_menu.actions()[0]
|
||||||
|
for suggestion in suggestions:
|
||||||
|
action = QtGui.QAction(suggestion, popup_menu)
|
||||||
|
action.connect(action, QtCore.SIGNAL("triggered()"), functools.partial(self.correctWord, word = suggestion))
|
||||||
|
popup_menu.insertAction(topAction, action)
|
||||||
popup_menu.insertSeparator(topAction)
|
popup_menu.insertSeparator(topAction)
|
||||||
addAction = QtGui.QAction("Add to dictionary", self)
|
addAction = QtGui.QAction("Add to dictionary", self)
|
||||||
addAction.triggered.connect(lambda: self.addWord(text))
|
addAction.triggered.connect(lambda: self.addWord(text))
|
||||||
@ -222,18 +223,3 @@ class SpellHighlighter(QtGui.QSyntaxHighlighter):
|
|||||||
if not self.spelldict.check(word_object.group()):
|
if not self.spelldict.check(word_object.group()):
|
||||||
word_len = word_object.end() - word_object.start()
|
word_len = word_object.end() - word_object.start()
|
||||||
self.setFormat(word_object.start(), word_len, format)
|
self.setFormat(word_object.start(), word_len, format)
|
||||||
|
|
||||||
|
|
||||||
class SpellAction(QtGui.QAction):
|
|
||||||
|
|
||||||
'''
|
|
||||||
A special QAction that returns the text in a signal.
|
|
||||||
'''
|
|
||||||
|
|
||||||
correct = qt_compat.Signal(unicode)
|
|
||||||
|
|
||||||
def __init__(self, *args):
|
|
||||||
QtGui.QAction.__init__(self, *args)
|
|
||||||
|
|
||||||
self.triggered.connect(lambda x: self.correct.emit(
|
|
||||||
unicode(self.text())))
|
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
#
|
#
|
||||||
# network.py - I/O with WeeChat/relay
|
# network.py - I/O with WeeChat/relay
|
||||||
#
|
#
|
||||||
# Copyright (C) 2011-2015 Sébastien Helleu <flashcode@flashtux.org>
|
# Copyright (C) 2011-2016 Sébastien Helleu <flashcode@flashtux.org>
|
||||||
#
|
#
|
||||||
# This file is part of QWeeChat, a Qt remote GUI for WeeChat.
|
# This file is part of QWeeChat, a Qt remote GUI for WeeChat.
|
||||||
#
|
#
|
||||||
@ -22,9 +22,10 @@
|
|||||||
|
|
||||||
import struct
|
import struct
|
||||||
import qt_compat
|
import qt_compat
|
||||||
|
import config
|
||||||
|
|
||||||
QtCore = qt_compat.import_module('QtCore')
|
QtCore = qt_compat.import_module('QtCore')
|
||||||
QtNetwork = qt_compat.import_module('QtNetwork')
|
QtNetwork = qt_compat.import_module('QtNetwork')
|
||||||
import config
|
|
||||||
|
|
||||||
_PROTO_INIT_CMD = ['init password=%(password)s']
|
_PROTO_INIT_CMD = ['init password=%(password)s']
|
||||||
|
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
#
|
#
|
||||||
# qweechat.py - WeeChat remote GUI using Qt toolkit
|
# qweechat.py - WeeChat remote GUI using Qt toolkit
|
||||||
#
|
#
|
||||||
# Copyright (C) 2011-2015 Sébastien Helleu <flashcode@flashtux.org>
|
# Copyright (C) 2011-2016 Sébastien Helleu <flashcode@flashtux.org>
|
||||||
#
|
#
|
||||||
# This file is part of QWeeChat, a Qt remote GUI for WeeChat.
|
# This file is part of QWeeChat, a Qt remote GUI for WeeChat.
|
||||||
#
|
#
|
||||||
@ -37,8 +37,6 @@ import sys
|
|||||||
import traceback
|
import traceback
|
||||||
from pkg_resources import resource_filename
|
from pkg_resources import resource_filename
|
||||||
import qt_compat
|
import qt_compat
|
||||||
QTCORE = qt_compat.import_module('QtCore')
|
|
||||||
QTGUI = qt_compat.import_module('QtGui')
|
|
||||||
import config
|
import config
|
||||||
import weechat.protocol as protocol
|
import weechat.protocol as protocol
|
||||||
from network import Network
|
from network import Network
|
||||||
@ -48,6 +46,9 @@ from debug import DebugDialog
|
|||||||
from about import AboutDialog
|
from about import AboutDialog
|
||||||
from version import qweechat_version
|
from version import qweechat_version
|
||||||
|
|
||||||
|
QtCore = qt_compat.import_module('QtCore')
|
||||||
|
QtGui = qt_compat.import_module('QtGui')
|
||||||
|
|
||||||
NAME = 'QWeeChat'
|
NAME = 'QWeeChat'
|
||||||
AUTHOR = 'Sébastien Helleu'
|
AUTHOR = 'Sébastien Helleu'
|
||||||
AUTHOR_MAIL = 'flashcode@flashtux.org'
|
AUTHOR_MAIL = 'flashcode@flashtux.org'
|
||||||
@ -57,11 +58,11 @@ WEECHAT_SITE = 'https://weechat.org/'
|
|||||||
DEBUG_NUM_LINES = 50
|
DEBUG_NUM_LINES = 50
|
||||||
|
|
||||||
|
|
||||||
class MainWindow(QTGUI.QMainWindow):
|
class MainWindow(QtGui.QMainWindow):
|
||||||
"""Main window."""
|
"""Main window."""
|
||||||
|
|
||||||
def __init__(self, *args):
|
def __init__(self, *args):
|
||||||
QTGUI.QMainWindow.__init__(*(self,) + args)
|
QtGui.QMainWindow.__init__(*(self,) + args)
|
||||||
|
|
||||||
self.config = config.read()
|
self.config = config.read()
|
||||||
|
|
||||||
@ -86,11 +87,11 @@ class MainWindow(QTGUI.QMainWindow):
|
|||||||
|
|
||||||
# default buffer
|
# default buffer
|
||||||
self.buffers = [Buffer()]
|
self.buffers = [Buffer()]
|
||||||
self.stacked_buffers = QTGUI.QStackedWidget()
|
self.stacked_buffers = QtGui.QStackedWidget()
|
||||||
self.stacked_buffers.addWidget(self.buffers[0].widget)
|
self.stacked_buffers.addWidget(self.buffers[0].widget)
|
||||||
|
|
||||||
# splitter with buffers + chat/input
|
# splitter with buffers + chat/input
|
||||||
splitter = QTGUI.QSplitter()
|
splitter = QtGui.QSplitter()
|
||||||
splitter.addWidget(self.list_buffers)
|
splitter.addWidget(self.list_buffers)
|
||||||
splitter.addWidget(self.stacked_buffers)
|
splitter.addWidget(self.stacked_buffers)
|
||||||
|
|
||||||
@ -125,8 +126,8 @@ class MainWindow(QTGUI.QMainWindow):
|
|||||||
}
|
}
|
||||||
self.actions = {}
|
self.actions = {}
|
||||||
for name, action in list(actions_def.items()):
|
for name, action in list(actions_def.items()):
|
||||||
self.actions[name] = QTGUI.QAction(
|
self.actions[name] = QtGui.QAction(
|
||||||
QTGUI.QIcon(
|
QtGui.QIcon(
|
||||||
resource_filename(__name__, 'data/icons/%s' % action[0])),
|
resource_filename(__name__, 'data/icons/%s' % action[0])),
|
||||||
name.capitalize(), self)
|
name.capitalize(), self)
|
||||||
self.actions[name].setStatusTip(action[1])
|
self.actions[name].setStatusTip(action[1])
|
||||||
@ -145,19 +146,19 @@ class MainWindow(QTGUI.QMainWindow):
|
|||||||
menu_window.addAction(self.actions['debug'])
|
menu_window.addAction(self.actions['debug'])
|
||||||
menu_help = self.menu.addMenu('&Help')
|
menu_help = self.menu.addMenu('&Help')
|
||||||
menu_help.addAction(self.actions['about'])
|
menu_help.addAction(self.actions['about'])
|
||||||
self.network_status = QTGUI.QLabel()
|
self.network_status = QtGui.QLabel()
|
||||||
self.network_status.setFixedHeight(20)
|
self.network_status.setFixedHeight(20)
|
||||||
self.network_status.setFixedWidth(200)
|
self.network_status.setFixedWidth(200)
|
||||||
self.network_status.setContentsMargins(0, 0, 10, 0)
|
self.network_status.setContentsMargins(0, 0, 10, 0)
|
||||||
self.network_status.setAlignment(QTCORE.Qt.AlignRight)
|
self.network_status.setAlignment(QtCore.Qt.AlignRight)
|
||||||
if hasattr(self.menu, 'setCornerWidget'):
|
if hasattr(self.menu, 'setCornerWidget'):
|
||||||
self.menu.setCornerWidget(self.network_status,
|
self.menu.setCornerWidget(self.network_status,
|
||||||
QTCORE.Qt.TopRightCorner)
|
QtCore.Qt.TopRightCorner)
|
||||||
self.network_status_set(self.network.status_disconnected)
|
self.network_status_set(self.network.status_disconnected)
|
||||||
|
|
||||||
# toolbar
|
# toolbar
|
||||||
toolbar = self.addToolBar('toolBar')
|
toolbar = self.addToolBar('toolBar')
|
||||||
toolbar.setToolButtonStyle(QTCORE.Qt.ToolButtonTextUnderIcon)
|
toolbar.setToolButtonStyle(QtCore.Qt.ToolButtonTextUnderIcon)
|
||||||
toolbar.addActions([self.actions['connect'],
|
toolbar.addActions([self.actions['connect'],
|
||||||
self.actions['disconnect'],
|
self.actions['disconnect'],
|
||||||
self.actions['debug'],
|
self.actions['debug'],
|
||||||
@ -245,7 +246,7 @@ class MainWindow(QTGUI.QMainWindow):
|
|||||||
def open_about_dialog(self):
|
def open_about_dialog(self):
|
||||||
"""Open a dialog with info about QWeeChat."""
|
"""Open a dialog with info about QWeeChat."""
|
||||||
messages = ['<b>%s</b> %s' % (NAME, qweechat_version()),
|
messages = ['<b>%s</b> %s' % (NAME, qweechat_version()),
|
||||||
'© 2011-2014 %s <<a href="mailto:%s">%s</a>>'
|
'© 2011-2016 %s <<a href="mailto:%s">%s</a>>'
|
||||||
% (AUTHOR, AUTHOR_MAIL, AUTHOR_MAIL),
|
% (AUTHOR, AUTHOR_MAIL, AUTHOR_MAIL),
|
||||||
'',
|
'',
|
||||||
'Running with %s' % ('PySide' if qt_compat.uses_pyside
|
'Running with %s' % ('PySide' if qt_compat.uses_pyside
|
||||||
@ -287,10 +288,10 @@ class MainWindow(QTGUI.QMainWindow):
|
|||||||
pal = self.network_status.palette()
|
pal = self.network_status.palette()
|
||||||
if status == self.network.status_connected:
|
if status == self.network.status_connected:
|
||||||
pal.setColor(self.network_status.foregroundRole(),
|
pal.setColor(self.network_status.foregroundRole(),
|
||||||
QTGUI.QColor('green'))
|
QtGui.QColor('green'))
|
||||||
else:
|
else:
|
||||||
pal.setColor(self.network_status.foregroundRole(),
|
pal.setColor(self.network_status.foregroundRole(),
|
||||||
QTGUI.QColor('#aa0000'))
|
QtGui.QColor('#aa0000'))
|
||||||
ssl = ' (SSL)' if status != self.network.status_disconnected \
|
ssl = ' (SSL)' if status != self.network.status_disconnected \
|
||||||
and self.network.is_ssl() else ''
|
and self.network.is_ssl() else ''
|
||||||
self.network_status.setPalette(pal)
|
self.network_status.setPalette(pal)
|
||||||
@ -543,12 +544,12 @@ class MainWindow(QTGUI.QMainWindow):
|
|||||||
if self.debug_dialog:
|
if self.debug_dialog:
|
||||||
self.debug_dialog.close()
|
self.debug_dialog.close()
|
||||||
config.write(self.config)
|
config.write(self.config)
|
||||||
QTGUI.QMainWindow.closeEvent(self, event)
|
QtGui.QMainWindow.closeEvent(self, event)
|
||||||
|
|
||||||
|
|
||||||
app = QTGUI.QApplication(sys.argv)
|
app = QtGui.QApplication(sys.argv)
|
||||||
app.setStyle(QTGUI.QStyleFactory.create('Cleanlooks'))
|
app.setStyle(QtGui.QStyleFactory.create('Cleanlooks'))
|
||||||
app.setWindowIcon(QTGUI.QIcon(
|
app.setWindowIcon(QtGui.QIcon(
|
||||||
resource_filename(__name__, 'data/icons/weechat_icon_32.png')))
|
resource_filename(__name__, 'data/icons/weechat.png')))
|
||||||
main = MainWindow()
|
main = MainWindow()
|
||||||
sys.exit(app.exec_())
|
sys.exit(app.exec_())
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
#
|
#
|
||||||
# version.py - version of QWeeChat
|
# version.py - version of QWeeChat
|
||||||
#
|
#
|
||||||
# Copyright (C) 2011-2015 Sébastien Helleu <flashcode@flashtux.org>
|
# Copyright (C) 2011-2016 Sébastien Helleu <flashcode@flashtux.org>
|
||||||
#
|
#
|
||||||
# This file is part of QWeeChat, a Qt remote GUI for WeeChat.
|
# This file is part of QWeeChat, a Qt remote GUI for WeeChat.
|
||||||
#
|
#
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
#
|
#
|
||||||
# Copyright (C) 2011-2015 Sébastien Helleu <flashcode@flashtux.org>
|
# Copyright (C) 2011-2016 Sébastien Helleu <flashcode@flashtux.org>
|
||||||
#
|
#
|
||||||
# This file is part of QWeeChat, a Qt remote GUI for WeeChat.
|
# This file is part of QWeeChat, a Qt remote GUI for WeeChat.
|
||||||
#
|
#
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
#
|
#
|
||||||
# color.py - remove/replace colors in WeeChat strings
|
# color.py - remove/replace colors in WeeChat strings
|
||||||
#
|
#
|
||||||
# Copyright (C) 2011-2015 Sébastien Helleu <flashcode@flashtux.org>
|
# Copyright (C) 2011-2016 Sébastien Helleu <flashcode@flashtux.org>
|
||||||
#
|
#
|
||||||
# This file is part of QWeeChat, a Qt remote GUI for WeeChat.
|
# This file is part of QWeeChat, a Qt remote GUI for WeeChat.
|
||||||
#
|
#
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
#
|
#
|
||||||
# protocol.py - decode binary messages received from WeeChat/relay
|
# protocol.py - decode binary messages received from WeeChat/relay
|
||||||
#
|
#
|
||||||
# Copyright (C) 2011-2015 Sébastien Helleu <flashcode@flashtux.org>
|
# Copyright (C) 2011-2016 Sébastien Helleu <flashcode@flashtux.org>
|
||||||
#
|
#
|
||||||
# This file is part of QWeeChat, a Qt remote GUI for WeeChat.
|
# This file is part of QWeeChat, a Qt remote GUI for WeeChat.
|
||||||
#
|
#
|
||||||
@ -232,7 +232,7 @@ class Protocol:
|
|||||||
type_values = self._obj_type()
|
type_values = self._obj_type()
|
||||||
count = self._obj_int()
|
count = self._obj_int()
|
||||||
hashtable = WeechatDict()
|
hashtable = WeechatDict()
|
||||||
for i in range(0, count):
|
for _ in range(count):
|
||||||
key = self._obj_cb[type_keys]()
|
key = self._obj_cb[type_keys]()
|
||||||
value = self._obj_cb[type_values]()
|
value = self._obj_cb[type_values]()
|
||||||
hashtable[key] = value
|
hashtable[key] = value
|
||||||
@ -243,8 +243,8 @@ class Protocol:
|
|||||||
path = self._obj_str()
|
path = self._obj_str()
|
||||||
keys = self._obj_str()
|
keys = self._obj_str()
|
||||||
count = self._obj_int()
|
count = self._obj_int()
|
||||||
list_path = path.split('/')
|
list_path = path.split('/') if path else []
|
||||||
list_keys = keys.split(',')
|
list_keys = keys.split(',') if keys else []
|
||||||
keys_types = []
|
keys_types = []
|
||||||
dict_keys = WeechatDict()
|
dict_keys = WeechatDict()
|
||||||
for key in list_keys:
|
for key in list_keys:
|
||||||
@ -252,11 +252,11 @@ class Protocol:
|
|||||||
keys_types.append(items)
|
keys_types.append(items)
|
||||||
dict_keys[items[0]] = items[1]
|
dict_keys[items[0]] = items[1]
|
||||||
items = []
|
items = []
|
||||||
for i in range(0, count):
|
for _ in range(count):
|
||||||
item = WeechatDict()
|
item = WeechatDict()
|
||||||
item['__path'] = []
|
item['__path'] = []
|
||||||
pointers = []
|
pointers = []
|
||||||
for p in range(0, len(list_path)):
|
for _ in enumerate(list_path):
|
||||||
pointers.append(self._obj_ptr())
|
pointers.append(self._obj_ptr())
|
||||||
for key, objtype in keys_types:
|
for key, objtype in keys_types:
|
||||||
item[key] = self._obj_cb[objtype]()
|
item[key] = self._obj_cb[objtype]()
|
||||||
@ -280,10 +280,10 @@ class Protocol:
|
|||||||
name = self._obj_str()
|
name = self._obj_str()
|
||||||
count_items = self._obj_int()
|
count_items = self._obj_int()
|
||||||
items = []
|
items = []
|
||||||
for i in range(0, count_items):
|
for _ in range(count_items):
|
||||||
count_vars = self._obj_int()
|
count_vars = self._obj_int()
|
||||||
variables = WeechatDict()
|
variables = WeechatDict()
|
||||||
for v in range(0, count_vars):
|
for _ in range(count_vars):
|
||||||
var_name = self._obj_str()
|
var_name = self._obj_str()
|
||||||
var_type = self._obj_type()
|
var_type = self._obj_type()
|
||||||
var_value = self._obj_cb[var_type]()
|
var_value = self._obj_cb[var_type]()
|
||||||
@ -299,7 +299,7 @@ class Protocol:
|
|||||||
type_values = self._obj_type()
|
type_values = self._obj_type()
|
||||||
count_values = self._obj_int()
|
count_values = self._obj_int()
|
||||||
values = []
|
values = []
|
||||||
for i in range(0, count_values):
|
for _ in range(count_values):
|
||||||
values.append(self._obj_cb[type_values]())
|
values.append(self._obj_cb[type_values]())
|
||||||
return values
|
return values
|
||||||
|
|
||||||
@ -341,7 +341,7 @@ def hex_and_ascii(data, bytes_per_line=10):
|
|||||||
if num_lines == 0:
|
if num_lines == 0:
|
||||||
return ''
|
return ''
|
||||||
lines = []
|
lines = []
|
||||||
for i in range(0, num_lines):
|
for i in range(num_lines):
|
||||||
str_hex = []
|
str_hex = []
|
||||||
str_ascii = []
|
str_ascii = []
|
||||||
for char in data[i*bytes_per_line:(i*bytes_per_line)+bytes_per_line]:
|
for char in data[i*bytes_per_line:(i*bytes_per_line)+bytes_per_line]:
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
#
|
#
|
||||||
# testproto.py - command-line program for testing WeeChat/relay protocol
|
# testproto.py - command-line program for testing WeeChat/relay protocol
|
||||||
#
|
#
|
||||||
# Copyright (C) 2013-2015 Sébastien Helleu <flashcode@flashtux.org>
|
# Copyright (C) 2013-2016 Sébastien Helleu <flashcode@flashtux.org>
|
||||||
#
|
#
|
||||||
# This file is part of QWeeChat, a Qt remote GUI for WeeChat.
|
# This file is part of QWeeChat, a Qt remote GUI for WeeChat.
|
||||||
#
|
#
|
||||||
|
2
setup.py
2
setup.py
@ -1,6 +1,6 @@
|
|||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
#
|
#
|
||||||
# Copyright (C) 2011-2015 Sébastien Helleu <flashcode@flashtux.org>
|
# Copyright (C) 2011-2016 Sébastien Helleu <flashcode@flashtux.org>
|
||||||
#
|
#
|
||||||
# This file is part of QWeeChat, a Qt remote GUI for WeeChat.
|
# This file is part of QWeeChat, a Qt remote GUI for WeeChat.
|
||||||
#
|
#
|
||||||
|
Loading…
Reference in New Issue
Block a user